33 BAB 4 DISAIN MODEL Disain model sistem identifikasi citra karang dirancang sedemikian rupa dengan tuuan untuk memudahkan dalam pengolahan data dan pembuatan aplikasi serta memudahkan pengguna dalam menalankan aplikasi tersebut Ilustrasi dari sistem yang dirancang ditampilkan pada Gambar 16 Sistem yang dirancang terbagi dalam tiga modul yaitu modul ektraksi ciri, modul pelatihan (training) dan modul penguian (testing) identifikasi Modul training dan modul testing identifikasi dirancang dalam satu interface Modul ektraksi ciri dirancang sebagai suatu aplikasi terpisah dari dua modul lainnya Hasil ektraksi ciri menghasilkan ciri yang direpresentasikan dalam bentuk pola matrik C Hasilnya disimpan dalam bentuk matrik H dengan dimensi N x D, dimana N adalah umlah citra pengamatan dan D adalah umlah ekstraksi ciri Citra Pengguna Ekstraksi Ciri x1 x 2 C = M x m Data Hasil Ekstraksi Ciri H = N D Training Antar muka (Interface) Testing dan Identifikasi Gambar 16 Disain model sistem 41 Data Citra Data citra yang digunakan di dalam sistem ini adalah citra karang yang termasuk dalam family pocilloporidae Family ini memiliki 5 genus yaitu madracis, palauastrea, pocillopora, seriatopora dan stylophora Masing-masing genus memiliki umlah spesies yang berbeda-beda Genus madracis memiliki satu spesies yaitu madracis kirbyi, begitu uga dengan genus palauastrea yaitu palauastrea ramosa Genus pocillopora memiliki variasi spesies yang paling banyak yaitu pocillopora damicornis, pocillopora eydouxi, pocillopora meandrina, pocillopora verrucosa dan pocillopora woodonesi Genus seriatopora memiliki
34 dua spesies yaitu seriatopora caliendrum dan seriatopora hystrix Genus stylophora hanya memiliki satu spesies yaitu stylophora pistilata Walaupun pada genus pocillopora dan seriatopora memiliki umlah spesies lebih dari satu, namun pada dasarnya masing-masing spesies memiliki kemiripan satu sama lain dalam karateristik struktur skeletonnya Seperti pada genus pocillopora, spesies pocillopora damicornis mirip dengan pocillopora meandrina dan pocillopora verrucosa, pocillopora eydouxi mirip dengan pocillopora woodonesi Sehingga dapat disimpulkan bahwa secara garis besar genus pocillopora hanya memiliki dua struktur citra yang telah merepresentasikan lima spesies yang dimilikinya (Veron 1986) Untuk mendapatkan gambaran yang elas mengenai bentuk masing-masing spesies dan struktur citra yang digunakan, dapat dilihat pada Gambar 17 s/d 21 Gambar 17 Citra spesies madracis kirbyi Gambar 18 Citra spesies palauastrea ramosa
35 (a) damicornis (b) meandrina (c) verrucosa (d) eydouxi Gambar 19 Citra spesies dari genus pocillopora (e) woodonesi (a) caliendrum (b) hystrix Gambar 20 Citra spesies dari genus seriatopora
36 Gambar 21 Citra spesies stylophora pistilata Pengambilan citra dilakukan sebanyak 10 kali perulangan pada 5 genus, sehingga menghasilkan 50 data citra yang digunakan untuk data pelatihan Sementara pada data ui terdiri dari 25 citra hasil dari 5 kali perulangan Mekanisme perulangan ini adalah sebagai berikut: 1 Mengubah-ubah orientasi citra dengan merotasi citra pada sudut 0º, 45º, 60º, 90º, 135º,180º, 200º, 225º, 270º dan 315º 2 Mengubah-ubah posisi citra 3 Mengubah-ubah ukuran citra Semua mekanisme diatas dilakukan pada sepuluh data pelatihan untuk masing-masing genus Sedangkan untuk data ui diambil lima citra masing-masing genus secara random dari data pelatihan Hal ini dimaksudkan agar sistem lebih robust, sehingga pada saat dilakukan identifikasi terhadap genus yang sama tapi memiliki orientasi, posisi dan ukuran citra yang berbeda-beda, sistem masih dapat mengenalinya genus tersebut Mekanisme perulangan dan struktur citra yang menadi data pelatihan disaikan pada Gambar 22 dan Tabel 3
37 (a) obyek citra (b) perubahan ukuran (c) perubahan posisi (d) perubahan orientasi Gambar 22 Perubahan ukuran, posisi dan orientasi citra Tabel 3 Struktur ciri citra yang digunakan pada pelatihan No Ekstraksi Ciri Mode Citra Ukuran Pixel Jumlah 1 Warna RGB 300 x 220 10 2 Tekstur Grayscale 300 x 220 10 3 Tekstur - GLCM Grayscale 300 x 220 10 4 Tekstur - LBP8riu1 Grayscale 300 x 220 10 5 Bentuk Grayscale 300 x 220 10 Rotasi 0º, 45º, 60º, 90º, 135º,180º, 200º, 225º, 270º dan 315º 0º, 45º, 60º, 90º, 135º,180º, 200º, 225º, 270º dan 315º 0º, 45º, 60º, 90º, 135º,180º, 200º, 225º, 270º dan 315º 0º, 45º, 60º, 90º, 135º,180º, 200º, 225º, 270º dan 315º 0º, 45º, 60º, 90º, 135º,180º, 200º, 225º, 270º dan 315º 42 Pembentukan Model dan Pencocokan Pola Pembentukan model dan pencocokan pola dilakukan menggunakan JST backpropagation dengan arsitektur multi layer perceptron dengan satu hidden layer Jumlah neuron input sesuai dengan umlah ekstraksi ciri Jumlah neuron pada hidden layer didapat dari hasil trial & error yang terbaik Jumlah neuron pada lapisan output disesuaikan dengan umlah karang yang diidentifikasi
38 Untuk inisialisasi bobot awal digunakan inisialisasi secara random dan fungsi aktivasi yang digunakan adalah sigmoid biner Penggunaan sigmoid biner sesuai untuk pengenalan dengan selang antara 0 dan 1 Toleransi galat yang digunakan yang menadi batasan waktu bagi aringan dalam melakukan pelatihan adalah 10-3 dan 10-4 dan lau pembelaaran (α = learning rate) yang digunakan adalah 01 Jumlah epoch maksimal yang ditetapkan adalah 3000 yang diperlukan sebagai kriteria henti aringan Satu epoch adalah proses satu kali perulangan untuk melatih semua pasangan data pelatihan (Kusumadewi & Hartati 2006) Toleransi galat yang cukup kecil diharapkan akan memberikan hasil yang cukup baik Jika ternyata JST gagal mencapai kekonvergenan maka akan dilakukan penambahan umlah hidden neuron sampai kekonvergenan tercapai Jika JST berhasil mencapai kekonvergenan maka akan dilihat generalisasinya dan dilakukan penambahan neuron Jika ternyata generalisasi yang dihasilkan tidak auh berbeda dengan generalisasi sebelumnya maka JST telah sampai pada batas optimal Penambahan kembali hidden neuron tidak akan menambah generalisasi dan hanya akan menambah waktu komputasi Berikut ini disaikan struktur JST yang digunakan (Tabel 4) dan defenisi target dengan fungsi aktivasi sigmoid biner (Tabel 5) Tabel 4 Struktur JST untuk identifikasi citra karang KARAKTERISTIK SPESIFIKASI Arsitektur 1 lapisan tersembunyi Neuron input Hasil ekstraksi ciri Neuron hidden trial & error Neuron output Jumlah genus karang Fungsi aktivasi Sigmoid biner Toleransi galat 10-3 dan 10-4 Lau pembelaaran 01 Jumlah epoch maksimum 3000 Sampel pelatihan pada tiap genus karang 10 citra Sampel penguian pada tiap genus karang 5 citra
39 Tabel 5 Definisi target untuk fungsi sigmoid biner pada 5 genus karang No Target Representasi Genus Karang 1 1 0 0 0 0 Madracis 2 0 1 0 0 0 Palauastrea 3 0 0 1 0 0 Pocillopora 4 0 0 0 1 0 Seriatophora 5 0 0 0 0 1 Stylophora 43 Algoritma Pelatihan Algoritma backpropagation menggunakan error output untuk mengubah nilai bobotnya dalam arah mundur (backward) Untuk mendapatkan error ini, tahap perambatan mau (forward propagation) harus dikerakan terlebih dulu Pada saat perambatan mau, neuron-neuron diaktifkan dengan fungsi aktivasi sigmoid biner (Kusumadewi & Hartati 2006) Gambar 23 memperlihatkan arsitektur aringan backpropagation, aringan terdiri dari atas 19 neuron pada lapisan input, dengan input masukan bagi JST adalah warna (RGB-HSV), tekstur (statistical moment) dan bentuk (momen invarian); satu hidden layer dengan neuron h 1 h n ; serta lima neuron pada lapisan output Setiap neuron input memiliki bobot yang menghubungkan ke neuron pada lapisan tersembunyi, b 1 adalah bobot bias yang menuu ke neuronneuron pada hidden layer, b 2 menghubungkan hidden layer dengan lapisan output
40 R G x 1 x 2 v i h1 z 1 B x 3 H S V Mean h2 z 2 w k y 1 Karang 1 Std Deviasi y 2 Karang 2 Smoothness Karang 3 Third Moment Uniformity Karang 4 Entropy y k Karang 5 ϕ 1 ϕ 2 ϕ 3 ϕ 4 b2 ϕ 5 ϕ 6 z hn ϕ 7 x i b1 Gambar 23 Model JST backpropagation dengan arsitektur multilayer perceptron Dalam Kusumadewi dan Hartati (2006) algoritma backpropagation adalah sebagai berikut : Inisiasi bobot ( ambil bobot awal dengan nilai random yang cukup kecil) Tetapkan: Maksimum Epoch, Target Error, dan Learning Rate Inisialisasi : Epoch = 0 Kerakan langkah-langkah berikut selama (Epoch < Maksimum Epoch) dan (MSE < Target Error): 1 Epoch = Epoch + 1 2 Untuk tiap pasangan elemen yang akan dilakukan pembelaaran, kerakan:
41 Feedforward a Tiap-tiap unit input (X i, i=1,2,3,,n) menerima sinyal x i dan meneruskan sinyal tersebut ke semua unit pada lapisan di atasnya (lapisan tersembunyi) b Tiap-tiap unit lapisan tersembunyi (Z, =1,2,3,,p) menumlahkan sinyal-sinyal input terbobot: z_ in b1 xv i i i= 1 n = + gunakan fungsi aktivasi untuk menghitung sinyal outputnya: ( _ ) z = f z in dan kirimkan sinyal tersebut pada kesemua unit pada lapisan atasnya (lapisan output) c Tiap-tiap unit output (Y k, k=1,2,3,,m) menumlahkan sinyal-sinyal input terbobot y_ in b2 zw k k i k i= 1 p = + gunakan fungsi aktivasi untuk menghitung sinyal outputnya: k ( _ ) y = f y in dan kirimkan sinyal tersebut pada ke semua unit di lapisan atasnya (lapisan output) Langkah (b) dilakukan sebanyak umlah lapisan tersembunyi k Backpropagation d Tiap-tiap unit output (Y k, k=1,2,3,,m) menerima target pola yang berhubungan dengan pola input pembelaaran, hitung informasinya error: ' ( t y ) f ( y in ) δ 2 = _ ϕ2 β 2 k k k k k k k = dz = d k kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai w k ): Δ w = αϕ k k
42 hitung uga koreksi bias (yang nantinya akan digunakn untuk memperbaiki nilai b 2k ): Δ b = 2 k αβ k Langkah (d) ini uga dilakukan sebanyak umlah lapisan tersembunyi, yaitu menghitung informasi error dari suatu lapisan tersembunyi ke lapisan tersembunyi sebelumnya e Tiap-tiap unit tersembunyi (Z, =1,2,3,,p) menumlahkan delta inputnya (dari unit-unit yang berada pada lapisan di atasnya): δ _ in m = δ w k k k = 1 kalikan nilai ini dengan turunan fungsi aktivasinya untuk menghitung informasi error: δ ( ) ' 1 = δ _ in f z _ in ϕ1 i β1 = δ1 = δ x kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai v i ): Δ v = αϕ1 i hitung uga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b1 ): i Δ b1 = αϕ1 f Tiap-tiap unit output (Y k, k=1,2,3,,m) memperbaiki bias dan bobotnya (=0,1,2,,p): ( ) ( ) ( ) ( ) w baru = w lama +Δw k k k b2 baru = b2 lama +Δb2 k k k Tiap-tiap unit tersembunyi (Z, =1,2,3,,p) memperbaiki bias dan bobotnya (i=0,1,2,,n): 3 Hitung MSE ( ) ( ) ( ) ( ) v baru = v lama +Δv i i i b1 baru = b1 lama +Δb1
43 44 Pengukuran Kinera Sistem Jaringan yang telah diberi pelatihan kemudian dapat dianalisa kineranya yaitu dengan melakukan proses pencocokan pola antara data testing dengan output dari aringan (Fausset 1994) Algoritmanya adalah sebagai berikut : 1 Inisiasi bobot (ambil bobot hasil pelatihan) 2 Untuk setiap vektor input kerakan langkah 3 sampai 5 3 For i=1,,n; X i 4 For =1,,p; = 0 + i= 1 ( _ ) z_ in v xv i i i z = f z in 5 For k=1,,m; y_ in = w + z w k k 0k k = 1 n ( _ ) y = f y in k p Kinera sistem diukur dengan menggunakan parameter konvergensi dan generalisasi Konvergensi adalah tingkat kecepatan aringan mempelaari pola input yang dinyatakan dalam satuan waktu atau satuan epoch Generalisasi adalah tingkat pengenalan aringan dalam mengenali seumlah pola yang diberikan Secara matematis generalisasi dapat ditulis sebagai berikut (Hoekstra 1998): Jumlah pola yang dikenali Generalisasi = 100% Jumlah seluruh pola Secara lebih detail Jumlah pola yang dikenali adalah umlah genus karang yang dikenali dan Jumlah seluruh pola adalah umlah citra yang digunakan pada penelitian ini
44 45 Program Aplikasi Aplikasi identifikasi citra karang yang telah dirancang, dikemas dalam interface yang dibangun dengan graphical user interface (GUI) Matlab versi 701 Aplikasi tersebut hanya dapat dialankan di dalam lingkungan perangkat lunak Matlab Tampilan aplikasi terdiri atas form utama yang berisi form pelatihan, form hasil penguian dan form hasil identifikasi karang (Lampiran 1)