• Tidak ada hasil yang ditemukan

Aplikasi Pencari Rute Optimum Menggunakan Algoritma Semut Di Kampus Universitas Sumatera Utara Dengan Dukungan Sistem Informasi Geografis

N/A
N/A
Protected

Academic year: 2016

Membagikan "Aplikasi Pencari Rute Optimum Menggunakan Algoritma Semut Di Kampus Universitas Sumatera Utara Dengan Dukungan Sistem Informasi Geografis"

Copied!
101
0
0

Teks penuh

(1)

APLIKASI PENCARI RUTE OPTIMUM MENGGUNAKAN

ALGORITMA SEMUT DI KAMPUS UNIVERSITAS

SUMATERA UTARA DENGAN DUKUNGAN

SISTEM INFORMASI GEOGRAFIS

SKRIPSI

FRIENDLY PURBA

061401039

PROGRAM STUDI S1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

APLIKASI PENCARI RUTE OPTIMUM MENGGUNAKAN ALGORITMA SEMUT DI KAMPUS UNIVERSITAS SUMATERA UTARA DENGAN

DUKUNGAN SISTEM INFORMASI GEOGRAFIS

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Ilmu Komputer

FRIENDLY PURBA 061401039

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : APLIKASI PENCARI RUTE OPTIMUM

MENGGUNAKAN ALGORITMA SEMUT DI KAMPUS UNIVERSITAS SUMATERA UTARA DENGAN DUKUNGAN SISTEM INFORMASI GEOGRAFIS

Kategori : SKRIPSI

Nama : FRIENDLY PURBA

Nomor Induk Mahasiswa : 061401039

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 16 Juni 2011 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Andri B., S.T., M.Comp.Sc., M.E.M. Syahril Efendi, S.Si, M.IT. NIP. 197510082008011011 NIP. 196711101996021001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(4)

PERNYATAAN

APLIKASI PENCARI RUTE OPTIMUM MENGGUNAKAN ALGORITMA SEMUT DI KAMPUS UNIVERSITAS SUMATERA UTARA DENGAN

DUKUNGAN SISTEM INFORMASI GEOGRAFIS

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 16 Juni 2011

(5)

PENGHARGAAN

Puji syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa yang telah memberikan rahmat dan berkat-Nya serta segala sesuatunya dalam hidup, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Ucapan terima kasih yang sebesar-besarnya penulis sampaikan kepada Bapak Syahril Efendi, S.Si., M.IT. sebagai Pembimbing Akademik sekaligus Dosen Pembimbing I dan Bapak M. Andri B., S.T., M.Comp.Sc., M.E.M. sebagai Dosen Pembimbing II atas bimbingan, saran, masukan kepada penulis untuk menyempurnakan skripsi ini. Panduan ringkas, padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas ini. Selanjutnya kepada para Dosen Penguji Ibu Maya Silvi Lydia, B.Sc., M.Sc., dan Ibu Dian Rachmawati S.Si, M.Kom atas saran dan kritikan yang sangat berguna bagi Penulis. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Ilmu Komputer, Bapak Dr. Poltak Sihombing dan Bapak Ibu Maya Silvi Lydia, B.Sc., M.Sc., Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Program Studi S1 Ilmu Komputer FMIPA USU dan semua pegawai di Program Studi S1 Ilmu Komputer USU, Kak Ayi, Kak Eka, Bang Erwin, Bang Fadly, Bang Manaf, Bang Zaki, Bang Mardian, Pak Sugi, Bu Mega dan semua yang tidak tersebutkan namanya.

Seluruh proses pengerjaan skripsi ini tidak akan dapat dilalui tanpa dukungan kedua orangtua dan keluarga. Skripsi ini penulis persembahkan kepada Ayahanda tercinta S. Purba dan Ibunda tercinta D. Lumbantoruan/ N. Panjaitan, yang telah memberikan segalanya dalam hidup, dan juga untuk kakak penulis Henry Purba, S.Si, Tetty Daniaty Purba dan Erny Sandyta Purba, adik penulis Arnoldy Purba, Doly Viza Sitorus, Tantory Yahya Purba, dan Priesty Aprisa Purba serta kepada seluruh keluarga besar penulis. Semoga Tuhan akan membalasnya. Selanjutnya kepada sahabat-sahabat terbaik, Kadar, Fery, Pangeran Evin, Rain, dan semua teman-teman yang tidak tersebutkan namanya terimakasih atas motivasi dan perhatiannya. Terimakasih kepada seluruh angkatan 2006 serta seluruh mahasiswa Ilkom USU dan semua pihak-pihak yang tidak dapat penulis sebutkan satu persatu, terima kasih atas ide, saran, dan kerjasama yang baik. Terimakasih juga kepada Bang Wira Sihombing, S.Kom, senior dan sahabat terbaik di IMAM dan BAKORPASM yang memberikan dukungan kepada saya dalam menyelesaikan tugas akhir ini. Tak lupa kepada sahabatku PAPB, terima kasih atas semangat, motivasi dan perhatiannya selama ini sehingga penulis bisa menyelesaikan skripsi ini dengan baik.

(6)

ABSTRAK

Pencarian rute terpendek secara umum dapat dibagi menjadi dua metode yaitu metode konvensional dan metode heuristik. Metode heuristik lebih cocok digunakan daripada metode konvensional dalam mencari rute terpendek dengan data yang besar. Metode heuristik yang sering digunakan dalam penentuan rute terpendek adalah algoritma semut. Algoritma Semut ini diadopsi dari perilaku alami semut dimana dengan Algoritma Semut ini pencarian rute terpendek menjadi lebih singkat walaupun menggunakan data yang banyak. Setelah dilakukan pengujian kepada setiap parameter algoritma semut, diperoleh bahwa parameter jumlah semut dan banyak siklus mempengaruhi probalitas dalam pencarian titik tujuan dan waktu eksekusi pencarian, parameter τij, q0 dan α mempengaruhi probabilitas dalam pencarian titik

tujuan, sedangkan parameter β dan ρ berpengaruh dalam waktu eksekusi pencarian rute optimum. Aplikasi pencari rute optimum yang mengimplementasikan Algoritma Semut ini dibangun dengan menggunakan perangkat lunak Sistem Informasi Geografis MapWindow dan Delphi 2009, diharapkan mampu memberikan informasi yang cukup berguna bagi pengguna jalan di Universitas Sumatera Utara.

(7)

OPTIMUM PATH SEARCHING APPLICATION USING ANT COLONY OPTIMIZATION IN CAMPUS UNIVERSITY OF SUMATERA UTARA

SUPPORTED WITH GEOGRAPHIC INFORMATION SYSTEM

ABSTRACT

The shortest path searching generally can be divided into two methods, both are conventional methods and heuristic methods. Heuristic methods are more suitable than the conventional methods in finding the shortest path with large data. Heuristic method that is often used in determining the shortest path is the Ant Algorithm. Ant Algorithm is adopted from the natural behavior of ants that makes finding the shortest path is faster even when working with large data. After doing examination to every Ant Algorithm parameters, we conclude that parameters number of ants and many cycles affect the probability of getting the destination point and the time execution of searching optimum path, parameters τij, q0 and α affect the probability of getting the

destination point, while parameters β and ρ affect the time execution of searching optimum path. This optimum path searching application that implements the ant algorithm is built using Geographic Information System software MapWindow and Delphi 2009 that is expected to provide enough useful information for road users at the University of Sumatera Utara.

(8)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel x

Daftar Gambar xi

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 4

Bab 2 Tinjauan Pustaka

2.1 Teori Graf 6

2.1.1 Definisi Graf 6

2.1.2 Jenis-jenis Graf 7

2.1.3 Lintasan 9

2.1.4 Representasi Graf 10

2.1.4.1 Matriks Ketetanggaan (Adjacency Matrix) 10 2.1.4.2 Matriks Bersisian (Incidency Matrix) 11 2.1.4.3 Senarai Ketetanggaan (Adjacency List) 12

2.2 Permasalahan Optimasi 13

2.2.1 Penyelesaian Masalah Optimasi 13

2.3 Permasalahan Rute Terpendek (Shortest Path Problem) 14

2.4 Algoritma Semut 16

2.4.1 Cara Kerja Algoritma Semut Mencari Rute Terpendek 16

2.4.2 Pseudocode Algoritma Semut 19

2.5 Sistem Informasi Geografis 19

2.5.1 Subsistem Sistem Informasi Geografis 21 2.5.2 Komponen Sistem Informasi Geografis 22 2.5.3 Model Data dalam Sistem Informasi Geografis 24

2.6 MapWindow 24

2.6.1 Aplikasi MapWindow 25

2.6.2 Fitur Utama MapWindow 25

(9)

Bab 3 Analisis dan Desain Sistem

3.1 Analisis Masalah Umum 28

3.2 Analisis Algoritma Semut 29

3.2.1 Karakteristik 29

3.2.2 Implementasi Pencarian Rute Terpendek dengan Algoritma

Semut 31

3.2.3 Flowchart Algoritma Semut 33

3.3 Perancangan Peta 45

3.3.1 Data Peta Universitas Sumatera Utara 45 3.3.2 Data Jalan Universitas Sumatera Utara 46

3.4 Deskripsi Sistem 47

3.5 Spesifikasi Keperluan Sistem 48

3.5.1 Fungsi Sistem 48

3.5.2 Tujuan Sistem 48

3.5.3 Masukan dan Keluaran Sistem 48

3.5.3.1 Masukan Sistem 48

3.5.3.2 Keluaran Sistem 49

3.5.4 Batasan Sistem 49

3.6 Data Flow Diagram (DFD) 50

3.7 MapWindow dan Delphi 54

3.8 Rancangan Antarmuka 55

Bab 4 Implementasi dan Pengujian Sistem

4.1 Implementasi Sistem 56

4.1.1 Lingkungan Implementasi 56

4.1.2 Implementasi Antarmuka Sistem 57

4.1.2.1 Menu Navigation 58

4.1.2.1.1 Tampilan Zoom In 59

4.1.2.1.2 Tampilan Zoom Out 60

4.1.2.1.3 Tampilan Pan 61

4.1.2.1.4 Tampilan Full Extents 62 4.1.2.1.5 Tampilan Drawing Result 63 4.1.2.1.6 Tampilan Clear Drawing Result 64 4.1.2.1.7 Tampilan Check Box Office 65 4.1.2.1.8 Tampilan Check Box Vertex 66 4.1.2.1.9 Tampilan Check Box Road 67 4.1.2.1.10 Tampilan Check Box Road Name 68 4.1.2.1.11 Tampilan Check Box Edge and Distance 69

4.1.2.1.12 Tampilan Show All 70

4.1.2.2 Tampilan Information 71

4.1.2.2.1 Tampilan Information About Parameter 71 4.1.2.2.2 Tampilan Information About Creator 72

4.2 Pengujian Sistem 73

4.2.1 Pengujian Sistem Berdasarkan Jumlah Verteks 77 4.2.2 Pengujian Sistem Berdasarkan Banyak Siklus dan Banyak

Semut. 78

(10)

4.2.3.3 Pengujian Sistem Berdasarkan Parameter α 81 4.2.3.4 Pengujian Sistem Berdasarkan Parameter β 82 4.2.3.5 Pengujian Sistem Berdasarkan Parameter ρ 83 Bab 5 Penutup

5.1 Kesimpulan 84

5.2 Saran 85

Daftar Pustaka 86

Lampiran A: Daftar Jarak Antar Verteks Pada Peta Universitas Sumatera Utara 88

(11)

DAFTAR TABEL

Halaman

Tabel 2.1 Psedeo Code Algorita Semut 19

Tabel 3.1 Jarak Antar Titik (dij) pada Graf G 36

Tabel 3.2 Visibilitas (ηij) antar Titik pada Graf G 36

Tabel 3.3 Intensitas Feromon antar Titik pada Graf G 36 Tabel 3.4 Hasil Siklus I Analisis Algoritma Semut 43 Tabel 3.5 Intensitas Feromon antar Titik pada Graf G Hasil Siklus I 45 Tabel 3.6 Data Jalan di Universitas Sumatera Utara 47

Tabel 3.7 Spesifikasi Proses DFD Level 1 51

Tabel 3.8 Kamus Data pada DFD Level 1 51

Tabel 3.9 Spesifikasi Proses DFD Level 2 52

Tabel 3.10 Kamus Data pada DFD Level 2 53

Tabel 4.1 Hasil Pengujian Berdasarkan Jumlah Verteks 77 Tabel 4.2 Hasil Pengujian Berdasarkan Banyak Siklus dan Banyak Semut 79

Tabel 4.3 Hasil Pengujian Berdasarkan Parameter τij 80

Tabel 4.4 Hasil Pengujian Berdasarkan Parameter q0 81

(12)

DAFTAR GAMBAR

Halaman Gambar 2.1 Graf G dengan Lima Verteks dan Tujuh Sisi 6

Gambar 2.2 Graf Berarah dan Berbobot 7

Gambar 2.3 Graf Tidak Berarah dan Berbobot 8

Gambar 2.4 Graf Berarah dan Tidak Berbobot 8

Gambar 2.5 Graf Tidak Berarah dan Tidak Berbobot 9

Gambar 2.6 Graf Matriks Ketetanggaan 11

Gambar 2.7 Graf Matriks Bersisian 12

Gambar 2.8 Graf yang Berarah dan Tidak Berbobot 15 Gambar 2.9 Perjalanan Semut Menemukan Sumber Makanan 17 Gambar 2.10 Subsistem Sistem Informasi Geografis 22

Gambar 2.11 Tampilan MapWindow 26

Gambar 3.1 Rute Terpendek (Sisi yang Bercetak Tebal) 28

Gambar 3.2 Flowchart Algoritma Semut 34

Gambar 3.3 Graf Analisis Algoritma Semut 35

Gambar 3.4 Peta Universitas Sumatera Utara 46

Gambar 3.5 Diagram Konteks 50

Gambar 3.6 DFD Level 1 51

Gambar 3.7 DFD Level 2 52

Gambar 3.8 Flowchart Sistem 53

Gambar 3.9 Rancangan Antarmuka 55

Gambar 4.1 Tampilan Implementasi Rancangan Antarmuka 58

Gambar 4.2 Tampilan Zoom In 59

Gambar 4.3 Tampilan Zoom Out 60 Gambar 4.4 Tampilan Pan 61 Gambar 4.5 Tampilan Full Extents 62

Gambar 4.6 Tampilan Drawing Result 63 Gambar 4.7 Tampilan Clear Drawing Result 64

Gambar 4.8 Tampilan Check Box Office 65 Gambar 4.9 Tampilan Check Box Verteks 66 Gambar 4.10 Tampilan Check Box Road 67 Gambar 4.11 Tampilan Check Box Road Name 68 Gambar 4.12 Tampilan Check Box Edge and Distance 69

Gambar 4.13 Tampilan Check Box Show All 70

Gambar 4.14 Tampilan Information 71

Gambar 4.15 Tampilan Information About Parameter 72

Gambar 4.16 Tampilan Information About Creator 72

Gambar 4.17 Informasi Nilai Default Parameter 74

Gambar 4.18 Informasi Ada Isian Yang Kosong 74

Gambar 4.19 Informasi Persamaan Titik Awal dan Titik Tujuan 75

Gambar 4.20 Informasi Pembatalan Pencarian 75

(13)

ABSTRAK

Pencarian rute terpendek secara umum dapat dibagi menjadi dua metode yaitu metode konvensional dan metode heuristik. Metode heuristik lebih cocok digunakan daripada metode konvensional dalam mencari rute terpendek dengan data yang besar. Metode heuristik yang sering digunakan dalam penentuan rute terpendek adalah algoritma semut. Algoritma Semut ini diadopsi dari perilaku alami semut dimana dengan Algoritma Semut ini pencarian rute terpendek menjadi lebih singkat walaupun menggunakan data yang banyak. Setelah dilakukan pengujian kepada setiap parameter algoritma semut, diperoleh bahwa parameter jumlah semut dan banyak siklus mempengaruhi probalitas dalam pencarian titik tujuan dan waktu eksekusi pencarian, parameter τij, q0 dan α mempengaruhi probabilitas dalam pencarian titik

tujuan, sedangkan parameter β dan ρ berpengaruh dalam waktu eksekusi pencarian rute optimum. Aplikasi pencari rute optimum yang mengimplementasikan Algoritma Semut ini dibangun dengan menggunakan perangkat lunak Sistem Informasi Geografis MapWindow dan Delphi 2009, diharapkan mampu memberikan informasi yang cukup berguna bagi pengguna jalan di Universitas Sumatera Utara.

(14)

OPTIMUM PATH SEARCHING APPLICATION USING ANT COLONY OPTIMIZATION IN CAMPUS UNIVERSITY OF SUMATERA UTARA

SUPPORTED WITH GEOGRAPHIC INFORMATION SYSTEM

ABSTRACT

The shortest path searching generally can be divided into two methods, both are conventional methods and heuristic methods. Heuristic methods are more suitable than the conventional methods in finding the shortest path with large data. Heuristic method that is often used in determining the shortest path is the Ant Algorithm. Ant Algorithm is adopted from the natural behavior of ants that makes finding the shortest path is faster even when working with large data. After doing examination to every Ant Algorithm parameters, we conclude that parameters number of ants and many cycles affect the probability of getting the destination point and the time execution of searching optimum path, parameters τij, q0 and α affect the probability of getting the

destination point, while parameters β and ρ affect the time execution of searching optimum path. This optimum path searching application that implements the ant algorithm is built using Geographic Information System software MapWindow and Delphi 2009 that is expected to provide enough useful information for road users at the University of Sumatera Utara.

(15)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Kampus Universitas Sumatera Utara berlokasi di tengah kota Medan tepatnya di Kelurahan Padang Bulan, Kecamatan Medan Baru. Dengan luas 122 ha dan mahasiswa yang berjumlah 33.000 orang, pencarian rute terpendek akan sangat diperlukan bagi pengguna jalan yang tidak tahu jalan mana yang akan dilalui agar sampai ke tempat tujuannya di areal kampus Universitas Sumatera Utara, apalagi bagi pengguna jalan yang baru pertama kali mengunjungi kampus Universitas Sumatera Utara. Supaya dapat melakukan pencarian rute terpendek, peta kampus Universitas Sumatera Utara direpresentasikan menjadi sebuah graf dimana gedung atau persimpangan jalan sebagai verteks dan jalan dengan panjang tertentu sebagai sisi pada graf.

Secara umum, pencarian rute terpendek dapat dibagi menjadi dua metode yaitu metode konvensional dan metode heuristik. Metode konvensional cenderung lebih mudah dipahami daripada metode heuristik, tetapi jika dibandingkan, hasil yang diperoleh dari metode heuristik lebih variatif dan waktu perhitungan yang diperlukan lebih singkat. Salah satu metode heuristik yang sering digunakan adalah Algoritma Semut (Ant Algorithm).

(16)

semakin berkurang feromonnya sehingga mengurangi ketertarikan semut untuk melewatinya atau bahkan tidak ada sama sekali, sebaliknya lintasan yang dilalui semut dalam jumlah banyak, feromonnya semakin lama akan semakin bertambah sehingga semut-semut akan tertarik melalui lintasan tersebut. Mengingat prinsip algoritma yang didasarkan pada perilaku koloni semut dalam menemukan rute paling pendek tersebut, Algoritma Semut sangat tepat digunakan untuk diterapkan dalam penyelesaian masalah penentuan rute terpendek.

Berdasarkan keterangan diatas, diperlukan suatu sistem yang dapat membantu dalam menentukan rute terpendek yang dapat merepresentasikan data yang ada. Data tersebut dapat disimpan, diolah, dan disajikan dalam bentuk yang lebih sederhana serta terkomputerisasi sehingga memudahkan pengguna jalan dalam penentuan rute terpendek di kampus Universitas Sumatera Utara.

1.2 Rumusan Masalah

Masalah yang dibahas dalam penelitian ini yaitu:

a. Bagaimana mengaplikasikan Algoritma Semut dalam pencarian rute terpendek di kampus Universitas Sumatera Utara.

b. Bagaimana menggabungkan Sistem Informasi Geografis dengan Algoritma Semut untuk mencari rute terpendek di kampus Universitas Sumatera Utara.

1.3 Batasan Masalah

Ruang lingkup penelitian ini dibatasi pada:

a. Pencarian rute terpendek hanya menggunakan jarak dalam satuan meter, dengan menghiraukan beban lain dari tiap jalan (seperti kerusakan jalan dan kemacetan).

b. Semua jalan dianggap dua arah (dapat ditempuh secara bolak-balik).

(17)

d. Dalam Sistem Informasi Geografis, sistem hanya akan menampilkan peta jalan dan gedung di kampus Universitas Sumatera Utara tanpa menggunakan skala. e. Aplikasi dibangun menggunakan Delphi 2009 dan MapWindow.

1.4 Tujuan Penelitian

Tujuan dari sistem yang dibuat di dalam penelitian ini adalah menemukan rute mana yang paling optimum (memiliki total jarak terdekat) menuju suatu tempat yang diwakili oleh satu titik awal dan satu titik tujuan sehingga dapat memberikan informasi kepada pengguna jalan di kampus Universitas Sumatera Utara.

1.5 Manfaat Penelitian

Manfaat dari penelitian ini adalah:

a. Mempermudah masyarakat terutama civitas akademika Universitas Sumatera Utara dalam menentukan rute terpendek saat mereka melaksanakan perjalanan di kampus Universitas Sumatera Utara sehingga dapat menghemat waktu, tenaga dan biaya.

b. Menambah perbendaharaan mengenai penentuan rute terpendek.

(18)

1.6 Metodologi Penelitian

Tahapan yang diambil dalam penelitian ini yaitu: 1. Studi literatur

Penulisan ini dimulai dengan studi kepustakaan yaitu mengumpulkan bahan-bahan referensi baik dari buku, jurnal, makalah, maupun situs internet mengenai Algoritma Semut dan Sistem Informasi Geografis serta beberapa referensi lainnya untuk menunjang pencapaian tujuan tugas akhir ini.

2. Pengumpulan data yang berhubungan dengan penelitian.

Bertujuan untuk memperoleh data secara langsung dari instansi melalui riset lapangan untuk mendapatkan informasi yang dibutuhkan

3. Analisis dan perancangan perangkat lunak.

Melakukan analisis permasalahan yang ada, batasan yang dimiliki dan kebutuhan yang diperlukan setelah itu melakukan perancangan antarmuka sistem.

4. Melakukan implementasi dan pengujian sistem.

Pengimplementasian rancangan antarmuka dan pengujian terhadap sistem yang telah dibangun serta menguji hasil Algoritma Semut dalam pencarian rute terpendek.

5. Menyusun laporan dan dokumentasi

Melakukan pendokumentasian hasil analisis dan implementasi secara tertulis dalam bentuk laporan skripsi.

1.7 Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari beberapa bagian yaitu:

BAB 1: PENDAHULUAN

(19)

BAB 2: TINJAUAN PUSTAKA

Bab ini berisi teori-teori yang berkaitan dengan graf, permasalahan optimasi, permasalahan rute terpendek, algoritma semut, Sistem Informasi Geografis, dan MapWindow.

BAB 3: ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis Algoritma Semut dalam pencarian rute terpendek, desain sistem dan perancangan antarmuka perangkat lunak.

BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi ulasan dan pengujian terhadap sistem yang telah diimplementasikan dengan menggunakan perangkat lunak MapWindow dan Delphi 2009.

BAB 5: KESIMPULAN DAN SARAN

(20)

BAB 2

TINJAUAN PUSTAKA

2.1 Teori Graf

2.1.1 Definisi Graf

Graf G didefenisikan sebagai pasangan himpunan (V,E) yang dalam hal ini V adalah himpunan tidak kosong dari verteks (vertex atau node) = {v1, v2, ...,vn} dan E adalah

himpunan sisi (edge) yang menghubungkan sepasang verteks = {e1, e2, ... ,en}, atau

dapat ditulis singkat notasi G=(V,E). Hal ini berarti bahwa V tidak boleh kosong, sedangkan E boleh kosong. Jadi, sebuah graf dimungkinkan tidak memiliki sisi satu buah pun, tetapi verteksnya harus ada, minimal satu. Graf yang hanya memiliki satu buah verteks tanpa sebuah sisi pun dinamakan graf trivial. (Munir, 2003, hal: 291).

Verteks pada graf dapat dinomori dengan huruf, bilangan asli, atau gabungan keduanya. Sedangkan sisi yang menghubungkan verteks vi dan verteks vj dinyatakan

dengan pasangan (vi , vj) atau dengan lambang e1, e2, .... Dengan kata lain, jika e

adalah sebuah sisi yang menghubungkan verteks vi dengan vj, maka e dapat ditulis

sebagai e = (vi , vj).

A

D

E

C

B

e1

e6

e5

e4

e2

e3

e7

(21)

G adalah graf dengan:

V = { a, b, c, d, e }.

E = { (a, b), (a, c), (c, d), (b, d), (b, e), (b, e), (d, e) }. = { e1, e2, e3, e4, e5, e6, e7}.

Verteks pada graf dapat merupakan obyek sembarang seperti kota, atom-atom suatu zat, nama anak, jenis buah, komponen alat elektronik dan sebagainya. Sisi dapat menunjukkan hubungan (relasi) sembarang seperti jalur penerbangan, jalan raya, sambungan telepon, ikatan kimia, dan lain-lain. Verteks dalam graf pada tulisan ini merupakan gedung atau persimpangan jalan dan sisi dalam graf merupakan jalan yang menghubungkan gedung atau persimpangan jalan.

2.1.2 Jenis-jenis Graf

Menurut arah dan bobotnya, graf dibagi menjadi empat bagian, yaitu:

1. Graf berarah dan berbobot: tiap sisi mempunyai anak panah dan bobot.

A

D

E

C

B

5

9

6

5 6

8

9

Gambar 2.2 Graf Berarah dan Berbobot

(22)

2. Graf tidak berarah dan berbobot: tiap sisi tidak mempunyai anak panah tetapi mempunyai bobot.

A

D

E

C

B

5

9

6

5

6 8

9

Gambar 2.3 Graf Tidak Berarah dan Berbobot

Gambar 2.2 menunjukkan graf tidak berarah dan berbobot. Graf terdiri dari lima verteks yaitu verteks A, B, C, D, dan E. Verteks A tidak menunjukkan arah ke verteks B atau C, namun bobot antara verteks A dan verteks B telah diketahui. Begitu juga dengan verteks-verteks yang lain.

3. Graf berarah dan tidak berbobot: tiap sisi mempunyai anak panah yang tidak berbobot. Gambar 2.3 menunjukkan graf berarah dan tidak berbobot.

A

D

E

C

B

Gambar 2.4 Graf berarah dan tidak berbobot

(23)

A

D

E

C

B

Gambar 2.5 Graf Tidak Berarah dan Tidak Berbobot

2.1.3 Lintasan

Misalkan v0 dan vn adalah verteks-verteks dalam sebuah graf. Sebuah lintasan dari v0

ke vn dengan panjang n adalah sebuah barisan berselang-seling dari n + 1 verteks dan

n sisi yang berawal dari verteks v0 dan berakhir dengan verteks vn, (v0, e1, v1, e2, ..., v n-1, en, vn), dengan sisi ei insiden dengan verteks vi-1 dan vi untuk i = 1, ..., n.

(Jhonsonbaugh, 2002).

Jika graf yang ditinjau merupakan graf sederhana, maka lintasan cukup dituliskan sebagai barisan verteks: v0, v1, v2, …, vn-1, vn, karena antara dua buah verteks

yang berurutan dalam lintasan tersebut hanya terdapat satu sisi. Jika graf yang ditinjau memiliki sisi ganda, maka, lintasan ditulis sebagai barisan berselang-seling antara verteks dan sisi: v0, e1, v1, e2, v2, e3, …, vn-1, en, vn.

Verteks dan sisi yang dilalui di dalam lintasan boleh berulang. Sebuah lintasan

(24)

2.1.4 Representasi Graf

Munir (2003, hal: 318), menyatakan bahwa agar graf dapat diproses dalam program komputer, graf harus direpresentasikan ke dalam memori. Terdapat beberapa representasi untuk graf, antara lain matriks ketetanggaan, matriks bersisian dan senarai ketetanggaan.

2.1.4.1Matriks Ketetanggaan (Adjacency Matrix)

Misalkan G = (V, E) graf sederhana dimana |V| = n, n > 1. Maka, matriks ketetanggaan A dari G adalah matriks n x n dimana:

A = [aij],

[aij] menjadi 1 bila verteks i dan j terhubung (bertetangga),

[aij] menjadi 0 bila verteks i dan j tidak terhubung (tidak bertetangga).

Dengan kata lain matriks ketetanggaan didefinisikan sebagai berikut, misalkan A matriks berordo n x n (n baris dan n kolom). Jika antara dua verteks terhubung (adjacent) maka elemen matriks bernilai 1, dan sebaliknya jika tidak terhubung bernilai 0.

Jumlah elemen matriks bertetanggaan untuk graf dengan n verteks adalah n2. Jika tiap elemen membutuhkan ruang memori sebesar p, maka ruang memori yang diperlukan seluruhnya adalah pn2.

Keuntungan representasi dengan matriks ketetanggaan adalah kita dapat mengakses elemen matriksnya langsung dari indeks. Selain itu, kita juga dapat menentukan dengan langsung apakah verteks i dan verteks j bertetangga.

Pada graf berbobot, aij menyatakan bobot tiap sisi yang menghubungkan

(25)

1

2

3

4

Gambar 2.6 Graf Matriks Ketetanggaan

Bentuk matriks ketetanggaan dari graf pada gambar 2.6 adalah 4 3 2 1 4 3 2 1

0

1

1

0

0

0

0

1

1

1

0

1

0

0

1

0

v

v

v

v

A

v

v

v

v

=

Seperti halnya matriks kedekatan, pada graf berbobot, aij menyatakan bobot

tiap sisi yang menghubungkan verteks i dengan verteks j. Bila tidak ada sisi dari verteks i ke verteks j atau dari verteks j ke verteks i, maka, aij juga diberi nilai tak

berhingga.

2.1.4.2Matriks Bersisian (Incidency Matrix)

Misalkan G = (V, E) adalah graf dengan n verteks dan m sisi, maka matriks kebersisian A dari G adalah matriks berukuran m x n dimana:

A = [aij],

[aij] menjadi 1 bila verteks i dan sisi j bersisian,

[aij] menjadi 0 bila verteks i dan sisi j tidak bersisian.

(26)

matriks bernilai 1. Sebaliknya, jika verteks tidak terhubung dengan sisi maka elemen matriks bernilai 0.

Gambar 2.7 Graf Matriks Bersisian

Bentuk matriks bersisian dari graf pada gambar 2.7 adalah 4 3 2 1 4 3 2 1

0

1

0

1

1

1

1

0

0

0

1

1

1

0

0

0

e

e

e

e

A

v

v

v

v

=

2.1.4.3Senarai Ketetanggaan (Adjacency List)

Matriks ketetanggaan memiliki kelemahan apabila graf memiliki jumlah sisi yang relatif sedikit sehingga graf sebagian besar berisi bilangan 0. Hal ini merupakan pemborosan terhadap memori, karena banyak menyimpan bilangan 0 yang seharusnya tidak perlu disimpan. Untuk kepentingan efisiensi ruang, maka tiap baris matriks tersebut digantikan senarai yang hanya berisikan verteks-verteks dalam adjacency set Vx dari setiap verteks x.

Bentuk senarai ketetanggan graf dari gambar 2.7 diatas adalah 1: 3

(27)

2.2 Permasalahan Optimasi

Menurut Hannawati et al (2002), optimasi adalah pencarian nilai-nilai variabel yang dianggap optimal, efektif dan efisien untuk mencapai tujuan yang diinginkan. Permasalahan optimasi beraneka ragam sesuai kondisi dimana sistem tersebut bekerja. Salah satu masalah optimasi yang paling sering muncul khususnya dalam bidang transportasi yaitu mengenai pencarian jalur terpendek. Optimisasi dalam jalur terpendek dapat didasarkan pada jarak tempuh terdekat menuju suatu fasilitas maupun berdasarkan waktu tercepat untuk mencapainya. Hasil dari penyelesaian masalah rute terpendek dapat disebut sebagai rute optimal.

2.2.1 Penyelesaian Masalah Optimasi

Secara umum penyelesaian masalah pencarian rute terpendek dapat dilakukan dengan menggunakan dua metode, yaitu metode konvensional dan metode heuristik. Metode konvensional diterapkan dengan perhitungan matematis biasa, sedangkan metode heuristik diterapkan dengan perhitungan kecerdasan buatan. (Mutakhiroh et al, 2007).

1. Metode Konvensional

Metode konvensional adalah metode yang menggunakan perhitungan matematis biasa. Ada beberapa metode konvensional yang biasa digunakan untuk melakukan pencarian rute terpendek, diantaranya: algoritma Djikstra (single source shortest path), algoritma Floyd-Warshall (all pairs shortest path), dan algoritma Bellman-Ford.

2. Metode Heuristik

(28)

Persoalan yang berkaitan dengan optimisasi sangat kompleks dalam kehidupan sehari-hari. Nilai optimal yang didapat dalam optimisasi dapat berupa besaran panjang, waktu, jarak dan lain-lain. Berikut ini adalah beberapa persoalan yang memerlukan optimisasi: menentukan rute terpendek dari suatu tempat ke tempat yang lain, menentukan jumlah pekerja seminimal mungkin untuk melakukan suatu proses produksi agar pengeluaran biaya pekerja dapat diminimalkan dan hasil produksi tetap maksimal, mengatur rute kendaraan umum agar semua lokasi dapat dijangkau, mengatur routing jaringan kabel telepon agar biaya pemasangan kabel tidak terlalu besar.

2.3 Permasalahan Rute Terpendek (Shortest Path Problem)

Permasalahan rute terpendek (Shortest Path Problem) merupakan suatu jaringan pengarahan perjalanan dimana seseorang pengarah jalan ingin menentukan rute terpendek antara dua kota berdasarkan rute alternatif yang tersedia, dimana kota tujuan hanya satu. Masalah ini sendiri menggunakan representasi graf untuk memodelkan persoalan yang diwakili sehingga lebih memudahkan penyelesaiannya. Masalahnya adalah bagaimana cara mengunjungi verteks pada graf dari verteks awal ke verteks akhir dengan bobot minimum, dimana dalam hal ini bobot yang digunakan adalah jarak dan kota-kota yang dikunjungi diasumsikan sebagai graf yang saling terhubung (connected graf) antar suatu kota dengan kota yang lainnya. Graf G disebut terhubung jika untuk setiap verteks dari graf terdapat sisi yang menghubungkan kedua verteks tersebut, atau dengan kata lain graf terhubung jika setiap dua verteks yaitu vi

dan vj dalam suatu graf terdapat sedikitnya sebuah sisi. Sisi pada graf berarah

disebut arc.

(29)

A

D

F

C

B A

D

E

C

B

Gambar 2.8 Graf yang Berarah dan Tidak Berbobot.

Pada gambar 2.8 diatas, misalkan kita dari verteks A ingin menuju verteks F. Untuk menuju verteks F, dapat dipilih beberapa rute yang tersedia yaitu:

A → B → E → F A → B → F

A → B → D → E → F A → C → D → F A → C → E → F A → D → F A → D → E → F

(30)

2.4 Algoritma Semut

Algoritma Semut merupakan teknik probabilistik untuk menyelesaikan masalah komputasi dengan menemukan rute optimum. Algoritma Semut diperkenalkan oleh Moyson dan Manderick pada tahun 1996 dan secara meluas dikembangkan oleh Marco Dorigo.

2.4.1 Cara Kerja Algoritma Semut Mencari Rute Terpendek

Untuk mendiskusikan algoritma semut, lingkungan yang akan kita gunakan adalah sebuah graf yang fully connected (setiap verteks memiliki sisi ke verteks yang lain) dan bidirectional (setiap rute bisa ditempuh bolak-balik dua arah). Setiap sisi memiliki bobot yang menunjukkan jarak antara dua buah verteks yang dihubungkan oleh sisi tersebut.

Algoritma Semut ini menggunakan sistem multiagen, yang berarti kita akan mengerahkan seluruh “semut buatan” yang masing-masingnya bergerak sebagai agen tunggal. Setiap semut memiliki daftar_kota yang akan menyimpan sisi-sisi yang sudah pernah ia lalui, dimana ia tidak diijinkan untuk melalui sisi yang sama dua kali dalam satu kali perjalanan.

Semut mampu mengindera lingkungannya yang kompleks untuk mencari

(31)

mengurangi kekuatan daya tariknya. Lebih lama seekor semut pulang pergi melalui rute tersebut, lebih lama jugalah feromon menguap.

Gambar 2.9 Perjalanan Semut Menemukan Sumber Makanan

(Sumber: Menentukan Jalur Terpendek Menggunakan Algoritma Semut, Muttakhiroh)

Gambar 2.9.a menujukkan perjalanan semut dalam menemukan rute terpendek dari sarang ke sumber makanan, terdapat dua kelompok semut yang melakukan perjalanan. Kelompok semut L berangkat dari arah kiri ke kanan dan kelompok semut R berangkat dari kanan ke kiri. Kedua kelompok berangkat dari titik yang sama dan dalam posisi pengambilan keputusan jalan sebelah mana yang akan diambil. Kelompok L membagi dua kelompok lagi. Sebagian melewati jalan atas dan sebagian melewati jalan bawah. Hal ini juga berlaku pada kelompok R.

(32)

Gambar 2.9.d menunjukkan bahwa semut-semut yang lain pada akhirnya memutuskan untuk melewati jalan bawah karena feromon yang ditinggalkan masih banyak, sedangkan feromon pada jalan atas sudah banyak menguap sehingga semut-semut tidak memilih jalan atas. Semakin banyak semut-semut yang melewati jalan maka semakin banyak semut yang mengikutinya, semakin sedikit semut yang melewati jalan, maka feromon yang ditinggalkan semakin berkurang bahkan hilang. Dari sinilah kemudian terpilihlah rute terpendek antara sarang dan sumber makanan.

Secara ringkas diperlukan beberapa proses agar semut mendapatkan rute optimal yaitu:

1. Semut akan berkeliling secara acak dari sarang hingga menemukan sumber makanan.

2. Ketika menemukan sumber makanan mereka kembali ke sarang sambil meninggalkan tanda menggunakan feromon.

3. Seekor semut yang menemukan rute optimal akan menempuh rute ini lebih cepat dari rekan-rekannya, melakukan round-trip lebih sering, dan dengan sendirinya meninggalkan feromon lebih banyak dari rute-rute yang lebih lambat ditempuh.

4. Feromon yang berkonsentrasi tinggi pada akhirnya akan menarik semut-semut lain untuk berpindah rute, menuju rute paling optimal, sedangkan rute lainnya akan ditinggalkan.

(33)

2.4.2 Pseudocode Algoritma Semut

Pseudeocode Algoritma Semut ditunjukkan oleh tabel 2.1 dibawah ini:

Tabel 2.1 Pseudocode Algoritma Semut

Baris Pseudo code

1 initialization default data; 2 sourceVertex <- input vertex; 3 destinationVertex <- input vertex; 4 m <- input ant used value;

5 NCMax <- input cycle used value; 6 For i <- 1 To NCMax Do

7 For j <- m Do

8 While currentVertex <> destinationVertex do 9 q <- random from 0..1;

10 If q <= q0 then

11 Calculate probability;

12 Find vertex that has maximum probability has not used;

13 currentVertex <- new vertex; 14 Update daftar_kota;

15 Else

16 Calculate probability;

17 Calculate probability cumulative for currentVertex;

18 prob <- random from 0..1;

19 Find the closest value based on cumulative value and probability;

20 currentVertex <- new vertex; 21 Update daftar_kota;

22 End If

23 End While

24 Update Local Pheromone; 25 End For

26 Calculate total distance each ant; 27 Find the best result for current cycle; 28 Update Global Pheromone;

39 End For

30 Show the best result;

2.5 Sistem Informasi Geografis

(34)

Menurut Gou Bo, Sistem Informasi Geografis adalah teknologi informasi yang dapat menganalisis, menyimpan dan menyimpan baik data spasial maupun data non spasial. Sedangkan menurut Nicholas Chrisman, Sistem Informasi Geografis adalah sistem yang terdiri dari perangkat keras, perangkat lunak, data, manusia, organisasi dan lembaga yang digunakan untuk mengumpulkan, menyimpan, menganalisisis, dan menyebarluaskan informasi mengenai daerah-daerah di permukaaan bumi. (Prahasta, 2009).

Berdasarkan keterangan diatas dapat disimpulkankan bahwa Sistem Informasi Geografis (SIG) merupakan sistem infomasi berbasis komputer yang menggabungkan antara unsur peta (geografis) dan informasi tentang peta tersebut (data atribut) yang dirancang untuk mendapatkan, mengolah, memanipulasi, analisa, memperagakan dan menampilkan data spatial untuk menyelesaikan perencanaan, mengolah dan meneliti permasalahan.

Salah satu alasan mengapa konsep-konsep Sistem Informasi Geografis (SIG) beserta sistem aplikasinya menjadi menarik untuk digunakan di berbagai disiplin ilmu karena SIG dapat menurunkan informasi secara otomatis tanpa keharusan untuk selalu melakukan interpretasi secara manual sehingga SIG dengan mudah dapat menghasilkan data spasial tematik yang merupakan (hasil) turunan dari data spasial yang lain (primer) dengan hanya memanipulasi atribut-atributnya dengan melibatkan beberapa operator logika dan matematis. (Prahasta, 2009).

(35)

Sistem Informasi Geografis memiliki berbagai fungsionalitas, antara lain adalah sebagai berikut:

1. Kemampuan dasarnya sebagai mapping system dengan kemampuan kartografisnya.

2. Melakukan query terhadap data spasial ataupun data atribut yang terkait.

3. Menampilkan dan mengolah data permukaan tiga dimensi sebagai alat bantu pemodelan dengan aspek tiga dimensi.

2.5.1 Subsistem Sistem Informasi Geografis

Menurut Prahasta (2009), Sistem Informasi Geografis (SIG) dapat diuraikan menjadi beberapa subsistem berikut:

1. Data Input

Subsistem ini bertugas untuk mengumpulkan dan mempersiapkan data spasial dan atribut dari berbagai sumber. Subsistem ini bertanggung jawab dalam mengkonversi atau mentransformasikan format data aslinya ke dalam format yang dapat digunakan oleh SIG.

2. Data Output

Subsistem ini menampilkan atau menghasilkan keluaran seluruh atau sebagian basis data baik dalam bentuk softcopy maupun bentuk hardcopy seperti tabel, grafik, peta dan lain-lain.

3. Data Management

(36)

4. Data Manipulation & Analysis

Subsistem ini menentukan informasi-informasi yang dapat dihasilkan oleh SIG. Selain itu, subsistem ini juga melakukan manipulasi dan pemodelan data untuk menghasilkan informasi yang diharapkan.

Gambar 2.10. Subsistem Sistem Informasi Geografis

(Sumber: Konsep-konsep Dasar SIG, Prahasta, Informatika)

2.5.2 Komponen Sistem Informasi Geografis

Sistem Informasi Geografis merupakan hasil dari beberapa komponen. Komponen Sistem Informasi Geografis terbagi menjadi empat, yaitu sebagai berikut:

1. Perangkat Keras (Hardware)

Sistem Informasi Geografis membutuhkan komputer untuk menyimpan data dan dalam melakukan pengolahan data. Semakin kompleks data yang ingin diolah, maka semakin besar juga kebutuhan memori dan kecepatan pengolah datanya.

2. Perangkat Lunak (Software)

(37)

dan transformasi data geografis, sistem manajemen basis data, mampu mendukung query geografis, analisis dan visualisasi, dan memiliki Grafical User Interface (GUI) untuk memudahkan akses.

3. Data

Dalam SIG semua data dasar geografis harus diubah terlebih dahulu ke dalam bentuk digital untuk memudahkan dalam pengolahan data. Data dalam SIG dibagi menjadi dua bentuk yakni geografical atau data spasial dan data atribut.

a. Data spasial adalah data hasil pengukuran, pencatatan dan pencitraan terhadap suatu unsur keruangan yang berada di bawah, pada atau di atas permukaan bumi dengan posisi keberadaannya mengacu pada sistem koordinat nasional.

b. Data atribut adalah gambaran data yang terdiri dari informasi yang relevan terhadap suatu lokasi seperti kedalaman, ketinggian, lokasi penjualan, dan lain-lain dan bisa dihubungkan dengan lokasi tertentu dengan maksud untuk memberikan identifikasi seperti alamat, kode pos, dan lain-lain.

4. Manusia (Brainware)

(38)

2.5.3 Model Data dalam Sistem Informasi Geografis

Menurut Tim Penulis (2009, hal: 23), data yang dipergunakan dalam Sistem Informasi Geografis umumnya dapat dibagi menjadi tiga bagian besar yaitu:

1. Data Grafis

Data grafis dibagi menjadi data raster dan data digital:

a. Data raster adalah semua data digital yang didapatkan dari hasil scanning dan data lain yang belum dalam format vektor.

b. Data Digital adalah data digital yang didapat dari hasil digitasi dan telah dilengkapi dengan data teks maupun data atribut lainnya.

2. Data Tabular

Data Tabular adalah data selain data grafis yang berupa data pendukung berupa teks, angka, dan data pendukung yang lain.

3. Data Vektor

Data vektor adalah data digital atau data yang telah diubah ke bentuk digital dan telah dilengkapi dengan data objek atau informasi objek.

Dalam tugas akhir ini yang digunakan adalah data vektor. Karena peta dalam bentuk vektor tidak terpengaruh oleh resolusi, karena itu apabila peta dibesarkan atau dkecilkan akan tidak mengalami pixelate. Di sisi lain, peta dalam bentuk vektor juga menghasilkan file dalam ukuran yang lebih kecil dari raster, sehingga dapat lebih menghemat memori.

2.6 MapWindow

(39)

Ames, dan Jeff Horsbaugh dari Utah State University (USU). MapWindow merupakan alat pemetaan, sistem pemodelan SIG, dan aplikasi SIG programming interface (API) yang semuanya dikemas dalam satu paket. MapWindow

dikembangkan untuk mengatasi kebutuhan pemrograman SIG yang dapat digunakan dalam rekayasa penelitian dan proyek perangkat lunak tanpa membeli sistem SIG yang lengkap atau tanpa menjadi ahli SIG sebelumnya.

2.6.1 Aplikasi MapWindow

MapWindow merupakan sofware aplikasi berlabel free, salah satu perangkat lunak untuk Sistem Informasi Geografis (SIG) yang berbasis open source. MapWindow bersifat free baik dalam hal lisensi pemakaian maupun pengembangannya. MapWindow dapat digunakan untuk berbagai keperluan, misalnya:

1. Sebagai alternatif desktop SIG yang open source. 2. Untuk mengkonversi data ke bentuk lain.

3. Untuk mengembangkan dan mendistribusikan alat yang berkaitan dengan analisis data spasial.

4. Melakukan task sebagaimana perangkat lunak SIG lainnya.

2.6.2 Fitur Utama MapWindow

Menurut Usman et al (2008, hal: 7), fitur utama sekaligus yang menjadi keunggulan MapWindow sebagai aplikasi SIG adalah:

1. MapWindow merupakan perangkat lunak programmable geografic information system yang digunakan untuk memanipulasi, menganalisis,

(40)

2. Layaknya perangkat lunak open source, MapWindow bebas digunakan dan didistribusikan. MapWindow juga boleh dimodifikasi dan diintegrasikan dengan perangkat lunak yang lain sesuai dengan kebutuhan si pemakai.

3. MapWindow tidak hanya sekedar menampilkan data tetapi merupakan perangkat lunak SIG yang terbuka dan fleksibel sehingga bisa dikembangkan lebih lanjut. Ini berarti pengguna yang sudah matang dapat mengembangkan program tambahan dalam bentuk plug-in untuk meningkatkan fungsinya (misalnya plug-in untuk pemodelan, penampilan spesifik, dan editor data). Plug-in yang ditulis selanjutnya bisa dibagikan atau didistribusikan.

4. MapWindow memiliki fasilitas SIG yang standar untuk visualisasi data, editing atribut pada tabel (*.dbf), editing shape file dan konversi data. Puluhan

format data SIG bisa ditangani MapWindow termasuk shape file, GeoTIFF, ESRI ArcInfo ASCII dan Binary.

[image:40.595.137.503.429.753.2]

Adapun tampilan dari MapWindow dapat dilihat pada gambar dibawah ini:

(41)

2.6.3 Komponen MapWindow

Menurut Usman et al (2008, hal: 9), perangkat lunak mapwindow terdiri dari tiga komponen utama, yaitu Main MapWindow Application, Core Component, dan Plug-in.

1. Main MapWindow Apllication

Merupakan pusat antarmuka MapWindow. Dari sini kita dapat menampilkan elemen-elemen data seperti shape file dan grid.

2. Core Componen

Merupakan komponen yang dioperasikan didalam MapWindow. Core componen terdiri dari 3 bagian yaitu MapWinGIS, MapWinInterfaces, dan MapWinGeoProc.

3. Plug-in

Merupakan tool khusus yang ditulis menambah kemampuan Main MapWindow Apllication. Empat plug-in sudah dibuat didalam aplikasi main

MapWindow, yaitu Table Editor, Shape file Editor, GIS Tools, dan Feature Identifier/ Labeler. Plug-in yang lain dikembangkan oleh masyarakat

(42)

BAB 3

ANALISIS DAN DESAIN SISTEM

3.1 Analisis Masalah Umum

Persoalan pencarian terpendek merupakan salah satu permasalahan optimasi. Graf yang digunakan dalam pencarian rute terpendek adalah graf berbobot. Bobot pada sisi graf menyatakan jarak antar verteks. Dalam hal ini bobot harus bernilai positif. Rute terpendek dengan verteks awal t dan verteks tujuan v didefenisikan sebagai rute terpendek dari t ke v dengan bobot minimum dan berupa rute sederhana (simple path).

Misalkan gedung dan persimpangan jalan di Kampus Universitas Sumatera Utara adalah verteks-verteks pada graf yang bersesuaian, maka setiap pasangan verteks yang dihubungkan dengan sebuah sisi yang terdiri dari jarak untuk melakukan perjalanan diantara gedung dan persimpangan jalan yang berhubungan. Misalkan dalam masalah ini rute diperlukan untuk memulai pada verteks A dan berakhir pada verteks F. Rute dengan panjang minimum dapat ditemukan dengan mendaftar semua rute yang mungkin dari verteks A ke F kemudian memilih rute yang terpendek.

A

E

F D

B

5

3

4 3

4

5

C

1 2

2

[image:42.595.223.409.543.722.2]

4

(43)

Gambar 3.1 diatas memperlihatkan bahwa setiap sisi terletak pada verteks-verteks dari titik A ke titik F. Sisi merepresentasikan panjang jalan dengan bobot tertentu. Sedangkan verteks merepresentasikan gedung atau persimpangan jalan. Rute terpendek dari verteks A menuju verteks F pada graf di atas adalah P = {A → D, D → E, E → F} dengan bobot 6.

3.2 Analisis Algoritma Semut

Algoritma Semut merupakan teknik probabilistik untuk menyelesaikan masalah komputasi dengan menemukan rute terpendek dari suatu graf. Dalam mencari rute terpendek dalam algoritma semut, ‘semut-semut tiruan’ akan bertindak seperti agen, dimana setiap semut memiliki rute masing-masing dari titik awal menuju titik tujuan dengan tidak mengunjungi suatu titik lebih dari satu kali untuk mendapatkan hasil terbaik. Proses mencari rute optimal tersebut tidak semudah yang kita bayangkan dan tentu saja memerlukan rumus yang pada intinya menerapkan suatu fungsi heuristik yang cukup rumit.

3.2.1 Karakteristik Algoritma Semut

Terdapat tiga karakteristik utama dari algoritma semut, yaitu aturan transisi status, aturan pembaruan feromon lokal, dan aturan pembaruan feromon global.

a. Aturan Transisi Status

Aturan transisi status adalah aturan yang digunakan dalam memilih titik tujuan berikutnya dengan melakukan perhitungan probabilitas masing-masing titik tujuan yang mungkin. Aturan transisi status yang berlaku pada Algoritma Semut adalah sebagai berikut:

(44)

dan pk (t,v) adalah probabilitas dimana semut k memilih untuk bergerak dari

titik t ke titik v.

Jika q ≤ q0 maka pemilihan titik yang akan dituju menerapkan aturan yang

ditunjukkan oleh persamaan (1) dibawah ini:

[

t u

] [

t u

]

i n u

t

temporary( , ) =τ( , i) . η( , i) β, =1,2,3,...,

[

] [

]

{

τ( , ) .η( , ) β

}

max t ui t ui

v = ...……... persamaan (1) dengan v = titik yang akan dituju. Sedangkan jika q>q0 digunakan persamaan

(2)

[

] [

]

[

] [

]

= = = n i i i i i k u t u t v t v t v t p v 1 ) , ( . ) , ( ) , ( . ) , ( ) , ( β β

η

τ

η

τ

………... persamaan (2)

Setelah hasil perhitungan probabilitas semut yang akan dipilih berikutnya selesai, kemudian dicari probabilitas kumulatifnya (qk) dimana q1 = pt1

sedangkan qk = qk-1 + ptv untuk k = 2,3,4, ..., n. Kemudian dibangkitkan

bilangan random (r) antara 0 sampai 1. Titik ke-k akan terpilih jika qk-1 < r qk.

b. Aturan Pembaruan Feromon Lokal

Selagi melakukan perjalanan untuk mencari solusi pencarian rute terpendek, semut mengunjungi sisi-sisi dan mengubah tingkat feromon pada sisi-sisi tersebut dengan menerapkan aturan pembaruan feromon lokal yang ditunjukkan oleh persamaan (3) dibawah ini.

(

1

)

. ( , ) ( , )

) ,

(t v

ρ

τ

t v

τ

t v

τ

← − +∆ ...persamaan (3)

c L v t nn . 1 ) , ( = ∆

τ

dimana:

Lnn : panjang rute yang diperoleh..

(45)

c. Aturan Pembaruan Feromon Global

Pembaruan feromon secara global hanya dilakukan oleh semut yang membuat rute terpendek sejak permulaan percobaan. Pada akhir sebuah siklus, setelah semua semut menyelesaikan perjalanan mereka, intensitas feromon diperbaharui pada sisi-sisi yang dilewati oleh seekor semut yang telah menemukan rute optimum Tingkat feromon itu diperbarui dengan menerapkan aturan pembaruan feromon global yang ditunjukkan oleh persamaan (4).

(

1

)

. ( , ) . ( , )

) ,

(t v

α

τ

t v

α

τ

t v

τ

← − + ∆ ...persamaan (4)

  

 ∈

=

∆ −

0

) , ( )

, (

1

terbaik rute

v t jika L

v

t gb

τ

dimana:

τ(t,v) : nilai feromon akhir setelah mengalami pembaruan lokal Lgb : panjang rute terpendek pada akhir siklus.

α : tetapan pengendali feromon.

τ : perubahan intensitas feromon.

3.2.2 Implementasi Pencarian Rute Terpendek dengan Algoritma Semut

Sama seperti dengan algoritma pencarian lainnya, Algoritma Semut juga memiliki langkah-langkah untuk mencari rute terpendek yaitu:

1. Menginsialisasi harga parameter-parameter algoritma semut: a. Intensitas feromon (τij).

b. Tetapan siklus semut (q0).

c. Tetapan pengendali intensitas visibilitas ), nilai β≥ 0. d. Tetapan pengendali feromon ), nilai α≥ 0.

e. Jumlah semut (m).

(46)

2. Setelah itu tentukan titik selanjutnya yang akan dituju, ulangi proses sampai titik tujuan tercapai. Dengan menggunakan persamaan (1) atau persamaan (2) dapat ditentukan titik mana yang akan dituju, yaitu dengan:

a. Jika q≤q0 maka pemilihan titik (aturan transisi) yang akan dituju

menggunakan persamaan (1).

b. Jika q>q0 maka pemilihan titik yang akan dituju (aturan transisi)

menggunakan persamaan (2).

3. Apabila telah memilih titik yang dituju, titik tersebut disimpan ke dalam daftar_kota untuk menyatakan bahwa titik tersebut telah menjadi bagian dari rute perjalanan. Setelah itu intensitas feromon di sisi tersebut diubah dengan menggunakan persamaan (3). Perubahan feromon tersebut dinamakan perubahan feromon lokal. Aturan transisi kembali dilakukan sampai titik tujuan tercapai.

4. Apabila titik tujuan telah dicapai, panjang rute masing-masing semut akan diakumulasikan, kemudian diurutkan sehingga akan didapatkan panjang rute yang terpendek.

5. Perbaruan feromon pada titik-titik yang yang termuat dalam rute terpendek tersebut menggunakan persamaan (4). Perubahan feromon ini dinamakan perubahan feromon global.

6. Pengosongan daftar_kota. Daftar_kota perlu dikosongkan untuk diisi lagi dengan urutan titik yang baru. Algoritma diulang lagi dari langkah 2 dengan harga parameter intensitas feromon yang sudah diperbarui.

(47)

Dari analisa terhadap Algoritma Semut ini, beberapa hal yang penting adalah:

1. Dalam pemilihan titik berdasarkan persamaan probabilitas diperlukan nilai parameter q dan r yang merupakan sebuah bilangan acak dimana 0 q ≤ 1 dan 0 ≤ r ≤ 1.

2. Setiap semut harus memiliki daftar_kota untuk menyimpan hasil perjalanannya masing-masing. Daftar_kota berisi kumpulan sisi yang merupakan bagian dari rute perjalanan setiap semut. Nilai dari masing-masing daftar_kota akan dikosongkan kembali setiap kali semut akan memulai rutenya (siklus baru).

3. Proses pembaruan intensitas feromon dipengaruhi oleh dua parameter yaitu ρ dan α ( keduanya bernilai antara 0 sampai 1) dan ∆τ (didapat dari satu per hasil perkalian panjang rute yang ditempuh dengan jumlah verteks yang ada pada graf tersebut).

3.2.3 Flowchart Algoritma Semut

(48)

Mulai

Aturan Transisi dengan Persam aan ( 1) atau Persam aan ( 2)

Berhenti Sim pan Kota Terpilih

ke daftar_kota

Perbaruan Ferom on Lokal m enggunakan

Persam aan ( 3) Tetapkan Param eter, Kota Awal, Kota Tuj uan

For i = 1 to NCMax do

For j = 1 to m do

Kota Tuj uan Dicapai?

Tidak Ya

Hitung Jarak Rute m asing - m asing

Sem ut

Perbaruan Ferom on Global m enggunakan

Persam aan ( 4) Kosongkan

daftar_ kota

[image:48.595.122.517.76.742.2]

Tam pilkan Rute Terpendek

(49)

Misalkan dimiliki sebuah contoh graf G yang berbobot dengan lima verteks dan enam sisi sebagai berikut:

A

E

C

D

B 5

7

4

4 3

5

Gambar 3.3 Graf G Analisis Algoritma Semut

Dari graf G diatas, akan dicari rute terpendek dari titik A ke titik E. Berikut ini analisis dan langkah-langkah perhitungan rute terpendek dari titik A ke titik E menggunakan algoritma semut.

1. Menginisialisasi harga parameter-parameter algoritma semut: a. τij = 0,01

b. q0 = 0,1

c. α = 0,1 d. β = 1 e. m = 4 f. ρ = 0,5 g. NCmax = 1

(50)

Dari graf yang diberikan diperoleh jarak antar titik (dij). Tabel 3.1 dibawah ini

akan memperlihatkan nilai dij.

Tabel 3.1 Jarak antar Titik (dij) pada Graf G

Titik A B C D E

A 0 5 7 3 0

B 5 0 4 0 0

C 7 4 0 0 5

D 3 0 0 0 4

E 0 0 5 4 0

Visibilitas (ηij) antar titik yang merupakan

ij

d

1

akan diperlihatkan oleh tabel 3.2 dibawah ini.

Tabel 3.2 Visibilitas antar Titik (ηij) pada Graf G

Titik A B C D E

A 0 0,2 0,143 0,333 0

B 0,2 0 0,25 0 0

C 0,143 0,25 0 0 0,2

D 0,333 0 0 0 0,25

E 0 0 0,2 0,25 0

Intensitas feromon antar titik (τij) akan diperlihatkan oleh tabel 3.3 dibawah

ini:

Tabel 3.3 Feromon antar Titik pada Graf G

Titik A B C D E

A 0,01 0,01 0,01 0,01 0,01

B 0,01 0,01 0,01 0,01 0,01

C 0,01 0,01 0,01 0,01 0,01

D 0,01 0,01 0,01 0,01 0,01

E 0,01 0,01 0,01 0,01 0,01

(51)

1. Mencari titik tujuan berikutnya dengan perhitungan probabilitas:

Siklus I

Semut 1:

a. Probabilitas dari titik A ke titik tujuan:

q = 0,562; q>q0 artinya probabilitas dihitung menggunakan persamaan (2):

[

] [

]

[

] [

]

= = = n i i i i i k u t u t v t v t v t p v 1 ) , ( . ) , ( ) , ( . ) , ( ) , ( β β

η

τ

η

τ

[

] [

]

006760 , 0 ) 0 * 01 , 0 ( ) 33 , 0 * 01 , 0 ( ) 143 , 0 * 01 , 0 ( ) 2 , 0 * 01 , 0 ( ) 0 * 01 , 0 ( ) , ( . ) , ( 1 = + + + + =

=n i

i

i t u

u

t

η

β

τ

Dengan demikian dapat dihitung probabilitas dari titik A menuju setiap titik, sebagai berikut:

Titik A = 0

Titik 0,295

006760 , 0 002 , 0 006760 , 0 ) 2 , 0 )( 01 , 0 ( 1 = = = B

Titik 0,212

006760 , 0 00143 , 0 006760 , 0 ) 143 , 0 )( 01 , 0 ( 1 = = = C

Titik 0,493

006760 , 0 0033 , 0 006760 , 0 ) 33 , 0 )( 01 , 0 ( 1 = = = D

Titik E = 0

b. Probabilitas Kumulatif : 0 0,295 0,507 1 1 c. Bilangan random yang dibangkitkan : r = 0,623;

d. Memeriksa qk-1 < r qk.→ Pilih titik D

Isi daftar_kota = A D

(52)

)

,

(

)

,

(

).

1

(

)

,

(

t

v

ρ

τ

t

v

τ

t

v

τ

+

c L v t nn. 1 ) , ( = ∆τ 667 , 0 15 1 5 . 3 1 ) , ( = = =

∆τ A D

) 667 , 0 ( ) 01 , 0 ( . ) 5 , 0 1 ( ) ,

(A D ← − +

τ 672 , 0 ) , (A D

τ

f. Titik tujuan selanjutnya hanya ke titik E Isi daftar_kota: A D E

g. Melakukan pembaruan lokal feromon menggunakan persamaan (3):

)

,

(

)

,

(

).

1

(

)

,

(

t

v

ρ

τ

t

v

τ

t

v

τ

+

c L v t nn. 1 ) , ( = ∆τ 5 , 0 20 1 5 . 4 1 ) , ( = = =

∆τ D E

) 5 , 0 ( ) 01 , 0 ( . ) 5 , 0 1 ( ) ,

(D E ← − +

τ 505 , 0 ) , (D E

τ

Semut 2:

a. Menghitung probabilitas dari titik A ke titik tujuan

q = 0,376; q>q0 artinya Probabilitas dihitung dengan persamaan (2):

[

] [

]

[

] [

]

= = = n i i i i i k u t u t v t v t v t p v 1 ) , ( . ) , ( ) , ( . ) , ( ) , ( β β η τ η τ

Nilai probabilitas titik tujuan adalah: Titik A = 0

(53)

b. Probabilitas Kumulatif : 0 0,295 0,507 1 1 c. Bilangan random yang dibangkitkan : r = 0,135;

d. Memeriksa qk-1 < r qk.→ pilih titik B

Isi daftar_kota = A B

e. Melakukan pembaruan lokal feromon menggunakan persamaan (3):

)

,

(

)

,

(

).

1

(

)

,

(

t

v

ρ

τ

t

v

τ

t

v

τ

+

c L v t nn. 1 ) , ( = ∆τ 4 , 0 25 1 5 . 5 1 ) , ( = = =

∆τ A B

) 4 , 0 ( ) 01 , 0 ( . ) 5 , 0 1 ( ) ,

(D E ← − +

τ 405 , 0 ) , (D E

τ

f. Tujuan titik selanjutnya dari titik B hanya titik C Isi daftar_kota = A B C

g. Melakukan pembaruan lokal feromon menggunakan persamaan (3):

)

,

(

)

,

(

).

1

(

)

,

(

t

v

ρ

τ

t

v

τ

t

v

τ

+

c L v t nn. 1 ) , ( = ∆τ 5 , 0 20 1 5 . 4 1 ) , ( = = =

∆τ B C

) 5 , 0 ( ) 01 , 0 ( . ) 5 , 0 1 ( ) ,

(B C ← − +

τ 505 , 0 ) , (B C

τ

h. Dari titik C ada 2 tujuan titik yaitu A dan E, titik A tidak dipilih karena titik asal, jadi pilihan titik E

(54)

Semut 3:

a. Menghitung probabilitas dari titik A ke titik tujuan selanjutnya q = 0,828; q>q0 artinya Probabilitas dihitung dengan persamaan (2):

[

] [

]

[

] [

]

= = = n i i i i i k u t u t v t v t v t p v 1 ) , ( . ) , ( ) , ( . ) , ( ) , ( β β

η

τ

η

τ

Nilai probabilitas sebagai berikut: Titik A = 0

Titik B = 0,295 Titik C = 0,212 Titik D = 0,493 Titik E = 0

b. Probabilitas Kumulatif : 0 0,295 0,507 1 1 c. Bilangan random yang dibangkitkan : q = 0,489;

d. Memeriksa qk-1 < r qk.→ pilih titik C.

Isi daftar_kota = A C

e. Melakukan pembaruan lokal feromon menggunakan persamaan (3):

)

,

(

)

,

(

).

1

(

)

,

(

t

v

ρ

τ

t

v

τ

t

v

τ

+

c L v t nn. 1 ) , ( = ∆τ 289 , 0 35 1 5 . 7 1 ) , ( = = =

∆τ AC

) 289 , 0 ( ) 01 , 0 ( . ) 5 , 0 1 ( ) ,

(A C ← − +

τ 294 , 0 ) , (A C

τ

f. Menghitung probabilitas dari titik C ke titik berikutnya:

(55)

[

] [

]

[

] [

]

= = = n i i i i i k u t u t v t v t v t p v 1 ) , ( . ) , ( ) , ( . ) , ( ) , ( β β

η

τ

η

τ

Titik 0,455

0055 , 0 0025 , 0 ) 2 , 0 * 01 , 0 ( 1 ) 25 , 0 * 01 , 0 ( ) 1 , 0 * 01 , 0 ( ) 25 , 0 )( 01 , 0 ( 1 = = + + = B

Titik 0,365

0055 , 0 002 , 0 ) 2 , 0 * 01 , 0 ( 1 ) 25 , 0 * 01 , 0 ( ) 1 , 0 * 01 , 0 ( ) 2 , 0 )( 01 , 0 ( 1 = = + + = E

g. Probabilitas Kumulatif : 0 0,454 0,455 0,455 0,820 h. Bilangan random yang dibangkitkan : r = 0,267;

i. Memeriksa qk-1 < r qk.→ Pilih titik B,

Dari titik B tidak ada pilihan titik yang akan dikunjungi lagi jadi isi daftar_kota = A C B

j. Melakukan Pembaruan Lokal menggunakan persamaan (2):

)

,

(

)

,

(

).

1

(

)

,

(

t

v

ρ

τ

t

v

τ

t

v

τ

+

c L v t nn. 1 ) , ( = ∆τ 5 , 0 20 1 5 . 4 1 ) , ( = = =

∆τ C B

) 5 , 0 ( ) 01 , 0 ( . ) 5 , 0 1 ( ) ,

(C B ← − +

τ 505 , 0 ) , (C B

τ

Semut 4:

a. Menghitung probabilitas dari titik A ke titik tujuan selanjutnya q = 0,762; q>q0 artinya Probabilitas dihitung dengan persamaan (2):

(56)

Nilai probabilitas setiap titik dari titik A adalah: Titik A = 0

Titik B = 0,295 Titik C = 0,212 Titik D = 0,493 Titik E = 0

b. Probabilitas Kumulatif : 0 0,295 0,507 1 1 c. Bilangan random yang dibangkitkan : q = 0,389;

d. Memeriksa qk-1 < r qk.→ pilih titik C.

Isi daftar_kota = A C

e. Melakukan pembaruan lokal feromon menggunakan persamaan (3):

)

,

(

)

,

(

).

1

(

)

,

(

t

v

ρ

τ

t

v

τ

t

v

τ

+

c L v t nn. 1 ) , ( = ∆τ 289 , 0 35 1 5 . 7 1 ) , ( = = =

∆τ AC

) 289 , 0 ( ) 01 , 0 ( . ) 5 , 0 1 ( ) ,

(A C ← − +

τ 294 , 0 ) , (A C

τ

f. Menghitung pembaruan lokal feromon menggunakan persamaan (3): q = 0,658; q>q0 artinya probabilitas dihitung dengan persamaan (2):

[

] [

]

[

] [

]

= = = n i i i i i k u t u t v t v t v t p v 1 ) , ( . ) , ( ) , ( . ) , ( ) , ( β β η τ η τ

Titik 0,455

0055 , 0 0025 , 0 ) 2 , 0 * 01 , 0 ( 1 ) 25 , 0 * 01 , 0 ( ) 1 , 0 * 01 , 0 ( ) 25 , 0 )( 01 , 0 ( 1 = = + + = B

Titik 0,365

(57)

g. Probabilitas Kumulatif : 0 0,454 0,455 0,455 0,820 h. Bilangan random yang dibangkitkan: r = 0,455;

i. Memeriksa qk-1 < r qk.→ Pilih titik C,

Isi daftar_kota = A C E

j. Melakukan Pembaruan Lokal menggunakan persamaan (2):

)

,

(

)

,

(

).

1

(

)

,

(

t

v

ρ

τ

t

v

τ

t

v

τ

+

c L v t nn. 1 ) , ( = ∆τ 4 , 0 25 1 5 . 5 1 ) , ( = = =

∆τ A B

) 4 , 0 ( ) 01 , 0 ( . ) 5 , 0 1 ( ) ,

(D E ← − +

τ 405 , 0 ) , (D E

τ

2. Menampilkan hasil pencarian dari siklus pertama seperti yang terlihat pada tabel 3.3 berikut:

Tabel 3.4 Hasil Siklus I Analisis Algoritma Semut

Semut ke Rute Panjang Rute (Lgb)

1 A D E 7

2 A B C E 14

3 A C B -

4 A C E 12

3. Melakukan pembaruan global feromon menggunakan persamaan (4)

(

1

)

. ( , ) . ( , )

) ,

(t v

α

τ

t v

α

τ

t v
(58)

a. Melakukan pembaruan global untuk rute terbaik pada siklus I:

Rute terbaik adalah A D E dengan panjang Lgb= 7, sehingga diperoleh

142 , 0 7 1 ) , ( = =

∆τ t v

(

1

)

. ( , ) . ( , )

) ,

(t v

α

τ

t v

α

Gambar

Gambar 2.11. Tampilan MapWindow
Gambar 3.1 Rute Terpendek (Sisi yang Bercetak Tebal)
Gambar 3.2 Flowchart Algoritma Semut
Gambar 3.4 Peta Universitas Sumatera Utara
+7

Referensi

Dokumen terkait

Tabel 4.3 Data Rerata Efikasi Diri Kelompok Intervensi dan Kelompok Kontrol Sesudah Perlakuan dan Follow Up di Puskesmas Sering 2014

Iklan-iklan yang memanfaatkan figur wanita sebagai daya tarik, diklasifikasikan. dalam dua kategori menurut tipe pendekatan keterlibatan wanita di

Jika di kemudian hari ternyata pernyataan ini tidak sesuai dengan keadaan sebenarnya maka saya. bersedia menerima sanksi administrasi dan sesuai dengan aturan hukum

Di samping pembakaran bahan bakar fosil dan industri lainnya yang melibatkan proses pelepasan gas ke atmosfer, perubahan penutupan lahan yang merupakan bagian

a. Perencanaan penilaian , dalam perencanaan penilaian, guru Pendidikan Agama Islam di SMA Negeri 1 Gondang merumuskan: 1) Tujuan penilaian, tujuan penilaian dirumuskan

mengundang kontroversial adalah iklan Adem Sari yang menampilkan visual produk lain tapi tidak diperlihatkan secara jelas. Menampilkan produk sejenis

Respon Peserta Program Keluarga Harapan (PKH) Terhadap Pelaksanaan Program Keluarga Harapan (PKH) Di Desa Landuh.. Kecamatan Rantau Kabupaten

Karakteristik nilai disiplin, yaitu: pengertian terhadap perintah yang diberikan dan sudah melaksanakan perintah sesuai aturan yang ada untuk