Henny Syahriza Lubis : Perbandingan Algoritma Greedy Dan Dijkstra Untuk Menentukan Lintasan Terpendek, 2009. USU Repository © 2009
Implementasi algoritma Greedy dirancang dalam bahasa pemograman Visual Basic 6.0. Berikut adalah contoh algoritma Greedy.
1. Pemeriksaan verteks dan lintasan pertama 2. Input Graph
3. Proses Graph
Gambar 3.1 Graph Untuk Algoritma Greedy
3.1.1 Pemeriksaan verteks dan lintasan pertama
Pada Gambar 3.1 terdapat 10 kota dan jalur yang menghubungkan kota-kota tersebut beserta jarak antar kotanya dari kota A asal ke kota J tujuan.
Mula-mula proses berawal dari verteks A sebagai verteks keberangkatan. Terdapat 2 jalur yang memungkinkan yaitu jalur AB dengan jarak 2 dan AD dengan jarak 3, AB
terpilih karena jaraknya lebih kecil dari AD.
Henny Syahriza Lubis : Perbandingan Algoritma Greedy Dan Dijkstra Untuk Menentukan Lintasan Terpendek, 2009. USU Repository © 2009
Gambar 3.2 Lintasan 1 Algoritma Greedy
Dari B terdapat 3 jalur yang memungkinkan, yaitu BE dengan jarak 2, BC dengan jarak 5, dan BG dengan jarak 4. BE terpilih karena jaraknya lebih kecil BC dan BG.
Gambar 3.3 Lintasan 2 Algoritma Greedy
Dari E terdapat 4 jalur yang memungkinkan yaitu ED dengan jarak 6, EF dengan jarak 9, EJ dengan jarak 5 dan EH dengan jarak 7. EJ terpilih karena jarak lebih kecil
dari ED, EF dan EH, karena verteks tujuan telah tercapai maka algoritma Greedy berhenti sampai di sini. Lintasan terpendeknya adalah ABEJ dengan total
jarak 9.
Gambar 3.4 Lintasan 3 Algoritma Greedy 3.1.2 Input Graph
Proses input graph dilakukan dengan cara menggambar titik dan jalan yang
menghubungkan setiap titik pada halaman graph. Selanjutnya adalah membuat
Henny Syahriza Lubis : Perbandingan Algoritma Greedy Dan Dijkstra Untuk Menentukan Lintasan Terpendek, 2009. USU Repository © 2009
caption dari setiap titik yang akan menjadi nama titik tersebut dan caption pada jalan akan menjadi jarak antara titik yang satu dengan yang lainnya.
1. Prosedure untuk membuat titik:
Private Sub mnuTambahTItik_Click theBlockCollection.AddShape 3, theBlockCollection.getFreeTagID
End Sub
2. Prosedure untuk membuat jalangaris tanpa panah:
Private Sub mnuJoinLine_Click If PREV_SELECTED_SHAPE -1 And SELECTED_SHAPE -1 Then
theLineCollection.AddLine frmPeta.shpPREV_SELECTED_SHAPE.Tag,
frmPeta.shpSELECTED_SHAPE.Tag, False Else
MsgBox Two objects should be selected End If
End Sub
3. Menambah caption titikverteks dengan posisi di tengah:
Private Sub mnTbhCaptionDiTengah_Click If SELECTED_SHAPE -1 Then
Dim s As String s = InputBoxEnter the caption for a shape, Caption,
theBlockCollectionfrmPeta.shpSELECTED_SHAPE.Tag.sCaptiontheBlockC ollectionfrmPeta.shpSELECTED_SHAPE.Tag.sCaption = s
theBlockCollectionfrmPeta.shpSELECTED_SHAPE.Tag.updateShapeCaptio nPos
Else MsgBox Object should be selected
End If End Sub
Henny Syahriza Lubis : Perbandingan Algoritma Greedy Dan Dijkstra Untuk Menentukan Lintasan Terpendek, 2009. USU Repository © 2009
4. Menambah caption titikverteks dengan posisi di atas:
Private Sub mnuTbhCaptionDitengah_Click If SELECTED_SHAPE -1 Then
Dim s As String s = InputBoxEnter the caption for a shape, Caption,
theBlockCollectionfrmPeta.shpSELECTED_SHAPE.Tag.sCaptionUpper theBlockCollectionfrmPeta.shpSELECTED_SHAPE.Tag.sCaptionUpper = s
theBlockCollectionfrmPeta.shpSELECTED_SHAPE.Tag.bSetUpperCaptionD own = False
theBlockCollectionfrmPeta.shpSELECTED_SHAPE.Tag.updateShapeCaptio nPos
Else MsgBox Object should be selected
End If End Sub
5. Menambah caption titikverteks dengan posisi di bawah:
Private Sub mnuAddCaptionLowerToBlock_Click mnuAddCaptionUpperToBlock_Click
theBlockCollectionfrmPeta.shpSELECTED_SHAPE.Tag.bSetUpperCaptionD own = True
theBlockCollectionfrmPeta.shpSELECTED_SHAPE.Tag.updateShapeCaptio nPos
End Sub
6. Menambah caption jalan dengan posisi di tengah:
Private Sub mnuTbhCaptionJalan_Click If PREV_SELECTED_SHAPE -1 And SELECTED_SHAPE -1 Then
Dim s As String s = InputBoxEnter the caption
theLineCollection.AddCaptionToLine frmPeta.shpPREV_SELECTED_SHAPE.Tag,
frmPeta.shpSELECTED_SHAPE.Tag, s Else
Henny Syahriza Lubis : Perbandingan Algoritma Greedy Dan Dijkstra Untuk Menentukan Lintasan Terpendek, 2009. USU Repository © 2009
MsgBox Two objects should be selected End If
End Sub
3.1.3 Proses Graph