Anda di halaman 1dari 6

Algoritma & Pemrograman II C

Sesi/Perkuliahan ke: X
Tujuan Instruksional Khusus :
1. Mahasiswa dapat mengerti tentang algoritma greedy dan dapat mengaplikasikan
kedalam masalah
2. Mahasiswa dapat mengerti tentang algoritma minimum spanning tree dan dapat
mengaplikasikan kedalam masalah
3. Mahasiswa dapat mengerti tentang algoritma kruskals dan dapat
mengaplikasikan kedalam masalah
Pokok Bahasan : Algoritma Greedy
Deskripsi singkat : Dalam pertemuan ini akan mempelajari tentang Apa itu
Algoritma Greedy, Minimum Spanning Tree dan Algoritma Kruskals
Referensi :
1. Introduction To Algoritms, Thomas N. Cormen, Charles E. Leiserson,
Ronald L. Ruvest. MIT Press
2. Computer Algorithms: introduction to design and analysis. 2nd ed., Sara
Baase, Reading,Mass: Addison-Wesley Company, 1993
3. Analisis dan Desain Berorientasi Objek, Ariesto Hadi Sutopo, JJ Learning:
Yogyakarta, 2002
4. Pengantar Analisis Algoritma, Suryadi MT, Gunadarma: Jakarta, 1992
5. Referensi silabus utama:
http://www.cs.ucl.ac.uk/teaching/syllabus/ug/1b12.htm
Bisa digunakan: (slides-2)
http://www.cs.caltech.edu/~cs138/
http://www.lehigh.edu/~tkr2/teaching/ie170/
http://hercule.csci.unt.edu/~ian/classes/fall03/csci4450/info.html
http://highered.mcgrawhill.com/sites/0070131511/student_view0/chapter1/ch
apter_overview.

Algoritma Greedy

Halaman 1 dari 6

Algoritma & Pemrograman II C

METODE GREEDY

Metode ini digunakan untuk memperoleh solusi yang optimal dari suatu masalah
yang mempunyai 2 indikator yaitu : adanya fungsi tujuan & pembatas (Constrain).
PROCEDURE GREEDY (A,n)
Solusi 0 (solusi awal)
FOR I 1 TO n DO
X SELECT(A)
IF FEASIBLE (Solusi, x)
THEN Solusi UNION (solusi, x)
ENDIF
REPEAT
RETURN (Solusi)
END GREEDY
Keterangan :
A(1:n) mengandung n input data.
FEASIBLE merupakan fungsi yang bernilai boo;ean (0 atau 1)
UNION penggabungan dan pemeriksaan fungsi obyektifnya (update)
SELECT merupakan fungsi untuk mengambil data input dari A
CONTOH :
Himpunan A merupakan himpunan pasangan terurut (x,y), yaitu { (2,1),(3,2),(7,1),
dan (1,0)}. Dari data-data tersebut akan ditentukan suatu pasangan terurut yang
memiliki jumlah x dan y yang minimum. Adapun batasan dari x dan y masingmasing lebih besar dari nol.
Penyelesaiannya :
Solusi 0
N = 1 : x=2 > 0
Y=1 > 0

FEASIBLE (solusi, x)

Solusi {(2,1)}
N = 2 : x=3 > 0
Y=2 > 0

FEASIBLE (solusi, x)

Solusi {(2,1),{3,2)}

Algoritma Greedy

Halaman 2 dari 6

Algoritma & Pemrograman II C


N = 3 : x=7 > 0
Y=1>0

FEASIBLE (solusi, x)

Solusi {{2,1),(3,2),(7,1)}
N=4:x=1 >0
Y =0>0

TIDAK FEASIBLE

Solusi {(2,1),{3,2),(7,1)}
Dari himpunan solusi yang mungkin tersebut diperoleh solusi yang optimal (dalam
hal ini minimum) adalah (2,1) yang jumlahnya sebesar 2 + 1 = 3.
Jadi solusi = (2,1)
METODE GREEDY banyak digunakan dalam berbagai penyelesaian maslah, antara
lain adalah :
1. Optimal Storage on Tapes Problem
2. Kanpsack Problem
3. Minimum Spanning Tree Problem
4. Shortest Path Problem
Dalam hal ini hanya akan dibahas megenai minimum Spanning Tree saja.

MINIMUM SPANNING TREE


Permasalahan umum dari minimum spanning tree adalah mencari minimum biaya
(cost) spanning tree dari setiap ruas (edge) suatu graph yang membentuk pohon
(tree).
Dalam mendapatkan solusi yang diharapkan maka akan dipilih ruas menurut kriteria
optimisasi yang menghasilkan biaya minimum. Dengan demikian penambahan
jumlah biayanya relatif kecil dari setiap ruas yang telah terpilih dan membentuk
spanning tree.
Untuk masalah minimum spanning tree, syarat graph dapat dicari minimum
spanning treenya adalah :
Graph harus terhubung
Ruasnya punya bobot / nilai
Graphnya tidak berarah
Algoritma yang dapat dipakai untuk menentukan minimum spanning tree adalah :
algoritma Solin
Algoritma Kruskal
Algoritma Greedy

Halaman 3 dari 6

Algoritma & Pemrograman II C


Algoritma Prims
Dalam hal ini kita hanya membahas mengenai algoritma kruskal saja.

ALGORITMA KRUSKAL
Untuk mencari pohon rentang minimum dari graph dengan algoritma yang
ditemukan Kruskal, mula-mula semua garis dalam graph diurut berdasarkan
bobotnya dari kecil ke besar. Kemudian pilih garis dengan bobot terkecil. Pada
setiap langkah dipilih garis dengan bobot terkecil, tetapi tidak membentuk loop
garis-garis yang sudah dipilih terdahulu.
Contoh :
Pandang graph G sebagai berikut :

10

50

30

40
4
5

35

55
20

15

penyelesaian :
Edge

cost

(1,2)

10

( 3,6 )

15

spanning tree

( 4,6 )

20

2
6

Algoritma Greedy

Halaman 4 dari 6

Algoritma & Pemrograman II C

( 2,6 )

25

( 1,4 )

30

tidak diterima ( karena tidak membentuk


tree)

( 3,5 )

35

2
3

5
6

+
Total Cost :

Algoritma Greedy

105

Halaman 5 dari 6

Algoritma & Pemrograman II C

Algoritma Greedy

Halaman 6 dari 6

Anda mungkin juga menyukai