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.