Anda di halaman 1dari 11

NURHIKMAH NIM.

H121 11 256

STRATEGI ALGORITMA

Di dalam kehidupannya, manusia selalu menemui masalah atau persoalan. Hal ini mungkin didasarkan dari sifat dasar manusia itu sendiri yang selalu ingin tahu segala sesuatu. Deskripsi dari masalah menurut [NEA96] adalah pertanyaan atau tugas yang kita cari jawabannya. Dalam menghadapi permasalahan, untuk menyelesaikannya manusia

memerlukan langkah-langkah yang benar sehingga permasalah tersebut dapat terselesaikan. Urutan langkah-langkah untuk memecahkan suatu masalah tersebutlah yang dinamakan dengan algoritma. Definisi lain dari algoritma adalah deretan langkah-langkah komputasi yang mentranformasikan data masukan menjadi keluaran [COR92]. Dalam menentukan langkah-langkah tersebut diperlukan suatu strategi agar langkah-langkah yang dipakai tersebut dapat menyelesaikan permasalahan secara mangkus (efisien). Strategi menurut kamus besar bahasa indonesia adalah rencana yang cermat mengenai kegiatan untuk mencapai sasaran khusus. Rencana itu sendiri dapat berisi suatu metode atau teknik yang digunakan untuk mencapai sasaran khusus tersebut. Dengan pengertian algoritma dan strategi tersebut, kita dapat mendefinisikan strategi algoritmik sebagai kumpulan metode atau teknik untuk memecahkan masalah guna mencapai tujuan yang ditentukan, yang dalam hal ini deskripsi metode atau teknik tersebut dinyatakan dalam suatu urutan langkah-langkah penyelesaian.

Secara umum, strategi pemecahan masalah dapat dikelompokan menjadi: 1. Strategi solusi langsung, metode yang termasuk ke dalam strategi ini adalah: Algoritma Brute Force dan Algoritma Greedy 2. Strategi berbasis pencarian pada ruang status, metode yang termasuk ke dalam strategi ini adalah: Algoritma Backtracking dan Algoritma Brach and Bound 3. Strategi solusi atas-bawah, metode yang termasuk ke dalam strategi ini adalah Algoritma Divide and Conquer. 4. Strategi solusi bawah-atas, metode yang termasuk ke dalam strategi ini adalah Dynamic Programming.

A. METODE GREEDY Metode Greedy adalah metode yang digunakan untuk memecahkan persoalan optimasi, ada 2 macam persoalan optimasi, yaitu maksimasi dan minimasi, artinya dengan metode greedy kita bemaksud mencari solusi terbaik, yaitu solusi yang benilai minimum atau maksimum dari sekumpulan alternatif solusi yang ada. Arti kata greedy sendiri adalah RAKUS, namun maksud dari metode grredy adalah kita melihat solusi optimal lokal, atau solusi optimal yang tampak didepan mata, dengan harapan mendapatkan solusi optimal secara global atau secara keseluruhan. Contohnya adalah pada kasus penukaran uang, misalkan kita memiliki uang senilai 32 dan akan kita tukarkan dengan koin, uang koin pecahan yang tersedia adalah 1, 5, 10, 25, jika kita mengharapkan agar pecahan yang kita miliki sedikit mungkin maka kita bisa menggunakan metode greedy dengan cara memilih pecahan terbesar terlebih dahulu.

Contoh : Ada uang $32. Pecahan yang tersedia $1, $5, $10, dan $25. Dengan metode greedy kita harus memilih pecahan terbesar terlebih dahulu yaitu $25, kemudian baru mengambil sampai sesuai dengan uang yang kita miliki. Penyelesaian : $25+$5+$1+$1=$32 (4 koin) Sebenarnya ada beberapa alternatif solusi pemecahan masalah diatas sebagai berikut : $32 $32 $32 = $1 + $1 + $1 + $1 + ... + $1 (32 koin)

= $5 + $5 + $5 + $5 + $10 + $1 + $1 ( 7 koin) = $10 + $10 + $10 + $1 + $1 ( 5 koin)

Dalam hal ini metode greedy berhasil mendapatkan hasil maksimal secara global atau secara keseluruhan dengan mengambil koin yang terbesar terlebih dahulu. Namun ada kalanya metode greedy gagal mendapatkan solusi optimal, hal ini juga dikarenakan oleh sifat metode greedy itu sendiri yang memperhatikan keuntungan lokal(diawal) tanpa memperhatikan kemungkinan solusi yang lain. Metode Greedy 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 masing-masing lebih besar dari nol.

Penyelesaiannya : Solusi 0 N = 1 : x=2 > 0 Y=1 > 0 Solusi {(2,1)} FEASIBLE (solusi, x)

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

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 masalah, antara lain adalah : 1. Optimal Storage on Tapes Problem 2. Kanpsack Problem 3. Minimum Spanning Tree Problem 4. Shortest Path Problem

A. DINAMIC PROGRAMMING Program Dinamis (dynamic programming): metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah (step) atau tahapan (stage) sedemikian sehingga solusi dari persoalan dapat dipandang dari serangkaian keputusan yang saling berkaitan. Pada penyelesaian persoalan dengan metode ini: 1. Terdapat sejumlah berhingga pilihan yang mungkin, 2. Solusi pada setiap tahap dibangun dari hasil solusi tahap sebelumnya, kita menggunakan persyaratan optimasi dan kendala untuk membatasi sejumlah pilihan yang harus dipertimbangkan pada suatu tahap

Contoh :

7 2 2 6 4 1 3 6 2 6 3 1 5 4 7 3 3 9 4
10

5 4 3 4

1 8 3

3 4

Pada program dinamis, rangkaian keputusan yang optimal dibuat dengan menggunakan Prinsip Optimalitas.

Prinsip Optimalitas : 1. Pada program dinamis, rangkaian keputusan yang optimal dibuat dengan menggunakan Prinsip Optimalitas. 2. Prinsip Optimalitas: jika solusi total optimal, maka bagian solusi sampai tahap ke-k juga optimal. 3. Prinsip optimalitas berarti bahwa jika kita bekerja dari tahap k ke tahap k + 1, kita dapat menggunakan hasil optimal dari tahap k tanpa harus kembali ke tahap awal. 4. Ongkos pada tahap k +1 = (ongkos yang dihasilkan pada tahap k ) + (ongkos dari tahap k ke tahap k + 1) 5. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan pada tahap sebelumnya. 6. Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik untuk setiap status pada tahap k memberikan keputusan terbaik untuk setiap status pada tahap k + 1. Dengan prinsip optimalitas ini dijamin bahwa pengambilan keputusan pada suatu tahap adalah keputusan yang benar untuk tahap-tahap selanjutnya. Pada metode greedy hanya satu rangkaian keputusan yang pernah dihasilkan, sedangkan pada metode program dinamis lebih dari satu rangkaian keputusan. Hanya rangkaian keputusan yang memenuhi prinsip optimalitas yang akan dihasilkan.

Contoh soal:

12

35

4 I

2
2 II 4 5

2 2 3 2 IV

III 2 4

Luas bangun I Luas bangun II Luas bangun III Luas bangun IV

=8 = 12 = 14 = 16

Tentukan luas terbesar kotak persegi besar di atas dapat diisi oleh kotak-kotak kecil sampai tersisa paling sedikit.

a. Metode greedy 1. Hitung luas dari kotak persegi besar yaitu 12 x 35 = 525 2. Bentuk kotak kecil tersebut menjadi bentuk kotak persegi.

4 4

2 6

Luas dari kotak di atas adalah 6x6=36 3. Masukkan kotak persegi kecil ke dalam kotak persegi besar 525/36 = 14 kotak kecil, sisanya 21 4. 21/16 = 1 kotak IV, sisanya 5 Jadi kesimpulannya : 15 kotak IV, 14 kotak II, dan 14 kotak I = 43 kotak

b. Metode Dynamic Programming 1. Bagi kotak persegi besar. 2. Tiap kotak kecil dibagi lagi

525/16 = 32 sisa 13 3. Isi kotak tiap bagian dengan kotak

2 6

Dengan luas 16 + 12 = 28 32/28 = 1 sisa 4. Ada 16 kotak bagian, maka 16 kotak IV dan 16 kotak II.

4. Tiap kotak bagian tersisa 4, maka 2 kotak bagian dapat terisi kotak I dengan luas 8. Jadi ada 8 kotak I.

5. Jadi ada 16 kotak IV, 16 kotak II, dan 9 kotak I, dengan sisa 5. Maka total kotak seluruhnya ada 41 kotak, lebih sedikit dari metode greedy.

Anda mungkin juga menyukai