PERBANDINGAN METODE SIMPLEX DAN REVISED SIMPLEX PADA PENYELESAIAN PROGRAM LINIER SKRIPSI Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Program Studi Teknik Informatika

PERBANDINGAN METODE SIMPLEX DAN REVISED SIMPLEX PADA PENYELESAIAN PROGRAM LINIER

  SKRIPSI Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Program Studi Teknik Informatika

  Oleh : Putu Yunita Kusumawati NIM : 015314079

  

THE COMPARISON OF SIMPLEX METHOD AND

REVISED SIMPLEX METHOD IN FINISHING LINEAR PROGRAM

A Thesis

Presented as Partial Fulfillment of Requirements

to Obtain the Sarjana Teknik

Degree in Informatics Engineering

by :

Putu Yunita Kusumawati

  

Student number : 015314079

PERNYATAAN KEASLIAN KARYA

  Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini

tidak memuat karya orang lain atau bagian karya orang lain, kecuali yang telah

disebutkan dalam kutipan daftar pustaka, sebagaimana layaknya karya ilmiah.

  Yogyakarta, 26 Agustus 2007 Penulis (Putu Yunita Kusumawati) Setulus Hati Kupersembahkan Karya Ini Kepada : ♦

  Ida Sang Hyang Widi Waça yang telah memberikan banyak keajaiban dalam hidupku.

  

♣ Don’t wait tomorrow, what you can did yesterday

...................................

  

♣ You’ll never know till you have tried

KATA PENGANTAR

  Puji dan syukur penulis panjatkan kepada Ida Sang Hyang Widi Waça,

dengan tangan kasih-Nya yang senantiasa menuntun Penulis sehingga skripsi yang

berjudul “PERBANDINGAN METODE SIMPLEX DAN REVISED

SIMPLEX PADA PENYELESAIAN PROGRAM LINIER” ini dapat

diselesaikan.

  Skripsi ini secara khusus diajukan kepada Fakultas Sains Dan Teknologi

Jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta untuk

memenuhi sebagian syarat untuk memperoleh gelar Sarjana Teknik.

  Terwujudnya skripsi ini juga berkat bantuan dan dorongan dari beberapa

pihak. Untuk itu pada kesempatan ini Penulis ingin mengucapkan terima kasih

yang sebesar-besarnya atas segala bantuan dan jasa yang diberikan dalam

menyelesaikan skripsi ini, khususnya kepada :

  1. Romo Ir.Greg.Heliarko SJ.,S.S.,B.S.T.,M.A.,M.Sc., selaku Dekan Fakultas Sains Dan Teknologi Universitas Sanata Dharma Yogyakarta

2. Ibu A.M. Polina, S.Kom, M.Sc., selaku Ketua Jurusan Teknik Informatika

  

4. Bapak Drs. J. J. Siang, M.Sc., selaku pembimbing yang telah memberikan

bimbingan dan masukan sehingga skripsi ini dapat diselesaikan dengan baik.

  

5. Para dosen Fakultas Sains Dan Teknologi Jurusan Teknik Informatika

Universitas Sanata Dharma Yogyakarta yang sebelumnya telah membekali ilmu sebagai landasan dalam menyelesaikan skripsi ini.

  

6. Segenap staf dan karyawan Fakultas Sains Dan Teknologi atas bantuan

dan kerjasamanya.

  

7. Segenap staf dan karyawan perpustakaan Universitas Sanata Dharma

Yogyakarta.

  

8. Bapak dan Ibu tersayang dan tercinta, yang telah memberikan kasih

sayang, cinta, doa, dukungan dan biaya untuk kuliah.

  

9. Adik-adikku tersayang (Ayonk, Febi, Eca), yang selalu memberi semangat

dan doa.

  

10. Kekasihku Ok. Tri Setya Kurniawan, kebaikan, kesabaran dan

dukunganmu senantiasa menguatkan aku.

  

11. Saudara-saudaraku tercinta (Bali & Yogya) yang selalu memberi dukungan

  13. Teman-teman TI ’01 (adri, anan, dami, oni, sigit, robin, ncep, wahyu, narko, danu, indra, tanto, theo, candra, mario, manu, putra, wawan, willy, eka, 3-r, ida, grace cemplung, tiwi, henny, helen, diana, alpons, ace, enjic, nia, vivi, aris, ucok, tina dll) buat keceriaan, kerjasama dan dukungannya.

  14. Teman-teman KMHD “Swastika Taruna” Universitas Sanata Dharma Yogyakarta.

  15. Serta semua pihak yang tidak dapat Penulis sebutkan satu persatu, yang

telah memberikan semangat sehingga skripsi ini dapat terselesaikan.

  Penulis menyadari bahwa laporan skripsi ini belum sempurna, karena itu

penulis mengharapkan kritik dan saran yang membangun untuk kebaikan Penulis

di masa yang akan datang. Semoga skripsi ini dapat bermanfaat bagi kita semua.

  Yogyakarta, 26 Agustus 2007 Penulis

  

ABSTRAKSI

Tujuan dari tugas akhir ini adalah mencoba membuat suatu program

aplikasi yang dapat dipakai untuk mencari metode yang paling efisien dengan

membandingkan waktu komputasi yang terjadi dari dua metode pada program

linier. Adapun metode yang dibandingkan adalah Metode Simplex dan Revised

Simplex.

  Sebelum input data dan proses perhitungan dilakukan, soal program linier

yang akan diselesaikan harus sudah dalam bentuk standar simplex (=). Dan bahasa

pemrograman yang digunakan untuk implementasinya adalah MATLAB versi

6.5.1.

  Dari hasil percobaan yang sudah dilakukan, secara umum dapat

disimpulkan bahwa Metode Simplex memerlukan waktu yang relatif lebih singkat

daripada Revised Simplex..

  

ABSTRACT

This thesis aimed to try to make an application programm which could be

used to find out the most efficient method by comparing the computation time

which occured from two methods in linear programm. The methods compared in

this thesis were Simplex Method and Revised Simplex.

  Before entering data and counting process were done, the problem of

linear programm which was to be accomplished should be in standard simplex

form (=). And the programming language used for the implementation was

MATLAB ver. 6.5.1

  The result of the trial showed that Simplex Method needs shorter time than Revised Simplex

  

DAFTAR ISI

HALAMAN JUDUL (Indonesia) ………………………………………................i

HALAMAN JUDUL (Inggris) .....……………………………………………......ii

HALAMAN PERSETUJUAN ...………………………………………………...iii

HALAMAN PENGESAHAN ................................................................................iv

PERNYATAAN KEASLIAN KARYA ................................................................v

HALAMAN PERSEMBAHAN ............................................................................vi

HALAMAN MOTTO ...........................................................................................vii

KATA PENGANTAR .........................................................................................viii

ABSTRAKSI..........................................................................................................xi

ABSTRACT.........................................................................................................xiii

DAFTAR ISI.........................................................................................................xiv

DAFTAR TABEL..................................................................................................xv

DAFTAR GAMBAR............................................................................................xvi

  

BAB I PENDAHULUAN ...................................................................................1

  1.1 Latar Belakang ………………………………………………………1

  1.2 Rumusan Masalah …………………………………………………...2

  1.3 Batasan Masalah …………………………………………………….2

  1.4 Tujuan ……………………………………………………………….2

  1.5 Metode penelitian……………………………………… ………….…3

  1.6 Sistematika Isi …….………………………………………………....3

  

BAB II DASAR TEORI........................................................................................5

  

BAB IV IMPLEMENTASI dan PEMBAHASAN ...........................................34

  4.1 Implementasi dan Pengujian Program................................................34

  4.2 Hasil Implementasi ..............................................................................38

  4.3 Percobaan dan Analisa.........................................................................46

  

BAB V PENUTUP ..............................................................................................49

  5.1 Kesimpulan .........................................................................................49

  5.2 Saran …………………………………………………………………49

DAFTAR PUSTAKA …………………………………………………………50

  

DAFTAR TABEL

Tabel Keterangan Halaman Tabel 2-1 Tabel Simplex

  14 Tabel 4-1 Tabel Percobaan

  45 Tabel 4-2 Tabel rata-rata waktu untuk jumlah variabel

  46 Tabel 4-3 Tabel rata-rata waktu untuk jumlah kendala

  47

  DAFTAR GAMBAR Gambar Keterangan Halaman Gambar 3-1 Desain Halaman Home

  40 Gambar 4-7 Kesalahan Jumlah Kendala

  47 Gambar 4-13 Grafik waktu-jumlah kendala

  44 Gambar 4-12 Grafik waktu-jumlah variabel

  42 Gambar 4-11 Halaman Utama (Output)

  42 Gambar 4-10 Peringatan Kesalahan Variabel

  41 Gambar 4-9 Kesalahan Jumlah Variabel

  41 Gambar 4-8 Peringatan Kesalahan Kendala

  39 Gambar 4-6 Input Data Kendala

  29 Gambar 3-2 Desain Halaman Utama

  38 Gambar 4-5 Input Data Fungsi

  37 Gambar 4-4 Halaman Utama

  35 Gambar 4-3 Halaman Home

  34 Gambar 4-2 Browser Folder

  31 Gambar 4-1 Set path/path Browser

  31 Gambar 3-3(b) Desain Input Data Kendala

  30 Gambar 3-3(a) Desain Input Data Fungsi

  48

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

  Pada perusahaan berskala besar maupun kecil ketepatan dalam mengambil suatu keputusan merupakan hal yang sangat penting. Jika kesalahan dalam pengambilan keputusan terjadi akan memberi dampak yang negatif bagi perusahaan yang bersangkutan. Dalam perusahaan seorang manajer dituntut untuk bisa mengambil sebuah keputusan yang tepat. Persoalan-persoalan yang dihadapi manajer dalam perusahaan pada umumnya adalah bagaimana cara yang tepat mengalokasikan sumber (resources) yang dimiliki agar diperoleh keuntungan yang maksimal dengan pemakaian biaya yang minimal.

  Program linier merupakan satu model umum yang digunakan dalam pemecahan masalah pengalokasian sumber-sumber yang terbatas secara optimal dimana sumber-sumber yang ada diinputkan ke dalam variabel-variabel dan dikombinasikan untuk mencari solusi yang optimal. Ada beberapa cara untuk bisa menyelesaikan program linier yaitu dengan Metode Simplex dan Revised Simplex. Kedua metode tersebut merupakan teknik yang berhasil digunakan untuk mengatasi kelemahan dari metode grafis yaitu dapat menyelesaikan

  Kemudian muncul Metode Simplex yang direvisi (Revised Simplex). Metode ini merupakan versi yang disempurnakan dari prosedur aslinya (Metode Simplex).

  1.2 Rumusan Masalah

  Berdasarkan latar belakang yang sudah dipaparkan maka dapat dirumuskan permasalahnnya yaitu menentukan metode yang terefisien antara Metode Simplex dan Revised Simplex.

  1.3 Batasan Masalah

  1. Perbandingan yang dilakukan adalah proses perbandingan kedua metode dalam hal waktu.

  2. Bahasa pemrograman yang digunakan adalah Matlab versi 6.5.1

  3. Program akan dibuat dengan batasan jumlah variabel dan jumlah kendala maksimal 10.

  4. Program dibuat hanya untuk soal program linier memaksimumkan dengan kendala pertidaksamaan ( ).

  5. Soal yang akan dihitung sudah dalam bentuk standar (=)

  2. Dapat menentukan metode yang lebih efisien antara Metode Simplex dan Revised Simplex.

  1.5 Metodologi Penelitian

  Dalam pengerjaan skripsi ini, penulis menggunakan buku-buku atau referensi yang menyajikan informasi tentang materi yang dibahas, dalam hal ini tentang Metode Simplex dan Revised Simplex.

  1.6 Sistematika Isi

  BAB I PENDAHULUAN Pada bab ini akan dibahas tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan, metode penulisan dan sistematika isi. BAB II LANDASAN TEORI Pada bab ini akan diuraikan tentang dasar teori dan konsep dari Metode Simplex dan Revised Simplex. BAB III ANALISA dan DESAIN SISTEM Bab ini akan menjelaskan tahap-tahap perancangan program meliputi perancangan input, proses dan output yang akan mambantu pada tahap implementasi program.

  BAB V PENUTUP Bab ini terdiri atas dua bagian yaitu kesimpulan dari hasil implementasi dan analisa pada bab IV dan saran pengembangan untuk program yang sudah ada. DAFTAR PUSTAKA

BAB II LANDASAN TEORI

2.1 Pengertian Umum Program Linier

  Untuk pengalokasian sumber daya yang terbatas dalam melaksanakan kegiatan pada sebuah perusahaan dan industri dibutuhkan pemodelan. Pemodelan yang standar digunakan adalah model pemrograman linier. Model ini merupakan model matematis perumusan masalah umum pengalokasian sumber daya untuk berbagai kegiatan. Model ini digunakan dalam penyelesaian persoalan program linier.

  Program linier adalah suatu cara untuk menyelesaikan persoalan pengalokasian sumber daya yang terbatas diantara beberapa aktivitas tertentu yang bersaing dalam hal penggunaan sumber daya langka yang dibutuhkan untuk melaksanakan aktivitas tersebut. Beberapa contoh antara lain : masalah pengalokasian penjadualan produksi, solusi pengiriman barang, solusi permaian dan masih banyak lagi. Ciri khas dari situasi tersebut adalah keharusan untuk mengalokasikan sumber daya terhadap aktivitas.

  Program linier menggunakan model matematis untuk menjelaskan persoalan yang dihadapi. Sehingga dapat dikatakan bahwa program linier adalah kurang dari tiga variabel. Hal inilah yang menyebabkan bahwa metode grafik sangat jarang digunakan untuk menyelesaikan permasalahan pemrograman linier pada perusahan yang berskala besar dimana biasanya perusahaan akan mengunakan lebih dari tiga variabel.

2.2 Model Program Linier

  Dalam program linier dikenal dua fungsi yaitu fungsi tujuan (objectives functions) dan fungsi kendala (constrain functions).

  2.2.1 Fungsi Tujuan Fungsi tujuan menggambarkan tujuan di dalam permasalahan pemrograman linier yang berkaitan dengan peraturan secara optimal sumber- sumber daya untuk memperoleh keuntungan yang maksimal atau biaya yang minimum.

  Bentuk standar dari fungsi tujuan : Maksimumkan /Minimumkan Z = C X +C X + C X +…+C

  X

  1

  1

  2

  2

  3 3 n n

  2.2.2 Fungsi Kendala Fungsi kendala merupakan bentuk penyajian secara matematis kendala- kendala kapasitas yang tersedia yang akan dialokasikan secara optimal ke berbagai kegiatan. a m1 x

  1 + a m2 x

2 + a m3 x

3 +…..+a mn x n = b n

  2.2.3 Variabel Slack Variabel slack ditambahkan jika kendala-kendala dari permasalahan program linier berbentuk pertidaksamaan (belum standar). Fungsi dari variabel slack adalah untuk mengkonversikan pertidaksamaan menjadi bentuk persamaan yang merupakan bentuk standar dari program linier. Variabel slack biasanya diberi nilai 0.

  2.3 Metode Simplex

  Metode simplex merupakan suatu metode secara matematis dimulai dari suatu pemecahan yang memungkinkan ke pemecahan dasar yang lainnya dan ini dilakukan secara berulang-ulang dengan jumlah ulangan yang terbatas sehingga tercapai suatu pemecahan dasar yang optimal. Pada setiap langkah menghasilkan nilai dan fungsi tujuan yang selalu lebih besar atau lebih kecil dari langkah- langkah sebelumnya.

  2.4 Metode Revised Simplex

  Metode Revised simplex menggunakan prinsip dasar yang sama dengan metode simplex . Yang berbeda hanya pada waktu menghitung data baru untuk

  2.5 Bagan Alir

  Soal Asli Jadikan soal bentuk standar

  Tambah variabel semu : Ada

  Maks : koef = -M

  I

  m

  Tidak Min : koef = M

  Ya Tabel awal simplex

  Hitung zj Hitung nilai fungsi Z

  Hitung cj-zj Maks : ada j cj-zj > 0

  Revisi tabel Min : ada j cj-zj < 0

  Ya Tidak

  Soal tidak feasible sehingga fungsi Ada variabel semu a. Revisi tabel untuk Metode Simpleks Pilih variabel basis baru :

  Program Maks : pilih m c -z = maks {c -z > 0}

  m m m m

  utama Min : pilih m c -z = min {c -z < 0}

  m m m m

  Tidak Penyelesaian tak

  Ada terbatas a

  jm

  Ya = b ; a > 0

  i i im

  a

  im

  Pilih = Min { }

  n i

  (X ) = keluar dari basis

  B n

  a = elemen kunci

  nm

  Ganti (X ) dengan X

  B n m

  Ganti (C ) dengan C

  B n m

  • z
  • z

  dengan C

  = elemen kunci Ganti (X

  B

  )

  n

  dengan X

  m

  Ganti (C

  B

  )

  n

  m

  = keluar dari basis a

  Perhitungan a

  ij

  baru : P

  n

  . P

  n

  ; P

  n

  = vektor kolom dari x

  j

  Program utama Tidak

  nm

  n

  Ya

  i

  b. Revisi tabel untuk Revised Simplex Program utama

  Pilih variabel basis baru : Maks : pilih m c

  m

  m

  = maks {c

  m

  m

  > 0} Min : pilih m c m -z m = min {c m -z m < 0}

  Ada a

  jm

  Penyelesaian tak terbatas

  = b

  )

  

i

  ; a

  im

  > 0 a

  

im

  Pilih

  

n

  = Min {

  i

  } (X

  B

  • 1
    • = B
    b i Koef isie n var ia bel basis Variab el Ba sis

  Matrik kendala dalam bentuk standar. A = A

  j

  Ko ef isie n ru as k anan k end al a P eng ecek an v ariab el yang k eluar d ari ba sis

  ]

  ij

  = [a

  m*n

  Z = Nilai fungsi (C B )i bi

  Xn

  1 X 2…………….

  X

  )i

  B

  (X

  X

  Zj Cj-Zj

  i

  )

  B

  (C

  n

  ………..C

  2

  1 C

  C

  j

  C

  Sebagai contoh, pada soal : Maksimumkan : Z = 3x

  Tabel 2-1 : Tabel Simplex

  (Rat io )

  • 2x

  1

2 Kendala I = x

  • 2x

  1

  2

  20 Kendala II = 3x

  • x

  1

  2

  20 x

  1

  , x

2 A. Diselesaikan dengan Metode Simplex

  Iterasi I

  • Langkah 1
Maksimumkan Z = 3x1 + 2x2 + 0x

  3 + 0x

  4 Kendala : x + 2x + x = 20

  1

  2

  3

  : 3x + x + x = 20

  1

  2

  4

  x 0, x 0, x 0, x

  1

  2

  3

  4 Tabel awal Simplex:

  (C ) C 3 2 0 0

  B I j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  1

  2

  1

  20 3 1 0 1

  20 Zj Z = Cj-Zj

  • Langkah 2 Ternyata feasible, jadi tidak perlu menentukan M buah variabel sebagai penyelesaian feasible awal. Langkah 3

  (C ) C 3 2 0 0

  B I j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  X 1 2 1 0

  20

3 X 3 1 0 1

  20

4 Zj 0 0 0 0 Z = 0

  Cj-Zj 3 2 0 0

  • Langkah 4 Ternyata fungsi belum optimal karena masih terdapat nilai Cj-Zj > 0 sehingga perlu dicari nilai terbesar untuk mendapat kolom kunci.

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  X 1 2 1 0

  20

3 X 3 1 0 1

  20

4 Zj 0 0 0 0 Z = 0

  Cj-Zj 3 2 0 0

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  X 1 2 1 0 20 20/1 = 20

3 X 3 1 0 1

  20 20/3

4 Zj 0 0 0 0 Z = 0

  Cj-Zj 3 2 0 0 Ternyata dimiliki oleh X dan kolom kunci berada pada X

  min

  

4

  1

  sehingga X keluar dari basis dan digantikan X

  4

  1

  • Langkah 6 Perhitungan a yang baru untuk membentuk tabel yang baru.

  ij

  a = 0

  11

  a = 2 – (1)(1) = 5/3

  12

  3 a = 1 – (0)(1) = 1

  13

  3 a

  22 =1 : 3 = 1/3

  a = 0 : 3 = 0

  23

  a = 1/3

  14

  b2 = 20/3 Sehingga diperoleh tabel simplex yang baru sebagai berikut :

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )I

  B

  X 0 5/3 1 -1/3 40/3

  3

  3 X 1 1/3 0 1/3 20/3

1 Zj Z =

  Cj-Zj Iterasi

  2

  • Langkah 3

  m

  (C )i a

  B ij

  Menghitung nilai Zj, nilai fungsi (Z) dan Cj-Zj. Dimana Zj =

  i =1

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  • Langkah 4 Ternyata fungsi belum optimal karena masih terdapat nilai Cj-Zj > 0 sehingga perlu dicari nilai terbesar untuk mendapat kolom kunci.

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  X

  

3 0 5/3 1 -1/3 40/3

  3 X 1 1/3 0 1/3 20/3

1 Zj 3 1 0 1 Z = 20

  Cj-Zj 0 1 0 -1 positif terbesar

  • Langkah 5 Hitung nilai ratio ( ) untuk menentukan variabel yang harus meninggalkan basis.

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B Ternyata min dimiliki oleh X

  3 dan kolom kunci berada pada X

  2

  sehingga X keluar dari basis dan digantikan X

  3

  2

  • Langkah 6 Perhitungan yang baru untuk membentuk tabel yang baru.

  a ij

  a = 0 : 5/3 = 0

  11

  a = 5/3 : 5/3 = 1

  12

  a = 1 : 5/3 = 3/5

  13

  a = -1/3 : 5/3 = -1/5

  14

  b = 40/3 : 5/3 = 8

  1

  a = 1 – (0)(1/3) = 1

  21

  5/3 a = 0

  22

  a = 0 – (1)(1/3) = -1/5

  23

  5/3 a = 1/3 – (-1/3)(1/3) = 2/5

  24

  5/3 b = 20/3 – (40/3)(1/3) = 4

  2 Sehingga diperoleh tabel simplex yang baru sebagai berikut : (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  2 X 0 1 3/5 -1/5

  8

  2

  3 X 1 0 -1/5 2/5

  4

  1 Zj Z =

  Cj-Zj Iterasi

  3

  • Langkah 3

  m

  (C )i a

  B ij

  Menghitung nilai Zj, nilai fungsi (Z) dan Cj-Zj. Dimana Zj =

  i =1

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  2 X 0 1 3/5 -1/5

  8

  2

  3 X 1 0 -1/5 2/5

  4

  1 Zj 3 2 3/5 4/5 Z = 28

  Cj-Zj 0 0 3/5 -4/5

  • Langkah 4 Ternyata fungsi sudah optimal. Hal ini dapat dilihat pada kolom Cj-Zj yang semuanya bernilai 0 atau negatif. Sehingga iterasi dapat dihentikan dan didapat nilai Z yang maksimum dengan nilai X =

  1

  4, X = 8, X = 0, X = 0 dan Z = 28

  2

  3

4 B. Diselesaikan dengan Revised Simplex

  Iterasi 1

  • Langkah 1 Nyatakan masalah program linier dalam bentuk standar dan masukkan ke dalam tabel awal simplex dan menentukan vektor kolom (Pn). Maksimumkan Z = 3x1 + 2x2 + 0x

  3 + 0x

  4 Kendala : x + 2x + x = 20

  1

  2

  3

  : 3x + x + x = 20

  1

  2

  4

  x 0, x 0, x 0, x

  1

  2

  3

  4 P = 1 ; P = 2 ; P = 1 ; P = 0 ; b = 20

  1

  2

  

3

  4

  3 1 0

  1

  20

  • Langkah 3

  m

  (C )i a

  B ij

  Menghitung nilai Zj, nilai fungsi (Z) dan Cj-Zj. Dimana Zj =

  i =1

  (C ) C 3 2 0 0

  B I j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  X

  

3 1 2 1 0

  20 X

  

4 3 1 0 1

  20 Zj 0 0 0 0 Z = 0 Cj-Zj 3 2 0 0

  • Langkah 4 Ternyata fungsi belum optimal karena masih terdapat nilai Cj-Zj > 0 sehingga perlu dicari nilai terbesar untuk mendapat kolom kunci.

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  X 1 2 1 0

  20

3 X 3 1 0 1

  20

  4

  • Langkah 5 Hitung nilai ratio ( ) untuk menentukan variabel yang harus meninggalkan basis.

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  X

  3 1 2 1 0

  20

  20 X 3 1 0 1 20 20/3

4 Zj 0 0 0 0 Z = 0

  Cj-Zj 3 2 0 0 Ternyata dimiliki oleh X dan kolom kunci berada pada X

  min

  

4

  1

  sehingga X keluar dari basis dan digantikan X

  4

  1

  • Langkah 6 Gunakan operasi matriks untuk mendapat tabel baru. B = [ P , P ]

  3

  1

  = 1 1 0 3

  • 1

  p

  2 = B . P 2 = 1 -1/3 2 = 5/3

  0 1/3 1 1/3

  • 1

  p = B . P = 1 -1/3 1 = 1

  3

  3

  0 1/3 0 0

  • 1

  p = B . P = 1 -1/3 0 = -1/3

  4

  4

  0 1/3 1 1/3

  • 1

  b = B . bi = 1 -1/3 20 = 40/3 0 1/3 20 20/3 Sehingga diperoleh tabel simplex yang baru

  (C B ) i C j 3 2 0 0

  b i

  X X

  X X

  X

  j

  1

  2

  3

  4 (X )i B

  X 0 5/3 1 -1/3 40/3

  3

  3 X 1 1/3 0 1/3 20/3

1 Zj Z =

  Cj-Zj Iterasi 2

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4 (X )i B

  X 0 5/3 1 -1/3 40/3

  3

  3 X 1 1/3 0 1/3 20/3

  1 Zj 3 1 0 1 Z = 20

  Cj-Zj 0 1 0 -1

  • Langkah 4 Ternyata fungsi belum optimal karena masih terdapat nilai Cj-Zj > 0 sehingga perlu dicari nilai terbesar untuk mendapat kolom kunci.

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4 (X B )i

  X 0 5/3 1 -1/3 40/3

  3

  3 X 1 1/3 0 1/3 20/3

  1 Zj 3 1 0 1 Z = 20

  Cj-Zj 0 1 0 -1 positif terbesar

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  X 0 5/3 1 -1/3 40/3

  8

  3

  3 X 1 1/3 0 1/3 20/3

  20

1 Zj 3 1 0 1 Z = 20

  Cj-Zj 0 1 0 -1 Ternyata dimiliki oleh X dan kolom kunci berada pada X

  min

  

3

  2

  sehingga X keluar dari basis dan digantikan X

  3

  2

  • Langkah 6 Gunakan operasi matriks untuk mendapat tabel baru.

  B = [P ,P ] = 2 1

  2

  1

  1 3

  • 1

  B = 3/5 -1/5

  • 1/5
  • 1

  p = B . P = 3/5 -1/5 1 = 0

  1

  1

  • 1/5 2/5 3 1
  • 1

  p

  4 = B . P

4 = 3/5 -1/5 0 = -1/5

  • 1/5 2/5 1
  • 1

  bi = B . bi = 3/5 -1/5 20 = 8

  • 1/5 2/5 20 4 Sehingga diperoleh tabel simplex yang baru yaitu :

  (C ) C 3 2 0 0

  B I j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  B

  2 X 0 1 3/5 -1/5

  8

  2

  3 X 1 0 -1/5 2/5

  4

1 Zj Z =

  Cj-Zj Iterasi 3

  • Langkah 3

  m

  (C )i a

  B ij

  Menghitung nilai Zj, nilai fungsi (Z) dan Cj-Zj. Dimana Zj =

  i =1

  (C ) C 3 2 0 0

  B i j b i

  X X

  X X

  X

  j

  1

  2

  3

  4

  (X )i

  • Langkah 4 Ternyata fungsi sudah optimal. Hal ini dapat dilihat pada kolom Cj-Zj yang semuanya bernilai 0 atau negatif. Sehingga iterasi dapat dihentikan dan didapat nilai fungsi Z yang optimal dengan nilai X

  1

  = 4, X = 8, X = 0, X = 0 dan Z = 28

  2

  3

  4

BAB III ANALISA DAN DESAIN SISTEM Desain (perancangan) sistem merupakan tahap penting yang perlu

  dilakukan sebelum melakukan tahap implementasi. Tahap perancangan dimaksudkan untuk mempermudah pada saat pembuatan program. Pada perancangan sistem akan dipersiapkan kebutuhan yang diperlukan pada proses implementasi.

  Perancangan dilakukan dengan tujuan untuk memberi gambaran yang jelas tentang sistem yang akan dibangun sehingga akan mempermudah penggunaan sistem selanjutnya.

  Pada tahap ini akan dilakukan beberapa perancangan yaitu :

  1. Perancangan Input

  2. Perancangan Output

  3. Perancangan Proses Secara garis besar, program akan dimulai dengan menginputkan data baik data fungsi maupun data kendala. Dan untuk mempermudah user maka data tersebut akan ditampilkan pada layar. Setelah semua data diinputkan, maka proses perhitungan (pemecahan masalah program linier) dilakukan untuk mendapatkan

  Flowchart berikut ini menggambarkan jalannya program secara umum. :

  ♦

  Untuk revisi tabel

  Soal standar Tabel awal Hitung Zj, nilai fungsi Z dan Cj-Zj

  Maks : ada j cj-zj > 0 Min : ada j cj-zj < 0 Penyelesaian optimal Revisi tabel

  Ya Tidak Program utama

  Pilih variabel basis baru : Maks : pilih m c m -z m = maks {c m -z m > 0} Min : pilih m c m -z m

= min {c

m -z m < 0} i = b i ; a im

> 0

a im Pilih n = Min { i

}

(X B ) n = keluar dari basis a

  = elemen kunci Sebagai awal akan dibuat desain halaman Home yang merupakan judul dari program yang dibuat. Lalu dilanjutkan dengan perancangan input dan output yang akan ditampilkan pada halaman Utama.

  • Halaman Home

  

Perbandingan Metode Simplex Dan Revised Simplex

Pada Penyelesaian Program Linier

Disusun Oleh :

Putu Yunita Kusumawati

  

01 5314 079

Lanjutkan

  Gambar 3-1 : Desain halaman Home

3.1 Perancangan Antar Muka

  • Halaman Utama

  

Perbandingan Metode Simplex Dan Revised Simplex

Pada Penyelesaian Program Linier

Masukan

  Simplek Revised Simplek Xn Z

  Z bi bi Waktu

  Waktu Gambar 3-2 : Desain halaman Utama Pada halaman Utama terlihat adanya penggabungan desain input dan output. a.

  Masukan Data Data Fungsi[x x x -x ]

  1

  2

  3

10 Jumlah Kendala

  Jumlah Variabel OK Cancel

  Gambar 3-3 (a) : Desain input data fungsi b. Masukan Data Data Kendala[x x x -x ]

  1

  2

  3

  10

  bi OK

  Cancel Gambar 3-3 (b) : Desain input data kendala yang berisi bahwa jumlah kendala atau variabel melebihi batas. Setelah semua data diinputkan lalu klik tombol “OK”.

  Setelah tombol diklik maka program langsung menuju tampilan (b) untuk melakukan input data kendala dan bi. Setelah semua data terisi dan dilanjutkan dengan mengklik button “OK” maka data akan langsung diproses sehingga diperoleh solusi yang optimal dan output yang dihasilkan akan muncul pada halaman Utama untuk output.

  Pada desain output akan ditampilkan untuk masing-masing metode yaitu

  

Xn merupakan indeks dari variabel fungsi, bi adalah koefisien ruas kanan kendala

  yang akan menjadi nilai variabel dari fungsi, Z adalah nilai fungsi sasaran. Selain itu juga ditampilkan waktu proses dalam satuan detik selama proses perhitungan pada masing-masing metode.

3.2 Perancangan Proses

  Sebelum dilakukan proses perhitungan, dipastikan dahulu soal / masalah program linier sudah dalam bentuk standar simplex (=). Jika soal masih dalam bentuk pertidaksamaan, maka diubsh ke dalam bentuk standar dengan menambahkan variabel slack.

  Pada saat input data, yang diinputkan adalah koefisien variabel dari fungsi

  Pada saat perhitungan, ada beberapa perhitungan penting yang dilakukan antara lain : perhitungan nilai Cj, Cj-Zj, ratio dan nilai fungsi sasaran Z. Selain itu perhitungan juga dilakukan untuk lamanya waktu yang diperlukan.

  Pada perhitungan data / tabel baru, pada Revised Simplex menggunakan operasi matriks yaitu untuk menghitung invers. Dimana invers tersebut akan digunakan untuk menghitung data baru yaitu dengan mengalikan vektor kolom dari x dengan invers . Matriks yang digunakan untuk menghitung matrik adalah

  j matrik yang dibentuk dari basis.

BAB IV IMPLEMENTASI DAN PEMBAHASAN

4.1 Implementasi dan Pengujian Program

4.1.1 Mempersiapkan Berkas Sumber

  Sebelum mengaktifkan program terlebih dahulu mempersiapkan letak berkas sumber. Pada jendela perintah (command window) Matlab, masuk ke menu utam File lalu pilih set path.

  Pada set path terdapat folder berkas, namun secara default biasanya berkas sumber banyak diletakkan pada folder C:\MATLAB6p5p1\work. Dan untuk mempermudah kerja, maka jika kita memiliki file yang akan dijalankan sebaiknya file tersebut diletakkan terlebih dulu pada berkas sumber dalam hal ini folder work.

  Gambar 4-2 : Browser

4.1.2 Implementasi Program

  Sebelum proses perhitungan dilakukan terlebih dahulu membentuk matrik data kendala (data xb dan data bi).

  %ukur data xb end %salin data bi ke data bi awal for loop = 1:size_xb_baris-1 data_bi_awal(loop) = data_bi(loop); end

  Setelah tabel terbentuk, langkah selanjutnya adalah menghitung nilai Zj, nilai Cj-Zj dan fungsi sasaran (Z), terlihat pada potongan program dibawah ini:

  for loop = 1:size_xb_kolom data_zj(loop) = 0; end % cari nilai zj for loop = 1:size_xb_kolom for loop2 = 2:size_xb_baris data_zj(loop)=data_zj(loop)+(data_cb(loop21)* data_xb((loop2),loop)); temp_kali = temp_kali + 1; temp_plus = temp_plus + 1; end end %cari nilai cj-zj for loop = 1:size_xb_kolom data_cjzj(loop) = data_xb(1,loop) - data_zj(loop); temp_minus = temp_minus + 1; end % cari nilai fungsi sasaran(z) data_z = 0;

  Kemudian cari nilai positif terbesar dari nilai cj-zj yang sudah dihitung, yang nantinya digunakan untuk menghitung nilai ratio.

  %cari nilai terbesar cj-zj dan ratio [nilai_besar,indeks_besar] = max(data_cjzj); for loop = 1:(size_xb_baris -1) if data_xb(loop+1,indeks_besar) <= 0 data_rasio(loop) = 10000; else

data_rasio(loop) = data_bi(loop) / data_xb(loop+1,indeks_besar);

temp_bagi = temp_bagi +1; end end

4.2 Hasil Implementasi

  Pada jendela perintah ketik HalHome untuk mengaktifkan jendela figure HalHome sehingga pada layar akan tampak jendela figure.

  Halaman Home merupakan awal dari program yang dibuat. Pada figure tersebut terdapat sebuah tombol aksi. Dan untuk memulainya terlebih dulu user menekan tombol ‘Lanjutkan’ yang kemudian akan langsung menuju halaman berikutnya yaitu halaman Utama. Dimana pada halaman ini merupakan gabungan antara input dan output. Input ditampilkan dengan tombol aksi “Masukan” seperti terlihat pada tampilan dibawah ini.

  Gambar 4-4 : Halaman Utama

  Soal : Maksimumkan : Z = 3x 1 + 2x

2 Kendala I : x + 2x

  20

  1

  2

  : 3x + 4x 20 ; x , x

  1

  2

  1

  2 Setelah diubah ke dalam bentuk standar,

  Maksimumkan Z = 3x1 + 2x2 + 0x + 0x

  3

  4 Kendala : x + 2x + x = 20

  1

  2

  3

  : 3x + x + x = 20