BAB 2
TINJAUAN PUSTAKA
   
2.1.  Support Vector Machine
Support  Vector  Machine  (SVM)  dikembangkan  oleh  Boser,  Gu yon,
dan  Vapnik,  pertama  kali  diperkenalkan  pada  tahun  1992  di  Annual 
Workshop  on  Computational  Learning  Theory.  Konsep  dasar  metode  SVM 
sebenarn ya  merupakan  gabungan  atau  kombinasi  dari  teori-teori  komputasi 
yang  telah  ada  pada  tahun  sebelumnya,  seperti  marginhyperplane  (Dyda  dan 
Hart, 1973; Cover, 1965; Vapnik, 1964), kernel diperkenalkan oleh Aronszajn 
tahun  1950, Lagrange Multiplier yang ditemukan oleh Joseph Louis Lagrange 
pada tahun 1766, dan demikian juga dengan konsep-konsep pendukung lain.  
Menurut  Fachrurrazi  (2011)  SVM  merupakan  suatu  teknik  untuk
melakukan  prediksi,  baik  prediksi  dalam  kasus  regresi  maupun  klasifikasi. 
Teknik  SVM  digunakan  untuk  mendapatkan  fungsi  pemisah  (hyperplane) 
yang optimal untuk  memisahkan observasi yang memiliki nilai variabel target 
yang  berbeda  (William,  2011).  Hyperplane  ini  dapat  berupa  line  pada  tw o 
dimension dan dapat berupa flat plane pada multiple dimension. 
Menurut Nugroho  (2003), karakteristik SVM secara umum dirangkum 
sebagai berikut:  
1.  Secara prinsip SVM adalah linear classifier.  
2.  Pattern  recognition  dilakukan  dengan  mentransformasikan  data 
pada  ruan g  input  (input  space)  ke  ruang  yang  berdimensi  lebih 
tinggi (feature space), dan  optimisasi dilakukan pada ruang vector 
yang baru tersebut.  Hal  ini  membedakan SVM  dari solusi  pattern 
recognition  pada  umumnya,  yan g  melakukan  optimisasi 
parameter  pada  hasil  transformasi  yan g  berdimensi  lebih  rendah 
daripada dimensi input space.  
3.  Menerapkan strategi Structural Risk Minimization (SRM). 
4.  Prinsip  kerja  SVM  pada  dasarn ya  han ya  mampu  menangani 
klasifikasi dua kelas, namun telah dikembangkan untuk klasifikasi 
lebih dari dua kelas den gan adan ya pattern recognition. 
  
  
Metode  Support  Vector  Machine  memiliki  beberapa  keuntungan 
yaitu: 
1.  Generalisasi 
Generalisasi  didefinisikan  sebagai  kemampuan  suatu  metode 
untuk  mengklasifikasi  suatu  pattern  atau  pola,  yang  tidak 
termasuk  data  yang  dgunakan  dalam  fase  pembelajaran  metode 
itu. 
2.  Curse of dimensionality 
Curse  of  dimensionality  didefinisikan  sebagai  masalah  yang 
dihadapi  suatu  metode  pattern  recognition  dalam 
mengestimasikan parameter dikar enakan jumlah sampel data yang 
relatif  lebih  sedikit  dibandingkan  dengan  dimensional  ruang 
vektor tersebut.
3.  Feasibility 
SVM dapat diimplementasikan relatif  lebih mudah, karena  proses 
penentuan  support  vector  dapat  dirumuskan  dalam  Quadratic 
Programing (QP) problem (Nugroho, 2003). 
Adapun kerugian  dari  metode Support  Vector Machine adalah sebagai 
berikut: 
1.  Sulit  dipakai  pada  problem  berskala  besar.   Dalam  hal  ini 
dimaksudkan dengan ju mlah sampel yang diolah. 
2.  SVM  secara  teoritik  dikembangkan  untuk  problem  klasifikasi 
dengan  dua  kelas.  Namun  dewasa  ini  SVM  telah  dimodifikasi 
agar  dapat  men yelesaikan  masalah  dengan  lebih  dari  dua  kelas 
(Nugroho, 2003). 
2.1.1.  Support Vector Regression (SVR)
SVR merupakan penerapan SVM yang digunakan  untuk kasus regresi, 
yang  outputnya  berupa  bilangan  riil  atau  kontinue.  SVR  merupakan  metode 
yang  d apat  mengatasi  overfitting,  sehingga  akan  menghasilkan  perfomansi 
yang  bagus  (Smola  dan  Scholkopf,  2004).  Overfitting  merupakan  kondisi 
dimana  suatu  model  tidak  menggambark an  hubungan  utama  anatara  variabel 
  
input  dan  output  melainkan  menggambarkan  random  error  atau  noise, 
kondisi ini akan mengakibatkan hasil prediksi yang buruk.
Misalnya  ada    set  data  training,  ( , )
x y   dimana  j=1,2,..,     dengan
j j
x x x x R
, .., y }
y y R
=   . 
{
, , }... n
=    dan  output  yang  bersangkutan  1
input 1 2 3
 
Dengan  SVR,  akan  ditemukan  suatu  fungsi  ( )
f x   yang  mempunyai  deviasi
y   untuk  semua  data  training.  maka  dengan
paling besar  e   dari target aktual  i
SVR, manakala  e  sama dengan 0 akan didapatkan regresi  yang sempurna. 
  
Sumber: Anandan, Varma, Joy, 2014 
Gambar 2.1 Support Vector Machine
   
Ilustrasi  fungsi  hyperplane  seperti  pada  Gambar   2.1.  Misal  terdapat 
fungsi berikut sebagai garis regresi 
f
( ) ( ) b
f x w x
= +  
                (2.1) 
T
Dimana  ( ) x
f   menunjukkan  suatu  titik  didalam  feature  space  F  hasil
pemetaan  x  di  dalam  input  space.  Koefisien  w  dan  b  diestimasi  dengan  cara 
meminimalkan  fungsi  resiko  (risk  function)  yang  didefinisikan  dalam 
persamaan 
1 1
+  
min || || ( , ( ))
w C L y f x
2
2
i i
  
                   
(2.2)
1
i
=
  
Subject to
( )
y w x b
f e
-
-
=
i i
( )
1,2,...,  
w x y b + =
f e
- + =
  
i i
i =
Dimana 
e
( , ( )) | ( ) | | ( ) | 0
L y f x y f x y f x
  = - - - =                 (2.3) 
i i i i i i
|| ||
w   adalah  reguralisasi.  Agar  kapasitas  fungsi  dapat
Faktor  2
dikontrol  maka  fungsi  harus  dibuat  setipis  mungkin  dengan  cara 
|| ||
w .Faktor  kedua  dalam  fungsi  tujuan  adalah  kesalahan
meminimalkan  2
empirik  (empirical  error)  yang  diukur  dengan  e -insensitive  lossfunctio n. 
Dengan  menggunakan  ide  e -insensitive  lossfunction  norm  dari  w  harus 
diminimalkan agar mendapatkan generalisasi yang baik untuk fungsi regresi f. 
Karena itu diperlukann ya menyelesaikan problem estimasi berikut: 
1
min || ||
2
2 w 
(2.4) 
Subject to 
( )
y w x b
f e
-
-
=
i i
( )
1,2,...,
w x y b + =
f e
- + =
  
i i
i =
 
   
ˆ
(y y)
e
= -
2 2
   
(y (b b ))
x
= - +
2
0 1
Asumsikan  bahwa  ada  suatu  fungsi  f  yang  dap at  men gaproksimasi 
semua  titik  ( , )
x y   dengan  presisi  e .  Diasumsikan  bahwa  semua  titik  ada
i i
dalam  rentang  f e atau  disebut  feasible.  Sedan gkan  infeasible  merupakan 
± atau  disebut  feasible.  Sedan gkan  infeasible  merupakan 
kondisi  dimana  ada  beberapa  titik  yang keluar  dari  rentang  f e
± ,  titik  yang 
,
     untuk mengatasi masalah
infeasible  ini bisa ditambahkan variabel slack    *
pembatas  yang  tidak  layak  (infeasible  constrain)  dalam  masalah  optimasi. 
Selanjutnya masalah optimasi diatas bisa diformulasikan sebagai berikut: 
1 1
min || || ( , )
w C     
+                          
(2.5) 
2 *
  =
2 i i
i
1
  
Subject to
( ) , 1,2,...,
y w x b i
f   
-
-
-
=  =
T
i i i
( ) , 1, 2,...,
w x y b i + - =  =
f    - + - =  =
*
T
  
i i i
, 0
  
=
*
i i
Kostanta  C  menentukan  tawar  menawar  (trade  of)  antara  ketipisan 
fungsi  f  dan  batas  atas  deviasi  lebih  dari  e yang  masih  ditoleransi.  Semua 
deviasi  lebih  besar  daripada  e   akan  dikenakan  penalti  sebesar  C.  Dalam 
SVR,  e   ekuivalen  dengan  akurasi  dari  aproksimasi  terhadap  data  training. 
nilai  e  yang kecil akan dikaitkan  dengan nilai yang tinggi pada variabel slack 
(*)
   dan akurasi aproksimasi  yang  tinggi. Sebaliknya,  nilai  yang  tinggi untuk
i
    yang  kecil  dan  aproksimasi  yan g  rendah.
e berkaitan  dengan  nilai  (*)
i
Menurut  persamaan  (2.5)  nilai  yang  tinggi  untuk  variabel  slack  akan 
membuat  kesalahan empirik mempunyai pengaruh  yang besar terhadap  faktor 
regulasi.  Dalam  SVR,  support vector  adalah data training  yang  terletak  pada 
dan  diluar  batas  f  dari  fungsi  keputusan,  karen a  itu  jumlah  support  vector 
menurun dengan naiknya  e . 
Dalam formulasi dual, problem SVR adalah sebagai berikut: 
1
  
    
  
   
max ( )( ) K( , ) ( ) ( )
x x y
a a a a a a a a
-
-
-
+ - -   -
* *
* *
2 i i j j i j i i i i i
  
1 1
= =
1 1
i j
i i
= =
      (2.6)
Subject to
  a a
( ) 0 - =
*
i i
1
i
=
a  
= = =
= = =
0 , 1, 2, ..,
0 , 1, 2, ..,
C i
  
i
C i
*
i
K( , )
x x  adalah dot-product  kernel
Dimana C  didefinisikan  oleh user,  1
j
K( , ) ( ) ( )
x x x x
f f
= .  Dengan  menggunakan 
T
yang  didefinikan  sebagai  1
j i j
lagrange  multiplier  dan  kondisi  optimalitas,  fungsi  regresi  secara  eksplisit 
dirumuskan sebagai berikut
  a a
( ) ( ) K( , )
f x x x b +
= - +
*
i i i j
                   
(2.7)
1
i
=
  
2.1.2.  Lagrange
Menurut Smith (2004) Lagrange merupakan suatu metode matematika 
untuk  memecahkan masalah  optimasi dengan adanya  constrains atau batasan. 
f x x R R
  untuk  dicari  nilai  minimum 
Misal  apabila  ada  fungsi  1
( , ..., ) : n
n
( , ..., ) 0
g x x = .  Inti  dari  persamaan
atau  maksimumnya  dengan  constrain  1
n
Lagrange Multiplier ini adalah
( ) ( )
f x g x
  =    
  
(2.8) 
Dimana  gradian  dari  f  sama  dengan   (  Lagrange  Multiplier)  dikali  dengan 
gradian dari g. Dan bentuk dari persamaan constrains 
( ) 0
g x = 
  
(2.9) 
Dalam  konteks  SVM,  kedua  persamaan  diatas  digabung  menjadi  satu 
persamaan yang biasa disebut Lagrangian: 
    
L x f x g x
L x
= -
=    
( , ) ( ) ( )
( , ) 0
(2.10) 
Berdasarkan teori dari Support Vector Machine, diketahui bahwa persamaan 
yang harus di optimasi adalah 
1
( ) || || 
f w w =
2
2
  
( , ) [ , ] 1 0  =    
g w b y w x b - =   
= + - =    
i i i
Dan  ( , )
g w b  dapat di pecah menjadi
i
( , ) [ , ] 1 0 =
g w b w x b
g w b w x b
= + -
1 1
( , ) [ , ] 1 0 - =    
= - + - =    
(2.11)
2 1
Kemudian masukkan persamaan ke dalam Lagrangian 
    
( , , ) ( ) ( , ) ( , )
L w b f w g w b g w b
= - -
1 1 2 2
1 || || ([ , ] 1) ( [ , ] 1)
2
1 || || ([ , ] 1) ([ , ] 1)
2
  
w w x b w x b
= - + - - - + -
   (2.12) 
2
1 1 2 2
  
w w x b w x b
= - + -
+ + +
2
1 1 2 2
Untuk gradian pada Lagrangian 
    
( , , ) ( ) ( , ) ( , ) 0
L w b f w g w b g w b
  =   -   -   =  
1 1 2 2
Digunakan  
  
  = - + =
( , , ) 0
L w b w x x
    
w
1 1 2 2
  = - + =
( , , ) 0
L w b
    
b
1 2
    
(2.13) 
  = + - =
( , , ) [ , ] 1 0
L w b w x b
1
1
  = + + =
( , , ) [ , ] 1 0
L w b w x b
 
2
2
Dengan  keempat  persamaan  turunan  pada  Langrangian  diatas  dapat 
ditemukan vektor weight w , bias b, dan nilai dari Langrangian Multiplier (   ) 
2.1.3.  
Kernel
Menurut Murfi  (2014)  fungsi kernel  adalah  suatu  fungsi  k  yang mana 
untuk semua vektor input x,z akan memenuhi kondisi 
f f
( , ) ( ) ( )
k x z x z
=  
  
(2.14) 
T
Dimana  (.)
f adalah pemetaan  dari  input space ke  feature  space. Dengan kata
lain fungsi kernel adalah fungsi inner product pada feature space. 
( , ) ( , )
k x z x z
,
x z R
    dan 
T
Misal  2
=   adalah  fungsi  kernel  untuk 2
( , )
x x x
( , )
z z z
= . Maka 
=  dan  1 2
1 2
= +
= + +
=
=
( ) ( )
x z x z x z
2 2
T
1 1 2 2
( 2 )
( , 2 , ) ( , 2 , )
x z x z x z x z
x x x x z z z z
2 2 2 2
1 1 1 1 2 2 2 2
  
2 2 2 2
T
1 1 2 2 1 1 2 2
( ) ( )
x z
f f
T
( , ) ( )
k x z x z
=   adalah  suatu  fungsi  kernel  dengan 
T
Sehingga  2
( ) ( , 2 , )
x x x x x
f = ,  yaitu  suatu  fungsi  pemetaan dari  2
R  ke  3
pemetaan 2 2
1 1 2 2
seperti pada Gambar 2.2. 
  
Fungsi  kernel  dapat  menghitung  inner  product  pada  feature  spase 
secara langsung dari  ruang input  tanpa secara  eksplisit  menghitung koordinat 
proyeksi masing-masing vektor input pada feature space. 
Inner product adalah operasi yang sangat penting karena sangat erat
kaitannya dengan persoalan geometri dari data pada ruang fitur, misal untuk 
menghitung jarak: 
f f f f f f f f
2
|| ( ) ( ) || ( ) ( ) (z) (z) 2 (x) (z)
T T T
x z x x
-
= + -
( , ) ( , ) 2 ( , )
k x x k z z k x z
= + -
Ada 3 jenis fungsi kernel 
• 
Linear 
k x x x x
=    
(2.15) 
( , ) T
i j i j
• 
Polynomial
( , ) ( )
k x x x x r
= +  , dimana    >0 
(2.16) 
T d
i j i j
• 
Radial Basis Function
( , ) exp( || || )
k x x x x
 
= - -    
(2.17) 
2
i j i j
  
  
  
Tujuan  dari  penggunaan  kernel  ini  ialah untuk  mengimplementasikan 
suatu model  pada ruang dimensi  yang lebih tinggi (feature  space) tanpa harus 
mendefinisikan  fungsi  pemetaan  dari  ruang  inpu t  ke  feature  space,  sehingga 
untuk kasus yan g  non lineary separable pada  ruang input diharapkan  menjadi 
lineary  separable  pada  feature  space.  Selanjutnya  dapat  digunakan
hyperplane sebagai decision boundary secara efisien.
2.2.  Peak Ground Acceleration (PGA)
PGA  merupakan  besaran  ukuran  yang  digunakan  untuk  mengukur 
kecepatan pergerakan  pada permukaan  tanah.  Ir wansyah dan  Winarko (2012) 
men yatakan bahwa karakteristik PGA  dapat  diperoleh  melalui rekaman PGA 
pada  kejadian  gempa-gempa  sebelumnya.  Perekaman  Ground  Acceleration, 
dimungkinkan  untuk  mengekstrasi  karakteristik  utama  dari  rekaman  ground 
motion  seperti  peak  ground  velocity.  Percepatan  gempa  dapat  dihitu ng 
sebagai  percepatan  dibatuan  dasar,  maupun  percepatan  gempa  dipermukaan 
tanah.  
Nilai  nilai  PGA  dapat  ditentukan  dengan  fungsi  atenuasi.  Fungsi 
atenuasi  adalah  suatu  fungsi  yang  menggambarkan  korelasi  antara  intensitas 
tanah  setempat,  Magnitude  gempa,    serta  jarak   suatu  titik  dari  pusat  gempa. 
Para  ahli  telah  banyak  merumuskan  banyak  fungsi  atenuitasi,  dimana  fungsi 
atenuitasi  yang  berlaku  di  suatu  tempat  belum  tentu  berlaku  ditempat  lain. 
Karena  fungsi  atenuitasi  sangat  bergantung  dari  kondisi  alam  ditempat 
tersebut  (Irsyam  et  al  ,2010).  Menurut  Irwansyah  dan 
Winarko(2012)pemilihan  fungsi  atenuitasi  ditentukan  oleh  kondisi  geologi 
dan  lapisan  tektonik  disuatu  tempat.  Besarnya  kekuatan  PGA  yang terjadi  di 
Indonesia  bisa  dijelaskan  dari  Gambar  2.3.  Dari  gambar  bisa  diketahui  nilai 
PGA dari kota Aceh sebesar 0,3-0,4g. 
  
Sumber: Irsyam et al (2010)
Gambar 2.3 Peta Hazard Gempa Indonesia Dibatuan Dasar pada
Kondisi PGA (T = 0 Detik) untuk 2% PE 50 Tahun
2.3.  PerancanganAplikasi Program
Teknologi  informasi  merupakan  suatu  rangkaian  kegiatan  yang 
difasilitasi  oleh  peralatan  elektronik  yang  mencakup  pen golahan,  transmisi, 
dan  penyajian  informasi.  Teknolo gi  ini  dikembangk an  untuk  menciptakan 
kemudahan  dalam  menjalankan  suatu  rangkaian  kegiatan.  TIK  (Teknologi 
Informasi  dan  Komunikasi)  merupakan  konvergensi  dari  tiga  wilayah  yaitu 
teknologi  informasi,  data  dan  informasi,  serta  masalah-masalah  sosial 
ekonominya.  Perkembangan  TIK  dap at  diukur  berdasarkan  empat  dimensi 
yaitu keterhubungan, akses, kebijakan dan penggunaan (Hermana, 2007).  
2.4.  R
R  adalah  bahasa  pemograman yang open  source  untuk  mengolah data 
statistik  dan  grafik.  Bahasa  pemrograman  ini  dikembangkan  di  B ell 
Laboratories  oleh  Rick  Becker,  John  Chambers  dan  Allan  Wilks.  R 
men yediakan  berbagai  teknik  statistika  dan  teknik  grafik  yang  sangat  bisa 
dipergunakan  secara  luas,  terbukti  dari  banyaknya  library  d ari  teknik-teknik 
statistik  maupun  grafis  yang  dikembangkan  oleh  banyak  peneliti  lainnya.  R 
dapat dijalankan untuk Unix, Windows, dan Macintosh. 
Menurut  Theodorick  (2013)  R  mampu  melakukan  manipulasi  data, 
perhitungan  statistik  dan  pemograman  grafik    dengan  kelebihan-kelebihan 
seperti: 
• 
Penanganan data dan fasilitas pen yimpanan yang efektif 
  
• 
R angkaian perhitungan dalam array, terutama matrix 
• 
Koleksi  tools  yang  besar,  koheren  dan  berintegrasi  untuk  data 
analisis 
• 
Menggunakanbahasa programming S  yang  simple dan efektif yang 
menggunakan syarat, perulangan dan fungsi rekursif. 
2.5.  Java Programming
Yang  dimaksud  b erbasis  komputer  dalam  p enelitian  ini  adalah 
membuat  interface  program  untuk  pengaplikasian  metode  Support  Vector 
Regression.  Penelitian  ini  merubah  perhitungan  yang  dilakukan  secara 
manual menjadi otomatis dengan komputer. 
Pemograman  dengan   bahasa  java  dikembangkan  oleh  Sun 
Microsystems  sebagai  bahasa  berorientasi  objek.  Tujuan  umumn ya  yaitu 
untuk  aplikasi  bisnis  interaktif, dan aplikasi internet  berbasis  web. Java tidak 
mengeksekusi  instruksi  pada  komputer  secara  langsung  sehingga  dapat 
dijalankan  di  b erbagai  komputer.  Sebaliknya,   Java  berjalan  pada  computer 
hipotetis yang dikenal sebagai Java Virtual Machine (Farrell, 2010). 
Java  merupakan  bahasa  pemrograman  yang  popular  dikalangan  para 
programmer,  dengan  demikian  sangat  ideal  untuk  membuat  suatu  proyek.   
(Wild, 2011).
Kelebihan  menggunakan  Java  menurut  Campione  (2001)  dan  Badley 
(2002): 
Multiplatform.  Java  dapat  dijalankan  di  beb erapa  sistem  operasi. 
Sistem  Operasi  yang  mendukung  java  adalah  Microsoft  Windows, 
Linux, Mac OS. 
Object  Oriented  Programming.  Java  merupakan  salah  satu  bahasa 
pemrograman  berbasis  objek  secara  murni.  Semua  tipe  data 
diturunkan  dari  kelas  dasar  yang  disebut  object.  Kelebih an  ini 
menjadikan  Java  sebagai  salah  satu  bahasa  pemograman  termudah, 
bahkan  untuk  fungsi-fungsi  yang  advance  seperti  komunikasi  antara 
komputer sekalipun. 
Library  yang  banyak,  sehingga  memudahkan  pro grammer 
mengembangkan aplikasi. 
  
Mudah  didekompilasi.  Dekompilasi  adalah  proses  memb alikkan  dari 
kode  jadi  menjadi  kod e  sumber.  Ini  dimungkinkan  karena  kode  jadi 
Java  merupakan  bytecode  yang  menyimpan  banyak  atribut  bahasa 
tingkat tinggi, sep erti nama-nama kelas, metode, dan tipe data. 
Kekuran gan dari Java:  
Masih  ada  beberapa  hal  yang  tidak  kompatibel  antara  platform  satu 
dengan  platform  lain.  Untuk  J2SE,  misalnya  SWT-AWT  bridge  yang 
sampai sekarang tidak berfungsi pada Mac OS X. 
Penggunaan  memori  untuk  program  berbasis    Java    jauh  lebih  besar 
daripada  bahasa  tingkat  tinggi  generasi  sebelumny
seperti  C/C++ 
dan Pascal (lebih spesifik  lagi, Delphi dan Object  Pascal). 
2.6.  NetBeans
NetBeans  adalah  sebuah  open-source  project  yang  berperan  sebagai 
alat  mengembangkan  atau  develope  kit  untuk  membuat  program  yang 
berbasis Java. Pada  Juni 2000 Netbeans dibuat menjadi open-source  oleh  Sun 
Microsystems,  yan g  menjadi  sponsor  sampai  Januari  2010.  Dua  produk  dari 
NetBeans  adalah  NetBeans  IDE  dan  NetBeans  Platform.  NetBeans  IDE 
(Integrated  Development  Environment)  adalah  sebuah  proyek  open-source 
yang  memungkinkan  pengguna  men gemban gk an  Java  Desktop,  Mobile, 
aplikasi  web,  dan  menyediakan  peralatan  untuk  para  pengembang  PHP  dan 
C/C++.  NetBeans  ditulis  dalam  Java  dan  dapat  dijalankan  dalam  berbagai 
macam  system  operasi  (Anonim,  2013). NetBean  dapat diunduh secara  gratis 
di netbeans.org/downloads/index .html 
Fitur- Fitur NetBeans adalah sebagai berikut (An onim, 2013): 
Module  System,  sifat  modular  NetBeans  memberikan  developer 
kekuatan  untuk  memenuhi  persyaratan  yang  kompleks  dengan 
menggabungkan  b eberapa  modul  kecil  atau  sederhana.  Apabila 
developer  menggunakan  salah  satu  modul  standar  NetBeans,  maka 
develope  dapat  mengintegrasikan  modul  pihak  ketiga  atau 
mengembangkan sendiri.  
  
Lifecycle  Management,  Seperti  server  aplikasi  lainnya,  NetBeans 
menyediakan  layanan  siklus  hidup  ke  aplikasi  java  desktop.  Aplikasi 
server  mengerti  bagaimana  men yusun  modul  web,  modul  EJB,  dan 
artefak  yang  terkait,  kedalam  aplikasi  web.  Modul  NetBeans 
melakukan  hal  yang  serupa  dan  menyusun  aplikasi  java  desktop. 
NetBeans  juga  menyediakan  main  method  sehingga  pengembang 
tidak perlu membuatnya lagi 
Pluggability, Service  Infrastructure,  and File System,  Ini  adalah  salah 
satu  fitur  unggulan  NetBeans,  user  bisa  langsung  menginstal  modul 
yang  mereka  inginkan  di  aplikasi  yang  sedang  mereka  jalankan. 
NetBeans  juga  men yediakan  infrastructure  untuk  mendaftarkan  dan 
menarik  service,  memungkinkan  pengembang  menurunkan 
ketergantungan terhadap modul individual. 
Window System, Standarized  UI  Toolkit,  and  Advance  Data-Oriented 
Components,  NetBeans memungkinkan  pengembang  memaksimalkan
dock  dan  window  tanpa  perlu  melakukan  coding  yang 
rumit.  Swing 
dan  JavaFX  adalah  toolkit  UI  Standar  java  dan  bias  digunakan  pada 
NetBeans
Miscellaneous  Features,  Documentation,  and  Tooling  Support, 
NetBeans  IDE,  yang  merupakan  pengembanga
perangkat  lunak 
(SDK)  dari  NetBeans  Platform,  menyediakan  banya
template  dan 
alat-alat,  sep erti  memen angkan  penghargaan  Matiss
GUI  Builder 
yang  memungkinkan  pengembang  untuk  dengan  muda
mendesain 
tataletak aplikasi pengembang.  
2.7.  Interaksi Manusia dan Ko mputer
Setiap  manusia  yan g  menjadi  penggun a  komputer,  berkomunikasi 
dan  berkolaborasi  dengan  komputer  melalui  antarmuka  (Shneiderman , 
2010).  Terdapat  delapan  aturan  (8  Golden  Rules)  yang  harus  diperhatikan 
dalam membuat desain antarmuka, yaitu : 
1.  Berusaha untuk konsisten 
Tindakan-tindakan  kon sisten  diperlukan  seper
konsisten  pada 
pemakaian warna, layout, jenis tulisan, dan pembuatan menu.
  
2.  Menyediakan  fungsi yang bersifat umum 
Rancangan  perlu  memiliki  fungsi-fungsi  yang  mudah  dikenali 
penggun a  yang  beragam  atau  penjelasan  pemakaian  aplikasi  juga 
memiliki  fungsi  tambahan  yang  mendukung  aplikasi  tersebut  untuk 
para  ahli.  Fungsi  yang 
bersifat  umum  diperlukan  karena  jenis 
penggun a  yang  beragam  dari  yang  baru  mengenal  komputer  hingga 
yan g sudah ahli dengan komputer. 
3.  Memberikan umpan balik yan g informatif 
Sistem harus memberikan umpan balik dengan respon yang berbeda di 
setiap kondisi yang ada untuk segala aksi yan g dilakukan pengguna. 
4.  Merancang dialog untuk menghasilkan penutupan 
Dialog  penutupan  dibuat  sebagai  tanda  bahwa  langkah-langkah  yan g 
dilakukan sudah benar. 
5.  Memberikan pencegahan terhadap k esalah an yang sederhana 
Aplikasi  harus  dapat  mendeteksi  kesalahan  yang  dilakukan  oleh 
penggun a  dan  langsung  memberikan  penanganan  kesalahan  dengan 
cara  yang  mudah  dipahami  dan  instruksi  yang  spesifik  untuk 
penanganannya. 
6.  Memungkinkan pengembalian aksi sebelumnya 
Diperlukan  pengurangan  kecemasan  dari  pengguna  karena  kesalahan 
yan g  dilakukannya.  Penguran gan  kecemasan  ini  dapat  dilakukan 
dengan  memungkinkan  pengguna  kembali  ke  k eadaan  sebelumnya 
sehingga pengguna d apat mengeksplorasi secara leluasa. 
7.  Mendukung pengendalian internal 
Pengguna  dapat  mengontrol  sistemnya  sehingga  dapat  merespon 
tindakannya  sendiri.  Pengguna  juga  tidak  akan  merasa  dirinya  yan g 
dikendalikan oleh sistem. 
8.  Mengurangi beban ingatan jangk a pendek  
Perancang  harus  menghindari  antarmuk
dimana  pengguna  harus 
mengingat informasi  dari  satu  tampilan yan
akan  dipakai  di  tampilan 
lainnya  karena  terbatasnya  kapasitas  ingata
manusia  dalam  hal 
  
2.8.  Waterfall Model
Menurut  Sommervile  (2011),  Waterfall  Model  adalah  dasar  dari 
aktivitas  proses  yang  terdiri  dari  spesifikasi,  pengembangan,  validasi, 
evolusi.  Semua  aktivitas  direpresentasikan  dalam  tahapan  proses  yan g 
terpisah  seperti  spesifikasi  kebutuhan,  perancangan  perangkat  lunak, 
implementasi, pengujian dan sebagainya.  
  
Gambar 2.4Waterfall Model
Tahapan  dari  Waterfall  Model  seperti  pada  Gambar  2.4  merefleksikan 
pokok-pokok dari aktivitas pengemban gan : 
1.  Requirements Definition 
Pada  tahap  ini,  didefinisikan  mengenai  layanan  yang  diberikan  oleh 
sistem,  batasan  sistem,  dan 
tujuan  ditetapkan  setelah  melakukan 
konsultasi dengan pengguna sistem. Definisi ini dilakukan secara rinci 
dan dibuat sebagai spesifikasi dari sistem 
2.  System and Software Design 
Perancangan  sistem  menyediakan  kebutuhan  peran gkat  keras  atau 
perangkat  lunak  dengan  menyediakan  arisitektur  dari  keseluruhan 
sistem.  Proses  perancangan  sistem  melibatkan  pengidentifikasian  dan 
penjelasan abstraksi sistem dan hubungannya. 
3.  Implementaion and Unit Testing 
Perancangan  sistem  direalisasikan  menja
sebuah  program  atau  unit 
program.  Pengujian  melibatkan  verifika
untuk  memastikan  apakah 
setiap unit memenuhi spesifikasi sistem. 
  
4.  Integration and System Testing  
Setiap  program  yang sudah  ada  diintegrasikan dan  di uji  sebagai  salah 
satu  keutuhan  sistem  untuk  memastikan  apakah  kebutuhan  sistem 
sudah  terpenuhi.  Setelah  pengujian dilakuk an,  sistem  baru  disebarkan 
ke pengguna. 
5.  Operation and Maintenance 
Pada  tahap  ini  dilakukan  instalasi  terhadap  sistem  dan  digunakan 
dalam  praktiknya.  Perbaikan  melibatkan  koreksi  terhadap  kesalahan 
yan g  tidak  ditemukan  sebelumnya,  memperbaiki  implementasi  unit  
sistem, dan meningkatkan kinerja sistem.