ENDRA REPARASI

Friday, May 6, 2011

riset operasi

BAHAN KULIAH
RISET OPERASIONAL









Disusun oleh:
BAMBANG YUWONO, ST, MT
PUTRI NUR ISTIANI (123030113)






JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UPN “VETERAN” YOGYAKARTA
2007 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
1
SILABUS
Matakuliah :Riset Operasional (Operation Research)

Materi :
1 PENDAHULUAN
Perkembangan Riset Operasi
Arti Riset Operasi
2 PROGRAM LINEAR : Metode GRAFIK
3 PROGRAM LINEAR : Metode Simplek
4 DUALITAS DAN ANALISA SENSITIVITAS
5 PERSOALAN PENUGASAN (ASSIGNMENT)
6 PERSOALAN TRANSPORTASI
7 ANALISA NETWORK
8 TEORI ANTRIAN
9 Demo Program menggunakan POM / LINDO / QM

Buku :
1. Bambang Yuwono, Bahan Kuliah Riset Operasi, 2007
2. Pangestu dkk, Dasar-Dasar Riset Operasi, BPFE, 1983,
Yogyakarta
3. Hamdy Taha, Operation Research An Introduction, Edisi 4,
Macmillan, New York
4. Aminudin, Prinsip-Prinsip Riset Operasi, Erlangga, 2005

PENILAIAN :

1 UTS
2 UAS
3 KUIS
4 TUGAS

BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
2
CONTOH PERMASALAHAN RISET OPERASI

SOAL 1 (MAKSIMASI)
BAYU FURNITURE memproduksi 2 jenis produk yaitu meja dan kursi
yang harus diproses melalui perakitan dan finishing. Proses perakitan
memiliki 60 jam kerja sedang proses finishing memiliki 48 jam kerja. Untuk
menghasilkan satu meja dibutuhkan 4 jam perakitan dan 2 jam finishing,
sedangkan satu kursi membutuhkan 2 jam perakitan dan 4 jam finishing.
Laba untuk tiap meja $8 dan tiap kursi $6. Sekarang kita harus
menentukan kombinasi terbaik dari jumlah meja dan kursi yang harus
diproduksi, agar menghasilkan laba maksimal.

SOAL 2 (MAKSIMASI)
Perusahaan tas “HANIF” membuat 2 macam tas yaitu tas merk DORA
dan merk SPONGEBOB. Untuk membuat tas tersebut perusahaan
memiliki 3 mesin. Mesin 1 khusus untuk memberi logo DORA, mesin 2
khusus untuk memberi logo SPONGEBOB dan mesin 3 untuk menjahit tas
dan membuat ritsleting. Setiap lusin tas merk DORA mula-mula dikerjakan
di mesin 1 selama 2 jam, kemudian tanpa melalui mesin 2 terus dikerjakan
di mesin 3 selama 6 jam. Sedang untuk tas merk SPONGEBOB tidak
diproses di mesin 1, tetapi pertama kali dikerjakan di mesin 2 selama 3
jam kemudian di mesin 3 selama 5 jam. Jam kerja maksimum setiap hari
untuk mesin 1=8 jam, mesin 2=15 jam, dan mesin 3=30 jam. Sumbangan
terhadap laba untuk setiap lusin tas merk DORA $3, sedang merk
SPONGEBOB $5. Masalahnya adalah menentukan berapa lusin
sebaiknya tas merk DORA dan merk SPONGEBOB yang dibuat agar bisa
memaksimumkan laba.


BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
3
SOAL 3 (MINIMASI)
Sebuah toko “TO MING SE” menyediakan dua merk pupuk, yaitu
Standard dan Super. Setiap jenis mengandung campuran bahan nitrogen
dan fosfat dalam jumlah tertentu.

Jenis Kandungan Bahan Kimia
Nitrogen (kg/sak) Fosfat Kg/sak)
Standard 2 4
Super 4 3

Seorang petani membutuhkan paling sedikit 16 kg nitrogen dan 24 kg
fosfat untuk lahan pertaniannya. Harga pupuk Standar dan Super masing-
masing $3 dan $6. Petani tersebut ingin mengetahui berapa sak masing-
masing jenis pupuk harus dibeli agar total harga pupuk mencapai
minimum dan kebutuhan pupuk untuk lahannya terpenuhi.

SOAL 6 (MAKSIMASI)
HMJ Teknik Informatika UPN akan memproduksi dua jenis jaket, yaitu
jaket Standard dan jaket super. setiap jenis jaket menggunakan sumber
daya sebagai berikut :

jenis jaket sumber daya
Standard Super
Kapasitas
Bahan baku 4 6 1200
jumlah jam 4 2 800

Diperkirakan permintaan Produk standard maksimum 250 unit per bulan,
sedang produk super 300 unit per bulan.
Sumbangan keuntungan untuk produk standard sebesar Rp 400 per unit
sedangkan produk Super Rp 300 per unit.
Berapa kapasitas produksi optimum untuk kedua jenis produk tersebut
supaya diperoleh keuntungan maksimum ? BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
4
BAB I. PENDAHULUAN


1. Pengertian Riset Operasi
Riset Operasi adalah metode untuk memformulasikan dan merumuskan
permasalahan sehari-hari baik mengenai bisnis, ekonomi, sosial maupun bidang
lainnya ke dalam pemodelan matematis untuk mendapatkan solusi yang optimal.

2. Pemodelan Matematis
Bagian terpenting dari Riset Operasi adalah bagaimana menerjemahkan
permasalahan sehari-hari ke dalam model matematis. Faktor-faktor yang
mempengaruhi pemodelan harus disederhanakan dan apabila ada data yang
kurang, kekurangan tersebut dapat diasumsikan atau diisi dengan pendekatan yang
bersifat rasional. Dalam Riset Operasi diperlukan ketajaman berpikir dan logika.
Untuk mendapatkan solusi yang optimal dan memudahkan kita mendapatkan
hasil, kita dapat menggunakan komputer. Software yang dapat digunakan antara
lain: LINDO (Linear, Interactive and Discrete Optimizer) dan POM For
Windows.












BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
5
BAB II. PROGRAM LINEAR

Program linear adalah salah satu model matematika yang digunakan untuk
menyelesaikan masalah optimisasi, yaitu memaksimumkan atau meminimumkan
fungsi tujuan yang bergantung pada sejumlah variabel input.
Hal terpenting yang perlu kita lakukan adalah mencari tahu tujuan penyelesaian
masalah dan apa penyebab masalah tersebut.
Dua macam fungsi Program Linear:
♦ Fungsi tujuan : mengarahkan analisa untuk mendeteksi tujuan perumusan
masalah
♦ Fungsi kendala : untuk mengetahui sumber daya yang tersedia dan permintaan
atas sumber daya tersebut.
1. Masalah Maksimisasi
Maksimisasi dapat berupa memaksimalkan keuntungan atau hasil.
Contoh:
PT LAQUNATEKSTIL memiliki sebuah pabrik yang akan memproduksi 2
jenis produk, yaitu kain sutera dan kain wol. Untuk memproduksi kedua
produk diperlukan bahan baku benang sutera, bahan baku benang wol dan
tenaga kerja. Maksimum penyediaan benang sutera adalah 60 kg per hari,
benang wol 30 kg per hari dan tenaga kerja 40 jam per hari. Kebutuhan setiap
unit produk akan bahan baku dan jam tenaga kerja dapat dilihat dalam tabel
berikut:
Jenis bahan baku Kg bahan baku & Jam tenaga kerja Maksimum
dan tenaga kerja Kain sutera Kain wol penyediaan
Benang sutera 2 3 60 kg
Benang wol - 2 30 kg
Tenaga kerja 2 1 40 jam

Kedua jenis produk memberikan keuntungan sebesar Rp 40 juta untuk kain
sutera dan Rp 30 juta untuk kain wol. Masalahnya adalah bagaimana
menentukan jumlah unit setiap jenis produk yang akan diproduksi setiap hari
agar keuntungan yang diperoleh bisa maksimal. BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
6
Langkah-langkah:
1) Tentukan variabel
X1=kain sutera
X2=kain wol
2) Fungsi tujuan
Zmax= 40X1 + 30X2
3) Fungsi kendala / batasan
1. 2X1 + 3X2 ≤ 60 (benang sutera)
2. 2X2 ≤ 30 (benang wol)
3. 2X1 + X2 ≤ 40 (tenaga kerja)
4) Membuat grafik
1. 2X1 + 3 X 2=60
X1=0, X2 =60/3 = 20
X2=0, X1= 60/2 = 30
2. 2X2 ≤ 30
X2=15
3. 2X1 + X2 ≤ 40
X1=0, X2 = 40
X2=0, X1= 40/2 = 20































daerah penyelesaian
X1
X2
0
A B
20
C
D
15 E
20
2
3
30
1
40 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
7
Cara mendapatkan solusi optimal:
1. Dengan mencari nilai Z setiap titik ekstrim.
Titik A
X1=0, X2=0
masukkan nilai X1 dan X2 ke Z
Z = 40 . 0 + 30 . 0 = 0
Titik B
X1=20, X2=0
masukkan nilai X1 dan X2 ke Z
Z = 40 . 20 + 30 . 0 = 800
Titik C
Mencari titik potong (1) dan (3)
2X1 + 3X2 = 60
2X1 + X2 = 40
2X2=20 X2=10
Masukkan X2 ke kendala (1)
2X1 + 3X2 = 60
2X1 + 3 . 10 = 60
2X1 + 30 = 60
2X1 = 30 X1 = 15
masukkan nilai X1 dan X2 ke Z
40X1 + 30X2 = 40 . 15 + 30 . 10 = 600 + 300 = 900 (optimal)
Titik D
2X2 = 30
X2 = 15
masukkan X2 ke kendala (1)
2X1 + 3 . 15 = 60
2X1 + 45 = 60
2X1 = 15 X1 = 7,5
masukkan nilai X1 dan X2 ke Z BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
8
Z = 40 . 7,5 + 30 . 15 = 300 + 450 = 750
Titik E
X2 = 15
X1 = 0
masukkan nilai X1 dan X2 ke Z
Z = 40 . 0 + 30 .15 = 450
Kesimpulan :
untuk memperoleh keuntungan optimal, maka X1 = 15 dan X2 = 10 dengan
keuntungan sebesar Rp 900 juta.
2. Dengan cara menggeser garis fungsi tujuan.
Solusi optimal akan tercapai pada saat garis fungsi tujuan menyinggung daerah
feasible (daerah yang diliputi oleh semua kendala) yang terjauh dari titik origin.
Pada gambar, solusi optimal tercapai pada titik C yaitu persilangan garis kendala
(1) dan (3).
Titik C
Mencari titik potong (1) dan (3)
2X1 + 3X2 = 60
2X1 + X2 = 40
2X2=20
X2=10
Masukkan X2 ke kendala (1)
2X1 + 3X2 = 60
2X1 + 3 . 10 = 60
2X1 + 30 = 60
2X1 = 30 X1 = 15
masukkan nilai X1 dan X2 ke Z
40X1 + 30X2 = 40 . 15 + 30 . 10 = 600 + 300 = 900


BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
9
2 . Masalah Minimisasi
Minimisasi dapat berupa meminimumkan biaya produksi. Solusi optimal tercapai
pada saat garis fungsi tujuan menyinggung daerah fasible yang terdekat dengan
titik origin.
Contoh :
Perusahaan makanan ROYAL merencanakan untuk membuat dua jenis makanan
yaitu Royal Bee dan Royal Jelly. Kedua jenis makanan tersebut mengandung
vitamin dan protein. Royal Bee paling sedikit diproduksi 2 unit dan Royal Jelly
paling sedikit diproduksi 1 unit. Tabel berikut menunjukkan jumlah vitamin dan
protein dalam setiap jenis makanan:
Jenis makanan Vitamin (unit) Protein (unit) Biaya per unit
(ribu rupiah)
Royal Bee 2 2 100
Royal Jelly 1 3 80
minimum kebutuhan 8 12
Bagaimana menentukan kombinasi kedua jenis makanan agar meminimumkan
biaya produksi.
Langkah – langkah:
1. Tentukan variabel
X1 = Royal Bee
X2 = Royal Jelly
2. Fungsi tujuan
Zmin = 100X1 + 80X2
3. Fungsi kendala
1) 2X1 + X2 ≥ 8 (vitamin)
2) 2X1 + 3X2 ≥ 12 (protein)
3) X1 ≥ 2
4) X2 ≥1
4. Membuat grafik
1) 2X1 + X2 = 8 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
10
X1 = 0, X2 = 8
X2 = 0, X1 = 4
2) 2X1 + 3X2 = 12
X1 = 0, X2 = 4
X2 = 0, X1 = 6
3) X1 = 2
4) X2 = 1















Solusi optimal tercapai pada titik B (terdekat dengan titik origin), yaitu
persilangan garis kendala (1) dan (2).
2X1 + X2 = 8
2X1 + 3X2 = 12
-2X2 = -4 X2 = 2
masukkan X2 ke kendala (1)
2X1 + X2 = 8
2X1 + 2 = 8
2 X1 = 6 X1 = 3
masukkan nilai X1 dan X2 ke Z
Z min = 100X1 + 80X2 = 100 . 3 + 80 . 2 = 300 + 160 = 460
Kesimpulan :

2 4 6
1
4
8
X1
X2
A
B
C
(4)
(2)
(1) (3)
daerah penyelesaian BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
11
Untuk meminimumkan biaya produksi, maka X1 = 3 dan X2 = 2 dengan biaya
produksi 460 ribu rupiah.

SOAL LATIHAN
1. Maksimumkan Z = 3X1 + 5X2
Kendala : 1) 2X1 ≤ 8
2) 3X2 ≤ 15
3) 6X1 + 5X2 ≤ 30
X1≥ 0 , X2 ≥ 0
2. Minimumkan Z = 5 X1 + 2X2
Kendala: 1) 6X1 + X2 ≥ 6
2) 4X1 + 3X2 ≥ 2
3) X1 + 2X2 ≥ 4 , X1 ≥ 0
3. PT BAKERY memproduksi tiga jenis roti kering, yaitu pia, bolukismis dan
coklatkeju dengan keuntungan tiap jenis produk masing-masing Rp 150, Rp
400 dan Rp 600. Setiap minggu ditetapkan minimum produksi roti pia 25 unit,
bolukismis 130 unit dan coklatkeju 55 unit. Ketiga jenis roti memerlukan
pemrosesan tiga kali yaitu penyiapan bahan, peracikan dan pengovenan seperti
terlihat pada tabel berikut:
Pemrosesan Jenis roti Penyediaan max
pia bolukismis coklatkeju (jam)
penyiapan bahan 4 2 6 130
peracikan 3 4 9 170
pengovenan 1 2 4 52

Bagaimana formulasi program linear masalah PT Bakery tersebut dan hitung
solusi optimalnya!


BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
12
BAB III. METODE SIMPLEX

Metode grafik tidak dapat menyelesaikan persoalan linear program yang memilki
variabel keputusan yang cukup besar atau lebih dari dua, maka untuk
menyelesaikannya digunakan Metode Simplex.
Beberapa ketentuan yang perlu diperhatikan, antara lain:
1. Nilai kanan (NK / RHS) fungsi tujuan harus nol (0).
2. Nilai kanan (RHS) fungsi kendala harus positif. Apabila negatif, nilai
tersebut harus dikalikan –1.
3. Fungsi kendala dengan tanda “≤” harus diubah ke bentuk “=” dengan
menambahkan variabel slack/surplus. Variabel slack/surplus disebut juga
variabel dasar.
4. Fungsi kendala dengan tanda “≥” diubah ke bentuk “≤” dengan cara
mengalikan dengan –1, lalu diubah ke bentuk persamaan dengan
ditambahkan variabel slack. Kemudian karena RHS-nya negatif, dikalikan
lagi dengan –1 dan ditambah artificial variabel (M).
5. Fungsi kendala dengan tanda “=” harus ditambah artificial variabel (M).
Pembuatan Tabel Simplex
Contoh soal:
Z = 3X1 + 5X2
Kendala:
1) 2X1 ≤ 8
2) 3X2 ≤ 15
3) 6X1 + 5X2 ≤ 30
Langkah-langkah:
1. Mengubah fungsi tujuan dan fungsi kendala (lihat beberapa ketentuan yang
harus diperhatikan di atas!)
Fungsi tujuan
Z = 3X1 + 5X2 => Z - 3X1 - 5X2 = 0
BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
13
Fungsi kendala
1) 2X1 ≤ 8 => 2X1 + X3 = 8
2) 3X2 ≤ 15 => 3X2 + X4 = 15
3) 6X1 + 5X2 ≤ 30 => 6X1 + 5X2 + X5 = 30
(X3, X4 dan X5 adalah variabel slack)
2. Menyusun persamaan-persamaan ke dalam tabel
Var.Dsr Z X1 X2 X3 X4 X5 NK index
Z 1 -3 -5 0 0 0 0
X3 0 2 0 1 0 0 8
X4 0 0 3 0 1 0 15
X5 0 6 5 0 0 1 30

3. Memilih kolom kunci
Kolom kunci adalah kolom yang mempunyai nilai pada baris Z yang bernilai
negatif dengan angka terbesar.
Var.Dsr Z X1 X2 X3 X4 X5 NK index
Z 1 -3 -5 0 0 0 0
X3 0 2 0 1 0 0 8
X4 0 0 3 0 1 0 15
X5 0 6 5 0 0 1 30

4. Memilih baris kunci
Nilai kanan (NK)
Nilai kolom kunci
Baris kunci adalah baris yang mempunyai index terkecil
Var.Dsr Z X1 X2 X3 X4 X5 NK index
Z 1 -3 -5 0 0 0 0
X3 0 2 0 1 0 0 8 ~
X4 0 0 3 0 1 0 15 5
X5 0 6 5 0 0 1 30 6
Index =
angka kunci koef angka kolom kunci BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
14
5. Mengubah nilai-nilai baris kunci
=> dengan cara membaginya dengan angka kunci
Baris baru kunci = baris kunci : angka kunci
sehingga tabel menjadi seperti berikut:
Var.Dsr Z X1 X2 X3 X4 X5 NK index
Z 1 -3 -5 0 0 0 0
X3 0 2 0 1 0 0 8 ~
X2 0 0 1 0 1/3 0 5 5
X5 0 6 5 0 0 1 30 6

6. Mengubah nilai-nilai selain baris kunci sehingga nilai-nilai kolom kunci
(selain baris kunci) = 0
Baris baru = baris lama – (koefisien angka kolom kunci x nilai baris
baru kunci)
Baris Z
Baris lama [ -3 -5 0 0 0 0 ]
NBBK -5 [ 0 1 0 1/3 0 5 ]
Baris baru -3 0 0 5/3 0 25
Baris X3
Baris lama [ 2 0 1 0 0 8 ]
NBBK 0 [ 0 1 0 1/3 0 5 ]
Baris baru 2 0 1 0 0 8
Baris X5
Baris lama [ 6 5 0 0 1 30 ]
NBBK 5 [ 0 1 0 1/3 0 5 ]
Baris baru 6 0 0 -5/3 1 5

Masukkan nilai di atas ke dalam tabel, sehingga tabel menjadi seperti berikut:

BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
15
Var.Dsr Z X1 X2 X3 X4 X5 NK index
Z 1 -3 0 0 5/3 0 25
X3 0 2 0 1 0 0 8
X2 0 0 1 0 1/3 0 5
X5 0 6 0 0 -5/3 1 5

7. Melanjutkan perbaikan-perbaikan (langkah 3-6) sampai baris Z tidak ada
nilai negatif
Var.Dsr Z X1 X2 X3 X4 X5 NK index
Z 1 -3 0 0 5/3 0 25
X3 0 2 0 1 0 0 8 4
X2 0 0 1 0 1/3 0 5 ~
X5 0 6 0 0 -5/3 1 5 5/6

Z 1 0 0 0 5/6 1/2 27½ Zmax
X3 0 0 0 1 5/9 -1/3 6 1/3
X2 0 0 1 0 1/3 0 5
X1 0 1 0 0 -5/18 1/6 5/6

Diperoleh hasil: X1 = 5/6 , X2 = 5, Zmax = 27 ½

SOAL LATIHAN
1. Selesaikan linear program berikut ini dengan metode Simplex
Maksimumkan Z = 400X1 + 300X2
Fungsi kendala/ batasan:
1) 4X1 + 6X2 ≤ 1200
2) 4X1 + 2X2 ≤ 800
3) X1 ≤ 250
4) X2 ≤ 300
BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
16
2. Selesaikan linear program berikut ini dengan metode Simplex
Maksimumkan Z = 2X1 + 3X2 + X3
Dengan fungsi kendala:
1) X1 + X2 + X3 ≤ 9
2) 2X1 + 3X2 ≤ 25
3) X2 + 2X3 ≤ 10
4) X1, X2, X3 ≥ 0

PENYIMPANGAN - PENYIMPANGAN BENTUK STANDAR
1. Fungsi batasan dengan tanda sama dengan (=)
=> ditambah dengan variabel buatan
Contoh :
Fungsi kendala:
1) 2X1 ≤ 8 => 2X1 +X3 = 8
2) 3X2 ≤ 15 => 3X2 +X4 = 15
3) 6X1 + 5X2 = 30 => 6X1 + 5X2 + X5 = 30
Fungsi tujuan:
Z = 3X1 + 5X2 => Z – 3X1 – 5X2 + MX5 = 0
Nilai setiap variabel dasar (X5) harus sebesar 0, sehingga fungsi tujuan harus
dikurangi dengan M dikalikan dengan baris batasan yang bersangkutan (3). Nilai
baris Z sebagai berikut:
[ -3 -5 0 0 M , 0 ]
M [ 6 5 0 0 1 , 30]
(-6M-3) (-5M-5) 0 0 0 -30M
Tabel:
Var.Dsr Z X1 X2 X3 X4 X5 NK index
Z 1 -6M-3 -5M-5 0 0 0 -30M
X3 0 2 0 1 0 0 8 4
X4 0 0 3 0 1 0 15 ~
X5 0 6 5 0 0 1 30 5 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
17
VD Z X1 X2 X3 X4 X5 NK index
Z 1 0 -5M-5 3M+3/2 0 0 -6M+12
X1 0 1 0 1/2 0 0 4 ~
X4 0 0 3 0 1 0 15 5
X5 0 0 5 -3 0 1 6 6/5

Z 1 0 0 -3/2 0 M+1 18
X1 0 1 0 ½ 0 0 4 8
X4 0 0 0 9/5 1 -3/5 19/3 5/27
X2 0 0 1 -3/5 0 1/5 6/5 -2

Z 1 0 0 0 5/6 M+1/2 27 ½ max
X1 0 1 0 0 -5/18 1/6 5/6
X3 0 0 0 1 5/9 -1/3 6 1/3
X2 0 0 1 0 1/3 0 5

Diperoleh hasil : X1 = 5/6, X2 = 5 dan Zmax = 27 ½
2. Fungsi tujuan : Minimisasi
Soal minimisasi harus diubah menjadi maksimisasi dengan cara mengganti tanda
positif dan negatif pada fungsi tujuan.
Contoh:
Minimumkan Z = 3X1 + 5X2
Fungsi batasan: 1) 2X1 = 8
2) 3X2 ≤ 15
3) 6X1 + 5X2 ≥ 30
Penyelesaian:
Fungsi batasan: 1) 2X1 + X3 = 8
2) 3X2 + X4 = 15
3) 6X1 + 5X2 -X5 + X6 = 30
BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
18
Fungsi tujuan menjadi:
maksimumkan (-Z) = -3X1 – 5X2 –MX3 – MX6
diubah menjadi fungsi implisit => -Z + 3X1 + 5X2 + MX3 + MX6 = 0
Nilai – nilai variabel dasar (X3 dan X6 ) harus = 0, maka:
[ 3 5 M 0 0 M , 0 ]
-M [ 2 0 1 0 0 0 , 8 ]
-M [ 6 5 0 0 -1 1 , 30 ]
(-8M+3) (-5M+5) 0 0 M 0 , -38M

Tabel:
VD Z X1 X2 X3 X4 X5 X6 NK index
Z -1 -8M+3 -5M+5 0 0 0 0 -38M
X3 0 2 0 1 0 0 0 8 4
X4 0 0 3 0 1 0 0 15
X6 0 6 -5 0 0 -1 1 30 5

Z -1 3 -5M+5 4M-3/2 0 M 0 -6M-12
X1 0 1 0 ½ 0 0 0 4
X4 0 0 3 0 1 0 0 15 5
X6 0 0 5 -3 0 -1 1 6 6/5

Z -1 0 0 M+3/2 0 1 M+1 -18 min
X1 0 1 0 ½ 0 0 0 4
X4 0 0 1 9/5 1 3/5 -3/5 5 2/5
X2 0 0 1 -3/5 0 -1/5 1/5 6/5

(karena –Z= -18, maka Z=18)
Penyelesaian optimal: X1 = 4, X2 = 6/5 dan Zmin = 18


+ BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
19
SOAL LATIHAN
1. Minimumkan Z = 3X1 + 2X2
Fungsi batasan : 1) X1 + 2X2 ≥ 20
2) 3X1 + X2 ≥ 20 , X1 ≥ 0 , X2 ≥ 0
2. Maksimumkan Z = 4X1 + 10X2 + 6X3
Fungsi batasan: 1) X1 + 3X2 + 3X3 ≤ 6
2) 2X1 – X2 + 4X3 = 4
X1, X2, X3 ≥ 0





















BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
20
BAB III. DUALITAS
Dalam sebuah pemodelan Pemrograman Linear, terdapat dua konsep yang saling
berlawanan. Konsep yang pertama kita sebut Primal dan yang kedua Dual.Bentuk
Dual adalah kebalikan dari bentuk Primal. Hubungan Primal dan Dual sebagai
berikut:
Masalah Primal (atau Dual) Masalah Dual (atau Primal)
Koefisien fungsi tujuan ……………… Nilai kanan fungsi batasan
Maksimumkan Z (atau Y) …………... Minimumkan Y (atau Z)
Batasan i …………………………….. Variabel yi (atau xi)
Bentuk ≤ …………………………….. yi ≥ 0
Bentuk = …………………………….. yi ≥ dihilangkan
Variabel Xj ………………………….. Batasan j
Xj ≥ 0 ………………………………... Bentuk ≥
Xj ≥ 0 dihilangkan …………………... Bentuk =

Contoh 1:
Primal
Minimumkan Z = 5X1 + 2X2 + X3

Fungsi batasan: 1) 2X1 + 3X2 + X3 ≥ 20
2) 6X1 + 8X2 + 5X3 ≥ 30
3) 7X1 + X2 + 3X3 ≥ 40
X1 , X2 , X3 ≥ 0
Dual
Maksimumkan Y= 20 y1 + 30 y2 + 40 y3

Fungsi batasan: 1) 2y1 + 6y2 + 7y3 ≤ 5
2) 3y1 + 8y2 + y3 ≤ 2
3) y1 + 5y2 + 3y3 ≤ 1
y1, y2, y3 ≥ 0 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
21
Contoh 2 :
Primal
Minimumkan Z = 2X1 + X2
Fungsi batasan: 1) X1 + 5X2 ≤ 10
2) X1 + 3X2 ≤ 6
3) 2X1 + 2X2 ≤ 8
X1, X2 ≥ 0
Dual
Maksimumkan Y = 10 y1 + 6y2 + 8y3
Fungsi batasan : 1) y1 + y2 + 2y3 ≥ 2
2) 5y1 + 3y2 + 2y3 ≥ 1
y1, y2 ≥ 0
Contoh 3:
Primal
Maksimumkan Z = X1 + 3X2 – 2X3
Fungsi batasan: 1) 4X1 + 8X2 + 6X3 = 25
2) 7X1 + 5X2 + 9X3 = 30
X1, X2, X3 ≥ 0
Dual
Minimumkan Y= 25y1 + 30y2
Fungsi batasan: 1) 4y1 + 7y2 ≥ 1
2) 8y1 + 5y2 ≥ 3
3) 6y1 + 9y2 ≥ -2






BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
22
SOAL LATIHAN
1. Primal
Maksimumkan Z = 5X1 + 7X2
Fungsi batasan: 1) 2X1 + X2 ≤ 8
2) X1 + 2X2 ≤ 8
3) 6X1 + 7X2 ≤ 42
X1, X2, X3 ≥ 0
2. Primal
Maksimumkan Z = X1 + 3X2 – 2X3
Fungsi batasan: 1) 4X1 + 8X2 + 6X3 = 25
2) 7X1 + 5X2 + 9X3 = 30
X1, X2, X3 ≥ 0
3. Primal
Minimumkan Z = 3X1 + 2X2 + X3 + 2X4 + 3X5
Fungsi batasan: 1) 2X1 + 5X2 + 4 X4 + X5 ≥ 6
2) 4X2 - 2X3 + 2X4 + 3X5 ≥ 5
3) X1 – 6X2 + 3X3 + 7X4 + 5X5 ≤ 7
X1, X2, X3, X4, X5 ≥ 0
4. Primal
Minimumkan Z = X1 + 2X2 + X3
Fungsi batasan: 1) X2 + X3 = 1
2) 3X1 + X2 + 3X3 = 4
X1, X2, X3 ≥ 0






BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
23
BAB IV. MASALAH PENUGASAN (ASSIGNMENT PROBLEM)

Salah satu metode yang digunakan untuk Penugasan adalah Metode Hungarian.
Pada Metode Hungarian, jumlah sumber-sumber yang ditugaskan harus sama
persis dengan jumlah tugas yang akan diselesaikan. Setiap sumber harus
ditugaskan hanya untuk satu tugas. Jadi, masalah penugasan akan mencakup
sejumlah n sumber yang mempunyai n tugas, sehingga ada n! (n faktorial)
kemungkinan. Masalah ini dapat dijelaskan dengan mudah dalam bentuk matriks
segi empat, dimana baris-barisnya menunjukkan sumber-sumber dan kolom-
kolomnya menunjukkan tugas-tugas.
1. Masalah Minimisasi
Contoh:
Sebuah perusahaan kecil mempunyai 4 pekerjaan yang berbeda untuk diselesaikan
oleh 4 karyawan. Biaya penugasan seorang karyawan untuk pekerjaan yang
berbeda adalah berbeda karena sifat pekerjaan berbeda-beda. Setiap karyawan
mempunyai tingkat ketrampilan, pengalaman kerja dan latar belakang pendidikan
serta latihan yang berbeda pula. Sehingga biaya penyelesaian pekerjaan yang
sama oleh para karyawan yang berlainan juga berbeda. Tabel biaya sebagai
berikut:
pekerjaan
karyawan
I II III IV
Raihan Rp 150 Rp 200 Rp 180 Rp 220
Hamdan Rp 140 Rp 160 Rp 210 Rp 170
Hasan Rp 250 Rp 200 Rp 230 Rp 200
Dzakwan Rp 170 Rp 180 Rp 180 Rp 160

Masalahnya adalah bagaimana menugaskan keempat karyawan untuk
menyelesaikan keempat pekerjaan agar total biaya pekerjaan minimum.
Langkah-langkah:
1. Menyusun tabel biaya seperti tabel di atas.
2. Melakukan pengurangan baris, dengan cara:
a. memilih biaya terkecil setiap baris BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
24
b. kurangkan semua biaya dengan biaya terkecil setiap baris
Sehingga menghasilkan reduced cost matrix /matrik biaya yang telah dikurangi.
pekerjaan
karyawan
I II III IV
Raihan (150-150)
=0
(200-150)
=50
(180-150)
= 30
(220-150)
= 70
Hamdan (140-140)
= 0
(160-140)
= 20
(210-140)
=70
(170-140)
= 30
Hasan (250-200)
= 50
(200-200)
= 0
(230-200)
= 30
(200-200)
= 0
Dzakwan (170-160)
= 10
(180-160)
= 20
(180-160)
= 20
(160-160)
= 0

3. Melakukan pengurangan kolom
Berdasarkan hasil tabel langkah 2, pilih biaya terkecil setiap kolom untuk
mengurangi seluruh biaya dalam kolom-kolom tersebut. Pada contoh di atas hanya
dilakukan pada kolom III karena semua kolom lainnya telah mempunyai elemen
yang bernilai nol (0). Jika langkah kedua telah menghasilkan paling sedikit satu
nilai nol pada setiap kolom, maka langkah ketiga dapat dihilangkan. Berikut
matrix total opportunity cost, dimana setiap baris dan kolom terdapat paling
sedikit satu nilai nol.
Tabel total opportunity cost matrix
pekerjaan
karyawan
I II III IV
Raihan 0 50 (30-20)=10 70
Hamdan 0 20 (70-20)=50 30
Hasan 50 0 (30-20)=10 0
Dzakwan 10 20 (20-20)=0 0

4. Membentuk penugasan optimum
Prosedur praktis untuk melakukan test optimalisasi adalah dengan menarik
sejumlah minimum garis horisontal dan/ atau vertikal untuk meliputi seluruh
elemen bernilai nol dalam total opportunity cost matrix. Jika jumlah garis sama
dengan jumlah baris/ kolom maka penugasan telah optimal. Jika tidak maka harus
direvisi. BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
25
pekerjaan
karyawan
I II III IV
Raihan 0 50 10 70
Hamdan 0 20 50 30
Hasan 50 0 10 0
Dzakwan 10 20 0 0

5. Melakukan revisi tabel
a. Untuk merevisi total opportunity cost, pilih angka terkecil yang tidak
terliput (dilewati) garis. (pada contoh di atas = 10)
b. Kurangkan angka yang tidak dilewati garis dengan angka terkecil (10)
c. Tambahkan angka yang terdapat pada persilangan garis dengan angka
terkecil (10) yaitu (50) pada Hasan dan (10) pada Dzakwan.
d. Kembali ke langkah 4
Revised matrix:
pekerjaan
karyawan
I II III IV
Raihan 0 40 0 60
Hamdan 0 10 40 20
Hasan 60 0 10 0
Dzakwan 20 20 0 0

Berikut tabel penugasannya

Penugasan Biaya
Raihan - III
Hamdan - I
Hasan - II
Dzakwan - IV
Rp 180
Rp 140
Rp 200
Rp 160
Rp 680

2. Jumlah Pekerjaan Tidak Sama Dengan Jumlah Karyawan
Bila jumlah pekerjaan lebih besar dari jumlah karyawan, maka harus ditambahkan
karyawan semu (dummy worker). Biaya semu sama dengan nol karena tidak akan
terjadi biaya bila suatu pekerjaan ditugaskan ke karyawan semu. Bila jumlah
karyawan lebih banyak daripada pekerjaan, maka ditambahkan pekerjaan semu BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
26
(dummy job). Sebagai contoh, bila jumlah pekerjaan lebih besar dari jumlah
karyawan dapat dilihat pada tabel berikut:
pekerjaan
karyawan
I II III IV
Raihan Rp 150 Rp 200 Rp 180 Rp 220
Hamdan Rp 140 Rp 160 Rp 210 Rp 170
Hasan Rp 250 Rp 200 Rp 230 Rp 200
Dzakwan Rp 170 Rp 180 Rp 180 Rp 160
Dummy X Rp 0 Rp 0 Rp 0 Rp 0

Prosedur penyelesaian sama dengan langkah-langkah sebelumnya.
3. Masalah Maksimisasi
Dalam masalah maksimisasi, elemen-elemen matriks menunjukkan tingkat
keuntungan. Efektivitas pelaksanaan tugas oleh karyawan diukur dengan jumlah
kontribusi keuntungan.
Contoh: Tabel keuntungan
Pekerjaan
karyawan
I II III IV V
Afif Rp 1000 Rp 1200 Rp 1000 Rp 800 Rp 1500
Bady Rp 1400 Rp 1000 Rp 900 Rp 1500 Rp 1300
Dzaky Rp 900 Rp 800 Rp 700 Rp 800 Rp 1200
Farras Rp 1300 Rp 1500 Rp 800 Rp 1600 Rp 1100
Ghazy Rp 1000 Rp 1300 Rp 1400 Rp 1100 Rp 1700

Langkah-langkah:
a. Seluruh elemen dalam setiap baris dikurangi dengan nilai maksimum dalam
baris yang sama. Prosedur ini menghasilkan Matriks Opportunity Loss.
Matriks ini sebenarnya bernilai negatif.
Pekerjaan
karyawan
I II III IV V
Afif 500 300 500 700 0
Bady 100 500 600 0 200
Dzaky 300 400 500 400 0
Farras 300 100 800 0 500
Ghazy 700 400 300 600 0
BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
27
b. Meminimumkan opportunity-loss dengan cara mengurangi seluruh elemen
dalam setiap kolom (yang belum ada nol-nya) dengan elemen terkecil dari
kolom tersebut.
Matriks total opportunity loss
Pekerjaan
karyawan
I II III IV V
Afif 400 200 200 700 0
Bady 0 400 300 0 200
Dzaky 200 300 200 400 0
Farras 200 0 500 0 500
Ghazy 600 300 0 600 0

Dari matriks di atas dapat dilihat bahwa seluruh elemen yang bernilai nol baru
dapat diliput oleh 4 garis. Jadi matriks harus direvisi.
c. Merevisi matriks
Pekerjaan
karyawan
I II III IV V
Afif 200 0 0 500 0
Bady 0 400 300 0 400
Dzaky 0 100 0 200 0
Farras 200 0 500 0 700
Ghazy 600 300 0 600 200

Schedul penugasan optimal dan keuntungan total untuk dua alternatif
penyelesaian adalah:
Penugasan alternatif 1 keuntungan Penugasan alternatif 2 keuntungan
Afif - II
Bady - I
Dzaky - V
Farras - IV
Ghazy - III
Rp 1200
Rp 1400
Rp 1200
Rp 1600
Rp 1400
Rp 6800
Afif - V
Bady - IV
Dzaky - I
Farras - II
Ghazy - III
Rp 1500
Rp 1500
Rp 900
Rp 1500
Rp 1400
Rp 6800






BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
28
SOAL LATIHAN
1. Sebuah perusahaan pengecoran logam mempunyai empat jenis mesin yang
diberi nama M1, M2, M3 dan M4. Setiap mesin mempunyai kapasitas yang
berbeda dalam pengoperasiannya. Dalam minggu mendatang perusahaan
mendapatkan pesanan untuk menyelesaikan empat jenis pekerjaan (job) yaitu
J1, J2, J3 dan J4. Biaya pengoperasian setiap pekerjaan oleh keempat mesin
dapat dilihat dalam tabel berikut:
Job Mesin
M1 M2 M3 M4
J1 210 150 180 130
J2 140 160 200 190
J3 150 175 220 200
J4 200 115 160 190

Masalahnya adalah bagaimana menugaskan keempat mesin untuk
menyelesaikan keempat jenis pekerjaan agar total biaya pekerjaan minimum!
2. Seorang pengusaha konveksi mempunyai 4 orang karyawati yang
memproduksi 4 jenis produk. Jumlah produk yang dihasilkan masing-masing
karyawan tiap bulannya dapat dilihat pada tabel berikut:
Karyawati Produk
Celana panjang Rok Hem Baju safari
Ulfah 6 7 10 9
Salma 2 8 7 8
Rana 8 9 5 12
Nabila 7 11 12 3

Buat penugasan agar jumlah produk yang dihasilkan bisa maksimum!







BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
29
BAB V. METODE TRANSPORTASI

Metode Transportasi merupakan suatu metode yang digunakan untuk mengatur
distribusi dari sumber-sumber yang menyediakan produk yang sama ke tempat-
tempat yang membutuhkan secara optimal dengan biaya yang termurah . Alokasi
produk ini harus diatur sedemikian rupa karena terdapat perbedaan biaya-biaya
alokasi dari satu sumber atau beberapa sumber ke tempat tujuan yang berbeda.
Tabel awal dapat dibuat dengan dua metode, yaitu:
1. Metode North West Corner (NWC) => dari pojok kiri atas ke pojok
kanan bawah
Kelemahan : tidak memperhitungkan besarnya biaya sehingga kurang
efisien.
2. Metode biaya terkecil => mencari dan memenuhi yang biayanya terkecil
dulu. Lebih efisien dibanding metode NWC.

Setelah tabel awal dibuat, tabel dapat dioptimalkan lagi dengan metode:
1. Stepping Stone (batu loncatan)
2. Modified Distribution Method (MODI)

Selain metode-metode di atas masih ada satu metode yang lebih sederhana
penggunaannya yaitu metode Vogel’s Approximation Method (VAM).
Contoh masalah transportasi:

ke
dari
Gudang A Gudang B Gudang C Kapasitas
pabrik
Pabrik
W
Rp 20 Rp 5 Rp 8 90
Pabrik
H
Rp 15 Rp 20 Rp 10 60
Pabrik
P
Rp 25 Rp 10 Rp 19 50
Kebutuhan gudang 50 110 40 200

BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
30
Penyelesaian:
1. Metode NWC

ke
dari
Gudang A Gudang B Gudang C Kapasita
s pabrik
Pabrik
W
20 5 8 90
Pabrik
H
15 20 10 60
Pabrik
P
25 10 19 50
Kebutuhan
gudang

50

110

40

200

Biaya yang dikeluarkan :
(50 . 20) + (40 . 5) +( 60 . 20) + (10.10) + (40.19) = 3260
2. Metode biaya terkecil
ke
dari
Gudang A Gudang B Gudang C Kapasita
s pabrik
Pabrik
W
20 5 8 90
Pabrik
H
15 20 10 60
Pabrik
P
25 10 19 50
Kebutuhan
gudang

50

110

40

200

Biaya yang dikeluarkan :
(90 . 5) + (20 . 15) + (40 . 10) + (30 . 25) + (20 . 10) = 2400
50
40
60
10 40
20
90
30
20
40 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
31
Mengoptimalkan tabel:
1. Metode Stepping Stone , misal tabel awal menggunakan yang NWC
ke
dari
Gudang A Gudang B Gudang C Kapasita
s pabrik
Pabrik
W
20
-
5
+
8 90
Pabrik
H
15
+
20
-
10 60
Pabrik
P
25 10 19 50
Kebutuhan
gudang

50

110

40

200

Perbaikan 1 dengan cara trial and error
ke
dari
Gudang A Gudang B Gudang C Kapasita
s pabrik
Pabrik
W
20
-
5
+ 90
8 90
Pabrik
H
15
50 +
20
- 10
10 60
Pabrik
P
25 10 19 50
Kebutuhan
gudang

50

110

40

200

Setelah dihitung dengan trial and error, biaya yang dikeluarkan:
(50 . 15) + (90 . 5) + (10 . 20) + (10 . 10) + (40 . 19) = 2260



50
40
60
10 40
50
40
60
10 40 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
32

Perbaikan 2
ke
dari
Gudang A Gudang B Gudang C Kapasita
s pabrik
Pabrik
W
20

50 5
-
40 8
+
90
Pabrik
H
15

20

10 60
Pabrik
P
25 10
50 +
19
-
50
Kebutuhan
gudang

50

110

40

200

Biaya yang dikeluarkan :
(50 . 5) + (40 . 8) + (50 . 15) + (10 . 20) + (50 . 10) = 2020
Perbaikan 3
ke
dari
Gudang A Gudang B Gudang C Kapasita
s pabrik
Pabrik
W
20

60 5
+
30 8
-
90
Pabrik
H
15

20
-
10
+ 10
60
Pabrik
P
25 10

19

50
Kebutuhan
gudang

50

110

40

200

Biaya yang dikeluarkan :
(60 . 5) + (30 . 8) + (50 . 15) + (10 .10) + (50 . 10) = 1890 (paling optimal)
Jika hasil belum optimal, lakukan perbaikan terus sampai mendapatkan hasil yang
optimal.
50
90
10
10 40
50
50
10
50
40 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
33
2. Metode MODI
Langkah-langkah:
a. Misal tabel awal yang digunakan adalah tabel NWC
b. Buat variabel Ri dan Kj untuk masing-masing baris dan kolom.
c. Hitung sel yang berisi (nilai tiap kolom dan tiap baris) dengan rumus:
Ri + Kj = Ci
baris kolom biaya
1. W-A = R1 + K1 = 20
2. W-B = R1 + K2 = 5
3. H-B = R2 + K2 = 20
4. P-B = R3 + K2 = 10
5. P-C = R3 + K3 =19
dari persamaan di atas, hitung K1 dan R1 dengan cara meng-nol-kan variabel
R1 atau K1, misal R1 = 0
1. R1 + K1 = 20 => 0 + K1 = 20 , K1 =20
2. R1 + K2 = 5 => 0 + K2 = 5 , K2 = 5
3. R2 + K2 = 20 => R2 + 5 = 20 , R2 = 15
4. R3 + K2 = 10 => R3 + 5 = 10 , R3 = 5
5. R3 + K3 = 19 => 5 + K3 = 19 , K3 = 14

letakkan nilai tersebut pada baris / kolom yang bersangkutan
ke
dari
Gudang A
K1 = 20
Gudang B
K2 = 5
Gudang C
K3 = 14
Kapasita
s pabrik
PabrikW
R1 = 0
20

5

8 90
PabrikH
R2 = 15
15

20

10 60
PabrikP
R3 = 5
25 10 19 50
Kebutuhan
gudang

50

110

40

200

d. Hitung nilai/ index perbaikan setiap sel yang kosong dengan rumus:
50
40
60
10 40 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
34
Cij - Ri - Kj
1. H-A = 15 – 15 – 20 = - 20
2. P-A = 25 – 5 – 20 = 0
3. W-C = 8 – 0 – 14 = - 14
4. H-C = 10 – 15 – 14 = - 19

(optimal jika pada sel yang kosong, indek perbaikannya ≥ 0, jika belum maka
pilih yang negatifnya besar)
e. Memilih titik tolak perubahan
Pilih nilai yang negatifnya besar yaitu H-A
f. Buat jalur tertutup
Berilah tanda positif pada H-A. Pilih 1 sel terdekat yang isi dan sebaris (H-B), 1
sel yang isi terdekat dan sekolom (W-A), berilah tanda negatif pada dua sel
terebut. Kemudian pilih satu sel yang sebaris atau sekolom dengan dua sel
bertanda negatif tadi (W-B) dan beri tanda positif. Selanjutnya pindahkan isi
dari sel bertanda negatif ke yang bertanda positif sebanyak isi terkecil dari sel
yang bertanda positif (50). Jadi, H-A kemudian berisi 50, H-B berisi 60-50=10,
W-B berisi 40+50=90 dan W-A tidak berisi.
ke
dari
Gudang A
K1 = 20
Gudang B
K2 = 5
Gudang C
K3 = 14
Kap.
pabrik
PabrikW
R1 = 0
20
-
5
+ 90
8 90
PabrikH
R2 = 15
15
50 +
20
- 10
10 60
PabrikP
R3 = 5
25 10 19 50
Keb.Gdg 50 110 40 200

g. Ulangi langkah-langkah c – f sampai indeks perbaikan bernilai ≥ 0
hitung sel yang berisi:

W-B = R1 + K2 = 5 => 0 + K2 = 5 , K2 = 5
H-A = R2 + K1 = 15 => R2 + 0 = 15, R2 = 15
50
40
60
10 40 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
35
H-B = R2 + K2 = 20 => 15 + 5 = 20 ,
P-B = R3 + K2 = 10 => R3 + 5 = 10 , R3 = 5
P-C = R3 + K3 = 19 => 5 + K3 = 19 , K3 = 14
Perbaikan indeks:
W-A = 20 – 0 – 0 = 20
W-C = 8 – 0 – 14 = - 6
H-C = 10 – 15 – 14 = - 19
P-A = 25 – 5 – 0 = 20

ke
dari
Gudang A
K1 = 0
Gudang B
K2 = 5
Gudang C
K3 = 14
Kapasita
s pabrik
PabrikW
R1 = 0
20

5

8 90
PabrikH
R2 = 15
15

20
-
10
+ 10
60
PabrikP
R3 = 5
25 10
20 +
19
- 30
50
Keb. Gdg 50 110 40 200

Biaya transportasi : (90 . 5) + (50 . 15) + (10 . 10) + (20 . 10) + (30 . 19) = 2070
Hitung sel yang berisi:
W-B = R1 + K2 = 5 => 0 + K2 = 5 , K2 = 5
P-B = R3 + K2 = 10 => R3 + 5 = 10 , R3 = 5
P-C = R3 + K3 = 19 => 5 + K3 = 19 , K3 = 14
H-C = R2 + K3 = 10 => R2 + 14 = 10 , R2 = - 4
H-A = R2 + K1 = 15 => - 4 + K1 = 15 , K1 = 19

Perbaikan indeks (sel kosong) :
W-A = 20 – 0 – 0 = 20
W-C = 8 – 0 – 14 = - 6
H-B = 20 – 15 – 5 = 0
P-A = 25 – 5 – 0 = 20





50
90
10
40 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
36
ke
dari
Gudang A
K1 = 19
Gudang B
K2 = 5
Gudang C
K3 = 14
Kapasita
s pabrik
PabrikW
R1 = 0
20

80 5
-
8
+ 10
90
PabrikH
R2 = - 4
15

20

10

60
PabrikP
R3 = 5
25 10
+ 30
19
- 20
50
Keb. Gdg 50 110 40 200

Biaya transportasi :
(80 . 5) + (10 . 8) + (50 . 15) + (10 . 10) + (30 .10) + (20 . 19) = 2010

Sel berisi:
W-B = R1 + K2 = 5 => 0 + K2 = 5 , K2 = 5
W-C = R1 + K3 = 8 => 0 + K3 = 8 , K3 = 8
H-C = R2 + K3 = 10 => R2 + 8 = 10 , R2 = 2
H-A = R2 + K1 = 15 => 2 + K1 = 15 , K1 = 13
P-B = R3 + K2 = 10 => R3 + 5 = 10 , R3 = 5
Indeks perbaikan:
W-A = 20 – 0 – 19 = 1
H-B = 20 – (-4) – 5 = 19
P-A = 25 – 5 – 19 = 1
Indeks perbaikan sudah positif semua, berarti sudah optimal.

ke
dari
Gudang A
K1 = 13
Gudang B
K2 = 5
Gudang C
K3 = 8
Kapasita
s pabrik
PabrikW
R1 = 0
20

5

8 90
PabrikH
R2 = 2
15

20

10 60
PabrikP
R3 = 5
25 10 19 50
Keb. Gdg 50 110 40 200
50
90
20 30
10
50
80
30
10
20
10 BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
37
3. Metode VAM
Metode VAM merupakan metode yang lebih mudah dan lebih cepat untuk
mengatur alokasi dari beberapa sumber ke daerah tujuan.
Langkah metode VAM:
1. Cari perbedaan dua biaya terkecil, yaitu terkecil pertama dan kedua
(kolom dan baris)
2. Pilih perbedaan terbesar antara baris dan kolom
3. Pilih biaya terendah
4. Isi sebanyak mungkin yang bisa dilakukan
5. Hilangkan baris / kolom yang terisi penuh
6. Ulangi langkah 1-5 sampai semua baris dan kolom seluruhnya
teralokasikan.
A B C Kapasitas Perbedaan baris
W
H
P
kebutuhan
20
15
25
50
5
20
10
110
8
10
19
40
90
60
50
8 – 5 = 3
15 – 10 = 5
19 – 10 = 9
Perbedaan
kolom
20 –15
= 5
10-5
= 5
10-8
=2
XPB = 50
Hilangkan baris P

A B C Kapasitas Perbedaan baris
W
H
kebutuhan
20
15
50
5
20
110-50
= 60
8
10
40
90
60

8 – 5 = 3
15 – 10 = 5
Perbedaan
kolom
20 –15
= 5
20-5
= 15
10-8
=2
XWB = 60
Hilangkan kolom B


BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
38
A C Kapasitas Perbedaan baris
W
H
20
15
8
10
90-60 =30
60
20 – 8 = 12
15 – 10 = 5
Kebutuhan 50 40
Perbedaan
kolom
20-15= 5 10-8=2 XWC=30
Hilangkan baris W

A C kapasitas
H 15 10 60
Kebutuhan 50 (40-30)=10 XHA=50
XHC= 10

Biaya transportasi :
(10 . 50) + (5 . 60) + (8 . 30) + (15 . 50) + (10 . 10) = 1890 (optimal)















BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
39
SOAL LATIHAN
1.
ke
dari
Gudang A Gudang B Gudang C Kapasitas
pabrik
Pabrik 1 Rp 3200 Rp 3300 Rp 3400 106
Pabrik 2 Rp 3600 Rp 4200 Rp 3800 132
Pabrik 3 Rp 3400 Rp 3700 Rp 4000 127
Kebutuhan gudang 122 152 91 365

Selesaikan dengan metode:
a. NWC
b. Biaya terkecil
c. MODI
2. Produksi pabrik A, B , C adalah sebagai berikut:
Pabrik Kapasitas produksi tiap bulan
A
B
C
150 ton
40 ton
80 ton
jumlah 270 ton

Gudang pabrik tersebut mempunyai kapasitas sebagai berikut:
Gudang Kebutuhan produksi tiap bulan
H
I
J
110 ton
70 ton
90 ton
jumlah 270 ton

Biaya untuk mendistribusikan barang dari pabrik ke gudang :

Dari Biaya tiap ton (Rp)
Ke Gudang H Ke Gudang I Ke Gudang J
Pabrik A 27000 23000 31000
Pabrik B 10000 45000 40000
Pabrik C 30000 54000 35000

a. Buat tabel awal transportasi
b. Selesaikan dengan metode biaya terkecil dan optimalkan dengan metode
MODI
c. Selesaikan dengan metode VAM BAHAN KULIAH RISET OPERASIONAL
TEK INFORMATIKA UPN YOGYAKARTA
BAMBANG YUWONO
40
DAFTAR PUSTAKA
1. Hamdy Taha, Operation Research An Introduction, Edisi 4, Macmillan,
New York
2. Richard Bronson, Theory and Problem of Operation Research ,
McGraw-Hill, Singapore.
3. Subagyo Pangestu, Marwan Asri, dan T. Hani Handoko. Dasar-Dasar
Operation Research, Yogyakarta: PT. BPFE-Yogyakarta, 2000.
4. Aminudin, Prinsip-Prinsip Riset Operasi, Erlangga, 2005
5. Yulian Zamit, Manajemen Kuantitatif, BPFE, Yogyakarta

Labels:

basis data

PENGANTAR BASIS DATA


Basis data menyediakan fasilitas atau memudahkan dalam memproduksi informasi yang digunakan oleh pemakai untuk mendukung pengambilan keputusan. Hal inilah yang menjadikan alasan dari penggunaan tehnologi basis data pada saat sekarang (dunia bisnis). Berikut ini contoh penggunaan Aplikasi database dalam dunia bisnis :
Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan
Bandara: Pengelolaan data reservasi, penjadualan
Universitas: Pengelolaan pendaftaran, alumni
Penjualan: Pengelolaan data customer, produk, penjualan
Pabrik: Pengelolaan data produksi, persediaan barang, pemesanan, agen
Kepegawaian: Pengelolaan data karyawan, gaji, pajak
Telekomunikasi : Pengelolaan data tagihan, jumlah pulsa

Sistem Pemrosesan File







File Nasabah
Nasabah (nonasabah, nama, alamat)

File Rekening
Rekening (nonasabah, norek, nama, alamat, saldo)

Gambar 1. Sistem pemrosesan file untuk suatu Universitas

Sebelumnya, sistem yang digunakan untuk mengatasi semua permasalahan bisnis, menggunakan pengelolaan data secara tradisional dengan cara menyimpan record-record pada file-file yang terpisah, yang disebut juga sistem pemrosesan file. Dimana masing-masing file diperuntukkan hanya untuk satu program aplikasi saja. Perhatikan gambar 1 mengenai suatu universitas yang mempunyai dua sistem yakni sistem yang memproses data mahasiswa dan sistem yang mengelola data mata kuliah.

Kelemahannya dari sistem pemrosesan file ini antara lain :
Timbulnya data rangkap (redundancy data ) dan Ketidakkonsistensi data (Inconsistency data)
Karena file-file dan program aplikasi disusun oleh programmer yang berbeda, sejumlah informasi mungkin memiliki dupliaksi dalam beberapa file. Sebagai contoh nama mata kuliah dan sks dari mahasiswa dapat muncul pada suatu file memiliki record-record mahasiswa dan juga pada suatu file yang terdiri dari record-record mata kuliah. Kerangkapan data seperti ini dapat menyebabkan pemborosan tempat penyimpanan dan biaya akases yang bertambah. Disamping itu dapat terjadi inkonsistensi data. Misalnya, apabila terjadi perubahan jumlah sks mata kuliah, sedangkan perubahan hanya diperbaiki pada file mata kuliah dan tidak diperbaiki pada file mahasiswa. Hal ini dapat mengakibatkan kesalahan dalam laporan nilai mahasiswa.
Kesukaran dalam Mengakses Data
Munculnya permintaan-permintaan baru yang tidak diantisipasikan sewaktu membuat program aplikasi, sehingga tidak memungkinkan untuk pengambilan data.
Data terisolir (Isolation Data )
Karena data tersebar dalam berbagai file, dan file-file mungkin dalam format –format yang berbeda, akan sulit menuliskan program aplikasi baru untuk mengambil data yang sesuai.
Masalah Pengamanan ( Security Problem )
Tidak semua pemakai diperbolehkan mengakses seluruh data. Bagian Mahasiswa hanya boleh mengakses file mahasiswa. Bagian Mata kuliah hanya boleh mengakses file mata kuliah, tidak boleh mengakses file mahasiswa. Tetapi sejak program-program aplikasi ditambahkan secara ad-hoc maka sulit melaksanakan pengamanan seperti yang diharapkan.


Data Dependence
Apabila terjadi perubahan atau kesalahan pada program aplikasi maka pemakai tidak dapat mengakses data.

Sistem Database
Seiring dengan berjalannya waktu lambat laun sistem pemrosesan file mulai ditinggalkan karena masih bersifat manual, yang kemudian dikembangkanlah sistem pemrosesan dengan pendekatan database.







Nasabah ( nonasabah, nama, alamat )
Rekening ( nonasabah, norek, saldo )

Gambar 2. Sistem database untuk suatu Bank

Perhatikan gambar 2 di atas. Pada sistem ini record-record data disimpan pada satu tempat yakni database dan diantara program aplikasi maupun pemakai terdapat DBMS ( Database Management System ).

Konsep Dasar Basis Data
Data adalah Representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, mahasiswa, pembeli), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentu angka, huruf, symbol,teks, gambar, bunyi atau kombinasinya.

Basis Data adalah Sekumpulan data yang terintegrasi yang diorganisasikan untuk memenuhi kebutuhan para pemakai di dalam suatu organisasi.

DBMS ( Database Management System ) adalah Perangkat Lunak yang menangani semua pengaksesan ke database

Sistem Basis Data terdiri dari basis data dan DBMS.





Istilah - Istilah Dasar Basis Data

Enterprise
Suatu bentuk organisasi seperti: bank, universitas, rumah sakit, pabrik, dsb.
Data yang disimpan dalai basis data merupakan data operasional dari suatu enterprise.
Contoh data operasional : data keuangan, data mahasiswa, data pasien

Entitas
Suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalai basis data.
Contoh Entitas dalam lingkungan bank terdiri dari : Nasabah, Simpanan, Hipotik
Contoh Entitas dalam lingkungan universitas terdiri dari : Mahasiswa, mata kuliah
Kumpulan dari entitas disebut Himpunan Entitas
Contoh : semua nasabah, semua mahasiswa

Atribut ( Elemen Data )
Karakteristik dari suatu entitas.
Contoh : Entitas Mahasiswa atributnya terdiri dari Npm, Nama, Alamat, Tanggal lahir.


Nilai Data ( Data Value )
Isi data / informasi yang tercakup dalai setiap elemen data.
Contoh Atribut Nama Mahasiswa dapat berisi Nilai Data : Diana, Sulaeman, Lina

Kunci Elemen Data ( Key Data Element )
Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas.
Contoh Entitas Mahasiswa yang mempunyai atribut-atribut npm, nama, alamat, tanggal lahir menggunakan Kunci Elemen Data npm.

Record Data
Kumpulan Isi Elemen data yang saling berhubungan.
Contoh : kumpulan atribut npm, nama, alamat, tanggal lahir dari Entitas Mahasiswa berisikan : "10200123", "Sulaeman", "Jl. Sirsak 28 Jakarta", "8 Maret 1983".

Keuntungan Sistem Basis Data
 Terkontrolnya kerangkapan data
Dalam basis data hanya mencantumkan satu kali saja field yang sama yang dapat dipakai oleh semua aplikasi yang memerlukannya.
 Terpeliharanya keselarasan (ke-konsistenan) data
Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan
 Data dapat dipakai secara bersama (shared)
Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun on-line) pada saat bersamaan.
 Dapat diterapkan standarisasi
Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun pertukaran data.
 Keamanan data terjamin
DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberian hak akses bagi user (misal : modify, delete, insert, retrieve)
 Terpeliharanya integritas data
Jika kerangkapan data dikontrol dan ke konsistenan data dapat dijaga maka data menjadi akurat
 Terpeliharanya keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi
Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat
 Data independence (kemandirian data)
Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada

Kelemahan Sistem Basis Data
 Memerlukan tenaga spesialis
 Kompleks
 Memerlukan tempat yang besar
 Mahal

Pengguna Basis Data
System Engineer
Tenaga ahli yang bertanggung jawab atas pemasangan Sistem Basis Data, dan juga mengadakan peningkatan dan melaporkan kesalahan dari sistem tersebut kepada pihak penjual

Database Administrator (DBA)
Tenaga ahli yang mempunyai tugas untuk mengontrol sistem basis data secara keseluruhan, meramalkan kebutuhan akan sistem basis data, merencanakannya dan mengaturnya.
Tugas DBA :
• Mengontrol DBMS dan software-software
• Memonitor siapa yang mengakses basis data
• Mengatur pemakaian basis data
• Memeriksa security, integrity, recovery dan concurency
Program Utility yang digunakan oleh DBA :
o Loading Routines
Membangun versi utama dari database
o Reorganization Routines
Mengatur / mengorganisasikan kembali database
o Journaling Routines
Mencatat semua operasi pemakaian database
o Recovery Routines
Menempatkan kembali data, sebelum terjadinya kerusakan
o Statistical Analysis Routines
Membantu memonitor kehandalan sistem

Pemakai Akhir
Ada beberapa jenis/tipe pemakai terhadap suatu sistem basis data yang dapat dibedakan berdasarkan cara mereka berinteraksi terhadap sistem :
Programmer aplikasi
Pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML), yang disertakan (embedded) dalai program yang ditulis dalai bahasa pemrograman induk (seperti C, pascal, cobol, dll)
User Mahir (Casual User)
Pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query (untuk akses data) dengan bahasa query yang telah disediakan oleh suatu DBMS
User Umum (End User/Naïve User)
Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah ditulis/disediakan sebelumnya
User Khusus (Specialized/Sophisticated User)
Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus seperti aplikasi AI, Sistem Pakar, Pengolahan Citra,dll, yang bisa saja mengakses basis data dengan/tanpa DBMS yang bersangkutan.

Labels:

Thursday, May 5, 2011

komputer grafik

BAB I
PENDAHULUAN


Latar Belakang
Grafika komputer (Inggris: Computer graphics) adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual) secara digital. Bentuk sederhana dari grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data.
Grafika Komputer merupakan salah satu cabang Ilmu Komputer yang membahas mengenai bagaimana menggambar bentuk menggunakan komputer. Grafika komputer tidak hanya digunakan di komputer dengan sumber daya tinggi seperti komputer meja (desktop computer) tetapi juga di komputer dengan sumber daya rendah seperti telepon genggam, kalkulator, mesin-mesin khusus (embedded system) dan sebagainya.
Bagian dari grafika komputer meliputi:
- Geometri: mempelajari cara menggambarkan permukaan bidang
- Animasi: mempelajari cara menggambarkan dan memanipulasi gerakan
- Rendering: mempelajari algoritma untuk menampilkan efek cahaya
- Citra (Imaging): mempelajari cara pengambilan dan penyuntingan gambar.

Dalam kesempatan ini kita akan mempelajari Veltor Grafik 2 Dimensi dengan menggunakan software DELPHI 7.0

Maksud dan Tujuan

- Membuat Form besrta komponen lainya menggunakan fungsi
standar Delphi Button.
- Membuat fungsi proccedure dan menjalankan aplikasi tersebut.
- Menganalisa dan menyimpulkan hasil Veltor Grafik 2 Dimensi stelah berjalan.

BAB I I
PEMBAHASAN



”Membuat Veltor Grafik 2 Dimensi dengan Pemrograman DELPHI”


1. Langkah Pertama

Pembuatan Form.
Buatlah sebuah Form. Pada program berikut ini kita akan menggunakan:
- 1 buah komponen Timer
- 1 buah komponen Panel
- 9 buah Button (ubah captionya menjadi Atas, Bawah, Kanan, Kiri, Zoom out, Zoom In, Rotasi 180, Balik Arah dan Keluar)

Tampilan Form:



2. Langkah ke Dua

Pembuatan procedure pada masing-masing komponen:

a. Doble Clik tombol “Atas” (Button1) dan masukan code dibawah ini pada bidang code edit.

procedure TForm1.Button1Click(Sender: TObject);
begin
y0:=y0-1;
end;

Berfungsi memindahkan pusat putaran ke atas


b. Doble Clik tombol “Bawah” (Button2) dan masukan code dibawah ini pada bidang code edit

procedure TForm1.Button3Click(Sender: TObject);
begin
x0:=x0+1
end;

Berfungsi memindahkan pusat putaran ke bawah


c. Doble Clik tombol “Kanan” (Button3) dan masukan code dibawah ini pada bidang code edit..

procedure TForm1.Button4Click(Sender: TObject);
begin
x0:=x0-1
end;
Berfungsi memindahkan pusat putaran ke kanan


d. Doble Clik tombol “Kiri” (Button4) dan masukan code dibawah ini pada bidang code edit.

procedure TForm1.Button2Click(Sender: TObject);
begin
y0:=y0+1;
end;

Berfungsi memindahkan pusat putaran ke kiri


e. Doble Clik tombol “Zoom Out” (Button5) dan masukan code dibawah ini pada bidang code edit.

procedure TForm1.Button5Click(Sender: TObject);
begin
mf := mf +1;
end;

Berfungsi memperbesar gambar


f. Doble Clik tombol “Zoom In” (Button6) dan masukan code dibawah ini pada bidang code edit.

procedure TForm1.Button6Click(Sender: TObject);
begin
mf := mf -1;
end;

Berfungsi merubah arah putaran sebaliknya


g. Doble Clik tombol “Rotasi 180” (Button7) dan masukan code dibawah ini pada bidang code edit.

procedure TForm1.Button7Click(Sender: TObject);
begin
sf := -sf;
end;

Berfungsi memutar 1800 atau sebagai cermin gambar


h. Doble Clik tombol “Balik Arah” (Button8) dan masukan code dibawah ini pada bidang code edit.

procedure TForm1.Button8Click(Sender: TObject);
begin
dirFlg := Not dirFlg;
end;

Berfungsi memperkecil gambar


i. Doble Clik tombol “Keluar” (Button9) dan masukan code dibawah ini pada bidang code edit.

procedure TForm1.Button9Click(Sender: TObject);
begin
close;
end;

Berfungsi keluar dari aplikasi


j. Doble Clik tombol “Timer” (Timer1) dan masukan code dibawah ini pada bidang code edit.

procedure TForm1.Timer1Timer(Sender: TObject);
begin
form1.Refresh;
if dirFlg then
alf := alf + Pi/100 {putaran searah jarum jam}
else
alf := alf - Pi/100; {putaran berlawanan arah jarum jam}

si := Sin(alf);
co := Cos(alf);
drawHouse;
end;

k. Pada Var masukan kode:

alf, {sudut Putar}
si,co, {sinus dan cosinus}
mf, {factor skala}
x0, y0 : single; {basis koordinat absolute}
sf : integer; {factor cermin}
dirFlg : boolean; {flag arah}
var x1,y1,x2,y2: integer;
mausTaste: Boolean;

l. Penambahan Procedure
Kemudian pada bagian deklarasi awal (interface declaration) berikan kode seperti ini:

procedure dwc (dx1, dy1, R : single); {gambar lingkaran relatif}
var x1,y1 : single;
begin
dx1 := mf * dx1;
dy1 := mf * dy1;
R := mf * R;
x1 := x0 + dx1* co - sf * dy1 * si;
y1 := y0 - sf * dy1 * co - dx1 * si;
form1.Canvas.Ellipse ( round (x1-r), round (y1-r), round (x1+r), round (y1+r));
end;

procedure dw1 (dx1, dy1 :single); {gambar garis relative}
var x1,y1 : single;
begin
dx1 := mf * dx1;
dy1 := mf * dy1;
x1 := x0 + dx1* co - sf * dy1 * si;
y1 := y0 - sf * dy1 * co - dx1 * si;
form1.Canvas.LineTo(round (x1), round (y1));
end;

procedure dwp (dx1, dy1 :single); {gambar titik relative}
var x1,y1 : single;
begin
dx1 := mf * dx1;
dy1 := mf * dy1;
x1 := x0 + dx1* co - sf * dy1 * si;
y1 := y0 - sf * dy1 * co - dx1 * si;
form1.Canvas.MoveTo (round (x1), round (y1));
end;

procedure drawHouse; {gambar rumah}
begin
dwp (0, 10); {sisi depan}
dw1 (10, 10); dw1(10, 0); dw1 (0,0); dw1 (0,10);
dwp (1,8); {jendela}
dw1 (4, 8); dw1 (4,4); dw1(1,4); dw1 (1,8);

dwp (6,0); {pintu}
dw1 (6,8); dw1 (9,8); dw1 (9,0); dw1 (6,0);
dwp (-1, 9); {atap}
dw1 (5, 15); dw1 (11,9);
dwc (5,12,1); {fentilasi}
dwp (7, 13); {fondasi antenna}
dw1 (7, 16); dw1 (9,16); dw1(9,11);
end;

Setelah semua form dan procedure ditulis kemudian jalankan aplikasi dengan menekan tombol ”RUN” / menekan tombol hijau pada tools atau dengan menekan F9.

Dalam kesempatan ini saya menggunakan spesifikasi komputer sebagai berikut:
1. Proceccor Centrino Intel® Pentium® M 740 (1.73 GHz, 533 MHz FSB, 2MB L2 Chace)
2. RAM DDR2 512 MB
3. Harddisk 60 GB
4. Sistem Operasi Windows XP SP2

3. Langkah ke Tiga

Pengetesan Aplikasi
a. Pengetesan tampilan awal Program saat RUN

























b. Pengetesan saat tombol Navigasi (Atas, Bawah, Kanan, Kiri) ditekan
Sebagai contoh tombol Atas











c. Pengetesan saat tombol Zoom Out ditekan


d. Pengetesan saat tombol Zoom In ditekan























e. Analisa dan kesimpulan

- Membuat sebuah elemen grafik seperti garis bentuk lainnya, menggunakan baris-baris perintah. Perintah tersebut untuk mengatur antara lain posisi, warna, dan warna lain-lain.
Contoh fasilitas penggambaran grafik yang disediakan antara lain : LineTo(), Rectangle(), Ellipse(), dan lain-lain.

- Membuat Rumah berbentuk grafik dari delphi menggunakan angka-angka yang berfungsi sebagai koordiant yang merefleksikanya kedalam gambar yang kita buat.

Labels: