MODEL DETEKSI KANDUNGAN FORMALIN PADA IKAN DENGAN CITRA HUE SATURATION VALUES (HSV) MENGGUNAKAN K-NEAREST NEIGHBOR Yufika Agustyani, Sri Setyaningsih, Arie Qurβania Email :
[email protected] Program Studi Ilmu Komputer FMIPA Universitas Pakuan
Penjual makanan sekarang ini banyak yang memakai pengawet, agar makanan yang dijual tidak cepat rusak. Formalin adalah salah satu bahan kimia yang dapat digunakan untuk pengawetan, namun formalin bukan pengawet yang aman digunakan pada makanan. Makanan yang diketahui menggunakan formalin sebagai bahan pengawet salah satunya adalah ikan. Berdasarkan masalah yang dikemukakan di atas, maka akan dibangun sebuah sistem yang mampu mengidentifikasi ikan yang mengandung formalin. Tujuan dari penelitian ini adalah merancang dan membangun model yang mampu mendeteksi kandungan formalin pada ikan melalui citra ikan tersebut. Metode yang digunakan dalam melaksanakan penelitian ini menggunakan pengolahan citra, dengan metode klasifikasi menggunakan K-nearest neighboar dan ekstraksi ciri menggunakan warna dan tekstur. Berdasarkan penelitian yang telah dilakukan validasi tetinggi didapatkan sebesar 91,67% pada ekstraksi ciri warna dan tekstur, sedangkan validasi terendah sebesar 67,67% pada ekstraksi ciri tekstur. Jika dihitung validasi berdasarkan bagian citra ikan, didapatkan validasi tertinggi sebesar 86,67% pada citra bagian insang, sedangkan validasi terendah pada citra ikan utuh dengan persentase 81,67%. Berdasarkan uji coba yang telah dilakukan dapat diambil kesimpulan bahwa deteksi dengan menggunakan ekstraksi ciri warna dan tekstur lebih akurat dibandingkan hanya dengan ekstraksi ciri warna ataupun hanya dengan ekstraksi ciri tekstur. Penelitian yang dilakukan juga menunjukkan bahwa semakin besar nilai K (tetangga) akan semakin kecil terjadinya kesalahan. Kata Kunci : KNN, Pengolahan Citra, Ikan Berformalin, Warna dan Tekstur formalin bersifat karsinogenik (menyebabkan kanker). Makanan yang diketahui menggunakan formalin sebagai bahan pengawet salah satunya adalah ikan, ini dimaksudkan agar ikan tidak cepat rusak. Ikan yang diduga banyak menggunakan formalin sebagai bahan pengawetnya adalah ikan laut. Ini dikarenakan dalam pendistribusiannya membutuhkan waktu yang tidak sebentar, dan juga ikan yang tidak habis terjual tidak membusuk sehingga dapat dijual kembali pada keesokan harinya. Ikan yang mengandung formalin dapat dibedakan berdasarkan warna dan tekstur ikan tersebut.
PENDAHULUAN Zaman sekarang ini banyak penjual yang tidak bertanggung jawab, hal ini dikarenakan krisis ekonomi yang terjadi, akibatnya para penjual makanan memakai pengawet agar makanan yang dijual tidak cepat rusak sehingga tidak menimbulkan kerugian. Formalin adalah salah satu bahan kimia yang dapat digunakan untuk pengawetan, namun formalin bukan pengawet yang aman digunakan pada makanan karena pada umumnya formalin digunakan untuk mengawetkan mayat. Jika formalin dikonsumsi oleh tubuh maka akan membahayakan konsumen karena, 1
Berdasarkan latar belakang yang dikemukakan di atas, maka akan dibangun sebuah sistem yang mampu mengidentifikasi ikan yang mengandung formalin. Identifikasi ini melalui citra digital ikan yang kemudian diolah berdasarkan warna HSV dan tekstur pada ikan serta menggunakan metode K-Nearest Neighbor sebagai klasifikasinya sehingga menghasilkan output berupa keterangan apakah ikan tersebut mengandung formalin atau tidak. Sistem yang dibangun menggunakan bahasa pemrograman matlab untuk ekstraksi ciri citra ikan. Ekstraksi ciri yang digunakan yaitu analisis tekstur dan warna Hue Saturation Values (HSV). Menggunakan bahasa pemrograman java berbasis smartphone android untuk klasifikasi menggunakan metode K-Nearest Neighbor (KNN). Database yang digunakan adalah MySQL. Bahasa pemrograman PHP digunakan sebagai penghubung antara MySQL dengan smartphone android. Model warna HSV merupakan model warna yang diturunkan dari model warna RGB. Hue digunakan untuk membedakan warna-warna dan menentukan kemerahan (redness), Kehijauan (greenness), dsb dari cahaya. Saturation menyatakan tingkat kemurnian suatu warna, yaitu mengindikasikan seberapa banyak warna putih diberikan pada warna. Value adalah atribut yang menyatakan banyaknya cahaya yang diterima oleh mata tanpa memperdulikan warna. Tekstur merupakan karakteristik intrinsik dari suatu citra yang terkait dengan tingkat kekasaran (roughness), granularitas (granulation), dan keteraturan (regularity) susunan struktural piksel. Algoritma K-Nearest Neighbor adalah sebuah metode untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang jaraknya paling dekat dengan objek tersebut.
Ikan yang digunakan terdiri dari 5 jenis ikan yaitu ekor merah, kakap putih, salem, salmon, dan tongkol. Data yang digunakan sebanyak 120 citra yang akan dibagi menjadi data latih sebanyak 90 citra dan data uji sebanyak 30 citra. Citra ikan yang digunakan yaitu citra ikan pada bagian insang, daging, dan keseluruhan tubuh ikan. Tujuan dari penelitian ini adalah merancang dan membangun Model Deteksi Kandungan Formalin Pada Ikan dengan Citra Hue Saturation Values (HSV) Menggunakan K-Nearest Neighbor. Diharapkan dengan adanya perancangan sistem ini dapat tersedianya sebuah sistem yang mampu mendeteksi ikan yang mengandung formalin dan mendapatkan hasil deteksi ikan berformalin dengan lebih cepat.
METODE PENELITIAN Perancangan sistem deteksi ikan berformalin yang akan dibangun meliputi tahap preproseccing, ekstraksi ciri menggunakan analisis tekstur dan warna, dengan klasifikasi menggunakan metode K-Nearest Neighbor (KNN). Flowchart sistem dapat dilihat pada gambar 3. Start
Preprocessing Ekstraksi Ciri : 1. Warna 2. Tekstur Klasifikasi dengan KNN
Finish Gambar 3. Tahap Pengembangan Sistem 2
Tahap Preprocessing
V=
Proses preprocessing yaitu proses pengumpulan data dengan cara pengambilan citra ikan. Pengambilan citra ikan dilakukan dengan menggunakan kamera digital. Jenis citra yang digunakan adalah citra berwarna dengan format JPEG dan latar belakang berwarna putih. Pengambilan citra pada ikan segar dilakukan sebanyak 4 kali pada masingmasing bagian yaitu insang, daging dan tubuh ikan utuh pada setiap ikan, sehingga data yang didapatkan dari satu ikan segar sebanyak 12 buah, dan total data yang diperoleh dari ikan segar senbanyak 60 buah. Pengambilan citra pada ikan berformalin dilakukan dengan cara yang sama dengan citra ikan segar. Data yang diperoleh dibagi menjadi data uji dan data latih. Satu dari masing-masing bagian pada setiap ikan akan di jadikan data uji, dan 3 citra lainnya pada masing-masing bagian setiap ikan dijadikan sebagai data latih. Citra berwarna yang ada kemudian di crop untuk menyeragamkan ukuran citra. Selanjutnya citra hasil cropping masuk ke tahap ekstraksi ciri.
Rumus di atas, apabila S = 0 maka H tidak dapat ditentukan, untuk itu diperlukan normalisasi RGB terlebih dahulu dengan rumus berikut : π
r = π
+πΊ+π΅
S=1-
min(π
,πΊ,π΅) π
(4)
πΊ
g = π
+πΊ+π΅
(5)
π΅
b = π
+πΊ+π΅
(6)
Keterangan : r = nilai red yang telah di normalisasi g = nilai green yang telah dinormalisasi b = nilai blue yang telah dinormalisasi Nilai r, g, b sudah di normalisasi, maka rumus transformasi RGB ke HSV sebagai berikut : V = max(r, g, b)
Pencarian ciri warna dan tekstur pada setiap citra yang telah di crop dilakukan pada proses ekstraksi ciri. Ciri warna yang digunakan yaitu warna Hue Saturation Values (HSV) sedangkan ciri tekstur menggunakan Co-occurence Matriks. Variabel ciri yang dicari meliputi nilai H, S, V pada ciri warna dan Contrast, Correlation, Energy, dan Homogeneity pada ciri tekstur. Ekstraksi ciri warna dihitung menggunakan persamaan berikut : 3(πΊβπ΅)
(3)
3
Keterangan : R = nilai red G = nilai green B = nilai blue H = nilai hue S = nilai saturation V = nilai values
Tahap Ekstraksi Ciri
H = tan [(π
βπΊ)+(π
βπ΅)]
π
+πΊ+π΅
S={
H=
0
π½πππ π = 0
πβ
min(π,π,π) π
π½πππ π > 0
0
π½πππ π = 0
60 π₯ (πβπ) ππ₯π
π½πππ π = π
60 π₯ [2 + {60 π₯ [4 +
H = H + 360
(1)
(7)
(πβπ) ] ππ₯π (πβπ) ] ππ₯π
π½πππ π = π
(8)
(9)
π½πππ π = π
Jika H < 0
( 10 )
Ekstraksi ciri tekstur dihitung menggunakan persamaan berikut :
(2)
Contrast = βπ,π|π β π|2 π(π, π) 3
( 11 )
Correlation = βπ,π
(πβππ)(πβππ)(π(π,π) ππππ
Energy = βπ,π π(π, π)Β²
Perancangan Basis Data
( 12 )
Perancangan database pada sistem deteksi ikan berformalin ditunjukkan pada tabel 2 dan tabel 3. Tabel data latih digunakan untuk menyimpan nilai ciri citra latih, sedangkan tabel data uji digunakan untuk menyimpan nilai ciri citra uji.
( 13 )
π(π,π)
Homogeneity = βπ,π 1+|πβπ|
( 14 )
P(i,j) menyatakan nilai pada baris I dan kolom j pada matriks kookurensi. Ciri yang sudah didapatkan kemudian digunakan pada tahap klasifikasi sebagai parameter untuk menbedakan ikan berformalin dan ikan tanpa formalin.
Tabel 2 : Data Latih Id Nama Contrast Correlation Energy Homogeneity H S V Status
Tahap Klasifikasi Metode yang digunakan Pada proses klasifikasi adalah K-Nearest Neighbor. Variabel yang digunakan yaitu H, S, V, Contrast, Correlation, Energy, dan Homogeneity yang telah didapatkan pada proses ekstraksi ciri. Algoritma KNN adalah : 1. Tentukan nilai k. 2. Hitung jarak antara data baru ke setiap labeled data. 3. Tentukan k labeled data yang mempunyai jarak yang paling minimal. 4. Klasifikasikan data baru ke dalam labeled data yang mayoritas. Perhitungan jarak antara data baru dengan setiap labeled data pada sistem ini menggunakan Euclidean distance, berikut adalah persamaan Euclidean distance. D (x, y) =
ββππ=1(ππ
β ππ)Β²
Int (5) Varchar (50) Double Double Double Double Double Double Double Varchar (20)
Tabel 3 : Data Uji Id Nama Contrast Correlation Energy Homogeneity H S V
Int (5) Varchar (50) Double Double Double Double Double Double Double
Perancangan Sistem Secara Umum Secara umum sistem deteksi ikan berformalin yang akan dibangun ditunjukkan pada gambar 4. Pemrograman matlab digunakan untuk mencari nilai ekstraksi ciri, nilai yang di dapat pada proses ekstraksi ciri kemudian di input ke dalam database citra. Klasifikasi dengan metode K-Nearest Neighbor (KNN) di jalankan pada perangkat smartphone android.
( 15 )
D adalah jarak antara titik pada data training x dan titik data testing y yang akan diklasifikasi, dimana x = x1, x2, β¦, xi dan y = y1, y2, β¦, yi dan I merepresentasikan nilai atribut serta n merupakan dimensi atribut. Berdasarkan variabel tersebut dihitung jarak terdekat citra uji terhadap citra latih yang dapat membedakan ikan berformalin dan ikan tanpa formalin.
4
Perancangan Sistem Secara Detail Perancangan interface pada proses ektraksi ciri yang dijalankan pada matlab ditunjukkan pada gambar 6. Terdapat button browse dan analisis, button browse difungsikan untuk memilih citra sedangkan button analisis difungsikan untuk mengekstraksi ciri.
Gambar 4. Flowchart Umum Sistem Citra Red Green Blue (RGB) di input kedalam matlab untuk tahap ekstraksi ciri tekstur dan warna. Pada proses ektraksi ciri warna citra RGB yang di input kemudian di konvert menjadi citra Hue Saturation Values (HSV) setelah di konvert di ambil nilai H, S dan V dari masing-masing pixel yang kemudian di hitung rata-ratanya. Pada ektraksi ciri tekstur citra RGB yang sudah di input di konvert ke grayscale kemudian dibuat matriks co-occurrence setelah itu dicari nilai contrast, correlation, energy, dan homogeneity pada sudut 0ΒΊ, 45ΒΊ, 90ΒΊ, dan 135ΒΊ setelah di dapatkan nilai pada setiap sudut tersebut kemudian di hitung rataratanya pada setiap variabel. Output dari ekstraksi ciri yang telah dilakukan kemudian di input ke dalam database citra. Setelah semua data ciri pada citra latih dan citra uji dimasukkan ke dalam database, kemudian citra uji di input ke dalam smartphone android, data ciri citra uji akan di ambil dari database berdasarkan citra yang di input untuk di klasifikasi menggunakan metode KNearest Neighbor (KNN), output dari proses klasifikasi berupa keterangan apakah citra uji berformalin atau tidak.
Gambar 6. Perancangan Interface Ekstraksi Ciri Gambar 7 menunjukkan rancangan interface pada menu utama dan menu deteksi sistem deteksi ikan berformalin yang dijalankan pada smartphone android. Terdapat button deteksi, help, about dan exit pada menu utama sistem deteksi ikan berformalin. Button deteksi difungsikan untuk mendeteksi citra yang akan di uji, button help dan about difungsikan untuk menampilkan informasi yang dibutuhkan, sedangkan button exit difungsikan untuk keluar dari program.
Gambar 7. Perancangan Interface Menu Utama dan Menu Deteksi 5
HASIL DAN PEMBAHASAN Hasil dari implementasi yang telah dilakukan ditunjukkan pada gambar 16 untuk ekstraksi ciri menggunakan matlab.
Gambar 16. Interface Ekstraksi Ciri Button browse pada Interface ekstraksi ciri digunakan untuk memilih citra yang akan dicari ektraksi cirinya, sedangkan button analisis digunakan untuk menghitung sehingga nilai dari ekstraksi ciri didapatkan. Nilai tersebut kemudian di masukkan ke dalam database seperti yang ditunjukkan pada gambar 17.
Gambar 18. Menu utama Deteksi Ikan Berformalin Menu deteksi ditunjukkan pada gambar 19. Pada menu deteksi pengguna diharuskan memilih ekstraksi ciri yang disediakan yaitu warna dan tekstur, warna atau tekstur. Kemudian pilih gambar yang akan di deteksi.
Gambar 17. Nilai Ekstraksi Ciri pada Database Hasil dari implementasi untuk klasifikasi pada device android ditunjukkan pada gambar 18. Pada menu utama terdapat button deteksi untuk mendeteksi citra yang akan diuji. Button help berupa penjelasan penggunaan sistem, button about adalah keterangan mengenai sistem yang dibuat, button exit untuk mengakhiri atau keluar dari program.
Gambar 19. Menu deteksi Hasil dari deteksi berupa keterangan apakah citra tersebut berformalin atau tidak disertai dengan suara. Output hasil dari deteksi ditunjukkan pada gambar 20. 6
dapat di proses pada tahap klasifikasi yang berjalan pada smartphone android. Perubahan data yang berada pada database menjadi JSON menggunakan pemrograman PHP yang ditunjukkan pada gambar 21. $row['id'], "nama"=>$row['nama'], "contrast"=>$row['contrast'], "correlation"=>$row['correlation'], "energy"=>$row['energy'], "homogeneity"=>$row['homogeneity'], "H"=>$row['h'], "S"=>$row['s'], "V"=>$row['v'], "status"=>$row['status'])); } header('Content-Type: application/json'); echo json_encode($result); mysqli_close($con); ?>
Gambar 20. Output Citra Berformalin dan Tanpa Formalin Pembahasan Sistem deteksi ikan berformalin dibangun untuk memudahkan proses deteksi formalin pada ikan. Sistem ini dibangun dengan basis smartphone android input-nya berupa citra ikan yang akan diuji. Metode yang digunakan adalah K-Nearest Neighbor dengan ekstraksi ciri warna dan tekstur, namun ekstraksi ciri pada citra masih menggunakan matlab, citra di pilih lalu dihitung ekstraksi ciri tekstur dan warnanya kemudian nilainya dimasukkan ke dalam database. Input data ke dalam database dengan cara manual yaitu insert data satu persatu. Smartphone digunakan sebagai klasifikasi citra untuk mendapatkan hasil apakah citra tersebut adalah citra ikan berformalin atau citra ikan tanpa formalin. Database yang digunakan adalah MySQL, karena sistem yang dibangun menggunakan konsep client and server maka untuk bisa terkoneksi dengan database, smartphone android harus berada dalam satu jaringan yang sama dengan database, sehingga citra uji dapat dideteksi. Dalam sistem ini dibutuhkan pemrograman PHP sebagai alat bantu untuk menghubungkan antara database dengan pemrograman Java yang diterapkan pada android, karena proses klasifikasi berada pada device yang berbeda dengan database. Data yang berada pada database di rubah menjadi JSON (Java Script Objeck Notation) agar
Gambar 21. Fungsi Perubahan Database Menjadi JSON Data dalam bentuk JSON berupa array dan objek, objek inilah yang selanjutnya dapat di proses pada pemrograman Java. Data dalam bentuk JSON ditunjukkan pada gambar 22.
Gambar 22. Data dalam Bentuk JSON 7
Data JSON kemudian di muat dalam bentuk array pada pemrograman java dan diproses pada tahap klasifikasi. Pengambilan data JSON pada pemrograman Java ditunjukkan pada gambar 23.
Hasil dari klasifikasi ditampilkan dalam bentuk keterangan teks disertai dengan suara. Keterangan hasil berupa teks dapat dilihat pada gambar 16, sedangkan untuk menghasilkan output berupa suara menggunakan coding sebagaimana ditunjukkan pada gambar 25.
String alamatserverlatih = "http://192.168.43.49/citra/baca.php"; DefaultHttpClient httpClientlatih = new DefaultHttpClient(); HttpPost httpPostlatih = new HttpPost(alamatserverlatih); HttpResponse httpResponselatih = httpClientlatih.execute(httpPostlatih); HttpEntity httpEntitylatih = httpResponselatih.getEntity(); inputStream inputStreamlatih = httpEntitylatih.getContent(); BufferedReader bufferedReaderlatih = new BufferedReader(new InputStreamReader(inputStreamlatih,"iso-8859-1"),8); String dataserverlatih = bufferedReaderlatih.readLine(); inputStreamlatih.close();
if (statusnya.equals("berformalin")){ hasilgambar.setBackgroundResource(R.drawable.formalin); AnimationDrawable frameAnimation = (AnimationDrawable) hasilgambar.getBackground(); frameAnimation.start(); playSound(1); } else { hasilgambar.setBackgroundResource(R.drawable.bebasformalin); AnimationDrawable frameAnimation = (AnimationDrawable) hasilgambar.getBackground(); frameAnimation.start(); playSound(2); }
JSONArray arraydatalatih = new JSONArray(dataserverlatih); for (int j=0; j<arraydatalatih.length(); j++){ JSONObject objekdatalatih = arraydatalatih.getJSONObject(j); contrast = objekdatalatih.getDouble("contrast"); correlation = objekdatalatih.getDouble("correlation"); energy = objekdatalatih.getDouble("energy"); homogeneity = objekdatalatih.getDouble("homogeneity"); h = objekdatalatih.getDouble("H"); s = objekdatalatih.getDouble("S"); v = objekdatalatih.getDouble("V"); latih[j][0] = contrast; latih[j][1] = correlation; latih[j][2] = energy; latih[j][3] = homogeneity; latih[j][4] = h; latih[j][5] = s; latih[j][6] = v; }
Gambar 25. Coding Output Suara Nilai K harus ditentukan sebelum mendapatkan hasil pada proses klasifikasi, untuk menentukan nilai K diperlukan percobaan agar mendapatkan nilai K yang memberikan akurasi sistem paling besar. Pada sistem ini nilai K yang diuji cobakan adalah 1,3,5,7,9, dan 11, dari enam nilai K yang akan diuji coba tersebut akan dijadikan nilai K pada sistem deteksi ikan berformalin. Penentuan nilai K diuji cobakan pada setiap ciri citra yaitu warna, tekstur, serta gabungan ciri warna dan tekstur. Percobaan penentuan nilai K pada ciri warna dan tekstur ditunjukkan pada gambar 26.
Gambar 23. Proses Pengambilan Data JSON Proses klasifikasi, data JSON yang diambil berdasarkan ekstraksi ciri yang digunakan, dalam sistem ini dibuat 3 kelas ekstraksi ciri yaitu warna, tekstur, warna dan tekstur. Pemanggilan data berdasarkan kelas ekstraksi ciri ditunjukkan pada gambar 24.
Penentuan Nilai K Terbaik Menggunakan Ciri Warna dan Tekstur 93.33%
public void onClick(View arg0) { String noid = "434"; iddata = new ArrayList
(); iddata.add(new BasicNameValuePair("id",noid));
Persentase data valid
if(pilihanciri.equals("tekstur")){ DataTekstur teksturnya = new DataTekstur(); teksturnya.execute(); } else if (pilihanciri.equals("warna")){ DataWarna teksturnya = new DataWarna(); teksturnya.execute(); } else if (pilihanciri.equals("warna dan tekstur")){ DataWarnaTekstur teksturnya = new DataWarnaTekstur(); teksturnya.execute(); } }
Gambar 24. Pengambilan Data Berdasarkan Kelas Ekstraksi Ciri
94.00% 92.00%
93.33%
93.33%
90.00% 90.00% 90.00%
90.00% 88.00% K = 1 K = 3 K = 5 K = 7 K = 9 K = 11
Nilai K (tetangga terdekat)
Gambar 26. Percobaan Nilai K Menggunakan Ciri Warna dan Tekstur 8
Total citra uji berjumlah 30 citra, dari uji coba yang dilakukan pada citra tersebut dengan ekstraksi ciri tekstur dan warna didapatkan hasil ketika nilai K = 1 citra yang valid dideteksi sebesar 90% citra. Jika K = 3 citra yang valid dideteksi sebwsaer 90%, begitupun jika nilai K = 5. Jika nilai K = 7 citra yang valid dideteksi sebesar 93,33% citra, begitupun jika K = 9 dan K = 11. Selanjutnya percobaan yang dilakukan pada ekstraksi ciri tekstur. Percobaan dengan ekstraksi ciri tekstur ditunjukkan pada gambar 27.
Penentuan Nilai K Terbaik Menggunakan Ciri Warna
93.33% 93.33% 93.33%
Persentase data valid
94.00% 92.00% 90.00% 90.00% 88.00%
90.00%
86.67%
86.00% 84.00% 82.00% K = 1 K = 3 K = 5 K = 7 K = 9 K = 11
Penentuan Nilai K Terbaik Menggunakan Ciri Tekstur 90.00% 76.67%
Persentase data valid
80.00% 70.00%
66.67% 66.67%
Nilai K (tetangga terdekat)
Gambar 28. Percobaan Nilai K Menggunakan Ciri Warna
66.67% 70.00%
60.00%
60.00%
Data uji berjumlah 30 citra, pada ekstraksi ciri warna jika K = 1 jumlah data valid adalah 90%, jika K = 3 jumlah data valid adalah 86,67%, jika K = 5 jumlah data valid adalah 90%. Jika K = 7 jumlah data valid adalah 93,33% begitupun jika K = 9 dan K = 11. Berdasarkan uji coba yang telah dilakukan dapat diketahui bahwa nilai K terbaik adalah 11.
50.00% 40.00% 30.00% 20.00% 10.00% 0.00% K = 1 K = 3 K = 5 K = 7 K = 9 K = 11
Nilai K (tetangga terdekat)
Uji Struktural
Gambar 27. Percobaan Nilai K Menggunakan Ciri Tekstur
Uji struktural adalah uji coba yang dilakukan untuk mengetahui apakah struktur atau alur program sudah sesuai dengan perancangan. Table 4. Uji Struktural
Data uji berjumlah 30 citra, pada ekstraksi ciri tekstur jika K = 1 maka jumlah data valid adalah 76,67%, jika K = 3 jumlah data valid adalah 66,67%, jika K = 5 jumlah data valid 66,67%. Jika K = 7 maka jumlah data valid adalah 60%, ketika K = 9 jumlah data valid sebanyak 66,67%. Jika K = 11 junlah data valid adalah 70%. Selanjutnya dilakukan uji coba dengan ekstraksi ciri warna. Uji coba dengan menggunakan ekstraksi ciri warna ditunjukkan pada gambar 28.
No
9
Interface
Hasil
1
Menu Utama
Sesuai
2
Menu Deteksi
Sesuai
3
Menu Help
Sesuai
4
Menu About
Sesuai
Uji Fungsional
6
Button Help
7
Button About
Uji fungsional adalah uji coba yang dilakukan untuk mengetahui apakah program yang dibuat sudah berfungsi dengan baik. Table 5. Uji Fungsional No Menu 1 Button Deteksi
4
Spinner Ekstraksi Ciri
Uji Validasi Uji validasi adalah uji coba yang dilakukan untuk mengetahui keakuratan sistem yang dibangun. Hasil dari uji coba validasi ditunjukkan pada gambar 29.
Validasi Tiap Ciri
Citra ikan berformalin
persentase validasi
2
Hasil
100.00%
91.67%
91.00% 67.67%
80.00% 60.00% 40.00% 20.00% 0.00% warna dan tekstur
5
warna
tekstur
Ekstraksi ciri
Citra ikan tanpa formalin
Gambar 29. Validasi Sistem pada MasingMasing Ciri Sistem deteksi ikan berformalin yang dibangun memiliki validasi sebesar 91,67% pada ekstraksi ciri warna dan tekstur, pada ekstraksi ciri warna didapatkan validasi sebesar 91% sedangkan pada ekstraksi ciri tekstur didapatkan validasi sebesar 67,67%. Validasi tertinggi didapatkan pada ekstraksi ciri warna dan tekstur sedangkan 10
validasi terendah didapatkan pada ekstraksi ciri tekstur. Setelah dilakukan uji coba pada masing-masing ekstraksi ciri selanjutnya dilakukan uji coba pada setiap bagian citra ikan. Uji coba pada setiap bagian citra ikan ditunjukkan pada gambar 30.
Persentase validasi
Rata-rata Validasi Tiap Bagian Citra Ikan
Validasi Tiap Bagian Citra Ikan Persentase validasi
120% 100%
90% 100% 90%
100% 100% 90% 80%
88.00% 87.00% 86.00% 85.00% 84.00% 83.00% 82.00% 81.00% 80.00% 79.00%
86.67%
Ikan utuh
80% 60% 60%
82.00%
81.67%
Insang
Daging
Bagian Ikan
60% 40%
Gambar 31. Rata-rata Validasi pada Setiap Bagian Citra Ikan
20% 0% Warna dan tekstur
tekstur
Berdasarkan rata-rata yang telah dihitung dapat diketahui bahwa validasi tetinggi yaitu pada citra bagian insang dengan nilai sebesar 86,67%, sedangkan validasi terendah yaitu pada citra ikan utuh dengan nilai 81,67%.
warna
Ekstraksi ciri Ikan utuh
Insang
Daging
Gambar 30. Validasi Tiap Bagian Citra Ikan
KESIMPULAN DAN SARAN Sistem deteksi ikan berformalin dengan menggunakan analisis tekstur dan warna berbasis smartphone android pada dasarnya di bangun untuk membantu deteksi ikan yang mengandung formalin agar lebih cepat. Penggunaan teknologi pengolahan citra memudahkan proses deteksi karena tidak memerlukan tenaga ahli seperti deteksi formalin yang harus di lakukan di laboratorium serta dengan biaya yang mahal. Berdasarkan uji coba yang telah dilakukan dapat diambil kesimpulan bahwa deteksi dengan menggunakan ekstraksi ciri warna dan tekstur lebih akurat dibandingkan hanya dengan ekstraksi ciri warna ataupun hanya dengan ekstraksi ciri tekstur. Validasi tetinggi didapatkan sebesar 91,67% pada ekstraksi ciri warna dan tekstur, sedangkan validasi terendah sebesar 67,67% pada ekstraksi ciri tekstur.
Validasi tertinggi sebesar 95% pada ekstraksi ciri warna dan tekstur didapatkan pada bagian daging. Ekstraksi ciri tekstur didapatkan validasi tertinggi pada bagian insang sebesar 83,33%, sedangkan pada ekstraksi ciri warna didapatkan validasi tertinggi sebesar 95% pada bagian daging. Setelah uji coba pada masing-masing bagian ikan untuk setiap ciri dilakukan, selanjutnya dihitung rata-rata pada setiap bagian citra ikan agar diketahui rata-rata validasi pada citra bagian manakah yang menghasilkan validasi paling besar. Ratarata validasi setiap bagian ikan ditunjukkan pada gambar 31.
11
Uji coba yang dilakukan juga menunjukkan bahwa semakin besar nilai K (tetangga) akan semakin kecil terjadinya kesalahan. Jika dihitung validasi berdasarkan bagian citra ikan, didapatkan validasi tertinggi sebesar 86,67% pada citra bagian insang, sedangkan validasi terendah pada citra ikan utuh dengan persentase 81,67%. Kelebihan dari sistem yang dibangun ini adalah tidak dibutuhkannya biaya yang besar untuk mengdeteksi formalin pada ikan separti pada deteksi yang di lakukan di laboratorium serta tidak membutuhkan tenaga ahli untuk dapat mengdeteksinya, karena deteksi dilakukan menggunakan smartphone android yang sudah umum digunakan oleh banyak orang. Kekurangan sistem yang dibangun ini adalah masih dibutuhkannya bantuan komputer desktop sebagai ekstraksi cirinya, karena ekstraksi ciri citra belum bisa langsung menggunakan smartphone. Sistem ini juga belum mampu memanfaatkan kamera yang ada pada smartphone android untuk men-capture citra ikan yang akan di deteksi.
DAFTAR PUSTAKA Ndaumanu, Kusrini, Arief. 2014. Analisis Prediksi Tingkat Pengunduran Diri Mahasiswa dengan Metode K-Nearest Neighbor. Jatisi, Vol. 1, No. 1. Rakhmawati, Rizqa Puji. 2013. Sistem Deteksi Jenis Bunga Menggunakan Nilai HSV dari Citra Mahkota Bunga. Skripsi. Jurusan Teknik Informatika Fakultas Teknologi Informasi, Universitas Stikubank. Semarang. Utama. Akuisisi Citra Digital Menggunakan Pemrograman Matlab. Majalah Ilmiah UNIKOM. Vol. 9, No. 1. http://www.mathworks.com/help/images/r ef/graycoprops.html#input_argument_pro perties. 26 Juli 2016.
Saran Sistem deteksi ikan berformalin ini masih dapat dikembangkan seperti, insert nilai yang dihasilkan pada ekstraksi ciri di matlab secara otomatis ke database, dan juga menggunakan pemanggilan fungsi matlab di java untuk ekstraksi ciri. Penggunaan kamera smartphone android yang dapat digunakan untuk men-capture citra ikan sebagai citra masukkan serta proses ekstraksi ciri yang dapat dilakukan pada smartphone android, sehingga penggunaannya tidak lagi membutuhkan bantuan matlab pada komputer desktop untuk mencari nilai ekstraksi ciri.
12