Sidang Tugas Akhir
OPTIMASI PENJADWALAN MULTI-MODE PADA PROYEK PERUMAHAN GRIYA CANDRA RESIDENCE DENGAN METODE PERT YANG DIMODIFIKASI Nisy-yah Aghnia Operadini 5209100112
Pembimbing I : Wiwik Anggraeni, S.Si, M.Kom Pembimbing II: Retno Aulia Vinarti, S.Kom, M.Kom Jurusan Sistem Informasi Fakultas Teknologi dan Informasi Institut Teknologi Sepuluh Nopember
Abstraksi • SipoA Propertindo Abadi merupakan salah satu pengembang yang bergerak di industri
properti yang sedang menjalankan proyek pembangunan pada perumahan Griya Candra Residence yang terletak di kawasan Sidoarjo. Kondisi saat ini perumahan Griya Candra Residence berupa tanah tambak 13.639 m2. Persaingan yang ketat pada bisnis properti membuat SipoA Propertindo Abadi harus menyediakan hunian dengan kualitas bangunan yang terbaik dengan waktu pengerjaan yang singkat sehingga menghasilkan keuntungan yang signifikan bagi pengembang. Dengan demikian pengembang membutuhkan suatu metode penjadwalan yang dapat menghasilkan waktu penyelesaian yang paling minimal dengan penggunaan pekerja yang juga seminimal mungkin. • Tugas akhir ini berusaha memecahkan masalah tersebut dengan menggunakan metode yang dapat menghasilkan jadwal dengan waktu penyelesaian yang paling minimal. Oleh karena itu digunakanlah metode PERT yang dimodifikasi. Metode ini dapat digunakan untuk memecahkan masalah penjadwalan proyek dengan multi-mode. Dalam tugas akhir ini metode PERT yang dimodifikasi akan diterapkan dalam penentuan pasangan aktivitas dan mode agar menghasilkan jadwal dengan waktu penyelesaian paling minimal. • Permasalahan tersebut diselesaikan dengan menggunakan perangkat lunak Matlab yang dapat memilih pasangan aktivitas dan mode yang kemudian akan dimasukkan ke dalam jadwal. Berdasarkan hasil perhitungan tersebut didapatkan waktu penyelesaian proyek paling minimum selama 393 hari. • Kata kunci— Penjadwalan,multi-mode, pert yang dimodifikasi
Pendahuluan
Latar Belakang
Kebutuhan meningkat seiring dengan pertambahan jumlah penduduk
Developer berlomba-lomba untuk menghasilkan hunian yang terbaik, waktu pengerjaan yang singkat sehingga menghasilkan keuntungan.
Latar Belakang SipoA Propertindo Abadi (developer proyek)
Griya Candra Residence
Tanah Tambak 13.639 m2
129 Unit rumah tipe 90 & 8 Unit Ruko
Latar Belakang PERT tidak dapat memilih aktivitas dengan durasi yang paling minimal
?
Metode
PERT yang dimodifikasi PERT tidak memperhatikan tenaga kerja padahal dibutuhkan pekerja sesuai keahlian
Rumusan Tugas Akhir Bagaimana menentukan hubungan antar aktivitas dan urutan eksekusinya.
Bagaimana mengatur jadwal proyek yang mempunyai waktu pengerjaan seminimal mungkin.
Bagaimana merancang resource leveling agar penggunaan pekerja paling minimal tanpa menambah durasi proyek.
Batasan Tugas Akhir Jumlah kavling perumahan yang akan dijadwalkan pada tugas akhir ini berjumlah 129 unit tidak termasuk ruko. Sumber daya yang digunakan adalah pekerja manusia, sedangkan yang dijadikan tolok ukur yaitu waktu.
Asumsi Jadwal pada tugas akhir ini dibuat 1 paket pengerjaan untuk 25 rumah.
Tidak ada hari libur selama pengerjaan proyek berlangsung.
Tujuan Tugas Akhir
hubungan antar aktivitas dan urutan eksekusinya Membuat jadwal untuk proyek perumahan Griya Candra Residence Membuat resource leveling untuk mengetahui penggunaan pekerja.
• Menentukan • •
.
Manfaat Tugas Akhir Perusahaan
Perusahaan dapat mengetahui penjadwalan yang menghasilkan waktu penyelesaian paling minimum pada sebuah proyek industri perumahan.
Mahasiswa
Mengimplementasikan metode baru untuk mengatasi permasalahan multi-mode project scheduling problem dengan menggunakan data riil.
Metodologi
Metodologi Tugas Akhir Identifikasi masalah
Perumusan masalah
-Manajemen proyek -PERT
Penentuan tujuan tugas akhir
Studi Literatur
Studi lapangan
Pengumpulan dan pengelolaan data
Wawancara dengan pengembang - Data aktivitas proyek dan durasinya - Urutan pengerjaan aktivitas proyek - Data resource - Data mode pengerjaan proyek
Metodologi Tugas Akhir Formulasi Model Penjadwalan Multi-Mode Resource Constraint Project Scheduling Problem Pembuatan kode program PERT pada perangkat lunak Matlab
Penerjemahan model ke perangkat lunak Matlab
Running Program Tidak
Tidak
Verifikasi Ya
Validasi Ya
Analisis Hasil Kesimpulan & Saran
Data dan Implementasi
Pengolahan Data • Aktivitas Proyek No 1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Aktivitas Pengurukan Pemadatan Pembentukan lahan Membangun gudang bahan Galian Pasang gorong-gorong Pembuatan jalan untuk paving PDAM Jaringan listrik Penerangan jalan umum Uitzet dan pasang bowplank Galian tanah Pasang batu kali Pasang pipa kotor Pasang pipa kotoran Urugan kembali Urugan dalam rumah Cor sloaf Pasang pipa bersih Cor kolom praktis
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Cor rabatan Cor meja beton Cor carport Pasang bata, dinding, gewel Pasang bak kontrol Pekerjaan plester dan acian Benangan dinding Tali air kusen Pasang kusen pintu dan jendela Cor ring balk Pasang rangka atap Pasang listplank Ban-banan, kompres genteng Pasang genteng penutup atap Pasang wuwungan Pasang wuwung ujung Genteng tepi (akhiran) Pasang rangka plafon + gipsum Pasang plafon List plafond
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Daun pintu Pintu PVC KM/WC + Kunci Daun jendela Kunci pintu Engsel Grendel jendela Hak angin Kaca Cor dak kanopi Pasang keramik dinding Pasang keramik lantai Pasang bak mandi dan kloset Cat genteng Cat dinding luar Cat dinding dalam Pasang keramik KM Cat plafon Cat listplank Cat kusen Cat pintu
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
Cat jendela Pasang floor drain Pasang kran Pasang avour lantai Pasang avour bak Kitchen zink Sekering box + Mcb Titik lampu Stop kontak Saklar tunggal Saklar ganda Arde(ground) Kabel panel turfur (puding) Pekerjaan tandon Pekerjaan septictank beton Pembersihan akhir Pemasangan paving Pekerjaan gerbang Taman Taman gerbang
Pengolahan Data • Urutan Aktivitas Proyek No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Aktivitas Pengurukan Pemadatan Pembentukan lahan Membangun gudang bahan Galian Pasang gorong-gorong Pembuatan jalan untuk paving PDAM Jaringan listrik Penerangan jalan umum Uitzet dan pasang bowplank Galian tanah Pasang batu kali Pasang pipa kotor Pasang pipa kotoran Urugan kembali Urugan dalam rumah Cor sloaf Pasang pipa bersih Cor kolom praktis
Predesesor 1 2
21 22 23 24
3
25
3 3 4, 5, 6
26
7 7 8,9 10 11 12 13 13 14, 15 16 17 18 18
Cor rabatan Cor meja beton Cor carport Pasang bata, dinding, gewel Pasang bak control Pekerjaan plester dan acian
27
Benangan dinding
28
Tali air kusen Pasang kusen pintu dan jendela Cor ring balk Pasang rangka atap Pasang listplank Ban-banan, kompres genteng Pasang genteng penutup atap Pasang wuwungan Pasang wuwung ujung Genteng tepi (akhiran) Pasang rangka plafon + gipsum Pasang plafon List plafond
29
30 31 32 33 34 35 36 37 38 39 40
18 18 18 18 19 20, 21, 22, 23, 24, 25 20, 21, 22, 23, 24, 25 26, 27 28 29 30 30 31 32, 33 34 35 36 37 38 39
Pengolahan Data • Urutan Aktivitas Proyek 41 42 43 44 45 46 47 48 49
Daun pintu Pintu PVC KM/WC + Kunci Daun jendela Kunci pintu Engsel Grendel jendela Hak angina Kaca Cor dak kanopi
50
Pasang keramik dinding
51
Pasang keramik lantai Pasang bak mandi dan kloset Cat genteng Cat dinding luar Cat dinding dalam Pasang keramik KM Cat plafon Cat listplank Cat kusen Cat pintu
52 53 54 55 56 57 58 59 60
37 37 37 37 37 37 37 37 37 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 50 51
61 62 63 64 65 66 67 68 69 70 71 72 73
Cat jendela Pasang floor drain Pasang kran Pasang avour lantai Pasang avour bak Kitchen zink Sekering box + Mcb Titik lampu Stop kontak Saklar tunggal Saklar ganda Arde(ground) Kabel panel turfur (puding)
51 51 51 52 53, 54, 55 57 57 57
74
Pekerjaan tandon
75 76 77 78 79 80
Pekerjaan septictank beton Pembersihan akhir Pemasangan paving Pekerjaan gerbang Taman Taman gerbang
57 56 56 56 56 62, 63, 64, 65 51 51 51 51 51 51 51 58, 59, 60, 61, 66, 67, 68, 69, 70, 71, 72, 73 74 75 76 76 76 78
Pengolahan Data • Pekerja No 1
Resource Tukang besi
No. Aktivitas yang dapat dilakukan 18, 20, 22, 30
Tukang batu
6, 7, 13, 21, 22, 23, 24, 25, 26, 27, 28, 29, 33, 34, 35, 36, 37, 49, 50, 51, 52, 56, 62, 64, 65, 66, 74, 75, 78
Tukang listrik
9, 10, 67, 68, 69, 70, 71, 72, 73
Tukang kayu
4, 11, 18, 20, 22, 29, 31, 32, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48
5
Tukang gali
5, 12
6
Tukang cat
30, 49, 53, 54, 55, 57, 58, 59, 60, 61
7
Tukang paving
77
8
Juru ukur
3
9
Tukang taman
79, 80
10
Operator dozer
2
11
Truk
1
12
Umum
1-80
2 3 4
Pengolahan Data • Mode No
Aktivitas
No.Mode
Mode
PDAM Jaringan listrik
1 2 1 1 1 2 1 2 1 2 1 2 1 1
5 truk 3kali sehari 10 truk 1 kali sehari 2 dozer 1 juru ukur 1 umum 1 tk kayu 2 umum 3 umum 15 umum 5 tk gali 10 umum 10 umum 4 tk batu 6 umum 4 tk batu 6 umum 10 umum 4 tk pipa 5 umum 3 tk listrik 3 umum
Penerangan jalan umum
1
2 tk listrik 4 umum
1
Pengurukan
2 3
Pemadatan Pembentukan lahan
4
Membangun gudang bahan
5
Galian
6
Pasang gorong-gorong
7
Pembuatan jalan untuk paving
8 9 10
Data selengkapnya
Durasi (hari) 27 40 12 8 2 4 6 5 20 15 25 30 22 17 7
Batasan 1 Berfungsi untuk memastikan bahwa setiap aktivitas hanya dijalankan pada 1 mode •
𝑀𝑗 𝑚=1 𝑦𝑗𝑚
= 1 ∀𝑗 ∈ 1, … , 𝐽 ,
: Mode untuk aktivitas j •m : Mode •j : Aktivitas • yjm : Memastikan apakah aktivitas j dijalankan pada mode m. Akan bernilai 1 jika aktivitas j dijalankan pada mode m dan akan bernilai 0 jika tidak dijalankan. • Mj
Formulasi Model
Batasan 2 • Berfungsi untuk mengetahui bahwa aktivitas j pada mode
m membutuhkan resource pada waktu t.
•
𝐿𝐹𝑗 𝑡=𝐸𝑆𝑗 𝑥𝑗𝑚𝑡
= 𝑑𝑗𝑚 x 𝑦𝑗𝑚 ∀𝑗 ∈ 1, … , 𝐽 , ∀𝑚 ∈ 1, … , 𝑀𝑗
• ESj :Earliest start pada aktivitas j • LFj
:Latest finish pada aktivitas j • djm :Durasi aktivitas j pada mode m • yjm :Aktivitas j yang dijalankan pada mode m • xjmt :Aktivitas j pada mode m membutuhkan resource pada waktu t. Bernilai 1 atau 0.
Formulasi Model
Batasan 3 • Berfungsi untuk memastikan bahwa waktu dimulainya
aktivitas j lebih kecil sama dengan finish aktivitas j.
• 𝑥𝑗𝑚𝑡 × t ≤ 𝑓𝑗 ∀𝑗 ∈ 1, … , 𝐽 , ∀𝑚 ∈ 1, … , 𝑀𝑗 ,∀𝑡 ∈
𝐸𝑆𝑗 , … , 𝐿𝐹𝑗 • xjmt
:Aktivitas j pada mode m membutuhkan resource pada waktu t. •t :Periode waktu aktivitas. • fj :Waktu finish aktivitas j.
Formulasi Model
Batasan 4 • Berfungsi untuk memastikan bahwa waktu berjalannya
sebuah aktivitas lebih besar sama dengan start aktivitas j.
• 𝑥𝑗𝑚𝑡 × 𝑡 + 𝑀 1 − 𝑥𝑗𝑚𝑡 ≥ 𝑠𝑗 ∀𝑗 ∈ 1, … , 𝐽 , ∀𝑚 ∈
1, … , 𝑀𝑗 , ∀𝑡 ∈ *𝐸𝑆𝑗 , … , 𝐿𝐹𝑗 + • xjmt
:Aktivitas j pada mode m membutuhkan resource pada waktu t. •t :Periode waktu aktivitas. • sj :Waktu start aktivitas j.
Formulasi Model
Batasan 5 • Berfungsi untuk memastikan bahwa waktu finish aktivitas
predesesor kurang dari sama dengan waktu start aktivitas yang sedang berjalan. • 𝑓𝑖 ≤ 𝑠𝑗 ∀𝑗 ∈ 1, … , 𝐽 , ∀𝑖 ∈ 𝑃𝑗
• 𝑠𝑗
:Waktu finish aktivitas predesesor. :Waktu start aktivitas yang sedang berjalan.
• Pj
:Aktivitas predesesor
• 𝑓𝑖
Formulasi Model
Batasan 6 • Berfungsi untuk membatasi jumlah pekerja pada setiap
aktivitas agar kurang dari atau sama dengan kapasitas jumlah pekerja pada suatu periode
•
𝐽−1 𝑗=2
𝑀𝑗 𝑚=1(𝑘𝑗𝑚𝑡
× 𝑦𝑗𝑚 ) ≤ 𝐾𝑟𝑡 ∀𝑟 ∈ 1, … , 𝑅 , ∀𝑡 ∈ 1, … , 𝑇
• m = Mode.
• Mj = Mode paling akhir aktivitas j.
• yjm = Nilai yang diberikan pada mode m. yjm bernilai 1 jika
mode tersebut dijalankan pada aktivitas j dan bernilai 0 jika mode tersebut tidak dijalankan. • kjmt= Kebutuhan resource r pada aktivitas j jika aktivitas tersebut dijalankan pada mode m. • Krt = Kapasitas resource r yang tersedia pada periode t.
Formulasi Model
Fungsi Tujuan Minimize fJ = [LFJ-ESJ] • fJ : Waktu selesai proyek • LFJ : Latest finish time proyek • ESJ : Earliest start time proyek
Formulasi Model
Inisialisasi Data Aktivitas • Aktivitas merupakan kegiatan yang akan dilakukan selama masa hidup proyek. Aktivitas yang terdapat pada tugas akhir ini adalah sejumlah 80 aktivitas. Durasi • Durasi adalah lama waktu yang dibutuhkan untuk menjalankan sebuah aktivitas dengan mode tertentu. Sebuah aktivitas yang sama akan memiliki durasi yang berbeda jika dikerjakan dengan mode yang berbeda. Predesesor • Predesesor ialah aktivitas-aktivitas pendahulu dari sebuah aktivitas. Predesesor dibutuhkan untuk mengetahui kapan sebuah aktivitas akan dimulai. Dengan adanya predesesor maka diharapkan tidak akan ada aktivitas yang saling tumpang tindih.
Inisialisasi Data 1. %mengambil data dari file excel 2. data = xlsread('D:\\Oppy\\kampus\\semester 7\\TA\\data.xlsx','data utama','A1:T126'); 3. %melakukan inisialisasi data 4. aktv = data(:,1); 5. dur = data(:,17); 6. predesesor = data (:,3:14); 7. arrmin = [];
Kode Diagram program alur inisialisasi inisialisasidata data
Mencari Nilai ES dan EF Untuk aktivitas yang tidak memiliki predesesor maka
• ES = 0 • EF = durasi aktivitas. Untuk aktivitas yang memiliki predesesor maka
• ES = EF aktivitas predesesor. • EF = ES + durasi aktivitas. Untuk aktivitas yang memiliki beberapa predesesor maka
• ES = Max EF dari aktivitas predesesor. • EF = ES + durasi aktivitas.
Mencari Nilai ES dan EF 8. for n = 1:length(data) 9. m = 1; 10. %Kondisi sebuah aktivitas mempunyai predesesor lebih dari 1 dan terdapat mode yang lebih dari satu untuk setiap aktivitasnya 11. if predesesor(n,m) ~= 0 && predesesor (n,m+1) ~= 0 12. for m = 1:length(predesesor(n,:))-1 13. prd = predesesor(n,m); 14. pr = find(aktv == prd); 15. minim = min(EF(pr,:)); 16. arrmin = [arrmin; minim]; 17. end 18. ES (n,:) = max(arrmin); 19. EF (n,:) = ES(n,:)+ dur(n,:); 20. %Kondisi sebuah aktivitas mempunyai predesesor 1 dan aktivitas predesesor tersebut memiliki 1 mode atau lebih. 21. elseif predesesor (n,m) ~=0 && predesesor (n,m+1) == 0 22. prd = predesesor(n,m); 23. pr = find(aktv == prd); 24. minim = min(EF(pr,:)); 25. ES (n,:) = minim; 26. EF (n,:) = ES(n,:)+dur(n,:); 27. %Kondisi sebuah aktivitas merupakan aktivitas awal dan tidak memiliki predesesor 28. else 29. ES (n,:) = 1; 30. EF (n,:) = ES(n,:)+ dur(n,:); 31. end 32. end
Diagram AlurMencari Nilai ESNilai & EF Kode Program ES & EF
Mencari Nilai LS dan LF Untuk aktivitas yang paling akhir.
• LF = Waktu selesai proyek. • LS = LF – durasi aktivitas. Untuk aktivitas yang nilai LS dan LF pada aktivitas sesudahnya telah diketahui.
• LF = Min LS dari aktivitas sesudahnya. • LS = LF – durasi aktivitas.
Mencari Nilai LS dan LF
Diagram Alur Nilai LS & LF
Mencari Nilai LS dan LF ... for b = 1:length(tluar)%inisialisasi %inisialisasi dan looping backward %Kondisi ketika aktivitas memiliki %mencari aktivitas tersebut berada for n = length(data):-1:1 successor 14. for a = 1:length(aktv) pada baris %Kondisi ketika keberapa aktivitas tidak memiliki aksuccessor = = aktv(n,:); %inisialisasi data I find(aktv == tluar(:,b)); [row,col] = ~= find(ak == succesor); if aktv(n,:) succesor %looping pada panjangnya I 15. crluar = aktv(a,:); %jika successor aktivitas lebih dari 1 LF(n,:) = max(minujg,maxujg); for c = 1:length(I) 16. if crluar ~= succesor if length(row) LS(n,:) = LF(n,:) > - 1 dur(n,:); %penyesuaian nilai EF daftar dan %pengecekan aktivitas pada else for x = 1:length(row)-1 disimpan pada array d succesor y = x+1; d terluar = [d,EF(I(c))]; 17. = [terluar,crluar]; row1 = row(x,:); %mencari nilai yang paling kecil %penyimpanan pada array row2 = row(y,:); minujg = min(d); 18. end ifelse aktv(row1,:) == aktv(row2,:) maxim=max(LS(row1,:),LS(row2,:)); 19. %jika tdk memenuhi kondisi end arraymax =proses [arraymax, maxim]; tdk edilakukan for = 1:length(tlr)%inisialisasi else 20. %mencari end aktivitas tersebut berada simpan LS(row2,:); 21.pada end baris =keberapa ambil = [ambil,== simpan]; K = [K,find(aktv tlr(:,e))]; end %looping panjangnya K end for f = 1:length(K) crmin = min(arraymax); %penyesuaian nilai EF dan disimpan pada array g crminim = g min(ambil); = [g,EF(K(f))]; LF(n,:) = min(crmin,crminim); %mencari nilai yang paling besar LS(n,:) maxujg==LF(n,:)max(g); dur(n,:); %jika successor aktivitas hanya 1 end else end LF(n,:) = LS(row,:); LS(n,:) = LF(n,:)- dur(n,:); end end end
…
22. for i = 1:length(terluar)-1 %inisialisasi 23. j = i+1; 24. %pengecekan apakah sebuah baris=baris berikutnya 25. if terluar(:,i) == terluar(:,j) 26. %penyimpanan pada array tluar 27. tluar = [tluar,terluar(:,i),terluar(:,j)]; 28. else 29. %penyimpanan pada array tlr 30. tlr = [tlr,terluar(:,j)]; 31. end 32. end
Kode Program untuk Mencari Nilai LS & LF
Batasan 1 %batasan1 aktv = data(:,1); dur = data(:,17); yjm = []; for n = 1:length(aktv)-1 m = n+1; A = aktv (n,:); B = aktv (m,:); if A == B md = min(dur(n,:),dur(m,:)); if md == dur(n,:) yjm(n,:)=1; yjm(m,:)=0; else yjm(n,:)=0; yjm(m,:)=1; end else yjm(m,:) = 1; end end
Diagram Alur Batasan Batasan1 1 Kode Program
Batasan 2 %batasan2 for i = 1:length(data) xjm(i,:)= yjm(i,:)*dur(i,:); if xjm(i,:) ~= 0; for j = ES(i,:):LF(i,:) if j <= ES(i,:)+dur(i,:) xjmt(i,j) = 1; else xjmt(i,j) = 0; end end else for j = ES(i,:):LF(i,:) xjmt(i,j) = 0; end end end
Diagram Alur Batasan Kode Program Batasan2 2
Batasan 3 %batasan3 for i = 1:length(data) for j = ES(i,:):LF(i,:) bt3(i,j) = xjmt(i,j)*j; if bt3(i,j) == 0 bts3(i,j) = 0; else if bt3(i,j)<= LF(i,:) bts3(i,j) = 1; else bts3(i,j) = 1000; end end end end
Diagram Alur Batasan Kode Program Batasan33
Batasan 4 %batasan4 for i = 1:length(data) for j = ES(i,:):LF(i,:) bt4(i,j) = ((xjmt(i,j)*j))+(100000*(1xjmt(i,j))); if bt4(i,j)>= ES(i,:) && bt4(i,j)<= LF(i,:) bts4(i,j) = 1; else bts4(i,j) = 0; end end end
Diagram Alur Batasan 44 Kode Program Batasan
Batasan 5 %batasan5 for i = 1:length(data) j = 1; if predesesor(i,j) ~= 0 && predesesor (i,j+1) ~= 0 for j = 1:length(predesesor(i,:))-1 prd = predesesor(i,j); pr = find(aktv == prd); end if LF(pr,:) <= ES(i,:) bts5(i,:) = 1; else bts5(i,:) = 0; End …
Diagram Alur Batasan Kode Program Batasan5 5
Batasan 6 %batasan6 kjmr = data(:,18); Krt = data(:,20); mode = data(:,15); for i = 1:length(data) bt6(i,:) = kjmr(i,:)*yjm(i,:); if bt6(i,:)<= Krt(i,:)&&bt6(i,:)~=0 bts6(i,:) = 1; else bts6(i,:) = 0; end end
Diagram Alur Batasan Kode Program Batasan66
Fungsi Tujuan %batasan6 kjmr = data(:,18); Krt = data(:,20); mode = data(:,15); for i = 1:length(data) bt6(i,:) = kjmr(i,:)*yjm(i,:); if bt6(i,:)<= Krt(i,:)&&bt6(i,:)~=0 bts6(i,:) = 1; else bts6(i,:) = 0; end end
Diagram Alur Fungsi Kode Program FungsiTujuan Tujuan
Uji Coba dan Analisis
Lingkungan Uji Coba Perangkat Keras Perangkat Keras
Jenis Processor RAM Hard Disk Drive
Notebook Intel Pentium 1GB 250GB
Spesifikasi
Perangkat Lunak Perangkat Lunak
Windows 7 Matlab 2009 Microsoft Excel 2007 Microsoft Office Project Microsoft Office Excel
Fungsi
Sistem Operasi Membuat kode program Mengelola data Validasi Pengolahan data dan validasi
Verifikasi • Verifikasi adalah proses untuk memastikan bahwa program telah bebas dari error.
Cara untuk melakukan verifikasi yaitu melihat pada kode program yang dibuat. Apakah kode program yang telah dibuat telah bebas dari kesalahan, dalam hal ini kesalahan pada kode program adalah munculnya error. Setelah kode program telah dipastikan tidak ada error maka hal selanjutnya yang akan dilakukan yaitu dengan menjalankan program untuk mengetahui hasil program. Pada gambar 5.1 dibawah ini merupakan hasil keluaran program. Dengan adanya hasil keluaran program maka dapat dipastikan bahwa program telah terbebas dari error.
Uji Coba dan Validasi • Pada tugas akhir ini terdapat 2 proses validasi yaitu • Validasi terhadap durasi pelaksanaan proyek Membandingkan hasil yang didapatkan dari program yang telah dibuat pada Matlab dengan hasil yang dikeluarkan oleh Microsoft Office Project • Validasi terhadap penggunaan pekerja. Membandingkan waktu mulai dan berakhir sebuah aktivitas yang ada pada gantt chart di Microsoft Office Project dengan hasil resource leveling yang dibuat dalam bentuk diagram batang yang ada pada Microsoft Office Excel.
Validasi terhadap durasi pelaksanaan proyek Proses validasi
MS Project
Data
MS Project
Validasi terhadap durasi pelaksanaan proyek Pada Matlab • Jalankan program untuk menghitung ES-EF, LS-LF, batasan dan fungsi tujuan • Hasil program menunjukkan waktu pelaksanaan proyek selama 393 hari
Validasi terhadap durasi pelaksanaan proyek
Pada Microsoft Office Project • Pada Microsoft Office Project yaitu memasukkan aktivitas-aktivitas yang telah terpilih. Untuk mengetahui aktivitas-aktivitas mana saja yang telah terpilih dapat dilihat dari nilai yjm. Nilai yjm menunjukkan apakah pasangan aktivitas dan mode memiliki nilai minimal atau tidak. Jika pasangan aktivitas dan mode memiliki nilai minimal maka diberi nilai 1 yang berarti dipilih dan diberi nilai 0 yang berarti tidak dipilih. • Masukkan durasi masing-masing aktivitas beserta predesesornya.
Validasi terhadap durasi pelaksanaan proyek Pada Microsoft Office Project • Karena pada Matlab tidak ada hari libur, maka pada Microsoft Office Project juga diatur agar tidak ada hari libur.
• Untuk menghitung berapa lama waktu pengerjaan proyek,
memerlukan bantuan aplikasi date calculator. Proyek dimulai 9 Mei 2013 dan berakhir pada 5 Juni 2014. Jika dihitung waktu penyelesaian proyek adalah 393 hari.
Validasi terhadap durasi pelaksanaan proyek Pada Microsoft Office Project • Karena pada Matlab tidak ada hari libur, maka pada Microsoft Office Project juga diatur agar tidak ada hari libur.
• Untuk menghitung berapa lama waktu pengerjaan proyek,
memerlukan bantuan aplikasi date calculator. Proyek dimulai 9 Mei 2013 dan berakhir pada 5 Juni 2014. Jika dihitung waktu penyelesaian proyek adalah 393 hari.
Validasi terhadap durasi pelaksanaan proyek No
Perangkat Lunak yang digunakan
Hasil
1
Matlab
393 hari
Microsoft Office Project
393 hari
2.
Berdasarkan tabel diatas yang merupakan hasil keluaran program yang telah dibuat di Matlab dan Microsoft Office Project maka dapat disimpulkan bahwa model dan program telah valid karena nilai yang dikeluarkan sama.
Validasi terhadap penggunaan pekerja. • Untuk validasi yang dilakukan untuk penggunaan pekerja
dilakukan dengan membandingkan waktu mulai dan berakhir sebuah aktivitas yang ada pada gantt chart di Microsoft Office Project dengan hasil resource leveling yang dibuat dalam bentuk diagram batang yang ada pada Microsoft Office Excel..
Validasi terhadap penggunaan pekerja. • Langkah pertama yang dilakukan yaitu membuat diagram
batang pada Microsoft Office Excel. Setiap batang merepresentasikan sebuah aktivitas..
• Jika terdapat aktivitas yang dilakukan bersamaan sedangkan pekerja
yang tersedia tidak mencukupi, maka aktivitas tersebut dapat ditunda sebanyak waktu yang diijinkan. Waktu yang diijinkan dapat diketahui dari nilai ES, EF, LS dan LF.
Validasi terhadap penggunaan pekerja. • Membandingkan dengan yang ada pada gantt chart di
Microsoft Office Project. Pada Microsoft Office Project, waktu mulai proyek adalah tanggal 9 Mei 2013.
• Kemudian Pada web aplikasi date calculator masukkan
tanggal mulai proyek dengan tanggal mulai aktivitas 2.
Validasi terhadap penggunaan pekerja. • Selanjutnya tekan calculate duration untuk mengetahui hasilnya. Dan hasil
menunjukkan nilai 28 yang berarti aktivitas 2 dimulai pada hari ke-28 pada siklus proyek. • Kemudian cek pada resource leveling yang dibuat di Microsoft Office Excel
• Dan pada diagram batang aktivitas 2 yang telah dibuat di Microsoft Office Excel
dimulai pada hari ke 28. Lakukan pengecekan pada keseluruhan aktivitas proyek.
• Berdasarkan hasil diatas telah diketahui bahwa resource leveling yang
dilakukan telah valid karena nilai yang ada pada Microsoft Office Project dan Microsoft Office Project sama.
Validasi terhadap penggunaan pekerja. • Selanjutnya tekan calculate duration untuk mengetahui hasilnya. Dan hasil
menunjukkan nilai 28 yang berarti aktivitas 2 dimulai pada hari ke-28 pada siklus proyek. • Kemudian cek pada resource leveling yang dibuat di Microsoft Office Excel
• Dan pada diagram batang aktivitas 2 yang telah dibuat di Microsoft Office Excel
dimulai pada hari ke 28. Lakukan pengecekan pada keseluruhan aktivitas proyek.
• Berdasarkan hasil diatas telah diketahui bahwa resource leveling yang
dilakukan telah valid karena nilai yang ada pada Microsoft Office Project dan Microsoft Office Project sama.
Analisis Hasil • Analisis hasil pada tugas akhir ini meliputi beberapa hal
yang berkaitan dengan penjadwalan proyek Griya Candra Residence diantaranya • Batasan • Slack
• Critical path • Gantt chart • Resource leveling.
Batasan 1 No
Aktivitas
No. Mode
Mode
Durasi (hari)
Yjm
1
5 truk 3kali sehari
27
1
2 1 1
10 truk 1 kali sehari 2 dozer 1 juru ukur 1 umum
40 12 8
0 1 1
Pasang goronggorong
1 2 1 2 1 2
1 tk kayu 2 umum 3 umum 15 umum 5 tk gali 10 umum 10 umum 4 tk batu 6 umum
2 4 6 5 20 15
1 0 0 1 0 1
Pembuatan jalan untuk paving
1 2
4 tk batu 6 umum 10 umum
25 30
1 0
1
Pengurukan
2 3
Pemadatan Pembentukan lahan
4
Membangun gudang bahan
5
Galian
6 7
Batasan 2 No
1
Aktivitas
No. Mode
Mode
Durasi (hari)
ES
EF
LS
LF
1
5 truk 3kali sehari
27
1
28
1
28
2
10 truk 1 kali sehari
40
1
41
-12
28
Pengurukan
2
Pemadatan
1
2 dozer
12
28
40
28
40
3
Pembentukan lahan
1
1 juru ukur 1 umum
8
40
48
40
48
4
Membangun gudang bahan
1
2
48
50
66
68
5
Galian
4 6
48 48
52 54
64 62
68 68
5
48
53
63
68
6
Pasang goronggorong
20
48
68
48
68
15
48
63
53
68
2 1 2 1 2
1 tk kayu 2 umum 3 umum 15 umum 5 tk gali 10 umum 10 umum 4 tk batu 6 umum
Batasan 3 No
Aktivitas
No. Mode
Mode
Durasi (hari)
ES
EF
LS
LF
1
5 truk 3kali sehari
27
1
28
1
28
2
10 truk 1 kali sehari
40
1
41
-12
28
1
Pengurukan
2
Pemadatan
1
2 dozer
12
28
40
28
40
3
Pembentukan lahan
1
1 juru ukur 1 umum
8
40
48
40
48
4
Membangun gudang bahan
1
1 tk kayu 2 umum
2
48
50
66
68
2
3 umum
4
48
52
64
68
1
15 umum
6
48
54
62
68
2
5 tk gali 10 umum
5
48
53
63
68
1
10 umum
20
48
68
48
68
2
4 tk batu 6 umum
15
48
63
53
68
5
Galian
6
Pasang goronggorong
Batasan 4 No 1 1
Aktivitas Pengurukan
No. Mode
Mode
ES
EF
LS
LF
1
5 truk 3kali sehari
1
28
1
28
2
10 truk 1 kali sehari
1
41
-12
28
2
Pemadatan
1
2 dozer
28
40
28
40
3
Pembentukan lahan
1
1 juru ukur 1 umum
40
48
40
48
1
1 tk kayu 2 umum
48
50
66
68
2
3 umum
48
52
64
68
1
15 umum
48
54
62
68
2
5 tk gali 10 umum
48
53
63
68
1
10 umum
48
68
48
68
2
4 tk batu 6 umum
48
63
53
68
4
4 5 5
6 6
Membangun gudang bahan Galian Pasang gorong-gorong
Batasan 5 No
Aktivitas
1
1
Pengurukan
No. Mod e
Predesesor
Mode
Dura si (hari)
ES
EF
LS LF
0
0
0
0
0
0
0
0
0
0
0
0
1
5 truk 3kali sehari
27
1
28
0
0
0
0
0
0
0
0
0
0
0
0
2
10 truk 1 kali sehari
40
1
41
-12 28
1
28
Bts 5 1 1
2
Pemadatan
1
0
0
0
0
0
0
0
0
0
0
0
1
2 dozer
12
28
40
28
40
3
Pembentukan lahan
2
0
0
0
0
0
0
0
0
0
0
0
1
1 juru ukur 1 umum
8
40
48
40
48
3
0
0
0
0
0
0
0
0
0
0
0
1
1 tk kayu 2 umum
2
48
50
66
68
3
0
0
0
0
0
0
0
0
0
0
0
2
3 umum
4
48
52
64
68
1
3
0
0
0
0
0
0
0
0
0
0
0
1
15 umum
6
48
54
62
68
3
0
0
0
0
0
0
0
0
0
0
0
2
5 tk gali 10 umum
1
5
48
53
63
68
3
0
0
0
0
0
0
0
0
0
0
0
1
10 umum
20
48
68
48
68
3
0
0
0
0
0
0
0
0
0
0
0
2
4 tk batu 6 umum
15
48
63
53
68
4 4 5 5 6 6
Membangun gudang bahan Galian Pasang gorong-gorong
1 1 1
1 1 1
Batasan 6 No 1 1 2 3 4
4 5 5 6 6
Aktivitas
Pengurukan
No. Mode 1 2
Pemadatan Pembentukan lahan
1
Membangun gudang bahan
1
Galian Pasang goronggorong
1
2 1 2 1 2
Mode 5 truk 3kali sehari 10 truk 1 kali sehari 2 dozer 1 juru ukur 1 umum 1 tk kayu 2 umum 3 umum 15 umum 5 tk gali 10 umum 10 umum 4 tk batu 6 umum
Durasi (hari)
Resource dibutuhkn
Resource cadangan
Krt
Bts 6
27
5
2
7
1
40
10
3
7
0
12
2
1
3
1
8
2
1
3
1
2
3
1
4
1
4 6
3 15
1 5
4 20
0 0
5
15
5
20
1
20
10
3
13
0
15
10
3
13
1
Slack • Berikut ini merupakan aktivitas yang nilai slack = 0 No 1 2 3 6
Aktivitas Pengurukan Pemadatan Pembentukan lahan Pasang gorong-gorong
Mode 1 1 1 1
Slack 0 0 0 0
7
Pembuatan jalan untuk paving
2
0
8 10
PDAM Penerangan jalan umum
1 1
0 0
11
Uitzet dan pasang bowplank
1
12 13 14 15 16 17 18
Galian tanah Pasang batu kali Pasang pipa kotor Pasang pipa kotoran Urugan kembali Urugan dalam rumah Cor sloaf
24
31
Pasang rangka atap
2
0
33
Ban-banan, kompres genteng
1
0
34
Pasang genteng penutup atap
2
0
35
Pasang wuwungan
2
0
36
Pasang wuwung ujung
1
0
37
Genteng tepi (akhiran)
2
0
0
38
Pasang rangka plafon + gipsum
1
0
1 2 1 1 1 2 2
0 0 0 0 0 0 0
39
Pasang plafon
2
0
40
List plafond
1
0
50
Pasang keramik dinding
2
0
51
Pasang keramik lantai
2
0
55
Cat dinding dalam
1
0
57
Cat plafon
1
0
Cat pintu
1
0
Pasang bata, dinding, gewel
1
0
60 74
Pekerjaan tandon
2
0
28
Tali air kusen
2
0
75
Pekerjaan septictank beton
1
0
29
Pasang kusen pintu dan jendela
2
0
76
Pembersihan akhir
2
0
30
Cor ring balk
2
0
77
Pemasangan paving
2
0
Slack • Berikut ini merupakan aktivitas yang nilai slack != 0 No
Aktivitas
Mode
Slack (hari)
4
Membangun gudang bahan
1
18
5
Galian
2
15
9
Jaringan listrik
1
5
19
Pasang pipa bersih
2
5
20
Cor kolom praktis
1
7
21
Cor rabatan
2
9
22
Cor meja beton
3
10
23
Cor carport
2
11
25
Pasang bak kontrol
2
5
27
Benangan dinding
2
7
41
Daun pintu
2
29
42
Pintu PVC KM/WC + Kunci
2
32
43
Daun jendela
2
30
44
Kunci pintu
1
29
45
Engsel
1
29
46
Grendel jendela
1
29
47
Hak angin
1
29
48
Kaca
2
28
49
Cor dak kanopi
1
30
52 53 54 56 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 78 79 80
Pasang bak mandi dan kloset Cat genteng Cat dinding luar Pasang keramik KM Cat listplank Cat kusen Cat jendela Pasang floor drain Pasang kran Pasang avour lantai Pasang avour bak Kitchen zink Sekering box + Mcb Titik lampu Stop kontak Saklar tunggal Saklar ganda Arde(ground) Kabel panel turfur (puding) Pekerjaan gerbang Taman Taman gerbang
2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1
3 4 2 3 2 2 1 3 4 3 3 3 15 15 15 15 15 15 15 15 24 15
Critical Path • Critical path dapat dikatakan sebagai jalur terpanjang yang
memakan waktu terlama dalam suatu project. Sehingga perubahan waktu aktivitas-aktivitas yang berada di jalur critical path dapat berpengaruh bagi waktu penyelesaian sebuah proyek. Dapat mempercepat dapat pula memperlambat.
Gantt Chart • Gantt chart pada proyek ini memiliki kombinasi antara serial scheduling
dengan parallel scheduling. Hal ini dapat dilihat dari aktivitas-aktivitas proyek. Ada beberapa aktivitas yang dijalankan setelah aktivitas predesesornya selesai namun ada pula yang dapat dikerjakan secara bersamaan dengan aktivitas-aktivitas lainnya. Bahkan ada pula beberapa aktivitas yang benar-benar dijalankan bersamaan hingga waktu selesainya pun juga bersamaan. • Proyek ini berjalan selama 393 hari, dimulai dari tanggal 9 Mei 2013 dan berakhir pada 5 Juni 2014.
Resource Leveling • Dari hasil resource leveling yang dilakukan ada beberapa
waktu yang membutuhkan pekerja hingga 54 orang, namun di waktu yang lain hanya dibutuhkan resource < 10 orang. Lonjakan kebutuhan pekerja dikarenakan adanya beberapa aktivitas yang dilakukan bersamaan dan hal tersebut tentunya membutuhkan pekerja yang cukup untuk menyelesaikannya
Penutup
Kesimpulan 1.
2.
3.
4.
Untuk mendapatkan pasangan aktivitas dan mode yang layak dilakukan dengan memilih mode dengan waktu penyelesaian paling minimum. Waktu mulai sebuah aktivitas ditentukan oleh aktivitas predesesornya. Sebuah aktivitas dapat dijalankan bersamaan dengan aktivitas lainnya dan dapat pula dijalankan sendiri bergantung dari aktivitas predesesornya. Pemilihan mode yang memiliki waktu pengerjaan paling minimal pada setiap aktivitas akan menghasilkan waktu penyelesaian proyek yang paling minimal. Agar penggunaan pekerja dapat seminimal mungkin tanpa menambah durasi proyek dilakukan dengan menunda beberapa pekerjaan yang tidak termasuk dalam critical path. Penundaan tersebut dapat dilakukan dengan syarat masih dalam batas waktu yang diijinkan yaitu tidak melebihi waktu LFnya.
Kesimpulan 5. 6.
7. 8.
9.
Berdasarkan hasil keluaran program yang telah dibuat pada Matlab, waktu penyelesaian proyek paling minimum adalah 393 hari. Ada beberapa aktivitas yang termasuk dalam critical path sehingga aktivitas tersebut tidak boleh mengalami keterlambatan karena akan berpengaruh terhadap waktu penyelesaian proyek Kebutuhan pekerja tertinggi yaitu sebanyak 54 orang yaitu pada periode hari ke-329 hingga hari ke-333. Kebutuhan pekerja melonjak hingga > 50 orang disebabkan oleh banyaknya aktivitas yang harus dilakukan sedangkan fungsi tujuan dari tugas akhir ini yaitu meminimalkan waktu penyelesaian proyek sehingga membutuhkan penambahan pekerja agar proyek dapat selesai secepat mungkin. Dari hasil resource leveling dapat diketahui jumlah pekerja yang dibutuhkan pada setiap periode berikut dengan komposisi keahliannya.
Saran • Untuk Pengembang: • Pengembang disarankan untuk menggunakan yang dibuat karena telah terbukti dapat menghasilkan waktu penyelesaian yang paling minimum. • Untuk Mahasiswa: • Hasil yang sudah didapatkan dapat dikembangkan lagi dengan metode Priority Rule Based Heuristic.
Daftar Pustaka • Baker, S. L. (2010, July 21). Critical Path Method. Retrieved
• • • • •
• •
May22,2013,fromhttp://hadm.sph.sc.edu/courses/J716/CPM/CPM.html Buddhakulsomsiri, J., & Kim, D. S. (2007). Priority rule-based heuristic for multimode resource-constrained project scheduling problems with resource vacations and activity splitting. European Journal of Operational Research, 178. Bupati Sidoarjo. (2012). Peraturan Daerah Kabupaten Sidoarjo Tentang Izin Mendirikan Bangunan. Sidoarjo, Jawa Timur, Indonesia. Kolisch, R. (1996). Serial and parallel resource-constrained project scheduling methods revisited: Theory and computation . European Journal of Operational Research, 90. Kolisch, R., & Hartmann, S. (n.d.). 7 Heuristic Algorithms for Solving The Resource-Constrained Project Scheduling Problem: Classification & Computational Analysis. Christian-Albrechts-Universitat Zu Kiel. Mubarak, S. (2010). Construction Project Scheduling and Control. New Jersey: John Wiley & sons, Inc. Schwalbe, K. (2006). Information Technology Project Management. Canada: Thomson Course Technology. Tsubakitani, S., & Deckro, R. F. (1990). A heuristic for multi-project scheduling with limited resources in the housing industry . European Journal of Operational Research , 80.
Terima kasih..