KELAS
1.
Konsep objek dan kelas
1.1.Objek
Objek
dan kelas merupakan konsep sentral dalam PBO. Dalam pengertian luas, obyek
merupakan suatu benda, baik yang dapat diraba (tangible) ataupun yang tidak
(intangible) atau sesuatu yang dapat kita bayangkan. Objek memiliki keadaan
(state) dan perilaku (behavior) yang melekat pada objek tersebut. State
menyatakan kondisi yang ada pada objek tersebut pada suatu objek tersebut pada
suatu daatg tersebut, kondisi tersebut ini dinyatakan dalam atribut, sedangkan
perilaku merupakan sekumpulan aksi yang dapat dilakukan oleh objek.
State dan perilaku suatu objek bekerja bersama-sama.
Suatu objek di java, terlebih dahulu harus dideklarasikan, setelah itu
mengalami pembuatan, penggunaan.
v Deklarasi
dan Pembuatan/Instansiasi Objek
Ilustrasi :
MyClass mc; MyClass
MyClass
~var1 : int
~var2 : String
+method1:int
+method2:void
|
|
Ditentukan variabel
mc dengan tipe
MyClass, dalam deklarasi
mc
masih berupa pointer dan belum menunjuk alokasi memori. Keyword
new diperlukan untuk membentuk objek tsb
sekaligus memanggil constructor.
mc = new MyClass()
MyClass
Ada 4 cara untuk melakukan
deklarasi dan pembuatan objek (ingat NamaKelas = NamaConstructor)
Cara1
:
NamaKelas namaObjek; // deklarasi
namaObjek = new NamaConstructor(); //
pembuatan
Deklarasi dan pembuatan objek boleh
jadi satu dalam suatu kelas. Deklarasi dan pembuatan objek boleh dipisah di
kelas yang berbeda, misalnya deklarasi objek di method main() pada kelas1,
sedangkan pembuatan/instansiasi objek
berada pada kelas2.
Cara2
:
NamaKelas namaObjek = new NamaConstructor();
Artinya dua proses deklarasi dan pembuatan dijadikan
satu.
Cara3
:
new NamaConstructor();
Cara ini objek diinstansiasi tanpa nama, tujuannya
hanya untuk menjalankan constructor.
Cara4
:
New NamaKelas(”…..”).namaMethod();
v Penggunaan
Objek
Penggunaan objek sebenarnya untuk memanggil method yang merupakan sifat
objek tersebut.
Bentuk umum :
namaObjek.namaMethod([daftarNilaiParameter]);
namaObjek.namaAttribute
1.2.Kelas
Objek didefinisikan dengan
sebuah kelas.Kelas merupakan sebuah model,pola atau coretan biru yang digunakan
untuk menciptakan sebuah objek.dalam PBO sama halnya seperti rumah,adalah hal
yang biasa bahwa byak objek dengan jenis yang sama memiliki karakter yang sama.
Kelas merupakan cetak biru dari sebuah objek.Tidak ada sebuah kelas. Untuk
mengalokasihkan ruang memeori untuk menyimpan data-data itu,kita harus
melakukan instantiasi terhadap objek-obejek dari kelas tersebut.
Sebagai contoh, objek mobil
memiliki beberapa variable yang menyatakan state dari mobil bersama dengan
implementasi dari fungsi yang menyatakan perilaku dari mobil tersebut akan
mendapat sekumpulan variable yang dideklarasikan akan disimpan di memori. Variabel
tersebut akan di modifikasi dengan menggunakan fungsi yang telah disediakan.
2.Desain dengan UML
Unified Modelling Language (UML)
adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan
sistem piranti lunak.untuk mengabarkan kelas.notasi UML yang digunakan persegi
dibagi atas 3 bagian (kompartmen) yang masing-masing digunakan untuk nama
kelas,daftar atribut dan daftar fungsi.
Nama Kelas
|
Daftar Atribut
|
Daftar fungsi
|
Atribut dalam notasi UML ditulis dengan format
:
Simbol_penanda_akses
nama_atribut: tipe_data
Dengan
:
Simbol_penanda_akses :
Tipe_data: dapat berupa
tipe data dasar atau tipe bentukan
Fungsi
dalam notasi UML ditulis dengan format:
Simbol_penanda_akses
nama_fungsi(parameter):tipe_ddata_balikan
ü UML menawarkan sebuah standar untuk merancang model sebuah sistem.
ü Lebih cocok untuk bahasa pemrograman yang berorientasi
Objek
C++, Java, C#, VB.NET
ü Jenis-Jenis Diagram UML
1.
Use case diagram
2.
Class diagram
3.
Statechart diagram
4.
Activity diagram
5.
Sequence diagram
6.
Collaboration diagram
7.
Component diagram
8.
Deployment diagram
.
3.Kelas, Field dan Method
3.1. Kelas
Kelas digunakan untuk membuat objek, dan
berperan sebagai tipe data dari objek. Kelas
merupakan sarana pengkapsulan kumpulan data dan kumpulan method yang
mengoperasikan kumpulan data tersebut.
Suatu kelas dalam java memiliki 3 komponen yaitu.
1.
Fields yang berisi deklarasi atribut-atribut
kelas
2.
Konstruktor
3.
Fungsi
Dalam sebuah kelas,dimungkinkan ada dua (atau lebih)
definisi fungsi dengan nama yang sama. Ini dikatakan kita melakukan Overloading
fungsi tersebut. Saat melakukan Overloading fungsi, signature fungsi-fungsi
hjarus berbeda,yaitu:
·
Berbeda dalam jumlah parameter
·
Berbeda dalam tipe ataupun posisis parameter
3.2. Field
Dekklarasi variable yang digunakan untuk menyimpan informasi
yang dimiliki oleh kelas.deklarasi sering juga disebut instance variable.ada 4
variabel yaitu:
·
Private String nama:digunakan untuk menyimpan
nama nasabah
·
Private int noRekening:digunakan untuk menyimpan
data nomer rekening
·
Private int saldo:digunakan untuk menyimpan
informasi saldo
·
Private int pin:digunakan untuk menyimpan no pin
nasabah
Deklarasi variable diikiuti dengan kata kunci (keyword)
·
Setiap variable dinyatakan dengan
private.merupakan penanda akses (akses specifier) yang menunjukkan bahwa
variable ini bias diakses oleh fungsi-fungsi yang dimiliki kelas ini sendiri
·
Setiap variable diikiuti dengan tipe data.
Contoh :string dan int
3.3. Method
Method merupakan
tingkah laku dari suatu objek atau kelas, jika bersifat static berarti tingkah
laku semua objek dalam kelas tersebut.Method diletakkan di dalam classbody
(sebaiknya tidak diletakkan dalam method lain).
Bentuk
umum method :
[modifier]
tipe_return_value namaMethod(tipe parameter) {
methodbody;
}
Bentuk
umum method main() sebagai berikut :
[modifier] tipe_return_value main(String
args[]) {
methodbody
}
Ada
tiga sintaks pemanggilan suatu method :
namaMethod([nilaiParamater]);
namaObjek.namaMethod([nilaiParamater]);
namaKelas.namaMethod([nilaiParamater]);
Tidak
semua member (class, attribute, dan method) dapat diakses method, berikut tabel
aksesnya :
Method
|
member (class,
attribute, method)
|
Static
|
static
boleh lewat objek ataupun
class,
boleh langsung kalau dalam
kelas sendiri
|
Static
|
non static
hanya boleh lewat objek,
langsung
tidak boleh,
lewat
class tidak boleh
|
Non static
|
static
boleh lewat objek ataupun
class,
boleh langsung kalau dalam
kelas sendiri
|
Non static
|
non static
hanya boleh lewat objek,
langsung
tidak boleh,
lewat
class tidak boleh
|
4.Konstruktor
Kontruktor
adalah sebuah fungsi yang digunakan untuk membuat objek dari suatu kelas dan
melakukan inisialisasi terhadap variabel-variabel yang dimiliki oleh kelas.
Kontruktoer memiliki tanggung jawab untuk membuat objek dari suatu kelas berada
pada keadaan yang sesuai sebelum yang digunakan.
Tabungan bls=new
tabungan (“barca”,12345);
Operator new
digunakan untuk membuat objek dari suatu kelas dan mengasosialisasikan
objek tersebut yang digunakan dengan variable tertentu. Kontruktor merupakan
suatu fungsi yang khusus yang memiliki nama sama dengan nama kelas. Dalam
sebuah kelas kita dapat menuliskan lebih dari satu fungsi konstruktor.secaraq
ringkas dapat menuliskan konstruktor :
Public nama_kontruktor(tipe_parameterparameter…..)
5.Acces Modifier
. Modifier
Modifier1 untuk menentukan sifat dari suatu kelas dan menentukan
preveledge (hak akses) dari kelas lain. Modifier2 untuk menentukan relasi
(extend atau implements) dengan kelas lainnya.
Wilayah modifier akses, dalam bentuk tabel :
Wilayah Akses
|
public
|
protected
|
default
|
Private
|
Di kelas yg sama
|
√
|
√
|
√
|
√
|
Beda kelas,
di package yg sama
|
√
|
√
|
√
|
X
|
Beda kelas,
beda package,
di kelas turunan
|
√
|
√
|
x
|
X
|
Beda kelas,
beda package,
tidak di kelas turunan
|
√
|
x
|
x
|
X
|
6.Package
Pengertian
Package
Package adalah sarana/cara pengelompokkan dan pengorganisasian
kelas-kelas dan interface yang sekelompok menjadi suatu unit tunggal dalam
library.Package juga mempengaruhi mekanisme hak akses ke kelas-kelas di
dalamnya.
. Pengaruh Package terhadap Method main()
Kelas yang mengandung method main() memilki syarat tidak berada dalam
suatu package, dan hirarki posisi foldernya di atas package yang diimport.
Membuat Package
Ada tiga langkah untuk membuat package :
1.
Mendeklarasikan dan memberi nama package.
2.
Membuat struktur dan nama direktori yang sesuai
dengan struktur dan nama package.
3.
Mengkompilasi kelas-kelas sesuai dengan
packagenya masing-masing.
Mendeklarasikan dan Memberi Nama Package
Deklarasi package harus diletakkan pada bagian paling awal (sebelum
deklarasi import) dari source code setiap kelas yang dibungkus package
tersebut.
Bentuk umum deklarasi package :
package namaPackage;
Deklarasi tersebut akan memberitahukan kompilator, ke library manakah
suatu kelas dikompilasi dan dirujuk.
Syarat nama package :
1.
Diawali huruf kecil
2.
Menggambarkan kelas-kelas yang dibungkusnya
3.
Harus unik (berbeda dengan nama package
standard)
4.
Merepresentasikan path dari package tersebut.
5.
Harus sama dengan nama direktorinya.
Contoh package standard :
java.lang (berisi kelas-kelas
fundamental yang sering digunakan).
java.awt dan javax.swing (berisi kelas-kelas untuk membangun aplikasi GUI)
java.io (berisi kelas-kelas untuk proses
input output)