METODE PERSAMAAN DIOPHANTINE LINEAR DALAM PENENTUAN SOLUSI PROGRAM LINEAR INTEGER Asrul Syam Program Stui Teknik Informatika, STMIK Dipanegara, Makassar e-mail: assyams03@gmail.com Abstrak Masalah optimasi merupakan bagian yang penting alam kehiupan manusia, bentuk optimasi tersebut apat berupa meminimalkan biaya atau memaksimalkan keuntungan iantara beberapa kenala keterbatasan yang aa, serta iharapkan solusi yang iberikan berupa bilangan bulat. Penelitian ini bertujuan untuk menentukan solusi optimum ari suatu fungsi tujuan alam program bilangan bulat engan menggunakan metoe persamaan Diophantine Linear. Metoe penelitian imulai engan membahas persamaan linear, program bilangan bulat, teori bilangan, teorema Eucli, teorema sisa china, serta metoe algoritma branch an boun an metoe cutting plane sebagai pembaning ari metoe baru yang akan ibangun, yaitu metoe persamaan Diophantine linear. Ketiga metoe tersebut iaplikasikan paa beberapa contoh kasus engan fungsi tujuan maksimum an minimum untuk 2 an 3 variabel, an juga apat iaplikasikan untuk kasus n variabel. Hasil penelitian menunjukkan bahwa engan metoe persamaan Diophantine linear, lebih muah an efisien alam penentuan solusi optimum ari program bilangan bulat ibaningkan engan metoe branch an boun maupun metoe cutting plane. Kata kunci: Solusi optimum, persamaan Diophantine linear Abstract Optimization problems is an important part of human life, such optimization can be a form of minimizing costs or maximizing profits among several obstacles existing limitations, as well as the expecte solution given an integer. This stuy aims to etermine the optimum solution of an objective function in the program integers using Linear Diophantine equation. The research metho begins by iscussing linear equations, program integers, number theory, Eucli's theorem, china remainer theorem, as well as branch an boun algorithm metho an the metho of cutting plane as a comparison of the new metho to be constructe, the metho of linear Diophantine equation. These three methos are applie in a few cases with maximum an minimum objective function for 2 an 3 variables, an can also be applie to the case of n variables. The results showe that the metho of linear Diophantine equations, easier an more efficient in etermining the optimum solution of the program integers instea of the branch an boun an cutting plane methos. Keywors: Optimum Solutions, linear Diophantine equation 1. PENDAHULUAN Permasalahan optimasi merupakan bagian yang tiak lepas alam kehiupan manusia sehari-hari. Terkaang alam usaha untuk memenuhi kebutuhannya, manusia membutuhkan proses optimasi alam pekerjaannya. Bentuk optimasi tersebut, apat berupa meminimalkan biaya yang ikeluarkan atau juga apat berupa memaksimalkan penapatan yang ingin iperoleh [10]. Namun terapat kenala yang iperoleh ketika hasil (nilai variabel keputusan) yang iapatkan ari proses optimasi tersebut berupa bilangan pecahan, paahal hasil yang iharapkan tiak memungkinkan jika menggunakan bilangan pecahan. Oleh karena Receive June1 st,2012; Revise June25 th, 2012; Accepte July 10 th, 2012
itu, iperlukan proses optimasi engan menggunakan metoe integer programming untuk menyelesaikan masalah tersebut.[8] Aapun metoe untuk menapatkan solusi ari integer programming yang berupa bilangan bulat, yaitu engan menggunakan algoritma Branch an Boun[1], algoritma Cutting Plane [5] an metoe persamaan Diophantine linear [6]. Untuk kasus optimasi yang cukup besar atau teriri ari beberapa variabel, Algoritma Branch an Boun an algoritma Cutting Plane tiak efektif iterapkan, karena keua metoe tersebut membutuhkan proses yang panjang alam hal iterasi, sehingga membutuhkan waktu yang lama alam pemprosesan hasilnya [1]. Solusi Integer Programming engan metoe persamaan Diophantine linear, pertama kali ikaji oleh Risnawati ibnas [6], sehingga mampu memperoleh solusi bilangan bulat engan cepat an tepat, namun hanya terbatas paa masalah fungsi tujuan yang maksimal. Sehingga perlu untuk melanjutkan penelitian tersebut, yaitu menentukan solusi bilangan bulat ari Integer Programming engan menggunakan metoe Diophantine Linear yang mampu mencakup semua kasus optimasi, yaitu memaksimalkan atau meminimalkan fungsi tujuan. 2. BAHAN &METODE PENELITIAN Metoe penelitian ini berbentuk kajian pustaka (stui literatur). Secara umum esain penelitian yang ilakukan aalah, ientifikasi masalah, stui literatur mengenai program linear, menentukan solusi lain ari satu solusi yang iketahui ari persamaan iophantine linear untuk 2 variabel an n variabel, membangun langkah penyelesaian program bilangan bulat engan menggunakan metoe persamaan Diophantine linear, serta mengaplikasikan alam beberapa contoh kasus yang memuat 2 an 3 variabel untuk fungsi tujuan yang maksimum maupun untuk fungsi tujuan yang minimum. Aapun alat bantu komputasi yang igunakan paa penelitian ini aalah POM for Winows 3 an Geogebra. 3. HASIL DAN PEMBAHASAN Metoe Persamaan Diophantine Linear paa Program Linear Integer 2 Variabel Diberikan masalah program linear integer 2 variabel engan beberapa kenala sebagai berikut Maks/Min: z = c 1 x 1 + c 2 x 2 Kenala a 11 x 1 + a 12 x 2 b 1 atau b 1 a 21 x 1 + a 22 x 2 b 1 atau b 2 (1) a m1 x 1 + a m2 x 2 b m atau b m Dengan x i 0 Berikut ini langkah-langkah aplikasi persamaan Diophantine linear 2 variabel alam penentuan solusi Program linear integer 2 variabel (1)untuk fungsi tujuan yang maksimal. Langkah pertama, terlebih ahulu mencari solusi program bilangan bulat engan menggunakan metoe grafik atau metoe simplex ari persamaan (1) sehingga iperoleh z opt engan x 1 = x 1 an x 2 = x 2. Jika x 1 an x 2 bilangan bulat maka langkah selesai, namun jika tiak bulat, maka lanjut ke langkah selanjutnya. Langkah keua, yaitu mengubah nilai z opt menjai z 1 imana nilai z 1 merupakan bilangan bulat terbesar yang kurang ari z opt, sehingga fungsi tujuan ari (1) apat ituliskan menjai c 1 x 1 + c 2 x 2 = z 1 (2)
Dimana persamaan (2) merupakan persamaan Diophantine Linear engan 2 variabel. Persamaan (2) hanya memiliki solusi bulat jika z 1 engan = gc(c 1, c 2. Anggap solusi bulat awal yang iperoleh ari (2) aalah (x 1,x 2 ), maka solusi bulat yang lain yang memenuhi (2) an fungsi kenala paa (1) apat iperoleh ari persamaan x 1 = x 1 + ( b ). t an x 2 = x 2 ( a ). t (3) Jika iperoleh solusi bulat paa persamaan (3), maka langkah selesai tetapi jika tiak iperoleh solusi bulat, maka lanjut ke langkah selanjutnya, yaitu mengubah nilai z 1 menjai z 2 engan z 2 = z 1 1, kemuian mengulangi langkah keua hingga langkah terakhir sampai iperoleh solusi bulat yang memenuhi fungsi kenala ari suatu fungsi tujuan (1). Berikut ini langkah-langkah aplikasi persamaan Diophantine linear 2 variabel alam penentuan solusi Program linear integer 2 variabel (1) untuk fungsi tujuan yang minimal. Langkah pertama, terlebih ahulu mencari solusi program bilangan bulat engan menggunakan metoe grafik atau metoe simplex ari persamaan (1) sehingga iperoleh z opt engan x 1 = x 1 an x 2 = x 2. Jika x 1 an x 2 bilangan bulat maka langkah selesai, namun jika tiak bulat, maka lanjut ke langkah selanjutnya. Langkah keua, yaitu mengubah nilai z opt menjai z 1 imana nilai z 1 merupakan bilangan bulat terbesar yang kurang ari z opt jika z opt bernilai negatif, an mengubah nilai z opt menjai z 1 imana nilai z 1 merupakan bilangan bulat terkecil yang lebih ari z opt jika z opt bernilai positif, sehingga fungsi tujuan ari (1) apat ituliskan menjai c 1 x 1 + c 2 x 2 = z 1 (4) Dimana persamaan (4) merupakan persamaan Diophantine Linear engan 2 variabel. Persamaan (4) hanya memiliki solusi bulat jika z 1 engan = gc(c 1, c 2 ). Anggap solusi bulat awal yang iperoleh ari (4) aalah (x 1,x 2 ), maka solusi bulat yang lain yang memenuhi (1.4) an fungsi kenala paa (1) apat iperoleh ari persamaan x 1 = x 1 + ( b ). t an x 2 = x 2 ( a ). t (5) Jika iperoleh solusi bulat paa persamaan (5), maka langkah selesai tetapi jika tiak iperoleh solusi bulat, maka lanjut ke langkah selanjutnya, yaitu mengubah nilai z 1 menjai z 2 engan z 2 = z 1 + 1, kemuian mengulangi langkah keua hingga langkah terakhir sampai iperoleh solusi bulat yang memenuhi fungsi kenala ari suatu fungsi tujuan (1). Metoe Persamaan Diophantine Linear paa Program Linear Integer n variabel Diberikan masalah program linear integern variabel sebagai berikut Maks/Min z = c 1 x 1 + c 2 x 2 + + c n x n Kenala: a 11 x 1 + a 12 x 2 + + a 1n x n b 1 atau b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 atau b 2 (6) a m1 x 1 + a m2 x 2 + + a mn x n b m atau b m Dengan x i 0; i = 1,2,, n Berikut ini langkah-langkah aplikasi persamaan Diophantine linear n variabel alam penentuan solusi Program linear integer n variabel (6 ) untuk fungsi tujuan yang maksimal. Langkah pertama, terlebih ahulu mencari solusi program bilangan bulat engan menggunakan metoe grafik atau metoe simplex ari persamaan (6) sehingga iperoleh z opt engan x 1 = x 1 ;x 2 = x 2 x n = x n.. Jika x 1 ;x 2 x n bilangan bulat maka langkah selesai, namun jika tiak bulat, maka lanjut ke langkah selanjutnya. Langkah keua, yaitu mengubah nilai z opt menjai z 1 imana nilai z 1 merupakan bilangan bulat terbesar yang kurang ari z opt, sehingga fungsi tujuan ari (6) apat ituliskan menjai
c 1 x 1 + c 2 x 2 + + c n x n = z 1 (7) Dimana persamaan (7) merupakan persamaan Diophantine Linear engan n variabel. Persamaan (7) hanya memiliki solusi bulat jika z 1 engan = gc(c 1, c 2,, c n ). Anggap solusi bulat awal yang iperoleh ari (2) aalah (x 1,x 2, x n ), maka solusi bulat yang lain yang memenuhi (2) an fungsi kenala paa (1) apat iperoleh ari persamaan x 1 = x 1 + ( b ). t ; x 2 = x 2 ( c ). t ; ; x n = x n + ( a ). t. (8) Jika iperoleh solusi bulat paa persamaan (8), maka langkah selesai tetapi jika tiak iperoleh solusi bulat, maka lanjut ke langkah selanjutnya, yaitu mengubah nilai z 1 menjai z 2 engan z 2 = z 1 1, kemuian mengulangi langkah keua hingga langkah terakhir sampai iperoleh solusi bulat yang memenuhi fungsi kenala ari suatu fungsi tujuan (6). Berikut ini langkah-langkah aplikasi persamaan Diophantine linear n variabel alam penentuan solusi Program linear integer n variabel (6) untuk fungsi tujuan yang minimal. Langkah pertama, terlebih ahulu mencari solusi program bilangan bulat engan menggunakan metoe grafik atau metoe simplex ari persamaan (6) sehingga iperoleh z opt engan x 1 = x 1 ;x 2 = x 2 x n = x n.. Jika x 1 ;x 2 x n bilangan bulat maka langkah selesai, namun jika tiak bulat, maka lanjut ke langkah selanjutnya. Langkah keua, yaitu mengubah nilai z opt menjai z 1 imana nilai z 1 merupakan bilangan bulat terbesar yang kurang ari z opt jika z opt bernilai negatif, an mengubah nilai z opt menjai z 1 imana nilai z 1 merupakan bilangan bulat terkecil yang lebih ari z opt jika z opt bernilai positif, sehingga fungsi tujuan ari (1) apat ituliskan menjai c 1 x 1 + c 2 x 2 + + c n x n = z 1 (9) Dimana persamaan (9) merupakan persamaan Diophantine Linear engan n variabel. Persamaan (9) hanya memiliki solusi bulat jika z 1 engan = gc(c 1, c 2,, c n ). Anggap solusi bulat awal yang iperoleh ari (9) aalah (x 1,x 2,, x n ), maka solusi bulat yang lain yang memenuhi (9) an fungsi kenala paa (1) apat iperoleh ari persamaan x 1 = x 1 + ( b ). t ; x 2 = x 2 ( c ). t ; ; x n = x n + ( a ). t (10) Jika iperoleh solusi bulat paa persamaan (10), maka langkah selesai tetapi jika tiak iperoleh solusi bulat, maka lanjut ke langkah selanjutnya, yaitu mengubah nilai z 1 menjai z 2 engan z 2 = z 1 + 1, kemuian mengulangi langkah keua hingga langkah terakhir sampai iperoleh solusi bulat yang memenuhi fungsi kenala an fungsi tujuan (6). Penelitian ini menunjukkan bahwa, engan menggunakan metoe persamaan Diophantine Linear, solusi ari program bilangan bulat engan fungsi tujuan yang maksimum ataupun fungsi tujuan minimum, apat iperoleh engan langkah yang lebih efektif ibaningkan engan metoe branch an boun an metoe cutting plane. Metoe branch an boun seniri hanya mampu menyelesaikan persoalan bilangan bulat yang teriri ari 2 variabel, an metoe cutting plane mampu menyelesaikan persoalan bilangan bulat yang lebih ari 2 variabel, namun terkenala paa langkah yang lebih rumit an panjang alam hal iterasi, sehingga membutuhkan waktu yang lama alam pemrosesan hasilnya [4]. Aapun untuk fungsi tujuan yang minimum, ipaparkan langkah-langkah penyelesaiannya seperti paa bab hasil i atas. Terapat seikit perbeaan paa langkah ke-3 yaitu, untuk nilai z opt yang bernilai positif, maka ilakukan pembulatan ke atas, seangkan untuk nilai z opt yang bernilai negatif, maka ilakukan pembulatan ke bawah. Hal ini mungkin saja apat terjai alam beberapa kasus optimasi yang fungsi tujuannya minimal, bahwa tiak semua fungsi tujuan yang minimal akan memberikan nilai negatif, tetapi juga bisa memberikan nilai positif [3]. Secara garis besar, persamaan Diophantine ibagi atas 2, yaitu persamaan Diophantine linear an persamaan Diophantine non linear yang bisa teriri ari n variabel. Paa tulisan ini, persamaan Diophantine yang ibahas ibatasi hanya paa persamaan Diophantinelinear engan 2 atau lebih variabel. Aapun bentuk paling seerhana ari persamaan Diophantine linear yaitu memuat 2 variabel, yang berbentuk :
ax + by = c (11) engan a, b, c Z. Solusi persamaan Diophantine (11) i atas aalah semua pasangan bilangan bulat (x, y) yang memenuhi persamaan (11) [5]. Teorema 1 Misalkana, b, c Z, enganaanbtiak keuanya nol an = gc (a, b). Maka persamaan Diophantineax + by = cmempunyai solusi jika an hanya jika c; alam kasus ini terapat tak berhingga banyak solusi. Solusi yang lain apat itentukan engan persamaan berikut yaitu : x = x 0 + b t, any = y 0 a t, untukt Z, engan (x 0, y 0 )aalah solusi awal. [2] Teorema 2 Jika a an b bilangan bulat positif, maka terapat bilangan bulat s an t sehingga gc(a, b) = sa + tb. Teorema 2 menjamin bahwa ari 2 buah bilangan bulat, maka selalu terapat sebuah bilangan bulat yang selanjutnya isebut gc (great common ivisor) [2] Lemma 1 Jika a, b, an c bilangan bulat positif sehinggagc(a, b) = 1ana bc, maka a c. Lemma 1 menunjukkan bahwa bilangan a a b isebut relatif prim [2] Teorema 3: Teorema Eucli Jika a = bq + r, engan a, b, q, an r Z. Maka gc(a, b) = gc(b, r). Berasarkan teorema Eucli iatas, maka nilai gc atau FPB ari ua buah bilangan bulat apat itentukan. Teorema ini juga apat iperluas untuk beberapa bilangan bulat [9] Algoritma Eucli yang Diperluas Dengan algoritma Eucli apat ihitung gc ari a an b. Sesuai teorema 3, terapat bilangan x an y engan gc(a, b) = ax + by. Selanjutnya algoritma Eucli apat iperluas seemikian sehingga apat igunakan untuk menghitung nilai x an ytersebut. Paa pembahasan algoritma Eucli bahwa iperoleh barisan sisa yaitu r 0, r 1, r 2,, r n an barisan hasil bagi q 1, q 2,, q n. Selanjutnya, icari barisan (x k ) an (y k ) yang iperoleh ari barisan sisa an hasil bagi seemikian hingga paa iterasi terakhir iperoleh x = ( 1) n. x n an y = ( 1) n. Pertama, itentukan nilai awal x 0 = 1, x 1 = 0, y 0 = 0, y 1 = 1. Selanjutnya, iberikan persamaan x k+1 = q k. x k + x k 1 an y k+1 = q k. y k + y k 1, 0 k < n. [6] Teorema 4: Teorema Sisa Cina (Chines Remainer Theorem) Jika m 1, m 2,, m n aalah bilangan bulat positif seemikian sehingga gc(m i, m j ) = 1 untuk i j. Sistem : x a 1 (mom 1 ), x a 2 (mom 2 ), x a n (mom n ), mempunyai sebuah solusi moulo m = m 1 m 2 m n (engan 0 x < m, an semua solusi kongruen engan moulo m) [7]. 4. KESIMPULAN Dari hasil penelitian ini apat isimpulkan bahwa metoe Persamaan Diophantine linear apat menentukan solusi ari program bilangan bulat secara akurat an tepat engan jumlah iterasi yang tiak panjang. Namun yang menjai kenala engan metoe persamaan
Diophantine linear terutama untuk jumlah variabel yang cukup banyak, yaitu sulitnya menentukan nilai awal ari program bilangan bulat yang harus memenuhi semua kenala program bilangan bulat yang aa 5. SARAN Diharapkan paa penelitian berikutnya, langkah-langkah yang ibangun apat lebih iseerhanakan an pengaplikasian metoe persamaan Diophantine linear tiak hanya terbatas paa program integer, tetapi juga apat i aplikasikan paa program integer campuran. UCAPAN TERIMA KASIH Penulismengucapkanterimakasihkepaa Prof. Dr. Syamsuiin Toaha, M.Sc an Dr. Jeffry Kusuma atas bimbingannya selama alam proses penyusuna artikel ilmiah ini. DAFTAR PUSTAKA [1] Aprilia S. (2005). Aplikasi Algoritma Branch an Boun untuk menyelesaikan Integer Programming. Lab Ilmu an Rekayasa Komputer, Departemen Teknik Informatika ITB. [2] Bruce I. (2008). Linear Diophantine Equation. Diakses 13 Oktober 2014. Available from: http://www.groups.cs.st-an.ac.uk/martin/teaching/1003/linier Diophantine.pf [3] Davis T. (2006). Introuction to Diophantine Equation. Diakses 04 September 2014. Available from: http://www.geometer.org/mathcircles [4] Enty N. (2006). Aplikasi Algoritma Branch An Boun Untuk menyelesaikan Integer Programming. Fakultas Teknik. Universitas Stikubank. Semarang [5] Ginan G. (2008). Teori Bilangan alam Persamaan Diophantine. Journal. Teknik elektro an Informatika, Institut Teknologi, Banung. [6] Ibnas R. (2012). Solusi Optimum Program Bilangan Bulat Dengan Metoe Linier Diopantine. Tesis tiak iterbitkan. Makassar: Program Pascasarjana Universitas Hasanuin. [7] Jong J.S. (2010). Riset Operasi alam Penekatan Algoritmis. Penerbit Ani: Yogyakarta. [8] Kurniawati R. & Soelaiman R. (2009). Penerapan Metoe Barvinok Rational Functions paa Optimasi Integer Programming, Jurusan Teknik Informatika, Institut Teknologi Sepuluh November, Surabaya. [9] Munir R. (2004). Diktat Kuliah IF5054 Teori Bilangan (Number Theory). Program Stui Teknik Informatika, Sekolah Teknik Elektro an Informatika, Institut Teknologi: Banung. [10] Siringoringo. (2005). Seri Teknik Riset Operasional Pemrograman Linear. Penerbit Graha Ilmu: Yogyakarta.