ALGORITMA GREEDY : MINIMUM SPANNING TREE. Perbandingan Kruskal dan Prim

dokumen-dokumen yang mirip
Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

BAB 1 PENDAHULUAN. minimum secara langsung didasarkan pada algoritma MST (Minimum Spanning

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Permodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

IMPLEMENTASI GRAF DENGAN MENGGUNAKAN STRATEGI GREEDY

IMPLEMENTASI GRAF DENGAN MENGGUNAKAN STRATEGI GREEDY

PERBANDINGAN KOMPLEKSITAS PENERAPAN ALGORITMA GREEDY UNTUK BEBERAPA MASALAH

PERBANDINGAN ALGORTIMA PRIM DAN KRUSKAL DALAM MENENTUKAN POHON RENTANG MINIMUM

BAB I PENDAHULUAN. 1.1 Latar Belakang

Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer

Algoritma Greedy (lanjutan)

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar belakang

BAB 2 LANDASAN TEORI

Implementasi Algoritma Greedy pada Permainan Ludo

Pencarian Jalur Terpendek dengan Menggunakan Graf dan Greedy dalam Kehidupan Sehari-hari

BAB I PENDAHULUAN. 1.1.Latar Belakang

Algoritma Greedy (lanjutan)

RANCANG BANGUN APLIKASI MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik

OPTIMASI ALGORITMA POHON MERENTANG MINIMUM KRUSKAL

IMPLEMENTASI PENENTUAN MINIMUM SPANNING TREE (MST) DENGAN MENGGUNAKAN ALGORITMA PRIM

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 06

BAB 2 LANDASAN TEORI

PRINSIP ALGORITMA GREEDY DAN APLIKASINYA DALAM BERBAGAI ALGORITMA LAIN

Gambar 6. Graf lengkap K n

BAB II LANDASAN TEORI

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB

TERAPAN POHON BINER 1

Studi Algoritma Optimasi dalam Graf Berbobot

ANALISIS JARINGAN LISTRIK DI PERUMAHAN JEMBER PERMAI DENGAN MENGGUNAKAN ALGORITMA PRIM

ANALISIS JARINGAN LISTRIK DI PERUMAHAN JEMBER PERMAI DENGAN MENGGUNAKAN ALGORITMA PRIM

Solusi UTS Stima. Alternatif 1 strategi:

BAB 2 LANDASAN TEORI

STUDI OPTIMALISASI JUMLAH PELABUHAN TERBUKA DALAM RANGKA EFISIENSI PEREKONOMIAN NASIONAL

Design and Analysis Algorithm

Aplikasi Graf dalam Rute Pengiriman Barang

Pendekatan Algoritma Greedy dalam Efisiensi Penggunaan Teknologi RFID untuk Mengatasi Emisi Gas Kendaraan di Kota Jambi

Penerapan Algoritma Greedy dalam Optimasi Keuntungan Perusahaan Pengiriman Barang

SATUAN ACARA PERKULIAHAN MATA KULIAH LOGIKA DAN ALGORITMA (MI/D3) KODE: IT SKS: 3 SKS. Kemampuan Akhir Yang Diharapkan

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

SATUAN ACARA PERKULIAHAN MATA KULIAH GRAPH & ANALISIS ALGORITMA (SI / S1) KODE / SKS : KK / 3 SKS

Pohon (Tree) Contoh :

Pemanfaatan Algoritma Hybrid Ant Colony Optimization dalam Menyelesaikan Permasalahan Capacitated Minimum Spanning Tree. Tamam Asrori ( )

ALGORITMA RUTE FUZZY TERPENDEK UNTUK KONEKSI SALURAN TELEPON

MEMBANDINGKAN KEMANGKUSAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL DALAM PEMECAHAN MASALAH POHON MERENTANG MINIMUM

PENYELESAIAN TRAVELING SALESMAN PROBLEM (TSP) MENGGUNAKAN ALGORITMA RECURSIVE BEST FIRST SEARCH (RBFS)

Algoritma Prim dengan Algoritma Greedy dalam Pohon Merentang Minimum

INTRODUCTION TO GRAPH THEORY LECTURE 2

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

Perbandingan Kompleksitas Algoritma Prim, Algoritma Kruskal, Dan Algoritma Sollin Untuk Menyelesaikan Masalah Minimum Spanning Tree

Algoritma Greedy (Bagian 2) IF2251 Strategi Algoritmik Oleh: Rinaldi Munir

Penerapan Algoritma Prim dan Kruskal Acak dalam Pembuatan Labirin

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations

Dwiprima Elvanny Myori

BAB 2 LANDASAN TEORI

UNIVERSITAS GUNADARMA

Struktur dan Organisasi Data 2 G R A P H

MEDIA PEMBELAJARAN STRATEGI ALGORTIMA PADA POKOK BAHASAN POHON MERENTANG MINIMUM DAN PENCARIAN LINTASAN TERPENDEK

Pengelompokan Organisme Dengan Menggunakan Algoritma Kruskal

8/29/2014. Kode MK/ Nama MK. Matematika Diskrit 2 8/29/2014

Analisis Penerapan Algoritma Kruskal dalam Pembuatan Jaringan Distribusi Listrik

MATEMATIKA DISKRIT II ( 2 SKS)

Implementasi Algoritma Greedy Dua Sisi pada Permainan 2048

Bundel Soal. Elektroteknik. Semester 3 Tahun 2013/2014. tambahan Matematika Diskrit (ET 2012)

Aplikasi dan Algoritma Penyelesaian Optimal dari Persoalan Tukang Pos Cina

BAB I PENDAHULUAN. adalah dengan menyatakan objek dinyatakan dengan sebuah titik (vertex),

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

Penerapan Teori Graf Pada Algoritma Routing

BAB 1 PENDAHULUAN. Persoalan lintasan terpanjang (longest path) merupakan persoalan dalam mencari

BAB II TINJAUAN PUSTAKA

UNIVERSITAS GUNADARMA

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

PENDISTRIBUSIAN BARANG FARMASI MENGGUNAKAN ALGORITMA DIJKSTRA (STUDI KASUS : PT. AIR MAS CHEMICAL)

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

Implementasi Brute Force dan Greedy dalam Permainan Big Two (Capsa)

PRIM vs KRUSKAL PERBANDINGAN ALGORITMA PENCARIAN POHON MERENTANG MINIMUM

APLIKASI ALGORITMA GREEDY PADA PERSOALAN PEWARNAAN GRAF

IMPLEMENTASI ALGORITMA GREEDY PADA LAYANAN TAKSI WISATA BERBASIS WEB

STUDI STRATEGI PENGGUNAAN ALGORITMA GREEDY UNTUK MEMBANGUN MINIMUM SPANNING TREE PADA GRAF BERBOBOT (WEIGHTED GRAPH) SKRIPSI

Penerapan Algoritma Greedy dalam Algoritma Disk Scheduling Shortest Seek Time First

x 6 x 5 x 3 x 2 x 4 V 3 x 1 V 1

BAB III ALGORITMA GREEDY DAN PROGRAM DINAMIS

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Algoritma Branch & Bound

BAB 2 TINJAUAN PUSTAKA

I. PENDAHULUAN II. DASAR TEORI. Penggunaan Teori Graf banyak memberikan solusi untuk menyelesaikan permasalahan yang terjadi di dalam masyarakat.

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Algoritma Prim sebagai Maze Generation Algorithm

Penerapan Greedy pada Jalan Jalan Di Bandung Yuk! V1.71

ALGORITHM. 5 Greedy Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

What Is Greedy Technique

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

IKI 20100: Struktur Data & Algoritma

VISUALISASI POHON RENTANG MINIMUM MENGGUNAKAN ALGORITMA KRUSKAL DAN PRIM

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

Transkripsi:

ALGORITMA GREEDY : MINIMUM SPANNING TREE Perbandingan Kruskal dan Prim

AGENDA Pendahuluan Dasar Teori Contoh Penerapan Algoritma Analisis perbandingan algoritma Prim dan Kruskal Kesimpulan

PENDAHULUAN Parameter algoritma di ukur dari performa algoritma secara efektif dan efisien Pengambilan jalan tengah yaitu pencarian solusi optimal Salah satu cara pencapaian solusi algoritma optimal adalah dengan metode Greedy Greedy digunakan untuk penyelesaian beberapa masalah antara lain : a. TSP (Traveling Sallesperson Problem) b. MST (Minimum spanning Tree) c. Minimasi waktu dalam sistem (penjadwalan)

DASAR TEORI Algorimta Greedy Minimum spanning Tree Algoritma Kruskal Algoritma Solin Algoritma Prim

ALGORITMA GREEDY Memecahkan masalah dengan cara step by step, langkahnya sebagai berikut : a. Memilih langkah yang terbaik pada saat itu tanpa memprediksi kedepanya b. Memilih optimum lokan dan berakhir pada optimum global Secara umum algoritma greedy disusun oleh elemenelemen berikut : a. Himpunan kandidat b. Himpunan Solusi c. Fungsi Seleksi (Selection Function) d. Fungsi Kelayakan (feasible)

MINIMUM SPANNING TREE Pencarian biaya yang minimum dari suatu graph sehingga membentuk pohon. Syarat Graph yang dapat dicari minimum spanning treenya : a. Graph harus terhubung b. Ruasnya punya bobot c. Graph tidak berarah Algoritma yang dipakai untuk menentukan minimum spanning tree : a. Algoritma Kruskal b. Algoritma Solin c. Algoritma Prim

ALGORITMA KRUSKAL Himpunan sisi dari G diurutkan membesar sesuai bobot sisi tersebut. Buat T dengan memasukan 1 sisi terpendek dari G tersebut. Ulang (banyak sisi T = (banyak simpul G)-1) Ambil sisi selanjutnya dari G. Jika sisi itu tidak membuat sirkuit di T Masukan sisi itu ke T Masukan simpul-simpul sisi itu ke T

Pseudo-code algoritma kruskal

ALGORITMA SOLIN Algoritma Solin untuk MST merupakan kebalikan dari algoritma Kruskal, yaitu membuat tree didahului dengan melakukan pengurutan garis dari garis yang mempunyai bobot terbesar. Algoritma Solin tidak akan dibahas lebih lanjut dalam makalah ini.

ALGORITMA PRIM S Ambil sisi graph G yang berbobot minimum, masukan kedalam T. Pilih sisi (u,v) yang memiliki bobot minimum dan bersisian dengan simpul di T. Tetapi (u,v) tidak membentuk sirkuit di T. Tambahkan (u,v) kedalam T. Ulangi langkah ke-2 sebanyak (n-2) kali.

Pseudo-code algoritma prim :

CONTOH PENERAPAN ALGORITMA pemerintah ingin mengganti sistem jaringan kabel telepon yang sudah ada di satu daerah dengan kabel yang baru. Namun karena ini baru, pemerintah tidak mau ambil resiko mengganti semua kabel yang menghubungkan wilayah satu dengan yang lain. Ia hanya akan memasang jaringan di wilayah itu jika wilayah itu memang belum tersentuh jaringan yang baru. Dengan asumsi, semakin panjang kabel yang dipasang, semakin mahal biaya yang harus dikeluarkan, buatlah jaringan yang dibangun ini memakan biaya sesedikit mungkin.

Masukan : Masukkan terdiri dari beberapa baris bilangan. Baris pertama terdiri dari 2 angka V dan E, masing-masing menyatakan banyaknya wilayah dan banyaknya jalur yang lama. E baris selanjutnya menggambarkan bagaimana wilayah-wilayah yang ada dihubungkan oleh jalur-jalur yang lama. Wilayah diberi nomor mulai dari 1 hingga V. Diberikan pula W pada tiap jalur yang menyatakan panjang jalur tersebut.

Batasan 1 < V <= 100; 1<=E<=100; 1<=W<=3000. Contoh 1 : Contoh 2 4 5 7 11 1 2 10 1 4 5 1 3 14 3 5 5 1 4 15 4 6 6 2 3 12 2 4 9 3 4 9 1 2 7 2 5 7 2 3 8 4 5 15 5 6 8 5 7 9 6 7 11

Keluaran: Hasil keluaran hampir sama dengan masukkan. Cukup tampilkan saja panjang kabel minimum yang harus dibuat, kemudian, tampilkan, wilayah, wilayah mana saja yang harus dihubungkan, beserta dengan panjangnya. Hasil maupun urutan dari jaringan yang terbentuk boleh berbeda, namun panjang minimum yang didapat harus sesuai.

KELUARAN Contoh 1 Contoh 2 31 39 1 2 10 1 4 5 2 3 12 3 5 5 3 4 9 4 6 6 1 2 7 2 5 7 5 7 9

SOLUSI Dengan algoritma yang sudah diberikan, kita bisa menyelesaikan permasalahan ini, salah satunya dengan menggunakan bahasa pemrograman Pascal. Dua contoh kode di bawah ini merupakan contoh solusi dari permasalahan pemasangan kabel telepon diatas. Dalam kode yang dibuat dibawah ini, graf dan pohon direpresentasikan dalam representasi himpunan. Hal ini dilakukan untuk mempermudah pengkodean. Demo Program

REALISASI Dengan algoritma yang diberikan tersebut serta dengan contoh masukkan yang sudah diberikan, kita bisa menggambarkan bagaimana proses pembentukkan pohon merentang minimum dari dua algoritma yang berbeda tersebut.

REALISASI ALGORITMA PRIM B 10 12 A D 9 C

REALIASI ALGORITMA KRUSKAL B 10 12 A D 9 C

Contoh 2, bisa kita gambarkan dengan teknik yang berbeda. Langkah Algoritma Prim Algoritma Kruskal Terpilih (Simpul) Sisi Terbentuk Terpilih (Sisi) Simpul Masuk 0 1 - (1,4) {1,4} 1 4 {(1,4)} (3,5) {1,3,4,5} 2 6 {(1,4), (4,6)} (4,6) {1,3,4,5,6} 3 2 {(1,4), (4,6), (1,2)} 4 5 {(1,4), (4,6), (1,2), (2,5)} 5 3 {(1,4), (4,6), (1,2), (2,5), (5,3)} 6 7 {(1,4), (4,6), (1,2), (2,5), (5,3), (5,7) } (1,2) {1,2,3,4,5,6} (2,5) {1,2,3,4,5,6} (2,3) Ditolak (5,7) {1,2,3,4,5,6, 7}

ANALISIS PERBANDINGAN ALGORITMA PRIM DAN KRUSKAL Jika kita melihat algoritma Prim dan Kruskal yang telah disebutkan di atas serta dengan melihat potongan kode yang telah dibuat, kita bisa memeperkirakan waktu yang dibutuhkan untuk menjalankan program tersebut.

Jadi perkiraan total waktu yang dibutuhkan : Sehingga kompleksitas algoritmanya: O(V 2 ), dengan V menyatakan banyaknya simpul.

Untuk algoritma Kruskal: Jadi perkiraan total waktu yang dibutuhkan : TK(V,E) = E 2 log E + 1 + E(1+1) + V(1+1) = E 2 log E + 2V + 2E + 1 Sehingga kompleksitas algoritmanya: O(E log E + V), dengan E menyatakan banyaknya sisi dan V menyatakan banyaknya simpul.

untuk melihat kecepatan dari program ini, cukup melihat waktu perkiraan T(V,E) saja. Dari tabel terlihat bahwa secara umum, algoritma Kruskal bisa berjalan lebih cepat dibanding algoritma Prim.

KESIMPULAN Algoritma Prim dan Algoritma Kruskal dapat menyelesaikan permasalahan pencarian pohon merentang minimum dengan tepat. Algoritma Prim lebih efisien dibanding algoritma Kruskal saat graf yang diberikan memiliki banyak sisi dengan simpul yang sedikit (graf lengkap). Algoritma Kruskal lebih efisien dibanding algoritma Prim saat graf yang diberikan memiliki banyak simpul dengan sisi yang sedikit.