Implementasi Algoritma Genetika pada Mik (1)

Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2001)
Institut Teknologi Sepuluh Nopember, Surabaya, May 1, 2001

Implementasi Algoritma Genetika pada Mikrokontroler MCS51
Untuk Mencari Rute Terpendek
Thiang, Ronald Kurniawan, Hany Ferdinando
Jurusan Teknik Elektro, Universitas Kristen Petra
Jl. Siwalankerto 121 – 131 Surabaya
Telp: (031) 8439040, 8494830-31 ext. 1354, 1361 Fax: (031) 8436418
Email: thiang@petra.ac.id, hanyf@petra.ac.id
Abstrak
Dalam makalah ini akan dipaparkan tentang implementasi algoritma genetika dengan menggunakan
mikrokontroler MCS51. Aplikasi yang dipilih untuk percobaan adalah mencari rute terpendek yang
menghubungkan suatu tempat asal dan tujuan. Semua proses algoritma genetika seperti membangkitkan
populasi awal, evaluasi, seleksi, crossover dan mutasi, dilakukan oleh mikrokontroler MCS51. Jenis kromosom
yang digunakan dalam sistem ini adalah bit string. Metode seleksi yang digunakan adalah roulette wheel dan
elitsm. Sebuah program bantuan yang beroperasi di komputer, digunakan untuk membuat peta jalan, mendownload ke mikrokontroler MCS51 semua informasi yang dibutuhkan.
Pengujian telah dilakukan dengan simulasi pada program dan dengan menerapkan pada mikrokontroler
untuk menentukan rute terpendek dari suatu lokasi menuju ke lokasi lain. Dari hasil pengujian terlihat bahwa
implementasi algoritma genetika pada mikrokontroler dapat berjalan dengan baik dan mampu menentukan rute
terpendek yang dapat ditempuh dengan bervariasi model peta.

KATA KUNCI: algoritma genetika, mikrokontrolerMCS51

1. Pendahuluan
Saat ini perkembangan algoritma genetika
demikian pesat. Sebagian besar implementasi
algoritma genetika dilakukan pada komputer dengan
menggunakan bahasa pemrograman tingkat tinggi
seperti pascal, C++ dan lain-lain. Bagaimana bila
algoritma
genetika
diimlementasikan
pada
mikrokontroler?
Karena itu dalam makalah ini akan dipaparkan
penelitian atau percobaan yang telah dilakukan yaitu
implementasi algoritma genetika pada mikrokontoler.
Dalam hal ini dipilih mikrokontroler MCS51 karena
mikrokontroler ini sangat populer di Indonesia. Semua
proses algoritma genetika seperti crossover, mutasi,
membangkitkan generasi awal, seleksi dilakukan oleh

mikrokontroler.
Karena algoritma genetika bersifat stokastik atau
bekerja berdasarkan random, maka ini merupakan
tantangan tersendiri dalam mengimplementasikan
algoritma genetika pada mikrokontroler. Hal ini
disebabkan karena keterbatasan instruksi-instruksi
dalam bahasa pemrograman assembly untuk
mikrokontroler. Karena itu, sangat diharapkan,
penelitian atau percobaan ini dapat memberikan
kontribusi dalam perkembangan ilmu algoritma
genetika.

2. Algoritma Genetika
Algoritma genetika adalah suatu algoritma
pencarian yang bersifat stokastik, berbasis pada
mekanisme dari seleksi alam dan genetika. Algoritma
genetika sangat tepat digunakan untuk penyelesaian

masalah optimasi yang kompleks dan sukar
diselesaikan dengan menggunakan metode yang

konvensional.
Suatu algoritma genetika yang sederhana
umumnya terdiri dari tiga operator [1] yaitu operator
reproduksi, operator crossover dan operator mutasi.
Struktur umum dari suatu algoritma genetika dapat
didefinisikan dengan langkah-langkah sebagai berikut:
1. Membangkitkan populasi awal
Populasi awal ini dibangkitkan secara random
sehingga didapatkan solusi awal. Populasi itu
sendiri terdiri dari sejumlah kromosom yang
merepresentasikan solusi yang diinginkan.
2. Membentuk generasi baru
Dalam membentuk digunakan tiga operator yang
telah
disebut
di
atas
yaitu
operator
reproduksi/seleksi, crossover dan mutasi. Proses

ini dilakukan berulang-ulang sehingga didapatkan
jumlah kromosom yang cukup untuk membentuk
generasi baru dimana generasi baru ini merupakan
representasi dari solusi baru.
3. Evaluasi solusi
Proses ini akan mengevaluasi setiap populasi
dengan menghitung nilai fitness setiap kromosom
dan mengevaluasinya sampai terpenuhi kriteria
berhenti. Bila kriteria berhenti belum terpenuhi
maka akan dibentuk lagi generasi baru dengan
mengulangi langkah 2. Beberapa kriteria berhenti
yang sering digunakan antara lain:
• Berhenti pada generasi tertentu.
• Berhenti setelah dalam beberapa generasi
berturut-turut didapatkan nilai fitness tertinggi
tidak berubah.

Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2001)
Institut Teknologi Sepuluh Nopember, Surabaya, May 1, 2001



Berhenti bila dalam n generasi berikut tidak
didapatkan nilai fitness yang lebih tinggi.
Sebelum algoritma genetika dilakukan, ada dua hal
penting yang harus dilakukan yaitu pendefinisian
kromosom dan fungsi fitness atau fungsi obyektif.
Dua hal ini juga memegang peranan penting dalam
algoritma genetika untuk menyelesaikan suatu
masalah.
3.

antara lain informasi peta jalan beserta jaraknya, titik
asal dan titik tujuan. Gambar 1 menunjukkan contoh
peta jalan yang telah didisain.

Implementasi pada Mikrokontroler
Gambar 1. Contoh peta jalan yang diimplementasikan

Dalam penelitian
ini, algoritma

genetika
diimplementasikan pada mikrokontroler 89C51 yang
merupakan salah satu keluarga mikrokontroler
MCS51.
Beberapa prosedur standar telah dikembangkan
untuk menunjang implementasi algoritma genetika
pada
mikrokontoler khususnya
mikrokontroler
MCS51. Prosedur tersebut adalah:
• Prosedur Random_8 dan Random_16
Prosedur ini disediakan untuk membangkitkan
bilangan random. Jenis bilangan random yang
dihasilkan adalah pseudo random. Prosedur
random_8 berfungsi untuk membangkitkan
bilangan random 8 bit dan prosedur random_16
untuk membangkitkan bilangan random 16 bit.
• Prosedur Create_1st_Generation
Prosedur ini disediakan untuk membangkitkan
populasi awal.

• Prosedur Crossover
Prosedur ini disediakan melakukan proses
crossover dari dua kromosom dan menghasilkan
dua kromosom baru. Jenis crossover yang
digunakan adalah one-cut point crossover.
• Prosedur Mutation
Prosedur ini disediakan untuk melakukan proses
mutasi. Jenis mutasi yang digunakan adalah mutasi
bit.
• Prosedur Roulette_ Wheel_Selection
Prosedur ini disediakan untuk melakukan proses
seleksi dengan menggunakan metode roulette
wheel.
• Prosedur Elitsm_Selection
Prosedur ini disediakan untuk melakukan proses
seleksi dengan menggunakan metode elitsm
dimana satu kromosom terbaik akan terpilih.

Titik-titik pada peta menunjukkan lokasi-lokasi
yang ada. Setiap titik mempunyai cabang-cabang yang

menghubungkan titik tersebut dengan titik yang lain.
Jarak antar titik telah didefinisikan terdahulu. Dalam
sistem ini dibatasi setiap titik maksimum mempunyai
4 cabang. Setiap cabang dalam satu titik akan diberi
nomor. Sebagai contoh pada peta dalam gambar 1,
titik 1 mempunyai 2 cabang dan diberi nomor 0 dan 1.
Cabang 0 menghubungkan titik 1 dengan titik 2
sedangkan cabang 1 menghubungkan titik 1 dengan
titik 6.

4.1. Representasi Kromosom
Jenis kromosom yang digunakan adalah binary bit
string dengan jumlah bit bergantung pada:
• Jumlah titik.
• Jumlah percabangan terbanyak untuk satu titik.
Panjang kromosom (dalam bit) dapat dihitung dengan
menggunakan persamaan berikut:
P = C x ( T-1 )

(1)


Dimana C adalah jumlah bit binary dari jumlah
percabangan terbanyak dan T adalah jumlah titik. Pada
gambar 1 ada 8 titik dan jumlah percabangan
terbanyak adalah 4 cabang (membutuhkan 2 bit
binary) maka dengan menggunakan persamaan 1
didapatkan panjang kromosomnya 14 bit.
Setiap kromosom mengandung informasi rute dari
satu titik ke titik yang lain. Bit-bit dalam kromosom
menunjukkan nomor cabang pada titik-titik yang ada.
Bila nomor cabang tidak ada maka dilakukan
perulangan. Untuk lebih jelas lihat contoh berikut
yang menggunakan peta seperti pada gambar 1.

Beberapa spesifikasi yang perlu diperhatikan adalah
jumlah kromosom per populasi maksimum 5
kromosom, jenis kromosom adalah binary bit string
dan panjang maksimumnya 16 bit

Start awal

Kromosom
Rute

4. Aplikasi Mencari Rute Terpendek

4.2. Fungsi Fitness

Untuk mencoba dan menguji sistem maka diambil
aplikasi sederhana yaitu mencari rute terpendek dari
suatu lokasi ke lokasi lain. Dalam aplikasi ini didisain
juga suatu program yang berjalan di PC dengan tujuan
untuk membuat peta jalan dan mendownload ke
mikrokontroler semua informasi yang dibutuhkan

Dalam sistem ini, permasalahan optimasi adalah
mencari rute terpendek. Karena itu fungsi fitness yang
digunakan dapat didefinisikan sebagai jarak total dari
rute yang ada. Fungsi fitness tersebut dapat
direpresentasikan oleh persamaan berikut:


= titik 1
= 01 00 11 10 00 11 10
=1– 6– 7– 8– 4– 3– 2– 3

Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2001)
Institut Teknologi Sepuluh Nopember, Surabaya, May 1, 2001

F = ∑ Jarak antar titik

Tabel 1. Hasil Pengujian Rute Titik 1 ke Titik 16

(2)

Rute

4.3. Operator Algoritma Genetika
Dalam aplikasi ini metode seleksi yang digunakan
adalah roulette wheel dan elitsm. Dalam seleksi
roulette wheel, peluang terpilihnya suatu kromosom
sebanding dengan besar nilai fitness kromosom
tersebut. Karena permasalahan optimasi mencari rute
terpendek (minimum), maka pada seleksi roulette
wheel, nilai fitness masing-masing kromosom diubah
dengan menggunakan persamaan berikut:

Fn ' = Fmax + Fmin − Fn

(3)

Dalam aplikasi ini, jenis crossover yang digunakan
adalah one-cut point crossover sedangkan jenis mutasi
yang mutasi bit.

No.

Metode
Seleksi

Pc

Pm

Waktu
(detik)

Fitness
Terbaik

Pada
Generasi

1

E

0.9

2

E

0.8

0.01

22.5

254

128

0.05

18.95

254

38

3

E

4

E

0.6

0.1

18.29

254

12

0.4

0.2

20.33

254

5

70

RW

0.9

0.01

25.71

254

45

6

RW

0.8

0.05

27.63

254

94

7

RW

0.6

0.1

29.58

254

131

8

RW

0.4

0.2

24.54

254

17

9

Both

0.9

0.01

27.65

254

95

10

Both

0.8

0.05

23.41

254

7

11

Both

0.6

0.1

25.45

254

53

12

Both

0.4

0.2

34.72

254

247

Tabel 2. Hasil Pengujian Rute Titik 3 ke Titik 14

4.4. Evaluasi dan Kriteria Berhenti
Proses evaluasi dilakukan dengan menghitung nilai
fitness dari setiap kromosom dalam suatu generasi.
Bila ada kromosom yang tidak mempunyai informasi
titik tujuan maka kromosom ini dianggap mempunyai
nilai fitness terbesar dan dikatakan tidak valid.
Dalam aplikasi ini, proses algoritma genetika akan
berhenti bila dalam 500 generasi ke depan tidak ada
kromosom yang mempunyai nilai fitness yang lebih
baik.

4.5. Hasil Pengujian
Pengujian telah dilakukan dengan beberapa macam
peta, beberapa kombinasi metode seleksi dan juga
beberapa variasi nilai crossover rate dan mutation rate.
Berikut adalah beberapa hasil pengujian dengan peta
seperti pada gambar 2.

No.

Metode
Seleksi

Pc

Pm

Waktu
(detik)

Fitness
Terbaik

Pada
Generasi

1

E

0.9

0.01

22.56

298

132

2

E

0.8

0.05

19.64

298

40

3

E

0.6

0.1

17.69

298

10

4

E

0.4

0.2

17.99

298

9

5

RW

0.9

0.01

23.77

298

6

6

RW

0.8

0.05

23.3

298

2

7

RW

0.6

0.1

24.48

298

25

8

RW

0.4

0.2

25.89

298

48

9

Both

0.9

0.01

22.9

298

1

10

Both

0.8

0.05

22.94

298

3

11

Both

0.6

0.1

23.17

298

7

12

Both

0.4

0.2

25.7

298

62

Keterangan:
E : Elitsm
RW : Roulette Wheel
Both: Elitsm dan Roulette Wheel

Gambar 3. Grafik Fungsi Fitness (Elitsm)
Gambar 2. Peta Jalan yang Diujikan

Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2001)
Institut Teknologi Sepuluh Nopember, Surabaya, May 1, 2001
[4] Man,K.F, et al. “Genetic Algorithms For Control
And Signal Processing”. London: Springer,1997.
[5] Advanced Micro Device, “Microcontrollers
Handbook”, California : Advanced Micro Device,
1988.

Gambar 4. Grafik Fungsi Fitness (Roulette Whell)

Gambar 5. Grafik Fungsi Fitness (Roulette Whell)
Dari tabel 1 dan 2 terlihat bahwa crossover rate yang
terbaik antara 0,6 sampai 0,8 dan mutation rate terbaik
antara 0,05 sampai 0,1.
gambar 3, 4 dan 5
menunjukkan perjalanan fungsi fitness untuk masingmasing metode seleksi dan kombinasinya. Terlihat
bahwa dalam metode seleksi elitsm, fungsi fitness
terbaik generasi sekarang selalu lebih baik dari
generasi sebelumnya sedangkan metode seleksi
roulette wheel lebih bersifat random.

5. Kesimpulan
Dari percobaan yang telah dilakukan dapat diambil
kesimpulan bahwa implementasi algoritma genetika
pada mikrokontroler sudah dapat berjalan dengan baik
walaupun dengan beberapa batasan antara lain jumlah
kromosom per populasi, jenis kromosom binary bit
string. Pengembangan selanjutnya dapat dilakukan
dengan menambah memori sehingga batasan-batasan
tadi dapat diatasi.

6. Daftar Pustaka
[1] Davis, Lawrence. “Handbook Of Genetic
Algorithms”. New York: Van
Nostrand
Reinhold,1991.
[2] Gen, Mitsuo,and Cheng, Runwei. “Genetic
Algorithms And Engineering Design”. Edited by
Hamid R.Parsaei. United States Of America: John
Wiley and Sons,1997.
[3] Goldberg, David Edward. “Genetic Algorithms in
Search, Optimization, and Machine Learning”.
United States of America: Addison-Westley,1989.

Dokumen yang terkait

Analisis komparatif rasio finansial ditinjau dari aturan depkop dengan standar akuntansi Indonesia pada laporan keuanagn tahun 1999 pusat koperasi pegawai

15 355 84

Analisis korelasi antara lama penggunaan pil KB kombinasi dan tingkat keparahan gingivitas pada wanita pengguna PIL KB kombinasi di wilayah kerja Puskesmas Sumbersari Jember

11 241 64

FREKWENSI PESAN PEMELIHARAAN KESEHATAN DALAM IKLAN LAYANAN MASYARAKAT Analisis Isi pada Empat Versi ILM Televisi Tanggap Flu Burung Milik Komnas FBPI

10 189 3

SENSUALITAS DALAM FILM HOROR DI INDONESIA(Analisis Isi pada Film Tali Pocong Perawan karya Arie Azis)

33 290 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

Representasi Nasionalisme Melalui Karya Fotografi (Analisis Semiotik pada Buku "Ketika Indonesia Dipertanyakan")

53 338 50

PENERAPAN MEDIA LITERASI DI KALANGAN JURNALIS KAMPUS (Studi pada Jurnalis Unit Aktivitas Pers Kampus Mahasiswa (UKPM) Kavling 10, Koran Bestari, dan Unit Kegitan Pers Mahasiswa (UKPM) Civitas)

105 442 24

DAMPAK INVESTASI ASET TEKNOLOGI INFORMASI TERHADAP INOVASI DENGAN LINGKUNGAN INDUSTRI SEBAGAI VARIABEL PEMODERASI (Studi Empiris pada perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia (BEI) Tahun 2006-2012)

12 142 22

Diskriminasi Perempuan Muslim dalam Implementasi Civil Right Act 1964 di Amerika Serikat

3 55 15