6
BAB 2 TINJAUAN PUSTAKA
2.1
Diabetes
Diabetes mellitus adalah kumpulan gejala yang timbul pada seseorang yang disebabkan oleh karena adanya peningkatan kadar gula (glukosa) darah akibat kekurangan insulin baik absolut maupun relatif, yang lebih dikenal sebagai penyakit kencing manis (Soegono, 2004). Dengan kata lain, diabetes adalah kondisi yang kronis, dimana tubuh tidak dapat mengubah makanan menjadi energi sebagaimana harusnya. Kondisi ini sering kali menjurus ke arah masalahmasalah kesehatan lainnya seperti: a.
Kebutaan.
b.
Penyakit jantung dan urat nadi.
c.
Gagal ginjal.
d.
Beragam amputasi.
e.
Kerusakan pada syaraf.
f.
Diabetes yang tidak terkontrol dapat mengganggu kehamilan, dan pada
umumnya
menyebabkan cacat bagi bayi yang dilahirkan oleh seorang ibu penderita diabetes.
2.1.1 Jenis-Jenis Diabetes Tiga jenis utama diabetes adalah: 1.
Diabetes tipe I
Tipe 1 diabetes, mulanya disebut “diabetes usia muda”, biasanya diagnosa awal bagi anakanak, remaja dan dewasa muda. Pada diabetes tipe 1, pankreas tidak dapat menghasilkan
Universitas Sumatera Utara
7 cukup insulin (International Diabetes Federation, 2003). Karena kekurangan insulin menyebabkan glukosa tetap ada di dalam aliran darah dan tidak dapat digunakan sebagai energi. Beberapa penyebab pankreas tidak dapat menghasilkan cukup insulin pada penderita diabetes tipe 1, antara lain karena: a.
Faktor keturunan atau genetika. Jika salah satu atau kedua orang tua menderita diabetes, maka anak akan beresiko terkena diabetes.
b.
Autoimunitas yaitu tubuh alergi terhadap salah satu jaringan atau jenis selnya sendiri— dalam hal ini, yang ada dalam pankreas. Tubuh kehilangan kemampuan untuk membentuk insulin karena sistem kekebalan tubuh menghancurkan sel-sel yang memproduksi insulin.
c.
Virus atau zat kimia yang menyebabkan kerusakan pada pulau sel (kelompok-kelompok sel) dalam pankreas tempat insulin dibuat. Semakin banyak sel yang rusak, semakin besar kemungkinan seseorang menderita diabetes.
2.
Diabetes tipe II
Pada diabetes tipe ini, penderita mampu menghasilkan insulin, tetapi insulin yang dihasilkan tidak dapat digunakan sebagaimana mestinya di dalam tubuh. Jenis ini adalah jenis yang paling umum (Marhendra, 2008). Beberapa penyebab utama diabetes tipe 2 dapat diringkaskan sebagai berikut: a.
Faktor keturunan, apabila orang tua atau adanya saudara sekandung mengalaminya.
yang
b.
Pola makan atau gaya hidup yang tidak sehat. Banyaknya gerai makanan cepat saji (fastfood) yang menyajikan makanan berlemak dan tidak sehat.
c.
Kadar kolesterol yang tinggi.
d.
Jarang berolahraga.
e.
Obesitas atau kelebihan berat badan.
3.
Diabetes masa kehamilan (gestational)
Diabetes masa kehamilan berkembang pada masa kehamilan. Diabetes ini biasanya hilang setelah sang bayi dilahirkan, tetapi masih terdapat kemungkinan bahwa wanita ini akan
Universitas Sumatera Utara
8 menderita diabetes jenis 2 dalam hidupnya nanti. Diabetes masa kehamilan (gestational) ini disebabkan oleh hormon kehamilan.
2.1.2 Faktor-Faktor Penyebab Diabetes Beberapa faktor yang dapat menyuburkan dan sering merupakan faktor penyebab diabetes mellitus adalah sebagai berikut: 1.
Kurang gerak.
2.
Makan berlebihan.
3.
Kehamilan.
4.
Kekurangan produksi hormon insulin.
5.
Penyakit hormon yang kerjanya berlawanan dengan insulin (Soegono, 2004).
2.1.3 Gejala dan Tanda-Tanda Awal Diabetes
Beberapa gejala dan tanda-tanda umum diabetes adalah sebagai berikut: 1.
Sering buang air kecil.
2.
Sering merasa sangat haus.
3.
Sering lapar karena tidak mendapat cukup energi sehingga tubuh memberi sinyal lapar.
4.
Penurunan berat badan secara tiba-tiba meski tidak ada usaha menurunkan berat badan. Hal ini karena sewaktu tubuh tidak dapat menyalurkan gula ke dalam sel-selnya, tubuh membakar lemak dan proteinnya sendiri untuk mendapatkan energi.
5.
Sering kesemutan pada kaki atau tangan.
6.
Mengalami masalah pada kulit seperti gatal atau borok.
7.
Jika mengalami luka, butuh waktu lama untuk dapat sembuh.
Universitas Sumatera Utara
9 8.
Perubahan perilaku seperti mudah tersinggung. Penyebabnya karena penderita diabetes tipe 1 sering terbangun pada malam hari untuk buang air kecil sehingga tidak dapat tidur nyenyak.
9.
Mudah merasa lelah.
2.1.4 Diagnosis
Diagnosis diabetes mellitus hanya bisa dipastikan setelah terbukti dengan pemeriksaan glukosa darah. Tabel 2.1. Kadar Gula Darah Keadaan
Kadar gula darah Normal
Pradiabetes
Diabetes
Kadar gula setelah puasa
< 100 mg/dl
100 - 126 mg/dl
> 126 mg/dl
Kadar gula 2 jam setelah makan
< 140 mg/dl
140 - 200 mg/dl
> 200 mg/dl
2.1.5 Prinsip Perencanaan Makan bagi Penderita Diabetes Mengidap penyakit diabetes sering dikaitkan dengan tidak boleh makan gula. Memang benar gula menaikkan glukosa darah namun perlu diketahui bahwa semua makanan juga menaikkan glukosa darah. Yang perlu dilakukan adalah makan sesuai kebutuhan kalori dan teratur dalam hal jumlah, jenis dan waktu makan. Secara umum, tujuan dari perencanaan makan adalah membantu penderita diabetes untuk mendapatkan kontrol metabolik yang lebih baik, dan beberapa tambahan tujuan khusus yaitu sebagai berikut : a.
Mempertahankan kadar glukosa darah mendekati normal dengan keseimbangan asupan makanan dengan insulin (endogen atau eksogen) atau obat hipoglikemik oral dan tingkat aktifitas.
b.
Mencapai kadar serum lipid yang optimal.
Universitas Sumatera Utara
10 c.
Memberikan energi yang cukup untuk mencapai atau mempertahankan berat badan yang memadai pada orang dewasa, mencapai pertumbuhan dan perkembangan yang normal pada anak dan remaja, untuk peningkatan kebutuhan metabolik selama kehamilan dan laktasi atau penyembuhan dari penyakit katabolik.
d.
Berat badan memadai diartikan sebagai berat badan yang dianggap dapat dicapai dan dipertahankan baik jangka pendek maupun jangka panjang oleh penderita diabetes. Ini mungkin saja tidak sama dengan yang biasanya didefenisikan sebagai berat badan idaman.
e.
Menghindari dan menangani komplikasi akut orang dengan diabetes yang menggunakan insulin seperti hipoglikemia, penyakit-penyakit jangka pendek, masalah yang berhubungan dengan latihan jasmani dan komplikasi kronik diabetes seperti penyakit ginjal, neuropati autonomik, hipertensi, dan penyakit jantung.
f.
Meningkatkan kesehatan secara keseluruhan melalui gizi yang optimal.
2.1.5.1 Perencanaan Gizi pada Diabetes Mellitus II
Penekanan tujuan perencanaan gizi pada diabetes mellitus tipe II terdapat pada pengendalian glukosa, lipid dan hipertensi. Penurunan berat badan dan diet hipokalori (pada pasien yang gemuk) biasanya memperbaiki kadar glikemik jangka pendek dan mempunyai potensi meningkatkan kontrol metabolik jangka lama. Diet dengan kalori yang sangat rendah pada umumnya tidak efektif untuk mencapai penurunan berat jangka lama, dalam hal ini perlu ditekankan bahwa tujuan diet adalah pada pengendalian glukosa dan lipid (Johnson, 1998). Namun demikian pada sebagian individu penurunan berat badan dapat juga dicapai dan dipertahankan. Perencanaan makan haruslah dengan kandungan zat gizi yang cukup dan disertai pengurangan total lemak terutama lemak jenuh. Pengaturan porsi makanan sedemikian rupa sehingga asupan zat gizi tersebar sepanjang hari. Penurunan berat badan ringan atau sedang (lima sampai sepuluh kilogram), sudah terbukti dapat meningkatkan kontrol diabetes, walaupun berat badan ideal tidak tercapai. Penurunan berat badan dapat diusahakan tercapai dengan baik dengan penurunan asupan energi yang moderat dan peningkatan pengeluaran
Universitas Sumatera Utara
11 energi (Marhendra, 2008). Dianjurkan pembatasan kalori sedang yaitu 250-500 kkal lebih rendah dari asupan rata-rata sehari.
2.1.5.2 Kebutuhan Kalori
Ada beberapa cara untuk menentukan jumlah kalori yang dibutuhkan oleh penderita diabetes. Diantaranya adalah dengan memperhitungkan kebutuhan kalori basal yang besarnya 25-30 kalori per kilogram (kg) berat badan ideal, ditambah dan dikurangi bergantung pada beberapa faktor yaitu jenis kelamin, aktifitas, kehamilan / laktasi, adanya komplikasi dan berat badan. Cara yang lain adalah dengan pegangan kasar yaitu untuk penderita diabetes kurus memerlukan 2300-2500 kalori, normal 1700-2100 kalori dan gemuk 1300-1500 kalori. Tabel 2.2 Kebutuhan Kalori Penderita Diabetes Kalori / BB Ideal
Berat Badan (BB) Ideal
Kerja Santai
Kerja Sedang
Kerja Berat
Gemuk
25
30
35
Normal
30
35
40
Kurus
35
40
40-50
2.1.5.2.1
Faktor-Faktor yang Menentukan Kebutuhan Kalori.
Adapun faktor-faktor yang menentukan kebutuhan kalori adalah sebagai berikut : 1.
Jenis Kelamin
Kebutuhan kalori pada wanita lebih kecil daripada pria, untuk ini dapat dipakai 25 kalori/ kg BB untuk wanita dan angka 30 kal/ kg BB untuk pria. 2.
Umur a.
Pada bayi dan anak-anak kebutuhan kalori adalah jauh lebih tinggi dari pada orang dewasa, dalam tahun pertama bisa mencapai 112 kal/ kg BB.
Universitas Sumatera Utara
12 b. Umur satu tahun membutuhkan lebih kurang 1000 kalori dan selanjutnya pada anank-anak lebih daripada satu tahun mendapat tambahan 100 kalori untuk tiap tahunnya. c.
Penurunan kebutuhan kalori diatas 40 tahun harus dikurangi lima persen (5%) untuk tiap dekade antara 40 dan 59 tahun, sedangkan antara 60 dan 69 tahun dikurangi 10%, dan umur diatas 70 tahun dikurangi 20%.
3.
Aktifitas Fisik atau Pekerjaan
Jenis aktifitas yang berbeda membutuhkan kalori yang berbeda pula. Jenis aktifitas dikelompokan sebagai berikut: a.
Keadaan istirahat : kebutuhan kalori basal ditambah 10%.
b. Ringan : pegawai kantor, pegawai toko, guru, ahli hukum, ibu rumah tangga, dan lain-lain. Kebutuhan harus ditambah 20% dari kebutuhan basal. c.
Sedang : pegawai di industri ringan, mahasiswa, militer yang tidak sedang perang, kebutuhan dinaikkan menjadi 30% dari basal.
d. Berat : petani, buruh, militer dalam keadaan latihan, penari, atlit, kebutuhan ditambah 40%. e.
Sangat berat : tukang becak, tukang gali, pandai besi, kebutuhan harus ditambah 50% dari basal.
4.
Kehamilan/ laktasi
Pada permulaan kehamilan diperlukan tambahn 150 kalori/ hari dan pada trimester II dan III 350 kalori/ hari. Pada waktu laktasi diperlukan tambahan sebanyak 550 kalori/ hari. 5.
Adanya komplikasi
Infeksi, trauma atau operasi yang menyebabkan kenaikan suhu memmerlukan tambahan kalori sebesar 13% untuk tiap kenaikan satu derajat celcius. 6.
Berat badan
Bila kegemukan atau terlalu kurus, dikurangi atau ditambah sekitar 20-30% bergantung kepada tingkat kegemukan atau kekurusannya.
Universitas Sumatera Utara
13 2.1.5.3 Kebutuhan Gizi Penderita diabetes memerlukan takaran gizi yang seimbang, yang terdapat protein, lemak, karbohidrat, serat, natrium dan vitamin. 1.
Protein
Hanya sedikit data ilmiah untuk membuat rekomendasi yang kuat tentang asupan protein orang dengan diabetes. ADA (American Diabetes Association) menganjurkan mengkonsumsi 10 % - 20% energi dari protein total. Menurut konsensus pengelolaan diabetes di Indonesia, kebutuhan protein untuk penderita diabetes adalah 10% - 20% energi. 2.
Lemak
Asupan lemak dianjurkan <10% energi dari lemak jenuh dan tidak lebih 10% energi dari lemak tidak jenuh, sedangkan selebihnya yaitu 60% - 70% total energi dari karbohidrat dan lainnya. Distribusi energi dari lemak dan karbohidrat dapat berbeda-beda setiap individu berdasarkan pengkajian gizi dari hasil pemeriksaan glukosa, lipid dan berat badan yang diinginkan. 3.
Lemak Jenuh dan Kolesterol
Tujuan utama pengurangan konsumsi lemak jenuh dan kolesterol adalah menurunkan resiko penyakit kardiovaskular. Oleh karena itu, < 10% asupan energi sehari seharusnya dari lemak jenuh dan kolesterol makanan hendaknya dibatasi tidak lebih dari 300mg perhari. Namun demikian rekomendasi ini harus disesuaikan dengan latar belakang budaya dan etnik. 4.
Karbohidrat
Anjuran konsumsi karbohidrat untuk penderita diabetes di Indonesia adalah 60 – 70% energi. 5.
Serat
Anjuran asupan serat untuk penderita diabetes sama dengan untuk orang yang tidak mengidap diabetes yaitu dianjurkan 20 – 35 gram serat makanan dari berbagai sumber bahan makanan. Di Indonesia anjurannya adalah 25 gram per hari dengan mengutamakan serat larut.
Universitas Sumatera Utara
14 6.
Natrium
Anjuran asupan natrium untuk penderita diabetes sama dengan untuk orang yang tidak mengidap diabetes yaitu tidak lebih dari 3000 mg. 7.
Gula
Gula dan produk-produk lain dari gula dikurangi, kecuali pada keadaan tertentu, misalnya pasien dengan diet rendah protein dan yang mendapat makanan cair, gula boleh diberikan untuk mencukupi kebutuhan kalori dam jumlah terbatas. Penggunaan gula sedikit dalam bumbu diperbolehkan sehingga memungkinkan pasien dapat makan makanan keluarga. Anjuran penggunaan gula untuk penderita diabetes yaitu tidak lebih dari 5% kebutuhan kalori total.
2.1.6 Standar Diet Diabetes Mellitus Untuk perencanaan pola makan sehari, pasien diberi petunjuk berapa kebutuhan bahan makanan setiap kali makan dalam sehari dalam bentuk penukar (P). Berdasarkan pola makan tersebut dan daftar bahan makanan penukar, dapat disusun menu makanan sehari-hari.
2.1.7 Daftar Bahan Makanan Penukar
Daftar bahan makanan penukar adalah suatu daftar nama bahan makanan dengan ukuran tertentu dan dikelompokkan berdasarkan kandungan kalori, protein, lemak dan hidrat arang. Setiap kelompok bahan makanan dianggap mempunyai nilai gizi yang kurang lebih sama. Dikelompokkan menjadi tujuh kelompok bahan makanan yaitu : a.
Golongan 1 : bahan makanan sumber karbohidrat.
b.
Golongan 2 : bahan makanan sumber protein hewani.
c.
Golongan 3 : bahan makanan sumber protein nabati.
d.
Golongan 4 : sayuran.
Universitas Sumatera Utara
15 e.
Golongan 5 : buah-buahan.
f.
Golongan 6 : susu.
g.
Golongan 7 : minyak.
h.
Golongan 8 : makanan tanpa kalori.
2.2
Algoritma Genetika
Algoritma genetika adalah algoritma pencarian heuristik yang didasarkan atas mekanisme evolusi geologis. Algoritma ini pertama kali dikembangkan oleh John Holland dari Universitas Michigan (1975). John Holland mengatakan bahwa setiap masalah yang berbentuk adaptasi (alami atau buatan) dapat diformulasikan dalam terminologi genetika. Algoritma genetika adalah simulasi dari proses evolusi Darwin dan operasi genetika atas kromosom (Kusumadewi et al, 2005). Sifat algoritma genetika adalah mencari kemungkinan-kemungkinan dari calon solusi untuk mendapatkan yang optimal bagi penyelesaian masalah. Solusi yang dicari dalam algoritma genetika adalah titik (satu atau lebih) di antara solusi yang layak dalam ruang pencarian. Algoritma genetika bergerak dari suatu populasi kromosom (bit string yang direpresentasikan sebagai calon solusi suatu masalah) ke populasi baru dengan menggunakan 3 operator yaitu seleksi, crossover dan mutasi. Dengan kata lain, algoritma genetika merupakan metode adaptive yang biasa digunakan untuk memecahkan suatu pencarian nilai dalam sebuah masalah optimisasi. Beberapa defenisi penting yang perlu diperhatikan dalam algoritma genetika adalah sebagai berikut: 1. Genotype (Gen), sebuah nilai yang menyatakan satuan dasar yang membentuk arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen bisa berupa nilai biner, float, integer maupun karakter, atau kombinatorial. 2. Allele adalah nilai dari gen. 3. Kromosom yaitu gabungan gen-gen yang membentuk nilai tertentu.
Universitas Sumatera Utara
16 4. Individu, menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat. 5. Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi. 6. Generasi menyatakan satu siklus proses evolusi atau satu iterasi di dalam algoritma genetika. 7. Nilai fitness menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan.
2.2.1 Langkah-Langkah Penyelesaian Masalah dalam Algoritma Genetika Deskripsi sederhana algoritma genetika adalah sebagai berikut : 1.
[Start] Generate populasi pertama secara random sebanyak n individu.
2.
[Fitness] Evaluasi nilai fitness f(x) dari setiap individu x didalam populasi.
3.
[New Population] Bentuk populasi baru dengan melalukan pengulangan langkah-langkah dibawah ini sehingga didapatkan populasi baru.
4.
[Selection] Pilih 2 individu sebagai orangtua dari sebuah populasi sesuai dengan fitness mereka. Semakin baik fitness, maka semakin besar peluang mereka untuk dipilih.
5.
[Crossover] Lakukan persilangan antara kedua orangtua sesuai dengan probabilitas crossover untuk membentuk keturunan baru. Jika terjadi persilangan maka keturunan yang dihasilkan akan sama persis dengan orangtuanya.
6.
[Mutation] Mutasi setiap keturunan yang baru sesuai dengan probabilitas mutasi disetiap gen.
7.
[Accepting] Tempatkan keturunan yang baru sebagai populasi yang baru.
8.
[Replace] Gunakan populasi yang baru dibentuk untuk menjalankan algoritma.
9.
[Test] Jika kondisi akhir dipenuhi maka berhenti dan tampilkan solusi dari populasi.
10. [Loop] Kembali ke nomor 2 (Kusumadewi et al, 2005).
Universitas Sumatera Utara
17 2.2.2 Penerapan Algoritma Genetika
2.2.2.1 Teknik Pengkodean Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom, dimana gen merupakan bagian dari kromosom. Satu gen biasanya mewakili satu variabel. Gen dapat direpresentasikan dalam bentuk bit, bilangan real, atau representasi lainnya yang dapat diimplementasikan untuk operator genetika.
2.2.2.2 Membangun Generasi Awal Populasi awal ini dibangkitkan secara random atau acak sehingga didapatkan solusi awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan solusi yang diinginkan (Desiani et al, 2006). Teknik dalam pembangkitan populasi awal ada beberapa cara, diantaranya adalah sebagai berikut: 1.
Random Generator
Inti dari cara ini adalah melibatkan pembangkitan bilangan random untuk nilai setiap gen sesuai dengan representasi kromosom yang digunakan. 2.
Pendekatan Tertentu (Memasukkan Nilai Tertentu ke dalam Gen)
Cara ini adalah dengan memasukkan nilai tertentu ke dalam gen dari populasi awal yang dibentuk. 3.
Permutasi Gen
Salah satu cara permutasi gen dalam pembangkitan populasi awal adalah penggunaan permutasi Josephus.
Universitas Sumatera Utara
18 2.2.2.3 Reprentasi Kromosom
Algoritma genetika tidak beroperasi dengan penyelesaian asli dari suatu masalah tetapi beroperasi dengan penyelesaian yang telah direprentasikan. Representasikan kromosom merupakan proses pengkodean dari penyelesaian asli dari suatu permasalahan. Pengkodean kandidat penyelesaian ini disebut dengan kromosom. Pengkodean tersebut meliputi penyandian gen, dengan satu gen mewakili satu variabel (Mitchell, 1999).
2.2.2.4 Mencari Fitness Cost Fungsi fitness merupakan ukuran kinerja suatu individu agar tetap bertahan hidup dalam lingkungannya. Fungsi fitness digunakan untuk proses evaluasi kromosom agar memperoleh kromosom yang diinginkan. Fungsi ini membedakan kualitas dari kromosom untuk mengetahui seberapa baik kromosom yang dihasilkan.
2.2.2.5 Pengurutan (Sorting) Individu yang terdapat pada populasi diurutkan berdasarkan fitness cost-nya. Tujuan utama dari tahap ini adalah untuk mencari individu terbaik pada populasi yang ada, yang dapat dikatakan sebagai solusi terbaik sementara. Pada prinsipnya, solusi akhir algoritma genetika adalah dari solusi sementara, tergantung dari beberapa generasi, populasi ini akan diulang. Tahap ini
sekaligus merupakan tahap pemilihan solusi yang tepat diantara solusi yang
ada.
2.2.2.6 Proses Regenerasi Untuk proses regenerasi terdapat 2 metode yaitu elitism method dan non-elitism method. 1.
Elitsm method yaitu metode dimana individu-individu yang akan mengalami proses regenerasi, yaitu proses mutasi dan crossover adalah invidu-individu dengan nilai fitness rendah, sedangkan individu dengan nilai fitness tertinggi atau gen terbaik akan dipertahankan untuk dibandingkan lagi dengan individu hasil prose regenerasi. Hal ini
Universitas Sumatera Utara
19 berarti bahwa sekurang-kurangnya satu solusi terbaik yang diperoleh dapat dipertahankan sampai akhir proses. 2.
Non-elitism method, suatu metode regenerasi yang melibatkan semua individu baik individu/gen terbaik maupun gen yang kurang baik (individu dengan nilai fitness rendah).
2.2.2.7 Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam kromosom. Pada prinsipnya, mutasi adalah perubahan yang terjadi pada satu individu, terlepas dari pengaruh individu yang lain atau dapat dikatakan bahwa mutasi merupakan proses yang tidak memerlukan individu lain. Mutasi dilakukan dengan cara mengubah kode string secara probabilitas, sehingga mutasi ini seperti random walk search dalam string space, dimana setiap gen mempunyai peluang yang sama untuk terjadi mutasi.
2.2.2.8 Proses Crossover (Persilangan)
Crossover adalah proses penggabungan string dari dua kode yang berbeda, ini berarti kita mencoba mengambil bagian solusi yang baik dari dua solusi yang berlainan, dengan harapan akan dihasilkan suatu solusi yang terbaik. Crossover dilakukan dengan beberapa langkah sederhana, yaitu: 1.
Pilih lokasi pada string tersebut secara random.
2.
Pilih panjang string yang akan dikawinkan secara random.
3.
Menukar-tempatkan gen yang pilih tersebut dengan bagian string dari gen terbaik.
4.
Memposisikan bagian kromosom yang tidak tertukar. Dari populasi yang ada, diambil individu sepasang demi sepasang untuk disilangkan.
Pada kasus penyusunan menu, adanya persilangan diizinkan dengan ketentuan bahwa
Universitas Sumatera Utara
20 perulangan dengan selang waktu sejauh mungkin memiliki nilai fitness yang lebih baik daripada perulangan dengan selang waktu yang lebih kecil.
2.2.2.9 Tahap Pengulangan
Setelah proses regenerasi selesai, maka dilakukan pengulangan proses ini sampai sejumlah generasi yang dikehendaki. Gen dari generasi sebelumnya digantikan posisinya dengan generasi baru. Individu yang diperoleh dari mutasi dan crossover dianggap sebagai populasi awal lagi. Pada akhir proses pengulangan ini diharapkan diperoleh individu terbaik dengan fitness cost sama dengan 0.
2.2.3 Diagram Alir Algoritma Genetika
Gambar 2.1. Diagram Alir Algoritma Genetika Sederhana
Universitas Sumatera Utara
21 2.3
PHP ( PHP Hypertext Preprocessor )
PHP (akronim dari PHP Hypertext Preprocessor) yang merupakan bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server. Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server (dapat dilihat pada gambar dibawah).
Get Pages
HTTP Request
WEB BROWSER Server Response
CLIEN T Browser creates the web page
Hello”; ?>
Hello
HELLO
Gambar 2.2 Ilustrasi Kerja PHP Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan hal-hal sebagai berikut : a.
Membaca permintaan dari client/ browser.
b.
Mencari halaman/ page di server.
Universitas Sumatera Utara
22 c.
Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/ page.
d.
Mengirim kembali halaman tersebut kepada client melalui internet atau intranet.
2.3.1 Sejarah Singkat PHP PHP diciptakan pertama kali oleh Rasmus Lerdorf pada tahun 1994. Awalnya, PHP digunakan untuk mencatat jumlah serta untuk mengetahui siapa saja pengunjung pada homepage-nya. Rasmus Lerdorf adalah salah seorang pendukung open source. Oleh karena itu, ia mengeluarkan Personal Home Page Tools versi 1.0 secara gratis. Kemudian menambah kemampuan PHP 1.0 dan meluncurkan PHP 2.0 (Kasiaman Peranginangin. 2006). Pada tahun 1996, PHP telah banyak digunakan dalam website di dunia. Sebuah kelompok pengembang software yang terdiri dari Rasmus, Zeew Suraski, Andi Gutman, Stig Bakken, Shane Caraveo dan Jim Winstead bekerja sama untuk menyempurnakan PHP 2.0. Akhirnya pada tahun 1998, PHP 3.0 diluncurkan. Penyempurnaan terus dilakukan sehingga pada tahun 2000 dikeluarkan PHP 4.0 dan versi terbaru yang dikeluarkan adalah PHP 5.3.1.
2.3.2 Kelebihan-Kelebihan PHP PHP memiliki banyak kelebihan yang tidak dimiliki oleh bahasa script sejenis, antara lain sebagai berikut: a.
PHP dapat dijalankan pada platform yang berbeda-beda (Windows, Linux, Unix, dan lain-lain).
b.
PHP merupakan web scripting open source.
c.
PHP mudah dipelajari.
d.
PHP mendukung terhadap banyak database (Adabas D, dBase, Direct MS-SQL, Empress, FilePro, FrontBase, Hyperwave, IBM DB2 dan Informix).
Universitas Sumatera Utara
23
Banyak Relational Database Management System (RDBMS) yang tersedia, tetapi MySQL khususnya sangat cocok untuk bekerja sama dengan PHP.
2.4
MySQL
MySQL adalah sebuah implementasi dari sistem manajemen basis data relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basis data yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basis data, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Kehandalan suatu sistem basis data (DBMS) dapat diketahui dari cara kerja pengoptimasinya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. MySQL mendukung operasi basis data transaksional maupun operasi basis data non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak basis data kompetitor lainnya. Namun demikian pada modus nontransaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web, CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basis data transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.
Universitas Sumatera Utara
24 2.4.1 Keistimewaan MySQL MySQL memiliki beberapa keistimewaan, antara lain : 1.
Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
2.
Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
3.
Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4.
Performance tuning. MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
5.
Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed/ unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
6.
Perintah dan fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
7.
Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
8.
Skalabilitas dan pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
9.
Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya. 11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
Universitas Sumatera Utara
25 12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. 13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
Universitas Sumatera Utara