ANALISIS KINERJA PENYEIMBANG BEBAN SERVER WEB DENGAN ALGORITME RASIO DINAMIS
ARIS MUNANDAR
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Analisis Kinerja Penyeimbang Beban Server Web dengan Algoritme Rasio Dinamis adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Agustus 2014
Aris Munandar NIM G64090132
ABSTRAK ARIS MUNANDAR. Analisis Kinerja Penyeimbang Beban Server Web dengan Algoritme Rasio Dinamis. Dibimbing oleh HERU SUKOCO dan SRI WAHJUNI. Seiring dengan meningkatnya kebutuhan akan penggunaan sumber daya yang ada di dalam jaringan komputer, teknologi jaringan juga semakin berkembang. Load balancing merupakan salah satu teknik routing yang dapat memanfaatkan beberapa sumber daya untuk dapat digunakan secara bersamaan. Ketika permintaan dari pengguna meningkat maka server akan terbebani karena harus melayani permintaan tersebut. Tujuan dari penelitian ini adalah membangun load balancer yang dapat membaca ketersediaan resource pada server. Pembagian request dilakukan dengan mempertimbangkan informasi resource sever tersebut, yang terdiri dari CPU, memory, dan disk. Algoritme penjadwalan yang digunakan adalah rasio dinamis dan sebagai algoritme pembandingnya adalah round robin. Hasil penelitian menunjukkan bahwa algoritme rasio dinamis bekerja lebih optimal dibandingkan dengan algoritme round robin. Algoritme rasio dinamis mampu meningkatkan throughput, meminimalkan waktu tanggap, dan menghindari overload. Kata kunci: load balancing, rasio dinamis, round robin, server
ABSTRACT ARIS MUNANDAR. Permormance Analysis of Web Server Load Balancing with Dynamic Ratio Algorithm. Supervised by HERU SUKOCO and SRI WAHJUNI. The increasing demand of the computer network resources usages has triggered the development of networks technology. Load balancing is one of the routing technique that can utilize multiple resources simultaneously. When the requests from the users increase, the server will be burdened for giving response to that requests. The purpose of this research is to build a load balancer that can read the servers’ resource availabilities. Based on these information, the requests distribution is performed by considering the resources such as CPU, memory, and disk. Dynamic ratio is used as the schedulling algorithm and compared with round robin algorihtm. The results will be compared to the one of round robin algorithm. The results showed that the dynamic ratio algorithm works more optimal than round-robin algorithm. Dynamic ratio algorithm is able to improve the throughput, minimize the response time, and avoid overload. Keywords: dynamic ratio, load balancing, round robin, server
ANALISIS KINERJA PENYEIMBANG BEBAN SERVER WEB DENGAN ALGORITME RASIO DINAMIS
ARIS MUNANDAR
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Ilmu Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
Penguji: Endang Purnama Giri, SKom MKom
Judul Skripsi : Analisis Kinerja Penyeimbang Beban Server Web dengan Algoritme Rasio Dinamis Nama : Aris Munandar NIM : G64090132
Disetujui oleh
DrEng Heru Sukoco, SSi MT Pembimbing I
Ir Sri Wahjuni, MT Pembimbing II
Diketahui oleh
Dr Ir Agus Buono, MSi MKom Ketua Departemen
Tanggal Lulus:
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Oktober 2014 ini ialah beban kerja komputer, dengan judul Analisis Kinerja Penyeimbang Beban Server Web dengan Algoritme Rasio Dinamis. Shalawat dan salam semoga senantiasa tercurahkan kepada junjungan kita Nabi besar Muhammad shallallahu ‘alaihi wasallam. Terima kasih Penulis ucapkan kepada Bapak DrEng Heru Sukoco, SSi MT dan Ibu Ir Sri Wahjuni, MT selaku pembimbing, serta Bapak Endang Purnama Giri SKom MKom selaku penguji yang telah memberikan banyak masukan kepada Penulis dalam penyusunan skripsi ini. Selanjutnya penulis ingin mengucapkan terima kasih kepada: 1 Bapak, ibu, dan seluruh keluarga atas do’a dan dukungannya demi kelancaran dan keberhasilan masa studi Penulis. 2 Teman-teman satu Lab NCC. 3 Teman-teman mahasiswa Ilmu Komputer, terutama yang sukarela hadir di mini-conference Penulis. 4 Kepada semua pihak yang telah membantu Penulis dalam penyusunan skripsi ini. Semoga penelitian ini dapat memberikan manfaat.
Bogor, Agustus 2014
Aris Munandar
DAFTAR ISI DAFTAR TABEL
viii
DAFTAR GAMBAR
viii
DAFTAR LAMPIRAN
viii
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
1
Tujuan Penelitian
1
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
TINJAUAN PUSTAKA
2
METODE
4
Studi Pustaka
4
Analisis Kebutuhan Sistem
5
Rancangan Arsitektur Load Balancing
5
Pemilihan Berbagai Aspek Load Balancing
7
Implementasi Mekanisme Load Balancing
7
Pengujian
9
Analisis Hasil
9
HASIL DAN PEMBAHASAN Hasil
9 9
Pengujian
13
Pembahasan
16
SIMPULAN DAN SARAN
18
Simpulan
18
Saran
18
DAFTAR PUSTAKA
19
LAMPIRAN
20
RIWAYAT HIDUP
32
DAFTAR TABEL 1 2 3 4
Data CPU, memory dan disk Perbandingan beberapa bilangan bulat Rataan throughput Rataan response time
7 10 15 15
DAFTAR GAMBAR 1 2 3 4 5 6 7 8 9 10 11 12 13
Tahapan penelitian Rancangan arsitektur load balancing Skema aliran request oleh client Server load balancer dengan F5 BIG-IP Implementasi load balancing Penerapan algoritme rasio dinamis pada F5 Penerapan algoritme round robin pada F5 Workload httperf rasio dinamis 80000 koneksi per detik Workload httperf round robin 80000 koneksi per detik Hasil pengujian pada saat client mengakses load balancing Grafik rataan throughput rasio dinamis dan round robin Grafik rataan response time rasio dinamis dan round robin Salah satu server mati pada pengujian algoritme round robin
4 6 6 11 11 12 12 14 14 15 16 17 18
DAFTAR LAMPIRAN 1 2 3 4 5 6
Konfigurasi server Hasil workload httperf Throughput Response time Grafik throughput tiap pengujian Grafik response time tiap pengujian
20 21 24 25 26 29
PENDAHULUAN Seiring dengan berkembangnya teknologi informasi, penggunaan web untuk mengakses informasi semakin banyak digunakan. Contohnya pada forum dan blog karena pengguna dapat dengan mudah mengakses dan mendapatkan informasi dalam jangka waktu yang relatif singkat dan dapat diakses 24 jam. Di satu sisi, keberadaan web server pada jaringan intranet sebuah lembaga pendidikan dianggap penting karena baik dosen, mahasiswa maupun staf kampus dapat saling bertukar informasi melalui situs, forum, atau blog yang mereka buat (Abdullah et al. 2002).
Latar Belakang Teknologi internet berkembang sangat pesat di era informasi sekarang ini. Para pengguna teknologi internet pun kian menjamur di berbagai belahan dunia. Beban kerja pada server meningkat dengan cepat sehingga server menjadi kelebihan beban dalam waktu yang singkat. Masalah juga muncul ketika penyedia jasa web hanya bergantung pada satu server tunggal saja, antara lain seperti overload dan crash. Masalah lainnya adalah ketersediaan server itu sendiri. Misal, pada sistem banyak prosesor akan mengalami down untuk sementara waktu jika hendak melakukan perawatan mesin atau penambahan prosesor. Hal tersebut akan mengurangi nilai pelayanan server itu sendiri. Load balancing adalah proses peningkatan kinerja paralel dan sistem terdistribusi melalui redistribusi beban antara dua atau lebih komputer, link jaringan, central processing unit (CPU) untuk memaksimalkan throughput, meminimalkan delay, dan menghindari overload. Penggunaan algoritme load balancing diharapkan dapat meningkatkan reliabilitas dan redundancy (Abdullah et al. 2002).
Perumusan Masalah Cara kerja load balancing saat ini pada umumnya dilakukan dengan membagi request secara bergantian. Misalnya, request pertama diberikan kepada server 1, request kedua diberikan pada server 2, request ketiga diberikan pada server 1, dan begitu seterusnya. Permasalahannya adalah tiap request mempunyai bobot yang berbeda yang membutuhkan resource dan waktu penyelesaian yang berbeda pula akibatnya beban yang diterima setiap server berbeda, ada server yang beban kerjanya berat dan ada server yang beban kerjanya ringan.
Tujuan Penelitian Tujuan penelitian ini adalah membangun load balancer yang dapat membaca ketersediaan resource pada server sehingga pembagian request dilakukan dengan mempertimbangkan resource server seperti CPU, memory dan
2 disk sehingga dapat mamaksimalkan throughput, meminimalkan waktu tanggap dan menghindari overload.
Manfaat Penelitian Manfaat dari penelitian ini adalah meningkatkan waktu respon dan ketersediaan akses website saat dibuka. Dengan dua atau lebih server yang saling berbagi beban lalu lintas web, masing-masing akan berjalan lebih cepat karena beban tidak berada pada satu server saja. Ini berarti ada lebih banyak sumber daya untuk memenuhi permintaan halaman website.
Ruang Lingkup Penelitian 1 2 3 4 5 6
Lingkup dari penelitian ini, yaitu: Implementasi penyeimbangan beban menggunakan teknologi F5 (BIG-IP) dengan algoritme penjadwalan rasio dinamis. Parameter yang digunakan adalah CPU, memory, dan disk. Algoritme pembanding yang digunakan adalah round robin. Jaringan lokal menggunakan IPv4. Protokol yang diuji adalah HTTP. Tidak membahas sisi keamanan, baik pada jaringan yang digunakan maupun pada sistem operasi.
TINJAUAN PUSTAKA Web Server Web server adalah perangkat lunak yang menjadi tulang belakang dari world wide web (www). Web server menunggu permintaan dari client yang menggunakan browser seperti Netscape Navigator, Internet Explorer, Mozilla Firefox, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar, disebut dengan format standar general markup language (SGML). Data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser tersebut (Lukitasari dan Oklilas 2010).
Penyeimbangan Beban Penyeimbangan beban (load balancing) adalah suatu teknik untuk memanfaatkan sumber daya pengolahan yang tersedia secara lebih efektif dengan cara membagi pekerjaan berdasarkan strategi pembagian tertentu (Balasubramanian et al. 2004).
3 Load balancing dapat diimplementasikan dengan hardware maupun software atau gabungan keduanya. Konfigurasi standar yang ada memberi gambaran bahwa satu mesin ditempatkan diantara client dan server, mesin ini disebut sebagai director karena tugasnya adalah memberikan balancing pada request dari client ke server. Sebuah load balancer adalah perangkat jaringan yang dipasang diantara client dan server, bekerja sebagai saklar untuk request dari client. Round robin merupakan algoritme penjadwalan yang memperlakukan semua real server sama menurut jumlah koneksi dan waktu respon. Least connection merupakan algoritme penjadwalan yang mengarahkan koneksi jaringan pada server aktif dengan jumlah koneksi yang paling sedikit. Penjadwalan ini termasuk salah satu algoritme penjadwalan dinamik, karena memerlukan perhitungan koneksi aktif untuk masing-masing real server secara dinamik. Metode penjadwalan ini baik digunakan untuk melancarkan pendistribusian ketika request yang datang banyak (Nasution 2011). Rasio merupakan sebuah parameter yang diberikan untuk masing-masing server yang akan dimasukkan kedalam sistem load balancing. Dari parameter rasio ini, akan dilakukan pembagian beban terhadap server-server yang diberi rasio. Server dengan rasio terbesar diberi beban besar, begitu juga dengan server dengan rasio kecil akan lebih sedikit diberi beban. Perumusan penentuan rasio dapat dituliskan sebagai berikut (f5 2008). (1) Keterangan: X = number of nodes in Pool
f = CPU utilization
a = memory threshold
g = CPU coefficient
b = memory utilization
h = disk threshold
c = memory coefficient
i = disk utilization
e = CPU threshold
j = disk coefficient
Throughput Throughput sebuah sistem didefinisikan sebagai ukuran sebenarnya dari informasi yang dikirimkan melalui suatu saluran. Throughput dapat diukur dalam satuan bit/second atau packet/second (Thamrin 2008). Penulisan throughput dapat dituliskan sebagai:
(Wibawa 2011)
Response Time Waktu tanggap (response time) adalah waktu tanggap yang diberikan oleh antarmuka/interface ketika user mengirim permintaan ke komputer. Waktu
4 tanggap yang baik adalah tetap stabil walaupun mengalami perubahan jumlah koneksi per detik yang berbeda-beda dari rendah, menengah, maupun tinggi (Nasution 2011).
METODE Penelitian dilakukan mulai bulan Oktober 2013 sampai bulan Mei 2014. Penelitian ini dilakukan dalam beberapa tahapan. Tahapan-tahapan yang dilakukan pada penelitian ini dapat dilihat pada Gambar 1.
Studi Pustaka Tahap ini merupakan tahap pertama pengembangan dari analisis yang akan dilakukan. Studi pustaka dilakukan untuk mencari sumber referensi dan penelitian sebelumnya yang terkait. Referensi dapat berupa berkala ilmiah, buku teks, skripsi, ataupun dokumentasi hasil penelitian lainnya. Melakukan diskusi berupa tanya jawab dengan dosen pembimbing mengenai permasalahan yang terjadi selama proses penulisan tugas akhir.
Gambar 1 Tahapan penelitian
5 Analisis Kebutuhan Sistem Proses analisis ini dilakukan dengan mengumpulkan informasi perangkat lunak dan perangkat keras yang diperlukan. Hasil dari analisis ini dituangkan dalam bentuk rancangan sistem. Sebuah sistem load balancing dibangun membutuhkan perangkat keras dan peranggkat lunak. Perangkat lunak yang digunakan pada penelitian ini adalah berupa sistem operasi linux yaitu server red hat. Sedangkan untuk perangkat kerasnya yang digunakan adalah F5 Network BIG-IP dimana berfungsi sebagai sebuah alat yang sudah disiapkan untuk digunakan sebagai load balancer. Spesifikasi perangkat keras dan perangkat lunak yang digunakan untuk penelitian ini adalah sebagai berikut. 1
Komputer sebagai load balancing Processor :2 Memory : 4 GB HDD : 100 GB Load balancer : BIG-IP-11.4.1 Build 608.0
2
Komputer server Server 1 Processor Memory HDD Sistem operasi
:2 : 2 GB : 15 GB : Linux server red hat
Server 2 Processor Memory HDD Sistem operasi
:1 : 1 GB : 15 GB : Linux server red hat
Komputer client Client 1 Processor Memory HDD Sistem operasi
: Intel(R) Core(TM) i5-2430M : 10 GB : 640 GB : Windows 8 Pro 64-bit
Client 2 Memory HDD Sistem operasi
: 512 MB : 12,52 GB : Linux Ubuntu 11.04
3
Rancangan Arsitektur Load Balancing Pemilihan mekanisme load balancing yang sesuai untuk diterapkan berdasarkan situasi nyata, penulis membuat rancangan simulasi load balancing. Rancangan arsitektur simulasi load balancing dapat dilihat pada Gambar 2.
6
Gambar 2 Rancangan arsitektur load balancing Gambar 2 menunjukkan terdapat dua model jaringan yaitu internal dan eksternal. Jaringan internal menggambarkan dua buah server yang berfungsi sebagai web server terhubung dengan server load balancing. Sedangkan jaringan eksternal terhubung antara server load balancing dengan jaringan luar atau client. Client akan mengakses server load balancing, namun yang diakses bukan pada alamat load balancing tetapi pada alamat virtual server-nya. Tahapan aliran request yang dikirimkan oleh client kepada sistem dapat diketahui melalui ilustrasi sebagai berikut. 1 Client membangun koneksi http dengan mengetikkan alamat penyedia layanan pada browser. Kemudian koneksi akan diterima oleh load balancer. 2 Load balancer menerima request kemudian menulis kembali alamat tujuan yang baru yaitu alamat IP real server dengan tidak mengubah alamat pengirim yaitu alamat IP client. 3 Real server (web server) memberikan respon terhadap request yang diterima kemudian dikirimkan kembali kepada alamat IP milik client. Paket tersebut dilewatkan melalui load balancer sebagai satu-satunya gateway yang menghubungkan real server dengan jaringan luar sistem. 4 Load balancer mengubah alamat IP asal menjadi alamat IP load balancer kemudian paket tersebut diteruskan kepada client.
Gambar 3 Skema aliran request oleh client
7 Pemilihan Berbagai Aspek Load Balancing Load balancing dapat berjalan pada server dengan memasang aplikasi load balancing dan melakukan konfigurasi sehingga dapat berfungsi dengan baik. Performa proses load balancing dipengaruhi oleh perangkat komputer yang digunakan, tidak bisa hanya mengandalkan kemampuan software yang canggih saja. Perangkat keras yang dapat mempengaruhi performa load balancing adalah kartu jaringan (network interface card) yang digunakan, besarnya RAM pada perangkat, media penyimpanan yang besar dan cepat, dan sebagainya. Namun pada penelitian ini, perangkat keras komputer yang diperhatikan untuk analisis load balancing algorime rasio dinamis adalah CPU, memory, dan disk. Pembobotan Pembagian rasio yang sesuai berdasarkan kemampuan server diharapkan mampu membuat kinerja masing-masing server menjadi lebih seimbang. Pemberian rasio pada masing-masing server dilihat berdasarkan 3 aspek, yaitu CPU, memory, dan disk. Perhitungan rasio masing-masing server menggunakan Persamaan 1 dan penentuan nilai memory cofficient, memory threshold, memory utilization, CPU cofficient, CPU threshold, CPU utilization, disk cofficient, disk threshold, disk utilization diambil berdasarkan uji snmp sebelumnya (f5 2008). Hasil pengujian snmp dapat dilihat pada Tabel 1. Tabel 1 Data CPU, memory dan disk Number of Nodes in Pool (X) 2 CPU Utilization (f)
0.18
Memory Threshold (a)
70
CPU Coefficient (g)
1.5
Memory Utilization (b)
70
Disk Threshold (h)
90
Memory Coefficient (c)
1
Disk Utilization (i)
7
CPU Threshold (e)
80
Disk Coefficient (j)
2
Sumber : f5 2008 Penggunaan Persamaan 1 rasio dinamis diharapkan mampu membuat pembagian beban kerja server menjadi seimbang. Server yang memiliki kemampuan yang tinggi akan diberikan rasio yang lebih besar dan komputer yang memiliki kemampuan yang rendah akan diberikan rasio yang lebih kecil.
Implementasi Mekanisme Load Balancing Implementasi dari makanisme load balancing pada penilitian ini dilakukan melalui virtualisasi. Virtualisasi bertujuan untuk mengurangi kesalahan dan menghindari resiko yang tidak diinginkan. Perangkat virtualisasi yang digunakan adalah VMwareworkstation 8.0.1 dan Oracle VMVirtualBox 4.3.4. VMware Workstation VMware merupakan software untuk virtual machine (mesin virtual). Fungsinya adalah untuk menjalankan banyak sistem operasi dalam satu perangkat
8 keras dan untuk menjalankan aplikasi yang ditujukan untuk sistem operasi dalam satu perangkat keras dan untuk menjalankan aplikasi yang ditujukan untuk sistem operasi lainnya. VMware merupakan software yang banyak digunakan untuk mengoptimalkan dan mengelola kinerja Teknologi Informasi melalui virtualisasi dari desktop ke data center. Adanya virtualisasi, pengguna dapat dengan mudah menggabungkan server dengan beban kerja yang berbeda dalam satu hardware dengan kinerja yang bisa diandalkan (Hafizh 2011). Oracle VM VirtualBox Oracle VM VirtualBox adalah perangkat lunak virtualisasi yang dapat digunakan untuk mengeksekusi sistem operasi tambahan di dalam sistem operasi utama. Aplikasi VirtualBox memiliki fungsi yang sejenis dengan VMware yaitu melakukan uji coba dan simulasi instalasi suatu sistem tanpa harus kehilangan sistem yang ada. Virtual Server Virtual server adalah server dengan skabilitas dan availabilitas tinggi yang dibangun pada sekolompok server sesungguhnya (realserver). Arsitektur dari virtual server bersifat transparan terhadap pengguna. Pengguna seolah-olah berinteraksi hanya dengan sebuah server, namun sesungguhnya terdapat dua atau lebih server yang memberi layanan. Virtual server diakses oleh pengguna melalui alamat IP virtual. IP Virtual Server (IPVS) IPVS mengimplementasikan load balancing layer transport di dalam kernel linux, sehingga disebut juga layer 4 switching. IPVS berjalan pada komputer host yang bertindak sebagai load balancer di depan sekelompok server yang sesungguhnya. IPVS dapat mengarahkan permintaan layanan TCP/UDP kepada realserver dan membuat layanan dari beberapa realserver terlihat sebagai layanan virtual pada sebuah alamat IP (Wensong 2002). Httperf Perangkat lunak yang digunakan untuk membangkitkan request agar dapat menghasilkan banyak request dalam satu waktu yaitu httperf. Penggunaan httperf akan mengurangi jumlah komputer sebagai client tetapi mampu menghasilkan banyak request secara simultan (Nasution 2011). Contoh proses work load request pada httperf : Httperf --hog --server 192.168.1.10 --num-conn 100000 --ra 80000 --timeout 5. Kode di atas terdiri dari intruksi httperf, untuk menjalankan tool httperf. Diikuti --server=192.168.1.10, yaitu alamat IP server yang akan diuji. Kemudian -num-conn=100000 dan --ra=80000 yang masing-masing menunjukkan jumlah koneksi yang diberikan (dijadikan sebagai beban) kepada web server yang akan diuji, serta --timeout 5 mengatur waktu timeout sebesar 5 detik, setiap permintaan yang tidak direspon dalam rentang waktu ini akan dianggap sebagai error. Standar metrik keluaran dari httperf dapat dikelompokkan sebagai berikut (Bullock 2007) :
9 a
b c d e f
Total Section, menampilkan jumlah total koneksi TCP yang dibuat, jumlah permintaan/ request, jumlah respon, dan waktu keseluruhan dari pengujian yang dilakukan. Connection Section, menjelaskan kinerja koneksi TCP yang dihasilkan selama pengujian. Request Section, menampilkan jumlah request per second yang didapatkan dari pengujian. Reply Section, menampilkan statistik dari jumlah reply per second terhadap pengujian yang dilakukan. Miscellaneous Section, menyediakan laporan tentang penggunaan CPU dan pemanfaatan jaringan pada mesin klien Error Section, menampilkan jumlah error yang ditemukan selama pengujian.
Pengujian Tahap ini dilakukan pengujian terhadap algoritme rasio dinamis dengan menggunakan aplikasi wireshark dan httperf. Aplikasi wireshark adalah salah satu teknologi untuk memantau trafik jaringan melalui PC atau laptop. Pada client dipasang httperf yang berfungsi sebagai generator workload dan alat untuk mengambil data. Parameter yang diujikan adalah throughput, waktu tanggap dan overload. Parameter yang diperhatikan untuk memaksimalkan throughput, meminimalkan waktu tanggap dan menghindari overload parameter adalah CPU, memory dan disk. Pengujian dilakukan dengan 2000 koneksi per detik, 10 000 koneksi per detik, 20 000 koneksi per detik, 40 000 koneksi per detik, 50 000 koneksi per detik, 80 000 koneksi per detik dan 100 000 koneksi per detik. Pengujian juga melakukan pengulangan sebanyak 10 kali dengan algoritme rasio dinamis dan round robin.
Analisis Hasil Tahap ini menjelaskan penerapan analisis terhadap kinerja sistem melalui parameter yang telah ditentukan. Dari parameter yang telah ditentukan yaitu CPU, memory, dan disk diharapkan dapat memaksimalkan throughput, meminimalkan waktu tanggap dan menghindari overload.
HASIL DAN PEMBAHASAN Hasil Perhitungan Rasio Perhitungan rasio menggunakan Persamaan 1 dengan pengambilan nilai variabel berdasarkan Tabel 1. Hasil yang untuk masing-masing server adalah sebagai berikut.
10 Server red hat 1 Processor : 2 2 x 1.5 = 3 Memory : 2 GB 2 x 1 = 2 HDD : 15 GB Dengan menggunakan Persamaan 1, maka : (
)
(
)
(
)
r= 1 + 7.960747342 + 3.59114634 r= 12.55189 Server red hat 2 Processor : 1 1 x 1.5 = 1.5 Memory : 1 GB 1x 1 = 1 HDD : 15 GB Dengan menggunakan Persamaan 1, maka : (
)
(
)
(
)
r= 1 + 2.821479637 + 3.59114634 r= 7.412626 Perbandingan yang didapatkan adalah 12.55189 : 7.412626, kemudian disederhanakan menjadi 1.69 : 1. Pembagian bobot rasio pada F5 BIG-IP hanya dapat menggunakan bilangan bulat, sehingga angka 1.69 tidak dapat digunakan. Oleh karena itu, dihitung perbandingan bilangan bulat yang memiliki hasil sama atau mendekati kurang dari sama dengan 1.69 : 1. Perhitungan beberapa perbandingan bilangan bulat dapat dilihat pada Tabel 2. Tabel 2 Perbandingan beberapa bilangan bulat Perbandingan bilangan bulat Hasil
3:2
5:3
7:4
7:5
8:5
9:5
12 : 7
1.5 : 1
1.67 : 1
1.75 : 1
1.4 : 1
1.6 : 1
1.8 : 1
1.71 : 1
Konfigurasi Load Balancing Load balancer yang digunakan dalam penelitian ini adalah BIG-IP-11.4.1 Build 608.0. Server load balancing yang digunakan pada penelitian ini memiliki alamat IP 172.10.10.200/24 dan untuk login digunakan root dengan password default. Aplikasi ping akan dijalankan untuk memastikan bahwa komputer load balancer sudah tersambung dengan client dan server, dalam hal ini ping dilakukan dari komputer client dengan alamat IP 172.10.10.100/24. Jika komputer client sudah terkoneksi pada komputer load balancing, maka kemudian dibuka browser, dalam hal ini browser yang digunakan adalah google chrome untuk membuka server load balancing yaitu https://172.10.10.200. Tampilan dari server load balancing dapat dilihat pada Gambar 4. Konfigurasi server selengkapnya dapat dilihat pada Lampiran 1.
11
Gambar 4 Server load balancer dengan F5 BIG-IP Username yang digunakan untuk masuk ke dalam F5 BIG-IP adalah admin dengan password admin. Setelah berhasil masuk, konfigurasi load balancing siap dimulai. Langkah pertama yang dilakukan adalah konfigurasi pada network. Sesuai dengan rancangan arsitektur load balancing, jaringan dibagi menjadi dua tipe yaitu ekternal dan internal. Jaringan eksternal dengan alamat IP 192.168.1.254/24 dan jaringan internal dengan alamat IP 10.10.10.254/24. Selanjutnya dibuat pools dengan nama pool_web_80 yang berisi dua node yaitu server 1 dengan alamat IP 10.10.10.1 dan server 2 dengan alamat IP 10.10.10.2. Dalam sistem load balancing yang dibangun, client tidak akan langsung mengakses server load balancing melainkan pada virtual server. Oleh karena itu, dibuat virtual server vs_web_80 dengan destination type host, address 192.168.1.10, service port 80, protocol TCP. Implementasi load balancing lebih lengkapnya dapat dilihat pada Gambar 5.
Gambar 5 Implementasi load balancing Algoritme penjadwalan yang dapat dijalankan oleh load balancer F5 BIGIP-11.4.1 Build 608.0 antara lain adalah round robin, ratio (member), least connections (member), observed (member), predictive (member), ratio (node), least connections (node), fastest (node), observed (node), predictive (node), dynamic ratio (node), fastest (application), least sessions, dynamic ratio
12 (member), weighted least connections (member), weighted least connections (node), ratio (session), ratio least connections (member), dan ratio least connections (node). Algoritme penjadwalan load balancing yang digunakan pada penelitian ini adalah rasio dinamis. Algoritme rasio dinamis pada F5 sendiri memiliki dua macam, yaitu rasio dinamis (node) dan rasio dinamis (member). Namun, cara kerja kedua macam algoritme rasio dinamis tersebut sama, yaitu bobot diberikan berdasarkan pada pemantauan terus menerus dari server dan terus berubah. Algoritme rasio dinamis mendistribusikan koneksi berdasarkan berbagai aspek real-time analisis kinerja server, seperti jumlah koneksi saat ini per node atau waktu tanggap tercepat. Konfigurasi server 1 dan server 2 menunjukkan masing-masing server akan diberikan rasio berdasarkan Persamaan 1. Hasil yang didapatkan dari penerapan algoritme rasio dinamis dapat dilihat pada Gambar 6. Gambar 6 menunjukkan bahwa penerapan algoritme rasio dinamis pada F5 sudah berjalan. Pembagian beban kerja komputer server dibagi berdasarkan kemampuan masing-masing server. Server dengan rasio terbesar diberi beban besar, begitu juga dengan server dengan rasio kecil akan lebih sedikit diberi beban.
Gambar 6 Penerapan algoritme rasio dinamis pada F5
Gambar 7 Penerapan algoritme round robin pada F5
13 Gambar 7 menunjukkan penerapan algoritme round robin pada F5 sudah berjalan. Algoritme round robin membagi beban secara bergiliran dan berurutan dari satu server ke server lain sehingga membentuk putaran.
Pengujian Skenario Pengujian 1
2
3 4
5 6
Node Node yang digunakan sebanyak 5 node. Satu node bertindak sebagai load balancer, dua node bertindak sebagai server web, dan dua node lainnya sebagai client. Rasio Beban rasio yang digunakan ada 5 : 3, yaitu rasio 5 untuk server 1 dan rasio 3 untuk server 2. Aplikasi yang digunakan untuk membangkitkan request oleh client adalah httperf. Jumlah data request yang digunakan adalah : 2000 koneksi per detik, 10 000 koneksi per detik, 20 000 koneksi per detik, 40 000 koneksi per detik, 50 000 koneksi per detik, 80 000 koneksi per detik, dan 100 000 koneksi per detik. Parameter yang diujikan adalah throughput dan response time. Ulangan pengujian dilakukan sebanyak 10 kali.
Hasil pengujian Pengujian yang dilakukan dengan httperf menggunakan komputer client 2 dengan sistem operasi linux ubuntu 10.04. Httperf dipasang pada komputer client 2, proses installasi httperf dapat dilakukan dengan apt-get install httperf. Selain sebagai workload genarator httperf juga digunakan sebagai alat uji algoritme. Httperf dapat menghasilkan beberapa parameter uji yang dibutuhkan, yaitu response time, throughput, dan request lost. Response time didapatkan dari Reply Section(Reply time[ms]), throughput diambil dari Miscellaneous Section yaitu Net I/O yang merupakan rata-rata throughput jaringan dengan satuan kilobytes per detik dan megabits per detik, serta Request Lost didapatkan dari Error Section pada connrefused dan connreset (Nasution 2011). Saat dilakukan proses pengujian, client akan melakukan request di mana pada client terdapat httperf yang berfungsi sebagai workload generator dan alat penghasil uji. Contoh proses workload request pada httperf : Httperf --hog --server 192.168.1.10 --num-conn 100000 --ra 80000 --timeout 5 Perintah di atas akan menghasilkan maksimal 10 0000 koneksi dengan rata-rata 80 000 koneksi per detik (Nasution 2011). Pada Gambar 8 dapat dilihat contoh hasil yang ditampilkan oleh httperf untuk membentuk 80 000 koneksi per detik dengan algoritme rasio dinamis. Contoh hasil lengkap httperf dapat dilihat pada Lampiran 2.
14
Gambar 8 Workload httperf rasio dinamis 80000 koneksi per detik Pada Gambar 9 dapat dilihat contoh hasil yang ditampilkan oleh httperf untuk membentuk 80 000 koneksi per detik dengan algoritme round robin.
Throughput Data throughput diambil dengan menggunakan httperf dengan 2000 koneksi per detik, 10 000 koneksi per detik, 20 000 koneksi perdetik, 40 000 koneksi per detik, 50 000 koneksi perdetik, 80 000 koneksi perdetik dan 100 000 koneksi perdetik. Hasil rataan throughput koneksi per detik dengan menggunakan algoritme rasio dinamis dan round robin dapat dilihat pada Tabel 3. Hasil lengkap pengujian throughput dapat dilihat pada Lampiran 3.
Waktu Tanggap Data waktu tanggap (response time) juga diambil dengan menggunakan httperf dengan 2000 koneksi per detik, 10 000 koneksi per detik, 20 000 koneksi per detik, 40 000 koneksi per detik, 50 000 koneksi per detik, 80000 koneksi per detik dan 100 000 koneksi per detik. Hasil rataan response time koneksi per detik dengan menggunakan algoritme rasio dinamis dan round robin dapat dilihat pada Tabel 4. Hasil lengkap pengujian response time dapat dilihat pada Lampiran 4.
Gambar 9 Workload httperf round robin 80000 koneksi per detik
15 Tabel 3 Rataan throughput Connection / s 2000 10 000 20 000 40 000 50 000 80 000 100 000
Throughput (KB/s) Round robin Rasio dinamis (5:3) 40 38.17 64.14 69.8 103.26 103.77 97.62 119.19 81.31 115.96 95.41 129.91 97.77 156.79
Tabel 4 Rataan response time Connection / s 2000 10 000 20 000 40 000 50 000 80 000 100 000 Rata-rata
Response time (ms) Round robin Rasio dinamis (5:3) 2774.73 2744.38 2861.71 2840.06 2501.55 2424.6 2537.85 2606.59 2763.54 2635.32 2744.63 2454.67 2718.48 2600.55 2700.35 2615.16
Hasil Monitoring Traffic Network Hasil dari monitoring traffic network dengan menggunakan wireshark dapat dilihat pada Gambar 10.
Gambar 10 Hasil pengujian pada saat client mengakses load balancing Gambar 10 menunjukkan request dari client ke server menggunakan IP virtual dengan alamat IP 192.168.1.10 bisa diterapkan dan sudah dapat berjalan sebagaimana mestinya.
16 Pembahasan Penentuan Ratio Perbandingan rasio load balancing pada F5 BIG-IP dengan algoritme rasio dinamis adalah 5 : 3. Pengambilan rasio tersebut berdasarkan hasil dari Tabel 2 yang menunjukkan perbandingan 5 : 3 dan 12 : 7 adalah yang terbaik dengan selisih +- 0.02. Namun perbandingan 12 : 7 menghasilkan nilai lebih dari perbandingan 1.69 : 1, sehingga dapat menyebabkan terjadinya overload. Throughput
Gambar 11 Grafik rataan throughput rasio dinamis dan round robin Grafik throughput pada Gambar 11 menunjukkan bahwa algoritme rasio dinamis mampu meningkatkan throughput. Pada seluruh pengujian, yaitu pengujian 1 sampai 10 juga menunjukkan algoritme rasio dinamis mampu meningkatkan throughput. Algoritme rasio dinamis dapat bekerja maksimal ketika jumlah koneksi perdetik nya lebih banyak (lebih besar dari 20 000 koneksi per detik). Jumlah koneksi yang lebih sedikit (lebih kecil 20 000 koneksi per detik), kemampuan algoritme rasio dinamis nya tidak jauh berbeda dengan algoritme round robin. Lampiran 5 dapat dilihat grafik throughput untuk setiap pengujian. Waktu Tanggap Pengujian algoritme rasio dinamis diharapkan dapat meminimalkan waktu tanggap (response time). Namun, waktu tanggap yang baik tidak dapat ditentukan karena ada beberapa faktor yang mempengaruhi yaitu jumlah pengguna, kecepatan transmisi, jenis media transmisi, jenis hardware yang digunakan, dan program perangkat lunak. Gambar 12 menunjukkan grafik pengujian response time.
17
Gambar 12 Grafik rataan response time rasio dinamis dan round robin Hasil pengujian menunjukan bahwa response time kedua algoritme tidak jauh berbeda. Rata-rata response time rasio dinamis adalah 2.61 detik dan ratarata response time round robin 2.70 detik. Pada tabel 4, rataan response time algoritme rasio dinamis menunjukkan angka yang lebih kecil dibandingkan algoritme round robin. Sehingga dapat disimpulkan bahwa algoritme rasio dinamis dapat meminimalkan waktu tanggap (response time) dibandingkan algoritme round robin. Pada Lampiran 6 dapat dilihat grafik response time untuk setiap pengujian. Overload Penentuan rasio tehadap server bertujuan untuk menghindari terjadinya overload. Keuntungan yang diperoleh dari teknik load balancing antara lain adalah flexibility dan high-availability. Pada penerapan load balancing performa per unit dari cluster tidak terlalu diperhitungkan, tetapi performa cluster secara keseluruhan (flexibility). Load balancer dapat mengetahui kondisi real server dalam sistem secara otomatis, jika terdapat real server yang mati maka akan dihapus dari daftar real server dan jika real server tersebut kembali aktif maka akan dimasukkan ke dalam daftar real server (high-availability). High-availability load balancer algoritme rasio dinamis lebih bagus dibandingkan dengan algoritme round robin. Selama proses pengujian dengan algoritme rasio dinamis, kedua server selalu dalam keadaan aktif (tidak terjadi overload). Berbeda dengan algoritme rasio dinamis, pada pengujian algoritme round robin salah satu server pernah mati (terjadi overload) dan sesaat kemudian aktif kembali. Gambar 13 memperlihatkan salah satu server mati pada saat pengujian dengan algoritme round robin. Server dengan status berwarna merah menunjukkan server dalam keadaan mati.
18
Gambar 13 Salah satu server mati pada pengujian algoritme round robin
SIMPULAN DAN SARAN Simpulan 1 2 3
4 5
Kesimpulan dari hasil penelitian ini, yaitu: Algoritme rasio dinamis dapat dijalankan dengan F5 Network BIG-IP. Pembagian rasio pada server dapat mempertimbangkan CPU, memory, dan disk. Load balancing dengan menggunakan algoritme rasio dinamis dapat memaksimalkan throughput dan bekerja maksimal untuk koneksi lebih besar dari 20 000 koneksi per detik. Rataan waktu tanggap algoritme rasio dinamis lebih kecil dibandingkan algortime round robin. Algoritme rasio dinamis memiliki high-availability yang lebih baik dibandingkan algoritme round robin atau dengan kata lain algoritme rasio dinamis mampu bekerja lebih optimal untuk menghindari overload. Saran
1 Penelitian ini masih memiliki kekurangan yaitu pada ketepatan pembagian rasio. Diharapkan pada penelitian selanjutnya dapat menghitung pembagian rasio dengan snmp dan dapat menentukan pula masing-masing server dapat diakses oleh berapa banyak client dalam satuan waktu tertentu. 2 Pemilihan penggunaan software penguji agar menghasilkan hasil yang lebih detail dan parameter yang lebih banyak seperti iperf.
19
DAFTAR PUSTAKA Abdullah A, Simamora SNMP, Andrian HR. 2002. Implementasi dan Analisa Load Balancing pada suatu Web Server. Bandung (ID): ITHB Pr. Balasubramanian J, Schimdt DC, Dowdy L, Othman O. 2004. Evaluating the performance of middleware load balancing strategies. Di dalam: Proceedings of the 8th Intl Enterprise Distributed Object Computing (EDOC 2004). Bertini L, Leite JCB, Mosse D. 2010. Power optimization for dynamic configuration in heterogenous web server clusters. The Journal of Systems and Software. 83:585-598 Bullock T. 2007. Httperf web workload generator quickstart guide [internet]. [diunduh 2014 Agu 4]. Tersedia pada http://www.comlore.com/httperf/ httperf-quickstart-guide.pdf F5. 2008. Overview of rasio dinamis load balancing [internet]. [diunduh 2014 Apr 10]. Tersedia pada http://support.f5.com/kb/en-us/solutions/public/9000/ 100/sol9125.html. Hafizh M. 2011. Load balancing dengan metode per connection classifier (PCC) menggunakan proxy server sebagai caching [skripsi]. Jakarta (ID): Universitas Islam Negeri Syarif Hidayatullah. Kurniawan H, Pulungan R. 2011. Analisis kinerja beberapa algoritma load balancing. SemnasIF. Yogyakarta (ID):UPN Pr. Lukitasari D, Oklilas AF. 2010. Analisis perbandingan load balancing web server tunggal dengan web server cluster menggunakan linux virtual server. Jurnal Generic. 5(2):31-34. doi:1907-4093/2087-9814. Nasution AH. 2011. Komparasi algoritma penjadwalan pada layanan terdistribusi load balancing LVS via NAT [skripsi]. Surabaya (ID): Institut Teknologi Sepuluh Nopember. Oktavianus YL. 2013. Membangun sistem cloud computing dengan implementasi load balancing dan pengujian algoritma penjadwalan linux virtual server pada FTP server. Jurnal Nasional Teknik Elektro. 2(1):25-30.doi:23022949. Thamrin D. 2008. Implementasi dan evaluasi kinerja load balancing pada serverserver proxy di IPB [skipsi]. Bogor (ID): Institut Pertanian Bogor. Wensong Z. 2002. Linux Virtual Server: Linux Server Cluster for Scalable Network Services. Free Software Symposium Wibawa R. 2011. Analisis kinerja protokol routing ad hoc on demand distance vector pada topologi mesh, ring, tree, dan line pada jaringan wireless ad hoc [skripsi]. Bogor (ID): Institut Pertanian Bogor.
20 Lampiran 1 Konfigurasi server
21 Lampiran 2 Hasil workload httperf Contoh hasil workload httperf rasio dinamis
2000 (connection/s)
10000 (connection/s)
20000 (connection/s)
40000 (connection/s)
50000 (connection/s)
80000 (connection/s)
22 Lampiran 2 Lanjutan
100000 Contoh hasil workload httperf round robin
2000 (connection/s)
10000 (connection/s)
20000 (connection/s)
40000 (connection/s)
23 Lampiran 2 Lanjutan
50000 (connection/s)
100000 (connection/s)
80000 (connection/s)
24 Lampiran 3 Throughput Throughput (KB/s) 1 2 3 4 5 6 7 8 9 10
Dynamic Ratio Round Robin Dynamic Ratio Round Robin Dynamic Ratio Round Robin Dynamic Ratio Round Robin Dynamic Ratio Round Robin Dynamic Ratio Round Robin Dynamic Ratio Round Robin Dynamic Ratio Round Robin Dynamic Ratio Round Robin Dynamic Ratio Round Robin
2000 10000 36.8 84.8 37.1 39.8 41.1 72.8 39.2 68.8 37.5 59.5 45.1 53.9 33.4 58.5 32.9 55.9 39.0 76.0 37.6 96.3 54.5 82.6 45.8 83.9 37.9 66.6 36.8 76.1 31.4 80.5 46.1 54.5 38.7 60.1 37.3 63.0 31.4 56.6 42.1 49.2
Connection/s 20000 40000 50000 80000 100000 169.4 193.4 178.5 216.4 202.7 91.0 98.8 85.6 85.2 80.7 113.6 72.7 71.7 102.3 135.7 113.1 127.0 106.3 79.6 74.6 78.6 85.1 115.7 172.1 159.0 121.0 123.3 42.7 101.5 128.8 85.6 159.2 102.1 116.0 126.6 150.9 93.8 76.6 170.3 110.1 100.8 148.2 102.8 119.0 120.0 69.9 96.7 91.7 80.3 95.5 118.0 121.2 123.9 135.3 150.7 76.1 82.3 68.4 82.1 108.2 99.8 103.1 144.5 121.4 188.2 72.4 124.9 82.1 108.1 83.4 90.4 94.2 129.1 88.1 197.3 153.6 90.9 88.7 74.1 93.6 75.9 99.8 99.4 112.2 166.0 72.6 72.3 75.5 106.7 94.8 105.6 115.0 91.9 116.3 121.7 112.0 66.2 95.5 66.2 108.0
25 Lampiran 4 Response time Response Time(ms) Dynamic Ratio Round Robin Dynamic Ratio 2 Round Robin Dynamic Ratio 3 Round Robin Dynamic Ratio 4 Round Robin Dynamic Ratio 5 Round Robin Dynamic Ratio 6 Round Robin Dynamic Ratio 7 Round Robin Dynamic Ratio 8 Round Robin Dynamic Ratio 9 Round Robin Dynamic Ratio 10 Round Robin 1
2000 2803.1 2684.1 2746.3 3024.6 2740.2 2735.3 2807.4 2909.3 2722.1 2936.5 2791.5 2762.2 2715.0 2862.5 2758.3 2811.1 2701.8 2600.9 2658.1 2420.8
10000 2837.4 2616.1 2791.9 2730.7 2843.9 2782.4 3049.1 2701.4 3249.3 2897.3 2610.8 2763.7 3143.6 2734.1 2619.1 2774.4 2834.3 3030.6 2421.2 3586.4
Connection/s 20000 40000 50000 2409.3 2406.5 2986.7 2193.9 2354.6 2502.8 2713.5 2439.4 2431.8 2606.8 2643.3 2849.1 2730.5 2779.2 2796.4 2370.7 2513.0 2703.8 1582.7 2895.8 2372.7 3279.0 2128.3 3511.5 2472.0 2821.4 2262.8 2576.2 2614.6 2785.0 2256.8 1994.3 2616.6 2071.1 2607.7 2725.7 2862.3 2271.7 2865.8 2520.5 3179.0 2652.6 2015.9 3149.4 2999.2 2587.4 2282.2 2657.5 2441.2 2538.6 2400.5 2775.8 2785.0 2794.4 2761.8 2769.6 2620.7 2034.1 2270.8 2453.0
80000 100000 2089.7 2337.2 2708.2 2807.9 2454.5 2587.9 2817.9 2688.3 2819.8 2762.3 2234.5 2488.2 2518.9 2586.3 2891.3 2679.4 2639.6 2847.3 2760.5 2900.0 2538.9 2731.5 2931.1 2802.2 1844.6 2452.7 2798.0 2638.2 2517.2 2203.7 2773.6 2700.7 2348.4 2825.1 2736.0 2828.1 2775.1 2671.5 2795.2 2651.8
26 Lampiran 5 Grafik throughput tiap pengujian
Pengujian 1
Pengujian 2
Pengujian 3
27 Lampiran 5 Lanjutan
Pengujian 4
Pengujian 5
Pengujian 6
Pengujian 7
28 Lampiran 5 Lanjutan
Pengujian 8
Pengujian 9
Pengujian 10
29 Lampiran 6 Grafik response time tiap pengujian
Pengujian 1
Pengujian 2
Pengujian 3
30 Lampiran 6 Lanjutan
Pengujian 4
Pengujian 5
Pengujian 6
Pengujian 7
31 Lampiran 6 Lanjutan
Pengujian 8
Pengujian 9
Pengujian 10
32
RIWAYAT HIDUP Penulis dilahirkan pada tanggal 21 Januari 1991 di desa Cot Darat, Meulaboh, Aceh Barat. Penulis adalah anak kedua dari dua bersaudara dari pasangan Bapak Sofyan Juned dan Ibu Raziah. Penulis mengawali pendidikan dasar pada tahun 1997 di Sekolah Dasar Negeri Cot Darat dan diselesaikan pada tahun 2003. Kemudian pada tahun yang sama penulis memulai pendidikan lanjut tingkat pertama di Sekolah Menengah Pertama Negeri 1 Samatiga dan diselesaikan tahun 2006. Penulis melanjutkan pendidikan di Sekolah Menengah Atas Negeri 4 Wira Bangsa pada tahun yang sama dan diselesaikan tahun 2009. Penulis diterima di Institut Pertanian Bogor pada tahun 2009 melalui jalur Beasiswa Utusan Daerah IPB (BUD) dan diterima di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam pada tahun 2009. Selama menjadi mahasiswa Institut Pertnanian Bogor, penulis berkesempatan mengikuti Program Kegiatan Mahasiswa (PKM) yang didanai oleh DIKTI pada tahun 2013 yaitu PKM-Penelitian. Selama periode masa studi di Institut Pertanian Bogor, penulis berkesempatan menerima Beasiswa Utusan Daerah (BUD) pemerintah Aceh Barat. Penulis juga aktif dalam kepengurusan IMTR (Ikatan Mahasiswa Tanah Rencong) sebagai ketua Infokom pada tahun 2011/2012.