Professional Documents
Culture Documents
NURUL ICHWANTI
1111100736
DOSEN PEMBIMBING :
Abdul Haris, S.Kom
Hadiq, S.T., M.Kom
Hari
: Rabu
Tanggal : 21Januari 2015
Tempat : Ruang Sidang STIKOM PGRI Banyuwangi
Mengetahui / Menyetujui :
Pembimbing I
Pembimbing II
Dosen Penguji I
Dosen Penguji II
ii
iii
KATA PENGANTAR
Alhamdulillahi rabbil-Zou]]v. Puji syukur penulis panjatkan hanya
kepada Allah SWT., yang telah memberikan segala nikmat, bimbingan, petunjuk,
perlindungan dan kesehatan kepada penulis. Sehingga pada akhirnya penulis
dapat menyelesaikan penyusunan skripsi ini.
^l]
vPA
]A ioA ^PENERAPANMETODE NEURAL NETWORK
demikian, sangat disadari bahwa skripsi ini masih jauh dari kesempurnaan yang
tidak lepas dari kesalahan dan kekurangan, sehingga diharapkan dapat diperbaiki,
dikembangkan dan disempurnakan oleh skripsi selanjutnya.
Dalam kesempatan ini, penulis menyampaikan rasa terima kasih kepada
yang terhormat :
1. Bapak H. Chairul Anam, S.Kom, MM selaku Ketua STIKOM PGRI Banyuwangi.
2. Bapak Rachman
Yulianto, S.Kom selaku
Ketua Program Studi
Teknik
Informatika STIKOM PGRI Banyuwangi.
3. Bapak Abdul Haris, S.Kom selaku Pembimbing I, yang dengan sabar telah
banyak memberikan waktu, bimbingan, kritik, saran maupun motivasi dalam
proses pengerjaan skripsi ini.
4. Bapak Hadiq, S.T., M.Kom selaku
PembimbingII, yang telahbanyak
memberikanwaktu, bimbingan, kritik
maupun saran dalam proses
pengerjaan skripsi ini.
5. Bapak danIbu dosen Program Studi Teknik
Informatika yang telah
memberikan pengetahuan selama masa perkuliahan.
6. Kedua orang tua, dan teman-temanku yang selalu mendoakan yang terbaik
dan memberi motivasi.
7. Serta pihak-pihak lain yang tidak dapat disebutkan satu persatu disini yang
telah banyak memberikan bantuan demi selesainya laporan ini.
iv
Akhir kata, semoga skripsi ini memberikan manfaat bagi penulis pada
khususnya dan pembaca pada umumnya.
Banyuwangi, 21 Januari 2015
Penulis
* Kupersembahkan
Dengan Setulus Hati Kepada *
vi
Ilmu merupakan tanda kebaikan Allah kepada seseorang "Barang siapa yang
Allah menghendaki kebaikan padanya, maka Allah akan membuat dia paham
ouAPuX_
(HR Bukhari dan Muslim)
I
I
Allah mengangkat derajat orang yang berilmu. Sebagaimana firman Allah, ^Allah
akan meninggikan orang-orang yang beriman di antaramu dan orang-orang
yang diberi ilmu pengetahuan beberapa derajatX_
[QS. Al-Mujadalah : 11]
I
I I
^zAooZUA]lAAluZvAlo]AAvPAvPlAi]lvAuZXAvA
apabila Engkau berkehendak, Engkau akan menjadikan kesusahan menjadi
luZvX_A
(HR. Ibnu Hibban dalam Shahihnya no. 2427)
vii
DAFTAR ISI
Halaman
ABSTRAK ................................................................................................................iii
KATA PENGANTAR................................................................................................. iv
viii
ix
xi
DAFTAR GAMBAR
Gambar
Halaman
2.3
Struktur ANN ................................................................................................. 14
2.6Jaringan Reccurent........................................................................................16
2.9Fungsi Bipolar................................................................................................19
3.5
Desain Sistem Logical Database ....................................................................47
4.1
Halaman Login ...............................................................................................49
4.28Halaman Testing..........................................................................................69
xiii
xiv
xv
DAFTAR TABEL
Tabel
Halaman
4.6
Ringkasan Uji Coba Data Training ................................................................. 73
xvi
xvii
BAB I
PENDAHULUAN
1.1
Latar Belakang
Dewasa ini peranan
komputer dirasakan
semakinpenting dalam
perkembangan
kehidupanmasyarakat modern. Komputer dengan
segala
kelebihan yang dimiliki telah menjadi pilihan utama dalam membantu manusia
untuk mengerjakan tugasnya. Salah satu kelebihan yang dimiliki komputer yaitu
dapat mengerjakan tugas lebih singkat dibandingkan jika dikerjakan manusia,
tetapi komputer hanya dapat mengolah dan menganalisa masalah dengan data
yang tersedia lengkap. Oleh karena itu dikembangkanlah cabang ilmu yang cukup
populer, yakni Artificial Intelligence. Artificial Intelligence didefinisikan sebagai
entitas ilmiah. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin
(komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan
manusia.
KemudianperkembanganArtificial Intelligencemulai mendorong
munculnya konsep-konsep baru lainnya. Salah satunya adalah Metode Neural
Network, yang pada dasarnya meniru prinsip kerja sistem saraf otak manusia.
Neural Network dapat diterapkan untuk berbagai macam aplikasi terutama
untuk peramalan/prediksi. Salah satu pemanfaatan Metode Neural Network
Kapal (ABK) dalam persiapan penyandaran kapal sesuai tata kerja masing-masing
ABK. Prediksi resiko sandar yang diperhitungkan nahkoda menjadi hal yang
sangat penting karena jika nahkoda salah perhitungan dan salah mengambil
keputusan dalam kondisi tertentu maka akan menghadapi resiko saat gagal
dalam penyandaran, diantaranya : tabrakan atau kandas.
Berawal dari latar belakang di atas, penelitian ini bertujuan untuk
menerapkan metode neural network backpropagation guna memprediksi resiko
sandar Kapal Tanker PALM I sesuai gejala atau kondisi yang diperhitungkan dan
kemudian didapat hasil keputusan.
1.2
Rumusan Masalah
Rumusan masalah pada penelitian ini adalah :
Bagaimana menerapkan
metode neural network
denganalgoritma
backpropagation untuk prediksi resiko sandar Kapal Tanker PALM I
berdasarkan kondisi alam, kondisi kapal dan kondisi dermaga ?
1.3
Batasan Masalah
Ruang lingkup pembahasan :
Tujuan Penelitian
Tujuan pada penelitian ini adalah :
Manfaat Penelitian
Manfaat pada penelitian ini adalah :
BAB II
TINJAUAN PUSTAKA
2.1
TK. PALM I
Buatan
Mitsubishi Rubber
Type
MTA t 6A
Nomor Seri :
7108
Tahun Pembuatan
January - 1991
Ukuran (DWT/GT/HP) :
/1102/
Bendera
Indonesia
Urgensi
2.2
No.
Nama
Posisi
Ijazah /
Ket.
Sertifikat
1. Anwar Iskandar
Nahkoda / Perwira
ANT III
2. Setyo Budi
Chief Officer / Mualim II
ANT IV
3. Anamin
Second Officer / Mualim III ANT V
4. Antony
Markonis / Juru Radio
ANT V
5. Sartono
Juru Mudi I
ATT Dasar 6. Joko
Juru Mudi II
ATT Dasar 7. Mochammad Khadavi
Juru Mudi III
ATT Dasar Kepala Kamar Mesin / Masinis A
I NT IV
8. Supardi
9. Eko Prasono
Masinis II
ANT V
10. Sukaryo
Oiler / Juru Minyak I
ATT Dasar 11. Tri
Oiler / Juru Minyak II
ATT Dasar 12. Teguh
Juru Masak
ATT Dasar 13. Puji Purwanto
Bosun / Kepala Kerja
ATT Dasar 14. Wiranto
Klasi I
ATT Dasar 15. AhmAZ]([]
Klasi II
ATT Dasar 16. Agus
Klasi III
ATT Dasar Total 16 orang awak kapal
Sumber : Dokumen susunan awak kapal dikeluarkan oleh operator, 2014.
2.3
Sistem Prediksi
Schronderberg(1971) dalam Suradinata(1996) secara ringkas
Peraturan Menteri Perhubungan Nomor : KM. 21 Tahun 2007 tentang Sistem dan
Prosedur Pelayanan Kapal, Barang dan Penumpang pada Pelabuhan Laut yang
diselenggarakan oleh Unit Pelaksana Teknis (UPT) Kantor Pelabuhan, dan
Keputusan Direktur Jenderal Perhubungan Laut Nomor : UM.002/38/18/DJPL t
11tentang Standar Kinerja Pelayanan Operasional Pelabuhan Direktur Jenderal
Perhubungan Laut. (terlampir)
2)
LEMAH
0 G 10 knot
SEDANG
11 G 21 knot
KENCANG
22 G 64 knot
SEDANG
0 G 2.5 m
2.6m G 4 m
BESAR
Diatas 4 meter
NORMAL
3)
SEDANG 11 G 21 knot
KENCANG 22 G 64 knot
4)
BURUK
Jika draft kapal lebih dalam atau sama dengan dari draft
tepi dermaga (over draft).
5)
BURUK
- Adanya ombak terjadinya saat ada perlawanan arus dan angin. Semakin
besar perlawanan, semakin besar pula ombak yang dihasilkan.
-
arus/benturan keras dengan dermaga atau kapal lain karena hilang kendali.
-
Besar ombak relatif, tergantung besar dan kecil kapal. Kapal Tangker PALM
I berkapasitas 10.000 ton, panjang = 65 m; lebar=18 m; tinggi=3.66
m ;ombak normal dibawah 2.5 meter, ombak sedang diatas 2.5 meter
sampai dengan 4 meter, ombak besar diatas 4 meter.
Hal ini kemudian di konfirmasi secara lisan (Anwar Iskandar 2014, pers. comm.,
17Oktober).
2.4.3 Data History
Berikut data history berdasarkan pengalaman pakar :
dalam rentang normal, kencangnya arus dalam rentang lemah, draft kapal
baik, dan draft tepi dermaga baik maka penyandaran aman dilakukan, tanpa
kendala.
dalam rentang normal, kencangnya arus dalam rentang lemah, draft kapal
buruk, dan draft tepi dermaga buruk maka penyandaran aman dilakukan,
garis besar history penyandaran aman karena tidak ada goyangan atau
benturan dikarenakan ombak, meskipun penyandaran tidak sempurna.
baik, dan draft tepi dermaga baik maka penyandaran aman, garis besar
history penyandaran aman tetapi dibutuhkan juga teknik dan kesigapan
nahkoda mengemudikan kapal.
salah satu representasi buatan dari otak manusia yang selalu mencoba untuk
10
operasi yang menyerupai otak, JST dapat diterapkan untuk berbagai macam
aplikasi terutama untuk peramalan/prediksi. Jaringan Syaraf Tiruan ditentukan
oleh 3 hal (Siang, 2004) :
1. Pola hubungan antar neuron (disebut arsitektur jaringan).
2. Metode untuk menentukanbobot penghubung (disebut
metode
training/learning).
3. Fungsi aktivasi, yaitu fungsi yang digunakan untuk menentukan keluaran
suatu neuron.
Menurut Derwin (2012, chap. 1), Neural Network merupakan kategori
ilmu Soft Computing. Neural Network sebenarnya mengadopsi dari kemampuan
otak manusia yang mampu
memberikan stimulasi/rangsangan, melakukan
proses, dan memberikan output. Output diperoleh dari variasi stimulasi dan
proses yang terjadi di dalam otak manusia.
Kemampuan manusia dalam memproses informasi merupakan hasil
kompleksitas proses di dalam otak. Misalnya, yang terjadi pada anak-anak,
mereka mampu belajar untuk melakukan pengenalan meskipun mereka tidak
mengetahui algoritma apa yang digunakan. Kekuatan komputasi yang luar biasa
dari otak manusia ini merupakan sebuah keunggulan di dalam kajian ilmu
pengetahuan. Fungsi dari Neural Network diantaranya adalah :
1. Pengklasifikasian pola.
2. Memetakan pola yang didapat dari input ke dalam pola baru pada output.
3. Pengoptimasi permasalahan.
4. Prediksi.
11
Untuk saat ini, Neural Network sudah dapat diterapkan pada beberapa
task, diantaranyaclassification,recognition,approximation,prediction,
clusterization, memory simulation dan banyak task-task berbeda yang lainnya,
dimana jumlahnya semakin bertambah seiring berjalannya waktu (Derwin, 2012,
chap. 2).
2.5.1 Konsep Dasar Jaringan Syaraf Tiruan
Ide dasar Neural Network dimulai dari otak manusia, dimana otak
memuat sekitar 1011 neuron. Neuron ini berfungsi memproses setiap informasi
yang masuk. Satu neuron memiliki 1 akson, dan minimal 1 dendrit. Setiap sel
syaraf terhubung dengan syaraf lain, jumlahnya mencapai sekitar 104 sinapsis.
Masing-masing sel itu saling berinteraksi satu sama lain yang menghasilkan
kemampuan tertentu pada kerja otak manusia.
Dari gambar di atas, bisa dilihat ada beberapa bagian dari otak manusia, yaitu :
1. Dendrit (Dendrites) berfungsi untuk mengirimkan impuls yang diterima ke
badan sel syaraf.
2. Akson (Axon) berfungsi untuk mengirimkan impuls dari badan sel ke
jaringan lain.
3. Sinapsis berfungsi sebagai unit fungsional di antara dua sel syaraf.
12
mengirimkan sinyal yang dihasilkan oleh badan sel melalui akson. Akson dari sel
syaraf ini bercabang-cabang dan berhubungan dengan dendrit dari sel syaraf lain
dengan cara mengirimkan impuls melalui sinapsis. Sinapsis adalah unit fungsional
antara 2 buah sel syaraf, misal A dan B, dimana yang satu adalah serabut akson
dari neuron A dan satunya lagi adalah dendrit dari neuron B. Kekuatan sinapsis
bisa menurun/meningkat
tergantungseberapabesar tingkat propagasi
(penyiaran) sinyal yang diterimanya. Impuls-impuls sinyal (informasi) akan
diterima oleh neuron lain jika memenuhi batasan tertentu, yang sering disebut
dengan nilai ambang (threshold). (Derwin, 2012, chap. 3)
Menurut Maria (2012), setiap pola-pola informasi input dan output yang
diberikan kedalam jaringan syaraf tiruan diproses dalam neuron. Neuron-neuron
tersebut terkumpul didalam lapisan-lapisan yang disebut neuron layers. Lapisanlapisan penyusun jaringan syaraf tiruan tersebut dapat dibagi menjadi 3, yaitu :
1. Lapisan masukan (input).
Unit-unit di dalam lapisan input disebut unit-unit input. Unit-unit input
tersebut menerima pola inputan data dari luar yang menggambarkan suatu
permasalahan.
2. Lapisan tersembunyi (hidden).
Unit-unit di dalam lapisan lapisan tersembunyidisebut unit-unit
tersembunyi. Dimana outputnya tidak dapat secara langsung diamati.
3. Lapisan keluaran (output).
Unit-unit di dalam lapisan output disebut unit-unit output. Output dari
lapisanini merupakansolusi jaringan
syaraftiruan terhadapsuatu
permasalahan.
2.5.2 Struktur Neural Network
Dari struktur neuron pada otak manusia,maka konsep dasar
pembangunan neural network buatan (Artificial Neural Network) terbentuk. Ide
mendasar dari Artificial Neural Network (ANN) adalah mengadopsi mekanisme
13
berpikir sebuah sistem atau aplikasi yang menyerupai otak manusia, baik untuk
pemrosesanberbagaisinyal elemenyang diterima, toleransi terhadap
kesalahan/error, dan juga parallel processing.
2.
3.
link secara langsung. Link dari unit yang satu ke unit yang lainnya digunakan
untuk melakukan propagasi aktivasi dari unit pertama ke unit selanjutnya. Setiap
link memiliki bobot numerik. Bobot ini menentukan kekuatan serta penanda dari
sebuah konektivitas.
Proses pada ANN dimulai dari input yang diterima oleh neuron beserta
dengan nilai bobot dari tiap-tiap input yang ada. Setelah masuk ke dalam neuron,
nilai input yang ada akan dijumlahkan oleh suatu fungsi perambatan (summing
14
yang berhubungan dengannya. Proses ini akan terus berulang pada input-input
selanjutnya.
ANN terdiri dari banyak neuron di dalamnya. Neuron-neuron ini akan
dikelompokkan ke dalam beberapa layer. Neuron yang terdapat pada tiap layer
dihubungkan dengan neuron pada layer lainnya. Hal ini tentunya tidak berlaku
pada layer input dan output, tapi hanya layer yang berada di antaranya.
Informasi yang diterima di layer input dilanjutkan ke layer-layer dalam ANN
secara satu persatu hingga mencapai layer terakhir/layer output. Layer yang
terletak di antara input dan output disebut sebagai hidden layer. Namun, tidak
semua ANN memiliki hidden layer, ada juga yang hanya terdapat layer input dan
output saja. (Derwin, 2012, chap. 3)
2.5.3 Arsitektur Jaringan Syaraf Tiruan
Berdasarkan arsitekturnya, model jaringan syaraf tiruan digolongkan
menjadi (Dini, 2010) :
1. Jaringan Layar Tunggal (Single Layer Network)
Pada jaringan ini, sekumpulan masukan neuron dihubungkan langsung
dengan sekumpulan keluarannya. Sinyal mengalir searah dari layar (lapisan)
masukan sampai layar (lapisan) keluaran. Setiap simpul dihubungkan dengan
simpul lainnya yang berada diatasnya dan dibawahnya, tetapi tidak dengan
simpul yang berada pada lapisan yang sama. Model yang masuk kategori ini
antara lain : ADALINE, Hopfield, Perceptron, LVQ, dan lain-lain.
15
Dengan kata lain sinyal mengalir dua arah, yaitu maju dan mundur. Contoh :
Hopfield network, Jordan network, Elmal network. (Dini, 2010)
Pada metode ini, setiap pola yang diberikan kedalam JST telah diketahui
outputnya. Selisih antara pola output aktual (output yang dihasilkan) dengan
pola output yang dikehendaki (output target) yang disebut error digunakan untuk
mengoreksi bobot JST sehingga JST mampu menghasilkan output sedekat
mungkin dengan pola target yang telah diketahui oleh JST. Contoh algoritma
yang menggunakan
metode ini adalah : Hebbian, Perceptron, ADALINE,
Boltzmzn, Hopfield, Backpropagation.
Pada Proses pelatihan supervised membutuhkan pasangan data input dan
output aktual untuk dipelajari. Data input dibutuhkan sebagai masukan, dan data
output dibutuhkansebagai target jaringan. Sebelum diproses, data
dinormalisasikan terlebih dahulu. Normalisasi terhadap data dilakukan agar
jaringan tidak mengalami saturasi dan kegagalan ketika melakukan pembelajaran
(Suprayogi, et al, 2005).
b. Unsupervised Learning (pembelajaran tak terawasi)
Pada metode ini, tidak memerlukan target output. Pada metode ini tidak
dapat ditentukanhasil seperti apakah
yang diharapkan
selamaproses
pembelajaran. Selama proses pembelajaran, nilai bobot disusun dalam suatu
range tertentu tergantung pada nilai input yang diberikan.
Tujuan pembelajaran ini adalah mengelompokkan unit-unit yang hampir
sama dalam suatu area tertentu. Pembelajaran ini biasanya sangat cocok untuk
klasifikasi pola. Contoh algoritma JST yang menggunakan metode ini adalah :
Competitive,Hebbian, Kohonen, LVQ (Learning Vector Quantization),
Neocognitron.
c. Hybrid Learning (pembelajaran hibrida)
Merupakan kombinasi dari metode pembelajaran Supervised Learning dan
Unsupervised
Learning,sebagiandari bobot-bobotnya
ditentukanmelalui
17
function) untuk mengkonversikan input dari suatu variable yang bernilai kontinu
ke suatu output biner (0 atau 1).
bipolar, maka angka 0 diganti dengan angka -1. Adakalanya dalam jaringan syaraf
tiruan ditambahkan suatu unit masukkan yang nilainya selalu 1. Unit tersebut
dikenal dengan bias. Bias dapat dipandang sebagai sebuah input yang nilanya
selalu 1. Bias berfungsi untuk mengubah threshold menjadi = 0.
:T; L
1
0
5
5>7
setiap unit yang ada di lapisan output. Jaringan ini terdiri dari banyak lapisan
(multilayer network).
Ketika jaringan ini diberikan pola masukan sebagai pola pelatihan, maka
pola tersebut menuju unit-unit lapisan tersembunyi untuk selanjutnya diteruskan
pada unit-unit di lapisan keluaran. Kemudian unit-unit lapisan keluaran akan
memberikan respon sebagai keluaran JST. Saat hasil keluaran tidak sesuai dengan
yang diharapkan, maka keluaran akan disebarkan mundur (backward) pada
lapisantersembunyikemudiandari lapisantersembunyimenuju lapisan
masukan. Tahap pelatihan ini merupakan langkah untuk melatih suatu jaringan
syaraf tiruan, yaitu dengan cara melakukan perubahan bobot, sedangkan
penyelesaian masalah akan dilakukan jika proses pelatihan tersebut telah selesai,
fase ini disebut fase pengujian (Puspaningrum, 2006).
20
terhubung dengan setiap unit yang berada pada layer tersembunyi, demikian
juga setiap unit layer tersembunyi selalu terhubung dengan unit pada layer
output. Jaringan backpropagation terdiri dari banyak lapisan (multilayer network)
yaitu :
1. Lapisan input (1 buah), yang terdiri dari 1 hingga n unit input.
21
Langkah 0 : Inisialisasi bobot-bobot, konstanta laju pelatihan
( ), toleransi
error atau nilai bobot (bila menggunakan nilai bobot sebagai
kondisi berhenti) atau set maksimal epoch (jika menggunakan
banyaknya epoch sebagai kondisi berhenti).
Langkah 1 : Selama kondisi berhenti belum dicapai, maka lakukan langkah
ke-2 hingga langkah ke-9.
Langkah 2 : Untuk setiap pasangan pola pelatihan, lakukan langkah ke-3
sampai langkah ke-8.
Langkah 3 : {Tahap I : Umpan maju (feedforward)}.
Tiap unit masukan meneriman sinyal dan meneruskannya ke
unit tersembunyi diatasnya.
Langkah 4 : Masing-masing unit di lapisan tersembunyi (dari unit ke-1
hingga unit ke-p) dikalikan dengan bobotnya dan dijumlahkan
serta ditambahkan dengan biasnya.
Langkah 5 : Masing-masing unit output (yk,k = 1,2,3,...m) dikalikan dengan
bobot dan dijumlahkan serta ditambahkan dengan biasnya.
Langkah 6 : {Tahap II : Umpan mundur (bacward propagation)}.
Masing-masing unit output (yk,k = 1,2,3,...m) menerima pola
target kt sesuai dengan pola masukan/input saat pelatihan dan
kemudianinformasikesalahan/error
lapisanoutput (G)
dihitung.
G dikirim ke lapisan
bawahnya dandigunakanuntuk
menghitung besarnya koreksi bobot dan bias antara lapisan
tersembunyi dengan lapisan output.
Langkah 7 : Pada setiap unit dilapisan tersembunyi (dari unit ke-1 hingga
ke-p; i=1...n;k=1...m)dilakukanperhitunganinformasi
F). (
kesalahan lapisan tersembunyi
F kemudian digunakan untuk menghitung besar koreksi
bobot dan bias ( Vji dan
Vjo) antara lapisan input dan lapisan
tersembunyi.
22
23
rate.
weight
kj
Langkah 4 : Menginisialisasi semua koneksi
Wji
matrix 1, W
k secara random.
weight matrix 2 dan bobotj bias
24
menyebabkan laju konvergensi menjadi lebih lambat. Hal ini disebabkan sinyal
galat berkurang secara numerik jika melewati terlalu banyak lapisan dan lapisan
tambahan cenderung menciptakan minimum lokal (Didi, 2012). Hidden layer
pada backpropagation berfungsi sebagai tempat
untuk mengupdate dan
menyesuaikan bobot, sehingga didapatkan nilai bobot yang baru yang bisa
diarahkan mendekati dengan target output yang diinginkan.
Ada beberapa aturan metode berdasarkan pengalaman yang dapat
digunakan untuk menentukan jumlah neuron yang akan digunakan pada hidden
layer. Menurut Haykin (1999) jumlah hidden neuron 2 sampai dengan 9 sudah
dapat menghasilkan hasil yang baik dalam jaringan, namun pada dasarnya
jumlah hidden neuron yang digunakan dapat berjumlah sampai dengan tak
berhingga (~). Sedangkan menurut Heaton (2008), ada beberapa aturan yang
dapat digunakan untuk menentukan banyaknya jumlah neuron pada hidden
layer yaitu:
a. Jumlah hidden neuron harus berada diantara ukuran input layer dan output
layer.
b. Jumlah hidden neuron harus 2/3 dari ukuran input layer, ditambah ukuran
output layer.
c. Jumlah hidden neuron harus kurang dari dua kali jumlah input layer.
Menurut Boger dan Guterman (1997), biasanya untuk menentukan jumlah node
hidden sebagai dimensi [komponen utama] yang dibutuhkan 70% -90% dari
varians kumpulan data masukan.
25
akan kembali pada trial and error sesuai dengan masalah yang ditangani oleh
jaringan.
Menggunakanterlalu sedikit neuron di lapisantersembunyi akan
menghasilkan sesuatu yang disebut underfitting. Underfitting terjadi ketika
terlalu sedikit neuron di lapisan tersembunyi untuk dapat mendeteksi sinyal
dalam satu set data yang rumit atau jaringan tidak cukup fleksibel untuk
mempelajari data. Sebaliknya mennggunakan terlalu banyak neuron di lapisan
tersembunyi akan menghasilkan sesuatu yang disebut overfitting. Overfitting
terjadi ketika jaringan saraf memiliki banyak kapasitas pengolahan informasi
sehingga sedikitnya jumlah informasi yang terdapat pada data pelatihan tidak
cukup untuk melatih semua neuron di lapisan tersembunyi.
c. Lapisan keluaran (output layer)
Output layer berjumlah satu lapis yang terdiri dari neuron-neuron output
mulai dari neuron output pertama sampai neuron output ke-m. Output layer dari
jaringan saraf adalah pola yang sebenarnya diberikan oleh lingkungan luarnya
(external environment). Pola yang diberikan output layer dapat secara langsung
ditelusuri kembali ke input layernya. Jumlah dari neuron output tergantung dari
tipe dan performa dari jaringan saraf itu sendiri. (Yunita, 2012)
d. Pemilihan bobot dan bias awal
Pemilihaninisialisasi bobotakan mempengaruhi apakah
jaringan
mencapai galat (error) pada minimum global atau lokal. Perubahan bobot antara
kedua unit tergantung pada kedua turunan fungsi aktivasi unit di atas dan unit
dibawahnya.
Sangatlah penting untuk menghindari pemilihan bobot awal yang akan
membuat fungsi aktivasi atau turunannya menjadi nol. Jika bobot awal terlalu
besar, masukan awal ke tiap unit tersembunyi atau keluaran akan berada pada
daerah di mana turunan fungsi sigmoid memiliki nilai sangat kecil (disebut
daerah jenuh). Sebaliknya jika bobot terlalu kecil sinyal masukan pada unit
26
dipengaruhi oleh banyaknya bobot dalam jaringan serta tingkat akurasi yang
diharapkan. (Didi, 2012)
f. Parameter laju pembelajaran (learning rate)
Laju pembelajaran sangat berpengaruh pada intensitas proses pelatihan.
Pada umumnya nilai laju pembelajaran dipilih mulai 0,001 sampai dengan 1
selama proses pelatihan. (Didi, 2012)
yang bernilai antara 0.1 - 0.9. Nilai tersebut menunjukkan kecepatan belajar dari
jaringannya. Jika nilai learning rate yang digunakan terlalu kecil maka terlalu
banyak epoch yang dibutuhkan untuk mencapai nilai target yang diinginkan,
sehingga menyebabkan proses training membutuhkan waktu yang lama.
27
Semakin besar nilai learning rate yang digunakan maka proses pelatihan
jaringan akan semakin cepat, namun jika terlalu besar justru akan
mengakibatkan jaringan menjadi tidak stabil dan menyebabkan nilai error
sehingga maintenance situs web tersebut menjadi lebih mudah dan efisien. PHP
merupakan software Open-Source yang disebarkan dan dilisensikan secara gratis
serta dapat didownload secara bebas dari situs resminya http://www.php.net ,
PHP ditulis menggunakan bahasa C. (Kasiman, 2006, p.2)
28
2.
3.
4.
mengambil berkas PHP dan akan diproses (interpret) oleh PHP Interpretor. PHP
Interpretor akanmelakukanpemrosesankode-kode PHP, dan
kemudian
membentuk blok-blok kode HTML. Kode HTML yang terbentuk selanjutnya
dikirim kembali ke web browser sehingga dapat diproses. Hasil proses berupa
halaman web yang diminta oleh pengguna. (Budi, 2007,p. 208)
CI (CodeIgniter)
bekerja atau membuat program dengan menggunakan PHP yang lebih sistematis.
Pemrogram tidak perlu membuat program dari awal (from scracth), karena CI
menyediakansekumpulanlibrari yang banyak yang diperlukanuntuk
menyelesaikan pekerjaan yang umum, dengan menggunakan antarmuka dan
struktur logika yang sederhana untuk mengakses librarinya. (Betha, 2012, p.1)
2.7.2 Alasan menggunakan CI
Menurut Betha (2012), Framework CI merupakan
framework yang
memiliki dokumentasi yang jelas dan lengkap, yang memudahkan pengembang
untuk mempelajari dengan mudah. Pendekatan dari CI sangatlah mudah, dari
membuat sekedar tulisan sampai dengan yang kompleks dapat didekati dengan
uZXA ]lA ]A (u}lA vPA o]vUA vlA uvlvA o]vA ^,oo}A
30
31
Class FTP
Lokalisasi
Enkripsi data
Benchmarking
Logging error
Profiling aplikasi
Librari XML-RPC
2.8
Model
Controller
View
Model
Objek model adalah bagian dari aplikasi yang mengimplementasi logika
untuk domain data aplikasi. Umumnya, objek model digunakan untuk mengambil
data dari database atau menyimpan data ke dalam database.
View
View adalah komponen yang menampilkan antarmuka untuk pengguna
(user interface, UI) aplikasi. Antarmuka ini dibuat berdasarkan data dari model.
Controller
Controller merupakan komponen yang digunakan untuk menangani
interaksi pengguna, bekerja dengan moel, dan memilih view mana yang
digunakan untuk merender data. Dalam aplikasi MVC, view hanya menampilkan
informasi, controller menangani dan menanggapi masukan dan interaksi dengan
pengguna. Dengan pola MVC, kita membuat aplikasi dengan memisahkan
berbagai aspek dari aplikasi (logika input, bisnis, dan antarmuka), ada bagian
penampil data (view), penyedia atau pemrosesan data (model), dan pengendali
program (controller).
2.8.2 CI dan MVC
CI adalah salah satu frameworkpemrogramanPHP yang dapat
mengimplementasi teknik
pemrograman MVC.
Berikut adalah flowchart
bagaimana CI mengimplementasi MVC (Betha, 2012, p. 32) :
Drivers
Models
Routing
Security
Cachin
g
View
index.php
Application
Controller
Librari
es
Helpers
Package
s
Scripts
33
2. Router akan memeriksa request HTTP untuk menentukan apa yang harus
dilakukan dengan request tersebut.
3. Jika ada file cache, maka file cache langsung dikirimkan kepada browser,
dengan memotong eksekusi sistem normal.
4. Keamanan. Sebelum suatu aplikasi controller dipanggil, request HTTP dan
data yang dikirimkan oleh pengguna disaring (filter) terlebih dahulu untuk
keamanan.
5. Controller akan membuat model, librari inti, helper, dan sumberdaya
lainnya yang diperlukan untuk memproses request tersebut.
6. View terakhir dirender kemudian dikirimkan kepada browser untuk
dilihat. Jika caching didefinisikan, maka view akan dicache terlebih
dahulu, setelah itu baru dikirimkan kepada browser.
Menurut Betha (2012), CI bisa digunakan untuk belajar melakukan
pemrograman dengan teknik pemrograman yang menggunakan konsep MVC
(Model View Controller). Mengapa? Karena CI mengijinkan pemrogram untuk
bekerja penuh di dalam controller, sambil sedikit-sedikit memahami konsep MVC
dengan benar (Betha, 2012, p. 32).
2.9
MySQL
MySQL (My Structure Query Language) adalah sebuah perangkat lunak
sistem manajemen basis data SQL (Database Mangement System) atau DBMS
dari sekian banyak DBMS, seperti Oracle, MS SQL, Postagre SQL, dan lain-lain.
Widenius. Seperti yang telah disebutkan sebelumnya, MySQL bersifat gratis atau
open source sehingga kita bisa menggunakannya secara gratis. (Anhar, 2010, p.
21)
34
lapisan security, seperti level subnet mask, nama host, dan izin akses
user dengan sistem perizinan yang mendetail serta password yang
terenkripsi.
35
Statemen SQL secara garis besar dibagi menjadi dua kategori (Bambang,
2002, p. 16):
Data Definition Language (DDL) statement
Data Manipulation Language (DML) statement
Statement DDL merupakan bahasa definisi data yang digunakan untuk
membuat, mengubah, dan menghapus struktur data asli (hold data), yang
berkaitan dengan databse itu sendiri, tabel, dan elemen lain yang merupakan
bagian dari database seperti domain, index, triggers, stored procedure, role, dan
shadow. Statemen DDL dimulai dengan keyword CREATE, ALTER, dan DROP.
Sebagai contoh CREATE TABLE untuk membuat tabel. ALTER TABLE untuk
memodifikasi tabel yang sudah ada. DROP TABLE untuk menghapus tabel.
Statement DML merupakan bahasa manipulasi data yang digunakan untuk
memanipulasi data dengan data struktur. Empat pokok statemen DML yaitu
INSERT, UPDATE, DELETE dan SELECT. INSERT untuk menambahkan data ke tabel,
UPDATE untuk memodifikasi data yang sudah ada, dan DELETE untuk membuang
atau menghapus data. Statemen SELECT untuk mendapatkan kembali atau
meminta informasi dari database.
36
BAB III
METODE PENELITIAN
3.1
Metode Penelitian
Adapun langkah-langkahdalam menyelesaikanpenelitian ini
Pembangunan Aplikasi
Penulisan Laporan
37
tabel-tabel yang dibutuhkan oleh aplikasi sesuai desain database yang dibuat
serta berguna menampung data.
5) PembangunanSistem, yaitu proses merancang,membangundan
mengembangkan sistem yang digunakan sebagai user interface bagi para
pengguna.
6) Uji Coba dan Evaluasi, bertujuan untuk menguji kinerja sistem.
7) Penulisan Laporan, proses dokumentasi atau penyusunan laporan mulai dari
tahap awal hingga akhir.
3.2
Analisa Data
3.2.1 Atribut dan Target Atribut
Berikut Atribut (hal yang mempengaruhi/gejala) dan Target Atribut (hasil
TARGET ATRIBUT
1. Kecepatan Angin
1. AMAN
2. Ketinggian Ombak
2. BAHAYA
38
Ketinggian Ombak
NORMAL
SEDANG
BESAR
3.
Kencangnya Arus
LEMAH
SEDANG
KENCANG
4.
Draft Kapal
BAIK
BURUK
5.
BAIK
BURUK
1.
001
SEDANG 010
KENCANG 100
2.
Ketinggian OmbakNORMAL
001
SEDANG 010
BESAR
3.
001
SEDANG 010
KENCANG 100
4.
Draft Kapal
5.
STANDART 01
01
100
OVER
10
BURUK
10
01
2. BAHAYA
10
39
untuk belajar. Data ini berasal dari data history Nahkoda Kapal Tanker PALM I
dalam melakukan sandar kapal dan berperan sebagai data validasi, dalam arti
data ini tertanam dalam database untuk pengetahuan sistem.
Tabel 3.5 Tabel Data Training
NO. KECEPATANKETINGGIAN
KENCANGNYADRAFT DRAFT
OUTPUT/
ANGIN
OMBAK
ARUS
KAPAL DERMAGA TARGET ATRIBUT
1.
LEMAH
NORMAL
LEMAH
BAIK
BAIK
AMAN
2.
LEMAH
NORMAL
LEMAH
BURUK
BURUK
AMAN
3.
SEDANG
SEDANG
SEDANG
BAIK
BAIK
AMAN
4.
SEDANG
SEDANG
SEDANG
BURUK
BURUK
BAHAYA
5.
KENCANG
BESAR
KENCANG
BAIK
BAIK
BAHAYA
6.
KENCANG
BESAR
KENCANG
BURUK
BURUK
BAHAYA
Sedangkan tabel 3.6 dibawah merupakan data testing. Data ini merupakan data
rasional yang mungkin terjadi dalam upaya penyandaran kapal dan berperan
sebagai data verifikasi, dalam arti data ini digunakan untuk mentesting sistem
diluar pengetahuan.
Tabel 3.6 Tabel Data Testing
NO. KECEPATANKETINGGIAN
KENCANGNYADRAFT
ANGIN
OMBAK
ARUS
KAPAL
40
DRAFT
OUTPUT/
DERMAGA TARGET ATRIBUT
BAIK
AMAN
1.
LEMAH
SEDANG
LEMAH
BAIK
2.
LEMAH
SEDANG
LEMAH
BURUK
BURUK
AMAN
3.
SEDANG
NORMAL
SEDANG
BAIK
BAIK
AMAN
4.
SEDANG
NORMAL
SEDANG
BURUK
BURUK
BAHAYA
5.
KENCANG
SEDANG
KENCANG
BAIK
BAIK
BAHAYA
6.
KENCANG
SEDANG
KENCANG
BURUK
BURUK
BAHAYA
3.3
merupakan Multilayer Network Pola Data Matang Record 1 yang akan ditraining,
satu tahap training terdiri dari :
1. Fase maju (feedforward). Pola masukan dihitung maju mulai dari layar
masukanhingga layarkeluaranmenggunakan
fungsi aktivasi yang
ditentukan.
2. Fase mundur (backpropagation). Selisih antara keluaran jaringan dengan
target yang diinginkan merupakan kesalahan yang terjadi atau error. Nilai
error ini dijadikan sebagai dasar dalam melakukan perubahan dari setiap
bobot dengan mempropagationkannya kembali, dimulai dari garis yang
berhubungan langsung dengan unit-unit di layar keluaran.
3. Fase modifikasi bobot untuk menurunkan kesalahan yang terjadi. Dan hasil
modifikasi bobot ini menjadi bobot baru pada weight matrix 1 dan 2 pada
arsitektur Multilayer Network Pola Data Matang epoch selanjutnya.
3.4
False
Jika epoch kurang dari maxepoch (bernilai true) maka dilakukan satu
siklus training, yaitu dimulai dari fase feedforward, backpropagation,
update bobot (langkah 8 t 21). Kemudian bobot baru matrix 1 dan 2
digunakan untuk training epoch selanjutnya.
netj
Wji
= weight matrix 1
Oi
43
Oj
= exponen
Mengaktivasi output
neuron hidden menggunakan
fungsi aktivasi
sigmoid/mensigmoidkan input neuron hidden.
10. Mengaktifkan Neuron pada Output Layer, terdiri dari 2 langkah :
1) Aktifkan Input Neuron Output
netk
Wkj
= weight matrix 2
Oj
Ok
= exponen
Mengaktivasi output
neuron output menggunakan
fungsi aktivasi
sigmoid/mensigmoidkan input neuron output.
11. Selesai fase maju (feedforward).
12. Masuk fase mundur (backpropagation).
13. Mengkalkulasi Error Output Layer, menggunakan rumus :
44
3.4dibawah :
1. Mulai.
2. Input Data Testing.
3. Normalisasi Data, untuk sinkronisasi data dan memudahkan proses testing.
45
Normalisasi Data
Feedforward
If maximum == 0
False
Prediksi
A0A1
True
Prediksi
BA+A<A
END
jalannya sistem.
Terdapat dua tabelyang digunakandalam sistem
ini,
diantaranya :
1. Tabel admin : digunakan untuk menampung data user.
2. Tabel master : digunakan untuk menampung pola data matang.
46
Prototype Desain
47
48
BAB IV
IMPLEMENTASI DAN UJI COBA
Dalam bab ini akan dibahas implementasi sekaligus uji coba sistem.
Implementasisistem menggunakanbahasa pemrogramanphp dengan
framework CodeIgniter. Adapun penjelasannya akan disajikan dalam potonganpotongan program beserta penjelasan kode program tersebut. Sistem yang
dibangun terbagi menjadi 3 bagian utama yaitu Halaman Master, Halaman
Training, dan Halaman Testing.
4.1
Halaman Login
Berikut source code button login pada gambar 4.3, nilai value yang
dikirim textfield username dan password akan dicek dalam database, jika ada
atau count 1 maka berhasil masuk dalam halaman awal, sebaliknya jika kosong
maka akan tetap berada dalam halaman login.
if($this->form_validation->run() == TRUE)
{
$admin = $this->Query->sql("select count(*) as jumlah from
".$this->table." where username = '".$this->input->
post('username')."' and password = '".md5($this->input->
post('password'))."'");
if($admin[0]['jumlah'] == 1)
{
$this->session->set_userdata('username', $this->input
->post('username'));
$this->session->set_flashdata('message', 'Login
sukses...');
redirect('home', 'refresh');
}
else
{
$this->session->set_flashdata('message', 'Login
gagal...');
redirect('admin', 'refresh');
}
}
else
{
$this->index();
}
}
Halaman Awal
Setelah user berhasil melakukan login, maka akan masuk dalam halaman
50
51
4.3
Halaman MASTER
Halaman Master ini digunakan untuk menampilkan data training yang
berada pada database. Data inilah yang menjadi menjadi acuan atau sumber
belajar sistem. User dapat menginputkan pola data training baru, merubah
maupun menghapus data, sehingga tidak perlu mengakses database untuk
melakukan operasi simpan, rubah, maupun hapus data yang diinginkan.
52
Sebaliknya jika bernilai 0, akan langsung menyimpan pola data. Berikut validasi
pengecekan pola data training :
$master = $this->Query->sql("select count(*) as jumlah from
".$this->table." where kecepatan_angin = '".$this->input->
post('kecepatan_angin')."' and tinggi_ombak = '".$this->input->
post('tinggi_ombak')."' and kencang_arus = '".$this->input->
post('kencang_arus')."' and draft_dermaga = '".$this->input->
post('draft_dermaga')."' and draft_kapal = '".$this->input->
post('draft_kapal')."' and prediksi = '".$this->input->
post('prediksi')."'");
if($master[0]['jumlah'] == 1)
{
$this->session->set_flashdata('message', 'Rule sudah ada');
}
else
{
$this->Query->sql("insert into ".$this->table."(kecepatan_
angin,tinggi_ombak,kencang_arus,draft_dermaga,draft_kapal,
prediksi)values('".$this->input->post('kecepatan_angin')."'
,'".$this->input->post('tinggi_ombak')."','".$this->input->
post('kencang_arus')."','".$this->input->post('draft_
dermaga')."','".$this->input->post('draft_kapal')."','".
$this->input->post('prediksi')."')");
$this->session->set_flashdata('message', 'Data master
berhasil ditambah...');
}
redirect('master', 'refresh');
untuk menghindari pola data sama. Jika ada atau bernilai 1 maka artinya pola
54
data ada dalam database, sebaliknya jika bernilai 0, akan langsung merubah pola
data. Berikut source code button update :
$master = $this->Query->sql("select count(*) as jumlah from
".$this->table." where kecepatan_angin = '".$this->input->
post('kecepatan_angin')."' and tinggi_ombak = '".$this->input->
post('tinggi_ombak')."' and kencang_arus = '".$this->input->
post('kencang_arus')."' and draft_dermaga = '".$this->input->
post('draft_dermaga')."' and draft_kapal = '".$this->input->
post('draft_kapal')."' and prediksi = '".$this->input->
post('prediksi')."'");
if($master[0]['jumlah'] == 1)
{
$this->session->set_flashdata('message', 'Rule sudah ada');
}
else
{
$this->Query->sql("update ".$this->table." set kecepatan_
angin = '".$this->input->post('kecepatan_angin')."'
,tinggi_ombak = '".$this->input->post('tinggi_ombak')."'
,kencang_arus = '".$this->input->post('kencang_arus')."'
,draft_dermaga = '".$this->input->post('draft_dermaga')."'
,draft_kapal = '".$this->input->post('draft_kapal')."'
,prediksi = '".$this->input->post('prediksi')."' where kode
= ".$this->input->post('kode'));
$this->session->set_flashdata('message', 'Data master
berhasil dirubah');
}
redirect('master', 'refresh');
55
Halaman TRAINING
Halaman Training ini digunakan untuk menampilkan hasil akurasi dari
proses training sistem. Presentase akurasi adalah presentase ketepatan pola data
benar dan cocok, hasil dari belajar sistem.
56
$sample = 0;
for($epoch = 0; $epoch < $this->maxepoch; $epoch++)
{
if($sample == $this->maxdata)
$sample = 0;
for ($i = 0; $i < $this->inputneurons; $i++)
{
$this->inputx[$i] = $this>inputlatihan
[$sample][$i];
}
for ($i = 0; $i < $this->outputneurons; $i++)
{
$this->targetx[$i] = $this->outputlatihan
[$sample][$i];
}
$this->feedforward();
$this->backpropagate();
$sample++;
}
$this->sessionn->set('wih', $this->wih);
$this->sessionn->set('who', $this->who);
$data['akurasi'] = $this->akurasi();
$this->load->view('training',$data);
}
dan target atribut ke dalam kombinasi bilangan binner. Selanjutnya nilai binner
ditampung pada variable $inputlatihan array multi dimensi untuk value of atribut
dan $outputtlatihan array multi dimensi untuk target atribut. (lihat Tabel 3.3 &
Tabel 3.4)
57
58
{
$this->inputlatihan[$i][3] = 0;
$this->inputlatihan[$i][4] = 0;
$this->inputlatihan[$i][5] = 1;
}
...
//atribut seterusnya
//target
if($data['semua_data'][$i]['prediksi']=="AMAN")
{
$this->outputlatihan[$i][0]=0;
$this->outputlatihan[$i][1]=1;
}
else if($data['semua_data'][$i]['prediksi']=="BAHAYA")
{
$this->outputlatihan[$i][0]=1;
$this->outputlatihan[$i][1]=0;
}
}
}
between 0 and 1.0 pada php, sehingga untuk menghasilkan rentang -0.5 s/ 0,5
:
dikurangi 0.5 . Berikut source code function inisialisasibobot()
public function inisialisasibobot()
{
for ($i = 0; $i < $this->inputneurons; $i++)
{
for ($j = 0; $j <= $this->hiddenneurons - 1; $j++)
59
{
$this->wih[$i][$j] = (mt_rand() /
mt_getrandmax())-0.5;
}
}
for($i = 0; $i < $this->hiddenneurons; $i++)
{
for($j = 0; $j <= $this->outputneurons-1; $j++)
{
$this->who[$i][$j] = (mt_rand() /
mt_getrandmax())-0.5;
}
}
}
function
60
Jika epoch sama dengan maxepoch (bernilai false) maka training berhenti
dan bobot baru matrix 1 dan 2 dari training epoch terakhir disimpan
dalam session.
$sample = 0;
for($epoch = 0; $epoch < $this->maxepoch; $epoch++)
{
if($sample == $this->maxdata)
$sample = 0;
........
}
61
$sum += $this->hidden[$hid]*$this->
who[$hid][$out];
}
$this->actual[$out]=$this->sigmoid($sum);
}
}
b) Nested for yang kedua, digunakan untuk mengaktifkan neuron pada output
layer. Ada 3 langkah, yaitu :
-
fase backpropagation
:
Berikut source code dari function backpropagate()
62
63
//atribut 1
if($data['semua_data'][$i]['kecepatan_angin'] ==
"LEMAH")
{
$this->inputx[0] = 0;
$this->inputx[1] = 0;
$this->inputx[2] = 1;
}
else if($data['semua_data'][$i]['kecepatan_angin'] ==
"SEDANG")
{
$this->inputx[0] = 0;
$this->inputx[1] = 1;
$this->inputx[2] = 0;
}
else if($data['semua_data'][$i]['kecepatan_angin'] ==
"KENCANG")
{
$this->inputx[0] = 1;
$this->inputx[1] = 0;
$this->inputx[2] = 0;
}
//atribut seterusnya ...
//target
$outputx = 0;
if($data['semua_data'][$i]['prediksi'] == "AMAN")
{
$outputx = 1;//posisi index 0 1
}
else if($data['semua_data'][$i]['prediksi'] ==
"BAHAYA")
{
$outputx = 0;//posisi index 1 0
}
$this->feedforward2();
if($this->maximum() != $outputx)//jika index terbesar
dari hitungan actual tidak sama dengan output/target
{
$salah++; //epoch salah
}
}
return "Akurasi ".(($this->maxdata - $salah) / $this->
maxdata * 100)."%";
}
4.5
Ketepatan
Konstanta Iterasi
Pengenalan Waktu
Belajar
(max
Pola
Komputasi
Dari 6 pola
Akurasi
(learning rate)epoch) data training
Pada epoch ke - (detik)
0.37
200
50%
199
0.3738
0.37
200
83.33
%
199
0.3981
0.37
200
100%
113
0.2740
0.37
200
100%
69
0.2064
10
0.37
200
100%
61
0.1574
11
0.37
200
100%
10
0.0875
20
0.37
200
100%
40
0.2270
27
0.37
200
100%
57
0.2821
Ketepatan
Konstanta Iterasi
Pengenalan
Waktu
Belajar
(max
Pola
Dari 6 pola
Komputasi
Akurasi
(learning rate)epoch) data training
Pada epoch ke 0.1
200
4
66.67%
199
0.5402
10
10
0.17
200
100%
151
0.4342
10
0.23
200
100%
117
0.3522
10
0.3
200
100%
92
0.2716
66
10
0.35
200
100%
73
0.2216
10
0.37
200
100%
63
0.2118
10
0.4
200
100%
64
0.2003
10
0.45
200
100%
101
0.2923
Jika nilai learning rate yang digunakan terlalu kecil maka terlalu banyak
epoch yang dibutuhkan untuk mencapai nilai target yang diinginkan, sehingga
Ketepatan
Konstanta Iterasi
Pengenalan
Waktu
Pola
Belajar
(max
Dari 6 pola
Komputasi
Akurasi
Pada epoch ke (learning rate)
epoch) data training
0.37
27
3
50%
26
0.1717
10
10
0.37
50
66.67%
49
0.1750
10
0.37
100
100%
35
0.1680
10
0.37
120
100%
39
0.1476
10
0.37
200
100%
22
0.1136
10
0.37
300
100%
57
0.2070
10
0.37
400
100%
81
0.2424
10
0.37
500
100%
98
0.2837
keluaran jaringan yang sama dengan targetnya (jaringan sudah memahami pola).
Parameter learning rate paling optimal antara pelatihan ke 3,4 dan 5.
D. Hasil Pengujian Optimal
Dari hasil pengujian berdasarkan jumlah hidden neurons, learning rate dan
iterasi sebelumnya. Penulis melakukan pengujian optimal untuk mendapatkan
parameter terbaik dari segi efisiensi waktu komputasi yang diperlukan dan batas
pengenalan pola pada epoch yang tidak terlalu jauh.
67
Ketepatan
Konstanta Iterasi
Pengenalan
Waktu
Pola
Belajar
(max
Dari 6 pola
Akurasi Pada epoch keKomputasi
(learning rate)
epoch) data training
0.37
100
6
100%
92
0.2999
10
0.37
100
100%
82
0.2554
11
0.37
100
100%
89
0.2719
0.37
120
100%
76
0.2216
10
0.37
120
100%
77
0.2335
11
0.37
120
100%
68
0.2432
0.37
200
100%
57
0.1838
10
0.37
200
100%
65
0.2193
11
0.37
200
100%
84
0.2526
10
0.4
100
100%
66
0.2080
11
10
0.4
100
100%
68
0.2008
12
11
0.4
100
100%
70
0.2215
13
0.4
120
100%
85
0.2638
14
10
0.4
120
100%
77
0.2491
15
11
0.4
120
100%
88
0.3088
16
0.4
200
100%
79
0.2462
17
10
0.4
200
100%
70
0.2276
18
11
0.4
200
100%
92
0.3034
ke-7 dengan hidden neurons sejumlah 9, epoch maksimal 200 yang memiliki
parameter learning rate = 0.37 dengan waktu komputasi yang relatif cepat.
Parameter ini yang digunakan untuk testing.
4.6
Halaman TESTING
Halaman testing ini digunakan untuk mentesting data dan mendapatkan
68
69
70
$this->inputx[6] = 0;
$this->inputx[7] = 1;
$this->inputx[8] = 0;
}
else if($_POST['kencang_arus'] >= 22 &&
$_POST['kencang_arus'] <= 64)
{
$this->inputx[6] = 1;
$this->inputx[7] = 0;
$this->inputx[8] = 0;
}
...
//kondisi seterusnya
$this->feedforward2();
if($this->maximum() == 0)
$data['keputusan'] = "BAHAYA";
else
$data['keputusan'] = "AMAN";
$this->sessionn->set('kecepatan_angin',$_POST
['kecepatan_angin']);
$this->sessionn->set('tinggi_ombak',$_POST['tinggi_ombak']);
$this->sessionn->set('kencang_arus',$_POST['kencang_arus']);
$this->sessionn->set('draft_kapal',$_POST['draft_kapal']);
$this->sessionn->set('draft_dermaga',$_POST
['draft_dermaga']);
$this->sessionn->set('target',$data['keputusan']);
$this->load->view('testing', $data);
} else
$this->load->view('testing', $data);
}
71
4.7
LEMAH
NORMAL
LEMAH
BURUK
BURUK
AMAN
3.
SEDANG
SEDANG
SEDANG
BAIK
BAIK
AMAN
4.
SEDANG
SEDANG
SEDANG
BURUK
BURUK
BAHAYA
5.
KENCANG
BESAR
KENCANG
BAIK
BAIK
BAHAYA
6.
KENCANG
BESAR
KENCANG
BURUK
BURUK
BAHAYA
72
KECEPATANKETINGGIANKENCANGNYA DRAFT
ANGIN
OMBAK
ARUS
KAPAL
3 knot
0 meter
5 knot
BAIK
DRAFT
OUTPUT
DERMAGA TARGET
BAIK
AMAN
2.
5 knot
1 meter
7 knot
BURUK
BURUK
AMAN
3.
15 knot
2.6meter
17 knot
BAIK
BAIK
AMAN
4.
19 knot
2.7meter
21 knot
BURUK
BURUK
BAHAYA
5.
27 knot
4.5 meter
30 knot
BAIK
BAIK
BAHAYA
6.
63 knot
5 meter
64 knot
BURUK
BURUK
BAHAYA
oleh pakar.
Tabel 4.7 Tabel Data Testing
NO. KECEPATANKETINGGIAN
KENCANGNYADRAFT DRAFT
OUTPUT/
ANGIN
OMBAK
ARUS
KAPAL DERMAGA TARGET ATRIBUT
1.
LEMAH
SEDANG
LEMAH
BAIK
BAIK
AMAN
2.
LEMAH
SEDANG
LEMAH
BURUK
BURUK
AMAN
3.
SEDANG
NORMAL
SEDANG
BAIK
BAIK
AMAN
4.
SEDANG
NORMAL
SEDANG
BURUK
BURUK
BAHAYA
5.
KENCANG
SEDANG
KENCANG
BAIK
BAIK
BAHAYA
6.
KENCANG
SEDANG
KENCANG
BURUK
BURUK
BAHAYA
73
KECEPATANKETINGGIANKENCANGNYA DRAFT
ANGIN
OMBAK
ARUS
KAPAL
10 knot
2.9 meter
9.8 knot
BAIK
DRAFT
OUTPUT
DERMAGA TARGET
BAIK
AMAN
2.
10 knot
2.7 meter
9.5 knot
BURUK
BURUK
AMAN
3.
18 knot
2.4 meter
19 knot
BAIK
BAIK
AMAN
4.
20 knot
2 meter
19 knot
BURUK
BURUK
BAHAYA
5.
30 knot
3 meter
35 knot
BAIK
BAIK
BAHAYA
6.
57 knot
4 meter
55 knot
BURUK
BURUK
BAHAYA
74
BAB V
PENUTUP
5.1
Kesimpulan
Setelah dilakukan analisa terhadap hasil training dan testing, maka dapat
Saran
Meskipun sudah bisa dikatakan bermanfaat dan sesuai target namun
75
76
DAFTAR PUSTAKA
Devi, C.J., Reddy, B.P., Kumar, K.V., Reddy, B., Nayak, N.R., "ANN Approach for
Weather Prediction using Back Propagation", International Journal of
Engineering Trends and Technology, Vol.3 - Issuel, 2012. Andhra
University : India.
Dini Oktaviani Maru'ao. 2010. Neural Network Implementation in Foreign
Exchage Kurs Prediciton. Gunadarma University : Jakarta.
Ganatra, Amit, Kosta, Y.P., Panchal,Gaurang, Gajjar Chintan, "Initial Classification
Through Back Propagation In a Neural Network Following Optimization
Through GA to Evaluate the Fitness of an Algorithm", International
Journal of Computer Science & Information Technology (IJCSIT), Vol 3,
No 1,2011. Charotar University of Science and Technology (CHARUSAT) :
India.
Heaton, J., 2008, Introduction to Neural Networks with Java, 2nd Edition, Heaton
Research.Inc, New York.
Hermawan, A., 2006, Jaringan Saraf Tiruan : Teori dan Aplikasi, Yogyakarta :
Andi.
Khalid, Marzuki. (2009). Internet. "Multilayer Neural Networks
theand
Backpropagation Algorithm". Universiti Teknologi Malaysia : Malaysia.
Retrieved Desember 20, 2014, from http://www . cairo.utm.my/
Kusumadewi, Sri. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan
MATLAB & Excell Link. Yogyakarta : Graha Ilmu.
Keputusan Direktur Jenderal Perhubungan Laut Nomor : UM.002/38/18/DJPL t
11. 2011
. Standar Kinerja Pelayanan Operasional Pelabuhan Direktur
Jenderal Perhubungan Laut. Jakarta.
Maria Agustin. 2012. Penggunaan Jaringan Syaraf Tiruan Backpropagation Untuk
Seleksi Penerimaan Mahasiswa Baru Pada Jurusan Teknik Komputer Di
Politeknik Negeri Sriwijaya. Universitas Diponegoro : Semarang.
Nur Afifah. 2011. Analisis Metode Backpropagation Untuk Memprediksi Indeks
Harga Saham Pada Kelompok Indeks Bisnis-27. Universitas Islam Negeri
Syarif Hidayatullah : Jakarta.
77
Pusat Bahasa Depdiknas. 2002. Kamus Besar Bahasa Indonesia (Edisi Ketiga).
Jakarta : Balai Pustaka.
Z}][]vUA BuvPXA XA Mengolah Database dengan SQL pada INTERBASE
Menggunakan DELPHI 6.0 Edisi I. Yogyakarta : Andi.
Siang, Jong Jek. 2004. Jaringan Syaraf Tiruan dan Pemrogramannya
Menggunakan MATLAB. Yogyakarta : ANDI.
Sidik, Betha. 2012. Framework CodeIgniter. Bandung : Informatika Bandung.
Sri Redjeki. 2013. Analisis Fungsi Aktivasi Sigmoid Algoritma Backpropagation
Pada Prediksi Data. STMIK Akakom : Yogyakarta.
78
ST, Anhar. 2010. Panduan menguasai PHP & MySQL secara Otodidak. Jakarta :
Mediakita.
Yunita Tika. 2012. Jaringan Saraf Tiruan Resilient Backpropagation Untuk
Memprediksi Faktor Dominan Injury Severity Pada Kecelakaan Lalu
Lintas. Universitas Sumatera Utara : Medan.
Zaki, A., dan SmitDev Community. 2008. 36 Menit Belajar Komputer PHP dan
MySQL. Jakarta : PT Elex Media Komputindo.
Z.Boger and H. Guterman. ^<v}oPA]}vA(}uA](]ial neural network
u}oU_ in Proc. IEEEInt. Conf. Systems, Man
and Cybernetics
~^DC[UA1997.
79
80
: NURUL ICHWANTI
NIM
: 1111100736
Menyatakan dengan sebenarnya bahwa skripsi yang saya tulis ini benar-benar
merupakan hasil karya saya sendiri, bukan merupakan pengambil alihan tulisan
atau pikiran orang lain yang saya aku sebagai hasil tulisan atau pikiran saya
sendiri.
Apabila di kemudian hari terbukti atau dapat dibuktikan skripsi ini hasil jiplakan,
maka saya bersedia menerima sanksi atas perbuatan tersebut.
NURUL ICHWANTI
81
82
RIWAYAT HIDUP
Nama
: Nurul Ichwanti
NIM
: 1111100736
Tempat/Tanggal
: Banyuwangi, 03-05-1993
Lahir
Alamat Asal
: Bakungan - Banyuwangi
Jenjang Pendidikan :
1997t 1999 TK ISLAM DARUL FALAH, Banyuwangi
1999t 2005 SD MUHAMMADIYAH 1, Banyuwangi
2005t 2008 SMPN 1 GIRI, Banyuwangi
2008t 2011 SMK Negeri 1 Banyuwangi
2011t 2015 STIKOM PGRI Banyuwangi
(Program Studi S1 Jurusan Teknik Informatika)
83