17
Object-Oriented Programming [email protected] http://romisatriawahono.net Java Fundamentals Java Fundamentals 1 Romi Romi Satria Satria Wahono Wahono [email protected] [email protected] http://romisatriawahono.net http://romisatriawahono.net YM: YM: romi_sw romi_sw z SD Sompok Semarang (1987) SD Sompok Semarang (1987) z SMPN 8 Semarang (1990) SMPN 8 Semarang (1990) z SMA Taruna Nusantara, Magelang (1993) SMA Taruna Nusantara, Magelang (1993) z S1, S2 dan S3 (on S1, S2 dan S3 (on- -leave) dari leave) dari Department Department of of Computer Sciences Computer Sciences Saitama University Saitama University Japan (1994 Japan (1994 Romi Satria Wahono Romi Satria Wahono 2 Computer Sciences, Computer Sciences, Saitama University Saitama University, Japan (1994 , Japan (1994- - 2004) 2004) z Core Competence: Core Competence: Software Software Engineering Engineering, eLearning , eLearning System, Knowledge Management System, Knowledge Management z Peneliti Peneliti di di Lembaga Lembaga Ilmu Ilmu Pengetahuan Pengetahuan Indonesia Indonesia z Founder Founder dan dan Koordinator Koordinator IlmuKomputer.Com IlmuKomputer.Com Materi Diskusi Materi Diskusi 1. 1. Pernyataan dan Ekspresi Pernyataan dan Ekspresi 2. 2. Variabel, Tipe Data dan Literal Variabel, Tipe Data dan Literal 3. 3. Array Array 4. 4. Operator Operator h h 3 5. 5. Operasi I/O Stream Sederhana Operasi I/O Stream Sederhana 6. 6. Pernyataan Penentu Keputusan Pernyataan Penentu Keputusan 7. 7. Pernyataan Pengulangan Proses Pernyataan Pengulangan Proses eLearning Course: eLearning Course: http://university.romisatriawahono.net http://university.romisatriawahono.net Enrolment Key: Enrolment Key: oop oop Pernyataan dan Pernyataan dan Ekspresi Ekspresi 4 Pernyataan Pernyataan z Perintah 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 d l h k k S d l h k k z Setiap pernyataan ditutup oleh karakter Setiap pernyataan ditutup oleh karakter semicolon ( semicolon (; ;) ) z Pernyataan dikelompokkan dengan tanda Pernyataan dikelompokkan dengan tanda pembuka ( pembuka ({ {) dan penutup ( ) dan penutup (} }). Kelompok ini ). Kelompok ini disebut disebut blok blok atau atau blok pernyataan blok pernyataan 5 Ekspresi Ekspresi z Pernyataan 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 Nilai balik bisa berupa Nilai balik bisa berupa bilangan bilangan boolean boolean z Nilai balik bisa berupa Nilai balik bisa berupa bilangan bilangan, , boolean boolean, , atau atau objek objek z Method tanpa nilai balik biasanya Method tanpa nilai balik biasanya menggunakan keyword menggunakan keyword void void z Contoh: Contoh: hasilBagi = a / b; hasilBagi = a / b; 6

Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

  • Upload
    letuyen

  • View
    229

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

Java FundamentalsJava Fundamentals

1

RomiRomi SatriaSatria [email protected]@romisatriawahono.nethttp://romisatriawahono.nethttp://romisatriawahono.net

YM: YM: romi_swromi_sw

SD Sompok Semarang (1987)SD Sompok Semarang (1987)SMPN 8 Semarang (1990)SMPN 8 Semarang (1990)SMA Taruna Nusantara, Magelang (1993)SMA Taruna Nusantara, Magelang (1993)S1, S2 dan S3 (onS1, S2 dan S3 (on--leave) dari leave) dari Department Department of of Computer Sciences Computer Sciences Saitama UniversitySaitama University Japan (1994 Japan (1994

Romi Satria WahonoRomi Satria Wahono

2

Computer Sciences, Computer Sciences, Saitama UniversitySaitama University, Japan (1994, Japan (1994--2004)2004)Core Competence: Core Competence: Software Software EngineeringEngineering, eLearning , eLearning System, Knowledge ManagementSystem, Knowledge ManagementPenelitiPeneliti didi LembagaLembaga IlmuIlmu PengetahuanPengetahuan IndonesiaIndonesiaFounder Founder dandan KoordinatorKoordinator IlmuKomputer.ComIlmuKomputer.Com

Materi DiskusiMateri Diskusi1.1. Pernyataan dan EkspresiPernyataan dan Ekspresi2.2. Variabel, Tipe Data dan LiteralVariabel, Tipe Data dan Literal3.3. ArrayArray4.4. OperatorOperator

hh

3

5.5. Operasi I/O Stream SederhanaOperasi I/O Stream Sederhana6.6. Pernyataan Penentu KeputusanPernyataan Penentu Keputusan7.7. Pernyataan Pengulangan ProsesPernyataan Pengulangan Proses

eLearning Course: eLearning Course: http://university.romisatriawahono.nethttp://university.romisatriawahono.netEnrolment Key: Enrolment Key: oopoop

Pernyataan dan Pernyataan dan EkspresiEkspresi

4

PernyataanPernyataan

Perintah yang Perintah yang menyebabkan sesuatu terjadi menyebabkan sesuatu terjadi dan merepresentasikan dan merepresentasikan aksi tunggal aksi tunggal dalam dalam program Javaprogram JavaContoh: Contoh: int tahunProduksi;int tahunProduksi;S d l h k k S d l h k k Setiap pernyataan ditutup oleh karakter Setiap pernyataan ditutup oleh karakter semicolon (semicolon (;;) ) Pernyataan dikelompokkan dengan tanda Pernyataan dikelompokkan dengan tanda pembuka (pembuka ({{) dan penutup () dan penutup (}}). Kelompok ini ). Kelompok ini disebut disebut blokblok atau atau blok pernyataanblok pernyataan

5

EkspresiEkspresi

Pernyataan yang dapat Pernyataan yang dapat menghasilkan suatu menghasilkan suatu nilainilai. 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)Nilai balik bisa berupa Nilai balik bisa berupa bilanganbilangan booleanboolean Nilai balik bisa berupa Nilai balik bisa berupa bilanganbilangan, , booleanboolean, , atau atau objek objek Method tanpa nilai balik biasanya Method tanpa nilai balik biasanya menggunakan keyword menggunakan keyword voidvoidContoh:Contoh:hasilBagi = a / b;hasilBagi = a / b;

6

Page 2: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

Kata KunciKata Kunciabstractabstractcontinuecontinueforfornewnewswitchswitchassertassert

privateprivatethisthisbreakbreakdoubledoubleimplementsimplementsprotectedprotected

casecaseenumenuminstanceofinstanceofreturnreturntransienttransientcatchcatch

interfaceinterfacestaticstaticvoidvoidclassclassfinallyfinallylonglongassertassert

defaultdefaultpackagepackagesynchronizedsynchronizedbooleanbooleandodoifif

7

protectedprotectedthrowthrowbytebyteelseelseimportimportppublicublicthrowsthrows

catchcatchextendsextendsintintshortshorttrytrycharcharfinalfinal

longlongstrictfpstrictfpvolatilevolatilefloatfloatnativenativesupersuperwhilewhile

Variabel, Tipe Data, Variabel, Tipe Data, dan Literaldan Literal

8

VariabelVariabel

LokasiLokasi di dalam memori komputer yang di dalam memori komputer yang digunakan untuk digunakan untuk menyimpan suatu informasi menyimpan suatu informasi (nilai)(nilai)Nilai variabel Nilai variabel dapat diubah dapat diubah di pernyataan di pernyataan manapun di dalam programmanapun di dalam programp p gp p gMendeklarasikan variabel:Mendeklarasikan variabel:tipe namaVariabel1 [, namaVariabel2]tipe namaVariabel1 [, namaVariabel2]Contoh:Contoh:int hasilKali;int hasilKali;String namaSiswa, namaGuru, namaAdmin;String namaSiswa, namaGuru, namaAdmin;

9

Lingkup VariabelLingkup VariabelVariabel dipanggil berdasarkan Variabel dipanggil berdasarkan lingkupnyalingkupnya, dimulai , dimulai dari blok yang paling kecil, kemudian blok di luar itudari blok yang paling kecil, kemudian blok di luar itu

1.1. Instance variableInstance variable adalah variabel yang memiliki adalah variabel yang memiliki nilai nilai yang berbeda di setiap objekyang berbeda di setiap objek

2.2. Class variableClass variable adalah variabel yang adalah variabel yang berlaku di suatu berlaku di suatu a a aa a a ada a a a ya gada a a a ya g a d aa d aclass dan seluruh instanclass dan seluruh instan dari 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 pernyataanpernyataan yang lebih kecil dari ituyang lebih kecil dari itu

4.4. ParameterParameter adalah variabel yg ada di dalam pernyataan adalah variabel yg ada di dalam pernyataan (argument) method(argument) method

10

ClassVariabel.javaClassVariabel.javaclass Bilangan {class Bilangan {

staticstatic int 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();

11

}}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("");

}}}}

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 VariabelMemberi Nilai Variabel

Menggunakan tanda sama dengan (Menggunakan tanda sama dengan (==))Kebiasaan yang baik untuk Kebiasaan yang baik untuk memberi nilai awal memberi nilai awal (initial value) pada local variabel (mencegah (initial value) pada local variabel (mencegah bug pada program)bug pada program)C t hC t hContoh:Contoh:int hasilTambah = int hasilTambah = 00;;boolean status = boolean status = falsefalse;;

12

Page 3: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

Memberi Nama VariabelMemberi Nama Variabel

Gunakan Gunakan lowercaselowercase untuk variabel yang terdiri untuk variabel yang terdiri dari dari satu kata satu kata atau atau kata pertamakata pertamaGunakan Gunakan kapitalkapital untuk untuk karakter pertama karakter pertama dari dari kata kedua, ketiga, dstkata kedua, ketiga, dstC t hC t hContoh:Contoh:int int hasilhasil;;boolean boolean statusMesinMobilstatusMesinMobil;;Button Button openFileopenFile;;

13

Penentu AksesPenentu Akses

PrivatePrivate: 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)Tanpa 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 paketPublicPublic: pengaksesan suatu instance variable : pengaksesan suatu instance variable dan method dapat dilakukan dari dan method dapat dilakukan dari luar luar (sembarang) kelas(sembarang) kelas

14

Class Access Level Class Access Level

SpecifierSpecifier ClassClass PackagePackage SubClassSubClass WorldWorld

privateprivate

15

no specifierno specifier

protectedprotected

publicpublic

Tipe Data PrimitifTipe Data Primitif

1.1. bytebyte2.2. shortshort3.3. intint44 longlong

Catatan:Catatan:•• Secara umum jenis tipe data: Secara umum jenis tipe data:

bilangan bulat bilangan bulat , , pecahanpecahan, , 4.4. longlong5.5. floatfloat6.6. doubledouble7.7. charchar8.8. booleanboolean

16

gg ppkarakterkarakter dan dan booleanboolean

•• Hasil operasi matematika akan Hasil operasi matematika akan mengikuti tipe data dari mengikuti tipe data dari operandoperand

Tipe Data Primitif Keterangan Ukuran Jangkauan

bytebyte Bilangan bulatBilangan bulat 8 bit8 bit --128 128 127127

shortshort Bilangan bulatBilangan bulat 16 bit16 bit --32.768 32.768 32.76732.767

intint Bilangan bulatBilangan bulat 32 bit32 bit --2.147.483.648 2.147.483.648 2.147.483.6472.147.483.647

ll Bil b l tBil b l t 64 bit64 bit --9.223.372.036.854.775,808 9.223.372.036.854.775,808

17

longlong 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

floatfloat Bilangan pecahanBilangan pecahan 32 bit (presisi 32 bit (presisi 66--7 bit)7 bit) --3.4E38 3.4E38 3.4E383.4E38

doubledouble Bilangan pecahanBilangan pecahan 64 bit (presisi 64 bit (presisi 1414--15 bit)15 bit) --1.7E308 1.7E308 1.7E3081.7E308

charchar Karakter (unicode)Karakter (unicode) 16 bit16 bit \u0000 \uffff

booleanboolean Logika (true/false)Logika (true/false)

Karakter.javaKarakter.javapublic 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 )

18

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);

}}}}

Page 4: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

Constant Variable (Konstanta)Constant Variable (Konstanta)

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)Constant variable menggunakan keyword Constant variable menggunakan keyword finalfinaldi 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 kapitalkapitalContoh:Contoh:finalfinal float float PIPI = 3.141592;= 3.141592;static finalstatic final boolean boolean DEBUGDEBUG = false;= false;

19

LiteralLiteralSemua informasi (bilangan, karakter, string, Semua informasi (bilangan, karakter, string, boolean ) yang boolean ) yang merepresentasikan suatu nilaimerepresentasikan suatu nilaiLiteral Literal BilanganBilangan (bulat dan pecahan):(bulat dan pecahan):

int tahun = 2008; long nilai = 4Lint tahun = 2008; long nilai = 4Ldouble myScore = 2.25; float piValue = 3.1415927F;double myScore = 2.25; float piValue = 3.1415927F;double x = 12e22;double x = 12e22; double y = 19Edouble y = 19E--95;95;

Literal Literal BooleanBoolean (true dan false):(true dan false):boolean pilihan = true;boolean pilihan = true;

Literal Literal StringString::String String quitMsgquitMsg = “= “Yakin Ingin Keluar?Yakin Ingin Keluar?”;”;

Literal Literal KarakterKarakter (unicode)(unicode)20

Character EscapeCharacter Escape

21

Pengarah Tipe (TypePengarah Tipe (Type--Casting)Casting)Bentuk pernyataan: Bentuk pernyataan: (tipe data) data(tipe data) dataContoh:Contoh:

int i = 10;int i = 10;char paksa;char paksa;paksa = (char) i;paksa = (char) i;

Casting tanpa menghilangkan nilai:Casting tanpa menghilangkan nilai:g p g gg p g g

22

Tipe Sumber Tipe Tujuan

byte short, char, int, long, float, doubleshort int, long, float, doublechar int, long, float, doubleint long, float, doublelong float, doublefloat double

LuasSegitiga.javaLuasSegitiga.javapublic 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;

23

luas = (luas = ((double)(double)(panjang*tinggi))/2;(panjang*tinggi))/2;

System.out.println("Luas Segitiga : " + luas);System.out.println("Luas Segitiga : " + luas);}}

}}

Tugas: Hitung Luas LingkaranTugas: Hitung Luas Lingkaran

Buat class Lingkaran yang mempunyai Buat class Lingkaran yang mempunyai method menghitung luas lingkaranmethod menghitung luas lingkaranRumus luas lingkaran= PI x RRumus luas lingkaran= PI x R22

PI adalah konstanta pecahan dengan nilai PI adalah konstanta pecahan dengan nilai 3 1415923 1415923. 1415923. 141592R adalah jariR adalah jari--jari lingkaran dengan nilai jari lingkaran dengan nilai pecahan 11.78pecahan 11.78Tampilkan hasil perhitungan luas lingkaran Tampilkan hasil perhitungan luas lingkaran dalam dua bentuk: pecahan dan bulat dalam dua bentuk: pecahan dan bulat (type(type--casting)casting)

24

Page 5: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

ArrayArray

25

Konsep Array (Larik)Konsep Array (Larik)Array adalah Array adalah objekobjek yang dapat digunakan untuk yang dapat digunakan untuk menyimpan sejumlah datamenyimpan sejumlah data

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)Langkah menciptakan array:Langkah menciptakan array:1.1. Mendeklarasikan variabel arrayMendeklarasikan variabel array2.2. Menciptakan objek arrayMenciptakan objek array

26

Deklarasi Variabel ArrayDeklarasi Variabel Array

Bentuk Deklarasi:Bentuk Deklarasi:tipePrimitif[] namaVariabeltipePrimitif[] namaVariabel;;namaKelas[] namaVariabelnamaKelas[] namaVariabel;;

C t hC t hContoh:Contoh:String[] kota;String[] kota;int[] nomor;int[] nomor;

27

Menciptakan Objek ArrayMenciptakan Objek ArrayBentuk Deklarasi:Bentuk Deklarasi:namaVariabel = new tipePrimitif[jumlahElemen]namaVariabel = new tipePrimitif[jumlahElemen];;namaVariabel = new namaKelas[jumlahElemen]namaVariabel = new namaKelas[jumlahElemen];;

Contoh:Contoh:nomor = new int[7];nomor = new int[7];kota = new String[8];kota = new String[8];

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];

28

Mengakses Elemen ArrayMengakses Elemen Array

Bentuk DeklarasiBentuk DeklarasinamaVariabelArray[nomorElemen];namaVariabelArray[nomorElemen];

Contoh:Contoh:kota[0] = “Surabaya”;kota[0] = “Surabaya”;

29

ArrayKota.javaArrayKota.javapublic 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 arraykota = new String[3]; kota = new String[3]; // membuat objek array// membuat objek array

// mengisi elemen array// mengisi elemen array

30

kota[0] = "Jakarta";kota[0] = "Jakarta";kota[1] = "Surabaya";kota[1] = "Surabaya";kota[2] = "Semarang";kota[2] = "Semarang";// menampilkan elemen array// menampilkan elemen arraySystem.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]);

}}}}

Page 6: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

Pemberian Nilai ArrayPemberian Nilai Arraypublic 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 arraySystem out println(kota[0]);System out println(kota[0]);

31

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 diciptakanarray diciptakan

Mengetahui Jumlah Elemen ArrayMengetahui Jumlah Elemen Arraypublic 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 arrayf ( f ( k l hk l h ) )

32

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 MultidimensiArray Multidimensiclass 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 ( [ ][ ] [ ][ ])

33

System.out.println(nama[0][1] + nama[1][1]);System.out.println(nama[0][1] + nama[1][1]);}}

}}

Array multidimensi adalah Array multidimensi adalah array dari array array dari array , dengan , dengan konsep pengaksesan konsep pengaksesan [noBaris][noKolom][noBaris][noKolom]

Tugas: Buat Array MultidimensiTugas: Buat Array Multidimensi

1.1. Buat array multidimensi untuk Buat array multidimensi untuk nama nama negara dan ibukotanyanegara dan ibukotanya

2.2. Akses array dan tampilkan di layar Akses array dan tampilkan di layar sebagai berikut:sebagai berikut:sebagai be ikut:sebagai be ikut:

Ibukota Indonesia adalah JakartaIbukota Indonesia adalah JakartaIbukota Jepang adalah TokyoIbukota Jepang adalah TokyoIbukota Iran adalah TeheranIbukota Iran adalah Teheran

34

OperatorOperator

35

OperatorOperator

OperatorOperator adalah simbol dan karakter adalah simbol dan karakter khusus (matematika) yang digunakan khusus (matematika) yang digunakan dalam suatu ekspresidalam suatu ekspresiContoh:Contoh:

int x = 3;int x = 3;int y = x;int y = x;int z = x * y;int z = x * y;boolean status = true;boolean status = true;

36

Page 7: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

Operator dan OperandOperator dan Operand

1 + 21 + 2OperandOperand OperandOperand

37

1 + 2 1 + 2 OperatorOperator

Jenis Operator Berdasar OperandJenis Operator Berdasar Operand

1.1. Operator Operator UnaryUnary: operator yang : operator yang melibatkan melibatkan satu operandsatu operand

2.2. Operator Operator BinaryBinary: operator yang : operator yang melibatkan melibatkan dua operanddua operandmelibatkan melibatkan dua pe anddua pe and

3.3. Operator Operator TernaryTernary: operator yang : operator yang melibatkan melibatkan tiga operandtiga operand

38

Jenis OperatorJenis Operator

1.1. Operator Operator AritmatikaAritmatika2.2. Operator Operator PenugasanPenugasan3.3. Operator Operator PenggabunganPenggabungan44 Operator Operator Penambahan dan PenguranganPenambahan dan Pengurangan4.4. Operator Operator Penambahan dan PenguranganPenambahan dan Pengurangan5.5. Operator Operator BitBit6.6. Operator Operator PembandingPembanding7.7. Operator Operator LogikaLogika

39

Operator AritmatikaOperator Aritmatika

40

--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 PenugasanOperator Penugasan

Operator penugasan berguna untuk Operator penugasan berguna untuk memberi nilai ke suatu variabelmemberi nilai ke suatu variabelOperator penugasan menggunakan Operator penugasan menggunakan tanda sama dengan ( tanda sama dengan ( == ))tanda sama dengan ( tanda sama dengan ( ))Operator penugasan digabungkan Operator penugasan digabungkan dengan operator aritmatika dengan operator aritmatika membentuk membentuk operator penugasan operator penugasan gabungan gabungan (compound assignment)(compound assignment)

41

Operator Penugasan GabunganOperator Penugasan Gabungan

42

Page 8: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

Operator PenggabunganOperator Penggabungan

Operator Operator ++ dapat digunakan untuk dapat digunakan untuk penggabungan penggabungan String dan String String dan String maupun maupun String dan BilanganString dan BilanganContoh:Contoh:C nt h:C nt h:System.out.println(“Saya adalah” + “Mahasiswa”);System.out.println(“Saya adalah” + “Mahasiswa”);System.out.println(“Jumlah Mahasiswa” + 30);System.out.println(“Jumlah Mahasiswa” + 30);

43

Tugas: Tampilkan Nilai Tugas: Tampilkan Nilai gabunggabung

Penggabungan.javaPenggabungan.java

String gabung; String gabung;

44

gabung = “2” + 5;gabung = “2” + 5;

Penambahan dan PenguranganPenambahan dan PenguranganPenambahanPenambahan: 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)

PenguranganPengurangan: mengurangkan : mengurangkan 11 ke nilai variabel ke nilai variabel (operator = (operator = ----))

45

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 = xy = x----;;(nilai saat ini: y = 5, x=4)(nilai saat ini: y = 5, x=4)

Tugas: Tampilkan Nilai Tugas: Tampilkan Nilai xx, , yy dan dan zz

Penambahan.javaPenambahan.java

int x, y, z;int x, y, z;

Pengurangan.javaPengurangan.java

int x, y, z;int x, y, z; x = 42;x = 42;

y = x++;y = x++;z = ++x;z = ++x;

46

x = 42;x = 42;y = xy = x----;;z = z = ----x;x;

Tugas: Tampilkan Nilai Tugas: Tampilkan Nilai xx, , yy,,ww dan dan zz

Penambahan2.javaPenambahan2.java

int w, x, y, z;int w, x, y, z;

Pengurangan2.javaPengurangan2.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;

47

x = 5; w =5 ; x = 5; w =5 ; y =y = 8 8 –– xx----;;z = 8 z = 8 -- ----w;w;

Operator BitOperator Bit

& & operasi operasi AND AND untuk bituntuk bit| | operasi operasi OROR untuk bituntuk bit^ ^ operasi Eoperasi Ex OR x OR untuk bituntuk bit

NOT t k b t NOT t k b t~ ~ operasi NOT untuk bitoperasi NOT untuk bit<< << geser kiri (geser 1 bit = *2)geser kiri (geser 1 bit = *2)>> >> geser kanangeser kanan (geser 1 bit = /2)(geser 1 bit = /2)>>> >>> geser kanan tak bertandageser kanan tak bertanda

48

Page 9: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

Tugas: Program Kali dan Bagi 2Tugas: Program Kali dan Bagi 2

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 matematikaoperator matematikaoperator matematikaoperator matematikaCatatan = x >> n = x/2Catatan = x >> n = x/2nn

49

Operator Pembanding (Relasional)Operator Pembanding (Relasional)

50

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)

Tugas: Tampilkan Tugas: Tampilkan hasilBanding1 dan 2hasilBanding1 dan 2

Pembandingan.javaPembandingan.java

booleanboolean hasilBanding1hasilBanding1;;boolean hasilBanding2;boolean hasilBanding2;

51

boolean hasilBanding2;boolean hasilBanding2;intint age = 36;age = 36;hasilBanding1 hasilBanding1 = age < 25;= age < 25;hasilBanding2 = age != 26;hasilBanding2 = age != 26;

Operator LogikaOperator Logika

&&&& operasi logika operasi logika ANDAND| | || operasi logika operasi logika OROR!! operasi logika NOToperasi logika NOT

52

Operator logika menggunakan ekspresi dengan Operator logika menggunakan ekspresi dengan nilai balik nilai balik BooleanBoolean (true or false)(true or false)

Operator Pengujian ObjekOperator Pengujian Objek

Operator Operator instanceofinstanceof digunakan untuk digunakan untuk melakukan pengujian apakah suatu melakukan pengujian apakah suatu objek merupakan :objek merupakan :

instan dari suatu classinstan dari suatu classinstan dari suatu subclassinstan dari suatu subclassinstan dari suatu class yang merupakan instan dari suatu class yang merupakan implementasi dari suatu interfaceimplementasi dari suatu interface

53

InstanceofBeraksi.javaInstanceofBeraksi.javaclass 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 instanceofinstanceof Parent));Parent));System.out.println("obj1 instanceof Child: " + (obj1 System.out.println("obj1 instanceof Child: " + (obj1 instanceofinstanceof Child));Child));System.out.println("obj1 instanceof MyInterface: " + (obj1 System.out.println("obj1 instanceof MyInterface: " + (obj1 instanceofinstanceof MyInterface));MyInterface));

54

y p ( j y ( jy p ( j y ( j y ))y ))System.out.println("obj2 instanceof Parent: " + (obj2 System.out.println("obj2 instanceof Parent: " + (obj2 instanceofinstanceof Parent));Parent));System.out.println("obj2 instanceof Child: " + (obj2 System.out.println("obj2 instanceof Child: " + (obj2 instanceofinstanceof Child));Child));System.out.println("obj2 instanceof MyInterface: " + (obj2 System.out.println("obj2 instanceof MyInterface: " + (obj2 instanceofinstanceof MyInterface));MyInterface));

}}}}

class class ParentParent{}{}class class ChildChild extends extends ParentParent implements implements MyInterfaceMyInterface{}{}interface interface MyInterfaceMyInterface{}{}

Page 10: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

Daftar Lengkap OperatorDaftar Lengkap Operator

55

Urutan Eksekusi OperatorUrutan Eksekusi Operator

Secara umum urutan eksekusi operator:Secara umum urutan eksekusi operator:1.1. Operasi Penambahan dan PenguranganOperasi Penambahan dan Pengurangan2.2. Operasi AritmatikaOperasi Aritmatika3.3. Operasi PembandinganOperasi Pembandingan

k k4.4. Operasi LogikaOperasi Logika5.5. Operasi PenugasanOperasi PenugasanApabila urutan sama, Apabila urutan sama, sebelah kiri dieksekusi sebelah kiri dieksekusi terlebih dahuluterlebih dahulu daripada sebelah kanan. daripada sebelah kanan. Khusus untuk operator Khusus untuk operator = = dan dan +=+= sebelah sebelah kanan dieksekusi terlebih dahulukanan dieksekusi terlebih dahulu

56

Urutan Eksekusi OperatorUrutan Eksekusi Operator

57

Operasi I/O Stream Operasi I/O Stream SederhanaSederhana

58

Stream StandardStream Standard

1.1. System.inSystem.in: menangani pembacaan dari : menangani pembacaan dari keyboard (standard input)keyboard (standard input)

2.2. System.outSystem.out: mengirimkan keluaran ke : mengirimkan keluaran ke layar (standard output)layar (standard output)laya (standa d utput)laya (standa d utput)

3.3. System.errSystem.err: mengirimkan kesalahan : mengirimkan kesalahan (standard error)(standard error)

59

Membaca Input dari KeyboardMembaca Input dari Keyboard

Perintah sederhana untuk memasukkan data Perintah sederhana untuk memasukkan data dari keyboard adalah dari keyboard adalah membaca sebagai karaktermembaca sebagai karakterPenggunaannya memerlukan blok Penggunaannya memerlukan blok trytry--catch catch (akan dibahas pada bagian eksepsi)(akan dibahas pada bagian eksepsi)Contoh:Contoh:Contoh:Contoh:char karakter;char karakter;karakter = karakter = System.in.read()System.in.read();;Untuk mudahnya, gunakan class Untuk mudahnya, gunakan class InputKeyboard.javaInputKeyboard.java untuk menerima masukkan untuk menerima masukkan data dari keyboarddata dari keyboard

60

Page 11: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

InputKeyboard.javaInputKeyboard.javaimport java.io.*;import java.io.*;

public class InputKeyboard{public class InputKeyboard{public static String inputString(){public static String inputString(){

int karakter; String str ="“; boolean selesai = false;int karakter; String str ="“; boolean selesai = false;while(!selesai){while(!selesai){

trytry{{karakter = karakter = System.in.read()System.in.read();;if(karakter < 0 || (char) karakter == 'if(karakter < 0 || (char) karakter == '\\n') selesai = truen') selesai = true

61

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.javaSalamKenal.javaimport 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: ");

62

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 LainKonversi String ke Tipe Lain

Method Method inputString() inputString() pada class InputKeyboard pada class InputKeyboard memiliki memiliki nilai balik bertipe Stringnilai balik bertipe StringTipe 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:

Integer.valueOf(Integer.valueOf(nilaiStringnilaiString).intValue()).intValue()Float.valueOf(Float.valueOf(nilaiStringnilaiString).floatValue()).floatValue()Double.valueOf(Double.valueOf(nilaiStringnilaiString).doubleValue()).doubleValue()

63

KonversiData.javaKonversiData.javapublic class KonversiData{public class KonversiData{

public static void main(String[] args){public static void main(String[] args){String dataString;String dataString;

System.out.println("Masukkan sebuah bilangan bulat:" );System.out.println("Masukkan sebuah bilangan bulat:" );dataString = InputKeyboard.inputString();dataString = InputKeyboard.inputString();

int dataBulat = Integer.valueOf(dataString).intValue();int dataBulat = Integer.valueOf(dataString).intValue();

64

System.out.println("Masukkan sebuah bilangan pecahan:" );System.out.println("Masukkan sebuah bilangan pecahan:" );dataString = InputKeyboard.inputString();dataString = InputKeyboard.inputString();

double dataPecahan = Double.valueOf(dataString).doubleValue();double dataPecahan = Double.valueOf(dataString).doubleValue();

System.out.println("Bilangan Bulat:" + dataBulat);System.out.println("Bilangan Bulat:" + dataBulat);System.out.println("Bilangan Pecahan:" + dataPecahan);System.out.println("Bilangan Pecahan:" + dataPecahan);

}}}}

Pernyataan Penentu Pernyataan Penentu KeputusanKeputusan

65

Pernyataan Penentu KeputusanPernyataan Penentu Keputusan

1.1. ifif, , ifif--elseelse, if, if--else if else if –– elseelse2.2. switchswitch

66

Page 12: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

ifif

ifif adalah pernyataan kondisi yang digunakan adalah pernyataan kondisi yang digunakan untuk pengambilan keputusan terhadap dua untuk pengambilan keputusan terhadap dua buah kemungkinanbuah kemungkinanifif bisa berdiri sendiri atau dengan bisa berdiri sendiri atau dengan menggunakan menggunakan elseelsemenggunakan menggunakan elseelseBentuk:Bentuk:

if(kondisi){if(kondisi){// blok pernyataan yang dijalankan, bila kondisi benar// blok pernyataan yang dijalankan, bila kondisi benar}}

67

PernyataanIF.javaPernyataanIF.javapublic 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 ld k l l

68

diskon = totalBelanja/10;diskon = totalBelanja/10;}}

System.out.println("Diskon = " + diskon);System.out.println("Diskon = " + diskon);}}

}}

TugasTugas

Kembangkan class Kembangkan class PernyataanIFPernyataanIFsupaya bisa menerima masukan supaya bisa menerima masukan (input) data langsung dari user (input) data langsung dari user

69

ifif--elseelse

ifif--elseelse mengatur pernyataan yang dijalankan mengatur pernyataan yang dijalankan sewaktu kondisi bernilai benar atau salahsewaktu kondisi bernilai benar atau salahBentuk: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}}

70

PernyataanIFELSE.javaPernyataanIFELSE.javapublic 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 ld k l l

71

diskon = totalBelanja/10;diskon = totalBelanja/10;} else{} else{diskon = 0;diskon = 0;

} } System.out.println("Diskon = " + diskon);System.out.println("Diskon = " + diskon);

}}}}

if Bersarangif Bersarangif bersarang if bersarang mengatur pernyataan yang mengatur pernyataan yang dijalankan sewaktu kondisi berupa pilihandijalankan sewaktu kondisi berupa pilihanBentuk:Bentuk:if(kondisiA){if(kondisiA){// pernyataan yang dijalankan, bila kondisiA benar// pernyataan yang dijalankan, bila kondisiA benarp y y g d j , dp y y g d j , d}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}}

72

Page 13: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

PernyataanIFBersarang.javaPernyataanIFBersarang.javapublic 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';

73

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);

}}}}

TugasTugas

Kembangkan class Kembangkan class PernyataanIFBersarangPernyataanIFBersarang supaya bisa supaya bisa menerima masukan (input) data menerima masukan (input) data langsung dari user langsung dari user langsung dari user langsung dari user

74

Operator Ternary (Kondisi)Operator Ternary (Kondisi)

Pernyataan kondisi yang menggunakan Pernyataan kondisi yang menggunakan operator ternary operator ternary (melibatkan tiga buah (melibatkan tiga buah operand)operand)

Bentuk:Bentuk:ekspresi_kondisi ? nilai_1 : nilai_2ekspresi_kondisi ? nilai_1 : nilai_2

75

OperatorTernary.javaOperatorTernary.javapublic 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

76

int diskon = totalBelanja >= 100000 ? int diskon = totalBelanja >= 100000 ? totalBelanja/10 : 0;totalBelanja/10 : 0;

System.out.println("Diskon = " + diskon);System.out.println("Diskon = " + diskon);}}

}}

switchswitchPernyataan switch memungkinkan melakukan Pernyataan switch memungkinkan melakukan tindakan berbeda terhadap sejumlah tindakan berbeda terhadap sejumlah kemungkinan nilaikemungkinan nilaiBentuk:Bentuk:switch(ekspresi){switch(ekspresi){

case nilaiSatu:case nilaiSatu:case nilaiSatu:case nilaiSatu:Pernyataan 1Pernyataan 1break;break;

case nilaiDua:case nilaiDua:Pernyataan2Pernyataan2break;break;

......default: default: PernyataanNPernyataanN;;}}

77

PernyataanSWITCH1.javaPernyataanSWITCH1.javapublic 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 2case 2

78

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");

}}}}}}

Page 14: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

PernyataanSWITCH2.javaPernyataanSWITCH2.javapublic 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:

79

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");

}}}}}}

Tugas: Menentukan Jumlah HariTugas: Menentukan Jumlah Hari

Buat 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 ditunjuksuatu bulan dan tahun yang ditunjukBulan dan tahun yang ditunjuk adalah bulan Bulan dan tahun yang ditunjuk adalah bulan P b i t h 2000P b i t h 2000Pebruari tahun 2000Pebruari tahun 2000Tampilkan hasilnya dengan:Tampilkan hasilnya dengan:Jumlah hari pada bulan Pebruari 2000 Jumlah hari pada bulan Pebruari 2000 adalah: .... hariadalah: .... hari

80

Pernyataan Pernyataan Pengulangan ProsesPengulangan Proses

81

Pernyataan Pengulangan ProsesPernyataan Pengulangan Proses

Pernyataan Pengulangan Proses (Loop)Pernyataan Pengulangan Proses (Loop)forforwhilewhiledodo--whilewhile

Pernyataan Pemindah Proses (Jump)Pernyataan Pemindah Proses (Jump)breakbreakcontinuecontinuereturnreturn

82

forfor

for sering disebut for sering disebut for loopfor loop, karena , karena digunakan untuk proses looping atau digunakan untuk proses looping atau pengulanganpengulanganBentuk:Bentuk:Bentuk:Bentuk:for (for (inisialisasiinisialisasi; ; kondisikondisi; ; penaikan_penurunanpenaikan_penurunan) {) {

pernyataanpernyataan} }

83

PernyataanFOR.javaPernyataanFOR.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);

84

}}}}

}}

Page 15: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

PernyataanFOREnhanced.javaPernyataanFOREnhanced.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) {

85

System.out.println(i);System.out.println(i);}}

}}}}

whilewhile

while digunakan untuk melakukan proses while digunakan untuk melakukan proses pengulangan suatu blok pernyataan selama pengulangan suatu blok pernyataan selama kondisinya bernilai truekondisinya bernilai trueKetika kondisi salah, pernyataan dalam blok Ketika kondisi salah, pernyataan dalam blok bi j tid k dij l k k libi j tid k dij l k k libisa saja tidak dijalankan sama sekalibisa saja tidak dijalankan sama sekaliBentuk:Bentuk:

while (kondisi) {while (kondisi) {pernyataan pernyataan

} }

86

PernyataanWHILE.javaPernyataanWHILE.javaclass 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

87

System.out.println(i);System.out.println(i);i++;i++;

}}}}

}}

Tugas: Tampilkan Bilangan GenapTugas: Tampilkan Bilangan Genap

Tampilkan bilangan genap antara 1 Tampilkan bilangan genap antara 1 sampai 20 dengan menggunakan sampai 20 dengan menggunakan pernyataan WHILEpernyataan WHILE

88

do...whiledo...while

do ... while digunakan untuk melakukan do ... while digunakan untuk melakukan proses pengulangan suatu blok pernyataan proses pengulangan suatu blok pernyataan selama kondisinya bernilai trueselama kondisinya bernilai truePernyataan dalam blok paling tidak Pernyataan dalam blok paling tidak di k k i t k lidi k k i t k lidieksekusi satu kalidieksekusi satu kaliBentuk:Bentuk:

do {do {pernyataanpernyataan

} while (kondisi);} while (kondisi);

89

PernyataanDOWHILE.javaPernyataanDOWHILE.javaclass PernyataanDOWHILE {class PernyataanDOWHILE {

public static void main(String[] args){public static void main(String[] args){int i = 1;int i = 1;do {do {

ll

90

System.out.println(i);System.out.println(i);i++;i++;

} while (i <= 10);} while (i <= 10);}}

}}

Page 16: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

breakbreak

Penyataan break digunakan untuk Penyataan break digunakan untuk keluar dari suatu pengulangan (loop)keluar dari suatu pengulangan (loop)Penggunaan break bisa berbentuk Penggunaan break bisa berbentuk tanpa tanpa label label atau atau berlabelberlabellabel label atau atau be labelbe label

91

PernyataanBREAK.javaPernyataanBREAK.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;

92

System.out.println(i);System.out.println(i);}}

}}}}

PernyataanBREAKLABEL.javaPernyataanBREAKLABEL.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++){

93

if(i==5) break selesai;if(i==5) break selesai;System.out.println(i);System.out.println(i);

}}}}

}}

continuecontinue

Penyataan continue digunakan untuk Penyataan continue digunakan untuk melanjutkan eksekusi melanjutkan eksekusi ke suatu ke suatu pengulangan (loop)pengulangan (loop)Penggunaan continue bisa berbentuk Penggunaan continue bisa berbentuk Penggunaan c ntinue bisa be bentuk Penggunaan c ntinue bisa be bentuk tanpa labeltanpa label atau atau berlabelberlabel

94

PernyataanCONTINUE.javaPernyataanCONTINUE.javaclass 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++;

95

i++;i++;continue;continue;

}}System.out.println(i);System.out.println(i);i++;i++;

}}}}

}}

returnreturnPernyataan return digunakan untuk Pernyataan return digunakan untuk keluar dari keluar dari methodmethod , 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)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;

}}96

Page 17: Pernyataan dan Ekspresi - · PDF filedisebut blok atau blok pernyataan 5 Ekspresi ... nilai. Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik (return value)

Object-Oriented Programming

[email protected]://romisatriawahono.net

Tugas: Modifikasi Matematika.javaTugas: Modifikasi Matematika.java

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)G k t t k ti f i G k t t k ti f i Gunakan return untuk setiap fungsi Gunakan return untuk setiap fungsi (pertambahan, pengurangan, pembagian dan (pertambahan, pengurangan, pembagian dan perkalian)perkalian)

97

Referensi Referensi --11--

Sharon Zakhour et al, Sharon Zakhour et al, The Java Tutorial The Java Tutorial Fourth EditionFourth Edition, , http://java.sun.com/docs/books/tutorialhttp://java.sun.com/docs/books/tutorialDeitel & Deitel, Deitel & Deitel, Java How to ProgramJava How to Program Sixth Sixth EditionEdition Prentice Hall 2004 Prentice Hall 2004EditionEdition, Prentice Hall, 2004, Prentice Hall, 2004Kathy Sierra & Bert Bates, Kathy Sierra & Bert Bates, Head First Java Head First Java 2nd Edition2nd Edition, O’Reilly, 2005, O’Reilly, 2005Rogers Cadenhead & Laura Lemay, Rogers Cadenhead & Laura Lemay, Teach Teach Yourself Java 6 in 21 DaysYourself Java 6 in 21 Days, Sams Publishing, , Sams Publishing, 20072007

98

Referensi Referensi --22--

Tim Pengembang JENI, Tim Pengembang JENI, JENI 1JENI 1--66, , Depdiknas, 2007Depdiknas, 2007Abdul Kadir, Abdul Kadir, Dasar Pemrograman Java 2Dasar Pemrograman Java 2, , Penerbit Andi, 2004Penerbit Andi, 2004Indrajani dan Martin Indrajani dan Martin P mr graman B rba i P mr graman B rba i Indrajani dan Martin, Indrajani dan Martin, Pemrograman Berbasis Pemrograman Berbasis Objek dengan JavaObjek dengan Java, Elex Media Komputindo, , Elex Media Komputindo, 20072007

99