Gambar 32. Ilustrasi Mutasi Kromosom Algoritma genetika membutuhkan struktur program agar dapat
menemukan solusi yang optimal. Struktur tersebut terdiri dari dua belas prosedur dan enam fungsi. Prosedur dan fungsi yang
diperlukan dalam algortima genetika adalah sebagai berikut :
i. Procedure Advance_Random, WarmUp_Random, dan
Randomize Prosedur untuk membangkitkan bilangan acak pada komputer
ii. Procedure Statistics
Prosedur menghitung dan menyimpan nilai fitness rata-rata, minimum, dan maksimum untuk tiap generasi kemudian
dapat ditampilkan dalam bentuk grafik.
iii. Procedure InitData
Prosedur untuk menginisialisasi variabel-variabel algoritma genetika seperti panjang kromosom, jumlah populasi, jumlah
mutasi, jumlah penyilangan, dan persiapan pembangkitan bilangan acak.
iv. Procedure InitReport
Prosedur untuk menampilkan laporan tentang informasi populasi awal atau generasi ke-0 yang mencakup struktur
kromosom, nilai fitness tiap kromosom, dan statistik nilai fitness
.
v. Procedure InitPop
Prosedur untuk membuat suatu populasi awal secara acak dengan kromosom representasi integer yang legal.
9 6
5 1
9 3
4 2
9 6
3 1
9 3
4 2
Kromosom
Kromosom
vi. Procedure Initialize
Prosedur untuk menghimpun prosedur InitData, InitPop, Statistics,
dan InitReport. vii.
Procedure Crossover
Prosedur untuk menyilangkan dua buah kromosom dengan teknik one point crossover.
viii. Procedure Generation
Prosedur untuk mengembangbiakan kromosom-kromosom hingga generasi maksimum. Di dalamnya terdapat proses
seleksi, penyilangan, dan mutasi.
ix. Procedure Report
Prosedur pembuatan output file berupa laporan kinerja algoritma genetika dari generasi ke generasi yang
menginformasikan secara detail tentang struktur kromosom induk dan anak, titik penyilangan, jumlah penyilangan,
jumlah mutasi, nilai fitness, dan nilai statistik fitness.
x. Procedure Elitism
Prosedur untuk memilih kromosom anak yang terbaik dengan membandingkan kromosom anak terhadap kromosom induk
dimana nilai fitness yang terbaik akan dijadikan kromosom anak.
xi. Function Random
Fungsi untuk membangkitkan sebuah bilangan acak dari rentang 0 – 1.
xii. Function Flip
Fungsi untuk menghasilkan nilai boolean true apabila bilangan acak yang dibangkitkan lebih kecil atau sama
dengan nilai probabilitas penyilangan ataupun mutasi.
xiii. Function Rnd
Fungsi untuk membangkitkan bilangan acak dari rentang tertentu yang digunakan untuk membangkitkan nilai-nilai
solusi kromosom dari variabel-variabel keputusan.
xiv. Function Decode
Fungsi untuk memindahkan nilai gen pada kromosom ke dalam suatu variabel.
xv. Function Select
Fungsi utnuk memilih kromosom induk menggunakan teknik turnament selection
.
xvi. Function FitFunc
Fungsi untuk menghitung nilai fitness dari suatu kromosom yang merupakan nilai dari fungsi Total Cost.
d. Model Perencanaan Kebutuhan Bahan Baku
Model perencanaan kebutuhan bahan baku merupakan bentuk perencanaan yang dilakukan oleh perusahaan dalam memenuhi
target produksi yang direncanakan dengan melakukan perencanaan kebutuhan bahan baku agar dapat meminimalkan biaya persediaan.
Model perencanaan bahan baku yang digunakan dalam program
Intel ERP yaitu model persediaan kuantitas pesanan ekonomis.
Menurut Herjanto 2006, kuantitas pesanan ekonomis economic order quantity, EOQ merupakan salah satu model klasik,
diperkenalkan oleh FW Harris pada tahun 1914, tetapi paling banyak dikenal dalam teknik pengendalian persediaan. Model ini
mengasumsikan bahwa permintaan dianggap konstan, persediaan berkurang dalam jumlah yang sama linear dari waktu ke waktu.
Pada saat tingkat persediaan mencapai nol, pesanan untuk kelompok baru tepat diterima, sehingga persediaan naik kembali sampai Q.
Grafik persediaan dapat dilihat pada Gambar 33.
Gambar 33. Grafik Persediaan dalam Model EOQ Model EOQ diperoleh dengan pendekatan uji coba trial and
error untuk mengetahui jumlah pesanan yang paling ekonomis.
Caranya dimulai dengan menghitung biaya-biaya yang timbul pada setiap kemungkinan frekuensi pesanan, yaitu pemesanan 1 kali
dalam satu periode, 2 kali dalam satu periode, dan seterusnya. Dengan membandingkan biaya total dari setiap frekuensi pesanan,
dapat diketahui jumlah frekuensi pesanan dan jumlah pesanan yang paling ekonomis, yaitu yang memberikan biaya total terrendah.
Apabila EOQ dituangkan dalam bentuk grafik, seperti pada Gambar 34, dapat diketahui bahwa semakin besar frekuensi
pemesanan maka biaya pemesanan akan meningkat secara linear, sedangkan biaya penyimpanan akan menurun secara eksponensial.
Biaya total minimum berada pada titik terrendah kurva biaya total, yaiut pada saat garis biaya pemesanan berpotongan dengan garis
biaya penyimpanan.
Jumlah persediaan
Q Q2
tingkat persediaan
rata-rata persediaan
Waktu
Gambar 34. Biaya Total sebagai Fungsi dari Frekuensi Pesanan
C. Implementasi