Anda di halaman 1dari 88

PERANCANGAN DAN IMPLEMENTASI PROTOTYPE

SISTEM MONI TORI NG PERFORMA ROUTER RASPBERRY PI



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

1
1
2
2
3
3
7
8
9

10
10
10
11
11
11
12
12
12
15
16
16
17
18
19
19
20

22
22
23
23


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 IV IMPLEMENTASI .........................................................................
4.1 Instalasi Kebutuhan Sistem .....................................................................
4.1.1 Update Repository Debian Wheezy Raspbian ............................
4.1.2 Instalasi Sqlite3............................................................................
4.1.3 Instalasi Library Python ..............................................................
4.1.4 Instalasi Modul Library Python ..................................................
4.2 Implementasi Python Script ....................................................................
4.2.1 Implementasi Validasi Login ......................................................
4.2.2 Implementasi Request Logout .....................................................
4.2.3 Implementasi Request Koneksi SSH ...........................................
4.2.4 Implementasi Request Report .....................................................
4.2.5 Implementasi Open Socket ..........................................................
4.2.6 Implementasi Send Packet ..........................................................
4.2.7 Implementasi Receive Packet ......................................................
4.2.8 Implementasi Measure Delay .....................................................
4.2.9 Implementasi Measure Packetloss ..............................................
4.2.10 Implementasi Measure Jitter ......................................................
4.2.11 Implementasi Measure Throughput ............................................
4.2.12 Implementasi Store Result Monitoring .......................................
4.3 Konfigurasi Sistem .................................................................................
4.4 Menampilkan Aplikasi MPRRPI ............................................................

BAB V PENGUJIAN ...................................................................................
5.1 Pengujian Alpha ......................................................................................
5.1.1 Pengujian Delay ..........................................................................
5.1.2 Pengujian Packet loss ..................................................................
5.1.3 Pengujian Jitter ...........................................................................
23
24
24
25
25
27
36
36
37
37
39
40
41
43
43
44
45
46

48
48
48
49
49
49
50
50
51
51
52
52
53
54
55
56
56
57
58
58
59

60
61
61
63
64


5.1.4 Pengujian Throughput .................................................................
5.1.5 Kesimpulan Pengujian Alpha ......................................................
5.2 Pengujian Beta ........................................................................................
5.2.1 Pengujian Capture Engine ..........................................................
5.2.2 Pengujian Report .........................................................................
5.2.3 Kesimpulan Pengujian Beta ........................................................

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.................


8
17
21
21
27
28
29
29
30
31
31
32
33
34
34
35
35
36
44
51
51
52
52
53
54
55
56
56
57
58
58
59
61
62
63
65
66
67
68
69












DAFTAR TABEL

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
































DAFTAR RUMUS

Rumus 1 Perhitungan Throughput..............................
Rumus 2 Perhitungan Standar Throughput......................
Rumus 3 Perhitungan Packet loss.............................
Rumus 4 Perhitungan Delay...................................
Rumus 5 Perhitungan Jitter..................................

13
13
14
14
15









































DAFTAR LAMPIRAN

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

LAMPIRAN C PENGUJIAN ALPHA
C.1 Pengujian Delay (Pengujian ke-1)
C.2 Pengujian Delay (Pengujian ke-2)
C.3 Pengujian Delay (Pengujian ke-3)
C.4 Pengujian Delay (Pengujian ke-4)
C.5 Pengujian Delay (Pengujian ke-5)
C.6 Pengujian Delay (Pengujian ke-6)
C.7 Pengujian Delay (Pengujian ke-7)
C.8 Pengujian Delay (Pengujian ke-8)
C.9 Pengujian Delay (Pengujian ke-9)
C.10 Pengujian Delay (Pengujian ke-10)
C.11 Pengujian Packet loss (Pengujian ke-1)
C.12 Pengujian Packet loss (Pengujian ke-2)
C.13 Pengujian Packet loss (Pengujian ke-3)
C.14 Pengujian Packet loss (Pengujian ke-4)
C.15 Pengujian Packet loss (Pengujian ke-5)
C.16 Pengujian Packet loss (Pengujian ke-6)
C.17 Pengujian Packet loss (Pengujian ke-7)
C.18 Pengujian Packet loss (Pengujian ke-8)
C.19 Pengujian Packet loss (Pengujian ke-9)
C.20 Pengujian Packet loss (Pengujian ke-10)
C.21 Pengujian Jitter (Pengujian ke-1)
C.22 Pengujian Jitter (Pengujian ke-2)
C.23 Pengujian Jitter (Pengujian ke-3)
C.24 Pengujian Jitter (Pengujian ke-4)
C.25 Pengujian Jitter (Pengujian ke-5)
C.26 Pengujian Jitter (Pengujian ke-6)
C.27 Pengujian Jitter (Pengujian ke-7)
C.28 Pengujian Jitter (Pengujian ke-8)
C.29 Pengujian Jitter (Pengujian ke-9)
C.30 Pengujian Jitter (Pengujian ke-10)
C.31 Pengujian Throughput (Pengujian ke-1)


C.32 Pengujian Throughput (Pengujian ke-2)
C.33 Pengujian Throughput (Pengujian ke-3)
C.34 Pengujian Throughput (Pengujian ke-4)
C.35 Pengujian Throughput (Pengujian ke-5)
C.36 Pengujian Throughput (Pengujian ke-6)
C.37 Pengujian Throughput (Pengujian ke-7)
C.38 Pengujian Throughput (Pengujian ke-8)
C.39 Pengujian Throughput (Pengujian ke-9)
C.40 Pengujian Throughput (Pengujian ke-10)

LAMPIRAN D ORIGINALITAS

LAMPIRAN E MANUAL BOOK

LAMPIRAN F SOURCE CODE






































BAB I
PENDAHULUAN

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:


.............................................. Rumus 5

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.

pi@raspberrypi:~$ iperf -s -u -i l
WARNING: interval too small, increasing from 0.00 to 0.5 seconds.
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 160 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 36981
[ 3] 0.0- 0.5 sec 63.2 KBytes 1.03 Mbits/sec 0.011 ms 0/ 44 (0%)
[ 3] 0.5- 1.0 sec 64.6 KBytes 1.06 Mbits/sec 0.116 ms 0/ 45 (0%)
[ 3] 1.0- 1.5 sec 63.2 KBytes 1.03 Mbits/sec 0.022 ms 0/ 44 (0%)
[ 3] 1.5- 2.0 sec 64.6 KBytes 1.06 Mbits/sec 0.026 ms 0/ 45 (0%)
[ 3] 2.0- 2.5 sec 63.2 KBytes 1.03 Mbits/sec 0.023 ms 0/ 44 (0%)
[ 3] 2.5- 3.0 sec 64.6 KBytes 1.06 Mbits/sec 0.024 ms 0/ 45 (0%)
[ 3] 3.0- 3.5 sec 64.6 KBytes 1.06 Mbits/sec 0.019 ms 0/ 45 (0%)
[ 3] 3.5- 4.0 sec 63.2 KBytes 1.03 Mbits/sec 0.278 ms 0/ 44 (0%)
[ 3] 4.0- 4.5 sec 64.6 KBytes 1.06 Mbits/sec 0.037 ms 0/ 45 (0%)
[ 3] 4.5- 5.0 sec 63.2 KBytes 1.03 Mbits/sec 0.031 ms 0/ 44 (0%)
[ 3] 5.0- 5.5 sec 64.6 KBytes 1.06 Mbits/sec 0.018 ms 0/ 45 (0%)
[ 3] 5.5- 6.0 sec 64.6 KBytes 1.06 Mbits/sec 0.033 ms 0/ 45 (0%)
[ 3] 6.0- 6.5 sec 63.2 KBytes 1.03 Mbits/sec 0.024 ms 0/ 44 (0%)
[ 3] 6.5- 7.0 sec 64.6 KBytes 1.06 Mbits/sec 0.020 ms 0/ 45 (0%)
[ 3] 7.0- 7.5 sec 63.2 KBytes 1.03 Mbits/sec 0.014 ms 0/ 44 (0%)
[ 3] 7.5- 8.0 sec 64.6 KBytes 1.06 Mbits/sec 0.032 ms 0/ 45 (0%)
[ 3] 8.0- 8.5 sec 63.2 KBytes 1.03 Mbits/sec 0.014 ms 0/ 44 (0%)
[ 3] 8.5- 9.0 sec 64.6 KBytes 1.06 Mbits/sec 0.153 ms 0/ 45 (0%)
[ 3] 9.0- 9.5 sec 64.6 KBytes 1.06 Mbits/sec 0.029 ms 0/ 45 (0%)
[ 3] 9.5-10.0 sec 63.2 KBytes 1.03 Mbits/sec 0.035 ms 0/ 44 (0%)
[ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 0.032 ms 0/ 893 (0%)

Gambar 10 Output Pengujian Jitter(Server)



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(/).











def login(request):
if request.POST:
username = request.POST.get("username")
password = request.POST.get("password")
try:
check_auth = auth.authenticate(username=username,
password=password)
auth.login(request, check_auth)
except Exception, err:
return HttpResponseRedirect("/")
else:
return HttpResponseRedirect('/beranda/')
return HttpResponseRedirect("/")
Gambar 20 Implementasi Validasi Login

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).

icmp = socket.getprotobyname("icmp")
try:
my_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM,
icmp)
except socket.error, (errno, msg):
if errno == 1:
msg = msg
raise socket.error(msg)
raise

Gambar 24 Implementasi Open Socket

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.









dest_addr = socket.gethostbyname(dest_addr)
psize = psize - 8
my_checksum = 0
header=struct.pack("bbHHh",ICMP_ECHO_REQUEST,0,my_checksum,id,1)
kbytes=struct.calcsize("d")
data=(psize - kbytes) * "Q"
data=struct.pack("d", time.time()) + data
my_checksum=checksum(header + data)
header=struct.pack("bbHHh",ICMP_ECHO_REQUEST,0,socket.htons(my_c
hecksum),id,1)
packet = header + data
my_socket.sendto(packet, (dest_addr, 1))

Gambar 25 Implementasi Send Packet

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.







Time_left = timeout
while True:
started_select = time.time()
what_ready=select.select([my_socket],[],[], time_left)
how_long_in_select=(time.time() - started_select)
if what_ready[0] == []:
return
time_received = time.time()
received_packet, addr = my_socket.recvfrom(1024)
icmpHeader = received_packet[20:28]
type,code,checksum,packet_id,sequence=struct.unpack(
"bbHHh",icmpHeader)
if packet_id == id:
bytes=struct.calcsize("d")
time_sent=struct.unpack("d",received_packet[28:28+byte])[0]
ttime = time_received - time_sent
return ttime
time_left = time_left - how_long_in_select
if time_left <= 0:
return

Gambar 26 Implementasi Receive Packet

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.



if plist:
totalDataReceive = len(plist)
totalDelay = sum(plist)
delay = totalDelay / totalDataReceive

Gambar 27 Implementasi Measure Delay

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.

if plist:
totalDataReceive = len(plist)
packetLosss = 100.0-(totalDataReceive * 100 / count_packet)

Gambar 28 Implementasi Measure Packet loss

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.


if plist:
totalDataReceive = len(plist)
timesTransmit = float(times)
throughput = totalDataReceive / timesTransmit
bandwidth = 94
standarThroughput = throughput / bandwidth * 100

Gambar 30 Implementasi Measure 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.

service = Service()
service.sizePacket = sizePacket
service.timePacket = timePacket
service.packetLoss = qos[0]
service.delay = qos[1]
service.jitter = qos[2]
service.throughput = qos[3]
service.save()

Gambar 31 Implementasi Store Result Monitoring

4.3 Konfigurasi Sistem


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.

Tabel 14 Hasil Pengujian Jitter
Tgl Waktu Pengujian
Ukuran Paket
(KBytes)
Pengujian
Jitter
(ms)
Kualitas
Jitter
16-7-2014 01:48:19 1024 0.01 Bagus
16-7-2014 01:48:29 1024 0.02 Bagus
16-7-2014 01:48:39 1024 0.01 Bagus
16-7-2014 01:48:49 1024 0.01 Bagus
16-7-2014 01:48:59 1024 0.02 Bagus
16-7-2014 01:49:09 1024 0.03 Bagus
16-7-2014 01:49:19 1024 0.02 Bagus
16-7-2014 01:49:29 1024 0.02 Bagus
16-7-2014 01:49:39 1024 0.01 Bagus
16-7-2014 01:49:49 1024 0.02 Bagus



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

Anda mungkin juga menyukai