UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi...

82
UNIVERSITAS INDONESIA OPTIMASI PENJADWALAN KARYAWAN PENGAWAS PEMBANGUNAN KAPAL DENGAN MENGGUNAKAN ALGORITMA GENETIKA SKRIPSI ANDREW LAMPATAR SIANTURI 0806337440 FAKULTAS TEKNIK PROGRAM STUDI TEKNIK INDUSTRI DEPOK JUNI 2012 Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Transcript of UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi...

Page 1: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

UNIVERSITAS INDONESIA

OPTIMASI PENJADWALAN KARYAWAN PENGAWAS

PEMBANGUNAN KAPAL DENGAN MENGGUNAKAN

ALGORITMA GENETIKA

SKRIPSI

ANDREW LAMPATAR SIANTURI

0806337440

FAKULTAS TEKNIK

PROGRAM STUDI TEKNIK INDUSTRI

DEPOK

JUNI 2012

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 2: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

ii

UNIVERSITAS INDONESIA

OPTIMASI PENJADWALAN KARYAWAN PENGAWAS

PEMBANGUNAN KAPAL DENGAN MENGGUNAKAN

ALGORITMA GENETIKA

HALAMAN JUDUL

SKRIPSI

Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik

ANDREW LAMPATAR SIANTURI

0806337440

FAKULTAS TEKNIK

PROGRAM STUDI TEKNIK INDUSTRI

DEPOK

JUNI 2012

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 3: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

iii

HALAMAN PERNYATAAN ORISINALITAS

Skripsi ini adalah hasil karya saya sendiri,

dan semua sumber baik yang dikutip maupun yang dirujuk

telah saya nyatakan dengan benar.

Nama : ANDREW LAMPATAR SIANTURI

NPM : 0806337440

Tanda tangan :

Tanggal : Juni 2012

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 4: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

iv

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 5: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

v

KATA PENGANTAR

Puji syukur penulis ucapkan kepada Tuhan Yesus Kristus atas kasih dan

penyertaan-Nya yang tidak pernah berhenti sehingga penulis dapat menyelesaikan

skripsi ini tepat waktu. Penulis juga ingin menyampaikan ucapan terima kasih

kepada:

1. Bapak Ir. Amar Rachman, MEIM, selaku dosen pembimbing skripsi yang telah

membimbing dan memberikan masukan dan arahan selama penulisan.

2. Bapak Sumarsono, ST, MT, selaku dosen pembimbing skripsi II yang telah

memberikan masukan selama penulisan.

3. Departemen Pembangunan Kapal PT. Pertamina dan Bapak Slamet Harianto,

yang telah memberikan banyak bantuaan penjelasan dan data yang dibutuhkan

kepada penulis.

4. Bapak Akhmad Hidayatno, selaku dosen pembimbing akademis, dan dosen-

dosen lainnya, yang telah memberikan masukan dan ilmu selama penulis

melakukan pembelajaran.

5. Kedua orang tua terkasih, adik-adikku tercinta, Grace, Advend, Agnes, dan

Ardika, dan keluarga besar lainnya atas segala doa dan dukungan kepada

penulis selama ini.

6. Paulus, Mariana, Jessica, Friska, Gabriela, Kristina, Roberton, Stefani, Eltina,

Rizal, Andalusia, dan Andreas, dan semua teman-teman Teknik Industri UI

2008 lainnya selaku teman seperjuangan penulis selama masa perkuliahan,

khususnya dalam pengerjaan tugas akhir ini.

7. Fariz Muriyadi dan Rahardika Arista selaku sahabat-sahabat penulis yang telah

banyak berbagi pengalaman, kegembiraan, kesusahan dan banyak hal lainnya.

8. Shanny Dorothy, Samuel Guswindo dan Apraz atas semua bantuan yang telah

diberikan, khususnya dalam menyelesaikan tugas akhir dengan program

MATLAB.

9. Teman-teman PSPO UI Ribka, Angel Ruth, Maratur, Hariyanti, Saut, Ricky,

Johannes, , Teta, Surya, Shelvyana, Ehon, Shinta, Dee, Nia, Deco, Pebri,

Jupita, Hutomo, Crist, Agnes, Joshua, Mikhael, Messi, Merry, Henny, Juwita,

Monic, Gunawan, Erwin, Erika, Ennike, Eko, Areta, dan Eliz yang telah

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 6: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

vi

memberikan semangat, dukungan doa dan memberikan banyak momen yang

indah selama latihan PSPO.

Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Oleh karena

itu, kritik dan saran yang membangun sangat penulis harapkan. Selain itu penulis

berharap skripsi ini dapat memberikan manfaat bagi semua pihak yang

membacanya.

Depok, Juni 2012

Penulis

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 7: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

vii

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI

TUGAS AKHIR UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademik Universitas Indonesia, saya yang bertanda tangan di

bawah ini:

Nama : Andrew Lampatar Sianturi

NPM : 0806337440

Departemen : Teknik Industri

Fakultas : Teknik

Jenis Karya : Skripsi

demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada

Universitas Indonesia Hak Bebas Royalti Noneksklusif (Non-exclusive Royalty-

Free Right) atas karya ilmiah saya yang berjudul:

Optimasi Penjadwalan Karyawan Pengawas Pembangunan Kapal Dengan

Menggunakan Algoritma Genetika

beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti

Noneksklusif ini Universitas Indonesia berhak menyimpan, mengalih

media/formatkan, mengelola dalam bentuk pangkalan data (database), merawat

dan mempublikasikan tugas akhir saya selama tetap mencantumkan nama saya

sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di : Depok

Pada tanggal : Juni 2012

Yang Menyatakan

(Andrew Lampatar Sianturi)

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 8: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

viii Universitas Indonesia

ABSTRAK

Nama : Andrew Lampatar Sianturi

Program Studi : Teknik Industri

Judul : Optimasi Penjadwalan Karyawan Pengawas Pembangunan

Kapal Dengan Menggunakan Algoritma Genetika

Permasalahan penjadwalan karyawan secara umum adalah masalah untuk

menentukan berapa banyak pekerja yang dibutuhkan untuk ditugaskan terhadap

setiap periode waktu kerja yang direncanakan oleh sebuah organisasi dengan

tujuan mengcover seluruh penugasan dengan biaya minimum. Permasalahan

penjadwalan karyawan mempunyai kompleksitas tinggi karena banyak faktor

yang harus dipertimbangkan seperti aturan yang berlaku serta biaya yang

ditimbulkan. Metode yang digunakan untuk optimasi penjadwalan karyawan

dalam penelitian ini adalah Algoritma Genetika. Solusi melalui metode ini

diharapkan dapat membantu perusahaan dalam mengoptimal jadwal karyawan

pengawas pembangunan kapal.

Kata kunci:

Penjadwalan, Penjadwalan karyawan, Optimasi, Algoritma Genetika

ABSTRACT

Name : Andrew Lampatar Sianturi

Study Program : Industrial Engineering

Title : Crew Scheduling Optimization of Ship Building Surveyor

Using Genetic Algorithm.

Crew scheduling problem is in general, the problem of determining how many

workers must be assigned to each of the planning periods of work time for an

organization in order to cover all assignments at minimum cost. Crew scheduling

has a high complexity because of many aspects must be considered, such as

work-rule agreements and cost of individual assignment. The method to optimize

the crew scheduling problem is Genetic Algorithm. The solution through this

method could help the organization to optimize workforce scheduling of ship

building surveyor.

Key words:

Scheduling, Crew Scheduling, Genetic Algorithm

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 9: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

ix Universitas Indonesia

DAFTAR ISI

1. PENDAHULUAN. ............................................................................................... 1 1.1 Latar Belakang ................................................................................................ 1 1.2 Diagram Keterkaitan Masalah ......................................................................... 4 1.3 Rumusan Masalah ........................................................................................... 4 1.4 Tujuan Penelitian ............................................................................................. 4 1.5 Ruang Lingkup Penelitian ............................................................................... 6 1.6 Metodologi Penelitian ..................................................................................... 6 1.7 Sistematika Penulisan. ..................................................................................... 7

2. LANDASAN TEORI ......................................................................................... 10 2.1 Penjadwalan ................................................................................................... 10

2.1.1 Model Penjadwalan ........................................................................... 11 2.1.2 Pendekatan Umum Terhadap Masalah Penjadwalan ........................ 12 2.1.3 Kompleksitas dalam Penjadwalan .................................................... 14 2.1.4 Penjadwalan Karyawan dengan Resources Terbatas ........................ 15

2.2 Masalah Optimasi .......................................................................................... 17 2.3 Algoritma Genetika ....................................................................................... 21

2.3.1 Kromosom......................................................................................... 21 2.3.2 Fitness ............................................................................................... 22 2.3.3 Elitisme ............................................................................................. 23 2.2.4 Seleksi dengan Roda Lotere .............................................................. 23 2.2.5 Crossover atau Kawin Silang........................................................... 24 2.2.6 Mutasi……… ................................................................................... 26

3. PENGUMPULAN DATA. ............................................................................... 29 3.1 Profil Perusahaan. .......................................................................................... 30

3.2.1 Data Proyek ....................................................................................... 30 3.2.1 Data Proyek ....................................................................................... 30 3.2.2 Data Kebutuhan Karyawan Beserta Jenis Pekerjaannya .................. 31 3.2.3 Data Periode ...................................................................................... 32

3.2.4 Biaya-Biaya Penugasan .................................................................... 32 3.3 Model Penjadwalan Karyawan Pengawas Pembangunan Kapal .................. 33

3.3.1 Notasi dan Asumsi ............................................................................ 33 3.3.2 Fungsi Tujuan dan Kendala .............................................................. 35

4. PENGOLAHAN DATA DAN ANALISIS ...................................................... 38 4.1 Penyusunan Algoritma .................................................................................. 38

4.1.1 Langkah-Langkah Penyusunan Algoritma Genetika ........................ 38

4.1.2 Verifikasi dan Validasi Program ....................................................... 43 4.2 Input Data ...................................................................................................... 44

4.2.1 Data ................................................................................................... 44 4.2.2 Parameter .......................................................................................... 44

4.3 Pengolahan Dara dan Hasil ........................................................................... 45

4.4 Analisis .......................................................................................................... 46 4.2.1 Analisis Metode ................................................................................ 47

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 10: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

x Universitas Indonesia

4.2.2 Analisis Program ............................................................................... 48

4.2.1 Analisis Hasil Optimasi .................................................................... 48

5. KESIMPULAN dan SARAN ............................................................................ 52

DAFTAR REFERENSI ......................................................................................... 53

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 11: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

xi Universitas Indonesia

DAFTAR TABEL

Tabel 3.1 Proyek Pembangunan Kapal/Nama Kapal .............................................. 30 Tabel 3.1 Data Karyawan di Pengawasan 1 ............................................................ 31 Tabel 3.2 Data Karyawan di Pengawasan 2 ............................................................ 31 Tabel 3.2 Data Karyawan di Perencanaan ............................................................... 31 Tabel 4.1 Skenario Parameter ................................................................................ 43 Tabel 4.2 Perhitungan Manual Biaya ...................................................................... 43 Tabel 4.3 Kombinasi Parameter yang Berbeda ....................................................... 45 Tabel 4.4 Parameter Model ..................................................................................... 45 Tabel 4.5 Hasil Run Program .................................................................................. 46

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 12: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

xii Universitas Indonesia

DAFTAR GAMBAR

Gambar 1.1 Diagram Keterkaitan Masalah ................................................................ 5 Gambar 1.2 Diagram Alir Metodologi Penelitian ...................................................... 8 Gambar 2.1 Diagram Masalah Penjadwalan ............................................................ 14 Gambar 2.2 Precedence, Durasi, dan Kebutuhan Sumberdaya ................................ 16 Gambar 2.3 Jadwal dan Kebutuhan Tenaga Kerja ................................................... 16 Gambar 2.4 Siklus Algoritma Genetika ................................................................... 22 Gambar 2.5 Roda Lotere .......................................................................................... 24 Gambar 2.6 Contoh Kawin Silang ........................................................................... 25

Gambar 2.7 Contoh Mutasi ...................................................................................... 26

Gambar 4.1 Diagram Alir Algoritma Genetika yang Digunakan ............................ 39

Gambar 4.1 Grafik Penurunan Nilai Fitness............................................................ 50

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 13: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

xiii Universitas Indonesia

DAFTAR LAMPIRAN

Lampiran 1. Penggal Waktu Pembangunan Kapal & Persebaran Karyawan......... 54 Lampiran 2. Matrik Penjadwalan Hasil Optimasi dengan 18 Karyawan tetap ...... 55 Lampiran 3. Matrik Penjadwalan Hasil Optimasi dengan 32 Karyawan tetap ...... 56 Lampiran 4. Script M-File Program(lanjutan) ....................................................... 57 Lampiran 4. Script M-File Program(lanjutan) ....................................................... 58 Lampiran 4. Script M-File Program(lanjutan) ....................................................... 59 Lampiran 4. Script M-File Program(lanjutan) ....................................................... 60 Lampiran 4. Script M-File Program(lanjutan) ....................................................... 61 Lampiran 4. Script M-File Program(lanjutan) ....................................................... 62 Lampiran 4. Script M-File Program(lanjutan) ....................................................... 63 Lampiran 4. Script M-File Program(lanjutan) ....................................................... 64

Lampiran 4. Script M-File Program(lanjutan) ....................................................... 65 Lampiran 4. Script M-File Program(lanjutan) ....................................................... 66

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 14: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Permasalahan

Secara geografis Indonesia merupakan negara kepulauan dimana dua

pertiga wilayahnya merupakan wilayah perairan atau lautan, dan tersusun lebih

dari tujuh belas ribu pulau-pulau yang membentang dari Sabang sampai Merauke.

Kondisi geografis ini mengakibatkan distribusi harus dilakukan melalui

transportasi kapal ataupun pesawat terbang. Pesawat terbang dapat digunakan

sebagai alat transportasi maupun mengangkut barang-barang ringan, akan tetapi

untuk beberapa jenis muatan dimana jumlah dan ukurannya yang besar akan

membutuhkan kapal. Keberadaan armada kapal-kapal merupakan suatu mata

rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

sebagai akibat dari kegiatan “jual-beli“ antara penjual dan pembeli.

Di sektor Pertambangan, keberadaan kapal memegang peranan yang

sangat penting. Hal ini terkait dengan aktivitas transportasi mulai dari hasil

tambang, peralatan maupun tenaga kerja. Adapun jenis kapal yang dibutuhkan,

antara lain : Oil Tankers, Barges, Liquid Carriers, Offshore Support Vessels,

Survey Vessels, dsb. Banyak perusahaan – perusahaan yang membutuhkan kapal-

kapal jenis tersebut, khususnya perusahaan yang bergerak di bidang

pertambangan dan perminyakan seperti Pertamina.

PT Pertamina, setelah UU Migas No 22 tahun 2001 diterbitkan membuat

status PT Pertamina (Perseroan) menjadi Perseroan Terbatas dari sebelumnya

perusahaan negara. Perubahan mendasar ada pada peran regulator menjadi player

dan bergerak di bidang energi, petrokimia, dan usaha lain yang menunjang bisnis

utama PT Pertamina (Persero), baik di dalam maupun di luar negeri yang

berorientasi pada mekanisme pasar, namun tender PSO (Public Service

Obligation) yang dimenangkan oleh PT Pertamina (Persero) dari Pemerintah

Indonesia selama beberapa tahun terakhir, mengharuskan PT Pertamina (Persero)

harus menjamin ketersediaan bahan bakar di seluruh nusantara

(www.pertamina.com).

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 15: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

2

Universitas Indonesia

Untuk melakukan pendistribusian bahan bakar, PT Pertamina

membutuhkan kapal sebagai armada pengangkut. Akan tetapi, untuk memenuhi

kebutuhan armada kapalnya, PT Pertamina harus bekerja sama dengan perusahaan

galangan kapal untuk membangun kapal sebagai kebutuhan distribusi. Perusahaan

- perusahaan galangan yang bekerja sama dengan PT Pertamina tersebar di

beberapa tempat/negara seperti, Indonesia, China dan Korea. Meskipun PT

Pertamina mengontrak perusahaan galangan kapal dalam pembuatan kapalnya, PT

Pertamina tetap mengawasi pembuatan kapal ini. Tim pengawas yang mengawasi

pembuatan kapal ini terdiri dari site manager yang dibantu oleh asisten manager,

surveyor hull & outfitting, surveyor hull & painting, surveyor machinery &

outfitting, surveyor electric & outfitting.

Dalam proses pembuatan kapal, ada beberapa tahapan yang dikerjakan;

first cutting, keel laying, launching, dan delivery. Dan dalam proses pembangunan

kapal tersebut, tidak semua pengawas bekerja secara bersamaan. Setiap pengawas

datang/bekerja sesuai periode mereka dibutuhkan. Saat ini, proyek pembangunan

kapal baru yang sedang diadakan oleh PT Pertamina bagian perkapalan sebagian

besar berada di dalam negeri sedangkan sebagian lagi dikerjakan oleh perusahaan

korea dan china. Untuk mengawasi pengerjaan pembangunan kapal ini, PT

Pertamina harus merotasi tim pengawas ke dalam setiap proyek. Dengan lokasi

proyek yang tersebar di berbagai tempat, PT Pertamina bagian kapal harus

mengoptimalkan penjadwalan pengawas sehingga pengerjaan proyek bisa

terlaksana dengan baik dan biaya yang dikeluarkan juga bisa dimimalisir.

Penjadwalan tim pengawas merupakan salah satu aspek penjadwalan yang

mempertimbangkan banyak hal, seperti jadwal pembangunan kapal, aturan

pekerjaan, dan biaya perjalanan atau biaya pengawas sehingga penjadwalan bisa

dibuat secara optimum.

Kegiatan penjadwalan pengawas pembangunan kapal ini dilakukan

dengan mengikuti jadwal proses pembangunan kapal yang diadakan oleh

perusahaan galangan kapal. Dengan melihat jadwal proses pembangunan kapal,

selanjutnya dilakukan rotasi penugasan pengawas. Pengawas pembangunan kapal

idealnya merupakan karyawan dari PT Pertamina, akan tetapi untuk kondisi

tertentu, kebutuhan tenaga kerja tidak bisa ditutupi dengan keterbatasan kayawan

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 16: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

3

Universitas Indonesia

yang ada di PT Pertamina. Untuk memperlancar kegiatan pembangunan kapal, PT

Pertamina melakukan antisipasi dengan mengontrak pengawas tambahan dari

perusahaan lain. Hal inipun diharapkan akan memperlancar kegiatan

pembangunan.

Meskipun kegiatan pembangunan kapal ini membutuhkan karyawan untuk

pengawasan demi memperlancar kegiatan pembangunan, PT Pertamina tetap

memperhatikan aturan dalam pekerjaan, karena permasalah penjadwalan

karyawan memperhatikan banyak aspek seperti aspek psikologi, kesehatan dan

social. Di dalam Pertamina, Karyawan tetap mempunyai masa dinas maksimum 3

bulan sebelum kembali ke kantor pusat. Akan tetapi, terkadang keterbatasan

jumlah karyawan, tim pengawas pembangunan kapal juga melibatkan orang lain

dari departemen perencanaan pada kondisi yang dibutuhkan. Dengan

mengamodasikan hal-hal tersebut di atas, timbul biaya-biaya lain seperti biaya

perjalanan (travel allowance), biaya penginapan, dan biaya tenaga tambahan

(extra crew cost). Dalam optimasi penjadwalan tim pengawas, biaya-biaya inilah

yang harus diminimumkan. Sementara itu usaha optimasi yang dilakukan selama

ini hanya berdasarkan metode coba-coba dan pengalaman di masa lalu.

Masalah penjadwalan merupakan masalah yang sulit. Bahkan menjadi

lebih sulit ketika harus mempertimbangkan tujuan yang banyak (multiple

objectives). Adanya kombinasi dalam masalah penjadwalan mengakibatkan hal

ini menjadi sulit untuk diselesaikan walaupun dengan cara teknik matematika.

Hal-hal yang menjadi faktor pertimbangan dalam penyusunan jadwal yaitu

adanya batasan waktu pengerjaan (completion time), aliran waktu (flow time),

yang merupakan urutan pengerjaan aktivitas termasuk waktu tunggu (waiting

time), dan waktu proses (processing time). Penjadwalan yang optimal membuat

proses operasi berjalan dengan efektif. Untuk itu diusulkan penjadwalan dengan

menggunakan pendekatan algoritma genetika yang dapat menyelesaikan maalah

multi-kriteria dan multi-objektif.

Optimasi merupakan suatu metode pendekatan matematis yang bertujuan

untuk memperoleh tujuan yang maksimal dengan cost (biaya) yang minimal.

Pengertian cost (biaya) dalam hal ini bisa berupa uang, sumber daya, tenaga kerja,

atau berbagai bentuk pengorbanan lain yang perlu dikeluarkan untuk mencapai

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 17: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

4

Universitas Indonesia

tujuan. Terdapat berbagai macam metode yang bisa digunakan untuk melakukan

optimasi, namun untuk kasus-kasus yang berskala besar dibutuhkan teknik teknik

yang lebih modern seperti metode metaheuristik.

Metaheuristik menjadi alat optimasi yang telah mencatatkan sejarah

sukses. Para peneliti telah menunjukkan kemampuan metode ini dalam

memecahkan permasalahan hard combinatorial dengan skala yang cukup besar

dengan waktu komputasional yang kompetitif. Banyak sekali pendekatan yang

masuk kategori metaheuristik, seperti Simulated Annealing, Algoritma Genetika,

Cross Entropy, Particle Swarm Optimization, Ant Colony Optimization,dll.

Metaheuristik mencari solusi dengan memadukan interaksi antara prosedur

pencarian local dan strategi yang lebih tinggi untuk menciptakan proses yang

mampu keluar dari titik-titik local optima dan melakukan pencarian di ruang

solusi untuk menemukan solusi global.

1.2 Diagram Keterkatian Masalah

Diagram keterkaitan masalah merupakan sebuah ulasan yang memberikan

gambaran mengenai permasalahan terkait hingga solusi yang diberikan.

Berdasarkan apa yang telah dituliskan pada latar belakang, maka berikut ini

adalah diagram keterkaitan masalah tersebut pada gambar 1.1.

1.3 Perumusan Permasalahan

Permasalahan yang dijadikan fokus penelitian adalah optimasi suatu

sistem penjadwalan pengawas pembangunan kapal di PT Pertamina dalam rangka

minimilisai biaya. Penyelesaian sistem penjadwalan pengawas pembangunan

kapal PT Pertamina dilakukan dengan metode algoritma genetika.

1.4 Tujuan Penelitian

Berdasarkan latar belakang dan diagram keterkaitan masalah yang telah

dijelaskan sebelumnya, maka tujuan dari penelitian ini adalah memperoleh model

penjadwalan pengawas pembangunan kapal PT Pertamina dimana sesuai dengan

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 18: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

5

Universitas Indonesia

batas-batas aturan karyawan dengan meminimumkan biaya yang dikeluarkan

dengan menggunakan algoritma genetika.

Banyaknya jumlah prouek

Kompleksitas penjadwalan tinggi

Biaya pengawas dianggap kurang signifikan terhadap

biaya lain

Banyak aspek yang saling terkait yang harus

dijadwalkan

Lokasi pembangunan kapal yang berbeda-

beda

Kurangnya dorongan dari manajemen puncak

Cara penjadwalan yang sudah ada dianggap

sudah memadai

Perangkat lunak dan keras belum

memadai

SDM kurang memahami permasalahan penjadwalan

Belum adanya metode yang

sistematis untuk optimasi karyawan

Penjadwalan pengawas pembangunan kapal kurang

optimal

Proyek pembangunan kapal berjalan lancar

Ketersediaan karyawan dalam setiap proses pengerjaan

proyek

Peningkatan efisiensi biaya pengawas

Diperoleh model penjadwalan yang optimal

Utilitas pengawas menjadi optimal

Pembangunan kapal dikerjakan dengan benar

Gambar 1.1 Diagram Keterkaitan Permasalahan

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 19: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

6

Universitas Indonesia

1.5 Batasan Masalah

Dalam penelitian ini dilakukan pembatasan masalah agar pelaksanaan

serta hasil yang akan diperoleh sesuai dengan tujuan pelaksanaannya. Adapun

ruang lingkupnya adalah:

1. Penelitian ini dilakukan pada pengawasan proyek pembangunan yang

sedang dalam proses pembangunan (16 proyek), meliputi surveyor hull &

outfitting, surveyor hull & painting, surveyor machinery & outfitting,

surveyor electric & outfitting.

2. Waktu proses pembangunan kapal dari awal sampai selesai dianggap sama

untuk semua kapal, yaitu 14 bulan.

3. Pergerakan karyawan dibatasi dari lokasi kantor (jakarta) ke lokasi proyek

(Indonesia, China, dan Korea Selatan) atau sebaliknya.

4. Biaya yang akan dimasukkan adalah biaya perjalanan dan biaya hotel.

5. Waktu perencanaan selama 36 bulan (waktu proyek pembangunan kapal).

1.6 Metodologi Penelitian

Metodologi penelitian yang digunakan dalam penelitian ini secara

sistematis diuraikan sebagai berikut:

1. Perumusan ide-ide topik penelitian dan mengidentifikasi permasalahan

Pada tahap pertama, dilakukan pencarian tema-tema yang menarik untuk

diangkat, baik dari pencarian pada situs-situs internet, jurnal, maupun

buku dan diskusi dengan dosen pembimbing.

2. Studi literatur dasar teori penelitian

Dilakukan studi literatur teori-teori yang menjadi dasar dalam pelaksanaan

penelitian. Landasan teori yang terkait dengan penelitian ini adalah proses

pembuatan kapal, crew scheduling/staffing, dan algoritma genetika.

3. Perumusan masalah

Berdasarkan identifikasi masalah dan studi literatur teori, dapat

dirumuskan masalah dalam penelitian ini, yaitu perlu adanya

pengembangan optimasi sistem penjadwalan pengawas pembangunan

kapal PT Pertamina.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 20: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

7

Universitas Indonesia

4. Penentuan topik penelitian

Setelah masalah teridentifikasi, maka topik dapat ditentukan. Adapun

topik dari penelitian ini adalah pembuatan model optimasi penjadwalan

pengawas pembangunan kapal dengan menggunakan Algotima Genetika.

(Studi kasus: Departemen Pembangunan Kapal PT Pertamina)

5. Pengumpulan data

Pada tahap ini dilakukan identifikasi data yang dibutuhkan untuk

menyelesaikan permasalahan dan kemudian dilakukann pengumpulan

data-data tersebut. Pengumpulan data terdiri dari data kuantitatif dan

kualitatif dari PT Pertamina.

6. Pengembangan model

Setelah pemantapan studi terhadap dasar teori dan pengumpulan data,

maka data diolah dengan membuat model matematika dan diselesaikan

dengan metode algoritma genetika dengan menggunakan software

MATLAB.

7. Analisa hasil.

Pada tahap ini, dilakukan analisis terhadap penjadwalan pengawas

pembangunan kapal yang telah dibuat dengan membandingkan model

penjadwalan yang biasa digunakan.

8. Menarik kesimpulan

Dalam tahapan ini akan dihasilkan kesimpulan mengenai keseluruhan

penelitian. Kesimpulan dari penelitian ini merupakan ringkasan dari hasil

pengolahan data dan analisis yang telah dilakukan sebelumnya.

Untuk menggambarkan secara sistematis, maka dibuat diagram alir

metodologi penelitian yang dapat dilihat pada gambar 1.2.

1.7 Sistematika Penulisan

Untuk mempermudah pemahaman alur penelitian ini, maka penulisan

penelitian mengenai model optimasi penjadwalan pengawas pembangunan kapal

ini dibuat mengikuti aturan standar baku penulisan tugas akhir mahasiswa dan

disajikan dalam beberapa bab. Bab pertama adalah Pendahuluan. Pada bab

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 21: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

8

Universitas Indonesia

Pendahuluan, penulis menjelaskan mengenai latar belakang permasalahan yang

Diagram Alir Metodologi Penelitian

Mulai

Crew

schedulin

g/staffing

Mengidentifikasi permasalahan dan membangun ide=

Pentingnya optimasi pada penjadwalan pengawas

pembangunan kapal

Studi literatur

Melakukan pengumpulan data=

Selesai

Pengembangan model penjadwalan, algoritma dan program komputer dengan

MATLAB

Melakukan analisa data berupa evaluasi hasil pengolahan data dan pembandingan dengan data literatur

sebelumnya

Membuat kesimpulan berdasarkan hasil analisa

Menentukan tujuan penelitian:Mendapatkan jadwal penugasan karyawan

pengawas pembangunan kapal dengan meminimumkan biaya

Perumusan masalah:Membuat model optimasi penjadwalan

pengawas pembangunan kapalAlgoritma Genetika

Kuantitatif: Kualitatif:

Data proyek pembangunan

kapal Sistem operasi penjadwalan

Data karyawan pengawas

pembangunan kapal

Sistem operasi penjadwalan

Gambar 1.2 Diagram Alir Metode Penelitian

menyebabkan dilakukannya penelitian ini. Selain itu, tujuan penelitian dan

metodologi penelitian juga dipaparkan dalam bab ini. Penjelasan dalam bab

Pendahuluan juga dilengkapi dengan diagram-diagram yang dapat

menggambarkan alur permasalahan dan alur penelitian secara sistematis, yaitu

diagram keterkaitan masalah dan diagram alir metodologi penelitian.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 22: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

9

Universitas Indonesia

Pada bab kedua, penulis memaparkan dasar teori yang digunakan dalam

mengerjakan penelitian ini. Landasan teori ini diperoleh dari tinjauan pustaka baik

dari buku, jurnal, artikel, maupun informasi dari situs-situs di internet. Teori-teori

yang dipakai meliputi teori proses pembuatan kapal, crew pairing problem, dan

algoritma genetika.

Bab ketiga berisi pengumpulan data yang dibutuhkan penulis dalam

melakukan penelitian ini. Pengumpulan data dilakukan dengan cara observasi,

wawancara, dan pengumpulan dokumen perusahaan.

Bab keempat merupakan bab yang berisi pengolahan data dan analisis.

Penulis menjelaskan secara terperinci langkah-langkah yang digunakan dalam

pengolahan data sampai diperoleh hasil yang diharapkan. Pengolahan data pada

penelitian ini dilakukan dengan menggunakan algoritma genetika. Setelah

melakukan pengolahan data, dilakukan analisa hasil pengolahan data.

Setelah pengolahan data dan analisa dilakukan, maka dapat ditarik suatu

kesimpulan dari pengerjaan penelitian secara keseluruhan. Kesimpulan ini

merupakan jawaban dari tujuan penelitian. Kesimpulan ini ditulis pada bab yang

kelima.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 23: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

10

BAB 2

LANDASAN TEORI

2.1 Penjadwalan

Penjadwalan adalah sebuah proses pengambilan keputusan yang

digunakan sebagai acuan dasar pada berbagai industri . Hal ini berkaitan dengan

alokasi resources terhadap pekerjaan dalam suatu periode waktu yang diberikan

dan tujuannya adalah untuk mengoptimalkan satu tujuan atau lebih.

Resources dan pekerjaan dalam sebuah organisasi dapat dilihat dari

berbagai bentuk. Resources dapat berupa mesin dalam ruang kerja, landasan kapal

terbang di airport, karyawan dalam tempat konstruksi, dan lain sebagainya.

Sedangkan pekerjaan dapat berupa jenis-jenis operasi dalam sebuah proses

produksi, take-offs and landings pada sebuah airport, tahap/langkah-langkah

dlam sebuah proyek konstruksi. Setiap pekerjaan mempunyai level prioritas

tertentu, dan waktu memulai dan berakhirnya sebuah pekerjaan. Tujuan juga

dapat dilihat dalam berbagai bentuk yang berbeda. Sebuah tujuan dapat berupa

meminimalkan penyelesaian sebuah pekerjaan atau tujuan lain dapat berupa

meminimalkan jumlah pekerjaan diselesaikan setelah jatuh tempo ( Michael L.

Pinedo, 2010).

Masalah penjadwalan tenaga kerja secara umum adalah masalah dalam

penentuan berapa banyak pekerja yang harus ditempatkan terhadap setiap periode

perencanaan dari waktu kerja pada sebuah organisasi. Karena sumber daya

manusia adlah komponen yang sangat penting diantara semua organisasi baik di

industri manufaktur ataupun jasa, menjadwalkan tenaga kerja adalah masalah

yang umum bagi semua organisasi (Evrim Didem Gunes, 1999). Kriteria untuk

penjadwalan tenaga kerja didasarkan pada efisiensi penggunaan sumber daya

tenaga kerja/manusia dengan tetap memperhatikan aturan/perjanjian dalam

pekerjaan.

Masalah penjadwalan merupakan masalah yang sulit. Bahkan menjadi

lebih sulit ketika harus mempertimbangkan tujuan yang banyak (multiple

objectives). Adanya kombinasi dalam masalah penjadwalan mengakibatkan hal

ini menjadi sulit untuk diselesaikan walaupun dengan cara teknik matematika.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 24: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

11

Universitas Indonesia

Hal-hal yang menjadi faktor pertombangan dalam penyusunan jadwal yaitu

adanya batasan waktu pengerjaan (completion time), aliran waktu (flow time),

yang merupakan urutan pengerjaan aktivitas termasuk waktu tunggu (waiting

time), dan waktu proses (processing time). Penjadwalan yang tepat akan mencapai

tujuan yang optimal dengan memenuhi semua kendala (Yanti Nitra Sianipar,

2010).

2.1.1 Model Penjadwalan

Penyelesaian masalah penjadwalan dapat dilakukan dengan memodelkan

penjadwalan dalam dunia nyata terlebih dahulu sehingga akan mempermudah

penyelesaiannya.

Ada beberapa syarat yang harus dipertimbangkan dalam proses

perencanaan tenaga kerja yang juga akan menjadi faktor-faktor dalam

menentukan model penjadwalan tenaga kerja yang akan dijabarkan sebagai

berikut (Evrim Didem Gunes, 1999) :

1. Sifat kebutuhan seseorang apakah konstan, berubah-ubah seiring waktu,

2. Standar jadwal pekerjaan yang digunakan. Yang paling umum adalah

standar 5 hari, 10 jam minggu kerja. Contoh yang lain adalah : “flexitime”

atau mengijinkan pekerja untuk memilih waktu mulai dan berhenti bekerja

selama dia bekerja dalam “core hours” yang biasanya dari jam 10 pagi

sampai jam 3 sore.

3. Jumlah dan bentuk shift kerja sehari. Seperti siang, sore, dan malam

dengan alternative waktu mulai dan berhenti bekerja, dan juga beristirahat

diberikan.

4. Aturan pekerjaan yang berhubungan dengan bentuk hari kerja/cuti para

pekerja. Jadwal cuti harus berurutan atau tidak, dan rotasi shift dibolehkan

atau tidak.

5. Kelonggaran bekerja maksimum yang diperbolehkan.

6. Atribut tenaga kerja. Ada banyak perbedaan keahlian pekerja, selain itu

pekerja part time/subkontrak juga bisa dipertimbangkan.

Dengan mempertimbangkan semua faktor-faktor ini, yang menjadi tugas

adalah menemukan jadwal yang memungkinkan dan berbiaya murah. Disamping

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 25: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

12

Universitas Indonesia

faktor-faktor tersebut, kesulitan dalam masalah penjadwalan pekerja adalah

berurusan dengan keberadaan manusia. Jadi “biaya” sebuah penjadwalan berbeda

dengan mendapatkan total gaji. Selain itu, semangat/moril tergantung seberapa

baik pemilihan penjadwalan sesuai dengan pilihan perseorangan, yang akan

mempengaruhi produktivitas. Lebih jauh lagi, biaya training, overtime, faktor

kesehatan dan keselamatan harus diperhitungkan ketika mempersiapkan jadwal

pekerjaan. Karakteristik dari jadwal pekerjaan yang harus dipertimbangkan ketika

membuat keputusan penjadwalan adalah:

Coverage : Keberadaan jumlah pekerja minimum yang dibutuhkan setiap

periode waktu.

Quality : Ukuran dari jadwal yang sesuai atau diinginkan oleh pekerja

yang akan bekerja.

Stability : Ukuran sejauh mana pekerja dapat mengetahui waktu bekerja

dan berhenti di kemudian hari

Flexibility : Kemampuan menangani perubahan, seperti perubahan dari

“full time” ke “part time”, dan munculnya persyaratan baru bagi para

pekerja.

Fairness : Ukuran sejauh mana setiap pekerja dipengaruhi oleh waktu

yang sama dalam hal perubahan yang tidak diinginkan.

Langkah-langkah umum yang digunakan dalam menganalisa dan

menyelesaikan penjadwalan tenaga kerja adalah sebagai berikut:

1. Menentukan jumlah pekerjaan yang harus diselesaikan.

2. Menentukan susunan pegawai yang dibutuhkan untuk melaksanakan

pekerjaan (untuk setiap periode waktu).

3. Menentukan ketersediaan personalia.

4. Menyesuaikan personalia untuk kebutuhan staff.

2.1.2 Pendekatan Umum Terhadap Masalah Penjadwalan

Penjadwalan tenaga kerja adalah persoalan riset yang sudah dipelajari

secara luas. Ada banyak jenis masalah, seperti air crew scheduling, audit

scheduling, nurse scheduling, construction crew scheduling, dan lain-lain.

Masalah penjadwalan tenaga kerja dapat diklasifikasikan sebagai berikut:

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 26: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

13

Universitas Indonesia

1. Sifat permintaan dan stabilitas siklik tenaga kerja dibandingkan asiklik

2. Selisih waktu kerja yang dijadwalkan shift, hari kerja (hari libur) dan

penjadwalan tur.

Penjadwalan siklis mengasumsikan pola permintaan yang konstan dalam

periode waktu yang spesifik. Contohnya, jika permintaan dapat bervariasi diantara

hari dalam seminggu dan pola mingguan adalah konstan, maka penjadwalan siklis

dapat digunakan. Sekali penjadwalan ditentukan setiap karyawan secara berulang

kali melalui pola mingguan set yang sama. Penjadwalan siklik mengasumsikan

sejumlah tenaga konstan yang semuanya tersedia setiap saat. Untuk kasus asiklik,

masalah harus diselesaikan setiap kali pola permintaan dan perubahan

ketersediaan karyawan, dalam perencanaan yang ditentukan di lain waktu.

Masalah penjadwalan shift diselesaikan dengan mengembangkan sebuah

penjadwalan kerja harian. Mereka akan muncul ketika dibutuhkan untuk

menentukan shift karyawan mana yang harus ditempatkan untuk setiap hari kerja,

khususnya ketika shift dalam overlapping. Dalam perusahaan jasa, ini hanya

merupkan masalah yang diselesaikan karena hari kerja sudah tetap dengan

kebijakan manajemen.

Dalam Solusi penjadwalan minggu kerja terdapat penjadwalan hari libur,

yang menentukan hari-hari setiap karyawan harus diistrahatkan. Masalah ini

terjadi ketika waktu minggu kerja (work week) seseorang berbeda dengan minggu

bisnis (business week). Contohnya, 5 hari kerja seminggu dan operasi bisnis 6-7

hari , seperti perawat, retail salespersons. Penjadwalan hari libur mengasumsikan

shift tunggal setiap hari yang tidak sesuai untuk organisasi yang beroperasi 24 jam

sehari.

Ketika kedua shift harian untuk setiap hari kerja dan hari libur dibutuhkan,

dua masalah yang harus diselesaika secara bersamaan, membawa hal ini ke dalam

masalah tour scheduling secara umum. Tour scheduling melibatkan penentuan

hari kerja dan tidak kerja selama penggal waktu yang disesuaikan dengan waktu

mulai dan berhenti bekerja bagi setiap karyawan.

Tour schedules untuk operasi yang kontinyu kebanyakan membutuhkan

karyawan yang berotasi berdasarkan shift. Shift kerja mempunyai banyak efek

negatef terhadap kesehatan karyawan dan kehidupan social, namun hal ini adalah

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 27: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

14

Universitas Indonesia

masalah wak tidak bisa dihindari. Dalam kasus ini, rotasi yang cepat antara shift

sangat disarankan.

2.1.3 Kompleksitas Dalam Penjadwalan

Penjadwalan menjadi semakin sulit ketika memiliki kendala-kendala yang

banyak dan cukup rumit. Disamping itu, apabila jumlah populasi yang harus

dijadwalkan semakin banyak akan memicu kekomplesitaan masalah penjadwalan.

Kekompleksitaan dalam penjadwalan dapat dilihat pada gambar 2.1

Scheduling Problems(Complexity Analysis)

Polynomial time solution(easy problem) NP-hard

Strongly NP - hard NP – hard ordinary sense

Psedo polynomial solution

Gambar 2.1 Diagram Masalah Penjadwalan

(Sumber: Uwe Schwiegelshohn, CEI University Dormund 2004)

Terdapat dua tingkat kesulitan dalam melakukan penjadwalan, yaitu:

1. Mudah (polynomial time complexity)

Penjadwalan dikatakan mudah apabila sebuah algoritma dapat digunkan

untuk

mengoptimalkan masalah dengan kompleksitas waktu 0 ((n log(max Pj))k)

untuk nilai k tertentu.

2. NP – hard, terdiri dari dua jenis:

a. NP – hard dalam tingkat kesulitan yang luar biasa (pseudo polynomial

time complexity). Masalah penjadwalan yang tidak dapat dioptimalkan

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 28: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

15

Universitas Indonesia

dengan sebuah algoritma dengan kompleksitas polynomial waktu

namun dengan sebuah algoritma dengan kompleksitas 0 ((n max Pj)k).

b. NP – hard dalam strong sense

Masalah tidak dapat dioptimalkan dengan sebuah pseudo polynomial

complexity.

Oleh karena tingkat kesulitannya, maka masalah penjadwalan diselesaikan

dengan menggunakan algoritma. Algoritma adalah kumpulan perintah untuk

penyelesaian suatu masalah dan dapat diterjemahkan secara bertahap dari awal

hingga akhir yang bersifat diskrit dan jelas serta dapat dijalankan secara mekanik.

2.1.4 Penjadwalan Karyawan Dengan Resource Terbatas

Pada umumnya untuk menyelesaikan masalah penjadwalan karyawan

dengan resource terbatas digunakam pendekatan critical path method (CPM).

Untuk menerapkan CPM harus diketahui data aktivitas (pekerjaan), durasi dan

hubungan ketergantungan antar pekerjaan. Dengan CPM akan diketahui berapa

umur proyek (makespan) terpendek. Namun pemakaian CPM tidak lagi layak jika

ada konstrain tambahan berupa ketersediaan resource (Budi Santosa 2011). Jika

terjadi keterbatasan sumber daya, untuk jadwal yang sudah diperoleh dengan

CPM, perlu dilakukan lagi pengaturan jadwal menyesuaikan ketersediaan

resource yang dimiliki atau perlu ditambahkan sumber daya agar jadwal yang

didapatkan bisa berlaku. Cara lain yang bisa digunakan untuk melakukan

penjadwalan karyawan pembangunan kapal ini adalah melalui pendekatan

metaheuristik. Ini bisa dilakukan karena sebenarnya menentukan jadwal urutan

pengerjaan aktivitas adalah permasalahan optimasi kombinatorial yang cukup

sulit jika jumlah aktivitasnya membesar.

Sebagai gambaran bagaimana permasalahan ini muncul akan

diilustrasikan sebagai berikut. Misalkan ada 6 aktivitas yang harus dijadwalkan

dengan hubungan ketergantungan, kebutuhan resource dan durasi tiap aktivitas

seperti ditunjukkan gambar 2.2, akan didapatkan jadwal dan pemakaian resource

yang layak seperti gambar 2.3. Dari gambar tersebut Nampak bahwa kegiatan 3

bisa dimulai setelah kegiatan 1 selesai. Kegiatan 4 bisa dilakukan setelah kegiatan

2 selesai. Sementara itu kegiatan 1 atau 2 tidak saling bergantung.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 29: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

16

Universitas Indonesia

0

1

2 4 6

7

2 5

4/2 1/2 2/3

2/2 2/4 5/2

Durasi/resources

Gambar 2.2 Precedence, durasi, dan kebutuhan sumberdaya

Dalam penjadwalan,terdapat kendala. Kendala terjadi akibat adanya

interaksi antara beberapa entitas dalam perancangan jadwal.

2

1

4

6

3

5

Resources

Waktu0 2 4 6 8 10 12

1

2

3

6

Gambar 2.3 Jadwal dan kebutuhan tenaga kerja

Model penjadwalan ini akan terdiri dari beberapa entitas seperti akan

dijelaskan berikut:

1. Penggal Waktu jadwal pembangunan kapal dan persebaran karyawan

Dalam memodelkan rancangan terdapat penggal waktu untuk mengerjakan

tahap demi tahap pembangunan kapal seperti first cutting, keel laying,

launching, dan delivery.

2. Pengawas

Penjadwalan yang dilakukan dalam penelitian ini adalah penjadwalan

tenaga pengawas pembangunan kapal. Pengawas terdiri dari site manager,

asisten pengawasan, pengawas hull, pengecatan, mesin dan elektrikal.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 30: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

17

Universitas Indonesia

Setiap pengawas tidak berada di lokasi secara bersama, tergantung dari

penggal waktu kapan mereka dibutuhkan.

3. Lokasi Proyek

Pembangunan kapal dilakukan di beberapa tempat yang berbeda sehingga

pengalokasian proyek harus disesuaikan dengan jumlah pengawas yang

tersedia.

4. Peraturan Kerja

Untuk mengatasi masalah psikologis dan kehidupan sosial, setiap

karyawan diberlakukan peraturan bahwa mereka hanya boleh berada

maksimal 3 bulan di lokasi proyek dan harus kembali ke kantor dan baru

boleh kembali ke lokasi proyek setelah 1 bulan.

Dalam penjadwalan pengawas pembangunan kapal, terdapat beberapa

kendala yang timbul akibat interaksi antar entitas model, yaitu sebagai berikut:

1. Tidak ada karyawan yang bertugas di lokasi yang berbeda dalam waktu

yang bersamaan.

2. Jumlah karyawan pengawas pembangunan kapal harus cukup untuk

memenuhi semua proyek.

3. Seorang Pengawas pembangunan kapal hanya boleh berada di lokasi

proyek maksimal 3 bulan, setelah itu harus kembali ke Jakarta.

4. Seorang karyawan paling cepat 1 bulan harus kembali ke lokasi proyek

setelah berada di Jakarta.

5. Pengawas harus ada di kantor Pertamina sekurang-kurangnya 2 orang

karyawan.

2.2 Masalah Optimasi

Optimasi memegang peran penting dalam proses mendesain suatu sistem.

Dengan optimasi, desain suatu sistem bisa menghasilkan ongkos yang lebih

murah atau profit yang lebih tinggi, menurunkan waktu proses dan sebagainya.

Keberhasilan penerapan teknik optimasi paling tidak memerlukan tiga syarat.

Syarat-syarat tersebut adalah kemampuan membuat model matematika dari

permasalahan yang dihadapi, pengetahuan teknik optimasi dan pengetahuan akan

program computer.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 31: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

18

Universitas Indonesia

Pengertian optimasi bisa dijelaskan sebagai suatu kumpulan formula

matematis dan metoda numeric untuk menemukan dan mengidentifikasikan

kandidat terbaik dari sekumpulan alternative tanpa harus secara eksplisit

menghitung dan mengevaluasi semua altenatif yang mungkin. Masalah optimasi

biasanya dinyatakan dalm bentuk fungsi matematik. Optimasi adalah proses

memaksimasi atau minimasi suatu fungsi tujuan dengan tetap memperhatikan

pembatas yang ada. Suatu fungsi didefenisikan sebagai suatu aturan yang

menugaskan setiap pilihan nilai x dengan satu nilai unik y = f(x). Dalam hal ini x

adalah variabel independent dan y adalah variabel dependent.

Permasalahan optimasi bisa dibagi menurut beberapa kategori:

1. Optimasi tanpa pembatas (unconstrained optimization)

Jika suatu fungsi f berlaku untuk S = R, maka fungsi disini adalah

fungsi satu variabel tanpa pembatas atau unconstrained function. Misalkan

terdapat fungsi sebagai berikut

f (x) = x3- 2x

2 - x + 3, x R,

adalah fungsi tanpa pembatas (unconstrained function) dengan satu

variabel. Sedangkan

f(x) = x12-x2

2 – x1 + 3, x R,

adalah fungsi tanpa pembatas (unconstrained function) dengan dua

variabel. Secara umum formulasi fungsi tanpa pembatas dinyatakan

sebagai

Minimasi f(x), x R (2.1)

2. Optimasi dengan pembatas (constrained optimation)

Kalau S adalah subset dari R, maka akan didapat fungsi yang

didefenisikan dalam daerah yang terbatas atau constrained region.

Misalkan kita punya masalah optimasi dengan satu pembatas berupa satu

pembatas sebagai berikut

Min f(x) (2.2)

Subject to

h(x) = 0

g(x) ≤ 0

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 32: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

19

Universitas Indonesia

Pembatas h(x) = 0 dan g(x) ≤ 0 menyatakan bahwa S adalah bagian atau

subset dari R (SR). Daerah dimana x memenuhi pembatas h(x) maupun

g(x) disebut dengan daerah feasible atau feasible region.

Masalah optimasi juga bisa dilihat dari nilai variabelnya. Pengelompokan

masalah optimasi berdasarkan nilai variabel adalah:

1. Optimasi dengan variabel kontinyu, masalah optimasi dengan nilai x bisa

berapa saja dalam daerah feasibel. Masalah programa linier atau programa

kuadratik adalah contoh optimasi kontinyu.

2. Optimasi diskrit, adalah masalah optimasi dengan nilai solusi terbatas pada

nilai-nilai tertentu yang biasanya bilangan bulat. Secara umum

penyelesaian masalah optimasi diskrit lebih sulit dibanding optimasi

kontinyu. Masalah integer programming adalah contoh optimasi diskrit.

Dalam keadaan dimana tidak ada informasi mengenai algoritma

polynomial yang eksak (waktu komputasi proporsional terhadap Nn,

dengan N adalah jumlah parameter yang dicari, dan n suatu konstanta

integer) dikatakan masalah tersebut sebagai NP – hard. Dalam kategori

NP – hard tidak ada nilai n sehingga waktu komputasi dibatasi oleh suatu

polynomial dengan pangkat n.

Secara spesifik problem optimasi bisa dikategorikan berdasarkan variabel

keputusan, fungsi objektif dan konstrain sebagai:

Linear Programming (LP) : baik fungsi objektif dan konstrainnya linier,

variabel keputusannya bersifat kontinyus. Sebagai contoh

Minimasi f(x) = 2x1 + 3x2 (2.3)

Subject to

x1 + 3x2 ≥ 10

2x2 + 5x2 ≥ 18 ≤0

x1, x2 ≥ 0

Nonlinear Programming (NLP) : fungsi objektif dan atau konstrainnya

tidak linier. Nilai variabel keputusannya kontinyu. Sebagai contoh

Minimasi f(x) = 2x12

+ 3x2 (2.4)

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 33: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

20

Universitas Indonesia

Subject to

x1 x2 ≥ 10

2x22 + 5x2 ≥ 18

Integer Programming (IP): Variabel keputusannya bernilai integer.

Sebagai contoh:

Maksimasi f(x) = 2x1 + 3x2 (2.4)

Subject to

4x1 + 3x2 ≤ 23

4x1 + 10x2 ≤ 44

x1, x2 ≥ 0 dan integer

Mixed Integer Linier Programming (MILP) : fungsi objektif dan konstrain

linier. Variabel keputusannya bernilai campuran integer dan riil. Sebagai

contoh

Maksimasi 6x1 + 4x2 + 7x3 - 200y1 + 150y2 – 100y3

(2.6)

Subject to

3x1 + 2x2 + 6x3 ≤ 150

4x1 + 3x2 + 4x3 ≤ 160

x1 - 500y1 ≤ 0

x2 - 500y1 ≤ 0

x3 - 500y1 ≤ 0

x1, x2, x3 ≥ 0, integer

y1, y2, y3 = 0 atau 1

Mixed Integer Nonlinier Programming (MILP) : nonlinear programming

problem dengan variabel keputusan integer dan kontinyus. Sebagai contoh

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 34: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

21

Universitas Indonesia

Maksimasi 6x12

+ 4x22

+ 7x3 - 200y1 + 150y2 – 100y3 (2.7)

Subject to

3x1 + 2x2 + 6x3 ≤ 150

4x1 + 3x2 + 4x3 ≤ 160

x1 - 500y1 ≤ 0

x2 - 500y1 ≤ 0

x3 - 500y1 ≤ 0

x1, x2, x3 ≥ 0, integer

y1, y2, y3 = 0 atau 1

2.3 Algoritma Genetika

Algoritma genetika masuk dalam kelompok Evolutionary Algorithm. GA

didasarkan pada prinsip-prinsip genetika dan seleksi alam. Elemen-elemen dasar

dari genetika alam adalah: reproduksi, crossover, dan mutasi. GA termasuk

temuan dalam bidang optimasi, dimana suatu algoritma diciptakan dengan meniru

mekanisme evolusi dalam pekembangan makluk hidup. Dalam proses evolusi,

individu secara terus-menerus mengalami perubahan gen untuk menyesuaikan

dengan lingkungan hidupnya (“Hanya individu-individu yang kuat yang mampu

bertahan.”) Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi

pada individu melalui proses perkembangbiakan. Dalam algoritma genetika ini,

proses perkembang-biakan ini menjadi proses dasar yang menjadi perhatian

utama, dengan dasar berpikir: “Bagaimana mendapatkan keturunan yang lebih

baik”. Dalam GA prosedur pencarian hanya didasarkan pada nilai fungsi tujuan,

tidak ada pemakaian gradient atau teknik kalkulus. Gambar 2.4 adalah siklus

Algoritma Genetika:

2.3.1 Kromosom

Dalam GA, kromosom merupakan bagian penting dari algoritma. Satu

kromosom atau individu mewakili satu vector solusi. Kadang kita bisa langsung

menggunakan vektor solusi ini dalam implementasi GA. Atau kadang bisa juga

dilakukan encoding atau pengkodean. Pengkodean dilakukan untuk mewakili

suatu n solusi dengan menggunakan bilangan biner. Ini tergantung pada permasa-

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 35: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

22

Universitas Indonesia

Gambar 2.4 Siklus Algoritma Genetika

han optimasi yang dihadapi. Dalam permasalahan optimasi fungsi, seringkali n

kontinyus akan diwakili dengan bilangan biner. Dengan bilangan

Beberapa istilah dipakai dalam GA dijelaskan sebagai berikut:

bilangan biner, langkah – langkah kawin silang atau mutasi akan lebih

banyak variasinya, sebaliknya bisa juga dilakukan penghitungan tanpa melalui

proses encoding . Jadi solusi memang dalam bentuk kontinyus dan proses-proses

seleksi, kawin silang dan mutasi dilakukan dengan menggunakan bilangan

kontinyus. Pada akhir algoritma GA, jika dilakukukan pengkodean, maka akan

dilakukan proses mengembalikan ke nilai kontinyus asalnya, yang sering disebut

decoding. Dalam GA akan dibangkitkan populasi sebagai sebagai kumpulan dari

kromosom, dimana masing-masing kromosom mewakili satu vektor solusi.

Dengan dibangkitkannya populasi ini, maka akan tersedia banyak pilihan solusi.

2.3.2 Fitness

Funsi fitness digunakan untuk mengukur tingkat kebaikana atau kesesuain

(fitness) suatu solusi dengan solusi yang dicari. Fungsi fitness bisa berhubungan

langsung dengan fungsi tujuan, atau bisa juga sedikit modifikasi terhadap fungsi

tujuan. Sejumlah solusi yang dibangkitkan dalam populasi akan dievaluasi

menggunakan fungsi fitness. Fungsi fitness yang biasa digunakan adalah

)'(1

1)(

xfxF

dimana f(x) adalah fungsi tujuan dari masalah yang diselesaikan.

Untuk minimasi, jika didapatkan f(x) yang kecil maka nilai fitnessnya besar.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 36: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

23

Universitas Indonesia

Sebaliknya untuk kasus maksimasi, fungsi fitnessnya bisa menggunakan nilai f(x)

sendiri, jadi F(x) = f (x).

Setelah setiap solusi dievaluasi dengan fungsi fitness, perlu dilakukan

proses seleksi terhadap kromosom. Proses seleksi dilakukan untuk memilih

diantara kromosom anggota populasi ini, mana yang bisa menjadi induk (parent)

atau melakukan identifikasi diantara populasi ini, kromosom yang akan menjadi

anggota populasi berikutnya. Ada beberapa cara melakukan seleksi ini. Sebagian

anggota populasi bisa dipilih untuk proses reproduksi. Cara yang umum

digunakan adalah melakukan roulette wheel selection atau roda lotere.

2.3.3 Elitisme

Konsep elitism (elitism) dalam GA berarti usaha mempertahankan

individu-individu terbaik yang telah diperoleh di suatu generasi ke dalam generasi

selanjutnya. Sehingga individu-individu terbaik ini akan tetap muncul di populasi

berikutnya. Langkah ini dilakukan dalam berbagai cara. Misalnya, melalui

penyalinan individu terbaik, atau dapat juga melalui kombinasi antara solusi-

solusi turunan atau anak dengan induk. Terbukti bahwa penggunaan operator

elitisme ini telah terbukti memiliki pengaruh yang sangat penting saat

menggunakan GA untuk menyelesaikan persoalan optimasi dengan tujuan

tunggal.

2.3.4 Seleksi dengan Roda Lotere

Untuk memahami proses seleksi dengan roda lotere bisa dilihat pada

gambar 2.5. Sebuah lingkaran lotere yang daerahnya dibagi – bagi sebanyak

jumlah individu atau silusi yang dibangkitkan. Dalam contoh ini ada 6 individu.

Dalam roda lotere setiap individu mempunyai kesempatan yang sama untuk

terpilih. Setiap area dalam lingkaran ini menunjukkan peluang setiap solusi akan

dibangkitkan bilangan random. Misalkan untuk individu 1, dibangkitkan bilangan

random ( dalam contoh ini bilangan random dikalikan dengan fungsi fitness (tf))

berada di area mana dari lingkaran lotere tersebut. Misalkan nilai r x tf lebih kecil

dari akumulasi fitness 1 + fitness 2, maka individu 2 yang akan dipilih untuk

menggantikan individu 1.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 37: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

24

Universitas Indonesia

Gambar 2.5 Roda Lotere

Setiap kali roda diputar sampai berhenti, jarum penunjuk ajan tertuju pada

individu tertentu. Individu dengan nilai fitness paling besar akan punya

kesempatan terpilih paling besar untuk menjadi induk. Dalam contoh ini, jika roda

diputar sebanyak jumlah individu (6), peluang individu 1 dengan nilai fitness 35

akan terpilih paling besar, disbanding individu dengan dengan fitness yang lebih

rendah. Dalam optimasi, fitness ini mewakili nilai fungsi tujuan. Dalam kasus

minimasi fungsi, semakin kecil nilai fungsi tujuan, semakin besar nilai fitness.

Proses seleksi induk ini akan diulang sejumlah yang diinginkan.

Dari contoh ini, kelihatan bahwa solusi ke-2 punya peluang paling tinggi

untuk diseleksi menjadi induk karena kromosom ke-2 ini mempunyai nilai fitness

besar.

2.3.5 Crossover atau Kawin Silang

Cross Over (Pindah Silang) merupakan salah satu operator dalam

algoritma genetika yang melibatkan dua induk untuk menghasilkan keturunan

yang baru. Ada bermacam-macam teknik crossover yang bisa digunakan dalam

GA. Tetapi yang akan dibahas disini adalah crossover sederhana dan crossover

aritmetika. Dalam crossover sederhana, jika ada dua induk P1 dan P2 dan

menghasilkan dua keturunan C1 dan C2. Misalkan anggota induk adalah X =

[x1,x2,…,xn] dan Y = [y1,y2,…yn] dan r adalah bilangan random diskrit yang bernilai

6%

35%

14%

12%

9%

24% 1

2

3

4

5

6

fitnesfitnes

Jarum penunjuk

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 38: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

25

Universitas Indonesia

antara 1 dan panjang vector x, maka U dan V yang mewakili keturunan C1 dan C2

didefenisikan sebagai:

(2.7)

(2.8)

Nilai bilangan random r sering disebut dengan titik potong. Jadi mulai gen

ke-berapa kawin silang akan dilakukan. Misalkan dari 8 gen didapat r = 3, maka

mulai gen ke 4, gen dari kromosom X akan ditukarkan dengan gen dari kromosom

Y. Sedangkan dalam crossover aritmatik, keturunan dihasilkan dengan melkukan

kombinasi linier dari vektor induk. Secara matematis bisa dituliskan

(2.9)

(2.10)

dengan syarat . Crossover aritmatik terutama cocok untuk kasus

dimana variabel keputusan bernilai kontinyus. Kawin silang dilakukan untuk

mendapatkan kombinasi yang lebih baik antara satu individu dengan individu

yang lain dalam satu populasi.

Kombinasi linier parameter yang penting dalam kawin silang adalah

probabilitas kawin silang. Jika parameter ini bernilai kecil, maka hanya akan

sedikit kromosom yang akan mengalami kawin silang. Jika nilai ini membesar,

maka akan semakin sedikit besar kromosom yang akan mengalami kawin silang.

Misalkan nilai parameter ini adalah 0.5, maka aka nada sekitar separuh populasi

yang akan mengalami kawin silang.

Gambar 2.6 Contoh Kawin Silang

(Sumber: Genetic Algorithms-A Tutorial, A. Townsend 2003)

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 39: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

26

Universitas Indonesia

2.3.6 Mutasi

Mutasi memungkinkan memunculkan individu-individu baru yang bukan

berasal dari kawin silang. Mutasi mengacu pada perubahan urutan atau

penggantian elemen dari vector solusi (pada masalah TSP), pemunculan nilai baru

(optimasi fungsi). Elemen tersebut juga dipilih secara random. Misalkan untuk

vektor solusi X, untuk elemen terpilih k

(2.11)

Parameter penting dalam mutasi adalah probabilitas mutasi. Probabilitas

ini akan menentukan kromosom mana yang akan mengalami perubahan gen.

Semakin besar nilai probabilitas mutasi, semakin banyak kromosom dalam

populasi yang akan mengalami mutasi. Misalkan nilai probabilitas mutasi 0.01,

maka aka nada sekitar 1% dari seluruh kromosom dalam populasi yang akan

mengalami mutasi.

Mutasi dimaksudkan untuk memunculkan individu baru yang berbeda

sama sekali dengan individu yang sudah ada. Dalam konteks optimasi

memungkinkan munculnya solusi baru untuk bisa keluar dari local optimum.

Gambar 2.6 Contoh Mutasi

(Sumber: Genetic Algorithms-A Tutorial, A. Townsend 2003)

Secara garis besar, Algoritma Genetika dasar akan dijelaskan sebagai

berikut

1. Bangkitkan populasi awal

Bangkitkan populasi awal atau kromosom-kromosom awal secara

random. Evaluasi nilai setiap individu di dalam populasi awal ini

dengan menggunakan fungsi fitness. Tentukan ukuran populasi,

probabilitas kawin silang, dan probabilitas mutasi.

2. Set iterasi t=1

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 40: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

27

Universitas Indonesia

3. Pilih individu terbaik untuk disalin sejumlah tertentu untuk mengganti

individu lain (elitisme)

4. Lakukan seleksi kompetitif untuk memilih anggota populasi sebagai

induk untuk dilakukan kawin silang.

5. Lakukan kawin silang antar induk yang terpilih

6. Tentukan beberapa individu dalam populasi untuk mengalami proses

mutasi

7. Jika belum mencapai konvergensi, set iterasi t = t+1

8. Kembali ke langkah 2

Dalam implementasi GA, sering digunakan bilangan biner (binary) untuk

mewakili nilai variabel yang dicari. Umumnya akan ditentukan dulu berapa

interval nilai kontinyus yang dicari. Sesudah itu akan bisa dicari berapa jumlah

bilangan biner yang diperlukan untuk mewakili (berapa jumlah bit).

Jika terdapat bilangan biner bqbq-1,…,b2b1b0 dimana bk = 0 atau 1. Secara

umum untuk mengubah bilangan biner menjadi bilangan nilai decimal bisa

dilakukan dengan cara

(2.12)

dengan k = 0, 1, 2, …, q. Misalkan set nilai biner 1 1 0 bisa dihitung

desimalnya sebagai 20(0) + 2

1(1) + 2

2(2) = 6, dimana perhitungan dilakukan dari

belakang. Setelah dibangkitkan sejumlah individu dengan nilai biner, maka

individu ini bisa dikembalikan nilainya ke dalam nilai kontinyus (decoding)

dalam interval BB dan BA dengan rumus berikut

(2.13)

Jika sebuah variabel x yang batas bawah dan batas atasnya diberikan

sebagai BA dan BB, akan diwakili dengan menggunakan satu set nilai biner, maka

bsia dihitung berapa digit bilangan biner yang diperlukan jika diketahui tingkat

akurasinya ∆x.

(2.14)

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 41: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

28

Universitas Indonesia

Misalkan dikehendaki akurasi 0.01, suatu variabel kontinyus x dengan

batas bawah -6 dan batas atas 6 akan diwakili dengan bilangan biner, maka kita

perlu tahu berapa bilangan biner (bit) yang diperlukan.

(2.15)

Maka q = 11. Artinya, diperlukan 11 bit nilai biner untuk mewakili nilai x

tadi. Atau diperlukan 11 bilangan biner untuk mewakilinya.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 42: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

29

BAB 3

PENGUMPULAN DATA

3.1 Profil Perusahaan

Penelitian ini dilakukan di PT Pertamina (Persero). Perusahaan ini adalah

perusahaan minyak dan gas bumi yang dimiliki pemerintah Indonesia (National

Oil Company), yang berdiri sejak tanggal 10 Desember 1957. Sampai dengan

perubahan status menjadi perusahaan perseroan pada tanggal 17 September 2003

berdasarkan Undang – Undang Republik Indonesia Nomor 22 tahun 2001 pada

tanggal 23 November 2001 tentang Minyak dan Gas Bumi.

Adapun tujuan dari Perusahaan Perseroan adalah untuk:

1. Mengusahakan keuntungan berdasarkan prinsip pengelolaan Perseroan

secara efektif dan efisien.

2. Memberikan kontribusi dalam meningkatkan kegiatan ekonomi untuk

kesejahteraan dan kemakmuran rakyat.

Untuk mencapai maksud dan tujuan tersebut, Perseroan melaksanakan

kegiatan usaha sebagai berikut:

1. Menyelenggarakan usaha di bidang minyak dan gas bumi beserta hasil

olahan dan turunannya.

2. Menyelenggarakan kegiatan usaha di bidang panas bumi yang ada pada

saat pendiriannya, termasuk Pembangkit Listrik Tenaga Panas Bumi

(PLTP) yang telah mencapai tahap akhir negosiasi dan berhasil menjadi

milik Perseroan.

3. Melaksanakan pengusahaan dan pemasaran Liquified Natural Gas (LNG)

dan produk lain yang dihasilkan dari kilang LNG.

4. Menyelenggarakan kegiatan usaha lain yang terkait atau menunjang

kegiatan usaha sebagaimana dimaksud dalam nomor 1,2, dan3.

Sesuai dengan ketentuan dalam Undang – Undang MIGAS baru,

perusahaan ini tidak lagi menjadi satu – satunya perusahaan yang memonopoli

industri MIGAS dimana kegiatan usaha minyak dan gas bumi diserahkan kepada

mekanisme pasar.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 43: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

30

Universitas Indonesia

3.2 Data Yang Dibutuhkan

Untuk dapat menyelesaikan permasalahan penjadwalan karyawan ini,

maka dibutuhkan beberapa data yang akan digunakan untuk mendapatkan solusi

penjadwalan karyawan yang optimal dan untuk melaksanakan analisis

perbandingan. Data yang dibutuhkan antara lain adalah data mengenai proyek

pembangunan kapal (lokasi proyek), data karyawan pengawas pembangunan

kapal beserta jenis-jenis pekerjaan yang berhubungan dengan pembangunan

kapal, dan biaya-biaya penugasan.

3.2.1 Data Proyek

Data proyek yang dimaksud adalah proyek pembangunan kapal yang

sedang dilaksanakan oleh Pertamina dan perusahaan galangan. Dalam penelitian

ini, data proyek yang digunakan berjumlah 16 proyek yang semuanya tersebar di

beberapa tempat yang berbeda, termasuk di China dan Korea Selatan. Jumlah

proyek ini diambil sesuai jadwal pembangunan kapal yang sedang dilaksanan.

Pada pelaksanaannya, proses pembangunan kapal ini tidak berjalan sesuai

dengan waktu ideal pembangunan sebuah kapal yang disebabkan oleh beberapa

faktor. Akan tetapi pada model yang akan dibuat, proses pembangunan kapal akan

diasumsikan pada kondisi ideal dan waktu pengerjaan untuk semua kapal sama.

Untuk data proyek pembangunan kapal, dapat dilihat pada tabel 3.1.

Tabel 3.1 Proyek Pembangunan Kapal/Nama Kapal

Tabel di atas memperlihatkan data pembangunan kapal yang tersebar di

beberapa tempat berbeda dan pada tabel ini juga diperlihatkan ukuran kapal dan

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 44: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

31

Universitas Indonesia

jadwal proses pembangunan kapal dari proses awal hingga kapal diantarkan. Dari

tabel ini yang akan digunakan dalam model adalah periode pembangunan dan

lokasi proyek.

3.2.2 Data Karyawan Beserta Jenis Pekerjaannya.

Data karyawan pengawas pembangunan kapal yang dibutuhkan dalam

penelitian ini adalah jumlah pengawas pembangunan kapal yang akan

dialokasikan terhadap pembangunan kapal yang sedang dilaksanakan. Pengawas

pembangunan kapal disini terdiri dari surveyor hull & outfitting, surveyor hull &

painting, surveyor machinary & outfitting, surveyor electric & outfitting. Selain

dari divisi pengawasan, pengawasan pembangunan kapal juga melibatkan divisi

perencanaan pembangunan kapal. Tabel 3.2 sampai tabel 3.4 berikut akan

menunjukkan jumlah tenaga kerja pengawas pembangunan kapal yang ada di

Pertamina.

Tabel 3.2 Data Karyawan di Pengawasan 1

No Pengawas Jumlah

1 Asisten Manager (hull & Outfitting) 1

2 Surveyor Hull & Outfitting 1

3 Surveyor Hull & Painting 1

4 Surveyor Machinery & Outfitting 2

5 Surveyor Electric & Outfitting 1

Tabel 3.3 Data Karyawan di Pengawasan 2

No Pengawas Jumlah

1 Asisten Manager (Machinery & Outfitting) 1

2 Surveyor Hull & Outfitting 2

3 Surveyor Hull & Painting 1

4 Surveyor Machinery & Outfitting 1

5 Surveyor Electric & Outfitting 1

Tabel 3.4 Data Karyawan di Perencanaan

No Pengawas Jumlah

1 Asisten Manager (machinery & Outfitting) 1

2 Surveyor Hull & Outfitting 1

3 Surveyor Hull & Painting 1

4 Surveyor Machinery & Outfitting 2

5 Surveyor Electric & Outfitting 1

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 45: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

32

Universitas Indonesia

Seperti yang sudah dijelaskan pada bab 1, bahwa dalam kondisi tertentu,

jumlah tenaga kerja pengawas pembangunan kapal tidak akan mencukupi,

sehingga Pertamina akan mengadakan kontrak tenaga kerja tambahan atau disebut

pengawas subkontrak. Tenaga pengawas subkontrak ini digunakan selama

pembangunan kapal berlangsung.

3.2.3 Data Periode

Proses pembangunan kapal memerlukan waktu ±14 bulan, dan secara garis besar

proses pembangunan kapal ini terdiri dari 4 tahapan, first cutting dikerjakan

selama 8 bulan, keel laying dikerjakan selama 3 bulan, launching dikerjakan

selama 2 bulan, dan delivery dikerjakan selama 1 bulan. Pengawasan tidak

dilakukan secara bersama-sama melainkan sesuai dengan kebutuhan kapan

pengawas tersebut akan diperlukan. Lampiran 1 menunjukkan periode waktu

proses pembangunan kapal dari awal proses hingga selesai dan persebaran

karyawan dengan jenis pekerjaan masing-masing pada salah satu jenis kapal unit

crude oil tanker 85,000 LTDW.

3.2.4 Biaya – Biaya Penugasan

Biaya-biaya penugasan untuk pengawasan pembangunan kapal ini terdiri

dari:

1. Biaya dinas karyawan

Biaya dinas karyawan adalah biaya karyawan ketika mereka menjalani

tugas pengawasan ke lokasi proyek. Biaya dinas yang diterima karyawan

adalah Rp 1.000.000/hari atau Rp 30.000.000/bulan apabila bertugas di

dalam negeri sedangkan apabila bertugas di luar negeri maka Biaya dinas

yang diterima oleh karyawan adalah $ 160/hari atau dalam rupiah Rp

1.440.000/hari atau Rp 43.200.000/bulan (asumsi kurs 1 USD = Rp 9000).

2. Biaya extra crew

Biaya ini timbul jika tenaga pengawas dari Pertamina tidak mencukupi

untuk meng-cover pengawasan di lokasi proyek, sehingga Pertamina harus

menyewa tenaga subkontrak. Jika Pertamina menggunakan jasa tenaga

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 46: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

33

Universitas Indonesia

kerja subkontrak maka biaya yang harus dikeluarkan adalah Rp

50.000.000/ bulan. Dan karyawan subkontrak hanya berlaku di luar negeri,

sedangkan di dalam negeri akan di-cover oleh karyawan Pertamina dengan

memperpanjang durasi pengawasan (lembur). Namun dalam penelitian ini,

karyawan yang lembur diasumsikan sebagai karyawan subkontrak.

3. Biaya Perjalanan Karyawan

Biaya ini merupakan biaya transportasi dari kantor (Jakarta) ke lokasi

proyek dan sebaliknya. Untuk wilayah di Indonesia biaya transportasi

disamakan,yaitu Rp 3.000.000 dan dari Jakarta ke China/Korea dan

sebaliknya adalah Rp 7.000.000.

3.3 Model Penjadwalan Karyawan Pengawas Pembangunan Kapal

Dalam penjadwalan pembangunan kapal ini terdapat beberapa kendala

yang harus diselesaikan.

3.3.1 Notasi dan Asumsi

Asumsi:

Setiap kapal mempunyai durasi pembangunan yang sama (14 bulan).

Jenis perkerjaan painting, machinery, dan electric bisa mengerjakan

pekerjaan hull.

Kendala sumber daya yang dipertimbangkan hanyalah karyawan

pengawas, sumber daya lain yang dibutuhkan dalam dalam pembangunan

dianggap tak terbatas.

Karyawan hanya boleh berada di lokasi proyek maksimal 3 bulan secara

berurutan.

Untuk karyawan subkontrak dianggap selalu tersedia untuk setiap jenis

pekerjaan.

Karyawan harus berada di kantor pusat minimal 2 orang.

Penjadwalan dilaksanakan selama 36 periode atau sampai semua proyek

selesai dilaksanakan.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 47: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

34

Universitas Indonesia

Indeks:

i = pekerjaan 0, 1, 2, 3

j = karyawan 1, 2, …, J ( J = 18)

k =proyek 0, 1, …, K ( K = 16)

l = periode 1, 2, …, T ( T = 36)

p = trip 1, …, P

Parameter:

pij = lama waktu karyawan j dengan pekerjaan i bekerja

Qik = himpunan kebutuhan karyawan dengan pekerjaan i pada periode l

Variabel:

tDijkp = waktu datang karyawan j dengan pekerjaan i pada proyek k pada trip ke-

p

tPijkp = waktu karyawan j dengan pekerjaan i meninggalkan proyek k pada trip

ke p

Keterangan:

1. Pada trip ganjil (2m-1), karyawan j dengan pekerjaan i berada di kantor

(k=0)

2. Pada trip genap (2m), karyawan j dengan pekerjaan i berada di proyek

(k=1-16)

Untuk memberikan ilustrasi, berikut akan diberikan contoh pergerakan seorang

karyawan dari dari trip 1 ker trip 2:

tPij01 – tDij01 = P1j1 ≥ 1

tPij01 . Xijk01 = k

tDijk2 .Xijk(p1j1)

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 48: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

35

Universitas Indonesia

3.3.2 Fungsi Tujuan dan Kendala

Fungsi Tujuan:

(3.1)

Fungsi Kendala:

1. Karyawan j akan berada di salah satu proyek 0 s/d K pada setiap periode.

Kendala ini digunakan untuk memastikan bahwa semua karyawan akan

berada di kantor pusat atau di proyek.

(3.2)

2. Karyawan j dengan pekerjaan i berada di kantor dapat lebih dari satu

bulan. Kendala ini dugunakan untuk menjelaskan bahwa seorang

karyawan paling sedikit 1 bulan harus berada di kantor pusat setelah

bertugas.

(3.3)

3. Setelah berada di kantor, karyawan j dengan pekerjaan i boleh pergi ke

proyek. Setelah karyawan sudah berada 1 bulan di kantor, maka karyawan

tersebut boleh kembali ke proyek.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 49: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

36

Universitas Indonesia

(3.4)

4. Karyawan j dengan pekerjaan i berada di proyek k paling lama 3 bulan.

Kendala ini menjalaskan bahwa jika karyawan sudah bertugas selama 1-3

bulan, maka dia harus kembali ke kantor pusat.

(3.5)

5. Setelah berada di proyek k, karyawan j dengan pekerjaan i harus kembali

ke kantor.

(3.6)

6. Salah satu karyawan akan berada di proyek k pada saat kegiatan pekerjaan

i pada proyek k dimulai.

(3.7)

7. Karyawan j harus meninggalkan proyek k setelah pekerjaan i selesai

(3.8)

8. Jika karyawan subkontrak pekerjaan i berada di proyek k maka karyawan

tersebut harus berada di lokasi sampai proyek k tersebut selesai.

(3.9)

9. Pekerjaan hull & outfitting dapat dikerjakan oleh salah satu i=1,2,3

i = 0 = hull & outfitting

i = 1 = painting & hull

i = 2 = machinery & outfitting

i = 3 = electric & outfitting

(3.10)

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 50: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

37

Universitas Indonesia

10. Pada suatu periode, jumlah pekerja kegiatan i pada periode l adalah Qil

(3.11)

11. Di kantor pusat harus selalu ada karyawan sebanyak 2 orang

(3.12)

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 51: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

Universitas Indonesia

38

BAB 4

PENGOLAHAN DATA DAN ANALISIS

4.1 Penyusunan Algoritma

Dalam melakukan optimasi penjadwalan karyawan dalam penelitian ini,

digunakan algoritma genetika, yaitu algoritma yang berdasarkan prinsip-prinsip

genetika dan seleksi alam, seperti yang sudah dijelaskan pada Bab 2. Untuk dapat

melakukan optimasi penjadwalan karyawan dengan menggunakan algoritma

genetika tersebut, maka dibuat suatu program dengan bantuan software MATLAB

7.9.0(R2009b). Tahapan algoritma genetika digunakan sebagai dasar dari langkah

kerja yang dilakukan oleh program tersebut.

MATLAB adalah bahasa komputasi teknik tinggi dan merupakan

lingkungan yang interaktif untuk pengembangan algoritma, visualisasi data,

analisis data, dan komputasi numeric. MATLAB menyediakan fungsi-fungsi

matematis untuk aljabar linear, statistic, optimasi, dan lain-lain. Selain itu,

MATLAB juga menyediakan fitur-fitur dokumentasi dan integrasi algoritma

berbasis MATLAB dengan bahasa dan aplikasi lain, seperti C, C++, Fortran, Java,

COM, dan Microsoft Excel. Bahasa MATLAB memudahkan operasi-operasi

vektor dan matriks yang merupakan dasar bagi permasalahan di bidang teknik

dan ilmiah (www.mathworks.com).

4.1.1 Langkah-langkah Penyusunan Algoritma Genetika

Optimasi penjadwalan karyawan akan diselesaikan dengan algoritma

genetika. Gambar 4.1 adalah prosedur algoritma genetika yang dibuat berdasarkan

fungsi optimasi meminimumkan biaya penugasan karyawan. Prosedur

penyelesaiannya akan diuraikan sebagai berikut:

1. Menentukan parameter/variabel yang digunakan, yaitu:

Parameter adalah parameter kontrol algoritma genetika, yaitu: ukuran populasi

(popsize), peluang crossover (pc) dan mutasi (pm). Dalam menentukan

parameter ada beberapa pilihan yang digunakan, tergantung jenis

permasalahan maupun langkah-langkah yang digunakan:

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 52: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

39

Universitas Indonesia

Mulai

Melakukan input untuk algoritma

Menentukan parameter awal

1. Matriks kebutuhan karyawan, jenis pekerjaan, lokasi proyek untuk setiap periode.2. biaya penugasan3. biaya transportasi

1. Jumlah populasi = xxx2. Pcrossover dan Pmutasi = xxx3. Jumlah iterasi maksimal= xxx

Inisialisasi individu dengan random

number

Sudah x kromosom

Tidak

Menghitung nilai fitness setiap kromosom

Ya

Melakukan proses seleksi untuk mencari kandidat orang tua (parent)

dengan roulette wheel

Melakukan pindah silang (crossover) pada kedua kromosom kedua orang

tua dengan uniform crossover

Apakah nilai fitness hasil crossover lebih

baik?

Melakukan mutasi dengan exchange

mutation (Pm=0.01)

Tidak Kromosom hasil crossover dibuang dan parent

dengan fitness terbaik digunakan

Ya

Menghitung nilai fitness kromosom hasil mutasi

Apakah nilai fitness hasil mutasi lebih baik?

Melakukan pergantian populasi

dengan steady state replacement

Ya

Kromosom anak dibuang dan populsi sekarang

sama dengan populasi awal

Tidak

Sudah n iterasi?

A

A

Mendapatkan solusi akhir terbaik

Selesai

Ya

Tidak

Gambar 4.1 Diagram Alir Algoritma Genetika yang Digunakan

Untuk permasalahan yang memiliki kawasan solusi cukup besar, De

Jong merekomendasikan nilai parameter : (popsize; pc; pm) =

(50;0,6;0,001).

Bila rata-rata fitness setiap generasi digunakan sebagai indikator,

maka Grefenstette merekomendasikan: (popsize; pc; pm)

=(30;0,95;0,01)

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 53: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

40

Universitas Indonesia

Bila fitness dari individu terbaik dipantau pada setiap generasi, maka

usulannya adalah: (popsize; pc; pm) = (80;0,45;0,01)

Dalam penelitian ini, fitness dari individu terbaik dipantai pada setiap

generasi dan berdasarkan referensi yang diperoleh dalam menentukan parameter,

maka fitness dari individu terbaik dipantau pada setiap generasi, sehingga

(popsize; pc; pm) = (80;0,45;0,01)

2. Membuat matrik-matrik yang akan menjadi input dalam model

penjadwalan karyawan.

Data yang menjadi input awal pembuatan model adalah:

Matrik konstanta Xijkl, yaitu matrik kebutuhan karyawan j dengan

pekerjaan i pada proyel k pada saat periode l. Hubungan antara

karyawan, jenis pekerjaan, proyek, dan periode dilambangkan dengan

notasi (1) atau (0), berdasarkan keterangan berikut:

Matrik konstanta Zikl, yaitu matrik kebutuhan karyawan subkontrak

dengan pekerjaan i pada proyel k pada saat periode l. Hubungan

antara karyawan, jenis pekerjaan, proyek, dan periode dilambangkan

dengan notasi (1) atau (0), berdasarkan keterangan berikut:

Biaya-biaya penugasan, yang terdiri dari biaya dinas dan biaya

transportasi.

3. Menentukan kromosom/populasi awal secara acak.

Penentuan populasi inilah yang nantinya akan diperbaiki dengan

menggunakan operator genetika yang ada. Penentuan populasi awal dilakukan

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 54: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

41

Universitas Indonesia

berdasarkan matrik Xijkl dan Zikl. Prosedur penentuan populasi awal ini

digunakan dengan mengikuti fungsi tujuan dan fungsi kendala seperti yang

sudah dijelaskan pada bab 3.

4. Membuat salinan dari hasil elitism.

Karena terdapat pemilihan secara random pada tahap berikutnya, maka tidak

ada jaminan bahwa suatu individu bernilai fitness tertinggi akan selalu

terpilih. Kalaupun individu bernilai fitness tertinggi terpilih, mungkin saja

individu tersebut akan rusak (nilai fitnessnya menurun) karena proses pindah

silang dan mutasi. Oleh karena itu perlu dibuat kopian dari individu hasil

elitism sehingga individu-individu terbaik akan selalu muncul.

5. Melakukan evaluasi nilai fitness terhadap kromosom hasil elitisme.

Oleh karena fungsi tujuan dari permasalahan ini adalah fungsi

meminimumkan, maka evaluasi nilai fitness dilakukan dengan menggunakan

rumus 1/(f(h)+1), dimana nilai fitness dengan nilai terendahlah yang terbaik.

6. Melakukan proses seleksi untuk mencari kandidat orang tua (parent).

Proses seleksi dilakukan dengan memilih dua kandidat jadwal (dua

kromosom) sebagai orang tua. Yang menjadi input dalam proses seleksi

adalah jadwal hasil elitisme. Sistem pemilihan dilakukan dengan roulette

wheel. Proses seleksi ini melakukan operasi pemilihan kromosom dengan

menggunakan bilangan acak, dimana kromosom dengan nilai fitness terendah

mempunyai peluang terbesar untuk dipilih.

7. Melakukan pindah silang (crossover)

Setelah 2 parent dipilih dari populasi, diberlakukan operasi crossover untuk

memproduksi satu offspring yang mewariskan karakteristik dari kedua parent

tersebut. Crossover dilakukan dengan metode uniform crossover dimana gen

yang akan diturunkan ke individu baru ditentukan sendiri. Dihitung biaya-

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 55: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

42

Universitas Indonesia

biaya penugasan dari kedua kromosom orang tua, dari masing-masing

kromosom dicek tiap gennya sehingga yang memiliki biaya terkecil yang akan

diturunkan ke kromosom anak (offspring). Jika hasil crossover memiliki nilai

fitness yang lebih tinggi dari parent maka akan dilanjutkan ke proses mutasi,

namun jika tidak maka yang maju ke tahap selanjutnya adalah parent dengan

fitness terbaik.

8. Melakukan mutasi

Setelah operasi crossover selesai, offspring tersebut diberlakukan operasi

mutasi. Mutasi dilakukan dengan dengan menukar-nukarkan gen pada

kromosom anak. Metode mutasi yang digunakan adalah exchange mutation.

9. Melakukan pergantian populasi

Sebelum dilakukan pergantian populasi, dilakukan evaluasi biaya terhadap

offspring hasil mutasi. Apabila biaya offspring tersebut lebih rendah dari biaya

maksimum pada populasi awal, maka offspring tersebut akan menggantikan

kromosom dengan biaya maksimum tersebut. Sebelum offspring dimasukkan

ke dalam populasi, susunan offspring dimasukkan ke dalam populasi, susunan

gen offspring diperiksa apakah mempunyai kesamaan identik dengan susunan

gen tiap kromosom pada populasi. Hal ini mencegah duplikasi kromosom

pada populasi.

Prosedur-prosedur di atas akan berulang terus hingga tercapainya stopping

criteria, yaitu maksimum iterasi sesuai dengan jumlah yang ditentukan. Pada

penelitian ini, maksimum iterasi yang digunakan adalah 2000 iterasi. Penentuan

maksimum iterasi 2000 iterasi dilakukan dengan melihat bahwa kromosom

terbaik tidak lagi mengalami perubahan setelah iterasi 1000-1400 pada beberapa

kali percobaan, sehingga disimpulkan bahwa dengan menggunakan maksimum

iterasi 2000 sudah mendapatkan hasil yang mendekati optimal. Lalu akan diambil

kromosom terbaik yang akan menjadi solusi penjadwalan karyawan. Kromosom

terbaik adalah kromosom dengan biaya paling minimum.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 56: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

43

Universitas Indonesia

4.1.2 Verifikasi dan Validasi Program

Seperti yang telah dijelaskan sebelumnya bahwa masalah penjadwalan ini

akan diselesaikan dengan menggunakan software MATLAB. Oleh karena itu,

perlu dilakukan terlebih dahulu verifikasi dan validasi terhadap program.

Verifikasi merupakan tahap untuk melihat kesesuaian model program dengan

konsep model yang kita inginkan. Salah satu parameter model program dikatakan

telah terverifikasi apabila program tersebut berjalan sesuai dengan konsep, di

mana terdapat perubahan output. Apabila program yang dijalankan dengan

mengubah-ubah kombinasi parameter dan menghasilkan output yang berbeda-

beda, berarti program tersebut telah terverifikasi. Tahap verifikasi yang dilakukan

dengan mengubah kombinasi parameter dapat dilihat pada tabel 4.1.

Tabel 4.1 Skenario Parameter

No Kombinasi Hasil

Ukpop Pmutasi Iterasi Lama Running (detik) Total Biaya

1 80 0.01 50 46.3707 29852600000

2 100 68.5 29842000000

3 1000 478.3097 29745000000

4 2000 1037.9 29574800000

5 50 0.3 50 40.9673 29956000000

6 100 66.3722 29683400000

7 1000 460.3286 29651000000

8 2000 107.6 29634000000

Dari tabel di atas, terlihat bahwa terjadi perubahan output atau total biaya

apabila dilakukan kombinasi parameter yang berbeda-beda sehingga dapat

disimpulkan bahwa program tersebut telah terverifikasi.

Setelah program terverifikasi, maka selanjutnya perlu dilakukan validasi

dengan tujuan untuk memastikan bahwa program tersebut menghasilkan output

yang benar. Indikatornya adalah ketika program dihadapkan pada suatu masalah,

hasil perhitungannya bernilai sama dengan perhitungan manual. Berikut adalah

hasil perhitungan secara manual dengan kombinasi Ukpop = 80, Pm=0.01,

Maksimum iterasi = 2000.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 57: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

44

Universitas Indonesia

Tabel 4.2 Perhitungan Manual Total Biaya

No Jenis Biaya Total Biaya (Rupiah)

1 Dinas Karyawan dalam negeri 135 x 30.000.000 = 4050000000

2 Dinas Karyawan luar negeri 69 x 43.200.000 = 2980800000

3 Dinas Subkontrak 424 x 50.000.000 = 21200000000

4 Transportasi dalam negeri 2 x 98 x 3.000.000 = 588000000

5 Transportasi luar negeri 2 x 54 x 7.000.000 = 756000000

Total Biaya 29574800000

Dari tabel di atas, dapat dilihat bahwa hasil perhitungan manual di atas

sama dengan hasil dari run program pada tabel 4.1 kombinasi Ukpop = 80,

Pm=0.01, Maksimum iterasi = 2000 . Dengan demikian program telah tervalidasi.

4.2 Input Data

4.2.1 Data

Untuk melakukan optimasi penjadwalan karyawan pengawas

pembangunan kapal dengan menggunakan Algoritma Genetika dibutuhkan data

seperti yang telah dijelaskan dalam Bab 3, yaitu data proyek, data karyawan,

penggal waktu dan persebaran karyawan beserta jenis pekerjaan, dan komponen

biaya. Namun yang menjadi input dalam model penjadwalan ini adalah hasil

pengolahan data dari keempat data tersebut yaitu kebutuhan karyawan j dengan

pekerjaan i pada proyek k pada periode l dan juga biaya dinas.

4.2.2 Parameter

Seperti yang sudah dijelaskan sebelumnya bahwa ada beberapa

pendekatan dalam menentuk parameter ukuran populasi, parameter kontrol

crossover, parameter kontrol mutasi, dan jumlah maksimum iterasi. Dalam

penelitian ini, fitness dari individu terbaik dipantai pada setiap generasi dan

berdasarkan referensi yang diperoleh dalam menentukan parameter, bila fitness

dari individu terbaik dipantau pada setiap generasi, maka usulannya adalah:

(popsize; pc; pm) = (80;0,45;0,01).

Selanjutnya untuk menentukan nilai parameter jumlah maksimum iterasi

yang akan digunakan, akan dilakukan perbandingan hasil running program

dengan beberapa kombinasi parameter yang berbeda( Tabel 4.3). Sedangkan dari

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 58: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

45

Universitas Indonesia

Tabel 4.4 dapat dilihat bahwa dengan maksimum iterasi 2000 memberikan hasil

terbaik dibandingkan dengan nilai maksimum iterasi lainnya. Oleh karena itu,

dalam model penjadwalan karyawan pengawas pembangunan kapal digunakan

nilai parameter yang ditunjukkan oleh tabel berikut.

Tabel 4.3 Kombinasi Parameter yang Berbeda

No Kombinasi Hasil

Ukpop Pmutasi Iterasi Lama Running (detik) Total Biaya

1 80 0.01 50 46.3707 29752600000

46.6031 29872000000

47.2569 29872000000

44.6745 29872000000

Rata-rata 46.2263 29842150000

2 80 0.01 100 68.5 29842000000

67.7571 29948000000

67.9877 29805400000

67.6982 29915600000

Rata-rata 67.98575 29877750000

3 80 0.01 1000 478.3097 29745000000

449.1709 29891000000

457.9172 29710000000

472.5568 29695200000

Rata-rata 464.48865 29760300000

4 80 0.01 2000 935.2334 29642200000

1037.9 29574800000

997.7484 29691200000

1014.7 29672000000

Rata-rata 996.39545 29594400000

Tabel 4.4 Parameter Model

Parameter

Ukpop 80

Pmutasi 0.01

Maks.Iterasi 2000

4.3 Pengolahan Data dan Hasil

Setelah ditentukan parameter permasalahan penjadwalan ini, maka

program akan di-run sebanyak 5 kali. Karena fungsi tujuan permasalahan ini ialah

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 59: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

46

Universitas Indonesia

meminimalkan, maka akan diambil hasil terbaik dari kelima run tersebut dengan

indikator ialah fitness terbaik yang ditandai dengan total biaya terkecil. Tabel 4.5

menunjukkan hasil run sebanyak 5 kali.

Dari hasil running program sebanyak 5 kali, hasil running ke memberikan

hasil terbaik dengan total biaya terkecil.Solusi jadwal bisa dilihat pada lampiran 2

yang merupakan hasil running program dengan total biaya terkecil sebesar Rp

29.574.800.000 dan waktu running selama 1037.9 detik.

Tabel 4.5 Hasil Run Program

Running ke- Hasil

Lama running (detik) Total Biaya (Rupiah)

1 935.2334 29642200000

2 1037.9 29574800000

3 997.7484 29691200000

4 1014.7 29672000000

5 989.4841 29661300000

Rata-rata 29627850000

4.4 Analisis

Kasus penjadwalan karyawan termasuk permasalahan yang cukup

kompleks karena terdapat banyak aspek permasalahan yang harus

dipertimbangkan dalam menghasilkan jadwal yang baik. Tingkat kerumitan

penyelesaian masalah penjadwalan karyawan tergantung pada karakteristik yang

terdapat pada masing-masing instansi atau organisasi karena ini berhubungan

dengan peraturan yang ada di instansi tersebut.

Usulan penyelesaian terhadap masalah penjadwalan karyawan ini adalah

dengan menggunakan algoritma genetika yang dituangkan dalam satu bahasa

pemrograman MATLAB, yang selanjutnya digunakan untuk melakukan

pengolahan data untuk membentuk solusi jadwal yang optimal. Fungsi tujuannya

adalah untuk meminimalkan biaya total.

Analisis terhadap pengolahan data ini dibagi menjadi tiga bagian, yaitu

analisi metode, analisi program, dan analisis hasil optimasi.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 60: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

47

Universitas Indonesia

4.4.1 Analisis Metode

Metode yang digunakan untuk menyelesaikan permasalahan penjadwalan

karyawan ini adalah algoritma genetika. Algoritma Genetika adalah algoritma

pencarian heuristik yang didasarkan atas mekanisme evolusi biologis.

Keberagaman pada evolusi biologis adalah variasi dari kromosom antar individu

organisme. Variasi kromosom akan mempengaruhi laju reproduksi dan tingkat

kemampuan oraginisme untuk tetap hidup.

Cara kerja algoritma ini dimulai dari inisialisai populasi awal yang akan

menjadi kandidat solusi. Solusi awal dibuat dengan pemilihan secara acak dari

kemungkinan-kemungkinan yang ada. Lalu setiap individu dalam populasi awal

tersebut akan masuk ke dalam proses seleksi yang dilakukan secara acak

kemudian dikawinsilangkan, namun kawin silang tidak dilakukan secara acak

karena memiliki konsep agak berbeda dengan proses mutasi. Sementara mutasi

juga dipilih secara acak dimana apabila bilangan random yang dihasilkan lebih

kecil dari probabilitas mutasi makan individu tersebut akan mengalami proses

mutasi.

Terdapatnya sistem pemilihan secara acak dalam algoritma ini akan

membuat perbedaan urutan jadwal yang dihasilkan pada setiap run program yang

dilakukan. Kombinasi parameter yang sama sekalipun belum tentu menghasilkan

urutan urutan jadwal yang sama jika di-run beberapa kali. Oleh karena itu

skenario parameter merupakan bagian penting dalam pengujian metode ini,

karena tiap kasus membutuhkan kombinasi parameter yang unik untuk

menghasilkan jadwal yang sesuai dengan fungsi tujuan.

Kelebihan Algoritma Genetika adalah pada cara kerjanya yang parallel.

Algoritma Genetika bekerja dalam ruang pencarian yang menggunakan banyak

individu sekaligus, sehingga kemungkinan metode ini untuk terjebak pada

kondisi ekstrim local lebih kecil dibandingkan metode lain. Aalgoritma Genetika

juga mudah diimplementasikan, yaitu dengan menyelesaikan masalah lain hanya

dengan membuat kromosom dan fungsi fitness yang baru sehingga Algoritma bisa

dijalankan.

Kekurangan Algoritma Genetika adalah dalam hal waktu komputasi

karena harus melakukan evaluasi fitness pada semua solusi di setiap iterasinya.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 61: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

48

Universitas Indonesia

Sehingga Algoritma Genetika bisa lebih lambat dibandingkat metode lain, namun

hal ini bisa diakhiri dengan mengakhiri komputasi pada waktu yang diinginkan

dengan maksimum iterasi yang diinginkan. Akan tetapi perlu diingat bahwa

semakin banyak iterasi, semakin besar peluang untuk mendapatkan hasil yang

terbaik. Waktu komputasi yang lama bisa dicegah juga dengan menggunakan

perangkat yang lebih canggih. Karena semakin canggih, maka komputasi akan

semakin cepat. Kekurangan lain dari metode ini adalah, Algoritma Genetika tidak

cukup baik untuk mencari solusi yang sangat dekat dengan solusi optimal.

Optimasi penjadwalan dengan menggunakan Algoritma Genetika ini hanya

mendapatkan solusi mendekati optimal.

4.4.2 Analisis Program

Bahasa pemrograman yang digunakan untuk menginterpretasikan

algoritma genetika pada penelitian ini adalah MATLAB 7.9.0 (R2009b). Secara

umum program yang dibuat untuk menyelesaikan permasalahan penjadwalan ini

dapat berjalan dengan baik. Solusi akhir yang dihasilkan selalu lebih baik dari

solusi awal.

Kelemahan dari program ini adalah waktu run program yang relatif lama.

Seperti yang telah dijelaskan sebelumnya, waktu run program ini dipengaruhi

oleh konfigurasi parameter yang digunakan. Nilai iterasi terkecil yang digunakan

dalam trial adalah 50 dan memerlukan waktu running tercepat selama 44.6745

detik. Sementara iterasi terbesar yang digunakan adalah 2000 dan memerlukan

waktu running terlama yaitu 1037.9 detik. Selain itu, kemampuan performa

komputer juga sangat mempengaruhi waktu running program.

4.4.3 Analisi Hasil Optimasi

Pada bagian ini akan dianalisis mengenai hasil optimasi penjadwalan

karyawan pengawas pembangunan kapal. Dari jadwal yang dihasilkan dapat

dilihat bahwa seluruh karyawan telah terjadwal pada periode yang berbeda.

Semua kebutuhan karyawan pada proyek, jenis pekerjaan, dan periode telah

terpenuhi. Artinya pembangunan kapalpun bisa berlangsung dengan baik. Selain

itu, sesuai dengan peraturan yang berlaku di Pertamina sendiri, bahwa karyawan

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 62: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

49

Universitas Indonesia

hanya boleh berada di proyek maksimal 3 bulan dan harus kembali ke kantor

untuk periode lebih atau sama dengan 1 bulan juga juga sudah terpenuhi. Selain

itu, tidak terdapat karyawan yang bertugas lebih dari satu tempat atau proyek

dalam waktu yang bersamaan.

Kendala karyawan subkontrak “ketika sudah berada di lokasi proyek k,

maka karyawan subkontrak tidak bisa berpindah ke proyek lain sampai proyek

selesai juga sudah terpenuhi dan kendala dimana karyawan subkontrak harus

meninggalkan proyek pada saat proyek sudah selesai juga terpenuhi.” Semua

kendala dalam penelitian ini sudah terpenuhi secara sempurna sehingga optimasi

penjadwalan karyawan pengawas pembangunan kapal dengan metode algoritma

genetika ini disimpulkan sudah menghasilkan jadwal yang layak.

Melalui model optimasi penjadwalan karyawan pengawas pembangunan

kapal dengan mengambil data dari departemen pembangunan kapal Pertamina

bisa dilihat bahwa kebutuhan pengawas pembangunan kapal sangat bergantung

terhadap karyawan subkontrak karena keterbatasan jumlah karyawan tetap yang

tersedia.

Tujuan dari penjadwalan ini adalah meminimumkan biaya penugasan

karyawan yang ada di Pertamina ataupun tenaga subkontrak. Dalam penelitian ini

juga digunakan biaya penalti terhadap karyawan tetap apabila menggantikan

posisi karyawan subkontrak. Karena Algoritma Genetika mencari biaya terendah,

maka dia akan memilih karyawan tetap sebagai alternatif karena biayanya lebih

rendah, sehingga diperlukan pemberian biaya penalti sehingga Algoritma

Genetika akan tetap memilih karyawan subkontrak untuk memenuhi kendala

“ketika sudah berada di lokasi proyek k, maka karyawan subkontrak tidak bisa

berpindah ke proyek lain sampai proyek selesai juga sudah terpenuhi dan kendala

dimana karyawan subkontrak harus meninggalkan proyek pada saat proyek sudah

selesai juga terpenuhi.” Dengan demikian, jadwal dengan total biaya penugasan

yang minimum adalah jadwal yang optimal dengan menggunakan algoritma

genetika. Berikut merupakan grafik yang menunjukkan penurunan nilai fitness

dengan beberapa iterasi. Nilai fitness disini adalah nilai total biaya atau sesuai

dengan fungsi tujuan dan karena ini adalah fungsi meminimumkan biaya, maka

semakin rendah semakin baik.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 63: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

50

Universitas Indonesia

Dengan menggunakan parameter ukuran populasi: 80, probabilitas

crossover: 0.45, probabilitas mutasi: 0.01, dan maksimum iterasi: 2000. Dari

grafik dapat dilihat bahwa dengan iterasi kurang dari 2000, total biaya mengalami

penurunan dari iterasi awal hingga iterasi 2000. Hasil optimasi penjadwalan

karyawan pengawas pembangunan kapal dengan menggunakan algoritma

genetika bisa dilihat di lampiran 2, dengan menggunakan parameter seperti di

atas.

Gambar 4.1 Grafik Penurunan Nilai Total Biaya

Sebagai perbandingan, program ini juga dicoba menggunakan skenario

penambahan jumlah karyawan menjadi 32 orang dengan 8 orang masing-masing

keahlian untuk mengetes apakah masih layak apabila jumlah karyawan ditambah

menjadi 32 (lampiran 3). Skenario ini digunakan untuk melihat seberapa besar

pengaruh jumlah karyawan tetap terhadap biaya penugasan. Setelah melakukan

beberapa kali running dengan menggunakan parameter yang sama, hasilnya

karyawan dengan alokasi karyawan subkontrak berkurang dan biaya total

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 64: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

51

Universitas Indonesia

penugasan Rp 27.885.600.000 atau memiliki perbedaan biaya Rp 1.689.200.000

dari penggunaan 18 karyawan

Jumlah karyawan subkontrak yang tersedia juga tidak bisa diketahui

secara pasti jumlahnya, sehingga apabila karyawan kebutuhan karyawan

subkontrak semakin banyak, akan sangat sulit membuat jadwal yang baik. Akan

tetapi masalah penambahan karyawan tetap sebaiknya dilihat dari seberapa perlu

kebutuhan karyawan di masa mendatang, tergantung seberapa banyak jumlah

proyek/kapal yang akan dikerjakan, sehingga jika terdapat rencana banyak

pembangunan proyek/kapal dalam jangka panjang di masa mendatang, maka

perlu diadakan penambahan karyawan, akan tetapi untuk menentukan jumlah

karyawan tersebut harus menggunakan metode yang lain, karena metode yang

digunakan disini adalah untuk mengoptimalkan jumlah karyawan yang ada.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 65: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

52

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan penelitian optimasi penjadwalan karyawan pengawas

pembangunan kapal dengan algoritma genetika dengan bahasa pemrograman

MATLAB, diperoleh kesimpulan sebagai berikut:

Diperoleh model penjadwalan karyawan pengawas pembangunan kapal

yang memberikan penjadwalan yang layak dan optimal.

Dari ujicoba yang telah dilakukan dengan menggunakan beberapa

kombinasi parameter, penjadwalan karyawan dengan algoritma genetika

telah memenuhi semua kendala dengan ukuran populasi 80, probabilitas

mutasi 0.45, dan maksimum iterasi 2000 dengan total biaya terkecil Rp

29.574.800.000 dan hasil ini mengalami perbaikan dari solusi awal sampai

maksimum iterasi.

Jadwal yang dihasilkan juga telah mendekati optimal dengan memenuhi

tujuan penelitian, yaitu meminimumkan biaya total penugasan karyawan.

Dengan demikian algoritma genetika dapat menyelesaikan masalah

penjadwalan karyawan dengan memenuhi kendala.

5.2 Saran

Apabila jumlah proyek bertambah untuk jangka waktu yang panjang,

maka penambahan jumlah karyawan yang sesuai perlu dipertimbangkan

apabila ingin memperoleh jadwal lebih baik dan memperoleh biaya yang

lebih minimum.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 66: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

52

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 67: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

53

DAFTAR REFERENSI

Antoni, Akbar. (2011). Integrasi dan Ship Scheduling Dengan Time Window

Constraint Pada Mobile Floating Storage Dengan Model Mixed Integer

Programming. Universitas Indonesia, Departemen Teknik Industri

Astri, Dhanika. (2006). Model Optimasi Rotasi Penugasan Awak Pesawat

Menggunakan Metode Algoritma Genetika (Studi Kasus: Pesawat Boeing 737

Pada PT X). Universitas Indonesia, Indonesia, Departemen Teknik Industri.

DeJong, K.A. & Spears, W.M. (1990). An Analysis of the Interacting Roles of

Population Size and Crossover in Genetic Algorithms. Proc. First Workshop

Parallel Problem Solving from Nature, Springer-Verlag, Berlin, hal. 38-47.

Grefenstette, J.J. (1986). Optimization of Control Parameters for Genetic

Algorithms. IEEE Trans. Systems, Man, and Cybernetics, Vol. SMC-16, No. 1,

hal. 122-128.

Güneş, Evrim Didem. (1999). Workforce Scheduling. Department of Industrial

Engineering, Bilkent University.

Pinedo, Michael, L. (2004). Planning and Scheduling in Manufacturing and

Services. Department of Operations Management, Stern School of Business,

New York University.

Santosa, Budi. (2011). Metoda Metaheuristik: Konsep dan Implementasi.

Penerbit: Guna Wisya, Surakarta, Indonesia.

Sianipar, Yanti Nitra. (2010). Optimasi Penjadwalan Mata Kuliah di Perguruan

Tinggi dengan Menggunakan Algoritma Memetika. Universitas Indonesia,

Departemen Teknik Industri.

Schwiegelshohn, Uwe. (2004, Summer Term). Scheduling Problems and

Solution. Computer Engineering Institute, University of Dormunt.

Taha, Hamdy A. (1997). Operation Research: An Introduction 6 th

ed. Prentice-

Hall, Inc. New Jersey.

Townsend, A. (2003). Genetic Algorithms – a Tutorial.

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 68: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

54

Universitas Indonesia

Lampiran 1: Penggal Waktu Pembangunan Kapal & Persebaran Karyawan

Deskripsi/Bulan ke- 1 2 3 4 5 6 7

Schedule Pembangunan First Cutting

Asisten Manager 1 1 1 1 1 1 1

Surveyor Hull & Outfitting 1 1 1 1 1 1 1

Surveyor Hull & Painting

1 1 1 1

Surveyor Machinery & Outfitting

1 1 1 1

Surveyor Electric & Outfitting

Deskripsi/Bulan ke- 8 9 10 11 12 13 14

Schedule Pembangunan

Keel Laying Launching Delivery

Asisten Manager 1 1 1 1 1 1 1

Surveyor Hull & Outfitting 1 1 1 1 1 1 1

Surveyor Hull & Painting 1 1 1 1 1 1 1

Surveyor Machinery & Outfitting 1 1 1 1 1 1 1

Surveyor Electric & Outfitting

1 1 1 1 1

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 69: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

55

Universitas Indonesia

Lampiran 2: Matriks Penjadwalan Hasil Optimasi dengan 18 Karyawan Tetap

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

1 Musi Hull & Outfitting 10 10 10 2 2 2 5 5 5 15 15 15 16 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 8 8 8 1 1 1 SK 25' SK 25' SK 25' 'SK 25' SK 25' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 14 14 14 'SK 1' 'SK 1' 'SK 1' 'SK 1' 'SK 1' 'SK 1' 'SK 1' 'SK 1' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 11 11 11 'SK 41' SK 41' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2 Kakap Hull & Outfitting 0 1 1 1 12 12 12 'SK 6' SK 6' SK 6' SK 6' SK 6' SK 6' SK 6' SK 6' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 15 15 15 'SK 7' 'SK 7' 'SK 7' 'SK 7' 'SK 7' 'SK 7' 'SK 7' 'SK 7' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 11 11 11 'SK 8' SK 8' SK 8' SK 8' 'SK 8' 'SK 8' SK 8' SK 8' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 6 6 6 18 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

3 Meditran Hull & Outfitting 0 0 0 0 17 17 17 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 'SK 10' SK 10' SK 10' SK 10' 'SK 10' 'SK 10' 'SK 10' SK 10' SK 10' SK 10' SK 10' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 44' 'SK 44' SK 44' SK 44' SK 44' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

4 Matindok Hull & Outfitting 0 0 0 0 0 7 7 7 'SK 14' SK 14' SK 14' 'SK 14' 'SK 14' 'SK 14' 'SK 14' SK 14' SK 14' SK 14' SK 14' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 'SK 15' 'SK 15' 'SK 15' 'SK 15' 'SK 15' 'SK 15' 'SK 15' SK 15' SK 15' SK 15' 'SK 15' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 'SK 16' 'SK 16' SK 16' SK 16' 'SK 16' 'SK 16' 'SK 16' SK 16' SK 16' SK 16' 'SK 16' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 1' 'SK 1' SK 1' SK 1' 'SK 1' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

5 Kasim Hull & Outfitting 0 0 0 0 0 4 4 4 'SK 17' 'SK 17' SK 17' SK 17' SK 17' 'SK 17' 'SK 17' 'SK 17' SK 17' SK 17' SK 17' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 'SK 18' 'SK 18' 'SK 18' 'SK 18' 'SK 18' 'SK 18' 'SK 18' 'SK 18' SK 18' SK 18' SK 18' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 25' 'SK 25' 'SK 25' 'SK 25' 'SK 25' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

6 Mauhau Hull & Outfitting 0 0 0 0 0 0 0 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' SK 12' SK 12' SK 12' SK 12' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 'SK 30' 'SK 30' 'SK 30' 'SK 30' 'SK 30' 'SK 30' 'SK 30' SK 30' SK 30' SK 30' SK 30' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 'SK 31' 'SK 31' 'SK 31' 'SK 31' 'SK 31' 'SK 31' 'SK 31' SK 31' SK 31' SK 31' SK 31' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 7' 'SK 7' 'SK 7' SK 7' SK 7' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

7 Merauke Hull & Outfitting 0 0 0 0 0 0 0 'SK 13' 'SK 13' 'SK 13' 'SK 13' 'SK 13' 'SK 13' 'SK 13' 'SK 13' 'SK 13' 'SK 13' 'SK 13' 'SK 13' 'SK 13' SK 13' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 'SK 33' 'SK 33' 'SK 33' 'SK 33' 'SK 33' 'SK 33' 'SK 33' 'SK 33' 'SK 33' 'SK 33' SK 33' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 8' 'SK 8' 'SK 8' 'SK 8' SK 8' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

8 Pagar Dewa Hull & Outfitting 0 0 0 0 0 0 0 0 0 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' SK 26' SK 26' SK 26' 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 0 'SK 42' 'SK 42' 'SK 42' 'SK 42' 'SK 42' 'SK 42' 'SK 42' 'SK 42' 'SK 42' SK 42' SK 42' 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 'SK 43' 'SK 43' 'SK 43' 'SK 43' 'SK 43' 'SK 43' 'SK 43' 'SK 43' 'SK 43' 'SK 43' 'SK 43' 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 9' 'SK 9' 'SK 9' SK 9' SK 9' 0 0 0 0 0 0 0 0 0 0 0 0 0

9 P. Berandan Hull & Outfitting 0 0 0 0 0 0 0 0 0 0 0 'SK 34' 'SK 34' 'SK 34' 'SK 34' 'SK 34' 'SK 34' 'SK 34' 'SK 34' 'SK 34' 'SK 34' SK 34' SK 34' SK 34' SK 34' 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 41' 'SK 41' 'SK 41' 'SK 41' 'SK 41' 'SK 41' 'SK 41' SK 41' SK 41' SK 41' SK 41' 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 45' 'SK 45' 'SK 45' 'SK 45' 'SK 45' 'SK 45' 'SK 45' SK 45' SK 45' SK 45' SK 45' 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 10' 'SK 10' SK 10' SK 10' SK 10' 0 0 0 0 0 0 0 0 0 0 0

10 Arjuna Hull & Outfitting 5 5 5 18 18 18 'SK 2' 'SK 2' 'SK 2' 'SK 2' 'SK 2' 'SK 2' 'SK 2' 'SK 2' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 9 9 9 'SK 3' 'SK 3' 'SK 3' 'SK 3' 'SK 3' 'SK 3' 'SK 3' 'SK 3' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 13 13 13 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 'SK 27' 'SK 27' 'SK 27' 'SK 27' 'SK 27' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

11 Attaka Hull & Outfitting 0 0 16 16 16 10 10 10 'SK 20' 'SK 20' 'SK 20' 'SK 20' 'SK 20' 'SK 20' 'SK 20' 'SK 20' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 3 3 3 'SK 21' 'SK 21' 'SK 21' 'SK 21' 'SK 21' 'SK 21' 'SK 21' 'SK 21' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 6 6 6 'SK 22' 'SK 22' 'SK 22' 'SK 22' 'SK 22' 'SK 22' 'SK 22' 'SK 22' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 'SK 35' 'SK 35' 'SK 35' 'SK 35' 'SK 35' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

12 Senipah Hull & Outfitting 0 0 0 0 0 0 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 'SK 28' 'SK 28' 'SK 28' 'SK 28' 'SK 28' 'SK 28' 'SK 28' 'SK 28' 'SK 28' 'SK 28' 'SK 28' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 6' 'SK 6' 'SK 6' 'SK 6' 'SK 6' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

13 Sembakung Hull & Outfitting 0 0 0 0 0 0 0 0 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 'SK 36' 'SK 36' 'SK 36' 'SK 36' 'SK 36' 'SK 36' 'SK 36' 'SK 36' 'SK 36' 'SK 36' 'SK 36' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 'SK 37' 'SK 37' 'SK 37' 'SK 37' 'SK 37' 'SK 37' 'SK 37' 'SK 37' 'SK 37' 'SK 37' 'SK 37' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 48' 'SK 48' 'SK 48' 'SK 48' 'SK 48' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

14 Gamkonora Hull & Outfitting 0 0 0 0 0 0 0 0 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 'SK 38' 'SK 38' 'SK 38' 'SK 38' 'SK 38' 'SK 38' 'SK 38' 'SK 38' 'SK 38' 'SK 38' 'SK 38' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 'SK 39' 'SK 39' 'SK 39' 'SK 39' 'SK 39' 'SK 39' 'SK 39' 'SK 39' 'SK 39' 'SK 39' 'SK 39' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 49' 'SK 49' 'SK 49' 'SK 49' 'SK 49' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

15 not yet name(chine) Hull & Outfitting 0 0 0 0 0 0 0 0 0 0 0 'SK 40' 'SK 40' 'SK 40' 'SK 40' 'SK 40' 'SK 40' 'SK 40' 'SK 40' 'SK 40' 'SK 40' 'SK 40' 'SK 40' 'SK 40' 'SK 40' 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 46' 'SK 46' 'SK 46' 'SK 46' 'SK 46' 'SK 46' 'SK 46' 'SK 46' 'SK 46' 'SK 46' 'SK 46' 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 47' 'SK 47' 'SK 47' 'SK 47' 'SK 47' 'SK 47' 'SK 47' 'SK 47' 'SK 47' 'SK 47' 'SK 47' 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 0 0 0 0 0 0 0 0 0 0 0

16 not yet name(korea) Hull & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 7' SK 7' SK 7' SK 7' SK 7' SK 7' SK 7' SK 7' SK 7' SK 7' SK 7' SK 7' SK 7' SK 7'

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 15 15 15 3 3 3 15 15

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 14 14 16 16 16 9 9 9 14 14

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 16 16

PeriodeProyek Jenis PekerjaanNo

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 70: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

56

Universitas Indonesia

Lampiran 3: Matriks Penjadwalan Hasil Optimasi dengan 32 Karyawan Tetap

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

1 Musi Hull & Outfitting 12 14 11 14 27 4 12 18 17 32 22 31 28 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 1 12 3 2 4 1 4 2 16 5 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 2 22 24 26 23 6 25 6 24 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 3 26 19 26 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2 Kakap Hull & Outfitting 0 9 12 21 16 7 27 8 5 23 12 18 2 23 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 6 14 1 15 9 13 5 3 1 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 30 23 5 19 28 19 27 4 29 32 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 9 7 27 19 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

3 Meditran Hull & Outfitting 0 0 0 0 17 13 17 16 12 31 17 14 20 11 22 11 22 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 14 10 14 1 13 10 14 1 7 9 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 24 22 18 21 23 30 25 30 23 1 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 24 26 19 28 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

4 Matindok Hull & Outfitting 0 0 0 0 0 11 28 7 2 7 20 15 9 18 12 16 6 13 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' SK 5' SK 5' 'SK 5' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 21 8 30 8 21 'SK 30' 'SK 30' SK 30' SK 30' SK 30' 'SK 30' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 18 29 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

5 Kasim Hull & Outfitting 0 0 0 0 0 25 22 11 20 24 29 32 22 15 29 15 17 14 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 'SK 6' 'SK 6' 'SK 6' 'SK 6' 'SK 6' 'SK 6' 'SK 6' 'SK 6' 'SK 6' SK 6' SK 6' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 26 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' SK 5' SK 5' 'SK 5' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 21' 'SK 21' SK 21' SK 21' SK 21' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

6 Mauhau Hull & Outfitting 0 0 0 0 0 0 0 8 11 21 'SK 16' 'SK 16' 'SK 16' 'SK 16' 'SK 16' 'SK 16' SK 16' SK 16' SK 16' SK 16' SK 16' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' SK 17' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 'SK 18' 'SK 18' 'SK 18' 'SK 18' 'SK 18' 'SK 18' 'SK 18' 'SK 18' 'SK 18' SK 18' SK 18' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 18' 'SK 18' 'SK 18' 'SK 18' SK 18' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

7 Merauke Hull & Outfitting 0 0 0 0 0 0 0 27 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' SK 5' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' 'SK 19' SK 19' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 'SK 20' 'SK 20' 'SK 20' 'SK 20' 'SK 20' 'SK 20' 'SK 20' 'SK 20' 'SK 20' 'SK 20' SK 20' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 21' 'SK 21' 'SK 21' 'SK 21' SK 21' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

8 Pagar Dewa Hull & Outfitting 0 0 0 0 0 0 0 0 0 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' 'SK 12' SK 12' SK 12' 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 0 'SK 16' 'SK 16' 'SK 16' 'SK 16' 'SK 16' 'SK 16' 'SK 16' 'SK 16' 'SK 16' SK 16' SK 16' 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' 'SK 29' SK 29' SK 29' 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 12' 'SK 12' 'SK 12' SK 12' SK 12' 0 0 0 0 0 0 0 0 0 0 0 0 0

9 P. Berandan Hull & Outfitting 0 0 0 0 0 0 0 0 0 0 0 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' 'SK 11' SK 11' SK 11' SK 11' SK 11' 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' 'SK 17' SK 17' 'SK 17' 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 30' 'SK 30' 'SK 30' 'SK 30' 'SK 30' 'SK 30' 'SK 30' SK 30' SK 30' SK 30' SK 30' 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 4' 'SK 4' SK 4' SK 4' SK 4' 0 0 0 0 0 0 0 0 0 0 0

10 Arjuna Hull & Outfitting 13 12 7 12 19 1 20 1 'SK 6' 'SK 6' 'SK 6' 'SK 6' 'SK 6' 'SK 6' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 6 16 8 12 'SK 1' 'SK 1' 'SK 1' 'SK 1' 'SK 1' 'SK 1' 'SK 1' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 25 17 26 19 31 'SK 7' 'SK 7' 'SK 7' 'SK 7' 'SK 7' 'SK 7' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 'SK 13' 'SK 13' 'SK 13' 'SK 13' 'SK 13' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

11 Attaka Hull & Outfitting 0 0 24 26 23 18 29 24 'SK 8' 'SK 8' 'SK 8' 'SK 8' 'SK 8' 'SK 8' 'SK 8' 'SK 8' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 13 9 'SK 2' 'SK 2' 'SK 2' 'SK 2' 'SK 2' 'SK 2' 'SK 2' 'SK 2' 'SK 2' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 22 19 SK 3' 'SK 3' 'SK 3' 'SK 3' 'SK 3' 'SK 3' 'SK 3' 'SK 3' 'SK 3' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 'SK 22' 'SK 22' 'SK 22' 'SK 22' 'SK 22' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

12 Senipah Hull & Outfitting 0 0 0 0 0 0 28 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 'SK 4' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 'SK 14' 'SK 14' 'SK 14' 'SK 14' 'SK 14' 'SK 14' 'SK 14' 'SK 14' 'SK 14' 'SK 14' 'SK 14' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 'SK 15' 'SK 15' 'SK 15' 'SK 15' 'SK 15' 'SK 15' 'SK 15' 'SK 15' 'SK 15' 'SK 15' 'SK 15' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 5' 'SK 5' 'SK 5' 'SK 5' 'SK 5' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

13 Sembakung Hull & Outfitting 0 0 0 0 0 0 0 0 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 'SK 9' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 'SK 23' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 'SK 24' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 30' 'SK 30' 'SK 30' 'SK 30' 'SK 30' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

14 Gamkonora Hull & Outfitting 0 0 0 0 0 0 0 0 'SK 10' 'SK 10' 'SK 10' 'SK 10' 'SK 10' 'SK 10' 'SK 10' 'SK 10' 'SK 10' 'SK 10' 'SK 10' 'SK 10' 'SK 10' 'SK 10' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 'SK 25' 'SK 25' 'SK 25' 'SK 25' 'SK 25' 'SK 25' 'SK 25' 'SK 25' 'SK 25' 'SK 25' 'SK 25' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 'SK 26' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 33' 'SK 33' 'SK 33' 'SK 33' 'SK 33' 0 0 0 0 0 0 0 0 0 0 0 0 0 0

15 not yet name(chine) Hull & Outfitting 0 0 0 0 0 0 0 0 0 0 0 'SK 27' 'SK 27' 'SK 27' 'SK 27' 'SK 27' 'SK 27' 'SK 27' 'SK 27' 'SK 27' 'SK 27' 'SK 27' 'SK 27' SK 27' SK 27' 0 0 0 0 0 0 0 0 0 0 0

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 31' 'SK 31' 'SK 31' 'SK 31' 'SK 31' 'SK 31' 'SK 31' 'SK 31' 'SK 31' SK 31' SK 31' 0 0 0 0 0 0 0 0 0 0 0

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' 'SK 32' SK 32' SK 32' 0 0 0 0 0 0 0 0 0 0 0

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 'SK 9' 'SK 9' 'SK 9' SK 9' SK 9' 0 0 0 0 0 0 0 0 0 0 0

16 not yet name(korea) Hull & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 22 19 22 13 6 3 29 10 12 28 7 27 20

Hull & Painting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 2 7 4 2 7 3 14 12 3 2

Machinary & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 21 31 26 9 17 5 30 29 19 31

Electricity & Outfitting 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 26 2 30 18

No Proyek Jenis PekerjaanPeriode

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 71: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

57

Universitas Indonesia

Lampiran 4: Script M-File Program

1. Bangkitkan Solusi

function [min_Z,data_model_karyawan]=bangkit_solusi() load data_model for i=1:64 for j=1:36 data_model_karyawan{i,j}=[]; end end subkontraktor_tersedia=(1:64)'; tabel_dummy = zeros(64,36); tempat_subkontraktor=zeros(64,1); lama_karyawan_di_tempat=zeros(64,1); alur_tempat_karyawan=zeros(18,36); karyawan_di_kantor=(1:18)'; lama_karyawan_di_kantor=zeros(18,1); karyawan_di_tempat=zeros(64,1); Xijkl=zeros(4,18,17,36); Zikl=zeros(4,17,36); load keahlian_karyawan_awal for l=1:36 if l==1 karyawan=(1:18)'; else karyawan=[]; if length(karyawan_di_kantor)>2 for kk=1:length(karyawan_di_kantor) if lama_karyawan_di_kantor(kk,1)>=1 karyawan=[karyawan;karyawan_di_kantor(kk,1)]; end end end end keahlian_karyawan=keahlian_karyawan_awal(karyawan,:); for i=1:64 tempat=ceil(i/4); if data_model(i,l)==1 jenis_pekerjaan=mod(i,4); if jenis_pekerjaan==0 jenis_pekerjaan=4; end switch jenis_pekerjaan case 1 jenis_dibutuhkan{1,1}='Hull'; jenis_dibutuhkan{2,1}='Outfitting'; case 2 jenis_dibutuhkan{1,1}='Hull'; jenis_dibutuhkan{2,1}='Painting'; case 3 jenis_dibutuhkan{1,1}='Machinary'; jenis_dibutuhkan{2,1}='Outfitting'; case 4

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 72: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

58

Universitas Indonesia

jenis_dibutuhkan{1,1}='Electricity'; jenis_dibutuhkan{2,1}='Outfitting'; end

karyawan_terpenuhi1=sum(strcmp(keahlian_karyawan,jenis_dibutuhkan{

1,1}),2);

karyawan_terpenuhi2=sum(strcmp(keahlian_karyawan,jenis_dibutuhkan{

2,1}),2);

karyawan_terpenuhi=find((karyawan_terpenuhi1|karyawan_terpenuhi2)=

=1); if ~isempty(karyawan_terpenuhi) if l == 1

if karyawan_di_tempat(i,1)==0 random_pilih=randint(1,1,[1

length(karyawan_terpenuhi)]);

karyawan_terpilih=karyawan(karyawan_terpenuhi(random_pilih));

alur_tempat_karyawan(karyawan_terpilih,l)=tempat;

pos_dikantor=find(karyawan_di_kantor==karyawan_terpilih); karyawan_di_kantor(pos_dikantor,:)=[];

lama_karyawan_di_kantor(pos_dikantor,:)=[];

karyawan(karyawan_terpenuhi(random_pilih),:)=[];

keahlian_karyawan(karyawan_terpenuhi(random_pilih),:)=[]; karyawan_di_tempat(i,1)=karyawan_terpilih;

lama_karyawan_di_tempat(i,1)=lama_karyawan_di_tempat(i,1)+1;

Xijkl(jenis_pekerjaan,karyawan_terpilih,tempat,l)=1; elseif lama_karyawan_di_tempat(i,1)<3 random_pilih=randint(1,1,[0

length(karyawan_terpenuhi)]); if random_pilih==0

karyawan_terpilih=karyawan_di_tempat(i,1);

alur_tempat_karyawan(karyawan_terpilih,l)=tempat;

lama_karyawan_di_tempat(i,1)=lama_karyawan_di_tempat(i,1)+1;

Xijkl(jenis_pekerjaan,karyawan_terpilih,tempat,l)=1; else

karyawan_terpilih=karyawan(karyawan_terpenuhi(random_pilih));

alur_tempat_karyawan(karyawan_terpilih,l)=tempat;

pos_dikantor=find(karyawan_di_kantor==karyawan_terpilih); karyawan_di_kantor(pos_dikantor,:)=[];

lama_karyawan_di_kantor(pos_dikantor,:)=[];

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 73: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

59

Universitas Indonesia

karyawan(karyawan_terpenuhi(random_pilih),:)=[];

keahlian_karyawan(karyawan_terpenuhi(random_pilih),:)=[];

karyawan_di_kantor=[karyawan_di_kantor;karyawan_di_tempat(i,1)];

lama_karyawan_di_kantor=[lama_karyawan_di_kantor;-1];

karyawan_di_tempat(i,1)=karyawan_terpilih; lama_karyawan_di_tempat(i,1)=1;

Xijkl(jenis_pekerjaan,karyawan_terpilih,tempat,l)=1; end else random_pilih=randint(1,1,[1

length(karyawan_terpenuhi)]);

karyawan_terpilih=karyawan(karyawan_terpenuhi(random_pilih));

alur_tempat_karyawan(karyawan_terpilih,l)=tempat;

pos_dikantor=find(karyawan_di_kantor==karyawan_terpilih); karyawan_di_kantor(pos_dikantor,:)=[];

lama_karyawan_di_kantor(pos_dikantor,:)=[];

karyawan(karyawan_terpenuhi(random_pilih),:)=[];

keahlian_karyawan(karyawan_terpenuhi(random_pilih),:)=[];

karyawan_di_kantor=[karyawan_di_kantor;karyawan_di_tempat(i,1)];

lama_karyawan_di_kantor=[lama_karyawan_di_kantor;-1]; karyawan_di_tempat(i,1)=karyawan_terpilih; lama_karyawan_di_tempat(i,1)=1;

Xijkl(jenis_pekerjaan,karyawan_terpilih,tempat,l)=1; end else if numel(data_model_karyawan{i,l-1,1}) > 2 karyawan_terpilih =

data_model_karyawan{i,l-1,1}; data_model_karyawan{i,l,2} =

data_model_karyawan{i,l-1,2}; karyawan_di_tempat(i,1)=0; lama_karyawan_di_tempat(i,1)=0; Zikl(jenis_pekerjaan,tempat,l)=1; else if karyawan_di_tempat(i,1)==0 random_pilih=randint(1,1,[1

length(karyawan_terpenuhi)]);

karyawan_terpilih=karyawan(karyawan_terpenuhi(random_pilih));

alur_tempat_karyawan(karyawan_terpilih,l)=tempat;

pos_dikantor=find(karyawan_di_kantor==karyawan_terpilih); karyawan_di_kantor(pos_dikantor,:)=[];

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 74: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

60

Universitas Indonesia

lama_karyawan_di_kantor(pos_dikantor,:)=[];

karyawan(karyawan_terpenuhi(random_pilih),:)=[];

keahlian_karyawan(karyawan_terpenuhi(random_pilih),:)=[];

karyawan_di_tempat(i,1)=karyawan_terpilih;

lama_karyawan_di_tempat(i,1)=lama_karyawan_di_tempat(i,1)+1;

Xijkl(jenis_pekerjaan,karyawan_terpilih,tempat,l)=1; elseif lama_karyawan_di_tempat(i,1)<3 random_pilih=randint(1,1,[0

length(karyawan_terpenuhi)]); if random_pilih==0

karyawan_terpilih=karyawan_di_tempat(i,1);

alur_tempat_karyawan(karyawan_terpilih,l)=tempat;

lama_karyawan_di_tempat(i,1)=lama_karyawan_di_tempat(i,1)+1;

Xijkl(jenis_pekerjaan,karyawan_terpilih,tempat,l)=1; else

karyawan_terpilih=karyawan(karyawan_terpenuhi(random_pilih));

alur_tempat_karyawan(karyawan_terpilih,l)=tempat;

pos_dikantor=find(karyawan_di_kantor==karyawan_terpilih);

karyawan_di_kantor(pos_dikantor,:)=[];

lama_karyawan_di_kantor(pos_dikantor,:)=[];

karyawan(karyawan_terpenuhi(random_pilih),:)=[];

keahlian_karyawan(karyawan_terpenuhi(random_pilih),:)=[];

karyawan_di_kantor=[karyawan_di_kantor;karyawan_di_tempat(i,1)];

lama_karyawan_di_kantor=[lama_karyawan_di_kantor;-1];

karyawan_di_tempat(i,1)=karyawan_terpilih; lama_karyawan_di_tempat(i,1)=1;

Xijkl(jenis_pekerjaan,karyawan_terpilih,tempat,l)=1; end else random_pilih=randint(1,1,[1

length(karyawan_terpenuhi)]);

karyawan_terpilih=karyawan(karyawan_terpenuhi(random_pilih));

alur_tempat_karyawan(karyawan_terpilih,l)=tempat;

pos_dikantor=find(karyawan_di_kantor==karyawan_terpilih); karyawan_di_kantor(pos_dikantor,:)=[];

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 75: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

61

Universitas Indonesia

lama_karyawan_di_kantor(pos_dikantor,:)=[];

karyawan(karyawan_terpenuhi(random_pilih),:)=[];

keahlian_karyawan(karyawan_terpenuhi(random_pilih),:)=[];

karyawan_di_kantor=[karyawan_di_kantor;karyawan_di_tempat(i,1)];

lama_karyawan_di_kantor=[lama_karyawan_di_kantor;-1];

karyawan_di_tempat(i,1)=karyawan_terpilih; lama_karyawan_di_tempat(i,1)=1;

Xijkl(jenis_pekerjaan,karyawan_terpilih,tempat,l)=1; end end end else if karyawan_di_tempat(i,1)==0

if tempat_subkontraktor(i,1)==0 karyawan_terpilih=['dummy']; data_model_karyawan{i,l,2} =

subkontraktor_tersedia(1,1);

tempat_subkontraktor(i,1)=subkontraktor_tersedia(1,1); subkontraktor_tersedia(1,:)=[]; else karyawan_terpilih=['dummy']; data_model_karyawan{i,l,2} =

tempat_subkontraktor(i,1); end

karyawan_di_tempat(i,1)=0; lama_karyawan_di_tempat(i,1)=0; Zikl(jenis_pekerjaan,tempat,l)=1; elseif lama_karyawan_di_tempat(i,1)<3 karyawan_terpilih=karyawan_di_tempat(i,1);

alur_tempat_karyawan(karyawan_terpilih,l)=tempat;

lama_karyawan_di_tempat(i,1)=lama_karyawan_di_tempat(i,1)+1;

Xijkl(jenis_pekerjaan,karyawan_terpilih,tempat,l)=1; else if tempat_subkontraktor(i,1)==0 karyawan_terpilih=['dummy']; data_model_karyawan{i,l,2} =

subkontraktor_tersedia(1,1);

tempat_subkontraktor(i,1)=subkontraktor_tersedia(1,1); subkontraktor_tersedia(1,:)=[]; else karyawan_terpilih=['dummy']; data_model_karyawan{i,l,2} =

tempat_subkontraktor(i,1); end

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 76: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

62

Universitas Indonesia

karyawan_di_kantor=[karyawan_di_kantor;karyawan_di_tempat(i,1)];

lama_karyawan_di_kantor=[lama_karyawan_di_kantor;-1]; karyawan_di_tempat(i,1)=0; lama_karyawan_di_tempat(i,1)=0; Zikl(jenis_pekerjaan,tempat,l)=1; end end data_model_karyawan{i,l}=karyawan_terpilih; else if lama_karyawan_di_tempat(i,1)>0

karyawan_di_kantor=[karyawan_di_kantor;karyawan_di_tempat(i,1)]; lama_karyawan_di_kantor=[lama_karyawan_di_kantor;-

1]; karyawan_di_tempat(i,1)=0; lama_karyawan_di_tempat(i,1)=0; end end end lama_karyawan_di_kantor=lama_karyawan_di_kantor+1; end min_Z=hitung_min_z(Xijkl,Zikl); %hitung dummy jumlah_dummy=0; jumlah_transport_dummy_dlm=0; jumlah_transport_dummy_luar=0; for i=1:64 if i<=37 flag=0; for j=1:36 temp_sub=data_model_karyawan{i,j}; if length(temp_sub)>=5 cek=temp_sub(1:5); else cek=temp_sub; end if strcmp(cek,'dummy') if flag==0

jumlah_transport_dummy_dlm=jumlah_transport_dummy_dlm+1; flag=1; end else if flag==1; flag=0; jumlah_dummy=jumlah_dummy+1;

jumlah_transport_dummy_dlm=jumlah_transport_dummy_dlm+1; end end end else flag=0; for j=1:36 temp_sub=data_model_karyawan{i,j}; if length(temp_sub)>=5 cek=temp_sub(1:5);

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 77: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

63

Universitas Indonesia

else cek=temp_sub; end if strcmp(cek,'dummy') if flag==0

jumlah_transport_dummy_luar=jumlah_transport_dummy_luar+1; flag=1; end else if flag==1; flag=0; jumlah_dummy=jumlah_dummy+1;

jumlah_transport_dummy_luar=jumlah_transport_dummy_luar+1; end end end end end

%hitung trip jumlah_transport_dlm=0; jumlah_transport_luar=0; for i=1:18 alur_karyawan=alur_tempat_karyawan(i,:); flag=0; for j=1:36 if alur_karyawan(1,j)==0 if flag==1 if sebelum<=9 jumlah_transport_dlm=jumlah_transport_dlm+1; else jumlah_transport_luar=jumlah_transport_luar+1; end flag=1; end else if i==1 sebelum=alur_karyawan(1,j); if alur_karyawan(1,j)<=9 jumlah_transport_dlm=jumlah_transport_dlm+1; else jumlah_transport_luar=jumlah_transport_luar+1; end else if flag==1 if alur_karyawan(1,j)<=9

jumlah_transport_dlm=jumlah_transport_dlm+1; else

jumlah_transport_luar=jumlah_transport_luar+1; end sebelum=alur_karyawan(1,j); flag=0; end end end

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 78: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

64

Universitas Indonesia

end end min_Z=min_Z+(jumlah_transport_dlm*3000000)+(jumlah_transport_dummy

_dlm*3000000)+(jumlah_transport_luar*7000000)+(jumlah_transport_du

mmy_luar*7000000);

2. Evaluasi Fitness

function f=evaluasi_fitnes(solusi) Xijkl=zeros(4,18,17,36); Zikl=zeros(4,17,36); alur_tempat_karyawan=zeros(18,36); for l=1:36 for i=1:64 tempat=ceil(i/4); if ~isempty(solusi{i,l}) jenis_pekerjaan=mod(i,4); if jenis_pekerjaan==0 jenis_pekerjaan=4; end if ~strcmp(solusi{i,l},'dummy') Xijkl(jenis_pekerjaan,solusi{i,l},tempat,l)=1; alur_tempat_karyawan(solusi{i,l},l)=tempat; else Zikl(jenis_pekerjaan,tempat,l)=1; end end end end min_Z=hitung_min_z(Xijkl,Zikl); %hitung dummy jumlah_dummy=0; jumlah_transport_dummy_dlm=0; jumlah_transport_dummy_luar=0; for i=1:64 if i<=37 flag=0; for j=1:36 if strcmp(solusi{i,j},'dummy') if flag==0

jumlah_transport_dummy_dlm=jumlah_transport_dummy_dlm+1; flag=1; end else if flag==1; flag=0; jumlah_dummy=jumlah_dummy+1;

jumlah_transport_dummy_dlm=jumlah_transport_dummy_dlm+1; end end end else flag=0; for j=1:36 if strcmp(solusi{i,j},'dummy') if flag==0

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 79: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

65

Universitas Indonesia

jumlah_transport_dummy_luar=jumlah_transport_dummy_luar+1; flag=1; end else if flag==1; flag=0; jumlah_dummy=jumlah_dummy+1;

jumlah_transport_dummy_luar=jumlah_transport_dummy_luar+1; end end end end end

%hitung trip jumlah_transport_dlm=0; jumlah_transport_luar=0; for i=1:18 alur_karyawan=alur_tempat_karyawan(i,:); flag=0; for j=1:36 if alur_karyawan(1,j)==0 if flag==1 if sebelum<=9 jumlah_transport_dlm=jumlah_transport_dlm+1; else jumlah_transport_luar=jumlah_transport_luar+1; end flag=1; end else if i==1 sebelum=alur_karyawan(1,j); if alur_karyawan(1,j)<=9 jumlah_transport_dlm=jumlah_transport_dlm+1; else jumlah_transport_luar=jumlah_transport_luar+1; end else if flag==1 if alur_karyawan(1,j)<=9

jumlah_transport_dlm=jumlah_transport_dlm+1; else

jumlah_transport_luar=jumlah_transport_luar+1; end sebelum=alur_karyawan(1,j); flag=0; end end end end end f=min_Z+(jumlah_transport_dlm*3000000)+(jumlah_transport_dummy_dlm

*3000000)+(jumlah_transport_luar*7000000)+(jumlah_transport_

dummy_luar*7000000);

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 80: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

66

Universitas Indonesia

3. Seleksi Parent

function [parent1,parent2]=seleksi_parent(populasi,fkromosom) [n urut]=sort(fkromosom); En=fkromosom(urut); populasi=populasi(urut,:); for i=1:size(populasi,1) q(i,1)=sum(En(1:i,1)); end q=q/q(end); qparent=[]; while size(qparent,1)~=2 qbaru=[]; while isempty(qbaru) r=rand; for i=2:length(q) if q(i-1)<r && q(i)>r qbaru=q(i); end end end ada=find(qparent==qbaru); if isempty(ada) qparent=[qparent;qbaru]; end end pos1=find(q==qparent(1)); parent1=populasi{pos1,1}; pos2=find(q==qparent(2)); parent2=populasi{pos2,1};

3. Crossover

function [hasil1,hasil2]=order_crossover(solusi1,solusi2) posisi_random=randint(1,1,[1 length(solusi1)]); hasil1=[solusi2(1:posisi_random,:);solusi1(posisi_random+1:end,:)]

; hasil2=[solusi1(1:posisi_random,:);solusi2(posisi_random+1:end,:)]

;

4. Mutasi

function out=mutasi(in) byk=randint(1,1,[1 64]); out=in; for j=1:byk pos=randint(1,1,[1 size(in,1)]); temp=in(pos,:); posisi=[]; for i=1:length(temp) if ~isempty(temp{1,i}) posisi=[posisi;i]; end end pos1=randint(1,1,[1 length(posisi)]); pos2=randint(1,1,[1 length(posisi)]); while pos1==pos2 pos2=randint(1,1,[1 length(posisi)]);

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 81: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

67

Universitas Indonesia

end a=out{1,pos1}; out{1,pos1}=out{1,pos2}; out{pos,pos2}=a; end

5. Hitung Biaya

function min_Z=hitung_min_z(Xijkl,Zikl) min_Z=0; for i=1:4 for j=1:18 for k=1:16 for l=1:36 if k<10 min_Z=min_Z+30000000*Xijkl(i,j,k,l); else min_Z=min_Z+43200000*Xijkl(i,j,k,l); end end end end end for i=1:4 for k=1:16 for l=1:36 if k<10 min_Z=min_Z+50000000*Zikl(i,k,l); else min_Z=min_Z+50000000*Zikl(i,k,l); end end end end

6. Pemilihan Solusi

function [xbest,fbest,f_rata2,f,totalwaktu]=al_gen(Pc,Pm,maximp) tic uk_populasi=80; [kromosom,fkromosom]=bangkit_populasi(uk_populasi); for iterasi=1:maximp [parent1,parent2]=seleksi_parent(kromosom,fkromosom); if rand < Pc [anak1,anak2]=order_crossover(parent1,parent2); else anak1=parent1; anak2=parent2; end if rand<Pm anak1=mutasi(anak1); anak2=mutasi(anak2); end f_anak1=evaluasi_fitnes(anak1); f_anak2=evaluasi_fitnes(anak2); if f_anak1<fkromosom(end) kromosom{end,:}=anak1;

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012

Page 82: UNIVERSITAS INDONESIA OPTIMASI …lib.ui.ac.id/file?file=digital/20311208-S43056-Optimasi penjadwalan... · rantai dari proses perpindahan muatan dari satu lokasi ke lokasi yang lainnya

68

Universitas Indonesia

fkromosom(end,:)=f_anak1; [fkromosom,index]=sort(fkromosom); kromosom=kromosom(index,:); end if f_anak2<fkromosom(end) kromosom{end,:}=anak2; fkromosom(end,:)=f_anak2; [fkromosom,index]=sort(fkromosom); kromosom=kromosom(index,:); end if f_anak1<f_anak2 fnew=f_anak1; xnew=anak1; else fnew=f_anak2; xnew=anak2; end if iterasi==1 xbest=xnew; fbest=fnew; else if fnew<fbest xbest=xnew; fbest=fnew; end end f(iterasi)=fbest f_rata2(iterasi)=mean(fkromosom); iterasi end totalwaktu=toc;

7. Program Utama

%Program utama % clc,clear all,close all; Pc=0.45; Pm=0.01; %Pm nya pake rumus 10/jumlah gen maximp=1; [xbest,fbest,f_rata2,f,totalwaktu]=al_gen(Pc,Pm,maximp); totalwaktu figure,plot(f,'k');xlabel('Iterasi');ylabel('fitnes');legend('Fit

nes Terbaik');

Optimasi penjadwalan..., Andrew Lampatar Sianturi, FT UI, 2012