• Tidak ada hasil yang ditemukan

KLASIFIKASI SPESIES IKAN AIR TAWAR MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK SKRIPSI NISFA FITRI PRATIWI

N/A
N/A
Protected

Academic year: 2022

Membagikan "KLASIFIKASI SPESIES IKAN AIR TAWAR MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK SKRIPSI NISFA FITRI PRATIWI"

Copied!
73
0
0

Teks penuh

(1)

KLASIFIKASI SPESIES IKAN AIR TAWAR MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK

SKRIPSI

NISFA FITRI PRATIWI 151402049

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2020

(2)

KLASIFIKASI SPESIES IKAN AIR TAWAR MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

NISFA FITRI PRATIWI 151402049

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2020

(3)

(4)

PERNYATAAN

KLASIFIKASI SPESIES IKAN AIR TAWAR MENGGUNAKAN CONVOLUTIONAL NEURAL NETWORK

SKRIPSI

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

Medan, Agustus 2020

Nisfa Fitri Pratiwi 151402049

(5)

UCAPAN TERIMA KASIH

Segala puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan izin-Nya sehinga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar sarjana Komputer pada Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Penulis ingin mengucapan terima kasih sedalam-dalamnya dan penghargaan kepada seluruh pihak yang turut serta terlibat dalam masa perkuliahan dan masa pengerjaan skripsi ini hingga selesai:

1. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fasilkom-TI Universitas Sumatera Utara.

2. Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc selaku Ketua Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Ivan Jaya, S.Si., M.Kom selaku Dosen Pembimbing I yang telah memberikan bimbingan dan arahan kepada penulis sehingga skripsi ini dapat terselesaikan.

4. Ibu Ulfi Andayani, S.Kom., M.Kom. selaku Dosen Pembimbing II yang telah memberikan bimbingan, petunjuk, dorongan, dan semangat dalam proses penyelesaian skripsi ini.

5. Ibu Sarah Purnamawati, ST., M.Sc selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

6. Bapak Niskarto Zendrato, S.Kom., M. Kom yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

7. Ayah penulis, Wardi, S.Pdi dan Ibu penulis, Rubiyanti (Alm) yang telah membesarkan, mendidik, mendukung dan mendoakan penulis dalam segala hal.

Kakak dan adik penulis, Wira Setiawan, Anggi Satria Gunarsa, S.P, dan Septi Wardanti yang tak pernah lelah memberi semangat dan mendukung penulis.

8. Sahabat penulis M. Rian Saputra yang telah membantu penulis dalam meyelesaikan skripsi.

9. Teman-teman penulis Marissa Dinda Audia S.Kom, Reskinah Rambe, Karina br Tanggang, Nurmala Sari Ruslan dan Maria Simamora yang telah membantu penulis dalam menyelesaikan skripsi.

(6)

Semoga Allah SWT melimpahkan berkah, rahmat, dan hidayahnya kepada semua yang telah memberikan bantuan, perhatian dan dukungan pada penulis dalam menyelesaikan skripsi ini.

Medan, Agustus 2020

Penulis

(7)

ABSTRAK

Begitu banyaknya spesies ikan yang mirip menyebabkan kesulitan dalam mengenali spesies ikan secara langsung. Saat ini, proses klasifikasi spesies ikan masih dilakukan menggunakan pengamatan mata secara langsung. Oleh karena itu, diperlukan sebuah system dalam mengklasifikasi spesies ikan melalui pendekatan pengolahan citra dan neural network dengan tujuan agar klasifikasi dapat dilakukan secara efektif dan efisien. Pada penelitian ini, terdapat tiga spesies ikan yang diklasifikasi, yaitu ikan nila, ikan mujair, dan ikan gurame. Metode yang digunakan pada penelitian ini adalah Convolutional Neural Network dan Local Binary Pattern digunakan untuk mengekstraksi fitur tekstur yang ada pada citra. Penelitian ini menggunakan 300 data secara keseluruhan, 210 citra digunakan sebagai data training dan 90 citra digunakan sebagai data testing. Setelah dilakukan pengujian pada penelitian ini, dapat disimpulkan bahwa hasil penelitian ini dinilai sudah cukup baik dalam mengklasifikasikan tiga jenis spesies ikan air tawar serta sudah dapat diterapkan di perangkat bergerak dan menunjukkan bahwa metode yang diajukan mampu melakukan klasifikasi spesies ikan air tawar dengan akurasi sebesar 87,77%.

Kata kunci: klasifikasi spesies ikan, pengolahan citra, Convolutional Neural Network, Local Binary pattern

(8)

CLASSIFICATION OF FRESHWATER FISH SPECIES USING A CONVOLUTIONAL NEURAL NETWORK

ABSTRACT

So many similar fish species causes difficulty in fish species directly. This time, the process of classifying fish species is identifying carried out using direct eye observation. Therefore we need a system in classifying fish species through image processing and neural network approaches with the aim that classification can be done effectively and efficiently. In this study, there are 3 species of fish classified, namely tilapia, tilapia fish and carp. The method used in this research is Convolutinal Neural Network and Local Binary Pattern is used to extract texture features that exist in the image. This study used 300 data in total, 210 images are used as data training and 90 images are used as data testing. After testimg in this study, the results of this study were considered to be good enough in classifying three types of freshwater fish species and can be applied in mobile devices and show that the proposed method is able to classify freshwater fish species with an accuracy of 87,77%.

Keyword : fish species classification, image processing, Convolutional Neural Network, Local Binaty Pattern

(9)

DAFTAR ISI

Hlm.

PERSETUJUAN ii

PERNYATAAN iii

UCAPAN TERIMA KASIH iv

ABSTRAK vi

ABSTRACT vii

DAFTAR ISI viii

DAFTAR GAMBAR x

DAFTAR TABEL xii

1.1. Latar Belakang 2

1.2. Rumusan Masalah 3

1.3. Batasan Masalah 3

1.4. Tujuan Penelitian 3

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 4

1.7. Sistematika Penulisan 5

BAB 2 LANDASAN TEORI 6

2.1. Ikan Air Tawar 6

2.1.1. Ikan Nila 6

2.1.2. Ikan Mujair 7

2.1.3. Ikan Gurami 8

2.2. Citra Digital 9

2.3. Pengolahan Citra Digital 11

2.4. Scalling 11

2.5. Grayscale 11

2.6. Local Binary Pattern 12

(10)

2.7. Convolutional Neural Network 14

2.8. Penelitian Terdahulu 17

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 21

3.1. Data yang Digunakan 21

3.2. Arsitektur Umum 22

3.3. Preprocessing 23

3.3.1. Cropping 23

3.3.2. Resize 23

3.3.3. Grayscale 24

3.4. Feature Extraction (Local Binary Pattern) 25

3.5. Klasifikasi 27

3.6. Perancangan Sistem 30

3.6.1. Rancangan tampilan proses klasifikasi citra dari kamera 30 3.6.2. Rancangan tampilan proses klasifikasi citra dari galeri 31

3.6.3. Rancangan tampilan hasil klasifikasi 33

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 35

4.1. Implementasi Sistem 35

4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak 35

4.1.2. Implementasi Perancangan Antarmuka 36

4.2. Pelatihan Sistem 43

4.3. Pengujian Sistem 43

BAB 5 KESIMPULAN DAN SARAN 50

5.1. Kesimpulan 50

5.2 Saran 50

DAFTAR PUSTAKA 52

LAMPIRAN 54

(11)

DAFTAR GAMBAR

Hlm.

Gambar 2.1. Ikan Nila 7 7

Gambar 2.2. Ikan Mujair 8

Gambar 2.3. Ikan Gurame 9

Gambar 2.4. Ilustrasi Citra Digital 10

Gambar 2.5. Citra RGB dan Grayscale Image 12

Gambar 2.6. Circular Neighbourhood 12

Gambar 2.7. Proses Perhitungan Sederhana LBP 13

Gambar 2.8. Arsitektur Convolutional Neural Network 14

Gambar 2.9. Alur pada Convolution Layer 15

Gambar 2.10. Contoh gambar operasi Max Pooling 16

Gambar 2.11. Contoh Fully Connected Layer 17

Gambar 3.1. Asitektur Umum 22

Gambar 3.2. Citra hasil Grayscale 23 23

Gambar 3.3. Citra hasil Local Binary Pattern 24

Gambar 3.4. Nilai input (a), Feature Detector (b) dan Feature Map (c) 26

Gambar 3.5. Pergeseran Matriks 27

Gambar 3.6. Hasil Perhitungan Convolutional 28

Gambar 3.7. Hasil Proses Max Pooling 28

Gambar 3.8. Proses Flattering 29

Gambar 3.9. Rancangan tampilan pengambilan citra dari kamera 30 Gambar 3.10. Rancangan tampilan import citra dari galeri 31 Gambar 3.11. Rancangan tampilan klasifikasi citra dari galeri 32

Gambar 3.12. Rancangan tampilan hasil klasifikasi 33

(12)

Gambar 4.1. Tampilan permohonan akses kamera 35

Gambar 4.2. Tampilan media penyimpanan 36

Gambar 4.3. Tampilan awal 37

Gambar 4.4. Tampilan akses galeri 38

Gambar 4.5. Tampilan import citra dari galeri 39

Gambar 4.6. Tampilan klasifikasi citra dari galeri 40

Gambar 4.7. Tampilan hasil klasifikasi 41

Gambar 4.8. Hasil proses pelatihan sistem 42

(13)

DAFTAR TABEL

Hlm.

Tabel 2.1. Klasifikasi ilmiah ikan nila 7

Tabel 2.2. Klasifikasi ilmiah ikan mujair 8

Tabel 2.3. Klasifikasi ilmiah ikan gurame 9

Tabel 2.4. Penelitian terdahulu 19

Tabel 3.1. Data Latih dan Data Uji 21

Tabel 3.2. Matriks citra warna ukuran 3 3 piksel 24 Tabel 3.3. Hasil konversi citra warna menjadi citra keabuan 25 Tabel 3.4. Penentuan pusat piksel Local Binary Pattern 26 Tabel 3.5. Nilai perbandingan Local Binary Pattern 26

Tabel 3.6. Perhitungan nilai Local Binary Pattern 26

Tabel 3.7. Nilai Local Binary Pattern 27

Tabel 4.1. Hasil pengujian model 43

Tabel 4.2. Nilai TP, FP dan FN 43

Tabel 4.3. Hasil pengujian sistem 45

(14)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Indonesia merupakan negara kepulauan dengan tingkat biodiversitas tertinggi setelah Brazil. Secara geografis wilayah Indonesia berada di antara dua samudera, yaitu Samudera Hindia dan Pasifik sehingga membuat keanekaragaman hayati melimpah.

Keanekaragaman ikan di Indonesia sangat banyak. Di Asia Tenggara terdapat 2917 jenis ikan air tawar yang teridentifikasi. Jumlah jenis ikan air tawar Indonesia berdasarkan koleksi yang ada di Museum Zoologi Bogor sekitar 1300 jenis, hampir 44% ikan di Asia Tenggara berada di Indonesia. Jumlah setiap jenis ikan pada pulau- pulau besar di Indonesia berbeda. Jenis ikan di Kalimantan berjumlah sekitar 394 jenis dengan 149 jenis endemik (38%), di Sumatera ada 272 jenis dengan 30 jenis endemik (11%), di Jawa berjumlah 132 jenis dengan 52 jenis endemik (9%) dan di Sulawesi berjumlah 68 jenis dengan 52 jenis endemik (76%) (Kottelat et al., 1993).

Subsektor yang berperan penting dalam menunjang sektor pertanian di Indonesia adalah sektor perikanan, baik sektor perikanan darat pantai maupun laut.

Hal ini dikarenakan wilayah Indonesia yang berupa daratan yang dikelilingi lautan, banyaknya daerah aliran sungai, waduk, rawa dan danau berperan penting sebagai sumber penghidupan bagi penduduk Indonesia. Wilayah ini akan menjadi tumpuan bagi pembangunan bangsa sehingga potensinya menjadi penting bagi Negara (Saputra, 2013).

Begitu banyaknya spesies ikan menyebabkan sulitnya untuk membedakan jenis ikan secara langsung, seperti membedakan ikan air tawar dengan jenis ikan nila, ikan mujair dan ikan gurame. Saat ini, proses klasifikasi spesies ikan masih dilakukan dengan menggunakan pengamatan mata dan asumsi masing-masing individu, sehingga proses klasifikasi membutuhkan waktu yang lama dan kemungkinan menyebabkan tingkat kesalahan yang tinggi.

(15)

Beberapa penelitian yang berhubungan dengan klasifikasi ikan baik ikan air tawar maupun ikan air laut yang telah dilakukan dengan beragam metode, baik dari segi ekstraksi fitur maupun sistem klasifikasi. Khotimah et al., (2015) melakukan penelitian klasifikasi pada ikan tuna menggunakan ekstraksi fitur tekstur Gray Level Co-occurrence Matrix (GLCM) dan ekstraksi fitur bentuk Sobel filter dengan menggunakan metode decision tree. Sebelumnya, citra ikan tuna disegmentasi dengan mengenali tepi objek ikan menggunakan Sobel filter. Setelah itu, ekstraksi fitur tekstur Gray Level Co-occurrence Matrix (GLCM). Tingkat akurasi yang didapat yaitu sebesar 88%.

Alsmadi et al., (2010) melakukan penelitian dengan melakukan ekstraksi fitur warna RGB (Red Green Blue) menggunakan histogram warna yang kemudian dilanjutkan dengan ekstraksi fitur tekstur berdasarkan Gray Level Co-occurrence Matrix (GLCM). Dengan melakukan segmentasi citra dengan memfokuskan bagian perut ikan, peneliti berhasil melakukan klasifikasi ikan berdasarkan famili, khususnya untuk membedakan ikan beracun dan tidak beracun. Beberapa spesies ikan yang memiliki kemiripan warna menyebabkan kesulitan klasifikasi. Ekstraksi fitur tekstur menggunakan Gray Level Co-occurrence Matrix (GLCM) membantu untuk identifikasi ciri-ciri spesifik pada spesies yang memiliki kemiripan tersebut. Dari sejumlah 610 citra dataset, tingkat akurasi yang didapatkan menggunakan klasifikasi Backpropagation mencapai 84%.

Terdapat banyak metode yang dapat digunakan dalam melakukan pengolahan citra, salah satu metode yang digunakan adalah metode Convolutional Neural Network (CNN). Convolutional Neural Network (CNN) merupakan salah satu metode Deep Learning (DL) yang dapat digunakan untuk mendeteksi dan mengenali sebuah objek pada sebuah citra digital. Deep Learning merupakan salah satu bidang dari Machine Learning. Convolutional Neural Network (CNN) merupakan jaringan yang dibuat dengan masukan berupa citra (gambar). Jaringan ini memiliki lapisan khusus yang dinamakan dengan lapisan konvolusi dimana pada lapisan ini sebuah citra yang dimasukkan akan menghasilkan sebuah pola dari beberapa bagian citra yang nantinya akan lebih mudah untuk diklasifikasikan. Teknik ini dapat membuat fungsi pembelajaran citra menjadi lebih efisien untuk diimplementasikan. Penelitian selanjutnya dengan menggunakan Convolutional Neural Network (CNN) yaitu penerapan Convolutional Neural Network untuk Content-Based Image Retrieval atau

(16)

pencarian inforrmasi dalam bentuk citra dengan akurasi sebesar 89% (Hidayat et al., 2018). Oleh karena itu, peneliti akan memanfaatkan Convolutional Neural Network (CNN) untuk mengklasifikasikan jenis-jenis ikan air tawar yaitu ikan nila, ikan mujair dan ikan gurami sehingga masyarakat dapat membedakan bentuk dari ikan tersebut.

Berdasarkan latar belakang di atas, maka penulis mengajukan proposal penelitian dengan judul “Klasifikasi Ikan Air Tawar Menggunakan Convolutional Neural Network”.

1.2. Rumusan Masalah

Begitu banyaknya varietas spesies ikan yang memiliki ciri yang mirip menyebabkan kesulitan pengenalan jenis ikan secara visual. Saat ini, proses klasifikasi ikan dilakukan dengan menggunakan pengamatan mata secara langsung dan asumsi personal. Oleh karena itu, diperlukan sebuah sistem untuk melakukan klasifikasi spesies ikan khususnya ikan air tawar sehingga pengenalan dapat dilakukan secara efektif dan efisien.

1.3. Batasan Masalah

Dalam penelitian ini, adapun batasan dari penjabaran permasalahan adalah sebagai berikut:

1. Terdapat tiga jenis ikan yang diklasifikasi, yaitu ikan Nila, ikan Mujair dan ikan Gurami.

2. Citra spesies ikan yang diambil adalah sisi samping ikan.

3. Citra spesies ikan dalam format JPG.

4. Jarak pengambilan citra spesies ikan tidak lebih dari satu meter.

1.4. Tujuan Penelitian

Tujuan dari penelitian ini adalah mengklasifikasikan spesies ikan air tawar berdasarkan fitur tekstur dengan menggunakan Convolutional Neural Network.

1.5. Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah sebagai berikut:

1. Membantu proses klasifikasi spesies ikan air tawar yang dilakukan oleh pembudidaya ikan air tawar.

2. Menjadi referensi dalam penelitian akademik, khususnya penelitian implementasi Convolutional neural network.

(17)

1.6. Metodologi Penelitian

Tahapan-tahapan yang akan dilakukan dalam penelitian ini adalah sebagai berikut:

1.6.1 Studi Literatur

Studi literatur dilakukan untuk mengumpulkan berbagai bahan referensi mengenai image processing, metode Convolutional Neural Network, klasifikasi ikan dari berbagai jurnal, artikel, buku dan beberapa sumber referensi lainnya.

1.6.2 Analisis Permasalahan

Analisis permasalahan merupakan tahap menganalisis seluruh referensi yang dikumpulkan pada tahapan sebelumnya.

1.6.3 Perancangan Sistem

Perancangan sistem merupakan tahapan merancang arsitektur, pengumpulan data, penentuan training dataset dan testing dataset, serta perancangan antarmuka berdasarkan hasil analisis permasalahan studi literatur.

1.6.4 Implementasi Sistem

Implementasi sistem merupakan tahapan mengimplementasikan perancangan sistem yang dihasilkan pada tahapan sebelumnya menjadi kode-kode tersusun sehingga tercipta sistem yang sesuai dengan tujuan penelitian berdasarkan studi literatur dan analisis permasalahan.

1.6.5 Pengujian Sistem

Pengujian sistem merupakan tahapan melakukan pengujian terhadap sistem yang sudah dibangun pada tahapan sebelumnya. Tahapan ini berguna untuk memastikan bahwa sistem yang telah dibangun dapat digunakan untuk melakukan klasifikasi spesies ikan sesuai dengan tujuan penelitian.

1.6.6 Dokumentasi Sistem dan Penyusunan Laporan

Dokumentasi sistem dan penyusunan laporan merupakan tahapan melakukan dokumentasi dan menyusun laporan hasil analisis dan perancangan sistem serta implementasi dan pengujian sistem klasifikasi spesies ikan menggunakan Convolutional Neural Network.

(18)

1.7. Sistematika Penulisan

Sistematika penulisan penelitian ini terdiri dari lima bagian, yaitu:

Bab 1: Pendahuluan

Bab ini berisi penjelasan tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, serta sistematika penulisan.

Bab 2: Landasan Teori

Bab ini berisi dasar teori-teori yang digunakan dalam analisis dan perancangan sistem serta implementasi dan pengujian sistem yang digunakan pada penelitian ini. Teori- teori yang berhubungan antara lain 3 jenis ikan air tawar yaitu ikan nila, ikan mujair, dan ikan gurami. pengolahan citra, Grayscale, Local Binary Pattern, serta Convolutional Neural Network.

Bab 3: Analisis dan Perancangan

Bab ini berisi analisis terhadap fokus permasalahan penelitian dan perancangan sistem, dari langkah analisis data, preprocessing, ekstraksi fitur, hingga implementasi sistem.

Bab 4: Implementasi dan Pengujian

Bab ini berisi implementasi dan pengujian dari analisis dan perancangan pada bab sebelumnya.

Bab 5: Kesimpulan dan Saran

Bab ini berisi kesimpulan dari seluruh pembahasan pada bab sebelumnya dan saran yang diajukan penulis guna perbaikan dan pengembangan penelitian selanjutnya.

(19)

BAB 2

LANDASAN TEORI

2.1. Ikan Air Tawar

Ikan air tawar merupakan ikan yang hidupnya berada di air tawar seperti sungai dan danau. Lingkungan air tawar sangat berbeda dengan lingkungan perairan laut, yang paling membedakan ialah tingkat salinitasnya. Untuk dapat bertahan di air tawar, ikan membutuhkan adaptasi fisiologis yang bertujuan untuk menjaga keseimbangan konsentrasi ion dalam tubuh.

Ikan jenis air tawar sangat mudah untuk dipelihara dan dikembangbiakkan.

Ikan air tawar dikembangbiakkan bagi para petani ikan untuk memenuhi kebutuhan hidup atau sebagian orang mengembangbiakkannya untuk konsumsi sendiri.

2.1.1. Ikan Nila

Habitat ikan nila adalah air tawar, seperti sungai, waduk, danau, dan rawa-rawa tetapi karena toleransi ikan nila tersebut sangat luas terhadap salinitas sehingga dapat pula hidup denngan baik di air payau. Pertumbuhan dan perkembangbiakan ikan nila yang terbilang cepat membuat ikan nila banyak dibudidaya. Dalam pertumbuhannya, ikan nila memiliki bobot sekitar 250g pada stadium dewasa dengan usia 4-5 minggu.

Parameter lingkungan ikan nila juga mempengaruhi kehidupannya secara langsung yang membuat perbedaan secara morfologi. Ikan nila yang hidup di air tawar tubuhnya akan berwarna abu cerah dan ada yang merah sesuai dengan jenis dari ikan nila tersebut. Ikan nila yang hidup di air payau memiliki sisik yang berwarna kehitaman dan lebih pucat. Bentuk tubuh bulat pipih dan terlihat lebih lebar. Ikan nila memiliki sirip atas yang tajam dan terlihat tulang siripnya memanjang. Ikan nila juga memiliki banyak jenisnya seperti ikan nila merah, ikan nila hitam, dan masih banyak lagi (Mujalifah et al., 2018). Gambar 2.1 menunjukkan ikan nila.

(20)

Gambar 2.1 Ikan Nila (www.pustakapertanian.com) Klasifikasi ikan nila dapat dilihat pada Tabel 2.1.

Tabel 2.1 Klasifikasi ilmiah ikan nila

2.1.2. Ikan Mujair

Ikan Mujair merupakan jenis ikan air tawar, bentuk badan pipih dengan warna abu-abu, coklat atau hitam. Mujair memiliki bentuk badan yang pipih dan memanjang, bersisik kecil-kecil bertipe stenoid, tubuh memiliki garis vertikal, sirip ekor memiliki garis berwarna merah. Warna ikan ini tergantung pada lingkungan atau habitat yang di huni.

Mulutnya agak besar dan mempunyai gigi-gigi yang halus. Letak mulut terminal atau di ujung tubuh. Posisi sirip perut terhadap sirip dada adalah thoracic.

Linea lateralis tidak sempurna atau terputus menjadi dua bagian. Jumlah sisik pada garis rusuk bagian atas 18 -21 buah dan pada garis rusuk bagian bawah ada 10 -15 buah. Sirip dada dan sirip perut berwarna hitam kemerahan, sedangkan sirip punggung dan sirip ekor berwarna kemerah-merahan pada ujung-ujungnya (Cahyono, 2000).

Ikan mujair dibedakan menjadi beberapa jenis, antara lain mujair biasa, mujair merah dan mujair albino. Berdasarkan warna sisik, ikan ini dapat dibedakan ke dalam empat varitas, yaitu mujair dengan warna sisik abu-abu, abu-

Tingkat takson Deskripsi ikan nila

Kingdom Animalia

Filum Chordata

Kelas Osteichyes

Ordo Percomorphi

Famili Cichlidae

Genus Oreochromis

Spesies Oreochromis niloticus

(21)

abu bercak putih, putih hitam dan merah (Sugiarti, 1988). Gambar 2.2 menunjukkan ikan mujair.

Gambar 2.2 Ikan Mujair (www.urbanina.com) Klasifikasi ilmiah ikan mujair dapat dilihat pada Tabel 2.2.

Tabel 2.2 Klasifikasi ilmiah ikan mujair Tingkat takson Deskripsi ikan mujair

Kingdom Animalia

Filum Chordata

Kelas Actinopterygii

Ordo Perciformes

Famili Cichlidae

Genus Oreochromis

Spesies Oreochromis mossambicus

2.1.3. Ikan Gurami

Ikan ini dapat dikenali dengan ciri-ciri morfologi seperti bentuk tubuh pipih, terdapat sirip dada yang memanjang sampai dengan pertengahan sirip anal pada ikan dewasa dan melewati ujung sirip anal pada ikan muda, sisik stenoid, garis lateral lengkap, bentuk mulut kecil. Postur tubuh tinggi (tinggi tubuh satu per 1,8- 2,1 bagian dari panjang bahu). Pada individu muda terdapat tujuh buah garis vertical yang akan tetap ada seumur hidup. Bentuk tubuh ikan muda dan dewasa berbeda, pada ikan muda memiliki bentuk kepala yang lancip, sedangkan ikan dewasa memiliki tubuh yang lebih kokoh dengan bentuk dahi kepala yang agak cembung. Ikan dewasa jantan bewarna kekuningan agak mencolok.

Ikan gurami memiliki bentuk sirip atas yang lebih runcing, sirip bawah yang lebar dan memiliki sepasang benang di bagian bawah sebagai alat peraba. Dari segi warnanya ikan gurami memiliki 3 jenis yaitu gurami hitam, gurami putih dan gurami belang (Rachmatika., 2010). Gambar 2.3 menunjukkan ikan gurame.

(22)

Gambar 2.3 Ikan Gurami (www.ilmubudaya.com) Klasifikasi ilmiah ikan gurami dapat dilihat pada Tabel 2.3.

Tabel 2.3 Klasifikasi ilmiah ikan gurame Tingkat takson Deskripsi ikan gurame

Kingdom Animalia

Filum Chordata

Kelas Actinopterygii

Ordo Perciformes

Famili Osphronemidae

Genus Osphronemus

Spesies Osphronemus goramy

2.2. Citra Digital

Secara umum, pengolahan citra digital menunjuk pada pemrosesan gambar 2 dimensi menggunakan komputer. Dalam konteks yang lebih luas, pengolahan citra digital mengacu pada pemrosesan setiap data 2 dimensi. Citra digital merupakan sebuah larik (array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan bit tertentu.

Suatu citra dapat didefenisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinal spasial, dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x, y, dan nilai amplitudo f secara keseluruhan berhingga dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital. Perpotongan antara kolom dan baris merupakan elemen matriks yang disebut dengan piksel (Putra, 2010).

Representasi dari matriks dua dimensi adalah sebagai berikut:

(23)

f(x,y) = [

( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( )

] (2.1)

Secara matematis, batasan-batasan matriks dua dimensi f(x,y) didefinisikan sebagai berikut:

0 ≤ x ≤ (N - 1)

0 ≤ y ≤ (M - 1) (2.2) 0 ≤ f(x,y) ≤ (G - 1)

Dengan keterangan sebagai berikut:

x = baris piksel pada citra y = kolom piksel pada citra

f(x,y) = nilai skala derajat keabuan piksel (x,y) pada citra M = jumlah kolom pada matriks dua dimensi

N = jumlah baris pada matriks dua dimensi G = nilai skala derajat keabuan

Pengolahan gambar citra atau digital image processing adalah ilmu yang mempelajari tentang manipulasi dan modifikasi citra, seperti perbaikan kualitas citra, pemilihan ciri citra (feature images) yang bertujuan untuk analisis dan transformasi citra (rotasi, skala, translasi) dengan menggunakan komputer untuk mendapatkan hasil yang lebih baik. Tujuan dari proses pengolahan citra ini agar citra asli yang kurang sempurna lebih mudah untuk diolah dengan cara memodifikasi citra menjadi citra lain.

Ilustrasi citra digital dengan M = 16 dan N = 16 ditunjukkan pada Gambar 2.4.

Pada gambar tersebut, nilai yang ditunjuk oleh tanda panah f(x,y) menunjukkan koordinat x = 10 dan y = 3 dengan skala derajat keabuan 110. Secara matematis, dapat ditulis dengan persamaan f(10,3) = 110.

Gambar 2.4 Ilustrasi citra digital (Putra, 2010)

(24)

2.3. Pengolahan Citra Digital

Pengolahan citra digital adalah sebuah disiplin ilmu yang mempelajari tentang teknik- teknik mengolah citra. Citra yang dimaksud disini adalah gambar diam (foto) maupun gambar bergerak. Sedangkan digital disini mempunyai maksud adalah pengolahan citra/gambar dilakukan secara digital menggunakan komputer (Kusumanto &

Tompunu, 2011). Pengolahan citra merupakan salah satu cara untuk mendapatkan data atau informasi yang didapatkan pada suatu citra. Proses analisis data sering digunakan dalam pengambilan data pada suatu citra.

2.4. Scalling

Scaling bertujuan untuk mengubah ukuran piksel suatu citra. Hal ini dilakukan karena setiap citra belum tentu memiliki ukuran yang sama. Scaling juga digunakan untuk memperkecil citra digital agar jumlah piksel yang akan diolah tidak terlalu banyak.

Besarnya jumlah piksel mempengaruhi waktu komputasi. Semakin banyak piksel maka semakin besar juga waktu yang dilakukan untuk komputasi.

nilai skala { ) Rumus:

X`=Sh x

Y`=Sv y (2.3)

Keterangan:

Sh = faktor skala horizontal Sv = faktor skala vertical 2.5. Grayscale

Grayscale adalah suatu citra yang hanya memiliki warna tingkat keabuan. Grayscale image hanya membutuhkan nilai intensitas tunggal dibandingkan dengan RGB image yang membutuhkan tiga intensitas untuk tiap pikselnya. Pada umumnya citra grayscale memiliki penyimpanan 8 bit sehingga dapat menampung 256 tingkatan skala abu-abu dimana tiap piksel memiliki intensitas 0 hingga 255 dengan 0 menjadi hitam dan 255 menjadi putih. Contoh dari grayscale image dapat dilihat pada gambar 2.5 dan proses konversi bisa dilihat dalam persamaan 2.4.

(25)

(2.4)

Dimana:

I = nilai intensitas keabuan sebuah piksel citra hasil grayscaling R = nilai komponen merah pada sebuah piksel

G = nilai komponen hijau sebuah piksel B = nilai komponen biru sebuah piksel

Gambar 2.5 Citra RGB (kanan) dan Grayscale image (kiri) (https://www.tutorialspoint.com)

2.6. Local Binary Pattern

Local Binary Pattern (LBP) merupakan metode yang dapat menghasilkan dan mendeskripsikan tekstur dari sebuah citra grayscale. LBP bekerja dengan memanfaatkan nilai pixel ketetanggan yang tersebar melingkar (circular neighborhood) dengan berbagai jenis ukuran yang direpresentasikan dalam bentuk matrix.

Gambar 2.6. Circular neighbourhood

Operator LBP bekerja dengan delapan konektivitas piksel dengan menggunakan nilai piksel pusat sebagai nilai ambang batas. Jika nilai piksel memiliki warna abu-abu yang lebih tinggi dari nilai piksel pusat (atau nilai abu-abu yang sama) maka piksel tersebut akan bernilai 1 namun jika tidak hasilnya adalah 0. Nilai LBP piksel pusat kemudian didapat dari hasil penjumlahan kedelapan konektivitas.

(26)

Gambar 2.7. Proses Perhitungan Sederhana LBP

Terdapat fitur yang bernama histogram, yang mana fitur tersebut berguna sebagai data statistik yang akan digunakan untuk mengolah data dari nilai piksel ketetanggaan. Setiap piksel yang memiliki nilai ketetanggaan ke-n dapat disebut sebagai threshold, yang mana menggunakan nilai keabuan (grayscale) dari persamaan 2.5 dan fungsi threshold s(x) pada persamaan 2.6.

LBPP,R (xc,yc) = ∑ (gp – gc)2P (2.5) s(x){

(2.6)

Keterangan:

P : Jumlah piksel tetangga R : Nilai radius

gc : Nilai piksel x, y gp : Nilai piksel tetangga xc,yc : koordinat pusat

Hasil LBP berupa kode Local Binary Pattern yang kemudian direpresentasikan melalui histogram. Histogram LBP menunjukkan frekuensi kemunculan nilai LBP. Nilai Histogram LBP dari sebuah citra berukuran N × M direpresentasikan dengan persamaan 2.7 dan 2.8.

H(k) = ∑

∑ ( ( ) ) [ ] (2.7) ( ) {

(2.8)

(27)

2.7. Convolutional Neural Network

Convolutional Neural Network (CNN) adalah salah satu dari jenis neural network yang biasa digunakan pada data image. CNN juga dapat digunakan untuk mendeteksi dan mengenali objek pada sebuah image. Secara garis besar Convolutional Neural Network (CNN) tidak jauh beda dengan neural network biasanya. CNN terdiri dari neuron yang memiliki weight, bias dan activation function. Convolutional memiliki layer-layer yang terdiri dari neuron yang tersusun sedemikian rupa sehingga membentuk sebuah filter dengan panjang dan tinggi (piksel).

CNN dapat memiliki puluhan atau ratusan lapisan yang masing-masing lapisannya belajar untuk mendeteksi fitur-fitur yang berbeda dari suatu citra.

Convolutional Neural Network akan memfilter ke setiap citra latihan yang diterapkan pada resolusi yang berbeda-beda dan output dari setiap gambar yang dikonvolusi akan digunakan sebagai input ke lapisan berikutnya.

Pada CNN, setiap neuron direpresentasikan dalam bentuk dua dimensi. CNN hampir sama dengan neural network pada umumnya yang memiliki neuron yang memiliki bobot dan bias. CNN memiliki 1 tahap training. Arsitektur Convolutional Neural Network dapat dilihat pada gambar 2.8.

Gambar 2.8. Arsitektur Convolutional Neural Network (http://www.bagustris.blogspot.com)

Convolutional Neural Network memiliki 4 layer utama, yaitu : 1. Convolutional Layer

Convolutional Layer adalah sebuah inti utama dari CNN, dimana layer ini memiliki sebuah kumpulan filter yang dapat digunakan untuk mempelajari citra masukan. Pada layer ini, akan dilakukan operasi konvolusi terhadap input ataupun output dari layer sebelumnya. Konvolusi adalah suatu istilah

(28)

matematis yang berarti mengaplikasikan sebuah fungsi pada output fungsi lain secara berulang. Tujuan dilakukannya konvolusi pada data citra adalah untuk mengekstraksi fitur dari citra input. Konvolusi akan menghasilkan transformasi linear dari data input sesuai informasi spasial pada data. Bobot pada layer tersebut menspesifisikasikan kernel konvolusi yang digunakan, sehingga kernel konvolusi dapat dilatih berdasarkan input pada CNN (Suartika et al, 2016). Berikut Persamaan yang digunakan untuk menghitung pergeseran matriks :

h(i,j) = A*P1 + B*P2 +C*P3 + D*P4 + E*P5 + F*P6 + G*P7 + H*P8 + I*P9 (2.9)

Keterangan :

h(i,j) = hasil dari perkalian matriks kernel A dengan input

P A-I = nilai matriks input yang dikalikan dengan matriks kernel P1-9 = nilai matriks kernel yang dikalikan dengan matriks input image P Contoh Convolution Layer dapat dilihat pada gambar 2.9.

Gambar 2.9. Contoh Convolution Layer (http://sofyantandungan.com) 2. Max Pooling

Max Pooling adalah proses mereduksi ukuran sebuah data citra. Dalam pengolahan citra, max pooling juga bertujuan untuk meningkatkan invariansi pada fitur. Umumnya, metode subsampling yang digunakan adalah max pooling. Max pooling membagi output dari convolution layer menjadi beberapa grid kecil lalu mengambil nilai maksimal dari setiap grid untuk menyusun matriks image yang telah direduksi. Fungsi dari max pooling adalah

(29)

agar dimensi dari ukuran matriks berkurang sehingga saat masuk ke Fully Connected matriks yang ada tidak terlalu banyak. Contoh gambar operasi Max Pooling dapat dilihat pada gambar 2.10.

Gambar 2.10. Contoh gambar operasi Max Pooling (http://www.mc.ai.com)

3. Relu Layer

ReLu Layer adalah layer yang akan mengubah nilai minus (lebih kecil 0) dengan nilai sama dengan 0. Layer ini mengaplikasikan fungsi aktivasi tak jenuh pada node ( ) = + = 𝑚𝑎 (0,). Layer ini meningkatkan sifat non-linier dari fungsi pengambil keputusan dan semua jaringan tanpa mempengaruhi bidang reseptif dari Convolutional Layer.

4. Fully Connected Layer

Fully Connected Layer yaitu layer yang berisi Deep Neural Network. Batasan Deep Neural Network semuanya berhubungan karena masing-masing node antar layer saling berhubungan dengan garis-garis. Garis tersebut terdiri dari 3 yaitu input layer, hidden layer dan output layer. Input layer harus sesuai antara jumlah node dengan atribut dari data. Hidden layer jumlah node dan jumlah layer ditentukan sesuai dengan observasi. Output layer meliputi jumlah kelas, misalnya dalam penelitian ini ada 3 class yaitu ikan nila, ikan mujair dan ikan gurame. Neuron pada Fully Connected Layer memiliki hubungan yang lengkap pada semua aktivasi dalam layer sebelumnya. Aktivasi tersebut kemudian di komputasi dengan sebuah perkalian matriks diikuti oleh bias offset. Contoh Fully Connected Layerdapat dilihat pada gambar 2.11.

(30)

Gambar 2.11. Contoh Fully Connected Layer (http://sofyantandungan.com)

2.8. Penelitian Terdahulu

Beberapa penelitian yang berhubungan dengan klasifikasi ikan sebelumnya telah dilakukan dengan beragam metode, baik dari segi ekstraksi fitur maupun sistem klasifikasi. Iscimen et al., (2017) melakukan penelitian dengan melakukan klasifikasi 6 spesies keluarga Serranidae (Epinephelus aeneus, Epinephelus caninus, Epinephelus costae, Epinephelus marginatus, Hyporthodus haifensis, Mycteroperca rubra). Dalam setiap gambar, seekor ikan terletak di lantai latar belakang putih dengan posisi yang sama dan gambar diambil dari jarak yang berbeda. Kombinasi proses manual dan algoritma otomatis diterapkan pada gambar sampai mendapatkan gambar sampel ikan. Kemudian mengimplementasikan ekstraksi fitur berdasarkan ruang warna HSV (Hue Saturation Value) dan digunakan karena mengekstraksi informasi spesifik spesies dari sampel ikan.Setelah selesai dari fitur yang diekstraksi, hasilnya diproses dalam algoritma Nearest Neighbor. Data yang digunakan dalam penelitian ini sebanyak 112 sampel ikan dari 6 spesies diklasifikasikan dengan pencapaian akurasi keseluruhan 86%.

Ogunlana et al., (2015) melakukan penelitian dengan mengklasifikasikan ikan dengan menggunakan metode Support Vector Machine (SVM). Peneliti menggunakan 76 ikan sebagai perangkat pelatihan sementara yang kedua terdiri dari 74 ikan sebagai perangkat uji. Penelitian ini menggunakan jenis ikan Ethmalosa Fimbriata dan Tritor Scomberomorow untuk diklasifikasikan. Dalam penelitian ini, klasifikasi ikan berdasarkan bentuk panjang badan dan lima sirip (anal, causal, dorsal, panggul dan

(31)

dada). Sistem menggunakan SVM untuk analisis dan kemudian mengklasifikasikan spesies ikan dengan fitur atau karakteristik menggunakan hyper-plane untuk memisahkan spesies ikan kedalam kategori. Hasil berdasarkan metode ini menunjukkan akurasi klasifikasi 78,59%.

Alsmadi et al. (2010) melakukan penelitian dengan melakukan ekstraksi fitur warna RGB (Red Green Blue) menggunakan histogram warna yang kemudian dilanjutkan dengan ekstraksi fitur tekstur berdasarkan GLCM (Gray Level Cooccurrence Matrix). Dengan melakukan segmentasi citra dengan memfokuskan bagian perut ikan, peneliti berhasil melakukan klasifikasi ikan berdasarkan famili, khususnya untuk membedakan ikan beracun dan tidak beracun. Beberapa spesies ikan yang memiliki kemiripan warna menyebabkan kesulitan klasifikasi. Ekstraksi fitur tekstur menggunakan GLCM membantu untuk identifikasi ciri-ciri spesifik pada spesies yang memiliki kemiripan tersebut. Dari sejumlah 610 citra dataset, tingkat akurasi yang didapatkan menggunakan klasifikasi backpropagation mencapai 84%.

Ramadhani et al., (2018) melakukan penelitian dengan mengklasifikasikan menggunakan metode ORB dan KNN. Penelitian ini tidak melewati tahap pre- processing karena data yang digunakan juga untuk diuji dengan background yang beda untuk fitur yang dihasilkan. Pengaplikasian dari metode ORB diterapkan untuk ekstraksi fitur dari gambar yang diambil dengan menambah komponen dan membuat rotasi pada citra. Kemudian hasil tersebut akan diklasifikasi menggunakan KNN untuk menentukan label kelas yang tepat dari input data ikan. Dataset ikan yang digunakan terdiri dari 165 citra yang dikumpulkan yakni 40 untuk testing dan 125 untuk training dari 15 jenis ikan. Hasil uji coba menunjukkan bahwa metode yang diusulkan pada penelitian ini mencapai akurasi klasifikasi sebesar 97,5%.

Wijaya, Alex (2018) melakukan penelitian dengan mengklasifikasikan spesies ikan menggunakan Probabilistic Neural Network. Penelitian ini menggunakan 141 data dimana 112 sebagai data training dan 29 sebagai data testing. Penelitian ini menggunakan jenis ikan air tawar famili scombridae yaitu jenis ikan tuna, ikan cakalang, dan ikan tongkol dengan kondisi di daratan (out of water). Pendekatan yang diajukan memanfaatkan ROI (region of interest) berupa bagian perut ikan. Kombinasi ekstraksi fitur ciri GIM (Geometric Invariant Moment), ekstraksi fitur tekstur GLCM (Gray Level Co-occurrence Matrix), dan ekstraksi fitur warna HSV (Hue Saturation Value) digunakan untuk mengekstraksi fitur yang ada pada citra. Untuk proses

(32)

penentuan jenis spesies ikan, metode yang digunakan adalah Probabilistic Neural Network. Berdasarkan hasil penelitian terhadap 112 citra data training dan 29 citra data testing, diperoleh tingkat akurasi sebesar 89,65%.

Tabel 2.4 Penelitian Terdahulu

No. Peneliti (Tahun) Judul Keterangan

1. Iscimen, B., Kutlu, Y. & Turan, C.

(2017)

Classification of Serranide Species Using Color Based Statistical Features

 Ekstraksi fitur warna HSV

 Klasifikasi Using Color Based Statistical Features

2. Ogunlana, S.O., Olabode, O., Oluwadare, S.A.A.

& Iwasokun, G. B.

(2015)

Fish Classification Using Support Vector Machine

 Klasifikasi Support Vector Machine

3. Alsmadi, M.K., Omar, K.B., Noah, S.A.M. &

Almarashdeh, I.

(2010)

Fish classification based on robust features extraction from color signature using back-propagation classifier

 Ekstraksi fitur warna RGB dan fitur tekstur GLCM

 Klasifikasi backpropagation 4. Ramadhani, M. &

Murti, D.H. (2018)

Klasifikasi Ikan

menggunakan Oriented Fast and Rotated Brief (ORB) dan K-neast Neighbor (KNN)

 Ekstraksi fitur Oriented Fast and Rotated Brief (ORB)

 Klasifikasi K-neast Neighbor (KNN) 5. Wijaya, Alex

(2018)

Klasifikasi Spesies Ikan Menggunakan Probabilistic Neural Network

 ekstraksi fitur ciri GIM (Geometric Invariant Moment), ekstraksi fitur tekstur GLCM (Gray Level Co- occurrence Matrix),

(33)

dan ekstraksi fitur warna HSV (Hue Saturation Value)

 Klasifikasi menggunakan

Probabilistic Neural Network

(34)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas tentang implementasi data dan teknik yang digunakan untuk melakukan klasifikasi spesies ikan. Adapun dua tahap yang dibahas, yaitu tahap analisis dan tahap perancangan sistem. Pada tahap analisis dilakukan analisis terhadap data yang digunakan untuk proses dan analisis terhadap teknik yang digunakan pada setiap langkah pemrosesan data. Pada tahap perancangan sistem dibahas mengenai perancangan tampilan antarmuka sistem.

3.1. Data yang Digunakan

Data yang digunakan dalam penelitian ini yaitu citra yang diperoleh melalui observasi langsung. Observasi dilakukan di pasar Kota Pematangsiantar, pasar di Kota Medan, pasar di desa Sait Buttu Saribu, Provinsi Sumatera Utara. Citra diambil menggunakan kamera ponsel pintar berbasis sistem operasi Android dengan pengaturan orientasi portrait maupun landscape dan ukuran dimensi yang berbeda-beda.

Data citra yang diperoleh kondisinya pencahayaan luar ruangan (outdoor) yang bersumber dari sinar matahari dan dalam ruangan (indoor) yang bersumber dari cahaya lampu.

Keseluruhan data yang diperoleh berjumlah 300 citra kemudian digabungkan menjadi dataset citra spesies ikan. Data citra ikan nila berjumlah 110 citra, ikan mujair berjumlah 70 citra dan ikan gurame berjumlah 120 citra. Dalam pengujian klasifikasi, seluruh data dibagi secara acak menjadi dua dataset berbeda yang dilabeli sebagai dataset pelatihan dan dataset pengujian dengan perbandingan 70 : 30. Teknik ini disebut teknik validasi hold-out. Sehingga, sejumlah 210 citra digunakan sebagai data training dan sejumlah 90 citra digunakan sebagai data testing. Pembagian testing dataset dan training dataset untuk klasifikasi ikan air tawar dapat dilihat pada Tabel 3.1.

Tabel 3.1 Data Latih dan Data Uji

(35)

Data Set Data Pelatihan Data Pengujian Jumlah Data

Ikan Nila 77 33 110

Ikan Mujair 49 21 70

Ikan Gurame 84 36 120

3.2. Arsitektur Umum

Pada penelitian ini, metode yang diajukan untuk melakukan klasifikasi ikan air tawar yang terdiri dari beberapa tahapan. Tahapan – tahapan tersebut dimulai dari pengumpulan data citra yang terdiri dari citra ikan nila, ikan mujair dan ikan gurame yang akan digunakan untuk citra latih dan citra uji,. Citra tersebut kemudian dilakukan tahap preprocessing yaitu cropping, scalling, dan grayscalling. Selanjutnya, ekstraksi fitur. Pada penelitian ini proses ekstraksi fitur menggunakan Local Binnary Pattern.

Setelah itu masuk ke tahapan klasifikasi spesies ikan dilakukan dengan menggunakan Convolutional Neural Network. Setelah langkah-langkah tersebut dilakukan, hasil yang didapatkan berupa nama spesies ikan beserta informasi tambahan terkait dengan spesies ikan tersebut. Informasi tersebut akan ditampilkan pada ponsel pintar.

Adapun arsitektur umum yang menggambarkan metode pada penelitian ini ditunjukkan pada Gambar 3.1.

(36)

Gambar 3.1 Arsitektur Umum 3.3. Preprocessing

Pada tahap preprocessing, citra yang sudah ada diproses kembali agar menghasilkan citra yang lebih baik dan selaras untuk diproses pada tahap selanjutnya. Tahapan preprocessing ini adalah cropping, scaling dan grayscale.

3.3.1. Cropping

Tahapan pertama pada tahap Preprocessing adalah proses cropping. Dimana proses seleksi sub piksel dari citra menjadi citra baru. Proses ini bertujuan untuk mengambil objek pada citra dan membuang bagian yang tidak diperlukan sehingga proses ekstraksi fitur lebih minim. Pada penelitian ini proses cropping dilakukan secara manual.

3.3.2. Resize

Tahapan yang kedua pada tahap Preprocessing adalah Resize. Tahapan ini ditujukan untuk menyelaraskan ukuran piksel pada citra. Penetuan piksel juga berpengaruh pada waktu untuk proses pengolahan citra. Penulis menggunakan size 200 x 200 piksel.

(37)

3.3.3. Grayscale

Tahapan berikutnya yaitu grayscale. Dimana pada tahapan ini bertujuan untuk penyeragaman warna keabuan pada citra yang akan diproses karena pada citra asli warna keabuan tidak merata, sehingga mempercepat proses perhitungan. Citra hasil grayscale dapat dilihat pada gambar 3.2.

Gambar 3.2 Citra hasil grayscale

Pada tahapan ini, nilai RGB ( Red, Green, Blue) pada setiap piksel diambil dan dijumlahkan lalu hasilnya dibagi tiga. Sebagai contoh, terdapat sebuah matrix citra warna berukuran 3 3 piksel yang memiliki nilai RGB seperti ditunjukkan pada tabel 3.2.

Tabel 3.2 Matriks citra warna ukuran 3 3 piksel

Perhitungan konversi nilai matriks (0,0) citra berwarna menjadi citra grayscale menggunakan persamaan sebagai berikut :

(i,j) 0 1 2

0 181 124 55

174 120 46

178 126 43 1 189

140 84

188 140 79

188 143 75 2 109

78 50

109 78 47

125 96 56

(38)

I =

=

= 120

Dengan cara melakukan perhitungan yang sama pada semua piksel berwarna maka didapatkan hasil seperti pada tabel 3.3.

Tabel 3.3 Hasil konversi citra berwarna menjadi keabuan

3.4. Feature Extraction (Local Binary Pattern)

Tahapan berikutnya yaitu Local Binary Pattern (LBP). Dimana metode ini bertujuan untuk menghasilkan dan mendeskripsikan tekstur dari sebuah citra grayscale. Citra hasil local binary pattern dapat dilihat pada gambar 3.3.

Gambar 3.3. Citra hasil local binary pattern

Setelah dikonversi ke grayscale, langkah selanjutnya adalah menghitung nilai binernya dengan pusat piksel akan digunakan sebagai acuan dengan piksel tetangganya seperti pada tabel 3.4.

Tabel 3.4 Penentuan pusat piksel Local Binary Pattern

(i,j) 0 1 2

0 120 133 116

1 137 135 135

2 79 78 92

(39)

Selanjutnya adalah memberi nilai perbandingan. Jika nilai piksel lebih kecil dari pusat piksel maka nilai perbandingannya adalah 0, sebaliknya jika nilainya lebih besar atau sama dengan pusat piksel maka nilai perbandingannya adalah 1 sebagai contoh dapat dilihat pada tabel 3.5.

Tabel 3.5 Nilai perbandingan Local Binary Pattern

Setelah mendapatkan nilai perbandingannya, nilai itu dapat disusun dengan ketentuan searah jarum jam atau kebalikan arah jarum jam, sehingga mendapatkan nilai biner = 00100010. Selanjutnya bilangan biner tersebut digunakan untuk menghitung nilai LBP di setiap templatenya. Untuk menghitung nilai LBP adalah dengan mengalikan nilai biner dengan bilangan eksponensial dari 2 sebagai contoh dapat dilihat pada tabel 3.6.

Tabel 3.6 Perhitungan nilai LBP

Dari perhitungan pada tabel 3.5 hasil nilai LBP adalah 136 dan nilai LBP ini di set pada pusat piksel seperti pada tabel 3.7.

(i,j) 0 1 2

0 120 133 116

1 137 135 135

2 79 78 92

(i,j) 0 1 2

0 0 0 0

1 1 1

2 0 0 0

(i,j) 0 1 2

0 0 1 0 2 0 4

1 1 128 1 8

2 0 64 0 32 0 16

(40)

Tabel 3.7 Nilai LBP

3.5. Klasifikasi

Dalam penelitian ini, metode yang digunakan untuk proses klasifikasi yaitu Convolutinal Neural Network.

Pada convolutional layer, konvolusi akan menghasilkan transformasi linear dari data sesuai dengan informasi spasial pada data. Weight yang merupakan koneksi antar neuron (layer) akan melakukan spesifikasi matriks konvolusi yang digunakan sehingga matriks konvolusi dapat dilatih berdasarkan input pada CNN. Proses konvolusi dapat dilihat pada Gambar 3.4.

(a) (b) (c)

Gambar 3.4. Nilai input (a), Feature Detector (b) dan Feature Map (c) Pada proses convolution layer nilai input dengan gambar 5 5 pixel akan di filter menjadi 3 3 pixel. Matriks 3 3 bergerak dari sudut kiri atas dari input image dan bergerser ke kanan sebanyak 1 piksel hingga semua piksel dari baris pertama input dilalui. Perhitungan dimulai dari kiri menuju ke kanan seperti yang dilakukan di baris pertama. Begitu juga dengan baris-baris selanjutnya hingga semua piksel yang dimiliki input image dilalui yang kemudian disimpan dalam matriks yang baru.

Pergeseran matriks tersebut dapat dilihat dalam Gambar 3.5.

(i,j) 0 1 2

0

1 136

2

(41)

136 133 127 125 121 136 134 121 126 125 129 131 127 124 118 119 125 127 117 128 112 122 124 122 130

136 133 127 125 121 136 134 121 126 125 129 131 127 124 118 119 125 127 117 128 112 122 124 122 130

136 133 127 125 121 136 134 121 126 125 129 131 127 124 118 119 125 127 117 128 112 122 124 122 130

136 133 127 125 121 136 134 121 126 125 129 131 127 124 118 119 125 127 117 128 112 122 124 122 130

136 133 127 125 121 136 134 121 126 125 129 131 127 124 118 119 125 127 117 128 112 122 124 122 130

Gambar 3.5 Pergeseran Matriks

Untuk setiap posisi, jumlah elemen dihitung dengan perkalian antara matriks feature detector dan matriks pada input image. Hasil dari jumlah perkalian matriks

136 133 127 125 121 136 134 121 126 125 129 131 127 124 118 119 125 127 117 128 112 122 124 122 130

136 133 127 125 121 136 134 121 126 125 129 131 127 124 118 119 125 127 117 128 112 122 124 122 130

136 133 127 125 121 136 134 121 126 125 129 131 127 124 118 119 125 127 117 128 112 122 124 122 130

136 133 127 125 121 136 134 121 126 125 129 131 127 124 118 119 125 127 117 128 112 122 124 122 130

(42)

tersebut akan menghasilkan feature map. Berdasarkan Persamaan (2.6) perhitungan convolutional sebagai berikut :

C1,1 = (1*136) + (0*133) + (1*127) + (0*136) + (1*134) + (0*121) + (1*129) + (0*131) + (1*127)

= 136 + 127 + 134 + 129 + 127

= 653

Dengan cara melakukan perhitungan yang sama pada semua piksel maka didapatkan hasil seperti pada gambar 3.6.

653 634 619

634 629 625

617 626 616

Gambar 3.6 Hasil perhitungan Convolutional

Tahapan selanjutnya adalah max pooling yang membagi output dari convolutional layer menjadi beberapa grid kecil dan mengambil nilai maksimal dari setiap grid untuk menyusun matriks citra yang telah direduksi. Hasil dari konvolusi selanjutnya masuk ke proses max pooling. Max pooling akan menghasilkan output yang lebih kecil dari convolution dengan cara mengambil nilai maksimal dari matriks tersebut. Proses ini ditunjukkan pada Gambar 3.7.

653 634 619

634 629 625

617 626 616

Gambar 3.7 Hasil Proses Max Pooling

Gambar tersebut menjelaskan tentang proses Max polling layer. Pada gambar diatas menggunakan ukuran pooling 2 × 2 pixel dan mencari nilai maksimum yang

653 634 634 629

(43)

ada pada matriks tersebut. Matriks 2 × 2 bergerak dari sudut kiri atas pada feature map dan bergeser ke matriks 2 × 2 sampai melalui semua nilai yang terdapat pada feature map. Setiap matriks yang diambil pada nilai matriks tersebut sehingga menghasilkan pooled feature map yang ada seperti gambar di atas.

Proses selanjutnya flattening, pada proses ini setiap hasil yang dihasilkan di max pooling layer harus ditransformasilan menjadi array satu dimensi sebelum dimasukkan ke proses fully connected layer. Hasil transformasi dari max pooling ditunjukkan pada Gambar 3.8.

Gambar 3.8 Proses Flattening

Pada Gambar 3.8 merupakan hasil dari max pooling dengan mentransformasikan array tiga dimensi menjadi array satu dimensi. Proses ini bertujuan agar data tidak kehilangan informasi spasial dan reversible. Selanjutnya adalah proses fully connected layer. Fully connected layer menghubungkan setiap neuron dari layer ke layer lainnya.

3.6. Perancangan Sistem

Pada penelitian ini, sistem yang dirancang berupa sistem klasifikasi spesies ikan menggunakan ponsel pintar berbasis sistem operasi Android. Dalam penelitian ini, aplikasi memerlukan perancangan antarmuka (interface). Antarmuka merupakan gambaran umum perancangan setiap tampilan yang terdapat pada aplikasi.

3.6.1. Rancangan tampilan proses klasifikasi citra dari kamera

Dalam proses klasifikasi citra dari kamera, citra spesies ikan diambil menggunakan kamera ponsel pintar secara real time. Rancangan tampilan akuisisi citra dari kamera dapat dilihat pada Gambar 3.9.

(44)

Gambar 3.9 Rancangan tampilan pengambilan citra dari kamera.

Keterangan:

(a) Judul dari aplikasi (b) Logo dari aplikasi

(c) Sebuah pesan yang ditujukan kepada pengguna agar melakukan pengambilan citra dengan keseluruhan citra spesies ikan yang berada pada kotak yang telah disediakan.

(d) Tempat Real time kamera menggunakan kamera belakang ponsel.

(e) Tempat untuk melihat hasil klasifikasi

(f) Tombol yang digunakan untuk mengambil citra dan memulai proses klasifikasi.

(g) Tombol untuk melakukan proses impor citra dari galeri atau citra yang telah diambil terlebih dahulu pada ponsel pintar.

3.6.2. Rancangan tampilan proses klasifikasi citra dari galeri

Proses klasifikasi citra juga dapat dilakukan dari citra yang diimpor melalui galeri atau citra yang telah diambil terlebih dahulu dan telah tersimpan digaleri. Rancangan tampilan impor citra dari galeri dapat dilihat pada Gambar 3.10.

(45)

. Gambar 3.10 Rancangan tampilan impor citra dari galeri

Keterangan:

(a) Tombol untuk memutar citra

(b) Tombol untuk membolak-balikkan citra ke vertical atau horizontal

(c) Tombol untuk memotong citra dengan membuang citra yang tidak digunakan (d) Pratinjau citra yang diimpor dari galeri

(e) Kotak trimap merupakan kotak yang disediakan kepada pengguna untuk melakukan crop citra spesies ikan.

Apabila pengguna memulai proses klasifikasi dengan menekan tombol c, proses klasifikasi citra dari galeri akan dilakukan. Rancangan tampilan klasifikasi citra dari galeri dapat dilihat pada Gambar 3.11.

(46)

Gambar 3.11 Rancangan tampilan klasifikasi citra dari galeri Keterangan:

(a) Judul dari aplikasi (b) Logo dari aplikasi

(c) Sebuah pesan yang ditujukan kepada pengguna agar melakukan pengambilan citra dengan keseluruhan citra spesies ikan yang berada pada kotak yang telah disediakan.

(d) Tempat Real time camera menggunakan kamera belakang ponsel.

(e) Tempat untuk melihat hasil klasifikasi

(f) Tombol yang digunakan untuk mengambil citra dan memulai proses klasifikasi.

(g) Tombol untuk melakukan proses impor citra dari galeri atau citra yang telah diambil terlebih dahulu pada ponsel pintar.

3.6.3. Rancangan tampilan hasil klasifikasi

Setelah melakukan proses klasifikasi, aplikasi akan menampilkan hasil klasifikasi.

Hasil klasifikasi berupa tampilan spesies ikan hasil klasifikasi dari sistem beserta

(47)

informasi tambahan berupa deskripsi, tingkatan taksonomi, dan tingkat aman untuk dikonsumsi. Rancangan tampilan hasil klasifikasi dapat dilihat pada Gambar 3.12.

Gambar 3.12 Rancangan tampilan hasil klasifikasi Keterangan:

(a) Foto citra spesies ikan pada sistem yang sesuai dengan hasil klasifikasi.

(b) Nama latin dan nama ilmiah spesies ikan hasil klasifikasi.

(c) Deskripsi, ekologi, dan tingkat aman untuk dikonsumsi spesies ikan hasil klasifikasi. Tingkatan taksonomi spesies ikan hasil klasifikasi.

(48)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini akan membahas tentang hasil training dan testing yang diperoleh dari implementasi metode Convolutional Neural Network dalam melakukan klasifikasi spesies ikan sesuai analisis dan perancangan yang telah dibahas pada Bab 3.

4.1. Implementasi Sistem

Dalam penelitian ini, seluruh metode yang digunakan diimplementasi dalam bentuk sistem yang dibangun menggunakan dua bahasa pemrograman. Untuk training di desktop menggunakan bahasa pemrograman Python dan untuk implementasi sistem berbasis sistem operasi Android menggunakan bahasa pemrograman Java.

4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak

Spesifikasi perangkat keras berupa komputer yang digunakan untuk membangun sistem adalah sebagai berikut:

1. Processor : Intel(R) Core(TM) i5-7200U CPU @ 2.50 Hz (4 CPUs), ~2.7 GHz 2. Hard disk : Kapasitas 500 GB

3. RAM : 4.00 GB

4. Sistem operasi yang digunakan Windows 10 64 bit.

Untuk mendukung dalam proses pembangunan sistem digunakan perangkat keras berupa ponsel pintar dengan spesifikasi sebagai berikut:

1. Storage : Kapasitas 64 GB 2. RAM : 4.00 GB

3. Sistem operasi : Android 8.0.0

Spesifikasi perangkat lunak yang digunakan untuk membangun sistem adalah sebagai berikut:

1. Aplikasi pembangunan sistem berbasis sistem operasi Android adalah Android Studio 3.5.

(49)

4.1.2. Implementasi Perancangan Antarmuka

Adapun implementasi perancangan antarmuka berdasarkan rancangan pada Bab 3 adalah sebagai berikut:

1. Tampilan permohonan akses kamera dan media penyimpanan

Untuk dapat menjalankan aplikasi sebagaimana mestinya, pengguna perlu memberikan akses kamera dan media penyimpanan. Akses kamera dibutuhkan untuk proses klasifikasi citra dari kamera, sedangkan akses media penyimpanan dibutuhkan untuk proses klasifikasi citra dari galeri. Tampilan permohonan akses dapat dilihat pada gambar 4.1 dan gambar 4.2.

Gambar 4.1 Tampilan permohonan akses kamera

(50)

Gambar 4.2 Tampilan media penyimpanan

(51)

2. Tampilan awal

Tampilan awal dari aplikasi yang masih belum mengklasifikasi citra dapat dilihat pada Gambar 4.3.

Gambar 4.3 Tampilan awal

Proses klasifikasi berupa sumber dari citra yang diimpor melalui galeri atau citra yang telah diambil terlebih dahulu pada ponsel pintar. Dalam proses klasifikasi citra dari galeri, terlebih dahulu citra spesies ikan diimpor ke dalam aplikasi. Tampilan akses galeri dapat dilihat pada Gambar 4.4.

(52)

Gambar 4.4. Tampilan akses galeri

Setelah memilih gambar yang akan digunakan, tampilan impor citra dari galeri akan ditampilkan. Tampilan impor citra dari galeri dapat dilihat pada Gambar 4.5.

(53)

Gambar 4.5 Tampilan import citra dari galeri

Apabila pengguna memulai proses klasifikasi dengan menekan Potong di sudut kanan atas, maka proses klasifikasi citra akan dilakukan. Tampilan klasifikasi citra dari galeri dapat dilihat pada Gambar 4.6.

(54)

. Gambar 4.6 Tampilan hasil klasifikasi citra

Pada gambar 4.6 hasil dari klasifikasi citra yang menunjukkan jenis ikan pada citra tersebut.

(55)

3. Tampilan hasil klasifikasi

Setelah melakukan proses klasifikasi, aplikasi akan menampilkan hasil klasifikasi dan muncul informasi tambahan berupa deskripsi, tingkatan taksonomi, ekologi, ukuran, dan tingkat aman untuk dikonsumsi. Tampilan hasil klasifikasi dapat dilihat pada Gambar 4.7.

Gambar 4.7 Tampilan hasil klasifikasi

(56)

4.2. Pelatihan Sistem

Pada penelitian ini, pelatihan sistem menggunakan metode Convolutional Neural Network dengan data training yang digunakan berupa 70% dari dataset citra spesies ikan yaitu sebanyak 210 data training. Data tersebut akan ditraining di sistem. Proses training data dapat dilihat pada gambar 4.8.

Gambar 4.8 Hasil proses pelatihan system

Pada penelitian ini menggunakan epoch ke 8 karena nilai val_acc pada epoch ke 8 terlihat nilai yang tinggi dan setelahnya nilai turun. Batch size atau ukuran banyak batch berupa citra yang akan dilatih pada satu satuan waktu (satu kali pelatihan). Nilai 16 dipilih pada penelitian ini karena keterbatasan memori pada sistem. Training rate adalah jumlah tahapan yang diperlukan untuk melatih citra. Nilai 0.001 dipilih karena pada system menggunakan optimizer ‘adam’ yang memiliki learning rate 0.001 dan terbukti efektif.

4.3. Pengujian Sistem

Pada penelitian ini, pengujian sistem menggunakan metode Convolutional Neural Network dengan data testing yang digunakan berupa 30% dari dataset citra spesies ikan.

Hasil pengujian dengan model terbaik dari percobaan diatas dapat dilihat pada tabel 4.1. label pada kolom tabel menunjukkan label yang terklasifikasi, sedangkan label pada baris tabel menunjukkan label ikan yang sebenarnya. Ikan gurame yang

(57)

terklasifikasi sebagai gurame ada 37, ikan mujair ada 1, dan ikan nila 0 data. Ikan mujair yang terklasifikasi sebagai mujair ada 15, gurame ada 5 dan nila 0 data. Ikan nila yang terklasifikasi sebagai nila ada 26, gurame ada 5, dan mujair 2 data.

Tabel 4.1 Hasil pengujian model

Gurame Mujair Nila

Gurame 37 1 0

Mujair 5 16 0

Nila 5 2 26

Dari tabel 4.1 dapat diperoleh nilai True Positive (TP) merupakan jumlah data positif yang terklasifikasi dengan benar oleh sistem, False Positive (FP) merupakan jumlah data negatif namun terdeteksi sebagai data positif dan False Negative (FN) merupakan jumlah data positif, namun terdeteksi sebagai data negatif. Nilai TP, FP, dan FN dapat dilihat pada table 4.2

Tabel 4.2 Nilai TP, FP dan FN

TP FP FN

Gurame 37 10 1

Mujair 16 3 5

Nila 26 0 7

Total 79 13 13

Dari tabel 4.2 dapat diperoleh precision dan recall dari jenis ikan yang dikenali. Precision merupakan tingkat keakuratan data yang diminta dengan hasil prediksi yang diberikan oleh model. Recall merupakan keberhasilan model dalam menemukan kembali sebuah informasi.

Gurame Recall =

( ) 100%

=

( ) 100%

= 0,97 100% = 97%

Gambar

Gambar 2.1  Ikan Nila (www.pustakapertanian.com) Klasifikasi ikan nila dapat dilihat pada Tabel 2.1
Gambar 2.2  Ikan Mujair (www.urbanina.com)  Klasifikasi ilmiah ikan mujair dapat dilihat pada Tabel 2.2
Gambar 2.3  Ikan Gurami (www.ilmubudaya.com)  Klasifikasi ilmiah ikan gurami dapat dilihat pada Tabel 2.3
Gambar 2.4  Ilustrasi citra digital (Putra, 2010)
+7

Referensi

Dokumen terkait

Model terbaik pada versi 2 yaitu versi dimana 7 spesies tanaman kaktus Grafting yang dimana 2 spesies diantaranya diambil dari data train versi 1 agar menambah variatif data

Klasifikasi merupakan tahapan pelatihan model menggunakan metode Convolutional Neural Network (CNN) dengan arsitektur GoggLeNet yang bertujuan untuk melakukan pelatihan

Berdasarkan data hasil uji yang telah dilakukan pada sistem klasifikasi penyakit pneumonia melalui citra Chest X-Ray menggunakan Convolutional Neural Network,

Oleh karena itu, untuk skenario pengujian selanjutnya, struktur CNN yang digunakan adalah CNN dengan ukuran filter 3x3 dan jumlah layer konvolusi 4, yang mana

Menurut Lennon (1991), kesalahan penambahan adalah sebuah jenis kesalahan yang dilakukan ketika pembelajar menggunakan bagian yang tidak diperlukan dan membuat kalimat

Dari penelitian yang sudah dilakukan ditarik kesimpulan bahwa CNN terbukti mampu mengklasifikasikan dengan baik untuk studi kasus spesies tanaman anthurium dengan akurasi yang cukup

Dalam penelitian ini dataset malaria akan di proses melalui pengolahan data science dengan menggunakan model Convolutional Neural Network yang menggunakan arsitektur ResNet

Kesimpulan yang dapat diambil berdasarkan hasil pengujian sistem pengenalan ekspresi wajah menggunakan Convolutional Neural Network adalah sebagai berikut : Metode