menentukan urutan prioritas produk berdasarkan preferensi

advertisement
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pada awal diciptakan, komputer hanya difungsikan sebagai alat hitung saja. Namun
seiring dengan perkembangan zaman, maka peran komputer semakin mendominasi
kehidupan. Lebih dari itu, komputer diharapkan dapat digunakan untuk mengerjakan
segala sesuatu yang bisa dikerjakan oleh manusia baik dalam bidang pendidikan,
kesehatan, industri, dan kehidupan sehari-hari sehingga peran komputer dan manusia
akan saling melengkapi. Beberapa hal yang menjadi kekurangan manusia diharapkan
dapat digantikan oleh komputer. Begitu juga dengan komputer yang tak akan berguna
tanpa sentuhan manusia.
Dalam dunia komputer dan informatika adanya suatu ilmu dengan ide-ide untuk
dapat membuat komputer menjadi lebih cerdas, ilmu tersebut dinamakan kecerdasan
buatan (Artificial Intelligence). Pengertian dari Artificial Intelligence ini sendiri adalah
bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer)
dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia bahkan bisa
lebih baik daripada yang dilakukan manusia, dengan mengimplementasikannya dalam
sebuah program.
Dalam Artificial Intelligence adanya istilah soft computing yaitu inovasi baru dalam
membangun sistem cerdas dimana sistem ini memiliki keahlian seperti manusia pada
domain tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih baik jika
terjadi perubahan lingkungan. Untuk mengoperasikan soft computing perlu diketahui
metodologi-metodologinya dimana salah satunya adalah Evolutionary Computing
(optimasi) yang menggunakan Algoritma Genetika. Jadi dengan kata lain dapat
dikatakan bahwa Algoritma Genetika merupakan evolusi/perkembangan dunia
komputer dalam bidang kecerdasan buatan (Artificial Intelligence).
Universitas Sumatera Utara
Algoritma Genetika terinspirasi dari teori evolusi Darwin yang menyatakan bahwa
kelangsungan hidup suatu makhluk dipengaruhi aturan bahwa yang kuat adalah yang
menang. Algoritma Genetika merupakan algoritma pencarian hasil terbaik yang
berdasarkan atas perkawinan dan seleksi gen secara alami. Untuk lebih memahami
tentang Algoritma Genetika, terlebih dahulu harus memahami konsep genetika
(rekayasa genetika). Pengertian dari rekayasa genetika adalah penerapan genetika untuk
kepentingan manusia, kegiatannya melalui seleksi dalam populasi, penerapan mutasi
buatan dan perkawinan silang antara individu yang satu dengan yang lainnya untuk
menghasilkan individu baru.
Algoritma Genetika menggunakan istilah gen dalam menyimpan informasi, dimana
gen merupakan struktur paling sederhana pada Algoritma Genetika. Solusi optimal
direpresentasikan sebagai untaian gen yang disimpan dalam stukutur data yaitu
kromosom. Kromosom merupakan material yang membawa bahan terwariskan dari gen.
Proses pencarian solusi dilakukan dengan cara melakukan operasi terhadap kromosom
yaitu rekombinasi kromosom yang dilakukan dengan persilangan dan mutasi dengan
tujuan untuk memperoleh kromosom anak. Hal ini juga telah menjelaskan tentang
konsep genetika.
Algoritma Genetika pertama kali dikembagkan oleh John Holland dari Michigan
University pada tahun 1975 dengan tujuan untuk meneliti proses adaptasi dari sistem
alam serta mendesain perangkat lunak yang memiliki kecerdasan buatan dengan
mencontoh mekanisme sistem alam. Algoritma Genetika banyak digunakan untuk
proses optimasi. Salah satu masalah optimasi yang dapat diselesaikan dengan Algoritma
Genetika adalah Travelling Salesman Problem atau lebih dikenal dengan TSP.
Travelling Salesman Problem (TSP) adalah suatu kondisi dimana seorang salesman
keliling yang harus mengunjungi n kota dengan aturan bahwa ia harus mengunjungi
setiap kota hanya sebanyak satu kali, meminimalisasi total jarak perjalanannya dan pada
akhirnya ia harus kembali ke kota asalnya. Salah satu masalah yang berhubungan
dengan TSP adalah menentukan jalur yang terpendek dari rute beberapa kota. (sirkular :
kota tujuan sama dengan kota asal).
Problema Travelling Salesman Problem (TSP) berkembang terus secara nyata,
dengan pencarian hasilnya diselesaikan dengan menggunakan Algoritma Genetika. Dari
Universitas Sumatera Utara
latar belakang inilah penulis memilih judul “Implementasi Algoritma Genetika untuk
Travelling Salesman Problem ( TSP )”.
1.2 Perumusan Masalah
Permasalahan yang dibahas dalam tugas akhir ini adalah penerapan Algoritma
Genetika untuk menyelesaikan masalah Travelling Salesman Problem yaitu mencari
jalur terpendek dari beberapa kota dengan hasil yang akurat dan menghasilkan rute
terbaik yang optimal.
1.3 Batasan Masalah
Agar permasalahan tidak menyimpang dari masalah yang dibahas, maka dalam
pembahasan masalah terdapat batasan-batasan sebagai berikut :
1. Diasumsikan bahwa setiap kota yang terhubung selalu ada jalur yang
menghubungkan antara satu kota dengan kota yang lainnya.
2. Kasus yang diambil adalah kota di Provinsi Jawa Barat dengan jumlah titik yang
digunakan sebanyak 15 buah, dimana masing-masing titik mewakili kota yaitu
Bekasi, Karawang, Indramayu, Purwakarta, Subang, Bogor, Cirebon, Cianjur,
Sumedang, Sukabumi, Bandung, Kuningan, Garut, Tasikmalaya, Ciamis.
3. Jarak antar kota dihitung dengan bentuk euclidean
4. Parameter yang digunakan adalah ukuran populasi, peluang crossover, peluang
mutasi, maksimum generasi dan panjang kromosom (jumlah gen).
1.4 Tujuan Penelitian
Tujuan dari tugas akhir ini adalah mengimplementasikan Algoritma Genetika dalam
masalah Travelling Salesman Problem dimana dalam hal ini masalah yang behubungan
dengan TSP adalah mencari jalur terpendek dari beberapa jalur yang ada terhadap 15
Universitas Sumatera Utara
titik kota pada peta Jawa Barat yang diketahui koordinatnya dengan menggunakan
Matlab 6.1.
1.5 Tinjauan Pustaka
Dalam melakukan penelitian ini, penulis menggunakan beberapa pustaka sebagai
referensi pendukung teori. Beberapa sumber pustaka yang diperkenalkan akan
digunakan untuk membantu penulis menyelesaikan permasalahan dalam penelitian ini.
Sumber pustaka yang digunakan adalah :
Rachmayadi (2008) dalam jurnalnya yang berjudul Pencarian Solusi TSP
(Travelling Salesman Problem) Menggunakan Algoritma Genetika, menguraikan
mengenai struktur umum dari algoritma genetika adalah sebagai berikut :
1. Memilih populasi awal
2. Menghitung nilai fitness dari setiap individu
3. Repeat
3.1. Memilih indvidu-individu yang terbaik berdasarkan fungsi fitness untuk
dilakukan reproduksi.
3.2. Menghasilkan generasi baru melalui reproduksi disertai operasi genetik
berupa persilangan dan mutasi.
3.3. Menghitung nilai fitness generasi baru.
3.4. Mengganti individu-individu yang memiliki nilai fitness yang paling
rendah dengan generasi baru yang nilai fitnessnya lebih baik.
4. Until terminasi. (terminasi dilakukan jika ditemukan solusi optimal, tidak
ditemukan solusi yang lebih baik, atau waktu yang dialokasikan telah
digunakan sepenuhnya).
Dalam Algorima Genetika adanya istilah populasi, individu, gen, kromosom, allela,
locus, fitness, perkawinan silang, mutasi, generasi, seleksi, dan offspring (anak).
Menurut Hendarto (2007) pengertian Populasi adalah sejumlah solusi yang mungkin.
Populasi awal dibangun secara acak, sedangkan populasi berikutnya merupakan hasil
Universitas Sumatera Utara
evolusi kromosom-kromosom melalui iterasi yang disebut dengan generasi. Individu
adalah kumpulan gen dalam sistem Algoritma Genetika bisa dikatakan sama dengan
kromosom. Gen adalah substansi hereditas yang terletak di dalam kromosom. Generasi
adalah iterasi yang dilakukan untuk menentukan populasi berikutnya. Kromosom
adalah individu yang terdapat dalam satu populasi. Kromosom ini merupakan solusi
yang masih berbentuk simbol. Allela merupakan nilai yang berada dalam gen.
sedangkan Locus adalah letak suatu gen berada dalam suatu kromosom. Offsprings
adalah anak (generasi berikutnya) yang terbentuk dari gabungan 2 kromosom. Generasi
sekarang yang bertindak sebagai induk (parent) dengan menggunakan operator
penyilangan (crossover) maupun operator mutasi.
Suyanto (2005) dalam bukunya yang berjudul Algoritma Genetika dalam
MATLAB menjelaskan tentang fungsi fitness. Suatu individu dievaluasi berdasarkan
suatu fungsi tertentu sebagai ukuran performasinya. Di dalam evolusi alam, individu
yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai
fitness rendah akan mati.
Kusumadewi (2003) dalam bukunya yang berjudul Artificial Intelligence (Teknik
dan Aplikasinya) menjelaskan tentang perkawinan silang (crossover) yang dilakukan
atas 2 kromosom untuk menghasilkan kromosom anak (offspring). Kromosom anak
yang terbentuk akan mewarisi sebagian sifat kromosom induknya. Proses perkawinan
silang ini bertujuan untuk menambah keanekaragaman kromosom digenerasi berikutnya
berdasarkan kromosom dari generasi saat ini.
Kusumadewi dan Purnomo (2005) dalam bukunya yang berjudul Penyelesaian
Masalah Optimasi dengan Teknik-teknik Heuristik menjelaskan tentang mutasi
menciptakan individu baru dengan melakukan modifikasi satu atau lebih gen dalam
individu yang sama. Mutasi berfungsi untuk menggantikan gen yang hilang dari
populasi selama proses seleksi serta menyediakan gen yang tidak ada dalam populasi
awal. Mutasi dapat dilakukan dari semua gen yang ada dengan probabilitas mutasi
tertentu. Jika bilangan random yang dibangkitkan kurang dari probabilitas mutasi yang
ditentukan maka ubah gen tersebut menjadi nilai kebalikannya.
Penjelasan tentang seleksi akan menentukan individu-individu mana saja yang akan
dipilih untuk dilakukan rekombinasi dan bagaimana offspring terbentuk dari individu-
Universitas Sumatera Utara
individu terpilih tersebut. Langkah yang dilakukan adalah pencarian nilai fitness.
Masing-masing individu dalam suatu wadah seleksi akan menerima probabilitas
reproduksi yang tergantung pada nilai objektif dirinya sendiri terhadap nilai objektif
dari semua individu dalam wadah seleksi tersebut. Nilai fitness inilah yang nantinya
akan digunakan pada tahap-tahap berikutnya.
Menurut Fitrah, Zaky dan Fitrasani (2006), Persoalan pedagang keliling
(Travelling Salesman Problem/TSP) merupakan salah satu persoalan optimasi
kombinatorial, jika diberikan sejumlah kota (atau tempat) dan biaya perjalanan dari satu
kota ke kota lain. Deskripsi persoalannya adalah bagaimana menemukan rute perjalanan
paling murah dari suatu kota dan mengunjungi semua kota lainnya, masing masing kota
hanya dikunjungi satu kali, dan harus kembali ke kota asal keberangkatan. Kombinasi
dari semua rute perjalanan yang ada adalah faktorial dari jumlah kota. Biaya perjalanan
bisa berupa jarak, waktu, bahan bakar, kenyamanan, dan sebagainya.
Travelling Salesman Problem (TSP) dapat direpresentasikan dalam bentuk graph,
dengan memisalkan kota sebagai verteks dan jalur penghubung antar kota dengan edge.
Siang (2002) dalam bukunya yang berjudul Matematika Diskrit dan Aplikasinya dalam
ilmu komputer menyatakan tentang sirkuit hamilton. Suatu graph terhubung G disebut
sirkuit hamilton bila ada sirkuit yang mengunjungi setiap titiknya tepat 1 kali (kecuali
titik awal yang sama denga titik akhirnya). Pencarian sirkuit hamilton dapat
memecahkan problema kasus Travelling Salesman Problem.
1.6 Kontribusi Penelitian
Selain menambah pemahaman dan pengetahuan penulis mengenai Algoritma
Genetika dalam menyelesaikan Travelling Salesman Problem, dengan mengadakan
penulisan ini penulis juga dapat menjadikannya sebagai sarana untuk mengaplikasikan
materi-materi yang telah didapat dibangku kuliah. Penulis juga berharap dapat
menambah referensi dan wawasan bagi pembaca maupun programmer untuk
menggunakan Algoritma Genetika sebagai algoritma yang tepat untuk menyelesaikan
problema TSP.
Universitas Sumatera Utara
1.7 Metodologi Penelitian
Metode yang digunakan pada penelitian ini merupakan metode pengumpulan data
dan bersifat literatur pada teori-teori dari Algoritma Genetika dan Travelling Salesman
Problem sebagai studi kasusnya. Langkah pertama yang dilakukan yaitu menjelaskan
tentang Travelling Salesman Problem, Algoritma Genetika dan Sirkuit Hamilton.
Langkah selanjutnya adalah menjelaskan penggunaan dan pengembangan Algoritma
Genetika dalam menentukan jalur terpendek pada masalah Travelling Salesman
Problem dengan terlebih dahulu menentukan parameternya. Mengerjakannya secara
bertahap
dengan
Algoritma
Genetika
dimulai
dari
pengkodean
kromosom,
menginisialisasi populasinya, menentukan nilai fitness, melakukan proses seleksi,
crossover dan mutasi. Selanjutnya mengimplementasikannya dengan menggunakan
Matlab 6.1.
Universitas Sumatera Utara
Download