Pemrograman Berorientasi Object Struktur Class Enkapsulasi Abas Setiawan
Pemrograman Berorientasi Object Struktur Class & Enkapsulasi Abas Setiawan Teknik Informatika s 1
Konstruktor/desktruktor?
Konstruktor • Sebuah class yang berisi konstruktor yang dipanggil (invoked) untuk membuat objek dari suatu blueprint class itu sendiri. • Terlihat seperti deklarasi metode (method) tetapi mempunyai nama yang sama dengan nama class itu sendiri serta tidak memiliki suatu nilai pengembalian. • Dipanggil pertama kali saat instansiasi.
Contoh Konstruktor Contoh kelas Mahasiswa dengan satu konstruktor public class Mahasiswa{ private String m_nim; private String m_nama; public Mahasiswa (String nim, String nama) { m_nim = nim; m_nama = nama; } public static void main(String[] args){ Mahasiswa mawar = new Mahasiswa(“A 11. 2020. 05555”, ”Mawar”); //calling constructor } }
Multiple Constructor
Destruktor • Karena garbage collector dari pemrograman Java tidak memberikan fitur ini, maka kita tidak akan dapat memprediksi kapan (atau bahkan jika ingin) sebuah objek akan dihancurkan. Oleh karena itu tidak ada cara untuk secara langsung atau dengan keinginan programmer menghancurkan sebuah object. • Beberapa bahasa pemrograman yang dapat mengimplementasikan destructor adalah C++/C#.
Method pada Class
Apa itu method? • Kemampuan atau aktivitas yang dimiliki oleh objek. • Semua proses dan tingkah laku dari objek direpresentasikan dalam bentuk Method. • Mirip dengan fungsi pada pemrograman terstruktur. • Contoh: object burung dapat terbang, mencari makan, mendarat. • Method dapat diakses dari Class selama Class tersebut mengijinkan (bergantung pada access modifier).
Contoh Method pada Class public class Mahasiswa{ void Status() { if (is. Aktif == true) System. out. println(“Mahasiswa Aktif"); else { Method / System. out. println(“Mahasiswa Mangkir"); Behavior } } public static void main(String[] args){ Mahasiswa mawar = new Mahasiswa(“A 11. 2020. 05555”, ”Mawar”); mawar. Status(); } }
Getter & Setter Method
Method Getter Setter • Setter = method untuk mengatur suatu property dari class dengan nilai parameter tertentu. public class Mahasiswa{ private String nim; Mahasiswa(){ } public void set. Nim(String m. Nim) { nim = m. Nim; } • Getter: method untuk mengambil nilai yang sudah diatur di setter } public String get. Nim() { return nim; }
Pemanggilan Getter Setter public class coba { public static void main(String[] args) { Mahasiswa mawar = new Mahasiswa(); } } mawar. set. Nim("A 11. 2017. 00001"); //atur nim System. out. println(mawar. get. Nim()); //ambil nim
Enkapsulasi
Enkapsulasi • • IDE dasar: Menyembunyikan informasi. • Client dapat menggunakan method tanpa mengetahui bagaimana method tersebut menghasilkan suatu nilai atau bagaimana method tersebut di terapkan. • Maka dari itu pengemasan tersembunyi tersebut disebut dengan enkapsulasi. Enkapsulasi adalah suatu cara dalam method dalam mengakses nilai atribut (/property/variable) dalam kelas, sehingga objek tidak dapat secara langsung mengakses nilai atribut tersebut.
Contoh Enkapsulasi public class Mahasiswa. Enkapsulasi{ private String status. Pernikahan=“Menikah”; private int m_umur; public int get. Umur(){ return age; } public String get. Status. Nikah(){ return status. Pernikahan; } public void set. Umur( int new. Umur){ m_umur = new. Umur; } }
Tutorial Tambahan Enkapsulasi • https: //www. tutorialspoint. com/java_encapsulation. htm
Keuntungan Enkapsulasi • Field dari Class (property atau method) dapat dibuat read-only atau writeonly. • Suatu Class dapat memiliki control penuh terhadap apa yang disimpan pada field Class itu sendiri. • Client/User dari Class tidak tahu bagaimana cara menyimpan datanya. Sebuah Class dapat merubah tipe data dari field dan used tidak perlu mengubah apapun dari kode mereka.
Gambaran Class diagram • Pada Kelas yang ter-enkapsulasi biasanya menggunakan access modifier “private” yang disimbolkan dengan “-” dan untuk “public” disimbolkan dengan “+”.
Referensi • Introduction to Java Programming, Comprehensive Version (10 th Edition) by Y. Daniel Liang, 2015, Pearson Education, Inc. • https: //www. tutorialspoint. com/java/
- Slides: 20