• Tidak ada hasil yang ditemukan

BAB IV PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK

N/A
N/A
Protected

Academic year: 2022

Membagikan "BAB IV PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK"

Copied!
22
0
0

Teks penuh

(1)

BAB IV

PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK

Bab ini menjelaskan perancangan dan implementasi yang dilakukan. Tahap pertama dimulai dengan merancang beberapa classifier yaitu jaringan saraf tiruan feedforward, jaringan saraf tiruan probabilistic, dan parzen classifier. Kemudian dilanjutkan dengan melakukan perancangan binary particle swarm optimization untuk mengoptimalkan hasil keluaran binary dari masing-masing individual classifier.

4.1 Perancangan perangkat lunak

Perancangan perangkat lunak dibagi menjadi tiga bagian utama yaitu perancangan perangkat lunak classifier, perancangan perangkat lunak binary particle swarm optimization, dan perancangan data masukan.

4.1.1 Perancangan perangkat lunak classifier

Rancangan ini meliputi rancangan jaringan saraf tiruan feedforward, jaringan saraf tiruan probabilistic, dan parzen classifier pada permasalahan klasifikasi dengan menggunakan data iris dan wine. Dimana semua rancangan dilakukan dengan menggunkan perangkat lunak MATLAB.

4.1.1.1 Rancangan JST Feedforward

Perancangan program jaringan saraf tiruan feeedforward digunakan untuk mendapatkan hasil klasifikasi dari data masukan dengan menggunakan metode pembelajaran terawasi (supervised learning). Untuk mendapatkan hasil tersebut, dilakukan langkah- langkah seperti yang digambarkan pada diagram alir berikut ini :

27

(2)

Mulai

Mengubah data yang digunakan (iris dan wine) dalam bentuk pasangan input

dan target

Membangkitkan jaringan saraf tiruan feedforward

Melakukan testing klasifikasi dari

inputan yang diberikan

Mengubah hasil klasifikasi kedalam

bentuk keputusan binary

Selesai

Gambar 4.1 Flowchart rancangan JST feedforward Langkah-langkah yang dilakukan adalah sebagai berikut :

1. Data masukan dibentuk dalam susunan pasangan input dan target.

2. Membuat jaringan saraf tiruan feedforward untuk melakukan training terhadap pasangan input dan target, sehingga nantinya akan didapatkan nilai bobot dan bias yang optimal.

3. Pencarian nilai bobot dan bias yang optimal akan berhenti pada epoch training yang telah ditentukan.

4. Melakukan simulasi klasifikasi dari input yang diberikan dengan menggunakan bobot dan bias yang optimal dari hasil training.

5. Mengubah hasil keluaran klasifikasi pada jaringan saraf tiruan feedforward ke dalam bentuk binary.

4.1.1.2 Rancangan JST probabilistic

Program Matlab yang akan mengimplementasikan jaringan saraf tiruan probabilistic memiliki karakteristik sebagai berikut :

(3)

Mulai

Mengubah data yang digunakan (iris dan wine) dalam bentuk pasangan input

dan target

Membangkitkan jaringan saraf tiruan probabilistic

Melakukan testing klasifikasi dari

inputan yang diberikan

Mengubah hasil klasifikasi kedalam

bentuk keputusan binary

Selesai

Gambar 4.2 Flowchart rancangan JST probabilistic Langkah-langkah yang dilakukan adalah sebagai berikut :

1. Data masukan dibentuk dalam susunan pasangan input dan target.

2. Membuat jaringan saraf tiruan probabilistic dengan parameter input dan target.

3. Melakukan simulasi terhadap input yang diberikan

4. Mengubah hasil keluaran klasifikasi pada jaringan saraf tiruan feedforward ke dalam bentuk binary.

4.1.1.3 Rancangan parzen classifier

Perancangan program matlab yang akan mengimplementasikan parzen classifier memiliki karakteristik sebagai berikut :

(4)

Mulai

Mengubah data yang digunakan (iris dan wine) dalam bentuk pasangan input

dan target

Melakukan training dengan menggunkan toolbox parzen

classifier

Melakukan testing klasifikasi dari

inputan yang diberikan

Mengubah hasil klasifikasi kedalam

bentuk keputusan binary

Selesai

Gambar 4.3 Flowchart rancangan parzen classifier Langkah-langkah yang dilakukan adalah sebagai berikut :

1.

Data masukan dibentuk dalam susunan pasangan input dan target.

2.

Melakukan training dengan menggunakan parameter data input, target, dan input simulasi dengan menggunkan parzen classifier toolbox.

3.

Mengubah hasil keluaran klasifikasi pada jaringan saraf tiruan feedforward ke dalam bentuk binary.

4.1.2 Perancangan perangkat lunak binary PSO

Rancangan ini digunakan untuk mendapatkan nilai optimal dari output binary masing-masing classifier. Keoptimalan ini dihitung berdasarkan nilai error yang dihasilkan selama proses iterasi dengan menggunkan pembandingan terhadap fungsi aktivasi sigmoid. Berikut adalah diagram alir perancangan program binary PSO yang akan dibuat dengan menggunakan matlab :

(5)

Gambar 4.4 Flowchart rancangan algoritma binary PSO Langkah-langkah yang dilakukan adalah sebagai berikut :

1. Populasi dibangkitkan dari output binary masing-masing classifier.

2. Pembaharuan posisi merupakan nilai binary yang di dapatkan dengan cara membandingkan nilai setiap partikel dengan fugsi sigmoid.

3. Pembaharuan velocity dipengaruhi oleh nilai pbest dan gbest 4. Parameter berikut merupakan nilai statis :

(6)

a. Ukuran dari populasi b. Nilai inertia

c. Correction factor d. Bilangan natural

5. Digunakan 2 kriteria untuk berhenti : yang pertama menggunakan ukuran dari populasi , yang kedua adalah batas iterasi.

4.1.3 Perancangan data

Data yang akan digunakan dalam tugas akhir ini didapatkan dari UCI Repository machine learning database, yaitu data iris dan wine. Data iris dan wine tersebut ditunjukkan pada halaman lampiran

Dari tabel data iris 8.1 diketahui bahwa data set iris terdiri dari 150 instance dimana terbagi masing-masing menjadi 50 instance pada 3 buah class. Masing-masing class menunjuk jenis bunga iris. Data iris memiliki 5 buah atribut yang terdiri dari 4 atribut numerik dan 1 atribut prediktif (Class). Perhitungan statistik data iris dapat dilihat pada tabel 4.5 berikut :

Tabel 4.1 Perhitungan statistic data iris

Min Max Mean SD

Sepal length 4.3 7.9 5.84 0.83

Sepal width 2.0 4.4 3.05 0.43

Petal length 1.0 6.9 3.76 1.76

Petal width 0.1 2.5 1.20 0.76

Selanjutnya data kedua yang digunakan pada tugas akhir ini adalah data wine. Data wine merupakan data hasil analisis kimia pertumbuhan anggur disuatu tempat di Italia yang dibudidayakan oleh 3 petani yang berbeda.Analisis kimia ini ditentukan dari 13 konstituen yang ada pada 3 buah jenis anggur. Data wine dapat dilihat pada halaman lampiran.

Dari tabel data wine dapat diketahui bahwa data wine memiliki 13 atribut dengan jumlah instance sebanyak 178 dimana terbagi sebanyak 59 instance pada class 1, 71 instance pada class

(7)

2, dan 48 instance pada class 3. Data-data seperti yang ditunjukkan diatas dituliskan dalam ms excel, untuk selanjutnya data akan diubah kedalam bentuk matrik didalam matlab dalam bentuk mat file.

4.2 Implementasi perangkat lunak

Implementasi perangkat lunak pada tugas akhir ini terbagi kedalam 2 bagian utama yaitu implementasi perangkat lunak classifier dan implementasi perangkat lunak binary particle swarm optimization. Dimana semuanya akan diimplementasikan menggunakan MATLAB.

4.2.1 Implementasi perangkat lunak classifier

Diimplementasikan 3 buah classifier yaitu jaringan saraf tiruan feedforward, jaringan saraf tiruan probabilistic dan parzen classifier.Implementasi meliputi data masukan dan implementasi perangkat lunak

4.2.1.1 Data masukan JST Feedforward

Data masukan yang digunakan pada jaringan saraf tiruan feedforward ini adalah data iris dan data wine yang telah diubah kedalam bentuk matrik didalam matlab dalam bentuk mat file..

Gambar 4.5 menunjukkan implementasi kode MATLAB untuk membaca data masukan iris

(8)

Gambar 4.5 Kode matlab iris-JST Feedforward

Skenario yang digunakan adalah dengan menggunakan setengah data input awal untuk training dan setengah berikutnya digunakan untuk testing dan simulasi nantinya juga akan diujicobakan dengan menggunakan 25 % data dan 75% data.

Gambar 4.6 adalah kode program untuk membaca masukan data wine

Gambar 4.6 Kode matlab wine-JST Feedforward

Input dan target yang digunakan sama-sama menggunakan scenario seperti yang diujicobakan pada data iris, dimana digunakan 25%, 50% dan 75% data.

(9)

4.2.1.2 Perangkat lunak JST Feedforward

Perangkat lunak memiliki 3 alur utama, yaitu:

1. Membentuk jaringan saraf tiruan feedforward

2. Melakukan training dan simulasi dengan beberapa parameter yang telah ditentukan

3. Mengubah hasil simulasi kedalam bentuk binary.

Untuk membentuk jaringan saraf tiruan feedforward digunakan kode program seperti yang ditunjukkan pada gambar 4.7 berikut

Gambar 4.7 KOde matlab JST Feedforward

Gambar 4.7 diatas membentuk sebuah jaringan saraf tiruan feedforward dengan 2 buah layer dimana terdapat 3 buah neuron pada layer pertama dan 1 neuron pada layer ke dua (output).

Fungsi aktivasi yang digunakan pada layer pertama adalah fungsi aktivasi tansig dan pada layer ke dua digunakan fungsi aktivasi purelin yang telah dijelaskan pada bab sebelumnya. Untuk melakukan training dan simulasi, kode MATLAB selengkapnya dapat dilihat pada gambar berikut :

Gambar 4.8 Training dan simulasi dengan JST Feedforward

(10)

Iterasi pembelajaran akan berhenti pada saat nilai epoch mencapai nilai 3000 dengan nilai parameter laju pembelajaran yang ditetapkan adalah 0.1 (baris 22-23). Simulasi dilakukan dengan testing terhadap setegah data input terakhir (baris 29).Untuk mengubah hasil simulasi kedalam bentuk binary ,kode MATLAB selengkapnya dapat dilihat pada gambar 4.9

Gambar 4.9 Kode untuk mengubah hasil klasifikasi menjadi biner Nilai keluaran yang dihasilkan berupa matrik sejumlah N baris 3 kolom, yang semua elemennya adalah binary, dimana nilai 1 0 0 menunjukkan klasifikasi terhadap jenis iris setosa (pada data iris) dan wine tipe 1 (pada data wine).Nilai 0 1 0 menunjukkan klasifikasi terhadap jenis iris versicolor (pada data iris) dan wine tipe 2 (pada data wine). Nilia 0 0 1 menunjukkan klasifikasi terhadap jenis iris virginica (pada data iris) dan wine tipe 3 (pada data wine).

(11)

4.2.1.3 Data masukan JST probabilistic

Data masukan yang digunakan pada jaringan saraf tiruan probablistic ini adalah data iris dan data wine yang telah diubah kedalam bentuk matrik didalam matlab dalam bentuk mat file..

Gambar 4.10 menunjukkan implementasi kode MATLAB untuk membaca data masukan iris

Gambar 4.10 Kode matlab iris-JST probabilistic

Skenario yang digunakan adalah sama dengan skenario pada jaringan saraf tiruan feedforward yaitu dengan menggunakan setengah data input awal untuk training dan setengah berikutnya digunakan untuk testing dan simulasi. Gambar 4.11 adalah kode program untuk membaca masukan data wine

(12)

Gambar 4.11 Kode matlab wine- JST probabilistic

Input dan target yang digunakan seperti sebelumnya yaitu sama-sama menggunakan setengah data input awal untuk training dan setengah berikutnya digunakan untuk simulasi. Selain itu juga dilakukan training ujicoba terhadap 25% dan 72% data iris dan wine.

4.2.1.4 Perangkat lunak JST probabilistic

Perangkat lunak memiliki 6 tahapan utama, yaitu:

1. Mengubah matrik target kedalam bentuk vektor 2. Membentuk jaringan saraf tiruan probabilistic.

3. Melakukan simulasi

4. Melakukan simulasi setengah data akhir dari input 5. Mengubah matrik hasil simulasi kedalam bentuk indek 6. Mengubah kedalam bentuk binary

(13)

Untuk mengubah matrik target kedalam bentuk vektor digunakan kode program seperti pada gambar 4.12 berikut ini :

Gambar 4.12 Kode matlab mengubah matrik target ke vektor Selanjutnya dibentuk jaringan saraf tiruan probabilistic.

Gambar 4.13 menunjukkan implementasi kode MATLAB yang diperlukan

Gambar 4.13 Membentuk JST probabilistic

Simulasi awal dilakukan dengan menggunaan setengah data awal input yang diberikan seperti pada gambar 4.13 (baris 20).

Simulasi kedua dilakukan dengan menggunkan setegah data terakhir dari input , seperti yang ditunjukkan pada gambar 4.14 berikut :

Gambar 4.14 Simulasi dengan JST probabilistic

Matrik output hasil simulasi selanjutnya diubah dalam bentuk indek dengan menggunakan fungsi vec2ind seperti yang

(14)

ada pada gambar 4.14 (baris 26)

. Gambar 4.15 merupakan tahapan selanjutnya yaitu mengubah output hasil simulasi kedalam bentuk binary

Gambar 4.15 Mengubah output simulasi dalam bentuk biner Nilai keluaran yang dihasilkan berupa matrik sejumlah N baris 3 kolom, yang semua elemennya adalah binary, dimana nilai 1 0 0 menunjukkan klasifikasi terhadap jenis iris setosa (pada data iris) dan wine tipe 1 (pada data wine).Nilai 0 1 0 menunjukkan klasifikasi terhadap jenis iris versicolor (pada data iris) dan wine tipe 2 (pada data wine). Nilia 0 0 1 menunjukkan klasifikasi terhadap jenis iris virginica (pada data iris) dan wine tipe 3 (pada data wine).

(15)

4.2.1.5 Data masukan parzen classifier

Sama seperti pada sub bab sebelumnya, data masukan yang digunakan pada jaringan saraf tiruan probablistic ini adalah data iris dan data wine yang telah diubah kedalam bentuk matrik didalam matlab dalam bentuk mat file.. Gambar 4.16 menunjukkan implementasi kode MATLAB untuk membaca data masukan iris.

Gambar 4.16 Kode matlab iris-parzen

Skenario yang digunakan adalah sama dengan skenario pada jaringan saraf tiruan feedforward dan probabilistic yaitu dengan mengujicoba training menggunakan 25%, 50%, dan 75%

data dan sisa masing-masing berikutnya digunakan untuk testing dan simulasi. Gambar 4.17 adalah kode program untuk membaca masukan data wine.

Gambar 4.17 Kode matlab wine-parzen

(16)

Input dan target yang digunakan seperti sebelumnya yaitu sama-sama menggunakan setengah data input awal untuk training dan setengah berikutnya digunakan untuk testing

4.2.1.6 Perangkat lunak classifier

Perangkat lunak memiliki 4 tahapan utama, yaitu :

1. Menggunakan setengah data input dan target awal untuk melakukan training.

2. Menggunakan setengah data input akhir untuk melakukan testing.

3. Menggunakan parzen classifier toolbox dengan parameter input-target training dan input testing dan berhenti pada iterasi tertentu yang telah ditentukan.

4. Mengubah hasil keluaran simulasi dalam bentuk binary.

Untuk membentuk setengah input dan target awal digunakam kode program seperti pada gambar 4.18 berikut ini :

Gambar 4.18 fIlustrasi menggunakan setengah data untuk training Setelah input dan target didapat, selanjutnya adalah melakukan training dan testing dengan menggunkan parzen classifier toolbox. Implementasi kode programnya seperti terdapat pada gambar 4.19 berikut ini :

(17)

Gambar 4.19 Training dan testing dengan toolbox parzen classifier Setelah dilakukan testing, tahap selanjutnya adalah mengubah output yang dihasilkan dalam bentuk binary. Gambar 4.20 berikut merupakan tahapan untuk mengubah output yang dihasilkan dalam bentuk binary

Gambar 4.20 kode matlab mengubah output dalam bentuk binary Sama halnya seperti yang ada pada jaringan saraf tiruan feedforward dan probabilistic, nilai keluaran yang dihasilkan

(18)

berupa matrik sejumlah N baris 3 kolom, yang semua elemennya adalah binary, dimana nilai 1 0 0 menunjukkan klasifikasi terhadap jenis iris setosa (pada data iris) dan wine tipe 1 (pada data wine).Nilai 0 1 0 menunjukkan klasifikasi terhadap jenis iris versicolor (pada data iris) dan wine tipe 2 (pada data wine). Nilia 0 0 1 menunjukkan klasifikasi terhadap jenis iris virginica (pada data iris) dan wine tipe 3 (pada data wine)

4.2.2 Implementasi perangkat lunak binary PSO

Implementasi dilakukan dengan menggunakan bahasa pemrograman MATLAB. Perangkat lunak memiliki 3 tahapan utama, yaitu :

1. Membangkitkan populasi yang diambil dari output masing- masing keputusan, dimana nilai keputusan adalah binary (0 jika classifier dapat mengklasifikasikan dengan benar dan 1 jika classifier salah dalam mengklasifikasikan).

2. Melakukan pembaharuan posisi partikel dengan melakukan pembandingan keputusan masing-masing classifier terhadap fungsi sigmoid sehingga dihasilkan keputusan binary, dimana fungsi sigmoid ini dipengaruhi oleh nilai velocity masing- masing partikel (dalam hal ini direpresentasikan oleh keputusan binary masing-masing classifier )seperti yang telah dijelaskan pada bab sebelumnya.

3. Melakukan pembaharuan nilai pbest dan gbest.

4. Melakukan pembaharuan velocity, dimana nilainya bergantung pada nilai pbest dan gbest.

Untuk membangkitkan populasi yang diambil dari output masing-masing keputusan classifier, digunakan kode program seperti yang terdapat pada gambar 4.21 berikut :

(19)

Gambar 4.21 Kode membangkitkan populasi dari output classifier Pada gambar 4.21 diatas diilustrasikan bahwa output classifier yang digunakan adalah keputusan classifier, bukan class dari classifier. Keputusan masing-masing classifier dibentuk dalam suatu matrik, dimana terdapat 3 buah matrik yaitu matrik Decisionffiris yang merepresentasikan keputusan jaringan saraf tiruan feedforward , matrik DecisionPNNiris merepresentasikan keputusan jaringan saraf tiruan probabilistic, dan matrik DecisionParzen yang merepresentasikan keputusan dari Parzen Classifier . Tahapan selanjutnya adalah melakukan pembaharuan posisi partikel yaitu keputusan masing-masing classifier yang diakukan dengan menggunakan kode program seperti pada gambar 4.22 berikut :

(20)

Gambar 4.22 Pembaharuan posisi partikel

Dari gambar 4.22 diatas dapat diketahui bahwa posisi partikel adalah binary. Pembaharuan posisi partikel dilakukan dengan cara melakukan pembandingan keputusan masing-masing classifier terhadap fungsi sigmoid yang nilainya dipengaruhi oleh velocity dari partkel dalam hal ini adalah keputusan dari masing- masing classifier itu sendiri. Tahapan selanjutnya adalah melakukan pembaharuan terhadap nilai pbest dan gbest, yang direpresentasikan dalam kode program seperti pada gambar 4.23 dan 4.24 berikut :

(21)

Gambar 4.23 Kode pembaharuan nilai pbest

Gambar 4.23 diatas menunjukkan bahwa tahap pembaharuan keputusan pada masing-masing classifier nilainya dievaluasi berdasarkan fungsi kecocokan val.

Gambar 4.24 Kode pembaharuan nilai gbest

Pada gambar 4.24 diatas menunjukkan tahapan dalam mencari nilai gbest. Nilai gbest ini nantinya akan digunakan untuk memperbaharui nilai velocity seperti yang ada pada gambar 4.25 berikut :

(22)

Gambar 4.25 Kode Pembaharuan nilai velocity

Seperti yang terlihat pada gambar 4.25 dapat diketahui bahwa pembaharuan nilai velocity dipengaruhi oleh nilai pbest dan gbest.

Halaman ini sengaja dikosongkan

Gambar

Gambar 4.1 Flowchart rancangan JST feedforward  Langkah-langkah yang dilakukan adalah sebagai berikut :
Gambar 4.2 Flowchart rancangan JST probabilistic  Langkah-langkah yang dilakukan adalah sebagai berikut :
Gambar 4.3 Flowchart rancangan parzen classifier  Langkah-langkah yang dilakukan adalah sebagai berikut :
Gambar 4.4 Flowchart rancangan algoritma binary PSO  Langkah-langkah yang dilakukan adalah sebagai berikut :
+7

Referensi

Dokumen terkait

Dokumen Pemutakhiran Strategi Sanitasi Kota (SSK) Tahun 2018 ini merupakan satu rangkaian yang tidak terpisahkan dengan dokumen lainnya yang telah tersusun yang berkaitan

Meningkatkan Profesionalitas Kinerjanya, Uiversitas Atma Jaya Yogyakarta, Jurnal, Fakultas Hukum, 2014, hlm 1.. Jurnal USM Law Review Vol 3 No 2 Tahun 2020 458 Kepolisian

ambahan lagi, penggunaan dialek oleh guru dalam proses pengajaran dan pembelajaran Bahasa Melayu juga merupakan penyebab berlakunya pencemaran bahasa ini. Mengikut amus 8ewan,

Proses adsorpsi meghasilkan efek pendinginan yang terjadi pada botol labu kedua, dimana pada tekanan rendah panas dari lingkungan diserap untuk menguapkan adsorbat (Gambar 2.5b)

Allah SWT yang telah melimpahkan rahmat dan hidayah-Nya sehingga sampai saat ini masih memberikan kesempatan untuk dapat menyelesaikan skripsi dengan judul “Penguatan

Dengan menekan impor, maka sektor perikanan dengan sendirinya menekan tingkat penghambur- an devisa negara, sekaligus ikut membuka lapangan kerja baru dan untuk

Sejauh pengamatan peneliti, penelitian mengenai perbedaan adversity quotient pada mahasiswa yang mengikuti Objective Structured Clinical Skills (OSCE) berdasarkan motivasi

Catatan atas Laporan Keuangan (CaLK) menyajikan informasi tentang penjelasan atau daftar terinci atau analisis atas nilai suatu pos yang disajikan dalam Laporan Realisasi