• Tidak ada hasil yang ditemukan

Aplikasi Pendeteksian RAS Kucing Dengan Mendeteksi Wajah Kucing Dengan Metode Viola Jones Berbasis Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Pendeteksian RAS Kucing Dengan Mendeteksi Wajah Kucing Dengan Metode Viola Jones Berbasis Android"

Copied!
105
0
0

Teks penuh

(1)
(2)
(3)
(4)

Tempat dan tanggal lahir : Ciamis, 25 Oktober 1992 Jenis Kelamin : Perempuan

Alamat : Gg. Langensari II No. 87 RT 02/03 Cibeureum Cimahi 40535

Telephone : 082218832501

E-mail : lenn.mariani@yahoo.com

PENDIDIKAN

1998 – 2004 : SDN Garuda V Bandung, 2004 – 2007 : SMPN 9 Bandung, 2007 – 2010 : SMAN 13 Bandung,

(5)

91

KESIMPULAN DAN SARAN

Bab ini menjelaskan penarikan kesimpulan dari pembangunan perangkat lunak pendeteksian ras kucing dan saran untuk pengembangan lebih lanjut.

5.1 Kesimpulan

Berdasarkan hasil dari analisis dan pengujian maka di dapatkan bahwa :

1. Aplikasi ini dapat mendeteksi dan mengidentifikasian ras kucing.

2. Memberikan informasi dari jenis ras yang yang terlah diidentifikasi.

3. Metode Viola-Jones dan Local Binari Pattern Histogram (LBPH) dapat diimplementasikan dalam pendeteksian kucing.

4. Hasil pengujian menunjukan pendeteksian menggunakan Viola-Jones menghasilkan rata-rata keberhasilan 46% karena masih sulitnya melakukan pendeteksian pada kucing berwarna gelap dan bercorak banyak. Hasil pengujian pendeteksian menggunakan LBPH menghasilkan rata-rata keberhasilan 75%. Dan pendeteksian maksimal dilakukan pada daerah bercahaya terang

5.2 Saran

Saran pembangun aplikasi untuk pengembangan perangkat lunak ini adalah :

(6)

2. Untuk memperoleh hasil pendeteksian lebih baik lagi, perlu adanya pengembangan lain seperti mentraining kucing berwarna gelap dan bercorak

(7)

71

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

Implementasi sistem merupakan tahap menterjemahkan perancangan berdasarkan hasil analisis sistem. Pada tahap implementasi sistem ini, diharapkan sistem yang telah dirancang siap untuk dioperasikan pada keadaan yang sebenarnya, sehingga akan diketahui apakah sistem yang dibuat benar-benar dapat menghasilkan tujuan yang diharapkan.

Dalam implementasi sistem terdiri dari implementasi perangkat keras, implementasi perangkat lunak, implementasi antarmuka dan implementasi basis data. Dalam implementasi ini diharapkan dapat memenuhi persyaratan agar sistem yang dibangun dapat dijalankan dengan baik.

4.1.1 Implementasi Perangkat Keras

Perangkat keras pembangun menjelaskan perangkat lunak yang digunakan untuk membangun aplikasi pendeteksi ras kucing. Adapun perangkat lunak yang digunakan untuk membangun aplikasi pendeteksi ras kucing adalah sebagai berikut:

1 Processor Intel(R) Atom(TM) 1,7 GHz. 2 RAM 2 GB.

3 Harddisk 250 MB.

4 VGA ATI Radeon HD 4600 Series.

4.1.2 Implementasi Perangkat Lunak

(8)

digunakan untuk membangun aplikasi pendeteksi ras kucing adalah sebagai berikut:

1 Sistem Operasi Windows 7 2 Eclips Helios

3 OpenCV library 4 Adobe Photoshop CS3

4.1.3 Implementasi Antarmuka

Pada bagian implementasi antarmuka berisi pemaparan setiap tampilan aplikasi pendeteksi ras kucing yang dibangun beserta file xml sebagai layout dari masing-masing antarmuka. Adapun implementasi antarmuka yang digunakan untuk membangun aplikasi pendeteksi ras kucing adalah sebagai berikut:

Tabel 4.1 Implementasi Antarmuka Aplikasi

No Halaman Keterangan File XML

Halaman untuk menambah data ras kucing

Activity_tambah_ras

3 Deteksi Halaman untuk melakukan training

terhadap citra pelatihan dan pencarian ras kucing

Activity_deteksi

4 List Ras Halaman untuk menampilkan jenis ras yang telah melakukan training

Activity_list_ras

5 Lihat Ras Halaman untuk melihat data ras kucing

(9)

Berikut adalah tampilan anta muka pengguna pada aplikasi perbandingan algoritma pengenalan wajah.

1. Halaman Menu

Halaman ini terdapat tiga pilihan tombol yaitu tombol tambah, tombol deteksi, tombol cari ras dan tombol liat ras.

(10)

2. Halaman Tambah Ras

Halaman ini terdapat tiga pilihan tombol yaitu tombol tambah, tombol deteksi, tombol cari ras dan tombol liat ras.

Gambar 4.2 Halaman Tambah Ras

3. Halaman Deteksi

Halaman ini terdapat beberapa pilihan tombol yaitu tombol training dan tombol cari.

(11)

4. Halaman List Ras

Halaman ini terdapat daftar dari ras kucing yang telah dilakukan training data.

Gambar 4.4 Halaman List Ras

5. Halaman Lihat Ras

Halaman ini terdapat data-data mengenai ras kucing yang telah dideteksi sebelumnya.

(12)

4.1.4 Implementasi Kelas

(13)

bacaData dariIdData

onCreateOptionsMenu

6 Kucing Kucing Kucing

7 SqliteManager SqliteManager SqliteManagerHelper bukaKoneksi

tutupKoneksi insertData updateData hapusData bacaData ambilData

(14)

4.1.5 Implementasi Basis Data

Pembuatan basis data dilakukan dengan mengunakan aplikasi pemrograman SQLite. Implementasi basis data dalam bahasa SQLite dalam android adalah sebagai berikut :

1 Pembuatan Database

2 Pembuatan Tabel Training

public void onCreate(SQLiteDatabase database) {

database.execSQL(

"create table " + NAMA_TABEL + " (" +

SqliteManager.FIELD_ID + " integer primary key

autoincrement, " +

SqliteManager.FIELD_RAS + " text not null, " +

SqliteManager.FIELD_Bulu + " text not null," +

SqliteManager.FIELD_Kepala + " text not null," +

SqliteManager.FIELD_Telinga + "text not null," +

SqliteManager.FIELD_Mata + " text not null," +

SqliteManager.FIELD_Dagu + " text not null," +

SqliteManager.FIELD_Hidung + " text not null," +

SqliteManager.FIELD_Leher + " text not null," + public SqliteManagerHelper(Context context) {

super(context, NAMA_DATABASE, null, VERSI_DATABASE);

(15)

4.2 Pengujian Sistem

Pengujian sistem dilakukan untuk menguji hubungan antara program aplikasi yang dibuat dengan elemen yang lain dalam sistem. Adapun tujuan dari pengujian sistem ini adalah untuk memastikan semua elemen sistem sudah terhubung dengan baik. Ada dua macam pengujian yang akan dilakukan, yaitu pengujian performansi dan black box testing. Pengujian performansi yaitu dengan melakukan percobaan-percobaan dalam kondisi-kondisi tertentu seperti jarak wajah terhadap webcam, dan pengaruh pencahayaan terhadap deteksi wajah. Pengujian pada black box testing yaitu menemukan kesalahan yang terdapat pada program.

SqliteManager.FIELD_Badan + " text not null," +

SqliteManager.FIELD_Kaki + " text not null," +

SqliteManager.FIELD_Ekor + " text not null," +

SqliteManager.FIELD_Warna + " text not null," +

SqliteManager.FIELD_Sifat + " text not null," +

SqliteManager.FIELD_Harga + " text not null," +

SqliteManager.FIELD_Ket + " text not null," +

SqliteManager.FIELD_Path + " text not null " +

");";

);

(16)

4.2.1 Pengujian White Box

Pengujian white box digunakan untuk mengetahui kinerja logika dari algoritma yang telah dianalisis. Teknik yang digunakan yaitu Flow Graph yang digunakan untuk menggambarkan alur dari algoritma dan Graph Matriks yang digunakan untuk merepresentasikan flow graph dalam bentuk tabel.

Berikut ini adalah pengujian perangkat lunak pada metode pendeteksian image dengan metode viola-jones yang sebelumnya dilakukan pengenalan objek melalui OpenCV dengan function onCameraFrame. Pengujian ini dilakukan untuk pendeteksian wajah. Berikut ini adalah function yang akan diuji.

1 mRgba = inputFrame.rgba();

2 mGray = inputFrame.gray();

3 if (mAbsoluteFaceSize == 0)

mAbsoluteFaceSize), new Size());

13 Endif

else

14 Log.e(TAG, "Detection method is not selected!"); 15 Endif

16 Rect[] facesArray = faces.toArray();

17 for (int i = 0; i < facesArray.length; i++)

18 Core.rectangle(mRgba, facesArray[i].tl(),

facesArray[i].br(), FACE_RECT_COLOR, 3);

19 Endfor

(17)

a. Flow Graph metode pendeteksian wajah kucing

Berikut ini adalah flow graph dari pendeteksian :

(18)

Perhitungan white box :

1. Region = 6

Jumlah daerah tertutup atau daerah yang berada didalam node ditambah

satu daerah diluar node.

2. Cyclomatic Complexity

V(G) = E – N + 2

= 20 – 16 + 2

= 6

3. Independent Path = 6

Path 1 = 1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20

Path 2 = 1,2,3,4,5,7,8,9,10,11,12,13,15,16,17,18,19,20

Path 3 = 1,2,3,4 ,8,9,10,11,12,13,15,16,17,18,19,20

Path 4 = 1,2,3,4,5, 6,7,8,9,10,14,15,16,17,18,19,20

Path 5 = 1,2,3,4,5,7,8,9,10,14,15,16,17,18,19,20

Path 6 = 1,2,3,4,8,9,10,14,15,16,17,18,19,20

(19)

b. Graph matriks metode pendeteksian wajah

Satu node pada flow graph diwakilkan oleh satu nomor agar memudahkan perhitungan matriks. Tabel graph matriks dari metode pendeteksian ditunjukan dibawah ini

Tabel 4.3 Graph Matrix Pendeteksi Wajah

NODE 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Graph

(20)

4.2.2 Pengujian Performansi

Pengujian performansi dilakukan dengan serangkaian percobaan-percobaan dalam kondisi-kondisi tertentu yang dapat mempengaruhi keefektifan kinerja sistem pendeteksian wajah.

Untuk menguji performansi, data yang telah di dapat dari pengujian pendeteksian wajah kucing digunakan kembali untuk pengujian-pengujian lainnya, untuk lebih jelasnya dapat dilihat pada skema pengujian performansi yaitu :

Gambar 4.7 Skema Pengujian Performansi

4.2.2.1Pengujian Pendeteksian Wajah Kucing

Pengujian ini mengenai terdeteksi atau tidaknya wajah kucing yang telah diimplemntasikan dalam sisitem. Pendeteksian wajah kucing ini menggukan metode viola jones. Berikut adalah pengujian pendeteksian wajah kucing.

Tabel 4.4 Pengujian Pendeteksian Wajah Kucing

(21)

Rata-rata 70 80 46%

Dari tabel diatas dapat disimpulkan bahwa pendeteksian mengukan metode viola-jones dapat dilakukan dengan ras kucing yang paling sering terdeteksi adalah kucing anggora karena kucing angora murni hanya memiliki satu warna yaitu putih. Sedangkan kucing yang memiliki warna gelap atau bercorak sulit untuk terdeteksi seperti pada ras himalayan.

4.2.2.2Pengujian Pengenalan Ras Kucing

Pengujian ini mengenai terdeteksi atau tidaknya ras kucing yang telah diimplemntasikan dalam sisitem setelah melakukan pendeteksian. Data dalam pengujian ini merupakan hasil dari pengujian sebelumnya yaitu pengujian pendeteksian wajah kucing dari data yang telah terdeteksi sebelumnya. Berikut adalah pengujian pendeteksian ras kucing.

Tabel 4.5 Pengujian Pengenalan Ras Kucing

No Jenis Dikenali Tidak Dikenali Persentase Keberhasilan

1 Persia 10 5 67%

Dari tabel diatas dapat disimpulkan bahwa pengenalan ras menggunakan metode LBPH dapat dilakukan dengan rata-rata keberhasilan 75%.

4.2.2.3Pengujian Cahaya

Pengujian ini tentang pengaruh cahaya terhadap proses deteksi wajah. Dalam pengujian pengaruh pencahayaan ini dilakukan di luar ataupun di dalam ruangan dalam keadaan terang, redup, dan gelap.

Tabel 4.6 Pengujian Cahaya

(22)

1 Persia √ √

2 Exotic √ √

3 Anggora √ √

4 Himalayan √ √

5 Domestic √ x

Dari tabel diatas dapat disimpulkan bahwa pencahayaan dengan intensitas terang menampilkan hasil maksimal dalam perdeteksian wajah kucing. Tetapi cocok pula untuk wilayah dengan intensitas cahaya redup.

Keterangan √ : terdeteksi

(23)

4.2.3 Pengujian Black Box

Pengujian blackbox terfokus pada menemukan kesalahan yang terdapat pada program. Sebelum melakukan pengujian dilakukan dahulu rencana pengujian. Rencana pengujian yang akan dilakukan dapat dilihat sebagai berikut:

Tabel 4.7 Rencana Pengujian

No Komponen yang diuji Skenario pengujian Jenis pengujian 1 Kamera Memberikan akses kepada

kamera

Black box

Capture video secara realtime Black box

2 Interaksi pengguna Memilih tombol pada menu Black box

Menekan tombol capture image

Black box

Menekan tombol simpan ras Black box

Menekan tombol edit ras Black box

Menekan tombol hapus ras Black box

Menekan tombol kembali Black box

3 Deteksi Mendeteksi wajah kucing Black box

Mendeteksi ras kucing Black box

4 Database Menyimpan data di database Black box

Mengubah data dari database Black box

Menghapus data dari database Black box

Melihat data dari database Black box

(24)

Tabel 4.8 Kasus dan Hasil Pengujian

(25)

di database data ke database [ ]Tidak Berhasil

Berdasarkan hasil pengujian pengujian performansi dan black box testing

(26)
(27)

31

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya untuk mengidentifikasikan masalah masalah dan hambatan-hambatan, sehingga dapat diusulkan kebutuhan-kebutuhan untuk memperbaikinya. Tahap analisis sistem adalah tahapan dasar sebelum perancangan untuk memperbaiki sistem yang lama. Dari hasil analisis tersebut dapat dirancang atau diperbaiki menjadi sebuah sistem yang lebih efektif dan efisien.

3.1.1 Analisis Masalah

Berdasarkan hasil analisis terhadap sistem yang ada, maka diidentifikasikan masalah-masalah yang ada sebagai berikut :

1.Membantu penguna dalam pengidentifikasian ras kucing. 2.Memberikan informasi standat dari jenis ras tersebut.

3.Mengimplementasikan deteksi dan pengenalan ras kucing menggunakan android dengan metode Viola-Jones dan Local Binari Pattern Histogram (LBPH).

4.Menguji dan menganalisa hasil dari perangkat lunak dalam melakukan sistem deteksi (persentase keberhasilan deteksi) berdasarkan metode Viola-Jones dan Local Binari Pattern Histogram (LBPH).

3.1.2 Analisis Algoritma

(28)

metode yaitu viola-jones. Serta dibantu oleh algoritma Local Binari Pattern Histograms (LBPH) untuk pelabelan gambar (face recognition). Berikut ini adalah tahap-tahap yang dilakukan untuk mendeteksi ras kucing, yaitu:

Gambar 3.1 Blok Diagram System

Gambar 3.1 merupakan blok diagram software untuk melakukan pengenalan dari sistem yang digunakan, dimana jalannya sistem dibagi menjadi 2, yaitu blok penyimpanan data dan blok pengenalan wajah. Jalannya sistem blok diagram adalah sebagai berikut :

1. Pengambilan gambar secara real-time menggunakan kamera pada handphone.

2. Proses deteksi kucing menggunakan algoritma Viola-Jones dengan haar cascade.

3. Proses penskalaan (scaling) dan grayscale.

4. Proses penyimpanan data gambar kucing berdasarkan ras.

(29)

3.1.2.1Proses Deteksi Kucing

Proses deteksi kucing menggunakan algoritma Viola-Jones yaitu menggunakan haar cascade. Untuk mendeteksi diperlukan data training setelah itu pengimplementasian algoritma haar cascade pada program.

3.1.2.2Training Data

Pada proses haar cascade ini membutuhkan data training berupa gambar positif dan gambar negatif. Gambar positif adalah gambar dari objek yang akan dideteksi dalam penelitian ini yaitu gambar wajah kucing sedangkan gambar negatif adalah gambar selain objek yang akan dideteksi seperti background, gunung, lemari, pohon, dan lain sebagainya. Proses training dilakukan menggunakan tool yang berada dalam OpenCV yaitu [21]:

1. Objectmarker.exe, program ini digunakan untuk manandai object secara manual.

2. Createsamples.exe, program ini digunakan untuk menciptakan sample dataset positif.

3. Haartraining.bat, program ini digunakan untuk proses training.

4. Convert.bat, program ini digunakan untuk mengubah cascade classifier ke bentuk file xml, untuk kemudian digunakan pada program utama.

Gambar 3.2 Proses Menandai Objek saat Training Data

(30)

3.1.2.3Algoritma Haar Cascade

Setelah training data telah dilakukan, selanjurnya memanggil algoritma Haar Cascade dalam program. Pelacakan wajah pada penelitian ini dikhususkan untuk pelacakan wajah dengan posisi lurus ke depan terhadap kamera (frontal face). Dan berikut ini proses-proses yang terjadi dalam metode haar cascade.

1 Proses Menentukan Haar

Nilai Haar feateure pada openCV yang dikenal dengan Haarcascade. Proses ini dilakukan untuk mendapatkan sampel dari gambar yang didapat dari kamera dan akan dibandingkan dengan nilai yang ada pada OpenCV. Kemudian nilai frame akan digunakan untuk mendeteksi apakah objek gambar yang masuk wajah atau bukan.

Keberadaan ada atau tidaknya fitur wajah ditentukan dengan mengurangi nilai pixel di wilayah gelap dengan nilai pixel di wilayah terang. Jadi Setiap gambar dirubah kedalam warna hitam dan putih. Jika nilai dari hasil perbedaanya di atas dari ambang batas selama masa pembelajaran citra maka fitur tersebut dapat dikatakan ada.

Fitur-fitur ini merupakan gambaran dari wajah yang dikelompokkan berdasarkan sisi yang terang dan sisi yang gelap. Contohnya daerah mata memiliki sisi yang lebih gelap daripada bagian di antara dua mata.

Terdapat 3 jenis fitur berdasarkan jumlah persegi yang terdapat di dalamnya, seperti yang dapat dilihat pada gambar di bawah ini :

Gambar 3.3 Point Fitur Metode Viola Jones

(31)

fitur (e) empat persegi panjang. Cara menghitung nilai dari fitur ini adalah mengurangkan nilai piksel pada area hitam dengan piksel pada area putih. Untuk mempermudah proses penghitungan nilai fitur, algoritma Viola-Jones menggunakan sebuah media berupa citra integral.

2 Proses Menghitung Citra Integral

Untuk menghitung nilai dari setiap fitur Haar maka digunakan citra integral. Setiap fitur mempunyai nilai yang berbeda sehingga dibutuhkan cara untuk mendapatkan fitur yang memiliki nilai yang paling baik

Cara menghitung nilai dari fitur ini adalah mengurangkan nilai piksel pada area hitam dengan piksel pada area putih. Untuk mempermudah proses penghitungan nilai fitur, metode ini menggunakan sebuah media berupa citra integral yaitu adalah sebuah citra yang nilai tiap pikselnya merupakan akumulasi dari nilai piksel atas dan kirinya.

3 Proses Membuat Cascade Classifier

Hasil deteksi dari Haar ini belum terlalu bagus karena hasil deteksinya masih sangat sedikit lebih baik dari asal tebak. Jika ingin mendapatkan hasil yang lebih akurat maka harus dilakukan proses Haar secara massal (banyak), semakin banyak proses Haar yang dilakukan maka akan semakin akurat hasil dicapai, namun waktu yang dibutuhkan untuk memproses gambar tersebut akan menjadi lebih lama. Pemrosesan Haar-Like feature yang banyak tersebut diorganisir atau diatur di dalam classifier cascade.

Setelah objek terdeteksi dibuatlah kotak pendeteksian menggunakan :

Rect[] facesArray = faces.toArray();

(32)

Keterangan

1. Rect adalah template class untuk membuat kotak 2 dimensi. 2. facesArray adalah nama objek dari template class Rect.

3. faces.toArray adalah mengubah setiap frame gambar ke dalam array. 4. Core.rectangle adalah fungsi untuk menggambar kotak.

5. mRgba adalah gambar.

6. facesArray[i].tl() adalah point vertex kotak. 7. facesArray[i].br() adalah point vertex kotak lawan.

8. FACE_RECT_COLOR adalah warna kotak yang telah dideklarasi sebelumnya.

(33)

3.1.2.4Tahap Grayscale

Grayscale adalah warna-warna piksel yang berada dalam rentang gradasi warna hitam dan putih. Tahap ini adalah tahap setelah melalui proses scaling kemudian diubah menjadi gambar dua warna dengan proses grayscaling. Proses grayscaling dilakukan oleh sistem perangkat lunak. Pada umumnya warna yang dipakai warna hitam sebagai warna minimal (0) dan warna putih (255) sebagai warna maksimalnya, sehingga warna antaranya adalah abu-abu, seperti ditunjukkan pada Gambar 3.4.

0 1 2 ... 128 ... ... ... 255

Gambar 3.4 Pallete skala grayscale

Derajat keabuan sendiri sebenarnya memiliki beberapa nilai, tidak hanya skala 0 sampai 255. Hal ini tergantung pada nilai kedalaman pixel yang dimiliki oleh citra.

Misalnya dalam gambar kucing yang telah dicapture mempunyai nilai warna Red, Green dan Blue seperti pada Tabel 3.1.

Tabel 3.1 Nilai Warna Gambar Capture

(34)

Menghasilkan nilai keabuan dengan rumus

Menjadi

Tabel 3.2 Nilai Grayscale Hasil Perhitungan

x/y 0 1 2 3 4 5 6 7 8 9

0 195 180 163 175 182 151 146 124 165 153 1 176 183 192 188 182 165 164 168 128 136

. . .

9 176 183 192 188 182 165 164 168 128 136

Pada program untuk mengubah kamera menjadi grayscale menggunakan

inputFrame.gray();

Keterangan

- inputFrame adalah image dari camera view.

(35)

3.1.2.5Tahap Scaling

Tahap scaling adalah tahap untuk teknik yang berguna untuk merubah ukuran gambar dalam hal ini memperbesar dan memperkecil gambar, biasanya ukuran untuk proses pendeksian wajah yang efektif menggunakan pixel 20x20. Misalkan gambar yang telah dicapture mempunyai nilai value :

Tabel 3.3 Nilai Data Gambar

x/y 0 1 2 3 4 5 6 7 8 9

Dikarenakan gambar berukuran 10x10 maka gambar harus diskala sehingga menjadi 20x20. Karena rumus untuk penskalaan atau scaling adalah

Dimana sx dan sy adalah faktor skala masing-masing dalam arah x dan arah y. Maka Sx =2 dan Sy =2.

195 180 195 195

176 183 195 195

Karena ukuran gambar diperbesar maka nilai dua petak tetanggannya mempunyai nilai yang sama sehingga menghasilkan :

Tabel 3.4 Nilai Scale Hasil Perhitungan

x/y 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

0 195 195 180 180 163 163 175 175 182 182 151 151 146 146 124 124 165 165 153 153

1 195 195 180 180 163 163 175 175 182 182 151 151 146 146 124 124 165 165 153 153

2 176 176 183 183 192 192 188 188 182 182 165 165 164 164 168 168 128 128 136 136

(36)

3.1.2.6Proses Pengenalan Kucing

Sebelum gambar dapar diberi label, terlebih dahulu gambar dan data kucing harus disimpan dalam database. Pada proses pengambilan data dan gambar terdapat tahap-tahap seperti pada Gambar 3.5.

(37)

3.1.2.7Proses Pengidentifikasian Ras Kucing

Dalam proses pengidentifikasian, kamera diarahkan pada kucing yang akan dideteksi, lalu jika dikenali maka akan ditampilkan data-data kucing. Pada proses pendeteksian memiliki beberapa tahapan seperti pada Gambar 3.6.

(38)

Untuk pendeteksian ras kucing dalam penelitian ini menggukan Local Binary Pattern Histogram (LBPH). Sedangkan untuk gambar data ras kucing memiliki ciri-ciri sebagai berikut:

Tabel 3.5 Tabel Ciri-Ciri dari Gambar Kucing

No Gambar Ciri-ciri

1 Persia

1. Bentuk kepala : bulat dan lebar.

2. Telinga : kecil dan bulat

3. Mata : besar, bulat

4. Dagu : pas ke wajah

5. Hidung : pesek

6. Leher : pendek, tebal, berotot

7. Badan : pedek dan bulat

1. Bentuk kepala : bulat dan lebar.

2. Telinga : kecil dan bulat

3. Mata : besar, bulat

4. Dagu : pas ke wajah

5. Hidung : pesek

6. Leher : pendek, tebal, berotot

7. Badan : pedek dan bulat

8. Kaki : besar dan bulat

9. Ekor : pendek dan lurus

10. Bulu : pendek

(39)

3 Anggora

1. Bentuk kepala : kecil, lembut, dan datar

2. Telinga : besar, lebar, runcing

3. Mata : besar, seperti walnut dengan warna

mata biru atau kuning

4. Dagu : tegak lurus dengan hidung

5. Hidung : mancung

6. Leher : ramping dan anggun

7. Badan : panjang dan ramping

8. Kaki : panjang dan bulat

9. Ekor : panjang dengan ujung menyempit

10. Bulu : panjang

11. Warna : Putih bersih

4 Himalayan

1. Bentuk kepala : bulat dan lebar.

2. Telinga : kecil dan bulat

3. Mata : besar, bulat berwarna biru

4. Dagu : pas ke wajah

5. Hidung : pesek

6. Leher : pendek, tebal, berotot

(40)

5 Domestic

1. Bentuk kepala : kecil dan lancip.

2. Telinga : besar

3. Mata : besar, berwarna hijau atau kuning

4. Dagu : lancip

5. Hidung : mancung

6. Leher : pendek, tebal, berotot

7. Badan : pedek dan bulat

8. Kaki : kecil dan panjang

9. Ekor : pendek, panjang

10. Bulu : pendek

(41)

3.1.2.8Local Binari Pattern Histograms (LBPH)

Setelah melakukan pendeteksian wajah dengan menggunakan haar feature, selanjutnya adalah melakukan pengenalan wajah atau recognition. Pada face recognition setelah melakukan proses pendeteksian kemudian dilakukan poses pengenalan wajah. Pada pengenalan wajah ini digunakan algoritma Local Binari Pattern Histograms (LBPH).

Local Binary Pattern Histogram (LBPH) adalah teknik baru dari metode LBP untuk mengubah performa hasil pengenalan wajah. LBPH adalah metode yang paling cocok untuk dilakukan pengenalan citra wajah untuk diimplementasikan pada perangkat bergerak android karena menggunakan penghitungan yang sederhana.

Mekanismenya adalah pertama-tama membagi daerah gambar menjadi 8x8.

Setiap blok diubah menjadi thresholding dengan ukuran 3x3 untuk mendapatkan nilai histogram. Lalu mengambil satu pixel tengah untuk menjadi pembanding.

 Jika nilai tetangga >= nilai pembanding =1

 Jika nilai tetangga < nilai pembanding = 0

Misalkan gambar yang telah dicapture mempunyai nilai :

195 195 180 Treshold 1 1 0 Binary : 11000001

Desimal : 193 195 195 180 1 0

(42)

Dibentuk histogram dengan menambahkan nilai setiap blok sesuai dengan pola biner. Misalkan blok yang tadi menghasilkan nilai 193 maka di buat grafik batang seperti pada Gambar 3.7.

Gambar 3.7 Histogram Hasil

Setelah nilai histogram didapatkan, lalu hasil histogtam akan dibandingkan dengan gambar yang telah di simpan sebelumnya. Sehigga dapat diidentifikasikan apakah gambar tersebut memiliki ciri yang sama dengan hasil deteksi atau tidak.

Misalkan suatu gambar yang telah dicapture memiliki histogram

Gambar 3.8 Pencapturan dan Histogram Gambar

Lalu sistem akan mendeteksi setiap gambar, apakah memiliki kecocokan dengan gambar yang di capture. Jika memiliki kecocokan sistem akan menampilkan data-data dari gambar tersebut.

(43)

tidak cocok

cocok

Gambar 3.9 Pencocokan Gambar

Untuk menmbandingkan dua histogram yang berbeda dilakukan menggunakan rumus Chi Square yaitu

...(1)

Dengan I adalah histogram pertama dam M adalah histogram kedua. Dan n adalah jumlah elemen dalam histogram. Pengukuran Chi Squate efektif jika terdapat kesamaan antara sepasang histogram.

Dan Jika gambar yang di deteksi cocok akan menghasilkan data-data tentang kucing tersebut. Sebagai informasi kepada user tentang ras kucing tersebut.

(44)

3.1.3 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional adalah sebuah langkah untuk menganalisis sumber daya manusia yang akan menggunakan perangkat lunak yang dibangun, perangkat keras dan perangkat lunak yang dimiliki sesuai dengan kebutuhan atau permintaan, sehingga dapat ditentukan kompabilitas perangkat lunak yang dibangun terhadap sumber daya yang ada. Analisis kebutuhan non fungsional harus bisa mencakup kebutuhan dan fakta yang ada.

3.1.3.1Analisis Kebutuhan Perangkat Keras

Adapun kebutuhan perangkat keras yang diperlukan untuk membangun sistem ini adalah sebagai berikut :

1 Processor Intel(R) Atom(TM) 1,7 GHz. 2 RAM 2 GB.

3 Harddisk 250 MB.

4 VGA ATI Radeon HD 4600 Series.

Rekomendasi spesifikasi minimum handphone dalam mengakses aplikasi ini adalah :

1 Sistem Operasi Android versi 4.2 2 Kamera 1,3 Megapixel

3.1.3.2Analisis Kebutuhan Perangkat Lunak

Perangkat lunak yang dibutuhkan untuk membangun aplikasi ini adalah sebagai berikut :

1 Sistem Operasi Windows 7 2 Eclips Helios

(45)

3.1.3.3Analisis Pengguna

Karakteristik penggunaperangkat lunak ini adalah sebagai berikut :

1 User harus memiliki kemampuan menggunakan handphone bersistem operasi Android.

3.1.4 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional merupakan alur dan pekerjaan dari perangkat lunak yang akan dibangun. Dalam perangkat lunak pengenalan wajah ini digunakan metode pendekatan berorientasi objek.

3.1.4.1Use Case Diagram

Use Case Diagram digunakan untuk menggambarkan konteks sistem yang akan dibangun dan fungsionalitas yang disediakan oleh sistem itu. Use Case Diagram juga menggambarkan siapa atau apa berinteraksi dengan sistem. Di dalam sistem hanya terdapat satu user. Tugas user yaitu sebagai aktor yang dapat terlihat pada Gambar 3.10 berikut ini:

(46)

3.1.4.2Definisi Aktor

Aktor dalam system ini adalah user. User merupakan orang dari berbagai kalangan dan umur yang mampu mengoperasikan handphone bersistem operasi android.

3.1.4.3Definisi Use case

Definisi dari diagram use case pada Gambar 3.10, dideskripsikan secara singkat dalam Tabel 3.6.

Tabel 3.6 Definisi Use Case No Use ase Deskripsi

1 Tambah Ras Kucing Menambah data ras kucing untuk disimpan dalam database

2 Browse Camera Memasuki kamera view

3 Capture Image Mengambil sample citra dari kamera

4 Deteksi Kucing Mengolah citra wajah hasil capture dari kamera untuk

dilakukan deteksi citra wajah kucing

5 Pengenalan Kucing Mengolah citra wajah hasil capture dari kamera

untuk dilakukan pengenalan dengan citra wajah yang sudah tersimpan di dalam database.

6 Lihat Ras Kucing Menampilkan data ras kucing setelah gambar kucing

dikenali

3.1.4.4Use Case Skenario

(47)

1 Use Case skenario Tambah Data Ras Kucing

Use case scenario tambah data ras kucing menjelaskan interaksi antara aktor user dengan use case tambah data ras kucing. Adapun use case scenario tambah data ras kucing dapat dilihat pada Tabel 3.7.

Tabel 3.7 Use Case Skenario Tambah Data Ras Kucing

2 Use Case skenario Capture Image

Use case scenario capture image menjelaskan interaksi antara aktor user dengan use case capture image. Adapun use case scenario capture image dapat dilihat pada Tabel 3.7.

Nama Usecase Menambah Data RasKucing

Tujuan Menambah data ras kucing

Prasyarat Telah masuk ke dalam aplikasi Kondisi Sukses Data kucing tersimpan

Kondisi Gagal Data kucing tidak tersimpan

Aktor User

Alur Utama Tahap Aksi

1 User menekan tombol tambah ras kucing 2 User mengisi data-data kucing standar kucing

ras berupa nama ras, bentuk kepala, telinga, mata, dagu, hidung, leher, badan, kaki, ekor, bulu, warna,

sifat, harga

3 User menekan tombol Save

4 System menyimpan data dalam database Alur Alternatif Tahap Aksi

(48)

Tabel 3.8 Use Case Skenario Capture Image

3 Use Case Skenario Deteksi Kucing

Use case scenario deteksi kucing menjelaskan interaksi antara aktor user dengan use case deteksi kucing. Adapun use case scenario deteksi kucing dapat dilihat pada Tabel 3.9.

Tabel 3.9 Use Case Skenario Deteksi Kucing Nama Usecase Capture Image

Tujuan Mengambil sample citra dari kamera

Prasyarat Berada pada kamera view Kondisi Sukses Citra hasil capture ditampilkan

Kondisi Gagal Citra hasil capture tidak dapat ditampilkan

Aktor User

Alur Utama Tahap Aksi

1 User mencapture citra wajah 2 System mendeteksi wajah kucing

3 System mencapture dan menyimpan hasil capture

Alur Alternatif Tahap Aksi

2.1 System tidak dapat menampilkan hasil capture

Nama Usecase Deteksi Kucing

Tujuan Mendeteksi kucing

Prasyarat Berada pada kamera view Kondisi Sukses Kucing terdeteksi

Kondisi Gagal Kucing tidak terdeteksi

Aktor User

Alur Utama Tahap Aksi

(49)

4 Use Case Skenario Pengenalan Kucing

Use case scenario pengenalan kucing menjelaskan interaksi antara aktor user dengan use case pengenalan kucing. Adapun use case scenario pengenalan kucing dapat dilihat pada Tabel 3.10.

Tabel 3.10 Use Case Skenario Pengenalan Kucing 2 User mengarahkan kamera handphone pada

kucing

3 System mendeteksi kucing

4 Sistem menampilkan kotak deteksi kucing Alur Alternatif Tahap Aksi

3.1 System tidak mengenali kucing

Nama Usecase Pengenalan Kucing

Tujuan Mengenali kucing yang terdeteksi Prasyarat Berada pada kamera view

Kondisi Sukses Ras kucing yang dikenali ditampilkan Kondisi Gagal Ras kucing tidak ditampilkan

Aktor User

Alur Utama Tahap Aksi

1 User menekan tombol cari dan mengarahkan kamera pada kucing

2 System mendeteksi kucing

3 System mencocokan kucing dengan database 4 System menemukan data kucing

5 System menampilkan data kucing berupa jenis ras kucing

Alur Alternatif Tahap Aksi

(50)

5 U

se Case skenario Lihat Data Ras Kucing

Use case scenario lihat data ras kucing menjelaskan interaksi antara aktor user dengan use lihat data ras kucing. Adapun use case scenario lihat data ras kucing dapat dilihat pada Tabel 3.7.

Tabel 3.11 Use Case Skenario Lihat Data Ras Kucing

5.1 System tidak menampilkan data kucing

Nama Usecase Lihat Data Ras Kucing Tujuan Melihat data ras kucing Prasyarat Telah melakukan deteksi Kondisi Sukses Data kucing ditampilkan

Kondisi Gagal Data kucing tidak dapat ditampilkan

Aktor User

Alur Utama Tahap Aksi

1 System telah mengenali ras kucing

2 User menekan tombol lihat data

3 System menampilkan data-data kucing berupa nama ras, bentuk kepala, telinga, mata, dagu, hidung, leher, badan, kaki, ekor, bulu, warna, sifat,

harga

Alur Alternatif Tahap Aksi

(51)

3.1.4.5Activity Diagram

Activity diagram merupakan cara menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses yang dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis. Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram .

1 Activity Diagram Tambah Data Ras Kucing

Activity diagram tambah data ras kucing menjelaskan aliran kerja aktor user pada saat tambah data ras kucing. Activity diagram tambah data ras kucing dapat dilihat pada Gambar 3.11.

(52)

2 Activity Diagram Capture Image

Activity diagram capture image menjelaskan aliran kerja aktor user pada saat capture image. Activity diagram capture image dapat dilihat pada Gambar 3.12.

Gambar 3.12 Activity Diagram Lihat Data Ras Kucing

3 Activity Diagram Deteksi Kucing

(53)

Gambar 3.13 Activity Diagram Mendeteksi Kucing

4 Activity Diagram Pengenalan Kucing

(54)

Gambar 3.14 Activity Diagram Pengenalan Kucing

5 Activity Diagram Lihat Data Ras Kucing

Activity diagram lihat data ras kucing menjelaskan aliran kerja aktor user pada saat tambah lihat data ras kucing. Activity diagram lihat data ras kucing dapat dilihat pada Gambar 3.15.

(55)

3.1.4.6Sequence Diagram

Squence diagram merupakan gambaran interaksi antar masing-masing objek pada setiap use case dalam urutan waktu. Interaksi ini berupa pengiriman serangkaian data antar objek-objek yang saling berinteraksi.

1. Sequence Diagram Tambah Data Ras Kucing

Squence diagram tambah data ras kucing menunjukkan rangkaian pesan yang dikirim antara objek pengguna dengan objek lainnya dalam proses tambah data ras kucing. Squence diagram tambah data ras kucing dapat dilihat pada Gambar 3.16.

Gambar 3.16 Sequence Diagram Tambah Data Ras Kucing

2. Sequence Diagram Capture Image

(56)

Gambar 3.17 Sequence Diagram Capture Image

3. Sequence Diagram Deteksi

Squence diagram deteksi menunjukkan rangkaian pesan yang dikirim antara objek pengguna dengan objek lainnya dalam proses deteksi. Squence diagram deteksi dapat dilihat pada Gambar 3.18.

(57)

4. Sequence Diagram Pengenalan Kucing

Squence diagram deteksi menunjukkan rangkaian pesan yang dikirim antara objek pengguna dengan objek lainnya dalam proses deteksi. Squence diagram deteksi dapat dilihat pada Gambar 3.19.

(58)

5. Sequence Diagram Lihat Data Ras Kucing

Squence diagram lihat data ras kucing menunjukkan rangkaian pesan yang dikirim antara objek pengguna dengan objek lainnya dalam proses lihat data ras kucing. Squence diagram lihat data ras kucing dapat dilihat pada Gambar 3.20.

(59)

3.1.4.7Class Diagram

Class diagram digunakan untuk menunjukan hubungan sebuah class dari dalam suatu sistem. Class diagram memberikan gambaran secara menyeluruh tentang object dan class serta relasinya pada arsitektur sistem yang dibangun. Adapun gambaran class diagram yang dibangun dapat dilihat pada Gambar 3.21.

(60)

3.1.5 Analisis Basis Data

Analisis basis data yang digunakan pada sistem ini yaitu SQLite yang akan digunakan untuk menyimpan data-data dari setiap objek. Berikut ini merupakan penjelasannya.

3.1.5.1Perancangan Tabel

(61)

3.2 Perancangan Sistem

Perancangan merupakan bagian dari metodologi pembangunan suatu perangkat lunak yang harus dilakukan setelah melalui tahapan analisis. Pada bagian ini akan dijelaskan perancangan sistem yang dimaksudkan untuk menggambarkan perbedaan antara sistem yang sedang berjalan dengan sistem yang diusulkan.

3.2.1 Perancangan Struktur Menu

Struktur menu dirancang sesuai dengan level pengguna sistem. Pengguna perangkat lunak ini adalah user. Adapun struktur menunya dapat dilihat pada Gambar 3.23.

(62)

3.2.2 Perancangan Antarmuka Perangkat Lunak

Interface atau antar muka merupakan tampilan dari suatu perangkat lunak yang berperan sebagai media komunikasi yang digunakan sebagai sarana berdialog antara perangkat lunak dengan user. Sistem yang akan dibangun diharapkan menyediakan interface yang mudah dipahami dan digunakan oleh user.

1. Perancangan Form Menu

Gambaran umum dari perancangan antarmuka form menu dapat dilihat pada Gambar 3.24.

- Font family sans, ukuran

dan warna menyesuaikan

- Warna background

#ffffff

Gambar 3.24 Perancangan Form Menu

2. Perancangan Form Tambah Data Ras Kucing

Gambaran umum dari perancangan antarmuka form tambah data ras kucing dapat dilihat pada Gambar 3.25.

(63)

- Klik save maka akan

Gambar 3.25 Perancangan Form Tambah Data Ras Kucing

3. Perancangan Form Deteksi

Gambaran umum dari perancangan antarmuka form deteksi dapat dilihat pada Gambar 3.26.

(64)

4. Perancangan Form List Data Ras Kucing

Gambar 3.27 Perancangan Form Lihat Data Ras Kucing

5. Perancangan Form Lihat Data Ras Kucing

Gambaran umum dari perancangan antarmuka lihat data ras kucing dapat dilihat pada Gambar 3.28.

(65)

3.2.3 Perancangan Pesan

Perancangan pesan mendeskripsikan rencana tampilan dari setiap pesan yang akan digunakan. Berikut ini gambaran dari perancangan pesan yang terlihat pada Gambar 3.29 sampai dengan Gambar 3.30.

1. Perancangan Pesan Berhasil Mendeteksi

Pesan ini muncul pada saat sistem berhasil melakukan mengidentifikasi ras. Adapun gambaran umum dari perancangan pesan berhasil mendeteksi yang dapat dilihat pada Gambar 3.30.

M01 – Pesan berhasil mendeteksi

Gambar 3.29 Perancangan Pesan Berhasil Mendeteksi

2. Perancangan Pesan Simpan Data

Pesan ini muncul pada saat sistem menyimpan data. Adapun gambaran umum dari perancangan pesan simpan datayang dapat dilihat pada Gambar 3.30

M02 – Pesan Simpan Data

(66)

3.2.4 Jaringan Semantik

Jaringan semantik merupakan gambaran hubungan antara form dan pesan. Jaringan semantik yang dijelaskan pada Gambar 3.31.

(67)

7

TINJAUAN PUSTAKA

2.1 Kucing

Kucing yang bernama ilmiah Felis silvestris catus adalah sejenis karnivora yang statusnya telah dijinakan. Saat ini, kucing adalah salah satu hewan peliharaan terpopuler di dunia[8]. Kucing yang garis keturunannya tercatat secara resmi sebagai kucing trah atau galur murni (pure breed), seperti persia, siam, manx, dan sphinx. Kucing seperti ini biasanya dibiakkan di tempat pemeliharaan hewan resmi. Jumlah kucing ras hanyalah 1% dari seluruh kucing di dunia, sisanya adalah kucing dengan keturunan campuran seperti kucing liar atau kucing kampung.

Jumlah jenis kucing ras di seluruh dunia amat banyak. Ada 32 kucing yang diakui secara internasional[2]. Sedangkan asosiasi/club kucing di Indonesia, yaitu ICA, CFI, dan CFSI, mengacu ke asosiasi internasional tsb (khususnya ke FIFE, CFA, dan TICA). Adapun kucing terpopular di Indonesia yaitu persian, exotic, anggora, siam dan maine coon. Menurut dalam artikel binatang.net terdapat 5 jenis kucing terpopular di Inonesia yaitu persia, exotic, anggora, himalayan, dan kucing kampung. Setiap ras memiliki ciri yang khusus seperti yang diuraikan oleh The International Cat Association (TICA) diantaranya[9] :

2.1.1 Persian

Persian adalah jenis kucing berbulu panjang yang berasal dari Persiam Iran. Dan diakui sejak akhir abad 19 dengan dikembangkan pertama kali di Inggris dan Amerika Serikat setelah Perang Dunia Kedua.

Ciri-ciri :

1 Bentuk kepala : bulat dan lebar. 2 Telinga : kecil dan bulat

(68)

4 Dagu : pas ke wajah 5 Hidung : pesek

6 Leher : pendek, tebal, berotot 7 Badan : pedek dan bulat 8 Kaki : besar dan bulat 9 Ekor : pendek dan lurus 10 Bulu : panjang

11 Warna : beragam

12 Sifat : tenang, suka bermain, dan mudah disayangi

Harga : sekitar 1,5 jutaan rupiah ke atas.

2.1.2 Exotic

Kucing ini merupakan versi pendek dari kucing Persia. Sejak tahun 1987 kucing ini hanya boleh disilangkan dengan kucing Persia dan merupakan persilangan antara kucing persia dan american shorthair. Kucing ini tenang dan kalem dan pandai berburu tikus.

Ciri-ciri :

1 Bentuk kepala : bulat dan lebar. 2 Telinga : kecil dan bulat

3 Mata : besar, bulat 4 Dagu : pas ke wajah 5 Hidung : pesek

(69)

Harga : sekitar 1,5 jutaan rupiah ke atas.

2.1.3 Anggora

Anggora adalah salah satu kucing ras tertua yang berasal dari kota Angora pada tahun 1930 disebut Ankara, Turki. Sebenarnya kucing Angora yang asli hanyalah memiliki warna bulu putih dengan mata biru atau kuning. Namun saat ini terdapat berbagai variasi warna seperti putih, hitam, cokelat, blangtelon (tiga warna), kucing, dan lain sebagainya. Anggora bergerak sedikit lemah gemulai seperti penari.

Ciri-ciri :

1 Bentuk kepala : kecil, lembut, dan datar 2 Telinga : besar, lebar, runcing

3 Mata : besar, seperti walnut dengan warna mata biru atau kuning 4 Dagu : tegak lurus dengan hidung

5 Hidung : mancung

6 Leher : ramping dan anggun 7 Badan : panjang dan ramping 8 Kaki : panjang dan bulat

9 Ekor : panjang dengan ujung menyempit 10 Bulu : panjang

11 Warna : Putih bersih, sebagian besar warna dan pola muncul jika merupakan hasil kawin silang seperti warna cokelat dan lembayung 12 Sifat : selalu siaga, setia, cerdas, mudah penasaran

(70)

2.1.4 Himalayan

Merupakan kucing berbulu panjang yang terlihat sangat identik dengan kucing Persia. Kucing ini mulai dikenal di eropa pada tahun 1950-an. Kucing ini cenderung memiliki tubuh yang bulat dengan kaki pendek. Kucing ini ternyata adalah hasil persilangan antara kucing Persia dengan kucing Siam.

Ciri-ciri :

1 Bentuk kepala : bulat dan lebar. 2 Telinga : kecil dan bulat

3 Mata : besar, bulat berwarna biru 4 Dagu : pas ke wajah

5 Hidung : pesek

6 Leher : pendek, tebal, berotot 7 Badan : pedek dan bulat 8 Kaki : besar dan bulat 9 Ekor : pendek dan lurus 10 Bulu : panjang

11 Warna : bersih dan harus ada kontras pada telinga, kaki, kaki, ekor 12 Sifat : berisik, aktif, penuh kasih sayang

Harga : berkisar antara Rp. 1.000.000,00 – Rp. 5.000.000,00

2.1.5 Kucing Kampung

Kucing kampung disebut juga kucing lokal atau kucing domestik. Kucing kampung adalah kucing yang sering ditelantarkan orang dan diabaikan ini. Kucing ini menyebar di berbagai penjuru dunia. Kucing keturunan campuran atau kucing liar atau kucing kampunglah yang paling banyak dijumpai.

Ciri-ciri:

(71)

3 Mata : besar, berwarna hijau atau kuning 4 Dagu : lancip

5 Hidung : mancung

6 Leher : pendek, tebal, berotot 7 Badan : pedek dan bulat 8 Kaki : kecil dan panjang 9 Ekor : pendek, panjang 10 Bulu : pendek

11 Warna : beragam

(72)

2.2 Citra

Citra atau Image adalah istilah untuk gambar sebagai salah satu komponen multimedia yang memegang peranan sangat penting sebagai bentuk informasi visual. Secara harafiah, citra adalah gambar pada bidang dwimatra (dua dimensi). Citra mempunyai karakteristik yang tidak dimiliki oleh teks, yaitu citra kaya dengan informasi. Ada sebuah peribahasa yang berbunyi “sebuah gambar bermakna lebih dari seribu kata” (a picture is more that a thousand word). Maksudnya adalah sebuah gambar dapat memberikan informasi yang lebih banyak daripada informasi berbentuk kata-kata[10].

Suatu citra digital dianggap sebagai suatu matriks, dimana indeks baris dan kolomnya menyatakan koordinat sebuah titik pada citra tersebut dan nilai masing masing elemennya menyatakan intensitas cahaya pada titik tersebut. Suatu titik pada sebuah citra digital sering disebut sebagai elemen citra, elemen gambar, dan pixel.

Di dalam bidang komputer, sebenarnya ada tiga bidang studi yang berkaitan dengan data citra, namun tujuan ketiganya berbeda, yaitu:

1. Grafika Komputer (computer graphics). 2. Pengolahan Citra (image processing).

3. Pengenalan Pola (pattern recognition/image interpretation).

Grafika Komputer bertujuan menghasilkan dengan primitif-primitif geometri seperti garis, lingkaran, dan sebagainya. Contohnya menggambar sebuah ‘rumah’ yang dibentuk dari garis-garis lurus, dengan data masukan berupa koordinat awal dan koordinat ujung garis.

(73)

Pengenalan Pola adalah mengelompokkan data numerik dan simbolik termasuk citra secara otomatis oleh mesin atau komputer. Tujuan pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainnya. Kemampuan sistem visual manusia inilah yang dicoba ditiru oleh mesin. Contoh pengenalan pola tulisan tangan yang digunakan sebagai data masukan untuk

mengenali karakter ‘A’. Dengan menggunakan suatu algoritma pengenalan pola,

(74)

2.3 Pengenalan Wajah

Pada pengenalan wajah diperlukannya pendeteksian dan pelabelan gambar wajah. Pendeteksian wajah adalah suatu metode pengenalan yang berorientasi pada wajah. Sedangkan pelabelan wajah adalah memberikan label kepada suatu gambar yang dianggap sama dengan wajah yang sebelumnya telah disimpan. Pendeteksian wajah pada perangkat lunak ini menggunkan metode Viola-Jones sedangkan pelabelan wajah menggunakan metode Local Binary Pattern Histograms (LBPH). Berikut ini adalah penjelasan lebih lanjutnya[4].

2.3.1 Metode Viola Jones

Proses deteksi adanya citra wajah dalam sebuah gambar pada OpenCV, menggunakan sebuah metode yaitu Viola-Jones yang dipublikasikan oleh Paul Viola dan Michael Jones tahun 2001. Metode Viola Jones menggunakan data latih yang digunakan dalam proses pengklasifikasian citra. Klasifikasi citra dilakukan berdasarkan nilai dari sebuah fitur. Fitur-fitur ini merupakan gambaran dari wajah biasa disebut sebagai Haar Feature.

Ada tiga konsep utama untuk mendeteksi objek dalam gambar yaitu [11] :

1. Training Data

2. Fitur segi empat sederhana yang disebut fitur Haar. 3. Integral image untuk pendeteksian fitur secara cepat.

4. Pengklasifikasi bertingkat (Cascade classifier) untuk menghubungkan banyak fitur secara efisien.

2.3.1.1Training Data

(75)

Metode ini memerlukan 2 tipe gambar objek dalam proses training yang dilakukan, yaitu [12]:

1. Positive Sample

Berisi gambar objek yang akan dideteksi. Apabila kita ingin mendeteksi wajah, maka positif sample ini adalah wajah.

2. Negative Sample

Berisi gambar objek selain objek yang ingin kita kenali. Umumnya berupa background seperti gunung, rumah, hutan, gedung dan lain sebagainya.

2.3.1.2Haar Feature

Haar Feature adalah fitur yang digunakan dalam metode Viola-Jones yang dapat juga disebut fitur gelombang tunggal bujur sangkar. Fitur ini adalah fitur yang digunakan oleh Viola dan Jones didasarkan pada Wavelet Haar. Wavelet Haar adalah gelombang tunggal segi empat (satu interval tinggi dan satu interval rendah) . Untuk dua dimensi, satu terang dan satu gelap. Selanjutnya kombinasi-kombinasi kotak yang digunakan untuk pendeteksian objek visual yang lebih baik.

Adanya fitur Haar ditentukan dengan cara mengurangi rata-rata piksel pada daerah gelap dari rata-rata piksel pada daerah terang. Jika nilai perbedaannya itu di atas nilai ambang atau treshold, maka dapat dikatakan bahwa fitur tersebut ada. Selanjutnya untuk menentukan ada atau tidaknya dari ratusan fitur Haar pada sebuah gambar dan pada skala yang berbeda secara efisien digunakan citra Integral.

Dalam OpenCV terdapat suatu library untuk membantu proses deteksi wajah yaitu Haarcascade_frontalface_alt yang berfungsi sebagai proses untuk memanggil bebarapa fitur Haar dalam suatu gambar.

(76)

Gambar 2.1 Point Fitur Metode Viola Jones

Pada gambar di atas dapat dilihat bahwa fitur (a) dan (b) terdiri dari dua persegi panjang, sedangkan fitur (c) dan (d) terdiri dari tiga persegi panjang dan fitur (e) empat persegi panjang. Cara menghitung nilai dari fitur ini adalah mengurangkan nilai piksel pada area hitam dengan piksel pada area putih. Untuk mempermudah proses penghitungan nilai fitur, algoritma Viola-Jones menggunakan sebuah media berupa citra integral.

2.3.1.3Citra Integral (Integral Image)

Untuk menghitung nilai dari setiap fitur Haar maka digunakan citra integral. Setiap fitur mempunyai nilai yang berbeda sehingga dibutuhkan cara untuk mendapatkan fitur yang memiliki nilai yang paling baik.

Citra integral adalah sebuah citra yang nilai tiap pikselnya merupakan akumulasi dari nilai piksel atas dan kirinya. Sebagai contoh, piksel (a,b) memiliki nilai akumulatif untuk semua piksel (x,y) dimana x ≤ a dan y ≤ b.

Proses pencarian nilai fitur ini dilakukan secara iteratif mulai dari ujung kiri atas citra hingga ujung kanan bawah dengan pergeseran sebesar ∆x dan ∆y. Semakin kecil nilai ∆x dan ∆y, maka semakin akurat pula proses deteksi. Nilai ∆x dan ∆y yang sering digunakan adalah 1.

2.3.1.4Cascade Classified

(77)

Gambar 2.2 Cascade Classified

2.3.2 Local Binari Pattern Histograms (LBPH)

Local Binary Pattern Histogram (LBPH) adalah fitur untuk mengklasifikasi yang dikombinasikan dengan histogram dan merupakan teknik baru dari metode LBP untuk mengubah performa hasil pengenalan wajah. LBP pada umumnya didesain utuk pengenalan tekstur. LBPH adalah metode yang paling cocok untuk dilakukan pengenalan citra wajah untuk diimplementasikan pada perangkat bergerak android karena menggunakan penghitungan yang sederhana mengingat resource android yang terbatas [4].

(78)

1 2 2 Threshold 0 0 1

Binary : 00010011 Desimal :19

9 5 6 1 1

5 3 1 1 0 0

Gambar 2.3 Contoh Proses Perhitungan LBPH

Secara umum penghitungan LBP ini bisa dilakukan dengan rumus berikut:

...(1)

Dengan P adalah nilai sampling point yang digunakan dan R adalah besar radius. adalah besar nilai pixel tetangga, besar nilai tengah pixel pada sampling point[1]. Pada penghitungan ini dilakukan replacing pixel

atau penggantian pixel dengan nilai nol dan satu. Untuk pengklasifikasian citra dengan menghitung chi square.

...(2)

(79)

2.3.3 Grayscale

Grayscale yaitu mengubah citra RGB menjadi citra keabuan yang digunakan untuk menyederhanakan model citra, sehingga waktu yang dibutuhkan untuk melakukan proses selanjutnya berjalan lebih cepat. Hal ini bisa dilakukan karena perhitungan yang terjadi hanya dilakukan pada satu layer saja, yaitu layer derajat keabuan.

Untuk mendapatkan citra grayscale, kita bisa menggunakan rumus dibawah ini [13]:

... (3)

Dimana

r, g, b = nilai Red, Green, dan Blue

s = nilai grayscale

2.3.4 Scaling

Scaling atau penskalaan citra merupakan suatu proses pengubahan ukuran citra baik itu memperkecil maupun memperbesar ukuran citra. Untuk mendapatkan scaling atau penskalaan citra dapat menggunakan rumus seperti di bawah ini [14]:

... (4)

... (5)

(80)

2.4 Object Oriented Programing (OOP)

Object Oriented Programing atau OOP adalah cara membangun aplikasi/sistem dengan menggunakan beberapa objek yang akan saling berinteraksi satu sama lainnya[15]. Terdapat komponen-komponen dalam OOP diantaranya :

1 Object

Objek adalah object konsepsi atau benda di dunia nyata yang bisa dibedakan satu dengan yang lainnya. Objek dapat dibentuk dari domain permasalahan yang diambil. Objek mempunyai identitas, properti, dan tingkah laku. Objek merupakan hasil realisasi dari class.

2 Class

Class adalah rancangan atau Blue Print atau Sketsa dari sebuah objek. Secara umum, class memiliki dua macam anggota yaitu field dan method. Field adalah atribut yang dimiliki oleh objek dari class. Sedangkan method adalah aksi/tindakan yang dapat dilakukan oleh objek.

Gambar 2.4 Perbedaan Class dan Object [15]

3 Enkapsulasi

(81)

diakses sewaktu-waktu, sekaligus menjaga program tersebut.Keuntungan Enkapsulasi:

1. Memudahkan orang lain untuk menggunakan class yang telah dibuat.

2. Menjamin data-data penting dari class agar tetap aman. 3. Menjaga agar nilai dari field dalam class kita tetap valid. 4 Asosiasi

Asosiasi merupakan relasi antara dua buah class dengan cara membuat objek dari class lain sebagai atribut dari class tersebut. Contohnya : asosiasi karyawan pada unit kerja. Setiap karyawan bekerja di satu unit kerja, sedangkan unit kerja dapat memiliki beberapa karyawan.

5 Komposisi

Komposisi merupakan relasi antara dua buah class dimana relasi antara dua buah class kuat, sehingga jika salah satu class tidak ada maka class yang lain pun tidak ada. Komposisi mempunyai hubungan bagian

(82)

2.5 Unified Modeling Language (UML)

UML merupakan bahasa standar untuk merancang dan mendokumentasikan perangkat lunak dengan cara yang berorientasi objek[16]. Ada beberapa diagram yang digunakan proses pembuatan perangkat lunak. Berikut adalah diagram-diagram tersebut :

1 Use Case Diagram

Use case menjelaskan bagaimana sistem digunakan dan merupakan titik awal dari pemodelan UML. Use case mendeskripsikan apa yang sistem lakukan tanpa mendeskripsikan bagaimana sistem menyelesaikannya. Dibuat berdasarkan dari relasi dari individu use case yang berisi aktor, asosiasi dan use case. Lalu use case tersebut dijelaskan dalam use case scenario.

Gambar 2.5 Contoh Usecase Diagram

2 Activity Diagram

(83)

memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan.

Gambar 2.6 Contoh Activity Diagram

3 Sequence Diagram

Sequence diagram merupakan suatu diagram yang menggambarkan interaksi antar objek dan mengindikasikan komunikasi diantara objek-objek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh objek-objek yang melakukan suatu tugas atau aksi tertentu.

4 Class Diagram

(84)

Gambar 2.7 Contoh Class Diagram

Berikut ini beberapa gambaran relasi yang ada dalam class diagram.

a. Asosiasi

Asosiasi merupakan hubungan antar class yang statis. Class yang mempunyai relasi asosiasi menggunakan class lain sebagai atribut pada dirinya. Sebuah asosiasi dapat memiliki atribut dan operasi seperti halnya sebuah class. Asosiasi digambarkan dengan garis panah lurus.

b. Agregasi

Agrerasi merupakan relasi yang membuat class yang saling berelasi terikat satu sama lain namun tidak terlalu berkegantungan. Agregasi memiliki titik pusat yang mencakup keseluruhan bagian. Sebagai contoh : OrderDetail merupakan kumpulan dari Order atau Klub merupakan kumpulan dari Orang.

c. Composition

Composition merupakan relasi agregasi dengan mengikat satu sama lain dengan ikatan yang sangat kuat dan saling berkegantungan.

Composition memiliki hububgan “part-of”. Sebagai contoh : mesin

(85)

d. Depedency

Dependency merupakan hubungan antar-class di mana class yang memiliki relasi dependency menggunakan class lain sebagai attribute pada method. Notasi depedency pada UML dapat mengunakan garis putus-putus dan tanda panah pada ujungnya.

e. Generalization

(86)

2.6 Android

Android adalah sistem operasi untuk perangkat mobile yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Android merupakan sebuah perangkat lunak untuk perangkat mobile, yang mana terdiri dari sebuah sistem operasi[17]. Berikut penjelasan mengenai layer arsitektur android:

1 Applications

Ini adalah layer dimana mendownload aplikasi kemudian melakukan instalasi dan menjalankan aplikasi. Pada layer ini terdapat aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain.

2 Application Framework

Dengan menyediakan sebuah platform pengembangan yang terbuka, pengembang Android menawarkan kemampuan untuk membangun aplikasi yang sangat kaya dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resource, mengatur alarm, menambah status notification, dan sebagainya.

3 Libraries

Pada layer ini dimana fitur-fitur android berada termasuk satu set pustaka C/C++ yang digunakan oleh berbagai komponen sistem Android. Pada layer ini terdapatlibraries media, libraries manajemen tampilan, libraries graphics, libraries SQLite, libraries SSL dan Webkit, dan sebagainya.

4 Android Runtime

Layer yang membuat aplikasi android dapat dijalankan di mana dalam prosesnya menggunakan implementasi Linux. Pada layer ini dibagi menjadi dua bagian yaitu Core Libraries dan Dalvik Virtual Machine.

(87)

Android bergantung pada Linux versi 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, network stack, dan model pengemudi. Kernel juga bertindak sebagai lapisan abstraksi antara hardware dan seluruh software stack.

Gambar 2.8 Arsitektur Android

2.6.1 Android Software Development Kit (Android SDK)

(88)

2.6.2 Dalvik Debug Monitor Server (DDMS)

DDMS merupakan tools debugging pada Android yang menyediakan pengambilan gambar layar pada device, informasi thread dan heap pada device, logcat untuk melihat informasi tentang proses yang sedang berjalan, melihat pesan error yang dikirimkan, warning, proses, panggilan masuk dan SMS, data lokasi, dan lainnya. DDMS diintegrasikan kedalam Eclipse dan juga terdapat dalam direktori /tools/ pada Android SDK.

2.6.3 Android Development Tools (ADT)

(89)

2.7 Perangkat Lunak Pendukung 2.7.1 Eclips

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk pengembangan java/android yang open source. Versi eclipse yang ada sekarang sudah banyak seperti Eclipse Helios (eclipse versi 3.6), Eclipse Galileo (eclipse versi 3.5), Eclipse Ganymede (eclipse versi 3.4) , dan sebagainya[17]. Berikut ini adalah sifat dari Eclipse:

1 Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows,Linux, Solaris, AIX, HP-UX dan Juga Mac OS X.

2 Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

3 Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

2.7.2 OpenCV

(90)

Library ini memiliki lebih dari 2500 algoritma yang dioptimalkan, yang mencakup seni computer vision dan machine learning algorithm. Algoritma ini dapat digunakan untuk mendeteksi dan mengenali wajah, mengidentifikasi objek, mengklasifikasikan tindakan manusia dalam video, gerakan kamera, pergerakan benda, ekstrak model 3D, menemukan gambar yang sama dari database gambar, menghapus mata merah dari gambar yang diambil, mengikuti gerakan mata, mengenali pemandangan dan sebagainya. OpenCV memiliki lebih dari 47 ribu pengguna dan diperkirakan jumlah download-an melebihi 7 juta.[18]

2.7.3 SQLite

SQLite adalah mesin database SQL embedded. Tidak seperti kebanyakan database SQL lainnya, SQLite tidak memiliki proses server yang terpisah. SQLite membaca dan menulis langsung ke file disk. Sebuah database SQL, lengkap dengan beberapa tabel, indeks, triggers, dan view, yang terkandung dalam sebuah file disk tunggal. Format file database dapat digunakan di berbagai platform. Fitur SQlite membuat SQLite menjadi pilihan populer sebagai penyimpanan data. [19]

2.7.4 Adobe Photoshop

(91)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Kucing adalah hewan yang popular dipelihara saat ini. Kucing telah berbaur dengan manusia sejak 6000SM, dengan ditemukannya kerangka kucing di pulau Sirpus [1]. Kucing telah menyebar di berbagai penjuru dunia. Kucing keturunan campuran seperti kucing liar atau kucing kampunglah yang mendominasi sedangkan jumlah kucing ras hanyalah 1% di seluruh dunia, sehingga harga kucing ras cenderung mahal. Setiap ras memiliki ciri khusus, tapi karena sering terjadinya kawin silang, maka penentuan ras kucing asli menjadi sulit.

Perdagangan kucing tidak resmi memberi celah dalam penjualan kucing yang bukan dari ras yang sesungguhnya, sehingga menimbulkan kerugian bagi pembelinya. Banyaknya ras kucing yaitu sekitar 32 kucing yang diakui secara internasional [2] dapat membingungkan pembelinya.

Banyak metode dalam pembangunan pendeteksi gambar, salah satunya yang saat ini banyak dikembangkan adalah Viola-Jones. Selain itu metode Viola-Jones relatif mendapatkan hasil yang cepat, akurat, dan efisien [3]. Metode ini digunakan dengan cara menghitung perbedaan jumlah setiap piksel pada daerah persegi panjang (rectangular) yang berdekatan pada lokasi tertentu dalam jendela deteksi. Pada Metode ini terdapat beberapa algoritma yang digunakan seperti

Gambar

Gambar 3.4 Pallete skala grayscale
Tabel 3.2 Nilai Grayscale Hasil Perhitungan
Tabel 3.3 Nilai Data Gambar
Gambar 3.5 Flowchart Penyimpanan Data Gambar
+7

Referensi

Dokumen terkait

Kesimpulan yang dapat ditarik dari pembuatan Aplikasi Pemesanan Rental Mobil Berbasis Mobile pada PT Autobridal Prioritas 3 adalah :. Aplikasi ini dapat menangani kegiatan

Berdasarkan hasi pengujian alpha (fungsional) dengan kasus uji diatas dapat ditarik kesimpulan bahwa pembangunan aplikasi e-commerce berbasis web di U-GAY Shop sudah

Dapat dilihat pada tabel tersebut, seluruh skenario uji coba yang telah dilakukan berhasil dan aplikasi berjalan dengan baik, sehingga dapat ditarik kesimpulan bahwa

Setelah dilakukan uji coba dan evaluasi terhadap aplikasi pembelajaran aksara jawa ini, maka dapat ditarik kesimpulan sebagai berikut: Aplikasi ini dapat menjadi media

Dari analisa uji coba penelitian, maka dapat ditarik kesimpulan sebagai berikut: (1) Aplikasi dapat melakukan deteksi dini tumbuh kembang anak dari usia nol

Dari analisa uji coba penelitian, maka dapat ditarik kesimpulan sebagai berikut: (1) Aplikasi dapat melakukan deteksi dini tumbuh kembang anak dari usia nol

Berdasarkan hasil pengujian dengan metode black box testing maka dapat ditarik kesimpulan bahwa pembangunan aplikasi The Lost Insect tidak terdapat kesalahan proses dan

Dapat dilihat pada tabel tersebut, seluruh skenario uji coba yang telah dilakukan berhasil dan aplikasi berjalan dengan baik, sehingga dapat ditarik kesimpulan bahwa