romi oop-02-javafundamentals-29agustus2010
TRANSCRIPT
Materi
1. OOP Concepts:Konsep dan Paradigma Object-Oriented
2. Java Fundamentals:Memahami Sintaks dan Grammar Bahasa Java
3. Java Advanced:Eksepsi, Thread, Java API
4. Java GUI:Swing, GUI Component, Event Handling,Studi Kasus Aplikasi GUI
5. Java Database:Koneksi ke Database, Studi Kasus Aplikasi Database
Java Fundamentals
Java Fundamentals
1. Pernyataan dan Ekspresi2. Variabel, Tipe Data dan Literal3. Array4. Operator5. Operasi I/O Stream Sederhana6. Pengaturan Format Output
Numerik7. Konversi String dan Bilangan
(Number)8. Pernyataan Penentu Keputusan9. Pernyataan Pengulangan Proses10.Pernyataan Pemindah Proses
Pernyataan danEkspresi
Pernyataan
Perintah yang menyebabkan sesuatu terjadi dan merepresentasikan aksi tunggal dalam program JavaContoh: int tahunProduksi;
Setiap pernyataan ditutup oleh karakter semicolon (;)
Pernyataan dikelompokkan dengan tanda pembuka ({) dan penutup (}). Kelompok ini disebut blok atau blok pernyataan
Ekspresi
Pernyataan yang dapat menghasilkan suatu nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)
Nilai balik bisa berupa bilangan, boolean, atau objek
Method tanpa nilai balik biasanya menggunakan keyword void
Contoh: hasilBagi = a / b;
Kata Kunciabstract private case interface
continue this enum static
for break instanceof void
new double return class
switch implements transient finally
assert protected catch long
default throw extends strictfp
package byte int volatile
synchronized
else short float
boolean import try native
do public char super
if throws final while
Variabel, Tipe Data,dan Literal
VariabelLokasi di dalam memori
komputer yang digunakan untuk menyimpan suatu informasi (nilai)
Nilai variabel dapat diubah di pernyataan manapun di dalam program
Mendeklarasikan variabel: tipe namaVariabel1 [, namaVariabel2]
Contoh:int hasilKali;String namaSiswa, namaGuru, namaAdmin;
Lingkup VariabelVariabel dipanggil berdasarkan lingkupnya, dimulai dari blok yang paling kecil, kemudian blok di luar itu
1. Local Variable: digunakan di dalam method atau blok pernyataan yang lebih kecil dari itu
2. Parameter: variabel yg ada di dalam pernyataan (argument) method
3. Instance Variable: variabel yang memiliki nilai yang berbeda di setiap objek
4. Class Variable: variabel yang berlaku di suatu class dan seluruh instan dari class tersebut (objek). Ciri class variable adalah menggunakan keyword static
Bilangan.javapublic class Bilangan {
static int pencacah = 0;int nilai;public Bilangan(int nilai){
this.nilai = nilai;pencacah++;
}public void info(){ System.out.println("Nilai:“ + this.nilai); System.out.println("Pencacah:“ + pencacah); System.out.println("");}
}
BilanganBeraksi.javapublic class BilanganBeraksi{
public static void main(String[] args){ Bilangan b1 = new Bilangan(50); b1.info();
Bilangan b2 = new Bilangan(15); b2.info();
Bilangan b3 = new Bilangan(30); b3.info();
}}
Memberi Nilai Variabel
Menggunakan tanda sama dengan (=)
Kebiasaan yang baik untuk memberi nilai awal (initial value) pada local variabel (mencegah bug pada program)
Contoh:int hasilTambah = 0;boolean status = false;
Memberi Nama Variabel
Gunakan lowercase untuk variabel yang terdiri dari satu kata atau kata pertama
Gunakan kapital untuk karakter pertama dari kata kedua, ketiga, dst
Contoh:int hasil;boolean statusMesinMobil;Button openFile;
Penentu Akses
Private: pengaksesan suatu instance variabel dan method hanya dapat dilakukan di dalam class ( tidak bisa dari dari luar class)
Tanpa Tanda: pengaksesan suatu instance variabel dan method dapat dilakukan di dalam kelas dan kelas lain dalam satu paket
Public: pengaksesan suatu instance variable dan method dapat dilakukan dari luar (sembarang) kelas
18
Class Acces Level
Specifier Class Package
SubClass World
private
no specifier
protected
public
Tipe Data
1. Tipe Data Primitif Sebagai kata kunci di Java
(lowercase) Embedded di compiler Java Pemrosesan relatif cepat Contoh: int, double
2. Tipe Data Reference Class yang ada di library Java
(java.lang) Menggunakan huruf capital Contoh: String, Integer, Double
Tipe Data Primitif
1. byte2. short3. int4. long5. float6. double7. char8. boolean
Catatan: Secara umum jenis
tipe data:bilangan bulat, pecahan, karakter dan boolean
Hasil operasi matematika akan mengikuti tipe data dari operand
Tipe DataPrimitif
Keterangan Ukuran Jangkauan
byte Bilangan bulat 8 bit -128 127
short Bilangan bulat 16 bit -32.768 32.767
int Bilangan bulat 32 bit -2.147.483.648 2.147.483.647
long Bilangan bulat 64 bit -9.223.372.036.854.775,808 9.223...807
float Bilangan pecahan
32 bit (presisi 6-7 bit)
-3.4E38 3.4E38
double Bilangan pecahan
64 bit(presisi 14-15 bit)
-1.7E308 1.7E308
char Karakter (unicode)
16 bit \u0000 \uffff
boolean
Logika (true/false)
Karakter.javapublic class Karakter{
public static void main(String[] args){
char karakter1=88, karakter2='X', karakter3='Y';
System.out.println("Karakter 1: " + karakter1);
System.out.println("Karakter 2: " + karakter2);
System.out.println("Karakter 3: " + karakter3);}
}
Constant Variable (Konstanta)
Constant Variable digunakan apabila kita ingin membuat nilai sebuah variable tidak berubah (tetap)
Constant variable menggunakan keyword final di depan tipe data, kadang sering juga digabungkan dengan keyword static. Nama constant variable biasanya menggunakan kapital
Contoh:final float PI = 3.141592;static final boolean DEBUG = false;
LiteralSemua informasi (bilangan, karakter, string, boolean ) yang merepresentasikan suatu nilai
Literal Bilangan (bulat dan pecahan): int tahun = 2008; long nilai = 4L double myScore = 2.25; float piValue =
3.1415927F; double x = 12e22; double y = 19E-95;
Literal Boolean (true dan false): boolean pilihan = true;
Literal String: String quitMsg = “Yakin Ingin
Keluar?”; Literal Karakter (unicode)
Character EscapeEscape Meaning\n New line\t Tab\b Backspace\r Carriage return\f Formfeed\\ Backslash\' Single quotation mark\" Double quotation mark\d Octal\xd Hexadecimal\ud Unicode character
Pengarah Tipe (Type-Casting) Pengarah Tipe (Type-Casting) Contoh:
int i = 10;char paksa = (char) i;
Casting tanpa menghilangkan nilai:
Tipe Sumber
Tipe Tujuan
byte short, char, int, long, float, double
short int, long, float, double
char int, long, float, double
int long, float, double
long float, double
float double
LuasSegitiga.javapublic class LuasSegitiga {
public static void main(String[] args) { int alas= 17; int tinggi = 11;
double luas = (double) (alas*tinggi)/2;
System.out.println("Luas Segitiga : " + luas);}
}
Latihan: Hitung Luas LingkaranBuat class Lingkaran yang
mempunyai method menghitung luas lingkaranvoid hitungLuas(double r){ ... } Rumus luas lingkaran= PI* r * r PI adalah konstanta dengan nilai 3.
141592 r adalah jari-jari lingkaran
Buat class LingkaranBeraksi, yang menampilkan hasil perhitungan luas lingkaran dalam dua bentuk: pecahan dan bulat (type-casting). Beri nilai r = 11.78
Array (Larik)
Konsep Array (Larik) Array adalah objek yang dapat
digunakan untuk menyimpan sejumlah data
Elemen yang disimpan pada array dapat berupa tipe primitif (int, float, etc) atau objek (instan dari class)
Langkah menciptakan array:1. Mendeklarasikan variabel array2. Menciptakan objek array
Deklarasi Variabel Array
Bentuk Deklarasi:tipePrimitif[] namaVariabel;namaKelas[] namaVariabel;
Contoh:String[] kota;int[] nomor;
Menciptakan Objek Array
Bentuk Deklarasi:namaVariabel = new tipePrimitif[jumlahElemen];namaVariabel = new namaKelas[jumlahElemen];
Contoh:nomor = new int[7];kota = new String[8];
Bentuk singkat deklarasi variable dan objek array:String[] kota = new String[8]; int[] nomor = new int[7];
Mengakses Elemen Array
Bentuk Deklarasi namaVariabelArray[nomorElemen];
Contoh:kota[0] = “Surabaya”;
ArrayKota.javapublic class ArrayKota{
public static void main(String[] args){String[] kota; //deklarasi
variabel arraykota = new String[3]; // membuat
objek array
// mengisi elemen arraykota[0] = "Jakarta";kota[1] = "Surabaya";kota[2] = "Semarang";// menampilkan elemen arraySystem.out.println(kota[0]);System.out.println(kota[1]);System.out.println(kota[2]);
}}
Pemberian Nilai Arraypublic class ArrayKota2{
public static void main(String[] args){ String[] kota = {“Jakarta”, “Surabaya”, “Semarang”};
// menampilkan elemen array System out println(kota[0]); System.out.println(kota[1]); System.out.println(kota[2]); }
}
Pemberian nilai dapat langsung dilakukan ketika objek array diciptakan
Mengetahui Jumlah Elemen Arraypublic class ArrayKota3{
public static void main(String[] args){String[] kota = {“Jakarta”,
“Surabaya”, “Semarang”};
// menampilkan elemen arrayfor(int i=0; i<kota.length; i++)
System.out.println(kota[i]);}
}
Jumlah elemen Array dapat diketahui dengan instance variable bernama length
Array Multidimensiclass ArrayMultidimensi {
public static void main(String[] args) {String[][] nama = {
{"Pak ", "Bu “, “Mbak”},
{"Joko", "Susi"} };
System.out.println(nama[0][0] + nama[1][0]);
System.out.println(nama[0][1] + nama[1][1]);
System.out.println(nama[0][2] + nama[1][0]);}
}
Array multidimensi adalah array dari array , dengan konsep pengaksesan [noBaris][noKolom]
Latihan: Buat Array Multidimensi1. Buat class NegaraKota2. Buat array multidimensi untuk nama
negara dan ibukotanya3. Masukkan dalam list array:
nama negara = Amerika, Inggris, Jepang, Perancis, Indonesia, Iran, Irakibukota =Teheran, Bekasi, Jakarta, Bantar Gebang, Tokyo
4. Akses array dan tampilkan di layar sebagai berikut:
Ibukota Indonesia adalah JakartaIbukota Jepang adalah TokyoIbukota Iran adalah Teheran
Operator
Operator
Operator adalah simbol dan karakter khusus (matematika) yang digunakan dalam suatu ekspresi
Contoh: int x = 3; int y = x; int z = x * y; boolean status = true;
Jenis Operator Berdasar Operand
1. Operator Unary: operator yang melibatkan satu operand
2. Operator Binary: operator yang melibatkan dua operand
3. Operator Ternary: operator yang melibatkan tiga operand
Jenis Operator
1. Operator Aritmatika2. Operator Penugasan3. Operator Penggabungan4. Operator Penambahan dan
Pengurangan5. Operator Bit6. Operator Pembanding7. Operator Logika
Operator Aritmatika
Hasil operasi matematika akan mengikuti tipe data operand
Operand bertipe int akan menghasilkan int
Operator Meaning Example+ Addition 3 + 4- Subtraction 5 - 7* Multiplication 5 * 5/ Division 14 / 7% Modulus 20 % 7
Operator Penugasan
Operator penugasan berguna untuk memberi nilai ke suatu variabel
Operator penugasan menggunakan tanda sama dengan ( = )
Operator penugasan digabungkan dengan operator aritmatika membentuk operator penugasan gabungan (compound assignment)
Operator Penugasan Gabungan
Expression Meaning
x += y x = x + y
x -= y x = x - y
x *= y x = x * y
x /= y x = x / y
Operator Penggabungan
Operator + dapat digunakan untuk penggabungan String dan String maupun String dan Bilangan
Contoh:System.out.println(“Saya adalah” + “Mahasiswa”);System.out.println(“Jumlah Mahasiswa” + 30);
Penambahan dan Pengurangan Penambahan: menambahkan 1 ke nilai
variabel(operator = ++, prefix atau postfix)int x=5; int x=5;y = x++; y = ++x;(nilai saat ini : y = 5, x=6) (nilai saat ini: y = 6, x=6)
Pengurangan: mengurangkan 1 ke nilai variabel(operator = --)int x=5; int x=5;y = x--; y = --x;(nilai saat ini: y = 5, x=4) (nilai saat ini: y = 4, x=4)
Latihan: Tampilkan Nilai x, y dan z
Penambahan.java
int x, y, z;x = 42;y = x++; //tampilkan x, y
saat iniz = ++x; //tampilkan x, z
saat ini
Pengurangan.java
int x, y, z;x = 42;y = x--;//tampilkan x, y
saat iniz = --x;//tampilkan x, z
saat ini
Latihan: Tampilkan Nilai x, y,w dan z
Penambahan2.java
int w, x, y, z;x = 5; w =5 ;y = 8 - x++;z = 8 - ++w;
Pengurangan2.java
int w,x, y, z;x = 5; w =5 ;y = 8 – x--;z = 8 - --w;
Operator Bit& operasi AND untuk bit
| operasi OR untuk bit
^ operasi Ex OR untuk bit
~ operasi NOT untuk bit
<< geser kiri (geser 1 bit = *2)
>> geser kanan (geser 1 bit = /2)
>>> geser kanan tak bertanda
Latihan: Program Kali dan Bagi 2
Buat program yang menghitung perkalian (*) dan pembagian (/) dengan bilangan dua (2) tanpa operator matematika
Catatan = x >> n = x/2n
Operator Pembanding (Relasional)
Operator Meaning Example
== Equal x == 3!= Not equal x != 3< Less than x < 3> Greater than x > 3<= Less than or equal to x <= 3
>= Greater than or equal to
x >= 3
Operator pembanding menggunakan ekspresi dengan nilai balik boolean (true or false)
Latihan: Tampilkan hasilBanding1 dan 2
Pembanding.java
int age = 36;boolean hasilBanding1 = age
< 25;boolean hasilBanding2 = age !
= 26;
//Tampilkan hasilBanding1 dan hasilBanding2
Operator Logika
&& operasi logika AND| | operasi logika OR! operasi logika NOT
Operator logika menggunakan ekspresi dengan nilai balik Boolean (true or false)
Urutan Eksekusi Operator
Secara umum urutan eksekusi operator:1. Operasi Penambahan dan
Pengurangan2. Operasi Aritmatika3. Operasi Pembandingan4. Operasi Logika5. Operasi Penugasan
Apabila urutan sama, sebelah kiri dieksekusi terlebih dahulu daripada sebelah kanan
Khusus untuk operator = dan += sebelah kanan dieksekusi terlebih dahulu
Operasi I/O StreamSederhana
Stream Standard
1. System.in: menangani pembacaan dari keyboard (standard input)
2. System.out: mengirimkan keluaran ke layar (standard output)
3. System.err: mengirimkan kesalahan (standard error)
Membaca Input dari Keyboard
Menggunakan class Scanner (java.util.Scanner) dengan method sebagai berikut:
1. nextInt(): untuk menerima tipe data integer
2. nextShort(): untuk menerima tipe data short
3. nextLong(): untuk menerima tipe data long
4. nextDouble(): untuk menerima tipe data double
5. nextFloat(): untuk menerima tipe data float
6. nextLine(): untuk menerima tipe data string
7. nextBoolean(): untuk menerima tipa data boolean
SalamKenal.javaimport java.util.Scanner;
public class SalamKenal { public static void main( String[] args ){ Scanner masukan = new
Scanner(System.in);
System.out.print("Masukkan Nama Anda: "); String nama = masukan.nextLine();
System.out.println("Halo, Salam Kenal sdr " + nama +"!");
}}
Perkalian.javapublic class Perkalian{
public static void main(String[] args){Scanner input = new
Scanner(System.in); System.out.print("Masukkan
bilangan pertama: ");int bilangan1 = input.nextInt();
System.out.print("Masukkan bilangan
kedua: ");int bilangan2 = input.nextInt();
System.out.print("Hasil perkalian: " +(bilangan1 * bilangan2));
}}
Latihan
Ubah class LuasSegitiga dengan nilai alas dan tinggi dimasukkan oleh user lewat prompt (gunakan class Scanner)public class LuasSegitiga {
public static void main(String[] args) {double alas= 17; double tinggi = 11;
double luas = (alas*tinggi)/2;System.out.println("Luas Segitiga : "
+ luas);}
}
Tampilan Program
Program Penghitung Luas Segitiga
Masukkan Alas = 13Masukkan Tinggi = 24Jadi, Luas Segitiga adalah =
Argument untuk Menerima Inputpublic class LuasSegitigaArgs {
public static void main(String[] args) {
double alas= Double.parseDouble(args[0]);double tinggi =
Double.parseDouble(args[1]);
double luas = (alas*tinggi)/2;
System.out.println("Luas Segitiga : " + luas);
}}
Tampilan Program
%java LuasSegitigaArgs 2 18Luas Segitiga: 18
Argument untuk Menerima Input (Rev)public class LuasSegitigaArgs {
public static void main(String[] args) {
if (args.length == 2){double alas = Double.parseDouble(args[0]);double tinggi =
Double.parseDouble(args[1]);double luas = (alas*tinggi)/2;System.out.println("Luas Segitiga : " +
luas); }else{
System.out.println("Penggunaan Argument Salah!");
System.out.println("Contoh: java LuasSegitigaArgs 30 20"); }}
}
Tampilan Program
%java LuasSegitigaArgs 2 18 67Penggunaan Argument Salah!Contoh: java LuasSegitigaArgs 30 20
Konversi String dan Bilangan (Number)
Konversi String ke Bilangan
String myString;
double myDbl = Double.parseDouble(myString);Integer.parseInt(myString);Float.parseFloat(myString);
Argument untuk Menerima Inputpublic class LuasSegitigaArgs {
public static void main(String[] args) {
double alas= Double.parseDouble(args[0]);double tinggi =
Double.parseDouble(args[1]);
double luas = (alas*tinggi)/2;
System.out.println("Luas Segitiga : " + luas);
}}
Konversi Bilangan ke String
double myDouble;int myInteger;float myFloat;
Double.toString(myDouble);Integer.toString(myInteger);Float.toString(myFloat);
Pengaturan Format Output Numerik
Metode Pengaturan Format
1. Menggunakan Method System.out.format()
2. Menggunakan DecimalFormat Class
1. Method System.out.format()
public class TestFormat { public static void main(String[] args) { long n = 461012; System.out.format("%d%n", n); System.out.format("%08d%n", n); System.out.format("%+8d%n", n); System.out.format("%,8d%n", n); System.out.format("%+,8d%n%n", n); double pi = Math.PI; System.out.format("%f%n", pi); System.out.format("%.3f%n", pi); System.out.format("%10.3f%n", pi); System.out.format("%-10.3f%n", pi);
Calendar c = Calendar.getInstance(); System.out.format("%tB %te, %tY%n", c, c, c); System.out.format("%tl:%tM %tp%n", c, c, c); System.out.format("%tD%n", c); } }
Hasil Eksekusi461012 00461012 +461012 461,012 +461,012
3.141593 3.142
3.142 3.142
May 29, 2006 2:34 am05/29/06
Converters and Flags Converter Flag Explanation
d A decimal integer. f A float.
n A new line character appropriate to the platform running the application. You should always use %n, rather than \n.
tB A date & time conversion—locale-specific full name of month.
td, te A date & time conversion—2-digit day of month. td has leading zeroes as needed, te does not.
ty, tY A date & time conversion—ty = 2-digit year, tY = 4-digit year. tl A date & time conversion—hour in 12-hour clock.
tM A date & time conversion—minutes in 2 digits, with leading zeroes as necessary.
tp A date & time conversion—locale-specific am/pm (lower case).
tm A date & time conversion—months in 2 digits, with leading zeroes as necessary.
tD A date & time conversion—date as %tm%td%ty 08 Eight characters in width, with leading zeroes as necessary. + Includes sign, whether positive or negative. , Includes locale-specific grouping characters. - Left-justified.. .3 Three places after decimal point.
10.3 Ten characters in width, right justified, with three places after decimal point.
2. DecimalFormat Class public class DecimalFormatDemo { static public void customFormat(String pattern, double value ) {
DecimalFormat myFormatter = new DecimalFormat(pattern);
String output = myFormatter.format(value);System.out.println(value + " " + pattern + " "
+ output); }
static public void main(String[] args) {customFormat("###,###.###", 123456.789);customFormat("###.##", 123456.789);customFormat("000000.000", 123.78);customFormat("$###,###.###", 12345.67);
}}
Hasil Eksekusi
123456.789 ###,###.### 123,456.789 123456.789 ###.## 123456.79 123.78 000000.000 000123.780 12345.67 $###,###.### $12,345.67
DecimalFormat Class Value Pattern Output Explanation
123456.789
###,###.###
123,456.789
The pound sign (#) denotes a digit, the comma is a placeholder for the grouping separator, and the period is a placeholder for the decimal separator.
123456.789
###.## 123456.79
The value has three digits to the right of the decimal point, but the pattern has only two. The format method handles this by rounding up.
123.78 000000.000 000123.780
The pattern specifies leading and trailing zeros, because the 0 character is used instead of the pound sign (#).
12345.67 $###,###.### $12,345.67
The first character in the pattern is the dollar sign ($). Note that it immediately precedes the leftmost digit in the formatted output.
Pernyataan PenentuKeputusan
Pernyataan Penentu Keputusan
1.if, if-else, if-else if – else
2.switch
ifPernyataan kondisi yang
digunakan untuk pengambilan keputusan terhadap dua buah kemungkinan
if bisa berdiri sendiri atau dengan menggunakan else
Bentuk:
if(kondisi){ // blok pernyataan yang dijalankan,
bila kondisi benar
}
PernyataanIF.javapublic class PernyataanIF{
public static void main(String[] args){int diskon =0, totalBelanja =
500000;
if(totalBelanja >= 100000){ diskon = totalBelanja/10;} System.out.println("Diskon = " +
diskon);}
}
if-else
if-else mengatur pernyataan yang dijalankan sewaktu kondisi bernilai benar atau salah
Bentuk:if(kondisi){
// blok pernyataan yang dijalankan, bila kondisi benar
} else{// blok pernyataan yang dijalankan,
bila kondisi salah
}
PernyataanIFELSE.javapublic class PernyataanIFELSE{
public static void main(String[] args){int diskon =0, totalBelanja =
500000;
if(totalBelanja >= 100000){ diskon = totalBelanja/10;} else{ diskon = 0;}System.out.println("Diskon = " +
diskon);}
}
Latihan
Kembangkan class PernyataanIFELSE supaya nilai Total Belanja bisa dimasukan melalui input dari keyboard (gunakan class Scanner)
if-else if-elseMengatur pernyataan yang
dijalankan sewaktu kondisi berupa pilihan
Bentuk:if(kondisiA){
// pernyataan yang dijalankan, bila kondisiA benar}else if(kondisiB){
// pernyataan yang dijalankan, bila kondisiB benar}else if(kondisiC){
// pernyataan yang dijalankan, bila kondisiC benar}else{
// pernyataan yang dijalankan untuk kondisi selain itu}
PernyataanIFELSEIF.javapublic class PernyataanIFELSEIF{
public static void main(String[] args) {int skorUjian= 86; char nilai;if (skorUjian >= 90) { nilai = 'A';} else if (skorUjian >= 80) { nilai = 'B';} else if (skorUjian >= 70) { nilai = 'C';} else { nilai = 'D';}System.out.println("Nilai = " + nilai);
}}
Latihan
Kembangkan class PernyataanIFELSEIF supaya bisa menerima masukan (input) data langsung dari user
Tampilan Program:Masukkan Skor Ujian = XNilai untuk skor ujian X adalah Z
Operator Ternary (Kondisi)
Pernyataan kondisi yang menggunakan operator ternary (melibatkan tiga buah operand)
Bentuk:ekspresi_kondisi ? nilai_1 : nilai_2
OperatorTernary.java public class OperatorTernary{
public static void main(String[] args){ int totalBelanja = 500000;
int diskon = totalBelanja >= 100000 ?totalBelanja/10 : 0;
System.out.println("Diskon = " + diskon); }
}
switchSwitch digunakan untuk
melakukan tindakan berbeda terhadap sejumlah kemungkinan nilai
Bentuk:switch(ekspresi){
case nilaiSatu:Pernyataan 1break;
case nilaiDua:Pernyataan2break;
...default: PernyataanN;
}
PernyataanSWITCH1.javapublic class PernyataanSWITCH1{
public static void main(String[] args){int pilihan = 3;switch(pilihan){ case 1:
System.out.println("Soto Ayam");break;
case 2:System.out.println("Gule Kambing");break;
case 3:System.out.println("Nasi Goreng");break;
default:System.out.println("Silakan Pilih 1, 2 atau
3");}
}}
Latihan
Kembangkan class PernyataanSWITCH1 supaya bisa menerima masukan (input) data langsung dari user lewat prompt
Tampilan awal: > 1. Soto Ayam 2. Gule Kambing 3. Nasi Goreng> Pilih menu apa? 1> Menu yang anda pilih adalah Soto Ayam
PernyataanSWITCH2.javapublic class PernyataanSWITCH2{
public static void main(String[] args){int pilihan = 3;switch(pilihan){ case 1: case 2: case 3: case 4: case 5:
System.out.println("Hari Kerja");break;
case 6: case 7:
System.out.println("Hari Libur");break;
default:System.out.println("Silakan Pilih Hari");
}}}
Latihan: Menentukan Jumlah Hari
Buat program (dengan SWITCH) untuk menghitung berapa jumlah hari pada suatu bulan dan tahun yang ditunjuk
Bulan dan tahun dimasukkan dengan input dari keyboard (class Scanner)
Tampilkan hasilnya dengan:Masukkan tahun: 1900
Masukan bulan: 2Jumlah hari pada tahun 1900 bulan 2 adalah 28 hari
PernyataanPengulangan Proses (Loop)
Pernyataan Pengulangan Proses
1.for2.while3.do-while
for
for sering disebut for loop, karena digunakan untuk proses looping atau pengulangan
Bentuk:
for (inisialisasi; kondisi; penaikan_penurunan){
pernyataan}
PernyataanFOR.javapublic class PernyataanFOR {
public static void main(String[] args){
for(int i=1; i<11; i++){System.out.println(i);
}}
}
PernyataanFOREnhanced.java
class PernyataanFOREnhanced {public static void main(String[] args){
int[] numbers = {1,2,3,4,5,6,7,8,9,10};
for (int i : numbers) {
System.out.println(i);}
}}
while
while digunakan untuk melakukan proses pengulangan suatu blok pernyataan selama kondisinya bernilai true
Bentuk:while (kondisi) {
pernyataan}
PernyataanWHILE.javaclass PernyataanWHILE {
public static void main(String[] args){
int i = 1;while (i < 11) {
System.out.println(i);i++;
}}
}
Latihan: Tampilkan Bilangan Genap
Tampilkan bilangan genap antara 1 sampai 20 dengan menggunakan:
1. Pernyataan FOR2. Pernyataan WHILE
do...while
do ... while digunakan untuk melakukan proses pengulangan suatu blok pernyataan selama kondisinya bernilai true
Pernyataan dalam blok paling tidak dieksekusi satu kali
Bentuk:do {
pernyataan} while (kondisi);
PernyataanDOWHILE.javaclass PernyataanDOWHILE {
public static void main(String[] args){
int i = 1;do {
System.out.println(i);i++;
} while (i <= 10);}
}
Pernyataan Pemindah Proses (Jump)
Pernyataan Pemindah Proses
1. return2. break3. continue
return Digunakan untuk keluar dari method return memiliki dua bentuk:
1. mengembalikan nilai (sesuai dengan tipe data)
2. tidak mengembalikan nilai (untuk void)
Contoh:int perkalian(int x, int y){
return x * y;}void perkalian(int x, int y){
hasilKali = x * y;return;
}
break
Penyataan break digunakan untuk keluar dari suatu pengulangan (loop)
Penggunaan break bisa berbentuk tanpa label atau berlabel
PernyataanBREAK.java
public class PernyataanBREAK {public static void main(String[] args){
for(int i=1; i<11; i++){if(i==5) break;System.out.println(i);
}}
}
PernyataanBREAKLABEL.javapublic class PernyataanBREAK {
public static void main(String[] args){
selesai:for(int i=1; i<11; i++){
if(i==5) break selesai;System.out.println(i);
}}
}
continue
Digunakan untuk melanjutkan eksekusi ke suatu pengulangan (loop)
Bisa berbentuk tanpa label atau berlabel
Bentuk code persis sama dengan break, baik untuk yang tanpa label atau berlabel
Latihan: Modifikasi Matematika.java
Modifikasi program Matematika.java yang sebelumnya sudah kita buat dengan menggunakan tipe data double untuk method
Input data adalah lewat prompt (class Scanner)
Buat menu pilihan untuk fitur pertambahan, pengurangan, pembagian atau perkalian
Gunakan pengulangan untuk menu pilihan. Akan berhenti apabila kita pilih 0
TampilanMenu Aplikasi Matematika:1. Pertambahan 2. Pengurangan 3. Perkalian
4. Pembagian0. Keluar Aplikasi
Pilih Menu = 1Masukkan Angka Pertama = 3Masukkan Angka Kedua =23
Hasil Pertambahan antara 3 dan 23 adalah 26
Menu Aplikasi Matematika:1. Pertambahan 2. Pengurangan 3. Perkalian
4. Pembagian0. Keluar Aplikasi
Pilih Menu =
Latihan: Aplikasi Restoran
1. Buat sistem manajemen restoran berbasis text
2. Harga semua masakan adalah Rp. 15.000
3. Sistem akan melakukan pengulangan tampilan Pilih Menu, sampai dipilih menu 5 (Hitung Total) atau menu 6 (Keluar Aplikasi))
4. Sistem akan melakukan pengulangan tampilan Menu Restoran, sampai dipilih menu 6 (Keluar Aplikasi))
Tampilan SistemMenu Restoran:1. Nasi Goreng 2. Nasi Rawon 3. Nasi Gudeg
4. Jus Jeruk5. Hitung Total 6. Keluar Aplikasi
Pilih Menu? 1Pilih Menu? 4
(mengulang ke tampilan Pilih Menu, sampai dipilih menu 5 (Hitung Total) atau menu 6 (Keluar Aplikasi))
Pilih Menu? 5
Pilihan menu adalah Nasi Goreng dan Jus Jeruk.Total yang harus dibayar adalah Rp. 30.000
(mengulang ke tampilan Menu Restoran, sampai dipilih menu 6 (Keluar Aplikasi))
Referensi -1- Sharon Zakhour et al, The Java
Tutorial Fourth Edition, http://java.sun.com/docs/books/tutorial
Deitel & Deitel, Java How to Program 7th Edition, Prentice Hall, 2007
Deitel & Deitel, Java for Programmers, Prentice Hall, 2009
Kathy Sierra & Bert Bates, Head First Java 2nd Edition, O’Reilly, 2005
Rogers Cadenhead & Laura Lemay, Teach Yourself Java 6 in 21 Days, Sams Publishing, 2007
Robert Lafore, Data Structures and Algorithms in Java Second Edition, Sams Publishing, 2003
Referensi -2-
Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007
Indrajani dan Martin, Pemrograman Berbasis Objek dengan Java, Elex Media Komputindo, 2007
LN Harnaningrum, Algoritma dan Pemrograman Java, Graha Ilmu, 2009
Rachmad Hakim & Sutarto, Mastering Java, Elex Media Komputindo, 2009
Miftakhul Huda dan Bunafit Komputer, Membuat Aplikasi Database dengan Java, MySQL, dan Netbeans, Elex Media Komputindo, 2010