BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
PENERAPAN LOGIKA FUZZY PADA PROGRAM LINEAR

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. besar dan mampu membantu pemerintah dalam mengurangi tingkat pengangguran.

BAB II LANDASAN TEORI. Pemrograman linear (PL) ialah salah satu teknik dari riset operasi untuk

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI. A. Sistem Persamaan Linear dan Sistem Pertidaksamaan Linear

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Bab 2 LANDASAN TEORI

MATEMATIKA SISTEM INFORMASI 2 [KODE/SKS : IT / 2 SKS]

UNIVERSITAS BINA NUSANTARA

LINEAR PROGRAMMING. 1. Pengertian 2. Model Linear Programming 3. Asumsi Dasar Linear Programming 4. Metode Grafik

BAB II KAJIAN TEORI. masalah fuzzy linear programming untuk optimasi hasil produksi pada bab

Operations Management

RISET OPERASIONAL MINGGU KE-2. Disusun oleh: Nur Azifah., SE., M.Si. Linier Programming: Formulasi Masalah dan Model

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 3 LINEAR PROGRAMMING

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II KAJIAN TEORI. Berikut diberikan landasan teori mengenai teori himpunan fuzzy, program

LINIEAR PROGRAMMING MATEMATIKA BISNIS ANDRI HELMI M, S.E., M.M.

III. METODE PENELITIAN

LINEAR PROGRAMMING MODEL SIMPLEX

BAB 2 LANDASAN TEORI

BAB 3 METODOLOGI PENELITIAN

PROGRAM LINIER METODE GRAFIK

penelitian, yaitu kontribusi margin dan kendala. Berikut adalah pengertian dari

PROGRAM LINIER METODE SIMPLEKS

Metode Simpleks M U H L I S T A H I R

FUZZY LINIER PROGRAMMING UNTUK PEMILIHAN JENIS KENDARAAN DALAM MENGANTISIPASI KEMACETAN LALU LINTAS DI KOTA MEDAN

MENENTUKAN JUMLAH PRODUKSI BATIK DENGAN MEMAKSIMALKAN KEUNTUNGAN MENGGUNAKAN METODE LINEAR PROGRAMMING PADA BATIK HANA

PROGRAM LINEAR: METODE SIMPLEX

III KERANGKA PEMIKIRAN

BAB 2 LANDASAN TEORI. seperti PLTU, PLTN, PLTA, dan lain-lain.

OPTIMALISALI KASUS PEMROGRAMAN LINEAR DENGAN METODE GRAFIK DAN SIMPLEKS

Pengantar Teknik Industri TIN 4103

BAB II TINJAUAN PUSTAKA

METODE SIMPLEKS DALAM PROGRAM LINIER

Bab 2 LANDASAN TEORI. 2.1 Pengantar Proses Stokastik

LINEAR PROGRAMMING. Pembentukan model bukanlah suatu ilmu pengetahuan tetapi lebih bersifat seni dan akan menjadi dimengerti terutama karena praktek.

BAB II LANDASAN TEORI. Dalam bab ini dibahas beberapa definisi dan konsep-konsep yang

ANALISIS CONTRIBUTION MARGIN ATAS PRODUK-PRODUK PADA USAHA WARUNG MAKAN PUTRA BUKIT DI TENGGARONG (PENERAPAN METODE SIMPLEK)

BAB 1 PENDAHULUAN Latar Belakang

Fungsi kendala tidak hanya dibentuk oleh pertidaksamaan tetapi juga oleh pertidaksamaan dan/atau persamaan =. Fungsi kendala dengan pertidaksamaan

MODUL PRAKTIKUM RISET OPERASIOANAL (ATA 2011/2012)

BAB II LANDASAN TEORI

PENGEMBANGAN PERANGKAT LUNAK

BAB II TEORI PENUNJANG

BAB 2 LANDASAN TEORI

Pengambilan Keputusan dalam keadaan ada kepastian. IRA PRASETYANINGRUM, S.Si,M.T

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Taufiqurrahman 1

METODE SIMPLEKS DALAM PROGRAM LINIER

MODUL PRAKTIKUM RISET OPERASIONAL 1

BAB II KAJIAN TEORI. yang diapit oleh dua kurung siku sehingga berbentuk empat persegi panjang atau

OPTIMASI (Pemrograman Non Linear)

Ardaneswari D.P.C., STP, MP.

BAB 2 LANDASAN TEORI. Menurut Kamus Besar Bahasa Indonesia Kontemporer, pembelian didefinisikan

BAB 2 LANDASAN TEORI

MATEMATIKA SISTEM INFORMASI 2 IT

METODE SIMPLEKS DALAM PROGRAM LINIER

BAB II KAJIAN PUSTAKA

MATA KULIAH RISET OPERASIONAL

Model umum metode simpleks

FUZZY MULTI-CRITERIA DECISION MAKING

BAB 1 PENDAHULUAN Latar Belakang

Bab 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Semua perusahaan menjalankan bisnisnya dengan memproduksi suatu barang

BAB II KAJIAN PUSTAKA

BAB 2 LANDASAN TEORI. 2.1 Pengertian Program Linier (Linear Programming)

PROGRAM LINEAR DENGAN METODE SIMPLEX

Operations Management

BAB II METODE SIMPLEKS

BAB II. PEMROGRAMAN LINEAR

OPTIMALISASI PRODUKSI MENGGUNAKAN MODEL LINEAR PROGRAMMING (Studi Kasus : Usaha Kecil Menengah Kue Semprong)

BAB II KAJIAN PUSTAKA. pemrograman nonlinear, fungsi konveks dan konkaf, pengali lagrange, dan

BAB II KAJIAN TEORI. Pada bab ini akan dibahas mengenai beberapa definisi dan teori yang akan

Riset Operasional LINEAR PROGRAMMING

Pendahuluan. Secara Umum :

OPTIMASI TARGET PRODUKSI FINGERJOINT di PT. KM

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

CCR314 - Riset Operasional Materi #2 Ganjil 2015/2016 CCR314 RISET OPERASIONAL

CCR-314 #2 Pengantar Linear Programming DEFINISI LP

PROGRAM LINIER PROGRAM LINIER DENGAN GRAFIK PERTEMUAN 2 DEFINISI PROGRAM LINIER (1)

Bab 2 LANDASAN TEORI

Manajemen Sains. Eko Prasetyo. Teknik Informatika UMG Modul 3 PEMROGRAMAN LINIER METODE SIMPLEKS

BAB II TINJAUAN PUSTAKA

a. untuk (n+1) genap: terjadi ekstrem, dan jika (ii) f (x ) > 0, maka f(x) mencapai minimum di titik x.

BAB II LANDASAN TEORI. sehingga komputer dapat memproses input menjadi output.

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

Team Dosen Riset Operasional Program Studi Teknik Informatika Universitas Komputer Indonesia

BAB I PENDAHULUAN. Dinas Pendidikan, Pemuda dan Olahraga Kota Tanjungpinang merupakan

BAB II TINJAUAN PUSTAKA

Pemodelan dalam RO. Sesi XIV PEMODELAN. (Modeling)

Transkripsi:

BAB 2 LANDASAN TEORI 2.1 Optimasi Menurut Nash dan Sofer (1996), optimasi adalah sarana untuk mengekspresikan model matematika yang bertujuan memecahkan masalah dengan cara terbaik. Untuk tujuan bisnis, hal ini berarti memaksimalkan keuntungan dan efisiensi serta meminimalkan kerugian, biaya atau resiko. Hal ini juga berarti merancang sesuatu untuk meminimalisasi bahan baku atau memaksimalisasi keuntungan. Adapun keinginan untuk memecahkan masalah dengan model optimasi secara umum sudah digunakan pada banyak aplikasi. Model optimasi telah digunakan selama berabad-abad. Pada masa sekarang ini, optimasi menjadi sangat esensial untuk tujuan bisnis yang semakin kompleks dan rumit. Para insinyur pun menjadi semakin ambisius dalam mengembangkan hal ini. Dalam banyak hal, keputusan dapat saja dibuat tanpa mempertimbangkan tujuan dari model tersebut. Sebagai contoh, dalam kerjasama multinasional, sebagian kecil perkembangan proses operasi dapat mencapai peningkatan keuntungan berjuta-juta dolar. Tetapi, untuk mencapainya dibutuhkan analisis dan kerjasama setiap divisi. Untuk model yang kompleks, dengan berbagai kerumitan yang ada, keputusan bisnis akan sangat berpengaruh. Dalam beberapa dasawarsa ini, telah dikembangkan hardware dan software komputer, yang berhasil melakukan optimasi secara praktis dalam bisnis dan ilmu pengetahuan. Sekarang ini,

6 pemecahan masalah dengan ribuan atau bahkan jutaan variabel menjadi mungkin untuk diselesaikan. Dalam skripsi ini, akan dibahas model optimisasi yang berhubungan dengan Linear Programming. 2.2 Linear Programming Linear Programming merupakan model umum yang dapat digunakan dalam pemecahan masalah pengalokasian sumber-sumber yang terbatas secara optimal. Masalah tersebut timbul apabila seseorang diharuskan untuk memilih atau menentukan tingkat setiap kegiatan yang akan dilakukannya, di mana masing-masing kegiatan membutuhkan sumber yang sama sedangkan jumlahnya terbatas. Secara sederhana, dapat diambil contoh bagian produksi suatu perusahaan yang dihadapkan pada masalah penentuan tingkat produksi masingmasing jenis produk dengan memperhatikan batasan faktor-faktor produksi: mesin, tenaga kerja, bahan mentah, dan sebagainya untuk memperoleh tingkat keuntungan maksimal atau biaya yang minimal. Pada masa modern sekarang, Linear Programming masih menjadi pilihan dalam upaya untuk memperoleh tingkat keuntungan maksimal atau biaya yang minimal. Dalam memecahkan masalah di atas, Linear Programming menggunakan model matematis. Sebutan linear berarti bahwa semua fungsi matematis yang disajikan dalam model ini haruslah fungsi-fungsi linier. Dalam Linear Programming dikenal dua macam fungsi, yaitu fungsi tujuan (objective function) dan fungsi-fungsi batasan (constraint function). Fungsi tujuan adalah fungsi yang

7 menggambarkan tujuan/sasaran di dalam permasalahan Linear Programming yang berkaitan dengan pengaturan secara optimal sumber daya-sumber daya, untuk memperoleh keuntungan maksimal atau biaya minimal. Pada umumnya nilai yang akan dioptimalkan dinyatakan sebagai Z. Fungsi batasan merupakan bentuk penyajian secara matematis batasan-batasan kapasitas yang tersedia yang akan dialokasikan secara optimal ke berbagai kegiatan. Menurut Supranto(1983,p76-82), suatu persoalan disebut persoalan Linear Programming apabila memenuhi: 1. Tujuan (obyektif) yang akan dicapai harus dapat dinyatakan dalam fungsi linier. Fungsi ini disebut fungsi tujuan (fungsi obyektif). 2. Harus ada alternatif pemecahan yang membuat nilai fungsi tujuan optimum (laba yang maksimum, biaya yang minimum). 3. Sumber-sumber tersedia dalam jumlah yang terbatas (bahan mentah, modal, dan sebagainya). Kendala-kendala ini harus dinyatakan di dalam pertidaksamaan linier (linear inequalities). Pada dasarnya, persoalan Linear Programming dapat dirumuskan sebagai berikut. Cari x 1,x 2,, x j,, x n. sedemikian rupa sehingga Z = c 1 x 1 + c 2 x 2 + + c j x j + + c n x n = Optimum (Maksimum atau Minimum)

8 dengan kendala: a a a... a 11 12 13 x m1 x x 1 1 1 x 1 + a + a + a 21 + a 22 23 x x x m2 2 2 2 x +... + a +... + a +... + a 2 m1 m2 m3 +... + a x mn x x m m m x n h 1 h h 2 3 h m x, x 1 2,..., x j,..., x n 0 Keterangan: Ada n macam barang yang akan diproduksi masing-masing sebesar x 1, x 2,, x j, x n. x j = banyaknya produksi barang yang ke j, j = 1,2,,n c j = harga per satuan barang ke j, disebut price Ada m macam bahan mentah masing-masing tersedia h 1, h 2,, h j,, h m. h i = banyaknya bahan mentah ke i, i = 1,2,,m a ij = banyaknya bahan mentah ke i yang dipergunakan untuk memproduksi 1 satuan barang ke j x j unit memerlukan a ij unit bahan mentah i. 2.2.1 Asumsi-asumsi Linear Programming Asumsi-asumsi Linear Programming dapat dirinci sebagai berikut. o Proportionality Asumsi ini berarti bahwa naik turunnya nilai Z dan penggunaan sumber atau fasilitas yang tersedia akan berubah

9 secara sebanding (proporsional) dengan perubahan tingkat kegiatan. Z = C 1 X 1 + C 2 X 2 + C 3 X 3 +..C n X n Setiap penambahan 1 unit X 1 akan menaikkan Z dengan C 1. Setiap penambahan 1 unit X 2 akan menaikkan Z dengan C 2, dan seterusnya. a 11 X 1 + a 12 X 2 + a 13 X 3 +.. + a n X n b 1 Setiap penambahan 1 unit X 1 akan menaikkan penggunaan sumber/fasilitas 1 dengan a 11. Setiap penambahan 1 unit X 2 akan menaikkan penggunaan sumber/fasilitas 1 dengan a 12, dan seterusnya. Asumsinya adalah, setiap ada kenaikan kapasitas riil tidak perlu ada biaya persiapan (set up cost). o Additivity Asumsi ini berarti bahwa nilai tujuan tiap kegiatan tidak saling mempengaruhi, atau dalam Linear Programming dianggap bahwa kenaikan dari nilai tujuan (Z) yang diakibatkan oleh kenaikan suatu kegiatan dapat ditambahkan tanpa mempengaruhi bagian nilai Z yang diperoleh dari kegiatan lain. Z = 3X 1 + 5X 2 di mana X 1 = 10; X 2 = 2; Sehingga Z = 30 + 10 = 40

10 Jika X 1 bertambah 1 unit, maka sesuai dengan asumsi, maka nilai Z menjadi 40 + 3 = 43. Jadi, nilai 3 karena kenaikan X 1 dapat langsung ditambahkan pada nilai Z mula-mula tanpa mengurangi bagian Z yang diperoleh dari kegiatan 2 (X 2 ). Dengan kata lain, tidak ada korelasi antara X 1 dan X 2. o Divisibility Asumsi ini menyatakan bahwa keluaran yang dihasilkan oleh setiap kegiatan dapat berupa bilangan pecahan. Demikian pula dengan nilai Z yang dihasilkan. o Deterministic (certainty) Asumsi ini menyatakan bahwa semua parameter yang terdapat dalam model Linear Programming (a ij, b i, c j ) dapat diperkirakan dengan pasti, meskipun jarang dengan tepat. 2.3 Simplex Linear Programming Apabila suatu masalah Linear Programming hanya mengandung dua kegiatan (variabel-variabel keputusan) saja, maka dapat diselesaikan dengan metode grafik. Bila terdapat lebih dari dua variabel maka metode grafik tidak dapat digunakan lagi, sehingga diperlukan metode simpleks. Metode ini lazim dipakai untuk menentukan kombinasi dari tiga variabel atau lebih. Masalah Linear Programming yang melibatkan banyak variabel keputusan dapat dengan cepat dipecahkan dengan bantuan komputer. Bila variabel keputusan yang dikandung tidak terlalu banyak, masalah tersebut dapat diselesaikan dengan suatu algoritma yang biasanya sering disebut metode tabel

11 simpleks. Disebut demikian karena kombinasi variabel keputusan yang optimal dicari dengan menggunakan tabel-tabel. Menurut Subagyo et al. (1983,p34-39), langkah-langkah metode tabel simpleks adalah sebagai berikut. 1. Mengubah fungsi tujuan dan batasan-batasan Fungsi tujuan diubah menjadi fungsi implisit, artinya semua c j x j digeser ke kiri. 2. Menyusun persamaan-persamaan di dalam tabel Setelah formulasi disusun ke dalam tabel dan simbol, maka akan tampak seperti pada tabel 2.3. Tabel 2.1. Tabel simpleks dalam bentuk simbol Sumber: Subagyo (1983, p50) Variabel dasar Z X 1 X 2 X n X n+1 X n+2 X n+m NK Z 1 -c 1 -c 2 -c n 0 0 0 0 X n+1 0 a 11 a 12 a 1n 1 0 0 b 1 X n+2 0 a 21 a 22 a 2n 0 1 0 b 2.................. X n+m 0 a m1 a m2 a mn 0 0 1 b m NK adalah nilai kanan persamaan, yaitu nilai di belakang tanda sama dengan (=). Variabel dasar adalah variabel yang nilainya sama dengan sisi kanan dari persamaan. Pada tabel tersebut, nilai variabel dasar pada fungsi tujuan (fungsi permulaan) ini harus 0, dan nilainya pada kendala-kendala bertanda positif. Setelah data disusun dalam tabel-tabel di atas kemudian diadakan perubahan-perubahan agar dapat mencapai titik optimal, dengan langkahlangkah selanjutnya.

12 3. Memilih kolom kunci Kolom kunci adalah kolom yang merupakan dasar untuk mengubah tabel di atas. Dipilih kolom yang mempunyai nilai pada baris fungsi tujuan yang bernilai negatif dengan angka terbesar. Kalau suatu tabel sudah tidak memiliki nilai negatif pada baris fungsi tujuan, berarti tabel itu tidak bisa dioptimalkan lagi. 4. Memilih baris kunci Baris kunci adalah baris yang merupakan dasar untuk mengubah tabel tersebut di atas. Untuk itu, terlebih dahulu dicari indeks tiap-tiap baris dengan cara membagi nilai-nilai pada kolom NK dengan nilai yang sebaris pada kolom kunci. Indeks = nilai kolom NK / nilai kolom kunci. Kemudian dipilih angka yang memiliki nilai positif terkecil. 5. Mengubah nilai-nilai baris kunci Nilai baris kunci diubah dengan cara membaginya dengan angka kunci. 6. Mengubah nilai-nilai selain pada baris kunci Nilai-nilai baris yang lain, selain pada baris kunci dapat diubah dengan rumus berikut: Baris baru = baris lama (koefisien pada kolom kunci) x nilai baru baris kunci 7. Melanjutkan perbaikan-perbaikan/perubahan-perubahan Ulangi langkah perbaikan mulai langkah ke-3 sampai langkah ke-6 untuk memperbaiki tabel-tabel yang telah diubah/diperbaiki nilainya.

13 Perubahan baru berhenti setelah baris pertama (fungsi tujuan) tidak ada yang bernilai negatif. Menurut Subagyo et al. (1995,p43-46), terdapat beberapa ketentuan tambahan yang berupa : 1) Terdapat lebih dari satu kolom bernilai negatif terbesar yang sama Kalau pada baris fungsi tujuan terdapat lebih dari satu kolom yang mempunyai nilai negatif yang angkanya terbesar dan sama, maka ada dua kolom yang bisa terpilih menjadi kolom kunci. Untuk mengatasi hal ini, dapat dipilih salah satu secara sembarang. 2) Dua baris atau lebih mempunyai indeks positif terkecil Kalau ada dua baris atau lebih yang mempunyai nilai positif terkecil yang sama, maka ada beberapa baris yang dapat terpilih sebagai baris kunci. Dapat dipilih baris kunci secara bebas di antara keduanya dan hasilnya akan sama. 3) Kenaikan nilai Z tidak terbatas Nilai Z (tujuan) suatu permasalahan dapat ditambah terus bila paling tidak ada satu kegiatan yang tidak ada batasannya. Kalau di dalam Linear Programming muncul hal-hal semacam ini, tidak perlu dilanjutkan, cukup disebutkan bahwa kenaikan nilai Z dapat tidak terbatas. Di samping itu, ada baiknya pula bila diteliti lagi formulasi masalahnya, sebab hal ini dapat pula terjadi karena kesalahan dalam formulasi.

14 4) Multiple Optional Solutions Untuk mengetahui apakah suatu masalah Linear Programming bersifat multiple solutions atau tidak, dilihat baris fungsi tujuan pada tabel terakhir (optimal). Apabila dalam baris itu terdapat paling tidak satu kolom variabel yang mempunyai nilai 0 maka masalah itu bersifat multiple solutions. Masalah itu akan menghasilkan paling tidak dua alternatif yang mempunyai nilai Z yang sama. Selain itu juga ada penyimpangan-penyimpangan dari bentuk standar, dimana penyimpangan-penyimpangan tersebut akan diatasi agar bisa diselesaikan dengan metode simpleks. a) Batasan dengan tanda sama dengan Kalau suatu batasan memakai tanda kesamaan, maka cara mengatasinya dengan menambahkan variabel buatan (artificial variable). b) Minimasi Fungsi tujuan dari permasalahan Linear Programming yang bersifat minimasi, harus diubah menjadi maksimasi, agar sesuai dengan bentuk standar, yaitu maksimasi. Caranya adalah dengan mengganti tanda positif dan negatif pada fungsi tujuan.

15 c) Fungsi pembatas bertanda Bila suatu fungsi pembatas bertanda, maka harus diubah menjadi dan akhirnya menjadi = agar dapat diselesaikan dengan metode simpleks. d) Bagian kanan persamaan bertanda negatif Bila bagian kanan persamaan bertanda negatif maka harus diubah menjadi positif. Caranya dengan mengubah tanda positif negatif dari tiap-tiap koefisien, kemudian ditambah dengan variabel buatan. e) Bila minimum nilai X j boleh negatif Pada bentuk standar, nilai X j harus selalu positif (dengan batasan X j 0). Tetapi kadang-kadang suatu masalah dapat menghasilkan formulasi Linear Programming yang memungkinkan nilai X j negatif. f) Bila nilai X j boleh positif atau negatif Kalau hasil Linear Programming memungkinkan nilai X j positif maupun negatif dan tidak ada batas negatif tertentu (negatif berapa pun dimungkinkan) maka nilai X j diubah menjadi X'j - X''j, dengan ketentuan sebagai berikut: X'j = mewakili nilai positif dari X j X''j = mewakili nilai negatif dari X j

16 2.4 Fuzzy Linear Programming 2.4.1 Alasan Digunakannya Logika Fuzzy Ada beberapa alasan orang menggunakan logika fuzzy, antara lain: 1. Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti. 2. Logika fuzzy sangat fleksibel. 3. Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat. 4. Logika fuzzy mampu memodelkan fungsi-fungsi non-linier yang sangat kompleks. 5. Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan. 6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional. 7. Logika fuzzy didasarkan pada bahasa alami. Pada Fuzzy Linear Programming, bentuk persamaan akan mengalami sedikit perubahan sebagai berikut. Bentuk imperatif pada fungsi obyektif tidak lagi benar-benar maksimum atau minimum, karena adanya beberapa hal yang perlu mendapat pertimbangan dalam suatu sistem. Tanda (pada batasan) dalam kasus maksimasi dan tanda (pada batasan) dalam kasus minimasi tidak lagi bermakna crisp secara

17 matematis, namun sedikit mengalami pelanggaran makna. Hal ini juga disebabkan karena adanya beberapa yang perlu dipertimbangkan dalam sistem yang mengakibatkan batasan tidak dapat didekati secara tegas. Contoh kasus maksimasi pada Linear Programming: Maksimumkan: f(x) = c T x dengan batasan: Ax b x 0 dengan c,xєr n,bєr m,aєr mxn dan A,b,c adalah bilangan crisp. Pada Fuzzy Linear Programming, akan dicari suatu nilai z yang merupakan fungi obyektif yang akan dioptimasikan sedemikian hingga tunduk pada batasan-batasan yang dimodelkan dengan menggunakan himpunan fuzzy. Akhirnya persamaan di atas dirubah menjadi sebagai berikut. Tentukan x sedemikian hingga: c T x z Ax b X 0

18 Contoh kasus minimasi pada Linear Programming: Minimumkan: f(x)=c T x dengan batasan: Ax b x 0 dengan c,xєr n,bєr m,aєr mxn Minimasi pada Fuzzy Linear Programming: Tentukan x sedemikian hingga: c T x z Ax b X 0 Tiap-tiap batasan (0, 1, 2,, m) akan direpresentasikan dengan sebuah himpunan fuzzy, dengan fungsi keanggotaan pada himpunan ke-i adalah µ i [B i x]. Fungsi keanggotaan untuk model keputusan himpunan fuzzy dapat dinyatakan sebagai: µ D [x] = min{µ i [B i x]} i Tentu saja diharapkan akan didapat solusi terbaik, yaitu solusi dengan nilai keanggotaan yang paling besar. Dengan demikian solusi sebenarnya adalah: max µ D [Bx] = max min{µ i [B i x]} (1) x 0 x 0 i

19 Dari sini terlihat bahwa µ i [B i x]=0 jika batasan ke-i benar-benar dilanggar. Sebaliknya, µ i [B i x]=1 jika batasan ke-i benar-benar dipatuhi. Nilai µ i [B i x] akan naik secara monoton pada selang [0,1], yaitu: 1; jika B i x d i µ i [B i x]= є [0,1] jika d i < B i x d i + p i (2) 0; jika B i x > d i + p i i = 0, 1, 2,, m Gambar 2.1 menunjukkan fungsi keanggotaan tersebut. [B i x] 1 µ i [B i x] 0 d i d i + p i Gambar 2.1 Fungsi Keanggotaan p i 1; jika B i x d i µ i [x]= 1- B i x- d i; jika d i < B i x d i + p i p i 0; jika B i x > d i + p i i = 0, 1, 2,, m dengan p i adalah toleransi interval yang diperbolehkan untuk melakukan pelanggaran baik pada fungi obyektif maupun batasan. Dengan mensubstitusikan (2) ke (1) akan diperoleh: max µ D [Bx] = max min 1- B i x- d i x 0 x 0 i p i

20 Dari gambar 2.4.1, terlihat bahwa semakin besar nilai domain, akan memiliki nilai keanggotaan yang cenderung semakin kecil. Sehingga untuk mencari nilai λ-cut dapat dihitung sebagai λ=1-t, dengan: d i + tp i = ruas kanan batasan ke-i Dengan demikian akan diperoleh bentuk Linear Programming baru sebagai berikut: Maksimumkan: λ Dengan batasan: λp i + B i x d i + p i i = 0, 1,, m x 0 2.4.2 Penyelesaian masalah dengan metode Fuzzy Linear Programming Maksimumkan: x 1 + x 2 dengan batasan: x 1 + 2x 2 5 x 1 + x 2 4 x 1 + x 2 = 3 x 1, x 2 0 ketiga batasan memiliki toleransi interval masing-masing p 1 =3, p 2 =2, p 3 =1. Bentuk tersebut di atas dapat diubah menjadi: Maksimumkan: x 1 + x 2 dengan batasan: x 1 + 2x 2 x 1 + x 2 x 1 + x 2 5 + 3t 4 + 2t = 3 + t x 1, x 2 0

21 Jika t=0 (λ=1), maka bentuk di atas menjadi: Maksimumkan: x 1 + x 2 dengan batasan: x 1 + 2x 2 5 x 1 + x 2 4 x 1 + x 2 = 3 x 1, x 2 0 yang dapat diselesaikan dengan menggunakan metode simpleks. Bentuk standar Linear Programming: Maksimumkan: z = x 1 + x 2 dengan batasan: x 1 + 2x 2 S 1 + S 2 = 5 x 1 + x 2 + S 3 = 4 x 1 + x 2 + S 4 = 3 x 1, x 2 0 Tabel simpleks untuk solusi awal adalah: z x1 x2 S1 S2 S3 S4 Solusi Z 1-2M-1-3M-1 M 0 0 0-8M S2 0 1 2-1 1 0 0 5 S3 0 1 1 0 0 1 0 4 S4 0 1 1 0 0 0 1 3 Tabel simpleks untuk solusi yang baru: z x1 x2 S1 S2 S3 S4 Solusi Z 1-0.5M+0.5 0-0.5M+0.5 1.5M+0.5 0 0 7.5M+2.5 S2 0 0.5 1-0.5 0.5 0 0 2.5 S3 0 0.5 0 0.5-0.5 1 0 1.5 S4 0 0.5 0 0.5-0.5 0 1 0.5

22 Tabel simpleks untuk solusi akhir: z x1 X2 S1 S2 S3 S4 Solusi Z 1 1M-1 1M-1 0 2M-0.5 0 0 10M S2 0-1 -2 1-1 0 0-5 S3 0 1 1 0 0 1 0 4 S4 0 1 1 0 0 0 1 3 Hasil akhir untuk t=0 (λ=1), adalah: z = 10M; Jika t=1 (λ=0), maka bentuk awal Linear Programming dapat diubah menjadi: Maksimumkan: x 1 + x 2 dengan batasan: x 1 + 2x 2 8 x 1 + x 2 6 x 1 + x 2 = 4 x 1, x 2 0 yang juga dapat diselesaikan dengan menggunakan metode simpleks. Bentuk standar Linear Programming: Maksimumkan: z = x 1 + x 2 dengan batasan: x 1 + 2x 2 S 1 + S 2 = 8 x 1 + x 2 + S 3 = 6 x 1 + x 2 + S 4 = 4 x 1, x 2 0

23 Tabel simpleks untuk solusi awal adalah: z x1 x2 S1 S2 S3 S4 Solusi Z 1-2M-1-3M-1 M 0 0 0-12M S2 0 1 2-1 1 0 0 8 S3 0 1 1 0 0 1 0 6 S4 0 1 1 0 0 0 1 4 Tabel simpleks untuk solusi yang baru: z x1 x2 S1 S2 S3 S4 Solusi Z 1-0.5M+0.5 0-0.5M+0.5 1.5M+0.5 0 0 22M+4 S2 0 0.5 1-0.5 0.5 0 0 4 S3 0 0.5 0 0.5-0.5 1 0 2 S4 0 0.5 0 0.5-0.5 0 1 0 Tabel simpleks untuk solusi akhir: z x1 X2 S1 S2 S3 S4 Solusi Z 1 1M-1 1M-1 0 2M-0.5 0 0 26M S2 0-1 -2 1-1 0 0-8 S3 0 1 1 0 0 1 0 6 S4 0 1 1 0 0 0 1 4 Hasil akhir untuk t=1 (λ=0), adalah: z =26M; Dari kedua hasil ini (t=1 dan t=0), dapat ditentukan nilai p 0, yaitu hasil pengurangan dari z pada saat t=1 dengan z pada saat t=0 (26M- 10M=16M). Dengan mengambil λ=1-t, akhirnya dapat dibentuk model Fuzzy Linear Programming sebagai berikut. Maksimumkan: λ dengan batasan: -16Mλ - x 1 - x 2-26M 16M 3λ + x 1 + x 2 5 + 3 2λ + x 1 + x 2 4 + 2

24 λ + x 1 + x 2 3 + 1 λ, x 1, x 2 0 Tabel simpleks untuk solusi awal: z x1 x2 S1 S2 S3 S4 S5 Solusi z 1-16 1 1 0 0 0 0-42 S2 0 3 1 2-1 1 0 0 8 S3 0 2 1 1 0 0 1 0 6 S4 0 1 1 1 0 0 0 1 4 Tabel simpleks untuk solusi baru: z x1 x2 S1 S2 S3 S4 S5 Solusi z 1 0 6.33 11.66 5.33 5.33 0 0 0.66 S2 0 1 0.33 0.66-0.33 0.33 0 0 2.66 S3 0 1 0.33-0.33 0.66-0.66 1 0 0.66 S4 0 0 0.66 0.33 0.33-0.33 0 1 1.33 2.5 Dasar Perancangan Perangkat Lunak Menurut Mahyuzir (1991,p78), 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 atau penyusunan pengertian yang lebih luas. 2.5.1 Fase Pengembangan dan Perancangan Perangkat Lunak Menurut Mahyuzir (1991,p78), fase pengembangan Perangkat Lunak terdiri dari tiga langkah sebagai berikut.

25 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 diatas, maka dilakukan perpaduan perangkat lunak dan validasi. Menurut Pressman (2001, p6), yang dimaksud dengan perangkat lunak adalah (1) kumpulan instruksi (program komputer) yang jika dieksekusi akan menyediakan fungsi dan dayaguna yang diinginkan, (2) kumpulan struktur data yang memungkinkan program untuk memanipulasi informasi dengan memadai, dan (3) kumpulan dokumen yang menggambarkan operasi dan penggunaan program. Dalam perancangan perangkat lunak terdapat beberapa macam model seperti linear, spiral, incremental, dll. Dipilih model waterfall ( linier ) karena langkah langkahnya berurutan dan sistematis.

26 System/information engineering analysis design code test Gambar 2.2 Model linear sekuensial Sumber: Pressman (2001, p6) Langkah-langkah dalam model waterfall adalah sebagai berikut. 1. Rekayasa dan penyusunan sistem/informasi Tahap ini dimulai dengan menyusun kebutuhan (requirement) untuk seluruh elemen sistem dan kemudian mengalokasikan beberapa subset dari kebutuhan tersebut pada perangkat lunak (software). Proses ini sangat penting ketika perangkat lunak harus berinteraksi dengan elemen yang lainnya seperti, perangkat keras (hardware), manusia, dan basis data (database). 2. Analisis kebutuhan perangkat lunak Proses pengumpulan kebutuhan pada tahap ini lebih diintensifkan dan difokuskan pada perangkat lunak. Pengembang perangkat lunak harus memahami tentang fungsi yang dibutuhkan, perilaku, dayaguna dan tampilan layar dari perangkat lunak yang akan dikembangkan.

27 3. Perancangan (design) Perancangan perangkat lunak sesungguhnya merupakan proses bertahap yang berfokus pada empat atribut dari sebuah program, yaitu: struktur data, arsitektur perangkat lunak, representasi tampilan layar, dan detail prosedural (algoritmik). Proses desain menerjemahkan kebutuhan menjadi suatu representasi dari perangkat lunak yang dapat diakses sebelum pengkodean dimulai. 4. Pembuatan kode (code generation) Proses penerjemahan bentuk desain menjadi bentuk yang dapat dibaca oleh mesin. 5. Pengujian (testing) Pengujian program dilakukan setelah kode dihasilkan. Proses pengujian difokuskan pada bagian internal software secara logis, memastikan bahwa setiap pernyataan (statement) telah diuji, dan pada bagian eksternal fungsi, di mana dilakukan pengujian untuk menemukan error dan memastikan bahwa masukan yang ditentukan akan memberikan hasil yang diharapkan. 6. Pemeliharaan (Maintenance) Ketika perangkat lunak telah selesai dikembangkan, perangkat lunak tersebut mungkin akan mengalami masalah atau error yang tidak diharapkan sebelumnya. Untuk itu, tahapan pemeliharaan dilakukan dengan tujuan melakukan penyesuaian dan perbaikan pada perangkat lunak tersebut.

28 Fase pengembangan menerapkan 75 % atau lebih biaya dalam perekayasaan perangkat lunak. Keputusan yang diambil akan mempengaruhi keberhasilan penerapan dan mengurangi pekerjaan pada fase pemeliharaan. Hal yang terpenting dalam perancangan perangkat lunak adalah kualitas. Perancangan menyediakan gambaran atau model yang dapat dinilai segi kualitasnya. Perancangan perangkat lunak merupakan landasan untuk seluruh fase pengembangan dan pemeliharaan. Tanpa perancangan, akan dihasilkan sistem yang tidak stabil. 2.5.2 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. Berdasarkan manajemen proyek, perancangan perangkat lunak dikerjakan dalam dua langkah sebagai berikut. 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.

29 2.5.3 Perancangan Prosedural Perancangan prosedural dikerjakan setelah struktur data dan program dibuat. Perancangan prosedural umumnya menggunakan bahasa natural dalam menentukan spesifikasi dan menulis algoritma. Hal ini mempunyai tujuan agar orang-orang yang berada di luar tim pengembangan dapat mengerti dan mempelajarinya. Keburukan membuat perancangan prosedural dalam bahasa natural adalah dapat menimbulkan arti ganda. Untuk itu perlu ditentukan batasan-batasan bahasa natural yang digunakan.