Penerapan Algoritma Genetika Dan Backpropagation Neural Network Untuk
Memprediksi Jumlah Penduduk Kota Medan
Fudingman Halawa
Prodi Teknik Informatika,Universitas Budi Darma, Medan, Indonesia E-mail: [email protected]
Abstrak
Dalam memperkirakan jumlah penduduk di kota Medan yang sangat meningkat tahun sebelumnya, namun untuk tahun berikutnya jumlah penduduk belum bisa diperkirakan sehingga dengan adanya prediksi jumlah penduduk maka dapat membantu pemerintah Kota Medan untuk mengambil kebijakan yang berkaitan dengan peningkatan kualitas hidup penduduk. Data-data jumlah penduduk saat ini hanya didapat melalui sensus penduduk dan pengumpulan data dari setiap kecamatan yang ada. Melihat betapa pentingnya informasi akan jumlah penduduk menjadikan dasar dari penulis untuk melakukan penelitian dengan melakukan jumlah penduduk di kota Medan dengan hanya melihat tingkat error terkecil. Dalam mengatasi masalah tersebut maka Untuk mengoptimalkan parameter yang digunakan diperlukan algoritma genetika. Dan metode Backpropagation Neural Network adalah salah satu metode Jaringan Syaraf Tiruan yang banyak digunakan dalam bidang prediksi atau peramalan
Kata Kunci :jumlah penduduk,prediksi, Algoritma Genetika,Backpropagation Neural Network.
1.
PENDAHULUAN
Penduduk adalah orang-orang yang berada di dalam suatu wilayah yang terikat oleh aturan-aturan yang berlaku dan saling berinteraksi satu sama lain secara terus menerus / kontinyu. Dalam sosiologi, penduduk adalah kumpulan manusia yang menempati wilayah geografi dan ruang tertentu. Jumlah penduduk yang berdomisili pada suatu daerah menjadi sebuah informasi yang sangat penting bagi para pemakai data kependudukan, khususnya para perencana, pengambil kebijaksanaan, dan peneliti sangat membutuhkan data penduduk yang berkesinambungan dari tahun ke tahun. Berkurang atau bertambahnya penduduk
Pada suatu daerah memiliki peranan yang sangat penting pada daerah itu sendiri. Seperti yang kita tahu bahwa hampir semua rencana pembangunan perlu ditunjang dengan data jumlah penduduk, persebaran dan susunannya agar relevan dengan rencana tersebut. Tidak hanya pada rencana pembangunan saja yang membutuhkan data jumlah penduduk. Tetapi juga pada segi perekonomian, pendidikan, kesehatan dan sebagainya. Hal itu tentu saja merupakan masalah yang rumit bagi pemerintah dalam usahanya untuk membangun dan meningkatkan taraf hidup negaranya. Semakin bertambah jumlah penduduk dalam suatu daerah semakin tinggi pula investasi yang dibutuhkan suatu daerah tersebut.
Permasalahannya adalah dalam memperkirakan jumlah penduduk di kota Medan yang sangat meningkat tahun sebelumnya, namun untuk tahun berikutnya jumlah penduduk belum bisa diperkirakan sehingga dengan adanya prediksi jumlah penduduk maka dapat membantu pemerintah Kota Medan untuk mengambil kebijakan yang berkaitan dengan peningkatan kualitas hidup penduduk. Data-data jumlah penduduk saat ini hanya didapat melalui sensus penduduk dan pengumpulan data dari setiap kecamatan yang ada.
Melihat betapa pentingnya informasi akan jumlah penduduk menjadikan dasar dari penulis untuk melakukan penelitian dengan melakukan jumlah penduduk di kota Medan dengan hanya melihat tingkat error terkecil. Berdasarkan penelitian dilakukan oleh
Adam mizza dengan judul Implementasi Algoritma
Genetika pada Struktur Backpropagation Neural Network
Untuk Klasifikasi Kanker Payudara menyimpulkan
algoritma Genetika menemukan nilai akurasi terbaik model Neural Network dengan cara mengoptimasikan parameternya menggunakan algoritma genetika.
Parameter pertama yang dioptimasi yaitu jumlah unit hidden layer yang dalam hal ini dibatasi satu hidden layer , dan parameter kedua yaitu learning rate.[1]
Dalam mengatasi masalah tersebut maka
Backpropagation Neural Network adalah salah satu metode Jaringan Syaraf Tiruan yang banyak digunakan dalam bidang prediksi atau peramalan. Prediksi yang dihasilkan dari model Neural Network akan lebih akurat jika parameter-parameter yang digunakan dapat dioptimalkan secara tepat dan benar. Untuk mengoptimalkan parameter yang digunakan diperlukan algoritma genetika. Penelitian ini dilakukan untuk menerapkan kedua metode tersebut dalam memprediksi jumlah penduduk di Kota Medan.
2.
TEORITIS
2.1 PrediksiPrediksi merupakan suatu usaha untuk meramalkan keadaan dimas mendatang melalui pengujian keadaan dimasa lalu.esensi prediksi adalah perkiraan peristiwa diwaktu yang akan datang atas dasar pola diwaktu yang lalu,dan penggunaan kebijakan terhadap proyeksi dengan pola diwaktu yang lalu. prediksi adalah seni dan ilmu untuk memperkirakan kejadian dimasa depan.hal ini dapat dilakukan dengan melibatkan pengambilan data masa lalu dan menempatkannya ke masa yang akan datang dengan suatu bentuk model matematis [5].
2.2 Algoritma Genetika
Algoritma yang memanfaatkan proses seleksi alamiah yang dikenal dengan proses evolusi. Dalam proses evolusi, individu secara terus-menerus mengalami perubahan gen untuk menyesuaikan dengan lingkungan hidupnya. Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui proses
perkembangbiakan. Dalam algoritma genetika ini, proses perkembangbiakan merupakan proses dasar yang menjadi perhatian utama, dengan tujuan mendapatkan keturunan yang lebih baik
2.3 Langkah-langkah Algoritma Genetika
Struktur utama dari suatu algoritma genetika dapat digambarkan dengan langkah-langkah pada gambar 1.
Gambar 1 langkah algoritma Genetika 2.4 Algoritma Backpropagation (BP)
Algoritma BP umumnya diterapkan pada perceptron berlapis banyak (multilayer perceptrons). Perceptron paling tidak mempunyai bagian input, bagian output dan beberapa lapis yang berada diantara input dan output. Lapis ditengah ini, yang juga dikenal dengan lapis tersembunyi (hidden layers), bisa satu, dua, tiga dan seterusnya. Dalam praktek, banyaknya hidden layer paling banyak adalah tiga lapis. Output lapis terakhir dari hidden layer langsung dipakai sebagai output dari neural network [7].
Proses pelatihan BP memerlukan tiga tahapan, yaitu feedforward data input untuk pelatihan, backpropagation untuk nilai error serta penyesuaian nilai bobot tiap node masing-masing layer pada NN. Diawali
dengan feedforward nilai input, tiap input unit ke-i (xi) menerima sinyal input yang selanjutnya akan dipancarkan ke hidden layer z1,...,zp. Selanjutnya hidden unit ke-j akan menghitung nilai sinyal (zj), yang akan dipancarkan ke output layer, menggunakan fungsi aktivasi f.
dan
dimana θ1j = bias hidden unit ke-j. Nilai bias dan bobot awal dapat diambil secara acak. Tiap unit output ke-k (Yk).
dan
Dimana θ2k= bias hidden unit ke-k. Selama proses training berlangsung, tiap unit output membandingkan nilai target (Tm) untuk suatu input pattern guna menghitung nilai parameter yang akan memperbaiki (update) bobot nilai tiap unit dalam masing-masing layer.[7]
3.
ANALISA
Dengan studi kasus pada dinas kependudukan dapat dilakukan analisa prediksi terhadap data jumlah penduduk sebelumnya. khususnya data selama tahun, dalam pembahasan ini penulis hanya menggunakan 3 tahun data jumlah penduduk kota medan sebagai sampel. Maka pengelola data penduduk dapat memprediksi jumlah penduduk yang cukup baik. Dengan salah satu tujuan adalah untuk memprediksi jumlah penduduk pada tahun 2018. Berikut ini adalah data jumlah penduduk yang akan dijadikan sampel untuk analisa dan untuk pengujian diambil selama 3 tahun yaitu kusus data penduduk medan kota.
Tabel 1 jumlah penduduk Medan Kota dan jenis kelamin selama 3 tahun
Tahun Laki-laki` Perempuan total
2015 36.769 37.670 74.439
2016 20.56 25.456 46.016
2017 23.456 46.345 69.801
Total Keseluruhan 190.256
3.1 Penyelesaian dengan algoritma genetika
Penyelesaian menggunakan algoritma genetika mengenai langkah-langkah penyelesaian permasalahan dalam memprediksi jumlah penduduk Kota Medan adalah sebagai berikut:
Tabel 2 penyederhanaan data penduduk
Y X1 x2
36.769 20.56 23.456
37.670 5.456 46.345
Dalam mencari nilai persamaan Satu persamaan regresi (1) berlaku untuk keseluruhan data.
Y1 = Y + x1 +x2
Y1 = 36.769 + 37.670 + 74.439 = 148.878 X1 = 20.56 + 5.456 + 69.801 = 95.817 X2 = 23.456 + 46.345 + 69.801 = 139.602
Langkah selanjutnya adalah melakukan proses perhitungan memprediksi harga saham menggunakan algoritma genetika.
a. Pembentukan chromosome
Representasi kromosom menggunakan real-coded genetic algorithm. Pembentukannya dengan membangkitkan nilai random pada interval [-100,100]. Hasil nilai random tersebut menyatakan proporsi koefisien regresi. Panjang kromosom sama dengan banyaknya koefisien untuk satu tahun
Tabel 3 Representasi Kromosom Parent
1 2 3 Y X1 x2 36.769 20.56 23.456 37.670 5.456 46.345 74.439 69.801 69.801 b. Inisialisasi
Proses inisialisasi dilakukan dengan cara memberikan nilai awal gen-gen dengan nilai acak sesuai batasan yang telah ditentukan. Misalnya Misalkan kita tentukan jumlah populasi adalah 2, maka:
Chromosome[1] = [Y;X1;x2] = [36.769; 20.56; 23.456] Chromosome[2] = [aY;X1;X2] = [37.670; 5.456; 46.345] Chromosome[3] = [aY;X1;X2] = [74.439; 5.456; 69.801] c. Evaluasi Cromosome
Permasalahan yang ingin diselesaikan adalah nilai variabel y, x1 dan x2 yang memenuhi persamaan y+2x1+3x2 = 100, maka fungsi_objektif yang dapat digunakan untuk mendapatkan solusi adalah fungsi_objektif(chromosome) = | (y+2x1+3x2) – 100 | Kita hitung fungsi_objektif dari chromosome yang telah dibangkitkan: fungsi_objektif (chro[1]) = Abs((36.769+ 2*20.56+ 3*23.456) - 100) = Abs((36.769+ 41.12 + 70.368) - 100) = Abs(48.257 - 100) = -51.743
d. Seleksi Chromosome Proses seleksi dilakukan dengan cara membuat chromosome yang mempunyai fungsi_objektif kecil mempunyai kemungkinan terpilih yang besar atau mempunyai nilai probabilitas yang tinggi. Untuk itu dapat digunakan fungsi fitness = (1/(1+fungsi_objektif)), fungsi_objektif perlu ditambah 1 untuk menghindari kesalahan program yang diakibatkan pembagian oleh 0.
e. Crossover
Setelah proses seleksi maka proses selanjutnya adalah proses crossover. Metode yang digunakan salah satunya adalah one-cut point, yaitu memilih secara acak satu posisi dalam chromosome induk kemudian
saling menukar gen. Chromosome yang dijadikan induk dipilih secara acak dan jumlah chromosome yang mengalami crossover dipengaruhi oleh parameter crossover_rate ( ρc ). Misal kita tentukan crossover probability adalah sebesar 25%, maka diharapkan dalam satu generasi ada 50% Chromosome (3 chromosome) dari satu generasi mengalami proses crossover.
f. Mutasi
Jumlah chromosome yang mengalami mutasi dalam satu populasi ditentukan oleh parameter
mutation_rate. Proses mutasi dilakukan dengan cara mengganti satu gen yang terpilih secara acak dengan suatu nilai baru yang didapat secara acak. Prosesnya adalah sebagai berikut. Pertama kita hitung dahulu panjang total gen yang ada dalam satu populasi. Dalam kasus ini panjang total genadalah total_gen = (jumlah gen dalam chromosome) * jumlah populasi.
Chromosome-chromosome ini akan mengalami proses yang sama seperti generasi sebelumnya yaitu proses evaluasi, seleksi, crossover dan mutasi yang kemudian akan menghasilkan chromosome-chromosome baru untuk generasi yang selanjutnya. Proses ini akan berulang sampai sejumlah generasi yang telah ditetapkan sebelumnya. Setelah 50 generasi didapatkan chromosome yang terbaik adalah:
chromosome[1] = [-2.0978; 20.56; 1.240543] chromosome[2] = [36.769; 1.85761; 23.456] chromosome[3] = [74.439; 5.456; 69.801] Chromosome = [36.769; 1.85761; 23.456] Jika di dekode maka:
Y= 36.769; x1=1.85761 ; x2=23.456;
X2=36 Jika dihitung terhadap persamaan x3 = Y+2X1+3X2:
36.769 + (2*1.85761) + (3*23.456) = 74.08322 (Hasil Akhir)
= 36.769 + 3.71522 + 70.368 =110.852
3.2 Penyelesaian Metode Backpropagation Neural Network
Berdasrkan penyelesaian diatas, selanjutnya dapat diselesaikan dengan metode backpropagation naural network dengan sebuah layer tersembunyi (dengan 3 unit), untuk mengenali fungsi logika XOR dengan 2 masukan X1 dan X2.dengan iterasi untuk menghitung bobot jaringan untuk pola pertama (X1=1, X2=1 dan t=0). Gunakan laju pemahaman α=0.2. selanjutnya, penyelesaian metode backprogation neural network, dapat diselesaikan dengan menentukan bobot pada setiap input dan output, pemeberian bobot dilakukan secara acak yang terdiri 2 tabel yaitu tabel A dn tabel B yang terdiri dengan tabel input dan output.
Tabel 4 Pembobotan dari data
Kriteria Nilai Bobot
Laki-Laki 36
Perempuan 37
Dari tabel pembobotan diatas maka ditambahkan bilangan ajak untuk untuk memenuhi tabel pembobotan, dapat dilihat pada tabel berikut ini.
a. Inisialisasi semua bobot dengan bilangan acak kecil.
z1 Z2 Z3 X1 36 38 -36 X2 3 36 -37 X3 65 36 70 1 b. tabel output
Berikut ini tabel ouput yang akan di dapatkan untuk mendapatkan informasi Y Z1 36 Z2 -37 Z3 -36 1 71
Berikut ini algoritma program berdasarkan algoritma backpropagation N = neuron unit N1 = 36 = x1 N1 = 37 = x2 N1 = 71 = x3 input N1 = 39 = x4 N1 = 40 = x5 N1 = 41 = b (bias) N1 = 37 = z1 (hidden unit) N1 = 38 = y (output unit)
Berikut adalah langkah-langkah penyelesaian : Kita perlu membuat file bertipe teks ( dari soal untuk proses training dan untuk proses uji prediksi ).
36 37 38 70 67
56 50 69 71
36 85 90 37 58
65 37 40 45 36
a. Menentukan Learning Rate (η) dengan kisaran nilai antara 0 sampai 1 yang ditentukan oleh user.
b. Menentukan Epoch untuk training dari program tersebut. Epoch merupakan perulangan komputasi program untuk menentukan bobot dari masing-masing input. Epoch dimasukkan secara manual oleh user. c. Membuat procedure “bacadata” untuk membaca file
teks, yang akan membaca teks nilai.txt, yang kemudian digunakan dalam training untuk input neuron dan target.
d. Menginisialisasi bobot yang akan masuk ke hidden layer secara random, antara 0-1.
e. Membuat fungsi sigmoid unipolar f. Dengan rumus : Oj = F ( Σ Wji Oi – θj )
Karena menggunakan neuron Bias, maka treshold θj = 0.
Fungsi aktivasi
Membuat procedure training.
Dalam prosedur training terdapat 4 (Empat) tahap yaitu :
a. Melakukan kalkulasi fungsi aktivasi terhadap tiap bobot dan unit.
N7 = F(W1.N1 + W2.N2 + W3.N3 + W4.N4 + W5.N5 + W6.N6) ( N6 = O6 = bias = selalu 1)
N8 = F(W8.N7 + W7.N6) ( N6 = O6 = bias = selalu 1)
b. Menghitung error gradien untuk tiap hidden dan output unit
§ Output unit : d8 = N8.(1 – N8).(y – N8)
Oj = {nilai output} dan Tj = {nilai target} § Hidden unit :
d7 = N7.(1 – N7).(d8.W8)
c. Menjalankan training bobot / weight training, yaitu bobot baru = bobot lama + perubahan bobot.
w1(baru) = w1(lama) + ή.δ7.N1 w2(baru) = w2(lama) + ή.δ7.N2 w3(baru) = w3(lama) + ή.δ7.N3 w4(baru) = w4(lama) + ή.δ7.N4 w5(baru) = w5(lama) + ή.δ7.N5 w6(baru) = w6(lama) + ή.δ7.N6 w7(baru) = w8(lama) + ή.δ8.N6 w8(baru) = w8(lama) + ή.δ8.N7
d. Lanjutkan ke iterasi berikutnya sampai iterasi = epoch yang diinginkan.
Selanjutnya diteruskan pada tahap langkah 8
e. Membuat fungsi uji, untuk menguji hasil training dengan nilai tes yang sudah disediakan.Menghitung hidden unit menggunkan fungsi akivasi yaitu mengalikan bobot hasil training dengan nilai yang diinputkan.
N7 = F(W1.N1 + W2.N2 + W3.N3 + W4.N4 + W5.N5 + W6.N6)
y = F(W8.N7 + W7.N6)
Contoh Output program untuk input Learning rate : 38,765. Dengan selisih dengan hasil asli 2.434634 Dengan hasil prediksi yaitu 79,4346 pada tahun 2018
4.
PERANCANGAN
Komputer berfungsi sebagai sarana pengolahan program yang memiliki manfaat bagi penggunanya. Oleh kaena itu, komputer haruslah menyediakan fasilitas-fasilitas yang mendukung dalam setiap pekerjaannya. 4.1 Tampilan Interface
Dari perancangan yang di lakukan sebelumnya dan telah di lakukan pengujian, maka perancangan sistem ini siap untuk implementasikan.
a. Tampilan Login
Berikut ini merupakan tampilan dari form Login, dimana pada username terdapat 2 pilihan menu yaitu
Gambar 2 Tampilan login
b. Form Menu Utama
Berikut ini merupakan tampilan dari form Menu Utama.
Gambar 3 Tampilan Menu Utama c. Form data penduduk
Berikut ini merupakan tampilan dari form data penduduk.
Gambar 4 Tampilan data penduduk d. Form data hasil
Berikut ini merupakan tampilan dari data hasil algoritma genetika dan neural network.
Gambar 5 Tampilan data penduduk
5.
KESIMPULAN
Berdasarkan penelitian yang telah dilakukan, maka dapat diambil kesimpulan sebagai berikut:
a. Data yang digunakan dalam memprediksi jumlah penduduk adalah data penduduk medan kota laki-laki dan perempuan tahun 2015, 2016, dan 2017.
b. Data tersebut diolah Menggunakan algoritma genetika dan metode Backpropagation Neural Network dan menghasilkan prediksi tahun 2018.
c. Dari analisa tersebut, dapat diimplementasian dengan menggunakan bahasa pemograman microsoft Visual Basic 2008.
Daftar Pustaka
[1] Adam Mizza Zamani, "Implementasi Algoritma Genetika pada Struktur Backpropagation Neural Network Untuk Klasifikasi Kanker Payudara,"
JURNAL TEKNIK, vol. 1, no. 2301-9271, pp. 222-227, september 2012.
[2] Maharani Dessy Wuryandari, “Jaringan Syaraf Tiruan Untuk Memprediksi Laju Pertumbuhan Penduduk Menggunakan Metode Backpropagation (Studi Kasus Di Kota Bengkulu)”, Media Infotama, Vol. 12 No. 1, Februari 2016
[3] M.F Andrijasa, “Jaringan Syaraf Tiruan”, Andi, Yogyakarta, 2006.
[4] Jong Jek Siang, M.Sc, “Jaringan Syaraf Tiruan & Pemrograman Menggunakan Matlab”,
Yogyakarta,Andi, 2005.
[5] Hery prasetya,manajemen operasi, 2009 Yogyakarta media prisindo.
[6] Aghus Sofwan, Algoritma Genetika Dalam Pemilihan Spesifikasi Komputer,snati 2008
[7] Novi Yanti Penerapan metode Neural network Dengan struktur Backpropagation Untuk Prediksi stok obat diapotek(studi kasus : apotek Abc)