1.Percabangan If-Else
Merupakan percabangan yang sama dengan percabangan if namun memiliki kondisi false, artinya jika kondisi pada if tidak terpenuhi maka perintah pada else akan di jalankan. Bentuk pernyataan If-Else berupa:
if(kondisi){
//jalankan jika kondisi true
}else{
//jalankan jika kondisi false
}
Misal :
int nilai=8;
if (nilai=10){
System.out.println ("sepuluh");
}else{
System.out.println("Bukan sepuluh");
}
Jika, program diatas diajalankan, maka hasilnya adalah tulisan "Bukan sepuluh" hal ini dikarenakan nilai bernilai 8, bukan 10.
Contoh program dari If-Else beserta outputnya
public class ContohKondisi {
public static void main(String[] args) {
boolean kondisi= true;
if (kondisi){
System.out.println("Jawaban anda benar...");
}
else {
System.out.println("Jawaban anda benar salah...");
}
}
}
Anda pasti sudah tahu tipe data boolean (hanya berisi true atau false), dan dalam program diatas kita memanfaatkan tipe data tersebut sebagai kondisi program kita.
Jika anda menjalakan program diatas, maka hasilnya:
D:>kodedasar>java ContohKondisi
Jawaban anda benar...
2.Switch Case
Switch-case merupakan pernyataan yang dirancang khusus untuk menangani pengambilankeputusan yang melibatkan sejumlah atau banyak alternative.Switch-case juga merupakan pernyataan yang dirancangan khusus untuk menanganipengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian. Pernyataan switch – case ini memiliki kegunaan sama seperti if –else bertingkat.
FUNGSI SWITCH CASE
1.Untuk membuat suatu menu pada sebuah bahasa pemrograman
2.pengambilan keputusan yang melibatkan sejumlah atau banyak alternative
3.sebagai penyederhana dari statement if – else.
Berikut pernyataan percabangan swith-case adalah:
switch(variabel){
case nilai1:
//jalankan instruksi
break;//hentikan
case nilai2:
//jalankan instruksi
break;//hentikan
case nilai3:
//jalankan instruksi
break;//hentikan
case nilai4:
//jalankan instruksi
break;//hentikan
default:
Contoh Program Swich-case dan Outputnya
public class ContohPercabanganSwitch {
public static void main(String args[]) {
char grade = 'A';
switch(grade) {
case 'A' :
System.out.println("Perfect!");
break;
case 'B' :
System.out.println("Excellent!");
break;
case 'C' :
System.out.println("Well done");
break;
case 'D' :
System.out.println("You passed");
case 'F' :
System.out.println("Better try again");
break;
default :
System.out.println("Invalid grade");
}
System.out.println("Your grade is " + grade);
}
}
Dalam contoh program diatas kita ingin memberikan respon yang berbeda untuk setiap grade yang berhasil didapatkan oleh masing-masing mahasiswa.
Milsanya ketika anda mendapat nilai A maka yang akan tercetak adalah kata perfect jika grade sama dengan B maka akan tercetak excellent dan seterusnya.
Namun jika grade tidak sesuai dengan daftar nilai maka statement default-lah yang akan dieksekusi sehingga muncul kata invalid grade.
Jika di compile maka akan tercetak:
Perfect!
Your grade is A
3.Exception Handling
Exception merupakan subkelas dari kelas java.lang.Throwable. Bukanlah dokumentasi java untuk lebih meyakinkan 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 ditampilkan di layar maka java akan secara otomatis memanggil method tostring yang terdapat dalam object bertipe exception.
Exception handling merupakan fasilitas di java yang memberikan fleksibilitas kepada developer untuk menangkap bug atau kesalahan yang terjadi ketiga program berjalan.
, 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.
Contoh penggunaan :
public class A
{
public static void main(String[] args) {
try
{
int a = 1 / 0; // berpotensi untuk menimbulkan kesalahan yaitu
// pembagian dengan bilangan 0
System.out.println("perintah selanjutnya");
}
catch (Exception kesalahan)
{
System.err.println(kesalahan);
}
}
}
Output :
java.lang.ArithmeticException: / by zero
Perhatikan contoh diatas, ada beberapa hal penting yang perlu dilihat. Pertama, block program yag diyakini menimbulkan kesalahan maka ada di dalam block try and catch.Kedua, kesalahan yang muncul akan dianggap sebagai object dan ditangkap catch kemudian di assign ke variable kesalahan dengan tipe Exception. Ketiga, perintah setelah munculnya kesalahan pada block try tidak akan dieksekusi.
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. Contoh Program :
catch(Exception kesalahan)
{
System.out.println(“mohon maaf, terdapat kesalahan pada program”);
//lakukan hal lainnya disini
}
Keyword catch juga dapat diletakan berulang-ulang sesuai dengan kebutuhan. Contoh :
public class A
{
public static void main(String[] args) {
try
{
int a = 1/0; //berpotensi untuk menimbulkan kesalahan yaitu pembagian dengan bilangan 0
System.out.println("perintah selanjutnya");
}
catch(NullPointerException e)
{
}
catch(ArrayIndexOutOfBoundsException e)
{
}
catch(Exception e)
{
}
}
}
3. finally
Keyword ini merupakan keyword yang menunjukan bahwa block program tersebut akan selalu dieksekusi meskipun adanya kesalahan yang muncul atau pun tidak ada. Contoh implementasinya pada program :
public class A
{
public static void main(String[] args) {
try
{
//int a = 1/0;
}
finally
{
System.out.println("terima kasih telah menjalankan program");
}
}
}
Output Program diatas:
terima kasih telah menjalankan program
Jika saya lakukan modifikasi program diatas menjadi :
public class A
{
public static void main(String[] args) {
try
{
int a = 1/0;
}
catch (Exception e)
{
System.out.println(“ada kesalahan yang muncul”);
}
finally
{
System.out.println(“terima kasih telah menjalankan program”);
}
}
}
Output Program :
ada kesalahan yang muncul
terima kasih telah menjalankan program
Perhatikan kedua contoh diatas, block finally akan selalu dieksekusi meskipun adanya kesalahan atau tidak pada block try. Berbeda dengan keyword catch keyword finally hanya dapat diletakan 1 kali setelah keyword try.
4. throw
Keyword ini digunakan untuk melemparkan suatu bug yang dibuat secara manual. Contoh program :
public class A
{
public static void main(String[] args) {
try
{
throw new Exception("kesalahan terjadi");
}
catch(Exception e)
{
System.out.println(e);
}
}
}
Output Program :
java.lang.Exception: kesalahan terjadi
Seperti yang anda lihat pada program diatas, pada keyword throw new Exception(“kesalahan terjadi”); akan melempar object bertipe exception yang merupakan subclass dari class Exception sehingga akan dianggap sebagai suatu kesalahan yang harus ditangkap oleh keyword catch.
Perhatikan contoh berikut ini :
public class A
{
public static void main(String[] args) {
try
{
throw new B(); //cobalah ganti baris ini dengan à new B();
}
catch(Exception e)
{
System.out.println(e);
}
}
}
class B extends Exception
{
B()
{
}
public String toString()
{
return “object dengan tipe kelas B”;
}
}
Output Program :
object dengan tipe kelas B
Program diatas telah mendefinisikan suatu kelas B mengextends dari kelas Exception. Ketika kita melakukan throw new B(); maka object dari kelas bertipe B ini akan dianggap kesalahan dan ditangkap oleh block catch. Sekarang jika anda menghilangkan keyword throw apa yang terjadi?.
5. throws
Keyword throws digunakan dalam suatu method atau kelas yang mungkin menghasilkan suatu kesalahan sehingga perlu ditangkap errornya. Cara mendefinisikannya dalam method adalah sebagai berikut : <method modifier> type method-name throws exception-list1, exceptio-list2, … {}.
Contoh Program :
public class A
{
public static void main(String[] args) {
try
{
f();
}
catch(Exception e)
{
System.out.println(e);
}
}
public static void f() throws NullPointerException, ArrayIndexOutOfBoundsException
{
//implementasi method
throw new NullPointerException();
//throw new ArrayIndexOutOfBoundsException();
}
}
Output Program :
java.lang.NullPointerException
Contoh program lainnya :
public class A
{
public static void main(String[] args) {
try
{
f();
}
catch(Exception e)
{
System.out.println(e);
}
}
public static void f() throws NullPointerException, ArrayIndexOutOfBoundsException
{
//implementasi method
//throw new NullPointerException();
throw new ArrayIndexOutOfBoundsException();
}
}
Output Program :
java.lang.ArrayIndexOutOfBoundsException
Perhatikan kedua contoh pengguaan keyword throws pada method. Ketika method tersebut dipanggil dalam block try. Maka method tersebut akan membuat object yang merupakan subclass dari class Throwable dan method tersebut akan melemparkan kesalahan yang ada dalam block method kedalam block try. Di dalam block try, kesalahan tersebut kemudian ditangkap kedalam block catch.
Komentar
Posting Komentar