PENYELESAIAN MODEL NONLINEAR MENGGUNAKAN SEPARABLE PROGRAMMING DENGAN ALGORITMA GENETIKA PADA PRODUKSI TEMPE.

(1)

BAB I

PENDAHULUAN

A. Latar Belakang

Optimisasi merupakan hal yang penting dalam penyelesaian masalah pengambilan pilihan yang terbaik dengan kritera tertentu. Kriteria yang umum digunakan yaitu untuk memaksimumkan atau meminimumkan sesuatu. Model masalah optimisasi dapat berupa pemrograman linear atau pemrograman nonlinear. Permasalahan optimisasi dalam kehidupan manusia seringkali diselesaikan dengan menggunakan pemrograman nonlinear karena banyaknya permasalahan optimisasi yang tidak dapat dimodelkan dalam bentuk pemrograman linear. Disebut pemograman nonlinear jika fungsi tujuan mempunyai bentuk yang nonlinear dan kendalanya mempunyai bentuk nonlinear atau linear. Bentuk masalah nonlinear dapat diselesaikan dengan menggunakan beberapa metode, diantaranya Lagrange Multiplier, pendekatan kondisi Karush-Kuhn-Tucker, Quadratic Programming, dan Separable Programming.

Separable programming merupakan salah satu pendekatan yang digunakan dalam masalah pemrograman nonlinear dengan mentransformasi bentuk nonlinear menjadi bentuk linear yang hanya memuat satu variabel. Konsep dasar yang lebih mudah dipahami membuat separable programming dipilih sebagai metode penyelesaian masalah nonlinear pada penulisan skripsi ini. Separable programming dapat diselesaikan dengan hampiran fungsi linear sepotong-sepotong (Winston, 2004 : 688). Keakuratan hampiran fungsi linear


(2)

sepotong-sepotong dipengaruhi oleh banyaknya titik partisi/titik kisi. Jika titik kisi bertambah, maka variabel pada masalah hampiran pemrograman linear akan bertambah (Bazaraa, 2006:694).

Beberapa penelitian mengenai separable programming pernah dibahas oleh Desi Mariani (2003) dimana penyelesaian masalah separable programming diselesaikan dengan metode simpleks, Budi Marpaung (2012) membahas tentang perbandingan pendekatan separableprogramming dengan the Karush-Kuhn-Tucker conditions dalam pemecahan masalah nonlinear yang menyimpulkan bahwa keduanya dapat memberikan solusi optimal yang sama dan hasilnya akan semakin baik jika jumlah titik kisinya ditambah, Jain (2012) membahas tentang teknik eliminasi Gauss pada penyelesaian separable programming yang menyimpulkan bahwa teknik tersebut membutuhkan sedikit waktu dalam perhitungan dan lebih sederhana daripada dengan metode simpleks, Rini Nurcahyani (2014) membahas tentang penyelesaian masalah nonlinear menggunakan separable programming pada portofolio optimal dan Yuni Embriani (2015) membahas tentang efektivitas penyelesaian model nonlinear menggunakan pendekatan quadratic programming dan separable programming untuk optimisasi biaya produksi pada bakpia 716.

Hasil dari separable programming adalah sebuah fungsi linear dengan kendala linear. Selama ini terdapat dua jenis pendekatan yang digunakan dalam pemrograman linear, yaitu metode grafik dan metode simpleks. Metode grafik biasa digunakan untuk menyelesaikan optimisasi dengan dua variabel.


(3)

Jika variabel lebih dari dua maka penyelesaian yang biasa digunakan adalah metode simpleks.

Berdasarkan beberapa penelitian tentang separable programming yang telah disebutkan di atas dapat diketahui bahwa penyelesaian model nonlinear dengan separable programming menghasilkan model linear yang selanjutnya diselesaikan menggunakan metode simpleks. Selain metode simpleks terdapat metode lain yang dapat digunakan untuk menyelesaikan masalah pemrograman linear, salah satunya yaitu menggunakan algoritma genetika

Algoritma Genetika (AG) muncul dari teori-teori dalam buku biologi, sehingga banyak istilah dan konsep biologi yang digunakan dalam AG. Proses-proses yang terjadi dalam AG juga tidak jauh berbeda dengan apa yang terjadi pada evolosi biologi. Sekumpulan individu yang sama, yang disebut species, hidup, bereproduksi dan mati dalam satu area yang disebut populasi. Jika anggota-anggota populasi (individu) terpisah, misalnya karena terjadi banjir atau gempa, maka individu-individu tersebut akan membentuk beberapa populasi yang terpisah. Setelah beberapa waktu akan terjadi proses pembentukan species baru atau dikenal dengan istilah speciation dan juga terjadi perubahan hereditas (heredity) secara bertahap yang membentuk ciri-ciri baru pada species tersebut. Sebagai contoh, species pemangsa mengalami perubahan bertahap sehingga memiliki gigi taring yang lebih panjang dan tajam (Suyanto, 2005 :1).

Secara garis besar langkah dalam AG dimulai dengan menetapkan suatu himpunan solusi potensial dan melakukan perubahan dengan beberapa iterasi


(4)

dengan algoritma genetika untuk mencapai solusi terbaik. Himpunan solusi potensial ini ditetapkan diawal dan disebut dengan kromosom. Kromosom ini dibentuk secara random yang di-generate dan dipilih. Keseluruhan himpunan dari kromosom yang diobservasi mewakili suatu populasi.

Kemudian, kromosom-kromosom tersebut akan berevolusi dalam beberapa tahap iterasi yang disebut dengan generasi. Generasi baru (offsprings) digenerate dengan teknik pindah silang (crossover) dan mutasi (mutation) sampai didapatkan hasil terbaik (Achmad Basuki, 2003 : 11). Cross over meliputi pemecahan (splitting) dua kromosom dan kemudian mengkombinasikan setengah bagian dari masing-masing kromosom dengan pasangan-pasangan lainnya. Sedangkan mutasi meliputi penggantian (flipping) satu bagian dari kromosom dengan satu bagian lain dari kromosom lain yang menjadi pasangannya. Kromosom-kromosom ini selanjutnya berevolusi dengan suatu kriteria kesesuaian (fitness) yang ditetapkan dan hasil terbaik akan dipilih sementara yang lainnya diabaikan. Selanjutnya, proses dilakukan berulang-ulang sampai dengan suatu kromosom yang mempunyai kesesuaian terbaik (best fitness) yang akan diambil sebagai solusi terbaik dari permasalahan.

Proses evolusi menjadi ciri spesifik dari algoritma genetika, suatu proses seleksi alamiah yang berdasarkan prinsip genetika dan pemilihan alami pada individu secara terus-menerus mengalami perubahan gen untuk menyesuaikan dengan lingkungan hidupnya, sehingga terseleksi individu-individu yang kuat yang mampu bertahan sebagai hasil optimal.


(5)

Beberapa penelitian tentang algoritma genetika pernah dibahas antara lain oleh Supriyanto (2010) yang membahas penerapan algoritma genetika untuk optimisasi fungsi linier, Datta (2012) membahas tentang efisiensi algoritma genetika pada pemrograman linear, Gupta (2013) membahas penyelesaian TSP menggunakan algoritma genetika, Verma & Kumar (2014) membahas gambaran umum dan penerapan algoritma genetika, Premalatha (2015) yang membahas algoritma genetika untuk masalah optimisasi.

Salah satu penerapan separable programming yang sangat membantu adalah pada bidang industri, misalnya dalam hal optimisasi biaya produksi. Banyak industri yang sedang berkembang di daerah Yogyakarta, salah satunya adalah industri tempe. Tempe merupakan makanan berbahan dasar kedelai yang sangat familiar bagi masyarakat Yogyakarta. Rasanya yang enak dan harganya yang relatif murah membuat tempe menjadi makanan yang sangat dicari oleh masyarakat. Salah satu industri tempe yang sedang berkembang di daerah Yogyakarta adalah industri Tempe Murni. Industri yang bertempat di daerah Nologaten ini merupakan industri rumahan yang masih sederhana dalam hal perencanaan produksinya. Walaupun tergolong kecil namun industri Tempe Murni terletak di daerah pemasaran yang ramai dan luas sehingga sangat memungkinkan untuk dapat dikembangkan menjadi lebih besar.

Berdasarkan latar belakang tersebut, dalam penulisan tugas akhir ini akan dibahas “ Penyelesaian Model Nonlinear Menggunakan Separable Programming dengan Algoritma Genetika pada Produksi Tempe”.


(6)

B. Pembatasan Masalah

Pembatasan masalah dalam suatu penelitian merupakan hal yang penting untuk menjaga agar topik yang dibahas tetap berada dalam cakupan tema. Penulisan skripsi ini membahas langkah penyelesaian model nonlinear menggunakan separable programming dengan algoritma genetika dan penerapannya dalam penentuan biaya produksi optimal pada Tempe Murni untuk produksi bulan Juli 2016. Penelitian hanya akan dilakukan di industri Tempe Murni.

C. Rumusan Masalah

Berdasarkan latar belakang dan batasan masalah yang telah diuraikan, maka dapat ditentukan rumusan masalah sebagai berikut :

1. Bagaimana membentuk model matematika untuk mengoptimalkan biaya produksi Tempe?

2. Bagaimana penyelesaian model menggunakan separable programming dengan algoritma genetika?

D. Tujuan

Sesuai dengan rumusan masalah di atas maka tujuan dari penulisan skripsi adalah sebagai berikut :

1. Membentuk model matematika dalam pengoptimalan biaya produksi Tempe.


(7)

2. Menyelesaikan model menggunakan separable programming dengan algoritma genetika.

E. Manfaat

Manfaat penulisan skripsi ini adalah: 1. Bagi Penulis

a. Memberikan alternatif biaya produksi optimal menggunakan separable programming.

b. Menambah pengetahuan penulis mengenai langkah penyelesaian program linear dengan algoritma genetika.

c. Bahan referensi dalam kajian optimisasi biaya produksi. 2. Bagi Jurusan Pendidikan Matematika

Menambah pengetahuan dan referensi penyelesaian model nonlinear menggunakan separable programming dengan algoritma genetika untuk optimisasi biaya produksi.

3. Bagi Pembaca

Memberikan wawasan dan metode alternatif penyelesaian model nonlinear menggunakan separable programming dengan algoritma genetika untuk optimisasi biaya produksi.


(8)

BAB II

KAJIAN TEORI

Pembahasan pada bagian ini akan menjadi dasar teori yang akan digunakan untuk membahas bab berikutnya. Dasar teori yang akan dibahas pada bab ini adalah optimisasi, fungsi, pemrograman linear, pemrograman nonlinear, separable programming dan algoritma genetika.

A. Optimisasi

Optimisasi berasal dari bahasa inggris optimization yang memiliki arti memaksimalkan atau meminimalkan sebuah fungsi yang diberikan untuk beberapa macam kendala (Licker, M. D, 2003 : 170). Secara lebih sederhana dapat dijelaskan bahwa optimisasi adalah suatu cabang dari ilmu matematika yang digunakan untuk memaksimumkan atau meminimumkan fungsi tujuan dengan mempertimbangkan beberapa kendala yang diberikan.

Konsep optimisasi mempunyai peranan penting dalam menyelesaikan suatu masalah yang ada dalam kehidupan sehari-hari. Prosedur pemecahan masalah optimisasi yang biasa digunakan yaitu memodelkan persoalannya ke dalam sebuah program matematis dan kemudian memecahkannya dengan menggunakan teknik-teknik atau metode optimisasi seperti program linier, program nonlinier, program tujuan ganda, dan metode-metode lainnya yang sudah berkembang saat ini.


(9)

B. Analisis Regresi Kuadratik

Pada prinsipnya analisis regresi merupakan pencarian kurva yang mewakili hubungan satu set data. Data tersebut dapat berupa data yang diperoleh berdasarkan hasil pengamatan, percobaan atau data statistik. Sedangkan regresi kuadratik adalah salah satu metode regresi yang digunakan untuk menentukan fungsi polynomial derajat dua yang paling sesuai dengan kumpulan titik data

, dengan banyaknya titik data .

Secara umum persamaan regresi kuadratik adalah ( Djoko Luknanto, 1992 : 8)

dengan

dengan , , adalah konstanta, adalah variabel bebas (independent) dan adalah variabel terikat (dependant) dan adalah banyaknya data.

Contoh 2.1

Tentukan persamaan regresi kuadratik berdasarkan pasangan titik {(1,-1) ,(2,2),(3,7),(4,14)}.


(10)

Berdasarkan data di atas diperoleh perhitungan sebagai berikut : Tabel 2.1 Perhitungan berdasarkan Contoh 2.1

1 -1 1 1 1 -1 -1 2 2 4 8 16 4 8 3 7 9 27 81 21 63 4 14 16 64 256 56 224

Dari tabel diatas diperoleh 3 persamaan linear berdasarkan rumus regresi kuadratik yaitu

Selanjutnya dengan eliminasi dan substitusi diperoleh nilai , ,

sehingga didapatkan persamaan regresi

Selanjutnya proses penghitungan regresi kuadratik dalam skripsi ini akan

menggunakan bantuan software geogebra dengan perintah command fitpoly.


(11)

digunakan untuk mencari regresi polynomial berdasarkan data yang diinput dalam spreadsheet.

C. Fungsi

Pembahasan tentang fungsi tidak lepas dari istilah relasi. Relasi adalah aturan yang memasangkan anggota suatu himpunan dengan anggota himpunan yang lain. Sedangkan fungsi atau pemetaan merupakan suatu relasi yang bersifat khusus. Fungsi dari himpunan A ke himpunan B adalah suatu relasi dimana setiap anggota himpunan A dipasangkan dengan tepat satu anggota himpunan B.

Definisi 2.1. Fungsi (Purcell, E. J. & D. Verberg, 1987 : 57) Suatu fungsi f adalah suatu aturan padanan yang menghubungkan setiap obyek x dalam suatu himpunan, yang disebut daerah asal, dengan sebuah nilai tunggal f(x) dari suatu himpunan kedua (daerah kawan).

Gambar 2.1 berikut memberikan ilustrasi untuk suatu fungsi.

daerah asal daerah kawan Gambar 2. 1 Ilustrasi Fungsi


(12)

Gambar 2.2 berikut memberikan ilustrasi bukan fungsi

daerah asal daerah kawan Gambar 2. 2 Ilustrasi bukan fungsi

Berdasarkan Definisi 2.1 dapat disimpulkan bahwa pada Gambar 2.1, merupakan fungsi karena setiap titik pada daerah asal memiliki satu pasangan pada daerah kawan. Sedangkan Gambar 2.2. bukan fungsi karena ada titik pada daerah asal yang memiliki dua (lebih dari satu) pasangan pada daerah kawan.

Konsep fungsi cembung merupakan hal yang penting dalam permasalahan optimisasi. Sebelum membahas fungsi cembung (konveks) perlu dipahami dulu konsep himpunan cembung.

Definisi 2.2 (Bazaraa,2006:40) Himpunan S Rn dikatakan cembung jika segmen garis yang menghubungkan dua titik pada himpunan S juga berada di himpunan S. Dengan kata lain, jika , maka juga anggota

, .

Contoh 2.2

Himpunan bilangan positif P , , , maka ,


(13)

Himpunan titik-titik di P yang merupakan bilangan positif, dimana sebarang pasangan titik di dalam himpunan P jika dihubungkan oleh garis maka seluruh titik pada garis tersebut juga terdapat di P.

Gambar 2.3 berikut merupakan ilustrasi himpunan cembung

Gambar 2.3 (a),(b) himpunan cembung

Gambar 2.4 berikut merupakan ilustrasi bukan himpunan cembung

Gambar 2.4 bukan himpunan cembung

Definisi 2.3 Fungsi Cembung (Bradley, 1976:416) Diketahui : dengan S adalah himpunan cembung yang tidak kosong di . Fungsi f(x) dikatakan fungsi cembung di S ketika

untuk setiap , dan untuk .


(14)

Gambar 2.5 Contoh Fungsi Cembung

Titik , ,

Titik , ,

Titik , " ,

Titik , " .

Berdasarkan gambar di atas didapatkan bahwa

" "

Definisi 2.4 Fungsi Cekung (Bradley, 1976:416) Diketahui : dengan S adalah himpunan cembung yang tidak kosong di . Fungsi f(x) dikatakan fungsi cekung di S ketika

untuk setiap , dan untuk .

Contoh fungsi cekung dapat digambarkan sebagai berikut


(15)

Titik , ,

Titik , ,

Titik , " ,

Titik , " .

Berdasarkan gambar di atas didapatkan bahwa

" "

Fungsi cembung dan fungsi cekung dapat ditentukan dengan menggunakan turunan kedua. Menurut Hillier & Lieberman (2001), fungsi cekung dan cembung pada suatu fungsi satu variabel dapat ditentukan melalui Teorema 2.1 berikut :

Teorema 2.1. Tes Kecembungan dan Kecekungan Fungsi Satu Variabel (Hillier & Lieberman, 2001 : 1159)

1. Fungsi f(x) cembung jika dan hanya jika turunan kedua f(x) yaitu untuk setiap nilai x yang diberikan.

2. Fungsi f(x) cekung jika dan hanya jika turunan kedua f(x) yaitu ≤ 0 untuk setiap nilai x yang diberikan.

Bukti:

Misalkan f konveks pada interval terbuka I dan : . Untuk tiap c I, diperoleh

" lim

Selanjutnya pilih h cukup kecil sedemikian hingga dan ada di


(16)

Akibatnya, . Karena untuk tiap , sehingga dapat disimpulkan bahwa " . Dengan analogi yang sama dapat dibuktikan f konkaf jika turunan keduanya

D. Pemrograman Linear

Keinginan untuk mendapatkan keuntungan dalam melakukan sebuah usaha mendasari berkembangnya ilmu mengenai pemogramanan linear. Setiap perusahaan atau organisasi memiliki keterbatasan atas sumber dayanya, baik dalam hal jumlah bahan baku, peralatan, tenaga kerja, jam kerja maupun modal. Keterbatasan ini menuntut sebuah perencanaan dan strategi yang dapat mengoptimalkan hasil yang ingin dicapai. Salah satu cara yang telah ditemukan untuk tujuan tersebut adalah pemrograman linear (Eddy Herjanto, 2008 : 9).

Pada dasarnya, pemrograman linear merupakan metode matematika untuk memecahkan masalah dalam mengalokasikan sumber daya yang terbatas untuk mencapai suatu tujuan seperti memaksimumkan keuntungan dan meminimumkan biaya. Pemrograman linear dapat diterapkan dalam masalah bisnis, ekonomi, industri, militer, sosial, teknik, dan lain-lain. Model pemrogamaman linier terdiri


(17)

atas sebuah fungsi tujuan dan beberapa fungsi batasan/kendala (Siringoringo, 2005 : 43). Fungsi tujuan merupakan suatu persamaan yang berbentuk linear. Fungsi kendala merupakan persediaan sumber-sumber yang langka yang berkaitan dengan fungsi tujuan. Berikut diberikan definisi fungsi linear dan pertidaksamaan linear..

Definisi 2.5 Fungsi Linear (Winston, 2004:52) Fungsi ( 1, 2,…, n) merupakan fungsi linear jika dan hanya jika fungsi dapat dituliskan ( 1, 2,… , ) = 1 1 + 2 2 + … + , dengan 1, 2,… , merupakan konstanta.

Berikut diberikan contoh fungsi linear untuk memberikan gambaran berdasarkan definisi di atas.

Contoh 2.3

Fungsi berikut merupakan fungsi linear: f( 1, 2) = 2 1 + 2

f( 1, 2, 3) = 1 − 2 + 4 3

Definisi 2.6 Fungsi Pertidaksamaan Linear (Winston, 2004:52) Untuk sebarang fungsi linear ( 1, 2,… , ) dan sebarang bilangan , pertidaksamaan f ( 1, 2,… , ) ≤ dan ( 1, 2,… , ) ≥ merupakan fungsi pertidaksamaan linear.

Berikut diberikan contoh fungsi pertidaksamaan linear untuk memberikan gambaran berdasarkan definisi di atas.

Contoh 2.4


(18)

2 1 − 2 + 3 ≥ 3

Masalah pemrograman linear pada dasarnya memiliki ketentuan-ketentuan berikut ini (Winston, 2004:53)

1. Masalah pemrograman linear berkaitan dengan upaya memaksimumkan (pada umumnya keuntungan) atau meminimumkan (pada umumnya biaya) yang disebut sebagai fungsi tujuan dari pemrograman linear. Fungsi tujuan ini terdiri dari variabel-variabel keputusan.

2. Terdapat kendala-kendala atau keterbatasan, yang membatasi pencapaian tujuan yang dirumuskan dalam pemrograman linear. Kendala-kendala ini dirumuskan dalam fungsi-fungsi kendala yang terdiri dari variabel-variabel keputusan yang menggunakan sumber-sumber daya yang terbatas itu.

3. Ada pembatasan tanda untuk setiap variabel dalam masalah ini. Untuk sembarang pembatasan tanda menentukan harus non negatif ( ≥ 0) atau tidak dibatasi tandanya (unretsricted in sign).

Pemrograman linear merupakan salah satu teknik/metode riset operasi yang digunakan untuk menyelesaikan suatu permasalahan dengan memaksimumkan atau meminimumkan suatu bentuk fungsi objektif atau fungsi tujuan dengan kendala-kendala berupa fungsi yang linear, permasalahan tersebut sering disebut sebagai masalah optimisasi (Rao, 2009:119).

Definisi 2.7 Pemrograman Linear (B. Susanta, 1994:6) Diberikan fungsi ( 1, 2,… , ) merupakan fungsi linear, merupakan variabel keputusan ke-j, dan merupakan konstanta-konstanta yang diketahui, merupakan nilai ruas kanan dari persamaan kendala ke-m yang menunjukkan nilai syarat kendala


(19)

tersebut, untuk setiap = 1,2, … , (indeks untuk jumlah variabel kendala) dan = 1,2, … , (indeks untuk jumlah variable keputusan).

Secara umum, masalah pemrograman linear dapat dirumuskan menjadi bentuk berikut :

Memaksimumkan / meminimumkan : (2.1)

dengan kendala : , , dan (2.2)

, (2.3)

= , (2.4)

= , (2.5)

dan B= 1

2 , (2.6)

Matriks X merupakan matriks satu kolom dari variabel-variabel yang dicari, dan CT adalah matriks satu baris untuk setiap koefisien ongkos (cj). Matriks

A merupakan matriks koefisien persamaan kendala, dan B adalah matriks satu kolom dari ruas kanan persamaan kendala. (Bronson & Naadimuthu, 1997 : 20).

Jika (2.1) dan (2.2) dituliskan semua dalam bentuk matriks maka akan menjadi :

Memaksimumkan atau meminimumkan

1 2


(20)

dengan kendala : 11 21 12 22 1 1 2 , , 1 2 , 1 2

Jika bentuk perkalian matriks tersebut diuraikan menjadi penjumlahan aljabar akan menjadi :

Memaksimumkan atau meminimumkan

∑ (2.7)

dengan kendala :

, , (2.8a)

, , (2.8b)

, , (2.8c)

, , , (2.8d)

atau jika ditulis ulang, maka bentuk fungsi kendala (2.8a) – (2.8d) menjadi

, , , ∑ , , dengan , , , (2.9a)

≥ 0 ,dengan , , , (2.9b)

E. Pemrograman Nonlinear

Banyak kasus dalam penyelesaian masalah optimisasi yang modelnya tidak dapat dinyatakan dalam bentuk linear. Jika tidak dapat dinyatakan dalam bentuk linear maka bentuk yang didapat adalah nonlinear. Fungsi nonlinear yang biasa dijumpai yaitu fungsi yang memuat perkalian dua variabel bebas atau lebih,


(21)

fungsi pangkat dengan , fungsi eksponen, fungsi trigonometri dan fungsi logaritma.

Pemrograman nonlinear merupakan salah satu teknik dari riset operasi untuk menyelesaikan permasalahan optimisasi dengan fungsi tujuan nonlinear dan fungsi kendala berbentuk nonlinear atau linear. (Bazaraa, 2006:1).

Memilih variabel keputusan , , … , dari daerah fisibel yang

diberikan untuk mengoptimisasi (maksimum atau minimum) fungsi tujuan yang diberikan. Permasalahan pemrograman nonlinear secara umum dapat didefinisikan sebagai berikut (Bradley, 1976 : 410).

Memaksimumkan/meminimumkan fungsi tujuan, dalam hal ini f

merupakan fungsi nonlinear

, , , … , (2.10)

dengan fungsi kendala dapat berbentuk linear atau nonlinear

, , … , , , (2.11a)

, , … , , , (2.11b)

dan batasan nonnegatif pada variabel dengan menambahkan kendala , , … , (2.11c)


(22)

merupakan fungsi tujuan dan merupakan fungsi kendala

dengan menunjukkan nilai syarat kendala tersebut. dan merupakan

fungsi yang kontinu dan differensiable.

Persamaan (2.10) (2.11c) dapat dituliskan dalam bentuk masalah optimisasi yang lebih sederhana sebagai berikut:

Mak/Min , , , … , (2.12)

dengan kendala

, , , , , … , (2.13a)

, , , , … , (2.13b)

Beberapa kasus yang tidak dapat dimodelkan dalam pemrograman linear karena terdapat beberapa faktor yang menyebabkan ketidaklinearan dalam fungsi tujuan. Sebagai contoh dalam suatu perusahaan besar yang kemungkinan menghadapi elastisitas harga, banyak barang yang dijual berbanding terbalik dengan harganya. Artinya semakin sedikit produk yang dihasilkan maka semakin mahal harganya. Jadi kurva harga permintaan akan terlihat seperti kurva dalam

Gambar 2.7, dengan adalah harga yang ditetapkan agar terjual x satuan

barang. Jika biaya satuan untuk memproduksi barang tersebut adalah konstan yaitu di c, maka keuntungan perusahaan tersbut dalam memproduksi dan menjual

satuan barang akan dinyatakan oleh fungsi nonlinear berikut (Hillier , 2001: 655).


(23)

Gambar 2.8 terlihat misalkan setiap produk dari x jenis produknya

mempunyai fungsi keuntungan yang serupa, didefinisikan untuk produksi

dan penjualan satuan dari produk dimana , , … , , maka secara lengkap

fungsi tujuannya yaitu ∑ merupakan penjumlahan dari beberapa

fungsi nonlinear.

Gambar 2.7 Kurva Harga Permintaan               x   P( x )  

 

Banyak Barang P(x)=x [p(x)- c]                  

c   Biaya Satuan

Permintaan x  

P(x )   

   Harga 


(24)

Alasan lain yang menyebabkan sifat ketidaklinearan muncul pada fungsi tujuan, disebabkan oleh kenyataan bahwa biaya marginal untuk memproduksi satu satuan barang tergantung pada tingkat produksi. Sebagai contoh, biaya marginal akan turun apabila tingkat produksi naik, sebagai akibat efek dari kurva belajar (learning curve). Di lain pihak, biaya marginal dapat saja naik karena dalam ukuran tertentu, seperti fasilitas lembur atau harga barang mahal, sehingga perlu menaikkan produksi.

Sifat ketidaklinearan dapat juga muncul pada fungsi kendala dengan cara yang sama. Sebagai contoh, apabila terdapat kendala anggaran dalam biaya produksi total, maka fungsi biaya akan menjadi nonlinear jika biaya produksi

marginal berubah. Kendala akan berbentuk nonlinear apabila terdapat

penggunaan yang tidak sebanding antara sumber daya dengan tingkat produksi dari masing-masing produksi.

F. Separable Programming

Permasalahan yang semakin kompleks dalam suatu pemrograman nonlinear mendorong terciptanya berbagai metode penyelesaian. Salah satu metode yang dapat digunakan untuk menyelesaiakan pemrograman nonlinear adalah separable programming.

1. Pengertian Separable Programming

Separable Programming atau yang sering disebut pemrograman terpisah merupakan salah satu metode dalam penyelesaian pemrograman nonlinear dengan


(25)

cara mentransformasikan bentuk fungsi nonlinear menjadi fungsi-fungsi linear yang hanya memuat satu variabel saja.

Suatu fungsi dapat dikatakan terpisah apabila fungsi tersebut dapat dinyatakan dalam bentuk penjumlahan dari fungsi-fungsi yang hanya memuat satu variabel, didefinisikan sebagai berikut (Bazaraa, 2006:684).

, ,… ,

∑ (2.15)

Selanjutnya masalah separable programming ditulis dengan masalah P, dengan persamaan (2.15) dapat dituliskan sebagai berikut

Definisi 2.8 Masalah P (Bazaraa, 2006:684) Diberikan fungsi merupakan fungsi tujuan berbentuk nonlinear dan merupakan fungsi kendala yang dapat berbentuk linear atau nonlinear dengan menunjukkan nilai syarat kendala tersebut, dalam hal ini merupakan variabel bebas. Masalah P didefinisikan sebagai berikut

Memaksimumkan/meminimumkan

(2.16)

dengan kendala

∑ , , , , , … , (2.17a)

; , , … , (2.17b)

Fungsi pada persamaan (2.16) dan (2.17) dapat dijabarkan menjadi

(2.18)


(26)

, , (2.19b)

, , (2.19c)

dan , ,… , (2.19d)

Persamaan (2.18) dan (2.19a)-(2.19d) adalah persamaan fungsi tujuan dan fungsi kendala yang berbentuk penjumlahan dari fungsi-fungsi satu variabel yang disebut masalah separable programming.

Contoh 2.5

Diberikan pemrograman nonlinear,

Memaksimumkan

dengan kendala

, .

Diperoleh masalah separable programming dari fungsi tujuan dan kendala pada Contoh 2.5 sebagai berikut


(27)

2. Hampiran Fungsi Linear Sepotong-sepotong

Penyelesaian dalam masalah separable programming dapat dilakukan

dengan menggunakan beberapa metode diantaranya yaitu metode cutting plane, pemrograman dinamik, dan hampiran fungsi linear sepotong-sepotong. Keakuratan dari metode hampiran linear sepotong-sepotong dipengaruhi oleh banyaknya titik kisi. Ada dua cara dalam hampiran fungsi linear sepotong-sepotong, yaitu dengan formulasi lambda dan formulasi delta (Bazaraa, 2006:685). Formulasi lambda merupakan formulasi hampiran untuk setiap titik kisi sedangkan formulasi delta merupakan formulasi hampiran untuk setiap interval di antara titik kisi.

Penelitian ini membahas penyelesaian pemrograman nonlinear dengan menggunakan separable programming hampiran fungsi linear sepotong-sepotong formulasi lambda. Sebelum membahas mengenai formulasi lambda terlebih dahulu dibahas mengenai ruas garis

Didefinisikan merupakan fungsi nonlinear yang kontinu, dengan

pada interval [a,b]. Akan didefinisikan fungsi linear sepotong-sepotong yang merupakan hampiran fungsi pada interval [a,b]. Selanjutnya interval [a,b] dipartisi menjadi interval-interval yang lebih kecil, dengan titik partisi (titik kisi)

, ,… , . Titik-titik kisi tidak harus mempunyai jarak yang sama.

Berikut diberikan didefinisikan ruas garis untuk menjelaskan hubungan antara dua titik kisi.


(28)

Definisi 2.9 Ruas Garis (Bazaraa, 2006:684) Diberikan , . Himpunan

| , disebut ruas garis yang

menghubungkan dan .

Gambar 2.9 menunjukkan fungsi linear sepotong-sepotong sebagai hampiran fungsi nonlinear pada interval , dengan sedikit titik kisi.

Gambar 2.9 Fungsi Linear Sepotong-sepotong sebagai Hampiran Fungsi Nonlinear dengan Sedikit Titik Kisi

Misalkan merupakan titik kisi pada ruas garis yang menghubungkan dengan , berdasarkan Definisi 2.8. dapat dituliskan sebagai berikut

untuk , . (2.20)

Berdasarkan persamaan (2.20), fungsi untuk dapat dihampiri

oleh interval dan dengan cara berikut

(2.21) Formulasi lambda merupakan hampiran untuk setiap titik kisi dengan

menggunakan variabel .

Pada Gambar 2.10, untuk sembarang fungsi didefinisikan pada interval [a,b]. Selanjutnya interval dipartisi menjadi beberapa titik kisi dengan ttik kisi

   

         

 


(29)

, ,… , . Pada dihampiri oleh , dihampiri , dihampiri dan seterusnya. Titik-titik kisi tidak harus mempunyai jarak yang sama.

 

Gambar 2.10 Fungsi linear sepotong-sepotong sebagai hampiran fungsi nonlinear dengan formulasi lambda

Secara umum hampiran linear dari fungsi f(x) untuk titik-titik kisi , ,… , didefinisikan sebagai berikut

∑ , ∑ , (2.22)

dengan yang diperoleh berdasarkan pada interval persamaan (2.20) yaitu

∑ , untuk , , … , (2.23)

dan terdapat paling sedikit satu tidak nol atau paling banyak dua , tidak nol dan berdampingan.

 

 

 

 

 

     


(30)

Secara umum, dalam setiap dua titik kisi diperoleh satu hampiran sehingga total dari semua hampiran tersebut merupakan hampiran untuk fungsi nonlinear tersebut. Masalah pengoptimuman yang menghampiri masalah P dapat dilakukan dengan mengganti fungsi dan yang nonlinear dengan fungsi linear sepotong-sepotong.

Didefinisikan

, , … , .

Didefinisikan titik-titik kisi untuk , , … , pada interval ,

dengan , untuk setiap .

Berdasarkan Persamaan (2.22) dengan titik-titik kisi fungsi dan

untuk dan , , … , ; , maka diperoleh hampiran-hampiran linearnya

yaitu

∑ (2.24)

∑ , , … , ; (2.25)

dengan ∑ (2.26a)

, , … , ; (2.26b)

dengan yang diperoleh berdasarkan pada Persamaan (2.23) yaitu

∑ (2.27)

Untuk mempermudah penulisan, hampiran masalah P ditulis dengan masalah AP. Berdasarkan Persamaan 2.24 – Persamaan 2.26, masalah AP dapat didefinisikan sebagai berikut (Bazaraa, 2006:686)


(31)

Masalah AP

Memaksimumkan/meminimumkan

∑ (2.28)

terhadap kendala

∑ , , , , , … , (2.29a)

untuk , , … , dan (2.29b)

Perhatikan bahwa fungsi tujuan dan fungsi kendala pada masalah AP adalah fungsi linear sepotong-sepotong.

Berdasarkan Persamaan 2.28 – Persamaan 2.29, masalah AP dapat dibentuk sebagai masalah LAP yang dituliskan sebagai berikut

Masalah LAP

Memaksimumkan/meminimumkan

∑ ∑ (2.30)

Terhadap kendala

∑ ∑ , , , , , … , (2.31a)

∑ (2.31b)


(32)

dan terdapat paling sedikit satu tidak nol atau paling banyak dua ,

tidak nol dan berdampingan. Fungsi tujuan dan kendala linear dari persamaan (2.30-2.31) disebut sebagai masalah LAP.

Secara umum flowchart proses separable programming yang telah dibahas diatas adalah sebagai berikut :

Gambar 2.11 Flowchart Proses Separable Programming

Selanjutnya masalah LAP dapat diselesaikan dengan metode simpleks biasa. Penelitian ini dalam penyelesaian pemrograman linear menggunakan algoritma genetika dengan bantuan Software Matlab.

Setelah mendapatkan penyelesaian optimal dengan algoritma genetika pada masalah minimasi dalam bentuk separable programming harus memenuhi

syarat bahwa harus cembung dan setiap adalah cembung

(Winston,2004 :714).

Masalah Nonlinear ( Masalah P)

Melinearkan Masalah P dengan Hampiran Fungsi Linear Sepotong-sepotong ( Masalah AP)


(33)

Pada penyelesaian separable programming berlaku sebagai berikut

Teorema 2.2 (Bazaraa, 2006:689) Jika untuk merupakan penyelesaian layak pada Persamaan 2.30 – Persamaan 2.31, maka

, , , , … juga merupakan penyelesaian layak pada Persamaan 2.18 – Persamaan 2.19.

Bukti:

Berdasarkan Definisi 2.3, karena cembung dengan untuk setiap

, , , … dan untuk dengan , , , , … , diperoleh

.

Untuk , , , … , selanjutnya untuk dan

∑ untuk j , karena , ; , , , … ; .

Jadi terbukti merupakan penyelesaian yang layak pada Persamaan


(34)

G. Algoritma Genetika

Algoritma genetika (AG) pertama kali dikenalkan oleh John Holland dari Universitas Michigan pada tahun 1960-an. Kemunculan AG diinspirasikan oleh proses biologi dari teori evolusi Darwin, sehingga banyak istilah dan konsep biologi yang digunakan dalam AG (Chambers, 2000 : 13). AG banyak digunakan untuk memecahkan masalah optimisasi, walaupun pada kenyataannya juga memiliki kemampuan yang baik untuk masalah- masalah selain optimisasi. John Holland menyatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan dalam terminologi genetika. Algoritma genetika adalah simulasi dari proses evolusi Darwin dan operasi genetika atas kromosom.

Pada algoritma genetika, teknik pencarian dilakukan sekaligus atas sejumlah solusi yang mungkin, dikenal dengan istilah populasi. Individu yang terdapat dalam satu populasi disebut dengan istilah kromosom. Kromosom ini merupakan suatu solusi yang masih berbentuk simbol. Populasi awal dibangun secara acak, sedangkan populasi berikutnya merupakan hasil evolusi kromosom-kromosom melalui iterasi yang disebut dengan generasi.

Pada setiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang disebut dengan fungsi fitness (kebugaran). Nilai fitness dari suatu kromosom akan menunjukkan kualitas dari kromosom dalam populasi tersebut (Zainudin Zukhri, 2014 : 23). Generasi berikutnya dikenal dengan istilah anak (offspring) terbentuk dari gabungan dua kromosom generasi sekarang yang bertindak sebagai induk (parent) dengan menggunakan operator


(35)

penyilangan (crossover). Selain operator penyilangan, suatu kromosom dapat juga dimodifikasi dengan menggunakan operator mutasi.

Pemrosesan kromosom-kromosom sebagai sebuah populasi oleh operator genetika terjadi secara berulang (Cole, 1998 : 19). Populasi generasi yang baru dibentuk dengan cara menyeleksi nilai fitness dari kromosom induk (parent) dan nilai fitness dari kromosom anak (offspring), serta menolak kromosom-kromosom yang lainnya sehingga ukuran populasi (jumlah kromosom dalam suatu populasi) konstan. Setelah melalui beberapa generasi, maka algoritma ini akan konvergen ke kromosom terbaik.

Menurut Gen dan Cheng Ada tiga kelebihan dari Algoritma Genetika dalam proses pencarian nilai optimal (Zainudin Zukhri, 2014 : 11 ), yaitu: (a) Algoritma Genetika hanya memerlukan sedikit perhitungan matematis yang berhubungan dengan masalah yang ingin diselesaikan; (b) Operasi evolusi dari Algoritma Genetika sangat efektif untuk mengobservasi posisi global secara acak; dan (c) Algoritma Genetika mempunyai fleksibilitas untuk diimplementasikan secara efisien pada problematika tertentu.

Algoritma genetika sangat tepat jika digunakan untuk menyelesaikan masalah optimisasi yang kompleks dan sukar diselesaikan dengan menggunakan metode konvensional (Supriyanto, 2010 : 4). Sebagaimana halnya dengan proses evolusi di alam, suatu algoritma genetika yang sederhana umumnya terdiri dari tiga operasi, yaitu: operasi seleksi, operasi crossover (persilangan), dan operasi mutasi.


(36)

a. Membangkitkan Populasi Awal

Proses pembangkitan populasi awal diawali dari pengkodean gen dari kromosom. Satu gen biasanya merepresentasikan satu variabel. Gen dapat diwakili dalam bentuk : bilangan real, bit, daftar aturan, elemen permutasi, elemen program, atau representasi lainya yang dapat diimplementasikan untuk operator genetika. Teknik pengkodean ini tergantung pada pemecahan masalah yang dihadapi. Misalnya, pengkodean secara langsung bilangan real atau integer. Selanjutnya untuk mendapatkan populasi awal metode yang biasa digunakan adalah pembangkitan secara acak.

b. Seleksi

Seleksi digunakan untuk memilih individu-individu mana saja yang akan dipilih untuk proses crossover dan mutasi. Selain itu, untuk mendapatkan calon induk yang baik. “Induk yang baik akan menghasilkan keturunan yang baik”. Langkah yang dilakukan dalam seleksi ini adalah pencarian nilai fitness. Nilai fitness ini nantinya akan digunakan pada tahap-tahap seleksi berikutnya.Untuk itu dapat digunakan rumus

(2.32) fungsi objektif perlu ditambah 1 untuk menghindari kesalahan yang

diakibatkan pembagian oleh 0. Semakin tinggi nilai fitness suatu individu semakin besar kemungkinannya untuk dipilih.

Masing-masing individu dalam wadah seleksi akan menerima probabiltas yang tergantung pada nilai fitnessnya. Selanjutya akan dicari nilai probabilitasnya dengan rumus


(37)

(2.33) Setelah didapatkan nilai probabilitasnya selanjutnya dihitung komulatif probabilitasnya. Proses seleksi menggunakan roulete-wheel dilakukan setelah didapatkan nilai komulatif probabilitas. Prosesnya adalah dengan membangkitkan bilangan acak R dalam range 0-1. Jika maka

pilih kromosom 1 sebagai induk, jika maka pilih

kromosom ke-k sebagai induk. c. Crossover

Pindah silang (Crossover) adalah operator dari algoritma genetika

yang melibatkan dua induk untuk membentuk kromosom baru. Crossover

menghasilkan titik baru dalam ruang pencarian yang siap diuji. Operasi ini tidak selalu dilakukan pada semua individu yang ada. Jumlah kromosom yang mengalami crossover dalam satu populasi ditentukan oleh parameter crossover probability ( ). Individu dipilih secara acak untuk dilakukan penyilangan dengan antara 0,6 sampai 0,95 (Achmad Basuki, 2003 : 24). Jika crossover tidak dilakukan, maka nilai dari induk akan diturunkan kepada anak (keturunan).

Prinsip dari crossover adalah melakukan operasi genetika (pertukaran, aritmatika) pada gen-gen yang bersesuaian dari dua induk untuk menghasilkan

individu baru. Para crossover dilakukan pada setiap individu dengan


(38)

d. Mutasi

Proses ini berperan untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh parameter mutation probability ( ). Pada umumnya nilainya adalah (Supriyanto, 2010:10). Proses mutasi dilakukan dengan cara mengganti satu gen yang terpilih secara acak dengan suatu nilai baru yang didapat secara acak. Pertama hitung dahulu panjang total gen yang ada dalam satu populasi.

(2.34) Jika peluang mutasi terlalu kecil, banyak gen yang mungkin berguna tidak pernah dievaluasi. Tetapi jika peluang mutasi terlalu besar, maka akan terlalu banyak gangguan acak, sehingga anak akan kehilangan kemiripan dari induknya dan algoritme kehilangan kemampuan untuk belajar dan melakukan pencarian.

e. Evaluasi Solusi

Evaluasi solusi akan mengevaluasi setiap populasi dengan menghitung nilai fitness dari setiap kromosom hingga kriteria berhenti terpenuhi. Namun karena seleksi dilakukan secara acak maka diperlukan langkah untuk menjaga agar individu bernilai fitness terbaik tidak hilang selama proses evolusi. Proses ini dikenal dengan nama elitism. Bila kriteria berhenti belum terpenuhi, maka akan dibentuk lagi generasi baru dengan mengulangi langkah sebelumnya tetapi tetap menyertakan individu yang disimpan dalam proses elitism


(39)

sehingga hasil perhitungan dapat konvergen. Beberapa kriteria berhenti menurut Budi Sukmawan (2003 : 25) antara lain :

1) Berhenti pada generasi tertentu.

2) Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi/terendah yang tidak berubah.

3) Berhenti bila dalam generasi berikutnya tidak diperoleh nilai fitness yang lebih tinggi/rendah.

Algoritma Genetika secara umum dapat diilustrasikan pada flowchart yang Click here to enter text.

Gambar 2.12 Flowchart Proses Algoritma Genetika Membengkitkan Populasi Awal

Selesai Mutasi  Crossover 

Kromosom terbaik ? 

ya  Seleksi 

tidak ditunjukkan pada gambar 2.12.

Evaluasi solusi   Elitism


(40)

Selanjutnya, diberikan contoh penyelesaian pemrograman linear dengan algoritma genetika. Contoh berikut diberikan untuk menggambarkan cara kerja algoritma genetika dalam menyelesaikan sebuah masalah optimisasi.

Berikut diberikan gambaran umum proses algoritma yang berlangsung dalam optimisasi.

Contoh 2.6

Minimumkan fungsi :

dengan kendala : ,

, , , Penyelesaian :

a. Membangkitkan populasi awal

Karena yang dicari adalah nilai , , , maka variabel , , , dijadikan sebagai gen-gen pembentuk kromosom. Selanjutnya, proses inisialisasi dilakukan dengan cara memberikan nilai awal gen-gen dengan nilai acak sesuai batasan yang telah ditentukan. Misalkan kita tentukan jumlah populasi adalah 6, maka:

Kromosom[1] = ; ; = [06;20;17] Kromosom [2] = ; ; = [06;01;11] Kromosom [3] = ; ; = [05;06;18] Kromosom [4] = ; ; = [08;10;18] Kromosom [5] = ; ; = [13;18;19] Kromosom [6] = ; ; = [11;03;01]


(41)

b. Seleksi

Permasalahan yang ingin diselesaikan adalah nilai variabel , dan

yang meminimumkan , maka fungsi objektif yang dapat

digunakan untuk mendapatkan solusi adalah fungsi objektif (kromosom) = .

Hitung nilai fungsi objektif dari kromosom yang telah dibangkitkan, yaitu:

(kromosom 1) = 77 (kromosom 2) = 21 (kromosom 3) = 51 (kromosom 4) = 62 (kromosom 5) = 86 (kromosom 6) = 0

Rata- rata dari fungsi objektif adalah : 46

Proses seleksi dilakukan dengan cara membuat kromosom yang mempunyai nilai fungsi objektif kecil mempunyai kemungkinan terpilih yang besar. Untuk itu dapat digunakan fungsi fitness sesuai dengan persamaan (2.32)

Fitness 1 = 0,013 Fitness 2 = 0,045 Fitness 3 = 0,019 Fitness 4 = 0,016 Fitness 5 = 0,011


(42)

Fitness 6 = 1 Total fitness = 1,104

Selanjutnya akan dicari probabilitas terpilihnya menggunakan persamaan (2.33).

P(1) = 0,013/1,104 = 0,012 P(2) = 0,045/1,104 = 0,041 P(3) = 0,019/1,104 = 0,017 P(4) = 0,016/1,104 = 0,014 P(5) = 0,011/1,104 = 0,010 P(6) = 1/1,104 = 0,906

Berdasarkan probabilitas diatas didapatkan kromosom ke 6 yang mempunyai fitness paling besar maka kromosom tersebut mempunyai probabilitas untuk terpilih pada generasi selanjutnya lebih besar dari kromosom lainnya. Untuk proses seleksi digunakan roulete wheel, untuk itu dicari dahulu nilai kumulatif probabilitasnya:

C(1) = 0,012 C(2) = 0,053 C(3) = 0,070 C(4) = 0,084 C(5) = 0,094 C(6) = 1

Setelah dihitung komulatif probabilitasnya maka proses seleksi menggunakan roulette wheel dapat dilakukan. Putar roulete wheel sebanyak


(43)

jumlah populasi yaitu 6 kali (bangkitkan bilangan acak R sebanyak 6) dan pada tiap putaran pilih satu kromosom untuk populasi baru. Misal didapatkan bilangan acak :

R(1) = 0,195 R(2) = 0,449 R(3) = 0,075 R(4) = 0,161 R(5) = 0,705 R(6) = 0,225

Bilangan acak pertama R(1) lebih besar dari C(5) dan lebih kecil daripada C(6) maka pilih kromosom (6) sebagai kromosom pada populasi baru, dari bilangan acak yang telah dibangkitkan diatas maka populasi kromosom baru hasil proses seleksi adalah:

Kromosom (1) = kromosom(6) Kromosom (2) = kromosom(6) Kromosom (2) = kromosom(4) Kromosom (2) = kromosom(6) Kromosom (2) = kromosom(6) Kromosom (2) = kromosom(6)

Kromosom baru hasil proses seleksi adalah : Kromosom (1) = [11;03;01]

Kromosom (2) = [11;03;01] Kromosom (3) = [08;10;18]


(44)

Kromosom (4) = [11;03;01] Kromosom (5) = [11;03;01] Kromosom (6) = [11;03;01] c. Crossover

Setelah proses seleksi maka proses selanjutnya adalah proses crossover. Metode yang digunakan salah satunya adalah one-cut point, yaitu memilih secara acak satu posisi dalam kromosom induk kemudian saling menukar gen. kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi oleh parameter crossover probability ( ). Pada umumnya ditentukan mendekati 1, misalnya 0,8 (Suyanto, 2005).

Misal ditentukan crossover probability adalah sebesar 0,8. Prosesnya adalah sebagai berikut:

Pertama kita bangkitkan bilangan acak R sebanyak jumlah populasi R(1) = 0,399

R(2) = 0,187 R(3) = 0,82 R(4) = 0,322 R(5) = 0,161 R(6) = 0,921

Kromosom ke-k akan dipilih sebagai induk jika R(k) < , dari bilangan acak yang telah dibangkitkan maka yang menjadi induk adalah kromosom(1), kromosom(2), kromosom(4) dan kromosom(5).


(45)

Posisi cut-point crossover dipilih menggunakan bilangan acak 1 – (panjang kromosom-1), dalam persoalan ini berarti dipilih bilangan acak 1-2 sebanyak jumlah crossover yang terjadi.

Karena kromosom yang akan mengalami crossover, yaitu kromosom(1), kromosom(2), kromosom(4) dan kromosom(5) semuanya memiliki gen yang sama maka hasil persilangannya juga akan sama (tidak ada perubahan).

Dengan demikian populasi kromosom setelah mengalami crossover adalah :

Kromosom (1) = [11;03;01] Kromosom (2) = [11;03;01] Kromosom (3) = [08;10;18] Kromosom (4) = [11;03;01] Kromosom (5) = [11;03;01] Kromosom (6) = [11;03;01] d. Mutasi

Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh parameter mutation probability ( ). Pertama hitung dahulu panjang total gen yang ada dalam satu populasi. Dalam kasus ini panjang total

gen sesuai persamaan (2.36) .

Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan cara membangkitkan bilangan integer acak antara 1 sampai total gen, yaitu 1 sampai 18. Jika bilangan acak yang dibangkitkan lebih kecil daripada


(46)

maka pilih posisi tersebut sebagai sub-kromosom yang mengalami mutasi. Misal kita tentukan 0,05 maka kemungkinan ada 5% dari total gen yang mengalami mutasi. Jumlah mutasi , , (dibulatkan menjadi 1). Misalkan setelah dibangkitkan bilangan acak terpilih posisi gen 4 yang mengalami mutasi. Dengan demikian yang akan mengalami mutasi adalah kromosom ke-2 gen nomor 1. Maka nilai gen pada posisi tersebut diganti dengan bilangan acak 0-20

Misal bilangan acak yang terbangkitkan adalah 6, maka kromosom ke-2 gen nomor 1 diganti dengan bilangan 6.

Setelah proses mutasi maka kita telah menyelesaian satu iterasi dalam algoritma genetika atau disebut satu generasi dan didapatkan :

Kromosom (1) = [11;03;01] Kromosom (2) = [06;03;01] Kromosom (3) = [08;10;18] Kromosom (4) = [11;03;01] Kromosom (5) = [11;03;01] Kromosom (6) = [11;03;01] e. Evaluasi

Selanjutnya akan diperiksa fungsi objektif setelah 1 generasi. (kromosom 1) = 0

(kromosom 2) = -5 (kromosom 3) = 62 (kromosom 4) = 0


(47)

(kromosom 5) = 0 (kromosom 6) = 0

Rata-rata fungsi objektif setelah satu generasi , . Dapat dilihat dari hasil perhitungan fungsi objektif diatas bahwa setelah satu generasi, nilai hasil rata-rata fungsi objektif mengalami penurunan dibandingkan hasil fungsi objektif pada saat sebelum mengalami seleksi, crossover dan mutasi. Hal ini menunjukkan bahwa kromosom atau solusi yang dihasilkan setelah satu generasi lebih baik dibandingkan generasi sebelumnya.

Selanjutnya generasi baru yang telah terbentuk akan mengalami proses yang sama seperti generasi sebelumnya yaitu proses evaluasi, seleksi, crossover dan mutasi yang kemudian akan menghasilkan kromosom-kromosom baru untuk generasi yang selanjutnya. Proses ini akan berulang sampai mendapatkan generasi terbaik atau akan berhenti setelah sejumlah generasi yang telah ditetapkan sebelumnya.

Selanjutnya, dengan menggunakan bantuan Matlab ( script dapat dilihat di lampiran 1) didapatkan solusi dari permasalahan diatas adalah :

nilai a = 5,0003 b = 0,0000 c = 6,0002


(48)

Pada umumnya proses Algoritma Genetika untuk mendapatkan hasil optimal membutuhkan proses pengulangan yang cukup panjang. Oleh karena itu, selanjutnya penyelesian optimisasi dengan Algoritma Genetika akan dilakukan dengan bantuan Software Matlab.


(49)

BAB III

PEMBAHASAN

Pada bab ini akan dijelaskan mengenai langkah penyelesaian masalah pemrograman nonlinear dan penerapannya dalam penetapan jumlah produksi optimal pada biaya produksi perbulan di Tempe Murni dengan pendekatan separable programming menggunakan hampiran fungsi linear sepotong-sepotong dengan algoritma genetika.

A. Penyelesaian Masalah Nonlinear Menggunakan Pendekatan Separable Programming

Separable programming merupakan metode penyelesaian model nonlinear yang khusus karena fungsi tujuan dan fungsi kendalanya harus dinyatakan sebagai jumlahan fungsi satu variabel dan bukan perkalian dua variabel berbeda atau lebih. Separable programming selanjutnya diselesaikan dengan menggunakan hampiran fungsi linear sepotong-sepotong. Adapun langkah penyelesaiannya yaitu :

a. Membentuk model nonlinear

Model nonlinear dibentuk berdasarkan data yang diperoleh dari objek penelitian.

b. Membentuk Masalah P ( Fungsi Separable)

c. Mentransformasikan fungsi nonlinear menjadi fungsi linear dengan hampiran linear sepotong-sepotong formulasi Lambda dan membuat titik kisi.


(50)

d. Membentuk masalah AP e. Membentuk masalah LAP f. Menyelesaikan masalah LAP.

Masalah LAP yang diperoleh merupakan pemrograman linear yang selanjutnya dapat diselesaikan dengan metode penyelesaian pemrograman linear. Skripsi ini menggunakan algoritma genetika untuk menyelesaikan pemrograman linear yang telah diperoleh.

Secara umum, langkah penyelesaian pemrograman nonlinear menggunakan pendekatan separable programming dengan hampiran fungsi linear sepotong-sepotong formulasi lambda menggunakan algoritma genetika dapat diilustrasikan seperti pada Gambar 3.1 berikut :

Gambar 3.1 Bagan penyelesaian model nonlinear menggunakan separable programming metode hampiran fungsi linear sepotong-sepotong formulasi lambda dengan Algoritma Genetika

   

a

 

 

 

 

b

 

Fungsi Nonlinear

Membentuk Masalah P

Mentransformasikan Fungsi Nonlinear menjadi Fungsi Linear dengan hampiran linear sepotong-sepotong formulasi Lambda dan membuat titik

kisi

Membentuk Masalah AP Membentuk Masalah LAP Menyelesaikan Masalah LAP dengan

Algoritma Genetika Solusi Optimal


(51)

Keterangan :

a : Nilai Lambda disubstitusikan ke fungsi tujuan linear.

b : Nilai lambda disubstitusikan ke persamaan variabel x untuk selanjutnya disubstitusi ke fungsi tujuan nonlinear.

B. Penerapan Model Nonlinear pada Produksi Tempe Murni

Pada sub bab ini akan dibahas bagaimana pembentukan model nonlinear untuk optimisasi biaya produksi di Tempe Murni untuk selanjutnya akan dibahas langkah penyelesaian model dengan menggunakan pendekatan separable programming dengan hampiran fungsi linear sepotong-sepotong. Pada penyelesaian akhir separable programming setelah terbentuk fungsi linear dengan kendala linear selanjutnya akan diselesaikan dengan algoritma genetika.

1. Pembentukan Model

Indusri Tempe Murni setiap harinya memproduksi ratusan bungkus tempe dengan berbagai harga/bungkus. Terdapat empat variasi harga yang diproduksi, yaitu harga Rp 5.000,00, harga Rp 3.500,00, harga Rp 2.500,00 dan harga Rp 2.000,00. Dari keempat varian tempe yang diproduksi, tempe dengan harga Rp 5.000,00/bungkus menjadi jenis produk yang paling banyak diminati sehingga jumlah produksinya paling banyak di antara yang lain. Selain produksi harian tetap yang akan dijual langsung, industri Tempe Murni juga menerima jasa pemesanan untuk konsumennya. Sehingga saat tejadi pemesanan tambahan dari konsumen, jumlah produksi/bulan yang dibuat akan mengalami kenaikan sehingga total produksi bulanan di Tempe Murni tidak selalu tetap.


(52)

Berdasarkan latar belakang tersebut, maka akan disusun model untuk meminimumkan biaya produksi bulanan yang harus dikeluarkan industri Tempe Murni agar keuntungan yang dihasilkan menjadi optimal. Adapun yang dimaksud biaya produksi total di sini yaitu biaya pembelian bahan baku, upah tetap pekerja, biaya distribusi dan biaya tambahan lain. Biaya – biaya seperti biaya pembelian bahan baku, upah tetap pekerja, biaya distribusi telah dikalkulasi oleh pemilik produksi dan dijadikan biaya modal untuk setiap bungkus tempe yang dihasilkan sehingga tidak dinotasikan dalam suatu variabel. Biaya tambahan lain yang dimaksud adalah biaya yang dikeluarkan saat terjadi pemesanan dalam jumlah besar. Pada kondisi tersebut tenaga kerja akan mengalami penambahan jam kerja sehingga terdapat pengeluaran tambahan untuk upah jam tambahan pekerja. Tabel 3.1 – Tabel 3.3 berikut adalah data produksi tetap, data jumlah pemesanan dan data biaya produksi bulanan Tempe Murni.

Tabel 3.1 Jumlah Produksi Tetap (Tanpa Pesanan) Tempe Murni Periode April 2016 – Juni 2016

Bulan Jenis Produk (dengan satuan bungkus)

A (5.000/bungkus) B (3.500/bungkus) C (2.500/bungkus) D (2.000/bungkus)

April 2016 6000 3600 1000 1500

Mei 2016 6000 3600 900 1800

Juni 2016 6000 3600 900 1800

Jumlah produksi tetap ini merupakan jumlah tempe yang habis terjual setiap bulannya, yang belum merupakan kapasitas maksimal produksi. Kapasitas


(53)

maksimal produksi berupa jumlah tempe maksimal yang dapat diproduksi pekerja tanpa adanya biaya tambahan.

Tabel 3.2 Jumlah Pemesanan Tempe Murni Periode April 2016 – Juni 2016

Bulan Jenis Produk (dengan satuan bungkus)

A (5.000/bungkus) B (3.500/bungkus) C (2.500/bungkus) D (2.000/bungkus)

April 2016 120 150 240 300

Mei 2016 200 150 240 320

Juni 2016 300 180 210 360

Jumlah pemesanan merupakan jumlah tempe yang diproduksi diluar produksi tetap. Jika jumlah pemesanan sedikit dan tidak melebihi kapasitas maksimal produksi maka pemilik tidak akan mengeluarkan biaya tambahan.

Tabel 3.3 Data Biaya Produksi Tempe Murni Periode April 2016 – Juni 2016

Bulan Jenis Produk (dengan satuan bungkus)

A (5.000/bungkus) B (3.500/bungkus) C (2.500/bungkus) D (2.000/bungkus)

April 2016 Rp 17.433.500,00 Rp7.518.500,00 Rp1.802.900,00 Rp1.980.000,00

Mei 2016 Rp 17.665.200,00 Rp7.518.500,00 Rp1.657.600,00 Rp2.332.000,00


(54)

Tabel 3.3 merupakan data biaya produksi yang dikeluarkan untuk produksi total Tempe Murni (tetap dan pesanan) selama periode yang ditentukan. Naik turunnya jumlah biaya membuat produsen Tempe Murni masih kesulitan dalam hal menentukan jumlah produksi minimal untuk setiap varian tempe yang diproduksi, sehingga diharapkan nantinya industri Tempe Murni dapat memperkirakan biaya produksi minimal yang harus dikeluakan setiap bulannya.

Dalam penelitian ini diasumsikan beberapa hal, yaitu : 1. Produksi tetap setiap bulan selalu habis terjual.

2. Pola jumlah pemesanan tidak berbeda secara signifikan. 3. Tidak ada perubahan biaya modal.

Selanjutnya, berdasarkan tujuan yang ingin dicapai yaitu meminimumkan biaya produksi Tempe Murni untuk empat varian harga, maka dibentuk variabel keputusan yang akan digunakan yaitu :

= banyak produksi tempe varian A yaitu tempe dengan harga Rp 5.000,00/bungkus dalam satu bulan (satuan bungkus).

= banyak produksi tempe varian B yaitu tempe dengan harga Rp 3.500,00/bungkus dalam satu bulan (satuan bungkus).

= banyak produksi tempe varian C yaitu tempe dengan harga Rp 2.500,00/bungkus dalam satu bulan (satuan bungkus).

= banyak produksi tempe varian D yaitu tempe dengan harga Rp 2.000,00/bungkus dalam satu bulan (satuan bungkus).

Adapun langkah – langkah dalam pembentukan model matematika untuk permasalahan Tempe Murni adalah sebagai berikut :


(55)

a. Membentuk Fungsi Tujuan

Melihat data biaya produksi dari Tempe Murni tiap bulannya berubah-ubah, maka fungsi tujuan dari permasalahan ini adalah fungsi dengan bentuk nonlinear. Biaya produksi total merupakan jumlahan dari biaya produksi untuk masing – masing varian produk. Oleh karena itu, fungsi tujuan dapat dinyatakan sebagai jumlahan dari biaya produksi untuk setiap varian produk.

Pada permasalahan Tempe Murni ini digunakan data biaya produksi bulan April 2016 hingga Juni 2016 tiap produk. Fungsi tujuan dibentuk dengan menjadikan jumlah produksi total tiap varian sebagai nilai , dan biaya produksi setiap varian produk sebagai nilai . Fungsi biaya yang dikeluarkan untuk memproduksi setiap varian tempe diperoleh dengan mencari regresi polynomial yang akan ditentukan dengan software Geogebra melalui perintah Fitpoly.

1) Biaya yang dikeluarkan untuk memproduksi

Langkah yang digunakan untuk mencari fungsi biaya yaitu dengan menginput data jumlah produksi total Tempe Murni Varian A dan biaya produksi Tempe Murni Varian A. Selanjutnya dengan bantuan menu Spreadsheet dalam software Geogebra lalu diolah menggunakan command Fitpoly dengan orde 2, maka didapatkan Gambar 3.2 sebagai berikut :


(56)

Gambar3.2 Tampilan hasil fitpoly untuk

Berdasarkan pengolahan dari software Geogebra maka biaya yang dikeluarkan untuk memproduksi yaitu

, , , (3.1)

2) Biaya yang dikeluarkan untuk memproduksi

Setelah menginput data jumlah produksi total dan biaya produksi Tempe Murni Varian B dengan bantuan menu Spreadsheet lalu diolah dengan menggunakan command Fitpoly, maka didapatkan Gambar 3.3 sebagai berikut :


(57)

Gambar 3.3 Tampilan hasil fitpoly untuk

Berdasarkan pengolahan dari software Geogebra maka biaya yang dikeluarkan untuk memproduksi yaitu

, , , (3.2)

3) Biaya yang dikeluarkan untuk memproduksi

Setelah menginput data jumlah produksi total dan biaya produksi Tempe Murni varian C dengan bantuan menu Spreadsheet lalu diolah dengan menggunakan command Fitpoly, maka didapatkan Gambar 3.4 sebagai berikut :


(58)

Gambar 3.4 Tampilan hasil fitpoly untuk

Berdasarkan pengolahan dari software Geogebra maka biaya yang dikeluarkan untuk memproduksi yaitu

, , , (3.3)

4) Biaya yang dikeluarkan untuk memproduksi

Setelah menginput data jumlah produksi total dan biaya produksi Tempe Murni varian D dengan bantuan menu Spreadsheet lalu diolah dengan menggunakan command Fitpoly, maka didapatkan Gambar 3.5 sebagai berikut :


(59)

Gambar 3.5 Tampilan hasil fitpoly untuk

Berdasarkan pengolahan dari software Geogebra maka biaya yang dikeluarkan untuk memproduksi yaitu

, , (3.4)

Fungsi tujuan pada permasalahan ini adalah mengoptimalkan biaya produksi total yang dibentuk dari penjumlahan biaya produksi setiap varian produk, sehingga berdasarkan fungsi (3.1) – (3.4) maka didapatkan fungsi tujuan adalah meminimumkan :

, , , , , , ,


(60)

Persamaan (3.5) Tersebut dapat disederhanakan menjadi :

, , , , , , ,

, , , , , (3.6)

b. Membentuk Fungsi Kendala

Berdasarkan informasi dari pemilik industri Tempe Murni, kapasitas minimal produksi untuk tempe jenis A ( adalah 6200 bungkus, tempe jenis B ( sebanyak 3760 bungkus, tempe jenis C ( sebanyak 1180 bungkus dan tempe jenis D ( sebanyak 2100 bungkus.

Fungsi tujuan dari permasalahan ini adalah meminimumkan biaya produksi, maka jumlah produksi yang dapat dibuat diharapkan merupakan jumlah produksi yang maksimal agar tidak terlalu banyak penambahan produksi saat terjadi pemesanan dalam jumlah besar. Fungsi kendala dari permasalahan ini dapat dirumuskan sebagai berikut :

(3.7a) (3.7b) (3.7c) (3.7d)

, , , (3.7e)

Jadi, permasalahan industri Tempe Murni dapat dimodelkan menjadi model nonlinear dengan fungsi tujuan sesuai dengan Persamaan (3.6) dan fungsi kendala sesuai dengan Persamaan (3.7).


(61)

2. Penyelesaian Model Nonlinear Menggunakan Separable Programming Metode Hampiran Fungsi Linear Sepotong-sepotong

Penyelesaian model nonlinear dengan pendekatan separable programming selanjutnya dikerjakan menggunakan metode hampiran fungsi linear sepotong-sepotong (piecewise linear approximation). Adapun langkah – langkah penyelesaiannya yaitu sebagai berikut :

a. Membentuk Masalah P

Berdasarkan Persamaan (3.6), maka diperoleh :

, , (3.8a)

, , (3.8b)

, , (3.8c)

, , , (3.8d)

Persamaan (3.6) yang telah dijabarkan dalam Persamaan (3.8) tersebut dapat dinyatakan sebagai fungsi separable seperti persamaan (2.18) untuk

, , , yaitu :

∑ (3.9)

Berdasarkan fungsi kendala (3.7) dan Persamaan (2.19), maka fungsi kendala tersebut dapat diubah menjadi :

; ; ; (3.10a)

; ; ; (3.10b)

; ; ; (3.10c)


(62)

Pada pembentukan fungsi kendala dengan pendekatan separable programming perlu ditambahkan satu kendala lagi yaitu interval nilai untuk , , , . Berdasarkan kendala (3.7) maka kendala baru yang ditambahkan

yaitu (3.10e)

Batas atas dalam permasalahan ini digunakan 6300 karena yang mendekati nilai kendala yang paling besar.

Selanjutnya, untuk masalah meminimumkan harus dipenuhi bahwa Persamaan (3.6) dan Persamaan (3.7) merupakan jumlahan dari fungsi – fungsi cembung. Fungsi cembung dapat diidentifikasi dengan menentukan turunan keduanya. Berdasarkan Teorema 2.1., maka :

, , , ,

Turunan kedua dari setiap fungsi > 0 sehingga merupakan fungsi cembung sempurna. Dengan cara yang sama dapat diketahui pula bahwa setiap fungsi kendala (3.7) merupakan fungsi cembung.

Berdasarkan identifikasi yang telah dilakukan, maka masalah nonlinear dengan fungsi tujuan seperti pada Persamaan (3.6) dan fungsi kendala seperti


(63)

pada Persamaan (3.7) dapat diselesaikan dengan menggunakan separable programming.

b. Menentukan jumlah titik kisi

Banyaknya titik kisi dapat ditentukan secara sembarang. Pada perhitungan awal untuk masalah ini ditetapkan jumlah titik kisi yang digunakan sebanyak empat ( , , , . Interval setiap titik kisi pada masalah ini dibuat sama agar memudahkan dalam perhitungan. Berdasarkan (3.10e) maka nilai untuk permasalahan ini adalah sebagai berikut :

, , , (3.11a)

, , , (3.11b)

, , , (3.11c)

, , , (3.11d)

Nilai fungsi titik kisi dengan 4 titik kisi dapat dilihat pada Lampiran 3. c. Membentuk Masalah AP

Pembentukan masalah AP diperoleh dengan cara membentuk model linear dari masalah P yang dilakukan dengan hampiran fungsi linear sepotong-sepotong formulasi lambda. Berdasarkan Persamaan (2.24), (2.25) dan (2.26) maka diperoleh hampiran linearnya yaitu :

∑ (3.12a)

∑ (3.12b)

∑ (3.12c)


(64)

dengan kendala

∑ (3.13a)

∑ (3.13b)

∑ (3.13c)

∑ (3.13d)

∑ (3.13e)

∑ (3.13f)

∑ (3.13g)

∑ (3.13h)

∑ (3.13i)

∑ (3.13j)

∑ (3.13k)

∑ (3.13l)

∑ (3.13m)

∑ (3.13n)

∑ (3.13o)

∑ (3.13p)

(3.14a) (3.14b) (3.14c) (3.14d)

, , , untuk , , , … , . (3.14e)


(65)

(3.15a) (3.15b) (3.15c) (3.15d) Sehingga diperoleh masalah AP sebagai berikut :

Meminimumkan

∑ (3.16) 

dengan kendala

∑ , , , … , (3.17)

, , … , (3.18) d. Membentuk Masalah LAP

Berdasarkan Persamaan (2.30), fungsi tujuan masalah LAP dapat dituliskan sebagai berikut :

∑ . (3.19) 

berdasarkan persamaan (3.12a) – (3.12d), persamaan (3.19) dapat dituliskan sebagai berikut

∑ (3.20) Berdasarkan persamaan (2.30), persamaan (3.20) dapat dituliskan


(66)

. (3.21) Berdasarkan persamaan (3.8), (3.9) dan (3.10) dalam menghitung nilai dari

, dan Tabel nilai fungsi titik kisi pada lampiran 3, diperoleh hampiran fungsi tujuan linear sebagai berikut :

0 11 3486147 21 8030694 31 13633641 41 0 12 3732918 22 9141636 32 16226154 42 0 13 2650998 23 11652396 33 27004194 43 5593508,8 14 7224032,8 24

10353956,8 34 14983280,8 44 (3.22)

Berdasarkan persamaan (2.31a), fungsi kendala untuk masalah LAP dapat dituliskan sebagai berikut

∑   (3.23a) 

∑   (3.23b) 

∑   (3.23c) 

∑   (3.23d) 

Berdasarkan persamaan (3.13), persamaan (3.23) dapat dituliskan sebagai berikut :

∑ ∑ ∑ ∑

∑   (3.24a) 

∑ ∑ ∑ ∑

∑   (3.24b)

∑ ∑ ∑ ∑


(67)

∑ ∑ ∑ ∑

∑ .  (3.24d)

Berdasarkan persamaan (2.31a), persamaan (3.24) dapat dituliskan sebagai berikut

(3.25a)

(3.25b)

(3.25c)


(68)

Berdasarkan persamaan (3.25) dan Tabel nilai fungsi titik kisi pada Lampiran 3, substitusikan nilai dari sehingga diperoleh hampiran fungsi kendala linear sebagai berikut

(3.26a)

(3.26b)

(3.26c)

(3.26d) Berdasarkan Persamaan (3.22) dan (3.26) dapat diperoleh masalah

pemrograman linear dengan fungsi-fungsi linear sebagai berikut : Meminimumkan

0 11 3486147 21 8030694 31 13633641 41 0 12 3732918 22 9141636 32 16226154 42 0 13 2650998 23 11652396 33 27004194 43 5593508,8 14 7224032,8 24


(69)

dengan kendala

0 11 2100 21 4200 31 6300 1 0 12 0 22 0 32 0

0 13 0 23 0 33 0 43 0 14 0 24 0 34 0 44 6200 (3.28a)

3760 (3.28b)

0 11 0 21 0 31 0 41 0 12 0 22 0 32 0 42 0 13 2100 23 4200 33 6300 43 0 14 0 24 0 34

0 44 1180 (3.28c)

0 11 0 21 0 31 0 41 0 12 0 22 0 32 0 42 0 13 0 23 0 33 0 43 0 14 2100 24 4200 34

6300 44 2100 (3.28d)

11 21 31 41 1 (3.28e)

12 22 32 42 1 (3.28f)

13 23 33 43 1 (3.28g)

14 24 34 44 1 (3.28h)


(70)

dan terdapat paling sedikit satu tidak nol atau paling banyak dua , tidak nol dan berdampingan.

Berdasarkan fungsi tujuan dan fungsi kendala yang telah diperoleh, maka dapat diketahui bahwa model linear yang terbentuk memiliki 16 variabel keputusan dengan 8 fungsi kendala.

e. Menyelesaikan model linear dengan Algoritma Genetika

Proses penyelesaian model linear dengan kendala linear ini akan menggunakan bantuan software Matlab yang akan dibahas dalam sub bab berikutnya.

3. Penyelesaian Model Linear dengan Algoritma Genetika

Penyelesaian model linear dengan algoritma genetika akan dilakukan menggunakan software Matlab. Optimisasi Algoritma default dari Matlab merupakan optimisasi meminimumkan. Beberapa komponen algoritma genetika yang telah diset oleh Matlab yaitu jumlah populasi sebanyak 20, seleksi menggunakan metode roulette whell, crossover probability ( = 0,8 dan mutation probability ( = 0,2. Jadi dalam skripsi ini hanya membahas proses Algoritma Genetika dengan menggunakan proses yang telah menjadi default dari Matlab.

Meminimumkan

0 11 3486147 21 8030694 31 13633641 41 0 12 3732918 22 9141636 32 16226154 42 0 13 2650998 23 11652396 33 27004194 43 5593508,8 14 7224032,8 24 10353956,8 34 14983280,8 44


(71)

dengan kendala

2100 23 4200 33 6300 43 1180 2100

12 22 32 42 1

13 23 33 43 1

14 24 34 44 1

1, 2, 3, 4 0dengan 1, 2, 3, 4

Selanjutnya untuk memudahkan penginputan, variabel-variabel pada fungsi diatas akan diubah sebelum diselesaikan menggunakan Matlab. Adapun teknis pengubahannya yaitu berurutan dari , , ,

. Sehingga menjadi sebagai berikut : Meminimumkan

0 3486147 8030694 13633641

3732918

16226154 0

27004194

, ,

10353956,8 ,


(72)

1180 2100

1 1

1 , dengan , , ,

Langkah – langkah penyelesaiannya sebagai berikut : a. Pengkodean Fungsi Fitness

Fungsi fitness merupakan fungsi tujuan yang akan dicari nilai optimalnya. Nilai optimal yang dicari dalam Matlab adalah nilai minimum dari fungsi fitness. Input disimpan dengan nama fungsiku.m (dapat dilihat di Lampiran 4).

b. Pengkodean Fungsi Kendala

Fungsi kendala diinput dalam script Matlab dan disimpan dengan nama kendala.m(dapat dilihat di Lampiran 4).

c. Minimasi dengan Algoritma Genetika

Langkahnya yaitu melakukan input perintah pada command window untuk mengoptimalkan fungsi tujuan dengan kendala yang sudah diinput dan disimpan dengan nama fungsiku.m dan kendala.m tadi.


(73)

Tampilannya sebagai berikut :

Gambar 3.6 Tampilan perintah untuk minimasi pada command window Matlab

Selanjutnya dengan menekan enter maka akan didapatkan nilai atau yang meminimumkan fungsi tujuan linear. Namun karena sifat dasar algoritma genetika yang dimulai dengan menggunakan pembangkitan bilangan acak seperti yang sudah dijelaskan dalam Contoh 2.5, maka dalam skripsi ini digunakan 10 kali penginputan fungsi fitness dan fungsi kendala yang sama (hasil dapat dilihat pada Lampiran 5), dan dipilih satu hasil yang paling minimum sebagai berikut :


(74)

Berdasarkan Gambar 3.7 diatas didapatkan hasil yang optimal yaitu : (1) = 0,0000

(2) = 0,0000 (3) = 0,0475 (4) = 0,9525 (5) = 0,0000 (6) = 0,2094 (7) = 0,7906 (8) = 0,0000 (9) = 0,3254 (10) = 0,6746 (11) = 0,0000 (12) = 0,0000 (13) = 0,0000 (14) = 0,9761 (15) = 0,0239 (16) = 0,0000

Pada permasalahan ini membahas tentang produksi tempe yang dinyatakan dalam satuan bungkus, sehingga lambda yang diperoleh harus merupakan bilangan bulat agar didapatkan jumlah produksi tempe dalam bilangan bulat. Oleh karena itu, dilakukan pemrograman bulat untuk mengubah lambda yang telah diperoleh menjadi bilangan bulat. Pemrograman


(75)

bulat dilakukan menggunakan software WinQSB yang prosesnya dapat dilihat pada Lampiran 6 sehingga diperoleh hasil

Gambar 3.8 Hasil Pemrograman Bulat dengan WinQSB dengan lambda sudah dalam bentuk bilangan bulat.

0 0 0 1 0 0 1 0 0 1 0 0


(76)

1 0 0

32.560.310

Langkah selanjutnya yaitu mensubstitusikan nilai-nilai lambda yang telah didapatkan kedalam persamaan (3.15) untuk mendapatkan nilai

, , , dan sehingga didapatkan :

=(0)(0) + (2100)(0) + (4200)(0) + (6300)(1) = 6300

= (0)(0) + (2100)(0) + (4200)(1) + (6300)(0) =4200

= (0)(0) + (2100)(1) + (4200)(0) + (6300)(0) = 2100

= (0)(0) + (2100)(1) + (4200)(0) + (6300)(0) = 2100

Hasil yang diperoleh yaitu jumlah produksi (varian A) sebanyak 6300 bungkus, (varian B) sebanyak 4200 bungkus, (varian C) sebanyak 2100 bungkus dan (varian D) sebanyak 2100 bungkus.


(77)

Sehingga nilai minimum untuk fungsi nonlinear (biaya total produksi bulan Juli) yaitu :

, , ,

, , , , ,

, , , ,

=(0,12)(6300)2 + (1408,07)(6300) + (0,19)(4200)2 + (1378,58)(4200) +(0,72)(2100)2 – (249,62)(2100) + (0,17)(2100)2+ (419,44)(2100) + 5593508,8

= 32.650.307,8

Selanjutnya sebagai pembanding, masalah nonlinear produksi tempe murni juga diselesaiakan langsung menggunakan software winqsb. Melalui software winqsb didapatkan hasil biaya produksi Rp 32.417.660,00 (Lampiran 7).

Hasil perhitungan fungsi tujuan linear dengan nonlinear memang sedikit berbeda karena fungsi tujuan linear merupakan suatu nilai pendekatan (Rao, 1984 : 649), namun demikian substitusi nilai bernilai benar karena adanya jaminan bahwa hanya ada dua yang bernilai positif dan lebih dari nol.

Berdasarkan Teorema 2.2 yang menjelaskan bahwa penyelesaian masalah pendekatan juga merupakan penyelesaian yang layak dari masalah P. Pada penelitian ini Masalah LAP merupakan pendekatan dari masalah nonlinear sehingga penyelesaian pendekatan pada masalah LAP merupakan penyelesaian layak dari masalah nonlinear juga.


(78)

BAB IV

PENUTUP

 

A. Kesimpulan

Berdasarkan hasil pembahasan dalam BAB III, maka dapat diperoleh beberapa kesimpulan sebagai berikut :

1. Model matematika dalam pengoptimalan biaya produksi di Tempe Murni merupakan model nonlinear, yaitu meminimumkan fungsi tujuan

, , , , , , ,

, , , ,

,

dengan kendala

(3.7a) (3.7b) (3.7c) (3.7d)

, , ,

2. Setelah permasalahan separable programming telah teridentifikasi, maka langkah penyelesaian model menggunakan separable programming dengan algoritma genetika adalah


(79)

a. Membentuk Masalah P, yaitu , , , dan

, … , , , … , , … , .

b. Menentukan jumlah titik kisi. Pada permasalahan ini diambil 4 titik kisi untuk selanjutnya dihitung nilai fungsinya.

c. Membentuk Masalah AP, yaitu , , , dan

, … , , , … , , … , serta , … , .

d. Membentuk Masalah LAP, yaitu Meminimumkan

, ,

, ,

dengan kendala

6200


(80)

1180

2100

, , , dengan 1, 2, 3, 4

e. Menyelesaikan model linear dengan algoritma genetika.

Berdasarkan perhitungan, didapatkan hasil yaitu total biaya produksi bulan juli 2016 sebesar Rp 32.650.307,8 dengan variasi produk varian A sebanyak 6300 bungkus, varian B sebanyak 4200 bungkus, varian C sebanyak 2100 bungkus dan varian D sebanyak 2100 bungkus.


(81)

B. Saran

Permasalahan yang dibahas dalam skripsi ini masih terbatas pada penyelesaian optimum model nonlinear menggunakan separable programming dengan pendekatan fungsi linear sepotong-sepotong. Setelah didapatkan fungsi linearnya selanjutnya diselesaikan dengan algoritma genetika. Penulis berharap ada pembaca yang tertarik untuk meneliti dan mengkaji penyelesaian pemrograman nonlinear yang lain. Metode penyelesaian pemrograman nonlinear lain seperti Quadratic Programming, Pengali Lagrange, Biseksi, Konvek dan Karush-Kuhn-Tucker. Selain itu untuk penggunaan algoritma genetika dalam skripsi ini juga masih sederhana. Bagi pembaca yang tertarik hendaknya dapat mengkaji lebih dalam tentang penggunaan algoritma genetika dalam matematika, misalnya manfaat algoritma genetika untuk penjadwalan, masalah TSP, optimasi yang lebih kompleks dan lainnya.


(82)

PENYELESAIAN MODEL NONLINEAR MENGGUNAKAN

SEPARABLE PROGRAMMING DENGAN ALGORITMA

GENETIKA PADA PRODUKSI TEMPE

SKRIPSI

Diajukan kepada Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Negeri Yogyakarta

untuk Memenuhi Sebagian Persyaratan

guna Memperoleh Gelar Sarjana Sains

Oleh:

Asep Indriana

NIM 12305141037

PROGRAM STUDI MATEMATIKA

JURUSAN PENDIDIKAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS NEGERI YOGYAKARTA


(83)

(84)

(85)

(86)

MOTTO

“Maka nikmat Tuhan kamu

yang manakah yang kamu dustakan?”

(QS. Ar Rahmaan: 13)

“Sesungguhnya bersama kesulitan ada kemudahan. Maka apabila engkau telah

selesai (dari sesuatu urusan), tetaplah bekerja keras (untuk urusan yang lain). Dan

hanya kepada Tuhanmulah engkau berharap”

(QS. Al Insyirah: 6-8)

Tidak penting apa agamamu atau sukumu, kalau kamu bisa melakukan sesuatu

yang baik untuk semua orang, orang tidak akan tanya apa agamamu


(87)

PERSEMBAHAN

Alhamdullillahirobil’alaamin, karya ini penulis persembahkan untuk:

1.

Kedua orang tuaku tercinta yang telah memberikan doa, kerja keras, dan

kasih sayang yang tak terbatas.

2.

Bapak Ibu guruku yang telah mengajarkan banyak ilmunya sehingga saya

bisa seperti sekarang.

3.

Kakak dan adik-adikku yang selalu setia memberi dukungan dan semangat

4.

Bapak KH. Jalal Suyuti S. H. sekeluarga selaku pengasuh Pondok

Pesantren Wahid Hasyim yang telah membimbing saya selama di Jogja.

5.

Bapak Miftahul Munir dan Bapak Arif Nur Hidayat sekeluarga yang sudah

saya anggap ayah saya sendiri, terimakasih atas segala bimbingan dan

kasih sayang kalian.

6.

Teman-teman santri Pondok Pesantren Wahid Hasyim, pejuang LSP,

Matsub 2012 yang tidak bisa saya sebutkan satu per satu, bersama

kalianlah saya banyak belajar tentang hidup.


(88)

PENYELESAIAN MODEL NONLINEAR MENGGUNAKAN SEPARABLE

PROGRAMMING DENGAN ALGORITMA GENETIKA PADA

PRODUKSI TEMPE

Oleh

Asep Indriana

NIM 12305141037

ABSTRAK

Optimisasi banyak diterapkan dalam kehidupan sehari-hari, tidak

terkecuali dalam bidang industri. Para pelaku industri kebanyakan menerapkan

optimasi untuk mendapatkan keuntungan yang maksimum atau mengeluarkan

biaya produksi yang minimum. Sebagai salah satu industri rumahan, Tempe

Murni masih mengalami kesulitan dalam mengelola produksinya. Tujuan dari

penelitian ini adalah membentuk model matematika dalam pengoptimalan biaya

produksi Tempe Murni selama satu bulan dan menyelesaikan model

menggunakan

separable programming

dengan algoritma genetika.

Separable programming

merupakan suatu pendekatan penyelesaian

masalah nonlinear dengan mentransformasikan bentuk nonlinear menjadi bentuk

linear yang hanya memuat satu variabel. Masalah

separable programming

diselesaikan dengan hampiran fungsi linear sepotong-sepotong menggunakan

formulasi lambda. Selanjutnya, hasil dari

separable programming

yang

merupakan pemrograman linear dicari solusi optimalnya dengan algoritma

genetika. Algoritma genetika merupakan salah satu algoritma pencarian yang

dalam prosesnya menggunakan prinsip genetika dan proses seleksi evolusi. Proses

algoritma genetika dalam mencari solusi optimal akan menggunakan

software

Matlab.

Permasalahan yang dibahas yaitu meminimumkan biaya produksi industri

Tempe Murni berdasarkan kendala yang diperoleh dari keterangan dan data

produksi selama tiga bulan sebelumnya. Hasil perhitungan menunjukkan biaya

produksi minimum Tempe Murni selama satu bulan adalah Rp 32.650.307,8.

Kata kunci: optimisasi,

separable programming

, hampiran fungsi linear


(89)

KATA PENGANTAR

Puji dan Syukur penulis panjatkan kepada Allah SWT, karena berkat

rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi yang berjudul

Penyelesaian Model Nonlinear Menggunakan Separable Programming

dengan Algoritma Genetika pada Produksi Tempe

”. Skripsi i

ni disusun untuk

memenuhi salah satu syarat guna memperoleh gelar Sarjana Sains Program Studi

Matematika di Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas

Negeri Yogyakarta.

Penulis menyadari bahwa penyusunan skripsi ini tidak lepas dari bantuan

berbagai pihak. Oleh karenya, penulis mengucapkan terimakasih kepada:

1.

Bapak Dr. Hartono selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan

Alam yang telah memberikan kesempatan kepada penulis untuk

menyelesaikan studi.

2.

Bapak Dr. Ali Mahmudi selaku Ketua Jurusan Pendidikan Matematika yang

telah memberikan kelancaran dalam penyelesaian akademik untuk

menyelesaikan studi.

3.

Bapak Dr. Agus Maman Abadi selaku Ketua Program Studi Matematika yang

telah memberikan bimbingan dan pengarahan dalam penulisan skripsi ini.

4.

Bapak Emut, M.Si selaku pembimbing Akademik Matematika yang telah

memberikan arahan dan bimbingan penulis selama menjalani studi.

5.

Ibu Eminugroho Ratna Sari, M.Sc sebagai dosen pembimbing skripsi yang


(90)

(1)

L2 diperoleh dari L1 dengan menambahkan kendala � 4 1 dan diperoleh hasil :

L3 diperoleh dari L1dengan menambahkan kendala � 4 0 dan hasilnya infeasible.

L4 diperoleh dari L2 dengan menambahkan kendala � 7 1 dan diperoleh hasil:

L5 diperoleh dari L2 dengan menambahkan kendala � 7 0 dan hasilnya infeasible.


(2)

L6 diperoleh dari L4 dengan menambahkan kendala � 10 1 dan diperoleh hasil:

L7 diperoleh dari L4 dengan menambahkan kendala � 10 0 dan hasilnya infeasible.


(3)

Lb diperoleh dari La dengan menambahkan kendala � 4 1 dan diperoleh hasil :

Lc diperoleh dari La dengan menambahkan kendala � 4 0 dan hasilnya infeasible.

Ld diperoleh dari Lb dengan menambahkan kendala � 7 1 dan diperoleh hasil:

Le diperoleh dari Lb dengan menambahkan kendala � 7 0 dan hasilnya infeasible.


(4)

Lf diperoleh dari Ld dengan menambahkan kendala � 10 1 dan diperoleh hasil:

Lg diperoleh dari Ld dengan menambahkan kendala � 10 0 dan hasilnya infeasible.


(5)

LAMPIRAN 7

Hasil perhitungan masalah nonlinear produksi tempe murni dengan software WinQSB.

Input :


(6)