• Tidak ada hasil yang ditemukan

Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV Keris Sakti

N/A
N/A
Protected

Academic year: 2022

Membagikan "Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV Keris Sakti"

Copied!
72
0
0

Teks penuh

(1)

PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM

PADA CV. KERIS SAKTI

SKRIPSI

ANGELINE 100803040

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN

2014

(2)

PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM

PADA CV. KERIS SAKTI

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains

ANGELINE 100803040

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2014

(3)

PERSETUJUAN

Judul : Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV. Keris Sakti

Kategori : Skripsi

Nama : Angeline

Nomor Induk Mahasiswa : 100803040

Program Studi : Sarjana (S1) Matematika

Departemen : Matematika

Fakultas : Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Disetujui di Medan, 2014

Komisi Pembimbing :

Pembimbing 2, Pembimbing 1,

Drs. Gim Tarigan, M.Si. Prof. Dr. Drs. Iryanto, M.Si.

NIP. 195502021986011001 NIP. 194604041971071001

Disetujui Oleh

Departemen Matematika FMIPA USU Ketua,

Prof. Dr. Tulus, M.Si. Ph.D NIP. 196209011988031002

(4)

PERNYATAAN

PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM

PADA CV. KERIS SAKTI

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 2014

ANGELINE 100803040

(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan yang Maha Penyayang, atas kemurahan dan berkat yang telah diberikan sehingga penulis dapat menyelesaikan skripsi dengan judul Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV. Keris Sakti guna melengkapi syarat memperoleh gelar sarjana Matematika pada Fakultas Matematika dan Ilmu Pengetahuan Alam di Universitas Sumatera Utara.

Dalam kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu dan membimbing penulis dalam penyusunan skripsi ini, ucapan terima kasih saya sampaikan kepada:

1. Bapak Prof. Dr. Drs. Iryanto, M.Si selaku pembimbing I dan Bapak Drs.

Gim Tarigan, M.Si selaku pembimbing II yang telah memberikan bimbingan dan pengarahan sehingga skripsi ini dapat saya selesaikan.

2. Bapak Dr. Parapat Gultom, MSIE dan Ibu Dr. Esther Sorta M.Nababan, M.Sc selaku dosen pembanding.

3. Bapak Prof. Dr. Tulus, Vor.Dipl.Math, M.Si dan Ibu Dra. Mardiningsih, M.Sc selaku Ketua dan Sekretaris Departemen Matematika FMIPA-USU Medan.

4. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

5. Semua Dosen pada Departemen Matematika FMIPA-USU dan pegawai di FMIPA-USU.

(6)

6. Seluruh teman jurusan Matematika khususnya stambuk 2010, adik-adik junior stambuk 2011, stambuk 2012, stambuk 2013 serta Abang dan Kakak alumni.

7. Ayahanda Kang Tjong Tie, Ibunda Dra. Tuty Tamin, adik penulis Filbert, serta keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan.

Penulis menyadari masih banyak kekurangan dan kelemahan dalam penulisan skripsi ini. Untuk itu penulis minta maaf kepada seluruh pembaca bila ada kesalahan serta penulis mengharapkan saran dan kritikan demi kesempurnaan skripsi ini. Akhir kata, semoga skripsi ini dapat bermanfaat bagi kita semua.

Medan, 2014 Penulis

Angeline

(7)

PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM

PADA CV. KERIS SAKTI

ABSTRAK

CV. Keris Sakti merupakan sebuah industri manufacturing yang bergerak dibidang industri konveksi. Industri ini belum pernah menggunakan metode apapun untuk mengoptimalkan jumlah produksinya sehingga perlu dilakukan penelitian apakah jumlah produksi yang selama ini dihasilkan sudah optimal atau belum. Metode yang akan digunakan untuk menentukan jumlah produksi optimum pada CV. Keris Sakti adalah dengan metode program integer yaitu metode Branch and Bound. Penelitian ini ditinjau berdasarkan jumlah persediaan bahan baku, permintaan pasar, laba dan waktu pembuatan. Hasil penelitian diperoleh bahwa jumlah produksi celana yang optimal tiap jenis celana (celana panjang pria, celana panjang wanita, celana pendek pria, celana pendek wanita) masing-masing dapat diperoleh dalam 3 alternatif yaitu 1.586, 900, 1.245, 872 buah; 1.586, 898, 1.245, 874 buah atau 1.586, 895, 1.245, 875 buah dengan keuntungan sebesar Rp.53.278.000,- per bulan.

Kata kunci: Optimum, Program Integer, Metode Branch and Bound.

(8)

APPLICATION OF BRANCH AND BOUND METHOD IN DETERMINING THE OPTIMUM NUMBER OF

PRODUCTION AT CV. KERIS SAKTI

ABSTRACT

CV. Keris Sakti is a manufacturing industry which is engaged in the pants. This industry had never used any method to optimize the amount of production that need to be investigated if the amount of production that has been generated is optimal or not. Method that will be used to determine the optimum number of production at CV. Keris Sakti is the method of integer programming, that is Branch and Bound method. This study was reviewed based on the amount of stock of raw materials, market demand, profit and time of manufacture. The output of this study obtained that the optimal production quantities of each type of pants (men's trousers, women's trousers, men's shorts, women's shorts) can be obtained in 3 alternatives: 1.586, 900, 1.245, 872 pieces; 1.586, 898, 1.245, 874 pieces or 1.586, 895, 1.245, 875 pieces with a gain of Rp.53.278.000, - per month.

Keyword: Optimum, Integer Programming, Brach and Bound Method.

(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel ix

Daftar Lampiran x

Bab 1. Pendahuluan

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Batasan Masalah 2

1.4. Tujuan Penelitian 2

1.5. Manfaat Penelitian 3

1.6. Lokasi Penelitian 3

1.7. Metodologi Penelitian 3

Bab 2. Tinjauan Pustaka

2.1. Pengertian Produksi 5

2.2. Program Linier 6

2.3. Program Integer 7

Bab 3. Metode Penelitian

3.1. Metode Simpleks 9

3.2. Metode Branch and Bound 14

Bab 4. Hasil dan Pembahasan

4.1. Pengumpulan Data 20

4.2. Perumusan Fungsi Tujuan 22

4.3. Perumusan Fungsi Kendala 23

4.4. Analisis dan Pembahasan 24

Bab 5. Kesimpulan dan Saran

5.1. Kesimpulan 25

5.2. Saran 25

Daftar Pustaka 26

(10)

DAFTAR TABEL

Nomor Judul Halaman

Tabel

3.1. Format Tabel Simpleks 12

4.1. Keuntungan Tiap Produk Bulan Januari 2013 hingga Juni 2013 20 4.2. Jumlah Persediaan Bahan Baku Bulan Januari 2013 hingga Juni 2013 21 4.3. Bahan Baku yang Dibutuhkan dalam Membuat Celana 21 4.4. Jumlah Permintaan Pasar Bulan Januari 2013 hingga Juni 2013 22

4.5. Perbandingan Jumlah Produksi Optimum 25

(11)

DAFTAR LAMPIRAN

Nomor Judul Halaman

Lamp

1. Perhitungan Awal Metode Simpleks 27

2. Percabangan Metode Branch and Bound 41

(12)

BAB 2

TINJAUAN PUSTAKA

Optimasi bilangan bulat (integer) bukan merupakan sebuah persoalan matematika baru, dan dalam penelitian operasional dikenal sejak tahun 1940. Optimisasi bilangan bulat penting digunakan pada pemecahan masalah yang disusun sebagai sebuah hasil perkembangan pada bidang penelitian operasional, terutama sekali pada persoalan Program Linier. Hal itu diperlukan untuk penentuan model penyusunan pada beberapa atau semua variabel keputusan agar integer (Taha, 1996).

2.1. Pengertian Produksi

Istilah produksi dan operasi sering digunakan dalam suatu organisasi yang menghasilkan keluaran (output), berupa barang maupun jasa. Secara umum produksi diartikan sebagai suatu kegiatan atau proses yang menstranformasikan masukan (input) menjadi hasil keluaran (output). Dalam pengertian yang bersifat umum ini penggunaannya cukup luas, sehingga mencakup keluaran (output) yang berupa barang atau jasa. Jadi dalam pengertian produksi dan operasi tercakup setiap proses yang mengubah masukan-masukan (inputs) dan menggunakan sumber-sumber daya untuk menghasilkan keluaran-keluaran (outputs), yang berupa barang-barang dan jasa-jasa. Dengan pengertian produksi dalam arti luas sebagai kegiatan yang mentransformasikan masukan (input) menjadi keluaran (output), tercakup semua aktivitas dan kegiatan yang menghasilkan barang dan jasa, serta kegiatan-kegiatan lain yang mendukung atau menunjang usaha untuk menghasilkan produk tersebut. Berdasarkan batasan ini, kegiatan produksi terdapat pada pabrik pengolahan atau manufacture, pertambangan, perhotelan,

(13)

rumah sakit, pelayanan, dan lain sebagainya. Dari pengertian yang luas inilah sekarang berkembang istilah yang sering digunakan, yaitu industri, seperti halnya dengan industri manufacture, industri pengolah hasil pertanian atau agro-industry, industri pengolah hasil-hasil pertambangan, industri pariwisata, industri jasa perdagangan, dan industri pengangkutan. Dalam arti sempit, pengertian produksi hanya dimaksud sebagai kegiatan yang menghasilkan barang baik barang jadi maupun barang setengah jadi, bahan industri dan suku cadang atau spareparts dan komponen. Dengan pengertian ini, produksi dimaksudkan sebagai kegiatan pengolahan dalam pabrik. Hasil produksinya dapat berupa barang-barang konsumsi maupun barang-barang industri (Assauri, 1999).

2.2. Program Linier

Program linier adalah suatu teknik penyelesaian optimal atas suatu problema keputusan dengan cara menentukan terlebih dahulu fungsi tujuan (memaksimalkan atau meminimalkan) dan kendala-kendala yang ada ke dalam model matematik persamaan linier. Program linier sering digunakan dalam menyelesaikan problema-problema alokasi sumber daya, seperti dalam bidang manufacturing, pemasaran, keuangan, personalia, administrasi, dan lain sebagainya. Syarat-syarat yang harus dipenuhi dalam merumuskan suatu problema keputusan ke dalam model matematik persamaan linier adalah sebagai berikut:

1. Memiliki kriteria tujuan;

2. Sumber daya yang tersedia sifatnya terbatas;

3. Semua variabel dalam model memiliki hubungan matematis bersifat linier;

4. Koefisien model diketahui dengan pasti;

5. Bilangan yang digunakan dapat bernilai bulat atau pecahan;

6. Semua variabel keputusan harus bernilai non-negatif (Sitorus, 1997).

(14)

Linear programming akan memberikan banyak sekali hasil pemecahan persoalan, sebagai alternatif pengambilan tindakan, akan tetapi hanya ada satu yang optimal (maksimum atau minimum) (Supranto, 1991).

2.3. Program Integer

Program integer adalah suatu bentuk dari program matematikal. Ia adalah suatu kasus khusus dari program linear di mana semua (atau beberapa) variabel dibatasi sebagai bilangan cacah tak negatif. Kalau semua variabel dibatasi sebagai bilangan cacah, problemanya disebut sebagai pure integer programming dan kalau beberapa variabel tertentu dibatasi sebagai bilangan cacah sedang yang lain tidak, problemanya disebut mixed integer programming. Suatu bentuk khusus dari program integer ialah suatu kasus di mana variabel dibatasi harus berharga nol atau satu. Kalau variabel dibatasi seperti ini, maka problemnya disebut zero-one integer programming. Cara simpleks adalah basis untuk penyelesaian problema program linear di mana disyaratkan bahwa semua variabel adalah tak negatif.

Tetapi untuk menyelesaikan problema (model) program linear bilangan bulat terdapat beberapa cara. Hanya saja, baik program linear maupun program linear bilangan bulat, mulai dengan ruang yang sama yaitu ruang penyelesaian layak (feasible). Tetapi, karena adanya persyaratan bilangan cacah bagi problem kedua yang berarti munculnya batasan tambahan menyebabkan adanya suatu pengurangan dari ruang penyelesaian layak.

Bentuk umum program integer dapat dirumuskan sebagai berikut:

Maksimumkan:

dengan kendala:

(≥, =, ≤) bi ; i = 1, 2, …, m xj ≥ 0 semua bilangan cacah, j = 1, 2, …, n

(15)

dimana aij, bi, cj diketahui sebagai konstanta jika ternyata:

1. xj semua bilangan cacah, maka problema disebut pure integer programming.

2. xj sebagian bilangan cacah dan yang lainnya boleh tidak, maka disebut mixed integer programming.

3. xj salah satu nol atau satu, problema disebut zero-one integer programming (Siagian, 2006).

(16)

BAB 3

METODE PENELITIAN

Pada bab ini, akan dijelaskan metode-metode yang penulis gunakan dalam penelitian ini. Adapun metode yang akan digunakan dalam penelitian ini adalah Metode Simpleks dan Metode Branch and Bound.

3.1. Metode Simpleks

Metode simpleks adalah prosedur pemecahan program linier yang lebih efisien daripada metode grafik. Meskipun problem program linier dapat diselesaikan secara grafik, akan tetapi hampir seluruh problem program linier sesungguhnya tidak dapat diselesaikan dengan cara ini, karena pada umumnya program linier mempunyai lebih dari 3 variabel.

Oleh karena itu, George Dantzig pada tahun 1947 mengajukan satu metode yang paling berhasil untuk meyelesaikan problem program linier yang disebut Metode Simpleks.

Secara umum, bentuk umum dari program linier dapat dimodelkan sebagai berikut.

Maksimumkan: z = c1x1 + c2x2 + … + cnxn

Kendala :

(17)

xn ≥ 0, n = 1, 2, 3, …

Minimumkan : z = c1x1 + c2x2 + … + cnxn Kendala :

xn ≥ 0, n = 1, 2, 3, …

Prosedur (tahap proses) untuk menyelesaikan program linier dengan menggunakan metode simpleks adalah sebagai berikut:

Tahap 1. Merumuskan problema ke dalam model simpleks.

Tahap 2. Menyusun tabel simpleks iterasi awal.

Tahap 3. Mengecek nilai optimal tabel simpleks dengan cara sebagai berikut:

a. Kalau sudah optimal, tafsirkan hasil penyelesaian.

b. Kalau belum optimal, teruskan penyelesaian pada tahap berikutnya.

Tahap 4. Mengidentifikasi variabel yang akan masuk dalam tabel.

Tahap 5. Mengidentifikasi variabel yang akan dikeluarkan dalam tabel.

Tahap 6. Menyusun tabel simpleks baru.

Tahap 7. Mengecek nilai optimal tabel simpleks baru tersebut:

a. Kalau sudah optimal, tafsirkan hasil penyelesaian.

b. Kalau belum optimal, kembali kepada prosedur tahap 4.

Tahap 1. Perumusan Model Simpleks

Untuk menyusun rumusan program linier ke dalam model matematika simpleks, kita harus mengubah bentuk tanda ketidaksamaan kendala ke dalam bentuk tanda sama dengan (=) agar persamaan kendala dalam keadaan seimbang (untuk

(18)

memenuhi persyaratan yang dikehendaki pada persamaan kendala tersebut).

Bentuk ini biasanya dikatakan sebagai bentuk standar, sehingga bentuk standarnya dapat dirumuskan sebagai berikut: (Asumsikan untuk permasalahan maksimasi).

Maksimumkan: z = c1x1 + c2x2 + … + cnxn

Kendala :

xn ≥ 0, n = 1, 2, 3, …

si ≥ 0, i = 1, 2, 3, …

Pada permasalahan dalam penelitian ini, tanda ketidaksamaan kendala adalah lebih kecil atau sama dengan (≤), diubah menjadi tanda sama dengan (=) dengan syarat menambah variabel slack pada sisi bagian kiri persamaan kendala.

Mengapa harus ditambah dengan variabel slack? Jawabannya ialah agar persamaan garis kendala memenuhi persyaratan penyelesaian pada daerah kelayakan.

Tahap 2. Menyusun Tabel Simpleks

Ada beberapa macam format tabel simpleks dewasa ini. Salah satu format yang akan penulis gunakan dapat dilihat pada Tabel 3.1.

(19)

Tabel 3.1. Format Tabel Simpleks

Basis / C … … … …

B

x1 x2 … … xn s1 s2 … … sn

Zj - Cj

Penjelasan tabel simplek di atas:

1. C = Nilai kontribusi setiap variabel basis dalam proses iterasi.

2. Basis = Variabel basis dalam proses iterasi (nilainya tidak sama dengan nol).

3. B = Nilai variabel basis dalam proses iterasi.

4. Cj – Zj = Nilai kontribusi dalam problema meminimalkan dari setiap variabel dalam proses iterasi.

Tahap 3. Pengecekan Optimalisasi Tabel Simpleks Iterasi Awal

Pengecekan apakah tabel simplek pada iterasi awal telah atau belum optimal dilakukan dengan cara melihat nilai Zj - Cj masing-masing variabel fungsi tujuan.

Apabila Zj - Cj untuk semua variabel bernilai nol atau positif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka dilakukan tahap proses selanjutnya.

Tahap 4. Identifikasi Variabel yang Akan Masuk (Incoming Variable)

Untuk menentukan variabel yang mana akan masuk dalam pertimbangan untuk diproses pada iterasi berikutnya adalah variabel keputusan (variabel non-basis) yang mempunyai nilai Zj - Cj positif terbesar. Mengapa harus variabel non-basis?

Alasannya ialah bahwa variabel s1, s2, dan s3 telah masuk dalam proses iterasi sebelumnya. Mengapa harus nilai Zj - Cj positif terbesar? Karena variabel

(20)

nonbasis ini memiliki nilai terbesar yang dapat ditingkatkan dalam proses iterasi selanjutnya.

Tahap 5. Identifikasi Variabel yang Akan Keluar (Outgoing Variable)

Dengan adanya variabel yang masuk kedalam tabel simpleks, maka salah satu dari variabel basis harus keluar dari tabel simpleks tersebut agar diperoleh peningkatan nilai tujuan maksimum. Cara mengidentifikasi variabel yang akan keluar adalah dengan mencari hasil bagi antara nilai solusi dan nilai substitusi marjinal yang terkecil dan bilangan tersebut bernilai non-negatif.

Tahap 6. Penyusunan Tabel Simpleks Iterasi Pertama

Untuk menyusun tabel simpleks iterasi pertama, kita harus mencari koefisien elemen pivot dari tabel simpleks sebelumnya. Koefisien elemen pivot dapat dicari dengan cara menghubungkan kolom pivot dengan baris pivot sedemikian rupa sehingga titik potong kedua pivot ini menunjukkan koefisien, yang disebut elemen pivot.

Koefisien-koefisien baris pivot yang baru dicari dengan menggunakan rumus sebagai berikut:

Nilai Baris Pivot Baru = Nilai Baris Pivot Lama : Elemen Pivot

Untuk menghitung nilai baris baru lainnya, dilakukan dengan menggunakan rumus sebagai berikut:

Nilai Baris Baru = Nilai Baris Lama – (Elemen Baris x Nilai Baris Pivot Baru)

(21)

Tahap 7. Pengecekan Optimalisasi Tabel Simpleks Iterasi Pertama

Pengecekan apakah tabel simpleks pada iterasi pertama telah atau belum optimal.

Apabila Zj - Cj untuk semua variabel bernilai nol atau negatif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka kembali pada prosedur Tahap 4.

3.2. Metode Branch and Bound

Metode Branch and Bound mula-mula dipakai dan dikembangkan oleh Land and Doig (1960) untuk menyelesaikan program integer yang kemudian dimodifikasi oleh Dakin (1965) dan telah dengan sukses menerapkannya di dalam kitab undang-undang hukum dagang banyak orang dalam memecahkan persoalan program integer (Sidabutar, 2008).

Metode ini telah menjadi kode komputer standar untuk program integer, dan penerapan-penerapan dalam praktek tampaknya menyarankan bahwa metode ini lebih efisien dibanding dengan pendekatan Gomory. Teknik ini dapat diterapkan baik untuk masalah pure programming maupun mixed programming.

Secara umum, bentuk umum dari program integer adalah sebagai berikut.

Maksimumkan:

dengan kendala:

(≥, =, ≤) bi ; i = 1, 2, …, m xj ≥ 0 semua bilangan cacah, j = 1, 2, …, n

(22)

Dengan demikian, penjabaran bentuk umum dari fungsi tujuan dan fungsi kendala program integer adalah sebagai berikut.

Asumsikan fungsi tujuan program integer adalah sebagai berikut.

Maksimumkan:

z = c1x1 + c2x2 + … + cnxn

maka,

( ) =

= ∑ ; j = 1, 2, …, n

Selanjutnya, asumsikan fungsi kendala program integer adalah sebagai berikut.

maka,

(

) ( )

; i =1, 2, …, m

Langkah-langkah Metode Branch and Bound

Gagasan yang umum digunakan metode Branch and Bound dalam program integer dapat diuraikan sebagai berikut.

(23)

Asumsikan suatu masalah program integer.

Maksimumkan

Kendala dimana S0 = {x | Ax = b, x ≥ 0, dan integer}.

Ide umum dari metode branch and bound adalah pertama untuk menyelesaikan problema sebagai model kontinu, yakni menyelesaikan program integer sebagai program linier:

Maksimumkan

Kendala dimana T0 = {x | Ax = b, x ≥ 0}.

Andaikan bahwa xr merupakan peubah yang berkendala integer yang mempunyai nilai optimum kontimu xr* yang pecahan. Hasil dari ⌊ ⌋ ⌊ ⌋ tidak memuat solusi integer yang layak. Sebagai akibatnya nilai integer layak dari xr harus memenuhi salah satu dari dua kondisi berikut yakni:

⌊ ⌋ atau ⌊ ⌋

Kedua kondisi ini bilamana diaplikasikan untuk model yang kontinu maka hasilnya merupakan dua problema saling lepas (mutually exclusive) dengan himpunan kendala sebagai berikut:

(i) { ⌊ ⌋ } (ii) { ⌊ ⌋ }

dan bilamana kendala-kendala integernya dimasukkan, maka diperoleh himpunan:

S1 = {x|Ax = b, ⌋, x ≥ 0, dan integer} dan S2 = {x|Ax = b, ⌋ , x ≥ 0, dan integer}

Sebenarnya bentuk ini merupakan pemisahan dari S0, yakni , . Solusi optimal x* dari problema yang diberikan, harus berada di salah satu S1 atau S2 dan harus juga merupakan solusi optimal dari salah satu subproblema berikut:

(i) Maksimumkan z = c.x kendala (ii) Maksimumkan z = c.x kendala

(24)

Subproblema-subproblema ini dapat lagi diselesaikan dengan mengulangi proses yang sama dengan merelaksasi kendala integernya dan mencabangkan kembali bila solusi optimal mempunyai komponen yang bernilai pecahan atau tidak integer. Proses percabangan ini akan membangun pohon keputusan, dengan setiap node k dari pohon keputusan tersebut berhubungan dengan sebuah subproblema: Maksimumkan z = c.x kendala . Jika solusi optimal yang berhubungan dengan program linier tersebut layak (memenuhi) atau mempunyai komponen-komponen bulat, maka solusi ini dicatat dan nilai objektifnya merupakan batas bawah untuk nilai optimum. Dalam kasus seperti ini tidak perlu dilakukan percabangan lebih jauh lagi dari subproblema ini dan node yang demikian difathom atau dipangkas. Node yang belum terfathom disimpan dalam master list. Pada beberapa node, nilai optimal (nilai integer terbesar yang lebih kecil atau sama dengan nilai optimum jika fungsi objektif mempunyai koefisien- koefisien integer) ̅̅̅ dari program linier yang bersangkutan merupakan sebuah batas atas untuk nilai optimum dari semua turunannya. Jika batas atas tersebut lebih kecil dari batas bawah terbaik yang ada, maka subproblema ini tidak dicabangkan lagi. Proses Branch and Bound diteruskan sampai setiap subproblema berhenti karena salah satu dari dua alasan berikut, yakni

(i) Sebuah solusi integer, atau

(ii) Batas atas lebih kecil dari batas bawah yang ada sekarang (Bangun, 2004).

Berdasarkan uraian di atas, maka prosedur atau langkah-langkah metode Branch and Bound untuk masalah maksimasi adalah sebagai berikut.

1. Selesaikan masalah program linier dengan metode simpleks.

2. Teliti solusi optimumnya. Apabila variabel keputusan yang diharapkan merupakan bilangan integer, maka solusi optimum integer telah tercapai.

Apabila satu atau lebih variabel keputusan yang diharapkan ternyata bukan bilangan integer, lanjutkan ke langkah 3.

(25)

3. Jadikan solusi pada penyelesaian langkah 1 menjadi batas atas dan untuk batas bawahnya merupakan solusi yang variabel keputusannya telah diintegerkan (rounded – down).

4. Pilih variabel yang mempunyai nilai pecahan terbesar (artinya bilangan desimal terbesar dari masing-masing variabel untuk dijadikan pencabangan ke dalam sub-sub masalah). Tujuannya adalah untuk menghilangkan solusi yang tidak memenuhi persyaratan integer dalam masalah itu. Pencabangan itu dilakukan secara mutually exclusive untuk memenuhi persyaratan integer dengan jaminan tidak ada solusi fisibel (layak) yang diikutsertakan.

5. Untuk setiap sub-masalah, nilai optimum fungsi tujuan ditetapkan sebagai batas atas. Solusi optimum yang diintegerkan menjadi batas bawah (solusi yang sebelumnya tidak integer kemudian diintegerkan). Sub-sub masalah yang memiliki batas atas kurang dari batas bawah yang ada, tidak diikutsertakan pada analisa selanjutnya. Suatu solusi integer fisibel (layak) adalah sama baik atau lebih baik dari batas atas untuk setiap sub masalah yang dicari. Jika solusi yang demikian terjadi, suatu sub masalah dengan batas atas terbaik dipilih untuk dicabangkan. Kembali ke langkah 4 (Winston, 2004).

Perhitungan dalam Metode Branch and Bound

Satu kerugian dasar dari metode Branch and Bound adalah bahwa metode ini mengharuskan pemecahan program linier yang lengkap di setiap node. Dalam masalah besar, hal ini dapat sangat memakan waktu, terutama ketika satu-satunya informasi yang diperlukan di node tersebut adalah nilai tujuan optimumnya. Hal ini diperjelas dengan menyadari bahwa sebuah batas yang “baik” diperoleh,

“banyak” node dapat disingkirkan dengan diketahui nilai tujuan optimum mereka.

Hal di atas mengarah pada pengembangan sebuah prosedur di mana kita tidak perlu memecahkan semua bagian masalah dari pohon pencabangan tersebut.

(26)

Gagasannya adalah “mengestimasi” sebuah batas atas (asumsikan masalah maksimasi) dari nilai tujuan optimum di setiap node. Jika batas atas ini menjadi lebih kecil daripada nilai tujuan yang berkaitan dengan pemecahan integer terbaik yang tersedia, node tersebut disingkirkan. Keuntungan utamanya adalah bahwa batas atas tersebut dapat diestimasi dengan cepat dengan perhitungan minimal.

Gagasan umum ini mengestimasi penalti (yaitu, penurunan nilai tujuan) yang dihasilkan dari pemberlakuan kondisi ⌊ ⌋ dan ⌊ ⌋ . Ini dapat dicapai dengan menambahkan setiap batasan ini ke tabel optimum di node tersebut.

Walaupun metode Branch and Bound memiliki kekurangan, dapat dikatakan bahwa sampai sekarang, ini adalah metode yang paling efektif dalam memecahkan program-program integer dengan ukuran praktis. Pada kenyataannya, semua program komersial yang tersedia didasari oleh metode Branch and Bound.

Tetapi, ini tidak berarti bahwa setiap program integer dapat dipecahkan dengan metode Branch and Bound. Ini hanya berarti bahwa ketika pilihannya adalah metode pemotongan dan metode Branch and Bound, metode terakhir ini umumnya terbukti lebih baik (Taha, 1996).

(27)

BAB 3

METODE PENELITIAN

Pada bab ini, akan dijelaskan metode-metode yang penulis gunakan dalam penelitian ini. Adapun metode yang akan digunakan dalam penelitian ini adalah Metode Simpleks dan Metode Branch and Bound.

3.1. Metode Simpleks

Metode simpleks adalah prosedur pemecahan program linier yang lebih efisien daripada metode grafik. Meskipun problem program linier dapat diselesaikan secara grafik, akan tetapi hampir seluruh problem program linier sesungguhnya tidak dapat diselesaikan dengan cara ini, karena pada umumnya program linier mempunyai lebih dari 3 variabel.

Oleh karena itu, George Dantzig pada tahun 1947 mengajukan satu metode yang paling berhasil untuk meyelesaikan problem program linier yang disebut Metode Simpleks.

Secara umum, bentuk umum dari program linier dapat dimodelkan sebagai berikut.

Maksimumkan: z = c1x1 + c2x2 + … + cnxn

Kendala :

(28)

xn ≥ 0, n = 1, 2, 3, …

Minimumkan : z = c1x1 + c2x2 + … + cnxn Kendala :

xn ≥ 0, n = 1, 2, 3, …

Prosedur (tahap proses) untuk menyelesaikan program linier dengan menggunakan metode simpleks adalah sebagai berikut:

Tahap 1. Merumuskan problema ke dalam model simpleks.

Tahap 2. Menyusun tabel simpleks iterasi awal.

Tahap 3. Mengecek nilai optimal tabel simpleks dengan cara sebagai berikut:

a. Kalau sudah optimal, tafsirkan hasil penyelesaian.

b. Kalau belum optimal, teruskan penyelesaian pada tahap berikutnya.

Tahap 4. Mengidentifikasi variabel yang akan masuk dalam tabel.

Tahap 5. Mengidentifikasi variabel yang akan dikeluarkan dalam tabel.

Tahap 6. Menyusun tabel simpleks baru.

Tahap 7. Mengecek nilai optimal tabel simpleks baru tersebut:

a. Kalau sudah optimal, tafsirkan hasil penyelesaian.

b. Kalau belum optimal, kembali kepada prosedur tahap 4.

Tahap 1. Perumusan Model Simpleks

Untuk menyusun rumusan program linier ke dalam model matematika simpleks, kita harus mengubah bentuk tanda ketidaksamaan kendala ke dalam bentuk tanda sama dengan (=) agar persamaan kendala dalam keadaan seimbang (untuk

(29)

memenuhi persyaratan yang dikehendaki pada persamaan kendala tersebut).

Bentuk ini biasanya dikatakan sebagai bentuk standar, sehingga bentuk standarnya dapat dirumuskan sebagai berikut: (Asumsikan untuk permasalahan maksimasi).

Maksimumkan: z = c1x1 + c2x2 + … + cnxn

Kendala :

xn ≥ 0, n = 1, 2, 3, …

si ≥ 0, i = 1, 2, 3, …

Pada permasalahan dalam penelitian ini, tanda ketidaksamaan kendala adalah lebih kecil atau sama dengan (≤), diubah menjadi tanda sama dengan (=) dengan syarat menambah variabel slack pada sisi bagian kiri persamaan kendala.

Mengapa harus ditambah dengan variabel slack? Jawabannya ialah agar persamaan garis kendala memenuhi persyaratan penyelesaian pada daerah kelayakan.

Tahap 2. Menyusun Tabel Simpleks

Ada beberapa macam format tabel simpleks dewasa ini. Salah satu format yang akan penulis gunakan dapat dilihat pada Tabel 3.1.

(30)

Tabel 3.1. Format Tabel Simpleks

Basis / C … … … …

B

x1 x2 … … xn s1 s2 … … sn

Zj - Cj

Penjelasan tabel simplek di atas:

1. C = Nilai kontribusi setiap variabel basis dalam proses iterasi.

2. Basis = Variabel basis dalam proses iterasi (nilainya tidak sama dengan nol).

3. B = Nilai variabel basis dalam proses iterasi.

4. Cj – Zj = Nilai kontribusi dalam problema meminimalkan dari setiap variabel dalam proses iterasi.

Tahap 3. Pengecekan Optimalisasi Tabel Simpleks Iterasi Awal

Pengecekan apakah tabel simplek pada iterasi awal telah atau belum optimal dilakukan dengan cara melihat nilai Zj - Cj masing-masing variabel fungsi tujuan.

Apabila Zj - Cj untuk semua variabel bernilai nol atau positif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka dilakukan tahap proses selanjutnya.

Tahap 4. Identifikasi Variabel yang Akan Masuk (Incoming Variable)

Untuk menentukan variabel yang mana akan masuk dalam pertimbangan untuk diproses pada iterasi berikutnya adalah variabel keputusan (variabel non-basis) yang mempunyai nilai Zj - Cj positif terbesar. Mengapa harus variabel non-basis?

Alasannya ialah bahwa variabel s1, s2, dan s3 telah masuk dalam proses iterasi sebelumnya. Mengapa harus nilai Zj - Cj positif terbesar? Karena variabel

(31)

nonbasis ini memiliki nilai terbesar yang dapat ditingkatkan dalam proses iterasi selanjutnya.

Tahap 5. Identifikasi Variabel yang Akan Keluar (Outgoing Variable)

Dengan adanya variabel yang masuk kedalam tabel simpleks, maka salah satu dari variabel basis harus keluar dari tabel simpleks tersebut agar diperoleh peningkatan nilai tujuan maksimum. Cara mengidentifikasi variabel yang akan keluar adalah dengan mencari hasil bagi antara nilai solusi dan nilai substitusi marjinal yang terkecil dan bilangan tersebut bernilai non-negatif.

Tahap 6. Penyusunan Tabel Simpleks Iterasi Pertama

Untuk menyusun tabel simpleks iterasi pertama, kita harus mencari koefisien elemen pivot dari tabel simpleks sebelumnya. Koefisien elemen pivot dapat dicari dengan cara menghubungkan kolom pivot dengan baris pivot sedemikian rupa sehingga titik potong kedua pivot ini menunjukkan koefisien, yang disebut elemen pivot.

Koefisien-koefisien baris pivot yang baru dicari dengan menggunakan rumus sebagai berikut:

Nilai Baris Pivot Baru = Nilai Baris Pivot Lama : Elemen Pivot

Untuk menghitung nilai baris baru lainnya, dilakukan dengan menggunakan rumus sebagai berikut:

Nilai Baris Baru = Nilai Baris Lama – (Elemen Baris x Nilai Baris Pivot Baru)

(32)

Tahap 7. Pengecekan Optimalisasi Tabel Simpleks Iterasi Pertama

Pengecekan apakah tabel simpleks pada iterasi pertama telah atau belum optimal.

Apabila Zj - Cj untuk semua variabel bernilai nol atau negatif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka kembali pada prosedur Tahap 4.

3.2. Metode Branch and Bound

Metode Branch and Bound mula-mula dipakai dan dikembangkan oleh Land and Doig (1960) untuk menyelesaikan program integer yang kemudian dimodifikasi oleh Dakin (1965) dan telah dengan sukses menerapkannya di dalam kitab undang-undang hukum dagang banyak orang dalam memecahkan persoalan program integer (Sidabutar, 2008).

Metode ini telah menjadi kode komputer standar untuk program integer, dan penerapan-penerapan dalam praktek tampaknya menyarankan bahwa metode ini lebih efisien dibanding dengan pendekatan Gomory. Teknik ini dapat diterapkan baik untuk masalah pure programming maupun mixed programming.

Secara umum, bentuk umum dari program integer adalah sebagai berikut.

Maksimumkan:

dengan kendala:

(≥, =, ≤) bi ; i = 1, 2, …, m xj ≥ 0 semua bilangan cacah, j = 1, 2, …, n

(33)

Dengan demikian, penjabaran bentuk umum dari fungsi tujuan dan fungsi kendala program integer adalah sebagai berikut.

Asumsikan fungsi tujuan program integer adalah sebagai berikut.

Maksimumkan:

z = c1x1 + c2x2 + … + cnxn

maka,

( ) =

= ∑ ; j = 1, 2, …, n

Selanjutnya, asumsikan fungsi kendala program integer adalah sebagai berikut.

maka,

(

) ( )

; i =1, 2, …, m

Langkah-langkah Metode Branch and Bound

Gagasan yang umum digunakan metode Branch and Bound dalam program integer dapat diuraikan sebagai berikut.

(34)

Asumsikan suatu masalah program integer.

Maksimumkan

Kendala dimana S0 = {x | Ax = b, x ≥ 0, dan integer}.

Ide umum dari metode branch and bound adalah pertama untuk menyelesaikan problema sebagai model kontinu, yakni menyelesaikan program integer sebagai program linier:

Maksimumkan

Kendala dimana T0 = {x | Ax = b, x ≥ 0}.

Andaikan bahwa xr merupakan peubah yang berkendala integer yang mempunyai nilai optimum kontimu xr* yang pecahan. Hasil dari ⌊ ⌋ ⌊ ⌋ tidak memuat solusi integer yang layak. Sebagai akibatnya nilai integer layak dari xr harus memenuhi salah satu dari dua kondisi berikut yakni:

⌊ ⌋ atau ⌊ ⌋

Kedua kondisi ini bilamana diaplikasikan untuk model yang kontinu maka hasilnya merupakan dua problema saling lepas (mutually exclusive) dengan himpunan kendala sebagai berikut:

(i) { ⌊ ⌋ } (ii) { ⌊ ⌋ }

dan bilamana kendala-kendala integernya dimasukkan, maka diperoleh himpunan:

S1 = {x|Ax = b, ⌋, x ≥ 0, dan integer} dan S2 = {x|Ax = b, ⌋ , x ≥ 0, dan integer}

Sebenarnya bentuk ini merupakan pemisahan dari S0, yakni , . Solusi optimal x* dari problema yang diberikan, harus berada di salah satu S1 atau S2 dan harus juga merupakan solusi optimal dari salah satu subproblema berikut:

(i) Maksimumkan z = c.x kendala (ii) Maksimumkan z = c.x kendala

(35)

Subproblema-subproblema ini dapat lagi diselesaikan dengan mengulangi proses yang sama dengan merelaksasi kendala integernya dan mencabangkan kembali bila solusi optimal mempunyai komponen yang bernilai pecahan atau tidak integer. Proses percabangan ini akan membangun pohon keputusan, dengan setiap node k dari pohon keputusan tersebut berhubungan dengan sebuah subproblema: Maksimumkan z = c.x kendala . Jika solusi optimal yang berhubungan dengan program linier tersebut layak (memenuhi) atau mempunyai komponen-komponen bulat, maka solusi ini dicatat dan nilai objektifnya merupakan batas bawah untuk nilai optimum. Dalam kasus seperti ini tidak perlu dilakukan percabangan lebih jauh lagi dari subproblema ini dan node yang demikian difathom atau dipangkas. Node yang belum terfathom disimpan dalam master list. Pada beberapa node, nilai optimal (nilai integer terbesar yang lebih kecil atau sama dengan nilai optimum jika fungsi objektif mempunyai koefisien- koefisien integer) ̅̅̅ dari program linier yang bersangkutan merupakan sebuah batas atas untuk nilai optimum dari semua turunannya. Jika batas atas tersebut lebih kecil dari batas bawah terbaik yang ada, maka subproblema ini tidak dicabangkan lagi. Proses Branch and Bound diteruskan sampai setiap subproblema berhenti karena salah satu dari dua alasan berikut, yakni

(i) Sebuah solusi integer, atau

(ii) Batas atas lebih kecil dari batas bawah yang ada sekarang (Bangun, 2004).

Berdasarkan uraian di atas, maka prosedur atau langkah-langkah metode Branch and Bound untuk masalah maksimasi adalah sebagai berikut.

1. Selesaikan masalah program linier dengan metode simpleks.

2. Teliti solusi optimumnya. Apabila variabel keputusan yang diharapkan merupakan bilangan integer, maka solusi optimum integer telah tercapai.

Apabila satu atau lebih variabel keputusan yang diharapkan ternyata bukan bilangan integer, lanjutkan ke langkah 3.

(36)

3. Jadikan solusi pada penyelesaian langkah 1 menjadi batas atas dan untuk batas bawahnya merupakan solusi yang variabel keputusannya telah diintegerkan (rounded – down).

4. Pilih variabel yang mempunyai nilai pecahan terbesar (artinya bilangan desimal terbesar dari masing-masing variabel untuk dijadikan pencabangan ke dalam sub-sub masalah). Tujuannya adalah untuk menghilangkan solusi yang tidak memenuhi persyaratan integer dalam masalah itu. Pencabangan itu dilakukan secara mutually exclusive untuk memenuhi persyaratan integer dengan jaminan tidak ada solusi fisibel (layak) yang diikutsertakan.

5. Untuk setiap sub-masalah, nilai optimum fungsi tujuan ditetapkan sebagai batas atas. Solusi optimum yang diintegerkan menjadi batas bawah (solusi yang sebelumnya tidak integer kemudian diintegerkan). Sub-sub masalah yang memiliki batas atas kurang dari batas bawah yang ada, tidak diikutsertakan pada analisa selanjutnya. Suatu solusi integer fisibel (layak) adalah sama baik atau lebih baik dari batas atas untuk setiap sub masalah yang dicari. Jika solusi yang demikian terjadi, suatu sub masalah dengan batas atas terbaik dipilih untuk dicabangkan. Kembali ke langkah 4 (Winston, 2004).

Perhitungan dalam Metode Branch and Bound

Satu kerugian dasar dari metode Branch and Bound adalah bahwa metode ini mengharuskan pemecahan program linier yang lengkap di setiap node. Dalam masalah besar, hal ini dapat sangat memakan waktu, terutama ketika satu-satunya informasi yang diperlukan di node tersebut adalah nilai tujuan optimumnya. Hal ini diperjelas dengan menyadari bahwa sebuah batas yang “baik” diperoleh,

“banyak” node dapat disingkirkan dengan diketahui nilai tujuan optimum mereka.

Hal di atas mengarah pada pengembangan sebuah prosedur di mana kita tidak perlu memecahkan semua bagian masalah dari pohon pencabangan tersebut.

(37)

Gagasannya adalah “mengestimasi” sebuah batas atas (asumsikan masalah maksimasi) dari nilai tujuan optimum di setiap node. Jika batas atas ini menjadi lebih kecil daripada nilai tujuan yang berkaitan dengan pemecahan integer terbaik yang tersedia, node tersebut disingkirkan. Keuntungan utamanya adalah bahwa batas atas tersebut dapat diestimasi dengan cepat dengan perhitungan minimal.

Gagasan umum ini mengestimasi penalti (yaitu, penurunan nilai tujuan) yang dihasilkan dari pemberlakuan kondisi ⌊ ⌋ dan ⌊ ⌋ . Ini dapat dicapai dengan menambahkan setiap batasan ini ke tabel optimum di node tersebut.

Walaupun metode Branch and Bound memiliki kekurangan, dapat dikatakan bahwa sampai sekarang, ini adalah metode yang paling efektif dalam memecahkan program-program integer dengan ukuran praktis. Pada kenyataannya, semua program komersial yang tersedia didasari oleh metode Branch and Bound.

Tetapi, ini tidak berarti bahwa setiap program integer dapat dipecahkan dengan metode Branch and Bound. Ini hanya berarti bahwa ketika pilihannya adalah metode pemotongan dan metode Branch and Bound, metode terakhir ini umumnya terbukti lebih baik (Taha, 1996).

(38)

BAB 4

HASIL DAN PEMBAHASAN

Perumusan fungsi tujuan dan fungsi kendala akan dirumuskan sebagai berikut:

4.1.Pengumpulan Data

Untuk menyelesaikan suatu permasalahan, perlu adanya data yang berhubungan dengan masalah tersebut, baik data primer maupun sekunder.

a. Keuntungan (laba) masing-masing produk

Keuntungan dari masing-masing produk dapat dilihat pada Tabel 4.1 berikut:

Tabel 4.1.Keuntungan Tiap Produk Bulan Januari 2013 hingga Juni 2013

Produk Keuntungan (Rp/buah)

Celana panjang pria 13.000

Celana panjang wanita 10.000

Celana pendek pria 12.000

Celana pendek wanita 10.000

b. Persediaan bahan baku

Jumlah persediaan bahan baku yang diambil adalah rata-rata dari jumlah bahan baku yang tersedia pada bulan Januari 2013 hingga Juni 2013. Jumlah persediaan bahan baku pada bulan Januari 2013 hingga Juni 2013 dapat dilihat pada Tabel 4.2 dan banyaknya kain yang dibutuhkan dalam membuat celana dapat dilihat pada Tabel 4.3.

(39)

Tabel 4.2. Jumlah Persediaan Bahan Baku Bulan Januari 2013 hingga Juni 2013

Bulan Kain Jeans (yar) KainKatun (yar)

Januari 53.716 13.250

Februari 60.495 13.110

Maret 63.500 12.880

April 50.404 12.870

Mei 47.105 9.879

Juni 54.780 10.011

Jumlah 330.000 72.000

Rata-rata 55.000 12.000

Tabel 4.3. Bahan Baku yang Dibutuhkan dalam Membuat Celana

Jenis Produk Kain Jeans (yar) Kain Katun (yar)

Celana panjang pria 1,2 0,6

Celana panjang wanita 1,1 0,4

Celana pendek pria 1 0,6

Celana pendek wanita 1 0,4

c. Waktu pembuatan tiap produk

Diketahui bahwa tenaga kerja CV. Keris Sakti yang bekerja dalam bagian produksi tersebut terdiri dari 20 orang. Pekerja bekerja selama 8 jam sehari, dalam 1 minggu bekerja dari hari Senin hingga Sabtu, sehingga dalam 1 bulan 1 pekerja bekerja selama 208 jam. Jadi apabila dijumlahkan semua waktu pekerja maka terdapat 4.160 jam. Di samping itu, apabila industri tersebut ingin memproduksi hanya 1 buah celana, maka dibutuhkan waktu sekitar 1 jam untuk celana pria dan 0,75 jam (45 menit) untuk celana wanita.

d. Jumlah permintaan pasar

Data jumlah pemintaan celana pada bulan Januari 2013 hingga Juni 2013 dapat dilihat pada Tabel 4.4.

(40)

Tabel 4.4. Jumlah Permintaan Pasar Bulan Januari 2013 hingga Juni 2013 Bulan Celana

panjang pria

Celana panjang wanita

Celana pendek pria

Celana pendek wanita

Januari 1.470 850 1.050 750

Februari 1.450 875 1.175 875

Maret 1.195 900 1.000 630

April 1.375 770 970 790

Mei 1.560 820 1.250 860

Juni 1.600 610 880 775

Dari data pada Tabel 4.4 di atas, data yang diambil sebagai kendala adalah jumlah maksimum tiap celana dari bulan Januari 2013 hingga Juni 2013, yaitu celana panjang pria 1.600 buah, celana panjang wanita 900 buah, celana pendek pria 1.250 buah, dan celana pendek wanita 875 buah. Untuk mengantisipasi agar jumlah produksi dari tiap celana tidak 0, maka ditambah kendala batasan bawah jumlah yang dapat diproduksi oleh industri, yaitu celana panjang pria 1.575 buah, celana panjang wanita 850 buah, celana pendek pria 1.245, dan celana pendek wanita 800 buah.

4.2.Perumusan Fungsi Tujuan

Asumsikan:

x1 = Jumlah celana panjang pria per buah x2 = Jumlah celana panjang wanita per buah x3 = Jumlah celana pendek pria per buah x4 = Jumlah celana pendek wanita per buah

Fungsi tujuan yang dimaksimalkan adalah laba dari penjualan tiap produk.

Koefisien dari variabel keputusan merupakan keuntungan dari tiap-tiap produk.

Dengan demikian, fungsi tujuan untuk memaksimalkan atau mengoptimalkan jumlah produksi celana dapat dirumuskan sebagai berikut:

(41)

Maksimumkan:

z = 13.000x1 + 10.000x2 + 12.000x3 +10.000x4

4.3.Perumusan Fungsi Kendala

Fungsi kendala terdiri dari jumlah persediaan bahan baku, jumlah permintaan pasar terhadap produk, dan waktu pembuatan produk.

1. Model kendala persediaan bahan baku

Dalam memodelkan kendala persediaan bahan baku, data yang digunakan adalah jumlah rata-rata dari tiap produk yang dapat dilihat pada Tabel 4.2 dan berdasarkan banyaknya bahan baku yang dibutuhkan tiap jenis celana (Tabel 4.3) maka model kendala persediaan bahan baku dapat dirumuskan sebagai berikut:

Kain jeans : 1,2x1 + 1,1x2 + x3 + x4 ≤ 55.000 Kain katun : 0,6x1 + 0,4x2 + 0,6x3 + 0,4x4 ≤ 12.000

2. Model kendala waktu pembuatan tiap produk

Dalam memodelkan kendala waktu pembuatan produk, data yang digunakan adalah waktu yang dihabiskan dalam membuat tiap jenis celana, sehingga model kendala waktu pembuatan produk dapat dirumuskan sebagai berikut:

x1 + 0,75x2+ x3 + 0,75x4 ≤ 4.160

3. Model kendala jumlah permintaan pasar

Berdasarkan jumlah permintaan pasar terhadap produk yang telah diperlihatkan pada Tabel 4.4, maka model kendala permintaan pasar dapat dirumuskan sebagai berikut:

Celana panjang pria : 1.575 ≤ x1 ≤ 1.600

(42)

Celana panjang wanita : 850 ≤ x2 ≤ 900 Celana pendek pria : 1.245 ≤ x3 ≤ 1.250 Celana pendek wanita : 800 ≤ x4 ≤ 875

4.4.Analisis dan Pembahasan

Dalam mengoptimalkan jumlah produksi celana, metode yang akan digunakan adalah Metode Branch and Bound. Sehingga pertama-tama kita modelkan ke dalam model program integer menjadi:

Fungsi tujuan:

Maksimumkan z = 13.000x1 + 10.000x2 + 12.000x3 +10.000x4

Fungsi kendala:

1. Kendala persediaan bahan baku

1,2x1 + 1,1x2 + x3 + x4 ≤ 55.000 0,6x1 + 0,4x2 + 0,6x3 + 0,4x4 ≤ 12.000

2. Kendala waktu pembuatan produk

x1 + 0,75x2 + x3 + 0,75x4 ≤ 4.160

3. Kendala jumlah permintaan pasar

x1 ≤ 1.600 x2 ≤ 900 x3 ≤ 1.250

x4 ≤ 875 x1 ≥ 1.575

x2 ≥ 850 x3 ≥ 1.245

x4 ≥ 800

(43)

Bentuk standarnya menjadi

Maksimumkan z = 13.000x1 + 10.000x2 + 12.000x3 +10.000x4

Kendala 1,2x1 + 1,1x2 + x3 + x4+ s1 = 55.000 0,6x1 + 0,4x2 + 0,6x3 + 0,4x4 + s2 = 12.000 x1 + 0,75x2+ x3 + 0,75x4 + s3 = 4.160 x1 + s4 = 1.600

x2 + s5 = 900 x3 +s6 =1.250 x4 + s7 = 875 x1 - s8 + s12 = 1.575 x2 - s9 + s13 = 850 x3 - s10 + s14 = 1.245 x4 - s11 + s15 = 800 xj≥ 0; j = 1, 2, 3, 4 si ≥ 0; i = 1, 2, 3, …, 15

Berdasarkan perhitungan simpleks dan pohon pencabangan Branch and Bound yang dapat dilihat pada Lampiran 1 dan Lampiran 2, maka perbandingan jumlah tiap celana yang dapat diproduksi industri dengan yang didapat dari perhitungan Branch and Bound adalah sebagai berikut.

Tabel 4.5. Perbandingan Jumlah Produksi Optimum Produksi (per buah)

Selisih

Jenis Celana Industri Usulan

Celana panjang pria 1.575 1.586 1.586 1.586 11

Celana panjang wanita 850 900 898 895 50/48/45

Celana pendek pria 1.245 1.245 1.245 1.245 0

Celana pendek wanita 800 872 874 875 72/74/75

Keuntungan Rp.51.915.000,- Rp.53.278.000,- Rp.1.363.000,-

(44)

Metode Branch and Bound diharapkan dapat menyelesaikan suatu problem program integer dengan penyelesaian optimal yang lebih teliti dan lebih baik dari metode lain. Metode ini biasanya menghasilkan lebih dari satu solusi optimal, sehingga baik penulis maupun pemimpin industri dapat membandingkan manakah yang merupakan solusi yang paling optimal diantara solusi-solusi yang dihasilkan tersebut.

Adapun kelemahan dari metode Branch and Bound ini adalah prosedur dari metode ini sangat panjang karena metode ini mengharuskan pemecahan program linier yang lengkap pada setiap node. Dalam masalah yang besar, metode ini tidaklah efesien karena metode Branch and Bound hanya fokus pada solusi yang masih bernilai pecahan dan harus mencabangkan solusi yang masih bernilai pecahan ke dalam sub permasalahan baru sehingga akan sangat memakan waktu, terutama ketika satu-satunya informasi yang diperlukan di node tersebut adalah nilai tujuan optimumnya. Selain itu, jika diasumsikan terjadi perubahan harga pada produk selama masa perencanaan produksi, maka hasil dari metode Branch and Bound akan menjadi kurang optimal (Alannuariputri, 2013).

(45)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

1. Jumlah produksi optimal tiap jenis celana (celana panjang pria, celana panjang wanita, celana pendek pria, celana pendek wanita) masing-masing dapat diperoleh dalam 3 alternatif yaitu 1.586, 900, 1.245, 872 buah; 1.586, 898, 1.245, 874 buah atau 1.586, 895, 1.245, 875 buah per bulan.

2. Jumlah pendapatan penjualan celana pada CV. Keris Sakti berdasarkan perhitungan dengan metode Branch and Bound diperoleh rata-rata Rp.53.278.000,- per bulan.

3. Metode Branch and Bound dapat dikatakan merupakan metode yang efektif dalam mengoptimalkan suatu permasalahan karena walaupun prosedur dari metode ini sangat panjang dalam permasalahan yang besar tetapi hasilnya lebih optimal daripada metode lain karena metode ini biasanya menghasilkan hasil optimal lebih dari satu. Dengan demikian, dari hasil-hasil optimal yang didapat dapat dibandingkan manakah yang merupakan hasil yang paling optimal.

5.2. Saran

Perlu diadakan penelitian lanjutan untuk mempersingkat prosedur metode Branch and Bound agar tidak terlalu panjang.

(46)

DAFTAR PUSTAKA

Alannuariputri, Y.A. 2013. Integer Programming dengan Pendekatan Metode Branch and Bound dan Metode Cutting Plane untuk Optimasi Kombinasi Produk (Studi Kasus pada Perusahaan “Diva” Sanitary, Sidoarjo). Jurnal Mahasiswa Statistik. 1(2): 89-92.

Assauri, Sofjan. 1999. Manajemen Produksi dan Operasi. Edisi Revisi. Fakultas Ekonomi Universitas Indonesia. Jakarta.

Bangun, E. 2004. Kajian Strategis untuk Menyelesaikan Integer Program dengan Metode Branch and Bound. [Tesis]. Medan: Universitas Sumatera Utara, Program Pascasarjana.

Siagian, P. 2006. Penelitian Operasional: Teori dan Praktek. Universitas Indonesia (UI-Press). Jakarta.

Sidabutar, J. 2008. Pengembangan Algoritma Pencarian untuk Menyelesaikan Problema Program Tak Linier Campuran. [Tesis]. Medan: Universitas Sumatera Utara, Program Pascasarjana.

Sitorus, P. 1997. Program Linier. Universitas Trisakti. Jakarta.

Supranto, J. 1991. Teknik Pengambilan Keputusan. Rineka Cipta. Jakarta.

Taha, H.A. 1996. Riset Operasi, Jilid I ed. Dr. Lyndon Saputra. Binarupa Aksara.

Jakarta.

Winston, W.L. 2004. Operation Research Applications and Algorthms. 4th edition.

Duxbury, New York.

(47)

Lampiran 1. Perhitungan Simpleks Awal Iterasi 0

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M M M M B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15

s1 0 1.2 1.1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55000

s2 0 0.6 0.4 0.6 0.4 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 12000

s3 0 1 0.75 1 0.75 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 4160

s4 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1600

s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 900

s6 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1250

s7 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 875

s12 M 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 0 0 1575

s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 0 850

s14 M 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 1245

s15 M 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 800

Zj - Cj M-13000 M-10000 M-12000 M-10000 0 0 0 0 0 0 0 -M -M -M -M 0 0 0 0 4470M

(48)

Iterasi 1

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M M M

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s13 s14 s15 B

s1 0 0 1.1 1 1 1 0 0 0 0 0 0 1.2 0 0 0 0 0 0 53110

s2 0 0 0.4 0.6 0.4 0 1 0 0 0 0 0 0.6 0 0 0 0 0 0 11055

s3 0 0 0.75 1 0.75 0 0 1 0 0 0 0 1 0 0 0 0 0 0 2585

s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 25

s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 900

s6 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1250

s7 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 875

x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 1575

s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 850

s14 M 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 1245

s15 M 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 800

Zj - Cj 0 M-10000 M-12000 M-10000 0 0 0 0 0 0 0 -13000 -M -M -M 0 0 0 2895M+20475000

(49)

Iterasi 2

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M M

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s13 s15 B

s1 0 0 1.1 0 1 1 0 0 0 0 0 0 1.2 0 1 0 0 0 51865

s2 0 0 0.4 0 0.4 0 1 0 0 0 0 0 0.6 0 0.6 0 0 0 10308

s3 0 0 0.75 0 0.75 0 0 1 0 0 0 0 1 0 1 0 0 0 1340

s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 25

s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 900

s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 5

s7 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 875

x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 1575

s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 850

x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1245

s15 M 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1 800

Zj - Cj 0 M-10000 0 M-10000 0 0 0 0 0 0 0 -13000 -M -12000 -M 0 0 1650M+35415000

(50)

Iterasi 3

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s13 B

s1 0 0 1.1 0 0 1 0 0 0 0 0 0 1.2 0 1 1 0 51065

s2 0 0 0.4 0 0 0 1 0 0 0 0 0 0.6 0 0.6 0.4 0 9988

s3 0 0 0.75 0 0 0 0 1 0 0 0 0 1 0 1 0.75 0 740

s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 25

s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 900

s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 5

s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 75

x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 1575

s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 850

x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1245

x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 800

Zj - Cj 0 M-10000 0 0 0 0 0 0 0 0 0 -13000 -M -12000 -10000 0 850M+43415000

Referensi

Dokumen terkait

pixel ruangan secara realtime yang ditampung kedalam variabel array kedua dan dijumlahkan nilainya. Nilai dari penjumlahan array kedua dapat berubah jika terdapat

[r]

bentuk perubahan yang sistematis dengan menerapkan pengetahuan dan sumberdaya yang diperlukan organisasi untuk bergeser dari kondisi sekarang menuju kondisi yang

[r]

banyak anggota  suatu kumpulan  objek 4.1   Menyajikan  bilangan cacah  sampai dengan 99  yang bersesuaian  dengan banyak  anggota kumpulan  objek yang 

[r]

PEMERINTAH KOTA BANDAR LAMPUNG DINAS PEKERJAAN UMUM PANITIA PENGADAAN JASA KONSULTANSI.. Jalan Pulau Sebesi Nomor 68

Penelitian ini diharapkan dapat digunakan sebagai bahan informasi kombinasi suhu dan salinitas yang sesuai terhadap media pemeliharaan kepiting bakau ( Scylla serrata