TA : Penerapan Truncation Selection Untuk Optimasi Penjadwalan Perawatan Pesawat Terbang.
PESAWAT TERBANG
Oleh:
Nama : Ony Soerjo Wibowo NIM : 98410105020 Program : S1 (Strata Satu) Jurusan : Sistem Informasi
SEKOLAH TINGGI
MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA
(2)
ix
ABSTRAKSI ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... ix
DAFTAR TABEL ... xi
DAFTAR GAMBAR ... xii
DAFTAR LAMPIRAN ... xiv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 3
1.3 Batasan Masalah ... 3
1.4 Tujuan ... 3
1.5 Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 5
2.1 Konsep Perawatan Pesawat Fokker F27 ... 5
2.2 Algoritma Genetika ... 10
2.3 Operator Algoritma Genetika ... 15
2.4 Fungsi Evaluasi ... 17
BAB III METODE PENELITIAN ... 20
3.1 Model Penelitian ... 21
3.2 Prosedur GA ... 31
3.3 Rancangan Evaluasi ... 39
(3)
x
BAB V PENUTUP ... 50
5.1 Kesimpulan ... 50
5.2 Saran ... 51
DAFTAR PUSTAKA ... 52
BIODATA ... 53
(4)
xi
Tabel 2.1 Master Schedule Program Perawatan Pesawat Fokker F27 ... 7
Tabel 2.2 Equalized Master Schedule Program Perawatan Fokker F27 ... 8
Tabel 2.3 Hubungan Proporsi T dengan Intensitas I ... 14
Tabel 3.1 Representasi Maintenance Program Menggunakan Record Atau Tuple ... 30
Tabel 3.2 Representasi Kromosom Menggunakan Record Atau Tuple ... 30
Tabel 4.1 Peralatan Evaluasi ... 42
Tabel 4.2 Kondisi Awal Database Pada Saat Evaluasi ... 42
(5)
xii
Gambar 2.1 Jadwal Perawatan Pesawat Fokker F27 ... 9
Gambar 2.2 Tukar Silang Satu Titik ... 15
Gambar 2.3 Tukar Silang Dua Titik ... 16
Gambar 2.4 Tukar Silang Sebarang Titik ... 17
Gambar 3.1 Scheduling Context Diagram ... 21
Gambar 3.2 DFD Level 0, Scheduling Management ... 22
Gambar 3.3 DFD Level 1, Scheduling Management ... 22
Gambar 3.4 DFD Level 2, Proses Manipulasi Data ... 23
Gambar 3.5 DFD Level 2, Proses GA ... 24
Gambar 3.6 DFD Level 2, Proses Pelaporan ... 25
Gambar 3.7 E-R Diagram Scheduling Management ... 25
Gambar 3.8 Individu, Kromosom dan Gen Dari Sistem Perawatan ... 29
Gambar 3.9 Flow Chart Proses Pembuatan Jadwal dengan Genetic Algorithm ... 31
Gambar 4.1 Hasil Pembangkitan 250 Populasi, 10 Individu Per Populasi dengan Truncation Level 0.3 Memakan Waktu 1 Jam 26 Menit ... 43
Gambar 4.2 Grafik Fitness Populasi Pada Truncation Level 0.2 ... 44
Gambar 4.3 Grafik Fitness Populasi Pada Truncation Level 0.3 ... 44
Gambar 4.4 Grafik Fitness Populasi Pada Truncation Level 0.7 ... 45
Gambar 4.5 Grafik Fitness Populasi Pada Truncation Level 0.8 ... 45
Gambar 4.6 Perbandingan Hasil Evaluasi dengan Truncation Level yang Berbeda ... 46
Gambar 4.7 Perbandingan Koefisien Variasi dengan Truncation Level yang Berbeda ... 47
(6)
xiii
(7)
xiv
Lampiran 1. Cara Menggunakan Aplikasi Aircraft Maintenance Scheduling ... 54
Lampiran 2. Equalized Maintenance Program Fokker F27 ... 62
Lampiran 3. Hasil Print Out Proses Dari GA Untuk Equalized Maintenance Program Fokker F27 ... 67
Lampiran 4. Listing Program Proses GA ... 72
Lampiran 5. Listing Program Print Aircraft Maintenance Program ... 136
(8)
1 1.1 Latar Belakang Masalah
Pesawat terbang merupakan alat transportasi udara yang sangat padat dengan teknologi tinggi. Faktor keselamatan merupakan penentu dari tingkat kelaikannya untuk mengudara. Untuk itu, setiap bagian struktur dan komponen yang terpasang pada pesawat tersebut harus selalu diperiksa pada interval tertentu dan dirawat sebagaimana mestinya sesuai yang tertera dalam Buku Pedoman Perawatannya.
Fokker F27 adalah sebuah pesawat terbang berbaling-baling yang bermesin ganda. Buku pedoman perawatan untuk pesawat terbang jenis Fokker F27 tersebut dituangkan dalam sebuah Master Schedule yang disebut dengan Fokker F27 Customer Maintenance Program. Meskipun merupakan jenis pesawat yang tua tetapi sampai saat ini Buku Pedoman Perawatannya masih selalu diperbarui sebagai jaminan untuk keselamatan penerbangan (airworthy).
Master Schedule pada pesawat Fokker F27, berisi jadwal perawatan yang terstruktur sedemikian rupa, seperti layaknya buku pedoman perawatan pada kendaraan bermotor pada umumnya. Dalam buku pedoman perawatan tersebut keseimbangan jumlah personil merupakan faktor yang sangat penting. Keseimbangan jumlah personil tersebut diperlukan oleh pengelola bengkel perawatan pesawat supaya mereka dapat mengatur job flow shop dalam bengkel tersebut sebab ada kemungkinan terdapat beberapa pesawat yang masuk ke bengkel pada saat yang bersamaan.
(9)
Struktur distribusi penggunaan personil dalam buku pedoman perawatan pesawat pada pesawat Fokker F27, telah dibuat oleh pabrik dengan menggunakan metode tertentu dimana susunannya diasumsikan telah optimal dalam hal pembagian jumlah personil yang dibutuhkan dalam setiap interval pelaksanaanya. Namun demikian, metode tersebut tidak diberikan kepada operator pesawat sehingga setiap kali terdapat perubahan, operator harus mengeluarkan biaya besar ke pabrik pesawat untuk menyusun kembali distribusi personil tersebut. Oleh sebab itu susunan jumlah personil yang merawat sebuah pesawat terbang sangat mempengaruhi biaya perawatan sehingga pembuatan prototype sistem informasi perawatan pesawat terbang sangat penting. Menurut hasil sebuah riset yang dilakukan oleh Joan Hao Wang (1999:18) dalam Scheduling Shipboard Maintenance Task Using Genetic Algorithms and A Heuristic Method, penyeimbangan kebutuhan personil dalam perawatan dapat dilakukan dengan metode Algoritma Genetika. Riset tersebut dilakukan pada pembuatan buku pedoman perawatan untuk sebuah kapal laut.
Berdasarkan uraian di atas, untuk membantu operator pesawat terbang dalam mengimplementasikan sistem penjadwaalan perawatan pesawat terbang, akan dibuat sebuah sistem informasi penjadwalan perawatan pesawat terbang melalui Proyek Tugas Akhir ini. Selain itu dengan menggunakan metode sama yang dilakukan oleh Joan Hao Wang, akan dilakukan pembuktian apakah penyeimbangan pembagian personil dapat dioptimalkan dengan menggunakan metode Algoritma Genetika (Genetic Algorithm – GA) dengan cara mengubah taraf Truncation Selection-nya.
(10)
1.2 Perumusan Masalah
Dengan cara mengubah taraf truncation selection pada metode GA, ingin dibuktikan apakah penyeimbangan pembagian personil dalam Buku Pedoman Perawatan Pesawat Foker F27 dapat dioptimalkan.
1.3 Pembatasan Masalah
Batasan permasalahan dari aplikasi yang akan dirancang terutama ditekankan pada Operator Genetika dengan perincian sebagai berikut :
a. Truncation Selection akan dilakukan secara variabel dengan jangkauan 0.2 – 0.8
b. Tukar Silang atau crossover yang digunakan adalah Tukar Silang Sebarang Titik (Uniform Crossover)
c. Mutasi yang ditetapkan adalah mutasi acak dengan tingkat probabilitas 0.01. d. Fungsi ketepatan (Fitness Function) untuk mendapatkan nilai optimal
menggunakan metode Mean Square Error (MSE) dan Coefficient Variation (CV) dari distribusi yang akan diukur dengan metode MSE tersebut.
1.4 Tujuan
Tujuan yang akan dicapai dalam penelitian ini adalah:
a. Membuat rancang bangun perangkat lunak yang digunakan untuk penunjang pembuatan penjadwalan perawatan pesawat secara otomatis
b. Membuktikan apakah penyeimbangan penggunaan personil dalam Buku Pedoman Perawatan Pesawat Fokker F27 dapat didekati dengan menggunakan metode Algoritma Genetika dengan cara mengubah taraf truncation selection-nya.
(11)
1.5 Sistematika Penulisan
Penulisan tugas akhir ini dibagi dalam 5 bab yaitu : BAB I PENDAHULUAN
Bab ini akan menjelaskan tentang seluruh Latar Belakang Masalah, Perumusan Masalah, Pembatasan Masalah, Tujuan, dan Sistematika Penulisan yang berhubungan dengan penelitian dalam Tugas Akhir ini. BAB II LANDASAN TEORI
Bab ini berisi teori yang berhubungan dengan Master Schedule untuk pesawat Fokker F27, penjelasan tentang Algoritma Genetika dan teori penentuan nilai fitness dengan menggunakan metode MSE.
BAB III METODE PENELITIAN
Bab ini akan membahas Desain, Proses dan Rancangan Evaluasi dari perangkat lunak yang akan dijadikan model penelitian.
BAB IV IMPLEMENTASI DAN EVALUASI
Bab ini menguji dan membahas kinerja Algoritma Genetika dalam menyelesaikan pembuatan pedoman penjadwalan pesawat terbang dengan batasan sesuai dengan sub bab 1.3, Pembatasan Masalah.
BAB V PENUTUP
Bab ini berisi kesimpulan dan saran-saran yang diambil dari hasil penelitian dan pembahasan.
(12)
5
2.1 Konsep Perawatan Pesawat Fokker F27
Buku Pedoman Perawatan yang diberikan oleh pabrik yang akan digunakan sebagai pedoman perawatan adalah sebuah panduan sebagaimana layaknya sebuah buku pedoman perawatan kendaraan bermotor yang dipegang oleh penggunanya. Keseimbangan jumlah personil yang diperlukan dalam setiap interval perawatan tersebut sangat penting karena berhubungan dengan pelaksanaannya di Bengkel Perawatan (Maintenance Facility) dimana pada saat
yang bersamaan ada kemungkinan terdapat pesawat lain yang akan atau sedang melaksanakan perawatan di bengkel tersebut. Apabila Pedoman Perawatan yang ada tidak mempunyai keteraturan dalam perencanaan penggunaan personil, maka akan sangat sulit bagi pengelola bengkel untuk menjadwal pelaksanaan perawatan untuk beberapa pesawat sekaligus di bengkelnya.
Fokker F27 adalah sebuah pesawat terbang berbaling-baling dengan mesin ganda. Pesawat ini pertama kali dibuat pada tahun 50 an. Versi terbaru dan terakhir dibuat pada tahun 70 an. Saat ini pesawat tersebut sudah tidak diproduksi lagi tetapi metode perawatannya dalam Buku Pedoman Perawatan secara terus-menerus diperbaiki sampai dengan revisi terakhir yang digunakan oleh PT. Merpati Nusantara yaitu tanggal 30 November 1995. Perbaikan atau revisi ini dilakukan sebagai bentuk tanggung jawab pabrik sebagai jaminan keselamatan (airworthy) seperti yang disyaratkan dalam Peraturan Penerbangan Sipil (Civil Aviation Safety Regulation - CASR).
(13)
Pelaksanaan perawatan pesawat Fokker F27 dilakukan pada interval tertentu. Interval tersebut dapat dinyatakan dengan Hari Kalender (Calendar Day),
Bulan (Month), Tahun (Year), Jam Terbang (Flight Hours) dan Pendaratan
(Flight Cycle).
Setiap kegiatan perawatan, selelau diperlukan personil untuk pelaksanaannya. Untuk memudahkan perhitungan dalam perencanaan perawatan, kebutuhan personil dinotasikan dengan Man Hour (MH). Oleh sebab itu, apabila
dinyatakan bahwa suatu pekerjaan dengan nomor X memerlukan 1 MH berarti secara prinsip, pekerjaan tersebut dapat dilaksanakan oleh 1 orang dalam 1 jam.
Pada saat yang bersamaan, dapat pula terjadi bahwa dalam suatu interval tertentu, tercakup pula pelaksanaan pekerjaan interval yang lain apabila interval tersebut masih merupakan faktor kelipatannya. Misal, dinyatakan bahwa suatu pekerjaan harus dilaksanakan pada interval 500 Jam Terbang, maka secara otomatis pekerjaan yang harus dilakukan pada interval 250 Jam Terbang juga harus dilaksanakan pada saat yang sama karena merupakan faktor kelipatan dari 500 Jam.
Sejak pertama kali pedoman perawatan pesawat Fokker F27 ini diterbitkan, interval pelaksanaan perawatannya dinyatakan dengan notasi huruf abjad seperti A, B, C dan seterusnya (Fokker F27 Customer Maintenance Program 1995:2). Secara umum konsep perawatan pesawat Fokker F27 dinyatakan sebagai berikut:
(14)
Tabel 2.1 Master Schedule Program Perawatan Pesawat Fokker F27
No Jenis Inspeksi Interval
1 Service 1 Check (S1) Sehari sekali (Daily)
2 Service 2 Check (S2) 2 hari sekali (48 jam)
3 A Check (A) 125 Jam Terbang
4 B Check (B) 500 Jam Terbang atau 6 Bulan
5 C Check (C) 2000 Jam Terbang atau 18 Bulan
6 2 C Check (2C) 4000 Jam Terbang atau 3 Tahun
7 D Check (D) 8000 Jam Terbang atau 6 Tahun
Kelemahan sistem di atas adalah apabila interval perawatannya telah mencapai tahapan yang tinggi (misal interval 4000 Jam Terbang) maka terdapat kesulitan untuk mengatur kebutuhan personil karena pada interval tersebut terdapat pula pekerjaan yang harus dilakukan untuk interval yang merupakan kelipatan dari 4000 Jam Terbang (2000, 1000, 500 dan seterusnya). Sehingga terdapat akumulasi kebutuhan personil yang menyebabkan pelaksanaan perawatan menjadi lama dan membutuhkan personil yang banyak. Oleh sebab itu pelaksanaan perawatan pada interval yang tinggi akan memerlukan fasilitas perawatan yang memadai dengan jumlah personil yang cukup. Namun demikian, hal ini akan menjadi tambah rumit ketika pada saat yang bersamaan dan di tempat yang sama terdapat pula pesawat lain yang juga melakukan pelaksanaan perawatan.
Tahun 1995, PT. Merpati Nusantara meminta pabrik pesawat Fokker F27 untuk mengubah konsep Pedoman Perawatan tersebut di atas untuk mengoptimalkan penggunaan personil sehingga diharapkan pada setiap interval tertentu, dibutuhkan jumlah personil yang relatif sama. Hasilnya, dengan menggunakan metode tertentu, pabrik pesawat Fokker F27 membuat konsep baru
(15)
Maintenance Program Guidelines, 1995:11). Prinsip pada konsep ini adalah menyeimbangkan penggunaan personil pada setiap interval. Oleh pabrik pesawat Fokker F27, metode dalam Tabel 2.1 diubah secara total sehingga membentuk sebuah susunan yang lain seperti yang terlihat pada Tabel 2.2 di bawah ini.
Tabel 2.2 Equalized Master Schedule Program Perawatan Pesawat Fokker F27 Segments MH/Check Insp. Type Cycle 1 MH/Check Cycle 2 Insp. Type
1 14.3 14.9
2 184.2 C1 173.2 C1
3 14.8 14.8
4 166.2 C2 177.3 C2
5 16.2 14.3
6 183.1 C3 184.5 C3
7 14.3 14.9
8 153.0 C4 142.0 C4
9 14.3 14.3
10 173.8 C1 178.7 C1
11 16.8 14.8
12 165.7 C2 168.6 C2
13 14.3 14.9
14 194.2 C3 183.1 C3
15 14.3 14.3
16 514.0 D1 493.9 D2
Berdasarkan F27 Customer Maintenance Program (1995:2), dinyatakan bahwa untuk perawatan minor seperti yang tercantum dalam Tabel 2.1 nomor 1 – 3 di atas, tetap dipertahankan seperti apa adanya sedangkan untuk butir 4 dan seterusnya dilakukan pengolahan dan perubahan dengan hasil seperti dalam Tabel 2.2 di atas. Menurut Fokker F27 Customer Maintenance Program Guidelines (1995:12), Pedoman Perawatan untuk pesawat Fokker F27 dibagi dalam “Segment” dan “Cycles”. Segment adalah pemeriksanaan perawatan yang
(16)
mengkombinasikan beberapa perawatan terjadwal. Cycles terdiri atas beberapa segment yang harus dilaksanakan secara sekuensial.
Terlihat dalam Tabel 2.2 di atas, terdapat keteraturan dalam pengaturan MH sedemikian rupa sehingga distribusi MH relatif sama pada setiap segment yang berhubungan. Hal ini akan memudahkan bagi perencana dalam mengalokasikan sumber daya yang dibutuhkan dalam bengkel perawatan (Maintenance Facility).
Dalam tabel berikut ini, diperlihatkan Pedoman Perawatan seperti yang tercantum dalam F27 Customer Maintenance Program. Struktur penjadwalan selengkapnya dapat dilihat dalam Lampiran 2.
(17)
2.2 Algoritma Genetika
2.2.1 Gambaran Umum Algoritma Genetika
Algortima Genetika atau Genetic Algorithms (GA) diperkenalkan
pertama kali oleh John Holland pada tahun 1975. GA mensimulasikan proses evolusi organisme di alam ini. Dalam proses tersebut berlaku seleksi alam dimana individu yang sukses akan mampu mengembangkan keturunnya sedangkan individu yang gagal akan punah. Dalam GA berlaku pula istilah-istilah sesuai dengan ilmu genetika. Istilah-istilah tersebut adalah:
1. Gen, yaitu unit dasar yang digunakan untuk mengontrol properti atau fitur-fitur dari suatu solusi permasalahan.
2. Kromosom, yaitu gen yang berurutan secara linier yang digunakan untuk menggambarkan kemungkinan-kemungkinan solusi suatu permasalahan. 3. Lokus, yaitu posisi suatu kromosom.
4. Ketepatan (fitness), yaitu suatu kriteria yang ditetapkan untuk mengevaluasi
tingkat kebaikan (goodness) suatu individu dibandingkan dengan seluruh
populasi.
GA telah secara sukses digunakan dalam perbagai macam aplikasi seperti: (1) Optimasi fungsi numerik, (2) Pengolahan citra, (3) Masalah transportasi, dan lain-lain yang sehubungan dengan Program Linier.
2.2.2 Cara Kerja Algoritma Genetika
GA sebenarnya merupakan suatu teknik pencarian yang didasarkan pada seleksi alam. Mula-mula suatu himpunan solusi (kromosom) dibangkitkan. Kromosom dalam populasi mengalamai evolusi dalam suatu proses iterasi yang berkelanjutan dari generasi ke generasi. Pada setiap generasi, kromosom
(18)
dievaluasi dengan suatu fungsi evaluasi (fitness function). Kromosom dengan nilai
yang lebih baik mempunyai kemungkinan yang lebih besar untuk dipilih menjadi induk dalam proses reproduksi.
Untuk menghasilkan generasi selanjutnya, dibentuk kromosom baru yang dengan cara melakukan tukar silang (crossover) dan memodifikasi kromosom
dengan operator mutasi. Setelah beberapa generasi, populasi akan konvergen pada kromosom terbaik, yang diharapkan sebagai solusi yang optimal.
Algoritma tersebut di atas dapat digambarkan sebagai berikut: a. Langkah 1, Bangkitkan populasi random (inisialiasi).
b. Langkah 2, Evaluasi fitness populasi.
c. Langkah 3, Ulangi proses di bawah ini sampai suatu solusi ditemukan. 1. Tukar Silang
2. Mutasi 3. Evaluasi 4. Seleksi
Langkah tersebut diputar sampai sampai iterasi tn untuk mendapatkan
solusi optimal atau dihentikan dengan fungsi tertentu.
A Inisialisasi
Menurut Joan Hao Wang (1999:16), ada banyak cara untuk
membangkitkan populasi
t
n t 1 t x ...x
P yaitu dengan cara random atau disusun
sedemikian rupa sesuai keinginan kita (heuristic). Biasanya untuk memudahkan
(19)
B Reproduksi
B.1 Reproduksi Generasional
Menurut Joan Hao Wang (1999:14), dalam Reproduksi Generasional, seluruh individu dalam populasi diganti pada setiap generasi atau setiap iterasi.
B.2 Reproduksi Steady State
Dalam metode ini biasanya dipilih dua kromosom sesuai dengan prosedur seleksi yang digunakan, kemudian dilakukan tukar silang untuk mendapatkan satu atau dua keturunan dan hasilnya dikembalikan ke populasi awal. Pada metode ini, hanya kromosom yang mempunyai nilai ketepatan rendah akan digantikan oleh kromosom yang baru.
B.3 Reproduksi Elitisme
Dalam metode P persen dari kromosom terbaik akan dipilih untuk
membentuk generasi selanjutnya. Individu lain sebesar 1-P persen akan
dibangkitkan dari proses tukar silang dan mutasi.
C Seleksi
C.1 Seleksi Berdasarkan Ketepatan (Fitness-based Selection)
Selama iterasi t, sistem GA mempertahankan solusi yang potensial,
t
n t 1 t x ...x
P . Setiap solusi t
i
x , dievaluasi sedemikian rupa dengan fungsi f(x)
untuk mendapatkan ketepatan solusi atau fitness-nya. Setiap kromosom akan mempunyai kesempatan dipilih berdasarkan proporsi fitness-nya dalam populasi. Nama lain dari seleksi ini adalah Roulette Wheel Selection. Kelemahan metode ini
terdapat pada pencapaian nilai fitness yang menjadi konvergen sebelum solusi optimal ditemukan. Contoh, diasumsikan nilai fitness berada dalam rentang 5 –
(20)
10. Maka nampak bahwa perbandingan rentang tersebut adalah 2:1. Disini perbedaan antara individu dengan nilai fitness tinggi dan rendah sangat jelas. Akan tetapi apabila nilai rentang tersebut ditambah 1000 sehingga rentang tersebut menjadi 1005 – 1010 maka nampak bahwa seolah-olah semua individu mempunyai nilai fitness yang relatif sama. Dalam kasus tertentu iterasi tersebut akan berhenti sebelum solusi optimal ditemukan. Inilah yang disebut konvergen.
C.2 Seleksi Berdasarkan Ranking (Rank-based Selection)
Individu terbaik dipilih berdasarkan posisinya pada populasi. Urutan ranking disusun berdasarkan nilai fitnessnya.
C.3 Seleksi Berdasarkan Turnamen (Tournament-based Selection)
Dalam seleksi ini, dipilih individu secara acak dari populasi sebagai inisial individu K , dan tentukan nilai fitness-nya. Ulangi langkah tersebut untuk i
mendapatkan individu Ki1 dan hitung nilai fitness-nya. Bandingkan nilai fitness
i
K dengan Ki1. Apabila Ki1 lebih baik dari K maka maka pilih individu i Ki1
tersebut namun apabila tidak, ulangi langkah di atas sampai percobaan ke N.
Apabila sampai percobaan ke N tidak didapatkan individu yang lebih baik maka
pilih individu awal.
C.4 Seleksi Berdasarkan Pemotongan Sebagian (Truncation-based
Selection)
Pada seleksi ini, individu diurut berdasarkan nilai fitness-nya. Kemudian
P persen dari individu akan diseleksi menjadi induk. Kemudian dipilih lagi
individu sebuah populasi pada iterasi selanjutnya (iterasi t + 1), dibentuk
(21)
dari populasi baru ini akan dilakukan tukar silang (crossover) dan mutasi untuk mendapatkan solusi yang baru. Proses tersebut diulang sampai dengan percobaan ke N. Menurut Dragan Cvetkovic dan Heinz Muhlenbein (1994:9), proporsi
optimal untuk pemotongan (truncate) T untuk seleksi ini adalah 20% – 40% dari
populasi.
Karena populasi baru diambil dari sebagian populasi lama, maka muncul masalah independensi I antar populasi. Dengan kata lain muncul kesamaan antara
populasi satu dengan populasi berikutnya. Menurut Dragan Cvetkovic dan Heinz Muhlenbein (1994:4), independensi ini dinyatakan dengan rumus
2 / 2 0 2 T 1 I t e
dimana to didefinisikan sedemikian rupa dengan aturan:
T =
2 1 T untuk dt, 1 2 1 2 1 T untuk dt, 1 2 1 0 2 0 0 2 0 0 0
t t t t e e Semakin tinggi proporsi T yang diambil untuk populasi baru maka
tingkat independensinya makin kecil atau semakin tinggi proporsi T, maka
populasi berikutnya akan memiliki kesamaan dengan populasi sebelumnya. Tabel berikut ini adalah hasil perhitungan dari rumus di atas.
Tabel 2.3 Hubungan Proporsi T dengan Intensitas I
T 1% 10% 20% 30% 40% 50% 60% 70% 80%
(22)
2.3 Operator Algoritma Genetika 2.3.1 Tukar Silang
Tukar silang merupakan operator dalam GA yang sangat penting. Tukar silang adalah proses pertukaran sebagian kromosom satu dengan kromosom lain.
A Tukar Silang Satu Titik
Tukar silang satu titik artinya menukarkan sebagian kromosom dengan kromosom yang lain pada satu titik dimana posisi pertukaran (cut point) dilakukan
secara acak, seperti terlihat pada gambar berikut ini.
Gambar 2.2 Tukar Silang Satu Titik
B Tukar Silang Dua Titik
Tukar silang dua titik artinya menukarkan sebagian kromosom dengan kromosom yang lain pada dua titik dimana posisi pertukaran (cut point) dilakukan
(23)
Gambar 2.3 Tukar Silang Dua Titik
C Tukar Silang Sebarang Titik (Uniform Crossover)
Tukar silang sebarang titik artinya menukarkan sebagian kromosom dengan kromosom yang lain pada titik sebarang dimana posisi pertukaran (cut point) dilakukan secara acak, seperti terlihat pada gambar 2.4 berikut ini.
(24)
Gambar 2.4 Tukar Silang Sebarang Titik 2.3.2 Mutasi
Mutasi berarti melakukan perubahan terhadap satu gen atau lebih, dalam kromosom secara acak dengan probabilitas perubahan sesuai dengan mutation rate-nya. Hal ini dimaksudkan untuk mendapatkan individu yang variatif.
Menurut Zbigniew Michalewicz (1996:41), mutasi dilakukan bit demi bit dalam susunan individu tersebut.
2.4 Fungsi Evaluasi
Fungsi evaluasi memainkan peranan penting dalam populasi untuk menentukan fitness-nya. Fungsi ini dapat berbeda-beda sesuai dengan permasalahan yang akan dipecahkan. Biasanya, dalam masalah program linier, secara deterministik fungsi evaluasi dapat dinyatakan dengan maximumkan z atau minimumkan z. Fungsi fitness lain yang dapat digunakan untuk fungsi evaluasi
optimasi adalah dengan menggunakan metode Mean Square Error (MSE).
Menurut Glenn J. Battaglia (1996:31), MSE merupakan sebuah metode pengukuran statistik yang cukup tua. Definisi MSE adalah rata-rata kuadrat dari deviasi antara obyek yang diukur dengan target pengukurannya. Definisi tersebut dinyatakan sebagai berikut:
(25)
2 1 xi Tm 1
MSE
m
i
dimana:
xi = nilai x ke i pada obyek yang diukur dalam ruang lingkup m
T = target pengukuran
Nilai MSE dinyatakan dengan 0 apabila tidak terdapat deviasi antara obyek yang diukur dengan target pengukurannya atau dengan kata lain terdapat kesamaan identik antara obyek yang diukur dengan target pengukurannya. Dalam kasus pengukuran fungsi evaluasi, nilai terkecil pada iterasi penghitungan MSE dari obyek yang dievaluasi menyatakan bahwa hasil proses sudah mencapai taraf optimum.
Karena MSE membandingkan 2 distribusi antara obyek yang diukur dengan target pengukurannya, maka perlu juga diketahui apakah ditribusi pada obyek yang diukur tersebut lebih baik dari pada targetnya. Dalam MSE, pengukuran tersebut dinyatakan dengan Koefisien Variasi yang dinyatakan
dengan x100
X S
CV
dimana
CV = Coefficient Variation S = deviasi standar distribusi
(26)
Karena rumus deviasi standar adalah
m T x S
m i
i
1
2
dimana
21 i
T x m
1
m i
adalah rumus MSE, maka dengan demikian dapat pula dinyatakan bahwa 100
X MSE
(27)
20
Algortima pencarian dengan menggunakan model reproduksi sexual dinamakan Genetic Algorithm (GA). Proses reproduksi dilakukan dengan jalan merekombinasi 2 (dua) individu menjadi sebuah individu lain atau offspring. Proses GA dalam mencari suatu nilai optimum adalah sebagai berikut:
1. Penentuan model representasi genetika dari problem yang dihadapi yang berupa model dari sistem buatan, representasi individu, pembatas, fungsi evaluasi.
2. Pembangkitan generasi awal dengan memproses database.
3. Penentuan nilai fitness (nilai ketepatan) dari setiap individu berdasarkan struktur gennya. Nilai fitness ini dijadikan sebagai ukuran apakah individu tersebut sudah optimal atau belum.
4. Pemilihan individu dengan nilai fitness terbaik untuk dijadikan induk dalam menghasilkan individu-individu baru.
5. Proses reproduksi yang terdiri dari Crossover, Mutation, dan Replacement. Dari proses reproduksi ini dihasilkan individu baru.
Dengan melakukan proses di atas secara berulang-berulang, diharapkan induk yang baik akan menghasilkan suatu generasi dengan individu-individu yang lebih baik. Untuk menerapkan hal-hal di atas maka diperlukan suatu Data Flow Diagram (DFD) dan Entity Relational Diagram (E–R Diagram), sebagai pendekatan terhadap pokok permasalahan.
(28)
3.1 Model Penelitian
Dalam melakukan analisis terhadap permasalahan, dibuat beberapa tahapan model penelitian. Tahapan tersebut adalah: (1) membuat data flow diagram sistem perawatan dan membuat struktur database-nya, (2) menetapkan representasi individu dan fungsi evaluasi (3) menetapkan kesimpulan.
3.1.1 Data Flow Diagram (DFD)
DFD di bawah ini adalah merupakan DFD dari sistem perawatan dimana dalam salah satu proses penetapan master scheduling, fungsi GA ini dimanfaatkan untuk mencari penjadwalan yang optimum dari seluruh pekerjaan dalam sistem perawatan. Context Diagram dan DFD dari sistem perawatan tersebut adalah sebagai berikut: 0 SCHEDULING PROCESS 1 DATA MANIPULATION PROCESS 3 REPORTING PROCESS 2 GA PROCESS 1.1 ADD DATA PROCESS 1.2 DELETE DATA PROCESS 1.3 SAVE DATA PROCESS 3.1 MAINTENANCE PROGRAM REPORTING PROCESS 3.2 GA REPORTING PROCESS 2.1 INITIAL POPULATION PROCESS 2.2 REPRODUCTION PROCESS 2.3 EVALUATION PROCESS 2.4 DECISION PROCESS
(29)
Request Schedule Schedule Requisition Document MP Create MP 0 Scheduling Process +
Engineering Production Planning
Control
Gambar 3.2 DFD Level 0, Scheduling Management
[Schedule Requisition] [Request Schedule]
[Document MP] Report Chromosome
Initialized Data
Select Task No
Save Data Select Data To Initiate [Create MP] Engineering Production Planning Control 1 Data Manipulation Process + 2 GA PRocess + 3 Reporting Process + 2 Table_MPD_Amp Engineering Production Planning Control
(30)
Add Component
[Request Schedule] [Schedule Requisition]
[Initialized Data]
[Save Data] Delete Data
Select Data
[Select Data To Initiate]
Add Data [Create MP]
Engineering
2 Table_MPD_Amp
2 Table_MPD_Amp
GA PRocess 1.2
Add Data Process
1.3 Delete Data
Process
1.4 Save Data
Process
1.5 Initiate Schedule
Process
Production Planning
Control Engineering
1.1 Requisition
Process
7 Table_MPD_Cmp
(31)
Selected Best Chromosome
[Report Chromosome] Selected Chromosome
Eval Chrom Update
Eval Chrom Selection Eval Prop Update
Eval Pop Selection
Repro Chrom Added Repro Chrom Selected
Eval Gen Selected Repro Gen Added
Repro Gen Selected Create Gen
[Select Task No]
Repro Pop Added Repro Pop Selected
Create Chrom Create Pop
[Initialized Data]
2 Table_MPD_Amp
Data Manipulation Process
Reporting Process 2.1 Initialize Population Process 2.2 Reproduction Process 2.3 Evaluation Process 2.4 Decision Process 3 Table_MPD_Population 4 Table_MPD_Chromosome 5 Table_MPD_GenAlternatif
6 TABLE_MPD_REL_MPDAMP_MTOPF27_SCHEDULE
(32)
[Document MP] [Report Chromosome] GA PRocess Production Planning Control 3.1 Report Printing Process
Gambar 3.6 DFD Level 2, Proses Pelaporan
AMP_TASKNO = AMP_TASKNO
POPULATION_ID = POPULATION_ID
CHROMOSOME_ID = CHROMOSOME_ID AMP_TASKNO = AMP_TASKNO
POPULATION_ID = POPULATION_ID TABLE_MPD_AMP AMP_TASKNO LongInteger AIRCRAFT_ID Integer TASKTYPE_ID Text(5) SKILL_ID Text(4) AMP_SUBJECT Text(70) ATA_ID Text(4) UM_ID Text(15) AMP_DESCRIPTION Memo AMP_INTERVAL Text(15) AMP_MANHOURS DateTime AMP_MENRQUIRED Integer AMP_REFMPD Text(15) AMP_RII Text(5) AMP_MRB Text(5) TABLE_MPD_POPULATION POPULATION_ID LongInteger AIRCRAFT_ID Integer POPULATION_FITNESSVALUE DateTime POPULATION_REMARK Text(50) TABLE_MPD_CHROMOSOME CHROMOSOME_ID LongInteger POPULATION_ID LongInteger CHROMOSOME_NUMBER LongInteger CHROMOSOME_FITNESSVALUE DateTime TABLE_MPD_GENALTERNATIF GA_NOMOR LongInteger AMP_TASKNO LongInteger CHROMOSOME_ID LongInteger POPULATION_ID LongInteger GA_URUT LongInteger GA_AWALINSP Integer GA_JRKANTARINSP Integer GA_MHRS DateTime TABLE_MPD_REL_MPDAMP_MTOPF27SC AMP_TASKNO LongInteger SEQ01 Text(3) SEQ02 Text(3) SEQ32 Text(3)
(33)
Berdasarkan E-R Diagram, kemudian dibuat struktur file database dengan perincian sebagai berikut:
a. Nama File : Table_MPD_Amp Primary Key : AMP_TASKNO Foreign Key : -
File Relasi : TABLE_MPD_REL_MPDAMP_MTOPF27SCHED, Table_MPD_GenAlternatif
Keterangan : Tabel Utama untuk menyimpan data penjadwalan perawatan
No. Nama Field Tipe Data Panjang Keterangan 1. Amp_Taskno Long Integer Kode Nomor
Pekerjaan
2. Aircraft_ID Integer Kode Jenis Pesawat 3. TaskType_ID Text 5 Kode Jenis Pekerjaan 4. Skill_ID Text 4 Kode Jenis Keahlian 5. Amp_Subject Text 70 Judul Pekerjaan 6. ATA_ID Text 4 Kode Kategori
Sistem Pada Pesawat 7. UM_ID Text 15 Kode Unit
Pengukuran
8. Amp_Description Memo Penjelasan Pekerjaan 9. Amp_Interval Text 15 Interval Pelaksanaan
Pekerjaan
10. Amp_Manhours Double Kebutuhan JamOrang untuk pelaksanaan pekerjaan
11. Amp_Menrquired Integer Jumlah kebutuhan Orang untuk melaksanakan pekerjaan
12. Amp_RefMPD Text 15 Nomor Referensi Pekerjaan dari pabrik pesawat
13. Amp_RII Text 5 Pilihan untuk pemeriksaan ganda 14. Amp_MRB Text 5 Pilihan untuk kode
pemeriksaan spesifik dari pabrik pesawat
(34)
b. Nama File : Table_MPD_Population Primary Key : Population_ID
Foreign Key : -
File Relasi : Table_MPD_Chromosome, Table_MPD_GenAlternatif Keterangan : Tabel untuk menyimpan data populasi
No. Nama Field Tipe Data Panjang Keterangan 1. Population_ID Long Integer Kode Populasi 2. Aircraft_ID Integer Kode Jenis Pesawat 3.
Population_Fitness_ Value
Integer Nilai fitness populasi dari hasil evaluasi
4.
Population_Remark Varchar2 50 Keterangan Populasi c. Nama File : Table_MPD_Chromosome
Primary Key : Chromosome_ID Foreign Key : Population_ID
File Relasi : Table_MPD_Population, Table_MPD_GenAlternatif Keterangan : Tabel untuk menyimpan data kromosom
No. Nama Field Tipe Data Panjang Keterangan 1. Chromosome_ID Long Integer Kode Kromosom 2. Population_ID Long Integer Kode Populasi 3. Chromosome_Num
ber Integer Jumlah Kromosom 4.
Chromosome_Fitne ss_Value
Integer Nilai Fitness Kromosom dari hasil evaluasi d. Nama File : Table_MPD_GenAlternatif
Primary Key : GA_Nomor
Foreign Key : Population_ID, Chromosome_ID
File Relasi : Table_MPD_Population, Table_MPD_Chromosome Keterangan : Tabel untuk menyimpan data gen
No. Nama Field Tipe Data Panjang Keterangan 1. Population_ID Long Integer Kode Populasi 2. Chromosome_ID Long Integer Kode Kromosom 3. GA_Nomor Long Integer Kode Gen
4. GA_Urut Long Integer Nomor Urut Sesuai Nomor Pekerjaan 4. AMP_Taskno Long Integer Kode Nomor
(35)
No. Nama Field Tipe Data Panjang Keterangan Pekerjaan 5. GA_AwalInsp Integer Posisi Awal
Pekerjaan Untuk Ditempatkan Dalam Jadwal
6 GA_JrkAntarInsp Integer Besarnya Interval Pekerjaan
7. AMP_Manhours Double Kebutuhan JamOrang untuk pelaksanaan pekerjaan
e. Nama File : Table_MPD_Rel_MPDAMP_MtopF27Sched Primary Key : No
Foreign Key : AMP_Taskno File Relasi : Table_MPD_AMP
Keterangan : Tabel untuk menyimpan data Jadwal terbaik No. Nama Field Tipe Data Panjang Keterangan 1. No Long Integer Nomor Urut 2. AMP_Taskno Long Integer Kode Nomor
Pekerjaan 3. Seq_01 Text Sekuen 01 4. Seq_02 Text Sekuen 02 5. …
6. Seq_32 Text Sekuen 32
3.1.2 Desain Representasi Individu
Model yang digunakan dalam pembuatan jadwal adalah sebuah Maintenance Program, dimana dinyatakan bahwa satu jadwal adalah satu Individu. Kromosom dari individu adalah susunan jadwal berdasarkan waktu pelaksanaan perawatan. Gen adalah satu pekerjaan (task card). Lebih jelas dapat dilihat pada Gambar 3.8.
(36)
Gambar 3.8 Individu, Kromosom dan Gen dari Sistem Perawatan
Maintenance Program adalah merupakan daftar pekerjaan yang harus dilaksanakan (task card) pada interval waktu tertentu dan membutuhkan sumber daya manusia tertentu. Daftar tersebut berisi tentang pekerjaan yang harus dikerjakan (task) v atau V={v1,v2,v3,...,vn} yang dilaksanakan pada interval waktu i atau I={i1,i2,i3,...,in} dan membutuhkan sumber daya manusia (manhours) m atau M={m1,m2,m3,...,mn}.
Jika terdapat sebuah pekerjaan a pada interval waktu b dan membutuhkan sumber daya manusia c, maka dapat digambarkan J = { (a,b,c) | a V, b I, c
M} atau terdapat jadwal (a,b,c) sedemikian rupa sehingga a V , b I dan cM. Representasi notasi tersebut dalam sebuah record atau tuple adalah sebagai berikut:
Tabel 3.1 Representasi Maintenance Program Menggunakan Record atau Tuple
No Gen 1 2 3 … N
AMP_Taskno 70001 70001 70002 70856 Insp_ID Seq01 Seq03 Seq01 ... Seq32
(37)
Nomor record dari tuple ini diidentifikasi dengan nilai dari field GA_Nomor pada tabel Table_MPD_GenAlternatif.
Representasi kromosom dalam bentuk tuple adalah seperti yang tergambar pada tabel di bawah ini.
Tabel 3.2 Representasi Kromosom Menggunakan Record atau Tuple
Chromosome_ID 1 2 3 … M
Population_ID 1 1 2 N
Fitness_Value 234 55 42 ... P
3.1.3 Desain Fungsi Evaluasi
Fungsi evaluasi digunakan untuk mencari sebuah jadwal yang optimum artinya kebutuhan sumber daya manusia akan relatif sama dalam setiap interval, dengan demikian diharapkan terdapat kemudahan dalam pengaturan penggunaan sumber daya manusia.
Penelitian ini akan membuktikan bahwa implementasi GA dapat diterapkan dalam melakukan pendekatan pemenuhan keseimbangan manhours yang diperlukan setiap sekuen dalam perawatan pesawat Fokker F27 dengan menggunakan metode MSE. Dalam penentuan desain fungsi evaluasi, standar dari pabrik dianggap sebagai Target Pengukuran sedangkan hasil rekayasa GA adalah Obyek yang diukur. Secara deterministik fungsi evaluasi ini digambarkan dengan
21 xi T
m 1 z
Minimumkan
m
i
. Individu terbaik adalah z dengan nilai 0. Untuk memberikan gambaran bahwa distribusi dari obyek yang diukur adalah lebih baik dari target pengukuran, maka koefisien variasi dari distribusi obyek yang diukur harus lebih kecil dari 1 atau CV 1 dimana 100
X MSE
(38)
3.2 Prosedur GA
Proses pembuatan jadwal dengan menggunakan GA adalah seperti yang terlihat dalam gambar di bawah ini.
START
BANGKITKAN POPULASI
AW AL
EVALUASI FITNESS DENGAN MSE
OPTIMAL? SELEKSI
TUKAR SILANG
MUTASI
JADW AL OPTIMAL
STOP TIDAK
YA
Gambar 3.9 Flow Chart Proses Pembuatan Jadwal dengan GA Proses di atas dapat digambarkan secara pseudocode sebagai berikut: t:=0;
Initialize(P(0)); Evaluate(P(0));
While not good_fitness do Select(P(t));
Crossover(P(t)); Mutation(P(t)); Evaluate(P(t));
(39)
Rancangan Struktur Data di memory untuk proses di atas adalah sebagai berikut: Private
v_Array_Induk1, v_Array_Induk2, v_Array_NoUrutChrDariTrunc:
Array[1..2000] of Integer;
v_Array_MHrs: Array[1..2000] of Double; Keterangan:
1. v_Array_Induk1 dan v_Array_Induk2 adalah array berdimensi satu yang akan digunakan untuk menampung nomor gen dari tabel Table_MPD_GenAlternatif.
2. v_Array_Amp_Taskno adalah array berdimensi satu yang akan digunakan untuk menampung nomor pekerjaan yang didefinisikan sebagai AMP_Taskno. 3. v_Array_MHrs adalah adalah array berdimensi satu yang akan digunakan untuk menampung manhours di setiap nomor pekerjaan dimana nilai ini nanti akan digunakan sebagai penghitung fitness-nya.
Struktur Data array tersebut di atas terutama akan sangat diperlukan pada saat melakukan proses Tukar Silang dan Mutasi.
3.2.1 Pembangkitan Populasi Awal
Populasi dibangkitkan secara urut berdasarkan penomoran pada sistem, demikian pula kromosomnya. Isi dari kromosom adalah merupakan rangkaian gen yang membentuk suatu individu (jadwal). Pembangkitan gen pada jadwal dilakukan secara acak. Langkah pertama adalah membaca data dari database dan melihat interval pelaksanaan pekerjaan. Kemudian, dibangkitkan sebuah angka sebagai awal dari sekuen pekerjaan tersebut diletakkan. Interval dari pekerjaan tersebut dibagi dengan jarak setiap sekuen akan menentukan jarak dari awal pekerjaan menuju ke sekuen paling akhir. Contoh, dipilih satu pekerjaan dengan
(40)
nomor X1 dengan interval 1000 jam. Secara acak sistem akan membangkitkan sebuah angka untuk menempatkan pekerjaan tersebut pada posisi awalnya yang besarnya harus lebih kecil dari pembagian antara interval pekerjaan dengan standar sekuennya, dengan kata lain posisi awal pekerjaan tersebut harus lebih kecil dari 1000 : 250 = 4 atau posisi awal pekerjaan harus lebih kecil dari atau sama dengan 4. Penempatan posisi awal pekerjaan ini penting karena apabila posisi awal penempatan pekerjaan pada susunan struktur jadwal tersebut lebih besar dari jarak setiap sekuennya, maka terdapat kemugkinan susunan jadwal menjadi tidak lengkap. Misal pada pekerjaan X1, posisi awal yang dibangkitkan oleh sistem adalah 5, maka dengan interval 1000 jam susunan jadwalnya adalah Seq05, Seq09, Seq13, Seq17, …, Seq29 (berulang setiap 4 kali sekuen). Dalam rentang 8000 jam (lihat tabel 2.1) maka seharusnya pekerjaan X1 dijadwalkan sebanyak 8 kali, tetapi karena penempatan posisi awal berada pada posisi Seq05, maka pekerjaan X1 hanya dijadwalkan sebanyak 7 kali atau terdapat kekurangan 1 kali sekuen. Hal ini harus dihindari untuk mencegah kekacauan sistem penjadwalan.
Setelah penentuan posisi awal pekerjaan dan intervalnya diketahui, maka proses selanjutnya adalah penyimpanan pada table_mpd_genalternatif. Algoritma untuk proses pembangkitan populasi awal adalah sebagai berikut:
Cari_Nomor_Terakhir_Chrom(Cari_NoChromAkhir); While not TABLE_MPD_AMP end of file
V_Pos_Awal_Seq:=0;
Ambil_Interval_Dari_Tabel(V_AMP_Interval);
Ambil_Nomor_Pekerjaan_Dari_Tabel(V_Amp_Taskno); Ambil_Manhours_Dari_Tabel(V_Amp_MHrs);
V_JarakAntarSeq:=V_AMP_Interval div 250
Cari_AwalSeq(V_Pos_Awal_Seq,V_AMP_Interval);
Mencari_Nomor_Gen_id_Terakhir_di_Table_MPD_GenAlternatif; while V_Pos_Awal_Seq<=Std_Jml_Seq do
(41)
Masukkan_ke_ Table_MPD_GenAlternatif;
V_Pos_Awal_Seq:= V_Pos_Awal_Seq + V_JarakAntarSeq Keterangan:
1. Cari_Nomor_Terakhir_Chrom, adalah mencari nomor terakhir dari tabel kromosom untuk menentukan nomor kromosom selanjutnya
2. V_Pos_Awal_Seq, adalah variabel yang menyimpan nomor awal sekuen nantinya, V_AMP_Interval adalah variabel yang menyimpan nilai interval dari Maintenance Program yang akan diolah, V_Amp_Taskno adalah nomor pekerjaan, V_Amp_MHrs adalah kebutuhan manhours yang diperlukan untuk mjelakukan pekerjaan dengan nomor V_Amp_Taskno, V_JarakAntarSeq adalah jarak antar sekuen sesuai dengan interval yang ada (misal untuk interval 500 berarti jarak antar sekuen adalah 500 : 250 = 2)
3. Cari_AwalSeq, adalah sebuah proses untuk mencari awal sekuen dari pekerjaan V_Amp_Taskno dengan interval V_AMP_Interval.
4. Cari_Nomor_Terakhir_Gen, adalah mencari nomor terakhir dari tabel Table_MPD_GenAlternatif untuk menentukan nomor gen selanjutnya
5. Masukkan Ke Table_MPD_Gen, adalah proses penyimpanan untuk Gen tersebut ke dalam database.
3.2.2 Perhitungan Nilai Fitness
Perhitungan nilai Fitness adalah menggunakan metode MSE dengan proses sebagai berikut:
Baca_Table_MPD_Chromosome; while not eof do
Ambil_Nomor_Kromosom_Dari_Tabel(V_Chromosome_ID); V_Fitness_Value:=0.00;
V_Fitness_Seq:=0.00; for i:=1 to 32 do
(42)
Cari_Std_MHrs(i,V_MHrs_Std) V_Fitness_Value:=V_Fitness_Value + Power((V_Fitness_Seq-V_MHrs_Std),2)
V_Fitness_Chrom:=V_Fitness_Value/Std_Jml_Seq; Update_Table_MPD_Chromosome(V_Chromosome_ID, V_Fitness_Chrom);
Keterangan:
1. Baca_Table_MPD_Chromosome, adalah proses membaca tabel yang nantinya akan diiterasi.
2. Hitung_FitnessSeq adalah proses penghitungan nilai Fitness dengan menggunakan metode MSE.
3. Update_Table_MPD_Chromosome adalah proses mengubah tabel untuk mengisi nilai fitnessnya.
3.2.3 Seleksi Truncation
Untuk menghindari tingginya kecepatan konvergen dalam proses GA, maka digunakan seleksi Truncation. Proses seleksi tersebut adalah sebagai berikut:
Baca_Parameter_Truncation(Parameter_Truncation); Baca_Jumlah_Individu(Jumlah_Individu);
s_Jml_Individu:=Bulatkan(Parameter_Truncation * Jumlah_Individu); s_Counter:=1;
while s_Counter<=(s_Jml_Individu) do
Baca_Table_Chromosome(s_No_ChromAwal, s_Chrom_Fitness); Cari_Nomor_Terakhir_Chrom(s_No_ChromAkhir);
v_Array_NoUrutChrDariTrunc[s_Counter]:=s_No_ChromAkhir; Isi_Table_MPD_Chromosome(s_No_ChromAkhir,s_No_ChromAwal, s_No_PopAkhir,s_Chrom_Fitness);
Cari_DataGenDariChrom(s_No_ChromAwal,s_No_ChromAkhir, s_No_PopAkhir);
(43)
Keterangan:
1. Baca_Parameter_Truncation(Parameter_Truncation) adalah membaca konstanta parameter truncation berdasarkan input dari user dengan rentang dari 0.2 s/d 0.8.
2. Baca_Jumlah_Individu(Jumlah_Individu) adalah membaca konstata parameter individu sesuai input dari user.
3. Baca_Table_Chromosome(s_No_ChromAwal, s_Chrom_Fitness), adalah proses membaca tabel dan mengurutkan berdasarkan nilai Fitness-nya.
4. Cari_Nomor_Terakhir_Chrom(s_No_ChromAkhir), adalah mencari nomor kromosom baru untuk membentuk individu baru.
5. Isi_Table_MPD_Chromosome(s_No_ChromAkhir, s_No_ChromAwal, s_No_PopAkhir, s_Chrom_Fitness) adalah mengisi nomor kormosom baru di tabel Table_MPD_Chromosome.
6. Cari_DataGenDariChrom(s_No_ChromAwal, s_No_ChromAkhir, s_No_PopAkhir), adalah mencari data Gen yang telah ada di tabel Table_MPD_GenAlternatif untuk disalin pada individu baru sekaligus menyalinnya ke gen baru.
3.2.4 Proses Crossover
Proses tukar silang dilakukan dengan menggunakan metode Uniform Crossover karena panjang Gen yang cukup besar. Proses Tukar Silang dilakukan melalui array v_Array_Induk1, v_Array_Induk2. Proses tukar silang tersebut adalah sebagai berikut:
(44)
Baca_Jumlah_Gen_Dalam_Kromosom(Jml_Gen);
Hitung_Jumlah_Kekurangan_Individu(Jml_KekuranganIndividu); For i:=1 to Jml_KekuranganIndividu
Masukkan_Data_Gen_Pertama_Ke_Dalam_Array_Induk1 Masukkan_Data_Gen_Pertama_Ke_Dalam_Array_Induk2 For j:=1 to Jml_Gen
Bangkitkan_Nilai_Acak_Antara_0_Dan_1(Nilai_Acak); If Nilai_Acak=1 then Array_Induk1[j]:= Array_Induk2[j]; Keterangan:
1. Baca_Jumlah_Gen_Dalam_Kromosom(Jml_Gen), adalah membaca jumlah gen yang akan dilakukan tukar silang.
2. Hitung_Jumlah_Kekurangan_Individu(Jml_KekuranganIndividu), adalah menghitung banyaknya individu baru yang akan dibangkitkan dari tukar silang.
3. Masukkan_Data_Gen_Pertama_Ke_Dalam_Array_Induk1 dan Masukkan_Data_Gen_Pertama_Ke_Dalam_Array_Induk2, adalah proses untuk menyalin data dari tabel Table_MPD_GenAlternatif ke Array_Induk1 dan Array_Induk2 untuk memudahkan proses tukar silang.
4. Bangkitkan_Nilai_Acak_Antara_0_Dan_1(Nilai_Acak), adalah proses membangkitkan bilangan random antara 0 dan 1 dimana apabila Nilai_Acak bernilai 1, maka akan dilakukan Tukar Silang. Dalam hal ini untuk efisiensi memory Array_Induk1 langsung dijadikan sebagai off spring atau individu baru dengan cara menyalin nilai dari Array_Induk2.
3.2.5 Mutasi
Untuk efisiensi pemrograman, proses mutasi dilakukan bersamaan dengan proses tukar silang. Proses mutasi ini dilakukan pada setiap gen dalam kromosom terpilih. Proses mutasi dilakukan dalam Array dengan tingkat
(45)
probabilitasnya adalah sebesar 0.01. Proses mutasi tersebut adalah sebagai berikut:
Baca_Jumlah_Gen_Dalam_Kromosom(Jml_Gen); For i:=1 to Jml_Gen
Bangkitkan_Bilangan_Pecah_Secara_Acak_Antara_0_Dan_1(Nilai_Aca k)
If Nilai_Acak < 0.01 then Lakukan_Mutasi(Array_Induk1[i]);
Pindahkan_Data_Dari_Array_Induk1_ke_Table_MPD_GenAlternatif; Keterangan:
1. Baca_Jumlah_Gen_Dalam_Kromosom(Jml_Gen), adalah membaca panjang gen yang akan dilakukan tukar silang.
2. Bangkitkan_Bilangan_Pecah_Secara_Acak_Antara_0_Dan_1(Nilai_Acak), adalah sebuah proses membangkitkan bilangan acak dari 0.00 s/d 1.00.
3. Jika bilangan acak yang dibangkitkan kurang dari 0.01 maka akan dilakukan mutasi dalam array.
4. Pindahkan_Data_Dari_Array_Induk1_ke_Table_MPD_GenAlternatif, adalah proses memindahkan data dari Array 1 ke dalam tabel Table_MPD_GenAlternatif.
3.2.6 Pemilihan Jadwal Optimal
Proses ini adalah merupakan pemilihan individu terbaik untuk dijadikan sebagai Jadwal. Proses ini sebenarnya adalah mencari nilai terkecil dari kumpulan individu yang telah dihasilkan dari proses GA. Prosesnya dalah sebagai berikut
Baca_Tabel_Kromosom While not eof
If Nilai_Fitness1 < Nilai_Fitness2 then Nilai_Fitness1= Nilai_Fitness2;
Next;
(46)
Keterangan:
1. Baca_Tabel_Kromosom, adalah proses menyalin nilai Fitness ke dalam variabel memori.
2. Pilin_Individu_Terbaik adalah proses memindahkan data individu terbaik ke dalam tabel jadwal.
3.3 Rancangan Evaluasi
Berdasarkan data dari database Access, maka tabel-tabel di bawah ini adalah tabel-tabel pendukung dalam proses GA.
1. Table_MPD_Amp 2. Table_MPD_Population 3. Table_MPD_Chromosome 4. Table_MPD_GenAlternatif
5. Table_MPD_Rel_MPDAMP_MtopF27Sched
3.3.1 Menentukan Kapan Algoritma Berhenti
Dalam proses GA, proses akan berhenti apabila telah dicapai solusi yang optimal atau dihentikan dengan metode tertentu (dengan menentukan jumlah individu yang diinginkan).
Dalam metode MSE, nilai optimal didapatkan apabila tidak terdapat perbedaan antara jadwal yang dihasilkan oleh GA dengan standar yang telah ada (target pengukuran) seperti dalam Tabel 2.2, atau dengan kata lain tidak terdapat perbedaan yang signifikan dengan nilai MSE = 0 dan nilai CV 1. Namun demikian, untuk efisiensi waktu dalam percobaan dan memudahkan perbandingan nilai fitness dari truncation parameter yang berubah-ubah, maka dalam percobaan
(47)
nanti algoritma akan dihentikan pada 250 generasi untuk setiap pemilihan nilai truncation selection-nya.
3.3.2 Rancangan Percobaan
Percobaan dilakukan dengan menggunakan aplikasi yang telah dibuat untuk melakukan proses pembangkitan jadwal dengan menggunakan metode GA. Aplikasi tersebut sekaligus sebagai sistem informasi maintenance program yang akan digunakan untuk melakukan manajemen atas maintenance program tersebut.
Evaluasi terhadap hasil percobaan adalah berdasarkan pengujian beberapa kali dengan mengubah nilai Truncation-nya. Hasil dari pengujian tersebut akan dibandingkan satu dengan yang lain untuk mengetahui kinerja aplikasi dihubungkan besaran truncation-nya.
(48)
41
Pembahasan dan pengujian sistem adalah tahap penjelasan secara nyata
penggunaan dari rancang bangun program yang telah dibuat, mulai dari implementasi
dengan memproses database sampai dengan evaluasi GA.
4.1
Implementasi
Aplikasi penjadwalan perawatan pesawat Fokker F27 adalah suatu aplikasi
untuk menjadwalkan pekerjaan sesuai dengan buku pedoman perawatan dengan
menggunakan metode GA. Berikut ini langkah penggunaan perangkat lunak:
1. Tersedianya perangkat lunak Microsoft Access 2000.
2. Membuat koneksi ODBC.
3. Menjalankan Setup Program
4. Menjalankan Program
4.2
Evaluasi
Proses dimulai dengan mengeksekusi aplikasi GA yang sudah dibuat. Proses
ini dapat langsung dijalankan, tetapi dalam praktek nyata, proses ini tidak diijinkan
dilaksanakan setiap saat karena jadwal yang dihasilkan dari proses GA tidaklah selalu
sama. Hasil yang tidak selalu sama ini akan menimbulkan ketidakpastian dalam
perencanaan sehingga dikhawatirkan justru justru akan mengganggu para pengguna
jadwal ini. Dalam praktek nyata, proses ini akan dijalankan setiap 2 tahun sekali
(49)
karena diharapkan dalam 2 tahun terdapat beberapa perubahan pada isi pekerjaan
yang akan dijadwalkan.
Spesifikasi yang digunakan saat evaluasi ini adalah seperti terlihat pada tabel
4.1 di bawah ini.
Tabel 4.1 Peralatan Evaluasi
No
Spesifikasi
Nilai
1.
Memory Bus Speed
1 x 400 MHz (400 Data Rate)
2.
Installed Memory
256 MB DDR
3.
Processor Model
AMD Athlon XP 2100+
4.
Speed
2100 MHz
5.
Monitor
LG Studioworks 563E
6.
Operating System
Microsoft Windows 98 SE
7.
Database
Microsoft Access
Untuk memudahkan dalam evaluasi, maka setiap proses akan diawali dengan
kondisi database tertentu. Kondisi awal database sebelum proses dimulai adalah
seperti terlihat pada tabel 4.2.
Tabel 4.2 Kondisi Awal Database Pada Saat Evaluasi
No
Nama Tabel
Jumlah Record
1.
Table_MPD_Amp
856
2.
Table_MPD_Population
0
3.
Table_MPD_Chromosome
0
4.
Table_MPD_GenAlternatif
0
5.
Table_MPD_Rel_MPDAMP_MtopF27Sched 0
Dari data tersebut di atas, dilakukan proses GA. Berdasarkan hasil
penelitian, lamanya proses ternyata adalah tergantung pada pemilihan truncation
(50)
level-nya. Semakin tinggi kita memilih truncation level maka semakin cepat karena
jumlah individu yang perlu dibangkitkan jauh lebih sedikit. Hal ini terjadi karena P %
dari individu pada populasi lama disalin untuk dijadikan individu baru pada populasi
berikutnya, sehingga semakin besar truncation levelnya maka jumlah individu yang
disalin pada populasi berikutnya akan semakin besar. Sisa individu yang harus
dibangkitkan akan semakin sedikit pada truncation level yang tinggi sehingga proses
daslam aplikasi semakin cepat. Hal ini sejalan dengan Dragan Cvetkovic dan Heinz
Muhlenbein (1994:4), dimana semakin kecil truncation level (T) maka tingkat
independensi (I) antara populasi lama dengan populasi baru semakin besar.
Untuk memudahkan evaluasi, maka proses GA dijalankan untuk
membangkitkan 250 populasi dimana setiap populasi terdiri dari 10 individu.
Truncation Level di evaluasi mulasi dari 0.2 s/d 0.8. Hasil pembangkitan populasi
dapat dilihat pada Gambar 4.1.
Gambar 4.1 Hasil Pembangkitan 250 Populasi, 10 Individu Per Populasi dengan
Truncation Level 0.3
(51)
Dari beberapa hasil pembangkitan data dan proses operasi GA, terlihat
bahwa untuk pembangkitan populasi sampai dengan 250 populasi memerlukan waktu
rata-rata di atas 1 jam.
Berikut ini adalah screenshot dari hasil kinerja GA dengan truncation level
yang berbeda-beda.
Gambar 4.2 Grafik Fitness Populasi Pada Truncation Level 0.2
(52)
Gambar 4.4 Grafik Fitness Populasi Pada Truncation Level 0.7
Gambar 4.5 Grafik Fitness Populasi Pada Truncation Level 0.8
Hasil evaluasi fitness populasi menunjukkan bahwa pada truncation level
0.3, nilai optimal dapat tercapai sebelum populasi mencapai 250. Hasil tersebut
sangat kontras dengan truncation level 0.8 dimana meskipun populasi telah mencapi
250 tetapi nilai optimal belum tercapai. Hal ini mengindikasikan bahwa tingkat
(53)
independensi antara populasi lama dengan populasi baru terlihat sangat rendah pada
truncation level yang tinggi sehingga sifat-sifat dari populasi lama masih terbawa
secara signifikan pada populasi yang baru, demikian pula sebaliknya. Gambar di
bawah ini memberikan penjelasan mengenai hasil evaluasi tersebut.
0.00 5.00 10.00 15.00 20.00 25.00 30.00
0 50 100 150 200 250
Generation
MS
E
TR 0.2 TR 0.3 TR 0.4 TR 0.5
TR 0.6 TR 0.7 TR 0.8
Gambar 4.6 Perbandingan Hasil Evaluasi dengan Truncation Level yang Berbeda
Dari seluruh hasil evaluasi yang ada ternyata individu terbaik ditemukan
pada truncation level 0.3 dengan nilai MSE 0.35. Hal ini sangat jauh lebih baik
dibandingkan dengan hasil pada truncation level 0.2 dengan MSE 0.72 dan truncation
level 0.8 dengan MSE 2.24.
(54)
Tingkat penyebaran yang digambarkan dengan nilai koefisien variasi juga
berbeda-beda sesuai dengan distribusi yang dihasilkan dalam proses GA. Perbedaan
tersebut dapat dilihat dalam gambar 4.7.
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00
0 50 100 150 200 250
Generation
Co
ef
fici
en
t V
ar
iat
io
n
TR 0.2 TR 0.3 TR 0.4 TR 0.5
TR 0.6 TR 0.7 TR 0.8
Gambar 4.7 Perbandingan Koefisien Variasi dengan Truncation Level yang Berbeda
Berbeda dengan grafik MSE, distribusi CV hampir sama pada semua
truncation level, hanya memang pada truncation level di atas 0.5 mempunyai nilai di
atas satu meskipun generasi telah mencapai 250. Sama halnya dengan grafik MSE
seperti pada gambar 4.6, pada truncation level 0.3, grafik CV menurun drastis pada
generasi di atas 50.
Untuk melihat secara komprehensif terhadap perubahan truncation level
dibandingkan dengan MSE, terlihat pada gambar 4.8.
(55)
0.00 0.50 1.00 1.50 2.00 2.50 3.00
0.2 0.4 0.6 0.8
Truncation Level
MS
E
Gambar 4.8 Perbandingan MSE dengan Perubahan Truncation Level
Dalam gambar 4.8 di atas, dari truncation level 0.2 grafik menurun dan
minimum pada truncation level 0.3, kemudian naik kembali sampai maksimum pada
truncation level 0.8. Ini mengindikasikan bahwa MSE optimum pada truncation level
0.3. Untuk memperjelas bahwa distribusi yang dihasilkan dalam proses GA tersebut
memang lebih baik, gambar 4.9 menunjukkan grafik Truncation Level dengan
CV-nya.
0.00 0.50 1.00 1.50 2.00 2.50 3.00
0.2 0.4 0.6 0.8
Truncation Level
Coe
ffi
ci
ent
Va
ria
tion
(56)
Pada gambar 4.9 di atas, terlihat bahwa pada truncation level 0.3, nilai
CV<1, maka hal ini mengindikasikan bahwa distribusi yang dihasilkan oleh GA
memang lebih baik dari target yang diukur.
Tabel manhours yang dapat dihasilkan pada fitness terbaik adalah seperti
terlihat pada tabel di bawah ini.
Tabel 4.3 Perbandingan Standard Manhours dengan Hasil Operasi GA
Segments
Insp.
Cycle 1
Cycle 2
Type
Standard
MH/Check
GA
Type
Insp.
Standard
MH/Check
GA
1
14.3
14.3
14.9
15.5
2
C1
184.2
184.9
C1
173.2
173.0
3
14.8
14.3
14.8
14.3
4
C2
166.2
166.5
C2
177.3
177.4
5
16.2
15.5
14.3
14.3
6
C3
183.1
183.3
C3
184.5
184.5
7
14.3
14.3
14.9
15.5
8
C4
153.0
153.7
C4
142.0
143.0
9
14.3
14.3
14.3
14.3
10
C1
173.8
173.7
C1
178.7
177.6
11
16.8
15.5
14.8
14.3
12
C2
165.7
165.0
C2
168.6
168.5
13
14.3
14.3
14.9
15.5
14
C3
194.2
193.7
C3
183.1
183.0
15
14.3
14.3
14.3
14.3
16
D1
477.3
476.8
D2
582.6
581.3
Print out dari hasil proses GA dengan MSE terbaik ini secara lengkap
terdapat di Lampiran 3.
(57)
50
5.1
Kesimpulan
Setelah melakukan analisis, perancangan, pembangunan aplikasi
penjadwalan perawatan pesawat terbang Fokker F27 dan evaluasi hasil penelitian
pada proses GA dengan batasan 10 individu pada setiap populasi pada 250 generasi
untuk menghentikan proses GA, maka dapat diambil kesimpulan sebagai berikut:
1.
Semakin tinggi taraf truncation selection, maka tigkat independensi antara
populasi lama dengan populasi baru sangat rendah sehingga nilai fitness optimum
akan dapat dicapai pada populasi di atas 250 generasi.
2.
Dalam Penelitian ini, Taraf Truncation Selection yang optimum untuk proses
pembuatan Master Schedule berhasil dicapai pada Truncation 0.3.
3.
Dengan cara mengubah taraf truncation selection pada metode GA, dapat
dibuktikan bahwa penyeimbangan pembagian personil dalam Buku Pedoman
Perawatan Pesawat Foker F27 dapat dioptimalkan. Hal ini dinyatakan dengan
Nilai MSE yang mendekati 0 (0.35) antara obyek yang diukur dengan target
pengukurannya dengan nilai CV = 0.83 yang berarti distribusi hasil GA lebih baik
dari target pengukurannya.
4.
Dengan nilai MSE yang kecil dan CV dibawah 1, berarti dapat dinyatakan bahwa
Optimalisasi Penjadwalan Perawatan Pesawat Terbang dapat dilakukan dengan
menggunakan metode GA.
(58)
5.2
Saran
Hal-hal yang dapat dikembangkan dalam aplikasi ini adalah:
1.
Cakupan dalam sistem ini baru pada taraf pembuatan Master Schedule tunggal.
Pada masa mendatang, sistem ini dapat dikembangkan untuk pembuatan Multi
Scheduling yang cakupan masalahnya lebih luas.
2.
Proses GA masih memerlukan waktu yang cukup lama. Pada masa mendatang,
algoritma dalam proses GA dapat diperbaiki dengan metode yang lebih efisien
sehingga waktu yang dibutuhkan untuk proses dapat lebih cepat.
(59)
Battaglia, Glenn J., 1996, Mean Square Error, AMP Incorporated.
Michalewicz, Zbigniew, 1996, Genetic Algorithm + Data Structures = Evolution
Programs, Springer – Verlag Berlin Heidelberg New York, USA.
Mühlenbein, Heinz, Schlierkamp-Voosen, Dirk, 1993, Predictive Models for the
Breeder Genetic Algorithm, I. Continuous Parameter Optimization,
D-5205 Sankt Augustin 1, Germany.
Mühlenbein, Heinz, Cvetkovic, Dragan, 1994, The Optimal Population Size for
Uniformcrossover and Truncation Selection, GMD. Schloß Birlinghoven
D-3734 Augustin, Germany.
Wang, Joan Hao, 1999, Scheduling Shipboard Maintenance Tasks Using Genetic
Algorithms and A Heuristic Methods, Mississippi, A Project Submitted to
Faculty of Mississippi State University in Partial Fulfillement of Requirements for the Degree of Master Science in Computer Science, Mississippi State University, USA.
_______ , 1995, Fokker F27 Customer Maintenance Program, Fokker, Holland.
_______ , 1995, F27 Customer Maintenance Program Guidelines, Fokker,
(1)
47
Tingkat penyebaran yang digambarkan dengan nilai koefisien variasi juga berbeda-beda sesuai dengan distribusi yang dihasilkan dalam proses GA. Perbedaan tersebut dapat dilihat dalam gambar 4.7.
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00
0 50 100 150 200 250
Generation Co ef fici en t V ar iat io n TR 0.2 TR 0.3 TR 0.4 TR 0.5 TR 0.6 TR 0.7 TR 0.8
Gambar 4.7 Perbandingan Koefisien Variasi dengan Truncation Level yang Berbeda
Berbeda dengan grafik MSE, distribusi CV hampir sama pada semua truncation level, hanya memang pada truncation level di atas 0.5 mempunyai nilai di atas satu meskipun generasi telah mencapai 250. Sama halnya dengan grafik MSE seperti pada gambar 4.6, pada truncation level 0.3, grafik CV menurun drastis pada generasi di atas 50.
Untuk melihat secara komprehensif terhadap perubahan truncation level dibandingkan dengan MSE, terlihat pada gambar 4.8.
(2)
0.00 0.50 1.00 1.50 2.00 2.50 3.00
0.2 0.4 0.6 0.8
Truncation Level
MS
E
Gambar 4.8 Perbandingan MSE dengan Perubahan Truncation Level
Dalam gambar 4.8 di atas, dari truncation level 0.2 grafik menurun dan minimum pada truncation level 0.3, kemudian naik kembali sampai maksimum pada truncation level 0.8. Ini mengindikasikan bahwa MSE optimum pada truncation level 0.3. Untuk memperjelas bahwa distribusi yang dihasilkan dalam proses GA tersebut memang lebih baik, gambar 4.9 menunjukkan grafik Truncation Level dengan CV-nya.
0.00 0.50 1.00 1.50 2.00 2.50 3.00
0.2 0.4 0.6 0.8
Truncation Level
Coe
ffi
ci
ent
Va
ria
tion
(3)
49
Pada gambar 4.9 di atas, terlihat bahwa pada truncation level 0.3, nilai CV<1, maka hal ini mengindikasikan bahwa distribusi yang dihasilkan oleh GA memang lebih baik dari target yang diukur.
Tabel manhours yang dapat dihasilkan pada fitness terbaik adalah seperti terlihat pada tabel di bawah ini.
Tabel 4.3 Perbandingan Standard Manhours dengan Hasil Operasi GA
Segments Insp. Cycle 1 Cycle 2
Type Standard MH/Check GA Type Insp. Standard MH/Check GA
1 14.3 14.3 14.9 15.5
2 C1 184.2 184.9 C1 173.2 173.0
3 14.8 14.3 14.8 14.3
4 C2 166.2 166.5 C2 177.3 177.4
5 16.2 15.5 14.3 14.3
6 C3 183.1 183.3 C3 184.5 184.5
7 14.3 14.3 14.9 15.5
8 C4 153.0 153.7 C4 142.0 143.0
9 14.3 14.3 14.3 14.3
10 C1 173.8 173.7 C1 178.7 177.6
11 16.8 15.5 14.8 14.3
12 C2 165.7 165.0 C2 168.6 168.5
13 14.3 14.3 14.9 15.5
14 C3 194.2 193.7 C3 183.1 183.0
15 14.3 14.3 14.3 14.3
16 D1 477.3 476.8 D2 582.6 581.3
Print out dari hasil proses GA dengan MSE terbaik ini secara lengkap terdapat di Lampiran 3.
(4)
50
5.1 Kesimpulan
Setelah melakukan analisis, perancangan, pembangunan aplikasi penjadwalan perawatan pesawat terbang Fokker F27 dan evaluasi hasil penelitian pada proses GA dengan batasan 10 individu pada setiap populasi pada 250 generasi untuk menghentikan proses GA, maka dapat diambil kesimpulan sebagai berikut: 1. Semakin tinggi taraf truncation selection, maka tigkat independensi antara
populasi lama dengan populasi baru sangat rendah sehingga nilai fitness optimum akan dapat dicapai pada populasi di atas 250 generasi.
2. Dalam Penelitian ini, Taraf Truncation Selection yang optimum untuk proses pembuatan Master Schedule berhasil dicapai pada Truncation 0.3.
3. Dengan cara mengubah taraf truncation selection pada metode GA, dapat dibuktikan bahwa penyeimbangan pembagian personil dalam Buku Pedoman Perawatan Pesawat Foker F27 dapat dioptimalkan. Hal ini dinyatakan dengan Nilai MSE yang mendekati 0 (0.35) antara obyek yang diukur dengan target pengukurannya dengan nilai CV = 0.83 yang berarti distribusi hasil GA lebih baik dari target pengukurannya.
4. Dengan nilai MSE yang kecil dan CV dibawah 1, berarti dapat dinyatakan bahwa Optimalisasi Penjadwalan Perawatan Pesawat Terbang dapat dilakukan dengan menggunakan metode GA.
(5)
51
5.2 Saran
Hal-hal yang dapat dikembangkan dalam aplikasi ini adalah:
1. Cakupan dalam sistem ini baru pada taraf pembuatan Master Schedule tunggal. Pada masa mendatang, sistem ini dapat dikembangkan untuk pembuatan Multi Scheduling yang cakupan masalahnya lebih luas.
2. Proses GA masih memerlukan waktu yang cukup lama. Pada masa mendatang, algoritma dalam proses GA dapat diperbaiki dengan metode yang lebih efisien sehingga waktu yang dibutuhkan untuk proses dapat lebih cepat.
(6)
Battaglia, Glenn J., 1996, Mean Square Error, AMP Incorporated.
Michalewicz, Zbigniew, 1996, Genetic Algorithm + Data Structures = Evolution
Programs, Springer – Verlag Berlin Heidelberg New York, USA.
Mühlenbein, Heinz, Schlierkamp-Voosen, Dirk, 1993, Predictive Models for the
Breeder Genetic Algorithm, I. Continuous Parameter Optimization,
D-5205 Sankt Augustin 1, Germany.
Mühlenbein, Heinz, Cvetkovic, Dragan, 1994, The Optimal Population Size for
Uniformcrossover and Truncation Selection, GMD. Schloß Birlinghoven
D-3734 Augustin, Germany.
Wang, Joan Hao, 1999, Scheduling Shipboard Maintenance Tasks Using Genetic
Algorithms and A Heuristic Methods, Mississippi, A Project Submitted to
Faculty of Mississippi State University in Partial Fulfillement of Requirements for the Degree of Master Science in Computer Science, Mississippi State University, USA.
_______ , 1995, Fokker F27 Customer Maintenance Program, Fokker, Holland.
_______ , 1995, F27 Customer Maintenance Program Guidelines, Fokker,