Pengembangan Sistem Pengukur Indeks Beban untuk Sistem Penyeimbang Beban pada Komputer Paralel Cluster

PENGEMBANGAN SISTEM PENGUKUR INDEKS BEBAN
PADA KOMPUTER PARALEL CLUSTER

IRVAN AHADI

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi Pengembangan Sistem Pengukur
Indeks Beban pada Komputer Paralel Cluster 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, April 2013
Irvan Ahadi
NIM G64080095

ABSTRAK
IRVAN AHADI. Pengembangan Sistem Pengukur Indeks Beban pada Komputer
Paralel Cluster. Dibimbing oleh HENDRA RAHMAWAN.
Kinerja sebuah sistem paralel dapat ditingkatkan dengan berbagai cara,
salah satunya dengan load balancing. Untuk melakukan tugas penyeimbangan
beban, beberapa algoritme load balancing membutuhkan informasi mengenai
indeks beban tiap komputer pemroses. Penelitian ini mengembangkan suatu
sistem untuk membaca indeks beban di komputer pemroses pada komputer cluster
yang dapat mengukur, mengirimkan, dan mengelola informasi nilai load dari
setiap komputer pemroses. Aplikasi diimplementasikan menggunakan library
Hyperic SIGAR (System Information Gatherer And Reporter) dengan CPU,
memori, dan I/O sebagai indeks load. Analisis pengujian kinerja sistem
menunjukkan bahwa nilai throughput sebanding dengan jumlah komputer
pemroses dan berbanding terbalik dengan jeda pengiriman (delay). Sementara itu,
analisis validitas menunjukkan bahwa nilai load berbanding terbalik dengan delay
pengiriman dan jumlah komputer pemroses. Namun, pada penelitian ini terdapat

anomali pada analisis delta karena beberapa faktor yang terjadi selama pengujian
seperti jaringan yang tidak terisolasi.
Kata kunci: Hyperic SIGAR, indeks beban, load balancing

ABSTRACT
IRVAN AHADI. Develompent of Load Index Measurement System in Parallel
Cluster Computer. Supervised by HENDRA RAHMAWAN.
The performance of a parallel system can be improved in various ways; one
of them is load balancing. To perform load balancing task, some load balancing
algorithms require the information of load index on each slave computer. This
research developed a system to read the load index on each slave computer of a
computer cluster that can measure, send, and manage information of load value.
The application was implemented using Hyperic SIGAR (System Information
Gatherer And Reporter) with CPU, memory, and I/O as the load indices. Analysis
of the system performance testing showed that throughput values are proportional
to the number of slave computers and inversely proportional to delay. Meanwhile,
analysis of load value validity showed that load value is inversely proportional to
the delivery delay and the number of slave computer. However, there were several
anomalies in the delta analysis due to several factors, such as the unisolated
network during the testing period.

Keyword : Hyperic SIGAR, load balancing, load indices

PENGEMBANGAN SISTEM PENGUKUR INDEKS BEBAN
PADA KOMPUTER PARALEL CLUSTER

IRVAN AHADI

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer
pada
Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

Judul Skripsi : Pengembangan Sistem Pengukur Indeks Beban untuk Sistem

Penyeimbang Beban pada Komputer Paralel Cluster
Nama
: Irvan Ahadi
NIM
: G64080095

Disetujui oleh

Hendra Rahmawan, S.Kom, M.T
NIP. 19820501 200912 1 004

Diketahui oleh

Dr. Ir. Agus Buono, M.Si, M.Kom
NIP. 19660702 199302 1 001

Tanggal Lulus:

PRAKATA
Segala puji serta syukur ke hadirat Allah subhanahu wata’ala yang telah

melimpahkan rahmat dan karunia-Nya. Salawat beserta salam tercurahkan kepada
Nabi Muhammad shallallahu ‘alaihi wa sallam dengan petunjuk dan bimbinganNya, penelitian yang berjudul Pegembangan Sistem Pengukur Indeks Beban pada
Komputer Paralel Cluster berhasil diselesaikan. Atas terselesainya penelitian ini
penulis ingin mengucapkan terima kasih yang tulus kepada:
1 Orang tua tercinta, Ayahanda Jahroni dan Ibunda Nur’aini serta adikku,
Chusnul Nabila yang selalu memberikan kasih sayang, doa, dan dukungan
yang tiada henti.
2 Bapak Hendra Rahmawan, S.Kom, M.T selaku pembimbing, yang selalu
memberikan nasihat, petunjuk, bimbingan hingga penelitian ini selesai.
3 Bapak Dr. Heru Sukoco, S.Si, M.T dan Ibu Ir. Sri Wahjuni, M.T sebagai dosen
penguji atas segala masukan yang diberikan.
4 Seluruh dosen pengajar dan staf Departemen Ilmu Komputer FMIPA IPB
untuk semua yang telah mereka berikan selama mengikuti proses perkuliahan.
5 Tiara Aprillinda Dewi yang selalu memberikan semangat dan motivasi dalam
menyelesaikan penelitian ini.
6 Teman-teman seperjuangan Asrori, Catur, Halim, Melki, Dipo, Putra, Ryan,
Panji, Dani, Dayat, Yansen, Pradit, Jaka, Momi, Firman, Elbie, Williardi, dan
teman-teman Ilmu Komputer IPB angkatan 45, atas segala kebersamaan,
bantuan, dukungan, serta kenangan bagi penulis selama menjalani masa studi.
Semoga kita bisa berjumpa kembali kelak sebagai orang-orang sukses.

7 Rekan-rekan satu bimbingan Bambang, Hanif, Melki, dan Zulfikar yang telah
berjuang bersama-sama dalam melakukan penelitian.
Penulis juga mengucapkan terima kasih kepada semua pihak yang telah
membantu selama pengerjaan penyelesaian tugas akhir ini yang tidak dapat
disebutkan satu per satu. Semoga penelitian ini bermanfaat.

Bogor, April 2013

Irvan Ahadi

DAFTAR ISI
DAFTAR TABEL

vi

DAFTAR GAMBAR

vi

DAFTAR LAMPIRAN


vi

PENDAHULUAN

1

Latar Belakang

1

Tujuan Penelitian

1

Manfaat Penelitian

1

Ruang Lingkup Penelitian


1

TINJAUAN PUSTAKA

2

Sistem Paralel dan Komputer Cluster

2

Penyeimbang Beban Statis (Static Load Balancing)

2

Socket Programming

3

METODE


4

Analisis

4

Implementasi

4

Pengujian Sistem

5

Analisis Hasil Pengujian

6

HASIL DAN PEMBAHASAN

Analisis

7
7

Implementasi

12

Pengujian Sistem

14

Analisis Hasil Pengujian

17

SIMPULAN DAN SARAN

22


Simpulan

22

Saran

22

DAFTAR PUSTAKA

22

LAMPIRAN

23

RIWAYAT HIDUP

25

DAFTAR TABEL
1
2
3
4

Parameter pengujian kinerja sistem.
Variasi skenario pengujian kinerja
Hasil pengujian fungsional sistem pada komputer master
Hasil pengujian fungsional pada komputer pemroses

6
15
16
17

DAFTAR GAMBAR
1
2
3
4
5
6
7
8

9
10
11
12
13

14
15
16
17
18
19

Contoh Arsitektur Sistem Paralel
Ilustrasi TCP/IP socket programming
Metode penelitian
Ilustrasi perubahan load pada sistem
Alur kerja sistem
Alur kerja Master
Label-label indeks beban dalam suatu berkas XML
Alur kerja Client
Topologi jaringan laboratorium pengujian
Antarmuka aplikasi pada komputer pemroses
Antarmuka aplikasi pada komputer master
Grafik nilai delta status no-app.
Grafik nilai delta status app-run.
Paket-paket protokol luar selain TCP
Throughput pengujian sistem status no-app
Throughput pengujian sistem status app-run
Validitas CPU
Validitas memori
Validitas I/O harddisk

2
4
5
7
8
9
10
11
16
16
17
18
18
19
19
20
20
21
21

DAFTAR LAMPIRAN
1
2

Class diagram Master
Class diagram Client

24
25

PENDAHULUAN
Latar Belakang
Kinerja sebuah sistem paralel yang baik dapat ditentukan oleh kecepatan
waktu eksekusi suatu pekerjaan dan sebaran kerja setiap pekerjaan kepada
komputer pemroses dalam sistem tersebut. Ada banyak pendekatan untuk
memperbaiki kinerja sebuah sistem paralel salah satunya melalui load balancing.
Dua metode yang dikenal dalam load balancing adalah statis (static load
balancing) dan dinamis (dynamic load balancing). Terdapat beberapa variasi
algoritme dari kedua metode ini yang memerlukan informasi beban dari
komputer-komputer pemroses. Dengan demikian, informasi beban dari komputerkomputer pemroses menjadi hal yang penting dalam algoritme tersebut.
Load dari setiap komputer pemroses dapat diketahui dengan pengiriman
informasi load langsung oleh komputer pemroses kepada komputer master atau
penyeimbang beban dalam jaringan sistem paralel itu sendiri. Dalam penelitian
ini akan dikembangkan sebuah perangkat lunak yang dapat mengukur dan
mengirimkan informasi load dari setiap komputer pemroses kepada setiap
komputer master atau penyeimbang beban. Perangkat lunak yang dikembangkan
diharapkan mampu meningkatkan kinerja algoritme load balancing pada sebuah
sistem paralel.

Tujuan Penelitian
Penelitian ini bertujuan mengembangkan sebuah perangkat lunak yang
mengukur beban komputer pemroses pada sistem paralel komputer cluster dan
juga menganalisis kinerja perangkat lunak tersebut berdasarkan nilai delay,
throughput, dan validitas nilai beban yang dibaca.

Manfaat Penelitian
Hasil dari penelitian ini diharapkan dapat diimplementasikan dengan baik di
berbagai lingkungan cluster komputer. Selain itu, dengan adanya perangkat lunak
ini, kinerja algoritme load balancing pada sistem paralel yang dilengkapi dengan
sistem ini diharapkan akan meningkat.

Ruang Lingkup Penelitian
Terdapat beberapa jenis indeks beban yang mempengaruhi secara signifikan
proses eksekusi pekerjaan setelah proses load balancing antara lain beban pada
CPU, I/O harddisk, memori dan jaringan (Branco dan Ordonez 2006). Jenis
indeks beban (load) yang digunakan pada penelitian ini adalah beban pada CPU,
I/O harddisk, dan memori.

2

TINJAUAN PUSTAKA
Komputer Paralel dan Komputer Cluster
Komputer paralel adalah kumpulan dari elemen pemroses yang
berkomunikasi dan bekerja sama untuk menyelesaikan masalah secara efisien.
Komputer paralel terbagi dalam dua arsitektur yang fundamental: (1) Single
Instruction Multiple Data (SIMD) dengan Multiple Instruction Multiple Data
(MIMD), dan (2) shared memory dengan distributed memory (Xu dan Lau
1997). Sebagai ilustrasi, komputer paralel bisa juga digambarkan sebagai sistem
yang terdiri atas komputer penyeimbang beban, dan N buah komputer pemroses
yang dihubungkan oleh suatu jaringan (Rahmawan dan Gondokaryono 2009).
Ilustrasi suatu arsitektur sistem paralel dapat dilihat pada Gambar 1.
Komputer cluster merupakan suatu tipe dari sistem pemrosesan paralel yang
terdiri dari sekumpulan komputer-komputer yang saling terhubung
(interconnected) yang bekerja sama sebagai sebuah sumberdaya komputasi yang
saling terintegrasi (Buyya 1999). Sebuah cluster secara umum terdiri atas dua
atau lebih komputer (node) yang saling terhubung dan biasanya terhubung dalam
sebuah LAN.

Penyeimbang Beban Statis (Static Load Balancing)
Metode penyeimbang beban statis menentukan prosesor yang akan
Komputer Penyeimbang Beban
Program Paralel
j1

j1

...

jn

Komputer Pemroses 1
j1

Komputer Pemroses 2
j2

...

Komputer Pemroses N
jn

Sebaran kerja
Jaringan

Gambar 1 Contoh arsitektur sistem paralel

3
melakukan suatu pekerjaan di awal waktu eksekusi yang dilakukan oleh prosesor
utama. Prosesor pekerja mengalkulasi pekerjaan yang dialokasikan ke mereka dan
mengirim hasilnya ke prosesor utama. Metode ini bersifat non-preemptive atau
dengan kata lain setiap pekerjaan selalu dieksekusi di prosesor tempat ia
ditugaskan hingga selesai. Tujuan utama dari penyeimbang beban statis ini adalah
mengurangi waktu eksekusi secara umum dari sebuah program dengan
meminimalkan proses komunikasi. Kelemahan dari metode ini adalah pemilihan
prosesor dari tiap pekerjaan ditentukan di awal saat proses dibuat dan tidak bisa
ditukar selama proses eksekusi berlangsung. Beberapa algoritme yang digunakan
dalam metode ini antara lain adalah algoritme Round Robin, algoritme
Randomized, dan algoritme Central Manager (Minimal) (Sharma et al. 2008).

Socket Programming
Socket merupakan titik akhir dari komunikasi antara dua program yang
berjalan pada suatu jaringan. Sebuah socket diidentifikasi melalui sebuah IP
address yang digabungkan dengan sebuah nomor port. Pada umumnya socket
menggunakan arsitektur client-server (Silberchartz et al. 2005). Dalam
pengoperasiannya, suatu server yang berjalan pada suatu komputer dan memiliki
sebuah socket menunggu suatu client pada suatu port. Kedua entitas ini kemudian
akan saling terhubung apabila sebuah request dari client datang dan server
menyetujuinya.
Socket programming merupakan istilah yang digunakan dalam
pengembangan salah satu aplikasi pada jaringan yang menggunakan socket.
Socket programming dapat dilakukan melalui beberapa bahasa pemrograman,
salah satunya adalah Java. Java menyediakan sebuah package java.net yang
menyediakan kelas-kelas dan interface yang mendukung pengembangan aplikasi
jaringan. Kelas-kelas yang sering digunakan dalam pengembangan client-server
TCP/IP adalah ServerSocket dan Socket, sedangkan untuk UDP
digunakan kelas-kelas seperti DatagramPacket dan DatagramSocket
(Buyya et al. 2009).
Socket programming menggunakan protokol TCP/IP pada Java yang secara
umum dapat dilakukan melalui beberapa langkah sederhana di bawah ini
1 Membuka socket server:
ServerSocket server = new ServerSocket (PORT);
2 Menunggu request dari client:
Socket client = server.accept();
3 Membuat aliran I/O untuk berkomunikasi dengan client:
DataInputStream is = new
DataInputStream(client.getInputStream());
DataOutputStream os = new
DataOutputStream(client.getOutputStream());
4 Melakukan komunikasi dengan client
String line = is.readLine();
os.writeBytes (“Hello\n”);
5 Menutup socket:
client.close();

4
Ilustrasi dari proses pengembangan client-server menggunakan socket dapat
dilihat pada Gambar 2.

METODE
Penelitian ini dilakukan dalam beberapa tahapan seperti yang terlihat pada
Gambar 3.

Analisis
Kebutuhan Sistem
Pada tahapan ini dijelaskan mengenai kerja sistem secara umum pada
lingkungannya. Pada tahapan ini juga dijelaskan fitur-fitur yang akan dilengkapi
pada sistem dan penempatan sistem pada lingkungan komputer cluster itu sendiri.
Analisis kebutuhan sistem juga menjelaskan cara output dari sistem akan
dimanfaatkan untuk kebutuhan load balancing pada lingkungan komputer cluster.
Perancangan Sistem
Fase ini merupakan tahapan penentuan fungsi-fungsi yang disertakan pada
aplikasi yang akan dikembangkan. Selain penentuan fungsi-fungsi tersebut, pada
fase ini juga dijelaskan cara kerja dari fungsi yang telah dirancang. Pada fase ini,
alur kerja sistem saat sistem dijalankan juga dirancang.

Implementasi
Pada tahapan ini dilakukan pengodean model yang telah dirancang dalam
tahapan analisis dan perancangan alur kerja sistem menjadi sebuah sistem. Selain
itu, beberapa hal penting dalam pengembangan sebuah perangkat lunak seperti
lingkungan pengembangan sistem, bahasa pemrograman, dan beberapa hal terkait,
seperti library yang akan digunakan, ditentukan pada tahapan ini.

Gambar 2 Ilustrasi TCP/IP socket programming (Buyya et al. 2009)

5

Analisis

Implementasi

Pengujian Sistem

Analisis Hasil
Pengujian

Gambar 3 Metode penelitian
Pengujian Sistem
Tahapan pengujian sistem dilakukan untuk melihat apakah sistem telah
berjalan sesuai dengan fungsinya. Untuk melakukan pengujian, ditentukan
beberapa skenario pengujian berdasarkan parameter-parameter sistem. Tahapan
pengujian sistem dibagi menjadi dua yaitu pengujian fungsional dan pengujian
kinerja sistem.
Pengujian Fungsional Sistem
Pengujian fungsional bertujuan menguji apakah sistem telah berjalan sesuai
dengan spesifikasi fungsi yang telah ditentukan di awal tahapan pengembangan.
Pengujian fungsional terbagi menjadi dua buah pengujian yaitu pengujian
fungsional sistem pada komputer master dan pengujian fungsional sistem pada
komputer pemroses.
Pengujian Kinerja Sistem
Pengujian kinerja sistem dilakukan untuk menjalankan sistem dengan
berbagai variasi skenario dengan parameter-parameter yang ada. Secara umum
sistem paralel memiki dua buah komponen utama, yaitu komputer master dan
komputer pemroses yang terhubung dalam suatu jaringan untuk berkomunikasi.
Parameter komunikasi jaringan seperti jumlah komputer, delay pengiriman
informasi dan status kerja komputer pemroses dijadikan acuan dalam pengujian
kinerja sistem ini. Parameter jumlah komputer pemroses dilambangkan dengan n.
Delay yang merupakan parameter selang waktu yang digunakan oleh komputer
pemroses dalam mengirimkan setiap satu informasi indeks beban dilambangkan
dengan d. Parameter status yang menunjukkan keadaan sistem operasi saat sistem
pengukur beban ini sedang dijalankan dilambangkan dengan s. Terdapat dua buah
nilai dari parameter ini yaitu app-run dan no-app. app-run adalah nilai parameter
yang menunjukkan ada proses tambahan yang sedang berjalan saat perangkat

6
lunak ini dijalankan (foreground), sedangkan no-app merupakan nilai parameter
yang merepresentasikan sistem operasi berada dalam keadaan background.
Parameter beserta variasi yang digunakan pada pengujian kinerja sistem dapat
dilihat pada Tabel 1.

Analisis Hasil Pengujian
Setelah mendapatkan hasil berupa data dari tahapan pengujian sistem,
dilakukan analisis terhadap data hasil pengujian. Analisis pada pengujian
fungsional sistem dilakukan dengan melihat apakah fungsi-fungsi yang ada pada
sistem berhasil dijalankan pada saat pengujian sistem berlangsung. Sementara itu,
analisis pengujian kinerja sistem membahas bagaimana pengaruh sistem terhadap
beberapa hal seperti nilai delta, throughput, dan validitas.
Delta
Delta merupakan rataan dari selisih waktu pengiriman setiap paket dari
komputer pemroses ke komputer master. Nilai delta merepresentasikan aktualitas
data yang diterima oleh komputer master dari komputer pemroses. Perhitungan
nilai delta dapat dilihat pada persamaan berikut.

Ti merupakan waktu dari paket ke-i yang diterima oleh komputer master,
sedangkan n adalah banyaknya paket informasi load dari setiap komputer
pemroses yang diterima komputer master dalam satu kali pengiriman.
Throughput
Throughput adalah ukuran data yang diterima oleh komputer pemroses setiap
satuan waktu. Nilai troughput dapat merepresentasikan kondisi lalu-lintas jaringan
komputer cluster saat itu dan dapat diukur menggunakan beberapa aplikasi
analisator paket pada jaringan.
Validitas
Validitas merupakan pengujian kinerja sistem yang menunjukkan aktualitas
informasi dengan melihat perbandingan informasi load yang diterima komputer
Tabel 1 Parameter pengujian kinerja sistem.
Parameter

Nilai

Keterangan

n

5, 10, 15

Jumlah komputer yang digunakan

d

1,5,10

Delay pengiriman informasi (detik)

s

app-run

Aplikasi bersifat foreground dijalankan

no-app

Aplikasi bersifat foreground tidak
dijalankan

7
master dengan perubahan informasi load pada komputer pemroses. Validitas
berhubungan langsung dengan parameter delay pada pengujian kinerja sistem.
Tingkat validitas sistem diukur dengan cara mengurangi nilai load yang diterima
komputer master dengan rataan load yang diukur dalam rentang waktu sebesar
delay. Semakin kecil perbedaan nilai yang telah diukur, semakin baik tingkat
validitasnya. Hal tersebut memperlihatkan bahwa perubahan nilai load pada
komputer pemroses tidak berbeda jauh dengan nilai load yang diterima pada
komputer master. Ilustrasi perubahan load yang diterima komputer master dan
load yang berubah pada komputer pemroses ditunjukkan pada Gambar 4.

HASIL DAN PEMBAHASAN
Analisis
Kebutuhan Sistem
Sistem pengukur beban ini akan diterapkan pada sebuah sistem komputer
cluster yang terhubung dalam sebuah jaringan yang terdiri atas komputer utama
pengatur penugasan yang disebut komputer master dan komputer-komputer yang
menjalankan pekerjaan yang disebut komputer pemroses. Untuk mendapatkan
informasi load dari setiap komputer pemroses, sistem ini harus disertakan di
setiap komputer pemroses itu sendiri. Selain itu, sistem pada komputer pemroses
juga harus dapat melakukan beberapa hal sebagai berikut
1 Berkomunikasi dengan komputer master.
2 Mengukur load dan mengirimkan informasi ini kepada komputer master.
Waktu

Komputer
Pemroses

ti

loadi

ti+1

loadi+1

ti+2

loadi+2

ti+3

Loadi+3

ti+4

loadi+4

ti+5

loadi+5

Komputer
Master

delay
pengiriman

delay = 3 detik
loadi

delay
pengiriman

Loadi+3

Gambar 4 Ilustrasi perubahan load pada sistem

8
Sistem juga disertakan pada komputer master untuk mengatur informasi
load yang datang dari setiap komputer master. Berikut adalah beberapa tugas
utama sistem yang terdapat pada komputer master:
1 Mengelola komunikasi-komunikasi yang berasal dari komputer pemroses.
2 Memberi penugasan kepada setiap komputer pemroses untuk mengukur
bebannya.
3 Menerima dan mengelola informasi beban setiap komputer pemroses.
Pengelolaan informasi beban ini berupa penyimpanan ke dalam suatu berkas
dan implementasi sebuah API untuk mengekstrak informasi load dalam berkas
tersebut sesuai dengan kebutuhan.
Perancangan Arsitektur Sistem
Kedua sistem yang masing-masing terdapat pada komputer master dan
komputer pemroses saling berkomunikasi pada saat sistem dijalankan. Oleh
karena itu, diperlukan sebuah alur kerja yang menghubungkan kedua sistem agar
dapat bekerja dengan baik dan juga rancangan kedua sistem ini. Berikut adalah
alur kerja pada saat kedua sistem dijalankan dengan ilustrasi pada Gambar 5.
Mulai

Komputer master
membuka koneksi

Komputer master
menunggu koneksi
komputer pemroses
Tidak

Komputer pemroses
terhubung?

Ya
Permintaan
informasi load ke
komputer pemroses

Komputer pemroses
mengirim informasi ke
komputer master setiap
D detik

Ya

Komputer master
menerima informasi
& menyimpan ke
dalam sebuah berkas

Komputer pemroses
mengukur load

Komputer master
aktif?

Tidak
Selesai

Gambar 5 Alur kerja sistem

9
1
2
3

4
5

Komputer master membuka koneksi dan menunggu setiap komputer pemroses
terhubung.
Sejumlah komputer pemroses melakukan koneksi ke komputer master.
Setelah komputer pemroses terhubung ke komputer master, komputer master
menugaskan kepada komputer pemroses untuk mengirimkan nilai indeks
beban (CPU, memori atau I/O) dengan selang waktu (delay) tertentu.
Komputer pemroses menerima penugasan dan mengirimkan nilai indeks
beban ke komputer master.
Komputer master menerima informasi indeks beban dari setiap komputer
pemroses dan menyimpannya ke dalam sebuah berkas.

Selain rancangan alur kerja keseluruhan dari kedua sistem, pada tahapan ini
juga dilakukan rancangan kerja terhadap masing-masing sistem, yaitu sistem pada
komputer master dan komputer pemroses. Sistem pada komputer master disebut
dengan Master, sedangkan sistem yang terdapat pada komputer pemroses disebut
Mulai

Membuka
Koneksi di suatu
port

Menunggu
sambungan Client
Tidak

Client terhubung?

Ya
Mengirimkan
pesan permintaan
informasi load

Menerima
informasi load &
membangkitkan
berkas xml

Ya

Lanjutkan membaca
informasi load

Selesai

Tidak

Gambar 6 Alur kerja Master

10
dengan Client.
Master
Master merupakan sistem yang lebih dahulu dijalankan sebelum sistem
Client karena Master bertanggung jawab terhadap semua Client yang terhubung
kepadanya. Berikut adalah rancangan langkah-langkah kerja yang dijalankan oleh
Master dalam pengoperasiannya beserta penjelasan fungsi-fungsi di dalamnya.
Alur kerja Master dapat dilihat pada Gambar 6.
1 Membuka sambungan
Master membuka sambungan agar setiap Client dapat terhubung kepadanya.
Master melakukannya dengan cara menginisialisasikan nomor port. Nomor port
ini nantinya akan dijadikan alamat tujuan Client untuk tersambung kepada Master.
Selanjutnya Master akan menunggu semua Client terhubung sebelum melakukan
langkah selanjutnya.
2 Memberi penugasan
Setelah Client terhubung kepada Master, Master akan melakukan penugasan
dengan mengirimkan pesan kepada Client. Pesan penugasan ini berisikan
informasi load yang akan diukur oleh Client dan delay pengiriman informasi load
oleh setiap Client. Pesan penugasan informasi load direpresentasikan lewat
kombinasi 3 buah angka. Angka 1 untuk informasi CPU, 2 untuk informasi
memori, dan 3 untuk informasi I/O hard disk, sedangkan pesan delay pengiriman
sendiri direpresentasikan lewat angka yang diterjemahkan dalam satuan detik oleh
Client.
3 Menerima dan mengelola informasi load
Setelah berhasil mengirimkan pesan penugasan kepada setiap Client, Master
akan menerima pesan informasi load dari setiap Client dan mengelolanya dengan
cara menyimpan informasi-informasi ini ke dalam berkas-berkas XML. Nama
berkas XML yang diterima oleh komputer master disesuaikan dengan alamat IP
masing-masing komputer pemroses dan waktu pengukuran load pada komputer
pemroses dilakukan. Misalnya untuk komputer pemroses dengan IP 172.18.78.54
dan melakukan pengukuran pada 24 Oktober 2012 pukul 09:51:10, maka berkas
akan diberi nama 172.18.78.54 2012-10-24 09.51.10.xml. Label-label yang
terdapat pada berkas XML tersebut antara lain adalah CPU, MEMORY, IOREADS, dan IO_WRITES. Label berisikan informasi tentang persentase
CPU pada komputer pemroses yang masih tersisa. Sementara itu, label
berisikan persentase jumlah memori yang digunakaan saat

Gambar 7 Label-label indeks beban dalam suatu berkas XML

11
pengukuran load berlangsung. Label menampilkan nilai
pembacaan pada disk dalam satuan Kilobytes sedangkan label
menampilkan nilai penulisan aktual pada disk dalam satuan Kilobytes. Contoh
label-label yang terdapat dalam sebuah berkas XML dapat dilihat pada Gambar 7.
Client
Client merupakan bagian sistem yang hanya dapat dijalankan setelah Master
berhasil dijalankan. Berikut adalah langkah-langkah kerja dari Client yang juga
diilustrasikan pada Gambar 8.
1 Melakukan sambungan ke Master
Pada saat akan dijalankan, Client menyertakan alamat IP dari Master dan
port yang sudah diinisialisasikan oleh Master. Setelah itu, Client akan menunggu
beberapa saat hingga semua Client dari komputer pemroses yang lain berhasil
terhubung.
2

Menerima pesan penugasan dan mengukur load
Mulai

Menyambung ke
Master lewat suatu
port

Menunggu pesan
penugasan
Tidak
Menerima pesan
penugasan?
Ya
Mengirim pesan
informasi load

Delay / jeda selama
D detik

Ya

Master masih
aktif?
Tidak
Selesai

Gambar 8 Alur kerja Client

12
Setelah semua Client lainnya terhubung dengan Master, setiap Client akan
menerima pesan penugasan berupa informasi load yang akan diukur dan delay
pengiriman informasi ini. Setelah berhasil menerima pesan penugasan, Client
akan mengukur load dari komputer pemrosesnya dan mengirimkannya ke Master
setiap rentang waktu sebesar delay.
Application Programming Interface
Application Programming Interface (API) juga akan dilengkapi pada bagian
komputer master. Pengembangan API ini bertujuan memudahkan penggunaan
informasi load dalam berkas XML pada algoritme penyeimbangan beban. API
yang dikembangkan berupa pembaca nilai dari setiap label yang terdapat dalam
berkas XML seperti CPU, memori dan I/O.

Implementasi
Lingkungan Implementasi
Lingkungan implementasi yang digunakan adalah sebuah komputer dengan
spesifikasi:
- Sistem operasi: Windows 7 Professional 32-bit
- Perangkat keras: Intel® Core™ 2 Duo (2.1 GHz), memori 4 GB, dan hard
drive 320 GB.
Pengembangan Sistem
Perangkat lunak ini dikembangkan menggunakan Java sebagai bahasa
pemograman. Dalam pengembangannya dipilih sebuah library untuk membantu
mendapatkan nilai indeks beban yaitu Hyperic SIGAR1 (System Information
Gatherer And Reporter). Hyperic SIGAR sendiri merupakan cross-platform API
yang memiliki kemampuan untuk memonitor beberapa informasi penting di dalam
sebuah sistem operasi seperti swap, memori sistem, CPU, deteksi antarmuka
jaringan dan juga network route table.
Struktur Kelas
Impelementasi menggunakan Java menghasilkan struktur kelas yang terdiri
dari dua bagian utama yaitu Master dan Client. Bagian Master terdiri atas empat
kelas utama antara lain:
- newServerSide
- ServerOne
- ClientWorker
- XmlGenerator
Kelas newServerSide pada bagian Master merupakan kelas utama yang
dieksekusi pada saat Master dijalankan. Kelas ini membangkitkan sebuah objek
dari kelas ServerOne saat dijalankan dan menampilkan pesan utama pada
antarmuka sistem Master. Kelas newServerSide juga menentukan banyak Client
yang akan dikelola saat sistem berjalan dengan cara menambahkan argumen
jumlah Client saat akan menjalankan sistem.
1

http://www.hyperic.com/products/sigar

13
Kelas ServerOne merupakan kelas yang mengontrol socket pada komputer
master yang memiliki dua buah constructor dan beberapa method. Constructor
pada kelas ini memiliki fungsi membangkitkan socket server pada port yang telah
ditentukan pada awal eksekusi program. Setelah socket server berhasil
dibangkitkan, pengoperasian socket ini dilakukan melalui beberapa method seperti
method listenSocket(), broadcastMsg(), dan finalize(). Method listenSocket()
memiliki fungsi menerima dan mengelola koneksi yang datang dari Client. Setiap
koneksi dari Client akan direprentasikan dalam bentuk thread sebanyak jumlah
Client yang terhubung. Setelah semua thread berhasil dibangkitkan, method
listenSocket() akan memanggil method broadcastMsg(). Method broadcastMsg()
bertugas mengirimkan pesan penugasan load yang akan diukur kepada setiap
thread Client. Method terakhir yang terdapat pada kelas ServerOne adalah
finalize() yang berfungsi untuk menutup socket server yang telah dijalankan.
Kelas ClientWorker merupakan implementasi dari kelas Runnable yang
terdapat pada Java. Kelas ini merepresentasikan koneksi yang terhubung pada
socket server. Kelas ClientWorker merupakan kelas yang sebelumnya dibentuk
menjadi thread pada kelas ServerOne. Di dalam kelas ini, terdapat beberapa
method yang berfungsi untuk berkomunikasi dengan socket yang terdapat pada
Client. Komunikasi yang terjadi berupa pengiriman penugasan load yaitu
sendCommand() dan penerimaan data dari setiap Client. Setiap data yang diterima
dari Client selanjutnya akan dibangkitkan dalam sebuah berkas XML dengan
memanggil kelas XmlGenerator dan menjalankan method generate().
Kelas yang terakhir yang terdapat pada Master adalah kelas XmlGenerator.
Kelas ini terdiri atas constructor dan method generate(). Method generate() berisi
fungsi-fungsi yang dijalankan dalam membangkitkan sebuah berkas XML mulai
dari membuat berkas XML itu sendiri hingga membangkitkan label-label dan
mengisi nilai dari setiap label itu sendiri. Struktur kelas dari Master dapat dilihat
pada Lampiran 1.
Bagian sistem Client terdiri atas kelas NewClient dan kelas Client. Kelas
NewClient merupakan kelas utama yang dieksekusi di awal pada saat program
dijalankan. Selain constructor, kelas NewClient terdiri atas beberapa method
seperti main method dan method clientProcess(). Main method berfungsi
membangkitkan objek dari kelas Client dan mengatur argumen alamat IP dan port
Master tujuan dari Client. Setelah berhasil dibangkitkan, main method dari kelas
ini menjalankan method clientProcess(). Method clientProcess() berfungsi
mengirimkan dan mengatur jeda pengiriman informasi load ke Master.
Kelas kedua dari Client adalah kelas Client yang berperan dalam mengukur
load. Ada constructor dan beberapa method di dalam kelas ini antara lain:
- commandMode()
- commandExec()
- disconnect()
- getCommandObject()
- getMemoryLoad()
- getCPULoad()
- getIOUsage()
- getDate()
- sendData()

14
Method commandMode() dan commandExec() merupakan method yang
berfungsi mengatur nilai load yang akan diukur sesuai dengan penugasan dari
Master. Method ini kemudian menyimpan nilai-nilai load terserbut ke dalam
sebuah array string. Method ini mengeksekusi method lain dalam kelas Client
seperti getMemoryLoad(), get CPULoad(), getIOUsage(), dan getDate().
Method utama di dalam kelas Client adalah method-method yang bertugas
mengukur load dari Client. Method ini mendapatkan nilai-nilai load menggunakan
objek dari kelas Sigar yang telah dibangkitkan di awal eksekusi program. Methodmethod ini antara lain getCPULoad(), getIOUsage(), dan getMemory(). Method
getCPULoad() bertugas mendapatkan nilai load dari CPU dengan cara
mengeksekusi method getCPUPerc() dari objek kelas Sigar. Method getIOUsage()
bertugas mendapatkan nilai IO hard disk dengan menjalankan method
getDiskUsage() dari objek kelas Sigar dan method getMemoryLoad() untuk
mendapatkan load memori yang digunakan lewat method getMem() milik kelas
Sigar.
Method lainnya seperti method disconnect() berfungsi untuk menutup socket
Client yang telah dibuat pada awal Client dijalankan. Sedangkan method
getTime() dan sendData() masing-masing berfungsi untuk mendapatkan waktu
pengukuran load dan mengirimkan nilai-nilai load yang telah didapatkan melalui
socket dalam bentuk array string. Class Diagram dari kelas Client dapat dilihat
pada Lampiran 2.
Bagian lain dari sistem yang telah dikembangkan pada penelitian ini adalah
API pembaca nilai load dari berkas XML. Terdapat beberapa method dari kelas
API yang telah dikembangkan antara lain
- parseDOC()
- getCPULoad()
- getMEMORYLoad()
- getIORead()
- getIOWrite()
- getTime()
- getAllLoad()
parseDOC() merupakan method utama yang berfungsi sebagai parser dari
berkas yang akan dibaca. Pengguna hanya bisa mendapatkan nilai load dari berkas
ini apabila telah menjalankan method parseDOC(). Method-method selanjutnya
yang dilengkapi dalam API ini antara lain adalah getCPULoad() untuk membaca
nilai load CPU, getMEMORYLoad() untuk membaca nilai load memori, dan
getIORead() serta getIOWrite() untuk mendapatkan nilai load I/O. Method
getTime() berfungsi untuk mendapatkan waktu pengukuran nilai-nilai load
sedangkan method getAllLoad() berfungsi untuk mendapatkan keseluruhan nilai
label yang terdapat dalam berkas ini. Keluaran dari setiap method ini selain
parseDoc() merupakan array atau string tunggal.

Pengujian Sistem
Perancangan Pengujian
Dari tahapan ini, didapatkan dua buah rancangan pengujian sistem yaitu
pengujian fungsional dan pengujian kinerja sistem. Di tahapan ini, juga ditentukan

15
variasi skenario yang dilakukan pada pengujian sistem. Variasi skenario dapat
dilihat pada Tabel 2.
Pengujian Sistem
Pengujian sistem dibagi menjadi dua bagian yaitu pengujian fungsional dan
pengujian kinerja sistem. Kedua pengujian ini dilakukan pada komputer master
dan komputer pemroses dengan spesifikasi yang sama. Berikut adalah spesifikasi
dari komputer yang digunakan
- Sistem operasi : Windows XP Profession al 32-bit
- Perangkat keras : Intel(R) Core(TM) i5 (4 cpu @2.1 GHz), memori 3128 MB,
dan hard drive 320 GB.
Pengujian sistem dilakukan di laboratorium komputer Departemen Ilmu
Komputer, Institut Pertanian Bogor yang dilengkapi dengan jaringan. Gambar 9
memperlihatkan topologi jaringan yang digunakan dalam pengujian sistem.
Pengujian Fungsional
Pengujian fungsional sistem dilakukan dengan menjalankan sistem sesuai
dengan alur kerja yang telah ditentukan. Fungsi-fungsi yang diujikan kinerjanya
diambil dari fungsi yang terdapat pada rancangan arsitektur sistem. Untuk bisa
berjalan dengan baik, aplikasi untuk kedua sistem ini membutuhkan Java Runtime
Environment (JRE) dengan minimal versi 1.6. Tampilan keseluruhan proses yang
telah dijalankan pada komputer master dapat dilihat pada Gambar 10. Sementara
hasil pengujian pada komputer master dapat dilihat pada Tabel 3. Tahapan pada
komputer pemroses dalam menjalankan sistem disajikan pada Gambar 11
Tabel 2 Variasi skenario pengujian kinerja
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

N
(buah)
5
5
5
5
5
5
10
10
10
10
10
10
15
15
15
15
15
15

delay
(detik)
1
5
10
1
5
10
1
5
10
1
5
10
1
5
10
1
5
10

status

no-app

app-run

no-app

app-run

no-app

app-run

16

Jaringan IPB

Switch

Komp. Master

Komp. Pemroses 1

Komp. Pemroses 2

...

Komp. Pemroses n

Gambar 9 Topologi jaringan pengujian
Tabel 3 Hasil pengujian fungsional sistem pada komputer master
No.
1
2
3

4

Fungsi
Membuka port dan sambungan pada socket

Status
Berhasil

Mengelola komputer pemroses yang sudah
terhubung
Menugaskan komputer pemroses untuk
mengirimkan informasi load

Berhasil

Menerima informasi load dari setiap
komputer dan menyimpan ke dalam berkas
xml

Berhasil

Berhasil

Gambar 10 Antarmuka aplikasi pada komputer pemroses
sedangkan hasil pengujian pada komputer pemroses dapat dilihat pada Tabel 4.
Pengujian Kinerja
Setiap kombinasi dilakukan dalam lima kali perulangan dengan waktu lima
menit untuk setiap perulangannya. Untuk mendapatkan paket data dari

17

Gambar 11 Antarmuka aplikasi pada komputer master
Tabel 4 Hasil pengujian fungsional pada komputer pemroses
No.
1
2
3

Fungsi
Melakukan koneksi ke komputer
pemroses
Menunggu dan menjalankan instruksi
dari komputer master
Menampilkan dan mengirim nilai
indeks beban ke komputer pemroses

Status
Berhasil
Berhasil
Berhasil

komunikasi antara komputer master dan komputer pemroses, dilakukan
perekaman data menggunakan perangkat lunak Wireshark2 versi 1.8.2. Perekaman
paket data menggunakan Wireshark ini sendiri dilakukan pada sisi komputer
master. Hal ini dilakukan untuk melihat beban lalu lintas yang terhubung pada
komputer master.

Analisis Hasil Pengujian
Pengujian Kinerja
Pengujian kinerja sistem dilakukan dengan berbagai kombinasi dari tiga
parameter utama yaitu N atau banyaknya komputer pemroses yang terlibat, delay
yang merupakan selang waktu pengiriman informasi yang dilakukan komputer
pemroses dan status sebagai kondisi actual dari komputer pemroses. Data yang
didapatkan dari hasil perekaman lalu lintas jaringan pada komputer master
menggunakan Wireshark ini kemudian disaring untuk mendapatkan data yang
yang lebih spesifik. Data spesifik yang dimaksud adalah data-data yang melewati
port dan menuju ke alamat IP dari komputer master itu sendiri. Berikut adalah
contoh filter yang digunakan pada Wireshark dalam penyaringan data.
tcp.port == 4444 AND ip.dst == 172.18.78.92
2

http://www.wireshark.org/

18
Setelah penyaringan, dilakukan pengolahan untuk mendapatkan beberapa
nilai seperti delta, throughput, dan validitas dari tiap rangkaian pengujian.
Delta
Hasil pengujian kinerja sistem dengan status no-app menghasilkan
perbedaan nilai delta yang signifikan dengan jumlah komputer pemroses (n)
sebanyak 5 buah dan delay (d) pengiriman load sebesar 1 dan 10 detik. Masingmasing nilai delta yang didapatkan pada kedua kondisi ini sebesar 0.17 detik dan
0.36 detik. Kedua nilai ini cukup jauh berbeda dibandingkan dengan hasil
pengujian lainnya yang bernilai antara 0 dan 0.05 detik. Grafik pengujian kinerja
sistem dengan status no-app dapat dilihat pada Gambar 12.
Pengujian sistem kinerja sistem dengan status app-run menghasilkan pola
data yang dapat dilihat pada Gambar 13. Pada skenario ini, status app-run,
dihasilkan nilai delta yang meningkat seiring dengan peningkatan parameter delay
dan jumlah komputer pemroses yang terlibat. Pada nilai delta sebesar 1 detik, nilai
delta berkisar antara 0.06 hingga 0.17 detik. Pada delay sebesar 5 detik, nilai delta
meningkat pada kisaran 0.08 hingga 0.24 detik untuk setiap kombinasi komputer
pemroses sedangkan pada delay sebesar 10 detik, nilai delta juga meningkat
menjadi 0.25 hingga 0.1 untuk masing-masing kombinasi jumlah komputer
pemroses.
Anomali yang ditunjukkan oleh nilai delta disebabkan oleh adanya paketpaket dari aplikasi lain yang masuk ke dalam jaringan pada saat pengujian sistem

Gambar 12 Grafik nilai delta status no-app

Gambar 13 Grafik nilai delta status app-run

19
berlangsung. Paket-paket itu antara lain berasal dari aplikasi lain NBNS dan
LLMNR. NBNS merupakan protokol yang menyediakan layanan registrasi
dengan nama unik bagi setiap komputer yang terhubung dalam sebuah jaringan
dan menggunakan metode broadcast dalam pengoperasiannya . LLMNR adalah
sebuah protokol dengan format paket berbasis DNS yang mengizinkan host IPv4
dan IPv6 melakukan penerjemahan nama untuk host-host dalam suatu link lokal.
Paket yang masuk ini menyebabkan pengiriman data dari komputer pemroses ke
komputer master mengalami penundaan dan mengakibatkan nilai delta menjadi
besar. Contoh paket dari protokol lain ini dapat dilihat pada Gambar 14.
Throughput
Nilai throughput pada penelitian ini didapatkan menggunakan Wireshark
dengan filter yang sama pada saat praproses data. Pada kombinasi delay
pengiriman satu detik dengan status no-app, nilai throughput sekitar 300
bytes/detik untuk jumlah komputer pemroses sebanyak 5 buah dan nilai
throughput sekitar 600 bytes/detik dan 900 bytes/detik untuk jumlah komputer
pemroses sebanyak 10 dan 15 buah. Seiring dengan peningkatan parameter d, nilai
throughput menurun sebesar d kali dari nilai throughput awal. Grafik nilai
throughput dengan status no-app dapat dilihat pada Gambar 15.
Nilai throughput dengan status app-run dan kombinasi parameter d dan n
tidak jauh berbeda dengan status no-app dengan kombinasi parameter d dan n
yang sama. Nilai throughput pada komputer pemroses (n) sebanyak 5, 10, dan 15
dengan delay pengiriman sebesar 1 detik masing-masing adalah sekitar 290
bytes/detik, 560 bytes/detik, dan 790 bytes/detik. Nilai throughput turun menjadi
60 bytes/detik, 120 bytes/detik, dan 190 bytes/detik pada jumlah komputer
pemroses yang sama dengan delay sebesar 5 detik. Selanjutnya untuk delay

Gambar 14 Paket-paket protokol luar selain TCP

Gambar 15 Throughput pengujian sistem status no-app

20
sebesar 10 detik, nilai throughput turun menjadi sekitar 30 bytes/detik, 70
bytes/detik, dan 100 bytes/detik untuk masing- masing komputer pemroses n
sebanyak 5, 10, dan 15 buah. Grafik nilai throughput dengan status app-run dapat
dilihat pada Gambar 16.
Dari hasil pengolahan data tersebut dapat dilihat bahwa nilai throughput
menurun seiring dengan pertambahan delay pengiriman informasi load dan
berkurang nya variabel jumlah komputer n walaupun dengan status yang berbeda.
Validitas
Parameter indeks beban atau load yang diukur pada validitas adalah
persentase CPU, persentase memori yang digunakan, juga nilai I/O Read dan
Write dalam satuan Kilobytes. Analisis nilai validitas ini dilakukan pada status noapp dan app-run dan nilai delay sebesar 5, 10 dan 15 detik. Hasil analisis validitas
CPU ditampilkan pada Gambar 17. Dari hasil analisis pengujian, secara umum
didapatkan peningkatan nilai validitas CPU seiring dengan kenaikan nilai
parameter delay. Rentang nilai validitas CPU untuk status no-app adalah sekitar
0.8% hingga 1% dari load CPU sendiri sedangkan pada status app-run, nilai
validitas CPU berkisar antara 2.5% dan 2.9%. Tetapi terdapat anomali penurunan
nilai validitas CPU pada status app-run dengan delay sebesar 15 detik bila
dibandingkan dengan pola nilai validitas pada status dan delay berbeda yang
cenderung meningkat.
Nilai validitas memori menunjukkan pola yang juga meningkat seiring

Gambar 16 Throughput pengujian sistem status app-run

Gambar 17 Validitas CPU

21
dengan meningkatnya rentang nilai pada parameter delay dari 5 detik hingga 15
detik. Pada status no-app, nilai validitas memori meningkat dari rentang 0.01%
hingga 0.03% dari nilai load memori yang didapatkan pada pengujian, sedangkan
pada status app-run, terjadi anomali penurunan nilai validitas memori pada
parameter delay 15 detik yaitu 0.047% yang menurun dari 0.054% pada parameter
delay 10 detik. Validitas memori dapat dilihat pada Gambar 18.
Nilai validitas lainnya yang dianalisis adalah I/O harddisk yang meliputi
read dan write dengan satuan kilobytes. Dari hasil analisis, didapatkan pola nilai
validitas I/O harddisk yang meningkat untuk setiap peningkatan parameter delay.
Nilai validitas I/O read harddisk untuk status no-app meningkat dari 0 kilobytes
hingga 0.054 Kilobytes. Nilai validitas I/O read dengan status app-run sendiri
merupakan nilai validitas yang paling kecil bila dibandingkan dengan validitas I/O
read dan write dengan variasi status lainnya yaitu 0 Kilobytes. Sementara itu, nilai
validitas I/O write pada status no-app meningkat dari 0.0 hingga 0.01 Kilobyte
pada setiap kenaikan nilai parameter delay sedangkan pada status app-run, nilai
validitas berkisar antara 0.02 hingga 0.06 Kilobyte. Gambar 19 menunjukkan
grafik nilai validitas I/O read dan write pada hard disk.
Hasil analisis validitas sangat bergantung pada spesifikasi komputer dimana
sistem dijalankan. Selain itu, jenis-jenis aplikasi yang dijalankan pada saat
pengujian juga mempengaruhi tingkat validitas informasi load yang diterima
komputer master. Dari hasil pengujian dapat disimpulkan bahwa peningkatan nilai
delay akan menurunkan validitas informasi sebuah load yang diterima komputer

Gambar 18 Validitas memori

Gambar 19 Validitas I/O harddisk

22
master dengan load yang berubah pada komputer pemroses.

SIMPULAN DAN SARAN
Simpulan
Simpulan dari penelitian ini antara lain:
1 Semakin banyak komputer pemroses yang terlibat dan semakin kecil delay
pengiriman, semakin sibuk lingkungan jaringan sistem cluster itu. Hal ini
ditunjukkan dengan nilai throughput yang didapatkan.
2 Sistem yang tidak terisolasi pada saat pengambilan data mengakibatkan nilai
delta pada pengujian kinerja sistem belum bisa digunakan untuk pemilihan
waktu pengiriman (delay) yang baik pada sistem yang sebenarnya.
3 Hasil pengujian validitas menunjukkan semakin besar nilai delay yang
digunakan dalam mengirimkan informasi load akan menghasilkan tingkat
validitas yang kecil, sehingga pemilihan waktu atau delay yang relatif kecil
akan meningkatkan keakuratan informasi yang diterima komputer master.

Saran
Saran untuk penelitian selanjutnya adalah:
1 Dilakukan pengembangan sistem yang dapat mengirimkan load berdasarkan
perubahan nilai load yang signifikan sesuai dengan nilai threshold yang
ditentukan.
2 Pengujian sistem dilakukan pada jaringan yang terisolasi sehingga dapat
ditentukan pengiriman informasi load yang baik sesuai dengan banyaknya
komputer pemroses yang ada pada sistem.

DAFTAR PUSTAKA
Branco KRLJC, Ordonez EDM. 2006. Load indices – past, present and future. Di
dalam: Marcin SS, Daniel H, Dominik S, Haeng-kon K, Tai-hoon K, Il-seok K,
Geuk L, Peter MAS, editor. International Conference on Hybrid Information
Technology; 2006 Nov 9-11; Cheju Island, Korea. Los Alamitos (US): IEEE.
2:206-214.
Buyya R. 1999. High Performance Cluster Computing: Architectures and
Systems. New Jersey (US): Prentice Hall.
Buyya R, Thamarai S, Xingchen C. 2009. Object-Oriented Programming with
Java: Essentials and Applications. New Delhi (IN): McGraw Hill.
Rahmawan H, Gondokaryono YS. 2009. Simulasi Algoritma-algoritma
penyeimbang beban statis [tesis]. Bandung (ID): Institut Teknologi Bandung.

23
Sharma S, Singh S, Sharma M. 2008. Performance analysis of load balancing
algorithms. WASET. 14:269-272.
Silberschatz A, Galvin PB, Gagne G. 2005. Operating System Concepts Ed ke-7.
New Jersey (US): J Wiley.
Xu C, Lau FCM. 1997. Load Balancing in Parallel Computers Theory and
Practice. Massachusetts (US): Kluwer Academic Publishers.

24

Lampiran 1 Class Diagram Master

25

Lampiran 2 Class diagram Client

26

RIWAYAT HIDUP
Penulis dilahirkan di Dumai pada tanggal 25 November 1990, anak pertama
dari dua bersaudara dari pasangan Jahroni dan Nur’aini. Penulis lulus dari Sekolah
Menengah Atas Negeri 1 Dumai tahun 2008 dan diterima di Departemen Ilmu
Komputer Institut Pertanian Bogor melalui jalur Seleksi Nasional Masuk
Perguruan Tinggi Negeri.
Selama aktif sebagai mahasiswa, penulis juga aktif mengikuti organisasi
Himpunan Mahasiswa Ilmu Komputer sebagai pengurus Divisi Komunitas
Robotic dan sebagai ketua Unit Kegiatan Mahasiswa Bulutangkis IPB 2010.
Penulis juga aktif di beberapa kegiatan kepanitian antara lain MPD Ilmu
Komputer 2010, OR UKM Bulutangkis 2009-2011. Pada tahun 2011, penulis
melaksanakan kegiatan praktik kerja lapang di Centre for Climate Risk and
Opportunity Management in South East Asia and Pasific (CCROM SEAP) IPB.