• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. yang akan diproduksi oleh perusahaan dalam satu periode yang akan datang.

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. yang akan diproduksi oleh perusahaan dalam satu periode yang akan datang."

Copied!
27
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Perencanaan Produksi

Perencanaan produksi merupakan perencanaan tentang produk dan berapa jumlah yang akan diproduksi oleh perusahaan dalam satu periode yang akan datang. Perencanaan produksi merupakan bagian dari perencanaan operasional di dalam perusahaan. Dalam penyusunan perencanaan produksi, hal yang perlu dipertimbangkan adalah adanya optimasi produksi sehingga dapat tercapai biaya yang paling rendah untuk pelaksanaan proses produksi tersebut.

Perencanaan produksi juga dapat didefinisikan sebagai proses untuk memproduksi barang-barang pada suatu periode tertentu sesuai dengan yang diramalkan atau dijadwalkan melalui pengorganisasian sumber daya seperti tenaga kerja, bahan baku, mesin dan peralatan lainnya. Perencanaan produksi memberikan taksiran/ramalan atas permintaan produk dan jasa yang diharapkan, yang akan disediakan perusahaan di masa yang akan datang. Dengan demikain, peramalan merupakan bagian integral dari perencanaan produksi. (Buffa & Sarin, 1996).

2.2 Pemrograman Matematis

Dalam masalah optimalisasi hal yang biasanya dilakukan adalah memaksimumkan atau meminimumkan sebuah besaran tertentu, yang disebut dengan tujuan objektif yang bergantung pada beberapa peubah masukan (input variables). Peubah-peubah ini dapat tidak saling bergantungan atau saling bergantungan melalui satu atau lebih kendala (constraints). Maka dalam pemrograman matematis ini terdapat dua macam fungsi yang

(2)

ditetapkan, yaitu fungsi tujuan (objective function) dan fungsi batasan/kendala (constraints), di mana tujuan dan kendala-kendalanya diberikan dalam bentuk fungsi-fungsi matematis dan hubungan fungsi-fungsional. Fungsi tujuan adalah fungsi-fungsi yang menggambarkan tujuan dalam permasalahan. Fungsi kendala adalah bentuk matematis dari kendala-kendala/ batasan-batasan yang tersedia dalam mencapai tujuan permasalahan. Program matematis yang digunakan sebagai berikut:

optimalisasikan : z= f(x1,x2,...,xn) dengan kendala : ⎪ ⎪ ⎭ ⎪ ⎪ ⎬ ⎫ ) ,..., , ( .... ... ... ) ,..., , ( ) ,..., , ( 2 1 2 1 2 2 1 1 n m n n x x x g x x x g x x x g ≥ = ≤ ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ m b b b ... 2 1 (1)

Setiap hubungan kendala ke-m dalam persamaan (1) melibatkan salah satu dari ketiga tanda yaitu ≤ ,= atau ≥ . Program matematis dikatakan tak berkendala dalam rumusan (1) jika setiap fungsi g dipilih nol dan setiap konstanta i b dipilih nol. i

Bentuk dari pemrograman matematis ini bisa berupa program linier, program bilangan bulat dan program kuadratis.

Contoh 2.1:

Sebuah perusahaan pabrik plastik mempunyai persediaan pembungkus transparan sebanyak 1200 buah kotak di pabriknya yang satu dan 1000 buah kotak di pabrik yang lainnya. Perusahaan ini menerima pesanan produknya dari tiga pengecer yang berbeda-beda, masing-masing sejumlah 1000, 700 dan 500 buah kotak. Biaya pengiriman unit (dalam sen per kotak) dari kedua pabrik kepada para pengecer adalah sebagai berikut:

(3)

Pengecer 1 Pengecer 2 Pengecer 3

Pabrik 1 14 13 11

Pabrik 2 13 13 12

Tentukan suatu skedul pengiriman dengan biaya minimum untuk memenuhi semua permintaan dari inventaris yang sekarang ini.

Penyelesaian:

Dengan menuliskan xij(i = 1,2; j = 1,2 ,3 ) untuk jumlah kotak yang akan dikirim

dari pabrik i ke pengecer j, maka kita peroleh sebagai tujuannya Minimumkan : Z = 14x11+ 13x12+ 11x +1313 x21+13x22+12x 23

Karena jumlah yang dikirimkan masing-masing pabrik tidak dapat melebihi persediaannya maka

x11+x12+x ≤ 1200 (pengiriman dari pabrik 1) 13 x21+x22+x ≤ 1000 (pengiriman dari pabrik 2) 23

Di samping itu, jumlah total yang dikirimkan kepada para pengecer harus memenuhi permintaan mereka, karena itu

x11+x21≥ 1000 (pengiriman ke pengecer 1) x12+x22≥ 700 (pengiriman ke pengecer 2) x +13 x ≥ 500 (pengiriman ke pengecer 3) 23

Karena persediaan totalnya, 1200 + 1000, sama dengan permintaan total, 1000+700+500, maka tiap-tiap pertidaksamaan kendala dapat dijadikan suatu kesamaan. Dengan melakukannya, dan kemudian mengikutsertakan kendala-kendala tersembunyi bahwa tak ada pengiriman yang negatif dan bahwa pengiriman kotaknya dalam keadaan utuh, maka kita peroleh program matematis berikut:

(4)

Minimumkan : Z = 14x11+ 13x12+ 11x +1313 x21+13x22+12x 23 Dengan kendala : x11+x12+x 13 = 1200 x21+x22+x = 23 1000 x11 +x21 = 1000 x12 +x22 = 700 x 13 +x 23 = 500

dan semua peubah positif dan bulat.

(Teori dan Soal-soal Operation Research, Nomor 1.12, p.13).

2.3 Linear Programming

Goal Programming merupakan perluasan dari model linear programming. Oleh karena itu terlebih dahulu dijelaskan tentang linear programming . Linear programming merupakan suatu model umum yang dapat digunakan dalam pemecahan masalah pengalokasian sumber-sumber yang terbatas secara optimal, yaitu mendapatkan hasil yang menggambarkan tercapainya sasaran yang paling baik di antara pilihan-pilihan yang mungkin. Dalam memecahkan masalah linear programming menggunakan model matematis, dimana fungsi matematis yang digunakan adalah fungsi linier. Model matematis dikatakan linier jika f(x1,x2,...,xn)dan setiap gi(x1,x2,...,xn) (i=1,2,...,m)

adalah linier terhadap argumen-argumennya. Bentuk matematis program linier ini yaitu

n n n cx c x c x x x x f( 1, 2,..., )= 1 1+ 2 2+...+ (2) dan n in i n i x x x a x a x a x g ( 1, 2,..., )= 1 1+ 12 2+...+ (3) di mana cjdan aijdengan (i=1,2,...,m; j=1,2,...,n) adalah konstanta-konstanta yang

(5)

2.3.1 Kondisi Tak Negatif

Semua peubah yang belum dikendala agar tidak negatif, akan digantikan dengan selisih dari dua peubah baru yang telah terkendala. Kendala-kendala linier memiliki bentuk: i n j j ijx b a ~ 1

= (4)

di mana ~ adalah salah satu dari relasi ≤ ,= atau ≥ (tidak perlu sama untuk setiap i). Konstanta b selalu dianggap tidak negatif. i

Contoh 2.2:

Kendala 254x1+5x2−7x3 ≤− dikalikan dengan -1 maka kendala menjadi 25

7 5

4 12+ 3

x x x , di mana sekarang ruas kanannya menjadi tidak negatif.

2.3.2 Peubah Kurang dan Surplus

Sebuah kendala linier yang berbentuk n i

j j ijx b a

=1

dapat diubah menjadi suatu

persamaan dengan menambahkan sebuah peubah tak-negatif pada ruas kirinya. Peubah ini sama dengan selisih antara ruas kanan dan ruas kiri pertidaksamaan yang dikenal dengan peubah kurang (slack variable). Peubah ini merupakan peubah waste dalam tingkat sistem yang dimodelkan oleh kendala.

Sebuah kendala linear yang berbentuk n i

j j ijx b a

=1

dapat diubah menjadi suatu

persamaan dengan mengurangkan ruas kirinya dengan sebuah peubah baru yang tak-negatif. Peubah ini secara numerik sama dengan selisih antara ruas kiri dan ruas kanan

(6)

pertidaksamaan, yang dikenal dengan peubah surplus (surplus variable). Peubah ini menyatakan kelebihan masukan dalam tingkat sistem yang dimodelkan oleh kendala.

Setelah semua kendala linier (dengan ruas kanan yang tak-negatif) ditransformasikan menjadi persamaan dengan memperkenalkan peubah-peubah slack dan surplus yang diperlukan, maka tambahkan lagi sebuah peubah baru, yang disebut peubah buatan (artificial variable), pada ruas kiri dari setiap persamaan kendala yang tidak mengandung peubah kurang/slack. Dengan demikian tiap persamaan kendala akan mengandung peubah slack atau peubah buatan. Pemecahan awal yang tak-negatif bagi himpunan kendala yang baru ini diperoleh dengan menetapkan setiap peubah kurang/slack dan peubah buatan sama dengan ruas kanannya, dan menetapkan semua peubah termasuk peubah surplus, sama dengan nol.

Contoh 2.3: Himpunan kendala : 15 8 7 6 5 4 3 2 2 1 2 1 2 1 = + ≥ + ≤ + x x x x x x

Ditransformasikan menjadi sebuah sistem persamaan dengan menambahkan sebuah peubah kurang, x , pada ruas kiri kendala pertama dan mengurangkan 3 sebuah varuabel surplus, x4, dari ruas kiri kendala kedua. Sistem yang baru adalah

15 8 7 6 5 4 3 2 2 1 4 2 1 3 2 1 = + = − + = + + x x x x x x x x

Bila sekarang peubah-peubah buatan x dan 5 x berturur-turut ditambahkan pada 6 ruas kiri dari kedua kendala yang terakhir, yakni kendala-kendala tanpa sebuah peubah kurang, maka hasilnya adalah

(7)

15 8 7 6 5 4 3 2 6 2 1 5 4 2 1 3 2 1 = + + = + − + = + + x x x x x x x x x x

(Teori dan Soal-soal Operation Research, Contoh 2.4, p.21).

2.3.3 Penalty Cost

Penambahan peubah kurang/slack dan surplus pada pertidaksamaan tidak mengubah sifat kendala maupun tujuan. Oleh karena itu, peubah-peubah tersebut dapat diikutsertakan dalam fungsi tujuan tetapi dengan koefisien-koefisiennya nol. Sedangkan peubah buatan mengubah sifat kendala. Oleh karena itu peubah buatan hanya ditambahkan pada salah satu ruas persamaan, maka sistem yang baru ekuivalen dengan sistem kendala yang lama jika dan hanya jika peubah-peubah buatannya nol. Untuk menjamin penetapan seperti ini dalam pemecahan optimal, maka peubah-peubah buatan diturutsertakan dalam fungsi tujuan objektif tetapi dengan koefisien-koefisien positif yang besar sekali untuk tujuan meminimumkan dan koefisien-koefisien negatif yang besar sekali untuk tujuan memaksimumkan. Koefisien-koefisien ini dinyatakan dengan M atau −M , di mana M dipandang sebagai bilangan positif yang besar sekali, menyatakan hukuman yang dikenakan dalam membuat suatu penetapan satuan pada peubah-peubah buatan. Dalam perhitungan manual nilai M ini dibiarkan saja sebagai

M

± . Tetapi dalam perhitungan komputer, harus ditetapkan sebuah nilai bagi M , biasanya sebuah bilangan yang tiga atau empat kali lebih besar daripada semua bilangan yang terdapat dalam program itu.

(8)

2.4 Bentuk Standar

Sebuah program linier berada dalam bentuk standar jika semua kendalanya dimodelkan sebagai persamaan dan salah satu pemecahan layaknya diketahui. Dalam notasi matriks bentuk standarnya adalah

optimumkan : z=CTX

dengan kendala : AX =B (5)

dan : X ≥0

di mana X adalah vektor kolom dari peubah-peubah yang tidak diketahui, termasuk peubah-peubah kurang, surplus dan buatan; T

C adalah vektor baris dan biaya bersangkutan; A adalah matriks koefisien persamaan kendala; dan B adalah matriks kolom dari ruas kanan persamaan kendala. Jika X hanya menunjukkan vektor dari 0 peubah-peubah kurang/slack dan buatan, maka pemecahan layak awalnya diberikan oleh

B

X0 = di mana dipahami bahwa semua peubah dalam X yang tidak terkandung dalam

0

X diberikan nilai nol. Contoh 2.4:

Rumuskan program berikut dalam bentuk standar: Maksimumkan : z=80x1+60x2 dengan kendala : 1 25 , 0 32 , 0 20 , 0 2 1 2 1 = + ≤ + x x x x

Untuk mengubah kendala pertama menjadi suatu persamaan, tambahkan sebuah peubah kurang x pada ruas kiri. Karena kendala kedua adalah suatu 3 persamaan yang tidak mengandung peubah kurang, tambahkan sebuah peubah

(9)

buatan x4 pada ruas kirinya. Kedua peubah yang baru ini terdapat dalam fungsi tujuan, peubah kurang dengan koefisien biaya nol dan peubah buatan dengan koefisien biaya negatif yang besar sekali, sehingga kita peroleh sebagai berikut: Maksimumkan: z=80x1+60x2+0x3+Mx4 dengan kendala : 1 25 , 0 32 , 0 20 , 0 4 2 1 3 2 1 = + + = + + x x x x x x

dan semua peubah tak-negatif

(Teori dan Soal-soal Operation Research, Nomor 2.2, p.23).

2.5 Goal Programming

2.5.1 Perkembangan Goal Programming

Setelah membahas Linear Programming maka akan dibahas mengenai metode Goal Programming. Di mana metode ini merupakan perluasan dari Linear Programming dengan tujuan ganda. Formulasi Goal Programming pada dasarnya mirip dengan Linear Programming. Karakteristik yang membedakan yaitu tujuan-tujuan diperingkat oleh pembuat keputusan. Jadi pada Goal Programming terdapat lebih dari satu tujuan yang ingin dicapai dan dari beberapa tujuan itu terdapat peringkat/ tingkatan kepentingan dilihat dari mata pembuat keputusan. Goal Programming telah cukup banyak diterapkan dalam penelitian sebagai solusi pemecahan masalah dalam pengambilan masalah multi sasaran.

Konsep pemrograman tujuan (Goal Programming) awalnya dilakukan oleh Charnes dan Cooper. Charnes dan Cooper mengembangkan pendekatan program tujuan untuk memperoleh solusi yang memuaskan, yang tidak dapat diperoleh dengan Linear Programming, karena adanya konflik antar tujuan. Kedua orang ini hanya

(10)

mengembangkan model tujuan ganda linier, kemudian ditransformasikan ke dalam model Linear Programming konvensional dengan menggunakan peubah-peubah penyimpanan tujuan yang dibobotkan.

Pendekatan model ini seringkali dipandang sebagai Goal Programming linier dengan bobot (weighted linear goal programming). Salah satu keuntungan utama dari pendekatan ini adalah efisiensi komputasi, karena weighted linear goal programming dapat diselesaikan dengan prosedur Linear Programming biasa. Kelemahannya adalah dalam praktek sesungguhnya, ada kesulitan dalam memberikan bobot kepada setiap tujuan yang harus diraih, khususnya pada tujuan-tujuan yang saling konflik.

Ijiri dan Jaaskelainen melakukan pemurnian terhadap teknik Goal Programming. Lee memberikan kontribusinya yang besar melalui pengembangan ide preemptive priority goal programming. Dalam kerangka kerjanya, pencapaian serangkaian tujuan dengan peringkat utama (P1) selalu lebih dipentingkan untuk dicapai dibanding

serangkaian tujuan dengan peringkat di bawahnya (P2). Juga ditambahkan oleh Lee

bahwa bisa menyisipkan beberapa tujuan yang berbobot pada setiap peringkat kepentingan jika tujuan-tujuan dalam sebuah peringkat tertentu memiliki satuan ukuran yang sama (commensurable). Ini yang disebut sebagai lexicographic weighted goal programming.

Selanjutnya Ignizio memperluas Goal Programming dengan melakukan pengembangan menjadi algoritma exact integer goal programming.

(11)

2.5.2 Konsep Goal Programming

Dasar Goal Programming melibatkan seluruh fungsi tujuan (objective function) ke dalam formulasi Goal Programming. Sebuah tujuan adalah menyatakan keinginan pembuat keputusan, seperti : “meminimalisasikan biaya produksi” atau “menghemat penggunaan listrik”. Untuk setiap tujuan, pembuat keputusan membuat spesifikasi tingkat kepentingannya dalam bentuk numerik yang lebih pasti, misalnya : “menghemat penggunaan listrik sampai 15% ”. Tetapi tingkat kepentingan tidak selalu dapat tercapai, maka dari itu ada penyimpangan (deviation) yang terjadi terhadap tujuan. Selanjutnya, pembuat keputusan mencari solusi untuk meminimumkan total penyimpangan terhadap tujuan-tujuan tersebut dari target-targetnya.

Secara matematis dapat dituliskan sebagai berikut:

n

x x

x1, 2,..., = peubah keputusan

K = banyaknya tujuan yang dipertimbangkan

jk

c = koefisien xj( j=1,2,...,n) pada fungsi objektif dalam setiap

tujuan-k (k=1,2,...,K)

k

g = target tujuan-k.

Solusi untuk persoalan Goal Programming adalah bagaimana mendekati target-target yang menjadi tujuan itu sedekat mungkin dan jika terjadi penyimpangan maka penyimpangan-penyimpangan itu diminimumkan.

(12)

= = = = = = n j k j jk n j j j n j j j g x c g x c g x c 1 1 2 2 1 1 1 . . . (6)

Karena tidak mungkin dapat mencapai seluruh target, maka perlu didefinisikan sebuah fungsi objektif menyeluruh untuk Goal Programming yang sesuai dengan tujuan untuk mencapai berbagai target. Dengan asumsi bahwa penyimpangan itu bisa bernilai negatif dan positif, maka fungsi objektif menyeluruh untuk persoalan Goal Programming dapat dituliskan sebagai berikut:

∑ ∑

= = − = K k n j k j jkx g c Z 1 1 min ( ) (7)

Dengan demikian, fungsi objektif Goal Programming diekspresikan sebagai fungsi preferensi (preference function) atau fungsi pencapaian (achievement function) terbatas pada penyimpangan dari target. Fungsi objektif menyeluruh itu sangat rumit untuk diselesaikan. Maka dengan transformasi format Linear Programming kepada fungsi objektif menyeluruh tersebut, dapat dilakukan solusi yang lebih sederhana. Langkah awal dari proses transformasi ini adalah membuat peubah baru yang terdefinisi sebagai:

= − = n j k j jk k c x g d 1 , untuk k = 1,2, ... , K (8)

Dengan demikian, fungsi objektif Goal Programming menjadi :

= = K k k d Z 1 min (9)

(13)

Karena d bisa bernilai positif dan negatif, maka peubah ini dapat diganti dengan dua k

peubah non negatif baru, sehingga dk =dk+−dk−, di mana dk+ dan dk−≥ . Peubah 0 d k ini merupakan peubah deviasi (deviational variable).

− + − + = + = k k k k k d d d d d (10) + k

d dan dk merupakan peubah penyimpangan (deviational variables) yang merepresentasikan tingkat pencapaian kelebihan target (over achievement) dan pencapaian di bawah target (under achievement). Secara bersamaan, tidak mungkin terjadi over achievement dan under achievement, maka berlaku hubungan sebagai berikut : +× − =0

k

k d

d . Simbol k yang menggantung (subscript) mengindikasikan bahwa peubah deviasi ini berkaitan dengan goal constraint. Tanda “-” dan “+” pada superscript mengindikasikan under achievement dan over achievement secara berurutan. Secara umum notasi untuk peubah deviasi adalah dk+dan dk−.

Formula umum Goal Programming kemudian dapat dituliskan secara lengkap sebagai: ) ( 1 min − = +

+ = k K k k d d Z s/t (11) k n j k k j jkx d d g c − − =

= − + 1 ) ( 0 , / ∀ + − k j d x

Dalam formulasi Goal Programming ini, setiap target dimasukkan dalam kendala-kendala persamaan. Fungsi kendala-kendala semacam ini disebut sebagai kendala-kendala tujuan (goal constraint), di mana dalam persamaannya telah melibatkan peubah penyimpangan,

(14)

+ k

d dan dk−. Selanjutnya, dapat mengaplikasikan metode Simplex untuk memperoleh solusi persoalan Goal Programming tersebut.

Pada beberapa situasi, penyimpangan suatu target tertentu menjadi lebih penting bagi pembuat keputusan dibanding penyimpangan target lainnya. Demikian pula, pada sebuah target tertentu, bisa saja penyimpangannya jauh lebih penting dari penyimpangan target lainnya dengan arah yang berlawanan. Pada situasi seperti ini, maka bisa dimasukkan bobot yang berbeda (differential weight), wk+ dan wk− pada setiap penyimpangannya:

= − − + + + = K k k k k k d w d w Z 1 min ( ) s/t. (12)

= − + =n j k k k j jkx d d g c 1 ) ( 0 , / ∀ + − k j d x

Pada banyak kasus, sebuah Goal Programming mengandung dk+dan dk−, walaupun kedua peubah penyimpangannya ini tidak muncul pada fungsi objektif. Dengan demikian, sangat mungkin untuk menuliskan fungsi kendala target seperti:

= − = ≤ ⇒ = + n j k j jk k k n j j jkx d g c x g c 1 1 (13)

Untuk kasus ini, fakta dk+tidak muncul dalam kendala target mengindikasikan bahwa

+ k

d pada target itu tidak mungkin ada. Ini merupakan contoh dari sebuah batas atas target (upper bound goal) dan hal itu mirip dengan ketidaksamaan ≤ dalam Linear

(15)

Programming. dk+ tidak dimungkinkan pada target tersebut, tetapi dk− masih diperkenankan. dk akan muncul pada fungsi objektif Goal Programming.

Hal lain mungkin juga, kendala target berbentuk :

= + = ≥ ⇒ = − n j k j jk k k n j j jkx d g c x g c 1 1 (14)

Untuk kasus ini, fakta dk− tidak muncul dalam kendala target mengindikasikan bahwa

k

d pada target itu tidak mungkin ada. Ini merupakan contoh dari sebuah batas bawah target (lower bound goal) dan hal itu mirip dengan ketidaksamaan ≥ dalam Linear Programming. dk− tidak dimungkinkan pada target tersebut, tetapi dk+masih diperkenankan. dk+ akan muncul pada fungsi objektif Goal Programming.

Untuk memudahkan pemahaman formulasi GP, maka akan dicontohkan etrlebih dahulu GP dengan tujuan tunggal, yang dikembangkan dari sebuah persoalan Linear Programming.

Contoh 2.5:

The Sonic Company memproduksi dua jenis oven microwave, yaitu dial setting (X1) dan touch setting (X2). Keuntungan/unit dari X1 = $ 100.00 dan dari X2 = $ 150.00. Kapasitas jam proses setiap unit oven microwave adalah:

Jam Proses/Unit Jenis Oven Sub assembling Kabel

dan Komponen (W&C)

Assembling Penyelesaian dan Pengujian (F&T)

1 X 4 2 2 X 2 2 Kapasitas jam proses/hari 80 60

(16)

Jika perusahaan ini mengharapkan total profit maksimal dari kedua produk itu saja, maka persoalan ini dianggap sebagai persoalan Linear Programming. Formulasi Linear Programming adalah:

Fungsi Tujuan : Zmax =100X1+150X2

Fungsi Kendala :4X1+ X2 2≤80 Æ kendala jam proses bagian W&C 60

2

2X1+ X2 ≤ Æ kendala jam proses bagian F&T 0

Xj (j = 1,2) Æ kendala logis

Jika pihak manajemen perusahaan kemudian memutuskan bahwa target total profit yang bisa diterima dengan memuaskan, minimal $5,000.00/hari karena alasan pengelolaan financial. Persoalan menjadi GP dengan tujuan tunggal yaitu:

Fungsi Tujuan : = d

Zmin

Fungsi Kendala : 4X1+ X2 2 ≤80 Æ kendala jam proses bagian W&C

2X1+ X2 2 ≤60 Æ kendala jam proses bagian F&T 100 1+150 2+ −− + =5000 d d X X 0 , , ≥ ∀ − + d d Xj (j=1,2) Æ kendala logis

Pihak manajemen perusahaan selanjutnya menginginkan total keuntungan/hari paling sedikit $ 2,400.00. Dengan pencapaian target profit sebesar itu tidak mungkin dihasikan jika tidak ditunjang penjualan X2 minimal 15 unit/hari dan menginginkan penjualan X1 minimal 5 unit/hari, maka persoalan menjadi Goal Programming. Tujuan yang ingin dicapai sebagai berikut:

(17)

No. Target Prioritas 1 Menghasilkan total

keuntungan/hari paling sedikit $ 2,400

1

2 Penjualan X2/hari minimal 15 unit

2 3 Penjualan X1/hari minimal

5 unit

3

Formulasi di atas menjadi formulasi Goal Programming tujuan ganda yaitu: Fungsi Tujuan : Zmin =P1d1−+P2d2−+P3d3

Fungsi Kendala : 4X1+ X2 2 ≤80 60 2 2X1+ X2 ≤ 5 15 2400 150 100 3 3 1 2 2 2 1 1 2 1 = − + = − + = − + + + − + − + − d d X d d X d d X X 0 , , ≥ ∀ − + k k j d d X (j = 1,2 dan k = 1,2,3) Asumsikan P1 >>>> P2 >>>> P3

Jika kemudian serikat buruh memiliki kekuatan untuk menekan perusahaan,bahwa tidak diperbolehkan adanya penggunaan jam kerja buruh yang berlebihan, misal bagian W&C paling banyak 45 jam proses/hari dan bagian F&T paling banyak 35 jam proses/hari, maka kasus menjadi konflik tujuan:

No. Target Prioritas

1 Pengunaan jam proses W&C paling banyak 45 jam/hari dan bagian F&T

paling banyak 35 jam/hari

1

2 Menghasilkan total keuntungan/hari

paling sedikit $ 2,400 2

3 Penjualan X2/hari minimal 15 unit 3 4 Penjualan X1/hari minimal 5 unit 4

(18)

Formulasi GP menjadi:

Fungsi Tujuan : Zmin =P1(d4++d5+)+P2d1−+P2d2−+P3d3− Fungsi Kendala : 5 15 2400 150 100 35 2 2 45 2 4 3 3 1 2 2 2 1 1 2 1 5 5 2 1 4 4 2 1 = − + = − + = − + + = − + + = − + + + − + − + − + − + − d d X d d X d d X X d d X X d d X X 0 , , ≥ ∀ − + k k j d d X (j = 1,2 dan k = 1,2,3) (Kamarul Iman, p6)

Perumusan persoalan / Algoritma goal programming hampir sama dengan linear programming , dengan langkah awal sebagai berikut:

a. Rumuskan target apa saja yang ada dalam permasalahan dengan benar dan dengan linier

b. Fungsi kendala tujuan (goal constraint) harus didefinisikan secara jelas dan dinyatakan sebagai fungsi kendala tujuan yang linier dengan pembatasan-pembatasan / nilai target yang diinginkan pada ruas kanan

c. Harus ada alternatif pemecahan untuk dipilih salah satu yang terbaik

d. Sumber-sumber dan aktifitas mempunyai sifat dapat ditambahkan (additivity), dapat dibagi (divisibility) dan mempunyai jumlah yang terbatas (finiteness)

e. Tambahkan penyimpangan ke bawah ( −

d ) dan kurangkan penyimpangan ke atas ( +

d ) ke dalam fungsi kendala tujuan sesuai target yang diinginkan

(19)

g. Fungsi objektif GP yaitu penyimpangan-penyimpangan yang diminimumkan. Jika target tidak menginginkan penyimpangan ke bawah maka tambahkan penyimpangan ke bawah dalam fungsi objektif GP. Jika target tidak menginginkan penyimpangan ke atas maka tambahkan penyimpangan ke atas dalam fungsi objektif

h. Untuk kasus yang memiliki prioritas antar tujuan/target, maka pada fungsi objektif dikalikan masing-masing prioritas dengan penyimpangan yang ada dalam fungsi objektif

i. Peubah keputusan dan penyimpangan harus positif, tidak boleh negatif (∀ , −, + ≥0

k k

j d d

X untuk semua j dan k)

j. Kemudian diselesaikan dengan metode penyelesaian linier salah satunya dengan metode simpleks.

2.6 Metode Simpleks 2.6.1 Tabel Simpleks

Metode simpleks ialah suatu metode yang secara sistematis dimulai dari suatu pemecahan dasar yang fisibl ke pemecahan dasar yang fisibel (feasible) lainnya dan ini dilakukan berulang-ulang (dengan jumlah pengulagan terbatas) sehingga akhirnya tercapai suatu pemecahan dasar yang optimum dan pada setiap step menghasilkan suatu nilai dari fungsi tujuan yang selalu lebih besar (lebih kecil) atau sama dari step-step sebelumnya (Johanes Supranto,p100).

(20)

Metode simpleks adalah suatu metode matriks untuk memecahkan program-program linier, dalam bentuk standar yakni :

optimasikan : z=CTX dengan kendala : AX =B dan : X ≥0

di mana B≥0 dan suatu pemecahan dasar yang layak, katakan X , diketahui. Metode 0 simpleks menggunakan proses iterasi (perhitungan berulang), dengan X sebagai 0 pemecahan awal, untuk menentukan pemecahan-pemecahan layak dasar lainnya yang memiliki nilai-nilai objektif yang lebih baik, sehingga pada akhirnya diperoleh pemecahan optimal. Untuk program minimisasi, maka metode simpleks menggunakan Tabel 2.1, di mana C adalah vektor biayanya (cost vector) yang berkaitan dengan 0 peubah-peubah dalam X . 0

Tabel 2.1 Table Umum Simpleks

T X T C 0 X C 0 A B A C CT... 0TC0TB

Untuk program maksimasi, maka Tabel 2.1 dapat digunakan jika tanda aljabar dari elemen-elemen dari baris terbawah dibalik.

2.6.2 Penyederhanaan dengan Tabel

Untuk setiap j (j=1,2,...,n), definisikan j T

j C A

z = 0 , yang merupakan hasilkali titik dari C dengan kolom ke-j dari A. Elemen ke-j dari baris terakhir Tabel 2.1 adalah 0

(21)

j

j z

c − , di mana cjadalah biaya dalam baris kedua tabel, langsung di atas Aj. Begitu baris terakhir ini diperoleh, maka baris kedua dan kolom kedua dari tabel, yang berturut-turut berhubungan dengan T

C dan C , menjadi berkelebihan dan dapat dieliminasikan. 0

2.6.3 Metode Simpleks

Langkah 1 : Tentukan letak bilangan paling negatif dalam baris terbawah dari Tabel Simpleks, dengan mengabaikan kolom terakhir. Namakan kolom yang mana terdapat bilangan ini, kolom kerja (work kolom). Jika terdapat lebih daripada satu bilangan yang paling negatif, maka pilihlah salah satunya. Langkah 2 : Bentuklah nilai-nilai banding dengan membagi setiap bilangan positif

dalam kolom kerja, dengan elemen dalam baris yang sama dalam kolom terakhir, di mana baris terakhirnya diabaikan. Namakan elemen dalam kolom kerja ini yang menghasilkan nilai-banding terkecil sebagai elemen pasak (pivot element). Jika terdapat lebih daripada satu elemen yang menghasilkan rasio (nilai banding) terkecil yang sama, maka pilihlah salah satunya. Jika tidak ada elemen dalam kolom kerja ini yang positif, maka programnya tidak memiliki pemecahan.

Langkah 3 : Gunakan operasi-operasi baris elementer untuk mengubah elemen pivot menjadi 1 dan kemudian reduksikan semua elemen lainnya dalam kolom kerja ini menjadi 0.

Langkah 4 : Gantikan peubah-x dalam baris pivot dan kolom pertama dengan peubah-x dalam baris pertama dan kolom pivot. Kolom pertama yang baru ini adalah himpunan peubah-peubah dasar yang baru.

(22)

Langkah 5 : Ulangi Langkah 1 sampai dengan 4 hingga tidak terdapat lagi elemen negatif dalam baris terakhir, dengan tidak memasukkan kolom terakhir. Langkah 6 : Pemecahan optimal diperoleh dengan menetapkan untuk tiap-tiap

peubah dalam kolom pertama nilai dalam baris dan kolom terakhir yang bersangkutan. Semua peubah yang lainnya ditetapkan bernilai nol. Nilai optimal dari fungsi objektif, yakni x*, adalah bilangan yang terdapat dalam baris terakhir dan kolom terakhir untuk program maksimisasi, sedangkan negatif dari bilangan ini adalah untuk program minimisasi.

2.6.4 Modifikasi untuk Berbagai Program dengan Peubah Buatan

Apabila peubah-peubah buatan (artificial variables) adalah bagian dari pemecahan awal X , maka baris terakhir Tabel 2.1 akan mengandung biaya hukuman (penalty cost) 0 M. Untuk minimisasi kesalahan pembulatan, maka modifikasi-modifikasi berikut diikutsertakan ke dalam metode simpleks. Algoritma yang dihasilkannya adalah metode dua-fasa (two phase method).

Perubahan 1 : Baris dalam Tabel 2.1 diuraikan ke dalam dua baris, di mana yang pertama mengandung suku-suku yang tidak mengandung M, sedangkan yang kedua mengandung koefisien-koefisien M dalam suku-suku sisanya.

Perubahan 2 : Langkah 1 dari metode simpleks diterapkan pada baris terakhir yang dibentuk dalam Perubahan 1 (yang kemudian diikuti dengan Langkah-langkah 2,3 dan 4), hingga baris ini tidak mengandung elemen-elemen negatif. Kemudian Langkah 1 diterapkan lagi pada elemen-elemen dalam

(23)

baris kedua dari bawah, yang terletak di atas angka-angka nol dalam baris terakhir.

Perubahan 3 : Setiap saat sebuah peubah buatan bukan merupakan suatu peubah dasar yakni, ia dihilangkan dari kolom pertama dari tabel sebagai hasil dari Langkah 4, maka ia dicoret dari baris teratas tabel, dan begitu pula seluruh kolom di bawahnya. (Perubahan ini memudahkan perhitungan-perhitungan yang dilakukan dengan tangan tetapi tidak diterapkan dalam kebanyakan program komputer).

Perubahan 4 : Baris terakhir dapat dicoret dari tabel apabila semua elemennya nol. Perubahan 5 : Jika peubah-peubah buatan yang tak nol terdapat dalam himpunan

elemen dasar yang terakhir, maka programnya tidak memiliki pemecahan. (Sebaliknya, peubah-peubah buatan yang berharga nol dapat muncul sebagai peubah-peubah dasar dalam pemecahan akhir apabila salah satu atau lebih dari persamaan-persamaan kendala semula adalah mubazir).

2.7 System Development Cycle (SDLC)

Dalam membuat sebuah program aplikasi terdapat beberapa model proses yang digunakan, lima diantaranya adalah Classic Life Cycle atau yang biasa dikenal dengan Waterfall Model, Prototyping Model, Fourth Generation Techniques (4GT), Spiral Model dan Combine Model. Dalam pengembangan program aplikasi optimasi perencanaan produksi ini, model proses yang digunakan adalah Prototyping Model. Prototyping Model digunakan untuk merancang program aplikasi, yang mana client hanya memberikan beberapa kebutuhan umum software tanpa detil input, proses

(24)

atau detil output. Kondisi lainnya yaitu tim pembangun (developer) tidak yakin terhadap efisiensi dari algoritma yang digunakan, tingkat adaptasi terhadap sistem operasi atau rancangan form user interface. Ketika situasi seperti ini maka prototyping model sangat membantu proses pembangunan software.

Gambar 2.1 Prototype Model sebagai Sistem Pengembangan Program Proses yang ada dalam prototyping model yaitu:

a. Pengumpulan kebutuhan: developer dan client bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. Detil kebutuhan mungkin tidak dibicarakan disini, pada awal pengumpulan kebutuhan

b. Perancangan : perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype. c. Evaluasi prototype: client mengevaluasi prototype yang dibuat dan digunakan

(25)

Prototype dibuat untuk memuaskan kebutuhan client dan memahami kebutuhan client lebih baik, memudahkan komunikasi antar developer dan client, membuat client mendapat gambaran awal dari prototype dan membantu mendapatkan kebutuhan detil lebih baik. Prototype yang telah dibuat dapat dimanfaatkan kembali untuk membangun yang lebih cepat.

2.8 Pengenalan Borland Delphi 7.0

Borland Delphi merupakan sarana pemrograman aplikasi visual. Bahasa pemrograman yang digunakan adalah Pascal. Delphi merupakan generasi penerus Turbo Pascal. Turbo Pascal yang diluncurkan tahun 1983 dirancang untuk dijalankan pada sistem operasi Disk Operating System /DOS (yang merupakan sistem operasi yang paling banyak digunakan pada saat itu). Sedangkan Delphi diluncurkan tahun 1995 dirancang untuk beroperasi di bawah sistem operasi Windows.

Delphi memiliki sarana yang tangguh untuk pembuatan aplikasi, mulai dari sarana untuk pembuatan form,menu, dan toolbar sehingga memiliki kemampuan untuk menangani pengelolaan basis data yang besar. Kelebihan-kelebihan yang dimiliki Delphi:

• form dan komponen-komponennya dapat dipakai ulang dan dikembangkan • mampu mengakses VBX

• tersedia template aplikasi dan template form

• memiliki lingkungan pengembangan visual yang dapat diatur sesuai kebutuhan • menghasilkan file terkompilasi yang berjalan lebih cepat

(26)

Delphi menerapkan konsep aplikasi yang digerakkan oleh event (event driven). Pemrograman event driven mencoba melengkapi kekurangan pemrograman prosedural dengan kerangka yang membedakan antara antarmuka pemakai dengan proses tertentu dalam aplikasi. Dengan adanya sarana pemrograman visual yang event driven, para pembuat aplikasi sangat terbantu ketika menyediakan sarana antarmuka bagi pemakai. Dengan demikian, harapannya akan lebih terkonsentrasi pada penanganan masalah aplikasinya bukan antarmukanya (Wahana Komputer, 2003, p1-3).

2.9 Shneiderman’s “Eight Golden Rules of Interface Design”

Menurut Shneiderman (1993,p72), prinsip atau aturan dari delapan Golden Rules ini adalah sebagai berikut:

a. Strive for consistency

Interface dari sutau aplikasi dijaga agar tetap konsisten, dimulai dari menu-menu yang ada dalam setiap layar tetap sama, dengan ukuran, resolusi yang berbeda dengan tampilan dari interface tetap sama.

b. Enable frequent user to use shortcuts

Semakin sering user menggunakan suatu aplikasi, user dapat dimudahkan dengan adanya shortcuts yang berupa special keys, hidden commands dan lain sebagainya. c. Offer informative feedback

Aplikasi yang digunakan dapat memberikan informasi yang berguna untuk memudahkan user dalam menggunakannya.

(27)

d. Design dialog to yield closure

Aplikasi yang dibuat didesain untuk memberikan kemudahan bagi user dengan memberikan suatu informasi untuk melengkapi suatu action yang dilakukan oleh user.

e. Offer simple error handling

Sebisa mungkin aplikasi yang dibuat, membuat user untuk tidak melakukan suatu kesalahan yang fatal. Jika ada suatu kesalahan yang dibuat maka aplikasi yang dibuat haruslah dapat menunjukkan di mana terjadi kesalahan dan menawarkan suatu cara yang mudah untuk menangani kesalahan tersebut.

f. Permit easy reversal of actions

Aplikasi yang dibuat dapat melakukan suatu action untuk kembali ke action yang sebelumnya jika terjadi suatu kesalahan.

g. Support internal locus of control

Mendukung user yang berpengalaman untuk menjadi suatu initiators dari suatu kegiatan bukan sebagai responders.

h. Reduce short-term memory load

Aplikasi dibuat sederhana untuk mengurangi waktu proses, training dan lain sebagainya dikarenakan keterbatasan manusia untuk memroses informasi.

Gambar

Tabel 2.1 Table Umum Simpleks  X  T C T X 0 C  0 A B  ACCT... 0 T − C 0 T B
Gambar 2.1 Prototype Model sebagai Sistem Pengembangan Program  Proses yang ada dalam prototyping model  yaitu:

Referensi

Dokumen terkait

Dalam studi manajemen, kehadiran konflik pendidikan tidak bisa terlepas dari permasalahan keseharian yang dirasakan oleh pengelola lembaga pendidikan. Konflik tersebut

Syariah Rupiah Managed Fund adalah dana investasi jangka menengah dan panjang yang bertujuan untuk mendapatkan hasil investasi yang optimal melalui penempatan dana dalam mata uang

Kontrol yang digunakan pada penelitian ini adalah kontrol RPMI sebagai kontrol standar dimana sumur (well) tidak diberi perlakuan baik ekstrak buah merah maupun gom arab tetapi

Model pendekatan kooperatif yang paling sederhana dalam pembelajaran kooperatif adalah model Student Team achievment Division (STAD). Berdasarkan observasi pada hari

Orang tua adalah pembinaan pribadi yang pertama dalam hidup anak. Kepribadian orang tua, sikap dan cara hidup mereka, merupakan unsur-unsur pendidikan yang tidak

Dari hasil penelitian menunjukkan bahwa ekstrak etanol daun petai cina (Leucaena glauca (L.) Benth.) memiliki kemampuan untuk menangkap radikal bebas dengan

Dengan melihat nilai probabilitas Jarque-Bera sebesar 0,048174 yang lebih rendah dari tingkat signifikasi yang digunakan dalam penelitian ini yaitu 5% atau 0,05, maka dapat

Ilmu Pragmatik membantu untuk menemukan cara pengajaran bahasa asing yang menghasilkan pembelajar bahasa asing yang memiliki pengetahuan dan kemampuan untuk menggunakan