Penerapan Algoritma Grey Level Co-Occurence Matrix (GLCM) Dengan Metode K-Nearest Neighbour Untuk Klasifikasi Beras Berdasarkan Tekstur

(1)

MATRIX (GLCM) DENGAN METODE K-NEAREST

NEIGHBOUR UNTUK KLASIFIKASI BERAS BERDASARKAN

TEKSTUR

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

Aris

10110765

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2015


(2)

i

ABSTRAK

PENERAPAN ALGORITMA GREY LEVEL CO-OCCURRENCE MATRIX (GLCM) DENGAN METODE K-NEAREST NEIGHBOR UNTUK

KLASIFIKASI BERAS BERDASARKAN TEKSTUR

Oleh

Aris 10110765

Pengolahan citra merupakan ilmu dasar identifikasi citra berdasarkan ciri salah satunya ciri tekstur. Ciri tekstur pada citra jika terjadi pola citra yang berulang memenuhi semua bidang citra. Ciri-ciri inilah yang menjadi dasar dalam klasifikasi citra berdasarkan tekstur. Terdapat beberapa metode untuk memperoleh ciri-ciri tekstur dalam suatu citra, Salah satu metode untuk memperoleh ciri-ciri citra tekstur adalah matriks occurrence. Ciri-ciri tekstur yang didapat dari metode matriks co-occurrence diantaranya adalah entropi, kontras, homogenitas, energi dan dissimilarity. Hasil dari ciri tersebut selanjutnya digunakan untuk klasifikasi menggunakan metode KNN yang menentukan hasil klasifikasi dari jarak K terdekat. Objek yang diuji adalah citra beras.

Berdasarkan penelitian yang telah dilakukan dapat disimpulkan sebagai berikut : metode KNN dapat digunakan untuk klasifikasi citra beras dengan hasil ekstrkasi ciri Co-occurrence Matriks. Karena data hasil ekstrkasi ciri dapat langsung digunakan untuk klasifikasi berdasarkan kelas dan nilai K yang telah ditentukan.

Berdasarkan hasil pengujian, kesimpulan yang didapatkan adalah metode KNN dapat mengklasifikasi citra dengan baik, dikarenakan data hasil ekstraksi ciri tekstur beras dengan baik dengan tingkat akurasi 100% pada citra yang ada pada basis data dan 97.% dengan citra yang tidak terdapat pada basis data. Untuk citra beras KW 2 dan KW 3 tingkat akurasi

Kata kunci : tekstur citra, ekstraksi ciri, co-occurrence matriks, klasifikasi, KNN, Beras


(3)

ii

By Aris 10110765

Image processing is a basic science of image identification based on characteristic one of them is texture characteristic. Texture characteristic on the image if there is a repeating pattern image which fills all areas of the image. These characteristics are the basis for the classification of the image based on the texture.

There are several methods to obtain the characteristics of texture in an image, one of the method to obtain the characteristics of texture image is the co-occurrence matrix.

The characteristics of texture obtained from the co-occurrence matrix method including the entropy, contrast, homogeneity, energy and dissimilarity. The results of these characteristics will be used for classification using KNN (K-Nearest Neighbor) method which determines the classification results of K nearest distance. The object being tested is the image of rice.

Based on the research that has been done can be concluded as follows: KNN method can be used for the rice image classification with extracted results of Co-occurrence Matrix characteristic. Because the results of feature extracted data can be directly used for classification by grade and K predetermined value.

Based on test results, the conclusions obtained are KNN method can classify the image properly, because the result of extracted data of rice texture characteristic going well with a 100% accuracy rate on existing images in the database and 97% with images that are not found in the database. For rice image KW 2 and KW 3 levels of accuracy

Keywords: Image Texture, Feature Extraction, Co-occurrence Matrix,


(4)

v

ABSTRACT ... ii 

KATA PENGANTAR ... iii 

DAFTAR ISI ... v 

DAFTAR GAMBAR ... viii 

DAFTAR TABEL ... x 

DAFTAR SIMBOL ... xii 

DAFTAR LAMPIRAN ... xiv 

BAB 1  PENDAHULUAN ... 1 

1.1  Latar Belakang... 1 

1.2  Perumusan Masalah ... 2 

1.3  Maksud dan Tujuan ... 2 

1.4  Batasan Masalah ... 3 

1.5  Metodologi Penelitian ... 3 

1.5.1  Metode Pengumpulan Data ... 3 

1.5.2  Metode Tahapan Analisis ... 4 

1.6  Sistematika Penulisan ... 5 

BAB 2  TINJAUAN PUSTAKA ... 7 

2.1  Pengolahan Citra ... 7 

2.2  Operasi Pengolahan Citra ... 7 

2.3  Tekstur ... 9 


(5)

vi

2.8  OOP (Object Oriented Programming) ... 17 

2.9  Konsep Dasar PBO ... 18 

2.10  UML ... 19 

2.11  Bahasa Pemrograman C# ... 25 

2.12  Visual Studio .Net ... 26 

BAB 3  ANALISIS DAN PERANCANGAN ... 29 

3.1  Analisis Masalah ... 29 

3.2  Analisis Proses... 30 

3.3  Analisis Data Masukan ... 30 

3.3.1  Preprosessing ... 31 

3.3.2  Ekstraksi Ciri ... 33 

3.4  Analisis Data Pelatihan dan Pengujian ... 34 

3.4.1  Analisis Pengujian ... 34 

3.5  Analisis Perhitungan ... 34 

3.5.1  Analisis Data Masukan ... 34 

3.6  Analisis K-Nearest Neighbor ... 45 

3.7  Analisis Kebutuhan Sistem... 48 

3.7.1  Analisis Kebutuhan Fungsional ... 48 

3.7.2  Analisis Kebutuhan Non Fungsional ... 67 

BAB 4  IMPLEMENTASI DAN PENGUJIAN ... 71 

4.1  Implementasi ... 71 


(6)

vii

5.2  Saran ... 77  DAFTAR PUSTAKA ... 79 


(7)

80

DAFTAR PUSTAKA

[1] R. Munir, Pengolahan Citra Digital, Bandung: Penerbit Informatika Bandung, 2002.

[2] S. R. Pressman, Software Engineering: A Practitioner's Approach, 4th ed, New York: McGraw-Hill Companies, 2010.

[3] Adnan, Suhartini dll, "Identifikasi Varietas Berdasarkan Warna dan Tekstur Permukaan Beras Menggunakan Penglolahan Citra Digital dan Jaringan Syaraf Tiruan," Jurnal , .Balai Pengkajian Teknologi Pertanian Papua, Papua, 2013.

[4] Indah Ratih, "Pengenalan Motif Batik Menggunakan Metode Transformer Paket Wavelet," Tugas Akhir Teknik Informatika, no. Universitas Telkom, Bandung, 2013

[5] Purnomo Adi, "Aplikasi Pemrograman C# Untuk Analisis Tekstur Kayu Parquet dengan Menggunakan Metode Grey Level Co-occurrence Matrix (GLCM)," Tugas Akhir Teknik Informatika, 2011.

[6] U. Ahmad, Pengolahan Citra Digital dan Teknik Pemogramannya, Yogyakarta: Graha Ilmu, 2005.

[7] Y. Ganis, I. Santoso,Dll "Klasifikasi Citra dengan Matriks Kookurensi Aras Keabuan Pada Lima Kelas Biji-Bijian," Tugas Akhir Teknik Elektro, no. Universitas Diponegoro, Semarang, 2009.

[8] Widya Eka Wardani, "Pengenalan Motif Batik Menggunakan Metode Transformer Paket Wavelet," Tugas Akhir Teknik Informatika, no. Universitas Widyatama, Bandung, 2013.

[9] Ariantoko Kusmian, "Implementasi Algoritma Naïve Bayes Untuk Klasifikasi Citra Berdasarkan Ekstraksi Ciri Tekstur dengan Metode Matriks Kookurensi," Tugas Akhir Teknik Informatika, Universitas Komputer Indonesia, Bandung, 2014


(8)

[11] Insanudin Andi, "Ekstraksi Informasi Kemacetan pada Media Digital," Tugas Akhir Teknik Informatika, no. Universitas Komputer Indonesia, Bandung, 2013.

[12] Nithya, dan Santi, B.,2011 "Comparative Study on Feature Extraction Method For Breast Cancer Clasification, J Theoritical and Applied Information Technology", Vol 33 No.2.

[13] Listia Refta, Harjoko Agus "Klasifikasi Massa pada Citra Mammogram Berdasarkan Gray Level Cooccurence Matrix (GLCM)," Jurnal, . Universitas Gadjah Mada, Yogyakarta, 2014.

[14] E. Budiyono Permadi, Nikentari Nerfita,. "Analasis Klasifikasi Kadar Karat Emas Menggunakan Metode K-Nearest Neighbor," Jurnal Teknik Informatika, Universitas Maritim Raja Ali Haji , Tanjung Pinang,.

[15] L. Farsiah, T. Fuadin A dll "Klasifikasi Gambar Berwarna Menggunakan K-Nearest Neighbor dan Support Vector Machine," Tugas Akhir Teknik Informatika, no. Universitas Komputer Indonesia, Bandung, 2013.

[16] Wijaya,. "Pengaruh Kadar Gabah Terhadap Mutu Fisik beras Giling," Jurnal Fakultas Pertanian, Universitas Unswagati , Cirebon,.


(9)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Beras merupakan makanan pokok penduduk dunia salah satunya Indonesia sebagai Negara dengan tingkat konsumsi beras mencapai 139 kilogram perkapita per tahun dan menjadikan salah satu Negara yang tingkat konsumsi beras tertinggi. Pada tahun 2012 produksi beras mencapai 69.05 juta ton atau setara dengan 40.5 juta ton beras. Beras sangat bermanfaat sebagai sumber energy karena kandungan vitamin D, niacin, Kalsium, Serat, Zat besi, thiamine dan riboflavin.

Kualitas beras menjadi hal yang sangat penting yang perlu diperhatikan karena akan berpangaruh pada jumlah gizi yang terkandung dalam beras. hasil panen, tempat penyimpanan, suhu hingga lama penyimpanan menjadi salah satu penurunan dari kualitas beras. identifikasi kualitas beras secara kasat mata sulit dilakukan sehingga perlu keahlian khusus untuk mendeteksi kualitas beras salah satunya dengan memanfaatkan pengolahan citra dengan identifikasi dari ciri tekstur.

Pengolahan citra bukanlah ilmu baru, ilmu ini banyak digunakan di berbagai bidang seperti, industri, pendidikan, kedokteran dll. Pengolahan citra menjadi ilmu yang sangat penting untuk dasar identifikasi citra berdasarkan kelas-kelas sehingga dapat menyerupai kemampuan manusia untuk mengklasifikasikan citra.

Pada penelitian sebelumnya kualitas fisik beras telah diuji menggunakan pengolahan citra dan jaringan syaraf tiruan[3] dimana jaringan saraf tiruan tidak dapat dikombinasikan dengan analisis warna dan tekstur sehingga tingkat akurasi yang dihasilkan kurang optimal. pada penelitian tugas akhir ini algoritma yang digunakan adalah Grey Level Coocurent Matrix(GLCM) untuk analisis pada ciri fisik dan tekstur. Sedangkan penelitian yang dilakukan oleh [7] dengan tujuan untuk mengklasifikasikan kelas biji-bijian menggunakan GLCM dimana tingkat pengenalan biji-bijian tertinggi adalah beras karena beras memiiki bentuk, ukuran dan tekstur yang berbeda. Tekstur dapat digunakan sebagai salah satu ciri untuk


(10)

dapat mengenali menggolongkan dan mencari gambar[4], selanjutnya penelitian yang dilakukan[12],[13] yaitu dengan membandingkan metode ekstraksi ciri. Metode yang dibandingkan adalah intensitas histogram, GLCM dan intensitas fitur. Data yang digunakan diperoleh dari Digital Database For Screening (DDMS). Dari hasil penelitian tersebut, ekstraksi ciri dengan GLCM adalah metode ekstraksi yang paling baik. K-Nearest Neighbor merupakan salah satu metode klasifikasi data pada penelitian sebelumnya oleh[14] tingkat akurasi klasifikasi KNN mencapai 92,93% selain itu penelitian yang dilakukan oleh[15] dimana hasil perbandingan metode KNN dan SVM sama baiknya.

Berdasarkan masalah yang telah dijelaskan sebelumnya maka pada penelitian ini akan menerapkan algoritma GLCM untuk ekstraksi ciri citra beras dan metode KNN untuk klasifikasi ciri citra. diharapkan metode KNN dapat mengklasifikasikan citra beras berdasarkan tekstur dengan tingkat yang lebih baik dari penelitian sebelumnya.

1.2 Perumusan Masalah

Berdasarkan penjelasan yang ada pada latar belakang diatas, terdapat beberapa permasalahan yang dapat diuraikan sebagai berikut :

1. Bagaimana cara mengetahui kualitas beras berdasarkan tekstur ?

2. Bagaimana mengimplementasikan metode k-Nearest Neighbour dan algoritma

Grey Level Coocurent Matrix(GLCM) untuk ekstraksi ciri berdasarkan tekstur dan klasifikasinya.

1.3 Maksud dan Tujuan

Maksud dari penelitian ini adalah untuk menerapkan algoritma Grey Level Co-occurrence Matrixs dan metode K-Nearest Neighbor untuk klasifikasi dan ekstraksi ciri citra beras.

1. Mengetahui kualitas beras berdasarkan ciri tekstur.

2. Mengetahui kinerja algoritma Grey Level Co-occurrence Matriks dan metode KNN untuk klasifikasi citra beras.


(11)

1.4 Batasan Masalah

1. Sistem yang dibangun berbasis desktop.

2. Jenis beras yang digunakan pada penelitian ini adalah Setra Ramos. 3. Ciri fisik yang digunakan berdasarkan tekstur beras.

4. Metode yang digunakan untuk ciri tekstur beras adalah algoritma Grey Level Coocurent Matrix(GLCM).

5. Metode yang digunakan untuk mengklasifikasikan kualitas beras adalah k-Nearest Neigbor.

6. Objek yang digunakan adalah citra digital gambar beras dengan format *.jpg. 7. Keluaran sistem terbagi menjadi 3 tingkatan penggolongan kualitas yaitu KW

1, KW 2 dan KW 3. 1.5 Metodologi Penelitian

Metodologi penelitian merupakan usaha untuk mencari data berdasarkan paradigma keilmiahan yang bertujuan untuk mendapatkan suatu data yang sesuai dengan kegunaannya. Kegiatan pengumpulan data yang dilakukan dengan cara ilmiah harus bersifat rasional, empiris dan sistematis agar data yang dikumpulkan dapat diketahui validitasnya. Metode penelitian yang digunakan untuk mencapai tujuan yang dimaksud ialah dengan menggunakan metode deskriptif. Metode deskriptif merupakan metode yang menggambarkan fakta-fakta dan informasi dalam situasi atau kejadian dimana sekarang secara sistematis, faktual dan akurat. Metode penelitian ini memiliki dua tahapan, yaitu tahap pengumpulan data dan tahap pengembangan perangkat lunak[5].

1.5.1 Metode Pengumpulan Data

Metode pengumpulan data dan pengembangan perangkat lunak dalam penelitian ini menggunakan beberapa metode di antaranya :

1. Studi Literatur

Pengumpulan data yang dilakukan dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang berhubungan denganpengolahan citra, algoritma Grey Level Coocurent Matrix(GLCM), klasifikasi k-Nearest Neighbor,


(12)

pemrograman beroreintasi object, bahasa C#, Visual Studio.Net dan Microsoft Visio. Studi literatur juga diperlukan untuk mendapatkan informasi penelitian-peneliatian sebelumnya tentang klasifikasi citra.

2. Wawancara

Dalam tahap ini pengumpulan data dilakukan dengan tanya jawab secara langsung kepada beberapa penjual beras mengenai penentuan beras berdasarkan bentuk dan kelas kualitas beras[16].

1.5.2 Metode Tahapan Analisis

Berdasarkan pengkajian dan evaluasi dari beberapa sumber seperti buku dan jurnal, tahapan analisis yang akan dilakukan pada penelitian ini adalah :

1. Analisis Data masukan, yaitu menganalisis data yang dimasukan, data yang dimasukan berupa citra beras yang akan di analisis, dengan tahapan preprocessing, dan ekstraksi ciri, hasil akhir tahapan ini adalah ekstraksi ciri. 2. Analisis tahapan pengujian, yaitu melakukan pada tahap pengujian, seshingga

didapatkan nilai yang akan digunakan saat menganalisis data keluaran.

3. Analisis Data Keluaran, yaitu melakukan analisis terhadap nilai akhir yang didapatkan pada saat tahap pengujian, dimana data keluaran berupa hasil klasifikasi.


(13)

Gambar 1.1 Analisis Proses

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan. BAB II LANDASAN TEORI

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan pengoahan citra,teori mengenai ekstraksi citra, teori mengenai klasifikasi citra, teori tentang algoritma grey level co-occurent matrix (GLCM), teori mengenai analisis tekstur, teori mengenai pemorgraman beroreintasi objek, teori mengenai klasifikasi k-Nearest Neighbour, teori mengenai bahasa C#, teori mengenai visual studio.net, dan teori mengenai Microsoft Visio.


(14)

BAB III ANALISA DAN PERANCANGAN

Menjelaskan mengenai analisis masalah yang menggambarkan proses identifikasi masalah, analisis proses dan analisis kebutuhan sistem software, hardware,dan analisis perhitungan Grey Level Co-occurrence Matrix (GLCM) dan metode k-Nearesst Neighbour pada klasifikasi citra dan anailisis untuk membangun program simulsi. .

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas tentang pengujian akurasi dan kecepatan algoritma grey level cooccuren matrix (GLCM) dan metode k-Nearest Neighbour pada klasifikasi citra dengan menggunakan program simulasi yang telah dibuat.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisa tugas akhir.


(15)

7

BAB 2

TINJAUAN PUSTAKA

2.1 Pengolahan Citra

Pemanfaatan citra digital banyak digunakan dalam berbagai bidang seperti bidang pendidikan, kedokteran, industry dll. Pengolahan citra digital merupakan salah satu disiplin ilmu yang mempelajari hal-hal yang berkaitan dengan perbaikan kualitas gambar(peningkatan kontras, tranformasi, warna, restorasi citra), transformasi gambar(rotasi, translasi, skala, transformasi, geometrik), melakukan pemulihan citra ciri (feature images) yang optimal untuk tujuan analisis, melakukan proses penarikan informasi atau deskripsi objek atau pengenalan objek yang terkandung pada citra, melakukan kompresi atau reduksi data untuk tujuan penyimpanan data, transmisi datam dan waktu proses data,input dai pengolahan citra adalah citra, sedangkan outputnya adalah citra hasil pengolahan.

2.2 Operasi Pengolahan Citra

Banyak operasi yang dilakukan dalam pengolahan citra, umumnya operasi pengolahan citra dapat diklasifikasikan dalam beberapa jenis sebagai berikut [1]: 1. Perbaikan Kualitas Citra (image enhancement)

Operasi citra jenis ini bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra, ciri khusus yang terdapat didalam citra lebih ditonjolkan. Contoh-contoh operasi citra perbaikan citra :

a. Perbaikan kontras gelap/terang.

b. Perbaikan tepian objek (edge enhancement). c. Penajaman (sharpening).

d. Penajaman warna semu (sharpening). e. Penapisan derau (noise filtering). 2. Pemugaran Citra (image restoration)

Operasi citra ini bertujuan untuk menghilangkan/meminimumkan cacat pada citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra,


(16)

perbedaanya pada pemugaran citra penyebab degradasi gambar diketahui. Contoh operasi pemugaran citra :

a. Penghilangan kesamaran (debluring). b. Penghilangan derau (noise).

3. Pemampatan Citra (image compression)

Jenis operasi ini bertujuan agar citra dipresentasikan dalam bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal penting yang harus diperhatikan dalam pemampatan adalah citra yang telah dimampatkan harus tetap mempunyai kualitas gambar yang bagus.

4. Segmentasi Citra (image segmentation)

Operasi citra jenis ini bertujuan untuk memecah suatu citra kedalam beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan pengolahan pola.

5. Pengorakan Citra (image analysis)

Jenis operasi ini bertujuan menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya. Teknik pengorakan citra mengekstraksi ciri-ciri tertentu yang membantu dalam identifikasi objek. Proses segmentasi seringkali diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya.contoh-contoh operasi pengorakan citra :

a. Pendeteksian tepi objek (edge detection) b. Ekstraksi batas (boundary)

c. Representasi daerah (region)

6. Rekonstruksi Citra (image reconstruction)

Operasi citra jenis ini bertujuan untuk membentuk ulang objek dari beberapa citra hasil proyeksi.operasi rekonstruksi citra banyak digunakan dalam bidang medis. Misalnya foto rontgen dengan sinar X digunakan untuk membentuk ulang gambar organ tubuh.

7. Perubahan Model Warna

Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek [1]. Setiap warna mempunyai panjang gelombang yang berbeda. Warna merah mempunyai panjang


(17)

gelombang yang paling tinggi, sedangkan warna ungu mempunyai panjang gelombang rendah. Warna-warna yang diterima oleh mata adalah hasil kombinasi cahaya dengan panjang gelombang berbeda. Penelitian memperlihatkan kombinasi warna memberikan rentang warna yang paling lebar adalah red (R), green (G), dan blue (B).

a. Citra RGB yang biasa disebut citra true color, disimpan dalam citra berukuran (m x n) x 3 yang mendefinisikan warna merah (red), hijau (green) dan biru (blue) untuk setiap pikselnya. Warna pada stiap piksel ditentukan berdasarkan kombinasi dari warna red, green, dan blue (RGB). RGB merupakan citra 24 bit dengan komponen merah, hijau dan biru yang masing-masing umumnya bernilai 8 bit sehingga intensitas kecerahan warna sampai 256 level dari kombinasi warnanya kurang dari sekitar 16 juta warna.

b. Citra keabuan

Citra dengan derajat keabuan berbeda dengan citra RGB, citra ini didefinisikan oleh satu nikai derajat warna. Umumnya bernilai 8 bit sehingga intensitas kecerahan warna sampai 256 leve dan kombinasi warnanya256 varian. Tingka kecerahan paling rendah yaitu 0 untuk warna hitam dan putih bernilai 255. Untuk mengkonversi citra yang memiliki warna RGB ke derajat keabuan bisa menggunakan rumus dibawah ini.

X = 0.2 * R + 0.72 * G + 0.07 * B (Persamaan 1) Dimana :

X = citra greyscale R = red

G = green B = blue

2.3 Tekstur

Tekstur adalah konsep intuitif yang mendeksripsikan tentang sifat kehalusan, kekasaran dan keteraturan dalam suatu daerah /wilayah(region). Dalam pengolahan citra digital, tekstur didefiniskan sebagai distribusi spasial dari derajat keabuan di dalam sekumpulan piksel yang bertetangga[7].


(18)

Secara umum tekstur mengacu pada pengulangan elemen-elemen tekstur dasar yang disebut primitif atau tekstel(textur element-texel) syarat-syarat terbentuknya suatu tekstur antara lain :

1. Adanya pola-pola primitif yang terdiri dari suatu piksel atau lebih. bentuk-bentuk pola primitif ini dapat berupa titik, garis lurus, garis lengkung, luasan, dan lain-lain yang merupakan elemen dasar dari sebuah tekstur.

2. Pola-pola primitif tersebut muncul berulang-ulang dengan interval dan arah tertentu sehingga dapat diprediksi atau ditemukan karakteristik pengulangannya.

Suatu citra memberikan interpretasi tekstur yang berbeda jika dilihat dengan jarak dan sudut yang berbeda. Manusia memandang tekstur berdasarkan deskripsi yang bersifat acak, seperti halus, kasar, teratur,tidak teratur dan sebagainya. Hal ini merupakan deskripsi yang tidak tepat dan non kuantitatif, sehingga diperlukan adanya suatu deskripsi yang kuantititif (matematis) untuk memudahkan analisis[7]. 2.4 Analisis Tekstur

Analisis tekstur merupakan dasar dari berbagai macam aplikasi, aplikasi dari analisis tekstur antara lain: penginderaan jarak jauh, pencitraan medis, identifikasi kualitas suatu bahan (kayu, kulit, tekstil, dan lain-lain), dan juga berbagai macam aplikasi lainnya. Pada analisis citra, pengukuran tekstur dikategorikan menjadi lima kategori utama yaitu : statistis, struktur, geometri, model dasar, dan pengolahan sinyal. Pendekatan statistis mempertimbangkan bahwa intensitas dibangkitkan oleh medan acak dua dimensi, metode ini berdasar pada frekuensi ruang. Contoh metode statistis adalah fungsi autokorelasi, Co-ocurence Matrix, transformasi fourier, frekuensi tepi, run length dan lainnya. Teknik struktural berkaitan dengan penyusunan bagian-bagian terkecil suatu citra. Contoh metode struktural adalah model fraktal. Metode geometri berdasar atas perangkat geometri yang ada pada elemen tekstur. Contoh metode model dasar adalah medan acak. Sedangkan metode pengolahan sinyal adalah metode berdasarkan analisis frekuensi seperti tranformasi gabor dan transformasi wavelet[6].


(19)

2.5 Grey Level Co-occurrence Matrix

Co-occurance matrix atau matriks ko-okurensi adalah salah satu metode statistik yang dapat digunakan untuk analisis tekstur. Matriks Ko-okurensi dibentuk dari suatu citra dengan melihat pada piksel-piksel yang berpasangan yang memiliki intensitas tertentu. Penggunaan metode ini berdasar pada hipotesis bahwa dalam suatu tekstur akan terjadi keabuan. Misal, d didefinisikan sebagai jarak antara dua posisi piksel, yaitu (x1,y1) dan (x2,y2); dan 0 didefinisikan sebagai sudut diantara keduanya. Maka matriks kookurensi didefinisikan sebagai matriks yang menyatakan distribusi spasial antara dua piksel yang bertetangga yang memiliki intensitas i dan j, yang memiliki jarak d diantara keduanya, matriks kookurensi dinyatakan dengan :

� , =�−� ,� , , =

(Persamaan 2)

Dimana :

 P : Probabilitas munculnya pasangan berderajat keabuan

� , : Banyaknya pasangan titik-titik dengan tingkat keabuan tertentu Suatu piksel yang bertetangga yang memiliki jarak d diantara keduanya, dapat terletak di delapan arah yang berlainan, untuk lebih jelasnya dapat dilihat pada Gambar 0.1.

Gambar 0.1 Hubungan Ketetanggan Antar Piksel

Setelah memperoleh matriks kookurensi, fitur ciri yang merepresentasikan citra dapat dihitung. Dalam matriks kookurensi, terdapat beberapa ciri tekstur yang dapat diperoleh dari suatu citra yang digunakan sebagai pembeda antara citra dengan kelas tertentu, dengan kelas lainnya[]. Ciri-ciri tersebut adalah :


(20)

1. Energi (Energy)

Energi adalah fitur untuk mengukur konsentrasi pasangan intensitas pada matriks kookurensi. Nilai energi akan semakin membesar bila pasangan piksel yang memenuhi syarat matriks intensitas kookurensi terkosentrasi pada beberapa koordinat dan mengecil bila letaknya menyebar. Rumus yang digunakan untuk menghitung energi adalah :

Rumus Energi = ∑�−, = � , (Persamaan 3)

Dimana :

i, dan j adalah keabuan dari resolus 2 piksel yang berdekatan p(i,j) adalah co-occurrence matrix simetris ternormalisasi. 2. Entropi (Entropy)

Entropi menunjukan ketidakteraturan distribusi intensitas suatu citra pada matriks kookurensi persamaanya untuk menghitung entropi adalah :

Rumus Entropy = ∑�−, = P , − ln � , (Persamaan 4) Dimana :

i dan j adalah sifat keabuan dari resolusi 2 piksel yang berdekatan p(i,j) adalah co-occurrence matrix simetris ternormalisasi.

3. Kontras (Contrast)

Kontras adalah fitur yang digunakan untuk mengukur kekuatan perbedaan intensitas dalam citra. nilai kontras membesar jika variasi intensitas citra tinggi dan menurun bila variasi rendah. Persamaan yang digunakan untuk menghitung kontras adalah :

Rumus Kontras = ∑�−, = � , − (Persamaan 5)

Dimana :

i dan j adalah sifat keabuan dari resolusi 2 piksel yang berdekatan p(i,j) adalah prbabilitas kolom(i,j).

4. Homogenitas (Homogenity)

Homogenitas digunakan untuk mengukur kehomogenan variasi intensitas citra. Nilai homogenitas akan semakin membesar bila variasi intensitas dalam citra mengecil. Persamaan yang digunakan untuk menghitung homogenitas adalah :


(21)

Rumus homogenitas = ∑ � , +| − | �−

, = (Persamaan 6)

Dimana :

i dan j adalalh sifat keabuan dari 2 piksel yang berdekatan p(i,j) adalah probabilitas kolom(i,j).

Dalam persamaan diatas, notasi P melambangkan probabilitas, yang bernilai mulai dari nol hingga satu, yaitu nilai elemen dalam matriks kookurensi, sedangkan i dan j, melambangkan pasangan intensitas yang berdekatan, yang dalam matriks kookurensi masing-masing menjadi nomor baris dan nomor kolom. Ciri-ciri dari matriks kookurensi yang memiiki nilai sama atau hampir sama dapat digunakan salah satunya saja, sehingga dapat mengurangi beban komputasi [6].

2.6 Klasifikasi

Klasifikasi merupakan suatu pekerjaan yang melakukan penilaian terhadap suatu obyek data untuk maksud dalam suatu kelas tertentu dari sejumlah kelas yang tersedia[9].

Ada dua pekerjaan utama:

1. Pembangunan model sebagai prototype untuk disimpan sebagai memori.

2. Menggunakan model tersebut untuk melakukan

pengenalan/klasifikasi/prediksi pada suatu obyek data lain masuk pada kelas mana.

Contoh aplikasi:

1. Klasifikasi pengenalan jenis hewan spesies baru. 2. Diagnosis penyakit pasien

3. Pengenalan jenis bunga

4. Pemeriksaan kualitas bunga kamboja (bahan teh)

5. Absensi karyawan (dengan sidik jari, mata, wajah, tangan, dsb.)

Algoritma klasifikasi dibagi menjadi dua macam: erger learner dan lazy learner[9]. 1. Eager learner


(22)

a. Didesain untuk melakukan pembacaan/pelatihan/pembelajaran pada data latih untuk dapat memetakan dengan benar setiap vektor masukan ke label kelas keluaranya.

b. Model (berupa bobot/sejumlah nilai kualitas tertentu) disimpan sebagai memori, sedangkan semua data latihnya dibuang.

c. Prediksi dilakukan menggunakan model yang tersimpan, tidak melibat data uji sama sekali.

d. Proses prediksi berjalan dengan cepat. e. Proses pelatihan lama.

Contoh: Artificial Neural Network (ANN), Support Vector Machine (SVM), Decision Tree, Bayesian dan sebagainnya.

2. Lazy learner

a. Hanya sedikit melakukan pelatihan (bahkan tidak sama sekali).

b. Hanya menyimpan sebagian atau seluruh data latih, kemudian menggunakan data latih tersebut ketika proses prediksi.

c. Proses prediksi menjadi lama karena model harus membaca kembai semua data latihnya untuk dapat memberikan keluaran label kelas dengan benar pada data uji yang diberikan.

d. Proses pelatihan berjalan dengan cepat.

Contoh: K-Nearest Neihgbor (K-NN), Fuzzy K-Nearest Neighbor (FK-NN), Regresi Linear, dan sebagainya.

2.7 Klasifikasi K-Nearest Neighbor

K-Nearest Neighbor merupakan sebuah metode klasifikasi terhadap sekumpulan data berdasarkan pembelajaran data yang sudah terklasifikasikan sebelumnya. KNN termasuk dalam golongan supervised , dimana hasil query

instance yang baru diklasifikasikan berdasarkan mayoritas kedekatan jarak dari kategori yang ada dalam KNN. Nantinya kelas yang baru dari suatu data akan dipilih berdasarkan grup kelas yang dekat jarak vektornya.[8].

Tujuan dari metode ini adalah mengklasifikasikan obyek baru berdassarkan atribut dan trainning sample. Classifier tidak menggunakan model apapun untuk


(23)

dicocokan dan hanya berdasarkan pada memori. Diberikan titik query, akan ditemukan sejumlah k obyek atau (titik training) yang paling dekat dengan titik

query. Klasifikasi menggungkan coting terbanyak diantara klasifikasi dari k obyek. Metode k-nearest neighbor (KNN) menggunakan klasifikasi ketetanggaan sebagai nilai prediksi dari queryinstance yang baru.

Metode k-nearest neighbor (KNN) sangatlah sederhana, bekerja berdasarkan jarak terpendek dari query instance ke training sample untuk menemukan KNN-nya. Training sample diproyeksikan ke ruang berdimensi banyak, dimana masing-masing dimensi merepresentasikan fitur dari data. Ruang ini dibagi menjadi bagian–bagian berdasarkan klasifikasi trainning sample. sebuah titik pada ruang ini ditandai kelas c jika kelas c merupakan klasifikasi yang paling banyak ditemukan pada k buah tetangga terdekat dari titik tersebut. Dekat atau jauhnya tetangga biasanya dihitung berdasrkan Euclidean Distance.

Jarak Euclidian paling sering digunakan menghitung jarak. Jarak euclidean

berfungsi menguji ukuran yang bisa dgunakan sebagai interpretasi kedekatan jarak antara dua obyek. Yang direpresentasikan sebagai berikut:

� − = √∑ ( − )= (Persamaan 7) Keterangan:

d = jarak data uji ke data pembelajaran. = data uji ke-j, dengan j = 1, 2, . . . n.

= data pembelejaran ke-j dengan j = 1, 2, . . . n.

Nilai k yang terbaik untuk algoritma ini tergantung pada data. Secara umum, nilai k yang tinggi akan mengurangi efek noise pada klasifikasi, tetapi membuat batasan antara setiap klasifikasi menjadi semakin kabur. Nilai K yang bagus dapat dipilih dengan optimasi parameter, misalnya dengan menggunakan cross-validation. Kasus khusus dimana klasifikasi diprediksikan berdasarkan trainning data yang paling dekat (dengan kata lain, k=1) disebut metode nearest neighbor.

Ketepatan metode KNN sangan dipengaruhi oleh ada atau tidaknya fitur-fitur yang tidak relevan atau jika bobot fitur tersebut tidak setara dengan relevansinya


(24)

terhadap klasifikasi. Riset terhadap metode ini sebagian besar membahas bagaimana memilih dan memberi bobot terhadap fitur agar performa klasfikasi menjadi lebih baik.

Langkah-langkah untuk menghitung k-nearest neighbor :

1. Menentukan parameter K (jumlah tetangga yang paling dekat).

2. Menghitung kuadrat jarak euclid (query inctance) masing-masing obyek terhadap data sampel yang diberikan.

3. Kemudian mengurutkan objek-objek tersebut kedalam kelompok yang mempunyai jarak euclidean terkecil.

4. Mengumpulkan kategori Y (Klasifikasi nearest neighbor).

5. Dengan menggunakan kategori nearest neighbor yang paling mayoritas maka dapat diprediksikan nilai query instance yang telah dihitung.

Kelebihan dari metode k-nearest neighbor adalah sebagai berikut: a. Ketangguhan terhadap data yang memiliki banyak noise. b. Efektif terhadao data yan berukuran besar.

Kekurangan dari metode k-nearest neighbor adalah sebagai berikut: a. Nilai k harus ditentukan secara manual.

b. Trainning berdasarkan jarak harus menggunakan banyak sampel untuk mendapatkan hasil yang terbaik.

c. Memerlukan komputasi tingkat tinggi karena perlunya menghitung satu persatu data testing terhadap semua data trainning.


(25)

Gambar 0.2 Flow chart metode KNN

2.8 OOP (Object Oriented Programming)

Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientasi objek meliputi rangkaian aktifitas analisis eroreintasi objek, perancangan beroreintasi objek, pemrograman beroreintasi objek, dan pengujian berorientasi objek[4].

Pada saat ini, metode beroreintasi objek banyak dipiih karena metodelogi lama banyak menimbulkan masalah seperti adanya kesulitan pada saat mentranformasi hasil dari satu tahap pengembangan ke tahap berikutnya, misalnya pada metde pendekatan terstruktur, jenis aplikasi yan dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan saat ini sangat beragam (aplikasi bisinis,


(26)

menimbulkan tuntunan kebutuhan metodelogi pengembangan yang dapat mengakomodasikan ke semua jenis aplikasi.

Keuntungan menggunakan metodologi beroreintasi objek adalah sebagai berikut :

a. Meningkatkan Produktivitas

Karena kelas dan objek yang ditemuka dalam suatu masalaha masih dapat dipakai ulang untuk masalah yang lain melibatkan objek tersebut (reusable). b. Kecepatan Pengembangan

Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean

c. Kemudahan Pemeliharaan

Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering diubah-ubah.

d. Adanya Konsistensi

Karena sifat pewarisan dan penggunaan yang sama pada saat analisis, perancangan maupun pengkodean.

e. Menigkatkan Kualitas Perangkat Lunak

Karena adanya pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat pengembangan, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.

2.9 Konsep Dasar PBO

Berikut merupakan konsep dasar pemrograman berorientasi objek: a. Objek (Object)

Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda, satuan organisasi, tempa, kejadian, struktur, status, atau hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu menyimpan informasi dan mempunyai operasi yang dapat diterapkan atau berpengaruh pada status objeknya.


(27)

b. Kelas (Class)

Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statisk dan himpunan objek yang sama yang mungkin lahir atau iciptakan dalam kelas tersebut.

c. Pembungkusan (Encapsulation)

Pembungkusan atribut data dan layanan yang mempunyai objek untuk menyembunyikan implementasi dan objek seshingga objek lain tidak mengetahui cara kerjanya

d. Pewarisan (Inheritance)

Mekanisme yang memungkinkan satu objek mewarisi sebagian atau sesluruh definisi dan objek lain sebagai bagian dirinya.

e. Metode

Operasi atau metode pada sebuah kelas hampir sama dengan funsi atau prosedur pada metodologi struktural.

f. Polimorfisme

Kemampuan suatu objek untuk digunakan dibanyak tujuan berbeda dengan nama yang sama sehingga menghemat baris program.

2.10 UML

UML (Unified Modelling Language) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma ‘beoreintasi objek’. Pemodelan (Modelling) sesungguhnya digunakan untuk penyedarhaan permaslahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudaj dipelajari dan dipahami. Salah satu contohnya, alih-alih membawa palnet bumi ke meja kita, kita mungkin akan membawa peta-peta tentang bagian bumi tertentu ke meja kita untuk kita pelajari lebih jauh. Dalam hal ini, sasaran model sesungguhnya adalah abstraksi segala sessuatu yang ada di planet bumi menjadi gambaran-gambaran yang lebih mudah dipelajari dan dipahami. Adapun tujuan pemodelan (dalam kerangka pengembangan sistem/perangkat lunak aplikasi) adalah serupa dengan yang kita singgung diatas, yaitu sebagai sarana analisis, epeahaman,visualisasi, dan komunikasi antar anggota tim pengembangan (saat seorang


(28)

analisis/beberapa/banyak anggota), serta sebagai sarana dokumentasi (yang bermanfaat untuk menelaah perilaku perangkat lunak yang telah selesai dikembangkan).

Untuk secara efektif memodelkan sebuah sistem, diperlukan sebuah bahasa dengan model yang dapat dijelaskjan, dan disinilah UML diperlukan. Sebuah bahasa pemodelan dapat terdiri dai pseudo-code, kode aktual, gambar, diagram, atau bagian panjang deskripsi. Unsur-unsur yang membentuk bahasa pemodelan yang disebut notasi. Gambar 2.3 menunjukan contoh sepotong notasi UML.

Gambar 0.3 Class Diagram

Setiap pendekatan untuk pemodelan memiliki kelebihan dan kekurangan yang berbeda, namun UML memiliki enam keuntungan utama yaitu:

1. UML adalah bahasa formal

Setiap elemen dari bahasa memiliki makna didefinisikan kuat, sehingga anda dapat yakin bahwa ketika anda memodelkan sebuah aspek tertentu dari sistem anda tidak akan salah paham.

2. UML singkat

Seluruh bahasa terdiri dari notasi yang sederhana dan mudah. 3. Kompherensif

Ini menggambarkan semua aspek penting dari sebuah sistem. 4. Terukur

Dimana dibutuhkan, bahasa yang cukup untuk menangani proyek-proyek pemodelan sistem besar formal, tetapi juga skala ke proyek-proyek kecil, untuk menghindari berlebihan

5. Dibangun diatas pembelajaran

UML adalah puncak dari praktek-praktek terbaik dalam komunitas berorientasi objek selama 15 tahun terakhir.

Guitarist

-instrument: Instrument +getInstrument(): Instrument

+setInstrument(instrument: Instrument): void +play(): void


(29)

6. Standar

UML dikendalikan oleh kelompok standar terbuka dengan kontribusi aktif dari kelompok di seluruh dunia vendor dan akademisi, yang fends off "vendor lock-in." Standar memastikan UML transformability dan interoperabilitas, yang berarti Anda tidak terikat dengan suatu produk tertentu.

Di dalam UML terdapat beberapa diagram yang digunakan yaitu, Use Case

diagram, activity diagram, Class diagram, Statechart diagram dan sequence

diagram.

1. Use Case Diagram

Use case diagram digunakan untuk menggambarkan fungsionalitas dari sebuah sistem. Use case diagram yaitu mendeskripsikan apa yang sistem lakukan tanpa mendeskripsikan bagaimana sistem menyelesaikannya.

Gambar 0.4 Use case diagram

Berikut ini beberapa tabel simbol yang ada di dalam use case diagram: Tabel 0.1 Daftar Simbol

Simbol Nama Simbol Fungsi

Aktor Actor menggambarkan orang, system atau external entitas yang menyediakan atau menerima informasi dari system.


(30)

Use case Menggambarkan fungsionalitas dari sistem.

Assosiation Menggambarkan interaksi antara aktor dengan use case.

Sistem

boundary

Menggambarkan ruang lingkup atau batasan dari suatu sistem.

2. 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 diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya. Oleh karena itu activity diagram tidak menggambarkan behaviour

internal sebuah sistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses. Dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis. Struktur diagram ini mirip flowchart

atau Data Flow Diagram pada perancangan terstruktur. Sangat bermanfaat apabila kita membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan. Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram.


(31)

Gambar 0.5 Activity Diagram 3. Class Diagram

Class diagram merupakan salah satu diagram utama dari Unified Modelling Language (UML) untuk menggambarkan class atau blueprint object pada sebuah sistem. Pada class diagram juga digambarkan bagaimana interaksi hubungan antar

class dalam sebuah konstruksi piranti lunak seperti hubungan asosiasi, agregasi, komposisi, dan inheritance. Standarisasi pemakaian class diagram yang ter up to date pada diagram UML 2.0.

Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi


(32)

Gambar 0.6 Class diagram 4. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem berupa message yang digambarkan terhadap waktu. Sequence

diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait.


(33)

2.11 Bahasa Pemrograman C#

C# (baca : C sharp atau see sharp) adalah sebuah bahasa pemrograman yang beroreintasi pada objek yang dikembangkan oleh .Net programming melalui visual studio. C# didasarkan pada C++, c# juga memiliki kemiripan dengan bahasa pemrograman seperti Visual Basic, Java, Delphi, dan tentu saja C++. C# memiliki kemudahan syntax (cara penulisan) seperti Visual Basic, dan memudahkan programmer dari berbagai latar belakang bhasa pemrograman tidak perlu waktu lama untuk menguasainya, karena C# lebih sederhana dibandingkan bahasa-bahasa pemrograman seperti C++ dan Java[11].

C# didesain oleh program deigner dari microsoft, Anders Hajlsberg. Sejak diluncurkan pada tahun 2000, C# dengan ceat merebut programmer C++ bahkan VB, dengan tata cara penulisan yang mirip C++dan interface mirio VB 6.0 menurut wikipedia, sebuah ensiklopedia gratis di internet pengguna C#.Net pada saat ini sudah melebihi pengguna VB.Net. sementara jumah penggguna bahasa pemrograman yang lain lebih rendah daripada pengguna VB.Net. masih menurut wikipeda, julah buku C# yang terjual pun berada dikisaran 2 hingga 3 kali lebih banyak dari jumlah buku VB yang terjual.

Dari informasi ini dapat disimpulkan bahwa C# merupakan bahasa pemrograman baru yang sedang berkembang dan dapat diteruma dengan baik oleh kebanyakan programmer dan kalangan industri. Di Microsoft sendiri, C# merupakan bahasa pemrograman yang digunakan untuk membuat perangkat lunak yang berteknologi .Net dengan demikian dapat diperkirakan bahwa C#akan menjadi bahasa pemrograman yang akan banyak digunakan di masa-masa mendatang(Hartanto,B, 2008).

Kelebihan C# yaitu :

1. Sederhana (simple) C# menghilangkan beberaoa hal yang bersifat kompleks yang terdapat dalam beberpaa macam bahasa pemrograman seperti Java dan C++, termasuk diantaranya menghilangkan macro, templates, multiple inheritance dan virtual base classes. Hal-hal tersebut yang dapat menyebabkan kebingunan pada saa mnggunakannyam dan juga berpotensial dapat menhadi masalah bagi para prograammer C++.


(34)

2. C# bersifat sederhana, karena bahasa ini didasarkan kepada bahasa C dan C++. 3. Modern apa karena adanya beberapa fitur seperti exception handling, garbage collection, extensible data types, dan code security (keamanan kode/bahasa pemrograman). Dengan adaya fitur-fitur tersebut, menjadikan bahasa C# sebagai bahasa pemrograman yang modern.

4. Powerfull dan fleksibel, c# bisa digunakan untuk membuat berbagai macam aplikasi, seperti aplikasi pengolahan kata, grafik, spreadsheets, atau bahkan membuat kompiler untuk sebuah bahasa pemorgraman.

5. Efisien, C# adalah bahasa pemorgraman yang menggunakana jumlah kata-kata yang tidak terlalu banyak. C# hanya berisi kata-kata yang biasa disebut dengan keywords. Keywords ini digunakan untuk menhelaskan berbgai macam informasi.[12].

Modular kode C# ditulis dengan pembagian masing-masing kelas-kelas (Classes) yang terri dari beberapa routines yang disebut sebaai member methods. Kelas-kelas dan metode-metode ini dapat digunakan kembali oleh program atau aplikasi lain. Hanya dengan memberikan informasi yang dibutuhkan oleh class dan metode yang dimaksud, maka kita dapat membuat suatu kode yang dapat digunakan oleh satu atau beberapa aplikasi dan program (ruesable code).

2.12 Visual Studio .Net

Visual Studio .Net merupakan editor yang paling cocok untuk membuat aplikasi yang berbasis Framework .Net, termasuk aplikasi dengan bahasa C#. dengan editor ini, maka akan bisa memanfaatkan kemampuan c#secara maksismal. Editor ini tidak hanya menyediakan berbagai macam tools dan wizard untuk membuat aplikasi C#, tapi juga termasuk fitur-fitur produktif seperti InteliSense dan bantuan yang dinamis[14].

Dengan InteliSense, jika mengetikan nama sebuah namespace atau nama class, maka anggota dari namespace atau class itu akan seccara otomatis dimunculkan sehingga kita tidak erlu mengingat anggota dari semua Iatau semua class yang kita gunakan. InteliSense, juga akan menampilkan semua argumen dan jenis typenya


(35)

ketika kita mengetikan nama dari sebuah metode. Visual Studio 6 jenis type dan class-class yang termasuk di dlam lingkungan Framework .Net.

Fitur bantuan yang dinamis (dynamic help) merupakan fitur yang batu yang

ada dalam “Keluarga” editor visual studio. Ketika mengetikan sebuah code pada

penjelasan yang berhubungan dengan kata-kata tempat dimana kita menempatkan cursor. Misalnya, ketika mengetikan kata namespace, maka jenedela yang terpisah tadi akan dimunculkan topik-topik yang berhubungan dengan kata kunci namespace. Hal ini tentu akan sangat membantu pada saat pembuatan program untuk dapat lebih memahami dan mengerti tentang kata-kata atau kode yang ditulis.


(36)

29

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Masalah

Beras merupakan makanan pokok penduduk dunia salah satunya indonesia sebagai negara yang tingkat konsumsi beras mencapai 139 kilogram perkapita per tahun, kualitas beras menjadi hal yang sangat penting yang akan berpengaruh pada kandungan dan jumlah gizi, pada penelitian sebelumnya kualitas fisik beras telah diuji menggunakan pengolahan citra dan jaringan syaraf tiruan[3] dimana jaringan syaraf tiruan tidak dapat dikombinasikan dengan analisis tekstur sehingga tingkat akurasi yang dihasilkan kurang optimal.

Keakurasian dan kecepatan pendeteksi merupakan hal yang sangat penting dalam pengolahan citra. Sehingga metode yang digunakan untuk mendeteksi citra jadi salah satu pertimbangan yang sangat penting agar menghasilkan data yang sesuai dan optimal. Algoritma yang digunakan pada penelitian ini adalah algoritam

grey level co-occurrence matrix dan metode klasifikasi k-nearest neighbor.

Pada penelitian sebelumnya yang dilakukan oleh [1] dan [2], telah membuktikan bahwa algoritma GLCM dapat mengekstraksi ciri tekstur dengan baik, GLCM menghasilkan hasil ekstraksi ciri berupa data angka, hasil pengukuran atau disebut data continues, berupa kontras, homogenitas, dissimilarity, energy dan

entropy. selain itu pada penelitian yang dilakukan oleh [4] dengan menggunakan metode KNN telah menghasilkan tingkat keakurasian.

Dari yang telah dijelaskan, maka dalam penelitian ini akan melakukan analisis, dengan mengkombinasikan algoritma ekstraksi ciri grey level co-occurrence matrix

dengan metode klasifikasi k-nearest neighbor untuk mengklasifikasikan citra. Dan menguji tingkat keakuratan dalam pengujian dengan berbagai skenario yang telah dipersiapkan.


(37)

3.2 Analisis Proses

Analisis proses yang akan dilakukan pada penelitian kali ini dibagi menjadi beberapa tahapan seperti: input citra beras, proses pengolahan citra menentukan nilai k pada metode KNN, pengujian dengan metode KNN hingga menghasilkan data keluaran hasil klasifikasi. Berikut adalah tahapan analisis proses yang akan dilakukan dapat dilihat sebagai berikut:

Gambar 0.1 Diagram Alir Proses Sistem

3.3 Analisis Data Masukan

Pada penelitian ini yang akan dilakukan pertama adalah analisis data masukan. Data masukan berupa citra beras, kemudian citra akan di resize menjadi ukuran 32 x 32 piksel dengan true color yakni tiap piksel terdapat 3 nilai yaitu RGB, kemudian citra akan di konversi menjadi grayscale. Hal ini dilakukan untuk menyederhanakan dan memudahkan proses selanjutnya, dengan tujuan menjadikan tiap piksel memiliki satu nilai yaitu nilai keabuan (gray value). Setelah citra di konversi menjadi grayscale akan didapatkan matriks grayscale tersebut , matriks ini akan digunakan sebagai proses ekstraksi citra kookurensi.

Tahapan yang akan dilakukan pada analisis data masukan adalah preprocessing yaitu dengan melakukan resize, grayscale dan kuantisasi citra setelah melakukan


(38)

preprocessing, selanjutnya adalah ekstraksi ciri dengan metode GLCM untuk mendapatkan nilai fitur dari citra tersebut.

3.3.1 Preprosessing

Pada penelitian ini, preporcessing dilakukan untuk memudahkan mendapatkan nilai ekstraksi ciri, preprocessing yang akan dilakukan adalah resize, grayscale dan kuantisasi citra. Berikut alur proses preprocessing.

Gambar 0.2 Alir Preprosessing

1. Resize adalah tahap pertama dari preprocessing. Resize dilakukan untuk mempercepat dan memudahkan proses perhitungan. Berikut merupakan alur resizing:


(39)

Gambar 0.3 Alir Resize

2. Grayscale merupakan proses untuk mengubah warna menjadi keabu-abuan. Dengan mengubah nilai RGB setiap piksel gambar menjadi satu nilai yang sama sehingga setiap piksel memiliki nilai yang sama untuk ketiga unsur warna serta didapatkan nilai matriks grayscale. Berikut alur grayscale :

Gambar 0.4 DiagramAlir Greyscale

3. Kuantisasi citra merupakan proses untuk mengubah nilai range derajat keabuan dari citra greyscale yang awalnya memiliki range derajat keabuan 0-255 menjadi range derajat keabuan 0-15. Berikut alur Kuantisasi :


(40)

3.3.2 Ekstraksi Ciri

Ekstraksi ciri adalah proses untuk mendapatkan ciri utama yang terdapat pada citra, citra yang telah diubah ke dalam bentuk grayscale akan menghasilkan matriks grayscale yang telah di kuantisasi, matriks tersebutlah yang akan digunakan pada tahap ini, tahap ini akan mengitung 5 nilai statistik dari kookurensi yaitu kontras, energi, entopi, homogenitas dan dissimilarity dengan sudut , , , . Setelah didapatkan semua nilai tersebut maka akan dirata-ratakan. Berikut alur ekstraksi ciri :


(41)

3.4 Analisis Data Pelatihan dan Pengujian 3.4.1 Analisis Pengujian

Pengujian merupakan proses klasifikasi citra berdasarkan tekstur, pada proses ini citra yang dimasukan nilai probabilitasnya untuk dibandingkan. Berikut alur pengujian dengan metode k-nearest neighbor.

Gambar 0.6 Diagram alir pengujian

3.5 Analisis Perhitungan 3.5.1 Analisis Data Masukan

Data masukan berupa citra beras dengan berbagai kualitas dan akan melalui beberapa tahapan proses pengolahan citra, diantaranya adalah proses resizing, greyscaling, kuantisasi citra grayscale dan ekstraksi ciri. Berikut data masukan :


(42)

1. Resizing

Untuk proses yang lebih cepat dalam mencari parameter pada citra data masukan, citra masukan awal akan di ubah ukurannya dengan proses resizing dari ukuran citra asli menjadi citra ukuran 32 x 32 pixel dengan mode warna RGB (Red, Green, Blue) yang artinya dalam setiap pixel terdapat 3 nilai warna.

Berikut adalah gambar citra asli(kiri) dan citra hasil resize(kanan) :

Gambar 0.8 Citra Asli (Kiri) dan Citra Resize(Kanan) 2. Greyscale

Setelah melalui tahap resize, maka tahap selanjutnya adalah mengubah citra mode RGB, menjadi Greyscale. Proses ini bertujuan untuk menyederhanakan nilai pixel pada sebuah citra. Yang awalnya pada setiap pixel memiliki 3 nilai yaitu RGB menjadi hanya 1 nilai keabuan.

Rumus yang digunakan untuk proses greyscale adalah sebagai berikut :

X = 0.21*R + 0.72*G + 0.07*B (Persamaan 1)

Dimana

X = Nilai Greyscale R = Nilai Red G = Nilai Green B = Nilai Blue

Analisis perhitungan :

Agar dapat melaukan tahap perhitungan greyscale maka dibutuhkan citra masukan, berikut ini merupakan citra masukan data 1, yaitu citra beras yang telah dilakukan proses resizing:


(43)

Gambar 0.9 Citra Beras melalui Resize

Gambar 0.10 Nilai RGB beras 3x3 Perhitungan nilai Matriks :

Perhitungan piksel (0.0) :

X = 0,21 * 220 + 0,72 * 204 + 0.07 * 143 X = 46,2 + 146,88 + 10,1

X = 203.18 = 203

Perhitungan piksel (0.1) :

X = 0,21 * 219 + 0,72 * 205 + 0.07 * 144 X = 45,99 + 147,6 + 10,8

X = 203,67 = 204

Perhitungan piksel (0.2) :

X = 0,21 * 208 + 0,72 * 189 + 0.07 * 130 X = 43,68 + 136,8 + 9,1

X = 188,86 = 189

Dengan menggunakan rumus yang sama pada semua piksel maka akan di dapatkan hasil matriks sebagai berikut :


(44)

3. Kuantisasi

Setelah dilakukan konversi dari mode RGB ke greyscale, maka akan didapatkan 1 nilai derajat keabuan dengan rentang nilai keabuan 0-255, selanjutnya akan dilakukan proses kuantisasi citra yang sudah melalui tahap greyscale dengan rentang nilai 0-255 menjadi 0-15. Proses ini bertujuan agar menghemat waktu pemrosesan komputasi.

Rumus yang digunakan untuk proses penskalaan citra greyscale nilai keabuan 0-255 menjadi 0-15 adalah dengan persamaan berikut:

Xb=int(X*(2n -1) / 255) Dimana :

Xb = Nilai GreyScale Baru X = Nilai Greyscale Lama

2n = Nilai Derajat Keabuan Baru

Perhitungan piksel (0,0): Xb = int(203*15/255) = 11,94 Xb = 12

Perhitungan piksel (0,1): Xb = int(204*15/255) = 12 Xb = 12

Perhitungan piksel (0,1): Xb = int(189*15/255) = 12,29 Xb = 11

Gambar 0.12 Matriks Greyscale citra beras range 0-15

3.5.1.1Ekstraksi Co-occurrence Matrix

Metode Matrix Co-occurrence merupakan metode untuk ekstraksi ciri, dimana nilai ekstraksi ciri yang akan dicari adalah nilai Contras, Homogenitas, energy, dan


(45)

preprocesssing dengan ukuran 3x3 pixel yang memiliki 16 derajat keabuan dengan rentang dari 0-15.

Gambar 0.13 Citra Greyscale range 0-15

Langkah-langkah untuk ekstraksi ciri dengan metode co-occurrence matrix adalah: 1. Membuat area kerja / framework

Pada gambar 3.3 memiliki 16 derajat keabuan, maka jumlah piksel ketetanggan dan nilai pixel referensi pada area kerja matriks berjumlah 16, seperti pada tabel 3.4 berikut:

Tabel 0.1 Framework rentang 0-15

2. Membentuk Co-occurrence Matrix

Untuk proses seslanjutnya adalah menghitung nilai dari matriksdengan mengisikan jumlah hubungan spasial. Matriks kookurensi yang akan dibuat adalah hubungan spasial untuk d=1 dan sudut . Matriks dibuat dengan mengisikan


(46)

jumlah hubungan sasial yang ada matriks grayscale. Maka didapatkanlah matriks kookurensi seperti pada gambar berikut:

Tabel 0.2 Co-occurrence Matrik

3. Mentranspose Co-occurrence Matrix

Matrix co-occurrence yang sudah didapat selanjutnya di transpose, transpose merupakan proses mengubah matriks baris menjadi kolom, tujuan dari proses ini adalah untuk mendapatkan sudut simetrisnya yaitu sudut . Berikut merupakan hasil pembentukan matriks transpose :

Tabel 0.3 Tranpose Matriks

4. Membuat Matriks Simetris

Pada proses ini adalah menjumlahkan co-occurrence matriks dengan transpose matriks agar membentuk simetris antara sudut dan sudut . Seperti matriks berikut ini :


(47)

Tabel 0.4 Simetris Matriks

5. Membuat Matriks Normalisasi

Untuk mendapatkan nilai dari normalisasi yaitu dengan cara menjumlahkan semua matriks simetris, kemudian dijadikan pembagi untuk semua piksel yang ada pada matriks simetris.untuk mencari probabilitas maka digunakan perhitungan P(i,j) = (i,j)/total jumlah pasangan

Dimana total jumlah pasangan = 1986

Contoh perhitungan P(12,9) = 4/1985 = 0,002014 Berikut tabel matriks hasil perhitungan normalisasi:


(48)

3.5.1.2Ekstraksi Ciri Fitur

Setelah didapatkan nilai co-occurrence matriks maka proses selanjutnya adalah menghitung nilai ciri statistiknya. Ciri statistik yang akan di hitung adalah contras,

homogenitas, energy, entropy dan dissimilarity. Berikut adalah perhitungan fitur tekstur :

1. Kontras

Rumus

    1 0 , 2 ) ).( , ( n j i j i j Pi Kontras Dimana :

i dan j adalah sifat keabuan dari resolusi 2 piksel yang berdekatan p (i,j) adalah Probabilitas kolom(i,j)

Syarat : Ketika nilai i dan j sama, sel berada pada diagonal dan (i-j) = 0. Nilai-nilai ini merepresentasikan pixel yang keseluruhannya mirip dengan tetangga mereka, sehingga mereka diberi bobot 0

Contoh perhitungan : 2 ) 9 12 ).( 9 , 12 ( 

P = 0,002014 . 9 = 0,018126

Berikut tabel hasil perhitungan kontras :


(49)

2. Homogenitas Rumus homogenitas :

  1 0 , 2 ] j) -(i + [1 / j) P(i, n j i Dimana:

i dan j adalah sifat keabuan dari resolusi 2 piksel yang berdekatan p (i,j) adalah Probabilitas kolom(i,j)

contoh perhitungan :

] 9) -(12 + [1 /

P(12,9) 2 = 0 ,002014/10 = 0,000201

Tabel 0.7 Matriks Homogen

3. Entropy

Rumus

    1 0 , )) , ( log( ) , ( n j i j i P j i P Entropi Dimana:

i dan j adalah sifat keabuan dari resolusi 2 piksel yang berdekatan p (i,j) adalah Cooccurence Matrix Simetris Ternormalisasi

contoh perhitungan (P(i,j) log(P(i,j)))

= -(0,002014.log(0,002014)) = 0.00542962


(50)

Tabel 0.8 Matriks Entropi

4. Energy

Rumus

 

 1

0 ,

2 ) , ( n

j i

j i P Energi

Dimana:

i dan j adalah sifat keabuan dari resolusi 2 piksel yang berdekatan p (i,j) adalah Cooccurence Matrix Simetris Ternormalisasi

contoh perhitunganP(i,j)2 = , = 4.0562E-06 Tabel 0.9 Matriks Energy


(51)

Tabel 0.10 Matriks Dissimilarity

Setelah semua proses perhitungan fitur dilakukan, langkah selanjutnya adalah menjumlahkan tiap matriks dari fitur tersebut sehingga didapatkan hasil sebagai berikut :

Tabel 0.11 Nilai Fitur Sudut Simetris 0^0, ࠟ45ࠠ^0, ࠟ90ࠠ^0, ࠟ135ࠠ^0

Langkah selanjutnya adalah merata-ratakan nilai nilai-nilai dari semua sudut agar didapatkan satu nilai tunggal dari setiap fitur yang telah didapatkan sehingga memudahkan dalam penamaan klasifikasi.berikut nama klasifikasi dengan nilai fitur yang telah dirata-ratakan:


(52)

3.6 Analisis K-Nearest Neighbor

K-Nearest Neighbor merupakan sebuah metode klasifikasi terhadap sekumpulan data berdasarkan pembelajaran data yang sudah terklasifikasikan sebelumnya. KNN termasuk dalam golongan supervised , dimana hasil query

instance yang baru diklasifikasikan berdasarkan mayoritas kedekatan jarak dari kategori yang ada dalam KNN. Nantinya kelas yang baru dari suatu data akan dipilih berdasarkan grup kelas yang dekat jarak vektornya.[8]

Berikut ini merupakan data fitur dari ekstraksi ciri yang telah dilakukan : Tabel 0.13 Data Fitur Ekstraksi Ciri


(53)

Data uji : terdapat nilai fitur citra baru yaitu sebagai berikut : Tabel 0.14 Data Fitur Ekstraksi baru

Langkah pertama yang dilakukan adalah menentukan K tetangga terdekat. Nilai K yang terbaik untuk metode ini tergantung pada data. Secara umum nilai K yang tinggi akan mengurangi efek noise pada klasifikasi tetapi membuat batasan antara setiap klasifikasi menjadi semakin kabur[11]. Untuk itu kita ambil nilai K adalah ¼ dari data uji. Dalam contoh kasus ini adalah 6,5 ≈ 6 sehingga, selanjutnya hitung kuadrat jarak euclid pada masing-masing objek dengan rumus euclidean distance yaitu :

� − = √∑ ( − )= (Persamaan 7)

Keterangan :

d = jarak data uji ke data pembelajaran. = data uji ke-j, dengan j = 1, 2, . . . n.

= data pembelajaran ke-j dengan j = 1, 2, . . . n. Urutkan berdasarkan nilai fitur terkecil:


(54)

Tabel 0.15 Hasil Pengurutan Fitur

Dengan nilai K yang telah ditentukan sebelumnya, maka kelas-kelas terdekat adalah seperti pada tabel berikut :

Tabel 0.16 Kelas Fitur terdekat

Karena mayoritas kelasnya adalah KW3, maka data baru yang menjadi perbandingan termasuk kelas KW3.


(55)

3.7 Analisis Kebutuhan Sistem

3.7.1 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional merupakan gambaran spesifikasi tentang hal-hal yang akan dilakukan sistem ketika diimplementasikan. Analisis kebutuhan ini dipelukan untuk menentukan hasil keluaran pada sebuah sistem, masukan yang diperlukan sistem lingkup proses yang digunakan untuk mengolah menjadi keluaran.

1. Use case diagram

Use case diagram adalah pemodelan yang menunjukan interaksi antara sistem dan lingkungannya. Use case diagram memberikan gambaran yang cukup sederhana dari interaksi-interaksi yang terlibat. Berikut adalah perancangan proses-proses pada sistem yang akan dibangun digambarkan dengan use case diagram dibawah ini:


(56)

a. Definisi Actor

Actor merupakan pihak yang mengakses use case dengan berperan sebagai pengguna yang akan menggunakan sistem. Definisi actor pada penelitian ini sebagai berikut :

Tabel 0.17 Definisi Aktor

No Actor Desktipsi

1 Pengguna Pengguna Aplikasi

b. Definisi Use Case

Use case berfungsi untuk mewakili apa yang sistem bisa lakukan. Definisi use case bisa dilihat pada tabel dibawah ini:

Tabel 0.18 Definisi Use case

No Use Case Deskripsi

1 Dataset menu tambah dataset 2 Pengujian menu pengujian 3 Pelatihan Menu Pelatihan 4 Perhitungan Menu perhitungan 5 Pengujian

Knn Proses Pengujian dengan metode KNN

6 Input citra proses untuk mengginputkan gambar dalam menu tambah dataset

7 Praprosesing proses untuk melakukan proses preprocessing

8 Ekstraksi ciri proses untuk melakukan ekstraksi ciri setelah melakukan proses preprocessing sebelumnya

9 Simpan

dataset proses untuk menyimpan hasil ekstraksi kedalam database 10 Load data proses untuk memanggil data sampel

11 Latih data Proses untuk melatih data sampel 12 Input citra proses untuk menginputkan citra uji 13 Uji proses untuk melakukan pengujian


(57)

c. Skenario Use case

Skenario use case merupakan hasil intansiasi dari setiap use case. Berikut skenario use case :

Tabel 0.19 Skenario usecase Dataset Nama Use

Case Dataset

Tujuan Menampilkan menu dataset Kondisi

Awal Tampilan masih di menu utama Kondisi

Akhir

Menampilkan menu input citra, ekstraksi ciri, dan perhitungan matriks dan simpan dataset

Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1. Pengguna Menekan menu Dataset

2. sistem menampilkan tampilan

menu dataset Tabel 0.20 Skenario Usecase Tambah Data

Tujuan Menambahkan dataset untuk proses pelatihan

Kondisi Awal Dataset untuk proses pengujian belum cukup / belum tersedia

Kondisi Akhir Dataset berhasil ditambahkan

Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1 Pengguna Memasukan

Citra Inputa

2 Sistem menampilkan citra

inputan

3 Pengguna menekan

tombol proses 4

Include : Proses Preprossesing

Sistem Melakukan Proses Preprocessing

5

Include : Proses Ekstraksi Ciri

Sistem Melakukan Proses Ekstraksi Ciri

6 Pengguna memilih


(58)

7 Pengguna menekan tombol simpan 8.

Extend : Simpan Data

Sistem menyimpan dataset pada database

Tabel 0.21 Input Citra Nama Use Case Input Citra

Tujuan Menampilkan Citra yang akan disimpan Kondisi Awal Belum ada citra yang di inputkan Kondisi Akhir Citra berhasil di inputkan

Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1. pengguna menekan

tombol input citra

2. Sistem menampilkan dialogbox

browse file untuk input gambar 3. Pengguna memilih

citra

4. Pengguna menekan

tombol OK 5.

Include : Preporsessing

Sistem menampilkan citra pada imagebox

Tabel 0.22 Skenario Usecase Prerosessing Nama Use

Case Prerposessing

Tujuan Menampilkan Citra yang telah melalui tahap resize, greyscale dan kuantisasi

Kondisi

Awal Citra yang diinputkan masih dalam bentuk resize Kondisi

Akhir

Citra yang di inputkan sudah melalui tahap greyscale dan kuantisasi

Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1. pengguna menekan tombol uji citra


(59)

2. Sistem melakukan proses preprocessing

3. sistem menampilkan citra yang sudah

melalui proses preprocessing Tabel 0.23 Skenario Usecase Ekstraksi

Nama Use

Case Ekstraksi Ciri

Tujuan Menampilkan Nilai citra berdasarkan derajat jarak Kondisi

Awal Citra belum mempunyai nilai dari matriks ekstraksi ciri Kondisi

Akhir System menampilkan tabel matriks hasil ekstraksi ciri Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1. pengguna menekan tombol Ekstraksi Ciri

2. System melakukan Proses

Ekstraksi Ciri

3. System menampilkan hasil

ekstraksi ciri Tabel 0.24 Skenario usecase Simpan data Nama Use

Case Simpan Data

Tujuan Menyimpan data hasil ekstraksi ciri berdasarakan kelas Kondisi

Awal Citra belum tersimpan di database Kondisi

Akhir Citra tersimpan di database Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1.

Pengguna menekan tombol select kelas, Kualitas1, Kualitas2, atau Kualitas3

2. sistem menampilkan select

box dengan pilihan kelas 3. Pengguna memilih kelas

4. Pengguna menekan tombol simpan


(60)

5.

Sistem menyimpan dataset citra berdasarkan kelas yang dipilih

Tabel 0.25 Skenario Usecase Pengujian Nama Use

Case pengujian

Tujuan menghitung dan menampilkan hasil pengujian data Kondisi

Awal

tampilan pengujian awal dan masih belum muncul satu angka pun di dalam halaman pengujian

Kondisi

Akhir hasil pengujian tampil Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1. Pengguna Menekan menu Pengujian

2. sistem menampilkan tampilan

menu pengujian Tabel 0.26 Skenario Usecase Load Data Nama Use

Case Load Data

Tujuan Menampilkan dataset yang telah disimpan Kondisi

Awal Tampilan load data awal belum data Kondisi

Akhir System menampilkan data set Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1. Pengguna menekan tombol Load data

2. sistem menampilkan nilai-nilai fitur

dataset dari database Nama Use

Case Perhitungan

Tujuan Menampilkan menu dari perhitungan Kondisi


(61)

Kondisi

Akhir System menampilkan menu perhitungan Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1. Pengguna menekan tombol Perhitungan

2. sistem menampilkan menu

perhitungan matriks Tabel 0.27 Skenario Usecase Perhitungan Matriks Nama Use

Case Perhitungan Matriks

Tujuan Menampilkan menu dari perhitungan matriks dalam bentuk tabel Kondisi

Awal Tampilan perhitungan masih kosong Kondisi

Akhir System menampilkan menu perhitungan dalam bentuk matriks Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1.

Pengguna menekan tombol Perhitungan

matriks 2.

sistem menampilkan menu perhitungan matriks dalam bentuk tabel

Tabel 0.28 Skenario usecase Pelatihan Nama Use

Case Pelatihan

Tujuan Menampilkan menu pelatihan Kondisi

Awal Tampilan masih dimenu utama Kondisi

Akhir System menampilkan menu pelatihan Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1

Pengguna menekan tombol Load data


(62)

2. Sisten Menampilkan data sampel pada database

3. Pengguna memasukan nilai K ke textbox

4. Sistem menerima inputan parameter K

5. Pengguna menekan tombol proses

6. Sistem memproses dengan metode

KNN 7.

Sistem menampilkan hasil pengujian berupa klasifikasi citra berdasarkan kualitas

Tabel 0.29 Skenario usecase Load Data Nama Use

Case Load Data

Tujuan Menampilkan data sampel Kondisi

Awal Tampilan Load data masih kosong Kondisi

Akhir System menampilkan data sampel pada database Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1 Pengguna menekan

tombol load data

2. Sistem menampilkan data sampel

pada database Tabel 0.30 Skenario Usecase Latih Data Nama Use

Case Latih Data

Tujuan Melatih data sampel Kondisi

Awal Tampilan Latih data masih kosong Kondisi

Akhir System menampilkan data sampel yang sudah di latih Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1 Pengguna menekan


(63)

2. Sistem menampilkan data sampel yang sudah di latih

Tabel 0.31 Skenario Pengujian KNN Nama Use

Case Pengujian KNN

Tujuan Menguji Citra dengan klasifikasi KNN Kondisi

Awal Tampilan hasil pengujian masih kosong Kondisi

Akhir

System menampilkan hasil pengujian citra beras dengan metode KNN

Aktor Pengguna

Skenario Utama

Langkah Aksi Aktor Reaksi System

1 Include : Input Citra

Pengguna menekan tombol input citra

matriks

2. Sistem menampilkan citra yang aka di

uji 3. Pengguna memasukan

nilai K ke textbox

4. Sistem menerima inputan parameter K

5. Pengguna menekan tombol proses

6. Sistem memproses dengan metode

KNN 7.

Sistem menampilkan hasil pengujian berupa klasifikasi citra berdasarkan kualitas

2. Activity diagram

Diagram aktivitas (Activity Diagram) memodelkan alur kerja (workflow) sebuah proses bisnis dan urutan aktivitas dalam suatu proses. Adapun rincian dari activity diagram sistem dapat dilihat pada gambar beikut:


(64)

Gambar 0.15 Activity Dataset

Gambar 0.16 Activity Pelatihan


(65)

Gambar 0.18 Activity Ekstraksi Ciri

Gambar 0.19 Activity Perhitungan Matriks


(66)

Gambar 0.21 Activity Simpan Data


(67)

Gambar 0.23 Activity Data Latih


(68)

Gambar 0.25 Activity Pengujian


(69)

3. Sequence diagram

Sequence diagram menggambarkan interkasi antara sejumlah objek dalam urutan waktu. Adapun rincian dari sequence diagram sistem dapat dilihat pada gambar dibawah ini:

Gambar 0.27 Sequence Menu Dataset


(70)

Gambar 0.29 Sequence Perhitungan


(71)

Gambar 0.31 Sequence simpan Dataset

Gambar 0.32 Sequence Menampilkan gambar


(72)

Gambar 0.34 Sequence Ekstraksi Ciri


(73)

Gambar 0.36 Sequence Load data

Gambar 0.37 Sequence Pengujian KNN 4. Class diagram

Class diagram membantu menggambarkan struktur kelas-kelas dari suatu sistem dan merupakan tipe diagram yang paling sering ditemui dalam pemodelan sistem berbasis object-oriented. Adapun rincian dari class diagram sistem dapat dilihat pada gambar berikut :


(74)

Gambar 0.38 Class Diagram

3.7.2 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional adalah langkah dimana seorang pembangun perangkat lunak (software development) menganlisis sumber daya yang akan digunakan dan menggunakan perangkat lunak yang dibangun. Perangkat keras dan perangkat lunak yang dimiliki harus sesuai dengan kebutuhan atau permintaan, sehingga dapat ditentukan kompatibilitasnyaterhadap sumber daya yang ada.

Pada analisis kebutuhan non fungsionalyang dilakukan dibagi dalam tiga tahap yaitu:

1. Analisis Kebutuhan Perangkat Keras

Spesifikasi perangkat keras minimum yang dibutuhkan untuk menjalankan sistem ini, dapat dilihat pada tabel dibawah ini:

Gambar 0.39 Spesifikasi Perangkat Keras No Perangkat Keras Spesifikasi

1 Prosesor 2.00 GHz

2 Monitor Monitor 14.1’’


(75)

2. Analisis Kebutuhan Perangkat Lunak

Komponen perangkat lunak pendukung yang dibutuhkan untuk menjalankan sistem ini, seperti tabel dibawah ini:

Gambar 0.40 Spesifikasi Perangkat Lunak No Perangkat Lunak

1 Sistem operasi Windows 8.1 2 Visual Studio 2012

3. Analisis Pengguna

Analisis kebutuhan pengguna merupakan uraian mengenai siapa saja yang akan menggunkan sistem dan terlibat dalam pengolahan data berserta karakteristiknya sehingga dapat diketahui tingkat pengalaman dan pemahaman pengguna terhadap sistem. Dapat dilihat sebagai berikut:

a. Pengguna dapat membaca tulisan

b. Pengguna minimal mampu menggunakan keyboard dan mouse sebagai untuk interaksi dengan sistem

c. Pengguna sudah terbiasa menggunakan komputer 4. Perancangan Simulasi

Perancangan sistem merupakan penggambaran dan perencanaan dari beberapa elemen sistem yang terpisah ke dalam suatu kesatuan model yang utuh. Tahapan ini meliputi:

a. Perancangan AntarmukaPerancangan antarmuka dibuat untuk memberi konsep pada implementasi pembuatan suatu antarmuka sistem yang akan dibangun. Adapun rincian dari perancangan antarmuka sistem dapat dilihan pada gambar dibawah ini:


(76)

No F01  Klik tombol INPUT

untuk memasukan gambar

 Klik tombol

Grayscale untuk memproses citra menjadi matrik coocurence

 Klik tab Nilai Matriksuntuk menampilkan tabel matriks dari ekstraksi ciri kookurensi, hasil akan ditampilkan pada datagridview

 Klik select kualitas untuk memilih jenis kualitas beras

 Klik tombol simpan untuk menambahkan dataset


(77)

Gambar 0.41 Antarmuka Dataset

Gambar 0.42 Antarmuka Pelatihan

Gambar 0.43 Antarmuka Pengujian 5. Jaringan Semantik

Jaringan semantik merupakan gambaran pengetahuan grafis yang menunjukan hubungan antar berbagai objek. Jaringan semantik terdiri dari lingkaran-lingkaran

No F02  Klik tombol Load

data untuk menampilkan data

 Klik tombol Latih data untuk melatih data

Ukuran 1090 x 591, warna disesuaikan

No F03  Klik tombol INPUT

untuk menampilkan gambar

 Klik tombol

Grayscale untuk mengubah citra ke dalam bentuk gryascalee

 Klik tombol Proses

untuk memproses seluruh data sampai dihasilkan hasil klasifikasi


(78)

yang menunjukan objek dan informasi tentang objek-objek tertentu, untuk lebih jelasnya dapat dillihat pada gambar berikut ini:


(1)

77

sebanyak 120 data, dan akan dibagi 2, yaitu data A1 = 60 dan data A2 = 60, pengujian dilakukan sebanyak nilai k yang digunakan, pengujian 1 = data A1 sebagai data latih dan data A2 sebagai data uji. Pengujian 2 adalah sebaliknya, data A1 = sebagai data uji dan data A2 sebagai data latih.

Tabel 0.7 Confusion matrix Pengujian 1 dengan A1 sebagai data uji

Kelas Prediksi Jumlah

Citra Akurasi

KW 1 KW 2 KW 3

T

ar

g

et

KW 1 20 0 0 20 100% KW 2 11 8 1 20 40% KW 3 10 5 5 20 25%

Rata-rata 55%

Tabel 0.8 Confusion matrix Pengujian 2 dengan data A2 sebagai data uji

Kelas Prediksi Jumlah

Citra Akurasi

KW 1 KW 2 KW 3

Ta

rge

t

KW 1 20 0 0 20 100% KW 2 11 8 1 20 40% KW 3 10 5 5 20 25%

Rata-rata 55%

4.3 Kesimpulan Pengujian

Berdasarkan hasil skenario pengujian 1 yaitu pengujian data uji yang sama dengan data latih, dapat ditarik kesimpulan bahwa metode KNN dapat mengklasifikasi dengan akurasi sebesar 63.3%. Berdasarkan sekenario pengujian 2 yaitu pengujian data uji yang tidak terdapat dalam data latih, metode KNN dapat mengklasifikasi dengan akurasi terbesar 39.2%.

Berdasarkan skenario pengujian 2 yaitu pengujian dengan menggunakan metode k-fold cross validation, KNN dapat mengklasifikasi dengan rata rata akurasi sebesar 55.% dengan nilai k adalah 2.

Tingkat akurasi dari citra paling beras adalah KW 1 hal ini disebabkan ciri dari citra tersebut sangat baik dan mempunyai nilai ciri yang sangat tinggi.

Dari hasil pengujian untuk kualitas beras KW 2 dan KW 3 tingkat akurasinya sangat kurang hal ini dikarenakan ciri dari citra beras yang homogen sehingga hasil dari klasifikasi kurang dari 80%.


(2)

78

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil pengujian dan analisis maka dapat disimpulkan hal-hal sebagai berikut :

1. Pada penelitian ini tingkat akurasi citra beras tertinggi diperoleh pada kelas KW 1 dengan rata-rata nilai akurasi 97,5%

2. Untuk citra beras dengan kelas KW 2 dan KW 3 rata-rata hasil akurasi dibawah 50% hal tersebut dikarenakan jenis citra yang homogen sehingga terjadi kemiripan nilai ekstraksi ciri dari citra antara kelas KW 1, KW 2 dan KW 3.

5.2 Saran

Dalam pembuatan Tugas Akhir ini, masih terdapat banyak kekurangan yang dapat diperbaiki untuk pengembangan berikutnya. Beberapa saran yang dapat diberikan adalah:

1. Menambahkan beberapa ekstraksi ciri lainya, seperti ekstraksi ciri warna, bentuk, dan lain sebagainya.

2. Untuk dapat membandingkan kinerja metode matriks co-occurrence sebagai ekstraksi ciri ini, dapat dibuat analisis tekstur dengan metode yang berbeda, seperti metode autokorelasi, Run-Length, Sum and Difference Histogram dan lainnya.

3. Melakukan penelitian klasifikasi citra dengan menggunakan algoritma klasifikasi yang lain, seperti menggunakan Decision Tree, SVM, jaringan syaraf tiruan dan lain-lainya agar dapat dibandingkan hasil keakuratan dan kecepatan prosesnya.


(3)

E-1

DAFTAR RIWAYAT HIDUP

DATA PRIBADI

NIM : 10110765

Nama Lengkap : Aris

Jenis Kelamin : Laki-laki

Tempat & Tgl Lahir : Wonogiri, 6 Februari 1992

Alamat : Kp Kaum Jalan Nagggorak RT 005/ 002 Plered Purwakarta Jawa Barat

No. Telepon / HP : (+62) 8999222160

E-mail : Ariswibowo06@gmail.com

PENDIDIKAN FORMAL

2010 - 2015 : Universitas Komputer Indonesia 2007 – 2010 : SMKN I Purwakarta

2004 – 2007 : SMPN I Plered 1998 – 2004 : SDN V Plered


(4)

(5)

(6)