• Tidak ada hasil yang ditemukan

Jaringan Saraf Tiruan Propagasi Balik Tiga Faktor Dalam Pengenalan Sidik Jari

N/A
N/A
Protected

Academic year: 2016

Membagikan "Jaringan Saraf Tiruan Propagasi Balik Tiga Faktor Dalam Pengenalan Sidik Jari"

Copied!
130
0
0

Teks penuh

(1)

JARINGAN SARAF TIRUAN PROPAGASI BALIK TIGA FAKTOR

DALAM PENGENALAN SIDIK JARI

SKRIPSI

FANINDIA

071402017

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

JARINGAN SARAF TIRUAN PROPAGASI BALIK TIGA FAKTOR DALAM PENGENALAN SIDIK JARI

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Teknologi Informasi

FANINDIA 071402017

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : JARINGAN SARAF TIRUAN PROPAGASI BALIK

TIGA FAKTOR DALAM PENGENALAN SIDIK JARI

Kategori : SKRIPSI

Nama : FANINDIA

Nomor Induk Mahasiswa : 071402017

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Januari 2013

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M.Anggia Muchtar,ST.,MMIT Drs. Suyanto, M.Kom NIP 198001102008011010 NIP 195908131986011002

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

(4)

PERNYATAAN

JARINGAN SARAF TIRUAN PROPAGASI BALIK TIGA FAKTOR DALAM PENGENALAN SIDIK JARI

SKRIPSI

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

Medan, Januari 2013

(5)

PENGHARGAAN

Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada Bapak Drs. Suyanto, M.Kom. selaku pembimbing satu dan M.Anggia Muchtar,ST.,MMIT. selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan kepada Sajadin Sembiring SSi.MComp.Sc dan Drs.Sawaluddin MIT. yang telah bersedia menjadi dosen penguji. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.

(6)

ABSTRAK

Pengenalan sidik jari merupakan salah satu pengenalan pola yang cukup rumit. Hal ini dikarenakan pola sidik jari yang unik yang berbeda tiap manusia. Pengenalan sidik jari melibatkan dua proses yaitu ekstraksi fitur dan pengenalan. Sebelum mengalami ekstraksi fitur, citra mengalami prapengolahan citra seperti deteksi tepi, dan binerisasi. Pada penelitian ini digunakan ekstraksi fitur dengan metode wavelet, yang dapat mendekomposisi citra menghasilkan koefisien yang digunakan sebagai nilai masukan pada jaringan saraf tiruan. Jaringan saraf tiruan berfungsi dalam pembelajaran untuk mengenali pola. Algoritma jaringan saraf tiruan yang digunakan adalah propagasi balik. Pada penelitian ini, peneliti menggunakan tiga parameter pembelajaran yakni laju pembelajaran, momentum dan faktor proporsional. Dari hasil penelitian, pelatihan jaringan saraf tiruan dengan menggunakan arsitektur jaringan 121 neuron pada lapisan masukan, 25 neuron pada lapisan tersembunyi, dan 5 neuron pada lapisan keluaran mampu menghasilkan kemampuan mengenali terbaik sebesar 100% menggunakan data pelatihan sedangkan kemampuan mengenali menggunakan data pengujian sebesar 55%.

(7)

THREE TERM OF BACKPROPAGATION NEURAL NETWORK IN FINGERPRINT RECOGNITION

ABSTRACT

Fingerprint recognition is one of the most complex pattern recognition. This problem because fingerprint of each human is different. Fingerprint recognition involves two processes, consist on feature extraction and recognition. Prior feature extraction, image can be processed edge detection and thresholding. This research use wavelet as feature extraction, which can decompose the image and produces coefficients that are used as input values to the neural network. Neural network is used as learning to recognize pattern. Algorithm of neural network which used in this research is backpropagation. In this research, researcher used three parameters of learning in neural network, such as learning rate, momentum and proportional term. Network architecture using 121 neurons in input layer, 25 neurons in the hidden layer and 5 neurons in the output layer. The best recognition result of this research is about 100% in data training and 55% in data testing.

Keywords: fingerprint recognition, wavelet, backpropagation neural network, proportional term

(8)

DAFTAR ISI

2.3.3 Ekstraksi Ciri (Feature Extraction) ... 15

2.4 Jaringan Saraf Tiruan ... 17

2.4.1 Model Saraf (Neuron) ... 18

2.4.2 Arsitektur Jaringan Saraf Tiruan ... 18

2.5 Algoritma Propagasi Balik ... 21

2.5.1 Proses Komputasi Propagasi Balik ... 21

2.5.1.1 Komputasi maju (forward) ... 21

2.5.1.2 Komputasi Mundur (backward) ... 23

2.5.1.3 Perbaharuan Bobot ... 23

2.5.2. Perhitungan Error ... 24

2.5.3 Optimalitas Arsitektur Jaringan Saraf Propagasi Balik ... 25

2.5.3.1 Pemilihan Bobot dan Bias Awal ... 25

2.5.3.2 Laju Pembelajaran (learning rate) ... 26

2.5.3.3 Momentum ... 26

2.5.3.4 Faktor Proporsional ... 27

2.5.4 Fungsi Aktivasi ... 28

2.5.4.1 Fungsi Sigmoid Biner (logsig) ... 28

2.5.4.2 Fungsi Sigmoid Bipolar ... 28

2.6 K-Fold Cross Validation ... 28

(9)

Bab 3 Analisis dan Perancangan Sistem ... 33

3.1 Analisis Data Sistem ... 33

3.1.1 Akuisisi Citra ... 33

3.1.2 Praproses Citra ... 34

3.1.2.1 Deteksi Tepi... 34

3.1.2.2 Binerisasi ... 37

3.1.2.2 Ekstraksi Fitur (Feature Extraction) ... 38

3.2 Perancangan Sistem ... 43

3.2.1 Perancangan Jaringan Saraf Tiruan Propagasi Balik ... 44

3.2.2 Pelatihan Jaringan Saraf Tiruan Propagasi Balik ... 47

3.2.3 Pengujan Jaringan Saraf Tiruan Propagasi Balik ... 52

3.2.4 K-fold Cross Validation ... 55

3.3 Perancangan Antarmuka Pengguna (User Interface) ... 56

3.3.1 Rancangan Form Utama ... 56

3.3.2 Rancangan Login ... 57

3.3.3 Rancangan Data Pengguna ... 57

3.3.4 Rancangan Data Latih Sidik Jari... 58

3.3.5 Rancangan Data Uji Sidik Jari ... 59

3.3.6 Rancangan Data Pelatihan ... 59

3.3.7 Rancangan Proses Latih ... 60

3.3.8 Rancangan Proses Uji ... 61

3.3.9 Rancangan Form Ten Fold Cross Validation... 61

Bab 4 Implementasi dan Pengujian... 62

4.1 Implementasi Sistem ... 62

4.1.1 Lingkungan Implementasi ... 62

4.1.2 Tampilan Implementasi Program... 63

4.2 Pengujian Sistem ... 71

4.2.1 Hasil Pelatihan Jaringan Saraf Tiruan Propagasi Balik ... 71

4.2.2 Pengujian Akurasi Data Menggunakan 10 Fold Cross Validation ... 73

Bab 5 Penutup ... 75

5.1 Kesimpulan ... 75

5.2 Saran ... 75

Daftar Pustaka ... 76

Lampiran A: Listing Program ... 78

Lampiran B: Sampel Sidik Jari ... 111

(10)

DAFTAR TABEL

Halaman

Tabel 2.1 Penelitian Terdahulu 29

Tabel 3.1 Susunan Data Pelatihan 45

(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Struktur Sistem Pengenalan Pola ... 7

Gambar 2.2 Sidik Jari ... 9

Gambar 2.3 Karakteristik Ciri Sidik Jari Level 1 ... 10

Gambar 2.4 Karakteristik Ciri sidik jari level 2 dan 3 ... 10

Gambar 2.5 Gambar kualitas sidik jari ... 10

Gambar 2.6 Representasi sistem koordinat citra... 11

Gambar 2.7 Piksel Bertetangga... 14

Gambar 2.8 Kernel Operator Sobel ... 15

Gambar 2.9 Contoh transformasi wavelet pada citra ... 16

Gambar 2.10 Model saraf (neuron) ... 18

Gambar 2.11 Arsitektur Jaringan saraf tiruan ... 20

Gambar 3.1 Praproses Citra ... 34

Gambar 3.2 Dua buah matriks kernel Sobel ... 34

Gambar 3.3 Flowchart Deteksi Tepi Sobel ... 35

Gambar 3.4 Matriks 3x3 pixel dengan 2 operator Sobel ... 36

Gambar 3.5 Nilai konvolusi (M) sekitar piksel 3x3 ... 36

Gambar 3.6 Matriks Hasil Deteksi Tepi ... 37

Gambar 3.7 Citra Hasil Deteksi Tepi ... 37

Gambar 3.8 Citra Hasil Binerisasi ... 38

Gambar 3.9 Citra Hasil Dekomposisi Wavelet ... 38

Gambar 3.10 Transformasi Wavelet pada kolom ... 40

Gambar 3.11 Transformasi Wavelet pada baris ... 41

Gambar 3.12 Transformasi Wavelet l ... 42

Gambar 3.13 Koefisien Wavelet ternormalisasi ... 43

Gambar 3.14 Flowchart Sistem... 44

Gambar 3.15 Arsitektur Jaringan Saraf Tiruan Propagasi Balik ... 46

Gambar 3.16 Flowchart Pelatihan... 49

Gambar 3.17 Flowchart Pengujian ... 53

Gambar 3.18 Rancangan form utama ... 57

Gambar 3.19 Rancangan Login ... 57

Gambar 3.20 Rancangan Data Pengguna ... 58

Gambar 3.21 Rancangan Data Latih sidik jari ... 58

Gambar 3.22 Rancangan Data Uji Sidik Jari ... 59

Gambar 3.23 Rancangan Data Pelatihan ... 60

Gambar 3.24 Rancangan Form Proses Latih ... 60

Gambar 3.25 Rancangan Form Proses Uji ... 61

Gambar 3.26 Rancangan Form 10 fold cross validation ... 61

Gambar 4.1 Menu Utama Program ... 63

Gambar 4.2 Menu Otorisasi ... 64

Gambar 4.3 Form Data Pengguna ... 64

Gambar 4.4 Form Data Sidik Jari ... 65

Gambar 4.5 Proses Penyimpanan Data Sidik Jari ... 66

Gambar 4.6 Data Pelatihan ... 66

(12)

Gambar 4.8 Tampilan Form Memorisasi ... 68

Gambar 4.9 Tampilan Form Generalisasi ... 68

Gambar 4.11 Tampilan Form 10 Fold Cross Validation ... 69

Gambar 4.12 Error Rate (MSE) ... 69

Gambar 4.13 Hasil Uji Sistem ... 70

Gambar 4.14 Konfirmasi Data yang Dikenali ... 70

Gambar 4.15 Citra Uji Tidak Dikenali ... 71

Gambar 4.16 Konfirmasi Data yang tidak Dikenali ... 71

(13)

PENGHARGAAN

Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada Bapak Drs. Suyanto, M.Kom. selaku pembimbing satu dan M.Anggia Muchtar,ST.,MMIT. selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan kepada Sajadin Sembiring SSi.MComp.Sc dan Drs.Sawaluddin MIT. yang telah bersedia menjadi dosen penguji. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.

(14)

ABSTRAK

Pengenalan sidik jari merupakan salah satu pengenalan pola yang cukup rumit. Hal ini dikarenakan pola sidik jari yang unik yang berbeda tiap manusia. Pengenalan sidik jari melibatkan dua proses yaitu ekstraksi fitur dan pengenalan. Sebelum mengalami ekstraksi fitur, citra mengalami prapengolahan citra seperti deteksi tepi, dan binerisasi. Pada penelitian ini digunakan ekstraksi fitur dengan metode wavelet, yang dapat mendekomposisi citra menghasilkan koefisien yang digunakan sebagai nilai masukan pada jaringan saraf tiruan. Jaringan saraf tiruan berfungsi dalam pembelajaran untuk mengenali pola. Algoritma jaringan saraf tiruan yang digunakan adalah propagasi balik. Pada penelitian ini, peneliti menggunakan tiga parameter pembelajaran yakni laju pembelajaran, momentum dan faktor proporsional. Dari hasil penelitian, pelatihan jaringan saraf tiruan dengan menggunakan arsitektur jaringan 121 neuron pada lapisan masukan, 25 neuron pada lapisan tersembunyi, dan 5 neuron pada lapisan keluaran mampu menghasilkan kemampuan mengenali terbaik sebesar 100% menggunakan data pelatihan sedangkan kemampuan mengenali menggunakan data pengujian sebesar 55%.

(15)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi perangkat lunak dewasa ini tidak terlepas dari berkembangnya studi mengenai kecerdasan buatan. Ada dua hal yang termasuk dari kecerdasan buatan ini yaitu peniruan proses berfikir dan peniruan proses komputasi. Salah satu bagian dari peniruan proses komputasi adalah jaringan saraf tiruan.

(16)

(image) based match dengan memperhatikan tingkat global sidik jari. Tahapan awal dalam pengenalan sidik jari adalah prapengolahan citra dan ekstraksi fitur.

Proses ekstraksi fitur dilakukan untuk mendapatkan nilai fitur yang dibutuhkan pada tahap pengklasifikasian. Berbagai metode ekstraksi fitur telah banyak digunakan untuk mendapatkan nilai fitur sebagai masukan dalam pengenalan sidik jari. Salah satu metode yang sering digunakan sebagai ekstraksi fitur adalah transformasi wavelet diskrit. Transformasi wavelet diskrit mempunyai kemampuan ekstraksi fitur yang baik karena fitur-fitur yang penting tidak akan hilang ketika dimensi citra mengalami reduksi (Putra, 2010).

Beberapa penelitian tentang jaringan saraf tiruan propagasi balik telah banyak dilakukan untuk mengamati tingkat konvergensi, lamanya proses pembelajaran dan keakuratan dari algoritma ini dalam mempelajari setiap pola yang dikehendaki dan untuk menghindari local minima saat proses pembelajaran (Zweiri et al.,2003). Beberapa penelitian tersebut dilakukan dengan menitikberatkan pada faktor-faktor yang dianggap dapat mempercepat proses pembelajaran yaitu laju pembelajaran (α) dan momentum ( ). Laju pembelajaran merupakan parameter jaringan dalam mengendalikan proses penyesuaian bobot. Biasanya nilai laju pembelajaran yang optimal bergantung pada kasus yang dihadapi. Momentum digunakan untuk mempercepat pelatihan jaringan. Momentum melibatkan penyesuaian bobot yang ditambah dengan faktor tertentu dari penyesuaian sebelumnya (Haykin, 2009). Agar kedua faktor dapat saling melengkapi maka diperlukan kombinasi kedua parameter ini. Zweiri et al. (2003) mengusulkan penambahan salah satu faktor yang disebut

(17)

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah diuraikan, penggunaan dua parameter dalam pembelajaran jaringan mengalami tingkat konvergensi yang rendah sehingga memerlukan waktu pembelajaran yang cukup lama. Oleh karena itu rumusan masalah pada penelitian ini adalah bagaimana mengimplementasikan faktor proporsional dan mengkombinasikannya dengan dua parameter lainnya agar dapat meningkatkan konvergensi pembelajaran jaringan saraf tiruan propagasi balik serta dapat mengenali pola sidik jari dengan tingkat error yang diinginkan.

1.3 Batasan Masalah

Agar penelitian ini tidak mengambang dan fokus pada hal-hal yang diinginkan, maka perlu adanya beberapa batasan yaitu:

1. Pola sidik jari berupa citra dengan format bitmap (.bmp) mode grayscale 2. Dalam penelitian ini tidak membahas dalam menentukan titik inti (core

point) sidik jari dan penentuan pola tidak berdasarkan minusi.

3. Arsitektur jaringan yang digunakan adalah 121 input neuron, 25 hidden neuron dan 5 output neuron.

1.4 Tujuan penelitian

(18)

1.5 Manfaat Penelitian

Manfaat yang diperoleh dari penelitian ini adalah:

1. Untuk mengetahui kombinasi dari ketiga faktor jaringan saraf tiruan propagasi balik dalam update bobot dan penurunan error pada pembelajaran jaringan saraf tiruan yang dapat mengenali citra sidik jari.

2. Menambah pemahaman penulis mengenai pengenalan pola khususnya sidik jari.

I.6 Metodologi Penelitian

Tahapan-tahapan yang akan dilakukan pada pelaksanaan skripsi ini adalah sebagai berikut:

1. Studi Literatur

Studi literatur dilakukan dengan mengumpulkan bahan-bahan referensi baik dari buku, artikel, paper, jurnal, makalah, maupun situs-situs internet. Studi literatur yang dilakukan terkait dengan pengenalan sidik jari, pengolahan citra dan jaringan saraf tiruan.

2. Analisis Permasalahan

Pada tahap ini dilakukan analisis terhadap hasil studi literatur untuk mengetahui dan mendapatkan pemahaman mengenai jaringan saraf tiruan dalam menyelesaikan masalah pengenalan sidik jari.

3. Perancangan Sistem

Pada tahap ini dilakukan perancangan arsitektur, pengumpulan data pelatihan, pemilihan lingkungan pengembangan, flowchart dan perancangan antarmuka (user interface). Proses perancangan dilakukan berdasarkan hasil analisis studi literatur yang telah didapatkan.

4. Implementasi Sistem

Pada tahap ini dilakukan proses implementasi pengkodean program dalam aplikasi komputer menggunakan bahasa pemrograman yang telah dipilih yang sesuai dengan analisis dan perancangan yang sudah dilakukan.

(19)

Pada tahap ini dilakukan proses pengujian dan percobaan terhadap kemampuan sistem sesuai dengan kebutuhan yang ditentukan sebelumnya serta memastikan program yang dibuat berjalan seperti yang diharapkan.

6. Penyusunan Laporan

Pada tahap ini dilakukan dokumentasi hasil analisis dan implementasi dari system yang telah dibangun sebagai laporan tugas akhir.

1.7 Sistematika Penulisan

Penulisan skripsi ini menggunakan sistematika penulisan yang membagi pembahasan skispi dalam lima bagian utama, yang terdiri atas:

BAB 1: PENDAHULUAN

Pada bab ini merupakan pendahuluan yang berisi latar belakang, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian, dan sistematika penulisan skripsi.

BAB 2: LANDASAN TEORI

Pada bab ini membahas mengenai teori-teori yang digunakan untuk memahami permasalahan yang berkaitan dengan pengenalan sidik jari yaitu pengolahan citra, ektraksi fitur serta metode jaringan saraf tiruan.

BAB 3: ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini berisikan analisis mengenai metode yang digunakan untuk menyelesaikan masalah dan perancangan dari sistem yang dibangun.

BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM

(20)

BAB 5: KESIMPULAN DAN SARAN

(21)

Prapengolahan

Ekstraksi Ciri

Algoritma Pengenalan /

Klasifikasi

Citra

Klasifikasi

BAB 2

LANDASAN TEORI

Pada bab ini akan membahas landasan atas teori-teori yang bersifat ilmiah untuk mendukung penulisan skripsi ini. Teori-teori yang dibahas mengenai pengenalan pola, pengolahan citra, pengenalan pola sidik jari, dan jaringan saraf tiruan serta beberapa sub pokok pembahasan lainnya yang menjadi landasan dalam penulisan skripsi ini.

2.1 Pengenalan pola

Pola adalah entitas yang terdefinisi dan dapat didefinisikan melalui ciri-cirinya (feature). Ciri-ciri tersebut digunakan untuk membedakan satu pola dengan pola yang lain. Dengan kata lain pengenalan pola dapat membedakan satu objek dengan objek lain.

Struktur sistem pengenalan pola ditunjukkan pada gambar 2.1. Sistem pengenalan pola ini terdiri dari suatu sensor (misalnya kamera, dan scanner), teknik prapengolahan, suatu algoritma atau mekanisme ekstraksi ciri dan algoritma untuk klasifikasi atau pengenalan (bergantung pada pendekatan yang dilakukan). Sebagai tambahan, biasanya beberapa data yang sudah diklasifikasikan diasumsikan telah tersedia untuk melatih sistem.

(22)

Prapengolahan meliputi transformasi masukan (input) data mentah untuk membantu kemampuan komputasional dan pencarian ciri. Pada prapengolahan, citra yang ditangkap oleh sensor akan dinormalisasi agar citra menjadi lebih siap untuk diolah pada tahap pemisahan cirri.

Klasifikasi merupakan tahap untuk mengelompokkan data masukan pada satu atau beberapa kelas berdasarkan hasil pencarian beberapa ciri yang signifikan dan pemrosesan atau analisis terhadap ciri itu. Setiap kelas terdiri dari sekumpulan objek yang memiliki kedekatan (kemiripan) ciri (Putra, 2009).

2.2Pengenalan Pola Sidik Jari

Pengenalan sidik jari dianggap sebagai metode yang paling tua di antara jajaran teknologi biometrik lain yang ada, tetapi tidak dapat disangkal teknologi ini merupakan yang paling populer digunakan pada saat ini. Sidik jari memiliki banyak kelebihan dalam berbagai hal yang membuat biometrik ini lebih nyaman dan aman. Kelebihan dari biometrik pengenalan sidik jari didukung dengan beberapa hal, seperti (Maltoni, 2003) :

1. Parennial nature, yaitu guratan-guratan pada sidik jari yang melekat pada kulit manusia seumur hidup

2. Immutability, yaitu sidik jari seseorang tidak pernah berubah kecuali mendapatkan kecelakaan yang serius

3. Individuality, yaitu pola sidik jari adalah unik dan berbeda untuk setiap orang.

(23)

Gambar 2.2 Sidik Jari

Ciri sidik jari dapat dibedakan menjadi tiga level yaitu (Maltoni,2003),: 1. Level 1: berada pada level global

Aliran garis bukit akan membentuk sebuah pola yang mirip dengan salah satu dari Gambar 2.3.

2. Level 2: berada pada level local

Terdapat 150 perbedaan pada karakteristik lokal. Pada level ini karakteristik dari sidik jari disebut dengan minutiae details. Dua karakteristik bukit yang paling banyak digunakan adalah ridge ending dan ridge bifurcation yang disebut dengan minutiae seperti lingkaran hitam pada Gambar 2.4.

3. Level 3: berada pada level very-fine

(24)

(a) left-loop (b) right-loop (c) whorl (d) arch (e) tented-arch

Gambar 2.3 Karakteristik Ciri Sidik Jari level 1 (Maltoni et.al, 2003)

Gambar 2.4 Karakteristik Ciri Sidik Jari Level 2 dan 3, lingkaran hitam untuk minutiae dan lingkaran kosong untuk sweat pore (Maltoni et al, 2003)

Ada beberapa kualitas dari citra sidik jari yang sangat berpengaruh terhadap ekstraksi ciri dari citra sidik jari dan yang selanjutnya akan berpengaruh pada hasil pencocokan citra sidik jari. Citra dikatakan baik, jika perbedaan lembah dan bukit terlihat jelas.

Berikut adalah beberapa gambar yang menunjukkan beberapa kualitas citra (Chikkerur et al.,2007):

(a) (b) (c) (d)

(25)

Beberapa kendala yang dihadapi peneliti dalam pencocokan citra sidik jari (Chikkerrur et al, 2007):

1. Kualitas citra yang rendah dapat memicu kesalahan pada ekstraksi ciri yang nantinya berdampak pada pencocokan.

2. Keterbatasan dalam representasi algoritma yang hanya dapat menggunakan salah satu dari informasi yang ditangkap manusia.

3. Ukuran sensor yang jauh lebih kecil dari ukuran sidik jari manusia, hal ini akan memicu ketidakarutan perekaman citra.

4. Adanya distorsi citra

5. Keterbatasan ukuran sensor yang mengakibatkan orang yang sama akan memiliki variasi yang berbeda pada tiap kali melakukan proses akuisisi

2.3 Pengolahan Citra Digital

Citra atau gambar merupakan sesuatu yang menggambarkan objek dan biasanya dalam bentuk dua dimensi. Citra merupakan suatu representasi kemiripan dari suatu objek atau benda. Citra digital didefinisikan sebagai representasi diskrit dari data spasial (tata letak) dan intensitas (warna) informasi (Solomon & Breckon, 2011).

Proses pengolahan citra adalah sebuah disiplin ilmu yang mempelajari hal-hal yang berkaitan dengan perbaikan kualitas gambar, transformasi gambar, melakukan pemilihan ciri citra untuk tujuan analisis dan mendapatkan kualitas citra yang lebih baik (Sutoyo, 2009). Tujuan dari pengolahan citra digital agar komputer memiliki sebuah penglihatan yang dapat melihat atau mengenali suatu objek gambar dengan jelas seperti selayaknya mata pada manusia.

(26)

Gambar 2.6 Representasi sistem koordinat citra

Berdasarkan representasi sistem koordinat citra pada gambar 2.5 citra dapat direpresentasikan dalam bentuk matriks dua dimensi dimana kolom pada matriks merepresentasikan lebar (width) pada citra, dan baris pada matriks merepresentasikan tinggi (height) pada citra.

, =

(0,0) 0,1 (0, )

(1,0) (1,1)

⋱ (1, )

( , 0) ( , 1) ( , )

(2.1)

dengan keterangan: j = height -1 i = width -1

2.3.1 Binerisasi(Thresholding)

Binerisasi digunakan untuk membedakan objek gambar dengan latar belakang pada gambar tersebut. Proses ini akan menghasilkan citra hitam putih yang bersih dari tingkat keabuan (grayscale), atau dengan kata lain metode ini mengkonversi citra gray-level ke citra bilevel (binary image). Untuk mendapatkan citra grayscale digunakan persamaan (2.2) berikut:

, = , , + , , + ( , , ) (2.2)

height

(27)

dengan keterangan: Igrayscale = citra grayscale

Icolour = citra RGB

(x,y) = koordinat citra

(x,y,c) = piksel pada kordinat (x,y), r untuk merah, b untuk biru dan g untuk hijau α, , = koefisien

Pembobotan nilai koefisien ini (α, dan ) berdasarkan nilai dari respon mata manusia, biasanya koefisien ketiga nilai yang digunakan adalah 0.333 (Solomon & Breckon, 2011).

Setelah mendapatkan citra grayscale, citra biner dibentuk dengan teknik thresholding. Jika g (x, y) adalah sebuah nilai ambang (threshold) batas dari f(x, y) dengan nilai threshold T. Nilai T digunakan untuk memisahkan antara objek dengan background-nya, hasil threshold dapat ditulis sebagai berikut (Gonzales et al, 2004):

, = 1 , ≥

0, , <

(2.3)

2.3.2 Deteksi Tepi

(28)

Biasanya operator yang digunakan untuk mendeteksi tepi adalah operator berbasis gradien yang menggunakan turunan pertama yaitu operator Robert, operator Sobel dan operator Prewitt.

Operator Sobel

Operator Sobel merupakan salah satu pengembangan dari teknik deteksi tepi sebelumnya, juga pengembangan dari operator Prewit. Operator ini berfungsi sebagai filter image. Filter ini mendeteksi keseluruhan tepi yang ada. Operator Sobel menggunakan matriks M x N dengan berordo 3 x 3, 5 x 5, 7 x 7, dan sebagainya. Matriks seperti ini digunakan untuk mempermudah mendapatkan piksel tengah sehingga menjadi titik tengah matriks (aij). Piksel tengah ini merupakan

piksel yang akan diperiksa. Cara pemanfaatan matriks ini sama seperti pemakaian sebuah grid, yaitu dengan cara memasukkan piksel-piksel disekitar yang sedang diperiksa (piksel tengah) ke dalam matriks. Cara yang demikian disebut spatial filtering.

a0 a1 a2

a7 (x,y) a3

a6 a5 a4

Gambar 2.7 Piksel bertetangga

Berdasarkan susunan piksel tetangga tersebut, besaran gradien yang dihitung menggunakan operator Sobel adalah:

= 2+ 2 atau M= |s

x|+ |sy| (2.4)

dimana M adalah besar gradien di titik tengah kernel dan turunan parsial dihitung menggunakan persamaan berikut:

Sx = (a2 + ca3 + a4) – (a0 + ca7 + a6) (2.5)

(29)

dimana c adalah konstanta yang bernilai 2. Sx dan Sy, dapat diimplementasikan

menjadi kernel berikut.

Gambar 2.8 Kernel Operator Sobel

Hasil akhir dari deteksi tepi sobel ini adalah ditemukannya beberapa piksel dengan intensitas yang lebih besar atau tajam. Maka setiap piksel kemungkinan hanya mempunyai dua warna dominan yaitu warna hitam dan putih.

2.3.3 Ekstraksi Ciri (Feature Extraction)

Feature extraction merupakan suatu metode untuk mendapatkan karateristik dari suatu citra (dalam hal ini citra tersebut merupakan sidik jari). Dengan feature extraction maka citra yang satu dengan yang lain dapat dibedakan dengan memperhatikan ciri yang terdapat pada citra itu sendiri. Pada penelitian ini, penulis menggunakan transformasi wavelet.

Prinsip kerja transformasi wavelet adalah menggunakan nilai rata-rata dari nilai input dan menyediakan semua informasi yang diperlukan agar dapat mengembalikan nilai input ke nilai semula (Putra, 2010). Pada transformasi wavelet diperlukan nilai selisih nilai input dan nilai rata-rata nilai input.

Pada pengembangan sinyal berdimensi dua misalnya citra dapat menggunakan filter bank untuk dekomposisi citra. Biasanya digunakan sebuah tapis low-pass (H) dan tapis high pass (G). Konvolusi citra dengan tapis low-pass menghasilkan citra pendekatan, sedangkan tapis high pass menghasilkan citra detil. Dekomposisi pola sidik jari ini dilakukan untuk mempresentasikan pola digit ke dalam vektor yang mengandung beberapa informasi mengenai pola tersebut. Setiap proses dekomposisi akan menghasilkan setengah ukuran dari citra sebelum dilakukan

-1 0 1

-2 0 2

-1 0 1

1 2 1

0 0 0

-1 -2 -1 Sy=

(30)

dekomposisi (Putra, 2010). Koefisien inilah yang kemudian menjadi basis input bagi jaringan saraf tiruan.

Adapun algoritma dari transformasi wavelet ini adalah:

1. Input citra yang diinginkan menjadi 4 bagian citra baru dengan ukuran 2N-1 x 2N-1

2. Citra dibagi kembali, ulangi langkah 1 untuk bagian kanan atas dari hasil citra wavelet pada langkah 1.

3. Pembagian berhenti jika nilai rata-rata citra adalah 1 piksel.

(a) (b)

(c) (d)

Pada gambar 2.9 ditampilkan transformasi wavelet pada citra. Citra semula dibagi (dekomposisi) menjadi 4 sub-image baru. Setiap sub-image ini berukuran ¼ kali dari citra asli, 3 sub-image posisi atas kanan, bawah kiri dan bawah kanan terlihat kasar sementara 1 sub-image atas kiri tampak seperti citra asli dan tampak lebih halus, yang dapat dibagi menjadi 4 sub-image baru lagi. Proses demikian dapat diulang

(31)

sesuai level transformasi (dekomposisi) yang diinginkan. Hasil dekomposisi dapat dihitung dengan menggunakan rumus

= + +1

2

(2.10)

dan

ci = si - ai (2.11)

Variabel ai merupakan koefisien pendekatan, ci merupakan koefisien detil dan si

adalah himpunan bilangan yang akan didekomposisi.

2.4 Jaringan Saraf Tiruan

Jaringan Saraf Tiruan (JST) merupakan representasi buatan dari otak manusia yang selalu mencoba mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan disini digunakan karena jaringan saraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran (Kusumadewi, 2003).

Jaringan Saraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan saraf biologi dengan asumsi sebagai berikut (Siang, 2009):

1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron). 2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung. 3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau

memperlemah sinyal.

(32)

2.4.1 Model Saraf (Neuron)

Sebuah neuron akan mempunyai banyak nilai masukan yang berasal dari neuron-neuron lain yang berhubungan dengan neuron tersebut dan akan menghasilkan sebuah nilai keluaran. Neuron tersebut akan berhubungan dengan neuron-neuron yang lain jika ada bobot-bobot yang menghubungkannya. Hal tersebut dapat digambarkan sebagai berikut:

Gambar 2.10 Model Neuron (Haykin, 1999)

Satu neuron terdiri dari tiga bagian dasar yaitu (Siang, 2009):

1 Himpunan unit-unit yang dihubungkan dengan jalur koneksi. Jalur-jalur tesebut memiliki bobot/ keluaran yang berbeda-beda. Bobot yang bernilai positif akan memperkuat sinyal dan yang bernilai negatif akan memperlemah sinyal yang dibawanya. Jumlah, struktur dan pola hubungan antar unit-unit tersebut akan menentukan arsitektur jaringan (dan juga model yang terbentuk). 2 Suatu unit penjumlahan yang akan menjumlahkan input-input sinyal yang

sudah dikalikan dengan bobotnya.

3 Fungsi aktivasi yang akan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain ataukan tidak.

2.4.2 Arsitektur Jaringan Saraf Tiruan

(33)

(layer) dan jumlah neuron pada setiap lapisan. Lapisan-lapisan penyusun jaringan saraf tiruan dapat dibagi menjadi tiga, yaitu (Heaton, 2008):

1. Lapisan Masukan (input layer)

Neuron-neuron di dalam lapisan masukan disebut input neuron, yang menerima input dari dunia luar. Input yang dimasukkan merupakan penggambaran dari suatu masalah.

2. Lapisan Tersembunyi (hidden layer)

Neuron-neuron yang berada dalam lapisan tersembunyi disebut hidden neuron. Penentuan jumlah neuron pada lapisan tersembunyi merupakan bagian yang sangat penting dalam arsitektur jaringan saraf tiruan.

Penggunaan neuron yang terlalu sedikit pada lapisan tersembunyi akan menghasilkan sesuatu yang disebut “underfitting”. Underfitting terjadi ketika hanya sedikit neuron pada hidden layer yang mampu mendeteksi signal pada sejumlah data yang rumit. Sedangkan, jumlah hidden neuron yang terlalu banyak juga dapat mengakibatkan beberapa masalah. Pertama, mengakibatkan jaringan mengalami overfitting, yaitu ketika jaringan memproses terlalu banyak informasi melebihi kapasitas. Kedua, mengakibatkan waktu proses pelatihan jaringan lebih lama (Heaton, 2008).

Menurut Haykin (1999) jumlah hidden neuron berada pada interval 1 sampai 9. Sedangkan, menurut Heaton (2008), ada beberapa aturan yang dapat digunakan untuk menentukan jumlah neuron yang akan digunakan pada lapisan tersembunyi, diantaranya adalah:

a. Jumlah hidden neuron harus berada diantara ukuran input neuron dan output neuron.

b. Jumlah hidden neuron harus 2 3 dari ukuran input neuron, ditambah ukuran output neuron.

(34)

Ketiga aturan diatas hanya berupa pertimbangan dalam menentukan arsitektur jaringan saraf tiruan. Bagaimanapun, penentuan arsitektur jaringan akan kembali pada trial and error.

3. Lapisan keluaran (output layer)

Neuron-neuron pada lapisan keluaran disebut output neuron. Keluaran dari lapisan ini merupakan keluaran jaringan saraf tiruan terhadap suatu permasalahan.

Gambar 2. 11 ArsitekturJaringan Saraf Tiruan

Jaringan saraf tiruan propagasi balik menerapkan metode pelatihan untuk neuron-neuron tersembunyi tidak diberikan.

Bias

(35)

2.5 Algoritma Propagasi Balik

2.5.1 Proses Komputasi Propagasi Balik

Proses komputasi pada jaringan saraf propagasi balik dapat dibagi menjadi dua tahap yaitu komputasi maju (forward) dan komputasi mundur (backward) (Fausset,1994). Pada jaringan diberikan sekumpulan contoh pelatihan yang disebut set pelatihan. Set pelatihan terdiri dari vektor input dan vektor output target. Keluaran dari jaringan berupa sebuah vektor output aktual. Selisih antara vektor output target dan vektor output aktual merupakan kesalahan (error) yang terjadi. Kesalahan (error) ini yang dijadikan sebagai dasar dalam melakukan perubahan bobot yang ada dengan mempropagasikannya kembali (Puspitaningrum, 2006).

1. Komputasi maju (forward)

Pola masukan dihitung maju mulai dari lapisan masukan hingga lapisan keluaran menggunakan fungsi aktivasi yang ditentukan.

2. Komputasi mundur (backward)

Selisih antara target yang diinginkan dengan keluaran jaringan merupakan kesalahan yang terjadi. Kesalahan yang terjadi itu dipropagasi mundur. Dimulai dari garis yang berhubungan langsung dengan neuron-neuron di lapisan keluaran.

2.5.1.1Komputasi maju (forward)

(36)

dengan nilai bobot yang menghubungkan lapisan masukan dengan lapisan tersembunyi. Nilai masukan untuk lapisan tersembunyi adalah:

= 0+

=0

(2.12)

Keterangan:

= nilai masukan pada lapisan tersembunyi

= bobot yang menghubungkan input layer dan lapisan tersembunyi

= nilai keluaran dari neuron masukan ke neuron pada lapisan tersembunyi

0 = bobot dari neuron bias ke neuron pada lapisan tersembunyi.

Dengan menggunakan nilai masukan pada lapisan tersembunyi ( ) ini, maka setiap

neuron pada lapisan tersembunyi akan diaktifkan oleh fungsi aktivasi sehingga akan menghasilkan suatu nilai, nilai keluaran tersebut adalah:

= ( ) (2.13)

Keterangan:

= nilai keluaran neuron ke- j pada lapisan tersembunyi

( ) = fungsi aktivasi neuron ke-j pada lapisan tersembunyi.

Demikian juga halnya untuk mencari nilai pada lapisan keluaran. Pada lapisan keluaran proes komputasi sama seperti pada lapisan tersembunyi yaitu dengan menghitung nilai masukan dari setiap neuron k pada pada lapisan keluaran yang dirumuskan sebagai berikut:

= 0+

=0

(2.14)

Keterangan:

= nilai masukan pada lapisan keluaran

= bobot yang menghubungkan input layer dan lapisan tersembunyi

= nilai keluaran dari neuron masukan ke neuron pada lapisan tersembunyi

(37)

Dengan menggunakan nilai masukan pada lapisan keluaran ( ) ini, maka setiap neuron pada lapisan keluaran akan diaktifkan oleh fungsi aktivasi sehingga akan menghasilkan nilai keluaran, nilai keluaran tersebut adalah:

= ( ) (2.15)

Keterangan:

= nilai keluaran neuron ke-k pada lapisan keluaran

( ) = fungsi aktivasi neuron ke-k pada lapisan keluaran.

Setelah diperoleh nilai keluaran aktual pada komputasi maju maka proses komputasi selanjutnya adalah proses komputasi mundur.

2.5.1.2Komputasi mundur (backward)

Komputasi mundur pada jaringan saraf tiruan propagasi balik bertujuan untuk mendistribusikan kesalahan di unit yk (δk) ke semua unit pada lapisan tersembunyi

yang terhubung langsung dengan yk. Hal ini juga dilakukan untuk menghitung

kesalahan di unit zj(δj) di setiap unit di lapisan tersembunyi. Demikian seterusnya

sampai semua kesalahan di lapisan tersembunyi yang berhubungan langsung dengan unit keluaran.

2.5.1.3Perbaharuan bobot

Setelah mendapatkan error, selanjutnya jaringan akan memperbaharui bobot menjadi bobot yang sesuai dari input yang dimasukkan menjadi output yang diinginkan. Untuk mencari bobot baru pada lapisan tersembunyi ke lapisan keluaran adalah:

= + ∆ (2.16)

Sementara untuk mencari bobot baru pada lapisan masukan ke lapisan tersembunyi adalah:

(38)

2.5.2 Perhitungan Error

Pada tahap pembelajaran dalam algoritma propagasi balik, diperlukan suatu kondisi untuk menghentikan proses pembelajaran dan sebagai pengukuran keakurasian jaringan dalam mengenali pola yang diberikan. Ada beberapa perhitungan error yang digunakan yaitu Mean SquaredError (MSE), Mean AbsoluteError (MAE) dan Mean Absolute PercentageError (MAPE).

1. Mean Squared Error (MSE) adalah error rata-rata kuadrat dari selisih antara output jaringan dengan output target. Tujuannya adalah memperoleh nilai error sekecil mungkin secara iteratif dengan mengganti nilai bobot yang terhubung pada semua neuron pada jaringan. Rumus perhitungan MSE adalah sebagai berikut:

� = 1

2 ( − )

2

=1

(2.18)

Keterangan:

= nilai output target = nilai output sistem

2. Mean Absolute Error (MAE) merupakan perhitungan error hasil absolute dari selisih antara nilai hasil sistem dengan nilai aktual. Rumus perhitungan MAE adalah sebagai berikut:

��= 1 | − |

=1

(2.19)

3. Mean Absolute Percentage Error (MAPE) yang hampir sama dengan MAE, namun hasilnya dinyatakan dalam bentuk persentase. Rumus perhitungan MAPE adalah sebagai berikut:

���= 1 − × 100%

=1

(39)

2.5.3 Optimalitas Arsitektur Jaringan Saraf Tiruan Propagasi Balik

Masalah utama yang terdapat dalam propagasi balikialah lamanya proses iterasi yang dilakukan. Propagasi balik tidak dapat memastikan berapa epoch yang harus dilalui sampai pola yang diinginkan terpenuhi. Oleh karena itu terdapat beberapa cara yang digunakan untuk mengoptimalkan proses iterasi (Siang, 2009), yaitu:

2.5.3.1 Pemilihan bobot dan bias awal

Bobot awal merupakan unsur yang terpenting dalam pembentukan jaringan yang baik, karena bobot awal mempengaruhi kecepatan iterasi jaringan dalam mengenali pola. Bobot yang menghasilkan nilai fungsi aktivasi kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobotnya menjadi sangat kecil sehingga penurunan error menjadi kecil. Bobot awal standar yang biasa dipakai dalam melakukan proses komputasi dinilai memberikan waktu yang lama. Inisialisasi Nguyen Widrow merupakan modifikasi sederhana bobot-bobot dan bias ke unit tersembunyi yang mampu meningkatkan kecepatan jaringan dalam proses pelatihan jaringan. Inisialisasi Nguyen Widrow didefinisikan dengan persamaan:

= 0.7

Keterangan:

n = jumlah neuron pada lapisan input

p = jumlah neuron pada lapisan tersembunyi = faktor skala

(2.21)

Prosedur inisialisasi Nguyen Widrow ialah:

a. Inisialisasi bobot-bobot (vji) lama dengan bilangan acak dalam interval [-0.5,

0.5] b. Hitung

∥ ∥= 12+ 22 + + 2

(2.22)

(40)

=

∥ ∥

(2.23)

d. Bias baru yang dipakai sebagai inisialisasi vj0 = bilangan acak dalam interval

– , (2.24)

2.5.3.2 Laju Pembelajaran ( learning rate)

Penggunaan parameter learning rate memiliki pengaruh penting terhadap waktu yang dibutuhkan untuk tercapainya target error yang diinginkan. Jika nilai learning rate yang digunakan terlalu kecil maka terlalu banyak epoch yang dibutuhkan untuk mencapai nilai target yang diinginkan.

Semakin besar nilai learning rate yang digunakan maka proses pelatihan jaringan akan semakin cepat, namun jika terlalu besar justru akan mengakibatkan algoritma menjadi tidak stabil dan menyebabkan nilai error berbolak balik pada nilai tertentu, sehingga mencegah tercapai target error yang diinginkan. Oleh karena itu pemilihan nilai learning rate harus seoptimal mungkin agar didapat proses pelatihan yang cepat (Siang, 2009).

2.5.3.3 Momentum

Penambahan parameter momentum dalam tahap pengoreksian nilai bobot dapat mempercepat proses pelatihan yaitu dengan memodifikasi nilai bobot pada iterasi (t+1) yang nilainya ditentukan oleh nilai bobot pada iterasi ke-t dan (t-1). adalah konstanta yang menyatakan parameter momentum yang nilainya 0 ≤ ≤1 keluaran

(Siang, 2009):

Perubahan bobot dengan menggunakan momentum pada lapisan keluaran:

wkj + 1 = wkj + + (wkj t − wkj (t−1) (2.25)

Perubahan bobot dengan menggunakan momentum pada lapisan tersembunyi:

(41)

2.5.3.4 Faktor Proporsional

Jaringan saraf tiruan propagasi balik yang selama ini digunakan untuk berbagai macam aplikasi adalah jaringan saraf propagasi balik yang standar yang hanya menggunakan kedua faktor di atas (learning rate dan momentum).

Pada penelitian ini digunakan faktor ketiga yang disebut sebagai faktor proporsional ( ). Faktor proporsional ini pertama sekali diperkenalkan dan digunakan

pada permasalahan XOR (Zweiri et al, 2003). Modifikasi terhadap jaringan saraf propagasi balik dengan menambahkan faktor ketiga yang disebut faktor proporsional akan menyebabkan bertambahnya satu konstanta baru yang menyertainya, konstanta tersebut adalah e(w(t)). Untuk mendapatkan nilai e(w(t)) maka dapat digunakan rumus berikut ini (Zweiri et al, 2003):

e w t( ( )) ek (2.27)

dimana

= =1( − ) (2.28)

adalah selisih antara nilai target dengan output

Faktor ketiga tersebut menyebabkan perubahan bobot pada lapisan keluaran akan menjadi

wkj + 1 = + t−1 + ek (2.29)

Sedangkan perubahan bobot pada lapisan tersembunyi akan menjadi

vji + 1 = + t−1 + ek (2.30)

(42)

2.5.4 Fungsi Aktivasi

Fungsi aktivasi merupakan bagian penting dalam tahap perhitungan JST karena dipakai untuk menentukan keluaran dari suatu neuron. Peran fungsi aktivasi pada jaringan saraf tiruan adalah untuk mengaktifkan keluaran dari jaringan dan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain atau tidak. Beberapa fungsi aktivasi yang dipakai dalam JST adalah:

2.5.4.1 Fungsi sigmoid biner (logsig)

Fungsi sigmoid biner memiliki range nilai [0,1]. Oleh karena itu, fungsi ini sering digunakan untuk Jaringan Saraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Fungsi sigmoid biner dirumuskan sebagai:

= 1

1 + −

(2.31)

dengan ′ = (1− ) (2.32)

2.5.4.2 Fungsi sigmoid bipolar (tansig)

Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja fungsi ini memiliki range antara 1 sampai -1. Fungsi sigmoid bipolar dirumuskan sebagai:

= 1−

1 + −

(2.33)

dengan ′ =1

2 1 + ( ) 1− ( )

(2.34)

2.6 K-Fold Cross Validation

Cross validation (validasi silang) merupakan metode untuk memperkirakan akurasi

(43)

yang dihasilkan yaitu S1, S2,…, Sk yang digunakan sebagai data pelatihan dan data

pengujian. Dalam metode ini, dilakukan iterasi sebanyak k kali. Setiap melakukan iterasi, salah satu subset dijadikan data uji, sedangkan subset lainnya sebagai data latih. K-fold cross validation akan mengulang pengujian sebanyak k kali, dan hasil pengukuran adalah nilai rata-rata dari k kali pengujian.

2.7 Penelitian Terdahulu

Tabel 2.1 Penelitian Terdahulu

No Pengarang Judul Keterangan

1 Kaur et.al, menghilangkan titik minusi yang dianggap salah, menemukan titik percabangan dengan menghasilkan citra thinning dengan hasil yang baik. Telah ditemukan 24 percabangan (bifurcation) dalam penelitian ini, sehingga sistem memerlukan waktu ekseskusi yang lebih singkat.

2 Kanata, 2008 Deteksi Sidik Jari Berbasis Alihragam

(44)

sidik jari yang pernah dilatihkan dan mampu menguji citra yang terdistorsi sebesar 70 %

3 Saraswat, 2010 An Efficient Automatic Attendance System Using Fingerprint Verification Technique

Pengenalan dilakukan dengan memperhatikan minusi sidik jari, menghilangkan titik minusi yang dianggap tidak perlu dan menggunakan transformasi fourier dalam perbaikan citranya. Hasil verifikasi sekitar 92 % dengan penggunaan waktu yang lebih singkat. 5 Barua et.al, 2011 Fingerprint

Identification

(45)

meliputi binerisasi dan skeletonisasi ridge, yang dibutuhkan untuk klasifikasi. Fitur yang dinilai yaitu

endpoint, percabangan

(bifurcation), dan titik inti (core point) dari sidik jari, yang kemudian dilanjutkan dengan penghapusan minusi yang dianggap salah.

6 Reavindo, 2009 Pengaruh Faktor Proporsional Pada Jaringan Saraf Propagasi Balik Untuk Pengenalan Wajah Berbasis Eigenface

Faktor pembelajaran ketiga yang

disebut faktor proporsional ( )

(46)
(47)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini menjelaskan proses sistem jaringan saraf tiruan propagasi balik untuk pengenalan citra sidik jari dan analisis kebutuhan sistem yang akan dibangun serta perancangannya. Tindakan yang akan dilakukan pada tahap perancangan adalah mentransformasikan model analisis ke model perancangan.

3.1 Analisis Data Sistem

3.1.1 Akuisisi Citra

(48)

3.1.2 Praproses Citra

Citra yang diperoleh tidak langsung dapat diambil nilai fiturnya yang akan digunakan dalam jaringan saraf tiruan agar diklasifikasi, citra tersebut terlebih dahulu mengalami praproses citra. Citra grayscale yang diperoleh dideteksi tepi terlebih dahulu untuk mempertegas batas yang membedakan mana bukit dan lembah dalam sidik jari. Kemudian citra ini mengalami binerisasi agar diperoleh citra bilevel (binary image) dan yang terakhir adalah ekstraksi fitur yang menghasilkan nilai atau fitur yang digunakan sebagai nilai input dalam jaringan saraf tiruan.

Deteksi

Tepi Binerisasi Ekstraksi Fitur

Citra Grayscale

Nilai Fitur Citra

Gambar 3.1 Praproses Citra

3.1.2.1 Deteksi Tepi

Deteksi tepi berfungsi untuk mempertegas batas citra atau untuk meningkatkan penampakan garis batas suatu daerah atau obyek di dalam citra. Pada penelitian ini digunakan operator Sobel dengan dua buah kernel yaitu:

Pada perancangan kali ini digunakan operator Sobel karena mampu menghasilkan hasil ekstraksi paling halus

Gambar 3.2 Dua Buah Matriks Kernel Sobel

-1 0 1 1 2 1

-2 0 2 0 0 0

(49)

Tahapan deteksi tepi menggunakan operator Sobel:

1. Input Citra grayscale (m x n) piksel.

2. Lakukan konvolusi dengan menggunakan kernel Sobel 3 x 3 untuk

menghasilkan peta intensitas gradien.

3. Hitung nilai gradien.

4. Kembalikan nilai matriks menjadi nilai intensitas citra.

5. Proses selesai dan dihasilkan tepi dari sebuah citra digital.

Mulai

Ambil nilai pixel x,y

Pisahkan nilai RGB

Hitung intensitas RGB= 0.333F*(p.R +p.G+p.B)

Lakukan konvolusi nilai intensitas dengan operator

sobel 3x3

gradX= intensity * maskX gradY= intensity * maskY

Hitung nilai gradient Grad = |sx| + |sy|

Selesai Input Citra

grayscale sidik jari

Tampilkan citra hasil deteksi tepi

(50)

Operator Sobel adalah magnitudo dari gradien yang dihitung dengan persamaan:

M= 2+ 2 atauM = |sx| + |sy| (3.1)

Misalkan pada citra sidik jari grayscale dilakukan deteksi tepi dengan mengambil 1 blok citra berukuran 3 x 3 Pixel sesuai dengan operator sobel yang berukuran 3x3 .

188 188 188 -1 -2 -1 -1 0 1 158 114 159 Sx= 0 0 0 Sy= 2 0 2

148 211 135 1 2 1 -1 0 1

Gambar 3.4Matriks 3x3 Pixel dengan Dua Operator Sobel

Gx = 188(-1) + 188(-2) + 188(-1) + 148(1) + 211(2) + 135(1) = -188 -376 -188 +148 + 422 + 135

= -47

Gy = 188(-1) + 158(2) + 148(-1) + 188(1) + 159(2) + 135(1) = -188 + 316 - 148 + 188 + 318 + 135

= 621

Perhitungan nilai magnitudo (M) dengan menggunakan persamaan (3.1) adalah sebagai berikut:

M = |sx| + |sy| M = |-47| + |621|

M = 668

Citra hasil konvolusi yang diperoleh dari perhitungan deteksi tepi untuk pixel blok 3 x 3 citra sidik jari adalah 668, maka karena nilai grayscale antara 0 - 255, maka nilai piksel yang ditinjau adalah 255 seperti pada Gambar 3.7.

* * * * 255 * * * *

(51)

Dari hasil konvolusi dengan operator Sobel terhadap 9 piksel maka nilai piksel dan dimasukkan ke dalam matriks citra 3x3 piksel seperti pada Gambar 3.8. Lakukan proses yang sama untuk piksel lainnya.

188 188 188

158 255 159 148 211 135

Gambar 3.6 Matriks Hasil Deteksi Tepi

Gambar 3.7 Citra Hasil Deteksi Tepi

3.1.2.2 Binerisasi

Pada proses ini akan menghasilkan citra hitam putih yang bersih dari tingkat keabuan (grayscale), dengan kata lain metode ini mengonversi citra gray-level ke citra bilevel (binary image). Pada tahap ini, akan diambil nilai rata-rata nilai pixel RGB (Red, Green, Blue) untuk kemudian dicek, jika nilai yang dihasilkan kurang dari nilai ambang (threshold) yang dihasilkan maka nilai piksel tersebut diubah menjadi warna hitam, sebaliknya jika lebih besar dari nilai ambang (threshold) maka akan diubah menjadi warna putih.

(52)

Gambar 3.8 Citra Hasil Binerisasi

3.1.2.3 Ekstraksi Fitur (Feature Extraction)

Feature extraction merupakan proses untuk mendapatkan nilai-nilai unik dari suatu citra yang telah mengalami proses pengolahan citra sebelumnya. Setiap data yang akan diamati dan dianalisis oleh jaringan saraf tiruan harus direpresentasikan secara baik ke dalam bentuk data numerik atau data biner. Untuk itu, diperlukan suatu cara yang dapat mengekstraksi ciri dari setiap data tadi secara konsisten. Data hasil ekstraksi haruslah benar-benar dapat mewakili karakteristik atau ciri-ciri dari data yang diamati, sehingga diharapkan dari sekumpulan data dengan target yang sama akan dihasilkan suatu generalisasi atau pencirian secara umum terhadap suatu target yang sejenis. Transformasi wavelet diskrit digunakan sebagai metode ekstraksi fitur karena kemampuan menguraikan citra input menjadi citra global dan citra detil. Proses transformasi ini disebut dekomposisi wavelet, dan hasil dekomposisi ini disebut koefisien wavelet yang dapat dijadikan input pada jaringan saraf tiruan

Gambar 3.9 Citra Hasil Dekomposisi Wavelet

LL LH

(53)

Citra hasil dekomposisi yang tampak pada gambar 3.9 bagian kanan merupakan citra hasil normalisasi koefisien wavelet, agar koefisien wavelet tersebut dapat diamati secara visual. LL menunjukan bahwa subcitra tersebut merupakan hasil konvolusi low-pass filter baik pada baris maupun kolom. LH adalah hasil konvolusi low-pass filter pada baris dan high-pass filter pada kolom. HL adalah hasil konvolusi high-pass filter pada baris dan low-pass filter pada kolom. HH adalah hasil konvolusi high-pass filter baik pada baris maupun kolom. Dengan demikian, LL merupakan citra global, sedangkan LH, HL, dan HH merupakan citra detil. Citra global hasil dekomposisi wavelet didekomposisikan kembali untuk mendapatkan citra global dan citra detil pada level berikutnya.

Proses dekomposisi wavelet dapat dihitung secara konvolusi maupun dengan cara perataan dan pengurangan secara berulang, seperti ilustrasi di bawah ini. Misalkan terdapat citra dari hasil binerisasi dalam bentuk matriks di bawah ini:

= + +1

2 (3.2)

= − +1

2 (3.3)

Untuk melakukan transformasi level 1 dilakukan dekomposisi tiap kolom dahulu misal dilakukan pada kolom 1 seperti di bawah ini:

[0 0 0 0]

[0 0]  a = (0 + 0) / 2 = 0 [0 0] a = (0 + 0 ) / 2 = 0 c = (0 - 0) /2 = 0 c = (0-0) /2 = 0

0 0 0 0

0 1 0 1

0 1 0 0

(54)

Proses perhitungan dilanjutkan pada kolom 2 seperti di bawah ini: [0 1 1 0]

[0 1]  a = ( 0+1 ) / 2 = 0.5 [1 0]  a= (1 + 0) / 2= 0.5 c = (0-1) /2 = -0.5 c= (1-0) / 2 = - 0.5

Perhitungan pada kolom ke-3 : [0 0 0 0]

[0 0]  a = (0 + 0) / 2= 0 [0 0]  a = (0 + 0) /2 = 0 c = (0 - 0) / 2= 0 c = (0 - 0) / 2= 0

Perhitungan pada kolom ke-4

[0 1 0 0]

[0 1]  a = (0+1)/2 = 0.5 [0 0]  a = (0 + 0) / 2= 0 c = (0-1) / 2= -0.5 c = (0 - 0) / 2 = 0

Proses selanjutnya, kumpulan nilai a diletakkan pada baris pertama dan kedua. Sedangkan kumpulan nilai c diletakkan pada baris ke-tiga dan ke-empat.

Gambar 3.10 Transformasi Wavelet pada kolom

Selanjutnya dilakukan proses transformasi pada baris matriks hasil kumpulan nilai a dan c di atas. Sebagai contoh diambil nilai pada baris pertama yaitu [0 0.5 0 0.5]

[0 0.5]  a = (0 + 0.5) /2 = 0.25 [0 0.5] a= (0 + 0.5)/2 = 0.25 c = (0- 0.5) /2 = -0.25 c = (0 - 0.5)/ 2 = -0.25

0 0.5 0 0.5

0 -0.5 0 -0.5

0 0.5 0 0

0 -0.5 0 0

nilai a dan c c

0 0.5 0 0.5

0 0.5 0 0

0 -0.5 0 -0.5

(55)

Perhitungan baris ke-dua:

[0 0.5]  a = (0 + 0.5) /2 = 0.25 [0 0] a = (0 + 0)/ 2 = 0 c = (0- 0.5) /2 = -0.25 c = (0- 0)/ 2 = 0

Perhitungan baris ke-tiga:

[0 -0.5]  a = (0 + (-0.5)) /2 = -0.25 [0 -0.5]  a= (0 + (-0.5)/2 =0.25 c = (0- (-0.5)) /2 = 0.25 c = (0- (-0.5)) /2 = 0.25

Perhitungan baris ke-empat:

[0 -0.5]  a = (0 + (-0.5)) /2 = -0.25 [0 0]  a = (0 + 0)/ 2 = 0 c = (0- (-0.5)) /2 = 0.25 c = (0- 0)/ 2 = 0

Proses selanjutnya, kumpulan nilai a diletakkan pada kolom pertama dan ke-dua. Sedangkan kumpulan nilai c diletakkan pada kolom ke-tiga dan ke-empat.

Gambar 3.11Transformasi Wavelet pada baris

Matriks di atas adalah matriks hasil transformasi wavelet level 1 yang menghasilkan 4 citra, yaitu citra pendekatan, citra detil horizontal, citra detil vertikal dan citra detil diagonal. Hasil transformasi wavelet level 1 dapat dilihat pada gambar 3.12. Citra dapat didekomposisi menjadi beberapa level sesuai kebutuhan, dan transformasi wavelet level 2 dapat dimulai dari matriks hasil transformasi wavelet level 1. Transformasi wavelet ini dapat dilanjutkan menjadi beberapa level sesuai yang diinginkan.

0.25 0.25 -0.25 -0.25 -0.25 -0.25 0.25 0.25 0.25 0 0.25 0 -0.25 0 0.25 0

nilai a dan c c

(56)

Gambar 3.12Transformasi Wavelet level 1

Koefisien wavelet yang dihasilkan melalui proses transformasi merupakan input bagi jaringan saraf tiruan propagasi balik. Koefisien tersebut perlu dinormalisasi terlebih dahulu agar nilainya berada pada range -1 hingga +1 atau pada range 0 hingga 1 sesuai dengan syarat data input pada jaringan saraf tiruan. Hal ini dilakukan agar nilai keluaran yang dihasilkan dapat terletak pada range 0 dan 1.

Normalisasi koefisien ini dapat dilakukan dengan cara membagi nilai koefisien tersebut dengan nilai maksimum yang dapat dicapai koefisien wavelet pada dekomposisi tersebut. Dengan menggunakan rumus:

|k| = (maks(M,N))2n x 255 (3.4)

M = | |, Hi ∈ > 0 (3.5)

N = | |, Hi ∈ < 0 (3.6)

Keterangan:

|k| adalah nilai maksimum yang dapat dicapai koefisien wavelet citra pada level dekomposisi n

M adalah hasil penjumlahan low pass filter bernilai positif N adalah hasil penjumlahan low pass filter bernilai negatif H adalah koefisien low-pass filter

n adalah level dekomposisi wavelet, 2n menunjukkan bahwa satu kali dekomposisi dilakukan proses fikter sebanyak dua kali yaitu baris dan kolom

Dengan demikian, normalisasi koefisien transformasi wavelet diskrit citra dilakukan dengan menggunakan persamaan:

(57)

� = �0

| | (3.7)

Keterangan:

Wn adalah nilai koefisien wavelet citra hasil normalisai yang digunakan sebagai input untuk jaringan saraf tiruan.

W0 adalah nilai koefisien wavelet citra sebelum dinormalisasi

|k| adalah nilai maksimum yang dapat dicapai koefisien wavelet citra pada level dekomposisi n

Hasil koefisien pada transformasi wavelet level 1 pada gambar 3.11 di atas kemudian dinormalisasi dengan menggunakan persamaan (3.7) sehingga menghasilkan koefisien seperti di bawah ini.

Gambar 3.14Koefisien wavelet ternormalisasi

Setiap dekomposisi wavelet sebanyak n- level akan menyebabkan tinggi dan lebar subcitra pada level tersebut menjadi 2-n dari tinggi dan lebar citra aslinya. Dengan demikian, jika ukuran citra input adalah 180 x 180, maka ukuran koefisien transformasi wavelet diskrit pada level 4 (sesuai penelitian) adalah 11x 11.

3.2 Perancangan Sistem

Model dasar sistem yang akan dibuat pada tugas akhir ini dapat digambarkan pada flowchart berikut ini (gambar 3.15 )

(58)

Mulai

Preprocessing

Menentukan Arsitektur JST dan

parameter JST

Training JST

Testing JST

Pengenalan Output

Selesai

Gambar 3.15 Flowchart Sistem

3.2.1 Perancangan Jaringan Saraf Tiruan Propagasi Balik

Jaringan saraf tiruan propagasi balik yang digunakan pada penelitian ini merupakan jaringan saraf tiruan dengan menggunakan 3 lapisan yaitu lapisan masukan (input layer), lapisan tersembunyi (hidden layer) dan lapisan keluaran (output layer). Setiap lapisan akan memiliki neuron-neuron yang jumlahnya tergantung dari permasalahan yang akan diselesaikan.

(59)

Untuk menentukan jumlah neuron pada lapisan keluaran, adalah bagaimana cara mendefinisikan target keluaran dari suatu penelitian. Dalam penelitian ini terdapat 10 pemilik sidik jari yang digunakan sebagai objek, maka terdapat 5 pola target keluaran. Dengan demikian, pendefinisian pola target keluaran pada penelitian ini adalah sebagai berikut:

Tabel 3. 1 Susunan Data Pelatihan DATA MASUKAN DATA TARGET

Pemilik-1 00001

Pemilik -2 00010

Pemilik -3 00011

Pemilik -4 00100

Pemilik -5 00101

Pemilik -6 00110

Pemilik -7 00111

Pemilik -8 01000

Pemilik -9 01001

Pemilik -10 01010

Berdasarkan pendefinisian di atas maka dapat disimpulkan bahwa lapisan keluaran pada penelitian ini memiliki neuron keluaran sebanyak 5 buah neuron.

Dalam menentukan jumlah neuron pada lapisan tersembunyi, penelitian ini menggunakan formula charytoniuk (Reavindo, 2009):

= ∗ (3.8)

Keterangan:

L = jumlah neuron pada lapisan tersembunyi N = jumlah neuron pada lapisan masukan M = jumlah neuron pada lapisan keluaran

(60)

x1

Gambar 3.16 Arsitektur jaringan saraf tiruan propagasi balik

Keterangan:

X = input neuron pada input layer Z = hidden neuron pada hidden layer Y = output neuron pada output layer

Vij,.., Vn = bobot dari input layer ke hidden layer Wij,…,Wn = bobot dari hidden layer ke output layer

Fungsi aktivasi yang akan digunakan dalam penelitian ini yaitu fungsi sigmoid biner (logsig) karena output yang diinginkan pada range [0,1], perhitungan error menggunakan MSE (Mean Square Error) dengan target error yang ingin dicapai yaitu 0.001. Menggunakan inisialisasi bobot Nguyen Widrow. Laju pembelajaran (learning rate) yang digunakan dalam range [0.1-0.9], nilai momentum yang digunakan dalam range [0.1-0.9], faktor proporsional yang digunakan pada range [0.001-0.009] sesuai penelitian yang dilakukan Reavindo(2009). Maksimum epoch yang diberikan kepada

Input layer

(61)

sistem sebesar 10000 epoch. Pada penelitian ini, diuji beberapa parameter yang mampu memberikan persentase pengenalan yang baik.

3.2.2 Pelatihan Jaringan Saraf Tiruan Propagasi Balik

Pada saat pelatihan jaringan saraf dapat dipandang sebagai suatu sistem yang belajar (Puspitaningrum, 2006). Belajar pada jaringan saraf propagasi balik adalah belajar yang terawasi, dimana terdapat pasangan masukan dan target yang harus dipenuhi sehingga dibutuhkan data masukan dan target untuk suatu pelatihan. Pelatihan diperlukan untuk mencari nilai bobot yang menghubungkan semua neuron sehingga dapat meminimalkan error yang dihasilkan oleh output jaringan.

(62)

Mulai

Load Data Pelatihan

Inisialisasi bobot, bias,input node, hidden node, output

node

Input learning rate, momentum, faktor proporsional, target error, max epoch

Epoch = 0

Avg_err = 0

C= 0

Data = 0

Train_forward

Train_backward

Update_weight

Use momentum ? Update_weight_momentum

Ya

Update_weight

Tidak

Data = data +1

A

B C

(63)

A

Data < = total_pattern

Avg_err = C / (total_pattern * 2)

Avg_err < = target_error Bobot_terbaik

Selesai

Epoch = epoch +1

Epoch < = max_epoch

Selesai

Ya

Tidak

Ya

Tidak

Ya

Tidak

B

C

Gambar 3.17 Flowchart Pelatihan

Algoritma pelatihan propagasi balik

Pelatihan dengan jaringan saraf propagasi balik yang menggunakan 3 faktor, yaitu laju pembelajaran (α), momentum ( ) dan faktor proporsional (

) dilakukan

berdasarkan algoritma berikut ini:

(64)

Langkah 2: Set epoch maksimum = 10000, target error = 0.001, epoch=0

Langkah 3: Epoch = epoch + 1

Langkah 4: For p=1 to pasangan pola pelatihan do.

Langkah 4a: Setiap neuron input xi mengirimkan nilai input ke semua

neuron yang ada di lapisan atasnya (ke lapisan

tersembunyi).

Propagasi maju (forward)

Langkah 4b: Hitung nilai input pada lapisan tersembunyinya

zj = (vj0+ xivji

Langkah 4f: Hitung Kesalahan dari setiap neuron pada lapisan keluaran

( )

= ( )

(1-)

(3.13)

Langkah 4g: Hitung kesalahan dari setiap neuron j pada lapisan

Tersembunyi

Langkah 4h: Hitung perubahan bobot-bobot lapisan tersembunyi

∆ ( ) = ∝ xi +β∆wzj(p−1)+

ek (3.16)

Gambar

Gambar 2.9    Contoh transformasi wavelet pada  citra (a) citra asli (b) dekomposisi level 1 (c) dekomposisi level 2 (d) dekomposisi level 3 (Sumber: Putra, 2010)
Gambar 2. 11 Arsitektur Jaringan Saraf Tiruan
Gambar 3.3 Flowchart Deteksi Tepi Sobel
Gambar 3.11 Transformasi Wavelet pada baris
+7

Referensi

Dokumen terkait

Akan tetapi, asumsi negatif kerap kali masih ditemui dalam pembelajaran berkarakter, yakni : (1) munculnya anggapan bahwa penanaman karakter semata-mata menjadi

Suatu definisi utama Perjanjian Baru lainnya mengenai kata berkhotbah ialah memberitakan kabar baik. Kita menemukan jenis berkhotbah ini terutama dalam kitab Kisah Para Rasul.

Hasil kuantifikasi atau penghitungan plak yang terbentuk (PFU) (Tabel 1) setelah dilakukan satu kali perbanyakan dalam proporsi yang sama (100 µl kultur EPEC diinfeksikan dengan

Sesuai dengan hasil observasi peneliti di lokasi penelitian, maka peneliti melihat bah- wa unsur pimpinan SKPD dalam hal ini Kepala Badan Perencanaan Pembangunan

Positioning atau menentukan posisi pasar adalah suatu kegiatan merumuskan penempatan produk dalam persaingan dan.. menetapkan bauran pemasaran yang rinci. Penentuan

Usaha bak truk ini dilakukan dengan cara jual beli secara pesanan (dalam Islam disebut dengan bai’ istishna’) dimana pihak pembeli memesan barang langsung

Kegiatan pada kawasan rumah pangan lestari sebagian besar merupakan budidaya yang berbasis tanaman sayuran, tanaman buah dan tanaman obat.. Untuk mendukung kegiatan tersebut

Pertumbuhan tanaman produksi benih kedelai Varietas Anjasmoro di lahan sawah irigasi, tinggi tanaman lebih rendah tetapi jumlah cabangnya lebih banyak dibandingkan dengan