UNIVERSITAS BINA NUSANTARA
Program Ganda
Teknik Informatika - Matematika
Skripsi Sarjana Program Ganda
Semester Ganjil Tahun 2006/2007
PERANCANGAN PROGRAM APLIKASI OPTIMALISASI
PENJADWALAN PEKERJAAN DENGAN METODE
CONSTRAINT PROGRAMMING
(Studi Kasus PT. Usaha Saudara Mandiri)
Akbar
0600670410
ABSTRAK
PT. Usaha Saudara Mandiri menghadapi masalah tidak
terkomputerisasi-nya proses kerja dari pembuatan SPK sampai produksi barang-barangterkomputerisasi-nya.
Ini mengakibatkan sulitnya menjadwalkan pekerjaan bagi teknisi-teknisi
perusahaan itu.
Penjadwalan cenderung menggunakan distribusi acak.
Oleh karena itu dirancanglah program aplikasi yang mengkomputerisasi
proses kerja perusahaan ini dan menjadwalkan pekerjaan yang ada dengan
optimal sesuai dengan spesialisasi teknisi-teknisi yang ada. Penjadwalan
pekerjaan menggunakan metode
constraint programming. Teknik yang
di-gunakan oleh
constraint programming
adalah
backtracking
dan
branch and
bound.
Constraint programming
memerlukan lebih sedikit waktu
diban-dingkan dengan teknik optimalisasi lainnya yang umum dan memiliki
flek-sibilitas sehingga
constraint programming
merupakan metode yang tepat
dalam menyelesaikan masalah penjadwalan pekerjaan ini.
PRAKATA
Puji dan syukur kepada Ketuhanan yang Maha Esa, skripsi ini dapat terselesaikan. Skripsi ini disusun sebagai salah satu syarat untuk mendapatkan gelar kesarjanaan pada Program Ganda Jenjang Pendidikan Strata-1.
Skripsi ini disusun atas bantuan dan dukungan baik secara langsung maupun tidak langsung dari berbagai pihak. Oleh karena itu, dengan ini penulis ingin menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:
1. Prof. Dr. Gerardus Polla, M.App.Sc., selaku Rektor Universitas Bina Nusantara, Jakarta.
2. Wikaria Gazali, S.Si., MT., selaku Dekan Fakultas Matematika dan Ilmu Pengeta-huan Alam (MIPA) dan Program Ganda Universitas Bina Nusantara, Jakarta. 3. Ngarap Imanuel Manik, Drs., M.Kom., selaku Kajur Matematika dan Statistika
Uni-versitas Bina Nusantara, Jakarta.
4. Don Tasman, S.Mia., SE., S.Si.,MM, selaku dosen pembimbing yang sudah mem-bimbing dengan sabar.
5. Haryono Soeparno, Ir., M.Sc., Dr., selaku dosen pembimbing yang sudah membim-bing dengan sabar.
6. Adelin Juliarso, selaku Manajer Produksi pada PT. Usaha Saudara Mandiri serta staf yang telah banyak membantu dan memberikan informasi ataupun keterangan kepada penulis selama melakukan survei.
7. Segenap keluarga penulis yang telah memberikan perhatian, dukungan, serta doa sehingga penulis dapat menyelesaikan skripsi ini.
8. Teman-teman sejurusan Teknik Informatika dan Matematika Universitas Bina Nu-santara, Jakarta.
Penulis menyadari bahwa skripsi ini jauh dari kesempurnaan dan mempunyai banyak kekurangan. Oleh karena itu, saran dan kritik yang membangun dari rekan-rekan pembaca sangatlah dibutuhkan guna menjadikan skripsi ini menjadi lebih baik lagi.
Penulis berharap bahwa penulisan skripsi ini dapat memberikan daya guna bagi ke-pentingan orang banyak. Semoga karya tulis ini dapat bermanfaat dan menambah penge-tahuan baru bagi rekan-rekan pembaca.
Jakarta, 26 Janurai 2007 Penulis
Akbar 0600670410
DAFTAR ISI
Abstrak v
Prakata vi
Daftar Isi viii
Daftar Gambar xi
Daftar Tabel xiii
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang . . . 1
1.2 Ruang Lingkup . . . 3
1.3 Tujuan dan Manfaat . . . 3
1.4 Metodologi . . . 4
1.5 Sistematika Penulisan . . . 4
BAB 2 LANDASAN TEORI 6 2.1 Constraint Satisfaction Problem . . . 6
2.1.1 Pengertian Dasar . . . 6
2.1.2 Definisi FormalConstraint Satisfaction Problem . . . 7
2.2 Pencarian Sistematis . . . 11
2.2.1 Generate and Test . . . 11
2.2.2 Backtracking . . . 14
2.3 KonsistensiConstraint . . . 16
2.3.1 Pengertian Dasar . . . 16
2.3.2 Konsistensi Verteks . . . 17
2.3.3 Konsistensi Busur . . . 18
2.4 Optimalisasi DalamConstraint Satisfaction Problem . . . 21
2.4.1 Pengertian Dasar . . . 21
2.4.2 Branch and Bound . . . 23
BAB 3 ANALISIS DAN PERANCANGAN 29 3.1 Sejarah Perusahaan . . . 29
3.2 Struktur Organisasi dan Pembagian Tugas serta Wewenang . . . 29
3.3 Analisis Sistem Berjalan . . . 35
3.4 Permasalahan yang Dihadapi . . . 35
3.5 Solusi Permasalahan . . . 36
3.6 PerancanganDatabase . . . 37
3.7 PerancanganConstraint Satisfaction Optimization Problem . . . 49
3.8 Metode Pengembangan Aplikasi . . . 57
3.9 Perancangan Aplikasi Optimalisasi Penjadwalan Pekerjaan dengan Meto-deConstraint Programming . . . 58
3.9.1 Rancangan Interaksi Pengguna . . . 58
3.9.2 Rancangan Layar Daftar SPK . . . 58
3.9.3 Rancangan Layar Pembuatan SPK . . . 61
3.9.4 Rancangan Layar Tempat Melihat dan Pengubahan Data SPK . . 61
3.9.5 Rancangan Layar Pembuatan Deskripsi (Tahap-Tahap) Pekerjaan . 63 3.9.6 Rancangan Layar Deskripsi Pekerjaan dan Optimalisasi Penjad-walan Pekerjaan . . . 63
3.9.7 Rancangan Layar Status Pekerjaan . . . 65
3.9.8 Rancangan Layar DaftarMonitoringKerja . . . 65
3.9.9 Rancangan Layar PembuatanMonitoringKerja . . . 67
3.9.10 Rancangan Layar Tempat MelihatMonitoringKerja . . . 67
3.9.11 Rancangan Layar Daftar Teknisi . . . 68
3.9.12 Rancangan Layar Laporan Kerja . . . 70
BAB 4 HASIL DAN PEMBAHASAN 71 4.1 Implementasi Sistem . . . 71
4.1.1 Spesifikasi Perangkat Keras . . . 71
4.1.2 Spesikasi Piranti Lunak . . . 73
4.2 Petunjuk Penggunaan Aplikasi . . . 73
4.2.1 Tampilan Layar Daftar SPK . . . 73
4.2.2 Tampilan Layar Daftar Teknisi . . . 76
4.2.3 Tampilan Layar Pembuatan SPK . . . 80
4.2.4 Tampilan Layar Pengubahan Data SPK . . . 88
4.2.5 Tampilan Layar Pembuatan Deskripsi (Tahap-Tahap) Pekerjaan . . 95
4.2.6 Tampilan Layar Tempat Melihat Deskripsi Pekerjaan . . . 99
4.2.7 Tampilan Layar Pembuatan STK . . . 102
4.2.8 Tampilan Layar Tempat Melihat STK . . . 105
4.2.9 Tampilan Layar Status Pekerjaan . . . 106
4.2.10 Tampilan Layar DaftarMonitoring . . . 107
4.2.11 Tampilan Layar PembuatanMonitoringKerja . . . 108
4.2.12 Tampilan Layar Tempat MelihatMonitoringKerja . . . 112
4.2.13 Tampilan Layar Laporan Kerja . . . 114
4.3 Hasil . . . 116
BAB 5 KESIMPULAN DAN SARAN 118 5.1 Kesimpulan . . . 118
5.2 Saran . . . 119
Riwayat Hidup 121
Lampiran 122
DAFTAR GAMBAR
2.1 Ruang pencarian untukcsp(Z, D, C) dengan urutan (a, b, c) di manaZ =
{a, b, c}, Da={1,2,3}, Db ={1,2}, danDc ={1,2} . . . 13
2.2 Contohconstraint satisfaction problemdi mana terjadibacktrack . . . 16
2.3 Graf menggambarkanconstraint . . . 17
2.4 Grafconstraintyang konsisten secara busur tetapi tidak mempunyai solusi 21 2.5 Contohconstraint satisfaction optimization problemyang sederhana . . . 26
2.6 Ruang pencarian yang dijelajahi olehbacktrackingsederhana dalam con-straint satisfaction optimization problem . . . 27
2.7 Ruang pencarian yang dijelajahi olehbranch and bounddalamconstraint satisfaction optimization problem . . . 27
2.8 Ruang pencarian yang dijelajahi oleh branch and bound dalam constra-int satisfaction optimization problemketikaboundyang bagus ditemukan pada tahap awal pencarian . . . 28
3.1 Struktur Organisasi PT. Usaha Saudara Mandiri . . . 32
3.2 Tahapan Utama Perancangan Aplikasi Penjadwalan Pekerjaan. . . 37
3.3 Entity relationship diagramuntukdatabaseyang dipakai PT. Usaha Sau-dara Mandiri . . . 50
3.4 Modul pustaka penyelesaianconstraint satisfaction optimization problem 53 3.5 Alur Kerja Pemakaian Modulconstraint satisfaction optimization problem 54 3.6 Rancangan interaksi pengguna . . . 58
3.7 Rancangan Layar Daftar SPK . . . 60
3.8 Rancangan layar pembuatan SPK . . . 61
3.9 Rancangan layar tempat melihat dan pengubahan data SPK . . . 62
3.10 Rancangan layar pembuatan deskripsi pekerjaan . . . 63
3.11 Rancangan layar deskripsi pekerjaan dan optimalisasi penjadwalan pekerjaan 64 3.12 Rancangan layar status pekerjaan . . . 65
3.13 Rancangan layar daftarmonitoringkerja . . . 66
3.14 Rancangan layar pembuatanmonitoringkerja . . . 67
3.15 Rancangan layar tempat melihatmonitoringkerja . . . 68
3.16 Rancangan layar daftar teknisi . . . 69
3.17 Rancangan layar laporan kerja . . . 70
4.1 Tampilan layar daftar SPK bagian atas . . . 74
4.2 Tampilan layar daftar SPK bagian bawah . . . 75
4.4 Mengubah data teknisi . . . 77
4.5 Tampilan layar daftar teknisi bagian bawah . . . 78
4.6 Membuat teknisi baru . . . 79
4.7 Tampilan layar pembuatan SPK bagian 1 . . . 80
4.8 Tampilan layar pembuatan SPK bagian 2 . . . 81
4.9 Tampilan layar pembuatan SPK bagian 3 . . . 82
4.10 Tampilan layar pembuatan SPK bagian 4 . . . 83
4.11 Tampilan layar pembuatan SPK bagian 5 . . . 84
4.12 Bagian paling bawah dari tampilan layar pembuatan SPK . . . 85
4.13 Validasi pembuatan SPK . . . 86
4.14 Pesan kesuksesan pembuatan SPK . . . 87
4.15 Tampilan layar pengubahan data SPK bagian 1 . . . 88
4.16 Tampilan layar pengubahan data SPK bagian 2 . . . 89
4.17 Tampilan layar pengubahan data SPK bagian 3 . . . 90
4.18 Validasi pengubahan data SPK . . . 91
4.19 Pesan kesuksesan pengubahan data SPK . . . 92
4.20 Link untuk menghapus SPK disediakan jika untuk SPK ini belum dibuat deskripsi pekerjaannya . . . 93
4.21 Pesan kesuksesan penghapusan SPK . . . 94
4.22 Tampilan layar pembuatan deskripsi pekerjaan . . . 95
4.23 Validasi pembuatan deskripsi pekerjaan . . . 96
4.24 Baris padaformdapat bertambah secara dinamis . . . 97
4.25 Pesan kesuksesan pembuatan deskripsi pekerjaan . . . 98
4.26 Tampilan layar tempat melihat deskripsi pekerjaan . . . 99
4.27 Hasil optimalisasi penjadwalan pekerjaan . . . 100
4.28 Pesan kesuksesan operasi penghapusan deskripsi pekerjaan . . . 101
4.29 Tampilan layar pembuatan STK . . . 102
4.30 Validasi pembuatan STK . . . 103
4.31 Pesan kesuksesan operasi pembuatan STK . . . 104
4.32 Tampilan layar tempat melihat STK . . . 105
4.33 Tampilan layar status pekerjaan . . . 106
4.34 Tampilan layar daftarmonitoring . . . 107
4.35 Tampilan layar pembuatanmonitoringkerja . . . 108
4.36 Pesan kesuksesan operasi pembuatanmonitoringkerja . . . 109
4.37 Form pekerjaan untuk monitoringkerja dapat memiliki kolom tambahan secara dinamis . . . 110
4.38 Validasi pembuatanmonitoringkerja . . . 111
4.39 Tampilan layar tempat melihatmonitoringkerja . . . 112
4.40 Pesan kesuksesan operasi penghapusanmonitoringkerja . . . 113
4.41 Tampilan layar laporan kerja bagian atas . . . 114
4.42 Tampilan layar laporan kerja bagian bawah . . . 115
DAFTAR TABEL
3.1 Tablethermo_detector_order_letters . . . 38 3.2 Tablemica_and_ceramic_flexible_heater_order_letters . . . 39 3.3 Tablecartridge_heater_order_letters . . . 40 3.4 Tabletubular_and_finned_heater_order_letters . . . 41 3.5 Tablescrew_plug_flange_over_side_immersion_heater_order_letters . . 42 3.6 Tablequartz_heater_order_letters . . . 43 3.7 Tabletube_infrared_heater_order_letters . . . 44 3.8 Tablecast_in_heater_order_letters . . . 45 3.9 Tablethermo_detector_jobs . . . 46 3.10 Tablemica_and_ceramic_flexible_heater_jobs . . . 46 3.11 Tablecartridge_heater_jobs . . . 47 3.12 Tabletubular_and_finned_heater_jobs . . . 47 3.13 Tablescrew_plug_flange_over_side_immersion_heater_jobs . . . 47 3.14 Tablequartz_heater_jobs . . . 48 3.15 Tabletube_infrared_heater_jobs . . . 48 3.16 Tablecast_in_heater_jobs . . . 48 3.17 Tableworkers . . . 48 3.18 Tablemonitorings . . . 49 3.19 Tablemonitoring_jobs . . . 493.20 Salah satu contoh constraint satisfaction optimization problem(membuat elemen) . . . 51