Memprediksi Kenaikan Golongan Pegawai Demgan Metode Learning Vector Quantization Dab Backropagation (Studi Kasus : PDAM Tirtanadi)
MEMPREDIKSI KENAIKAN GOLONGAN PEGAWAI DENGAN METODE LEARNING VECTOR QUANTIZATION DAN
BACKPROPAGATION (STUDI KASUS : PDAM TIRTANADI)
SKRIPSI
FRANSISCA ANGELIA SEBAYANG
091401080
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2013
(2)
MEMPREDIKSI KENAIKAN GOLONGAN PEGAWAI DENGAN METODE LEARNING VECTOR QUANTIZATION DAN
BACKPROPAGATION (STUDI KASUS : PDAM TIRTANADI)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijasah Sarjana Ilmu Komputer
FRANSISCA ANGELIA SEBAYANG
091401080
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2013
(3)
PERSETUJUAN
Judul : MEMPREDIKSI KENAIKAN GOLONGAN
PEGAWAI
DENGAN METODE LEARNING VECTOR QUANTIZATION DAN BACKPROPAGATION
(STUDI KASUS : PDAM TIRTANADI) Kategori : SKRIPSI
Nama : FRANSISCA ANGELIA SEBAYANG
Nomor Induk Mahasiswa : 091401080
Program Studi : SARJANA(S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 22 Agustus 2013
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Amer Sharif, S.Si,M.Kom Dian Rachmawati,S.Si,M.Kom
NIP. - NIP.198307232009122004
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
(4)
MEMPREDIKSI KENAIKAN GOLONGAN PEGAWAI DENGAN METODE LEARNING VECTOR QUANTIZATION DAN
BACKPROPAGATION (STUDI KASUS : PDAM TIRTANADI)
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 22 Agustus 2013
FRANSISCA ANGELIA SEBAYANG NIM 091401080
(5)
Puji syukur dipanjatkan kepada Tuhan Yang Maha Esa atas segala hikmat dan pertolongan-Nya sehingga penulisan Tugas Akhir ini dapat diselesaikan dengan baik.
Ucapan terima kasih saya sampaikan kepada semua pihak yang telah membantu saya dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung. Pada kesempatan ini saya ingin mengucapkan terima kasih yang sebesar-besarnya kepada :
1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, Msc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M, selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Penguji I yang telah memberikan bimbingan, saran dan masukan kepada saya dalam pengerjaan skripsi ini.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi Ilmu Komputer.
5. Ibu Dian Rachmawati, S.Si,M.Kom selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran dan masukan kepada saya dalam pengerjaan skripsi ini.
6. Bapak Amer Sharif, S.Si, M.Kom selaku Dosen Pembimbing II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
7. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
8. Semua dosen Program Studi S1 Ilmu Komputer FASILKOM-TI USU, dan pegawai di Ilmu Komputer FASILKOM-TI USU.
9. Ayahanda Ukurmuli Sebayang,SH dan Ibunda Dra. Riana Barus tercinta yang telah memberikan doa, motivasi, perhatian , nasehat, kasih sayang yang tulus serta pengorbanan materi yang tidak ternilai harganya.
(6)
11. Sadifa Asrofa, S.Kom, Rosalina V. Situmorang, S.Kom dan Eliezer S.Kom, serta Putra Antoni Sinamo, S.Pd yang telah memberikan semangat, dukungan, saran dan perhatiannya kepada saya.
12. Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2009 secara khusus Desi Manurung, Nurul Khairina, Suri Syahfitri, Sylvia Dinata, Hanna Marlina, Marti Nelly Sembiring, dan Efrienni Tampubolon yang telah memberikan semangat dan menjadi teman diskusi penulis dalam menyelesaikan skripsi ini.
13. KA-KR Remaja GBKP SETIA BUDi yang telah memberikan semangat, dukungan dan doa kepada saya.
14. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.
Saya harapkan kritik dan saran dari pembaca untuk kelengkapan skripsi ini, agar dapat bermanfaat bagi saya dan peneliti selanjutnya.
Medan, 22 Agustus 2013 Penulis
(7)
Perusahaan Air Minum PDAM TIRTANADI merupakan Badan Usaha Milik Daerah Provinsi Sumatera Utara yang mengelola air sungai menjadi air bersih. Golongan adalah kedudukan yang menunjukkan tingkat seorang Pemda (pegawai daerah) berdasarkan golongan dalam rangkaian susunan kepegawaian yang digunakan sebagai dasar penggajian. Skripsi ini membuat sebuah sistem memprediksi kenaikan golongan pada pegawai dengan perbandingan metode Learning Vector Quantization dengan metode Backpropagation di bidang kecepatan komputasi pengujian data dengan menggunakan Software R2007b. Learning Vector Quantization merupakan pelatihan terhadap lapisan-lapisan kompetetif yang terawasi yang memiliki target sedangkan
Backpropagation merupakan algoritma pembelajaran yang terawasi yang mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyi. Hasil yang diperoleh dalam bentuk angka dan grafik. Nilai Learning rate
yang digunakan 0.5, maksimal epoh =100, dan goal yang diharapkan 0,01. Hasil dari penelitian ini diperoleh bahwa terdapat kelebihan dan kekurangan dari setiap metode. Kecepatan komputasi pengujian lebih cepat diolah dengan menggunakan metode LVQ dibandingkan dengan menggunakan metode Backpropagation. Namun kelemahan dari LVQ adalah output yang dihasilkan berupa kelas sehingga data-data tidak dapat diamati secara langsung sedangkan dengan menggunakan backpropagation, Output
yang dihasilkan dapat diamati secara langsung.
Kata kunci : JST, Learning Vector Quantization, Backpropagation, Kenaikan Golongan, PDAM Tirtanadi
(8)
Quantization and Backpropagation Method (Case study: PDAM TIRTANADI)
Abstract
Water supply company PDAM TIRTANADI is a Regional-Owned Enterprise of the Government of North Sumatra which manages the river water into clean water. Grade is a position of the employees which indicate the basis for his salary. This study developed a system to predict the suitability for grade raise by comparing the LVQ and Backpropagation. Method of artificial neural network implemeted with matlab R2007b. The comparison was done on the computing speed. LVQ used a supervised training on competitive layers which has a target, while Backpropagation is a supervised learning algorithm which changes the weights that connect with existing neurons in the hidden layer. The results obtained in the form of numbers and graphics. Learning rate value that used is 0.5, the maximum epoch = 100, and goals expected is 0.01. The results of this research showed that there are advantages and disadvantages of each method. the computing of speed tests were faster processed by using LVQ method than using backpropagation method. but the weakness of LVQ is The resulting output is in the form of class, that means the data can not be observed directly while by using backpropagation, the resulting output can be observed directly.
Keywords: JST, Learning Vector Quantization, Backpropagation, great position, PDAM Tirtanadi.
(9)
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xii
Bab 1 Pendahuluan 1.1 Latar Belakang 1
1.2 Rumusan Masalah 3
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 4
1.6 Metode Penelitian 4
1.7 Sistematika Penulisan 5
Bab 2 Tinjauan Pustaka 2.1 Jaringan Syaraf Biologi 7
2.2 Jaringan Syaraf Tiruan 8
2.2.1 Arsitektur Jaringan 10
2.3 Learning Vector Quantization 14
2.3.1 Algoritma Pelatihan LVQ 16
2.3.2 Algoritma Simulasi (Pengujian) 17
2.4 Backpropagation 17
2.4.1 Algoritma Backpropagation 19
2.4.2 Inisialisasi Bobot Awal 21
2.4.3 Fungsi Aktifasi 23
2.5 Kenaikan Golongan Pegawai 24
Bab 3 Analisis Dan Perancangan Sistem 3.1 Analisis Per masalahan 25 3.2 Analisis Kebutuhan Sistem 26
3.2.1 Kebutuhan Fungsional Sistem 26
3.2.2 Kebutuhan Non Fungsional Sistem 26
3.3 Permodelan 27
3.3.1 Use Case Diagram 27
3.3.2 Use Case LVQ 29
(10)
3.4 Flowchart System 40 3.4.1 Flowchart Algoritma Pelatihan LVQ 40 3.4.2 Flowchart Algoritma Simulasi LVQ 42 3.4.3 Flowchart Algoritma Pelatihan Backpropagation 43 3.4.4 Flowchart Algoritma Pengujian Backpropagation 44 3.5 Perancangan Antarmuka
3.5.1 Antarmuka Awal 45
3.5.2 Antarmuka LVQ 46
3.5.3 Antarmuka Backpropagation 48
Bab 4 Implementasi Dan Pengujian Sistem
4.1 Implementasi Sistem 50
4.1.1 Tampilan Antarmuka Sistem 50
4.1.1.1 Antarmuka Menu Utama 50
4.1.1.2 Antarmuka LVQ 52
4.1.1.3 Pelatihan Sistem LVQ 55
4.1.1.4 Pengujian Sistem LVQ 55
4.1.1.5 Antarmuka Backpropagation 56 4.1.1.6 Pelatihan Sistem Backpropagation 59 4.1.1.7 Pengujian Sistem Backpropagation 61
Bab 5 Kesimpulan Dan Saran
5.1 Kesimpulan 64
5.2 Saran 65
Daftar Pustaka 84
Lampiran Listing Program A-1
(11)
Hal.
3.1 Dokumentasi Naratif Use Case LVQ
3.2 Dokumentasi Naratif Use Case Backpropagation
4.1 Pengujian Bobot Dengan Menggunakan Parameter LVQ 4.2 Data Pelatihan Backpropagation
4.3 Data Pengujian Backpropagation
4.4 Perbandingan Metode LVQ Dengan Backpropagation
4.5 Persamaan Metode LVQ Dengan Backpropagation
29
32
55
59
62
63
63
(12)
Halaman
2.1 Susunan Syaraf Manusia 8
2.2 Model Neuron 10
2.3 Jaringan Saraf Tiruan dengan Lapis Tunggal (Single Layer) 12 2.4 Jaringan Saraf Tiruan dengan Lapis Banyak (MultiLayer) 13 2.5 Jaringan Saraf Tiruan dengan Competitive Layer 14
2.6 Arsitektur LVQ 16
2.7 Arsitektur Backpropagation 19
2.8 Fungsi Aktivasi Linier 23
2.9 Fungsi Aktivasi Biner 24
2.10 Fungsi Aktivasi Bipolar 25
3.1 Diagram Ishikawa Analisis Permasalahan 26 3.2 Use Case Diagram Sistem Memprediksi Kenaikan Golongan Pegawai 29
3.3 Activity Diagram LVQ 32
3.4 Activity DiagramBackpropagation 35
3.5 Sequence Diagram Proses LVQ 37
3.6 Sequence Diagram Proses Backpropagation 39 3.7 Algoritma Proses Pelatihan Pada Metode LVQ 41 3.8 Algoritma Proses Simulasi Pada Metode LVQ 43 3.9 Algoritma Proses Pelatihan Pada Metode Backpropagation 44 3.10 Algoritma Proses Pengujian Pada Metode Backpropagation 45
3.11 Tampilan Rancangan Antarmuka Awal 46
3.12 Tampilan Rancangan Antarmuka Metode LVQ 47 3.13 Tampilan Rancangan Antarmuka Metode Backpropagation 49
4.1 Tampilan Antarmuka Menu Utama 52
4.2 Tampilan Antarmuka LVQ 53
4.3 Tampilan Grafik Training Antara Epoh dan Learning Goal 54 4.4 Tampilan Antarmuka LVQ Setelah Data Dilatih Dan Diuji 54
4.5 Tampilan Antarmuka Backpropagation 57
4.6 Tampilan Antarmuka Backpropagation Pelatihan Data 58 4.7 Tampilan Antarmuka Backpropagation Pengujian Data 59 4.8 Tampilan Antarmuka Backpropagation Pengujian Data 62
(13)
Perusahaan Air Minum PDAM TIRTANADI merupakan Badan Usaha Milik Daerah Provinsi Sumatera Utara yang mengelola air sungai menjadi air bersih. Golongan adalah kedudukan yang menunjukkan tingkat seorang Pemda (pegawai daerah) berdasarkan golongan dalam rangkaian susunan kepegawaian yang digunakan sebagai dasar penggajian. Skripsi ini membuat sebuah sistem memprediksi kenaikan golongan pada pegawai dengan perbandingan metode Learning Vector Quantization dengan metode Backpropagation di bidang kecepatan komputasi pengujian data dengan menggunakan Software R2007b. Learning Vector Quantization merupakan pelatihan terhadap lapisan-lapisan kompetetif yang terawasi yang memiliki target sedangkan
Backpropagation merupakan algoritma pembelajaran yang terawasi yang mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyi. Hasil yang diperoleh dalam bentuk angka dan grafik. Nilai Learning rate
yang digunakan 0.5, maksimal epoh =100, dan goal yang diharapkan 0,01. Hasil dari penelitian ini diperoleh bahwa terdapat kelebihan dan kekurangan dari setiap metode. Kecepatan komputasi pengujian lebih cepat diolah dengan menggunakan metode LVQ dibandingkan dengan menggunakan metode Backpropagation. Namun kelemahan dari LVQ adalah output yang dihasilkan berupa kelas sehingga data-data tidak dapat diamati secara langsung sedangkan dengan menggunakan backpropagation, Output
yang dihasilkan dapat diamati secara langsung.
Kata kunci : JST, Learning Vector Quantization, Backpropagation, Kenaikan Golongan, PDAM Tirtanadi
(14)
Quantization and Backpropagation Method (Case study: PDAM TIRTANADI)
Abstract
Water supply company PDAM TIRTANADI is a Regional-Owned Enterprise of the Government of North Sumatra which manages the river water into clean water. Grade is a position of the employees which indicate the basis for his salary. This study developed a system to predict the suitability for grade raise by comparing the LVQ and Backpropagation. Method of artificial neural network implemeted with matlab R2007b. The comparison was done on the computing speed. LVQ used a supervised training on competitive layers which has a target, while Backpropagation is a supervised learning algorithm which changes the weights that connect with existing neurons in the hidden layer. The results obtained in the form of numbers and graphics. Learning rate value that used is 0.5, the maximum epoch = 100, and goals expected is 0.01. The results of this research showed that there are advantages and disadvantages of each method. the computing of speed tests were faster processed by using LVQ method than using backpropagation method. but the weakness of LVQ is The resulting output is in the form of class, that means the data can not be observed directly while by using backpropagation, the resulting output can be observed directly.
Keywords: JST, Learning Vector Quantization, Backpropagation, great position, PDAM Tirtanadi.
(15)
BAB 1
PENDAHULUAN
1.1Latar Belakang
Perangkat keras komputer berkembang dengan pesat setiap tahunnya selalu sudah ditemukan teknologi yang lebih baru. Meskipun demikian masih banyak hal yang belum dapat diselesaikan dengan menggunakan komputer, baik karena algoritma yang belum diketahui ataupun meski algoritma penyelesaiannya sudah diketahui namun komputasinya masih sangat lama. Hal inilah yang mendorong untuk mendapatkan metode lain untuk memecahkan masalah ini. Cara kerja jaringan saraf manusia muncul sebagai inspirasi untuk menyelesaikan masalah-masalah tersebut.
Jaringan Saraf Tiruan merupakan salah satu sistem pemrosesan informasi yang didesain dengan menirukan cara kerja otak manusia dalam menyelesaikan suatu masalah dengan melakukan proses pembelajaran melalui perubahan bobot sinanpsisnya. Sebuah JST dikonfigurasikan untuk aplikasi tertentu seperti pengenalan pola atau klasifikasi data, melalui proses pembelajaran. Pada proses pembelajaran, kedalam JST dimasukkan pola-pola input atau output lalu jaringan akan diajari untuk memberikan jawaban yang bisa diterima.
JST terdiri dari beberapa metode yaitu metode Hebb Rule, Perceptron, Delta Rule, Backpropagation, Heteroassociative Memory (BAM), Learning Vector Quantization, dan Jaringan Kohonen. Jaringan Saraf yang digunakan oleh penulis adalah jaringan saraf tiruan dengan metode Learning Vector Quantization (LVQ) dan metode Backpropagation. Disini penulis ingin membandingkan kedua metode dengan perbandingan tingkat kecepatan komputasi pada pelatihan dengan menggunakan kedua metode tersebut untuk memprediksi kenaikan jabatan untuk karyawan dengan jaringan saraf tiruan.
(16)
Data diperoleh dari penelitian karyawan-karyawati PDAM TIRTANADI. PDAM TIRTANADI merupakan perusahaan air minum daerah yang berada di Sumatera Utara yang menyediakan air bersih kepada pelanggan setiap harinya. Kenaikan Jabatan diberikan kepada pegawai yang memiliki Penilaian Kerja Pegawai yang baik, Masa Kerja Minimal empat tahun, dan mengikuti ujian psikotes. Data tersebut yang akan menjadi pertimbangan seorang pegawai layak atau tidak layak untuk mendapatkan kenaikan golongan. Data diperoleh dari Kepala Sumber Daya Manusia (Kepala SDM) dari perusahaan tersebut lalu diolah dengan menggunakan metode LVQ dan Backpropagation.
LVQ adalah suatu metode pelatihan pada lapisan kompetitif terawasi yang akan belajar secara otomatis untuk mengklasifikasikan vektor-vektor input kedalam kelas-kelas tertentu. Kelas-kelas yang dihasilkan tergantung pada jarak antara vektor-vektor input. Jika ada dua vektor input yang hampir sama maka lapisan kompetitif akan mengklasifikasikan kedua vektor input tersebut kedalam kelas yang sama.
Backpropagation adalah metode penurunan gradien untuk meminimalkan
kuadrat error keluaran dengan tiga tahap yang harus dilakukan dalam pelatihan jaringan yaitu tahap perambatan maju (Forward Propagation), tahap perambatan balik, dan tahap perubahan bobot dan bias. Arsitektur jaringan ini terdiri dari input layer, hidden layer, dan output layer.
Pada Jurnal Novi Yanti, Yogyakarta dengan judul “Penerapan Metode Neural Network Dengan Struktur Backpropagation Untuk Prediksi Stok Obat di Apotek (Studi Kasus : Apotek ABC)”. Dalam implementasinya digunakan pada teknik algoritma Backpropagation yang dilakukan untuk memprediksi suatu pola yang diberikan.
Berdasarkan latar belakang yang telah penulis uraikan, maka penulis tertarik untuk melakukan penelitian dengan judul “Memprediksi Kenaikan Golongan Pegawai Dengan Metode Learning Vector Quantization dan Backpropagation (Studi Kasus : PDAM TIRTANADI MEDAN)”.
(17)
1.2Rumusan Masalah
Berdasarkan latar belakang, maka yang menjadi rumusan masalah pada penelitian ini adalah :
1. Bagaimana merancang aplikasi metode LVQ dan Backpropagation dalam memprediksi kenaikan golongan pegawai.
2. Bagaimana perbandingan tingkat kecepatan komputasi pengujian dengan metode LVQ dan Backpropagation.
1.3Batasan Masalah
1. Parameter yang digunakan untuk membandingkan LVQ dengan
Backpropagation adalah perbandingan tingkat kecepatan komputasi pada pengujian.
2. Nilai variabel yang akan diolah meliputi Penilaian Kerja Pegawai yang baik, Masa Kerja minimal empat tahun, dan mengikuti ujian psikotes.
3. Inisialisasi Bobot awal dilakukan secara random. 4. Fungsi aktivasi digunakan adalah fungsi sigmoid biner.
5. Aplikasi hanya membahas layak atau tidak layaknya seorang pegawai mendapatkan kenaikan golongan sesuai dengan produktivitas kinerja yang baik.
6. Implemetasi perancangan program jaringan saraf tiruan yang digunakan adalah bahasa pemrograman Matlab 2007.
1.4Tujuan Penelitian
Tujuan dari penelitian ini adalah menghasilkan aplikasi yang dapat melakukan perbandingan tingkat kecepatan komputasi pada pengujian dan melakukan prediksi data kenaikan golongan pada pegawai dengan menggunakan metode LVQ dan
(18)
1.5Manfaat Penelitian
Manfaat dari penelitian ini adalah : 1. Manfaat bagi penulis :
Manfaat dari penelitian ini adalah untuk menambah pengetahuan penulis dalam melakukan proses pengenalan pola atau klasifikasi data dan melakukan perbandingan antara kedua metode LVQ dengan Backpropagation.
2. Manfaat bagi bidang ilmu :
a. Menambah pengetahuan tentang metode LVQ dan Backpropagation.
b. Sebagai bahan referensi bagi peneliti lain yang ingin merancang aplikasi jaringan saraf tiruan.
3. Manfaat bagi instansi :
Membantu instansi dalam memberikan alternatif lain untuk mengolah data dan memprediksi kenaikan golongan pegawai dengan menggunakan Jaringan Saraf Tiruan , misalnya dengan menggunakan metode LVQ dan Backpropagation.
1.6Metode Penelitian
Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :
a. Studi Literatur
Penulisan ini dimulai dengan pengumpulan bahan referensi dari berbagai sumber seperti buku, jurnal ilmiah, makalah, halaman web, dan lain-lain yang berkaitan dengan jaringan saraf tiruan dan algoritma LVQ dan
Backpropagation sehingga mencapai tujuan dari penulisan tugas akhir ini.
b. Pengumpulan Data
Pengumpulan data yang dilakukan dengan mengambil data secara langsung ke lapangan sehingga mendapatkan nilai yang valid.
(19)
c. Analisis dan Perancangan Perangkat Lunak
Pada tahap ini digunakan untuk mengolah data yang ada dan kemudian melakukan analisis terhadap data. Kemudian seluruh hasil analisa tersebut yang akan digunakan untuk merancang perangkat lunak yang akan dihasilkan. Dalam tahapan ini, dilakukan perancangan terhadap bentuk antarmuka sistem serta proses kerja sistem untuk memudahkan dalam proses implementasi berikutnya.
d. Implementasi dan Pengujian
Melakukan implementasi sistem sesuai dengan rancangan yang telah dibangun sebelumnya dan melakukan pengujian algoritma LVQ dan Backpropagation dalam memprediksi kenaikan golongan pegawai.
e. Dokumentasi
Melakukan dokumentasi hasil implementasi dan pengujian sistem secara tertulis dalam bentuk laporan skripsi.
1.7Sistematika Penelitian
Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai berikut :
BAB 1 : PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi “Memprediksi Kenaikan Golongan Pegawai Dengan Metode Learning Vector Quantization dan Backpropagation (Studi Kasus : PDAM TIRTANADI)”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian,
(20)
BAB 2 : TINJAUAN PUSTAKA
Bab ini berisi dasar teori-teori yang digunakan dalam analisis, perancangan dan implementasi skripsi
BAB 3 : ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi analisis terhadap fokus permasalahan penelitian dan perancangan terhadap sistem memprediksi kenaikan golongan pegawai.
BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi teknik omplementasi dari perancangan yang telah dibuat dan pengujian terhadap implementasi. Pengujian dilakukan untuk membuktikan perangkat lunak dapar berjalan sesuai dengan spesifikasi yang telah ditentukan di tahapan analisis.
BAB 5 : KESIMPULAN DAN SARAN
Bab ini akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat untuk pengembangan selanjutnya.
(21)
BAB 2
TINJAUAN PUSTAKA
2.1Jaringan Syaraf Biologi
Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak terdiri dari neuron-neuron dan penghubung yang disebut
sinapsis [2]. Sel saraf mempunyai cabang struktur input (dendrities) sebuah inti sel sebuah percabangan struktur output atau axon. Axon dari sebuah sel terhubung dengan
dendrities yang lain melalui sebuah synapse. Ketika sebuah sel syaraf aktif kemudian menimbulkan suatu signal electrochemical pada axon. Signal ini melewati synapses
menuju ke sel saraf yang lain. Sebuah sel saraf lain akan mendapatkan signal jika memenuhi batasan tertentu yang sering disebut nilai ambang atau threshold.
(22)
2.2 Jaringan Saraf Tiruan
Jaringan syaraf tiruan didefinisikan sebagai suatu sistem pemrosesan informasi yang mempunyai karateristik menyerupai jaringan syaraf manusia. Jaringan syaraf tiruan tercipta sebagai generalisasi model matematis (human cognition) yang didasarkan atas asumsi sebagai berikut :
1. Pemrosesan informasi terjadi pada elemen sederhana yang disebut neuron. 2. Isyarat mengalir diantara sel saraf/neuron melalui suatu sambungan
penghubung.
3. Setiap sambungan penghubung memiliki bobot yang bersesuaian. Bobot ini akan digunakan untuk menggandakan/mengenali isyarat yang dikirim melaluinya. 4. Setiap sel syaraf akan menerapkan fungsi aktivasi terhadap isyarat hasil
penjumlahan berbobot yang akan masuk kepadanya untuk menentukan isyarat keluarnya [5].
JST mempunyai kemampuan untuk mendapatkan informasi dari data yang rumit atau tidak tepat, mampu menyelesaikan permasalahan yang tidak terstruktur dan sulit didefinisikan, dapat belajar dari pengalaman, mampu mengakuisisi pengetahuan walaupun tidak ada kepastian, mampu melakukan generalisasi dan ekstraksi dari suatu pola data tertentu, dapat menciptakan suatu pola pengetahuan melalui pengaturan diri atau kemampuan belajar (self organizing), mampu memilih suatu input data kedalam kategori tertentu yang sudah ditetapkan (klasifikasi), mampu menggambarkan suatu objek secara keseluruhan walaupun hanya diberikan sebagian data dari objek, mempunyai kemampuan mengolah data-data input tanpa harus mempunyai target (Self organizing), dan mampu menemukan jawaban terbaik sehingga mampu meminimalisasi fungsi biaya (optimasi) [9].
JST juga merupakan suatu teknik pemrosesan informasi yang menggunakan model kuantitatif. JST terdiri dari sejumlah neuron melalui pendekatan melalui sifat-sifat komputasi biologis (biological computation).
(23)
Gambar 2.2 Model Neuron [3]
Keterangan :
Xi = sinyal masukan ke-i. Dalam skripsi penulis dimana X1 adalah Penilaian Kerja Pegawai yang baik, X2 adalah Masa Kerja minimal empat tahun, X3 adalah ujian psikotes.
Wi = nilai bobot hubungan ke-i. Dalam skripsi penulis nilai bobot adalah 1.00 [5].
= nilai bias atau toleransi error. Dalam skripsi penulis misalnya adalah 0.5 [5]
f(.) = fungsi aktifasi atau elemen pemroses. Dalam skripsi penulis fungsi aktivasi yang digunakan adalah sigmoid biner
y = sinyal keluaran. Dalam skripsi penulis sinyal keluarannya berupa layak atau tidak layak mendapatkan kenaikan golongan.
Dari Gambar 2.2 dapat dilihat bahwa neuron tersusun dari komponen sebagai berikut:
1. Sekumpulan penghubung atau synapses dengan nilai bobot yang telah disesuaikan, yang berfungsi menghubungkan masukan dan fungsi penjumlahan.
. . .
x2
xi
Input
netk
x1
f (.)
output
Fungsi Aktivasi
w1
w2
bias
Fungsi Penjumlahan
(24)
2. Sebuah fungsi penjumlah (Summing) yang berfungsi untuk menjumlahkan semua sinyal masukan.
3. Fungsi aktivasi yaitu fungsi yang mentransformasikan nilai keluarannya melalui pemetaan sinyal masukan ke dalam sebuah nilai yang sesuai dengan neuron
lainnya. Fungsi aktivasi diharapkan menghasilkan nilai yang dapat mendekati nilai-nilai maksimum dan minimum target[3].
Dari model sebuah neuron dapat dituliskan persamaan:
y = f ( wi * xi – ) ………. (2-1) Keterangan :
f = Fungsi aktivasi
Wi = nilai bobot hubungan ke-i
= nilai bias atau toleransi error [3].
Dalam proses pembelajarannya keluaran dari JST ditentukan oleh pola hubungan antar neuron atau arsitektur JST, metode untuk menentukan bobot penghubung berupa metode pembelajaran serta algoritma dan fungsi aktivasi dari JST itu sendiri. Suatu algoritma belajar dari JST tergantung dari arsitektur atau struktur dari jaringan saraf tersebut [3].
2.2.1 Arsitektur Jaringan
Baik tidaknya suatu model JST salah satunya ditentukan oleh hubungan antar neuron atau disebut dengan arsitektur jaringan. Neuron-neuron tersebut terkumpul dalam lapisan-lapisan yang disebut neuron layer. Lapisan-lapisan penyusun JST dibagi tiga yaitu :
1. Lapisan input
Node-node didalam lapisan input disebut unit-unit input. Unit-unit input
menerima input dari dunia luar. Input yang dimasukkan merupakan penggambaran dari suatu masalah.
2. Lapisan tersembunyi
Node-node di dalam lapisan tersembunyi disebut unit-unit tersembunyi. Output
(25)
3. Lapisan output
Node-node pada lapisan output disebut unit-unit output. Keluaran atau output
dari lapisan ini merupakan output jaringan saraf tiruan terhadap permasalahan [16].
Beberapa arsitektur jaringan yang sering digunakan dalam jaringan saraf tiruan antara lain :
1. Jaringan Lapisan Tunggal (Single Layer Neural Network)
Jaringan dengan lapisan tunggal terdiri dari 1 lapisan input dan 1 lapisaan output. Setiap unit dalam lapisan input selalu terhubung dengan setiap unit yang terdapat pada lapisan output. Jaringan ini menerima input kemudian mengilahnya menjadi output tanpa melewati lapisan tersembunyi. Contoh JST yang menggunakan jaringan lapisan tunggal adalah Adaline, Hopfield,
Perceptron.
Nilai input
Lapisan input
W21 W22
W11 W12 W31 W32
Lapisan output
Nilai output
Gambar 2.3 Jaringan Saraf Tiruan dengan Lapisan Tunggal (Single Layer) [16]
Pada Gambar 2.3 lapisan input memiliki 3 unit neuron yaitu X1, X2, dan X3 yang
terhubung dengan lapisan output yang memiliki dua unit neuron, yaitu Y1 dan Y2.
X1 X2 X3
(26)
Hubungan neuron-neuron pada lapisan tersebut ditentukan oleh bobot yang bersesuaian misalnya W11, W12, W21, W22, W31, dan W32.
2. Jaringan Lapisan Banyak (Multilayer Neural Network)
Jaringan lapisan banyak mempunyai 3 jenis lapisan yaitu lapisan input, lapisan tersembunyi, dan lapisan output. Jaringan ini dapat menyelesaikan permasalahan yang lebih kompleks dibandingkan dengan jaringan lapisan tunggal. Contoh JST yang menggunakan jaringan lapisan banyak adalah Madaline, Backpropagation, dan Neocognitron.
Nilai Input
Lapisan Input V12
V22
V21 V32 Lapisan bobot pertama V31
Lapisan tersembunyi
W1 W2
Lapisan bobot tersembunyi Lapisan output
Nilai Output
Gambar 2.4 Jaringan Saraf dengan Lapis Banyak (Multilayer)[16]
Pada Gambar 2.4 Lapisan input memiliki 3 unit neuron yaitu X1, X2, dan X3 yang
terhubung langsung dengan lapisan tersembunyi yang memiliki 2 unit neuron
tersembunyi , yaitu Z1 dan Z2. Hubungan neuron-neuron pada lapisan input dan lapisan output tertentu ditentukan oleh bobot V11, V12, V21, V22, V31, dan V32.
X1 X2 X3
Z1 Z2
(27)
Kemudian dua unit neuron tersembunyi Z1 dan Z2 terhubung langsung dengan lapisan output yang memiliki satu unit neuron Y yang besarnya ditentukan oleh bobot W1 dan W2.
3. Jaringan dengan Lapisan Kompetitif/Competitive layer Neural Network Jaringan ini memiliki bobot yang telah ditentukan dan tidak memiliki proses pelatihan (Gambar 2.5). Jaringan ini digunakan untuk mengetahui neuron pemenang dari sejumlah neuron yang ada. Akibatnya pada jaringan ini sekumpulan neuron bersaing untuk mendapatkan hak manjadi aktif. Nilai bobot setiap neuron untuk dirinya sendiri adalah 1, sedangkan untuk neuron lainnya bernilai random negative. Contoh JST yang menggunakan jaringan dengan lapisan kompetitif adalah Learning Vector Quantization dan Kohonen [15].
Gambar 2.5 Jaringan Saraf dengan Competitive layer yang memiliki bobot –n [16]
Pada Gambar 2.5 Lapisan input memiliki empat unit neuron ,yaitu A1, Am, Ai, Aj dimana nilai bobotnya telah ditentukan misalnya n atau –e sedangkan nilai bobot untuk dirinya sendiri bernilai 1.
2.3Learning Vector Quantization (LVQ)
LVQ merupakan suatu metode untuk melakukan pelatihan terhadap lapisan-lapisan kompetitif yang terawasi yang memiliki target. Lapisan kompetitif belajar mengenali dan mengklasifikasikan vektor-vektor masukan. Jika ada dua vektor yang hampir
(28)
sama maka lapisan kompetitif akan menempatkan keduanya pada kelas yang sama, dengan kata lain, jaringan LVQ belajar mengklasifikasikan vektor masukan ke kelas target yang ditentukan oleh user.
Arsitektur jaringan LVQ dengan enam neuron pada lapisan masukan dan dua neuron pada lapisan keluaran, proses yang terjadi pada setiap neuron adalah mencari jarak vektor masukan ke bobot yang bersangkutan (W1 dan W2). W1 adalah vektor bobot yang menghubungkan setiap neuron pada lapisan masukan ke neuron pertama pada lapisan keluaran, sedangkan W2 adalah vektor bobot yang menghubungkan setiap neuron pada lapisan masukan ke neuron kedua pada lapisan keluaran. Fungsi aktifasi
F1 akan memetakan y_in1 ke y1=1 apabila |x- W1| > |x- W2| dan y1=0 jika sebaliknya. Demikian juga pada Fungsi aktifasi F2 akan memetakan y_in2 ke y2=1 apabila
|x- W2| > |x- W1| dan y2 = 0 Jika sebaliknya.
Jaringan LVQ terdiri atas dua lapisan, yaitu lapis kompetitif dan lapis linier. Lapis kompetitif disebut juga Self Organizing Map (SOM), disebut lapis kompetitif karena neuron-neuron berkompetisi dengan algoritma kompetisi yang akan menghasilkan neuron pemenang.
Blok ||indist|| menerima vector masukan p dan matrk bobot masukan IW1,1
menghasilkan vektor dengan elemen berjumlah S1 . Elemen-elemen tersebut merupakan jarak nilai terkecil antara vektor masukan dan vektor IW1,1 dan baris matrik bobot masukan. Masukan n1 dari lapis kompetitif diperoleh dengan menghitung jarak terkecil vektor p dan vektor bobot lalu ditambah dengan bias b. Jika semua nilai bias nol masukan jaringan maksimum pada sebuah neuron adalah nol, terjadi jika vektor p sama dengan vektor bobot neuron.
Fungsi alih kompetitif menerima vektor masukan dan menghasilkan keluaran nol kecuali untuk neuron pemenang, yaitu neuron yang memiliki nilai negatif paling kecil menghasilkan keluaran satu. Jika semua bias bernilai nol maka neuron yang vektor bobotnya paling mendekati vektor masukan mempunyai nilai negatif yang paling kecil dan akan memenangkan kompetisi untuk menghasilkan keluaran satu.
(29)
lW1,1 lW2,1
Competitive Layer Linear Layer Input
R P
C R x 1
n2 s2 x 1
s2 x s1
s2 x 1 S2 x 1
a1
n1
S1 x R
S1 S2
a2= W2 a1 a1=compet (n1)
s2 x 1 a2
Gambar 2.6 Arsitektur jaringan LVQ [6]
Keterangan :
W1 = Vektor bobot yang menghubungkan setiap neuron pada lapisan masukan ke neuron pertama pada lapisan keluaran.
W2 = Vektor bobot yang menghubungkan setiap neuron pada lapisan masukan ke Neuron kedua pada lapisan kedua.
P = Vektor masukan p menuju competitive layer.
S1 = Vektor yang dihasilkan dari vektor masukan p dan bobot masukan W1,1. S2 = Vektor yang dihasilkan dari vektor masukan a1 dan bobot masukan W2,1. a1 = Hasil dari vektor masukan competitive layer ke linear layer.
a2 = Vektor yang dihasilkan dari linear layer.
R = Vektor masukan
C = Kelas yang diwakili oleh oleh neuron ke-j. T = Vektor target output
T =(t1, t2, …, tk)
α = Learning rate
epoh = Siklus perubahan bobot dari jumlah inputannya
2.3.1Algoritma Pelatihan LVQ
Algoritma ini akan mengubah bobot I neuron yang paling dekat dengan vektor masukan, misalnya vektor masukan X=(x1,x2,x3). Vektor bobot keluaran neuron ke-j
(30)
adalah Wj = (W1,W2,..,Wn), Cj adalah kelas yang diwakili oleh Neuron ke-j. T adalah kelas target untuk masukan X sedangkan J adalah jarak antara vektor masukan dan vektor bobot. Blok ||indist|| menerima vektor masukan p dan matrik bobot masukan
IW1,1 menghasilkan vektor dengan elemen berjumlah S1
Perubahan bobot-bobot neuron dilakukan dengan langkah-langkah berikut : 1. Tetapkan :
a. Bobot awal variabel input ke-j menuju ke kelas (cluster) ke-I : Wij, dengan i=1,2,..,m.
b. Maksimum epoh : MaxEpoh c. Parameter learning rateα
d. Pengurangan learning rate Decα
e. Minimal learning rate yang diberbolehkan : Minα 2. Masukkan :
a. Data input : Xij ; dengan i=1,2,..,m. b. Target berupa kelas: Tk ;
dengan k=1,2,..,n.
3. Tetapkan kondisi awal : epoh = 0;
4. Kerjakan jika : (epoh ≤ MaxEpoh) dan (α≥ Minα)
a. epoh = epoh + 1; ……….. (2-2) b. Kerjakan untuk i=1 sampai n
i. Tentukan J sedemikian hingga |Xi-Wj| minimum ……….. (2-3) dengan j=1,2,..K.
ii. Perbaiki Wj dengan ketentuan :
o Jika T = Cj maka
Wj = Wj + α(Xi-Wj) ……….. (2-4) o Jika T ≠ Cj maka
Wj = Wj - α(Xi-Wj) ………... (2-5)
(31)
(pengurangan α bisa dilakukan dengan: α= α-Decα;
atau dengan cara: α= α*Dec α) ………. (2-6) Setelah dilakukan pelatihan, akan diperoleh bobot-bobot akhir(W). Bobot-bobot ini nantinya akan digunakan untuk melakukan simulasi atau pengujian np buah data.
2.3.2 Algoritma Simulasi (Pengujian)
1. Masukkan data yang akan diuji, misal: Xij dengan i=1,2,..np dan j=1,2,..m. 2. Kerjakan untuk i=1 sampai np
a. Tentukan J sedemikian hingga |Xi-Wj| minimum ……….. (2-7) dengan j=1,2,..K.
b. J adalah kelas untuk Xi [4].
2.4 Backpropagation
Backpropagation merupakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Algoritma
backpropagation menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward), untuk mendapatkan error digunakan tahap perambatan maju (forward propogation) harus dikerjakan terlebih dahulu. Arsitektur jaringan ini terdiri dari input layer, hidden layer, dan output layer.
(32)
Y1 Yk Ym
w01 w11 wj1 wp1 w0k w1k wjk wpk w0m w1m wjm wpm
Z1 Zj Zp
X1 Xi Xn
v01 v11 vi1 vn1 v0j v1j vij vnj v0p v1p vip vnp
1
1
Gambar 2.7 Arsitektur jaringan Backpropagation [15] Keterangan :
X = Vektor input pembelajaran X = (X1, X2, …, Xn)
V = Bobot lapisan tersembunyi/Hidden Layer
Voj= Bias pada Hidden neuron ke j W = Bobot lapisan keluaran
n = Jumlah unit pengolah lapisan tersembunyi Z = Lapisan tersembunyi/hidden
Zi = Hidden neuron ke-j. Nilai input Zi ditunjukkan dengan
k
δ = Bagian koreksi error penyesuaian bobot Wjk berpedoman pada error Output neuron Yk.
j
δ = Bagiankoreksi error penyesuaian bobot Vij berpedoman pada error Output neuron Zj.
Wok = Bias pada output neuron ke-j
Yk = Output neuron ke-k. Nilai input Yk ditunjukkan dengan :
Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layer
tersembunyi. Gambar 2.7 adalah arsitektur backpropagation dengan n buah masukan
∑
+ =
j jk j ok
k w z w
in
(33)
(ditambah sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit (ditambah sebuah bias), serta m buah unit keluaran.
Vji merupakan bobot garis dari unit masukan Xi ke unit layar tersembunyi Zj (Vjo merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar tersembunyi Zj). Wkj merupakan bobot dari unit layar tersembunyi Zj ke unit keluaran Yk (Wk0 merupakan bobot dari bias di layar tersembunyi ke unit keluaran Zk)[8] .
2.4.1 Algoritma Backpropagation
1. Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil). 2. Tetapkan : maksimum epoh, Target Error, dan Learning rate
3. Inisialisasi : Epoh = 0, MSE = 1
4. Kerjakan langkah-langkah berikut selama (Epoh < Maksimum Epoh) dan (MSE > Target Error) :
• Epoh = Epoh + 1
• Untuk tiap-tiap pasangan elemen yang akan dilakukan pembelajaran, maka kerjakan :
Feedforward
a. Tiap-tiap unit input (Xi, i =1,2,3,..,n) menerima sinyal xi dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada diatasnya (lapisan tersembunyi).
b. Tiap-tiap unit pada suatu lapisan tersembunyi (Zj, j =1,2,3,..,p ) menjumlahkan sinyal-sinyal input terbobot :
...(2-8)
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya : Zj = f(Z_inj) ...(2-9) Dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit
output).
c. Tiap-tiap unit output (Yk, k = 1,2,3,..,m) menjumlahkan sinyal-sinyal
input terbobot.
... (2-10)
∑
+ = i ij i jj b xv
in
z_ 1
∑
+ = j jk j okk w z w
in
(34)
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya :
Yk = f(y_ink) ... (2-11) Dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit
output).
Catatan : Langkah (b) dilakukan sebanyak jumlah lapisan terembunyi
Backpropagation
d. Tiap-tiap unit output (Yk, K = 1,2,3,..,m) menerima target pola yang berhubungan dengan pola input pembelajaran , hitung informasi errornya :
... (2-12) Kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai Wjk) :
... (2-13) Hitung juga koreksi bias (yang nantinya akan digunak untuk memperbaiki nilai b2k) :
... (2-14) Langkah (d) ini juga dilakukan sebanyak jumlah lapisan tersembunyi, yaitu menghitung informasi error dari suatu lapisan tersembunyi ke lapisan tersembunyi sebelumnya.
e. Tiap-tiap unit tersembunyi (Zj, j = 1,2,3,..,p) menjumlahkan delta inputnya (dari unit-unit yang berada pada lapisan atasnya) :
... (2-15) Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai Vij) :
... (2-16) Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b1j) :
... (2-17) f. Tiap-tiap unit output (Yk, k = 1,2,3,...,m) memperbaiki bias dan bobotnya
(j = 0,1,2,..,p) :
wjk (baru) = wjk (lama) + Δwjk ...(2-18) )
_ ( ' )
( k k k
k = t − y f y in
δ
j k
jk z
w =αδ ∆
k k
b2 =αδ2
∆
∑
= = m k jk k j w in 1 _ δ δ ij ijV =αδ1
∆
j j
b1 =αδ1
(35)
b2k (baru) = b2k (lama) + Δb2k ... (2-19) Tiap-tiap unit tersembunyi (Zj, j = 1,2,3,...,p) memperbaiki bias dan bobotnya (i = 0,1,2,..,n) :
vij (baru) = vij (lama) + Δvij ... (2-20) b1j (baru) = b1j (lama) + Δb1j ... (2-21)
• Hitung MSE
2.4.2 Inisialisasi Bobot Awal
Pemilihan bobot awal sangat mempengaruhi jaringan saraf dalam mencapai minimum global terhadap nilai error, serta cepat tidaknya proses pelatihan menuju
kekonvergenan. Apabila nilai bobot awal terlalu besar, maka input ke setiap lapisan sembunyi atau lapisan output akan jatuh pada daerah dimana turunan fungsi sigmoidnya sangat kecil dan apabila nilai bobot awal terlalu kecil maka input ke setiap lapisan tersembunyi atau lapisan output akan sangat kecil yang akan menyebabkan proses pelatihan akan berjalan sangat lambat.
Inisialisasi bobot awal terdiri dari 2 yaitu : 1. Inisialisasi Bobot Awal Secara Random
Inisialisasi bobot awal secara random biasanya bobot awal diinisialisasi secara
random dengan nilai antara -0.5 sampai 0.5 (atau -1 sampai 1, atau imterval lainnya).
2. Inisialisasi Bobot Awal Dengan Metode Nguyen-Widrow
Metode Nguyen-Widrow akan menginisalisasi bobot-bobot lapisan dengan nilai antara -0.5 sampai 0.5. Sedangkan bobot-bobot dari lapisan input ke lapisan tersembunyi dirancang sedemikian rupa sehingga dapat meningkatkan
(36)
2.4.3 Fungsi Aktifasi
Fungsi aktivasi merupakan fungsi pengolah jumlahan data masukan menjadi data keluaran. Karakteristik pada fungsi aktivasi dari backpropagation adalah continue,
dapat diturunkan, dan tidak menurun secara monoton. Fungsi aktivasi untuk algoritma
backpropagation adalah sebagai berikut:
1. Linier atau Purelin
Fungsi linier menggunakan konsep superposisi. Fungsi linier akan membawa masukkan ke keluaran yang sebanding. Fungsi ini didefinisikan:
f(x) = α x ... (2-22)
keterangan:
α = kemiringan (slope)
jika slopeα = 1, maka fungsi aktivasi linier dinamakan fungsi identitas. Ilustrasi fungsi linier digambarkan:
Gambar 2.8 Fungsi Aktivasi Linier[3]
2. Sigmoid Biner atau Logsig
Fungsi ini memiliki sifat nonlinier sehingga sangat baik diterapkan dalam penyelesaian masalah yang kompleks. Keluaran dari fungsi sigmoid biner berupa bilangan biner (0 atau 1) atau nilai yang berada di antara 0 sampai 1. sigmoid biner memiliki range dari (0,1) dan didefinisikan:
-1 1
0 x
(37)
1 exp( ) 1 )
(
x x
f
− + =
... (2-23) dan fungsi turunannya adalah:
f'(x)= f1(x)[1− f1(x)] ... (2-24) Ilustrasi fungsi sigmoid biner digambarkan:
Gambar 2.9 SigmoidBiner [3]
3. Sigmoid Bipolar atau Tansig
Keluaran dari fungsi sigmoid bipolar berupa nilai yang berada di antara -1 sampai 1 dan didefinisikan:
1 ) exp( 1
2 )
( −
− + =
x x
f
... (2-25) dan turunan fungsi adalah:
[
1 ( )][
1 ( )]
2 1 ) (
' x f2 x f2 x
f = + −
... (2-26)
x f(x)
0
-1 1
(38)
Ilustrasi fungsi di atas digambarkan:
Gambar 2.10Sigmoid Bipolar [3]
2.5 Kenaikan Golongan Pada Pegawai
Perusahaan Daerah Air Minum (PDAM) Tirtanadi merupakan Badan Usaha Milik Daerah Provinsi Sumatera Utara yang mengelola air sungai menjadi air bersih. PDAM Tirtanadi Propinsi Sumatera Utara didirikan berdasarkan penandatanganan akte notaris pada tanggal 8 September 1905 di Amsterdam Netherlands yang diberi nama Waterleiding Maatschappij.
Golongan adalah kedudukan yang menunjukkan tingkat seorang Pemda (Pegawai daerah) berdasarkan golongan dalam rangkaian susunan kepegawaian dan digunakan sebagai dasar penggajian. Kenaikan golongan adalah penghargaan yang diberikan kepada Pemda atas dasar prestasi kerja dan pengabdian terhadap perusahaan.Berdasarkan Keputusan Direksi Perusahaan Daerah Air Minum Tirtanadi Provinsi Sumatera Utara Nomor 44/KPTS/2012 tentang Persyaratan Kenaikan Gaji Berkala atau Golongan. Maka Kriteria persyaratan untuk naik golongan adalah Penilaian Kerja Pegawai yang baik, Masa Kerja minimal empat tahun, dan mengikuti ujian psikotes. Data tersebut yang akan menjadi pertimbangan seorang pegawai layak atau tidak layak untuk mendapatkan kenaikan golongan.
-1
x f(x)
(39)
BAB 3
ANALISIS PERANCANGAN SISTEM
3.1 Analisis Permasalahan
Golongan adalah kedudukan yang menunjukkan tingkat seorang Pemda (Pegawai daerah) berdasarkan golongan dalam rangkaian susunan kepegawaian dan digunakan sebagai dasar penggajian. Kenaikan golongan adalah penghargaan yang diberikan kepada pegawai atas dasar prestasi kerja dan pengabdian terhadap perusahaan. Pada umumnya kenaikan golongan masih dilakukan secara manual dan subyektif, yaitu dengan melakukan perbandingan penilaian kerja pegawai dari satu pegawai ke pegawai berikutnya, dan nilai ujian psikotes sehingga tingkat keakuratannya belum
valid untuk menentukan apakah seorang pegawai layak atau tidak layak mendapatkan kenaikan golongan.
Penyebab dan dampak dari permasalahan tersebut dapat diperlihatkan pada diagram ishikawa pada gambar 3.1
Layak atau tidak layak mendapatkan kenaikan golongan People
Metode Kepala SDM menginput
nilai-nilai data pegawai
LVQ dan Backpropagation
Material Keseluruhan nilai-nilai data
pegawai harus memenuhi persyaratan yang ditentukan
Prosedur Prosedur kenaikan golongan
meliputi penilaian kerja pegawai, masa kerja empat
tahun, dan nilai ujian psikotes
Kenaikan golongan pegawai masih dilakukan subyektif
(40)
3.2 Analisis Kebutuhan Sistem
Analisis Kebutuhan sistem meliputi dua kategorial yaitu analisis kebutuhan fungsional sistem dan analisis kebutuhan non-fungsional sistem.
3.2.1 Kebutuhan Fungsional Sistem
Kebutuhan fungsional yang harus dimiliki sistem prediksi kenaikan golongan pegawai adalah :
1. Sistem dapat membaca masukkan variabel data yang meliputi penilaian kerja pegawai, masa kerja empat tahun, dan nilai ujian psikotes dengan memakai fungsi aktifasi biner (1 dan 0).
2. Sistem dapat membaca masukan file pelatihan, file pengujian yang digunakan oleh metode LVQ dan Backpropagation.
3. Sistem dapat melakukan perbandingan kecepatan komputasi pengujian dengan menggunakan kedua metode.
4. Sistem dapat memprediksi kenaikan golongan karyawan berupa layak atau tidak layak mendapatkan kenaikan golongan tersebut.
3.2.2 Kebutuhan Non-Fungsional Sistem
Persyaratan non-fungsional adalah persyaratan sifat-sifat yang harus dimiliki sistem. Persyaratan non-fungsional yang harus dipenuhi oleh sistem yang akan dirancang adalah sebagai berikut :
1. Performa
Sistem yang akan dibangun dapat menunjukkan prediksi kenaikan jabatan dengan metode LVQ dan Backpropagation.
2. Mudah dipelajari dan digunakan
Sistem yang akan dibangun harus sederhana dan tampilan antarmuka sistem dapat dengan mudah dipelajari oleh pengguna.
(41)
3. Dokumentasi
Sistem yang akan dibangun dapat menyimpan hasil prediksi dari proses LVQ
dan Backpropagation.
4. Kontrol
Sistem yang akan dibangun memiliki kontrol berupa enable dan disable, dimana ketika parameter-parameter JST belum dimasukkan maka kontrol fungsi pada sistem dalam keadaan disable tetapi setelah parameter-parameter JST dimasukkan maka kontrol fungsi sistem dalam keadaan enable.
5. Hemat Biaya
Sistem yang akan dibangun tidak memerlukan perangkat tambahan dalam proses eksekusinya sehingga dari segi biaya sistem lebih hemat dan waktu respon yang digunakan oleh sistem lebih cepat sehingga waaktu proses yang digunakan oleh sistem lebih efektif dibandingkan secara manual.
3.3 Permodelan
Pada penelitian ini digunakan UML sebai bahasa pemodelan untuk mendesain dan merancang sistem prediksi kenaikan golongan pegawai. Model UML yang akan digunakan adalah use case, activity diagram, sequence diagram dan class diagram.
3.3.1 Use Case Diagram
Untuk mengetahui aktor dan use case yang akan digunakan, maka dilakukan identifikasi aktor dan identifikasi use case. Setelah mendapatkan aktor dan use case, maka use case diagram dapat digambarkan. Pengidentifikasian aktor dan use case
pada sistem ini dilakukan dengan menjawab beberapa pertanyaan berikut : 1. Siapa yang menggunakan sistem?
(42)
2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem? Jawaban : Pengguna
3. Apa saja yang dapat dilakukan user pada sistem?
Jawaban : Melakukan Training terhadap JST dengan menggunakan metode
LVQ dan Backpropagation dan dapat melakukan pengujian sistem untuk melihat daftar pegawai-pegawai yang layak dan tidak layak mendapatkan kenaikan golongan.
Use case diagram berdasarkan aktor dan use case ditampilkan pada Gambar 3.2.
Sistem Memprediksi Kenaikan Golongan Pegawai
Aktor
Backpropagation LVQ
Pengujian Training
Pengujian Training «uses»
«uses»
<<depend>>
<<depend>>
<<depend>>
<<depend>>
(43)
3.3.2 Use case LVQ
Tabel 3.1 menunjukkan naratif use case LVQ
Tabel 3.1 Dokumentasi naratif use case LVQ
Nama Use case Proses LVQ
Aktor Pengguna
Deskripsi Use case ini mendeskripsikan proses LVQ untuk memprediksikan kenaikan golongan pegawai.
Prakondisi Sistem sudah masuk kedalam tampilan antarmuka LVQ dan sudah siap menerima masukan dari Jaringan Syaraf Tiruan.
Bidang Khas
Aksi Aktor Respon Sistem Langkah 1 : Pengguna
memilih tombol Data
Training untuk mengisi Nama File Pelatihan.
Langkah 2 : Sistem
memanggil Data Pegawai dan menampilkan kedalam List Box Data pelatihan LVQ. Langkah 3 : Pengguna
memilih tombol Data Uji untuk mengisi Nama File
Pengujian.
Langkah 4 : Sistem
memanggil Data Pegawai Uji dan menampilkan kedalam
List Box Data Pengujian. Langkah 5 : Pengguna
memilih tombol Training.
Langkah 6 : Sistem mengolah data pelatihan dan hasilnya akan ditampilkan kedalam
grafik training. Langkah 7 : Pengguna
memilih tombol Pengujian.
Langkah 8 : Sistem mengolah data Pengujian dan hasilnya akan ditampilkan dalam
grafik serta menghasilkan lama waktu pengujian. Langkah 9 : Sistem akan menampilkan hasil prediksi layak atau tidak pegawai mendapatkan kenaikan
(44)
golongan yang berupa kelas dimana k1= layak, dan k2 = tidak layak. Dan
menampilkan grafiknya.
Bidang Alternatif
Langah 10 : Pengguna akan memilih tombol Bersih.
Langkah 11 : Sistem akan berfungsi menghapus memori dan tampilan Data Pelatihan
LVQ dan data Pengujian. Langkah 12 : Pengguna
akan memilih tombol Keluar.
Langkah 13 : Sistem akan berfungsi untuk mengakhiri aplikasi LVQ dan kembali Ke Menu Utama.
Post-Kondisi Sistem akan menampilkan hasil prediksi Data Pegawai yang berupa Kelas, dimana K1 = Layak dan K2 = Tidak Layak mendapatkan kenaikan golongan.
(45)
Activity diagram untuk use case LVQ diperlihatkan pada Gambar 3.3
PENGGUNA SISTEM
Memilih Tombol Data Training Memanggil Data Pegawai dan menampilkan kedalam List Box Data Pelatihan
Pilih
Tidak
Memanggil Data Pegawai Uji dan menampilkan kedalam List Box Data Uji Validasi Kesesuaian parameter
Sesuai Tidak Sesuai
Menampilkan hasil prediksi layak atau tidak layak mendapatkan kenaikan golongan Pilih
Tidak
Validasi Kesesuaian parameter
Tidak Sesuai
Sesuai
Tidak Sesuai
Sesuai
Tidak
Validasi Kesesuaian parameter Tombol Data Uji
Tombol Training
Tombol Pengujian Pilih
Mengolah Data Pelatihan, menampilakn kedalam grafik Training dan Pelatihan
Mengelola data Pengujian dan menghasilkan waktu pengujian
(46)
3.3.3 Use case Backpropagation
Tabel 3.2 menunjukkan naratif use case Backpropagation
Nama Use case Proses Backpropagation
Aktor Pengguna
Deskripsi Use case ini mendeskripsikan proses Backpropagation
dan sudah siap menerima masukan dari Jaringan Syaraf Tiruan.
Bidang Khas
Aksi Aktor Respon Sistem Langkah 1 : Pengguna
memilih tombol Data
Training untuk mengisi Nama File Pelatihan.
Langkah 2 : Sistem memanggil Data Pegawai dan menampilkan kedalam
List Box Pelatihan
Backpropagation.
Langkah 3 : Pengguna memilih tombol Data Uji untuk mengisi Nama File
Pengujian.
Langkah 4 : Sistem memaggil Data Pegawai Uji dan menampilkan kedalam List Box Data Pengujian.
Langkah 5 : Pengguna memilih tombol Training
Langkah 6 : Sistem mengolah data pelatihan dan hasilnya akan ditampilkan kedalam grafik training dan grafik pelatihan.
Langkah 7 : Pengguna memilih tombol Pengujian
Langkah 8 : Sistem mengolah pengujian data dan hasilnya akan
ditampilkan dalam grafik
pengujian serta
(47)
pengujian.
Langkah 9 : Sistem akan menampilkan hasil prediksi layak atau tidak pegawai mendapatkan kenaikan golongan berupa target dimana apabila target 1 = layak, dan target 2 = tidak layak
Bidang Alternatif
Langkah 10 : Pengguna akan memilih tombol Bersih.
Langkah 11 : Sistem akan berfungsi menghapus memori dan tampilan Data Pelatihan dan data
pengujian
Backpropagation
Langkah 12 : Pengguna akan memilih Tombol Keluar.
Langkah 13 : Sistem akan berfungsi untuk
mengakhiri aplikasi
Backpropagation dan kembali ke Menu Utama. Post-Kondisi Sistem akan menampilkan hasil prediksi Layak atau
tidaknya Pegawai mendapatkan kenaikan golongan.
(48)
Activity diagram untuk use case Backpropagation diperlihatkan pada Gambar 3.4
PENGGUNA SISTEM
Memilih Tombol Data Training Memanggil Data Pegawai dan menampilkan kedalam List Box Data Pelatihan
Pilih Tidak
Memanggil Data Pegawai Uji dan menampilkan kedalam List Box Data Uji Validasi Kesesuaian parameter
Sesuai
Tidak Sesuai
Menampilkan hasil prediksi layak atau tidak layak mendapatkan kenaikan golongan Pilih
Tidak
Validasi Kesesuaian proses
Tidak Sesuai
Sesuai
Tidak Sesuai Sesuai
Tidak
Validasi Kesesuaian proses Tombol Data Uji
Tombol Training
Tombol Pengujian
Pilih
Mengolah Data Pengujian, menampilkan kedalam grafik dan menghasilkan waktu pengujian Mengolah Data Pelatihan, menampilakn kedalam grafik Training dan Pelatihan
(49)
3.3.4 Analisis Proses Sistem
Berikut ini dijelaskan proses Backpropagation yang terjadi pada sistem dengan menggunakan sequence diagram.
3.3.4.1 Proses LVQ
Pada proses LVQ, input Data pelatihan dan target dimana data pelatihan ada 40 data dan target yang diinginkan ada dua yaitu layak dan tidak layak. Kemudian target yang diinput diubah kedalam vektor. Pada tahap selanjutnya tentukan jumlah ukuran kelas dan jumlah neuron yang akan digunakan. Di dalam program jumlah kelas ada 2 yaitu, k1= layak dan k2 = tidak layak, jumlah neuron ada empat neuron. Selanjutnya jaringan yang akan dibangun dipakai newlvq dan cara untuk menentukan kelas yang diproses digunakan net = newlvq(minmax(P),JumNeuron,(1/Jumkls)*ones(1,Jumkls)) setelah kelas diperoleh berdasarkan nilai jarak maka di inputkan nilai parameter dan
trainingnya. Didalam program nilai-nilai parameternya sebagai berikut :
net.trainParam.epochs = 100
net.trainParam.goal = 0.01
Pada tahapan selanjutnya dilakukan training data dengan cara memanggil data pelatihan utk dilakukan training dan memanggil data pengujian. Data pelatihan di training pada saat diproses maka akan muncul grafik yang menggambarkan hubungan epoh dan goalnya. Apabila epoh sudah mencapai 100 epoh atau apabila learning
goalnya sudah mencapai 0.01 maka grafik akan berhenti.
Tahapan selanjutnya data dari pengujian yang baru diuji untuk menentuka kelas dan neuronnya.Waktu proses pengujian akan ditampilkan dan Kelas, neuronnya akan ditampilkan dalam grafik prediksi dimana k1 = layak, k2 = tidak layak. Sequence diagram untuk proses LVQ diperlihatkan pada Gambar 3.5.
(50)
Input Data Pelatihan
dan Target Ubah Target ke Vektor bangun Jaringan LVQ Kelas Input Parameter dan Training Training Pengujian Grafik
Proses Pengubahan
newlvq
Epoh, nilai goal yang diharapkan
Proses training
Proses Pengujian
Tampilkan hasil prediksi Buat kelas
berdasarkan Jarak
Top Package::Program
Gambar 3.5 Sequence Diagram Proses LVQ
Berikut adalah algoritma dari Proses LVQ pada sistem memprediksi kenaikan golongan pegawai :
1. Pelatihan
DataLatih textread(fullfile(nama_path, nama_file_Latih))
N1 Nilai Kinerja
N2 Lama Kerja
N3 Nilai Psikotes
p DataLatih (N1,N2,N3,:K)
t DataLatih (:,K)
T ind2vec(t)
Jumkls size(full(T),1)
JumNeuron 4
net newlvq(minmax(P),JumNeuron,(1/Jumkls)*ones(1,Jumkls));
net.trainParam.epochs = 100; net.trainParam.goal=0.01; net = train(net,P,T);
BobotAkhir_Input=net.IW{1,1} BobotAkhir_Lapisan=net.LW{2,1} Hc = sim(net,p);
H = vec2ind(Hc)
(51)
2. Pengujian
Data Uji textread(fullfile(nama_path, nama_file_Uji))
net net (save)
M1 Nilai Kinerja
M2 Lama Kerja
M3 Nilai Psikotes
A Data Uji (M1,M2,M3:KU)
Yc sim(net,A)
Y vec2ind(Yc)
%Tampilkan hasil pengujian dalam grafik
Layak 1
TidakLayak 2
3.3.4.2 Proses Backpropagation
Pada proses Backpropagation, input data pelatihan dan target. Dimana data pelatihan ada 40 data, target yang diinginkan ada dua pola yaitu layak dan tidak layak. Selanjutnya dilakukan proses data pelatihan dan target dengan melakukan penskalaan data agar masuk range [-1 1]. Pada tahapan selanjutnya akan dibangun jaringan dengan menggunakan newff dan set bobot awal, hidden dan bias. Bobot awal dilakukan secara random, jaringan yang dibangun ada tiga lapisan dimana lapisan pertama memiliki sepuluh neuron dan diproses dengan menggunakan tansig, lapisan kedua memiliki lima neuron dan diproses dengan menggunakan logsig, dan lapisan ketiga memiliki satu neuron di proses dengan purelin dan hasil dari ketiga lapisan tersebut akan diproses dengan menggunakan traingdm.
Pada tahapan selanjutnya input nilai-nilai parameter yang akan digunakan. Pada program ini nilai-nilai parameter sebagai berikut :
net.trainParam.epoch=100,
net.trainParam.goal=1e-2,
net.trainParam.mc=0.8.
Setelah di input nilai-nilai parameter maka akan dilakukan training data dengan cara memanggil data pelatihan dan data pengujian. Kemudian data pelatihan di training sehingga akan muncul grafik hasil pelatihan dimana data yang di training ada sebanyak 40 data dan target yang diinginkan dengan dua pola yaitu pola 1 = layak, dan pola 2 = tidak layak.
(52)
Pada tahapan selanjutnya maka akan dilakukan pengujian dengan 20 data. Hasil pengujian data akan ditampilkan dalam bentuk grafik dimana pola 1 = layak dan pola 2 = tidak layak. Sequence diagram untuk proses Backpropagation diperlihatkan pada Gambar 3.6.
Input Data Pelatihan dan Target
Proses Data Pelatihan
dan Target Membangun Jaringan
Set Bobot awal,hidden,
dan bias Input Parameter Training Pengujian Grafik
Penskalaan data
newff
Proses Training
Tampilkan hasil prediksi Bangun 3
lapisan, tansig, logsig,purelin
Proses Pengujian Epoh maksimal,
Learning Rate, nilai goal yang diharapkan
Programmer
Gambar 3.6 Sequence Diagram Proses Backpropagation
Berikut adalah algoritma dari Proses Backpropagation pada sistem memprediksi kenaikan golongan pegawai :
1. Proses Pelatihan
DataLatih textread(fullfile(nama_path, nama_file_Latih))
N1 Nilai Kinerja
N2 Lama Kerja
N3 Nilai Psikotes
p DataLatih (N1,N2,N3,:K)
t DataLatih (:,K)
prestd (p,t)[pn,meanp,stdp,tn,meant,stdt]
net newff(minmax(pn),[10 5 1],{‘tansig’ ‘logsig’ _
‘purelin’},’traingdm’)
BobotAwal_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}
(53)
net.trainParam.epochs 100
net.trainParam.goal1e-2
net.trainParam.lr 0.5
net.trainParam.show 100
net.trainParam.mc 0.8
net train(net,pn,tn)
an sim(net,pn)
a poststd(an,meant,stdt)
meanp (save) meanp
meant (save) meant
stdp (save) stdp
stdt (save) stdt
net (save) net
2. Pengujian
net net (save)
stdt stdt (save)
stdp stdp (save)
meanp meanp (save)
meant meant (save)
Data Uji textread(fullfile(nama_path, nama_file_Uji))
M1 Nilai Kinerja
M2 Lama Kerja
M3 Nilai Psikotes
Q Data Uji (M1,M2,M3:KU)
TQ Data Uji (:,KU)
Qn trastd(Q,meanp,stdp)
Bnsim(net,Qn)
Layak 1
(54)
3.4 Flowchart System
Flowchart atau diagram alir merupakan bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart juga merupakan cara penyajian dari suatu algoritma [8].
3.4.1 Flowchart Algoritma Pelatihan LVQ
mulai
Inisialisasi bobot awal
epoh=epoh+1
J =Xi-Wj j=1,2,..k
T = Cj
Wj = Wj + α(Xi-Wj)
Wj = Wj - α(Xi-Wj)
α= α*Dec α
W
selesai
T
Y
epoh ≤
MaxEpoh dan
α≥ Minα
Y epoh awal=0
T
(55)
Keterangan Flowchart 1. Mulai
:
2. Masukkan bobot awal, Maks_epoh, α, Dec α, Min α 3. Inisialisasi epoh awal = 0
4. Kerjakan jika (epoh ≤ MaxEpoh) dan ( α≥ Minα)
5. Jika tidak kembali ke bobot awal, Maks_epoh, α, Dec α, Min α 6. Jika ya maka kerjakan epoh = epoh + 1
7. Kerjakan J dimana J adalah jarak antara Vektor masukan ke vektor bobot neuron j. J =Xi-Wj
8. Kerjakan jika T = Cj dimana T adalah kelas target untuk vektor masukan X sedangkan Cj adalah kelas yang yang diwakili oleh neuron ke j.
9. Jika ya kerjakan Wj = Wj + α(Xi-Wj)
10. Jika tidak maka kerjakan Wj = Wj - α(Xi-Wj)
11. Kerjakan α = α * Dec α dimana α adalah parameter learning rate
12. Maka menghasilkan W dimana W adalah vector bobot 13. Selesai
(56)
3.4.2 Flowchart Algoritma Simulasi LVQ
Mulai
Masukkan pola data yang akan
diuji
J ≥ 7
Pola 1 = Layak
Pola 2 = Tidak Layak
Selesai
Tidak
Ya
Gambar 3.8 Algoritma Proses simulasi pada Metode LVQ
Keterangan Flowchart 1. Mulai
:
2. Masukkan data yang akan diuji
3. Kerjakan J = |Xi – Wj | dimana neuron j = 1,2,3,…,k. 4. Kerjakan jika J ≥ 7.0
5. Jika ya maka menghasilkan pola 1 = layak
6. Jika tidak maka menghasilkan pola 2 = tidak layak 7. selesai
(57)
3.4.3 Flowchart Algoritma Pelatihan Backpropagation
Mulai
1. Load Data pelatihan, 2. Load data pengujian
Inisialisasi Bobot
Epoh = 0
Epoh <= max epoh
Epoh= Epoh + 1
Feedforward
Hitung Error (Backpropagation)
Hitung Perubahan Bobot
Simpan Bobot
Selesai Ya
Tidak
(58)
3.4.4 Flowchart Algoritma Pengujian Backpropagation
Mulai
Load Data Pengujian
Feed forward
Tampilkan hasil prediksi
Selesai
(59)
3.5 Perancangan Antarmuka
Perancangan antarmuka menjelaskan bagaimana komunikasi antara sistem dengan pengguna. Tujuan utama dari perancangan antarmuka pengguna adalah untuk membangun suatu komunikasi yang efektif yang terjadi antara manusia dengan komputer. Antarmuka yang menarik menjadi daya tarik bagi pengguna untuk menggunakan perancangan sistem tersebut. Pada tahap ini akan dilakukan perancangan antarmuka sistem yang akan digunakan pada sistem.
3.5.1 Antarmuka Awal
Antarmuka awal sistem merupakan tampilan utama ketika sistem dijalankan. Rancangan antarmuka awal pada sistem ini dapat dilihat pada Gambar 3.8
File Keluar
JUDUL
Logo USU
1 2
3
4
Gambar 3.11 Tampilan Rancangan Antarmuka Awal
Keterangan :
1. Menu Editor File
Yang berfungsi untuk memilih metode LVQ dan Backpropagation.
2. Menu Editor Keluar
Yang berfungsi untuk memilih Keluar
3. Textfield Judul
(60)
4. Axes Logo
Yang berfungsi untuk menampilkan gambar logo pada skripsi
3.5.2 Antarmuka LVQ
Di dalam antarmuka metode LVQ terdapat dua bagian yang penting, yaitu : Bagian Training dan bagian Pengujian. Rancangan antarmuka metode LVQ diperlihatkan pada Gambar 3.9
1
3 2
4
5
6
7 8 9 10 11 12
Data Pelatihan LVQ Data Pengujian LVQ Grafik
Nama File Pelatihan
Nama File Pengujian
Lama
Keluar Bersih
Pengujian Training
Data Training
Data Uji
(61)
Keterangan :
1. Listbox Data Pelatihan
yang berfungsi untuk menampilkan data pelatihan di matlab. 2. Listbox Data Pengujian
yang berfungsi untuk menampilkan data pengujian di matlab. 3. Axes Grafik
yang berfungsi untuk menampilkan gambar grafik di matlab. 4. Edit Nama File Pelatihan
yang berfungsi sebagai tempat nama file pelatihan di matlab. 5. Edit Nama File Pengujian
yang berfungsi sebagai tempat nama file Pengujian di matlab. 6. Edit Lama
yang berfungsi untuk melihat lama waktu yang diperlukan dalam proses pengujian data.
7. PushBottom Data Training
yang berfungsi untuk memanggil data training di matlab. 8. PushBottom Data Uji
yang berfungsi untuk memanggil data uji di matlab. 9. PushBottom Training
yang berfungsi untuk melakukan training 10. PushBottom Bersih
yang berfungsi untuk mengkosongkan kembali Listbox Data pelatihan dan Data Pengujian yang telah diisi oleh user di matlab.
11. PushBottom Keluar
yang berfungsi untuk menghubungkan antarmuka metode LVQ dengan antarmuka keluar.
(62)
3.5.3 Antarmuka Backpropagation
Di dalam antarmuka metode Backpropagation terdapat dua bagian yang penting, yaitu: Bagian Training dan bagian Pengujian. Rancangan antarmuka metode LVQ diperlihatkan pada Gambar 3.10
1
3 2
4
5
6
7 8 9 10 11 12
Data Pelatihan Backpropagation
Data Pengujian
Backpropagation Grafik
Nama File Pelatihan
Nama File Pengujian
Lama
Keluar Bersih
Pengujian Training
Data Training
Data Uji
Gambar 3.13 Tampilan Rancangan Antarmuka Metode Backpropagation Keterangan :
1. Listbox Data Pelatihan
yang berfungsi untuk menampilkan data pelatihan di matlab. 2. Listbox Data Pengujian
yang berfungsi untuk menampilkan data pengujian di matlab. 3. Axes Grafik
(63)
4. Edit Nama File Pelatihan
yang berfungsi sebagai tempat nama file pelatihan di matlab. 5. Edit Nama File Pengujian
yang berfungsi sebagai tempat nama file Pengujian di matlab. 6. Edit Lama
yang berfungsi untuk melihat lama waktu yang diperlukan dalam proses pengujian data.
7. PushBottom Data Training
yang berfungsi untuk memanggil data training di matlab. 8. PushBottom Data Uji
yang berfungsi untuk memanggil data uji di matlab. 9. PushBottom Training
yang berfungsi untuk melakukan training 10. PushBottom Bersih
yang berfungsi untuk mengkosongkan kembali Listbox Data pelatihan dan Data Pengujian yang telah diisi oleh user di matlab.
11. PushBottom Keluar
yang berfungsi untuk menghubungkan antarmuka metode LVQ dengan antarmuka keluar.
(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} %Simulasi
an= sim(net,pn);
a=poststd(an,meant,stdt);
H=[(1:size(p,2))' t' a' (t'-a')];
sprintf ('%2d %9.2f %7.2f %5.2f\n',H') %Evaluasi output jar --> Data pelatihan dgn target [m1,a1,r1] =postreg(a,t);
%axes1(handles.axes1)
plot([1:size(p,2)]',t,'bo',[1:size(p,2)]',a','r*');
title('Hasil pengujian dengan data pelatihan Pegawai: Target (o), Output (*)');
xlabel('Data ke-');ylabel('Target/Output'); %pause
save meanp save meant save stdp save stdt save net
set (handles.cmdLatih,'enable','off'); set (handles.cmdTestDT,'enable','on');
% --- Executes on button press in cmdDTLatih.
function cmdDTLatih_Callback(hObject, eventdata, handles) % hObject handle to cmdDTLatih (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
[FileName,PathName]=uigetfile({'*.txt'},' Pilih file'); if isequal (FileName,0)
errordlg('Error ..!','Tidak ada data yang dipilih'); return;
else
% Tampilkan data
handles.data1=textread(fullfile(PathName,FileName)); data1=textread(fullfile(PathName,FileName));
p = data1 (:,2:5); % t = data1 (:,5)'; D=p;
set (handles.txtNmFileLatih,'String',fullfile(PathName,FileName)); set (handles.listDTLatih,'String',num2str(D));
set(handles.cmdDTLatih,'Enable','off'); set(handles.cmdDTUji,'Enable','on'); end
% --- Executes on button press in cmdDTUji.
function cmdDTUji_Callback(hObject, eventdata, handles) % hObject handle to cmdDTUji (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [FileName,PathName]=uigetfile({'*.txt'},' Pilih file');
if isequal (FileName,0)
errordlg('Error ..!','Tidak ada data yang dipilih'); return;
(2)
else
% Tampilkan data
handles.data2=textread(fullfile(PathName,FileName)); %guidata(hObject,handles);
%handles.current_data1=handles.data1;
data2=textread(fullfile(PathName,FileName)); Q = data2 (:,2:5);
set (handles.listDTUji,'String',num2str(Q));
set (handles.txtNmFileUji,'String',fullfile(PathName,FileName)); set (handles.cmdLatih,'enable','on');
set (handles.cmdDTUji,'enable','off');
end
% --- Executes on button press in cmdBersih.
function cmdBersih_Callback(hObject, eventdata, handles) % hObject handle to cmdBersih (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set (handles.txtNmFileLatih,'String','');
set (handles.listDTLatih,'String',''); set (handles.txtNmFileUji,'String',''); set (handles.listDTUji,'String',''); set (handles.txtLama,'String','');
set (handles.cmdDTLatih,'enable','on'); set (handles.cmdDTUji,'enable','off'); set (handles.cmdLatih,'enable','off'); set (handles.cmdTestDT,'enable','off');
% --- Executes on selection change in listDTLatih.
function listDTLatih_Callback(hObject, eventdata, handles) % hObject handle to listDTLatih (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns listDTLatih contents as cell array
% contents{get(hObject,'Value')} returns selected item from listDTLatih
% --- Executes during object creation, after setting all properties. function listDTLatih_CreateFcn(hObject, eventdata, handles)
% hObject handle to listDTLatih (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: listbox controls usually have a white background on Windows. % See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function txtNmFileLatih_Callback(hObject, eventdata, handles) % hObject handle to txtNmFileLatih (see GCBO)
(3)
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of txtNmFileLatih as text % str2double(get(hObject,'String')) returns contents of
txtNmFileLatih as a double
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
% --- Executes during object creation, after setting all properties. function txtNmFileLatih_CreateFcn(hObject, eventdata, handles)
% hObject handle to txtNmFileLatih (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
% --- Executes on selection change in listDTUji.
function listDTUji_Callback(hObject, eventdata, handles) % hObject handle to listDTUji (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns listDTUji contents as cell array
% contents{get(hObject,'Value')} returns selected item from listDTUji
% --- Executes during object creation, after setting all properties. function listDTUji_CreateFcn(hObject, eventdata, handles)
% hObject handle to listDTUji (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: listbox controls usually have a white background on Windows. % See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function txtNmFileUji_Callback(hObject, eventdata, handles) % hObject handle to txtNmFileUji (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of txtNmFileUji as text % str2double(get(hObject,'String')) returns contents of txtNmFileUji as a double
(4)
function txtNmFileUji_CreateFcn(hObject, eventdata, handles) % hObject handle to txtNmFileUji (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function txtLama_Callback(hObject, eventdata, handles) % hObject handle to txtLama (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of txtLama as text
% str2double(get(hObject,'String')) returns contents of txtLama as a double
% --- Executes during object creation, after setting all properties. function txtLama_CreateFcn(hObject, eventdata, handles)
% hObject handle to txtLama (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in cmdTestDT.
function cmdTestDT_Callback(hObject, eventdata, handles) % hObject handle to cmdTestDT (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) load net
load stdt load stdp load meanp load meant %Data Pengujian
DTT=get(handles.txtNmFileUji,'string'); data2=textread(DTT);
Q = data2 (:,2:5)'; TQ = data2 (:,5)';
%Normalisasi input Qn=trastd(Q,meanp,stdp); tic
bn=sim(net,Qn);
b=poststd(bn,meant,stdt);
L=[(1:size(Q,2))' TQ' b' (TQ'-b')];
(5)
%Evaluasi output jar --> Uji dgn Target [m2,b1,r2] = postreg(b,TQ);
k=[1:size(Q,2)]'; %axes(handles.axes1);
plot (k,TQ,'bo',k,b','r*');
title('Hasil Pengujian dengan data PegawaiUji: Target (o) dan Output Jaringan (*)');
xlabel('Data ke-');
ylabel('Target atau Output');
text(k+0.2*ones(length(k),1),TQ,int2str(k));
gg = toc; lama = gg; disp(lama);
%tampilkan lama pengujian
%set (handles.txtLama,'string',lama); %set(handles.cmdTestDT,'Enable','off');
function tic
% TIC Start a stopwatch timer. % TIC; any stuff; TOC % prints the time required. % See also: TOC, CLOCK. global TICTOC
TICTOC = clock;
function t = toc
% TOC Read the stopwatch timer.
% TOC prints the elapsed time since TIC was used. % t = TOC; saves elapsed time in t, does not print. % See also: TIC, ETIME.
global TICTOC if nargout < 1
elapsed_time = etime(clock, TICTOC); else
t = etime(clock, TICTOC); end
(6)