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)
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.
Menentukan
x j , j=1,2,...,n
∑ α 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
α j = koefisien kendala
b = nilai ruas kanan
Bentuk 2.1 di atas merupakan bentuk umum dari Program Integer
∑ α 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,
Maksimumkan Z = Z=3 X 1 +5 X 2
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
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
Maksimumkan Z=3 X 1 +5 X 2
Maksimumkan Z=3 X 1 +5 X 2
Sub bagian B1
Maksimumkan Z=3 X 1 +5 X 2
Sub bagian B2
Maksimumkan Z=3 X 1 +5 X 2
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
Bagian
B1b
Maksimumkan Z=3 X 1 +5 X 2
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
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.
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
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
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
atas. Misalnya, pada masalah kedua jika solusi dibulatkan keatas diperoleh X 1 = 2
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
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
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
X 1 ; X 2 ≥ integer 0
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
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
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
optimal dari subproblem A X 2 = 1.2 tidak feasible, maka solusi integer haruslah
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
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
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
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.
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