Anda di halaman 1dari 27

Tugas Kelompok

MAKALAH
PROGRAM LINEAR
(Programing Bilangan Bulat)

OLEH :
KELOMPOK 5
ICA MONIKA (F1A219026)
RIFDA AMALIA HASBI (F1A218053)
MUH. AKBAR RIZIK ALANI (F1A219033)
MIKDAD S. (F1A218025)
ANDI NURWA PARENRENGI (F1A218047)
ISMAH LISA (F1A218056)
NUR ASWAL (F1A219035)

PROGRAM STUDI S1 STATISTIKA


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS HALU OLEO
KENDARI
2020
KATA PENGANTAR

Puji Syukur Kehadirat Allah SWT yang dengan Rahmat-Nya, sehingga kami
dapat menyelesaikan tugas makalah “Mata Kuliah Program Linear” dengan tepat
waktu. Shalawat serta Salam juga semoga selalu tercurahkan kepada Baginda
Rasulullah SAW..
Dalam pembuatan makalah ini kami membahas tentang bilangan bulat
programing . Ucapkan terimakasih kepada Dosen Pengampu Mata Kuliah yang telah
membimbing penulis selama ini. Tentunya dalam makalah ini, masih jauh dari
kesempurnaan.
Olehnya itu, penulis mengharapkan kritik dan saran yang membangun dari
pembaca. Semoga makalah ini dapat bermanfaat bagi kita semua.

i
DAFTAR ISI
KATA PENGANTAR .................................................................................. i
DAFTAR ISI .................................................................................................. ii
BAB I PENDAHULUAN .............................................................................. 1
1.1 Latar Belakang ...........................................................................................1
1.2 Rumusan Masalah ......................................................................................1
1.3 Tujuan Penulisan ........................................................................................1
1.4 Manfaat Penulisan ..................................................................................... 2
BAB II PEMBAHASAN ............................................................................... 3
2.1 Definisi Program Integer ........................................................................... 3
2.2 Jenis-jenis Program Integer ....................................................................... 3
2.3 Sifat Umum Program Integer .................................................................... 4
2.4 Metode-Metode dalam Program Integer ................................................... 5
2.4.1 Pencabangan dan Pembatasan (Branch and Bound )………….............. 5
2.4.2 Pemotongan Bidang Datar (Cutting Plane) ............................................ 9
2.4.3 Metode Pendekatan Pembulatan .............................................................9
2.4.4 Metode Grafik .........................................................................................12
BAB III PENUTUP ....................................................................................... 13
3.1 Kesimpulan ................................................................................................ 13
3.2 Saran .......................................................................................................... 14
DAFTAR PUSTAKA

ii
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dalam kehidupan sehari-hari banyak dijumpai permasalahan dengan tujuan untuk
mendapatkan suatu penyelesaian secara optimal, hal ini dapat dilihat dari usaha untuk
memaksimalkan atau meminimalkan sumber-sumber yang terbatas. Sumber-sumber
tersebut antara lain mesin, tenaga kerja, bahan baku, peralatan, dan lain sebagainya.
Dengan alasan itulah, diperkenalkan risetoperasi (operation research) yang pada
prinsipnya berisi teknik kuantitatif yang banyak dipakai dalam pengambilan
keputusan. Riset operasi merupakan metode untuk menformulasikan atau
merumuskan permasalahan sehari-hari ke dalam pemodelan matematika untuk
mendapatkan penyelesaian yang optimal (Bustani, 2005). Salah satu alat riset operasi
yang efektif untuk menyelesaikan masalah optimalisasi adalah pemrograman linear.
Pokok pikiran dalam menggunakan program linear adalah dengan merumuskan
masalah dari informasi yang tersedia, kemudian menterjemahkannya ke dalam bentuk
model matematika. Sifat linear di sini memberi arti bahwa seluruh fungsi matematis
dalam model ini merupakan fungsi linear, sedangkan kata pemrograman merupakan
sinonim dari perencanaan. Pemrograman linear dapat digunakan pada berbagai
permasalahan dalam berbagai bidang kegiatan.
Permasalahan-permasalahan ini dapat dimodelkan menjadi bermacam-macam
model, seperti model transportasi, model penugasan, dan lain-lain sebagainya.
Permasalahan pemrograman linear yang membutuhkan variabel bernilai bulat dapat
menggunakan pemrograman bilangan bulat (integer programming. Pemrograman
bilangan bulat ini dikatakan linear jika fungsi obyektif dankendalanya berbentuk
linear, sehingga pemrograman ini disebut pemrograman linear bilangan bulat (integer
linear programming). Pada pemrograman linear bilangan bulat, fungsi-fungsinya
hampir sama dengan pemrograman linear, hanya ditambahkan syarat bilangan bulat
pada kendala nonnegativitas.

1|Programing Bilangan Bulat


1.2 Rumusan Masalah
1) Apa itu Pemograman Linear Integer
2) Apa saja jenis-jenis program integer
3) Apa saja sifat umum program integer
4) Bagaimana metode-metode mengerjakan program integer
1.3 Tujuan
1) Untuk mengetahui apa itu program integer
2) Untuk mengetahui jenis-jenis program integer
3) Untuk mengetahui sifat umum program integer
4) Untuk mngetahui metode-metode dalam program
1.4 Manfaat
Manfaat pembuatan makalah ini adalah untuk mengetahui dan mempelajari lebih
dalam tentang mengenai materi pemrograman linear integer (Programing bilangan
bulat)

2| Programing Bilangan Bulat


2.1 Definisi Program Integer
Program Integer adalah program linier (Linear Programming ) dimana
variabel-variabelnya bertipe integer (bulat). Program Integer digunakan untuk
memodelkan permasalahan yang variabel-variabelnya tidak mungkin berupa bilangan
yang tidak bulat (bilangan riil), seperti variabel yang merepresentasikan jumlah orang
atau benda, karena jumlah orang atau benda pasti bulat dan tidak mungkin berupa
pecahan. Program Integer juga biasanya lebih dipilih untuk memodelkan suatu
permasalahan karena program linier dengan variabel berupa bilangan riil kurang baik
dalam memodelkan permasalahan yang menuntut solusi berupa bilangan integer,
misalnya variabel-variabel keputusannya jumlah cabang Bank di daerah berbeda
disuatu Negara. Solusi pecahan tentu tidak dapat diterima dalam keputusan Bank.
Program Integer merupakan bentuk khusus atau variasi dari program linier , di mana
salah satu atau lebih dalam vektor penyelesaiannya memiliki nilai integer.
Program Integer yang membatasi variabel keputusan pada sebagian saja yang
dibatasi pada nilai integer disebut Program Integer Campuran (Susi, Astuti H. 1999).
Pokok pikiran utama dalam Program Integer adalah merumuskan masalah dengan
jelas dengan menggunakan sejumlah informasi yang tersedia. Sesudah masalah
terumuskan dengan baik, maka langkah berikut ialah menerjemahkan masalah ke
dalam bentuk model matematika. Pada masalah Program Integer untuk pola
memaksimumkan,nilai tujuan dari Program Integer tidak akan pernah melebihi nilai
tujuan dari program linier (Wahyujati, Ajie. 2009).
2.2 Jenis-Jenis Program Integer
Terdapat tiga jenis Program Integer, yaitu sebagai berikut:
1. Program Integer Murni (Pure Integer Programming ), yaitu program linier
yang menghendaki semua variabel keputusan harus merupakan bilangan bulat
non-negatif.
2. Program Integer Campuran ( Mixed Integer Programming ), yaitu program
linier yang menghendaki beberapa, tetapi tidak semua variable keputusan
harus merupakan bilangan bulat non-negatif.

3|Programing Bilangan Bulat


3. Program Integer Biner (Zero One Integer Programming ), yaitu program linier
yang menghendaki semua variabel keputusan harus bernilai 0 dan 1.
Bentuk umum dari masalah Program Integer Murni adalah sebagai berikut:

Menentukan
x j , j=1,2,...,n

Maksimumkan atau Minimumkan:


Z=∑ Cnj=1 j x j
Kendala:

∑ α j x j =b

x j ≥0 dan x j ∈ bilangan bulat
2.1
Untuk j=1,2,…,n
Dimana:
Z = fungsi sasaran atau fungsi tujuan
x j = variable keputusan

C j = koefisien fungsi tujuan

α j = koefisien kendala
b = nilai ruas kanan
Bentuk 2.1 di atas merupakan bentuk umum dari Program Integer

Murni. Jika dari bentuk 2.1 di atas


x j bilangan bulat, untuk j = 1,2,...,k
dengank ≤ n, maka dinamakan bentuk umum dari Program Integer Campuran
(Mixed Integer Programming).
Program Integer Campuran merupakan Program Integer tapi variable
keputusannya tidak semua merupakan bilangan bulat ada variabel keputusan
yang bernilai pecahan (Yamit, Zulian. 1991).

4| Programing Bilangan Bulat


Bentuk umum dari masalah Program Integer Biner adalah sebagai
berikut:

Maksimum atau Mininimum:


Z=∑ c j x j n j =1
Kendala:

∑ α j n j=1 x j≤¿≥b
j=1 , 2, . .. , n
xj≥0 dan xj ∈ { 0 , 1 }
2.3 Sifat Umum Program Integer
Semua persoalan Program Integer mempunyai empat sifat umum yaitu,sebagai
berikut (Susanta, B. 1994):
1. Fungsi Tujuan (objective function), Persoalan Program Integer bertujuan untuk
memaksimumkan atau meminimumkan pada umumnya berupa laba atau biaya
sebagai hasil yang optimal.
2. Adanya kendala atau batasan (constrains) yang membatasi tingkat sampai di
manasasaran dapat dicapai. Oleh karena itu, untuk memaksimumkan atau
meminimumkansuatu kuantitas fungsi tujuan bergantung kepada sumber daya
yang jumlahnya terbatas.
3. Harus ada beberapa alternatif solusi layak yang dapat dipilih.
4. Tujuan dan batasan dalam permasalahan Program Integer harus dinyatakan
dalamhubungan dengan pertidaksamaan atau persamaan linier.
2.4 Metode-Metode dalam Program Integer
Algoritma atau Metode yang cukup baik untuk memberikan solusi dalam Program
Integer yaitu:
2.4.1 Pencabangan dan Pembatasan (Branch and Bound )
Cara ini mula-mula dipakai untuk menyelesaikan program bilangan bulat.
Ternyata cara ini tidak saja hanya dapat digunakan untuk program bilangan cacah,
tetapi juga dapat digunakan untuk program matematika yang lain. Menurut (Taha,

5|Programing Bilangan Bulat


H.A.2007),untuk melaksanakan teknik pencabangan dan pembatasan (Branch and
Bound) ada dua operasi dasar, yaitu:
a. Pencabangan (Branching)
Pencabangan merupakan langkah yang dilakukan pada persoalan yang tidak
integer menjadi subpersoalan yang integer.
b. Pembatasan (Bounding)
Pembatasan merupakan pembatasan setiap subpersoalan yang dibuat dengan
pencabangan. Batas ini penting untuk tingkatan jawab optimal dari subpersoalan
dan penemuan jawab optimal bilangan bulat.
Teknik pencabangan dan pembatasan (Branch and Bound) mencari solusi
optimal dari suatu persoalan program integer dengan menumerasi titik-titik dalam
daerah fisibel dari suatu subpersoalan.
Keuntungan dari cara pencabangan dan pembatasan adalah cara yang efisien
untuk mendapatkan seluruh jawaban layak (fisibel), sedangkan kerugian cara ini
adalah akan mencari seluruh jawaban program linier pada setiap titik. Pada
persoalan yang besar akan memerlukan waktu yang cukup lama, terutama bila
yang dibutuhkan hanya keterangan mengenai nilai objektif yang optimum.
Langkah-langkah Metode Branch and Bound:
1. Pembatasan (Bound )
Pada algoritma branch and bound terdapat dua batas yaitu batas atas (upper
bound) dan batas bawah (lower bound).
2. Pencabangan (Branching)
Pencabangan dilakukan jika masih terdapat variabel keputusan yang harus
bernilai bulat namun memiliki solusi yang tidak bulat. Pencabangan dilakukan
dengan cara menambahkan pembatas pada masalah asli penambahan pembatas
ini ditujukan untuk membuat variabel keputusan yang belum bernilai integer
supaya bernilai integer.
3. Penghentian pencabangan (Fathoming Cutting Plane Algorithm)
Pencabangan atau pencarian solusi pada suatu sub masalah dihentikan jika:

6| Programing Bilangan Bulat


a. Infeasible atau tidak mempunyai daerah layak.
b. Semua variabel keputusan yang harus bernilai bulat sudah bernilai bulat.
c. Pada masalah maksimisasi, penghentian pencabangan pada suatu
submasalah dilakukan jika batas atas dari submasalah tersebut tidak lebih
besar atau sama dengan batas bawah.
d. Pada masalah minimisasi penghentian pencabangan pada suatu submasalah
dilakukan jika batas bawah tidak lebih lebih kecil atau sama dengan batas
atas.
Untuk memperoleh gambaran yang lebih jelas tentang metode Branch and Bound,
perhatikan contoh masalah berikut:

Maksimumkan Z = Z=3 X 1 +5 X 2

Dengan syarat 2 X 1 + 4 X 2≤25


X 1 ≤8
2 X 2 ≤10
X 1 ; X 2 non negatif integer

Solusi optimum kontinu masalah ini adalah X 1 =8 , X 2 =2 , 26 dan Z = 35,25.


Solusi ini menunjukan batas awal. Batas bawah adalah solusi yang dibulatkan

ke bawah X 1 =8 , X 2 =2 dan Z = 34. Dalam metode Branch and Bound, masalah itu

dibagi ke dalam dua bagian untuk mencari nilai solusi bulat yang mungkin bagi X 1

dan X 2 . Untuk melakukan ini,variabel dengan nilai solusi pecah yang memiliki

bagian pecah terbesar dipilih. Karena pada solusi ini hanya X 2 yang memiliki bagian

pecahan ia dipilih.Untuk menghilangkan bagian pecah dari nilai X 2 =2,25, dua


kendala baru dibuat. Kendala-kendala ini mewakili dua bagian baru dari masalah itu.
Dalam hal ini, dua nilai bulat terdekat terhadap 2,25 adalah 2 dan 3. Sehingga

diperoleh dua masalah baru melalui dua kendala mutually exclusive, X 2 ≤ 2 dan X 2 ≥
3, yang akan diuraikan berikut ini sebagai bagian dari A dan B. Kendala-kendala ini

7|Programing Bilangan Bulat


secara efektif menghilangkan semua nilai pecah yang mungkin bagi X 2 , antara 2 dan
3. Pengaruhnya mereka mengurangi ruang solusi layak sedemikian rupa sehingga
angka solusi bulat yang diealuasi pada masalah ini makin sedikit.
Bagian A

Maksimumkan Z=3 X 1 +5 X 2

Dengan syarat 2 X 1 + 4 X 2≤25


X 1 ≤8
2 X 2 ≤10
X 2≤2
X 1 ; X 2≥0
Bagian B

Maksimumkan Z=3 X 1 +5 X 2

Dengan syarat 2 X 1 + 4 X 2≤25


X 1 ≤8
2 X 2 ≤10
X 2≤3
X 1 ; X 2≥0
Bagian A dan B diselesaikan tanpa pembatasan bilangan bulat dengan metode
simpleks. Solusi grafik kedua bagian itu ditunjukkan pada gambar di bawah ini.
Solusi simpleknya adalah:

Bagian A : X 1 =8 , X 2 =2 dan Z=34 ,

Bagian B : X 1 =6 , 5 , X 2 =3 dan Z=34 , 5 .


Bagian A menghasilkan suatu solusi yang semuanya bulat. Untuk bagian A
batas atas dan bawah adalah Z = 34. Solusi pecah bagian B membenarkan pencarian
lebih lanjut karena menghasilkan nilai fungsi tujuan yang lebih besar dari batas atas
bagian A. Sangat mungkin bahwa pencarian lebih lanjut dapat menghasilkan suatu

8| Programing Bilangan Bulat


solusi yang semuanya bulat dengan nilai fungsi tujuan melebihi batas atas bagian A =

34. Bagian B dicabangkan ke dalam dua subbagian, b 1 dan b 2 , pertama dengan

kendala X 1 ≤6 dan yang lain dengan . Kedua sub-masalah dinyatakan sebagai


berikut:

Sub bagian B1

Maksimumkan Z=3 X 1 +5 X 2

Dengan syarat 2 X 1 + 4 X 2≤25


X 1 ≤8 (berlebih)
2 X 2 ≤10
X 2≤3
X 1 ≤6
X 1 ; X 2≥0

Sub bagian B2

Maksimumkan Z=3 X 1 +5 X 2

Dengan syarat 2 X 1 + 4 X 2≤25


X 1 ≤8
2 X 2 ≤10
X 2≤3
X 1 ≤7
X 1 ; X 2≥0 :

Solusi simpleksnya adalah :

Sub bagian B1 : X 1 =6 , X 2 =3 , 25 dan Z=34 , 25,

Sub bagian B2 : tidak layak

9|Programing Bilangan Bulat


Karena Sub bagian B1 menghasilkan nilai fungsi tujuanyang lebih besar dari
34 (batas atas bagian A), maka harus dicabangkan lagi ke dalam dua sub masalah,

dengan kendala X 2 ≤3 dan X 2 ≥4. Kedua kendala sub masalah diberi nama bagian
B1a dan B1b.

Bagian
B1a

Maksimumkan Z=3 X 1 +5 X 2

Dengan syarat 2 X 1 + 4 X 2≤25


2 X 2 ≤10(berlebih )
X 2=3
X 2=3
X 1 =6
X 1 ; X 2≥0 :

Bagian
B1b

Maksimumkan Z=3 X 1 +5 X 2

Dengan syarat 2 X 1 + 4 X 2≤25


2 X 2 ≤10
X 2=3( berlebih)
X 2=4
X 1 =6
X 1 ; X 2≥0 :

Solusi optimum dengan metode simpleks adalah :

Sub-bagian
B1a : X 1 =6 , X 2 =3 dan Z = 33,

Sub-bagian
B1b : X 1 =4 ,25 , X 2=4 dan Z = 33,5.

10 | P r o g r a m i n g B i l a n g a n B u l a t
Kedua solusi itu memiliki batas atas ( Z = 33 dan Z = 33,5)yang lebih buruk
dibanding dengan solusi yang dihasilkan oleh bagian A. Karena itu, solusi bulat

optimum adalah X 1 =8 , X 2 =2 dan Z = 34 yang dihasilkan oleh bagian A.


Jika pencarian telah diselesaikan, solusi bulat dengan fungsi tujuan tertinggi
(dalam masalah maksimasi) dipilih sebagai solusi optimum. Hasil perhitungan diatas
dapat digambarkan dengan gambar berikut

Solusi Bulat Optimum


x1  8
X2  2 x2  2 X1  3
Z  34
0 2
X1  6 X2  4
X2  3
x1  8 1
x1  6
x 2  2,25 X1  7
x1  6,5 x 2  3,25
Z  35,25 Z  34,25
x 2  3,5
Tidak layak
Z  34,5

2.4.2 Pemotongan Bidang Datar (Cutting Plene Algoritma)


Pendekatan yang dilakukan dalam teknik pemotongan bidang datar (Cutting
Plane) adalah dengan membuat pembatas tambahan yang memotong ruang layak dari
program linier sehingga dapat mengeliminasi solusi yang tidak integer. Proses
pemotongan akan keberhasilan teknik ini sangat terbatas, bergantung pada struktur
persoalan yang dihadapi. Artinya hanya persoalan tertentu yang dapat diselesaikan
dengan teknik ini. Karena itu, sekarang teknik ini hamper tidak pernah digunakan
lagi.

11 | P r o g r a m i n g B i l a n g a n B u l a t
Kelemahan dari algoritma pemotongan bidang datar adalah kesalahan-
kesalahan pada pembulatan yang dilakukan dalam perhitungan dapat menghasilkan
jawaban bilangan bulat yang salah. Selanjutnya jawaban dari persoalan masih belum
fisibel berarti tidak ada jawaban bilangan bulat yang diperoleh sampai jawaban
bilangan bulat yang optimal dicapai tadi,dan ini berarti bahwa tidak ada jawaban
integer yang baik jika perhitungan dihentikan lebih awal sebelum mencapai hasil
jawaban yang optimal.

2.4.3 Metode Pendekatan Pembulatan


Suatu metode yang sederhana dan kadang-kadang praktis untuk
menyelesaikan integer progamming adalah dengan membulatkan hasil variabel
keputusan yang diperoleh melalui linear programing. Pendekatan ini mudah dan
praktis dalam hal usaha, waktu dan biaya yang diperlukan untuk memperoleh suatu
solusi. Bahkan, pendekatan pembulatan dapat merupakan cara yang sangat efektif
untuk masalah integer progamming yang besar dimana biaya-biaya hitungan sangat
tinggi atau untuk masalah nilai-nilai solusi variabel keputusan sangat besar.
Contohnya, pembulatan nilai solusi jumlah pensil yang harus diproduksi dari
14.250,2 menjadi 14.250,0 semestinya dapat diterima. Namun demikian sebab utama
kegagalan pendekatan ini adalah bahwa solusi yang diperoleh mungkin bukan solusi
integer optimum yangsesungguhnya.
Dengan kata lain, solusi pembulatan dapat lebih jelek dibanding solusi integer
optimum yang sesungguhnya atau mungkin merupakan solusi tak layak. Ini
membawa konsekuensi besar jika jumlah produk-produk seperti pesawat angkut
komersial atau kapal perang yang harus diproduksi dibulatkan ke bilangan bulat
terdekat.
Tiga masalah berikut disajikan untuk mengilustrasikan prosedur pembulatan:
Masalah 1

Maksimumkan Z = 100 X 1 + 90 X 2

12 | P r o g r a m i n g B i l a n g a n B u l a t
Dengan syarat 10 X 1 + 7 X 2 ≤ 70

5 X 1 + 10 X 2 ≤ 50
X1 + X 2 ≥ 0

Masalah 2

Minimumkan Z = 200 X 1 + 400 X 2

Dengan syarat 10 X 1 + 25 X 2 ≥ 100

3 X 1 + 2 X 2 ≥ 12
X1 + X 2 ≥ 0

Masalah 3

Maksimumkan Z = 80 X 1 + 100 X 2

Dengan syarat 4 X 1 + 2 X 2 ≤ 12
X 1 + 5 X 2 ≤ 15

X1 + X 2 ≥ 0

Perbandingan antara solusi dengan metode simpleks tanpa pembatasan


bilangan bulat, pembulatan ke bilangan bulat terdekat dansolusi integer optimum
yang sesungguhnya untuk ketiga masalah tersebut adalalah :
Solusi dengan Dengan pembulatan Bulat optimum
Masalah
metode simpleks terdekat sesungguhnya
X 1 =5 , 38 X 1 =5 X 1 =7
1 X 2=2 , 31 X 2=2 X 2=0
Z=746 , 15 Z=680 Z=700
X 1 =1 , 82 X 1 =2 X 1 =3 , X 2 =3
2 X 2=3 , 27 X 2=3 X 1 =5 , X 2 =2
Z=1. 672 , 73 Z=tidaklayak Z=1. 800

13 | P r o g r a m i n g B i l a n g a n B u l a t
X 1 =2 , 14 X 1 =2 X 1 =0
3 X 2=1 , 71 X 2=2 X 2=3
Z=343 Z=tidaklayak Z=300

Masalah pertama adalah masalah maksimasi, dimana solusi pembulatan


menghasilkan keuntungan 680, hanya lebih kecil 20 dibanding yang dihasilkan solusi
bulat optimum 700. Masalah kedua adalah masalah minimasi dimana solusi
pembulatan adalah tak layak. Ini menunjukan bahwa meskipun pendekatan adalah
sederhana, namun kadang-kadang menyebabkan solusi tak layak. Untuk mencegah
ketidak layakan, nilai solusi simpleks dalam masalah minimasi harus dibulatkan ke

atas. Misalnya, pada masalah kedua jika solusi dibulatkan keatas diperoleh X 1 = 2

dan X 2 = 4 dan merupakansolusi layak. Sebaliknya, pada masalah maksimasi nilai


solusi simpleks semestinya dibulatkan ke bawah. Pada maasalah ketiga, solusi
pembulatan juga tak layak. Namun, seperti dalam masalah minimasi, jika solusi

simpleknya X 1 = 2,14 dan X 2 = 1,71 dibulatkan ke bawahmenjadi X 1 = 2 dan X 2 =


1, maka solusinya menjadi layak. Ini dapat dibuktikan dengan meneliti masing-
masing kendala model dengan nilai variabel keputusan yang telah dibulatkan
kebawah. Suatu metode yang serupa dengan pendekatan pembulatan adalah prosedur
coba-coba (trial and eror). Dengan menggunakan cara ini, pengambil keputusan
mengamati solusi integer dan memilih solusi yang mengoptimumkan nilai fungsi
tujuan. Metode ini sangat tidak efektif jika masalahnya melibatkan sejumlah besar
kendala dan variable. Terlebih lagi, memeriksa kelayakan setiap solusi yang
dibulatkan.
2.4.4 Metode Grafik
Masalah integer progamming yang melibatkan hanya dua variabel dapat
diselesaikan secara grafik. Pendekatan ini identik dengan metode grafik Linear
Programing dalam semua aspek, kecuali bahwa solusi optimum harus memenuhi
persyaratan bilangan bulat. Mungkin pendekatan termudah untuk menyelesaikan

14 | P r o g r a m i n g B i l a n g a n B u l a t
masalah integer programming dua dimensi adalah menggunakan kertas grafik dan
mengambarkan sekumpulan titik-titik integer dalam ruang solusi layak. Masalah
berikut akan diselesaikan dengan pendekatan grafik.

Maksimumkan Z = 100 X 1 + 90 X 2

Dengan syarat 10 X 1 + 7 X 2 ≤ 70

5 X 1 + 10 X 2 ≤ 50
X 1 ; X 2 ≥ non negatif integer

Model ini serupa dengan model linear programing biasa. Perbedaannya hanya
pada kendala terakhir yang mengharapkan bahwa variabel terjadi pada nilai non
negative integer.
Solusi grafik masalah ini ditunjukkan pada gambar di bawah ini

Ruang solusi layak adalah OABC. Solusi optimum masalah linear

programing ditunjukkan pada titik B, dengan X 1 = 5, 38 dan X 2 = 2, 31 sertaZ =


746, 15. Untukmencari solusi integer optimum masalah ini,garis Z (slope=-9/10)
digesersecara sejajar dari titik B menuju titik asal. Solusi integer optimum adalahtitik

15 | P r o g r a m i n g B i l a n g a n B u l a t
integer pertama yang bersinggungan dengan garis Z. Titik itu adalah A,dengan X 1 = 7

dan X 2 = 0 serta Z = 700

CONTOH SOAL
Sebuah perusahaan manufaktur elektronik “The Flash” memproduksi 2 buah produk
kipas angin dan lampu gantung. Tiap‐tiap produk tersebut membutuhkan 2 tahapan
produksi, yaitu penyolderan (perakitan komponen elektronik) dan assembling
(perakitan komponen non‐elektronik) penyolderan membutuhkan waktu 2 jam untuk
lampu dan 3 jam untuk kipas angin, sedangkan assembling membutuhkan waktu 6
jam untuk lampu dan 5 jam untuk kipas angin. Perusahaan tersebut hanya mempunyai
waktu untuk penyolderan 12 jam dan assembling 30 jam kerja per minggunya. Bila
lampu gantung memberikan keuntungan sebanyak Rp. 7000 dan Kipas angin
memberikan keuntungan Rp.6000 per unit, formulasi keputusan produksi perusahaan
The Flash adalah sebagai berikut:
Dari kasus “The Flash” diatas, kita dapatkan:

Maksimisasi profit = 7 X 1 + 6 X 2

Ditujukan pada: 2 X 1 + 3 X 2 ≤ 126


X 1 + 5 X 2 ≤ 30

X 1 ; X 2 ≥ integer 0

Dengan Linear Programming sederhana didapatkan:

2 X 1 + 3 X 2 = 12 x3 6 X 1 + 9 X 2 = 36 2 X 1 + 3 X 2 = 126
X 1 + 5 X 2 = 30 x1 6 X 1 + 5 X 2 = 30 2 X 1 + 3(1.5) = 12

4X 1 = 6 2 X 1 = 7.5
X 1 = 1.5 X 1 = 3.75

Profit = 7(3.75) + 6(1.5) = 35.25

16 | P r o g r a m i n g B i l a n g a n B u l a t
Karena X 1 dan X 2 bukan bilangan bulat, maka solusi ini tidak valid, nilai
keuntungan 35.25 dijadikan batas atas awal. Dengan metode pembulatan kebawah,

kita dapatkan X 1 = 3 dan X 2 = 1, dengan keuntungan = 27, hasil ini feasible karena
kedua variabel merupakan bilangan bulat, jadi nilai keuntungan dijadikan batas
bawah.
Iterasi 1
Permasalahan diatas kemudian dibagi menjadi 2 subproblem, A dan B. Kita dapat
melakukan percabangan (branch) pada hasil dengan variable tidak bulat (integer)
A

Maksimisasi : 7 X 1 + 6 X 2

Ditujukan pada: 2 X 1 + 3 X 2 ≤ 12

6 X 1 + 5 X 2 ≤ 30
X1 ≥ 4

Maksimisasi : 7 X 1 + 6 X 2

Ditujukan pada: 2 X 1 + 3 X 2 ≤ 12

6 X 1 + 5 X 2 ≤ 30
X1 ≤ 3

Dengan metode linear programing sederhana didapatkan solusi:

Solusi optimal sub problem A: X 1 = 4, X 2 = 1.2, profit = 35.2 ,

Solusi optimal subproblem B: X 1 = 3, X 2 = 2, profit = 33.0 .


Karena solusi subproblem B kedua variabelnya merupakan bilangan bulat, maka kita
anggap sudah feasible, maka kita hentikan cabang tersebut dan nilai profitnya
menjadi batas bawah baru. Subproblem A masih mempunyai variabel bukan bilangan
bulat, maka masih diteruskan dan nilai profitnya (35.2) menjadi batas atas baru

17 | P r o g r a m i n g B i l a n g a n B u l a t
Iterasi 2
Subproblem A kita cabangkan menjadi 2, menjadi sub problem C dan D dengan

batasan tambahan untuk sub problem C adalah X 2 ≥ 2 dan untuk subproblem D

adalah X 2 ≤ 1. Logika dari pengembangan subproblem ini adalah karena solusi

optimal dari subproblem A X 2 = 1.2 tidak feasible, maka solusi integer haruslah

berada dalam wilayah X 2 ≥ 2 atau X2 ≤ 1


C

Maksimisasi : 7 X 1 + 6 X 2

Ditujukan pada: 2 X 1 + 3 X 2 ≤ 12

6 X 1 + 5 X 2 ≤ 30
X1 ≥ 4

X2 ≥ 2

Maksimisasi : 7 X 1 + 6 X 2

Ditujukan pada: 2 X 1 + 3 X 2 ≤ 12

6 X 1 + 5 X 2 ≤ 30
X1 ≤ 3

X1 ≤ 1

Subproblem C tidak mempunyai solusi karena dua batasan awal tidak terpenuhi bila

ada batasan tambahan X 1 ≥ 4 dan X 2 ≥ 2 , jadi cabang ini tk digunakan.

Solusi optimal dari cabang D adalah X 1 =4 dan X 2 =1, profit 35.16, jadi batas atas
berubah menjadi 35.16

18 | P r o g r a m i n g B i l a n g a n B u l a t
Iterasi 3

Kita buat cabang baru E dengan batasan tambahan batasan X 1 ≤ 4 dan F dengan

batasan tambahan X 1 ≥ 5
E

Maksimisasi : 7 X 1 + 6 X 2

Ditujukan pada: 2 X 1 + 3 X 2 ≤ 12

6 X 1 + 5 X 2 ≤ 30
X1 ≥ 4

X1 ≤ 4

X2 ≤ 1

Solusi optimal E adalah X 1 = 4 dan X 2 = 1 dengan profit 34

Maksimisasi : 7 X 1 + 6 X 2

Ditujukan pada: 2 X 1 + 3 X 2 ≤ 12

6 X 1 + 5 X 2 ≤ 30
X1 ≥ 4

X1 ≥ 5

X2 ≤ 1

Solusi optimal F adalah X 1 = 5 dan X 2 = 0 dengan profit 35

Jadi solusi optimal untuk pemrograman bulat ini adalah X 1 = 5 dan X 2 = 0dengan
profit 35 .

19 | P r o g r a m i n g B i l a n g a n B u l a t
Kelemahan dasar dari metode ini adalah bahwa diperlukan pemecahan masalah linear
programing untuk setiap pencabangan. Dalam masalah yang besar dapat memakan
banyak waktu. Karena itu dalam prosedur pencabangan dan pencarian, analisa
selanjutnya dihentikan jika :
1. Hasil dari sub-problem lebih jelek dibanding dengan batas atas yang sudah
diidentifikasi.
2. Pencabangan selanjutnya menghasilkan solusi tak layak.

Dengan metode grafik

Maksimisasi profit = 7 X 1 + 6 X 2

Ditujukan pada: 2 X 1 + 3 X 2 ≤ 12

6 X 1 + 5 X 2 ≤ 30
X1 ; X 2 ≥ 0

X 1 = Lampu

20 | P r o g r a m i n g B i l a n g a n B u l a t
X 2 = Kipas Angin

Dengan metode linear programming dapat kita hitung bahwa solusi optimal dari The
Flash adalah memproduksi 3 Lampu dan 1 Kipas Angin. Kita menyadari bahwa
perusahaan tidak bisa membuat dan menjual barang dalam bentuk pecahan, jadi kita
memutuskan bahwa kita menghadapi permasalahan integer programming /
pemrograman bulat.

BAB III
PENUTUP
3.1 Kesimpulan

21 | P r o g r a m i n g B i l a n g a n B u l a t
1) Program Integer merupakan pengembangan dari Program Linear di mana
beberapa atau semua variabel keputusannya harus berupa integer. Jika hanya
sebagian variabel keputusannya merupakan integer maka disebut Program
Integer Campuran (mixed Integer Programming). Jika semua variable
keputusannya bernilai integer disebut Program Integer Murni (pure Integer
Progamming).
2) Terdapat tiga jenis Program Integer, yaitu sebagai berikut:
a. Program Integer Murni (Pure Integer Programming ), yaitu program linier
yang menghendaki semua variabel keputusanharus merupakan bilangan
bulat non-negatif.
b. Program Integer Campuran (Mixed Integer Programming ),yaitu program
linier yang menghendaki beberapa, tetapi tidaksemua variabel keputusan
harus merupakan bilangan bulat non-negatif.
c. Program Integer Biner (Zero One Integer Programming ),yaitu program
linier yang menghendaki semua variable keputusan harus bernilai 0 dan 1.
3) Semua persoalan Program Integer mempunyai empat sifat umum yaitu, sebagai
berikut (Susanta, B. 1994):
a. Fungsi Tujuan (objective function), Persoalan rogram integer bertujuan
untuk memaksimumkan atau meminimumkan pada umumnya berupa laba
atau biaya sebagai hasil yang optimal.
b. Adanya kendala atau batasan (constrains) yang membatasi tingkat sampai di
mana sasaran dapat dicapai. Oleh karena itu,untuk memaksimumkan atau
meminimumkan suatu kuantitas fungsi tujuan bergantung kepada sumber
daya yang jumlahnya terbatas.
c. Harus ada beberapa alternatif solusi layak yang dapat dipilih.
d. Tujuan dan batasan dalam permasalahan Program Integer harus dinyatakan
dalam hubungan dengan pertidaksamaan atau persamaan linier.
4) Metode-Metode dalam Program Integer,yaitu :
a. Metode Brach and Bound

22 | P r o g r a m i n g B i l a n g a n B u l a t
b. Metode Cutting Plan Algorithm
c. Metode Pendekatan Pembulatan
d. Metode Grafik

DAFTAR PUSTAKA
A Taha,Hamdy,1996, Riset Operasi Jilid 1 , Jakarta : Binarupa Aksara.
http://bab-vi-_program-linear-bilangan-bulat.pdf

23 | P r o g r a m i n g B i l a n g a n B u l a t
http://Pemograman+Bulat.pdf
http://Penyelesaian_Masalah_Pemrograman_Bilangan_Bulat.Pdf

24 | P r o g r a m i n g B i l a n g a n B u l a t

Anda mungkin juga menyukai