Diabetes adalah penyakit kronis yang disebabkan oleh kekurangan produksi insulin sehingga menyebabkan kadar gula darah meningkat. Terdapat tiga jenis diabetes yaitu tipe 1, tipe 2, dan gestasional. Penderita diabetes perlu mengatur pola makan dan asupan gizi untuk menjaga kadar gula darah serta mencegah komplikasi penyakit.
1. 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 masalah-
masalah 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 anak-
anak, remaja dan dewasa muda. Pada diabetes tipe 1, pankreas tidak dapat menghasilkan
Universitas Sumatera Utara
2. 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 yang
mengalaminya.
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
3. 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
4. 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
5. 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
6. 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
Berat Badan (BB)
Ideal
Kalori / 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
15. 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
16. 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).
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.
<HTML>
<?PHP
echo “<B>Hello</B>”;
?>
</HTML>
<HTML>
<B>Hello</B>
</HTML>
HELLO
Get
Pages
Server
Response
CLIEN
T
WEB
BROWSER
HTTP
Request
Browser
creates the
web page
Universitas Sumatera Utara
17. 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
18. 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 non-
transaksional 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
19. 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
20. 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