• Tidak ada hasil yang ditemukan

PENENTUAN LOKASI DOORSMEER TERDEKAT DI KOTA MEDAN DENGAN ALGORITMA S-ORD SKRIPSI

N/A
N/A
Protected

Academic year: 2022

Membagikan "PENENTUAN LOKASI DOORSMEER TERDEKAT DI KOTA MEDAN DENGAN ALGORITMA S-ORD SKRIPSI"

Copied!
91
0
0

Teks penuh

(1)

PENENTUANLOKASIDOORSMEERTERDEKATDIKOTA MEDANDENGANALGORITMAS-ORD

SKRIPSI

RIZKA FEBRISHA SIAGIAN 121401100

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2017

(2)

PENENTUAN LOKASI DOORSMEER TERDEKAT DI KOTA MEDAN DENGAN ALGORITMA S-ORD

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

RIZKA FEBRISHA SIAGIAN 121401100

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PENENTUAN LOKASI DOORSMEER TERDEKAT

DI KOTA MEDAN DENGAN ALGORITMA S-ORD

Kategori : SKRIPSI

Nama : RIZKA FEBRISHA SIAGIAN

Nomor Induk Mahasiswa : 121401100

Program Studi : SARJANA(S1) ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, 14 Maret 2017 Komisi Pembimbing :

Dosen Pembimbing II Dosen Pembimbing I

Siti Dara Fadilla, S.Si, M.T Prof. Dr. Muhammad Zarlis, M.Sc NIP. 197705162005012001 NIP. 195707011986011003

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001

(4)

PERNYATAAN

PENENTUAN LOKASI DOORSMEER TERDEKAT DI KOTA MEDAN DENGAN ALGORITMA S-ORD

SKRIPSI

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

Medan, 14 Maret 2017

Rizka Febrisha Siagian 121401100

(5)

PENGHARGAAN

Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar- besarnya kepada :

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Opim Salim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

4. Bapak Prof. Dr. Muhammad Zarlis, M.Sc selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.

5. Ibu Siti Dara Fadilla, S.Si, M.T selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.

6. Bapak Dr. Syahril Efendi, S.Si, M.IT selaku Dosen Pembanding I yang memberikan kritik dan saran untuk penyempurnaan skripsi ini.

7. Bapak Handrizal, S.Si, M.Comp.Sc selaku Dosen Pembanding II yang memberikan kritik dan saran untuk penyempurnaan skripsi ini.

(6)

8. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

9. Teristimewa Ayahanda Nizamuddin Siagian, SE dan Ibunda Dra.Indriani, M.AP yang tidak henti-hentinya memberikan doa, dukungan dan motivasi kepada penulis, serta abang tersayang dr.M.Rizki Pratama Siagian yang terus memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan skripsi ini.

10. Teman yang luar biasa Atikah Rahmah Zulni yang telah memberikan doa, dukungan dan membantu penulis dalam menyelesaikan skripsi ini.

11. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan satu-persatu.

Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan berkat yang melimpah dari Allah SWT.

Medan, 14 Maret 2017 Penulis ,

Rizka Febrisha Siagian

(7)

ABSTRAK

Banyak pengguna kendaraan yang menggunakan jasa service kendaraan. Untuk service kendaraan biasanya disebut juga dengan doorsmeer yang berada di tempat yang berbeda-beda. Terdapat banyak pilihan yang dapat ditempuh untuk menuju doorsmeer terdekat yang diinginkan, doorsmeer yang dipilih adalah doorsmeer ternama di Kota Medan. Data seperti jarak dan rute untuk menuju doorsmeer yang diinginkan diambil dari google maps, dengan jumlah simpul (vertex) sebanyak 15 buah dan sisi (edge) sebanyak 28 buah, dalam pencarian doorsmeer terdekat di Kota Medan tersebut akan diterapkan kedalam sebuah graf. Dalam menyelesaikan graf diperlukan pula algoritma, algoritma yang akan digunakan yaitu algoritma S-Ord. Algoritma S-Ord ini menggunakan perintah two-way linked-list. Dimana algoritma S-Ord ini mengunjungi seluruh jarak yang ada untuk melihat jarak mana yang terpendek. Setelah mengunjungi seluruh jarak, untuk mengetahui jarak mana yang terpendek algoritma ini mencarinya dengan melihat node sebelumnya. Berdasarkan hasil pencarian doorsmeer terdekat di Kota Medan dengan menggunakan algoritma S-Ord mendapatkan nilai rata-rata running time 4,71ms.

Kata kunci : Doorsmeer, Graf, Algoritma S-Ord

(8)

DETERMINATION NEAREST DOORSMEER LOCATION IN MEDAN CITY WITH S-ORD ALGORITHM

ABSTRACT

Many vehicle user who use the service vehicle. To service the vehicle is usually called to doorsmeer in different place. There are many options that can be taken to the nearest doorsmeer, doorsmeer that have to be chosen is the popular doorsmeer in Medan City.

The data such as distance and route to get in to doorsmeer were taken from google maps, with the number of vertices as many as 15 pieces and the edges as many as 28 pieces, to search the nearest doorsmeer in Medan City will be implemented into a graph. In completing the graph is also necessary algorithms, algorithms that will be used are S- Ord algorithm. The S-Ord algorithm using the command two-way linked-list. Where the S-Ord algorithm visited the all distance there is to see which one is the shortest distance.

After visiting the all distance, to know where the shortest distance the algorithm is looking for it to look at the previous node. Based on the results search doorsmeer nearest by using S-Ord algorithm get average value of running time 4,71 ms.

Key Words : Doorsmeer, Graph, S-Ord Algorithm

(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xi

Daftar Lampiran xii

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Ruang Lingkup Masalah 2

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 5

1.6 Metode Penelitian 5

1.7 Sistematika Penulisan 6

Bab 2 Landasan Teori

2.1 Pengertian Algoritma 8

(10)

2.2 Teori Dasar Graf 9

2.2.1 Jenis-Jenis Graf 9

2.2.2 Graf Berbobot (Weighted Graph) 11

2.3 Shortest Path 12

2.4 Linked List 12

2.4.1 Singly Linked List 12

2.4.2 Doubly Linked List 13

2.5 Algoritma S-Ord 13

Bab 3 Analisis dan Perancangan Sistem

3.1 Analisis Sistem 16

3.1.1 Analisis Masalah 16

3.1.2 Analisis Persyaratan 25

3.1.2.1 Persyaratan Fungsional 25

3.1.2.2 Persyaratan Non-Fungsional 26

3.1.3 Analisis Proses 26

3.2 Perancangan Sistem 27

3.2.1 Use Case Diagram 27

3.2.2 Activity Diagram 28

3.2.2.1 Activity Diagram Cara Kerja Sistem 28

3.2.3 Sequence Diagram 29

(11)

3.2.4.1 Flowchart Sistem 30

3.2.4.2 Flowchart Algoritma 31

3.3 Perancangan Antarmuka (Interface) 32

3.3.1 Halaman Menu Main Page 32

3.3.2 Halaman Menu Pencarian Rute Terpendek 34

3.3.3 Halaman Menu Tentang Penulis 36

3.3.4 Halaman Menu Bantuan Penggunaan 37

Bab 4 Implementasi dan Pengujian

4.1 Implementasi 39

4.1.1 Tampilan Halaman Menu Main Page 39

4.1.2 Tampilan Halaman Menu Pencarian Rute Terpendek 40 4.1.3 Tampilan Halaman Menu Tentang Penulis 41 4.1.4 Tampilan Halaman Menu Bantuan Penggunaan 42

4.2 Pengujian 42

4.2.1 Pengujian Proses Implementasi 42

4.2.2 Pengujian Proses Algoritma S-Ord 43

4.2.2.1 Perhitungan Manual Algortima S-Ord 44

4.3 Running-Time 51

4.4 Kompleksitas 54

4.4.1 Kompleksitas Algoritma S-Ord 54

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 60

(12)

5.2. Saran 60

Daftar Pustaka 62

Lampiran

(13)

DAFTAR TABEL

Halaman

Tabel 3.1 Nama-Nama Doorsmeer yang Menjadi Vertex 17 Tabel 3.2 Data Simpul (Vertex) Pada Graf Doorsmeer di Kota Medan 22 Tabel 3.3 Keterangan Gambar Rancangan Antarmuka Halaman Menu Main Page 33 Tabel 3.4 Keterangan Gambar Rancangan Antarmuka Halaman Menu Pencarian

Rute Terpendek 35

Tabel 3.5 Keterangan Gambar Rancangan Antarmuka Halaman Menu Tentang

Penulis 37

Tabel 3.6 Keterangan Gambar Rancangan Antarmuka Halaman Menu Bantuan Pengaturan

Tabel 4.1 Hasil Pengujian Algoritma S-Ord 52

Tabel 4.2 Hasil Running Time Algoritma S-Ord 53

Tabel 4.3 Kompleksitas Fungsi Element 54

Tabel 4.4 Kompleksitas Fungsi S_Ord 54

Tabel 4.5 Kompleksitas Fungsi CariElementBerdasarkanNama 55

Tabel 4.6 Kompleksitas Fungsi FindShortestPath 56

(14)

DAFTAR GAMBAR

Halaman

Gambar 2.1 (a) Graf Sederhana, (b) Graf Ganda, dan (c) Graf Semu 10

Gambar 2.2 Gambar Berarah 10

Gambar 2.3 Graf Tidak Berarah 11

Gambar 2.4 Graf Berbobot 11

Gambar 3.1 Peta atau Rute Doorsmeer di Kota Medan 18

Gambar 3.2 Diagram Ishikawa 24

Gambar 3.3 Use Case Diagram 27

Gambar 3.4 Activity Diagram Cara Kerja Sistem 28

Gambar 3.5 Sequence Diagram Sistem 29

Gambar 3.6 Flowchart Sistem 30

Gambar 3.7 Flowchart Algoritma S-Ord 31

Gambar 3.8 Rancangan Antarmuka Halaman Menu Main Page 33 Gambar 3.9 Rancangan Antarmuka Halaman Menu Pencarian Rute Terpendek 34 Gambar 3.10 Rancangan Antarmuka Halaman Menu Tentang Penulis 36 Gambar 3.11 Rancangan Antarmuka Halaman Menu Bantuan Penggunaan 37

Gambar 4.1 Tampilan Halaman Menu Main Page 40

Gambar 4.2 Tampilan Halaman Menu Pencarian Rute Terpendek 41

Gambar 4.3 Tampilan Halaman Menu Tentang Penulis 41

Gambar 4.4 Tampilan Halaman Menu Bantuan Penggunaan 42 Gambar 4.5 Tampilan Nama dan Alamat Setiap Doorsmeer 43 Gambar 4.6 Tampilan Pengujian Pencarian Doorsmeer dengan Algoritma S-Ord 44

Gambar 4.7 Graf Algoritma S-Ord 44

Gambar 4.8 Hasil Pengujian Pertama dengan Algoritma S-Ord 51 Gambar 4.9 Hasil Pengujian Kedua dengan Algoritma S-Ord 52

(15)

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Listing Program A-1

Lampiran 2 Curriculum Vitae B-1

(16)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Banyak pengguna kendaraan yang menggunakan jasa service kendaraan. Untuk service kendaraan biasanya disebut juga dengan doorsmeer yang berada di tempat yang berbeda-beda. Dalam usaha untuk menghemat tenaga dan waktu dapat diselesaikan dengan mencari lokasi doorsmeer yang terdekat atau disebut dengan istilah shortest path.

Shortest path adalah pencarian rute atau path terpendek antara node yang ada pada graph. Lintasan terpendek merupakan salah satu masalah yang dapat diselesaikan dengan menggunakan graph. Jika diberikan sebuah graph berbobot, masalah lintasan terpendek adalah bagaimana kita mencari sebuah jalur pada graph yang meminimumkan jumlah bobot sisi pembentuk jalur tersebut.

Dalam penyelesaian teori graph dalam penentuan jalur lintasan terpendek dibutuhkan suatu algoritma untuk menyelesaikannya. Terdapat banyak algoritma dalam penyelesaian masalah pencarian lintasan terpendek seperti algoritma Dijkstra, algoritma Bellman-Ford, algoritma Floyd, algoritma A*, dan sebagainya.

Contoh yang pertama pada Jurnal Sistem Informasi (JSI) [Fitria Apri Triansyah, Vol. 5, No. 2, Oktober 2013] “Implementasi Algoritma Dijkstra Dalam Aplikasi Untuk Menentukan Lintasan Terpendek Jalan Darat Antar Kota Di Sumatera Bagian Selatan”.

Pada jurnal ini penulis bertujuan dengan menerapkan alogaritma dijkstra untuk mencari lintasan terdekat dapat membantu para pengguna jalan, traveling salesman, perusahaan yang bergerak dibidang pariwisata dan angkutan antar provinsi, instansi pemerintah dan lain sebagainya terutama bagi yang membutuhkan informasi tentang lintasan terdekat.

(17)

Cafe Di Kota Malang Menggunakan Metode Bellman-Ford Dengan Location Based Service Berbasis Android”. Pada jurnal ini penulis bertujuan agar para pendatang atau wisatawan yang berkunjung ke kota Malang mengetahui semua informasi yang ada di kota Malang salah satunya adalah cafe yang berada di kota Malang. Dari permasalahan diatas penulis membuat suatu aplikasi pencarian jalur terpendek berbasis android untuk memberi informasi tentang cafe yang berada di kota Malang.

Pada penelitian kali ini penulis akan meneliti pencarian jalur terpendek antar doorsmeer dengan menggunakan algoritma S-Ord. Algoritma ini merupakan pengembangan dari algoritma Dijkstra. Algoritma ini adalah versi algoritma Dijkstra dengan Q diimplementasikan sebagai linked-list tersusun dalam penyelesaiannya (Gallo

& Pallottino, 1986).

1.2 Rumusan Masalah

Rumusan masalah yang akan dibahas dalam penelitian ini adalah bagaimana merancang aplikasi untuk mencari jarak terpendek antar Doorsmeer di Kota Medan dengan menggunakan algoritma S-Ord dan dapat mengetahui cara kerja algoritma ini dalam penyelesaian shortest path.

1.3 Ruang Lingkup Masalah

Ruang Lingkup Masalah dalam skripsi ini sebagai berikut:

1. Dalam kasus ini yang diteliti yaitu sebuah graf berarah terhubung (directed connected graph) dengan menggunakan vertex yang telah ditentukan.

2. Bobot yang digunakan adalah jarak.

3. Perhitungan dilakukan dengan membandingkan Running time dan kompleksitas Big Theta dengan satuan waktu yang digunakan adalah Milisekon serta melihat hasil (Result) dari algoritma S-Ord.

4. Studi kasus dilaksanakan di lima belas titik yaitu doorsmeer di Kota Medan.

(18)

5. Studi kasus hanya membahas tentang service kendaraan atau disebut juga dengan doorsmeer pada kendaraan roda empat.

6. Nama-nama doorsmeer yang menjadi titik dalam penelitian ini, yaitu : 1. Multra Auto Service

Jl. Asrama No.21 2. Cuci Express

Jl. Ngumban Surbakti 3. Doorsmeer Salju

Jl. A. H. Nasution 4. Sehat Pro Auto Clinic

Jl. Kenanga Raya No.66 5. Smart n Care

Jl. Sei Batang Hari No. 4 6. Duta Doorsmeer

Jl. Gatot Subroto No. 307 7. Berjaya Motor

Jl. Gajah Mada No. 9 8. Gesere Motor

Jl. K.H. Wahid Hasyim No.122 9. Modern Automatic Doorsmeer

Jl. Sisingamangaraja No.26 10. C3 Car Wash

Jl. Mongonsidi 11. Fit Service

Jl. T. Amir Hamzah

(19)

13. Tahiti Car Wash Jl. Menteng Raya 14. Sehat Panca Motor

Jl. H.M. Joni

15. Star Medan Service Jl. Willem Iskandar

7. Tidak membahas waktu dan kecepatan kendaraan dan keadaan lalu lintas dari tempat asal ke tempat tujuan.

8. Dari tempat asal ke tempat tujuan dianggap tidak ada hambatan seperti lampu merah atau hambatan lain.

9. Pengambilan data bobot jarak dengan simpul (vertex) sebanyak 15 buah dan sisi (edge) sebanyak 28 buah pada graf yang merepresentasikan jarak antara doorsmeer menggunakan bantuan dari Google Maps.

10. Aplikasi ini menggunakan data titik awal yang diinginkan dan posisi doorsmeer yang sudah ditentukan.

11. Aplikasi ini Offline dan dirancang dengan menggunakan bahasa pemograman C#.

1.4 Tujuan Penelitian Tujuan Penelitian ini adalah:

1. Menggunakan algoritma S-Ord untuk mendapatkan jalur terpendek dengan menggunakan bantuan bahasa pemrograman C#.

2. Mengimplementasikan algoritma S-Ord dalam menenetukan pencarian doorsmeer terdekat di Kota Medan.

(20)

1.5 Manfaat Penelitian

Manfaat yang diharapkan dapat dihasilkan dari penelitian ini adalah untuk mengetahui implementasi algoritma S-ord dan juga dapat membantu dan mempermudah pengguna dalam menentukan jarak terpendek antar doorsmeer di Kota Medan dengan menerapkan algoritma S-ord.

1.6 Metode Penelitian

Tahapan yang dilakukan dalam penelitian ini adalah:

1. Studi Literatur

Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa buku, jurnal, artikel, situs internet yang berkaitan dengan penelitian ini.

2. Pengumpulan dan Analisis Data

Pada tahap ini dilakukan pengumpulan dan analisa data yang berhubungan dengan penelitian ini seperti fungsi algoritma S-ord dapat menentukan lintasan terpendek dari satu tempat ke tempat lainnya, banyaknya doorsmeer, lokasinya dan rute yang akan dilewati.

3. Perancangan Sistem

Merancang sistem sesuai dengan rencana yang telah ditentukan, yaitu meliputi perancangan desain awal seperti perancangan tampilan Gui(Graphic User Interface). Proses perancangan ini berdasarkan pada batasan masalah dari penelitian ini.

4. Implementasi Sistem

Pada tahap ini sistem telah selesai dikembangkan dengan algoritma S-Ord dalam penentuan lokasi doorsmeer terdekat di Kota Medan ke dalam bentuk program.

(21)

5. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dikembangkan .

6. Dokumentasi Sistem

Melakukan pembuatan dokumentasi sistem mulai dari tahap awal hingga pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian (skripsi).

1.7 Sistematika Penulisan

Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu:

BAB 1 PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang penelitian judul skripsi

“Penentuan Lokasi Doorsmeer Terdekat Di Kota Medan dengan Algoritma S- Ord”. Rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, tinjauan pustaka dan sistematika penulisan skripsi.

BAB 2 LANDASAN TEORI

Bab ini membahas tentang teori-teori yang berhubungan dengan lintasan terpendek, teori graf, jenis-jenis graf, linked list, double linked list, algoritma S- Ord dan sebagainya.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Berisi tentang uraian analisis mengenai proses kerja dari algoritma S-Ord dalam pencarian doorsmeer terdekat di Kota Medan, serta perancangan antarmuka pengguna.

(22)

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Pada tahap ini dilakukan pembuatan sistem dan coding sesuai dengan analisis dan perancangan, kemudian melakukan pengujian sistem.

BAB 5 KESIMPULAN DAN SARAN

Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian dari bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.

(23)

BAB 2

LANDASAN TEORI

2.1 Pengertian Algoritma

Algoritma berasal dari nama seorang Ilmuwan Arab yang bernama Abu Jafar Muhammad Ibnu Musa Al Khuwarizmi penulis buku berjudul Al Jabar Wal Muqabala.

Dua Kata Al Khuwarizmi dibaca orang barat menjadi Algorism yang kemudian lambat laun menjadi Algorithm diserap dalam bahasa Indonesia menjadi Algoritma. Algoritma dapat diartikan urutan penyelesaian masalah yang disusun secara sistematis menggunakan bahasa yang logis untuk memecahkan suatu permasalahan (Barakbah, 2013).

Algoritma merupakan urutan langkah-langkah untuk menyelesaikan masalah yang disusun secara sitematis. Algoritma dibuat dengan tanpa memperhatikan bentuk yang akan digunakan sebagai implementasinya, sehingga suatu Algoritma dapat menjelaskan “bagaimana” cara melaksanakan fungsi yang dapat diekspresikan dengan suatu program atau suatu komponen fisik (Hartono, 2007).

Algoritma adalah urutan atau deskripsi langkah- langkah penyelesaian masalah yang tersusun secara logis, ditulis dengan notasi yang mudah dimengerti sedemikian sehingga langkah- langkah tersebut dapat dilaksanakan oleh pemroses dan merubah masukan masukan menjadi keluaran (Thomas, 2009).

Dari pengertian diatas maka dapat disimpulkan bahwa algoritma adalah ilmu yang mempelajari cara penyelesaian suatu masalah berdasarkan urutan langkah-langkah

(24)

terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan tertentu (Barakbah, 2013).

2.2 Teori Dasar Graf

Teori graf merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak terapan sampai saat ini. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antar objek-objek tersebut. Representasi visual dari graf adalah dengan objek dinyatakan sebagai noktah, bulatan, atau titik, sedangkan hubungan antara objek dinyatakan dengan garis (Munir, 2014).

Secara kasar, graf adalah suatu diagram yang memuat informasi tertentu jika diinterpretasikan secara tepat. Dalam kehidupan sehari-hari, graf digunakan untuk menggambarkan berbagai macam struktur yang ada. Tujuannya adalah sebagai visualisasi objek-objek agar lebih mudah dimengerti (Siang, 2006). Beberapa contoh model dalam dunia nyata yang dapat direpresentasikan sebagai graph adalah desain jaringan pipa minyak, jaringan fisik seperti jalan, rel kereta api, atau rute pesawat terbang, jaringan kabel listrik, dan sebagainya.

Tiap-tiap diagram memuat sekumpulan objek (kotak, titik, dan lain-lain) beserta garis-garis yang menghubungkan objek-objek tersebut. Garis bisa berarah ataupun tidak berarah. Garis yang berarah biasanya digunakan untuk menyatakan hubungan yang mementingkan urutan antara objek-objek. Urut-urutan objek akan berarti lain jika arah garis diubah. Sebaliknya, garis yang tidak berarah digunakan untuk menyatakan hubungan antar objek yang tidak mementingkan urutan.

Graf adalah hubungan antara simpul dan sisi. Di mana terdiri dari minimal sebuah simpul. G = (V,E), dengan V adalah himpunan simpul yang tidak kosong dan E adalah

(25)

himpunan sisi yang masing-masing anggotanya menghubungkan 2 buah simpul (Siang, 2006).

2.2.1 Jenis - Jenis Graf

Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis, yaitu:

1. Graf Sederhana (simple graph) adalah graf yang tidak mengandung gelang maupun sisi ganda.Pada graf sederhana, sisi adalah pasangan tak terurut (unordered pairs) (Munir, 2014).

2. Graf Tidak Sederhana (unsimple graph) adalah graf yang mengandung sisi ganda atau gelang. Ada dua macam graf tidak sederhana, yaitu graf ganda (multigraph) dan graf semu (pseudograph). Graf ganda adalah graf yang mengandung sisi ganda. Sisi ganda yang menghubungkan sepasang simpul bisa lebih dari dua buah. Sedangkan graf semu adalah graf yang mengandung gelang (loop). Graf semu lebih umum daripada graf ganda, karena sisi pada graf semu dapat terhubung ke dirinya sendiri (Munir, 2014). Pada gambar 2.1 adalah contoh graf sederhana, graf ganda dan graf semu.

Gambar 2.1 (a) graf sederhana, (b) graf ganda, dan (c) graf semu

(26)

Sisi pada graf dapat mempunyai orientasi arah. Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas dua jenis:

1. Graf berarah (direct graph) yaitu graf yang setiap sisinya diberikan arah sehingga untuk dua simpul vi dan vj, maka (vi,vj vj,vi). (Salaki, 2011). Kita lebih suka menyebut sisi berarah dengan sebutan busur (arc). Graf berarah sering dipakai untuk menggambarkan aliran proses, peta lalu lintas suatu kota (jalan searah atau dua arah), dan sebagainya. Pada graf berarah,gelang diperbolehkan, tetapi sisi ganda tidak. (Munir, 2014). Pada gambar 2.2 adalah contoh graf berarah.

Gambar 2.2 Graf Berarah

2. Graf tak berarah (undirect graf) yaitu graf yang sisinya tidak mengandung arah sehingga untuk dua simpul vi dan vj, maka (vi,vj) (vj,vi). (Salaki, 2011). Pada graf tak berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan.

Pada gambar 2.3 adalah contoh graf tak berarah.

(27)

Gambar 2.3 Graf Tidak Berarah 2.2.2 Graf berbobot (weighted graph)

Graf berbobot (weighted graph) adalah graf yang setiap sisinya diberi sebuah harga (bobot) (Munir, 2014). Bobot pada tiap sisi dapat berbeda-beda bergantung pada masalah yang dimodelkan dengan graf. Bobot dapat menyatakan jarak antara dua buah kota, waktu tempuh, dan sebuah simpul komunikasi ke simpul komunikasi lain. Pada gambar 2.4 adalah contoh graf berbobot.

Gambar 2.4 Graf Berbobot

(28)

2.3 Shortest Path

Shortest path adalah pencarian rute atau path terpendek antara node yang ada pada graph,biaya (cost) yang dihasilkan adalah minimum. Graf yang digunakan dalam pencarian lintasan terpendek adalah graf berbobot (weighted graph), yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu pengiriman pesan, ongkos pembangunan, dan sebagainya.

Asumsi yang digunakan di sini adalah bahwa semua bobot bernilai positif.

Lintasan terpendek adalah jalur yang dilalui dari suatu node ke node lain dengan besar atau nilai pada sisi yang jumlah akhirnya dari node awal ke node akhir paling kecil. Lintasan terpendek adalah lintasan minimum yang diperlukan untuk mencapai suatu tempat dari tempat lain. Lintasan minimum yang dimaksud dapat dicari dengan menggunakan graf. Graf yang digunakan adalah graf yang berbobot yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot (Hayati & Yohanes, 2014).

2.4 Linked List

Linked list adalah koleksi node dan setiap node terdiri dari bagian informasi dan bagian tautan. Bagian informasi berisi data dan bagian tautan berisi alamat dari simpul berikutnya. Manfaat utama dari linked list adalah bahwa elemen linked list dapat dengan mudah dimasukkan atau dikeluarkan tanpa realokasi atau reorganisasi seluruh struktur karena item data tidak perlu disimpan langsung dalam memori. (Karuna & Gupta, 2014).

Jadi, linked list merupakan struktur data yang memudahkan untuk mengatur ulang data tanpa harus memindahkan data dalam memori (Keogh & Davidson, 2004).

(29)

2.4.1 Singly Linked List

Singly linked list terdiri dari elemen-elemen individu,dimana masing-masing dihubungkan dengan pointer tunggal. Masing-masing elemen terdiri dari dua bagian, yaitu sebuah data dan sebuah pointer yang disebut dengan pointer next. Dengan menggunakan struktur two-member seperti ini, linked list dibentuk dengan cara menunjuk pointer next suatu elemen ke elemen yang mengikutinya. Pointer next pada elemen terakhir merupakan NULL, yang menunjukkan akhir dari suatu list. Elemen pada awal suatu list disebut head, dan elemen terakhir dari suatu list disebut tail (Keogh

& Davidson, 2004).

2.4.2 Doubly Linked List

Elemen-elemen dihubungkan dengan dua pointer dalam satu elemen. Struktur ini menyebabkan list melintas baik ke depan maupun ke belakang. Masing-masing elemen pada double linked list terdiri dari tiga bagian, disamping data dan pointer next, juga dilengkapi dengan pointer prev yang menunjuk ke elemen sebelumnya (Levitin, 2012).

Double linked list dibentuk dengan menyusun sejumlah elemen sehingga pointer next menunjuk ke elemen yang mengikutinya dan pointer prev menunjuk ke elemen yang mendahuluinya. Untuk menunjukkan head dari double linked list, maka pointer prev dari elemen pertama menunjuk NULL. Untuk menunjukkan tail dari double linked list tersebut, maka pointer next dari elemen terakhir menunjuk NULL. Susunan elemen yang dihubungkan dalam bentuk double linked list. Untuk melintas kembali melalui double linked list, kita gunakan pointer prev dari elemen yang berurutan pada arah tail ke head.

(30)

2.5 Algoritma S-Ord

Algoritma dijkstra merupakan algoritma yang paling sering digunakan dalam pencarian rute terpendek, sederhana penggunaannya denga menggunakan simpul-simpul sederhana pada jaringan jalan yang tidak rumit. Cara kerja algoritma Dijkstra yaitu dengan menggunakan prinsip antrian (queue), akan tetapi antrian yang digunakan algoritma dijkstra adalah antrian berprioritas. Jadi hanya simpul yang memiliki prioritas tertinggi yang akan ditelusuri. Dalam menentukan simpul yang berprioritas, algoritma ini membandingkan setiap nilai(bobot) dari simpul yang berada pada satu level. Selanjutnya nilai (bobot) dari setiap simpul tersebut disimpan untuk dibandingkan dengan nilai yang ditemukan dari rute yang baru ditemukan kemudian, begitu seterusnya sampai ditemukan simpul yang dicari (Fauzi, 2011).

Menurut Gallo & Pallottino (1986) algoritma S-Ord adalah versi algoritma Dijkstra dengan Q diimplementasikan sebagai linked-list tersusun. Algoritma S-Ord menggunakan perintah two-way linked-list. Untuk melakukan operasi Q pada node akhir dari arc di FS(u), list dipindahi hanya sekali mulai dari tail (label elemen tertinggi) ke head. Dan beberapa nilai Q dapat dilewati dalam proses scanning. Hal ini menarik ketika algoritma harus digunakan berkali-kali pada set data yang sama (Gallo &

Pallottino, 1988).

Berikut ini pseudocode algoritma S-Ord dalam mencari rute terpendek pada sebuah graf.

Procedure SORD(r) ; begin

(31)

repeat

comment: selection of u ; u:= Q(I) ;

remove u from Q ;

comment: exploration of FS(u) ;

foreach (u, v) ϵ FS(u) suchthat du + Iuv < dv do begin

dv := du + Iuv ; pv := u ;

if v ϵ Q then insert v into Q ;

move v to its proper position in Q end

until Q = 0 end ;

Penjelasan pseudocode diatas adalah sebagai berikut:

Didefinisikan p, d, Q

p = predecessor dari rute

(32)

d = nilai tempuh ke suatu node Q = node yang akan di proses

u = node yang sedang aktif (diproses)

FS(u) = forward star dari u, semua node yang terhubung pada u du = jarak awal

dv = jarak tujuan

I = panjang jarak awal ke tujuan Dipilih node awal yaitu U,

Dimana U merupakan elemen pertama dari seluruh node yang ditampung dalam Q, karna Q pada awalnya kosong, maka Q di isikan u.

Sehingga, u := Q[1].

Dihapus elemen u dari Q, artinya elemen pertama dari Q dihilangkan, dan dilakukan pencari an terhadap node yang terhubung terhadap u. Jika jarak yang sudah ditempuh ke node u + jarak dari u ke v < jarak yang sudah ditempuh ke node v, jarak tempuh v = jarak tempuh u + jarak dari u ke v. Predesessor dari v = u. Jika v bukan elemen dari Q maka masukkan v ke dalam Q, dan letakkan v pada urutan yang benar dalam Q.

Pencarian dilakukan hingga Q = {} Himpunan Kosong.

(33)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan tahapan yang menjelaskan beberapa permasalahan yang akan membantu proses perancangan model sistem yang nantinya akan diimplementasikan dan menjadi penyelesaian dari masalah yang dikaji. Aplikasi Penentuan Lokasi Doorsmeer Terdekat Di Kota Medan ini merupakan aplikasi untuk menentukan jarak terpendek yang paling efektif untuk mencapai tempat tersebut. Dalam tugas akhir ini fase analisis yang akan dibahas adalah analisis masalah dan analisis persyaratan, dimana analisis masalah bertujuan untuk mempermudah dalam memahami masalah yang akan dihadapi dalam sistem, sedangkan analisis kebutuhan bertujuan untuk menjelaskan fungsi-fungsi yang mampu dikerjakan oleh sistem.

3.1.1 Analisis Masalah

Banyak pengguna kendaraan yang menggunakan jasa service kendaraan. Untuk service kendaraan biasanya disebut juga dengan doorsmeer yang berada di tempat yang berbeda-beda. Dalam usaha untuk menghemat tenaga dan waktu dapat diselesaikan dengan mencari lokasi doorsmeer yang terdekat sehingga dapat membuat perjalanan lebih efektif. Dengan dasar ini penulis mencari suatu cara untuk mencari doorsmeer terdekat di Kota Medan dengan menggunakan algoritma S-Ord.

Permasalahan dari penelitian ini adalah bukan hanya sebatas pencarian jalur terpendek tetapi juga melihat hasil running time dan bagaimana cara kerja algoritma S- Ord. Dalam pengaplikasiannya graf dibentuk dengan mengikuti peta Kota Medan,

(34)

dimana vertex ditentukan berdasarkan beberapa nama doorsmeer ternama yang telah di pilih dan edge merupakan panjang jarak jalan yang akan dilalui nantinya dari doorsmeer satu ke doorsmeer lainnya.

Terdapat 15 nama doorsmeer besar di Kota Medan yang diterapkan kedalam graf pada sistem yang dibuat, nama-nama doorsmeer yang digunakan dapat dilihat pada Tabel 3.1.

Tabel 3.1 Nama-Nama Doorsmeer yang Menjadi Vertex

No Nama Foto Studio

1 Multra Auto Srvice 2 Cuci Express 3 Doorsmeer Salju 4 Sehat Pro Auto Clinic 5 Smart n Care

6 Duta Doorsmeer 7 Berjaya Motor 8 Gesere Motor

9 Modern Automatic Doorsmeer 10 C3 Car Wash

11 Fit Service 12 Auto 33

13 Tahiti Auto Car Wash

(35)

14 Sehat Panca Motor 15 Star Medan Service

Pada penelitian ini, penulis membatasi masalah hanya dengan 15 buah simpul (vertex), diharapkan akan ada penelitian lebih lanjut untuk menyelesaikan masalah yang serupa dengan memperbanyak jumlah simpul. Berikut peta rute/jalan dari 15 doorsmeer yang telah dipilih di Kota Medan dan dapat dilihat pada Gambar 3.1.

(36)

(37)

(38)

(39)

Gambar 3.1 Peta atau Rute Doorsmeer di Kota Medan

Permasalahan yang akan diangkat dari penelitian ini adalah bagaimana cara kerja algoritma S-Ord dalam pencarian lintasan terpendek. Pada penelitian ini, penentuan lintasan terpendek (shortest path) di simulasikan ke dalam model graph.

Dalam graf, penentuan hubungan antar simpul (vertex) dan sisi (edge) pada graf doorsmeer di Kota Medan sangat diperlukan, dengan memperhatikan bobot agar dapat dilakukan proses yang lebih maksimal, hubungan antar sebuah simpul (vertex) dengan simpul (vertex) lainnya saling berkaitan karna tiap simpul memiliki sisi (edge) yang menghubungkan sebuah simpul (vertex) dengan simpul (vertex) lainnya agar dapat membentuk graf. Data simpul (vertex) pada graf doorsmeer di Kota Medan yang telah dipilih dapat lihat pada Tabel 3.2.

Tabel 3.2 Data Simpul (Vertex) Pada Graf Doorsmeer di Kota Medan

No Nama Vertex Nama Tetangga Bobot

1 Multra Auto Service

Fit Service 6,4 km

Auto 33 5,3 km

Berjaya Motor 7,8 km

2 Berjaya Motor

Multra Auto Service 7,8 km

Auto 33 2,7 km

Smart n Care 1 km

Gesere Motor 450 m

Star Medan Service 9,1 km

(40)

3 Auto 33

Multra Auto Service 5,3 km

Fit Service 3,1 km

Berjaya Motor 2,7 km

4 Fit Service

Multra Auto Service 6,4 km

C3 Car Wash 8 km

Sehat Panca Motor 9,4 km

Smart n Care 4 km

Auto 33 3,1 km

5 C3 Car Wash

Fit Service 8 km

Tahiti Car Wash 6,3 km

Sehat Panca Motor 4,9 km

6 Star Medan Service Berjaya Motor 9,1 km

Duta Doorsmeer 7,2 km

7 Gesere Motor Berjaya Motor 450 m

Duta Doorsmeer 3 km

8 Smart n Care

Berjaya Motor 1 km

Fit Service 4 km

Sehat Pro Auto Clinic 3,9 km

Duta Doorsmeer 4,6 km

9 Sehat Panca Motor

Fit Service 4,1 km

C3 Car Wash 5,8 km

Tahiti Car Wash 5,6 km

Sehat Pro Auto Clinic 8,9 km

10 Tahiti Car Wash

C3 Car Wash 6,3 km

Sehat Panca Motor 1,4 km Sehat Pro Auto Clinic 10 km Modern Automatic Doorsmeer 6,3 km

11 Duta Doorsmeer

Star Medan Service 7,2 km

Gesere Motor 3 km

Smart n Care 4,6 km

Sehat Pro Auto Clinic 5,5 km

(41)

Sehat Panca Motor 8,9 km

Tahiti Car Wash 10 km

Modern Automatic Doorsmeer 12 km

Doorsmeer Salju 8,6 km

Cuci Express 4,9 km

Duta Doorsmeer 5,5 km

13 Cuci Express

Duta Doorsmeer 8,6 km

Sehat Pro Auto Clinic 4,9 km

Doorsmeer Salju 4,3 km

14 Modern Automatic Doorsmeer

Sehat Pro Auto Clinic 12 km

Tahiti Car Wash 6,3 km

Doorsmeer Salju 3,7 km

15 Doorsmeer Salju

Cuci Express 5,7 km

Sehat Pro Auto Clinic 8,6 km Modern Automatic Doorsmeer 3,7 km Analisis masalah dapat diidentifikasi dengan menggunakan diagram Ishikawa.

Diagram Ishikawa digunakan untuk mengidentifikasi kemungkinan penyebab masalah.

Diagram Ishikawa bentuknya menyerupai kerangka tulang ikan yang bagian-bagiannya meliputi kepala, sirip dan duri dimana digambarkan seperti susunan tulang ikan yang terbagi atas dua bagian yaitu bagian kepala ikan yang merupakan masalah, bagian utama tulang belakang merupakan kemungkinan-kemungkinan penyebab masalah. Diagram Ishikawa sistem ini dapat dilihat pada Gambar 3.2.

(42)

Gambar 3.2 Diagram Ishikawa

Diagram Ishikawa diatas terbagi atas 2 (dua) bagian yaitu head dan bone. Bone terdiri dari 4 aspek yaitu material, metode, user dan sistem. Material adalah apa saja yang diperlukan dalam menjalankan sistem yaitu jarak yang digunakan untuk mengetahui seberapa jauh jalan yang akan ditempuh. Metode adalah kebutuhan yang spesifik dari proses yang terdiri dari 2 (dua) bagian yaitu bagian algoritma S-Ord, dan hasil pencarian untuk menjalankan hasil graf yang terbentuk. User dalam hal ini yaitu apa saja yang akan diketahui dari sistem yang akan dikerjakan, dimana user sebelumnya belum mengetahui cara kerja sistem. Sistem adalah hal yang akan dilakukan atau dibuat yaitu dengan membuat aplikasi penentuan lokasi doorsmeer terdekat di Kota Medan dengan menggunakan algoritma S-Ord dan menerapkan cara kerja algoritma tersebut.

3.1.2 Analisis Persyaratan

Terdapat dua bagian pada analisis persyaratan yaitu persyaratan fungsional dan Sistem

User

Menganalisis kompleksitas algoritma

dan running time s-ord dalam penentuan lokasi doorsmeer terdekat di

kota medan Mencari jarak masih

digunakan secara manual

Belum adanya kinerja tentang Algoritma S-Ord

Belum adanya aplikasi untuk mencari doorsmeer terdekat di Kota Medan

Material Metode

Penginputan data vertex masih dilakukan secara manual

Penentuan node asal dan tujuan masih secara manual

User masih menghitung jarak secara manual

Untuk mengetahui cara kerja Algoritma S-Ord dan running time

(43)

3.1.2.1 Persyaratan Fungsional

Analisis kebutuhan fungsional disini mendekripsikan tentang sistem yang disediakan.

Sistem ini melakukan perhitungan jarak dan waktu pencarian doorsmeer terdekat di Kota Medan pada graph dengan algoritma S-Ord. Terdapat beberapa persyaratan fungsional antara lain:

1. Graf doorsmeer di Kota Medan yang telah dipilih dan dapat ditampilkan pada sistem sesuai dengan representasi graf yang telah ditentukan.

2. Sistem yang dibangun menggunakan simpul (vertex) dan sisi (edge) pada graf dan dapat ditampilkan pada sistem beserta nama, bobot, alamat dan rute yang akan dilalui menuju doorsmeer tersebut dari setiap sisi (edge) yang terhubung dengan simpul (vertex).

3. Sistem ini mendapatkan hasil pencarian dengan graf menggunakan algoritma S-Ord yang dapat diterapkan pada sistem.

4. Sistem menghasilkan running time agar dapat menentukan kecepatan proses dari algoritma tersebut.

5. Sistem mendapatkan hasil pada graf dengan menggunakan algoritma S-Ord yang dapat menentukan rute mana saja yang akan dilalui yang diterapkan dalam sistem.

3.1.2.2 Persyaratan Non-Fungsional

Kebutuhan non-fungsional adalah kebutuhan yang berisi kinerja operasional dan performance dari suatu sistem. Terdapat beberapa persyaratan non-fungsional yang harus dipenuhi diantaranya:

(44)

1. User Friendly

Sistem yang akan dibangun harus mudah digunakan (user friendly), artinya sistem ini akan mudah digunakan oleh user dengan tampilan yang sederhana dan dapat dimengerti.

2. Performa

Sistem atau perangkat lunak yang akan dibangun harus dapat menunjukkan hasil running time dari algoritma yang diterapkan yaitu algoritma S-Ord.

3. Hemat Biaya

Sistem atau perangkat lunak yang digunakan tidak memerlukan perangkat tambahan yang dapat mengeluarkan biaya dan menggunakan software pendukung yang bersifat freeware sehingga tidak memerlukan izin yang dapat merugikan pihak lain.

4. Manajemen Kualitas

Sistem atau perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu dapat menghitung jarak secara tepat serta dapat menghitung nilai running time.

3.1.3 Analisis Proses

Pembangunan sistem ini dirancang dengan menggunakan bahasa pemrograman C#.

Algoritma yang digunakan untuk mencari foto studio terdekat di Kota Medan adalah S- Ord, hasil kerja dari algoritma tersebut akan diterapkan untuk mendapatkan hasil yang baik dari graf yang telah terbentuk.

3.2 Perancangan Sistem

Pada bagian ini digunakan Unified Modeling Languange (UML) sebagai bahasa spesifikasi standar suatu model yang berfungsi untuk membantu merancang sistem.

Beberapa jenis UML yang digunakan dalam penelitian ini yaitu use case diagram, sequence diagram dan activity diagram.

(45)

3.2.1. Use Case Diagram

Use case diagram merupakan rangkaian yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh seorang aktor. Use case diagram biasanya menggambarkan proses sistem yaitu kebutuhan sistem dari sudut pandang user. Berikut use case diagram dapat dilihat pada Gambar 3.3.

Gambar 3.3 Use Case Diagram

3.2.2. Activity Diagram

Activity diagram dapat menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses, serta dapat menggambarkan alur aktivitas kerja pada sistem yang sedang dirancang ataupun berjalan, bagaimana masing-masing alur berawal, decision yang mungkin terjadi dan bagaimana berakhir.

(46)

3.2.2.1 Activity Diagram Cara Kerja Sistem

Activity diagram menjelaskan proses kerja dari sistem dalam proses input node serta menentukan titik awal dan akhir yang dilakukan oleh user. Activity diagram bertujuan untuk membantu memahami keseluruhan proses dan menggambarkan interaksi antara beberapa use case. Activity diagram sistem pada aplikasi yang dibuat dapat dilihat pada Gambar 3.4.

Gambar 3.4 Activity Diagram Cara Kerja Sistem

(47)

3.2.3 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek juga mengindikasikan komunikasi antar objek, sequence juga membantu untuk menggambarkan data yang masuk dan keluar sistem. Sequence diagram sistem ini dapat dilihat pada Gambar 3.5.

Gambar 3.5 Sequence Diagram Sistem

3.2.4 Flowchart

Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.

(48)

3.2.4.1 Flowchart Sistem

Berikut ini adalah flowchart yang akan menggambarkan cara kerja sistem yang akan berjalan dalam penentuan lintasan terpendek dengan menggunakan algoritma S-Ord.

Flowchart dari sistem yang dibangun dapat dilihat pada Gambar 3.6.

(49)

3.2.4.2 Flowchart Algoritma S-Ord

Berikut ini adalah flowchart yang akan menggambarkan cara kerja algoritma S-Ord yang digunakan dalam sistem penetuan lintasan terpendek. Flowchart dari algoritma S- Ord dapat dilihat pada Gambar 3.7.

Gambar 3.7 Flowchart Algoritma S-Ord

(50)

Keterangan:

P: Titik Awal d(u): Jarak Awal I: Panjang Jarak Awal ke Tujuan Q: Titik Tujuan d(v): Jarak Tujuan u : Node yang sedang aktif (diproses) FS(u) : forward star dari u, semua node yang terhubung pada u

3.3 Perancangan Antarmuka (Interface)

Perancangan antarmuka menampilkan antarmuka sistem yang akan digunakan oleh user.

Antarmuka yang baik perlu memperhatikan faktor pengguna dalam menggunakan sistem, selain untuk mempermudah pengguna dalam menggunakan sistem yang dibangun juga perlu diperhatikan kenyamanan dari pengguna dalam menggunakan sistem tersebut. Pada tampilan ini terdapat menu Main Page, Pencarian Rute Terpendek, Tentang Penulis, Bantuan Penggunaan.

3.3.1 Halaman Menu Main Page

Halaman Main Page merupakan halaman awal pada sistem saat dibuka..Pada Halaman ini terdapat beberapa menu bar yaitu Main Page, Pencarian Rute Terpendek, Tentang Penulis, Bantuan Penggunaan. Tampilan Rancangan halaman menu Main Page dapat dilihat pada Gambar 3.8 dan keterangan gambar rancangan halaman pada Tabel 3.3.

(51)

Tabel 3.3 Keterangan Gambar Rancangan Antarmuka Halaman Menu Main Page

3.3.2 Halaman Menu Pencarian Rute Terpendek

Pada halaman ini pengguna dapat melihat graf yang akan ditampilkan, dan melihat hasil total jarak, rute dan running time dari algoritma tersebut. Tampilan Rancangan halaman menu Pencarian Rute Terpendek dapat dilihat pada Gambar 3.9 dan keterangan gambar rancangan halaman pada Tabel 3.4.

No Keterangan

1 Label untuk menampilkan keterangan judul sistem

2 Tab page pada Menu “Main Page” untuk menampilkan beranda sistem 3 Tab control pada Menu “Pencarian Rute Terpendek” untuk menampilkan

graf , rute dan hasil algoritma

4 Tab control pada Menu “Tentang penulis” untuk menampilkan data dari penulis

5 Tab control pada Menu “Bantuan penggunaan” untuk menampilkan halaman pentunjuk penggunaan sistem

6 Label untuk menampilkan judul skripsi, nama dan NIM

7 Picture Box untuk menampilkan logo Universitas Sumatera Utara 8 Label untuk menampilkan tulisan Program Studi

9 Label untuk menampilkan tulisan Universitas

10 Picture Box untuk menampilkan logo Universitas Sumatera Utara

(52)

Gambar 3.9 Rancangan Antarmuka Halaman Menu Pencarian Rute Terpendek Tabel 3.4 Keterangan Gambar Rancangan Antarmuka Halaman Menu Pencarian

Rute Terpendek

No Keterangan

1 Tab control pada Menu “Main Page” untuk menampilkan beranda sistem 2 Tab control pada Menu “Pencarian Rute Terpendek” untuk menampilkan

graf , rute dan hasil algoritma

3 Tab control pada Menu “Tentang Penulis” untuk menampilkan data dari penulis

4 Tab control pada Menu “Bantuan Pengaturan” untuk menampilkan halaman pentunjuk penggunaan sistem

5 Group Box untuk menampilkan graf

(53)

7 Label untuk menampilkan tulisan doorsmeer awal 8 Combo Box untuk node asal

9 Label untuk menampilkan tulisan doorsmeer tujuan 10 Combo Box untuk node tujuan

11 Button untuk menampilkan Hasil

12 Group Box untuk menampilkan hasil output 13 Label untuk menampilkan tulisan asal 14 Label untuk menampilkan hasil asal 15 Label untuk menampilkan tulisan tujuan 16 Label untuk menampilkan hasil tujuan 17 Label untuk menampilkan tulisan total jarak 18 Label untuk menampilkan hasil total jarak 19 Label untuk menampilkan tulisan running time 20 Label untuk menampilkan hasil running time 21 Group Box untuk menampilkan rute yang dilalui 22 List box untuk menampilkan hasil rute yang dilalui 23 Button untuk mereset ulang graf

24 Group Box untuk menampilkan info vertex 25 Label untuk menampilkan tulisan kode node 26 Label untuk menampilkan hasil kode node

(54)

27 Label untuk menampilkan tulisan nama

28 Label untuk menampilkan hasil nama doorsmeer 29 Label untuk menampilkan tulisan alamat

30 Label untuk menampilkan hasil alamat doorsmeer 31 Label untuk menampilkan tulisan Program Studi

3.3.3 Halaman Menu Tentang Penulis

Halaman menu Tentang Penulis merupakan halaman yang berisi biodata penulis.

Tampilan rancangan halaman menu Tentang Penulis dapat dilihat pada Gambar 3.10 dan keterangan gambar rancangan halaman pada Tabel 3.5.

Gambar 3.10 Rancangan Antarmuka Halaman Menu Tentang Penulis

(55)

Tabel 3.5 Keterangan Gambar Rancangan Antarmuka Halaman Menu Tentang Penulis

3.3.

4 Hal ama n Men u Bantuan Penggunaan

Pada halaman ini pengguna dapat melihat petunjuk penggunaan dari sistem. Tampilan rancangan halaman menu Bantuan dapat dilihat pada Gambar 3.11 dan keterangan gambar rancangan halaman pada Tabel 3.8.

Gambar 3.11 Rancangan Antarmuka Halaman Menu Bantuan Pengaturan

No Keterangan

1 Group Box untuk menampilkan tulisan Tentang Penulis 2 Picture Box untuk menampilkan foto penulis

3 Label untuk menampilkan data penulis

(56)

Tabel 3.6 Keterangan Gambar Rancangan Antarmuka Halaman Menu Bantuan Pengaturan

No Keterangan

1 Group Box untuk menampilkan tulisan bantuan penggunaan program 2 Label untuk menampilkan urutan penggunaan aplikasi

(57)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem.

Sistem ini dibangun dengan menggunakan bahasa pemrograman C# dan menggunakan SharpDevelop. Pada sistem ini terdapat 4 (empat) tampilan halaman, yaitu Halaman Main Page, Halaman Pencarian Rute Terpendek, Halaman Tentang Penulis dan Halaman Bantuan Penggunaan.

4.1.1 Tampilan Halaman Menu Main Page

Tampilan halaman menu Main Page merupakan tampilan halaman yang muncul pertama sekali pada saat sistem dijalankan. Halaman ini berisi judul sistem, nama penulis, nim penulis, logo Universitas dan nama Pogram Studi. Tampilan halaman menu Main Page dapat dilihat pada Gambar 4.1.

(58)

Gambar 4.1 Tampilan Halaman Menu Main Page

4.1.2 Tampilan Halaman Menu Pencarian Rute Terpendek

Tampilan halaman menu pencarian rute terpendek merupakan halaman yang digunakan untuk mengatur node awal, node tujuan, menampilkan rute yang akan dilalui serta menampilkan hasil total jarak dan running time. Pada halaman ini graf sudah ditampilkan. Tampilan halaman menu pencarian rute terpendek dapat dilihat pada Gambar 4.2.

(59)

Gambar 4.2 Tampilan Halaman Menu Pencarian Rute Terpendek 4.1.3 Tampilan Halaman Menu Tentang Penulis

Tampilan halaman menu tentang penulis merupakan halaman yang berisi data penulis dan penjelasan lainnya. Tampilan halaman menu tentang penulis dapat dilihat pada Gambar 4.5.

Gambar 4.3 Tampilan Halaman Menu Tentang Penulis

(60)

4.1.4 Tampilan Halaman Menu Bantuan Penggunaan

Pada halaman ini pengguna dapat melihat petunjuk penggunaan dari sistem yang dibuat.

Tampilan halaman menu bantuan penggunaan dapat dilihat pada Gambar 4.4.

Gambar 4.4 Tampilan Halaman Menu Bantuan Penggunaan

4.2 Pengujian

Pengujian sistem merupakan tahap setelah implementasi sistem. Pengujian sistem bertujuan untuk membuktikan sistem yang dibangun telah berjalan dengan baik.

Pengujian sistem ini dilakukan pada graf doorsmeer yang telah ditentukan dengan 15 buah simpul (vertex) dan 28 buah sisi (edge) dengan menghasilkankan running time dan total jarak dan rute.

4.2.1 Pengujian Proses Implementasi

Untuk melakukan proses pengujian pertama kali yang harus dilakukan adalah user membuka halaman Pencarian Rute Terpendek. Pada halaman ini user langsung menemukan graf yang telah ditentukan tanpa menginputnya terlebih dahulu. Pada

(61)

dengan cara mengarahkan kursor ke node (vertex). Tampilan tersebut dapat dilihat pada Gambar 4.5.

Gambar 4.5 Tampilan Nama dan Alamat Setiap Doorsmeer 4.2.2 Pengujian Proses Algoritma S-Ord

Algoritma S-ord adalah versi algoritma Dijkstra dengan Q diimplementasikan sebagai linked-list tersusun. Algoritma S-Ord menggunakan perintah two-way linked-list. List dipindahi hanya sekali dari tail (label elemen tertinggi) ke head. Proses pencarian doorsmeer dengan menggunakan algoritma S-Ord dapat dilihat pada Gambar 4.6.

(62)

Gambar 4.6 Tampilan Pengujian Pencarian Doorsmeer dengan Algoritma S-Ord

4.2.2.1 Perhitungan Manual Algoritma S-Ord

Contoh pencarian lintasan terpendek dengan menggunakan algoritma S-Ord dapat dilihat pada Gambar 4.7.

(63)

Tentukan node yang akan menjadi titik asal kemudian tentukan node yang akan menjadi titik tujuan. Contohnya, mencari jarak terpendek dari A menuju D. Proses pencarian dilakukan sebagai berikut :

1. Didefinisikan tabel Q, tabel Q berisi node yang akan diproses. Karena akan memulai proses pencarian dari A. Maka isi tabel Q sebagai berikut :

CATATAN PENTING : Data di dalam Tabel Q, harus diurut dari Jarak Tempuh yang paling kecil ke yang lebih besar. Inilah pembeda antara S-Ord dan Djikstra.

Tabel 4.1 Tabel Q Untuk Node A Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

A 0 -

2. Langkah selanjutnya kita ambil baris pertama dari Tabel Q1 di atas.

Elemen pertama dari tabel Q1 adalah A.

Elemen yang baru saja kita ambil kita hapus dari tabel Q1, sehingga Q1 menjadi kosong.

Tabel 4.2 Tabel Q Setelah Node A Dihapus Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

(64)

Cari hubungan dari A ke node yang lain. Dimana dalam kasus ini terdapat 2 node yaitu B, dan C.

Lakukan pengecekkan. Pengecekkan meliputi 2 hal berikut :

a. Apakah node tersebut sudah pernah diproses sebelumnya ? Jika sudah pernah, maka lewatkan.

b. Apakah node tersebut ada di dalam tabel Q ?

Jika tidak maka masukkan node tersebut ke dalam Q

Jika node tersebut sudah ada dalam Q, maka nilai yang paling kecil yang disimpan dalam Q.

Jadi, di sini cek node B dan C.

Untuk node B :

• Pertanyaan 1  Node tersebut belum pernah diproses sebelumnya.

• Pertanyaan 2  Node tersebut tidak ada di dalam Q. oleh karena itu kita simpan dia ke dalam Q.

Tabel 4.3 Tabel Q Untuk Node B Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

B 10 A

Hal yang sama kita lakukan terhadap C

• Pertanyaan 1  Node tersebut belum pernah diproses sebelumnya

• Pertanyaan 2  Node tersebut tidak ada dalam Q. Oleh karena itu kita simpan dia ke dalam Q.

(65)

Tabel 4.4 Tabel Q Untuk Node C Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

B 10 A

C 5 A

CATATAN PENTING : Data di tabel Q harus diurut berdasarkan jarak tempuh sehingga tabel Q sekarang menjadi :

Tabel 4.5 Tabel Q Setelah Diurutkan Dari Jarak Terkecil ke Terbesar Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

C 5 A

B 10 A

Dengan begini kita dapat nyatakan bahwa node A sudah selesai kita proses.

 Node yang sudah diproses = [ A ] Kembali ke langkah 2.

3. Langkah selanjutnya kita ambil baris pertama dari Tabel Q di atas.

Elemen pertama dari tabel Q adalah C.

Elemen yang baru saja kita ambil kita hapus dari Q.

(66)

Tabel 4.6 Tabel Q Setelah Node C Dihapus Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

B 10 A

Kita cari hubungan dari C ke node yang lain. Dimana dalam kasus ini terdapat 3 node yaitu A, B dan D. Karena node A sudah kita proses, maka kita akan proses hanya B dan D.

Dari B :

• Pertanyaan 1  Node tersebut belum pernah diproses sebelumnya

• Pertanyaan 2  Node B ternyata sudah ada di dalam Tabel Q. Oleh karena itu kita cek Jarak B manakah yang lebih kecil

A  B = Jarak Tempuh A + Jarak dari A ke B = 0 + 10 = 10 C  B = Jarak Tempuh C + Jarak dari C ke B = 5 + 2 = 7 Dengan demikian nilai B pada tabel Q kita ganti menjadi

Tabel 4.7 Tabel Q Setelah Node B Mengganti Nilai Menjadi Lebih Kecil Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

B 7 C

Dari D :

• Pertanyaan 1  Node tersebut belum pernah diproses sebelumnya

(67)

Tabel 4.8 Tabel Q Untuk Node D Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

B 7 C

D 9 C

Tabel Q sudah dalam keadaan terurut.

Dengan demikian kita nyatakan bahwa node C sudah selesai diproses

 Node yang sudah diproses = [ A, C ] Kembali ke langkah 2.

4. Langkah selanjutnya kita ambil baris pertama dari Tabel Q di atas.

Elemen pertama dari tabel Q adalah B.

Tabel 4.9 Tabel Q Setelah Node B Dihapus Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

D 9 C

Kita cari hubungan dari node B. Dalam kasus ini B terhubung ke C, A dan D.

Karena C dan A sudah kita proses maka yang tersisa adalah node D.

Dari node D :

• Pertanyaan 1  Node D belum pernah diproses sebelumnya.

(68)

• Pertanyaan 2  Node D ternyata ada di dalam Tabel Q sehingga kita harus menghitung nilai jarak tempuh D yang lebih kecil.

BD = Jarak tempuh B + Jarak tempuh D = 7 + 3 = 10

Oleh karena jarak tempuh D dari node D lebih besar dari pada D yang sudah ada di dalam Tabel Q. Maka Tabel Q tidak mengalami perubahan.

Tabel 5.0 Tabel Q Untuk Node D Tidak Mengalami Perubahan Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

D 9 C

Dengan demikian kita simpulkan bahwa node B selesai kita proses.

 Node yang sudah diproses = [ A, C, B ] Kembali ke langkah 2.

5. Langkah selanjutnya kita ambil baris pertama dari Tabel Q di atas.

Elemen pertama dari tabel Q adalah D.

Sehingga tabel Q menjadi kosong.

Tabel 5.1 Tabel Q Setelah Menghapus Node D Nama Node Jarak Tempuh Ke

Node ini (d)

Predecessor

(69)

Kita cek hubungan D ke node yang lain. D terhubung ke C dan B, namun ternyata node B dan C sudah selesai di proses. Sehingga tidak ada node yang perlu diproses. Disimpulkan bahwa node D selesai diproses.

 Node yang sudah diproses = [ A, C, B, D ]

Dari proses perhitungan diatas didapatkan hasil : 1. Node A, Jarak tempuh = 0, Predecessor = - 2. Node B, Jarak tempuh = 7, Predecessor = C 3. Node C, Jarak tempuh = 5, Predecessor = A 4. Node D, Jarak tempuh = 9, Predecessor = C Bagaimana cara menghasilkan rute terpendek ?

1. Dilakukan pengecekkan dari node yang menjadi tujuan. Dalam kasus ini node D.

Jarak terpendek : D

2. Kita ambil predecessor dari D yaitu C.

Jarak terpendek : C, D

3. Kita ambil predecessor dari C yaitu A.

Jarak terpendek : A, C, D

4. Karna A tidak memiliki predecessor. Maka selesai

Maka jarak terpendek yang kita dapatkan dengan menggunakan algoritma s-ord adalah:

A - C - D

4.3 Running Time

Untuk mencari running time harus dilakukan proses pengujian sistem dengan algoritma S-Ord dimana sebelum mengetahui running time-nya user harus memilih titik awal doorsmeer dia berada untuk menuju doorsmeer yang akan dikunjungi. Akan dilakukan dua kali proses pengujian, proses pengujian pertama akan dicari doorsmeer “A” ke doorsmeer “O” dengan menggunakan algoritma S-Ord dapat dilihat pada Gambar 4.8.

(70)

Gambar 4.8 Hasil Pengujian Pertama dengan Algoritma S-Ord

Dari pengujian pertama didapatkan total jarak dengan algoritma S-Ord yaitu 21,3km dan running time yang didapat yaitu 13ms.

Selanjutnya dilakukan pengujian kedua dengan menggunakan algoritma S-Ord.

Pengujian yang dicari adalah dari doorsmeer “B” ke doorsmeer “O” . Hasil dari pengujian kedua dengan algoritma S-Ord dapat dilihat pada Gambar 4.9.

(71)

Dari pengujian kedua didapatkan total jarak dengan algoritma S-Ord yaitu 13,5km dan running time yang didapat yaitu 5ms.

Lakukan pengujian seperti diatas sampai dengan pengujian ke empatbelas yaitu sampai proses pengujian foto studio “N” ke foto studio “O” dan bandingkan total jarak dan running time-nya.

Setelah dilakukannya pengujian, maka hasil dari keempatbelas dengan menggunakan algoritma S-Ord dapat dilihat pada Tabel 4.10.

Tabel 5.2 Hasil Pengujian Algoritma S-Ord Algoritma S-Ord

Pengujian ke

Node

Total Jarak (km)

Running Time (ms)

1 A – O 21,3 12

2 B – O 13,5 5

3 C – O 16,2 7

4 D – O 16,5 5

5 E – O 21,3 5

6 F – O 13,95 6

7 G – O 12,5 3

8 H – O 16,3 6

9 I – O 11,4 4

10 J – O 10 3

11 K – O 14,1 4

(72)

12 L – O 8,6 2

13 M – O 5,7 2

14 N – O 3,7 2

Berikut hasil rata-rata running time dari algoritma S-Ord dan adapat dilihat pada Tabel 4.2

Tabel 5.3 Hasil Running Time Algoritma S-Ord Algoritma S-Ord

Pengujian Ke

Node Running Time (ms)

1 A – O 12

2 B – O 5

3 C – O 7

4 D – O 5

5 E – O 5

6 F – O 6

7 G – O 3

8 H – O 6

9 I – O 4

10 J – O 3

(73)

12 L – O 2

13 M – O 2

14 N – O 2

Rata-rata 4,71

4.4 Kompleksitas

4.4.1 Kompleksitas Algoritma S-Ord

Perhitungan kompleksitas algoritma S-Ord dapat dilihat pada Tabel 4.3.

Tabel 5.4 Kompleksitas Fungsi Element

Code C # C#

public class s_ord {

private class element { C1 1 C1

public float d; C2 1 C2

public element ancestor; C3 1 C3

public string id; C4 1 C4

public string nama; C5 1 C5

public float x, y; C6 1 C6

public float jarakLink; C7 1 C7 }

(74)

Fungsi element dari algoritma S-Ord:

T(n) = C1n0 + C2n0 + C3n0 + C4n0 + C5n0 + C6n0 + C7n0

= Ɵ(n0) = Ɵ(1)

Tabel 5.5 Kompleksitas Fungsi S_Ord

Code C # C#

public s_ord(List<Link> A, List<Vertex> N){ C1 1 C1

this.A = A; C2 1 C2

foreach(Vertex item in N){ C3 n C3n this.listV.Add(new element{ C2 n C2n d = float.PositiveInfinity, C4 n C4n ancestor = null, C5 n C5n id = item.id, C6 n C6n nama = item.Nama, C7 n C7n x = item.x, C8 n C8n y = item.y, C9 n C9n jarakLink = 0, C10 n C10n });

} }

(75)

Fungsi S-Ord dari algoritma S-Ord:

T(n) = C1n0 + C2n0 + C3n1 + C2n1 + C4n1 + C5n1 + C6n1 + C7n1 + C8n1 + C9n1 + C10n1

= (C1 + C2) n0 + (C3 + C2 + C4 + C5 + C6 + C7 + C8 + C9+ C10) n1

= Ɵ (n1) = Ɵ (n)

Tabel 5.6 Kompleksitas Fungsi CariElementBerdasarkanNama

Code C # C#

element cariElementBerdasarkanNama(str ing nama){

Ɵ(1) 1 Ɵ(1)

foreach(element item in listV){ C1 n C1n if(item.nama.Equals(nama)){ C2 n C2n

return item; C3 n C3n

} }

return null; C3 1 C3

}

Fungsi Cari Element Berdasarkan Nama dari algoritma S-Ord:

T(n) = Ɵ(1) + C1n1 + C2n1 + C3n1 + C3n0

= Ɵ(1) + (C1 + C2 + C3) n1 + C3n0

= Ɵ (n)

(76)

Tabel 5.7 Kompleksitas Fungsi FindShortestPath

Code C # C#

public List<Link> findShortestPath(Verte x_u, Vertex_v){

C1 1 C1

u= new element{ C2 1 C2

d= 0, C3 1 C3

ancestor= null, C4 1 C4

id= _u.id, C5 1 C5

nama= _u.Nama, C6 1 C6

x= _u.x, C7 1 C7

y=_u.y, C8 1 C8

jarakLink= 0 C9 1 C9

};

Q.Add(u); C10 1 C10

do { C11 n C11n

u=Q[0]; C2 n C2n

Q.Remove(u); C12 n C12n

List<Link> u_v= new List<Link>

();

foreach(Link link in A){ C13 n2 C13n2 bool sudahDiproses= false; C14 n2 C14n2

Gambar

Gambar 2.1 (a) graf sederhana, (b) graf ganda, dan (c) graf semu
Gambar 2.2 Graf Berarah
Gambar 2.3 Graf Tidak Berarah  2.2.2   Graf berbobot (weighted graph)
Tabel 3.1 Nama-Nama Doorsmeer yang Menjadi Vertex
+7

Referensi

Dokumen terkait

Surat undangan ini disamping dikirimkan melalui e-mail juga diumumkan melalui halaman berita di website LPSE Provinsi Jawa Tengah, oleh karenanya Panitia

Penelitian ini bertujuan untuk mendapatkan pengaruh variasi laju pengadukan serta mendapatkan kondisi laju pengadukan terbaik dengan menggunakan reaktor semi batch

Untuk menghindari hal-hal yang tidak diinginkan, nazir dapat mengkondisikan si wakif dengan memberi saran agar tujuan wakaf diarahkan ke kepentingan umat secara

Di dalam penelitian ini akan difokuskan untuk mempelajari tahap pertama yakni proses asidogenesis khususnya pengaruh laju pengadukan dengan kondisi ambient pada

Islam adalah agama yang sangat lengkap dalam melihat permasalahan. Dengan demikian, tentu tidak tinggal diam membahas kriteria kemiskinan. Terdapat banyak ayat dalam Al

Sebanyak 100 galur generasi lanjut yang berasal dari 58 persilangan turunan tetua toleran kekeringan hasil seleksi tadah hujan (pedigree disajikan pada Tabel 1)

Adapun prosedur analisis Total Suspended Solids (TSS) adalah: 1) Berat kertas saring kering yang digunakan ditimbang. 2) Kertas saring dibasahi dengan sedikit air suling. 3)

Buatlah object Box, kita bisa memasukkan sembarang object karena parameter pada method add adalah Class Object, tapi pada saat mengambil object tersebut harus.. diubah sesuai