Selasa, 27 November 2012

Program BUBBLE SORT terurut menaik



program sortingmenaik;
uses crt;
type
    mahasiswa = record
       nama : string [15];
       nilai  : string [15];
       end;
var
 i,j,n : integer ;
 mhs : array [1..15] of mahasiswa;
 siswa : mahasiswa;
 const
    a=('================================================');
    b=('Nama                                       Nilai');
    c=('================================================');
 procedure input;
 begin
 for i:= 1 to n do
  begin
    with mhs[i] do
     begin
     write(mhs[i].nama:0);
     write(mhs[i].nilai:44);
     writeln;
     end;
  end;
  writeln(a);
 end;
 begin
 clrscr;
 write('jumlah mahasiswa : ');readln(n);
 for i :=1 to n do
 begin
  write('Nama: ');readln(mhs[i].nama);
 write('Nilai: ');readln(mhs[i].nilai);
 writeln;
 end;
 write('data semula');
 writeln(a);
 writeln(b);
 writeln(c);
  for i:=n downto 1 do
      for j:=2 to i do
      begin
      if mhs[i].nilai < mhs[j].nilai then
          begin
          siswa:=mhs[i];
          mhs[i]:=mhs[j];
          mhs[j]:=siswa;
          end;
       end;
  writeln;
  write('sorting berdasarkan nilai');
  writeln(' ');
  writeln(b);
  writeln(a);
  writeln(c);
  writeln;
  write('selesai...');readln;
readkey; end.

Minggu, 25 November 2012

PENERAPAN KALKULUS PEUBAH BANYAK DALAM BIDANG EKONOMI & AKUNTANSI



PENERAPAN KALKULUS PEUBAH BANYAK DALAM BIDANG EKONOMI & AKUNTANSI

PENDAHULUAN
A. LATAR BELAKANG MASALAH
Dalam kehidupan sehari-hari khususnya pada bidang ekonomi dan akuntansi ada banyak Hal yang menarik perhatian,ada banyak masalah ekonomi yang ternyata di dalam penyelesaiannya tersebut menggunakan cara-cara kalkulus peubah banyak. Tetapi dari pernyataan tersebut, masih ada suatu kejanggalan pada masyarakat, yang menjadi pertanyaan mereka adalah apakah benar bahwa kalkulus tersebut dapat diterapkan dalam bidang ekonomi?
Banyak diantara materi kalkulus yang diterapkan dalam bidang ekonomi, diantaranya fungsi transenden yang terdiri dari fungsi logaritma dan fungsi eksponen, limit, diferensial fungsi sederhana, diferensial fungsi majemuk, dan integral.
 kalkulus DIFERENSIAL  yang pada intinya mengukur tingkat perubahan fungsi .
Dalam ilmu Ekonomi seringkali perlu untuk membalik proses pendiferensialan dan mencari fungsi awal F(X) yang tingkat perubahannya (yaitu turunannya f’(X) telah diketahui.
Ini disebut pengintegralan . Fungsi F(X) disebut INTEGRAL  atau anti turunan (antiderivatif)  fungsi  f’(X).
Namun, diantara banyaknya materi kalkulus yang dipergunakan dalam menyelesaikan masalah ekonomi tersebut, yang akan dibahas di ambil  mengenai integral, khususnya integral tak tentu.


B. INTEGRAL TAK TENTU
Mengintegralkan suatu fungsi turunan f(x) berarti adalah mencari integral atau turunan antinya, yaitu F(x).
Bentuk umum integral dari f(x) adalah:

∫ f(x) dx = F(x) + k

dimana k adalah sembarang konstanta yang nilainya tidak tertentu. Dalam rumusan diatas, tanda ∫ adalah tanda integral; f(x) dx adalah diferensial dari F(x); f(x) adalah integral partikular; k adalah konstanta pengintegralan; dan F(x) + k merupakan fungsi asli atau fungsi asal. Proses pengintegralan disebut juga integrasi.
Dalam diferensial kita menemukan bahwa jika misalnya suatu fungsi asal dilambangkan dengan F(x) dan fungsi turunan dilambangkan dengan f(x), maka

Untuk fungsi asal : F(x) = x2 + 5

Fungsi turunannya : f(x) = d F(x) = 2x
dx

Jika prosesnya dibalik, yakni fungsi turunan f(x) diintegralkan, maka

∫ f(x)dx = F(x) + k = x2 + k

karena derivatif dari setiap konstanta adalah nol, maka dalam mengintegralkan setiap fungsi turuna konstanta k tetap dalam bentuk k. artinya nilai konstanta tersebut tidak dengan sendirinya bisa diisi dengan bilangan tertentu (misalnya 5, dalam contoh tadi), kecuali jika didalam soal memang sudah ditentukan nilai konstantanya. Karena ketidaktentuan nilai konstanta itulah maka bentuk integral yang merupakan kebalikan dari diferensial dinamakan integral tak tentu.


Kaidah-kaidah Integrasi Tak Tentu
Karena integrasi tak tentu pada dasarnya merupakan kebalikan dari diferansiasi, maka kaidah-kaidah integasi tek tentu akan dapat dipahami berdasarkan pengetahuan tentang kaidah-kaidah diferansiasi.

Kaidah 1. Formula pangkat

∫ xn dx = xn+1 + k n ≠ -1
n + 1


contoh:
1). ∫ x4 dx = x4+1 + k = x5 + k
4 + 1 5

2). ∫ 4 dx = 4x0+1 = 4x + k
0 + 1


Kaidah 2. Formula logaritmis

∫ 1/x dx = ln x + k

contoh:
1).∫ 3/x dx = 3 ln x + k

2).∫ 3 = ∫ 3 d(x + 1) + k = 3 ln (x + 1) + k
x + 1 x + 1


Kaidah 3. Formula eksponensial

∫ ex dx = ex + k
∫ eu du = eu + k u = f(x)

contoh:
1).∫ ex+2 dx = ∫ ex+2 d(x + 2) = ex+2 + k

2).∫ e2x dx = ½ ∫ e2x d(2x) = ½ ∫e2x + k


Kaidah 4. Formula penjumlahan

∫ { f(x) + g(x) } dx = ∫ f(x)dx + ∫ g(x)dx
= F(x) + G(x) + k

contoh:
1).∫ (x4 + 3x2) dx = ∫ x4 dx + ∫ 3x2 dx = 0,2 x5 + x3 + k

2).∫ (ex + 1/x) dx = ∫ ex dx + ∫ 1/x dx = ex + ln x + k


Kaidah 5. Formula perkalian

∫ nf(x)dx = n ∫ f(x)dx n ≠ 0

contoh:
1).∫ 3x2 dx = 3 ∫ x2 dx = 3 ( x2+1 + k ) = x3 + k
2+1

2).∫ -x3 dx = -∫ x3 dx = - ( x3+1 + k ) = ¼ x4 ±
3+1


Kaidah 6. Formula substitusi

∫ f(u) du dx = ∫ f(u) du = F(u) + k
dx

dimana u = g(x), dan ∫ du merupakan substitut bagi ∫ dx

contoh:
1).Selesaikanlah ∫ 6x (3x2 – 10)dx
Penyelesaian:
Dengan cara substitusi, misalkan u = 3x2 - 10; maka du/dx = 6x, atau dx = du/6x. sehingga:
∫ 6x (3x2 – 10)dx = ∫ 6x u du/6x = ∫ u du = u2 /2 + k
= (3x2 – 10)2 + k
= ½ (9x4 – 60x2 + 100) + k
= 4,5 x 4 - 30x2 +50 + k
= 4,5 x 4 - 30x2 + k
dimana k + 50 + k


MASALAH DAN PEMBAHASAN

A. MASALAH
Dalam dunia ekonomi, integral tak tentu ini sering digunakan dalam menyelesaikan masalah fungsi baiya, fungsi penerimaan, fungsi utilitas, fungsi produksi serta fungsi konsumsi dan tabungan. Marilah kita lihat masalah seperti apa yang mungkin akan timbul dari masing-masing fungsi tersebut.

fungsi biaya
Contoh kasus:
Biaya marjinal suatu perusahaan ditunjukkan oleh MC = 3Q2 - 6Q + 4. Carilah persamaan biaya total dan biaya rata-ratanya.

fungsi penerimaan
Contoh kasus:
Carilah persamaan penerimaan total dan penerimaan rata-rata dari suatu perusahaan jika penerimaan marjinalnya MR = 16 – 4Q

fungsi utilitas
Contoh kasus:
Carilah persamaan utilitas total dari seorang konsumen jika utilitas marjinalnya MU = 90 – 10Q

fungsi produksi
Contoh kasus:
Produk marjinal sebuah perusahaan dicerminkan oleh MP = 18x – 3x2 . carilah persamaa produk total dan produk rata-ratanya.

fungsi konsumsi dan tabungan
Contoh kasus:
carilah fungsi konsumsi dan fungsi tabungan masyarakat sebuah negara jika diketahui outonomous consumption-nya sebesar 30 milyar dan MPC = 0,8.


B. PEMBAHASAN
Penerapan kalkulus peubah banyak Pendekatan integral tak tentu dapat diterapkan untuk mencari persamaan fungsi total dari suatu variabel ekonomi apabila fungsi marjinalnya diketahui. Dalam penerapa ini fungsi perhitungannya lebih mudah jika nilai marjinalnya diketahui. Karena fungsi marjinal pada dasarnya merupakan turunan dari fungsi total, maka dengan proses sebaliknya, yakni integrasi, dapatlah dicari fungsi asal dari fungsi tersebut atau fungsi totalnya. Dalam pembahasan yang di buat cara perhitungannya menggunakan integral tak tentu.

Fungsi biaya
Biaya total C = f(Q)
Biaya marjinal : MC = C1 = dC/dQ = f1 (Q)
Biaya total tak lain adalah integrasi dari biaya marjinal

C = ∫ MC dQ = ∫ f1 (Q) dQ

Penyelesaian dari masalah yang tersebut diatas:
Biya total : C = ∫ MCdQ
= ∫ (3Q2 - 6Q + 4.) dQ
= Q3 - 3Q2 + 4Q + k
Biaya rata-rata : C/Q = Q3 - 3Q2 + 4Q + k/Q
Konstanta k tak lain adalah biaya tetap. Jika diketahui biaya tetap tersebut adalah 4, maka:
C = Q3 - 3Q2 + 4Q + 4
AC = Q3 - 3Q2 + 4Q + 4/Q

Fungsi Penerimaan
Penerimaan total : R = f(Q)
Penerimaan marjinal : MR = R1 = dR/dQ = f1 (Q)
Penerimaan total tak lain adalah integral dari penerimaan marjinal

R = ∫ MR dQ = ∫ f1 (Q) Dq

Penyelesaian dari masalah yang tersebut diatas:
Penerimaan total : R = ∫ MR dQ
= ∫ (16 – 4Q) dQ
= 16Q – 2Q2
Penerimaan rata-rata : AR = R/Q = 16 – 2Q
Dalam persamaan penerimaan total konstanta k = 0, sebab penerimaan tidak akan ada jika tak ada barang yang dihasilkan atau terjual.

Fungsi Utilitas
Utilitas total : U = f(Q)
Utilitas marjinal : MU = U1 = dU/dQ = f1 (Q)
Utilitas total tak lain adalah integral dari utilitas marjinal

U = ∫ MU dQ = f1 (Q) dQ

Penyelesaian dari masalah yang tersebut diatas:
Utilitas total: U = ∫ MU dQ
= ∫ (90 – 10Q) dQ
= 90Q – 5Q2
Seperti halnya produk total dan penerimaan total, disinipun konstanta k = 0, sebab tak ada kepuasan atau utilitas yang diperoleh seseorang jika tak ada barang yang dikonsumsi.

d. Fungsi Produksi
Produksi total :P = f(x) dimana.
P = keluaran; x = masukan
Produk marjinal : MP = P1 = dP/dX = f1 (x)
Produk total tak lain adalah integral dari produk marjinal

P = ∫ MPdX = ∫ f1 (x) dX

Penyelesaian dari masalah yang tersebut diatas:
Produk total : P = ∫ MPdX
= ∫ (18x – 3x2 ) dX
= 9x2 – x3
Produk rata-rata : AP = p/x = 9x – x2

e. Fungsi Konsumsi dan Fungsi Tabungan
Dalam ekonomi makro, konsumsi (C) dan tabungan (S) dinyataka fungsional terhadap pendapatan nasional (Y).
C = f(Y) = a + By
MPC = C 1 = dC/dY = f 1 (Y) = b
Karena Y = C + S, maka
S = g(y) = -a + (1 – b) Y
MPS = S1 = dS/dY = g 1 (Y) = (1 – b)
Berdasarkan kaidah integrasi, konsumsi da tabungan masing-masing adalah integral dari marginal propensity to consume dan marginal propensity to save.

C = ∫ MPC dY = F(Y) + k k ≡ a
S = ∫ MPS dY = G(Y) + k k ≡ -a

Konstanta k pada fungsi produksi da fungsi tabungan masing-masing adalah outonomous consumption dan outonomous saving.

Penyelesaian dari masalah yang tersebut diatas:
C = ∫ MPC dY = ∫ 0,8 Y + 30 milyar.
S = ∫ MPS dY = ∫ 0,2 Y – 30 milyar.
Atau S = Y – C = Y – (0,8 Y – 30 milyar) = 0,2Y – 30 milyar.


SEMOGA BERMANFAAT...!!!!
MATH'11

Kamis, 22 November 2012

Program membaca data=Math 2011



Ini dia program buatan saya.walaupun hanya di coba2 semoga bermanfaat:

program Test;
uses crt;
var
     L:array[1..100] of integer;
     i,j,k,idx,n,x : integer;
     find:boolean;
begin
     clrscr;
     write('Jumlah data : ');readln(n);
     for i:=1 to n do
        begin
            write('Nilai L',i,' : ');readln(L[i]);
        end;
     writeln;
     write('Nilai yang akan dicari : ');readln(x);
     writeln;
     i:=1;
     j:=n;
     find:=false;
     while (i<=j) and (find=false) do
        begin
            k:= i+(j-i) div 2;
            if  L[k] = x then find:=true
                else
                 if (L[k]<x) then i:=k+1
               else
                  j:=k
        end;
     if find then
        begin
           idx:=k;
           writeln('Nilai ',x,' ada pada elemen ke-',idx);
        end
     else
        begin
           idx:=-1;
           writeln('Nilai ',x,' tidak ditemukan');
        end;
     readln;
end.



Untuk Program di atas data terlebih dahulu harus di buat datanya dalam bentuk notepad.
Untuk Pertanyaan silahkan tanya di melkysepang@gmail.com.
^_^ 
Post: 23 November 2012

METODE SIMPLEKS



Metode Simpleks
(Sumber : Siringoringo, 2005)

Pengantar

Salah satu teknik penentuan solusi optimal yang digunakan dalam pemrograman linier adalah metode simpleks.  Penentuan solusi optimal menggunakan metode simpleks didasarkan pada teknik eleminasi Gauss Jordan. Penentuan solusi optimal dilakukan dengan memeriksa titik ekstrim satu per satu dengan cara perhitungan iteratif. Sehingga penentuan solusi optimal dengan simpleks dilakukan tahap demi tahap yang disebut dengan iterasi. Iterasi ke-i hanya tergantung dari iterasi sebelumnya (i-1).
Ada beberapa istilah yang sangat sering digunakan dalam metode simpleks, diantaranya :
  1. Iterasi adalah tahapan perhitungan dimana nilai dalam perhitungan itu tergantung dari nilai tabel sebelumnya.
  2. Variabel non basis adalah variabel yang nilainya diatur menjadi nol pada sembarang iterasi. Dalam terminologi umum, jumlah variabel non basis selalu sama dengan derajat bebas  dalam sistem persamaan.
  3. Variabel basis merupakan variabel yang nilainya bukan nol pada sembarang iterasi. Pada solusi awal, variabel basis merupakan variabel slack (jika fungsi kendala merupakan pertidaksamaan ≤ ) atau variabel buatan (jika fungsi kendala menggunakan  pertidaksamaan ≥ atau =). Secara umum, jumlah variabel basis selalu sama  dengan  jumlah fungsi pembatas (tanpa fungsi non negatif).
  4. Solusi atau nilai kanan merupakan nilai sumber daya pembatas yang masih tersedia. Pada solusi awal, nilai kanan atau solusi sama dengan jumlah sumber daya pembatas  awal yang ada, karena aktivitas belum dilaksanakan.
  5. Variabel slack adalah variabel yang ditambahkan ke model matematik kendala untuk mengkonversikan  pertidaksamaan ≤ menjadi persamaan (=). Penambahan variabel ini terjadi pada tahap inisialisasi. Pada solusi awal, variabel slack akan berfungsi sebagai variabel basis.
  6. Variabel surplus adalah variabel yang dikurangkan  dari model matematik kendala untuk mengkonversikan  pertidaksamaan ≥ menjadi persamaan (=). Penambahan ini terjadi pada tahap inisialisasi. Pada solusi awal, variabel surplus tidak dapat berfungsi sebagai variabel basis.
  7. Variabel buatan adalah variabel yang ditambahkan ke model matematik kendala dengan bentuk ≥ atau = untuk difungsikan sebagai variabel basis awal. Penambahan variabel ini terjadi pada tahap inisialisasi. Variabel ini harus bernilai 0 pada solusi optimal, karena kenyataannya variabel ini tidak ada. Variabel hanya ada di atas kertas.
  8. Kolom pivot (kolom kerja) adalah kolom yang memuat variabel masuk. Koefisien pada kolom ini akn menjadi pembagi nilai kanan untuk menentukan baris pivot (baris kerja).
  9. Baris pivot (baris kerja) adalah salah satu baris dari antara variabel basis yang memuat variabel keluar.
  10. Elemen pivot (elemen kerja) adalah elemen yang terletak pada perpotongan kolom dan baris pivot. Elemen pivot akan menjadi dasar perhitungan untuk tabel simpleks berikutnya.
  11. Variabel masuk adalah variabel yang terpilih untuk menjadi variabel basis pada iterasi berikutnya. Variabel masuk dipilih satu dari antara variabel non basis pada setiap iterasi. Variabel ini pada iterasi berikutnya akan bernilai positif.
  12. Variabel keluar adalah variabel yang keluar dari variabel basis pada iterasi berikutnya dan digantikan oleh variabel masuk. Variabel keluar dipilih satu dari antara variabel basis pada setiap iiterasi. Variabel ini pada iterasi berikutnya akan bernilai nol.

BENTUK BAKU

Sebelum melakukan perhitungan iteratif untuk menentukan solusi optimal, pertama sekali bentuk umum pemrograman linier dirubah ke dalam bentuk baku terlebih dahulu. Bentuk baku dalam metode simpleks tidak hanya mengubah persamaan kendala ke dalam bentuk sama dengan, tetapi setiap fungsi kendala harus diwakili oleh satu variabel basis awal. Variabel basis awal menunjukkan status sumber daya pada kondisi sebelum ada aktivitas yang dilakukan. Dengan kata lain, variabel keputusan semuanya masih bernilai nol. Dengan demikian, meskipun fungsi kendala pada bentuk umum pemrograman linier sudah dalam bentuk persamaan, fungsi kendala tersebut masih harus tetap berubah.

Ada beberapa hal yang harus diperhatikan dalam membuat  bentuk baku, yaitu :
  1. Fungsi kendala dengan pertidaksamaan ≤ dalam bentuk umum, dirubah menjadi persamaan (=) dengan menambahkan satu variabel slack.
  2. Fungsi kendala dengan pertidaksamaan ≥ dalam bentuk umum, dirubah menjadi persamaan (=) dengan mengurangkan satu variabel surplus.
  3. Fungsi kendala dengan persamaan dalam benttuk umum,ditambahkan satu artificial variabel (variabel buatan).

Perhatikan kasus A berikut  :

Fungsi tujuan : minimumkan z = 2 x1 + 5.5 x2
Kendala :
x1 + x2 = 90
0.001 x1 + 0.002 x2 ≤ 0.9
0.09 x1 + 0.6 x2 ≥ 27
0.02 x1 + 0.06 x2 ≤ 4.5
x1, x2 ≥ 0




Bentuk di atas adalah bentuk umum pemrograman liniernya. Kedalam bentuk baku, model matematik tersebut akan berubah menjadi :
Fungsi tujuan : minimumkan z = 2 x1 + 5.5 x2
Kendala :
x1 + x2 + s1 = 90
0.001 x1 + 0.002 x2 + s2 = 0.9
0.09 x1 + 0.6 x2 – s3 + s4 = 27
0.02 x1 + 0.06 x2 + s5 = 4.5
x1, x2 , s1, s2, s3, s4, s5  ≥ 0

Fungsi kendala pertama mendapatkan variable buatan (s1), karena bentuk umumnya sudah menggunakan bentuk persamaan. Fungsi kendala kedua dan keempat  mendapatkan variabel slack (s2 dan s5) karena bentuk umumnya menggunakan  pertidaksamaan ≤, sedangkan fungsi kendala ketiga mendapatkan variabel surplus (s3) dan variabel buatan (s4) karena bentuk umumnya menggunakan pertidaksamaan ≥.

Perhatikan pula kasus B berikut ini :
Maksimumkan z = 2x1 + 3x2
Kendala :
10 x1 + 5 x2 ≤ 600
6 x1 + 20 x2 ≤ 600
8 x1 + 15 x2 ≤ 600
x1, x2

Bentuk di atas juga merupakan bentuk umum. Perubahan ke dalam bentuk baku hanya membutuhkan variabel slack, karena semua fungsi kendala menggunakan bentuk pertidaksamaan ≤ dalam bentuk umumnya. Maka bentuk bakunya adalah sebagai berikut :
Maksimumkan z = 2x1 + 3x2 + 0s1 + 0s2 + 0s3
Kendala :
10 x1 + 5 x2 + s1 = 600
6 x1 + 20 x2 + s2 = 600
8 x1 + 15 x2 + s3 = 600
x1, x2 , s1 , s2 , s3 ≥ 0
s1 , s2 , s3 merupakan  variable slack.

PEMBENTUKAN TABEL SIMPLEKS

Dalam perhitungan iterative, kita akan bekerja menggunakan tabel. Bentuk baku yang sudah diperoleh, harus dibuat ke dalam bentuk tabel.
Semua variabel yang bukan variabel basis mempunyai solusi (nilai kanan) sama dengan nol dan koefisien variabel basis pada baris tujuan harus sama dengan 0. Oleh karena itu kita harus membedakan pembentukan tabel awal berdasarkan variabel basis awal. Dalam sub bab ini kita hanya akan memperhatikan fungsikendala yang menggunakan variabel slack dalam bentuk bakunya, sedangkan yang menggunakan variabel buatan akan dibahas pada sub bab lainnya.

Gunakan kasus B di atas, maka tabel awal simpleksnya adalah :

VB
X1
X2
S1
S2
S3
solusi
Z
-2
-3
0
0
0
0
S1
10
5
1
0
0
600
S2
6
20
0
1
0
600
S3
8
15
0
0
1
600

LANGKAH-LANGKAH PENYELESAIAN

Langkah-langkah penyelesaian adalah sebagai berikut :

  1. Periksa apakah tabel layak atau tidak. Kelayakan tabel simpleks dilihat dari solusi (nilai kanan). Jika solusi ada yang bernilai negatif, maka tabel tidak layak. Tabel yang tidak layak tidak dapat diteruskan untuk dioptimalkan.
  2. Tentukan kolom pivot. Penentuan kolom pivot dilihat dari koefisien fungsi tujuan (nilai di sebelah kanan baris z) dan tergantung dari bentuk tujuan. Jika tujuan maksimisasi, maka kolom pivot  adalah kolom dengan koefisien paling negatif. Jika tujuan minimisasi , maka kolom pivot adalah kolom dengan koefisien positif terbesar. Jika kolom pivot ditandai dan ditarik ke atas, maka kita akan mendapatkan variabel keluar. Jika nilai paling negatif (untuk tujuan maksimisasi) atau positif terbesar (untuk tujuan minimisasi) lebih dari satu, pilih salah satu secara sembarang.
  3. Tentukan baris pivot. Baris pivot ditentukan setelah membagi nilai solusi dengan nilai kolom pivot yang bersesuaian (nilai yang terletak dalam satu baris). Dalam hal ini, nilai negatif dan 0 pada kolom pivot tidak diperhatikan, artinya tidak ikut menjadi pembagi. Baris pivot adalah baris dengan rasio pembagian terkecil. Jika baris pivot ditandai dan ditarik ke kiri, maka kita akan mendapatkan variabl keluar. Jika rasio pembagian terkecil lebih dari satu, pilih salah sau secara sembarang.
  4. Tentukan elemen pivot. Elemen pivot merupakan nilai yang terletak pada perpotongan kolom dan baris pivot.
  5. Bentuk tabel simpleks baru. Tabel simpleks baru dibentuk dengan pertama sekali menghitung nilai baris pivot baru. Baris pivot baru adalah baris pivot lama dibagi dengan elemen pivot. Baris baru lainnya merupakan pengurangan nilai kolom pivot baris yang bersangkutan dikali baris pivot baru dalam satu kolom terhadap baris lamanya yang terletak pada kolom tersebut.
  6. Periksa apakah tabel sudah optimal. Keoptimalan tabel dilihat dari koefisien fungsi tujuan (nilai pada baris z) dan tergantung dari bentuk tujuan. Untuk tujuan maksimisasi, tabel sudah optimal jika semua nilai pada baris z sudah positif atau 0. Pada tujuan minimisasi, tabel sudah optimal jika semua nilai pada baris z sudah negatif atau 0. Jika belum, kembali ke langkah no. 2 , jika sudah optimal baca solusi optimalnya.




Selesaikan kasus berikut ini menggunakan metode simpleks :

Maksimum z = 8 x1 + 9 x2 + 4x3
Kendala :
x1 + x2 + 2x3 ≤ 2
2x1 + 3x2 + 4x3 ≤ 3
7x1 + 6x2 + 2x3 ≤ 8
x1,x2,x3 ≥ 0

Penyelesaian :
Bentuk bakunya adalah :

Maksimum z = 8 x1 + 9 x2 + 4x3 + 0s1 + 0s2 + 0s3 atau
z - 8 x1 - 9 x2 - 4x3 + 0s1 + 0s2 + 0s3 = 0

Kendala :
x1 + x2 + 2x3 + s1  = 2
2x1 + 3x2 + 4x3 + s2 = 3
7x1 + 6x2 + 2x3  + s3 = 8
x1,x2,x3 ,s1 , s2 , s3 ≥ 0

Solusi / table awal simpleks :

VB
X1
X2
X3
S1
S2
S3
NK
Rasio
Z
-8
-9
-4
0
0
0
0

S1
1
1
2
1
0
0
2

S2
2
3
4
0
1
0
3

S3
7
6
2
0
0
1
8


Karena nilai negative terbesar  ada pada kolom X2, maka kolom X2 adalah kolom pivot dan X2 adalah variabel masuk. Rasio pembagian nilai kanan  dengan kolom pivot terkecil adalah 1 bersesuaian  dengan  baris s2, maka baris s2 adalah baris pivot dan s2 adalah varisbel keluar. Elemen pivot adalah 3.

VB
X1
X2
X3
S1
S2
S3
NK
Rasio
Z
-8
-9
-4
0
0
0
0

S1
1
1
2
1
0
0
2
2
S2
2
3
4
0
1
0
3
1
S3
7
6
2
0
0
1
8
8/6

Iterasi 1

Nilai pertama yang kita miliki adalah nilai baris  pivot baru (baris x2). Semua nilai pada baris s2 pada tabel solusi awal dibagi dengan 3 (elemen pivot).


VB
X1
X2
X3
S1
S2
S3
NK
Rasio
Z








S1








x2
2/3
1
4/3
0
1/3
0
1

S3









Perhitungan nilai barisnya :
Baris z :

            -8         -9         -4         0          0          0          0
    -9 (  2/3         1         4/3       0          1/3       0          1 )   -
            -2           0        8         0          3          0          9

Baris s1 :

            1          1          2          1          0          0          2
     1   (2/3        1          4/3       0          1/3       0          1 ) -
            1/3       0          2/3       1          -1/3      0          1

Baris s3 :

            7          6          2          0          0          1          8
      6 ( 2/3        1          4/3       0          1/3       0          1 ) -
            3          0          -6         0          -2         1          2

Maka tabel iterasi 1 ditunjukkan tabel di bawah. Selanjutnya kita periksa apakah tabel sudah optimal atau belum. Karena nilai baris z di bawah variabel x1 masih negatif, maka tabel belum optimal. Kolom dan baris pivotnya ditandai pada tabel di bawah ini :

VB
X1
X2
X3
S1
S2
S3
NK
Rasio
Z
-2
0
8
0
3
0
9
-
S1
1/3
0
2/3
1
-1/3
0
1
3
X2
2/3
1
4/3
0
1/3
0
1
3/2
S3
3
0
-6
0
-2
1
2
2/3

Variabel masuk  dengan demikian adalah X1 dan variabel  keluar adalah S3 . Hasil perhitungan iterasi ke 2 adalah sebagai berikut :

Iterasi 2 :

VB
X1
X2
X3
S1
S2
S3
NK
Rasio
Z
0
0
4
0
5/3
2/3
31/3

S1
0
0
4/3
1
-1/9
-1/9
7/9

X2
0
1
8/3
0
7/9
-2/9
5/9

X1
1
0
-2
0
-2/3
1/3
2/3


Tabel sudah optimal, sehingga perhitungan iterasi dihentikan !

Perhitungan dalam simpleks menuntut ketelitian  tinggi, khususnya jika angka yang digunakan adalah pecahan. Pembulatan harus diperhatikan dengan baik. Disarankan jangan menggunakan bentuk bilangan desimal, akan lebih teliti jika menggunakan bilangan pecahan. Pembulatan dapat menyebabkan iterasi lebih panjang atau bahkan tidak selesai karena ketidaktelitian dalam melakukan pembulatan.
Perhitungan iteratif dalam simpleks pada dasarnya merupakan pemeriksaan satu per satu titik-titik ekstrim layak pada daerah penyelesaian. Pemeriksaan dimulai dari kondisi nol (dimana semua aktivitas/variabel keputusan bernilai nol). Jika titik ekstrim berjumlah n, kemungkinan terburuknya kita akan melakukan perhitungan iteratif sebanyak n kali.

MEMBACA TABEL OPTIMAL

Membaca tabel optimal adalah bagian penting bagi pengambil keputusan. Ada beberapa hal yang bisa dibaca dari table optimal :
  1. Solusi optimal variable keputusan
  2. Status sumber daya
  3. harga bayangan (dual/shadow prices).

Menggunakan table optimal :

VB
X1
X2
X3
S1
S2
S3
NK
Z
0
0
4
0
5/3
2/3
31/3
S1
0
0
4/3
1
-1/9
-1/9
7/9
X2
0
1
8/3
0
7/9
-2/9
5/9
X1
1
0
-2
0
-2/3
1/3
2/3

Solusi optimal X1 = 2/3,  X2  = 5/9 , X3 = 0 dan Z = 31/3, artinya untuk mendapatkan keuntungan maksimum sebesar $ 31/3 , maka perusahaan sebaiknya menghasilkan produk 1 sebesar 2/3 unit dan produk 2  sebesar 5/9 unit.

Status sumber daya :
Sumber daya pertama dilihat dari keberadaan variable basis awal dari setiap fungsi kendala pada table optimal. Dalam kasus di atas, untuk fungsi kendala pertama periksa keberadaan S1 pada variable basis table optimal. Periksa keberadaan S2 pada variable basis table optimal untuk fungsi kendala kedua. Periksa keberadaan S3 pada variable basis table optimal untuk fungsi kendala ketiga.

S1 = 7/9.  Sumber  daya ini disebut berlebih (abundant)
S2 = S3 = 0. Kedua sumber daya ini disebut habis terpakai (scarce).




Harga bayangan :
Harga bayangan dilihat dari koefisien variable slack atau surplus pada baris fungsi tujuan.

Koefisien S1 pada baris fungsi tujuan table optimal = 0, dengan demikian harga bayangan sumber daya pertama adalah 0
Koefisien S2 pada baris fungsi tujuan table optimal = 5/3, dengan demikian harga bayangan sumber daya kedua adalah 5/3
Koefisien S3 pada baris fungsi tujuan table optimal = 2/3, dengan demikian harga bayangan sumber daya kedua adalah 2/3.


Sumber :

Siringoringo, Hotniar. Seri Teknik Riset Operasional. Pemrograman Linear. Penerbit Graha Ilmu. Yogyakarta. 2005.