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 Computer Algorithms: introduction to design and analysis. 2nd ed., Sara Baase, Reading,Mass: Addison-Wesley Company, 1993

2.

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 15

55 20
6

penyelesaian : Edge cost spanning tree

(1,2) ( 3,6 )

10 15

3 4 5 1 2 6

( 4,6 )

20

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

4 6

+ Total Cost : 105

Algoritma Greedy

Halaman 5 dari 6

Algoritma & Pemrograman II C

Algoritma Greedy

Halaman 6 dari 6

Anda mungkin juga menyukai