Monday, October 15, 2007

Konsep Dasar OOP


Untuk menulis aplikasi dalam Java, diperlukan hal-hal sbb

  • Java 2 Platform Standard Development Kit (J2SDK)
  • Text editor, misalnya Ultra Edit atau TextPad

Langkah-langkah pembuatan aplikasi dalam Java

  1. Membuat file source, yaitu suatu file teks yang berisi kode program dalam Java. File ini dapat dibuat menggunakan teks editor semacam Text Pad. Yang harus diperhatikan dalam pembuatan file ini adalah nama file harus sama dengan nama kelas utama pada program Java (case-sensitive) dan harus menggunakan ekstensi .java
  2. Meng-compile file source menjadi suatu file bytecode, yaitu suatu file yang dapat dimengerti oleh Java Virtual Machine (JVM). Untuk mengcompile file ini dilakukan dengan kompiler java, javac. Sintaks yang digunakan adalah javac . File bytecode yang dihasilkan memiliki ekstension .class
  3. Me-run program yang sudah ada dalam bytecode (file class) menggunakan interpreter java. Sintaks yang digunakan adalah java

Java adalah bahasa pemrograman berorientasi objek, maka ada beberapa konsep dasar yang perlu diperhatikan.

  • Object (Objek) dan Class (Kelas).

Class berbeda dari object. Class merupakan suatu prototipe yang mendefinisikan variabel-variabel dan method-method secara umum. Sebagai contoh perbandingan, sebuah mobil, siapapun pemiliknya pasti memiliki roda, gas, dan rem. Akan tetapi pemilik itu sendiri dapat berbeda antar mobil. Dalam hal ini, dapat dibuat sebuah class Mobil, dan dapat dibuat objek-objek yang merupakan instan dari class Mobil ini yang berbeda dalam kepemilikan, misalnya MobilA (milik A) dan MobilB (milik B). Objek dapat dikatakan sebagai suatu instan dari class. Semua objek dapat dikatakan memiliki dua hal utama, yaitu atribut (state) dan tingkah laku (behaviour). Dalam pemrograman, state ini disimpan dalam variabel, dan behaviour disimpan dalam method

  • Encapsulation (Enkapsulasi)

Enkapsulasi adalah suatu pembungkusan berbagai variabel dan method dalam suatu objek (class) tertentu. Namun demikian, tidak semua variabel atau method dapat dimanfaatkan langsung, hanya variabel atau method yang bersifat public yang dapat diakses langsung oleh objek lain, sedangkan variabel atau method yang bersifat private atau protected tidak dapat diakses secara langsung oleh objek lain, sehingga dapat dikatakan bahwa pengguna objek memandang objek sebagai suatu black box yang menyediakan layanan-layanan tertentu, namun tidak mengetahui secara pasti bagaimana objek tersebut bekerja secara internal. Sebagai contoh, seorang pengendara mobil menginjak rem untuk menghentikan mobil, tapi dia tidak perlu tahu bagaimana sistem rem bekerja untuk menghentikan mobil. Si pengendara hanya perlu melakukan suatu method public injakRem() untuk mendapatkan hasilnya.

  • Message

Message adalah suatu mekanisme yang digunakan dalam Java untuk melakukan komunikasi antar object. Dalam suatu program, sebuah object saja tidak akan banyak berguna. Sebagai contoh, Mobil (objek) akan lebih berguna jika pengendara (objek lain) menghidupkan mesin dan mengendarainya. Pengendara melakukan komunikasi terhadap mekanisme mesin untuk menghidupkan Mobil. Objek-objek saling berkomunikasi menggunakan message. Saat objek A ingin agar objek B melakukan method milik B, maka A mengirimkan message kepada B.

  • Inheritance (Pewarisan)

Suatu class baru dapat didefinisikan berdasar dari suatu class yang sudah ada sebelumnya. Inheritance merupakan pemberian state (variabel) dan behaviour (method) dari suatu class ke class baru yang merupakan turunannya. Sebagai contoh, baik class Truk maupun Sedan merupakan turunan dari class Mobil. Baik Truk maupun Sedan disebut subclass dari Mobil, dan Mobil merupakan superclass dari Truk dan Sedan. Dalam hal-hal tertentu, baik Truk maupun Sedan memiliki state yang sama, misalnya roda, gas, dan rem. Demikian juga keduanya memiliki behaviour yang sama, misalnya “tambah kecepatan” atau “kurangi kecepatan”. State dan behaviour yang sama ini didapat karena keduanya merupakan turunan dari class Mobil, dimana class Mobil memiliki berbagai state dan behaviour tersebut. Akan tetapi, suatu subclass dapat memiliki state dan behaviour tambahan di samping state dan behaviour yang sudah diperoleh dari superclassnya. Sedan dapat memiliki state tambahan berupa bagasi, dan memiliki behaviour tambahan berupa “buka bagasi”. Subkelas juga dapat memodifikasi (override) behaviour yang diperoleh dari superclassnya. Misalnya sebuah superclass Mobil memiliki transmisi manual, sedangkan subclass Sedan memiliki transmisi otomatis. Dalam hal ini, agar implementasi Sedan dapat berjalan benar, class Sedan dapat meng-override behaviour “ganti gigi” yang diperolehnya dari superclass agar sesuai dengan yang diperlukannya. Inheritance ini dapat dilakukan sebanyak yang diperlukan, sebagai contoh, subclass Sedan dapat menjadi sebuah superclass dari class BMW dan Mercy. Dengan adanya inheritance ini programmer dapat menggunakan ulang source code dari superclass yang sudah ada untuk suatu class baru tanpa perlu menulis banyak kode lagi. Java hanya mendukung pewarisan tunggal (single inheritance).

  • Interface

Java tidak mendukung mekanisme multiple inheritance seperti pada C++, oleh karena itu Java menggunakan konsep interface untuk mendekati multiple inheritance. Interface pada Java digunakan untuk menyediakan keuntungan dari multiple inheritance dengan cara pengimplementasian yang lebih mudah. Interface memungkinkan beberapa class berbagi method dan variabel standard tanpa perlunya sebuah class baru untuk digunakan sebagai superclass. Lebih lanjut mengenai interface ini akan dibahas kemudian.

Dalam Java, bentuk paling sederhana dari pendefinisian sebuah class adalah :

class NamaKelas

{

variabel …

method…

}

Semua variabel dan method yang berhubungan dengan kelas dituliskan di antara tanda “{“ dan “}”.

Program 1 – helloJava.java

/* Program Hello World dalam bahasa Java*/

import java.lang.*;

class HelloJava //definisi kelas

{

public static void main (String[] args) //main method

{

System.out.println("Hello Java"); //output ke standard output

}

}

  • Komentar dalam Java dapat dituliskan dengan cara seperti dalam C++ :

o Di antara tanda /*…*/; compiler mengabaikan semua teks yang ada di antara tanda ini

o Diawali tanda //; compiler mengabaikan semua teks dalam baris ini

  • Dalam Java, semua method dan variabel dimasukkan dalam class pemiliknya. Java tidak mendukung variabel atau fungsi global.
  • Method main pada Java merupakan method utama pusat jalannya program, yang berarti saat interpreter Java dijalankan, method main inilah yang pertama kali dipanggil. Dalam method main Java, harus selalu dituliskan sebagai public static void main. Keyword public berarti semua objek dapat mengakses method ini.; static berarti method ini adalah class method; void berarti method ini tidak mengembalikan nilai apa pun. Argumen parameter Java pada contoh ini diletakkan pada suatu array args. Dari contoh ini dapat dilihat bahwa Java juga mendukung sebuah kelas objek String yang berupa kumpulan karakter.
  • Library dalam Java disebut package dan dimasukkan dalam program Java melalui keyword import.
  • Pernyataan System.out.println("Hello Java"); digunakan untuk menampilkan teks ke layar. Pada Java, setiap selesai mengetikkan sebuah statemen, selalu diakhiri tanda semicolon (;) sebelum menulis statemen berikutnya.

No comments: