Top Banner
i SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN OPPORTUNISTIK UNTUK PENGUMPULAN DATA POLUSI UDARA YANG ADA DIJALAN SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Untuk Mendapat Gelar Sarjana Komputer Program Studi Informatika Oleh: YOSEPH GUSTI RANDA 165314063 PROGRAM STUDI INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2020 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43

SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

Mar 20, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

i

SIMULASI PERGERAKAN BUS TRANSJOGJA

DI JARINGAN OPPORTUNISTIK UNTUK PENGUMPULAN DATA

POLUSI UDARA YANG ADA DIJALAN

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Untuk Mendapat Gelar Sarjana Komputer

Program Studi Informatika

Oleh:

YOSEPH GUSTI RANDA

165314063

PROGRAM STUDI INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2020

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

ii

SIMULATION OF TRANSJOGJA BUS MOVEMENT IN

OPPORTUNISTIC NETWORK FOR AIR POLLUTION DATA

COLLECTION ON THE ROAD

A THESIS

Presented as Partial Fullfillment of Requirements

to Obtain Sarjana Komputer Degree

In Informatics Department

Oleh:

YOSEPH GUSTI RANDA

165314063

DEPARTMENT OF INFORMATICS

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2020

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

v

MOTTO

if you want to do something just do it without you need to think about what other

people say, but do it with all your heart and really because that's your choice.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

viii

ABSTRAK

Pada simulasi pergerakan Bus Transjogja penulis mengambil konsep

Vehicular Delay Tolerant Network (VDTN ) merupakan komunikasi nirkabel

berbasis jaringan opportunistik antara kendaraan dengan kendaraan atau kendaraan

dengan Point of Interest (POI), yang komunikasi berbasis Delay Tolerant Network

(DTN) dengan karakteristik bahwa kendaraan tersebut memiliki router dan

berkomunikasi dengan unit kendaraan yang lain untuk menerima data dari trafik

sumber sampai ke tujuan. Pada penelitian ini penulis memodelkan simulasi

pergerakan Bus TransJogja serill mungkin pada One Simulator menggunkan model

pergerakan MapRouteMovementPetaBusLIST dan StationaryMovementPetaBus

yang dapat mengambil data yang berisi informasi tentang polusi udara daerah

Jogja dengan cara mengambil data yang di pancarakan oleh node-node sensor

yang sudah di tanamkan di tiap perempatan jalan kemudian data tersebut dibawa

bus yang melewati jalur tersebut, sampai pada tujuan namun jika bus tidak melawati

jalur ke tujuan maka data yang dibawa tersebut titipkan ke bus lain yang jalurnya

menuju ke tujuan dan untuk pengiriman datanya penulis mengunakan protocol

routing epidemic . Pada penelitian simulasi pengerakan Bus Transjogja

memodelkan simulasi pergerakan Bus Transjogja serill mungkin untuk pengiriman

data dari node sensor ke node tujuan untuk data polusi udara , menggunakan

matriks unjuk kerja delivered probability dan average latency dan mendaptkan

hasil yang optimal dari beberapa kali percobaan simulasi.

Kata kunci :Bus Tansjogja, MapRouteMovementPetaBusLIST,

StationaryMovementPetaBus, Pergerakan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

ix

ABSTRACT

In the simulation of the Transjogja Bus movement, the author takes the

concept of the Vehicular Delay Tolerant Network (VDTN) which is an

opportunistic network-based wireless communication between a vehicle and a

vehicle or a vehicle with a Point of Interest (POI), which is communication based

on Delay Tolerant Network (DTN) with the characteristics that the vehicle has

router and communicate with other vehicle units to receive data from the traffic

source to the destination. In this study the authors simulated the movement of the

TransJogja Bus as possible as possible in One Simulator using the

MapRouteMovementPetaBusLIST and StationaryMovementPetaBus movement

models which can retrieve data that contains information about air pollution in the

Jogja area by retrieving data emitted by sensor nodes that have been implanted in

each Then the data is carried by the bus passing the route, arriving at the destination,

but if the bus does not cross the route to the destination, the data carried is entrusted

to another bus whose path is headed to the destination and for data transmission the

author uses the epidemic routing protocol. In this research, the Transjogja Bus

scaling simulation models the movement of the Transjogja Bus as often as possible

for sending data from the sensor node to the destination node for air pollution data,

using the delivered probability and average latency performance matrix and

obtaining optimal results from several simulation experiments.

Keywords :Bus Tansjogja, MapRouteMovementPetaBusLIST,

StationaryMovementPetaBus, Movement.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

xii

DAFTAR ISI

Halaman Persetujuan .............................................. Error! Bookmark not defined.

Halaman Pengesahan ............................................. Error! Bookmark not defined.

Motto ........................................................................................................................v

Pernyataan Keaslian Karya .................................................................................... vi

Lembaran Pernyataan Persetujuan ........................................................................ vii

Publikasi Karya Ilmiah Untuk Kepentingan Akademis ........................................ vii

Abstrak ................................................................................................................. viii

Abstract ...................................................................................................................ix

Kata Pengantar ......................................................................................................... x

Daftar Isi................................................................................................................ xii

Daftar Gambar .......................................................................................................xiv

Daftar Tabel ........................................................................................................... xv

Daftar Rumus ........................................................................................................xvi

Bab I Pendahuluan ..................................................................................................1

1.1. Latar Belakang...........................................................................................1

1.2. Rumusan Masalah......................................................................................2

1.3. Tujuan Penelitian .......................................................................................3

1.4. Manfaat Penelitian .....................................................................................3

1.5. Batasan Masalah ........................................................................................3

1.6. Metodologi Penelitian................................................................................3

1.7. Sistematika Penulisan ................................................................................5

Bab II Landasan Teori .............................................................................................6

2.1. Jaringan Opportunistik ..............................................................................6

2.2. Vehicular Ad Hoc Network (VANET).....................................................7

2.3. Vehicular Delay Tolerant Network (VDTN ) ............................................7

2.3.1 Strategi Kontak Untuk Sensor Nirkabel .............................................8

2.5. The One Simulator.....................................................................................9

2.6. Model Pergerakan Mapbasedmovement ...................................................9

2.7. Algoritma Shortest-Path ..........................................................................10

2.6.1 Dijkstra...................................................................................................10

Bab III Perancangan Simulasi Pergerakan Bus Transjogja ...................................10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

xiii

3.1. Parameter Simulasi ..................................................................................10

3.2. Skenario Simulasi ........................................................................................11

3.3. Metriks Unjuk Kerja ....................................................................................15

Bab IV Pengujian Dan Analisis .............................................................................16

3.4. Delivery Probability Data Polusi Udara .....................................................16

3.5. Average Latency Data Polusi Udara ..........................................................17

Bab V

Kesimpulan Dan Saran ...........................................................................................18

4.1 Kesimpulan ..............................................................................................18

4.2 Saran ........................................................................................................18

Daftar Pustaka ........................................................................................................19

Lampiran ................................................................................................................21

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

xiv

DAFTAR GAMBAR

Gambar 2.1 1 Mekanisme Store-Carry-Forward ........................................................... 6

Gambar 2.1 2 Strategi Kontak Untuk Sensor Nirkabel ............................................8

Gambar 3.1 1 Sistem Pembuatan Peta ..................................................................12

Gambar 3.1 2 Peta Transjogja ...............................................................................12

Gambar 3.1 3 Simulasi Bus Transjogja..................................................................14

Gambar 4.1 1 Delivery probability Data Polusi Udara ..........................................16

Gambar 4.1 2 Average latency Data Polusi Udara.................................................17

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

xv

DAFTAR TABEL

Table 3. 1 Bus Transjogja .....................................................................................10

Table 3. 2 Sensor Polusi Udara ..............................................................................10

Table 3. 3 Destanition ............................................................................................11

Table 3. 4 Tempurari ..............................................................................................11

Table 3. 5 Jumlah Bus Tansjogja ..........................................................................14

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

xvi

DAFTAR RUMUS

Rumus 3.1. 1 Delivery Probability .........................................................................15

Rumus 3.1. 2 Average Latency ..............................................................................16

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Mobile Ad-hoc Network (MANET) adalah jaringan wireless yang dinamis

dan tidak membutuhkan infrastruktur jaringan. Dalam penerapan setiap node

pada MANET berperan sebagai pengirim pesan, router dan juga sebagai

penerima pesan. MANET dapat bekerja dengan baik jika antar node dapat

terhubung dan bertukar pesan hingga pesan dapat diterima oleh node tujuan

tanpa adanya gangguan yang menyebabkan pesan tidak sampai. Sifat dari node

yang bergerak setiap saat menyebabkan topologi menjadi sering berubah-ubah

dan dapat terputus sewaktu-waktu. Sehingga muncul Delay-Tolerant Network

(DTN/OppNet) dalam pemecahan masalahnya [1][2][3][4][5].

Vehicular Ad Hoc Network (VANET) merupakan jaringan komunikasi

wireless, secara teori VANET juga merupakan perkembangan dari MANET,

perbedaan VANET dengan MANET yaitu laju kecepatan /mobilitas VANET

sangatlah cepat, bisa melebihi 100 km/jam [6]. Topologi jaringan VANET juga

termasuk jaringan ad hoc bergerak karena topologi jaringannya yang selalu

berubah-ubah posisi Jadi dapat dikatakan bahwa VANET merupakan salah satu

sistem komunikasi trafik yang cerdas [7].

Vehicular Delay Tolerant Network (VDTN) merupakan perkembangan

dari teknologi VANET, konsep VDTN sendiri secara teori adalah teknologi

perpaduan antara teknologi VANET dan teknologi DTN. Permasalahan utama

dalam pengiriman paket-paket data pada VANET untuk V2V, V2I, maupun I2I

adalah delay yang sulit diprediksi. Algoritma routing berbasis DTN seperti

epidemic routing, sebagai merupakan algoritma routing yang paling efektif

untuk teknologi VANET ini karena pada algoritma routing berbasis DTN ini

menggunakan konsep probabilitas (peluang). VDTN yang komunikasi berbasis

DTN dengan karakteristik bahwa kendaraan tersebut memiliki router dan

berkomunikasi dengan unit kendaraan yang lain untuk menerima data dari

trafik sumber sampai ke tujuan[8][9].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

2

Pada penelitian tugas akhir ini penulis mengunakan konsep VDTN dalam

mensimulasi pergerakan Bus TransJogja menggunakan ONE Simulator , yang

dapat mengambil informasi tentang polusi udara daerah Jogja dengan cara

mengambil data yang di pancarakan oleh node-node sensor yang sudah di

tanamkan di tiap perempatan jalan kemudian data tersebut di teruskan oleh bus

yang melewati jalur tersebut, dan data akan di bawa bus sampai pada tujuan ,

tetapi jika bus tidak melawati jalur ketujuan maka data tersebut akan di

titipkan pada bus lain yang jalurnya melewati tujuan(Dinas Lingkungan

Hidup) atau di titipkan ke node pengumpul sementara dengan mengunakan

simulasi pegerakan Bus Transjogja yang dimodelkan dengan pergerakan

MapRouteMovementPetaBusLIST dan StationaryMovementPetaBus.

1.2.Rumusan Masalah

Rumusan Masalah pada penelitian ini adalah sebagai berikut :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

3

Bagimana memodelkan pergerakan Bus Transjogja sebagai pengumpul

polusi udara pada ONE Simulator ?

1.3.Tujuan Penelitian

Tujuan dari penelitian ini adalah sebagaiberikut :

Membuat simulasi pergerakan Bus Transjogja serill mungkin pada ONE

simulator untuk pengumpul data polusi udara.

1.4. Manfaat Penelitian

Manfaat penelitian adalah sebagai berikut :

1. Memberikan gambaran pergerakan Bus Transjogja serill mungkin.

2. Hasil dari penelitian ini dapat digunakan sebagai bahan pertimbangan

dalam mengembangkan perolehan informasi data polusi udara di

Yogyakarta berdasarkan data yang di peroleh Bus Transjogja yang akan

digunakan dalam menetukan polusi udara Yogyakarta berdasarkan data

yang didapat pada simulasi pergerakan Bus Transjogja di ONE

Simulator.

1.5. Batasan Masalah

Batasan masalah dalam penelitian ini adalah :

1. Menggunakan model pergerakan MapRouteMovementPetaBusLIST

dan StationaryMovementPetaBus.

2. Hanya memodelkan pergerakan Bus Transjogja.

3. Menggunakan routing protocol Epidemic dan peyebaran informasi.

4. Parameter yang digunakan adalah Delivery Probability, Average

Latency.

1.6.Metodologi Penelitian

Metodologi Penelitian yang digunakan :

1. Studi Literatur

a. Teori Delay Tolerant Network (DTN)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

4

b. Teori Vehicular Ad-hoc Network (VANET)

c. Teori Vehicular Delay Tolerant Network (VDTN)

d. Teori The One Simulator

2. Perancangan

Dalam tahap ini penulis merancang skenario sebagai berikut :

a. Mensimulasikan Pergerakan Bus Transjogja serill mungkin pada

ONE simulator.

b. Melakukan simulasi pergerakan Bus Transjogja untuk

pengumpulan data Polusi udara di jaringan opportunistik

menggunakan pergerakan MapRouteMovementPetaBusLIST dan

StationaryMovementPetaBus

3. Pembuatan Simulasi dan pengumpulan Data

a. Mengambil file map dalam format osm pada OpenStreetMap

b. Mengubah file map dalam format osm ke format wkt menggunkan

OpenJump

c. Mensimulasikan algoritama routing epidemic pada pergerakan Bus

Transjoga menggunakan pergerakan MapRouteMovementPeta

BusLIST dan StatonaryMovementPetaBus. Pada Jalur1A.wkt,

Jalur1B.wkt, Jalur2A.wkt, Jalur2B.wkt, Jalur3A.wkt, Jalur3B.wkt,

Jalur4A.wkt, Jalur4B.wkt, Jalur5A.wkt, Jalur5B.wkt, Jalur6.wkt,

Jalur7.wkt, Jalur8.wkt, Jalur9.wkt, Jalur10.wkt, Jalur11.wkt dan

JalurTJ.wkt menggunkan ONE Simulator.

d. Hasil simulasi pada ONE Simulator tersebut menghasilkan file

output dan disimpan pada folder reports

4. File output berupa data dari Delivery Probability, Average Latency

a. Report berupa data Delivery Probability dan Average Latency

untuk pengumpulan data polusi udara yang ada di jaringan

opportunistik

5. Penarikan Kesimpulan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

5

Penarikan kesimpulan didasarka pada cara mensimulasikan

pergerakan Bus Transjogja serill mungkin dan analisis beberapa matrik

unjuk kerja dari pengumpulan data polusi udara yang diperoleh.

1.7. Sistematika Penulisan

Berikut ini merupakan sistematika penulisan yang terbagi kedalam bab:

BAB I PENDAHULUAN

Bab ini berisi penjelasan tentang latar belakang masalah, rumusan masalah,

tujuan penelitian, manfaat penelitian, batasan masalah, metodologi penelitian

dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi tentang dasar teori yang digunakan sebagai dasar dalam

melakukan penelitian tugas akhir.

BAB III PERANCANGAN SIMULASI

Bab ini berisi tentang rancangan simulasi yang akan digunakan dalam

penelitian.

BAB IV PENGUJIAN DAN ANALISIS

Bab ini berisi tentang tahap-tahap pengujian, simulasi dan analisa data dari

hasil penelitian.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan dari hasil pengujian dan analisis simulasi

serta saran dari penulis untuk penelitian selanjutnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

6

BAB II

LANDASAN TEORI

2.1. Jaringan Opportunistik

Jaringan Opportunistik atau OppNet adalah suatu jaringan yang

tidak memiliki infrastruktur serta mampu menoleransi adanya delay.

OppNet merupakan arsitektur yang cocok pada jaringan yang memiliki

delay yang tinggi, error rate yang tinggi, serta tidak selalu ada jalur end-

to-end yang tetap [1].

Gambar 2.1 1 Mekanisme Store-Carry-Forward

Jaringan Opportunistik memiliki system store-carry-forward, dimana

setiap node menyimpan pesan dalam buffer, kemudian meneruskan pesan

sampai menuju tujuan (destination) . Node yang tidak menjadi destination

akan menjadi node relay yang menjadi penghubung node, seperti ilustrasi

gambar 2 diatas [2][3]. Pada opportunistic network, topologi jaringan tidak

tergambar secara jelas karena node selalu bergerak dengan kecepatan dan

pergerakan acak. Karena koneksi end-to-end tidak selalu ada maka

mobilitas pada opportunistic network dapat digunakan sebagai sarana

komunikasi antara kelompok node yang terpisah dengan menggunakan

paradigma store-carry-and-forward [4][5]. Dengan metode store, carry,

dan forward sebuah paket data saat melewati node-node perantara (router)

akan disimpan terlebih dahulu sebelum diteruskan. Hal ini untuk

mengantisipasi seandainya node berikutnya tidak dapat dijangkau (mati)

atau ada kendala lain (A. Mazlan, 2014).

Source

Node

Relay

Node

Relay

Node Desti-

nation Node

store store store

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

7

2.2. Vehicular Ad Hoc Network (VANET)

Vehicular Ad Hoc Network (VANET) merupakan jaringan komunikasi

wireless, secara teori VANET juga merupakan perkembangan dari

MANET, perbedaan VANET dengan MANET yaitu laju kecepatan

(mobilitas) VANET sangatlah cepat, bisa melebihi 100 km/jam. [1]Jadi

dapat dikatakan bahwa VANET merupakan salah satu sistem komunikasi

trafik yang cerdas. Jenis komunikasi pada VANET terbagi menjadi tiga

macam, V2V (vehicle to vehicle communication), V2I (vehicle to

Infrastructure communication), dan I2I (infrastructure to infrastructure

communication)[6]. Secara teori jaringan wireless dibagi dua yaitu dengan

dan tanpa infrastuktur. Sedangkan topologi jaringan VANET termasuk

jaringan wireless dengan infrastruktur , karena pada topologi jaringan

VANET terdapat AP (access point) yang berfungsi untuk berkomunikasi

antara satu node dan node lainnya. Topologi jaringan VANET juga

termasuk jaringan ad hoc bergerak karena topologi jaringannya yang selalu

berubah-ubah posisi[7].

2.3. Vehicular Delay Tolerant Network (VDTN )

VDTN merupakan perkembangan dari teknologi VANET,

konsep VDTN sendiri secara teori adalah teknologi perpaduan antara

teknologi VANET dan teknologi DTN. Permasalahan utama dalam

pengiriman paket-paket data pada VANET untuk V2V (vehicle to vehicle

communication), V2I (vehicle to Infrastructure communication), dan I2I

(infrastructure to infrastructure communication). adalah delay yang sulit

diprediksi. Algoritma routing berbasis DTN seperti epidemic routing,

routing dan sebagainya merupakan algoritma routing yang paling efektif

untuk teknologi VANET ini karena pada algoritma routing berbasis DTN

ini menggunakan konsep probabilitas (peluang)[8]. VDTN adalah

komunikasi berbasis Delay Tolerant Nework (DTN) dengan karakteristik

bahwa kendaraan tersebut memiliki router dan berkomunikasi dengan unit

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

8

kendaraan yang lain untuk menerima data dari trafik sumber sampai ke

tujuan[9].

2.3.1 Strategi Kontak Untuk Sensor Nirkabel

Berbagai fase pengumpulan data dalam sensor nirkabel jaringan

dengan elemen seluler telah dijelaskan di mana kontak dapat

didefinisikan sebagai kondisi ketika dua node atau lebih berada dalam

jangkauan komunikasi satu sama lain, dengan demikian, dapat bertukar

data. Dalam arsitektur yang kami usulkan, kami menganggap bahwa

jaringan kendaraan harus agnostik dalam hal mekanisme kontak.

Karena itu, strategi kontak harus dikelola oleh sensor itu sendiri.

Gambar 2.1 2 menunjukkan skenario kontak yang ideal antara sensor

dan kendaraan [10]. Selama waktu kontak, proses penemuan akan

berlangsung, yang memungkinkan sensor untuk mendeteksi

keberadaan kendaraan sebelum mulai bertukar data [11].

Gambar 2.1 2 Mekanisme contact strategy for wireless sensor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

9

2.5. The One Simulator

The One Simulator [12] adalah sebuah aplikasi untuk membuat

simulasi pada jaringan opportunistik. Beberapa fungsi dari aplikasi ini

diantaranya, sebagai pemodelan dari pergerakan perangkat, routing, dan

filtering pengiriman pesan. Hasil dan analisis yang didapat dilakukan

melalui visualisasi gui dan reports.

2.6. Model Pergerakan MapBasedMovement

MapBasedMovement adalah model pergerakan yang sudah

terintegrasi dengan ONE simulator. Model pergerakan ini

mengharuskan node bergerak sepanjang jalan yang ditentukan pada

sebuah peta.ONE simulator memiliki tiga jenis MapBasedMovement

yaitu Random Map-based Movement, Shortest Path Map- Based

Movement dan Routed Mab-based Movement [12].

1) Random Map-based Movement (MBM)

Random Map-based Movement jenis ini merupakan yang

paling sederhana. Node bergerak secara random namun tetap

mengikuti alur pada peta dan menghasilkan data yang kurang

akurat.

2) Shortest Path Map- Based Movement (SPMBM)

Shortest Path Map- Based Movement adalah model

pergerakan node memilih satu titik yang dituju secara acak dan

bergerak melalui jalan terpendek yang dapat dilalui menuju titik

tersebut.Tempat tujuan dipilih secara acak atau berdasarkan Point

of Interest (POI). POI dipilih berdasarkan tempat-tempat yang

sering menjadi destinasi manusia seperti restaurant, tempat

rekreasi, tempat perbelanjaan, tempat pengisian bahan bakar dan

lain-lain.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

10

3) Routed Mab-based Movement (RMB)

Routed Mab-based Movement adalah model pergerakan node

bergerak pada konstruksi jalan yang fixed seperti kereta dan bus.

2.7. Algoritma Shortest-Path

Algoritma Shortest-Path merupakan penyelesaian masalah dalam

melakukan pencarian jalur terpendek antar 2 titik atau node yang ada pada

graph dengan cost yang dihasilkan adalah minimum. Ada banyak jenis

Algoritma Shortest-Path diantaranya adalah Dijkstra [13].

2.6.1 Dijkstra

Dijkstra adalah salah satu algoritma Shortest-Path yang

ditemukan oleh dsger W. Dijkstra pada tahun 1956. Algoritma ini

mencari jalur terpendek antar 2 titik dalam sebuah graf dengan

menggunakan sebuah konsep greedy. Mencari jalur tependek dari satu

titik asal kesemua titik lainnya. Algoritma ini sangat umum digunakan

karena algoritma ini dapat mencari jalur terpendek dengan hasil

kerumitan yang hampir sama, namum algoritma ini memiliki

kekurangan yang dimana Dijkstra tidak dapat menghitung jarak

terdekat jika sebuah graf memiliki sisi yang bernilai negatif [14].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

10

BAB III

PERANCANGAN SIMULASI PERGERAKAN BUS TRANSJOGJA

3.1. Parameter Simulasi

Parameter tetap yang digunakan pada peneltian ini dan digunakan

pada beberapa skenario yang berbeda adalah sebagai berikut.

Table 3. 1 Bus Transjogja

Parameter Nilai

Waktu Simulasi 18 jam

Ukuran Buffer 25 MB

Ukuran Pesan 500k-1M

TTL 60 Menit

Kecepatan Node 7 m/s – 10 m/s

Luas Area 20000 x 15000 m

transmitRange 300 meter

transmitSpeed 6 Mbps

Pergerakan MapRouteMovementLIST

Waktustop 60,300

Table 3. 2 sensor polusi udara

Parameter Nilai

Waktu Simulasi 18 jam

Ukuran Buffer 64 kbps

transmitRange 10 meter

transmitSpeed 250 kbps

Pergerakan StationaryMovementPetaBus

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

11

Table 3. 3 destanition

Parameter Nilai

Waktu Simulasi 18 jam

Ukuran Buffer 1 GB

transmitRange 500 meter

transmitSpeed 100 Mbps

Pergerakan StationaryMovementPetaBus

Table 3. 4 tempurari

Parameter Nilai

Waktu Simulasi 18 jam

Ukuran Buffer 1 GB

transmitRange 300 meter

transmitSpeed 6 Mbps

Pergerakan StationaryMovementPetaBus

3.2. Skenario Simulasi

Langkah pertama dalam melakukan simulasi penulis membutuhkan

peta kota Yogyakarta yang di lewati oleh Bus TransJogja sebagai tempat

melakukan simulasi pergerakan Bus Transjogja . Peta tersebut di dapat dari

aplikasi yang bernama OpenStreetMap dengan format file peta yang di

dapat dari OpenStreetMap adalah file * .osm. file yang di dapat Kemudian

di konversi ke berkas WKT menggunakan Osm2Wkt converter ,proses

konversi perlu menggunakan Command Prompt . Proses editing dilakukan

dengan menggunakan OpenJump Langkah-langkahnya di perlihatkan pada

Gambar 3.1 1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

12

Gambar 3.1 1 Sistem Pembuatan Peta

Setelah peta jalur TransJogja di conver dari file osm to wkt , file

peta Transjogja di edit menggunakan OpenJump dan menyisakan jalur-jalur

yang di lewati TransJogja , setelah peta Transjogja sesuai dengan

kebutuhan penelitian seperti ditujukan pada Gambar 3.1 2 , simulasi

pergerakan Bus Transjoga tersebut akan di jalankan pada One Simulator.

Gambar 3.1 2 Peta Transjogja

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

13

Pada Skenario simulasi pergerakan Bus Transjogja , menempatkan

26 sensor 7 terminal dan 1 titik kumpul untuk data polusi udara seperti pada

Gambar 3.1 3 di keseluruhan jalur Bus Transjogja dan 26 sensor polusi

udara yang di tempatkan di jalan yang di lewati bus transjogja setiap 5 menit

sekali akan membuat data polusi udara dan sensor di tempatkan di beberapa

perempatan ataupun pertigaan yang banyak di lewati Bus TransJogja , Bus

Transjogja sendiri terdapat 17 jalur ,dimana setiap jalurnya memiliki

jumlah bus berbeda-beda seperti pada Table 1 5 dari semua jalur terdapat

117 Bus TransJogja yang akan digunakan pada simulasi, apabila Bus

TransJogja melawati jalur yang di tempati sensor maka sensor tersebut akan

memberikan Message kepada Bus Transjogja untuk di bawakan ke

destination dan setiap bertemu Bus Transjogja yang lain , Message akan di

copy dan di berikan kepada Bus TransJogja Yang di temui .selain

memberikan copy kepada sesama Bus TransJogja Message juga di berikan

pada Pengumpul sementara (tempurari) dan untuk memodelkan simulasi

pergerakan Bus Transjogja maka digunkanlah jenis pergerakan

MapRouteMovementPetaBusLIST dan StationaryMovementPetaBus

dengan routing protocol Epidemic.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

14

Gambar 3.1 3 Simulasi Bus Transjogja

Table 3. 5 Jumlah Bus Tansjogja

No Jalur Jumlah Bus

1 1A 15

2 1B 9

3 2A 10

4 2B 10

5 3A 11

6 3B 11

7 4A 5

8 4B 6

9 5A 4

10 5B 4

11 6A 4

12 6B 4

13 7 3

14 8 5

15 9 6

16 10 6

17 11 4

Jumlah Bus 117

Pada penelitian ini memodifikasi pergerakan pada class

MapRouteMovement dimana pada awalnya pergerakan ini hanyak

memiliki dua tipe pergerakan yaitu sirkular dan ping-pong pada penelitian

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

15

ini penulis menggunkan pergerakan sirkular namun, pergerakan sirkular

bawaan One Simulator tidak bisa memberhentikan node di kordinat tertentu

dan penulis perlu bisa memberhentikan node ,maka penulis memodifikasi

pergerakan dengan nama MapRouteMovementPetaBusLIST dimana jika

node (bus) ketemu dengan list kordinat pemberhentian (terminal) yang

penulis tentukan maka node tersebut akan berhenti selama waktu yang

penulis tentuan dari setting waktustop , untuk bisa memberhentikan node di

kordinat tertentu penulis juga perlu mengedit beberapa class tertentu seperti

class DTNHost dan class Path, dan ini untuk mempermudah kita

membedakan antar node sebagai bus, terminal dan sensor pada penelitian

ini , penulis juga mengedit NodeGrapich untuk merubah warna node

berdasarkan ID node yang penulis tentukan

3.3. Metriks Unjuk Kerja

Terdapat tiga Metrik unjuk kerja yang digunakan untuk

menganalisis unjuk kerja protokol Epidemic, yaitu :

a. Delivery Probability

Delivery probability adalah berapa banyak pesan yang dibuat dan

dapat sampai ke tujuan .

Rumus 3.1. 1 Delivery Probability

b. Average Latency

Average Latency adalah transmisi rata-rata waktu yang dibutuhkan dari

pesan diproduksi sampai pesan tiba di tujuan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

16

Rumus 3.1. 2 Average Latency

Pseudo-code Berhentikan Bus

WaktuStop=60-300;

Waktuberhenti= SimClock.getIntTime() + generateWaktuStop();

File_Stop=liststop;

Bus=node;

IF ( node.lokasi ==lokasi.liststop){

Node.lokasi , waktuberhenti};

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

16

BAB IV

PENGUJIAN DAN ANALISIS

Untuk melakukan evaluasi terhadap simulasi pergerakan Bus Transjogja, maka

dilakukan simulasi dan pengujian dengan menggunakan rancangan skenario yang

sudah dijelaskan pada Bab III, Data diperoleh dari report yang dihasilkan ketika

simulasi berlangsung dan kemudian menjadi bahan untuk dilakukan analisis.

3.4. delivery probability Data Polusi Udara

Gambar 4.1 1 Delivery probability Data Polusi Udara

Pada Gambar 4.1.1 menujukan hasil delivery probability untuk data polusi

udara yang di simulasikan dengan mengunakan pergerakan Bus Transjogja untuk

pegiriman data ,dimana pembuatan data polusi udara di lakukan menggunakan

Externaltrace yaitu sensor yang di boleh membuat data polusi udara ditentukan

dengan jumlah 26 sensor yang digunakan sebagai pembuat data, dengan 1 tujuan

untuk pengumpulan Data Polusi Udara , yang di bawah oleh salah satu Bus

Transjogja diantar 117 bus yang menjadi kurir untuk pengiriman data sampai ke

tujuan dan data bisa di titipkan kepengumpul sementara, menggunkan routing

protocol epidemic untuk penyebaran data yang di lakukan simulasi selama 18 jam

dengan interval pembuatan data 5 menit , dan mendapat hasil delivery probability

yang optimal yaitu 0.7515 dari beberapa kali simulasi dilakukan untuk Data Polusi

Udara.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

17

3.5. Average Latency Data polusi udara

Gambar 4.1 2 Average latency Data Polusi Udara

Pada Gambar 4.1.2 menujukan Average latency yang optimal yaitu

1976.6945 second untuk pengiriman Data Polusi Udara yang di dapat dari

beberapa simulasi yang dilakukan , hal ini di sebabkan oleh beberpa faktor yang

mempengaruhinya , pada simulasi pengerkan Bus Transjogja ini karena penulis

mensimulasikan bus akan berhenti beberapa saat jika ketemu Terminal yang mana

jumlah terminal ada 7 dan semua Bus berheti di setiap terminal yang di lewati

jalurnya selama 1-5 menit sehingga menabah lateny untuk data tersebut tapi ada

keuntungan yang di dapat juga yang mana bus bisa bertukar pesan selama ketemu

di terminal dan bus yang membawa Data Polusi banyak melawati terminal

sehingga banyak terjadi pengiriman untuk Data polusi udara dan terdapat 3 teminal

yang menjadi pengumpul sementara (tempurari) sehingga pada penelitian ini bisa

mendapat nilai Average latency Data Polusi Udara yang optimal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

18

BAB V

KESIMPULAN DAN SARAN

4.1 Kesimpulan

Setelah melakukan pengujian dan analisis pada data hasil simulasi,

kesimpulan yang didapat adalah sebagai berikut:

Pada simulasi pergerakan Bus Transjogja pada One Simulator

menggunakan Model Pergerakan MapRouteMovementPetaBusLIST dan

StationaryMovementPetaBus dapat memodelkan simulasi pergerakan Bus

Transjogja serill mungkin untuk pengumpulan data polusi udara .

Pada simulasi pergerakan Bus Transjogja menggunakan One Simulator

dapat memodelkan pergerakan Bus Transjogja dapat berhenti di terminal

dan bisa menjadi kurir untuk pengumpulan data polusi udara yang

menggunkan konsep Vehicular Delay Tolerant Network (VDTN ).

4.2 Saran

Pada simulasi pergerakan Bus Transjogja menggunakan model

pergerakan MapRouteMovementPetaBusLIST dan StationaryMovement

PetaBus untuk memodelkan pergerakan Bus Transjogja serill mungkin.

Oleh karena itu diharapkan pada penelitian selajutnya dapat memodelkan

pergerakan Bus Transjogja serill mungkin dengan banyak variasi seperti

pemberhentian di lampu merah atau terjadi kemacetan dan terjadi

kecelakaan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

19

DAFTAR PUSTAKA

[1] J.Kurhinen, and J.Janatuinen, Delay Tolerant Routing in Sparse Vehicular

Ad-Hoc Networks: Acta Electrotechnica et Informatica, Vol. 8, No. 3, 7–13,

2008.

[2] M.Doering, T.Pogel, and L.Wolf,DTN Routing in Urban Public Transport

Systems:Technische Universität Braunschweig Braunschweig, September,

2010.

[3] K. Fall, A Delay-Tolerant Network Architecture for Challenged Internets:

Intel Research Berkeley. February, 2003.

[4] J.J.P.C. Rodrigues, Advances in Delay-tolerant Networks(DTNs)

Architekture and Enjanced: Woodhead Publishing Series in Electronic and

Optical Materials, 2015.

[5] A.Abraham, and Jebapriya.S, Routing strategies in Delay Tolerant Networks:

a Survey:

International Journal of Computer Applications (0975 – 8887). Volume 42,

No.19, March, 2012.

[6] A. Huang,J. Bao, Transmission Perofrmance Analysis fo VANET Based On

802.11p:

International Conference on Computational and Information Sciences, 2013.

[7] Z. MacHardy, A. Khan, K. Obana, and S. Iwashina, “V2X Access

Technologies: Regulation, Research, and Remaining Challenges,” IEEE

Communications Surveys Tutorials, pp. 1–1, 2018.

[8] D.Niyato, P.Wang, and J.C.M.Teo. Performance Analysis of the Vehicular

Delay Tolerant Network: School of Computer Engineering, Nanyang

Technological University (NTU), Singapore Institute for Infocomm

Research, Singapore

[9] N. Indra Er, K. D. Singh, and J.-M. Bonnin, “DC4LED: A Hierarchical

VDTN Routing for Data Collection in Smart Cities,” in 2019 16th IEEE

Annual Consumer Communications and Networking Conference (CCNC) ,

forthcoming.

[10] M. Di Francesco, S. K. Das, and G. Anastasi, “Data Collection in Wireless

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

20

Sensor Networks with Mobile Elements: A Survey,” ACM Trans. Sen. Netw.,

vol. 8, no. 1, pp. 7:1–7:31, Aug. 2011.

[11] E. Casilari, J. M. Cano-Garca, and G. Campos-Garrido, “Modeling of Current

Consumption in 802.15.4/ZigBee Sensor Motes,” Sensors, vol. 10, no. 6, pp.

5443–5468, Jun. 2010.

[12] A. Keranen, J. Ott, T. Karkkainen, The ONE Simulator for DTN Protocol

Evaluation: SIMUTools, Rome. Italy, 2009.

[13] Madkour, A., Aref, W. G., Rehman, F. U., Rahman, M. A., & Basalamah,

S. (2017). A Survey of Shortest-Path Algorithms. May.

[14] Runtuwen, N. J. (2016). Pemanfaatan Algoritma Shortest-Path untuk

Pencarian JalurEfektifdalam Aplikasi-Aplikasi. Teknik Informatika, Sekolah

Teknik Elektro Dan Informatik, 1–3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

20

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

21

Lampiran

1. MapRouteMovementPetaBusLIST

public class MapRouteMovementPetaBusLIST extends MapBasedMovement implements SwitchableMovement { public static final String ROUTE_FILE_S = "routeFile"; public static final String ROUTE_TYPE_S = "routeType"; public static final String ROUTE_FIRST_STOP_S = "routeFirstStop";

public static final String WAKTU_STOP = "waktuStop"; //tambahan public static final String FILE_STOP = "fileStop"; private DijkstraPathFinder pathFinder; private List<MapRoute> allRoutes = null; private Integer nextRouteIndex = null; private int firstStopIndex = -1;

private MapRoute route; private double Minwaktustop; private double Maxwaktustop; protected List<MapNode> listStop; protected String fileStop;

public MapRouteMovementPetaBusLIST(Settings settings) { super(settings); double[] waktustop; String fileName = settings.getSetting(ROUTE_FILE_S); int type = settings.getInt(ROUTE_TYPE_S); allRoutes = MapRoute.readRoutes(fileName, type, getMap());

nextRouteIndex = 0; pathFinder = new DijkstraPathFinder(getOkMapNodeTypes()); this.route = this.allRoutes.get(this.nextRouteIndex).replicate(); if (this.nextRouteIndex >= this.allRoutes.size()) { this.nextRouteIndex = 0; }

if (settings.contains(ROUTE_FIRST_STOP_S)) { this.firstStopIndex = settings.getInt(ROUTE_FIRST_STOP_S); if (this.firstStopIndex >= this.route.getNrofStops()) { throw new SettingsError("Too high first stop's index (" + this.firstStopIndex + ") for route with only "

+ this.route.getNrofStops() + " stops"); } } if (settings.contains(WAKTU_STOP)) { waktustop = settings.getCsvDoubles(WAKTU_STOP, 2); Minwaktustop = waktustop[0];

Maxwaktustop = waktustop[1]; } if (settings.contains(FILE_STOP)) { fileStop = settings.getSetting(FILE_STOP); try { listStop = readStopPoint(fileStop);

} catch (IOException ex) { Logger.getLogger(MapRouteMovementEdit1.class.getName()).log(Level.SEVERE, null, ex); }

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

22

} } protected MapRouteMovementPetaBusLIST(MapRouteMovementPetaBusLIST proto) {

super(proto); this.route = proto.allRoutes.get(proto.nextRouteIndex).replicate(); this.firstStopIndex = proto.firstStopIndex; // this.lokasipertama = proto.lokasipertama; if (firstStopIndex < 0) { /* set a random starting position on the route */

this.route.setNextIndex(rng.nextInt(route.getNrofStops() - 1)); } else { /* use the one defined in the config file */ this.route.setNextIndex(this.firstStopIndex); }

this.pathFinder = proto.pathFinder; proto.nextRouteIndex++; // give routes in order if (proto.nextRouteIndex >= proto.allRoutes.size()) { proto.nextRouteIndex = 0; }

this.Minwaktustop = proto.Minwaktustop; this.Maxwaktustop = proto.Maxwaktustop; this.listStop = proto.listStop; }

@Override public Path getPath() { Path p = new Path(generateSpeed()); //Membuat objek path2 Path p2 = new Path(generateSpeed()); //lokasi stop yang ada di Map

MapNode to = route.nextStop(); List<MapNode> nodePath = pathFinder.getShortestPath(lastMapNode, to); // System.out.println("isi"+nodePath); // this assertion should never fire if the map is checked in read phase assert nodePath.size() > 0 : "No path from " + lastMapNode + " to " + to + ". The simulation map isn't fully connected";

for (MapNode node : nodePath) { // create a Path from the shortest path p.addWaypoint(node.getLocation()); //Membuat path dimana path tersebut terdapat waktu stop p2.addWaypoints(node.getLocation(), jalurSelanjutnya()); }

lastMapNode = to; //ngecek apakah nextstop selanjutnya ada dilist location tujuan for (int i = 0; i < listStop.size(); i++) { if (to.toString().substring(4).equals(listStop.get(i).toString().substring(2))) { // System.out.println("sama");

return p2; } }

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

23

return p; }

protected double generateWaktuStop() { if (rng == null) { return 0; } return (Maxwaktustop - Minwaktustop) * rng.nextDouble() + Minwaktustop;

} public double jalurSelanjutnya() { return SimClock.getIntTime() + generateWaktuStop(); }

public static List<MapNode> readStopPoint(String fileName) throws FileNotFoundException, IOException { File file = new File(fileName); FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr);//baca isi dr file String line;

String temp = null; while ((line = br.readLine()) != null) { temp = line; } List<MapNode> stopPoint = new ArrayList<>(); String[] simpan = temp.split(","); // buat btsnilai xdan y

for (String temp2 : simpan) { String[] temp4 = temp2.split(" "); double x = Double.parseDouble(temp4[0]); double y = Double.parseDouble(temp4[1]); // System.out.println(x + " " + y); stopPoint.add(new MapNode(new Coord(x, y)));

} return stopPoint; } @Override public Coord getInitialLocation() {

if (lastMapNode == null) { lastMapNode = route.nextStop(); } return lastMapNode.getLocation().clone(); }

@Override public Coord getLastLocation() { if (lastMapNode != null) { return lastMapNode.getLocation().clone(); } else {

return null; } }

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

24

@Override public MapRouteMovementPetaBusLIST replicate() { return new MapRouteMovementPetaBusLIST(this);

} public List<MapNode> getStops() { return route.getStops(); } }

2. Path

package movement;

import java.util.ArrayList;

import java.util.List;

import core.Coord;

public class Path {

private List<Coord> coords;

private List<Double> speeds;

private double waktustop; // tambahan

private int nextWpIndex;

public Path() {

this.nextWpIndex = 0;

this.coords = new ArrayList<Coord>();

this.speeds = new ArrayList<Double>(1);

}

public Path(Path path) {

this.nextWpIndex = path.nextWpIndex;

this.coords = new ArrayList<Coord>((ArrayList<Coord>)path.coords);

this.speeds = new ArrayList<Double>((ArrayList<Double>)path.speeds);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

25

public Path(double speed) {

this();

setSpeed(speed);

}

public void setSpeed(double speed) {

this.speeds = new ArrayList<Double>(1);

speeds.add(speed);

}

public List<Coord> getCoords() {

return this.coords;

}

public void addWaypoint(Coord wp) {

assert this.speeds.size() <= 1 : "This method should be used only for" +

" paths with constant speed";

this.coords.add(wp);

}

public void addWaypoint(Coord wp, double speed) {

this.coords.add(wp);

this.speeds.add(speed);

}

public void addWaypoints(Coord wp, double waktustop) {

this.coords.add(wp);

this.waktustop=waktustop;

}

public Coord getNextWaypoint() {

assert hasNext() : "Path didn't have " + (nextWpIndex+1) + ". waypoint";

return coords.get(nextWpIndex++);

}

public boolean hasNext() {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

26

return nextWpIndex < this.coords.size();

}

public double getSpeed() {

assert speeds.size() != 0 : "No speed set";

assert nextWpIndex != 0 : "No waypoint asked";

if (speeds.size() == 1) {

return speeds.get(0);

}

else {

return speeds.get(nextWpIndex-1);

}

}

public String toString() {

String s ="";

for (int i=0, n=coords.size(); i<n; i++) {

Coord c = coords.get(i);

s+= "->" + c;

if (speeds.size() > 1) {

s += String.format("@%.2f ",speeds.get(i));

}

}

return s;

}

public List<Double> getSpeeds() {

return this.speeds;

}

public Double getWaktuStop() { //tambahan

return this.waktustop;

}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

27

3. DTNHost

package core;

import java.util.ArrayList; import java.util.Collection; import java.util.List; import movement.MovementModel; import movement.Path;

import routing.MessageRouter; import routing.RoutingInfo; public class DTNHost implements Comparable<DTNHost> { private static int nextAddress = 0; private int address;

private Coord location; // where is the host private Coord destination; // where is it going private MessageRouter router; private MovementModel movement;

private Path path; private double speed; private double nextTimeToMove; private String name; private List<MessageListener> msgListeners; private List<MovementListener> movListeners;

private List<NetworkInterface> net; private ModuleCommunicationBus comBus; static { DTNSim.registerForReset(DTNHost.class.getCanonicalName()); reset();

} public DTNHost(List<MessageListener> msgLs, List<MovementListener> movLs, String groupId, List<NetworkInterface> interf, ModuleCommunicationBus comBus,

MovementModel mmProto, MessageRouter mRouterProto) { this.comBus = comBus; this.location = new Coord(0,0); this.address = getNextAddress(); this.name = groupId+address; this.net = new ArrayList<NetworkInterface>();

for (NetworkInterface i : interf) { NetworkInterface ni = i.replicate(); ni.setHost(this); net.add(ni); }

private boolean setNextWaypoint() { if (path == null) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

28

path = movement.getPath(); } if (path == null || !path.hasNext()) {

this.nextTimeToMove = movement.nextPathAvailable(); this.path = null; return false; } this.destination = path.getNextWaypoint();

this.speed = path.getSpeed(); this.nextTimeToMove = path.getWaktuStop();//tambahan if (this.movListeners != null) { for (MovementListener l : this.movListeners) { l.newDestination(this, this.destination, this.speed); }

} return true; }

4. NodeGrafhic

package gui.playfield; import java.awt.Color;

import java.awt.Graphics2D; import java.awt.geom.Ellipse2D; import java.util.ArrayList; import core.Connection; import core.Coord;

import core.DTNHost; import core.NetworkInterface; public class NodeGraphic extends PlayFieldGraphic { private static boolean drawCoverage = true; private static boolean drawNodeName = true;

private static boolean drawConnections = true; private static Color rangeColor = Color.YELLOW; private static Color conColor = Color.BLACK; private static Color hostColor = Color.BLUE; private static Color hostNameColor = Color.BLUE;

private static Color msgColor1 = Color.BLUE; private static Color msgColor2 = Color.GREEN; private static Color msgColor3 = Color.RED; private DTNHost node;

public NodeGraphic(DTNHost node) { this.node = node; }

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

29

@Override public void draw(Graphics2D g2) { drawHost(g2);

drawMessages(g2); } private void drawHost(Graphics2D g2) { Coord loc = node.getLocation(); if (drawCoverage && node.isActive()) {

ArrayList<NetworkInterface> interfaces = new ArrayList<NetworkInterface>(); interfaces.addAll(node.getInterfaces()); for (NetworkInterface ni : interfaces) { double range = ni.getTransmitRange(); Ellipse2D.Double coverage;

coverage = new Ellipse2D.Double(scale(loc.getX() - range), scale(loc.getY() - range), scale(range * 2), scale(range * 2)); // draw the "range" circle if (node.toString().charAt(0) == 's') { g2.setColor(Color.RED);

g2.draw(coverage); } else if (node.toString().charAt(0) == 'B') { g2.setColor(Color.BLACK); g2.draw(coverage); } else { g2.setColor(Color.BLUE);

g2.draw(coverage); } } }

if (drawConnections) { g2.setColor(conColor); Coord c1 = node.getLocation(); ArrayList<Connection> conList = new ArrayList<Connection>(); // create a copy to prevent concurrent modification exceptions conList.addAll(node.getConnections());

for (Connection c : conList) { Coord c2 = c.getOtherNode(node).getLocation(); g2.drawLine(scale(c1.getX()), scale(c1.getY()), scale(c2.getX()), scale(c2.getY())); }

} if (node.toString().charAt(0) == 's') { g2.setColor(Color.RED); // draw rectangle to host's location g2.drawRect(scale(loc.getX() - 1), scale(loc.getY() - 1), scale(2), scale(2));

if (drawNodeName) { g2.setColor(Color.RED); // Draw node's address next to it

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: SIMULASI PERGERAKAN BUS TRANSJOGJA DI JARINGAN ...

30

g2.drawString(node.toString(), scale(loc.getX()), scale(loc.getY())); } } else if (node.toString().charAt(0) == 'B') {

g2.setColor(Color.BLACK); // draw rectangle to host's location g2.drawRect(scale(loc.getX() - 1), scale(loc.getY() - 1), scale(2), scale(2)); if (drawNodeName) { g2.setColor(Color.BLACK); // Draw node's address next to it

g2.drawString(node.toString(), scale(loc.getX()), scale(loc.getY())); } } else { g2.setColor(Color.BLUE); // draw rectangle to host's location g2.drawRect(scale(loc.getX() - 1), scale(loc.getY() - 1), scale(2), scale(2));

if (drawNodeName) { g2.setColor(Color.BLUE); // Draw node's address next to it g2.drawString(node.toString(), scale(loc.getX()), scale(loc.getY())); }

} }

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI