Anda di halaman 1dari 60

Analisis dan Penerapan Algoritma Particle Swarm

Optimization (PSO) pada Optimasi


Penjadwalan Sumber Daya Proyek


Analysis and Implementation of Particle Swarm
Optimization (PSO) Algorithm on the Optimization of
Project Resource Scheduling


Tugas Akhir



Diajukan untuk memenuhi sebagian dari syarat
untuk memperoleh gelar Sarjana Teknik
Departemen Teknik Informatika
IT TELKOM



Evi Ria Zerda
113078029





Departemen Teknik Informatika
Institut Teknologi Telkom
Bandung
2009


Lembar Pernyataan


Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul Analisis
dan Penerapan Algoritma Particle Swarm Optimization (PSO) pada Optimasi
Penjadwalan Sumber Daya Proyek beserta seluruh isinya adalah benar-benar
karya saya sendiri dan saya tidak melakukan penjiplakan atau pengutipan dengan
cara-cara yang tidak sesuai dengan etika kei1muan yang berlaku dalam
masyarakat keilmuan. Atas pernyataan ini, saya siap menanggung resiko/sanksi
yang dijatuhkan kepada saya apabila kemudian ditemukan adanya pelanggaran
terhadap etika keilmuan dalam karya saya ini, atau ada k1aim dari pihak lain
terhadap keaslian karya saya ini.


Bandung, 23 J uni 2009
Yang membuat pernyataan,






(Evi Ria Zerda)


Lembar Pengesahan


Analisis dan Penerapan Algoritma Particle Swarm
Optimization (PSO) pada Optimasi
Penjadwalan Sumber Daya Proyek


Analysis and Implementation of Particle Swarm
Optimization (PSO) Algorithm on the Optimization of
Project Resource Scheduling




Evi Ria Zerda
113078029




Tugas Akhir ini telah diterima dan disahkan
untuk memenuhi sebagian dari syarat
untuk memperoleh gelar Sarjana Teknik
Departemen Teknik Informatika
IT TELKOM



Bandung, 23 J uni 2009


Menyetujui




Pembimbing






Suyanto, ST, MSc.
NIP: 99740178-1


i
Abstrak


Penjadwalan sumber daya (resource scheduling) merupakan salah satu
perencanaan operasional proyek yang didalamnya terdapat proses
mengidentifikasi jenis dan jumlah sumber daya sesuai dengan jadwal keperluan
yang telah ditetapkan. Kebutuhan sumber daya untuk masing-masing satuan
waktu bisa berbeda, sehingga ada kemungkinan terjadi fluktuasi kebutuhan
sumber daya. Oleh karena itu, fluktuasi yang tinggi selama perjalanan proyek
harus dihindari, dengan kata lain diperlukan perataan penggunaan sumber daya
(resource leveling) sepanjang waktu proyek.
Permasalahan optimasi perataan penggunaan sumber daya merupakan masalah
yang sudah umum dan telah dipelajari dalam waktu yang lama, namun perlu dicari
metodologi atau pendekatan teknis yang memadai dan sampai saat ini telah
berkembang beberapa solusi alternatif yang ditawarkan. Pada Tugas Akhir ini,
dibahas penerapan algoritma particle swarm optimization (PSO), pada optimasi
penjadwalan sumber daya proyek.
Hasil penelitian menunjukkan bahwa algoritma particle swarm optimization
dapat diterapkan pada permasalahan optimasi perataan penggunaan sumber daya.
Keefektifan algoritma ini didemonstrasikan dengan beberapa studi kasus. Dari test
yang telah dilakukan menunjukkan bahwa pendekatan ini dapat memberikan
solusi yang bagus dengan fluktuasi yang minimal.

Kata kunci: penjadwalan sumber daya proyek, fluktuasi, Resource Leveling, PSO

ii
Abstract


Resource scheduling is one of project operational planning which there is
have process identifies resources amount and type according to the activity that
scheduled. Requirements of resources for each times can different, so maybe there
is fluctuation of need resources. So, a high of fluctuation during project tour must
be avoid, i.e.needed resource leveling during project time.
The problem of resource leveling optimization is a common problem in
have studied at long time, but must be search a new methodology or several
heuristic in order to produce the optimal solutions of the problem. In this final
assignment, we discuss an implementation of the particle swarm optimization
(PSO), on the optimization of project resource scheduling.
Final result shows that particle swarm optimization can be implement on
the optimization of resource leveling problem. The effectiveness of this heuristic
is demonstrated with case studies. Preliminary test shows that this approach can
give a good solution with minimal fluctuation.

Keywords: project resource scheduling, fluctuation, resource leveling, PSO


iii
Lembar Persembahan



Sesungguhnya sesudah kesulitan itu
ada kemudahan
(A Lam Nasyrah [94] : 6)
















Buku ini kupersembahkan untuk :

Mama dan Papa, atas segala yang telah diberikan terutama doa yang tidak
pernah terputus.
Adikku satu-satunya yang tersayang Novri Ria Zerda.

Ini merupakan hal kecil yang bisa Evi persembahkan pada saat ini, semoga hal
ini bisa membuat semuanya bahagia dan bangga kepada Evi.

iv
Ucapan Terima Kasih

Rasa syukur selalu terpanjatkan kepada Allah SWT atas semua bimbingan-
Nya dalam menjalani hidup ini, fase TA ini bisa terlewati dengan baik atas
semua kehendak-Nya.
Mamaku tersayang atas segalanya terutama kepercayaan yang besar atas
semua yang Evi lakukan, Papaku tercinta atas segala kesabarannya dengerin
semua keluh kesahku.
Adekku tersayang Novri Ria Zerda, Mari kita lakukan yang terbaik buat
mama dan papa. Makasih atas semuanya.
Om Mahmud dan Tek Ufix, makasih atas semuanya serta Puput dan
Dwi, kalian selalu buat Evi ingin pulang kerumah. Semua keluargaku disana,
kalian penyemangat terbesar dalam hidupku.
Almarhum kakekku Agus, Evi sudah S1 sekarang. Nenekku, makasih
atas doanya dan nasehat yang selalu diberikan untuk Evi.
Bapak Suyanto, ST, MSc. Selaku pembimbing tunggal, makasih atas
segala ilmu yang telah diberikan buat penyelesaian Tugas Akhir ini.
Keluarga LAB MASTA yang tercinta, K2 arif, Mbak Ayu, Ri, Eka, Fula,
Na, Narno, Teguh, Risna, Nofy, Henny, Miza. I Love U All.
Temen-temen di D3IF-28-01 dan IFX-31-01, terima kasih atas semangat
yang telah diberikan selama ini dan kalian adalah keluarga baruku disini.
Semua mahasiswa IT Telkom atas doa dan support-nya selama ini.
Terakhir kami minta maaf jika ada salah-salah kata yang menyakiti hati.
Seluruh dosen yang ada di IT Telkom. Terima kasih ilmunya.
Teman-teman kepanitian dan organisasi Evi selama ini. PDKT
2005 terutama DC, PDKT 2006 terutama DC, LDKO 2006 terutama AMS,
LDKO 2007 terutama SC, HMIF 2005/2006 terutama BPH, SETJEN

v
2006/2007 terutama PusMeong, BEM 2007/2008 terutama Keuangan.
Maafkanlah jika selama ini Evi belum memberikan yang terbaik buat kalian
semua tapi yakinlah bahwa kalian semua adalah keluarga baru Evi disini.
Semoga silahturahmi ini akan tetap terus dijaga.
Temen-temen curhatku tiap minggu, makasih atas semuanya.
Temen-temen kos-an di Gedong 4.
Ulfa dan Rie atas persahabatan yang hampir 5 tahun ini, maafkan Evi bila
belum menjadi sahabat terbaik kalian dan membuat kesal kalian, makasih atas
semuanya dari mulai surprise ulang tahunnya, nonton bareng, makan bareng,
jalan bareng ampe ide gila yang belum sempet kita lakukan. Devi dan Dana.
Nurul, atas kesabarannya menghadapi diriku yang sering menyusahkanmu
baik disaat Evi sakit dan butuh temen untuk cerita. Ery dan Nisa.
Diar atas persahabatan yang singkat ini tapi unik, kapan kita main bom-
bom car lagi ???
Mbak Nana Chan atas curhat TA-nya di Perpus, pinjeman buku dan
semua sharing ilmunya. Moga kita melakukan hal yang ingin kita lakukan
selama ini. Mbak Leni dan Olin.
K2 Andik atas bantuan Activity.slack = Activity.LFT - Activity.EFT

PDKT, MABIM, LDKO, Kuliah, Ngulang, TP, Masteran, Praktikum,
Kerja Lab, Tugas Besar, Quis, Tugas Kuliah, UTS, UAS, Seminar, Sidang
TA, Revisi TA. Semuanya telah dilewati di bangku kuliah yang hampir 5
tahun ini, banyak hal yang diambil dari perjalanan ini semuanya dan
semoga itu menjadi bekal buat kehidupan selanjutnya.
Bandung, 18 Februari 2009
1:55 AM

vi
Kata Pengantar


Segala puji dan syukur atas segala anugerah nikmat dan rahmat Allah SWT
penulis dapat menyelesaikan Tugas Akhir ini, dengan judul Analisis dan
Penerapan Algoritma Particle Swarm Optimization (PSO) pada Optimasi
Penjadwalan Sumber Daya Proyek.
Bermula dari membaca tawaran judul Tugas Akhir dari dosen serta mencari
studi kasus yang cocok untuk penerapan algoritma tersebut maka muncullah ide
untuk membuat Tugas Akhir dengan judul diatas. Tugas Akhir ini telah memberi
banyak pengalaman kepada penulis mengenai banyak hal mulai dari mempelajari
manajemen proyek lebih detail, memahami setiap notasi matematika yang ada
serta memahami diri ini sendiri dengan lebih banyak. Tugas Akhir ini merupakan
salah satu hal yang dapat dilakukan penulis pada saat ini tapi mudah-mudahan ini
menjadi jembatan untuk berkarya lebih baik lagi. Penulis mengucapkan banyak
terima kasih kepada semua pihak yang terkait dalam pembuatan Tugas Akhir ini.
Pada akhirnya, harapan akan adanya suatu perbaikan pada tugas akhir ini tentu
selalu ada dikarenakan keterbatasan penulis, sehingga sangat diharapkan adanya
kritik dan saran yang membangun untuk pencapaian yang lebih baik. Terima
kasih.

Bandung, 23 J uni 2009





Evi Ria Zerda


vii
Daftar Isi


ABSTRAK ........................................................................................................................................... I
ABSTRACT ....................................................................................................................................... II
LEMBAR PERSEMBAHAN ......................................................................................................... III
UCAPAN TERIMA KASIH .......................................................................................................... IV
KATA PENGANTAR ..................................................................................................................... VI
DAFTAR ISI ................................................................................................................................... VII
DAFTAR GAMBAR ....................................................................................................................... IX
DAFTAR TABEL .............................................................................................................................. X
DAFTAR ISTILAH......................................................................................................................... XI
1 PENDAHULUAN ....................................................................................................................... 1
1.1 LATAR BELAKANG ................................................................................................................ 1
1.2 PERUMUSAN MASALAH ......................................................................................................... 2
1.3 TUJ UAN ................................................................................................................................. 3
1.4 METODOLOGI PENYELESAIAN MASALAH .............................................................................. 3
2 DASAR TEORI .......................................................................................................................... 5
2.1 OPTIMASI .............................................................................................................................. 5
2.1.1 Definisi Optimasi ......................................................................................................... 5
2.1.2 Definisi Nilai Optimal .................................................................................................. 5
2.2 MANAJ EMEN PROYEK ........................................................................................................... 5
2.2.1 Penjadwalan Sumber Daya Proyek ............................................................................. 6
2.2.2 Slack ............................................................................................................................. 6
2.2.3 Resource Leveling ........................................................................................................ 7
2.3 ALGORITMA PARTICLE SWARM OPTIMIZATION ......................................................................... 7
2.3.1 Proses Algoritma Particle Swarm Optimization ......................................................... 8
2.3.2 Parameter Algoritma Particle Swarm Optimization .................................................. 9
3. ANALISA DAN PERANCANGAN ....................................................................................... 11
3.1 DESKRIPSI UMUM SISTEM .................................................................................................. 11
3.2 REPRESENTASI VEKTOR POSISI PARTICLE, RUANG SOLUSI DAN KECEPATAN.................. 11
3.3 FUNGSI FLUKTUASI ............................................................................................................. 12
3.4 ANALISA KEBUTUHAN SISTEM ........................................................................................... 14
3.4.1 Spesifikasi Perangkat Keras ............................................................................................. 14
3.4.2 Spesifikasi Perangkat Lunak ............................................................................................. 14
3.5 PERANCANGAN ................................................................................................................... 14
3.5.1 Struktur Tabel Basis Data ................................................................................................. 14
3.5.2Gambaran Keseluruhan Sistem ........................................................................................ 15

viii
3.5.3 Diagram Use case ............................................................................................................. 16
3.5.4 Diagram Sekuensial : PSO Optimization ......................................................................... 17
3.5.5 Diagram Sekuensial : Set PSOs Parameters .................................................................. 18
3.5.6 Diagram Sekuensial : Load Project ................................................................................. 19
3.5.7 Diagram Kelas .................................................................................................................. 20
4. ANALISIS HASIL PERCOBAAN ......................................................................................... 25
4.1 PENGUJ IAN SISTEM ................................................................................................................... 25
4.1.1Tujuan Pengujian .............................................................................................................. 25
4.1.2 Skenario Pengujian ........................................................................................................... 25
4.1.3 Parameter Pengujian ........................................................................................................ 26
4.1.4 Kasus Uji yang Digunakan ............................................................................................... 26
4.2 PELAKSANAAN UJ I COBA TERHADAP PARAMETER ALGORITMA PSO ..................................... 26
4.3 ANALISIS HASIL OPTIMASI PENJ ADWALAN SUMBER DAYA PROYEK ...................................... 29
4.3.1 Proyek Qureshi.................................................................................................................. 29
4.3.2 Proyek LOGON ................................................................................................................. 31
4.3.3 Proyek Building ................................................................................................................. 32
4.4 PERBANDINGAN DENGAN ALGORITMA RANK BASED ANT SYSTEM (AS
RANK
) ................... 34
4.4.1 Proyek Qureshi.................................................................................................................. 34
4.4.2 Proyek LOGON ................................................................................................................. 35
4.4.3 Proyek Building ................................................................................................................. 35
4.5 HASIL RE-OPTIMIZE ........................................................................................................... 36
5. KESIMPULAN DAN SARAN ................................................................................................ 37
5.1 KESIMPULAN ............................................................................................................................. 37
5.2 SARAN ....................................................................................................................................... 37
DAFTAR PUSTAKA ....................................................................................................................... 38
LAMPIRAN A : ................................................................................................................................ 40
LAMPIRAN B : ................................................................................................................................ 42













ix

Daftar Gambar


GAMBAR 1-1 CONTOH GRAFIK SUMBER DAYA PROYEK (A) SEBELUM DAN (B) SETELAH
DIRATAKAN .................................................................................................................................. 1
GAMBAR 1-2 ILUSTRASI ALGORITMA PARTICLE SWARM OPTIMIZATION ............................................ 2
GAMBAR 1-3 FLOW CHART SISTEM OPTIMASI PENJ ADWALAN SUMBER DAYA PROYEK DENGAN
ALGORITMA PARTICLE SWARM OPTIMIZATION ........................................................................... 4
GAMBAR 2-1 GRAFIK-GRAFIK IDEAL SUMBER DAYA ......................................................................... 7
GAMBAR 2-2 ILUSTRASI PERUBAHAN KECEPATAN .............................................................................. 8
GAMBAR 2-3 ILUSTRASI PERUBAHAN POSISI ....................................................................................... 9
GAMBAR 3-1 GRAFIK YANG TIDAK QUASI CONCAVE ......................................................................... 12
GAMBAR 3-2 GRAFIK YANG QUASI CONCAVE .................................................................................... 13
GAMBAR 3-3 GRAFIK DENGAN SEJ UMLAH SUMBER DAYA YANG TIDAK DIGUNAKAN ..................... 13
GAMBAR 3-4 DIAGRAM BASIS DATA ................................................................................................. 14
GAMBAR 3-5 GAMBARAN KESELURUHAN SISTEM OPTIMASI PENJ ADWALAN SUMBER DAYA
PROYEK ....................................................................................................................................... 15
GAMBAR 3-6 DIAGRAM USE CASE ..................................................................................................... 16
GAMBAR 3-7 DIAGRAM SEKUENSIAL: PSO OPTIMIZATION ............................................................... 17
GAMBAR 3-8 DIAGRAM SEKUENSIAL: SET PSOS PARAMETERS ....................................................... 18
GAMBAR 3-9 DIAGRAM SEKUENSIAL: LOAD DATA ........................................................................... 19
GAMBAR 3-10 DIAGRAM KELAS ........................................................................................................ 21
GAMBAR 4-1 GRAFIK PENGUJ IAN PARAMETER .................................................................................. 27
GAMBAR 4-2 GRAFIK SUMBER DAYA PROYEK QURESHI SEBELUM DIOPTIMASI .............................. 29
GAMBAR 4-3 GRAFIK SUMBER DAYA PROYEK QURESHI SETELAH DIOPTIMASI ............................... 30
GAMBAR 4-4 GRAFIK SUMBER DAYA PROYEK LOGON SEBELUM DIOPTIMASI .............................. 31
GAMBAR 4-5 GRAFIK SUMBER DAYA PROYEK LOGON SETELAH DIOPTIMASI ............................... 32
GAMBAR 4-6 GRAFIK SUMBER DAYA PROYEK BUILDING SEBELUM DIOPTIMASI ............................ 32
GAMBAR 4-7 GRAFIK SUMBER DAYA PROYEK BUILDING SETELAH DIOPTIMASI ............................. 33
GAMBAR 4-8 GRAFIK SUMBER DAYA PROYEK QURESHI SETELAH DIOPTIMASI DENGAN ALGORITMA
RANK BASED ANT SYSTEM (AS
RANK
) .......................................................................................... 34
GAMBAR 4-9 GRAFIK SUMBER DAYA PROYEK LOGON SETELAH DIOPTIMASI DENGAN ALGORITMA
RANK BASED ANT SYSTEM (AS
RANK
) .......................................................................................... 35
GAMBAR 4-10 GRAFIK SUMBER DAYA PROYEK BUILDING SETELAH DIOPTIMASI DENGAN
ALGORITMA RANK BASED ANT SYSTEM (AS
RANK
) ..................................................................... 35



x
Daftar Tabel

TABEL 4-1 NILAI FLUCT UNTUK M=60 DAN NC=1000 ........................................................................ 27
TABEL 4-2 NILAI FLUCT UNTUK M=100 DAN NC=600 ........................................................................ 28
TABEL 4-3 PARAMETER TERBAIK UNTUK PROYEK LOGON .............................................................. 30
TABEL 4-4 PERBANDINGAN GRAFIK SUMBER DAYA PROYEK QURESHI ............................................ 30
TABEL 4-5 PARAMETER TERBAIK UNTUK PROYEK LOGON .............................................................. 31
TABEL 4-6 PERBANDINGAN GRAFIK SUMBER DAYA PROYEK LOGON ............................................ 32
TABEL 4-7 PARAMETER TERBAIK UNTUK PROYEK LOGON .............................................................. 33
TABEL 4-8 PERBANDINGAN GRAFIK SUMBER DAYA PROYEK BUILDING ......................................... 33
TABEL 4-9 PERBANDINGAN GRAFIK SUMBER DAYA PROYEK QURESHI SETELAH DIOPTIMASI
ANTARA ALGORITMA AS
RANK
DAN ALGORITMA PSO ................................................................. 34
TABEL 4-10 PERBANDINGAN GRAFIK SUMBER DAYA PROYEK LOGON SETELAH DIOPTIMASI
ANTARA ALGORITMA AS
RANK
DAN ALGORITMA PSO ................................................................. 35
TABEL 4-11 PERBANDINGAN GRAFIK SUMBER DAYA PROYEK BUILDING SETELAH DIOPTIMASI
ANTARA ALGORITMA AS
RANK
DAN ALGORITMA PSO ................................................................. 36
TABEL 5-1 PARAMETER TERBAIK UNTUK KASUS UJ I LOGON ......................................................... 37


xi
Daftar Istilah

Aktivitas Kegiatan yang mendukung diselesaikannya suatu
proyek.
Algoritma particle
swarm optimization
Teknik optimasi berbasis stochastic yang diinspirasi oleh
tingkah laku sosial sekawanan burung atau sekumpulan
ikan yang pertama kali dikenalkan oleh Dr. Eberhart dan
Dr. Kennedy ditahun 1995
Constraint Batasan-batasan yang tidak boleh dilanggar oleh semua
solusi yang ditemukan.
Critical Path J alur kritis, predikat yang melekat pada aktivitas yang
memiliki slack =0.
Critis Time Waktu minimal untuk dapat menyelesaikan suatu
proyek.
C1 Faktor learning untuk particle.
C2 Faktor learning untuk swarm.
Durasi Lamanya suatu kegiatan dilaksanakan.
EFT Earliest Finish Time. Waktu paling awal diselesaikannya
suatu aktivitas.
EST Earliest Start Time. Waktu paling awal dimulainya suatu
aktivitas.
Fluktuasi Naik turunnya kebutuhan sumber daya.
Inertia Weight Parameter penurunan kecepatan untuk menghindari
stagnasi particle di lokal optimum.
LFT Latest Finish Time. Waktu paling akhir diselesaikannya
suatu aktivitas.
LST Latest Start Time. Waktu paling akhir dimulainya suatu
aktivitas.
Kecepatan Nilai perubahan jarak dari seluruh aktivitas untuk
mendapatkan posisi baru.
Posisi Waktu mulai (start time) dari seluruh aktivitas.
Predecessor suatu aktivitas yang harus dimulai dan selesai sebelum
aktivitas yang bersangkutan dimulai.
Proyek Suatu kegiatan manufaktur atau jasa yang di dalamnya
terdapat serangkaian aktivitas yang mendukung
terwujudnya suatu produk akhir.
Resource Leveling Proses mengusahakan penjadwalan aktifitas agar
menggunakan sumber daya secara merata sepanjang
proyek.
Slack J umlah waktu yang diperkenankan suatu aktivitas boleh
ditunda, tanpa mempengaruhi jadwal penyelesaian
proyek secara keseluruhan.
Stagnasi Kondisi dimana semua particle telah melalui jalur yang
sama.
Start Time Waktu dimana suatu aktivitas dimulai
Successor suatu aktivitas yang baru dapat dimulai setelah aktivitas
yang bersangkutan diselesaikan.

1
1 Pendahuluan


1.1 Latar belakang
Setiap proyek memiliki tujuan khusus yang akan dicapai. Didalam proses
mencapai tujuan tersebut, ada batasan yang harus dipenuhi yaitu besar biaya
(anggaran) yang dialokasikan, jadwal, serta mutu yang harus dipenuhi [19].
Dikarenakan adanya keterbatasan jadwal yang ada (proyek harus dikerjakan
sesuai dengan kurun waktu dan tanggal akhir yang telah ditentukan) maka
diperlukan suatu perencanaan operasional proyek tersebut [19]. Salah satu
perencanaan operasional proyek tersebut adalah penjadwalan sumber daya
(resource scheduling) yang didalamnya terdapat proses mengidentifikasi jenis dan
jumlah sumber daya sesuai dengan jadwal keperluan yang telah ditetapkan.
Aspek lain yang perlu diperhatikan dalam hubungan antara jadwal dan
sumber daya adalah usaha pemakaian secara efisien. Kebutuhan sumber daya
untuk masing-masing satuan waktu bisa berbeda, sehingga ada kemungkinan
terjadi fluktuasi kebutuhan sumber daya. Fluktuasi ini berpengaruh terhadap
anggaran, karena adanya waktu dimana sumber daya tidak diberdayakan
sedangkan biaya tetap keluar atau adanya penambahan intensitas perekrutan dan
pemberhentian sumber daya yang cukup membutuhkan biaya. Oleh karena itu,
fluktuasi yang tinggi selama perjalanan proyek harus dihindari, dengan kata lain
diperlukan perataan penggunaan sumber daya (resource leveling) sepanjang
waktu proyek agar perencanaan anggaran dapat diminimalkan. Proses perataan
diilustrasikan pada gambar di bawah ini.


Gambar 1-1 Contoh Grafik Sumber Daya Proyek (a) Sebelum dan (b)
Setelah Diratakan
Pada dasarnya resource leveling menunda aktivitas tidak kritis dengan
menggunakan slack positif untuk mengurangi permintaan puncak dan mengisi
permintaan yang rendah. Perataan sumber daya dilakukan dengan cara menggeser
setiap kegiatan yang memiliki slack. Slack dari satu kegiatan dapat digunakan
untuk menghitung banyaknya kemungkinan kegiatan itu bisa digeser. J ika dalam
jadwal suatu proyek ada banyak kegiatan yang memiliki slack maka kombinasi
antar kegiatan akan menghasilkan jadwal yang banyak. Masalah penjadwalan
sumber daya merupakan masalah kombinatorial yang besar, bahkan untuk

2
jaringan proyek ukuran sedang dengan hanya sedikit jenis sumber daya, dapat
membuat ribuan solusi yang mungkin. Beberapa peneliti sudah menunjukkan
solusi matematika optimum untuk alokasi masalah sumber daya, tetapi hanya
untuk jaringan kecil dan sangat sedikit jenis sumber daya. Sebuah pendekatan
alternative untuk masalah tersebut adalah penggunaan metode heuristik untuk
memecahkan masalah kombinatorial besar.
Secara umum, penyelesaian masalah optimasi dapat dilakukan dengan
menggunakan dua metode, yaitu metode konvensional dan metode heuristik.
Metode konvensional diterapkan dengan perhitungan matematis biasa, sedangkan
metode heuristik diterapkan dengan perhitungan kecerdasan buatan. Ada beberapa
algoritma pada metode heuristik yang biasa digunakan dalam permasalahan
optimasi. Sedangkan pada tugas akhir ini digunakan algoritma particle swarm
optimization untuk melakukan optimasi.




Gambar 1-2 Ilustrasi Algoritma Particle Swarm Optimization

Salah satu konsep yang unik dari algoritma particle swarm optimization
adalah menerbangkan solusi yang potensial ke hyperspace, ini berarti
mempercepat ke solusi yang terbaik [11]. Algoritma particle swarm optimization
diinisialisasi dengan sekumpulan particle secara random (setiap particle
merepresentasikan solusi yang mungkin untuk masalah optimasi) dan kemudian
mencari solusi terbaik dengan mengupdate generasi. Setiap particle memiliki
vektor posisi dan kecepatan, keduanya diinisialisasi secara random diawal,
kemudian particle fly ke target tujuannya dengan dipandu oleh nilai swarm
yang terbaik (global best) P
gd
dan nilai mereka sendiri yang terbaik (local best)
P
id
untuk setiap particle, posisi dievaluasi dengan menggunakan fungsi fluktuasi.

1.2 Perumusan masalah
Perumusan masalah dalam tugas akhir ini adalah sebagai berikut :
1. Bagaimana mendapatkan fluktuasi sumber daya yang minimal pada
penjadwalan sumber daya proyek.

3
2. Bagaimana menerapkan algoritma particle swarm optimization pada
masalah optimasi penjadwalan sumber daya proyek.

Batasan masalah dalam tugas akhir ini, yaitu:
1. Sumber daya tidak dapat digunakan oleh dua atau lebih kegiatan dalam
waktu yang bersamaan.
2. Optimasi penjadwalan sumber daya proyek dilakukan dengan Resource
Leveling dan tidak mempercepat waktu kegiatan proyek.
3. Sumber daya yang digunakan berupa orang.

1.3 Tujuan
Tujuan yang akan dicapai adalah:
1. Mengimplementasikan algoritma particle swarm optimization pada kasus
penjadwalan sumber daya proyek untuk mendapatkan fluktuasi
penjadwalan sumber daya proyek yang minimal.
2. Menganalisis parameter-parameter terbaik pada algoritma particle swarm
optimization untuk melakukan optimasi penjadwalan sumber daya proyek,
yaitu , dan W.

1.4 Metodologi penyelesaian masalah
Metodologi yang digunakan dalam penulisan tugas akhir ini adalah:
1. Studi Literatur
Mempelajari teori-teori dasar mengenai konsep perataan sumber daya proyek
(resource leveling) dan algoritma particle swarm optimization dari berbagai
sumber.
2. Analisa dan Perancangan
Menganalisa dan merancang penerapan algoritma particle swarm optimization
ke dalam sistem aplikasi optimasi penjadwalan sumber daya proyek yang akan
dibangun seperti disajikan pada gambar di bawah ini.


4


Gambar 1-3 Flow Chart Sistem Optimasi Penjadwalan Sumber Daya
Proyek dengan Algoritma Particle Swarm Optimization

3. Implementasi
Mengimplementasikan perancangan ke dalam pemrograman komputer.
4. Pengujian Aplikasi
Menguji terhadap hasil implementasi.
5. Analisis Hasil Pengujian
Data yang didapat dari hasil pengujian dianalisa untuk memperoleh
kesimpulan.
6. Kesimpulan
Mengambil kesimpulan dari hasil analisis.

5
2 Dasar Teori


2.1 Optimasi
Optimasi sangat berguna dihampir segala bidang dalam rangka melakukan
usaha secara efektif dan efisien untuk mencapai target hasil yang ingin dicapai.
Tentunya hal ini akan sangat sesuai dengan prinsip ekonomi yang berorientasikan
untuk senantiasa menekan pengeluaran untuk menghasilkan outputan yang
maksimal. Optimasi ini juga penting karena persaingan saat ini sudah benar-benar
ketat.
Seperti yang dikatakan diawal, bahwasanya optimasi sangat berguna
hampir diseluruh bidang yang ada, maka berikut ini adalah contoh-contoh bidang
yang sangat terbantu dengan adanya teknik optimasi tersebut. Bidang tersebut
antara lain : arsitektur, data mining, jaringan komputer, signal dan image
processing, telekomunikasi, ekonomi, transportasi, perdagangan, perikanan,
pertanian, perkebunan, perhutanan dan sebagainya.
Teknik optimasi secara umum dapat dibagi menjadi dua bagian, yang
pertama adalah mathematical programming dan yang kedua adalah combinatorial
optimization.
Optimasi untuk kasus penjadwalan sumber daya proyek dapat diselesaikan
dengan meminimumkan fluktuasi sumber daya proyek selama perjalanan proyek
[21].

2.1.1 Definisi Optimasi
Optimasi merupakan aktivitas untuk mendapatkan hasil yang terbaik atau
optimal (nilai efektif yang dapat dicapai) dari pilihan yang tersedia. Tujuan dari
setiap keputusan adalah untuk meminimumkan usaha yang dilakukan atau
memaksimumkan keuntungan yang diperoleh. Usaha atau keuntungan tersebut
secara praktek dinyatakan sebagai fungsi dengan variabel keputusan yang akan
dicari nilai optimumnya.

2.1.2 Definisi Nilai Optimal
Nilai optimal adalah nilai yang didapat dengan melalui suatu solusi jawaban yang
paling baik dari semua solusi yang ada.
Nilai optimal dapat dicari dengan dua cara, yaitu:
1) Cara konvensional, yaitu mencoba semua kemungkinan yang ada dengan
mencatat nilai yang didapat. Cara ini kurang efektif karena optimasi akan
berjalan secara lambat.
2) Cara kedua adalah dengan menggunakan suatu rumus atau gambar
sehingga nilai optimal dapat diperkirakan dengan cepat dan tepat.

2.2 Manajemen Proyek
Proyek merupakan kegiatan yang memiliki sasaran yang jelas,
mengkonsumsi sumber daya, memiliki batas waktu (ada waktu mulai dan waktu
selesai) dan menghasilkan perubahan [3]. Sifat dan karakteristik proyek yang
perlu diperhatikan dalam kaitannya dengan manajemen penyelenggaraan proyek
antara lain yaitu bahwa proyek adalah :
1) Bersifat Kompleks

6
Pada umumnya proyek tersusun dari banyak kegiatan yang memiliki korelasi
yang ketat dan masing-masing memerlukan sumber daya manusia dengan
keahlian khusus. Perubahan atau keterlambatan suatu kegiatan akan
berpengaruh terhadap kegiatan lain.
2) Bersifat Dinamis
Ciri khas proyek
a) Kegiatan proyek tidak berulang.
b) Pergantian dari satu kegiatan ke kegiatan yang lain berlangsung cepat.
Keadaan yang dinamis dengan tingkat intensitas yang berbeda menuntut
ketepatan perencanaan penyediaan sumber daya, dan sensitifitas sistem
monitoring.
Oleh karena proyek memiliki sifat yang spesifik seperti yang telah dijelaskan
di atas, maka untuk menjamin keberhasilan penyelenggaraannya, dituntut
penerapan manajemen yang khusus. Manajemen khusus tersebut sekarang telah
menampilkan wujudnya tersendiri sebagai Manajemen Proyek.
Manajemen proyek merupakan seni dan ilmu dalam mengkoordinasikan
manusia, peralatan, material, uang dan jadwal untuk menyelesaikan suatu proyek
tertentu tepat waktu dan dalam batas biaya yang disetujui (Garold D. Oberlender).
Sehingga manajemen penyelenggaraan proyek dinilai berhasil jika sasaran proyek
dapat dicapai:
1) Dengan mutu yang memenuhi persyaratan yang ditetapkan
2) Dalam batas biaya yang dianggarkan
3) Dalam kurun waktu yang ditentukan
4) Dengan penggunaan sumber daya yang efektif dan efisien.

2.2.1 Penjadwalan Sumber Daya Proyek
Penjadwalan sumber daya proyek merupakan tahap yang sangat penting
untuk menyelesaikan suatu proyek dengan sukses. Sumber daya adalah orang,
peralatan dan material yang dapat diperoleh untuk memenuhi atau menyelesaikan
sesuatu [4]. Didalam proyek, ketersediaan atau tidak tersedianya sumber daya
akan sering mempengaruhi cara proyek dikelola.

Tahap penjadwalan sumber daya proyek adalah sebagai berikut [5] :
1) Resource Definition
2) Resource Allocation
3) Resource Aggregation
4) Resource Leveling

2.2.2 Slack
Slack merupakan waktu yang dapat digunakan untuk menggeser-geser
kegiatan tanpa mempengaruhi waktu penyelesaian keseluruhan. Slack (S) dapat
dimodelkan sebagai berikut :

S = LFT EST d (2.1)

LFT (Latest Finish Time) merupakan waktu paling akhir dimulainya suatu
kegiatan, EST (Earliest Start Time) merupakan waktu paling awal
dilaksanakannya suatu kegiatan, d merupakan durasi durasi dari kegiatan tersebut.

7
2.2.3 Resource Leveling
Proses mengusahakan penjadwalan aktivitas agar menggunakan sumber
daya secara merata sepanjang proyek disebut resource leveling (perataan sumber
daya). Untuk mendapatkan grafik penjadwalan sumber daya yang baik, kita dapat
mengatur atau menyesuaikan kembali jadwal kegiatan. Kegiatan yang berada pada
jalur kritis jangan diganggu karena akan menyebabkan bertambahnya waktu akhir
proyek. Penyesuaian hanya dilakukan pada kegiatan tidak kritis, itu pun dengan
hanya memundurkan atau memajukan sesuai dengan slack. Slack itulah yang
menentukan derajat fleksibilitas yang dapat dimanfaatkan perencana dalam usaha
meratakan penggunaan sumber daya.

Grafik Penjadwalan sumber daya yang baik dapat direpresentasikan dalam 4
macam grafik [12], yaitu:
1) Meningkat dari awal proyek.
2) Rata dari awal sampai akhir proyek.
3) Menurun dari awal proyek.
4) Semula meningkat pada awal proyek, kemudian turun sampai akhir
proyek.


Gambar 2-1 Grafik-Grafik Ideal Sumber Daya


2.3 Algoritma Particle Swarm Optimization
Algoritma particle swarm optimization pertama kali dikenalkan oleh Dr.
Eberhart dan Dr. Kennedy ditahun 1995 dalam sebuah konferensi jaringan syaraf
di Perth, Australia [9]. Algoritma particle swarm optimization merupakan teknik
optimasi berbasis stochastic yang diinspirasi oleh tingkah laku sosial sekawanan
burung atau sekumpulan ikan [8].
Algoritma particle swarm optimization mensimulasikan tingkah laku
sosial sekawanan burung, berikut ini analoginya :
Sekolompok burung secara random mencari makanan disuatu area. Diarea
tersebut hanya ada sepotong makanan yang akan dicari. Seluruh burung tidak
mengetahui dimana makanan tersebut. Tetapi mereka mengetahui jarak makanan
tersebut disetiap iterasi. J adi strategi apa yang terbaik untuk menemukan makanan

8
tersebut ? salah satu yang efektif yaitu mengikuti burung yang lebih dekat dengan
makanan.
Algoritma particle swarm optimization adalah metode pencarian yang
didasarkan populasi dan merupakan algoritma optimasi global yang dihubungkan
dengan masalah yang mana solusi terbaik dapat direpresentasikan sebagai titik
atau surface diarea n-dimensional [7].

2.3.1 Proses Algoritma Particle Swarm Optimization
Proses algoritma particle swarm optimization yaitu sebagai berikut :
1) Inisialisasi sekumpulan particle secara random (setiap particle
merepresentasikan solusi yang mungkin untuk masalah optimasi).
2) Inisialisasi posisi dari setiap particle (X
i
) dan kecepatan dari setiap
particle (V
i
).
3) Hitung nilai fluktuasi dari setiap particle F
i
berdasarkan formula dan
model yang telah ditentukan sesuai dengan masalah optimasinya.
4) Untuk setiap particle, bandingkan nilai fluktuasi F
i
dengan nilai
terbaiknya yang telah dicapai P
id
(local best)
,
jika F
i
<P
id
, maka P
id
diganti dengan F
i.

5) Untuk setiap particle, bandingkan nilai fluktuasi F
i
dengan Nilai terbaik
yang dicapai dalam populasi P
gd
(global best)
,
jika F
i
<P
gd


, maka P
gd
diganti dengan F
i.

6) Berdasarkan persamaaan 4 dan 5 , kecepatan (V
i
) dan posisi dari particle
(X
i
) diubah.
Rumus perubahan kecepatan (V
i
) :

(2.2)

Ilustrasinya sebagai berikut :


Gambar 2-2 Ilustrasi Perubahan Kecepatan


9
Rumus perubahan posisi (X
i
) :

(2.3)

Ilustrasinya sebagai berikut :



Gambar 2-3 Ilustrasi Perubahan Posisi
7) J ika telah mencapai kondisi akhir (mencapai nilai iterasi maksimum atau
perulangan telah mencapai nilai optimum) maka perulangan berhenti dan
nilai optimumnya didapatkan namun jika belum maka diulangi pada
nomor 3.

2.3.2 Parameter Algoritma Particle Swarm Optimization
Adapun dua langkah utama ketika menerapkan algoritma particle swarm
optimization pada masalah optimasi, yaitu :
a) Representasi solusi
b) Fungsi fitnessnya
Tidak terlalu banyak parameter yang dibutuhkan pada algoritma particle swarm
optimization, ini beberapa parameternya :
a) J umlah particle
Rangenya 20 - 40. Sebenarnya dalam sebagian besar masalah 10 particle
cukup besar untuk mendapatkan hasil yang bagus. Untuk masalah yang
sangat sulit atau khusus, bagus untuk mencoba 100 atau 200 particle [8].
b) Dimensi dari particle
Ini ditentukan dari masalah yang akan dioptimasi.
c) Range dari particle
Ini juga ditentukan dari masalah yang akan dioptimasi. Dapat
menspesifikasikan range yang berbeda untuk dimensi yang berbeda dari
particle.


10
d) (faktor learning untuk particle), (faktor learning untuk swarm)
dan biasanya sama yaitu 2. Tetapi biasanya dan berada diantara
range [0, 4] [8].
e) Kondisi berhenti
Mencapai nilai iterasi maksimum, perulangan telah mencapai nilai
optimum atau minimum error yang diinginkan.
f) Inertia weight (w)
Di algoritma particle swarm optimization keseimbangan antara
kemampuan eksplorasi global dan local secara utama di kontrol oleh
inertia weight [17] dan merupakan parameter penurunan kecepatan untuk
menghindari stagnasi particle di lokal optimum.

11
3. Analisa dan Perancangan


3.1 Deskripsi Umum Sistem
Sistem yang akan dibangun pada tugas akhir ini adalah sistem optimasi
penjadwalan sumber daya proyek. Aplikasi ini merupakan alat bantu untuk proses
perataan sumber daya (resource leveling). Tujuan dari aplikasi ini adalah
meminimalkan fluktuasi dengan batas waktu pengerjaan proyek tertentu. J umlah
sumber daya diasumsikan tidak terbatas.

3.2 Representasi Vektor Posisi Particle, Ruang Solusi dan
Kecepatan
Tujuan dari resource leveling yaitu untuk menemukan rencana jaringan,
yang parameternya adalah waktu mulai (start time) yang membuat penggunaan
sumber daya mencapai keadaan yang seimbang, yakni membuat nilai fluktuasi
dari penggunaan sumber daya menjadi kecil. Untuk itu, posisi particle dapat
dilihat sebagai waktu mulai dari seluruh aktivitas, dan ruang solusi adalah
sekumpulan waktu mulai dari seluruh aktivitas.
Particle swarm optimizaton diinisialisasi dengan populasi dari M particle
secara random dan kemudian mencari posisi terbaik (solusi atau optimum) dengan
mengupdate generasi sampai mencapai posisi yang mantap secara relatip atau
mencapai batas iterasi maksimum (T). Di setiap iterasi atau generasi, local best
dan global diputuskan melalui evaluasi nilai fluktuasi pada particle dipopulasi
sekarang. Setiap particle diperlakukan sebagai titik di ruang N-dimensional
dimana N merupakan jumlah aktivitas dari suatu proyek. Dua faktor yang
menyatakan status particle di area pencarian yaitu posisi dan kecepatan.
Posisi pada N-dimensional untuk i particle pada t generasi (disebut iterasi)
dapat ditunjukkan sebagai berikut :

. (3.1)

Sama juga untuk kecepatan (perubahan jarak) pada vektor N-dimensional untuk i
particle pada t generasi dapat ditunjukkan sebagai berikut :

(3.2)

Proses ini
(3.3)
(3.4)

Dapat merepresentasikan pengupdatean dari status particle dipopulasi dari
pertama sampai generasi terakhir selama proses pencarian.
Persamaan (3.3) untuk menghitung kecepatan yang baru dari particle
berdasarkan kecepatan sebelumnya dan jarak posisi sekarang dari posisi atau nilai
terbaiknya sendiri (local best) dan dari posisi atau nilai terbaik seluruhnya (global

12
best) kemudian particle terbang menuju posisi yang baru berdasarkan persamaan
(3.4).
Particle hanya mengeksplorasi Start Time yang feasible, yaitu diantara
Earliest Start Time (EST) dan Latest Start Time (LST) aktivitas tersebut, yang
berarti particle tidak boleh terbang melebihi LST.

Dimana :
J umlah Particle
J umlah Iterasi
N =J umlah aktivitas
merepresentasikan local best (solusi atau posisi)
dari i particle yang dihubungkan dengan nilai fluktuasi terbaik setelah iterasi
t-1.
merepresentasikan global best yang dicapai
sejauh ini dari seluruh populasi.
dan adalah konstanta positif (disebut dengan learning factor).
adalah angka random antara nilai 0 dan 1.
w(t) adalah inertia weight =digunakan untuk mengontrol pengaruh kecepatan
sebelumnya dikecepatan sekarang, mempengaruhi trade-off kemampuan
exploration (menjelajahi) local dan global selama proses pencarian.

3.3 Fungsi Fluktuasi
Kebutuhan sumber daya yang diharapkan pada setiap harinya adalah
konstan sepanjang berjalannya proyek. Sebagai contoh, apabila jenis sumber daya
adalah pekerja, biaya untuk memperkerjakan atau memberhentikan akan cukup
signifikan.
Penulis menggunakan definisi fluktuasi yang digunakan oleh Szendroi
[21]. Yaitu bahwa grafik yang berfluktuasi adalah grafik yang tidak quasi
concave. Perbedaan antara grafik yang quasi concave dan yang tidak ditunjukkan
pada gambar di bawah ini :

t
U
t
1 2 3 4 5 6 7 8 9
1
2
5
4
3

Gambar 3-1 Grafik yang tidak quasi concave


13
t
U
t
1 2 3 4 5 6 7 8 9
1
2
5
4
3
10

Gambar 3-2 Grafik yang quasi concave

Sebuah grafik dikatakan quasi-concave apabila nilai t0 (level puncak),
untuk setiap nilai t <t0, nilai Ut tidak pernah menurun, sedangkan untuk setiap t >
t0, nilai Ut tidak pernah menaik.
Maka fluktuasi pada grafik sumber daya proyek adalah sejumlah sumber
daya yang tidak digunakan setiap waktunya. Hal tersebut seperti ditunjukkan pada
gambar di bawah ini:


Gambar 3-3 Grafik dengan Sejumlah Sumber Daya yang Tidak
Digunakan

Namun, dengan informasi quasi concave saja tidak cukup untuk
mendapatkan grafik yang paling optimal. Sehingga penulis juga menambahkan
informasi level puncak kebutuhan sumber daya. Hal lain yang perlu diperhatikan
adalah jika suatu proyek membutuhkan lebih dari satu jenis sumber daya, maka
fluktuasi merupakan penjumlahannya. Sehingga fungsi fluktuasi adalah akumulasi
dari pemborosan sumber daya dan level puncak kebutuhan sumber daya, yang
dapat dirumuskan sebagai berikut:

(3.5)


14
dimana R adalah himpunan jenis sumber daya, T adalah batas waktu pengerjaan
proyek, x adalah sumber daya yang quasi concave dan y adalah kebutuhan sumber
daya sesuai yang telah dijadwalkan. Maka adalah pemborosan sumber
daya, dan adalah level puncak kebutuhan sumber daya.

3.4 Analisa Kebutuhan Sistem

3.4.1 Spesifikasi Perangkat Keras
Berikut adalah spesifikasi kebutuhan perangkat keras sistem:
a. Processor P-IV 1.83 GHz
b. RAM 256
c. Hard disk 20 GB

3.4.2 Spesifikasi Perangkat Lunak
Berikut adalah spesifikasi kebutuhan perangkat lunak sistem:
a. Sistem Operasi Windows XP
b. NetBeans 5.5
c. J DK 1.6
d. MySQL
e. Rational Rose 2000

3.5 Perancangan
3.5.1 Struktur Tabel Basis Data
Diagram basis data aplikasi ini dapat digambarkan sebagai berikut:


Gambar 3-4 Diagram Basis Data













15
3.5.2 Gambaran Keseluruhan Sistem


Gambar 3-5 Gambaran Keseluruhan Sistem Optimasi Penjadwalan
Sumber Daya Proyek



16
3.5.3 Diagram Use case
User
Load Project
PSO Optimization
Set PSO's Parameters
<<include >>
<<include >>

Gambar 3-6 Diagram Use Case

Use Case ini digunakan oleh user untuk memasukkan data inputan ke
dalam sistem dan melihat hasil optimasi yang dilakukan oleh sistem. Semua user
bisa masuk ke dalam sistem tanpa adanya hak akses yang khusus.

Use Case : PSO Optimization
Deskripsi : User memulai proses PSO dimana jalannya proses ini
ditentukan oleh parameter masukan yang diinputkan user.
Respon sistem disini melakukan inisialisasi posisi dan
kecepatan particle, menghitung fluktuasi dari solusi dan
mengupdate posisi dan kecepatan particle sampai kondisi
berhenti ditemukan. Kemudian menampilkan grafik sumber
daya proyek setelah dioptimasi.

Use Case : Load Project
Deskripsi : Sistem melakukan perhitungan Earlies Start Time, Latest Start
Time, Earliest Finish Time, Latest Finish Time, Slack dan Critis
Time proyek yang bersangkutan. Kemudian menampilkan grafik
sumber daya proyek sebelum dioptimasi.

Use Case : Set PSOs Parameters
Deskripsi : User memasukkan parameter-parameter PSO yang dibutuhkan
untuk melakukan optimasi dengan PSO.













17
3.5.4 Diagram Sekuensial : PSO Optimization
: (User)
: (FormUtama) : Project : Partikel : PartikelManager
BtnOptimize( )
Project( )
setPredesesorActivity( )
setEarliest( )
setCritisTime( )
setLastest( )
setSlack( )
getGlobalBestPart( )
getGlobalBestFitness( )
getTotalWaktu( )
isiListActivity( )
getListActivity( )
Partikel( )
PartikelManager( )
setListPartikel( )
evaluasiFitness( )
Chart( )
setProj( )
HitungFitnessAwal( )

Gambar 3-7 Diagram Sekuensial: PSO Optimization

Setelah user memasukkan parameter PSO dan sistem menghitung Critis
Time, user dapat menggunakan sistem untuk menghasilkan penjadwalan sumber
daya proyek yang baik. Operasi-operasi yang ada dalam use case ini adalah:

BtnOptimize : berfungsi untuk menangani event disaat user menekan tombol
Optimize.
Project : berfungsi sebagai constructor.
isiListActivity : berfungsi untuk mengisi data ke constructor Activity.
setPredesesorActivity : berfungsi untuk mengolah data yang ada dari basis
data menjadi data predesesor dan successor pada kelas Activity.
setEarliest : berfungsi untuk memperoleh nilai Earliest Start Time dan
Earliest Finish Time setiap aktivitas.

18
setCritisTime : berfungsi untuk memperoleh nilai Earliest Finish Time yang
paling maksimum yang sebenarnya merupakan nilai Critis Time proyek
tersebut.
setLastest : berfungsi untuk memperoleh nilai Latest Start Time dan Latest
Finish Time setiap aktivitas.
setSlack : berfungsi untuk memperoleh nilai slack setiap aktivitas.
getListActivity : berfungsi untuk memperoleh himpunan aktivitas.
Partikel : berfungsi sebagai constructor.
PartikelManager : berfungsi sebagai constructor untuk menentukan nilai
parameter-parameter yang dibutuhkan PartikelManager untuk melakukan
optimasi.
setListPartikel : berfungsi untuk mengeset himpunan particle yang akan
melakukan optimasi.
evaluasiFitness : berfungsi untuk mendapatkan posisi terbaik dengan
melakukan pengupdatean posisi dan kecepatan dari setiap particle disetiap
iterasi.
getGlobalBestFitness : berfungsi untuk mendapatkan nilai fluktuasi yang
terbaik.
getGlobalBestPart : berfungsi untuk mendapatkan posisi terbaik (start time
terbaik).
getTotalWaktu : berfungsi untuk mendapatkan waktu proses sistem yang
diperlukan oleh algoritma PSO untuk menemukan solusi.
Chart : berfungsi untuk menampilkan grafik sumber daya proyek setelah
dioptimasi.
setProj : berfungsi untuk memperoleh himpunan aktivitas.
HitungFitnessAwal : berfungsi untuk mendapatkan nilai fluktuasi sumber
daya proyek sebelum dioptimasi.

3.5.5 Diagram Sekuensial : Set PSOs Parameters
: User
: FormUtama : PartikelManager
BtnOptimize( )
PartikelManager( )

Gambar 3-8 Diagram Sekuensial: Set PSOs Parameters



19
User dapat memasukkan parameter-parameter ACO melalui antarmuka yang
disediakan. Operasi yang ada dalam use case ini adalah:

BtnOptimize() : berfungsi untuk menangani event disaat user menekan
tombol Optimize.
PartikelManager(): berfungsi untuk menentukan nilai parameter-
parameter yang dibutuhkan PartikelManager untuk melakukan optimasi.

3.5.6 Diagram Sekuensial : Load Project
: (User)
: (FormUtama) : Project : Activity : Partikel
BtnOpen( )
Project( )
isiListActivity( )
setPredesesorActivity( )
addActPredesesor( )
addActSuksesor( )
setEarliest( )
setCritisTime( )
setLastest( )
setSlack( )
Partikel( )
setProj( )
ChartSebelumOptimasi( )
getListActivity( )

Gambar 3-9 Diagram Sekuensial: Load Data

Sistem melakukan perhitungan untuk mendapatkan Critis Time, kemudian
menampilkan grafik sumber daya sebelum dioptimasi. Operasi-operasi yang ada
dalam use case ini adalah:

BtnOpen(): berfungsi untuk menangani suatu event disaat user menekan
tombol Open.
Project : berfungsi sebagai constructor.
SetPredesesorActivity(): berfungsi untuk mengolah data yang ada dari
basis data menjadi data predesesor dan successor pada kelas Activity.
isiListActivity : berfungsi untuk mengisi data ke constructor Activity.

20
addActPredesesor(): berfungsi untuk menambah predecessor aktivitas.
addActSuksesor(): berfungsi untuk menambah successor aktivitas.
setEarliest(): berfungsi untuk memperoleh nilai Earliest Start Time dan
Earliest Finish Time setiap aktivitas.
setCritisTime(): berfungsi untuk memperoleh nilai Earliest Finish Time
yang paling maksimum yang sebenarnya merupakan nilai Critis Time
proyek tersebut.
setLastest(): berfungsi untuk memperoleh nilai Latest Start Time dan
Latest Finish Time setiap aktivitas.
setSlack : berfungsi untuk memperoleh nilai slack setiap aktivitas.
getListActivity : berfungsi untuk memperoleh himpunan aktivitas.
Partikel : berfungsi sebagai constructor.
setProj : berfungsi untuk memperoleh himpunan aktivitas.
ChartSebelumOptimasi : berfungsi untuk menampilkan grafik sumber
daya proyek sebelum dioptimasi.

3.5.7 Diagram Kelas
Diagram kelas untuk sistem yang melakukan optimasi penjadwalan sumber daya
proyek dengan algoritma particle swarm optimization ini adalah :

21
Project
IDProject : Integer
name : String
time : String
critisTime : Integer
listActivity: Activity
Project()
isiListActivity()
setPredesesorActivity()
setEarliest()
setCritisTime()
setLastest()
setSlack()
getListActivity()
Resource
name : String
idResource : String
units : Integer
label : String
type : String
Resource()
PartikelManager
numPartikel : Integer
numTrial : Integer
weight : Double
c1 : Double
c2 : Double
listPart : Partikel
wmin : Double
totalwaktu : Long
globalBestFitness : Double
globalBestPart : Partikel
PartikelManager()
evaluasiFitness()
setListPartikel()
getGlobalBestFitness()
getGlobalBestPart()
getTotalWaktu()
Activity
idActivity: Integer
name : String
description : String
duration : Integer
EST : Integer
LST : Integer
EFT : ineteger
LFT : Integer
slack : Integer
predecessor : String
actPredesesor : Activity
actSuksesor : Activity
resource : Resource
posisi : Double
kecepatan : Double
idProject : Integer
addActPredesesor()
addActSuksesor()
Activity()
1..* 1 1..* 1 0..* 1 0..* 1
Partikel
proj : Project
listActivity: Activity
lbest : Double
fitness : Double
critisTime : Integer
HitungFitness()
inisialisasiXV()
Partikel()
setProj()
Chart()
ChartSebelumOptimasi()
HitungFitnessAwal()
1..* 1 1..* 1
1..*
1
1..*
1

Gambar 3-10 Diagram Kelas

Kelas Project
Kelas ini merupakan proyek yang akan dioptimasi oleh PSO.
Kelas Project memiliki atribut :
- IDProject : ID suatu proyek.
- name : nama suatu proyek.
- time : representasi waktu suatu aktivitas.
- critisTime : waktu minimal untuk dapat menyelesaikan suatu
proyek.
- listActivity : himpunan aktivitas.


22
Kelas Project memiliki operasi :
- Project : berfungsi sebagai constructor.
- isiListActivity : berfungsi untuk mengisi data ke constructor
Activity.
- setPredesesorActivity : berfungsi untuk mengolah data yang ada
dari basis data menjadi data predesesor dan successor pada kelas
Activity.
- setEarliest : berfungsi untuk memperoleh nilai Earliest Start Time
dan Earliest Finish Time setiap aktivitas.
- setCritisTime : berfungsi untuk memperoleh nilai Earliest Finish
Time yang paling maksimum yang sebenarnya merupakan nilai
Critis Time proyek tersebut.
- setLastest : berfungsi untuk memperoleh nilai Latest Start Time
dan Latest Finish Time setiap aktivitas.
- setSlack : berfungsi untuk memperoleh nilai slack setiap aktivitas.
- getListActivity : berfungsi untuk memperoleh himpunan aktivitas.

Kelas Activity
Kelas ini merupakan aktivitas dari proyek yang bersangkutan.
Kelas Activity memiliki atribut :
- idProject : ID suatu proyek.
- idActivity : ID suatu aktivitas.
- name : nama suatu aktivitas.
- description: deskripsi kegiatan suatu aktivitas.
- duration: waktu yang dibutuhkan untuk menyelesaikan suatu
aktivitas.
- EST : waktu paling awal dimulainya suatu aktivitas.
- EFT : waktu paling awal diselesaikannya suatu aktivitas.
- LST : waktu paling akhir dimulainya suatu aktivitas.
- LFT : waktu paling akhir diselesaikannya suatu aktivitas.
- slack : jumlah waktu yang diperkenankan suatu aktivitas boleh
ditunda, tanpa mempengaruhi jadwal penyelesaian proyek secara
keseluruhan.
- resource : sumber daya yang dibutuhkan aktivitas.
- posisi : waktu mulai (start time) dari seluruh aktivitas.
- kecepatan : nilai perubahan jarak dari seluruh aktivitas untuk
mendapatkan posisi baru.
- actPredesesor, predecessor : suatu aktivitas yang harus dimulai dan
selesai sebelum aktivitas yang bersangkutan dimulai.
- actSuksesor : suatu aktivitas yang baru dapat dimulai setelah
aktivitas yang bersangkutan diselesaikan.
Kelas Activity memiliki operasi :
- addActPredesesor : berfungsi untuk menambah predecessor
aktivitas.
- addActSuksesor : berfungsi untuk menambah successor aktivitas.
- Activity : berfungsi sebagai constructor.



23
Kelas Resource
Kelas ini merupakan sumber daya yang digunakan oleh setiap aktivitas.
Kelas Resource memiliki atribut :
- idResource : ID sumber daya.
- name : nama sumber daya.
- label : label sumber daya.
- type : tipe sumber daya.
- units : jumlah sumber daya yang dibutuhkan.
Kelas Resource memiliki operasi :
- Resource : berfungsi sebagai constructor.

Kelas PartikelManager
Kelas ini merupakan pengatur particle dalam melakukan pencarian solusi.
Kelas PartikelManager memiliki atribut :
- numPartikel : jumlah particle.
- numTrial : jumlah iterasi maksimum.
- weight : parameter penurunan kecepatan untuk menghindari
stagnasi particle di lokal optimum.
- C1 : faktor learning untuk particle.
- C2 : faktor learning untuk swarm.
- listPart : himpunan particle yang akan melakukan optimasi.
- wmin : nilai minimum inertia weight.
- totalwaktu : waktu proses sistem.
- globalBestPart : posisi terbaik (start time terbaik).
- globalBestFitness : nilai fluktuasi yang terbaik.
Kelas PartikelManager memiliki operasi :
- PartikelManager : berfungsi sebagai constructor untuk
menentukan nilai parameter-parameter yang dibutuhkan
PartikelManager untuk melakukan optimasi.
- evaluasiFitness : berfungsi untuk mendapatkan posisi terbaik
dengan melakukan pengupdatean posisi dan kecepatan dari setiap
particle disetiap iterasi.
- setListPartikel : berfungsi untuk mengeset himpunan particle yang
akan melakukan optimasi.
- getGlobalBestFitness : berfungsi untuk mendapatkan nilai
fluktuasi yang terbaik.
- getGlobalBestPart : berfungsi untuk mendapatkan posisi terbaik
(start time terbaik).
- getTotalWaktu : berfungsi untuk mendapatkan waktu proses
sistem yang diperlukan oleh algoritma PSO untuk menemukan
solusi.

Kelas Partikel
Kelas ini merupakan particle yang mengkonstruksi solusi atau dalam hal
ini penjadwalan sumber daya proyek.
Kelas Partikel memiliki atribut :
- proj : himpunan proyek.
- listActivity : himpunan aktivitas.

24
- lbest : nilai fluktuasi terbaik yang dimiliki oleh setiap particle
pada setiap iterasi.
- fitness : nilai fluktuasi dari solusi yang dimiliki oleh setiap
particle, merepresentasikan baik atau buruknya suatu solusi.
- critisTime : waktu minimal untuk dapat menyelesaikan suatu
proyek.
Kelas Partikel memiliki operasi :
- Partikel : berfungsi sebagai constructor.
- inisialisasiXV : berfungsi untuk inisialisasi nilai posisi dan
kecepatan setiap particle diawal.
- HitungFitness : berfungsi untuk menghitung tingkat fluktuasi dari
solusi yang dihasilkan oleh particle.
- setProj : berfungsi untuk memperoleh himpunan aktivitas.
- Chart : berfungsi untuk menampilkan grafik sumber daya proyek
setelah dioptimasi.
- ChartSebelumOptimasi : berfungsi untuk menampilkan grafik
sumber daya proyek sebelum dioptimasi.
- HitungFitnessAwal : berfungsi untuk mendapatkan nilai fluktuasi
sumber daya proyek sebelum dioptimasi.





























25
4. Analisis Hasil Percobaan


4.1 Pengujian Sistem
Pada bab ini dilakukan pengukuran kinerja dari sistem optimasi
penjadwalan sumber daya proyek yang telah diimplementasikan. Tetapi
sebelumnya didefinisikan tujuan pengujian, skenario pengujian, parameter yang
dibutuhkan dalam pengujian ini, dan kasus uji yang digunakan. Setelah
menjalankan pengujian, hasil pengujian dianalisis untuk menentukan parameter-
parameter yang berpengaruh terhadap algoritma particle swarm optimization
sebagai proses optimasi penjadwalan penjadwalan sumber daya proyek.

4.1.1 Tujuan Pengujian
Berikut adalah tujuan dari pengujian yang dilakukan :
1. Menganalisis parameter algoritma particle swarm optimization yaitu C1
(faktor learning untuk particle), C2 (faktor learning untuk swarm) dan
inertia weight (parameter penurunan kecepatan untuk menghindari
stagnasi particle di lokal optimum)
2. Menganalisis hasil optimasi penjadwalan sumber daya proyek untuk setiap
kasus uji.
3. Menganalisis perbandingan hasil optimasi antara Algoritma Rank Based
Ant System (AS
rank
) dengan algoritma particle swarm optimization untuk
setiap kasus uji.

4.1.2 Skenario Pengujian
Berikut adalah skenario dari pengujian yang dilakukan :
1. Skenario pengujian parameter algoritma particle swarm optimization
Parameter-Parameter yang digunakan yaitu :
m : jumlah particle dan nc : jumlah iterasi maksimum
Nilai m dan nc yang diuji-cobakan adalah { 60, 1000 } dan { 100, 600 }
C1 : faktor learning untuk particle
Nilai C1 yang diuji-cobakan adalah C1 = { 0.5, 1, 1.5, 2, 4 }
C2 : faktor learning untuk swarm
Nilai C2 yang diuji-cobakan adalah C2 = { 0.5, 1, 1.5, 2, 4 }
W (inertia weight) : parameter penurunan kecepatan untuk menghindari
stagnasi particle di lokal optimum
Nilai W yang diuji-cobakan adalah W = { 1.2, 1.1, 1, 0.9, 0.8 }
Pengujian dilakukan dengan melihat kombinasi antara :
J umlah particle dan jumlah iterasi maksimum { 60, 1000 } dengan nilai
C1, C2 dan W sehingga didapat 125 kombinasi
J umlah particle dan jumlah iterasi maksimum { 100, 600 } dengan nilai
C1, C2 dan W sehingga didapat 125 kombinasi
Nilai kombinasi dapat dilihat dilampiran A.
2. Skenario pengujian optimasi penjadwalan sumber daya proyek untuk setiap
kasus uji
Berdasarkan skenario pengujian pertama, maka didapat parameter terbaik
untuk nilai m, nc, C1, C2 dan W dimana nilai tersebut digunakan untuk
melakukan optimasi penjadwalan sumber daya proyek untuk setiap kasus uji.

26
Kemudian dilihat nilai fluktuasinya baik sebelum optimasi maupun sesudah
optimasi.
3. Skenario pengujian perbandingan hasil optimasi antara Algoritma Rank Based
Ant System (AS
rank
) dengan algoritma particle swarm optimization
Membandingkan nilai fluktuasi sesudah optimasi antara Algoritma Rank
Based Ant System (AS
rank
) dengan algoritma particle swarm optimization
untuk setiap kasus uji.

4.1.3 Parameter Pengujian
Pengamatan dan pencatatan perubahan ditujukan pada:
1. Tingkat Fluktuasi
Merupakan nilai fluktuasi yang terjadi pada jadwal sumber daya yang
dihasilkan. Semakin tinggi nilainya, maka semakin buruk solusi yang
dihasilkan. Pada tabel-tabel percobaan berikut, rata-rata tingkat fluktuasi
disebut dengan Fluct.

4.1.4 Kasus Uji yang Digunakan
Kasus-kasus uji yang digunakan untuk melakukan percobaan adalah sebagai
berikut:
1. Proyek Qureshi [16]
Kasus ini memiliki 11 aktivitas dan 2 jenis sumber daya. Dari 11 aktivitas,
3 aktivitas merupakan aktivitas yang berada pada jalur kritis, berarti ada
8 aktivitas yang memiliki slack. Batas waktu pengerjaan proyek ini adalah
15 minggu.

2. Proyek LOGON [14]
Kasus ini memiliki 19 aktivitas dan 1 jenis sumber daya. Dari 19 aktivitas,
8 aktivitas merupakan aktivitas yang berada pada jalur kritis, berarti ada
11 aktivitas yang memiliki slack. Batas waktu pengerjaan proyek ini
adalah 47 minggu.

3. Proyek Building [20]
Kasus ini memiliki 36 aktivitas dan 5 jenis sumber daya. Dari 36 aktivitas,
12 aktivitas merupakan aktivitas yang berada pada jalur kritis, berarti ada
24 aktivitas yang memiliki slack. Batas waktu pengerjaan proyek ini
adalah 205 hari.

4.2 Pelaksanaan Uji Coba terhadap Parameter Algoritma PSO
Untuk melihat kelakuan sistem akibat perubahan setiap parameter, maka uji
coba dilakukan dengan mengubah-ubah parameter sistem. Setiap uji coba
dilakukan dengan 30 kali pengulangan dan mengambil nilai rata-rata dari seluruh
percobaan tersebut.

Hasil pengujian terhadap parameter algoritma PSO dapat dilihat dari grafik
dibawah ini :


27


Gambar 4-1 Grafik Pengujian Parameter

Tabel 4-1 Nilai Fluct untuk m=60 dan nc=1000

Kombinasi Fluct Kombinasi Fluct Kombinasi Fluct Kombinasi Fluct
1 36.07 33 30.33 65 31.27 96 34.77
2 32.93 34 32.83 66 32.93 97 36.33
3 31.03 35 30.63 67 33.33 98 36.53
4 30.40 36 33.70 68 32.27 99 36.00
5 33.03 37 32.63 69 32.00 100 37.70
6 37.23 38 34.90 70 33.17 101 27.53
7 34.33 39 35.03 71 35.23 102 27.40
8 35.90 40 33.77 72 37.83 103 27.93
9 36.33 41 35.37 73 37.73 104 27.50
10 36.67 42 35.10 74 39.33 105 28.10
11 34.23 43 35.23 75 39.83 106 28.10
12 38.57 44 36.20 76 28.20 107 28.43
13 38.17 45 38.57 77 27.27 108 28.23
14 39.00 46 37.90 78 27.83 109 28.33
15 39.00 47 38.20 79 28.20 110 28.40
16 39.77 48 41.53 80 27.73 111 29.13
17 40.27 49 41.57 81 29.33 112 28.83
18 41.90 50 45.53 82 28.47 113 28.80
19 39.43 51 29.13 83 29.43 114 28.73
20 43.43 52 28.27 84 28.83 115 29.63
21 41.43 53 27.93 85 28.73 116 30.30
22 42.80 54 28.43 86 30.47 117 29.30
23 47.03 55 28.37 87 30.00 118 29.87
24 44.73 56 30.03 88 29.37 119 29.57
25 45.93 57 29.83 89 30.30 120 29.53
26 31.40 58 29.33 90 30.47 121 33.53
27 29.40 59 29.53 91 31.97 122 31.97
28 28.63 60 29.33 92 32.47 123 32.27

28
29 28.83 61 31.17 93 31.10 124 33.67
30 29.67 62 32.03 94 31.47 125 34.77
31 32.60 63 31.40 95 31.77
32 31.50 64 31.77

Tabel 4-2 Nilai Fluct untuk m=100 dan nc=600

Kombinasi Fluct Kombinasi Fluct Kombinasi Fluct Kombinasi Fluct
1 35.23 33 29.73 65 30.80 96 31.90
2 30.73 34 30.07 66 31.70 97 32.83
3 30.70 35 31.53 67 31.07 98 34.57
4 30.93 36 32.37 68 32.70 99 34.33
5 31.50 37 31.73 69 31.27 100 36.10
6 34.80 38 31.90 70 32.20 101 27.70
7 34.53 39 34.03 71 35.57 102 27.57
8 32.33 40 32.33 72 34.37 103 27.67
9 32.67 41 35.37 73 36.17 104 27.77
10 35.00 42 33.40 74 39.97 105 28.07
11 35.73 43 31.70 75 36.20 106 27.93
12 36.67 44 34.50 76 28.03 107 27.83
13 37.30 45 35.77 77 27.83 108 28.30
14 40.03 46 37.00 78 27.27 109 28.47
15 38.07 47 36.50 79 27.67 110 28.23
16 37.63 48 38.03 80 28.30 111 28.70
17 37.67 49 39.20 81 28.73 112 28.60
18 37.77 50 41.30 82 29.03 113 28.43
19 40.47 51 28.60 83 29.07 114 28.63
20 40.53 52 28.23 84 29.03 115 28.90
21 43.80 53 28.00 85 28.83 116 28.97
22 43.40 54 28.27 86 30.33 117 28.70
23 42.73 55 28.00 87 29.03 118 29.20
24 42.40 56 29.37 88 28.63 119 28.50
25 44.37 57 29.17 89 29.30 120 28.73
26 31.57 58 29.13 90 28.97 121 31.67
27 29.40 59 29.03 91 30.10 122 31.90
28 29.13 60 29.43 92 29.70 123 32.60
29 28.07 61 30.43 93 30.50 124 32.83
30 29.13 62 29.50 94 30.83 125 32.23
31 30.83 63 30.47 95 31.03
32 29.83 64 30.10

Berdasarkan hasil pengujian untuk m=60 dan nc=1000 didapat parameter
C1, C2 dan W yaitu { 2, 0.5, 0.9 } dengan nilai fluct 27.27 sedangkan hasil
pengujian untuk m=100 dan nc=600 didapat parameter C1, C2 dan W yaitu { 2,
0.5, 1 } dengan nilai fluct 27.27.
C1 dan C2 merupakan faktor learning yang menyatakan seberapa besar
particle itu dihubungkan kearah solusi yang potensial dari ruang solusi. C1
(cognitive) dan C2 (swarm) itu mempengaruhi seberapa besar personal best (local
best) particle dan global best tersebut mempengaruhi perpindahan particle
tersebut.

29
Inertia weight digunakan untuk mengontrol pengaruh kecepatan
sebelumnya dikecepatan sekarang dan menjaga keseimbangan antara kemampuan
eksplorasi global dan local selama proses pencarian serta merupakan parameter
penurunan kecepatan untuk menghindari stagnasi particle di lokal optimum. Bila
nilai inertia weight terlalu besar maka sistem akan selalu mengeksplorasi area
baru dan konsekuensinya kemampuan untuk mengeksplorasi nilai local semakin
berkurang sehingga gagal untuk menemukan solusi dan bila nilai inertia weight
terlalu kecil maka bisa terjebak dilocal optimum.
Berdasarkan hasil pengujian nilai inertia weight yang digunakan dalam
percobaan ini dimulai dengan nilai yang besar yaitu { 1, 0.9 } untuk mengeksplor
nilai global kemudian secara dinamis menurun sampai kenilai inertia weight
minimum yaitu 0.4 untuk mengeksplor nilai local selama proses optimasi.
Bila nilai C1 dan C2 besar maka akan mempercepat ke solusi yang potensial
tetapi kekurangannya adalah bisa terjebak dilokal optimum sedangkan bila diset
rendah maka akan berputar-putar diarea solusi potensial dan secara lambat akan
mencapai solusi yang potensial tersebut. Berdasarkan hasil pengujian nilai C1 =2
dan C2 =0.5 yang berarti mempercepat kearah konvergen dan mengurangi local
optimum. Dalam hal ini, lebih baik memilih nilai C1 lebih besar daripada nilai C2
[1].

4.3 Analisis Hasil Optimasi Penjadwalan Sumber Daya Proyek
Pada sub bab ini akan dibahas mengenai hasil optimasi pada setiap kasus studi
untuk membuktikan apakah algoritma particle swarm optimization yang
digunakan benar-benar memberikan solusi yang optimal. Setiap studi kasus diuji
kembali dengan parameter terbaik yang diperoleh dari hasil analisa sub bab
sebelumnya.

4.3.1 Proyek Qureshi


Gambar 4-2 Grafik Sumber Daya Proyek Qureshi Sebelum Dioptimasi
dengan Start Time=EST


30

Tabel 4-3 Parameter terbaik untuk Proyek LOGON

m nc c1 c2 w
60 1000 2 0.5 0.9

Dari parameter yang didapat untuk proyek LOGON diatas maka
diterapkan untuk proyek Qureshi, dari 30 kali percobaan, algoritma PSO selalu
menemukan solusi paling optimal, yaitu penjadwalan sumber daya proyek
Qureshi dengan fluktuasi 19. Grafik sumber daya setelah dioptimasi ditunjukkan
seperti di bawah ini :




Gambar 4-3 Grafik Sumber Daya Proyek Qureshi Setelah Dioptimasi

Tabel 4-4 Perbandingan Grafik Sumber Daya Proyek Qureshi
Start Time=EST Setelah dioptimasi
Level Puncak 14 dan 8 9 dan 6
Pemborosan 16 4
Fluktuasi 38 19










31
4.3.2 Proyek LOGON


Gambar 4-4 Grafik Sumber Daya Proyek LOGON Sebelum Dioptimasi
dengan Start Time=EST

Tabel 4-5 Parameter terbaik untuk Proyek LOGON

m nc c1 c2 w
60 1000 2 0.5 0.9


Dengan parameter di atas, dari 30 kali percobaan, algoritma PSO selalu
menemukan solusi paling optimal, yaitu penjadwalan sumber daya proyek
LOGON dengan fluktuasi 26. Grafik sumber daya setelah dioptimasi ditunjukkan
seperti di bawah ini :





32

Gambar 4-5 Grafik Sumber Daya Proyek LOGON Setelah Dioptimasi

Tabel 4-6 Perbandingan Grafik Sumber Daya Proyek LOGON
Start Time=EST Setelah dioptimasi
Level Puncak 23 17
Pemborosan 81 9
Fluktuasi 104 26


4.3.3 Proyek Building


Gambar 4-6 Grafik Sumber Daya Proyek Building Sebelum Dioptimasi
dengan Start Time=EST


33
Tabel 4-7 Parameter terbaik untuk Proyek LOGON

m nc c1 c2 w
60 1000 2 0.5 0.9

Dari parameter yang didapat untuk proyek LOGON diatas maka
diterapkan untuk proyek Building, dari 30 kali percobaan, algoritma PSO selalu
menemukan solusi paling optimal, yaitu penjadwalan sumber daya proyek
Building dengan fluktuasi 7705. Grafik sumber daya setelah dioptimasi
ditunjukkan seperti di bawah ini :


Gambar 4-7 Grafik Sumber Daya Proyek Building Setelah Dioptimasi

Tabel 4-8 Perbandingan Grafik Sumber Daya Proyek Building
Start Time=EST Setelah dioptimasi
Level Puncak 75, 60, 60, 175, dan 125 75, 60, 60, 160, dan 125
Pemborosan 18425 7225
Fluktuasi 18920 7705


Dengan demikian dapat dilihat dari data-data pengujian di atas bahwa
algoritma ini dapat menghasilkan solusi yang baik, yaitu meminimalkan fluktuasi.
Untuk proyek Qureshi fluktuasi berkurang hingga 50%, untuk proyek LOGON
fluktuasi berkurang hingga 75%, dan untuk proyek Building fluktuasi berkurang
hingga 59.3%. Dengan meminimalkan fluktuasi, grafik sumber daya memiliki
level puncak yang lebih kecil dan pemborosannya bisa dikurangi.



34
4.4 Perbandingan dengan Algoritma Rank Based Ant System
(AS
rank
)

4.4.1 Proyek Qureshi



Gambar 4-8 Grafik Sumber Daya Proyek Qureshi Setelah Dioptimasi
dengan Algoritma Rank Based Ant System (AS
rank
)


Tabel 4-9 Perbandingan Grafik Sumber Daya Proyek Qureshi Setelah
Dioptimasi Antara Algoritma AS
rank
dan Algoritma PSO
Algoritma AS
rank
Algoritma PSO
Level Puncak 9 dan 6 9 dan 6
Pemborosan 10 4
Fluktuasi 25 19











35
4.4.2 Proyek LOGON



Gambar 4-9 Grafik Sumber Daya Proyek LOGON Setelah Dioptimasi
dengan Algoritma Rank Based Ant System (AS
rank
)

Tabel 4-10 Perbandingan Grafik Sumber Daya Proyek LOGON Setelah
Dioptimasi Antara Algoritma AS
rank
dan Algoritma PSO
Algoritma AS
rank
Algoritma PSO
Level Puncak 17 17
Pemborosan 9 9
Fluktuasi 26 26

4.4.3 Proyek Building



Gambar 4-10 Grafik Sumber Daya Proyek Building Setelah Dioptimasi
dengan Algoritma Rank Based Ant System (AS
rank
)

36

Tabel 4-11 Perbandingan Grafik Sumber Daya Proyek Building Setelah
Dioptimasi Antara Algoritma AS
rank
dan Algoritma PSO
Algoritma AS
rank
Algoritma PSO
Level Puncak 130, 160, 60, 75 dan 60 75, 60, 60, 160, dan 125
Pemborosan 7800 7225
Fluktuasi 8285 7705


Berdasarkan ketiga proyek diatas, hanya proyek LOGON yang memiliki
nilai fluktuasi yang sama antara algoritma AS
rank
dan algoritma PSO. Sedangkan,
untuk proyek Qureshi dan Building algoritma PSO memiliki nilai fluktuasi yang
lebih kecil bila dibandingkan dengan algoritma AS
rank
.
J adi, algoritma Particle Swarm Optimization (PSO) menghasilkan solusi
yang paling optimal bila dibandingkan dengan algoritma Rank Based Ant System
(AS
rank
) karena algoritma PSO memiliki memori sendiri untuk menyimpan nilai
local best dan global best dimana hal ini penting dalam pengupdatean posisi
sedangkan di algoritma Rank Based Ant System (AS
rank
) mengurutkan semut
berdasarkan tingkat fluktuasi solusi yang telah mereka temukan sebelumnya. Saat
melakukan update pheromone hanya (w-1) semut terbaik dan semut yang
memiliki best-so-far solusi yang diperbolehkan meninggalkan pheromone. J adi,
hal tersebut bisa membuat node-node yang sebenarnya tidak terbaik menjadi lebih
baik karena telah dikunjungi oleh ant yang terbaik yang berarti terjebak kedalam
local optimum.

4.5 Hasil Re-Optimize
Setelah dilakukan optimasi kembali dengan inputan hasil optimasi yang
terdapat pada sub bab 4.3 untuk semua kasus uji dan dilakukan selama 30 kali
percobaan hasilnya menunjukkan bahwa nilai optimasi yang didapat tetap seperti
pada sub bab 4.3 yaitu : Qureshi (nilai fluktuasi) =19, LOGON (nilai fluktuasi) =
26, Building (nilai fluktuasi) =7705.
Hal ini menunjukkan bahwa setelah dilakukan optimasi kembali nilai
tersebut paling optimal. Dengan demikian, algoritma particle swarm optimization
(PSO) mampu menghasilkan solusi yang optimal dikarenakan algoritma ini dapat
menyeimbangkan antara eksploitasi dan eksplorasi. Eksploitasi yang dimaksud
adalah pencarian solusi selanjutnya dilakukan pada ruang solusi terbaik yang
sebelumnya sudah ditemukan. Sedangkan eksplorasi adalah mencari pada ruang
solusi yang belum tersentuh.










37
5. Kesimpulan dan Saran


5.1 Kesimpulan
Kesimpulan yang dapat diambil dari Tugas Akhir ini adalah :

1. Dari hasil pengujian terhadap setiap proyek yang menjadi kasus uji, seperti
dijabarkan pada sub bab 4.3, dapat disimpulkan bahwa algoritma Particle
Swarm Optimization (PSO) dapat digunakan untuk mendapatkan solusi
yang optimal dari permasalahan optimasi penjadwalan sumber daya
proyek.

2. Dari hasil pengujian terhadap setiap parameter algoritma PSO, seperti
dijabarkan pada sub bab 4.2, diperoleh nilai parameter-parameter yang
menghasilkan hasil yang optimal pada masing-masing kasus uji pada
penerapan algoritma PSO dalam pemecahan masalah penjadwalan sumber
daya proyek, yaitu :

Tabel 5-1 Parameter Terbaik untuk Kasus Uji LOGON
m nc c1 c2 w
LOGON 60 1000 2 0.5 0.9

3. Berdasarkan sub bab 4.4, algoritma Particle Swarm Optimization (PSO)
menghasilkan solusi yang paling optimal bila dibandingkan dengan
algoritma Rank Based Ant System (AS
rank
).

4. Konsep algoritma Particle Swarm Optimization (PSO) yang unik yaitu
menerbangkan solusi yang potensial ke hyperspace berarti mempercepat
kesolusi yang terbaik.

5.2 Saran
Saran yang dapat digunakan untuk perkembangan selanjutnya :

1. Lebih baik jika user dapat menentukan prioritas sumber daya mana yang
lebih penting untuk dilakukan resource leveling.








38
Daftar Pustaka


[1] A. Carlisle dan G. Dozier. 2001. An Off-The-Shelf PSO. In Proceedings of the
Particle Swarm OptimizationWorkshop, pages 16.
[2] Clerc, M. 1999. The swarm and the queen: towards a deterministic and
adaptive particle swarm optimization. Proceedings, 1999 ICEC, Washington,
DC, pp 1951-1957.
[3] Departemen dalam negeri. 2007. Modul 1 Pengertian Dasar Manajemen
Proyek. Lembaga Administrasi Negara.
[4] Gray, Clifford f dan Erik W. 2006. Manajemen Proyek Proses Manajerial.
Yogyakarta : Penerbit Andi.
[5] https://courses.worldcampus.psu.edu/welcome/pmangt/samplecontent/520les
son08/lesson08_01.html diakses tanggal 16 J anuari 2009
[6] http://en.wikipedia.org/wiki/Particle_swarm_optimization.html diakses
tanggal 13 J anuari 2009
[7] http://en.wikipedia.org/wiki/Swarm_intelligence.html diakses tanggal 13
J anuari 2009
[8] http://www.swarmintelligence.org/tutorials.php diakses tanggal 14 J anuari
2009
[9] Hasan, Rania. 2004. Particle Swarm Optimization : Method and Application.
Engineering Systems Division - Massachusetts Institute of Technology.
[10] Hong Zhang, Xiadong Li, Heng Li and Fulai Huang, Particle swarm
optimization for resource-constrained project scheduling, Automation in
Construction, pp. 393-404, 2004.
[11] Kennedy, J . and Eberhart, R. (1995). Particle Swarm Optimization, IEEE
International Conference on Neural Networks (Perth, Australia), IEEE
Service Center, Piscataway, NJ , IV: 1942-1948.
[12] Luthan, Putri Lyanna A. dan Syafriandi. 2005. Aplikasi Microsoft Project
untuk Penjadwalan Kerja Proyek Teknik Sipil. Penerbit Andi. Yogyakarta.
[13] Muslim, Irfan. 113027263. Optimasi Penjadwalan Sumber Daya Proyek
Menggunakan Algoritma Genetik. 2005. Bandung : Sekolah Tinggi
Teknologi Telekomunikasi.
[14] Nicholas, J ohn M. 1990. Managing Business and Engineering Projects :
Concepts and Implementation. New J ersey : Prentice-Hall.
[15] Priyanto, Aruna Anggayasti. 113040076. Penerapan Algoritma Ant Colony
Optimization (ACO) pada Optimasi Penjadwalan Sumber Daya Proyek.
2008. Bandung : Institut Teknologi Telekomunikasi.
[16] Qureshi, Liaqat Ali. 2007. Resource Allocation & Leveling. UET Taxila.
[17] Shi, Y. H., Eberhart, R. C., (1998). A Modified Particle Swarm Optimizer,
IEEE International Conference on Evolutionary Computation, Anchorage,
Alaska, May 4-9, 1998.
[18] Shi, Y. H., Eberhart, R. C., (1998). Parameter Selection in Particle Swarm
Optimization, The 7th Annual Conference on Evolutionary Programming,
San Diego, USA.
[19] Soeharto, Iman. 1990. Manajemen Proyek (Dari Konseptual Sampai
Operasional). J akarta : Penerbit Erlangga.

39
[20] Spinner, M. Pete. 1992. Elements of Project Management: Plan, Schedule
and Control. New J ersey. Prentice Hall.
[21] Szendroi, Etelka. 2006. A Resource Leveling MILP Model For Multi-Mode
Projects Based On Global Measure. University of Pecks Pollack Mihaly
Faculty of Engineering.
[22] Xing-mei, Li, Zhang Li-hui, QI J ian-xun dan Zhang su-fang. 2008. An
extended particle swarm optimization algorithm based on coarse-grained
and fine-grained criteria and its application. China.


40
Lampiran A :
Kombinasi Pengujian

No C1 C2 W No C1 C2 W
1 0.5 0.5 0.8 64 1.5 1.5 1.1
2 0.5 0.5 0.9 65 1.5 1.5 1.2
3 0.5 0.5 1 66 1.5 2 0.8
4 0.5 0.5 1.1 67 1.5 2 0.9
5 0.5 0.5 1.2 68 1.5 2 1
6 0.5 1 0.8 69 1.5 2 1.1
7 0.5 1 0.9 70 1.5 2 1.2
8 0.5 1 1 71 1.5 4 0.8
9 0.5 1 1.1 72 1.5 4 0.9
10 0.5 1 1.2 73 1.5 4 1
11 0.5 1.5 0.8 74 1.5 4 1.1
12 0.5 1.5 0.9 75 1.5 4 1.2
13 0.5 1.5 1 76 2 0.5 0.8
14 0.5 1.5 1.1 77 2 0.5 0.9
15 0.5 1.5 1.2 78 2 0.5 1
16 0.5 2 0.8 79 2 0.5 1.1
17 0.5 2 0.9 80 2 0.5 1.2
18 0.5 2 1 81 2 1 0.8
19 0.5 2 1.1 82 2 1 0.9
20 0.5 2 1.2 83 2 1 1
21 0.5 4 0.8 84 2 1 1.1
22 0.5 4 0.9 85 2 1 1.2
23 0.5 4 1 86 2 1.5 0.8
24 0.5 4 1.1 87 2 1.5 0.9
25 0.5 4 1.2 88 2 1.5 1
26 1 0.5 0.8 89 2 1.5 1.1
27 1 0.5 0.9 90 2 1.5 1.2
28 1 0.5 1 91 2 2 0.8
29 1 0.5 1.1 92 2 2 0.9
30 1 0.5 1.2 93 2 2 1
31 1 1 0.8 94 2 2 1.1
32 1 1 0.9 95 2 2 1.2
33 1 1 1 96 2 4 0.8
34 1 1 1.1 97 2 4 0.9

41
35 1 1 1.2 98 2 4 1
36 1 1.5 0.8 99 2 4 1.1
37 1 1.5 0.9 100 2 4 1.2
38 1 1.5 1 101 4 0.5 0.8
39 1 1.5 1.1 102 4 0.5 0.9
40 1 1.5 1.2 103 4 0.5 1
41 1 2 0.8 104 4 0.5 1.1
42 1 2 0.9 105 4 0.5 1.2
43 1 2 1 106 4 1 0.8
44 1 2 1.1 107 4 1 0.9
45 1 2 1.2 108 4 1 1
46 1 4 0.8 109 4 1 1.1
47 1 4 0.9 110 4 1 1.2
48 1 4 1 111 4 1.5 0.8
49 1 4 1.1 112 4 1.5 0.9
50 1 4 1.2 113 4 1.5 1
51 1.5 0.5 0.8 114 4 1.5 1.1
52 1.5 0.5 0.9 115 4 1.5 1.2
53 1.5 0.5 1 116 4 2 0.8
54 1.5 0.5 1.1 117 4 2 0.9
55 1.5 0.5 1.2 118 4 2 1
56 1.5 1 0.8 119 4 2 1.1
57 1.5 1 0.9 120 4 2 1.2
58 1.5 1 1 121 4 4 0.8
59 1.5 1 1.1 122 4 4 0.9
60 1.5 1 1.2 123 4 4 1
61 1.5 1.5 0.8 124 4 4 1.1
62 1.5 1.5 0.9 125 4 4 1.2
63 1.5 1.5 1








42

Lampiran B :
Data Pengujian






























1
Proyek LOGON


Nama Aktivitas Durasi
Sumber Daya
Predecessor
Labor (people)
H 10 5
I 8 4 H
J 6 8 H
K 4 2 J
L 2 6 J
M 4 3 J
N 4 2 I
O 5 5 I
P 5 6 I,J
Q 5 2 L
R 5 0 M
S 3 0 N
T 3 0 Q
U 1 9 O,S
V 5 14 K,R
W 2 6 U
X 3 6 V
Y 8 14 W,X
Z 6 5 T,Y




2

Proyek Qureshi

Nama Aktivitas Durasi Sumber Daya Predecessor
L (people) M (people)
A 2 3 0
B 2 6 0
C 1 3 0
D 4 0 2 A
E 5 0 2 B
F 8 4 4 B
G 3 5 0 C
H 1 4 0 D
I 4 2 0 E
J 5 2 0 F,G
K 3 0 5 H,I













3

Proyek Building

Nama Deskripsi Durasi
(days)
Sumber Daya Predecessor
Carpenter
(people)
Laborer
(people)
Ironworker
(people)
Electrician
(people)
Equipment
Operator (people)
1 Excavate 15 0 90 0 0 30 -
2 Prepare Reinforcing Steel 10 0 0 40 0 0 -
3 Place Reinforcing Steel 10 0 10 40 0 10 1,2
4 Tie Reinforcing Steel 10 0 20 40 0 10 3
5 Build floor forms 10 30 30 0 0 0 -
6 Erect Forms 15 30 45 0 0 15 1,5
7 Ship Structural Steel 25 0 0 0 0 0 -
8 Start Floor Electrical 15 0 15 0 0 0 1
9 Start Installing Plumbing 15 0 15 0 0 0 1
10 Finish Installing Plumbing 10 0 20 0 0 0 9
11 Build Wall Frames 20 20 80 0 0 20 1,5
12 Finish Floor Electrical 25 0 25 0 75 0 8
13 Check Forms 5 5 0 5 5 0 4,6,12,10
14 Place Floor Concrete 10 20 40 0 0 0 4,6,12,10
15 Remove Forms 10 20 40 0 0 0 14
16 Check Floor 5 5 0 5 5 0 13,14
17 Start Masonry 20 0 80 0 0 0 15,16,7,11
18 Finish Masonry 20 0 40 0 0 0 17
19 Cement Finish 10 0 20 0 0 0 18
20 Start Erecting Structural Steel 10 0 0 40 0 10 15,16,7,11
21 Finish Erecting Structural Steel 10 0 0 40 0 10 20
22 Start Roof & Decking 10 0 40 30 0 10 18

4
23 Finish Roof & Decking 20 0 80 60 0 40 22
24 Start Wall Electrical 20 0 20 0 60 0 15,16,7,11
25 Finish Wall Electrical 15 0 15 0 30 0 24
26 Install Ceiling Electrical 10 0 10 0 20 0 25
27 Strat Framework 20 60 40 0 0 20 15,16,7,11
28 Finish Framework 15 30 60 0 0 15 27
29 Finish Woodwork 30 120 60 0 0 0 21,28
30 Start Paint 10 0 10 0 0 0 29
31 Check Walls 5 5 0 0 5 0 21,28
32 Start Installing Ceiling 20 40 80 0 0 20 29
33 Finish Installing Ceiling 20 40 80 0 0 20 31,19,32
34 Finish Paint 20 0 20 0 0 0 23,33,26,30
35 Final Approval 5 5 0 0 0 0 34
36 Clean Site 20 0 80 0 0 20 23,33,26,30

Anda mungkin juga menyukai