Anda di halaman 1dari 32

ABSTRAK

Untuk menentukan mahasiswa yang berhak mendapatkan beasiswa merupakan hal yang vital bagi
Bagian Kemahasiswaan dan Alumni (BKA) STT Telkom. Penentuan nominasi mahasiswa yang berhak
mendapatkan beasiswa saat ini dilakukan perhitungan dengan bantuan MS. Excel. Dengan cara ini hasil
yang didapatkan kurang memuaskan, karena dalam perhitungan masih digunakan Logika Benar dan Salah
(1 dan 0) dari Logika Boolean, dan dalam pengerjaan membutuhkan waktu yang relative lama.

Dalam tugas akhir ini diimplementasikan Logika Fuzzy untuk menentukan nominasi mahasiswa
yang berhak menerima beasiswa. Untuk menentukan fungsi keanggotaan fuzzy yang tepat merupakan hal
yang tidak mudah, oleh karena itu digunakan Algoritma Genetika.

Dari pengujian pelatihan Algoritma Genetika diperoleh pelatihan terbaik dilakukan dengan
jumlah satu populasi sebanyak 20 individu (kromosom), peluang pindah silang 0.8 dan peluang mutasi
0.1. Penentuan nominasi mahasiswa yang berhak menerima beasiswa menggunakan Logika Fuzzy
memberikan hasil yang baik jika dibandingkan dengan perhitungan manual (excel). Hasil ini dapat
diterima oleh pihak BKA (Bagian Kemahasiswaan dan Alumni ), dalam hal ini Bpk. Adiwiyaja, Ssi, Msi
yang akan digunakan sebagai pendukung keputusan untuk penentuan nominasi mahasiswa yang akan
menerima beasiswa.

Kata Kunci : algoritma genetika, crossover, roulette wheel, logika fuzzy, Center of Area(COA).
ABSTRACT
Determining the right university student who deserve to receive the scholarship is the important
duty for BKA STT Telkom Institution. The ascription candidates of students who deserve to receive the
scholarship formerly is done by using MS. Excel application manually. As the former way the results are
unsatisfied, because it still use the True and False Logic Method (1 and 0) in calculation, and need longer
time.

Fuzzy logic is implemented for ascription candidates of the adequate students in this final
assignment. For deciding the accurate fuzzy memberships are not the easy process, by that case Genetic
Algorithm being used.

From Genectic Algorithm testcases are received the fine result which is done in a population with
20 (cromosom) samples, the cross-over probability is 0.8 and mutation is 0.1. The ascription result for
candidates of students who deserve to receive the scholarship by using fuzzy logic are better when it
compare with manual system (MS.Excel). These results can be accepted by BKA Institution as if be
represented by MR. Adiwijaya, Ssi, Msi who said that it will be used as decision support system to
determine the adequate students who deserve to receive the scholarship.

Key words : Genectic Algorithm, cross-over, roulette wheel, Fuzzy logic, Center of Area(COA).
KATA PENGANTAR

Alhamdulillahirabbil ’alamin. Puji dan syukur kehadirat Allah SWT yang telah memberikan
kekuatan, berkah, rahmah, dan hidayah-Nya sehingga penulis akhirnya dapat menyelesaikan Tugas Akhir
yang berjudul “Analisis dan Implementasi Algoritma Genetika dan Logika Fuzzy untuk menentukan
mahasiswa yang berhak menerima beasiswa di STT Telkom”, yang merupakan salah satu syarat untuk
memperoleh gelar Sarjana Strata-1 untuk jurusan Teknik Informatika di Sekolah Tinggi Teknologi
Telkom (STT Telkom), Bandung.

Penulis menyadari bahwa tugas akhir ini masih mempunyai kekurangan. Oleh karena itu kritik
dan saran sangat diterima untuk memperbaiki tugas akhir ini. Karena sesungguhnya kesempurnaan
hanyalah milik-Nya. Penulis berharap semoga tugas akhir ini dapat bermanfaat bagi semua pihak yang
membutuhkan untuk melakukan penelitian dan pengembangan dalam bidang Informatika khususnya
dalam “Soft Computing”.

Akhir kata, penulis memohon maaf kepada semua pihak apabila penulis telah melakukan
kesalahan dan kekhilafan, baik yang disengaja maupun yang tidak disengaja.

Wassalamu’alaikum Wr. Wb.

Bandung, September 2006

Penulis

Widiya Lestari

113020300
Ucapan Terima Kasih

Pada kesempatan ini penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah
memberikan perhatian, pengertian, masukan, bantuan, dukungan serta do’a selama menyelesaikan tugas
akhir ini. Oleh karena itu penulis ingin mengucapkan terima kasih yang sebesarnya kepada :

1. Kedua orang tua, Ibunda Yettrimar dan Ayahanda Syamsul Bahri, yang telah mendidik,
membesarkan, dan selalu memberikan kasih sayang, mengingatkan, menasehati, dan memberikan
do’a yang tiada hentinya. Nenek dan Adik-adik ku Agus dan Yuli (Ayo.... berjuang masa depan
menanti kita...!!! ).
2. Bapak Suyanto, ST, Msc selaku Dosen Pembimbing I dan Bapak Adiwijaya, Ssi, Msi selaku
Dosen Pembimbing II yang memberikan waktu, pengarahan, dukungan, nasihat serta pikirannya
kepada penulis dalam penyelesaian Tugas Akhir ini. Terima kasih atas bimbingannya selama ini.
3. Keluarga besar urang rumah Sawah Dahulu, Surau Darek, dan Tabek Barawak, Niniak Mamak,
Adiak, Ansanak, Pak Etek, Mak Etek, Mak Adang, Pak Adang, di Bandung, Jakarta, Bukittinggi
dan Bali.
4. Sahabatku, Ummy (makasi yaa... hannih , atas pengertian, perhatian, cinta, kasih, pokoe segala
sesuatunya selama ini. Love you...), Ayu (Thanks ya Yu... Udah mau ngedengirin gw selama ini.
Jgn lupa kasi kabar, ntar gw pasti jenguk loe di Bali), Adhe (Karena kamu, aq tau arti cinta dan
persahabatan sesungguhnya, thanks yaa...), Andi (Makasi ya Ndi atas cerita, sharing, curhat,
pemahaman dan pandangan baru mengenai segala sesuatu hal..). Semoga kita sukses selalu.... 
5. Sahabat baruku yang bersua karena sesuatu hal yang tak terduga, Abang Fajri (Bang, makasi
yaa.... karna pengertian dan selama ini udah dengan sabar mendengar keluh kesah, ceweret, dan
bawelnya wid. Maaf klo mengecewakan.. Thanks for everything.... ), Uda Yoppie (Da, makasi
yaa perhatian, nasehat, pujian, cacian, makian, traktiran, pokoe semuanya. Maaf klo selama ini
sering kena sensinya wid. Hehehe... ), Deni Ferdian (Jeng, semangat yaa... Ntar klo udah selese
semuanya qta jalan lagi..), Daru (Kapan-kapan kita share lagi yaa... Inget lho tanggal 07072007.),
Koko Vender (Koko, tong ulin wae atuh....). Bambang (Makasi dukungannya. Ayo
semangat....!!!!). Semoga Allah SWT meridhoi kita semua.
6. Genk Medan IF2604 dan kawan-kawan semasa Geladi. Abang Winstem (makasi atas pelatihan
akting dan pura-puranya selama ini. Hehe.... ), Abang Syofyan, Abang Ronny Ganteng, Abang
Timbul Nan Tampan. Kapan-kapan kita liburan lagi di Bali yaa... Jangan lupa bawa kartu, maen
Chapsa qta... Makasi udah mewarnai hari-hari ku, tanpa kalian hampa rasanya kehidupan ku di
kampus putih biru ini.
7. Temen-temen seperjuangan di IF2604, Shinta (cepet-cepet ya Ta... Jgn lupa kasi kabar.. klo udah
ga j**b*o), Yuli (thanks buat latihan presentasinya), Putri (Maen chapsa qta....!!!), Rissa
(semangat yaa... Insya Allah bisa), Finny (Ayo semangat.... AP Nothing.....), Ryeo, Fajar, Ryan,
all pesonel Genk Java, dan semuanya yang tidak dapat disebutkan satu per satu. Makasi atas
tutorial, petualangan, kenangan, dukungan, kepercayaan, banyak hikmah dan pelajaran yang
selama ini dapat aq petik. Semoga sukses semua, jangan lupa undangannya ya...
8. Assisten Kerja-Lab RPL dan Assiten APSI, Fajri (Maaf.. ya Das RPL yang sering dikerjain),
Goeroeh_aan ( Makasi yaa... Kordas APSI), Ayu, Adhe, Dewi, Aris, Rustam, Imam, Fibie, Erda.
Terima kasih atas dukungan, perhatian dan pengertian dan juga kerja samanya selama ini.
Pengalaman yang tidak akan terlupakan. Semoga Sukses semua....!!!
9. Penghuni Lab RPL&MM, Zeftin, Riyandi, Singgih, Zulhendra, Ipunk, Leo, Pipit, Desty, dan
semua yang menghuni labz. Terima kasih atas dukungan dan semangatnya. Maaf klo selama ini
ada yang tidak berkenan di hati. Selamat berjuang... Masa kalian sebentar lagi akan tiba...
10. Kepada semua pihak yang tidak dapat disebutkan satu per satu yang telah membantu dalam
proses penyelesaian tugas akhir ini terima kasih penulis ucapkan dengan setulus hati, pikiran dan
jiwa.

Bandung, September 2006

Penulis

Widiya Lestari

13020300
DAFTAR ISI

ABSTRAK.......................................................................................................................................................i
ABSTRACT....................................................................................................................................................ii
KATA PENGANTAR......................................................................................................................................iii
Ucapan Terima Kasih..................................................................................................................................iv
DAFTAR ISI..................................................................................................................................................vi
DAFTAR GAMBAR......................................................................................................................................viii
DAFTAR TABEL............................................................................................................................................ix
BAB I............................................................................................................................................................1
Pendahuluan...............................................................................................................................................1
1.1. Latar Belakang.............................................................................................................................1
1.2. Perumusan Masalah.....................................................................................................................1
1.3 Tujuan Pembahasan.....................................................................................................................2
1.4 Batasan Masalah..........................................................................................................................2
1.5 Metodologi Penyelesaian Masalah...............................................................................................2
1.6 Sistematika Penulisan..................................................................................................................3
BAB II...........................................................................................................................................................4
DASAR TEORI...............................................................................................................................................4
2.1 Algoritma Genetika......................................................................................................................4
2.1.1 Komponen-komponen Algoritma Genetika.....................................................................5
2.2 Pengertian Logika Fuzzy.............................................................................................................8
BAB III........................................................................................................................................................10
ANALISIS DAN PERANCANGAN..................................................................................................................10
3.1 Deskripsi Sistem.........................................................................................................................10
3.2 Desain Pelatihan Algoritma Genetika........................................................................................10
3.2.1 Inisialisasi Populasi.............................................................................................................11
3.2.2 Dekodekan Kromosom.......................................................................................................12
3.2.3 Evaluasi populasi................................................................................................................13
3.2.4 Elitisme..............................................................................................................................15
3.2.5 Seleksi................................................................................................................................15
3.2.6 Pindah silang......................................................................................................................15
3.2.7 Mutasi................................................................................................................................16
3.2.8 Penggantian Populasi.........................................................................................................16
3.2.9 Kondisi berhenti.................................................................................................................16
3.3 Perancangan Perangkat Lunak...................................................................................................16
3.3.1 Data Flow Diagram (DFD)...................................................................................................16
3.3.2 Spesifikasi Proses...............................................................................................................18
BAB IV........................................................................................................................................................19
DAFTAR PUSTAKA.......................................................................................................................................vi
LAMPIRAN..................................................................................................................................................vii
RULE EVALUASI FUZZY...............................................................................................................................vii
DAFTAR GAMBAR
Gambar 2 1Operasi Pindah Silang...............................................................................................................6
Gambar 2. 2 Pindah Silang Satu Titik...........................................................................................................6
Gambar 2. 3 Pindah Silang Banyak Titik.......................................................................................................7
Gambar 2. 4 Pindah Silang Pola Seragam....................................................................................................7
Y

Gambar 3. 1 Contoh kurva nilai.................................................................................................................13


Gambar 3. 2 Diagram Konteks...................................................................................................................17
Gambar 3. 3 Data Flow Diagram Level 1....................................................................................................17
DAFTAR TABEL
YTabel 2. 1 Daftar tipe parameter Kromosom...............................................................................................

Tabel 3. 1 Spesifikasi Proses 1...................................................................................................................18


BAB I

PENDAHULUAN

1.1. Latar Belakang


Dalam hal menentukan seorang mahasiswa berhak mendapatkan beasiswa atau tidak, merupakan
hal yang vital bagi Badan Kemahasiswaan dan Alumni (BKA) STT Telkom, karena banyak faktor yang
harus dipertimbangkan. Adapun pertimbangan dalam menentukan seseorang mendapatkan beasiswa
antara lain, berdasarkan besar penghasilan orang tua, nilai ( Surat Tanda Lulus ), dan beban orang tua.

Untuk menentukan nominasi mahasiswa yang berhak menerima beasiswa, saat ini digunakan
perhitungan dengan bantuan MS. Excel. Dengan cara ini hasil yang didapatkan kurang memuaskan
karena dalam perhitungan masih digunakan Logika Benar dan Salah (1 dan 0) dari Logika Boolean,
dimana adanya perubahan kecil saja pada suatu nilai mengakibatkan perbedaan kategori yang signifikan.
Dan dalam pengerjaan membutuhkan waktu yang relative lama.

Mempertimbangkan kondisi yang berlaku, maka penyusun akan menganalisa dan


mengimplementasikan Algoritma Genetika dan Logika Fuzzy untuk menentukan nominasi mahasiswa
yang berhak menerima beasiswa. Logika Fuzzy mempunyai nilai yang kontinu. Himpunan Fuzzy
dinyatakan dalam derajat dari suatu keanggotaan. Seberapa besar eksistensinya dalam himpunan, dapat
dilihat pada nilai keanggotaannya. Untuk menentukan fungsi keanggotaan (membership function) yang
akan digunakan pada Logika Fuzzy secara tepat tidaklah hal yang mudah. Jika menggunakan metode
random (Brute Force) maka akan membutuhkan waktu yang sangat lama karena terdapat tak terhingga
solusi. Untuk itu digunakan Algoritma Genetika, dimana Algoritma Genetika merupakan pencarian secara
random namun mengarah kepada solusi yang paling optimum.

1.2. Perumusan Masalah


Berdasarkan latar belakang permasalahan, maka masalah yang akan dirumuskan adalah
bagaimana mengimplementasikan Algoritma Genetika untuk menentukan fungsi keanggotaan fuzzy yang
tepat, dan Logika Fuzzy untuk menentukan mahasiswa yang berhak menerima beasiswa berdasarkan
kriteria yang diberikan, yaitu besar penghasilan orang tua, nilai kelulusan (STL), beban orang tua.
1.3 Tujuan Pembahasan

Tujuan dari penelitian tugas akhir ini adalah menganalisa Algoritma Genetika untuk menentukan
fungsi keanggotaan fuzzy dalam penggunaan Logika Fuzzy untuk membangun suatu sistem, dan
mengimplementasikan untuk menentukan mahasiswa yang berhak mendapatkan beasiswa.

1.4 Batasan Masalah

a. Dasar pertimbangan untuk menentukan mahasiswa yang berhak mendapatkan beasiswa antara
lain : besar penghasilan orang tua, nilai (STL / NEM), beban orang tua. Ketiga komposisi ini
yang akan menjadi masukan dalam proses perhitungan fuzzy.

b. Skema untuk pengkodean kromosom pada Algoritma Genetika menggunakan binary encoding.
Satu kromosom terdiri dari gen : kurva, range, gaji, nilai dan perbandingan gaji dengan beban
orang tua.

c. Fungsi keanggotaan fuzzy yang akan dianalisa adalah kurva segitiga, kurva sigmoid, kurva
bentuk lonceng yaitu : kurva Phi dan kurva beta.

d. Penalaran fuzzy (Fuzzy Inference System) yang akan digunakan adalah Metode Mamdani,
dengan metode defuzzyfikasi yang digunakan adalah Metode Center of Area (COA).

1.5 Metodologi Penyelesaian Masalah


Metode yang akan digunakan untuk menyelesaikan tugas akhir ini adalah :

1. Studi Literatur dengan mempelajari literatur-literatur yang relevan dengan permasalahan yang
meliputi : melakukan studi pustaka dan referensi mengenai, Algoritma Genetika, Roulette Wheel,
Crossover, Mutasi, Logika Fuzzy, Center of Area..

2. Analisis dan Perancangan Perangkat Lunak dengan menggunakan konsep Analisis dan Desain
yang Terstruktur, dan dimodelkan menggunakan diagram konteks.

3. Implementasi secara coding berdasarkan analisis dan desain yang telah dibuat.

Hasil perancangan akan diimplementasikan kedalam program.

4. Uji Coba terhadap sistem


Melakukan pengujian dari sistem yang telah dibangun pada tahap implementasi.

5. Penyusunan laporan tugas akhir dan kesimpulan akhir.

1.6 Sistematika Penulisan


BAB I PENDAHULUAN

Berisi latar belakang, perumusan masalah, batasan masalah, tujuan


pembahasan, metodologi penyelesaian masalah dan sistematika
penulisan.
BAB II LANDASAN TEORI

Pada bab ini membahas teori dasar pendukung implementasi, antara


lain mengenai algoritma genetika dan logika fuzzy.
BAB III ANALISIS DAN PERANCANGAN

Membahas tentang analisis dan perancangan awal sistem dengan


metode perancangan yang terstruktur.
BAB IV IMPLEMENTASI DAN EVALUASI

Bab ini membahas kebutuhan perangkat lunak yang digunakan untuk


merealisasikan sistem. Selain itu, pada bab ini akan dibahas pengujian
dan hasil uji coba sistem.
BAB V KESIMPULAN DAN SARAN

Berisi kesimpulan akhir dan saran pengembangan dari penelitian


tugas akhir.
BAB II

DASAR TEORI

2.1 Algoritma Genetika


Algoritma genetika (AG) yang pertama kali diperkenalkan oleh John Holland pada tahun 1962,
mengadopsi prinsip dari mekanisme seleksi alam dan ilmu genetika. Algoritma genetika merupakan suatu
algoritma pencarian solusi optimum pada ruang pencarian yang kompleks. Algoritma genetika bekerja
secara iteratif pada ruang pencarian yang tersusun dari semua kemungkinan solusi. Untaian solusi ini
dianalogikan sebagai sebuah kromosom. Masing-masing kromosom berisi sejumlah gen, yang
mengkodekan informasi yang disimpan[5].

Setiap kromosom memiliki sebuah nilai fungsi obyektif yang bersesuaian dengan parameter
masalah, yang disebut nilai fitness (fitness value). Sebuah kromosom dikatakan unggul jika memiliki nilai
fitness yang tinggi (untuk masalah maksimasi) atau nilai fitness yang rendah (untuk masalah minimasi).
Nilai fitness menunjukkan kromosom mana yang memiliki potensi terbaik untuk diturunkan pada generasi
berikutnya. Satu tahapan iterasi pada algoritma genetika disebut generasi, dan selama langkah ini struktur
dalam populasi saat itu akan dievaluasi untuk menentukan populasi pada generasi berikutnya. Algoritma
genetika yang sederhana minimal menggunakan tiga operator genetika, yaitu seleksi, pindah silang
(crossover), dan mutasi. Adapun pseducode langkah-langkah AG [5]:

Inisialisasi populasi awal, N kromosom

Evaluasi populasi

Ulangi sampai kondisi berhenti

Buat satu atau dua kopi kromosom terbaik (elitisme)

Ulangi sampai didapatkan N kromosom baru

Pilih dua kromosom

Pindah silang

Mutasi
Selesai
Pada algoritma genetika di atas digunakan skema penggantian populasi yang disebut
generational replacement, dimana N kromosom dari suatu generasi digantikan sekaligus oleh N
kromosom baru hasil pindah silang dan mutasi.

2.1.1 Komponen-komponen Algoritma Genetika

2.1.1.1 Representasi Kromosom


Untuk dapat menggunakan algoritma genetika terlebih dahulu harus dilakukan pengkodean
parameter dari masalah yang akan diselesaikan ke dalam bentuk representasi kromosom. Terdapat tiga
skema yang paling umum digunakan dalam pengkodean [5] :

 Real-number encoding. Pada skema ini, nilai gen berada dalam interval [0,R], di mana R adalah
bilangan real positif dan biasanya R=1.

 Discrete decimal encoding. Setiap gen bisa bernilai salah satu bilangan bulat dalam interval [0,9].

 Binary encoding. Setiap gen hanya bisa bernilai 0 atau 1.

2.1.1.2 Inisialisasi populasi awal


Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetika yang
akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi
kromosom yang terdapat pada populasi tersebut. Inisialisasi kromosom dilakukan secara acak, namun
demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada.

2.1.1.3 Nilai fitness


Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performansinya. Pada
masalah optimasi, jika solusi yang dicari adalah memaksimalkan sebuah fungsi h, maka nilai fitness yang
digunakan adalah nilai dari fungsi h tersebut, yakni f = h (dimana f adalah nilai fitness). Tetapi jika
masalahnya adalah meminimalkan fungsi h, maka fungsi h tidak bisa digunakan secara langsung. Hal ini
disebabkan adanya aturan bahwa individu yang memiliki nilai fitness tinggi lebih mampu bertahan hidup
pada generasi berikutnya. Oleh karena itu nilai fitness yang digunakan adalah f = 1/h, yang artinya
semakin kecil nilai h, maka semakin besar nilai f.
2.1.1.4 Seleksi orang tua
Pemilihan dua buah kromosom sebagai orang tua, yang akan dipindahsilangkan, biasanya
dilakukan secara proporsional sesuai dengan nilai fitnessnya. Suatu metode seleksi yang umum
digunakan roulette wheel. Kromosom yang memiliki nilai fitness lebih besar akan memiliki peluang lebih
besar untuk dipilih menjadi kromosom orang tua.

2.1.1.5 Pindah silang


Sebuah kromosom yang mengarah pada solusi yang bagus bisa diperoleh dari proses memindah-
silangkan dua buah kromosom. Pindah silang dapat berakibat buruk jika ukuran populasinya sangat kecil.
Untuk mengatasi masalah ini digunakan suatu aturan bahwa pindah silang hanya dapat dilakukan dengan
suatu probabilitas tertentu, yaitu pc. Pada umumnya, pc bernilai mendekati 1, yaitu sebesar 0.8.

Kromosom Orang Tua Kromosom Keturunan


(sebelum pindah silang) (setelah pindah silang)

Titik pindah silang

Gambar 2 Operasi Pindah Silang

Ada beberapa metode pindah silang berdasarkan pola pertukaran gen [6] :

1. one point crossover (pindah silang satu titik)


Pindah silang satu titik adalah metode pindah silang yang sangat sederhana, dimana titik pindah
silang hanya satu dengan posisi selalu acak.
Sebelum Pindah Silang Sesudah Pindah Silang

Kromosom 1 Kromosom baru 1

Kromosom 2 Kromosom baru 2


Gambar 2. Pindah Silang Satu Titik

2. Multi-point crossover (pindah silang banyak titik)


Titik pindah silang pada pada metode ini dimungkinkan lebih dari satu. Banyak titik pindah
silang ini akan mempengaruhi pola pertukaran bit-bit antar individu. Tujuannya adalah untuk
mempertahankan komposisi sebagian bit-bit tertentu dari individu secara acak.

Sebelum Pindah Silang Sesudah Pindah Silang

Kromosom 1 Kromosom baru 1

Kromosom 2 Kromosom baru 2

Gambar 2. Pindah Silang Banyak Titik

3. Uniform crossover (pindah silang pola seragam)


Dengan operasi pindah silang pola seragam maka komposisi bit-bit tertentu dari string dapat
dipertahankan. Biasanya terjadi jika komposisi bit-bit kedua induk sama, maka komposisi bit-bit
pada kedua anak sama dengan induknya. Hal ini akan menyederhanakan proses pencarian solusi.

Sebelum Pindah Silang Sesudah Pindah Silang

Induk 1 Anak 1

Induk 2 Anak 2

Mask 1

Mask 2
Gambar 2. Pindah Silang Pola Seragam

2.1.1.6 Mutasi
Prosedur mutasi sangatlah sederhana. Untuk semua gen yang ada, jika bilangan random yang
dibangkitkan kurang dari probabilitas mutasi yang ditentukan maka ubah gen tersebut menjadi nilai
kebalikannya (dalam binary encoding, 0 diubah 1, dan 1 diubah 0). Probabilitas mutasi mengendalikan
banyaknya gen baru yang akan dimunculkan untuk dievaluasi. Jika probabilitas mutasi terlalu kecil,
banyaknya gen yang mungkin berguna tidak pernah dievaluasi. Tetapi bila probabilitas mutasi terlalu
besar, maka akan terlalu banyak gangguan acak, sehingga anak akan kehilangan kemiripan dari induknya
dan juga algoritma akan kehilangan kemampuan untuk belajar dari histori pencarian. Biasanya
probabilitas mutasi diset sebagai 1/N, di mana N adalah jumlah gen dalam kromosom. Dengan
probabilitas mutasi sebesar ini berarti mutasi hanya terjadi pada sekitar satu gen saja. Pada AG sederhana,
nilai probabilitas mutasi adalah tetap selama evolusi.

2.1.1.7 Elitisme
Karena seleksi dilakukan secara random, maka tidak ada jaminan bahwa suatu individu bernilai
fitness tertinggi akan selalu terpilih. Kalaupun individu bernilai fitness tertinggi terpilih, mungkin saja
individu tersebut akan rusak (nilai fitness-nya menurun) karena proses pindah silang. Untuk menjaga agar
individu bernilai fitness tertinggi tidak hilang selama evolusi, maka perlu dibuat satu atau beberapa
kopinya. Prosedur ini dikenal sebagai elitisme.

2.1.1.8 Penggantian populasi


Dalam algoritma genetika dikenal skema penggantian populasi yang disebut generational
replacement, yang berarti semua individu (misal N individu dalam suatu populasi) dari suatu generasi
digantikan sekaligus oleh N individu baru hasil pindah silang dan mutasi.

2.1.1.9 Kondisi berhenti


Ada beberapa cara dalam menghentikan iterasi dalam AG, yaitu iterasi akan berhrnti jika sudah
mencapai nilai fitness tertentu, berdasarkan lamanya waktu dan berdasarkan banyaknya jumlah generasi.

2.2 Pengertian Logika Fuzzy


Teori himpunan logika fuzzy dikembangkan oleh Prof. Lofti Zadeh pada tahun 1965. Ia
berpendapat bahwa logika benar dan salah dari logika boolean tidak dapat mengatasi masalah gradasi
yang berada pada dunia nyata. Untuk mengatasi masalah gradasi yang tidak terhingga tersebut, Zadeh
mengembangkan sebuah himpunan fuzzy[2].

Tidak seperti logika boolean, logika fuzzy mempunyai nilai yang kontinu. Fuzzy dinyatakan
dalam derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh karena sebab itu sesuatu dapat
dikatakan sebagian benar dan sebagian salah pada waktu yang sama.

Terkadang kemiripan antara keanggotaan fuzzy dengan probabilitas menimbulkan kerancuan.


Keduanya memiliki nilai antara [0,1], namun interpretasi nilainya sangat berbeda. Keanggotaan fuzzy
memberikan suatu ukuran terhadap pendapat atau keputusan, sedangkan probabilitas mengindikasikan
proporsi terhadap keseringan suatu hasil bernilai benar dalam jangka panjang.

Ada beberapa alasan mengapa orang menggunakan logika fuzzy antara lain :

 Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran
fuzzy sangat sederhana dan mudah dimengerti.

 Dapat mengekspresikan konsep yang sulit untuk dirumuskan, seperti misalnya “suhu
ruangan yang nyaman”.

 Pemakaian membership-function memungkinkan fuzzy untuk melakukan observasi


obyektif terhadap nilai-nilai yang subyektif. Selanjutnya membership-function ini dapat
dikombinasikan untuk membuat pengungkapan konsep yang lebih jelas.

 Logika fuzzy dapat membangun dan mengaplikasikan pengalaman para pakar secara
langsung tanpa harus melalui proses pelatihan.
 Logika Fuzzy sangat fleksibel.
BAB III

ANALISIS DAN PERANCANGAN

3.1 Deskripsi Sistem


Sistem akan melakukan pencarian fungsi keanggotaan (membership function) fuzzy yang tepat,
yang akan digunakan untuk menentukan mahasiswa yang berhak menerima beasiswa. Pencarian fungsi
keanggotaan dilakukan menggunakan Algoritma Genetika (AG). Adapun variabel yang menjadi
pertimbangan dalam penalaran Logika Fuzzy adalah besarnya gaji orang tua, nilai kelulusan (STL), dan
beban tanggungan orang tua.

3.2 Desain Pelatihan Algoritma Genetika


Algoritma Genetika dapat menjadi algoritma pencarian yang efisien. Pencarian secara random
yang terarah membuat Algoritma Genetika sering mendapatkan solusi jauh lebih cepat dibandingkan
dengan algoritma pencarian lainnya. Adapun langkah-langkah dalam Algoritma Genetika:

Inisialisasi populasi awal, N kromosom

Ulangi sampai kondisi berhenti

Dekodekan Kromosom

Evaluasi populasi

Buat dua kopi kromosom terbaik (elitisme)

Ulangi sampai didapatkan N-2 kromosom baru

Pilih dua kromosom (seleksi)

Pindah silang

Mutasi

Selesai
3.2.1 Inisialisasi Populasi
Untuk dapat menggunakan Algoritma Genetika, terlebih dahulu harus dilakukan pengkodean
kromosom. Skema yang digunakan untuk menyelesaikan masalah penentuan beasiswa ini adalah dengan
binary encoding (0 atau 1). Dimana dengan menggunakan binary encoding proses perhitungan dan
pencarian kromosom akan memakan waktu yang lebih cepat. Sebelum dilakukan pengkodean, terlebih
dahulu ada proses (preprocessing), dimana preprocessing ini dilakukan karena adanya keterkaitan
besarnya gaji dan beban orang tua. Semakin banyak beban orang tua maka tanggungan akan semakin
berat, walaupun gaji orang tua besar. Adapun preprocessing yang dilakukan adalah melakukan
pembagian antara gaji orang tua dan banyaknya beban untuk mencari rata-rata tanggungan untuk tiap
orang.

Perbandingan gaji beban : besarnya gaji orang tua / beban orang tua.

Satu kromosom merepresentasikan kurva fuzzy yang digunakan, banyaknya himpunan fuzzy dan varibel
fuzzy (nilai dan perbandingan gaji beban). Dimana nantinya masalah diselesaikan dengan menggunakan
logika fuzzy.

Panjang kromosom yang akan dibuat adalah 166 bit. Adapun rincian bentuk kromosom adalah
sebagai berikut :

Tabel 2. Daftar tipe parameter Kromosom

No Nama Tipe Jangkauan Nilai Bit ke Jumlah Bit


1 Kurva_GjBb Integer [1, 4] 1 2

2 Wil_GjBb Integer [3, 4] 3 1

3 GjBb Integer [10000, 8000000] 4 80

4 Kurva_nilai Integer [1, 4] 84 2

5 Wil_nilai Integer [3, 4] 86 1

6 Nilai float [6.00, 10.00] 87 80

      Total Jumlah bit 166

Keterangan kromosom:
 Kurva (nilai dan GjBb) : merepresentasikan bentuk kurva dari variabel fuzzy yang akan
digunakan. Adapun bentuk kurva :
00 : kurva beta 11 : kurva phi

01 : kurva segitiga 10 : kurva sigmoid

 GjBb : merupakan perbandingan antara gaji dengan beban (pengeluran rata-rata untuk tiap
orang).

3.2.2 Dekodekan Kromosom


Setelah kromosom dibentuk dengan pengkodean binary, lalu tiap-tiap kromosom akan
didekodekan menjadi individu yang bernilai real dalam interval (jangkauan nilai) yang telah ditentukan.
Individu ini akan menggambarkan fungsi keanggotaan dari fuzzy, yaitu bentuk kurva, banyaknya wilayah
kurva akan dibagi(himpunan fuzzy), dan juga range untuk masing-masing variabel fuzzy.

Pemetaan string biner (bn-1bn-2...b0) ke dalam nilai parameter akan dilakukan sebagai berikut:

1. Potong string biner menurut panjang bit (n) yang dimiliki oleh setiap parameter.

2. Untuk setiap bit string parameter yang ada :

a) konversikan string biner (bn-1bn-2...b0) parameter dari basis 2 ke basis 10:


n

(
( b n−1 b n−2 . .. . b0 )2 = ∑ b i . 2
i: =0
−i
)
10
=x '

b) cari bilangan nyata x dengan rumus:


batasatas−batasbawah
x=batasbawah+ x ' .
n

(∑ )i : =1
2−i
1

derajat
keanggotaan

µ[x]

0 a b c d

Gambar 3. Contoh kurva nilai

3.2.3 Evaluasi populasi


Evaluasi akan dilakukan pada setiap kromosom untuk mendapatkan nilai fitness dengan cara
menghitung ketepatan data mahasiswa yang didapatkan dari hasil keluaran fuzzy, dibandingkan dengan
data training. Data yang dibandingkan sebanyak 542 data. Yang dimaksud tepat sama adalah jika hasil
ranking mahasiswa dengan perhitungan fuzzy sama urutannya dengan data training. Data training terdiri
dari 100 data ekstrim gaji, 300 data ekstrim nilai, 10 data ekstrim beban orang tua, 132 data mahasiswa
yang benar adanya (real).

Nilai fitness diperoleh dengan rumus sebagai berikut :

F = ( 2 * urutan_dataEkstrim ) + ( urutan_dataMahasiswa );

Adapun tahapan dari logika fuzzy :

 Fuzzifikasi : mengubah nilai crips dari data mahasiswa yang terdiri dari : besar gaji orang tua,
nilai kelulusan, perbandingan gaji beban menjadi nilai fuzzy.

 Rule evaluasi : melakukan penalaran terhadap nilai fuzzy hasil fuzzifikasi berdasarkan aturan
fuzzy yang telah dibuat. Adapun fungsi implikasi yang digunakan adalah fungsi minimum.
Proses penalaran menggunakan Metode Mamdani. Proses ini menghasilkan fuzzy output.
Terdapat 16 rule, dimana tiap-tiap variabel terbagi menjadi 4 wilayah. (rule yang digunakan
terdapat di lampiran.)

 Defuzzifikasi : mengubah fuzzy output menjadi nilai crips dari variabel kelayakan menerima
beasiswa. Metode yang akan digunakan adalah Metode Centar of Area(COA), dimana akan
diambil titik pusat daerah. Dengan rumus:
∫ zμ ( z )dz
z
z∗¿
∫ μ ( z )dz
z

Maka akan dicari titik pusat dengan langkah :

 mencari nilai masing-masing dari a

a1 := 30 – ( µ[1] * 20 );

a2 := 30 – ( µ[2] * 20 );

a3 := (µ[2] * 20) + 30;

a4 := (µ[3] * 20) + 30;

a5 := 70 - ( µ[3] * 20);

a6 := 70 - (µ[4] * 20);

a7 :=( µ[4] * 20) + 70;

a8 :=( µ[5] * 20) + 70;

 menghitung momen dari tiap daerah


a1 a2 a3
z−a1
∫ μ[1] zdz a∫ zdz ∫ μ[ 2] zdz
M1 := 0 M2 := a 1 a 2 M3 := a2

a4 a5 a6
z−a 3 z−a 5
a∫ zdz ∫ μ[ 3] zdz a∫ zdz
M4 := a 3 a 4 M5 := a4 M6 := a5 a6

a7 a8 100
z−a 7
∫ μ[ 4 ]zdz a∫
a8
zdz ∫ μ[ 5] zdz
M7 := a6 M8 := a 7 M9 := a8

 menghitung luas daerah

L1 := µ[1] * a1;

L2 := (µ[1] + µ[2] ) * ( a2 - a1 ) / 2;

L3 := ( a3 - a2 ) * µ[2];

L4 := (µ[2] + µ[3] ) * ( a4 – a 3) / 2;
L5 := ( a5 - a4 ) * µ[3];

L6 := ( µ[3] + µ[4] ) * ( a6 - a5 ) / 2;

L7 := ( a7 - a6 ) * µ[4];

L8 := ( µ[4] + µ[5] ) * ( a8 - a7 ) / 2;

L9 := ( 100 - a8 ) * µ[5];

 mencari titik pusat wilayah ( z∗¿ ¿ )


7
∑ Mi
z∗¿ i:=1
7
∑ Ai
i :1

3.2.4 Elitisme
Elitisme melakukan kopi dua buah kromosom yang memiliki nilai fitness tertinggi. Untuk masuk
ke dalam populasi yang baru, generasi berikutnya.

3.2.5 Seleksi
Dikarenakan kromosom memiliki nilai fitness yang hampir sama, dimana hal ini akan berakibat
buruk pada proses seleksi memilih orang tua secara proporsional sesuai nilai fitness-nya. Maka dilakukan
penskalaan nilai fitness (linear fitness ranking). Dengan persamaan

f(i)=fmax – (fmax - fmin)((R(i)-1)/(N-1))

dimana R(i) menyatakan ranking individu ke i, N jumlah kromosom, nilai fmax = 100, dan fmin=10.

Pemilihan dua buah kromosom sebagai orang tua, yang akan dipindahsilangkan dilakukan
dengan metode roulette wheel. Pertama, dibuat interval nilai kumulatif (dalam interval [0,1]) dari nilai
fitness masing-masing kromosom dibagi total nilai fitness dari semua kromosom. Sebuah kromosom akan
terpilih jika bilangan random yang dibangkitkan berada dalam interval akumulatifnya.

3.2.6 Pindah silang


Metode pindah silang yang digunakan adalah pindah silang satu titik, dimana posisi titik pindah
silang selalu acak(random), dan berada di rentang antara [2, 165]. Pindah silang dapat dilakukan jika,
bilangan random [0,1] yang dibangkitkan kurang dari probabilitas pindah silang. Probabilitas pindah
silang yang digunakan biasanya terletak diantara [0,1] dan mendekati satu. Probabilitas pindah silang
yang digunakan yaitu sebesar 0.8. Dari operasi pindah silang akan didapatkan dua kromosom baru.

3.2.7 Mutasi
Untuk semua gen yang ada, jika bilangan random [0,1] yang dibangkitkan kurang dari
probabilitas mutasi yang ditentukan, maka ubah gen tersebut menjadi nilai kebalikannya (0 diubah 1, dan
1 diubah 0). Probabilitas mutasi yang digunakan sebesar 1/N, 2/N, 3/N dan 4/N (N = jumlah gen dalam
kromosom) dimana nantinya akan dianalisa probabilitas mana yang lebih baik.

3.2.8 Penggantian Populasi


Metode penggantian populasi yang digunakan adalah general replacement, dimana N kromosom
dari suatu generasi digantikan sekaligus oleh N kromosom baru hasil pindah silang dan mutasi.

3.2.9 Kondisi berhenti


Algoritma Genetika pada sistem ini akan berhenti nilai fitness sudah mencapai lebih dari 95%,
iterasi akan berhenti sesuai jumlah generasi yang diinputkan USER, dan selanjutnya meminta persetujuan
USER untuk melanjutkan ke generasi berikutnya.

3.3 Perancangan Perangkat Lunak


Perancangan perangkat lunak menggunakan metode terstruktur yang dimodelkan dengan Data
Flow Diagram (diagram aliran data)

3.3.1 Data Flow Diagram (DFD)


Perancangan sistem menggunakan Data Flow Diagram (DFD) atau diagram aliran data diawali
dengan diagram konteks. Penjelasan lebih rinci dari sistem dilakukan dengan menyusun level-level
berikutnya dari diagram aliran data.

3.3.1.1 Diagram Konteks

Perancangan dimulai dengan pembuatan diagram konteks yang merupakan penggambaran suatu
sistem secara global.

Penggambaran tersebut meliputi:

1. Keseluruhan sistem yang dimodelkan sebagai suatu proses

2. Entitas-entitas luar yang berinteraksi dengan sistem


3. Aliran data yang terjadi diantara sistem dengan entitas-entitas luar
UkPop
Pc, Pm,
data_mhs,
Byk_generasi

Sistem Beasiswa
User
AG - Fuzzy

KromTerbaik,
Ranking_mhs

Gambar 3. Diagram Konteks

3.3.1.2 DFD Level 1


DFD Level 1 menggambarkan inputan yang dimasukkan oleh pemakai, yang selanjutnya
masukan tersebut akan digunakan untuk proses-proses selanjutnya.Terdapat 3 proses, yaitu proses
inisialisasi populasi awal, cari kromosom terbaik dan cari nominasi beasiswa.

PopulasiAwal

1
Inisialisasi
KromAwal Populasi
Populasi
UkPop Awal
KromAwal

2
Cari
User Pc, Pm, byk_generasi KromTerbaik User
Kromosom
Terbaik

KromTerbaik
Data_mhs 3
Cari Nominasi KromTerbaik Kromosom
Beasiswa

RankingMhs

Gambar 3. Data Flow Diagram Level 1


3.3.2 Spesifikasi Proses
Dalam spesifikasi proses ini, akan dijelaskan lebih rinci logika dari proses-proses yang
dimodelkan dalam DFD yang telah digambarkan diatas.

Tabel 3. Spesifikasi Proses 1

No. Proses 1
Nama Proses Inisialisasi Populasi Awal
Deskripsi Melakukan inisialisasi populasi awal, dengan membentuk sejumlah (UkPop)
kromosom yang berbentuk biner.

Input UkPop
Output KromAwal
Logika proses BEGIN

FOR Ukpop DO

KromAwal := MakeKromosom(190)

Simpan KromAwal pada tabel Kromosom

END
BAB IV
PENUTUP

KESIMPULAN

Metode pindah silang yang digunakan adalah pindah silang satu titik, dimana posisi titik pindah
silang selalu acak(random), dan berada di rentang antara [2, 165]. Pindah silang dapat dilakukan jika,
bilangan random [0,1] yang dibangkitkan kurang dari probabilitas pindah silang. Probabilitas pindah
silang yang digunakan biasanya terletak diantara [0,1] dan mendekati satu. Probabilitas pindah silang
yang digunakan yaitu sebesar 0.8. Dari operasi pindah silang akan didapatkan dua kromosom baru.

SARAN

Perancangan dimulai dengan pembuatan diagram konteks yang merupakan penggambaran suatu
sistem secara global.

Penggambaran tersebut meliputi:

1 Keseluruhan sistem yang dimodelkan sebagai suatu proses

2 Entitas-entitas luar yang berinteraksi dengan sistem

3 Aliran data yang terjadi diantara sistem dengan entitas-entitas luar


DAFTAR PUSTAKA

[1] Klir J, George and Yuan, Bo, “Fuzzy Sets and Fuzzy Logic : Theory and Applications”, Prentice
Hall, 1995.

[2] Kusumadewi, Sri dan Purnomo, Hari, “Aplikasi Logika Fuzzy Untuk Pendukung Keputusan”,
Graha Ilmu, Yogyakarta, 2004.

[3] Nurjanah, Dade, Slide mata kuliah Artificial Intelligent “Fuzzy Logic”, Bandung; STTTelkom,
2005.

[4] Pranata, Antony, “Pemrograman Borland Delphi”, Andi, Yogyakarta, 2000.

[5] Suyanto, “Algoritma Genetika dalam Matlab”, Andi, Yogyakarta, 2005.


LAMPIRAN

RULE EVALUASI FUZZY

Rule Evaluasi Logika Fuzzy

if (Gaji-Beban Kecil) and (Nilai Tinggi)then

Kelayakan Sangat Layak;

if (Gaji-Beban Cukup) and (Nilai Tinggi)then

Kelayakan Layak;

if (Gaji-Beban Kecil) and (Nilai Cukup) then

Kelayakan Layak;

if (Gaji-Beban Cukup) and (Nilai Cukup) then

Kelayakan Layak;

if (Gaji-Beban Kecil) and (Nilai Rendah)then

Kelayakan Cukup Layak;

if (Gaji-Beban Cukup) and (Nilai Rendah)then

Kelayakan Cukup Layak;

if (Gaji-Beban Kecil) and (Nilai Sangat Rendah) then

Kelayakan Cukup Layak;

if (Gaji-Beban Cukup) and (Nilai Sangat Rendah)then

Kelayakan Cukup Layak;

if (Gaji-Beban Besar) and (Nilai Tinggi)then

Kelayakan Kurang Layak;

if (Gaji-Beban Sangat Besar) and (Nilai Tinggi) then

Kelayakan Kurang Layak;


if (Gaji-Beban Besar) and (Nilai Cukup)then

Kelayakan Kurang Layak;

if (Gaji-Beban Sangat Besar) and (Nilai Cukup) then

Kelayakan Kurang Layak;

if (Gaji-Beban Besar) and (Nilai Rendah)then

Kelayakan Tidak Layak;

if (Gaji-Beban Sangat Besar) and (Nilai Rendah) then

Kelayakan Tidak Layak;

if (Gaji-Beban Besar) and (Nilai Sangat Rendah) then

Kelayakan Tidak Layak;

if (Gaji-Beban Sangat Besar) and (Nilai Sangat Rendah) then

Kelayakan Tidak Layak;

Anda mungkin juga menyukai