## P ERANCANGAN C LUSTERING UJIAN ONLINE STUDI KASUS B INA S ARANA I NFORMATIKA

## Sumarna
AMIK BSI Purwokerto Jl. DR.Bunyamin No.106 sumarna.smn@bsi.ac.id

## Abstract
A  good  infrastructure,  which  can  handle  hundreds  of  even  thousands  of requests  from  the  client  and  have  zero  down  time,  absolutely  necessary  by  each institution.  Clustering  is  a  technique  used  to  improve  the  performace  of  a  site, where  by  using  this  method,  the  workload  on  a  site  will  be  divided  into  any existing server farm behind him. The purpose of this research report is to build a system  of  clustering  and  performance  tested  by  performing  a  stress  test  cluster and  non-cluster.  Metologi  used  in  this  study  is  to  conduct  a  needs  analysis  has been established by the company in the form of a quick response from servers and availability  of  data  (availability).  Then  the  author  of  designing  architecture  and mengimplentasikan the web server clustering system. Performance of the test has been  done,  the  author  concluded  that  the  response  time  and  availability  much greater clustering techniques both from a single server.
Keywords: clustering, WAPT, stress test
PENDAHULUAN Sebuah  instusi  yang  tumbuh besar pastinya membutuhkan infrastruktur teknologi informasi yang  sangat  handal  sehingga  dapat mengelola  ratusan  bahkan  ribuan data  per  detik  nya.Salah  satu infrastruktur  yang  diperlukan  adalah server, server adalah sistem komputer  yang  menyediakan  satu atau  lebih  layanan  dalam  sebuah jaringan komputer. Begitu berartinya peran server dalam memberikan sebuah layanan terhadap  client,  maka  diperlukan sebuah  server  yang  mempunyai kinerja  yang  sangat  handal  sehingga dapat  menekan  waktu  down  time (gangguan)  atau  jika  bisa  zero  down time (tidak ada gangguan).
Penekanan  waktu  down  time seminimal mungkin atau bahkan zero down  time,  hanya  dapat  dilakukan apabila  kita  mempunyai  lebih  dari
satu  buah  server.    Sebuah  teknologi untuk  meningkatkan  kinerja  server dikenal  dengan  nama  clustering. Cluster  adalah  sekelompok  mesin yang bertindak sebagai sebuah entitas  tunggal  untuk  menyediakan sumber daya dan layanan ke jaringan dengan tujuan untuk menjaga ketersediaan  resource  bagi  client ketika  terjadi  kegagalan  software maupun hardware pada server (Shimonski, 2003).

## TINJAUAN PUSTAKA
Kerusakan  atau  kegagalan kerja  dari  sebuah  perangkat  keras maupun  perangkat  lunak  sebuah mesin  sudah  pasti  akan  terjadi,  hal ini  akan  berdampak  negatif  terhadap institusi  maupun  lembaga  tersebut. Sebuah  solusi  dengan  menggunakan lebih dari satu server yang menyediakan redundant interconnections, sehingga user
hanya  mengetahui  ada  satu  sistem server  yang  tersedia  dan  komputer client  tidak  menyadari  jika  terjadi kegagalan  pada  sistem  server  karena tersedianya  server  sebagai  redundant atau  yang  lebih  dikenal  dengan clustering    kiranya  menjadi  solusi bagi permasalahan tersebut. Beberapa  manfaat  yang  diperoleh dengan menerapkan konsep clustering: 1. Pembagian    beban  kerja  yang sama    dari  tiap-tiap  server, sehingga diharapkan dapat
mengolah  ratusan  bahkan  ribuan request  data  yang  masuk  dari client dengan lebih cepat.
2. Mengalokasikan beban kerja server kepada server  –server lain nya, ketika sebuah server mengalami kegagalan fungsi software maupun hardware, sehingga  meminimalkan  down time server. 1. Jaringan Komputer
Jaringan komputer adalah gabungan  antara  teknologi  komputer dan teknologi telekomunikasi. Gabungan teknologi ini menghasilkan  pengolahan  data  yang dapat didistribusikan, mencakup pemakaian database, software aplikasi  dan  peralatan  hardware secara bersamaan ( Sopandi, 2010) .

## 2. Web Server
Web  server  adalah  sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP  atau  HTTPS  dari  client  yang di  kenal  dengan  web  browser,  dan mengirimkan kembali hasilnya dalam  bentuk  halaman-halaman  web yang  umumnya  berbentuk  dokumen HTML.(https://idcloudhost.com/pen gertian-web-server-dan-fungsinya).
Beberapa  Jenis  Web  Server  di antanya adalah :
1. Apache Web Server / The HTTP Web Server
2. Apache Tomcat
3. Internet Information Services
3. Clustering
Cluster adalah sekelompok mesin yang bertindak sebagai sebuah entitas  tunggal  untuk  menyediakan sumber daya dan layanan ke jaringan dengan tujuan untuk menjaga ketersediaan  resource  bagi  client ketika  terjadi  kegagalan  software maupun hardware pada server (Shimonski, 2003). Secara mendasar terdapat tiga macam cluster : 1. High-availability cluster atau Fail-over  :  Kemampuan  server lain untuk mengambil alih semua layanan  yang  diberikan  oleh server yang mengalami gangguan atau  kerusakan  software  maupun hardware
2. Load-balancing  :  Load  balancing cluster  merupakan  cluster  server dimana  anggota  cluster  server dikonfigurasikan  untuk  saling berbagi  beban  yang  berfungsi mendistribusikan  request  dari client  ke  anggota  server  Load balanced Cluster. Tipe konfigurasi Loadbalancing Cluster  sering  disebut  Load balanced cluster, sedangkan teknologi platform Load balancing  sering  disebut  sebagai Load balancers. Secara  umum  cara  kerja  Load balancer adalah menerima incoming  request  dari  client  dan meneruskan request tersebut pada server  tertentu  jika  dibutuhkan. Load balancer menggunakan beberapa algoritma  yang berbeda
untuk  melakukan  control  traffic network.Tujuan  algoritma  Load balancer adalah untuk mendistribusikan  beban  secara pintar atau memaksimalkan kerja anggota  server  cluster.  Beberapa contoh  algoritma  Load  balancer (S. Sakul dkk, 2014): a. Round-Robin. Algoritma round-robin  mendistribusikan beban  kepada  semua  server anggotacluster sehingga masing masing server mendapat  beban  yang  sama dalam  waktu  yang  sama. Round-robin cocok saat server anggota cluster memiliki kemampuan proccessing  yang  sama,  jika tidak,  beberapa  server  bisa jadi  menerima  request  lebih dari kemampuan proccessingserver  itu  sendiri sedang  yang  lainnya  hanya mendapat  beban  lebih  sedikit dari resource yang dimiliki.
b. Least-connection.  Algoritma Least-connection  melakukan pengiriman request pada server anggota cluster, berdasarkan pada server mana  yang  memiliki  fewest connections  (koneksi  paling sedikit).
c. Source.  Algoritma  source merupakan  sebuah  algoritma dalam software haproxy (load balance),  dimana  cara  kerja algoritma  tersebut  dengan melakukan  pencatatan  alamat IP  (IP  Address)  dari  user yang ingin mengakses sebuah website. Pencatatan IP address tersebut dimaksudkan agar user yang sama diarahkan  pada  server  yang sama  apabila  server  tersebut tidak down (mati). Algoritma source  merupakan  algoritma
statis,  artinya  algoritma  ini tidak  berpengaruh  terhadap perbedaan beban server, pada algoritma ini yang didahulukan adalah trafik server, sehingga memungkinkan terjadinya perbedaan yang cukup signifikan pada web server.
3. High  Performance  Computing Cluster : konfigurasi mesin untuk memberikan  kinerja  maksimum yang  diperlukan.  Seperti  pada load-balancing,  tetapi  dengan menambahkan kemampuan
paralelisme  dan  bisa  disebarkan ke sejumlah mesin berbeda. 4. WAPT (Web Application Perfomance Testing)
Stress  test adalah suatu metode yang  digunakan  untuk  menguji kemampuan perangkat lunak  sebuah web  server  terhadap  banyak  nya beban yang masuk ke mesin tersebut. Sebuah  stress  test  digunakan  untuk mengukur    kemampuan  maksimal sebuah mesin server dalam menangani request dari client. WAPT (Web Application
Perfomance  Testing)  adalah  sebuah tool software testing yang digunakan untuk  pengujian  tingkat  stress  pada suatu  aplikasi  web.  Aplikasi  ini mudah  digunakan  dan  hemat  biaya untuk  menguji  situs  web.Dengan WAPT kita dapat membuat tes beban dalam  beberapa  menit.Beberapa  klik yang  diperlukan  untuk  membuat ribuan pengguna virtual menjalankan beberapa  sesi  bersamaan  terhadap situs web. Satu set  khusus fitur akan memungkinkan  kita  membuat  tes data yang didorong untuk menangani situs  web  dengan  konten  dinamis, bekerja  dengan  halaman  HTTPS aman  dan  semua  jenis  otentikasi. Kita dapat menguji dan menganalisis
karakteristik  kinerja  dari  sistem  kita di  bawah  kondisi  beban  yang bervariasi.

## METODE PENELITIAN
Metode  yang  dipakai  pada perancangan ini adalah Cisco lifecycle  services  yang  merupakan metode yang dirancang untuk mendukung  perkembangan  jaringan komputer.  Cisco  lifecycle  services adalah  pendekatan  dengan  enam fase.  Setiap  fase  mendefinisikan aktifitas  yang  dibutuhkan  untuk mensukseskan penyebaran dan pengoperasian teknologi jaringan.Fase-fase ini juga mendefinisikan bagaimana mengoptimalkan  kinerja  di  seluruh siklus  hidup  suatu  jaringan.Cisco Lifecycle Services juga biasa disebut dengan metode PPDIOO yang merupakan  singkatan  dari  huruf pertama  pada  setiap  fase  yang dilalui.
Sumber : http://www.nprsolutions.com Gambar 1. PPDIOO model

## 1. Metode Pengujian
Pengujian  dilakukan  dengan menggunakan  aplikasi  WAPT  untuk melihat  batas  kemampuan  server dalam
melayani request dari client.Pengujian  pertama  dilakukan pada  server  non  cluster  (tunggal), pada  pengujian  ini  kita  dapat mengetahui batas
maximal kemampuan  server  dalam  melayani request dari client. Pengujian berikut nya  adalah  pengujian  cluster  server,
dimana  pengujian  ini  dilakukan dengan  memberikan  beban  yang sama  pada  server  tunggal.  Pengujian terakhir adalah pengujian availability dari  server  cluster  dengan  cara mematikan  satu  atau  dua  buah server.

## PEMBAHASAN
1. Perancangan Cluster Perancangan cluster menggunakan  empat  buah  server farm yang berfungsi sebagai penyedia  layanan  dari  service  http, satu  buah  server  load  balance  yang berfungsi  untuk  membagi  beban kerja  dari  server  farm  yang  ada  dan sebuah server storage yang berfungsi sebagai  media  penyimpanan  dari setiap server.

## Sumber : Hasil penelitian (2016)
Gambar 2. Desain arsitektur clustering 2. Implementasi cluster Pembuatan clustering yang penulis lakukan menggunakan system  operasi  CentOs,  hal  pertama yang  harus  di  lakukan  adalah konfigurasi  hosts  di  setiap  server farm,  dengan  perintah  vi  /etc/hosts dan buat seperti gambar dibawah.
Sumber : Hasil penelitian (2016) Gambar 3. Konfigurasi hosts.conf
Kemudian konfigurasi cluster, dengan perintah vi /etc/cluster/cluster.conf
Sumber : Hasil penelitian (2016)
Gambar 4. Konfigurasi cluster.conf
Kemudian  pada  server  load  balance, lakukan perubahan pada file haproxy.conf  dengan  perintah  vi
/etc/haproxy/haproxy.conf
Sumber : Hasil penelitian (2016) Gambar 5. Konfigurasi haproxy.conf

## 3. Pengujian Sistem
Tujuan  dari  pengujian  system adalah  untuk  mengetahui  perbedaan unjuk  kerja  server  ,  baik  server tunggal  maupun server  yang telah di cluster.
Pengujian  dilakukan  dengan menggunakan aplikasi WAPT, dimana jumlah user  yang mengakses secara  bersamaan  adalah  20  user selama  5  menit  secara  constant  ke laman http://intranet.bsi.ac.id.

## Sumber : Hasil penelitian (2016)
Gambar 6. Pengujian dengan WAPT

## 1. Pengujian server tunggal

## Sumber : Hasil penelitian (2016)
Gambar 7. Hasil pengujian server tunggal

## 2. Pengujian server Cluster

## Sumber : Hasil penelitian (2016)
Gambar 8. Hasil pengujian server cluster
3. Pengujian availability server Pengujian dilakukan dengan mematikan  sebuah  server  farm, namun  beban  kerja  dan  waktu  stress test tetap sama.
Sumber : Hasil penelitian (2016) Gambar 9. Haproxy
Sumber : Hasil penelitian (2016)
Gambar 10. Hasil pengujian availability

## 4. Hasil Analisa
Dari  semua  data  yang  telah dikumpulkan,  maka  didapatkan  hasil analisa  dari  Clustering  webserver dan  load  balancing  menggunakan haproxy adalah :
1. Dengan  menggunakan  haproxy sebagai  load  balancer,  maka beban  kerja  dari  server  dapat dibagi  rata  ke  semua  anggota cluster,  sehingga  meringankan kerja dari tiap anggota cluster.
2. Clustering  mampu  meningkatkan kecepatan  akses  user  ke  server, karena  request  yg  datang  dari client  akan  dibagi  ke  semua anggota cluster.
3. Kerugian  akibat  tidak  dapat diakses nya server, dapat dimustahilkan dengan tehnik clustering.    Hal  ini  dibuktikan dengan mematikan sebuah server farm.

## KESIMPULAN
Berdasarkan  hasil  perancangan  dan pengimplementasian  yang  penulis telah  dilakukan,  maka  dapat  di  tarik kesimpulan sebagai berikut :
1. Tehnik clustering dapat meningkatkan  performance  dari sebuah  site,  karena  beban  kerja dibagi  rata  ke  setiap  anggota cluster. 2. Ketersediaan  data  akan  tetap terjaga dengan teknik cluster 3. Akses  client  ke  server  menjadi lebih cepat dengan teknik cluster UCAPAN TERIMA KASIH Ucapan terima kasih sebesar- besarnya  penulis  ucapkan  kepada Bapak  Felix  Wuryo  Hadono,    Wakil Kepala  Biro  Teknologi  Informasi BSI  serta  staff  Technical  Support
BSI  yang  membantu  terselesaikan nya penelitian ini.

## DAFTAR PUSTAKA
[1]. S. Sakul, A. M. Rumagit, B. A.
Sugiarso, ST, MT. Studi Performa  PC  Cluster.  E-Jurnal Teknik  Elektro  dan  Komputer Universitas Sam Ratulangi. Manado. 2014
[2]. Idcloudhost  :  Pengertian  web server dan fungsinya (online)
https://idcloudhost.com/pengert ian-web-server-dan-fungsinya/. (diakses 28 Januari 2016) [3]. Shimonski, Robert. 2003. Windows  2003  Clustering  and
Load  Balancing.  McGraw-Hill Osborne. [4]. Sopandi,  Dede.  2010.  Instalasi dan Konfigurasi Jaringan Komputer. Bandung : Informatika Sumarna,  M.Kom. Tahun  2007  lulus dari  Program  Strata Satu (S1) pada STMIK Nusa Mandiri, Jakarta. Tahun  2012  lulus Program  Strata  Dua (S2)    pada  Pasca Sarjana Ilmu Komputer  STMIK Nusa Mandiri, Jakarta. Saat ini bekerja sebagai dosen tetap di AMIK  Bina  Sarana Informatika.