Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Inner Class dan Eksepsi (Exception)

Presentasi serupa


Presentasi berjudul: "Inner Class dan Eksepsi (Exception)"— Transcript presentasi:

1 Inner Class dan Eksepsi (Exception)

2 Inner Class Disebut juga nested class
Inner class dapat dikatakan sebagai suatu kelas yang berada di dalam kelas tertentu (disebut juga dengan outer class) Penamaan inner class harus berbeda dengan nama outer class Merupakan suatu cara untuk mengelompokkan kelas-kelas dan memudahkan kontrol terhadap kelas lain.

3 Kegunaan Inner Class Mengelompokkan kelas-kelas
Melakukan kontrol terhadap kelas lain Mengimplementasikan detail statement yang seharusnya tidak di share dengan kelas lain.

4 Inner class dapat dikategorikan dalam bentuk
Static inner class (Top level nested class) Non static inner class Local inner class Anonymous inner class

5 Contoh Static Inner Class
class OuterClass { static class InnerClass { int value=100; }

6 Bentuk Instansiasinya
public class TestOutterClass { public static void main(String[] args) { OuterClass.InnerClass inner = new OuterClass.InnerClass(); inner.value=200; } Instansiasi objek dari static inner class dapat dilakukan langsung tanpa melewati objek dari outer classnya

7 Contoh Non Static Inner Class
public class OuterClass { String kalimat="Mencetak Nested Class"; class NonStaticInnerClass { void cetak() System.out.println(kalimat); }

8 Bentuk Instansiasinya
public class TestOutterClass { public static void main(String[] args) { OuterClass.NonStaticInnerClass inner = new OuterClass().new NonStaticInnerClass(); inner.cetak(); } Instansiasi objek dari Non-static inner class harus melalui objek dari outer classnya

9 Contoh Local Inner Class
public class OuterClass { String kalimat="Mencetak Nested Class"; public OuterClass() { class localClass1 void cetak() System.out.println(kalimat); } new localClass1().cetak(); Local inner class dibuat dalam sebuah block program, boleh pada method atau konstruktor Instansiasinya jg pada bagian block itu sendiri

10 Contoh Anonymous Inner Class
Public void aMethod(){ Thebutton.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ System.out.println(“Action Performed”); } );

11 Latihan Static Inner Class
public abstract class SepedaMotor { String merk; int gerigi=0; interface interfaceSepedaMotor { void TambahGerigi(); void TurunkanGerigi(); } static class SepedaMotorSport extends SepedaMotor implements interfaceSepedaMotor public SepedaMotorSport(String merk) this.merk=merk;this.gerigi=0; public void TambahGerigi() this.gerigi++; System.out.println(this.merk + " Pindah ke Gerigi "+this.gerigi); public void TurunkanGerigi() { this.gerigi--; System.out.println(this.merk + " Pindah ke Gerigi "+this.gerigi); }

12 Latihan Static Inner Class
public class UjiSepedaMotor { public static void main(String[] args) { SepedaMotor.SepedaMotorSport kawasaki = new SepedaMotor.SepedaMotorSport("Kawasaki"); kawasaki.TambahGerigi(); }

13 Latihan Non Static Inner Class
public class Manusia { String Nama; static class Nasabah extends Manusia { String NoRekening; public Nasabah(String nama) this.Nama=nama; } void setNoRek(String NoRek) this.NoRekening=NoRek; String getNoRek() return this.NoRekening; class Karyawan extends Nasabah { public Karyawan(String nama) super(nama); }

14 Latihan Non Static Inner Class
public class UjiManusia { public static void main(String[] args) { Manusia.Nasabah aris = new Manusia.Nasabah("Aris"); Manusia.Karyawan andi = new Manusia().new Karyawan("Andi Setiawan"); andi.setNoRek("099873"); System.out.println("No Rekening "+andi.Nama+" adalah " + andi.getNoRek()); }

15 Latihan Local Inner Class
public class Unggas { String nama; class Ayam { public Ayam(String paramnama) nama=paramnama; } void memakan() class cacing String nama=""; public cacing(String nama) this.nama=nama; String getNama() { return nama; } cacing cacingpita = new cacing("Cacing Pita"); System.out.println(nama+ " Memakan "+cacingpita.getNama());

16 Latihan Anonymous Inner Class
import java.awt.Rectangle; import java.awt.event.*; import javax.swing.*; public class Anonymous { public Anonymous() { JFrame frame = new JFrame("Lat1"); frame.setBounds(new Rectangle(0,0,200,100)); frame.setLayout(null); frame.setVisible(true); JButton btn =new JButton("Ok"); btn.setBounds(new Rectangle(50,10,100,50)); frame.add(btn); btn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null, "Test Anonymous Inner Class"); } }); Latihan Anonymous Inner Class Anonymous Inner Class

17 Latihan Anonymous Inner Class
public class UjiAnonymous { public static void main(String[] args) { Anonymous anonymous = new Anonymous(); }

18 Eksepsi (Exception)

19 Exception merupakan sebuah mekanisme yang digunakan oleh bahasa pemrograman komputer untuk mendeskripsikan apa yang harus dilakukan ketika sesuatu yang tidak dikehendaki terjadi. Sesuatu yang tidak dikehendaki ini biasanya dalam bentuk error. seperti pemanggilan method dengan arguman yang tidak valid, kegagalan koneksi dalam sebuah jaringan, atau usaha user membuka sebuah file yang tidak ada

20 Exception (Lanjutan) Jenis eksepsi berdasarkan harus tidaknya eksepsi ditangani: Checked Exception exception yang muncul akibat dari kondisi external yang dapat saja muncul dari program Unchecked Exception merupakan kategori exception yang muncul akibat dari adanya bugs dalam program atau situasi yang terlalu sulit untuk ditangani

21 Checked Exception Merupakan exception yang muncul akibat dari kondisi external yang dapat saja muncul dari program Exception pada kategori ini diharapkan dapat diantisipasi terjadinya oleh programmer. Contoh : File yang akan dibuka tidak ditemukan Koneksi jaringan gagal

22 Eksepsi-eksepsi pada kategori checked exception merupakan sub kelas dari kelas exception
Sebagai contoh : EOFException FileNotFoundException

23 Unchecked Exception Merupakan kategori exception yang muncul akibat dari adanya bugs (disebut runtime exceptions) dalam program atau situasi yang terlalu sulit untuk ditangani. Disebut unchecked karena kita tidak diharapkan untuk mengeceknya sebelum hal itu terjadi

24 Gosling dan holmes mengatakan bahwa : “unchecked exception mewakili suatu kondisi yang pada umumnya mencerminkan kesalahan dalam logika pemrograman yang tidak dapat dipulihkan saat run time”. Eksepsi pada kategori ini merupakan subkelas dari kelas RuntimeException sebagai contoh : AritmathmeticException NullPointerException IndexOutOfBoundsException

25 Throwable Hierarchy

26 Error Hierarchy

27 Exception Hierarchy

28 Exception Hierarchy (Lanjutan)

29 Throwable (sub) Hierarchy

30 Contoh Exception ArithmeticException – terjadi ketika program melakukan operasi pembagian dengan nol pada bilangan integer. NullPointerException - terjadi ketika program berusaha mengakses atribut atau method dari sebuah obyek menggunakan variabel yang tidak merujuk ke sebuah obyek. NegativeArraySizeException – terjadi ketika program membuat Array dengan indeks negatif. ArrayIndexOutOfBoundsException – terjadi ketika program mengakses elemen Array melebihi ukuran Array yang bersangkutan.

31 Menangani Exception Untuk menangani exception dalam Java, kita dapat gunakan blok try-catch, try-catch-finally. Apa yang kita lakukan dalam program kita adalah kita menempatkan pernyataan yang mungkin menghasilkan exception dalam blok ini try{ //tulis pernyataan yang dapat mengakibatkan exception //dalam blok ini } catch( <exceptionType1> <varName1> ){ //tulis aksi apa dari program Anda yang dijalankan jika ada //exception tipe tertentu terjadi

32 Contoh public class eksepsi { public void cetak() try String[] kota={"Jakarta","Bandung","Demak"}; for(int i=0;i<=5;i++) System.out.println(kota[i]+" "); } catch(Exception e) System.out.println("Kesalahan :"+e.getMessage()); public static void main(String[] args) eksepsi eks = new eksepsi(); eks.cetak();

33 Terima kasih

34 Latihan NoTrans : _ Barang : _ Tgl Beli : _ Harga : _ Qty : _ Total Bayar : <out> Notrans Barang TglBeli Harga Qty Total Bayar Tambahkan eksepsi untuk inputan bertipe numerik


Download ppt "Inner Class dan Eksepsi (Exception)"

Presentasi serupa


Iklan oleh Google