Object-Oriented Programming
Romi Satria Wahono
Java Fundamentals
z z z z z
Romi Satria Wahono
z
[email protected] http://romisatriawahono.net YM: romi_sw
z z z
1
Lahir di Madiun, 2 Oktober 1974 SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara, Nusantara, Magelang (1993) S1,, S2 da dan S3 (on (on--leave) a da dari Department pa of Computer p Sciences, Saitama University, University, Japan (1994 (1994--2004) Core Competence: Software Engineering, Engineering, eLearning System, Knowledge Management PNS di Lembaga Ilmu Pengetahuan Indonesia Founder dan Koordinator IlmuKomputer.Com CEO PT Brainmatics Cipta Informatika
2
Mata Kuliah OOP - Kontrak z
Pertemuan di Kelas: z
z
z
Kuliah model tutoring, tutoring, konsep diberikan dan langsung praktek dilakukan Ketidakhadiran diperbolehkan, diperbolehkan, hanya tidak akan ada pengulangan bahasan bagi yang tidak hadir
Penilaian Mata Kuliah: z z
z
Mata Kuliah OOP - Materi
Nilai Total dari TM - UTS – UAS Tugas harus diupload di University.RomiSatriaWahono.Net
Modul Kuliah dan Pengiriman Tugas: z z z
eLearning System: http://university.romisatriawahono.net Course Name: Object Object--Oriented Programming Enrolment Key: oop
3
1.
OOP Concepts: Concepts:
2.
Java Fundamentals: Fundamentals:
3.
Java J Ad Advanced Advanced: d:
4.
Java GUI: GUI:
Konsep Pemrograman dan paradigma ObjectObject-Oriented Bagaimana Membuat Program dengan Java Eksepsi, Thread, Java API GUI Component, Swing, Event Handling
4
Materi Diskusi 1. 2. 3. 4. 5. 6. 7.
Pernyataan dan Ekspresi
Pernyataan dan Ekspresi Variabel, Tipe Data dan Literal Array Operator Operasi I/O Stream Sederhana h Pernyataan Penentu Keputusan Pernyataan Pengulangan Proses eLearning Course: http://university.romisatriawahono.net Enrolment Key: oop
5
http://romisatriawahono.net
6
[email protected]
Object-Oriented Programming
Pernyataan z
z
z
Ekspresi
Perintah yang menyebabkan sesuatu terjadi dan merepresentasikan aksi tunggal dalam program Java Contoh: int tahunProduksi; S t pernyataan Setiap t d ditutup t t oleh l h karakter k kt semicolon (; ( ;) Pernyataan dikelompokkan dengan tanda pembuka ({ ({) dan penutup (} (}). Kelompok ini disebut blok atau blok pernyataan
7
z
z
z
z
Pernyataan yang dapat menghasilkan suatu nilai.. Nilai yang dihasilkan oleh pernyataan nilai ini yang disebut dengan nilai balik (return value) Nilai balik bisa berupa bilangan bilangan,, boolean boolean,, atau objek Method tanpa nilai balik biasanya menggunakan keyword void Contoh: hasilBagi = a / b;
8
Kata Kunci abstract continue for new switch assert default package synchronized boolean do if
private this break double implements protected throw byte else import public throws
case enum instanceof return transient catch extends int short try char final
Variabel, Tipe Data, dan Literal
interface static void class finally long strictfp volatile float native super while
9
10
Variabel z
z
z
z
Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai) Nilai variabel dapat diubah di pernyataan p di dalam pprogram g manapun Mendeklarasikan variabel: tipe namaVariabel1 [, namaVariabel2] Contoh: int hasilKali; String namaSiswa, namaGuru, namaAdmin;
11
http://romisatriawahono.net
Lingkup Variabel Variabel dipanggil berdasarkan lingkupnya lingkupnya,, dimulai dari blok yang paling kecil, kemudian blok di luar itu 1. 2.
3. 4.
Instance variable adalah variabel yang memiliki nilai yang berbeda di setiap objek Class a variable a a ada adalah a variabel a a ya yang g berlaku a d di suatu a class dan seluruh instan dari class tersebut (objek). Ciri class variable adalah menggunakan keyword static Local variable digunakan di dalam method atau blok pernyataan yang lebih kecil dari itu Parameter adalah variabel yg ada di dalam pernyataan (argument) method
12
[email protected]
Object-Oriented Programming
ClassVariabel.java class Bilangan { static int pencacah = 0; private int nilai nilai;; public Bilangan(int nilai nilai){ ){ this.nilai = nilai; this.pencacah++; } public void info(){ System.out.println("Nilai:“ + this.nilai); System.out.println("Pencacah: “ + this.pencacah); System.out.println(""); }} 13
Memberi Nilai Variabel
public class ClassVariable{ public static void main(String[] args){
z z
Bilangan b1 = new Bilangan(50); b1.info(); y p a a ” System.out.println(“Pencacah: + Bilangan.pencacah);
z
int hasilTambah = 0; boolean status = false false;;
Bilangan b2 = new Bilangan(15); b2.info(); Bilangan b3 = new Bilangan(30); b3.info(); }
14
}
Memberi Nama Variabel z
z
z
Menggunakan tanda sama dengan (= (= ) Kebiasaan yang baik untuk memberi nilai awal (initial value) pada local variabel (mencegah bug pada program) Contoh:
Penentu Akses z
Gunakan lowercase untuk variabel yang terdiri dari satu kata atau kata pertama Gunakan kapital untuk karakter pertama dari kata kedua, ketiga, dst Contoh:
z
int hasil hasil;; boolean statusMesinMobil statusMesinMobil;; Button openFile openFile;;
z
15
Private: pengaksesan suatu instance variabel Private: dan method hanya dapat dilakukan di dalam class ( tidak bisa dari dari luar class) Tanpa Tanda: Tanda: pengaksesan suatu instance variabel dan method dapat dilakukan di dalam kelas dan kelas lain dalam satu paket Public:: pengaksesan suatu instance variable Public dan method dapat dilakukan dari luar (sembarang) kelas
16
Class Access Level
Tipe Data Primitif 1.
Specifier
Class
Package SubClass World
2. 3.
private
9
no specifier
9
9
protected
9
9
9
public
9
9
9
4 4. 5. 6.
9
7. 8.
byte short int long float double char boolean
Catatan: • Secara umum jenis tipe data: bilangan g bulat , p pecahan,, pecahan karakter dan boolean • Hasil operasi matematika akan mengikuti tipe data dari operand
17 18
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Tipe Data Keterangan Primitif
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
l long
Bilangan Bil bulat b l t
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) 14
-1.7E308 Æ 1.7E308
char
Karakter (unicode)
16 bit
\u0000 Æ \uffff
boolean 19
Logika (true/false)
Karakter.java public class Karakter{ public static void main(String[] args){ char karakter1=88, karakter2='X', karakter3='Y'; System.out.println("Karakter l ( k 1: " + karakter1); k k ) System.out.println("Karakter 2: " + karakter2); System.out.println("Karakter 3: " + karakter3); } } 20
Constant Variable (Konstanta) z
z
z
Literal
Constant variable digunakan apabila kita ingin membuat nilai sebuah variable tidak berubah (tetap) Constant variable menggunakan keyword final di depan tipe data, data kadang sering juga digabungkan dengan keyword static static.. Nama constant variable biasanya menggunakan kapital Contoh: final float PI = 3.141592; static final boolean DEBUG = false;
21
z
Semua informasi (bilangan, karakter, string, boolean ) yang merepresentasikan suatu nilai Literal Bilangan (bulat dan pecahan): z z z
z
Literal Boolean (true dan false): z
z
boolean pilihan = true;
Literal String String:: z
z
int tahun = 2008; long nilai = 4L double myScore = 2.25; float piValue = 3.1415927F; double x = 12e22; double y = 19E 19E--95;
String quitMsg = “Yakin “Yakin Ingin Keluar?”; Keluar?”;
Literal Karakter (unicode)
22
Character Escape
Pengarah Tipe (Type(Type-Casting) z z
Bentuk pernyataan: (tipe data) data Contoh: int i = 10; char paksa; paksa = (char) i;
z
23
http://romisatriawahono.net
Casting g tanpa p menghilangkan g g 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
24
[email protected]
Object-Oriented Programming
LuasSegitiga.java
Latihan: Hitung Luas Lingkaran
public class LuasSegitiga { public static void main(String[] args) { int panjang = 17; int tinggi = 11; double luas;
z
public void hitungLuas(double r){ ... } z z
luas = ((double) ((double)(panjang*tinggi))/2; (panjang*tinggi))/2;
z z
System.out.println("Luas Segitiga : " + luas); } } 25
Buat class Lingkaran yang mempunyai method menghitung luas lingkaran Rumus luas lingkaran= PI x r2 PI adalah k konstanta nstanta d dengan ngan nilai 33. 141592 r adalah jarijari-jari lingkaran Buat class LingkaranBeraksi LingkaranBeraksi,, yang menampilkan hasil perhitungan luas lingkaran dalam dua bentuk: pecahan dan bulat (type(type-casting). Beri nilai r = 11.78
26
Konsep Array (Larik)
Array (Larik)
z
Array adalah objek yang dapat digunakan untuk menyimpan sejumlah data
z
Elemen yang disimpan pada array dapat berupa tipe primitif (int, float, etc) atau objek (instan dari class) Langkah menciptakan array:
z
1. 2. 27
Mendeklarasikan variabel array Menciptakan objek array
28
Deklarasi Variabel Array z
Menciptakan Objek Array z
Bentuk Deklarasi:
namaVariabel = new tipePrimitif[jumlahElemen]; tipePrimitif[jumlahElemen]; namaVariabel = new namaKelas[jumlahElemen]; namaKelas[jumlahElemen];
tipePrimitif[] namaVariabel; namaVariabel; namaKelas[] namaVariabel; namaVariabel; z
Bentuk Deklarasi:
z
C t h Contoh:
Contoh: nomor = new int[7]; kota = new String[8];
String[] kota; int[] nomor; z
Bentuk singkat deklarasi variable dan objek array: String[] kota = new String[8]; int[] nomor = new int[7];
29
http://romisatriawahono.net
30
[email protected]
Object-Oriented Programming
Mengakses Elemen Array z
Bentuk Deklarasi namaVariabelArray[nomorElemen];
z
Contoh: kota[0] = “Surabaya”;
31
ArrayKota.java public class ArrayKota{ public static void main(String[] args){ String[] kota; //deklarasi variabel array kota = new String[3]; // membuat objek array // mengisi elemen array kota[0] = "Jakarta"; kota[1] = "Surabaya"; kota[2] = "Semarang"; // menampilkan elemen array System.out.println(kota[0]); System.out.println(kota[1]); System.out.println(kota[2]); 32
}}
Pemberian Nilai Array
Mengetahui Jumlah Elemen Array
public class ArrayKota2{ public static void main(String[] args){ String[] kota = {“Jakarta”, “Surabaya”, “Semarang”};
public class ArrayKota3{ public static void main(String[] args){ String[] kota = {“Jakarta”, “Surabaya”, “Semarang”};
// menampilkan elemen array System.out.println(kota[0]); System out println(kota[0]); System.out.println(kota[1]); System.out.println(kota[2]);
// menampilkan elemen array f ( i=0; i
} }
Jumlah elemen Array dapat diketahui dengan instance variable bernama length
Pemberian nilai dapat langsung dilakukan ketika objek array diciptakan 33
34
Array Multidimensi
Tulisan: Buat Array Multidimensi
class 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] l ( [ ][ ] + nama[1][1]); [ ][ ]) System.out.println(nama[0][2] + nama[1][0]); nama[1][0]); } }
1. 2.
3.
Ibukota Indonesia adalah Jakarta Ibukota Jepang adalah Tokyo Ibukota Iran adalah Teheran
Array multidimensi adalah array dari array , dengan konsep pengaksesan [noBaris][noKolom] 35
http://romisatriawahono.net
Buat array multidimensi untuk nama negara dan ibukotanya Masukkan dalam list array: nama negara = Amerika, Inggris, Jepang, Perancis, Indonesia, Iran, Irak ibukota =Teheran Teheran, Bekasi, Bekasi Jakarta, Jakarta Bantar Gebang Gebang, Tokyo Akses array dan tampilkan di layar sebagai berikut:
36
[email protected]
Object-Oriented Programming
Operator
Operator
Operator adalah simbol dan karakter khusus (matematika) yang digunakan dalam suatu ekspresi z Contoh: z
z z z z
37
int x = 3; int y = x; int z = x * y; boolean status = true;
38
Operator dan Operand Operand
Jenis Operator Berdasar Operand Operand
1.
1+2
2. 3.
Operator Unary Unary:: operator yang melibatkan satu operand Operator Binary Binary:: operator yang melibatkan dua operand Operator Ternary Ternary:: operator yang melibatkan tiga operand
Operator 39
40
Jenis Operator 1. 2. 3. 4 4. 5. 6. 7.
Operator Aritmatika
Operator Aritmatika Operator Penugasan Operator Penggabungan Operator Penambahan dan Pengurangan Operator Bit Operator Pembanding Operator Logika
41
http://romisatriawahono.net
-Hasil operasi matematika akan mengikuti tipe dari operand -Operand bertipe int akan menghasilkan int 42
[email protected]
Object-Oriented Programming
Operator Penugasan Gabungan
Operator Penugasan Operator penugasan berguna untuk memberi nilai ke suatu variabel z Operator penugasan menggunakan tanda sama dengan ( = ) z Operator penugasan digabungkan dengan operator aritmatika membentuk operator penugasan gabungan (compound assignment) z
43
44
Operator Penggabungan
Latihan: Tampilkan Nilai gabung
Operator + dapat digunakan untuk penggabungan String dan String maupun String dan Bilangan z Contoh:
Penggabungan.java
z
String gabung; gabung = “2” + 5;
System.out.println(“Saya adalah” + “Mahasiswa”); System.out.println(“Jumlah Mahasiswa” + 30);
45
46
Penambahan dan Pengurangan z
Penambahan.java
Penambahan: menambahkan 1 ke nilai variabel Penambahan: (operator = ++ ++,, prefix atau postfix) int x=5; y = x++; (nilai saat ini : y = 5, x=6)
z
Latihan: Tampilkan Nilai x, y dan z
int x=5; y = ++x; (nilai saat ini: ini: y = 6, x=6 x=6)
Pengurangan: mengurangkan 1 ke nilai variabel Pengurangan: (operator = ---)) int x=5; y = xx---;; (nilai saat ini: y = 5, x=4)
47
http://romisatriawahono.net
int x=5; y = --x; --x; (nilai saat ini: ini: y = 4, x= x=4 4)
Pengurangan.java
int x, y, z; x = 42; y = x++; //tampilkan x, y saat ini
int x, y, z; x = 42; y = x-x--;; //tampilkan x, y saat ini
z = ++x; //tampilkan x, z saat ini
z = ---x; x; //tampilkan x, z saat ini
48
[email protected]
Object-Oriented Programming
Latihan: Tampilkan Nilai x, y,w dan z
Operator Bit
Penambahan2.java
Pengurangan2.java
int w, x, y, z; x = 5; w =5 ; y = 8 - x++; z = 8 - ++w;
int w,x, y, z; x = 5; w =5 ; y = 8 – x--; --; z = 8 - --w; --w;
& | ^ ~ << >> >>>
49
operasi AND untuk bit operasi OR untuk bit operasi E Exx OR untuk bit operasi NOT untuk t kb bitt geser kiri (geser 1 bit = *2) geser kanan (geser 1 bit = /2) geser kanan tak bertanda
50
Latihan: Program Kali dan Bagi 2
Operator Pembanding (Relasional)
z Buat
program yang menghitung perkalian (*) dan pembagian (/) dengan bilangan dua (2) tanpa operator matematika z Catatan = x >> n = x/2n Operator pembanding atau relasional menggunakan ekspresi dengan nilai balik Boolean (true or false) 51
52
Operator Logika
Latihan: Tampilkan hasilBanding1 dan 2
Pembanding.java
&& || !
boolean hasilBanding1; hasilBanding1; boolean hasilBanding2; int age = 36; hasilBanding1 = age < 25; hasilBanding2 = age != 26; 53
http://romisatriawahono.net
operasi logika AND operasi logika OR operasi logika NOT
Operator logika menggunakan ekspresi dengan nilai balik Boolean (true or false) 54
[email protected]
Object-Oriented Programming
Operator Pengujian Objek z
Operator instanceof digunakan untuk melakukan pengujian apakah suatu objek merupakan : z z z
instan dari suatu class instan dari suatu subclass instan dari suatu class yang merupakan implementasi dari suatu interface
55
InstanceofBeraksi.java class InstanceofBeraksi InstanceofBeraksi{{ public static void main(String[] args) { Parent obj1 = new Parent Parent(); (); Parent obj2 = new Child Child(); (); System.out.println("obj1 instanceof Parent: " + (obj1 instanceof Parent)); System.out.println("obj1 instanceof Child: " + (obj1 instanceof Child));
System.out.println("obj1 y p ( j instanceof MyInterface: y " + (obj1 ( j instanceof MyInterface)); y ))
System.out.println("obj2 instanceof Parent: " + (obj2 instanceof Parent)); System.out.println("obj2 instanceof Child: " + (obj2 instanceof Child));
System.out.println("obj2 instanceof MyInterface: " + (obj2 instanceof MyInterface));
}}
class Parent Parent{} {} class Child extends Parent implements MyInterface MyInterface{} {} interface MyInterface MyInterface{} {}
56
Daftar Lengkap Operator
Urutan Eksekusi Operator z
Secara umum urutan eksekusi operator: 1. 2. 3. 4. 5.
z
57
Operasi Penambahan dan Pengurangan Operasi Aritmatika Operasi Pembandingan Operasi Logika k Operasi Penugasan
Apabila urutan sama, sebelah kiri dieksekusi terlebih dahulu daripada sebelah kanan. Khusus untuk operator = dan += sebelah kanan dieksekusi terlebih dahulu
58
Urutan Eksekusi Operator
Operasi I/O Stream Sederhana
59
http://romisatriawahono.net
60
[email protected]
Object-Oriented Programming
Stream Standard 1. 2. 3.
Membaca Input dari Keyboard z
System.in: menangani pembacaan dari System.in: keyboard (standard input) System.out:: mengirimkan keluaran ke System.out layar (standard output) System.err:: mengirimkan kesalahan System.err (standard error)
z
z
z
61
62
InputKeyboard.java import java.io.*;
63
Perintah sederhana untuk memasukkan data dari keyboard adalah membaca sebagai karakter Penggunaannya memerlukan blok try try--catch (akan dibahas pada bagian eksepsi) Contoh: char karakter; karakter = System.in.read() System.in.read();; Untuk mudahnya, gunakan class InputKeyboard.java untuk menerima masukkan data dari keyboard
public class InputKeyboard InputKeyboard{{ public static String inputString inputString(){ (){ int karakter; String str ="“; boolean selesai = false; while(!selesai){ try{{ try karakter = System.in.read() System.in.read();; if(karakter < 0 || (char) karakter == '\ ' \n n')) selesai = true; true else if ((char) karakter != '\ '\r') str = str + (char) karakter; }catch catch(java.io.IOException (java.io.IOException e){ System.err.println("Ada kesalahan"); selesai = true; } } return str; } }
Konversi String ke Tipe Lain z
z
Method inputString() pada class InputKeyboard memiliki nilai balik bertipe String Tipe String bisa kita konversi ke tipe lain (int, float, atau double) dengan menggunakan method valueOf() yang ada di class Integer, Integer Float dan Double: z z z
SalamKenal.java
import java.io.*;
public class SalamKenal{ public static void main( String[] args ){ System.out.print("Masukkan Nama Anda: ");
}
}
64
KonversiData.java public class KonversiData{ public static void main(String[] args){ String dataString dataString;; System.out.println("Masukkan sebuah bilangan bulat:" ); dataString = InputKeyboard.inputString InputKeyboard.inputString(); (); int dataBulat = Integer.valueOf(dataString Integer.valueOf(dataString).intValue(); ).intValue(); System.out.println("Masukkan sebuah bilangan pecahan:" ); dataString = InputKeyboard.inputString InputKeyboard.inputString(); ();
Integer.valueOf(nilaiString).intValue() Float.valueOf(nilaiString).floatValue() Double.valueOf(nilaiString).doubleValue()
65
http://romisatriawahono.net
String name = InputKeyboard.inputString() InputKeyboard.inputString();; System.out.println("Halo, Salam Kenal " + name +"!");
double dataPecahan = Double.valueOf(dataString Double.valueOf(dataString).doubleValue(); ).doubleValue();
}
}
System.out.println("Bilangan Bulat:" + dataBulat dataBulat); ); System.out.println("Bilangan Pecahan:" + dataPecahan dataPecahan); );
66
[email protected]
Object-Oriented Programming
LuasSegitiga.java
Latihan
public class LuasSegitiga { public static void main(String[] args) { int panjang = 17; int tinggi = 11; double luas;
Ubah class LuasSegitiga dengan nilai panjang dan tinggi dimasukkan oleh user lewat prompt
1.
luas = ((double) ((double)(panjang*tinggi))/2; (panjang*tinggi))/2; System.out.println("Luas Segitiga : " + luas); } } 67
68
Pernyataan Penentu Keputusan
Pernyataan Penentu Keputusan
69
1. 2.
if, ifif, if-else else,, ifif-else if – else switch
70
if z
z
z
PernyataanIF.java public class PernyataanIF{ public static void main(String[] args){ int diskon =0, totalBelanja = 500000;
if adalah pernyataan kondisi yang digunakan untuk pengambilan keputusan terhadap dua buah kemungkinan if bisa berdiri sendiri atau dengan menggunakan else Bentuk:
if(totalBelanja >= 100000){ d k = totalBelanja/10; diskon l l }
if(kondisi){
System.out.println("Diskon = " + diskon);
// blok pernyataan yang dijalankan, bila kondisi benar
}
} 71
http://romisatriawahono.net
} 72
[email protected]
Object-Oriented Programming
Latihan
if--else if
z Kembangkan
z
class PernyataanIF supaya bisa menerima masukan (input) data langsung dari user
z
if-else mengatur pernyataan yang dijalankan ifsewaktu kondisi bernilai benar atau salah Bentuk: if(kondisi){ // blok bl k pernyataan t yang dijalankan, d l k bila b l kondisi k d benar b
} else{ // blok pernyataan yang dijalankan, bila kondisi salah
}
73
74
PernyataanIFELSE.java
if Bersarang
public class PernyataanIFELSE{ public static void main(String[] args){ int diskon =0, totalBelanja = 500000;
z
z
if(kondisiA){
if(totalBelanja >= 100000){ d k = totalBelanja/10; diskon l l } else{ diskon = 0; } System.out.println("Diskon = " + diskon);
// ppernyataan y yang y g dijalankan, dj , bila kondisiA d 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 }
} 75
}
76
PernyataanIFBersarang.java
77
public class PernyataanIFBersarang { public static void main(String[] args) { int skorUjian= 86; char nilai; if (skorUjian >= 90) { nilai = 'A'; } else if (skorUjian >= 80) { nilai = 'B'; B; } else if (skorUjian >= 70) { nilai = 'C'; } else { nilai = 'D'; } System.out.println("Nilai = " + nilai); } }
http://romisatriawahono.net
if bersarang mengatur pernyataan yang dijalankan sewaktu kondisi berupa pilihan Bentuk:
Latihan z Kembangkan
class PernyataanIFBersarang supaya bisa menerima masukan (input) data langsung dari user
78
[email protected]
Object-Oriented Programming
Operator Ternary (Kondisi) z
z
OperatorTernary.java public class OperatorTernary{
Pernyataan kondisi yang menggunakan operator ternary (melibatkan tiga buah operand)
public static void main(String[] args){ int totalBelanja = 500000; int diskon d k = totalBelanja l l >= 100000 ? totalBelanja/10 : 0;
Bentuk: ekspresi_kondisi ? nilai_1 : nilai_2
System.out.println("Diskon = " + diskon); } }
79
80
PernyataanSWITCH1.java
switch z
z
Pernyataan switch memungkinkan melakukan tindakan berbeda terhadap sejumlah kemungkinan nilai Bentuk: switch(ekspresi){ case nilaiSatu:
Pernyataan 1 break; case nilaiDua:
Pernyataan2 break; ... default: PernyataanN; } 81
82
Latihan
PernyataanSWITCH2.java
z Kembangkan
class PernyataanSWITCH1 supaya bisa menerima masukan (input) data langsung dari user lewat prompt z Tampilan awal:
1. Soto Ayam 2. Gule Kambing 3. Nasi Goreng Pilih menu apa? 1 Menu yang anda pilih adalah Soto Ayam
83
http://romisatriawahono.net
public 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"); } }}
84
public 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"); }}}
[email protected]
Object-Oriented Programming
Latihan: Menentukan Jumlah Hari z
z
z
Pernyataan Pengulangan Proses
Buat program (dengan pernyataan SWITCH) untuk menghitung berapa jumlah hari pada suatu bulan dan tahun yang ditunjuk Bulan dan tahun yang ditunjuk adalah bulan Pebruari P b i tahun t h 2000 Tampilkan hasilnya dengan: Jumlah hari pada bulan Pebruari 2000 adalah: .... hari
85
86
for
Pernyataan Pengulangan Proses z
Pernyataan Pengulangan Proses (Loop) z z z
z
for sering disebut for loop, loop, karena digunakan untuk proses looping atau pengulangan z Bentuk: z
for while do--while do
Pernyataan Pemindah Proses (Jump) z z z
for (inisialisasi (inisialisasi;; kondisi; kondisi; penaikan_penurunan) penaikan_penurunan) {
pernyataan
break continue return
87
}
88
PernyataanFOR.java
PernyataanFOREnhanced.java
public class PernyataanFOR { public static void main(String[] args){ for(int i=1; i<11; i++){ System.out.println(i); } } }
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); } } }
89
http://romisatriawahono.net
90
[email protected]
Object-Oriented Programming
while z
z
z
PernyataanWHILE.java class PernyataanWHILE { public static void main(String[] args){ int i = 1; while (i < 11) { System.out.println(i); l i++; } } }
while digunakan untuk melakukan proses pengulangan suatu blok pernyataan selama kondisinya bernilai true Ketika kondisi salah, pernyataan dalam blok bi saja bisa j tidak tid k dijalankan dij l k sama sekali k li Bentuk: while (kondisi) { pernyataan }
91
92
do...while
Latihan: Tampilkan Bilangan Genap 1.
2.
Tampilkan bilangan genap antara 1 sampai 20 dengan menggunakan pernyataan FOR Tampilkan bilangan genap antara 1 sampai 20 dengan menggunakan pernyataan WHILE
z
z
z
do ... while digunakan untuk melakukan proses pengulangan suatu blok pernyataan selama kondisinya bernilai true Pernyataan dalam blok paling tidak dieksekusi di k k i satu t kali k li Bentuk: do {
pernyataan } while (kondisi); 93
94
PernyataanDOWHILE.java
break
class PernyataanDOWHILE { public static void main(String[] args){ int i = 1; do { System.out.println(i); l i++; } while (i <= 10); } } 95
http://romisatriawahono.net
Penyataan break digunakan untuk keluar dari suatu pengulangan (loop) z Penggunaan break bisa berbentuk tanpa label atau berlabel z
96
[email protected]
Object-Oriented Programming
PernyataanBREAK.java
PernyataanBREAKLABEL.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); } } }
public 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); } } }
97
98
continue
PernyataanCONTINUE.java
Penyataan continue digunakan untuk melanjutkan eksekusi ke suatu pengulangan (loop) z Penggunaan continue bisa berbentuk tanpa label atau berlabel z
99
100
return z
2.
z
Latihan: Modifikasi Matematika.java
Pernyataan return digunakan untuk keluar dari method , serta memiliki dua bentuk: 1.
class PernyataanCONTINUE { public static void main(String[] args){ int i = 1; while (i < 11) { if(i == 5){ i++; continue; } System.out.println(i); i++; } } }
z
mengembalikan nilai (sesuai dengan tipe data) tidak mengembalikan nilai (untuk void)
Contoh:
z
int perkalian(int k l x, int y){ ) return x * y; } void perkalian(int x, int y){ hasilKali = x * y; return; } 101
http://romisatriawahono.net
z
z
Modifikasi program Matematika.java yang sebelumnya sudah kita buat dengan menggunakan tipe data int atau float untuk method (bukan void) Gunakan return untuk setiap fungsi (pertambahan, ( t b h pengurangan, pembagian b dan d perkalian) Input data adalah lewat prompt dan bukan ditentukan di code Buat menu pilihan untuk fitur pertambahan, pengurangan, pembagian atau perkalian
102
[email protected]
Object-Oriented Programming
Referensi -1z
z
z
z
Referensi -2-
Sharon Zakhour et al, The Java Tutorial Fourth Edition, Edition, http://java.sun.com/docs/books/tutorial Deitel & Deitel, Java How to Program Sixth Edition,, Prentice Hall, Edition Hall 2004 Kathy Sierra & Bert Bates, Head First Java 2nd Edition, Edition, O’Reilly, 2005 Rogers Cadenhead & Laura Lemay, Teach Yourself Java 6 in 21 Days, Days, Sams Publishing, 2007
103
http://romisatriawahono.net
z
z
z
Tim Pengembang JENI, JENI 11--6, Depdiknas, 2007 Abdul Kadir, Dasar Pemrograman Java 2, 2, Penerbit Andi, 2004 Indrajani dan Martin, Martin Pemrograman P mr graman Berbasis B rbasis Objek dengan Java, Java, Elex Media Komputindo, 2007
104
[email protected]