Alat dan Bahan Metode Penelitian

BAB III METODOLOGI PENELITIAN

3.1. Alat dan Bahan

Bahan yang digunakan adalah paket data yang diterima. Untuk kemudian dialirkan ke jaringan yang dibangun untuk tujuan penelitian ini. Adapun peralatan yang digunakan dibagi dua, yaitu : 1. Perangkat Keras • • • • PC server1 unit dengan spesifikasi : 1. Operating System : Fedora Core 10. 2. 2 kartu interface . • • • • PC client3 unit dengan spesifikasi : 1. Operating System : Windows XP. 2. 1 kartu interface. • • • • Switch 2. Perangkat Lunak • • • • IPTABLES. • • • • TC. • • • • Linux Kernel 2.6.x. • • • • GTK. • • • • Python.

3.2. Metode Penelitian

3.2.1. Metode Pengumpulan Data 1. Studi Pustaka Studi pustaka dilakukan untuk mendapatkan bahan dan data yang diperlukan dalam melakukan penelitian ini. Sumber yang diambil berupa buku, jurnal, paper, tesis dan disertasi yang banyak terdapat di internet. Pencarian penelitian sebelumnya juga dilakukan untuk membandingkan dan mempelajari sehingga dapat diterapkan pula pada penelitian ini. 3.2.2. Metode Pengembangan Perangkat Lunak 1. Extreme Programming Extreme ProgrammingPressman, 2005 adalah suatu pendekatan baru terhadap model pengembangan perangkat lunak yang kontroversial berdasar pada model iterative dan incremental. Langkah awal adalah tim pengembang menetapkan beberapa fiturstories yang diinginkan klien untuk diimplementasikan pada produk. Untuk tiap fitur tim memberitahukan kepada klien tentang lama pengerjaan dan biayanya. Langkah ini berada pada bagian planning untuk analisis kebutuhan perangkat lunak tersebut. Gambar 3.1 Extreme Programming processPressman, 2005 XP mencakup beberapa aturan dan praktek yang terdiri atas planning, design, coding dan testPressman, 2005. Berikut penjelasan dari masing-masing tahapan yang akan dilakukan pada pembuatan aplikasi ini, 1. Planning. Pada tahap ini perencanaan terhadap software yang diinginkan mengacu pada user stories . User stories menggambarkan fitur dan fungsi yang dibutuhkan terhadap software tersebut. Ketika semua user stories telah ditentukan, developer akan menentukan lama pengerjaan untuk tiap-tiap user stories. Adapun beberapa fungsi dan kebutuhan dari aplikasi adalah sebagai berikut: 1. Aplikasi mampu generate parameter TC dan iptables yang dibutuhkan. 2. Aplikasi mampu generate parameter untuk TC dan iptables yang akan dibutuhkan oleh aplikasi. 3. Aplikasi membuat laporan realtime untuk mengukur pemakaian bandwidth. planning design coding testing release 2. Desain. Proses desain pada XP mengikuti prinsip KISKeep It Simple. Desain akan berisikan semua implementasi dari stories tanpa ada pengurangan maupun penambahan. Desain yang memiliki fungsi tambahan tidak disarankan. XP menggunakan CRCClass-Responsibility-Collaborator cards untuk mengidentifikasi dan mengorganisasikan kelas berorientasi objek yang berkaitan dengan proses pengembangan software. Jika terdapat kesulitan untuk melakukan desain terhadap stories, XP menyarankan untuk membuat prototype dari desain tersebut. Hal tersebut disebut sebagai spike solution, prototype nantinya akan diimplementasikan dan dievaluasi. XP menyarankan refactoring, sebuah teknik pengembangan yang juga teknik desain. Fowler mendeskripsikan refactoring sebagai berikut: “Refactoring adalah proses perubahan sebuah system software dengan satu cara yang tidak merubah behaviour eksternal dari kode yang meningkatkan struktur internal. Hal ini adalah cara untuk membersihkan kode dan memodifikasi ataupun menyederhanakan desain internal yang meminimalisasi peluang munculnya bug. Pada dasarnya, ketika melakukan refactor kita meningkatkan desain dari kode setelah tertulis.” Perubahan desain dapat terjadi walaupun sudah memasuki tahap codingimplementasi. Hal tersebut dilakukan untuk mendapat desain yang baik dan kode yang bersih. Pada desain, perancangan aplikasi akan terdiri dari beberapa bagian diantaranya sebagai berikut : 1. Perancangan desain GUI dengan pembuatan prototype dengan menggunakan GTK. 2. Desain input yang diperlukan. 3. Desain ouput yang diperlukan. 4. Perancangan class yang dibutuhkan dengan CRC. 5. Perancangan tampilan laporan penggunaan bandwidth. 3. Coding. Pada tahap ini, proses pengembangan tidak langsung melakukan implementasi terhadap desain yang telah dibuat. Pembuatan unit test untuk tiap-tiap stories yang nantinya akan diimplementasikan. Saat unit test selesai dibuat, pengembang lebih baik fokus terhadap apa yang akan diimplementasikan untuk melewati unit test. Tahap ini akan mengacu pada desain sebelumnya. Karena pembuatan unit test dilakukan terlebih dahulu. Maka implementasi desain sebaiknya dibuat untuk melewati unit test yang dibuat. Aplikasi akan dibuat menggunakan python dan GTK sebagai GUI. 4. Testing. Tahap ini akan menggunakan unit test yang sebelumnya telah dibuat. Karena pembuatan dari unit test adalah pendekatan utama dari XP. Unit test yang dibuat sebaiknya diimplementasikan dengan penggunaan framework untuk otomatisasi. Testing akan dilakukan dengan unit test yang sebelumnya telah dibuat. PyUnit akan digunakan sebagai framework untuk melakukan testing terhadap aplikasi. 5. Release. Tahap ini setelah semua test dilakukan dan dinyatakan bebas bug dan siap diimplementasikandigunakan oleh pengguna. METODE EXTREME PROGRAMMING Analisis Kebutuhan Perumusan Masalah Pemilihan judul penelitian Studi Pustaka Planning Desain Testing Aplikasi mampu generate parameter TC dan iptables yang dibutuhkan. Aplikasi mampu generate parameter untuk TC dan iptables. Perancangan desain GUI dengan pembuatan prototype dengan menggunakan GTK. Desain Input Desain Output Coding Perancangan class yang dibutuhkan dengan CRC. Pembuatan Unit Test. Release Penarikan Kesimpulan dari sistem Perancangan tampilan laporan penggunaan bandwidth. Aplikasi membuat laporan realtime untuk mengukur pemakaian bandwidth. Pengujian Tahap Pemograman BlackBox Testing Unit Testing Pengujian QoS Gambar 3.2 Ilustrasi Metodologi Penelitian Perancangan Aplikasi Bandwidth Management dengan TC. BAB IV PEMBAHASAN

4.1. Planning

Tahap ini penulis melakukan analisis terhadap user storieskebutuhan terhadap aplikasi yang akan dibuat. Karena framework yang dapat berkomunikasi dengan traffic control di modul kernel linux adalah tc. Maka penulis akan menggunakan tc sebagai jembatan penghubung antar aplikasi bantu yang penulis buat dengan queueing discipline yang digunakan. TC bukan sebuah API yang dapat diakses langsung dengan memanggil dari kode program. Untuk itu diperlukan pemanggilan langsung terhadap tool tersebut dan melakukan parsing terhadap outputnya. TC dapat langsung digunakan sebagai tools untuk mengatur lalu lintas jaringan. Pengaturan untuk tiap-tiap queueing discipline memiliki syntax yang berbeda.

4.1.1. Analisis penggunaan bandwidth.

Protokol ip yang digunakan router menggunakan disiplin antrian First In First Out FIFO yang bersifat best effort service. Router akan melewatkan paket data dengan waktu yang bervariasi sesuai dengan beban trafik yang ada. Hal tersebut dapat memberikan kongesti pada jaringan dan tidak adanya pembedaan tiap paket data yang lewat. Sehingga tiap node tidak mendapatkan QoS yang sesuai. Berikut hasil pengujian menggunakan disiplin antrian FIFO, Tabel 4.1 Pengukuran kecepatan tanpa bandwidth management Percobaan ke- Node 1 Node 2 Upload Download Upload Download 1 85 kbps 255 kbps 34 kbps 127 kbps 2 80 kbps 244 kbps 39 kbps 185 kbps Koneksi internet pada tiap isp memiliki jalur masing-masing, sehingga langsung menuju jaringan global. Hal ini berdampak pada kecepatan yang sama ketika kita mengakses konten lokal, karena untuk mengaksesnya kita harus berputar ke jaringan luar negeri dulu. APJII membentuk IIX untuk mengatasi masalah tersebut. IIX adalah jaringan interkoneksi nasional dengan menggabungkan semua ISP yang ada di Indonesia. Dengan begitu jumlah hop antar router akan berkurang dan memberikan throughput yang lebih baik. Berikut pengujian dengan server yang berada pada jaringan IIX, Tabel 4.2 Pengukuran kecepatan untuk jaringan IIX Percobaan ke- Node 1 Node 2 Upload Download Upload Download 1 88 kbps 768 kbps 66 kbps 721 kbps 2 87 kbps 754 kbps 64 kbps 701 kbps Dari hasil pengujian di atas terlihat belum adanya klasifikasi tiap paket, sehingga terdapat ketimpangan throughput antar node. Terlihat satu node mengkonsumsi bandwidth jaringan lebih banyak dari node yang lain. Untuk itu diperlukan klasifikasi