dengan Menggunakan Algoritma Genetika
Skripsi
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Disusun Oleh : Sukeksi Esti Pratiwi
NIM : 015314057
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
WEB-BASED DECISSION SUPPORT SYSTEM FOR
DETERMINING ALTERNATIVE TOUR TRIP
AROUND DIY PROVINCE
USING GENETIC ALGORITHM
A THESIS
Presented as Partial Fulfillment of Requirements to Obtain theSarjana TeknikDegree in Informatics Engineering
Disusun Oleh : Sukeksi Esti Pratiwi
015314057
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENET OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
PERNYATAAN
Dengan ini saya sebagai penulis tugas akhir menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali pemikiran, metode atau hasil penelitian orang lain yang diambil disebutkan dengan jelas sebagai acuan.
Yogyakarta, Agustus 2007
ABSTRAK
Melakukan perjalanan wisata, merupakan aktifitas yang menyenangkan. Tetapi terkadang orang sulit untuk menentukan tujuan obyek wisata. Karena itu dalam tugas akhir ini dibuat Sistem Pendukung Keputusan untuk menentukan rute perjalanan wisata.
Penyelesaian masalah rute perjalanan wisata ini akan diselesaikan dengan menggunakan algoritma Genetika. Untuk menyelesaikan masalah tersebut, maka batasan-batasan masalahnya harus jelas. Batasan-batasan itu meliputi waktu dari kunjungan obyek wisata, dan juga harga dari tiket masuk tiap obyek tersebut.
ABSTRACT
Take a tour trip is a fun activity. But sometimes peoples feel difficult to determine their destination, so this final assignment make a Decission Support System to determine tour trip route.
The problem will be solved by Genetic algorithm, so the problem’s boundaries must be clearly. The boundaries include a visit time, and cost of ticket from a tour’s object.
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa yang telah melimpahkan berkat-Nya sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini. Penulisan tugas akhir ini ditujukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Jurusan Teknik Informatika.
Terselesaikannya penulisan tugas akhir ini tidak lepas dari peran serta beberapa pihak, baik secara langsung maupun secara tidak langsung. Oleh karena itu, penulis ingin menyampaikan terima kasih kepada pihak-pihak yang telah ikut membantu dalam penulisan tugas akhir ini, baik dalam memberikan bimbingan, petunjuk, kerjasama, kritikan, maupun saran, antara lain kepada:
1. Bapak Drs.J.J. Siang, M.Sc., selaku Dosen Pembimbing I.
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma.
3. Ibu Ridowati Gunawan, S.Kom., M.T., Bapak St. Wisnu Wijaya, S.T., M.T., dan Bapak H.Agung Hernawan, S.T., selaku panitia penguji pada ujian pendadaran penulis.
4. Kedua orang tua penulis, yang memberikan semangat dan dorongan kepada
penulis untuk dapat menyelesaikan penulisan laporan tugas akhir ini.
6. Teman – teman Jurusan Teknik Informatika Angkatan 2001 (A dan B) dan rekan - rekan Teknik Informatika USD lainnya.
7. Ace, Vini, terima kasih atas bantuan dan dorongan semangatnya. Tria, Ida, Heni, Nita, teman-teman seperjuangan dalam menyelesaikan TA. Sigit, Oni, Narko, yang telah banyak sekali membantu dalam pengerjaan TA.
8. Kepada Mas Evin yang tersayang, yang selalu memberi semangat, doa, dan bantuan, serta perhatiannya selama ini.
9. Teman – teman kos, Deny, Wiwin, Mbak Pipit, Mbak Ika.
10. Dan seluruh pihak yang telah ikut ambil bagian dalam penyelesaian laporan tugas akhir ini yang tidak dapat penulis sebutkan satu - persatu.
Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada laporan ini. Saran dan kritik selalu penulis harapkan dari pembaca untuk perbaikan – perbaikan di masa yang akan datang.
Akhir kata penulis berharap tulisan ini bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan dan berbagai pihak pengguna pada umumnya.
Yogyakarta, Agustus 2007
DAFTAR ISI
HALAMAN JUDUL ……….. i
HALAMAN PERSETUJUAN ………... ii
HALAMAN PENGESAHAN ……… iii
HALAMAN PERNYATAAN ………... iv
ABSTRAKSI ………. v
ABSTRACT ……….. vi
KATA PENGANTAR ……… vii
DAFTAR ISI ……….. ix
DAFTAR TABEL ……….. xiii
DAFTAR GAMBAR ……….. xiv
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ……….. 1
1.2 Rumusan Masalah ……… 2
1.3 Batasan Masalah ……….. 2
1.4 Tujuan dan Manfaat Penelitian ………. 2
1.5 Metodologi Penelitian ……….. 3
1.6 Sistematika Penulisan ………... 3
BAB II LANDASAN TEORI 2.1 Sistem Pendukung Keputusan 2.1.1 Definisi ………. 5
2.1.3 Pengertian ………. 6 2.1.4 Manfaat dan Keterbatasan Sistem Pendukung Keputusan
2.1.4.1 Manfaat Sistem Pendukung Keputusan ………….. 8 2.1.4.2 Keterbatasan Sistem Pendukung Keputusan ……... 8 2.2 Algoritma Genetika
2.2.1 Algoritma Genetika ……….. 10 2.2.2 Sejarah Algoritma Genetika ………. 10 2.2.3 Konsep Dasar Algoritma Genetika ……….. 10 2.3 Internet,World Wide Web dan HTTP (Hyper Text Transfer Protocol)
2.3.1 Internet ………. 17 2.3.2World Wide Web……….. 17 2.3.3 HTTP (Hyper Text Transfer Protocol) ……… 18 2.4 HTML (Hyper Text Markup Language)
2.4.1 Dasar-dasar HTML ……….. 18 2.4.2 Struktur Dokumen HTML ………... 19 2.5 PHP
2.5.1 Sejarah PHP ………. 20 BAB III ANALISA DAN PERANCANGAN SISTEM
3.1 Gambaran Umum Sistem ……….. 22 3.2 Pengambilan Data
3.3.2 Halaman Menu / Form Menu ………. 30
3.3.3 Halaman Hasil ……….. 31
3.4 Perancangan Basis Data 3.4.1Physical Design ……… 32
3.5 Perancangan Program 3.5.1Data Flow Diagram ………. 33
3.5.2E-R Diagram ……… 35
3.5.3Relational Model………. 36
BAB IV IMPLEMENTASI DAN ANALISA PROGRAM 4.1 Aplikasi Sistem ………. 37
4.2 Implementasi Program 4.2.1 Representasi Kromosom ……….. 37
4.2.2 Pembangkitan Populasi Awal ………. 38
4.2.3 Penentuan NilaiFitness Untuk Masing-masing Kromosom 38 4.2.4 Pemilihan Kromosom Untuk Dijadikan Orangtua……….. 39
4.2.5 Operasi Persilangan atauCrossover……… 39
4.3 Koneksi dari PHP ke MySQL ………. 40
4.4 PembuatanInterface 4.4.1 Layar Utama / Index ……… 40
4.4.2 Form Obyek Wisata ………. 42
4.4.3 Form Hasil ……….. 43
BAB V PENUTUP
DAFTAR TABEL
Tabel Keterangan Halaman
Tabel 2.1 Istilah dalam algoritma Genetika Halaman 16
Tabel 3.1 Tabel Obyek Wisata Halaman 32
Tabel 3.2 Tabel Kategori Halaman 32
DAFTAR GAMBAR
Gambar Keterangan Halaman
Gambar 3.1 Form Index Halaman 29
Gambar 3.2 Form Menu Halaman 30
Gambar 3.3 Form Hasil Halaman 31
Gambar 3.4 Context Diagram Halaman 33
Gambar 3.5 Decomposition Diagram Halaman 34 Gambar 3.6 Overview Diagram Bagian 1 Halaman 34
Gambar 3.7 E-R Diagram Halaman 35
Gambar 3.8 Relational Diagram Halaman 36
Form 4.1 Form Layar Utama Halaman 41
Form 4.2 FormMenu Obyek Wisata Halaman 42
PENDAHULUAN
1.1 Latar Belakang Masalah
Saat ini mungkin banyak wisatawan yang bingung dengan tujuan obyek wisata yang akan dituju. Mengingat dari dana yang dimiliki oleh wisatawan terbatas, sehingga wisatawan memerlukan fasilitas untuk menentukan alternatif obyek mana saja yang sesuai dengan dana yang dimiliki.
Untuk itu, diperlukan suatu Sistem Pendukung Keputusan berbasis web, yang diharapkan dapat membantu wisatawan, dalam menentukan pilihan obyek wisata yang akan dituju. Sehingga wisatawan yang berasal dari dalam maupun luar Yogyakarta dapat menggunakan web ini untuk menentukan alternatif obyek – obyek wisata yang ada di Yogyakarta. Metode yang digunakan dalam menentukan alternatif pilihan obyek wisata ini adalah dengan algoritma Genetika, dimana obyek – obyek wisata nanti akan dipilih secara random (dilakukan oleh program secara otomatis), untuk dijadikan sebagai solusi alternatif pilihan. Alasan menggunakan algoritma Genetika ini adalah karena dalam algoritma Genetika ada suatu cara dalam memilih suatu alternatif, yaitu dengan caracrossover. Cara ini untuk masalah alternatif perjalanan wisata sangatlah berguna karena akan memberi banyak sekali solusi pilihan. Dan bila solusi yang ada memenuhi syarat yang telah ditentukan, maka solusi ini bisa digunakan dalam program. Bila tidak, maka akan dibuang, dan tidak dipakai / tidak diambil sebagai solusi.
1.2 Rumusan Masalah
Dari latar belakang masalah tersebut, ditemukan rumusan masalah sebagai berikut :
1. Bagaimana memilih alternatif perjalanan wisata secara tepat, yang sesuai dengan dana yang dimiliki.
2. Wisatawan memilih obyek-obyek wisata sesuai dengan kategori obyek yang disukainya
3. Menerapkan algoritma Genetika dalam alternatif perjalanan wisata.
1.3 Batasan Masalah
1. Hanya untuk menangani para wisatawan yang akan berwisata di daerah Yogyakarta, dengan menggunakan kendaraan pribadi.
2. Pemilihan dari obyek wisata, dibuat dalam program, sehingga wisatawan tinggal memilih paket-paket yang telah dibuat dalam aplikasi ini.
3. Data obyek wisata bersifat statis.
1.4 Tujuan dan Manfaat Penelitian
1.5 Metodologi Penelitian
Metode penelitian yang digunakan adalah : 1. Metode Studi Pustaka
Mendapatkan dan mengumpulkan bahasan-bahasan yang berkaitan dengan permasalahan yang dikerjakan yaitu mengenai system pendukung keputusan, dan juga PHP melalui buku-buku, internet, dan media informasi lainnya.
2. Metode Pengamatan dan Observasi
Metode pendekatan dengan cara mengambil data di tempat studi kasus yang berhubungan dengan data yang dibutuhkan.
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini adalah sebagai berikut : a. BAB 1 PENDAHULUAN
Bab ini membahas mengenai latar belakang masalah, rumusan masalah, batasan masalah yang ditentukan untuk lebih memfokuskan bidang yang dibahas, tujuan dan manfaat penelitian, metodologi penelitian, dan sistematika penulisan.
b. BAB II LANDASAN TEORI
c. BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi mengenai perancangan sistem yang akan dibuat, meliputi bagaimana cara menyelesaikan algoritma Genetika untuk permasalahan dalam skripsi ini.
d. BAB IV IMPLEMENTASI DAN ANALISA HASIL
Bab ini berisi mengenai pembuatan dari program dan hasil analisa dari program tersebut.
e. BAB V PENUTUP
BAB II LANDASAN TEORI
Secara garis besar yang akan diuraikan dalam landasan teori adalah konsep mengenai Sistem Pendukung Keputusan, metode Heuristik, algoritma Genetika, dan pengenalan mengenai internet, HTTP (Hyper Text Trasfer Protocol), HTML (Hypertext MarkupLanguage), PHP (Hypertext Preprocessor), dan database yang dipakai yaitu MySQL.
2.1 Sistem Pendukung Keputusan 2.1.1 Definisi
Pengambilan Keputusan adalah proses memilih dari berbagai alternatif untuk mencapai tujuan.
2.1.2 Proses Pengambilan Keputusan
Menurut Simon, proses pengambilan keputusan ada empat langkah : 1. Identifikasi Masalah.
Mengumpulkan informasi dari banyak sumber untuk mengidentifikasi masalah.
2. Analisis.
DSS ES
T
Y 3. Pilihan.
Hasil dari analisis diputuskan. Langkah ini didukung oleh suatu Sistem Pendukung Keputusan jika pembuat adalah perorangan dan dengan GDSS bila diputuskan oleh grup.
4. Implementasi
Dukungan komputer untuk proses pembuatan keputusan. 2.1.3 Pengertian
Alternatif keputusan yang dibuat untuk Sistem Pendukung Keputusan adalah untuk memecahkan masalah. Pada Sistem Pendukung Keputusan akan
menghasilkan beberapa alternatif penyelesaian masalah, sedangkan keputusan akhir terletak pada pemakai.
Sumber data
identifikasi
Analisa kualitatif Analisa kuantitatif
Sistem Pendukung Keputusan adalah pasangan intelektual individu kebudayaan komputer untuk meningkatkan kualitas keputusan.
Sistem Pendukung Keputusan adalah pendukung dengan dasar komputer untuk pengambil keputusan manajerial yang sedang mengerjakan masalah yang semi terstruktur.
Tujuan utama Sistem Pendukung Keputusan adalah melengkapi informasi-informasi yang diperlukan untuk mendukung tugas-tugas dan kegiatan dalam hal pengambilan keputusan.
Keputusan memiliki 3 tipe, yaitu : 1. Terstruktur
Keputusan yang diambil dari proses-proses terstruktur yang mengarah pada rutinitas dan masalah yang berulang-ulang dimana standar pemecahannya sudah ada, sifatnya adalah bisa diprogram.
2. Semi Terstruktur
Keputusan yang diambil dari beberapa proses yang tidak semuanya terstruktur. Sifatnya adalah sebagian masih bisa diprogram sehingga membutuhkan pertimbangan-pertimbangan, perhitungan secara terperinci. 3. Tidak Terstruktur
2.1.4 Manfaat dan Keterbatasan Sistem Pendukung Keputusan 2.1.4.1 Manfaat Sistem Pendukung Keputusan
Sistem Pendukung Keputusan memberikan beberapa manfaat untuk pemakainya. Secara umum manfaat yang dapat diambil dari Sistem Pendukung Keputusan adalah :
1. Sistem Pendukung Keputusan memperluas kemampuan pengambil keputusan dalam memproses data atau informasi bagi pemakainya.
2. Sistem Pendukung Keputusan membantu pengambil keputusan dalam hal penghematan waktu yang dibutuhkan untuk memecahkan masalah terutama untuk masalah yang sangat kompleks dan tidak terstruktur. 3. Sistem Pendukung Keputusan dapat menghasilkan solusi dengan lebih
cepat serta hasilnya dapat diandalkan.
4. Walaupun suatu Sistem Pendukung Keputusan mungkin saja tidak mampu memecahkan masalah yang dihadapi oleh pengambil keputusan, namun ia dapat menjadi stimulant bagi pengambil keputusan dalam memahamu persoalannya. Karena Sistem Pendukung Keputusan mampu menyajikan berbagai alternatif.
5. Sistem Pendukung Keputusan dapat menyediakan bukti tambahan untuk memberikan pembenaran sehingga dapat memperkuat posisi pengambil keputusan.
2.1.4.2 Keterbatasan Sistem Pendukung Keputusan
1. Ada beberapa kemampuan manajemen dan bakat manusia yang tidak dapat dimodelkan, sehingga model yang ada dalam sistem tidak semuanya mencerminkan persoalan sebenarnya.
2. Kemampuan suatu Sistem Pendukung Keputusan terbatas pada pembendaharaan pengetahuan yang dimilikinya (pengetahuan dasar serta model dasar).
3. Proses-proses yang dapat dilakukan oleh Sistem Pendukung Keputusan biasanya tergantung juga pada kemampuan perangkat lunak yang digunakan.
4. Sistem Pendukung Keputusan tidak memiliki kemampuan intuisi seperti yang dimiliki oleh manusia. Karena walau bagaimanapun canggihnya suatu Sistem Pendukung Keputusan dia hanyalah kumpulan perangkat keras, perangkat lunak dan sistem operasi yang tidak dilengkapi dengan kemampuan berpikir.
2.2 Algoritma Genetika 2.2.1 Algoritma Genetika
Algoritma Genetika adalah algoritma yang berdasarkan pada mekanisme seleksi alami dan konsep Genetika. Konsep Genetika digunakan untuk merepresentasikan setiap kemungkinan solusi dari masalah optimasi yang ada. Sedangkan seleksi alam merepresentasikan proses seleksi terhadap calon-calon solusi dari sebuah populasi. Dalam implementasinya algoritma Genetika meniru beberapa proses yang terdapat pada evolusi alami makhluk hidup antara lain seleksi alam dan reproduksi. (crossover dan mutasi).
2.2.2 Sejarah Algoritma Genetika
Algoritma genetika berawal dari usaha para ilmuwan dalam mencari algoritma yang dapat digunakan untuk mengatasi masalah-masalah optimasi yang kompleks (sering ditemukan pada perusahaan-perusahaan industri dan manufaktur), karena sangat sulit mencari penyelesaiannya apabila menggunakan beberapa algoritma konvensional yang pernah ada sebelumnya. Algoritma Genetika ditemukan oleh John Holland dan dikembangkan olehnya beserta muridnya berdasarkan penelitian yang dilakukan oleh I.Rechenberg.
2.2.3 Konsep Dasar Algoritma Genetika
setiap kromosom terdiri dari gen-gen sebagai pembentuk karakteristik/sifat tertentu dari makhluk hidup yang saling berbeda satu sama lain. Sedangkan dari teori seleksi alam adalah proses pemilihan / selection anggota populasi di bumi berdasarkan tingkat kemampuan suatu organisme untuk beradaptasi dengan lingkungannya. Hal ini menurut Darwin karena terdapat beberapa organisme yang mempunyai tingkat kemampuan bertahannya berbeda dengan organisme lain.
Adapun proses-proses dalam evolusi alami yang menjadi konsep dari algoritma genetika adalah proses seleksi alam dalam rangka mencari anggota populasi yang mempunyai tingkat ketahanan hidup yang tinggi sehingga dapat menyesuaikan diri dengan lingkungannya dan proses reproduksi yang merupakan salah satu proses biologi yang bertujuan untuk mempertahankan kelestarian dari suatu spesies karena dengan adanya reproduksi akan didapatkan keturunan yang sifatnya diturunkan dari induknya. Reproduksi mencakup dua proses yaitu
crossover (perkawinan silang) dan mutation (mutasi). Perkawinan silang adalah suatu proses pertukaran gen dari dua individu yang mempunyai karakterisik yang berbeda untuk menghasilkan keturunan dengan karakteristik yang berbeda dari induknya dan diharapkan lebih baik dari induknya. Sedangkan mutasi adalah proses perubahan genetika dari suatu spesies karena tersebut melakukan adaptasi terhadap lingkungannya.
kromosom pada setiap populasi disesuaikan dengan population sizenya. Dari setiap solusi dapat diperoleh nilai fitnessnya. Nilai ini merupakan ukuran yang digunakan untuk mengukur keoptimalan suatu solusi dalam menyelesaikan masalah. Berdasarkan penjelasan diatas, maka dalam menyelesaikan masalah dengan menggunakan algoritma Genetika perlu didefinisikan terlebih dahulu beberapa parameter yang diperlukan, antara lain :
• ProbabilitasCrossover (Pc)
Probabilitas atau peluang crossover ini menunjukkan rasio dari
kromosom anak yang dihasilkan dengan ukuran populasinya dalam setiap generasi. Probabilitas crossover ini juga dapat menunjukkan jumlah kromosom dalam populasi yang akan mengalami crossover
pada setiap generasi. Biasanya besarnya probabilitas crossover
berkisar antara 20-80%. • Probabilitas Mutasi (Pm)
Probabilitas mutasi merupakan representasi dari jumlah total gen pada populasi yang akan mengalami mutasi. Besarnya probabilitas mutasi biasanya berkisar antara 0.5-1%.
• Population size
Population size menunjukkan jumlah kromosom yang ada dalam populasi. Pada umumnya besarnya Population size yang digunakan adalah 10-50 kromosom.
Laju Regenerasi dalam algoritma genetika menunjukkan banyaknya generasi yang akan dibentuk melalui iterasi secara berturut-turut dari setiap populasi. Laju generasi yang paling umum digunakan adalah 500-1000 kali.
Setelah parameter-parameter tersebut ditentukan maka langkah-langkah yang dilakukan selanjutnya dalam algoritma Genetika untuk mencari penyelesaian dari suatu masalah adalah :
1. Menentukan model dari sistem yang dibuat (memodelkan sistem). Untuk melakukan komputasi terhadap masalah optimasi yang dihadapi maka terlebih dahulu dibuat sebuah representasi yang sesuai dengan masalah tersebut. Dalam pemodelan ini juga harus ditentukan batasan-batasan untuk memperkecil ruang pencarian yang akhirnya nanti dapat mempengaruhi cepat lambatnya penemuan solusi dan fungsi tujuan dari permasalahan tersebut. Fungsi tujuan dalam algoritma Genetika dikenal dengan sebutan fungsi fitness. Fungsi fitness adalah fungsi yang digunakan untuk menentukan nilai fitness dari kromosom dan merupakan alat ukur dari keoptimalan kromosom. Nilai fitness yang dihasilkan dari perhitungan fungsifitness juga dapat menentukan apakah suatu kromosom merupakan solusi yang tepat serta untuk menentukan apakah kromosom tersebut dapat menjadi anggota populasi pada generasi berikutnya.
Pembangkitan kromosom-kromosom sebagai anggota populasi dilakukan secara random. Anggota populasi yang terpilih kemudian dievaluasi dengan cara menentukan nilai fitness dari setiap populasi. Penghitungan nilai fitness didapat berdasarkan fungsi tujuan yang telah ditentukan sebelumnya pada saat pemodelan masalah. Nilai fitness ini digunakan untuk mengetahui apakah suatu kromosom anggota populasi merupakan solusi yang tepat untuk permasalahan yang ada atau dapat juga digunakan untuk menentukan apakah calon solusi tersebut dapat menjadi anggota populasi generasi berikutnya.
3. Penentuan nilaifitness kromosom-kromosom anggota populasi.
Pada masalah optimasi, fungsi fitness yang digunakan untuk mencari nilaifitness adalah fungsi dari masalah optimasi itu sendiri. Perhitungan nilai fitness ini digunakan untuk menentukan apakah suatu kromosom anggota populasi merupakan solusi yang tepat untuk permasalahan yang ada atau dapat juga digunakan untuk menentukan apakah calon solusi tersebut dapat menjadi anggota populasi generasi berikutnya.
4. Pemilihan kromosom untuk dijadikan orangtua
Dari himpunan kromosom pada populasi kemudian dilakukan pemilihan dua buah kromosom untuk dijadikan orangtua. Pemilihan ini dapat dilakukan dengan berbagai metode seleksi antara lain : roda roulette
menghasilkan individu – individu baru dengan nilai fitness yang lebih baik dari orangtuanya.
5. Proses reproduksi untuk menghasilkan kromosom baru.
Kromosom yang terpilih sebagai orangtua pada proses ketiga kemudian dikenakan proses reproduksi. Proses reproduksi yang dikenakan pada kromosom orangtua tersebut meliputi :
a. Perkawinan silang (crossover)
Berdasarkan konsep dasar perkawinan silang pada evolusi alamiah, maka perkawinan silang dapat diartikan sebagai proses pertukaran gen dari dua kromosom orangtua yang berbeda sehingga menghasilkan offspring (keturunan) dengan karakteristik yang berbeda dari kromosom orangtua. Keturunan yang diperoleh ini diharapkan akan mempunyai nilai fitness yang lebih baik dari kromosom kedua orangtua.
b. Mutasi (Mutation)
Adapun perbedaan yang mendasar antara proses perkawinan silang dengan mutasi adalah bahwa perkawinan silang diperlukan dua kromosom orangtua, sedangkan pada mutasi hanya diperlukan satu kromosom. Dengan operasi perkawinan silang ataupun mutasi yang dilakukan secara berulang-ulang melalui iterasi secara berturut-turut, diharapkan akan menemukan kromosom yang paling baik. Kromosom tersebut diharapkan merepresentasikan solusi optimal atau solusi yang mendekati nilai optimal dari permasalahan yang ada.
Istilah Sinonim
3. Ukuran populasi (banyaknya kromosom dalam satu populasi) 4. Sebagai alat ukur dari keoptimalan kromosom atau dapat digunakan untuk mengetahui apakah suatu kromosom merupakan solusi yang tepat serta untuk
menentukan apakah kromosom terebut dapat menjadi anggota populasi generasi berikutnya. 5. Proses pertukaran gen dari dua
6. Mutasi
berbeda sehingga menghasilkan keturunan (offspring) dengan karakteristik yang berbeda dari kromosom orangtua.
6. Proses pertukaran gen sebuah kromosom dengan gen yang lain.
Tabel 2.1 Istilah-istilah dalam algoritma Genetika. 2.3 Internet,World Wide Web dan HTTP (Hyper Text Transfer Protocol) 2.3.1 Internet
Internet berasal dari kata Interconnection Networking, adalah jaringan komputer yang terdiri dari berbagai jenis ukuran, mulai dari sebuah PC (Personal Computer), jaringan local berskala kecil atau sempit dan juga jaringan-jaringan yang berskala luas. Jaringan-jaringan tersebut saling berhubungan atau berkounikasi satu sama lain dengan berbasiskan protocol IP (Internet Protocol) pada network layer(layer ke-3 dari 7 layer OSI model) dan TCP (Transmission Control Protocol) pada transport layer (layer ke-4), sehingga setiap pemakai dari setiap jaringan dapat saling mengakses semua layanan yang disediakan oleh jaringan lainnya.
2.3.2World Wide Web
World Wide Web merupakan sebuah arsitektur untuk memasuki dokumen-dokumen yang saling berhubungan di seluruh internet. Untuk waktu sekarang ini
grafisnya yang sangat menarik menyebabkan World Wide Web menjadi popular sehingga mudah digunakan bahkan oleh user pemula sekalipun. Disamping itu
World Wide Web juga menyediakan informasi yang lengkap pada setiap masalah yang ingin diketahui olehuser.
2.3.3 HTTP (Hyper Text Transfer Protocol)
HTTP (Hyper Text Transfer Protocol) adalah protocol pada lapisan aplikasi yang dipergunakan dalam WWW (World Wide Web). HTTP (Hyper Text Transfer Protocol) selalu berhubungan denganweb server.
Web server bertugas melayani permintaan browser terhadap halaman web dan dokumen lain. Web server biasa dijalankan sebagai suatu server yang siap melayani permintaan setiap akan dibutuhkan.
2.4 HTML (Hyper Text Markup Language) 2.4.1 Dasar – dasar HTML
Mendesain HTML berarti melakukan suatu tindakan pemrograman. Namun HTML bukanlah sebuah bahasa pemrograman. HTML hanyalah berupa perintah – perintah yang telah terstruktur berupa tag – tag penyusun. Menuliskan tag – tag HTML tidaklah sebatas hanya memasukkan perintah – perintah tertentu agar HTML dapat diakses oleh browser. Mendesain HTML adalah seni tersendiri.
Homepage yang merupakan implementasi dari HTML adalah refleksi dari orang yang membuatnya. Untuk itu sangatlah perlu mendesain HTML dengan baik agar para pengunjunghomepage merasa senang dan puas.
1. Menggunakan HTML editor, seperti Microsoft Front Page Editor, Netscape Composer, Macromedia Backstage, Adobe Pagemill, Homesite
Pro, dan lain – lain. Adapun kelebihan dari cara ini adalah HTML merupakan sebuah program yang khusus didesain untuk membuat, melakukan editing bahkan mempublikasikan ke internet. Dengan kemampuannya menggabungkan kemudahan dan kecanggihan teknologi internet ke dalam dokumen HTML maka cara ini sangat disukai oleh para pemula dan desainer yang tidak ingin belajar lebih dalam mengenai HTML.
2. Menuliskan sendiri secara manual satu per satu tag – tag HTML ke dalam dokumen HTML. Adapun kelebihan dari cara ini adalah user akan lebih paham mengenai cara kerja dan berbagai perintah yang biasa dipakai pada HTML. Adapun kekurangan dari cara ini adalah user harus menuliskan secara manual satu per satu tag – tag HTML. Hal tersebut sangat dirasakan sulit karena akan memakan banyak tenaga dan waktu ekstra untuk melakukannya, ditambah lagi user harus melakukan cara – cara konvensional untuk melihat hasilnya padaweb browser.
2.4.2 Struktur Dokumen HTML
Secara sederhana HTML terdiri dari dua bagian yaitu Header dan Body. Struktur HTML diapit oleh tag awal < HTML > dan diakhiri dengan tag akhir </ HTML >.
Standar penulisannya adalah :
<HTML>
Deskripsi dokumen
<TITLE> Selamat datang </TITLE> </HEAD>
PHP adalah salah satu bahasa Server-side yang didesain khusus untuk aplikasi web. PHP dapat disisipkan diantara bahasa HTML. Dan kerna PHP adalah bahasaServer-side, maka bahasa PHP akan dieksekusi di server.
PHP dibuat pertama kali oleh seseorang yaitu Rasmus Lerdorf, yang pada awalnya dibuat untuk menghitung jumlah pengunjung pada homepagenya. Di
dan akan terus bertambah karena kemudahan aplikasi PHP ini dibandingkan dengan bahasaServer-side yang lain.
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1 Gambaran Umum Sistem
Sistem ini betujuan untuk membantu wisatawan dalam memilih alternatif obyek wisata yang ingin dituju, berdasarkan dengan biaya yang dimiliki. Dalam sistem ini, pertama wisatawan akan memasukkan biaya / budget untuk obyek wisata yang dimiliki sebagai input. Dalam hal ini biaya yang dihitung adalah biaya tiket masuk dari tiap obyek wisata. Kemudian wisatawan akan diberi pilihan obyek wisata berdasarkan kategori obyek, yang berlaku untuk satu orang, dan dalam satu hari saja. Setelah itu, akan ditampilkan rute obyek wisata yang sudah dipilih dalam bentuk paket-paket wisata, dan disini juga akan ditampilkan waktu dari waktu berangkat sampai waktu berakhir, jumlah waktu yang ditempuh, dan total jumlah biaya.
3.2 Pengambilan Data
3.2.1 Penerapan Algoritma Genetika
Dalam penerapan algoritma Genetika ini, akan dibuat langkah-langkah sebagai berikut :
1. Pemodelan Sistem
dijadikan sebagai kromosom. Dan untuk jarak dari obyek wisata, diasumsikan dari pusat Yogyakarta 0 km, dan dikodekan misalnya 0.
Obyek wisata ini dibagi dalam 3 kategori, yaitu : Museum, Candi, dan Pantai. Cara pemilihan kategori ini nanti akan dibuat secara random (acak). Disini ditentukan akan diambil 3 obyek dari kategori yang dipilih. Dari 3 obyek itu, akan ditentukan dari jam buka dan jam tutup obyek tersebut. Bila yang di-random nanti tidak memenuhi waktu dan harga budget tersebut, maka bisa dibuang (tidak dimasukkan dalam pilihan).
2. Pembangkitan Populasi Awal
id_obyek nama_obyek jam_buka jam_tutup harga
0 Pusat Kota 00:00:00 00:00:00 0
1 Candi Borobudur 08:00:00 16:00:00 8000
2 Candi Prambanan 08:00:00 16:00:00 7000 3 Candi Kalasan 08:00:00 13:00:00 7000
4 Museum Ulen Sentalu 08:00:00 14:00:00 10000 5 Museum Puropakualaman 08:00:00 14:00:00 7000
6 Museum Sono Budoyo 08:00:00 14:00:00 7000
7 Pantai glagah 08:00:00 23:59:59 5000 8 Pantai Parangtritis 08:00:00 23:59:59 3500
9 Pantai Samas 08:00:00 23:59:59 5000
10 Pantai Baron 08:00:00 23:59:59 8000
Sebagai contoh akan diambil 2 kromosom, misal : 0-2-5-3-0 dan 0-1-7-4-0 3. Penentuan NilaiFitness Kromosom-kromosom Anggota Populasi.
Dari populasi awal di atas, akan dicari nilai fitness dari kromosom tersebut, untuk menentukan apakah kromosom itu merupakan solusi yang tepat untuk permasalahan yang ada. Misal contoh yang diambil adalah 0-2-5-3-0 dan 0-1-6-4-0, maka masing-masing akan dicek apakah memenuhi syarat yang ditentukan.
Syaratnya yaitu jika obyek yang dikunjungi akan diambil sebagai iterasi bila perhitungan total waktu tidak lebih besar dengan jam tutup dari obyek selanjutnya. Perhitungannya sebagai berikut :
Keterangan :
TWT = total waktu tempuh wb = waktu berangkat
Waktu berangkat untuk awal iterasi, di default mulai dari jam 08:00:00. Untuk waktu berangkat pada iterasi selanjutnya diambil dari waktu berakhir kunjungan pada obyek pertama atau iterasi pertama, demikian seterusnya sampai iterasi terakhir.
Oa = Obyek asal , Ot = obyek tujuan wt = waktu tempuh (lama perjalanan)
Waktu tempuh didapat dari jarak masing-masing obyek wisata, dimana menggunakan rumus V =S/t.
V menunjukkan kecepatan, S menunjukkan jarak, dan t menunjukkan waktu. Kemudian di set bahwa kecepatan mobil adalah 60 km/jam. Sehingga bila jarak dari obyek A = 75 km, maka 75 x 60/60 hasilnya 75 jam atau 1 jam 15 menit, atau 1.25 jam.
wk = waktu kunjungan di obyek
Waktu kunjungan di obyek ini juga diset selama 1 jam.
waktu kunjung = 1 jam
total waktu tempuh = 2 jam total harga = 21.000
waktu tempuh = 2 jam
Rute ini gagal karena ternyata waktu sampai di obyek 4 lebih besar dari
jam tutup di obyek 4, maka rute ini tidak dipakai.
Demikian seterusnya untuk kromosom yang lain, akan dicek satu persatu. Dalam masalah ini ditentukan bahwa kromosom atau populasi awal ada 10 kromosom.
Jika ternyata dari 10 kromosom ada hasil yang valid sebanyak 5, maka 5 kromosom ini akan dicrossover. Dan akan dilakukan pengecekan seperti yang tadi. Crossover mengambil 2 kromosom secara random untuk dijadikan orangtua. Jika ternyata hasilcrossover ada 1 yang lebih baik dari kromosom tadi, maka ditambahkan ke dalam 5 kromosom tadi, dan dari 5 kromosom radi dibuang 1, agar jumlahnya tetap 5.
Pemilihan ini akan diambil 2 kromosom untuk dijadikan sebagai kromosom orangtua, yang kemudian nanti akan di-crossover.
5. Proses Reproduksi untuk Menghasilkan Kromosom Baru. a. Perkawinan Silang (crossover)
Dari kromosom orangtua tersebut akan disilangkan, dan diharapkan akan menghasilkan nilaifitness yang lebih baik dari orangtua.
Untuk contoh di atas, dari kromosom 0-2-5-3-0 akan di-crossover dengan 0-1-7-4-0. Akan menghasilkan 2 buah kromosom lagi, yaitu : 0-2-7-4-0 dan 0-1-5-3-0.
Untuk kromosom awal, yaitu 0-2-5-3-0 dicek. Pengecekannya dengan menghitung dari waktu yang menuju tiap obyek. Kemudian akan dihitung harga dari tiket masuk ke obyek tersebut.
Kemudian kromosom hasil crossover akan dicek apakah memenuhi dengan waktu kunjungannya.
Untuk kromosom-kromosom yang lain juga akan diproses seperti di atas, sampai ditemukan beberapa alternatif pilihan yang memenuhi syarat, dan kemudian dimasukkan sebagai paket-paket wisata.
3.3 Perancangan Antar Muka
3.3.1 Halaman Utama / Index
Gambar 3.1FormIndex
Gambar ini merupakan halaman Utama dari perancangan sistem ini. Disini ada pilihan Menu Obyek, dimanauser bisa klik dan akan memilih obyek-obyek yang akan dipilih, dan akan menuju ke halaman Form Menu.
Animasi gambar
MENU HOME
Home Menu Obyek
Animasi gambar
MENU HOME
Home Menu Obyek
Budget (per orang, hanya untuk 1 hari) : Rp
Pilih Kategori Obyek Wisata (berlaku
untuk 1 hari)
Kategori 1 : Candi
Kategori 2 : Candi
Kategori 3 : Candi
GO
3.3.2 Halaman Menu / Form Menu
Gambar 3.2Form Menu
3.3.3 Halaman Hasil
Gambar 3.3Form Hasil
Form ini merupakan hasil dari masukanuser. Misaluser memasukkan budget sebesar Rp. 17.000,00, dan kategori yang dipilih adalah Candi, Museum, Pantai, maka akan ditampilkan solusi pilihan yang sesuai dengan budget yang telah dimasukkan tadi. Dengan demikianuser bisa memilih sendiri pilihan mana yang disukai.
rute : Pusat Kota - Candi Prambanan - Benteng Vredeburg - Pantai Kukup -PusatKota
waktu:08: 00:00-16:15: 00 totalwaktu:8.25jam harga:Rp16500
pilihan ke 2
rute : Pusat Kot a - Candi Ratu Boko - Benteng Vredeburg - Pantai Kukup -PusatKota
3.4 Perancangan Basis Data 3.4.1Physical Design
a. tabel_obyek
Nama Field Type Width Keterangan id_obyek key untuk tabel obyek wisata Digunakan untuk menunjukkan id dari masing-masing kategori obyek
Keterangan nama obyek Harga tiket masuk obyek Waktu buka dari obyek wisata Waktu tutup dari obyek wisata Keterangan / deskripsi
mengenai obyek wisata
Tabel 3.1 Tabel Obyek Wisata
Tabel Obyek Wisata ini berisi mengenai data-data yang ada pada obyek wisata.
b. tabel_kategori
Nama Field Type Width Keterangan id_kategori_obyek
nama_kategori
Integer
Varchar
Digunakan untuk menunjukkan id dari masing-masing kategori obyek
Berisi nama kategori dari id kategori. Id 1 menunjukkan kategori Candi, id 2
menunjukkan kategori Museum, id 3 menunjukkan kategori Pantai
Tabel ini berisi mengenai id kategori obyek dan nama kategori yang berelasi dengan tabel_obyek.
c. tabel_waktu_tempuh
Nama Field Type Width Keterangan a_obj asal untuk menuju ke obyek wisata berikutnya
Menunjukkan obyek wisata ke / tujuan dari obyek wisata asal Menunjukkan waktu tempuh dari masing-masing obyek.
Tabel 3.3 Tabel Waktu Tempuh
Tabel ini berisi mengenai waktu tempuh dari setiap masing-masing obyek. Sehingga dari tiap obyek ke obyek lain akan mempunyai suatumatriks dari waktu tempuh tersebut.
3.5 Perancangan Program 3.5.1Data Flow Diagram
0
Sistem Pendukung Keputusan Berbasis Web Untuk Perjalanan
Wisata
1P
Mengisi form pilihan obyek wisata
3.5.2Entity Relationship Diagram
Gambar 3.7ER Diagram
mempunyai obyek mempunyai
id_kategori_obyek
id_obyek
kategori Waktu
tempuh
3.5.3Relational Model
Gambar 3.8Relational Diagram id_kategori_obyek
kategori
id_obyek
id_kategori_obyek nama_obyek tiket_masuk jam_buka jam_tutup keterangan
tabel_kategori tabel_obyek
* ** *
a_obj k_obj nilai
tabel_waktu_tempuh
BAB IV
IMPLEMENTASI DAN ANALISA PROGRAM
4.1 Aplikasi Sistem
Aplikasi yang digunakan untuk implementasi sistem ini ada 2, yaitu : • MySQL
MySQL merupakan salah satu jenis database server yang merupakan bahasa dasar untuk mengakses database.
• PHP
Adalah aplikasi pemrograman yang dipakai untuk pengkodean seperti form, menu, danuser interface lainnya.
4.2 Implementasi Program 4.2.1 Representasi Kromosom
Dalam merepresentasikan kromosom, obyek-obyek wisata yang telah dipilih oleh wisatawan, berdasarkan kategori yang telah dipilihnya, akan dirandom.
function getObjRandom($objArray,$Obj,$re=0) {
$index = rand(0,count($Obj)-1); $status = FALSE;
if($re==10000) {
pesan("pembentukan sample ga tercapai : error => 10000 recursive");
else {
return $Obj[$index]; }
}
4.2.2 Pembangkitan Populasi Awal
Dalam Pembangkitan Populasi Awal, kromosom-kromosom yang telah direpresentasikan dibentuk sebanyak sepuluh kali, sehingga menghasilkan populasi awal yang beranggotakan sepuluh kromosom.
4.2.3 Penentuan NilaiFitness Untuk Masing-masing Kromosom
Nilai fitness yang dicapai dalam masalah ini adalah harga. Harga yang direkomendasikan adalah total harga dari tiket masuk obyek yang dikunjungi.
function
sortSampleByHarga($sample,$mWT,$mO,$wk,$wb,$budget,$jml_sample) {
if(count($sample) < 2) return $sample;
$sample_with_info = getInfo($sample,$mWT,$mO,$wk,$wb,$budget);
$ok = array(); $sort = array(); $tmpS = array();
for($i=0;$i<count($sample_with_info);$i++) {
4.2.4 Pemilihan Kromosom Untuk dijadikan Orangtua
Kromosom yang akan dijadikan sebagai orangtua dipilih dengan menyeleksi dua buah kromosom secara acak.
function
get2SampleRandom($sample,$kedalaman_recursive=0,$hsl=array())
{
if($kedalaman_recursive==100)
pesan("terlalu banyak recursive");
$pos_rand = rand(0,count($sample)-1);
array_push($hsl,$sample[$pos_rand]);
4.2.5 Operasi Persilangan atauCrossover
Untuk mendapatkan generasi baru, salah satu caranya adalah dengan melakukan persilangan ataucrossover.
Dalam melakukan crossover, akan dibutuhkan dua kromosom yang titik pemotongannya ada di tengah. Karena dalam rute obyek ini berjumlah 5 obyek, maka titik pemotongannya ada di 2 obyek di depan, jadi untuk obyek di depan berjumlah 2, obyek selanjutnya berjumlah 3.
function CrossOver($s1,$s2) {
if(count($s1) != count($s2))die("ERROR");
$s2[$i] = $t1;
if($i==($jml_kiri-1))break; }
return array($s1,$s2); }
4.3 Koneksi dari PHP ke MySQL
Berikut ini potongan script yang digunakan untuk mengkoneksi PHP ke database MySQL.
define("HOST","localhost"); define("USERNAME","root"); define("PASSWORD",""); define("DBNAME","tourism");
$conn = mysql_connect(HOST,USERNAME,PASSWORD); if(! $conn)die("Can't connect mysql !");
mysql_select_db(DBNAME) or die("Can't open".DBNAME);
4.4 PembuatanInterface
Interface atau pengantarmukaan merupakan sarana komunikasi antara sistem dengan user. Antarmuka dari sistem ini terdiri dari menu dan form yang masing-masing memiliki kegunaan yang berbeda.
4.4.1 Layar Utama / Index
Form 4.1 : Form Layar Utama
4.4.2 Form Obyek Wisata
Form 4.2 : Form Menu Obyek Wisata
Dalam form ini user memasukkan budget yang dimiliki, dengan ketentuan bahwa budget ini hanya berlaku untuk 1 orang, dan hanya untuk biaya masuk obyek selama 1 hari atau 1 pilihan paket. Kemudian user memilih kategori obyek
4.4.3 Form Hasil
Misal pada form di atas, user memilih kategori Candi, Museum, Pantai, dan budget yang dimasukkan adalah Rp. 17.000,-. Maka setelah klik GO, akan muncul hasil dari inputan tadi, berdasarkan fitnessnya, yaitu harga yang paling sedikit (murah), yang sesuai dengan budget yang telah user masukkan.
Form 4.3 : Form Hasil
4.5 Pembahasan Program
Dalam program ini ada kelemahannya yaitu bahwa kategori obyek yang sudah dipilih oleh user menjadi suatu urutan yang telahfixed. Dalam arti bahwa misal yang dipilih adalah Candi – Museum – Pantai, maka yang harus dikunjungi pertama kali harus dimulai dari Candi, Museum, dan terakhir Pantai, tidak bisa dibolak-balik.
Selain itu, jika yang dipilih adalah Pantai – Candi – Museum, maka hasil yang akan muncul adalah obyek-obyek yang waktu tempuhnya dekat dari pusat kota. Sehingga tidak semua obyek akan bisa dikunjungi.
Sebagai contoh, user memilih Pantai – Candi – Museum, dengan budget yang dimasukkan sebesar Rp. 20.000,-, maka hasil yang keluar :
Pilihan 1
rute : Pusat Kota - Pantai Samas - Candi Prambanan - Museum Jogja Kembali - Pusat Kota
waktu:08:00:00-13:15:00
totalwaktu:5.25jam
harga : Rp 17000
Pilihan 2
rute : Pusat Kota - Pantai Samas - Candi Kalasan - Museum Jogja Kembali - Pusat Kota
waktu:08:00:00-13:15:00
totalwaktu:5.25jam
BAB V PENUTUP
5.1 Kesimpulan
Dari hasil perancangan sistem ini, maka dapat disimpulkan bahwa :
1. Sistem Pendukung Keputusan untuk menentukan alternatif perjalanan wisata ini membantuuserdalam menentukan pilihannya.
2. Dengan algoritma Genetika, perhitungan dari populasi awal, kromosom, dan crossover, maka nilai fitness dari harga tiket masuk yang didapat adalah yang sesuai atau lebih kecil sama dengan harga budget yang dimasukkan olehuser.
5.2 Saran – saran
Dalam sistem pendukung keputusan ini masih banyak sekali kekurangan yang terdapat di dalamnya, sehingga untuk pengembangan sistem yang akan datang, disarankan untuk melakukan berbagai hal, antara lain :
1. Memasukkan fasilitas untuk input, dan update. Yang dengan demikian harus ada admin yang menangani.
- ,Php Manual,http://www.php.net/, 2006.
Daihani, Dadan Umar. Komputerisasi Pengambilan Keputusan, PT Elex Media Komputindo, Jakarta, 2001
Gen, Mitsuo dan Cheng, Runwei. Genetic Algorithms and Engineering Design,
Japan : John Wiley & Sons, Inc., 1997
Pearl, Judea. Heuristic : Intelligent Search Strategies for Computer Problem Solving,California : Addison – Wesley Publishing Company, 1984 Suryadi, K, Dr. Ir. Sistem Pendukung Keputusan Suatu Wacana Struktural
Idealisasi dan Implementasi Konsep Pengambilan Keputusan, PT. Remaja Rosdakarya
Sidik, Ir Betha, Pemrograman Web dengan PHP, INFORMATIKA Bandung, 2004.