bab 2 landasan teori - library & knowledge...

28
11 BAB 2 LANDASAN TEORI 2.1 Teori Optimasi Teori optimasi atau yang dikenal juga dengan nama riset operasi berkembang sejak perang dunia II. Perkembangan dan penerapannya berlangsung begitu cepat dalam bidang-bidang penting, mulai dari proyek pesawat, perencanaan strategi perang, industri, perdagangan dan lain-lain. Menurut Miller dan M. K. Star, riset operasi adalah peralatan manajemen yang menyatukan ilmu pengetahuan matematika dan logika dalam rangka memecahkan masalah yang dihadapi sehari-hari sehingga dapat dipecahkan secara optimal. Atau lebih umumnya, riset operasi merupakan proses pengambilan keputusan yang optimal dalam penyusunan model dari sistem-sistem, baik deterministik maupun probabilistik yang berasal dari kehidupan nyata (Sutrisno, 2008). 2.1.1 Model-Model Riset Operasi Dalam perkembangannya terdapat beberapa model riset operasi, yaitu sebagai berikut (Sutrisno, 2008): a. Model ikonik Merupakan model tiruan fisik seperti bentuk aslinya dengan skala yang lebih kecil, seperti model gedung, model pesawat, dan lain-lain. b. Model analog Merupakan model fisik tetapi tidak memiliki bentuk yang mirip dengan yang dimodelkan, seperti model pengukur temperatur.

Upload: dohanh

Post on 19-Feb-2018

224 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

11

BAB 2

LANDASAN TEORI

2.1 Teori Optimasi

Teori optimasi atau yang dikenal juga dengan nama riset operasi berkembang

sejak perang dunia II. Perkembangan dan penerapannya berlangsung begitu cepat dalam

bidang-bidang penting, mulai dari proyek pesawat, perencanaan strategi perang, industri,

perdagangan dan lain-lain. Menurut Miller dan M. K. Star, riset operasi adalah peralatan

manajemen yang menyatukan ilmu pengetahuan matematika dan logika dalam rangka

memecahkan masalah yang dihadapi sehari-hari sehingga dapat dipecahkan secara

optimal. Atau lebih umumnya, riset operasi merupakan proses pengambilan keputusan

yang optimal dalam penyusunan model dari sistem-sistem, baik deterministik maupun

probabilistik yang berasal dari kehidupan nyata (Sutrisno, 2008).

2.1.1 Model-Model Riset Operasi

Dalam perkembangannya terdapat beberapa model riset operasi, yaitu

sebagai berikut (Sutrisno, 2008):

a. Model ikonik

Merupakan model tiruan fisik seperti bentuk aslinya dengan skala yang

lebih kecil, seperti model gedung, model pesawat, dan lain-lain.

b. Model analog

Merupakan model fisik tetapi tidak memiliki bentuk yang mirip dengan

yang dimodelkan, seperti model pengukur temperatur.

Page 2: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

12

c. Model simbolik

Merupakan model yang menggunakan simbol-simbol huruf, angka, bentuk,

atau gambar yang menyajikan karakteristik dan properti dari suatu sistem

seperti jaringan kerja, flow chart, dan lain-lain.

d. Model matematik

Mencakup model-model yang mewakili situasi real sebuah sistem yang

berupa fungsi matematik seperti model populasi makhluk hidup yang

dinyatakan oleh 0PaP nn = .

2.1.2 Jenis Optimasi

Ada berbagai jenis optimasi yang sudah berkembang, antara lain

pemrograman linear dan pemrograman non linear (Sutrisno, 2008).

1. Program linear

Program linear menyelesaikan kasus pada fungsi tujuan dan fungsi kendala

yang bersifat linear, yaitu pangkat dari variabelnya adalah 1.

Bentuk umum model program linear adalah:

Maks/ Min ∑=

=n

jjj xcZ

1

Kendala : ∑=

≥≤n

jijij bxa

1/ untuk i = 1,2,3,...,m

0≥jx untuk j = 1,2,3,...,n

Untuk menyelesaikan program linear, dapat digunakan metode grafik, yaitu

mentransformasikan formulasi ke dalam sebuah grafik. Tetapi metode ini

hanya efektif untuk formulasi dengan banyak variabel dua. Untuk formulasi

dengan variabel lebih dari dua, dapat digunakan metode simpleks. Metode

Page 3: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

13

grafik dan simpleks digunakan pada program linear dengan variabelnya

dapat bernilai desimal. Tetapi dalam perkembangannya, ada program linear

di mana variabelnya harus bernilai bilangan bulat atau integer yang dikenal

dengan ILP (Integer Linear Programming) dan juga ada pula variabel yang

bernilai 0 atau 1 yang dikenal dengan nama BILP (Binary Integer Linear

Programming) dan ada pula program linear yang berupakan campuran ILP

dan BILP yaitu MILP (Mixed Integer Linear Programming).

2. Program non linear

Program non linear merupakan pemrograman dengan fungsi tujuannya saja

atau bersama dengan fungsi kendala berbentuk non linear yaitu pangkat

dari variabelnya lebih dari satu. Program non linear dapat mempunyai

kendala maupun tidak mempunyai kendala. Untuk penyelesaiannya dapat

digunakan metode Lagrangian atau Kuhn-Tucker.

2.2 Linear Programming

2.2.1 Pengertian Linear Programming

Linear programming adalah suatu teknis matematika yang dirancang

untuk membantu manajer dalam merencanakan dan membuat keputusan dalam

mengalokasikan sumber daya yang terbatas untuk mencapai tujuan perusahaan.

Tujuan perusahaan pada umumnya adalah memaksimalisasi keuntungan, namun

karena terbatasnya sumber daya, maka dapat juga perusahaan meminimalkan

biaya (Pangalajo, 2009).

Secara umum masalah linear programming sangat erat kaitannya dengan

pengalokasian sumber daya maupun sumber dana yang dapat berupa bahan baku,

Page 4: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

14

tenaga kerja, mesin, maupun modal. Semua sumber daya dan sumber dana

tersebut pada umumnya memiliki jumlah yang sangat terbatas. Oleh karena itu

pengalokasiannya harus dilaksanakan dengan cara terbaik. Artinya keputusan

yang diambil yang merupakan pilihan dari berbagai macam alternatif yang

tersedia (Hartanto, 2005).

Linear programming memiliki empat ciri khusus yang melekat, yaitu

(Pangalajo, 2009):

1. Penyelesaian masalah mengarah pada pencapaian tujuan maksimisasi atau

minimisasi.

2. Kendala yang ada membatasi tingkat pencapaian tujuan.

3. Ada beberapa alternatif penyelesaian.

4. Hubungan matematis bersifat linear.

Karena adanya persyaratan linearitas tersebut, maka persoalan ini disebut

“linear programming”. Dengan kata lain disebut program karena untuk mencari

keputusan yang optimal didasarkan oleh keterbatasan sumber daya dan disebut

linear (Hartanto, 2005).

Secara teknis, ada lima syarat tambahan dari permasalahan linear

programming yang harus diperhatikan yang merupakan asumsi dasar, yaitu

(Pangalajo, 2009):

1. Certainty (kepastian).

Maksudnya adalah fungsi tujuan dan fungsi kendala sudah diketahui

dengan pasti dan tidak berubah selama periode analisis.

2. Proportionality (proporsionalitas).

Yaitu adanya proporsionalitas dalam fungsi tujuan dan fungsi kendala.

Page 5: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

15

3. Additivity (penambahan).

Artinya aktivitas total sama dengan penjumlahan aktivitas individu.

4. Divisibility (bisa dibagi-bagi).

Maksudnya solusi tidak harus merupakan bilangan integer (bilangan bulat),

tetapi bisa juga berupa pecahan.

5. Non-negative variable (variabel tidak negatif).

Artinya bahwa semua nilai jawaban atau variabel tidak negatif.

2.2.2 Perumusan Model Dan Bentuk Umum

Untuk mendapatkan keputusan yang optimal dalam penyelesaian

persoalan dengan menggunakan teknik linear programming, langkah pertama

yang harus dilaksanakan adalah mengidentifikasikan masalah ke dalam bentuk

matematis atau sering disebut pembuatan model linear programming (Hartanto,

2005).

Langkah – langkah yang perlu dilakukan untuk merumuskan model

linear programming tersebut adalah (Hartanto, 2005):

1. Tentukan variabel keputusan yang akan dicari dan beri notasi dalam bentuk

matematis.

2. Tentukan batasan dari variabel keputusan tadi dan gambarkan ke dalam

bentuk persamaan linear atau ketidaksamaan linear.

3. Tentukan tujuan yang akan dicapai dari variabel keputusan tadi dan

gambarkan dalam satu set fungsi linear yang berbentuk maksimasi

keuntungan atau minimasi biaya.

Secara umum bentuk model linear programming dapat digambarkan

sebagai berikut (Hartanto, 2005):

Page 6: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

16

Karena persoalan linear programming merupakan masalah alokasi, maka

perumusan di atas dapat diinterpretasikan sebagai berikut (Hartanto, 2005):

Z → nilai tujuan yang akan dicapai.

x1, x2, x3, ..., xn → variabel keputusan yang akan dicari.

aij → jumlah resource yang harus dialokasikan pada

setiap kegiatan ke (j).

b1, b2, b3, ..., bm → jumlah resource.

cij → nilai dari setiap kegiatan ke (j).

2.2.3 Penyelesaian Model Linear Programming

Setelah melakukan perumusan model linear programming, maka langkah

selanjutnya adalah menyelesaikan model linear programming guna mendapatkan

tujuan yang akan dicapai. Oleh karena persoalan linear programming dapat

digambarkan dalam berbagai bentuk seperti maksimisasi, atau minimisasi dan

dengan batasan dapat pula berbentuk lebih kecil sama dengan, sama dengan,

atau, lebih besar sama dengan (≤, =, ≥), maka diperlukan suatu bentuk baku yang

dapat memenuhi prosedur penyelesaian (Hartanto, 2005).

Page 7: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

17

Bentuk baku yang sudah umum digunakan untuk menyelesaikan model

linear programming adalah (Hartanto, 2005):

1. Bentuk standar

Karakteristik dari bentuk standar ini adalah :

Fungsi tujuan (objective function) berbentuk maksimasi atau

minimisasi.

Semua kendala digambarkan dalam bentuk persamaan.

Semua variabel keputusan non – negatif.

Nilai ruas kanan setiap kendala non – negatif.

2. Bentuk kanonik

Karakteristik dari bentuk kanonik ini adalah:

Semua kendala berbentuk lebih kecil sama dengan (≤).

Semua variabel keputusan non – negatif.

Fungsi tujuan (objective function) bentuk maksimisasi.

Ada beberapa cara menyelesaikan masalah dengan model program linear,

di antaranya yaitu diselesaikan secara grafik. Secara umum metode grafik dapat

memberi masukan berharga untuk program linear dan pemecahannya, tetapi

metode ini hanya berlaku untuk dua variabel saja. Suatu teknik yang dapat

memecahkan masalah-masalah program linear secara umum yaitu metode

simpleks. Dalam metode simpleks model diubah ke dalam bentuk suatu tabel

kemudian dilakukan beberapa langkah matematis pada tabel tersebut. Langkah-

langkah matematis ini merupakan replikasi proses pemindahan dari suatu titik

ekstrem ke titik ekstrem lainnya pada daerah solusi (Kusrini, 2005).

Page 8: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

18

Penyelesaian persoalan dengan menggunakan teknik linear

programming, bertujuan untuk mendapatkan hasil yang optimal yang dapat

membentuk maksimasi keuntungan maupun minimisasi biaya. Penyelesaian

tersebut bermula dari bentuk umum (perumusan model) ke feasible, dari feasible

menjadi feasible dasar dan akhirnya menjadi optimal (Hartanto, 2005).

Penggunaan linear programming pada saat sekarang sudah cukup luas,

misalnya dibidang ekonomi, militer, industri, maupun bidang sosial lainnya.

Disamping itu dengan kemajuan teknologi yang semakin pesat, maka proses

perhitungan penyelesaian linear programming sudah menggunakan komputer,

terutama dalam menghadapi persoalan yang memiliki variabel cukup banyak,

yang apabila dilakukan dengan proses perhitungan biasa akan memakan waktu

yang cukup lama. Dari uraian di atas dapat diakatakan bahwa linear

programming merupakan salah satu teknik matematis yang bertujuan untuk

mendapatkan keputusan optimal (Hartanto, 2005).

2.3 Metode Simpleks

2.3.1 Pengertian Metode Simpleks

Pemrograman linear (linear programming) adalah salah satu bahasan

dalam optimasi yang berkembang cukup pesat. Perumusan masalah

pemrograman linear beserta pemecahannya secara sistematis baru dimulai pada

tahun 1947 ketika George B. Dantzig merancang sebuah metode yang dikenal

dengan nama metode simpleks untuk keperluan angkatan udara AS. Apa yang

dirintis oleh Dantzig ini merupakan langkah yang penting untuk

Page 9: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

19

mengembangkan pemrograman linear kepada penggunaan yang lebih luas

(Kosala Dwidja Purnomo, 2001).

Persoalan program linear tidak selalu sederhana karena melibatkan

banyak constraint (pembatas) dan banyak variabel sehingga tidak mungkin

diselesaikan dengan metode grafik. Oleh karena itu serangkaian prosedur

matematik (aljabar linear) diperlukan untuk mencari solusi dari persoalan yang

rumit tersebut. Prosedur yang paling luas digunakan adalah metode simpleks.

Penemuan metode ini merupakan lompatan besar dalam riset operasi dan

digunakan sebagai prosedur penyelesaian dari setiap program komputer (Kosala

Dwidja Purnomo, 2001).

Metode simpleks adalah metode iteratif, dimulai dari suatu basis yang

memenuhi dan kemudian mencari basis yang lain, yang juga memenuhi serta

mempunyai hubungan dengan meningkatnya harga dari fungsi tujuan yang

hendak dimaksimumkan maupun dengan berkurangnya harga dari fungsi tujuan

yang hendak diminimumkan (Kosala Dwidja Purnomo, 2001).

Metode simpleks ini merupakan prosedur aljabar yang progresif

mencapai hasil yang optimal melalui suatu proses iteratif. Prosedur ini langsung

menuju ke sasaran, hanya membutuhkan waktu dan kesabaran dalam

mengerjakannya. Cara ini adalah yang paling cocok untuk suatu computer

electronic (Kosala Dwidja Purnomo, 2001).

Page 10: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

20

2.3.2 Algoritma Simpleks

Langkah-langkah yang diperlukan untuk menyelesaikan masalah linear

programming dengan metode simpleks adalah (Aris Budi Setyawan, 2006):

1. Melakukan identifikasi masalah dengan jalan menyederhanakan kasus

dalam bentuk model tabulasi.

2. Mengubah model tabulasi menjadi model matematis (fungsi tujuan dan

fungsi batasan).

3. Mengubah persamaan fungsi tujuan dan fungsi batasan ke dalam

persamaan simpleks.

4. Memindah semua nilai koefisien dalam persamaan simpleks ke dalam tabel

simpleks.

5. Menentukan kolom kunci.

Kolom kunci ini ditentukan dengan cara mencari nilai negatif terbesar yang

ada di baris tujuan (Z) pada tabel simpleks tersebut.

6. Menentukan baris kunci.

Indeks ditentukan dengan cara membagi setiap angka pada kolom Nilai

Kanan (NK) dengan setiap angka pada kolom kunci. Kemudian dari hasil

indeks tersebut dipilih baris dengan hasil indeks positif yang paling kecil

sebagai baris kunci.

KunciKolomAngkaKananNilaiIndeks =

7. Menentukan angka kunci.

Angka kunci adalah angka yang terdapat pada perpotongan antara kolom

kunci dan baris kunci. Selanjutnya menggunakan angka kunci tersebut

Page 11: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

21

untuk menentukan baris kunci yang baru, apabila langkah ke-8 masih

menemukan nilai yang negatif.

8. Melakukan pengecekan apakah sudah tidak ada lagi angka/ nilai negatif di

baris tujuan (kecuali Nilai Kanan) pada tabel simpleks tersebut. Jika sudah

tidak ada maka tabel simpleks telah optimal. Jika masih ada yang negatif,

maka tabel belum optimal dan perlu dilanjutkan ke proses selanjutnya.

9. Jika ternyata masih ada angka negatif pada baris tujuan (Z), langkah

selanjutnya adalah menentukan nilai baris kunci yang baru. Nilai baris

kunci yang baru ditentukan dengan cara membagi semua nilai yang ada

pada baris kunci yang lama dengan angka kuncinya.

KunciAngkalamayangKunciBarisbaruyangKunciBaris =

10. Mengisi/ melengkapi sel lain dalam tabel simpleks yang masih kosong,

dengan cara angka atau nilai yang lama dikurangi dengan hasil perkalian

antara angka baris baru yang sesuai dengan angka kolom kunci yang

bersangkutan juga.

2.3.3 Penyimpangan Bentuk Simpleks

Penyimpangan bentuk simpleks dapat terjadi karena beberapa sebab,

antara lain karena (Aris Budi Setyawan, 2006):

1. Fungsi tujuan (Z) bukan maksimalisasi, tetapi minimalisasi.

2. Fungsi batasan bertanda (=) atau (≥).

3. Syarat X1 atau X2 tidak terpenuhi, misalkan X1 ≥ - 10 (negatif)

Penyelesaian untuk kasus penyimpangan ini adalah dengan membuat

kasus yang menyimpang tersebut menjadi kasus normal. Ada beberapa ketentuan

Page 12: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

22

atau cara untuk membuat kasus yang menyimpang tersebut menjadi kasus

normal, yaitu seperti uraian yang akan dijelaskan di bawah ini (Aris Budi

Setyawan, 2006):

1. Untuk fungsi tujuan

Fungsi tujuan yang minimasi, agar menjadi maksimasi harus dikalikan

dengan (-1).

Dari minimalkan Z = 3X1 + 5X2

Menjadi maksimalkan (-Z) = -3X1 – 5X2

2. Untuk fungsi batasan:

Jika sebelumnya fungsi batasan sudah bertanda (=), maka untuk

menjadi persamaan simpleks, perlu dibuatkan sebuah variabel yang

disebut dengan variabel buatan (artificial variabel).

Jika sebelumnya fungsi batasan bertanda (≥), maka perlu dijadikan

dulu (≤) dengan cara dikalikan (-1). Namun apabila proses tersebut

menyebabkan slack variablenya bernilai negatif, maka perlu

dibuatkan juga artificial variabel.

Perlu diingat bahwa pembuatan variabel pada setiap fungsi batasan,

akan mengakibatkan fungsi tujuannya bertambah sebesar M dari

batasan yang bersangkutan. M yang muncul adalah bilangan yang

sangat besar, namun tidak tak terhingga, sehingga sering disebut

dengan the big M.

Selanjutnya, sebelum nilai fungsi tujuan dipindah ke tabel simpleks,

bilangan M yang ada dalam fungsi tujuan tersebut harus dijadikan nol

Page 13: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

23

terlebih dahulu, karena setiap variabel dasar (slack atau artificial variabel),

harus bernilai nol.

Contoh kasus penyimpangan bentuk simpleks (Aris Budi Setyawan, 2006):

Minimalkan Z = 3X1 + 5X2

Dengan batasan:

Mesin A 2X1 = 8

Mesin B 3X2 ≤ 15

Mesin C 6X1 + 5X2 ≥ 30

Di mana X1 dan X2 ≥ 0

Maka proses perubahan menjadi kasus normalnya adalah sebagai berikut:

1. Untuk fungsi tujuan

Dari minimalkan Z = 3X1 + 5X2

Menjadi maksimalkan (-Z) = -3X1 – 5X2

2. Untuk fungsi batasan

• Fungsi batasan 1

Mesin A 2X1 = 8

Menjadi 2X1 + X3 = 8

X3 bar yang muncul bukan slack variable (variabel tambahan), namun

artificial variabel (variabel buatan), dan ini akan mengakibatkan

fungsi tujuannya memiliki tambahan nilai sebesar M.

Dari minimalkan Z = 3X1 + 5X2

maksimalkan (-Z) = -3X1 – 5X2

Menjadi maksimalkan -Z + 3X1 + 5X2 +MX3 = 0

Page 14: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

24

• Fungsi batasan 2

Mesin B 3X2 ≤ 15

Menjadi 3X2 + X4 = 15

Karena batasan kedua ini tidak ada penyimpangan maka untuk

menjadi persamaan simpleks, cukup ditambahkan slack variable saja.

• Fungsi batasan 3

Mesin C 6X1 + 5X2 ≥ 30

-6X1 – 5X2 ≤ -30

-6X1 – 5X2 + X5 = -30

Karena nilai X1 dan X2 negatif (tidak sesuai dengan syaratnya,

dimana X1 dan X2 ≥ 0), maka harus dikalikan dengan (-1), sehingga

menjadi: 6X1 + 5X2 – X5 = 30

Permasalahan yang timbul kemudian adalah slack variablenya

sekarang bernilai negatif, dan hal ini berarti harus meniadakan

variabel tersebut, sehingga perlu dibuatkan sebuah artificial variable,

dan hasilnya menjadi :

6X1 + 5X2 – X5 + X6 = 30

Penambahan artificial tersebut akan berdampak pada fungsi tujuan,

yakni dengan bertambahnya fungsi tujuan dengan bilangan M.

Sehingga fungsi tujuannya akan berubah lagi menjadi :

Maksimalkan –Z + 3X1 + 5 X2 + MX3 + MX6 = 0

Masalah berikutnya yang muncul adalah setiap variabel dasar (slack atau

artificial variable), harus bernilai nol, sehingga MX3 dan MX6 di atas harus di-

Page 15: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

25

nol-kan terlebih dahulu, sebelum dipindah ke tabel simpleks. Cara yang

digunakan adalah dengan mengurangi bilangan M tersebut dengan bilangan M

itu sendiri, yang sebelumnya dikalikan dengan setiap nilai batasan yang

menyebabkan munculnya bilangan M tersebut.

Nilai fungsi tujuan terakhir adalah 3 5 M 0 0 M 0

Hilangkan M yang pertama terlebih dahulu:

X1 X2 X3 X4 X5 X6 NK

3 5 M 0 0 M 0

(2 0 1 0 0 0 8) M _

3-2M 5 0 0 0 M -8M

Kemudian hilangkan M yang kedua:

X1 X2 X3 X4 X5 X6 NK

3-2M 5 0 0 0 M -8M

(6 5 0 0 -1 1 30) M _

-8M+3 -5M+5 0 0 M 0 -38M

Meskipun masih ada M pada kolom ke-5, namun M tersebut sudah tidak lagi

sebagai variabel dasar, karena sebelumnya (X5) telah bernilai negatif.

Nilai fungsi tujuan -8M+3 -5M+5 0 0 M 0 -38M

inilah yang selanjutnya akan dimasukkan ke dalam tabel awal dari tabel

simpleks. Setelah normal, langkah selanjutnya adalah sama seperti langkah-

langkah penyelesaian kasus simpleks sebelumnya.

Page 16: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

26

2.3.4 Kasus Khusus

Terdapat kasus khusus yang dapat terjadi dalam penyelesaian linear

programming dengan metode simpleks, yaitu (Kiswara Agung Santoso, 2000):

1. Degenerasi

Kasus ini terjadi apabila satu atau lebih dari satu variabel basis berharga nol

sehingga iterasi yang dilakukan selanjutnya bisa menjadi suatu loop yang

akan kembali ke bentuk sebelumnya. Kasus ini disebut circling. Untuk

solusinya cukup dilakukan iterasi hingga 3 kali, artinya jika ternyata masih

terjadi suatu loop, maka “hentikan”. Hal ini dilakukan karena tidak semua

persoalan menghasilkan solusi degenerate yang tetap. Dengan kata lain ada

persoalan yang suatu saat bersifat degenerate, tetapi pada iterasi berikutnya

degenerasi menghilang. Kasus ini disebut degenerasi temporer.

2. Solusi optimum banyak

Kasus ini terjadi apabila fungsi tujuan paralel dengan fungsi pembatas, di

mana paling sedikit salah satu variabel non basis pada persamaan fungsi

tujuan yang mempunyai koefisien nol. Akibatnya, walaupun variabel

tersebut dinaikkan harganya, tidak akan mengubah nilai fungsi tujuan.

Karena itu, solusi-solusi optimum yang lain ini biasanya dapat

diidentifikasi dengan menunjukkan iterasi-iterasi tambahan pada metode

simpleksnya dan variabel-variabel non basis yang berkoefisien nol itu

selalu dipilih menjadi entering variable.

Page 17: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

27

2.4 Dasar Perancangan Perangkat Lunak

Menurut Mahyuzir, perancangan merupakan proses penerapan bermacam-macam

teknik dan prinsip dengan tujuan mendefinisikan peralatan, proses atau sistem secara

rinci. Perancangan dilakukan pada tahap awal. Tujuan perancangan adalah menghasilkan

model yang akan dibuat. Perancangan perangkat lunak mengalami perubahan jika

didapatkan metode yang baru, analisis yang lebih baik dan penyusunan pengertian yang

lebih luas (Licyana Suryani, 2006).

2.4.1 Fase Pengembangan dan Perancangan Perangkat Lunak

Menurut Mahyuzir, fase pengembangan perangkat lunak terdiri dari tiga

langkah yang jelas, yaitu (Licyana Suryani, 2006):

1. Perancangan

Metodologi perancangan terdiri dari:

a. Perancangan data yang terfokus pada pendefinisian struktur data.

b. Perancangan arsitektur yang mendefinisikan hubungan antara elemen

yang utama dari struktur program.

c. Perancangan prosedural yang merupakan transformasi elemen dari

struktur program ke dalam deskripsi prosedural perangkat lunak.

2. Membuat source code

3. Uji coba

Setelah melalui tiga langkah di atas, maka dilakukan perpaduan

perangkat lunak dan validasi.

Rekayasa piranti lunak menurut Fritz Bauer adalah penetapan dan

pemakaian prinsip-prinsip rekayasa dalam rangka mendapatkan piranti lunak

Page 18: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

28

yang ekonomis yaitu terpercaya dan bekerja efisien pada mesin (komputer)

(Hendra Prasetyo, 2009).

Rekayasa piranti lunak menurut Pressman adalah suatu pembentukan dan

penggunaan prinsip-prinsip rekayasa dengan tujuan menghasilkan suatu

perangkat lunak yang ekonomis dan dapat diandalkan serta dapat bekerja secara

efisien pada mesin yang sesungguhnya. Pada dasarnya rekayasa piranti lunak

meliputi tiga elemen kunci yaitu (Eka Janitra, 2009):

1. Methods (metode)

Mengenai bagaimana membangun suatu perangkat lunak, di mana metode

terdiri dari beberapa tugas yaitu perencanaan proyek dan estimasi, analisis

kebutuhan perangkat lunak, perancangan struktur data, arsitektur program,

prosedur algoritma, pengkodean, testing dan pemeliharaan.

2. Tools (alat bantu)

Tools menyediakan dukungan baik secara otomatis maupun semi otomatis

untuk metode. Tools diintegrasikan dengan tujuan informasi yang

dihasilkan oleh suatu tools dapat digunakan oleh tools lainnya.

3. Procedures (prosedur)

Procedures merupakan perekat antara metode. Tools dan procedures juga

memungkinkan pembangunan perangkat lunak secara rasional dan berkala.

2.4.2 Prototype Model

Prototyping merupakan salah satu metode pengembangan perangkat

lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan

pelanggan dapat saling berinteraksi selama proses pembuatan sistem.

Page 19: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

29

Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa

yang dikehendakinya tanpa menyebutkan secara detail output apa saja yang

dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya di

sisi pengembang kurang memperhatikan efisiensi algoritma, kemampuan sistem

operasi dan interface yang menghubungkan manusia dan komputer.

Untuk mengatasi ketidakserasian antara pelanggan dan pengembang,

maka harus dibutuhkan kerja sama yang baik di antara keduanya sehingga

pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan

dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui

proses-proses dalam menyelesaikan sistem yang diinginkan. Dengan demikian

akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah

ditentukan.

Kunci agar model prototype ini berhasil dengan baik adalah dengan

mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan

pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan

kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat

lunak aktual direkayasa dengan kualitas dan implementasi yang sudah

ditentukan.

Tahapan-tahapan dalam prototyping adalah sebagai berikut:

1. Pengumpulan kebutuhan

Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh

perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar

sistem yang akan dibuat.

Page 20: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

30

2. Membangun prototyping

Membangun prototyping dengan membuat perancangan sementara yang

berfokus pada penyajian kepada pelanggan (misalnya dengan membuat

input dan format output).

3. Evaluasi prototyping

Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah

dibangun sudah sesuai dengan keinginan pelanggan. Jika sudah sesuai

maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan

mengulangi langkah 1, 2, dan 3.

4. Mengkodekan sistem

Dalam tahap ini prototyping yang sudah disepakati diterjemahkan ke dalam

bahasa pemrograman yang sesuai.

5. Menguji sistem

Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus

di tes dahulu sebelum digunakan. Pengujian ini dilakukan dengan White

Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain.

6. Evaluasi sistem

Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai

dengan yang diharapkan. Jika ya, langkah 7 dilakukan; jika tidak, ulangi

langkah 4 dan 5.

7. Menggunakan sistem

Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk

digunakan.

Page 21: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

31

Keunggulan prototyping adalah:

1. Adanya komunikasi yang baik antara pengembang dan pelanggan.

2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan

pelanggan.

3. Pelanggan berperan aktif dalam pengembangan sistem.

4. Lebih menghemat waktu dalam pengembangan sistem.

5. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang

diharapkannya.

Kelemahan prototyping adalah:

1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak

yang ada belum mencantumkan kualitas perangkat lunak secara

keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk

jangka waktu lama.

2. Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga

menggunakan algoritma dan bahasa pemrograman yang sederhana untuk

membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut

bahwa program tersebut hanya merupakan cetak biru sistem.

3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak

mencerminkan teknik perancangan yang baik.

Prototyping bekerja dengan baik pada penerapan-penerapan yang berciri sebagai

berikut:

1. Resiko tinggi yaitu untuk masalah-masalah yang tidak terstruktur dengan

baik, ada perubahan yang besar dari waktu ke waktu, dan adanya

persyaratan data yang tidak menentu.

Page 22: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

32

2. Interaksi pemakai penting, sistem harus menyediakan dialog on-line

antara pelanggan dan komputer.

3. Perlunya penyelesaian yang cepat.

4. Perilaku pemakai yang sulit ditebak.

5. Sistem yang inovatif, sistem tersebut membutuhkan cara penyelesaian

masalah dan penggunaan perangkat keras yang mutakhir.

6. Perkiraan tahap penggunaan sistem yang pendek.

2.4.3 Proses Perancangan

Perancangan perangkat lunak adalah suatu proses di mana informasi-

informasi yang telah diperoleh diterjemahkan ke dalam model perangkat lunak.

Model perangkat lunak memegang peranan penting dalam penulisan program

(Licyana Suryani, 2006).

Berdasarkan manajemen proyek, perancangan perangkat lunak dikerjakan

dalam 2 langkah, yaitu (Licyana Suryani, 2006)

1. Perancangan awal

Yakni transformasi informasi-informasi ke dalam arsitektur data dan

perangkat lunak.

2. Perancangan rinci

Perancangan ini terfokus pada perbaikan model arsitektur yang memegang

peranan penting dalam pembuatan struktur data dan algoritma secara rinci

dari perangkat lunak.

Page 23: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

33

2.4.4 Struktur Program

Gambar 2.1 Diagram Struktur Programming

Struktur program menggambarkan organisasi (hirarki) dari komponen

program (modul) dan juga menyatakan kontrol hirarki. Struktur program tidak

menggambarkan aspek prosedural perangkat lunak seperti urutan proses,

keputusan ataupun perulangan. Banyak notasi yang dapat digunakan untuk

menggambarkan struktur program, tetapi yang lebih umum adalah dalam bentuk

diagram pohon atau sering disebut sebagai bagan struktur (Licyana Suryani,

2006).

Depth dan width menyatakan jumlah tingkat yang dikontrol dan

keseluruhan tentang kontrol (Licyana Suryani, 2006).

Fan Out

Page 24: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

34

Menyatakan jumlah modul yang secara langsung dikontrol oleh modul

yang ada di atasnya.

Fan In

Menyatakan jumlah modul yang mengontrol atau memanggil secara

bersama-sama dan langsung terhadap modul yang ada di bawahnya.

Hubungan kontrol di antara modul dapat dinyatakan dalam 2 bentuk,

yaitu (Licyana Suryani, 2006):

1. Modul superordinate

Modul yang mengontrol atau memanggil modul yang ada di bawahnya

secara langsung.

2. Modul subordinate

Modul yang dikontrol atau dipanggil oleh modul yang ada di atasnya.

Pada Gambar 2.2 modul M adalah superordinate untuk modul A,B,C.

Modul O,P,Q, dan R adalah modul subordinate dari modul L dan pada akhirnya

subordinate dari modul M.

2.5 Interaksi Manusia dan Komputer

Manusia adalah makhluk yang sering berinteraksi dengan manusia lain. Oleh

karena itulah maka penggunaan komputer dibuat sesederhana mungkin sehingga

manusia dapat berinteraksi dengan komputer semudah berinteraksi dengan manusia lain.

Proses penyederhanaan ini dikenal dengan interactive user interface (Yolanda, 2009).

Menurut Shneiderman, interaksi manusia dan komputer merupakan disiplin ilmu

yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer

interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang

berhubungan dengannya (Ade Arisandi, 2009).

Page 25: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

35

Pada interaksi manusia dan komputer ditekankan pada pembuatan antarmuka

pemakai (user interface). User interface yang dibuat diusahakan sedemikian rupa

sehingga seorang user dapat dengan baik dan nyaman menggunakan aplikasi perangkat

lunak dibuat (Ade Arisandi, 2009).

Antar muka pemakai (user interface) adalah bagian sistem komputer yang

memungkinkan manusia berinteraksi dengan komputer. Tujuan antar muka pemakai

adalah agar sistem komputer dapat digunakan untuk menunjuk pada kemampuan yang

dimiliki oleh piranti lunak atau program aplikasi yang mudah dioperasikan dan dapat

membantu menyelesaikan suatu persoalan dengan hasil yang sesuai dengan keinginan

user, sehingga user merasa nyaman mengoperasikan program tersebut (Ade Arisandi,

2009).

2.5.1 Program Interaktif

Suatu program yang interaktif dan baik harus bersifat user friendly. Ada

lima kriteria yang harus dimiliki oleh suatu program sehingga dapat berinteraksi

dengan baik dan bersifat user friendly. Lima kriteria tersebut adalah (Yolanda,

2009):

1. Memiliki waktu belajar yang relatif singkat.

2. Mampu memberikan informasi yang diperlukan dengan cepat.

3. Mudah untuk dioperasikan oleh user.

4. Kemudahan untuk mengingat program tersebut walaupun telah lama tidak

mengoperasikannya.

5. Kepuasan pribadi.

Page 26: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

36

2.5.2 Pedoman Merancang User Interface

Beberapa pedoman yang dianjurkan dalam merancang suatu program,

guna mendapatkan suatu program yang user friendly adalah sebagai berikut (Ade

Arisandi, 2009):

1. Delapan aturan emas (eight golden rules)

Untuk merancang sistem interaksi manusia dan komputer yang baik, harus

memperhatikan delapan aturan emas (eight golden rules) dalam

perancangan antar muka. Eight golden rules tersebut yaitu (Hendra

Prasetyo, 2009):

a. Strive for consistency

Konsistensi dalam perancangan antar muka dan bertahan untuk

konsistensi.

b. Enable frequent user to use shortcuts

Memungkinkan/ memperbolehkan user menggunakan shortcuts

secara berkala.

c. Over informative feed back

Memberikan umpan balik yang informatif.

d. Design dialogs to yield closure

Pengorganisasian yang baik sehingga user mengetahui kapan awal

dan akhir dari suatu action serta merancang dialog untuk

menghasilkan keadaan akhir.

e. Over simple error handling

Memberikan penanganan kesalahan yang sederhana sehingga user

mampu mengetahui dan memperbaiki kesalahan dengan mudah.

Page 27: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

37

f. Permit easy reversal of actions

Mengijinkan pembalikan action dengan mudah.

g. Support internal locus of control

Mendukung user menguasai sistem yang dibuat sehingga user mampu

aktif dalam mengambil langkah selanjutnya bukan hanya merespon

pesan yang muncul.

h. Short-term memory load

Mengurangi beban ingatan jangka pendek kepada user sehingga

perancangannya harus sederhana.

2. Teori waktu respon

Waktu respon dalam sistem komputer menurut Scheiderman adalah jumlah

detik dari saat user program memulai aktivitas sampai menampilkan

hasilnya di layar atau printer. Pemakai lebih menyukai waktu respon yang

pendek, waktu respon yang panjang mengganggu, waktu respon yang

pendek menyebabkan waktu user berpikir lebih pendek. Waktu respon

harus sesuai dengan tugasnya, dan pemakai harus diberi tahu mengenai

penundaan yang panjang.

2.6 Diagram Alir

Diagram alir merupakan alat bantu pemrograman. Bagan alir (flowchart)

membantu programmer dalam mengorganisasikan pemikiran mereka dalam

pemrograman, terutama bila dibutuhkan penalaran yang tajam dalam logika prosedur

suatu program (Yolanda, 2009).

Page 28: BAB 2 LANDASAN TEORI - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2010-1-00495-MTIF Bab 2.pdf · atau bersama dengan fungsi kendala berbentuk non linear

38

Simbol-simbol yang sering digunakan untuk diagram alir adalah sebagai berikut

(Yolanda, 2009):

1. Proses

Berupa proses/ pengolahan, misalnya perhitungan.

Untuk predefined process.

2. Operasi input/ output.

3. Operasi manual input.

4. Panah, menghubungkan antar komponen dan

menunjukkan arah.

5. Decision, berupa pertanyaan atau penentuan suatu

keputusan.

6. Terminal, untuk menandai awal atau akhir program.

7. Preparation, untuk inisialisasi suatu nilai.

8. Connector, sebagai penghubung dalam satu halaman.

9. Off page connector, sebagai penghubung antar halaman.