6. Exception Handling

Exception Handling
Capture
adalah event yang terjadi ketika program menemui kesalahan pada saat instruksi program dijalankan. Banyak hal yang dapat menimbulkan event ini, misalnya crash, harddisk rusak dengan tiba-tiba, sehingga program-program tidak bisa mengakses file-file tertentu. Programmer pun dapat menimbulkan event ini, misalnya dengan melakukan pembagian dengan bilangan nol, atau pengisian elemen array melebihi jumlah elemen array yang dialokasikan dan sebagainya.
Pengertian
Suatu program apabila mengalami kesalahan akan menghasilkan suatu runtime errors seperti gagal membuka file, suatu program melakukan akses diatas range array dan lain-lain. ketika runtime errors tersebut terjadi, aplikasi akan membuat suatu exception
Jenis – jenis Exception: 
  • Exception class merupakan kesalahan yang disebabkan oleh program dan kesalahan external. Kesalahan jenis ini dapat ditangkap dan diatasi oleh program. Exception terdiri dari banyak subclass.
  •  Error class merupakan class yang berhubungan dengan kesalahan pada internal system. Jika terjadi kesalahan jenis ini maka hanya dapat dilakukan bagaimana memberitahu kepada pemakai dan melakukan pengakhiran program.
Operasi Exception dibagi menjadi 3 buah operasi, yaitu :
  • Claiming an exception 
  •   Throwing an exception 
  •  Catching an exception
Exception merupakan sebuah event yang akan menginterupsi program yang tidak berjalan normal / error, lebih mudahnya error handling merupakan penanganan error. Tidak semua penanganan error ditangani dengan exception, namun dapat mempermudah penanganan error.
Exception terdiri dari dua macam kelompok, yaitu :
– Exception yang merupakan subclass RunTimeException
– Exception yang bukan subclass RunTimeException
RunTime Exception biasanya disebabkan oleh kesalahan program atau pada desain program. Misalnya NullPointerException yang disebabkan oleh proses inisialisasi program yang tidak sempurna dan ArrayIndexOutOfBoundsException yang  disebabkan akses array yang melebihi kapasitas array yang ada.
Dalam bahasa Java, ketika terjadi kesalahan, otomatis akan dilemparkan sebuah objek yang disebut exception, yang kemudian dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani kesalahan tersebut. Proses pelemparan exception tersebut sering dikenal dengan istilah throwing exception, sedangkan proses penerimaan exception yang bersangkutan dikenal dengan istilah catch exception
Ada lima kata kunci yang digunakan oleh Java untuk menanngani exception ini, yaitu, try, catch, finally, throw, dan throws.
pembahasannya :Pada dasarnya, Exception merupakan subkelas dari kelas java.lang.Throwable.  “Bukalah dokumentasi java untuk lebih menyakinkan anda”. Karena Exception adalah sebuah kelas maka hakikatnya ketika program berjalan dan muncul sebuah bug atau kesalahan maka bug tersebut dapat dianggap sebuah object.  Sehingga ketika object ini di tampilkan di layar maka java akan secara otomatis memanggil method toString yang terdapat dalam object bertipe Exception ini. Java memberikan akses kepada developer untuk mengambil object bug yang terjadi ini dengan mekanisme yang dikenal Exception Handling. Exception handling merupakan fasilitas di java yang memberikan flexibilitas kepada developer untuk menangkap bug atau kesalahan yang terjadi ketika program berjalan. Contoh Exception Handling akan dibahas pada bagian berikutnya.

jenis error ada 3 :

1. Syntax Error, Syntax Error adalah suatu kesalahan dari penulisan syntax pada program sehingga syntax tersebut tidak dapat dieksekusi oleh program yang pasti membuat program tersebut error.

2.Logical Error, Logical Error adalah suatu kesalahan yang disebabkan oleh si programmer sendiri, lah kok bisa? hal ini disebabkan oleh kesalahan penulisan atau rumus yang diterapkan oleh si programmer.
anda pasti tahu bila semua angka tidak dapat dibagi oleh 0 (nol).
lah kalau si programmer tetep ngotot,pasti programnya error.

3. runtime Error, error yang satu ini tergolong error yang unik,lah kenapa? soalnya menurut saya errornya gara-gara kecerobohan si programmer itu sendiri. error ini akan muncul apabila terjadi miss komunikasi antara program dan file yang dipanggil dalam program, misalnya program itu membutuhkan database yang bernama db_siswa yang disimpan pada localhost,tapi kenyatannya ternyata si programmer tidak mempunyai atau belum membuat database tersebut di localhost, program akan tetap berjalan, namun saat aksi simpan data, hapus data atau tampil data pasti program akan error.

Ada 5 keyword penting dalam java dalam hal exception handling :

1. try, Keyword ini biasanya digunakan dalam suatu block program. keyword ini digunakan untuk mencoba menjalankan block program kemudian mengenai dimana munculnya kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan dengan keyword catch atau keyword finally yang akan dibahas pada point kedua dan ketiga.

2. catch, Jika anda sudah melihat contoh try maka secara tidak langsung anda sudah memahami kegunaan dari keyword ini. Dalam java, keyword catch harus dipasangkan dengan try. Kegunaan keyword ini adalah menangkap kesalahan atau bug yang terjadi dalam block try. Setelah menangkap kesalahan yang terjadi maka developer dapat melakukan hal apapun pada block catch sesuai keinginan developer.

3. finally, Keyword ini merupakan keyword yang menunjukan bahwa block program tersebut akan selalu dieksekusi meskipun adanya kesalahan yang muncul atau pun tidak ada.

4. throw, Keyword ini digunakan untuk melemparkan suatu bug yang dibuat secara manual.

5. throws, Keyword throws digunakan dalam suatu method atau kelas yang mungkin menghasilkan suatu kesalahan sehingga perlu ditangkap errornya

Contoh Program 3 Bahasa :

Yang Pertama Program yang Menggunakan Bahasa Pemograman C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OOP2_Widy_ExceptionHandling
{
class Program
{
private static string Login1()
{
string pengguna;
Console.Write("Masukkan Username  : ");
pengguna = Console.ReadLine();
return pengguna;
}
private static string Login2()
{
string id;
Console.Write("Masukkan Id        : ");
id = Console.ReadLine();
return id;
}
private static void konfigurasi(string user, string pasword)
{
bool error;error = true;
while (error==true)
{
try
{
while(user != "PutriWidiastuti" || pasword !="1111100811")
{
Console.WriteLine();
Console.WriteLine(" ** Login Failed **");
Console.WriteLine();
user = Login1();
pasword = Login2();
}
error = false;
}
catch(Exception)
{
Console.WriteLine();
Console.WriteLine("# User & Pasword Salah");
Console.WriteLine();
}
}
}
public static void Main(string[] args)
{
string user,pasword;
user = Login1();
pasword = Login2();
konfigurasi(user,pasword);
Console.WriteLine();
Console.WriteLine(" ** SELAMAT Login Sukses ** ");
Console.WriteLine();

Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}

Hasilnya Sebagai Berikut :

Capture01

 Dan yang selanjutnya Akan Di bahas Mengenai Bahasa Pemograma C++

#include <cstdlib>
#include <iostream>

using namespace std;

static string Login1()
{
string pengguna;
cout << "Masukkan Username    : ";
cin >> pengguna;
return pengguna;
}
static string Login2()
{
string id;
cout << "Masukkan Id        : ";
cin >> id;
return id;
}
static void konfigurasi(string user, string pasword)
{
bool error;error = true;
while (error==true)
{
try
{
while(user != "PutriWidiastuti" || pasword !="1111100811")
{
cout << endl;
cout << " **Login Failed **";
cout << endl;
user = Login1();
pasword = Login2();
}
error = false;
}
catch(exception e)
{
cout << endl;
cout << "# User & Pasword Salah" << endl;
cout << endl;
}
}
}

int main(int argc, char *argv[])
{
string user,pasword;
user = Login1();
pasword = Login2();
konfigurasi(user,pasword);
cout << endl;
cout << " **SELAMAT Login Sukses** " <<endl;
cout << endl;
system("PAUSE");
return EXIT_SUCCESS;
}

Hasilnya Adalah Sebagai Berikut :

Capture02

Kemudian Yang Terakhir Adalah Pembahasan Mengenai Bahasa Pemograman Java :

package oop2_widy_exception_handling;

import java.util.*;

public class Main
{
public static Scanner input = new Scanner(System.in);
public static String Login1()
{
String pengguna;
System.out.print("Masukkan Username : ");
pengguna=input.next();
return pengguna;
}
public static String Login2()
{
String id;
System.out.print("Masukkan Id       : ");
id=input.next();
return id;
}
private static void konfigurasi(String user, String pasword)
{
boolean error;error = true;
while (error==true)
{
try
{
while(!user.equalsIgnoreCase("PutriWidiastuti") || !pasword.equals("1111100811"))
{
System.out.println();
System.out.println(" **Login Failed **");
System.out.println();
user = Login1();
pasword = Login2();
}
error = false;
}
catch(Exception e)
{
System.out.println();
System.out.println("# User & Pasword Salah");
System.out.println();
}
}
}
public static void main(String[] args)
{
String user,pasword;
user = Login1();
pasword = Login2();
konfigurasi(user,pasword);
System.out.println();
System.out.println(" **SELAMAT Login Sukses** ");
System.out.println();

System.out.print("Press any key to continue . . . ");
System.out.println(true);
}
}

Maka Inilah Hasil Yang Di dapat:

Capture03

12 responses to “6. Exception Handling

  1. Mbk skrg smester brapa ya??
    saya boleh copas mbk.. hehe
    krna buat tgas kmpus juga. saya smstr 6 mbk
    Salam kenal

  2. Aq suka’ smua postinganx mbak.. smoga mkin pntr ajj yach

  3. wah. coba lbih di simple kn mbk.. misal ada download’annya mbk

  4. ehmm…. sopy base y mbk yuuu… hihihih

  5. bagus2!!!!!!!!!!! ank stikom ya mbk???
    pntes pnter

  6. Izin copast ya ka hehehe…lumayan buat belajar oop😀
    Makasih ka salam kenal🙂

  7. love you to

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s