You are on page 1of 7

Laporan Tugas

Penyelesaian Assembly Line dengan
Metode Dynamic Programming

Mata Kuliah :
[ CF-1333 Alpro 2 ]

Disusun oleh :

Khairu Rahman 5207 100 030

Jurusan Sistem Informasi
Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember
Surabaya

halaman 1 dari 7 halaman

Menemukan rekursif dari solusi yang optimal 3.j ). Variabel j adalah untuk menunjukkan stasiun yang sedang dilalui ( j=1. Assembly-line Scheduling Assembly-line Scheduling adalah suatu proses memproduksi sesuatu secara maksimal namun dapat diselesaikan dalam waktu yang seminimal mungkin. yaitu dengan cara Assembly-line Schedulling. Assembly-line yang dibuat memiliki n stasiun. Untuk keefektifan proses produksi mobil ini perusahaan harus dapat menentukan jalur tercepat yang bisa ditempuh.j . Penyusunan Dynamic Programming dapat dibagi menjadi 4 langkah : 1.n ) dan terdapat variabel i yang menunjukkan line yang dilewati (di mana i adalah 1 atau 2). Tentunya terdapat banyak sekali bagian atau casis yang harus dirakit sebelum menjadi sebuah mobil.j) memiliki fungsi yang sama seperti stasiun ke-j pada line 2 ( S2. Dalam hal tersebut dimungkinkan adanya beberapa solusi yang dapat mengembalikan nilai optimal. Tetapi kedua stasiun tersebut (yang memiliki posisi sama tetapi berbeda line) dibuat dengan teknologi yang berbeda sehingga membutuhkan waktu yang berbeda dalam proses pengerjaannya. Perusahaan mobil ini menerapkan aplikasi Assembly-line untuk menentukan alur perakitan mobil. Sebuah perusahaan mobil ingin memproduksi sebuah mobil. Bagian – bagian tersebut akan dirangkai di beberapa stasiun yang memiliki tugas berbeda – beda.……. Untuk lebih memperjelas seperti apa proses Assembly-line akan diberikan sebuah contoh.2.Dynamic Programming Dynamic Programming merupakan suatu teknik untuk menyelesaikan masalah komputasional. Sehingga untuk menunjukkan stasiun yang sedang dilalui kita dapat menuliskannya secara singkat dengan Si. Menghitung nilai dari solusi optimal dengan cara bottom – up 4. Terdapat dua line untuk merakit sebuah mobil di mana pada masing – masing line terdapat beberapa stasiun. Solusi dari suatu permasalahan harus dapat diselesaikan secara optimal ( bisa maksimum maupun minimum). Waktu yang halaman 2 dari 7 halaman .. Mengkonstruksikan solusi optimal dari informai perhitungan yang telah dilakukan Salah satu penggunaan Dynamic Programming adalah untuk menyelesaikan kasus Assembly-line Scheduling yang akan dibahas dalam laporan kali ini. Stasiun ke-j pada line 1 (S1. Melakukan struktur karakterisasi dari solusi yang optimal 2.

j dilambangkan dengan t i.1 a1.1 t2.n e1 .1 S2.2 a2.j dilambangkan dengan a i. dibutuhkan untuk pengerjaan pada S i.1 S1. ..2.2 dan j = 1. S1. Untuk lebih jelasnya perhatikan gambar 1.1 a2.n-1 a2.j ( di mana i = 1.n halaman 3 dari 7 halaman . .n-1 ……….2 S2. t2. . n-1) . entry time adalah waktu yang diperlukan casis ketika memasuki Assembly-line i.1 t1.2 S1.n Assembly line 1 a1. S2.n-1 x2 e2 a2. Sedangkan waktu yang diperlukan untuk transfer casis (pindah jalur) dari asemmbly line i setelah melalui S i. Entry time dilambangkan dengan e i .n-1 a1.n-1 S1.2 a1.j .n-1 S2. Waktu keluar adalah waktu yang diperlukan untuk mobil yang telah selesai dirakit untuk keluar dari Assembly-line i. x1 chasis t1. Waktu keluar dilambangkan dengan x i.n Assembly line 2 .

j bisa ditempuh dari S2.  f1[1] = e1 + a1. yaitu.j-1 ditransfer ke S1.j . proses transfer sendiri memakan waktu t2.j .j-1 .j bisa ditempuh dari S1. 2.2  pada saat j = 2 terdapat 2 kemungkinan alur yang terjadi.j-1 langsung atau dari S1. bandingkan kedua jalur ini . Ada beberapa cara untuk menyelesaikan permasalahan ini. Menentukan struktur dari jalur tercepat yang bisa dilalui Waktu tercepat untuk melalui sebuah stasiun tergantung dari waktu tercepat yang ditempuh pada stasiun sebelumnya.1  f2[2] = e2 + a2. Solusi rekursif  fi.j adalah waktu tercepat yang ditempuh dari awal sampai ke S i. cari yang paling minimal. Cara ini cukup merepotkan dan tidak efesien.j-1 . bandingkan dua kemungkinan jalur ini. cari yang paling minimal. salah satunya ada yang dinamakan cara “brute force”. adapun langkah – langkah pengerjaannya adalah sebagai berikut : 1. Lebih baik apabila menggunakan Dynamic Programming untuk mencari jalur yang paling optimal dari Assembly line pada gambar 2.  untuk mencapai S 2.j-1 ditransfer ke S2. Selanjutnya kita akan mencoba mencari jalur tercepat yang dapat ditempuh dari Assembly line yang terdapat pada gambar 2.j . untuk mencapai S1.j-1 langsung atau dari S 2. Assembly line tersebut memiliki 6 stasiun. Brute force dilakukan dengan mencoba segala cara yang mungkin terjadi untuk kemudian dicari jalur mana yang paling cepat. halaman 4 dari 7 halaman . proses transfer sendiri memakan waktu t 1.

1 . Adapun cara pengisian kedua tabel di atas kurang lebih seperti penjelasan berikut (perhatikan gambar 1 dan 2) : 1) misalkan yang dianggap jalur tercepat adalah melalui line 1(i).j). 3) Lanjutkan perjalanan casis pada nomer 1) .2 (S1.3. isi tabel f1. hanya ada 1 kemungkinan waktu yang ditempuh yaitu e2 + a2.  f* adalah nilai waktu paling minimum ketika proses pada assembly line selesai. isi tabel f1. kemudian isikan pada tabel f1.[1] dengan 12. hasilnya : o Jika proses dari S1. 2) Coba juga kemungkinan yang lain.j). waktu yang ditempuh = 18 o Jika proses dari S2. Sekarang ada 2 kemungkinan untuk menuju S1.2 . buatlah tabel yang memuat perbandingan waktu tempuh dari jalur yang dilewati.2 .1 atau lintas jalur dari line 2 S2.j-1) yang menuju S 1.[2] dan isikan 1 pada f1. Menghitung nilai dari solusi optimal Untuk memudahkan. halaman 5 dari 7 halaman . 2 + 7 = 9 . waktu yang ditempuh = 23 o Pilih waktu yang paling minimal yaitu 18. misalkan yang dianggap jalur tercepat adalah melalui line 2 (i). maka perjalanan casis dimulai dari stasiun 1(j) . hanya ada 1 kemungkinan waktu yang ditempuh yaitu e 1 + a1.[1] dengan 9. maka perjalanan casis dimulai dari stasiun 1(j). Langsung dari line 1 juga S1.[2] (karena jalur tercepat yang ditempuh berasal dari stasiun yang berada di line 1).j-1) yang menuju S1.1 .1 (S2.1 (S1.  l* adalah jalur terakhir yang dilalui ketika proses pada assembly line selesai.1 .2 (S1. 4 + 8 = 12 . Casis kemudian akan menuju S1.

j-1 + a 2. kita dapat merangkumnya menjadi sebuah pseudocode seperti di bawah ini : FASTEST-WAY (a. n) 1 f 1 [1] ← e1 + a1.1 .2 (S2. 5) Demikian seterusnya langkah 1-4 dilakukan sampai j = 6. Langsung dari line 2 juga S2. Dari penjelasan – penjelasan diatas .j-1) yang menuju S 2.j-1 + a 2.1 (S2. maka dapat dilihat bahwa jalur yang paling optimal adalah yang berasal dari line 1 (l*=1).j 13 l 2 [j] ← 1 14 if f 1 [n] + x1 = f 2 [n] + x2 15 then f* = f 1 [n] + x1 16 l* = 1 17 else f* = f 2 [n] + x2 18 l* = 2 halaman 6 dari 7 halaman .[2] dan isikan 1 pada f2.1] + a 1.j-1 + 1.j-1 + a 1.2 .j 10 then f 2 [j] ← f 2 [j . x.1] + a1. waktu yang ditempuh = 17 o Pilih waktu yang paling minimal yaitu 16. sedangkan pada line 2 adalah f* nya 39.1] + t 1.j 11 l 2 [j] ← 2 12 else f 2 [j] ← f 1 [j . Jika telah melengkapi semua tabelnya . karena pada line 1 f*(total waktu yang dibutuhkan) nya 38 .j).j 8 l 1 [j] ← 2 9 if f 2 [j . t.1] + t 2.j ≤ f 1 [j .1 atau lintas jalur dari line 1 S1.1] + t 1.[2] (karena jalur tercepat yang ditempuh berasal dari stasiun yang berada di line 2). Casis kemudian akan menuju S2.j-1) yang menuju S 2.j ≤ f2[j .1] + a 2. Sekarang ada 2 kemungkinan untuk menuju S2. kemudian isikan pada tabel f2.1] + a 2. hasilnya : o Jika proses dari S2. waktu yang ditempuh = 16 o Jika proses dari S1.1 (S1. e.1 3 for j ← 2 to n 4 do if f1 [j .j 5 then f 1 [j] ← f 1 [j .2 .1 2 f 2 [1] ← e2 + a 2. 4) Lanjutkan perjalanan casis pada nomer 2) . j 6 l 1 [j] ← 1 7 else f 1 [j] ← f2 [j .1] + t 2.2 (S2.j).

pasti kita dengan mudah akan dapat memahami cara kerja dari pseudocode di atas.station “ n 3 for j ← n down to 2 4 do i ← li[j] 5 print “line “i”. f* . station 1 halaman 7 dari 7 halaman . station 5 line 2. Kita perlu menyusun urutan stasiun yang ditempuh dengan waktu optimal. station 4 line 1. li[j] . station 2 line 1. Print-Stations (l . Jika kita memahami penjelasan – penjelasan yang telah diberikan sebelumnya. 4. Kita dapat melakukannya dengan mengikuti langkah – langkah seperti yang terdapat pada pseudocode di bawah ini (stasiun diurutkan mulai dari yang paling terakhir) . station 3 line 2. Arti dari setiap variabel yang terdapat dalam pseudocode sama dengan yang dijelaskan pada paragraf – paragraf sebelumnya. station 6 line 2. dan l* . n) 1 i ← l* 2 print “line “i” .station “j-1 Maka kita akan mendapatkan urutan stasiun yang ditempuh sebagai berikut (dari belakang) : line 1. Mengkonstruksikan solusi optimal yang telah dilakukan Saat ini kita telah memiliki nilai dari fi[j] .