Jumat, 28 Agustus 2009

OOP Part 3

Membuat Class, Objek, dan Memanggil Atrribute

Untuk lebih memahami konsep-konsep diatas berikut contoh source code sederhana pemprograman dengan Java:

/* Simpan dengan nama file : Matematika.java

* Membuat class Matematika */

package Matematika;

public class Matematika {

int hasil;

Double hasilPecahan;

// Membuat method tambahan integer/bilangan bulat

void pertambahan(int a,int b){

hasil = a + b;

System.out.println("Hasil Pertambahan: "+hasil );

}

// Membuat method tambahan dengan pecahan

void pertambahan(Double a,Double b,Double c){

hasilPecahan = a + b + c;

System.out.println("Hasil Pertambahan: "+hasilPecahan );

}

// Membuat method Pengurangan

void pengurangan(int a,int b){

hasil = a - b;

System.out.println("Hasil Pengurangan: "+hasil );

}

// Membuat method tambahan

void pengurangan(Double a,Double b,Double c){

hasilPecahan = a - b - c;

System.out.println("Hasil Pengurangan: "+hasilPecahan );

}

// Membuat method Perkalian

void perkalian(int a,int b){

hasil = a * b;

System.out.println("Hasil Perkalian: "+hasil );

}

// Membuat method Perkalian pecahan/mekamaki variabel Double

void perkalian(Double a,Double b,Double c){

hasilPecahan = a * b * c;

System.out.println("Hasil Perkalian: "+hasilPecahan );

}

// Membuat method Pembagian

void pembagian(int a,int b){

hasil = a / b;

System.out.println("Hasil Pembagian: "+hasil );

}

// Membuat method Pembagian Pecahan/menggunakan Variabel Double

void pembagian(Double a,Double b,Double c){

hasilPecahan = a / b / c;

System.out.println("Hasil Pembagian: "+hasilPecahan );

}

}

/*Simpan dengan nama file : MatematikaBeraksi.java

* Membuat Class yang bernama MatematikaBeraksi */

//membuat package matematika untuk membedakan dengan package yg lain

package Matematika;

//Membuat Class MatematikaBeraksi

public class MatematikaBeraksi {

public static void main(String[]args){

//Membuat Object

Matematika matematikaku=new Matematika();

//memanggil atribut dan memberi nilai

matematikaku.pertambahan(20, 20);

matematikaku.pengurangan(10, 5);

matematikaku.perkalian(10, 5);

matematikaku.pembagian(10, 5);

}

}

Hal yang perlu diperhatikan:

Java bersifat case sensitive. Huruf besar dan kecil sangat berpengaruh dalam Java, karena itu pastikan anda mengetik kode diatas sama persis, tanpa mengubah besar kecil hurufnya.

Untuk membuat Listing diatas maka kita perlu menggunakan Netbeans IDE 6.5.1 sebagai layar editor dan mesin kompilatornya.

Kemudian lakukan kompilasi dengan Shift F6/Run File

Hasil Program MatematikaBeraksi

init:

deps-jar:

Compiling 1 source file to C:\Documents and Settings\5h1va\My Documents\NetBeansProjects\ LATIHAN1 \build\classes

compile-single:

run-single:

Hasil Pertambahan: 40

Hasil Pengurangan: 5

Hasil Perkalian: 50

Hasil Pembagian: 2

BUILD SUCCESSFUL (total time: 1 second)

Penjelasan Program

Program diatas merupakan program contoh sederhana, namun memiliki beberapa bagian penting.

/* Simpan dengan nama file : Matematika

Membuat class Matematika */

bagian ini merupakan bagian yang dikenal sebagai komentar. Komentar dalam Java seperti halnya dalam pemrograman yang lain yaitu bukan merupakan bagain dari program. Oleh karena itu komentar ini tidak akan dikompilasi oleh compiler Java dan tidak akan mempengaruhi alur program. Komentar ini lebih diperuntukkan untuk memperjelas source code yang ditulis sehingga kode program dapat lebih mudah untuk diteliti ulang atau dibaca. Komentar harus selalu ditulis diantara tanda /* dan */. Artinya komentar tersebut berlaku mulai dari tanda /* dan diakhiri dengan tanda */

//Membuat objek yang bernama matematika

Kode diatas juga merupakan komentar dalam java. Perbedaan dengan /* */ adalah bahwa ia hanya berlaku untuk satu baris ini saja dan semua kata-kata setelah tanda // adalah komentar.

class matematika {

baris ini mendeklarasikan sebuah class dengan nama matematika. Jika diperhatikan keseluruhan deklarasi class ini diawali dengan { dan diakhir dengan }. Hal ini berarti bahwa semua yang berada didalam tanda tersebut merupakan bagain dari class ini.

public class Matematika {

baris ini mendeklarasikan suatu method. Java akan mencari method sebagai awal eksekusi program. Keyword public merupakan access specifier yang menentukan visibility level dari method ini. Public berarti method ini dapat diakses darimanapun dari luar class. Keyword void berarti bahwa method main() tidak mengembalikan nilai apapun setelah dipanggil/dieksekusi.

int hasil;

Double hasilPecahan;

baris di atas merupakan pemberian attribut atau pendeklarasian variabel

void pertambahan(int a,int b){

hasil = a + b;

System.out.println("Hasil Pertambahan: "+hasil );

}

Baris ini artinya membuat suau method yang bernama pertambahan yang memiliki parameter dengan nama pertambahan

hasil = a + b;

a ditambah b dilempar ke hasil atau juga a ditambah b simapan di varibel hasil

System.out.println("Hasil Pertambahan: "+hasil );

Menampilkan hasil/prinout dari sistem tentang hasilpertambahan di variabel hasil

System adalah nama dari salah satu class standar yang dimiliki oleh Java.

Out merupakan anggota dari class system dan juga merupakan objek tersendiri. Out mewakili standard output stream yang dalam hal ini digunakan layar komputer. Seperti halnya method main() diatas, objek out juga dideklarasikan dengan menggunakan keyword static didalam classnya sehingga ia dapat langsung dipanggil tanpa perlu terlebih dahulu membuat instance dari class system.

Prinltn merupakan method yang terdapat dalam objek out. Berfungsi untuk mencetak keluaran ke standard output. Method ini juga mencetak karakter pindah baris. Untuk mencetak tanpa pindah baris bisa menggunakan print().


· Enkapsulasi

Dalam sebuah objek yang mengandung variabel dan method, dapat ditentukan hak akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan method pada objek yang terlindungi inilah yang disebut dengan enkapsulasi. Jadi, enkapsulasi dapat diartikan sebagai suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi dari luar sistem sekaligus menyederhanakan penggunaan sistem itu sendiri. Akses pada internal sistem sendiri diatur sedemikian rupa melalui seperangkat interface.

Dalam bahasa Java segala sesuatu adalah objek (everything is object). Setiap baris program yang ditulis programmer adalah merupakan bagian dari sebuah objek. Programmer juga dapat membangun sebuah objek yang disusun oleh objek-objek kecil, dimana masing-masing objek yang menyusunnya memiliki fungsi sendiri-sendiri.

· Pewarisan (Inheritance)

Dalam dunia nyata, manusia sebenarnya sudah biasa untuk melihat objek disekitar kita tersusun secara hirarki berdasarkan class-nya masing-masing. Maka muncul suatu konsep tentang pewarisan yang merupakan proses penurunan suatu class dari class lainnya sehingga memiliki ciri atau sifat dari class yang diwarisi.

Dalam suatu hirarki semakin kebawah, maka class akan semakin bersifat spesifik. Sebagai contoh Class matematika Canggih memiliki sifat yang dimiliki oleh Matematika. Dengan konsep ini, Class Matematika Canggih tidak perlu mendefinisikan ulang apa yang telah dimiliki oleh class metematika, ia akan mendapatkan karakteristik dari class matematika secara otomatis. Dengan memanfaatkan konsep pewarisan ini dalam pemrograman, maka hanya perlu mendefinisikan karakteristik yang lebih umum akan didapatkan dari class darimana ia diturunkan.

Inheritance mewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi attribute ( variabel ) dan behaviour (method) dari superclass-nya. Subclass kemudian dapat menambahkan attribute dan behaviour baru yang spesifik dan dapat pula memodifikasi apa yang diturunkan oleh superclass-nya. Inheritance memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada. Berikut ini beberapa istilah yang ada dalam inheritance:

Extends : Keyword ini ditambahkan pada definisi class yang menjadi subclass.

Superclass : Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.

Subclass : Subclass adalah class anak atau turunan secara hirarki dari superclass.

Super : Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.

Contoh Inheritance

/* Simpan dengan nama file : MatematikaCanggih

Membuat class MatematikaCanggih yang merupakan turunan dari Class Matematika */

class MatematikaCanggih extends Matematika {

package Matematika;

public class MatematikaCanggih extends Matematika {

void modulus(int a, int b){

hasil = a % b;

System.out.println("Hasil Modulus: "+hasil );

}

}

/*Simpan dengan nama file : MatematikaCanggihBeraksi

Membuat Class yang bernama MatematikaCanggihBeraksi */

package Matematika;

public class MatematikaCanggihBeraksi {

public static void main(String[]args){

//Membuat Object

MatematikaCanggih matematikaCanggihku = new MatematikaCanggih();

//memanggil atribut dan memberi nilai

matematikaCanggihku.pertambahan(20, 20);

matematikaCanggihku.perkalian(10, 5);

matematikaCanggihku.modulus(10, 5);

}

}

Kemudian lakukan kompilasi dengan Shift F6/Run File

Jika berhasil, hasil kompilasi ini akan membangkitkan sebuah bytecode dengan nama file

Hasil dari eksekusi tersebut maka akan menghasilkan tampilan :

init:

deps-jar:

Compiling 1 source file to C:\Documents and Settings\5h1va\My Documents\NetBeansProjects \LATIHAN 1\build\classes

compile-single:

run-single:

Hasil Pertambahan: 40

Hasil Perkalian: 50

Hasil Modulus: 0

BUILD SUCCESSFUL (total time: 0 seconds)

0 komentar:


Free Blogspot Templates by Isnaini Dot Com and Cars Picture. Powered by Blogger