SKRIPSI
ENDANG JULIANA TAMPUBOLON
110803042
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PEMBULATAN HASIL PROGRAM LINIER FUZZY MENGGUNAKAN
METODE BRANCH AND BOUND
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat untuk mencapai gelar Sarjana Sains
ENDANG JULIANA TAMPUBOLON
110803042
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
i
PERSETUJUAN
Judul : Pembulatan Hasil Program Linier Fuzzy
Menggunakan Metode Branch and Bound
Kategori : Skripsi
Nama : Endang Juliana Tampubolon
Nomor Induk Mahasiswa : 110803042
Program Studi : Sarjana (S1) Matematika
Departemen : Matematika
Fakultas : Matematika Dan Ilmu Pengetahuan Alam
(FMIPA) Universitas Sumatera Utara
NIP. 19460404 197107 1 001 NIP. 19610318 198711 2 001
Disetujui Oleh
Departemen Matematika FMIPA USU Ketua,
ii
PERNYATAAN
PEMBULATAN HASIL PROGRAM LINIER FUZZY MENGGUNAKAN METODE BRANCH AND BOUND
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juni 2015
iii
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa dan Maha Penyayang, dengan limpahan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini dengan judul Pembulatan Hasil Program Linier Fuzzy
Menggunakan Metode Branch and Bound.
Terima kasih penulis sampaikan kepada Ibu Dr. Esther SM Nababan, M.Sc. dan Bapak Prof. Dr. Drs. Iryanto, M.Si. selaku pembimbing yang telah memberikan bimbingan dan telah meluangkan waktunya selama penulisan skripsi ini. Bapak Dr. Suwarno Ariswoyo, M.Si. dan Ibu Asima Manurung, S.Si.,M.Si. selaku penguji yang telah memberikan kritik dan saran yang membangun dalam penyempurnaan skripsi ini. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara. Ketua dan Sekretaris Departemen Matematika Bapak Prof. Dr. Tulus, M.Si. Ph.D dan Ibu Dr. Mardiningsih, M.Si. Seluruh staf pengajar dan staf administrasi di lingkungan Departemen Matematika, serta seluruh sivitas akademika di lingkungan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
Ucapan terima kasih juga ditujukan kepada kedua orang tua penulis Ayahanda Nimrot Tampubolon dan Ibunda Riwati Manullang yang selalu mendoakan, memberi semangat dan bantuan baik secara moril maupun material kepada penulis sejak awal perkuliahan hingga selesai skripsi ini. Kepada saudara-saudari penulis yaitu Brando Hernandes Tampubolon, Makmur Miduk Tampubolon, Okta Emelia Tampubolon dan Putra Novando Tampubolon dan seluruh keluarga besar yang terus mendukung dan mendoakan penulis.
Terima kasih kepada sahabat-sahabat penulis, Anak Jendral 2011, abang dan kakak stambuk 2008, adik stambuk 2012, adik stambuk 2013, adik-adik stambuk 2014, rekan-rekan di Himpunan Mahasiswa Matematika FMIPA USU dan kepada semua pihak yang telah memberikan bantuan dan dorongan yang tidak dapat disebutkan satu per satu. Semoga segala bentuk bantuan yang telah diberikan kepada penulis mendapatkan balasan yang lebih baik dari Tuhan Yang Maha Esa.
Medan, Juni 2015 Penulis
iv
PEMBULATAN HASIL PROGRAM LINIER FUZZY MENGGUNAKAN METODE BRANCH AND BOUND
ABSTRAK
Program linier fuzzy adalah program linier yang dinyatakan dengan fungsi objektif dan fungsi kendala yang memiliki parameter fuzzy dan ketidaksamaan fuzzy. Tujuan dari program linier fuzzy adalah mencari solusi yang dapat diterima berdasarkan kriteria yang dinyatakan dalam fungsi objektif dan kendala. Solusi tersebut berbentuk himpunan fuzzy yang memiliki derajat keanggotaan tertentu pada selang [0,1]. Dalam tulisan ini akan ditunjukkan suatu permasalahan program linier yang akan diselesaikan menggunakan logika fuzzy. Namun sering kali hasil yang diperoleh berupa nilai yang berupa pecahan. Untuk mengatasi masalah tersebut, penulis menggunakan metode branch and bound untuk membulatkan hasil yang telah diperoleh karena tidak mungkin satuan unit berupa pecahan. Metode branch and bound merupakan suatu metode yang digunakan untuk menyelesaikan masalah program linier yang menghasilkan penyelesaian dalam bentuk bilangan bulat (integer). Solusi pembulatan yang dihasilkan lebih kecil dari solusi yang dihasilkan sebelum dilakukan pembulatan.
v
INTEGERING THE RESULT OF FUZZY LINEAR PROGRAMMING USING BRANCH AND BOUND METHOD
ABSTRACT
Fuzzy linear programming is a linear programming that expressed by objective function and constraint function that has fuzzy parametres and fuzzy inequation. The purpose of fuzzy linear programming is to find the solution that can be accepted with criteria that expressed on objective funtion and constraints. The solution is on fuzzy set that has the membership degree on interval [0,1]. A linear programming problem that solved by fuzzy logic is shown in this paper. But the decimal obtained solution is often. To solve the problem, the writer use the branch and bound method to integering the obtained solution since decimal unit is not possible. Branch and bound method is a method to solve the linear programming problem with an integer solution is obtained. The integering obtained solution is less than the before integering obtained solution.
vi
1.2. Perumusan Masalah 3
1.3. Batasan Masalah 3
1.4. Tinjauan Pustaka 3
1.5. Tujuan Penelitian 5
1.6. Kontribusi Penelitian 5
1.7. Metodologi Penelitian 5
Bab 2. Landasan Teori
2.1. Program Linier 6
2.1.1. Persyaratan Penyelesaian Program Linier 7
2.1.2. Model Umum Matematik Program Linier 7
2.1.3. Karakteristik Program Linier 8
2.1.4. Metode Simpleks 8
2.2. Program Bilangan Bulat 11
2.2.1. Metode Penyelesaian Program Bilangan Bulat 12 2.2.1.1. Metode Pembulatan (Rounding Method) 13
2.2.1.2. Metode Branch and Bound 13
2.3. Fuzzy 15
2.3.1. Alasan Digunakannya Logika Fuzzy 15
2.3.2. Himpunan Fuzzy 16
2.3.3. Fungsi Keanggotaan 18
2.3.3.1. Representasi Linier 18
2.3.3.2. Representasi Kurva Segitiga 20
2.3.3.3. Representasi Kurva Trapesium 20
Bab 3. Pembahasan
3.1. Program Linier Fuzzy 22
3.2. Algoritma Branch and Bound 26
3.3. Langkah Penyelesaian Pembulatan Program Linier
vii
Bab 4. Kesimpulan dan Saran 69
4.1. Kesimpulan 69
4.2. Saran 69
Daftar Pustaka 70
viii
DAFTAR TABEL
Nomor Judul Halaman Tabel
Tabel 2.1. Bentuk Tabel Simpleks 10
Tabel 3.1. Bentuk tabulasi permasalahan 29
Tabel 3.2. Iterasi 0 untuk = 0 = 1 31
Tabel 3.3. Iterasi 1 untuk = 0 = 1 32
Tabel 3.4. Iterasi 2 untuk = 0 = 1 32
Tabel 3.5. Iterasi 3 untuk = 0 = 1 33
Tabel 3.6. Iterasi 4 untuk = 0 = 1 33
Tabel 3.7. Iterasi 0 untuk = 1 = 0 34
Tabel 3.8. Iterasi 1 untuk = 1 = 0 34
Tabel 3.9. Iterasi 2 untuk = 1 = 0 35
Tabel 3.10. Iterasi 3 untuk = 1 = 0 35
Tabel 3.11. Tabulasi tiap node 65
ix
DAFTAR GAMBAR
Nomor Judul Halaman Gambar
Gambar 2.1. Representasi Linier 19
Gambar 2.2. Representasi Linier Turun 19
Gambar 2.3. Kurva Segitiga 20
Gambar 2.4. Kurva Trapesium 21
Gambar 3.1. Fungsi Keanggotaan 25
Gambar 3.2. Fungsi Keanggotaan dari Fungsi Tujuan 36
Gambar 3.3. Fungsi Keanggotaan dari Batasan-1 36
Gambar 3.4. Fungsi Keanggotaan dari Batasan-2 37
Gambar 3.5. Fungsi Keanggotaan dari Batasan-3 37
x
Nomor Judul Halaman Lamp
iv
PEMBULATAN HASIL PROGRAM LINIER FUZZY MENGGUNAKAN METODE BRANCH AND BOUND
ABSTRAK
Program linier fuzzy adalah program linier yang dinyatakan dengan fungsi objektif dan fungsi kendala yang memiliki parameter fuzzy dan ketidaksamaan fuzzy. Tujuan dari program linier fuzzy adalah mencari solusi yang dapat diterima berdasarkan kriteria yang dinyatakan dalam fungsi objektif dan kendala. Solusi tersebut berbentuk himpunan fuzzy yang memiliki derajat keanggotaan tertentu pada selang [0,1]. Dalam tulisan ini akan ditunjukkan suatu permasalahan program linier yang akan diselesaikan menggunakan logika fuzzy. Namun sering kali hasil yang diperoleh berupa nilai yang berupa pecahan. Untuk mengatasi masalah tersebut, penulis menggunakan metode branch and bound untuk membulatkan hasil yang telah diperoleh karena tidak mungkin satuan unit berupa pecahan. Metode branch and bound merupakan suatu metode yang digunakan untuk menyelesaikan masalah program linier yang menghasilkan penyelesaian dalam bentuk bilangan bulat (integer). Solusi pembulatan yang dihasilkan lebih kecil dari solusi yang dihasilkan sebelum dilakukan pembulatan.
v
INTEGERING THE RESULT OF FUZZY LINEAR PROGRAMMING USING BRANCH AND BOUND METHOD
ABSTRACT
Fuzzy linear programming is a linear programming that expressed by objective function and constraint function that has fuzzy parametres and fuzzy inequation. The purpose of fuzzy linear programming is to find the solution that can be accepted with criteria that expressed on objective funtion and constraints. The solution is on fuzzy set that has the membership degree on interval [0,1]. A linear programming problem that solved by fuzzy logic is shown in this paper. But the decimal obtained solution is often. To solve the problem, the writer use the branch and bound method to integering the obtained solution since decimal unit is not possible. Branch and bound method is a method to solve the linear programming problem with an integer solution is obtained. The integering obtained solution is less than the before integering obtained solution.
1.1. Latar Belakang
Program linier merupakan suatu cara yang lazim digunakan dalam pemecahan
masalah pengalokasian sumber-sumber yang terbatas secara optimal. Persoalan
pengalokasian akan muncul apabila seseorang digaruskan untuk memilih atau
menentukan tingkat aktivitas yang akan dilakukannya, dimana masing-masing
aktivitas membutuhkan sumber yang sama sedangkan jumlahnya terbatas
(Mustafa & Parkhan, 1999)
Sejak diperkenalkan di akhir dasawarsa 1940-an, program linier telah
terbukti merupakan salah satu alat operasi riset yang efektif. Keberhasilannya
berakar dari keluwesannya dalam menjabarkan berbagai siruasi kehidupan nyata
seperti dibidang: militer, industri, pertanian, transportasi, ekonomi, kesehatan
bahkan ilmu sosial dan perilaku. Di samping itu, tersedianya program komputer
yang sangat efisien untuk memecahkan masalah-masalah program linier yang
sangat luas merupakan faktor penting bagi tersebarnya penggunaan teknik ini
(Mustafa & Parkhan, 1999)
Program linier merupakan model umum yang dapat digunakan dalam
pemecahan masalah pengalokasian sumber yang terbatas secara optimum.
Masalah tersebut timbul apabila seseorang diharuskan untuk memilih atau
menentukan tingkat setiap kegiatan yang akan dilakukannya, dimana
masing-masing kegiatan membutuhkan sumber yang sama sedangkan jumlahnya terbatas
untuk memperoleh tingkat keuntungan maksimal atau biaya yang minimal.
Program linier saat ini masih menjadi pilihan utama dalam meyelesaikan masalah
untuk memasukan asumsi-asumsi yang belum dimuat dalam program linear
(Purba, 2012).
Apabila suatu masalah program linier hanya mengandung dua kegiatan
(variabel keputusan) saja, maka dapat diselesaikan dengan metode grafik. Bila
terdapat lebih dari dua variabel maka metode grafik tidak dapat digunakan lagi,
sehingga diperlukan metode simpleks. Metode ini lazim dipakai untuk
menentukan kombinasi dari tiga variabel atau lebih. Kedua metode ini sampai
sekarang masih sangat popular dan masih mengalami perkembangan di antara
salah satunya menggunakan logika fuzzy. Semua masalah dalam dunia nyata erat
hubungannya dengan masalah manusia, yang mengandung ketidakpastian (Purba,
2012).
Dari kebutuhan untuk menggambarkan keadaan dunia nyata yang tidak
pasti ini muncul istilah fuzzy, yang pertama kali diperkenalkan oleh Profesor Lotfi
A. Zadeh dari Universitas California di Berkeley pada tahun 1965. Teori ini dapat
digunakan untuk menangani ketidakpastian dalam masalah dunia nyata. Teori ini
memperkenalkan yang keanggotaannya dinyatakan dengan derajat keanggotaan
tertentu dalam selang tertutup antara 0 dan 1. Program linier fuzzy adalah program
linier yang dinyatakan dengan fungsi objektif dan fungsi kendala yang memiliki
parameter fuzzy dan ketidaksamaan fuzzy. Tujuan dari program linier fuzzy adalah
mencari solusi yang dapat diterima berdasarkan kriteria yang dinyatakan dalam
fungsi objektif dan kendala. Solusi tersebut berbentuk himpunan fuzzy yang
memiliki derajat kebenaran tertentu pada selang [0,1] (Purba, 2012).
Perolehan hasil yang telah diselesaikan mengunakan program linier fuzzy
sering kali menghasilkan nilai yang berbentuk pecahan sementara satuan yang
ditetapkan misalkan adalah satuan unit dalam suatu perancangan produksi. Hal ini
tentu tidak relevan karena satuan unit tidak mungkin bernilai pecahan. Oleh
karena itu, diperlukan suatu metode pembulatan untuk menghasilkan nilai yang
integer dari hasil perolehan program linier fuzzy tersebut. Metode pembulatan
1.2. Perumusan Masalah
Berdasarkan latar belakang diatas, perumusan masalah dari tulisan ini adalah
bagaimana penerapan metode branch and bound pada pembulatan program linier
fuzzy.
1.3. Batasan Masalah
Pencarian solusi dalam pembulatan program linier fuzzy menggunakan metode
branch and bound diselesaikan menggunakan software POM-QM.
1.4. Tinjauan Pustaka
Sebagai sumber pendukung teori dalam penulisan ini, penulis mengambil
beberapa pustaka yang memberikan kontribusi dalam penyelesaian penulisan ini.
Pada program linier fuzzy akan dicari suatu nilai Z yang merupakan fungsi
objektif yang akan dioptimasikan sedemikian hingga tunduk pada batasan-batasan
yang dimodelkan dengan menggunakan himpunan fuzzy (Kusumadewi &
Purnomo, 2010).
Fuzzy linear programming menggabungkan antara model pemrograman
linear biasa dan konsep logika fuzzy sebagai salah satu cara pengambilan
keputusan dalam menentukan jumlah produk yang optimal dengan
mempertimbangkan keterbatasan sumber daya produksi (Suantio, Rambe &
Fuzzy Linear Programming merupakan modifikasi dari teori Linier
Programming di gabung dengan Fuzzy Logic di mana hasilnya akan lebih kecil
jika dibandingkan dengan hasil pada metode Linear Programming. Dengan
menerapkan Fuzzy Linear Programming dalam menentukan tingkat produksi
maksimum dianggap dapat membantu untuk memetakan suatu input ke dalam
suatu output tanpa mengabaikan faktor-faktor yang ada. Dengan metode ini
diharapkan nantinya dapat membantu dalam proses pengambilan keputusan yang
tepat. Yang mana Fuzzy Logic dapat digunakan dalam pemecahan masalah
program linier tersebut. Hal ini merupakan syarat mutlak untuk dapat digunakan
dalam Fuzzy LinearProgramming (Wanayumini, 2012).
Penyelesaian program linier secara klasik dianggap kurang tepat lagi, hal
ini disebabkan penyelesaian program linier secara klasik tidak melibatkan
asumsi-asumsi yang ada padahal model yang terbentuk dalam dunia nyata selalu
terbentuk dengan asumsi-asumsi yang ada. Penyelesaian program linier secara
logika fuzzy akan memberikan hasil yang lebih baik jika dibandingkan dengan
penyelesaian program linier secara klasik (Purba, 2012).
Metode branch and bound adalah suatu metode pencarian solusi yang
ditransformasikan dalam bentuk pohon percabangan dan pembatasan. Metode ini
mula-mula dipakai oleh A. H. Land dan A. G. Doig pada tahun 1960. Metode
branch and bound merupakan suatu metode yang paling umum digunakan untuk
mencari solusi optimal pada masalah optimasi kombinatorial seperti penjadwalan
proyek. Branch and bound terdiri atas tiga bagian utama, yaitu batas bawah,
strategi pencarian, dan percabangan. Baik program linier maupun program
nonlinier dapat diselesaikan dengan metode branch and bound (Siagian, 2006)
Metode branch and bound sering digunakan untuk menyelesaikan suatu
problema program linier integer karena hasil yang diperoleh dalam penyelesaian
optimal lebih teliti dan lebih baik dari metode lainnya. Kelemahan pokok metode
ini adalah prosedur untuk mencapai hasil yang optimal sangat panjang (Sitorus,
1.5. Tujuan Penulisan
Penelitian ini bertujuan untuk membulatkan hasil yang diperoleh dari
penyelesaian program linier fuzzy menggunakan metode branch and bound.
1.6. Kontribusi Penelitian
Tulisan ini diharapkan dapat bermanfaat sebagai:
1. Referensi utama atau sebagai bahan rujukan untuk melakukan penelitian
tentang pembulatan program linier fuzzy lebih lanjut.
2. Bahan pertimbangan dalam mengambil keputusan yang berkaitan dengan
aplikasi pembulatan program linier fuzzy.
1.7. Metodologi Penelitian
Penelitian yang penulis lakukan adalah penelitian literatur yang disusun dengan
langkah-langkah sebagai berikut:
1. Mencari literatur dari beberapa buku, jurnal, situs dan karya tulis lainnya
yang berhubungan dengan program linier fuzzy dan metode branch and
bound.
2. Menjelaskan definisi program linier, program bilangan bulat serta metode
penyelesaiannya dan menjelaskan fuzzy.
3. Menjelaskan definisi dari program linier fuzzy serta pembulatannya
menggunakan metode branch and bound.
4. Menyelesaikan ilustrasi numerik dari kasus pembulatan program linier fuzzy
menggunakan metode branch and bound.
5. Menyimpulkan hasil dan informasi dari penyelesaian permasalahan yang
2.1. Program Linier
Program linier disusun oleh George B. Dantzig tahun 1947 pada saat memimpin
Air Force Statistical Control’s Combat Analysis Branch di Pentagon. Saat
Dantzig menganalisis masalah perencanaan Air Force dia menyadari dapat
merumuskan sistem ketidaksamaan linier. Hal di atas merupakan awal pemberian
nama untuk teknik “program dan struktur linier”, yang belakangan ini
disederhanakan menjadi program linier (Taylor, 2001).
Program linier merupakan model matematik untuk mendapatkan alternatif
penggunaan terbaik atas sumber-sumber organisasi. Kata sifat linier digunakan
untuk menunjukkan fungsi-fungsi matematik yang digunakan dalam bentuk linier
dalam arti hubungan langsung dan persis proporsional. Program menyatakan
penggunaan teknik matematika tertentu. Jadi program linier adalah suatu teknik
perencanaan yang bersifat analitis menggunakan model matematis dengan tujuan
menemukan beberapa kombinasi alternatif pemecahan optimum terhadap
persoalan (Aminuddin, 2005).
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
penyelesaian problema-problema alokasi sumber daya, seperti dalam bidang
manufacturing, pemasaran, keuangan, personalia, administrasi, dan lain
2.1.1. Persyaratan Penyelesaian Program Linier
Syarat-syarat yang harus dipenuhi dalam merumuskan suatu problema keputusan
ke dalam model matematik persamaan linier adalah sebagai berikut (Sitorus,
1997):
1. Tujuan
Apa yang menjadi tujuan permasalahan yang dihadapi yang ingin dipecahkan
dan dicari jalan keluarnya. Tujuan ini harus jelas dan tegas yang disebut
fungsi tujuan.
2. Alternatif Perbandingan
Harus ada sesuatu atau berbagai alternatif yang ingin diperbandingkan,
misalnya antara kombinasi waktu tercepat dan biaya tertinggi dengan waktu
terlambat dan biaya terendah.
3. Sumber Daya
Sumber daya yang dianalisis harus berada dalam keadaan yang terbatas.
4. Perumusan Kuantitatif
Fungsi tujuan dan kendala harus dapat dirumuskan secara kuantitatif sesuai
dengan yang disebut dalam model matematika.
5. Keterkaitan Peubah
Peubah-peubah yang membentuk fungsi tujuan dan kendala tersebut harus
memiliki hubungan fungsional atau hubungan keterkaitan.
2.1.2. Model Umum Matematik Program Linier
≥ 0 untuk = 1, 2, 3, … , Keterangan:
= Fungsi tujuan
= Variabel keputusan
= Nilai kontribusi dari variabel keputusan
= Koefisien teknologi dari variabel keputusan dalam kendala ke-
= Sumber daya yang tersedia dalam kendala ke-
2.1.3. Karakteristik Program Linier
Karakteristik-karakteristik dalam program linier yang biasa digunakan untuk
memodelkan suatu masalah dan memformulasikannya secara matematik, yaitu
(Siswanto, 2006):
1. Variabel Keputusan
Variabel keputusan adalah variabel yang secara lengkap menguraikan
keputusan-keputusan yang akan dibuat.
2. Fungsi Tujuan
Fungsi tujuan merupakan suatu hubungan linier dari variabel keputusan yang
berupa fungsi maksimum atau minimum.
3. Fungsi Kendala
Fungsi kendala merupakan batasan-batasan dalam penyelesaian program
linier yang harus diperhatikan. Kendala diekspresikan dalam persamaan dan
pertidaksamaan yang juga merupakan hubungan linier dari variabel keputusan
yang mencerminkan keterbatasan sumber daya dalam suatu masalah.
2.1.4. Metode Simpleks
Cara yang paling sederhana unrtuk menyelesaikan permasalahan program linier
adalah dengan pendekatan grafikal. Namun cara tersebut hanya bisa diterapkan
besar permasalahan program linier mempunyai lebih dari dua variabel keputusan.
Hal ini tentu sulit untuk menerapkan pendekatan grafikal untuk memperoleh
penyelesaian dari permasalahan tersebut.
Oleh karena itu, pada tahun 1947 George Dantzig mengajukan suatu
metode yang tepat untuk menyelesaikan permasalahan program linier yang
disebut metode simpleks. Metode simpleks merupakan prosedur aljabar yang
bersifat iteratif yang bergerak selangkah demi selangkah, dimulai dari titik ekstrim
pada daerah feasible (ruang sousi) menuju titik ekstrim yang optimum.
Berikut langkah-langkah dalam menyelesaikan permasalahan program
linier dengan metode simpleks (Handayani, 2014):
1. Konversikan formulasi persoalan ke dalam bentuk standar.
Agar persamaan garis batasan memenuhi persyaratan penyelesaian daerah
kelayakan (feasible) maka semua pertidaksamaan diubah menjadi
persamaan dengan cara menambahkan variabel slack, surplus dan variabel
buatan (artifisial variabel) pada tiap batasan (constraint) serta memberi
harga nol pada setiap koefisien tujuannya. Batasan dapat dimodifikasi
sebagai berikut:
a. Untuk batasan bernotasi ≤ diubah ke dalam bentuk persamaan
dengan menambahkan variabel slack.
b. Untuk batsan bernotasi ≥ atau = diselesaikan dengan
menambahkan variabel surplus dan variabel buatan. Dengan
penambahan variabel buatan ini akan merusak sistem batasan, hal ini
dapat diatasi dengan membuat suatu bilangan penalty M (M bilangan
positif yang sangan besar) sebagai harga dari variabel buatan tersebut
dalam fungsi tujuan. Untuk kasus maksimasi maka dibuat –M sebagai
harga dari variabel buatan dan untuk kasus minimasi dibuat +M
sebagai harga dari variabel buatan. Cara pendekatan ini dikenal dengan
metode M besar (Big M method).
Tabel 2.1. Bentuk Tabel Simpleks
3. Pilih kolom kunci, yaitu kolom yang memiliki nilai # − $ yang paling
positif untuk kasus maksimasi atau yang memiliki nilai # − $ yang
paling negatif untuk kasus minimasi.
4. Pilih baris kunci yang memiliki nilai indeks terkecil. Nilai indeks adalah
perbandingan nilai kanan dengan kolom kunci,
5. Tentukan nilai elemen cell, yaitu nilai perpotongan antara kolom kunci dan
baris kunci.
6. Lakukan iterasi dengan menentukan baris kunci baru, baris Z baru, dan
baris variabel-variabel slack baru.
a. Baris kunci baru ditentukan dengan membagi baris kunci lama dengan
elemen cell.
b. Baris Z baru dan baris-baris lainnya ditentukan dengan cara:
Baris lama – (nilai kolom kunci baris yang sesuai × baris kunci baru)
c. Letakkan nilai-nilai baris yang baru diperoleh ke dalam tabel.
7. Lakukan uji optimalisasi. Jika semua koefisien pada baris # − $ sudah
tidak ada lagi yang bernilai positif (untuk kasus maksimasi) atau sudah
tidak ada lagi yang bernilai negatif (untuk kasus minimasi) berarti sudah
2.2. Program Bilangan Bulat
Program bilangan bulat ialah persoalan program linier di mana pemecahan
optimalnya harus menghasilkan bilangan bulat. Dengan kata lain dari antara
berbagai bilangan bulat diharuskan mencari nilai-nilai variabel yang fisibel dan
membuat fungsi tujuan optimum. Ada beberapa persoalan program linier yang
solusinya tidak masuk akal jika solusi yang dihasilkan berupa bilangan pecahan.
Diadalam persoalan ekonomi sering kali djumpai variabel-variabel yang nilainya
harus positif misalnya produksi mobil, produksi kapal terbang, jumlah jembatan,
jumlah gedung, kebutuhan tenaga kerja, jumlah penganggur, jumlah ternak, dan
lain sebagainya. Dalam persoalan ini bilangan-bilangan pecahan tidak mempunyai
arti (Supranto, 1983).
Program bilangan bulat merupakan suatu model program linier yang
khusus digunakan untuk menyesuaikan suatu problem program linier di mana
nilai-nilai variabel-variabel keputusan dalam penyelesaian optimal harus
merupakan bilangan bulat. Persyaratan bahwa nilai variabel keputusan harus bulat
mengingat nilai tidak mungkin dalam bilangan pecahan, seperti rumah, pabrik,
tugas, dan lain sebagainya (Sitorus, 1997). Pada saat menggunakan program linier
biasa sering dijumpai solusi yang berupa bilangan pecahan kadang diasumsikan
bahwa nilai tersebut dapat dibulatkan ke nilai bilangan bulat terdekat. Metode ini
tidak akan menyebabkan kesulitan, jika contohnya hasil yang didapat = 8,4
paku dibulatkan menjadi = 8 paku, mengingat harga paku hanya beberapa sen
saja perbuahnya. Akan tetapi, jika masalah yang dihadapi adalah
mempertimbangkan produksi suatu jet pesawat dan solusi yang dihasilkan adalah
= 7,4 jet, maka pembulatan dapat mempengaruhi keuntungan bermiliar-miliar dolar. Dalam hal ini maka program bilangan bulat hadir menyelesaikan
permasalahan sedemikian rupa sehingga suatu solusi bilangan bulat optimal
dijamin tercapai (Taylor, 2001).
Program bilangan bulat memiliki model matematika yang sama dengan
model program linier pada umumnya hanya saja ditambah batasan bahwa
maks/min: Z = 1
Berdasarkan jenis keputusan yang akan diperoleh persoalan integer
programming dapat dibedakan atas tiga jenis, yaitu (Ritonga, 2015):
1. Pemrograman bilangan bulat murni (pure integer programming), yaitu
merupakan pemrograman bilangan bulat di mana semua nilai variabel
keputusan haruslah bilangan bulat.
2. Pemrograman bilangan bulat campuran (mixed integer programming), yaitu
merupakan pemrograman bilangan bulat di mana nilai variabel keputusannya
bernilai bilangan bulat dan variabel yang lainya bernilai bilangan desimal
atau pecahan.
3. Pemrograman bilangan bulat biner (binary integer programming), yaitu nilai
variabel keputusannya adalah bilangan biner (0 atau 1). Dalam aplikasi
sehari-hari, masalah binary integer programming menyangkut masalah
pengambilan keputusan, di mana jika solusi yang didapat berupa angka 1
berarti menyatakan “ya” atau angka 0 berarti menyatakan “tidak”.
2.2.1. Metode Penyelesaian Program Bilangan Bulat
Metode penyelesaian program linier pada umumnya adalah menggunakan metode
2.2.1.1. Metode Pembulatan (Rounding Method)
Metode ini sangat sederhana dan cepat dalam menyelesaikan program bilangan
bulat. Sebelum metode ini diterapkan, maka terlebih dahulu dicari penyelesaian
dari problema dengan menggunakan metode program linier biasa, yaitu metode
grafik. Selanjutnya, metode ini diterapkan dengan cara melakukan pembulatan
hasil nilai variabel keputusan (bilangan pecahan) yang diperoleh dari metode
grafik tersebut (Sitorus, 1997).
Kelemahan utama metode ini ialah bahwa hasil pembulatan yang
dilakukan dapat menyimpang jauh dari penyelesaian optimal bilangan bulat
sesungguhnya dalam penyelesaiannya dianggap tidak layak apabila hasilnya lebih
besar daripada penyelesaaian optimal bilangan bulat atau penyelesaian optimal
pecahan (metode grafik). Hasil penyelesaian optimal metode pembulatan tidak
akan pernah nilai optimalnya lebih besar daripada hasil yang diperoleh dari
metode grafik biasa (pecahan). Hal ini disebabkan bahwa adanya persyaratan
pembulatan yang tidak boleh keluar dari daerah kelayakan (metode pembulatan)
dan tambahan kendala (metode pembulatan), yang kesemuanya mengakibatkan
luas daerah kelayakan bertambah kecil (Sitorus, 1997).
2.2.1.2 Metode Branch and Bound
Metode ini sering digunakan untuk menyelesaikan masalah program bilangan
bulat karena hasil yang diperoleh dalam penyelsaian optimal lebih teliti dan lebih
baik dari kedua metode lainnya. Kelemahan pokok metode ini adalah prosedur
untuk mencapai hasil yang optimal sangat panjang (Sitorus, 1997).
Prosedur penyelesaian problema megoptimalkan proram linier bilangan
bulat dengan metode ini adalah sebagai berikut (Sitorus, 1997):
Masalah yang dihadapi diselesaikan lebih dahulu menggunkan
metode simpleks atau menggunakan metode grafik sampai
diperoleh hasil yang optimal.
Langkah 2: Pemeriksaan Penyelesaian Optimal
Hasil optimal pada langkah 1 diperiksa apakah variabel keputusan
yang diperoleh bernilai integer atau pecahan. Apabila semua nilai
variabel keputusan yang dihasilkan telah bernilai integer maka
solusi optimal telah tercapai. Apabila tidak maka proses iterasi
dilanjutkan.
Langkah 3: Penyusunan Subproblema (Branching)
Apabila penyelesaian optimal belum tercapai, maka problema
tersebut dimodifikasi ke dalam dua subproblema dengan
memasukkan kendala baru ke masing-masing subproblema
tersebut.
Langkah 4: Penentuan Nilai Batas (Bounding)
Hasil optimal yang diperoleh dengan metode program linier biasa
merupakan nilai batas atas bagi setiap subproblema. Sedangkan
hasil optimal dengan penyelesaian integer merupakan nilai batas
bawah bagi masing-masing subproblema. Selanjutnya apabila
subproblema yang memiliki batas atas yang lebih rendah dari batas
bawah yang berlaku, maka subproblema tersebut tidak perlu
dianalisis lagi. Apabila dalam penyelesaian integer menghasilkan
hasil yang sama atau lebih baik daripada nilai batas atas dari setiap
problema, maka penyelesaian optimal integer telah tercapai.
Apabila tidak, maka subproblema yang memiliki nilai batas atas
yang terbaik dipilih selanjutnya menjadi subproblema baru. Proses
iterasi kembali pada langkah 2 sehingga demikian seterusnya.
Ternyata cara ini tidak saja hanya dapat digunakan untuk program
bilangan bulat, tetapi juga dapat digunakan untuk program matematika yang
perjalanan yang terdapat pada persoalan pedagang keliling atau Travelling
Salesman Problem (TSP) (Simarmata, 2015).
2.3. Fuzzy
Istilah fuzzy lahir dari gagasan seorang guru besar pada University of California,
Berkeley, Amerika Serikat, Prof. Lotfi Asker Zadeh. Sejak tahun 1960 Zadeh
telah merasa bahwa sistem analisis matematika tradisional yang dikenal sampai
saat itu bersifat terlalu eksak sehingga tidak dapat berfungsi dalam banyak
masalah dunia nyata yang seringkali amat kompleks. Pada akhirnya di tahun 1965
Zadeh mempublikasikan karangan ilmiahnya berjudul “Fuzzy Set”. Terobosan
baru yang deperkenalkan oleh Zadeh ini telah memperluas konsep himpunan
klasik menjadi himpunan fuzzy yang dapat mempresentasikan nilai-nilai
ketidakpastian yang ditemui dalam kehidupan nyata (Handayani, 2014).
Menurut Zadeh, himpunan fuzzy (fuzzy set) adalah sebuah kelas dari obyek
dengan serangkaian kesatuan dari nilai keanggotaan. Sebuah set
dikarakterisasikan oleh sebuah fungsi keanggotaan yang memberikan tiap obyek
sebuah nilai keanggotaan yang rentang nilainya antara 0 dan 1. Pada teori
himpunan fuzzy, peranan derajat keanggotaan sebagai penentu keberadaan elemen
dalam suatu himpunan sangatlah penting. Nilai keanggotaan atau derajat
keanggotaan atau membership function menjadi cirri utama dari penalaran dengan
logika fuzzy tersebut (Kusumadewi & Purnomo, 2010).
2.3.1. Alasan Digunakannya Logika Fuzzy
Menurut Cox (1994), ada beberapa alasan mengapa orang menggunakan logika
1. Konsep logika fuzzy mudah dimengert. Karena logika fuzzy menggunakan
dasar teori himpunan, maka konsep matematis yang mendasari penalaran
fuzzy tersebut cukup mudah dimengerti.
2. Logika fuzzy sangat fleksibel, artinya mampu beradaptasi dengan
perubahan-perubahan, dan ketidakpastian yang menyertai permasalahan.
3. Logika fuzzy memiliki toleransi terhadap data yang tidak tepat. Jika diberikan
sekelompok data yang cukup homogen, dan kemudian ada beberapa data
yang “eksklusif”, maka logika fuzzy memiliki kemampuan untuk menangani
data eksklusif tersebut.
4. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinier yang sangat
kompleks.
5. Logika fuzzy dapat membangun dan mengaplikasikan
pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan.
Dalam hal ini, sering dikenal dengan nama Fuzzy Expert Systems menjadi
bagian terpenting.
6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara
konvensional. Hal ini umumnya terjadi pada aplikasi di bidang teknik mesin
maupun teknik elektro.
7. Logika fuzzy didasarkan pada bahasa alami. Logika fuzzy menggunakan
bahasa sehari-hari sehingga mudah dimengerti.
2.3.2. Himpunan Fuzzy
• Nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu himpunan.
a. Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau
kondisi tertentu dengan menggunakan bahasa alami, seperti: muda,
parobaya, tua.
b. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu
variabel seperti: 40, 25, 50, dsb.
Misalkan diketahui klasifikasi sabagai berikut:
MUDA < <= < 35 @ ℎ<
SETENGAH BAYA 35 ≤ < <= ≤ 55 @ ℎ<
TUA < <= > 55 @ ℎ<
Dengan menggunakan pendekatan crisp, amatlah tidak adil untuk
menetapkan nilai SETENGAH BAYA. Pendekatan ini bisa saja dilakukan untuk
hal-hal yang bersifat diskontinu. Misalkan umur klasifikasi 55 tahun dan 56 tahun
sangat jauh berbeda, umur 55 tahun termasuk SETENGAH BAYA, sedangkan
perlahan menurun menuju 0 untuk umur di bawah 35 tahun dan di atas 55 tahun
(Sihotang, 2011).
Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu
(Kusumadewi & Purnomo, 2010):
a. Variabel fuzzy
Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu
sistem fuzzy. Contoh: umur, temperature, permintaan, dsb.
b. Himpunan fuzzy
Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau
keadaan tertentu dalam suatu variabel fuzzy.
Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk
dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan
himpunan bilangan ril yang senantiasa naik (bertambah) secara monoton
dari kiri ke kanan. Nilai semesta pembicaraan dapat berupa bilangan
positif maupun negatif.
d. Domain
Domain himpunan fuzzy adalah keseluruhan nilai yang diizinkan dalam
semesta pembicaraan dan boleh dioperasikan dalam sutu himpunan fuzzy.
Sepertinya semesta pembicaraan, domain merupakan himpunan bilangan
ril yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan.
Nilai domain dapat berupa bilangan positif maupun negatif.
2.3.3. Fungsi Keanggotaan
Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik-titik
input data ke dalam nilai keanggotaannya (sering juga disebut dengan derajat
keanggotaan) yang memiliki interval antara 0 sampai 1. Salah satu cara yang
dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui
pendekatan fungsi. Ada beberapa fungsi yang bisa digunakan (Kusumadewi &
Purnomo, 2010).
2.3.3.1 Representasi Linier
Pada representasi linier, pemetaan input ke dearajat keanggotaannya digambarkan
sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi pilihan yang
baik untuk mendekati suatu konsep yang kurang jelas. Ada dua keadaan himpunan
memiliki derajat keanggotaan nol (0) bergerak ke kanan menuju nilai domain
yang memiliki derajat keanggotaan lebih tinggi (Kusumadewi & Purnomo, 2010).
Representasi Linier Naik
Gambar 2.1 Representasi Linier Naik
Fungsi keanggotaan:
:C D = E − / −0;
1; ; G
≤ ≤ ≤
≥
Representasi Linier Turun
Fungsi Keanggotaan:
:C D = H − / − ;0; ≤ ≤≥ G
2.3.3.2 Representasi Kurva Segitiga
Kurva segitiga pada dasarnya merupakan gabungan antara 2 garis (linier).
Gambar 2.3. Kurva Segitiga
Fungsi keanggotaan:
:C D = E − / − ; 0;
− / − ;G
≤ @ < ≥ ≤ ≤ ≤ ≤
2.3.3.3. Representasi Kurva Trapesium
Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa
Gambar 2.4. Kurva Trapesium
Fungsi keanggotaan:
:C D = I
0;
− / − ; 1;
J − / J − ;
≤ @ < ≥ J ≤ ≤ ≤ ≤ ≤ ≤ J
3.1. Program Linier Fuzzy
Program linier merupakan salah satu model yang dapat digunakan untuk
menyelesaikan masalah optimasi. Pada program linier, permasalahan dimodelkan
secara tetap denga menggunakan parameter-parameter yang umum digunakan.
Pada program linier, keberadaan data dan formulasi yang digunakan juga sudah
bersifat tertentu, pasti dan tidak menimbulkan ambiguitas (Kusumadewi, 2010).
Salah satu contoh model program linier klasik adalah:
Maksimumkan:
=
Dengan batasan:
≤
≥ 0
Dengan , ∈ , ∈ , ∈ (3.1)
Atau
Minimumkan:
=
Dengan batasan:
≥
Dengan , ∈ , ∈ , ∈ (3.2)
, dan adalah bilangan-bilangan crisp (tegas), tanda ≤ pada kasus maksimasi dan tanda ≥ pada kasus minimasi juga bermakna crisp (tegas), demikian juga
perintah “maksimumkan” atau “minimumka” merupakan bentuk imperatif tegas.
Jika diasumsikan bahwa keputusan program linier akan dibuat pada
lingkungan fuzzy, maka bentuk (3.1) dan (3.2) akan mengalami sedikit perubahan,
yaitu:
1. Bentuk imperatif pada fungsi objektif tidak lagi benar-benar “maksimum”
atau “minimum”, karena adanya beberapa hal yang perlu mendapat
pertimbangan dalam suatu sistem.
2. Tanda ≤ (pada batasan) dalam kasus maksimasi dan tanda ≥ (pada batasan)
dalam kasus minimasi tidak lagi bermakna crisp secara matematis, namun
sedikit mengalami pelanggaran makna. Hal ini juga disebabkan karena
adanya beberapa yang perlu dipertimbangkan dalam sistem yang
mengakibatkan batasan tidak dapat didekati secara tegas.
Program linier fuzzy adalah program linier yang dinyatakan dengan fungsi
objektif dan fungsi kendala yang memiliki parameter fuzzy dan ketidaksamaan
fuzzy. Tujuan dari program linier fuzzy adalah mencari solusi yang dapat diterima
berdasarkan kriteria yang dinyatakan dalam fungsi objektif dan kendala. Solusi
tersebut berbentuk himpunan fuzzy yang memiliki derajat kebenaran tertentu pada
selang [0,1].
Pada program linier fuzzy, akan dicari suatu nilai yang merupakan nilai
yang merupakan fungsi objektif yang akan dioptimasikan sedemikian hingga
tunduk pada batasan-batasan yang dimodelkan dengan menggunakan himpunan
fuzzy. Sehingga untuk kasus maksimasi (3.1) akan diperoleh:
Tentukan sedemikian hingga:
≥
≤
Dan untuk kasus minimasi (3.2) akan diperoleh:
≤
≥
≥ 0 (3.4)
Yang dapat dibawa menjadi suatu bentuk seperti dibawah:
≤
≥ 0 (3.5)
Dengan:
= ; dan
= untuk kasus maksimasi
Atau
= ; dan
= untuk kasus minimasi
Tiap-tiap baris/batasan (0,,1,2,…, m) akan dipresentasikan dengan sebuah
himpunan fuzzy, dengan fungsi keanggotaan pada himpunan ke-i adalah ! ! .
Fungsi keanggotaan untuk model keputusan himpunan fuzzy dapat dinyatakan
sebagai:
"#$% = min!) !# ! %* (3.6)
Tentu saja diharapkan, kita akan mendapatkan solusi solusi terbaik, yaitu suatu
solusi dengan nilai keanggotaan yang paling besar, dengan demikian solusi
sebenarnya adalah:
Dari sini terlihat bahwa ! ! = 0 jika batasan ke-i benar-benar dilanggar.
Gambar 3.1. menunjukkan fungsi keanggotaan tersebut
Gambar 3.1. Fungsi Keanggotaan
Dengan 8! adalah toleransi interval yang diperbolehkan untuk melakukan
pelanggaran dengan baik pada fungsi objektif maupun batasan. Dengan
mensubstitusikan akan diperoleh:
Dari gambar dapat dilihat bahwa, semakin besar nilai domain, akan memiliki nilai
keanggotaan yang cenderung semakin kecil. Sehingga untuk mencari nilai
E − FG dapat dihitung sebagai E = 1 − G, dengan:
! + G8! = HF5I 45J5J 5G5I5J 4K − 3 (3.11)
Dengan demikian akan diperoleh bentuk program linier baru sebagai berikut
Maksimumkan : E
Dengan batasan : E8!+ ! ≤ !+ 8!; 3 = 0,1,2, … , <
≥ 0 (3.12)
3.2. Algoritma Branch and bound
Branch and bound adalah suatu metode yang membagi (divide) dan memilih yang
tepat mengurangi masalah asli menjadi satu problema lebih kecil dari
subpersoalan dan kemudian secara berulang memecahkan masalah subpersoalan
tersebut sehingga dengan menambahkan kendala-kendala baru ruang lingkup
penyelesaian semakin sempit dan mempercepat pemecahan masalah.
Ada tiga komponen dalam algoritma ini, yaitu:
1. Fungsi Pembatas (Bounding): fungsi yang disediakan subspace dari ruang
solusi dengan batas rendah untuk nilai solusi terbaik yang diperoleh dalam
subspace.
Metode dalam bounding ada dua, yaitu:
a. Metode Upper bounding: suatu metode untuk menentukan suatu batas atas
pada solusi optimal.
b. Metode lower bounding: suatu metode untuk menentukan suatu batas
bawah dari fungsi objektif.
2. Strategi Pencarian: suatu strategi untuk menyeleksi tiap-tiap node yang
3. Metode Percabangan (Branching): suatu metode yang diaplikasikan jika
subspace setelah diperiksa tidak dapat dibatalkan, karena itu pembagian
subspace kedalam dua atau lebih subspace untuk diperiksa dalam sub
rangkaian iterasi.
3.3. Langkah Penyelesaian Pembulatan Program Linier Fuzzy
Menggunakan Metode Branch and bound
Langkah-langkah yang dilakukan adalah:
1. Langkah 1
Pada langkah ini, kasus yang diselesaikan menggunakan metode simpleks
pada program linier biasa dengan mencari solusi pada G = 0 dan G = 1.
2. Langkah 2
Pada langkah ini, dibentuk program linier biasa menjadi bentuk program
linier fuzzy menggunakan metode simpleks.
3. Langkah 3
Dari hasil yang telah diperoleh pada langkah 2 jika hasilnya tidak berupa
bilangan bulat maka akan dilakukan pembulatan menggunakan metode
branch and bound hingga diperoleh solusi optimal berupa bilangan bulat.
3.4. Ilustrasi Numerik Pembulatan Program Linier Fuzzy dengan
Menggunakan Metode Branch and bound
Cotoh kasus diambil dari buku Kusumadewi (2010) dengan modifikasi.
Sebuah perusahaan kecil memproduksi 4 jenis produk yang berbeda yang
masing-masing membutuhkan 3 macam bahan baku, yaitu A, B, dan C. Produk tersebut
dikerjakan melalui 2 proses pengerjaan manual, yaitu Proses I, dan Proses II.
12 ons bahan baku C. Setiap unit produk II membutuhkan 8 ons bahan baku A, 10
ons bahan baku B, dan 12 ons bahan baku C. Setiap unit produk III membutuhkan
12 ons bahan baku A, 8 ons bahan baku B, dan 15 ons bahan baku C. Setiap unit
produk IV membutuhkan 14 ons bahan baku A, 12 ons bahan baku B, dan 13 ons
bahan baku C. Akibat keterbatasan gudang bahan baku dan dana yang ada, bahan
baku yang disediakan tiap minggu adalah sebesar 240 kg bahan baku A, 18 kg
bahan baku B, dan 25 kg bahan baku C. Namun demikian pihak perusahaan masih
memungkinkan adanya penambahan bahan baku A hingga 60 kg, bahan baku B
hingga 20 kg dan bahan baku C hingga 50 kg, asalkan dengan penambahan sedikit
saja, keuntungan yang diperoleh perusahaan akan bertambah.
Setiap unit Produk I membutuhkan waktu 4 jam pada proses I, dan 2 jam pada
proses II. Setiap unit produk II membutuhkan waktu 3 jam pada proses I dan 4
jam pada proses II. Setiap unit produk II membutuhkan waktu 5 jam pada proses I
dan 3 jam pada proses II. Setiap unit produk II membutuhkan 6 jam pada proses I
dan 5 jam pada proses II. Jumlah karyawan pada proses I sebanyak 18 orang,
sedangkan pada proses II sebanyak 20 orang. Perusahaan bekerja dengan 1 shift,
mulai pukul 08.00 sampai pukul 16.00 dengan istirahat selama 1 jam mulai pukul
12.00 hingga 13.00, selama 6 hari kerja dalam 1 minggu.
Keuntungan per unit untuk produk I adalah sebesar Rp 4.000,-, keuntungan per
unit produk II adalah sebesar Rp 6.000,-, keuntungan per unit produk III sebesar
Rp 5.500,- dan keuntungan per unit produk IV adalah sebesar Rp 7.000,-.
Informasi bagian pemasaran menyatakan bahwa berapa pun jumlah produk yang
dibuat perusahaan, akan terserap seluruhnya oleh pasar.
Berdasarkan kondisi tersebut, berapakah keuntungan maksimum yang bisa
diperoleh oleh perusahaan ?
Penyelesaian:
Langkah 1.
Menyelesaikan persoalan menggunakan program linier biasa.
Dalam penyelesaian kasus ini, selanjutnya satuan bahan baku dinyatakan dalam
• Pada proses I ditetapkan karyawan sejumlah 18 orang, dengan jam kerja selama 7 jam selama 6 hari per minggu. Maka jam kerja per minggu pada
proses I adalah : 18 7 6 = 756 25<.
• Pada proses II ditetapkan karyawan sejumlah 20 orang, dengan jam kerja selama 7 jam selama 6 hari minggu. Maka jam kerja per minggu pada
proses II adalah : 20 7 6 = 840 25<.
Penambahan bahan baku yang diperbolehkan (toleransi) pada setiap bahan baku: • Pada bahan baku I penambahan bahan baku yang diperbolehkan maksimal
60 kg = 600 ons.
• Pada bahan baku II penambahan bahan baku yang diperbolehkan maksimal 20 kg = 200 ons.
• Pada bahan baku III penambahan bahan baku yang diperbolehkan maksimal 50 kg = 500 ons.
Kasus ini dapat ditabulasikan sebagai berikut:
Tabel 3.1. Bentuk tabulasi permasalahan
Sumber Produk Kapasitas ( ons)
I II III IV Maksimum Toleransi
Untuk menyelesaikan permasalahan di atas, langkah yang dilakukan adalah
merumuskan karakteristik pada program linier biasa, yaitu:
1. Menentukan variabel keputusan
• T : Produk IV,
2. Merumuskan fungsi tujuan
Fungsi tujuan dari permasalahan ini adalah memaksimalkan keuntungan dari
tiap produk yang akan diproduksi, yakni produk I, produk II, produk III dan
produk IV sehingga dapat dirumuskan menjadi:
= 4000 Q + 6000 R+ 5500 S+ 7000 T
3. Merumuskan fungsi kendala
• Fungsi kendala pada bahan baku A
10 Q+ 8 R+ 12 S+ 14 T ≤ 2400 + 600 G
• Fungsi kendala pada bahan baku B
6 Q+ 10 R+ 8 S+ 12 T ≤ 1800 + 200 G
• Fungsi kendala pada bahan baku C
12 Q+ 12 R+ 15 S+ 13 T ≤ 2500 + 500 G
• Fungsi kendala berdasarkan jam kerja karyawan per minggu pada proses I
2 Q+ 3 R+ 5 S+ 6 T ≤ 756
• Fungsi kendala berdasarkan jam kerja karyawan per minggu pada proses II
2 Q+ 4 R+ 3 S+ 5 T ≤ 840
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
= 4000 Q + 6000 R+ 5500 S+ 7000 T
Kendala:
6 Q+ 10 R+ 8 S+ 12 T ≤ 1800 + 200 G
Dapat diselesaikan menggunakan metode simpleks sebagai berikut:
Tabel 3.5. Iterasi 3 untuk G = 0 5J E = 1
menggunakan software POM-QM terlampir pada Lampiran 1).
Maksimumkan: 4000 Q+ 6000 R+ 5500 S + 7000 T
Dapat diselesaikan menggunakan metode simpleks sebagai berikut:
software POM-QM diperoleh hasil yang sama dengan XYZ = 1242000 untuk
Q = 0, R = 152, S = 60 dan T = 0 (Penyelesaian menggunakan software
POM-QM terlampir pada Lampiran 1).
Langkah 2.
Menyelesaikan persoalan dengan mengubah model menjadi program linier fuzzy.
Dari kedua hasil untuk G = 0 dan G = 1, dapat ditentukan nilai 8., yaitu hasil
pengurangan dari nilai pada saat G = 1 dengan pada saat G = 0.
Maka 8\ = 1242000 − 1124074 = 117926
Fungsi keanggotaan tiap-tiap persamaan terlihat pada gambar
Gambar 3.2. Fungsi Keanggotaan dari fungsi tujuan
Gambar 3.4. Fungsi Keanggotaan dari Batasan-2
Gambar 3.5. Fungsi Keanggotaan dari Batasan-3
Akhirnya dapat dibentuk model program linier fuzzy sebagai berikut:
Maksimumkan: E
Kendala: − 117926E + 4000 Q+ 6000 R+ 5500 S+ 7000 T ≥ 1124074
600E + 10 Q+ 8 R + 12 S + 14 T ≤ 3000
200E + 6 Q+ 10 R + 8 S + 12 T ≤ 2000
1000E + 12 Q+ 12 R+ 15 S + 13 T ≤ 3000
2 Q+ 4 R+ 3 S+ 5 T ≤ 840
E, Q, R, S, T ≥ 0
Didapatkan solusi E = 0,5317; Q = 0; R = 131,5483; S = 72,271, T = 0
dengan nilai = 1186780,3 (Penyelesaian menggunakan software POM-QM
2 0 + 4 131,5483 + 3 72,271 + 5 0 = 743,0062
Derajat keanggotaan untuk setiap batasan:
• Batasan-1 : Q# Q$% = 1 (karena 1919,6384 < 2400)
diproduksi sebanyak 62,963 unit dan tidak memproduksi produk I dan produk IV
dengan keuntungan yang diperoleh sebesar Rp 1.124.074,-.
Dengan kondisi di atas diperoleh dari kendala berdasarkan bahan baku bahwa:
• Pada bahan baku A dibutuhkan sebanyak
10 Q+ 8 R+ 12 S+ 14 T dengan Q = 0, R = 129,6296, S = 62,963 dan
T = 0.
10 0 + 8 129,6296 + 12 62,963 + 14 0 = 1792,5928 ons.
• Pada bahan baku B dibutuhkan sebanyak
6 Q+ 10 R+ 8 S+ 12 T dengan Q = 0, R = 129,6296, S = 62,963 dan
T = 0.
6 0 + 10 129,6296 + 8 62,963 + 12 0 = 1800 ons.
• Pada bahan baku C dibutuhkan sebanyak
12 Q+ 12 R+ 15 S+ 13 T dengan Q = 0, R = 129,6296, S = 62,963
dan T = 0.
12 0 + 12 129,6296 + 15 62,963 + 13 0 = 2500
Dengan kondisi di atas diperoleh dari kendala berdasarkan jam proses bahwa:
4 Q+ 3 R+ 5 S+ 6 T dengan Q = 0, R = 129,6296, S = 62,963 dan
T = 0.
4 0 + 3 129,6296 + 5 62,963 + 6 0 = 703,7038 menit.
• Lama waktu pada proses I selama
2 Q+ 4 R+ 3 S+ 5 T dengan Q = 0, R = 129,6296, S = 62,963 dan
T = 0.
2 0 + 4 129,6296 + 3 62,963 + 5 0 = 707,4074menit.
Apabila digunakan program linier fuzzy (E = 0,5317) keuntungan maksimum
akan diperoleh jika produk II diproduksi sebanyak 131,5483 unit, produk III
diproduksi sebanyak 72,271 unit dan tidak memproduksi produk I dan produk IV
dengan keuntungan yang diperoleh sebesar Rp 1.186.780,3, lebih banyak Rp
62.706,3.
Dengan kondisi di atas diperoleh dari kendala berdasarkan bahan baku bahwa: • Pada bahan baku A dibutuhkan sebanyak
10 Q+ 8 R+ 12 S+ 14 T dengan Q = 0; R = 131,5483; S =
72,271, T = 0
10 0 + 8 131,5483 + 12 72,271 + 14 0 = 1919,6384 ons.
• Pada bahan baku B dibutuhkan sebanyak
6 Q+ 10 R+ 8 S+ 12 Tdengan Q = 0; R = 131,5483; S =
72,271, T = 0
6 0 + 10 131,5483 + 8 72,271 + 12 0 = 1893,651 ons.
• Pada bahan baku C dibutuhkan sebanyak
12 Q+ 12 R+ 15 S+ 13 T dengan Q = 0; R = 131,5483; S =
72,271, T = 0
Dengan kondisi di atas diperoleh dari kendala berdasarkan jam proses bahwa: • Lama waktu pada proses I selama
4 Q+ 3 R+ 5 S+ 6 T dengan Q = 0; R = 131,5483; S = 72,271, T = 0
4 0 + 3 131,5483 + 5 72,271 + 6 0 = 755,999 menit.
• Lama waktu pada proses I selama
2 Q+ 4 R+ 3 S+ 5 T dengan Q = 0; R = 131,5483; S = 72,271, T = 0
2 0 + 4 131,5483 + 3 72,271 + 5 0 = 743,0062 menit.
Hasil diatas mengharuskan perusahaan menambah bahan baku B sebanyak
93,651 ons dari 1800 ons yang mutlak bisa disediakan dan menambah bahan baku
C sebanyak 162,6446 ons dari 2500 ons yang mutlak bisa disediakan.
Nilai E = 0,5317 mengandung pengertian bahwa E − FG untuk setiap
himpunan yang digunakan untuk mengimplementasikan setiap batasan sebesar
0,5137. Dengan kata lain, skala terbesar G = 1 − 0,5317 = 0,4683 digunakan
untuk menentukan besarnya penambahan terbesar dari setiap batasan yang
diizinkan seperti dibawah ini:
• Pada batasan-1, penambahan bahan baku A diizinkan hingga 600 ons, pada kenyataannya penambahan yang dibutuhkan maksimal hanya sebesar
0,4683 600 = 280,98 ons.
• Pada batasan-2, penambahan bahan baku B diizinkan hingga 200 ons, pada kenyataannya penambahan yang dibutuhkan maksimal hanya sebesar
0,4683 200 = 93,6 ons.
• Pada batasan-1, penambahan bahan baku A diizinkan hingga 500 ons, pada kenyataannya penambahan yang dibutuhkan maksimal hanya sebesar
0,4683 500 = 234,15 ons.
Membulatkan hasil yang diperoleh menggunakan metode branch and bound.
Setelah diperoleh hasil pengerjaan program linier fuzzy langkah selanjutnya
adalah membulatkan nilai produk yang optimal dari hasil yang diperoleh karena
tidak mungkin produk yang akan diproduksi bernilai pecahan. Metode pembulatan
yang digunakan adalah metode branch and bound. Dapat dilihat bahwa hasil
optimal yang diperoleh adalah Q = 0; R = 131,5483; S = 72,271, T = 0
dengan nilai = 1186780,3. Batasan ditambahkan sesuai dengan batasan
maksimal yang telah diperoleh dari penyelesaian program linier fuzzy, yaitu:
• Batasan-1
Langkah pencabangan yang dilakukan sebagai berikut:
Node 1.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Diperoleh solusi dengan XYZ = 1186754,0 dengan Q = 0; R =
131,5483; ; S = 72,2769; T = 0 (Penyelesaian menggunakan software
POM-QM terlampir pada Lampiran 1).
Node 2
Menambah kendala baru R ≤ 131 dari model pada node 1.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
71,2; T = 1,1667 (Penyelesaian menggunakan software POM-QM terlampir
pada Lampiran 1).
Node 3
Menambah kendala baru R ≥ 132 dari model pada node 1.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
= 4000 Q+ 6000 R + 5500 S+ 7000 T
Kendala:
6 Q+ 10 R+ 8 S+ 12 T ≤ 1893,6
71,7; T = 1,1667 (Penyelesaian menggunakan software POM-QM terlampir
pada Lampiran 1).
Node 4
Menambah kendala baru S ≤ 71 dari model pada node 1.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Node 5
Menambah kendala baru S ≥ 72 dari model pada node 2.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
2 Q+ 4 R+ 3 S+ 5 T ≤ 840
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
Tidak ada solusi yang fisibel (Penyelesaian menggunakan POM-QM terlampir
pada Lampiran 1).
Node 8
Menambah kendala baru T ≤ 1 dari model pada node 4.
Maksimumkan:
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
T ≥ 2
Q, R, S, T ≥ 0
Diperoleh solusi dengan XYZ = 1185062,0 dengan Q = 0; R =
130,6154; S = 70,4306; T = 2 (Penyelesaian menggunakan software
POM-QM terlampir pada Lampiran 1).
Node 10
Menambah kendala baru T ≤ 0 dari model pada node 5.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
Maksimumkan:
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Q ≤ 0
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
Maksimumkan:
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
S ≤ 71
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Node 17
Menambah kendala baru R ≥ 131 dari model pada node 9.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
= 4000 Q+ 6000 R + 5500 S+ 7000 T
Kendala:
10 Q+ 8 R+ 12 S+ 14 T ≤ 2680,98
12 Q+ 12 R+ 15 S+ 13 T ≤ 2734,15
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Tidak menghasilkan solusi yang fisibel (Penyelesaian menggunakan software
POM-QM terlampir pada Lampiran 1).
Node 20
Menambah kendala baru R ≤ 132 dari model pada node 12.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
71; T = 0,4667 (Penyelesaian menggunakan software POM-QM terlampir pada
Lampiran 1).
Node 21
Menambah kendala baru R ≥ 133 dari model pada node 12.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
Kendala:
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
S ≤ 70
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
Tidah diperoleh solusi yang fisibel (Penyelesaian menggunakan software
POM-QM terlampir pada Lampiran 1).
Node 24
Menambah kendala baru Q ≤ 2 dari model pada node 22.
Maksimumkan:
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
R ≥ 132
Menambah kendala baru R ≤ 132 dari model pada node 24.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Diperoleh solusi dengan XYZ = 1185933,0 dengan Q = 2; R = 132; S =
70; T = 0,1333 (Penyelesaian menggunakan software POM-QM terlampir pada
Lampiran 1).
Node 27
Menambah kendala baru R ≥ 133 dari model pada node 24.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
2 Q+ 3 R+ 5 S+ 6 T ≤ 756
Tidak diperoleh hasil yang fisibel (Penyelesaian menggunakan software
POM-QM terlampir pada Lampiran 1).
Node 30
Menambah kendala baru T ≤ 0 dari model pada node 26.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
T ≤ 0
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Node 32
Menambah kendala baru Q ≤ 3 dari model pada node 28.
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
Sehingga permasalahan diatas dapat dituliskan sebagai berikut:
Maksimumkan:
Kendala:
keuntungan paling maksimum dari antara semua keuntungan dengan solusi
bilangan bulat terbesar yang ditemukan maka iterasi dihentikan karena hasil yang
telah diperoleh nilainya semakin kecil. Maka keuntungan maksimal dari
perusahaan tersebut sebesar Rp 1.185.000,- dengan memproduksi produk I
sebanyak 2 unit, produk II sebanyak 132 unit, produk III sebanyak 70 unit dan
tidak memproduksi produk IV.
Tabel 3.11. Tabulasi tiap node
8 T ≤ 1 0,5 131 71 1 1185500
Dari perhitungan diatas dapat dilihat bahwa hasil yang diperoleh
menggunakan program linier biasa sangat berbeda hasilnya dibandingkan dengan
hasil yang diperoleh menggunakan program linier fuzzy. Solusi program linier
Tabel 3.12. Perbandingan Solusi Non-Fuzzy dengan Solusi Fuzzy
Solusi Non-Fuzzy Solusi Fuzzy
Q = 0
menggunakan solusi fuzzy lebih maksimum daripada hasil yang diperoleh
menggunakan solusi program linier biasa, karena pada program linier fuzzy
menggunakan batasan-batasan toleransi yang diberikan sedangkan program linier
biasa tidak. Dapat dilihat dari nilai batasan maksimum yang diperoleh bahwa pada
nilai batasan pada program linier biasa lebih kecil daripada nilai batasan
maksimum yang telah diperoleh pada program linier fuzzy. Pada solusi fuzzy
diperoleh nilai E = 0,5317 mengandung pengertian bahwa E − FG untuk setiap
himpunan yang digunakan untuk mengimplementasikan setiap batasan sebesar