• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA. Gambar 2.1 Graf dengan 4 node dan 5 edge

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II TINJAUAN PUSTAKA. Gambar 2.1 Graf dengan 4 node dan 5 edge"

Copied!
10
0
0

Teks penuh

(1)

5

Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut (Munir, 2005). Dalam menggambar graf, simpul digambarkan dengan lingkaran kecil atau titik tebal dan busur digambarkan dengan garis, dan anak panah pada garis melambangkan arah dari garis tersebut.

Gambar 2.1 Graf dengan 4 node dan 5 edge

Secara matematis graf didefinisikan sebagai berikut:

Graf G didefinisikan sebagai pasangan himpunan (V,E) yang dalam hal ini:

V = himpunan tidak kosong dari simpul-simpul (vertices atau node) :{v1, v2, ….., vn}

E = himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul: {e1, e2, ….., en}

Atau dapat ditulis singkat notasi G = (V, E)

Berdasarkan terminologi teori graph, maka suatu jaringan akan terdiri dari suatu himpunan titik-titik yang disebut node. Node-node tersebut saling dihubungkan oleh suatu garis dan disebut edge.

2.1.1. Terminologi Dasar

Terdapat beberapa istilah penting yang berkaitan dengan graf. Berikut ini didefinisikan beberapa terminologi dasar yang digunakan.

(2)

graf G ialah barisan berselang-seling simpul-simpul dan sisi-sisi yang berbentuk v0,e1, v1,e2, v2,….., vn-1,en, vn sedemikian sehingga e1=( v0, v1 ),e2=( v1, v2 ), …….,en=( vn-1, vn ) adalah sisi-sisi dari graf G.

2. Graf Berbobot (Weighted Graph)

Graf yang setiap sisinya diberi harga (bobot).

Dari graf pada Gambar 6.1 dapat diketahui bobot dari masing-masing sisi, dimana bobot ( p, q ) = 8, bobot ( r, q ) = 12, bobot ( s, r ) = 1, bobot ( s, p ) = 1, dst.

3. Derajat (Degree)

Derajat suatu simpul pada graf tak berarah adalah jumlah sisi yang bersisian dengan simpul tersebut. Pada graf berarah, derajat simpul v dinyatakan dengan din(v) dan dout(v), yang dalam hal ini:

din(v) = derajat masuk (in-degree) = jumlah simpul yang masuk ke simpul v dout(v)= derajat keluar (out-degree) = jumlah simpul yang keluar dari

simpul v dan,

d(v) = din(v) + dout(v),

Notasi: d(v) menyatakan derajat simpul.

Misalnya dari Gambar 6.1 dapat dihitung derajat simpul p sebagai berikut : din(p) = 2

dout(p) = 1

maka d(p) = din(p) + dout(p) = 3.

4. Terhubung ( Connected )

Graf tak berarah G disebut graf terhubung (connected graph) jika untuk setiap pasang simpul vi dan vj di dalam himpunan V terdapat lintasan dari vi ke vj. jika tidak, maka G disebut graf tak terhubung (disconnected graph ).

(3)

Gambar 2.2 (a) Contoh Graf Terhubung (Connected), (b) Contoh Graf Tak terhubung (Disconnected)

2.2.Vehicle Routing Problem

Vehicle Routing Problem (VRP) adalah nama yang dibuat untuk sebuah problem atau masalah di mana sebuah set rute yang akan dibentuk untuk sejumlah kota atau pelanggan dengan sejumlah kendaraan yang didasarkan atas satu atau beberapa depot (Sagita, 2007). Setiap kota atau pelanggan hanya akan dilalui satu kali dan dilayani oleh satu kendaraan. Tujuan dari Vehicle Routing Problem adalah untuk mengunjungi sejumlah pelanggan atau kota dengan sejumlah kendaraan dan batasan-batasan lain yang diperlukan dan diketahui sehingga rute tersebut mempunyai biaya yang minimum dan rute bermula dan berakhir pada sebuah depot. Masalah ini pertama kali diformulasikan oleh Dantzig dan Ramser pada tahun 1959 sebagai masalah utama dalam bidang transportasi, distribusi, dan logistik. Dalam sektor perdagangan, transportasi berarti semakin baiknya daya jual dari suatu barang. Maka, dikembangkan metode komputerisasi untuk transportasi yang menghasilkan penghematan yang signifikan dari total biaya.

(4)

Gambar 2.4. Output dari persoalan VRP pada Gambar 2.3

Vehicle Routing Problem bertujuan untuk meminimalkan jarak yang dilalui oleh armada kendaraan yang melayani sekumpulan pelanggan seperti pada gambar 2.2 dan menghasilkan beberapa rute sesuai jumlah kendaraan seperti pada gambar 2.3. Kasus ini sama dengan Travelling Salesman Problem (TSP), hanya saja untuk Travelling Salesman Problem hanya memiliki satu rute, di mana perbaikan rute dilakukan dalam satu rute itu sendiri, sedangkan dalam Vehicle Routing Problem memiliki banyak rute yang jumlahnya sesuai kendaraan yang akan dipakai walaupun tujuan keduanya sama yaitu untuk mencari jarak minimum dengan melewati semua node sekali. Jika VRP direpresentasikan dalam sebuah graf G = (V,E). Notasi yang digunakan adalah :

 V= {v0,v1,v2,...,vn} adalah himpunan verteks, di mana : o Asumsikan depot terletak di verteks v0.

o Misalkan V’ = V tanpa elemen {v0} digunakan sebagai himpunan n kota.

 A = {(vi ,vj) | vi, vj ∈ V ; i ≠ j} adalah himpunan edge

 C adalah matriks jarak atau biaya cij antara pelanggan vi dan vj yang bernilai nonnegatif

 d adalah vektor dari permintaan / demand dari pelanggan  Ri adalah rute dari kendaraan ke-i

(5)

Dengan setiap verteks vi dalam V’ diasosiasikan dengan sejumlah barang qi yang akan diantarkan oleh satu kendaraan. Maka VRP bertujuan untuk menentukan sejumlah k rute kendaraan dengan total biaya yang minimum, bermula dan berakhir di sebuah depot, yang setiap verteks dalam V’ dikunjungi tepat sekali oleh satu kendaraan. Akhirnya, biaya dari solusi masalah ini S adalah : FVRP(S) = ∑𝑘𝑖=0𝐶(𝑅𝑖) .

Dalam pembahasan kali ini model Vehicle Routing Problem yang digunakan adalah Capacitated Vehicle Routing Problem (CVRP) di mana sejumlah kendaraan untuk mengantar barang harus melayani sejumlah pelanggan untuk 1 jenis barang dari depot dengan biaya transportasi yang minimum. Maka CVRP seperti VRP dengan tambahan konstrain di mana setiap kendaraan harus mempunyai kapasitas tertentu untuk barang tersebut. Asumsikan depot sebagai node 0 dan pelanggan sejumlah N yang akan dilayani oleh kendaraan sejumlah K. Permintaan untuk pelanggan i adalah qi, kapasitas dari kendaraan k adalah Qk, dan jarak maksimum yang diperbolehkan dari kendaraan k adalah Dk. Maka model matematika dari CVRP menurut formulasi Bodin et al.(1983) dideskripsikan sebagai berikut:

Min ∑𝐾𝑘=0∑𝑁𝑖=0∑𝑁𝑗=0 𝐶𝑖𝑗𝑘 𝑋𝑖𝑗𝑘 ... (1)

𝑋𝑖𝑗𝑘 = 1 jika kendaraan k datang dari pelanggan i ke j,... (2)

𝑋𝑖𝑗𝑘 = 0 jika selain itu ∑𝐾𝑘=0∑𝑁𝑖=0𝑋𝑖𝑗 𝑘 = 1, j=1,2,...,N ... (3) ∑𝐾𝑘=0∑𝑁𝑗=0𝑋𝑖𝑗 𝑁 = 1, i=1,2,...,N ... (4) ∑𝑁𝑖=0𝑋𝑖𝑡𝑘 - ∑𝑁𝑗=0𝑋𝑡𝑗𝑘 = 0, k=1,2,...,K; t=1,2,...,N ... (5) ∑𝑁𝑖=0∑𝑁𝑗=0𝑑𝑖𝑗 𝑘 𝑋𝑖𝑗 𝑘 ≤ Dk, k=1,2,...,K ... (6) ∑𝑁 𝑞𝑗 𝑗=0 (∑𝑁𝑖=0𝑋𝑖𝑗 𝑘 ) ≤ Qk, k=1,2,...,K ... (7) ∑𝑁𝑗=0𝑋0𝑗 𝑘 ≤ 1, k=1,2,...,K ... (8) ∑𝑁𝑖=0𝑋𝑖0 𝑘 ≤ 1, k=1,2,...,K ... (9)

(6)

di mana N merepresentasikan jumlah pelanggan, dan K sebagai jumlah kendaraan, dan 𝐶𝑖𝑗𝑘 adalah biaya perjalanan dari pelanggan i ke pelanggan j oleh kendaraan k dan 𝑑𝑖𝑗𝑘 adalah jarak perjalanan dari pelanggan i ke pelanggan j oleh kendaraan k. Tujuan dari persamaan fungsi (1) adalah untuk meminimalkan total biaya oleh semua kendaraan. Batasan fungsi (3) dan (4) memastikan bahwa setiap pelanggan dilayani hanya sekali. Batasan fungsi (5) memastikan kelanjutan dari rute. Batasan fungsi (6) menunjukkan bahwa jumlah jarak dari setiap rute mempunyai batas. Batasan fungsi (7) menunjukkan bahwa jumlah demand dari setiap rute tidak dapat melebihi kapasitas dari kendaraan. Batasan fungsi (8) dan (9) memastikan bahwa setiap kendaraan hanya digunakan sekali. Batasan fungsi (10) memastikan bahwa variabel yang dipakai hanya menggunakan integer 0 atau 1.

2.3. Particle Swarm Optimization (PSO)

Particle Swarm Optimization (PSO) merupakan teknik komputasi heuristik berbasis populasi paralel yang diajukan oleh Kennedy dan Eberhart (Kennedy dan Eberhart 1995) (Suyanto, 2010), yang dimotivasi dari perilaku organisme seperti kumpulan ikan atau burung. Misalkan ada sejumlah burung yang sedang mencari makanan di sebuah daerah secara acak. Di daerah tersebut hanya ada satu potong makanan. Semua burung tidak tahu dimana makanan tersebut berada. Tetapi mereka tahu seberapa jauh makanan tersebut dengan setiap perulangan. Jadi strategi yang baik untuk menemukan makanan tersebut adalah dengan mengikuti posisi burung yang terdekat dengan makanan. PSO dilakukan dengan mengikuti skenario seperti di atas dan digunakan untuk mencari optimalisasi dari sebuah permasalahan. Dalam PSO, setiap solusi adalah sebuah “burung” dalam area pencarian. Akan selanjutnya disebut sebagai partikel. Semua partikel mempunyai nilai fitness yang akan dievaluasi oleh sebuah fungsi fitness, dan mempunyai kecepatan yang akan mengarahkan jalannya dari partikel tersebut. Partikel

(7)

tersebut akan berjalan di daerah permasalahan dengan mengikuti partikel terbaik yang ada.

PSO diinisialisasi dengan sebuah grup partikel(solusi) secara acak dan selanjutnya mencari hasil terbaik. Dalam setiap perulangan, setiap partikel diperbaiki oleh dua nilai “best”. Yang pertama adalah solusi terbaik yang partikel tersebut pernah capai sampai saat ini. Nilai ini disebut Pbest . Nilai “best” yang lain yang dilihat dalam PSO adalah nilai terbaik dari seluruh partikel yang ada sampai saat ini. Nilai ini disebut Gbest .

Model optimalisasi global yang diajukan oleh Shi dan Eberhart (1999) seperti berikut:

Vi = W × Vi + C1 × Rand × (Pbest −Xi) + C2 × rand × (Gbest − Xi) ... (11) Xi = Xi +Vi ... (12) di mana Vi adalah kecepatan dari partikel i, Xi adalah posisi partikel, W adalah berat inersia. C1 dan C2 adalah faktor learning yang menunjukkan pergerakan dari partikel yang cenderung ke arah Pbest(C1) atau cenderung ke arah Gbest(C2) sehingga nilai yang lebih besar akan mempengaruhi pergerakan partikel. Rand dan rand adalah fungsi random dalam interval [0,1], Pbest adalah posisi terbaik dari partikel ke-i dan Gbest adalah posisi terbaik dari semua partikel di dalam populasi/swarm. Pseudo code dari PSO adalah

FOR setiap partikel Inisialisasi partikel END

DO

FOR setiap partikel Hitung nilai fitness

IF nilai fitness lebih baik daripada nilai fitness terbaik(pBest) yang sudah ada

SET nilai sekarang sebagai pBest yang baru END

Pilih partikel dengan nilai fitness terbaik dari semua partikel sebagai gBest

FOR setiap partikel

Hitung kecepatan partikel menurut persamaan (11) UPDATE posisi partikel menurut persamaan (12) END

WHILE kriteria iterasi maksimum atau error minimum belum dipenuhi

(8)

2.4. Platform Android

Platform Android adalah sebuah software stack produksi Google untuk perangkat mobile yang terdiri atas sistem operasi, middleware, dan key applications (Mochtar, 2008). Aplikasi Android dapat dikembangkan melalui Android Standard

Development Kit (Android SDK) menggunakan sintaks bahasa pemrograman Java.

Aplikasi Android nantinya tidak akan berjalan langsung di atas kernel sistem operasi namun berjalan diatas Dalvik, sebuah virtual machine yang khusus dirancang untuk digunakan pada sistem embedded.

2.4.1. Fitur – fitur Android

Android menyediakan berbagai fitur dan API yang memungkinkan akses ke berbagai fitur yang dimiliki perangkat mobile. Adapun fitur-fitur yang ditawarkan Android adalah:

1. application framework yang memudahkan konsep reuse komponen,

2. Dalvik virtual machine yaitu virtual machine yang khusus dioptimasi untuk perangkat mobile,

3. browser yang terintegrasi,

4. grafik yang dioptimasi dengan library grafik 2D dan library grafik 3D yang berbasis spesifikasi OpenGL ES 1.0,

5. SQLite untuk penyimpanan data secara terstruktur,

6. dukungan media untuk berbagai format audio, video, dan gambar yang umum di pasaran (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) ,

7. akses terhadap jaringan GSM, Bluetooth, EDGE, 3G, dan WiFi, 8. akses terhadapa kamera, GPS, kompas, dan accelerometer,

9. lingkungan pengembangan yang kaya yaitu disertai denngan emulator, debugger,

memori dan performansi profiling, dan plugin untuk Eclipse Integrated

Development Environment (IDE).

2.4.2. Arsitektur Android

Arsistektur sistem terdiri atas 5 layer, pemisahan layer bertujuan untuk memberikan abstraksi sehingga memudahkan pengembangan aplikasi. Layerlayer tersebut adalah layer aplikasi, layer framework aplikasi, layer libraries, layer runtime,

(9)

dan layer kernel. Gambar II-4 memberikan gambaran umum komponen-komponen dalam arsitektur sistem operasi Android. Layer Applications adalah layer dimana aplikasi Android berjalan seperti email client, SMS program, kalendar, peta, browser, dan lain-lain. Layer Application Framework adalah layer yang berisi framework API yang dapat digunakan oleh developer. Android tidak membedakan antara core

applications dengan thirdparty applications dimana semuanya mempunyai akses ke

API yang sama. Framework Android dirancang untuk memudahkan konsep reuse dari komponen. Layer Libraries berisi library C/C++ yang digunakan oleh berbagai komponen dalam sistem Android, seperti:

1. System C library (libc) yang telah di-tuning untuk perangkat embedded berbasis Linux,

2. Media Library untuk encoding berbagai format gambar, audio, dan video, 3. Surface Manager untuk mengatur tampilan,

4. LibWebCore, engine untuk web browser, 5. SGL, engine untuk grafik 2D,

6. Libraries 3D yang berbasis API OpenGL ES 1.0, 7. FreeType untuk rendering huruf bitmap dan vector,

8. Library SQLite, engine untuk database relasional yang lightweight.

(10)

sebagian besar fungsionalitas yang serupa dengan API standard pada bahasa pemograman Java. Di layer ini juga terdapat Dalvik virtual machine (VM) dimana setiap aplikasi Android akan berjalan sebagai proses dengan instans tersendiri di atas VM ini.

Layer Linux Kernel berupa kernel Linux versi 2.6 sebagai core dari sistem yang

menyediakan berbagai layanan seperti keamanan, manajemen memori, manajemen proses, stack jaringan, dan model driver. Layer ini juga menyediakan abstraksi antara

Gambar

Gambar 2.1 Graf dengan 4 node dan 5 edge
Gambar 2.4. Output dari persoalan VRP pada Gambar 2.3
Gambar 2.5 Arsitektur Android

Referensi

Dokumen terkait

Problematika ekonomi manusia dalam perspektif Islam adalah pemenuhan kebutuhan (need) dengan Sumber Daya Alam (SDA) yang tersedia, dengan adanya konsep maslahah

Berdasarkan gambar distribusi curah hujan tanggal 20 dan 24 Nopember 2014 diwilayah Jabodetabek diatas dapat terlihat pada tanggal umumnya curah hujan kategori

Beberapa ketentuan dalam Keputusan Kepala Badan Meteorologi dan Geofisika Nomor KEP 005 Tahun 2004 tentang Organisasi dan Tata Kerja Balai Besar Meteorologi dan

Pada ketiga gambar tersebut, tinggi Hilal dinyatakan sebagai ketinggian pusat piringan Bulan dari horizon-teramati dengan elevasi pengamat dianggap 0 meter dpl dan efek

Dari hasil temuan dan analisis penelitian, ada beberapa hal yang dapat dijadikan sebagai saran atau masukan, antara lain bagi (1) Kepala sekolah hendaknya

Data-data yang dibutuhkan dalam melakukan analisis dan perhitungan efisiensi reaktor gasifikasi bonggol jagung, diperoleh melalui pengujian yang dilakukan di

Bagian Keuangan / Umum selaku pembantu Kepala Wilayah bertanggung jawab menyusun rencana dan melaksanakan kegiatan pengelolaan keuangan, fungsi kebendaharaan, penyusunan

Ada tiga hal yang perlu dipertimbangkan oleh gereja dalam melakukan pelayanan anak dalam konteks kekinian yaitu: pertama, melibatkan anak-anak dalam ibadah bersama