Lebih Jauh tentang Class, Objek dan Method Setelah mengikuti mata kuliah ini mahasiswa dapat memperdalam lagi bagaimana mendefinisikan class, membuat objek, mendefinisikan method
Pengantar : Dalam modul ini akan diuraikan beberapa topik bahasan yaitu : Lebih jauh: class dan objek Mendefinisikan data dan method Modifier untuk class dan method :public, static, protected, final
1. Lebih jauh tentang Class Telah diuraikan dlm Materi sebelumnya bahwa : Class : suatu frame yg merupakan definisi yg memuat data & metod pengolah data Objek : Bentuk konkrit dari class yg dengannya data & metod dapat direalisasikan Dalam program class java dibagi menjadi : Class yg di dalamnya terdefinisi method main(). Class seperti ini bahwa jika beberapa class didefinisikan dlm file yg sama, maka nama file disimpan dlm nama sesuai nama class yg berisi main tsb. Class yg di dalamnya tdk terdapat metod main(). Class ini murni berisi encaptulation dari definisi data dimana di dalamnya terdapat data & method pengolah datanya. Pendefinisian class & pembuatan objek juga dapat dilakukan dlm class yg sama sehingga bersifat rekursif.
Definisi class Dog dan main yang rekursif Disini class Dog dalam main adalah rekursif
Hasil program
Perbandingan OOP & prosedural programming Berikut ini ditunjukkan perbedaan paradigma pemrograman OOP dengan pemrograman prosedural Mendefinisikan method sesungguhnya mirip dengan mendefinisikan fungsi pada model prosedural Metod dalam OOP merupakan bagian terpenting yang harus dikuasai seluk beluknya
2. Mendefinisikan Data dan Metod Sesuai dgn ide encaptulation, data dlm suatu class sebaiknya didefinisikan secara private, agar ia lebih aman dari akses luar class. Jika tdk terpaksa pd data: berarti data hanya dapat diakses dari class yg sama Default dari definisi data adalah public, artinya jika kita tdk memberi keterangan apa-apa pd data, maka data tsb adalah public. Contoh definisi : int a =9; int b=77; definisi ini adalah berarti a & b data yg dapat diakses dari luar class Perhatikan contoh berikut:
Data default adalah public Program Hasil program: Perhatikan variabel P dan Q dalam definisi pada class Data Tanpa keterangan P,Q adalah public Dari class Tes, nilai P & Q dapat diubah, perhatikan hasil program Nilai P yang aslinya 9, dalam class Tes diubah menjadi 111
Lindungi data default dengan modifier private Jika statemen definisi data untuk P dan Q dibuat private : private int P=9; private int Q=8; Maka pada saat kompilasi akan gagal untuk melakukan akses data private dari luar class, seperti pesan kesalahan kompilasi berikut.
Gunakan metod set(.) utk ubah data private & metod get() utk ambil data private dari luar class Data private masih diberi kemungkinan perubahan dgn mendefinisikan metod set() utk menggantinya & metod get() utk mengambilnya. Contoh : untuk mengubah data P yg private dlm class Data tambahkan definisi setP() & getP() sebagai berikut :
Data static Data static adalah data yg didefinisikan utk dimiliki oleh class. Jika objek berasal dari class yg sama, maka data static akan bernilai sama utk seluruh objek dlm class tsb. Hasil program Jika nilai P diubah pd suatu objek, maka nilai P pd objek lain akan ikut berubah. Pd objek b nilai P diubah menjadi 99, ternyata pd objek a nilai P ikut berubah menjadi 99
Contoh efek kata : static Hasil program asal static String nama; Jika dlm deklarasi nama diganti dgn static String Nama
Metod : Default Definisi metod: public Definisi metod tanpa modifier adalah public Contoh : class Data { int P=9; int Q=8; void Tampil(){System.out.println(P+" "+Q);} } public class Tes { public static void main(String args[]) {Data data=new Data(); data.P=111; data.Tampil(); Hasil program : Tanpa modifier berarti public
Metod static Metod static adalah metod yang diakses oleh metod static yg lain dari dlm class yg sama Contoh : definisi fungsi luasLing(float R) Dlm definisi luasLing(float R)kata static tdk ditemukan, tetapi ada kata private. Saat dikompile ternyata salah, krn metod main yg memanggilnya adalah suatu metod static
Setelah kata static dipasang Hasil program Kata private pd metod menunjukkan bahwa metod tsb diakses oleh metod dlm class yg sama
Metod protected Class Anak Class Induk Class lain protected: menunjukkan bahwa metod tsb hanya dpt diwarisi oleh class turunannya. Dlm pembahasan akan diuraikan dlm bagian penurunan (inheritance) class Class Anak public metod1(){ } private metod2() { } protected metod3(){ } public metod1(){ } protected metod3(){ } public metod1(){ } Class Induk Class lain
3. Class static Jika suatu class didefinisikan tdk utk dibuat objeknya, tetapi utk dimanfaatkan metod-metodnya, maka class tsb adalah class static. Dlm java contoh class static adalah class Math, dimana metod-metod seperti random(), sqrt() dll diambil dari class ini, tetapi class ini tdk pernah dibuat objeknya. Contoh : class Data berikut adalah class static dimana ia hanya digunakan metodnya, tdk dibuat objeknya
Class final Jika suatu class didefinisikan secara final, maka class tsb tdk dapat dibuat turunannya Contoh class-class final dlm java adalah : class Math class String class Integer, Long, Double, Float
Rangkuman Modifier private utk data & metod berarti hanya dapat diakses oleh metod dari class yg sama Modifier public utk data &metod berarti dapat diakses dari luar class Modifier public utk class berarti berisi main program & harus disimpan dgn nama yg sama dgn nama class tsb Modifier protected utk data & metod berarti dapat diwarisi oleh class turunannya Modifier static utk data berarti bernilai sama utk semua objek dari class yg sama Modifier static utk metod berarti dapat diakses dari metod static yg sama dlm class Modifier final utk class berarti tdk dapat dibuat turunannya
Latihan Buatlah definisi class MahasiswaTeknik dan MahasiswaSastra. Masing-masing class berisi data: JUR (String, static) NIP(int, private) Nama(String, private) Masing-masing class berisi metod : setNamaNIP(String n ,int m) : untuk mengisi NIP dan Nama setJUR(String s) untuk mengatur nama Jurusan tampilkan() untuk menampilkan data NIP NAMA dan JURUSAN Buatlah class TesMahasiswa yang berisi main program Buat objek MahasiswaTeknik 3 orang dan MahasiswaSastra 2 orang
Latihan … Buatlah tampilkan daftar mahasiswa dengan tampilan : --------------------------------------------------------------------------------------- No NIP NAMA JURUSAN --------------------------------------------------------------------------------------