DETEKSI TELUR INFERTIL MENGGUNAKAN JARINGAN
SARAF TIRUAN MULTILAYER PERCEPTRON
SKRIPSI
MUHAMMAD ZAEN NAWAWI
081402022
DEPARTEMEN TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
DETEKSI TELUR INFERTIL MENGGUNAKAN JARINGAN SARAF
TIRUAN
MULTILAYER PERCEPTRON
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Teknologi Informasi
MUHAMMAD ZAEN NAWAWI 081402022
DEPARTEMEN TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
ii
PERSETUJUAN
Judul : DETEKSI TELUR INFERTIL MENGGUNAKAN
JARINGAN SARAF TIRUAN MULTILAYER PERCEPTRON
Kategori : SKRIPSI
Nama : MUHAMMAD ZAEN NAWAWI
Nomor Induk Mahasiswa : 081402022
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Muhammad Fadly Syahputra, B.Sc.,M.Sc.IT Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc NIP 198301292009121003 NIP 198603032010121004
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
iii
PERNYATAAN
DETEKSI TELUR INFERTIL MENGGUNAKAN JARINGAN SARAF TIRUAN
MULTILAYER PERCEPTRON
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Juli 2014
iv
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan kehadirat Allah SWT yang tgelah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh ijazah Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Ucapan terimakasih penulis sampaikan kepada:
1. Kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda Ismail dan Ibunda Sumayati yang selalu sabar dalam mendidik dan membesarkan penulis.
2. Bapak Romi Fadillah Rahmat, B.Comp.Sc,M.Sc selaku pembimbing satu dan Muhammad Fadly Syahputra, B.Sc.,M.Sc.IT selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.
3. Ucapan terima kasih juga ditujukan kepada Ibu Sarah Purnamawati, S.T., M.Sc. dan Bapak Baihaqi Siregar, ST., M.Sc selaku penguji yang telah bersedia menjadi dosen pembanding.
4. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST. MM.IT. dan Bapak M. Fadly Syahputra B.Sc,M.Sc.IT.
5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen dan pegawai di Program Studi Teknologi Informasi.
6. Terima kasih kepada staf pegawai administrasi tata usaha Program Studi Teknologi Informasi, Ibu Delima Harahap dan terutama Abangda Faisal Hamid, yang telah membantu penulis dalam menyelesaikan semua urusan administrasi di Program Studi Teknologi Informasi.
7. Terima kasih kepada adinda Jalaluddin Sayuti, Khairatunnisak, Rabi’atul Adawiyah, Siti Saedah dan Zahid Alkhusairy yang selalu memberikan dukungan kepada saya, dan kepada saudari Nina Zakiyah yang telah meluangkan waktu dan pikiran untuk membantu saya dalam penyusunan skripsi ini.
8. Terima kasih juga kepada sahabat-sahabat mahasiswa Teknologi Informasi yang tidak dapat penulis sampaikan satu persatu. Dan juga sahabat-sahabat di Pesantren Ar-raudlatul hasanah.
v
ABSTRAK
Telur infertil adalah telur yang tidak mengalami perkembangan embrio pada saat penatasan. Pendeteksian telur infertil secara otomatis akan memberikan kemudahan saat penyeleksian dan pemindahan telur infertil tepat waktu, yang akan membawa keuntungan bagi peternakan seperti efesiensi tempat dan kontaminasi penyakit yang mempengaruhi penetesan karena telur infertil bisa menjadi tempat perkembangan jamur. Sebuah metode terdiri dari machine vision dan jaringan saraf tiruan multilayer perceptron dirancang. Dengan meletakkan telur dekat sumber cahaya dengan latar belakang hitam dalam ruangan gelap telur difoto dengan kamera kualitas tinggi. Dari citra yang dihasilkan kamera diekstrak fitur atau ciri-ciri yang membedakan antara telur fertil dan telur infertil. Shape index, roundness dan elongation diekstrak dari bentuk telur, sedangkan nilai rata-rata hue, saturation dan intensity diekstrak dari warna telur. Enam nilai fitur ekstraksi dijadikan nilai neuron pada lapisan inputan jaringan saraf tiruan multilayer perceptron. 100 data sampel digunakan untuk pelatihan jaringan dan pegujian memorasi dan 125 data sampel berbeda digunakan untuk uji generalisasi. Laju pembelajaran yang digunakan adalah 0.0005 dan parameter momentum sebesar 0.02 tingkat akurasi yang dihasilkan 98% untuk pelatihan dan 96% untuk uji generalisasi.
vi
INFERTILE EGGS DETECTION USING MULTILAYER PERCEPTRON NEURAL NETWORK
ABSTRACT
Infertile eggs are eggs that embryonic development did not occur on it when hacthery procces held. Automatic infertile eggs detection give ease to select and timely removal of the infertile eggs. which will bring benefits to the hactheries such space efficiency and egg contamination due to diseases caused by infertile eggs. A method based on machine vision and artificial neural network multilayer perceptron designed. By laying eggs near a light source with a black background in a dark room eggs photographed with a high resolution camera. Image that acquired by camera extracted from it features or characteristics that distinguish between fertile eggs and infertile eggs. Shape index, roundness and elongation extracted from the shape of the eggs, while the average value of hue, saturation and intensity are extracted from the color of the eggs. Six values of feature extraction is used as neurons value in the input layer of a multilayer perceptron neural network. 100 samples are used for training the network and memorization test and anoter 125 different samples used for generalization test. The value of learning rate used is 0.0005 and the momentum parameter is 0,02. After test phase done , accuracy rate is 98% for memorizing test and 96% for the generalization test.
vii
2.3.1 Citra Keabuan (Grayscale) 8
2.3.2 Citra Biner 9
2.4 Ekstraksi Fitur 9
2.4.1 Ekstraksi fitur warna 9
2.4.2 Ekstraksi fitur bentuk 11
2.5 Jaringan Saraf Tiruan 13
2.5.1 Komponen Jaringan Saraf Tiruan 13
2.6 Algoritma MultilayerPerceptron 14
2.6.1 Fungsi Aktifasi 16
2.6.1.1 Fungsi Sigmoid Biner 16
2.6.2 Inilisialisasi Bobot dengan Acak 17
2.6.3 Pengupdate Bobot dengan Momentum 17
2.7 Penelitian terdahulu 18
3.3.1 Ekstraksi Fitur Warna Telur 26
3.3.2.Ekstraksi Fitur Bentuk Telur 32
3.4 MultilayerPerceptron 34
3.4.1 Perancangan Multilayer Perceptron 34
viii
3.4.3 Proses Pengujian 36
BAB 4 37
4.1 Implementasi 37
4.2 Pengujian 39
4.2.1 Persiapan Jaringan 39
4.2.2 Hasil Pengujian 42
4.2.2.1 Hasil Uji Memorasi 43
4.2.2.2 Hasil Uji Generalisasi 47
BAB 5 52
5.1 Kesimpulan 52
5.2 Saran 52
DAFTAR PUSTAKA 53
ix
DAFTAR TABEL
Halaman
Tabel 4.1 Fungsi-fungsi CImg yang digunakan 37
Tabel 4.2 Fungsi-fungsi MLP yang digunakan 38
x
DAFTAR GAMBAR
Halaman
Gambar 2.1 Bagian bagian telur 6
Gambar 2.2 Machine Vision 7
Gambar 2.3 Representasi nilai Intensity 10
Gambar 2.4 Representasi nilai Hue 10
Gambar 2.3 Representasi nilai Saturation 11
Gambar 2.6 Fungsi sigmoid biner dengan rentang (0,1) 17 Gambar 3.1 Skema Dasar Pendeteksian Telur Infertil 20 Gambar 3.2 Citra telur yang dihasilkan oleh machine vision 21 Gambar 3.3 Pengolahan Citra Citra RGB, Citra Grayscale dan Citra Biner 22
Gambar 3.4 Flowchart proses grayscaling 23
Gambar 3.5 Citra hasil proses grayscaling 24
Gambar 3.6 Flowchart proses thresholding 24
Gambar 3.7 Citra hasil proses thresholding 25
Gambar 3.8 Matrik penyimpanan nilai fitur 25
Gambar 3.9 Flowchart fitur ekstraksi nilai intensity 28 Gambar 3.10 Nilai intensity hasil fitur ekstraksi warna 28
Gambar 3.11 Flowchart fitur ekstraksi nilai hue 29
Gambar 3.12 Nilai hue hasil fitur ekstraksi warna 30 Gambar 3.13 Flowchart fitur ekstraksi nilai saturation 32 Gambar 3.14 Nilai saturation hasil fitur ekstraksi warna. 32 Gambar 3.15 Contoh Fitur Ekstraksi berdasarkan batas (boundary-based). 32 Gambar 3.16 Contoh perbedaan nilai fitur telur infertil dan fertile. 34 Gambar 3.17 Arsitektur jaringan saraf tiruan multilayer perceptron 35
Gambar 4.1 Grafik uji memorasi 46
v
ABSTRAK
Telur infertil adalah telur yang tidak mengalami perkembangan embrio pada saat penatasan. Pendeteksian telur infertil secara otomatis akan memberikan kemudahan saat penyeleksian dan pemindahan telur infertil tepat waktu, yang akan membawa keuntungan bagi peternakan seperti efesiensi tempat dan kontaminasi penyakit yang mempengaruhi penetesan karena telur infertil bisa menjadi tempat perkembangan jamur. Sebuah metode terdiri dari machine vision dan jaringan saraf tiruan multilayer perceptron dirancang. Dengan meletakkan telur dekat sumber cahaya dengan latar belakang hitam dalam ruangan gelap telur difoto dengan kamera kualitas tinggi. Dari citra yang dihasilkan kamera diekstrak fitur atau ciri-ciri yang membedakan antara telur fertil dan telur infertil. Shape index, roundness dan elongation diekstrak dari bentuk telur, sedangkan nilai rata-rata hue, saturation dan intensity diekstrak dari warna telur. Enam nilai fitur ekstraksi dijadikan nilai neuron pada lapisan inputan jaringan saraf tiruan multilayer perceptron. 100 data sampel digunakan untuk pelatihan jaringan dan pegujian memorasi dan 125 data sampel berbeda digunakan untuk uji generalisasi. Laju pembelajaran yang digunakan adalah 0.0005 dan parameter momentum sebesar 0.02 tingkat akurasi yang dihasilkan 98% untuk pelatihan dan 96% untuk uji generalisasi.
vi
INFERTILE EGGS DETECTION USING MULTILAYER PERCEPTRON NEURAL NETWORK
ABSTRACT
Infertile eggs are eggs that embryonic development did not occur on it when hacthery procces held. Automatic infertile eggs detection give ease to select and timely removal of the infertile eggs. which will bring benefits to the hactheries such space efficiency and egg contamination due to diseases caused by infertile eggs. A method based on machine vision and artificial neural network multilayer perceptron designed. By laying eggs near a light source with a black background in a dark room eggs photographed with a high resolution camera. Image that acquired by camera extracted from it features or characteristics that distinguish between fertile eggs and infertile eggs. Shape index, roundness and elongation extracted from the shape of the eggs, while the average value of hue, saturation and intensity are extracted from the color of the eggs. Six values of feature extraction is used as neurons value in the input layer of a multilayer perceptron neural network. 100 samples are used for training the network and memorization test and anoter 125 different samples used for generalization test. The value of learning rate used is 0.0005 and the momentum parameter is 0,02. After test phase done , accuracy rate is 98% for memorizing test and 96% for the generalization test.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Telur infertil adalah telur yang tidak mengalami perkembangan embrio pada saat penetasan (Faridah et. al, 2008). Telur infertil cenderung menjadi tempat berkembangbiaknya bakteri dan jamur dikarenakan perbedaan suhu telur dan suhu yang direpresentasikan oleh termometer inkubator (Lawrence et. al, 2008), kontaminasi bakteri dan jamur menghasilkan tekanan yang mengakibatkan telur tersebut meledak di inkubator. Langkah pencegahan dapat dilakukan dengan menyeleksi dan memisahkan telur tersebut dari inkubator. Pengecekan fertilitas telur dilakukan dengan peneropongan telur itu sendiri, telur didekatkan dengan sumber cahaya dengan intensitas tertentu yang cukup untuk menembus cangkang telur, namun akurasi deteksi tergantung pengalaman tenaga kerja yang mengamati, jika penetasan dilakukan dalam skala industri akan dibutuhkan banyak tenaga kerja yang berpengalaman. Selain itu penggunaan waktu menjadi tidak efisien.
Sistem yang mampu mengenali telur infertil secara otomatis memungkinkan pemisahan telur infertil tepat pada waktunya, sehingga kontaminasi bakteri dan jamur dapat diminimalisir, penggunaan rak penetasan dapat diefisienkan dan kualitas anak ayam yang ditetaskan dapat dimaksimalkan.
Beberapa teknik yang pernah digunakan dalam penelitian untuk mendeteksi telur infertil antara lain Least aquare Support Vector Machine (Zhiu Zhu et. al, 2008),
Hyperspectral imaging and Predictive modeling System (Smith et. al, 2008), dan
Histogram characterizon method (Das et. al, 1992 a), Fuzzy distinction model dan
2
Multilayer perceptron adalah jaringan syaraf tiruan umpan maju (feedforward neural networks) terdiri dari sejumlah neuron yang dihubungkan oleh bobot-bobot penghubung dan merupakan jaringan yang pembelajarannya terawasi sehingga perlu dimasukkan contoh-contoh respon ke dalam jaringannya untuk dikenali. Multilayer perceptron telah banyak digunakan dalam beberapa penelitian diantaranya, Sarkar and Mandal (2012) menggunakan multilayer perceptron untuk key generation dan key sertification dalam komunikasi wireless. Kou-Yuan Huang and Kai-Ju Chen (2011) menggunakan multilayer perceptron untuk memprediksi kejuaraan sepak bola dunia tahun 2006. Batsamhan (2002) menggunakan multilayer perceptron untuk mengenali pola karakter mongolia. Sivaram dan Hermansky (2012) menggunakan multilayer perceptron untuk pengenalan pola fonem dalam pengucapan kata-kata. Ahad,Fayyaz dan Mehmood (2012) menggunakan multilayer perceptron untuk speech recognition.
Dalam tugas akhir ini, sistem yang dibangun untuk pendeteksian telur infertil dengan menggabungkan image processing dan jaringan saraf tiruan Multilayer Perceptron, dan diharapkan hasilnya dapat mendeteksi telur infertil dengan cepat dan akurat.
1.2 Rumusan Masalah
Pendeteksian telur infertil dapat dilakukan dengan mengarahkan telur kepada sumber cahaya dengan intensitas tertentu, namun metode ini mengharuskan telur dipindahkan dari incubator yang berdampak negatif terhadap perkembangan embrio dan akan membutuhkan banyak waktu apabila mendeteksi telur dalam skala besar, oleh karena itu dibutuhkan sistem yang mampu mendeteksi telur tanpa harus mengeluarkan telur dari inkubator. Bagaimana mendeteksi telur inferti tanpa harus mengeluarkan telur dari inkubator.
1.3 Batasan Masalah
3
1 Citra diperoleh menggunakan kamera digital.
2 Citra yang yang digunakan berbentuk 2D tidak berotasi. 3 Telur yang akan digunakan telur ayam.
4 Telur yang akan dideteksi adalah telur yang telah dieramkan selama 4 hari.
1.4 Tujuan Penelitian
Adapun tujuan dan objektif dari penulisan tugas akhir ini adalah membangun system dan menghitung tingkat akurasi pendeteksian telur infertil menggunakan image processing dan jaringan saraf tiruan.
1.5 Manfaat Penelitian
Penelitian ini diharapkan dapat menambah wawasan ilmu dan pemahaman baik bagi penulis dan pembaca dalam pendeteksian telur infertil mengunakan image prosessing dan jaringan saraf tiruan dan membantu kinerja manusia dalam pendeteksian telur infertil lebih berguna di masyarakat.
1.6 Metodologi Penelitian
Metode penelitian yang akan digunakan adalah: 1. Studi Literatur
4
2. Pengumpulan Data
Pada tahap ini akan dilakukan pengumpulan data yang mendukung penyelesaian masalah penelitian ini.
3. Analisis dan Perancangan Desain Sistem
Pada ini tahap ini penulis akan melakukan analisis terhadap materi dan data yang mendukung dalam penyelesaian masalah sehingga dapat dirancang sebuah aplikasi yang akan diimplementasikan.
4. Implementasi Sistem
Pada tahap ini penulis mengimplementasikan sistem berdasarkan pada analisa dan rancangan sebelumnya. Implementasi meliputi pembuatan program aplikasi dalam menyelesaikan masalah yang teliti.
5. Pengujian Sistem
Pada tahap ini dilakukan untuk menguji aplikasi dan mengetahui tingkat kehandalan aplikasi yang dibuat, apakah sudah sesuai yang diharapkan dalam penelitian ini atau tidak.
6. Dokumentasi Sistem
Pada tahap ini akan dilakukan penulisan laporan mengenai aplikasi tersebut yang bertujuan untuk menunjukkan hasil penelitian ini.
1.7 Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut:
BAB 1 PENDAHULUAN
Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.
BAB 2: LANDASAN TEORI
Bab ini berisi teori-teori yang digunakan untuk memahami permasalahan yang dibahas pada penelitian ini. Pada bab ini dijelaskan tentang ekstraksi fitur, jaringan saraf tiruan, algoritma multilayer perceptron, dan pengolahan citra digital.
5
Bab ini berisi analisis dan penerapan jaringan multilayer perceptron untuk mendeteksi telur infertil, serta perancangan seperti pemodelan dan flowchart.
BAB 4: IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi pembahasan tentang implementasi dari analisis dan perancangan yang disusun pada Bab 3 dan pengujian apakah hasil yang didapatkan sesuai dengan yang diharapkan.
BAB 5: KESIMPULAN DAN SARAN
BAB 2
LANDASAN TEORI
2.1 Telur Infertil
Gambar 2.1 Bagian bagian telur (Faridah, 2008)
Telur mempunyai bagian-bagian yang ditampilkan pada gambar 2.1. Ada 4 bagian utama telur yang akan mendukung proses penetasan, yaitu
1 Kuning telur (yolk) 2 Putih telur (Albumen) 3 Cangkang (shell) 4 Ruang udara (air space)
dan warna kuning telur mempengaruhi penetasan sebagainya, tapi 7.5 % dari infertil (Lawrence, et al., 2008)
2.2 Machine Vision
Machine Vision adala memprosesnya, mesin ini 2.2, sebuah lampu m mengumpulkan cahaya pemrosesan citra yang diperole
2.3 Pengolahan Citra
Secara harafiah, citra (imag Ditinjau dari sudut pandang
lur lebih cerah saat dicandling. Banyak
an telur diantaranya suhu inkubator, keb ari 100% penetasan gagal menetas dikarenakan ., 2008).
Gambar 2.2 Machine Vision
alah alat yang dirancang untuk memindai cit ni terdiri dari beberapa perangkat seperti terlihat menjadi sumber cahaya, telur, tabung berfun aya dari lampu, kamera digital dan komputer s
diperoleh dari kamera digital.
(image) adalah gambar pada bidang dwimatra (dua ang matematis, citra merupakan fungsi menerus
7
anyak faktor yang bersihan dan n telur tersebut
citra telur dan ihat di gambar berfungsi untuk sebagai pusat
8
dari intensitas cahaya pada bidang dwimatra (Munir, 2004). Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh oleh alat-alat optik, misalnya mata pada manusia, kamera, pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam.
Pengolahan citra adalah pemrosesan suatu citra sehingga menghasilkan citra yang sesuai dengan keinginan kita atau kualitasnya menjadi lebih baik,dalam penilitian ini pengolahan citra akan digunakan untuk mengolah citra yang dihasilkan dari machine vision sehingga dapat dikalkulasi oleh aplikasi yang akan dibangun.
2.3.1 Citra Keabuan (Grayscale)
Citra keabuan adalah citra yang nilai pikselnya merepresentasikan derajat keabuan atau intensitas warna putih. Pada umumnya citra grayscale memiliki kedalaman pixel 8 bit (256 derajat keabuan),maka nilai intensitasnya berada pada interval 0(hitam) - 255(putih). Untuk mengkonversi citra warna ke citra grayscale digunakan rumus:
I(x, y) = ( R + G + B ) / 3 (1)
Konversi citra warna ke citra grayscale dapat juga dilakukan dengan cara memberi bobot pada setiap elemen warna , sehingga persamaan diatas dimodifikasi menjadi :
ܫሺݔ,ݕሻ=ߙ.ܴ+ߚ.ܩ+ߛ.ܤ (2)
9
2.3.2 Citra Biner
Citra biner disebut juga dengan bi-level adalah citra digital yang hanya mempunyai dua kemungkinan nilai derajat keabuan yakni hitam atau putih, untuk melakukan konversi citra grayscale menjadi citra biner dilakukan dengan membulatkan keatas atau ke bawah untuk setiap nilai keabuan dari piksel yang berada diatas atau bawah nilai ambang. Metode untuk menentukan besarnya nilai ambang disebut thresholding, dengan fungsi tresholding:
݂ሺ݅,݆ሻ=൜
1, ݂(݅,݆) ≤ ܶ 0, ݈ܽ݅݊݊ݕܽ
2.4 Ekstraksi Fitur
Ekstraksi fitur merupakan suatu pengambilan ciri (fitur) dari suatu bentuk yang nantinya nilai yang didapatkan akan dianalisis untuk proses selanjutnya. Ektraksi fitur dilakukan dengan cara menghitung jumlah titik atau pixels yang ditemui dalam setiap pengecekan, dimana pengecekan dilakukan dalam berbagai arah tracing pengecekan pada koordinat kartesian dari citra digital yang dianalisis, yaitu vertical dan horizontal.
2.4.1 Ekstraksi fitur warna
a. Intensity
menyatakan banyaknya cahaya yang diterima oleh warna. Kisaran nilainya adalah antara gelap (hitam)
.3 memperlihatkan tingkatan nilai intensitas dari Hariyanto, 2009).
ambar 2.3 Representasi nilai Intensity
apat dihitung langsung dengan :
3
sebenarnya, seperti merah, violet, dan kuni membedakan warna-warna dan menentukan
uan (greenness), dsb dari cahaya. Hue berasosias
bang cahaya, dan bila menyebut warna merah, violet,
menspesifikasikan nilai hue -nya. Seperti terlihat pada Gambar
hue merupakan sudut dari warna yang mempunyai
menyatakan warna merah, lalu memutar nilai-ni kembali lagi ke 0° untuk menyatakan merah lagi
Gambar 2.4 Representasi nilai Hue
untuk menghitung nilai hue
c. Saturation
Saturation menyatakan seberapa banyak warna terlihat pada Gambar color), sedangkan warna sangat rendah (karena garis dan kontur. Fitur bentuk Kategori tersebut adalah be
(region-based). Teknik berda
daerah dengan mengguna sepanjang batas objek. Bebe berikut:
hue digunakan formula berikut:
atan2√3. G B, 2. R G B
akan tingkat kemurnian warna cahaya, yaitu mengindikasik arna putih diberikan pada warna. Sebagai contoh ar 2.5, warna merah adalah 100% warna jenuh warna pink adalah warna merah dengan tingka
na ada warna putih di dalamnya). Jadi, jika hue
maka saturation menyatakan seberapa dalam w
Gambar 2.3 Representasi nilai Saturation
lisan ini ditentukan dengan meggunakan persamaan:
1 3 min, ,
ntuk
adalah karakter konfigurasi permukaan yang diwaki bentuk dikategorikan bergantung pada teknik yang d
berdasarkan batas (boundary-based) dan berdas
berdasarkan batas (boundary-based) menggamba
akan karakteristik eksternal, contohnya adalah pik eberapa contoh fitur ekstraksi bentuk disebutkan
12
a. Shape Index
ܵܫ=ܽ
ܾ ሺ6ሻ
dimana, ܽ adalah jumlah pixel garis mayor dan ܾ adalah jumlah pixel garis minor
b. Kebundaran (Roundness)
Roundness biasanya digunakan untuk menyatakan bundarnya garis luar suatu objek, semakin besar nilai roundnessnya semakin bundar telur tersebut dan semakin besar kemungkinan besar kemungkinan telur tersebut infertil. Didefinisikan sebagai berikut:
ܴ=4ߨܣ
ܲଶ ሺ7ሻ
dimana, A adalah jumlah luas atau jumlah pixel telur dan P adalah pixel perimeter atau keliling telur tersebut.
c. Kelonjongan (Elongation)
Elongation mendeskripsikan kerampingan sebuah telur, semakin besar nilai elongationnya semakin lonjong telur tersebut, dan semakin kecil kemungikinan telur tersebut infertil. Didefinisikan sebagai berikut:
ܧ=ܾ
ܣ ሺ8ሻ
dimana, ܾ adalah jumlah pixel garis minor dan A adalah jumlah luas atau jumlah pixel telur.
13
kemudian nilai dari dari masing-masing parameter tersebut dijadikan nilai neuron pada lapisan input jaringan multilayer perceptron.
2.5 Jaringan Saraf Tiruan
Jaringan saraf tiruan (artifical neural network) adalah sistem komputasi yang arsitektur dan operasinya diilhami dari pengetahuan tentang sel saraf biologis di dalam otak. Jaringan saraf tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut.
Jaringan saraf tiruan disusun dengan asumsi cara kerja yang sama seperti jaringan saraf manusia (Puspitaningrum, 2006):
1. Pengolahan informasi terjadi pada elemen-elemen pemrosesan (neuron). 2. Sinyal antara dua buah neuron diteruskan melalui link-link koneksi. 3. Setiap link koneksi memiliki bobot terasosiasi.
4. Setiap neuron menerapkan sebuah fungsi aktivasi terhadap input jaringan (jumlah sinyal input berbobot). Tujuannya adalah untuk menentukan sinyal output.
2.5.1 Komponen Jaringan Saraf Tiruan
Jaringan saraf tiruan terdiri dari banyak neuron yang menyusun jaringan tersebut. Neuron-neuron tersebut dikelompokkan ke dalam beberapa lapisan (layer) dan lapisan-lapisan tersebut memiliki hubungan satu sama lain.
Lapisan-lapisan penyusun jaringan saraf tiruan dapat dibagi menjadi 3, yaitu: 1. Lapisan input
Pada lapisan ini neuron-neuron akan menerima input yang selanjutnya diproses untuk dikirimkan ke lapisan selanjutnya.
14
Lapisan ini berada di antara lapisan input dan lapisan output. Pada lapisan ini bobot yang diterima dari lapisan input diproses untuk selanjutnya diproses untuk dikirimkan ke lapisan selanjutnya. Output dari lapisan ini tidak secara langsung dapat diamati.
3. Lapisan output
Lapisan ini merupakan lapisan akhir dimana nilai output dihasilkan. Pada lapisan ini ditetapkan nilai output aktual untuk dibandingkan dengan nilai output target untuk mengetahui apakah jaringan sudah sesuai dengan hasil yang diinginkan.
2.6 Algoritma Multilayer Perceptron
Multilayer perceptron adalah jaringan saraf tiruan umpan maju (feedforward neural networks) terdiri dari sejumlah neuron yang dihubungkan oleh bobot-bobot penghubung dan merupakan jaringan yang pembelajarannya terawasi sehingga perlu dimasukkan contoh-contoh respon ke dalam jaringannya untuk dikenali (Puspitaningrum, 2006).
Multilayer perceptron terdiri dari lapisan-lapisan yang disusun dalamnya neuron-neuron, lapisan tersebut terdiri dari satu lapisan input (input layer), satu atau lebih lapisan tersembunyi (hidden layer), dan satu lapisan output (output layer). Lapisan input menerima sinyal dari luar, kemudian melewatkannya ke lapisan tersembunyi pertama, yang akan diteruskan sehingga akhirnya mencapai lapisan output. Setiap neuron pada input layer terhubung dengan setiap neuron pada hidden layer. Demikian juga, setiap neuron pada hidden layer terhubung ke setiap neuron pada output layer. Setiap neuron, kecuali pada layer input, memiliki input tambahan yang disebut bias. Bilangan yang diperlihatkan pada gambar di atas digunakan untuk mengidentifikasi setiap node pada masing-masing layer.
Multilayer perceptron dilatih agar output jaringan sesuai dengan pola pasangan input-target yang diharapkan. Proses pelatihan adalah proses iteratif untuk mementukan bobot-bobot koneksi antara neuron yang paling optimal. Jaringan
15
Algoritma yang dijalankan oleh multilayer perceptron untuk mendapatkan bobot yang optimal (Muliantara, 2011)adalah sebagai berikut :
1. Inisialisasi bobot-bobot.
Tentukan laju pembelajaran (α).
Tentukan pula nilai toleransi error atau nilai ambang (bila menggunakan nilai ambang sebagai kondisi berhenti); atau set maksimal epoch (bila menggunakan banyaknya epoch sebagai kondisi berhenti).
2. Jika kondisi penghentian tidak terpenuhi lakukan langkah ke-2 sampai langkah ke-9.
3. Untuk setiap pasangan pola pelatihan, lakukan langkah ke-3 sampai langkah ke-8.
4. Setiap unit input xi (dari unit ke-1 sampai unit ke-n pada lapisan input) mengirimkan sinyal input ke semua unit yang ada di lapisan atasnya (ke lapisan tersembunyi)
5. Pada setiap unit di lapisan tersembunyi zj (dari unit ke-1 sampai unit ke-p; i=i,…,n; j=1,...,p) sinyal output lapisan tersembunyinya dihitung dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input berbobot xi:
ݖ = ݂ ൭ݒ+ ݔݒ
ୀଵ
൱
kemudian dikirim ke semua unit di lapisan atasnya.
6. Setiap unit di lapisan output yk (dari unit ke-1 sampai unit ke-m; i=1,...,n; k=1,…,m) dihitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input berbobot zj bagi lapisan ini:
ݕ =݂ ൭ݓ+ ݖݓ
ୀଵ
൱
7. Setiap unit output yk (dari unit ke-1 sampai unit ke-m; i=1,…,p; k=1,….,m) menerima pola target tk lalu informasi kesalahan lapisan output (δk) dihitung.
δ୩ =ሺt୩− y୩ሻ f′ቌw୩+z୨w୨୩ ୮
୨ୀଵ
16
δk dikirim ke lapisan di bawahnya dan digunakan untuk mengitung besar koreksi bobot dan bias (∆wjk dan ∆w0k) antara lapisan tersembunyi dengan lapisan output:
∆wjk = α δk zj ∆w0k = α δk
8. Pada setiap unit di lapisan tersembunyi (dari unit ke-1 sampai unit ke-p; i=1,…,n; j=1,…,p; k=1,…,m) dilakukan perhitungan informasi kesalahan lapisan tersembunyi (δj).
δ୨=൭δ୩w୨୩) ୫
୩ୀଵ
൱f′൭v୨+x୧v୧୨ ୬
୧ୀଵ
൱
δj kemudian digunakan untuk menghitung besar koreksi bobot dan bias (∆wjk dan ∆w0k) antara lapisan input dan lapisan tersembunyi.
∆vij = α δj xi ∆v0j = α δj
9. Pada setiap unit output yk (dari unit ke-1 sampai unit ke-m) dilakukan
peng-update-an bias dan bobot (j=0,…,p; k=1,…,m) sehingga bias dan bobot baru menjadi:
wjk (baru) = wjk (lama) + ∆ wjk
Dari unit ke-1 sampai unit ke-p di lapisan tersembunyi juga dilakukan
peng-update-an pada bias dan bobotnya (i=0,…,n; j=1,…,p): vij (baru) = vij (lama) + ∆ vij 10.Kondisi penghentian terpenuhi.
2.6.1 Fungsi Aktifasi
Pilihan fungsi aktivasi yang dapat digunakan pada metode propagasi balik yaitu fungsi sigmoid biner, sigmoid bipolar dan tangent hiperbolik. Karakteristiki yang harus imiliki fungsi aktivasi tersebut adalah kontinu, diferensiabel dan tidak menurun secara monoton. Fungsi aktivasi diharapkan jenuh (mendekati nilai-nilai maksimum dan minimum secara asimtot) (Puspitaningrum, 2006).
17
Fungsi ini merupakan fungsi yang umum digunakan. Rentang-nya adalah (0,1) dan didefenisikan sebagai :
݂ଵሺݔሻ = 1 1 +݁ି௫ dengan turunan :
݂ଵᇱሺݔሻ= ݂ଵሺݔሻ൫1 −݂ଵሺݔሻ൯
Fungsi sigmoid biner diilustrasikan pada gambar 2.6.
Gambar 2.6 Fungsi sigmoid biner dengan rentang (0,1)
2.6.2 Inilisialisasi Bobot dengan Acak
Prosedur yang umum dilakukan adalah menginisialisasi bias dan bobot, baik dari unit input ke unit tersembunyi maupun dari unit tersembunyi ke unit output secara acak dalam sebuah interval tertentu (-γ dan γ), misalnya antara -0.4 sampai 0.4, -0.5 sampai 0.5, dan -1 sampai 1 (Puspitaningrum, 2006).
2.6.3 Pengupdate Bobot dengan Momentum
18
∆wjk = α δk zj ∆vij = α δjxi
Jika error tidak terjadi (output actual telah sama dengan output target) maka δk menjadi nol dan hal ini akan menyebabkan koreksi bobot ∆wjk = 0, atau dengan kata lain pengupdatean bobot berlanjut dalam arah yang sama seperti sebelumnya.
Jika parameter momentum digunakan maka persamaan-persamaan pengupdatean bobot dengan langkah pelatihan t, dan t+1 untuk langkah pelatihan selajutnya, mengalami modifikasi sebagai berikut :
∆wjk(t + 1) = α δk zj + µ ∆wjk(t) ∆vij(t + 1) = α δj xi + µ ∆vij(t)
dengan µ adalah parameter momentum dalam range antara 0 sampai 1.
2.7 Penelitian terdahulu
Beberapa penelitian yang pernah dilakukan untuk mendeteksi telur infertil mengunakan teknik yang berbeda dijabarkan dalam tabel 2.1
Tabel 2.1 Penelitian terdahulu
No Judul Pengarang Tahun Kelebihan
1. Detecting Fertility of Hacthing es using
1992 Tingkat akurasi 96 hingga 100% pada hari keempat pengeraman dan 88 hingga 90% pada hari ketiga 2. The identification of
19
Tabel 2.1 Penelitian terdahulu (Lanjutan)
No Judul Pengarang Tahun Kelebihan
3. Egg Embryo
BAB 3
ANALISIS DAN PERANCANGAN
Bab ini secara garis besar membahas tahap-tahap dalam perancangan sistem identifikasi telur ayam infertil. Secara umum skema dasar tahap-tahap identifikasi telur ayam infertil yang dibangun dapat dilihat pada gambar 3.1.
Gambar 3.1 Skema Dasar Pendeteksian Telur Infertil
tahap identifikasi menggunaka terdiri dari proses pelat keluaran dari proses iden tahap identifikasi telur aya
3.1 Akuisi Data
Data sampel yang digunaka penetasan selama empat dilakukan pemotretan diha mengalami perkembangan dan diasumsikan lurus tidak penilitian tidak dibahas miring. Hasil pemotretan stengahnya untuk data pe pelatihan adalah 100 dat proses peatihan mengguna untuk menguji kemampuan
unakan jaringan saraf tiruan multilayer perceptro
pelatihan dan proses pengujian. Setelah itu akan ntifikasi, baik itu hasil pelatihan atau hasil penguji telur ayam infertil akan dijelaskan pada bab selanjutnya
unakan adalah telur ayam telah diletakkan
empat hari, kemudian telur ayam dipotret oleh mac
dihari keempat pengeraman karena pada sa perkembangan embrio yang tampak jelas. Telur disusun secar
dak miring, dan tidak berotasi, hal ini dilakukan
pengolahan citra untuk objek yang mengalami dapat dilihat pada Gambar 3.2.
Citra telur yang dihasilkan oleh machine vision
an berupa citra telur yang disimpan dengan form lebar citra 225 pixel dan panjangnya tergantung
data sampel yang didapat adalah 225 citra
ata tersebut setengahnya digunakan untuk data pengujian. Jumlah data yang akan digunakan ata sampel terdiri dari 60 telur fertil dan 40 fert nakan 125 sampel data terdiri 100 telur fertil da
uan generalisasi aplikasi. Jumlah data sampel
lebih kecil dikarenakan p telur fertil. Data sample yang
3.2 Pengolahan Citra
Pengolahan citra dilakukan mudah diolah oleh program merupakan citra berwarna yaitu matrik R- layer, G-l memperhatikan tiga laye akan membutuhkan tiga selanjutnya konsep citra layer metric grayscale,da objek dapat dihitung dari selanjutnya.
Gambar 3.3 Pengolahan Citr
pencarian telur infertil lebih susah dari pada men
yang digunakan pada penilitian dapat dilihat pad
kukan untuk memperbaiki kualitas agar citra yang
gram. Citra telur yang dihasikan oleh dari ma
na (Gambar 3.3a), citra berwarna memilki tiga layer dan B-layer. Proses perhitungan selanjutnya ayer tersebut, artinya dalam proses penghitungan
iga perhitungan yang sama. Guna penyederhan itra berwarna yang terdiri dari tiga layer diubah
an hasil dari perubahan tersebut merupakan citra citra yang tidak memiliki warna kecuali derajat keabu
ini citra grayscale yang merupakan hasil pengola
ikan ke citra biner (Gambar 3.3c). Hal ini di
pengidentifikasian keberadaan objek (telur)
ebagian region dalam citra serta memfokuskan pada a ahkan dari latar belakangnya selanjutnya proper dari citra biner. Tahap pengolahan citra dijelask
3.2.1 Citra Keabuan
Tahap pemrosesan citra grayscale. Nilai R (merah), ah), G (hijau) dan B (biru) dari setiap piksel dijum
ilai dari proses ini adalah nilai keabuan (grays
Gambar 3.4 Flowchart proses grayscaling
yang diubah menjadi citra keabuan dapat dilihat pada
24
Gambar 3.5 Citra hasil proses grayscaling
3.2.2 Citra Biner
Tahap selanjutnya Citra grayscale kemudian akan diubah menjadi citra biner, yaitu citra yang hanya memiliki dua nilai warna, yaitu 0 (hitam) dan 254 (putih). Pada tahap ini ditentukan nilai threshold yang akan menjadi batasan. Pada penelitian ini nilai
threshold yang digunakan adalah 52. Nilai yang lebih kecil dari threshold diubah menjadi 0 dan nilai yang lebih besar dari threshold diubah menjadi 254. Flowchart
proses thresholding dapat dilihat pada gambar 3.6.
Contoh citra grayscale ya
Gam
3.3 Ekstraksi Fitur
Telur infertil mem dari telur fertil secara kasat saat diteropong akan lebi titik hitam menandakan adanya
Ekstraksi fitur dil dilakukan ekstraksi fitur te ekstraksi terhadap warna intensity, hue dan saturati
dilakukan untuk memperoleh nilai masing-masing ekstraksi fitur yang diekstraksi dap
Gambar
Untuk melakukan pengolahan citra yang menyimpan informasi titi
ang diubah menjadi citra biner dapat dilihat pada
bar 3.7 Citra hasil proses thresholding
memiliki beberapa karakterisitik yang dapat me sat mata, baik dari warna maupun bentuk. Warna
ih jernih dan terang dibandingkan telur fertil yang
adanya perkembangan embrio didalamnya. dilakukan pada penilitian terbagi menjadi dua ba itur terhadap warna telur dan pada bentuk telur selan
a telur dilakukan untuk memperoleh kuantisasi
ation. Sedangkan untuk ekstraksi fitur terhadap
peroleh nilai shape index, roundness dan elongati
ekstraksi fitur tersebut disimpan dalam satu matrik apat dilihat pada gambar 3.8
0 3 4 6
Warna Bentuk
Hue Sat Inten SI R E
bar 3.8 Matrik penyimpanan nilai fitur
n ekstraksi fitur terhadap citra telur terlebih dahulu mengubah citra warna menjadi citra biner titik koordinat permukaan telur, piksel putih
26
permukaan telur dan piksel hitam menandakan latar belakang telur yang tidak perlu dihitung. Setelah koordinat permukaan telur didapat, nilai fitur warna dan bentuk masing-masing dihitung dan akan dibahas pada bab selanjutnya
3.3.1 Ekstraksi Fitur Warna Telur
Pada penelitian ini, Citra warna telur yang dihasilkan oleh machine vision merupakan citra berwarna yang memiliki 3 layer matrik yaitu R- layer, G-layer dan B-layer. Ketiga warna tersebut dinamakan warna pokok (primaries) dan sering disingkat sebagai warna dasar RGB. Ekstraksi warna telur pada penelitian ini menggunakan atribut warna intensity, hue dan saturation yang telah dikonversi dari nilai warna RGB.
a. Intensity
Intensity adalah atribut warna yang menyatakan jumlah cahaya yang diterima oleh mata tanpa mempedulikan warna, nilai intensity merupakan hasil rata rata dari nilai RGB, artinya tingkat cahaya yang dapat diserap mata pada objek yang diteliti tanpa memperhitungkan warna sama dengan nilai rata rata RGB, semakin besar nilai intensitas suatu citra semakin terang citra tersebut. Nilai intensity pada citra telur berbanding lurus dengan besarnya peluang objek tersebut infertil. Nilai intensity dapat dicari dengan formula persaman (3) pada bab sebelumnya.
27
Gambar
Proses dimulai dengan ini informasi piksel hitam puti warna dari citra RGB, varia variabel lebar berisi juml digunakan untuk pengul permukaan telur, dan vari nilai hue setiap piksel perm syarat nilai y lebih ke pengulangan kedua dengan pengecekan terhadap citra sama dengan 0, lakukan pe didapat atau nilai piksel penambahan satu pada nil dengan jumlah piksel leba
3.9 Flowchart fitur ekstraksi nilai intensity
i nilai intensity dapat dilihat pada gambar 3.10
bar 3.10 Nilai intensity hasil fitur ekstraksi warna
na yang menyatakan warna sebenarnya, biasan n menentukan apakah cahaya warna tersebut (greenness) dan lain sebagainya. Nilai hue dapat
da bab sebelumnya.
proses penghitungan nilai hue dapat dilihat pada
inisialisasi awal untuk beberapa variabel. Variabe putih dari citra biner, variabel imgOri berisi inform variabel tinggi berisi jumlah piksel yang mewaki
mlah piksel yang mewakili lebar citra, varia ngulangan, variabel A digunakan untuk menyimpan
riabel H, intenHTemp dan hue digunakan untuk
permukaan telur. Selanjutnya dilakukan pengulangan ecil dari pada tinggi, apabila syarat terpen dengan syarat nilai x lebih kecil dari pada leb
tra berkoordinat (x,y), apabila nilai pixel berko
an penghitungan nilai hue pada piksel tersebut. Apab
sel berkoordinat (x,y) tidak sama dengan nilai x. pengulangan terus dilakukan hingga ebar citra, dan setiap pengulangan lakukan penju
29
hue dari masing-masing piksel yang telah dicheck, apabila nilai x sama dengan lebar lakukan penambahan satu pada nilai y, dan lakukan pengulangan x hingga nilai y sama dengan nilai tinggi. Apabila nilai y sama dengan tinggi lakukan pembagian nilai penjumlahan hue terhadap luas permukaan telur. Proses selesai.
Start
y 0
x 0
x x + 1
y y + 1 No
End No
img(x, y) = 255
imgOri(x, y) = R G B H atan2(sqrt(3)*(G -B)),2*R - G – B)
HTemp H+HTemp
A A+1
Yes
No Inisialisasi
img (hasil biner) ImgOri(RGB) tinggi img(height)
lebar img(width) x, y, H, A=0, HTemp=0, Hue
y < tinggi
Yes
x < lebar
Yes
H HTemp/A
Contoh hasil eks
Gambar
c. Saturation
Saturation adalah Atribut dengan kata lain nila mempengaruhi warna sua – 255). Jika nilai saturation terdapat hue (kemurnian terhadap warna cahaya. pada bab sebelumnya. Flowchart proses 3.13. Proses dimulai den berisi informasi piksel hit piksel warna dari citra RGB, citra, variabel lebar berisi digunakan untuk pengul permukaan telur, dan penghitungan nilai saturat pengulangan dengan syar lakukan pengulangan kedua pengecekan terhadap citra sama dengan 0, lakukan
ekstraksi nilai hue dapat dilihat pada gambar 3.1
bar 3.12 Nilai hue hasil fitur ekstraksi warna
ribut warna yang menyatakan tingkat kemurnian war lai saturation menyatakan jumlah warna
atu objek .Nilai saturation digunakan terletak pa
saturation sama dengan 0 maka dapat disimpulkan pad n warna), dengan indikasi jumlah warna putih
Nilai saturation dapat dicari dengan formula
es penghitungan nilai saturation dapat dilihat
ngan inisialisasi awal untuk beberapa variabel. hitam putih dari citra biner, variabel imgOri beri
GB, variabel tinggi berisi jumlah piksel yang m
berisi jumlah piksel yang mewakili lebar citra, vari ngulangan, variabel A digunakan untuk menyimpan
variabel sat, satTemp dan saturation digunaka
turation setiap piksel permukaan telur. Selanjutn syarat nilai y lebih kecil dari pada tinggi, apabila syara
dua dengan syarat nilai x lebih kecil dari pada le tra berkoordinat (x,y), apabila nilai pixel berkoordiant
lakukan penghitungan nilai hue pada piksel tersebut.
31
saturation didapat atau nilai piksel berkoordinat (x,y) tidak sama dengan nol lakukan penambahan satu pada nilai x. pengulangan terus dilakukan hingga nilai x sama dengan jumlah piksel lebar citra, dan setiap pengulangan lakukan penjumlahan nilai
saturation dari masing-masing piksel yang telah dicheck, apabila nilai x sama dengan lebar lakukan penambahanan satu pada nilai y, dan lakukan pengulangan x hingga nilai y sama dengan nilai tinggi. Apabila nilai y sama dengan tinggi lakukan pembagian nilai penjumlahan saturation terhadap luas permukaan telur. Proses selesai.
Start
y 0
x 0
x x + 1
y y + 1 No
End No
img(x, y) = 255
imgOri(x, y) = R G B sat 1-3/(R+G+B)*min(R,G,B)
satTemp sat+satTemp
A A+1
Yes
No Inisialisasi
img (hasil biner) ImgOri(RGB) tinggi img(height)
lebar img(width) x, y, sat, A=0, satTemp=0,
saturation
y < tinggi
Yes
x < lebar
Yes
Gambar 3.13 (Zhihui Zhu et. al, 2011) s
Gambar 3.15 Contoh F
3.13 Flowchart fitur ekstraksi nilai saturation
kstraksi nilai saturation dapat dilihat pada gambar
.14 Nilai saturation hasil fitur ekstraksi warna.
entuk Telur
h bundar dan bulat dibandingkan telur fertil, dal arameter yang diekstrak dari bentuk bentuk telur sep
a, garis mayor dan garis minornya.
.15 contoh fitur bentuk yang diekstrak berda tu, garis mayor (a), garis minor (b) dan parame
berdasarkan daerah (region-based) menggambarkan be
karakteristik internal, contohnya adalah piksel
au disebut juga luas suatu daerah. Pada penelitian
adalah Shape Index (SI), Roundness (R) dan Elo
2011) sudah menformulakan sebagai berikut:
Contoh Fitur Ekstraksi berdasarkan batas (boundar
33
a. Shape Index
Pada penelitian ini shape index digunakan untuk melihat ukuran telur sesuai dengan bentuk telur tersebut. Nilai shape index berbandng lurus dengan nilai garis pixel mayor dan berbanding terbalik dengan jumlah pixel garis minornya.
Shape index dapat dicari menggunakan formula pada persamaan (6) bab sebelumnya.
b. Kebundaran (Roundness)
Kebundaran (roundness) merupakan ukuran yang menyatakan kebundaran garis luar pada gambar telur . Peluang infertilnya sebutir telur berbanding lurus dengan kebundaran (roundness) telur. Roundness dapat dicari menggunakan formula pada persamaan (7) bab sebelumnya.
c. Kelonjongan (Elongation)
Peluang infertile sebutir telur berbanding terbalik dengan ukuran kelonjongan telur tersebut. Nilai kelonjongan sebutir telur dapat dicari dengan formula pada persamaan (8) bab sebelumnya.
Setelah fitur atau karakteristik diekstrak dari fitur bentuk dan warna terdapat perbedaan nilai intensity, hue, saturation, shape index, roundness dan elongation
34
Gambar 3.16 Contoh perbedaan nilai fitur telur infertil dan fertile.
3.4 Multilayer Perceptron
Setelah nilai fitur diperoleh dari proses ekstraksi maka tahap selanjutnya bisa dilakukan yaitu identifikasi menggunakan jaringan multilayer perceptron untuk menentukan data sampel telur yang telah dikumpulkan fertil atau infertil. Pada tahap ini nilai fitur yang telah diekstraksi digunakan sebagai nilai neuron di lapisan masukan jaringan multilayer perceptron. Kemudian data sampel diidentifikasi melalui dua proses, pertama proses pelatihan dan kedua proses pengujian. Proses pelatihan dilakukan dengan menggunakan nilai fitur yang diperoleh dari data latihan, pengklasifian data bisa dilakukan setelah jaringan dilatih hingga menghasilkan bobot yang optimal. Setelah bobot optimal jaringan multilayer perceptron didapat proses pengujian dapat dilakukan dengan menggunakan nilai fitur dari data uji. Sebelum proses pelatihan dan pengujian jaringan multilayer perceptron dirancang terlebih dahulu.
3.4.1 Perancangan Multilayer Perceptron
Enam nilai fitur yang didapat pada tahap fitur ekstraksi dijadikan jumlah neuron di lapisan inputan jaringan multilayerperceptron. Untuk lapisan keluaran jaringan hanya butuh satu neuron untuk menentukan data telur fertil atau infertil. Dan untuk lapisan tersembunyi jumlah neuron yang digunakan dua kali lipat jumlah neuron di lapisan masukan yaitu 12 neuron.
Jaringan multilayer perceptron yang dibangun mengunakan satu lapisan tersembunyi, fungsi aktivasinya menggunakan fungsi sigmoid biner, inisialisasi yang dilakukan secara acak, laju pembelajaran yang digunakan 0.02 (Thota et. al, 2013), momentum 0.5, dan maksimum epoch untuk iterasi 10000.
35
Gambar 3.17 Arsitektur jaringan saraf tiruan multilayer perceptron
Berdasarkan gambar 3.17, rincian rancangan arsitektur jaringan saraf tiruan yang digunakan adalah :
1. 1 lapisan input. Lapisan input terdiri dari unit-unit input mulai dari unit input 1 sampai unit input i, dimana i = 6.
2. 1 lapisan tersembunyi. Lapisan tersembunyi terdiri dari unit-unit tersembunyi mulai dari unit tersembunyi 1 sampai unit tersembunyi j, dimana j = 12.
3. 1 lapisan output. Lapisan 1 unit output yaitu 1
4. x1 sampai x6 merupakan unit-unit lapisan input, y1 merupakan unit lapisan output
dan z1 sampai z12 merupakan unit-unit lapisan tersembunyi.
36
3.4.2 Proses Pelatihan
Pada tahap ini jaringan saraf buatan multilayer perceptron dilatih supaya mampu membedakan data telur fertil dan infertil. Pelatihan dilakukan berulang-ulang dengan parameter yang telah ditentukan hingga error keluaran lebih kecil dari minimum toleransi dan jumlah pengulangan mencapai maksimal epoch. Bobot optimum terkahir yang dihasikan oleh proses pelatihan disimpan dan digunakan pada proses pengujian. Algoritma pelatihan dapat dilihat di bab 2.6.
3.4.3 Proses Pengujian
BAB 4
IMPLEMENTASI DAN PERANCANGAN
4.1 Implementasi
Analisis dan perancangan jaringan saraf buatan untuk identifikasi telur ayam telah dilakukan di bab sebelumnya harus diiplementasikan dalam bentuk kode pemrograman agar dapat dilakukan pengujian untuk mengetahui jaringan ini dapat mengidentifikasi telur ayam tersebut fertil atau infertil.
Pada penelitian ini, pengkodean dilakukan menggunakan bahasa pemrograman C++. Compiler yang digunakan adalah GNU GCC 4.7.1 yang digunakan melalui IDE Codeblocks 12.12. Ada dua modul tambahan yang digunakan dalam pengkodean pada peneitian ini. Modul CImg digunakan untuk mengolah gambar seperti pengambilan nilai RGB pada tiap piksel gambar dan lain lain, modul ini dapat diunduh dari situs resminya http://cimg.sourceforge.net. Dan modul MLP yang digunakan untuk proses pembangunan jaringan saraf tiruan multilayer perceptron, dan beberapa fungsinya di modifikasi untuk kepentingan penelitian, modul ini dibuat oleh Sylvain Barthélémy dan dapat diunduh situs pribadinya http://www.sylbarth.com/mlp.php. Fungsi-fungsi dari modul CImg dan MLP yang digunakan dapat dilihat pada tabel 4.1 dan 4.2
Tabel 4.1 Fungsi-fungsi CImg yang digunakan
Fungsi Deskripsi Fungsi
CImg<float>
img(filename)
Fungsi untuk membuat objek dengan nama img dari kelas CImg dengan tipe template pixel float. Filename (string) adalah nama file yang akan dijadikan objek.
38
Tabel 4.1 Fungsi-fungsi CImg yang digunakan (Lanjutan)
Fungsi Deskripsi Fungsi
img.save(filename) Fungsi untuk menyimpan objek CImg dengan nama img ke
file citra dengan nama filename (string). Pada filename dituliskan juga format citra yang akan disimpan.
Contoh :img.save(“img.bmp”);
img(x, y, 0) Fungsi untuk mendapatkan nilai warna dari objek CImg
dengan nama img pada koordinat piksel (x, y) dan channel
pertama, yaitu 0.
Contoh : img(10, 20, 0);
Selain itu, untuk mengubah nilai piksel pada koordinat dan
channel tertentu juga menggunakan fungsi ini.
Contoh : img(10, 20, 0) = 254;
img.width() Fungsi untuk mendapatkan nilai lebar dari objek CImg
dengan nama img.
img.height() Fungsi untuk mendapatkan nilai tinggi dari objek CImg
dengan nama img.
Tabel 4.2 Fungsi-fungsi MLP yang digunakan
Fungsi Deskripsi Fungsi
MultiLayerPerceptron
mlp (int nl, int
npl[])
Fungsi untuk membuat objek dengan nama mlp dari kelas MultiLayerPerceptron dengan dua tipe data. nl (Integer) adalah jumlah lapisan yang akan digunakan pada jaringan multilayer perceptron, dan npl (Integer) adalah array integer yang terdiri dari jumlah neuron pada setiap lapisan.
39
Tabel 4.2 Fungsi-fungsi MLP yang digunakan (Lanjutan)
Fungsi Deskripsi Fungsi
MultiLayerPerceptron mlp(3,layer);
Pada contoh diatas membuat jaringan multilayer perceptron dengan tiga lapisan, satu lapisan masukan, satu lapisan tersembunyi dan satu lapisan keluaran. Dan jumlah neuron pada pada masing lapisan yaitu, enam neuron di lapisan masukan, 12 neuron di tersembunyi dan 1 dikeluaran.
mlp.Run
(fname,maxiter)
Fungsi untuk menjalankan proses pelatihan jaringan untuk mendapatkan bobot. fname (string) nama file yang berisi data pelatihan dan maxiter adalah jumlah epoch atau jumlah iterasi maksimal
Contoh :mlp.Run("example.dat",10000);
mlp.Test(fname) Fungsi untuk menjalankan proses pengujian jaringan
dengan bobot yang telah didapat. fname (string) nama file yang berisi data uji.
Contoh :mlp.Run("test.dat”);
4.2 Pengujian
Setelah tahap implementasi dilakukan pengujian terhadap jaringan saraf tiruan
multilayer perceptron untuk mengidentifikasi telur infertil dan telur fertil.
4.2.1 Persiapan Jaringan
40
dari nilai fitur yang diekstrak, data bisa dilihat pada tabel 4.3. Lapisan tersembunyi terdiri dari 12 neuron dan lapisan keluaran terdiri dari satu neuron.
Tabel 4.3 Nilai nilai fitur yang dijadikan nilai neuron di lapisan input
Sampel Intensity Hue Saturation Shape
index Roundness Elongation
41
Tabel 4.3 Nilai nilai fitur yang dijadikan nilai neuron di lapisan input
(Lanjutan )
Sampel Intensity Hue Saturation Shape
index Roundness Elongation
42
Tabel 4.3 Nilai nilai fitur yang dijadikan nilai neuron di lapisan input
(Lanjutan )
Sampel Intensity Hue Saturation Shape
index Roundness Elongation
72 116.72 18.2 73.45 122.83 119.19 49.64
Data dilatih menggunakan dengan parameter pelatihan, yaitu laju pembelajaran dan momentum yang nilainya akan dicoba hingga menemukan tingkat pendeteksian tertinggi.
43
Setelah Jaringan saraf tiruan multilayer perceptron dilatih, dilakukan pengujian tingkat memorasi dan generalisasi. Tingkat memorasi diuji mengunakan data pelatihan dan generalisasi diuji menggunakan data uji
4.2.2.1 Hasil Uji Memorasi
Data yang digunakan untuk uji memorasi adalah data latihan, yaitu 100 citra telur terdiri dari 40 citra telur infertil dan 60 citra telur fertil (Lampiran A), menggunakan nilai laju pembelajaran 0.0005 dan momentum sebesar 0.02. Hasil pengenalan data latihan jaringan multilayerperceptron dapat dilihat pada table 4.4
Tabel 4.4 Hasil pengenalan data latihan multilayer perceptron
44
Tabel 4.4 Hasil pengenalan data latihan multilayer perceptron (Lanjutan)
45
Tabel 4.4 Hasil pengenalan data latihan multilayer perceptron (Lanjutan)
Table diatas merupak dilatih sebanyak 10000 kali threshold sebesar 0.9. Apabi dengan 0.9 maka telur te 100 sampel telur yang di dengan nilai output 0.9 fertil sesuai statemen logika lebih besar dari nilai threshold berbanding terbalik dengan infertil. Begitu juga pa mendeteksi telur tersebut tertulis pada program dengan threshold maka telur te berbanding terbalik dengan infertil. Hasil uji memoras
Grafik diatas menun dilatih, dengan nilai threshold pendeteksian jaringan, jadi 94. 98 dari 100 sampel y
erupakan hasil dari uji memorasi terhadap data telur
kali. Normalisasi dilakukan pada lapisan output Apabila nilai neuron pada lapisan output lebih tersebut akan dideteksi infertil, begitu juga seb di uji pada program terdapat 2 kesalahan. Pada .9066 , program mendeteksi telur tersebut fertil
gika yang tertulis pada program dengan perinta
eshold maka telur fertil. Pernyataan bahwa sampel gan fakta yang sebenarnya, sampel ke 30 meru ada sampel ke 94 dengan nilai output 0.86 ut infertil, pernyataan infertil sesuai statemen dengan perintah jika output lebih kecil sama
tersebut infertil. Pernyataan bahwa sampel k gan fakta yang sebenarnya, sampel ke 94 meru asi dapat disimpulkan dan dilihat pada grafik gam
Gambar 4.1 Grafik uji memorasi
nunjukkan hasil memorasi jaringan terhadap data
threshold 0.9, lingkaran merah menunjukka jadi terdapat dua kesalahan deteksi pada sampel 30
yang hasil pendeteksian jaringan multilayerperceptr
47
Jadi dengan nilai error 0.02, disimpulkan dalam uji memorasi jaringan mampu mendeteksi data telur dengan akurasi 98%.
4.2.2.2 Hasil Uji Generalisasi
Data yang digunakan untuk uji generalisasi adalah data uji, yaitu 125 citra telur terdiri dari 25 citra telur infertil dan 100 citra fertil (Lampiran A). Hasil pengenalan data uji jaringan multilayerperceptron dapat dilihat pada table 4.5.
Tabel 4.5 Hasil pengenalan data uji multilayer perceptron
48
Tabel 4.5 Hasil pengenalan data uji multilayer perceptron (Lanjutan)
49
Tabel 4.5 Hasil pengenalan data uji multilayer perceptron (Lanjutan)
50
Tabel 4.5 Hasil pengenalan data uji multilayer perceptron (Lanjutan)
No Input pernah dilatih. Normalisasi dilakukan pada lapisan output sama dengan normalisasi yang dilakukan dalam uji memorasi sebelumnya. Dari 125 sampel telur yang digeneralisasi terdapat 5 kesalahan. Pada sampel ke 3 dengan nilai output 0.9337, program mendeteksi telur tersebut fertile, pernyataan fertil sesuai statemen logika yang tertulis pada program dengan perintah jika output lebih besar dari nilai threshold
51
sebenarnya, sampel ke ke 27, 44, 103 dan 124 merupakan telur infertil. Hasil uji generalisasi dapat disimpulkan dan dilihat pada grafik gambar 4.2.
Gambar 4.2 Grafik uji generalisasi
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil analisis dan pengujian yang dilakukan pada bab-bab sebelumnya, maka kesimpulan yang dapat diambil adalah :
1. Nilai laju pembelajaran yang digunakan adalah 0.0005 dan momentum sebesar 0.02 untuk mencapai akurasi yang tinggi.
2. Pengujian tingkat pengenalan dilakukan melalui dua tahap, yaitu :
a. Uji generalisasi, yaitu pengujian tingkat pengenalan menggunakan data yang tidak dilatihakan. Tingkat pengenalan yang dicapai adalah 96%
b. Uji memorisasi, yaitu pengujian tingkat pengenalan menggunakan data yang dilatihkan. Tingkat pengenalan yang dicapai adalah 98%.
5.2 Saran
DAFTAR PUSTAKA
Ahad, A.,Fayyaz, A., Mehmood, T. 2002. Speech recognition using multilayer perceptron. Students Conference, 2002. ISCON '02. Proceedings. IEEE . 103 - 109.
Batsamhan, O. 2002. Mongolian character recognition using multilayer perceptron.
Neural Information Processing, 2002. ICONIP '02. Proceedings of the 9th
International Conference on . 621 – 625.
Das,K., Evans , M.D. 1992. Detecting Fertility of Hacthing es using machine vision and histogram characterization method. American Society of Agricultural and Biological Engineers. Michigan.
Faridah, Nopriadi, Alfa, A. 2008. Aplikasi mesin visi dalam pendeteksian fertilitas telur. Media Teknik Universitas Gajah Mada. 02165-3012.
Hariyanto, Didik. 2009. Studi penentuan nilai resistor menggunakan seleksi warna model HSI pada citra 2d. Universitas Negeri Yogyakarta. 1693-6930.
Lawrence,K.C., Smith,D.P., Windham,W.R., Heitschmidt,G.W., Park,Bosoon. 2008. Egg Embryo Development Detection with Hyperspectral Imaging.
International Journal of Poultry Science. 5 (10): 964-969.
54
Munir, R. 2004. Pengolahan Citra Digital dengan Pendekatan Alogritmik. Bandung: Informatika.
Putra, D. 2009. Sistem Biometrika, Konsep Dasar, Teknik Analisis Citra, dan Tahapan Membangun Aplikasi Sistem Biometrika. Yogyakarta: Andi.
Puspitaningrum, D. 2006. Pengantar Jaringan Saraf Tiruan. Yogyakarta: Andi.
Sarkar, A., Mandal ,J. K. 2012. Key generation and certification using Multilayer perceptron in wireless Communication. International Journal of Security, Privacy and Trust Management 1(5): 10.5121.
Sivaram, G.S.V.S, Hermansky, H. 2012. Sparse Multilayer Perceptron for Phoneme Recognition . Audio, Speech, and Language Processing, IEEE Transactions on. 23 – 29.
Smith,D.P., Lawrence,K.C., Windham,W.R., Heitschmidt,G.W. 2008. Fertility and Embryo Development of Broiler Hatching Eggs Evaluated with a Hyperspectral Imaging and Predictive Modeling System. International Journal of Poultry Science 7 (10): 1001-1004.
Thota, Lalitha Saroja,. Changalasetty, Suresh Babu. 2013. Optimum learning rate for classification problem with mlp in data mining.International Journal of Advances in Engineering & Technology.2231-1963.
55
Yuan, Kou. Ju, Kai. 2011. Multilayer Perceptron for Prediction of 2006 World Cup Football Game. Hindawi Publishing Corporation Advances in Artificial Neural Systems. 10.1155.
Zhu ,Zhihui, Ma ,Meihu. 2011. The identification of white fertile eggs prior to incubation based on machine vision and least square support vector machine.
LAMPIRAN A : DATA SAMPEL
1. Data latihan
Pola Citra Pola Citra Pola Citra Pola Citra
0 1 2 3
Infertil Infertil Infertil Infertil
4 5 6 7
Infertil Infertil Infertil Infertil
8 9 10 11
Infertil Infertil Infertil Infertil
12 13 14 15
Infertil Infertil Infertil Infertil
16 17 18 19
Infertil Infertil Infertil Infertil
20 21 22 23
Infertil Infertil Infertil Infertil
24 25 26 27
57
28 29 30 31
Infertil Infertil Infertil Infertil
32 33 34 35
Infertil Infertil Infertil Infertil
36 37 38 39
Infertil Infertil Infertil Infertil
40 41 42 43
Fertil Fertil Fertil Fertil
44 45 46 47
Fertil Fertil Fertil Fertil
48 49 50 51
Fertil Fertil Fertil Fertil
52 53 54 55
58
56 57 58 59
Fertil Fertil Fertil Fertil
60 61 62 63
Fertil Fertil Fertil Fertil
64 65 66 67
Fertil Fertil Fertil Fertil
68 69 70 71
Fertil Fertil Fertil Fertil
72 73 74 75
Fertil Fertil Fertil Fertil
76 77 78 79
Fertil Fertil Fertil Fertil
80 81 82 83
Fertil Fertil Fertil Fertil
59
Fertil Fertil Fertil Fertil
88 89 90 91
Fertil Fertil Fertil Fertil
92 93 94 95
Fertil Fertil Fertil Fertil
96 97 98 99
Fertil Fertil Fertil Fertil
2. Data uji
Pola Citra Pola Citra Pola Citra Pola Citra
0 1 2 3
Infertil Infertil Infertil Infertil
4 5 6 7
Infertil Infertil Infertil Infertil
8 9 10 11
Infertil Infertil Infertil Infertil
60
Infertil Infertil Infertil Infertil
16 17 18 19
Infertil Infertil Infertil Infertil
20 21 22 23
Infertil Infertil Infertil Infertil
24 25 26 27
Infertil Fertil Fertil Fertil
28 29 30 31
Fertil Fertil Fertil Fertil
32 33 34 35
Fertil Fertil Fertil Fertil
36 37 38 39
Fertil Fertil Fertil Fertil
40 41 42 43
61
44 45 46 47
Fertil Fertil Fertil Fertil
48 49 50 51
Fertil Fertil Fertil Fertil
52 53 54 55
Fertil Fertil Fertil Fertil
56 57 58 59
Fertil Fertil Fertil Fertil
60 61 62 63
Fertil Fertil Fertil Fertil
64 65 66 67
Fertil Fertil Fertil Fertil
68 69 70 71
62
72 73 74 75
Fertil Fertil Fertil Fertil
76 77 78 79
Fertil Fertil Fertil Fertil
80 81 82 83
Fertil Fertil Fertil Fertil
84 85 86 87
Fertil Fertil Fertil Fertil
88 89 90 91
Fertil Fertil Fertil Fertil
92 93 94 95
Fertil Fertil Fertil Fertil
96 97 98 99
Fertil Fertil Fertil Fertil
63
Fertil Fertil Fertil Fertil
104 105 106 107
Fertil Fertil Fertil Fertil
108 109 110 111
Fertil Fertil Fertil Fertil
112 113 114 115
Fertil Fertil Fertil Fertil
116 117 118 119
Fertil Fertil Fertil Fertil
120 121 122 123
Fertil Fertil Fertil Fertil
124