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
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
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,
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
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.
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
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.
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.
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
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
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
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 Diag
ram Sistem Memprediksi Kenaikan Golongan Pegawai
29
3.3
Activity Diagram
LVQ
32
3.4
Activity Diagram
Backpropagation
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
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.
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.
BAB 1
PENDAHULUAN
1.1 Latar 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
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
1.2 Rumusan 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.3 Batasan 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.4 Tujuan 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
1.5 Manfaat 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.6 Metode 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
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.7 Sistematika 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,
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 2
TINJAUAN PUSTAKA
2.1 Jaringan 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
.
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].
Gambar 2.2 Model Neuron [3]
Keterangan :
X
i= sinyal masukan ke-i. Dalam skripsi penulis dimana X
1adalah Penilaian Kerja
Pegawai yang baik, X2 adalah Masa Kerja minimal empat tahun, X3 adalah ujian
psikotes.
W
i= 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.
.
.
.
x
2x
iInput
netk
x
1f (.)
output
Fungsi
Aktivasi
w
1w
2bias
Fungsi
Penjumlahan
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
W
i= 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
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
W
21W
22W11 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 X3yang
terhubung dengan lapisan
output
yang memiliki dua unit
neuron
, yaitu Y1 dan Y2.
X1 X2 X3
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
V
22V
21V
32Lapisan bobot pertama
V
31Lapisan tersembunyi
W
1W
2Lapisan 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 X3yang
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
Kemudian dua unit neuron tersembunyi Z
1dan Z
2terhubung 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 A
1, A
m, A
i,
A
jdimana nilai bobotnya telah ditentukan misalnya n atau –e sedangkan nilai bobot
untuk dirinya sendiri bernilai 1.
2.3 Learning Vector Quantization (LVQ)
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 (
W
1dan W
2).
W
1adalah vektor
bobot yang menghubungkan setiap neuron pada lapisan masukan ke neuron pertama
pada lapisan keluaran, sedangkan
W
2adalah vektor bobot yang menghubungkan setiap
neuron pada lapisan masukan ke neuron kedua pada lapisan keluaran. Fungsi aktifasi
F
1akan memetakan y_
in
1ke y1=1 apabila |x-
W
1| > |x-
W
2| dan
y
1=0 jika sebaliknya.
Demikian juga pada Fungsi aktifasi
F
2akan memetakan y_
in
2ke y
2=1 apabila
|x-
W
2| > |x-
W
1| dan
y
2= 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 IW
1,1menghasilkan vektor dengan elemen berjumlah S
1. Elemen-elemen tersebut
merupakan jarak nilai terkecil antara vektor masukan dan vektor IW
1,1dan baris
matrik bobot masukan. Masukan n
1dari lapis kompetitif diperoleh dengan
menghitung jarak terkecil vektor
pdan 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
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
.
S
1= Vektor yang dihasilkan dari vektor masukan p dan bobot masukan W
1,
1.
S
2= Vektor yang dihasilkan dari vektor masukan a
1dan bobot masukan W2,1.
a
1= Hasil dari vektor masukan
competitive layer
ke
linear layer
.
a
2= 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
inputan
nya
2.3.1 Algoritma Pelatihan LVQ
adalah W
j= (W
1,W
2,..,W
n), C
jadalah 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
IW
1,1menghasilkan vektor dengan elemen berjumlah S
1Perubahan bobot-bobot neuron dilakukan dengan langkah-langkah berikut :
1.
Tetapkan :
a.
Bobot awal variabel input ke-j menuju ke kelas (cluster) ke-I : W
ij, 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 : X
ij ;dengan i=1,2,..,m.
b.
Target berupa kelas: T
k;
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 |X
i-W
j| minimum ……….. (2-3)
dengan j=1,2,..K.
ii.
Perbaiki Wj dengan ketentuan :
o
Jika T = C
jmaka
W
j= W
j+
α
(X
i-W
j) ……….. (2-4)
o
Jika T
≠ C
jmaka
W
j= W
j-
α
(X
i-W
j) ………... (2-5)
(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 X
i[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
Y
1Y
kY
mw
01w
11w
j1w
p1w
0kw
1kw
jkw
pkw
0mw
1mw
jmw
pmZ
1Z
jZ
pX
1X
iX
nv
01v
11v
i1v
n1v
0jv
1jv
ijv
njv
0pv
1pv
ipv
np1
1
Gambar 2.7 Arsitektur jaringan Backpropagation [15]
Keterangan :
X = Vektor input pembelajaran
X = (X
1, X
2, …, X
n)
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 errorOutput neuron Yk.
j
δ
=Bagian
koreksi
error
penyesuaian bobot V
ijberpedoman pada
error
Output
neuron Zj.
Wok = Bias pada
output
neuron ke-j
Y
k=
Output
neuron ke-k. Nilai
input
Y
kditunjukkan 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
(ditambah sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit (ditambah
sebuah bias), serta m buah unit keluaran.
V
jimerupakan bobot garis dari unit masukan X
ike unit layar tersembunyi Z
j(V
jomerupakan 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 :
Z
j= f(Z_in
j)
...(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
x
v
in
z
_
1
∑
+
=
j jk j ok
k
w
z
w
Gunakan fungsi aktivasi untuk menghitung sinyal
output
nya :
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
error
nya
:
... (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 (Z
j, 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 V
ij) :
... (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 kk
=
t
−
y
f
y
in
δ
j k
jk
z
w
=
α
δ
∆
k k
b
2
=
α
δ
2
∆
∑
= = m k jk k j w in 1 _ δ δ ij ijV
=
α
δ
1
∆
j j
b2
k(baru) = b2
k(lama) +
Δ
b2
k... (2-19)
Tiap-tiap unit tersembunyi (Zj, j = 1,2,3,...,p) memperbaiki bias dan
bobotnya (i = 0,1,2,..,n) :
v
ij(baru) = v
ij(lama) +
Δ
v
ij... (2-20)
b1
j(baru) = b1
j(lama) +
Δ
b1
j... (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
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 [image:36.595.194.476.428.591.2]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
1
exp(
)
1
)
(
x
x
f
[image:37.595.175.457.211.365.2]−
+
=
... (2-23)
dan fungsi turunannya adalah:
f
'
(
x
)
=
f
1(
x
)[
1
−
f
1(
x
)]
... (2-24)
Ilustrasi fungsi sigmoid biner digambarkan:
Gambar 2.9 Sigmoid Biner [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
f
2x
f
2x
f
=
+
−
... (2-26)
x
f(x)
0
Ilustrasi fungsi di atas digambarkan:
Gambar 2.10 Sigmoid 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)
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
[image:39.595.136.498.526.636.2]Kenaikan golongan pegawai masih dilakukan subyektif
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
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?
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>>
[image:42.595.133.505.292.586.2]<<depend>>
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
golongan yang berupa kelas
dimana k
1= layak, dan k
2=
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.
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
[image:45.595.125.513.128.619.2]Mengelola data Pengujian dan menghasilkan waktu pengujian
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
[image:46.595.124.516.149.755.2]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
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.
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
[image:48.595.132.520.121.613.2]Mengolah Data Pengujian, menampilkan kedalam grafik dan menghasilkan waktu pengujian Mengolah Data Pelatihan, menampilakn kedalam grafik Training dan Pelatihan
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
di
input
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
training
nya. 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
goal
nya. Apabila epoh sudah mencapai 100 epoh atau apabila learning
goal
nya 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
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)
JumNe