Algoritma Greedy Implementasi Algoritma Greedy Dalam Masalah Lintasan Terpanjang Menggunakan Bahasa C

2.5 Jarak Terpanjang

Menurut Cormen dkk 1992, persoalan lintasan terpanjang pada graph merupakan salah satu permasalahan optimasi. Graph yang digunakan merupakan graph tidak berarah berbobot undirected weighted graph, yaitu graph yang diberi bobot dan tidak memiliki arah. Bobot antar vertex dinyatakan sebagai jarak antar kota, waktu, pengiriman pesan dan lain-lain. Lintasan terpanjang merupakan suatu jaringan atau kerangka jalur petunjuk perjalanan dari suatu vertex ke vertex lainnya atau yang menjadi tujuan perjalanan dengan beberapa pilihan jalur yang mungkin untuk di jalani. Persoalan lintasan terpanjang longest path problem mempunyai beberapa manfaat, diantaranya, yaitu kasus perhitungan worst-delay pada paket Ethernet. Penggunaan real-time Ethernet protocol menjadi lebih relevan untuk aplikasi waktu-kritis jaringan industri. Dalam konteks ini, disajikan suatu metode untuk menghitung worst-delay paket Ethernet yang diaktifkan Schmidt dkk, A Longest- Path Problem for Evaluating The Worst-Case Packet Delay of Switched Ethernet.

2.6 Algoritma Greedy

Algoritma Greedy adalah algoritma yang memecahkan masalah langkah per langkah, pada setiap langkah membuat pilihan optimum local optimum pada setiap langkah dengan harapan bahwa langkah berikutnya mengarah ke solusi Universitas Sumatera Utara optimum global global optimum. Algoritma Greedy membuat keputusan berdasarkan pilihan yang ada sekarang, tidak melihat pilihan yang akan muncul kemudian. Karena itulah algoritma Greedy di kategorikan dalam algoritma yang “berpandang pendek” dan tidak dapat diulang karena keputusan yang telah diambil pada suatu langkah selanjutnya. Padahal dalam permasalahan optimasi terdapat banyak pilihan yang perlu di cari tahu pada setiap langkah solusi. Terkadang algoritma Greedy mengambil keputusan yang diambil terlalu dini tanpa melihat yang akan ditemui berikutnya sehingga menimbulkan apa yang disebut “good next move, bad overall move”. Melihat kelemahan yang dimiliki, solusi optimum global yang didapatkan belum tentu merupakan solusi optimum terbaik, tetapi sub-optimum. Karena algoritma Greedy tidak beroperasi secara menyeluruh terhadap semua alternative solusi yang ada. Namun begitu algoritma ini tetap menjadi pilihan utama untuk permasalahan yang sederhana karena ini adalah metode yang paling cepat dibandingkan yang lain dan dapat memberikan solusi yang mendekati atau aproksimasi terhadap nilai optimum yang diinginkan serta hasil yang diberikan masih merupakan solusi yang layak. Algoritma yang termasuk ke dalam tipe algoritma Greedy antara lain kode Huffman, algoritma Dijkstra, algoritma Prim, dan algoritma Kruskal yang ketiganya digunakan dalam menyelesaikan permasalah optimasi graf. Skema umum Algoritma Greedy Algoritma Greedy disusun oleh elemen-elemen berikut: Universitas Sumatera Utara 1. Himpunan kandidat. Berisi elemen-elemen pembentuk solusi. 2. Himpunan solusi Berisi kandidat-kandidat yang terpilih sebagai solusi persoalan. 3. Fungsi seleksi selection function Memilih kandidat yang paling memungkinkan mencapai solusi optimal. Kandidat yang sudah dipilih pada suatu langkah tidak pernah dipertimbangkan lagi pada langkah selanjutnya. 4. Fungsi kelayakan feasible Memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-sama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala constraints yang ada. Kandidat yang layak dimasukkan ke dalam h i mpunan solusi, sedangkan kandidat yang tidak layak dibuang dan tidak pernah dipertimbangkan lagi. 5. Fungsi obyektif yaitu fungsi yang memaksimumkan atau meminimumkan nilai solusimisalnya panjang lintasan, keuntungan, dan lain-lain.Contoh pada Universitas Sumatera Utara masalah Pemilihan Processor, berdasarkan benchmark elemen-elemen algoritma Greedy-nya adalah: a. Himpunan kandidat: himpunan hardware yang terdiri dari Processor, Memory dan Graphic card b. Himpunan solusi: Kombinasi Processor , Memory dan Graphic card dengan Benchmark terbaik namun dengan total harga yang tidak melebihi budget maksimum c. .Fungsi seleksi: Seleksi Processor, Memory dan Graphic card agar mendapat performa optimum dan tidak melebihi budget maksimum yang tersedia d. Fungsi obyektif: Budget maksimum yang tersedia.

2.7 Sekilas Tentang Bahasa Pemrograman C