SKRIPSI
Oleh :
i
THE COMPARISON OF SIMPLEX METHOD AND
REVISED SIMPLEX METHOD IN FINISHING LINEAR PROGRAM
A Thesis
by :
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini
tidak memuat karya orang lain atau bagian karya orang lain, kecuali yang telah
Ida Sang Hyang Widi Waça yang telah memberikan banyak keajaiban
dalam hidupku.
Keluargaku Terkasih : Bapak, Ibu, Ayonk, Febi dan Eca yang senantiasa memberi
MyBestFriend : Dh35n1, X_10, tfindy dan Oti yang memberi warna dalam
hidupku.
...................................
..........................................
Puji dan syukur penulis panjatkan kepada Ida Sang Hyang Widi Waça,
dengan tangan kasih-Nya yang senantiasa menuntun Penulis sehingga skripsi yang
diselesaikan.
Skripsi ini secara khusus diajukan kepada Fakultas Sains Dan Teknologi
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
2. Ibu A.M. Polina, S.Kom, M.Sc., selaku Ketua Jurusan Teknik Informatika
Yogyakarta.
4. Bapak Drs. J. J. Siang, M.Sc., selaku pembimbing yang telah memberikan
baik.
6. Segenap staf dan karyawan Fakultas Sains Dan Teknologi atas bantuan
dan kerjasamanya.
Yogyakarta.
8. Bapak dan Ibu tersayang dan tercinta, yang telah memberikan kasih
dan doa.
12. My best friends dh35n1, X_10, Vindy dan Oti, thanks buat
persahabatannya.
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.
Yogyakarta.
15. Serta semua pihak yang tidak dapat Penulis sebutkan satu persatu, yang
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.
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..
xi
ABSTRACT
xii
DAFTAR ISI
xiii
DAFTAR ISI
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
xiv
DAFTAR TABEL
xv
DAFTAR GAMBAR
xvi
1
BAB I
PENDAHULUAN
mengambil suatu keputusan merupakan hal yang sangat penting. Jika kesalahan
dalam pengambilan keputusan terjadi akan memberi dampak yang negatif bagi
dihadapi manajer dalam perusahaan pada umumnya adalah bagaimana cara yang
dikombinasikan untuk mencari solusi yang optimal. Ada beberapa cara untuk
bisa menyelesaikan program linier yaitu dengan Metode Simplex dan Revised
program linier dengan jumlah variabel keputusan dan kendala yang besar.
bergerak selangkah demi selangkah yang dimulai dari suatu titik pada daerah
Metode ini merupakan versi yang disempurnakan dari prosedur aslinya (Metode
Simplex).
3. Program akan dibuat dengan batasan jumlah variabel dan jumlah kendala
maksimal 10.
1.4 Tujuan
2. Dapat menentukan metode yang lebih efisien antara Metode Simplex dan
Revised Simplex.
referensi yang menyajikan informasi tentang materi yang dibahas, dalam hal ini
BAB I PENDAHULUAN
Pada bab ini akan dibahas tentang latar belakang masalah, rumusan
Pada bab ini akan diuraikan tentang dasar teori dan konsep dari Metode
perancangan input, proses dan output yang akan mambantu pada tahap
implementasi program.
dikerjakan pada bab sebelumnya (bab III) dan pembahasan hasil dari
implementasi.
4
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
BAB II
LANDASAN TEORI
sumber daya untuk berbagai kegiatan. Model ini digunakan dalam penyelesaian
yang bersaing dalam hal penggunaan sumber daya langka yang dibutuhkan
dan masih banyak lagi. Ciri khas dari situasi tersebut adalah keharusan untuk
persoalan yang dihadapi. Sehingga dapat dikatakan bahwa program linier adalah
yaitu suatu hasil yang mencapai tujuan terbaik diantara semua alternatif yang
fisibel.
metode yaitu metode grafik, metode simplex dan metode revised simplex.
kurang dari tiga variabel. Hal inilah yang menyebabkan bahwa metode grafik
linier pada perusahan yang berskala besar dimana biasanya perusahaan akan
Dalam program linier dikenal dua fungsi yaitu fungsi tujuan (objectives
sumber daya untuk memperoleh keuntungan yang maksimal atau biaya yang
minimum.
berbagai kegiatan.
..............................................
............................................
7
persamaan yang merupakan bentuk standar dari program linier. Variabel slack
suatu pemecahan yang memungkinkan ke pemecahan dasar yang lainnya dan ini
menghasilkan nilai dan fungsi tujuan yang selalu lebih besar atau lebih kecil
metode simplex . Yang berbeda hanya pada waktu menghitung data baru untuk
Tidak
Ya
Tabel awal simplex
Revisi tabel Maks : ada j ‹ cj-zj > 0 Min : ada j ‹ cj-zj < 0
Ya
Tidak
Soal tidak feasible sehingga fungsi tidak memiliki penyelesaian yang optimal
Ya
Tidak
Penyelesaian Optimal
9
Ya
0i = bi ; aim > 0
aim
anj ; bi* = bn
anm :
Perhitungan aij baru anm
i = n :aij * = *
iÇn: aij = aij - anj aim ; bi* = bi - bn aim
Program utama
anm anm
10
Ya
0i = bi ; aim > 0
aim
(CB)i Cj C1 C2............Cn bi 0
Xj X1 X2…................Xn
(XB)i
Variabel Basis
kendala
dalam bentuk
(Ratio)
standar.
A = Am*n = [aij]
Zj Z = Nilai fungsi
Σ (CB)i bi
Cj-Zj
Tabel 2-1 : Tabel Simplex
Kendala I = x1 + 2x2 ≤ 20
Kendala II = 3x1 + x2 ≤ 20
x1, x2 ≤ 0
Iterasi I
Langkah 1
Kendala : x1 + 2x2+ x3 = 20
: 3x1 + x2 + x4 = 20
x1 ≤ 0, x2 ≤ 0, x3 ≤ 0, x4 ≤ 0
(CB)I Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
1 2 1 0 20
3 1 0 1 20
Zj Z=
Cj-Zj
Langkah 2
Langkah 3
m
Menghitung nilai Zj, nilai fungsi (Z) dan Cj-Zj. Dimana Zj =
Σ(CB)i aij
i =1
13
(CB)I Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
0 X3 1 2 1 0 20
0 X4 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 >
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
0 X3 1 2 1 0 20
0 X4 3 1 0 1 20
Zj 0 0 0 0 Z=0
Cj-Zj 3 2 0 0
‡positif terbesar
Langkah
5
meninggalkan basis.
14
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
0 X3 1 2 1 0 20 20/1 = 20
0 X4 3 1 0 1 20 20/3
Zj 0 0 0 0 Z=0
Cj-Zj 3 2 0 0
Langkah 6
baru. a11 = 0
a13= 1 – (0)(1) =1
3
a14= 0 – (1)(1) = -1/3
3
b1= 20 – (20)(1) = 40/3
a21 = 3: 3 = 1
15
a22 =1 : 3 = 1/3
a23 = 0 : 3 = 0
a14 = 1/3
b2 = 20/3
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)I
Zj Z=
Cj-Zj
Iterasi 2
Langkah 3 m
Σ(CB)i aij
Menghitung nilai Zj, nilai fungsi (Z) dan Cj-Zj. Dimana Zj =
i =1
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
Zj 3 1 0 1 Z = 20
Cj-Zj 0 1 0 -1
16
Langkah 4
Ternyata fungsi belum optimal karena masih terdapat nilai Cj-Zj >
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
Zj 3 1 0 1 Z = 20
Cj-Zj 0 1 0 -1
‡positif terbesar
Langkah 5
meninggalkan basis.
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
Zj 3 1 0 1 Z = 20
Cj-Zj 0 1 0 -1
17
Langkah 6
b1 = 40/3 : 5/3 = 8
a21 = 1 – (0)(1/3) =1
5/3
a22 = 0
5/3
5/3
b2 = 20/3 – (40/3)(1/3) =4
5/3
18
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
2 X2 0 1 3/5 -1/5 8
3 X1 1 0 -1/5 2/5 4
Zj Z=
Cj-Zj
Iterasi 3
Langkah 3
m
Σ(CB)i aij
Menghitung nilai Zj, nilai fungsi (Z) dan Cj-Zj. Dimana Zj = i =1
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
2 X2 0 1 3/5 -1/5 8
3 X1 1 0 -1/5 2/5 4
Zj 3 2 3/5 4/5 Z = 28
Langkah 4
Ternyata fungsi sudah optimal. Hal ini dapat dilihat pada kolom Cj-
4, X2 = 8, X3 = 0, X4 = 0 dan Z = 28
Iterasi 1
Langkah 1
kolom (Pn).
Kendala : x1 + 2x2+ x3 = 20
: 3x1 + x2 + x4 = 20
x1 ≤ 0, x2 ≤ 0, x3 ≤ 0, x4 ≤ 0
P1 = 1 ; P2 = 2 ; P3 = 1 ; P4 = 0 ;b= 20
3 1 0 1 20
Langkah 2
Langkah 3
m
Σ(CB)i aij
Menghitung nilai Zj, nilai fungsi (Z) dan Cj-Zj. Dimana Zj =
i =1
(CB)I Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
0 X3 1 2 1 0 20
0 X4 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 >
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
0 X3 1 2 1 0 20
0 X4 3 1 0 1 20
Zj 0 0 0 0 Z=0
Cj-Zj 3 2 0 0
‡positif terbesar
21
Langkah 5
meninggalkan basis.
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
0 X3 1 2 1 0 20 20
0 X4 3 1 0 1 20 20/3
Zj 0 0 0 0 Z=0
Cj-Zj 3 2 0 0
Langkah 6
B = [ P3, P1 ]
= 1 1
0 3
B-1 = 1 -1/3
0 1/3
p1 = B-1 . P1 = 1 -1/3 1 = 1
0 1/3 3 0
22
0 1/3 1 1/3
p3 = B-1 . P3 = 1 -1/3 1 = 1
0 1/3 0 0
0 1/3 1 1/3
0 1/3 20 20/3
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
Zj Z=
Cj-Zj
Iterasi 2
Langkah 3
m
Menghitung nilai Zj, nilai fungsi (Z) dan Cj-Zj. Dimana Zj =
Σ(CB)i aij
i =1
23
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
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 >
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
Zj 3 1 0 1 Z = 20
Cj-Zj 0 1 0 -1
‡positif terbesar
Langkah
5
meninggalkan basis.
24
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
Zj 3 1 0 1 Z = 20
Cj-Zj 0 1 0 -1
Langkah 6
B = [P2,P1] = 2 1
1 3
-1/5 2/5
-1/5 2/5 3 1
-1/5 2/5 1 0
-1/5 2/5 20 4
(CB)I Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
2 X2 0 1 3/5 -1/5 8
3 X1 1 0 -1/5 2/5 4
Zj Z=
Cj-Zj
Iterasi 3
Langkah 3
m
Σ(CB)i aij
Menghitung nilai Zj, nilai fungsi (Z) dan Cj-Zj. Dimana Zj =
i =1
(CB)i Cj 3 2 0 0 bi 0
Xj X1 X2 X3 X4
(XB)i
2 X2 0 1 3/5 -1/5 8
3 X1 1 0 -1/5 2/5 4
Zj 3 2 3/5 4/5 Z = 28
Langkah 4
Ternyata fungsi sudah optimal. Hal ini dapat dilihat pada kolom Cj-
= 4, X2 = 8, X3 = 0, X4 = 0 dan Z = 28
27
BAB III
ANALISA DAN DESAIN SISTEM
implementasi.
1. Perancangan Input
2. Perancangan Output
3. Perancangan Proses
baik data fungsi maupun data kendala. Dan untuk mempermudah user maka
data tersebut akan ditampilkan pada layar. Setelah semua data diinputkan, maka
(fungsi sasaran Z), pada output juga ditampilkan Xn, bi, waktu dalam satuan
detik dan jumlah operasi aritmatika yang terjadi selama proses perhitungan pada
masing-masing metode.
28
Soal standar
Tabel awal
Revisi tabel
Ya
Penyelesaian optimal
0i = bi ; aim > 0
aim
Pilih 0n = Min { 0i} (XB)n = keluar dari basis anm = elemen kunci
Program utama
Sebagai awal akan dibuat desain halaman Home yang merupakan judul
dari program yang dibuat. Lalu dilanjutkan dengan perancangan input dan
Halaman Home
Perbandingan Metode Simplex Dan Revised Simplex Pada Penyelesaian Program Linier
Lanjutkan
Gambar 3-1 : Desain halaman Home
Halaman ini merupakan identitas program. Pada desain di atas terdapat tombol
aksi “Lanjutkan” dan dengan mengklik tombol tersebut maka program akan
Halaman Utama
Masukan
Xn Z
Z
bi bi
Waktu Waktu
Pada halaman Utama terlihat adanya penggabungan desain input dan output.
Input data dilakukan dengan terlebih dulu mengklik tombol aksi “Masukan” lalu
a.
Masukan Data
Jumlah Kendala
Jumlah Variabel
OK Cancel
b.
Masukan Data
bi
OK Cancel
Pada tampilan (a) input data mulai dilakukan dengan memasukkan data
fungsi dari sebuah persamaan linier. Jumlah kendala dan jumlah variabel diisi
sesuai dengan persamaannya. Namun jika jumlah kendala dan jumlah variabel
yang diinputkan melebihi jumlah maksimal (10) maka akan muncul error dialog
32
yang berisi bahwa jumlah kendala atau variabel melebihi batas. Setelah semua
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
kendala yang akan menjadi nilai variabel dari fungsi, Z adalah nilai fungsi
sasaran. Selain itu juga ditampilkan waktu proses dalam satuan detik selama
program linier sudah dalam bentuk standar simplex (=). Jika soal masih dalam
Pada saat input data, yang diinputkan adalah koefisien variabel dari
fungsi dan kendala (data fungsi dan data kendala) pada soal asli. Adapun jumlah
antara lain : perhitungan nilai Cj, Cj-Zj, ratio dan nilai fungsi sasaran Z. Selain
operasi matriks yaitu untuk menghitung invers. Dimana invers tersebut akan
digunakan untuk menghitung data baru yaitu dengan mengalikan vektor kolom
dari xj dengan invers . Matriks yang digunakan untuk menghitung matrik adalah
BAB IV
Pada set path terdapat folder berkas, namun secara default biasanya
untuk mempermudah kerja, maka jika kita memiliki file yang akan dijalankan
sebaiknya file tersebut diletakkan terlebih dulu pada berkas sumber dalam hal
%ukur data xb
[size_xb_baris,size_xb_kolom] = size(data_xb);
data_xb_awal(loop,loop2) = data_xb(loop,loop2);
end
36
end
data_bi_awal(loop) = data_bi(loop);
end
nilai Cj-Zj dan fungsi sasaran (Z), terlihat pada potongan program dibawah ini:
data_zj(loop) = 0;
end
% cari nilai zj
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
temp_minus = temp_minus + 1;
end
data_z = 0;
temp_kali = temp_kali + 1;
temp_plus = temp_plus + 1;
end
37
Kemudian cari nilai positif terbesar dari nilai cj-zj yang sudah
[nilai_besar,indeks_besar] = max(data_cjzj);
if data_xb(loop+1,indeks_besar) <= 0
data_rasio(loop) = 10000;
else
end
end
Halaman Home merupakan awal dari program yang dibuat. Pada figure
tersebut terdapat sebuah tombol aksi. Dan untuk memulainya terlebih dulu user
gabungan antara input dan output. Input ditampilkan dengan tombol aksi
Pada figure utama terdapat tampilan untuk input dan output dan terdapat
tombol “Masukan” yang merupakan awal dari proses input. Setelah tobol di
klik, maka program akan langsung menuju ke halaman input data yang terdiri
atas 2 bagian yaitu input data fungsi dan input data kendala.
39
Kendala I : x1 + 2x2 ≤ 20
Kendala : x1 + 2x2+ x3 = 20
: 3x1 + x2 + x4 = 20
x1 ≤ 0, x2 ≤ 0, x3 ≤ 0, x4 ≤ 0
tampilan input data fungsi. Data yang dimasukkan adalah data fungsi yang
berupa koefisien dari masing-masing variabel pada soal program linier. Pada
contoh soal di atas terdapat 2 data fungsi, 2 kendala dan 2 variabel. Data fungsi
yang diinputkan hanya data asli tanpa variabel buatan (slack), meskipun fungsi
sasaran dan kendalanya sudah diubah dalam bentuk standar program linier
(persamaan).
40
Pada contoh soal terlihat bahwa jumlah kendala yang dimiliki adalah 2
sehingga input data kendala dilakukan sebanyak dua kali. Proses input data
a. Kendala I
b. Kendala II
koefisien dari x1 dan x2 pada kendala 1 dengan nilai bi 20, sedangkan kendala
41
Jika terjadi kesalahan pada waktu input jumlah variabel dan jumlah
“OK” diklik maka user diharapkan mengisi jumlah kendala dan variabel
Nilai fungsi sasaran (Z) diperoleh dari jumlah hasil kali antara koefisien
Basis yang memiliki ratio terkecil akan keluar dari tabel dan digantikan
dengan basis baru. Ratio dihitung dengan cara membagi koefisien ruas
Hasil dari contoh soal dapat dilihat pada tampilan output sebagai berikut :
baik untuk Metode Simplex maupun Revised Simplex, namun yang diambil
10 5 0.018 0.012
10 6 0.006 0.022
10 7 0.01 0.032
10 8 0.004 0.026
10 9 0.047 0.036
Di bawah ini adalah tabel yang menunjukkan waktu rata-rata untuk jumlah
variabel tertentu.
0.03
0.025
0.02
rata waktu
0.015
0.01
0.005
0
0 2 4 6 8 10 12
jumlah variabel
Berdasarkan jumlah variabel pada tabel dan grafik variabel, rata-rata waktu yang
diperlukan pada Metode Simplex relatif lebih cepat daripada revised Simplex.
Ini adalah tabel yang menunjukkan waktu rata-rata untuk jumlah kendala tertentu.
0.03
0.025
0.02
rata waktu
0.015
0.01
0.005
0
0 1 2 3 4 5 6 7 8 9 10
jumlah kendala
Berdasarkan jumlah kendala pada tabel dan grafik kendala, rata-rata waktu yang
diperlukan pada Metode Simplex relatif lebih cepat daripada revised Simplex.
Dari hasil analisa tabel dan grafik, terlihat bahwa Metode Simplex
waktu. Tapi lamanya waktu yang diperlukan lebih dipengaruhi oleh jumlah
tabel iterasi.
49
BAB V
PENUTUP
5.1 Kesimpulan
Simplex hal ini dapat dilihat dari lamanya waktu yang dibutuhkan
5.2 Saran
Dari hasil penelitian skripsi ini, Penulis dapat memberi saran sebagai berikut:
DAFTAR PUSTAKA