Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Modul 6: Abstract Class, abstract method

Presentasi serupa


Presentasi berjudul: "Modul 6: Abstract Class, abstract method"— Transcript presentasi:

1 Modul 6: Abstract Class, abstract method
Setelah mengikuti mata kuliah ini mahasiswa dapat menjelaskan konsep abstract class dan penggunaannya

2 Pengantar : Dalam modul ini akan diuraikan beberapa topik bahasan yaitu : Abstract class Abstract method studi abstract class java : Number class turunan Number :Integer, Float, Long,Double sebagai wrapper konversi data: bilangan ke string

3 1. Pengertian abstract class
Suatu kelas sangat mungkin didefinisikan sebagai super class yang darinya diturunkan sub-klas sub-klas turunannya Super class tersebut didefinisikan semata-mata hanya sebagai “payung” atau “induk” dari klas-klas turunannya. Dari klas-klas turunan ini lah objek yang sebenarnya akan diciptakan. Suatu super klass yang didefinisikan seperti ini dinamakan sebagai abstract class. Abstract Class adalah class yang memiliki satu atau lebih method kosong, yaitu method yang dideklarasikan tetapi tanpa definisi apapun.

4 Contoh abstract class Pada class hewan, didapati bahwa method bersuara () tidak melakukan apapun, karena method ini digunakan untuk menunjukkan polimorfisme dari sub class. Pendefinisian Abstract class biasanya digunakan untuk polimorfisme, bahwa sub class dari abstract class yang akan mendefinisikan method kosong dari abstract class

5 Contoh Abstract Class Listing program – Hewan.java public abstract class Hewan { private String tipe; public Hewan (String tipe) this.tipe = tipe; } Public String toString() return “Ini adalah “+tipe; public abstract void bersuara( ) { } Method abstrak tidak dapat dijadikan private, karena hal tersebut berarti method tidak dapat diwariskan dan didefinisikan pada sub class. Public void bersuara( ) { }

6 2. Pengertian abstract method
Di dalam abstract class dapat didefinisikan atribut-atribut dan method-method. Atribut dan method yang didefinisikan dalam abstract class dimaksudkan merupakan sesuatu yang umum dan terdapat pada sub-kelas sub-kelas turunannya. Suatu abstract method didefinisikan dengan cukup mendeklarasikan namanya pada abstract class dan meng-override pada masing-masing kelas turunannya menyesuaikan dengan kebutuhan kelas turunannya tersebut. Suatu class harus didefinisikan sebagai abstract class apabila minimal ada satu method yang didefinisikan sebagai abstract method.

7 Contoh kasus MailBox Metod play() : didefinisikan sebagai abtract method , karena play untuk text akan berbeda dengan play untuk voice Sehingga class Message adalah abstract class Untuk data sender dan metod getSender(), semua class turunan memiliki definisi yang sama, sehingga data dan metod tersebut didefinisikan bukan sebagai abstract

8 Class Message Satu-satunya abstract metod
Yang mengharuskan class Message didefinisikan secara abstract Untuk class turunan FaxMessage tidak didefinisikan

9 class Mailbox

10 class MailboxTest (class utama)
berlanjut…

11 class MailboxTest … lanjutan

12 Hasil program MailboxTest
Pesan ke 1 : text dari : AMIR isi pesan : HABIS KULIAH LANGSUNG PULANG YA JANGAN MAIN2 Pesan ke 2: text dari : BUDI isi pesan : SUDAH LAPAR Pesan ke 3 : voice dari : JOHAN isi pesan : suara music dalam file spacemusic.au Abstract class and method

13 3. Class abstract java : Number
Dalam class java ada class abstract, yaitu class Number Class ini menjadi payung bagi class number wrapper, yaitu : Integer, Long, Float, dan Double Class Number memiliki 4 buah metod abstract yaitu intValue(), longValue(), floatValue() dan doubleValue()

14 4. Class Turunan Number 4 class didefnisikan secara class final
Pada setiap class turunan didefnisikan metod-metod abstractnya Pada setiap class turunan didefinisikan metod toString()

15 5. Penggunaan class Number wrapper untuk konversi data
Pada setiap operasi data umumnya diperlukan proses KONVERSI DATA DARI STRING KE BILANGAN DAN SEBALIKNYA Untuk konversi data dari String menjadi bilangan ditempuh dengan menjadikan string tersebut sebagai parameter pada pembuatan objek. Selanjutnya karena pada class ada metod intValue(), longValue(), floatValue() dan doubleValue() maka nilai-nilai bilangan yang bersangkutan :int, long, float dan double dapat diperoleh Untuk konversi dari bilangan (int, long, float, double) ke string cara yang ditempuh adalah dengan menjadikan bilangan tersebut sebagai argumen pada pembuatan objek class numberWrapper dan kemudian menggunakan metod toString() untuk mengambil stringnya

16 Program cetak Hello n kali dengan n diinput dari command line
Tahukah anda apa fungsi String[] arg dalam metod main?? Jawabannya adalah bahwa setiap program dieksekusi dengan java.exe, maka akan diberi kesempatan melewatkan parameter 1, 2 atau lebih Parameter yang dilewatkan selanjutnya disimpan sebagai string dalam array of string arg yang akan otomatis diciptakan dengan ukuran sesuai dengan jumlah parameter Jika parameter satu, misalnya untuk nama program Cetak.java yang telah dikompilasi > java Cetak Hello disini “Hello” akan disimpan dalam arg[0] Jika parameter 2, misalnya >java Cetak Hello AKPRIND Disini “Hello” akan disimpan dalam arg[0] dan akpirnd pada arg[1] Dst…

17 Program CetakHello.java
Dalam program ada statemen Integer N= new Integer(arg[0]) arg[0] untuk eksekusi tersebut berisi string “4” Seteleh objek Integer N dibuat kita dapat memperoleh nilai int dari objek N dengan menggunakan intValue() Dengan demikian n adalah nilai int 4 untuk string “4” Konversi berhasil dilakukan

18 Baca dari keyboard ? Baca bilangan dari keyboard ?
Untuk mencetak ke layar digunakan System.out.println(…) Bagaimana untuk membaca data dari keboard?? Pemrogram java awal akan kebingungan, karena java tidak menyediakan statemen langsung untuk membaca data baik string atau bilangan dari keyboard Sementara sebagaimana C++ punya statemen cin>> , PASCAL punya statemen read(var) dan BASIC punya steteman INPUT untuk membaca data baik string maupun bilangan dari keyboard Persoalan ini dapat dijawab dengan mendefinisikan sendiri metod untuk keperluan tersebut menggunakan statemen dasar java : System.in.read() Modifikasi dilakukan karena System.in.read() adalah membaca data 1 byte dari keyboard. Sehingga harus didefinisikan metod untuk membaca berkali-kali sampai diinputkan ENTER

19 Membaca string dari keyboard dengan metod bacaString()
bacaString() didefinisikan untuk membaca data string dari keyboard sampai diketik enter. static String bacaString() throws Exception {String s="";int c=0; while(c!=13) {c=System.in.read(); if((c!=13)&(c!=10)){s+=(char)c; } } return s;

20 bacaInt(), bacaFloat(), bacaDouble()
Dari metod bacaString(), maka dapat mengkonversi string menjadi bilangan jika string yang dibaca adalah bilangan static int bacaInt() throws Exception {return Integer.parseInt(bacaString());} static float bacaFloat() throws Exception {return Float.parseFloat(bacaString());} static double bacaDouble() throws Exception {return Double.parseDouble(bacaString());} Penerapan metod-metod tersebut ada dalam program berikut :

21 Program lengkapnya… Hasilnya

22 Rangkuman Class abstract didefinisikan untuk suatu class yang tidak dibuat objeknya Class abstract hanya dijadikan payung bagi class-class anak yang sejenis Suatu metod didefinisikan sebagai abstract jika ia hanya didefinisikan nama metod dan parameternya Suatu class harus didefinisikan sebagai abstract jika ada satu saja metod abstract Turunan class Number yaitu Integer, Long, Float dan Double dapat digunakan untuk konversi data dari String ke bilangan dan sebaliknya Konversi dapat bolak-balik antara int, long, float dan double ke dan dari string

23 Latihan 1. Definisikan suatu class abstract bernama :class Orang dengan ketentuan : Dalam kelas tersebut ada atribut :Nama (String: yaitu nama orang tersebut) dan Umur (int :yaitu umur orang tersebut). Constructor dari class Orang didefinisikan dalam class Orang menginisialisasi Nama dan Umur. Didefinisikans method abstract Cetak(), yang akan di-override dalam kelas turunannya. 2. Definisikan dua buah kelas turunan dari class Orang yaitu class :Pegawai dan class Mahasiswa.

24 Lanjutan… Untuk class Pegawai dengan ketentuan :
Dalam kelas Pegawai ada atribut tambahan yaitu NIP dan Gaji Mendefinisikan method NaikGaji(), yaitu untuk menaikkan gaji sebesar :10% Mendefinisikan method Cetak() untuk mencetak :NIP, Nama, Umur (int) dan Gaji (double) Untuk class Mahasiswa dengan ketentuan : Dalam kelas Mahasiswa ada atribut tambahan yaitu NoMhs (String), Masa studi (int) dan IP (double) Mendefinisikan method Cetak() untuk mencetak :NoMhs, Nama, Umur, Masa studi dan IP Ujilah kemampuan klas tersebut dengan mendefinisikan klass TestOrang.java untuk program utamanya.


Download ppt "Modul 6: Abstract Class, abstract method"

Presentasi serupa


Iklan oleh Google