1 BAB I PENDAHULUAN 1.1 Latar Belakang Wibling et al. (2004) menyatakan bahwa Mobile Ad Hoc Network (MANET) adalah jaringan komputer bersifat spontan, yang berkomunikasi melalui suatu media nirkabel. Setiap node dapat bergabung atau memisahkan diri kapan saja, serta bebas bergerak sesuai keinginan. MANET tidak memiliki infrastruktur terpusat, seluruh node yang berpartisipasi berfungsi sebagai node akhir dan router. Area transmisi radio pada MANET terbatas, paket-paket menuju node penerima dialihkan melalui beberapa node penengah untuk mencapai node yang berada di luar area transmisi langsung. Menurut Corson dan Macker (1999), tujuan dari MANET adalah untuk mengembangkan sifat mobilitas ke dalam suatu alam yang bersifat autonomous, mobile, dan wireless domain. Pada MANET, sekumpulan node yang terdiri dari kombinasi beberapa router dan host membentuk infrastruktur routing jaringan dalam mode ad hoc. Performa dari MANET bergantung pada skema routing yang digunakan. Jaringan MANET memiliki sebuah topologi yang dinamis, dimana setiap node dapat bergerak secara acak, kondisi penyebaran radio berubah dengan cepat sepanjang waktu, serta bandwidth yang terbatas. Sejak mobile host ditenagai oleh baterai, penggunaan energi baterai secara efisien sangatlah penting. Umur baterai dapat mempengaruhi performa komunikasi jaringan secara keseluruhan. Ketika suatu node kehabisan energi, node tidak akan berfungsi dan menyebabkan terjadinya pembagian jaringan. Protokol routing tradisional cenderung menggunakan shortest-path algorithm, tanpa mempertimbangkan pemakaian energi sehingga laju pengurangan energi dapat terjadi secara drastis pada sejumlah kecil subset node. Kondisi tersebut akan semakin bertambah ketika adanya beban lalu lintas yang berat (Rango et al., 2008). 1 2 Protokol routing diklasifikasikan menjadi protokol routing proaktif, reaktif dan hybrid. Klasifikasi ini berdasarkan pada metode dalam mengelola informasi rute di dalam protokol. Menurut McCabe et al. (2005), protokol routing proaktif adalah protokol routing dimana seluruh node melakukan pertukaran informasi routing secara berkala. Hal ini ditujukan agar rute pada setiap tujuan yang bisa dicapai dapat segera tersedia ketika dibutuhkan. Contoh protokol routing proaktif adalah Optimized Link State Routing (OLSR) (Jacquet dan Clausen, 2001), dan The Babel Routing Protocol (Chroboczek, 2011). Protokol routing reaktif adalah protokol routing yang mencari rute hanya ketika dibutuhkan oleh arus lalu lintas pengguna. Contoh protokol routing reaktif adalah Ad-hoc On demand Distance Vector (AODV) (Perkins dan Royer, 1999), dan Dynamic Source Routing (DSR) (Johnson dan Maltz, 2001). Menurut Rango et al. (2008), banyak protokol routing proaktif dan reaktif telah diusulkan dari berbagai perspektif dimana protokol-protokol tersebut mencoba untuk memenuhi berbagai properti seperti implementasi terdistribusi, penggunaan bandwidth, kapasitas baterai, optimalisasi metric, konvergensi rute yang cepat dan loop freedom. Optimized Link State Routing (OLSR) adalah protokol routing yang didasarkan pada link-state algorithm dan bersifat proaktif, protokol ini banyak digunakan dan dikembangkan sehingga berbagai macam studi terus dilakukan untuk memperbaiki serta meningkatkan kinerja protokol OLSR (Jacquet dan Clausen, 2001). OLSR tradisional memberikan keunggulan dalam menemukan rute di antara dua node di dalam jaringan dalam waktu yang singkat dikarenakan polanya yang proaktif, namun OLSR dapat menghabiskan banyak sumber daya dalam proses pemilihan node Multi Point Relay (MPR) serta dalam pertukaran informasi Topology Control. Node MPR merupakan sekumpulan node tetangga yang berjarak 1 hop dari suatu node, serta memiliki status Willingness . Sekumpulan node MPR tersebut bertugas untuk melakukan forwarding pesan dan paket (Rango et al., 2008). Rango et al. (2008) melakukan penelitian dengan memodifikasi OLSR tradisional menjadi Energy Efficient Optimized Link State Routing (EE-OLSR). 3 Hasil penelitian tersebut menunjukkan bahwa protokol ini dinyatakan dapat meningkatkan tingkat efisiensi energi untuk memperpanjang umur jaringan tanpa adanya pengurangan pada performa. Proses simulasi yang dilakukan pada penelitian tersebut hanya menghasilkan perbandingan pemakaian energi oleh protokol jaringan EE-OLSR yang dinyatakan lebih rendah daripada protokol jaringan OLSR sebelumnya. Penelitian tersebut tidak menunjukkan pada proses apakah dan pada waktu apa jumlah energi yang digunakan oleh node EE-OLSR menjadi lebih kecil daripada node OLSR. Penelitian yang dilakukan pada tesis ini berfokus pada teknik Model Checking yang mampu menunjukkan pada waktu apa dan keadaan seperti apa suatu sistem memenuhi properti yang diberikan dan apakah terdapat design flaw atau subtle error pada sistem. Pada setiap protokol routing MANET, aspek waktu merupakan hal yang penting. Aspek waktu ditentukan oleh formula yang tergantung pada properti yang telah ditentukan oleh standar protokol routing itu sendiri. Model Checking adalah suatu teknik verifikasi yang menyelidiki seluruh kemungkinan system state dengan cara brute force. Menurut (Paar dan Pelzl, 2010), cara brute force adalah suatu teknik penyelesaian masalah yang melakukan perhitungan sistematis terhadap seluruh kandidat solusi yang mungkin, kemudian melakukan pemeriksaan apakah tiap kandidat memenuhi pernyataan masalah yang diberikan. Teknik Model Checking mirip dengan program catur komputer yang memeriksa seluruh langkah yang mungkin dilakukan. Model Checker adalah tool yang melakukan Model Checking, memeriksa seluruh skenario sistem dengan cara yang sistematis (Baier dan Katoen, 2008). Model Checking merupakan sebuah metode algoritmik yang dijalankan secara fully-automatic untuk melakukan verifikasi pada sebuah sistem (Berard et al., 2010). Proses verifikasi dilakukan dengan tujuan untuk mencocokkan implementasi protokol tersebut dengan spesifikasi telah yang dibuat, dan untuk melakukan pengembangan protokol. Pengembangan dari protokol yang telah banyak digunakan umumnya dilakukan dengan cara memodifikasi desain yang lama lalu dilakukan verifikasi ulang terhadap protokol hasil modifikasi tersebut (Bengtsson et al., 2002). 4 Proses verifikasi protokol paling umum dilakukan dengan cara simulasi dan pengujian secara langsung. Tool simulasi Network Simulator (NS2) dan tool pengujian secara langsung yaitu Ad hoc Protokol Evaluasi (APE) yang digunakan untuk perbandingan dengan real-world, merupakan dua tool paling umum digunakan dalam verifikasi protokol. Namun proses simulasi dan pengujian tidak cukup untuk memverifikasi bahwa tidak ada subtle error atau design flaw pada suatu protokol (Wibling et al., 2004). McCabe et al. (2005) melakukan penelitian perbandingan konsumsi energi pada protokol OLSR tradisional dengan protokol DSR. Pada penelitian tersebut, hasil simulasi menunjukkan bahwa pada protokol OLSR terdapat routing traffic yang berlangsung terus menerus dan menggunakan bandwidth jaringan serta tenaga baterai. Pada penelitian ini juga ditemukan suatu kondisi dimana protokol DSR memiliki nilai yang lebih baik dari OLSR, yakni ketika tingkat lalu lintas pengguna menurun atau ukuran paket menjadi besar. UPPAAL adalah suatu model checker tool yang digunakan untuk memodelkan, simulasi, dan melakukan verifikasi terhadap suatu sistem yang dimodelkan pada Timed Automata. UPPAAL bersifat real-time, berbasis pada constraint-solving dan teknik on-the-fly. Tool ini dikembangkan oleh Uppsala University dan Aalborg University (Larsen et al., 1997). UPPAAL CORA adalah suatu varian dari UPPAAL untuk menganalisa Cost Optimal Reachability. UPPAAL CORA dikembangkan oleh tim yang telah mengembangkan UPPAAL sebelumnya. UPPAAL CORA menggunakan Linearly Priced Timed Automata (LPTA) sebagai bahasa pemodelannya. LPTA merupakan bahasa pemodelan Priced Timed Automata dengan satu variabel cost. UPPAAL CORA menemukan optimal path menuju suatu state yang memenuhi beberapa kondisi tujuan. Optimal path merupakan path yang memiliki akumulasi cost yang paling rendah. UPPAAL CORA dapat memberikan informasi path di dalam protokol yang memiliki pemakaian energi (cost), serta dapat menentukan apakah spesifikasi energi yang diberikan mampu dipenuhi oleh protokol tersebut. 5 Pada penelitian ini akan dibahas mengenai verifikasi protokol routing Energy Efficient Optimized Link State Routing (EE-OLSR) yang dinyatakan mampu memenuhi properti energy efficient. Penelitian ini dilakukan dengan memodelkan dan memverifikasi protokol EE-OLSR tersebut menggunakan model checker tool UPPAAL CORA. Verifikasi melalui teknik Model Checking terhadap protokol EE-OLSR ini dilakukan karena pada penelitian sebelumnya, verifikasi yang dilakukan terhadap protokol ini adalah dengan teknik simulasi, namun teknik simulasi tidak dapat memberikan suatu diagnostic trace yang merupakan keunggulan dari teknik Model Checking. Diagnostic trace merupakan suatu untaian transisi yang dapat menunjukkan pada keadaan seperti apa propertiproperti yang diberikan dapat terpenuhi ataupun tidak terpenuhi. 1.2 Rumusan Masalah Berdasarkan latar belakang diatas, rumusan masalah penelitian ini adalah pada keadaan apa properti energy efficient dapat dipenuhi oleh protokol EEOLSR. 1.3 Batasan Masalah Batasan masalah pada penelitian ini adalah sebagai berikut: 1. Properti yang diberikan pada verifikasi terdiri dari 5 properti yang menunjukkan bahwa model yang dibangun bersifat valid atau dengan kata lain sesuai dengan spesifikasi asli protokol, serta properti utama yakni energy efficient. Lima properti tersebut, yakni a. Neighbor Detection b. Populating 2 Hop Neighbor c. Topology Discovery d. Optimal Route e. Packet Delivery 2. Verifikasi yang dibuat mengabaikan masalah keamanan dan Quality of Service. 3. Model checker tool yang digunakan adalah UPPAAL CORA. 6 1.4 Tujuan Penelitian Tujuan pada penelitian ini adalah menemukan keadaan yang menunjukkan bahwa protokol EE-OLSR memenuhi properti energy efficient, serta menemukan informasi apakah ada suatu keadaan yang menunjukkan bahwa properti tersebut tidak dipenuhi melalui teknik pemodelan dan metode formal verification menggunakan model checker tool UPPAAL CORA. 1.5 Manfaat Penelitian Manfaat dilakukannya penelitian ini adalah untuk memberikan informasi keadaan di protokol dimana properti energy efficient dapat dipenuhi ataupun tidak dipenuhi, serta dapat menjadi bahan untuk melanjutkan penelitian selanjutnya untuk memodelkan dan verifikasi protokol terutama protokol link-state routing. 1.6 Metode Penelitian Tahap-tahap dalam melakukan penelitian meliputi: 1. Studi Literatur. Studi literatur dilakukan dengan melakukan analisa terhadap sumber tertulis seperti buku, jurnal, e-book, karya ilmiah dan tugas akhir yang bersangkutan dengan topik penelitian. Referensi yang diperlukan adalah pemodelan protokol EE-OLSR menggunakan UPPAAL CORA. 2. Pemodelan. Tahap pemodelan serta verifikasi protokol EE-OLSR menggunakan UPPAAL CORA ditunjukkan oleh Gambar 1.1. Pada tahap ini, dilakukan analisa terhadap protokol EE-OLSR, proses analisa dilakukan terhadap prilaku dari setiap node yang berada pada jaringan dengan protokol tersebut, proses pengiriman dan penerimaan pesan kontrol, serta proses-proses lain yang melibatkan pemakaian energi oleh setiap node pada protokol. Kemudian protokol tersebut dimodelkan ke dalam bahasa pemodelan Linearly Priced Timed Automata menjadi autograph di model checker tool UPPAAL CORA. 7 Gambar 1.1 Skema pemodelan dan verifikasi protokol EE-OLSR Protokol dimodelkan menjadi suatu komunikasi paralel pada beberapa LPTA dengan sejumlah template. Setiap automata akan merepresentasikan setiap proses yang terjadi pada suatu node, yakni: a. Broadcast pesan HELLO. Pesan HELLO adalah pesan yang membawa informasi mengenai neighbor node pengirim pesan HELLO tersebut serta status link-nya. Node melakukan broadcast pesan HELLO hanya ke seluruh node yang berjarak satu hop di sekitar node tersebut. Tujuannya, agar node dapat memperoleh informasi mengenai status link dari node yang berjarak 2 hop darinya untuk kemudian mengkonstruksikan tabel MPR Selector. Pesan HELLO adalah satu-satunya pesan kontrol yang tidak boleh di-forward oleh node. b. Pemilihan Multi Point Relay. Informasi yang didapat dari pesan HELLO akan digunakan oleh setiap node dalam membangun tabel MPR Selector mereka sendiri. MPR Selector adalah sekumpulan 8 node yang memilih node lain sebagai MPR mereka. Node memperbaharui kumpulan MPR Selector-nya sesuai dengan informasi yang diterima di pesan HELLO. Node kemudian menghitung status energi sendiri dan mendeklarasikan status Willingness berdasarkan pada kapasitas baterai dan umur node yang diprediksi dari perhitungan laju pengurangan energi di node tersebut, mekanisme ini disebut dengan Energy Aware Willingness Setting. c. Forward Data Packet. Node pengirim memilih rute menuju node penerima, dengan menggunakan mekanisme Minimum Drain Rate (MDR). Mekanisme berjalan dengan memilih rute menuju node tujuan pengiriman paket yang memiliki umur terpanjang. Umur tersebut dihitung dari suatu fungsi cost yang menunjukkan waktu kapan sisa baterai node pengirim akan habis dengan kondisi traffic yang sedang terjadi pada jaringan tersebut. d. Broadcast pesan Topology Control (TC). Pesan TC adalah pesan yang memuat daftar neighbor yang telah memilih node pengirim pesan TC tersebut sebagai MPR. Pesan TC dikirim secara berkala oleh setiap node dalam jaringan untuk mendeklarasikan kumpulan MPR Selector-nya. Setiap node di jaringan melakukan forwarding terhadap pesan TC ke seluruh node tetangganya yang berjarak 1 hop. Node mengelola tabel routing melalui informasi yang diperoleh dari pesan TC tersebut. e. Perhitungan Tabel Routing. Tabel Routing adalah tabel yang dimiliki oleh setiap node agar dapat melakukan route paket menuju node tujuan didalam jaringan. Tabel tersebut berisikan informasi dari seluruh node di jaringan, jumlah hop menuju setiap node tersebut, dari node tetangga yang berjarak 1 hop di path menuju node lain, rangkaian angka terbaru yang menunjukkan apakah pesan TC yang diterima pernah diproses atau belum, serta tetangga 1 hop dari seluruh node di jaringan. Node yang menerima pesan 9 TC, melakukan parse and store terhadap pasangan node yang diperoleh dari daftar di dalam pesan TC. 3. Formulasi Spesifikasi Properti. Pada tahap ini dilakukan analisa kemudian dilakukan formulasi terhadap spesifikasi properti protokol EE-OLSR, yakni properti energy efficient ke dalam sintaks Weighted Computation Tree Logic (WCTL), yang ditunjukkan oleh Persamaan 1.1 yaitu 1.1 dengan adalah bentuk formal dari properti. Properti energy efficient dinilai dari parameter yang merupakan cost (pemakaian energi) yang digunakan oleh node dari mulai aktif hingga paket yang dikirim diterima oleh node tujuan. Parameter tersebut menentukan apakah protokol EE-OLSR dapat memperpanjang umur jaringan lebih dari protokol OLSR tradisional. 4. Verifikasi Protokol. Verifikasi protokol dilakukan dengan menginputkan sintaks WCTL dari properti energy efficient terhadap protokol EE-OLSR ke dalam verifier di UPPAAL CORA. Verifikasi dilakukan oleh verifier dengan cara memeriksa sifat reachability dari suatu location yang memenuhi properti energy efficient di dalam model protokol EE-OLSR yang telah dibangun menggunakan bahasa pemodelan LPTA. Apakah dari proses verifikasi tersebut suatu location tertentu melalui suatu path dapat dicapai dari initial location atau tidak. Pada Persamaan 1.2, ditunjukkan hasil dari verifier yang dapat berupa : 1.2 Apabila model tidak memenuhi properti maka akan diberikan counter example, yaitu sebuah keadaan dimana pada location tersebut properti 10 tidak mampu dipenuhi. Counter example tersebut kemudian dibandingkan dengan spesifikasi dari protokol dan berdasarkan spesifikasi apabila counter example tersebut seharusnya tidak ada maka kemudian model protokol di-reduce lalu dilakukan verifikasi ulang. Langkah ini dilakukan melalui teknik Model Checking yang terjadi di dalam model checker tool UPPAAL CORA untuk menentukan apakah model protokol EE-OLSR dapat memenuhi properti energy efficient atau tidak. 5. Pengambilan Kesimpulan. Proses pengambilan kesimpulan dilakukan dengan melihat kemampuan protokol dalam memenuhi properti energy efficient. 6. Penulisan Laporan. Pada tahap ini akan dilakukan penulisan laporan hasil penelitian. 1.7 Sistematika Penulisan Sistematika penulisan dalam penelitian ini terdiri dari: BAB I PENDAHULUAN yang menjelaskan tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, keaslian penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan. BAB II TINJAUAN PUSTAKA menjelaskan tentang penelitan yang telah dilakukan yang memiliki keterkaitan dengan penelitian yang dilakukan. BAB III LANDASAN TEORI yang menjelaskan tentang berbagai materi yang berhubungan dan diperlukan dalam penelitian, sehingga dapat membantu dalam proses pencapaian hasil penelitian. BAB IV ANALISIS DAN RANCANGAN SISTEM menjelaskan tentang analisa dan desain model protokol serta pendefinisian dengan sintaks WCTL atas bentuk logika dari properti energy efficient yang akan diverifikasi. BAB V IMPLEMENTASI menjelaskan tentang pemodelan protokol EE-OLSR dan OLSR ke dalam Priced Timed Automata dengan menggunakan model checker tool UPPAAL CORA. 11 BAB VI HASIL PENELITIAN DAN PEMBAHASAN menjelaskan tentang metode penelitian, hasil yang diperoleh dari penelitian, pengujian dan pembahasan. BAB VII KESIMPULAN DAN SARAN yang menjelaskan tentang kesimpulan dari hasil penelitian yang diperoleh dan melihat keterkaitan antara hasil penelitian terhadap permasalahan dan tujuan penelitian serta saran berupa penelitian yang dapat dilakukan selanjutnya. 1.8 Keaslian Tesis Berdasarkan pelacakan literatur dan internet yang ada ternyata permasalahan yang dikaji dalam tesis ini belum pernah diteliti. Penelitian ini berfokus pada protokol EE-OLSR yang memiliki sejumlah perbedaan besar dari protokol OLSR sebelumnya. Perbedaan tersebut terdapat pada properti yang difokuskan, sehingga menjadikan model yang dibangun tidak serupa dengan model pada protokol di penelitian lain. Pada penelitian sebelumnya, proses verifikasi sistem secara umum dilakukan dengan simulasi ataupun pengujian langsung terhadap sistem. Teknik Model Checking yang digunakan pada penelitian ini juga merupakan salah satu teknik verifikasi sistem, selain simulasi dan pengujian langsung. Selain itu, model checker tool UPPAAL CORA yang digunakan oleh penelitian ini merupakan salah satu tool yang digunakan untuk Model Checking, sedangkan pada penelitian-penelitian Model Checking sebelumnya, tool yang digunakan secara umum adalah tool UPPAAL.