tugas

56
TUGAS BESAR SISTEM KENDALI CERDAS “STUDI KASUS MENGENAI FUZZY LOGIC DAN JARINGAN SYARAF TIRUAN” Oleh : RIFKI YULIAN 0910953108 Dosen : Heru Dibyo Laksono, MT Jurusan Teknik Elektro Fakultas Teknik

Upload: rifki-yulian

Post on 07-Aug-2015

143 views

Category:

Documents


4 download

DESCRIPTION

SISTEM KENDALI CERDASS

TRANSCRIPT

Page 1: TUGAS

TUGAS BESAR

SISTEM KENDALI CERDAS

“STUDI KASUS MENGENAI FUZZY LOGIC DAN JARINGAN SYARAF

TIRUAN”

Oleh :

RIFKI YULIAN

0910953108

Dosen :

Heru Dibyo Laksono, MT

Jurusan Teknik Elektro

Fakultas Teknik

Universitas Andalas

Padang

2012

Page 2: TUGAS

TUGAS BESARSISTEM KENDALI CERDAS

Logika fuzzy adalah suatu cara untuk memetakan suatu ruang input ke dalam suatu ruang output. Skema logika fuzzy :

Antara input dan output terdapat suatu kotak hitam yang harus memetakan input ke output yang sesuai. Misal :

Pemetaan input-output pada masalah produksi : “diberikan data persediaan barang, berapa jumlah barang yang harus diproduksi ?"

Ada beberapa cara/metode yang mampu bekerja di kotak hitam tersebut, misal : sistem fizzy, jaringan syaraf tiruan, sistem linear, sistem pakar, persamaan diferensial, dll.

Namun menurut Prof. Lotfi A. Zadeh, penemu teori logika fuzzy di tahun 1960-an:

“pada hampir semua kasus kita dapat menghasilkan suatu produk tanpa menggunakan logika fuzzy, namun menggunakan fuzzy akan lebih cepat dan lebih murah”

ALASAN MENGGUNAKAN FUZZY

1. Konsep logika fuzzy mudah dimengerti2. Logika fuzzy sangat fleksibel3. Memiliki toleransi terhadap data-data yang tidak tepat

Page 3: TUGAS

4. Dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan

5. Logika fuzzy didasarkan pada bahasa alami

APLIKASI LOGIKA FUZZY

1. Tahun 1990 pertama kali mesin cuci dengan logika fuzzy di Jepang (Matsushita Electric Industrial Company). Sistem fuzzy digunakan untuk menentukan putaran yang tepat secara otomatis berdasarkan jenis dan banyaknya kotoran serta jumlah yang akan dicuci. Input yang digunakan : seberapa kotor, jenis kotoran, banyaknya yang dicuci. Mesin ini menggunakan sensor optik, mengeluarkan cahaya ke air dan mengukur bagaimana cahaya tersebut sampai ke ujung lainnya. Makin kotor, maka sum yang sampai makin redup. Sistem juga mampu menentukan jenis kotoran tersebut daki/minyak.

2. Transmisi otomatis pada mobil Nissan, menghemat bensin 12 – 17 %3. Kereta bawah tanah Sendai mengontrol pemberhentian otomatis pada area

tertentu4. Ilmu kedokteran dan biologi, seperti sistem diagnosis kanker5. Manajemen dan pengambilan keputusan, misal tata letak pabrik

berdasarkan logika fuzzy, pembuatan games berdasarkan logika fuzzy, dll. 6. Ilmu lingkungan, misal kendali kualitas air, prediksi cuaca.7. Teknik, misal perancangan jaringan komputer, prediksi adanya gempa

bumi, dll. 8. dsb

HIMPUNAN DAN FUNGSI KEANGGOTAAN

HIMPUNAN TEGAS (CRISP)

= nilai keanggotaan suatu item x dalam suatu himpunan A, yang sering ditulis dengan A[x], memiliki 2 kemungkinan, yaitu :

1, yang berarti bahwa item tersebut (x) anggota himpunan A

0, yang berarti bahwa, item tersebut (x) bukan anggota himpunan A

contoh :

S = [1,2,3,4,5,6] adalah semesta, pembicaraanA = [1,2,3]

B = [3,4,5]

Jadi :

Nilai keanggotaan 2 pada himpunm A A[2] = 1 karena 2 A

Nilai keanggotaan 3 pada himpunm A A[3] = 1 karena 3 A

Nilai keanggotaan 4 pada himpunm B A[4] = 0 karena 4 A

Page 4: TUGAS

Nilai keanggotaan 2 pada himpunm B A[2] = 0 karena 2 B

Nilai keanggotaan 3 pada himpunm A A[3] = 1 karena 2 B

misal variabel umur dibagi menjadi 3 kategori, yaituMUDA umur < 35 tahun

PAROBAYA 35 umur 55 tahun

TUA umur > 55 tahun

Nilai keanggotaan secara grafis, himpunan MUDA, PAROBAYA, TUA :

usia 34 tahun maka dikatakan MUDA MUDA[34] = 1

usia 35 tahun maka dikatakan TIDAKMUDA MUDA[35] = 0

usia 35 tahun maka dikatakan PAROBAYA PAROBAYA[35] = 1

usia 34 tahun maka dikatakan TIDAKPAROBAYA PAROBAYA[34] = 0

usia 35 tahun kurang 1 hari maka dikatakan TIDAKPAROBAYA PAROBAYA [35 th – 1 hari] = 0

usia 35 tahun lebih 1 hari maka dikatakan TIDAKMUDA MUDA[35 th + 1 hari] = 0

Himpunan crisp untuk menyatakan umur bisa tidak adil karena adanya perubahan kecil saja pada suatu nilai mengakibatkan perbedaan kategori yang cukup signifikan.

HIMPUNAN FUZZY

Himpunan fuzzy digunakan untuk mengantisipasi hal tersebut diatas. Seseorang dapat masuk dalam 2 himpunan yang berbeda, MUDA dan PAROBAYA, PAROBAYA dan TUA, dsb. Seberapa besar eksistensinya dalam himpunan tersebut dapat dilihat pada nilai/derajat keanggotaannya. Himpunan fuzzy untuk variabel UMUR :

Page 5: TUGAS

umur (th)

usia 40 tahun termasuk delam himpunan MUDA dengan MUDA[40] = 0,25

termasuk juga dalam himpunan PAROBAYA dengan PAROBAYA [40] = 0,5

usia 50 tahun termasuk dalam himpunan = TUA dengan TUA[50] = 0,25

termasuk juga dalam himpunan PAROBAYA dengan PAROBAYA [50] = 0,5

FUNGSI KEANGGOTAAN (Membership function)

= suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai/derajat yang memiliki interval antara 0 sampai 1.

Contoh grafik diatas adalah suatu fungsi keanggotaan untuk variabel UMUR yang dibagi menjadi 3 kategori atau 3 himpunan fuzzy yaitu MUDA, PAROBAYA, TUA, dimana dapat direpresentasikan sebagai berikut :

μ MUDA [x ]={ 1,45−x45−25

0 ,

,x≤25

25< x<45x≥45

μ TUA [x ]={ 0 ,x−45

65−451,

,x≤45

45<x<65x≥65

Himpunan crisp, nilai keanggotaan hanya 0 dan 1.

Himpunan fuzzy, derajat/nilai keanggotaan terletak pada rentang 0 sampai 1 sehingga :

Bila x memiliki derajat keanggotaan fuzzy A [x] = 0 x bukan anggota himpunan A

Bila x memiliki derajat keanggotaan fuzzy A [x] = 1 x anggota penuh himpunan A

Page 6: TUGAS

μ PAROBAYA [ x ]={0 ,

x−3545−3555−x55−45

,

,x≤45

45<x<6545≤x≤55

WATAK KEKABURAN

Perhatikan pernyataan dibawah ini

Mesin yang digunakan terus-menerus akan cepat panas

kita tidak dapat menentukan dengan tepat batasan terus-menerus, cepat, dan panas

Jika air pancuran terlalu panas maka naikkan aliran air dingin perlahan-lahan

kita tidak dapat menentukan dengan tepat batasan terlalu panas, menaikkan, air yang dingin, dan perlahan-lahan

Maka solusinya dengan menggunakan LOGIKA FUZZY (logika samar)

VARIABEL LINGUISTIK

Variabel linguistik = sebuah variabel yang memiliki nilai berupa kata-kata dalam bahasa alamiah bukan angka.

Mengapa menggunakan kata/kalimat daripada angka ? karena peranan linguistik memang kurang spesifik dibandingkan angka, namun informasi yang disampaikan lebih informatif.Contoh, jika "KECEPATAN" adalah variabel linguistik, maka nilai linguistik untuk variabel kecepaten adalah, misalnya “LAMBAT”, “SEDANG”, “CEPAT”. Hal ini sesuai dengan kebiasaan manusia sehari-huri dalam menilai sesuatu, misalnya : “Ia mengendarai mobil dengan cepat”, tanpa memberikan nilai berapa kecepatannya.

Setiap variabel linguistic berkaitan dengen sebuah fungsi keanggotaan. Menurut Wang (1997) definisi formal dari variabel linguistik diberikan

sebagai berikut. Sebuah variabel linguistik dikarakteristik oleh (X, T(x), U, M), dimana :X : Nama variabel (variabel linguistik) yang menjadi objek

T(x) : Himpunan semua istilah (nilai-nilai) linguistik yang terkait dengan (nama) variabel (X) yang menggambarkan objek tersebut

Page 7: TUGAS

U : Domain fisik aktual/ruang lingkup dimana variabel linguistik X mengambil nilai-nilai kuantitatifnya/nilai numeric (crisp) himpunan semesta

M : Suatu aturan semantik yang menghubungkon setiap nilai linguistik dalam T dengan suatu himpunan fuzzy dalam U.

Dari contoh diatas, maka diperoleh:

X = kecepatan

U = [0 , 100] maksudnya domain/ruang lingkup kecepatan misal dari 0 sampai 100 km/jam

T(kecepatan) = {lambat, sedang, cepat} maksudnya variabel kecepatan terbagi menjadi 3 himpunan fuzzy yaitu lambat, sedang, cepat

Maka M untuk setiap X, M(x) adalah: M(lambat), M(sedang), M(cepat)

M(lambat) = himpunan fuzzynya ”kecepatan dibawah 40 Km/jam” dengan fungsi keanggotaan lambat

M(sedang) = himpunan fuzzynya ”kecepatan mendekati 55 Km/jam” dengan fungi keanggotaan sedang

M(cepat) = himpunan fiizzynya. “kecepatan diatas 70 Km/Jam” dengan fungsi keanggotaan cepat

Gambar grafik fungsi keanggotaamya sebagai berikut :

Grafik fungsi keanggotaan kecepatan

Sehingga himpunan fuzzy untuk.

M(lambat) = {(0,1), (1,1),(2,1), …, (40,1), …, (47,0.533), …, (55,0),(56,0)... (100,0)}

M(sedang) = {(0,0), (1,0),(2,0), …, (40,0), …, (47,0.533), …, (55,1),(56,0.933)... (100,0)}

Page 8: TUGAS

M(cepat) = {(0,0), (1,1),(2,1), …, (40,1), …, (47,0), …, (55,0),(56,0.866)... (100,1)}

OPERASI DASAR HIMPUNAN FUZZY (Operator Zadeh)

Digunakan untuk mengkombinasi dan memodifikasi himpunan fuzzy. Nilai keanggotaan sebagai hasil dari operasi 2 himpunan disebut fire strength atau a predikat.

Operator Operasi Fungsi KeanggotaanAND Intersection (AB)(x) = min [A(x), B(x)]OR Union (AB)(x) = min [A(x), B(x)]NOT Complement A(x) = 1 - A(x)

Contoh :

U = {1,2,3,4,5,6}A = {(1,0), (2,0,2), (3,0,6), (4,0,9), (5,1), (6,0,8)}

B = {(1,0,8), (2,1), (3,0,7), (4,0,4), (5,0,1), (6,0)}

Maka predikat untuk :

Ac = {(1,1), (2,0,8), (3,0,3), (4,0,1), (5,0), (6,0,2)}

Bc = {(1,0.2), (2,0), (3,0.3), (4,0.6), (5,0.9), (6,1)}

AB = {(1,0), (2,0.2), (3,0.6), (4,0.4), (5,0.1), (6,0)}

AB = {(1,0.8), (2,1), (3,0.7), (4,0.9), (5,1), (6,0.8)}

Misal derajat keanggotaan 27 tahun pada himpunan MUDA adalah 0.6 (MUDA[27] = 0.6) Derajat keanggotaan Rp. 2 juta pada himpunan penghasilan TINGGI adalah 0.8

(GAJIT1NGGI[2juta] = 0.8) maka predikat untuk usia MUDA dan berpenghasilan TINGGI :

(MUDA GAJITINGGI = min (MUDA[27], GAJITINGGI[2juta])

= min (0.6, 0.8) = 0.6

PENALARAN MONOTON

ATURAN (RULE) IF-THEN FUZZY

Page 9: TUGAS

Aturan IF-THEN fuzzy adalah penyataan IF-THEN dimana beberapa kata-kata dalam pernyataan tersebut ditentulcm oleh fungsi keanggotaan.

Aturan produksi fuzzy adalah relax; fuzzy antara dua proposisi fuzzy. Aturan tersebut dinyatakan dalam bentuk:

IF (proposisi fuzzy 1) THEN (proposisi fuzzy 2)

Disebut antecedes/premix Disebut consequent/kesimpulan

Proposisi fuzzy adalah memiliki derajat kebenaran yang dinyatakan dalam suatu bilangan dalam bentuk interval [0, 1], dimana benar dinyatakan oleh nilai 1 dan salah dinyatakan oleh nilai 0.

Premis dari aturan fuzzy dapat memiliki lebih dari satu bagian (premis1, premis2, ...dst), semua bagian dari premix dihitung socam simultan dan diselesaikan untuk sebuah nilai tunggal dengan penggunakan operator fuzzy dalam himpunan fuzzy.

IF premis 1 AND premis 2 THEN kesimpulan 1 AND kesimpulan 2

Dimana : AND adalah operator fuzzy

Premis 1 dan premis 2 berupa variabel masukan

Kesimpulan 1 dan kesimpulan 2 berupa variabel keluaran

Contoh:

IF permintaan turun AND persediaan banyak THEN produksi barang berkurang IF permintaan naik AND persediaan sedikit THEN produksi barang bertambah

Dimana :

Permintaan, persediaan : variabel masukan

produksi barang : variabel keluaran

Turun, naik : kategori himpunan fuzzy dari permintaan

Banyak, sedikit : kategori himpunan fuzzy dari persediaan

Berkurang, bertambah: kategon himpunan fuzzy dari produksi barang

Page 10: TUGAS

FUNGSI IMPLIKASI

TAHAPAN MEMBANGUN SISTEM FUZZY

Tahapan membangun sistem fuzzy tergantung metode yang digunakan, karena banyak teori/metode untuk membangun sistem fuzzy. Namun secara garis besar dapat disimpulkan sebagai berikut:

Sistem Fuzzy

Fuzzifikasi

= mengambil masukan nilai crisp dan menentukan derajat dimana nilai-nilai tersebut menjadi anggota dan setiap himpunan fuzzy yang sesuai membuat fungsi keanggotaan

Contoh : masukan crisp 75 derajat ditransformasikan sebagai panas dalam bentuk fuzzy dengan derajat keanggotaan 0.80.

Inferensi

- mengaplikasikan aturan pada masukan fuzzy yang dihasilkan dalam proses fuzzyfikasi

- mengevalussi tiap aturan dengan masukan yang dihasilkan dari proses fuzzyfikasi dengan mengevaluasi hubungan atau derajat keanggotaan anteceden/premis setiap aturan.

- Derajat keanggotaan/nilai kebenaran dan premis digunakan untuk menentukan nilai kebenaran bagian consequent/kesimpulan

Proses penentuan Output Crisp Tergantung teori/metode yang digunakan.

METODE INFERENSI FUZZY

METODE ISUKAMOTO

Output

crisp

Input

crisp Fuzzifikasi Inferensi

Proses penentuan

output crisp

Page 11: TUGAS

Suatu perusahaan makanan kaleng akan memproduksi makanan jenis ABC. Dan data 1 bulan terakhir, permintaan terbesar mencapai 5000 kemasan/hari, dan permintaan terkecil, sampai 1000 kemasan/hari.

Persediaan barang di gudang terbanyak sampai 600 kemasan/hari, dan terkecil pernah 100 kemasan/hari.

Dengan segala keterbatasannya, sampai saat ini, perusahaan baru mampu memproduksi barang maksimum 7000 kemasan/hari, serta demi efisiensi mesin dan SDM perusahaan memproduksi paling tidak 2000 kemasan.

Apabila proses produksi perusahaan tersebut menggunakan 4 aturan fuzzy :

R1 : IF permintaan turun AND persediaan banyak THEN produksi barang berkurang

R2 : IF permintaan turun AND persediaan sedikit THEN produksi barang berkurang

R3 : IF permintaan naik AND persediaan banyak THEN produksi barang bertambah

R4 : IF permintaan naik AND persediaan sedikit THEN produksi barang bertambah

Berapa kemasan maimmn jenis ABC yang harus diproduksi, jika jumlah permintaan sebanyak 4000 kemasan dan persediaan di gudang masih 300 kemasan?

Solusi :

FUZZIFIKASI membuat fungsi keanggotaan

Ada 3 variabel fuzzy yang akan dimodelkan, yaitu :

1. PERMINTAAN Terdiri atas 2 himpunan fuzzy yaitu NAIK dan TURUN

Page 12: TUGAS

μ per min taanTURUN [ x ]={ 1 ,5000−x5000−1000

0 ,

x≤10001000<x<5000

x≥5000

μ per min taanNAIK [ x ]={ 0 ,x−1000

5000−10001,

x≤10001000<x<5000

x≥5000

2. PERSEDIAANTerdiri atas 2 himpunan fuzzy yaitu SEDIKIT dan BANYAK

μ persediaanSEDIKIT [x ]={ 1 ,600− y600−100

0 ,

y≤1000100<x<600

y≥600

μ persediaanBANYAK [ x ]={ 0 ,Y−100

600−1001 ,

y≤1000100<x<600

y≥600

Derajat/nilai keanggotaan :

permintaan TURUN[4000]

= (5000 – 4000)/4000

= 0,25

permintaan NAIK[4000]

= (4000 – 1000)/4000

= 0,75

Derajat/nilai keanggotaan :

permintaan SEDIKIT[300]

= (600 – 300)/5000

= 0,6

persediaan

Page 13: TUGAS

3. PRODUKSI BARANGTerdiri atas 2 himpunan fuzzy yaitu BERKURANG dan BERTAMBAH

μ produksiBERKURANG [ z ]={ 1 ,700−z7000−2000

0 ,

z≤20002000<z<7000

z≥7000

μ produksiBERTAMBAH [ x ]={ 0 ,z−2000

7000−20001 ,

,z≤2000

2000<z<700z≥7000

MENENTUKAN OUTPUT CRISP

Pada metode TSUKAMOTO untuk menentukan output crisp menggunakan rata-rata berbobot yaitu

z=α 1 z1+α 2 z 2+α 3 z3+α 4 z 4α 1+α 2+α 3+α 4

=0 , 25∗5750+0 , 25∗5750+0,4∗4000+0,6∗50000 ,25+0 ,25+0,4+0,6

= 7475/1,5 = 4983

Jadi jumlah makanan kaleng yang harus diproduksi 4983 kemasan

TAKAGI-SUGENO FUZZY METHOD (TS METHOD)

Pada bagian ini, dasar model fuzzy Sugeno yang diimplementasikan ke dalam sistem saraf-fuzzy. Model fuzzy Sugeno diusulkan oleh Takagi, Sugeno,

Page 14: TUGAS

dan Kang dalam upaya untuk memformalkan pendekatan sistem untuk menghasilkan aturan-aturan fuzzy (fuzzy rules) dari set data input-output. Model fuzzy Sugeno juga dikenal sebagai Sugeno-Takagi model. Sebuah fuzzy rules yang khas di model fuzzy Sugeno memiliki format :

IF x is A and y is B THEN z = f(x, y),

di mana AB adalah fuzzy set sebagai anteseden; Z = f (x, y) adalah fungsi tegas (crisp function) sebagai akibat. Biasanya f (x, y) adalah polinomial dalam variabel input x dan y, tetapi bisa jadi fungsi-fungsi lain yang dapat dengan tepat menggambarkan output dari output sistem dalam wilayah fuzzy yang ditentukan oleh anteseden aturan (antecedent of rule). Ketika f (x, y) adalah polinomial orde pertama, kita memiliki orde pertama model fuzzy Sugeno. Bila f adalah konstan, kita kemudian memiliki model fuzzy Sugeno orde nol, yang dapat dilihat juga sebagai kasus khusus dari FIS Mamdani dimana konsekuensi/akibat setiap aturan ditentukan oleh fuzzy singleton, atau kasus khusus model fuzzy Tsukamoto di mana konsekuensi setiap aturan ditetapkan oleh fungsi keanggotaan (Mf = membership function) dari fungsi langkah terpusat saat konstan. Selain itu, model fuzzy Sugeno orde nol secara fungsional setara dengan jaringan fungsi basis radial dibawah kendala/paksaan kecil tertentu.

Dua bagian pertama dari proses inferensi fuzzy, fuzzifying input dan applying operator fuzzy, adalah persis sama. Perbedaan utama antara Mamdani dan Sugeno adalah bahwa fungsi keanggotaan output Sugeno adalah linier atau konstan. Aturan khas dalam model fuzzy Sugeno memiliki bentuk :

IF Input 1 = x AND Input 2 = y, THEN Output is z = ax + by + c.

Untuk model Sugeno orde nol, tingkat output z adalah konstan (a = b = 0). Tingkat output zi setiap aturan dibebani oleh kekuatan penembakan wi aturan. Sebagai contoh, untuk aturan AND dengan input 1 = x dan Input 2 = y, kekuatan penembakan adalah :

w i=AndMethod (F1( x ), F2( y ) ),

Page 15: TUGAS

di mana F1, 2 (·) adalah fungsi keanggotaan untuk Input 1 dan 2. Output akhir dari sistem adalah rata-rata berbeban dari semua aturan output, yang dihitung sebagai :

Finaloutput=∑i=1

N

wi zi

∑i=1

N

w i

Aturan Sugeno beroperasi seperti ditunjukkan pada Gambar. 6.6.

Gambar 6.7 menunjukkan fuzzy tiping model dikembangkan pada bagian sebelumnya dari panduan ini yang diadaptasi untuk digunakan sebagai sistem Sugeno. Untungnya, hal ini kasus yang sering terjadi bahwa fungsi singleton output benar-benar cukup untuk kebutuhan dari masalah yang diberikan. Sebagai contoh, sistem tippersg.fis adalah representasi tipe Sugeno dari model tipping yang sekarang familiar (Gambar 6.7).

Page 16: TUGAS

a = readfis(‘tippersg’);gensurf(a)

Perintah di atas memberikan pandangan permukaan model tipping fuzzy sebagaimana ditunjukkan pada Gambar. 6.8.

Cara termudah untuk memvisualisasikan sistem orde pertama Sugeno adalah memikirkan setiap aturan sebagai definisi lokasi dari "moving singleton", yaitu singleton output spikes bisa bergerak berputar dengan cara linear dalam ruang output, tergantung pada apa inputnya. Hal ini juga cenderung untuk membuat sistem notasi sangat kompak dan efisien. Orde lebih tinggi dari model fuzzy Sugeno mungkin, tapi mereka memperkenalkan kompleksitas yang signifikan dengan keunggulan yang jelas sedikit. Model fuzzy Sugeno memiliki output fungsi keanggotaan lebih besar dari orde pertama yang tidak didukung oleh Toolbox Fuzzy Logic.

Karena ketergantungan linear setiap aturan pada variabel input dari sistem, metode Sugeno sangat ideal untuk bertindak sebagai pengawas interpolasi kontroler linier berganda yang akan diterapkan, masing-masing, yang berbeda kondisi operasi dari sistem nonlinier dinamis. Sebagai contoh, kinerja pesawat terbang dapat berubah secara dramatis dengan ketinggian dan Mach nomor. Pengendali linier, meskipun mudah untuk menghitung dan cocok untuk setiap diberikan kondisi penerbangan, harus diperbarui secara teratur dan lancar untuk mengikuti dengan negara perubahan kendaraan penerbangan. Sebuah FIS Sugeno adalah sangat baik cocok untuk tugas lancar interpolasi linier keuntungan yang akan diterapkan di seluruh ruang input, yang merupakan keuntungan alami dan efisien penjadwal. Demikian pula, sebuah sistem Sugeno cocok untuk pemodelan sistem nonlinear dengan interpolasi antara model linier berganda.

Karena merupakan representasi yang lebih kompak dan komputasi yang efisien daripada sistem Mamdani, sistem Sugeno cocok untuk penggunaan adaptif teknik

Page 17: TUGAS

untuk membangun model fuzzy. Teknik ini dapat adaptif digunakan untuk menyesuaikan fungsi keanggotaan sehingga sistem fuzzy terbaik model data.

Comparison Between Sugeno and Mamdani Method

Perbedaan utama antara Mamdani dan Sugeno adalah bahwa fungsi keanggotaan output Sugeno adalah linier atau konstan. Juga perbedaan terletak pada konsekuensi/akibat dari aturan fuzzy mereka, sehingga prosedur agregasi mereka dan prosedur defuzzification dengan cocok berbeda. Jumlah input fuzzy set dan aturan fuzzy dibutuhkan oleh sistem fuzzy Sugeno tergantung pada jumlah dan lokasi dari ekstrem fungsi untuk didekati. Dalam Metode sugeno, sejumlah besar aturan fuzzy harus digunakan untuk memperkirakan periodik atau fungsi osilator yang tinggi. Konfigurasi minimal TS sistem fuzzy dapat dikurangi dan menjadi lebih kecil dibandingkan dengan Mamdani system fuzzy jika fuzzy set input nontrapezoidal atau nontriangular digunakan. Pengendali Sugeno biasanya memiliki parameter jauh lebih diatur dalam konsekuensi/akibat aturan dan jumlah parameter tumbuh secara eksponensial dengan peningkatan jumlah variabel input. Hasil matematika jauh lebih sedikit ada untuk pengendali fuzzy TS daripada untuk pengendali Mamdani fuzzy, terutama terhadap stabilitas sistem kontrol TS fuzzy. Mamdani mudah untuk membentuk dibandingkan dengan Metode Sugeno.

Advantages of Sugeno and Mamdani Method

Keuntungan dari Metode Sugeno

Komputasi yang efisien. Bekerja dengan baik dengan teknik linier (misalnya, PID kontrol) Bekerja dengan baik dengan optimasi dan teknik adaptif. Menjamin kelangsungan permukaan output. Cocok untuk analisis matematika.

Keuntungan dari Metode Mamdani

intuitif. Memperluas penerimaan (acceptance). Cocok untuk input manusia.

Sistem inferensi fuzzy adalah alat pemodelan yang paling penting berdasarkan fuzzy set teori. FIS dibangun oleh pakar domain dan digunakan dalam control otomatis , analisa keputusan, dan berbagai sistem pakar lainnya.

Page 18: TUGAS

1. Studi Kasus Mengenai Fuzzy Logic Menggunakan Toolbox Fuzzy Pada Matlab

Rancang sebuah Fuzzy Inference System untuk kasus penentuan bonus pegawai restoran berdasarkan pelayanan dan masakan yang disajikan dengan menggunakan rule Mamdani dengan logika yang tepat.

Penyelesaian :

Langkah pertama adalah buka program Matlab. Arahkan Current Directory pada posisi folder yang tepat.

Pada Command Window ketik “fuzzy”, maka akan muncul jendela berikut ini.

Secara default Matlab menyediakan satu masukan, satu keluaran dan satu rule bertipe Mamdani. Karena diminta untuk membuat dua masukan yaitu pelayanan dan masakan, klik: edit – Add Variable – Klik “input”. Tambahkan pelayanan

Page 19: TUGAS

dan masakan sebagai variabel masukan. Beri nama yang sesuai untuk output, yaitu “bonus”.

Langkah berikutnya adalah dengan membuat fungsi keanggotaan (membership function) untuk input, yaitu pelayanan terlebih dahulu, double klik pada masukan pelayanan, maka akan muncul jendela baru untuk mengatur fungsi keanggotaan. Yang perlu diatur adalah nama fungsi keanggotaan, range dan tipe-nya. Nama fungsi keanggotaan pada FIS berupa ciri verbal seperti baik, rata-rata atau buruk. Range menyatakan jangkauan angka misalnya lima menyatakan paling baik, nol menyatakan paling buruk, berarti antara dua dan tiga adalah rata-rata. Agar lebih cepat, gunakan tipe z, gauss dan s untuk berturut-turut pada fungsi buruk, rata-rata dan baik.

Page 20: TUGAS

Dengan cara yang sama dengan langkah keempat, dibuat untuk masukan masakan. Untuk mudahnya gunakan nama fungsi masakan tidak enak, rata-rata dan enak. Range gunakan jangkauan yang sama untuk pelayanan.

Berikutnya dirancang fungsi keanggotaan pada variabel keluaran, yaitu bonus. Akan dikategorikan bonus menjadi banyak, rata-rata dan sedikit. Untuk memudahkan, gunakan range penjumlahan dua masukan yaitu sepuluh. Gunakan fungsi sederhana yaitu fungsi segitiga. Atur nama fungsi serta tipenya sehingga menghasilkan gambar sebagai berikut.

Page 21: TUGAS

Jika telah selesai, maka terakhir dibuat logika pada rule. Close terlebih dahulu Membership Function Editor. Double klik pada bagian tengah FIS editor. Isikan logika yang sesuai, yaitu skenario terbaik, terburuk dan rata-rata.

Untuk melihat apakah sesuai dengan yang diharapkan, klik: view – surface, perhatikan apakah sudah sesuai dengan keinginan.

Untuk mengatur kecenderungan kita apakah memberi bonus baik atau tidak, dapat kita lakukan dengan mengklik: view – rules. Untuk mengatur kecenderungannya dapat kita lakukan dengan menggeser garis tengah berwarna merah untuk tiap fungsi keanggotaan.

Page 22: TUGAS

Satu engine FIS telah berhasil dibuat. Untuk menyimpan dapat dilakukan dengan mengklik: file – export. Ada dua pilihan yang tersedia, yaitu to Workspace dan to File. Bila dipilih to workspace maka hanya akan muncul pada Matlab saat aktif sekarang saja. Bila di-shutdown, data akan hilang. Sebaiknya dipilih to file agar lebih permanen. Setelah diklik to file, beri nama, misalnya bonus. File fuzzy akan tersimpan dengan ekstensi “fis”.

Berikutnya kita akan menguji fuzzy yang telah dibuat. Kembali ke command window, ketik: fis=readfis(‘bonus’) lalu enter maka Matlab akan meload engine FIS yang kita miliki, yaitu bonus.fis. Berarti variabelnya diberi nama “fis”.

>> fis=readfis(‘bonus’)

Berikut pengujian misalnya pelayanan buruk, yaitu 1 sedangkan masakannya pun tidak enak. Instruksi yang diperlukan adalah evalfis.

>> out = evalfis([1 1],fis)

 out =

 3.2863

Hasil defuzzifikasi, dengan variabel out, adalah 3,2863 yang jika dibandingkan dengan skala 10 masih dibilang buruk.

>> out = evalfis([5 5],fis)

 out =

 7.3379

Page 23: TUGAS

Sel-1(Neuron-1)

Sel-2(Neuron-2)

Inti Sel(Neucleus)

AxonDendrit

Synapsis

Dendrit

JARINGAN SYARAF TIRUAN

Jaringan syaraf adalah merupakan salah satu representasi buatan dari otak manusia

yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia

tersebut. Istilah buatan disini digunakan karena jaringan syaraf ini diimplementasikan

dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses

perhitungan selama proses pembelajaran.

3.1 GAMBARAN UMUM JARINGAN SYARAF TIRUAN

3.1.1 Jaringan Syaraf Secara Biologis

Otak manusia berisi berjuta-juta sel syaraf yang bertugas untuk memproses

informasi. Tiap-tiap sel bekerja seperti suatu prosesor sederhana. Masing-masing sel

tersebut saling berinteraksi sehingga mendukung kemampuan kerja otak manusia.

Gambar 3.1 Susunan syaraf manusia.

Gambar diatas menunjukkan susunan syaraf pada manusia. Setiap sel syaraf (neuron)

akan memiliki satu inti sel, inti sel ini nanti yang akan bertukan untuk melakukan

pemrosesan informasi. Informasi yang datang akan diterima oleh dendrit. Selain

menerima informasi, dendrit juga menyertai axon sebagai keluaran dari suatu

pemrosesan informasi. Informasi hasil olahan ini akan menjadi masukan bagi neuron lain

yang mana antar dendrit kedua sel tersebut dipertemukan dengan synapsis. Informasi

yang dikirimkan antar neuron ini berupa rangsangan yang dilewatkan melalui dendrit.

Informasi yang datang dan diterima oleh dendrit akan dijumlahkan dan dikirim melalui

axon ke dendrit akhir yang bersentuhan dengan dendrit dari neuron yang lain. Informasi

ini akan diterima oleh neuron lain jika memenuhi batasan tertentu, yang sering dikenal

dengan nama nilai ambang (threshold). Pada kasus ini, neuron tersebut dikatakan

teraktivasi. Hubungan antar neuron terjadi secara adaptif, artinya struktur hubungan

Page 24: TUGAS

tersebut terjadi secara dinamis. Otak manusia selalu memiliki kemampuan untuk belajar

dengan melakukan adaptasi.

3.1.2 SEJARAH

Mulai dari ditemukannya, jaringan syaraf tiruan telah mengalami tahap-

tahap perkembangan, antara lain:

Pada tahun 1940-an, para ilmuwan menemukan bahwa psikologi dari otak sama

dengan mode pemrosesan yang dilakukan oleh peralatan komputer.

Pada tahun 1943, McCulloch dan Pitts merancang model formal yang pertama

kali sebagai perhitungan dasar neuron.

Pada tahun 1949, Hebb menyatakan bahwa informasi dapat disimpan dalam

koneksi-koneksi dan mengusulkan adanya skema pembelajaran untuk

memperbaiki koneksi-koneksi antar neuron tersebut.

Pada tahun 1954, Farley dan Clark mensetup model-model untuk relasi adaptif

stimulus-respon dalam jaringan random.

Pada tahun 1958, Rosenblatt mengembangkan kosep dasar tentang perceptron

untuk klasifikasi pola.

Pada tahun 1960, Widrow dan Hoff mengembangkan ADALINE untuk kendali

adaptif dan pencocokan pola yang dilatih dengan aturan pembelajaran Least

Mean Square (LMS).

Pada tahun 1974, Werbos memperkenalkan algoritma backpropagation untuk

melatih perceptron dengan banyak lapisan.

Pada tahun 1975, Little dan Shaw menggambarkan jaringan syaraf dengan

menggunakan model probabilistik.

Pada tahun 1982, Kohonen mengembangkan metode pembelajaran jaringan

syaraf yang tidak terawasi (unsupervised learning) untuk pemetaan.

Pada tahun 1982, Grossberg mengembangkan teori jaringan yang diinspirasi

oleh perkembangan psikologi. Bersama Carpenter, mereka mengenalkan

sejumlah arsitektur jaringan, antara lain: Adaptive Resonance Theory (ART),

ART2, dan ART3.

Pada tahun 1982, Hopfield mengembangkan jaringan syaraf reccurent yang

dapat digunakan untuk menyimpan informasi dan optimasi.

Page 25: TUGAS

Fungsi aktivasi

Output

bobot

bobot

Input dari neuron-neuron yang lainOutput ke neuron-neuron yang lain

Pada tahun 1985, algoritma pembelajaran dengan menggunakan mesin

Boltzmann yang menggunakan model jaringan syaraf probabilistik mulai

dikembangkan.

Pada tahun 1987, Kosko mengembangkan jaringan Adaptive Bidirectional

Associative Memory (BAM).

Pada tahun 1988, mulai dikembangkan fungsi radial basis.

3.1.3 KOMPONEN JARINGAN SYARAF

Ada beberapa tipe jaringan syaraf, namun demikian, hampir semuanya

memiliki komponen-komponen yang sama. Seperti halnya otak manusia, jaringan syaraf

juga terdiri-dari beberapa neuron, dan ada hubungan antara neuron-neuron tersebut.

Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui

sambungan keluarnya menuju ke neuron-neuron yang lain. Pada jaringan syaraf,

hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai

tertentu pada bobot tersebut. Gambar 3.2 menunjukkan struktur neuron pada jaringan

syaraf.

Gambar 3.2 Struktur neuron jaringan syaraf.

Jika kita lihat, neuron buatan ini sebenarnya mirip dengan sel neuron biologis. Neuron-

neuron buatan tersebut bekerja dengan cara yang sama pula dengan neuron-neuron

biologis. Informasi (disebut dengan: input) akan dikirim ke neuron dengan bobot

kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan

menjumlahkan nilai-nilai semua bobot yang yanag datang. Hasil penjumlahan ini

kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui

fungsi aktivasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang

tertentu, maka neuron tersebut akan diaktifkan, tapi kalau tidak, maka neuron tersebut

tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan

mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang

berhubungan dengannya. Demikian seterusnya.

Page 26: TUGAS

Nilai input

Neuron-neuron pada lapisan input

Neuron-neuron pada lapisan tersembunyi

Neuron-neuron pada lapisan output

Nilai output

Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan-lapisan (layer)

yang disebut dengan lapisan neuron (neuron layers). Biasanya neuron-neuron pada satu

lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya (kecuali

lapisan input dan lapisan output). Informasi yang diberikan pada jaringan syaraf akan

dirambatkan lapisan ke lapisan, mulai dari lapisan input sampai ke lapisan output

melalui lapisan yang lainnya, yang sering dikenal dengan nama lapisan tersembunyi

(hidden layer). Tergantung pada algoritma pembelajarannya, bisa jadi informasi

tersebut akan dirambatkan secara mundur pada jaringan. Gambar 3.3 menunjukkan

jaringan syaraf dengan 3 lapisan.

Gambar 3.3 Jaringan syaraf dengan 3 lapisan.

Gambar 3.3 bukanlah struktur umum jaringan syaraf. Beberapa jaringan syaraf ada juga

yang tidak memiliki lapisan tersembunyi, dan ada juga jaringan syaraf dimana neuron-

neuronnya disusun dalam bentuk matriks.

3.1.4 ARSITEKTUR JARINGAN

Seperti telah dijelaskan sebelumnya bahwa neuron-neuron

dikelompokkan dalan lapisan-lapisan. Umumnya, neuron-neuron yang terletak

pada lapisan yang sama akan memiliki keadaan yang sama. Faktor terpenting

dalam menentukan kelakuan suatu neuron adalah fungsi aktivasi dan pola

bobotnya. Pada setiap lapisan yang sama, neuron-neuron akan memiliki fungsi

aktivasi yang sama. Apabila neuron-neuron dalam suatu lapisan (misalkan lapisan

tersembunyi) akan dihubungkan dengan neuron-neuron pada lapisan yang lain

Page 27: TUGAS

Nilai input

Lapisan Input

Matriks bobot

Lapisan Output

Nilai output

w11

X1 X2 X3

Y1 Y2

w12w21 w22

w31 w32

(misalkan lapisan output), maka setiap neuron pada lapisan tersebut (misalkan

lapisan tersembunyi) juga harus dihubungkan dengan setiap lapisan pada lapisan

lainnya (misalkan lapisan output).

Ada beberapa arsitektur jaringan syaraf, antara lain:

a) Jaringan dengan lapisan tunggal (single layer net)

Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot-bobot

terhubung. Jaringan ini hanya menerima input kemudian secara langsung akan

mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi (Gambar

3.4). Pada Gambar 3.4 tersebut, lapisan input memiliki 3 neuron, yaitu X1, X2 dan

X3. Sedangkan pada lapisan output memiliki 2 neuron yaitu Y1 dan Y2. Neuron-

neuron pada kedua lapisan saling berhubungan. Seberapa besar hubungan antara 2

neuron ditentukan oleh bobot yang bersesuaian. Semua unit input akan

dihubungkan dengan setiap unit output.

Gambar 3.4 Jaringan syaraf dengan lapisan tunggal.

b) Jaringan dengan banyak lapisan (multilayer net)

Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak

diantara lapisan input dan lapisan output (memiliki 1 atau lebih lapisan

tersembunyi), seperti terlihat pada Gambar 3.5. Umumnya, ada lapisan bobot-

bobot yang terletak antara 2 lapisan yang bersebelahan. Jaringan dengan banyak

lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada lapisan

Page 28: TUGAS

Nilai input

Lapisan Input

Matriks bobot pertama

Lapisan Tersembunyi

Nilai output

v11

X1 X2 X3

Z1 Z2

v12v21 v22

v31 v32

Matriks bobot kedua

Lapisan OutputY

w1 w2

A1 Am

Ai Aj

-

-

---

-1

11

1

dengan lapisan tunggal, tentu saja dengan pembelajaran yang lebih rumit. Namun

demikian, pada banyak kasus, pembelajaran pada jaringan dengan banyak lapisan

ini lebih sukses dalam menyelesaikan masalah.

Gambar 3.5 Jaringan syaraf dengan banyak lapisan.

c) Jaringan dengan lapisan kompetitif (competitive layer net)

Umumnya, hubungan antar neuron pada lapisan kompetitif ini tidak diperlihatkan pada

diagram arsitektur. Gambar 3.6 menunjukkan salah satu contoh arsitektur jaringan

dengan lapisan kompetitif yang memiliki bobot -.

Gambar 3.6 Jaringan syaraf dengan lapisan kompetitif.

Page 29: TUGAS

0

1

y

x

0

1y

x

-1

3.2 FUNGSI AKTIVASI

Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf

tiruan, antara lain:

a. Fungsi Undak Biner (Hard Limit)

Jaringan dengan lapisan tunggal sering menggunakan fungsi undak (step function)

untuk mengkonversikan input dari suatu variabel yang bernilai kontinu ke suatu

output biner (0 atau 1) (Gambar 3.7).

Fungsi undak biner (hard limit) dirumuskan sebagai:

y={0 , jika x≤01 , jika x>0

Gambar 3.7 Fungsi aktivasi: Undak Biner (hard limit).

b. Fungsi Bipolar (Symetric Hard Limit)

Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya

saja output yang dihasilkan berupa 1, 0 atau –1 (Gambar 3.8).

Fungsi Symetric Hard Limit dirumuskan sebagai:

y={ 1 , jika x>00 , jika x=0−1 , jika x<0

Gambar 3.8 Fungsi aktivasi: Bipolar (symetric hard limit).

Page 30: TUGAS

0

1y

x

-1

-1 1

0

1y

x-0,5 0,5

c. Fungsi Linear (identitas)

Fungsi linear memiliki nilai output yang sama dengan nilai inputnya (Gambar

3.9).

Fungsi linear dirumuskan sebagai:

y=x

Gambar 3.9 Fungsi aktivasi: Linear (identitas).

d. Fungsi Saturating Linear

Fungsi ini akan bernilai 0 jika inputnya kurang dari –½, dan akan bernilai

1 jika inputnya lebih dari ½. Sedangkan jika nilai input terletak antara –½ dan

½, maka outpunya akan bernilai sama dengan nilai input ditambah ½ (Gambar

3.10).

Fungsi saturating linear dirumuskan sebagai:

y={ 1 ; jika x≥0,5x+0,5 ; jika −0,5≤x≤0,5

0 ; jika x≤−0,5

Gambar 3.10 Fungsi aktivasi: Saturating Linear

Page 31: TUGAS

0

1y

x-1 1

-1

e. Fungsi Symetric Saturating Linear

Fungsi ini akan bernilai -1 jika inputnya kurang dari –1, dan akan bernilai

1 jika inputnya lebih dari 1. Sedangkan jika nilai input terletak antara –1 dan 1,

maka outpunya akan bernilai sama dengan nilai inputnya (Gambar 3.11).

Fungsi symetric saturating linear dirumuskan sebagai:

y={ 1 ; jika x≥1x ; jika −1≤x≤1

−1 ; jika x≤−1

Gambar 3.11 Fungsi aktivasi: Symetric Saturating Linear.

Proses Pembelajaran

Ada beberapa metode untuk proses pembelajaran pada jaringan saraf tiruan ini,

diantaranya

1. Pembelajaran Terawasi (Supervised Learning)

satu neuron pada lapisan input. Pola ini akan dirambatkan disepanjang jaringan saraf

hingga sampai ke neuron pada lapisan output. Lapisan output ini akan membangkitkan

pola output yang nantinya akan dicocokkan dengan pola output targetnya. Apabila terjadi

perbedaan antara output hasil pembelajaran dengan pola target, maka disini akan muncul

error. Apabila error ini masih cukup besar, mengindikasikan bahwa masih perlu

dilakukan lebih banyak pembelajaran lagi.

Perceptron

Perceptron termasuk kedalam salah satu bentuk Jaringan Syaraf Tiruan yang sederhana.

Perceptron biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang

Page 32: TUGAS

sering dikenal dengan istilah pemisahan secara linear. Pada dasarnya perceptron pada

Jaringan Syaraf dengan satu lapisan memiliki bobot yang bisa diatur dan suatu nilai

ambang. Algoritma yang digunakan oleh aturan perceptron ini akan mengatur parameter-

parameter bebasnya melalui proses pembelajaran. Fungsi aktivasi dibuat sedemikian rupa

sehingga terjadi pembatasan antara daerah positif dan daerah negatif. Perceptron dapat

dilihat di gambar berikut

Gambar 1.6 Bentuk Perceptron

Metoda Backpropagation

Perambatan galat mundur (Backpropagation) adalah sebuah metode sistematik untuk

pelatihan multiplayer jaringan saraf tiruan. Metode ini memiliki dasar matematis yang

kuat, obyektif dan algoritma ini mendapatkan bentuk persamaan dan nilai koefisien dalam

formula dengan meminimalkan jumlah kuadrat galat error melalui model yang

dikembangkan (training set)

1. Dimulai dengan lapisan masukan, hitung keluaran dari setiap elemen pemroses melalui

lapisan luar.

2. Hitung kesalahan pada lapisan luar yang merupakan selisih antara data aktual dan

target.

3. Transformasikan kesalahan tersebut pada kesalahan yang sesuai di sisi masukan

elemen

pemroses.

4. Propagasi balik kesalahan-kesalahan ini pada keluaran setiap elemen pemroses ke

kesalahan yang terdapat pada masukan. Ulangi proses ini sampai masukan tercapai.

5. Ubah seluruh bobot dengan menggunakan kesalahan pada sisi masukan elemen dan

luaran elemen pemroses yang terhubung.

Arsitektur Jaringan Metode Backpropagation

Jaringan saraf terdiri dari 3 lapisan, yaitu lapisan masukan/input terdiri atas variabel

masukan unit sel saraf, lapisan tersembunyi terdiri atas 10 unit sel saraf, dan lapisan

keluaran/output terdiri atas 2 sel saraf. Lapisan masukan digunakan untuk menampung 13

variabel yaitu X1 sampai dengan X13, sedangkan 2 lapisan keluaran digunakan untuk

Page 33: TUGAS

mempresentasikan pengelompokan pola, nilai 00 untuk Gangguan Stress, nilai 01 untuk

Gangguan Fobia, nilai 10 untuk Gangguan Obsesif kompulsif, dan nilai 11 untuk

Gangguan Panik

Gambar 1.7 Arsitektur Jaringan Backpropagation

Keterangan :

X = Masukan (input).

J = 1 s/d n (n = 10).

V = Bobot pada lapisan tersembunyi.

W = Bobot pada lapisan keluaran.

n = Jumlah unit pengolah pada lapisan tersembunyi.

b = Bias pada lapisan tersembunyi dan lapisan keluaran.

k = Jumlah unit pengolah pada lapisan keluaran.

Y = Keluaran hasil.

Tujuan dari perubahan bobot untuk setiap lapisan, bukan merupakan hal yang sangat

penting. Perhitungan kesalahan merupakan pengukuran bagaimana jaringan dapat belajar

dengan baik. Kesalahan pada keluaran dari jaringan merupakan selisih antara keluaran

aktual (current output) dan keluaran target (desired output).

Langkah berikutnya adalah menghitung nilai SSE (Sum Square Error) yang merupakan

hasil penjumlahan nilai kuadrat error neuron1 dan neuron2 pada lapisan output tiap data,

dimana hasil penjumlahan keseluruhan nilai SSE akan digunakan untuk menghitung nilai

RMSE (Root Mean Square Error) tiap iterasi

Sum Square Error (SSE). SEE dihitung sebagai berikut :

Page 34: TUGAS

1. Hitung lapisan prediksi atau keluaran model untuk masukan pertama.

2. Hitung selisih antara nilai luar prediksi dan nilai target atau sinyal latihan untuk setiap

keluaran.

3. Kuadratkan setiap keluaran kemudian hitung seluruhnya. Ini merupakan kuadrat

kesalahan untuk contoh lain.

SSE =

Root Mean Square Error (RMS Error). Dihitung sebagai berikut :

1. Hitung SSE.

2. Hasilnya dibagi dengan perkalian antara banyaknya data pada latihan dan banyaknya

luaran, kemudian diakarkan.

RMSE =

RMSE = Root Mean Square Error

SSE = Sum Square Error

N = Banyaknya data pada latihan

K = Banyaknya luaran.

Page 35: TUGAS

2. Studi Kasus Mengenai Aplikasi Jaringan Syaraf Tiruan Pada Matlab

Pada studi kasus ini akan dibahas penggunaan Jaringan Syaraf Tiruan pada permasalahan pengenalan pola sidik jari manusia. Sistem pengenalan identitas dengan sidik jari saat sekarang ini merupakan teknologi pengenalan pola yang banyak dipakai oleh industri biometrik pada saat ini. Sistem tersebut masih mempunyai kelemahan, dimana user harus menempelkan jari pada bidang sensor secara lurus, sehingga seringkali dijumpai user berulang kali mengalami kegagalan akses. Untuk menangani permasalahan tersebut kita akan mencoba merancang suatu sistem pengenalan pola yang lebih cerdas, yaitu sistem tersebut dapat mengenali pola sidik jari meskipun user menempatkan posisi jarinya secara sembarang pada bidang sensor. Perkembangan algoritma kecerdasan buatan (artificial inteligent) yang semakin handal akan dicoba untuk studi ini yaitu dengan menggunakan algoritma feed forward backpropagation.

Tahap ke-1 (Image Acquisition) : adalah proses mendapatkan data image. Pengambilan data dilakukan dengan metode ink rolled (tinta diteteskan pada permukaan stam pad kemudian jari yang telah dikenai tinta dicapkan ke kertas dari ujung bawah kuku sampai pangkal jari). Setelah itu kertas di scan menggunakan scanner canon. Karena pengambilan image diambil secara langsung maka sering terjadi trial and error.Tahap ke-2 (Image Preprocessing) : Pada tahap ini image diberi proses lain seperti penghilangan noise/derau, penajaman image, pemotongan image, dll. Program yang dipergunakan untuk memfilter image yaitu Program Adobe Photoshop dan Microsoft Office Picture Manager. Keluaran dari tahap ini adalah image tersegmentasi yang akan digunakan untuk proses selanjutnya dalam

Page 36: TUGAS

penelitian. Image tersegmentasi adalah image yang sudah dipisahkan dari image awal.Tahap ke-3 (Feature Extraction) : Di tahap ini, image akan diekstrak untuk mendapatkan nilai-nilai yang merepresentasikan ciri spesifik dari image tersebut. Image dari tahap ke-2 akan diperkecil ukuran pixelnya karena jumlah datanya yang terlalu besar untuk dijadikan input, sehingga image diperkecil menjadi 8x8 pixel. Image ini dipilih karena masih dapat mewakili ciri citra asli, sesuai dengan rumus level maksimum dekomposisi yang dibatasi oleh persamaan yang berkorelasi (Kanata, 2008:7). Image ini akan diubah menjadi citra biner yang disimpan dalam matriks dengan nilai 0 (hitam) dan 1 (putih). Proses perubahan citra menggunakan MATLAB ver.7.1. dengan menggunakan perintah :

Imdat =imread('sampel1(input).jpg');imgray=rgb2gray(imdat);imbw =im2bw(imgray)

Data yang dihasilkan (imbw) disimpan dalam file .dat

Tahap ke-4 (Image Recognition) :Di tahap ini, vektor ciri image akan diklasifikasikan. Keluaran dari tahap ini adalah klasifikasi image, yang kemudian dapat secara langsung untuk mengenali suatu image. Metode yang digunakan adalah propagasi umpan balik berbasis jaringan syaraf tiruan.Diagram alir (flowchart) pengenalan pola sidik jari dengan propagasi umpan balik berbasis jaringan syaraf tiruan dapat dijelaskan pada gambar berikut:

Page 37: TUGAS

Propagasi Umpan Balik Berbasis Jaringan Syaraf Tiruan Dengan Menggunakan Toolbox MATLAB ver.7.1

Proses Pelatihan (Training)1) Sebelum melakukan simulasi (running) pada command window matlab,

terlebih dahulu dibuat instruksi-instruksi (syntax) dalam M-file editor. Dan untuk menghapus semua data dan syntax pada command window dituliskan instruksi clear, yang diakhiri dengan tanda titik koma (seperti: clear;).

2) Masukan data input dan target.Pada penelitian ini, JST didesain dan dilatih untuk mengenali 4 pola sidik jari.

Masing – masing pola diwakili oleh nilai Boolean kisi 12x64. Yang terdiri dari 768 vektor input dan 12 vektor target. Masing-masing vektor output mewakili karakteristik sebuah sampel. Sebagai contoh, sampel 1 diwakili oleh target 1 (untuk alasan kemudahan, karena sampel 1 adalah sampel yang diambil pertama kali).

Page 38: TUGAS

3) Data-data yang diperoleh disimpan dalam file .dat lalu dimuat ke M-File.

% Data input & targetP = load ('sampel semua.dat');T = load ('target.dat');

4) Proses awal sebelum dilakukan pelatihan, data input dan target harus dinormalisasi. Proses normalisasi dapat dilakukan dengan bantuan mean dan deviasi standar. Fungsi prestd akan membawa data ke bentuk normal dengan mean = 0 dan deviasi standar = 1.

% Preprocessing[pn,meanp,stdp,tn,meant,stdt] = prestd(P,T);

5) Membangun jaringan dengan algoritma propagasi umpan balik berbasis jaringan syaraf tiruan, instruksi yang digunakan newff.

% Membangun jaringan dengan propagasi umpan balik berbasis jaringan syaraftiruannet = newff(minmax(pn),[10 5 1],{'tansig' 'logsig' 'purelin'},'traingdm')

6) Melihat bobot awal input, lapisan dan bias.

% Melihat bobot-bobot awal input, lapisan,dan biasBobotAwal_Input = net.IW{1,1}BobotAwal_Bias_Input = net.b{1,1}BobotAwal_Lapisan1 = net.LW{2,1}BobotAwal_Bias_Lapisan1 = net.b{2,1}BobotAwal_Lapisan2 = net.LW{3,2}BobotAwal_Bias_Lapisan2 = net.b{3,1}

7) Seting maksimum epoh, target error, learning rate, momentum dan epoh show.

% Set max epoh, target error, learning rate,momentum dan epoh shownet.trainParam.epochs = 30000;net.trainParam.goal = 1e-3;net.trainParam.lr = 0.5;net.trainParam.mc = 0.7;net.trainParam.show = 250;

8) Melakukan pembelajaran/pelatihan terhadap data input dan target.

% Melakukan pembelajaran[net,tr] = train(net,pn,tn); pause

9) Melihat bobot akhir input, lapisan.

% Melihat bobot akhir input, lapisan, dan biasBobotAkhir_Input = net.IW{1,1}BobotAkhir_Bias_Input = net.b{1,1}BobotAkhir_Lapisan1 = net.LW{2,1}BobotAkhir_Bias_Lapisan1 = net.b{2,1}BobotAkhir_Lapisan2 = net.LW{3,2}BobotAkhir_Bias_Lapisan2 = net.b{3,1}

Page 39: TUGAS

10) Melakukan simulasi dan hasilnya didenormalisasi pada data aslinya.

% Melakukan simulasian = sim(net,pn)a = poststd(an,meant,stdt)H = [(1:size(P,2))' a']sprintf('%2d %5.2f\n',H')

11) Melakukan evaluasi terhadap output jaringan, yaitu data hasil pelatihan dengan target.

%Melakukan evaluasi terhadap output jaringan[m1,a1,r1]=postreg(a,T)

12) Menampilkan hasil pelatihan dalam bentuk grafik.

%Menampilkan hasil pelatihan dalam bentuk grafik.plot([1:size(P,2)]',T,'bo',[1:size(P,2)]',a','r*')title('Pengujian dengan data training: Target(o), output (*)')xlabel('data ke-');ylabel('Target');pause

Proses Tes (Testing )1) Masukan data input dan target. Data-data yang diperoleh disimpan dalam

file .dat lalu dimuat ke M-File.

% Data input & targetP = load ('sampel1(input).dat');T = load ('sampel1(target).dat');

2) Melakukan simulasi jaringan.

% Simulasi jaringanQn = trastd(Q,meanp,stdp)bn = sim(net,Qn)b = poststd(bn,meant,stdt)

3) Menampilkan hasil perbandingan antara target yang didapat melalui metode propagasi umpan balik dengan target yang diinginkan dalam bentuk grafik.

%grafik[b' TQ'];plot(b,'b-*')holdplot(TQ,'r-o')

Proses Pengenalan Pola Sidik JariMenampilkan hasil dari proses testing, apakah target dikenali atau tidak.

disp('---------------------------------------------------------');disp(' Data sidik jari ');disp('---------------------------------------------------------');y=b';x=sum(y)/4;disp(['target yang didapat algoritma propagasi umpan balik berbasis jaringan syaraf tiruan = ' num2str(x)]);

Page 40: TUGAS

a=TQ';b=sum(a)/4;disp(['target yang diinginkan = 'num2str(b)]);c=b-x;e=c;disp(['besar error = 'num2str(e)]);if e>0.01disp(' Kesimpulan : target tidak dikenali ');elseif e<=0.01disp(' Kesimpulan : target dikenali ');end;

HASIL PENGENALAN POLA SIDIK JARI

Untuk mengenali pola sidik jari menggunakan propagasi umpan balik berbasis jaringan syaraf tiruan terdapat 4 tahapan yaitu image acquisition, image preprocessing, image feature extraction dan image recognition. Setelah dilakukan pengambilan sampel sidik jari pada tahapan image acquisition dengan metode ink rolled. Kemudian pada tahapan image preproccessing, image yang didapat kemudian difilter dan dicrop dengan program Adobe Photoshop (pada ukuran dimensi 508x508 pixel) agar mempermudah dalam mengidentifikasi karakteristik dari masing-masing sampel. Kemudian pada tahapan image feature extraction, Hasil image preprocessing akan diperkecil ukuran pixelnya karena jumlah datanya yang terlalu besar untuk dijadikan input, sehingga image diperkecil menjadi 8x8 pixel. Image ini dipilih karena masih dapat mewakili ciri citra asli, sesuai dengan rumus level maksimum dekomposisi yang dibatasi oleh persamaan yang berkorelasi (Kanata, 2008:7).Pada tahapan image recognition, diperoleh :

Hasil Proses Pelatihan ( Training ) Karena bobot awal training adalah random maka saat dilakukan training

lagi (tanpa adanya perubahan konstruksi JST) akan didapat bobot training yang berbeda, sehingga hasil yang didapat pun akan berbeda pula. Dibawah ini hasil dari beberapa percobaan training:

Dari hasil percobaan di atas maka hasil dari percobaan ke- 10 yang akan ditampilkan pada grafik di bawah ini :

Page 41: TUGAS

Grafik diatas menunjukkan bahwa mse didapat pada epoch ke- 108 dari 30000 epoch yang ditentukan di awal, dengan nilai mse senilai 0.000982435 dari 0.001 yang ditentukan.

Grafik diatas menunjukkan perbandingan target yang diinginkan (T) dengan target hasil pelatihan algoritma propagasi umpan balik (H).

Page 42: TUGAS

Hasil dari perbandingan target yang diinginkan (T) dengan target hasil pelatihan propagasi umpan balik berbasis jaringan syaraf tiruan (H).

Untuk menganalisa hasil tabel diatas, dapat dilakukan analisis regresi. Pada MATLAB menyediakan fungsi postreg untuk melakukan evaluasi ini. Dan hasil yang didapat adalah :

>> m1 = 0.9964Penjelasan : m adalah gradient garis hasil regresi linear. Apabila output jaringan tepat sama dengan targetnya, maka gradient ini akan bernilai 1. Dari hasil m yang didapat oleh MATLAB maka output jaringan hampir tepat sama dengan targetnya.

>> a1 = 0.0100Penjelasan : a adalah titik perpotongan dengan sumbu y. Apabila output jaringan tepat sama dengan targetnya, maka perpotongan dengan sumbu y ini akan bernilai 0. Dari hasil a yang didapat oleh MATLAB maka output jaringan hampir tepat sama dengan targetnya.

>> r1 = 0.9995Penjelasan : r adalah koefisien korelasi antara output jaringan dan target. Apabila output jaringan tepat sama dengan targetnya, maka koefisien korelasi ini akan bernilai 1. Dari hasil r yang didapat oleh MATLAB maka output jaringan hampir tepat sama dengan targetnya.

Dari hasil pelatihan diatas, dapat disimpulkan bahwa pada proses pelatihan (training) output jaringan hampir tepat sama dengan targetnya.

Page 43: TUGAS

Hasil Proses Testing

Hasil uji propagasi umpan balik berbasis jaringan syaraf tiruan

Pada proses testing diatas, JST dilatih dalam 2 kondisi yaitu :

a) JST di uji untuk mengenali pola sidik jari dari berbagai sudut.b) JST di uji untuk mengenali pola sidik jari dengan mengganti target yang

seharusnya dengan target dari input yang lain. Contoh : data pada sampel 1 hanya akan mengenali output dengan target 1, maka jika input nya sesuai dengan output maka sistem akan mengenali, tetapi apabila input nya tidak sesuai dengan output maka sistem tidak akan mengenali pola tersebut.

Dari hasil pengujian didapatkan bahwa dari 28 pengujian , sistem berhasil mengidentifikasi sidik jari tanpa terdapat suatu kesalahan.