ANALISIS EFEK TRANSFER ACKNOWLEDGEMENT PADA
PROTOKOL EPIDEMIC TERHADAP BEBAN JARINGAN DI
PERGERAKAN RANDOM DAN MANUSIA
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar
Sarjana Komputer Program Studi Teknik Informatika
Oleh:
Michael Donny Kusuma
145314031
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
ANALYSIS OF ACKNOWLEDGEMENT TRANSFER EFFECT ON
EPIDEMIC PROTOCOL TO NETWORK LOAD IN RANDOM AND
HUMAN MOVEMENT
A THESIS
Presented as Partial Fulfillment of Requirements to Obtain Sarjana
Komputer Degree in Informatics Engineering Department
By:
Michael Donny Kusuma
145314031
INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
HALAMAN PERSETUJUAN
SKRIPSI
ANALISIS EFEK TRANSFER ACKNOWLEDGEMENT PADA
PROTOKOL EPIDEMIC TERHADAP BEBAN JARINGAN DI
PERGERAKAN RANDOM DAN MANUSIA
Oleh:
Michael Donny Kusuma
145314031
Telah disetujui oleh:
Dosen Pembimbing,
Bambang Soelistijanto, Ph.D
Tanggal, ..... Desember 2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
HALAMAN PENGESAHAN
SKRIPSI
ANALISIS EFEK TRANSFER ACKNOWLEDGEMENT PADA
PROTOKOL EPIDEMIC TERHADAP BEBAN JARINGAN DI
PERGERAKAN RANDOM DAN MANUSIA
Dipersiapkan dan ditulis oleh:
Michael Donny Kusuma
145314031
Telah dipertahankan di depan panitia penguji
Pada tanggal 15 Januari 2018
dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama Lengkap Tanda Tangan
Ketua : Henricus Agung Hernawan, S.T., M.Kom. .......................
Sekretaris : Puspaningtyas Sanjoyo Adi, S.T., M.T. .......................
Anggota : Bambang Soelistijanto, Ph.D. .......................
Yogyakarta, ...... Januari 2018
Fakultas Sains dan Teknologi
Universitas Sanata Dharma
Dekan,
Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
V E N I,
V I D I,
V I C I.
- Julius Caesar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PERNYATAAN LEMBAR KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa di dalam skripsi yang saya
tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah
disebutkan dalam kutipan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 15 Desember 2017
Penulis,
Michael Donny Kusuma
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : Michael Donny Kusuma
NIM : 145314031
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah yang berjudul:
ANALISIS EFEK TRANSFER ACKNOWLEDGEMENT PADA
PROTOKOL EPIDEMIC TERHADAP BEBAN JARINGAN DI
PERGERAKAN RANDOM DAN MANUSIA
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,
mengalihkan dalam bentuk media lain, mengolahnya dalam bentuk angkalan data,
mendistribusikannya secara terbatas, dan mempublikasikannya di Internet atau
media lain untuk kepentingan akademis tanpa meminta ijin dari saya maupun
memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai
penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 15 Desember 2017
Penulis,
Michael Donny Kusuma
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Jaringan Oportunistik adalah jaringan komunikasi nirkabel tanpa
menggunakan infrastruktur. Tanpa adanya infrastruktur setiap perangkat berperan
baik sebagai host maupun router. Mengandalkan mobilitas, perangkat pada
Jaringan Oportunistik memiliki sumber daya yang terbatas. Untuk
memaksimalkan pesan yang sampai dan memperkecil delay, Protokol Epidemic
menggunakan penyebaran pesan secara flooding. Penyebaran pesan secara
flooding pada Epidemic membuat beban jaringan menjadi sangat tinggi.
Active Receipt dan Passive Receipt merupakan teknik transfer
acknowledgment. Selain menambahkan aspek realibilitas pada protokol, Active
Receipt dan Passive Receipt dapat mengurangi beban jaringan dengan
menggunakan receipt yang merupakan tanda bahwa pesan sudah sampai ke tujuan
dan dapat dibuang. Penambahan Tombstone (catatan pesan yang mati) membuat
variasi dari Epidemic semakin luas. Dari hasil simulasi yang dilakukan, Active
Receipt mampu mengungguli Passive Receipt dan Passive Receipt dengan
penambahan Tombstone baik pada pergerakan perangkat yang random maupun
dengan menggunakan pergerakan manusia. Pengukuran unjuk kerja dilakukan
dengan menggunakan matriks unjuk kerja delivery probability, overhead ratio,
buffer occupancy dan menggunakan perhitungan SIR (susceptible, infected,
removed). Perbandingan antara pergerakan random dan pergerakan manusia
menunjukan bahwa pergerakan manusia selain menyebarkan pesan lebih cepat
juga mengobati jaringan lebih cepat. Hasil tersebut karena jaringan sosial manusia
memiliki hub node.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Opportunistic Network is wireless communication without infrastructure.
Without infrastructure, node behaves as a host and router. Rely on mobility, a
node in Opportunistic Network have a limit resource. Epidemic Protocol used
flooding to spread messages for optimum delay and delivery ratio. In effect of
flooding mechanism, network load becomes high in Epidemic Protocol.
Active Receipt and Passive Receipt is kind of transfer acknowledgment
technique. In addition, to achieve reliability aspect of protocol, Active Receipt and
Passive Receipt can heal the network using receipt that acknowledges message.
The message that acknowledged can be deleted from the network. Addition of
Tombstone makes a wider variation for the Epidemic protocol. From simulation
result, Active Receipt overcomes Passive Receipt and Passive Receipt with
Tombstone on random movement and human movement. Measurement
performance used for this research is delivery probability, overhead ratio, buffer
occupancy and SIR calculation (susceptible, infected, removed). The comparison
between random movement and human movement shows that the human
movement is faster to spreading messages and also heal network. The result is
because human social networks have a hub node.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa, atas limpahan berkat dan
karunia bagi kita semua. Berkat dan karunia-Nya pula yang memampukan penulis
menyelesaikan tulisan ini dengan keterbatasan waktu dan wawasan yang dimiliki
penulis.
Bagi penulis, tugas akhir ini ibarat puncak dari perjalanan masa studi
penulis di bangku kuliah. Banyak tantangan yang harus dihadapi penulis untuk
menyelesaikan tugas akhir ini. Tetapi banyaknya tantangan yang dihadapi
membuat penulis menjadi pribadi yang lebih baik lagi. Penulis menyadari bahwa
tugas akhir ini mustahil diselesaikan tanpa adanya bantuan yang diberikan kepada
penulis.
Banyak pihak yang berperan membantu penulis menyelesaikan tulisan ini.
Namun secara khusus penulis menyampaikan terima kasih kepada kedua orangtua
penulis untuk dukungan tulus yang diberikan kepada penulis. Penulis juga
mengucapkan terima kasih kepada keluarga besar penulis yang selalu memberi
semangat kepada penulis. Terima kasih juga penulis ucapkan kepada Pak Anto
dan seluruh dosen yang telah membimbing penulis selama masa kuliah serta
teman-teman penulis yang selalu setia membantu penulis baik secara langsung
maupun tidak.
Penulis sadar bahwa masih banyak kekurangan dalam laporan tugas akhir
ini. Saran dan kritik yang membangun senantiasa penulis terima untuk hasil yang
lebih baik di hari mendatang.
Yogyakarta, 15 Desember 2017
Penulis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR ISI
HALAMAN JUDUL .................................................................................... i
HALAMAN PERSETUJUAN ..................................................................... iii
HALAMAN PENGESAHAN ...................................................................... iv
MOTTO ........................................................................................................ v
PERNYATAAN KEASLIAN KARYA ...................................................... vi
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH .................... vii
ABSTRAK ................................................................................................... viii
ABSTRACT ................................................................................................. ix
KATA PENGANTAR ................................................................................. x
DAFTAR ISI ................................................................................................ xi
BAB I PENDAHULUAN ............................................................................ 1
1.1. Latar Belakang ................................................................................ 1
1.2. Rumusan Masalah ........................................................................... 3
1.3. Tujuan Penelitian ............................................................................. 3
1.4. Manfaat Penelitian ........................................................................... 3
1.5. Batasan Masalah .............................................................................. 3
1.6. Metode Penelitian ............................................................................ 4
1.7. Sistematika Penulisan ...................................................................... 5
BAB II LANDASAN TEORI ...................................................................... 6
2.1. Jaringan Nirkabel (Wireless) ………............................................... 6
2.2. Mobile Ad hoc Network (MANET)................................................. 7
2.3. Jaringan Oportunistik ...................................................................... 8
2.4. Protokol Routing Epidemic ............................................................. 10
2.5. Teknik Transfer Reliabilitas ............................................................ 13
2.6. Tombstone (Batu Nisan).................................................................. 17
2.7. Simulator ONE (Opportunistic Networking Environment) ............. 19
BAB III METODE PENELITIAN ............................................................... 20
3.1. Data ................................................................................................. 20
3.2. Alat Penelitian ................................................................................. 20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
3.3. Pembuatan Alat Uji ………............................................................. 21
3.4. Langkah-Langkah Pengujian ………............................................... 21
3.5. Cara Analisis Hasil ………............................................................. 22
BAB IV PENGUJIAN DAN ANALISIS ..................................................... 24
4.1. Pergerakan Random ........................................................................ 24
4.2. Pergerakan Manusia (Haggle Cam) ............................................... 33
4.3. Perbandingan Pergerakan Random dan Manusia............................. 42
BAB V KESIMPULAN DAN SARAN ....................................................... 48
5.1. Kesimpulan ...................................................................................... 48
5.2. Saran ................................................................................................ 48
DAFTAR PUSTAKA .................................................................................. 49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar belakang
Perkembangan pesat pada teknologi nirkabel (wireless) memunculkan
jenis-jenis jaringan baru yang lebih bervariatif dan aplikatif. Beberapa
jaringan yang muncul termasuk jaringan antar planet, jaringan militer,
jaringan pada penanggulanagan bencana dan jaringan sensor [5]. Kemunculan
beberapa jaringan baru tersebut tak lepas dari kebutuhan komunikasi pada
kondisi yang ekstrem. Salah satu contohnya adalah ketika terjadi bencana
yang menghancurkan infrastruktur komunikasi maka dibutuhkan jaringan
komunikasi yang tidak tergantung pada infrastruktur dalam upaya
penanggulangan bencana. Kemunculan jaringan-jaringan yang ekstrim
tersebut turut memunculkan tantangan-tantangan baru pada ranah jaringan
komputer. Tantangan-tantangan tersebut antara lain waktu tunggu yang lama,
koneksi yang terputus-putus, persentase kesalahan data yang besar, jaringan
protokol yang heterogen dan yang terpenting adalah asumsi bahwa tidak
adanya jalur ujung ke ujung dari pengirim ke penerima [2].
Tantangan-tantangan pada kondisi ekstrem tersebut dijawab dengan
munculnya Mobile Ad-Hoc Network (MANET). Pada MANET, setiap
perangkat yang bergerak berperan menjadi router yang menyampaikan pesan
sehingga tidak memerlukan infrastruktur untuk bekerja. Dengan kata lain,
pesan dikirim melewati jaringan MANET dengan cara diteruskan dari satu
perangkat ke perangkat lainnya hingga sampai ke tujuannya. Meskipun
MANET dapat menjawab tantangan mobilitas pada jaringan ekstrim, MANET
gagal pada beberapa kondisi karena memiliki asumsi bahwa terdapat jalur dari
ujung ke ujung dari pengirim ke penerima [2]. Kegagalan MANET tersebut
memunculkan ranah baru pada jaringan komputer yaitu Delay Tolerant
Network (Jaringan Oportunistik). Jaringan Oportunistik dapat diterapkan di
suatu area yang memiliki karakteristik penundaan waktu (latency) yang tinggi
dan juga konektivitas yang rendah dikarenakan perangkat yang terkadang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
putus (intermittent) yang mengakibatkan untuk menemukan jalur menuju
tujuan terhambat karena hal tersebut [3].
Protokol pada Jaringan Oportunistik menggunakan metode store, carry
dan forward untuk mengirimkan pesan. Metode store, carry dan forward
memiliki arti sebuah paket data saat melewati perangkat-perangkat perantara
akan disimpan terlebih dahulu di dalam buffer sebelum diteruskan. Protokol
Epidemic merupakan salah satu protokol routing yang ada pada Jaringan
Oportunistik. Secara singkat, pengiriman pesan pada Protokol Epidemic ibarat
“wabah penyakit” yang menular dari satu perangkat ke perangkat lain. Suatu
perangkat akan mengirimkan pesan ke perangkat yang belum memiliki pesan
tersebut. Pesan tersebut terus disebarkan hingga sampai ke penerima.
Menggunakan metode tersebut, pesan yang dikirim akan dengan cepat sampai.
Karena sifatnya yang membanjiri jaringan, Protokol Epidemic
memiliki beberapa kekurangan. Kekurangan yang pertama adalah “wabah
penyakit” yang akan terus menyebar ke jaringan meskipun pesan yang
dikirimkan sudah sampai pada penerima. Hal ini tentu dapat membuat beban
jaringan menjadi sangat berat. Kekurangan kedua adalah tidak adanya faktor
reliabilitas pada Protokol Epidemic. Reliabilitas sendiri merupakan salah satu
fungsi yang penting pada layer transport. Pada protokol TCP, teknik transfer
reliabilitas dijalankan menggunakan pesan ACK (acknowledgment).
Reliabilitas penting untuk memastikan pada pengirim pesan bahwa pesan yang
dikirim sudah sampai pada tujuan.
Harras dan Almeroth memperkenalkan teknik transfer reliabilitas yang
dapat diterapkan pada jaringan Oportunistik yaitu Active Receipt dan Passive
Receipt [2]. Teknik transfer reliabilitas yang ditawarkan memiliki konsep
membuat acknowledment sebagai pesan baru bernama receipt yang sangat
kecil dan ditujukan kepada pengirim awal. Pesan receipt selain menjadi faktor
reliabilitas dapat juga dapat dipergunakan untuk menyembuhkan jaringan
dengan cara menghapus pesan yang sudah memiliki receipt. Hal yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
membedakan Active Receipt dan Passive Receipt adalah mekanisme
pengiriman pesan receipt. Active Receipt bekerja dengan memberikan receipt
pada seluruh perangkat yang ditemui. Pada Passive Receipt, receipt hanya
dikirimkan kepada perangkat hanya jika perangkat tersebut mencoba
mengirimkan pesan yang sudah memiliki receipt.
1.2.Rumusan Masalah
Berdasarkan latar belakang, maka rumusan masalah yang didapat
adalah bagaimana efek transfer acknowledgment Active Receipt dan Passive
Receipt terhadap beban jaringan pada protokol routing Epidemic di
pergerakan random dan manusia.
1.3. Tujuan Penelitian
Tujuan dari tugas akhir ini adalah mengetahui efek transfer
acknowledgment Active Receipt dan Passive Receipt pada Protokol Routing
Epidemic di pergerakan random dan manusia yang diukur dengan metrik
unjuk kerja yaitu delivery probability, overhead ratio, buffer occupancy, SIR
node dan total traffic.
1.4. Manfaat Penelitian
Hasil dari penelitian ini diharapkan dapat digunakan sebagai bahan
pertimbangan dalam mengembangkan protokol routing yang akan digunakan
dalam komunikasi pada jaringan oportunistik.
1.5. Batasan Masalah
Batasan masalah dalam penelitian ini adalah:
1. Menggunakan protokol routing routing Epidemic.
2. Teknik transfer acknowledgment yang digunakan adalah Active
Receipt, Passive Receipt dan Passive Receipt dengan Tombstone.
3. Parameter yang digunakan adalah delivery probability, overhead ratio,
buffer occupancy, SIR dan total traffic.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
4. Pengujian dilakukan menggunakan Simulator ONE.
1.6. Metode Penelitian
Metode yang dilakukan dalam penelitian ini meliputi:
1. Studi Pustaka
Membaca referensi buku dan jurnal yang berkaitan dengan teori Active
Receipt, Passive Receipt, Tombstone dan Protokol Epidemic.
2. Pembuatan Alat Uji
Perancangan sistem dilakukan mulai dari mengidentifikasi apa yang
dilakukan oleh protokol sehingga dapat menghasilkan data hasil
simulasi yang dapat dianalisis.
3. Pengujian
Dalam tahap ini akan dibuat implementasi dari protokol routing yang
akan digunakan dalam penelitian. Dalam tahap ini juga akan dilakukan
pengujian untuk mengetahui performa dari teknik transfer reliabilitas
Active Receipt Passive Receipt dan Passive Receipt dengan
Tombstone.
4. Analisis Hasil Pengujian
Dalam tahap ini akan dianalisis performa unjuk kerja teknik transfer
reliabilitas sehingga diketahui trade-off dari teknik transfer reliabilitas
Active Receipt dan Passive Receipt.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
1.7. Sistematika Penulisan
BAB I: PENDAHULUAN
Bab ini berisi penjelasan tentang latar belakang masalah, rumusan
masalah, tujuan penelitian, manfaat penelitian, batasan masalah, metode
penelitian, dan sistematika penulisan.
BAB II: LANDASAN TEORI
Bab ini berisi tentang teori tentang teknik transfer reliability Active
Receipt dan Passive Receipt, teori Tombstone, teori jaringan oportunistik,
dan teori protocol Epidemic yang digunakan sebagai dasar dalam mengukur
unjuk kerja protokol routing.
BAB III: METODE PENELITIAN
Bab ini berisi tentang data penelitian, alat penelitian, langkah-langkah
pengujian.
BAB IV: PENGUJIAN DAN ANALISIS
Bab ini berisi tentang tahap pengujian, yaitu simulasi, dan analisis hasil
data simulasi.
BAB V: KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan hasil penelitian dan saran dari penulis
untuk penelitian selanjutnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
LANDASAN TEORI
2.1. Jaringan Nirkabel (Wireless)
Perkembangan teknologi nirkabel yang pesat ikut mempengaruhi
jaringan komputer. Teknologi nirkabel diadopsi menjadi salah satu alternatif
media transmisi pada jaringan komputer. Kelebihan utama pada jaringan
nirkabel adalah pada mobilitas yang tinggi sehingga komunikasi data dapat
dilakukan meskipun alat komunikasi sedang bergerak. Kelebihan tersebut
juga memunculkan alternatif lain dari jaringan komputer yang biasanya
menggunakan infrastruktur tetap kemudian dapat dilakukan tanpa
menggunakan infrastruktur tetap. Teknologi nirkabel memunculkan teknik
komunikasi baru yang sebelumnya tidak dapat dilakukan dengan kabel
misalnya saja telepon seluler ataupun satelit.
Setiap komunikasi yang dilakukan oleh perangkat komputer,
membutuhkan media transmisi. Jaringan nirkabel adalah jaringan yang
menggunakan media transmisi udara. Hubungan komunikasi data pada
jaringan nirkabel menggunakan gelombang elekrtomagnetik untuk
menggunakan kabel pada jaringan kabel [1].
Topologi pada jaringan nirkabel ini dibagi menjadi dua yaknik
topologi nirkabel dengan berbasis infrastruktur dan topologi nirkabel tanpa
memanfaatkan infrastruktur [1]. Jaringan nirkabel infrastruktur kebanyakan
digunakan untuk memperluas jaringan LAN atau untuk berbagai jaringan
agar dapat terkoneksi ke Internet. Untuk membangun jaringan infrastruktur
diperlukan sebuah perangkat yaitu wireless access point untuk
menghubungkan client yang terhubung dan manajemen jaringan nirkabel.
Jaringan nirkabel dengan mode ad-hoc tidak membutuhkan perangkat
tambahan seperti access point, yang dibutuhkan hanyalah wireless adapter
pada setiap komputer yang ingin terhubung. Ad-hoc pada dasarnya adalah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
jaringan yang diperuntukkan untuk keperluan sementara. Kelemahan utama
dalam komunikasi mobile adalah keterbatasan sumber daya, antara lain
baterai, bandwith, waktu pertemuan antar perangkat yang tidak pasti
lamanya, noise yang sangat tinggi. Hal tersebut membuat komuniasi dengan
menggunakan jaringan nirkabel memiliki kemungkinan error yang tinggi.
2.2. Mobile Ad hoc Network (MANET)
Mobile Ad hoc Network (MANET) merupakan sebuah jaringan
nirkabel yang terdiri dari beberapa node yang tidak memerlukan
infrastruktur. Setiap perangkat pada jaringan ini bersifat mobile. Setiap
perangkat dalam jaringan dapat berperan sebagai host dan router yang
berfungsi sebagai penghubung antara perangkat yang satu dengan perangkat
yang lainnya.
MANET melakukan kominukasi secara peer to peer menggunakan
routing dengan cara multihop. Informasi yang akan dikirimkan disimpan
dahulu dan diteruskan ke node tujuan melalui node perantara. Ketika topologi
mengalami perubahan karena node bergerak, maka perubahan topologi harus
diketahui oleh setiap node [3]. Jaringan MANET mempunyai beberapa
karakteristik antara lain:
1. Otonomi dan tanpa infrastruktur, MANET tidak bergantung kepada
infrastruktur atau bersifat terpusat. Setiap perangkat berkomunikasi
secara distribusi peer-to-peer.
2. Topologi jaringan bersifat dinamis, artinya setiap perangkat dapat
bergerak bebas, (random mobility) dan tidak dapat diprediksi.
3. Scalability, artinya MANET bersifat tidak tetap atau jumlah perangkat
berbeda di tiap daerah.
4. Sumberdaya yang terbatas, baterai yang dibawa oleh setiap perangkat
mempunyai daya terbatas, kemampuan untuk memproses terbatas,
yang pada akhirnya akan membatasi layanan dan aplikasi yang
didukung oleh setiap node.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2.3. Jaringan Oportunistik
Jaringan Salah satu kunci dari routing di MANET adalah asumsi
bahwa jalur dari ujung ke ujung itu ada [2]. Dengan asumsi itu, MANET
gagal pada skenario jaringan yang terputus. Kegagalan MANET tersebut
memunculkan area baru yaitu Delay Tolerant Network (Jaringan
Oportunistik). Jaringan Oportunistik dapat diterapkan di suatu area yang
memiliki karakteristik penundaan waktu (latency) yang tinggi dan juga
konektivitas yang rendah dikarenakan node yang terkadang putus
(intermittent) yang mengakibatkan untuk menemukan jalur menuju
destination terhambat karena hal tersebut [3].
Karena asumsi yang ada pada jaringan oportunistik maka jaringan
oportunistik dapat diterapkan pada jaringan sebagai berikut [5]:
1. Jaringan Luar Angkasa (Interplanetary Network), konsep jaringan
yang memungkinkan akses Internet di luar angkasa.
2. Military Ad-Hoc Network, pasukan militer sering kali ditempatkan di
daerah-daerah terpencil yang tidak berpenghuni dan tidak ada koneksi
memadai. Misalkan di perbatasan Indonesia dengan Papua Nugini,
atau di pulau-pulau terluar Indonesia. Konsep DTN dapat digunakan
untuk membangun jaringan komputer dalam keadaan seperti ini.
3. Jaringan Sensor/Aktuator, contohnya pada penerapan Wireless Sensor
Network (WSN).
Jaringan oportunistik menggunakan metode store (menyimpan), carry
(membawa) dan forward (meneruskan) atau disingkat SCF untuk
mengirimkan pesan. Metode SCF berarti sebuah paket data saat melewati
node-node perantara akan disimpan terlebih dahulu sebelum diteruskan. Hal
ini untuk mengantisipasi seandainya perangkat berikutnya tidak dapat
dijangkau (mati) atau ada kendala yang lain. Bundle layer
mengimplementasikan mekanisme SCF dimana setiap perangkat dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
menyimpan dan membawa pesan dalam buffer-nya (memori) serta dapat
meneruskan pesan tersebut ke perangkat lain yang terkoneksi [6]. Karakter
dari jaringan oportunistik sendiri adalah sebagai berikut:
1. Tidak adanya jalur ujung ke ujung.
Perangkat yang sering terputus menyebabkan tidak adanya jalur dari
ujung ke ujung.
2. Intermittent connectivity.
Perangkat pada jaringan oportunistik dapat putus sewaktu waktu.
3. Waktu tunda tinggi.
Karena tidak adanya jalur dari ujung ke ujung membuat delay yang
ada menjadi tinggi.
4. Low data rate.
Komunikasi data pada nirkabel membuat data rate yang terbatas.
5. High error rate.
Komunikasi data menggunakan nirkabel membuat sering terjadi error
saat komunikasi data.
6. Sumber daya yang terbatas.
Karena node yang bersifat mobile maka sumber daya yang ada sangat
terbatas. Sumber daya tersebut antara lain baterai, ruang
penyimpanan, CPU dan memory yang terbatas karena menggunakan
perangkat mobile.
7. Long or Variable Delay.
Setiap perangkat memiliki buffer sendiri untuk menyimpan pesan, hal
ini dapat menyebabkan pemutusan panjang antrian delay. Waktu delay
yang panjang merupakan efek dari intermittent connectivity dan dapat
menyebabkan waktu delay yang cukup panjang antara pengirim dan
penerima.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
2.4. Protokol Routing Epidemic
Protokol routing pada MANET yang gagal bekerja dengan baik pada
jaringan oportunistik membuat munculnya protokol routing Epidemic.
Diterbitkan oleh Vahdat dan Becker et al. (2000), Epidemic dirancang
sebagai protokol routing berbasis flooding forwarding[4] yang artinya
protokol ini membanjiri jaringan dengan salinan pesan. Protokol ini memiliki
tujuan utama yaitu untuk memaksimalkan tingkat pengiriman pesan dan
menimalkan delay. Epidemic memiliki konsep mirip dengan “wabah
penyakit” yang dapat menular dari manusia satu ke manusia lain. Perangkat
diibaratkan manusia sedangkan pesan diibaratkan sebagai penyakit yang
ditularkan oleh manusia.
Gambar 2.1. Contoh penyebaran pesan pada protokol Epidemic
Untuk lebih mudah memahami konsep dari Epidemic dapat digunakan
istilah Susceptible dan Infected (SI). Susceptible adalah kondisi dimana
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
sebuah perangkat belum terinfeksi oleh pesan. Perangkat tersebut siap
menerima pesan untuk dibawa. Infected adalah kondisi dimana sebuah
perangkat sudah terinfeksi oleh pesan atau sedang menyimpan pesan. Cara
kerja protokol Epidemic adalah dengan menginfeksi seluruh perangkat yang
Susceptible sehingga pesan akan sampai ke tujuan.
Contoh dari pengiriman pesan pada Epidemic dapat dilihat pada
gambar 2.1. Perangkat pengirim (S) ingin mengirimkan pesan kepada
penerima (D) dimana perangkat S menjadi infected karena memiliki pesan M.
Setelah beberapa waktu S kemudian bertemu dengan perangkat N dan
kemudian S mengirimkan pesan M kepada perangkat S sehingga N menjadi
infected. Perangkat N yang sudah terinfeksi pesan M pada akhirnya bertemu
dengan perangkat tujuan yaitu D sehingga pesan M tersampaikan dari
perangkat S ke perangkat D.
Mengasumsikan jalur dari pengirim ke penerima yang tidak pernah
ada, Epidemic menggunakan perangkat sebagai pembawa pesan. Pesan yang
dibuat oleh pengirim akan dibawa oleh perangkat lain dan diharapkan akan
sampai pada penerima. Menggunakan pendekatan tersebut, setiap perangkat
memiliki buffer yang akan berisi pesan yang dibuat oleh node tersebut
maupun pesan yang dititipkan kepada node tersebut. Setiap pesan yang
tersimpan dalam buffer memiliki ID yang akan disimpan di Summary Vector.
Ketika setiap perangkat bertemu dengan node lain maka perangkat
akan melakukan sesi Anti-Entropy. Sesi Anti-Entropy merupakan sesi dimana
perangkat yang bertemu saling bertukar Summary Vector untuk akhirnya
saling bertukar pesan. Setiap perangkat penerima pesan memiliki otoritas
untuk menerima maupun menolak pesan yang akan diberikan kepadanya,
dimana setiap perangkat dapat menyeleksi apakah pesan mampu diterima
oleh host tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Gambar 2.2. Sesi Anti Entropy
Contoh dari Anti-Entropy adalah pada saat perangkat A dan perangkat
B bertemu. Mula mula node A menginisiasi sesi Anti-Entropy. Langkah awal
pertukaran pesan adalah node A mengirimkan Summary Vector miliknya ke
perangkat B. Setelah itu perangkat B akan membandingkan Summary Vector
milik A dengan miliknya sendiri untuk mencari pesan apa saja yang
perangkat B belum miliki. Pesan-pesan yang belum dimiliki tersebut
kemudian dikirimkan sebagai permintaan (request) kepada perangkat A.
Perangkat A kemudian mengirimkan pesan yang diminta kepada node B.
Begitu juga sebaliknya ketika perangkat A melakukan permintaan pesan
kepada B.
Setiap pesan pada Epidemic memiliki ID dan (time to live) TTL. ID
merupakan identitas dari pesan yang ada sedangkan TTL adalah waktu
dimana pesan diijinkan hidup. TTL berfungsi untuk mengurangi beban
jaringan dari banyaknya pesan yang ada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
2.5.Teknik Transfer Reliabilitas (Acknowledgment)
Reliabilitas merupakan salah satu faktor yang penting dimiliki oleh
protokol routing. Contoh faktor reliabilitas dapat dilihat pada protokol TCP.
Pada TCP reliabilitas merupakan fungsi untuk memastikan penerima sudah
menerima pesan dari pengirim. TCP menggunakan acknowledgments (ACK)
untuk memberitahu bahwa penerima sudah menerima paket yang ada.
Jaringan Oportunistik tidak menjamin pesan yang dikirim akan
sampai pada tujuan. Oleh karena hal itu faktor relilabilitas pada Jaringan
Oportunistik cukup penting. Namun selain untuk menambahkan faktor
reliabilitas pada protokol, teknik transfer reliabilitas justru membantu untuk
mengurangi beban pada jaringan. Harras dan Almeroth memperkenalkan dua
teknik transfer reliabilitas yaitu Active Receipt dan Passive Receipt[2].
Teknik transfer reliabilitas tersebut tidak hanya untuk memastikan pesan
terkirim namun juga mengurangi beban jaringan.
Untuk mempermudah memahami konsep transfer reliabilitas maka
dapat digunakan konsep Susceptible, Infected dan Removed (SIR). Seperti
pada protokol Epidemic yang sudah dijelaskan di atas, Susceptible adalah
kondisi dimana perangkat belum terinfeksi oleh pesan. Sebuah perangkat
dikatakan susceptible pada pesan M jika perangkat tersebut belum pernah
menerima pesan M atau belum menerima pesan acknowledgment dari pesan
M. Infected merupakan kondisi dimana perangkat sudah terinfeksi pesan.
Perangkat dikatakan sudah terinfeksi pesan M jika dalam buffer-nya terdapat
pesan M. Sedangkan Removed merupakan kondisi dimana perangkat sudah
terobati dari pesan dan tidak akan terinfeksi lagi untuk pesan yang sama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Active Receipt
Pada dasarnya Active Receipt sendiri menggunakan
acknowledgments dari ujung ke ujung yang disebut Receipt. Receipt dibuat
oleh penerima saat menerima pesan untuk memastikan bahwa pesan awal
yang dikirim sudah sampai serta mengobati jaringan dari pesan yang sudah
sampai. Receipt sendiri dikirim dengan mengibaratkan bahwa Receipt adalah
pesan baru. Selain untuk memastikan bahwa pesan sudah diterima, receipt
juga berperan untuk menghentikan penyebaran pesan asli pada jaringan.
Receipt yang diterima perangkat mengindikasikan paket awal yang sudah
diterima sehingga perangkat dapat membuang pesan awal dari buffer.
Kelebihan dari pendekatan Active Receipt adalah penyebaran pesan
dapat dikurangi dengan adanya Receipt. Namun hal itu juga menyebabkan
kerugian dimana akhirnya Receipt juga membanjiri jaringan meskipun secara
teori Receipt memiliki ukuran yang jauh lebih kecil dibandingkan pesan
awal.
Gambar 2.3. Teknik Transfer Reliabilitas Active Receipt
Contoh teknik Active Receipt dapat dilihat pada gambar 2.3. Pada
gambar bagian 1, diibaratkan pesan M sudah diterima oleh penerima yaitu
perangkat D melalui node 1 sehingga perangkat D membuat Receipt untuk
pesan M. Pada kondisi ini perangkat D sudah Removed dan kemudian
mengirimkan Receipt ke perangkat 1 sehingga node 1 juga sudah terobati dari
pesan M dan dapat membuang pesan M dari buffer-nya. Seiring berjalannya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
waktu, perangkat 1 bertemu dengan perangkat 2 dan perangkat D bertemu
dengan perangkat 3. Perangkat 2 kemudian diobati oleh perangkat 1 dan
perangkat 3 diobati oleh perangkat D meskipun perangkat 3 masih pada tahap
Susceptible terhadap pesan M. Selang beberapa waktu perangkat 3 bertemu
dengan perangkat S. Perangkat 3 yang sudah memliki receipt terhadap M
mengirimkan receipt tersebut ke node S yang diidentifikasi oleh S yang
mengirimkan pesan M pertama kali bahwa pesan M sudah diterima oleh
perangkat D.
Passive Receipt
Active Receipt memang menghadirkan reliabilitas ujung ke ujung
namun Receipt sendiri akhirnya juga semakin banyak di jaringan. Untuk
mengurangi beban tersebut namun tetap menghadirkan reliability ujung ke
ujung maka diperkenalkan pendekatan Passive Receipt. Konsep dari Passive
Receipt yaitu mengirimkan Receipt hanya pada node yang ada pada kondisi
infected atau yang sedang memiliki pesan yang memiliki Receipt.
Gambar 2.4 Teknik Transfer Reliability Passive Receipt
Contoh teknik Passive Receipt dapat dilihat pada gambar 2.4. Pada
gambar bagian 1, diibaratkan pesan M sudah diterima oleh penerima yaitu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
perangkat D melalui perangkat 1 sehingga perangkat D membuat receipt
untuk pesan M. Pada kondisi ini perangkat D sudah removed dan kemudian
mengirimkan Receipt ke perangkat 1 sehingga perangkat 1 juga sudah
terobati dari pesan M dan dapat membuang pesan M dari buffer-nya. Seiring
berjalannya waktu, perangkat 1 bertemu dengan perangkat 2 dan perangkat D
bertemu dengan perangkat 3. Perangkat 2 kemudian diobati dengan Receipt
oleh perangkat 1 sedangkan perangkat D tidak mengirimkan receipt ke
perangkat 3 karena perangkat 3 masih dalam keadaan suspectible terhadap
pesan M. Selang beberapa waktu perangkat 3 bertemu dengan perangkat S.
Perangkat 3 yang tidak memliki receipt terhadap M terinfeksi pesan M dari
perangkat S. Setelah beberapa waktu berjalan perangkat 2 bertemu dengan
perangkat S. Perangkat 2 yang memliki receipt terhadap pesan M
mengirimkan receipt tersebut ke perangkat S yang diidentifikasi oleh S yang
mengirimkan pesan M pertama kali bahwa pesan M sudah diterima oleh
perangkat D.
Kelemahan dari Passive Receipt adalah penyebaran receipt yang lama
yang mengakibatkan jaringan terbebani lebih lama. Selain itu, receipt yang
terkirim ke pengirim awal menjadi lebih lama sampai.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
2.6.Tombstone (Batu Nisan)
Pada protokol Epidemic terdapat konsep SI dimana hanya ada dua
status node yang ada yaitu susceptible dan infective. Epidemic memiliki
konsep tersebut karena berasumsi jika perangkat kehilangan pesan baik karena
drop maupun TTL yang habis pesan tersebut masih bisa didapatkan lagi oleh
perangkat tersebut. Sebagai contoh: perangkat A pada waktu tertentu memiliki
pesan nomor 1. Pada suatu ketika, buffer dari perangkat tersebut penuh
sehingga pesan nomor 1 dibuang oleh perangkat A. Tidak lama berselang,
perangkat A bertemu dengan perangkat B dan perangkat B mengirimkan
pesan nomor 1 karena A tidak memilikinya.
Konsep SI nyatanya tidak cukup jika diaplikasikan pada Epidemic
dengan menggunakan teknik transfer reliabilitas. Receipt yang dihasilkan akan
menyembuhkan jaringan serta memberikan “imunitas” perangkat terhadap
pesan tersebut. Oleh karena itu muncul satu status selain susceptible dan
infective yaitu remove. Status remove didapatkan suatu perangkat karena dia
sudah memiliki receipt suatu pesan sehingga kebal terhadap “infeksi” pesan
tersebut di kemudian waktu. Konsep ini dinamakan SIR (susceptible-infective-
removed).
Konsep SIR akhirnya menambahkan variansi terhadap protokol
Epidemic itu sendiri. Ketika protokol Epidemic biasa hanya menganggap
perangkat dengan status susceptible dan infective, maka dengan konsep SIR
terdapat satu status lagi yaitu removed. Dengan adanya status removed
tersebut muncul variansi konsep removed pada perangkat. Terdapat dua
variansi yang bisa digunakan untuk menentukan status perangkat terhadap
suatu perangkat yaitu:
1. Tanpa Tombstone:
Variansi ini merupakan protokol Epidemic biasa ketika perangkat
sudah kehilangan suatu pesan karena drop atau TTL habis namun
perangkat tersebut belum memiliki receipt terhadap pesan tersebut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
maka status dari perangkat tersebut adalah susceptible. Dengan
kata lain perangkat tersebut masih bisa terkena “infeksi” dari pesan
yang sama.
2. Menggunakan Tombstone
Variansi kedua yaitu dengan menggunakan sebuah tombstone atau
batu nisan. Fungsi tombstone adalah mencatat seluruh ID pesan
yang sudah pernah dimiliki oleh suatu perangkat. Pada variansi ini,
ketika perangkat kehilangan suatu pesan baik karena drop, TTL
habis, maupun memiliki receipt maka pesan tersebut dianggap mati
terhadap perangkat tersebut. Dengan kata lain perangkat tersebut
sudah kebal terhadap “infeksi” pesan tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
2.7.Simulator ONE (Opportunistic Networking Environment)
The ONE (Opportunistic Network Environment) adalah simulator
untuk menjalankan routing pada Jaringan Oportunistik atau DTN. Fungsi
utama dari Simulator ONE adalah pemodelan dari pergerakan perangkat,
kontak perangkat, routing, dan message handling. Hasil dan analisis yang
didapat dilakukan melalui visualization, reports, dan post-processing tools.
Simulator dibangun dalam bahasa pemrograman Java, simulator ini
juga mampu melakukan import terhadap eksternal mobility meskipun di
dalamnya sudah tersedia seperti ketika akan mengunakan pergerakan real
human trace [7].
Gambar 2.5. Gambaran umum kelas pada simulator ONE
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
2.8. Pergerakan Pada Jaringan Oportunistik
Sebuah perangkat pada Jaringan Oportunistik selain menjadi host juga
menjadi sebuah router bagi pesan lain. Hal ini karena perangkat tersebut dapat
bergerak kemana saja. Mobilitas dari perangkat pada Jaringan Oportunistik ini
unsur terpenting dari Jaringan Oportunistik itu sendiri. Terdapat banyak jenis
pergerakan baik secara simulasi maupun pada kenyataan.
Pergerakan Random
Dengan menggunakan simulator yang ada[7], kita dapat membuat
perangkat bergerak secara random. Pola pergerakan random mengasumsikan
bahwa semua perangkat memiliki probabilitas yang sama untuk saling
bertemu. Dengan nilai probabilitas bertemu yang sama, maka beban tiap
perangkat tidak jauh berbeda dengan perangkat lain. Dengan meningkatnya
jumlah perangkat dalam satu wilayah maka akan meningkatkan juga
probabailitas pertemuan antar peragkat.
Pergerakan Manusia
Pada kenyataanya pergerakan random akan sulit ditemui pada Jaringan
Oportunistik. Dengan mengasumsikan bahwa perangkat dibawa oleh manusia,
pola pergerakan random sulit dicapai. Manusia bergerak dengan pola terentu.
Manusia bergerak sesuai keinginan dan kebutuhan manusia itu sendiri.
Berbeda dengan pergerakan random yang memiliki probabilitas pertemuan
antar node yang sama, pergerakan manusia memiliki probabilitas pertemuan
yang berbeda beda. Dengan begitu, pergerakan manusia akan menciptakan
hub node. Secara singkat, Hub node dapat dikatakan node yang memiliki
probabilitas bertemu dengan node lain lebih tinggi. Adanya hub node pada
Jaringan Sosial membuat pesan lebih mudah sampai ke tujuan. Hub node
mempercepat penyampaian pesan karena probabilitas bertemu dengan node
lain yang tinggi sehingga menjadikanya jalur terpendek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
BAB III
METODE PENELITIAN
3.1. Data
Data pada penelitian ini diambil dari hasil simulasi. Simulasi
sendiri menggunakan parameter berikut ini:
Parameter Pergerakan Random Pergerakan manusia (haggle
cam)
Waktu Simulasi 3 hari 11 hari
Waktu TTL 1 hari 1 minggu
Kecepatan
Transmisi
2 Mbps 2 Mbps
Jarak Transmisi 10 meter 10 meter
Besar Pesan 250 KB sampai 500 KB 10 KB
Besar Buffer 50 MB 20 MB
Interval
pembuatan
pesan
100 detik sampai 150
detik
58 detik sampai 62 detik
Pergerakan
node
2.5 meter - 4.5 meter per
detik
0.8 meter 1.4 meter per detik
Tabel 3.1. Parameter Simulasi
3.2.Alat Penelitian
a. Hardware
PC dengan spesifikasi processor Intel i7 dengan RAM sebesar 8 GB.
b. Software
1. IntelliJ IDEA
IntelliJ IDEA merupakan IDE Java yang digunakan untuk
menjalankan program The ONE Simulator.
2. Simulator ONE
Penjelasan tentang simulator ONE sudah ditulis dalam landasan teori
Simulator ONE, BAB II.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
3.3. Pembuatan Alat Uji
1. Studi Pustaka
Studi pustaka dilakukan dengan membaca jurnal yang berkaitan
dengan protokol routing simulator MANET, Jaringan Oportunistik,
protokol routing Epidemic, teknik transfer reliability dan simulator The
ONE Simulator.
2. Pengumpulan Bahan Penelitian
Analisis kelas Java, Java Collection dan struktur data yang
dibutuhkan untuk mengimplementasikan pendekatan reliability pada
Routing Epidemic menggunakan The ONE Simulator.
3. Implementasi
Implementasi dari kelas Java, Java Collection dan struktur data
yang sudah dianalisis dengan menggunakan bahasa Java pada IntelliJ
IDEA.
3.4. Langkah-Langkah Pengujian
Skenario diuji dengan melakukan beberapa skenario:
1. Pergerakan Random
Skenario Jumlah Node Model Pergerakan
1 50; 100; 200; 300; 5000 Random Waypoint
Tabel 3.2. Skenario 1 Penambahan jumlah node pada pergerakan random
2. Pergerakan Manusia
Skenario Jumlah Node Model Pergerakan
2 36 Haggle Cambridge
Tabel 3.3. Skenario 2 : Model pergerakan manusia
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
3. Perbandingan Pergerakan Random dan Manusia
Parameter Random dan Manusia
Waktu Simulasi 11 hari
Jumlah node 36
Waktu TTL 1 minggu
Kecepatan
Transmisi
2 Mbps
Jarak Transmisi 10 meter
Besar Pesan 10 KB
Besar Buffer 20 MB
Interval
pembuatan
pesan
58 detik sampai 62 detik
Pergerakan
node
0.8 meter 1.4 meter per detik
Tabel 3.4. Skenario 3 : Perbandingan pergerakan random dan manusia
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
3.5. Cara Analisis Hasil
Setelah melakukan simulasi maka selanjutnya perhitungan matriks
unjuk kerja dilakukan dengan pengukuran sebagai berikut:
1. Delivery Probability
Delivery ratio adalah berapa banyak pesan yang terkirim ke tujuan
yang tepat dan berapa banyak pesan yang dibuat (dalam hal ini pesan yang
original atau ‘new message’ bukan salinan dari pesannya). Rumus
menghitung Delivery Ratio adalah:
delivery probability= pesan yang terkirim / pesan yang dibuat
2. Overhead Ratio
Overhead Ratio adalah metrik yang digunakan untuk
memperkirakan copy pesan dari original pesan yang disebarkan di dalam
jaringan. Jaringan dikatakan memiliki kinerja yang baik apabila memiliki
overhead yang rendah. Rumus menghitung Overhead Ratio adalah:
overhead ratio= total salinan pesan yang diteruskan − total salinan pesan
yang diterima /total salinan pesan yang diterima
3. Buffer Occupancy
Buffer Occupancy adalah jumlah ruang penyimpanan pada buffer
setiap node yang terpakai. Buffer Occupancy yang akan diperguankan
dalam tugas akhir ini dihitung rata rata dalam setiap satuan waktu tertentu.
4. Total Traffic
Total Traffic adalah seluruh pesan yang diteruskan di seluruh
jaringan dibagi dengan jumlah node yang ada pada jaringan tersebut. Pada
kasus ini total traffic juga memperhitungkan receipt sebagai pesan
sehingga perhitungan total traffic adalah sebagai berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
total traffic= total pesan yang diteruskan + total receipt yang
diteruskanjumlah node
5. Jumlah node SIR pesan terhadap pesan
Jumlah node SIR adalah berapa banyak node yang pada
status suspect, infected dan recovered terhadap sebuah pesan dalam
satu satuan waktu. Suspect adalah keadaan dimana node belum
pernah terinfeksi oleh suatu pesan. Infected adalah kondisi dimana
node sudah terinfeksi oleh suatu pesan. Sedangkan Removed adalah
kondisi dimana node sudah terobati dari suatu pesan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
BAB IV
PENGUJIAN DAN ANALISIS
Untuk mengetahui performa dari teknik transfer relibility Active Receipt
dan Passive Receipt serta variansi Tombstone pada Protokol Epidemic di jaringan
oportunistik, maka dilakukan pengujian. Pengujian dilakukan dengan
menggunakan rancangan simulai yang sudah dijabarkan pada bab III. Data yang
diperoleh dari hasil simulasi yang dibangkitkan oleh report kemudian menjadi
bahan untuk analisis.
4.1. Pergerakan Random
Setelah beberapa kali menjalankan simulasi maka didapatkan hasil
sebagai berikut:
Delivery
Probability
Jumlah Node
50 100 200 300 500
Epidemic 0.1002 0.1974 0.259 0.2736 0.2924
Active 0.1305 0.2963 0.6185 0.9066 0.9909
Passive 0.0983 0.1988 0.2744 0.3295 0.4359
Passive +
Tombstone
0.1036 0.2003 0.4012 0.6012 0.9578
Tabel 4.1.1: Delivery Probability dengan menggunakan pergerakan random
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Overhead
Ratio
Jumlah Node
50 100 200 300 500
Epidemic 48.4067 101.3163 309.3729 663.4261 1673.1002
Active 37.2684 66.5332 128.6651 194.5234 409.1274
Passive 49.7463 100.4469 291.4746 551.9357 1111.3304
Passive +
Tombstone
47,4769 98,2566 199,006 295,9631 495,8571
Tabel 4.1.2: Overhead Ratio dengan menggunakan pergerakan random
Total
Traffic
Jumlah Node
50 100 200 300 500
Epidemic 206.52 420.52 836.455 1257.98 2039.054
Active 468.72 1018.4 2104.695 3097.03 3747.474
Passive 208.06 422.48 977.175 1595.126667 2631.522
Passive +
Tombstone
209,42 413,95 836,06 1236,17 1982,846
Tabel 4.1.3: Total Traffic dengan menggunakan pergerakan random
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Gambar 4.1.1: Grafik Delivery Probability dalam pertambahan node
Dari gambar 4.1.1 dapat dilihat bahwa delivery probability milik
Active Receipt naik secara signifikan. Hal ini disebabkan karena pesan
Receipt secara cepat menyebar di jaringan untuk mengobati jaringan dari
pesan yang sudah terkirim. Hal tersebut membuka ruang penyimpanan yang
lebih lebar bagi pesan baru sehingga pesan yang terkirim semakin banyak.
Meskipun hanya berselisih sedikit, Passive Receipt lebih unggul ketimbang
Epidemic yang tidak memiliki mekanisme Transfer Reliability. Passive
Receipt tetap megobati jaringan meskipun tidak signifikan. Tombstone pada
Passive Receipt membuat delivery probability menjadi meningkat.
Tombstone mencegah pesan terlalu banyak beredar di jaringan sehingga
pesan yang ada di jaringan lebih efisien dan menyebabkan delivery
probability naik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Gambar 4.1.2: Grafik Overhead Ratio dalam pertambahan node
Karena sifatnya yang menyebar secara aktif, receipt dari Active
Receipt semakin cepat dan banyak dalam menghapus pesan. Akibatnya,
overhead ratio dari Active Receipt menjadi lebih rendah. Gambar 4.1.2
menunjukan Active Receipt membuat overhead ratio menjadi kecil. Berbeda
dengan Passive Receipt yang hanya mengirimkan receipt hanya kepada node
yang memiliki pesan yang mempunyai Receipt. Passive Receipt
menyebarkan receipt lebih sedikit dan lebih lambat sehingga jaringan hanya
sedikit terobati dengan waktu yang lama. Tombstone yang membatasi
pertukaran pesan membuat hasil overhead dari Passive Receipt dengan
Tombstone lebih baik dari Passive Receipt tanpa Tombstone. Hal ini karena
pesan yang dipertukarkan semakin sedikit. Overhead ratio yang paling
tinggi adalah milik Epidemic tanpa tambahan apapun, mekanisme
pengiriman pesan dengan flooding tentu akan membuat overhead ratio
tinggi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 4.1.3: Grafik rata rata Buffer Occupancy setiap jam (sampel 1
node)
Karena receipt yang dikirimkan lebih banyak dan lebih cepat, Active
Receipt mampu membuat buffer occupancy menjadi sangat rendah. Dapat
dilihat dari gambar 4.1.3 dimana buffer occupancy dari Active Receipt tidak
pernah sampai penuh. Receipt yang dikirim secara cepat dan banyak
menghapus pesan di dalam buffer setiap node juga secara cepat dan banyak.
Hasil tersebut cukup berbeda dengan buffer occupancy yang dimiliki oleh
Passive Receipt.
Buffer occupancy milik Passive Receipt cenderung penuh karena
receipt yang dikirim tidak banyak dan tidak terlalu cepat dalam menghapus
pesan yang sudah terkirim. Hal ini menyebabkan buffer occupancy yang
selalu penuh dan menyebabkan drop yang semakin tinggi. Namun hal
tersebut masih lebih baik dibandingkan dengan buffer occupancy milik
Epidemic yang hampir selalu penuh karena tidak memiliki mekanisme
penghapusan pesan dari buffer.
Berbeda dengan Passive Receipt tanpa Tombstone buffer occupancy
dari Passive Receipt dengan menggunakan Tombstone justru selalu penuh.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Hal ini disebabkan karena pada jaringan dengan mengunakan Tombstone
akan lebih heterogen daripada jaringan menggunakan Epidemic biasa.
Tombstone akan membuat pesan yang tersimpan pada buffer lebih variatif
dalam hal TTL. Berbeda dengan buffer Epidemic biasa yang didominasi
pesan dengan TTL yang hampir sama. Ketika TTL tersebut habis maka
penurunan buffer pada Epidemic menjadi cukup besar dibandingkan dengan
yang menggunakan Tombstone. Dengan kata lain, tombstone membuat
buffer menjadi semakin efisien dalam menyimpan pesan.
Hasil SIR menunjukan berapa jumlah node pada masing masing
status (susceptible, infected, dan removed) berbanding dengan penambahan
waktu. Hasil dari SIR diambil dari data pesan yang sama pada setiap
protocol.
Gambar 4.1.4: Grafik node yang terinfeksi pada Active Receipt dalam
satuan waktu (sampel 1 pesan dari 300 node)
Menggunakan hasil SIR dari seluruh node, dapat dilihat bahwa Active
Receipt sangat efektif untuk mengobati jaringan. Dilihat dari gambar 4.1.4,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
jumlah node yang terinfeksi tidak sampai menyentuh 150 padahal ada 300
node di jaringan tersebut. Pesan pada Active Receipt tidak perlu menyebar
ke seluruh node karena langsung diobati setelah ada receipt. Selain itu node
yang memiliki removed naik sangat cepat hanya dalam hitungan waktu
beberapa jam dari mulai tidak node yang removed hingga semua node
menjadi removed.
Gambar 4.1.5: Grafik node yang terinfeksi pada Passive Receipt dalam
satuan waktu (sampel 1 pesan dari 300 node)
Berbeda dengan Active Receipt, penyebaran receipt pada Passive
Receipt cukup lambat. Dilihat dari gambar 4.1.5, seluruh node di jaringan
terinfeksi oleh pesan. Hal itu terlihat juga dari kenaikan node yang sudah
terobati yang naik tidak secepat Active Receipt dan jumlahnya tidak
mencapai seluruh jaringan. Karena sifatnya yang mengirimkan Receipt
kepada seluruh node yang ditemu, Active Receipt melakukan pertukaran
receipt lebih banyak ketimbang dengan Passive Receipt.
Pada Passive Receipt node yang terinfeksi jumlahnya dapat naik
maupun turun. Hal ini disebabkan karena node kehilangan pesan karena di
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
drop sehingga node berubah status menjadi susceptible dan dapat diinfeksi
kembali.
Gambar 4.1.6: Grafik node yang terinfeksi pada Passive Receipt dengan
Tombstone dalam satuan waktu (sampel 1 pesan dari 300 node)
Hasil yang cukup berbeda ditunjukan oleh Passive Receipt dengan
menggunakan Tombstone. Pada gambar 4.1.6, seluruh node di jaringan
memang terinfeksi oleh pesan. Akan tetapi hanya dalam beberapa jam
infeksi tersebut langsung turun dan habis padahal TTL pada pesan tersebut
adalah 24 jam. Hal itu terlihat juga dari kenaikan node yang sudah terobati
yang langsung naik cepat sampai semua node berstatus removed. Hasil
tersebut didapat karena adanya Tombstone membuat pesan yang sudah
pernah dimiliki tidak bias menginfeksi node lagi.
Pada Passive Receipt dengan Tombstone ini node yang terinfeksi
jumlahnya tidak dapat naik maupun turun seperti Passive Receipt tanpa
Tombstone. Hal ini disebabkan karena node kehilangan pesan karena di drop
sehingga node berubah status menjadi removed dan tidak dapat diinfeksi
kembali.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 4.1.7: Grafik Total Traffic dalam pertambahan node
Secara teori, dengan adanya receipt yang dipertukarkan pada Teknik
Transfer Reliabilitas, maka total traffic yang dihasilkan juga semakin
meningkat. Dalam pengujianya hal tersebut berlaku pada pergerakan
random. Dapat dilihat dari gambar 4.1.7 total traffic yang paling tinggi
adalah milik Active Receipt. Total traffic dari Active Receipt paling tinggi
karena pesan receipt yang dipertukarkan juga lebih tinggi. Passive Receipt
memiliki total traffic di bawah Active Receipt karena receipt yang
dipertukarkan pada Pasive tidak sebanyak milik Active Receipt. Total traffic
milik Epidemic dan Passive dengan Tombstone hampir sama. Hal ini
dikarenakan Tombstone memiliki mekanisme mencegah pengiriman pesan
yang sudah pernah diterima oleh suatu node. Tentu hal tersebut mengurangi
jumlah pesan yang dipertukarkan. Sedangkan Epidemic hanya memiliki
pesan yang dipertukarkan tanpa adanya tambahan receipt yang
dipertukarkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
4.2. Pergerakan Manusia (Haggle Cam)
Pergerakan Manusia yang digunakan untuk penelitian ini adalah
Haggle Cam. Dataset ini berisi data pertemuan antar pelajar di Universitas
Cambridge. Jumlah partisipan yang digunakan dalam simulasi ini sebanyak
36 orang. Lokasi pengambilan data berada di Kota Cambridge, Inggris.
Selain dibawa 36 orang mahasiswa Cambridge, iMotes juga diletakkan di
beberapa tempat yang sering dikunjungi partisipan, yaitu laboratorium
komputer Universitas Cambridge, toko penjual bahan makanan, pub,
supermarket, pusat perbelanjaan di Kota Cambridge. Durasi simulasi pada
dataset ini adalah 987529, sekitar 11.43 hari.
Setelah beberapa kali menjalankan simulasi dengan menggunakan
dataset Haggle Cambridge maka didapatkan hasil sebagai berikut:
Metrik
Teknik Transfer Reliability
Epidemic Active Passive Passive +
Tombstone
Delivery
Probability 0.3409 0.7315 0.5564 0.6521
Overhead
Ratio 222.7479 22.5141 109.7669 35.8366
Total Traffic 35153.27778 18767.30556 32933.694446 11297.30556
Tabel 4.2.1: Tabel hasil pengujian menggunakan dataset Haggle Cam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Gambar 4.2.1: Perbandingan delivery probability
Pada gambar 4.2.1 sama seperti pada pergerakan random, delivery
probability milik Active Receipt lebih baik daripada milik Passive Receipt
maupun Passive Receipt dengan Tombstone. Peran Tombstone untuk
membatasi jaringan juga efektif meningkatkan delivery probability pada
Passive Receipt. Epidemic biasa memiliki delivery probability paling rendah
karena tidak adanya mekanisme mengobati jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Gambar 4.2.2: Perbandingan Overhead Ratio
Hal tersebut juga didukung dengan hasil overhead ratio. Pada
gambar 4.2.2, memperlihatkan overhead ratio dari Epidemic yang sangat
tinggi dibandingkan dengan Active Receipt dan Passive Receipt. Active
Receipt memiliki overhead yang paling rendah karena lebih efisien dalam
mengurangi beban jaringan. Apalagi pada jaringan manusia dimana terdapat
hub node yang membuat receipt tersebar semakin cepat dan mengobati
jaringan semakin cepat pula. Peran Tombstone juga sangat berpengaruh
pada pergerakan manusia. Intensitas bertemu node yang tidak sama setiap
node membuat pertukaran pesan yang sudah terbuang dari buffer tidak lagi
dilakukan berulang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Gambar 4.2.3.: Perbandingan buffer occupancy per jam (sampel 1
node)
Cepatnya Active Receipt mengobati jaringan juga membuat buffer
occupancy menjadi lebih kecil. Pada gambar 4.2.3 dapat dilihat bahwa
buffer occupancy milik Active tidak pernah mencapai 100 persen. Artinya
adalah buffer milik Active Receipt tidak pernah penuh. Berbeda dengan
Passive Receipt yang meskipun memiliki buffer lebih baik ketimbang
Epidemic namun tetap ada kondisi dimana buffer penuh.
Sama seperti pada pergerakan random, Tombstone mempengaruhi
buffer occupancy pada Passive Receipt. Pada gambar 4.2.3 dapat dilihat
buffer occupancy Passive Receipt dengan Tombstone hampir selalu penuh
karena jaringan lebih heterogen terhadap pesan.
Hasil SIR menunjukan berapa jumlah node pada masing masing
status (susceptible, infected, dan removed) berbanding dengan penambahan
waktu. Hasil dari SIR diambil dari data pesan yang sama pada setiap
protocol.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Gambar 4.2.4: SIR Active Receipt pada satuan waktu (sampel 1 pesan dari
36 node)
Gambar 4.2.5: SIR Passive Receipt pada satuan waktu (sampel 1 pesan
dari 36 node)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 4.2.6: SIR Passive Receipt dengan Tombstone pada satuan waktu
(sampel 1 pesan dari 36 node)
Pada SIR node, pergerakan manusia menghasilkan hasil yang hampir
mirip pada setiap pesan yang diamati. Namun hasil yang didapatkan
menunjukan hal yang sama dengan hasil pada pergerakan random.
Meskipun ketiga protokol hampir semua menunjukan bahwa pesan
menginfeksi seluruh node, perbedaan terjadi setelah pesan menyentuh semua
node. Pada Active Receipt jaringan diobati sangat cepat terhadap pesan yang
sudah memiliki receipt. Pada gambar 4.2.4 terlihat penurunan dari jumlah
node yang terinfeksi terjadi sangat cepat. Passive Receipt cenderung lebih
lama untuk mengobati jaringan. Pada gambar 4.2.5 dapat dilihat penurunan
jumlah node yang terinfeksi tidak secepat yang ada pada Active Receipt.
Efek Tombstone pada pergerakan manusia dapat dilihat pada gambar 4.2.6.
Grafik tersebut menunjukan tidak semua node terinfeksi oleh pesan. Hal ini
terjadi karena Tombstone akan menolak pesan yang sudah dibuang oleh
node. Mengingat buffer pada Passive Receipt dengan Tombstone yang
tinggi, pesan akan sering di drop karena buffer penuh dan menyebabkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
rendahnya probabilitas seluruh node memiliki pesan yang sama pada satu
satuan waktu.
Gambar 4.2.7: Perbandingan Total Traffic
Meskipun secara teori dengan adanya receipt yang dipertukarkan
akan menambah nilai total traffic, namun pada pergerakan manusia hal
tersebut tidak terbukti. Pada gambar 4.2.7 dapat dilihat bahwa justru
Epidemic yang memiliki total traffic tertinggi sedangkan Passive Receipt
dengan Tombstone memiliki total traffic yang lebih rendah. Hal ini terjadi
karena dengan adanya receipt jaringan lebih efektif terobati daripada
penambahan receipt itu sendiri. Dengan kata lain pesan yang dihapus dan
tidak jadi dipertukarkan lebih banyak daripada receipt yang dipertukarkan.
Selain itu dengan adanya Tombstone maka kemungkinan pesan diteruksan
berulang kali akan semakin kecil sehingga mengurangi total traffic. Hal
tersebut yang kemudian membuat pesan yang diteruksan pada jaringan jauh
lebih sedikit daripada milik Passive Receipt dan Epidemic sehingga
banyaknya Receipt yang diteruskan tidak berdampak pada total traffic.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
4.3. Perbandingan Pergerakan Random dan Manusia
Pergerakan manusia berbeda dengan pergerakan random. Manusia
cenderung memiliki pola pada pergerakanya. Selain itu pergerakan manusia
membentuk hub node yang menjadi dominan pada jaringan. Untuk
mengetahui efek dari transfer acknowledgment maka dilakukan pengujian.
Pengujian dilakukan dengan menggunakan rancangan simulai yang sudah
dijabarkan pada bab III.
Active Receipt
Gambar 4.3.1: Perbandingan node Susceptible vs Δ t pada Active Receipt
(sampel 1 pesan dari 36 node)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Gambar 4.3.2: Perbandingan node Infected vs Δ t pada Active Receipt
(sampel 1 pesan dari 36 node)
Gambar 4.3.3: Perbandingan node Removed vs Δ t pada Active Receipt
(sampel 1 pesan dari 36 node)
Pada Active Receipt pergerakan manusia lebih cepat menyebarkan
pesan ketimbang pergerakan random. Dapat dilihat dari Gambar 4.3.2 jumlah
node yang terinfeksi naik lebih cepat dibandingkan dengan pergerakan
random. Hal ini disebabkan adanya hub node yang mempercepat
penyampaian pesan ke seluruh node. Hal itu juga diperkuat dengan turunya
node yang susceptible terhadap pesan. Dari gambar 4.3.1 terlihat node yang
susceptible turun drastis pada pergerakan manusia.
Selain cepat dalam mengirim pesan, hub node pada jaringan manusia
juga cepat untuk mengobati jaringan. Dengan menggunakan transfer
reliabilitas milik Active Receipt, pesan pada jaringan cepat sekali diobati.
Dapat dilihat pada gambar 4.3.3 dimana jumlah node yang diobati jauh
meningkat dengan cepat. Hal ini disebabkan karena ketika hub node berhasil
mendapatkan receipt, maka receipt tersebut cepat sekali tersebar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Passive Receipt
Gambar 4.3.4: Perbandingan node Susceptible vs Δ t pada Passive Receipt
(sampel 1 pesan dari 36 node)
Gambar 4.3.5: Perbandingan node Infected vs Δ t pada Passive Receipt
(sampel 1 pesan dari 36 node)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Gambar 4.3.6: Perbandingan node Removed vs Δ t pada Passive Receipt
(sampel 1 pesan dari 36 node)
Sama halnya pada Active Receipt, pergerakan manusia juga lebih cepat
menyebarkan pesan ketimbang pergerakan random pada Passive Receipt.
Dapat dilihat dari Gambar 4.3.5 jumlah node yang terinfeksi naik lebih cepat
dibandingkan dengan pergerakan random. Hal ini disebabkan adanya hub
node yang mempercepat penyampaian pesan ke seluruh node. Hal itu juga
diperkuat dengan turunya node yang susceptible terhadap pesan. Dari gambar
4.3.4 terlihat node yang susceptible turun drastis pada pergerakan manusia.
Meskipun tidak secepat pada Active Receipt, mekanisme Passive
Receipt untuk mengurangi beban jaringan pada pergerakan manusia juga
cepat. Selain cepat dalam mengirim pesan, hub node pada jaringan manusia
juga cepat untuk mengobati jaringan. Dapat dilihat pada gambar 4.3.6 dimana
jumlah node yang diobati jauh meningkat dengan cepat. Hal ini disebabkan
karena ketika hub node berhasil mendapatkan receipt, maka receipt tersebut
cepat sekali tersebar ke seluruh node.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Passive dengan Tombstone
Gambar 4.3.7: Perbandingan node Susceptible vs Δ t pada Passive Receipt
dengan Tombstone (sampel 1 pesan dari 36 node)
Gambar 4.3.8: Perbandingan node Infected vs Δ t Passive Receipt dengan
Tombstone (sampel 1 pesan dari 36 node)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Gambar 4.3.9: Perbandingan node Removed vs Δ t Passive Receipt dengan
Tombstone (sampel 1 pesan dari 36 node)
Pada protokol Passive Receipt dengan Tombstone, hasil yang didapat
tidak jauh beda dengan kedua protokol sebelumnya. Pergerakan manusia
lebih cepat dalam menyebarkan pesan. Dapat dilihat dari Gambar 4.3.8
jumlah node yang terinfeksi naik lebih cepat dibandingkan dengan pergerakan
random. Hal ini disebabkan adanya hub node yang mempercepat
penyampaian pesan ke seluruh node. Berbeda dengan pergerakan random
yang cenderung lebih lama menyebarkan pesan. Dari gambar 4.3.7 terlihat
node yang susceptible turun dengan cepat pada pergerakan manusia. Efek
Tombstone juga terlihat karena pesan yang sama tidak bisa masuk ke dalam
node lagi sehingga node yang susceptible akan turun terus menerus.
Selain cepat dalam mengirim pesan, hub node pada jaringan manusia
juga cepat untuk mengobati jaringan. Dengan menggunakan transfer
reliabilitas milik Active Receipt, pesan pada jaringan cepat sekali diobati.
Dapat dilihat pada gambar 4.3.9 dimana jumlah node yang diobati jauh
meningkat dengan cepat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
48
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Setelah melakukan proses pengujian melalui simulasi dan
menganalisis data hasil simulasi, dapat dibuat kesimpulan bahwa dengan
menggunakan Transfer Acknowledgment dapat mengurangi beban jaringan
yang ada. Active Receipt lebih cepat dan lebih banyak mengirimkan Receipt
daripada Passive Receipt dan Epidemic sehingga jaringan lebih cepat pula
diobati. Hal tersebut yang membuat unjuk kerja Active Receipt lebih baik
daripada Passive Receipt dan Epidemic pada Delivery Probability, Overhead
Ratio dan Buffer Occupancy. Namun karena banyaknya Receipt yang dikirim
oleh Active Receipt mengakibatkan tingginya traffic pada jaringan tersebut
sehingga Active Receipt tidak begitu baik pada unjuk kerja Total Traffic.
Menggunakan perbandingan terhadap pergerakan random, pergerakan
manusia lebih efektif untuk menyebarkan jaringan dan mengobati jaringan.
Hal ini disebabkan adanya hub node pada jaringan manusia sehingga
mempermudah penyebaran pesan maupun penyebaran obat. Active Receipt
juga unggul baik pada pergerakan random maupun pergerakan manusia
karena penyebaran acknowledgment yang lebih cepat.
4.2. Saran
Pada penelitian selanjutnya perlu diteliti bagaimana unjuk kerja teknik
transfer acknowledgment jika diterapkan pada protokol-protokol routing
berbasis sosial. Protokol-protokol berbasis sosial memiliki perhitungan-
perhitungan dengan pendekatan sosial. Selain itu adanya hub-node akan
mempengaruhi bagaimana transfer acknowledgment bekerja.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
DAFTAR PUSTAKA
[1] J. Schiller, “Mobile Communication”, Great Britain: Biddles, 2003.
[2] H. Khaled A. dan Kevin C. A., " Transport Layer Issues in Delay Tolerant
Mobile Networks," 2006.
[3] Z. Zhang, “Routing in Intermittently Connected Mobile Ad Hoc Networks and
Delay Tolerant Networks : Overview and Challenges,” IEEE Communications
Surveys & Tutorials, vol. 8, no. 1, pp. 24-37, 2006.
[4] A. V. a. D. Becker, “Epidemic Routing for Partially-Connected Ad Hoc
Networks” , Durham: Department of Computer Science Duke University, 2000.
[5] K. Fall. “A Delay-Tolerant Network Architecture for Challenged Internets”. In
ACM SIGCOMM, Karlsruhe, Germany, August 2003.
[6] Puri, P., Singh, M.P. (2013) “A Survey Paper on Routing in Delay-tolerant
Networks”, International Conference on Information Systems and Computer
Networks, pp. 215-220.
[7] Keränen, A., Ott, J. & Kärkkäinen, T., “The ONE Simulator for DTN Protocol
Evaluation”, Computer Communication Networks.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
LAMPIRAN
1. Epidemic Active Receipt Router /**
*
* @Author Michael Donny Kusuma
* Universitas Sanata Dharma
*/
public class EpidemicActiveRouter implements RoutingDecisionEngine {
/** buffer that save receipt */
private Map<String, DTNHost> receiptBuffer;
/** request message to send to other node if any connection occur */
private List<String> request;
/** message that should be deleted */
private Set<String> messageReadytoDelete;
/** Report Object */
private ReceiptStatsReport receiptReport;
public EpidemicActiveRouter(Settings s) { }
protected EpidemicActiveRouter(EpidemicActiveRouter proto) {
this.receiptBuffer = new HashMap<>();
this.receiptReport = new ReceiptStatsReport();
this.request = new ArrayList<>();
this.messageReadytoDelete = new HashSet<>();
}
@Override
public void connectionUp(DTNHost thisHost, DTNHost peer) {
EpidemicActiveRouter peerRouter = this.getAnotherRouter(peer);
Collection<Message> thisMessageList =
thisHost.getMessageCollection();
Collection<Message> peerMessageList = peer.getMessageCollection();
/** Exchange receipt */
Map<String, DTNHost> peerReceiptBuffer =
peerRouter.getReceiptBuffer();
for (Map.Entry<String, DTNHost> entry :
peerReceiptBuffer.entrySet()){
if (!receiptBuffer.containsKey(entry.getKey())){
receiptBuffer.put(entry.getKey(), entry.getValue());
receiptReport.receiptTransfered(entry.getKey());
}
if (entry.getValue().equals(thisHost)){
receiptReport.receiptDelivered(entry.getKey());
}
}
for (Message m : thisMessageList){
/** Delete message that have a receipt */
if (receiptBuffer.containsKey(m.getId())){
receiptReport.messageRemovedByReceipt(m);
messageReadytoDelete.add(m.getId());
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
else {
/** Create a requested message list based from this host
message that not have receipt */
request.add(m.getId());
}
}
DecisionEngineRouter thisRouter = (DecisionEngineRouter)
thisHost.getRouter();
for (String m : messageReadytoDelete) {
if (thisRouter.isSending(m)) {
List<Connection> conList = thisHost.getConnections();
for (Connection con : conList) {
if
(con.getMessage()!=null&&con.getMessage().getId()==m) {
con.abortTransfer();
break;
}
}
}
thisHost.deleteMessage(m, false);
}
messageReadytoDelete.clear();
/** Remove message that peer is already have */
for (Message m : peerMessageList){
if (request.contains(m.getId())){
request.remove(m.getId());
}
}
}
@Override
public void connectionDown(DTNHost thisHost, DTNHost peer) {
/** Clear requested message list and message to delete list for new
connection */
request.clear();
messageReadytoDelete.clear();
}
@Override
public void doExchangeForNewConnection(Connection con, DTNHost peer) {
}
@Override
public boolean newMessage(Message m) {
return true;
}
@Override
public boolean isFinalDest(Message m, DTNHost aHost) {
return m.getTo().equals(aHost);
}
@Override
public boolean shouldSaveReceivedMessage(Message m, DTNHost thisHost) {
if (isFinalDest(m, thisHost) &&
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
!receiptBuffer.containsKey(m.getId() )){
// Report if receipt created
receiptReport.receiptCreated(m);
receiptBuffer.put(m.getId(), m.getFrom());
}
return true;
}
@Override
public boolean shouldSendMessageToHost(Message m, DTNHost otherHost) {
return request.contains(m.getId());
}
@Override
public boolean shouldDeleteSentMessage(Message m, DTNHost otherHost) {
return false;
}
@Override
public boolean shouldDeleteOldMessage(Message m, DTNHost
hostReportingOld) {
return false;
}
@Override
public RoutingDecisionEngine replicate() {
return new EpidemicActiveRouter(this);
}
private EpidemicActiveRouter getAnotherRouter(DTNHost peer) {
MessageRouter otherRouter = peer.getRouter();
assert otherRouter instanceof DecisionEngineRouter : "This router
only works with other routers of same type";
return (EpidemicActiveRouter) ((DecisionEngineRouter)
otherRouter).getDecisionEngine();
}
public Map<String, DTNHost> getReceiptBuffer() {
return receiptBuffer;
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
2. Epidemic Passive Receipt Router /**
*
* @Author Michael Donny Kusuma
* Universitas Sanata Dharma
*/
public class EpidemicPassiveRouter implements RoutingDecisionEngine {
/** Set contain buffer for receipt */
private Set<String> receiptBuffer;
/** Set contain summary vectors */
private List<String> request;
/** Report Object */
private ReceiptStatsReport receiptReport;
public EpidemicPassiveRouter(Settings s) {
}
protected EpidemicPassiveRouter(EpidemicPassiveRouter proto) {
this.request = new ArrayList<>();
this.receiptBuffer = new HashSet<>();
this.receiptReport = new ReceiptStatsReport();
}
@Override
public void connectionUp(DTNHost thisHost, DTNHost peer) {
/** Get message from this host and peer host */
Collection <Message> thisMessages = thisHost.getMessageCollection();
Collection <Message> peerMessages = peer.getMessageCollection();
/** Clear summary vector for this connection */
request.clear();
/** Check peer and this host summary vector, exchange if not same */
if (thisMessages.hashCode() != peerMessages.hashCode()) {
/** Determine which message is needed for peer host */
exchangeSummaryVector(peerMessages, thisMessages);
}
}
@Override
public void connectionDown(DTNHost thisHost, DTNHost peer) {
}
@Override
public void doExchangeForNewConnection(Connection con, DTNHost peer) {
}
@Override
public boolean newMessage(Message m) {
return true;
}
@Override
public boolean isFinalDest(Message m, DTNHost aHost) {
return m.getTo()==aHost;
}
@Override
public boolean shouldSaveReceivedMessage(Message m, DTNHost thisHost) {
/** Get peer host */
List<DTNHost> hostRelayM = m.getHops();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
DTNHost peer = hostRelayM.get(hostRelayM.size()-2);
boolean acknowledged = false;
/** Get peer router */
EpidemicPassiveRouter partnerRouter = this.getAnotherRouter(peer);
/** Check whether message is acknowledged */
if (receiptBuffer.contains(m.getId())){
/** Tell peer router that message m is acknowledged, transfer
receipt */
partnerRouter.receiptBuffer.add(m.getId());
/** Delete message from peer buffer */
peer.deleteMessage(m.getId(),false);
/** Trigger report */
receiptReport.receiptTransfered(m.getId());
receiptReport.messageRemovedByReceipt(m);
/** Check that peer is receipt target */
if (m.getFrom().equals(peer)){
receiptReport.receiptDelivered(m.getId());
}
return false;
}
else {
/** Check whether this message is for this host */
if (m.getTo()==thisHost){
/** Create receipt for message m */
receiptReport.receiptCreated(m);
/** Add receipt to host and peer buffer */
receiptBuffer.add(m.getId());
partnerRouter.receiptBuffer.add(m.getId());
}
return true;
}
}
@Override
public boolean shouldSendMessageToHost(Message m, DTNHost otherHost) {
return request.contains(m.getId());
}
@Override
public boolean shouldDeleteSentMessage(Message m, DTNHost otherHost) {
return false;
}
@Override
public boolean shouldDeleteOldMessage(Message m, DTNHost
hostReportingOld) {
return true;
}
@Override
public RoutingDecisionEngine replicate() {
return new EpidemicPassiveRouter(this);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
}
private void exchangeSummaryVector(Collection <Message> peerMessages,
Collection <Message> thisHostMessages) {
/** Check for all this host message peer host didn't have, add to
summary vector */
for (Message message : thisHostMessages) {
if (!peerMessages.contains(message)) {
request.add(message.getId());
}
}
}
private EpidemicPassiveRouter getAnotherRouter(DTNHost peer) {
MessageRouter otherRouter = peer.getRouter();
assert otherRouter instanceof DecisionEngineRouter : "This router
only works with other routers of same type";
return (EpidemicPassiveRouter) ((DecisionEngineRouter)
otherRouter).getDecisionEngine();
}
public Set<String> getReceiptBuffer() {
return receiptBuffer;
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
3. Epidemic Passive Receipt dengan Tombstone Router /**
*
* @Author Michael Donny Kusuma
* Universitas Sanata Dharma
*/
public class EpidemicPassiveWTombstoneRouter implements
RoutingDecisionEngine {
/** Buffer for receipt */
private Set<String> receiptBuffer;
/** Message ever received */
private Set<String> tombstone;
/** Peer's request to this node */
private List<String> request;
/** Report */
private ReceiptStatsReport receiptReport;
public EpidemicPassiveWTombstoneRouter(Settings s) {
}
protected
EpidemicPassiveWTombstoneRouter(EpidemicPassiveWTombstoneRouter proto) {
this.request = new ArrayList<>();
this.receiptBuffer = new HashSet<>();
this.tombstone = new HashSet<>();
this.receiptReport = new ReceiptStatsReport();
}
@Override
public void connectionUp(DTNHost thisHost, DTNHost peer) {
/** Get message from this host and peer host */
Collection <Message> thisMessages = thisHost.getMessageCollection();
Collection <Message> peerMessages = peer.getMessageCollection();
/** Get peer's tombstone */
EpidemicPassiveWTombstoneRouter partnerRouter =
this.getAnotherRouter(peer);
Set<String> peerTombstone = partnerRouter.getTombstone();
/** Clean up request for this connection */
request.clear();
/** Check peer and this host summary vector, exchange if not same */
if (thisMessages.hashCode() != peerMessages.hashCode()) {
/** Determine which message is needed for peer */
exchangeSummaryVector(peerMessages, thisMessages, peerTombstone);
}
}
@Override
public void connectionDown(DTNHost thisHost, DTNHost peer) {
}
@Override
public void doExchangeForNewConnection(Connection con, DTNHost peer) {
}
@Override
public boolean newMessage(Message m) {
return true;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
}
@Override
public boolean isFinalDest(Message m, DTNHost aHost) {
return m.getTo()==aHost;
}
@Override
public boolean shouldSaveReceivedMessage(Message m, DTNHost thisHost) {
/** Get peer host */
List<DTNHost> hostRelayM = m.getHops();
DTNHost peer = hostRelayM.get(hostRelayM.size()-2);
/** Get peer router */
EpidemicPassiveWTombstoneRouter partnerRouter =
this.getAnotherRouter(peer);
/** Check whether message is acknowledged */
/*boolean acknowledged = false;
for (String r : receiptBuffer){
if (r.equals(m.getId())){
acknowledged = true;
}
}*/
if (receiptBuffer.contains(m.getId())){
/** Tell peer router that message m is acknowledged, transfer
receipt */
partnerRouter.receiptBuffer.add(m.getId());
/** Delete message from peer buffer */
peer.deleteMessage(m.getId(),false);
/** Trigger report */
receiptReport.receiptTransfered(m.getId());
receiptReport.messageRemovedByReceipt(m);
/** Check that peer is receipt target */
if (m.getFrom().equals(peer)){
receiptReport.receiptDelivered(m.getId());
}
return false;
}
else {
/** Check whether this message is for this host */
if (m.getTo()==thisHost){
/** Create receipt for message m */
receiptReport.receiptCreated(m);
/** Add receipt to host and peer buffer */
receiptBuffer.add(m.getId());
partnerRouter.receiptBuffer.add(m.getId());
}
tombstone.add(m.getId());
return true;
}
}
@Override
public boolean shouldSendMessageToHost(Message m, DTNHost otherHost) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
return request.contains(m.getId());
}
@Override
public boolean shouldDeleteSentMessage(Message m, DTNHost otherHost) {
return false;
}
@Override
public boolean shouldDeleteOldMessage(Message m, DTNHost
hostReportingOld) {
return true;
}
@Override
public RoutingDecisionEngine replicate() {
return new EpidemicPassiveWTombstoneRouter(this);
}
private void exchangeSummaryVector(Collection <Message> peerMessages,
Collection <Message> thisHostMessages, Set<String> peerTombstone) {
/** Check every message that peer needed */
for (Message message : thisHostMessages) {
if (!peerMessages.contains(message) &&
!peerTombstone.contains(message.getId())) {
request.add(message.getId());
}
}
}
private EpidemicPassiveWTombstoneRouter getAnotherRouter(DTNHost peer) {
MessageRouter otherRouter = peer.getRouter();
assert otherRouter instanceof DecisionEngineRouter : "This router
only works with other routers of same type";
return (EpidemicPassiveWTombstoneRouter) ((DecisionEngineRouter)
otherRouter).getDecisionEngine();
}
public Set<String> getReceiptBuffer() {
return receiptBuffer;
}
public Set<String> getTombstone() {
return tombstone;
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
4. Epidemic Router /**
*
* @Author Michael Donny Kusuma
* Sanata Dharma Univeristy
*/
public class EpidemicRouter implements routing.RoutingDecisionEngine {
/** request message to send to other node if any connection occur */
private Set<String> request;
public EpidemicRouter(core.Settings s) {}
protected EpidemicRouter(EpidemicRouter proto) {
request = new HashSet<>();
}
public void connectionUp(DTNHost thisHost, DTNHost peer) {
Collection<Message> thisHostMessages =
thisHost.getMessageCollection();
Collection<Message> peerMessages = peer.getMessageCollection();
/**for every message that this node have but peer node doesn't
* add to request list */
for (Message m : thisHostMessages){
if (!peerMessages.contains(m)){
request.add(m.getId());
}
}
}
public void connectionDown(DTNHost thisHost, DTNHost peer) {
/** clear request message to use for a new connection */
request.clear();
}
public void doExchangeForNewConnection(core.Connection con, DTNHost
peer) {
}
public boolean newMessage(Message m) {
return true;
}
public boolean isFinalDest(Message m, DTNHost aHost) {
return m.getTo() == aHost;
}
public boolean shouldSaveReceivedMessage(Message m, DTNHost thisHost) {
return true;
}
public boolean shouldSendMessageToHost(Message m, DTNHost otherHost) {
/** send request messages to other node */
return request.contains(m.getId());
}
public boolean shouldDeleteSentMessage(Message m, DTNHost otherHost) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
return false;
}
public boolean shouldDeleteOldMessage(Message m, DTNHost
hostReportingOld) {
return false;
}
public routing.RoutingDecisionEngine replicate() { return new
EpidemicRouter(this);
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
5. SIR Report /**
*
* @author Michael Donny Kusuma
* Sanata Dharma University
*/
public class SIRReport extends Report implements UpdateListener{
public static final String REPORT_INTERVAL = "Interval";
//1 jam
public static int DEFAULT_REPORT_INTERVAL = 3600 ;
private double lastRecord;
// Message need to reported
private String messageReported = "M1";
// Status node to the message, true if node is infected by the message
private Map<DTNHost, Boolean> nodeState = new HashMap<>();
private List<Integer> nodeInfective = new ArrayList<>();
private List<Integer> nodeSuspected = new ArrayList<>();
private List<Integer> nodeRemoved = new ArrayList<>();
private int ROUTING_ENGINE = -1;
private int interval;
public SIRReport() {
super();
Settings routeSettings = new Settings("DecisionEngineRouter");
Settings SIRSettings = new Settings("SIR");
Settings settings = getSettings();
if (settings.contains(REPORT_INTERVAL)) {
interval = settings.getInt(REPORT_INTERVAL);
} else {
interval = -1;
}
if (interval < 0) {
interval = DEFAULT_REPORT_INTERVAL;
}
String routingEngine = routeSettings.getSetting("decisionEngine");
if (routingEngine.equals("reliability.EpidemicActiveRouter")){
ROUTING_ENGINE = 1;
}
else if
(routingEngine.equals("reliability.EpidemicPassiveRouter")){
ROUTING_ENGINE = 2;
}
else if
(routingEngine.equals("reliability.EpidemicPassiveWTombstoneRouter")){
ROUTING_ENGINE = 3;
}
messageReported = "M" + SIRSettings.getSetting("numberOfMessage");
DEFAULT_REPORT_INTERVAL =
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Integer.parseInt(SIRSettings.getSetting("interval"));
initInfective();
}
@Override
public void updated(List<DTNHost> hosts) {
double simTime = getSimTime();
if (lastRecord>0){
if ((simTime - lastRecord >= interval)) {
//compute host carry message
if (ROUTING_ENGINE==1){
activeDecider(hosts , messageReported);
}
else if (ROUTING_ENGINE==2){
passiveDecider(hosts , messageReported);
}
else if (ROUTING_ENGINE==3){
passiveWTombstoneDecider(hosts , messageReported);
}
lastRecord = simTime - simTime % interval;
}
}
else {
findInitTime(hosts, messageReported);
}
}
private void findInitTime(List<DTNHost> hosts, String idMessage){
for (DTNHost host : hosts){
for (Message m : host.getMessageCollection()){
if (idMessage.equals(m.getId())){
lastRecord = m.getCreationTime();
}
}
}
}
public void activeDecider(List<DTNHost> hosts, String idMessage){
int s = 0;
int i = 0;
int r = 0;
for (DTNHost host : hosts){
EpidemicActiveRouter thisRouter = this.getActiveRouter(host);
Map<String, DTNHost> receiptBuffer =
thisRouter.getReceiptBuffer();
boolean infected = false;
for (Message m : host.getMessageCollection()){
if (idMessage.equals(m.getId())){
infected = true;
}
}
if (infected){
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
i++;
}
else {
if (receiptBuffer.containsKey(idMessage)){
r++;
}
else {
s++;
}
}
}
nodeInfective.add(i);
nodeSuspected.add(s);
nodeRemoved.add(r);
}
public void passiveDecider(List<DTNHost> hosts, String idMessage){
int s = 0;
int i = 0;
int r = 0;
for (DTNHost host : hosts){
EpidemicPassiveRouter thisRouter = this.getPassiveRouter(host);
Set<String> receiptBuffer = thisRouter.getReceiptBuffer();
boolean infected = false;
for (Message m : host.getMessageCollection()){
if (idMessage.equals(m.getId())){
infected = true;
}
}
if (infected){
i++;
}
else if (!infected && receiptBuffer.contains(idMessage)){
r++;
}
else {
s++;
}
}
nodeInfective.add(i);
nodeSuspected.add(s);
nodeRemoved.add(r);
}
public void passiveWTombstoneDecider(List<DTNHost> hosts, String
idMessage){
int s = 0;
int i = 0;
int r = 0;
for (DTNHost host : hosts){
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
EpidemicPassiveWTombstoneRouter thisRouter =
this.getPassiveWTombstoneRouter(host);
Set<String> receiptBuffer = thisRouter.getReceiptBuffer();
Set<String> tombstone = thisRouter.getTombstone();
boolean infected = false;
for (Message m : host.getMessageCollection()){
if (idMessage.equals(m.getId())){
infected = true;
}
}
if (infected){
i++;
}
else {
if (receiptBuffer.contains(idMessage) ||
tombstone.contains(idMessage)){
r++;
}
else {
s++;
}
}
}
nodeInfective.add(i);
nodeSuspected.add(s);
nodeRemoved.add(r);
}
@Override
public void done() {
String print = "SIR Report";
print = print +"\nS";
print = print +"\n"+messageReported;
for (int val : nodeSuspected){
print = print +"\t"+ val;
}
print = print +"\nI";
print = print +"\n"+messageReported;
for (int val : nodeInfective){
print = print +"\t"+ val;
}
print = print +"\nR";
print = print +"\n"+messageReported;
for (int val : nodeRemoved){
print = print +"\t"+ val;
}
write(print);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
super.done();
}
// Create init object for message that reported
private void initInfective(){
lastRecord = -1;
}
private EpidemicActiveRouter getActiveRouter (DTNHost host) {
MessageRouter otherRouter = host.getRouter();
assert otherRouter instanceof DecisionEngineRouter : "This router
only works with other routers of same type";
return (EpidemicActiveRouter) ((DecisionEngineRouter)
otherRouter).getDecisionEngine();
}
private EpidemicPassiveRouter getPassiveRouter (DTNHost host) {
MessageRouter otherRouter = host.getRouter();
assert otherRouter instanceof DecisionEngineRouter : "This router
only works with other routers of same type";
return (EpidemicPassiveRouter) ((DecisionEngineRouter)
otherRouter).getDecisionEngine();
}
private EpidemicPassiveWTombstoneRouter getPassiveWTombstoneRouter
(DTNHost host) {
MessageRouter otherRouter = host.getRouter();
assert otherRouter instanceof DecisionEngineRouter : "This router
only works with other routers of same type";
return (EpidemicPassiveWTombstoneRouter) ((DecisionEngineRouter)
otherRouter).getDecisionEngine();
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI