i
ANALISIS UNJUK KERJA PEMBOBOTAN NILAI KONTAK TIAP NODE DENGAN LOGIKA FUZZY DI PROTOKOL SPRAY AND WAIT JARINGAN
OPORTUNISTIK
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
oleh :
MARTINUS TRI NUR CAHYONO 155314038
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
ii
ANALYSIS PERFORMANCE OF COUNTING VALUE MEETINGS EVERY NODE WITH FUZZY LOGIC IN PROTOCOL SPRAY AND WAIT
OPPORTUNISTIC NETWORK
A THESIS
Presented as Partial Fulfillment of Requirements to Obtain Sarjana Komputer Degree in Informatics Engineering Department
by :
MARTINUS TRI NUR CAHYONO 155314038
INFORMATICS ENGINEERING STUDY PROGRAM FACULTY SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
iii
HALAMAN PERSETUJUAN SKRIPSI
ANALISIS UNJUK KERJA PEMBOBOTAN NILAI KONTAK TIAP NODE DENGAN LOGIKA FUZZY DI PROTOKOL SPRAY AND WAIT JARINGAN
OPORTUNISTIK
oleh :
Martinus Tri Nur Cahyono 155314038
Telah disetujui oleh :
Dosen Pembimbing,
iv
HALAMAN PENGESAHAN SKRIPSI
ANALISIS UNJUK KERJA PEMBOBOTAN NILAI KONTAK TIAP NODE DENGAN LOGIKA FUZZY DI PROTOKOL SPRAY AND WAIT JARINGAN
OPORTUNISTIK
Dipersiapkan dan ditulis oleh : Martinus Tri Nur Cahyono
155314038
Telah dipertahankan di depan panitia penguji pada tanggal ….
dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama Lengkap Tanda Tangan
Ketua : Vittalis Ayu, S.T., M.Cs. ……… Sekretaris : Henricus Agung Hernawan, S.T., M.Kom. ……… Anggota : Bambang Soelistijanto, Ph.D. ………
Yogyakarta, ……… 2019 Fakultas Sains dan Teknologi Universitas Sanata Dharma
Dekan,
v MOTTO
[Tuhan memang akan memberi kesempatan, tetapi
kesempatan itu tidak akan datang sendirinya,
maka berusahalah agar bisa mendapatkan
kesempatan itu, dan akan didapatlah
kesempatan itu]
[Dare to learn from mistakes and
dare to try new things]
- Martinus Tri Nur Cahyono -
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sebenar-benarnya bahwa 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, 14 Juni 2019 Penulis
vii
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Martinus Tri Nur Cahyono
NIM : 155314038
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul :
ANALISIS UNJUK KERJA PEMBOBOTAN NILAI KONTAK TIAP NODE DENGAN LOGIKA FUZZY DI PROTOKOL
SPRAY AND WAIT JARINGAN OPORTUNISTIK
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, 14 Juni 2019 Penulis,
viii ABSTRAK
Jaringan oportunistik adalah salah satu bentuk jaringan yang tidak membutuhkan infrastruktur dimana setiap node pada jaringan ini memiliki resource (sumber daya) dan bandwidth yang terbatas, node yang bergerak, dan media transmisi yang beragam (dapat menggunakan bluetooth wireless, atau media lain). Dalam penerapannya, jaringan opportunistic dapat berkomunikasi dari satu node ke node yang lain dengan cara memberikan copy message (replikasi pesan) atau memberikan pesan kepada node yang ia jumpai. Karenanya protokol Spray and Wait memberikan copy pesan ke node
relay agar bisa sampai ke node destination. Protokol Spray and Wait dapat bekerja
secara optimal jika pembagian copy pesan kepada node relay (node yang dijumpai) tepat.
Dengan kedua metodenya binary spray dan source spray peneliti masih menemukan ide untuk membagi copy pesan dengan logika fuzzy terlebih dahulu, dan dengan metode ini dapat membuat protokol tersebut lebih optimal. Peneliti menggunakan Total Message Delivered Per Contact, Total Latencies Per Total
Contact, dan Percentage Total Message Delivered Per Total Contact sebagai metrik
unjuk kerja yang akan dijadikan acuan untuk membandingkan dan mengevaluasi hasil dari penggunaan logika fuzzy untuk pembobotan / pembagian copy pesan di protokol
Spray and Wait pada jaringan oportunistik. Dari hasil simulasi, penulis mendapati
bahwa dengan logika fuzzy yang diterapkan di protokol Spray and Wait akan membuat pembagian / pembobotan nilai kontak tiap node menjadi selektif dan lebih teliti dan juga membuat hasil akhir kinerjanya menjadi lebih efektif, tetapi hasil akan menjadi lebih optimal jika klasifikasi data yang berdasarkan karakteristik data di tiap dataset tepat, dalam artian dengan dataset yang berbeda akan menunjukan hasil yang berbeda pula.
ix ABSTRACT
Opportunistic networks are one form of network that does not require infrastructure where each node on this network has limited resources (resources) and bandwidth, moving nodes, and diverse transmission media (can use Bluetooth wireless, or other media). In its application, the network can communicate from one node to another node by giving a message copy (message replication) or giving a message to the node he meets. Therefore the Spray and Wait protocols provide a message copy to the node so that the relay can reach the destination node. The Spray Protocol and Wait can work optimally if the distribution of message copies to the relay node (node found) is right.
With both methods of spraying binary and spray sources researchers are still finding ideas to divide copies of messages with previous fuzzy logic, and with this method can make the protocol more optimal. Researchers used the Total Message Delivered Per Contact, Total Latency Per Total Contact, and Percentage of Total Message Delivered Per Contact Total as a performance metric that will be used to compare and improve fuzzy usage results for weighting / copy copies of the sprayed message and wait for opportunistic network. From the simulation results, the author found that the fuzzy logic applied in the Spray and Wait protocols will make the sharing / weighting of the contact values of each node selective and more precise and more thorough and also make the final results of their performance more effective, but the results will be more optimal in the sense that different datasets will show different results.
x
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yesus Kristus, atas kasih dan karunianya bagi kita semua. Atas kasih dan karuniaNya juga sehingga penulis dapat menyelesaikan penulisan tugas akhir yang berjudul “ANALISIS UNJUK KERJA PEMBOBOTAN NILAI KONTAK TIAP NODE DENGAN LOGIKA FUZZY DI PROTOKOL SPRAY
AND WAIT JARINGAN OPORTUNISTIK”, ini dengan baik dan lancar meskipun
dengan keterbatasan waktu dan juga wawasan yang dimiliki.
Keberhasilan penulis dalam membuat tugas akhir ini tidak terlepas dari berbagai pihak yang telah membantu, mendukung dan memberi berbagai motivasi dan inspirasi untuk penulis. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan rasa terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu, dan mendukung penulis hingga terselesaikannya tugas akhir ini, khususnya kepada :
1. Tuhan Yesus Kristus yang telah memberikan kesempatan, pengalaman berharga, berkah, dan rahmat yang membuat penulis menjadi pribadi yang lebih berkembang sehingga dapat menyelesaikan tugas akhir ini.
2. Bapakku Paulus Murtija dan Ibuku MG. Sri Marsi, yang telah banyak membantuku memberi motivasi, dukungan semangat, mendoakan, dan mengingatkan dalam berbagai macam hal.
3. Kakakku yang pertama Theresia Nuri Endarwati N. dan kakakku yang kedua Thomas Enggar D. P., yang telah banyak membantu memberikan dukungan, doa, motivasi, dan semangat kepada penulis.
xi
4. Bapak Bambang Soelistijanto Ph.D selaku Dosen Pembimbing tugas akhir penulis, yang telah memberi arahan dan membimbing penulis dengan baik. 5. Semua Dosen yang telah membimbing penulis selama masa kuliah.
6. Semua teman-teman satu lab tugas akhir penulis yang selalu mau membantu penulis baik secara langsung maupun tidak sehingga penulis termotivasi untuk lebih baik lagi. Terkhusus untuk Gregorius Bima K. W., dan Yunus Ihsan S., yang telah banyak membantu penulis untuk menyelesaikan tugas akhir ini. Dan juga untuk orang yang special Katarine Layung Indra A.P yang selalu menemani dan memberikan semangat hingga tugas akhir ini selesai.
7. Teman-teman angkatan 2015, kakak tingkat dan teman-teman seperjuangan termasuk Peter, Simon, Osmond.
8. Dan semua pihak yang tidak dapat disebutkan satu per satu, yang telah memberi dukungan dan doa sehingga skripsi ini akhirnya selesai. Tuhan memberkati kalian semua.
Penulis sadar bahwa tugas akhir ini masih jauh dari kata sempurna, untuk itu penulis sangat berterimakasih dengan senang hati bila ada saran dan kritik yang membangun supaya tugas akhir ini semakin baik untuk kedepannya. Semoga tulisan yang masih jauh dari sempurna ini dapat bermanfaat.
Penulis
xii
DAFTAR ISI
HALAMAN JUDUL ... i
TITLE PAGE ... ii
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 ... xii
DAFTAR TABEL ... xiv
DAFTAR GAMBAR ... xv
DAFTAR RUMUS ... xvi
BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah... 3 1.3 Tujuan Penelitian ... 3 1.4 Manfaat Penelititan ... 3 1.5 Batasan Masalah ... 3 1.6 Metodologi Penelitian... 4 1.7 Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 6
2.1 Jaringan Nirkabel (Wireless) ... 6
2.2 Mobile Ad Hoc Network (MANET) ... 6
2.3 Jaringan Oportunistik ... 7
2.4 Protokol Ruting Spray and Wait ... 9
2.5 Logika Fuzzy (Fuzzy Logic) ... 11
2.5.1 Fungsi Keanggotaan ... 13
2.5.2 Operasi Logika ... 16
2.5.3 Aturan Fuzzy (Fuzzy Rules) ... 17
2.5.4 Sistem Inferensi Fuzzy ... 18
2.6 Simulator ONE (Opportunistic Networking Environment)... 20
2.7 Pergerakan pada Jaringan Oportunistik ... 21
xiii
BAB III METODE PENELITIAN ... 24
3.1 Data dan Alat Penelitian ... 24
3.1.1 Data ... 24
3.1.2 Alat Penelitian ... 30
3.2 Langkah-Langkah Pengujian ... 30
3.2.1 Studi Pustaka ... 30
3.2.2 Pengumpulan Bahan Penelitian ... 30
3.2.3 Perancangan dan Pembuatan Alat Uji ... 31
3.2.4 Pengujian ... 40
3.2.5 Analisis Hasil Pengujian ... 40
3.3 Desain Alat Uji ... 40
Pseudo-code Protokol Routing Fuzzy Logic ... 40
Pseudo-code Protokol Routing Spray and Wait with Fuzzy Logic ... 41
BAB IV PENGUJIAN DAN ANALISIS ... 42
4.1 Reality Mining by MIT... 42
4.2 Haggle 3 – Infocom 5 ... 47
BAB V KESIMPULAN DAN SARAN ... 53
5.1 Kesimpulan ... 53
5.2 Saran ... 54
DAFTAR PUSTAKA ... 55
xiv
DAFTAR TABEL
Tabel 3.1 Parameter Simulasi Setting Dataset ... 32 Tabel 3.2 Aturan Fuzzy Dataset Haggle3-Infocom5 ... 35 Tabel 3.3 Aturan Fuzzy Dataset Reality Mining by MIT ... 36
xv
DAFTAR GAMBAR
Gambar 2.1 Mekanisme Store-Carry-Forward pada Jaringan Oportunistik ... 8
Gambar 2.2 Mekanisme Spray and Wait ... 10
Gambar 2.3 Mekanisme Fuzzy Logic ... 12
Gambar 2.4 Grafik Fungsi Keanggotaan “Bilangan Real yang Dekat dengan 2 ... 14
Gambar 2.5 Fungsi Keanggotaan Segitiga (x; 2, 4, 12) ... 15
Gambar 2.6 Fungsi Keanggotaan Trapesium(x; 2, 4, 7, 12). ... 16
Gambar 2.7 Operasi Logika Fuzzy ... 17
Gambar 3.1 Cuplikan isi dataset Reality Mining by MIT ... 24
Gambar 3.2 Cuplikan isi dataset Haggle 3 – Infocom 5 ... 25
Gambar 3.3 Contoh Contact Time Duration dan Intercontact Time Duration ... 26
Gambar 3.4 Probability Density Function CTD Haggle3-Infocom5 ... 27
Gambar 3.5 Probability Density Function ITD Haggle3-Infocom5 ... 28
Gambar 3.6 Probability Density Function CTD Reality Mining by MIT ... 28
Gambar 3.7 Probability Density Function ITD Reality Mining by MIT ... 29
Gambar 3.8 Ilustrasi proses FIS Sugeno dataset Haggle3-Infocom5 ... 33
Gambar 3.9 Ilustrasi proses FIS Sugeno dataset Reality Mining by MIT ... 33
Gambar 3.10 Input variabel CTD Haggle3-Infocom5 ... 34
Gambar 3.11 Input variabel ITD Haggle3-Infocom5 ... 34
Gambar 3.12 Input variabel CTD Reality Mining by MIT ... 34
Gambar 3.13 Input variabel ITD Reality Mining by MIT ... 35
Gambar 3.14 Fuzzy Rules dataset Haggle3-Infocom 5 ... 38
Gambar 3.15 Fuzzy Rules dataset Reality Mining by MIT ... 38
Gambar 3.16 Grafik Transfer of Utility (ToU) ... 39
Gambar 4.1 Grafik Total Pesan Terkirim tiap Total Kontak (Reality) ... 42
Gambar 4.2 Grafik Total Delay (Latencies) tiap Total Kontak (Reality) ... 44
Gambar 4.3 Grafik Persentase Total pesan terkirim tiap Total Kontak (Reality) ... 46
Gambar 4.4 Grafik Total Pesan Terkirim tiap Total Kontak (Haggle3) ... 47
Gambar 4.5 Grafik Total Delay (Latencies) tiap Total Kontak (Haggle3) ... 50
xvi
DAFTAR RUMUS
Rumus 2.1 Rumus Fungsi Keanggotaan Segitiga... 14
Rumus 2.2 Rumus Fungsi Keanggotaan Trapesium... 15
Rumus 2.3 Contoh Rumus Aturan if-then Fuzzy ... 17
Rumus 2.4 Centroid of Area ... 20
Rumus 2.5 Rumus metrik Percentage Message Delivered per Total Contact ... 22
Rumus 2.6 Rumus metrik Average Latency per Total Contact ... 23
1 BAB I PENDAHULUAN 1.1 Latar Belakang
Jaringan oportunistik adalah salah satu bentuk jaringan yang tidak membutuhkan infrastruktur dimana setiap node pada jaringan ini memiliki
resource (sumber daya) dan bandwidth yang terbatas, node yang bergerak, dan
media transmisi yang beragam (dapat menggunakan bluetooth wireless, atau media lain). Dalam penerapannya, jaringan opportunistic dapat berkomunikasi dari satu node ke node yang lain dengan cara memberikan copy message (replikasi pesan) kepada node yang ia jumpai. Jaringan oportunistik adalah bagian dari jaringan bertoleransi tunda (Delay Tolerant Network) yang tetap dapat berkomunikasi walaupun tidak memiliki jalur yang terhubung antara node pengirim dan node penerima.
Routing di DTN adalah tugas yang sulit karena node tidak memiliki
informasi sebelumnya tentang semua node yang ada di jaringan termasuk node rekannya (peer) maka peluang transfer antara node peer terbatas. Lalu
path/jalur dari source ke destination tidak ada pada waktu tertentu (kadang
jalurnya tersambung, kadang jalurnya terputus). Node dalam DTN mengirimkan pesan ke tujuan menggunakan strategi store dan forward. Pesan ditransmisikan ke beberapa node relay perantara yang ditemui untuk meningkatkan peluang bagi pesan untuk mencapai tujuan.
Arsitektur DTN mengusulkan lapisan bundel sebagai overlay lapisan antara lapisan transport dan lapisan aplikasi di jaringan yang ada untuk menyediakan interoperabilitas. Dengan demikian untuk mencapai komunikasi pesan melalui intermiten koneksi melalui mekanisme store and forward. Dalam routing DTN,
buffer simpul antara diterima pesan dan meneruskannya ke tujuan atau
perantara simpul yang kemungkinan akan memenuhi tujuan. Untuk menghadapi masalah di jaringan oportunistik salah satu cara untuk mengatasinya adalah
2
menggunakan skema perutean berbasis flooding. Meskipun skema berbasis
flooding memiliki peluang pengiriman yang tinggi, mereka membuang banyak
energi dan memiliki beban yang tinggi, yang dapat secara signifikan menurunkan kinerja mereka. Selanjutnya, upaya yang diusulkan untuk secara signifikan mengurangi overhead (cost/biaya/pengeluaran) pada skema berbasis
flooding yang sering diganggu oleh penundaan/delay besar adalah protocol
berikut ini. Protokol ini disebut Spray and Wait, yang “menyemprotkan” sejumlah salinan ke dalam jaringan, dan kemudian “menunggu” sampai salah satu dari simpul/node ini sampai ke tujuan.
Dalam penelitian ini, protokol Spray and Wait digunakan untuk penyebaran pesan yang akan dikirimkan dari source ke node lain agar sampai ke
destination. Tetapi sebelum pesan dikirimkan maka tiap node akan memiliki L
(replika pesan) agar pesan lebih efektif untuk sampai ke destinasi. Untuk nilai L awal yang ditetapkan dalam penelitian ini adalah fix (diatur di awal), lalu untuk proses selanjutnya yang menjadi masalah adalah berapakah nilai L yang baik/tepat untuk dititipkan/diberikan ke node lain?. Maka dari itu salah satu cara untuk membagi L (copy) akan diadaptasi dengan logika fuzzy.
Metode ini diharapkan akan lebih memudahkan dalam pembobotan nilai kontak antar node agar lebih tepat, dan lebih efektif. Protokol Spray and Wait ini menggunakan banyak salinan pesan (multiple copy), tetapi karena adanya adaptasi dengan proses pembobotan nilai diolah dengan logika fuzzy dulu sebelum pembagian L (replika pesan), maka sebelum setiap salinan pesan didistribusikan/dikirimkan akan ada pembobotan nilai berdasarkan evaluasi durasi kontak.
3 1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dipaparkan, rumusan masalah yang didapatkan yaitu :
Berapakah nilai L yang baik/tepat untuk dititipkan/diberikan ke node lain dengan logika fuzzy?
Seberapa efektifkah kinerja protokol routing Spray and Wait dengan menggunakan logika fuzzy pada jaringan oportunistik?
1.3 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk mengetahui trade-off dari pengiriman pesan yang menggunakan logika fuzzy saat melakukan pembobotan nilai kontak tiap node sebelum penyebaran pesan tiap node dengan routing protokol Spray and Wait di jaringan oportunistik.
1.4 Manfaat Penelititan
Hasil dari penelitian ini diharapkan dapat digunakan sebagai bahan pertimbangan dalam menentukan pembobotan nilai kontak yang digunakan dalam komunikasi pada jaringan oportunistik.
1.5 Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut :
a. Protokol routing yang diuji adalah protokol routing Spray and Wait pada jaringan oportunistik.
b. Sebelum pembagian L (copy) pesan ke node lain akan ada perhitungan nilai ToU (Transfer of Utility = output logika fuzzy) di setiap terjadi kontak antar node.
c. Menggunakan The One Simulator versi 1.4.1 sebagai framework untuk mensimulasikan jaringan yang akan diteliti.
d. Menggunakan Netbeans versi 8.2 sebagai tools untuk menjalankan The One Simulator dan menggunakan bahasa pemrograman JAVA.
4 1.6 Metodologi Penelitian
Metode yang dilakukan dalam penelitian ini meliputi : 1. Studi Pustaka
Membaca referensi buku dan jurnal yang berkaitan dengan teori jaringan oportunistik, fuzzy logic, routing di jaringan oportunistik, metode system inferensi di logika fuzzy, Simulator ONE dan protokol Spray and Wait. 2. Pengumpulan Bahan Penelitian
Data yang akan digunakan untuk melakukan penelitian sudah tersedia di Internet pada alamat http://www.shigs.co.uk/index.php?page=traces. 3. Pembuatan Alat Uji
Perancangan sistem dilakukan mulai dari mengidentifikasi apa yang dilakukan oleh protokol sehingga dapat menghasilkan data hasil simulasi yang dapat dianalisis.
4. 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 protokol routing Spray and Wait. 5. Analisis Hasil Pengujian
Dalam tahap ini akan dianalisis performa unjuk kerja protokol routing sehingga diketahui trade-off dari protokol routing Spray and Wait sehingga bisa diambil kesimpulan pada kondisi yang seperti apa protokol
routing ini paling baik diterapkan.
6. Penarikan Kesimpulan
Dalam tahap ini akan dilakukan penarikan kesimpulan berdasarkan hasil dari pengujian dan hasil dari performance metric yang diperoleh dari proses analisis hasil pengujian.
1.7 Sistematika Penulisan BAB I : PENDAHULUAN
5
penelitian, manfaat penelitian, batasan masalah, metode penelitian, dan sistematika penulisan.
BAB II : LANDASAN TEORI
Bab ini berisi tentang dasar teori yang digunakan dalam penelitian yaitu teori jaringan nirkabel wireless, terori MANET, teori jaringan oportunistik, teori routing protokol Spray and Wait, teori logika fuzzy (beserta tahapan-tahapannya), teori metode system inferensi di logika fuzzy, teori Simulator ONE (Opportunistic Networking Environment), teori pergerakan jaringan oportunistik, dan metric unjuk kerja jaringan 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.
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]. Berikut ini adalah salah satu contoh jaringan nirkabel (wireless).
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.
7
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 [2]. Dibawah ini adalah jaringan yang akan mengatasi masalah di MANET yang rutingnya akan gagal karena mengasumsikan bahwa jalur/
path end to end (ujung ke ujung) itu ada padahal jalur ujung ke ujung tidak
selalu ada dan akan membuat jaringan sering terputus. 2.3 Jaringan Oportunistik
Jaringan oportunistik adalah salah satu bentuk penerapan jaringan yang tidak menggunakan infrastruktur yang mana pada jaringan ini tidak memiliki jalur antara node pengirim dan node penerima. Jaringan oportunistik adalah bagian dari jaringan bertoleransi tunda (Delay Tolerant Network) yang tetap dapat berkomunikasi walaupun tidak memiliki jalur yang terhubung antara node pengirim (titik pengirim) dan node penerima (titik penerima).
Jaringan oportunistik berkomunikasi secara wireless dimana dapat mengorganisir dirinya sendiri dan dapat beradaptasi dengan sekitar tanpa menggunakan infrastruktur. Perpindahan informasi dari source ke destination dengan menggunakan sebuah node sebagai perantara disebut dengan Routing. Fungsi dari routing adalah mencari jalur dari node source ke destination. Kemudian protokol routing yang akan pertama kali menyebarkan informasi ke
relay node. Protokol routing menentukan bagaimana node saling
berkomunikasi dan membagikan informasi sehingga memungkinkan node
source memilih rute yang optimal ke destination.
Perutean dalam jaringan yang toleran terhadap penundaan berkaitan dengan kemampuan untuk mengangkut, atau mengarahkan, data dari sumber ke tujuan, yang merupakan kemampuan mendasar yang harus dimiliki semua jaringan komunikasi. Toleransi Penundaan Jaringan (DTN) dicirikan oleh kurangnya konektivitas, sehingga mengakibatkan kurangnya jalur end-to-end.[3] Dalam lingkungan yang menantang ini, protokol routing ad-hoc populer seperti AODV
8
dan DSR gagal untuk menetapkan rute. Ini karena protokol ini mencoba untuk menetapkan rute lengkap terlebih dahulu, kemudian setelah rute dibuat, meneruskan data yang sebenarnya.
Namun, ketika jalur end-to-end sulit untuk ditetapkan, routing protokol harus mengambil pendekatan “Store - Carry - Forward”, di mana data/pesan secara bertahap dipindahkan dan disimpan di seluruh jaringan dengan harapan bahwa pada akhirnya akan mencapai tujuannya. Teknik umum yang digunakan untuk memaksimalkan kemungkinan pesan yang berhasil ditransfer adalah mereplikasi banyak salinan pesan dengan harapan bahwa seseorang akan berhasil dalam mencapai tujuannya. Berikut adalah mekanisme Store - Carry –
Forward pada jaringan oportunistik.
Gambar 2.1 Mekanisme Store-Carry-Forward pada Jaringan Oportunistik Selain karena node bergerak dan menyebabkan perubahan topologi secara terus menerus dan nilai delay yang tinggi, pada jaringan oportunistik node kesulitan untuk menentukan jumlah L copies yang sudah diberikan. Ada beberapa strategi routing untuk menentukan jumlah dari L copies yaitu
single-copy, multiple-copy dan flooding. Konsep dari single-single-copy, pesan hanya
memiliki satu replika atau salinan. Sehingga nilai cost yang dimiliki rendah, tetapi delay dari pesan yang dikirimkan oleh source ke destination tinggi dan bisa mengakibatkan hilangnya pesan karena tidak ada backup dari pesan yang dikirim.
Sedangkan untuk flooding, jika node source bertemu dengan node lain maka node source akan memberikan salinan pesan, ini berlaku setiap bertemu
9
node lain. Sehingga akan membebani jaringan karena jumlah copy pesan
banyak. Hal itu juga membuat unjuk kerja dari jaringan turun. Pada
multiple-copy, node akan menyalin pesan ke semua node yang ditemui dengan tujuan
agar delivery ratio dan nilai latency yang bagus. Jumlah copy pada
multiple-copy berada diantara 1,…N namun ketika pesan sudah sampai ke destination
ada kemungkinan bahwa pesan masih akan terus disalin atau copy karena
time-to-live belum habis. Protokol dibawah ini adalah salah satu solusi yang akan
digunakan untuk mengatasi beban jaringan yang terlalu tinggi karena jumlah
copy pesan banyak karena flooding.
2.4 Protokol Ruting Spray and Wait
Spray and Wait adalah protokol routing yang mencoba untuk mendapatkan
manfaat rasio pengiriman routing berbasis replikasi serta manfaat pemanfaatan sumber daya rendah dari routing berbasis forwarding. Spray and Wait dikembangkan oleh para peneliti di University of Southern California. Ini pertama kali dipresentasikan pada konferensi ACM SIGCOMM 2005, di bawah publikasi “Spray and Wait: Skema Perutean Efisien untuk Jaringan Seluler yang Terhubung Sesekali”. Spray and Wait mencapai efisiensi sumber daya dengan menetapkan batas atas yang ketat pada jumlah salinan per pesan yang diizinkan dalam jaringan. Tujuan utama dari Spray and Wait Routing adalah untuk mengurangi copadalah untuk mengurangi copy pesan yang terdapat di epidemic
routing protocol.
Routing Spray and Wait terdiri dari dua fase berikut :
Fase Spray : untuk setiap pesan yang berasal dari suatu source node, salinan pesan L awalnya disebarkan - diteruskan oleh sumber dan kemungkinan node lain menerima salinan - ke “relay” berbeda [4]. Di fase ini source node membuat copy pesan untuk disebarkan ke relay node. Fase spray membatasi copy pesan untuk meminimalkan penggunaan sumber daya (resource) jaringan. Pada fase spray, proses multi-cast dilakukan untuk mengirim beberapa copy pesan dari source ke relay
10
node. Jika destination tidak ditemukan dalam fase spray maka node akan
memasuki tahap “wait” dimana setiap node yang memiliki copy pesan akan menunggu sampai node tujuan ditemukan untuk menstransimikan pesan.
Fase Wait : jika tujuan tidak ditemukan dalam fase spray, masing-masing
node L yang membawa salinan pesan melakukan transmisi langsung
(yaitu akan meneruskan pesan hanya ke tujuan) [4]. Pada fase ini node diperbolehkan untuk menyampaikan pesan ke destination menggunakan transmisi secara langsung ketika time-to-live habis/berakhir.
Gambar 2.2 Mekanisme Spray and Wait
Gambar diatas adalah mekanisme dari protocol Spray and Wait. Berdasarkan mekanisme itu ada dua versi / metode utama dari protokol Spray
and Wait: vanilla/source spray dan binary spray. Sumber pesan awalnya
dimulai dengan salinan L atau L (copy). Kedua versi itu identik kecuali bagaimana salinan L mencapai L node berbeda selama fase penyemprotan. Cara paling sederhana untuk mencapai ini, dikenal sebagai versi Vanilla/Source
Spray and Wait, adalah untuk sumber untuk mengirim satu salinan pesan ke L-1
pertama L-1 node berbeda yang ditemuinya setelah pesan dibuat.
Versi/metode kedua, disebut sebagai Binary Spray and Wait. Di sini, ketika
source node sudah mulai dengan pesannya, seperti sebelumnya, dengan salinan
11
bertemu dengan node lain B (tanpa salinan), akan menyerahkan ke node B n/2 dan menyimpan n/2 untuk dirinya sendiri. Maksud dari n/2 adalah setiap node ini kemudian mentransfer setengah dari jumlah total salinan yang mereka miliki ke node lain yang mereka temui/jumpai yang tidak memiliki salinan pesan.
Jika salah satu simpul/node yang menerima salinan pesan adalah tujuan pesan, maka transmisi pesan berhasil dan sudah dianggap selesai. Jika yang dijumpai bukan langsung tujuannya maka beralih ke fase Wait (tunggu) yang menunggu peluang transmisi langsung dengan tujuan atau bisa diartikan setiap node yang memiliki salinan pesan harus membawa salinan pesan itu sampai ke tujuan. Efisiensi protokol ini bergantung pada memilih nilai ‘L’ yang optimal.
Manfaat dari Binary Spray and Wait adalah bahwa pesan disebarluaskan lebih cepat daripada versi vanilla/source spray. Binary Spray and Wait adalah metode yang optimal dalam hal penundaan minimum yang diharapkan di antara semua skema Spray and Wait. Kedua metode Binary Spray dan Source Spray masih memiliki kelemahan yaitu tetap memberikan copy pesan tanpa ada pengecekan apapun ke node relay, maka digunakanlah logika fuzzy untuk pembobotan / perhitungan nilai kontak yang akan dijadikan pedoman untuk dilakukan pengecekan nilai kontak terhadap node relay.
2.5 Logika Fuzzy (Fuzzy Logic)
Fuzzy Logic secara bahasa diartikan sebagai logika kabur atau logika
samar-samar. Logika fuzzy adalah peningkatan dari logika boolean (true atau
false) yang berhadapan dengan konsep kebenaran sebagian. Saat logika klasik
menyatakan bahwa segala hal dapat diekspresikan dalam istilah biner (0 atau 1, hitam atau putih, ya atau tidak), logika fuzzy menggantikan kebenaran boolean dengan tingkat kebenaran. Logika fuzzy memungkinkan nilai keanggotaan antara 0 dan 1, tingkat keabuan dan juga hitam dan putih, dan dalam bentuk linguistik, konsep tidak pasti seperti “sedikit”, “lumayan”, dan “sangat”. Logika ini berhubungan dengan set fuzzy dan teori kemungkinan. Logika fuzzy diperkenalkan oleh Dr. Lotfi Zadeh dari Universitas California, Berkeley pada
12 1965.
Logika fuzzy dan logika probabilitas secara matematis sama - keduanya mempunyai nilai kebenaran yang berkisar antara 0 dan 1 - namun secara konsep berbeda. Logika fuzzy berbicara mengenai “derajat kebenaran”, sedangkan logika probabilitas mengenai “probabilitas, kecenderungan”. Karena kedua hal itu berbeda, logika fuzzy dan logika probabilitas mempunyai contoh penerapan dalam dunia nyata yang berbeda.
Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input kedalam suatu ruang output, mempunyai nilai kontinyu. Fuzzy dinyatakan dalam derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu hal dapat dikatakan sebagian benar dan sebagian salah pada waktu yang sama. Berikut adalah mekanisme dari Fuzzy Logic.
Gambar 2.3 Mekanisme Fuzzy Logic
Dari tiga tahap utama dalam mekanisme Fuzzy Logic tersebut, berikut adalah bentuk penjelasan dari tahapan tersebut dengan tahap Fuzzyfication berisi pembuatan fungsi keanggotaan beserta aturan fuzzy, lalu untuk Inference berisi penggunaan aturan fuzzy di system inferensi fuzzy, dan untuk Defuzzyfication berisikan operasi logika untuk membuat nilai fuzzy menjadi nilai tegas/yang dapat dipakai selanjutnya.
13 2.5.1 Fungsi Keanggotaan
Setiap himpunan kabur dapat dinyatakan dengan suatu fungsi keanggotaan. Ada beberapa cara untuk menyatakan himpunan kabur dengan fungsi keanggotaannya. Untuk semesta berhingga yang diskret biasanya dipakai cara
daftar, yaitu daftar anggota-anggota semesta bersama dengan derajat
keanggotaannya [5].
Contoh 2.1 : Dalam semesta X = {Rudi, Eny, Linda, Anton, Ika} yang terdiri dari para mahasiswa dengan indeks prestasi berturut-turut 3.2, 2.4, 3.6, 1.6 dan 2.8 (dalam skala 0 - 4), himpunan kabur à = “himpunan mahasiswa yang pandai” dapat dinyatakan dengan cara daftar sebagai berikut :
à = 0.8 / Rudi + 0.6 / Eny + 0.9 / Linda + 0.4 / Anton + 0.7 / Ika.
Untuk semesta takhingga yang kontinu, cara yang paling sering digunakan adalah cara analitik untuk merepresentasikan fungsi keanggotaan himpunan kabur yang bersangkutan dalam bentuk suatu fungsi matematis yang dapat disajikan dalam bentuk grafik (seperti dalam Gambar 2.3).
Contoh 2.2 : Himpunan kabur à = “bilangan real yang dekat dengan 2” itu dapat pula dinyatakan dengan menggunakan fungsi keanggotaan yang lain sebagai berikut
𝜇Ã(𝑥) = {
𝑥 − 1 𝑢𝑛𝑡𝑢𝑘 1 ≤ 𝑥 ≤ 2 3 − 𝑥 𝑢𝑛𝑡𝑢𝑘 2 ≤ 𝑥 ≤ 3 0 𝑢𝑛𝑡𝑢𝑘 𝑥 𝑙𝑎𝑖𝑛𝑛𝑦𝑎 yang grafiknya adalah sebagai berikut:
14
Gambar 2.4 Grafik Fungsi Keanggotaan “Bilangan Real yang Dekat dengan 2 Dengan fungsi keanggotaan ini, 𝜇Ã(2) = 1, 𝜇Ã(1.5) = 𝜇Ã(2.5) = 0.5,
𝜇Ã(1) = 𝜇Ã(3) = 0.
Kebanyakan himpunan kabur berada dalam semesta himpunan semua bilangan real R dengan fungsi keanggotaan yang dinyatakan dalam bentuk suatu fungsi matematis [5]. Berikut akan diperkenalkan beberapa himpunan kabur macam itu yang sering digunakan.
1. Fungsi Keanggotaan Segitiga
Suatu fungsi keanggotaan himpunan kabur disebut fungsi keanggotaan segitiga jika mempunyai tiga parameter, yaitu a,b,c ∈ 𝐑 dengan a < b < c, dan dinyatakan dengan Segitiga(x;a,b,c) dengan aturan:
𝑆𝑒𝑔𝑖𝑡𝑖𝑔𝑎 (𝑥; 𝑎, 𝑏, 𝑐) = { 𝑥 − 𝑎 𝑏 − 𝑎 𝑢𝑛𝑡𝑢𝑘 𝑎 ≤ 𝑥 ≤ 𝑏 𝑐 − 𝑥 𝑐 − 𝑏 𝑢𝑛𝑡𝑢𝑘 𝑏 ≤ 𝑥 ≤ 𝑐 0 𝑢𝑛𝑡𝑢𝑘 𝑥 𝑙𝑎𝑖𝑛𝑛𝑦𝑎 Rumus 2.1 Rumus Fungsi Keanggotaan Segitiga
Grafik fungsi keanggotaan tersebut berupa suatu segitiga. Fungsi keanggotaan tersebut dapat juga dinyatakan secara lain sebagai berikut:
𝑆𝑒𝑔𝑖𝑡𝑖𝑔𝑎 (𝑥; 𝑎, 𝑏, 𝑐) = 𝑚𝑎𝑥 (𝑚𝑖𝑛 (𝑥 − 𝑎 𝑏 − 𝑎,
𝑐 − 𝑥 𝑐 − 𝑏) , 0).
15
Gambar 2.5 Fungsi Keanggotaan Segitiga (x; 2, 4, 12)
2. Fungsi Keanggotaan Trapesium
Suatu fungsi keanggotaan himpunan kabur disebut fungsi keanggotaan trapesium jika mempunyai empat parameter, yaitu a,b,c,d ∈ 𝑹 dengan a < b < c < d, dan dinyatakan dengan Trapesium(x;a,b,c,d) dengan aturan : 𝑇𝑟𝑎𝑝𝑒𝑠𝑖𝑢𝑚 (𝑥; 𝑎, 𝑏, 𝑐, 𝑑) = { 𝑥 − 𝑎 𝑏 − 𝑎 𝑢𝑛𝑡𝑢𝑘 𝑎 ≤ 𝑥 ≤ 𝑏 1 𝑢𝑛𝑡𝑢𝑘 𝑏 ≤ 𝑥 ≤ 𝑐 𝑑 − 𝑥 𝑑 − 𝑐 𝑢𝑛𝑡𝑢𝑘 𝑐 ≤ 𝑥 ≤ 𝑑 0 𝑢𝑛𝑡𝑢𝑘 𝑥 𝑙𝑎𝑖𝑛𝑛𝑦𝑎 Rumus 2.2 Rumus Fungsi Keanggotaan Trapesium
Grafik fungsi keanggotaan tersebut berupa suatu trapesium. Fungsi keanggotaan tersebut dapat juga dinyatakan secara lain sebagai berikut :
𝑇𝑟𝑎𝑝𝑒𝑠𝑖𝑢𝑚 (𝑥; 𝑎, 𝑏, 𝑐, 𝑑) = 𝑚𝑎𝑥 (𝑚𝑖𝑛 (𝑥 − 𝑎 𝑏 − 𝑎, 1,
𝑑 − 𝑥 𝑑 − 𝑐) , 0). Gambar 2.5 menyajikan grafik fungsi keanggotaan Trapesium(x; 2, 4, 7, 12).
16
Gambar 2.6 Fungsi Keanggotaan Trapesium(x; 2, 4, 7, 12).
Secara umum, ada enam bentuk umum fungsi keanggotaan: Fungsi Keanggotaan Segitiga, Fungsi Keanggotaan Trapesium, Fungsi Keanggotaan Gauss, Fungsi Keanggotaan Cauchy, Fungsi Keanggotaan Sigmoid, dan Fungsi Keanggotaan Kiri-Kanan. Terlepas dari bentuk keanggotaan, satu Membership Function hanya dapat mendefinisikan satu
fuzzy set. Biasanya, lebih dari satu Membership Function digunakan untuk
itu mendeskripsikan variabel input tunggal. Misalnya konsumsi bahan bakar mobil, a sistem fuzzy tiga tingkat dengan fuzzy set 'Low', 'Medium' dan 'High' berlaku untuk mewakili seluruh situasi.
2.5.2 Operasi Logika
Karena standar logika biner adalah kasus khusus pada fuzzy logic dimana nilai keanggotaan selalu 1 (sepenuhnya benar) atau 0 (sepenuhnya salah), fuzzy
logic harus memegang operasi logis yang konsisten sebagai standar operasi
logis. Yang paling mendasari operasi logis adalah AND, OR dan NOT. Tidak seperti operasi logis standar, operator A dan B adalah nilai keanggotaan dalam interval [0, 1]. Dalam operasi logis pada fuzzy logic, operator logika AND diekspresikan oleh fungsi min, jadi pernyataan A AND B sama dengan min (A,
B). Logical OR didefinisikan oleh function max, sehingga A OR B menjadi
setara dengan max (A, B). Dan operator logika NOT membuat operasi NOT A menjadi operasi 1 – A.
17
Gambar 2.7 Operasi Logika Fuzzy
2.5.3 Aturan Fuzzy (Fuzzy Rules)
Dalam proses 𝑓𝑢𝑧𝑧𝑦 𝑖𝑛𝑓𝑒𝑟𝑒𝑛𝑐𝑒, aturan If-Then paralel membentuk mekanisme deduksi yang menunjukkan bagaimana memproyeksikan variabel input ke ruang output. Sebuah aturan fuzzy If-Then mempunyai bentuk sebagai berikut: 𝒊𝒇 𝑥 𝒊𝒔 𝐴, 𝒕𝒉𝒆𝒏 𝑦 𝒊𝒔 𝐵
Rumus 2.3 Contoh Rumus Aturan if-then Fuzzy
Bagian if yang pertama disebut anteseden [6], di mana x adalah variabel input. Sisanya, bagian selanjutnya adalah disebut konsekuensi [6], dan y adalah variabel output. Alasan mengapa pernyataan yang bersyarat If-Then dapat diterapkan secara universal adalah karena A dan B adalah nilai linguistik, atau kata sifat dalam banyak kasus, dan bentuk pernyataan bersyarat ini bekerja dengan cara yang sesuai dengan penilaian manusia. Sebagai contoh, aturan If-Then yang tepat mungkin adalah “Jika material kekerasan itu sulit, Maka kecepatan potong lambat”. A dapat dianggap sebagai fuzzy set dan didefinisikan oleh fungsi keanggotaan tertentu, dan B dapat berupa fuzzy set atau polinomial dengan sehubungan dengan input x tergantung pada metode inferensi fuzzy tertentu. Dalam anteseden, IF bagian ini bertujuan untuk mengetahui nilai keanggotaan dari variabel input x yang sesuai dengan fuzzy set A. Sementara di bagian konsekuen, bagian-Then memberikan nilai himpunan tegas ke output variabel y [6].
18 2.5.4 Sistem Inferensi Fuzzy
Fuzzy Inference (Inferensi Fuzzy) adalah proses pemetaan variabel input
yang diberikan ke ruang output melalui mekanisme deduksi berbasis fuzzy logic yang terdiri dari aturan If-Then, fungsi keanggotaan dan operasi logika fuzzy. Karena bentuk aturan If-Then cocok pada penalaran manusia, dan fuzzy logic mendekati kebiasaan linguistik manusia, proses inferensi ini memproyeksikan himpunan tegas ke dalam bahasa manusia dan segera menghasilkan nilai yang tepat sebagai hasilnya diadopsi secara luas [6].
Sistem Inferensi Fuzzy merupakan suatu kerangka komputasi yang didasarkan pada teori himpunan Fuzzy, aturan Fuzzy berbentuk IF-THEN, dan penalaran Fuzzy. Secara garis besar, diagram blok proses inferensi Fuzzy. Sistem inferensi fuzzy menerima input crisp. Input ini kemudian dikirim ke basis pengetahuan yang berisi n aturan fuzzy dalam bentuk IF-THEN. Fire
strength akan dicari pada setiap aturan. Apabila jumlah aturan lebih dari satu,
maka akan dilakukan agregasi dari semua aturan. Selanjutnya, pada hasil agregasi akan dilakukan defuzzy untuk mendapatkan nilai crisp sebagai output sistem. Output hasil inferensi dari tiap-tiap aturan diberikan secara tegas (crisp) bedasarkan α-predikat (fire strength). Proses agregasi antar aturan dilakukan, dan hasil akhirnya diperoleh dengan menggunakan defuzzy dengan konsep rata-rata terbobot.
Secara umum, ada tiga jenis metode fuzzy inference diusulkan dalam literatur: Mamdani Fuzzy Inference, Sugeno Fuzzy Inference, and Tsukamoto
Fuzzy Inference. Ketiganya metode dapat dibagi menjadi dua proses [6]. Proses
pertama adalah 𝑓𝑢𝑧𝑧𝑖𝑓𝑖𝑘𝑎𝑠𝑖 [6] nilai-nilai tegas variabel input ke dalam fungsi keanggotaan sesuai dengan fuzzy set yang sesuai, dan ini tiga metode persis sama dalam proses ini. Sedangkan perbedaan terjadi pada proses kedua ketika hasil semua aturan diintegrasikan ke dalam nilai tunggal yang tepat untuk keluaran. Dalam inferensi Mamdani, konsekuensi dari aturan If-Then didefinisikan oleh himpunan fuzzy. Output dari fuzzy set setiap aturan tersebut
19
akan dibentuk kembali dengan nomor yang cocok, dan defuzzifikasi [6] diperlukan setelah menggabungkan semua fuzzy set yang dibentuk sudah kembali. Berikut adalah implementasi dari mekanisme metode inferensi fuzzy, dengan tanda kotak garis putus-putus.
Gambar 2.8 Mekanisme Metode Inferensi
Proses defuzzifikasi adalah proses terakhir Inferensi fuzzy yang melaluinya dikombinasikan fuzzy set dari proses agregasi akan menghasilkan kuantitas skalar tunggal. Defuzzifikasi adalah proses kebalikan dari fuzzifikasi. Sejak dulu prosedur nilai nilai yang tajam dari variabel input fuzzifikasi ke dalam derajat keanggotaan sehubungan dengan fuzzy set. Prosedur terakhir yang tepat dari kisaran fuzzy diatur ke variabel output. Defuzzifikasi adalah proses pemetaan variabel input yang diberikan ke ruang output melalui mekanisme deduksi berbasis logika fuzzy yang terdiri dari aturan IF-Then, fungsi keanggotaan, dan juga operator logika fuzzy bias dilihat pada Gambar 2.5 menunjukan gambaran proses agreagsi pada setiap aturan. Evaluasi aturan
Fuzzy mengimplementasi operator MIN untuk operasi AND. Karena bentuk
aturan IF-Then cocok pada penalaran manusia, dan fuzzy logic mendekati kebiasaan lingusitik seseorang, proses inferensi ini memproyeksikan jumlah bilangan himpunan tegas ke dalam bahasa manusia dan segera menghasilkan nilai yang tepat sebagai hasilnya untuk diadopsi secara luas. Defuzzifikasi menggunakan metode Centroid of Area dengan rumus sebagai berikut:
𝒛𝑪𝑶𝑨= ∑ 𝝁𝒛 𝑨(𝒛) ∙ 𝒛𝒅𝒛 ∑ 𝝁𝑨(𝒛) 𝒁𝑪𝑶𝑨 = 𝑶𝒖𝒕𝒑𝒖𝒕
20
𝝁𝑨(𝒛) = 𝑴𝒆𝒎𝒃𝒆𝒓𝒔𝒉𝒊𝒑 𝒇𝒖𝒏𝒄𝒕𝒊𝒐𝒏 𝒐𝒇 𝒕𝒉𝒆 𝒂𝒈𝒈𝒓𝒆𝒈𝒂𝒕𝒆𝒅 𝒇𝒖𝒛𝒛𝒚 𝒔𝒆𝒕 𝑨
Rumus 2.4 Centroid of Area
Tapi dalam inferensi Sugeno, konsekuensi dari aturan If-Then dijelaskan oleh polinomial sehubungan dengan variabel input, dengan demikian output dari setiap aturan adalah angka tunggal. Maka mekanisme pembobotan diimplementasikan untuk mengetahui hasil akhir yang tajam. Inferensi Tsukamoto seperti kombinasi Mamdani dan metode Sugeno, tetapi bahkan kurang transparan dari kedua model ini. Di bawah ini adalah framework yang akan digunakan untuk melakukan simulasi penelitian yang dilakukan penulis.
Framework yang akan digunakan adalah Simulator ONE.
2.6 Simulator ONE (Opportunistic Networking Environment)
Simulator ONE merupakan sebuah simulator yang digunakan untuk melakukan simulasi komunikasi pada Jaringan Oportunistik. Pada simulator ONE, ada beberapa keadaan yang bisa diatur sesuai kebutuhan, antara lain model pergerakan node, protokol routing OppNet yang digunakan oleh penerima dan pengirim, dan visualisasi pergerakan dan persebaran pesan secara
real time pada tampilan grafis yang disediakan. Pada simulator ONE juga
tersedia fitur pelaporan pesan yang terkirim dan data statistik secara umum setelah simulasi selesai dijalankan. Simulator ini menggunakan platform pemrograman bahasa Java.
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 ini juga mampu melakukan import terhadap eksternal mobility
meskipun di dalamnya sudah tersedia seperti ketika akan mengunakan pergerakan real human trace [8]. Lalu untuk hasil akhirnya akan diimplementasikan / digambarkan melalui report. Dibawah ini adalah pergerakan yang akan digunakan dalam penelitian.
21
2.7 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, salah satunya adalah pergerakan manusia.
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. Dibawah ini adalah metric unjuk kerja jaringan yang akan digunakan dalam penelitian ini.
2.8 Metrik Unjuk Kerja Jaringan
Untuk mengetahui performa dari sebuah protokol routing, dibutuhkan beberapa metrik unjuk kerja jaringan. Dalam penelitian ini, ada 3 metrik unjuk kerja jaringan yang akan digunakan. Ketiga metrik unjuk kerja jaringan yang digunakan adalah percentage message delivered per total contact, average
latency per total contact, number of message delivered per total contact.
Cara menghitung nilai metrik unjuk kerja message delivered, latency
22
kelas MessageStatsReport pada simulator ONE versi 1.4.1 yang dapat diunduh pada laman https://www.netlab.tkk.fi/tutkimus/dtn/. Penjelasan ketiga metric adalah sebagai berikut:
a. Number of Message Delivered per Total Contact
Number of Message Delivered merupakan metrik unjuk kerja
jaringan yang digunakan untuk mengetahui jumlah pesan keseluruhan yang terkirim (sampai ke destinasi) tiap total kontak. Semakin tinggi nilai
Number of Message Delivered yang dihasilkan maka unjuk kerja protokol
routing dapat dikatakan semakin baik, karena semakin banyak pesan yang terkirim.
b. Percentage Message Delivered per Total Contact
Percentage Message Delivered Per Total Contact merupakan metrik
unjuk kerja jaringan yang digunakan untuk mengetahui ratio keberhasilan pesan yang berhasil dikirimkan ke tujuan (destination). Semakin tinggi
Percentage Message Delivered yang dihasilkan maka unjuk kerja
protokol routing dapat dikatakan semakin baik. Rumus dari metric tersebut adalah sebagai berikut :
𝑃𝑒𝑟𝑐𝑒𝑛𝑡𝑎𝑔𝑒 𝑀𝑒𝑠𝑠𝑎𝑔𝑒 𝐷𝑒𝑙𝑖𝑣𝑒𝑟𝑒𝑑 = 𝑁𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑒𝑑 𝑁𝑐𝑟𝑒𝑎𝑡𝑒𝑑
× 100 𝑁𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑒𝑑 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑒𝑠𝑎𝑛 𝑇𝑒𝑟𝑘𝑖𝑟𝑖𝑚
𝑁𝑐𝑟𝑒𝑎𝑡𝑒𝑑 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑝𝑒𝑠𝑎𝑛 𝑑𝑖𝑏𝑢𝑎𝑡
Rumus 2.5 Rumus metrik Percentage Message Delivered per Total Contact c. Average Latency per Total Contact
Average delay merupakan metric unjuk kerja jaringan yang
digunakan untuk mengetahui rata-rata delay (waktu tunda) pesan yang sampai ke destination sejak pesan dibuat. Semakin tinggi nilai Average
latency yang dihasilkan maka unjuk kerja protokol routing dapat
dikatakan semakin buruk. Rumus dari metrik tersebut adalah sebagai berikut :
23
𝐴𝑣𝑒𝑟𝑎𝑔𝑒 𝐿𝑎𝑡𝑒𝑛𝑐𝑦 = (𝑤𝑎𝑘𝑡𝑢 𝑝𝑒𝑠𝑎𝑛 𝑡𝑒𝑟𝑘𝑖𝑟𝑖𝑚 − 𝑤𝑎𝑘𝑡𝑢 𝑝𝑒𝑠𝑎𝑛 𝑑𝑖𝑏𝑢𝑎𝑡) 𝑗𝑢𝑚𝑙𝑎ℎ 𝑝𝑒𝑠𝑎𝑛 𝑡𝑒𝑟𝑘𝑖𝑟𝑖𝑚
24 BAB III
METODE PENELITIAN 3.1 Data dan Alat Penelitian
3.1.1 Data
Data yang akan digunakan di penelitian ini adalah Human contact
datasets. Datasets ini merupakan kumpulan data pertemuan yang dicatat
menggunakan perangkat nirkabel seluler dalam berbagai eksperimen penambangan data. Datasets yang akan digunakan di penelitian ini ada 2, diantaranya adalah 𝑅𝑒𝑎𝑙𝑖𝑡𝑦 𝑀𝑖𝑛𝑖𝑛𝑔 𝑏𝑦 𝑀𝐼𝑇 dan 𝐻𝑎𝑔𝑔𝑙𝑒 3 − 𝐼𝑛𝑓𝑜𝑐𝑜𝑚 5 dengan penjelasan dibawah ini.
Dataset Reality Mining by MIT
Dataset ini berisikan data pertemuan antar pelajar dari 2
fakultas di Universitas MIT. Jumlah partisipan yang digunakan dalam simulasi ini sebanyak 75 pelajar Fakultas Media Laboratory dan 25 pelajar dari Fakultas Business. Dari 100 partisipan yang dipilih, device yang menghasilkan data yang valid dan dapat digunakan untuk melakukan penelitian sebanyak 97. Durasi simulasi pada dataset ini adalah 16981816 detik, sekitar 4,46 bulan. Berikut adalah cuplikan isi dari dataset tersebut dengan keterangan dari kolom kiri ke kanan adalah waktu kontak, keterangan kontak (CONN), node yang memulai koneksi/kontak, node yang sedang terkoneksi/terkontak, dan status memulai koneksi (up) atau selesai koneksi (down).
25
Dataset Haggle 3 – Infocom 5
Dataset ini berisikan data pertemuan antar partisipan pada
konferensi IEEE Infocom di Miami. Setiap partisipan diberi device
(iMotes) yang digunakan untuk mencatat data pertemuan antar
partisipan. Dari 50 partisipan yang dipilih, device yang menghasilkan data yang valid dan dapat digunakan untuk melakukan penelitian sebanyak 41 device. Durasi simulasi pada
dataset ini adalah 274883 detik, sekitar 3,18 hari. Berikut adalah
cuplikan isi dari dataset tersebut dengan keterangan seperti yang ada di dataset sebelumnya.
Gambar 3.2 Cuplikan isi dataset Haggle 3 – Infocom 5
Lalu kedua dataset 𝑅𝑒𝑎𝑙𝑖𝑡𝑦 𝑀𝑖𝑛𝑖𝑛𝑔 𝑏𝑦 𝑀𝐼𝑇 dan 𝐻𝑎𝑔𝑔𝑙𝑒 3 − 𝐼𝑛𝑓𝑜𝑐𝑜𝑚 5 akan dipilah dulu seperti contoh dibawah ini dengan mengelompokkan durasi kontak pertemuan (Contact Time Duration), jeda waktu bertemu kembali (Intercontact Time Duration) agar didapatkan data yang valid yang digunakan sebagai input variable di proses logika fuzzy. Waktu pertemuan dua buah node (misalnya node A dan B) dapat didefinisikan secara sederhana yaitu waktu ketika node A menyadari adanya kehadiran node B dalam satu radio range.
Begitu juga sebaliknya ketika node B menyadari adanya kehadiran
node A karena keduanya bisa memiliki waktu kontak yang berbeda
dengan node yang pertama adalah yang memulai koneksi dan node satunya yang terkoneksi. Dalam hal ini node merupakan implementasi
26
dari sebuah titik (perangkat nirkabel seluler/seseorang yang akan melakukan komunikasi). Berikut adalah penjelasan dari Contact Time
Duration dan Intercontact Time Duration.
Contact Time Duration (CTD) atau durasi/waktu kontak pertemuan
DCT adalah durasi/waktu kontak pertemuan suatu node dengan node lain (waktu kontak suatu node dengan node lain saat dia down
(koneksi berakhir) dikurangi waktu kontak suatu node dengan node lain saat dia up (koneksi dimulai)).
Intercontact Time Duration (ITD) atau durasi/waktu jeda bertemu kembali
ITD adalah jeda durasi/waktu bertemu kembali suatu node dengan node lain (waktu kontak suatu node dengan node lain saat dia up
kembali setelah koneksi sebelumnya berakhir (koneksi setelah dia berhenti) dikurangi waktu kontak suatu node dengan node lain saat dia down sebelum dia memulai koneksi (berhenti setelah memulai koneksi)).
Ilustrasi sederhananya adalah sebagai berikut:
Gambar 3.3 Contoh Contact Time Duration dan Intercontact Time Duration Input variabel yang digunakan dalam penelitian ini dibagi menjadi 2 seperti pengelompokan tadi yaitu, Contact Time Duration dan Non-
Intercontact Time Duration. Sedangkan variabel output dari proses
logika fuzzy dengan mengolah kedua inputan tadi bernama ToU (Transfer of Utility) yang nantinya akan digunakan untuk nilai
27
pembanding dalam pembobotan/pembagian copy pesan sebelum dikirimkan.
Setelah data inputan diketahui dan dikelompokkan menjadi 2 inputan tadi, maka perlu dilakukan pengklasifikasian data (membagi/ mengelompokkan data) agar data tersebut bisa di proses ke tahapan selanjutnya dalam logika fuzzy. Untuk menentukan batas dari setiap tingkatan di fungsi keanggotaan pada himpunan Fuzzy, dibutuhkan sebaran data dari setiap dataset yang dipakai.
Batas fungsi keanggotan pada setiap input variabel pada setiap
dataset berbeda-beda dan tidak bisa di sama ratakan. Sebaran data yang
telah diolah lalu akan dibuat menjadi Probability Density Function (PDF) dari variabel Contact Time Duration (CTD) dan Intercontact
Time Duration (ITD) pada dataset Reality Mining by MIT dan Haggle 3-Infocom 5 dibawah ini.
28
Gambar 3.5 Probability Density Function ITD Haggle3-Infocom5
29
Gambar 3.7 Probability Density Function ITD Reality Mining by MIT
Probability Density Function (PDF) atau fungsi probabilitas
kerapatan adalah fungsi yang nilainya pada sampel tertentu (atau titik) dalam ruang sampel (sekumpulan nilai yang mungkin diambil oleh variable acak) dapat ditafsirkan sebagai memberikan kemungkinan relative bahwa nilai variabel acak akan sama dengan sampel itu.
Dengan kata lain, selama kemungkinan absolut untuk variable acak kontinu digunakan untuk mengambil nilai tertentu adalah 0 (karena ada set nilai tak terbatas yang mungkin untuk memulai dengan). Nilai PDF pada dua sampel berbeda (CTD dan ITD) dapat digunakan untuk menyimpulkan, dalam penarikan tertentu dalam variabel acak, seberapa besar kemungkinan variabel acak akan sama dengan satu sampel dibandingkan dengan sampel lainnya.
Grafik PDF tersebut didapat dari banyaknya sebaran data yang sebelumnya dilakukan analisis offline terhadap dataset yang akan digunakan. Terlihat jelas bahwa setiap dataset memiliki karakteristik yang berbeda beda. Penelitian ini sangat bergantung pada PDF yang ada untuk menentukan batas-batas pembagian tingkatan fungsi keanggotaan yang akan di implementasikan kedalam aturan fuzzy.
30 3.1.2 Alat Penelitian
Hardware
PC dengan spesifikasi :
- Sistem operasi : Windows 10 Pro 64-bit
- Prosesor : Intel(R) Core(TM) i7-6700 CPU 3.40 GHz
- Memori : 8 GB RAM Software
- Netbeans
Netbeans merupakan salah satu aplikasi yang digunakan untuk pemrograman dan banyak bahasa pemrograman yang bisa ditambahkan di aplikasi ini. Netbeans terkenal dengan platform Java IDE, C/C++, JavaScript, dan PHP IDE yang dapat dikembangkan untuk membuat aplikasi desktop, web, dan cloud IDE. Netbeans dalam hal ini digunakan sebagai alat untuk menjalankan simulator ONE dan bahasa pemrograman JAVA. - Simulator ONE
Penjelasan tentang simulator ONE sudah ditulis dalam landasan teori Simulator ONE, BAB II.
3.2 Langkah-Langkah Pengujian
Metode yang dilakukan dalam penelitian ini meliputi tahapan sebagai berikut:
3.2.1 Studi Pustaka
Studi pustaka dilakukan dengan membaca referensi buku dan jurnal yang berkaitan dengan penelitian ini seperti yang tertulis di BAB I.
3.2.2 Pengumpulan Bahan Penelitian
Analisis kelas Java, Java Collection dan struktur data yang dibutuhkan untuk mengimplementasikan pendekatan reliability pada
31
contact datasets sudah tersedia online di Internet http://www.shigs.co.uk/index.php?page=traces. Peneliti hanya perlu mengunduh data pada link yang tersedia.
Lalu data tersebut diolah dengan menggunakan bahasa pemrograman
AWK dan Shell agar bisa mendapatkan sebaran data yang valid untuk
membuat grafik PDF yang akan digunakan untuk mendapatkan keterangan mengenai karakteristik dataset dan mendapatkan sampel untuk membuat batas-batas dari pembagian tingkatan fuzzy logic dari
dataset.
3.2.3 Perancangan dan Pembuatan Alat Uji
Perancangan sistem dilakukan mulai dari mengidentifikasi apa yang dilakukan oleh protokol sehingga dapat menghasilkan data hasil simulasi yang dapat dianalisis. Pembuatan rancangan sistem dimulai dengan penggunaan beberapa skenario diantara lain:
a. Jumlah node tetap
b. Jumlah kuota L (jumlah copy) awal fixed
c. Pembagian copy pesan atau L copies yang akan dibagikan/dikirimkan berdasarkan hasil dari perhitungan nilai ToU yang dibandingkan
d. Pergerakan node menggunakan pergerakan manusia dengan 2 dataset (Reality Mining by MIT dan Haggle 3 – Infocom 5).
Selain scenario pengujian, ada juga perancangan parameter simulasi setting seperti dibawah ini.
Parameter Pergerakan Manusia (Reality Mining by MIT)
Pergerakan Manusia (Haggle 3 - Infocom 5)
Type Jaringan Bluetooth Bluetooth
Jumlah Node 97 41
Waktu Simulasi
32
Skenario tersebut akan disimulasikan di The One Simulator dengan menggunakan protokol Spray and Wait yang berjalan di aplikasi NetBeans. Untuk membuat alat ujinya juga akan ada proses penghitungan nilai kontak dengan cara seperti mekanisme Fuzzy Logic pada BAB II (Gambar 2.3). Langkah pengujiannya adalah seperti dibawah ini.
Mengolah data inputan (X,Y) di tahap Fuzzifikasi
Semua parameter input adalah nilai crisp (tegas) dan nilai tegas ini disediakan sebagai input yang akan diolah ke proses logika fuzzy. Proses fuzzifikasi mengubah data / nilai tegas (crisp) menjadi fuzzy
set (nilai kabur) dengan menggunakan fungsi keanggotaan.
Dalam kasus ini, variabel masukan (input variabel) yang akan digunakan adalah Contact Time Duration (CTD) dan Intercontact
Time Duration (ITD) yang dibagi menjadi 5 fungsi keanggotaan
untuk setiap variabel, yaitu Very Low, Low, Medium, High, dan
Very High untuk Contact Time Duration. Untuk Intercontact Time Duration yaitu Very Low, Low, Medium, High, dan Very High.
Waktu TTL 20160 min (2 minggu) 360 min (1 minggu) Kecepatan Transmisi 2 Mbps (250 kbps) 2 Mbps (250 kbps) Jarak Transmisi 10 meter 10 meter
Besar Pesan 20 KB 250 KB sampai 300 KB
Besar Buffer 20 MB 10 MB Interval pembuatan pesan 1160 detik - 1240 detik (3 pesan / detik) 1160 detik - 1240 detik (3 pesan / detik) Pergerakan node
2.5 meter - 4.5 meter per detik
0.5 meter 1.4 meter per detik Tabel 3.1 Parameter Simulasi Setting Dataset
33
Rentang nilai fungsi keanggotaan tersebut ditentukan berdasarkan karakteristik dari dataset (grafik PDF sebelumnya) yang digunakan pada penelitian ini. Dan rentang nilai pada setiap
dataset yang digunakan berbeda-beda dan tidak bisa digeneralisasi.
Karena karakteristik setiap dataset yang digunakan pada simulasi sangatlah berbeda satu sama lain. Dibawah ini adalah proses ilustrasi metode FIS (Fuzzy Inference System) dengan sugeno di dataset Haggle 3 – Infocom 5 dan Reality Mining by MIT.
Gambar 3.8 Ilustrasi proses FIS Sugeno dataset Haggle3-Infocom5
Gambar 3.9 Ilustrasi proses FIS Sugeno dataset Reality Mining by MIT Setelah itu akan dibuat batas tingkatan fungsi keanggotaan
fuzzy logic berdasarkan grafik PDF sebelumnya dan berdasarkan 2 input variabel sebelumnya, pembagiannya digambarkan menjadi
34
Gambar 3.10 Input variabel CTD Haggle3-Infocom5
Gambar 3.11 Input variabel ITD Haggle3-Infocom5
35
Gambar 3.13 Input variabel ITD Reality Mining by MIT
Setelah itu semua batas nilai beserta tingkatan ini diimplementasikan ke routing protokol Spray and Wait.
Aturan Fuzzy (Fuzzy Rules)
Basis pengetahuan Fuzzy Logic ditentukan oleh aturan 𝑓𝑢𝑧𝑧𝑦. Aturan fuzzy dalam konteks ini mengacu pada kedua karakteristik inputan (CTD dan ITD) yang memiliki sifat saling bertolak belakang. CTD yang merupakan durasi/waktu kontak pertemuan suatu node dengan node lain akan cenderung semakin bagus ketika tingkat/level pembagiannya semakin tinggi. Sementara untuk ITD akan semakin bagus ketika tingkat/level pembagiannya semakin rendah. Berikut adalah bentuk penggambaran aturan fuzzy dari kedua input variabel tersebut.
Contact Time Duration (CTD) Very
Low Low Medium High
Very High Intercontact Time Duration (ITD) Very Low mf 5 mf 10 mf 15 mf 20 mf 25 Low mf 4 mf 9 mf 14 mf 19 mf 24 Medium mf 3 mf 8 mf 13 mf 18 mf 23 High mf 2 mf 7 mf 12 mf 17 mf 22 Very High mf 1 mf 6 mf 11 mf 16 mf 21 Tabel 3.2 Aturan Fuzzy Dataset Haggle3-Infocom5