Diberdayakan oleh Blogger.
Home » » java chap1

java chap1

Written By Tim Editor on Rabu, 16 Desember 2015 | 19.27

 

Selection

Selection adalah jenis kode program yang akan melakukan pemilihan terhadap sekelompok kode program yang ada untuk dieksekusi. Ada sekelompok kode program yang akan dijalankan, ada sekelompok kode program yang akan diabaikan. Acuan dari proses pemilihan ini adalah kondisi yang diuji pada selection.
Ada 2 jenis selection :
  1. if
  2. switch
IF
`if` biasanya digunakan untuk memilih dua kelompok kode program yang akan dijalankan. `if` juga dapat digunakan untuk menentukan apakah sekelompok kode program akan dijalankan atau diabaikan. Untuk pemilihan kelompok kode program jumlahnya yang melebihi 2 , tetap dapat menggunakan `nested if`, namun disarankan untuk menggunakan perintah `switch`.
FORMAT IF
IF tunggal
if(kondisi){ 
   kode program; 
}

Dilakukan pengujian terhadap kondisi. Pengujian akan menghasilkan sebuah nilai boolean. Pengujian berupa operasi perbandingan.

Jika pengujian pada nomor 1 menghasilkan nilai true maka kode program ini yang dikerjakan. Jumlah kode program dapat berupa 1 baris, lebih, atau dapat dikosongkan. Jika pengujian menghasilkan nilai false, maka kode program akan diabaikan.
IF dengan ELSE
if(kondisi){ 
   kode program; 
} else {
   kode program; 
}

Dilakukan pengujian terhadap kondisi. Pengujian akan menghasilkan sebuah nilai boolean. Pengujian berupa operasi perbandingan.

Jika pengujian pada nomor 1 menghasilkan nilai true maka kode program ini yang dikerjakan. Jumlah kode program dapat berupa 1 baris, lebih, atau dapat dikosongkan.

Jika pengujian pada nomor 1 menghasilkan nilai false maka kode program ini yang dikerjakan. Jumlah kode program dapat berupa 1 baris, lebih, atau dapat dikosongkan.
NESTED IF
if(kondisi1){ 
   kode program; 
} else if(kondisi2){ 
   kode program; 
} else {
   kode program; 
}

Dilakukan pengujian terhadap kondisi1. Pengujian akan menghasilkan sebuah nilai boolean. Pengujian berupa operasi perbandingan.

Jika pengujian pada nomor 1 menghasilkan nilai true maka kode program ini yang dikerjakan. Jumlah kode program dapat berupa 1 baris, lebih, atau dapat dikosongkan.

Jika pengujian pada nomor 1 menghasilkan nilai false, maka akan dilakukan pengujian terhadap kondisi2.

Jika pengujian pada nomor 3 menghasilkan nilai true maka kode program ini yang dikerjakan. Jumlah kode program dapat berupa 1 baris, lebih, atau dapat dikosongkan. Pengujian dapat terus dilakukan dengan kondisi yang berbeda.

Jika pengujian pada nomor 3 masih menghasilkan nilai false, maka kode program ini yang akan dikerjakan.

Jika kondisi yang dibandingkan berupa nilai numerik, maka dapat digunakan operator perbandingan biasa seperti ==, <, atau >. Contoh : if(nilai==10).
Jika kondisi yang dibandingkan berupa huruf, maka harus menggunakan operator equals. Contoh : if(huruf.equals("A")).
SWITCH
`switch` digunakan untuk memilih salah satu dari sekian banyak kelompok kode program yang tersedia. Untuk pilihan kode program yang jumlahnya melebihi 2, dianjurkan untuk menggunakan `switch` karena lebih mudah dimaintenance.
FORMAT SWITCH
switch(kondisi){ 
   case nilai1 : 
 kode program; 
 break; 
   case nilai2 : 
 kode program; 
 break;
   default : 
 kode program; 
 break;
}

kondisi di sini memiliki nilai yang dapat di bandingkan dengan nilai-nilai yang ada di dalam case.

nilai dalam kondisi dibandingkan dengan nilai1.

Jika memiliki kesamaan (berarti hasil perbandingan = true), maka kode program akan dikerjakan.

break digunakan untuk keluar dari proses pengujian switch terhadap nilai dari case-case di bawahnya. Tanpa ada perintah break di sini, maka proses pengujian kondisi akan terus dilakukan sampai akhir dari switch.

Jika nilai dalam kondisi tidak sama dengan nilai case pada nomor 2, maka akan dibandingkan dengan nilai2 pada case ini.

Jika memiliki kesamaan (berarti hasil perbandingan = true), maka kode program akan dikerjakan. Jika masih ada nilai yang hendak dibandingkan, maka dapat ditambahkan di bawahnya dengan format yang sama.

Jika semua case sudah diuji dan tidak ditemukan kesamaan nilai, maka perintah default pada nomor 8 yang akan dijalankan.

Kode program default yang akan dijalankan.

Java merupakan bahasa pemrograman yang bersifat case-sensitive. Huruf besar dan huruf kecil dianggap nilai yang berbeda. Jika Anda mencoba membandingkan nilai "Bahasa" dengan "bahasa", akan didapatkan nilai false yang berarti "Bahasa" tidak sama dengan "bahasa" karena ada perbedaan huruf B besar dan huruf b kecil.
CONTOH IF
Soal
Buatlah sebuah aplikasi yang akan meminta pengguna untuk memasukkan nilai belanja.
Jika nilai belanja melebihi 100.000 maka akan mendapatkan diskon sebesar 10% dari nilai belanja.
Jika nilai belanja tidak melebihi 100.000 maka tidak mendapatkan diskon.
Aplikasi kemudian akan mencetak nilai belanja, nilai diskon, dan nilai yang harus dibayar.
Solusi
package selectionif;

import java.util.Scanner;

public class SelectionIf {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in); 
        double nilaiBelanja; 
        double diskon; 

        System.out.print("Masukkan nilai belanja : ");
        nilaiBelanja=input.nextDouble(); 
        if(nilaiBelanja>100000){ 
            diskon=0.1*nilaiBelanja; 
        } else {
            diskon=0; 
        }
        System.out.println("Nilai Belanja : " + nilaiBelanja);
        System.out.println("Nilai Diskon : " + diskon);
        System.out.println("Nilai Bayar : " + (nilaiBelanja-diskon));
    }
}

Membuat object Scanner yang dapat menerima input dari pengguna.

Menyiapkan sebuah variabel yang akan digunakan untuk menampung nilai belanja yang diinput oleh pengguna.

Menyiapkan sebuah variabel yang akan digunakan untuk menampung hasil perhitungan diskon.

Meminta pengguna untuk memasukkan nilai belanja yang kemudian akan ditampung di variabel nilaiBelanja yang sudah disiapkan di nomor 2. input adalah object Scanner yang dideklarasikan di nomor 1. Kita menggunakan method nextDouble karena variabel penampung (dalam hal ini adalah nilaiBelanja) dideklarasikan sebagai tipe data double. Jika variabel penampungnya bertipe data integer, maka gunakan method nextInt, dan seterusnya sesuai dengan tipe data variabel penampung. Jika variabel penampung bertipe String, gunakan method nextLine.

Disini kita menggunakan selection if untuk membandingkan nilai belanja yang diinput oleh pengguna pada nomor 4. Jika nilai belanja melebihi 100.000, maka eksekusi program akan dilanjutkan dengan nomor 6.

Jika nilai belanja melebihi 100.000, maka kita hitung nilai diskon sebesar 10% dari nilai belanja (dalam hal ini 0.1 * nilai belanja).

Jika nilai belanja tidak melebihi 100.000, maka tidak mendapatkan diskon (dalam hal ini diskon=0).
CONTOH SWITCH
Soal
Buatlah sebuah aplikasi yang akan meminta pengguna untuk memasukkan sebuah nilai dalam bentuk huruf A, B, atau C.
Jika pengguna memasukkan huruf A, maka cetak kalimat Nilai Anda bagus.
Jika pengguna memasukkan huruf B, maka cetak kalimat Nilai Anda cukup.
Jika pengguna memasukkan huruf C, maka cetak kalimat Nilai Anda kurang.
Selain itu, cetak kalimat Anda salah memasukkan nilai.
Solusi
package selectionswitch;

import java.util.Scanner;

public class SelectionSwitch {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String nilai;

        System.out.print("Masukkan nilai (A/B/C) : ");
        nilai=input.next();
        switch(nilai){
            case "A":
                System.out.println("Nilai Anda bagus.");
                break;
            case "B":
                System.out.println("Nilai Anda cukup.");
                break;
            case "C":
                System.out.println("Nilai Anda kurang.");
                break;
            default :
                System.out.println("Anda salah memasukkan nilai.");
                break;
        }
    }
}

Looping

Looping adalah suatu proses mengeksekusi kode program yang sama berulang kali dengan nilai variabel yang berbeda. Ada beberapa hal yang harus diperhatikan dalam looping :
  1. Looping sifatnya harus dapat berakhir jika kondisi tertentu tercapai.
  2. Ada nilai yang berubah dalam setiap kali proses looping. Perubahan nilai itu akan membuat looping berhenti pada kondisi tertentu.
Ada beberapa format looping :
FOR
Looping dengan menggunakan `for` biasanya digunakan untuk looping yang sudah dapat ditentukan jumlah perulangannya sejak awal.
FORMAT FOR
for(nilai awal, kondisi, perubahan nilai){ 
   kode program 
} 

nilai awal adalah nilai yang diisi saat looping pertama kali dimulai. Pengisian nilai awal hanya dilakukan 1 kali dalam looping. kondisi adalah pengujian terhadap suatu kondisi yang akan mengembalikan nilai boolean. Jika pengujian menghasilkan nilai true, maka looping akan dilanjutkan. Jika pengujian menghasilkan nilai false, maka looping akan dihentikan dan dilanjutkan dengan kode program sesudah baris nomor 3 (kalau masih ada). perubahan nilai adalah tempat kode program akan melakukan perubahan terhadap nilai dalam looping, yang akan mengarahkan looping supaya kondisi akan menghasilkan nilai false suatu saat nanti.

Kode program akan dikerjakan selama looping masih berlanjut.

Batasan dari kode program yang akan dieksekusi dalam looping. Setiap kali eksekusi looping mencapai bagian ini, maka proses eksekusi akan dilanjutkan kembali ke nomor 1.
WHILE
Looping dengan `while` biasanya digunakan untuk looping yang belum jelas atau tidak dapat ditentukan kapan akan berakhir.
FORMAT WHILE
while(kondisi){ 
   kode program 
} 

Permulaan dari looping dimulai dengan memeriksa kondisi. Jika kondisi menghasilkan nilai true, maka looping akan dilanjutkan. Jika kondisi menghasilkan nilai false, maka looping akan dihentikan dan dilanjutkan dengan kode program sesudah nomor 3 (kalau masih ada).

Kode program akan dijalankan selama looping masih berlanjut.

Indikator batasan akhir dari looping. Setiap kali eksekusi looping mencapai bagian ini, maka eksekusi akan kembali ke nomor 1 untuk melakukan pengujian kondisi.
CONTOH FOR
Soal
Buatlah sebuah aplikasi yang akan mencetak kalimat Ini adalah looping ke n sebanyak 10 kali. Nilai n akan diganti dengan urutan looping yang terjadi.
Solusi
package loopingfor;

public class LoopingFor {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        for(int i=1; i<11; i++){
            System.out.println("Ini adalah looping ke "+i);
        }
    }
}
CONTOH WHILE
Soal
Buatlah sebuah aplikasi yang akan meminta pengguna untuk memasukkan sebuah bilangan bulat dan proses ini akan terus berulang sampai pengguna memasukkan angka 0. Jumlahkan semua angka yang dimasukkan pengguna dan cetak hasil penjumlahannya.
Solusi
package loopingwhile;

import java.util.Scanner;

public class LoopingWhile {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int nilai=-1;
        int total=0;

        while(nilai!=0){
            System.out.print("Masukkan sebuah bilangan bulat : ");
            nilai=input.nextInt();
            total+=nilai;
        }
        System.out.println("Nilai penjumlahan : "+ total);
    }
}

Fungsi looping for dan while dapat digunakan secara bergantian untuk kasus yang sama, tergantung dengan kondisi yang kita setting.










1 komentar: