Usulan Penelitian Tugas Akhir Untuk memenuhi sebagai persyaratan Mencapai derajat Sarjana S-1
Jurusan Teknik Informatika
Disusun oleh : Nurdiansyah 15-2009-092
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI INSTITUT TEKNOLOGI NASIONAL BANDUNG 2014 TUGAS AKHIR
PERANCANGAN DAN IMPLEMENTASI PROTOTYPE SISTEM MONI TORI NG PERFORMA ROUTER RASPBERRY PI
Yang dipersiapkan dan disusun oleh NURDIANSYAH 15-2009-092
Telah dipertahankan di depan Dewan Penguji pada tanggal 17 Juli 2014
Susunan Dewan Penguji
Dosen Pembimbing
Muhammad Ichwan, Ir., MT. NPP. 920101
Dosen Kopembimbing
Winarno Sugeng, Ir., M.Kom. NPP. 891101
Dosen Penguji 1
Dewi Rosmala, S.Si., M.IT. NPP. 040903
Dosen Penguji 2
Milda Gustiana H, Ir., M.Eng. NPP. 070801
Tugas akhir ini telah diterima sebagai salah satu persyaratan Untuk memperoleh gelar Sarjana Komputer (S. Kom.)
Tanggal ................... Ketua Jurusan Teknik Informatika
Youlia Indrawaty N., ST., MT. NPP. 990102
PERNYATAAN ORIGINALITAS
Saya yang bertanda tangan dibawah ini, Nama : Nurdiansyah NRP : 15-2009-092 Judul Tugas Akhir / Skripsi : PERANCANGAN DAN IMPLEMENTASI PROTOTYPE SISTEM MONI TORI NG PERFORMA ROUTER RASPBERRY PI Menyatakan bahwa penulisan Laporan Tugas Akhir / Skripsi ini berdasarkan penelitian, pemikiran dan pemaparan asli dari penulis sendiri, baik untuk naskah laporan maupun kegiatan yang tercantum sebagai kegiatan dari Laporan Tugas Akhir/ Skripsi. Apabila terdapat milik orang lain, penulis akan mencantumkan sumber secara jelas. Demikian pernyataan ini, apabila ternyata penulis melakukan pelanggaran maka penulis bersedia menerima sanksi berdasarkan ketentuan akademik yang berlaku.
Penulis
(Nurdiansyah)
KATA PENGANTAR
Puji dan syukur penulis ucapkan kehadirat ALLAH SWT yang telah memberikan kesempatan kepada penulis untuk menyelesaikan laporan Tugas Akhir ini dengan judul PERANCANGAN DAN IMPLEMENTASI PROTOTYPE SISTEM MONI TORI NG PERFORMA ROUTER RASPBERRY PI . Dalam penyusunan laporan Tugas Akhir ini, penulis mendapat banyak dukungan dan bantuan dari banyak pihak. Oleh karena itu Penulis mengucapkan banyak terima kasih kepada: 1. Ibu Youlia Indrawaty N., ST., MT., selaku Ketua Jurusan Teknik Informatika Institut Teknologi Nasional Bandung. 2. Bapak Muhammad Ichwan, Ir., M.T., selaku Ketua Program Studi Jurusan Teknik Informatika Institut Teknologi Nasional Bandung dan dosen Pembimbing yang telah memberikan bimbingan dalam menyelesaikan penelitian tugas akhir. 3. Bapak Winarno Sugeng, Ir., M.Kom., selaku dosen Kopembimbing yang telah memberikan bimbingan dalam menyelesaikan penelitian tugas akhir. 4. Ibu Dewi Rosmala, S.Si., M.IT., selaku Penguji 1 dan Sekretaris Jurusan Teknik Informatika Institut Teknologi Nasional Bandung. 5. Bapak Milda Gustiana Husada, Ir., M. Eng., selaku Penguji 2. 6. Bapak dan Ibu Dosen Jurusan Teknik Informatika Institut Teknologi Nasional, yang telah memberikan bekal ilmu pengetahuan. 7. Seluruh Staff Tata Usaha dari Jurusan Teknik Informatika Institut Teknologi Nasional terutama Ibu Mia dan Bapak Rukayah. 8. Ayah (Alm) dan Ibu (Almh) yang menjadi motivasi dan semangat besar Penulis untuk mengejar gelar Sarjana. Semoga kalian tersenyum bahagia di surga, amiien..
Dalam penyusunan laporan Tugas Akhir ini, penulis menyadari sepenuhnya bahwa penulisan laporan ini masih jauh dari sempurna, karena keterbatasan pengetahuan dan kemampuan. Namun demikian, hal tersebut menjadi motivasi dan dorongan untuk dapat melangkah lebih baik.
Bandung, 17 Juli 2014
Nurdiansyah
PERANCANGAN DAN IMPLEMENTASI PROTOTYPE SISTEM MONI TORI NG PERFORMA ROUTER RASPBERRY PI
Muhammad Ichwan, Winarno Sugeng, Nurdiansyah
Jurusan Teknik Informatika Fakultas Teknologi Industri Institut Teknologi Nasional
INTISARI
Sebagian besar router dengan kemampuan handal dan memiliki banyak fitur relatif cukup mahal. Raspberry Pi adalah sebuah SBC (Single Board Computer) seukuran kartu kredit yang dapat dijadikan sebagai pengganti router yang memiliki harga lebih ekonomis dan memiliki fitur yang tidak jauh seperti dedicated router. Namun raspberry pi bukan didedikasikan sebagai router seutuhnya, melainkan sebuah prosesor multifungsi. Sehingga kondisi performa router raspberry pi perlu diperhatikan agar selalu dalam keadaan optimal, sehingga perlu dilakukan monitoring performa router raspberry pi, metode pada jaringan yang dapat dimanfaatkan untuk melakukan monitoring performa router raspberry pi adalah System Monitoring dan Quality of Service (QoS). Oleh sebab itu, dikembangkan sebuah sistem yang ditanam pada router raspberry pi dengan memanfaatkan Python programming, Django Framework dan sqlite3. Sistem ini dapat memperoleh nilai qos sebagai hasil uji performa router raspberry pi.
Kata Kunci: monitoring performa router, raspberry pi, quality of service (qos), Python programming.
DESI GN AND I MPLEMENTATI ON PROTOTYPE SI STEM TO MONI TORI NG PERFORMANCE OF ROUTER RASPBERRY PI
Muhammad Ichwan, Winarno Sugeng, Nurdiansyah
Departement of Informatics Engineering Faculty of Industrial Technology National Institute of Technology
ABSTRACT
Most routers with powerful capabilities with has many features relatively expensive. Raspberry Pi is a SBC (Single Board Computer) which size of a credit card that can be used as a substitute for a router that has a more economical price and has a feature that does away with the router as usual. But the raspberry pi is not as dedicated router, but rather a multifunction processor. So the raspberry pi router performance conditions need to be considered in order to always be optimal, so it needs to be monitored performance routers raspberry pi, the method in which the network can be utilized to monitor the performance of the router raspberry pi is System Monitoring and Quality of Service (QoS). Therefore, develop a system that be planted on the router raspberry pi by using programming Python, Django Framework and sqlite3. The system can acquire qos value as a result of the performance test router raspberry pi.
Keywords: monitoring proforma router, raspberry pi, quality of service (qos), Python programming.
DAFTAR ISI
LEMBAR PENGESAHAN ......................................................................... LEMBAR PERNYATAAN ORIGINALITAS .......................................... KATA PENGANTAR .................................................................................. INTISARI ..................................................................................................... ABSTRACT .................................................................................................. DAFTAR ISI ................................................................................................. DAFTAR GAMBAR .................................................................................... DAFTAR TABEL ........................................................................................ DAFTAR KODE .......................................................................................... DAFTAR RUMUS ....................................................................................... DAFTAR LAMPIRAN ................................................................................
BAB I PENDAHULUAN ............................................................................. 1.1 Latar Belakang ........................................................................................ 1.2 Rumusan Masalah ................................................................................... 1.3 Tujuan ..................................................................................................... 1.4 Batasan Masalah ..................................................................................... 1.5 Tinjauan Pustaka ..................................................................................... 1.6 Tahapan Penelitian .................................................................................. 1.7 Metodologi Pengembangan Sistem ........................................................ 1.8 Sistematika Penulisan .............................................................................
BAB II LANDASAN TEORI ...................................................................... 2.1 Jaringan Komputer .................................................................................. 2.2.1 Pengertian Router ........................................................................ 2.2 Monitoring............................................................................................... 2.3 Realtime .................................................................................................. 2.2.1 Sistem Hard Realtime ................................................................. 2.2.2 Sistem Soft Realtime ................................................................... 2.2.3 Sistem Firm Realtime .................................................................. 2.4 Quality of Service (QoS) ......................................................................... 2.5 TCP Three Way Handshake .................................................................... 2.6 Pemrograman Socket ............................................................................... 2.6.1 Socket Stream dan Socket Datagram .......................................... 2.6.2 Skema Dasar Pada TCP Socket ................................................... 2.7 Bahas Pemrograman Python ................................................................... 2.8 SSH .......................................................................................................... 2.9 Sqlite ....................................................................................................... 2.10 Raspberry Pi ...........................................................................................
BAB III ANALISIS DAN PERANCANGAN ............................................ 3.1. Perancangan Sistem ................................................................................ 3.2. Analisis Kebutuhan Sistem ..................................................................... 3.2.1 Kebutuhan Perangkat Lunak ....................................................... ii iii iv v vi vii x xi xii xiii xiv
3.2.2 Kebutuhan Perangkat Keras ........................................................ 3.2.3 Kebutuhan Modul Python Library .............................................. 3.2.4 Base Engine Aplikasi MPRRPI .................................................. 3.3. Analisis Router Raspberry Pi ................................................................. 3.3.1 Konfigurasi dan Instalasi Router Raspberry Pi ......................... 3.3.2 Performa Router Raspberry Pi .................................................... 3.4. Perancangan Sistem ................................................................................ 3.4.1 Workflow Sistem ............................................................................ 3.4.2 Flowchart ...................................................................................... 3.4.2.1 Main Flowchart Aplikasi MPRRPI ..................................... 3.4.2.2 Flowchart Sub Proses Capture ......................................... 3.4.2.3 Flowchart Sub Proses Report ........................................... 3.4.2.4 Flowchart Sub Proses Service Monitoring QOS .............. 3.4.3 UML (Unified Modelling Language) ............................................ 3.4.3.1 Use Case Diagram ............................................................... 3.4.3.2 Activity Diagram .................................................................. 3.4.3.3 Sequence Diagram ............................................................... 3.4.4 Perancangan Layout Prototype ......................................................
BAB VI KESIMPULAN ..............................................................................
DAFTAR PUSTAKA LAMPIRAN 65 66 66 67 67 69
71
DAFTAR GAMBAR
Gambar 1 Metodologi Prototype .............................. Gambar 2 TCP-Based Socket .................................. Gambar 3 Raspberry Pi Model A .............................. Gambar 4 Raspberry Pi Model B .............................. Gambar 5 Topologi Pengujian End to End Lokal ............... Gambar 6 Workflow Pengujian Throughput ..................... Gambar 7 Output Pengujian Throughput(Client) ............... Gambar 8 Output Pengujian Throughput(Server)................ Gambar 9 Workflow Pengujian Jitter ......................... Gambar 10 Output Pengujian Jitter(Server)................... Gambar 11 Output Pengujian Jitter(Client)................... Gambar 12 Workflow Pengujian Packetloss dan Delay .......... Gambar 13 Output Pengujian Packet loss dan Delay............ Gambar 14 Pengujian Bandwidth Interface RJ45 Raspberry Pi... Gambar 15 Output Pengujian Interface RJ45 Raspberry Pi...... Gambar 16 Pengujian Bandwidth Interface USB to RJ45 ........ Gambar 17 Output Pengujian Interface USB to RJ45 ........... Gambar 18 Workflow Sistem MPRRPI............................ Gambar 19 Use Case Diagram Aplikasi MPRRPI.................. Gambar 20 Implementasi Validasi Login....................... Gambar 21 Implementasi Request Logout....................... Gambar 22 Implementasi Request Koneksi SSH.................. Gambar 23 Implementasi Request Report....................... Gambar 24 Implementasi Open Socket.......................... Gambar 25 Implementasi Send Packet.......................... Gambar 26 Implementasi Receive Packet....................... Gambar 27 Implementasi Measure Delay........................ Gambar 28 Implementasi Measure Packet loss.................. Gambar 29 Implementasi Measure Jitter....................... Gambar 30 Implementasi Measure Throughput................... Gambar 31 Implementasi Store Result Monitoring.............. Gambar 32 Tampilan Halaman Aplikasi MPRRPI.................. Gambar 33 Arsitektur Pengujian Alpha........................ Gambar 34 Perhitungan Manual Delay ......................... Gambar 35 Perhitungan Manual Packet loss ................... Gambar 36 Perhitungan Manual Jitter ........................ Gambar 37 Perhitungan Manual Throughput .................... Gambar 38 Pengujian Capture................................. Gambar 39 Pengujian Informasi Detail Data................... Gambar 40 Pengujian Informasi Detail Grafik.................
Tabel 1 Matriks Tinjauan Pustaka............................ Tabel 2 Standar Nilai Throughput............................ Tabel 3 Standar Nilai Packet Loss........................... Tabel 4 Standar Nilai Latency (Delay)....................... Tabel 5 Standar Nilai Jitter................................ Tabel 6 Spesifikasi Raspberry Pi Model A dan Model B ....... Tabel 7 Tahapan Perancangan Sistem ......................... Tabel 8 Keterangan Prototype Capture Panel.................. Tabel 9 Keterangan Report Panel............................. Tabel 10 Keterangan Graph Panel ............................ Tabel 11 Skenario Pengujian ................................ Tabel 12 Output Pengujian Delay............................. Tabel 13 Output Pengujian Packet loss....................... Tabel 14 Output Pengujian Jitter............................ Tabel 15 Output Pengujian Throughput........................ Tabel 14 Hasil Pengujian.................................... 6 13 14 14 15 20 22 46 47 47 60 62 63 64 65 70
DAFTAR KODE
Kode 1 Membuka File Konfigurasi File rc.local............... Kode 2 Konfigurasi Router Raspberry Pi...................... Kode 3 Instalasi Dnsmasq.................................... Kode 4 Membuka File Konfigurasi Dnsmasq.conf................ Kode 5 Konfigurasi File Dnsmasq.conf........................ Kode 6 Instalasi Iperf...................................... Kode 7 Iperf Throughput Server.............................. Kode 8 Iperf Throughput Client.............................. Kode 9 Iperf Jitter Server.................................. Kode 10 Iperf Jitter Client................................. Kode 11 Ping Packetloss dan Delay........................... Kode 12 Update Repository Wheezy Raspbian................... Kode 13 Install Sqlite3..................................... Kode 14 Install Library Python.............................. Kode 15 Perintah Mengetahui Rincian Modul Yang Digunakan.... Kode 16 Perintah Instalasi File requerments.txt............. Kode 17 Konfigurasi Web Server.............................. 25 26 26 26 26 27 28 28 30 30 33 49 49 49 50 50 59
LAMPIRAN A PENJELASAN DAN PENGUJIAN MODUL A.1 Kegunaan modul internal A.2 Kegunaan modul eksternal A.3 Penjelasan Object dan Method modul internal A.4 Penjelasan Object dan Method modul eksternal A.5 Pengujian Modul Eksternal
LAMPIRAN B PERANCANGAN SISTEM B.1 Main Flowchart Aplikasi MPRRPI B.2 Flowchart Sub Proses Capture B.3 Flowchart Sub Proses Report B.4 Flowchart Sub Proses Service Monitoring QOS B.5 Activity Diagram (Monitoring) B.6 Activity Diagram (Report) B.7 Sequence Diagram (Capture) B.8 Sequence Diagram (Report) B.9 Layout Prototype Login B.10 Layout Prototype Capture Panel B.11 Layout Prototype Report Panel B.12 Layout Prototype Graph Panel
1.1 Latar Belakang Router memiliki banyak variasi dari segi harga dan kemampuan. Router dengan kemampuan yang handal dan memiliki banyak fitur relatif cukup mahal. Raspberry Pi adalah sebuah SBC (Single Board Computer) seukuran kartu kredit yang muncul pada tahun 2006. Raspberry Pi menggunakan System on a Chip (SoC) dari Broadcom BCM2835 dan juga sudah mendukung prosesor ARM1176JZF-S 700 MHz, RAM 512 MB, Ethernet (RJ45), USB 2.0 Port, dan operating system. Dengan kemampuan yang dimiliki raspberry pi maka sangat mungkin untuk mengembangkan hal-hal baru, seperti membangun web server untuk mengelola penggunaan protokol kamunikasi HTTP dan HTTPS, webcam server yang mungkin dapat mengakses webcam dimana saja dengan bantuan koneksi internet, dan salah satunya membuat raspberry pi sebagai router. Hal yang dikembangkan didalam penelitian ini, yaitu mengembangkan raspberry pi sebagai router yang memiliki kemampuan dan fitur yang tidak sederhana. Dengan harapan router yang dikembangkan menggunakan raspberry pi dapat menjadi solusi untuk mendapatkan router yang memiliki kemampuan dan fitur-fitur seperti layaknya dedicated router dengan harga relatif lebih murah. Namun raspberry pi itu sendiri bukan seperti dedicated router, melainkan sebuah prosesor multifungsi. Oleh karena itu, kondisi performa router raspberry pi perlu diperhatikan agar selalu dalam keadaan optimal. Untuk mengukur dan melihat seberapa optimal performa router raspberry pi perlu dilakukan monitoring dan pengukuran performa router raspberry pi. Hal penting yang harus diperhatikan dalam melakukan monitoring dan pengukuran performa router raspberry pi yaitu metode dalam pengujiannya. Quaity of Service (QoS) dan System Monitoring adalah metode atau teknik pada jaringan yang dapat dimanfaatkan untuk melakukan monitoring dan pengukuran performa router raspberry pi, dengan menggunakan kedua metode tersebut dapat membantu mengetahui informasi sejauh mana performa router raspberry pi, salah satunya
adalah melakukan pengujian router raspberry pi menggunakan parameter- parameter Quaity of Service. Parameter Quaity of Service yang digunakan didalam penelitian ini merujuk pada penelitian sebelumnya (Yanto. 2013. Analisis QOS (Quality of Service) Pada Jaringan Internet). Solusi yang diterapkan pada umumnya menggunakan aplikasi monitoring dan pengukuran jaringan seperti Multi Router Traffic Grapher (MRTG) dan Iperf, namun pada aplikasi-aplikasi tersebut memiliki keterbatasan dalam monitoring dan pengukuran performa router raspberry pi karena data yang dihasilkan dari aplikasi tersebut harus diolah secara lebih lanjut dari data yang sudah didapat untuk kebutuhan monitoring dan pengukuran performa router raspberry pi, oleh sebab itu akan dikembangkan sistem yang dapat melakukan monitoring dan pengukuran performa router raspberry pi. Sistem yang dikembangkan kemudian akan diintegrasikan dengan raspberry pi, sehingga sistem tidak hanya dapat melakukan monitoring performa router raspberry pi, melainkan dapat digunakan sebagai alat ukur untuk mengetahui kualitas jaringan yang disediakan oleh penyedia layanan internet.
1.2 Rumusan Masalah Dari uraian latar belakang masalah yang telah dikemukakan, maka dapat dirumuskan beberapa masalah sebagai berikut: 1. Kebutuhan perangkat keras apa saja yang dibutuhkan untuk mengembangkan sistem monitoring performa router raspberry pi. 2. Bagaimana cara me-monitoring dan mengukur performa router raspberry pi dengan mengacu pada parameter-parameter Quality of Service (QoS).
1.3 Tujuan Adapun tujuan dari penelitian tugas akhir ini adalah membangun sebuah sistem monitoring performa router raspberry pi dengan menggunakan parameter- parameter pada metode Quality of Service (QoS).
1.4 Batasan masalah Untuk lebih mempermudah dalam penelitian tugas akhir ini perlu dilakukan pembatasan masalah. Adapun yang dibatasi dalam penelitian tugas akhir ini adalah sebagai berikut: 1. Dalam melakukan monitoring dapat dilakukan dengan dua cara, yaitu monitoring pasif dan monitoring aktif. Dalam penelitian ini hanya melakukan monitoring aktif dan tidak melakukan monitoring pasif. 2. Parameter pada Quality of Service diantaranya adalah throughput, packet loss, latency (delay), jitter, MOS, echo cancellation, dan PDD. Dalam penelitian ini parameter Quality of Service yang digunakan dalam melakukan monitoring dan pengukuran performa router raspberry pi adalah throughput, packet loss, latency (delay), dan jitter. 3. Parameter Quality of Service (QoS) yang digunakan sebatas dengan pemanfaatan fungsi-fungsi sebagai parameter pengujian performa router. 4. Didalam penelitan ini standar bandwidth yang digunakan adalah 94 Mbits/sec. 5. Sistem integrasi yang dibangun untuk melakukan monitoring dan pengukuran menggunakan Python script.
1.5 Tinjauan Pustaka Pada kegiatan penelitian tugas akhir ini, mengacu pada penelitian- penelitian yang pernah dilakukan sebelumnya, antara lain sebagai berikut Utomo dan Tanjung Cahyo dari Jurusan Teknik Informatika Institut Teknologi Surabaya (ITS) pada tahun 2011. Dalam penelitiannya yang berjudul Perancangan Sistem Monitoring Router Jurusan Teknik Informatika ITS dengan Protolol SNMP Berbasis Web, Utomo dan Tanjung Cahyo berpendapat bahwa kondisi router harus selalu dijaga kesetabilan operasionalnya oleh seorang administrator. Oleh karena itu administrator perlu suatu manajemen jaringan untuk mempermudah dalam memantau aktifitas yang ada dalam suatu jaringan tersebut. Selanjutnya dikembangkan suatu aplikasi web interface yang digunakan untuk me-monitoring router jaringan lokal kampus secara real time. Aplikasi ini
menggunakan protokol SNMP (Simple Network Managment Protocol) untuk pengambilan suatu nilai dan juga sms gateway untuk pemberitahuan peringatan gangguan router. Agus Brata, M. Ichwan, Winarno Sugeng, dari Jurusan Teknik Informatika Institut Teknologi Bandung pada tahun 2012. Dalam penelitiannya yang berjudul Perancangan dan Implementasi Prototype Sistem Realtime Monitoring Performa Server, Agus brata, M. Ichwan dan Winarno Sugeng berpendapat bahwa keadaan server harus dalam kondisi optimal. Oleh karena itu perlu dilakukan perawatan secara berkala untuk menunjang stabilitas dan performa server kemudian melakukan pemantauan secara realtime terhadap sumber daya yang bekerja pada server, antara lain service dan resource hardware. Pada sistem aplikasi tersebut dilengkapi fitur SMS gateway dan email gateway sebagai pemberitahuan informasi peringatan apabila server mengalami down. Zhe Wu, pada April 2013 membuat sebuah project pribadi menggunakan raspberry pi yang diberi nama Beijing Sky Photo, dimana project ini didedikasikan untuk melihat kondisi udara daerah perkotaan Beijing dengan mengambil foto udara setiap 15 menit sekali. Dari foto yang dihasilkan selanjutnya secara otomatis diterbitkan secara realtime di Twitter (@BeijingSkyPhoto) dan Wiebo (@ ). Ricard Rosales, pada April 2013 mengerjakan sebuah project membangun sebuah router menggunakan raspberry pi, dimana didalam router memiliki aplikasi yang di beri nama LANPie memiliki fitur seperti Bandwidth Score, Speed Test, Bandwidth Balance, Device Profiling, HTTPS Enywhare, Privacy Mode, Manage from Android App dan NAS/Printer Server. Aplikasi yang mereka bangun untuk halaman administrator router dikembangkan menggunakan Django Framework. Yanto, pada Agustus 2013 berpendapat perkembangan internet dan jaringan akhir-akhir ini telah membuat IP (Internet Protocol) yang merupakan tulang punggung networking berbasis TCP/IP dengan cepat menjadi ketinggalan zaman. Perkembangan ini telah membuat terlampauinya kapasitas jaringan berbasis IP untuk menyuplai layanan dan fungsi yang diperlukan. Sehingga perlu
dilakukan analisi jaringan internet yang telah ada dengan menggunakan parameter QoS (Quality of Service), untuk menghasilkan suatu informasi berupa hasil analisis jaringan internet yang sesuai dengan standar QoS (Quality of Service) Dari beberapa penelitian yang telah dilakukan sebelumnya maka didapatkan sebuah ide untuk mengembangkan sebuah aplikasi monitoring router raspberry pi, aplikasi yang dikembangkan diharapkan mampu dalam melakukan monitoring untuk mengetahui dan mengukur performa router raspbery pi dengan menggunakan metode QOS (Quality of Service).
Tabel 1 Matriks Tinjauan Pustaka No. Penulis Tahun Judul Penelitian Deskripsi Penelitian 1. Utomo, Tanjung Cahyo 2011 Perancangan Sistem Monitoring Router Jurusan Teknik Informatika ITS dengan Protolol SNMP Berbasis Web Mengembangkan sebuah aplikasi manajemen jaringan yang digunakan untuk mempermudah pemantauan jaringan pada router dalam bentuk web intarface. Dimana Aplikasi tersebut menggunakan protokol SNMP untuk pengambilan suatu nilai dan juga SMS gateway untuk pemberitahuan peringatan gangguan pada router. 2. Agus Brata, M. Ichwan, Winarno Sugeng. 2012 Perancangan dan Implementasi Prototype Sistem Realtime Monitoring Performa Server Mengembangkan sebuah sistem monitoring performa server secara realtime bebasis webbase, yang akan diterapkan dengan memanfaatkan psutil Python library, ssh, dan Restful web service menggunakan deploy engine. Serta sistem mengirim pemberitahuan SMS dan email apabila host server mengalami gangguan. 3. Zhe Wu 2013 Beijing Sky Photo Mengembangkan sebuah alat yang didedikasikan untuk melihat kondisi udara daerah perkotaan di beijing. Alat tersebut mampu mengambil gambar udara setiap 15 menit sekali dan kemudian secara otomatis dan realtime di publikasikan ke Twitter dan Wiebo. 4. Ricard Rosales 2013 LANPie Mengembangkan router menggunakan raspberry pi dimana router tersebut tertanam aplikasi yang dibangun menggunakan Django Framework. Fitur aplikasi meliputi Bandwidth Score, Speed Test, Bandwidth Balance, Device Profiling, HTTPS Enywhare, Privacy Mode, Manage from Android App dan NAS/Printer Server. 5. Yanto 2013 Analisis QOS (Quality of Service) Pada Jaringan Internet Menganalisis jaringan internet yang telah ada dengan menggunakan parameter QoS (Quality of Service), untuk menghasilkan suatu informasi berupa hasil analisis jaringan internet yang sesuai dengan standar QoS (Quality of Service) 6. Nurdiansyah ,M. Ichwan, Winarno Sugeng. 2014 Perancangan dan Implementasi Prototype Sistem Monitoring Performa Router Raspberry Pi Mengembangkan sebuah sistem aplikasi monitoring performa router raspberry pi yang dibangun menggunakan Python programming dan Django Framework. Dalam melakukan monitoring performa router raspberry pi menerapkan metode quality of service, dimana metode tersebut memiliki parameter-perameter yang dapat dijadikan acuan dalam melihat dan mengukur performa router raspberry pi.
1.6 Tahapan Penelitian Penelitian dilakukan dengan beberapa tahapan yang dilakukan dengan bertujuan untuk membantu proses penelitian agar dilakukan secara sistematis. Tahapan yang dilakukan dalam penelitian adalah sebagai berikut: 1. Pengumpulan Data dan Resource Hardware Mengumpulkan data dan informasi untuk bahan penelitian dan menyediakan kebutuhan hardware yang akan digunakan dalam melakukan penelitian. 2. Instalasi Software dan Hardware Melakukan tahap-tahap merancang router raspberry pi. Seperti menginstal raspbian sebagai sistem informasi yang digunakan, menambahkan interface baru, dan mengkonfigurasikan semua resource hardware. 3. Konfigurasi dan Instalasi Router Melakukan konfigurasi dan instalasi router raspberry pi agar dapat berfungsi seperti router. 4. Monitoring Jaringan Teknik Informatika Itenas Melakukan monitoring jaringan menggunakan IPerf untuk mengetahui kualitas jaringan seperti throughput, latency, packet loss, dan jitter yang disediakan oleh Jurusan Teknik Informatika Itenas. 5. Monitoring Jaringan UPT-TIK Itenas Melakukan monitoring jaringan menggunakan IPerf untuk mengetahui kualitas jaringan seperti throughput, latency, packet loss, dan jitter yang disediakan oleh UPT-TIK Itenas. 6. Membangun Python Script Membangun suatu sistem integrasi menggunakan python script yang digunakan sebagai aplikasi untuk monitoring dan mengukur performa router raspberry pi. 7. Pengujian Alpha Python Script Melakukan pengujian fungsional python script terhadap router raspberry pi. 8. Pengujian Beta Python Script Pengujian python script berdasarkan objek penelitian yaitu performa router raspberry pi yang mengacu pada parameter quality of service.
1.7 Metodologi Pengembangan Sistem Metodologi pengembangan sistem dilakukan dengan menggunakan metodologi prototype. Pendekatan ini sesuai dengan kebutuhan yang diperlukan dalam pengembangan sistem, beberapa tahapan yang dilakukan bertujuan untuk membantu proses pengembangan sistem dalam memberikan gambaran lengkap mengenai sistem yang akan dikembangkan. Pengujian yang dilakukan menggunakan metoda alpha dan beta untuk mengetahui kehandalan aplikasi dalam melakukan pemantauan terhadap router raspberry pi server.
Gambar 1 Metodologi Prototype (sumber: Abdul kadir. 2007. Pengenalan Sistem Informasi. Andi. Yogyakarta)
Tahapan yang akan diterapkan dalam pengembangan sistem meliputi beberapa bagian sebagai berikut: 1. Mempelajari bagian-bagian mengenai pemantauan pada performa router. 2. Menentukan parameter-parameter yang dapat digunakan untuk mengukur performa raspberry pi. 3. Menentukan disiplin ilmu yang digunakan sebagai landasan teori dan membuat perancangan sistem. 4. Membuat sampel prototype.
5. Membangun sistem prototype menggunakan bahasa pemrograman Python. 6. Melakukan pengembangan terhadap prototype.
1.8 Sistematika Penulisan Untuk memberikan gambaran secara jelas menegenai penelitian tugas akhir ini, pembahasan secara garis besar akan dibuat menjadi lima bab dengan sistemetika penulisan laporan penelitian sebagai berikut: 1. BAB 1 : PENDAHULUAN Bab ini berisi tentang latar belakang, rumusan masalah , tujuan, batasan masalah, tinjauan pustaka, metodologi penelitian dan sistematika penulisan dari laporan ini. 2. BAB 2 : LANDASAN TEORI Bab ini berisi dasar-dasar teoritis yang berkaitan dan mendasari penelitian tugas akhir yang dilakukan, seperti salah satunya adalah pengertian router, respberry pi, dan system realtime monitoring, Quality of Service. 3. BAB 3 : ANALISIS DAN PERANCANGAN Bab ini berisi tentang tahapan analisis kebutuhan sistem dan perancangan umum maupun uraian lebih lanjut mengenai perancangan sistem yang akan dibuat. 4. BAB 4 : IMPLEMENTASI Bab ini berisi tentang tahapan dalam implementasi sistem yang akan dibuat. 5. BAB 5 : PENGUJIAN Bab ini berisi tentang hasil pengujian dari implementasi sistem yang telah dibuat. 6. BAB 6 : KESIMPULAN Bab ini berisi kesimpulan dari penelitian tugas akhir yang dilakukan.
BAB II LANDASAN TEORI
2.1 Jaringan Komputer [1]
Jaringan komputer adalah sebuah sistem yang terdiri dari atas komputer, software dan perangkat jaringan lainnya yang bekerja bersama-sama untuk mencapai tujuan yang sama. Tujuan dari jaringan komputer adalah sebegai berikut: a. Membagi sumber daya yang digunakan dalam berbagai pemakaian printer, CPU, monitor dan hardisk. b. Komunikasi, yang digunakan dalam surat elektronik, instant messaging, chating. c. Akses informasi, yang digunakan dalam web browsing. Agar dapat mencapai tujuan yang sama,setiap bagian dari jaringan komputer meminta dan memberikan layanan. Pihak yang meminta/ menerima layanan disebut client dan yang memberikan/ mengirim layanan disebut server. Arsitektur ini disebut dengan istilah client server, dan digunakan pada mayoritas aplikasi komputer.
2.1.1 Pengertian Router Router adalah komputer khusus yang dipakai untuk menghubungkan dua kabel transmisi atau lebih. Saat menerima pesan router harus memilih jalur kabel mana untuk meneruskan pesannya. Router memiliki kemampuan melewatkan paket IP dari satu jaringan ke jaringan lain. Mirip dengan bridge, router dapat menghubungkan network interface yang berbeda. Broadcast traffic yang dibangkinkan dalam LAN dapat difilter olehnya. Ada dua jenis router yaitu dedicated router (buatan pabrik) dan PC Router (PC yang memiliki lebih dari 1 NIC, dapat dibangun sendiri). Karena pada router terdapat proses seleksi atau routing, dilakukan pada network (Internet) layer dari arsitektur komputer. Artinya proses seleksi bukan pada ethernet address tapi pada lapisan yang lebih tinggi yaitu pada Internet Protokol address. Jadi fungsi router secara mudah
dapat dikatakan, menghubungkan dua buah jaringan yang berbeda, tepatnya mengarahkan rute yang terbaik untuk mencapai network yang diharapkan. Rute- rute yang diberntuk inilah yang kemudian dikenal dengan istilah routing.
2.2 Monitoring [2]
Monitoring adalah pemantauan yang dapat dijelaskan sebagai kesadaran tentang apa yang ingin diketahui, pemantauan berkadar tingkat tinggi dilakukan agar dapat membuat pengukuran melalui waktu yang menunjukan pergerakan ke arah tujuan atau menjauh dari tujuan. Monitoring akan memberikan informasi tentang status dan kecenderungan bahwa pengukuran dan evaluasi yang diselesaikan berulang dari waktu ke waktu, pemantauan umumnya dilakukan untuk tujuan tertentu, untuk memeriksa terhadap proses berikut objek atau efek tindakan dari beberapa jenis antara lain tindakan untuk mempertahankan manajemen yang sedang berjalan.
2.3 Realtime [3]
Waktu nyata (realtime) adalah kondisi pengoperasian dari suatu sistem perangkat keras dan perangkat lunak yang dibatasi oleh rentang waktu dan memiliki tenggang waktu (deadline) yang jelas, relatif terhadap waktu suatu peristiwa atau operasi yang terjadi. Suatu sistem komputasi dinamakan real-time jika sistem tersebut dapat mendukung eksekusi program/ aplikasi dengan waktu yang memiliki batasan. Performansi sistem realtime diklasifikasi menjadi 3 jenis, yaitu: hard realtime, soft realtime, Firm realtime.
2.4.1 Sistem Hard Realtime Sistem hard realtime dibutuhkan untuk menyelesaikan critical task dengan jaminan waktu tertentu (<100 mikro detik). Jika kebutuhan waktu tidak terpenuhi, maka aplikasi akan gagal. Secara umum, sebuah proses pernyataan jumlah waktu dimana dibutuhkan untuk menyelesaikan atau menjalankan I/O. Kemudian penjadwalan dapat menjamin proses untuk selesa atau menolak permintaan karena tidak mungkin dilakukan. Mekanisme ini dikenal dengan
resource reservation. Oleh karena itu setiap operasi harus dijamin dengan waktu maksimum
2.4.2 Soft Real-time Sistem soft real-time memiliki sedikit kelonggaran. Dalam sistem ini, proses yang kritis menerima prioritas lebih daripada yang lain. Walaupun menambahkan fungsi soft realt-time ke sistem time sharing mungkin akan mengakibatkan ketidakadilan pembagian sumber daya dan mengakibatkan delay yang lebih lama, atau mungkin menyebabkan starvation, hasilnya adalah tujuan secara umum sistem yang dapat mendukung multimedia, grafik berkecepatan tinggi dan variasi tugas yang tidak dapat diterima di lingkungan yang tidak mendukung komputasi soft realtime. Hal tersebut terjadi karena sistem dibatasi oleh suatu batasan yang tegas tetapi apabila batasan tersebut dilanggar, maka tidak akan berakibat fatal secara langsung tetapi mengakibatkan penurunan performansi dari sistem yang semakin menurun seiring dengan waktu yang berjalan, sampai suatu batasan waktu tertentu lalu performansi sistem tidak berjalan.
2.4.3 Sistem Firm Real-time Sistem firm realtime dibatasi dengan batasan yang sama seperti pada hard realtime, bedanya sistem masih diberikan toleransi beberapa kali jika tidak dapat memenuhi batasan tersebut, tetapi apabila melewati dari jumlah toleransi yang telah diberikan maka sistem akan gagal dalam menjalankan operasi sistem.
2.4 Quality of Service (QoS) [4]
QoS (Quality of Service), dijelaskan dalam rekomendasi CCITT E.800 adalah efek kolektif dari kinerja layanan yang menentukan derajat kepuasan seorang pengguna terhadap suatu layanan. Menurut Ningsih dkk (2004) QoS adalah kemampuan sebuah jaringan untuk menyediakan layanan yang lebih baik bagi pengguna layanan yang menggunakannya. Dapat disimpulkan bahwa Qality of Service (QoS) adalah kemampuan suatu jaringan untuk menyediakan layanan
yang baik dengan menyediakan bandwidth, mengatasi jitter dan delay. Parameter QoS adalah latency, throughput, packet loss, jitter, MOS, echo cancellation dan PDD. Pada penelitian ini, parameter QoS yang digunakan untuk mengukur performa raspberry pi diantaranya adalah: 1. Troughput Throughput, yaitu kecepatan (rate) transfer data efektif, yang diukur dalam bps. Troughput merupakan jumlah total kedatangan paket yang sukses yang diamati pada destination selama interval waktu tertentu dibagi oleh durasi interval waktu tersebut. Persamaan perhitungan throughput: .......................................................... Rumus 1
Sehingga untuk mendapatkan standar nilai persentasi throughput seperti pada Tabel 2, menggunakan persamaan perhitungan standar throughput. ......................................... Rumus 2
Tabel 2 Standar Nilai Throughput Throughput Kategori Throughput Sangat Bagus 100 % Bagus 75 % Sedang 50 % Jelek < 25 % (Sumber: TIPHONE dan Politeknik Telkom)
2. Packet Loss Packet Loss, merupakan suatu parameter yang menggambarkan suatu kondisi yang menunjukkan jumlah total paket yang hilang, dapat terjadi karena collision dan congestion pada jaringan dan hal ini berpengaruh pada semua aplikasi karena retransmisi akan mengurangi efisiensi jaringan secara keseluruhan meskipun jumlah bandwidth cukup tersedia untuk aplikasi- aplikasi tersebut. Umumnya perangkat jaringan memiliki buffer untuk
menampung data yang diterima. Jika terjadi kongesti yang cukup lama, buffer akan penuh, dan data baru tidak akan diterima. Persamaan perhitungan Packet Loss: .................... Rumus 3
Tabel 3 Standar Nilai Packet Loss Packet Loss Kategori Packet Loss Sangat Bagus 0 % Bagus 1 - 3 % Sedang 4 - 15 % Jelek 16 - 25 % (Sumber: TIPHONE dan Politeknik Telkom)
3. Delay (Latensy) Delay (latency) adalah waktu yang dibutuhkan data untuk menempuh jarak dari asal ke tujuan. Delay dapat dipengaruhi oleh jarak, media fisik, kongesti atau juga waktu proses yang lama. Persamaan perhitungan Delay (latency): .............................. Rumus 4
Tabel 4 Standar Nilai Latency (Delay) Latency (Delay) Kategori Delay (Latancy) Sangat Bagus < 150 ms Bagus 150 s/d 300 ms Sedang 300 s/d 450 ms Jelek > 450 ms (Sumber: TIPHONE dan Politeknik Telkom)
4. J itter Jitter atau variasi kedatangan paket, hal ini diakibatkan oleh variasi-variasi dalam panjang antrian, dalam waktu pengolahan data dan juga dalam waktu penghimpunan ulang paket-paket di akhir perjalanan jitter. Jitter lazimnya disebut variasi delay, berhubungan erat dengan latency yang menunjukkan banyaknya variasi delay pada taransmisi data jaringan. Delay antrian pada router dan switch dapat menyebabkan jitter. Persamaan perhitungan Jitter:
Tabel 5 Standar Nilai Jitter Jitter Kategori Jitter Sangat Bagus 0 ms Bagus 0 s/d 75 ms Sedang 75 s/d 125 ms Jelek 125 s/d 225 ms (Sumber: TIPHONE dan Politeknik Telkom)
2.5 TCP Three Way Handshake [5]
TCP Three Way Handshake adalah metode yang digunakan untuk membangun koneksi TCP handshake socket dan membagi socket koneksi TCP melalui jaringan. Pada prosesnya three way handshake adalah initial request yaitu permintaan untuk mengirim, replay yaitu jawaban dari host yang dituju, dan acknowladge yaitu jawaban kembali atas replay sebelumnya. Penjelasan secara rinci ketiga proses tersebut adalah sebagai berikut: 1. I nitial request TCP client memulai three way handshake dengan mengirim segmen dengan sinyal SYN (Syncrhonize Sequence Number), yang akan mengindikasikan nilai awal dari nomor sekuensial yang ada pada header. Nilai awal ini dikenal dengan dengan Initial Sequence Number (ISN), digunakan untuk memulai mengirim aliran data dari client ke server untuk sesi ini. Nilai ISN pada header dari tiap segmen akan dinaikan satu setiap data yang dikirim dari client ke server ketika percakapan data. 2. Replay TCP server perlu merespon SYN segmen ysng diterima dari client untuk membangun sesi dari client ke server. Maka server mengirim segmen balik ke client dengan ACK flag. Client akan mengenali bahwa server menerima sinyal SYN dari TCP client.
3. Acknowledge Client TCP merespon dengan segmen yang berisikan ACK yang digunakan untuk merespon TCP SYN yang dikirimkan oleh server. Ketika kedua sesi telah terbentuk antara client dan server, semua tambahan segmen yang bertukaran pada komunikasi ini akan memiliki ACK flag.
2.6 Pemrograman Socket [6]
Pada dasarnya socket adalah sebuah cara untuk berkomunikasi dengan program atau node lain menggunakan file descriptor. Antarmuka socket tidak jauh berbeda, jika pada file membukanya dengan open()maka pada socket programming menggunakan socket(). Pada file descriptor yang menjadi tujuan adalah sebuah file, sedangkan pada socket adalah komputer atau node lain. Intinya ketika sudah terhubung dengen socket(), maka antarmukanya sama dengan sebuah file.
2.6.1 Socket Stream dan Socket Datagram Pada umumnya socket ada dua macam yang sering dipakai. Yang pertama adalah socket stream (SOCKET_STREAM) dan yang kedua adalah socket datagram (SOCKET_STREAM). Untuk socket stream data yang dikomunikasikan (dikirim) secara simultan menggunakan protocol TCP, seperti yang diketahui bahwa TCP mengantar data secara simultan, selalu mengecek dan mengirim ulang jika terjadi error. Sedangakan pada socket datagram atau yang sering dikenal dengan istilah Connectionless Socket, dimana data sampai ke node lain tanpa membuat koneksi, sehingga dalam perjalanan ke tujuan data dapat saja hilang, karena tidak ada koneksi langsung antara kedua host, jika datanya sampai ke tujuan maka error free. Biasanya socket datagram ini digunakan dalam pengiriman data per paket, contohnya FTP. Sederhananya socket jenis ini hanya memancarkan saja, tidak untuk berinteraksi. Berikut adalah fungsi-fungsi umum yang digunakan pada socket programming. socket(), membuat socket. htonl(), meng-convert unsigned integer ke network byte order.
Inet_ntoa(), ntoa singkatana dari network to ASCII, nilai return-nya berupa string dari alamat yang dilawatkannya. Inet_addr(), meng-convert string menjadi network byte order. bind(), digunakan disisi cerver, untuk membuka port komunikasi. write(), send(), berfungsi untuk mengirim data. socket(), recv(), berfungsi untuk menerima data. connect(), digunakan pada sisi client untuk membangun koneksi ke server. listen(), digunakan untuk menunggu koneksi socket. accept(), digunakan untuk menerima koneksi socket. close(), digunakan untuk menutup dan mengakhiri koneksi.
2.6.2 Skema Dasar Pada TCP Socket Pada prinsipnya komunikasi pada TCP socket memiliki skema dasar agar komunikasi antara client dan server dapat terjadi. Berikut gambaran skema dasar pada TCP socket yang dapat dilihat pada Gambar 2.
Gambar 2 TCP-Based Socket
Penjelasan skema pada sisi server antara lain seperti berikut: Membentuk socket dangan socket(). Mengikat socket ke address dengan bind(). Mendengarkan koneksi pada socket dengan listen(). Dalam looping, menerima hubungan client dengan accept() atau jika ingin menutup koneksi menggunakan close(). Untuk child dari program dengan fork() agar dapat melayani banyak client sekaligus, masing-masing child akan melayani satu client. Mengirim pesan dengan menggunakan send() atau menulis dengan write(). Penutupan socket dengan menggunakan close() atau shutdown(). Mengakhiri child process dengan exit(). Penjelasan skema pada sisi client antara lain seperti berikut: Membentuk socket dengan socket(). Mendapatkan alamat server dengan gethostbyname(). Penerimaan seluruh data yang dikirim dalam looping dengan recv() atau read(). Penutupan socket dengan close().
2.7 Bahasa Pemrograman Python [6]
Python adalah salah satu bahasa pemrograman tingkat tinggi yang bersifat interpreter, interaktif, object-oriented dan dapat beroperasi dihampir semua platfrom, seperti keluarga UNIX, Mac, Windows, OS/2, ataupun yang lain. Sebagai bahasa tingkat tinggi, python termasuk salah satu bahasa pemrograman yang mudah untuk dipelajari karena syntax jelas dan elegan, dikombinasikan dengan penggunaan modul-modul siap pakai dan struktur data tingkat tinggi yang efisien. Python dapat diandalkan untuk mengerjakan hal-hal yang sangat rumit dan berhubungan dengan perhitungan dan ketelitian tingkat tinggi.
Python dikembangkan oleh Guido van Rossum (guido@python.org) pada awal tahun 1990 di Stichting Mathematisch Centrum (http://www.cwi.nl). Python sendiri dapat dikatakan merupakan penerus dari bahas ABC. Pada tahun 1995, sebagian besar pengembangan python dilakukan di Corporation for National Research Initiatives (http://www.cnri.reston.va.us). Pengembangan python saat ini dinaungi oleh Python Software Foundation, dan lisensi yang dimiliki python adalah open source. Hampir semua lisensi python kompatibel dengan GPL, kecuali python versi 1.6, 1.6.1, 2.0 dan 2.1. Lisensi python mengijinkan peneliti untuk mendistribusikan dan memodifikasi tanpa mengharuskan membuka source hasil modifikasi tersebut. Untuk mendapatkan python bisa didapat di http://www.python.org.
2.8 SSH (Secure Shell) [7]
SSH adalah protokol jaringan yang memungkinkan pertukaran data secara aman antara dua komputer. SSH dapat digunakan untuk mengendalikan komputer dari jarak jauh untuk mengirim file, membuat tunnel yang terenkripsi dan lain- lain. Protokol SSH memiliki kelebihan apabila dibandingkan dengan protokol sejenis seperti Telnet, FTP, Danrsh, karena SSH memiliki sistem otentikasi, otorisasi dan ekripsinya sendiri. Dengan penerapan tersebut maka keamanan sebuah sesi komunikasi melalui bantuan SSH menjadi lebih terjamin.
2.9 Sqlite3 [8]
SQLite merupakan sebuah sistem manajemen basisdata relasional atau RDBMS berbasis open source dan memiliki ukuran pustaka kode yang relatif kecil. Awalnya dirilis pada tahun 2000, sqlite dirancang untuk menyediakan kenyamanan pada aplikasi untuk mengelola data. Tidak seperti pada paradigma client-server umumnya, SQLite tidak memerlukan server secara terpisah karena seluruh elemen basisdata (definisi data, tabel, indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi disain tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi dimulai. Pustaka SQLite mengimplementasikan hampir seluruh elemen-elemen standar yang
berlaku pada SQL-92, termasuk transaksi yang bersifat atomic, konsistensi basisdata, isolasi, dan durabilitas (dalam bahasa inggris lebih sering disebut ACID), trigger, dan kueri-kueri yang kompleks. Tidak ada pengecekan tipe sehingga data bisa dientrikan dalam bentuk string untuk sebuah kolom bertipe integer.
2.10 Raspberry Pi [9]
Raspberry Pi adalah sebuah single board computer yang memiliki bentuk dan ukuran seperti kartu kredit. Raspberry Pi dibuat dan dikembangkan oleh sebuah perusahaan yang bernama Raspberry Foundation dari UK. Perusahaan ini membuat Rasberry Pi bertujuan untuk mempromosikan pengajaran ilmu komputer di sekolah dasar. Raspberry Pi di produksi oleh dua perusahaan manufaktur yaitu Elemen 14/ Primer Fanell dan RS Components. Kedua perusahaan tersebut juga melayani penjualan Raspberry Pi Secara online. Raspberry PI Foundation juga menyediakan distro Linux Debian dan Arch ARM sebagai sistem operasi yang dapat digunakan pada Raspberry Pi. Tabel 6 merupakan spesifikasi perbandingan Raspberry Pi model A dan model B.
Tabel 6 Spesifikasi Raspberry Pi Model A dan Model B Model A Model B SoC: Broadcom BVM2835 CPU: 700 MHz ARM 1176JZF-S core GPU: Broadcom VideoCore IV, OpenGL ES 2.0, MPEG-2 dan VC-1 Memory: 256 (Share dengan GPU) USB: 2.0 (1 buah) Video Output: Composite RCA, HDMI, LCD Panels Audio Output: 3.5 mm jack dan HDMI On Board Network: None Low Level Peripheral: GPIO, UART, dan SPI Arus: 300 mA (1.5 W) Tegangan: 5V Dimensi: 85.60 mm x 53.98 mm SoC: Broadcom BVM2835 CPU: 700 MHz ARM 1176JZF-S core GPU: Broadcom VideoCore IV, OpenGL ES 2.0, MPEG-2 dan VC-1 Memory: 512 (Share dengan GPU) USB: 2.0 (2 buah) Video Output: Composite RCA, HDMI, LCD Panels Audio Output: 3.5 mm jack dan HDMI On Board Network: 10/100 Ethernet (8P8C) Low Level Peripheral: GPIO, UART, dan SPI Arus: 700 mA (3.5 W) Tegangan: 5V Dimensi: 85.60 mm x 53.98 mm Berat: 45 g
Berat: 45 g OS: Debian, Raspbian OS, Fedora, Arch Linux ARM, RISC OS, Free BSD, Plan 9 OS: Debian, Raspbian OS, Fedora, Arch Linux ARM, RISC OS, Free BSD, Plan 9
Gambar 3 Raspberry Pi Model A (Sumber: http://www.raspberrypi.org/product/model-a/)
Gambar 3 merupakan bentuk raspberry pi model A, sedangkan Gambar 4 merupakan raspberry pi model B.
Gambar 4 Raspberry Pi Model B (Sumber: http://www.raspberrypi.org/product/model-b/)
BAB III ANALISIS DAN PERANCANGAN
Dalam pengembangan aplikasi yang diberi nama MPRRPI (Monitoring Performa Router Raspberry Pi) dikembangkan menggunakan metodologi prototype dengan melakukan tiga pendekatan, yaitu analisis kebutuhan sistem, analisis router raspberry pi dan perancangan sistem.
3.1. Perancangan Sistem Tahapan yang dilakukan dalam melakukan perancangan menggunakan metodologi prototype yang diterapkan pada proses pengembangan aplikasi MPRRPI.
Tabel 7 Tahapan Perancangan Sistem No. Fase Tahap Perancangan 1 Analisis a. Melakukan analisis kebutuhan sistem. b. Melakukan analisis router raspberry pi. c. Melakukan analisis untuk menentukan fitur sistem yang diterapkan pada aplikasi. d. Melakukan analisis performa router raspberry pi. 2 Design a. Menentukan modul-modul library Python yang dimanfaatkan oleh system b. Menjelaskan proses perancangan dengan flowchart c. Menjelaskan proses hubungan antara aktor dengan object dan class menggunakan UML d. Menentukan design pemodelan layout prototype 3 Pengembangan Prototype a. Mengembangkan bentuk prototype berdasarkan struktur model hasil tahapan design menjadi bentuk bahasa pemrograman 4 Pengujian a. Melakukan bentuk pengujian sesuai dengan menggunakan alpha dan beta 5 Evaluasi a. Melakukan evaluasi dan
penyempurnaan pada sistem secara keseluruhan
3.2. Analisis Kebutuhan Sistem Dalam melakukan penelitian dan pengembangan aplikasi MPRRPI diuraikan beberapa kebutuhan sistem dibagi mejadi empat bagian, yaitu kebutuhan perangkat lunak, kebutuhan perangkat keras, kebutuhan modul python library, dan base engine aplikasi MPRRPI. Kebutuhan sistem dijelaskan sesuai dengan kegunaan dan fungsinya.
3.1.1 Kebutuhan Perangkat Lunak Kebutuhan perangkat lunak yang digunakan dalam penelitian dan pengembangan sistem diantaranya sebagai berikut, yaitu: 1. Linux Debian Wheezy Raspbian 092013, dibutuhkan sebagai operating sistem yang digunakan untuk router raspberry pi client dan router raspberry pi server. 2. Linux Ubuntu desktop 12.04 LTS 32 bit, dibutuhkan sebagai operating sistem yang digunakan untuk PC client. 3. Tamplate web dari aplikasi MPRRPI, dikembangkan dengan menggunakan framework Django (Django 1.4). 4. Scripting yang digunakan untuk membuat modular interface web menggunakan bahasa pemrograman Python (Python v2.7.3). 5. Teks editor yang digunakan untuk compile script menggunakan gedit. 6. Database yang digunakan aplikasi MPRRPI menggunakan sqlite3. 7. Browser yang digunakan untuk mengakses aplikasi MPRRPI, menggunakan google chrome (v31.0.1650.57).
3.1.2 Kebutuhan Perangkat Keras Kebutuhan perangkat keras yang digunakan untuk keperluan pengujian sistem diantaranya sebagai berikut, yaitu:
1. Dua buah Raspberry Pi model B yang diantaranya berfungsi sebagai router raspberry pi server dan router raspberry pi client. 2. Dua buah USB to RJ45 yang digunakan pada kedua raspberry pi agar setiap raspberry pi dapat digunakan sebagai router. 3. Dua buah SD Card 16GB class 10 yang digunakan pada kedua raspberry pi sebagai media penyimpanan data dan operating sistem. 4. Dua buah adapter dengan keluaran 5v-2a yang digunakan pada setiap raspberry pi sebagai media untuk mengalirkan sumber tegangan untuk raspberry pi. 5. Satu buah PC client yang digunakan untuk melakukan pemantauan terhadap router raspberry pi server.
3.1.3 Kebutuhan Modul Python Library Dalam pengembangan aplikasi MPRRPI dibutuhkan modul-modul baik modul internal yang secara default sudah tertanam pada interpreter Python dan tidak memerlukan instalasi khusus, maupun modul eksternal adalah modul yang didapat dari luar interpreter Python, modul eksternal ini dapat digunakan sesuai dengan kebutuhan pemrograman. Secara keseluruhan aplikasi MPRRPI menggunakan kedua jenis modul tersebut, untuk memperjelas kegunaan setiap modul internal dan eksternal yang digunakan didalam perancangan aplikasi MPRRPI dijelaskan pada Tabel A.1 Lampiran A dan Tabel A.2 Lampiran A. Sedangkan untuk mengetahui penjelasan object dan method yang digunakan dalam perancangan dijelaskan pada Tabel A.3 Lampiran A dan Tabel A.4 Lampiran A.
3.1.4 Base Engine Aplikasi MPRRPI Dalam aplikasi MPRRPI memiliki satu base engine utama yang dapat diakses dan dijalankan secara terpisah, yaitu monitoring service (monitor.py). Monitoring engine ini berfungsi untuk melakukan pengujian performa dengan cara pengiriman paket dari router raspberry pi client ke router raspberry pi server, setelah itu hasil dari pengujian disimpan sebagai informasi hasil
monitoring performa, sehingga saat administrator memberikan perintah untuk melakukan capture aplikasi berjalan secara otomatis pada router raspberry pi client. Dalam pengembangan base engine memanfaatkan modul Python library, yaitu untuk mengeksekusi perintah shell melalui SSH menggunakan modul paramiko.
3.3. Analisis Router Raspberry Pi Raspberry Pi adalah sebuah Single Board Computer (SBC) yang dapat dijadikan sebagai router, dan syarat untuk menjadikan raspberry pi sebagai router harus memiliki dua interface (RJ45) yang sudah terpasang pada raspberry pi. Pada raspberry pi sudah terpasang satu buah interface (RJ45) dan oleh karena itu selanjutnya hanya perlu menambahkan satu buah interface (USB to RJ45). Setelah raspberry pi sudah siap dijadikan sebagai router dan diuji dengan sistem MPRRPI yang dikembangkan, ada beberapa tahap awal yang dilakukan yaitu konfigurasi dan instalasi router raspberry pi serta menguji performa router dengan aplikasi standar didalam pengujian, yaitu iperf dan ping.
3.3.1 Konfigurasi dan Instalasi Router Raspberry Pi Konfigurasi dilakukan agar raspberry pi dapat berfungsi sebagai router seutuhnya, konfigurasi yang diakukan diantaranya adalah konfigurasi interface eth0, interface eth1, IP Forwarding, dan NAT network. Konfigurasi tersebut dilakukan dengan mengubah file rc.local. Kode 1 adalah perintah untuk membuka file konfigurasi rc.local. $ sudo nano /etc/rc.local Kode 1 Membuka File Konfigurasi File rc.local
Perintah pada Kode 1 adalah perintah untuk membuka file rc.local menggunakan nano editor. Setelah file terbuka maka salin Kode 2, dimana kode 2 adalah isi dari konfigurasi file rc.local. Pada Kode 2 interface eth0 adalah interface yang tertanam pada raspberry pi dan terhubung dengan backbone, sedangkan interface eth1 adalah interface (USB to RJ45) tambahan yang
kemudian terhubung dengan client. Perintah echo 1 adalah perintah yang digunakan untuk mengaktifkan IP Forwarding.
# Konfigurasi untuk Interface eth0 static /sbin/ifconfig eth0 192.168.20.2/29 /sbin/route add default gw 192.168.20.1 # Konfigurasi untuk Interface eth1 static /sbin/ifconfig eth1 192.168.200.1/27 # IP Forwarding enable echo "1" >/proc/sys/net/ipv4/conf/all/forwarding # Nat untuk network 192.168.200.0/27 /sbin/iptables -t nat -A POSTROUTING -s 192.168.200.0/27 -o eth0 -j MASQUERADE Kode 2 Konfigurasi Router Raspberry Pi
Pada router raspberry pi diperlukan pengaturan untuk pemberian IP address secara otomatis pada komputer client yang terhubung dengan router, oleh sebab itu dibutuhkan DHCP server untuk mengatur kebutuhan tersebut. DHCP server yang digunakan pada router raspberry pi adalah dnsmasq. Kode 3 adalah perintah untuk melakukan instalasi dnsmasq pada router raspberry pi. $ sudo apt-get install dnsmasq Kode 3 Instalasi Dnsmasq
Setelah melakukan instalasi dnsmasq perlu dilakukan konfigurasi pada file dnsmasq.conf. Kode 4 adalah perintah untuk membuka file konfigurasi dnsmasq.conf. $ sudo nano /etc/dnsmasq.conf Kode 4 Membuka File Konfigurasi Dnsmasq.conf
Perintah pada Kode 4 adalah perintah untuk membuka file dnsmasq.conf menggunakan nano editor. Setelah file terbuka maka salin Kode 5, dimana kode 5 adalah isi dari konfigurasi file dnsmasq.conf. Perintah pada kode 5 berfungsi untuk memberikan range IP address yang diberikan kepada client yang terhubung dengam router.
interface=eth1 dhcp-range=192.168.200.10,192.168.200.20,255.255.255.224,12h Kode 5 Konfigurasi File Dnsmasq.conf 3.3.2 Performa Router Raspberry Pi Tahap awal yang dilakukan untuk menguji performa router raspberry pi menggunakan empat parameter quality of service yaitu throughput, delay, packet loss, dan jitter yang dilakukan menggunakan tools seperti iperf dan ping. Untuk jitter dan throughput menggunakan iperf dan untuk packet loss dan delay menggunakan ping. Pada Linux Debian Wheezy Raspbian 092013, aplikasi ping sudah secara default terinstal, sedangkan untuk aplikasi iperf belum terinstal. Maka perlu dilakukan instalasi iperf pada router raspberry pi, Kode 6 adalah perintah yang digunakan untuk melakukan instalasi iperf pada raspberry pi # sudo apt-get install iperf Kode 6 Instalasi Iperf
Iperf juga dapat digunakan untuk melakukan pengujian terhadap interface, sehingga pada tahap awal bukan hanya melakukan pengujian performa terhadap router raspberry pi, tetapi dilakukan pengujian standar bandwidth yang mampu diterima oleh interface (RJ45) yang tertanam pada raspberry pi dan USB to Interface (RJ45).
Gambar 5 Topologi Pengujian End to End Lokal
Gambar 5 adalah topologi pengujian yang dilakukan pada tahap awal. Pengujian dilakukan secara end to end pada jaringan lokal antara router raspberry pi client yang memiliki IP address 192.168.1.1 dan router raspberry pi server yang memiliki IP address 192.168.1.2. Dalam menguji router raspberry pi yang
dilakukan adalah dengan mengirimkan paket data dengan besaran paket yang telah ditentukan, paket data dikirim dari router raspberry pi client ke router raspberry pi server. Parameter-parameter yang digunakan dalam pengujian diantaranya adalah: 1. Pengujian Throughput Gambar 6 adalah workflow pengujian throughput menggunakan aplikasi iperf. Tahap awal yang dilakukan adalah client mengirimkan paket data kepada server dan kemudian server menerima peket data yang dikirimkan client, selanjutnya setelah data diterima oleh server maka dihitung nilai throughput yang terjadi pada proses tersebut, hasil nilai throughput yang telah dihitung kemudian dikirim pada client untuk ditampilkan.
Gambar 6 Workflow Pengujian Throughput
Didalam melakukan pengujian throughput ada dua proses yang harus dilakukan, yaitu pertama menjalankan aplikasi iperf menggunakan terminal pada sisi server (router raspberry pi server) dengan perintah seperti pada Kode 7. # iperf -s Kode 7 Iperf Throughput Server
Perintah pada Kode 7 adalah sebuah perintah untuk menjadikan router raspberry pi sebagai server. Selanjutnya menjalankan aplikasi iperf menggunakan terminal pada sisi client (router raspberry client) dengan perintah seperti pada Kode 8. # iperf c 192.168.1.1 Kode 8 Iperf Throughput Client
Perintah pada Kode 8 adalah sebuah perintah untuk menjadikan router raspberry pi sebagai client yang selanjutnya malakukan koneksi kepada server yang memiliki IP address 192.168.1.1. Setelah perintah pada Kode 7 dan Kode 8 dijalankan pada masing-masing router raspberry pi, maka dihasilkan output pengujian throughput pada router raspberry pi. Gambar 7 adalah output yang dihasilkan pada sisi client, pengujian yang dilakukan terhadap router raspberry pi server selama interval 10 sec dengan paket data yang dikirim sebesar 113 Mbytes menghasilkan nilai throughput 94.6 Mbits/sec.
iandkenzt@iandkenzt-Labs:~$ iperf -c 192.168.1.1 ----------------------------------------------------------- Client connecting to 192.168.1.1, TCP port 5001 TCP window size: 21.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.1.2 port 44865 connected with 192.168.1.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 113 MBytes 94.6 Mbits/sec
Gambar 7 Output Pengujian Throughput(Client)
Gambar 8 adalah output yang dihasilkan pada sisi server, pengujian yang dilakukan terhadap router raspberry pi server selama interval 10 sec dengan paket data yang dikirim sebesar 113 Mbytes menghasilkan nilai throughput 94.0 Mbits/sec.
pi@raspberrypi:~$ iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 44865 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.1 sec 113 MBytes 94.0 Mbits/sec
Gambar 8 Output Pengujian Throughput(Server)
2. Pengujian J itter Gambar 9 adalah workflow pengujian jitter menggunakan aplikasi iperf. Tahap awal yang dilakukan adalah client mengirimkan paket data kepada server dan kemudian server menerima peket data yang dikirimkan client, selanjutnya setelah data diterima oleh server maka dihitung nilai jitter yang terjadi pada proses tersebut, hasil nilai jitter yang telah dihitung kemudian dikirim pada client untuk ditampilkan.
Gambar 9 Workflow Pengujian Jitter
Didalam melakukan pengujian jitter ada dua proses yang harus dilakukan, yaitu pertama menjalankan aplikasi iperf menggunakan terminal pada sisi server (router raspberry pi server) dengan perintah seperti pada Kode 9. # iperf s u i l Kode 9 Iperf Jitter Server
Perintah Kode 9 adalah sebuah perintah untuk menjadikan router raspberry pi sebagai server untuk melakukan pengujian menggunakan protokol UDP (u) dengan panjang interval buffer yang dibaca (i l). Selanjutnya menjalankan aplikasi iperf menggunakan terminal pada sisi client (router raspberry client) dengan perintah seperti pada Kode 8. # iperf c 192.168.1.1 u 1M Kode 10 Iperf Jitter Client
Perintah pada Kode 10 adalah sebuah perintah untuk menjadikan router raspberry pi sebagai client yang selanjutnya malakukan koneksi dan mengirim
paket data sebesar 1 MBytes kepada server yang memiliki IP address 192.168.1.1 dengan menggunakan protocol UDP. Setelah perintah pada Kode 10 dijalankan pada masing-masing router raspberry pi, maka dihasilkan output pengujian jitter pada router raspberry pi. Gambar 10 adalah output yang dihasilkan pada sisi server, pengujian dilakukan selama interval 10 sec dengan paket data yang di- transfer oleh client sebesar 1 Mbytes.
Gambar 11 adalah output yang dihasilkan pada sisi client, pengujian yang dilakukan terhadap router raspberry pi server selama interval 10 sec dengan paket data yang dikirim sebesar 1 Mbytes menghasilkan nilai jitter 0.032 ms.
iandkenzt@iandkenzt-Labs:~$ iperf -c 192.168.1.1 -u 1M iperf: ignoring extra argument -- 1M ------------------------------------------------------------ Client connecting to 192.168.1.1, UDP port 5001 Sending 1470 byte datagrams UDP buffer size: 160 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.1.2 port 36981 connected with 192.168.1.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec [ 3] Sent 893 datagrams [ 3] Server Report: [ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 0.032 ms 0/ 893 (0%)
Gambar 11 Output Pengujian Jitter(Client)
3. Pengujian Packet loss dan Delay Gambar 12 adalah workflow pengujian packetloss dan delay menggunakan aplikasi iperf. Tahap awal yang dilakukan adalah client mengirimkan paket data kepada server dan kemudian server menerima peket data yang dikirimkan client, selanjutnya setelah data diterima oleh server maka dihitung nilai throughput yang terjadi pada proses tersebut, hasil nilai packetloss dan delay yang telah dihitung kemudian dikirim pada client untuk ditampilkan.
Gambar 12 Workflow Pengujian Packetloss dan Delay
Didalam melakukan pengujian packet loss dan delay dilakukan dengan menjalankan aplikasi ping menggunakan terminal pada sisi client (router raspberry pi client) dengan perintah seperti pada Kode 11. # ping c 10 s 100 192.168.1.1 Kode 11 Ping Packetloss dan Delay
Perintah Kode 11 adalah sebuah perintah untuk mengirim 10 paket data sebesar 100 bytes kepada server yang memiliki IP address 192.168.1.1. Gambar 13 adalah output yang dihasilkan dalam melakukan pengujian menggunakan ping disisi client. Sehingga dari pengujian packet loss dan delay menggunakan aplikasi ping, router raspberry pi server mampu menerima paket sebesar 100 bytes dengan nilai packet loss 0% dan delay 0.753 ms.
iandkenzt@iandkenzt-Labs:~$ ping -s 100 -c 10 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 100(128) bytes of data. 108 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=1.28 ms 108 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=0.652 ms 108 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=0.748 ms 108 bytes from 192.168.1.1: icmp_req=4 ttl=64 time=0.729 ms 108 bytes from 192.168.1.1: icmp_req=5 ttl=64 time=0.669 ms 108 bytes from 192.168.1.1: icmp_req=6 ttl=64 time=0.596 ms 108 bytes from 192.168.1.1: icmp_req=7 ttl=64 time=0.727 ms 108 bytes from 192.168.1.1: icmp_req=8 ttl=64 time=0.719 ms 108 bytes from 192.168.1.1: icmp_req=9 ttl=64 time=0.672 ms 108 bytes from 192.168.1.1: icmp_req=10 ttl=64 time=0.739 ms --- 192.168.1.1 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 9000ms rtt min/avg/max/mdev = 0.596/0.753/1.284/0.184 ms
Gambar 13 Output Pengujian Packet loss dan Delay
4. Pengujian Bandwidth Ethernet (I nterface RJ 45) Raspberry Pi Untuk mengetahui standar bandwidth yang dimiliki ethernet (Disebut: Interface RJ45) pada raspberry pi maka dilakukan pengujian standar bandwidth untuk mengetahui seberapa besar bandwidth yang mampu diterima oleh interface RJ45 yang tertanam pada raspberry pi. Gambar 14 merupakan gambaran
pengujian yang dilakukan untuk mengetahui nilai standar bandwidth interface RJ45 pada raspberry pi, yaitu dengan menghubungkan kedua raspberry pi melalui kedua interface RJ45 tersebut.
Gambar 14 Pengujian Bandwidth Interface RJ45 Raspberry Pi
Didalam melakukan pengujian bandwidth interface RJ45 raspberry pi dilakukan dengan cara sama seperti dalam melakukan pengujian throughput. Gambar 15 adalah output yang dihasilkan pada sisi client, pengujian dilakukan selama interval 10 sec dengan paket data yang dikirim sebesar 113 Mbytes menghasilkan nilai throughput 94.0 Mbits/sec. Sehingga dari pengujian bandwidth interface (RJ45) raspberry pi adalah interface pada raspberry pi, bandwidth sebenarnya yang diterima oleh interface adalah sebesar 94.0 Mbits/sec.
pi@raspberrypi:~$ iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 44865 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.1 sec 113 MBytes 94.0 Mbits/sec
Gambar 15 Output Pengujian Interface (RJ45) Raspberry Pi
5. Pengujian Bandwidth Ethernet USB to RJ 45 Untuk mengetahui standar bandwidth ethernet (Disebut: interface USB to RJ45) yang ditambahkan pada raspberry pi maka dilakukan pengujian standar bandwidth untuk mengetahui seberapa besar bandwidth yang mampu diterima oleh interface USB to RJ45 tambahan tersebut. Gambar 16 merupakan gambaran pengujian yang dilakukan untuk mengetahui nilai standar bandwidth interface USB to RJ45, yaitu dengan menghubungkan kedua raspberry pi melalui kedua interface USB to RJ45 tersebut.
Gambar 16 Pengujian Bandwidth Interface USB to RJ45
Untuk melakukan pengujian bandwidth interface (RJ45) raspberry pi dilakukan dengan cara sama seperti dalam melakukan pengujian throughput. Gambar 17 adalah output yang dihasilkan pada sisi client, pengujian dilakukan selama interval 10 sec dengan paket data yang dikirim sebesar 99.8 Mbytes menghasilkan nilai throughput 83.2 Mbits/sec. Sehingga dari pengujian bandwidth interface (RJ45) raspberry pi adalah interface pada raspberry pi, bandwidth sebenarnya yang diterima oleh interface adalah sebesar 83.2 Mbits/sec. pi@raspberrypi:~$ iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 44865 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.1 sec 99.8 MBytes 83.2 Mbits/sec Gambar 17 Output Pengujian Interface USB to RJ45
3.4. Perancangan Sistem Didalam perancangan sistem menjelaskan tentang detail perancangan sistem pada aplikasi MPRRPI yang menggunakan pendekatan workflow, flowchart, UML (Unifield Modelling Language) yang terdiri dari use case dan activity diagram, serta perancangan layout prototype.
3.4.1 Workflow Sistem Untuk menggambarkan cara kerja sistem dari aplikasi yang dikembangkan dibuat workflow yang memperlihatkan setiap tahapan proses yang dilakukan oleh user dan sistem.
Gambar 18 Workflow Sistem MPRRPI
Gambar 18 merupakan workflow dari aplikasi MPRRPI, berikut adalah penjelasan dari setiap tahapan proses yang dilakukan sesuai dengan penomoran yang telah ditentukan. 1. Administrator membuka sebuah web browser melalui PC client, kemudian mengakses URL IP address router raspberry pi client yang merupakan
tempat disimpannya aplikasi MPRRPI (melalui http://192.168.xxx.xxx:8000). 2. Setelah halaman aplikasi MPRRPI tampil pada browser, administrator melakukan login terlebih dahulu untuk melakukan proses validasi sistem agar dapat masuk pada laman utama aplikasi. Setelah proses validasi berhasil dan halaman utama tampil, selanjutnya administrator melakukan konfigurasi dan capture performa router raspberry pi server. 3. Setelah proses capturing berhasil, maka didapatkan informasi performa router raspberry pi server. Selanjutnya seluruh data hasil monitoring dikirim kepada router raspberry pi client. 4. Data hasil monitoring yang diterima oleh router raspberry pi client, kemudian disimpan kedalam database (sqlite3) sebagai file log. 5. Selanjutnya data log diambil untuk dikonversi menjadi sebuah informasi monitoring oleh ORM Django, kemudian data tersebut dikirim pada tamplate aplikasi. 6. Proses terakhir adalah proses dimana data yang telah dikonversi oleh ORM Django ditampilkan pada tamplate aplikasi sebagai report yang ditampilkan dalam bentuk grafik, teks, dan angka.
3.4.2 Flowchart Pada pengembangan aplikasi MPRRPI digambarkan dengan menggunakan metode perancangan sistem dengan melakukan pendekatan berdasarkan flowchart. Setiap flowchart dijelaskan secara berurutan sesuai dengan penomoran blok.
3.4.2.1 Main Flowchart Aplikasi MPRRPI Seperti yang ditunjukan pada Gambar B.1 Lampiran B dijelaskan flowchart sistem dari main flowchart aplikasi MPRRPI. Setiap inisialisasi, proses, decision, dan output pada flowchart ditandai dengan penomoran blok secara berurutan. Berikut adalah penjelasan setiap nomor pada main flowchart aplikasi MPRRPI.
1. Merupakan state awal dari aplikasi. 2. Pada state ini administrator melakukan login terlebih dahulu untuk dapat masuk pada halaman aplikasi, dengan memasukan username dan password. Pada aplikasi ini hanya memberikan akses terhadap administrator jaringan yang telah ditentukan, sehingga pada aplikasi MPRRPI tidak terdapat menu sign up. 3. Pada state decision ini dilakukan validasi username dan password yang dimasukan oleh administrator. Apabila username dan password valid dan sesuai dengan parameter yang telah ditentukan sebelumnya, maka sistem menuju pada state selanjutnya, yaitu state empat. Sedangkan apabila validasi username dan password tidak sesuai dengan parameter maka sistem kembali pada state sebelumnya, yaitu state dua. Untuk potongan source code yang digunakan pada state decision ini dapat dilihat pada Bab 4 Implementasi Gambar 20 Implementasi Validasi Login. 4. Jika proses validasi berhasil maka administrator dihadapkan pada dua pilihan, yaitu menu capture dan report. Apabila menu capture dipilih, maka proses selanjutnya menuju state 5, sedangkan apabila administrator memilih menu report maka proses selanjutnya menuju state 6. 5. Jika menu capture yang dipilih, maka sistem menampilkan halaman capture, dimana pada halaman tersebut terdapat menu konfigurasi capture yang di-breakdown pada sub bab 3.4.2.2 tentang flowchart sub proses capture. 6. Jika menu report yang dipilih, maka sistem menampilkan halaman report, dimana pada halaman tersebut terdapat menu report yang menampilkan hasil monitoring berupa info grafik dan info data yang di breakdown pada sub bab 3.4.2.3 tentang flowchart report. 7. Pada state decision ini apabila administrator melakukan request untuk keluar (logout) dari aplikasi, maka sistem keluar dari aplikasi, sedangkan apabila administrator melakukan cancel maka sistem kembali pada state 4. Untuk potongan source code yang digunakan pada state decision ini dapat
dilihat pada Bab 4 Implementasi Gambar 21 Implementasi Request Logout 8. State end adalah state akhir dari aplikasi, jika administrator tidak melakukan apapun terhadap sistem maka sistem masuk pada state ini.
3.4.2.2 Flowchart Sub Proses Capture Seperti yang ditinjukan pada Gambar B.2 Lampiran B dijelaskan flowchart sistem tentang sub proses capture pada aplikasi MPRRPI. Setiap inisialisasi, proses, decision, dan output pada flowchart ditandai dengan penomoran blok secara berurutan. Berikut adalah penjelasan setiap nomor pada capture flowchart aplikasi MPRRPI. 1. Merupakan state awal pada sub proses untuk pembentukan sebuah service monitoring. 2. Pada state ini dibuat sebuah konfigurasi untuk melakukan request terhadap router raspberry pi client menggunakan jalur SSH (port 22) dengan memanfaatkan modul paramiko, dimana administrator harus memasukan seluruh parameter yang dibutuhkan, diantaranya IP address, username SSH, dan password SSH. Untuk potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 22 Implementasi Request Koneksi SSH. 3. Pada decision ini sistem melakukan pengecekan IP address router raspberry pi server, jika terjadi error itu karena server mengalami down atau parameter IP address yang dimasukan oleh administrator tidak sesuai dengan parameter IP address router raspberry pi server yang telah ditentukan sebelumnya, sehingga proses selanjutnya dibatalkan, kemudian kembali pada state 2 dan apabila tidak terjadi error maka dilanjutkan pada state berikutnya, yaitu state 4. 4. Pada state ini koneksi antara client dan router raspberry pi server telah terhubung, kemudian sistem membangkitkan base engine service monitoring. Didalam base engine service monitoring terdapat proses-proses untuk mendapatkan informasi tentang performa router raspberry pi server
yang di-breakdown pada sub bab 3.4.2.4 tentang flowchart service monitoring qos. 5. Pada state ini data hasil capture monitoring yang dilakukan oleh monitoring sercvice selanjutnya disimpan kedalam database. Untuk potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 31 Implementasi Store Result Monitoring. 6. State end capture ini adalah state terakhir, dimana kondisi aplikasi dikembalikan ke menu utama secara otomatis.
3.4.2.3 Flowchart Sub Proses Report Seperti yang ditinjukan pada Gambar B.3 Lampiran B dijelaskan flowchart sistem tentang sub proses report pada aplikasi MPRRPI. Setiap inisialisasi, proses, decision, dan output pada flowchart ditandai dengan penomoran blok secara berurutan. Berikut adalah penjelasan setiap nomor pada report flowchart aplikasi MPRRPI. 1. Merupakan state awal pada sub proses report. 2. Pada decision ini sistem memberikan pilihan untuk mengakses halaman informasi performa router raspberry pi. 3. Pada state ini seluruh informasi hasil monitoring router raspberry pi server ditampilkan secara rinci dalam bentuk tabel. Untuk potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 23 Implementasi Request Report. 4. Pada decision ini sistem memberikan pilihan untuk mengakses halaman informasi grafik performa router raspberry pi. 5. Pada state ini seluruh informasi hasil monitoring router raspberry pi server ditampilkan secara rinci dalam bentuk grafik. Untuk potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 23 Implementasi Request Report. 6. State end report ini adalah kondisi aplikasi dikembalikan ke menu utama apabila mengakhiri sub proses report.
3.4.2.4 Flowchart Sub Proses Service Monitoring QOS Seperti yang ditinjukan pada Gambar B.4 Lampiran B dijelaskan flowchart sistem tentang sub proses service monitoring performa router raspberry pi pada aplikasi MPRRPI. Setiap inisialisasi, proses, decision, dan output pada flowchart ditandai dengan penomoran blok secara berurutan. Berikut adalah penjelasan setiap nomor pada flowchart service monitoring qosaplikasi MPRRPI. 1. Merupakan state awal pada sub proses quality of service. 2. Pada state ini dibuat sebuah inisialisasi variabel destination address, packet size, count packet, timeout, socket. Variabel tersebut memiliki tugas sebagai parameter dalam melakukan pengujian quality of service. 3. Pada state ini terjadi proses pembukaan socket router raspberry pi client sebagai langkah awal untuk membangun koneksi dengan router raspberry pi server. Untuk potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 24 Implementasi Open Socket. 4. Pada decision ini sistem melakukan pengecekam socket, sehingga jika socket tidak tersedia atau sedang dipakai maka sistem memberikan informasi error dan secara otomatis sistem mengembalikan kembali pada state sebelumnya, yaitu state 2. Apabila socket tersedia maka dilanjutkan ke state berikutnya yaitu transmit packet. 5. Pada state ini komunikasi antara router raspberry pi client dan router raspberry pi server sudah terbentuk, selanjutnya terjadi proses pengiriman packet oleh router raspberry pi client kepada router raspberry pi server. Untuk potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 25 Implementasi Send Packet. 6. Pada state ini paket yang dikirim oleh router raspberry pi client diterima dan kemudian dibuat sebuah pengembalian nilai yang digunakan pada state berikutnya. Nilai yang dikembalikan ditampung dalam variabel plist. Untuk potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 26 Implementasi Receive Packet.
7. Pada state ini dibuat sebuah inisialisasi variabel yang digunakan untuk menampung nilai perhitungan. Variabel tersebut memiliki tugas sebagai parameter dalam melakukan perhitungan quality of service. 8. Pada decision ini sistem melakukan validasi perhitungan delay, jika valid selanjutnya menuju state 9, yaitu pengukuran delay. Jika tidak valid maka menuju state 16. 9. Pada state ini adalah proses perhitungan delay. Perhitungan delay sesuai dengan rumus perhitungan quality of service delay. Detail rumus delay dapat dilihat pada Rumus 4 Perhitungan Delay dan potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 27 Implementasi Measure Delay 10. Pada decision ini sistem melakukan validasi untuk perhitungan packet loss, jika valid selanjutnya menuju state 11, yaitu pengukuran packet loss. Jika tidak valid maka menuju state 16. 11. Pada state ini adalah proses perhitungan packet loss. Perhitungan packet loss sesuai dengan rumus perhitungan quality of service packet loss. Detail rumus packet loss dapat dilihat pada Rumus 3 Perhitungan Packet Loss dan untuk potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 28 Implementasi Measure Packet loss. 12. Pada decision ini sistem melakukan validasi untuk perhitungan jitter, jika valid selanjutnya menuju state 13, yaitu pengukuran jitter. Jika tidak valid maka menuju state 16. 13. Pada state ini adalah proses perhitungan jitter. Perhitungan packet loss sesuai dengan rumus perhitungan quality of service jitter. Detail rumus jitter dapat dilihat pada Rumus 5 Perhitungan Jitter dan untuk potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 29 Implementasi Measure Jitter. 14. Pada decision ini sistem melakukan validasi untuk perhitungan throughput, jika valid selanjutnya menuju state 15, yaitu pengukuran throughput. Jika tidak valid maka menuju state 16.
15. Pada state ini adalah proses perhitungan throughput. Perhitungan throughput sesuai dengan rumus perhitungan quality of service throughput. Detail rumus throughput dapat dilihat pada Rumus 1 Perhitungan Throughput dan untuk potongan source code yang digunakan pada state ini dapat dilihat pada Bab 4 Implementasi Gambar 30 Implementasi Measure Throughput. 16. Pada state ini koneksi socket antara router raspberry pi server dan router raspberry pi client ditutup. 17. Pada state ini seluruh informasi hasil quality of service ditampilkan secara rinci. 18. Pada state end service monitoring qos ini adalah akhir dari sub proses service monitoring qos.
3.4.3 UML (Unified Modelling Language) Setelah melakukan perancangan menggunakan pendekatan flowchart yang sudah dijelaskan pada sub bab sebelumnya, maka untuk selanjutnya dilakukan perancangan menggunakan pendekatan UML. Pada perancangan UML dijelaskan secara detail tentang keterkaitan hubungan antara aktor, objek, dan kelas pada perancangan aplikasi MPRRPI.
3.4.3.1 Use Case Diagram Use case diagram merupakan diagram yang menggambarkan kasus yang ditangani oleh sistem. Gambar 19 menjelaskan interaksi antara aktor administrator dengan komponen-komponen utama pada sistem, yaitu capture dan report.
Gambar 19 Use Case Diagram Aplikasi MPRRPI
Pada Gambar 19 terlihat aktor administrator mengerjakan dua kasus didalam sistem aplikasi MPRRPI, yaitu capture dan report. Berikut adalah penjelasan dari setiap aksi yang dilakukan aktor administrator. 1. Capture Didalam kasus monitoring sebelum aktor administrator melakukukan monitoring terhadap router raspberry pi server, aktor administrator diharuskan memasukan dengan benar parameter-parameter yang telah ditentukan oleh sistem, diantaranya username SSH (username sudoers router raspberry pi server), password (password sudoers router raspberry pi server), dan IP address router raspberry pi server yang dimonitor. 2. Report Setelah proses capture terhadap router raspberry pi server, selanjutnya aktor administrator melihat report dari hasil capture yang secara otomatis ditampilkan oleh sistem dengan beberapa action tambahan untuk mempermudah dalam melihat report hasil capture.
3.4.3.2 Activity Diagram Activity diagram adalah suatu metode untuk menggambarkan macam- macam tahapan proses dalam sebuah sistem yang sedang dirancang, diantaranya
adalah bagaimana awal suatu alur proses dari sebuah sistem dimulai, decision yang mungkin terjadi didalam sistem, dan bagaimana alur sebuah proses berakhir. Berikut adalah perancangan activity diagram pada sistem MPRRPI. 1. Activity Diagram Capture Gambar B.5 pada Lampiran B, merupakan sebuah bentuk gambaran activity diagram dalam aplikasi MPRRPI. Pada Gambar B.5 digambarkan tahap awal suatu proses didalam sistem, yaitu administrator melakukan penginputan parameter untuk melakukan capture, selanjutnya dilakukan proses validasi sebelum proses monitoring berjalan, dan tahap terakhir dari proses activity diagram aplikasi MPRRPI adalah menampilkan report hasil monitoring yang di- breakdown pada activity diagram report. 2. Activity DiagramReport Gambar B.6 pada Lampiran B, merupakan sebuah bentuk gambaran activity diagram dalam aplikasi MPRRPI yang menjelaskan proses yang terjadi saat administrator melakukan request pada halaman report, dimana pada aplikasi MPRRPI memiliki fitur report diantaranya adalah report grafik dan data hasil monitoring.
3.4.3.3 Sequence Diagram Sequence diagram merupakan diagram untuk menggambarkan alur perilaku sebuah sistem dalam melakukan activity diagram agar memberikan kejelasan interaksi diantara method. 1. Sequence Diagram Capture Gambar B.7 pada Lampiran B, merupakan bentuk sequence diagram capture pada aplikasi MPRRPI, dimana dalam sequence tersebut digambarkan prilaku sistem pada saat administrator melakukan capture. 2. Sequence Diagram Report Gambar B.8 pada Lampiran B, merupakan bentuk sequence diagram report pada aplikasi MPRRPI, dimana dalam sequence tersebut digambarkan prilaku sistem pada saat administrator melakukan aksi untuk melakukan report.
3.4.4 Perancangan Layout Prototype Layout prototype aplikasi MPRRPI ini dirancang dengan malakukan pendekatan terminologi prototype sebagai media interaksi antara manusia dan komputer. Terminologi prototype yang digunakan adalah Mid-fidelity Prototyping, terminologi ini menggambarkan navigasi dan fungsi yang ditampilkan dengan tingkat ketepatan sedang. 1. Layout PrototypeLogin Seperti yang dilihat pada Gambar B.9 pada Lampiran B merupakan layout untuk tampilan aplikasi MPRRPI yang pertama muncul adalah form login, karena menu aplikasi tidak dapat diakses tanpa login kedalam aplikasi terlebih dahulu. Pada bagian login terdiri dari satu bagian menu login, yaitu form login aplikasi. 2. Layout Prototype Capture Panel Seperti yang dilihat pada Gambar B.10 pada Lampiran B merupakan layout untuk tampilan utama capture panel pada aplikasi MPRRPI yang berisi satu menu utama yaitu capture quality of service. Untuk memperjelas kegunaan dari setiap bagian yang ada didalam tampilan layout prototype capture panel, dijelaskan pada Tabel 8 sesuai dengan penomoran.
Tabel 8 Keterangan Prototype Capture Panel No. Label Keterangan 1. Header Berisikan nama aplikasi dan menu logout. 2. Menu Berisikan tiga pilihan menu, Beranda, Laporan, dan Grafik QoS. 3. Capture Menu Berisikan parameter-parameter yang digunakan untuk keperluan capture monitoring, seperti form username, password, dan IP address router raspberry pi server.
3. Layout Prototype Report Panel Seperti yang dilihat pada Gambar B.11 pada Lampiran B merupakan layout untuk tampilan utama report panel pada aplikasi MPRRPI yang berisi satu menu utama yaitu report quality of service. Untuk memperjelas kegunaan dari
setiap bagian yang ada didalam tampilan layout prototype report panel, dijelaskan pada Tabel 9 sesuai dengan penomoran.
Tabel 9 Keterangan Report Panel No. Label Keterangan 1. Header Berisikan nama aplikasi dan menu logout. 2. Menu Berisikan tiga pilihan menu, Beranda, Laporan, dan Grafik QoS. 3. Report Panel Berisikan informasi data monitoring quality of service router raspberry pi server, informasi didalamnya meliputi delay, packet loss, jitter, dan throughput.
4. Layout Prototype Graph Panel Seperti yang dilihat pada Gambar B.12 pada Lampiran B merupakan layout untuk tampilan utama report panel pada aplikasi MPRRPI yang berisi empat menu utama yaitu delay, packet loss, jitter, dan throughput. Untuk memperjelas kegunaan dari setiap bagian yang ada didalam tampilan layout prototype graph panel, dijelaskan pada Tabel 10 sesuai dengan penomoran.
Tabel 10 Keterangan Graph Panel No. Label Keterangan 1. Header Berisikan nama aplikasi dan menu logout. 2. Menu Berisikan tiga pilihan menu, Beranda, Laporan, dan Grafik QoS. 3. Grafik Delay Menu Berisikan tentang informasi Delay router raspberry pi server dalam bentuk grafik. 4. Grafik Packet Loss Menu Berisikan tentang informasi Packet loss router raspberry pi server dalam bentuk grafik. 5. Grafik Jitter Menu Berisikan tentang informasi Jitter router raspberry pi server dalam bentuk grafik. 6. Grafik Throughput Menu Berisikan tentang informasi Throughput router raspberry pi server dalam bentuk grafik.
BAB IV IMPLEMENTASI
Untuk mendukung kebutuhan implementasi dilakukan instalasi kebutuhan sistem, implementasi Python script, dan konfigurasi sistem pada aplikasi MPRRPI. Tahapan tersebut dilakukan pada Router Raspberry PI Client dan Router Raspberry PI Server. Router Raspberry PI Server merupakan router yang performanya dipantau oleh aplikasi MPRRPI, sedangkan Router Raspberry PI Client merupakan router yang digunakan untuk menjalankan aplikasi MPRRPI yang bertugas untuk melakukan pemantauan performa terhadap Router Raspberry PI Server. Setiap Router Raspberry PI dibangun dengan operating system yang sama, yaitu Debian Wheezy Raspbian 092013 32 bit. Tahapan pertama yang dilakukan untuk implementasi adalah instalasi kebutuhan sistem. Diantaranya melakukan instalasi kebutuhan library Python. Setelah instalasi kebutuhan library berhasil, selanjutnya dilakukan implementasi Python script untuk membangun engine monitoring, tahap terakhir yaitu melakukan konfigurasi terhadap router raspberry pi client untuk menjalankan engine yang telah dibangun. Tahapan konfigurasi dimulai dari menjalankan web server yang berguna untuk menampilkan aplikasi melalui sebuah web browser.
4.1 Instalasi Kebutuhan Sistem Untuk mengembangkan aplikasi MPRRPI dibutuhkan beberapa library Python yang harus tertanam pada sistem. Tahap instalasi kebutuhan sistem pada router raspberry pi client keseluruhan dibangun menggunakan terminal dan router raspberry pi client harus terhubung dengan koneksi internet agar proses download dan instalasi dapat dilakukan, berikut adalah beberapa tahapan instalasi kebutuhan sistem pada router raspberry pi client.
4.1.1 Update Repository Debian Wheezy Raspbian
Update repository adalah tahap awal didalam melakukan instalasi kebutuhan sistem, update repository bertujuan untuk melakukan update package pada operating system wheezy raspbian, sehingga dapat meningkatkan performa seluruh sistem yang tertanam pada operating system wheezy raspbian. Kode 12 adalah perintah untuk melakukan update repository. $ apt-get update Kode 12 Update Repository Wheezy Raspbian
4.1.2 Instalasi Sqlite3 Tahap selanjutnya adalah melakukan instalasi Sqlite3 sebagai database yang digunakan untuk keperluan sistem. Kode 13 adalah perintah untuk melakukan instalasi sqlite3. $ apt-get install sqlite3 Kode 13 Install Sqlite3
4.1.3 Instalasi Library Python Tahap selanjutnya adalah melakukan instalasi library Python yang berguna untuk development sistem. Kode 14 adalah perintah untuk melakukan instalasi library python. $ apt-get install Python-setuptools Python-pip Kode 14 Install Library Python
Perintah pada Kode 14 terdiri dari dua bagian yang memiliki fungsionalitas berbeda. Python-setuptools adalah utilitas tambahan yang berfungsi untuk membantu dalam melakukan instalasi paket dan manajemen dari pypi.python.org, sedangakan Python-pip adalah paket library tambahan yang berfungsi sebagai sebuah installer Python.
4.1.4 Instalasi Modul Library Python Tahap selanjutnya adalah melakukan instalasi modul-modul Python untuk mendukung kebutuhan sistem. List kebutuhan modul-modul library Python sudah
didalam file requeirments.txt, untuk melihat list modul yang digunakan, dapat dilihat dengan menggunakan perintah seperti pada Kode 15.
$ cat requeirments.txt Kode 15 Perintah Mengetahui Rincian Modul Yang Digunakan
Modul yang digunakan terdiri dari dua modul, yaitu paramiko dan django versi 1.4.0. Tujuan dibuatnya file requeirments.txt adalah agar proses instalasi modul dapat dilakukan dengan hanya satu kali perintah. Kode 16 adalah perintah yang digunakan untuk instalasi modul dari file requeirments.txt dari repository pip. $ pip install -r requeirments.txt Kode 16 Perintah Instalasi File requerments.txt
4.2 Implementasi Python Script Tahap selanjutnya adalah melakukan implementasi script atau implementasi coding menggunakan Python programming. Dalam mengimplementasikan script sesuai dan mengikuti flowchart yang telah dirancang pada Bab 3.
4.2.1 Implementasi Validasi Login Gambar 20 merupakan potongan source code untuk melakukan proses validasi login user. Input yang diberikan oleh user ditangkap oleh sistem dengan perintah request.POST.get(username) dan selanjutnya melewati dua proses pengecekan. Apabila parameter yang diberikan sesuai maka sistem menampilkan menu utama aplikasi dengan perintah HttpResponseRedirect(/beranda/), jika parameter yang dimasukan tidak sesuai maka sistem menolak dan kemudian menampilkan menu login dengan perintah HttpResponseRedirect(/).
4.2.2 Implementasi Request Logout Gambar 21 merupakan potongan source code untuk melakukan proses request logout. Proses yang terjadi adalah user malakukan request pada sistem menggunakan def logout(request), selanjutnya sistem menangkap dengan perintah auth.logout(request), sehingga sistem melakukan proses logout. def logout(request): auth.logout(request) return HttpResponseRedirect('/') Gambar 21 Implementasi Request Logout
4.2.3 Implementasi Request Koneksi SSH Gambar 12 merupakan potongan source code untuk melakukan proses request koneksi SSH antara router raspberry pi client dan router raspberry pi server. Parameter yang digunakan untuk membangun komunikasi tersebut menggunakan perintah self._transport_live = True, perintah tersebut
mengaktifkan jalur komunikasi antara router raspberry pi client dan router raspberry pi server melalui port 22, setelah komunikasi diantara keduanya terbangun kemudian sistem menghubungkan antara keduanya dengan perintah self._transport.connect(username=username,password=password), parameter username dan password harus sesuai dengan username dan password target, yaitu router raspberry pi server. def connection(self, port=22, host='192.168.100.1', username='admin', password='admin' ): self._transport = paramiko.Transport((host, port)) self._transport_live = True self._transport.connect(username=username,password= password) return self._tranport_live Gambar 22 Implementasi Request Koneksi SSH
4.2.4 Implementasi Request Report Gambar 23 merupakan potongan source code untuk melakukan proses request report hasil monitoring. Saat administrator melakukan request report sistem menangkap request administrator menggunakan def info_detail(request), kemudian sistem memproses request tersebut dengan perintah return render_to_response('report.html', locals(),context_instance=RequestContext(request)). Perintah tersebut berfungsi mengembalikan nilai hasil monitoring kepada administrator. @login_required() def info_detail(request): try: return render_to_response('report.html', locals(),context_instance=RequestContext(request)) Gambar 23 Implementasi Request Report
4.2.5 Implementasi Open Socket Gambar 24 merupakan potongan source code untuk melakukan proses open scoket. Parameter yang digunakan adalah icmp dan my_socket. Icmp adalah parameter yang dibentuk dari instansiasi kelas socket.getprotobyname("icmp") yang bertugas mengirim pesan-pesan kesalahan. Sedangkan my_socket adalah parameter ini dibentuk dari instansiasi kelas socket.socket(socket.AF_INET,socket.SOCK_STREAM,icmp). AF_INET merupakan address family untuk IPV4 dan SOCK_STREAM merupakan tipe socket yang digunakan untuk membentuk tipe socket dengan protocol TCP (Connection oriented).
4.2.6 Implementasi Send Packet Gambar 25 merupakan potongan source code untuk melakukan send packet. Perintah yang digunakan untuk melakukan send packet adalah my_socket.sendto(packet, (dest_addr, 1)), dimana perintah tersebut terbentuk dari sebuah instansiasi kelas open socket. Packet merupakan parameter yang memiliki nilai dari jumlah paket yang dikirimakan, sedangkan dest_addr merupakan IP address yang dituju untuk mengirimkan paket.
4.2.7 Implementasi Receive Packet Gambar 26 merupakan potongan source code untuk melakukan receive packet. Receive packet merupakan proses dalam menangkap paket yang datang. Parameter time_received merupakan parameter yang terbentuk dari instansiasi waktu kedatangan paket. Kemudian parameter receives_packet merupakan parameter yang terbentuk dari instansiasi dalam penerimaan pesan paket yang dikirimkan melalui socket yang terbentuk sebelumnya dan icmpHeader adalah header icmp yang diterima. Selanjutnya paket yang diterima dijadikan satu kesatuan didalam icmp header menggunakan perintah struct.unpack( "bbHHh",icmpHeader), ini bertujuan untuk menunjukan posisi pertama pada byte data pertama dari segmen. Parameter ttime merupakan parameter yang terbentuk dari pengurangan waktu kedatangan paket dengan waktu pengiriman paket kembali.
4.2.8 Implementasi Measure Delay Gambar 27 merupakan potongan source code untuk melakukan measure delay. Parameter plist merupakan parameter yang terbentuk pada saat proses penerimaan paket, didalam parameter tersebut tersimpan semua hasil waktu dalam proses penerimaan paket. Parameter totalDataReceive merupakan total jumlah paket data yang diterima, totalDelay merupakan total seluruh waktu setiap pengiriman paket dan parameter delay merupakan parameter yang
terbentuk dari hasil perhitungan untuk mendapatkan waktu yang dibutuhkan data untuk menempuh jarak dari asal ke tujuan.
4.2.9 Implementasi Measure Packet Loss Gambar 28 merupakan potongan source code untuk melakukan measure packet loss. Parameter plist merupakan parameter yang terbentuk pada saat proses penerimaan paket, didalam parameter tersebut tersimpan semua hasil waktu dalam proses penerimaan paket. Parameter totalDataReceive merupakan total jumlah paket data yang diterima dan parameter packetLosss merupakan parameter yang terbentuk dari hasil perhitungan untuk mendapatkan hasil dari kondisi jumlah paket yang hilang saat pengiriman paket.
4.2.10 Implementasi Measure J itter Gambar 29 merupakan potongan source code untuk melakukan measure jitter. Parameter plist merupakan parameter yang terbentuk pada saat proses penerimaan paket, didalam parameter tersebut tersimpan semua hasil waktu dalam proses penerimaan paket. Parameter totalVarianDelay merupakan parameter yang terbentuk dari perhitungan untuk mendapatkan nilai variasi pada
parameter plist, parameter totalDataReceive merupakan total jumlah paket data yang diterima dan parameter jitter merupakan parameter yang terbentuk dari hasil perhitungan untuk mendapatkan hasil variasi kedatangan paket yang diterima.
if plist: # Varian Delay sdlist = [] sdvarian = [] sumplist = sum(plist) lenplist = len(plist) mean = sum(plist)/len(plist) for i in plist: varian = i - mean sd = varian * varian sdlist.append(sd) sdvarian.append(varian) totalsd = sum(sdlist) variansi = totalsd / (len(plist)-1) totalVarianDelay = sqrt(variansi) totalDataReceive = len(plist) jitter = totalVarianDelay / totalDataReceive
Gambar 29 Implementasi Measure Jitter
4.2.11 Implementasi Measure Throughput Gambar 30 merupakan potongan source code untuk melakukan measure throughput. Parameter plist merupakan parameter yang terbentuk pada saat proses penerimaan paket, didalam parameter tersebut tersimpan semua hasil waktu dalam proses penerimaan paket dengan satuan ms (milisecond). Parameter totalDataReceive merupakan total jumlah paket data yang diterima, parameter timesTransmit merupakan parameter yang terbentuk dari hasil lama pangamatan dalam melakukan pengiriman paket, parameter throughput merupakan parameter yang terbentuk dari hasil perhitungan untuk mendapatkan
hasil efektif pengiriman paket data dan parameter standarThroughput merupakan parameter yang terbentuk dari hasil perhitungan throughput dan bandwidth untuk mendapatkan nilai standar nilai throughput.
4.2.12 Implementasi Store Result Monitoring Gambar 31 merupakan potongan source code untuk melakukan store result monitoring. Variabel service merupakan object yang dibentuk dari instansiasi kelas models django. Perintah service.sizePacket = sizePacket adalah salah satu perintah untuk insert data ke dalam database dan perintah service.save() merupaka perintah untuk menyimpan seluruh data ke dalam database.
Tahapan selanjutnya adalah melakukan konfigurasi web server agar aplikasi MPRRPI dapat dijalankan pada sistem router raspberry pi client. Kode 17 adalah perintah yang digunakan untuk menjalankan web server, sehingga dapat membuat sebuah daemon yang berjalan dibelakang layar. $ python manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 & Kode 17 Konfigurasi Web Server
Perintah perintah tersebut merupakan perintah untuk menjalankan service django. Inisialisasi 0.0.0.0:8000 memiliki fungsi agar web server dapat diakses menggunakan alamat tersebut dengan menggunakan port 8000. Sedangakan > /dev/null 2>&1 & memiliki fungsi agar service django dapat berjalan membentuk daemon yang bekerja dibelakang layar.
4.4 Menampilkan Aplikasi MPRRPI Gambar 32 berikut merupakan alamat URL yang digunakan untuk menampilkan aplikasi MPRRPI melalui web browser di PC client yang terhubung dengan router raspberry pi client.
Gambar 32 Tampilan Halaman Aplikasi MPRRPI
Setelah halaman aplikasi dapat ditampilkan pada display web browser PC client, sehingga dapat diambil kesimpulan bahwa aplikasi MPRRPI telah berhasil diimplementasikan kedalam router raspberry pi client dan dapat berjalan untuk proses capture terhadap router raspberry pi server.
BAB V PENGUJIAN
Berdasarkan implementasi yang telah dilakukan, selanjutnya dilakukan pengujian terhadap seluruh environment sistem aplikasi MPRRPI menggunakan penerapan metodologi prototype. Metode yang dilakukan adalah pengujian alpha dan pengujian beta, dimana setiap prosedur pengujian dilakukan untuk mengetahui fungsi unit engine dapat berjalan dengan baik atau tidak. Karena tidak menutup kemungkinan terdapat bug dalam aplikasi MPRRPI. Skenario pengujian yang dilakukan dijelaskan pada Tabel 11.
Tabel 11 Skenario Pengujian Pengujian Pengujian yang Dilakukan Tujuan Alpha Melakukan pengujian terhadap setiap unit sistem pada engine capture monitoring. Untuk mengetahui fungsi modul dan fungsi-fungsi yang telah dibuat dalam melakukan capture. Beta Melakukan pengujian secara keseluruhan yang dilakukan oleh administrator. Menguji secara keseluruhan sistem MPRRPI yang untuk menganalisi kesalahan dan kekurangan yang ditemukan saat implementasi sistem.
Ruang lingkup atau arsitektur pengujian dilakukan secara end to end seperti yang digambarkan pada Gambar 33, dimana dalam pengujian sistem meliputi pengujian delay, packet loss, jitter, dan throughput. Proses pengujian
dilakukan dengan cara router raspberry pi client mengirim paket dengan nilai tertentu terhadap router raspberry server. Dalam melakukan pengujian harus dipastikan kedua server harus saling terhubung dan memiliki identitas, yaitu IP address. Identitas masing-masing router raspberry pi diantaranya router raspberry pi server menggunakan IP address 192.168.101.1 dan router raspberry pi client menggunakan IP address 192.168.10.4, sedangkan untuk client menggunakan IP address 192.168.101.2. Router raspberry pi client dan server yang terhubung dengan jaringan fiber optic ITENAS menggunakan interface yang tertanam pada raspberry pi itu sendiri, sedangakan router raspberry pi client yang terhubung dengan client menggunakan USB to Interface.
Gambar 33 Arsitektur Pengujian Alpha
Pengujian yang dilakukan meliputi pengujian alpha dan pengujian beta. Pengujian beta 2 tidak dilakukan karena aplikasi yang dikembangkan masih berupa prototype. Berikut pengujian yang dilakukan tehadap engine dari aplikasi MPRRPI.
5.1 Pengujian Alpha Dalam pengujian alpha dilakukan pengujian fungsionalitas untuk mengukur performa router raspberry pi server. Berikut adalah pengujian yang dilakukan.
5.1.1 Pengujian Delay Dalam pengujian delay, router raspberry pi client ditugaskan untuk mengirim paket kepada router raspberry pi server. Dalam pengujiannya dilakukan 10 kali pengujian dengan setiap satu kali pengujian client mengirimkan 10 paket kepada server dengan besaran paket yang dikirimkan yaitu sebesar 1024 Kbytes. Dari hasil pengujian Gambar C.1 Lampiran C sampai dengan Gambar C.10 Lampiran C adalah output pengujian delay dan Tabel 12 adalah hasil pengujian delay yang telah dilakukan.
Tabel 12 Hasil Pengujian Delay Tgl Waktu Pengujian Ukuran Paket (KBytes) Pengujian Delay (ms) Kualitas Delay 16-7-2014 02:19:29 1024 1.42 Sangat Bagus 16-7-2014 02:19:40 1024 1.45 Sangat Bagus 16-7-2014 02:19:50 1024 1.43 Sangat Bagus 16-7-2014 02:20:00 1024 1.42 Sangat Bagus 16-7-2014 02:20:10 1024 1.41 Sangat Bagus 16-7-2014 02:20:20 1024 1.38 Sangat Bagus 16-7-2014 02:20:30 1024 1.36 Sangat Bagus 16-7-2014 02:20:40 1024 1.41 Sangat Bagus 16-7-2014 02:20:50 1024 1.42 Sangat Bagus 16-7-2014 02:21:00 1024 1.43 Sangat Bagus
Namun untuk mengetahui dan melihat tingkat akurasi nilai yang didapat dari pengukuran delay maka dilakukan perhitungan manual yang mengacu pada rumus perhitungan delay. Untuk membuktikan hasil tersebut, dapat dilihat dalam perhitungan manual menggunakan rumus pada Gambar 34 Perhitungan Manual Delay. Perhitungan manual untuk Delay : Delay = Total Delay _ Total paket data yang diterima = 14.5 ms 10 = 1.45 ms
Gambar 34 Perhitungan Manual Delay
Dari data yang di jelaskan pada Gambar 34, dapat dilihat perhitungan manual nilai delay saat pengujian alpha dilakukan dengan melakukan pengiriman 10 paket dengan ukuran paket sebesar 1024 Kbyte maka menghasilkan nilai delay sebesar 1.45 ms (milisecond).
5.1.2 Pengujian Packet loss Dalam pengujian packet loss, router raspberry pi client ditugaskan untuk mengirim paket kepada router raspberry pi server. Dalam pengujiannya dilakukan 10 kali pengujian dengan setiap satu kali pengujian client mengirimkan 10 paket kepada server dengan besaran paket yang dikirimkan yaitu sebesar 1024 Kbytes. Dari hasil pengujian Gambar C.11 Lampiran C sampai dengan Gambar C.20 Lampiran C adalah output pengujian packet loss dan Tabel 13 adalah hasil pengujian packet loss yang telah dilakukan.
Tabel 13 Hasil Pengujian Packet loss Tgl Waktu Pengujian Ukuran Paket (KBytes) Pengujian Packet loss (%) Kualitas Packet loss 16-7-2014 01:27:29 1024 0 Sangat Bagus 16-7-2014 01:27:39 1024 0 Sangat Bagus 16-7-2014 01:27:49 1024 0 Sangat Bagus 16-7-2014 01:27:59 1024 0 Sangat Bagus 16-7-2014 01:28:09 1024 0 Sangat Bagus 16-7-2014 01:28:20 1024 0 Sangat Bagus 16-7-2014 01:28:30 1024 0 Sangat Bagus 16-7-2014 01:28:40 1024 0 Sangat Bagus 16-7-2014 01:28:50 1024 0 Sangat Bagus 16-7-2014 01:29:00 1024 0 Sangat Bagus
Namun untuk mengetahui dan melihat tingkat akurasi nilai yang didapat dari pengukuran packet loss maka dilakukan perhitungan manual yang mengacu pada rumus perhitungan packet loss. Untuk membuktikan hasil tersebut, dapat dilihat dalam perhitungan manual menggunakan rumus seperti pada Gambar 35 Perhitungan manual Packet loss. Perhitungan manual untuk Packet loss :
Packet loss = (Paket diterima paket data dikirim) * 100 Total paket data yang dikirim = (10-10) * 100 10 = 0 % Gambar 35 Perhitungan Manual Packet loss
Dari data yang di jelaskan pada Gambar 35, dapat dilihat perhitungan nilai packet loss saat pengujian alpha dilakukan dengan melakukan pengiriman 10 paket dengan ukuran paket sebesar 1024 Kbyte maka menghasilkan nilai packet loss sebesar 0 %.
5.1.3 Pengujian J itter Dalam pengujian jitter, router raspberry pi client ditugaskan untuk mengirim paket kepada router raspberry pi server. Dalam pengujiannya dilakukan 10 kali pengujian dengan setiap satu kali pengujian client mengirimkan 10 paket kepada server dengan besaran paket yang dikirimkan yaitu sebesar 1024 Kbytes. Dari hasil pengujian Gambar C.21 Lampiran C sampai dengan Gambar C.30 Lampiran C adalah output pengujian jitter dan Tabel 14 adalah hasil pengujian jitter yang telah dilakukan.
Namun untuk mengetahui dan melihat tingkat akurasi nilai yang didapat dari pengukuran jitter maka dilakukan perhitungan manual yang mengacu pada rumus perhitungan jitter. Untuk membuktikan hasil tersebut, dapat dilihat dalam perhitungan manual menggunakan rumus seperti pada Gambar 36 Perhitungan Manual Jitter.
Perhitungan manual untuk J itter : Jitter = Total Variasi Delay _ Total paket data yang diterima = 0.1 10 = 0.01 ms Gambar 36 Perhitungan Manual Jitter
Dari data yang di jelaskan pada Gambar 36, dapat dilihat perhitungan nilai jitter saat pengujian alpha dilakukan dengan melakukan pengiriman 10 paket dengan ukuran paket sebesar 1024 Kbyte maka menghasilkan nilai jitter sebesar 0.01 ms (microsecond).
5.1.4 Pengujian Throughput Dalam pengujian throughput, router raspberry pi client ditugaskan untuk mengirim paket kepada router raspberry pi server. Dalam pengujiannya dilakukan 10 kali pengujian dengan setiap satu kali pengujian client mengirimkan 10 paket kepada server dengan besaran paket yang dikirimkan yaitu sebesar 1024 Kbytes. Dari hasil pengujian Gambar C.31 Lampiran C sampai dengan Gambar C.40 Lampiran C adalah output pengujian throughput dan Tabel 15 adalah hasil pengujian throughput yang telah dilakukan.
Tabel 15 Output Pengujian Throughput Tgl Waktu Pengujian Pengujian Kualitas
Ukuran Paket (KBytes) Throughput (%) Throughput 16-7-2014 01:55:34 1024 98 Sangat Bagus 16-7-2014 01:55:44 1024 99 Sangat Bagus 16-7-2014 01:55:54 1024 99 Sangat Bagus 16-7-2014 01:56:04 1024 99 Sangat Bagus 16-7-2014 01:56:14 1024 99 Sangat Bagus 16-7-2014 01:56:24 1024 99 Sangat Bagus 16-7-2014 01:56:34 1024 99 Sangat Bagus 16-7-2014 01:56:44 1024 99 Sangat Bagus 16-7-2014 01:56:54 1024 99 Sangat Bagus 16-7-2014 01:57:04 1024 99 Sangat Bagus
Namun untuk mengetahui dan melihat tingkat akurasi nilai yang didapat dari pengukuran throughput maka dilakukan perhitungan manual yang mengacu pada rumus perhitungan throughput. Untuk membuktikan hasil tersebut, dapat dilihat dalam perhitungan manual menggunakan rumus seperti pada Gambar 37 Perhitungan Manual Throughput. Perhitungan manual untuk Throughput : Throughput = Paket data diterima * 100% Lama Pengiriman = 10 * 100 10.2 = 98 % Gambar 37 Perhitungan Manual Throughput
Dari data yang di jelaskan pada Gambar 37, dapat dilihat perhitungan nilai throughput saat pengujian alpha dilakukan dengan melakukan pengiriman 10 paket dengan ukuran paket sebesar 1024 Kbyte maka menghasilkan nilai throughput sebesar 98 %.
5.1.5 Kesimpulan Pengujian Alpha Pengujian alpha merupakan pengujian tahap pertama dari fungsionalitas engine aplikasi MPRRPI. Berdasarkan hasil pengujian alpha dapat disimpulkan sistem berhasil diimplementasikan dan dapat bekerja dalam mengukur quality of service yang meliputi pengukuran delay, packet loss, jitter, dan throughput.
5.2 Pengujian Beta Proses pengujian beta dilakukan terhadap router raspberry pi server, pengujian tersebut dilakukan sesuai dengan bentuk arsitektur yang ditunjukan pada Gambar 33. Tahap pengujian beta telah dilakukan oleh Bapak Muhammad Ichwan selaku Pembimbing I dari penelitian yang dilakukan dan seluruh tahap pengujian telah dilakukan, berikut adalah perngujian beta yang dilakukan.
5.2.1 Pengujian Capture Engine Pengujian capture dilakukan pada router rasberry pi. Proses pengujian dimulai dengan membuka menu capture halaman aplikasi MPRRPI dan memasukan seluruh parameter capture yang diperlukan oleh sistem. Gambar 38 merupakan proses memasukan parameter capture pada router raspberry pi client kedalam halaman aplikasi MPRRPI.
Gambar 38 Pengujian Capture
5.2.2 Pengujian Report Dalam pengujian report yang dilakukan dibagi menjadi dua bagian, yaitu bagian informasi detail data dan informasi detail grafik. Berikut adalah pengujian report yang dilakukan pada aplikasi MPRRPI.
1. Informasi Detail Data Pengujian yang dilakukan pada fungsi info detail data meliputi semua informasi tentang performa router raspberry pi yang ditampilkan kedalam halaman informasi detail report dalam bentuk tabel pada aplikasi MPRRPI. Berikut merupakan tampilan informasi detail data dalam bentuk tabel pada halaman MPRRPI.
Gambar 39 Pengujian Informasi Detail Data
Dari pengujian yang telah dilakukan seperti pada Gambar 39, terdapat parameter-parameter quality of service yang digambarkan dalam bentuk tabel untuk melihat performa router raspberry pi
2. Informasi Detail Grafik
Pengujian selanjutnya adalah dilakukan pada fungsi info detail grafik yang berguna untun menampilkan informasi perfoma router raspberry pi yang ditampilkan kedalam halaman informasi detail grafik pada aplikasi MPRRPI. Berikut merupakan tampilan informasi detail grafik pada halaman MPRRPI.
Gambar 40 Pengujian Informasi Detail Grafik
Dari pengujian yang telah dilakukan seperti pada Gambar 40, terdapat parameter-parameter quality of service yang digambarkan dalam bentuk grafik untuk melihat performa router raspberry pi.
5.2.3 Kesimpulan Pengujian Beta Dari hasil pengujian beta yang telah dilakukan oleh administrator, yaitu Bapak Muhammad Ichwan selaku Pembimbing I, dapat diambil kesimpulan bahwa pengujian terhadap engine dan fungsi dari aplikasi MPRRPI yang telah diimplementasikan dan dapat berjalan.
Untuk mengetahui keberhasilan dari hasil pengujian secara keseluruhan dijelaskan melalui Tabel 16.
Tabel 16 Hasil Pengujian Pengujian Butir yang Diuji Pengamatan Kesimpulan Keterangan Alpha 1. Pengujian Parameter Quality of Service secara End to End pada jaringan lokal. 2. Pengujian Parameter Quality of Service Secara End to End pada jaringan fiber optic ITENAS. 1. Pengujian dilakukan pada router raspberry pi server sebanyak 10 kali. 2. Pengujian dilakukan pada router raspberry pi server sebanyak 10 kali. 1. Berhasil [10x] 2. Berhasil [10x] 1. Berjalan sesuai dengan harapan. Kurang lebih besar paket yang dapat diterima adalah sebesar 6 Mbyte dan nilai QoS sesuai dengan ketentuan standar TIPHON. 2. Berjalan sesuai dengan harapan. Kurang lebih besar paket yang dapat diterima adalah 20 Mbyte dan nilai QoS sesuai dengan ketentuan standar TIPHON. Beta 1. Pengujian Capture Engine 2. Pengujian Report Detail Data 3. Pengujian Report Detail Grafik 1. Proses pengujian terhadap router raspberry pi berhasil dilakukan. 2. Proses pengujian detail data performa router raspberry pi berhasil dilakukan. 3. Proses pengujian detail grafik performa router raspberry pi berhasil dilakukan. 1. Berhasil [10x] 2. Berhasil [10x] 3. Berhasil [10x] 1. Berjalan sesuai dengan harapan. 2. Berjalan sesuai dengan harapan. 3. Berjalan sesuai dengan harapan.
BAB VI KESIMPULAN
Dari hasil perancangan, implementasi, dan pengujian yang telah dilakukan dapat disimpulkan bahwa parameter-parameter Quality of Service (QoS) yaitu delay, packet loss, jitter, dan throughput dapat digunakan dan diimplementasikan untuk melakukan monitoring aktif untuk melakukan pengujian performa router raspberry pi. Didalam pengujian pada jaringan fiber optic, router raspberry pi mampu melayani pertukaran data sampai dengan 20 Mbytes dengan nilai yang didapat pada setiap parameter QoS sesuai dengan standar TIPHON, yaitu nilai delay 149.68 ms (Sangat Bagus), nilai packet loss 0% (Sangat Bagus), nilai jitter 1.3 ms (Bagus), dan nilai throughput 86% (Sangat Bagus). Sedangkan pengujian pada jaringan lokal, router raspberry pi mampu melayani pertukaran data sampai dengan 6 Mbytes dengan nilai yang didapat pada setiap parameter QoS sesuai dengan standar TIPHON, yaitu nilai delay 28.3 ms (Sangat Bagus), nilai packet loss 0% (Sangat Bagus), nilai jitter 0.4 ms (Bagus), dan nilai throughput 97% (Sangat Bagus).
DAFTAR PUSTAKA
[1] Winarno, Sugeng. 2010. Jaringan Komputer dengan TCP/IP. Informatika, Bandung. [2] Emergency Operations Manual. 2002. Monitoring, Evaluation and Audit in Emergencies, Technical Reference Paper prepared by the Office of the inspector General (OIG) and the Emergency and Post Conflict Division (EPC). [3] C.M. Krishna, Kang G. Shin. 1997, Realtime Systems, Mc Graw Hill : Book Company. [4] Tiphon. 1999. Telecommunications and Internet Protocol Harmonization Over Networks (TIPHON) General aspects of Quality of Service (QoS), DTR/TIPHON-05006 (cb0010cs.PDF). [5] Javvin Technologies Inc. 2004-2005. Network Protocol Handbook. [6] Naprianto. 23 April 2002. Python dan Pemrograman Linux. ANDI, Yogyakarta. [7] Tatu Ylnen. 1995. Secure SSH Communications. Helsinki University of Technology, Finlandia. [8] Jay A. Kreibich. Agustus 2010. Using Sqlite. [9] www.raspberrypi.org
Sistem Penunjang Keputusan Untuk Penentuan Calon Karyawan Pada Perusahaan Pt. United Equipment Dengan Menggunakan Metode Simple Additive Weigthing (Saw)