Modul 6: Abstract Class, abstract method

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Pemrograman Berorientasi Objek (Project)
Pemrograman JAVA (TIB09)
Modul 5: Constructor, Overloading, inheritance, Polymorphism
Pemrograman Berorientasi Objek
Java Progamming Operasi I/O
Nur Hayatin, S.ST Referensi : Gunadarma University.
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Abstract Class & Interface
Pemrograman JAVA (TIB09)
Modul 6: Abstract Class, abstract method
09 Exceptions & File I/O OOP Java. Materi hari ini ExceptionsExceptions – Apa & kapan exception terjadi – Menangani exception – Menghindar (tidak menangani.
Modul 3: Kendali program dan teknik penyimpanan data
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
Modul 1- Review Java.
Pemrograman Java Pewarisan / Inheritance Polimorfisme Pemrograman Java.
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Struktur Kode Aplikasi Java (1)
KELAS INNER, KELAS ABSTRACT, DAN INTERFACE
Pemrograman Berorientasi Objek 1
PELATIHAN JAVA FUNDAMENTAL
07 Advanced Class Features
Object Oriented Programming with JAVA 2011/2012
Argumen Command-line Sebuah aplikasi Java dapat menerima sejumlah argumen dari command-line. Argumen dari command line memberikan kesempatan bagi.
Modul 7: package dan package standard java
Advanced Class Features 2
INHERITANCE (Oleh : Nur Hayatin, S.ST)
MATERI IV OOP (Object Oriented Programming) Chapter II.
Try, Catch, Finally Throws
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Command line argument.
Command line argument.
Kendali program dan teknik penyimpanan data
Inheritance dan Kata Kunci static
DASAR PEMROGRAMAN BERORIENTASI OBJEK
Pemograman Berorientasi Objek
Pemprograman Berorientasi Objek
Method & Constructor METHOD.
Constructor dan Overloading
Package dan package standard java
BAB ENCAPSULATION ( Enkapsulasi )
Kelas-kelas Dasar di Java
MODIFIER JAVA.
Pemrograman berorientasi Objek
Command line argument.
Command line argument.
Constructor overloading
Tipe Data, Variabel, dan Operator
Class, Objek, data, variabel dan operator
Lebih Jauh tentang Class, Objek dan Method
Exception Handling, Package, Abstract Class & Interface
Tipe Data, Variabel, dan Operator
POLYMORPHISM.
Dasar Bahasa Java.
Pemrograman Berorientasi Object
PEMROGRAMAN JAVA.
Pemrograman Berorientasi Objek
Dasar-dasar Pemrograman Objek dg Java
Pilar Object Oriented Programming
Modul 6: Abstract Class, abstract method
Constructor, Overloading, inheritance, Polymorphism
Package dan package standard java
Kendali program dan teknik penyimpanan data
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Pemrograman Berorientasi Objek
Tipe Data, Variabel, dan Operator
Mengulang Kembali Type Data Input Output Struktur Kontrol
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Transcript presentasi:

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

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

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.

Contoh abstract class Pada class hewan, didapati bahwa method bersuara () tidak melakukan apapun, karena 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

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 ini berarti method tidak dapat diwariskan dan didefinisikan pada sub class. Public void bersuara( ) { }

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 dengan menyesuaikan dengan kebutuhan kelas turunannya tersebut. Suatu class harus didefinisikan sebagai abstract class apabila minimal ada satu method yang didefinisikan sebagai abstract method.

Contoh kasus MailBox Metod play() : didefinisikan sebagai abtract method , karena play untuk text adalah 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

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

class Mailbox

class MailboxTest (class utama) berlanjut…

class MailboxTest … lanjutan

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 Modul 6 - Abstract class and method

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()

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()

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

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 kita 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…

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

Baca dari keyboard ? Baca bilangan dari keyboard ? Untuk mencetak ke layar kita menggunakan 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

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;

bacaInt(), bacaFloat(), bacaDouble() Dari metod bacaString(), kita 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 :

Program lengkapnya… Hasilnya

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

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.

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.