Perancangan Perangkat Lunak Untuk Perbaikan Citra Digital Dengan Menggunakan Lima (5) Teknik Penyaringan (Filtering)

(1)

PERANCANGAN PERANGKAT LUNAK UNTUK PERBAIKAN CITRA DIGITAL DENGAN MENGGUNAKAN LIMA (5) TEKNIK

PENYARINGAN (FILTERING)

SKRIPSI

MUHAMMAD ARIFIN SIREGAR 051401072

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2009


(2)

PENYARINGAN (FILTERING)

SKRIPSI

Diajukan untuk melengkapi tugas dan syarat mencapai gelar Sarjana Ilmu Komputer

MUHAMMAD ARIFIN SIREGAR 051401072

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN S1 ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2009


(3)

PERSETUJUAN

Judul : PERANCANGAN PERANGKAT LUNAK UNTUK

PERBAIKAN CITRA DIGITAL DENGAN MENGGUNAKAN 5 TEKNIK PENYARINGAN (FILTERING)

Kategori : SKRIPSI

Nama : MUHAMMAD ARIFIN SIEGAR

Nomor Induk Mahasiswa : 051401072

Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2009 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Andri B, ST, McompSc, MEM Syahriol Sitorus S.Si, MIT NIP. 132 316 481 NIP. 132 299 349

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Prof. Dr. Muhammad Zarlis NIP 131 570 434


(4)

PERNYATAAN

PERANCANGAN PERANGKAT LUNAK UNTUK PERBAIKAN CITRA DIGITAL DENGAN MENGGUNAKAN LIMA (5) TEKNIK PENYARINGAN

(FILTERING)

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2009

Muhammad Arifin Siregar 051401072


(5)

PENGHARGAAN

Alhamdulillah, puji syukur saya ucapkan kehadirat Allah SWT, yang telah memberikan rahmat dan hidayah-Nya serta segala sesuatunya dalam hidup, sehingga saya dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer di Program Studi S1 Ilmu Komputer Universitas Sumatera Utara. Shalawat beriring salam saya hadiahkan kepada Nabi Besar Muhammad SAW.

Ucapan terima kasih yang sebesar-besarnya saya sampaikan kepada Bapak Syahriol Sitorus, S.Si, MIT sebagai Dosen Pembimbing I dan Bapak M. Andri B, ST, McompSC, MEM sebagai Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada saya untuk menyempurnakan kajian ini. Panduan ringkas dan padat dan profesional telah diberikan kepada saya sehingga saya dapat menyelesaikan tugas ini. Selanjutnya kepada para Dosen Penguji Bapak Syahril Effendi, S.Si,MIT dan Ibu Maya Silvi Lydia, B.Sc.MSc atas saran dan kritikan yang sangat berguna bagi saya. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syariol Sitorus, S.Si,MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen Program Studi S1 Ilmu Komputer FMIPA USU, dan pegawai di FMIPA USU.

Untuk kedua orangtua dan keluarga saya yang telah memberikan dukungan, do’a dan motivasi yang menggugah. Skripsi ini terutama saya persembahkan untuk Papa (Timbul Rasoki Siregar), Mama (Nurhalilah Lubis) dan Bou’ Hj. Doharni Siregar tercinta yang membimbing saya sampai saat ini dan saat yang akan datang. Dan untuk kakak saya Mei Linda Y S, abang saya Rudi H Syahputra dan adik-adik saya yang masih tetap belajar dan belajar serta harus tetap semangat menjalani hidup dan kehidupan. Untuk teman-teman sekelas dan satu angkatan yang sedang berjuang tanpa patah semangat dan tiada pupus harapan. Terima kasih pula kepada semua pihak-pihak yang tidak dapat saya sebutkan satu persatu, terima kasih atas ide, saran, dan kerjasama yang baik.

Saya menyadari bahwa skripsi ini masih jauh dari kesempurnaan, karena kesempurnaan hanya milik Allah. Oleh karena itu saya menerima saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya. Akhir kata Penulis Ucapkan Terima Kasih.


(6)

ABSTRAK

Citra yang mengalami penurunan mutu, misalnya mengandung cacat atau derau (noise), warna yang terlalu kontras atau kabur, kasar dan sebagainya akan lebih sulit diinterpretasikan karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Oleh karena itu diperlukan suatu aplikasi pengolahan citra yang khusus untuk memperbaiki kualitas citra.

Dalam tulisan ini dirancang suatu aplikasi pengolahan citra yang berguna untuk melakukan perbaikan citra dengan cara mengurangi noise dan penghalusan citra. Dalam pengurangan noise ada dua metode yang digunakan yakni intensity filtering dan frequency filtering. Untuk menghaluskan citra digunakan tiga metode yakni mean filtering, median filtering dan modus filtering. Sesudah citra diproses dengan menerapkan metode filtering, untuk mempermudah pengamatan perubahan citra, dibuat histogram dari waran RGB, yakni warna pembentuk citra. Melalui histogram ini dapat dilihat dengan jelas perbedaan kuantitas setiap warna yang terjadi akibat filtering.

Dengan menggunakan aplikasi yang dibuat, perbaikan citra (image enhancement) yang mengandung noise dapat diubah menjadi citra yang lebih bersih dan citra yang kasar menjadi menjadi lebih halus.


(7)

A DESIGN OF IMAGE REPARATION SOFTWARE USING FIVE METHODS OF FILTERING

ABSTRACT

An image with low quality containing for example, defects, noise, blurred color, unsmoothness and so on, is difficult to interprete because the information transmitted by the image will decrease. Therefore, a special image processing application is needed to improve the quality of the image.

In this thesis an application image processing that is useful to improve the image by decreasing it’s noise and smoothing it’s roughness has been designed. While decreasing the noise, there are two methods used i.e., intensity filtering and frequency filtering. To smoothen the images, there are three methods used, i.e. : mean filtering, median filtering and modus filtering. After the image is processed by this application in order to simplify, the observation, a histogram based on from RGB scale is make. Through this histogram, it is possible to see clearly the quantity of change of the resulting Color due to those filterings.

By using this application, the image quality is then enhanced. So that it results in a clearer and smoother image


(8)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel viii

Daftar Gambar ix

Bab 1 Pendahuluan 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 2

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 3

1.7 Sistematika Penulisan 3

Bab 2 Landasan Teori 5

2.1 Pengenalan Citra 5

2.2 Format File Gambar 13

2.3 Pengertian Pengolahan Citra 17

Bab 3 Pembahasan 25

3.1 Metode-metode Perbaikan Kualitas Citra 25

3.2 Histogram 34

Bab 4 Perancangan dan Implementasi 36

4.1 Perancangan Antar Muka 36

4.2 Perancagan Proses 45

4.3 Algoritma Program 46

4.4 Implementasi 50

4.5 Penngujian Black-Box 69

Bab 5 Penutup 66

5.1 Kesimpulan 72

5.2 Saran 72

Daftar Pustaka 74


(9)

DAFTAR TABEL

Halaman

Tabel 2.1 Kode Warna 7

Tabel 2.2 Intensitas Grayscale 8

Tabel 2.3 Bit per Pixel dan Aspect Ratio 12

Tabel 2.4 Struktur BITMAPFILEHEADER 14

Tabel 2.5 Struktur BITMAPINFOHEADER 15


(10)

DAFTAR GAMBAR

Halaman Gambar 2.1 Elemen Sistem Pengolah Citra 9 Gambar 2.2 Diagram Sistem Penangkap Citra Digital 10 Gambar 2.3 Proses Digitasi atau Sampling 11 Gambar 2.4 Bidang Studi yang Berkaitan dengan Citra 18 Gambar 2.5 Bidang Studi Grafika Komputer 18 Gambar 2.6 Bidang Studi Pengolahan Citra 19 Gambar 2.7 Bidang Studi Pengenalan Pola 19

Gambar 2.8 Dasar-dasar Pengolah Citra 20

Gambar 2.9 Histogram Citra 23

Gambar 3.1 Noise pada High Pass Filtering 26 Gambar 3.2 Noise pada Low Pass Filtering 27

Gambar 3.3 Matriks Tetangga Noise (N) 27

Gambar 3.4 High Pass Frequency Filtering 29 Gambar 3.5 Low Pass Frequency Filtering 30 Gambar 3.6 Matriks Perhitungan Mean Filtering 30 Gambar 3.7 Matriks pada Penghalusan Noise 31 Gambar 3.8 Matriks Hasil Mean Filtering 32

Gambar 3.9 Matriks Median 32

Gambar 3.10 Matriks Hail Medain Filtering 33 Gambar 3.11 Matriks Hail Modus Filtering 34

Gambar 3.12 Komposisi Warna RGB 34

Gambar 4.1 Rancangan Form Splash 37

Gambar 4.2 Rancangan Form Utama 38

Gambar 4.3 Rancangan Menu Utama File 39

Gambar 4.4 Rancangan Sub Menu Open 40

Gambar 4.5 Rancangan Sub Menu Save As 40

Gambar 4.6 Rancangan Menu Utama View 41

Gambar 4.7 Rancangan Sub Menu Histogram 42 Gambar 4.8 Rancangan Utama Form Filtering 43

Gambar 4.9 Form Utama Help 43

Gambar 4.10 Rancangan Form Informasi 44

Gambar 4.11 Rancangan Form Pemakaian Penuntun 45

Gambar 4.12 Tampilan Form Splash 51

Gambar 4.13 Toolbar 53

Gambar 4.14 Form Utama 54

Gambar 4.15 Form Utama pada Histogram 54

Gambar 4.16 Citra yang akan di Analisis 55 Gambar 4.17 Citra Hasil Intensity Filtering 55 Gambar 4.18 Citra Hasil 2 kali Intensity Filtering 56 Gambar 4.19 Citra Hasil Frequency Filtering 56 Gambar 4.20 Citra Hasil 2 klai Frequency Filtering 57 Gambar 4.21 Citra Hasil Mean Filtering 57 Gambar 4.22 Citra Hasil 2 kali Mean Filtering 58


(11)

Gambar 4.23 Citra Hasil Median Filtering 58 Gambar 4.24 Citra Hasil 2 kali Median Filtering 59 Gambar 4.25 Citra Hasil Modus Filtering 59 Gambar 4.26 Citra Hasil 2 kali Modus Filtering 60 Gambar 4.27 Citra yang telah di Filtering 60 Gambar 4.28 Tampilan Histogram Warna RGB Red (R) 63 Gambar 4.29 Tampilan Histogram Warna RGB Green (G) 64 Gambar 4.30 Tampilan Histogram Warna RGB Blue (B) 65

Gambar 4.31 Kotak Dialog Open 66

Gambar 4.32 Kotak Dialog Save As 67

Gambar 4.33 Form Informasi Penulis 68

Gambar 4.34 Form Penuntun Pemakaian 69

Gambar 4.35 Pesan Kesalahan 70


(12)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Di era globalisasi ini data atau informasi dapat disajikan dalam bentuk teks, citra (gambar), suara (audio) atau gabungannya. Penyajian informasi dengan menggabungkan ketiga data tersebut disebut dengan multimedia. Salah satu komponen multimedia di atas adalah citra. Citra membutuhkan penanganan lebih lanjut, bila terlihat kasar dan terdapat banyak titik yang mengganggu kualitasnya. Gangguan yang terdapat pada citra disebut dengan derau atau noise.

Jika pada masa dahulu orang menggambar dengan kanvas kain, kertas dengan cat warna sebagai media utama untuk menggambar, tetapi dengan perubahan zaman dan kecanggihan teknologi sekarang maka komputer digunakan sebagai media utama yang dipakai untuk menggambar. Penggunaan komputer sebagai media untuk menggambar merupakan salah satu bidang disain grafis yang sangat digemari saat ini.

Ketika sebuah citra ditangkap oleh kamera, seringkali tidak dapat langsung digunakan sebagaimana diinginkan kerena kualitasnya belum memenuhi standard kebutuhan pengolahan. Misalnya saja citra disertai oleh variasi intensitas yang kurang seragam akibat pencahayan yang tidak merata, atau lemah dalam hal kontras sehingga objek sulit untuk dipisahkan dari latar belakangnya karena terlalu banyak noise (gangguan dalam citra). Secara umum dapat dikatakan bahwa citra yang demikian kualitasnya masih rendah, baik oleh kerena adanya noise, maupun oleh sebab lainnya. Adakalanya citra yang diperoleh dengan cara melukis pada media komputer atau diperoleh dari peralatan kamera digital lainnya terlihat kasar.

Citra dengan kualitas yang lebih baik memerlukan langkah-langkah perbaikan atau kualitasnya perlu ditingkatkan untuk memfasilitasi pengolahan yang akan dilakukan. Untuk meningkatkan kualitas citra dilakukan proses perbaikan citra (image enhancement) sehingga tampilan citra lebih baik sesuai dengan kebutuhan. Salah satu teknik perbaikan citra tersebut adalah teknik filtering yaitu menghilangkan noise pada citra. Diantara teknik-teknik pengolahan awal untuk meningkatkan kualitas citra ini adalah teknik filtering Adapun teknik filtering yang dipakai dalam perbaikan citra


(13)

tersebut terdiri dari: intensity filtering, frequency filtering, mean filtering, median filtering dan modus filtering.

Berdasarkan hal tersebut, Tugas Akhir ini khusus membahas perbaikan kualitas citra dengan judul: Perancangan Perangkat Lunak untuk Perbaikan Citra Digital Dengan Menggunakan Lima (5) Teknik Penyaringan (Filtering)

1.2 Rumusan Masalah

Berdasarkan uraian di atas maka yang menjadi permasalahan di dalam Tugas Akhir ini yaitu bagaimana cara untuk melakukan perbaikan pada suatu citra dengan menggunakan kelima teknik penyaringan tersebut sekaligus dapat mengamati langsung perubahan yang terjadi pada citra.

1.3 Batasan Masalah

Adapun batasan masalah adalah sebagai berikut:

1. Proses perbaikan citra dilakukan dengan menggunakan metode intensity filtering, frequency filtering, mean filtering, median filtering dan modus filtering.

2. Perangkat lunak dibuat dengan menggunakan bahasa pemrograman Visual Basic 6.0. dan hanya dapat dijalankan dalam lingkungan Microsoft Windows.

3. Hanya mendukung format file gambar BMP, JPEG dan ICO.

4. Hasil output dari perancangan ini hanya dapat disimpan pada format gambar BMP, JPEG dan ICO.

1.4 Tujuan Penelitian

Penulisan tugas akhir ini bertujuan untuk merancang perangkat lunak untuk memperbaiki citra digital dan melakukan perbaikan kualitas citra dengan menggunakan lima teknik penyaringan (filtering).

1.5 Manfaat Penelitian


(14)

1. Mempermudah mengolah citra dengan menggunakan beberapa teknik penyaringan (filtering).

2. Mempermudah dalam mengamati dan membandingkan pengaruh teknik penyaringan (filtering) pada suatu citra.

1.6 Metode Penelitian

Metode yang digunakan dalam penulisan Tugas Akhir ini untuk memperbaiki gangguan yang terjadi pada citra dan untuk membandingkan hasilnya, antara lain: 1. Studi Literatur

Mempelajari buku referensi yang berkaitan dengan pengolahan citra dan metode filtering.

2. Perancangan Sistem

Merancang program yang diimplementasikan kedalam program komputer seperti: antar muka (interface) mulai dari form, menu, dan sebagainya.

3. Implementasi Sistem/Coding

Mengimplementasikan kedalam bentuk program komputer. Program yang akan dibangun menggunakan Visual Basic 6.0

4. Pengujian perangkat lunak dengan melakukan pengujian program.

1.7 Sistematika Penulisan

Susunan penulisan Tugas Akhir ini disajikan dalam beberapa bab, yaitu:

Bab 1 : Pendahuluan

Bab ini menguraikan tentang latar belakang, maksud dan tujuan, rumusan masalah, batasan masalah, metode peneletian dan sistematika penulisan.

Bab 2 : Landasan Teori

Bab ini menjelaskan tentang teori citra, pengolahan citra serta teori yang mendukung perancangan perangkat lunak untuk memperbaiki kualitas citra digital dengan menggunakan bahasa pemrograman Visual Basic 6.0.

Bab 3 : Pembahasan

Bab ini menjelaskan tentang analisis dan metode yang digunakan untuk memperbaiki kualitas citra dan mengamati kualitas suatu citra.


(15)

Bab ini menjelaskan tentang perancangan antar muka perangkat lunak, algoritma program dan implementasinya, sehingga diperoleh suatu perangkat lunak yang dapat digunakan untuk memperbaiki citra digital.

Bab 5 : Kesimpulan dan Saran

Bab ini menjelaskan tentang kesimpulan yang didapat dari hasil penelitian serta saran-saran untuk pengembangan lebih lanjut.


(16)

BAB 2

LANDASAN TEORI

2.1 Pengenalan Citra

Secara harfiah citra (image) adalah gambar pada bidang dwimatra atau dua dimensi. Citra juga dapat diartikan sebagai kumpulan titik-titik dengan intesitas warna tertentu yang membentuk suatu kesatuan dan mempunyai pengertian artistik. Citra sebagai salah satu komponen multimedia yang memegang peranan sangat penting sebagai salah satu bentuk informasi visual (Munir, R, 2004, hal: 2). Sebuah citra mempunyai karakteristik yang tidak dimiliki oleh data teks yaitu, citra kaya dengan informasi karena dapat menyampaikan informasi yang imajinatif (dapat dihayalkan).

Citra yang baik adalah citra yang dapat menampilkan gambar secara utuh, seperti keindahan gambar dan kejelasan gambar tanpa mengurangi dan tanpa mengubah informasi yang terkandung pada sebuah gambar atau citra.

Meskipun sebuah citra kaya akan informasi, namun seringkali citra yang diperoleh mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring) dan sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasikan karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra yang mengalami gangguan mudah diinterpretasikan (baik oleh manusia maupun mesin) maka citra perlu diolah atau dimanipulasi sehingga kualitasnya lebih baik.

Penampilan citra dapat dibagi jadi dua kelompok yaitu citra diam (still images) dan citra bergerak (moving images). Citra diam adalah citra tunggal yang tidak bergerak. Citra bergerak adalah rangkaian citra diam yang ditampilkan secara berurutan (sequential) hingga memberikan kesan pada mata seolah-olah gambar tersebut bergerak (Munir, R, 2004, hal: 2)

Citra merupakan suatu keluaran dari suatu sistem perekaman data yang bersifat optik, analog ataupun digital. Perekaman data citra dapat dibagi menjadi dua yaitu: 1. Citra Analog

Citra analog yaitu terdiri dari sinyal-sinyal elektromagnetik yang tidak dapat dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya. Citra analog mempunyai fungsi yang kontinu. Hasil perekaman citra analog dapat


(17)

bersifat optik yakni berupa foto (film foto konvensional) dan bersifat sinyal video seperti gambar pada monitor televisi

2. Citra Digital

Citra digital terdiri dari sinyal-sinyal yang dapat dibedakan dan mempunyai fungsi yang tidak kontinu yakni berupa titik-titik warna pembentuk citra. Hasil perekaman citra digital dapat disimpan pada suatu media mngnetik.

Dalam tugas akhir ini, pembahasan lebih diorientasikan pada citra digital.

2.1.1 Pengertian Citra Digital

Citra sebagai keluaran dari suatu sistem perekam data dapat bersifat analog, berupa sinyal-sinyal video seperti gambar pada monitor televisi atau bersifat digital yang dapat langsung disimpan pada suatu media magnetik. Citra ada dua macam yaitu citra kontinu dan citra diskrit. Citra Kontinu dihasilkan dari sistem optik yang menerima sinyal analog, contohnya mata manusia, kamera analog. Citra diskrit dihasilkan dari proses digitalisasi terhadap citra kontinu contohnya kamera digital, scanner (Munir, R, 2004, hal 15).

Komputer digital bekerja dengan angka-angka presisi terhingga, dengan demikian hanya citra dari kelas diskrit yang dapat diolah dengan komputer. Citra dari kelas tersebut lebih dikenal sebagai citra digital. Citra digital dinyatakan dalam suatu array dua dimensi atau suatu matriks yang elemen-elemennya menyatakan tingkat keabuan (grayscale) dari warna masing-masing pixel. Pixel merupakan elemen terkecil dari suatu citra, yakni berupa titik-titik warna yang membentuk citra.

Citra digital tidak selalu harus merupakan hasil langsung dari rekaman suatu sistem digital, namun ada juga rekaman data bersifat kontinu seperti pada gambar monitor televisi, foto sinar-X, dapat juga berasal dari yang telah mengalami suatu konversi, sehingga citra tersebut selanjutnya dapat diproses melalui komputer.

2.1.2 Citra Warna

Citra warna adalah citra dengan sistem grafik yang memiliki satu set nilai tersusun (a set of ordered values) yang menyatakan berbagai tingkat warna. Citra warna bukanlah seperti citra grayscale. Dimana setiap set nilai tersusun mewakili satu ‘scale’ warna atau ‘hue’.


(18)

Sistem yang dipakai untuk mewakili warna yaitu sistem RGB (Red, Green, Blue). Sistem RGB adalah sistem penggabungan antara warna-warna primer (additive primary colours) yaitu merah (Red), hijau (Green) dan biru (Blue) untuk memperoleh warna tertentu. Misalnya warna putih diperoleh dari hasil gabungan warna merah = 255, hijau = 255, dan biru = 255. Dalam sistem RGB, warna putih cerah dinyatakan dengan RGB (255, 255, 255). Range nilai dari setiap warna primer adalah 0 sampai 255. Sehingga kemungkinan warna yang dapat terbentuk dengan sistem RGB adalah 256 x 256 x 256 yakni kurang lebih 16.7 juta warna. Pada tabel 2.1 berikut diperlihatkan beberapa kode warna hasil gabungan warna RGB.

Tabel 2.1 Kode Warna

Colour Red Green Blue

Black 0 0 0

Blue 0 0 255

Green 0 255 0

Cyan (Blue+Green) 0 255 255

Red 255 0 0

Magenta (Red+Blue) 255 0 255

Yellow (Red+Green) 255 255 0

White

(Red+Green+Blue)

255 255 255

Gray 128 128 128

2.1.2.1 Citra Monokrom

Citra monokrom adalah citra dengan suatu sistem grafik yang tidak memiliki kemampuan warna selain warna hitam atau warna putih. Perbedaan hanya diperoleh dengan menentukan tingkat intensitas grayscale. Nilai numerik yang digunakan biasanya adalah range 0 – 1. Citra monokrom yang diwakili dengan beberapa nilai kekuatan cahaya bernilai dari hitam sampai putih sebagai grayscale image. Pada tabel


(19)

2.2 terdapat empat tingkat intensitas yang dapat ditampilkan seperti yang terlihat di bawah ini.

Tabel 2.2 Intensitas Grayscale Kode Intensitas Nilai

Intensitas

Biner Tingkat Intensitas yang ditampilkan

0 0 0 0 Black

0.33 1 0 1 Darkgray

0.67 2 1 0 Lightgray

1 3 1 1 White

(Munir, R, 2004, hal; 42)

Menyimpan tingkat intensitas dalam memori layar sama dengan menyimpan kode warna. Titik dengan ukuran 3 bit bisa menampilkan 8 tingkat intensitas sedangkan titik berukuran 1 bit hanya bisa menampilkan warna hitam (black) dan dan putih (white) saja.

Pada Tabel 2.2 terdapat empat tingkat intensitas yang dapat ditampilkan. Nilai intensitas mendekati 0.33 akan disimpan dengan nilai biner 0 1 dalam memori layer dan menghasilkan titik dengan tingkat intensitas darkgray atau abu-abu kehitam-hitaman. Sedangkan tingkat intensitas itu sendiri ditentukan oleh program aplikasi kemudian diubah menjadi nilai biner yang sesuai.

2.1.3 Sistem Penangkap Citra Digital

Komputer digital hanya dapat memproses citra dalam bentuk digital. Pada cara yang konvensional, pemasukan data citra digital dilakukan melalui papan ketik (keyboard) atau terminal biasa. Data-data yang dimasukkan berupa harga-harga integer yang menunjukkan nilai intesitas cahaya atau tingkat keabuan setiap elemen gambar. Citra digital juga dapat diperoleh secara otomatis dari sistem penangkap citra digital (digital image acquisition system) atau digitizer yang melakukan penjelajahan citra dan membentuk suatu matriks dimana elemen-elemen menyatakan nilai intensitas cahaya pada suatu himpunan disktrit dari titik-titik. Pada Gambar 2.1 adalah pemrosesan citra ke dalam komputer serta penyimpanannya, seperti terlihat pada Gambar 2.1 di bawah ini:


(20)

Gambar 2.1 Elemen Sistem Pengolah Citra

Sistem penangkap citra digital terdiri dari tiga komponen dasar yaitu: 1. Sensor citra yaitu ruang bekerja sebagai pengukur intensitas cahaya

2. Perangkat penjelajah yang bertugas merekam hasil pengukur intensitas pada seluruh bagian citra

3. Pengubah analog ke digital yang mengubah harga kontinu menjadi harga diskrit sehingga dapat diproses dengan komputer

Diagram sistem penangkap citra itu sendiri dapat dilihat pada Gambar 2.2 berikut ini:

Sensor Analog to Digital Komputer Digital

Penyimpan Bingkai Citra Monitor

Peraga Citra

Masukan Citra

Digital

Citra Kontinu

Subsistem Perekam

Subsistem Sampling

Subsistem Kuantisasi

Citra Digital


(21)

Gambar 2.2 Diagram Sistem Penangkap Citra Digital

2.1.4 Konversi Citra Analog ke Citra Digital

Citra digital tidak selalu merupakah hasil langsung dari data rekaman suatu sistem digital. Adakalanya hasil rekaman data tersebut bersifat kontinu, oleh karena itu untuk mendapatkan suatu citra digital diperlukan suatu proses konversi, sehingga citra tersebut dapat diproses dengan komputer.

Citra yang bersifat kontinu dapat diubah menjadi citra digital dengan cara membuat kisi-kisi arah horizontal dan vertikal, sehingga diperoleh gambar dalam bentuk array dua dimensi. Proses tersebut dikenal sebagai proses digitasi atau sampling. Digitasi atau sampling adalah proses membagi gambar secara horizontal dan vertikal menjadi bagian-bagian yang kecil (Munir, R, 2004, hal 19-21), seperti diperlihatkan pada Gambar 2.3. Bagian-bagian yang kecil atau elemen array ini disebut dengan pixel. Pembagian suatu citra menjadi sejumlah pixel dengan ukuran tertentu akan menentukan resolusi spasial yang diperoleh. Semakin kecil ukuran pixel (makin banyak jumlah pixel) gambar maka resolusi gambar tersebut semakin tinggi dan gambar tersebut pun semakin halus atau terang, karena informasi yang hilang akibat pengelompokan tingkat keabuan atau warna ketika proses pembuatan kisi-kisi akan semakin kecil.

Citra dengan tingkat keabuan

kontinu

Sampling

Citra Digital Pixel


(22)

Gambar 2.3 Proses digitasi atau sampling.

Proses yang diperlukan selanjutnya yaitu proses kuantisasi. Dalam proses itu tingkat keabuan setiap pixel dinyatakan dengan suatu bilangan bulat (integer). Batas-batas harga integer atau besarnya daerah tingkat keabuan yang digunakan untuk menyatakan suatu tingkat keabuan pixel akan menentukan resolusi kecerahan dari gambar yang akan diperoleh. Jika digunakan 3 bit untuk menyimpan harga integer tersebut, maka diperoleh 8 tingkat keabuan. Makin besar tingkat keabuan yang digunakan maka makin baik pula gambar yang akan dihasilkan, karena kontinuitas dari tingkat keabuan akan semakin tinggi sehingga mendekati citra aslinya.

2.1.5 Representasi Citra Digital

Data-data dalam sistem komputer perlu dikodekan dengan menggunakan suatu sistem simbol diskrit. Sebuah citra digital dapat dianggap suatu matriks dimana baris dan kolomnya menunjukkan sebuah titik pada citra dan nilai elemen matriks menunjukkan tingkat keabuan (graylevel) pada titik tersebut. Elemen dari array digital tersebut disebut picture elements (pixel). Pada umumnya, citra digital yang direpresentasikan dengan a(x,y) merupakan sebuah fungsi dari banyak variabel yang mencakup kedalaman/depth (z), warna/colour (λ), dan waktu/time(t).

Resolusi gambar dikatakan sebagai jumlah pixel yang terkandung di dalam suatu citra. Pada resolusi rendah keterperincian dan kedalaman citra akan hilang sama sekali dimana pixel-pixel individu jelas kelihatan, pada resolusi tinggi keterperincian data lebih nyata dan tajam. Aspect Ratio adalah suatu bilangan yang dapat diperoleh bila bilangan pixel mendatar dibagi dengan bilangan pixel tegak. Aspect Ratio perlu sama agar citra tidak kelihatan distorted (menyimpang) dan alami. Resolusi citra, Aspect Ratio dan jenis kualitas resolusinya dapat dilihat pada Tabel 2.3 berikut ini:

Tabel 2.3 Resolusi Citra dan Aspect Ratio

Resolusi Citra Aspect Ratio Kwalitas Resolusi

320 x 200 1,6 : 1 Low


(23)

1024 x 768 1,33 : 1 High (Munir, R, 2004, hal: 40).

2.1.5.1 Tabel Warna

Tingkatan warna dapat dikatakan sebagai sebuah unsur terpenting dari suatu objek. Tanpa tingkatan warna, objek-objek yang dibuat akan memiliki warna putih atau warna hitam saja, tetapi dengan adanya tingkatan warna maka objek yang dibuat tentunya terlihat lebih bagus dan menarik.

2.1.5.2 Warna dan Intensitas Gambar

Terdapat banyak macam warna dan tingkat intensitas gambar yang dapat dipakai, namun tergantung pada kemampuan dari sistem grafik yang digunakan. Warna dapat dikodekan dengan menggunakan sistem bilangan integer dengan rentang 0 hingga 255. Warna yang sudah dikodekan tersebut disebut dengan kode warna. Kode warna tersebut dapat dirubah tingkat intensitasnya. Sistem Raster Scan memiliki banyak pilihan warna, sedangkan sistem Random Scan biasanya hanya memberikan beberapa pilihan warna saja.

2.2 Format File Gambar

Pada umumnya file gambar digunakan untuk menyimpan gambar yang ditampilkan di layar ke dalam suatu media penyimpanan data. Untuk menyimpan sebuah file gambar ini digunakan salah satu format file. Ada banyak format file gambar yang dapat digunakan untuk menyimpan file gambar, diantaranya adalah BMP, JPEG, ICO.

2.2.1 Format File BMP (Bitmap)

Format file bitmap (BMP) merupakan sebuah format file citra standard untuk komputer-komputer yang menjalankan sistem operasi. Microsoft Windows dan IBM OS/2. Format file bitmap ini dikembangkan oleh pihak Microsoft untuk menyimpan file gambar dan memungkinkan windows untuk menampilkan kembali gambar


(24)

tersebut. Struktur dari file BMP terdiri dari BITMAPFILEHEADER berukuran 14 byte dan BITMAPINFOHEADER berukuran 64 byte (Munir, R, 2004, hal: 38-39).

Struktur BITMAPFILEHEADER mengandung informasi mengenai type, size, dan layout dari suatu file yang mengandung Device Independent Bitmap (DIB). Sedangkan struktur BITMAPINFOHEADER menyimpan informasi mengenai dimensi dan format warna dari suatu Device Independent Bitmap (DIB). Jadi dapat disimpulkan BITMAPFILEHEADER memberi informasi mengenai file dan BITMAPINFOHEADER memberikan informasi mengenai gambar. Tabel warna yang didefenisikan sebagai array dari struktur RGBQUAD dan sisanya adalah data gambar. Format ini mendukung resolusi warna dari monokrom hingga true color (16,7 juta warna). Tabel 2.4 di bawah ini memperlihatkan informasi mengenai struktur file BMP untuk gambar 256 warna (tanpa kompresi). Dan Tabel 2.6. di bawah ini memperlihatkan struktur informasi gambar.

Kolom “Mulai” menyatakan posisi awal byte elemen data di dalam file. Kolom “Ukuran” menyatakan ukuran elemen data dalam satuan byte. Kolom “Nama” menyatakan nama field atau pengenal elemen menurut dokumentasi Microsoft API. Kolom “Keterangan” memberi penjelasan tentang elemen data yang dimaksud.

Tabel 2.4 Struktur BITMAPFILEHEADER Mulai Ukuran

(byte)

Nama Keterangan

1 2 BmpType

Tipe file BMP BA : Bitmap Array BM : Bitmap CI : Color Icon CP : Color Pointer IC : Icon

PT : Pointer

3 4 BmpSize Ukuran file BMP dalam byte atau word

7 2 XhotSpot XhotSpot untuk kursor (pointer) 9 2 YhotSpot YhotSpot untuk kursor (pointer) 11 4 OffBits Posisi byte dimana data awal


(25)

(Munir, R, 2004, hal: 40)

Jumlah warna yang terdapat pada gambar ditentukan oleh BitCount. Kemungkinan untuk nilai BitCount adalah:

1. 1 (hitam atau putih) 2. 4 (16 warna)

3. 8 (256 warna) 4. 24 (16,7 juta warna)

Tabel 2.5 Struktur BITMAPINFOHEADER Mulai Ukuran

(byte)

Nama Keterangan

15 4 HdrSize Ukuran dari info header dalam byte.

19 4 Width Lebar bitmap dalam pixel 23 4 Height Tinggi bitmap dalam pixel 27 2 Planes Jumlah plane (hampir selalu 1) 29 2 BitCount Jumlah bit per pixel

31 4 Compression Jenis kompresi (0= tak terkompresi) 35 4 ImageSize Ukuran bitmap dalam byte 39 4 HorzRes Resolusi horizontal

(dalam pixel per meter) 43 4 VertRes Resolusi vertikal

(dalam pixel per meter)

47 4 CrlUsed Jumlah warna yang digunakan 51 4 CrlImportant Jumlah warna yang penting 55 2 Units Satuan Pengukur yang dipakai


(26)

57 2 Reserved Tidak dipakai

59 2 Recording Algoritma Perekaman 61 2 Rendering Algoritma halftoning 63 4 Size1 Nilai Ukuran 1 67 4 Size2 Nilai Ukuran 2 71 4 ClrEncoding Pengkodean Warna

75 4 Identifier Kode yang digunakan aplikasi (Munir, R, 2004, hal: 41)

Elemen data BitCount sekaligus menentukan apakah pada file BMP memiliki tabel warna atau tidak, termasuk susunan dari tabel warnanya. Untuk gambar 1 bit, tabel warna berisi dua warna (biasanya putih dan hitam). Jika setiap bit dari gambar bernilai 0 maka warna yang ditunjukkan adalah warna pertama di dalam tabel warna. Jika setiap bit dari data gambar bernilai 1 maka warna yang ditunjukkan adalah warna kedua yang terdapat dalam tabel warna.

Pada citra 4 bit, tabel warna berisikan 16 warna. Setiap byte yang terdapat pada data gambar mewakili dua pixel. Byte-byte tersebut dibagi menjadi dua bagian masing-masing 4 bit. Bit-bit tadi menunjukkan warna-warna yang terdapat pada Tabel warna. Pada gambar 8 bit, setiap byte mewakili satu pixel. Untuk gambar 24 bit, 3 byte digunakan untuk mewakili satu pixel. Byte yang pertama mewakili unsur merah, byte kedua mewakili unsur hijau dan byte ketiga mewakili unsur warna biru. Pada gambar 24 bit, Tabel warna tidak dibutuhkan karena mengandung unsur warna merah, hijau dan biru yang sebenarnya (Munir, R, 2004, hal: 38-42).

Tabel warna sendiri dibentuk dari struktur RGBQUARD yang disusun dalam bentuk array, struktur dari RGBQUARD dapat dilihat dalam tabel 2.6 berikut ini.

Tabel 2.6 Struktur RGBQUARD Mulai Ukuran

(byte)

Nama Keterangan

1 4 RGBBlue Intensitas warna biru 2 1 RGBGreen Intensitas warna hijau 3 1 RGBRed Intensitas warna merah 4 1 RGBReserved Tidak digunakan


(27)

(Gonzales, C, R, 1992, hal: 226)

2.2.2 Format File JPEG (Joint Photographic Experts Group)

Format file JPEG adalah bentuk kompresi gambar high color bit-mapped dan juga standar kompresi file yang dikembangkan oleh group Joint Photographic Experts dengan menggunakan kombinasi DCT (Discrite Cosine Transform) dan pengkodean Huffman untuk mengkompresi suatu file citra. Format ini cocok untuk diterapkan pada image yang kompleks dengan jumlah warna yang banyak.

JPEG merupakan suatu algoritma komporesi yang bersifat “lossy”, dimana kualitas citranya kurang bagus. Lossy Compression adalah metode memperkecil ukuran file citra dengan cara membuang beberapa data, hal ini menyebabkan adanya sedikit penurunan kualias citra.

JPEG merupakan teknik dan standard universal untuk kompresi dan dekompresi citra tidak bergerak yang digunakan pada kamera digital dan sistem pencitraan dengan menggunakan komputer.

2.2.3 Format File ICO

Format file ICO adalah suatu format file grafis windows yang digunakan pada sebuah icon. Icon juga merupakan jenis dari sebuah bitmap. Ukuran pixel maksimum icon adalah 32 pixel, akan tetapi pada lingkungan sistem operasi Windows 95 hanya ditentukan icon dengan ukuran 16 pixel × 16 pixel.

2.3 Pengertian Pengolahan Citra

Pengolahan citra adalah pemrosesan citra yang secara khusus menggunakan komputer sehingga diperoleh citra yang kualitasnya lebih baik. Pengolahan citra juga dapat diartikan sebagai suatu pemrosesan suatu gambar sehingga menghasilkan suatu gambar lain yang lebih sesuai dengan keinginan kita (Munir, R, 2004, hal: 3).

Umumnya operasi pengolahan citra diterapkan bila:

1. Diperlukan peningkatan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung dalam citra.


(28)

3. Sebagian citra perlu digabung dengan bagian citra yang lain.

Di dalam bidang komputer ada 3 bidang studi yang berkaitan dengan data citra, namun tujuan ketiganya berbeda yaitu:

1. Grafika Komput er (Computer Graphic) 2. Pengolahan Citra (Image Processing)

3. Pengenalan Data (Pattern Recognition/Image Interpretation).

Bidang studi yang berkaitan dengan citra dapat dilihat pada Gambar 2.4 di bawah ini:

Gambar 2.4 Bidang Studi yang berkaitan dengan Citra

Grafika komputer bertujuan menghasilkan citra dengan prinsip-prinsip geometri seperti garis, lingkaran dan sebagainya. Prinsip geometri tersebut memerlukan data deskriptif untuk melukis elemen-elemen gambar. Contoh data deskriptif adalah koordinat titik, panjang garis, jari-jari lingkaran, tebal garis, warna dan sebagainya (Munir, R, 2004, hal: 4). Hubungan bidang studi Grafika Komputer dengan citra dapat dilihat seperti pada Gambar 2.5.

Gambar 2.5 Bidang Studi Grafika Komputer

Pengolahan citra bertujuan untuk memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau komputer. Teknik-teknik pengolahan citra mentransformasikan suatu citra menjadi citra yang lain. Jadi masukannya berupa citra

Grafika Komputer

Deskripsi

Citra Citra

Deskripsi

Pengenalan Data Pengolahan

Citra

Data Deskriptif

Grafika


(29)

dan keluarannya juga citra, namun citra keluarannya memiliki kualitas yang lebih baik dari pada citra masukan sesuai dengan kebutuhan. Termasuk juga pentransferan dan transparansi pada suatu citra (Munir, R, 2004, hal: 5) Hubungan bidang studi Pengolahan Citra dengan citra dapat dilihat pada Gambar 2.6 di bawah ini.

Gambar 2.6 Bidang Studi Pengolahan Citra

Pengenalan pola bertujuan mengelompokkan data numerik dan simbolik citra secara otomatis oleh komputer. Tujuan pengelompokan ini adalah untuk mengenali siatu objek di dalam citra. Komputer menerima masukan berupa citra objek yang akan didefenisikan, memproses citra tersebut dan memberikan keluaran berupa deskripsi objek di dalam citra (Munir, R, 2004, hal: 6). Hubungan bidang studi Pengenalan Pola dengan citra dapat dilihat pada Gambar 2.7 di bawah ini.

Gambar 2.7 Bidang Studi Pengenalan Pola

Penerapan pengolahan citra ditujukan untuk berbagai keperluan, antara lain: a. Dalam ilmu geografi, ahli geografi menggunakan teknik ini untuk mempelajari

pola-pola polusi udara, pemetaan penggunaan/penutup lahan, pemetaan dan monitoring lahan pertanian, manajemen sumber daya pantai dan kelautan, eksplorasi minyak bumi, manajemen sumber daya hutan, perencanaan bidang telekomunikasi, oceanografi fisik, pemetaan deteksi laut-laut es, pemetaan geologi dan topologi.

b. Dalam ilmu fisika dan bidang yang berkaitan dengannya, teknik komputer secara rutin meningkatkan citra dari eksperimen pada bidang seperti plasma berenergi tinggi dan mikroskop elektron.

c. Dalam dunia komunikasi, data citra yang biasanya di dapat dari satelit baik satelit cuaca yang memfoto planet-planet pada umumnya hampir tidak dapat dilihat. Hal

Citra Pengolahan

Citra Citra

Citra Pengenalan


(30)

ini disebabkan karena pada saat foto tersebut dikirim ke stasiun bumi melalui gelombang, terjadi banyak gangguan selama dalam perjalanan. Gangguan ini disebabkan oleh gelombang-gelombang lain seperti gelombang radio, televisi dan lain-lain yang bercampur dengan gelombang data tersebut. Pemrosesan dilakukan terhadap foto yang diterima di stasiun bumi dengan cara menghilangkan atau mengurangi gangguan/noise tersebut, sehingga gambar tersebut dapat dilihat dengan jelas.

d. Dalam ilmu kedokteran, pengolahan citra digunakan untuk memperjelas hasil foto sinar-X organ tubuh manusia. Gambar yang didapat dari sinar-X umumnya kabur sehingga sulit bagi para dokter untuk menganalisis kelainan-kelainan yang terdapat pada organ tubuh. Dengan pemrosesan citra, gambar tersebut dapat diperjelas.

e. Dalam dunia game, pemrosesan citra digunakan untuk menciptakan efek-efek seperti bayangan di atas permukaan air, efek ledakan, api, tampilan yang kabur karena terkena kabut, angin, transportasi, pencahayaan dan lain sebagainya.

Pada Gambar 2.8 berikut ini adalah dasar-dasar pengolahan citra:

Gambar 2.8 Dasar-dasar Pengolahan Citra

2.3.1. Restorasi Citra (Image Restoration)

Restorasi citra adalah suatu jenis image processsing yang dilakukan untuk perbaikan/pemugaran terhadap gambar yang buruk sehingga menghasilkan suatu

Citra Di i l

Citra

Output Citra Transformasi

Enchancemen t Restoration Segmentation Classification Pengolahan


(31)

gambar yang baru atau gambar seperti aslinya. Operasi ini bertujuan untuk menghilangkan/meminimumkan cacat pada citra (Gonzales C, Rafael, 1992, hal: 253).

Proses-proses yang termasuk pada proses perbaikan citra, antara lain: 1. Pengubahan kecerahan gambar (image brightness)

2. Peregangan kontras (contrast stretching) 3. Pengubahan histogram citra

4. Pelembutan citra (image smooting) 5. Penajaman tepi (sharpening edge) 6. Pewarnaan semu (pseudocolouring)

7. Pengubahan geometrik (Munir, R, 2004, hal: 103).

Untuk menganalisa perbaikan citra, terdapat beberapa metode atau teknik yang dapat digunakan, antara lain:

1. Non Linier, yang dibagi menjadi tiga bagian yaitu

a. Mean Filtering adalah filter yang digunakan untuk menghaluskan gambar yang terlalu kasar.

b. Median Filtering, adalah filter yang digunakan untuk memperhalus gambar tetapi tidak sehalus mean filtering dan gambar yang dihasilkan terlihat tidak rapi.

c. Modus Filtering adalah filter spatial filtering yang tidak menggunakan mask. 2. Linier, yang dibagi menjadi dua bagian yaitu:

a. Brightness Filtering yaitu filter yang digunakan untuk memperjelas gambar yang terlalu gelap, sehingga terang.

b. Darkness Filtering yaitu filter yang digunakan untuk mengurangi intensitas gambar yang terlalu terang.

3. Noise Reduction, yang dibagi menjadi dua bagian yaitu:

a. Intensity Filtering yaitu membersihkan noise dengan mendeteksi intensitas dari setiap titik di layar.

b. Frequency Filtering yaitu membersihkan noise dengan menganalisa jumlah noise yang ada pada gambar.

Di dalam perbaikan/pemugaran citra ada beberapa masalah di dalam Penganalisaan citra yaitu:


(32)

2. Mengembalikan warna pada citra yang pudar ke warna yang semula 3. Membuat citra yang kabur atau samar menjadi citra yang cerah. 4. Memperbaiki bagian citra yang rusak

5. Menghaluskan bagian citra yang terlihat kasar 6. Membuat histogram dari citra.

2.3.2 Operasi-operasi Perbaikan Citra

Adapun operasi-operasi pemugaran citra atau perbaikan citra yang disediakan oleh perangkat lunak yang dirancang dalam Tugas Akhir ini adalah sebagai berikut:

a. Penghilangan Derau (Noise)

Noise adalah gangguan-gangguan/bintik-bintik pada gambar yang terjadi pada saat gambar tersebut dikirim dari satu komputer ke komputer lainnya. Reduksi noise itu sendiri terbagi menjadi dua yaitu Intensity Filtering dan Frequency Filtering. b. Memperhalus gambar (Mean Filtering)

Mean Filtering adalah filter yang digunakan untuk menghaluskan gambar yang terlalu kasar. Jika filter ini dilakukan pada gambar yang sudah halus, maka hasil gambar tersebut akan semakin kabur. Mean filtering ini biasa disebut smoothing filter.

c. Efek Sulaman (Median Filtering)

Median filtering adalah filter yang digunakan untuk memperhalus gambar tetapi tidak sehalus mean filtering. Gambar yang dihasilkan terlihat tidak rapi, karena tidak dilakukannya proses rata-rata tetapi dilakukan proses mencari nilai tengah dari titik-titik yang direkam dalam matriks neighbour.

d. Efek cat minyak (Modus Filtering)

Modus Filtering adalah termasuk jenis filter spatial filtering yang tidak menggunakan mask. Tujuan utama dari filter ini adalah membuat gambar menjadi berbintil-bintil seperti dicat dengan cat minyak.

2.3.3 Histogram

Histogram adalah suatu diagram atau kurva yang menyatakan jumlah kemunculan setiap tingkat keabuan warna (Jain K, Anil, 1989, hal 241). Karena setiap citra


(33)

mempunyai derajat keabuan 256 yaitu (0-255), maka histogram menyatakan jumlah kemunculan setiap nilai 0-255.

Histogram juga dapat menunjukkan banyak hal tentang kecerahan (brightness) dan kontras (contrast) dari sebuah gambar. Karena itu, histogram dapat digunakan sebagai alat bantu yang sangat berguna dalam pekerjaan pengolahan citra baik secara kualitatif dan kuantitatif. Suatu citra gelap bila karena pada histogram terdapat banyak nilai intensitas yang dekat dengan 0 (hitam), begitu juga dengan histogram citra terang yaitu terdapat banyak nilai intensitas yang dekat 255 (putih) sedangkan histogram citra yang normal brightness dan high contrast adalah citra yang bagus karena histogramnya tersebar merata di seluruh daerah derajat keabuan (Munir R, 2004, hal 95-99). Contoh histogram yang gelap, terang, normal brightness dan high contrast, seperti pada gambar berikut:

a. b. c. d.

Gambar 2.9 Histogram Citra; (a). Citra gelap (b). Citra terang, (c). Citra normal brightness, (d). Citra normal brightness dan high contrast.

2.4 Bahasa Pemrograman Visual Basic 6.0

Program adalah susunan perintah atau instruksi yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrograman merupakan bahasa yang digunakan untuk mendefinisikan perintah atau instruksi yang diperlukan dalam pembuatan program.

Perancangan perangkat lunak untuk memperbaiki citra digital yang dibahas dalam tugas akhir ini, menggunakan Bahasa Pemrograman Visual Basic 6.0 yang dikeluarkan oleh perusahaan Microsoft Corp. Visual Basic 6.0 merupakan salah satu bahasa pemrograman berorientasi objek (Object Oriented Programming- OOP). Bahasa ini dapat digunakan untuk membuat aplikasi yang berbasis grafis atau GUI


(34)

(Graphical User Interface) yang dijalankan dalam lingkungan sistem operasi Windows (Yuswanto, 2002, hal:1).

Visual Basic 6.0 dapat memanfaatkan seluruh fasilitas ataupun kemudahan dan kecanggihan yang dimiliki oleh sistem operasi Windows. Sehingga program aplikasi yang dibuat dengan menggunakan Visual Basic 6.0 dapat menampilkan komponen dengan cara kerja yang sama seperti aplikasi umumnya di lingkungan Windows.


(35)

BAB 2

LANDASAN TEORI

2.2 Pengenalan Citra

Secara harfiah citra (image) adalah gambar pada bidang dwimatra atau dua dimensi. Citra juga dapat diartikan sebagai kumpulan titik-titik dengan intesitas warna tertentu yang membentuk suatu kesatuan dan mempunyai pengertian artistik. Citra sebagai salah satu komponen multimedia yang memegang peranan sangat penting sebagai salah satu bentuk informasi visual (Munir, R, 2004, hal: 2). Sebuah citra mempunyai karakteristik yang tidak dimiliki oleh data teks yaitu, citra kaya dengan informasi karena dapat menyampaikan informasi yang imajinatif (dapat dihayalkan).

Citra yang baik adalah citra yang dapat menampilkan gambar secara utuh, seperti keindahan gambar dan kejelasan gambar tanpa mengurangi dan tanpa mengubah informasi yang terkandung pada sebuah gambar atau citra.

Meskipun sebuah citra kaya akan informasi, namun seringkali citra yang diperoleh mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring) dan sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasikan karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra yang mengalami gangguan mudah diinterpretasikan (baik oleh manusia maupun mesin) maka citra perlu diolah atau dimanipulasi sehingga kualitasnya lebih baik.

Penampilan citra dapat dibagi jadi dua kelompok yaitu citra diam (still images) dan citra bergerak (moving images). Citra diam adalah citra tunggal yang tidak bergerak. Citra bergerak adalah rangkaian citra diam yang ditampilkan secara berurutan (sequential) hingga memberikan kesan pada mata seolah-olah gambar tersebut bergerak (Munir, R, 2004, hal: 2)

Citra merupakan suatu keluaran dari suatu sistem perekaman data yang bersifat optik, analog ataupun digital. Perekaman data citra dapat dibagi menjadi dua yaitu: 3. Citra Analog


(36)

Citra analog yaitu terdiri dari sinyal-sinyal elektromagnetik yang tidak dapat dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya. Citra analog mempunyai fungsi yang kontinu. Hasil perekaman citra analog dapat bersifat optik yakni berupa foto (film foto konvensional) dan bersifat sinyal video seperti gambar pada monitor televisi

4. Citra Digital

Citra digital terdiri dari sinyal-sinyal yang dapat dibedakan dan mempunyai fungsi yang tidak kontinu yakni berupa titik-titik warna pembentuk citra. Hasil perekaman citra digital dapat disimpan pada suatu media mngnetik.

Dalam tugas akhir ini, pembahasan lebih diorientasikan pada citra digital.

2.2.1 Pengertian Citra Digital

Citra sebagai keluaran dari suatu sistem perekam data dapat bersifat analog, berupa sinyal-sinyal video seperti gambar pada monitor televisi atau bersifat digital yang dapat langsung disimpan pada suatu media magnetik. Citra ada dua macam yaitu citra kontinu dan citra diskrit. Citra Kontinu dihasilkan dari sistem optik yang menerima sinyal analog, contohnya mata manusia, kamera analog. Citra diskrit dihasilkan dari proses digitalisasi terhadap citra kontinu contohnya kamera digital, scanner (Munir, R, 2004, hal 15).

Komputer digital bekerja dengan angka-angka presisi terhingga, dengan demikian hanya citra dari kelas diskrit yang dapat diolah dengan komputer. Citra dari kelas tersebut lebih dikenal sebagai citra digital. Citra digital dinyatakan dalam suatu array dua dimensi atau suatu matriks yang elemen-elemennya menyatakan tingkat keabuan (grayscale) dari warna masing-masing pixel. Pixel merupakan elemen terkecil dari suatu citra, yakni berupa titik-titik warna yang membentuk citra.

Citra digital tidak selalu harus merupakan hasil langsung dari rekaman suatu sistem digital, namun ada juga rekaman data bersifat kontinu seperti pada gambar monitor televisi, foto sinar-X, dapat juga berasal dari yang telah mengalami suatu konversi, sehingga citra tersebut selanjutnya dapat diproses melalui komputer.


(37)

Citra warna adalah citra dengan sistem grafik yang memiliki satu set nilai tersusun (a set of ordered values) yang menyatakan berbagai tingkat warna. Citra warna bukanlah seperti citra grayscale. Dimana setiap set nilai tersusun mewakili satu ‘scale’ warna atau ‘hue’.

Sistem yang dipakai untuk mewakili warna yaitu sistem RGB (Red, Green, Blue). Sistem RGB adalah sistem penggabungan antara warna-warna primer (additive primary colours) yaitu merah (Red), hijau (Green) dan biru (Blue) untuk memperoleh warna tertentu. Misalnya warna putih diperoleh dari hasil gabungan warna merah = 255, hijau = 255, dan biru = 255. Dalam sistem RGB, warna putih cerah dinyatakan dengan RGB (255, 255, 255). Range nilai dari setiap warna primer adalah 0 sampai 255. Sehingga kemungkinan warna yang dapat terbentuk dengan sistem RGB adalah 256 x 256 x 256 yakni kurang lebih 16.7 juta warna. Pada tabel 2.1 berikut diperlihatkan beberapa kode warna hasil gabungan warna RGB.

Tabel 2.1 Kode Warna

Colour Red Green Blue

Black 0 0 0

Blue 0 0 255

Green 0 255 0

Cyan (Blue+Green) 0 255 255

Red 255 0 0

Magenta (Red+Blue) 255 0 255

Yellow (Red+Green) 255 255 0

White

(Red+Green+Blue)

255 255 255

Gray 128 128 128

2.1.2.2 Citra Monokrom

Citra monokrom adalah citra dengan suatu sistem grafik yang tidak memiliki kemampuan warna selain warna hitam atau warna putih. Perbedaan hanya diperoleh


(38)

dengan menentukan tingkat intensitas grayscale. Nilai numerik yang digunakan biasanya adalah range 0 – 1. Citra monokrom yang diwakili dengan beberapa nilai kekuatan cahaya bernilai dari hitam sampai put ih sebagai grayscale image. Pada tabel 2.2 terdapat empat tingkat intensitas yang dapat ditampilkan seperti yang terlihat di bawah ini.

Tabel 2.2 Intensitas Grayscale Kode Intensitas Nilai

Intensitas

Biner Tingkat Intensitas yang ditampilkan

0 0 0 0 Black

0.33 1 0 1 Darkgray

0.67 2 1 0 Lightgray

1 3 1 1 White

(Munir, R, 2004, hal; 42)

Menyimpan tingkat intensitas dalam memori layar sama dengan menyimpan kode warna. Titik dengan ukuran 3 bit bisa menampilkan 8 tingkat intensitas sedangkan titik berukuran 1 bit hanya bisa menampilkan warna hitam (black) dan dan putih (white) saja.

Pada Tabel 2.2 terdapat empat tingkat intensitas yang dapat ditampilkan. Nilai intensitas mendekati 0.33 akan disimpan dengan nilai biner 0 1 dalam memori layer dan menghasilkan titik dengan tingkat intensitas darkgray atau abu-abu kehitam-hitaman. Sedangkan tingkat intensitas itu sendiri ditentukan oleh program aplikasi kemudian diubah menjadi nilai biner yang sesuai.

2.2.3 Sistem Penangkap Citra Digital

Komputer digital hanya dapat memproses citra dalam bentuk digital. Pada cara yang konvensional, pemasukan data citra digital dilakukan melalui papan ketik (keyboard) atau terminal biasa. Data-data yang dimasukkan berupa harga-harga integer yang menunjukkan nilai intesitas cahaya atau tingkat keabuan setiap elemen gambar. Citra digital juga dapat diperoleh secara otomatis dari sistem penangkap citra digital (digital image acquisition system) atau digitizer yang melakukan penjelajahan citra dan membentuk suatu matriks dimana elemen-elemen menyatakan nilai intensitas


(39)

cahaya pada suatu himpunan disktrit dari titik-titik. Pada Gambar 2.1 adalah pemrosesan citra ke dalam komputer serta penyimpanannya, seperti terlihat pada Gambar 2.1 di bawah ini:

Gambar 2.1 Elemen Sistem Pengolah Citra

Sistem penangkap citra digital terdiri dari tiga komponen dasar yaitu: 4. Sensor citra yaitu ruang bekerja sebagai pengukur intensitas cahaya

5. Perangkat penjelajah yang bertugas merekam hasil pengukur intensitas pada seluruh bagian citra

6. Pengubah analog ke digital yang mengubah harga kontinu menjadi harga diskrit sehingga dapat diproses dengan komputer

Diagram sistem penangkap citra itu sendiri dapat dilihat pada Gambar 2.2 berikut ini:

Sensor Analog to Digital Komputer Digital

Penyimpan Bingkai Citra Monitor

Peraga Citra

Masukan Citra

Digital

Citra Kontinu

Subsistem Perekam

Subsistem Sampling

Subsistem Kuantisasi


(40)

Gambar 2.2 Diagram Sistem Penangkap Citra Digital

2.2.4 Konversi Citra Analog ke Citra Digital

Citra digital tidak selalu merupakah hasil langsung dari data rekaman suatu sistem digital. Adakalanya hasil rekaman data tersebut bersifat kontinu, oleh karena itu untuk mendapatkan suatu citra digital diperlukan suatu proses konversi, sehingga citra tersebut dapat diproses dengan komputer.

Citra yang bersifat kontinu dapat diubah menjadi citra digital dengan cara membuat kisi-kisi arah horizontal dan vertikal, sehingga diperoleh gambar dalam bentuk array dua dimensi. Proses tersebut dikenal sebagai proses digitasi atau sampling. Digitasi atau sampling adalah proses membagi gambar secara horizontal dan vertikal menjadi bagian-bagian yang kecil (Munir, R, 2004, hal 19-21), seperti diperlihatkan pada Gambar 2.3. Bagian-bagian yang kecil atau elemen array ini disebut dengan pixel. Pembagian suatu citra menjadi sejumlah pixel dengan ukuran tertentu akan menentukan resolusi spasial yang diperoleh. Semakin kecil ukuran pixel (makin banyak jumlah pixel) gambar maka resolusi gambar tersebut semakin tinggi dan gambar tersebut pun semakin halus atau terang, karena informasi yang hilang akibat pengelompokan tingkat keabuan atau warna ketika proses pembuatan kisi-kisi akan semakin kecil.

Citra dengan tingkat keabuan

Sampling

Citra Digital Pixel


(41)

Gambar 2.3 Proses digitasi atau sampling.

Proses yang diperlukan selanjutnya yaitu proses kuantisasi. Dalam proses itu tingkat keabuan setiap pixel dinyatakan dengan suatu bilangan bulat (integer). Batas-batas harga integer atau besarnya daerah tingkat keabuan yang digunakan untuk menyatakan suatu tingkat keabuan pixel akan menentukan resolusi kecerahan dari gambar yang akan diperoleh. Jika digunakan 3 bit untuk menyimpan harga integer tersebut, maka diperoleh 8 tingkat keabuan. Makin besar tingkat keabuan yang digunakan maka makin baik pula gambar yang akan dihasilkan, karena kontinuitas dari tingkat keabuan akan semakin tinggi sehingga mendekati citra aslinya.

2.2.5 Representasi Citra Digital

Data-data dalam sistem komputer perlu dikodekan dengan menggunakan suatu sistem simbol diskrit. Sebuah citra digital dapat dianggap suatu matriks dimana baris dan kolomnya menunjukkan sebuah titik pada citra dan nilai elemen matriks menunjukkan tingkat keabuan (graylevel) pada titik tersebut. Elemen dari array digital tersebut disebut picture elements (pixel). Pada umumnya, citra digital yang direpresentasikan dengan a(x,y) merupakan sebuah fungsi dari banyak variabel yang mencakup kedalaman/depth (z), warna/colour (λ), dan waktu/time(t).

Resolusi gambar dikatakan sebagai jumlah pixel yang terkandung di dalam suatu citra. Pada resolusi rendah keterperincian dan kedalaman citra akan hilang sama sekali dimana pixel-pixel individu jelas kelihatan, pada resolusi tinggi keterperincian data lebih nyata dan tajam. Aspect Ratio adalah suatu bilangan yang dapat diperoleh bila bilangan pixel mendatar dibagi dengan bilangan pixel tegak. Aspect Ratio perlu sama agar citra tidak kelihatan distorted (menyimpang) dan alami. Resolusi citra, Aspect Ratio dan jenis kualitas resolusinya dapat dilihat pada Tabel 2.3 berikut ini:

Tabel 2.3 Resolusi Citra dan Aspect Ratio

Resolusi Citra Aspect Ratio Kwalitas Resolusi

320 x 200 1,6 : 1 Low


(42)

1024 x 768 1,33 : 1 High (Munir, R, 2004, hal: 40).

2.1.5.1 Tabel Warna

Tingkatan warna dapat dikatakan sebagai sebuah unsur terpenting dari suatu objek. Tanpa tingkatan warna, objek-objek yang dibuat akan memiliki warna putih atau warna hitam saja, tetapi dengan adanya tingkatan warna maka objek yang dibuat tentunya terlihat lebih bagus dan menarik.

2.2.5.2 Warna dan Intensitas Gambar

Terdapat banyak macam warna dan tingkat intensitas gambar yang dapat dipakai, namun tergantung pada kemampuan dari sistem grafik yang digunakan. Warna dapat dikodekan dengan menggunakan sistem bilangan integer dengan rentang 0 hingga 255. Warna yang sudah dikodekan tersebut disebut dengan kode warna. Kode warna tersebut dapat dirubah tingkat intensitasnya. Sistem Raster Scan memiliki banyak pilihan warna, sedangkan sistem Random Scan biasanya hanya memberikan beberapa pilihan warna saja.

2.3 Format File Gambar

Pada umumnya file gambar digunakan untuk menyimpan gambar yang ditampilkan di layar ke dalam suatu media penyimpanan data. Untuk menyimpan sebuah file gambar ini digunakan salah satu format file. Ada banyak format file gambar yang dapat digunakan untuk menyimpan file gambar, diantaranya adalah BMP, JPEG, ICO.

2.2.1 Format File BMP (Bitmap)

Format file bitmap (BMP) merupakan sebuah format file citra standard untuk komputer-komputer yang menjalankan sistem operasi. Microsoft Windows dan IBM OS/2. Format file bitmap ini dikembangkan oleh pihak Microsoft untuk menyimpan file gambar dan memungkinkan windows untuk menampilkan kembali gambar


(43)

tersebut. Struktur dari file BMP terdiri dari BITMAPFILEHEADER berukuran 14 byte dan BITMAPINFOHEADER berukuran 64 byte (Munir, R, 2004, hal: 38-39).

Struktur BITMAPFILEHEADER mengandung informasi mengenai type, size, dan layout dari suatu file yang mengandung Device Independent Bitmap (DIB). Sedangkan struktur BITMAPINFOHEADER menyimpan informasi mengenai dimensi dan format warna dari suatu Device Independent Bitmap (DIB). Jadi dapat disimpulkan BITMAPFILEHEADER memberi informasi mengenai file dan BITMAPINFOHEADER memberikan informasi mengenai gambar. Tabel warna yang didefenisikan sebagai array dari struktur RGBQUAD dan sisanya adalah data gambar. Format ini mendukung resolusi warna dari monokrom hingga true color (16,7 juta warna). Tabel 2.4 di bawah ini memperlihatkan informasi mengenai struktur file BMP untuk gambar 256 warna (tanpa kompresi). Dan Tabel 2.6. di bawah ini memperlihatkan struktur informasi gambar.

Kolom “Mulai” menyatakan posisi awal byte elemen data di dalam file. Kolom “Ukuran” menyatakan ukuran elemen data dalam satuan byte. Kolom “Nama” menyatakan nama field atau pengenal elemen menurut dokumentasi Microsoft API. Kolom “Keterangan” memberi penjelasan tentang elemen data yang dimaksud.

Tabel 2.4 Struktur BITMAPFILEHEADER Mulai Ukuran

(byte)

Nama Keterangan

1 2 BmpType

Tipe file BMP BA : Bitmap Array BM : Bitmap CI : Color Icon CP : Color Pointer IC : Icon

PT : Pointer

3 4 BmpSize Ukuran file BMP dalam byte atau word

7 2 XhotSpot XhotSpot untuk kursor (pointer) 9 2 YhotSpot YhotSpot untuk kursor (pointer) 11 4 OffBits Posisi byte dimana data awal


(44)

(Munir, R, 2004, hal: 40)

Jumlah warna yang terdapat pada gambar ditentukan oleh BitCount. Kemungkinan untuk nilai BitCount adalah:

5. 1 (hitam atau putih) 6. 4 (16 warna)

7. 8 (256 warna) 8. 24 (16,7 juta warna)

Tabel 2.5 Struktur BITMAPINFOHEADER Mulai Ukuran

(byte)

Nama Keterangan

15 4 HdrSize Ukuran dari info header dalam byte.

19 4 Width Lebar bitmap dalam pixel 23 4 Height Tinggi bitmap dalam pixel 27 2 Planes Jumlah plane (hampir selalu 1) 29 2 BitCount Jumlah bit per pixel

31 4 Compression Jenis kompresi (0= tak terkompresi) 35 4 ImageSize Ukuran bitmap dalam byte 39 4 HorzRes Resolusi horizontal

(dalam pixel per meter) 43 4 VertRes Resolusi vertikal

(dalam pixel per meter)

47 4 CrlUsed Jumlah warna yang digunakan 51 4 CrlImportant Jumlah warna yang penting 55 2 Units Satuan Pengukur yang dipakai


(45)

57 2 Reserved Tidak dipakai

59 2 Recording Algoritma Perekaman 61 2 Rendering Algoritma halftoning 63 4 Size1 Nilai Ukuran 1 67 4 Size2 Nilai Ukuran 2 71 4 ClrEncoding Pengkodean Warna

75 4 Identifier Kode yang digunakan aplikasi (Munir, R, 2004, hal: 41)

Elemen data BitCount sekaligus menentukan apakah pada file BMP memiliki tabel warna atau tidak, termasuk susunan dari tabel warnanya. Untuk gambar 1 bit, tabel warna berisi dua warna (biasanya putih dan hitam). Jika setiap bit dari gambar bernilai 0 maka warna yang ditunjukkan adalah warna pertama di dalam tabel warna. Jika setiap bit dari data gambar bernilai 1 maka warna yang ditunjukkan adalah warna kedua yang terdapat dalam tabel warna.

Pada citra 4 bit, tabel warna berisikan 16 warna. Setiap byte yang terdapat pada data gambar mewakili dua pixel. Byte-byte tersebut dibagi menjadi dua bagian masing-masing 4 bit. Bit-bit tadi menunjukkan warna-warna yang terdapat pada Tabel warna. Pada gambar 8 bit, setiap byte mewakili satu pixel. Untuk gambar 24 bit, 3 byte digunakan untuk mewakili satu pixel. Byte yang pertama mewakili unsur merah, byte kedua mewakili unsur hijau dan byte ketiga mewakili unsur warna biru. Pada gambar 24 bit, Tabel warna tidak dibutuhkan karena mengandung unsur warna merah, hijau dan biru yang sebenarnya (Munir, R, 2004, hal: 38-42).

Tabel warna sendiri dibentuk dari struktur RGBQUARD yang disusun dalam bentuk array, struktur dari RGBQUARD dapat dilihat dalam tabel 2.6 berikut ini.

Tabel 2.6 Struktur RGBQUARD Mulai Ukuran

(byte)

Nama Keterangan

1 4 RGBBlue Intensitas warna biru 2 1 RGBGreen Intensitas warna hijau 3 1 RGBRed Intensitas warna merah 4 1 RGBReserved Tidak digunakan


(46)

(Gonzales, C, R, 1992, hal: 226)

2.3.2 Format File JPEG (Joint Photographic Experts Group)

Format file JPEG adalah bentuk kompresi gambar high color bit-mapped dan juga standar kompresi file yang dikembangkan oleh group Joint Photographic Experts dengan menggunakan kombinasi DCT (Discrite Cosine Transform) dan pengkodean Huffman untuk mengkompresi suatu file citra. Format ini cocok untuk diterapkan pada image yang kompleks dengan jumlah warna yang banyak.

JPEG merupakan suatu algoritma komporesi yang bersifat “lossy”, dimana kualitas citranya kurang bagus. Lossy Compression adalah metode memperkecil ukuran file citra dengan cara membuang beberapa data, hal ini menyebabkan adanya sedikit penurunan kualias citra.

JPEG merupakan teknik dan standard universal untuk kompresi dan dekompresi citra tidak bergerak yang digunakan pada kamera digital dan sistem pencitraan dengan menggunakan komputer.

2.3.3 Format File ICO

Format file ICO adalah suatu format file grafis windows yang digunakan pada sebuah icon. Icon juga merupakan jenis dari sebuah bitmap. Ukuran pixel maksimum icon adalah 32 pixel, akan tetapi pada lingkungan sistem operasi Windows 95 hanya ditentukan icon dengan ukuran 16 pixel × 16 pixel.

2.4 Pengertian Pengolahan Citra

Pengolahan citra adalah pemrosesan citra yang secara khusus menggunakan komputer sehingga diperoleh citra yang kualitasnya lebih baik. Pengolahan citra juga dapat diartikan sebagai suatu pemrosesan suatu gambar sehingga menghasilkan suatu gambar lain yang lebih sesuai dengan keinginan kita (Munir, R, 2004, hal: 3).

Umumnya operasi pengolahan citra diterapkan bila:

4. Diperlukan peningkatan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung dalam citra.


(47)

6. Sebagian citra perlu digabung dengan bagian citra yang lain.

Di dalam bidang komputer ada 3 bidang studi yang berkaitan dengan data citra, namun tujuan ketiganya berbeda yaitu:

4. Grafika Komput er (Computer Graphic) 5. Pengolahan Citra (Image Processing)

6. Pengenalan Data (Pattern Recognition/Image Interpretation).

Bidang studi yang berkaitan dengan citra dapat dilihat pada Gambar 2.4 di bawah ini:

Gambar 2.4 Bidang Studi yang berkaitan dengan Citra

Grafika komputer bertujuan menghasilkan citra dengan prinsip-prinsip geometri seperti garis, lingkaran dan sebagainya. Prinsip geometri tersebut memerlukan data deskriptif untuk melukis elemen-elemen gambar. Contoh data deskriptif adalah koordinat titik, panjang garis, jari-jari lingkaran, tebal garis, warna dan sebagainya (Munir, R, 2004, hal: 4). Hubungan bidang studi Grafika Komputer dengan citra dapat dilihat seperti pada Gambar 2.5.

Gambar 2.5 Bidang Studi Grafika Komputer

Pengolahan citra bertujuan untuk memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau komputer. Teknik-teknik pengolahan citra mentransformasikan suatu citra menjadi citra yang lain. Jadi masukannya berupa citra

Grafika Komputer

Deskripsi

Citra Citra

Deskripsi

Pengenalan Data Pengolahan

Citra

Data Deskriptif

Grafika


(48)

dan keluarannya juga citra, namun citra keluarannya memiliki kualitas yang lebih baik dari pada citra masukan sesuai dengan kebutuhan. Termasuk juga pentransferan dan transparansi pada suatu citra (Munir, R, 2004, hal: 5) Hubungan bidang studi Pengolahan Citra dengan citra dapat dilihat pada Gambar 2.6 di bawah ini.

Gambar 2.6 Bidang Studi Pengolahan Citra

Pengenalan pola bertujuan mengelompokkan data numerik dan simbolik citra secara otomatis oleh komputer. Tujuan pengelompokan ini adalah untuk mengenali siatu objek di dalam citra. Komputer menerima masukan berupa citra objek yang akan didefenisikan, memproses citra tersebut dan memberikan keluaran berupa deskripsi objek di dalam citra (Munir, R, 2004, hal: 6). Hubungan bidang studi Pengenalan Pola dengan citra dapat dilihat pada Gambar 2.7 di bawah ini.

Gambar 2.7 Bidang Studi Pengenalan Pola

Penerapan pengolahan citra ditujukan untuk berbagai keperluan, antara lain: a. Dalam ilmu geografi, ahli geografi menggunakan teknik ini untuk mempelajari

pola-pola polusi udara, pemetaan penggunaan/penutup lahan, pemetaan dan monitoring lahan pertanian, manajemen sumber daya pantai dan kelautan, eksplorasi minyak bumi, manajemen sumber daya hutan, perencanaan bidang telekomunikasi, oceanografi fisik, pemetaan deteksi laut-laut es, pemetaan geologi dan topologi.

b. Dalam ilmu fisika dan bidang yang berkaitan dengannya, teknik komputer secara rutin meningkatkan citra dari eksperimen pada bidang seperti plasma berenergi tinggi dan mikroskop elektron.

c. Dalam dunia komunikasi, data citra yang biasanya di dapat dari satelit baik satelit cuaca yang memfoto planet-planet pada umumnya hampir tidak dapat dilihat. Hal

Citra Pengolahan

Citra Citra

Citra Pengenalan


(49)

ini disebabkan karena pada saat foto tersebut dikirim ke stasiun bumi melalui gelombang, terjadi banyak gangguan selama dalam perjalanan. Gangguan ini disebabkan oleh gelombang-gelombang lain seperti gelombang radio, televisi dan lain-lain yang bercampur dengan gelombang data tersebut. Pemrosesan dilakukan terhadap foto yang diterima di stasiun bumi dengan cara menghilangkan atau mengurangi gangguan/noise tersebut, sehingga gambar tersebut dapat dilihat dengan jelas.

d. Dalam ilmu kedokteran, pengolahan citra digunakan untuk memperjelas hasil foto sinar-X organ tubuh manusia. Gambar yang didapat dari sinar-X umumnya kabur sehingga sulit bagi para dokter untuk menganalisis kelainan-kelainan yang terdapat pada organ tubuh. Dengan pemrosesan citra, gambar tersebut dapat diperjelas.

e. Dalam dunia game, pemrosesan citra digunakan untuk menciptakan efek-efek seperti bayangan di atas permukaan air, efek ledakan, api, tampilan yang kabur karena terkena kabut, angin, transportasi, pencahayaan dan lain sebagainya.

Pada Gambar 2.8 berikut ini adalah dasar-dasar pengolahan citra:

Gambar 2.8 Dasar-dasar Pengolahan Citra

2.3.1. Restorasi Citra (Image Restoration)

Restorasi citra adalah suatu jenis image processsing yang dilakukan untuk perbaikan/pemugaran terhadap gambar yang buruk sehingga menghasilkan suatu

Citra Di i l

Citra

Output Citra Transformasi

Enchancemen t Restoration Segmentation Classification Pengolahan


(50)

gambar yang baru atau gambar seperti aslinya. Operasi ini bertujuan untuk menghilangkan/meminimumkan cacat pada citra (Gonzales C, Rafael, 1992, hal: 253).

Proses-proses yang termasuk pada proses perbaikan citra, antara lain: 8. Pengubahan kecerahan gambar (image brightness)

9. Peregangan kontras (contrast stretching) 10. Pengubahan histogram citra

11. Pelembutan citra (image smooting) 12. Penajaman tepi (sharpening edge) 13. Pewarnaan semu (pseudocolouring)

14. Pengubahan geometrik (Munir, R, 2004, hal: 103).

Untuk menganalisa perbaikan citra, terdapat beberapa metode atau teknik yang dapat digunakan, antara lain:

4. Non Linier, yang dibagi menjadi tiga bagian yaitu

a. Mean Filtering adalah filter yang digunakan untuk menghaluskan gambar yang terlalu kasar.

b. Median Filtering, adalah filter yang digunakan untuk memperhalus gambar tetapi tidak sehalus mean filtering dan gambar yang dihasilkan terlihat tidak rapi.

c. Modus Filtering adalah filter spatial filtering yang tidak menggunakan mask. 5. Linier, yang dibagi menjadi dua bagian yaitu:

a. Brightness Filtering yaitu filter yang digunakan untuk memperjelas gambar yang terlalu gelap, sehingga terang.

b. Darkness Filtering yaitu filter yang digunakan untuk mengurangi intensitas gambar yang terlalu terang.

6. Noise Reduction, yang dibagi menjadi dua bagian yaitu:

a. Intensity Filtering yaitu membersihkan noise dengan mendeteksi intensitas dari setiap titik di layar.

b. Frequency Filtering yaitu membersihkan noise dengan menganalisa jumlah noise yang ada pada gambar.

Di dalam perbaikan/pemugaran citra ada beberapa masalah di dalam Penganalisaan citra yaitu:


(51)

8. Mengembalikan warna pada citra yang pudar ke warna yang semula 9. Membuat citra yang kabur atau samar menjadi citra yang cerah. 10. Memperbaiki bagian citra yang rusak

11. Menghaluskan bagian citra yang terlihat kasar 12. Membuat histogram dari citra.

2.3.2 Operasi-operasi Perbaikan Citra

Adapun operasi-operasi pemugaran citra atau perbaikan citra yang disediakan oleh perangkat lunak yang dirancang dalam Tugas Akhir ini adalah sebagai berikut:

e. Penghilangan Derau (Noise)

Noise adalah gangguan-gangguan/bintik-bintik pada gambar yang terjadi pada saat gambar tersebut dikirim dari satu komputer ke komputer lainnya. Reduksi noise itu sendiri terbagi menjadi dua yaitu Intensity Filtering dan Frequency Filtering. f. Memperhalus gambar (Mean Filtering)

Mean Filtering adalah filter yang digunakan untuk menghaluskan gambar yang terlalu kasar. Jika filter ini dilakukan pada gambar yang sudah halus, maka hasil gambar tersebut akan semakin kabur. Mean filtering ini biasa disebut smoothing filter.

g. Efek Sulaman (Median Filtering)

Median filtering adalah filter yang digunakan untuk memperhalus gambar tetapi tidak sehalus mean filtering. Gambar yang dihasilkan terlihat tidak rapi, karena tidak dilakukannya proses rata-rata tetapi dilakukan proses mencari nilai tengah dari titik-titik yang direkam dalam matriks neighbour.

h. Efek cat minyak (Modus Filtering)

Modus Filtering adalah termasuk jenis filter spatial filtering yang tidak menggunakan mask. Tujuan utama dari filter ini adalah membuat gambar menjadi berbintil-bintil seperti dicat dengan cat minyak.

2.3.3 Histogram

Histogram adalah suatu diagram atau kurva yang menyatakan jumlah kemunculan setiap tingkat keabuan warna (Jain K, Anil, 1989, hal 241). Karena setiap citra


(52)

mempunyai derajat keabuan 256 yaitu (0-255), maka histogram menyatakan jumlah kemunculan setiap nilai 0-255.

Histogram juga dapat menunjukkan banyak hal tentang kecerahan (brightness) dan kontras (contrast) dari sebuah gambar. Karena itu, histogram dapat digunakan sebagai alat bantu yang sangat berguna dalam pekerjaan pengolahan citra baik secara kualitatif dan kuantitatif. Suatu citra gelap bila karena pada histogram terdapat banyak nilai intensitas yang dekat dengan 0 (hitam), begitu juga dengan histogram citra terang yaitu terdapat banyak nilai intensitas yang dekat 255 (putih) sedangkan histogram citra yang normal brightness dan high contrast adalah citra yang bagus karena histogramnya tersebar merata di seluruh daerah derajat keabuan (Munir R, 2004, hal 95-99). Contoh histogram yang gelap, terang, normal brightness dan high contrast, seperti pada gambar berikut:

a. b. c. d.

Gambar 2.9 Histogram Citra; (a). Citra gelap (b). Citra terang, (c). Citra normal brightness, (d). Citra normal brightness dan high contrast.

2.4 Bahasa Pemrograman Visual Basic 6.0

Program adalah susunan perintah atau instruksi yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrograman merupakan bahasa yang digunakan untuk mendefinisikan perintah atau instruksi yang diperlukan dalam pembuatan program.

Perancangan perangkat lunak untuk memperbaiki citra digital yang dibahas dalam tugas akhir ini, menggunakan Bahasa Pemrograman Visual Basic 6.0 yang dikeluarkan oleh perusahaan Microsoft Corp. Visual Basic 6.0 merupakan salah satu bahasa pemrograman berorientasi objek (Object Oriented Programming- OOP). Bahasa ini dapat digunakan untuk membuat aplikasi yang berbasis grafis atau GUI


(53)

(Graphical User Interface) yang dijalankan dalam lingkungan sistem operasi Windows (Yuswanto, 2002, hal:1).

Visual Basic 6.0 dapat memanfaatkan seluruh fasilitas ataupun kemudahan dan kecanggihan yang dimiliki oleh sistem operasi Windows. Sehingga program aplikasi yang dibuat dengan menggunakan Visual Basic 6.0 dapat menampilkan komponen dengan cara kerja yang sama seperti aplikasi umumnya di lingkungan Windows.


(1)

Muhammad Arifin Siregar : Perancangan Perangkat Lunak Untuk Perbaikan Citra Digital Dengan Menggunakan

For k = 0 To 255 Select Case N

Case 0: '-- Uji warna merah

If HMedian.Red(k) > maxC Then maxC = HMedian.Red(k)

Case 1: '-- Uji warna hijau

If HMedian.Green(k) > maxC Then maxC = HMedian.Green(k)

Case 2: '-- Uji warna biru

If HMedian.Blue(k) > maxC Then maxC = HMedian.Blue(k)

End Select Next k

'--- Menggambar histogram For k = 1 To 255

Select Case N

Case 0: tG = HMedian.Red(k) '/ maxC * tH

picMedianH.Line (px + k, py + 10)-(px + k, py + 2), RGB(k, 0, 0)

Case 1: tG = HMedian.Green(k) '/ maxC * tH

picMedianH.Line (px + k, py + 10)-(px + k, py + 2), RGB(0, k, 0)

Case 2: tG = HMedian.Blue(k) '/ maxC * tH

picMedianH.Line (px + k, py + 10)-(px + k, py + 2), RGB(0, 0, k)

End Select

picMedianH.Line (px + k, py)-(px + k, py - tG), RGB(0, 0, 0) Next k

End Sub

Private Sub HistoModus(N As Integer) Dim px As Integer

Dim py As Integer Dim maxC As Single

Dim tH As Integer '--- Tinggi maksimum histogram Dim tG As Integer '--- Tinggi Histogram per warna Dim k As Integer

picModusH.Cls px = 100

py = picAwalH.ScaleHeight - 20 tH = py

maxC = 0

'--- Mencari nilai maksimum warna For k = 0 To 255

Select Case N

Case 0: '-- Uji warna merah

If HModus.Red(k) > maxC Then maxC = HModus.Red(k) Case 1: '-- Uji warna hijau

If HModus.Green(k) > maxC Then maxC = HModus.Green(k)

Case 2: '-- Uji warna biru

If HModus.Blue(k) > maxC Then maxC = HModus.Blue(k)

End Select Next k

'--- Menggambar histogram For k = 1 To 255

Select Case N


(2)

Muhammad Arifin Siregar : Perancangan Perangkat Lunak Untuk Perbaikan Citra Digital Dengan Menggunakan

picModusH.Line (px + k, py + 10)-(px + k, py + 2), RGB(k, 0, 0)

Case 1: tG = HModus.Green(k) '/ maxC * tH

picModusH.Line (px + k, py + 10)-(px + k, py + 2), RGB(0, k, 0)

Case 2: tG = HModus.Blue(k) '/ maxC * tH

picModusH.Line (px + k, py + 10)-(px + k, py + 2), RGB(0, 0, k)

End Select

picModusH.Line (px + k, py)-(px + k, py - tG), RGB(0, 0, 0) Next k

End Sub

Private Sub mnuInten_Click() pgbFiltering.Visible = True picInten.Visible = True NoiseIntensity

fraInten.Enabled = True CInten = True

End Sub

Private Sub mnuFreq_Click() pgbFiltering.Visible = True picFreq.Visible = True fraFreq.Enabled = True CFreq = True

NoiseFrequency End Sub

Private Sub mnuMean_Click() Dim k, L As Long

fraMean.Enabled = True CMean = True

pgbFiltering.Visible = True PrepareImg

picMean.Visible = True picMean.Width = bmpX picMean.Height = bmpY

For I = 1 To bmpX - 1 For J = 1 To bmpY - 1 For k = -1 To 1 For L = -1 To 1

Red(k + 2, L + 2) = Abs(lArrCol(0, I + k, J + L)) Green(k + 2, L + 2) = Abs(lArrCol(1, I + k, J + L))

Blue(k + 2, L + 2) = Abs(lArrCol(2, I + k, J + L))

Next L Next k

r = Abs(Mean(1)) g = Abs(Mean(2)) b = Abs(Mean(3))

SetPixel picMean.hdc, I, J, RGB(r, g, b) With HMean

.Red(r) = .Red(r) + 1 .Green(g) = .Green(g) + 1 .Blue(b) = .Blue(b) + 1 End With


(3)

Muhammad Arifin Siregar : Perancangan Perangkat Lunak Untuk Perbaikan Citra Digital Dengan Menggunakan

pgbFiltering.Value = I * 100 \ (bmpX - 1) + 0.0001 Next I

picMean.Refresh

pgbFiltering.Value = 0.0001 pgbFiltering.Visible = False End Sub

Private Sub mnuMedian_Click() Dim k, L As Long

fraMedian.Enabled = True CMedian = True

pgbFiltering.Visible = True Call PrepareImg

For I = 1 To bmpX - 1 For J = 1 To bmpY - 1 For k = -1 To 1 For L = -1 To 1

Red(k + 2, L + 2) = Abs(lArrCol(0, I + k, J + L)) Green(k + 2, L + 2) = Abs(lArrCol(1, I + k, J + L))

Blue(k + 2, L + 2) = Abs(lArrCol(2, I + k, J + L))

Next L Next k

r = Abs(Median(1)) g = Abs(Median(2)) b = Abs(Median(3))

SetPixel picMedian.hdc, I, J, RGB(r, g, b) With HMedian

.Red(r) = .Red(r) + 1 .Green(g) = .Green(g) + 1 .Blue(b) = .Blue(b) + 1 End With

Next J

pgbFiltering.Value = I * 100 \ (bmpX - 1) + 0.0001 Next I

picMedian.Refresh

pgbFiltering.Value = 0.0001 pgbFiltering.Visible = False End Sub

Private Sub MnuModus_Click() Dim k, L As Long

fraModus.Enabled = True CModus = True

pgbFiltering.Visible = True Call PrepareImg

For I = 1 To bmpX - 1 For J = 1 To bmpY - 1 For k = -1 To 1 For L = -1 To 1

Red(k + 2, L + 2) = Abs(lArrCol(0, I + k, J + L)) Green(k + 2, L + 2) = Abs(lArrCol(1, I + k, J + L))

Blue(k + 2, L + 2) = Abs(lArrCol(2, I + k, J + L))

Next L Next k

r = Abs(Modus(1)) g = Abs(Modus(2)) b = Abs(Modus(3))


(4)

Muhammad Arifin Siregar : Perancangan Perangkat Lunak Untuk Perbaikan Citra Digital Dengan Menggunakan

SetPixel picModus.hdc, I, J, RGB(r, g, b) With HModus

.Red(r) = .Red(r) + 1 .Green(g) = .Green(g) + 1 .Blue(b) = .Blue(b) + 1 End With

Next J

pgbFiltering.Value = I * 100 \ (bmpX - 1) + 0.0001 Next I

picModus.Refresh

pgbFiltering.Value = 0.0001 pgbFiltering.Visible = False End Sub

Private Sub mnuAbout_Click() frmBantuan.Show

End Sub

Private Sub mnuInfo_Click() frmInfo.Show

End Sub

Private Sub mnuExit_Click() End

End Sub

From :Splash.frm ---

Dim sJudul As String

Private Sub Form_Activate()

imgSplash.Picture = LoadPicture(App.Path & "\Splash.jpg") Me.Left = (Screen.Width - Me.Width) \ 2

Me.Top = (Screen.Height - Me.Height) \ 2 tmrTunda.Enabled = True

End Sub

Private Sub Form_Click() Unload Me

End Sub

Private Sub picSplash_Click() Unload Me

End Sub

Private Sub imgSplash_Click() Unload Me

End Sub

Private Sub tmrTunda_Timer() Unload Me

End Sub

From :Info.frm ---


(5)

Muhammad Arifin Siregar : Perancangan Perangkat Lunak Untuk Perbaikan Citra Digital Dengan Menggunakan

Dim py As Single Dim g As Single

Private Sub cmdOK_Click() tmrGulung.Enabled = False tmrTundaFoto.Enabled = False Unload Me

End Sub

Private Sub Form_Load()

SKampus = " Program Studi S1 Ilmu Komputer Fakultas MIPA Universitas Sumatera Utara - Medan ... "

picTKasih.Picture = LoadPicture(App.Path & "\Ucapan.jpg") picGulung.BackColor = RGB(16, 68, 20)

py = 0 End Sub

Private Sub tmrGulung_Timer() g = g + 1

picTKasih.Top = py py = py - 20

If g = 200 Then py = 3600 g = 0 End If End Sub

Private Sub tmrTundaFoto_Timer() Static S As Integer

If S = 0 Then S = 1

imgFoto.Picture = LoadPicture(App.Path & "\Foto.JPG") lblNama.Visible = True

lblNim.Visible = True Else

S = 0

imgFoto.Picture = LoadPicture(App.Path & "\Logo.JPG") lblNama.Visible = False

lblNim.Visible = False End If

End Sub

Private Sub tmrTunda_Timer() Dim stK As String

SKampus = Right(SKampus, Len(SKampus) - 1) + Left(SKampus, 1) stK = Left(SKampus, 50)

lblKampus.Caption = stK End Sub

From :Bantuan.frm ---

Private Sub Form_Resize()

If Me.Height < 1900 Then Exit Sub

cmdTutup.Left = Me.ScaleWidth - cmdTutup.Width - 50 cmdTutup.Top = Me.ScaleHeight - cmdTutup.Height - 20 txtBantuan.Width = Me.ScaleWidth

txtBantuan.Height = Me.ScaleHeight - cmdTutup.Height - 100 End Sub


(6)

Muhammad Arifin Siregar : Perancangan Perangkat Lunak Untuk Perbaikan Citra Digital Dengan Menggunakan

Private Sub Form_Activate() Dim NamaFileB As String Dim NomorFileB As Integer

txtBantuan.FontName = "Courier New" txtBantuan.FontSize = 10

txtBantuan.Top = 0 txtBantuan.Left = 0 txtBantuan.Locked = True

NamaFileB = App.Path & "\Bantuan.txt" NomorFileB = FreeFile

Open NamaFileB For Input As NomorFileB

txtBantuan.Text = Input$(LOF(NomorFileB), NomorFileB) Close NomorFileB

End Sub

Private Sub cmdTutup_click() Unload Me