BAB 2 LANDASAN TEORI 2.1 Pengertian Citra
Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinu menjadi gambar diskrit melalui proses sampling. Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana x dan y adalah koordinat spasial sedangkan nilai f(x,y) adalah intensitas citra pada koordinat tersebut, hal tersebut diilustrasikan pada Gambar 2.1. Teknologi dasar untuk menciptakan dan menampilkan warna pada citra digital berdasarkan pada penelitian bahwa sebuah warna merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru (Red, Green, Blue - RGB) (Gonzales, 2004).
Citra dalam format BMP lebih bagus, karena citra dalam format BMP umumnya tidak dimampatkan sehingga tidak ada informasi yang hilang. Format BMP berasal dari kata bitmap yang artinya adalah pemetaan bit. Nilai intensitas piksel di dalam citra BMP dipetakan ke sejumlah bit tertentu. Peta bit yang umum adalah 8, artinya setiap piksel panjangnya 8 bit. Delapan bit ini merepresentasikan nilai intensitas piksel. Dengan demikian ada sebanyak 28 = 256 derajat keabuan, mulai dari 0 sampai 255.
Citra dalam format BMP ada tiga macam: citra biner, citra berwarna, dan citra hitam–putih (grayscale). Citra biner hanya mempunyai dua nilai keabuan, 0 dan 1. Oleh karena itu, 1 bit sudah cukup untuk merepresentasikan nilai piksel. Citra berwarna adalah citra yang lebih umum. Warna yang terlihat pada citra bitmap merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru. Setiap piksel disusun oleh tiga komponen warna: R (red), G (green), B (blue). Kombinasi dari tiga warna RGB tersebut menghasilkan warna yang khas untuk piksel yang bersangkutan. Pada citra 256 warna, setiap piksel panjangnya 8 bit, tetapi komponen warna RGBnya disimpan di dalam tabel RGB yang disebut palet.
Universitas Sumatera Utara
Setiap komponen panjangnya 8 bit, jadi ada 256 nilai keabuan untuk warna biru. Nilai setiap piksel tidak menyatakan derajat keabuan secara langsung, tetapi nilai piksel menyatakan indek tabel RGB yang membuat nilai keabuan merah (R), nilai keabuan hijau (G), dan nilai keabuan biru (B) untuk piksel yang bersangkutan. Pada citra hitam – putih, nilai R = G = B untuk menyatakan bahwa citra hitam- putih hanya mempunyai satu kanal warna. Citra hitam-putih umumnya adalah citra 8-bit.
Citra yang lebih kaya warna adalah citra 24-bit Setiap piksel panjangnya 24 bit, karena setiap piksel langsung menyatakan komponen warna merah, komponen warna hijau, dan komponen warna biru. Masing - masing komponen panjangnya 8 bit. Citra 24-bit disebut juga citra 16 juta warna, karena ia mampu menghasilkan 224 = 16.777.216 kombinasi warna.
Gambar 2.1 Citra fungsi dua variabel, f(x,y)
2.1.1 Citra Analog
Analog berhubungan dengan hal yang kontinu dalam satu dimensi, contohnya adalah bunyi diwakili dalam bentuk analog, yaitu suatu getaran gelombang udara yang kontinu dimana kekuatannya diwakili sebagai jarak gelombang. Hampir semua kejadian alam boleh diwakili sebagai perwakilan analog seperti bunyi, cahaya, air, elektrik, angin dan sebagainya. Jadi citra analog adalah citra yang terdiri dari sinyal – sinyal frekuensi elektromagnetis yang belum dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya.
Universitas Sumatera Utara
2.1.2 Citra Digital
Citra digital adalah citra yang terdiri dari sinyal–sinyal frekuensi elektromagnetis yang sudah di-sampling sehingga dapat ditentukan ukuran titik gambar tersebut yang pada umumnya disebut piksel. Untuk menyatakan citra (image) secara matematis, dapat didefinisikan fungsi f(x,y) di mana x dan y menyatakan suatu posisi dalam koordinat dua dimensi dan harga f pada titik (x,y) adalah harga yang menunjukkan warna citra pada titik tersebut. Citra digital adalah citra yang dinyatakan secara diskrit (tidak kontinu), baik untuk posisi koordinatnya maupun warnanya. Dengan demikian, citra digital dapat digambarkan sebagai suatu matriks, di mana indeks baris dan indeks kolom dari matriks menyatakan posisi suatu titik di dalam citra dan harga dari elemen matriks menyatakan warna citra pada titik tersebut. Dalam citra digital yang dinyatakan sebagai susunan matriks seperti ini, elemen–elemen matriks tadi disebut juga dengan istilah piksel yang berasal dari kata picture element (pixel) (Munir, 2002).
Untuk mendapatkan suatu citra digital, dapat digunakan alat yang memiliki kemampuan untuk mengubah sinyal yang diterima oleh sensor citra menjadi bentuk digital, misalnya dengan menggunakan kamera digital atau scanner. Cara yang lain adalah dengan menggunakan ADC (Analog-to-Digital Converter) untuk mengubah sinyal analog yang dihasilkan oleh keluaran sensor citra menjadi sinyal digital, misalnya dengan menggunakan perangkat keras video capture yang dapat mengubah sinyal video analog menjadi citra digital.
2.2 Format File Citra
Sebuah format citra harus dapat menyatukan kualitas citra, ukuran file dan kompatibilitas dengan berbagai aplikasi. Saat ini tersedia banyak format grafik dan format baru tersebut dikembangkan, diantaranya yang terkenal adalah BMP, JPEG, dan GIF. Setiap program pengolahan citra biasanya memiliki format citra tersendiri. Format dan metode dari suatu citra yang baik juga sangat bergantung pada jenis citranya. Setiap format file citra memiliki kelebihan dan kekurangan masing – masing dalam hal citra yang disimpan. Citra tertentu dapat disimpan dengan baik (dalam arti ukuran file lebih kecil dan kualitas gambar tidak berubah) pada format file citra
Universitas Sumatera Utara
tertentu, apabila disimpan pada format lain kadang kala dapat menyebabkan ukuran file menjadi lebih besar dari aslinya dan kualitas citra dapat menurun oleh karena itu, untuk menyimpan suatu citra harus diperhatikan citra dan format file citra apa yang sesuai. Misalnya format citra GIF sangat tidak cocok untuk citra fotografi karena biasanya citra fotografi kaya akan warna, sedangkan format GIF hanya mendukung sejumlah warna sebanyak 256 (8 bit) saja. Format JPEG merupakan pilihan yang tepat untuk citra–citra fotografi karena JPEG sangat cocok untuk citra dengan perubahan warna yang halus (Sutoyo,2009).
2.2.1 Format Data Bitmap
Pada format bitmap, citra disimpan sebagai suatu matriks di mana masing – masing elemennya digunakan untuk menyimpan informasi warna untuk setiap pixel. Jumlah warna yang dapat disimpan ditentukan dengan satuan bit-per-pixel. Semakin besar ukuran bit-per-pixel dari suatu bitmap, semakin banyak pula jumlah warna yang dapat disimpan. Format bitmap ini cocok digunakan untuk menyimpan citra digital yang memiliki banyak variasi dalam bentuknya maupun warnanya, seperti foto, lukisan, dan frame video. Format file yang menggunakan format bitmap ini antara lain adalah BMP, DIB, PCX, GIF, dan JPG. Format yang menjadi standar dalam sistem operasi Microsoft Windows adalah format bitmap BMP atau DIB.
Karakteristik lain dari bitmap yang juga penting adalah jumlah warna yang dapat disimpan dalam bitmap tersebut. Ini ditentukan oleh banyaknya bit yang digunakan untuk menyimpan setiap titik dari bitmap yang menggunakan satuan bpp (bit per pixel). Dalam Windows dikenal bitmap dengan 1, 4, 8, 16, dan 24 bit per pixel. Jumlah warna maksimum yang dapat disimpan dalam suatu bitmap adalah sebanyak 2n, dimana n adalah banyaknya bit yang digunakan untuk menyimpan satu titik dari bitmap.
Berikut ini tabel yang menunjukkan hubungan antara banyaknya bit per pixel dengan jumlah warna maksimum yang dapat disimpan dalam bitmap, dapat dilihat pada Tabel 2.1.
Universitas Sumatera Utara
Tabel 2.1 Hubungan Antara Bit Per Pixel dengan Jumlah Warna Maksimum Pada Bitmap No
Jumlah bit per pixel
Jumlah warna maksimum
1
1
2
2
4
16
3
8
256
4
16
65536
5
24
16777216
2.2.2 Format JPEG
JPEG adalah suatu desain untuk mengkompresi citra baik gray-level maupun citra full-color. JPEG tidak hanya menangani data dalam bentuk citra, tetapi juga dapat berhubungan dengan gambar yang disebut dengan motion picture (MPEG). JPEG merupakan singkatan dari Joint Photographic Experts Group, merupakan suatu komite yang menyusun standar citra pada akhir tahun 80-an dan awal tahun 90-an. Kata “Joint” pada JPEG melambangkan status data di dalam kerja sama panitia ISO dan ITU_T. Format yang dihasilkan merupakan standar ISO IS-10918. Format file ini dikembangkan oleh C-Cube Microsystems untuk memberikan sebuah metode yang efisien untuk menyimpan citra dengan jumlah warna yang sangat banyak seperti foto kamera. Perbedaan utama antara format JPEG dengan format citra yang lainnya adalah bahwa file JPEG menggunakan metode lossy untuk proses pemampatannya. Pemampatan secara lossy akan membuang sebagian data citra untuk memberikan hasil kompresi yang baik. Hasil file JPEG yang di-dekompres tidak begitu sesuai dengan citra aslinya, tetapi perbedaan ini sangat sulit dideteksi oleh mata manusia.
2.3 Mode Warna
Menampilkan sebuah citra pada layar monitor diperlukan lebih dari sekedar informasi tentang letak dari pixel-pixel pembentuk citra. Untuk memperoleh gambar yang tepat dibutuhkan juga informasi tentang warna yang dipakai untuk menggambarkan sebuah citra digital. Beberapa mode warna yang sering digunakan adalah:
Universitas Sumatera Utara
1. Bitmap mode memerlukan 1 bit data untuk menampilkan warna dan warna yang dapat ditampilkan hanya warna hitam dan putih (monokrom) 2. Indexed Color Mode, mengurutkan warna dalam jangkauan 0-255 (8 bit) 3. Grayscale Mode, menampilkan citra dalam 256 tingkat keabuan. 4. RGB Mode, menampilkan citra dalam kombinasi 3 warna dasar (Red, Green, Blue) tiap warna dasar memiliki intensitas warna 0-255 (8 bit) 5. CMYK Mode, menampilkan citra dalam kombinasi 4 warna
dasar (cyan,
magenta, yellow, black) tiap warna dasar memiliki intensitas warna 0-255 (8 bit).
Mode warna RGB menghasilkan warna menggunakan kombinasi dari tiga warna primer merah, hijau, biru. RGB adalah model warna penambahan, yang berarti bahwa warna primer dikombinasikan pada jumlah tertentu untuk menghasilkan warna yang diinginkan. RGB dimulai dengan warna hitam (ketiadaan semua warna) dan menambahkan merah, hijau, biru terang untuk membuat putih. Kuning diproduksi dengan mencampurkan merah, hijau; warna cyan dengan mencampurkan hijau dan biru; warna magenta dari kombinasi merah dan biru. Monitor komputer dan televisi memakai RGB. Sorotan electron menghasilkan sinyal merah, hijau, biru yang dikombinasikan untuk menghasilkan berbagai warna yang dilihat pada layar (Munir, 2002). Kombinasi warna RGB dapat dilihat pada Gambar 2.2.
Gambar 2.2 Kombinasi Warna RGB
Warna campuran (selain dari putih) dihasilkan dengan menambahkan warna komponen RGB individual dengan berbagai tingkat saturasi, dengan tingkatan mulai dari 0.0 hingga 1.0 (0 berarti tidak menggunakan warna tersebut; 1 berarti menggunakan warna tersebut pada saturasi penuh).
Universitas Sumatera Utara
Warna didefenisikan dengan memasukkan intensitas untuk setiap komponen dalam matriks. Tiap komponen memiliki matriksnya sendiri-sendiri dan matriks tersebut bisa dijumlahkan. Sebagai contoh, untuk menghasilkan merah saturasi sempurna, masukan (1,0,0) : 100% merah 0% hijau dan 0% biru. Pada saat ketiga komponen warna tersebut dikombinasikan dalam 100% saturasi (1,1,1) hasilnya adalah putih (seperti diperlihatkan berikut):
Hijau (0,1,0) + Biru (0,0,1) = Cyan (0,1,1) Cyan (0,1,1) + Merah (1,0,0) = Putih (1,1,1)
Warna yang berlawanan satu sama lain dengan model warna RGB disebut warna pelengkap. Jika dicampurkan, warna pelengkap selalu menghasilkan putih. Contoh warna pelengkap adalah Cyan dan Merah, Hijau dan Biru, Magenta dan Hijau. CMYK mengacu ke sistem warna yang terbuat dari cyan, magenta, kuning dan hitam. Cyan, magenta dan kuning adalah tiga warna primer pada model warna ini dan merah, hijau, biru adalah model tiga warna sekunder. CMYK memainkan peranan penting pada grafik komputer umum, terutama pada desktop publishing. Hasil percetakan atau gambar lainnya pada kertas menggunakan CMYK yang merupakan model warna pengurangan yaitu pigmen warna menyerap atau menyaring warna putih dan cahaya yang dipantulkan menentukan warna dari gambar.
Sayangnya jika tinta cyan, magenta dan kuning secara seimbang pada kertas, hasilnya coklat gelap. Oleh karena itu hitam ditimpahkan ke area yang gelap untuk memberikan penampilan yang lebih baik (hitam adalah K pada CMYK). Konversi ini menggunakan hitam untuk mengompensasi mendapatkan kelakuan nyata dari warna, membuatnya menjadi sangat rumit.
Formula sederhana berikut menterjemahkan model RGB ke model CMY: C=1–R M=1–G Y=1–B
Universitas Sumatera Utara
Formula tersebut hanya merupakan titik awal. Bagaimanapun pada prakteknya kalibrasi intensif dari piranti dibutuhkan karena pigmen warna khas umumnya tidak bekerja seperti yang diperkirakan dari perhitungan.
2.4 Karakteristik File Citra
Karakteristik file citra ditentukan oleh resolusi (resolution) dan kedalaman bit (bit depth). Karakteristik-karakteristik ini akan menentukan tawar-menawar antara kualitas file citra dan jumlah bit yang dibutuhkan untuk menyimpan atau mentransmisikannya.
2.4.1 Image Resolution
Image resolution adalah jumlah pixel per inci (kepadatan pixel per inci) yang dinyatakan dengan pixel x pixel. Semakin tinggi resolusi citra, maka semakin baik kualitas citra tersebut, dalam arti bahwa dalam ukuran fisik yang sama, citra dengan resolusi tinggi akan lebih detil serta jika citra diperbesar maka detil citra masih jelas. Namun, resolusi yang tinggi akan mengakibatkan jumlah bit yang diperlukan untuk menyimpan atau mentransmisikannya meningkat.
2.4.2 Bit Depth
Bit depth merupakan jumlah bit yang digunakan untuk merepresentasikan tiap pixel. Bit depth adalah jumlah bit untuk tiap pixel. Semakin banyak jumlah bit yang digunakan untuk merepresentasikan sebuah pixel, yang berarti semakin tinggi kedalaman pixel-nya, maka semakin tinggi pula kualitasnya, dengan resiko jumlah bit yang diperlukan menjadi lebih tinggi. Dengan 1 byte (8 bit) untuk tiap pixel, diperoleh 28 atau 256 level intensitas. Dengan level intensitas sebanyak itu, umumnya mata manusia sudah dapat dipuaskan. Kedalaman pixel paling rendah terdapat pada binary-value image yang hanya menggunakan 1 bit untuk tiap pixel, sehingga hanya ada dua kemungkinan bagi tiap pixel, yaitu 0 (hitam) atau 1 (putih).
Universitas Sumatera Utara
Color resolution merupakan jumlah warna yang dapat ditampilkan pada sebuah citra. Sedangkan color depth adalah jumlah maksimum warna pada citra berdasarkan bit depth dari citra dan layar monitor komputer. Tabel 2.2 berikut menunjukkan hubungan antara bit depth dan color resolution.
Tabel 2.2 Hubungan Antara Kedalaman Warna Dan Resolusi Warna Kedalaman Warna
Resolusi Warna
Kalkulasi
1 bit
2 warna
21 (2)
2 bit
4 warna
22 (2x2)
3 bit
8 warna
23 (2x2x2)
4 bit
16 warna
24 (2x2x2x2)
5 bit
32 warna
25 (2x2x2x2x2)
6 bit
64 warna
26 (2x2x2x2x2x2)
7 bit
128 warna
27 (2x2x2x2x2x2x2)
8 bit
256 warna
28 (2x2x2x2x2x2x2x2)
16 bit
65.536 warna
216
24 bit
16.777.216 warna
224
32 bit
4.294.967.296 warna
232
Color depth yang secara umum dipergunakan diantaranya adalah: a. Citra 1 bit
Informasi warna yang paling sedikit untuk setiap pixel. Informasi warna hanya sebanyak dua (monokrom atau hitam dan putih). Pixel dengan nilai 0 sebagai warna hitam. Pixel dengan nilai 1 sebagai warna putih. Selain warna hitam dan putih, dapat juga diartikan sebagai dua warna yang berbeda, dimana 0 sebagai warna x dan 1 sebagai warna y.
Universitas Sumatera Utara
b. Citra 8 bit
Tiap pixel menggunakan 1 byte menyimpan informasi warna (gray scale image) sehingga jumlah informasi warna ada sebanyak 256. Gambar 2.3 berikut menunjukkan color depth 8 bit.
Gambar 2.3 8 Bit Grayscale
Tabel 2.3 dibawah menunjukkan skala keabuan yang dapat dipilih untuk setiap pixel untuk citra dengan bit depth 8 bit.
Tabel 2.3 Warna Skala Abu-abu Untuk Citra Dengan Bit Depth 8 bit Index
R–G–B
0
0–0–0
1
1–1–1
2
2–2–2
3
3–3–3
...
...
252
252 – 252 - 252
253
253 – 253 - 253
254
254 – 254 - 254
255
255 – 255 - 255
c. Citra 16 bit RGB Citra 16 bit RGB adalah citra dengan setiap komponen warna hanya terdapat 5 bit dan 1 bit untuk alpha channel.
d. Citra 24 bit RGB Citra 24 bit RGB adalah citra dengan 8 bit dialokasikan untuk setiap warna merah, hijau dan biru atau warna dasar RGB. Setiap komponen warna yang bernilai 0 tidak memberi kontribusi warna kepada pixel. Setiap komponen warna yang bernilai 255
Universitas Sumatera Utara
menunjukkan kontribusi warna yang paling banyak kepada pixel. Setiap komponen memiliki perbedaan warna sebanyak 256, maka total warna yang dapat dihasilkan sebanyak 16.777.216.
e. Citra 32 Bit RGB Citra 32 Bit RGB sama dengan 24 bit RGB tetapi ditambah dengan 8 bit sebagai Alpha Channel. Channel ini dapat digunakan untuk menampilkan efek transparansi.
f. Citra 4 Bit Indexed Colour Warna yang di-indeks lebih ekonomis dalam hal menyimpan warna bitmap tanpa harus menggunakan 3 byte per pixel. Setiap pixel hanya menggunakan setengah dari satu byte (4 bit) di mana nilai tersebut bukan nilai dari warna tetapi nilai indeks pada tabel indeks warna yang disebut tabel warna. Gambar 2.4 berikut menunjukkan color depth 4 bit indexed. Index
Red
Green
Blue
0-255
0-255
0-255
1 2 3 4 14 15
Gambar 2.4 Citra 4 Bit Indexed
g. Citra 8 Bit Indexed Colour
Citra 8 bitindexed Color adalah setiap pixel diasosiasi dengan 1 byte yang menunjukkan nilai indeks pada tabel warna. Jadi tabel warna ada sebanyak 256 warna. Gambar 2.5 berikut menunjukkan color depth 8 bit indexed.
Universitas Sumatera Utara
Index
Red
Green
Blue
0 1 2
0-255
0-255
0-255
3 4
254 255 Gambar 2.5 Citra 8 Bit Indexed
Hal yang perlu menjadi perhatian dalam menampilkan sebuah citra adalah berapapun bit depth suatu citra, warna yang dapat ditampilkan pada layar monitor hanya sejumlah yang dapat didukung oleh monitor (merupakan keterbatasan monitor). Apabila layar monitor hanya sanggup menampilkan warna sebanyak 256 warna, maka citra dengan kualitas 24 bit hanya dapat ditampilkan dalam kualitas 256 warna saja.
2.5 Pengenalan Pola
Pengenalan pola (pattern recognition) merupakan konsep yang sangat luas aplikasinya dalam banyak bidang antara lain: biomedical (EEG, ECG, Röntgen, Nuclear, Tomography, Tissue, Cells, Chromosomes, meteorolgy (remote sensing), industrial inspection (robotic vision) dan digital microscopy. Beberapa aplikasi dalam bidang komputer dan informatika diantaranya: speech recognition, speaker identification, character recognition, signature verification, image segmentation dan artifcial intelligence. Belanche and Nebot (2002) menggambarkan pengenalan pola secara garis besar sebagai serangkaian kegiatan yang mencakup kegiatan pengukuran dunia nyata dengan alat ukur yang menggambarkan fenomena yang akan diukur diikuti serangkaian kegiatan preprosesor, ekstrak feature, klasifikasi atau diskripsi pola. Kegiatan yang fital dalam pengenalan pola adalah kegiatan klasifikasi dari ruang feature yang diperoleh dari kegiatan seleksi dan ekstrak feature. Metode yang lebih baik dari metode clustering secara tegas adalah aplikasi teori fuzzy dalam proses
Universitas Sumatera Utara
cluster (fuzzy clustering). Hamzah (2001) menunjukkan bahwa proses fuzzy clustering memberikan hasil yang lebih baik dan lebih alami dibandingkan dengan proses cluster dengan pendekatan tegas. Pada fuzzy clustering berbasis fungsi tujuan persoalan mencari cluster terbaik akan identik dengan persoalan optimasi fungsi tujuan. Penggunaan algoritma genetika untuk fuzzy clustering dimungkinkan dapat meningkatkan unjuk kerja fuzzy clustering. Penerapan GFS pada fuzzy clustering terutama Fuzzy-C-Means Clustering (FCM) adalah untuk mengoptimasi parameterparameter dalam FCM.
2.6 Klasifikasi dan Segmentasi Citra
Segmentasi citra adalah membagi suatu citra menjadi wilayah-wilayah yang homogen berdasarkan kriteria keserupaan yang tertentu antara tingkat keabuan suatu piksel dengan tingkat keabuan piksel-piksel tetangganya. Proses segmentasi memiliki tujuan yang hampir sama dengan proses klasifikasi tidak terpandu. Segmentasi sering dideskripsikan sebagai proses analogi terhadap proses pemisahan latar depan dengan latar belakang. Contoh untuk proses segmentasi citra yang digunakan adalah clusterisasi (clustering).
2.6.1 Segmentasi Citra berdasarkan Pemberian Nama Komponen
Suatu metode pengujian konektivitas piksel dengan tetangganya dan pemberian nama dari piksel-piksel yang telah dihubungkan. Salah satu algoritma yang digunakan adalah pemberian nama piksel (pixel labelling).
2.6.2 Segmentasi Citra berdasarkan Pendekatan Wilayah dan Klusterisasi
Ide utama dalam teknik segmentasi berdasar wilayah adalah mengidentifikasi beberapa wilayah dalam suatu citra yang memiliki kesamaan corak. Teknik clusterisasi yang ditemui dalam literatur pengenalan pola memiliki kesamaan objek dan dapat diterapkan untuk segmentasi citra. Citra dibagi dalam wilayah-wilayah kecil yang nilai aras keabuannya seragam. Untuk segmentasi citra berdasarkan clusterisasi akan dibahas lebih rinci pada bagian selanjutnya.
Universitas Sumatera Utara
2.7 Teknik Pemetaan Warna (Color Mapping)
Teknik pemetaan warna merupakan bagian salah satu teknik segmentasi citra menggunakan metode clusterisasi. Hal ini disebabkan dalam memetakan warna dari citra masukan akan dikelompokan sesuai dengan kesamaan-kesamaan warna yang dimiliki. Sehingga tahap-tahap yang akan digunakan mempunyai kesamaan dengan metode clusterisasi.
2.7.1 Clustering
Cluster adalah kesatuan nilai-nilai dalam jarak tertentu pada kepadatan suatu daerah (relatif besar) dibandingkan dengan kepadatan nilai-nilai daerah sekitarnya. Teknik klusterisasi bermanfaat untuk segmentasi citra dan klasifikasi data yang belum diolah untuk menciptakan kelas-kelas. Warna diwakili dalam vektor 3 dimensi dari nilai titiknya. Masing-masing komponen warna dihadirkan dalam warna merah, hijau dan biru (RGB). Perlu dicatat bahwa penggunaan penyajian ini, jika dua garis vektor adalah saling berdekatan, warna akan ditampilkan serupa, rata-rata dari dua garis vektor, jika warna yang akan ditampilkan sangat berbeda, maka akan diambil jalan tengah dengan menghadirkan suatu warna secara kasar dari warna aslinya. Acuan ini juga ketika rata-rata berbagai garis vektor RGB. Adapun cara-cara lain yang tidak membatasi untuk menghadirkan suatu warna dengan garis vektor 3 dimensi. Berikut untuk detilnya dari penjelasan di atas, bagaimana pilihan penampilan warna mempengaruhi hasil proses clustering:
1. Langkah yang pertama adalah menetapkan data set dari algoritma yang akan digunakan (KMeans), yaitu dengan melakukan pengambilan nilai acak dari k. 2. Kemudian, penampilan RGB dari tiap pixel diciptakan, dan menghasilkan dataset dalam 3- vektor. 3. Algoritma K-Means diterapkan pada dataset, menetapkan klusterisasi pusat k. Algoritma K-Means akan menghadirkan k warna untuk menggambarkan citra tersebut. 4. Tiap-Tiap piksel citra dikonversi dalam suatu garis vektor RGB, dan ditampilkan menggunakan rata-rata dari kelompok warna yang dihasilkan.
Universitas Sumatera Utara
Ada dua algoritma utama dalam klusterisasi, yaitu algoritma kluster hirarki (Hierarchical Clustering) dan algoritma K-Means. Algoritma K-Means adalah suatu algoritma pengelompokan objek berdasar pada atribut ke dalam pembagi k. Ini merupakan suatu varian algoritma maksimalisasi kemungkinan, dimana tujuanya adalah untuk menentukan k. Diasumsikan bahwa format atribut objek itu adalah suatu garis vektor ruang. Tujuanya adalah untuk memperkecil total perbedaan intra-cluster, atau fungsi: ……………………………………. (2.1) di mana ada k cluster i S , i= 1,2,...,k dan i adalah pusat luasan atau titik dari semua poin-poin.
Algoritma ini dimulai dengan penyekatan masukan menunjuk ke dalam tetapan k secara acak. Kemudian mengkalkulasi rata-rata titik, atau pusat luasan dari tiap set. Hal ini mengakibatkan suatu sekat baru dengan menghubungkan masing-masing dengan pusat luasan yang terdekat. Kemudian pusat luasan dihitung kembali untuk cluster yang baru, dan algoritma yang diulangi dua langkah sampai pemusatan, yang mana diperoleh ketika poin-poin tidak lagi berpindah cluster (atau sebagai alternatif pusat luasan adalah tidak lagi diubah).
Walaupun algoritma harus selalu memusat, tidak ada batas pada banyaknya iterasi yang berulangulang sesuai yang diperlukan. Suatu implementasi boleh dipilih untuk menghentikan algoritma itu setelah suatu jumlah iterasi tertentu. Pemusatan tidaklah menjamin untuk menghasilkan suatu hasil yang maksimal secara menyeluruh. Kelemahan dari algoritma K-Means adalah bahwa harus ditetapkan banyaknya cluster-cluster (k). Jika data tidaklah secara alami dikelompokkan, akan didapatkan suatu hasil yang aneh. Begitu juga algoritma akan bekerja baik jika cluster telah berbentuk sekumpulan data yang tersedia sejak awal. Berikut proses algoritma KMeans: a. Data yang ada dipisahkan dalam kelompokkelompok data (cluster) k dan nilainilai data diacak ke dalam hasil-hasil kelompok data dalam kelompok data yang memiliki kesamaan jumlah dari nilai data. b. Tiap nilai data dihitung menggunakan jarak Euclidean untuk tiap cluster.
Universitas Sumatera Utara
c. Jika nilai data diwakili kelompok data tersendiri, biarkan, dan jika nilai data tak terwakili oleh kelompok data, pindah ke dalam kelompok data yang telah terwakili. d. Ulangi langkah di atas sampai lengkap meliputi seluruh hasil nilai data dalam perpindahan satu cluster ke cluster lainnya.
2.7.2 Jarak Eklidean (Euclidean distance)
Secara umum jarak eklidean adalah jarak antara dua titik yang akan diukur pada satu, dua atau tiga dimensi. Berikut adalah posisi dari dua titik pada 3 dimensi; P = ( px , py , pz ) , Q = (qx , qy , qz ), px = nilai data pada sumbu x py = nilai data pada sumbu y pz = nilai data pada sumbu z Qx = Pusat data pada sumbu x Qy = Pusat data pada sumbu y Qz = Pusat data pada sumbu z sehingga jaraknya (r): r=
…………………………………. (2.2)
dengan P adalah nilai data dan Q adalah pusat dari kelompok data. Jika diterapkan dalam segmentasi citra menggunakan pemetaaan warna dapat dijabarkan sebagai berikut:
Gambar 2.6 Pemetaan Warna RGB d < dθ dengan d adalah jarak Euclidean Suatu contoh adalah ketika mencari jarak yang minimum antara dua titik di permukaan ruang 3 dimensi. Satu cara untuk memulainya dengan membuat suatu titik koordinat di atas permukaan masing-masing, dan bandingkan jarak dari tiap-tiap titik
Universitas Sumatera Utara
koordinat pada permukaan yang pertama dengan tiap-tiap titik koordinat pada permukaan yang kedua. Penggolongan jarak yang minimum digunakan untuk menggolongkan data citra yang tak dikenal ke dalam kelompok-kelompok yang memperkecil jarak antara data citra dan kelompok di dalam jarak yang bervariasi.
2.8 Fuzzy Clustering
Fuzzy Clustering adalah perluasan dari teknik analisis cluster, di mana setiap obyek dapat masuk ke dalam beberapa kelompok atau cluster tergantung pada tingkat atau derajat keanggotaannya. Jadi pada Fuzzy clustering diperbolehkan adanya overlap. Konsep dasar Fuzzy Clustering yang biasa dipergunakan yakni Fuzzy C-Means (FCM), pertama kali adalah menentukan pusat cluster, yang akan menandai lokasi rata-rata untuk tiap – tiap cluster. Pada kondisi awal, pusat cluster ini masih belum akurat. Tiap–tiap titik data memiliki derajat keanggotaan untuk tiap-tiap cluster. Dengan cara memperbaiki pusat cluster dan derajat keanggotaan tiap-tiap titik data secara berulang, maka akan dapat dilihat bahwa pusat cluster akan bergerak menuju lokasi yang tepat. Perulangan ini didasarkan pada peminimalan fungsi obyektif yang menggambarkan jarak titik data ke pusat cluster yang terbobot oleh derajat keanggotaan titik data tersebut.
Namun fuzzy clustering seperti yang diterangkan di atas (FCM), tidak dapat diaplikasikan ketika data yang diberikan berupa suatu set data kategori multivarian di mana biasanya data ini ditampilkan dalam bentuk tabel kontingensi atau matriks kontingensi. Sehingga dibutuhkan suatu teknik fuzzy clustering berbeda yang mampu memecahkan masalah clustering ketika data yang diberikan berupa suatu set data kategori multivarian. Hasil dari metode fuzzy clustering lain yang mampu mengelompokkan suatu set data kategori multivarian ini mirip dengan hasil ketika kita menggunakan teknik analisis korespondensi. Salah satunya adalah metode fuzzy clustering untuk data kategori multivarian yang diperkenalkan oleh Oh, Honda dan Ichihashi (Bezdek, 1981). Fuzzy C Means adalah sebuah metode clustering yang mengijinkan satu data menjadi milik dua atau lebih cluster. Metode ini sering digunakan dalam pengenalan pola (pattern recoqnition). Metode Fuzzy C-Means adalah salah satu metode
Universitas Sumatera Utara
clustering yang mengalokasikan kembali data ke dalam masing-masing cluster dengan memanfaatkan teori Fuzzy. Dalam metode Fuzzy C Means dipergunakan variabel membership function, yang merujuk pada seberapa besar kemungkinan suatu data bisa menjadi anggota ke dalam suatu cluster (Bezdek,1981).
Pada pendekatan tegas (crisp), untuk setiap objek ke-k (k=1...n) secara tegas hanya dapat menjadi anggota cluster ke-I (i=1..c), dengan keputusan menjadi anggota cluster ke-i berdasarkan jarak minimal objek ke-k dengan pusat-pusat cluster ke-i. Algoritma pendekatan tegas dengan jumlah cluster k clustering dan pusat cluster ditentukan dengan cara rata–rata, ini sering disebut sebagai K-Means. Pada pendekatan fuzzy metode clustering berdasarkan kenyataan bahwa objek-objek tertentu mungkin secara tegas tidak dapat dikelompokkan pada cluster tertentu. Dengan pendekatan fuzzy setiap objek ke-k (k=1,2,..,n) dianggap menjadi anggota dari semua cluster ke-i (i=1,2,..,c) dengan fungsi keanggotaan antara 0 sampai 1. Keputusan objek ke-i menjadi anggota cluster ke-j berdasarkan fungsi keanggotaan yang terbesar. Model clustering seperti ini terkenal dengan sebutan Fuzzy-C-Means Clustering (FCM).
Banyak macam fungsi objektif telah dirumuskan, baik yang pendekatan tegas (crisp) maupun pendekatan fuzzy (Sato and Sato, 1995). Untuk menghasilkan formulasi yang presisi dalam menentukan kriteria clustering dapat ditempuh dengan metode fungsi objektif (objective-function methods), yaitu dengan mengukur kemampuan untuk dilibatkan dalam cluster sebagai fungsi dari c (yaitu cacah cluster) dengan suatu fungsi objektif tertentu (Zimmerman, 1991). Fuzzy clustering FCM dengan fungsi tujuan menggunakan jarak euclidean mengasumsikan bentuk fungsi tujuan spherical. Untuk data tertentu kondisi spherical mungkin tidak terpenuhi. Pemilihan fungsi tujuan dan kriteria jarak sangat tergantung pada sebaran data objek. Untuk fungsi tujuan spherical dimana FCM dengan jarak eucledian didefinisikan, kriteria cluster yang baik selanjutnya adalah cluster yang meminimalkan fungsi tujuan Jm yang dirumuskan sebagai fungsi dari U dan V sebagai berikut: ……………..…….. (2.3)
Universitas Sumatera Utara
untuk: i=1,2,…,c dan k=1,2,…,n. Matrik U μ Mcn adalah matrik partisi dengan ordo cxn dengan elemen matriks μik. Untuk clustering secara tegas μik Є {0,1}, yaitu bernilai 1 jika objek k anggota cluster i dan 0 jika tidak. Untuk clustering secara fuzzy μik Є [0,1] yang bernilai real. Nilai parameter m merupakan derajat ke-fuzzi-an dari proses clustering dengan nilai mЄ [1,∞]. V=[v1, v2,.., vc] adalah matriks parameter prototipe (pusat cluster) viЄℜp. Dik2(vi , xk ) adalah jarak dari vektor xk ke pusat cluster vi.
2.8.1 Algoritma Fuzzy Clustering
Algoritma Fuzzy Clustering konvensional yaitu penyelesaian fuzzy clustering dengan cara iteratif dengan melakukan update pada matriks keanggotan U dan matriks prototipe cluster V. Dalam algoritma diperlukan sampel objek sebanyak n, tiap objek p parameter, dituliskan: X={x1,x2,…,xn} xi ЄRp, i=1,2,…,n. Ditentukan dalam proses penyelesaian melalui iterasi: U=[μik] matriks ukuran cxn i=1,2,…,c k=1,2,…,n V={v1,v2,…,vc} i=1,2,…,c Langkah algoritma: 1. Initialization step: Tentukan: n = cacah objek yang akan di-cluster P = cacah parameter dalam tiap objek C = cacah cluster t = 0 (iterasi ke) m = derajat fuzziness, dipilih 2 e = nilai yang cukup kecil mendekati 0 Tentukan secara acak : U(0) dan V(0)
2. Iteration step: a). Dengan menggunakan U(t), hitung pusat cluster V(t) menurut rumus:
Universitas Sumatera Utara
………………… (2.4)
untuk i =1,2,..., c. b). Dengan menggunakan V(t) , update membership U(t) , dengan rumus:
…………………. (2.5)
untuk i = 1,2,..., c; k 1,2,..., n
c). Jika max
……………………….. (2.6)
berhenti, Jika tidak ulangi langkah 2.a).
Metode Fuzzy K-Means (atau lebih sering disebut sebagai Fuzzy C-Means) mengalokasikan kembali data ke dalam masing-masing cluster dengan melakukan proses clustering dengan mengikuti algoritma sebagai berikut: a. Tentukan jumlah cluster. b. Alokasikan data sesuai dengan jumlah cluster yang ditentukan. c. Hitung nilai centroid dari masing-masing cluster. d. Hitung nilai membership function masing-masing data ke masing-masing cluster. e. Kembali ke Step c apabila perubahan nilai membership function masih di atas nilai threshold yang ditentukan, atau apabila perubahan pada nilai centroid masih di atas nilai threshold yang ditentukan, atau apabila perubahan pada nilai objective function masih di atas nilai threshold yang ditentukan. Untuk menghitung centroid cluster ke-i, vi , digunakan rumus sebagai berikut:
………………………..… (2.7)
Universitas Sumatera Utara
dimana: N : Jumlah data m : Weighting exponent
uik
: Membership function data ke-k ke cluster ke-i
Sedangkan untuk menghitung membership function data ke-k ke cluster ke-i digunakan rumus pada persamaan:
…………………………… (2.8)
dimana:
uik
: Membership function data ke-k ke cluster ke-i
D
: Distance Space
vi
: Nilai centroid cluster ke-i
m
: weighting exponent
Distance Space (euclidean distance) adalah jarak antara data dengan centroid dihitung dengan rumus: ………….. (2.9)
2.9
Visual Basic.6.0
Visual Basic merupakan bahasa pemrograman komputer yang bekerja dalam ruang lingkup Microsoft Windows. Bahasa pemrograman adalah perintah-perintah atau instruksi yang dimengerti oleh komputer didalam melakukan tugas-tugas tertentu. Membuat program dengan visual basic 6.0 tidak perlu menulis kode program yang panjang-panjang, karena Visual Basic banyak menyediakan fasilitas aktif (tools) dalam membantu dalam pembuatan objek-objek yang dibutuhkan yang disebut dengan Integrated Development Integration (IDE).
Universitas Sumatera Utara
2.9.1 Integrated Development Integration (IDE)
Integrated Development Integration adalah bidang kerja, tempat bekerja untuk menghasilkan program aplikasi. Setelah berhasil membuka Visual Basic pada layar, maka pemakai akan berhadapan dengan lingkungan IDE, seperti pada Gambar 2.7 yang berisi beberapa komponen-komponen antara lain:
1. Main Menu Baris menu terletak pada baris atas pada IDE. Menu ini merupakan kumpulan perintah-perintah yang dikelompokkan dalam kriteria operasi yang dihasilkan. 2. Tool Bar Tool bar terdiri atas beberapa tombol untuk mengendalikan tampilan, seperti mengatur pemunculan jendela Properties, Project dan Form Layout 3. Form Form adalah pusat dari pengembangan aplikasi Visual Basic, atau sebagai tempat dimana objek atau komponen akan diletakkan, seperti tombol label, command Button image, picture dan lainnya. Form dapat diumpamakan sebagai panel yang berisi sekumpulan tombol-tombol yang dapat diberi perintah atau kode. 4. Window Code Window code adalah jendela yang mengandung kode-kode program yang merupakan instruksi untuk aplikasi visual basic, pada window code terdapat dua fasilitas utama yaitu pemilihan object dan prosedur tempat penulisan kode program yang berada diantara Kode Private dan End Sub. 5. Tool Box Tool Box adalah penyimpanan kontrol digunakan pada program yang dipasangkan pada form seperti Label. Setiap kontrol di tambakan ke form dan menjadi object yang dapat dibuat kode program. 6. Project Explorer Project Explorer adalah jendela yang mengandung semua file yang terdapat pada aplikasi Visual Basic, yang digunakan pada proses pemrograman dan menyediakan akses ke File tersebut. Pada Project Explorer tersebut ditampilkan semua file yang terdapat pada project yang sedang aktif atau terbuka.
Universitas Sumatera Utara
7. Property Windows Property Window adalah jendela yang semua mengandung semua informasi mengenai objek yang terdapat pada aplikasi program. Property adalah sifat dari sebuah object misalnya namanya, warna, ukuran, posisi, atau sebagainya. 8. Form Layout Form Layout adalah Jendela yang menggambarkan posisisi dari Form yang ditampilkan pada layar monitor. 9. Immediate Window, Immediate Window berguna untuk mencoba beberapa instruksi pada program window ini. Pada saat menguji program, window ini biasa digunakan sebagai window debug.
Menu Bar
Tool Bar
Jendela Project
Object Form Tool Box Jendela Properti
Jendela Form Lay Out
Gambar 2.7 Menu Utama Visual Basic 6.0 Tampilan Visual Basic merupakan suatu lingkungan yang besar yang terdiri dari beberapa bagian, yang mana bagian ini memiliki sifat yaitu : 1. Floating, dapat digeser ke posisisi mana saja, untuk menggeser elemen ke layar Visual Basic, dilakukan dengan cara mengklik dan menahan tombol mause pada judul (title bar) element tersebut, lalu menggeser ke posisi yang diinginkan.
2. Sizeable, dapat diubah-ubah ukurannya seperti halnya mengubah ukuran jendela pada Windows. Untuk mengubah ukuran elemen atau jendela dilakukan dengan mengklik dan menahan tombol mouse pada sisi (border) jendela tersebut. Lalu mengubah ukurannya sesuai dengan yang diinginkan.
Universitas Sumatera Utara
3. Dockable, dapat menempel pada bagian lain yang berdekatan. Untuk menempelkan layar Visual Basic ke elemen lainnya, cukup menempelkan sisi elemen tersebut ke sisi yang diinginkan.
2.9.2 Variabel dan Tipe Data Variable adalah tempat didalam komputer yang diberi nama sebagai pengenal dan dideklarasikan untuk menampung data informasi dan sesuai dengan data yang ditampung maka variabel yang mempunyai tipe data yang sesuai dengan isinya. Dalam Visual Basic 6.0 tipe data digolongkan dalam tujuh kategori yaitu Numeric, String, Boolean, Data Objek, Byte dan Variant. Tipe data Numeric dibedakan atas 5 jenis yaitu Integer, Long, Single, Double, Currency, masing-masing tipe data memiliki batas tersendiri dapat dilihat pada Tabel 2.4.
Universitas Sumatera Utara
Tabel 2.4 Jangkauan Nilai Tipe Data Tipe Integer
Jangkauan 32,768 s/d 32.767
Ukuran 2 byte
Long
-2,147,483,648 s/d 2,147,648,
4 byte
Single
(Negatif) –3.4038230e38 s/d –1.401298e45 (Positif) 1.4012980e38 s/d 3.403823e38 (Negatif) -1.797669313486232e308 s/d -4.94065645841247e324 (Positif) 4.94065645841247e324 s/d 1.79769313486232e308 922,337,203,685,477,5808 s/d 922,337,203,685,477,5807 0 s/d 2e32 karakteer
Double
Currency
String
Boolean Date Object
Byte Variant
4 byte
8 byte
8 byte
Keterangan Untuk mendeklarasikan bilangan bulat Sama dengan integer tetapi jangkauannya lebih besar. Menyimpan suatu nilai floating point single precision. Sama halnya dengan single tetapi memiliki ketelitian yang lebih tinggi.
Menyimpan suatu nilai skalar
1 Bersama untuk byte/karakter menampung sederetan karakter True/False 2 byte Berguna untuk melakukan pengujian 1 Jan 100 s/d 31 Des 1999 8 byte Menyatakan tanggal dan watu (jam, menit, detik) Refrensi objek 4 byte Tipe data yang bisa dipakai untuk menggantikan objekobjek pada visual basic 6.0 0 s/d 255 1 byte Null, Error, Numerik Untuk hal-hal khusus dengan Tipe Doble, 16 byte seperti keadaan darurat Karakter Teks, Obyek atau sewaktu lupa menuliskan Array tipe data atau keadaan yang bersifat sementara.
Universitas Sumatera Utara
2.10 Data Flow Diagram (DFD)
Data flow diagram adalah suatu network yang menggambarkan suatu sistem automat/komputerisasi,
manualisasi
atau
gabungan
dari
keduanya
yang
penggambarannya disusun dalam bentuk kumpulan komponen sistem yang saling berhubungan sesuai dengan aturan mainnya. Simbol-simbol pada Data Flow Diagram dapat dilihat pada Tabel 2.5.
Tabel 2.5 Simbol Data Flow Diagram SIMBOL
FUNGSI Eksternal entity (kesatuan luar atau batas sistem) berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan input atau menerima output dari sistem. Dataflow (arus data) arus data ini mengalir diantara proses, simpanan data dan kesatuan luar. Process (proses) kegiatan arus kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan. Data store merupakan simpanan data yang berupa file database atau tabel manual, agenda atau buku.
Sumber: Jogiyanto, 2005. Tahapan Data Flow Diagram terbagi atas beberapa bagian yaitu: 1. Diagram Konteks Diagram ini dibuat untuk menggambarkan sumber serta tujuan data yang akan di proses atau dengan kata lain diagram tersebut digunakan untuk menggambarkan sistem secara umum/global dari keseluruhan sistem yang ada. 2. Diagram nol Diagram ini dibuat untuk menggambarkan tahapan proses yang ada didalam diagram konteks, yang penjabarannya lebih terperinci. 3. Diagram Detail Diagram ini dibuat untuk menggambarkan arus data secara lebih mendetail lagi dari tahapan proses yang didalam diagram nol.
Universitas Sumatera Utara
2.11 Flowchart
Flowchart adalah bagan alir yang menggambarkan arus data dari program. Fungsi dari bagan alir ini adalah untuk memudahkan programmer di dalam perancangan program aplikasi. Simbol-simbol yang digunakan pada bagan flowchart ini antara lain seperti pada Tabel 2.6.
Tabel 2.6 Simbol-simbol Flowchart Program Simbol
Fungsi Terminator Menunjukkan awal dan akhir suatu proses. Data Digunakan untuk mewakili data input/output. Process Digunakan untuk mewakili proses. Decision Digunakan untuk suatu seleksi kondisi didalam program. Predefined Process Menunjukkan suatu operasi yang rinciannya ditunjukkan di tempat lain. Preparation Digunakan untuk memberi nilai awal variabel. Flow Lines Symbol Menunjukkan arah dari proses. Connector Menunjukkan penghubung ke halaman yang sama. Menunjukkan penghubung ke halaman yang baru.
Sumber: Jogiyanto, 2005.
Universitas Sumatera Utara
BAB 3 ANALISIS DAN PERANCANGAN
3.1 Analisis
Fuzzy clustering bertujuan mengelompokkan n objek yang disajikan dengan vektor kedalam C-cluster berdasarkan kesamaannya dengan pusat cluster yang diukur melalui fungsi jarak. Fungsi tujuan Jm didefinisikan sebagai fungsi V dan U sebagai fungsi keanggotaan Fuzzy dari objek i: 1, 2, . . . .,n menjadi anggota cluster j: 1, 2, . . . . , c yang diminimumkan melalui iterasi. Metode Fuzzy K-Means melakukan proses clustering dengan mengikuti algoritma sebagai berikut: f. Tentukan jumlah cluster. g. Alokasikan data sesuai dengan jumlah cluster yang ditentukan. h. Hitung nilai centroid dari masing-masing cluster. i.
Hitung nilai membership function masing-masing data ke masing-masing cluster.
j.
Kembali ke Step c apabila perubahan nilai membership function masih di atas nilai threshold yang ditentukan, atau apabila perubahan pada nilai centroid masih di atas nilai threshold yang ditentukan, atau apabila perubahan pada nilai objective function masih di atas nilai threshold yang ditentukan.
Untuk menghitung centroid cluster ke-i, i v , digunakan rumus sebagai berikut:
………………………..… (3.1)
dimana: N : Jumlah data m : Weighting exponent
uik
: Membership function data ke-k ke cluster ke-i
Universitas Sumatera Utara
Sedangkan untuk menghitung membership function data ke-k ke cluster ke-i digunakan rumus pada persamaan:
…………………………… (3.2)
dimana:
uik
: Membership function data ke-k ke cluster ke-i
D
: Distance Space
vi
: Nilai centroid cluster ke-i
m
: weighting exponent
Distance Space (euclidean distance) adalah jarak antara data dengan centroid dihitung dengan rumus: ………….. (3.3)
Pada aplikasi ini dilakukan segmentasi citra dengan algoritma
Fuzzy
Clustering sebagai metode dalam melakukan segmentasi terhadap sebuah citra digital membagi proses dalam beberapa kelompok sehingga dapat mengurangi waktu proses yang dibutuhkan dan menghemat penggunaan memori komputer. Citra yang akan dilakukan segmentasi, pertama-tama ditentukan jumlah k yang akan diinginkan. Penentuan nilai parameter k (nilai RGB nya) akan dilakukan secara acak. Nilai RGB (Red Green Blue) dari k akan diacak dari nilai 0 sampai 2. Nilai k acak tersebut adalah bilangan bulat yang terdiri dari bilangan 0, 1 dan 2. Sehingga akan dihasilkan nilai k acak yang berbeda maksimal sebanyak 33 atau 27 kombinasi.
3.1.1 Pembacaan Nilai RGB
Pembacaan warna piksel ini dilakukan untuk mengetahui nilai-nilai RGB piksel pada citra. Sehingga dalam proses pengolahan citra selanjutnya akan dilakukan perhitungan secara matematis terhadap nilai-nilai tersebut. Pada citra bitmap 24-bit, tiap pixel-nya mengandung 24-bit kandungan warna atau 8-bit untuk masing-masing warna dasar (R,
Universitas Sumatera Utara
G, dan B), dengan kisaran nilai kandungan antara 0 (00000000) sampai 255 (11111111) untuk tiap warna.
Misalkan diberikan citra warna dengan dimensi 1024 x 690 piksel yang dihasilkan dari alat perekam digital hasil foto satelit. Tujuan yang hendak dicapai adalah mengelompokkan pola-pola yang sama agar diperoleh bagian-bagian yang mempunyai pola yang sama yang dalam hal ini adalah memisahkan bagian yang merupakan hutan dan perkebunan. Pada gambar di bawah ini terlihat area hutan terdiri pola-pola yang tidak teratur sedangkan perkebunan adalah pola yang teratur.
Pada bagian pola yang teratur berisi nilai piksel dengan komponen warna (RGB) yang hampir sama dengan piksel tetangganya (berdekatan) sedangkan pada bagian pola yang tidak teratur berisi nilai piksel dengan komponen warna yang berbeda jauh dengan piksel tetangganya. Bagian foto satelit yang akan diproses dengan segmentasi dapat dilihat pada Gambar 3.1.
Gambar 3.1 Citra Foto Satelit
Universitas Sumatera Utara
Citra pada Gambar 3.1 di atas dilakukan penghitungan nilai komponen warna RGBnya dengan membagi citra dalam piksel-piksel dapat dilihat seperti pada Gambar 3.2. Untuk mendapatkan nilai RGB sebuah citra-A, dilakukan dengan cara mengekstraksi komponennya. Proses pertama adalah mengambil nilai R, G dan B dari suatu citra bertipe RGB. Pada tipe .bmp citra direpresentasikan dalam 24 bit, sehingga diperlukan proses untuk mengambil masing-masing 3 kelompok 8 bit dari 24 bit tadi. Sebagai contoh suatu piksel memiliki nilai RGB 24 bit sebagai berikut:
Nilai piksel : 111100001111000011111111
.
Gambar 3.2 Citra Foto Satelit 5 x 5 Piksel
Untuk mendapatkan masing-masing nilai R, G dan B dilakukan operasi modulo (sisa bagi) dengan rumus sebagai berikut: Nilai R = c Mod 256
………………………………………….. (3.4)
Nilai G = (c \ 256) Mod 256
………………………………….. (3.5)
Nilai B = (c \ 256 \ 256) Mod 256
………………………….. (3.6)
Dimana c adalah nilai piksel citra Pada Gambar 3.2 di atas, nilai piksel A adalah 111100001111000011111111. Nilai R dihitung dengan persamaan (3.4) yaitu nilai piksel modulo bilangan 256 (10000000) sebagai berikut: Nilai komponen R dengan rumus = nilai piksel A mod 10000000 Nilai R = 111100001111000011111111 mod 10000000 = 00010010 Nilai komponen G dihitung dengan persamaan (3.5): Nilai G = (111100001111000011111111\10000000) mod 100000000 = 00010100 Nilai komponen B dihitung dengan persamaan (3.6): Nilai B= (111100001111000011111111\10000000\10000000) mod 10000000 = 00110100
Universitas Sumatera Utara
Sehingga diperoleh nilai piksel 11110000 11110000 11111111: R=
00010010 = 50
G=
00010100 = 180
B=
00110100 = 52
Untuk mendapatkan nilai RGB piksel selanjutnya dilakukan sama seperti cara di atas dan selanjutnya nilai RGB semua piksel pada citra foto satelit 5 x 5 dimasukkan ke dalam matriks seperti pada Tabel 3.3.
Tabel 3.3 Matriks Nilai RGB Citra Foto Satelit 5 x 5 50,180,52
20,250,45 25,240,101 0,200,20
10,220,12
69,189,34
56,180,52 50,180,56
50,180,52
45,300,34
45,200,67
65,180,52 50,180,67
50,180,52
50,180,52
78,204,45
34,180,52 50,180,45
50,180,52
67,230,34
56,100,123 45,120,35 50,230,123 45,200,200 56,230,100
Citra warna di atas lalu ditransformasikan menjadi citra grayscale dengan menghitung rata-rata warna Red, Green dan Blue. Secara matematis penghitungannya adalah sebagai berikut.
f0 (x,y) =
………………………………………… (3.7)
Sebagai contoh menghitung nilai grayscale piksel (0,0) dengan nilai komponen RGB (50,180,52) menggunakan persamaan (3.7) adalah:
= 94
f1 (0,0) =
Dengan menghitung nilai grayscale pada Tabel 3.3 di atas, maka diperoleh matriks nilai grayscale citra satelit 5 x 5 dimasukkan ke dalam matriks nilai grayscale seperti pada Tabel 3.4. Tabel 3.4 Matriks Nilai Grayscale Citra Foto Satelit 5 x 5 94 97 104 109 93
105 95 99 88 66
122 95 99 91 134
73 94 94 94 148
80 126 94 110 128
Universitas Sumatera Utara
Dari matriks nilai grayscale diatas, maka kemudian diurutkan dari nilai RGB piksel citra yang paling kecil sampai ke nilai terbesarnya, yaitu sebagai berikut: 66, 73, 80, 88, 91, 93, 94, 94, 94, 94, 94, 95, 95, 97, 99, 99, 104, 105, 109, 110, 122, 126, 128, 134, 148 Nilai grayscale matriks citra foto satelit di atas selanjutnya di proses: Pertama-tama bangkitkan 5 bilangan acak (karena matriks citra adalah 5 x 5) antara 66 (nilai RGB terkecil) s/d 148 (nilai RGB terbesar), misalnya diperoleh: Cluster-1 = 83.64 Cluster-2 = 90.50 Cluster-3 = 112.25 Cluster-4 = 102.22 Cluster-5 = 101.28 Dengan menggunakan persamaan (3.3) hitung jarak data dengan centroid dengan meminimalkan jarak melalui iterasi. Lakukan iterasi-1 untuk data pertama: 1. Hitung jarak data pertama ke pusat cluster pertama: D11= D11 =
= 74.18
2. Hitung jarak data pertama ke pusat cluster kedua: D12= D12 =
= 98.25
3. Hitung jarak data pertama ke pusat cluster ketiga: D13=
D13 =
= 146.49
4. Hitung jarak data pertama ke pusat cluster keempat: D14=
D14 =
= 151.38
5. Hitung jarak data pertama ke pusat cluster kelima: D15= D15 =
= 139.79
Untuk data kedua:
Universitas Sumatera Utara
1. Hitung jarak data kedua ke pusat cluster pertama: D21= D21 =
= 82.83
2. Hitung jarak data kedua ke pusat cluster kedua: D22= D22 =
= 108.67
3. Hitung jarak data kedua ke pusat cluster ketiga: D23= D23 =
= 158.07
4. Hitung jarak data kedua ke pusat cluster keempat: D24= D24 =
= 163.34
5. Hitung jarak data kedua ke pusat cluster kelima: D25= D25 =
= 150.97
Untuk data ketiga: 1. Hitung jarak data ketiga ke pusat cluster pertama: D31= D31 =
= 68.49
2. Hitung jarak data ketiga ke pusat cluster kedua: D32= D32 =
= 104.53
3. Hitung jarak data ketiga ke pusat cluster ketiga: D33= D33 =
= 143.31
4. Hitung jarak data ketiga ke pusat cluster keempat: D34= D34 =
= 149.09
5. Hitung jarak data ketiga ke pusat cluster kelima: D35= D35 =
= 137.12
Untuk data keempat:
Universitas Sumatera Utara
1. Hitung jarak data keempat ke pusat cluster pertama: D41= D41 =
= 71.88
2. Hitung jarak data keempat ke pusat cluster kedua: D42= D42 =
= 94.98
3. Hitung jarak data keempat ke pusat cluster ketiga: D43=
D43 =
= 143.31
4. Hitung jarak data keempat ke pusat cluster keempat: D44=
D44 =
= 148.64
5. Hitung jarak data keempat ke pusat cluster kelima: D45= D45 =
= 136.79
Untuk data kelima: 1. Hitung jarak data kelima ke pusat cluster pertama: D51= D51 =
= 127.10
2. Hitung jarak data kelima ke pusat cluster kedua: D52=
D52 =
= 151.68
3. Hitung jarak data kelima ke pusat cluster ketiga: D53=
D53 =
= 199.15
4. Hitung jarak data kelima ke pusat cluster keempat:
Universitas Sumatera Utara
D54=
D44 =
= 204.13
5. Hitung jarak data kelima ke pusat cluster kelima: D55=
D55 =
= 192.72
Hasil perhitungan di atas diperoleh jarak antara data dengan cluster dan dimasukkan ke dalam Tabel 3.1 di bawah ini Tabel 3.1 Cluster Citra Foto Satelit 5 x 5 1 2 3 4 5
1 94 97 104 109 93
2 105 95 99 88 66
3 122 95 99 91 134
4 73 94 94 94 148
5 80 126 94 110 128
C1 74.18 82.83 168.49 71.88 127.10
C2 98.25 108.67 104.53 71.88 151.68
C3 146.49 158.07 143.31 143.31 199.15
C4 151.38 163.34 149.09 148.64 204.13
C5 139.79 150.97 137.12 136.79 192.72
Lakukan pemilihan cluster yang paling kecil sehingga diperoleh Tabel 3.2. Tabel 3.2 Pusat Cluster Citra Foto Satelit 5 x 5 1 2 3 4 5
1 94 97 104 109 93
2 105 95 99 88 66
3 122 95 99 91 134
4 73 94 94 94 148
5 80 126 94 110 128
C1 74.18 82.83 168.49 71.88 127.10
C2 98.25 108.67 104.53 71.88 151.68
C3 146.49 158.07 143.31 143.31 199.15
C4 151.38 163.34 149.09 148.64 204.13
C5 139.79 150.97 137.12 136.79 192.72
Maka diperoleh cluster pertama adalah data piksel (1,1), (1,2), (1,4) dan (1,5) sehingga: C11 = (94+97+109+93)/4= 98.25 Cluster Kedua adalah hanya data piksel (2,3), sehingga C21 = 104 Lakukan Iterasi-2 seperti langkah di atas dengan cluster-1 = 98.25 dan Cluster-2 = 104. Jika Iterasi-1 ke iterasi-2 posisi cluster tidak berubah, maka iterasi dihentikan dan dari hasil pusat cluster yang diperoleh update nilai piksel, maka diperoleh matriks nilai piksel citra foto satelit 5x5 Iterasi 1 seperti pada Tabel 3.5.
Tabel 3.5 Matriks Nilai Piksel Citra Foto Satelit 5 x 5 Iterasi 1
Universitas Sumatera Utara
98.25 98.25 98.25 98.25 98.25
98.25 98.25 98.25 98.25 98.25
98.25 98.25 98.25 98.25 98.25
98.25 98.25 98.25 98.25 98.25
98.25 98.25 98.25 98.25 98.25
Dari tabel 3.5 di atas dapat dilihat bahwa semua nilai piksel pada matriks citra satelit memiliki nilai yang homogen dengan nilai 98.25. Untuk blok yang lain pada citra satelit dilakukan perhitungan yang sama seperti di atas yang hasilnya seperti pada pada Tabel 3.6. Tabel 3.6 Matriks Nilai Piksel Citra Foto Satelit 5 x 5 Iterasi 1
98.25 98.25 98.25
98.25
98.25 xxx
xxx
xxx
xxx
xxx
98.25 98.25 98.25
98.25
98.25 xxx
xxx
xxx
xxx
xxx
98.25 98.25 98.25
98.25
98.25 xxx
xxx
xxx
xxx
xxx
98.25 98.25 98.25
98.25
98.25 xxx
xxx
xxx
xxx
xxx
98.25 98.25 98.25
98.25
98.25 xxx
xxx
xxx
xxx
xxx
yyy
yyy
yyy
yyy
yyy
zzz
zzz
zzz
zzz
zzz
yyy
yyy
yyy
yyy
yyy
zzz
zzz
zzz
zzz
zzz
yyy
yyy
yyy
yyy
yyy
zzz
zzz
zzz
zzz
zzz
yyy
yyy
yyy
yyy
yyy
zzz
zzz
zzz
zzz
zzz
yyy
yyy
yyy
yyy
yyy
zzz
zzz
zzz
zzz
zzz
Keterangan: Nilai xxx
: Nilai piksel blok-2 citra dihitung pada iterasi 1
Nilai yyy
: Nilai piksel blok-3 citra dihitung pada iterasi 1
Nilai zzz
: Nilai piksel blok-4 citra dihitung pada iterasi 1
Jika semua blok telah dihitung, maka akan terbentuk pola-pola yang homogen yang mempermudah dalam pengenalan karena terdapat pemisah antara pola yang homogen yaitu nilai pikselnya.
Universitas Sumatera Utara
3.1.2 Flow chart Segmentasi Citra
Flow chart segmentasi citra dengan metode Fuzzy Clustering dapat dilihat seperti pada Gambar 3.7.
Gambar 3.7 Flow Chart Proses Segmentasi Keterangan gambar: File citra dilakukan penghitungan komponen nilai RGB dengan operasi modulo 256. Setelah diperoleh nilai RGB citra cover, maka dilakukan penghitungan nilai grayscale dengan cara menjumlahkan nilai RGB per piksel dan hitung nilai rata-ratanya. Setelah nilai grayscale setiap piksel citra, maka dilakukan pencarian cluster-cluster pada citra dalam proses pengelompokan pola.
Universitas Sumatera Utara
3.2.1 Perancangan Sistem
Rancang sistem yang diusulkan adalah dalam model Diagram Konteks dan Data Flow Diagram (DFD) yang menampilkan kebutuhan sistem serta entitas luar yang terlibat dalam proses segmentasi citra dengan metode Fuzzy Clustering.
3.2.1.1 Diagram Konteks Sistem
Pada diagram konteks di bawah ini terlihat ada satu entiti luar (external entity) yang terdapat pada perangkat lunak yang dibangun yaitu User sebagai pengguna sistem sebagai pemberi masukan berupa data citra dan pesan. Diagram Konteks dapat dilihat seperti pada Gambar 3.8.
Citra Asli
1 Perangkat Lunak Segmentasi Citra
USER
Citra tersegmentasi
Gambar 3.8 Diagram Konteks
3.2.1.2 Data Flow Diagram Level 0 Segmentasi Citra
Data Flow Diagram Level 0 (DFD Level 0) Segmentasi Citra adalah suatu diagram menggambarkan aliran data dan perubahan yang terjadi lebih detail mulai dari proses input sampai menghasilkan output. Diagram konteks di atas diturunkan menjadi Data Flow Diagram untuk Level 0 seperti pada Gambar 3.9.
Universitas Sumatera Utara
1.0 Hitung Nilai RGB piksel Citra
CitraAsli
USER
Citra Tersegmentasi
4.0 Update Nilai Piksel
Nilai Piksel
Cluster Baru
3.0 Hitung Jarak Antar Cluster
2.0 Hitung Pusat Cluster
Pusat cluster
Gambar 3.9 DFD Level 0 Segmentasi Citra
3.2.2 Perancangan Antarmuka (interface)
Perancangan antar muka adalah rancangan tampilan yang menghubungkan pengguna (user) dengan komputer dengan bantuan program. Salah satu syarat pembuatan antar muka adalah berorientasi pada mudah digunakan (user friendly) serta informatif.
3.2.2.1 Rancangan Menu Utama
Rancangan Menu Utama merupakan tampilan yang pertama kali muncul saat program dijalankan. Pada rancangan ini terdapat menu Segmentasi, About dan Quit. Menu About berfungsi untuk menampilkan keterangan seputar aplikasi yang dibangun dan
Universitas Sumatera Utara
Quit berfungsi untuk keluar dari sistem. Rancangan Menu Utama terlihat seperti pada Gambar 3.10. Segmentasi
About
Quit
Judul Skripsi Gambar Pembukaan
Nama Penulis
Gambar 3.10 Rancangan Menu Utama
3.2.2.2 Rancangan Segmentasi Citra
Rancangan Segmentasi Citra berfungsi melakukan segmentasi citra yang berformat BMP maupn JPG. Menu File berfungsi untuk membuka menu segmentasi citra yang terdiri dari sub menu Open, Save as dan Close. Open berfungsi untuk mencari file citra yang hendak disegmentasi, Save as berfungsi untuk menyimpan hasil segmentasi dan close berfungsi untuk menutup form Segmentasi citra. Rancangan Segmentasi citra dapat dilihat seperti pada Gambar 3.11.
Universitas Sumatera Utara
File
Run
Tampilan Citra Asli
Tampilan Citra Tersegmentasi
Jumlah Kluster
Slider
Progress bar
xx
Gambar 3.11 Rancangan Segmentasi Citra
3.2.2.5 Rancangan About
Rancangan About ini berfungsi menampilkan informasi tentang profil penulis. Profil penulis meliputi biodata penulis serta data-data akademik. Rancangan About dapat dilihat seperti pada Gambar 3.12 berikut ini.
Judul Skripsi
Profil Penulis
Keluar
Gambar 3.12 Rancangan About
Universitas Sumatera Utara