Memprediksi Kenaikan Golongan Pegawai Demgan Metode Learning Vector Quantization Dab Backropagation (Studi Kasus : PDAM Tirtanadi)

(1)

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 j

j b xv

in

z_ 1

+ = j jk j ok

k 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 = ty f y in

δ

j k

jk z

w =αδ ∆

k k

b2 =αδ2

= = m k jk k j w in 1 _ δ δ ij ij

V =αδ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.goal1e-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)

Bnsim(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)

CURRICULUM VITAE

Nama

: Fransisca Angelia Sebayang

Alamat Sekarang

: Jl. Setia Budi Pasar 1 Komplek Insan Cita Griya No 4AA

Tanjung Sari, Medan

Alamat Orang Tua

: Jl. Setia Budi Pasar 1 Komplek Insan Cita Griya No 4AA

Tanjung Sari, Medan

Telp/ Hp

: 087869567584

Email

: fransiska.sebayang90@gmail.com

Riwayat Pendidikan

2009 – 2013

: S1 Ilmu Komputer Universitas Sumatera Utara, Medan

2006 – 2009

: SMA Santo Thomas 2, Medan

2003 – 2006

: SMP Methodist 1, Medan

1997 – 2003

: SD Methodist 1, Medan

Keahlian/ Kursus yang diikuti

1. Programming