• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA - Penentuan Rute Terpendek Untuk Distribusi Paket Pos Menggunakan Algoritma Floyd Warshall

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 TINJAUAN PUSTAKA - Penentuan Rute Terpendek Untuk Distribusi Paket Pos Menggunakan Algoritma Floyd Warshall"

Copied!
11
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

Bab ini akan membahas landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang mendasari penyelesaian permasalahan dalam penentuan jarak terpendek untuk Pendistribusian paket Pos pada Kantor Pos Pusat Medan dengan pengimplementasian algoritma Floyd Warshall.

2.1 Graf

Graf adalah kumpulan titik (vertex) yang dihubungkan satu sama lain melalui sisi/busur (edges). Suatu graf G terdiri dari dua himpunan yaitu himpunan V dan himpunan E. (Zakaria, 2005)

a. Titik : V adalah himpunan titik yang terbatas dan tidak kosong

b. Edge (sisi/busur): E adalah himpunan busur yang menghubungkan sepasang

titik.

Titik pada graf dapat merupakan obyek atau titik. Edge dapat menunjukkan hubungan (relasi). Notasi graf: G(V,E) artinya graf G memiliki V titik dan E edge. Dari penjelasan di atas graf adalah pasangan himpunan (V, E) yang dinotasikan dengan G = (V, E), V adalah himpunan titik, atau vertex dari G yaitu V= {v1 , v2 , v3

,…, vn} dan E adalah himpunan edges, atau sisi dari G, yaitu E= {e1 , e2 , e3 ,…, em}.. Sebuah graf dimungkinkan tidak mempunyai edge satu buah pun, tetapi

(2)

Graph pertama kali ditemukan oleh Leonhard Euler, seorang matematikawan kebangsaan Swiss pada tahun 1736. Dimana saat itu Euler berhasil menulis upaya pemecahan Jembatan Koningsberg yang terkenal di Rusia. Graph merupakan sebuah kumpulan yang terdiri dari titik (vertex) dan garis dimana pasangan titik-titik tersebut dihubungkan dengan segmen garis. Vertex ini sering disebut sebagai titik dan segmen garis disebut dengan edge. Maka direpresentasikanlah dengan G=(V,E) (Lipschutz, 2002).

Graph juga merupakan cabang ilmu yang memiliki banyak terapan dibanyak bagian. Beberapa masalah juga dapat diterapkan dengan graph, misalnya saja untuk jalan raya yang dimodelkan menjadi graf dengan kota sebagai simpul dan jalan sebagai edge yang nilai bobotnya adalah panjang dari jalan tersebut. Sebagai contoh bentuk graph dapat dilihat dari Gambar 2.1

A B

C D E

Gambar 2.1 Graph dengan 5 vertex dan 7 edge

Gambar 2.1 menggambarkan 5 titik yaitu A, B, C, D dan E serta7 edge yang menghubungkan antara titik lainnya seperti AB, AC dan seterusnya. Graph terbagi atas dua jenis yaitu Graph berarah (Directed Graph) dan Graph tidak berarah

(3)

2.2 Matriks

Matriks merupakan sekumpulan dari bilangan yang biasa dipakai untuk mengatur data dalam bentuk baris dan kolom (Suarga, 2012). Matriks banyak dimanfaatkan untuk menyelesaikan berbagai permasalahan matematika misalnya dalam menemukan solusi masalah persamaan linear, transformasi linear yakni bentuk umum dari fungsi linear contohnya rotasi dalam 3 dimensi. Matriks juga seperti variabel biasa, sehingga matrikspun dapat dimanipulasi misalnya dikalikan, dijumlah, dikurangkan, serta didekomposisikan. Menggunakan representasi matriks, perhitungan dapat dilakukan dengan lebih terstruktur. Sebuah matriks akan menggunakan fungsi i,j sebagai entri i untuk kolom dan j untuk baris. Sebuah contoh matriks dapat dilihat dari Gambar 2.2.

A =

Gambar 2.2 Matriks A berukuran 3 x 3

Dalam hal ini, matriks dimanfaatkan untuk membentuk nilai relasi antara titik yang berhubungan dengan titik lainnya. Sehingga nilai antara titik A dengan titik B dan seterusnya dapat dilihat dengan jelas.

2.3 Algoritma Floyd Warshall

(4)

satu (Ramadhan, 2011). Floyd Warshall merupakan algoritma untuk pencarian lintasan terpendek pada suatu graf berbobot (weighted graph). Algoritma ini dapat melakukan analisis dan penyelesaian kerumitan suatu proses (Purwanto, 2005).

Algoritma Floyd Warshall merupakan cabang dari ilmu matematika yang salah satu fungsinya untuk menyelesaikan masalah lintasan terpendek (Ardiansyah, 2012). Algoritma ini termasuk ke dalam pemrograman dinamis yang menyelesaikan permasalahan yang ada dengan memandang solusi lebih dari satu. Pemrograman dinamis merupakan optimalitas yaitu solusi yang diselesaikan sampai tahap optimal (Sani et al, 2013). Floyd Warshall menerapkan pencarian keseluruh titik yang ada. Dalam Algoritma Floyd Warshall terdapat fungsi yang dituliskan kedalam notasi matematika dapat dilihat pada persamaan (1):

[ S(E) = S(r) + E(r) ] ...(1)

Penjelasan :

S(E) = Nilai jarak yang sebenarnya. S(r) = Nilai titik awal.

E(r) = Nilai titik akhir.

Sebagai contoh adalah mencari rute terpendek dari titik A menuju titik C dari grafik berikut :

Gambar 2.3 Grafik Lintasan A

B

D

C 9

5 3

1

(5)

Langkah pertama kita jadikan grafik pada Gambar 2.3 menjadi sebuah tabel atau matriks terlihat pada Gambar 2.4.

Gambar 2.4 Tabel Matriks Lintasan

Kotak abjad berwarna merah disamping kiri adalah titik awal dan kotak abjad

berwarna biru yang ada di atas adalah titik tujuan-nya. Sedangkan kotak angka merah

dan biru berfungsi untuk menentukan sebuah index proses (R0 = 1, R1 = 2, R2 = 3, dan R3 = 4) dan memudahkan posisi angka-angka yang ada didalam tabel dengan mengkombinasikan-nya dengan kotak abjad yang sama dengan warnanya. Sebagai

contoh dapat dilihat pada persamaan (2) :

A(3),B(2) (titik awal, titik tujuan) = 9,0...(2)

Karena dalam grafik diatas terdapat 4 buah titik, yaitu A, B, C, D maka akan ada 5 proses yang akan dilewati yaitu R0, R1, R2, R3, dan R4 sebagai hasil akhir. perlu diingat bahwa hasil dari sebuah proses akan digunakan untuk proses berikutnya.

Rumusnya adalah :

r = Index proses. => R0 = 1, R1 = 2, R2 = 3, R3 = 4, R4 adalah hasil akhir.

S = Titik awal. => A, B, C, dan D (kotak merah).

E = Titik tujuan. => A, B, C, dan D (kotak biru).

A

B

C

D

A

0

5

9

1

B

5

0

3

1

2

C

9

3

0

1

3

D

1

1

0

4

(6)

jika hasil penjumlahan nilai titik awal S(r) dan nilai titik tujuan E(r) lebih kecil

daripada nilai jarak yang sebenarnya S(E), maka ganti nilai jarak sebenarnya dengan

hasil penjumlahan nilai titik awal dan nilai titik tujuan [ S(E) = S(r) + E(r) ].

2.4 Flowchart

Flowchart merupakan suatu representasi grafis dan langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang disusun dari beberapa symbol yang masing-masing symbol memiliki kegiatan tertentu (Yatini B, 2010). Flowchart merupakan bagian yang menampilkan alur proses kerja yang terjadi ataupun sedang dikerjakan dalam keseluruhan sistem dengan meyusun urutan prosedur-prosedur yang akan dilakukan.

Urutan dalam bentuk symbol gambar yang berupa aliran proses yang diawali dari penerimaan dan diakhiri dengan menampilkan output. Fungsi lain dari flowchart adalah agar pengembang aplikasi nantinya dapat melihat kembali tahap-tahap yang akan dilakukan jika terjadi kesalahan dalam perancangan sistem.

Berikut in adalah bentuk-bentuk flowchart atau diagram alur yang menjelaskan alur proses dari aplikasi pencarian jalur terpendek dari awal hingga akhir, termasuk proses algoritma Floyd.

2.5Pemodelan dan Unified Modeling Language (UML)

(7)

terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek (Rosa & Shalahuddin, 2011).

UML terbaru adalah UML 2.3 dan pembagian kategorinya dapat diuraikan sebagai berikut:

Structure Diagrams, digunakan untuk menggambarkan suatu struktur statis dari

sistem yang dimodelkan. Structure Diagrams terbagi atas:

o Class Diagram, menggambarkan struktur sistem dari segi pendefenisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.

o Object Diagram, menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem. Pada diagram objek harus dipastikan semua kelas yang sudah didefenisian pada diagram kelas harus dipakai objeknya, karena jika tidak, pendefinisian kelas itu tidak dapat dipertanggungjawabkan.

o Component Diagram, menunjukkan organisasi dan ketergantungan di antara kumpulan komponen dalam sebuah sistem. Diagram komponen fokus pada komponen sistem yang dibutuhkan dan ada di dalam sistem.

o Composite Structure Diagram, menggambarkan struktur dari bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan (runtime) dari instance yang saling terhubung.

o Package Diagram, menyediakan cara mengumpulkan elemen-elemen yang saling terkait dalam diagram UML. Hampir semua diagram dalam UML dapat dikelompokkan menggunakan package diagram.

o Deployment Diagram, menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi. Deployment diagram juga dapat digunakan untuk memodelkan embedded system, sistem client/server, sistem terdistribusi murni dan rekayasa ulang aplikasi.

Behavior Diagrams, digunakan untuk menggambarkan kelakukan sistem atau

rangkaian perubahan yang terjadi pada sebuah sistem. Behavior Diagrams terbagi atas:

(8)

aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case

digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak mengunakan fungsi-fungsi itu.

o Activity Diagram, menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan adalah bahwa diagram aktivitas menggambarkan sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.

o State Machine Diagram, menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem. Perubahan tersebut digambarkan dalam suatu graf berarah. State Machine Diagram merupakan pengembangan dari diagram Finite State Automata denan penambahan beberapa fitur dan konsep baru.

Interaction Diagrams, digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antarsubsistem pada suatu sistem. Interaction Diagrams terbagi atas:

o Sequence Diagram, menggambarkan kelakukan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antarobjek. Oleh karena itu, untuk menggambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case

beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.

o Communication Diagram, menggambarkan interaksi antarobjek/bagian dalam bentuk urutan pengiriman pesan. Diagram komunikasi merepresentasikan informasi yang diperoleh dari diagram kelas, diagram sekuen dan diagram use case untuk mendeskripsikan gabungan antara struktur statis dan tingkah laku dinamis dari suatu sistem.

o Timing Diagram, menggambarkan tingkah laku sistem dalam periode waktu tertentu. Timing Diagram biasanya digunakan untuk mendeskripsikan operasi alat digital karena penggambaran secara visual akan lebih mudah dipahami daripada dengan kata-kata.

(9)

yang setiap titik merepresentasikan diagram interaksi. Interaksi diagram dapat meliputi diagram sekuen, diagram komunikasi, interaction overview diagram dan timing diagram.

2.6Google Map

Google Map adalah layanan aplikasi dan teknologi peta berbasis web yang disediakan oleh Google secara gartis (bukan untuk kepentingan komersial), temasuk di dalamnya website Google Map (http://maps.google.com), Google Ride Finder, Google Transit, dan peta yang dapat disisipkan pada website lain melalui Google Maps API. Untuk mengaktifkan fitur API, kita hurus menyisipkan Key yang telah diperoleh dari pendaftaran account Goole Maps harus dimasukkan ke aplikasi. Key tersebut dimasukkan mengantikan variabel key. Berikut contoh penyisipan key pada Google Maps.

<script

src="http://maps.google.com/maps?file=api&v=2&key=&sensor=true_or_false"type= "text/javascript">

</script>

URL http://maps.google.com/maps?file=api&v=2&key=abcdefg menunjukkan ke lokasi file JavaScript yang didalamnya termasuk semua simbol definisi yang diperlukan menggunakan Google Maps API. Dengan kata lain, Google Maps merupakan suatu peta yang dapat dilihat dengan menggunakan suatu browser yang akan ditampilkan secara digital. Sehingga, bagi mereka yang ingin mengetahui peta sebuah lokasi, cukup mengetikkan sebuah alamat. Maka, lokasi yang diinginkan akan segera ditampilkan.

(10)

Gambar 2.5 Google Maps

2.7Penelitian Terdahulu

Dalam melakukan penelitian, penulis membutuhkan beberapa bahan penelitian yang sudah pernah dilakukan peneliti-peneliti lainnya mengenai masalah penentuan jarak terpendek dan algoritma Floyd Warshall.

Neny Wahyuningdiyah et al (2010) telah mencoba menggunakan pendekatan Ant Colony Optimization dalam penelitian pada pencarian Pengiriman Barang Pada Kantor Pos Jemur Sari.

(11)

Table 2.1 Tabel penelitian terdahulu

No Peneliti Judul Penelitian

1 Neny Wahyuningdiyah et al (2010) Akses Informasi Pengiriman Barang Di Kantor Pos Jemur Sari Untuk Area Surabaya Timur Menggunakan Metode Ant Colony Optimization Berbasis J2ME

Gambar

Gambar 2.1 Graph dengan 5 vertex dan 7 edge
Gambar 2.2 Matriks A berukuran 3 x 3
Gambar 2.3 Grafik Lintasan
Gambar 2.4 Tabel Matriks Lintasan
+3

Referensi

Dokumen terkait

Oleh sebab itu, model yang diperoleh dari penelitian ini sangat akurat dan dapat digunakan untuk menduga kandungan kafein, asam klorogenat, dan trigonelin pada biji

Visitasi adalah langkah kegiatan yang dari pelaksanaan akreditasi sekolah/ madrasah yang dilakukan dengan cara kunjungan ke sekolah/ madrasah oleh tim asesor yang

Artinya dasar program pembinaan sudah disusun setiap tahun berdasarkan rapat koordinasi dan secara tidak langsung program pe mbinaan ters ebut be rsinggungan deng

Tiga elemen yang berkontribusi dalam penciptaan lingkungan kerja yang positif, kemudian membuat organisasi akan kurang rentan terhadap terjadinya kecurangan adalah

secara biologis laki-laki, berumur 15 tahun atau lebih dan telah tinggal di kota survei paling tidak selama satu bulan, serta telah berhubungan seks dengan seorang

Publikasi Profil Kecamatan Tatanga Tahun 2014 merupakan terbitan yang memuat berbagai informasi tentang kondisi geografi, pemerintahan, kependudukan, sosial budaya, sumber

Menurut jurnal “Pengaruh Budaya Organisasi Terhadap Disiplin Kerja Karyawan PT Angkasa Pura II (Persero) Kantor Cabang Utama Bandara Internasional Soekarno - Hatta Unit

Pendekatan yang lebih membantu adalah dengan mengasumsikan bahwa user akan membutuhkan bantuan pada suatu waktu dan merancang bantuan (help) ini ke dalam system. • Ada empat