Java Fundamentals
Java Fundamentals
1
Romi
Romi Satria
Satria Wahono
Wahono
romi@romisatriawahono.net romi@romisatriawahono.net http://romisatriawahono.net http://romisatriawahono.net
YM: YM: romi_swromi_sw
z
z Lahir di Madiun, 2 Oktober 1974Lahir di Madiun, 2 Oktober 1974 z
z SD Sompok SD Sompok Semarang (1987)Semarang (1987) z
z SMPN 8SMPN 8Semarang (1990)Semarang (1990) z
z SMA Taruna NusantaraSMA Taruna Nusantara, Magelang (1993), Magelang (1993) z
z S1, S2 dan S3 (onS1, S2 dan S3 (on--leave) dari leave) dari Department Department of Computer of Computer
Romi Satria Wahono Romi Satria Wahono
2
, da
, da aa dada papa pp
Sciences,
Sciences, Saitama UniversitySaitama University, Japan (1994, Japan (1994--2004)2004)
z
z Core Competence: Core Competence: Software Software EngineeringEngineering, eLearning , eLearning
System, Knowledge Management System, Knowledge Management
z
z PNS PNS didiLembagaLembaga IlmuIlmu PengetahuanPengetahuan IndonesiaIndonesia z
z Founder Founder dandan KoordinatorKoordinatorIlmuKomputer.ComIlmuKomputer.Com z
z CEO CEO PT Brainmatics Cipta InformatikaPT Brainmatics Cipta Informatika
Mata Kuliah OOP
Mata Kuliah OOP -- Kontrak
Kontrak
zzPertemuan di Kelas:Pertemuan di Kelas:
z
z Kuliah model tutoringKuliah model tutoring, konsep diberikan dan langsung , konsep diberikan dan langsung
praktek dilakukan praktek dilakukan
z
z Ketidakhadiran diperbolehkanKetidakhadiran diperbolehkan, hanya , hanya tidak akan ada tidak akan ada
pengulangan bahasan
pengulangan bahasanbagi yang tidak hadirbagi yang tidak hadir
z
zPenilaian Mata Kuliah:Penilaian Mata Kuliah:Penilaian Mata Kuliah:Penilaian Mata Kuliah:
z
z Nilai Total dari Nilai Total dari TM TM -- UTS UTS –– UASUAS z
z Tugas harus diupload Tugas harus diupload di University.RomiSatriaWahono.Netdi University.RomiSatriaWahono.Net
z
zModul Kuliah dan Pengiriman Tugas:Modul Kuliah dan Pengiriman Tugas:
z
z eLearning System: eLearning System: http://university.romisatriawahono.nethttp://university.romisatriawahono.net z
z Course Name: Course Name: ObjectObject--Oriented ProgrammingOriented Programming z
z Enrolment Key: Enrolment Key: oopoop
3
Mata Kuliah OOP
Mata Kuliah OOP -- Materi
Materi
1.1.
OOP Concepts
OOP Concepts
::
Konsep Pemrograman dan paradigma Object
Konsep Pemrograman dan paradigma Object--Oriented Oriented
2.
2.
Java Fundamentals
Java Fundamentals
::
Bagaimana Membuat Program dengan Java Bagaimana Membuat Program dengan Java
J
Ad
d
J
Ad
d
3.
3.
Java Advanced
Java Advanced
::
Eksepsi, Thread, Java API Eksepsi, Thread, Java API
4.
4.
Java GUI
Java GUI
::
GUI Component, Swing, Event Handling GUI Component, Swing, Event Handling
4
Materi Diskusi
Materi Diskusi
1.1. Pernyataan dan EkspresiPernyataan dan Ekspresi 2.
2. Variabel, Tipe Data dan LiteralVariabel, Tipe Data dan Literal 3. 3. ArrayArray 4. 4. OperatorOperator hh 5 5.
5. Operasi I/O Stream SederhanaOperasi I/O Stream Sederhana 6.
6. Pernyataan Penentu KeputusanPernyataan Penentu Keputusan 7.
7. Pernyataan Pengulangan ProsesPernyataan Pengulangan Proses
eLearning Course:
eLearning Course: http://university.romisatriawahono.nethttp://university.romisatriawahono.net
Enrolment Key: Enrolment Key: oopoop
Pernyataan dan
Pernyataan dan
Ekspresi
Ekspresi
Pernyataan
Pernyataan
zzPerintah yang Perintah yang menyebabkan sesuatu terjadi menyebabkan sesuatu terjadi dan merepresentasikan
dan merepresentasikan aksi tunggal aksi tunggal dalam dalam program Java
program Java Contoh:
Contoh: int tahunProduksi;int tahunProduksi;
S t t d t t l h k kt
S t t d t t l h k kt
z
zSetiap pernyataan ditutup oleh karakter Setiap pernyataan ditutup oleh karakter semicolon (
semicolon (;;) ) z
zPernyataan dikelompokkan dengan tanda Pernyataan dikelompokkan dengan tanda pembuka (
pembuka ({{) dan penutup () dan penutup (}}). Kelompok ini ). Kelompok ini disebut
disebut blokblokatau atau blok pernyataanblok pernyataan
7
Ekspresi
Ekspresi
zzPernyataan yang dapat Pernyataan yang dapat menghasilkan suatu menghasilkan suatu
nilai
nilai. Nilai yang dihasilkan oleh pernyataan . Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan
ini yang disebut dengan nilai balik nilai balik (return (return value)
value) z
zNilai balik bisa berupa Nilai balik bisa berupa bilanganbilangan booleanboolean z
zNilai balik bisa berupa Nilai balik bisa berupa bilanganbilangan, , booleanboolean, , atau
atau objek objek
z
zMethod tanpa nilai balik biasanya Method tanpa nilai balik biasanya menggunakan keyword
menggunakan keyword voidvoid
z zContoh:Contoh: hasilBagi = a / b; hasilBagi = a / b; 8
Kata Kunci
Kata Kunci
abstract abstract continue continue for for new new switch switch assert assert private private this this break break double double implements implements protected protected case case enum enum instanceof instanceof return return transient transient catch catch interface interface static static void void class class finally finally long long assert assert default default package package synchronized synchronized boolean boolean do do ifif 9 protected protected throw throw byte byte else else import import ppublicublic throws throws catch catch extends extends int int short short try try char char final final long long strictfp strictfp volatile volatile float float native native super super while whileVariabel, Tipe Data,
Variabel, Tipe Data,
dan Literal
dan Literal
10Variabel
Variabel
zz LokasiLokasidi dalam memori komputer yang di dalam memori komputer yang
digunakan untuk
digunakan untuk menyimpan suatu informasi menyimpan suatu informasi (nilai)
(nilai)
z
z Nilai variabel Nilai variabel dapat diubah dapat diubah di pernyataan di pernyataan
manapun di dalam program manapun di dalam programpp p gp g
z
z Mendeklarasikan variabel:Mendeklarasikan variabel:
tipe namaVariabel1 [, namaVariabel2] tipe namaVariabel1 [, namaVariabel2]
z
z Contoh:Contoh:
int hasilKali; int hasilKali;
String namaSiswa, namaGuru, namaAdmin; String namaSiswa, namaGuru, namaAdmin;
11
Lingkup Variabel
Lingkup Variabel
Variabel dipanggil berdasarkan
Variabel dipanggil berdasarkan lingkupnyalingkupnya, dimulai , dimulai dari blok yang paling kecil, kemudian blok di luar itu dari blok yang paling kecil, kemudian blok di luar itu
1.1. Instance variableInstance variableadalah variabel yang memiliki adalah variabel yang memiliki nilai nilai
yang berbeda di setiap objek yang berbeda di setiap objek
2.
2. Class variableClass variableaa a aa a adalah variabel yang adalah variabel yang ada a a aada a a a ya gya gberlaku di suatu berlaku di suatu aa dd aa
class dan seluruh instan
class dan seluruh instandari class tersebut (objek). Ciri dari class tersebut (objek). Ciri class variable adalah menggunakan keyword
class variable adalah menggunakan keyword staticstatic
3.
3. Local variable Local variable digunakan di digunakan di dalam method atau blok dalam method atau blok
pernyataan
pernyataanyang lebih kecil dari ituyang lebih kecil dari itu
4.
4. ParameterParameteradalah variabel yg ada di dalam pernyataan adalah variabel yg ada di dalam pernyataan
(argument) method (argument) method
ClassVariabel.java
ClassVariabel.java
class Bilangan { class Bilangan {
static
staticint pencacah = 0;int pencacah = 0; private int
private int nilainilai;; public Bilangan(int public Bilangan(int nilainilai){){
this.nilai = nilai; this.nilai = nilai; this.pencacah++; this.pencacah++; }}
public class ClassVariable{ public class ClassVariable{
public static void main(String[] public static void main(String[]
args){ args){
Bilangan b1 = new Bilangan(50); Bilangan b1 = new Bilangan(50); b1.info(); b1.info(); System.out.println(“Pencacah: ” System.out.println(“Pencacah: ” 13 }}
public void info(){ public void info(){
System.out.println("Nilai:“ System.out.println("Nilai:“ + this.nilai); + this.nilai); System.out.println("Pencacah: System.out.println("Pencacah: ““ + this.pencacah); + this.pencacah); System.out.println(""); System.out.println(""); }} }} y p a a y p a a + Bilangan.pencacah); + Bilangan.pencacah); Bilangan b2 = new Bilangan(15); Bilangan b2 = new Bilangan(15); b2.info();
b2.info();
Bilangan b3 = new Bilangan(30); Bilangan b3 = new Bilangan(30); b3.info();
b3.info(); }} }}
Memberi Nilai Variabel
Memberi Nilai Variabel
zzMenggunakan tanda sama dengan (Menggunakan tanda sama dengan (==)) z
zKebiasaan yang baik untuk Kebiasaan yang baik untuk memberi nilai memberi nilai
awal
awal (initial value) pada local variabel (initial value) pada local variabel (mencegah bug pada program) (mencegah bug pada program) z
zContoh:Contoh:
int hasilTambah = int hasilTambah = 00;; boolean status = boolean status = falsefalse;;
14
Memberi Nama Variabel
Memberi Nama Variabel
zzGunakan Gunakan lowercaselowercaseuntuk variabel yang untuk variabel yang terdiri dari
terdiri dari satu kata satu kata atau atau kata pertamakata pertama
z
zGunakan Gunakan kapitalkapitaluntuk untuk karakter pertama karakter pertama dari dari kata kedua, ketiga, dst
kata kedua, ketiga, dst z
zContoh:Contoh:
int int hasilhasil;; boolean
boolean statusMesinMobilstatusMesinMobil;; Button
Button openFileopenFile;;
15
Penentu Akses
Penentu Akses
zzPrivatePrivate: pengaksesan suatu instance variabel : pengaksesan suatu instance variabel dan method hanya dapat dilakukan di dan method hanya dapat dilakukan di dalam dalam class
class ( tidak bisa dari dari luar class)( tidak bisa dari dari luar class) z
zTanpa TandaTanpa Tanda: pengaksesan suatu instance : pengaksesan suatu instance variabel dan method dapat dilakukan di variabel dan method dapat dilakukan di variabel dan method dapat dilakukan di variabel dan method dapat dilakukan di dalam kelas dan
dalam kelas dan kelas lain dalam satu paketkelas lain dalam satu paket
z
zPublicPublic: pengaksesan suatu instance variable : pengaksesan suatu instance variable dan method dapat dilakukan dari
dan method dapat dilakukan dari luar luar (sembarang) kelas
(sembarang) kelas
16
Class Access Level
Class Access Level
Specifier
Specifier ClassClass PackagePackage SubClassSubClass WorldWorld
private private 99 17 no specifier no specifier 99 99 protected protected 99 99 99 public public 99 99 99 99
Tipe Data Primitif
Tipe Data Primitif
1.1.
byte
byte
2. 2.short
short
3. 3.int
int
44long
long
Catatan: Catatan:•• Secara umum jenis tipe data: Secara umum jenis tipe data:
bilangan bulat
bilangan bulat , , pecahanpecahan, , 4. 4.
long
long
5. 5.float
float
6. 6.double
double
7. 7.char
char
8. 8.boolean
boolean
18 gg pp karakterkarakterdan dan booleanboolean
•• Hasil operasi matematika akan Hasil operasi matematika akan
mengikuti tipe data dari mengikuti tipe data dari operand
Tipe Data
Primitif Keterangan Ukuran Jangkauan
byte
byte Bilangan bulatBilangan bulat 8 bit8 bit --128 128 ÆÆ127127 short
short Bilangan bulatBilangan bulat 16 bit16 bit --32.768 32.768 ÆÆ32.76732.767 int
int Bilangan bulatBilangan bulat 32 bit32 bit --2.147.483.648 2.147.483.6472.147.483.6472.147.483.648 ÆÆ ll BilBil b l t b l t 64 bit64 bit --9.223.372.036.854.775,808 9.223.372.036.854.775,808
19
long
long Bilangan bulatBilangan bulat 64 bit64 bit 9.223.372.036.854.775,808 9.223.372.036.854.775,808 Æ
Æ9.223...8079.223...807
float
float Bilangan pecahanBilangan pecahan 32 bit (presisi 32 bit (presisi 66--7 bit)7 bit) --3.4E38 3.4E38 ÆÆ3.4E383.4E38 double
double Bilangan pecahanBilangan pecahan 64 bit (presisi 64 bit (presisi 1414--15 bit)15 bit) --1.7E308 1.7E308 ÆÆ1.7E3081.7E308 char
char Karakter (unicode)Karakter (unicode) 16 bit16 bit \u0000 Æ\uffff boolean
boolean Logika (true/false)Logika (true/false)
Karakter.java
Karakter.java
public class Karakter{ public class Karakter{
public static void main(String[] args){ public static void main(String[] args){
char karakter1=88, karakter2='X', karakter3='Y'; char karakter1=88, karakter2='X', karakter3='Y';
l ( k k k ) l ( k k k ) 20 System.out.println("Karakter 1: " + karakter1); System.out.println("Karakter 1: " + karakter1); System.out.println("Karakter 2: " + karakter2); System.out.println("Karakter 2: " + karakter2); System.out.println("Karakter 3: " + karakter3); System.out.println("Karakter 3: " + karakter3); }} }}
Constant Variable (Konstanta)
Constant Variable (Konstanta)
zz Constant variable digunakan apabila kita ingin Constant variable digunakan apabila kita ingin
membuat nilai sebuah
membuat nilai sebuah variable tidak berubah variable tidak berubah (tetap)
(tetap)
z
z Constant variable menggunakan keyword Constant variable menggunakan keyword finalfinal
di depan tipe data kadang sering juga di depan tipe data kadang sering juga di depan tipe data, kadang sering juga di depan tipe data, kadang sering juga digabungkan dengan keyword
digabungkan dengan keyword staticstatic. Nama . Nama constant variable biasanya menggunakan constant variable biasanya menggunakan kapitalkapital
z
z Contoh:Contoh:
final
finalfloat float PIPI= 3.141592;= 3.141592; static final
static finalboolean boolean DEBUGDEBUG= false;= false;
21
Literal
Literal
Semua informasi (bilangan, karakter, string, Semua informasi (bilangan, karakter, string, boolean ) yang
boolean ) yang merepresentasikan suatu nilaimerepresentasikan suatu nilai
z
z Literal Literal BilanganBilangan(bulat dan pecahan):(bulat dan pecahan):
z
z int tahun = 2008; long nilai = 4Lint tahun = 2008; long nilai = 4L z
z double myScore = 2.25; float piValue = 3.1415927F;double myScore = 2.25; float piValue = 3.1415927F; z
z double x = 12e22;double x = 12e22; double y = 19Edouble y = 19E--95;95;
z
z Literal Literal BooleanBoolean(true dan false):(true dan false):
z
z boolean pilihan = true;boolean pilihan = true;
z
z Literal Literal StringString::
z
z String String quitMsgquitMsg = “= “Yakin Ingin Keluar?Yakin Ingin Keluar?”;”;
z
z Literal Literal KarakterKarakter(unicode)(unicode)
22
Character Escape
Character Escape
23
Pengarah Tipe (Type
Pengarah Tipe (Type--Casting)
Casting)
z
z Bentuk pernyataan: Bentuk pernyataan: (tipe data) data(tipe data) data z z Contoh:Contoh: int i = 10; int i = 10; char paksa; char paksa; paksa = (char) i; paksa = (char) i; z
z Casting tanpa menghilangkan nilai:Casting tanpa menghilangkan nilai:gg pp gg gg
24
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.java
LuasSegitiga.java
public class LuasSegitiga { public class LuasSegitiga {
public static void main(String[] args) { public static void main(String[] args) {
int panjang = 17; int panjang = 17; int tinggi = 11; int tinggi = 11; double luas; double luas; 25 luas = (
luas = ((double)(double)(panjang*tinggi))/2;(panjang*tinggi))/2; System.out.println("Luas Segitiga : " + luas); System.out.println("Luas Segitiga : " + luas); }}
}}
Latihan: Hitung Luas Lingkaran
Latihan: Hitung Luas Lingkaran
zzBuat class Buat class LingkaranLingkaranyang mempunyai method yang mempunyai method menghitung luas lingkaran
menghitung luas lingkaran
public void hitungLuas(double r){ ... } public void hitungLuas(double r){ ... }
z
zRumus Rumus luas lingkaran= PI x rluas lingkaran= PI x r22
PI adalah k nstanta d ngan nilai 3 141592 PI adalah k nstanta d ngan nilai 3 141592 z
zPI adalah konstanta dengan nilai 3. 141592PI adalah konstanta dengan nilai 3. 141592 z
zr adalah jarir adalah jari--jari lingkaranjari lingkaran z
zBuat class Buat class LingkaranBeraksiLingkaranBeraksi, yang menampilkan , yang menampilkan hasil perhitungan luas lingkaran dalam dua hasil perhitungan luas lingkaran dalam dua bentuk: pecahan dan bulat (type
bentuk: pecahan dan bulat (type--casting). Beri casting). Beri nilai r = 11.78 nilai r = 11.78 26
Array (Larik)
Array (Larik)
27Konsep Array (Larik)
Konsep Array (Larik)
zz Array adalah Array adalah objekobjekyang dapat digunakan untuk yang dapat digunakan untuk
menyimpan sejumlah data menyimpan sejumlah data
z
z Elemen yang disimpan pada array dapat berupa Elemen yang disimpan pada array dapat berupa
tipe primitif
tipe primitif (int, float, etc) atau (int, float, etc) atau objekobjek(instan (instan dari class)
dari class)
z
z Langkah menciptakan array:Langkah menciptakan array:
1.1. Mendeklarasikan variabel arrayMendeklarasikan variabel array 2.
2. Menciptakan objek arrayMenciptakan objek array
28
Deklarasi Variabel Array
Deklarasi Variabel Array
zz Bentuk Deklarasi:Bentuk Deklarasi:
tipePrimitif[] namaVariabel tipePrimitif[] namaVariabel;; namaKelas[] namaVariabel namaKelas[] namaVariabel;; C t h C t h z z Contoh:Contoh: String[] kota; String[] kota; int[] nomor; int[] nomor; 29
Menciptakan Objek Array
Menciptakan Objek Array
zz Bentuk Deklarasi:Bentuk Deklarasi:
namaVariabel = new tipePrimitif[jumlahElemen]
namaVariabel = new tipePrimitif[jumlahElemen];;
namaVariabel = new namaKelas[jumlahElemen]
namaVariabel = new namaKelas[jumlahElemen];;
z
z Contoh:Contoh:
nomor = new int[7]; nomor = new int[7]; kota = new String[8]; kota = new String[8];
z
z Bentuk singkat deklarasi variable dan objek array:Bentuk singkat deklarasi variable dan objek array:
String[] kota = new String[8]; String[] kota = new String[8]; int[] nomor = new int[7]; int[] nomor = new int[7];
Mengakses Elemen Array
Mengakses Elemen Array
zz Bentuk DeklarasiBentuk Deklarasi
namaVariabelArray[nomorElemen]; namaVariabelArray[nomorElemen]; z z Contoh:Contoh: kota[0] = “Surabaya”; kota[0] = “Surabaya”; 31
ArrayKota.java
ArrayKota.java
public class ArrayKota{ public class ArrayKota{
public static void main(String[] args){ public static void main(String[] args){
String[] kota;
String[] kota; //deklarasi variabel array//deklarasi variabel array kota = new String[3];
kota = new String[3]; // membuat objek array// membuat objek array // mengisi elemen array
// mengisi elemen array
32 kota[0] = "Jakarta"; kota[0] = "Jakarta"; kota[1] = "Surabaya"; kota[1] = "Surabaya"; kota[2] = "Semarang"; kota[2] = "Semarang"; // menampilkan elemen array // menampilkan elemen array System.out.println(kota[0]); System.out.println(kota[0]); System.out.println(kota[1]); System.out.println(kota[1]); System.out.println(kota[2]); System.out.println(kota[2]); }} }}
Pemberian Nilai Array
Pemberian Nilai Array
public class ArrayKota2{ public class ArrayKota2{
public static void main(String[] args){ public static void main(String[] args){
String[] kota = {“Jakarta”, “Surabaya”, “Semarang”}; String[] kota = {“Jakarta”, “Surabaya”, “Semarang”}; // menampilkan elemen array
// menampilkan elemen array System out println(kota[0]); System out println(kota[0]);
33 System.out.println(kota[0]); System.out.println(kota[0]); System.out.println(kota[1]); System.out.println(kota[1]); System.out.println(kota[2]); System.out.println(kota[2]); }} }}
Pemberian nilai dapat langsung dilakukan
Pemberian nilai dapat langsung dilakukan ketika objek ketika objek array diciptakan
array diciptakan
Mengetahui Jumlah Elemen Array
Mengetahui Jumlah Elemen Array
public class ArrayKota3{ public class ArrayKota3{
public static void main(String[] args){ public static void main(String[] args){
String[] kota = {“Jakarta”, “Surabaya”, “Semarang”}; String[] kota = {“Jakarta”, “Surabaya”, “Semarang”}; // menampilkan elemen array
// menampilkan elemen array f (
f ( kk ll hh ) )
34
for(int i=0; i<
for(int i=0; i<kota.lengthkota.length; i++); i++) System.out.println(kota[i]); System.out.println(kota[i]); }}
}}
Jumlah elemen Array dapat diketahui dengan Jumlah elemen Array dapat diketahui dengan instance variable bernama
instance variable bernama lengthlength
Array Multidimensi
Array Multidimensi
class ArrayMultidimensi { class ArrayMultidimensi {
public static void main(String[] args) { public static void main(String[] args) {
String[][] nama = {{"Pak ", "Bu “, “Mbak”}, String[][] nama = {{"Pak ", "Bu “, “Mbak”},
{"Joko", "Susi"}}; {"Joko", "Susi"}}; System.out.println(nama[0][0] + nama[1][0]); System.out.println(nama[0][0] + nama[1][0]); l ( [ ][ ] [ ][ ]) l ( [ ][ ] [ ][ ]) 35 System.out.println(nama[0][1] + nama[1][1]); System.out.println(nama[0][1] + nama[1][1]); System.out.println(nama[0][2] + nama[1][ System.out.println(nama[0][2] + nama[1][0]);0]); }} }}
Array multidimensi adalah
Array multidimensi adalah array dari array array dari array , dengan , dengan konsep pengaksesan
konsep pengaksesan [noBaris][noKolom][noBaris][noKolom]
Tulisan: Buat Array Multidimensi
Tulisan: Buat Array Multidimensi
1.1. Buat array multidimensi untuk Buat array multidimensi untuk nama negara dan nama negara dan ibukotanya
ibukotanya 2.
2. Masukkan dalam list array:Masukkan dalam list array: nama negara
nama negara = Amerika, Inggris, Jepang, Perancis, = Amerika, Inggris, Jepang, Perancis, Indonesia, Iran, Irak
Indonesia, Iran, Irak
ibukota
ibukota=Teheran Bekasi Jakarta Bantar Gebang =Teheran Bekasi Jakarta Bantar Gebang
ibukota
ibukota Teheran, Bekasi, Jakarta, Bantar Gebang, Teheran, Bekasi, Jakarta, Bantar Gebang, Tokyo
Tokyo
3.
3. Akses array dan tampilkan di layar sebagai berikut:Akses array dan tampilkan di layar sebagai berikut:
Ibukota Indonesia adalah Jakarta Ibukota Indonesia adalah Jakarta Ibukota Jepang adalah Tokyo Ibukota Jepang adalah Tokyo Ibukota Iran adalah Teheran Ibukota Iran adalah Teheran
Operator
Operator
37Operator
Operator
zz
Operator
Operator
adalah simbol dan karakter
adalah simbol dan karakter
khusus (matematika) yang digunakan
khusus (matematika) yang digunakan
dalam suatu ekspresi
dalam suatu ekspresi
z zContoh:
Contoh:
z z int x = 3;int x = 3; z z int y = x;int y = x; z z int z = x * y;int z = x * y; zz boolean status = true;boolean status = true;
38
Operator dan Operand
Operator dan Operand
1 + 2
1 + 2
Operand
Operand
Operand
Operand
39
1 + 2
1 + 2
Operator
Operator
Jenis Operator Berdasar Operand
Jenis Operator Berdasar Operand
1.1.Operator
Operator
Unary
Unary
: operator yang
: operator yang
melibatkan
melibatkan
satu operand
satu operand
2.
2.
Operator
Operator
Binary
Binary
: operator yang
: operator yang
melibatkan
melibatkan
dua operand
dua operand
melibatkan
melibatkan
dua operand
dua operand
3.
3.
Operator
Operator
Ternary
Ternary
: operator yang
: operator yang
melibatkan
melibatkan
tiga operand
tiga operand
40
Jenis Operator
Jenis Operator
1.1.
Operator
Operator
Aritmatika
Aritmatika
2.2.
Operator
Operator
Penugasan
Penugasan
3.3.
Operator
Operator
Penggabungan
Penggabungan
44
Operator
Operator
Penambahan dan Pengurangan
Penambahan dan Pengurangan
4.4.
Operator
Operator
Penambahan dan Pengurangan
Penambahan dan Pengurangan
5.5.
Operator
Operator
Bit
Bit
6.6.
Operator
Operator
Pembanding
Pembanding
7.7.
Operator
Operator
Logika
Logika
41
Operator Aritmatika
Operator Aritmatika
42
--Hasil operasi matematika akan Hasil operasi matematika akan mengikuti tipe dari operandmengikuti tipe dari operand --Operand bertipe int akan menghasilkan intOperand bertipe int akan menghasilkan int
Operator Penugasan
Operator Penugasan
z
z
Operator penugasan berguna untuk
Operator penugasan berguna untuk
memberi nilai ke suatu variabel
memberi nilai ke suatu variabel
z
z
Operator penugasan menggunakan
Operator penugasan menggunakan
tanda sama dengan (
tanda sama dengan (
==
))
tanda sama dengan (
tanda sama dengan ( ))
zz
Operator penugasan digabungkan
Operator penugasan digabungkan
dengan operator aritmatika
dengan operator aritmatika
membentuk
membentuk
operator penugasan
operator penugasan
gabungan
gabungan
(compound assignment)
(compound assignment)
43Operator Penugasan Gabungan
Operator Penugasan Gabungan
44
Operator Penggabungan
Operator Penggabungan
z
z
Operator
Operator
++
dapat digunakan untuk
dapat digunakan untuk
penggabungan
penggabungan
String dan String
String dan String
maupun
maupun
String dan Bilangan
String dan Bilangan
z
z
Contoh:
Contoh:
Contoh:
Contoh:
System.out.println(“Saya adalah” + “Mahasiswa”); System.out.println(“Saya adalah” + “Mahasiswa”); System.out.println(“Jumlah Mahasiswa” + 30); System.out.println(“Jumlah Mahasiswa” + 30);
45
Latihan: Tampilkan Nilai
Latihan: Tampilkan Nilai
gabung
gabung
Penggabungan.java
Penggabungan.java
String gabung;
String gabung;
46gabung = “2” + 5;
gabung = “2” + 5;
Penambahan dan Pengurangan
Penambahan dan Pengurangan
zz PenambahanPenambahan: menambahkan : menambahkan 1 1 ke nilai variabel ke nilai variabel
(operator =
(operator = ++++, prefix atau postfix), prefix atau postfix) int x=5; int x=5; y = ++x; y = ++x; (nilai saat ini
(nilai saat ini: : y = y = 66, x=, x=66)) int x=5;
int x=5; y = x++; y = x++;
(nilai saat ini : y = 5, x=6) (nilai saat ini : y = 5, x=6)
z
z PenguranganPengurangan: mengurangkan : mengurangkan 11ke nilai variabel ke nilai variabel
(operator = (operator = ----)) 47 int x=5; int x=5; y = y = ----x;x; (nilai saat ini
(nilai saat ini: : y = y = 44, x=, x=44)) int x=5;
int x=5; y = x y = x----;;
(nilai saat ini: y = 5, x=4) (nilai saat ini: y = 5, x=4)
Latihan: Tampilkan Nilai
Latihan: Tampilkan Nilai
x
x
,
,
yy
dan
dan
zz
Penambahan.java Penambahan.java int x, y, z; int x, y, z; x = 42; x = 42; Pengurangan.java Pengurangan.java int x, y, z; int x, y, z; x = 42; x = 42; y = x++; y = x++;
//tampilkan x, y saat ini //tampilkan x, y saat ini z = ++x;
z = ++x;
//tampilkan x, z saat ini //tampilkan x, z saat ini
48
y = x y = x----;;
//tampilkan x, y saat ini //tampilkan x, y saat ini z =
z = ----x;x;
//tampilkan x, z saat ini //tampilkan x, z saat ini
Latihan: Tampilkan Nilai
Latihan: Tampilkan Nilai
x
x
,
,
yy
,,
w
w
dan
dan
zz
Penambahan2.java
Penambahan2.java
int w, x, y, z;
int w, x, y, z;
Pengurangan2.java
Pengurangan2.java
int w,x, y, z;
int w,x, y, z;
x = 5; w =5 ;
x = 5; w =5 ;
y = 8
y = 8 -- x++;
x++;
z = 8
z = 8 -- ++w;
++w;
49x = 5; w =5 ;
x = 5; w =5 ;
y =
y = 8
8 –– xx--
--;;
z = 8
z = 8 -- --
--w;
w;
Operator Bit
Operator Bit
&
& operasi
operasi AND
AND untuk bit
untuk bit
| | operasi
operasi OR
OR untuk bit
untuk bit
^
^ operasi
operasi Ex OR
E
x OR untuk bit
untuk bit
NOT t k b t
NOT t k b t
~
~
operasi NOT untuk bit
operasi NOT untuk bit
<<
<<
geser kiri (geser 1 bit = *2)
geser kiri (geser 1 bit = *2)
>>
>> geser
geser kanan (geser 1 bit = /2)
kanan
(geser 1 bit = /2)
>>>
>>>
geser kanan tak bertanda
geser kanan tak bertanda
50
Latihan: Program Kali dan Bagi 2
Latihan: Program Kali dan Bagi 2
z
z
Buat program yang menghitung
Buat program yang menghitung
perkalian (*) dan pembagian (/)
perkalian (*) dan pembagian (/)
dengan bilangan dua (2) tanpa
dengan bilangan dua (2) tanpa
operator matematika
operator matematika
operator matematika
operator matematika
z zCatatan = x >> n = x/2
Catatan = x >> n = x/2
nn 51Operator Pembanding (Relasional)
Operator Pembanding (Relasional)
52
Operator pembanding atau relasional menggunakan ekspresi Operator pembanding atau relasional menggunakan ekspresi dengan nilai balik
dengan nilai balik BooleanBoolean(true or false)(true or false)
Latihan: Tampilkan
Latihan: Tampilkan hasilBanding1 dan 2hasilBanding1 dan 2
Pembanding.java
Pembanding.java
boolean
boolean hasilBanding1
hasilBanding1;;
boolean hasilBanding2;
boolean hasilBanding2;
53boolean hasilBanding2;
boolean hasilBanding2;
int
int age = 36;
age = 36;
hasilBanding1
hasilBanding1 = age < 25;
= age < 25;
hasilBanding2 = age != 26;
hasilBanding2 = age != 26;
Operator Logika
Operator Logika
&
&&
&
operasi logika
operasi logika AND
AND
| | ||
operasi logika
operasi logika OR
OR
!!
operasi logika NOT
operasi logika NOT
54
Operator logika menggunakan ekspresi dengan Operator logika menggunakan ekspresi dengan nilai balik
Operator Pengujian Objek
Operator Pengujian Objek
z
z
Operator
Operator
instanceof
instanceof
digunakan untuk
digunakan untuk
melakukan pengujian apakah suatu
melakukan pengujian apakah suatu
objek merupakan :
objek merupakan :
z
z instan dari suatu classinstan dari suatu class z
z instan dari suatu subclassinstan dari suatu subclass z
z instan dari suatu class yang merupakan instan dari suatu class yang merupakan
implementasi dari suatu interface implementasi dari suatu interface
55
InstanceofBeraksi.java
InstanceofBeraksi.java
class
class InstanceofBeraksiInstanceofBeraksi{{
public static void main(String[] args) { public static void main(String[] args) {
Parent obj1 = new Parent obj1 = new ParentParent();(); Parent obj2 = new Parent obj2 = new ChildChild();();
System.out.println("obj1 instanceof Parent: " + (obj1
System.out.println("obj1 instanceof Parent: " + (obj1 instanceofinstanceofParent));Parent)); System.out.println("obj1 instanceof Child: " + (obj1
System.out.println("obj1 instanceof Child: " + (obj1 instanceofinstanceofChild));Child));
System.out.println("obj1 instanceof MyInterface: " + (obj1
System.out.println("obj1 instanceof MyInterface: " + (obj1 instanceofinstanceofMyInterface));MyInterface));
56
y p ( j y ( j
y p ( j y ( j yy ))))
System.out.println("obj2 instanceof Parent: " + (obj2
System.out.println("obj2 instanceof Parent: " + (obj2 instanceofinstanceofParent));Parent)); System.out.println("obj2 instanceof Child: " + (obj2
System.out.println("obj2 instanceof Child: " + (obj2 instanceofinstanceofChild));Child));
System.out.println("obj2 instanceof MyInterface: " + (obj2
System.out.println("obj2 instanceof MyInterface: " + (obj2 instanceofinstanceofMyInterface));MyInterface));
}} }} class class ParentParent{}{} class
class ChildChildextends extends ParentParentimplements implements MyInterfaceMyInterface{}{} interface
interface MyInterfaceMyInterface{}{}
Daftar Lengkap Operator
Daftar Lengkap Operator
57
Urutan Eksekusi Operator
Urutan Eksekusi Operator
z
z Secara umum urutan eksekusi operator:Secara umum urutan eksekusi operator:
1.1. Operasi Penambahan dan PenguranganOperasi Penambahan dan Pengurangan 2.
2. Operasi AritmatikaOperasi Aritmatika 3.
3. Operasi PembandinganOperasi Pembandingan
k k
4.
4. Operasi LogikaOperasi Logika 5.
5. Operasi PenugasanOperasi Penugasan
z
zApabila urutan sama, Apabila urutan sama, sebelah kiri dieksekusi sebelah kiri dieksekusi
terlebih dahulu
terlebih dahuludaripada sebelah kanan. daripada sebelah kanan. Khusus untuk operator
Khusus untuk operator = = dan dan +=+= sebelah sebelah kanan dieksekusi terlebih dahulu
kanan dieksekusi terlebih dahulu
58
Urutan Eksekusi Operator
Urutan Eksekusi Operator
59
Operasi I/O Stream
Operasi I/O Stream
Sederhana
Sederhana
Stream Standard
Stream Standard
1.1.
System.in
System.in
: menangani pembacaan dari
: menangani pembacaan dari
keyboard (standard input)
keyboard (standard input)
2.
2.
System.out
System.out
: mengirimkan keluaran ke
: mengirimkan keluaran ke
layar (standard output)
layar (standard output)
layar (standard output)
layar (standard output)
3.
3.
System.err
System.err
: mengirimkan kesalahan
: mengirimkan kesalahan
(standard error)
(standard error)
61
Membaca Input dari Keyboard
Membaca Input dari Keyboard
zz Perintah sederhana untuk memasukkan data Perintah sederhana untuk memasukkan data
dari keyboard adalah
dari keyboard adalah membaca sebagai karaktermembaca sebagai karakter
z
z Penggunaannya memerlukan blok Penggunaannya memerlukan blok trytry--catch catch
(akan dibahas pada bagian eksepsi) (akan dibahas pada bagian eksepsi)
z z Contoh:Contoh: z z Contoh:Contoh: char karakter; char karakter; karakter =
karakter = System.in.read()System.in.read();;
z
z Untuk mudahnya, gunakan class Untuk mudahnya, gunakan class
InputKeyboard.java
InputKeyboard.javauntuk menerima masukkan untuk menerima masukkan data dari keyboard
data dari keyboard
62
InputKeyboard.java
InputKeyboard.java
import java.io.*; import java.io.*; public classpublic class InputKeyboardInputKeyboard{{ public
public staticstaticString String inputStringinputString(){(){
int karakter; String str ="“; boolean selesai = false; int karakter; String str ="“; boolean selesai = false; while(!selesai){
while(!selesai){
try try{{
karakter =
karakter = System.in.read()System.in.read();; if(karakter < 0 || (char) karakter == '
if(karakter < 0 || (char) karakter == '\\n') selesai = truen') selesai = true
63
if(karakter < 0 || (char) karakter ==
if(karakter < 0 || (char) karakter == \\n ) selesai = true;n ) selesai = true; else if ((char) karakter != '
else if ((char) karakter != '\\r') str = str + (char) karakter;r') str = str + (char) karakter; }}catchcatch(java.io.IOException e){(java.io.IOException e){
System.err.println("Ada kesalahan"); System.err.println("Ada kesalahan"); selesai = true; selesai = true; }} }} return str; return str; }} }}
SalamKenal.java
SalamKenal.java
import java.io.*; import java.io.*; public class SalamKenal{ public class SalamKenal{public static void main( String[] args ){ public static void main( String[] args ){
System.out.print("Masukkan Nama Anda: "); System.out.print("Masukkan Nama Anda: ");
64
String name =
String name = InputKeyboard.inputString()InputKeyboard.inputString();;
System.out.println("Halo, Salam Kenal " + name +"!"); System.out.println("Halo, Salam Kenal " + name +"!"); }}
}}
Konversi String ke Tipe Lain
Konversi String ke Tipe Lain
zz Method Method inputString() inputString() pada class InputKeyboard pada class InputKeyboard
memiliki
memiliki nilai balik bertipe Stringnilai balik bertipe String
z
z Tipe String bisa kita konversi ke tipe lain (int, Tipe String bisa kita konversi ke tipe lain (int,
float, atau double) dengan menggunakan float, atau double) dengan menggunakan method
method valueOf() valueOf() yang ada di class Integer yang ada di class Integer method
method valueOf() valueOf() yang ada di class Integer, yang ada di class Integer, Float dan Double:
Float dan Double:
z
z Integer.valueOf(Integer.valueOf(nilaiStringnilaiString).intValue()).intValue() z
z Float.valueOf(Float.valueOf(nilaiStringnilaiString).floatValue()).floatValue() z
z Double.valueOf(Double.valueOf(nilaiStringnilaiString).doubleValue()).doubleValue()
65
KonversiData.java
KonversiData.java
public class KonversiData{ public class KonversiData{
public static void main(String[] args){ public static void main(String[] args){
String
String dataStringdataString;;
System.out.println("Masukkan sebuah bilangan bulat:" ); System.out.println("Masukkan sebuah bilangan bulat:" );
dataString
dataString= = InputKeyboard.inputStringInputKeyboard.inputString();(); int
int dataBulatdataBulat= Integer.valueOf(= Integer.valueOf(dataStringdataString).intValue();).intValue();
66
System.out.println("Masukkan sebuah bilangan pecahan:" ); System.out.println("Masukkan sebuah bilangan pecahan:" );
dataString
dataString= = InputKeyboard.inputStringInputKeyboard.inputString();(); double
double dataPecahandataPecahan= Double.valueOf(= Double.valueOf(dataStringdataString).doubleValue();).doubleValue(); System.out.println("Bilangan Bulat:" +
System.out.println("Bilangan Bulat:" + dataBulatdataBulat);); System.out.println("Bilangan Pecahan:" +
System.out.println("Bilangan Pecahan:" + dataPecahandataPecahan);); }}
LuasSegitiga.java
LuasSegitiga.java
public class LuasSegitiga { public class LuasSegitiga {
public static void main(String[] args) { public static void main(String[] args) {
int panjang = 17; int panjang = 17; int tinggi = 11; int tinggi = 11; double luas; double luas; 67 luas = (
luas = ((double)(double)(panjang*tinggi))/2;(panjang*tinggi))/2; System.out.println("Luas Segitiga : " + luas); System.out.println("Luas Segitiga : " + luas); }}
}}
Latihan
Latihan
1.1.
Ubah class LuasSegitiga dengan nilai
Ubah class LuasSegitiga dengan nilai
panjang dan tinggi dimasukkan oleh
panjang dan tinggi dimasukkan oleh
user lewat prompt
user lewat prompt
68
Pernyataan Penentu
Pernyataan Penentu
Keputusan
Keputusan
69Pernyataan Penentu Keputusan
Pernyataan Penentu Keputusan
1.1.ifif, , ifif--else
else, if
, if--else if
else if –– else
else
2. 2.
switch
switch
70if
if
zzififadalah pernyataan kondisi yang digunakan adalah pernyataan kondisi yang digunakan untuk pengambilan keputusan terhadap dua untuk pengambilan keputusan terhadap dua buah kemungkinan
buah kemungkinan z
zififbisa berdiri sendiri atau dengan bisa berdiri sendiri atau dengan menggunakan
menggunakan elseelse menggunakan menggunakan elseelse
z
zBentuk:Bentuk: if(kondisi){ if(kondisi){
// blok pernyataan yang dijalankan, bila kondisi benar // blok pernyataan yang dijalankan, bila kondisi benar
}}
71
PernyataanIF.java
PernyataanIF.java
public class PernyataanIF{ public class PernyataanIF{
public static void main(String[] args){ public static void main(String[] args){ int diskon =0, totalBelanja = 500000; int diskon =0, totalBelanja = 500000; if(totalBelanja >= 100000){ if(totalBelanja >= 100000){ d k l l d k l l 72 diskon = totalBelanja/10; diskon = totalBelanja/10; }} System.out.println("Diskon = " + diskon); System.out.println("Diskon = " + diskon); }} }}
Latihan
Latihan
zz
Kembangkan class
Kembangkan class
PernyataanIF
PernyataanIF
supaya bisa menerima masukan
supaya bisa menerima masukan
(input) data langsung dari user
(input) data langsung dari user
73
if
if--else
else
zz ifif--elseelsemengatur pernyataan yang dijalankan mengatur pernyataan yang dijalankan
sewaktu kondisi bernilai benar atau salah sewaktu kondisi bernilai benar atau salah
z z Bentuk:Bentuk: if(kondisi){ if(kondisi){ // bl k t d l k b l k d b // bl k t d l k b l k d b
// blok pernyataan yang dijalankan, bila kondisi benar // blok pernyataan yang dijalankan, bila kondisi benar
} else{ } else{
// blok pernyataan yang dijalankan, bila kondisi salah // blok pernyataan yang dijalankan, bila kondisi salah
}}
74
PernyataanIFELSE.java
PernyataanIFELSE.java
public class PernyataanIFELSE{ public class PernyataanIFELSE{
public static void main(String[] args){ public static void main(String[] args){ int diskon =0, totalBelanja = 500000; int diskon =0, totalBelanja = 500000; if(totalBelanja >= 100000){ if(totalBelanja >= 100000){ d k l l d k l l 75 diskon = totalBelanja/10; diskon = totalBelanja/10; } else{ } else{ diskon = 0; diskon = 0; } } System.out.println("Diskon = " + diskon); System.out.println("Diskon = " + diskon); }} }}
if Bersarang
if Bersarang
zz if bersarang if bersarang mengatur pernyataan yang mengatur pernyataan yang
dijalankan sewaktu kondisi berupa pilihan dijalankan sewaktu kondisi berupa pilihan
z
z Bentuk:Bentuk:
if(kondisiA){ if(kondisiA){
// pernyataan yang dijalankan, bila kondisiA benar // pernyataan yang dijalankan, bila kondisiA benarpp yy y g d jy g d j ,, dd }else if(kondisiB){
}else if(kondisiB){
// pernyataan yang dijalankan, bila kondisiB benar // pernyataan yang dijalankan, bila kondisiB benar }else if(kondisiC){
}else if(kondisiC){
// pernyataan yang dijalankan, bila kondisiC benar // pernyataan yang dijalankan, bila kondisiC benar }else{
}else{
// pernyataan yang dijalankan untuk kondisi selain itu // pernyataan yang dijalankan untuk kondisi selain itu }}
76
PernyataanIFBersarang.java
PernyataanIFBersarang.java
public class PernyataanIFBersarang { public class PernyataanIFBersarang {
public static void main(String[] args) { public static void main(String[] args) {
int skorUjian= 86; char nilai; int skorUjian= 86; char nilai; if (skorUjian >= 90) { if (skorUjian >= 90) { nilai = 'A'; nilai = 'A'; } else if (skorUjian >= 80) { } else if (skorUjian >= 80) { nilai = 'B'; nilai = 'B'; 77 nilai B ; nilai B ; } else if (skorUjian >= 70) { } else if (skorUjian >= 70) { nilai = 'C'; nilai = 'C'; } else { } else { nilai = 'D'; nilai = 'D'; }} System.out.println("Nilai = " + nilai); System.out.println("Nilai = " + nilai); }} }}
Latihan
Latihan
zz
Kembangkan class
Kembangkan class
PernyataanIFBersarang
PernyataanIFBersarang
supaya bisa
supaya bisa
menerima masukan (input) data
menerima masukan (input) data
langsung dari user
langsung dari user
langsung dari user
langsung dari user
Operator Ternary (Kondisi)
Operator Ternary (Kondisi)
z
z
Pernyataan kondisi yang menggunakan
Pernyataan kondisi yang menggunakan
operator ternary
operator ternary
(melibatkan tiga buah
(melibatkan tiga buah
operand)
operand)
zz
Bentuk:
Bentuk:
ekspresi_kondisi ? nilai_1 : nilai_2
ekspresi_kondisi ? nilai_1 : nilai_2
79
OperatorTernary.java
OperatorTernary.java
public class OperatorTernary{ public class OperatorTernary{
public static void main(String[] args){ public static void main(String[] args){
int totalBelanja = 500000; int totalBelanja = 500000;
d k l l
d k l l
80
int diskon = totalBelanja >= 100000 ? int diskon = totalBelanja >= 100000 ? totalBelanja/10 : 0; totalBelanja/10 : 0; System.out.println("Diskon = " + diskon); System.out.println("Diskon = " + diskon); }} }}
switch
switch
zz Pernyataan switch memungkinkan melakukan Pernyataan switch memungkinkan melakukan
tindakan berbeda terhadap sejumlah tindakan berbeda terhadap sejumlah kemungkinan nilai kemungkinan nilai z z Bentuk:Bentuk: switch(ekspresi){ switch(ekspresi){ case nilaiSatu: case nilaiSatu: case nilaiSatu: case nilaiSatu: Pernyataan 1 Pernyataan 1 break; break; case nilaiDua: case nilaiDua: Pernyataan2 Pernyataan2 break; break; ... ... default:
default: PernyataanNPernyataanN;; }}
81
PernyataanSWITCH1.java
PernyataanSWITCH1.java
public class PernyataanSWITCH1{ public class PernyataanSWITCH1{
public static void main(String[] args){ public static void main(String[] args){
int pilihan = 3; int pilihan = 3; switch(pilihan){ switch(pilihan){ case 1: case 1: System.out.println("Soto Ayam"); System.out.println("Soto Ayam"); break; break; case 2: case 2: 82 case 2: case 2: System.out.println("Gule Kambing"); System.out.println("Gule Kambing"); break; break; case 3: case 3: System.out.println("Nasi Goreng"); System.out.println("Nasi Goreng"); break; break; default: default:
System.out.println("Silakan Pilih 1, 2 atau 3"); System.out.println("Silakan Pilih 1, 2 atau 3"); }} }} }}
Latihan
Latihan
zz
Kembangkan class
Kembangkan class
PernyataanSWITCH1
PernyataanSWITCH1
supaya bisa
supaya bisa
menerima masukan (input) data
menerima masukan (input) data
langsung dari user lewat prompt
langsung dari user lewat prompt
langsung dari user lewat prompt
langsung dari user lewat prompt
z
z
Tampilan awal:
Tampilan awal:
1. Soto Ayam 2. Gule Kambing 3. Nasi Goreng 1. Soto Ayam 2. Gule Kambing 3. Nasi Goreng Pilih menu apa? 1
Pilih menu apa? 1
Menu yang anda pilih adalah Soto Ayam Menu yang anda pilih adalah Soto Ayam
83
PernyataanSWITCH2.java
PernyataanSWITCH2.java
public class PernyataanSWITCH2{ public class PernyataanSWITCH2{
public static void main(String[] args){ public static void main(String[] args){
int pilihan = 3; int pilihan = 3; switch(pilihan){ switch(pilihan){ case 1: case 1: case 2: case 2: case 3: case 3: case 4: case 4: 84 case 5: case 5: System.out.println("Hari Kerja"); System.out.println("Hari Kerja"); break; break; case 6: case 6: case 7: case 7: System.out.println("Hari Libur"); System.out.println("Hari Libur"); break; break; default: default:
System.out.println("Silakan Pilih Hari"); System.out.println("Silakan Pilih Hari"); }}}
Latihan: Menentukan Jumlah Hari
Latihan: Menentukan Jumlah Hari
zzBuat program (dengan pernyataan SWITCH) Buat program (dengan pernyataan SWITCH) untuk menghitung berapa jumlah hari pada untuk menghitung berapa jumlah hari pada suatu bulan dan tahun yang ditunjuk suatu bulan dan tahun yang ditunjuk z
zBulan dan tahun yang ditunjuk adalah bulan Bulan dan tahun yang ditunjuk adalah bulan
P b i t h 2000
P b i t h 2000
Pebruari tahun 2000 Pebruari tahun 2000 z
zTampilkan hasilnya dengan:Tampilkan hasilnya dengan:
Jumlah hari pada bulan Pebruari 2000 Jumlah hari pada bulan Pebruari 2000 adalah: .... hari adalah: .... hari 85
Pernyataan
Pernyataan
Pengulangan Proses
Pengulangan Proses
86Pernyataan Pengulangan Proses
Pernyataan Pengulangan Proses
zz
Pernyataan Pengulangan Proses (Loop)
Pernyataan Pengulangan Proses (Loop)
z zforfor z zwhilewhile z zdodo--whilewhile zz
Pernyataan Pemindah Proses (Jump)
Pernyataan Pemindah Proses (Jump)
z zbreakbreak z zcontinuecontinue z zreturnreturn 87for
for
zz
for sering disebut
for sering disebut
for loop
for loop
, karena
, karena
digunakan untuk proses looping atau
digunakan untuk proses looping atau
pengulangan
pengulangan
zz
Bentuk:
Bentuk:
Bentuk:
Bentuk:
for (for (inisialisasiinisialisasi; ; kondisikondisi; ; penaikan_penurunanpenaikan_penurunan) {) { pernyataan pernyataan } } 88
PernyataanFOR.java
PernyataanFOR.java
public class PernyataanFOR { public class PernyataanFOR {
public static void main(String[] args){ public static void main(String[] args){
for(int i=1; i<11; i++){ for(int i=1; i<11; i++){
System.out.println(i); System.out.println(i); 89 }} }} }}
PernyataanFOREnhanced.java
PernyataanFOREnhanced.java
class PernyataanFOREnhanced { class PernyataanFOREnhanced {public static void main(String[] args){ public static void main(String[] args){
int[] numbers = {1,2,3,4,5,6,7,8,9,10}; int[] numbers = {1,2,3,4,5,6,7,8,9,10}; for (int i : numbers) {
for (int i : numbers) {
90 System.out.println(i); System.out.println(i); }} }} }}
while
while
zzwhile digunakan untuk melakukan proses while digunakan untuk melakukan proses pengulangan suatu blok pernyataan selama pengulangan suatu blok pernyataan selama kondisinya bernilai true
kondisinya bernilai true z
zKetika kondisi salah, pernyataan dalam blok Ketika kondisi salah, pernyataan dalam blok bi j tid k dij l k k li
bi j tid k dij l k k li bisa saja tidak dijalankan sama sekali bisa saja tidak dijalankan sama sekali z zBentuk:Bentuk: while (kondisi) { while (kondisi) { pernyataan pernyataan } } 91
PernyataanWHILE.java
PernyataanWHILE.java
class PernyataanWHILE { class PernyataanWHILE {public static void main(String[] args){ public static void main(String[] args){
int i = 1; int i = 1; while (i < 11) { while (i < 11) { ll 92 System.out.println(i); System.out.println(i); i++; i++; }} }} }}
Latihan: Tampilkan Bilangan Genap
Latihan: Tampilkan Bilangan Genap
1.1.
Tampilkan bilangan genap antara 1
Tampilkan bilangan genap antara 1
sampai 20 dengan menggunakan
sampai 20 dengan menggunakan
pernyataan
pernyataan
FOR
FOR
2.2.
Tampilkan bilangan genap antara 1
Tampilkan bilangan genap antara 1
2.2.
Tampilkan bilangan genap antara
Tampilkan bilangan genap antara
sampai 20 dengan menggunakan
sampai 20 dengan menggunakan
pernyataan
pernyataan
WHILE
WHILE
93
do...while
do...while
zzdo ... while digunakan untuk melakukan do ... while digunakan untuk melakukan proses pengulangan suatu blok pernyataan proses pengulangan suatu blok pernyataan selama kondisinya bernilai true
selama kondisinya bernilai true z
zPernyataan dalam blok paling tidak Pernyataan dalam blok paling tidak di k k i t k li
di k k i t k li dieksekusi satu kali dieksekusi satu kali z zBentuk:Bentuk: do { do { pernyataan pernyataan } while (kondisi); } while (kondisi); 94
PernyataanDOWHILE.java
PernyataanDOWHILE.java
class PernyataanDOWHILE { class PernyataanDOWHILE {public static void main(String[] args){ public static void main(String[] args){
int i = 1; int i = 1; do { do { ll 95 System.out.println(i); System.out.println(i); i++; i++; } while (i <= 10); } while (i <= 10); }} }}
break
break
zz
Penyataan break digunakan untuk
Penyataan break digunakan untuk
keluar dari suatu pengulangan (loop)
keluar dari suatu pengulangan (loop)
zz
Penggunaan break bisa berbentuk
Penggunaan break bisa berbentuk
tanpa
tanpa
label
label
atau
atau
berlabel
berlabel
label
label
atau
atau
berlabel
berlabel
PernyataanBREAK.java
PernyataanBREAK.java
public class PernyataanBREAK { public class PernyataanBREAK {
public static void main(String[] args){ public static void main(String[] args){
for(int i=1; i<11; i++){ for(int i=1; i<11; i++){
if(i==5) break; if(i==5) break; 97 System.out.println(i); System.out.println(i); }} }} }}
PernyataanBREAKLABEL.java
PernyataanBREAKLABEL.java
public class PernyataanBREAK { public class PernyataanBREAK {
public static void main(String[] args){ public static void main(String[] args){
selesai: selesai:
for(int i=1; i<11; i++){ for(int i=1; i<11; i++){
98
if(i==5) break selesai; if(i==5) break selesai; System.out.println(i); System.out.println(i); }} }} }}
continue
continue
zz
Penyataan continue digunakan untuk
Penyataan continue digunakan untuk
melanjutkan eksekusi
melanjutkan eksekusi
ke suatu
ke suatu
pengulangan (loop)
pengulangan (loop)
zz
Penggunaan continue bisa berbentuk
Penggunaan continue bisa berbentuk
Penggunaan continue bisa berbentuk
Penggunaan continue bisa berbentuk
tanpa label
tanpa label
atau
atau
berlabel
berlabel
99
PernyataanCONTINUE.java
PernyataanCONTINUE.java
class PernyataanCONTINUE { class PernyataanCONTINUE {
public static void main(String[] args){ public static void main(String[] args){
int i = 1; int i = 1; while (i < 11) { while (i < 11) { if(i == 5){ if(i == 5){ i++; i++; 100 i++; i++; continue; continue; }} System.out.println(i); System.out.println(i); i++; i++; }} }} }}
return
return
zz Pernyataan return digunakan untuk Pernyataan return digunakan untuk keluar dari keluar dari
method
method, serta memiliki dua bentuk:, serta memiliki dua bentuk:
1.1. mengembalikan nilai mengembalikan nilai (sesuai dengan tipe data)(sesuai dengan tipe data) 2.
2. tidak mengembalikan nilai tidak mengembalikan nilai (untuk void)(untuk void)
z
z Contoh:Contoh:
k l )
k l )
int perkalian(int x, int y){ int perkalian(int x, int y){
return x * y; return x * y; }}
void perkalian(int x, int y){ void perkalian(int x, int y){
hasilKali = x * y; hasilKali = x * y; return; return; }} 101
Latihan: Modifikasi Matematika.java Latihan: Modifikasi Matematika.java
z
z Modifikasi program Matematika.java yang Modifikasi program Matematika.java yang
sebelumnya sudah kita buat dengan sebelumnya sudah kita buat dengan
menggunakan tipe data int atau float untuk menggunakan tipe data int atau float untuk method (bukan void)
method (bukan void)
z
z Gunakan return untuk setiap fungsi Gunakan return untuk setiap fungsi
( t b h b d
( t b h b d
(pertambahan, pengurangan, pembagian dan (pertambahan, pengurangan, pembagian dan perkalian)
perkalian)
z
z Input data adalah lewat prompt dan bukan Input data adalah lewat prompt dan bukan
ditentukan di code ditentukan di code
z
z Buat menu pilihan untuk fitur pertambahan, Buat menu pilihan untuk fitur pertambahan,
pengurangan, pembagian atau perkalian pengurangan, pembagian atau perkalian
Referensi
Referensi --1
1--z
zSharon Zakhour et al, Sharon Zakhour et al, The Java Tutorial The Java Tutorial
Fourth Edition Fourth Edition, ,
http://java.sun.com/docs/books/tutorial http://java.sun.com/docs/books/tutorial z
zDeitel & Deitel, Deitel & Deitel, Java How to ProgramJava How to Program Sixth Sixth
Edition
Edition Prentice Hall 2004 Prentice Hall 2004 Edition
Edition, Prentice Hall, 2004, Prentice Hall, 2004 z
zKathy Sierra & Bert Bates, Kathy Sierra & Bert Bates, Head First Java Head First Java
2nd Edition
2nd Edition, O’Reilly, 2005, O’Reilly, 2005 z
zRogers Cadenhead & Laura Lemay, Rogers Cadenhead & Laura Lemay, Teach Teach
Yourself Java 6 in 21 Days
Yourself Java 6 in 21 Days, Sams Publishing, , Sams Publishing, 2007 2007 103
Referensi
Referensi --2
2--z
zTim Pengembang JENI, Tim Pengembang JENI, JENI 1JENI 1--66, , Depdiknas, 2007
Depdiknas, 2007 z
zAbdul Kadir, Abdul Kadir, Dasar Pemrograman Java 2Dasar Pemrograman Java 2, , Penerbit Andi, 2004
Penerbit Andi, 2004 Indrajani dan Martin
Indrajani dan Martin P mr graman B rbasis P mr graman B rbasis
z
zIndrajani dan Martin, Indrajani dan Martin, Pemrograman Berbasis Pemrograman Berbasis
Objek dengan Java
Objek dengan Java, Elex Media Komputindo, , Elex Media Komputindo, 2007
2007