Object Oriented Programming with JAVA 2011/2012 Package & Modifier Object Oriented Programming with JAVA 2011/2012
Topics Package Class Modifier Method modifier Variabel modifier
Package Package = paket = bundelan Digunakan untuk mengelompokkan class yang memiliki karakteristik yang sama. Sebuah package dalam program java terdiri dari kumpulan class maupun interface. Package-package yang telah tersedia pada Java disebut Java APIs (Application Programming Interfaces)
Deklarasi Package package [identifier]; Deklarasi package menggunakan kata-kunci package. Identifier = nama package. Aturan penamaan package biasanya diawali dengan huruf kecil dan “tidak dapat menggunakan spasi sebagai pemisah”. Perintah ditulis sebelum/diatas deklarasi class.
Deklarasi Package Contoh : package animals; class Mamalia{ … }
Sub-package Sebuah package dapat terdiri dari sub-package (package didalam package). Penggabungan antara package dengan sub-package-nya ditulis dengan menggunakan tanda . (titik) sebagai pemisah.
Syntax Sub-package class Kucing{ … } package namaPackage.subPackage; Contoh : package animals.mamalia; class Kucing{ … }
Import Package Untuk mengakses anggota dari package digunakan kata-kunci import. Antara package dengan sub-package dipisahkan dengan tanda . (titik) Baris perintah ditulis diatas deklarasi class.
Syntax Import Package import namaPackage.namaClass; Import : kata kunci yang digunakan untuk mengakses package. NamaPackage dapat ditambahkan dengan sub-package. Disesuaikan dengan hirarki dari package tersebut. Nama Class adalah class yang ingin diimprort. Bisa diberikan tanda * (bintang) untuk mengakses semua class yang ada pada package.
Contoh import animals.reptilia; import animals.*; Kedua baris perintah tsb mengakses/import package animals. Perbedaannya : Baris 1 : hanya meng-import satu class saja yaitu class Reptilia. Baris 2 : meng-import semua class yang ada pada package animals dengan menggunakan simbol *.
Akses package Ketika Instansiasi Akses package juga dapat dilakukan pada saat pembuatan obyek Caranya : sama seperti syntax untuk pengaksesan namun tidak menggunakan keyword import.
Enkapsulasi Enkapsulasi suatu cara untuk menyembunyikan implementasi detail dari suatu class dalam rangka menghindari akses yang ilegal
Tingkatan Enkapsulasi private protected public
Syntax Contoh : Animals.reptilia ular : new Animals.reptilia(); Package.class object = new Package.class(); Contoh : Animals.reptilia ular : new Animals.reptilia();
Modifier Melakukan control terhadap class, method, atribute maupun constructor. Access Modifier : public, private, protected, no modifier (default). Other Modifier : final, abstract, static, dll.
Letak Modifier Pada Class <modifier> class namaClass { [<statement>] }
Letak Modifier Pada method <modifier> <return_type> <nama_metode>([parameter]) { [<statement>] }
Letak Modifier Pada Constructor <modifier> <nama_Class>([parameter]) { [<statement>] }
Letak Modifier Pada Variabel <modifier> Tipedata namaVariabel;
Tabel Access Modifier Lokasi Akses Class yang sama Ya Public Default Private Protected Class yang sama Ya Package yang sama No Diluar package Subclass pd package yang sama Subclass diluar package
Class Modifier Access modifier untuk class : No modifier (default) Public Private Protected *pengaksesan class menggunakan objek.
No modifier (Default) Pengaksesan class dapat dilakukan oleh seluruh class pada package yang sama. Penulisan default modifier adalah dengan tidak menggunakan modifier apapun (no modifier). Contoh : class Mahasiswa { //...... } *karena sebelum keyword class tidak ada modifier apapun maka class ini memiliki default modifier
Modifier : Public Pengaksesan class yang bermodifier public dapat dilakukan diseluruh class, yaitu class yang ada didalam package maupun diluar package. Contoh : public class Mahasiswa{ }
Modifier : Private Modifier private hanya dapat diterapkan pada inner class. Hak akses hanya dimiliki oleh class itu sendiri. Contoh : class Mahasiswa{ private class Student{ } *class Mahasiswa : outer class class Student : inner class
Modifier : Protected Modifier private hanya dapat diterapkan pada inner class. Hak akses hanya dimiliki oleh outer class dan class anak dari outer class yang ada pada package yang sama. Modifier protected berkaitan dengan inheritance (pewarisan). Contoh : class Mahasiswa{ protected class Student{ }
Method Modifier Access modifier untuk Method: No modifier (default) Public Private Protected Other modifier : Static Final abstract
No Modifier (Default) Method hanya dapat diakses pada package yang sama. Contoh : void setName(String nama) { this.name = nama; }
Modifier : Public Method dapat diakses di seluruh class, didalam maupun diluar package. Contoh : public String getName() { return this.name; }
Modifier : Private Method hanya dapat diakses oleh class itu sendiri. Contoh : private void setName(String nama) { this.name = nama; }
Modifier : Protected Method dapat diakses didalam package oleh class itu sendiri maupun oleh class anak. Berkaitan dengan inheritance(pewarisan). Contoh : protected void setName(String nama) { this.name = nama; }
Other Modifier : Static Method yang dideklarasikan static dapat diakses tanpa harus membuat object terlebih dahulu. Contoh : Maka pengaksesan method dapat diakses dengan menggunakan nama class : Mahasiswa.getName; Class Mahasiswa{ static String getName() { return this.name; }
Other Modifier : Abstract Method abstract adalah method yang tidak memiliki body, hanya berupa deklarasi saja. Berkaitan dengan abstract class dan interface. Contoh : abstract void getName();
Variabel Modifier Access modifier untuk Variabel : No modifier (default) Public Private Protected Other modifier : Final static
No Modifier (Default) Variabel dapat diakses diseluruh class dalam satu package yang sama. Contoh : int count;
Modifier : Public Variabel dapat diakses diseluruh package. Baik didalam maupun diluar package. Contoh : public int count;
Modifier : Private Variabel hanya dapat diakses oleh class itu sendiri. Contoh : private int count;
Modifier : Protected Variabel dapat diakses didalam package oleh class itu sendiri maupun oleh class anak. Berkaitan dengan inheritance(pewarisan). Contoh : protected int count;
Modifier : Static Variabel yang dideklarasikan static dapat diakses tanpa harus membuat object terlebih dahulu. Contoh : Maka pengaksesan variabel dapat diakses dengan menggunakan nama class : Mahasiswa.count; Class Mahasiswa{ static double count; }
Modifier : Final Jika sebuah variabel dideklarasikan dengan menggunakan modifier final, maka nilai pada variabel tersebut bersifat konstan (tidak dapat diubah lagi). Untuk itu ketika variabel bertipe final dideklarasikan sebaiknya sekaligus diberikan inisialisasi. Contoh : final int count;
TeamWork! Class Kentang memiliki modifier public Class Singkong memiliki modifier default Class Kacang memiliki modifier private Class Jambu memiliki modifier default Tumbuhan : project’s name package’s name Monokotil Dikotil Kentang Singkong Kacang Jambu : project : package : Class
Teamwork : Tabel 1 Buatlah class dengan hirarki seperti penjelasan pada slide sebelumnya. Kemudian buatlah object untuk masing-masing class tersebut untuk melengkapi tabel berikut : Class Kentang Class Singkong Class Kacang Class Jambu Kentang Ya ? Singkong Kacang Jambu Letak objek
Teamwork : Tabel 2 Dari data yang ada pada tabel 1, buatlah kesimpulan untuk melengkapi tabel 2 berikut : Public Default Private Class yang sama Package yang sama Diluar package Modifier Lokasi akses