Abstrak
96
Jurnal Coding Sistem Komputer Untan ISSN: 2338-493X
Volume 04, No.2 (2016), hal. 96-106
97
Jurnal Coding Sistem Komputer Untan ISSN: 2338-493X
Volume 04, No.2 (2016), hal. 96-106
98
Jurnal Coding Sistem Komputer Untan ISSN: 2338-493X
Volume 04, No.2 (2016), hal. 96-106
3. METODOLOGI PENELITIAN
Metodologi penelitian pada penelitian ini Gambar 2 Skema Model Genetika
yaitu studi literature untuk mencari
Pada model genetika penyusunan menu
referensi dari berbagai sumber, setelah itu
makanan komponen Sumber karbohidrat,
pengumpulan data yang diperlukan dalam
sumber protein hewani, sumber protein
penelitian, data yang telah didapat
nabati, sayuran dan buah-buahan adalah
selanjutnya dianalisis data yang akan
gen. selanjutnya gen tersebut dikodekan
digunakan sebagai input, selanjutnya
sebagai berikut :
dilakukan perancangan untuk
diimplementasikan pada sistem, setelah itu ‘k’ = untuk makanan sumber
dilakukan pengujian untuk melihat apakah karbohidrat
sistem berjalan sesuai dengan tujuan ‘h’ = untuk makanan sumber protein
penelitian. hewani
‘n’ = untuk makanan sumber protein
4. PERANCANGAN SISTEM
nabati
4.1 Perancangan Algoritma Genetika ‘s’ = untuk sayuran
‘b’ = untuk buah-buahan
Pada perancangan algoritma genetika dalam
penelitian ini terdapat enam tahapan yaitu Kromosom merupakan gabungan dari
pengkodean kromosom, pembentukan beberapa gen, gabungan dari beberapa
populasi awal, evaluasi fitness, seleksi, kromosom akan membentuk individu, dan
crossover dan mutasi. Tahapan perancangan beberapa individu yang sama akan
algoritma genetika pada penelitian ini dapat membentuk populasi.
dilihat pada gambar 1.
2. Pembentukan Populasi Awal
Populasi awal terdiri dari 15 gen dalam
setiap kromosom yang terdiri dari 5 gen
untuk makan pagi, 5 gen untuk makan
siang dan 5 gen untuk makan malam. Gen
tersebut merupakan golongan makanan
yang terdiri dari sumber karbohidrat,
sumber protein hewani, sumber protein
nabati, sayuran dan buah-buahan.
Contoh Kromosom :
99
Jurnal Coding Sistem Komputer Untan ISSN: 2338-493X
Volume 04, No.2 (2016), hal. 96-106
100
Jurnal Coding Sistem Komputer Untan ISSN: 2338-493X
Volume 04, No.2 (2016), hal. 96-106
101
Jurnal Coding Sistem Komputer Untan ISSN: 2338-493X
Volume 04, No.2 (2016), hal. 96-106
b6 Pir 100 40
b7 Jeruk Pontianak 100 40 3. Seleksi
b8 Pisang 75 40 Proses seleksi pada penelitian ini pertama-
b9 Semangka 150 40 tama dilakukan pencarian nilai probabilitas
b10 Sirsak 50 40 seperti pada kode program 3.
b11 Sawo 50 40 Kode program 3 Mencari probabilitas
'Mencari Probabilitas
Tot = 0
4.4 Penetapan Keluaran ProgressBar1.Value = 50
Rs4Open "SELECT SUM(jmlfitness2) FROM tkromosomawal"
Keluran dari aplikasi ini adalah daftar If Rs4.RecordCount > 0 Then
Tot = Rs4.Fields(0).Value
menu makan pagi, siang dan malam untuk End If
tujuh hari. Daftar menu makanan tersebut
berupa nama makanan dan jumlahnya Setelah didapat nilai probabilitas
dalam gram yang telah disesuaikan dengan selanjutnya akan dicari nilai probabilitas
kebutuhan kalori pengguna dalam satu komulatifnya seperti pada kode program 4.
hari.
Kode program 4 probabilitas Komulatif
'Mencari Probabilitas Komulatif
5. IMPLEMENTASI DAN Rs6Open "SELECT id,jmlprobalitas FROM tkromosomawal"
If Rs6.RecordCount > 0 Then
PEMBAHASAN Tot3 = 0
Rs6.MoveFirst
5.1 Implementasi Algoritma Genetika While Not Rs6.EOF
ProgressBar1.Value = 0
Implementasi algoritma genetika Tot3 = Tot3 + Rs6!jmlprobalitas
merupakan penerapan perancangan ProgressBar1.Value = 30
If CBool(InStr(Tot3, ",")) Then
algoritma genetika menggunakan Visual Str2 = Trim(Replace(Str(Tot3), ",", "."))
Else
Basic 6.0. Implementasi algoritma genetika Str2 = Trim(Str(Tot3))
End If
ini dilakukan dengan 5 tahapan yaitu:
102
Jurnal Coding Sistem Komputer Untan ISSN: 2338-493X
Volume 04, No.2 (2016), hal. 96-106
Setelah itu dilakukan seleksi roulete wheel ditunjukkan pada kode program7. Hasil dari
dengan membangkitkan nilai secara acak proses mutasi ini akan menghasilkan
yang ditunjukkan pada kode program 5. kromosom baru.
Kode program 5 Proses seleksi roulete Kode program 7 Proses mutasi
wheel
Private Sub MyProsesMutasi(Angka As Integer, Pm As Double)
'Seleksi Roulete Wheel 'hapus data tabel random3
Rs1Open "SELECT * FROM trandomangka ORDER BY ID ASC" db.Execute "DELETE FROM trandomangka3"
If (Rs1.RecordCount > 0) Then x = Angka * 15
Tot = 0 y = Round(Pm * x)
Rs1.MoveFirst Awal = 0
While Not Rs1.EOF p=x+1
ProgressBar1.Value = 0 For i = 1 To y
Tot = Rs1!nilai Ada = True
If CBool(InStr(Tot, ",")) Then While Ada
Str2 = Trim(Replace(Str(Tot), ",", ".")) Awal = Round(Rnd() * p)
Else If (Awal >= 1) And (Awal <= x) Then
Str2 = Trim(Str(Tot)) Rs1Open "SELECT * FROM trandomangka3 WHERE acak = " &
End If Awal
If (Rs1.RecordCount <= 0) Then
Ada = False
End If
End If
Setelah didapatkan nilai acak roulete wheel
selanjutnya nilai tersebut dibandingkan 5.2 Implementasi Antarmuka
dengan nilai probabilitas komulatif,
dimana kromosom yang terpilih adalah Implementasi antarmuka terdiri dari :
kromosom yang memiliki nilai probabilitas 1. Tampilan Data Karbohidrat
komulatif lebih besar dari nilai acak
roulete wheel. Kromosom yang terpilih Menu data karbohidrat digunakan untuk
akan menjadi kromosom baru yang menginputkan data karbohidrat yang
selanjutnya akan di crossover. berupa kode karbohidrat, nama
karbohidrat, berat dan kalori. Data tersebut
4. Crossover dapat di tambah, di simpan, di hapus dan di
Proses crossover dilakukan pada dua refresh seperti pada gambar 3. Untuk
kromosom untuk menghasilkan kromosom keluar dapat mengklik tanda silang atau
baru. Pemilihan kromosom yang akan di klik keluar.
crossover dilakukan secara acak seperti
pada kode program 6. Kromosom hasil
crossover menghasilkan kromosom baru
yang akan dimutasi.
Kode program 6 Proses crossover
Private Sub MyProsesCrossOver(Angka As Integer, Pc As Double)
Acak1 = 0
For i = 1 To Angka
Acak1 = Rnd()
If CBool(InStr(Acak1, ",")) Then
Str2 = Trim(Replace(Str(Acak1), ",", "."))
Else
Str2 = Trim(Str(Acak1))
End If
db.Execute "UPDATE trandomangka SET nilai2 = " & Str2 & " WHERE ID
="&i
Next i
Gambar 3 Tampilan data karbohidrat
2. Tampilan Data Protein Hewani
5. Mutasi Menu data protein hewani digunakan untuk
Proses mutasi ini dilakukan dengan menginputkan data protein hewani yang
memilih kromosom-kromosom yang akan berupa kode protein hewani, nama protein
dimutasi secara acak, kemudian hewani, berat dan kalori. Data tersebut
menentukan titik-titik mutasi pada dapat di tambah, di simpan, di hapus dan di
kromosom secara acak juga. Proses ini refresh seperti pada gambar 4. Untuk
dilakukan dengan menukar dua kromosom keluar dapat mengklik tanda silang atau
yang telah dipilih secara acak yang klik keluar.
103
Jurnal Coding Sistem Komputer Untan ISSN: 2338-493X
Volume 04, No.2 (2016), hal. 96-106
104
Jurnal Coding Sistem Komputer Untan ISSN: 2338-493X
Volume 04, No.2 (2016), hal. 96-106
105
Jurnal Coding Sistem Komputer Untan ISSN: 2338-493X
Volume 04, No.2 (2016), hal. 96-106
106