• Tidak ada hasil yang ditemukan

Penjadwalan mesin menggunakan Algoritma Pour.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penjadwalan mesin menggunakan Algoritma Pour."

Copied!
187
0
0

Teks penuh

(1)

PENJADWALAN MESIN MENGGUNAKAN

ALGORITMA POUR

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Disusun Oleh :

Benediktus Yoga Adipradana 065314066

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

ii

JOBS SCHEDULING ALGORITHM POUR

A THESIS

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Informatics Engineering Department

By:

Benediktus Yoga Adipradana

NIM : 065314066

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)
(4)
(5)

v

HALAMAN MOTTO

“TETAP SEMANGAT KEHIDUPAN KERAS”

“TETAPLAH BERGERAK MAJU, SEKALIPUN

LAMBAT. KARENA DALAM KEADAAN TETAP

BERGERAK ANDA

MENCIPTAKAN KEMAJUAN”

(6)

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat

karya orang lain kecuali telah disebutkan dalam kutipan atau daftar pustaka,

sebagaimana layaknya karya ilmiah.

Yogyakarta, Juli 2013

Penulis,

(7)

vii

PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Benediktus Yoga Adipradana

NIM : 065314166

Demi pengembangan ilmu pengetahuan,saya memberikan kepada perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul :

PENJADWALAN MESIN DENGAN ALGORITMA POUR

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan

kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan

dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data,

mendistribusikannya secara terbatas dan mempublikasikannya di internet atau media

lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun

memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai

penulis. Demikian pernyataan ini yang saya buat dengan sebenarnya.

Dibuat di Yogyakarta,

Pada tanggal : Juli 2013

Yang menyatakan

(8)

viii ABSTRAK

Peneliti ini mengenai bagaimana menyelesaikan penjadwalan mesin dengan

mesin berjumlah 5 dan job berjumlah 4 menggunakan metode pour pada bahasa

pemrograman java. Dengan tujuan untuk mengurangi waktu tunggu sehingga waktu total

maksimal dapat berkurang dan produktifitas dapat meningkat, mengurangi keterlambatan

pada pekerjaan, dan mengurangi antrian yang ada. Hasil penelitian berupa sebuah sistem

yang dapat menghitung penjadwalan mesin menggunakan metode pour. Dengan hasil

uji coba pada permasalahan penjadwalan mesin dengan jumlah job 4 dan jumlah

mesin 5 program ini dapat menampilkan penjadwalan mesin menggunakan

(9)

ix ABSTRACT

The researchers on how to resolve the scheduling engine to engine and amounted

to 5 job consists of 4 using the method pour the java programming language. With

the aim of reducing waiting time so that the maximum total time can be reduced

and productivity can be increased, reducing the delay in the work, and reduce

queues exist. The results form a system that can calculate the scheduling engine

pour method. With the results of tests on the machine scheduling problems with

job number 4 and number 5 machine scheduling program can display engine uses

(10)

x

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa karena atas segala berkat dan rahmat-Nya penulis dapat menyelesaikan skripsi dengan judul “Penjadwalan Mesin Menggunakan Algoritma Pour”.

Penulisan skripsi ini diajukan untuk memenuhi salah satu syarat memperoleh

gelar Sarjana Teknik Program Studi Teknik informatika Universitas Sanata Dharma

Yogyakarta.

Dengan terselesaikannya penulisan skripsi ini, penulis mengucapkan terima kasih

kepada pihak-pihak yang telah membantu memberikan dukungan baik berupa masukan

ataupun berupa saran. Ucapan terima kasih ditujukan kepada :

1. Yesus Kristus terimakasih atas berkat rahmat dan karunia yang melimpah.

2. Santo Benediktus terimakasih telah mejadi Santo pelindungku.

3. Papa M.T. Pangarso dan Mama A.M. Wahyu Sri Wulandari yang tak

henti-hetinya memberikan semangat, doa dan dana yang mengalir setiap waktu.

4. Bapak Alb. Agung Hadhiatma, S.T., M.T. selaku dosen pembimbing yang telah

memberikan dukungan, bantuan dan dorongan kepada penulis selama mengikuti

proses perkuliahan sampai dengan penyelesaian skripsi ini.

5. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc. selaku Dekan Fakultas

Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

6. Ibu Ridowati Gunawan, S.Kom., M.T. selaku Ketua Jurusan Teknik Informatika

Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

7. Adiku Ronaldo Adi Wiratama tersayang atas doa dan dukungannya.

8. Dwi Elok Permataningtyas terimakasih atas dukungan, doa, dan semangatnya

selama ini tetap semangat.

9. Dra. YFM. Gien Agustinawansari, Ak, M.M. terimakasih bude untuk doa semangat

dan bantuanya sehingga saya dapat menyelesaikan studi.

10. Eyang putri dan kakung terimakasih tidak henti hentinya mendoakan cucumu ini

sehingga dapat menyelesaikan tugas akhir dengan baik.

(11)

xi

12. Johanes De Deo terimakasih buat bantuanya bro.

13. Seluruh warga kos Damai made “brekele”, theo “edo”, florry “gendut”, igi “bravo”, tian “nyawa”,krisna, Mas agung “mas kos”, terimakasih buat dukungan kalian semua saudaraku..

14. Semua teman-teman seperjuangan di Jogja Mas wawan, yoga “suwex”, manto “juling”, kitti, warih, kang edi, thomas “gudik” makasih buat semangat kalian dan kebersamaan kalian.

15. Om Slamet, Om Santoso, Om Jantul, Om Gondrong terimakasih sudah menemani

disaat susah senang ^_^

16. Defense of the ancients....

Dalam penulisan skripsi ini, pastilah masih banyak kekurangan dan hal yang

perlu diperbaiki. Oleh karena itu saran dan kritik dari pembaca yang sekiranya dapat

membangun sangat penulis harapkan.

Akhir kata, semoga penulisan skripsi ini berguna untuk menambah wawasan

ataupun menjadi referensi bagi para pembaca sekalian khususnya pada mahasiswa Teknik

Informatika.

Yogyakarta, juni 2013

(12)

xii

DAFTAR ISI

HALAM JUDUL... i

HALAMAN JUDUL (INGGRIS)... ii

HALAMAN PERSETUJUAN PEMBIMBING... iii

HALAMAN PENGESAHAN... iv

HALAMAN MOTTO... v

PERNYATAAN KEASLIAN KARYA... vi

PERNYATAAN PERSETUJUAN... vii

ABSTRAK... viii

ABSTRACT... ix

KATA PENGANTAR... x

DAFTAR ISI... xi

DAFTAR GAMBAR... xv

BAB I PENDAHULUAN... 1

1.1 Latar Belakang Masalah... 1

1.2 Rumusan Masalah... 2

1.3 Tujuan Penelitian... 2

1.4 Pembatasan Masalah... 3

1.5 Metodologi Penelitian... 3

1.6 Sistematika Penulisan... 4

BAB II LANDASAN TEORI... 6

2.1 Perencanaan dan Pengendalian Produksi... 6

(13)

xiii

2.2.1 Tujuan Penjadwalan... 8

2.2.2 Klasifikasi Penjadwalan... 10

2.2.2.1 Berdasarkan Jumlah Mesin... 11

2.2.2.2 Pola Aliran Proses... 11

2.2.2.3 Pola Kedatangan Pekerjaan... 14

2.2.2.4 Sifat Informasi... 15

2.2.3 Input Sistem Penjadwalan... 15

2.2.4 Output Sistem Penjadwalan... 16

2.2.5 Istilah-istilah dalam Penjadwalan... 18

2.2.6 Tipe Ruang Lingkup Penjadwalan... 19

2.3 Aturan Prioritas... 21

2.4 Sistem Pengendalian Situasi Produksi... 22

2.5 Pengertian Metode Pour... 24

2.6 Pengertian Java... 25

BAB III ANALISA DAN PERANCANGAN SISTEM... 26

3.1 Analisis Sistem... 26

3.1.1 Kebutuhan Hardware... 26

3.1.2 Kebutuhan Software... 26

3.2 Perancangan Sistem... 26

3.3 Perancangan Perangkat Lunak... 28

3.4 Kasus Pengerjaan Algoritma Pour... 30

BAB IV IMPLEMENTASI SISTEM DAN ANALISIS SISTEM... 43

(14)

xiv

DAFTAR PUSTAKA... 61

(15)

xv

DAFTAR GAMBAR

Gambar 2.1 Jalur Pure Flow Shop... 12

Gambar 2.2 Jalur General Flow Shop... 12

Gambar 2.3 Jalur Job Shop... 13

Gambar 2.4

Elemen input-output, prioritas dan ukuran kinerja dari system

penjadwalan... 17

(16)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Perkembangan teknologi komputer sampai dengan saat ini telah mencapai

perkembangan yang sangat pesat. Bentuk perkembangan dari teknologi komputer

adalah berkembangnya aplikasi berbasis komputer yang menggabungkan antara

komputer sebagai perangkat keras dan bahasa pemrograman sebagai desain sistem

yang berfungsi untuk pengambil keputusan. Terutama pada sebuah proses

penjadwalan produksi.

Penjadwalan produksi merupakan komponen yang sangat penting dalam

proses produksi, karena dengan penjadwalan produksi yang optimal diharapkan dapat

memperlancar proses produksi. Dalam sebuah lantai produksi, penjadwalan produksi

selalu menjadi permasalahan yang mendasar karena penjadwalan merupakan langkah

utama sebelum memulai sebuah produksi. Jika penjadwalan produksi hanya dilalukan

secara manual tanpa ada sistematis yang baik maka proses produksi tidak akan

berjalan dengan lancar sesuai yang diharapakan. Maka dibutuhkan sebuah

penjadwalan yang baik agar waktu dan biaya pengerjaan yang dikeluarkan ditekan

seminimal mungkin tetapi hasil yang di dapatkan maksimal. Penjadwalan yang baik

akan memberikan dampak positif, yaitu rendahnya biaya operasi dan waktu

(17)

Banyak terdapat metode yang dapat digunakan dalam penjadwalan, salah satu

metode yang dapat digunakan dalam penjadwalan adalah metode pour. Digunakan

pour dengan tujuan meminimkan maskepan yaitu berdasarkan pendekatan kombinasi.

Hal ini dengan caara menggantikan job dengan job lainya dalam urutan sampai

ditemukan kombinasi urutan yang dapat memenuhi kriteria tujuan.

1.2. Rumusan Masalah

Sesuai dengan masalah yang dijelaskan dalam latar belakang permasalahan

diatas, perumusan masalah yang akan diteliti adalah bagaimana menyelesaikan

penjadwalan mesin dengan mesin berjumlah 5 dan job berjumlah 4 menggunakan

metode pour pada bahasa pemrograman java.

1.3. Tujuan Penelitian

Adapun maksud dari penelitian ini antara lain:

a. Mengurangi waktu tunggu sehingga total waktu dapat berkurang. Dan

produktifitas dapat meningkat.

b. Mengurangi beberapa kelambatan pada pekerjaan yang mempunyai batas

waktu penyelesaian sehingga akan meminimisasi biaya kelambatan.

(18)

1.4. Pembatasan Masalah

Adapun batasan masalah yang diambil dalam memecahkan masalah agar

pembatasan yang dilakukan dapat lebih terarah dalam penelitian ini. Penjadwalan

yang dilakukan adalah penjadwalan mesin pada proses pembuatan produk yang

mengunakan metode pour, dan bilangan variabel yang digunakan adalah bilangan

bulat.

1.5. Metodologi Penelitian

Metodologi yang digunakan dalam pembuatan tugas akhir ini adalah sebagai

berikut :

a. Studi pustaka

Pada tahan ini dilakukan mencari literatur serta mempelajari tentang

pengenalan penjadwalan mesin pada Flow shop scheduling menggunakan

algoritma Pour, pengenalan java programing pada netbeans 7.2.1.

b. Analisis Sistem

Di tahap ini yang dilakukan adalah menganalisa jalannya aplikasi

penjadwalan mesin.

c. Pengujian

Pada tahan ini dilakuan uji coba program dan menganalisa hasil program

yang meliputi tingkat keakuratan dan keberhasilan.

(19)

Pada tahan ini menyimpulakn hasil analisa program dengan tingkat

keakuratan dan keberhasilann.

1.6. Sistematika penulisan

Adapun sistematika penulisan dalam penyusunan laporan Tugas Akhir adalah

sebagai berikut:

Bab 1 Pendahuluan

1.1Latar Belakang Masalah

Berisikan mengenai latar belakang masalah yang akan diteliti.

1.2Identifikasi Masalah

Berisikan mengenai masalah yang timbul serta pengidentifikasian masalah.

1.3Tujuan Penelitian

Berisikan tentang tujuan dilaksanakan penelitian Tugas Akhir.

1.4Pembatasan Masalah

Berisikan tentang pembatasan dari penelitian.

1.5Metodologi Penelitian

Berisikan metodologi yang digunakan.

1.6Sistematika Penulisan

Berisikan tentang urutan penulisan laporan penelitiian yang tersusun dan

(20)

Bab 2 Tinjauan Pustaka

Bab ini mencakup tentang teori-teori yang berhubungan dengan judul

penelitian yang dibuat oleh penulis.

Bab 3 Analisis Perancangan Sistem

Bab ini berisikan tentang model atau cara pemecahan masalah serta

langkah-langkah pemecahan masalah yang digambarkan dalam flow chart pemecahan

masalah.

Bab 4 Implementasi Sistem dan Analisis Sistem

Bab ini dikemukakan proses implementasi sesuai dengan rancangan sistem

yang dibuat

Bab 5 Kesimpulan

Berisikan kesimpulan yang terdapat dari pembahasan bab-bab sebelumnya

(21)

6

BAB II

LANDASAN TEORI

2.1. Perencanaan dan Pengendalian Produksi

Perencanaan dan pengendalian produksi adalah suatu proses perencanaan

dan pengorganisasian pekerjaan, bahan baku, mesin dan peralatan serta modal

yang diperlukan untuk memproduksi barang pada suatu periode tertentu sesuai

dengan yang diramalkan dan kemampuan dari perusahaan.

Proses perencanaan dan pengendalian prosuksi dapat membantu

perusahaan dalam mengoptimalkan sumber daya yang dimiliki untuk mencapai

tujuan yang diinginkan. Proses perencanaan dan pengendalian produksi tersebut

tersiri dari tahap-tahap yang telah tersusun secara sistematis dan saling terkait satu

sama lain.

Perencaan produksi merupakan suatu fungsi manajemen, dimana dalam

perencanaan ditentukan usaha dan tindakan yang perlu diambil oleh pihak

perusahaan, serta mempertimbangkan masalah yang akan timbul pada masa yang

akan datang berdasarkan penyesuaian permintaan (demand) yang berasal dari

permasalahan dengan keseluruhan kemampuan yang ada.

Tahap-tahap perencanaan dan pengendalian produksi antara lain

peramalan, perencanaan kebutuhan material, perencanaan kebutuhan kapasitas

(22)

2.2. Pengertian Penjadwalan

Penjadwalan diartikan sebagai rencana pengaturan kerja serta

pengalokasian sumber, baik waktu maupun fasilitas untuk setiap operasi yang

harus diselesaikan (Vollman; 1998). Menurut Kenneth R. Baker penjawalan

adalah sebagai proses pengalokasian sumber-sumber untuk memilih sekumpulan

tugas dalam jangka waktu tertentu. Fungsinya adalah sebagai alat untuk

pengembalian keputusan yaitu untuk menetapkan suatu jadwal (Baker; 1974).

Menurut Bedworth (2002, p72), terdapat dua target yang ingin dicapai melalui

penjadwalan mesin, yaitu jumlah output yang dihasilkan (throughtput), serta batas

waktu penyelesaian yang telah ditetapkan (due date). Kedua target ini dinyatakan

melalui kriteria penjadwalan (misalnya minimasi maskepan, misimasi mean flow

time, minimasi mean lateness, minimasi maksimum tardiness, minimasi mean

tardiness, minimasi number of tardy).

Dari sekian banyak definisi penjadwalan yang telah ada pada saat ini,

intinya adalah:

 Penjadwalan berfungsi sebagai alat pengambilan keputusan.

 Penjadwalan merupakan teori berisi prinsip-prinsip dasar, model, teknik

dan kesimplan logis dalam pengambilan keputusan.

Untuk menyelesaikan masalah penjadwalan yang dihadapi, dapat

digunakan beberapa pendekatan. Pendekatan tersebut dibagi menjadi dua yaitu:

 Pendekatan yang lebih modern mencakup gabungan antara metode

penelitian operasional, intelegensia tiruan, simulasi kejadian dan ide-ide

(23)

 Pendekatan tradisional meliputi metode-metode penelitian operasional.

2.2.1. Tujuan Penjadwalan

Tujuan penjadwalan yang ingin dicapai dengan dilaksanakannya

penjadwalan produksi adalah:

1. Meningkatkan produktivitas mesin, yaitu dengan

mengurangi waktu mesin menganggur.

2. Mengurangi persediaan barang setengah jadi degnan jalan

mengurangi jumlah rata-rata tugas yang menunggu dalam

antrian suatu mesin karena mesin tersebut sibuk.

3. Meminimasi biaya produksi.

4. Membantu dalam pengambilan keputusan sehingga

penambahan biaya yang mahal dapat dihindarkan.

5. Mengurangi keterlambatan karena batas waktu yang telah

dilampaui, dengan cara :

a. Mengurangi maksimum keterlambatan.

b. Mengurangi jumlah pekerjaan yang terlambat.

Pada saat merencanakan suatu penjadwalan produksi, yang harus

diperhatikan adalah ketersediaan sumber daya yang dimiliki, baik berupa

tenaga kerja, peralatan (processor) ataupun bahan baku. Karena sumber

daya yang dimiliki dapat berubah-ubah maka penjadwalan merupakan

(24)

Adapun tipe keputusan yang akan diperoleh dari pelaksanaan

penjadwalan tersebut berupa:

Pengurutan pekerjaan (sequencing)

Penugasan (dispatching)

Pengurutab operasi suatu job (routing)

Penentuan waktu mulai dan selesai pekerjaan (timing)

Persoalan penjadwalan timbul apabila, beberapa pekerjaan akan

dikerjakan bersamaan, sedangkan sumber daya seperti peralatan jumlahnya

terbatas. Untuk mencapai hasil yang optimal dengan keterbatasan sumber

daya yang dimiliki, maka diperlukan adanya penjadwalan sumber-sumber

tersebut secara efisien.

Penjadwalan memiliki beberapa elemen-elemen penting yang harus

diperhatikan sepert job, operasi, mesin serta hubungan yang terjadi

diantaranya:

1. Job

Job dapat diartikan sebagai suatu pekerjaan yang harus

diselesaikan untuk mendapatkan suatu produk. Job biasanya terdiri

dari beberapa operasi yang harus dikerjakan (minimal 1 operasi).

Manajemn melalui perencanaan yang telah dibuat atau berdasarkan

pesanan dari pelanggan memberikan job kepada bagian shop florr

untuk dikerjakan. Informasi yang dipunyai oleh suatu job

dilakukan didalamnya, saat harus diselesaikan dan saat job mulai

(25)

2. Operasi

Operasi adalah himpunan bagian dari job, untuk menyelesaikan

suatu job, operasi-operasi dalam job diurutkan dalam suatu urutan

pengerjaan tertentu. Urutan tersebut ditentukan pada saat

perencanaan proses. Suatu operasi baru dapat dikerjakan apabila

operasi atau proses yang mendahului sudah dikerjakan terlebih

dahulu. Setiap operasi mempunyai waktu proses, waktu proses

adalah waktu pengerjaan yang diperlukan untuk melakukan operasi

tersebut. Waktu proses operasi untuk job biasanya telah diketahui

sebelumnya dan mempunyai nilai terentu.

3. Mesin

Mesin adalah sumber daya yang diperlukan untuk mengerjakan

proses penyelesaian suatu job. Setiap mesin hanya dapat

memproses satu tugas pada saat tertentu.

2.2.2. Klasifikasi Penjadwalan

Permasalahan penjadwalan dapat diklasifikasikan berdasarkan

factor-faktor:

1. Mesin:

 Mesin tunggal

 Dua mesin

(26)

2. Aliran proses:

Job shop

Flow shop

3. Pola kedatangan:

 Statis

 Dinamis

4. Elemen penjadwalan:

 Deterministic

 Stokastik

2.2.2.1. Berdasarkan Jumlah Mesin

Dibedakan menjadi dua bagian yaitu:

1. Penjadwalan pada mesin tunggal

2. Penjadwalan pada mesin ganda

2.2.2.2. Pola Aliran Proses

Pola aliran proses produksi dapat dibedakan atas:

1. Flow Shop

flow shop dibedakan menjadi dua yaitu

1. Pure Flow Shop

Pure flow shop yaitu flow shop yang memiliki jalur yang sama

untuk semua tugas. Lintasan prosesnya dapat dilihat lebih jelas

(27)

Gambar 2.1 Jalur Pure Flow Shop

2. General Flow Shop

General flow shop yaitu flow shop yang memiliki pola aliran

berbeda. Ini disebabkan adanya variasi dalam pekerjaan tugas,

sehingga tugas yang datang tidak harus dikerjakan pada semua

mesin. Jadi mungkin suatu proses dilewati. Lintasan proses dapat

dilihat pada Gambar 2.2 dibawah ini.

M1

M1

M1

J2

Gambar 2.2 Jalur General Flow Shop

2. Job shop

Pada pola aliran prose job shop, masing-masing job memiliki urutan

operasi yan gunik. Setiap job bergerak dari satu mesin kerja menuju mesin

kerja lainya dengan pola yang random. Lintasan prosesnya dapat dilihat

pada Gambar 2.3 dibawah ini.

M1 M1 m1

(28)

M1

M1

M1

J1

J2

Gambar 2.3 Jalur Job shop

Proses job shop mempunyai karakteristik dari pengurutan peralatan

yang sama berdasarkan fungsi. Sebagaimana aliran job dari stasiun kerja

ke stasiun kerja lain, atau dari satu departmen ke department lainnya.

Menurut Fogarty (2003, p97), karakteristik proses job shop adalah

sebagai berikut:

1. Peralatan penanganan material dan peralatan produksi multi-guna

dapat diatur dan dimodifikasi untuk menanganai berbagai produk

yang berbeda.

2. Produk-produk yang berbeda diproses dalam lot-lot atau batch.

3. Pemrosesan orde-order membutuhkan pengendalian dan

perencanaan yang terperinci sehubungan dengan variasi pola-pola

aliran dan pemisahan stasiun-stasiun kerja.

4. Pengendalian membutuhkan informasi tentang job dan shop floor

yang terperinci meliputi urutan proses, prioritas order, waktu yang

dibutuhkan oleh setiap job, dan kapasitas yang dibutuhkan dari

stasiun kerja kritis pada perioda.

5. Beban-beban stasiun kerja secara menyolok; masing-masing

(29)

6. Ketersediaan sumber-sumber, meliputi material, personal, dan

peralatan, harus dikoordinasikan dengan perencanaan order.

7. Sejumlah material work in process cenderung meningkat. Hal ini

dalam aliran proses menyebabkan antrian-antrian dan work in

process yang panjang.

8. Menggunakan teknik-teknik penjadwalan tradisional, total waktu

dari awal operasi pertama sampai selesai operasi terahir, relatif

panjang dibandingkan dengan total waktu operasi

9. Para pekerja langsung biasanya memiliki skill yang lebih tinggi

dan lebih terlatih daripada pekerja untuk operasi flow process.

Dua permasalahan utama yang harus diselesaikan dengan

mengguanakan penjadwalan:

1. Penentuan mesin yang akan digunakan (pengalokasian mesin)

untuk menyelesaikan suatu proses produksi.

2. Penjadwalan penentuan waktu pemakaian mesin tersebut

(pengurutan).

2.2.2.3. Pola Kedatangan Pekerjaan (Job)

Pola kedatangan pekerjaan dapat debedakan atas:

1. Pola kedatangan statis, yaitu pola dimana pekerjaan datang secara

(30)

2. Pola kedatangan dinamis, yaitu pola kedatangn dimana pekerjaan

datang secara acak atau kedatangan pekerjaan tidak menentu.

2.2.2.4. Sifat Informasi

Dibagi menjadi dua bagian yaiyu:

1. Informasi bersifat deterministic, yaitu suatu informasi yang

didalamnya terdapat kepastian tentang pekerjaan dan mesin,

misalnya mengenai waktu kedatangan pekerjaan dan waktu proses.

2. Informasi bersifat stokastok, yaitu model didalamnya terdapat

kepastian mengenai pekerjaan dan mesin.

Informasi-informasi yang berhubungan dengan karakteristik job,

yaitu saat kedatangan, batas waktu penyelesaian, perbedaan kepentingan

diantara job yang dijadwalkan, banyak operasi dan waktu proses tiap

operasi.disamping itu terdapat pula informasi yang menyangkut

karakteristik mesin seperti jumlah mesin, kapasitas, fleksibilitas serta

efesiensi pengguanaan yang berbeda untuk job yang berbeda.

2.2.3. Input Sistem penjadwalan

Dalam melakukan aktifitas penjadwalan diperlukan input berupa kebutuhan kapasitas dari order-order yang akan dijadwalkan baik itu jenis

serta jumlah sumber daya yang akan digunakan. Informasi ini dapat

(31)

 Lembar kerja operasi (OPC) yang berisi keterampilan dan

peralatan yang dibutuhkan, serta waktu standar pengerjaan.

Bill of Material (BOM) yang berisi kebutuhan-kebutuhan akan

komponen, sub komponen dan bahan pendukung.

 Catatan terbaru mengenai status tenaga kerja, peralatan yang

tersedia akan berpengaruh pada kualitas keputusan

penjadwalan yang diambil.

2.2.4. Output Sistem Penjadwalan

Untuk memastikan bahwa suatu aliran kerja yang lancer melalui

tahapan produksi, maka system penjadwalan harus dibentuk

aktifitas-aktifitas output sebagai berikut:

1. Pembebanan (loading)

Pembebanan melibatkan penyesuaian kebutuhan kapasitas untuk

order-order yang diterima atau diperkirakan dengan kapasitas yang

tersedia. Pembebanan dilakukan dengan menugaskan order-order

pada fasilitas, operator-operator dan peralatan tertentu.

2. Pengurutan (sequencing)

Pengurutan ini merupakan penugasan tentang order-oeder dimana

yang dipprioritaskan untuk diproses dahulu bila suatu fasilitan harus

memproses banyak job.

3. Prioritas job (dispatching)

Prioritas job merupakan prioritas kerja tentang job-job mana yang

(32)

4. Pengendalian kinerja penjadwalan, dilakukan dengan:

Meninjau kembali status order-order pada saat melalui system

tertentu.

Mengatur kembali urutan-urutan, misalnya expediting,

order-order yang jauh dibelakang atau mempunyai prioritas utama.

5. Up-dating jadwal, dilakukan sebagai refleksi kondisi operasi yang

terjadi dengan merevisi prioritas-prioritas.

Elemen-elem input-output, prioritas dan ukuran kinerja dari system

penjadwalan akan tampak seperti gambar 3.4 dibawah ini.

Pembatasan:

Ketersediaan kapasitas jangka pendek Keterbatasan persediaan pengaman Kebutuhan perawatan

Pembatasan urutan-urutan

Variabel keputusan: Ukuran workforce harian Tanggal produksi harian Penugasan pesanan Prioritas

input

Kebutuhan kapasitas dari: 1. Pesan yang diterima 2. permintaan jangka pendek

Ketrampilan Peralatan Bahan baku Dll. Jadwal terperinci Pembenahan pesanan Urut-urutan pesanan Expediting pesanan Updating dan kontrol

output

Ukuran kinerja

Minimasi Biaya tetap penjadwalan

= Biaya menganggur karena rendahnya utilitas kapasitas + Biaya karena pengiriman yang terlambat

+ Biaya karena penyesuaian

[image:32.595.97.553.162.647.2]

jadwal

(33)

2.2.5. Istilah-istilah dalam Penjadwalan

Dalam melakukan sebuah penjadwalan, terdapat beberapa istilah

yang digunakan diantaranya adalah:

Processing time (ti) : waktu yang diiperlukan untuk menyelesaikan

satu operasi termasuk persiapan dan pengaturan proses.

Due date (di) : batas waktu yang perbolehkan untuk

menyelesaikan suatu pekerjaan.

Completion time (ci) : rentang waktu mulai dari awal (t=0) sampai

pekerjaan selesai dikerjakan.

Lateness (Li) : perbedaan antara Completion time dengan Due

date, sehingga bisa positif (+) atau negative (-).

Li = ci– di < 0

Keterngan : positif yaitu saat penyelesaian memenuhi batas =

tardy job.

Tardiness (Ti) : keterlambatan penyelesaian suatu pekerjaan dari

due date.

Slack time (Si) : waktu sisa yang tersedia bagi suatu pekerjaan (

waktu proses – due date).

Si = di - ti

Flow time (Fi) : waktu antara dimana pekerjaan 1 telah siap untuk

dikerjakan sampai pekerjaan selesai.

Waiting time (Wi) : waktu tunggu pekerjaan 1 dari saat pekerjaan siap

(34)

Maskepan (Ms) : jangka penyelesaian suatu penjadwalan

(penjumlahan seluruh waktu proses).

Ms = Cmax

Ready time (Ri) : menunjukkan saat pekerjaan ke-I dapat dikerjakan

(siap dijadwalkan).

2.2.6. Tipe Lingkungan Penjadwalan

Lingkungan penjadwalan dalam suatu system produksi dapat

dibedakan beberapa macam yang masing-masing mempunyai

karakteristik yang berbeda.

Tipe-tipe lingkungan penjadwalan dalam system produksi, antara lain:

1. Classic Job Shop

Karakteristik system produksi ini adalah produksi diskrit, alirannya

kompleks, job unik dan part-part tidak multi purpose (kegunaan).

2. Open Job Shop

Sistem produksi ini hamper sama dengan job shop, tetapi

perbedaannya pada job yang berulang dan part yang multi purpose.

Selain sistem produksi ini job-job yang dikerjakan sering kali

mempunyai alternative routing.

3. Batch Shop

Proses produksinya bisa diskrit atau kontinyu, aliran kurang komplek,

banyak job berulang, part multi purpose, pengelompokkan dan

(35)

4. Flow Shop

Proses produksinya bisa diskrit atau kontinyu, aliran linear, job

mempunyai kemiringan yang tinggi, pengelompokan dan penentuan

ukuran lot menjadi suatu yang penting.

5. Batch/Flow Shop

Mirip dengan flow shop, dengan perbedaan mempunyai proses batch

yang kontinyu.

6. Manufacturing Cell

Proses produksinya diskrit, mempunyai tipe open shop atau batch

shop yang terotomatis.

7. Assembly Shop

Versi perakitan (Assembly Version) dari open job shop atau batch

shop.

8. Assembly Line

Volume produksinya tinggi dan variasinya rendah.

9. Transfer Line

Sistem ini bercirikan volume produk sangat tinggi dan bervariasi

rendah, fasilitas produksi yang linear dengan operasi yang

terotomatis.

10. Flexible Transfer Line

Versi yang lebih modern dari sel dan lini transfer dimaksudkan untuk

(36)

2.3. Aturan Prioritas

Aturan prioritas digunakan untuk memenuhi job mana yang akan

dikerjakan terlebih dahulu ( Baker; 1947) mengklasifikasikan aturan-aturan

prioritas ke dalam 2 tipe, yaitu:

1. Aturan Prioritas Lokal

Pada aturan prioritas ini penugasan didasarkan pada informasi yang

berkaitan dengan job yang berada pada antrian suatu mesin secara

individual. Aturan yang termasuk pada tipe ini adalah:

Short Processing Time (SPT)

Prioritas tertinggi diberikan pada job yang memiliki waktu proses

terpendek. Aturan ini cenderung mengurangi work in process,

mean flow serta mean lateness.

Least Work Remaining (LWRK)

Prioritas tertinggi diberikan pada job yang memiliki sisa waktu

yang terpendek.

Fisrt Come First Served (FCFS)

Most Work Remaining (MWKR)

Prioritas tertinggi diberikan pada job yang memiliki waktu proses

terbanyak.

Most Operation Remaining (MOPNR)

Prioritas tertinggi diberikan pada job yang memiliki waktu proses

(37)

2. Aturan Prioritas Global

Aturan prioritas blobal memanfaatkan informasi atau status dari

mesin-mesin yang lainnya. Aturan tergolong tipe ini adalah:

Anticipates Work In Next Queue (AWINQ)

Prioritas tertinggi diberikan kepada operasi yang berbeda pada

stasiun dengan antrian terpendek.

First Of First On (FOFO)

Prioritas tertinggi diberikan kepada operasi yang selesai paling

awal.

2.4. Sistem Pengendalian Situasi Produksi

Sistem pengendalian produksi amat bergantung pada situasi yang

dihadapi. Terdapat berbagai klasifikasi situasi produksi, namun secara umum

memiliki anggapan sebagai berikut:

 Tujuan pengklasifikasian adalah untuk memisahkan antara berbagai

situasi kontrol produksi yang berbeda.

 Perbedaan dalam sistem control dapat dijelaskan oleh karakteristik

situasi produksi dalam hubungannya dengan lingkungan.

 Pemisahan didasarkan pada sifat order pelanggan dan aturan yang

dimainkan dalam proses produksi.

Perbedaan yang mendasar antara situasi-situasi produksi pada perusahaan

adalah saat meneriman order pelanggan relatif terhadapproduksi produk akhir.

(38)

menunggu konsumen lebih kecil dari lead time, maka organisasi tersebut harus

memelihara persediaan produk jadi. Jika konsumen mentolelir menunggu bebrapa

hari, organisasi akan lebih memilih strategi merakit untuk dipesan atau

memproduksi untuk dipesan.

Secara umum pembagian klasifikasi situasi produksi menurutt Fogarty

(1991)

adalah sebagai berikut:

a. Make to stok

Mengubah komponen tingkat rendah dan bahan mentah keseluruhan

menjadi produk akhir untuk mengantisipasi order pelanggan.

b. Assemle to order

Mengubah komponen tingkat rendah dan bahan mentah menjadi level

manufaktur tertentu dan membentuk order pelanggan bila menerima

pesanan.

c. Make to order

Sangat sedikit atau sama sekali tidak memiliki material tingkat rendah

hingga pesanan pelanggan diterima.

d. Engineer to order

Sangat sedikit mengetahui tentang apa yang akan diproduksi hingga

pesanan diterima dan membuat spesifikasi engineering-nya.

Dalam situasi produksi terakhir, pesanan pelanggan memainkan peranan

penting dalam sistem produksi dan sistem kontrol produksi: seluruh aktivitas

(39)

2.5.

Pengertian Metode Pour

Hamid Davoud Pour (2001) mengembangkan algoritma seruistik baru

dalam menyelesaikan penjadwalan flowshop dengan tujuan meminimalkan

maskepan yaitu berdasarkan pendekatankombinasi. Hal ini dilakukan dengan cara

mengganti setiap job lainya dalam urutan sampai ditemukan kombinasi urutan

yang dapat memenuhi criteria tujuan.

Dalam metode ini diasumsikan bahwa semua job diproses secara terpisah

dan independent untuk setiapmesinya. Berikut adalah notasi yang digunakan:

a. Pij = waktu proses dari job i pada mesin j.

b. Cij = rentang waktu antara saat job i pada mesin j dimulai (t=0) sampai

job itu selesai.

c. Ci = sum of completion time untuk job i pada semua mesin.

d. Fmax = rentang waktu antara saat pekerjaan tersedia atau dapat

dimulai sampai pekerjaan itu selesai (maskepan).

2.6.

Pengertian Java

Java menurut definisi dari Sun adalah mana untuk sekumpulan teknologi

untuk membuat dan menjalankan perangkat lunak pada komputer stand alone

ataupun pada lingkungan jaringan. Java 2 adalah generasi kedua dari java

platform. Kata berdiri di atas sebuah mesin interpreter yang diberi mana Java

Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam

(40)

berisi bahasa mesin. Oleh karena itu, bahasa java disebut sebagai bahasa

pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasi,

asalkan pada sistem operasi tersebut terdapat JVM.

Agar sebuah program Java dapat dijalankan, maka file dengan ekstensi

.java harus dikompilasi menjadi file bytecode. Untuk menjalankan bytecode

tersebut dibutuhkan JRE (Java Runtime Environment) yang memungkinkan

pemakai untuk menjalankan program Java, hanya menjalankan, tidak untuk

membuat kode baru lagi. JRE berisi JVM dan library Java yang digunakan.

Java memiliki beberapa versi library atau teknologi yang disebut juga

sebagai edisi dari bahasa pemrograman Java. Tiga edisi utama dari library tersebut

adalah Micro, Standard, dan Enterprise. J2ME (Java2 Micro Edition) merupakan

edisi library yang dirancang untuk digunakan pada device tertententu seperti

pagers dan mobile phone. J2SE (Java2 Standard Edition) merupakan edisi library

yang dirancang untuk membuat aplikasi desktop atau applet pada web browser.

J2EE (Java2 Enterprise Edition) merupakan edisi librari Java yang dirancang

untuk membuat sebuah aplikasi enterprise yang memerlukan antarmuka dengan

sumber data (data source) atau dapat pula dikatakan bahwa J2EE adalah kelompok

(41)

26

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Sistem yang akan dibangun adalah program penjadwalan mesin mengunakan metode flow

shop scheduling mengunakan algoritma pour, dengan menghitung tingakat efektifas kerja pada

tiap mesin. Sehingga dapat menghasilkan urutan pengerjaan job dengan waktu yang paling

singkat dan efektif.

3.1.1. Kebutuhan Hardware

a) Intel(R) Core(TM) i3 CPU M 330 @ 2.31GHz (4 CPUs), ~2.1GHz

b) RAM 3072Mb

c) Harddisk 80Gb

d) Mouse, Keyboard, Monitor

3.1.2. Kebutuhan Software

a) Windows XP/ 7 / 8

b) Neatbeans IDE 7.2.1

3.2. Perancangan Sistem

Perancangan program menggunakan metode pour pada NeatBeans, pada saat program

selesai berjalan maka akan tertampil seluruh hasil perhitungan pengerjaan tiap mesin dan urutan

(42)

permasalahan pada penjadwalan mesin. Data yang ditampilkan dari hasil pengerjaan program

diasumsikan tidak ada mesin yang rusak saat digunakan.

Langkah-langkah pengerjaan Algoritma Heuristik Pour:

1. Memilih job 1 sebagai urutan pertama sementara dalam urutan pengerjaan sehingga

waktu proses job 1 pada semua mesin dianggap 0.

2. Menempatkan job-job lain (sebagai job yang sudah dipilih sebagai urutan pertama,

yaitu job 1) pada urutan berikutnya.

3. Memilih wajtu proses terkecil untuk masing-masing mesin.

4. Melakukan penambahan waktu proses (completion time) pada setiap Pij dengan

aturan increasing processing time, yaitu dengan menambahkan waktu proses secara

kumulatif dari yang terkecil menuju yang terbesar pada tiap Pij.

5. Menghitung sum of completion time (∑Ci) untuk setiap job yang ada.

6. Mengurutkan ∑Ci dengan aturan increasing order (yaitu pengurutan yang mulai dari

yang terkecil hingga yang terbesar) untuk diletakkan pada urutan setelah job yang

sudah dipilih untuk urutan pertama sementara.

7. Setelah didapatkan urutan sementara dimana job 1 sebagai urutan pertama, maka

menghitung Fmax-nya dari urutan sementara tersebut.

8. Melakukan ulang langkah 1-7 untuk setiap job yang ada yang akan ditempatkan

sebagai urutan pertama dari urutan pengerjaan job sampai didapatkan nilai Fmax

paling minimal.

9. Melakukan ulang langkah 1-8 untuk job yang akan menepati posisi berikutknya yaiut

posisi kedua, ketigan dan seterusnya setelah terpilih job untuk posisi pertama dengan

(43)

3.3. Perancangan Perangkat Lunak

Pada perancangan perangkat lunak ini penulis membuat program untuk menghitung

waktu efektif penjadwalan produksi. Program ini menggunakan bahasa java. Program ini

berjalan dengan input berupa jumlah job, jumlah mesin, jumlah waktu pengerjaan tiap mesin,

waktu pemrosesan pada setiap mesin.

(44)
[image:44.612.100.506.43.669.2]

Gambar 3.2 Diagram Alur Pengolahan Data

Data waktu proses tiap jobs pada tiap mesin

Pilih job 1 sebagai urutan pertama

Pilih waktu proses terkecil tiap mesin

Lakukan penambahan proses pada tiap Pij dengan aturan increasing

processing time

Hitung nilai Fmax

Ulangi langkah pengerjaan sampai tiap job menampati urutan pertama

Dipilih urutan pengerjaan dengan nilai Fmax paling minimal Hitung ∑Ci

Urutkan ∑Ci tiap job dengan aturan increasing order

Urutan pengerjaan sementara

Jadwal urutan pengerjaan job pada mesin

selesai

(45)

3.4. Kasus Pengerjaan Algoritma Pour

Contoh kasus Algoritma Pour

M1 M2 M3 M4 M5

J1 5 9 8 10 1

J2 7 3 10 1 8

J3 9 4 5 8 6

J4 4 8 7 7 2

I. Menentukan Urutan Pertama

A. Job 1 (J1) ditempatkan sebagai urutan pertama

1. Job 1 dipilih untuk menduduki urutan pertama sehingga waktu proses job 1 pada

semua mesin dianggap 0. Tempatkan job selain job 1 sebagai urutan pertama pada

urutan berikutnya.

M1 M2 M3 M4 M5

J1 5 9 8 10 1

J2 7 3 10 1 8

J3 9 4 5 8 6

J4 4 8 7 7 2

2. Memilih waktu proses terkecil untuk masing-masing mesin, yaitu :

M1 = 4 M2 = 3 M3 = 5 M4 = 1 M5 = 2

3. Lakukan penambahan waktu proses (completion time/makespan) pada setiap Pij

(46)

4. Hitunglah sum of completion time (∑Ci) untuk setiap job yang ada.

5. Mengurutkan ∑Ci dengan aturan increasing order dimana job 1 sebagai posisi

pertama dan diperoleh urutan sebagai berikut :

J1 – J4 – J2 – J3.

6. Hitung nilai Fmax

M1 M2 M3 M4 M5

J1 5 14 21 31 32

J4 9 22 29 38 34

J2 16 25 39 40 42

J3 25 30 44 52 58

Dari tabel diatas, diperoleh nilai Fmax = 58 menit

B. Job 2 (J2) sebagai urutan pertama

1. Job 2 dipilih untuk menduduki urutan pertama sehingga waktu proses job 2 pada

semua mesin dianggap 0. Tempatkan job selain job 2 sebagai urutan pertama pada

urutan berikutnya.

M1 M2 M3 M4 M5 ∑Ci

J1 - - - -

J2 11 3 22 1 8 49

J3 20 7 5 16 6 54

(47)

M1 M2 M3 M4 M5

J2 - - - - -

J1 5 9 8 10 1

J3 9 4 5 8 6

J4 4 8 7 7 2

2. Memilih waktu proses terkecil untuk masing-masing mesin, yaitu :

M1 = 4 M2 = 4 M3 = 5 M4 = 7 M5 = 1

3. Lakukan penambahan waktu proses (completion time/makespan) pada setiap Pij

dengan aturan increassing processing time.

M1 M2 M3 M4 M5

J2 - - - - -

J1 9 21 20 25 1

J3 18 4 5 15 6

J4 4 12 12 7 3

4. Hitunglah sum of completion time (∑Ci) untuk setiap job yang ada.

M1 M2 M3 M4 M5 ∑Ci

J2 - - - -

J1 9 21 20 25 1 69

J3 18 4 5 15 6 52

(48)

5. Mengurutkan ∑Ci dengan aturan increassing order dimana job 2 sebagai posisi

pertama dan diperoleh urutan sebagai berikut :

J2 – J4 – J3 – J1

6. Hitung nilai Fmax

M1 M2 M3 M4 M5

J2 7 10 20 21 29

J1 11 19 29 35 40

J3 20 24 34 44 50

J4 25 34 41 54 55

Dari tabel diatas, diperoleh nilai Fmax = 56 menit

C. Job 3 (J3) dipilih sebagai urutan pertama

1. Job 3 dipilih untuk menduduki urutan pertama sehingga waktu proses job 3 pada

semua mesin dianggap 0. Tempatkan job selain job 3 sebagai urutan pertama pada

urutan berikutnya.

M1 M2 M3 M4 M5

J3 - - - - -

J1 5 9 8 10 1

J2 7 3 10 1 8

(49)

2. Memilih waktu proses terkecil untuk masing – masing mesin, yaitu :

M1 = 4 M2 = 3 M3 = 8 M4 = 1 M5 = 1

3. Lakukan penambahan waktu proses (completion time/makespan) pada setiap Pij

dengan aturan increassing processing time.

M1 M2 M3 M4 M5

J3 - - - - -

J1 9 20 7 18 1

J2 16 3 25 1 11

J3 4 11 15 8 3

4. Hitunglah sum of completion time (∑Ci) untuk setiap job yang ada.

M1 M2 M3 M4 M5 ∑Ci

J3 - - - - 0

J1 9 20 7 18 1 55

J2 16 3 25 1 11 56

J3 4 11 15 8 3 41

5. Mengurutkan ∑Ci dengan aturan increassing order dimana job 3 sebagai posisi

pertama dan diperoleh urutan sebagai berikut :

(50)

6. Hitung nilai Fmax

M1 M2 M3 M4 M5

J3 9 14 19 27 33

J1 11 22 30 37 39

J2 16 31 38 48 49

J4 25 36 43 56 62

Dari tabel diatas, diperoleh nilai Fmax = 62 menit

D. Job 4 (J4) ditempatkan sebagai urutan pertama

1. Job 4 dipilih untuk menduduki urutan pertama sehingga waktu proses job 4 pada

semua mesin dianggap 0. Tempatkan job selain job 4 sebagai urutan pertama pada

urutan berikutnya.

M1 M2 M3 M4 M5

J4 - - - - -

J1 5 9 7 10 1

J2 7 3 10 1 8

J3 9 5 5 8 6

2. Memilih waktu proses terkecil untuk masing – masin mesin, yaitu :

M1 = 5 M2 = 3 M3 = 5 M4 = 1 M5 = 1

3. Lakukan penambahan waktu proses (completion time/makespan) pada setiap Pij

(51)

M1 M2 M3 M4 M5

J4 - - - - -

J1 5 17 12 19 1

J2 12 3 22 1 15

J3 21 8 5 9 7

4. Hitunglah sum of completion time (∑Ci) untuk setiap job yang ada.

M1 M2 M3 M4 M5 ∑Ci

J4 - - - -

J1 5 17 12 19 1 54

J2 12 3 22 1 15 53

J3 21 8 5 9 7 50

5. Mengurutkan ∑Ci dengan aturan increasing order dimana job 4 sebagai posisi

pertama dan diperoleh urutan sebagai berikut :

J4 – J3 – J1 – J2.

6. Hitung nilai Fmax

M1 M2 M3 M4 M5

J4 4 12 20 27 29

J3 13 18 25 35 38

J1 18 27 34 45 46

(52)

Dari tabel diatas, diperoleh nilai Fmax = 54 menit

Berdasarkan perhitungan langkah I diatas, diperoleh urutan pertama adalah job 4 (J4)

dengan nilai makespan terkecil yaitu Fmax = 54 menit.

II. Menentukan Urutan Kedua

A.Job 1 (J1) ditempatkan sebagai urutan kedua

1. Job 1 dipilih untuk menduduki urutan kedua sehingga waktu proses job 1 pada semua

mesin dianggap 0. Tempatkan job selain job 1 pada urutan berikutnya.

M1 M2 M3 M4 M5

J1 - - - - -

J2 7 3 10 1 8

J3 9 4 5 8 6

2. Memilih waktu proses terkecil untuk masing – masing mesin, yaitu :

M1 = 9 M2 = 3 M3 = 5 M4 = 1 M5 = 6

3. Lakukan penambahan waktu proses (completion time/makespan) pada setiap Pij

dengan aturan increasing processing time.

M1 M2 M3 M4 M5

J1 - - - - -

J2 7 3 15 1 14

(53)

4. Hitunglah sum of completion time (∑Ci) untuk setiap job yang ada.

M1 M2 M3 M4 M5 ∑Ci

J1 - - - -

J2 7 3 15 1 14 40

J3 16 7 5 9 6 43

5. Mengurutkan ∑Ci dengan aturan increasing order dimana job 1 sebagai posisi kedua

dan diperoleh urutan sebagai berikut :

J1 – J2 – J3

6. Hitung nilai Fmax

M1 M2 M3 M4 M5

J1 5 14 21 31 32

J2 12 21 22 32 40

J3 21 26 31 40 46

Dari tabel diatas, diperoleh nilai Fmax = 46 menit

B.Job 2 (J2) sebagai urutan kedua

1. Job 2 dipilih untuk menduduki urutan kedua sehingga waktu proses job 2 pada semua

mesin dianggap 0. Tempatkan job selain job 2 pada urutan berikutnya.

M1 M2 M3 M4 M5

J2 - - - - -

J1 5 9 8 10 1

(54)

2. Memilih waktu proses terkecil untuk masing – masing mesin, yaitu :

M1 = 5 M2 = 4 M3 = 5 M4 = 8 M5 = 1

3. Lakukan penambahan waktu proses (completion time/makespan) pada setiap Pij

dengan aturan increasing processing time.

M1 M2 M3 M4 M5

J2 - - - - -

J1 5 13 13 18 1

J3 14 4 5 8 7

4. Hitunglah sum of completion time (∑Ci) untuk setiap job yang ada.

M1 M2 M3 M4 M5 ∑Ci

J2 - - - -

J1 5 13 13 18 1 49

J3 14 4 5 8 7 38

5. Mengurutkan ∑Ci dengan aturan increasing order dimana job 2 sebagai posisi kedua

dan diperoleh urutan sebagai berikut :

(55)

6. Hitung nilai Fmax

M1 M2 M3 M4 M5

J2 7 10 20 21 29

J3 16 21 26 34 40

J1 21 30 37 47 48

Dari tabel diatas, diperoleh nilai Fmax = 48 menit

C. Job 3 (J3) dipilih sebagai urutan kedua

1. Job 3dipilih untuk menduduki urutan kedua sehingga waktu proses job 3 pada semua

mesin dianggap 0. Tempatkan job selain job 3 pada urutan berikutnya.

M1 M2 M3 M4 M5

J3 - - - - -

J1 5 9 8 10 1

J2 7 3 10 1 8

2. Memilih waktu proses terkecil untuk masing – masing mesin, yaitu :

M1 = 5 M2 = 3 M3 = 8 M4 = 1 M5 = 1

3. Lakukan penambahan waktu proses (completion time/makespan) pada setiap Pij

dengan aturan increasing processing time.

M1 M2 M3 M4 M5

J3 - - - - -

J1 5 12 8 11 1

(56)

4. Hitunglah sum of completion time (∑Ci) untuk setiap job yang ada.

M1 M2 M3 M4 M5 ∑Ci

J3 - - - -

J1 5 12 8 11 1 36

J2 12 3 18 1 9 42

5. Mengurutkan ∑Ci dengan aturan increasing order dimana job 3 sebagai posisi

pertama dan diperoleh urutan sebagai berikut :

J3 – J1 – J2

6. Hitung nilai Fmax

M1 M2 M3 M4 M5

J3 9 14 19 27 33

J1 14 23 30 40 41

J2 21 26 40 41 49

Dari tabel diatas, diperoleh nilai Fmax = 49 menit

Berdasarkan perhitungan untuk menentukan urutan kedua, maka diperoleh job 3 (J3)

sebagai urutan kedua dalam pembuatan produk tersebut dengan nilai Fmax terkecil yaitu 49

menit.

III. Menentukan urutan ketiga dan keempat

Pada langkah terahir cukup dilakukan perhitungan Fmax saja karena hanya

membandingkan 2 Job saja.

(57)

M1 M2 M3 M4 M5

J1 5 14 21 31 32

J2 12 17 31 32 40

Dari table diatas, diperoleh nilai Fmax = 40 menit

Alternatif II: Job 2 sebagai urutan ketiga dan job 1 sebagai urutan keempat.

M1 M2 M3 M4 M5

J2 7 10 20 21 29

J1 12 21 28 38 39

Dari table diatas, diperoleh nilai Fmax = 39 menit

Berdeasarkan perhitungan diatas, maka diperoleh Job 1 sebagai urutan ketiga dengan

nilai Fmax terkecil yaitu menit, sedangkan untuk job 2 dipilih sebagai urutan terakhir.

Maka, urutan pengerjaan yang optimum dengan menggunakan algoritma Pour adalah

J4-J3-J1-J2

Dengan besar nilai Fmax adalah 53 menit.

M1 M2 M3 M4 M5

J4 4 12 19 26 28

J3 13 17 24 34 40

J1 20 23 34 35 48

(58)

43

BAB IV

IMPLEMENTASI SISTEM DAN ANALISIS SISTEM

Class Penjadwalan

package penjadwalan;

public class Penjadwalan {

public static void main(String[] args) {

int rows = 4;

int cols = 5;

int fmax1 =0;

int[][] matrix = {

{ 5, 9, 7, 10, 1 },

{ 8, 3, 12, 1, 8 },

{ 9, 4, 5, 8, 6 },

{ 4, 8, 8, 7, 2 }

};

penghitungan1 matrik= new penghitungan1(matrix,rows,cols,fmax1);

matrik.matrix1();

}

}

Class penjadwalan digunakan sebagai main class yang berisi nilai job pada

setiap mesin, dan bertujuan untuk menghubungkan nilai setiap job dengan class

(59)

Class perhitungan1

Pada class perhitungan1 adalah sub class dari main class penjadwalan, di class

perhitungan1 terdapat void job1m1, job1m2, job1m3, job1m4, job1m5, matrixCi1,

job2m1, job2m2, job2m3, job2m4, job2m5, matrixCi2, job3m1, job3m2, job3m3,

job3m4, job3m5, matrixCi3, job4m1, job4m2, job4m3, job4m4, job4m5, matrixCi4,

fmax, job10m1, job10m2, job10m3, job10m4, job10m5, matrixCi5, job20m1,

job20m2, job20m3, job20m4, job20m5, matrixCi6, job30m1, job30m2, job30m3,

job30m4, job30m5, matrixCi7, fmax_1, fmax_2, fmax_3, perbandingan_2,

perbandingan_akhir, dan jadwal.

Void job1m1, job1m2, job1m3, job1m4, job1m5, job2m1, job2m2, job2m3,

job2m4, job2m5, job3m1, job3m2, job3m3, job3m4, job3m5, job4m1, job4m2,

job4m3, job4m4, job4m5, job10m1, job10m2, job10m3, job10m4, job10m5,

job20m1, job20m2, job20m3, job20m4, job20m5, job30m1, job30m2, job30m3,

job30m4, job30m5.

memiliki fungsi yang sama, yaitu:

a) Membuat semua nilai job yang telah ditentukan pada mesin 1 sampai

mesin 5 menjadi 0.

int[][] matrix0= {{0,0,0,0,0},

{matrix[1][0],matrix[1][1],matrix[1][2],matrix[1][3],matrix[1][4]},

{matrix[2][0],matrix[2][1],matrix[2][2],matrix[2][3],matrix[2][4]},

{matrix[3][0],matrix[3][1],matrix[3][2],matrix[3][3],matrix[3][4]}

(60)

b) Mencari nilai terkecil dari job yang ada, menjumlahkan nilai job dari

yang terkecil sampai yang terbesar pada setiap mesin yang disebut

sebagai nilai increasing dan mengembalikan posisi awal tiap job yang

telah dijumlahkan dari terkecil sampai terbesar pada setiap mesin.

for (i = 0; i < rows; i++) {

if (array1[i] < min) {

min = array1[i];

baris1 = i;

}

int temp;

for (i = 1; i < array1.length; i++) {

for (int j = array1.length - 1; j >= i; j--) {

if (array1[j] < array1[j - 1]) {

temp = array1[j];

array1[j] = array1[j - 1];

array1[j - 1] = temp; }}

int []a={b,b,b,b};

for (i = 0; i < array1.length; i++) {

if (+array1[i] > +min) {

b = (+array1[i]) + (+b);

}

a[i]=b;

}

int x;

for(i =0;i<=3;i++){

x=matrix0[i][0];

(61)

if(x<arrayt[3]){

if(x<arrayt[2]){

if(x<arrayt[1]){

d1=a[0];

}

else {

d1=a[1];

}

}

else{

d1=a[2];

}

}

else{

d1=a[3];

}

e1[i]=d1;

}

System.out.println("nilai incressing "+e1[0]+" "+e1[1]+" "+e1[2]+" "+e1[3]);

Void matrixCi1, matrixCi3, matrixCi2, matrixCi4, matrixCi5, matrixCi6,

matrixCi7 memiliki fungsi yang sama yaitu:

a) Menjumlahkan nilai increasing dari setiab job yang telah dihitung

pada void job sebelumnya

(62)

int matrtrixci11 = e1[1]+e2[1]+e3[1]+e4[1]+e5[1];

int matrtrixci12 = e1[2]+e2[2]+e3[2]+e4[2]+e5[2];

int matrtrixci13 = e1[3]+e2[3]+e3[3]+e4[3]+e5[3];

System.out.println("hasil penjumalahan Ci0 "+matrtrixci10);

System.out.println("hasil penjumalahan Ci1 "+matrtrixci11);

System.out.println("hasil penjumalahan Ci2 "+matrtrixci12);

System.out.println("hasil penjumalahan Ci3 "+matrtrixci13);

b) Menghitung nilai minimum dari dari nilai increasing (Ci)

int[] array1 = {matrtrixci10, matrtrixci11, matrtrixci12, matrtrixci13};

int min = 100;

int baris1;

int [][]matrix0 = matrix;

int matha1[] = { matrix0[0][0], matrix0[0][1],

matrix0[0][2],matrix0[0][3],matrix0[0][4] };

int matha2[] = {matrix0[1][0], matrix0[1][1], matrix0[1][2],matrix0[1][3],

matrix0[1][4] };

int matha3[] ={ matrix0[2][0], matrix0[2][1], matrix0[2][2],matrix0[2][3],

matrix0[2][4] };

int matha4[] = {matrix0[3][0], matrix0[3][1], matrix0[3][2],matrix0[3][3],

matrix0[3][4] };

for (i = 0; i < rows; i++) {

if (array1[i] < min) {

min = array1[i];

baris1 = i;

}

(63)

for (i = 1; i < array1.length; i++) {

for (int j = array1.length - 1; j >= i; j--) {

if (array1[j] < array1[j - 1]) {

temp = array1[j];

array1[j] = array1[j - 1];

array1[j - 1] = temp;

}

}

}

System.out.println();

c) Menampilkan urutan job dari nilai Ci terkecil hingga terbesar yang

diberi nama sum of completion time.

for(i =0;i<4;i++){

if(array1[i]!=matrtrixci10){

if(array1[i]!=matrtrixci11){

if(array1[i]!=matrtrixci12){

e1[i]=4;

}

else{

e1[i]=3;

}

}

else{

e1[i]=2;

}

(64)

else{

e1[i]=1;

}

System.out.println("urutan sum of completion time job"+e1[i]);

}

d) Menghitung nilai Fmax dari job yang telah ditentukan urutanya

int [][]matatot={{0,0,0,0,0},

{0,0,0,0,0},

{0,0,0,0,0},

{0,0,0,0,0}

};

for(i =0;i<4;i++){

if(e1[i]!=3){

if(e1[i]!=2){

if(e1[i]!=1){

matatot[i][0] =matha4[0];

matatot[i][1] =matha4[1];

matatot[i][2] =matha4[2];

matatot[i][3] =matha4[3];

matatot[i][4] =matha4[4];

}

else{

matatot[i][0] =matha1[0];

matatot[i][1] =matha1[1];

(65)

matatot[i][3] =matha1[3];

matatot[i][4] =matha1[4];

}

}

else{

matatot[i][0] =matha2[0];

matatot[i][1] =matha2[1];

matatot[i][2] =matha2[2];

matatot[i][3] =matha2[3];

matatot[i][4] =matha2[4];

}

}

else{

matatot[i][0] =matha3[0];

matatot[i][1] =matha3[1];

matatot[i][2] =matha3[2];

matatot[i][3] =matha3[3];

matatot[i][4] =matha3[4];

}

}

System.out.println();

System.out.println();

int k,m=0,q=0 ;

int [][] matrikFmax={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};

System.out.print("matrixfmax");

System.out.println();

for (i=0;i<4;i++){

(66)

m=matatot[i][0]+m;

for(int j=0;j<5;j++){

k=matatot[i][j]+k;

matrikFmax[i][j]=k;

for(int y=1;y<4;y++){

for(int z=1;z<5;z++){

if(matrikFmax[y][z-1]<matrikFmax[y-1][z]){

matrikFmax[y][z]=matatot[y][z]+matrikFmax[y-1][z];

} }}

k=matrikFmax[i][j];

System.out.print(matrikFmax[i][j]+" ");

}

System.out.println();

}

fmax1=matrikFmax[3][4];

System.out.println("nilai fmax job1=0 adalah "+fmax1);

System.out.println();

}

}

Void fmax, fmax_1, fmax_2, fmax_3 dan perbandinga_2 memiliki fungsi yang sama

sebagai berikut:

a) Menapilkan dan menghitung nilai Fmax terkecil dari job yang telah

(67)

int[] arraymax1 = {fmax1,fmax2, fmax3, fmax4 };

int min=100;

for (i = 0; i < arraymax1.length ; i++) {

if (arraymax1[i] < min) {

min = arraymax1[i];

}

int temp;

for (i = 1; i < arraymax1.length; i++) {

for (int j = arraymax1.length - 1; j >= i; j--) {

if (arraymax1[j] < arraymax1[j - 1]) {

temp = arraymax1[j];

arraymax1[j] = arraymax1[j - 1];

arraymax1[j - 1] = temp;

} } }

}

b) Menampilkan job baru dari job yang telah dihilangkan karena

memiliki nilai Fmax terkecil.

System.out.println( " fmax terkecil adalah "+arraymax1[0]);

fmax_a=arraymax1[0];

int [] matri1=

{matrix[0][0],matrix[0][1],matrix[0][2],matrix[0][3],matrix[0][4]};

int [] matri2=

{matrix[1][0],matrix[1][1],matrix[1][2],matrix[1][3],matrix[1][4]};

int [] matri3=

(68)

int [] matri4=

{matrix[3][0],matrix[3][1],matrix[3][2],matrix[3][3],matrix[3][4]};

for (i=0;i<3;i++){

for (int j= 0; j < 5; j++) {

if (arraymax1[0]!=fmax1){

if (arraymax1[0]!=fmax2){

if(arraymax1[0]!=fmax3){

hasil[0][0]=matri1[0];hasil[0][1]=matri1[1];hasil[0][2]=matri1[2];hasil[0][3]=matri1[

3];hasil[0][4]=matri1[4];

hasil[1][0]=matri2[0];hasil[1][1]=matri2[1];hasil[1][2]=matri2[2];hasil[1][3]=matri2[

3];hasil[1][4]=matri2[4];

hasil[2][0]=matri3[0];hasil[2][1]=matri3[1];hasil[2][2]=matri3[2];hasil[2][3]=matri3[

3];hasil[2][4]=matri3[4]; }

else{

hasil[0][0]=matri1[0];hasil[0][1]=matri1[1];hasil[0][2]=matri1[2];hasil[0][3]=matri1[

3];hasil[0][4]=matri1[4];

hasil[1][0]=matri2[0];hasil[1][1]=matri2[1];hasil[1][2]=matri2[2];hasil[1][3]=matri2[

3];hasil[1][4]=matri2[4];

hasil[3][0]=matri4[0];hasil[3][1]=matri4[1];hasil[3][2]=matri4[2];hasil[3][3]=matri4[

3];hasil[3][4]=matri4[4];

}}

else{

hasil[0][0]=matri1[0];hasil[0][1]=matri1[1];hasil[0][2]=matri1[2];hasil[0][3]=matri1[

3];hasil[0][4]=matri1[4];

hasil[2][0]=matri3[0];hasil[2][1]=matri3[1];hasil[2][2]=matri3[2];hasil[2][3]=matri3[

3];hasil[2][4]=matri3[4];

hasil[3][0]=matri4[0];hasil[3][1]=matri4[1];hasil[3][2]=matri4[2];hasil[3][3]=matri4[

(69)

}

}

else{

hasil[1][0]=matri2[0];hasil[1][1]=matri2[1];hasil[1][2]=matri2[2];hasil[1][3]=matri2[

3];hasil[1][4]=matri2[4];

hasil[2][0]=matri3[0];hasil[2][1]=matri3[1];hasil[2][2]=matri3[2];hasil[2][3]=matri3[

3];hasil[2][4]=matri3[4];

hasil[3][0]=matri4[0];hasil[3][1]=matri4[1];hasil[3][2]=matri4[2];hasil[3][3]=matri4[

3];hasil[3][4]=matri4[4];

}

}

}

System.out.println();

System.out.println("urutan job baru ");

for (i = 0; i < hasil.length; i++) {

for (int j= 0; j < 5; j++) {

System.out.print(hasil[i][j] + " ");

}

System.out.println();

}}

Void perbandingan_akhir memiliki fungsi sebagai berikut:

a) Menampilkan fmax dari ke-empat job yang telah dihitung dalam

(70)

System.out.println(fmax_a+" "+fmax_b+" "+fmax_c+" "+fmax_d);

b) Mencari urutan job berdasarkan urutan fmax.

int []array1={fmax_a,fmax_b,fmax_c,fmax_d};

int array2[]={fmax1,fmax2,fmax3,fmax4};

int array3[]={fmax5,fmax6,fmax7};

for(int z= 0;z<4;z++){

if(array1[z]!= fmax_a){

if(array1[z]!= fmax_b){

if(array1[z]!= fmax_c){

for(int j=0;j<5;j++){

akhir[z][j]=hasil1[1][j];

}}

else{

for(int j=0;j<5;j++){

akhir[z][j]=hasil1[0][j];

} } }

else{

for (i=0;i<3;i++){

for(int j=0;j<5;j++){

if(fmax_b!=array3[i]){ }

else{

akhir[z][j]=hasil[i][j];

}}}}}

else{

for (i=0;i<4;i++){

for(int j=0;j<5;j++){

(71)

else{

akhir[z][j]=matrix[i][j];

}}}}}

System.out.println();

c) Menampilkan urutan job berdasarkan urutan fmax.

for (i = 0; i < akhir.length; i++) {

for (int j= 0; j < 5; j++) {

System.out.print(akhir[i][j] + " ");}

System.out.println(); }

System.out.println(); }

Void jadwal memiliki fungsi:

a) Memanggil hasil pengurutan job berdasarkan Fmax

b) Menghitung waktu berdasarkan hasil perhitungan yang telah dilakukan

pada langkah sebelumnya.

c) Menampilkan waktu pengerjaan pada setiap mesin yang paling effisien

berdasarkan urutan job.

void jadwal(){

for (i = 0; i < akhir.length; i++) {

(72)

System.out.print(akhir[i][j] + " ");

}

Gambar

Gambar 2.1 Jalur Pure Flow Shop.................................................................
Gambar 2.1 Jalur Pure Flow Shop
Gambar 2.3 Jalur Job shop
Gambar 2.4 Elemen input-output, prioritas dan ukuran kinerja
+2

Referensi

Dokumen terkait

Menurut Papalia &amp; Felman (2010: 397) Perilaku prososial adalah segala bentuk perilaku yang dilakukan secara sukarela untuk memberikan keuntungan atau manfaat bagi

Iklan menginformasikan atau menyampaikan informasi- informasi mengenai produk sunlight sebagai sabun cuci piring dapat dipahami konsumen dan diketahui kegunaannya dalam

Hasil penelitian ini dapat disimpulkan bahwa: 1) Petani peternak kerbau di Kecamatan Lembor Kabupaten Manggarai Barat memiliki etos kerja yang tinggi, motivasi yang tinggi

Pada tahap ini peserta didik mengevaluasi hasil belajar tentang materi yang telah dipelajari melalui diskusi kelas untuk menganalisis hasil pemecahan masalah

Nilai R/C ratio usaha budidaya tambak udang dan bandeng baik skala mikro maupun kecil di Pangkep lebih tinggi dari yang di Gresik sehingga dapat dikatakan

Dalam  hal  pendelegasian  dan  pengawasan  terhadap  mereka  yang  membantu  Ilmuwan  Psikologi  dan  Psikolog, mereka wajib 

(1) Bank Penampung atau Mitra Pembayaran yang telah ditetapkan sebagaimana dimaksud dalam Pasal 7 menandatangani perjanjian kerja sama dengan Bank Kustodian. (2)

Ketiga unsur hara tersebut memiliki peran yang berbeda dalam metabolisme tanaman yang nantinya mempengaruhi pertumbuhan tanaman dan pembentukan umbi mikro