Anda di halaman 1dari 20

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

<HTML>
<?PHP
echo <B>Hello</B>;
?>
</HTML>

<HTML>
<B>Hello</B>
</HTML>

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

Anda mungkin juga menyukai