Sunday, June 5, 2011

Javascript Object Oriented Programming

Javascript sebuah script yang begitu populer dalam dunia website dan aplikasi berbasis web. JavaScript atau biasa disingkat dengan JS adalah script yang di eksekusi pada sisi client yaitu Web Browser (contoh: IE, Firefox, Opera, Crome, dll)

Dari sekian banyak kemampuan yang dimiliki oleh Javascript diantaranya yang menarik adalah dukungan terhadap OOP.


Javascript memang tidak sepenuhnya OOP (Object-Oriented Programming) language seperti java, tetapi setidaknya dapat diterapkan teknik pemrograman berbasis objek.

Object-Oriented Programming adalah sebuah pendekatan dalam pemrograman yang berorientasi pada objek. Semua data dan fungsi dalam pendekatan ini dibungkus dengan istilah bernama kelas, kemudian dari kelas tersebut dapat menghasilkan banyak objek

Objek pada programaan dapat di analogikan dengan objek/benda yang ada pada dunia nyata yang milik ciri dan sifat, sebagai contoh adalah objek lampu pijar memiliki ciri diameter dan tinggi, sedangkan sifat dari lampu adalah memancarkan cahaya.

Pada pemrogrman OOP ciri dari sebuah objek disebut dengan properti atau atribut sedangkan sifat dari sebuah objek disebut dengan method.

Sebagai contoh objek pada pemrograman adalah terdapat objek bernama myFoto yang memiliki properti tinggi,lebar,resolusi dan memiliki method untuk melakukan rotate (putar foto), grayscale (membuat foto menjadi ke-abu-abu-an), flip (membalikkan foto).

Berikut ini adalah contoh OOP pada Javscript. Sebagai contoh saya mengambil kasus dalam membuat kalkulator sederhana yang hanya memiliki operasi penambahan dan pengurangan.

1. Membuat kelas, berfungsi untuk mendefiniskan properti dan method yang diperlukan
function kalkulator() { 
 this.nilai1 = 0; 
 this.nilai2 = 0;
 this.tambah = tambah;
 this.kurang = kurang;
 
 function tambah() {
  return this.nilai1 + this.nilai2;
 }

 function kurang() {
  return this.nilai1 - this.nilai2;
 }
}
Penjelasan dari script diatas adalah sebagai berikut.

  • function kalkulator() mengartikan membuat kelas bernama kalkulator.
  • this.nilai1 mengartikan kelas memiliki properti bernama nilai1 yang akan berfungsi untuk menampung nilai pertama untuk digunakan di perhitungan.
  • this.nilai2 mengartikan kelas memiliki properti bernama nilai2 yang akan berfungsi untuk menampung nilai kedua untuk digunakan di perhitungan.
  • this.tambah = tambah; adalah  deklarasi untuk method bernama tambah.
  • this.kurang = kurang; adalah  deklarasi untuk method bernama kurang.
  • function.tambah adalah sebuah method untuk melakukan operasi tambah.
  • function.kurang adalah sebuah method untuk melakukan operasi kurang.


2. Membuat objek dari kelas kalkulator. 
var objKal = new kalkulator();
objKal.nilai1 = 20;
objKal.nilai2 = 10;
var hasilTambah = objKal.tambah();
var hasilKurang = objKal.kurang();

Penjelasan dari script diatas adalah sebagai berikut.
  • var objKal = new kalkulator(); membuat objek kalkulator yang di assign ke variable bernama objKal.
  • objKal.nilai1 = 20; mengartikan bahwa properti nilai1 diberi nilai 20.
  • objKal.nilai2 = 10; mengartikan bahwa properti nilai2 diberi nilai 10.
  • var hasilTambah = objKal.tambah(); mengartikan hasil operasi tambah diberikan ke variabel hasilTambah.
  • var hasilKurang = objKal.kurang(); mengartikan hasil operasi kurang diberikan ke variabel hasilKurang.
Apabila anda membutuhkan banyak objek kalkulator dapat dituliskan seperti ini.
var objKal = new kalkulator();
var objKal2 = new kalkulator();
var objKal3 = new kalkulator();

2 comments: