Procedure Advance_Random, WarmUp_Random, dan Procedure InitPop Procedure Elitism

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