Metode Penelitian Planning Design Coding

Saat unit test selesai dibuat, pengembang lebih baik fokus terhadap apa yang akan diimplementasikan untuk melewati unit test. d. Test Tahap ini akan menggunakan unit test yang sebelumnya telah dibuat. 4. PEMBAHASAN 4.1. Planning 4.1.1. Analisis penggunaan bandwidth Berikut hasil pengujian menggunakan disiplin antrian FIFO, Percob aan ke- Node 1 Node 2 Upload Downloa d Uploa d Downloa d 1 85 kbps 255 kbps 34 kbps 127 kbps 2 80 kbps 244 kbps 39 kbps 185 kbps

4.1.2. Aplikasi

mampu generate parameter untuk TC dan Iptables a. Network device yang akan digunakan. b. Kecepatan maksimum untuk tiap network device yang digunakan. c. Beberapa parameter untuk HTB a. classid untuk tiap node. Node qdisc root dengan handle 1:0, node parent class dengan classid 1:1. Node IIX dengan 1:2, node internasional dengan classid 1:3. child class IIX akan menggunakan classid 1:n2 dan internasional dengan classid 1:n3, untuk n adalah bilangan bulat. Untuk qdisc child class tersebut akan mengikuti classid dengan handle n2: untuk IIX dan n3 untuk Internasional, untuk n adalah bilangan bulat b. Maksimum rate untuk parent class. c. Rate untuk tiap class node yang tidak melebihi parent class. d. Bandwidth dan latency yang dimiliki oleh network device yang menggunakan RED. e. Ip yang digunakan oleh tiap network interface yang digunakan untuk routing oleh iptables f. Daftar ip host yang terhubung jaringan IIX untuk penanda paket data yang dikirim ataupun diterima.

4.2. Design

4.2.1. Class Design

Dari user stories pada tahap planning, penulis membuat beberapa class yaitu : 1. HTB, digunakan untuk mengenerate TC statement. 2. RED, digunakan untuk mengenerate TC statement. 3. TC, digunakan untuk mengeksekusi TC statement yang sebelumnya dibuat oleh class lain. 4. BWGUI, digunakan untuk menangani GUI dari aplikasi. 5. Client, digunakan untuk menangani informasi tiap klien. 6. BandwidthConsumption, digunakan untuk menangani penggunaan bandwidth tiap client.

4.2.2. GUI Design

4.3. Coding

Tahap ini tidak langsung membuat code dari tiap objek dari hasil desain sebelumnya. Pembuatan Unit Test untuk menguji tiap class didahulukan. Contoh Unit Test yang akan dibuat adalah sebagai berikut : import unittest from modules.RED import RED def test_qdiscself: red = RED self.assertEqualred.qdisc, root red def test_redself: red = RED self.assertEqualred.setRed128 000,sbintc qdisc add dev eth0 root red limit 64000 min 4000 max 8000 burst 5 avpkt 1000 probability 0.02 bandwidth 128 if __name__ == __main__: unittest.main

4.4. Test

Untuk menguji bug pada kode yang ditulis sebelumnya, unit test yang sebelumnya telah dibuat dieksekusi. Lakukan refactoring terus menerus sampai bug hilang.

5. KESIMPULAN

5.1. Kesimpulan

Setelah melakukan pengetesan terhadap aplikasi yang telah dibuat dan menyelesaikan penelitian ini. Dapat ditarik kesimpulan sebagai berikut: 1. Aplikasi DiffServ menggunakan TrafficControl dengan disiplin antrian HTB dan RED dapat berperan untuk mengatur penggunaan bandwidth tiap node pada jaringan. Hasil pengujian dapat dilihat di Implementation Testsubbab 4.5.1 dan QoS testingsubbab 4.5.2. 2. Aplikasi dapat membedakan asal paket dari jaringan IIXlokal atau internasional. Dan memberikan batasan kecepatan yang sesuai untuk tiap koneksi. Hasil pengujian dapat dilihat pada QoS testingsubbab 4.5.2. 3. Aplikasi dapat diterapkan pada router linux berbasis DiffServ. Karena bersifat open source dan dapat dimodifikasi dan ditambah fungsionalitasnya. 4. Pengujian QoS dengan parameter uji delay, jitter dan packet loss memberikan hasil yang baik. Terlihat dari hasil pengujian yang memberikan nilai pengujian dari parameter tersebut relatif kecil bila dibandingkan dengan sebelumnya yang menggunakan disiplin antrian FIFO atau default dari router. Hasil pengujian dapat dilihat pada QoS Testingsubbab 4.5.2.

5.2. Saran

Berikut ini beberapa saran yang mungkin berguna untuk digunakan sebagai bahan pertimbangan yang ingin melakukan penelitian atau aplikasi yang hampir sama, 1. Dimungkinkan untuk menerapkan semua queueing discipline yang ada. Sehingga pengguna bebas memilih yang ingin digunakan. 2. Memberikan log berupa diagram garis yang lebih luas dan dimungkinkan untuk disimpan dalam database untuk keperluan auditing di lain waktu.