24 kompleks, yang mungkin membutuhkan ratusan bahkan ribuan baris kode. Alasan
semacam  inilah  yang  menjadi  benih  diciptakannya  model  pemrograman berorientasi  objek.  Pada  model  ini,  komponen-komponen  penyusun  program
secara  konseptual  akan  dipecah  menjadi  bagian-bagian  tersendiri  yang  disebut dengan objek.
Beberapa  ciri  dari  pemrograman  berorientasi  objek  adalah  abstraksi, pembungkusan, pewarisan, dan polimorfisme.
a. Abstraksi
Abstraksi  adalah  pengabstrakan  atau  penyembunyian  kerumitan  dari suatu  proses.  Contoh  abstraksi  dalam  model  pemrograman  berorientasi  objek,
misalkan  saja  seorang  programmer  atau  pengembang  program  tidak  perlu  tahu secara  detail  bagaimana  membuat  sebuah  tombol,  yang  perlu  diketahui  adalah
bagaimana  cara  menggunakan  objek  tombol  yang  sudah  ada  baik  dataproperti maupun method-nya,  dalam  kasus  ini  si  pembuat  objek  telah  mengabstraksikan
semua proses yang berkaitan dengan pembuatan tombol.
b. Pembungkusan
Sebenarnya  proses  pembungkusan  itu  sendiri  merupakan  cara  atau mekanisme  untuk  melakukan  abstraksi.  Dalam  pemrograman  tradisional,  proses
semacam  ini sering  dinamakan  penyembunyian  informasi. Dalam  melakukan pembungkusan kode dan data di dalam Java, terdapat tiga tingkat akses, yaitu:
1 Tingkat akses private Saat mendeklarasikan  data  dan  method  menggunakan  tingkat  akses
private,  maka  data  dan  method  tersebut  hanya  dapat  diakses  oleh  kelas  yang
25 memilikinya saja.  Ini  berarti  data  dan  method  tersebut  tidak  boleh  diakses  atau
digunakan oleh kelas-kelas lain yang terdatap di dalam program. 2 Tingkat akses protected
Data  dan  method  dengan  tingkat  akses  protected  dapat  diakses  oleh kelas  yang  memilikinya  dan  juga  oleh  kelas-kelas  yang  memiliki  hubungan
turunan. 3 Tingkat Akses public
Data dan method yang bersifat public dapat diakses oleh semua kelas di dalam program.
c. Pewarisan
Pewarisan  pada  dasarnya  adalah  mengijinkan  objek-objek  pada  suatu kelas  untuk  mengakses  data-data  serta  fungsi-fungsi  yang termuat  dalam  kelas
yang  lebih dahulu  terdefinsisi  tanpa  harus  melakukan  definisi  kembali.  Ini memungkinkan  untuk  menciptakan  kelas  baru  yang  merupakan  perluasan  atau
spesialisasi  dari kelas  lain  yang  telah  ada.  Kelas  yang  baru  merupakan  turunan dari kelas dasar.
d. Polimorfisme
Polimorfisme adalah  kemampuan  suatu  objek  untuk  mengungkap banyak  hal  melalui  satu  cara  yang.  Sebagai  contoh,  terdapat  kelas  A  yang
diturunkan  menjadi  kelas  B,  C,  dan  D,  dengan  konsep  polimorfisme,  kita  dapat menjalankan kumpulan method yang terdapat pada kelas B, C, dan D hanya dari
objek yang diinstansiasi dengan kelas A.
26
6. Kualitas Perangkat Lunak