From Zero to Hero

Penggunaan Switch Case dalam Java

21:38 Posted by Didit Puji Hariyanto
Kita sudah mempelajari If Condition pada postingan sebelumnya. Sesuai dengan tulisan saya sebelumnya bahwa saya akan menjelaskan fungsi yang hampir sama dengan If Condition tetapi ada beberapa kelebihan yang dimiliki, yaitu fungsi Switch Case. 

KENAPA HARUS MEMILIH SWITCH CASE 
  1. Melibatkan banyak proses seleksi, sehingga memungkinkan bagi program untuk memilih dari sekian banyak alternative 
  2.  Walaupun tersedia nested if yang bisa dituliskan secara berseri tetapi pada beberapa kasus switch merupakan pendekatan yang lebih effisien
BAGAIMANA CARA KERJA STATEMENT SWITCH
  1. Nilai dari ekspresi akan dites terhadap serangkaian konstanta 
  2.  Ketika nilainya cocok, statement yang berkaitan akan dieksekusi hingga ditemukan perintah break 
  3.  Ketika tidak ada nilai yang cocok maka statement dalam default akan dieksekusi (optional) 
  4.  Ekspresi switch dapat berupa tipe char , byte, short, atau int 
  5.  Biasanya ekspresi yang mengontrol switch adalah dalam bentuk variable
STATEMENT SWITCH



CONTOH PENERAPAN SWITCH CASE DALAM JAVA

import java.util.Scanner;
public class LatihanSwitchCase{
                public static void main(String[]args){      
Scanner input = new Scanner (System.in);
char nilaiKuliah;
System.out.println(“Masukkan nilai Anda di sini : ”);
int nilai = input.nextInt();
switch(nilai){
case>=85:
nilaiKuliah = ‘A’;
break;
case>=70:
nilaiKuliah = ‘B’;
break;
case>=60:
nilaiKuliah = ‘C’;
break;
case >=50:
nilaiKuliah = ‘D’;
break;
default:
nilaiKuliah = ‘E’;
break;
}
System.out.println(“Nilai Anda adalah =”+nilai+” dan nilai Kuliahnya = ”+ nilaiKuliah);
}
}
Gimana? Logikanya sama kan seperti fungsi If Condition? Kalau di If Condition kita mengenal dengan istilah Nested IF yang artinya ada fungsi If di dalam If, maka untuk kasus Switch Case juga ada istilah Nested Switch yang artinya ada Switch di dalam Switch.
Sekian dulu ya postingan saya mengenai Switch Case, selanjutnya saya akan menjelaskan fungsi perulangan dalam java, yang kita kenal dengan fungsi FOR. Fungsi ini sangat sering ditemukan di dalam program java. Apa sebenarnya fungsi FOR ini?


Baca lanjutannya di Penggunaan FOR dalam program Java

Cara Kerja Scope/Block dari Variabel

09:03 Posted by Didit Puji Hariyanto
Sesuai dengan postingan saya sebelumnya, ada hal yang harus kita perhatikan dalam membuat nested IF ataupun menginisialisasi suatu variable, yaitu Block atau sering disebut dengan Scope. Untuk dapat memahami hal ini dengan gampang, saya akan mengilustrasikan dengan memisalkan IF adalah orang.

Jadi ada beberapa orang yang sedang berdiri di gedung yang bertingkat tingkat dan sedang melihat ke arah bawahnya, orang pertama berada di gedung rendah, orang kedua berada di gedung yang lebih tinggi dari orang pertama, orang ketiga berada di gedung yang lebih tinggi dari orang yang kedua, begitu seterusnya. Sehingga orang pertama tidak bisa melihat /mengenal orang kedua dan ketiga, orang kedua hanya melihat/mengenal orang pertama karena ada di bawahnya tapi orang kedua tidak dapat melihat/mengenal orang ketiga, orang ketiga melihat/mengenal orang pertama dan kedua karena ada di bawahnya, sedangkan orang ketiga tidak dapat melihat/mengenal orang yang di atasnya, begitu seterusnya.
Sama seperti ilustrasi di atas, berikut versi java nya.

public class LatihanIf{
                public static void main(String[]args){
                        Scanner input = new Scanner (System.in);
                        int nilai;
                        System.out.println(“Masukkan nilai Anda: ”);
                        nilai = input.nextInt();
int kejujuran;
System.out.println(“Apakah Anda mengerjakannya dengan cara mencontek? ”);
System.out.println(“Tekan 1 jika Ya ; dan 2 jika Tidak ”);
kejujuran = input.nextInt();
if (nilai ==100){
int kedisiplinan = 75;
          if(kejujuran==1){
          System.out.println(“Maaf, Anda Gagal”);
          }else if(kejujuran==2){
          System.out.println(“Nilai Anda sempurna, Grade A);
          System.out.println(“Kedisiplinan Anda = ”+kedisiplinan);
}
} else if (nilai <100 && nilai > 80){
          System.out.println(“Nilai Anda Baik, Grade B”);
}else if(nilai <80 && nilai > 60){
          System.out.println(“Nilai Anda Cukup Baik, Grade C”);
}else {
          System.out.println(“Anda perlu mengulang Pelajaran”);
}
}
}
Berdasarkan codingan di atas, nilai kedisiplinan akan mucul 75, tapi hal ini berbeda jika penempatan coding nya berada di luar Scope.

 public class LatihanIf{
                public static void main(String[]args){
                                Scanner input = new Scanner (System.in);
                                int kedisiplinan = 0;
        int nilai;
        System.out.println(“Masukkan nilai Anda: ”);
        nilai = input.nextInt();
int kejujuran;
System.out.println(“Apakah Anda mengerjakannya dengan cara mencontek? ”);
System.out.println(“Tekan 1 jika Ya ; dan 2 jika Tidak ”);
kejujuran = input.nextInt();
if (nilai ==100){
kedisiplinan = 75;
      if(kejujuran==1){
      int kedisiplinan = 45;
      System.out.println(“Maaf, Anda Gagal”);
      System.out.println(“Kedisiplinan Anda#1 = ”+kedisiplinan);
      }else if(kejujuran==2){
      int kedisiplinan = 80;
      System.out.println(“Nilai Anda sempurna, Grade A);
      System.out.println(“Kedisiplinan Anda#2 = ”+kedisiplinan);
      }
System.out.println(“Kedisiplinan Anda#3 = ”+kedisiplinan);
} else if (nilai <100 && nilai > 80){
                System.out.println(“Nilai Anda Baik, Grade B”);
}else if(nilai <80 && nilai > 60){
                System.out.println(“Nilai Anda Cukup Baik, Grade C”);
}else {
                System.out.println(“Anda perlu mengulang Pelajaran”);
} System.out.println(“Kedisiplinan Anda#4 = ”+kedisiplinan);
}
}

Coba kita analisis sedikit, ketika ‘Kedisiplinan Anda#1’ muncul, maka nilai kedisiplinan adalah 45, ketika ‘Kedisiplinan Anda#2’ muncul, maka nilai kedisiplinan adalah 80, ketika ‘Kedisiplinan Anda#3’ muncul, maka nilai kedisiplinan adalah 75, ketika ‘Kedisiplinan Anda#4’ muncul, maka nilai kedisiplinan adalah 0. 

Hal ini disebabkan oleh adanya Scope / Block yang kita gunakan. Nilai yang berada di dalam tanda kurung kurawal, akan dapat membaca nilai yang berada di luar kurung kurawal, dan juga bisa mengganti nilai yang di luar kurung kurawal menjadi nilai baru di dalam kurung kurawal. Tetapi nilai yang berada di luar kurung kurawal tidak bisa melihat / mengenal nilai yang berada di dalam kurung kurawal.

Gimana, sudah mengerti kan? Sekian dulu untuk penjelasan dari Scope dan If, sebenarnya dalam java tidak hanya mengenal IF Condition untuk membandingkan beberapa kondisi yang ada, masih ada fungsi lainnya yang bernama Switch Case. Hampir sama penggunaannya dari IF, hanya ada beberapa kelebihannya.



Baca lanjutannya di Penggunaan Switch Case dalam Java

Penggunaan IF dan ELSE

08:58 Posted by Didit Puji Hariyanto
Untuk memudahkan logika / algoritma para pengguna, kali ini saya akan menjelaskan mengenai penggunaan IF dan ELSE (selanjutnya disebut IF Condition saja). IF Condition digunakan ketika berhadapan dengan kondisi / keadaan yang beraneka ragam. Misal lebih mudahnya adalah: Jika hujan, saya tidak jadi pergi ke pasar, namun jika tidak hujan, saya pergi ke pasar. Kondisi ini sedikit menggambarkan penggunaan IF di kehidupan kita sehari-hari. Singkatnya, di kehidupan ini terdapat banyak kondisi yang tidak monoton, makanya untuk mengcover hal tersebut kita memerlukan IF Condition.


    Dengan adanya kondisi yang berbeda-beda, kita memerlukan beberapa OPERATOR PERBANDINGAN untuk membandingkan kondisi yang ada. Langsung saja lihat di bawah ini.

Dan apabila kita dihadapkan dengan kondisi yang lebih dari 2, maka kita memerlukan OPERATOR LOGIKA.



import java.util.Scanner;
public class LatihanIf{
                public static void main(String[]args){
                                Scanner input = new Scanner (System.in);
                                int nilai;
                                System.out.println(“Masukkan nilai Anda: ”);
                                nilai = input.nextInt();
             if (nilai ==100){
                                System.out.println(“Nilai Anda sempurna, Grade A”);
} else if (nilai <100 && nilai > 80){
                System.out.println(“Nilai Anda Baik, Grade B”);
}else if(nilai <80 && nilai > 60){
                System.out.println(“Nilai Anda Cukup Baik, Grade C”);
}else {
                System.out.println(“Anda perlu mengulang Pelajaran”);
}
}}

Nested IF (Ada IF dalam IF)

Bagaimana kalau kita meletakkan IF di dalam IF? Ya bisa saja. Itulah yang disebut dengan nested IF. Penggunaan nested if adalah hal umum dalam pemrograman. Yang paling terpenting adalah perhatikan block IF nya. Yang dimaksudkan block yaitu tanda kurung kurawalnya.

import java.util.Scanner;
public class LatihanIf{
                public static void main(String[]args){
                                Scanner input = new Scanner (System.in);
                                int nilai;
                                System.out.println(“Masukkan nilai Anda: ”);
                                nilai = input.nextInt();
int kejujuran;
System.out.println(“Apakah Anda mengerjakannya dengan cara mencontek? ”);
System.out.println(“Tekan 1 jika Ya ; dan 2 jika Tidak ”);
kejujuran = input.nextInt();
if (nilai ==100){
                        if(kejujuran==1){
System.out.println(“Maaf, Anda Gagal”);
}else if(kejujuran==2){
System.out.println(“Nilai Anda sempurna, Grade A”);
}
} else if (nilai <100 && nilai > 80){
            System.out.println(“Nilai Anda Baik, Grade B”);
}else if(nilai <80 && nilai > 60){
            System.out.println(“Nilai Anda Cukup Baik, Grade C”);
}else {
            System.out.println(“Anda perlu mengulang Pelajaran”);
}
}
}

Gampang kan? Tinggal otak atik semau kita aja. Yang penting Algoritma kamu jalan. Tapi ingat, ada catatan tentang IF Condition ini, ada hal yang harus kamu perhatikan dalam membuat nested IF ini agar program yang dibuat sesuai dengan keinginanmu.