Post on 20-Mar-2022
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
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
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
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
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
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
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
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
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
xvi
DAFTAR RUMUS
Rumus 3.1. 1 Delivery Probability .........................................................................15
Rumus 3.1. 2 Average Latency ..............................................................................16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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