Makalah Penanganan Exsepsi Dasar Pemrograman

MAKALAH
PENANGANAN EKXEPSI
DI SUSUN OLEH :
NAMA
NIM
DEDE FAHMI
A2.1600036
IRFAN FERIANSYAH
A2.1600089
SHOLIHIN PRASETYO
A2.1600131
FEBY PEBRYANA FACHRUDIN
A2.1600066
AGRIFIAN DARMAWAN
A2.16000
KELAS :
TI – II D
KATA PENGANTAR
Alhamdulillah, segala puji dan syukur bagi Allah SWT yang telah memberikan kemampuan, kekuatan, serta keberkahan baik waktu, tenaga, maupun pikiran kepada penulis sehingga dapat menyelesaikan makalah yang berjudul “exception handling” tepat pada waktunya.
Dalam penyusunan makalah ini, penulis banyak mendapat tantangan dan hambatan akan tetapi dengan bantuan dari berbagai pihak tantangan itu bisa teratasi.
Penulis menyadari bahwa masih banyak kekurangan pada penulisan makalah ini. Maka dari itu, saran dan kritik yang membangun sangat penulis harapkan dari pembaca sekalian. Penulis berharap semoga makalah ini dapat bermanfaat bagi siapa saja yang membacanya.
Sumedang, 2 Oktober 2017

Penulis




DAFTAR ISI
BAB 1 : PENDAHULUAN.. 4
1.1 Latar belakang maslah. 4
1.2 Rumusan masalah. 4
1.2 Tujuan. 4
BAB 2 : PEMBAHASAN.. 5
2.1 Pemgertian. 5
2.2 Dasar-dasar penanganan exception. 5
2.3 Tipe Exception. 6
2.4 Try and Catch. 7
2.5 Throw.. 8
2.6 Throws. 9
2.7 Finally. 10
BAB 3 PENUTUP.. 12
3.1 Kesimpulan. 12













BAB 1 : PENDAHULUAN

1.1 Latar belakang maslah

Dalam membuat sebuah perogram terkadang kita membuat kesalahan ketika mengoprasikan program yang akan dijalankan atau keadaan tidak normal yang muncul pada suatu program pada saat di jalankan, oleh karna itu di lakukan penanganan eksepsi agar program yang sudah di buat tidak perlu di setting ulang.

1.2 Rumusan masalah

· Apa yang dimaksud dengan penanganaan eksepsi
· Penjelasan dasar dasar penanganaan eksepsi
· Sebutkan tipe tipe penanganaan eksepsi
· Kegunaan Try and Catch
· Kegunaan Trhow, Trhows, Finally

1.2 Tujuan

Tujuan dibuatkannya makalah ini adalah untuk media pembelajaraan bagi pembaca , sehingga pembaca dapat mengetahui :
1.Mengetahui pengertian dari penangan eksepsi
2.Mengetahui Dasa-dasar dari penangan eksepsi
3.Mengetahui apa saja tipe-tipe penanganan eksepsi
4.Mengetahui kegunaan Try dan Catch
5.Mengetahui kegunaan Trhow,Tthows,finally









BAB 2 : PEMBAHASAN

2.1 Pemgertian


Eksepsi adalah keadaan tidak normal yang muncul pada suatu bagian program pada saat dijalankan. Penanganan eksepsi pada java membawa pengelolaan kesalahan program saat dijalankan kedalam orientasi-objek. Eksepsi java adalah objek yang menjelaskan suatu keadaan eksepsi yang muncul pada suatu bagian program.
Saat suatu keadaan eksepsi muncul, suatu objek exception dibuat dan dimasukkan ke dalam method yang menyebabkan eksepsi. Method tersebut dapat dipilih untuk menangani eksepsi berdasarkan tipe tertentu. Method ini juga menjaga agar tidak keluar terlalu dini melalui suatu eksepsi, dan memiliki suatu blok program yang dijalankan tepat sebelum suatu eksepsi menyebabkan metodenya kembali ke pemanggil.
Eksepsi dapat muncul tidak beraturan dalam suatu method, atau dapat juga dibuat secara manual dan nantinya melaporkan sejumlah keadaan kesalahan ke method yang memanggil.

2.2 Dasar-dasar penanganan exception


Penanganan eksepsi pada java diatur dengan lima kata kunci : try, catch, throw, throws dan finally. Pada dasarnya try digunakan untuk mengeksekusi suatu bagian program, dan jika muncul kesalahan, sistem akan melakukan throw suatu eksepsi yang dapat anda catch berdasarkan tipe eksepsinya, atau yang anda berikan finally dengan penangan default.
Berikut ini bentuk dasar bagian penanganan eksepsi :
try {
// Block of Code
} catch (ExceptionType1 e) {
// Exception Handler for ExceptionType1
} catch (ExceptionType2 e) {
// Exception Handler for ExceptionType2 throw (e); // re-throw the Exception…
}
finally { }

2.3 Tipe Exception

Dipuncak hirarki class eksepsi terdapat satu class yang disebut throwable. Class ini digunakan untuk merepresentasikan semua keadaan ekasepsi. Setiap ExceptionType pada bentuk umum diatas adalah subclass dari throwable.
Dua subclass langsung throwable didefinisikan untuk membagi class throwable menjadi dua cabang yang berbeda. Satu, class Exception, digunakan untuk keadaan eksepsi yang harus ditangkap oleh program yang kita buat. Sedangkan yang lain diharapkan dapat menangkap class yang kita subclasskan untuk menghasilkan keadaan eksepsi.
Cabang kedua throwable adalah class error, yang mendefinisikan keadaan yang tidak diharapkan untuk ditangkap dalam lingkungan normal.

Eksepsi Yang Tidak Dapat Ditangkap
Obyek eksepsi secara otomatis dihasilkan oleh runtime java untuk menanggapi suatu keadaan eksepsi. Perhatikan contoh berikut :
class Exc0 {
public static void main (String args[]) { int d = 0; int a = 42 / d;
}
}
Saat runtime java mencoba meng-eksekusi pembagian, akan terlihat bahwa pembaginya adalah nol, dan akan membentuk objek eksepsi baru yang menyebabkan program terhenti dan harus berurusan dengan keadaan kesalahan tersebut. Kita belum mengkodekan suatu penangan eksepsi, sehingga penanganan eksepsi default akan segera dijalankan. Keluaran dari program diatas :
java.lang.ArithmeticExpression : /by zero at Exc0.main (Exc0.java:4)
Berikut adalah contoh lainnya dari eksepsi :
class Exc1 {
static void subroutine() {
int d = 0;
int a = 42 / d;
}
public static void main (String args[]) {
Exc1.subroutine();
}
}
Output-nya :
Exception in thread “ main” java.lang.ArithmeticException : / by zero at Exc1.subroutine(Exc1.java :4)
at Exc1.main(Exc1.java : 7)

2.4 Try and Catch


Kata kunci try digunakan untuk menentukan suatu blok program yang harus dijaga terhadap semua eksepsi, setelah blok try masukkan bagian catch, yang menentukan tipe eksepsi yang akan ditangkap. Perhatikan contoh berikut :
class Exc2 {
public static void main (String args[]) {
try {
int d = 0;
int a = 42 / d;
}
catch (ArithmeticException e) {
System.out.println(“Division By Zero”);
}
}
}

2.5 Throw


Pernyataan throw digunakan untuk secara eksplisit melemparkan suatu eksepsi. Pertama kita harus mendapatkan penanganan dalam suatu instance throwable, melalui suatu parameter kedalam bagian catch, atau dengan membuatnya menggunakan operator new. Bentuk umum pernyataan throw :
throw ThrowableInstance;
Aliran eksekusi akan segera terhenti setelah pernyataan throw, dan pernyataan selanjutnya tidak akan dicapai. Blok try terdekat akan diperiksa untuk melihat jika telah memiliki bagian catch yang cocok dengan tipe instance Throwable. Jika tidak ditemukan yang cocok, maka pengaturan dipindahkan ke pernyataan tersebut. Jika tidak, maka blok pernyataan try selanjutnya diperiksa, begitu seterusnya sampai penanganan eksepsi terluar menghentikan program dan mencetak penelusuran semua tumpukan sampai pernyataan throw. Contoh :
class throwDemo { static void demoProc() {
try {
throw new NullPointerException(“demo”); } catch (NullPointerException e) {
System.out.println(“caught inside demoproc”);
throw e; }
}
public static void main (String args[]) {
try { demoProc(); }
catch (NullPointerException e) {
System.out.println(“recaugt : “ + e); }
} }
Output : caught inside demoproc
recaught : java.lang.NullPointerException : demo

2.6 Throws

Kata kunci throws digunakan untuk mengenali daftar eksepsi yang mungkin di-throw oleh suatu method. Jika tipe eksepsinya adalah error, atau RuntimeException, atau suatu subclassnya, aturan ini tidak berlaku, karena tidak diharapkan sebagai bagian normal dari kerja program.
Jika suatu method secara eksplisit men-throws suatu intans dari Exception atau subclassnya, diluar RuntimeException, kita harus mendeklarasikan tipenya dengan pernyataan throws. ini mendefinisikan ulang deklarasi method sebelumnya dengan sintaks sbb :
type method-name (arg-list) throws exception-list { }
Contoh :
class ThrowsDemo {
static void procedure () throws IllegalAccessException { System.out.println(“Inside Procedure”);
throw new IllegalAccessException(“demo”);
}
public static void main(String args[]) {
try { procedure(); }
catch (IllegalAccessException e) {
System.out.println(“caught “+ e); }
}
}
Output :
Inside procedure
caught java.lang.IllegalAccessException : demo

2.7 Finally


Saat suatu eksepsi dilemparkan, alur program dalam suatu method membuat jalur yang cenderung tidak linier melalui method tersebut, melompati baris-baris tertentu, bahkan mungkin akan keluar sebelum waktunya pada kasus dimana tidak ada bagian catch yang cocok. Kadang-kadang perlu dipastikan bahwa bagian program yang diberikan akan berjalan, tidak perduli eksepsi apa yang terjadi dan ditangkap. Kata kunci finally dapat digunakan untuk menentukan bagian program seperti itu.
Setiap try membutuhkan sekurang-kurangnya satu bagian catch atau finally yang cocok. Jika kita tidak mendapatkan bagian catch yang cocok, maka bagian finally akan dieksekusi sebelum akhir program, atau setiap kali suatu method akan kembali ke pemanggilnya, melalui eksepsi yang tidak dapat ditangkap, atau melalui pernyataan return, bagian finally akan dieksekusi sebelum kembali ke method kembali.
Berikut adalah contoh program yang menunjukkan beberapa method yang keluar dengan berbagai cara, tidak satu pun tanpa mengeksekusi bagian finally-nyA.
class finallyDemo { static void procA() { try { System.out.println(“Inside procA..”);
throw new RuntimeException(“Demo”); } finally { System.out.println(“procA is finally”); }
}
static void procB() { try { System.out.println(“Inside procB..”);
return; }
finally { System.out.println(“procB is finally”); }
}
public static void main(String args[]) {
try { procA( ); } catch (Exception e){ };
procB(); }
}
Output :
Inside procA.. procA is finally Inside procB..
procB is finally



BAB 3 PENUTUP

3.1 Kesimpulan


Dengan dibuatnya makalah ini maka saya sebagai penulis dapat menyimpulkan bahwa adanya penanganaan eksepsi sangat berpengaruh terhadap program yang kita buat agar kita dapat mengetahui kesalahan kesalahan pada program yang kita buat dan dapat mengatasi kesalahan tersebut dengan mudah dikarenakan adanya penanganaan eksepsi ini.


Komentar

Postingan populer dari blog ini

Contoh Proposal pengajuan Usaha { Jual Beli HP Bekas }

Makalah matematika Diskrit Tentang Graf