Dl4
1
OTOMATISASI SIZE GRADING BENIH IKAN
Oleh : Seniatussa'adah C 64103028
PROGRAM STUD1 ILMU DAN TEKNOLOGI KELAUTAN FAKULTAS PERIKANAN DAN ILMU KELAUTAN INSTITUT PERTANIAN BOGOR 2008
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa Skripsi yang berjudul :
OTOMATISASI SIZE GRADING BENIEI IKAN adalah benar mempakan hasil karya sendiri dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Semua sumber data dan informasi yang berasal atau d i i t i p dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka dibagian akhir Skripsi ini. Bogor, Mei 2008
Seniatussa'adah C64103028
SENIATUSSA'ADAH. OTOMATISASI SIZE GRADING BEhTH IKAN. Dibimbing oleh Prof. Dr. Ir. Indra Jaya, M.Sc dan Dr. Ir. Henry M. Manik, M. T. Pada beberapa jenis benih ikan, ukuran akan sangat menentukan seberapa besar harga benih ikan tersebut di pasaran. Pada umumnya benih ikan dengan ukuran tertentu saja yang merniliki harga ekonomi yang sangat tinggi. Untuk optimasi nilai ekonomi benih ikan tersebut perlu dilakukan upaya agar penghitungan dan sortasi benih ikan dilakukan oleh alat yang dapat memisahkan sekaligw menghitung jumlah benih ikan yang dimasukkan kedalam alat tersebut secara efisien, akurat dan cepat bila dibandingkan dengan penghitungan dan pemisahan secara manual. Untuk menjamin keseragaman ukuran ikan maka diperlukan alat sortasi ikan berdasarkan ukuran tersebut. Untuk mencapai hasil kinerja alat sortasi yang baik diperlukan alat yang dapat mendeteksi panjang benih ikan secara otomatis dan efisien. Dalam penelitian ini proses pengujian dilakukan pada proses pendeteksian panjang ikan menggunakan program motion detector yang telah dibuat. Panjang benih ikan hasil pendeteksian secara otomatis didapat dari hasil ratarata jumlah pixel benih ikan per video yang terdeteksi oleh motion detector. Dengan menggunakan statistik uji t, diperoleh nilai t hitung sebesar -3,39 dengan wilayah kritik t < -2,31 atau t > 2,31. Hal ini berarti bahwa keputusan yang diambil adalah menolak Ho, yaitu panjang benih ikan hasil pengukuran manual tidak berbeda nyata dengan panjang benih ikan hasil pendeteksian otomatis.
OTOMATISASI SIZE GRADING BENIH IKAN
Skripsi
Sebagai salah satu syarat memperoleh gelar Sarjana Perikanan Pada Fakultas Perikanan dan Ilmu Kelautan Institut Pertanian Bogor
Oleh : Seniatussa'adah C 64103028
PROGRAM STUD1 ILMU DAN TEKNOLOGI KELAUTAN FAKULTAS PERIKANAN DAN ILMU KELAUTAN BOGOR INSTITUT PERT2008
Judul Nama NRP
: OTOMATISASI SIZE GRADING BENIH IKAN : Seniatussa'adah : C64103028
Disetujui, Pembimbing I
Pembimbing I1
Prof. Dr. Ir. Indra Java. M.Se. NIP : 131 578 799
Dr. Ir. Henry M. Manik, M.T. NIP :132 170 614
Mengetahui, ltas Perikanan d m Ilmu Kelautan
Tanggal lulus : 23 Mei 2008
KATA PENGANTAR Segala puji hanya untuk Allah swt, atas berkah, rahmat dan izin-Nya penulis dapat menyelesaikan skripsi yang berjudul Otomatisasi Size Grading Benih Ikan.
Skripsi ini merupakan salah satu syarat dalam memperoleh gelar sarjana pada Fakultas Perikanan dan Ilmu Kelautan, Institut Pertanian Bogor. Penulis nlengucapkan terima kasih sebesar-besarnya kepada : 1. Kedua orang tua yang selalu mendukung dan mendoakan tanpa mengenal
lelah. 2. Bapak Prof. Dr. Ir. Indra Jaya, M.Sc, dan Dr. Ir. Henry M. Manik, M.T.
selaku dosen pembimbiig yang telah m e m b i i i g penulis dengan pen& kesabaran.
3. Seluruh Staf dosen, Pengajar, dan Tata Usaha di lingkungan Departemen Ilmu dan Teknologi Kelautan. 4. Williandi Setiawan, S.Pi dan Muhamad Iqbal, S.Pi yang selalu membantu dalam proses penyelesaian skripsi ini dari awal hingga akhir. 5. Fredy Agusta, S.Pi dan Wini W. Hidayat yang selalu membantu penelitian.
6. Keluarga besar ITK 40 dan seluruh warga ITK-IPB atas persahabatan dan kekeluargaan selama penulis menempuh masa pendidiian.
6. Adik-adik tercinta yang selalu mendukung dengan senyuman dan tawa canda. 7. Seluruh pihak yang telah membantu kelancaran dalam menyelesaikan skripsi.
Semoga skripsi ini dapat bermanfaat bagi penulis dan seluruh pihak yang memerlukan.
Bogor, Mei 2008
Seniatussa'adah
DAFTAR ISI
........................................................................................ DAFTAR TAEEL .................................................................................
vii
........................................................................... DAFTAR LAMPIRAN .................................................................
x
DAFTAR ISI
ix
DAFTAR GAMBAR
.
2 TINJAUAN PUSTAKA 2.f . Distribusi ukuran ikan
xi
................................................................
.............................................................
2.2. Sortasi ...................................................................................... 2.2. 1.. Teknik grading dan soi.tir 2.3. OpenCV ........................................................................ :........... 2.3.1. Motion deteciion ................................................................. 2.3.2. Motion tracking .................................................................. 2.3.3. Imaging system 2.4. Aptikasi umum di dunia perkanan ..........................................
...................................................
...................................................................
.
3 METODE PENELITIAN ............................................................. 3.1. Tempat dan w&u pettelitian ................................................. 3.2.Alatdanbahan 3.3. Raucangan penelitian 3.3.1. Konskruksi alat 3.3.2. Perekamanimageikan .......................................................... 32.3. Perancangan perangkat lunak 3.3.4. Sistem kalibrasi dan pengambitan keputusm
13 13 13 14
....................................................................... .............................................................. ..................... . . . ................................ 16 17 ......................................at....IS .................... 19
.
4 HASIL DAN PEMBAHASAN ..................................................... 4.1. Hasii ......................................................................................... 4.1.1 Prototihx:alat 4.1.2. Perangkat iunak 4.2. Pembahasan 4.2.1. Uji teknis 4.2.2. Perfonnansi sistem pendeteksi 4.2.3. Faktor-faktor yang mmpengaAthi ketepatari aiat I) Kecepatan benih ikan 2) Posisi beaiti ikan 3) Jarak antar betrih ikau
.
...................................................................... ................................................................. ............................................................................. ........................................................................... .......................................... ............. ..........,........................................ ........................................................... ................................................... vii
.
5 KESIMPULAN DAN SARAN ..................................................... 34 5.1. i k ~ h p ~ i t d............................................................................... ~ 3 5.2. Saran ......................................................................................... 35
Hataman
1. Ukuran panjang ikan
.......................................................................
.
2 Block matching algoritm @MA)
....................................................
3 . Parameter pokok sebuah imaging system
4
7
........................................ 10
. ........................................ 5. Rmcang bangun alat sortir benih ikan ........................................
15
................................................................
17
4 Flowchart p e r e n c a m sistem sortasi
6. Teknik pengambiian data
16
......................... 18 8. Diagram alir proses kalibrasi rata-mta paajaag benih ikan ............. 19 9. Prototipe alat sortir b e d ikan otomatis ........................................ 21 7. D i a p ati fmancangan sistem pamgkat lunak
10. Proses perekaman video ikan menggunakan togitech Quickcam
.
11 Tarnpitan muka program
...
.................................................................
22 25
12. Tampilan proses pendeteksian objek menggunakan Motion detector 4
25
.................................................
26
13.Tampilan hasil pendetrksian objek
14. Grafik rata-rataserta nilai minimum dan m a k s i panjang benih
ikan
................................................................................................ 29
........................................ 16. Posisi horizontal overlap pada benih ikan ....................................... 15.Posisi vertical overlap pada benih ikan
31 31
Halaman
...............................................................
38
2. Rancangan alat sortir benih ikan beserta ukurannya dalam cm tampak atas dan samping .............................. ....,.,... . . ,. . . . . . . . . .
39
1. kfetode penibuatan hopper
3. Feiiritah daim pernnc.angm alat wrtir hnih ikan otomatis
..........................................................
40
4. Bahasa pemrogramsn untuk filter &lam program Motion detector ....
47
5. Bahm pemtuymaii Defector4 dalam p m b m moiion detector
50
6.
.... Panjmg 'mnih i'mhasii pendeteksian otomatis dalarn bentuk pixel .
55
menggunakan AwCad 2002
7. Panjang benih ikan sebeium dan setelah di kalibrasi ke d a b em......
62
..........................
63
8. Anaiisis statistik uji t dan koefisien keragammnya
1.1. Latar belakang
Produksi dan perdagangan ikan di Indonesia merupakan salah satu kegiatan ekonomi yang penting. Kegiatan produksi hams diimbangi oleh pengembangan teknologi tepat guna yang dibutuhkan untuk meningkatkan dan mendukung pemasaran produksi. Salah satu langkah yang menentukan dalam pemasaran ikan adalah keseragaman ukuran ikan, begitu pun pada pemasaran benih ikan. Ukuran pada beberapa jenis benih ikan akan sangat menentukan seberapa besar harga benih ikan tersebut di pasaran. Pada umumnya benih ikan dengan ukuran tertentu saja yang memiliki harga ekonomi yang sangat tinggi. Untuk menjamin keseragarnan ukuran ikan maka diperlukan alat sortasi ikan berdasarkan ukuran tersebut. Para petani ikan biasanya menghitungjumlah benih ikan hasil pemuliaan terlebih dulu sebelum di jual ke pasaran. Cara menghitung benih umumnya dengan memakai takaran, yaitu dengan memakai sendok dan diitung perekor untuk benih ukuran gelondongan. Dengan kata lain petani ikan masih melakukan penghitungan dan sortasi benih ikan patin secara manual. Penghitungan dan pemisahan secara manual ini memerlukan konsentrasi yang cukup tinggi, tenaga kerja yang banyak dan waktu yang lama dalam pengerjaannya, sehingga sangat melelahkan. Masalah ini tentu saja harus diatasi untuk meringankan beban pekerjaan para petani ikan pada waktu men$tung
dan mensortasi benih ikan.
Untuk mengatasi masalah tersebut perlu dilakukan upaya agar penghitungan dan sortasi benih ikan dilakukan oleh alat yang dapat memisahkan sekaligus menghitung jumlah benih ikan yang dimasukkan kedalam alat tersebut secara
efisien, akurat dan cepat bila dibandingkan dengan pen&tungan dan pemisahan secara manual.
1.2. Tujuan Tujuan dari penelitian ini adalah menghasilkan prototipe alat sortasi benih ikan berdasarkan ukuran secara otomatis.
2. THJAUAN PUST
2.1. Distribusi ukuran benih ikan
Benih adalah anak ikan yang memiliki bentuk morfologi tubuh sudah definitif seperti induknya. Benih berbeda dengan induknya dalam ukuran dan tingkah laku reproduksinya saja. Tingkah laku makan Cfeeding habits) ikan stadia ini sudah mengarah kepada jenis makanan seperti yang dikonsumsi secara alami oleh induknya. Perilaku makan ikan herbivora sudah mulai tampak pada stadia benih, padahal pada stadia larva masih bersifat karnivora (predatory stage) (Effendi, 2004). Menurut Suseno (2000), penyediaan benih yang bermutu baik dalam jumlah cukup dan kontinu merupakan faktor paling penting dalam upaya pengembangan budidaya ikan konsumsi. Satuan produksi pembenihan ikan adalah jumlah atau populasi (ekor). Satuan ini biasanya diiyatakan sebagai ekorlsiklus produksi, ekorlvolume bak, atau ekorlbobot (jumlah) induk. Ukuran benih dinyatakan dalam panjang seperti cm atau inchi. Sebagai contoh, benih mas dan kerapu umumnya dinyatakan dalam cm (misalnya benih ukuran 2-3 cm, 3-5 cm, 7-9 cm, d& sebagainya), sedangkan benih patin dan diskus dinyatakan dalam inchi (misalnya 1' 2 inchi, 3/4 inchi, 1 inchi, 1'12 inchi, 2 inchi, dan sebagainya. Seringkali ukuran behih dinyatakan secara kualitatif berdasarkan kesepakatan yang berlaku dan diketahui bersama (Effendi, 2004). 2.2. Sortasi
Pengkelasan mutu atau pemisahan berdasarkan kualitas tergantung dari sifat bahan pangan secara menyeluruh. Tigkat kualitas mempunyai konotasi yang
berbeda. Faktor-faktor yang relatif penting dalam proses sortasi berubah didalam satu grup material tergantung dari pada penggunaan akhimya (Wirakatakusumah, 1992). Secara umum ikan yang ditentukan kualitasnya dapat dikelompokkan berdasarkan ukuran, bentuk, kedewasaan (kematangan), keadaan bebas dari cacat, warna, dan keadaan bebas dari penyakit. Dalam menentukan ukuran panjang ikan ada dua jenis ukuran, yaitu ukuran panjang biasa dan panjang seluruhnya. Panjang biasa adalah jarak garis lurus antara ujung bagian kepala yang paling muka (biasanya ujung salah satu daxi rahang termuka) dengan pelipatan pangkal dari sirip ekor. sedangkan panjang seluruhnya adalah jarak garis lurus antara ujung bagian kepala yang terrnuka dengan ujung sirip ekor yang paling belakang (Gambar 1, Hasanudin, 1968).
Panjang Seluruhnya (Total Length, TL)
*
h
i Panjang Biasa (Fork Length, FL) i ?a
Gambar 1. Ukwan panjang ikan 2.2.1. Teknik grading dan sortir
Menurut Jensen (1990), ada berbagai metode untuk menggunakan alat grading dari tipe yang berbeda. Teknik hams kompatibel dengan jenis ikan dan situasi
grading, dan perlu mempertimbangkan perilaku dan kualitas air yang dibutuhkan oleh ikan. Pemt ikan h m s dalam keadaan kosong dan beberapa debris yang tak dikehendaki yang menghambat penyortiran h m s dipindahkan baik sebelum atau selama grading. Ikan umumnya padat selama grading dan oksigen dapat dihabiskan dengan cepat pada suatu area yang dilokalisir.sehingga penting untuk memelihara konsentrasi DO (Dissolved Oxygen) sedikitnya 5 ppm hingga 6 ppm di (dalam) grading atau holding area sepanjang waktu. Faktor yang mempengaruhi proses grading adalah tingkat kepadatan ikan, kondisi ikan (normal, kurus atau debur), suhu air, tingkat aktivitas ikan dan waktu grading (Jensen, 1990).
2.3. Intel Oped Source Computer Vision (Open CV) Intel Open Source Computer Vision, atau biasa disebut OpenCV, adalah sebuah library pemrosesan gambar dan algoritma computer vision. OpenCV menggunakan library pengolah gambar milik Intel (Intel's Image Processing LibraryIIF'L), yang merupakan kurnpulan dari fhgsi-fungsi pengolah gambar sederhana. OpenCV menggunakan DitectX, yang me~ptLkankumpulan APIs yang dikembangkan oleh Microsoft untuk hasil aplikasi multimedia dan permainan. (McDaniel, 2007). Contoh aplikasi dari OpenCV Library ini adalah Interaksi manusia-komputer (human-computer interactionA-ICI), identifkasi objek (object identification), pembagian dan pengenalan (segmentation and recognition), pengenalan wajah (face recognition), pengenalan gerak tubuh (gesture recognition), Motion
tracking, ego motion, pemahaman gerak (motion understanding), sbucturefrom motion (SFM), dan mobile robotic (www.opencv1ibrary.sourceforge.net). 2.3.1. Motion detection
Motion detection merupakan aksi pengenalan gerak fisik dalam sebuah area. Gerakan dapat dideteksi dengan cara mengukur perubahan kecepatan atau vektor pada sebuah objek atau objek padafield of view. Motion detection yang dilakukan oleh makhluk hidup, disebut motion perception (Phadtare, 2007). Menurut Phadtare (2007), teknik estimasi gerak menjadi dasar dari semua aplikasi kompresi video dan pernrosesan video. Estimasi gerak menghasilkan informasi gerakan dari sebuah urutan video. Gerak umumnya dilambangkan menggunakan vektor gerak (x,y). Vektor gerak menggambarkan perubahan letak sebuah pixel atau sebuah blok pixel dari tempat asalnya pada sebuah gerakan. Informasi gerak digunakan dalam kompresi video untuk menemukan kesesuaian blok (matching blok) terbaik dalam frame referensi dalam menghitung kekuatan terendah ,yang digunakan dalam perubahan laju pindai, untuk menghasilkan frame interpolasi temporer. Informasi gerak juga digunakan dalan aplikasi seperti motion compensated de-interlacing, video stabilisation, motion hacking dan yang lainnya. Terdapat beberapa jenis teknik estimasi gerak, antara lain : (1) Teknikpel-recursive, yang mengikuti vektor gerak untuk setiap pixel
(2) Teknikplane correlation, yang membentuk vector gerak dari korelasi antara frame sekarang and frame yang dijadikan referensi. Akan tetapi teknik yang paling banyak digunakan adalah block matching algorim? (Phadtare, 2007).
Block Matching Algoritm (BMA) menghitung vector gerak dari seluruh block
pixel dan bukan dari individual pixel (Gambar 2). Vector gerak yang sama berlaku pada seluruh pixel didalam sebuah blok. Hal ini dapat mengurangi kebutuhan perhitungan dan juga dapat menghasilkan vektor gerak yang lebih akurat karena sebuah objek umumnya terdiri dari kumpulan pixel.
Rafemnce Frame
CufrWitFnunrr
Gambar 2. Block matching algoritm (BMA)
Currentframe dibagi kedalam blok pixel dan estimasi gerak dilakukan secara
terpisah pada setiap blok pixel tersebut. Estimasi gerak dilakukan dengan cara mencari padanan blok pixel pada referenceframe yang paling cocok dengan current blok, blok yang sedang diukur. Blok pixel referensi dihasilkan dari
perpindahan tempat current blockpada referenceframe. Pertukaran ini disebut juga motion vector (MV). MV terdiri dari sepasang (x,y) nilai perpindahan tempat horizontal dan vertikal (Phadtare, 2007).
Kriteria dibawah ini sering digunakan untuk menghitung block matching, Kriteria tersebut adalah : Sum of Square Error (SSE) =
Sum of Absolute Difference (SAD) =
dimana: C : Currentframe R : Referenceframe SSE menghasikan block matching yang lebih akurat, akan tetapi membutuhkan perhitungan yang lebih banyak. SAD menghasilkan block matching yang cukup baik dengan perhitungan yang lebih sederhana. Metode SAD lebih banyak digunakan untuk blockmatching. Metode lain yang dapat digunakan untuk block matcing antara lain : korelasi silang, jumlah pixel maksimum yang matching, dan yang lainnya (Phadtare, 2007). 2.3.2. Motion tracking Sebagai langkah awal sebuah algoritma tracking wama pada computer vision dibangun dan digunakan terhadap tracking wajah manusia. Computer vision algoritm dimaksudkan untuk membentuk sebagian interface perceptual agar cepat dan efisien. Algoritma baru yang dibangun disini mempakan dasar dari teknik non parametric yang baik untuk kenaikan densitas gradien dalam menemukan mode (peak)dari distribusi probabilitas yang disebut dengan Mean
shift aZgoritm. Mean shiff algoritm dimodifikasi untuk digunakan dalam mengatasi distribusi probablilitas perubahan warna yang dinamis yang diiasilkan dari urutan frame video. Algoritma modifikasi ini disebut continuously adaptive mean shift (CAMSHIFT) algorithm (Bradski, 1998). Algoritma yang paling mirip dengan CAMSHIFT dikenal dengan mean shift algorithm. Mean shift algoritm merupakan teknik non-parametric yang memperhatikan distribusi gradien probabilitas untuk menemukan dominant mode (peak) terdekat. Menurut Bradski (1998), cara menghitung mean shift algoritm adalah seperti berikut: 1. Pilih ukuran search window 2. Pilih lokasi awal pada search window
3. Hitung mean location dalam search window
4. Pusatkan search window di mean location yang dihitung pada langkah 3
5. Ulangi langkah 3 dan 4 hingga convergence (atau hingga mean location sedikit bergerak dari preset treshold) Untuk distribusi probabilitas gambar 2D diskrit, mean location (centroid ) dalam jendela pencari ( langkah 3 dan 4 diatas ) didefinisikan sebagai berikut : Temukan zeroth moment
Temukan first moment untuk x dan y
Maka lokasi mean search window ( centroid ) adalah Xc
0 --
Moo
MI0 ;y,= -
.............................................................
..(6)
Moo
Dengan I(x,y) adalah nilai pixel brobabilitas ) pada posisi (x,y) dalam gambar, dan x dan y terdapat dalam range jendela pencari (search windows ) (Bradski, 1998). 2.3.3. Imaging system
Sebelum mendapatkan, menganalisa dan memproses sebuah gambar, terlebih dahulu hams mengatur sistem pencitraan. Terdapat 5 faktor dalam sistem pencitraan yaitu : bidang pandang, jarak pandang, resolusi, tinggi bidang pandang, dan ukuran sensor. Gambar 3 dapat menjelaskan konsep sistem pencitraan :
Gambar 3. Parameter pokok sebuah Imaging System. (www.edmundoptics.com)
Keterangan : (1) Resolusi
: ukuran fitur terkecil dalam gambar anda yang masih dapat
dibedakan oleh sebuah imaging system. (2) Resolusi pixel
: Jumlah minimum pixel yang dibutuhkan untuk
merepresentasikan sebuah gambar yang ingin diperiksa. (3) Lapang pandang : area sebuah ganlbar yang masih dapat ditangkap kamera.
(4) Jarak pandang
: Jarak antara lensa kamera dengan objeklgambar yang
diambil. (5) Ukuran sensor
: Ukuran dari area sensor yang aktif, umumnya dibatasi oleh
dimensi horizontal sebuah sensor.
(6) Depth ofj5eld
: Ketinggian maksimurn objek yang terdapat dalam focus
2.4. Aplikasi umum di dunia perikanan Banyak ikan yang dijual berdasarkan ukuran atau grade. Grading meningkatkan nilai pasar panen dengan penyediaan ukuran atau grade produk yang diinginkan oleh pelanggan. Sebagai contoh, Minnows (nama ikan sungai) kecil harga per-pon-nya lebih besar dibanding ikan besar. Ikan pemakan dari species yang sama harganya bisa dua kali lipat dari ikan besar yang digunakan untuk umpan (Jensen, 1990). Beberapa jenis merupakan kanibal dan size grading secara berkala adalah penting untuk memperoleh survival dan hasil yang baik serta untuk mengeliminasi ikan-ikan kerdil (runts). Largemouth bass, striped bass, dan campuran mereka adalah contoh dari ikan kanibal.
Proses grading menyediakan suatu kesempatan untuk memindahkan jenis ikan yang tidak dikehendaki, organisma yang tidak diinginkan, dan tumbuhan air yang mengganggu, atau mencemari ketersediaan air (Jensen, 1990).
3. METODE PENELITIAN 3.1. Tempat dan waktu penelitian Penelitian ini dilaksanakan di Laboratorium Akustik dan Instrurnentasi Kelautan, Departemen Ilmu dan Teknologi Kelautan, Fakultas Perikanan dan Ilmu Kelautan, Institut Pertanian Bogor, pada Bulan April hingga September 2007. 3.2. Alat dan bahan
Alat dan bahan yang digunakan dalam penelitian ini disajikan pada Tabel 1. Tabel 1. Tabel alat dan bahan serta kegunaanya Alat ( Spesifikasi I Kegunaan Note Book I - Microsoft Window I Memproses informasi yang didapat dari hasil perekaman - E c e s s o r 1.60 G, image -RAM 192 MB 1.3 MP Merekam image Web Camera Memotong papan kayu untuk Gergaji potong Gergaji dudukan alat Ukuran besar Untuk memotong alat yang akan Cutter & digunakan Gunting Mengoleskan Resin pada karton Ukuran kecil Kuas agar merata mengukur semua alat yang akan Penggaris 30 cm dibuat agar lebih akurat Bahan Tebal 1 mm Sebagai rangka Hopper Karton Resin + talcum Mencetak Karton yang akan 1 kg dijadikan Hopper (talk) 1 botol kecil Mengeraskan campuran Resin dan Catalyst talk lebih cepat 1 kaleng Menarnbal bagian-bagian yang Dempul dirasa belum rata Mengeraskan dempul lebih cepat 1 Hardener 1 Merekatkan talang air sehingga Lem Besi berfungsi sebagai jalur ikan Menghaluskan pemukaan Ukuran 60,80, 100 - - --..-alat . - -. Amplas Cat Dasar ISA M(J Memherikan warna dasar pada alat I Cat Luar I PILOX wama kunina I Memberikan wama agar terlihat I & biru lebih menarik
I
I
I
-
13
I
-
3.3. Rancangan penelitian Dalam tugas akhir ini dirancang sebuah sistem yang menggunakan komputer sebagai pengendali utama. Dalam perencanaan sistem semacam ini diperhatikan pula perencanaan untuk pengembangan perangkat lunak dan perangkat keras. D i a g h alir perencanaan penelitian sistem sortasi ini diperlihatkan pada Gambar 4.
Q Mulai
0 Persiapan
4
Penyusunan dan perumusan masalah
Perancangan perangkat keras & perangkat lunak
C Perancangan model perangkat lunak
Kontruksi model perangkat keras Penggabungan Perangkat keras & perangkat lunak
4
I
Tidak
23 selesai
Gambar 4. Flowchart perencanam sistem sortasi Pada diagram alir gambar 4 tersebut terlihat bahwa pengerjaan perangkat keras dan perangkat lunak dilakukan secara terpisah. Untuk menguji perangkat keras, terlebih dahulu dilakukan perendaman alat untuk menguji kebocoran. Kemudian untuk menguji perangkat lunak dilakukan dengan melakukan perekaman benih ikan pada proses pendeteksian hingga proses kalibrasi.
Adapun langkah-langkah yang dilakukan dalam perancangan otomatisasi size
grading benih ikan ini meliputi proses, yaitu : 1. Proses konstruksi alat 2. Proses perekaman image ikan
3. Proses perancangan perangkat lunak 4. Proses kalibrasi dan pengambilan keputusan
3.3.1. Konstruksi alat Gambar rancang bangun alat sortir benih ikan dilakukan sebagai langkah awal dalam pembuatan alat agar dapat diietahui bentuk yang akan diciptakan. Perancangan alat sortir dalam bentuk gambar tersebut menggunakan program AutoCad Release 12. Pada Gambar 5 ditampilkan rancangan alat sortir benih ikan yang akan dibuat. Alat tersebut terdiri dari 3 bagian yang utama yaitu, hopper, jalur ikan, serta dudukan kamera. Proses pengerjaan hopper dijelaskan lebih lengkap pada Lampiran 1.
Gambar 5. Rancangan alat sortir benih ikan
Dari gambar diatas dapat diketahui bahwa jumlah jalur ikan yang digunakan sebanyak 4 jalur, yang masing-masing memilii lebar 2 cm ,dimaksudkan agar
ikan berenang satu-satu pada jalurnya tanpa turnpang tindih. Dudukan kamera dibuat dengan ketinggian 30 cm yang diletakan 46cm dari mulut lubang keluaran benih ikan. Gambar rancangan alat sortir benih ikan beserta ukurannya disajikan pada lampiran 2. 3.3.2. Perekaman image ikan
Hopper diberi aliran air agar benih ikan dapat dengan mudah keluar lubang mengikuti aliran air. Image atau citra didapat dari hasil perekaman pada bagian atas ikan menggunakan web kamera dengan perangkat lunak Logitech QuickCam Versi 10.4.0.1401. Kemudian hasil perekaman tersebut disimpan dalam komputer dengan format WMV (windows media video) (Gambar 6).
Ikan Hasil
Gambar 6 . Teknik pengambilan data
3.3.3. Perancangan perangkat lunak
Gambaran sistem perancangan perangkat lunak secara keseluruhan dapat dilihat pada Gambar 7. Berdasarkan diagram alir tersebut yang dilakakan pertama kali adalah Motion detection, berfungsi untuk filterisasi terhadap objek yang mengalami pergerakan. Pedoman gerak didasarkan pada pengolahan pengurangan antar frame.
-
rg I Motion detection Motion tracking Block matching
1 Tidak
Keputusan
Gambar 7. Diagram alir perancangan sistem perangkat lunak Proses pendeteksian dilakukan sebanyak 4 kali, sesuai banyaknya jalur ikan yang digunakan, sehingga didapat nilai untuk setiap lintasan. Dimana semua
proses tersebut diolah oleh perangkat lunak pada sebuah perangkat komputer yang terhubung langsung dengan web camera hingga mendapat suatu keputusan.
3.3.4. Sistem kalibrasi dan peugambilan keputusau Kalibrasi ini digunakan untuk mengetahui kesesuaian panjang benih ikan hasil perekaman dengan panjang benih ikan nyata dalam cm. Untuk itu perlu diketahui terlebih dahulu nilai pixel yang didapat dari hasil rata-rata masing-masing pixel pada satu frame. Kalibrasi ini menggunakan program Adobe Photoshop dengan proses cropping image untuk mengetahui panjang masing-masing pixel seperti terlihat pada Gambar 8. Pada penelitian ini digunakan rata-rata panjang benih ikan untuk pengambilan keputusan selama objek itu melewati lintasan. Panjang Keputusan :
Dimana : 1 : panjang ikan (pixel) n :jumlah frame Kemudian panjang keputusan tersebut dikalikan dengan nilai pixel rata-rata untuk mendapatkan panjang benih ikan dalam cm.
mulai
Open Image
(per-cm)
'1 Image Size (hasil cropping) Panjang pixel rata-rata
Panjang pixel rata-rata X Panjang rata-rata pixel ikan (Microsoft Excel)
rL Panjang Ikan (cm)
0 selesai
Gambar 8. Diagram alir proses kalibrasi rata-rata panjang benih ikan Petformansi alat ini diuji dengan pengujian hipotesis menggunakan statistik uji t sebagai berikut :
d i i a:
t : peubah acak normal s : standar deviasi n :jumlah perulangan xi : contoh acak benih yang disortir
x : ukuran rata-rata benih ikan tiap contoh p : nilai tengah benih ikan yang sebenamya dengan hipotesis sebagai berikut :
Ho
: Panjang benih ikan hasil pengukuran manual berbeda nyata dengan
panjang benih ikan hasil pendeteksian otomatis
HI
: Panjang benih ikan hasil pengukuran manual tidak berbeda nyata dengan
panjang benih ikan hasil pendeteksian
4. HASIL DAN PEMBAHASAN
4.1. Hasil 4.1.1. Protipe alat
Alat sortasi benih ikan yang telah dibuat memiliki 3 bagian, yaitu hopper, mekanisme satu-satu dan sistem pendeteksi yang dapat diiiat pada gambar 9.
Sistem Pendeteksi
Gambar 9. Prototipe alat sortir benih ikan otomatis Rangka hopper alat sortir benih ikan ini dibuat mengikuti bentuk hopper pada alat penghitung benih ikan yang dimiliki laboratorium akustik dan instrumentasi kelautan. Hopper ini hanya berfungsi sebagai bak pengisian, diiana air hanya membasahi dinding hopper. Tujuannya agar ikan yang akan disortir dapat langsung masuk jalur perekaman image. Sebelurn melalui sistem pendeteksi, benih ikan yang telah masuk kedalam hopper akan melalui mekanisme satu-satu dari alat tersebut. Mekanisme satu-satu ini dibuat dengan ukuran lubang keluaran 2x2 cm agar ikan berenang satu-satu pada jalurnya tanpa mengalami turnpang tindih atau overlap.
Rangka sistem pendeteksi terbuat dari besi yang memiliki diameter 0.5 cm dengan tinggi 30 cm, panjang 15 cm, dan lebar 8 cm. Rangka tersebut dipasang permanen pada papan kayu. Didalam rangka ini dipasang kamera berupa web
camera jenis Logitech dengan resolusi 1.3 MP (mega pixel). Perintah-perintah penting pengerjaan rancangan alat ini menggunakan AutoCad terdapat pada Lampiran 3. Pada alat sortasi benih ikan ini dilakukan proses perekaman video ikan menggunakan perangkat lunak Quickcam Versi 10.4.0.1401 seperti pada Gambar 10.
Gambar 10. ~hosksperek&an video ikan menggunai,an Logitech Quickcam Kamera diletakan pada jarak 46 cm dari lubang keluaran ikan dengan posisi membentuk sudut 45' mengarah ke jalur keluaran ikan, sehingga lapang pandang untuk pendeteksian lebih luas. Karena posisi kamera yang miring tersebut menyebabkan frame yang dihasilkan harus dikalibrasi terlebih dahulu dengan
mencari nilai pixelnya. Pada kenyataannya, lapang pandang kamera tersebut berbentuk trapesium. Dimana semakin jauh jaraknya dari kamera, maka nilai pixel pada frame akan semakin besar. Begitupun sebaliknya, semakin dekat jaraknya dengan kamera maka nilai pixel pada frame akan semakin kecil. Untuk mencari nilai pixel pada frame digunakan penghitungan rata-rata pixel yang didapat dari pengolahan Adobe photoshop. Image yang akan dicari nilai pixelnya terlebih dahulu diberi jarak masing-masing 1 cm, kemudian di crop hingga pada option image size akan kita ketahui jumlah pixelnya. Kemudian dengan membagi jarak pada image tersebut dengan jumlah pixel hasil cropping, akan didapat panjang pixel. Selanjutnya panjang pixel hasil penghitungan rataratalah yang akan digunakan untuk mencari panjang benih ikan hasil pendeteksian, yaitu 0.08, dapat dilihat pada Tabel 2. Tabel 2. Nilai pixel rata-rata I No I n Cjumlah pixel I nilai pixel
I I No I
n (jumlah pixel
I
Nilai pixel
I
4.1.2. Perangkat lunak Program komputer untuk melakukan pengolahan dan analisis citra digital yang telah diiekam ini memiliki kemampuan membaca citra warna dalam format AVI (audio video interleave). Perekaman menggunakan QuickCam menghasilkan video dengan format WMV, sehingga video tersebut harus diconvert terlebih dahulu agar formatnya menjadi AVI menggunakan Magicbit 3GP Converter. Bahasa yang digunakan untuk pembuatan program ini adalah bahasa C dengan editor SharpDevelop. Program ini behngsi untuk mendukung alat sortasi benih ikan, yaitu untuk mendeteksi panjang benih ikan yang kemudian akan dikelompokkan atau disortir. Program ini memiliki 5 jenis pendeteksian gerak, yaitu motion detector 1, detector 2, detector 3, detector 3-Optimized, dan detector 4, seperti disajikan pada Gambar 11. Pada prisipnya kelima jenis pendeteksi gerak tersebut sama, menggunakan nilai treshold 25 dan dapat mendeteksi gerak secara kontinyu. Lampiran 4 dan 5 dapat menjelaskan cara pendeteksian motion detector 4 yang digunakan pada proses pengambilan data pada penelitian ini. Cara pendeteksiannya berdasarkan rectangle(rc) dengan batas nilai rectangle 15, artinyajika rc lebih besar dari 15 akan terdeteksi sebagai objek, maka didapatkan nilai panjang ikan. Proses pendeteksian tersebut dapat dilihat pada Gambar 12. Setelah dideteksi, hasilnya kemudian akan tersimpan secara otomatis dengan format . k t seperti pada Gambar 13. Kolom pertama yaitu nomor objek yang terdeteksi, sedangkan kolom kedua yaitu lebar objek, dan kolom ketiga yaitu panjang objek. Nilai lebar dan panjang objek yang tertera masih dalam jumlah
pixel, mtuk itu perlu ada proses kaliberasi agar dapat mengetahui panjang tubuh benih ikan dalam cm.
Gambar 11. Tampilan muka program
Gambar 12. Tampilan proses pendeteksian objek menggunakan Motion detector 4
Gambar 13. Tampilan hasil pendeteksian objek 4.2. Pembahasan
4.2.1. Uji teknis Untuk mencapai hasil kinerja alat sortasi yang baik diperlukan alat yang dapat mendeteksi panjang benih ikan secara otomatis dan efisien. Dalam penelitian ini proses pengujian dilakukan pada proses pendeteksian panjang ikan menggunakan program Motion detector yang telah dibuat. Uji sistem pendeteksi ini dilakukan dengan merekam proses jalannya benih
ikan pada masing-masing jalur ikan. Benih ikan yang digunakan untuk percobaan ini sebanyak 75 ekor dengan 9 ukuran yang berbeda. Benih ikan tersebut
dibiarkan berenang mengikuti jalur-jalur yang sudah ada dengan diberi aliran air melalui hopper. Pada saat melalui jalur-jalur itulah proses perekaman benih ikan terjadi.
Seyogianya benih ikan berenang satu derni satu pada jalur ikan tersebut, tapi kenyataannya pada beberapa proses perekaman terjadi overlap pada posisi benih ikan. Hal ini dapat disebabkan oleh jalurnya yang bedcuran 2x2 cm temyata cukup besar untuk dapat dilalui oleh 2 ekor ikan. Kejadian tersebut dapat mempengaruhi pendeteksian oleh program karena jika terjadi overlap pada 2 ekor ikan, program motion detector akan mendeteksi sebagai 1 ekor ikan. Dari hasil perekaman tersebut akan didapat panjang masing-masing benih ikan dalam bentuk pixel seperti pada Lampiran 6. Nilai-nilai tersebut adalah jumlah pixel yang terdeteksi oleh program sebagai objek dengan jumlah fiame yang berbeda-beda. Jumlah pixel tersebut kemudian diiata-ratakan terhadap jumlah fiame yang kemudian akan didapat panjang benih ikan untuk setiap video. Setelah dikalikan dengan 0.08 (panjang pixel) maka akan didapat panjang benih
ikan dalam bentuk cm (Lampiran 7). Panjang tubuh 75 benih ikan dengan ukuran yang berbeda yang dapat dideteksi oleh program. Ukuran tersebut dimulai dari ukuran 2,O cm hingga 6,5 cm. Panjang keputusan benih ikan didapat dari penghitungan rata-rata panjang benih ikan yang telah dikalibrasi ke cm untuk masing-masing ukuran ikan, terlihat pada Tabel 3, dimana n merupakan jumlah benih ikan untuk masing-masing ukuran. Dari tabel tersebut diketahui standar deviasi (SD) pada semua ukuran, nilainya lebih kecil dari 0,5. Ukuran 3,2 cm memilid SDI terkecil yaitu 0,1, sedangkan SD yang nilainya paling besar adalah 0,29 dengan panjang benih ikan 5,7 cm. Hal ini menunjukkan bahwa sebaran nilai pada panjang benih ikan hasil pendeteksian cukup baik, dibawah 0,5.
Tabel 3. Rata-rata vaniang ikan serta nilai maksimum dan minimum
1
1
1
1
ikanhasilde~eks~otomatis 2,19 2,40 2,62 2,91 1 3,22 1 3,56 1 3,93 1 5,75 / 6,62 Standar deviasi (SD) 10,11 10,13 10,1410,13 10,1010,1410,25 10,29 10,26
Web karnera yang digunakan untuk pendeteksian benih ikan ini sangat sensitif terhadap gerak sehingga gerakan tubuh ikan pada saat perekaman sangat mempengamhi besar kecilnya nilai yang didapat. Data panjang benih ikan yang dihasilkan memperlihatkan rata-rata yang tidak jauh berbeda dengan nilai sebenamya. Dapat dilihat nilai maksimum dan minimum untuk tiap ukuran benih ikan tidak berbeda jauh dari nilai rata-ratanya (Gambar 14). Pada ikan ke-7, ke-8 dan ke-9 memiliki cintang nilai yang cukup baik d i i a dapat dilihat secara langsung dari grafik bahwa panjang minimum benih ikan ke-8 lebih besar dibandiig panjang maksimum benih ikan ke-7. Begitu pun dengan benih ikan ke-9 memiliki panjang minimum yang lebih besar yaitu 6,24 cm dibanding benih ikan ke-8 dengan panjang maksimum 6,16 cm.
i
z
7
&
6
3
5 4
A
5
D
1 3' a
3 2
,
0
0
2
4
6
8
10
ikan ke-n Gambar 14. Grafik Rata-rata serta nilai minimum clan maksimum panjang benih
ikan 4.2.2 Performansi sistem pendeteksi
Pada sistem pendeteksi ini dilakukan uji hipotesis menggunakan uji t dengan taraf nyata (a)= 0,05 untuk n = 26, diiana diperoleh lokasi wilayah kritik t < -2,31 dan t > 2,31. Nilai statistik uji t yang didapat sebesar - 3,39 yang berarti berada didalam wilayah kritik. Hal ini berarti bahwa keputusan yang diambil
,
adalah menolak Ho, yaitu panjang benih ikan hasil pengukuran seearaotomatis nienggunakan sistem pendeteksi otomatis tidak b e e nyata dengan panjang benih ikan hasil pengukuran manual. Data hasil pengujian hipotesis menggunakan statistik uji t ini dapat diliiat pada Lampiran 8. Nilai koefisien keragaman untuk panjang benih ikan hasil pendeteksian adalah 41,55, lebii kecil dari nilai koefisien keragaman untuk panjang benih ikan hasil pengukuran manual yaitu 42,34. Hal ini menunjukkan bahwa kemgaman panjang benih ikan hasil pendeteksian secara otomatis lebih baik dibandiing dengan panjang benih ikan hasil pengukuran manual.
4.2.3. Faktor-faktor yang mempengaruhi ketepatan alat
1) Kecepatan benih ikan Kecepatan benih ikan saat melewati sistem pendeteksi sangat berpengaruh terhadap jumlah data per benih ikan yang dibaca oleh Motion Detector. Semakin cepat benih ikan pada waktu melewati sistem pendeteksi maka semakin sedikit data yang diperoleh. Hal ini juga dapat mempengaruhi nilai rata-rata panjang benih ikan hasil pendeteksian, karena semakin lambat atau bahkan berhenti gerak ikan tersebut, nilai yang didapat akan semakin kecil mengingat program yang digunakan merupakan pendeteksi gerak.
Dari hasil percobaan diketahui waktu optimum agar benih ikan dapat terdeteksi dengan baik oleh motion detector adalah 1.3 detik dengan panjang lintasan 36 cm. 2) Posisi benih ikan
Posisi benih ikan pada saat melewati sistem pendeteksi sangat berpengaruh terhadap nilai rata-rata panjang benih ikan hasil pendeteksian. Apabila posisi benih ikan berbelok, maka nilai panjang benih ikan yang didapat oleh Motion
Detector akan lebih kecil dari ukuran panjang benih ikan yang seharusnya. 3) Jarak antar benih ikan Kesalahan pembacaan pada program Motion Detector dapat terjadi pada saat dua buah benih ikan melewati sistem pendeteksi dengan jarak yang berdekatan.
Jarak antar benih ikan yang terlalu dekat akan mengakibatkan overlap. Ada dua tipe overlap, yaitu vertical overlap dan horizontal overlap. Untuk lebih jelasnya dapat diliiat pada Gambar 15 dan Gambar 16. Pada Gambar 15
posisi benih ikan sejajar sehingga program akan mendeteksi dua buah benih ikan tersebut sebagai satu objek, ha1 tersebut akan mempengaruhi nilai lebar benih ikan tetapi tidak berpengaruh pada penelitian ini.
Ganlbar 15. Posisi Vertical overlap pada benih ikan Tipe horizontal overlap pada Gambar 16 ini menunjukan posisi benih ikan yang tumpang tindih secara horizontal. Hal ini sangat berpengaruh pada nilai panjang benih ikan yang terdeteksi oleh sistem pendeteksi. Dua ekor benih ikan tersebut akan terdeteksi menjadi satu ekor, sehingga panjang benih ikan jauh lebih besar dari ukuran benih ikan asli.
Gambar 16. Posisi Horizontal overlap pada benih ikan Horizontal overlap ini terjadi bila jarak kedua benih ikan sangat dekat.
Berdasarkan hasil percobaan, jarak 1 cm antar benih yang berdempetan secara horizontal pada satu jalur ikan tidak mempengaruhi pembacaan nilai. Hingga saat ini belum ditemukanjarak minimal yang diperlukan agar dua ekor benih ikan
tidak terdeteksi sebagai satu objek jika terjadi tunlpang tindih horizontal, karena dari seluruh percobaan tidak ada yang menunjukkan horizontal overlap.
5. KESIMPULAN DAN SARAN 5.1. Kesimpulan
Alat sortir benih ikan berhasil diciptakan dengan sistem pendeteksian yang otomatis menggunakan web camera dengan perangkat lunak Motion Detector.
Motion detector dibuat untuk dapat mendeteksi benih ikan secara otomatis, sehingga ikan yang terdeteksi pada image akan sama ukurannya dengan panjang asli benih ikan. Dari rata-rata nilai yang didapat dari hasil percobaan, terlihat bahwa setelah di kalibrasi kedalam cm panjang keputusan tidak jauh berbeda dengan panjang aslinya untuk masing-masing ukuran ikan. Penyebaran panjang h a i l pendeteksian secara otomatis cukup baik, ha1 ini ditunjukkan dengan kecilnya nilai standar deviasi (SD) untuk masing-masing ukuran benih ikan. SD terkecil yaitu 0,l pada benih ikan ukuran 3,2 cm, sedangkan SD terbesar adalah 0.29 untuk ukuran benih ikan 5.7 cm.
Uji t digunakan untuk melihat perbedaan panjang benih ikan hasil pendeteksian menggunakan Motion detector dengan panjang benih ikan hasil pengukuran manual. Nilai t yang didapat adalah -3.39 berada pada daerah kritik. Sehingga didapat hipotesis bahwa panjang benih ikan hasil pendeteksian menggunakan sistem pendeteksi otomatis berbeda nyata dengan panjang benih ikan hasil pengukuran secara manual.
5.2. Saran
Perlu ada penelitian lanjutan untuk alat sortasi benih ikan mengenai sistem pemisah otomatis yang dapat diontrol langsung dari komputer menggunakan Motion detector yang telah dibuat. Selain itu, perlu adanya perbaikan pada sistem
pendeteksi dari segi penempatan dan posisi web camera agar mudah dalam proses kalibrasi, sehingga nilai yang didapat lebii akurat dari penelitian ini.
DMTAR PUSTAKA Bradski, G. R. 1998. Computer vision face tracking for use in a perceptual user interface. http://www.robinhewitt.codresearch/trac~cmshi~.html Effendi, I. 2004. Pengantar akuakultur. Penebar Swadaya. Jakarta. Hasanudin, S. 1968. Taksonomi dan kunci identifikasi ikan I. Bina Cipta, Bandung. Jensen, G. L. 1990. Sorting and grading warmwater fish. SRAC Publication No
391. McDaniel, T.L. 2007. Intel Open Source Computer Vision Library Version 4.0Beta Installation and Getting Started Guide for Windows. www.public.asu.edul-tmcdani. Phadtare, M. 2007. Motion estimation techniques in video processing.
http://www.eetindia.com/ARTICLES/2007AUGPDFEEIOL~2007AU Suseno, D. 2000. Pengelolaan Usaha pembenihan ikan mas. Penebar Swadaya. Jakarta Wirakartakusumah, A. 1992. Peralatan dan unit proses. Departemen Pendidikan dan Kebudayaan Dirjen. Pendidikan Tiggi Pusat Antar Universitas Pangan dan Gizi. IPB Bogor. Anonimous. To calibrate an imaging setup. www.edmundoptics.com Anonimous. 2006. What is OpenCV?. www.opencvlibrary.sourceforge.net
Larnpiran 1. Metode pembuatan Hopper Metode dalam pembuatan Hopper adalah sebagai berikut : a. Gambar rangka hopper yang akan dibuat pada sebuah karton berukuran l x l m dengan tebal lmm b. Setelah rangka hopper terbentuk, cetak dengan menggunakan campuran resin bening, talcum (talk), dan catalyst, yang sebelumnya telah dilapisi dengan serat fiber c. Campuran diatas akan membuat rangka hopper tersebut menjadi kefas setelah dijemur beberapa jam d. Proses pencetakan tersebut dilakukan sebanyak dua kali agar hopper lebih kuat dan urituk mencegah kebocoran e. Setelah benar-benar kering, hopper tersebut diberi dempul dan hardehe* yang kemudian diamplas agar terasa halus ketikd akan di cat f. Sebelum proses pengecatan, hopper yang tddh dicetak dicelupkan dalam riir
agar ddipat diketahui apabila ada kebocoran g. Jika ada kebocoran, makd hopper tersebut harus ditambal d m kemudian dihaluskan kembali dengan amplas h. Hopper diberi cat
Lampiran 2. Rancangan alat sortir benih ikan beserta ukurannya dalam cm, tampak atas (a) dan samping @).
Lampiran 3. Perintah dalam perancangan alat sortir benih ikan otomatis menggunakan AutoCad 2002 Opening an AutoCAD 2000 format file. Loading Modeler DLLs. Regenerating model. AutoCAD menu utilities loaded. Command: Command: Specify opposite comer: Command: -.erase 13 found Command: Command: Command: -view Enter an option [?/~rtho~a&ic/DeletelRestore/~ave/~cs/~indow]: -top Regenerating model. Command: Command: Command: -rectang Specify first comer point or [ChamferElevation/Fillet/ThicknesslWidth]:0,O Specify other comer point or [Dimensions]: d Specify length for rectangles <0.0000>: 60 Specify width for rectangles <0.00002: 23 Specify other comer point or [Dimensions]: Command: '-zoom Specify comer of window, enter a scale factor (nX or nXP), or [A11/Center/Dynamic/Extents/Previous/Scale/Window]
e density: ISOLINES=4
Lampiran 3. Lanjutan Select objects: 1 found Select objects: Specify height of extrusion or [Path]: 1 Specify angle of taper for extrusion
: 50 Specify width for rectangles G3.0000>: 0.1 Specify other comer point or [Dimensions]: Command: Command: -.erase 1 found Command: Command: Command: -rectang Specify first comer point or [Chamfer/Elevation/Fillet~Thic~ess/Wid~: -12,-7.25 Specify other comer point or [Dimensions]: 50
Lampiran 3. Lanjutan Command: 8.5 Unknown command "8.5". Press F1 for help. Command: *Cancel* Command: Command: -.erase 1 found Command: Command: Command: -rectang Specify first comer point or [Chamfer/Elevation/Fillet~ThicknesslWidth]: -12,-7.25 Specify other comer point or [Dimensions]: d Specify length for rectangles <50.0000>: 50 Specify width for rectangles <0.1000>: 8.5 Specify other comer point or [Dimensions]: Command: Command: Command: -rectang Specify first comer point or [Chamfer/Elevation/Fillet/Thickness/Wid~: *Cancel* Command: extrude Current wire frame density: ISOLINES=4 Select objects: 1 found Select objects: Specify height of extrusion or [Path]: 0.1 Specify angle of taper for extrusion : 0 Command: Command: Command: -rectang Specify first comer point or [Chamfer/Elevation/FilletlThickness/Width]: -12,-7.25 Specify other comer point or [Dimensions]: d
Lampiran 3. Lanjutan Specify length for rectangles <50.00002 50 Specify width for rectangles <8.5000>: 0.1 Specify other comer point or [Dimensions]: Command: Command: Command: -rectang Specify first comer point or [ChamferlElevationlFilleflhicknessrWid~: -12,-9.35 Specify other comer point or [Dimensions]: d Specify length for rectangles <50.00002 50 Specify width for rectangles <0.1000>: 0.1 Specify other comer point or [Dimensions]: Command: Command: Command: -rectang Specify f ~ scomer t point or [Chamfer/Elevation/Fillet/Thickness/Wid~: -12,-11.45 Specify other comer point or [Dimensions]: d Specify length for rectangles <50.0000>: 50 Specify width for rectangles <0.1000>: 0.1 Specify other comer point or [Dimensions]: Command: Command: Command: -rectang Specify first comer point or [Chamfer/Elevation/Filleflhickness/WidthI: -12,-13.55 Specify other comer point or [Dimensions]: d Specify length for rectangles <50.0000>: 50 Specify width for rectangles <0.1000>: 0.1 Specify other comer point or [Dimensions]: Command: Command:
Lampiran 3. Lanjutan Command: -rectang Specify first corner point or [Chamfer/Elevation/FilletlThichess/WidthI: -12,-15.65 Specify other comer point or [Dimensions]: d Specify length for rectangles <50.0000>: 50 Specify width for rectangles <0.1000>: 0.1 Specify other corner point or [Dimensions]: Command: Command: Command: -u RECTANG GROUP Command: Command: Command: -rectang Specify first comer point or [Chamfer/Elevation/FilletlThickness/Width]: -12,-15.75 Specify other comer point or [Dimensions]: d Specify length for rectangles <50.0000>: 50 Specify width for rectangles <0.1000>: 0.1 Specify other comer point or [Dimensions]: Command: extrude Current wire frame density: 1SOLINES-l Select objects: 1 found Select objects: 1 found, 2 total Select objects: 1 found, 3 total Select objects: 1 found, 4 total Select objects: 1 found, 5 total Select objects: Specify height of extrusion or [Path]: 2 Specify angle of taper for extrusion : 0
Lampiran 3. Lanjutan Command: Command: Command: --view Enter an option [?/Orthographic/Delete/Restore/Save/Ucsidow]: -swiso Regenerating model. Command: Command: Command: -u -VIEW GROUP Regenerating model. Command: Command: Command: -rectang Specify first comer point or [Chamfer/Elevation/Fillet/Thickness/Widthl: -12,-1 Specify other comer point or [Dimensions]: d Specify length for rectangles <50.0000>: 4 Specify width for rectangles <0.1000? 21 Specify other comer point or pimensions]: Command: extrude Current wire frame density: ISOLINES=4 Select objects: 1 found Select objects: Specify height of extrusion or [Path]: 5.5 Specify angle of taper for extrusion : 0 Command: Command: Command: --view Enter an option
[?/Orthographic/Delete/Restore/Save/Ucs/: Command: Command: Conlmand: -u -VIEW GROUP Regenerating model.
-swiso Regenerating model.
Lampiran 3. Lanjutan Command: Command: Command: -rectang Specify first comer point or [ChamferlElevation/Fillet~Thickness/Width]: -8,-1 Specify other comer point or [Dimensions]: d Specify length for rectangles <4.0000>: 0.1 Specify width for rectangles R1.0000>: 21 Specify other comer point or [Dimensions]: Command: extrude Current wire frame density: ISOLINES=4 Select objects: Specify opposite corner: 1 found Select objects: Specify height of extrusion or [Path]: 22 Specify angle of taper for extrusion <0>: 0 Command: Command: Command: --view Enter an option [?/Orthographic/Delete/Restore/Save/LJcs/Window]: -swiso Regenerating model. Command: Command: Command: --view Enter an option
[?/Orthographic/DeletelRestore/SaveKJcs/Window]:-top Regenerating model. Command: Command: -ai-selall Selecting objects...done.
Lampiran 4. Bahasa pemrograman untuk filter dalam program Motion Detector namespace dshow (
using System; using System.Runtime.1nteropServices; using dshow.Core; / / / <summary> / / / Summary description for Filter. / / / public class Filter : IComparable (
/ / Device name public readonly string Name; / / Moniker string public readonly string MonikerString;
/ / Create new filter from moneker's string public Filter(string monikerstring) (
MonikerString = monikerstring; Name = GetName (monikerstring); 1
/ / Create new filter from it's Moniker internal Filter(UCOM1Moniker moniker) i MonikerString = GetMonikerString(moniker); Name = GetName (moniker);
/ / Get moniker string of the moniker private string GetMonikerString(UCOM1Moniker moniker) (
string str; moniker.GetDisplayName(nul1, null, out str);
return str;
I / / Get filter name represented by the moniker private string GetName(UC0MIMoniker moniker)
i Object IPropertyBag
bag
=
bag0bj null;
=
null;
t=Y (
Guid bagId = typeof(IPropertyBag).GUID; / / get property bag of the moniker moniker.BindToStorage(null, null, ref bagId, out bagObj); bag
=
(IPropertyBag) bagObj;
/ / read FriendlyName object val = "";
int hr
= bag.Read("FriendlyName",
ref val,
IntPtr.Zero); if (hr != 0) Marshal.ThrowExceptionForHR(hr); / / get it as string string ret = val as string; if ((ret == null) I I (ret.Length < 1 ) ) throw new ApplicationException();
return ret;
I catch (Exception) {
return
"";
I
finally {
/ / release all COM objects bag = null; if (bagObj != null) {
Marshal.ReleaseComObject(bag0bj);
bagObj
=
null;
/ / Get filter name represented by the moniker string private string GeUiame(string monikerstring) (
UCOMIBindCtx bindCtx UCOMIMoniker moniker String name = ""; int n = 0;
= =
null; null;
/ / create bind context if (Win32.CreateBindCtx(O, out bindCtx)
==
0)
/ / convert moniker's string to a moniker if (Win32.MkParseDisplayName(bindCtx, monikerstring, ref n, out moniker) == 0) i / / get device name name = GetName (moniker); Marshal.ReleaseComObject(moniker);
moniker
=
null;
I Marshal.ReleaseComObject(bindCtx);
bindCtx
=
null;
I return name;
I / / Compares objects of the type
Lanjutan 4. Lanjutan public int CompareTo(object obj) I
if (obj == null) return 1; Filter f = (Filter) obj; return (this.Name.CompareTo(f.Name)) ;
1 1 1
Lampiran 5. Bahasa pernrograman Detector 4 dalam program Motion Detector / / Motion Detector // / / Copyright O Andrew Kirillov, 2005 / / [email protected] // namespace motion i
using System; using System.Drawing; using System.Drawing.Imaging; using System.Reflection; using AForge.Imaging; using AForge.Imaging.Filters; using System.10; / / / <summary> / / / MotionDetector4 / / / public class MotionDetector4 : IMotionDetector i
//
private motion.MainForm mainmain;
private int aba=O; private int n; private int ab=O; //private StreamWriter twt = new StreamWriter(enc:\final camera cs2.txtT'); //private StreamWriter tw = new StreamWriter(@"c:\final.txt"); //private StreamWriter tw ; private IFilter grayscaleFilter = new GrayscaleBT709( I ; private IFilter pixellateFilter = new Pixellate( ) ; private Difference differenceFilter = new Difference( ):
private Threshold thresholdFilter
=
new Threshold( 25
) ;1/15
private MoveTowards moveTowardsFilter MoveTowards (
=
new
);
private FiltersSequence processingFilter1 = new FiltersSequence ( ) ; private Blobcounter blobcounter = new Blobcounter( 1 ; private Bitmap backgroundFrame; private BitmapData bitmapData; private int counter = 0; private Bitmap[]
numbersBitmaps
private private private private private
calculateMotionLevel = false; width; / / image width height; / / image height pixelschanged;
boo1 int int int int n
=
0:
=
new Bitmap[9];
Lampiran 5. Lanjutan / / Motion level calculation - calculate or not motion level public boo1 MotionLevelCalculation get set
( {
return calculateMotionLevel; 1 calculateMotionLevel = value; 1
1 / / Motion level - amount of changes in percents public double MotionLevel 1 get ( return (double) pixelschanged / ( width *
height 1 ;
I I / / Constructor public MotionDetector4(
)
(
tw = new StreamWriter(@"c:\final.txt"); processingFilterl.Add( grayscaleFilter 1 ; processingFilterl.Add( pixellateFilter 1 ; / / load numbers bitmaps Assembly assembly = this.GetType( ).Assembly; for
(
int i
=
1; i <= 9; i++
numbersBitmaps[i
- 11
)
new
=
~itma~(assembly.GetManifestResourceStream(
i
"motion.Resources.(O).gif",
string.Format( ) ) 1;
}
I / / Reset detector to initial state public void Reset( ) I
if
(
backgroundFrame != null
)
backgroundFrame.Dispose( ) ; backgroundFrame = null; \
counter
=
0;
I / / Process new frame public void ProcessFrame( ref Bitmap image ) ( //noframe++; //twt = new StreamWriter(@"c:\final camera cs2.txt"); if ( backgroundFrame == null ) / / create initial backgroung image backgroundFrame = processingFilterl.Apply( image
/ / get image dimension
width = image.Width; height = image.Height; / / just return for the first time return; )
Bitmap tmpImage; / / apply the the first filters sequence tmpImage = processingFilterl.Apply( image
);
I counter
=
0;
/ / move background towards current frame moveTowardsFilter.OverlayImage = tmpImage; moveTowardsFilter.ApplyInPlace( backgroundFrame ) ;
1 / / set backgroud frame as an overlay for difference filter differenceFilter.OverlayImage
=
backgroundrrame;
/ / lock temporary image to apply several filters bitmapData = tmpImage.LockBits( new Rectangle( 0, 0, width, height ) , ImageLockMode.ReadWrite, PixelFormat.Format8bppIndexed ) ;
/ / apply difference filter differenceFilter.ApplyInPlace( bitmapData 1;
/ / apply threshold filter thresholdFilter.ApplyInPlace( bitmapData ) ;
/ / get object rectangles blobCounter.ProcessImage( bitmapData ) ; Rectangle[] rects = blobCounter.GetObjectRectangles(
/ / unlock temporary image tmpImage.UnlockBits( bitmapData tmpImage.Dispose( ) ;
);
pixelschanged = 0; n=O ; //int ab = 0; aba++; FileInfo fileinfo=new FileInfo(@"c:\finalMotion4.txt"); Streamwriter tw=fileinfo.AppendText(); //tw.WriteLine(System.Convert.ToString(noframe));
//tw.WriteLine ( " " ) ; //tw = new StreamWriter(@"c:\final.txt");
Lampiran 5 . Lanjutan {
/ / create graphics object from initial image Graphics g = Graphics.FromImage( image ) ; using
(
Pen pen
=
new Pen( Color.Red, 1
)
)
{
/ / draw each rectangle foreach ( Rectangle rc in rects
)
I g.DrawRectangle ( pen, rc
) ;
//mainmain.TW. WriteLine ("n "+System.Convert.ToString(mainmain.n)+","+System.Convert.ToString( rc.Width)+","+System.Convert.ToString(rc.Height) ) ;
//mainmain.TW.WriteLine("ab "+System.Convert.ToString(maimain.ab)+","+System.Convert.ToString (rc.Width)+", "+System.Convert.ToString(rc.Height) ) ; / / mainmain.TW.WriteLine("rere"+ System.Convert.ToString(mainmain.n) ) ; / / tw.NewLine. Insert (1,"n "+System.Convert.ToString(n)+","+System.Convert.ToString(rc.Width) +","+System.Convert.ToString(rc.Height)); if(System.Convert.ToString(n)!= null) {
n++; / / a little bit inaccurate, but fast if ( calculateMotionLevel ) pixelschanged += rc.Width * rc.Height;
g.Dispose ( ) ; tw.Writeline ( " " ) ;
1
55
Lampiran 6. Panjang benih ikan hasil pendeteksian otomatis dalam bentuk pixel
. Lan~piran6. Lanjutan Panjang benih ikan sebenam a Panjang benih ikan hasil deteksi otomatis (pixel) per frame
Lampiran 6 . Lanjutan
Lampiran 7. Panjang benih ikan sebelum dan setelah di kalibrasi dalam cm
Lampiran 8. Analisis statistik uji-t dan koefisien keragamannya t-Test: Paired Two Sample for Means
Mean Variance Observations Pearson Correlation Hypothesized Mean Difference df t Stat P(Tc=t) one-tail t Critical one-tail P(T<=t) two-tail t Critical two-tail
Variable Variable 1 2 3.6222 3.6887
Paired T-Test and CI: X I , x2 Paired T for xl - x2
N xl x2 Difference
9 9 9
Mean 3.62222 3.68867 -0.066445
StDev 1.53361 1.53237 0.058843
SE Mean 0.51120 0.51079 0.019614
95% CI for mean difference: (-0.111676, -0.021214) T-Test of mean difference = 0 (vs not = 0): T-Value 0.010
Descriptive Statistics: XI, x2 Variable xl x2
Mean 3.622 3.689
SE Mean 0.511 0.511
StDev 1.534 1.532
CoefVar 42.34 41.54
=
-3.39
P-Value
=
RIWAYAT HIDUP Penulis dilahirkan di Subang tanggal 5 September 1986 dari Ayah Ata Bhurhanul Karim dan Ibu Iriyanti. Penulis mempakan anak pertama dari 5 bersaudara.
Tahun 2003 penulis lulus dari SMU Negeri 3 Subang dan masuk IPB melalui jalur USMI (Ujian Seleksi Masuk
IPB). Penulis memilih Program Studi Ilmu Kelautan, Departemen Ilmu dan Teknologi Kelautan, Fakultas Perikanan dan Ilmu Kelautan. Selma perkuliahan penulis &if dalam Dewan Perwakilan Mahasiswa Fakultas Perikanan dan Ilmu Kelautan @PM-C) IPB periode 2004-2005. Selain itu juga penulis &if di Organisasi Ligkung Seni Sunda Gentra Kaheman IPB, AMAZON (Aquatic and Mountain Zone) Corps sejak tahun 2004 hingga 2007, serta Komunitas Seni Teater Jaring Fakultas Perikanan dan Ilmu Kelautan IPB (2004-2007). Pada tahun 2006 hingga 2007 penulis dipercaya untuk menjadi Asisten Praki&um Mata Ajaran Instrumentasi Kelautan dan Dasar-Dasar Instrumentasi Kelautan hingga pada tahun 2008 penulis menyelesaikan Skripsi dengan judul "OTOMATISASI SIZE GRADING BENIH IKANnyang mempakan salah
satu syarat untuk mendapat gelar sarjana di Fakultas Perikanan dan Ilmu Kelautan, Institut Pertanian Bogor serta dinyatakan lulus Ujian Sarjana pada tanggal 23 Mei 2008.