Perancangan Aplikasi Pengolahan Citra Untuk mendiagnosa penyakit Ikan Kakap berbasis Android

(1)

Snapper production in indonesia is still largely produced from catching on the sea, and

only a few that have been in the produce of the maintenance (cultivation). One of the factors that

impede development during cultivation

Snapper in

indonesia is still the

difficulty

of procuring seeds continuously in a sufficient quantities.

At the time of the cultivation

of snapper there are some problems faced by fishfarmers, one being how to diagnose whether the

fish is infected with a diseaseor not. The cause of the illness as a parasite which clings to the

fish, changes in pH is too low, the lack of oxygen and water temperature changes suddenly. It

all has the solution in its relief and this can only be done by an expert in their field. In this

research will be made to image processing Applications to diagnose diseases of the

Android-based Snapper in order to help farmers snapper to view information about diseases of

the snapper as well as the solution. Applications designed using the object approach using UML,

the results of the testing applications made, this application is able to provide information about

the disease snapper and provide solutions to overcome them.


(2)

ABSTRAK

Produksi ikan kakap di indonesia sebagian besar masih dihasilkan dari penangkapan di

laut, dan hanya beberapa saja diantarannya yang telah di hasilkan dari usaha pemeliharaan

(budidaya). Salah satu faktor selama ini yang menghambat perkembangan usaha budidaya ikan

kakap di indonesia adalah masih sulitnya pengadaan benih secara kontinyu dalam jumlah yang

cukup. Pada saat pembudidayaan ikan kakap ada beberapa masalah yang dihadapi petani ikan,

salah satunya bagaimana mendiagnosa apakah ikan tersebut terinfeksi penyakit atau tidak.

Penyebab penyakitnya diantaranya karena parasit yang menempel pada ikan, perubahan pH yang

terlalu rendah, kekurangan oksigen dan perubahan suhu air yang mendadak. Semua itu

mempunyai solusi dalam penanggulangan nya dan hal ini hanya dapat di lakukan oleh seorang

yang pakar dalam bidangnya. Dalam penelitian ini akan dibuat Aplikasi Pengolahan Citra Untuk

Mendiagnosa Penyakit Ikan Kakap Berbasis Android agar dapat membantu para petani ikan

kakap untuk melihat informasi tentang penyakit ikan kakap serta solusinya. Aplikasi yang

dirancang menggunakan pendekatan objek dengan menggunakan UML, dari hasil pengujian

aplikasi yang dibuat, aplikasi ini sudah dapat memberikan informasi tentang penyakit ikan kakap

dan memberikan solusi cara penanggulangannya.


(3)

1 1.1 Latar Belakang

Indonesia adalah Negara yang memiliki potensi sumber daya perairan yang cukup besar untuk usaha budidaya ikan, usaha budidaya ikan kakap sudah banyak berkembang di beberapa negara seperti: Malaysia, Thailand dan Singapura, usaha budidaya ikan kakap dalam jaring apung (floating net cage) di laut telah berkembang. Ikan Kakap Putih (Lates calcarifer, Bloch) atau lebih dikenal dengan nama seabass/Baramundi merupakan jenis ikan yang mempunyai nilai ekonomis, baik untuk memenuhi kebutuhan konsumsi dalam negeri maupun ekspor. Produksi ikan kakap di indonesia sebagian besar masih dihasilkan dari penangkapan di laut, dan hanya beberapa saja diantarannya yang telah di hasilkan dari usaha pemeliharaan (budidaya). Salah satu faktor selama ini yang menghambat perkembangan usaha budidaya ikan kakap di indonesia adalah masih sulitnya pengadaan benih secara kontinyu dalam jumlah yang cukup.

Pada saat pembudidayaan ikan kakap ada beberapa masalah yang dihadapi petani ikan, salah satunya bagaimana mendiagnosa apakah ikan tersebut terinfeksi penyakit atau tidak. Penyebab penyakitnya diantaranya karena parasit yang menempel pada ikan, perubahan pH yang terlalu rendah, kekurangan oksigen dan perubahan suhu air yang mendadak. Semua itu mempunyai solusi dalam penanggulannya dan hal ini hanya dapat di lakukan oleh seorang yang pakar dalam bidangnya.

Perangkat mobile telah berkembang pesat saat ini. Salah satu wujudnya adalah dengan hadirnya perangkat smartphone. Perangkat ini dilengkapi dengan berbagai macam fungsi, sehingga seseorang dapat melakukan banyak hal pada satu perangkat saja. Salah satu perangkat smartphone yang populer saat ini ialah Android, yang merupakan salah satu platform pada perangkat smartphone. Disamping karena harganya cukup murah untuk sebuah smartphone, perangkat ini juga didukung dengan performa dan spesifikasi yang tidak kalah dibandingkan


(4)

2

dengan platform lain yang lebih mahal. Hal tersebut menjadikan perangkat smartphone berbasis Android lebih cepat berkembang dengan baik di Indonesia.

Dari latar belakang permasalahan diatas, penulis tertarik untuk melakukan penelitian yang berjudul “Perancangan Aplikasi Pengolahan Citra Untuk Mendiagnosa Penyakit Ikan Kakap berbasis Android”. Dimana aplikasi yang akan dibangun ini nantinya diharapkan dapat membantu para petani ikan dan mempermudah diagnose penyakit ikan kakap serta dapat mencari solusi tentang penyakit ikan kakap, karena semua informasi tentang penyakit dan solusinya sudah ada pada aplikasi ini. Sehingga para petani ikan kakap dapat memperkecil persentase kerugian dikarenakan penyakit ikan ini

1.2 Maksud dan Tujuan

Maksud dari penelitian ini ialah merancang suatu aplikasi di smartphone Android yang berfungsi melakukan proses pendeteksian penyakit ikan kakap menggunakan pengolahan citra berbasiss Android untuk kemudian dilakukan proses pengenalan penyakit serta solusinya. Adapun tujuan dari penelitian ini yaitu untuk mendeteksi penyakit yang ada pada tubuh ikan kakap menggunakan smartphone android.

1.3 Batasan Masalah

Untuk mempermudah proses pengerjaan, maka sistem aplikasi yang dirancang akan dibatasi sesuai dengan kemampuan penulis. Adapun beberapa masalah yang dibatasi diantaranya:

1. Aplikasi Android yang akan dibangun hanya sebatas melakukan proses pengolahan citra dan melakukan konfigurasi ke layanan web service dan pendeteksian berbasis cloud.

2. Aplikasi menggunakan Android versi 4.0

3. Pengenalan penyakit hanya di bagian luar tubuh ikan. 4. Posisi ikan tidak bisa vertikal harus horizontal.


(5)

1.4 Metode Penelitian

Metode penelitian yang digunakan dalam menyelesaikan tugas akhir ini diantaranya:

1. Studi literatur

Pengumpulan berbagai macam media informasi berkaitan dengan topik yang dibahas, meliputi materi seputar pengolahan citra dan penerapannnya pada pada smartphone Android serta cara penggunaan layanan perangkat lunak berbasis pengolahan citra untuk diimplementasikan pada smartphone Android.

2. Analisis Masalah

Menerapkan hasil studi literatur untuk menenetukan metode yang akan dipakai dalam melakukan proses pengolahan citra pada smartphone Android serta menganalisis cara kerja sistem aplikasi yang akan dibuat untuk mempermudah proses perancangan.

3. Perancangan Sistem Aplikasi

Melakukan perancangan sistem yang akan dibuat, mengacu pada hasil analisis terhadap studi literatur yang telah dilakukan dan mengikuti aturan standar perancangan sistem aplikasi berbasis pemrograman berorientasi objek.

4. Implementasi dan Pengujian

Membangun sistem aplikasi yang sudah dirancang secara bertahap dan melakukan pengujian pada tiap tahapan pembangunan sistem aplikasi untuk mengetahui adanya bug dan error yang mungkin terjadi.

5. Analisis

Melakukan evaluasi terhadap sistem aplikasi yang telah selesai dibangun dari hasil pengujian, untuk mengetahui kualitas keberhasilan dari sistem aplikasi tersebut.

6. Membuat Kesimpulan dan Saran

Menyimpulkan bagian-bagian sebelumnya dan memberikan saran untuk penelitian dengan topik sejenis di masa yang akan datang.


(6)

4

1.5 Sistematika Penulisan

Sistematika penulisan yang dilakukan dalam penyelesaian tugas akhir ini adalah sebagai berikut:

BAB I PENDAHULUAN

Mencakup latar belakang masalah, tujuan, batasan masalah, metode penelitian dan sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Mengemukakan dasar-dasar teori yang mendukung topik yang sedang dikerjakan serta pembahasan mengenai berbagai macam perlengkapan yang dipakai dalam perancangan sistem aplikasi mobile.

BAB III PERANCANGAN SISTEM

Mengemukakan tentang alur kerja sistem aplikasi secara keseluruhan, model perancangan sistem aplikasi mobile serta metode pengolahan citra yang dipakai.

BAB IV PENGUJIAN DAN ANALISA

Membahas tentang cara kerja dan penggunaan sistem aplikasi serta metode pengujian yang dilakukan, dan analisis sistem aplikasi berdasarkan hasil pengujian yang diperoleh.

BAB V KESIMPULAN DAN SARAN

Menguraikan kesimpulan dari hasil pengujian serta analisis yang dilakukan diikuti dengan saran yang diajukan oleh penulis.


(7)

5

2.1 Pengolahan Citra Digital

Kebutuhan untuk pengolahan citra secara cepat dan mudah sangat diperlukan. Banyak sekali aplikasi program untuk editing gambar (citra) yang menyediakan fungsi-fungsi yang sudah tersedia, artinya pengguna tidak dapat melakukan kostumisasi terhadap fungsi-fungsi spesifik yang dibutuhkannya. Penelitian ataupun penerapan di lapangan yang melibatkan proses pengolahan citra, kadang-kadang menyulitkan dalam bidang pemrograman karena rutin program yang berhubungan dengan komputer grafik membutuhkan keahlian khusus dalam implementasinya

.

Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat 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 (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital. Gambar 2.1 menunjukkan posisi koordinat citra digital.

Gambar 2.1. Koordinat citra digital Citra digital dapat ditulis dalam bentuk matrik sebagai berikut[5].


(8)

6

(2.1)

Nilai pada suatu irisan antara baris dan kolom (pada posisi x,y) disebut dengan picture elements, image elements, pels, atau pixels. Istilah terakhir (pixel) paling sering digunakan pada citra digital.

2.1.1 Jenis Citra

Nilai suatu pixel memiliki nilai dalam rentang tertentu, dari nilai minimum sampai nilai maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari jenis warnanya. Namun secara umum jangkauannya adalah 0-255. Citra dengan penggambaran seperti ini digolongkan ke dalam citra integer. Berikut adalah jenis-jenis citra berdasarkan nilai pixelnya[5].

2.1.1.1 Citra Warna

Setiap pixel dari citra warna (8 bit) hanya diwakili oleh 8 bit dengan jumlah warna maksimum yang dapat digunakan adalah 256 warna. Ada dua jenis citra warna 8 bit. Pertama, citra warna 8 bit dengan menggunakan palet warna 256 dengan setiap paletnya memiliki pemetaan nilai (colormap) RGB tertentu. Model ini lebih sering digunakan. Kedua, setiap pixel memiliki format 8 bit sebagai berikut[5].

Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0

R R R G G G B B


(9)

2.1.1.2 Citra Grayscale

Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pixelnya, dengan kata lain nilai bagian red = green = blue. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan dan putih. Tingkatan keabuan disini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra grayscale berikut memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan)[5].

Gambar 2.3. Citra grayscale

2.1.1.3 Citra Biner

Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai pixel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and white) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap pixel dari citra biner. Citra biner sering kali muncul sebagai hasil dari proses pengolahan seperti segmentasi, pengambangan, morfologi, ataupun dithering[5].


(10)

8

2.1.2 Segmentasi Citra

Segmentasi merupakan teknik untuk membagi suatu citra menjadi beberapa (region) dimana setiap daerah memiliki kemiripan atribut. Salah satu teknik segmentasi ialah pengambangan (thresholding).

2.1.3 Pengambangan (Thresholding)

Proses pengambangan akan menghasilkan citra biner, yaitu citra yang memiliki dua nilai tingkat keabuan hitam dan putih. Secara umum proses pengambangan citra grayscale untuk menghasilkan citra biner adalah sebagai berikut[5].

(2.2) Dengan adalah citra biner dari citra grayscale dan T menyatakan nilai ambang. Nilai T memegang peranan yang sangat penting dalam proses pengambangan. Kualitas hasil citra biner sangat tergantung pada nilai T yang digunakan.

Terdapat dua jenis pengambangan, yaitu pengambangan global (global thresholding) dan pengambangan secara lokal adaptif (locally adaptive thresholding). Pada pengambangan global, seluruh pixel pada citra dikonversikan menjadi hitam atau putih dengan satu nilai ambang T. Kemungkinan besar pada pengambangan global akan banyak informasi hilang karena hanya menggunakan satu nilai T utuk keseluruhan pixel. Untuk mengatasi ini dapat digunakan pengembangan secara lokal adaptif. Pada pengambangan lokal, suatu citra dibagi menjadi blok-blok kecil yang kemudian dilakukan pengambangan lokal pada setiap blok dengan nilai T yang berbeda.

2.1.4 Pengambangan dengan metode Otsu

Pengambangan dengan Metode Otsu yaitu proses menghitung nilai ambang T secara otomatis berdasarkan citra masukan. Pendekatan yang dilakukan oleh metode Otsu adalah dengan melakukan analisis diskriminan yaitu menentukan


(11)

suatu variabel yang dapat membedakan antara dua atau lebih kelompok yang muncul secara alami. Analisis Diskriminan akan memaksimumkan variabel tersebut agar dapat memisahkan objek dengan latar belakang.

Misalkan nilai ambang yang akan dicari dari suatu citra graycale dinyatakan dengan k. Nilai k berkisar antara 1 sampai dengan L, dengan nilai L = 255. Probabilitas setiap pixel pada level ke i dapat dinyatakan dengan[6]:

(2.3) dengan:

menyatakan jumlah pixel pada level ke i N menyatakan total jumlah pixel pada citra.

Nilai momen kumulatif ke nol, momen kumulatif ke satu dan nilai rata-rata berturut-turut dinyatakan sebagai berikut[6].

(2.4) (2.5) (2.6) Nilai ambang k dapat ditentukan dengan memaksimalkan persamaan[6]:

(2.7) dengan


(12)

10

2.2 Ikan Kakap

Kakap putih sebenarnya adalah ikan liar yang hidup di laut. Namun setelah di lakukan penelitian kakap putih memiliki habitat yang sangat luas. Kakap putih dapat hidup di daerah laut yang berlumpur, berpasir, serta di ekosistem mangrove.

2.2.1 Jenis Penyakit Ikan Kakap

Jenis penyakit bakterial yang ditemukan pada ikan kakap, diantaranya adalah penyakit borok pangkal sirip ekor dan penyakit insang. Hasil isolasi dan identifikasi bakteri ditemukan beberapa jenis bakteri yang diduga berkaitan erat dengan kasus penyakit bakterial, yaitu Vibrio alginolyticus, V. algosus, V. anguillarum dan V. fuscus (Jhonny, 2002). Adapun Jenis penyakit ikan kakap, diantaranya;

1. Monogenia,

Monogenia adalah parasit jenis kutu ikan dari golongan crustacean biasanya menyerang pada permukaan tubuh ikan cirinya yaitu luka pada tubuh. Cara penanganannya ikan yang terkena parasit dapat direndam dalam air tawar selama 10 – 15 menit, lalu direndam dengan larutan akriflavin 10 ppm selama 1 jam,prefuran 1 ppm selama 1 jam. Seperti yang dapat dilihat pada gambar 2.5.


(13)

2. Trematoda

Trematoda adalah cacing pipih, biasanya menyerang insang cirinya nya warna insang merah pucat. Cara penanganannya ikan yang sakit direndam larutan formalin 30-50 ppm selama 24 s/d48 jam atau larutan formalin 100-200 ppm selama 30 menit s/d 1 jam dan perendaman H2O2 200 ppm selama 1 jam. Seperti yang dapat dilihat pada gambar 2.6.

Gambar 2.6 Trematoda.

3. Cryptocaryon

Cryptocaryon penyakit bintik putih. Bagian yang diserang di bagian ekor. Cara penanganannya di rendam dalam air laut yang sudah diberi larutan formalin selama 5-7 hari, dosis 25 ppm. Seperti yang dapat dilihat pada gambar 2.7.


(14)

12

Gambar 2.7 Cryptocaryon.

4. Tricodiniasis

Tricodiniasis penyakit ini biasanya menyerang sirip ikan penyebarannya melalui perairan atau menular dari ikan lain. Cirinya sirip sobek-sobek dan lender meningkat. Cara penanganannya dengan cara direndam dalam air laut yang sudah diberi formalin 25-30 ppm selama 1-2 hari. Seperti yang dapat dilihat pada gambar 1-2.8.

Gambar 2.8 Tricodiniasis.

5. Bakteri Vibrio sp

Bakteri Vibrio sp penyakit yang menyebabkan kematian terbesar saat pembesaran cirinya terdapat radang berwarna merah pada anus. Cara penanganannya ikan yang sakit direndam dengan prefuran dengan acriflavine. Seperti yang dapat dilihat pada gambar 2.9.


(15)

Gambar 2.9 Bakteri Vibrio sp.

2.3 Android

Android merupakan suatu software stack untuk perangkat mobile. Di dalamnya terdapat sistem operasi, middleware, dan key application. Aplikasi pada platform ini dikembangkan dalam bahasa pemrograman java. Android sendiri memiliki banyak fitur, diantaranya[7]:

1. Merupakan sebuah Application Framework sehingga programmer dapat menggunakan beberapa fungsi yang telah disediakan.

2. Dalvik virtual machine. Tiap aplikasi dalam Android memiliki instance virtual machine yang dapat bekerja secara efisien dalam lingkungan memori yang terbatas.

3. Integrated browser. Web browser berbasis WebKit engine terdapat pada browser default Android ataupun dapat diintegrasikan dengan aplikasi lain. 4. Optimized graphic.Library grafis 2D yang kaya dan 3D berbasis OpenGL ES

1.0 yang mendukung akselerasi hardware.

5. SQLite.Basis data relasional yang ringan namun sangat powerful.

6. Media Support. Mendukung berbagai format audio, video dan gambar (MPEG, H.264, MP3, AAC, AMR, JPG, PNG, GIF).

7. GSM Telephony.Mendukung fungsi komunikasi GSM.

8. Blutooth, EDGE, 3G dan WiFi. Mendukung komunikasi pada jaringan (tergantung hardware).

9. Kamera, GPS, kompas dan accelerometer. Mendukung berbagai fitur yang disediakan oleh hardware.


(16)

14 10.Tools Developer yang lengkap. Termasuk device emulator, tools untuk

debugging, profiling memori dan performa, plugin untukEclipse IDE.

2.3.1 Arsitektur Android

Sistem operasi Android dibagi menjadi lima bagian dalam empat lapisan utama, seperti yang dapat di lihat pada gambar 2.5 di bawah ini.

Gambar 2.10 Arsitektur Android Penjelasan masing-masing lapisan:

1. Kernel Linux: Merupakan kernel (inti) dari sistem operasi Android. Lapisan ini meliputi seluruh driver pada tingkatan device untuk berbagai jenis komponen hardware dari perangkat Android.

2. Libraries: Meliputi seluruh kode yang merupakan fitur utama dari sistem Android. Contohnya Library SQLite yang merupakan library untuk yang menyediakan layanan database sehingga aplikasi dapat menggunakannya sebagai tempat penyimpanan data.Contoh lainnya Library Webkit yang menyediakan segala fungsi yang berkaitan dengan web browsing.


(17)

runtime menyediakan inti libraries yang memungkinkan pengembang untuk menulis aplikasi Android dengan bahasa pemrograman Java. Android runtime juga menyertakan Dalvik virtual machine (aplikasi Android di kompilasi kedalam file Dalvik yang dapat dieksekusi). Dalvik merupakan mesin virtual spesial yang di rancang secara khusus untuk android dan dioptimalkan untuk perangkat mobile sumber batere dengan memory dan CPU yang terbatas. 4. Application framework: Memperlihatkan berbagai kemampuan dari sistem

android. Disediakan untuk pengembang aplikasi, sehingga dapat digunakan dalam aplikasi yang dibuat

5. Application: Merupakan lapisan teratas. Segala macam aplikasi yang dibuat akan ditempatkan pada lapisan ini.

2.3.2 Struktur Aplikasi Android

Arsitektur Android mengadopsi konsep component reuse, yang memungkinkan untuk mempublikasikan dan berbagi activities, service dan data dengan aplikasi lain, dengan batasan akses kelola. Berikut layanan aplikasi yang merupakan landasan arsitektur dari semua aplikasi Android:

1. Activity Manager: mengontrol siklus hidup suatu Aktivitas, termasuk manajemen tumpukan aktivitas

2. Views: Digunakan untuk membuat antarmuka user untuk aktivitas yang dibuat.

3. Notification Manager: Menyediakan mekanisme konsisten dan nonintrusive yang memberi peringatan kepada user.

4. Content Providers: Membiarkan aplikasi untuk berbagi data

5. Resource Manager: Mendukung non-kode sumber seperti string dan grafis sebagai tool ekternal.

2.4 Pemrograman Berorientasi Objek

Pemrograman berorientasi objek (object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek,


(18)

16 dimana semua data dan fungsi dibungkus dalam class-class atau object-object. Setiap object dapat menerima pesan, memproses data, mengirim, menyimpan dan memanipulasi data. Beberapa object berinteraksi dengan saling memberikan informasi satu terhadap lainya. Masing-masing object harus berisikan informasi mengenai dirinya sendiri dan dapat dihubungkan dengan object yang lain. Konsep dasar dari Pemrograman berorientasi objek antara lain[5]:

1. Kelas (Class)

Merupakan model yang berisi kumpulan attribute dan method dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh class manusia memiliki attribute berat, tinggi, usia kemudian memiliki method makan, minum, tidur. Method dalam sebuah class dapat merubah attribute yang dimiliki oleh class tersebut. Sebuah class merupakan dasar dari modularitas dan struktur dalam pemrograma berorientasi objek.

2. Atribut (Attribute)

Attribute dari sebuah class adalah variabel global yang dimiliki sebuah class, attribute dapat memiliki hak akses private, public maupun protected.

3. Metode (Method)

Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer di dalam suatu class. Dengan kata lain, method pada sebuah class hampir sama dengan fungsi atau prosedur pada pemrograman prosedural. Pada sebuah method di dalam sebuah classi juga memiliki izin akses seperti halnya attribute.

4. Objek (Object)

Merupakan perwujudan dari class, setiap object akan mempunyai atrribute dan method yang dimiliki oleh class-nya, contoh: andi, budi, yani merupakan object dari class manusia. Setiap object dapat berinteraksi dengan object lainnya meskipun berasal dari class yang berbeda.

5. Abstraksi (Abstraction)


(19)

sederhana. Sebagai contoh kita tidak melihat sebuah mobil sebagai ribuan komponen elektronik, sistem mekanik dengan empat bauh ban, jok, stir kemudi dan sebagainya. Dengan abstraksi, suatu sistem yang kompleks dapat dipandang sebagai kumpulan subsistem-subsistem yang lebih sederhana, seperti halnya mobil merupakan suatu sistem yang terdiri atas berbagai subsistem, seperti subsistem kemudi, subsistem pengereman dan sebagainya. 6. Enkapsulasi (Encapsulation)

Merupakan suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem dan sekaligus menyederhanakan penggunaan sistem tersebut. Memastikan pengguna sebuah object tidak dapat mengganti keadaan dalam dari sebuah object dengan cara yang tidak layak. Hanya metode dalam object tersebut yang diberi ijin untuk mengakses keadaannya. Setiap object mengakses interface yang menyebutkan bagaimana object lainnya dapat berinteraksi dengannya. Object lainnya tidak akan mengetahui dan tergantung kepada representasi dalam object tersebut.

7. Polimorfisme (Polymorphism)

Merupakan konsep yang memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu object agar melakukan suatu tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda. Contoh, bila seekor burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut.

8. Pewarisan (Inheritance)

Merupakan konsep mewariskan attribute dan method yang dimiliki oleh sebuah class kepada class turunannya. Dengan konsep ini, class yang dibuat cukup mendefinisikan attribute dan method yang spesifik di dalamnya, sedangkan attribute dan method yang lebih umum akan didapatkan dari class yang menjadi induknya. Mengatur polimorfisme dan enkapsulasi dengan mengijinkan object didefinisikan dan diciptakan dengan jenis khusus dari


(20)

18 object yang sudah ada. Object-object ini dapat membagi (dan memperluas) perilaku mereka tanpa harus mengimplementasikan ulang perilaku tersebut.

2.5 UML

Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. UML merupakan himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat (tool) untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.

UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi.Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

2.5.1 Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu[5]:

1. Use Case Diagram, untuk memodelkan proses bisnis.

2. Conceptual Diagram, untuk memodelkan konsep-konsep yang ada di dalam aplikasi.

3. Sequence Diagram, untuk memodelkan pengiriman pesan (message) antar objek.


(21)

4. Collaboration Diagram, untuk memodelkan interaksi antar objek. 5. State Diagram, untuk memodelkan perilaku objek di dalam sistem.

6. Activity Diagram, untuk memodelkan perilaku Use Case dan objek di dalam sistem.

7. Class Diagram, untuk memodelkan struktur kelas. 8. Object Diagram, untuk memodelkan struktur objek.

9. Component Diagram, untuk memodelkan komponen objek. 10.Deployment Diagram, untuk memodelkan distribusi aplikasi.

2.5.2 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi anatara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. Penggambaran use case diagram dapat dilihat pada gambar 2.6 berikut.


(22)

20

Gambar 2.11. Contoh Diagram Use Case

2.5.3 Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagrami merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Decision


(23)

digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimline untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. Contoh Activity diagram dapat dilihat pada gambar 2.7 berikut.

Gambar 2.12. Contoh Diagram Activity

2.5.4 Sequence Diagram

Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi dan informasi yang diperlukan oleh masing-masing operasi. Contoh sequence diagram dapat dilihat pada gambar 2.8 berikut.


(24)

22

Gambar 2.13. Contoh Diagram Sequence

2.5.5 Class Diagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan. Penggambaran class diagram dapat dilihat dalam gambar 2.9 berikut.


(25)

Gambar 2.14 Contoh Diagram Class

2.6 SaaS (Software as a service)

Saas (Software as a service atau perangkat lunak berbentuk layanan) adalah suatu model penyampaian aplikasi perangkat lunak oleh suatu vendor perangkat lunak yag mengembangkan aplikasi web yang dikepalai dan dioperasikan (baik secara mandiri maupun melalui pihak ketiga) untuk digunakan oleh pelanggannya melalui internet. Pelanggan tidak mengeluarkan uang untuk memiliki perangkat lunak tersebut melainkan hanya untuk menggunakan. Pelanggan menggunakan perangkat lunak tersebut melalui antarmuka pemrograman aplikasi (API) yang dapat diakses melalui web dan seringkali ditulis dengan layanan web atau REST.


(26)

24

BAB III

PERANCANGAN SISTEM

3.1 Analisis Masalah

Permasalahan yang diangkat pada penelitian ini ialah menganalisis dan mendiagnosa penyakit ikan kakap melalui tubuh ikan menggunakan program aplikasi sehingga menghasilkan pendiagnosaan penyakit yang optimal. Analisis tersebut dilakukan berdasarkan pengambilan gambar yang mungkin terjadi pada saat pengguna aplikasi melakukan pengambilan gambar pada tubuh ikan secara langsung.

3.2 Analisis Data penyakit

Analisis data penyakit berisi penjelasan tentang penyakit serta contoh gambar yang akan disimpan di database untuk dibandingkan. Tujuannya untuk mendapatkan perbedaan antara yang sehat dan berpenyakit pada ikan. Untuk gambar sample penyakit berada pada lampiran No.1.

3.3 Analisis Pengolahan Citra

Struktur Pengolahan Citra pada program aplikasi terdiri dari tiga buah proses secara berurut yaitu cropping, grayscaling dan thresholding. Tujuan dari modul ini ialah untuk menghasilkan citra yang dapat dikenali oleh smartphone. Urutan proses ditunjukan oleh flowchart pada gambar 3.1


(27)

Gambar 3.1 Flowchart struktur pengolahan citra

Berikut adalah penjelasan dari setiap proses yang ada pada gambar 3.1 a. Capture Image

Pada proses ini dilakukan pengambilan gambar pada objek yang akan diproses. Langkah ini adalah awal dari proses proses lainnya karena proses lain- nya membutuhkan gambar. Cara pengambilan gambarnya dengan mengarahkan kamera ponsel android ke daerah tubuh ikan yang ingin diidentifikasi.

b. Cropping

Pada proses ini, dilakukan pemotongan terhadap gambar masukan dengan cara menyeleksi area tubuh ikan yang akan dikenali. Proses ini menghasilkan sebuah potongan gambar pada area tubuh ikan yang dilakukan oleh user. Cropping pada pengolahan citra berarti memotong satu bagian dari citra sehingga diperoleh citra


(28)

26

yang diharapkan. Ukuran pemotongan citra tersebut berubah sesuai dengan ukuran citra yang diambil. Cropping dilakukan pada koordinat (x,y) sampai pada koordinat (m,n). Oleh karena itu, pertama kali yang harus dilakukan adalah menentukan koordinat-koordinat

tersebut. Ilustrasi cropping dapat dilihat pada gambar 3.2 berikut.

(a) (b)

(c) (d)

Gambar 3.2. Ilustrasi cropping: (a) kiri-atas, (b) kanan-atas, (c) kiri-bawah , (d) kanan-bawah

Dari proses cropping pada gambar 3.2 di atas akan menghasilkan koordinat ( ) dan ( ) yang berbeda untuk menentukan nilai serta koordinat awal dari potongan citra yang akan dihasilkan.

c. Grayscaling

Pada proses ini, potongan gambar yang berwarna akan diubah menjadi gambar yang ke abu-abuan (grayscale). Transformasi gambar ke bentuk grayscale dilakukan dengan mengambil pixel dari salah satu gambar yang kemudian dihitung dengan menggunakan persamaan berikut:


(29)

Proses pengubahan citra RGB ke dalam citra grayscale dapat dilihat pada gambar 3.3 berikut.

Gambar 3.3 Flowchart grayscaling

d. Thresholding

Thresholding adalah proses mengubah citra berderajat keabuan menjadi citra biner atau hitam putih sehingga dapat diketahui daerah mana yang termasuk obyek dan background dari citra secara jelas. Citra hasil thresholding biasanya digunakan lebih lanjut untuk proses pengenalan obyek serta ekstraksi fitur.


(30)

28

Gambar 3.4 Flowchart Thresholding

e. Binary Image

Pada tahap ini gambar hasill cropping akan dirubah menjadi dua nilai derajat keabuan yaitu hitam dan putih dengan nilai 0 dan 1. Nilai entri matriks (yang mewakili suatu intensitas cahaya) akan diubah menjadi warna hitam apabila berada di bawah nilai threshold, dan begitu sebaliknya yaitu diubah menjadi warna putih apabila berada di atas nilai threshold tadi


(31)

3.4 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional dilakukan untuk mengetahui spesifikasi kebutuhan untuk sistem. Spesifikasi kebutuhan melibatkan analisis perangkat keras/hardware,analisis perangkat lunak/software,analisis pengguna/user.

3.4.1 Analisis kebutuhan Perangkat Keras

Kebutuhan perangkat keras untuk menjalankan aplikasi ini ialah smartphone Android yang memiliki beberapa spesifikasi utama sebagai berikut:

1. Sistem operasi Android 4.0 (ICS).

2. Kamera 5 MP (2560x1920 pixels), untuk keperluan pengambilan gambar yang dilakukan secara langsung.

3. Tampilan layar sentuh, untuk keperluan pemotongan gambar yang dilakukan secara manual.

4. Media penyimpanan eksternal, untuk keperluan menyimpan berbagai data yang dihasilkan oleh program aplikasi.

5. Jaringan 2G/3G, untuk menghubungkan program aplikasi dengan layanan server.

3.4.2 Analisis kebutuhan Perangkat Lunak

Perangkat lunak yang dipakai dalam pengembangan program aplikasi, diantaranya:

1. Sistem Operasi Windows 7 Ultimate.

2. Java Development Kit versi 6, untuk keperluan kompilasi kode-kode program.

3. Eclipse IDE 4.2.2, sebagai perangkat lunak yang digunakan untuk membangun aplikasi android.

4. Android SDK, untuk pengembangan aplikasi Android

5. Android Development Tool, sebagai plugin untuk mengintegrasikan Android SDK pada eclipse.


(32)

30 6. Filezilla FTP Client, untuk mengakses server.

3.4.3 Analisis Pengguna

Aplikasi yang akan dibangun ditujukan bagi para pengusaha yang membudidayakan ikan kakapdapat mengidentifikasi penyakit ikan kakap menggunakan smartphone android. Aplikasi ini juga dapat difungsikan sebagai pembelajaran tentang penyakit ikan kakap serta penanggulangannya.

3.5 Analisis Kebutuhan Fungsional

Kebutuhan fungsional yang digunakan meliputi beberapa diagram UML, diantaranya: diagram use case, diagram activity, diagram class dan diagram sequence. Diagram tersebut digunakan untuk mempermudah proses pengembangan aplikasi yang dikembangkan menggunakan pemrograman berorientasi objek.

3.5.1 Diagram Use Case

Pada sistem aplikasi yang dirancang terdapat lima buah uses case dan user sebagai aktor tunggal yang berperan dalam sistem. Kata kunci extends menjelaskan bahwa use case tersebut merupakan perluasan dari use case sebelumnya.


(33)

Gambar 3.5 Diagram Use Case

Penjelasan diagram use case diatas menggunakan tabel spesifikasi naratif sebagai berikut:

Tabel 3.1. Spesifikasi naratif untuk use case ambil foto melalui kamera Nama Use Case Ambil foto melalui kamera

Deskripsi Singkat Use case ini memungkinkan pengguna untuk melakukan pengambilan foto secara langsung menggunakan kamera.

Aktor Pengguna aplikasi. Pra Kondisi Aplikasi telah dijalankan.

Tindakan Utama Pengguna mengambil foto dengan cara memilih menu Ambil Foto yang terdapat di aplikasi. Pasca Kondisi Foto ditampilkan di layar.


(34)

32

Tabel 3.2. Spesifikasi naratif untuk use case pilih foto dari galeri Nama Use Case Pilih foto dari galeri

Deskripsi Singkat Use case ini memungkinkan pengguna untuk memilih foto yang sudah tersimpan di external memory melalui galeri.

Aktor Pengguna aplikasi. Pra Kondisi Aplikasi telah dijalankan.

Tindakan Utama Pengguna memilih foto yang sudah tersimpan di external memory dengan cara memilih menu Pilih Foto dari Gallery yang terdapat di aplikasi. Pasca Kondisi Foto ditampilkan di layar.

Tabel 3.3. naratif untuk use case penentuan area tubuh ikan pada foto Nama Use Case Penentuan area pada tubuh ikan

Deskripsi Singkat Use case ini memungkinkan pengguna untuk menentukan dibagian tubuh mana yang mempunyai perbedaan dari tubuh ikan yang normal.

Aktor Pengguna aplikasi.

Pra Kondisi Salah satu use case sebelumnya telah dilakukan. Tindakan Utama Pengguna menyeleksi area tubuh ikan pada citra yang ingin diproses oleh aplikasi dengan


(35)

memanfaatkan fitur layar sentuh pada perangkat Android.

Pasca Kondisi Foto ditampilkan di layar.

Tabel 3.4. Spesifikasi naratif untuk use case hasil diagnosa pada tubuh ikan Nama Use Case Hasil diagnose penyakit ikan

Deskripsi Singkat Use case ini merupakan perluasan dari use case penentuan area pada tubuh ikan. Use case akan menampilkan hasil identifikasi dan diagnose pada tubuh ikan dengan menyertakan fungsionalitas dua buah use case dari luar system

Aktor -

Pra Kondisi Use case penentuan area pada foto telah dilakukan.

Tindakan Utama -

Pasca Kondisi Hasil identifikasi dan diagnose ditampilkan di layar.

Table 3.5. Spesifikasi naratif untuk use case informasi cara penggunaan aplikasi Nama Use Case Informasi cara penggunaan Aplikasi

Deskripsi Singkat Use case ini memungkinkan pengguna untuk mendapatkan informasi mengenai cara


(36)

34 penggunaan aplikasi.

Aktor Pengguna aplikasi. Pra Kondisi Aplikasi telah dijalankan.

Tindakan Utama Pengguna memilih menu Bantuan yang terdapat di aplikasi

Pasca Kondisi Informasi mengenai cara penggunaan aplikasi ditampilkan di layar.

a. Use case scenario

Use case scenario merupakan deskripsi urutan langkah-langkah dalam proses yang dilakukan aktor terhadap sistem maupun yang dilakukan oleh sistem terhadap aktor. Untuk use case scenario pada sistem akan di jelaskan pada tabel berikut.

Tabel 3.6. use case scenario ambil foto melalui kamera

Aksi Aktor Reaksi Sistem

Skenario Normal 1. Memilih menu kamera

2. Menampilkan sistem kamera 3. Capture gambar


(37)

Tabel 3.7. use case scenario pilih foto dari galeri

Aksi Aktor Reaksi Sistem

Skenario Normal 1. Memilih menu galeri

2. Menampilkan isi galeri 3. Memilih gambar pada galeri

4. Menampilkan gambar

Tabel 3.8. use case scenario penentuan area tubuh ikan pada foto

Aksi Aktor Reaksi Sistem

Skenario Normal 1. Memilih menu kamera.

2. Menampilkan sistem kamera. 3. Capture gambar.

4. Menampilkan gambar. 5. Menentukan area yang ingin

diproses pada gambar.

6. Permintaan konfirmasi pada gambar.


(38)

36

Skenario Alternatif 1. Memilih menu galeri

2. Menampilkan isi galeri 3. Memilih gambar pada galeri

4. Menampilkan gambar 5. Menentukan area yang ingin

diproses pada gambar

6. Permintaan konfirmasi pada gambar.

7. Konfirmasi gambar

Tabel 3.9. use case scenario hasil diagnosa pada tubuh ikan

Aksi Aktor Reaksi Sistem

Skenario Normal 1. Memilih menu kamera.

2. Menampilkan sistem kamera. 3. Capture gambar.


(39)

5. Menentukan area yang ingin diproses pada gambar.

6. Permintaan konfirmasi pada gambar.

7. Konfirmasi gambar.

8. Memproses gambar.

9. Menampilkan hasil diagnosa gambar.

Skenario Alternatif 1. Memilih menu galeri

2. Menampilkan isi galeri 3. Memilih gambar pada galeri

4. Menampilkan gambar 5. Menentukan area yang ingin

diproses pada gambar

6. Permintaan konfirmasi pada gambar.

7. Konfirmasi gambar


(40)

38

9. Menampilkan hasil diagnosa gambar.

Tabel 3.10. use case scenario informasi cara penggunaan aplikasi

Aksi Aktor Reaksi Sistem

Skenario Normal 1. Memilih menu cara penggunaan

aplikasi

2. Menampilkan cara penggunaan aplikasi.

3.5.2 Diagram Activity

Diagram activity digunakan untuk menggambarkan alur rangkaian proses yang terjadi di dalam sistem aplikasi serta menjelaskan bagaimana sebuah use case terjadi atau dipicu dari use case yang lain. Masing-masing diagram aktifitas dapat dilihat pada gambar 3.6 sampai dengan 3.8.

Gambar 3.6 memperlihatkan aktifitas yang terjadi antara user dan sistem pada saat user memilih menu ambil foto melalui kamera. Gambar 3.7 memperlihatkan aktifitas yang terjadi antara user dan sistem pada saat user memilih menu pilih foto dari galeri. Kedua diagram tersebut pada umumnya sama, perbedaannya hanya ada pada menu pengambilan gambarannya. Untuk itu, penjelasan mengenai gambar 3.7 akan mengacu pada penjelasan gambar 3.6.


(41)

(42)

40 Diagram activity pada gambar di atas menggambarkan aktifitas yang dilakukan user pada saat memilih menu ambil foto melalui kamera sampai dengan sistem menampilkan hasil identifikasi. Penjelasan mengenali aktifitas yang terjadi:

1. Aktifitas dimulai dari user memilih menu ambil foto melalui kamera;

2. Sistem aplikasi selanjutnya akan memanggil aplikasi kamera yang kemudian memicu use case ambil foto melalui kamera.

3. Foto hasil pengambilan tersebut akan ditampilkan oleh sistem yang kemudian memicu use case berikutnya yaitu penyeleksian area pada foto.

4. Sistem kemudian melakukan proses pemotongan gambar berdasarkan area yang diseleksi.

5. Pada saat sistem melakukan aktifitas menampilkan potongan gambar, sistem melakukan pengkondisian agar user dapat melakukan kembali aktifitas penyeleksian area pada tubuh ikan

6. Jika user memilih untuk melanjutkan proses, maka sistem akan melakukan prosedur pengolahan citra.


(43)

(44)

42

Gambar 3.8. Diagram Activity lihat cara penggunaan aplikasi

Diagram activity di atas menggambarkan aktifitas yang dilakukan user untuk memperoleh informasi mengenai cara penggunaan aplikasi.

3.5.3 Diagram Class

Diagram Class digunakan untuk menggambarkan secara abstrak struktur dari aplikasi yang akan dibangun, class-class yang terlibat, serta hubungan antar class untuk saling berkomunikasi satu sama lain. Struktur class dari aplikasi yang akan dibangun dapat dilihat pada gambar 3.9.


(45)

Gambar 3.9. Diagram Class

Aplikasi Android yang akan dibangun terdiri dari lima buah class, dengan class Main sebagai class utamanya. Pada class Main terdapat empat objek yang merupakan interpretasi dari class lain yang terlibat. Pada diagram class diatas terlihat dua jenis garis yang menghubungkan antara class yang satu dengan class lain. Garis penuh menunjukkan pertukaran pesan antar objek, sedangkan garis putus-putus menunjukkan respon dari objek yang dipanggil.

3.5.4 Diagram Sequence

Diagram sequence menjabarkan urutan aktifitas yang terjadi di dalam sistem. Diagram ini menunjukkan pengiriman pesan-pesan yang melewati objek yang terlibat di dalam sistem serta tahapan langkah yang harus dilalui untuk mencapai use case tertentu. Diagram sequence dari aplikasi yang akan dibuat, dapat dilihat pada gambar 3.10. sampai dengan gambar 3.12.


(46)

44

Gambar 3.10. Diagram Sequence ambil foto melalui kamera

Pada diagram sequence diatas, terdapat delapan aktifitas yang terjadi hingga user memperoleh hasil Identifikasi penyakit pada ikan kakap. User berinteraksi secara langsung dengan objek MenuAplication dan ImageView. Pengiriman pesan antar objek lebih banyak melibatkan objek ImageView yang merupakan antarmuka user dengan program aplikasi.


(47)

Gambar 3.11. Diagram Sequence pilih foto dari galeri

Pada diagram sequence diatas, sebagian besar aktifitas yang terjadi sama dengan diagram sequence pada gambar 3.10. Perbedaan hanya ada pada aktifitas ke-1 sampai dengan aktifitas ke-3. Untuk itu penjelasan mengenai diagram ini akan mengacu pada penjelasan gambar 3.10.


(48)

46

Gambar 3.12. Diagram Sequence cara penggunaan aplikasi

Pada diagram sequence di atas terdapat dua aktifitas yang terjadi hingga user memperoleh informasi mengenai cara penggunaan aplikasi. Objek yang terlibat ialah MenuAplication yang merupakan antarmuka user dengan program aplikasi pada saat pertamakali aplikasi dijalankan.

3.6 Perancangan Sistem

Sistem aplikasi android yang akan dirancang memiliki fungsi utama untuk melakukan proses pengolahan citra. Tujuan dari pengolahan citra yang dikerjakan oleh aplikasi ini ialah untuk menghasilkan citra yang bisa mengidentifikasi masalah tentang penyakit ikan.

3.6.1 Rancangan Sistem Aplikasi Android

Secara umumnya, rancangan sistem aplikasi yang akan dibangun dapat dilihat pada gambar 3.13.


(49)

Penjelasan rancangan sistem aplikasi Android:

1. Citra masukan merupakan citra area tubuh ikan yang akan diproses oleh program aplikasi. Citra ini diperoleh dari hasil pengambilan foto secara langsung atau bisa juga berasal dari galeri yang ada pada smartphone Android. 2. Pengolahan citra pada program aplikasi Android akan mengubah citra masukan

menjadi sebuah citra gambar berwarna hitam dengan latar belakang berwarna putih.

3. Setelah citra berhasil dikenali, hasil pengenalan tersebut kemudian akan di bandingkan dengan yang ada di database

4. Jika mendekati dengan hasil yang berada di database maka aplikasi akan memunculkan gambar yang serupa

5. Tampilan akhir pada program aplikasi berupa hasil identifikasi penyakit serta cara penanggulangannya.

3.6.2 Rancangan Antarmuka

Sistem aplikasi yang akan dibuat mempunyai dua tampilan, yaitu tampilan Menu Utama dan tampilan Image View. Tampilan Menu Utama digunakan untuk menentukan sumber foto yang ingin di idenrtifikasi sedangkan Image View digunakan untuk menampilkan foto tersebut.


(50)

48

Gambar 3.14. Antarmuka aplikasi Android Form 1. Keterangan:

Pada saat tombol Ambil Foto ditekan, akan memanggil aplikasi kamera. Seperti yang terlihat pada tampilan F2 .

Pada saat tombol Pilih Foto dari Gallery di tekan, akan memanggil aplikasi gallery. Seperti yang terlihat pada tampilan F3.

Pada saat tombol Bantuan di tekan, akan memanggil membuka dialog cara penggunaan aplikasi, seperti yang terlihat pada tampilan F4.


(51)

Gambar 3.15. Antarmuka aplikasi Android Form 2

Gambar 3.16. Antarmuka aplikasi Android Form 3 Keterangan:

Ketika tombol icon kamera ditekan, maka foto akan disimpan di memory external dan foto tersebut akan ditampilkan pada tampilan F5

Keterangan:

Ketika salah satu foto sudah dipilih, maka foto tersebut akan ditampilkan pada tampilan F5.


(52)

50

Gambar 3.17. Antarmuka aplikasi Android Form 4

Gambar 3.18. Antarmuka aplikasi Android Form 5 Keterangan:

Pada tampilan ini user menentukan sendiri area yang ingin dikenali, kemudian hasil pengenalan dan diagnose penyakit ikan tersebut akan terlihat seperti pada tampilan F6.

Keterangan:

Form ini berfungsi sebagai petunjuk cara penggunaan aplikasi.


(53)

Gambar 3.19. Antarmuka aplikasi Android Form 6 3.7 Data Ikan

Setiap gambar yang diupload mempunyai nilai tersendiri yang akan Diband- ingkan kepada server. Berikut ini ada nilai dari setiap data ikan yang ada.

A. Penyakit insang

Penyakit pada insang mempunyai index similarity dengan rentang 72-74 Tabel 3.11 index similarity insang yang sakit

No Penyakit Index Similarity

1 Insang sakit 1 72

2 Insang sakit 2 72.5

3 Insang sakit 3 72.8

Keterangan:

Ketika tombol kembali pada perangkat ditekan, maka tampilan akan kembali ke F1.


(54)

52

4 Insang sakit 4 73.4

5 Insang sakit 5 73.6

6 Insang sakit 6 73.9

7 Insang sakit 7 72.4

8 Insang sakit 8 72.9

9 Insang sakit 9 73.8

10 Insang sakit 10 72.6

Rata - rata 72.99

B. Penyakit badan

Penyakit pada badan mempunyai index similarity dengan rentang 70-71.9 Tabel 3.12 index similarity badan yang sakit

No Penyakit Index Similarity

1 Badan sakit 1 71.5

2 Badan sakit 2 70.2

3 Badan sakit 3 70

4 Badan sakit 4 70.6

5 Badan sakit 5 71.5

6 Badan sakit 6 71.8


(55)

8 Badan sakit 8 71.3

9 Badan sakit 9 71

10 Badan sakit 10 70.9

Rata - rata 71.04

C. Penyakit ekor

Penyakit pada ekor mempunyai index similarity dengan rentang 68-69.9 Tabel 3.13 index similarity ekor yang sakit.

No Penyakit Index Similarity

1 Ekor sakit 1 68

2 Ekor sakit 2 68.7

3 Ekor sakit 3 68.4

4 Ekor sakit 4 68.6

5 Ekor sakit 5 69.2

6 Ekor sakit 6 68.8

7 Ekor sakit 7 68.1

8 Ekor sakit 8 68.5

9 Ekor sakit 9 69.4

10 Ekor sakit 10 69.3


(56)

54 D. Penyakit sirip

Penyakit pada sirip mempunyai index similarity dengan rentang 65-66.9 Tabel 3.14 index similarity sirip sakit.

No Penyakit Index Similarity

1 Sirip sakit 1 65

2 Sirip sakit 2 65.2

3 Sirip sakit 3 65.8

4 Sirip sakit 4 66.4

5 Sirip sakit 5 66

6 Sirip sakit 6 65.4

7 Sirip sakit 7 65.1

8 Sirip sakit 8 65.3

9 Sirip sakit 9 65.2

10 Sirip sakit 10 66.2

Rata - rata 65.56

E. Penyakit anus

Penyakit pada anus mempunyai index similarity dengan rentang 63-64.9 Tabel 3.15 index similarity anus sakit

No Penyakit Index Similarity


(57)

2 Anus sakit 2 63.2

3 Anus sakit 3 64

4 Anus sakit 4 64.5

5 Anus sakit 5 63.6

6 Anus sakit 6 63.9

7 Anus sakit 7 64.7

8 Anus sakit 8 63.4

9 Anus sakit 9 63.5

10 Anus sakit 10 64.2

Rata - rata 63.8

Dari beberapa index similarity diatas nantinya akan dibandingkan dengan data gambar yang akan diupload ke server, setelah itu sistem akan mengunci penyakit ikan yang diderita untuk sementara. Selanjutnya sistem akan membandingkan dengan database gambar kondisi yang sehat.


(58)

56

BAB IV

HASIL PENGUJIAN DAN ANALISA

4.1 Cara Kerja dan Penggunaan Aplikasi

Ketika dijalankan program aplikasi akan menampilkan beberapa opsi yaitu akses kamera, akses galeri, atau bantuan. Seperti yang terlihat pada gambar 4.1

Gambar 4.1. Tampilan awal aplikasi

Menu “Kamera” digunakan jika pengguna ingin mengambil foto secara langsung melalui kamera, sedangkan menu “Galeri” digunakan jika user ingin memilih foto yang tersimpan di memory eksternal sedangkan symbol tanda Tanya (?) yaitu untuk bantuan. Setelah user menentukan foto yang akan diolah, user akan memilih area yang akan diidentifikasi dan akan ditampilkan pada antarmuka tampilan Image View seperti terlihat pada gambar 4.2.


(59)

Gambar 4.2. Tampilan Image View

Pada tampilan tersebut, pengguna harus menentukan sendiri potongan gambar yang akan diolah menggunakan pengolahan citra. Proses pemotongan cukup dilakukan dengan cara menyentuh dan memposisikan jari pada titik awal area yang akan diseleksi dan menariknya secara diagonal ke arah yang berlawanan, seperti yang diilustrasikan pada gambar 4.2 diatas. Pada ilustrasi gambar tersebut, posisi penentuan gambar yang akan diseleksi, dapat dilakukan dari beberapa sisi.

Jika pengguna telah melakukan seleksi pada gambar, lau klik simpan pada direktori aplikasi untuk kemudian ditampilkan pada kotak dialog, seperti yang terlihat pada gambar 4.3.


(60)

58

Gambar 4.3. Tampilan Dialog

Pada tampilan kotak dialog diatas, pengguna diminta untuk menentukan pilihan. Jika ingin melanjutkan proses klik symbol . Jika ingin mengulang pemilihan area pada gambar klik symbol . Sedangkan symbol digunakan jika ingin menyimpan gambar yang telah di crop. Tampilan aplikasi pada saat melakukan proses pengolahan citra ditunjukkan pada gambar 4.4.


(61)

(a) (b)

Gambar 4.4. Tampilan pada saat aplikasi melakukan proses pengolahan citra Pada saat terjadi, potongan gambar akan diolah oleh program aplikasi yang kemudian menghasilkan gambar grayscale dan gambar biner. Gambar biner yang dihasilkan selanjutnya akan dikirim ke server untuk dikenali. Hasil gambar yang sudah dikenali tersebut akan diunduh oleh program aplikasi.

Selanjutnya, file yang akan dihasilkan dari layanan server akan dibaca oleh program untuk mengambil hasil idenifikasi yang akan diproses oleh server. Hasil identifikasi kemudian akan ditampilkan di layar, seperti yang terlihat pada gambar 4.5.


(62)

60

Gambar 4.5. Tampilan hasil akhir

Gambar yang dihasilkan dari proses pengolahan citra ditunjukkan pada gambar 4.6 berikut.

(a) (b)

Gambar 4.6. Hasil pengolahan citra oleh program aplikasi: (a) Citra grayscale, (b) Citra biner


(63)

4.2 Pengujian dan Analisa

Pengujian dilakukan untuk mengetahui kondisi yang baik dari gambar yang diambil untuk kemudian diproses oleh program aplikasi sehingga gambar yang dihasilkan bisa dikenali dengan baik oleh server. Pada tiap pengujian akan dilakukan analisis untuk mengetahui pengaruh gambar yang diuji terhadap hasil pengenalan oleh server.

4.2.1 Pengujian Pengkondisian Warna

Pada pengujian ini, sample gambar diperoleh galeri. Pada gambar yang sudah disediakan dibuat warna gambar dan latar belakang pada masing-masing sample gambar.

Pengujian dibagi menjadi dua tahap, pengujian tahap pertama ditujukan untuk menguji pengaruh warna latar belakang sedangkan pengujian tahap 2 menguji warna pada gambar terhadap hasil pengolahan gambar sampai dengan hasil identifikasi, pada saat proses pemotongan gambar secara manual. Pengujian pada tahap ini terlampir pada lampiran no.2 dan no.4 yang dilakukan sebanyak 10 kali pengujian pada tiap warna. Dari data pada lampiran no.2 dan no.4 maka didapat kesimpulan:

a. Warna latar biru berhasil teridentifikasi dengan tepat sebanyak 90% dan gagal teridentifikasi sebanyak 10% disebabkan bentuk ekor pada no.2 transparan.

b. Warna latar merah berhasil teridentifikasi dengan tepat sebanyak 90% dan gagal teridentifikasi sebanyak 10% disebabkan bentuk ekor pada no.2 transparan.

c. Warna latar hijau berhasil teridentifikasi dengan tepat sebanyak 90% dan gagal teridentifikasi sebanyak 10% disebabkan bentuk ekor pada no.2 transparan..

d. Data pada no.2 mempunyai nilai diluar jangkauan sehingga tidak teridentifikasi.


(64)

62

Dari ketiga pengujian pengkondisian warna pada tahap pertama diketahui bahwa: - Warna latar tidak mempengaruhi proses citra.

- Hasil identifikasi gambar oleh server menunjukkan bahwa layanan tersebut dapat mengenali gambar yang dengan berbeda latar asalkan bentuk ekor tidak transparan.

Pada pengujian tahap kedua, menguji pengaruh perbedaan intensitas warna antara gambar dan latar belakang terhadap hasil pengolahan gambar sampai dengan hasil identifikasi gambar dan juga menguji sejauh mana tingkat keakuratan proses binarisasi gambar dengan menggunakan metode Otsu. Pengujian pada tahap ini terlampir pada lampiran no.2 dan no.4 yang dilakukan sebanyak 10 kali pengujian pada tiap warna. Dari data pada lampiran no.2 dan no.4 maka didapat kesimpulan:

a. Warna gambar dan latar biru berhasil teridentifikasi dengan tepat sebanyak 90% dan gagal teridentifikasi sebanyak 10% disebabkan bentuk ekor pada no.2 transparan.

b. Warna gambar dan latar merah berhasil teridentifikasi dengan tepat sebanyak 90% dan gagal teridentifikasi sebanyak 10% disebabkan bentuk ekor pada no.2 transparan.

c. Warna gambar dan latar hijau berhasil teridentifikasi dengan tepat sebanyak 90% dan gagal teridentifikasi sebanyak 10% disebabkan bentuk ekor pada no.2 transparan.

d. Data pada no.2 mempunyai nilai diluar jangkauan sehingga tidak teridentifikasi.

Dari ketiga pengujian pengkondisian warna pada tahap kedua diketahui bahwa: - Pada percobaan yang kedua untuk pengkodisian warna masih dapat dikenali


(65)

- Biner yang dihasilkan sangat berpengaruh terhadap hasil identifikasi oleh server. Semakin tinggi tingkat gangguan pada gambar biner, menyebabkan hasil identifikasi sulit dikenali oleh server.

4.2.2 Pengujian Gambar Miring

Pada pengujian ini, sample gambar diperoleh dari galeri dengan pengkondisian gambar yang sengaja dibuat miring. Tingkat kemiringan dibagi menjadi dua kategori, yaitu kemiringan wajar, dan kemiringan tidak wajar.

Pengujian ini ditujukan untuk mengetahui pengaruh kemiringan gambar terhadap hasil pengenalan yang dilakukan oleh server. Pengujian pada tahap ini terlampir pada lampiran no.3 dan no.4 yang dilakukan sebanyak 10 kali pengujian pada tiap gambar. Dari data pada lampiran no.3 dan no.4 maka didapat kesimpulan:

a. Tingkat kemiringan wajar berhasil teridentifikasi dengan tepat sebanyak 80% dan gagal teridentifikasi sebanyak 20% disebabkan pada saat gambar diubah ke dalam gambar biner bentuknya tidak sesuai dengan gambar aslinya.

b. Tingkat kemiringan tidak wajar berhasil teridentifikasi dengan tepat sebanyak 70% dan gagal teridentifikasi sebanyak 30% disebabkan pada saat gambar diubah ke dalam gambar biner bentuknya tidak sesuai dengan gambar aslinya.

c. Ketika sebuah gambar diluar nilai Similarity yang seharusnya maka sistem akan mengidentifikasi hasil yang lainnya.

Dari dua pengujian diatas, diketahui bahwa server hanya mampu mengenali sebagian gambar dengan tingkat kemiringan yang wajar dan tidak wajar. Tingkat kemiringan yang tidak wajar lebih sulit dikenali dikarenakan tingkat kemiringan mempengaruhi hasil identifikasi.


(66)

64

4.2.3 Pengujian Gambar Selain Ikan Kakap

Pada pengujian ini, sample gambar diperoleh dari galeri dengan Pengkon- disian gambar yang sengaja bukan ikan. Pengujian ini ditujukan agar mengetahui apakah benda selain ikan mempunyai nilai atau tidak.

Tabel 4.1 Pengujian gambar selain ikan

No Gambar Hasil


(67)

2


(68)

66

Dari 3 pengujian diatas terlihat bahwa selain ikan kakap gambar diatas juga mempunyai nilai yang dapat terdeteksi oleh aplikasi, karena gambar diatas mempunyai nilai yang sama dengan yang ada pada database.

4.3 Hasil Pengujian

Gambar yang diupload oleh user dan gambar yang ada di database diubah menjadi hash image. Hash image dari gambar yang diupload diubah dibandingkan dengan hash image dari gambar yang ada di database untuk mendapatkan informasi index kemiripan (similarity). Nilai dari index kemiripan diurutkan berdasarkan pada nilai yang paling tinggi. Gambar dengan Nilai perbandingan yang paling tinggi dari index kemiripan akan dinyatakan sebagai penyakit yang diderita oleh ikan. Setelah diperoleh nilai perbandingan paling tinggi, maka sistem akan mengunci penyakit ikan yang diderita untuk sementara. Selanjutnya sistem akan mengubah database gambar kondisi sehat menjadi hash image. Hash image yang diupload kemudian dibandingkan dengan database gambar kondisi sehat. Jika ditemukan hash image yang diupload memiliki kemiripan yang lebih tinggi terhadap hash image kondisi sehat, maka ikan dinyatakan sehat. Jika ditemukan hash gambar yang diupload memiliki kemiripan yang lebih tinggi terhadap gambar kondisi sakit, maka ikan dinyatakan sakit.

Contoh perhitungan. Diketahui:

Index_sakit= Index of Similarity terbesar dari perbandingan gambar yang diupload dan database gambar sakit.

Index_sehat = Index of Similarity terbesar dari perbandingan gambar yang diupload dan database gambar sehat.


(69)

Tabel 4.2 Perbandingan Index similarity sebelum diurutkan.

No Nama Penyakit Index Similarity

1 Ekor Sakit 68

2 Sirip Sakit 65

3 Insang Sakit 74

4 Badan sakit 70

5 Anus sakit 63

Tabel 4.3 Perbandingan index similarity setelah diurutkan.

No Nama Penyakit Index Similarity

1 Insang Sakit 74

2 Badan sakit 70

3 Ekor Sakit 68

4 Sirip Sakit 65

5 Anus sakit 63

Dari tabel diatas maka dapat disimpulkan penyakit yang paling mungkin diderita oleh ikan tersebut adalah penyakit Insang sakit. Sehinggai diperoleh nilai index_sakit=74. Namun demikian, sebelum diambil kesimpulan gambar yang diupload harus terlebih dahulu dibandingkan dengan gambar sehat. Berikut contoh


(70)

68

dari perhitungan index similarity perbandingan antara gambar yang diupload dengan gambar sehat.

Tabel 4.4 Index similarity insang sebelum diurutkan

No Nama Penyakit Index Similarity

1 Insang Sehat 1 84

2 Insang Sehat 2 72

3 Insang Sehat 3 94

4 Insang Sehat 4 82

5 Insang Sehat 5 80

6 Insang Sehat 6 86

7 Insang Sehat 7 90

8 Insang Sehat 8 74

9 Insang Sehat 9 70

10 Insang Sehat 10 88

Tabel4.5 Urutan tabel insang sehat berdasarkan Index Similarity

No Nama Penyakit Index Similarity

1 Insang Sehat 3 94


(71)

3 Insang Sehat 10 88

4 Insang Sehat 6 86

5 Insang Sehat 1 84

6 Insang Sehat 4 82

7 Insang Sehat 5 80

8 Insang Sehat 8 74

9 Insang Sehat 2 72

10 Insang Sehat 9 70

Dari tabel tersebut ditemukan index_sehat = 94.

Langkah selanjutnya adalah membandingkan index_sakit dengan index_sehat. Berikut hasil perbandingannya.

If (index_sakit>index_sehat) {

Print “Penyakit yang diderita adalah insang sakit” }else

{

Print “Ikan dalam kondisi sehat”; }

Karena diketahu nilai index_sakit=74 sedangkan nilai index_sehat=94, maka dapat disimpulkan bahwa ikan dalam kondisi sehat.


(72)

70

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil pengujian yang telah dilakukan, diperoleh kesimpulan bahwa 80% aplikasi yang dibuat dapat mendeteksi penyakit yang ada pada tubuh ikan kakap menggunakan smartphone android dengan beberapa kondisi sebagai berikut.

1. Untuk warna latar dan gambar tidak berpengaruh terhadap hasil identifikasi. 2. Teknik pemotongan gambar harus benar, artinya tepat pada objek yang ingin

diidentifikasi.

3. Proses pengambilan gambar tidak dapat dikenali jika kemiringan tidak wajar atau terlalu miring.

4. Gambar yang ingin diidentifikasi harus berukuran beresolusi tinggi agar ketika di crop tidak terlalu pecah.

5.2 Saran

Beberapa saran untuk pengembangan selanjutnya, diantaranya: 1. Dapat mendeteksi berbagai macam ikan selain ikan kakap.

2. Membuat sistem pendeteksian gambar yang dapat dilakukan dengan secara

realtime.

3. Menggunakan metode lain yang lebih akurat ketika gambar di miringkan tidak wajar.


(73)

71

[1] Direktorat produksi direktorat jendral perikanan budidaya departemen kelautan dan perikanan. 2007. Petunjuk teknis budidaya ikan kakap putih (Lates calcarufer). Jakarta.

[2] Agus, B. M. 1997. Budidaya kakap dalam tambak dan keramba. Yogyakarta : Kanisius.

[3] Safaat, Nazruddin H (2012). Pemrograman aplikasi smartphone dan tablet PC berbasis android. Bandung: INFORMATIKA Bandung. [4] Hermawan, Julius, (Tanpa tahun). Analisa Desain & Pemrograman

Berorientasi Obyek dengan UML dan Visual Basic.NETBandung:

ANDI

[5] Putra, Darma (2010). Pengolahan citra digital. Yogyakarta: ANDI [6] Pandinasa, Frans (2004). Pengambangan dengan metode otsu, diakses

pada tanggal 26 April 2015, dari world wide web: http://www.academia.edu/7564414/BINERISASI_CITRA_TANGAN DENGAN_METODE_OTSU.

[7] Heriyanto, 2013. “Perancangan Aplikasi Pengolahan Citra Teks Arab

Dan Penerjemahaannya Ke Dalam Bahasa Indonesia Menggunakan

Smartphone Android”. Skripsi. Bandung: Fakultas Teknik dan Ilmu

Komputer, Universitas Komputer Indonesia.


(74)

72

LAMPIRAN 1. Sampel gambar yang di tanam pada server

a. Sampel ekor yang berpenyakit


(75)

73 c. Sampel insang yang berpenyakit


(76)

74 d. Sampel sirip yang berpenyakit


(77)

75 e. Sampel anus yang berpenyakit


(78)

76

2. Pengujian Pengkondisian Warna

pengujian pengkondisian warna tahap pertama kondisi pertama

No Gambar grayscale biner Hasil

1

2

3

4


(79)

77 7

8

9


(80)

78

pengujian pengkondisian warna tahap pertama kondisi kedua

No Gambar grayscale biner Hasil

1

2

3

4


(81)

79 7

8

9


(82)

80

pengujian pengkondisian warna tahap pertama kondisi ketiga

No Gambar grayscale biner Hasil

1

2

3

4


(83)

81 7

8

9


(84)

82

pengujian pengkondisian warna tahap kedua kondisi pertama

No Gambar grayscale biner Hasil

1

2

3

4


(85)

83 7

8

9


(86)

84

pengujian pengkondisian warna tahap kedua kondisi kedua

No Gambar grayscale biner Hasil

1

2

3

4


(87)

85 7

8

9


(88)

86

pengujian pengkondisian warna tahap kedua kondisi ketiga

No Gambar grayscale biner Hasil

1

2

3

4


(89)

87 7

8

9


(90)

3. Pengujian Gambar Miring

pengujian gambar dengan kemiringan wajar

No Gambar

1

2

3

4

5

88 Pengujian Gambar Miring

pengujian gambar dengan kemiringan wajar


(91)

89 7

8

9


(92)

pengujian gambar dengan kemiringan

No Gambar

1

2

3

4

5

90

pengujian gambar dengan kemiringan tidak wajar


(93)

91 7

8

9


(94)

92

4. Data Pengujian Pengkondisian Warna Tahap Pertama Kondisi Pertama

No Hasil Pengujian Data Penyakit Ekor Hasil Identifikasi

1 Data 1 68 68-69.9 Teridentifikasi

2 Data 2 50 68-69.9 Tidak teridentifikasi

3 Data 3 68.6 68-69.9 Teridentifikasi

4 Data 4 68.2 68-69.9 Teridentifikasi

5 Data 5 68.9 68-69.9 Teridentifikasi

6 Data 6 69 68-69.9 Teridentifikasi

7 Data 7 69.4 68-69.9 Teridentifikasi

8 Data 8 68.8 68-69.9 Teridentifikasi

9 Data 9 69.3 68-69.9 Teridentifikasi

10 Data 10 69.6 68-69.9 Teridentifikasi

Data Pengujian Pengkondisian Warna Tahap Pertama Kondisi Kedua

No Hasil Pengujian Data Penyakit Ekor Hasil Identifikasi

1 Data 1 68 68-69.9 Teridentifikasi

2 Data 2 50 68-69.9 Tidak teridentifikasi

3 Data 3 68.6 68-69.9 Teridentifikasi

4 Data 4 68.2 68-69.9 Teridentifikasi

5 Data 5 68.9 68-69.9 Teridentifikasi


(95)

93

9 Data 9 69.3 68-69.9 Teridentifikasi

10 Data 10 69.6 68-69.9 Teridentifikasi

Data Pengujian Pengkondisian Warna Tahap Pertama Kondisi Ketiga

No Hasil Pengujian Data Penyakit Ekor Hasil Identifikasi

1 Data 1 68 68-69.9 Teridentifikasi

2 Data 2 50 68-69.9 Tidak teridentifikasi

3 Data 3 68.6 68-69.9 Teridentifikasi

4 Data 4 68.2 68-69.9 Teridentifikasi

5 Data 5 68.9 68-69.9 Teridentifikasi

6 Data 6 69 68-69.9 Teridentifikasi

7 Data 7 69.4 68-69.9 Teridentifikasi

8 Data 8 68.8 68-69.9 Teridentifikasi

9 Data 9 69.3 68-69.9 Teridentifikasi

10 Data 10 69.6 68-69.9 Teridentifikasi

Data Pengujian Pengkondisian Warna Tahap Kedua Kondisi Pertama

No Hasil Pengujian Data Penyakit Ekor Hasil Identifikasi


(96)

94

2 Data 2 50 68-69.9 Tidak teridentifikasi

3 Data 3 68.6 68-69.9 Teridentifikasi

4 Data 4 68.2 68-69.9 Teridentifikasi

5 Data 5 68.9 68-69.9 Teridentifikasi

6 Data 6 69 68-69.9 Teridentifikasi

7 Data 7 69.4 68-69.9 Teridentifikasi

8 Data 8 68.8 68-69.9 Teridentifikasi

9 Data 9 69.3 68-69.9 Teridentifikasi

10 Data 10 69.6 68-69.9 Teridentifikasi

Data Pengujian Pengkondisian Warna Tahap Kedua Kondisi Kedua

No Hasil Pengujian Data Penyakit Ekor Hasil Identifikasi

1 Data 1 68 68-69.9 Teridentifikasi

2 Data 2 50 68-69.9 Tidak teridentifikasi

3 Data 3 68.6 68-69.9 Teridentifikasi

4 Data 4 68.2 68-69.9 Teridentifikasi

5 Data 5 68.9 68-69.9 Teridentifikasi

6 Data 6 69 68-69.9 Teridentifikasi

7 Data 7 69.4 68-69.9 Teridentifikasi

8 Data 8 68.8 68-69.9 Teridentifikasi


(97)

95

Data Pengujian Pengkondisian Warna Tahap Kedua Kondisi Ketiga

No Hasil Pengujian Data Penyakit Ekor Hasil Identifikasi

1 Data 1 68 68-69.9 Teridentifikasi

2 Data 2 50 68-69.9 Tidak teridentifikasi

3 Data 3 68.6 68-69.9 Teridentifikasi

4 Data 4 68.2 68-69.9 Teridentifikasi

5 Data 5 68.9 68-69.9 Teridentifikasi

6 Data 6 69 68-69.9 Teridentifikasi

7 Data 7 69.4 68-69.9 Teridentifikasi

8 Data 8 68.8 68-69.9 Teridentifikasi

9 Data 9 69.3 68-69.9 Teridentifikasi

10 Data 10 69.6 68-69.9 Teridentifikasi

Data Pengujian Gambar Dengan Kemiringan Wajar

No Hasil Pengujian Data Penyakit Ekor Hasil Identifikasi

1 Data 1 68 68-69.9 Teridentifikasi

2 Data 2 50 68-69.9 Tidak teridentifikasi

3 Data 3 68.6 68-69.9 Teridentifikasi


(98)

96

5 Data 5 50.5 68-69.9 Tidak teridentifikasi

6 Data 6 69 68-69.9 Teridentifikasi

7 Data 7 69.4 68-69.9 Teridentifikasi

8 Data 8 68.8 68-69.9 Teridentifikasi

9 Data 9 69.3 68-69.9 Teridentifikasi

10 Data 10 69.6 68-69.9 Teridentifikasi

Data Pengujian Gambar Dengan Kemiringan Tidak Wajar

No Hasil Pengujian Data Penyakit Ekor Hasil Identifikasi

1 Data 1 68 68-69.9 Teridentifikasi

2 Data 2 50 68-69.9 Tidak teridentifikasi

3 Data 3 68.6 68-69.9 Teridentifikasi

4 Data 4 50.3 68-69.9 Tidak teridentifikasi

5 Data 5 50.5 68-69.9 Tidak teridentifikasi

6 Data 6 69 68-69.9 Teridentifikasi

7 Data 7 69.4 68-69.9 Teridentifikasi

8 Data 8 68.8 68-69.9 Teridentifikasi

9 Data 9 69.3 68-69.9 Teridentifikasi


(1)

x

3.6 Perancangan Sistem ... 46

3.6.1 Rancangan Sistem Aplikasi Android ... 46

3.6.2 Rancangan Antarmuka ... 47

3.7 Data Ikan ... 51

BAB IV HASIL PENGUJIAN DAN ANALISA ... 56

4.1 Cara Kerja dan Penggunaan Aplikasi ... 56

4.2 Pengujian dan Analisa ... 61

4.2.1 Pengujian Pengkondisian Warna ... 61

4.2.2 Pengujian Gambar Miring ... 63

4.2.3 Pengujian Gambar Selain Ikan Kakap ... 64

4.3 Hasil Pengujian ... 66

BAB V KESIMPULAN DAN SARAN ... 70

5.1 Kesimpulan ... 70

5.2 Saran ... 70

DAFTAR PUSTAKA ... 71


(2)

xi

DAFTAR TABEL

Tabel 3.1. Spesifikasi naratif untuk use case ambil foto melalui kamera ... 31

Tabel 3.2. Spesifikasi naratif untuk use case pilih foto dari galeri ... 32

Tabel 3.3. Spesifikasi naratif untuk use case penentuan area tubuh ikan pada foto ... 32

Tabel 3.4. Spesifikasi naratif untuk use case hasil diagnosa pada tubuh ikan ... 33

Tabel 3.5. Spesifikasi naratif untuk use case informasi cara pengguaan aplikasi ... 33

Tabel 3.6. Use case scenario ambil foto melalui kamera ... 34

Tabel 3.7. Use case scenario pilih foto dari galeri ... 35

Tabel 3.8. Use case scenario penentuan area tubuh ikan pada foto ... 35

Tabel 3.9. Use case scenario hasil diagnosa pada tubuh ikan ... 36

Tabel 3.10. use case scenario informasi cara penggunaan aplikasi ... 38

Tabel 3.11. Index similarity insang yang sakit ... 51

Tabel 3.12. Index similarity badan yang sakit ... 52

Tabel 3.13. Index similarity ekor yang sakit ... 53

Tabel 3.14. Index similarity sirip sakit... 54

Tabel 3.15. Index similarity anus sakit ... 54

Tabel 4.1. Pengujian gambar selain ikan ... 64

Tabel 4.2. Perbandingan Index similarity sebelum diurutkan ... 67

Tabel 4.3. Perbandingan index similarity setelah diurutkan ... 67


(3)

xii


(4)

xiii

DAFTAR GAMBAR

Gambar 2.1. Koordinat citra digital ... 5

Gambar 2.2. Citra warna ... 6

Gambar 2.3. Citra grayscale ... 7

Gambar 2.4. Citra biner... 7

Gambar 2.5. Monogenia ... 10

Gambar 2.6. Trematoda ... 11

Gambar 2.7. Cryptocaryon ... 12

Gambar 2.8. Tricodiniasis ... 12

Gambar 2.9. Bakteri Vibrio sp ... 13

Gambar 2.10. Arsitektur Android ... 14

Gambar 2.11. Contoh Diagram Use Case ... 20

Gambar 2.12. Contoh Diagram Activity ... 21

Gambar 2.13. Contoh Diagram Sequence ... 22

Gambar 2.14. Contoh Diagram Class ... 23

Gambar 3.1. Flowchart struktur pengolahan citra ... 25

Gambar 3.2. Ilustrasi cropping ... 26

Gambar 3.3 Flowchart grayscaling ... 27

Gambar 3.4 Flowchart Thresholding ... 28


(5)

xiv

Gambar 3.6. Diagram Activity ambil foto melalui kamera ... 39

Gambar 3.7. Diagram Activity ambil foto dari galeri ... 41

Gambar 3.8. Diagram Activity lihat cara penggunaan aplikasi ... 42

Gambar 3.9. Diagram Class ... 43

Gambar 3.10. Diagram Sequence ambil foto melalui kamera ... 44

Gambar 3.11. Diagram Sequence pilih foto dari galeri ... 45

Gambar 3.12. Diagram Sequence cara penggunaan aplikasi ... 46

Gambar 3.13. Diagram blok rancangan sistem aplikasi Android ... 46

Gambar 3.14. Antarmuka aplikasi Android Form 1 ... 48

Gambar 3.15. Antarmuka aplikasi Android Form 2 ... 49

Gambar 3.16. Antarmuka aplikasi Android Form 3 ... 49

Gambar 3.17. Antarmuka aplikasi Android Form 4 ... 50

Gambar 3.18. Antarmuka aplikasi Android Form 5 ... 50

Gambar 3.19. Antarmuka aplikasi Android Form 6 ... 51

Gambar 4.1. Tampilan awal aplikasi ... 56

Gambar 4.2. Tampilan Image View ... 57

Gambar 4.3. Tampilan Dialog ... 58

Gambar 4.4 Tampilan pada saat aplikasi melakukan proses pengolahan citra ... 59


(6)

KATA PENGANTAR

Segala puji bagi Allah SWT., Pencipta dan Pemelihara alam semesta, shalawat serta salam semoga terlimpah bagi Muhammad SAW., keluarga dan para pengikutnya yang setia hingga akhir masa.

Atas rahmat Allah SWT., akhirnya Penulis dapat menyelesaikan Tugas Akhir ini, meskipun proses belajar sesungguhnya tak akan pernah berhenti. Tugas Akhir ini sesungguhnya bukanlah sebuah kerja individual dan akan sulit terlaksana tanpa bantuan banyak pihak yang tak mungkin Penulis sebutkan satu persatu, namun dengan segala kerendahan hati, Penulis mengucapkan terima kasih kepada :

1. Bapak dan Ibu tercinta, yang telah memberikan doa yang tulus, motivasi, bimbingan serta dorongan moril dan materil yang tidak mungkin bisa dibalas sampai kapanpun. 2. Ibu Sri Nurhayati., selaku dosen Pembimbing.

3. Prof. Dr. Ir Denny Kurniadie, M.Sc., selaku Dekan Fakultas Teknik dan Ilmu Komputer.

4. Bapak Wendi Zarman, M.Si., selaku Ketua Jurusan Teknik Komputer. 5. Ibu Susmini I. Lestariningati, M.T., selaku Dosen Wali Kelas 10 SK 2.

6. Seluruh Dosen Jurusan Teknik Komputer dan Staf Administrasi yang telah membantu Penulis dalam menyelesaikan Tugas Akhir ini.

7. Seluruh Teman Teknik Komputer angkatan 2010 terutama kelas 10 SK 2 yang tidak dapat Penulis sebutkan satu persatu serta Alifah Kurniawati Rosya yang telah membantu menyemangati untuk penyelesaian Tugas Akhir ini.

8. Adik-adikku yang telah banyak mendoakan Penulis dalam menyelesaikan Tugas Akhir ini

Akhirnya, Penulis berharap semoga penelitian ini menjadi sumbangsih yang bermanfaat bagi dunia sains dan teknologi di indonesia. Khususnya disiplin keilmuan yang Penulis dalami.

Bandung, 13 Agustus 2015