7
BAB 2
LANDASAN TEORI
2.1 Peta Proses Operasi (OPC)
Proses operasi merupakan suatu diagram yang menggambarkan langkah-
langkah proses yang akan dialami bahan baku mengenai urutan proses
pembuatan tiap komponen benda kerja sampai pada proses perakitan
komponen- komponen tersebut menjadi benda kerja yang utuh. Sehingga dari
peta kerja tersebut dimungkinkan untuk analisa proses pengerjaan agar dapat
membuat proses kerja yang lebih baik di waktu mendatang. Kegunaan peta
proses operasi adalah sebagai berikut:
1. Untuk mengetahui kebutuhan mesin yang diperlukan dalam perakitan
komponen.
2. Dapat memperkirakan bahan baku yang diperlukan sehingga dapat
mengurangi scarp dan waste.
3. Sebagai panduan untuk menentukan tata letak fasilitas pabrik agar
produktivitas membaik.
4. Sebagai alat analisis untuk memperbaiki proses pengerjaan yang sedang
berlangsung, sehingga ke di masa mendatang proses produksi menjadi
lebih produktif lagi.
5. Sebagai alat panduan suatu pekerjaan.
8
Untuk dapat menggambarkan peta proses ini, ada beberapa aturan dasar
yang perlu dilakukan atau diikuti, antara lain:
Pertama, pada baris paling atas perlu dituliskan PETA PROSES OPERASI
dan seterusnya tulis semua identifikasi kerja lainnya seperti nama objek,
nomor gambar kerja, dan lain- lain.
Kedua, Nama dan spesifikasi material yang akan diproses diletakkan di atas
garis horizontal yang menunjukkan bahwa material tersebut masuk dalam
proses operasi kerja.
Ketiga, Lambang atau simbol ASME (khususnya simbol operasi atau
inspeksi) ditetapkan dalam arah vertikal secara berurutan yang menunjukkan
terjadinya perubahan proses untuk setiap simbolnya.
Keempat, Penomoran terhadap kegiatan operasi diberikan secara berurutan
sesuai dengan urutan operasi yang dilakukan untuk pembuatan produk
tersebut atau sesuai dengan proses yang terjadi. Penomoran terhadap kegiatan
inspeksi diberikan sendiri.
Kelima, Agar diperoleh gambar proses kerja yang baik, maka produk yang
paling banyak diletakkan terlebih dahulu dan digambarkan pada garis vertikal
paling kanan sendiri.
9
Gambar 2.1 Simbol ASME yang Digunakan pada OPC
2.2 Pengujian Data Waktu Siklus
o Melakukan Perhitungan Waktu Baku.
Jika pengukuran-pengukuran telah selesai, yaitu semua data yang
didapat memiliki keseragaman yang dikehendaki, dan jumlahnya telah
memenuhi tingkat-tingkat ketelitian dan keyakinan yang diinginkan, maka
selesailah kegiatan pengukuran waktu. Langkah selanjutnya adalah
mengolah data tersebut sehingga memberikan waktu baku. Cara untuk
10
mendapatkan waktu baku dari data yang terkumpul itu adalah sebagai
berikut:
o Waktu Silkus
Hitung waktu siklus rata-rata dengan:
n
xWs
n
1ii∑
−= (2-1)
Dimana Xi adalah data-data dari nilai pengukuran, sedangkan n adalah
banyaknya jumlah data pengukuran.
o Waktu Normal
Aktivitas untuk menilai atau mengevaluasi kecepatan kerja operator
ini dikenal sebagai “Raiting Performance”. Dengan melakukan rating ini
diharapkan waktu kerja yang diukur bisa “dinormalkan“ kembali.
Ketidak-normalan dari waktu kerja ini diakibatkan oleh operator yang
bekerja secara kurang wajar yaitu bekerja dalam tempo atau kecepatan
yang tidak sebagaimana mestinya. Suatu saat dirasakan terlalu cepat dan
disaat lain malah terlalu lambat.
Untuk menormalkan waktu kerja yang diperoleh dari hasil
pengamatan, maka hal ini dilakukan dengan mengadakan penyesuaian
yaitu dengan cara mengalikan waktu pengamatan rata-rata (bisa waktu
siklus ataupun waktu untuk tiap-tiap elemen) dengan faktor
11
penyesuaian/rating “P”. Faktor penyesuaian/rating ini adalah sebagai
berikut :
• Apabila operator dinyatakan terlalu cepat yaitu bekerja di atas batas
kewajaran (normal) maka rating faktor ini akan lebih besar dari pada
satu (p > 1 atau p > 100%).
• Apabila operator bekerja terlalu lambat yaitu bekerja dengan
kecepatan di bawah kewajaran (normal) maka rating faktor akan lebih
kecil dari pada satu (p < 1 atau p < 100%).
• Apabila operator bekerja secara normal atau wajar, rating faktor ini
diambil sama dengan satu (p = 1 atau p =100%).Untuk kondisi kerja
dimana operasi secara penuh dilaksanakan oleh mesin maka waktu
yang diukur dianggap merupakan waktu yang normal.
Westinghouse mengarahkan penilaian pada 4 faktor yang dianggap
menentukan kewajaran atau ketidakwajaran dalam bekerja, yaitu
keterampilan (skill), usaha (effort), kondisi kerja (working condition), dan
ketetapan (consistency) dari operator di dalam melakukan kerja.
Keterampilan (skill) didefinisikan sebagai kemampuan mengikuti
cara kerja yang ditetapkan. Usaha (effort) adalah kesungguhan yang
ditunjukkan atau diberikan oleh operator ketika melakukan pekerjaannya.
Yang dimaksud dengan kondisi kerja (working condition) adalah kondisi
lingkungan fisik lingkungannya, seperti keadaan pencahayaan, temperatur,
12
dan kebisingan ruangan. Faktor yang harus diperhatikan adalah ketetapan
(consistency). Faktor ini perlu diperhatikan karena kenyataan bahwa pada
setiap pengukuran waktu angka-angka yang dicatat tidak pernah semuanya
sama.
Westinghouse telah berhasil membuat suatu tabel performance
rating yang berisikan nilai-nilai angka yang berdasarkan tingkatan yang
ada. Hal ini dilakukan dengan jalan mengalikan waktu yang diperoleh dari
pengukuran kerja dengan jumlah keempat rating faktor yang dipilih sesuai
dengan performance yang ditunjukkan oleh operator. Dengan demikian
waktu normal tersebut dapat diperoleh dengan mengaplikasikan rumus
berikut:
Waktu normal = Waktu siklus x Penyesuaian (2-2)
o Waktu Baku
Waktu normal untuk suatu elemen operasi kerja adalah semata-mata
menunjukkan bahwa seorang operator yang berkualifikasi baik akan
bekerja menyelesaikan pekerjaan pada kecepatan/tempo kerja yang
normal. Kelonggaran waktu untuk melepaskan lelah (Fatigue Allowance)
juga diperlukan bagi pekerja. Kelelahan fisik manusia bisa disebabkan
oleh beberapa hal, diantaranya adalah kerja yang membutuhkan pikiran
banyak (lelah mental) dan kerja fisik. Masalah yang dihadapi untuk
menetapkan jumlah waktu yang diijinkan untuk istirahat melepas lelah ini
13
sangat sulit dan kompleks sekali. Di sini waktu yang dibutuhkan untuk
keperluan istirahat akan sangat tergantung pada individu yang
bersangkutan.
Untuk pekerjaan-pekerjaan berat, masalah kebutuhan istirahat untuk
melepaskan lelah sudah banyak berkurang karena sudah mulai
diaplikasikan penggunaan peralatan atau mesin yang serba mekanis dan
atau otomatis secara besar-besaran sehingga mengurangi peranan manusia.
Sebagai konsekuensinya, kebutuhan waktu longgar untuk istirahat
melepaskan lelah ini dapat pula dihilangkan.
Kelonggaran waktu karena keterlambatan-keterlambatan (delay
allowance) juga penting untuk dipertimbangkan. Keterlambatan atau delay
bisa disebabkan oleh faktor-faktor yang sulit untuk dihindarkan
(unavoidable delay), tetapi bisa juga disebabkan oleh beberapa faktor
yang sebenarnya masih bisa untuk dihindari. Untuk avoidable delay di sini
terjadi dari saat ke saat umumnya disebabkan oleh mesin, operator,
ataupun hal-hal lain yang di luar kontrol. Mesin dan peralatan kerja
lainnya selalu diharapkan tetap pada kondisi siap/kerja.
Dengan demikian waktu baku tersebut dapat diperoleh dengan
mengaplikasikan rumus berikut :
Waktu baku = Waktu normal x ⎟⎠⎞⎜
⎝⎛
− n%Kelonggara100% 100% (2-3)
14
2.2.1 Uji Kenormalan Data
Metode alternatif penting dalam pengujian kesesuaian distribusi adalah
metode yang ditemukan oleh matematikawan Rusia, yaitu Kolmogorov dan
Smirnov pada akhir dekade 1930. Uji Kolmogorov-Smirnov ini untuk
menentukan apakah nilai-nilai sampel yang teramati sesuai dengan distribusi
teoritis tertentu. Uji Kolmogorov-Smirnov ini dapat diterapkan pada dua
keadaan, yaitu:
- menguji apakah suatu sampel mengikuti sebuah bentuk distribusi
populasi teoritis tertentu,
- menguji apakah dua buah sampel berasal dari dua populasi yang
identik.
Prinsip dari Uji Kolmogorov-Smirnov adalah menghitung selisih absolut
antara fungsi distribusi frekuensi kumulatif sampel Fs(x) dan fungsi distribusi
frekuensi teoritis Ft(xi) pada masing-masing interval kelas.
Uji Kolmogorov-Smirnov dapat diuji dengan menggunakan software
Minitab 14 for Windows. Berikut langkah-langkah penggunaan software
tersebut:
- Masukkan data ke dalam kolom yang tersedia.
- Pilih Stat pada menu bar Basic Statistics Normality Test.
- Masukan variabel dan pilih Kolmogorov-Smirnov.
- Klik Ok.
15
2.2.2. Uji Keseragaman Data
Uji kecukupan data dilakukan karena keadaan sistem yang selalu berubah
mengakibatkan waktu penyelesaian yang dihasilkan sistem selalu berubah-
ubah, namun harus dalam batas kewajaran (Sutalaksana, 1979). Berikut ini
langkah-langkah untuk pengujian keseragaman data:
• Hitung rata-rata subgroup dengan:
kx
x i∑= (2-4)
− x adalah harga rata-rata dari subgroup ke-1
− k adalah harga banyaknya subgrup yang terbentuk
• Hitung standar deviasi sebenarnya dari waktu penyelesaian dengan:
1N)x(x
σ2
j
−
−= ∑ (2-5)
− N adalah jumlah pengamatan pendahuluan yang telah dilakukan
− x adalah waktu penyelesaian yang teramati selama pengukuran
pendahuluan yang telah dilakukan
• Hitung standar deviasi dari distribusi harga rata-rata subgrup dengan:
nσxσ = (2-6)
Dimana, n adalah besarnya subgroup
• Tentukan batas kontrol atas dan bawah (BKA dan BKB) dengan :
16
Xα/2σZXBKA += (2-7)
Xα/2σZXBKB −= (2-8)
dimana:
2/αZ = Titik Z yang diperoleh dengan mencari nilai area kurva sebesar α/2
pada tabel distribusi normal
Batas-batas tersebut merupakan batas kontrol apakah group ”seragam”
atau tidak. Jika semua rata-rata subgroup sudah berada dalam batas kontrol,
maka dilanjutkan dengan menghitung banyaknya pengukuran yang diperlukan
dengan menggunakan rumus pengujian kecukupan data.
2.2.3. Uji Kecukupan Data
Uji kecukupan data digunakan untuk mengetahui apakah data
pengamatan yang dikumpulkan telah mewakili kondisi sebenarnya atau
belum. Berikut adalah rumus yang digunakan untuk uji kecukupan data
(Sutalaksana, 1979):
222
α/2
XjXj)(XjN
sZ
N'⎥⎥
⎦
⎤
⎢⎢
⎣
⎡ −=
∑∑ ∑ (2-9)
dimana:
s adalah persentase tingkat ketelitian
17
N’ adalah jumlah pengukuran yang diperlukan
N adalah jumlah pengukuran yang telah dilakukan
Jika hasil perhitungan jumlah pengukuran waktu yang diperlukan (N’)
lebih kecil atau sama dengan jumlah pengukuran yang telah dilakukan
(N’≤N), maka jumlah pengukuran telah cukup mewakili populasi yang ada.
Sedangkan jika jumlah pengukuran masih belum mencukupi, maka harus
dilakukan pengukuran kembali sampai jumlah pengukuran yang diperlukan
sudah melebihi oleh jumlah yang telah dilakukan.
2.3 Penjadwalan
Penjadwalan adalah aspek yang penting dalam pengendalian operasi baik
dalam industri manufaktur maupun jasa. Penjadwalan yang efektif dapat
meningkatkan keuntungan dalam fungsi operasi di waktu mendatang.
Penjadwalan biasanya digunakan dalam pengendalian bahan dan produksi,
dalam transportasi dan distribusi, dan dalam proses informasi dan komunikasi.
Penjadwalan adalah suatu proses pengambilan keputusan yang
memainkan peranan penting dalam kebanyakan bidang manufaktur dan
pelayanan industri. Menurut Ricard W. Conway, penjadwalan adalah suatu
proses pengurutan pembuatan produk secara menyeluruh pada beberapa
mesin.
18
Tujuan penjadwalan menurut Baker, yaitu:
1. Meningkatkan produktivitas mesin, yaitu dengan mengurangi waktu
menganggur.
2. Mengurangi persediaan barang setengah jadi (work in process inventory)
untuk mengurangi biaya penyimpanan dengan jalan mengurangi jumlah
rata-rata pekerjaan yang menunggu dalam antrian suatu mesin karena
masih terlalu sibuk.
3. Mengurangi waktu keterlambatan karena batas waktu (due date) telah
dilampaui dengan cara megurangi maksimum keterlambatan maupun
dengan mengurangi jumlah pekerjaan yang terlambat.
4. Meminimasi ongkos produksi.
5. Pemenuhan due date, karena dalam kenyataannya apabila terjadi
keterlambatan pemenuhan due date yang telah ditetapkan dapat dikenakan
suatu denda/penalty.
2.3.1. Dasar-dasar Penjadwalan
2.3.1.1 Sistem Manufaktur Berdasarkan Tipe Produksi
Menurut cara respon terhadap konsumen, sistem manufaktur
diklasifikasikan menjadi 4 kategori, yaitu (Gaspersz, 1998, hal.8):
• Make to Stock (MTS)
19
Produk yang dihasilkan perusahaan disimpan di gudang sebagai
persediaan. Persediaan tersebut kemudian dikirim apabila terdapat
permintaan.
• Make to Order (MTO)
Material (bahan baku) dan komponen-komponen dari produk yang akan
dihasilkan perlu disiapkan untuk memenuhi pesanan. MTO melakukan
kegiatan manufaktur yang berupa pabrikasi dan perakitan. Karakteristik
lantai pabrik biasanya job shop karena adanya kecenderungan terhadap
variasi produk yang sangat tinggi dengan volume produksi yang sangat
rendah. MTO berfokus pada ketersediaan kemampuan teknis untuk
memproduksi produk khusus; dan produk akhir yang biasanya merupakan
kombinasi komponen standard an komponen khusus lainnya.
• Engineering to Order (ETO)
Perusahaan tidak memiliki sistem persediaan karena produk baru akan
didesain dan diproduksi setelah ada permintaan dari konsumen. Perbedaan
ETO dengan MTO terletak pada lamanya waktu yang dibutuhkan dimana
ETO cenderung lebih panjang dibandingkan MTO.
• Assembly to Order (ATO)
Persediaan yang dimiliki perusahaan berupa sub assembly sehingga pada
saat pesanan datang, perusahaan dapat segera merakit sub assembly yang
ada pada persediaan sesuai dengan spesifikasi konsumen. Kemudian, hasil
20
perakitan tersebut dikirim ke konsumen dalam bentuk produk akhir. ATO
berfokus pada produk akhir yang berkualitas tinggi, harga yang bersaing
dalam jumlah variasi yang besar dari komponen-komponen, dan waktu
siklus perakitan yang relative pendek.
2.3.1.2 Tahapan Penjadwalan
Penjadwalan dapat dikatakan sebagai suatu sistem. Hal ini cukup
beralasan karena langkah pengerjaannya sama dengan langkah pengerjaan
untuk menciptakan suatu sistem.
1) Formulasi
Dalam tahap ini, masalah dan kriterianya dideskripsikan karena keputusan
yang baik memerlukan kejelasan terhadap pokok permasalahan, kriteria,
dan tujuannya.
2) Analisis
Analisis adalah proses pencarian elemen dalam setiap masalah dan relasi
di dalamnya. Jadi, tahap ini bertujuan untuk menentukan variabel
keputusan, menspesifikasikan relasi diantaranya dan batasannya.
3) Sintesis
Dalam tahap ini, dicari alternatif solusi terhadap pemecahan masalah.
4) Evaluasi
Dalam tahap ini, dibandingkan setiap alternatif solusi dan tujuan dari
pemecahan masalah tersebut.
21
2.3.1.3 Klasifikasi Penjadwalan
Berikut adalah beberapa model penjadwalan yang sering terjadi di dalam
proses produksi berdasarkan beberapa keadaan (Pinedo, 1992):
1. Berdasarkan mesin yang digunakan dalam proses
Terdapat dua jenis penjadwalan pada kondisi ini, yaitu penjadwalan pada
mesin tunggal dan penjadwalan pada mesin jamak. Model mesin tunggal
sangatlah penting karena beberapa alasan. Lingkungan model mesin
tunggal sangatlah sederhana dan merupakan kasus khusus dari model
lingkungan yang lain. Pemecahan yang dapat diperoleh dari model mesin
tunggal tidak hanya memberikan wawasan terhadap lingkungan model
mesin tunggal tetapi juga dasar heuristik bagi pemecahan pada lingkungan
model mesin yang lebih rumit (mesin jamak).
2. Berdasarkan pola aliran proses
a. Flow Shop
yaitu proses produksi dengan pola aliran identik dari satu mesin ke
mesin yang lain.
Gambar 2.2 Proses Flow Shop
22
Aliran flow shop dibedakan atas 2 macam, yaitu:
- General Flow Shop, yaitu bila suatu shop menangani tugas yang
bervariasi dan tugas yang datang ke dalam shop tidak harus
dikerjakan pada semua mesin.
Gambar 2.3 Proses General Flow Shop
- Pure Flow Shop, yaitu bila semua tugas mengalir pada jalur
produksi yang sama.
Gambar 2.4 Proses Pure Flow Shop
b. Job Shop
yaitu penjadwalan dimana setiap pekerjaan mempunyai aliran atau rute
proses pada setiap mesin yang spesifik, dan mungkin berbeda untuk
tiap job.
c. Open Shop
23
Pada open shop ini tidak memiliki rute aliran tertentu dan berbeda-
beda untuk setiap job yang berbeda. Masing-masing job ini harus
diproses kembali dengan menggunakan salah satu mesin.
3. Berdasarkan pola kedatangan job (Baker, 2001)
a. Penjadwalan statis, yaitu semua job dating bersamaan dan siap
dikerjakan pada mesin yang tidak bekerja.
b. Penjadwalan dinamis, yaitu kedatangan job tidak menentu.
4. Berdasarkan sifat informasi yang diterima
a. Penjadwalan deterministik, yaitu informasi yang tersedia bersifat pasti,
misalnya informasi tentang pekerjaan dan mesin seperti waktu
kedatangan pekerjaan dan waktu proses.
b. Penjadwalan stokastik, yaitu informasinya bersifat tidak pasti tetapi
memiliki kecenderungan yang jelas atau menyangkut adanya distribusi
probabilitas tertentu.
c. Penjadwalan fuzzy, dimana informasi yang diperoleh tidak jelas.
Informasi yang dimaksud, antara lain:
- Dari segi kedatangan, batas waktu penyelesaian dan perbedaan
kepentingan di antara tugas.
- Dari segi banyaknya operasi, waktu proses, susunan mesin.
- Dari segi jumlah dan kapasitas mesin, kemampuan dan kecocokan
mesin dengan tugas yang diberikan.
24
2.3.1.4 Penjadwalan Flow shop
Sistem penjadwalan flow shop adalah penjadwalan dari seluruh job
dalam urutan proses yang sama dan masing-masing job menuju ke masing-
masing mesin dalam satu waktu tertentu. Sistem ini dapat digambarkan seperti
urutan linear pada mesin-mesin, seperti pada lini perakitan. Setiap job
diproses sesuai dengan urutan prosesnya dan dari satu mesin ke mesin
lainnya.
Pada penjadwalan flow shop, lantai produksi terdiri dari m mesin
berbeda dan setiap job terdiri dari m operasi yang memerlukan mesin yang
berbeda. Karakteristik flow shop dinyatakan dengan aliran pekerjaan yang
terarah. Penomoran mesin dimungkinkan dalam penjadwalan ini sehingga jika
operasi ke-j dari suatu job mendahului operasi ke-k, maka mesin yang
diperlukan dari operasi ke-j mempunyai nomor yang lebih kecil dibandingkan
dengan mesin yang dibutuhkan oleh operasi ke-k. Mesin-mesin dalam flow
shop diberi nomor 1, 2, 3, …, m; dan operasi job ke-i ditandai dengan (i,1),
(i,2), …, (i,m).
Karakteristik dasar penjadwalan flow shop:
a. Terdapat n job yang tersedia dan siap diproses pada waktu t=0.
b. Waktu set up independent terhadap urutan pengerjaan.
c. Terdapat m mesin berbeda yang tersedia secara kontinu.
d. Operasi-operasi individual tidak dapat dipecah-pecah.
25
2.3.1.5 Istilah-istilah dalam Penjadwalan Produksi
Beberapa variabel dan istilah yang biasaya digunakan dalam masalah
penjadwalan adalah:
- Waktu Proses (tij)
Waktu yang dibutuhkan untuk menyelesaikan suatu operasi j dari suatu
job i (termasuk waktu set up, dan waktu pemindahan bahan ke mesin).
- Makespan (Ms)
Waktu penyelesaian pekerjaan terakhir untuk meninggalkan suatu sistem
(Pinedo, 2002)
∑= ijs tM (2-10)
- Completion Time (Ci)
Waktu penyelesaian operasi paling akhir suatu order i.
- Flow Time (Fi)
Total waktu penyelesaian pekerjaan (Pinedo, 2002)
iii RCF −= (2-11)
- Waiting Time (Wi)
Waktu tunggu seluruh operasi dari suatu job.
∑= ijWWi (2-12)
- Release Time (Rij)
Waktu order i mulai diproses pada mesin j.
26
- Lateness (Lj)
Penyimpangan waktu penyelesaian suatu job ke-j terhadap due date.
jjj dCL −= (2-13)
Lj < 0 penyelesaian memenuhi batas akhir
Lj > 0 penyelesaian melewati batas akhir
- Tardiness (Ti)
Jangka waktu keterlambatan pemenuhan due date order i.
Ti = max (0,Li) (2-14)
- Earliness (Ei)
Saat penyelesaian terlalu awal, yaitu sebelum due date. Earliness disebut
juga sebagai lateness negatif.
)L,0max{E ji −= (2-15)
- Due Date (di)
Batas waktu akhir suatu job harus diselesaikan.
- Rata-rata Flow Time
Rata-rata waktu yang dihabiskan oleh setiap job di lantai produksi.
Mean Flow Time (MFT) = ∑ iFn1 (2-16)
- Rata-rata Lateness
( )∑ −= jjs dCn1L (2-17)
27
- Rata-rata Tardiness
∑= js Tn1T (2-18)
- Number of Tardiness
∑δ= jTN (2-19)
jδ =1, jika jT > 0 (2-20)
jδ = 0, jika jT < 0 (2-21)
- Slack Time
Waktu sisa yang tersedia bagi suatu job.
iii tdS −= (2-22)
- Tmax or Lmax
Tmax = max {0,Lmax} (2-23)
Lmax = max {Lj} (2-24)
2.3.2 Nawaz, Enscore, and Ham (NEH) Algorithm
Algoritma NEH merupakan metode heuristik yang pertama kali
diperkenalkan oleh Nawaz, Enscore, dan Ham pada tahun 1983. Algoritma ini
digunakan untuk menghasilkan initial sequence untuk minimasi makespan.
Metode ini juga disebut sebagai Incremental Construction Algorithm yang
telah mendapatkan penghargaan sebagai metode heuristik terbaik dalam
Permutation Flow Shop Sequencing Problem (PFSP (Rajendran, 2004). Ide
28
dari metode NEH adalah pekerjaan dengan total waktu proses pada semua
mesin lebih besar, seharusnya diberi bobot yang lebih tinggi untuk
dimasukkan terlebih dahulu ke dalam jadwal, sehingga dapat diraih makespan
yang minimum.
Langkah-langkah dari metode NEH:
1. Urutkan pekerjaan berdasarkan jumlah waktu proses secara menurun.
2. Buat jadwal dari urutan 2 pekerjaan pertama. Hitung makespan dari kedua
urutan tersebut dan pilih makespan terkecil..
3. Perhitungan dilanjutkan berdasarkan job selanjutnya, misalnya pada job i
= 3; tempatkan pekerjaan ke-i pada salah satu posisi i dan hitung
makespan dari masing-masing urutan. Pilih urutan makespen terkecil.
4. Lakukan perhitungan tersebut sampai i=n hingga didapatkan urutan
dengan makespan terkecil.
Notasi matematis yang digunakan dalam algoritma NEH adalah sebagai
berikut:
- Wi = total waktu proses job
- k = jumlah job yang dilakukan iterasi
- n = jumlah job
- u = urutan job pada sequence
- iu = job I pada urutan u
- S* = sequence terbaik yang diperoleh
29
- Sk* = sequence terbaik saat k job
- M(Sk*) = makespan terbaik dari sequence saat k job
- M(Skr) = makespan dari setiap kemungkinan sequence yang ada
- M(S) = makespan terbaik pada saat semua job telah dilakukan
2.3.3 Ant Colony Optimization (ACO)
Ant Colony Algorithm atau yang biasa disebut dengan Algoritma Semut
diperkenalkan oleh Moyson dan Manderick dan secara meluas dikembangkan
oleh Marco Dorigo. Algoritma Semut diadopsi dari perilaku koloni semut
yang dikenal sebagai sistem semut (Dorigo, 1996). Secara alamiah koloni
semut mampu menemukan rute terpendek dalam perjalanan dari sarang ke
tempat-tempat sumber makanan. Koloni semut dapat menemukan rute
terpendek antara sarang dan sumber makanan berdasarkan jejak kaki pada
lintasan yang telah dilalui. Semakin banyak semut yang melalui suatu
lintasan, maka akan semakin jelas bekas jejak kakinya. Hal ini akan
menyebabkan kepadatan semut pada lintasan yang dilalui semut dalam jumlah
sedikit semakin lama akan semakin berkurang, atau bahkan akan tidak
dilewati sama sekali. Sebaliknya, lintasan yang dilalui semut dalam jumlah
banyak, semakin lama akan semakin bertambah kepadatan semut yang
melewatinya, atau bahkan semua semut akan melalui lintasan tersebut.
30
Gambar 2.5 Lintasan Semut
Gambar a di atas menunjukkan ada dua kelompok semut yang akan
melakukan perjalanan. Satu kelompok bernama L yaitu kelompok yang
berangkat dari arah kiri yang merupakan sarang semut dan kelompok lain
yang bernama kelompok R yang berangkat dari kanan yang merupakan
sumber makanan. Kedua kelompok semut tersebut sedang dalam posisi
pengambilan keputusan jalan sebelah mana yang akan diambil. Kelompok
semut L membagi dua kelompok lagi. Sebagian melalui jalan atas dan
sebagian melalui jalan bawah. Hal ini juga berlaku pada kelompok semut R.
Gambar b dan gambar c menunjukkan bahwa kelompok semut berjalan
pada kecepatan yang sama dengan meninggalkan pheromone atau jejak kaki
di jalan yang telah dilalui. Pheromone yang ditinggalkan oleh kumpulan
semut yang melalui jalan atas telah mengalami banyak penguapan karena
semut yang melalui jalan atas berjumlah lebih sedikit dari pada jalan yang di
bawah. Hal ini dikarenakan jarak yang ditempuh lebih panjang daripada jalan
bawah. Sedangkan pheromone yang berada di jalan bawah, penguapannya
31
cenderung lebih lama. Karena semut yang melalui jalan bawah lebih banyak
daripada semut yang melalui jalan atas.
Gambar d menunjukkan bahwa semut-semut yang lain pada akhirnya
memutuskan untuk melewati jalan bawah karena pheromone yang
ditinggalkan masih banyak. Sedangkan pheromone pada jalan atas sudah
banyak menguap sehingga semut-semut tidak memilih jalan atas tersebut.
Semakin banyak semut yang melalui jalan bawah maka semakin banyak
semut yang mengikutinya. Dari sini, kemudian terpilih jalur terpendek antara
sarang dan sumber makanan.
Untuk masalah penjadwalan flowshop, Rajendran dan Ziegler
mengusulkan dua algoritma semut yang dapat diterapkan, yaitu M-MMAS
dan PACO (Duda, 2007).
2.3.3.1 Mix Max-Min Ant System Algorithm (M-MMAS)
M-MMAS merupakan pengembangan baru dari metode Ant Colony
Stuetzle (1998), yaitu MMAS (Max-Min Ant System) dengan memasukkan
aturan penjumlahan (summation rule) yang dikembangkan oleh Merkle dan
Middendorf (2000) dengan memodifikasi prosedur untuk pemilihan job yang
ditambahkan ke dalam urutan ant parsial. Dalam MMAS sendiri, terdapat 4
modifikasi dalam ant system yang diperkenalkan oleh Stuetzle, antara lain:
32
• Variasi ini secara kuat mengeksploitasi jalur yang terbaik yang ditemukan:
hanya semut yang mempunyai hasil yang terbaik dalam iterasi untuk
mendeposit pheromone, tetapi sayangnya strategi seperti ini dapat menuju
kondisi stagnan dimana semut akan mengikuti jalur yang sama secara
terus menerus, karena pertumbuhan jejak pheromone yang terlalu besar
dan terus menerus.
• Membatasi batas kemungkinan nilai jejak pheromone ke interval
( maxmin ,ττ ).
• Jejak pheromone diinisialisasi ke tingkat atas dari batas jejak pheromone
untuk pertama kali.
• Jejak pheromone kembali diinisialisasi tiap kali sistem mengalami kondisi
stagnansi atau ketika ada jalur baru yang dapat diambil sejumlah iterasi.
Tahap inisialisasi trails and parameters pertama kali dikerjakan dengan
algoritma NEH. Setelah didapatkan sequence awal dari algoritma NEH,
perhitungan dilanjutkan ke tahap inisialisasi parameter M-MMAS, sebagai
berikut:
⎟⎟⎠
⎞⎜⎜⎝
⎛−
=bestZ)1(
1max ρ
τ (2-25)
⎟⎠⎞
⎜⎝⎛=
5max
minτ
τ (2-26)
Set Tik = ∑=
k
qiq
1τ (2-27)
33
75.0=ρ , dimana ρ yang menunjukkan keberadaan dari jejak tersebut yang
berarti (1- ρ ) merupakan tingkat evaporasi pheromone dan Zbest menunjukkan
nilai objektif terbaik (makespan) yang ada sekarang.
Tahap berikutnya, yaitu konstruksi sequence dimulai dari sequence nol.
Semut mulai membangun suatu sequence dengan memilih sebuah pekerjaan
untuk posisi pertama, diikuti dengan pemilihan untuk job yang belum
dijadwalkan untuk posisi kedua, dan seterusnya. Berikut adalah prosedur
untuk memilih job
Setelah langkah di atas dikerjakan, perhitungan dilanjutkan ke tahap
penentuan ant sequence. Pilih angka acak yang uniform (u) dalam range [0,1]
dengan metode Linear Congruential Generators.
If u≤ (n-4)/n
Then
Di antara lima job pertama yang belum dijadwalkan, pilih job dengan
nilai maksimum dari Tik.
Else
Job i dipilih dari lima job yang belum dijadwalkan dengan probabilitas
pemilihannya menggunakan rumus:
∑=
ik
ikik T
TP , (2-28)
dimana job i merupakan kelima job yang belum dijadwalkan dalam
sequence terbaik yang diperoleh sejauh ini.
34
Prosedur di atas dilakukan berulang sampai semua job yang ada dalam
sequence teralokasikan. Setelah itu, dilakukan job-index-based local search
dengan prosedur sebagai berikut:
For i = 1(1)n
For k = 1(1)n
If [k] ≠ 1
Then
Masukkan job i ke posisi k dari sequence yang sekarang dan atur
kembali sequence yang ada dengan tidak merubah posisi relatif dari
job lainnya;
Hitung nilai fungsi objektif (minimasi makespan) dari sequence
yang telah dimodifikasi.
Pilih sequence terbaik di antara sequence yang sudah dimodifikasi
Jika nilai objektif telah diperbaiki, gantikan sequence yang ada
dengan yang terbaik tersebut.
Kemudian, update nilai pheromone dari hasil terbaik yang diperoleh
(Zbest). Berikut adalah cara mengupdate nilai pheromone tersebut:
- Jika job i ditempatkan di posisi k dalam sequence terbaik:
current
oldik
newik Z
1+×= τρτ (2-29)
- Bila tidak:
35
oldik
newik τρτ ×= (2-30)
maxττ >newik atau minττ <new
ik jejak pheromone diset menjadi maxτ atau
minτ .
Apabila sequence yang didapat dari aplikasi local search lebih baik
dibandingkan dari ant sequence, maka nilai Zbest, maxτ , dan minτ harus
diupdate. Batas baru ini harus langsung diaplikasikan ke nilai pheromone
newikτ .
Iterasi ini terus berulang sesuai dengan jumlah semut yang diinginkan
dan sampai kondisi pemberhentian dapat tercapai. Kondisi tersebut meliputi:
- Algoritma ini selalu menemukan solusi dengan jarak antara lower bound
yang optimal dan berkualitas.
- Sejumlah maksimum perjalanan semut dan jumlah iterasi algoritma sudah
tercapai.
- Algoritma sudah menunjukkan kondisi stagnansi.
- Jumlah maksimum waktu CPU memproses sudah tercapai.
2.3.3.2 Proposed Ant Colony Optimization (PACO)
PACO digunakan untuk menyelesaikan masalah penjadwalan dengan n
job dan m mesin seri dan bergolongan NP-hard yang bertujuan untuk
minimasi makespan. Perbedaan antara PACO dan M-MMAS terdapat pada
36
cara pembentukan ant sequence dan update pheromone. Tetapi, untuk kasus
penjadwalan dengan ukuran besar, baik jumlah job maupun jumlah mesin
yang banyak, algoritma PACO lebih baik pada kasus tersebut. Berikut ini
adalah kelebihan-kelebihan Proposed Ant Colony Algorithm (PACO):
- Algoritma yang terkonstruktif
Algoritma yang terkonstruktif membangun solusi menjadi masalah
combinational optimization problem dalam arah yang meningkat, tahap
demi tahap, dan tanpa backtracing.
- Menggunakan local search
Local search merupakan pendekatan umum untuk menemukan solusi
akhir yang paling baik pada masalah hard combinational optimization
dengan waktu yang masuk akal.
- Menggunakan populasi atau koloni dari semut yang membangun solusi
dari memori yang disebut artificial pheromones.
Ide utama PACO adalah menerapkan pheromone yang digunakan semut
dalam kehidupan nyata sebagai media komunikasi antar semut. Kerangka
dasar PACO yang digunakan dalam kasus penjadwalan, yaitu:
Step 1: Initialize the pheromone trails and parameters
Step 2: While (termination condition not met) do the following
Construct a solution
Improve the solution by local search
37
Update the pheromone trail or trail intensities
Step 3: Return the best solution found
Notasi matematis yang digunakan dalam algoritma ini adalah sebagai
berikut:
- tij merupakan waktu proses job i di mesin j,
- n merupakan jumlah job yang akan dijadwalkan,
- m merupakan jumlah mesin yang digunakan,
- σ merupakan urutan job yang sudah dijadwalkan dari n job; partial
sequence,
- ),( jq σ merupakan waktu penyelesaian partial sequence σ di mesin j,
- ),( jq iσ merupakan waktu penyelesaian dari job i di mesin j, ketika job
diaplikasikan ke partial sequence σ .
Untuk menghitung waktu mulai dan waktu selesai pengerjaan job pada
mesin-mesin, digunakan perhitungan sebagai berikut:
Inisialisasi
Nilai 0)0,( =iq σ
For j=1 to m do
),( jq iσ = max { } ijii tjqjq +−− )1,();,( 1 σσ
Ketika semua job sudah dijadwalkan, nilai makespan didapat dari:
M= max { }mmniCim ,...,2,1;,...,2,1, ==
38
Tahap inisialisasi trails and parameters pertama kali dikerjakan dengan
algoritma NEH. Setelah didapatkan sequence awal dari algoritma NEH,
perhitungan dilanjutkan ke tahap inisialisasi parameter dengan menggunakan
rumus PACO, sebagai berikut:
Set τik = (1/Zbest), jika (|position job i –k| +1) ≤ 4n
= (1/2* Zbest ), jika (|position job i –k| +1) ≤ 2n
= (1/4* Zbest ), jika (|position job i –k| +1) > 2n
(2-31)
Set ∑ == kq ikikT 1τ (2-32)
Setelah langkah di atas dikerjakan, perhitungan dilanjutkan ke tahap
penentuan ant sequence. Pertama-tama tentukan bilangan acak (u) yang
dibangkitkan dengan rumus Linear Congruential Generator (LCG) dalam
range [0,1]:
- jika u ≤ 0.4, pilih job pertama yang belum dijadwalkan dalam sequence
sebelumnya,
- jika u ≤ 0.8, pilih 1 job dari 5 job pertama yang belum dijadwalkan yang
memiliki nilai ikT paling besar,
- selain itu, pilih job yang memiliki nilai ikP terbesar dengan rumus:
∑=
lik
ikik T
TP , dimana l adalah job yang belum dijadwalkan. (2-33)
39
Ketiga poin di atas dilakukan berulang-ulang sampai semua job yang
belum dijadwalkan selesai dijadwalkan. Setelah itu, dilakukan job-index-
based local search untuk mendapatkan solusi yang paling optimal. Metode ini
menggunakan prinsip insertion dalam pelaksanaannya dengan mengubah
urutan yang ada sekarang tanpa mengubah urutan relatif dari posisi job
lainnya. Prosedurnya adalah sebagai berikut:
For i = 1 to n
For k = 1 to n
If k ≠ i
Then
Masukkan job i pada posisi k dengan tidak merubah urutan relatif dari
job yang lain dan hitung nilai makespannya. Pilih urutan (sequence)
yang memiliki nilai makespan terkecil dari (n-1) jumlah urutan yang
didapat. Bila terdapat nilai makespan yang sama, maka hitung
flowtime dan pilih flowtime dengan nilai terkecil.
Sampai tahap ini, iterasi pertama telah selesai. Sedangkan untuk iterasi
kedua dilakukan tahap updating of trail intensities.
Dalam PACO, memperbarui intensitas jejak tidak hanya berdasarkan
urutan yang dihasilkan setelah penerapan ketiga dari index job berdasarkan
prosedur local search pada ant-sequence, tetapi juga pada jarak relatif antara
40
posisi yang diberikan dan posisi job i dalam urutan yang dihasilkan. Intensitas
jejak diperbarui sebagai berikut:
- Jika n ≤ 40, maka
( ) ,1
current
oldik
newik Zdiff ×
+×= τρτ if 1kh ≤− (2-34)
Bila tidak, oldik
newik τ×ρ=τ
- Selain itu,
( ) ,1
current
oldik
newik Zdiff ×
+×= τρτ if 2kh ≤− (2-35)
Bila tidak, oldik
newik τ×ρ=τ
Keterangan:
diff = ( ) 2/11kfar so obtained sequencebest in the i job ofposition +−
75.0=ρ
h = posisi job i dalam sequence terakhir.
Setelah didapat nilai newikτ , kembali ke tahap ant sequence pada iterasi
pertama dan dilanjutkan ke job-index-based local search sampai diperoleh
urutan dengan makespan terkecil. Kemudian, untuk iterasi ketiga, lakukan
cara yang sama seperti pada iterasi kedua.
41
2.3.3.3 Metode Linear Congruential Generators (LCG)
Metode LCG diperkenalkan oleh Lehmer pada tahun 1949. Formulasi
dari metode ini adalah:
( )( )mmodbZ.aZ n1n +=+ (2-36)
Angka acak dengan range [0,1] Un = Zn / m (2-37)
Lehmer mengusulkan nilai (m;a;b;z0) = (108+1;23;0;47594118.23)
2.4 Perancangan Program
2.4.1 Microsoft Visual Basic 2008 (Visual Basic 9.0)
Microsoft Visual Basic merupakan sebuah bahasa pemrograman yang
menawarkan Integrated Development Environment (IDE) visual untuk
membuat program perangkat lunak berbasis sistem operasi Microsoft
Windows dengan menggunakan model pemrograman (COM). Perangkat
lunak ini adalah sebuah alat untuk mengembangkan dan membangun aplikasi
yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa
BASIC (Beginner’s All-purpose Symbolic Instruction Code). Alat ini dapat
diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft
Visual C++, Visual C#, atau Visual J#). Bahasa Visual Basic .NET sendiri
menganut paradigma bahasa pemrograman berorientasi objek yang dapat
dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang
diimplementasikan di atas .NET Framework. Sementara itu, Visual Basic 9.0
42
merupakan versi terbaru yang dirilis oleh Microsoft pada tanggal 19
November 2007, bersamaan dengan dirilisnya Microsoft Visual C# 2008,
Microsoft Visual C++ 2008, dan Microsoft .NET Framework 3.5.
2. 4.2 Microsoft Access 2007
Microsoft Access (Microsoft Office Access) adalah sebuah program
aplikasi basis data komputer relasional yang ditujukan untuk kalangan
rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan
anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft
Word, Microsoft Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan
mesin basis data Microsoft Jet Database Engine, dan juga menggunakan
tampilan grafis yang intuitif sehingga memudahkan pengguna.
Top Related