Inner Class dan Eksepsi (Exception)

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Java Fundamentals: 5. Java Advanced
Try, Catch, Finally Throws
Abstract Class & Interface
Pemrograman JAVA (TIB09)
PEMROGRAMAN KOMPUTER 2 4 SKS 2 TEORI DAN 2 PRAKTEK NANDANG HERMANTO. S.Kom.
09 Exceptions & File I/O OOP Java. Materi hari ini ExceptionsExceptions – Apa & kapan exception terjadi – Menangani exception – Menghindar (tidak menangani.
Dasar Exception Handling
Flow Control & Exception Handling
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Advanced Class 2 Pertemuan 11 Pemrograman Berbasis Obyek Oleh Tita Karlita.
Pemrograman Berbasis Obyek
MATA KULIAH : PEMROGRAMAN 3 JAVA PROGRAMMING (JSE)
Pemrograman Berbasis Obyek Oleh Tita Karlita
Pemrograman Berorientasi Objek
Dasar exception handling
Pemrograman Berorientasi Objek 1
Mendapatkan Input dari Keyboard
EXCEPTION TRY-CATCH-FINALLY
KELAS INNER, KELAS ABSTRACT, DAN INTERFACE
- PERTEMUAN 4 - PERULANGAN
Kelas Lanjut 2 Oleh Tita Karlita.
Exceptional Pendahuluan Bugs dan error dalam sebuah program sangat sering muncul meskipun program tersebut dibuat oleh programmer berkemampuan tinggi.
Pertemuan 12 Pemrograman Berbasis Obyek Oleh Tita Karlita
Do you remember this?.  Strategy  Concrete Strategy  Context  Client Strategy Pattern consists of..
- PERTEMUAN 4- EXCEPTION
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
MATERI IV OOP (Object Oriented Programming) Chapter II.
Dasar exception handling
Try, Catch, Finally Throws
Pemrograman berbasis obyek
Algoritma & Pemrograman 1
Penanganan Eksepsi.
Command line argument.
Exception Handling (Penanganan Error)
Penanganan Eksepsi Disusun Oleh: Reza Budiawan Untuk:
Teori Pertemuan 9 “Exception”
Pertemuan 2 PBO Imam Solikin, M.Kom..
Constructor dan Overloading
Penanganan Eksepsi Pertemuan Ke- 9.
MODIFIER JAVA.
BAB XI EXCEPTION HANDLING.
Dosen : Bella Hardiyana, S. Kom
Exception dan Assertion
Tugas Minggu Ke 9 PBO Siti Halisah
Command line argument.
OPERASI FILE & EXCEPTION HANDLING
Exception Handling (Penanganan Error)
Pemrograman Berorientasi Objek
Exception Handling, Package, Abstract Class & Interface
ASWAR R. Universitas Negeri Makassar
Pemrograman Berorientasi Objek 1
Exception Sussi.
Pilar Object Oriented Programming
Exception Sussi.
Exception Sussi.
Pemrograman Berorientasi Object
JAVA FUNDAMENTAL (Array / Larik)
Pilar Object Oriented Programming
Pemrograman Berorientasi Obyek
Dasar exception handling
Pemrograman Berorientasi Object
Array / Larik Java Fundamental Syahrul Mauluddin S.Kom.
OOP ENKAPSULASI SMKN 2 SINGOSARI Kelas XI RPL.
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
DPH1C4 Pemrograman berorientasi Obyek
FONDASI PEMROGRAMAN & STRUKTUR DATA #3 - 4
Transcript presentasi:

Inner Class dan Eksepsi (Exception)

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.

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

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

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

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

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

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

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

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

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); }

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

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); }

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

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

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

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

Eksepsi (Exception)

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

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

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

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

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

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

Throwable Hierarchy

Error Hierarchy

Exception Hierarchy

Exception Hierarchy (Lanjutan)

Throwable (sub) Hierarchy

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.

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

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

Terima kasih

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