Metode Branch and Bound (AND/OR) pada Load Balancing

(1)

METODE BRANCH AND BOUND (AND/OR) PADA LOAD

BALANCING

SKRIPSI

ANGELINE LOUIS

110803033

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA


(2)

PERSETUJUAN

Judul : Metode Branch and Bound (AND/OR) pada

Load Balancing

Kategori : Skripsi

Nama : Angeline Louis

Nomor Induk Mahasiswa : 110803033

Program Studi : Sarjana (S1) Matematika

Departemen : Matematika

Fakultas : Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Disetujui di Medan, Februari 2015

Komisi Pembimbing

Pembimbing 2, Pembimbing 1,

Dr. Faigiziduhu Bu’ulolo, M.Si. Dr. Elly Rosmaini, M.Si.

NIP. 19531218 198003 1 003 NIP. 19600520 198503 2 002

Disetujui oleh:

Departemen Matematika FMIPA USU Ketua,

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


(3)

PERNYATAAN

METODE BRANCH AND BOUND (AND/OR) PADA LOAD BALANCING

SKRIPSI

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

Medan, Februari 2015

ANGELINE LOUIS 110803033


(4)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan yang Maha Penyayang, atas kemurahan dan berkat yang telah diberikan sehingga penulis dapat menyelesaikan skripsi dengan judul Metode Branch and Bound (AND/OR) pada Load Balancing guna melengkapi syarat memperoleh gelar sarjana Matematika pada Fakultas Matematika dan Ilmu Pengetahuan Alam di Universitas Sumatera Utara.

Dalam kesempatan ini, penulis ingin mengucapkan terima kasih yang kepada semua pihak yang telah membantu dan membimbing penulis dalam penyusunan skripsi ini, ucapan terima kasih penulis sampaikan kepada Ibu Dr. Elly Rosmaini, M.Si selaku pembimbing I dan Bapak Dr. Faigiziduhu Bu’ulolo, M.Si selaku pembimbing II yang telah memberikan bimbingan dan pengarahan sehingga skripsi ini dapat penulis selesaikan. Bapak Drs. Marihat Situmorang, M.Kom dan Ibu Dra. Normalina Napitupulu, M.Sc selaku dosen pembanding. Bapak Prof. Dr. Tulus, Vor.Dipl.Math, M.Si dan Ibu Dr. Mardiningsih, M.Si selaku Ketua dan Sekretaris Departemen Matematika FMIPA-USU Medan. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara. Seluruh Staff dan Dosen pada Departemen Matematika FMIPA-USU dan pegawai di FMIPA-USU. Seluruh teman jurusan Matematika khususnya stambuk 2011, adik-adik junior stambuk 2012, stambuk 2013, stambuk 2014 serta Abang dan Kakak alumni. Akhirnya tidak terlupakan Ayahanda Lo Kok Kiang, Ibunda Muraina, serta keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan. Semoga Tuhan Yang Maha Esa membalasnya.


(5)

METODE BRANCH AND BOUND (AND/OR) PADA LOAD BALANCING

ABSTRAK

Load balancing merupakan suatu teknik untuk menyeimbangkan muatan pada server untuk menghindari terjadinya kelebihan muatan. Muatan yang akan dibahas adalah muatan di dalam server pada komputer dibagian CPU (perangkat keras). Biasanya di dalam sebuah komputer terdapat beberapa server yang sudah terbagi. Namun terdapat faktor lain yang menyebabkan server tidak dapat menampung muatan secara optimal. Metode branch and bound mempunyai metode lanjutan yaitu AND/OR. Meskipun AND/OR dinilai tidak dapat membantu banyak, namun AND/OR dapat mengatasi celah-celah yang sudah diabaikan bahkan memperkuat nilai optimal terbesar yang sudah didapatkan pada metode branch and bound.

Kata kunci: Program Integer, Keseimbangan Muatan, Metode Branch and Bound, Muatan Server.


(6)

BRANCH AND BOUND METHOD (AND/OR) IN LOAD BALANCING

ABSTRACT

Load Balancing is a technique to balance the load on the server to prevent overloading. The load is a load that will be discussed in a server on the computer at the CPU (Hardware). Usually in a computer, there are several servers that have

been divided. But there are other factors that cause the server can’t hold the load

optimally. Branch and bound methods have advanced method that is AND/OR.

Although AND/OR assessed can’t help much, but AND/OR overcome the gaps that have been ignored even reinforce the largest optimal value has been established at the branch and bound method.

Keyword: Integer Programming, Load Balancing, Branch and Bound Method,


(7)

DAFTAR ISI

Halaman

PERSETUJUAN i

PERNYATAAN ii

PENGHARGAAN iii

ABSTRAK iv

ABSTRACT v

DAFTAR ISI vi

Bab 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Tujuan Penelitian 2

1.4 Manfaat Penelitian 3

1.5 Metodologi Penelitian 3

Bab 2 TINJAUAN PUSTAKA 4

2.1 Pengertian Load Balancing 4

2.2 Program Integer 5

2.3 Program Integer (Metode Branch and Bound) 6

Bab 3 PEMBAHASAN 7

3.1 Metode Simpleks 7

3.2 Metode Branch and Bound 11

3.3 Contoh kasus 17

Bab 4 KESIMPULAN DAN SARAN

4.1 Kesimpulan 38

4.2 Saran 39


(8)

METODE BRANCH AND BOUND (AND/OR) PADA LOAD BALANCING

ABSTRAK

Load balancing merupakan suatu teknik untuk menyeimbangkan muatan pada server untuk menghindari terjadinya kelebihan muatan. Muatan yang akan dibahas adalah muatan di dalam server pada komputer dibagian CPU (perangkat keras). Biasanya di dalam sebuah komputer terdapat beberapa server yang sudah terbagi. Namun terdapat faktor lain yang menyebabkan server tidak dapat menampung muatan secara optimal. Metode branch and bound mempunyai metode lanjutan yaitu AND/OR. Meskipun AND/OR dinilai tidak dapat membantu banyak, namun AND/OR dapat mengatasi celah-celah yang sudah diabaikan bahkan memperkuat nilai optimal terbesar yang sudah didapatkan pada metode branch and bound.

Kata kunci: Program Integer, Keseimbangan Muatan, Metode Branch and Bound, Muatan Server.


(9)

BRANCH AND BOUND METHOD (AND/OR) IN LOAD BALANCING

ABSTRACT

Load Balancing is a technique to balance the load on the server to prevent overloading. The load is a load that will be discussed in a server on the computer at the CPU (Hardware). Usually in a computer, there are several servers that have

been divided. But there are other factors that cause the server can’t hold the load

optimally. Branch and bound methods have advanced method that is AND/OR.

Although AND/OR assessed can’t help much, but AND/OR overcome the gaps that have been ignored even reinforce the largest optimal value has been established at the branch and bound method.

Keyword: Integer Programming, Load Balancing, Branch and Bound Method,


(10)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Load balancing merupakan suatu teknik yang digunakan untuk mendistribusikan dua atau lebih jalur koneksi agar dapat berjalan optimal, memaksimalkan

throughput (kecepatan transfer antara pengguna layanan ke penyedia layanan, dan penyedia layanan ke pengguna layanan) dan menghindari overload (kelebihan muatan pada server) pada salah satu koneksi (Sirajuddin dkk, 2012). Untuk itu selanjutnya hanya disebut load balancing.

Load balancing digunakan apabila sebuah server (sistim komputer yang menyediakan jenis layanan tertentu) memiliki jumlah user (pengguna server) yang melebihi kapasitas dan juga digunakan untuk mendistribusikan beban kerja secara merata pada dua atau lebih computer, CPU (Central Processing Unit) yang merupakan perangkat keras pada komputer yang berfungsi untuk menerima data dan melaksanakan perintah dari perangkat lunak atau sumber daya lainnya untuk mendapat pemanfaatan sumber daya yang optimal.

Branch and bound adalah salah satu teknik yang digunakan untuk mendapatkan hasil yang optimal pada persoalan mencari nilai maksimum atau minimum. Dalam metode branch and bound, hasil yang disebut optimal adalah hasil yang berupa integer (bilangan cacah) bukan nol (0) dan berada di wilayah

feasible (layak). Pada metode branch and bound terdapat beberapa metode lain yang merupakan bagian dari branch and bound di mana metode-metode tersebut dapat memberikan hasil yang lebih optimal. Salah satunya adalah metode AND/OR.


(11)

Pada dasarnya penggunaan algoritma AND/OR sama seperti algoritma

branch and bound. Perbedaannya terdapat pada pemilihan cabangnya. Algoritma

branch and bound hanya memilih cabang-cabang yang dapat menghasilkan nilai yang feasible (layak) dan mengeliminasi cabang yang menghasilkan nilai tidak

feasible. Selanjutnya metode AND/OR tidak mengeliminasi cabang yang menghasilkan nilai tidak feasible. Semua cabang pada metode AND/OR akan diselesaikan untuk mendapatkan hasil yang optimal dengan menggunakan metode simpleks.

Dalam pencarian persamaan untuk load balancing, digunakan algoritma

branch and bound yang membagi beberapa bagian dari permasalahan pada CPUs

yang berbeda-beda. Hal ini beresiko tinggi karena jika terdapat perbedaan dengan interval yang cukup besar, maka dapat terjadi kerusakkan pada persamaan. Untuk menghindari kerusakkan, maka digunakan metode AND/OR karena dapat memberi hasil yang cukup signifikan. Dari uraian di atas maka penulis mengajukan judul tugas akhir yaitu “Metode Branch and Bound (AND/OR) pada Load Balancing”.

1.2Rumusan Masalah

Berdasarkan latar belakang di atas, maka rumusan masalah yang akan dibahas adalah bagaimana caranya menyeimbangkan muatan-muatan pada server supaya tidak terjadi overload.

1.3Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk menyelesaikan masalah load balancing


(12)

1.4Manfaat Penelitian

Manfaat dari penelitian ini adalah sebagai berikut.

1. Dapat mencari solusi alternatif untuk menyelesaikan persoalan load balancing

dengan cara yang lebih sederhana.

2. Dapat digunakan sebagai tambahan informasi dan referensi bacaan bagi yang hendak melakukan penelitian serupa.

1.5Metodologi Penelitian

Penelitian ini adalah penelitian literatur yang disusun dengan langkah-langkah sebagai berikut:

1. Menganalisis metode branch and bound.

2. Menjelaskan pengertian dari load balancing dan AND/OR branch and bound. 3. Menyelesaikan persoalan load balancing dengan metode AND/OR branch

and bound.


(13)

BAB 2

TINJAUAN PUSTAKA

Penggambaran suatu versi dari kelanjutan algoritma branch and bound pada model grafik digunakan untuk menyeimbangkan muatan dengan memperkirakan bagian-bagian dari permasalahan. Melalui pembelajaran kelanjutan algoritma

branch and bound, maka hasil yang optimal didapatkan dengan mudah pada berbagai masalah yang rumit dengan menggunakan ratusan persamaan yang terdapat pada CPUs (Otten dan Dechter, 2012).

2.1 Pengertian Load Balancing

Load balancing berasal dari kata load yang berarti muatan dan balancing yang berarti keseimbangan maka secara sederhana pengertian dari load balancing

adalah menyeimbangkan muatan. Keunggulan dari penggunaan teknik load balancing:

1. Waktu Respon. Salah satu manfaat terbesar adalah untuk meningkatkan kecepatan akses file saat dibuka. Dengan dua atau lebih server yang saling berbagi beban, masing-masing akan berjalan lebih cepat karena beban tidak berada pada satu server saja. Ini berarti ada lebih banyak sumber daya untuk memenuhi penggunaan user.

2. Redundansi. Dengan load balancing, akan mewarisi sedikit redundansi. Sebagai contoh, jika akses berjalan seimbang di tiga server dan salah satu


(14)

Load balancer (perangkat load balancing) menggunakan beberapa peralatan yang sama untuk menjalankan tugas yang sama. Hal ini memungkinkan pekerjaan dilakukan dengan lebih cepat dibandingkan apabila dikerjakan oleh hanya satu peralatan saja dan dapat meringankan beban kerja peralatan, serta mempercepat waktu respons. Load balancer bertindak sebagai penengah di antara layanan utama dan pengguna, di mana layanan utama merupakan sekumpulan

server yang siap melayani banyak pengguna.

Pada waktu load balancer menerima permintaan layanan dari user, maka permintaan tersebut akan diteruskan ke server utama. Biasanya load balancer

dengan pintar dapat menentukan server mana yang memiliki load yang lebih rendah dan respons yang lebih cepat. Bahkan bisa menghentikan akses ke server

yang sedang mengalami masalah dan hanya meneruskannya ke server yang dapat memberikan layanan (Lukitasari dan Oklilas, 2010). Hal ini salah satu kelebihan yang umumnya dimiliki load balancer, sehingga layanan seolah-olah tidak ada gangguan di mata pengguna.

2.2 Program Integer

P. Siagian (1987) dalam bukunya “Penelitian Operasional: Teori dan Praktek”, mengemukakan bahwa bentuk umum program integer adalah:

Max/Min: 

n

j cjxj

Z 1 , j1,2,...n

kendala: m i

i 1aijxj(  )b

 , i1,2,...,m

j

j x

x 0, integer

di mana: aij,bi,cjdiketahui sebagai konstanta. Jika:

1. xj semua bilangan cacah, maka problema disebut problema program integer murni


(15)

2. xj sebagian bilangan cacah dan yang lainnya boleh tidak, maka disebut problem integer campuran

3. xj salah satu nol atau satu, problema disebut problema program

integer nol-satu (0-1).

Setiap pertidaksamaan menjadi kendala tambahan untuk sebagian permasalahan baru dan mempunyai efek mempersempit daerah layak sehingga pemecahan tak bulat bagi xjdari bilangan cacah yang mungkin terhadap persoalan semula diabaikan. Demikian dilakukan seterusnya sampai peubah yang di harapkan sudah bernilai cacah karena hal ini menjamin solusi yang feasible

(Hamdy A. Taha, 1987).

2.3. Program Integer (Metode Branch and Bound)

Branch and bound adalah algoritma umum untuk mencari solusi optimal dari berbagai masalah optimasi. Branch and bound bukan sebuah teknik solusi khusus terbatas untuk masalah program integer (bilangan cacah). Branch and bound

adalah pendekatan solusi yang dapat diterapkan pada beberapa jenis masalah. Pendekatan branch and bound didasarkan pada prinsip bahwa himpunan total solusi feasible dapat dipartisi menjadi bagian yang lebih kecil yang kemudian dapat dievaluasi secara sistematis sampai penyelesaian optimal yang terbaik ditemukan (Fien Zulkarijah, 2004).

Prinsip dasar metode ini adalah memecah daerah feasible suatu masalah program linier dengan membuat beberapa bagian permasalahan. Ada dua konsep dasar dalam algoritma branch and bound, yaitu:

1. Branching adalah proses membagi-bagi permasalahan menjadi beberapa bagian permasalahan yang mungkin mengarah ke penyelesaian.


(16)

2. Bounding adalah proses mencari/menghitung batas atas dan batas bawah untuk solusi optimal pada bagian permasalahan yang mengarah ke penyelesaian.


(17)

BAB 3

PEMBAHASAN

Pada bab ini, akan dijelaskan metode-metode yang penulis gunakan dalam pembahasan. Adapun metode yang akan digunakan adalah metode simpleks dan metode branch and bound.

3.1 Metode Simpleks

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

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

Maks/Min: Zc1x1c2x2 cnxn

kendala:

1 1

2 12 1

11x a x a x ( )b

a   n n   

2 2

2 22 1

21x a x a x ( )b

a   n n   

   

m n

mn m

m x a x a x b

a 1 12 2 (  )

0 , , 0 , 0 2

1 xxn


(18)

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

Tahap 1. Merumuskan problema ke dalam model simpleks.

Tahap 2. Menyusun tabel simpleks iterasi awal dengan penambahan slack variabel Tahap 3. Mengecek nilai optimal tabel simpleks dengan cara sebagai berikut:

a. Kalau sudah optimal, tafsirkan hasil penyelesaian.

b. Kalau belum optimal, teruskan penyelesaian pada tahap berikutnya. Tahap 4. Mengidentifikasi variabel yang akan masuk dalam tabel.

Tahap 5. Mengidentifikasi variabel yang akan dikeluarkan dalam tabel. Tahap 6. Menyusun tabel simpleks baru.

Tahap 7. Mengecek nilai optimal tabel simpleks baru tersebut: a. Kalau sudah optimal, tafsirkan hasil penyelesaian. b. Kalau belum optimal, kembali kepada prosedur tahap 4.

Tahap 1. Perumusan Model Simpleks

Untuk menyusun rumusan program linier ke dalam model matematika simpleks, perlu mengubah bentuk tanda ketidaksamaan kendala ke dalam bentuk tanda sama dengan (=) agar persamaan kendala dalam keadaan seimbang. Bentuk ini biasanya dikatakan sebagai bentuk standar, sehingga bentuk standarnya dapat dirumuskan sebagai berikut: (Asumsikan untuk permasalahannya menggunakan tanda ≤). Maks/Min: Zc1x1c2x2 cnxn

kendala: 1 1 1 2 12 1

11x a x a x s b

a   n n  

2 2 2 2 22 1

21x a x a x s b

a   n n  

     m m n mn m

m x a x a x s b

a 1 1 2 2  

0 , , 0 , 0 2

1 xxn


(19)

m

s s

s1, 2,, adalah

slack variabel

Pada permasalahan dalam penelitian ini, tanda ketidaksamaan kendala

adalah lebih kecil atau sama dengan (≤), diubah menjadi tanda sama dengan (=)

dengan syarat menambah variabel slack (si) pada sisi bagian kiri persamaan kendala. Slack variabel perlu ditambahkan agar persamaan garis kendala memenuhi persyaratan penyelesaian pada daerah kelayakan (feasible).

Tahap 2. Menyusun Tabel Simpleks

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

Tabel 3.1. Format Tabel Simpleks

Basis / C 1

c c2   cn 0 0   0

B

1

x x2   xn s1 s2   sn

1

s

2

s

n

s

j

j C

Z

Penjelasan tabel simpleks di atas:

1. C = Nilai kontribusi setiap variabel basis dalam proses iterasi. 2. Basis = Variabel basis dalam proses iterasi (nilainya tidak sama dengan

nol).

3. B = Nilai variabel basis dalam proses iterasi.

4. ZjCj = Nilai kontribusi dalam problema meminimalkan dari setiap


(20)

Tahap 3. Pengecekan Optimalisasi Tabel Simpleks Iterasi Awal

Pengecekan apakah tabel simplek pada iterasi awal telah atau belum optimal dilakukan dengan cara melihat nilai ZjCj masing-masing variabel fungsi tujuan. Apabila ZjCj untuk semua variabel bernilai nol atau positif, maka

penyelesaian problema tersebut telah optimal. Apabila tidak, maka dilakukan tahap proses selanjutnya.

Tahap 4. Identifikasi Variabel yang Akan Masuk

Untuk menentukan variabel yang mana akan masuk dalam pertimbangan untuk diproses pada iterasi berikutnya adalah variabel keputusan (variabel non-basis) yang mempunyai nilai ZjCj terbesar. Variabel non-basis dimasukkan untuk proses iterasi berikutnya karena variabel s1,s2,,sntelah masuk dalam proses iterasi awal. Nilai ZjCj terbesar yang memiliki nilai terbesar diyakini dapat

meningkatkan hasil yang diperoleh dalam proses iterasi selanjutnya.

Tahap 5. Identifikasi Variabel yang Akan Keluar

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

Tahap 6. Penyusunan Tabel Simpleks Iterasi Pertama

Untuk menyusun tabel simpleks iterasi pertama, harus mencari koefisien elemen pivot dari tabel simpleks sebelumnya. Koefisien elemen pivot dapat dicari dengan cara menghubungkan kolom pivot dengan baris pivot sedemikian rupa sehingga


(21)

titik potong kedua pivot ini menunjukkan koefisien, yang disebut elemen pivot. Koefisien-koefisien baris pivot yang baru dicari dengan menggunakan rumus sebagai berikut:

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

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

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

Tahap 7. Pengecekan Optimalisasi Tabel Simpleks Iterasi Pertama

Pengecekan apakah tabel simpleks pada iterasi pertama telah atau belum optimal. Apabila ZjCj untuk semua variabel bernilai nol atau positif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka kembali pada prosedur Tahap 4.

3.2 Metode Branch and Bound

Proses dari metode branch and bound dimulai dengan menyelesaikan program linier dengan mengabaikan persyaratan cacahnya. Misalnya diketahui problema program bilangan cacah yang disebut dengan problema 0, yaitu:

Problema 0 Maks: f0 10x1 7x2

10 3

4x1  x2  

1 2

2

1,x 0,x ,x


(22)

Sekarang problema 0 dipandang sebagai problema program linier dan disebut problema 1:

Problema 1 Maks: f1 10x1 7x2

10 3

4x1x2

0 , 2

1 x

x

Terlihat bahwa problema 1 akan lebih mudah di selesaikan dari problema 0 setelah syarat cacahnya dihilangkan.

Ada 2 hubungan antara problema 0 dan problema 1 yaitu: 1. Hubungan batas

Misalkan f0*dan * 1

f sebagai nilai fungsi tujuan untuk solusi feasible

optimum problema 0 dan problema 1, maka: *

1 *

0 f

f

Ini berarti bahwa nilai solusi optimum dari fungsi tujuan untuk problema program integer (problema 0) tidak boleh melebihi nilai solusi optimum dari fungsi tujuan problema program linier (problema 1). Hubungan ini disebut bounding.

2. Hubungan optimalitas

Jika solusi telah optimal untuk problema 1 dan feasible untuk problema 0, maka solusi juga optimal untuk problema 0.

Jika solusi optimal untuk problema 1 adalah juga feasible untuk problema 0 dengan syarat dimana *

1 *

0 f

f  dan karena * 0

f tidak boleh lebih besar dari *

1

f , maka hasil harus optimal untuk problema 0.

Akan tetapi, misalkan hasil optimum untuk problema 1 tidak feasible

untuk problema 0 maka problema 1 diubah menjadi m problema baru yang memenuhi syarat sebagai berikut:

a) Solusi optimal untuk problema 1 tidak feasible untuk setiap problema dari m problema baru.


(23)

b) Sekurang-kurangnya terdapat satu nilai optimal untuk problema 0 adalah feasible untuk salah satu solusi dari m

problema baru.

Rumusan dari m problema baru disebut branching. Terdapat banyak cara untuk merumuskan m problema baru tersebut. Salah satu di antaranya yang paling baik adalah cara dari R.J. Dakin dengan memisalkan salah satu dari xjadalah solusi problema 1 yang mempunyai nilai bukan integer pada penyelesaian optimal program linier maka [xj]xj [xj]1, di mana [xj] dan [xj]1 adalah dua bilangan cacah yang berurutan. Dari syarat tersebut kemudian dibentuk dua program integer yang baru yang dikatakan problema 2 dan problema 3 sedemikian sehingga:

Problema 2 = problema 1 ditambah kendala xj [xj] Problema 3 = problema 1 ditambah kendala xj [xj]1

Dengan demikian syarat pertama (a) telah terpenuhi yaitu solusi optimum untuk problema 1 pasti tidak feasible untuk problema 2 maupun untuk problema 3. Pada saat yang sama, solusi optimum untuk problema 0 masih tetap dalam ruang solusi dari problema 2 dan problema 3, karena tidak ada solusi integer layak yang terbuang dari ruang penyelesaian. Ini berarti bahwa syarat kedua (b) juga terpenuhi di mana solusi optimal untuk problema 0 masih tetap feasible untuk salah satu dari problema 2 atau problema 3.

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

Maks:

n

j j jx

c Z

1

kendala: a x bi i m

n

j j

ij ( ) ; 1,2, ,

1

   


(24)

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

Maksimumkan: n nx c x c x c

z 1 1 2 2  maka,

n n

n

n c x c x c x

x x x c c

c    

             

 2 1 1 2 2

1 2 1 ) (

   n j j

jx j n

c 1 , , 2 , 1 ; 

Selanjutnya, asumsikan fungsi kendala program integer adalah sebagai berikut.

i n

mn m

m x a x a x b

a 1 12 2  (  )

maka,             mn m m n n a a a a a a a a a        2 1 2 22 21 1 12 11             n x x x  2 1 i b ) (   1 1 2 12 1

11x a x a x ( )b

a   n n   

2 2

2 22 1

21x a x a x ( )b

a   n n   

   

i n

mn m

m x a x a x b

a 1 12 2 (  )

m i b x a i n j j

ij ( ) ; 1,2, ,

1     


(25)

Langkah-langkah Metode Branch and Bound

Prosedur atau langkah-langkah metode branch and bound adalah sebagai berikut. 1. Selesaikan masalah program linier dengan metode simpleks.

2. Teliti solusi optimumnya. Apabila variabel keputusan yang diharapkan merupakan bilangan integer, maka solusi optimum integer telah tercapai. Apabila satu atau lebih variabel keputusan yang diharapkan ternyata bukan bilangan integer, lanjutkan ke langkah 3.

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

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

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


(26)

Langkah-langkah Metode Branch and Bound (AND/OR)

Prosedur atau langkah-langkah metode branch and bound (AND/OR) adalah sebagai berikut.

1. Selesaikan masalah program linier dengan metode simpleks.

2. Teliti solusi optimumnya. Apabila variabel keputusan yang diharapkan merupakan bilangan integer, maka solusi optimum telah tercapai. Apabila satu atau lebih variabel keputusan yang diharapkan ternyata bukan bilangan integer, lanjutkan ke langkah 3.

3. Jadikan solusi pada penyelesaian langkah 1 yang belum integer menjadi batas atas dan batas bawah dengan solusi yang telah diintegerkan (rounded-down).

4. Setelah melakukan langkah ketiga dan solusi optimum dengan nilai integer telah tercapai, maka hentikan pencarian. Apabila variabel keputusan belum integer, maka dilakukan pencabangan seperti langkah tiga dengan menambahkan kendala pada masing-masing batas atas dan batas bawah.

5. Apabila solusi optimum telah tercapai, lakukan pencabangan pada langkah 1 dengan menambahkan kendala pada langkah 4. (Ini yang membedakan

branch and bound dengan AND/OR, branch and bound menganggap solusi yang dilakukan pada langkah 1 ditambahkan dengan langkah 3 kemudian langkah 4 lebih memenuhi syarat sehingga tidak lagi dilakukan penyelesaian langkah 1 dengan kendala 4. Sedangkan pada AND/OR langkah 1 dengan kendala 4 juga diperhitungkan karena dianggap dapat mengatasi celah-celah yang diabaikan dan juga memperkuat solusi optimumnya).

6. Jika terdapat kendala pada pencabangan branch and bound berikutnya, maka ambil kendala tersebut untuk jadikan kendala pada langkah 1.


(27)

Berlanjut untuk seterusnya sampai hasil dari AND/OR dapat lebih optimum atau dapat memperkuat hasil yang didapatkan pada branch and bound.

Contoh penyelesaian soal dengan metode AND/OR (diambil dari buku Hamdy A Taha, Operations Research edisi 8):

Lima item diletakkan pada sebuah kapal dengan berat wi, volume vi, dan harga i

r untuk setiap item i pada table berikut.

Item i Berat unit,wi(tons) Volume unit,vi(

3

yd ) Harga unit,ri(100$)

1 5 1 4

2 8 8 7

3 3 6 6

4 2 5 5

5 7 4 4

Berat dan volume kargo yang maksimum adalah 112 tons dan 109yd3 masing-masing. Rumuskan dengan model persamaan linier yang integer dan tentukan harga kargo yang paling maksimal.

Penyelesaian:

a. Ubah ke bentuk model persamaan program linier. Misalkan:

Item 1: x1

Item 2: x2

Item 3: x3

Item 4: x4


(28)

Bentuk persamaan linier menjadi: 109 4 5 6 8 112 7 2 3 8 5 5 4 3 2 1 5 4 3 2 1           x x x x x x x x x x

Dengan memaksimalkan fungsi Z 4x17x2 6x35x44x5

b. Jadikan model persamaan program linier di atas menjadi bentuk keadaan standar dengan menambahkan variabel slack (si)

Maks: Z 4x17x26x35x4 4x5 kendala: 109 4 5 6 8 112 7 2 3 8 5 2 5 4 3 2 1 1 5 4 3 2 1             s x x x x x s x x x x x

c. Selesaikan masalah program linier dengan metode simpleks. Iterasi 0

Basis/C

4 7 6 5 4 0 0

B

1

x x2 x3 x4 x5 s1 s2

1

s 0 5 8 3 2 7 1 0 112

2

s 0 1 8 6 5 4 0 1 109

Cj

Zj -4 -7 -6 -5 -4 0 0 0

Iterasi 1

Basis/C

4 7 6 5 4 0 0

B

1

x x2 x3 x4 x5 s1 s2

1

s 0 4 0 -3 -3 3 1 -1 3

2

x 7 0,12 1 0,75 0,62 0,5 0 0,12 13,62

Cj

Zj -3,12 0 -0,75 -0,62 -0,5 0 0,88 95,38

Iterasi 2

Basis/C

4 7 6 5 4 0 0

B

1

x x2 x3 x4 x5 s1 s2

1

x 4 1 0 -0,75 -0,75 0,75 0,25 -0,25 0,75

2

x 7 0 1 0,84 0,72 0,41 -0,03 0,16 13,53

Cj


(29)

Iterasi 3

Basis/C

4 7 6 5 4 0 0

B

1

x x2 x3 x4 x5 s1 s2

1

x 4 1 0,89 0 -0,11 1,11 0,22 0,11 12,78

3

x 6 0 1,19 1 0,85 0,48 -0,04 0,19 16,04

Cj

Zj 0 3,67 0 -0,33 3,33 0,67 0,67 147,33

Iterasi 4

Basis/C

4 7 6 5 4 0 0

B

1

x x2 x3 x4 x5 s1 s2

1

x 4 1 1,04 0,13 0 1,17 0,22 -0,09 14,87

4

x 5 0 1,39 1,17 1 0,57 -0,04 0,22 18,83

Cj

Zj 0 4,13 0,39 0 3,52 0,65 0,74 153,61

Hasil yang didapatkan adalah x1 14,87;x4 18,83;Z 153,61

d. Teliti solusi optimumnya. Apabila variabel keputusan yang diharapkan merupakan bilangan integer, maka solusi optimum integer telah tercapai. Apabila satu atau lebih variabel keputusan yang diharapkan ternyata bukan bilangan integer, lanjutkan ke langkah 3 dengan menambahkan kendala

] [ j

j x

x  pada batas bawah dan kendala xj [xj]1 pada batas atas. 1

] [ ]

[xjxjxj  , dimana [xj] dan [xj]1 adalah dua bilangan cacah yang berurutan. Namun terlebih dahulu pada persamaan program linier di tambahkan satu syarat yaitu:xjinteger dimana j1,2,3,n.

Maks: Z 4x17x26x35x4 4x5 kendala: 109 4 5 6 8 112 7 2 3 8 5 5 4 3 2 1 5 4 3 2 1           x x x x x x x x x x


(30)

Penghitungan persamaan dan kendala awal dilakukan kembali dengan menambahkan kendala x1 14 dan x1 15.

Iterasi 00

Iterasi 002 Iterasi 003

Iterasi 001

Iterasi 004 Iterasi 005

Iterasi 006 Iterasi 007

Iterasi 008 Iterasi 009


(31)

Iterasi 00

Iterasi 012 Iterasi 013

Iterasi 011

Iterasi 014 Iterasi 015

Iterasi 016 Iterasi 017

Iterasi 018 Iterasi 019

Iterasi 020 No Feasible Solution


(32)

Iterasi 00

Iterasi 023 No Feasible Solution

Iterasi 022

Iterasi 024 No Feasible Solution

Iterasi 025 No Feasible Solution

Iterasi 026 Iterasi 027

Iterasi 028 No Feasible Solution


(33)

Iterasi 031 No Feasible Solution

Iterasi 030

Iterasi 032 No Feasible Solution

Iterasi 033 Iterasi 034

Iterasi 035 Iterasi 036

Iterasi 013

Iterasi 037 Iterasi 038


(34)

Iterasi 041 No Feasible Solution

Iterasi 040

Iterasi 042 No Feasible Solution

Iterasi 043 No Feasible Solution

Iterasi 044 No Feasible Solution

Iterasi 015


(35)

Iterasi 051 Iterasi 052 Iterasi 009

Iterasi 053 Iterasi 054

Iterasi 055 Iterasi 056

Iterasi 057 Iterasi 058

Iterasi 047 Iterasi 048

Iterasi 019


(36)

Dari hasil penghitungan diatas, didapatkan beberapa solusi optimal yaitu: Iterasi 010: x1 13;x3 6;x4 11;x5 1;Z 147

Iterasi 016: x1 12;x2 2;x3 6;x4 9;Z143

Iterasi 021: x1 12;x2 2;x3 5;x4 10;Z 142

Iterasi 026: x1 9;x2 3;x3 3;x4 10;x5 2;Z 133

Iterasi 029: x1 10;x2 3;x3 3;x4 10;x5 1;Z133

Iterasi 032: x1 10;x2 3;x3 1;x4 10;x5 2;Z 125

Iterasi 034: x1 10;x2 1;x3 6;x4 11;Z 138

Iterasi 059 No Feasible Solution

Iterasi 003

Iterasi 060 Iterasi 061

Iterasi 062 Iterasi 063

Iterasi 064 Iterasi 065


(37)

Iterasi 035: x1 12;x2 1;x3 5;x4 11;x5 1;Z 144

Iterasi 038: x1 13;x2 2;x3 3;x4 11;Z139

Iterasi 039: x1 13;x2 2;x3 3;x4 11;Z139

Iterasi 043: x1 13;x2 2;x4 11;x5 1;Z 125

Iterasi 045: x1 13;x2 1;x3 6;x4 10;Z 145

Iterasi 046: x1 13;x2 1;x3 4;x4 10;x5 1;Z 137

Iterasi 048: x1 11;x2 1;x3 6;x4 10;x5 1;Z141

Iterasi 049: x1 12;x2 1;x3 6;x4 10;Z 141

Iterasi 050: x1 7;x2 2;x3 6;x4 10;Z 128

Iterasi 052: x1 14;x2 1;x3 4;x4 11;Z 142

Iterasi 053: x1 14;x3 6;x4 11;Z 147

Iterasi 056: x1 14;x3 5;x4 10;x5 1;Z 140

Iterasi 057: x1 14;x3 4;x4 11;x5 1;Z 139

Iterasi 058: x1 14;x3 2;x4 11;x5 2;Z131

Iterasi 061: x1 15;x3 1;x4 17;Z 151

Iterasi 065: x1 16;x4 16;Z144 Iterasi 066: x1 15;x4 18;Z 150 Iterasi 067: x1 15;x4 15;x5 1;Z 139

Maka hasil optimal yang paling maksimum adalah hasil dari iterasi (061):

151 ;

17 ;

1 ;

15 3 4

1  xxZ


(38)

Langkah-langkah AND/OR

Iterasi (001) dicabangkan dengan kendala-kendala yang terdapat pada penghitungan branch and bound yaitu: x1 9, x1 10, x1 11, x1 12, x1 13,

15 1 

x , x1 10, x1 11, x1 12, x1 13, x1 14, x1 16, x2 0, x2 1, 2

2 

x , x2 3, x2 1, x2 2, x2 3, x2 4, x3 0, x3 1, x3 3, x3 4,

5

3 

x , x3 6, x3 14, x3 1, x3 2, x3 4, x3 5, x3 6, x3 7, x3 15, 9

4 

x , x4 10, x4 11, x4 18, x4 10, x4 11, x4 12, x4 19, x5 0, 1

5 

x , x5 2, x5 1, x5 2, x5 3

Dari kendala diatas, di dapatkan beberapa hasil yang optimal yaitu: 9

1 

x : x1 9;x314;x5 3;Z 132

10 1 

x : x110;x2 1;x3 14;x5 1;Z 135

11 1 

x : x113;x3 15;x5 1;Z 138

12 1 

x : x112;x3 15;x5 1;Z 142

13 1 

x : x112;x2 1;x3 14;x4 1;Z 144

15 1 

x : x113;x3 6;x4 11;x5 1;Z 147

10 1 

x : x113;x3 6;x4 11;x5 1;Z 147

11 1 

x : x113;x3 6;x4 11;x5 1;Z 147

12 1 

x : x113;x3 6;x4 11;x5 1;Z 147

13 1 

x : x113;x3 6;x4 11;x5 1;Z 147

14 1 

x : x114;x3 6;x4 1;Z144

16 1 


(39)

0 2 

x : x1 14;x3 6;x4 11;Z 147

1 2 

x : x1 13;x3 6;x4 11;x5 1;Z 147

2 2 

x : x1 13;x3 6;x4 11;x5 1;Z 147

3 2 

x : x1 13;x3 6;x4 11;x5 1;Z 147

1 2 

x : x1 12;x2 2;x3 6;x4 9;Z143

2 2 

x : x1 12;x2 2;x3 6;x4 9;;Z143

3 2 

x : x1 10;x2 3;x3 5;x4 8;x5 1;Z 135

4 2 

x : x1 9;x2 5;x3 5;x4 6;Z 131 0

3 

x : x1 14;x4 18;Z 146

1 3 

x : x1 14;x3 1;x4 17;Z 147 3

3 

x : x1 14;x3 3;x4 15;Z 149 4

3 

x : x1 13;x3 4;x4 13;x5 1;Z 145 5

3 

x : x1 13;x3 5;x4 12;x5 1;Z 146 6

3 

x : x1 13;x3 6;x4 11;x5 1;Z 147

14 3 

x : x1 13;x3 6;x4 11;x5 1;Z 147

1 3 

x : x113;x3 6;x4 11;x5 1;Z 147 2

3 

x : x1 14;x3 2;x4 16;Z 148 4

3 

x : x1 13;x3 6;x4 11;x5 1;Z 147 5

3 


(40)

6

3 

x : x1 13;x3 6;x4 11;x5 1;Z 147 7

3 

x : x1 11;x2 1;x3 14;x5 1;Z 139

15 3 

x : x1 12;x3 15;x5 1;Z 142

9 4 

x : x1 12;x3 13;x4 3;x5 1;Z 145

10 4 

x : x1 12;x2 1;x4 14;x5 1;Z 144

11 4 

x : x1 10;x2 5;x4 11;Z 130

18 4 

x : x1 13;x3 6;x4 11;x5 1;Z 147

10 4 

x : x1 13;x3 6;x4 11;x5 1;Z 147

11 4 

x : x1 13;x3 6;x4 11;x5 1;Z 147

12 4 

x : x1 13;x3 5;x4 12;x5 1;Z 146

19 4 

x : x1 14;x4 19;Z 151

0

5 

x : x1 13;x36;x4 11;Z 143

1 5 

x : x113;x3 6;x4 11;x5 1;Z 147

2 5 

x : x1 13;x3 6;x4 11;x5 1;Z 147

1 5 

x : x112;x2 1;x3 5;x4 11;x5 1;Z144

2 5 

x : x1 12;x3 4;x4 13;x5 2;Z 145 3

5  x

: x1 10;x3 2;x4 14;x5 4;Z 138

Maka hasil optimal yang paling maksimal adalah pada penghitungan iterasi awal dengan kendala x4 19yaitu: x1 14;x4 19;Z 151


(41)

Hasil Z maksimal dari penghitungan branch and bound sama dengan AND/OR Branch and Bound yaitu 151. Tetapi nilai variabel xn yang didapatkan berbeda.

Hal ini dapat terjadi pada beberapa kasus tertentu dan hasil yang akan digunakan tergantung manfaat dan kegunaan. Variabel yang bernilai nol bukan berarti mati atau tidak berguna lagi tetapi jika variabel tersebut terisi tidak memberikan banyak manfaat dibandingkan dengan variabel lain yang terisi.


(42)

BAB 4

KESIMPULAN DAN SARAN

4.1. Kesimpulan

1. Metode branch and bound merupakan metode efektif dalam penyelesaian suatu permasalahan maksimasi. Akan tetapi dalam kasus tertentu, branch and bound mengalami kesulitan untuk memilih apabila pada Z maksimal yang sama mempunyai nilai variabel x1,x2,,xn yang berbeda seperti pada contoh kasus diatas.

2. Branch and bound (AND/OR) menghasilkan penyelesaian optimum yang dihasilkan oleh branch and bound. Hal ini dapat menjadi alasan menggunakan AND/OR sebagai metode tambahan karena terdapat banyak kemungkinan penyelesaian manakah yang akan dipilih jika Z dari setiap penyelesaian tersebut adalah sama.

4.2. Saran

Perlu diadakan penelitian lebih lanjut supaya AND/OR lebih banyak digunakan sebagai alternatif utama bukan alternatif tambahan untuk mendapatkan hasil yang optimum.


(43)

DAFTAR PUSTAKA

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

Lukitasari, Desy dan Oklilas, Ahmad Fali. 2010. Analisis Perbandingan Load Balancing Web Server Cluster Menggunakan Linux Virtual Server. Universitas Sriwijaya: Jurnal Generic Fakultas Ilmu Komputer, 1: 31. Otten, Lars dan Dechter, Rina. 2012. Advances in Distributed Branch and Bound.

European Conference on Artificial Intelligence, 242: 917-918.

Shieny, Aprilia. 2003. Aplikasi Branch and Bound untuk menyelesaikan integer programming. Jurnal Teknik Informatika, 23: 68-78.

Siagian, P. 1987. Penelitian Operasional: Teori dan Praktek, Jakarta. Indonesia: UI-Pres.

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

Sirajuddin, Affandi, Ahmad dan Setijadi, Eko. 2012. Rancangan Bangun Server Learning Management System Menggunakan Load Balancer dan Reverse Proxy, Surabaya: Jurnal Teknik Pomits, 1: 1.

Taha, Hamdy A. 1987. Operation Research: An Introduction, New York: Macmillan Publishing Company.

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

Zulfikarijah, Fien. 2004. Operation Research, Malang. Indonesia: Bayu Media Pub. Jakarta.


(1)

Langkah-langkah AND/OR

Iterasi (001) dicabangkan dengan kendala-kendala yang terdapat pada penghitungan branch and bound yaitu: x1 9, x1 10, x1 11, x1 12, x1 13,

15 1 

x , x1 10, x1 11, x1 12, x1 13, x1 14, x1 16, x2 0, x2 1, 2

2 

x , x2 3, x2 1, x2 2, x2 3, x2 4, x3 0, x3 1, x3 3, x3 4,

5 3 

x , x3 6, x3 14, x3 1, x3 2, x3 4, x3 5, x3 6, x3 7, x3 15, 9

4 

x , x4 10, x4 11, x4 18, x4 10, x4 11, x4 12, x4 19, x5 0, 1

5 

x , x5 2, x5 1, x5 2, x5 3

Dari kendala diatas, di dapatkan beberapa hasil yang optimal yaitu: 9

1 

x : x1 9;x314;x5 3;Z 132

10 1 

x : x110;x2 1;x3 14;x5 1;Z 135

11 1 

x : x113;x3 15;x5 1;Z 138

12 1 

x : x112;x3 15;x5 1;Z 142

13 1 

x : x112;x2 1;x3 14;x4 1;Z 144

15 1 

x : x113;x3 6;x4 11;x5 1;Z 147

10 1 

x : x113;x3 6;x4 11;x5 1;Z 147

11 1 

x : x113;x3 6;x4 11;x5 1;Z 147

12 1 

x : x113;x3 6;x4 11;x5 1;Z 147

13 1 

x : x113;x3 6;x4 11;x5 1;Z 147

14 1 

x : x114;x3 6;x4 1;Z144

16 1 


(2)

0 2 

x : x1 14;x3 6;x4 11;Z 147

1 2 

x : x1 13;x3 6;x4 11;x5 1;Z 147

2 2 

x : x1 13;x3 6;x4 11;x5 1;Z 147

3 2 

x : x1 13;x3 6;x4 11;x5 1;Z 147

1 2 

x : x1 12;x2 2;x3 6;x4 9;Z143

2 2 

x : x1 12;x2 2;x3 6;x4 9;;Z143

3 2 

x : x1 10;x2 3;x3 5;x4 8;x5 1;Z 135

4 2 

x : x1 9;x2 5;x3 5;x4 6;Z 131 0

3 

x : x1 14;x4 18;Z 146 1

3 

x : x1 14;x3 1;x4 17;Z 147 3

3 

x : x1 14;x3 3;x4 15;Z 149 4

3 

x : x1 13;x3 4;x4 13;x5 1;Z 145 5

3 

x : x1 13;x3 5;x4 12;x5 1;Z 146 6

3 

x : x1 13;x3 6;x4 11;x5 1;Z 147

14 3 

x : x1 13;x3 6;x4 11;x5 1;Z 147

1 3 

x : x113;x3 6;x4 11;x5 1;Z 147 2

3 

x : x1 14;x3 2;x4 16;Z 148 4

3 

x : x1 13;x3 6;x4 11;x5 1;Z 147 5

3 


(3)

6 3 

x : x1 13;x3 6;x4 11;x5 1;Z 147 7

3 

x : x1 11;x2 1;x3 14;x5 1;Z 139

15 3 

x : x1 12;x3 15;x5 1;Z 142

9 4 

x : x1 12;x3 13;x4 3;x5 1;Z 145

10 4 

x : x1 12;x2 1;x4 14;x5 1;Z 144

11 4 

x : x1 10;x2 5;x4 11;Z 130 18

4 

x : x1 13;x3 6;x4 11;x5 1;Z 147

10 4 

x : x1 13;x3 6;x4 11;x5 1;Z 147

11 4 

x : x1 13;x3 6;x4 11;x5 1;Z 147

12 4 

x : x1 13;x3 5;x4 12;x5 1;Z 146

19 4 

x : x1 14;x4 19;Z 151

0 5 

x : x1 13;x36;x4 11;Z 143

1 5 

x : x113;x3 6;x4 11;x5 1;Z 147

2 5 

x : x1 13;x3 6;x4 11;x5 1;Z 147

1 5 

x : x112;x2 1;x3 5;x4 11;x5 1;Z144

2 5 

x : x1 12;x3 4;x4 13;x5 2;Z 145 3

5  x

: x1 10;x3 2;x4 14;x5 4;Z 138

Maka hasil optimal yang paling maksimal adalah pada penghitungan iterasi awal dengan kendala x4 19yaitu: x1 14;x4 19;Z 151


(4)

Hasil Z maksimal dari penghitungan branch and bound sama dengan AND/OR Branch and Bound yaitu 151. Tetapi nilai variabel xn yang didapatkan berbeda.

Hal ini dapat terjadi pada beberapa kasus tertentu dan hasil yang akan digunakan tergantung manfaat dan kegunaan. Variabel yang bernilai nol bukan berarti mati atau tidak berguna lagi tetapi jika variabel tersebut terisi tidak memberikan banyak manfaat dibandingkan dengan variabel lain yang terisi.


(5)

BAB 4

KESIMPULAN DAN SARAN

4.1. Kesimpulan

1. Metode branch and bound merupakan metode efektif dalam penyelesaian suatu permasalahan maksimasi. Akan tetapi dalam kasus tertentu, branch and bound mengalami kesulitan untuk memilih apabila pada Z maksimal yang sama mempunyai nilai variabel x1,x2,,xn yang berbeda seperti pada contoh kasus diatas.

2. Branch and bound (AND/OR) menghasilkan penyelesaian optimum yang dihasilkan oleh branch and bound. Hal ini dapat menjadi alasan menggunakan AND/OR sebagai metode tambahan karena terdapat banyak kemungkinan penyelesaian manakah yang akan dipilih jika Z dari setiap penyelesaian tersebut adalah sama.

4.2. Saran

Perlu diadakan penelitian lebih lanjut supaya AND/OR lebih banyak digunakan sebagai alternatif utama bukan alternatif tambahan untuk mendapatkan hasil yang optimum.


(6)

DAFTAR PUSTAKA

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

Lukitasari, Desy dan Oklilas, Ahmad Fali. 2010. Analisis Perbandingan Load Balancing Web Server Cluster Menggunakan Linux Virtual Server. Universitas Sriwijaya: Jurnal Generic Fakultas Ilmu Komputer, 1: 31. Otten, Lars dan Dechter, Rina. 2012. Advances in Distributed Branch and Bound.

European Conference on Artificial Intelligence, 242: 917-918.

Shieny, Aprilia. 2003. Aplikasi Branch and Bound untuk menyelesaikan integer programming. Jurnal Teknik Informatika, 23: 68-78.

Siagian, P. 1987. Penelitian Operasional: Teori dan Praktek, Jakarta. Indonesia: UI-Pres.

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

Sirajuddin, Affandi, Ahmad dan Setijadi, Eko. 2012. Rancangan Bangun Server Learning Management System Menggunakan Load Balancer dan Reverse Proxy, Surabaya: Jurnal Teknik Pomits, 1: 1.

Taha, Hamdy A. 1987. Operation Research: An Introduction, New York: Macmillan Publishing Company.

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

Zulfikarijah, Fien. 2004. Operation Research, Malang. Indonesia: Bayu Media Pub. Jakarta.