if184982 pengantar logika dan pemrograman pertemuan ke-5 filepengantar logika dan pemrograman...

28
IF184982 Pengantar Logika dan Pemrograman Pertemuan ke - 5 Misbakhul Munir IRFAN SUBAKTI 司馬伊凡 Мисбакхул Мунир Ирфан Субакти

Upload: dangkhue

Post on 06-Apr-2019

245 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

IF184982Pengantar Logika dan Pemrograman

Pertemuan ke-5Misbakhul Munir IRFAN SUBAKTI

司馬伊凡Мисбакхул Мунир Ирфан Субакти

Page 2: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

static: Diakses Beberapa class/File

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

2

Page 3: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

static: Diakses Beberapa class/File (lanj.)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

3

Page 4: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

static: Diakses Beberapa class/File (lanj.)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

4

Page 5: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

static: Diakses Beberapa class/File (lanj.)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

5

Page 6: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

Variabel di Java

• Nama variabel tidak boleh mengandung spasi• int angka kecil = 100;→ diantara angka dan kecil terdapat spasi→

salah!

• Nama variabel dapat dimulai dengan karakter spesial: $ dan _ (garisbawah)

• Nama variabel dalam standar pengkodean Java seharusnya dimulai denganhuruf kecil• int angka• Untuk nama variabel yang panjang yang mempunyai lebih dari satu kata → int angkaKecil; int angkaBesar;→mulailah kata kedua dengan hurufbesar

• Nama variabel adalah case sentisitive→ huruf besar dan kecil dibedakan

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

6

Page 7: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

Variabel di Java (lanjutan)

• Local variable• Dideklarasikan di dalam method/function dari suatu class. Jangkauannya terbatas

pada method/function tersebut→ tidak dapat diakses dari luar method/function dan nilainya juga tidak dapat diubah dari luar method/function

• Static (atau class) variable• Static variable (class variable) → diasosiasikan dengan class dan berlaku sama untuk

semua instance dari suatu class. Jika 3 obyek dibuat dari suatu class dan mengakses/mengacu pada suatu static variable→maka static variable tadi akanberlaku sama pada semua obyek tadi – perubahan pada variabel ini menggunakansalah satu obyek tadi akan terefleksi jika kita akses variabel tersebut melalui obyekyang lain.

• Instance variable• Setiap instance (object) dari class mempunyai salinan (copy) instance variable sendiri-

sendiri. Tidak seperti static variable, instance variable mempunyai salinan yang terpisah dari instance variable.

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

7

Page 8: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

Variabel di Java (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

8

Page 9: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

Tipe Data di Java

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

9

• Primitive• Integer. (bilangan bulat): byte, short, int dan long

• byte: 1 byte. [-128 s/d 128]. Nilai default: 0.• short: 2 byte. [-32,768 s/d 32,767]. Nilai default: 0.• int: 4 byte. [-2,147,483,648 s/d 2,147,483,647]. Nilai default: 0.• long: 8 byte. [-9,223,372,036,854,775,808 s/d 9,223,372,036,854,775,807]. Default: 0.

• Floating point (bilangan pecahan): float dan double• float: 4 byte. Dapat menampung 6 s/d 7 digit decimal.• double: 8 byte. Dapat menampung 15 digit decimal.

• Character (Karakter): char → 2 byte• Boolean→ Nilai true (benar) atau false (salah). Keyword: boolean

• Non Primitive• Classes• Interfaces• Arrays

Page 10: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

Operator di Java

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

10

• Aritmatika dasar: +, -, *, /, % (modulo: 7 % 2 = 1)

• Assignment (pemberian nilai): =, +=, -=, *=, /=, %=

• Auto-increment dan auto-decrement: == dan --

• Logika: && (AND), || (OR), ! (negasi)

• Pembandingan (relasional): ==, !=, >, <, >=, <=

• Bitwise:& (AND), | (OR), ^ (XOR), ~ (complement), << (geser bit ke kiri sebanyak bilangan di kananoperator), >> (geser bit ke kanan sebanyak bilangan di kanan operator), >>> (geser bit ke kanansebanyak bilangan di kanan operator dan nilai yang digeser diisi dengan 0)

• Ternary ( ? : ) → variabel angka = (pernyataan) ? nilai jika benar : nilai jika salah• Jika pernyataan benar maka nilai pertama sebelum tanda : akan diberikan ke variabel angka, jika tidak nilai

kedua yang akan diberikan ke variabel angka

• instanceof• (Object reference variable) instanceof (class/interface type)• String namaKuliah = “PLP”;

• boolean hasil = namaKuliah instanceof String;→ hasil akan bernilai true

Page 11: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

Prioritas Urutan Operator

• x = 10 + 2 * 3;

• Nilai x adalah 16,bukannya 36

• 10 + (2 * 3) =

10 + 6 = 16

• Bukannya (10 + 2) * 3= 12 * 3 = 36

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

11

Kategori Operator Asosiasi/Urutan

Postfix () [] . (dot operator) Kiri ke kanan

Unary (tunggal) ++ -- ! ~ Kanan ke kiri

Perkalian * / Kiri ke kanan

Penambahan + - Kiri ke kanan

Penggeseran >> >>> << Kiri ke kanan

Relasional > >= < <= Kiri ke kanan

Penyamaan == != Kiri ke kanan

Bitwise AND & Kiri ke kanan

Bitwise XOR ^ Kiri ke kanan

Bitwise OR | Kiri ke kanan

Logical AND && Kiri ke kanan

Logical OR || Kiri ke kanan

Kondisi ?: Kanan ke kiri

Pemberian nilai >= += -= *= /= %= >>= <<= &= ^= |= Kanan ke kiri

Page 12: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

if, if … else

• Terdapat 4 jenis pernyataan kondisi• if

• if dalam if (if bersarang)

• if-else

• if-else-if

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

12

Page 13: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

if

if (kondisi) {

statement(s);

}

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

13

Page 14: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

if bersarang (if dalam if)

if (kondisi) {

statement(s);

} else {

statement(s);

}

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

14

Page 15: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

if-else-if

if (kondisi_1) {

// Jika kondisi_1 benar, jalankan ini

statement(s);

} else if (kondisi_2) {

// Jalankan ini jika kondisi_1 tak ketemu & kondisi_2 ketemu

statement(s);

} else if (kondisi_3) {

// Jalankan ini jika kondisi_1 & kondisi_2 tak ketemu, serta kondisi_3 ketemu

statement(s);

}

.

.

else {

// Jika tak ada satu pun dari kondisi-kondisi di atas benar, maka statement(s) ini akan dijalankan

statement(s);

}

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

15

Page 16: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

switch-case

switch (variable atau ekspresi integer) {

case konstanta:

// Kode Java

;

case konstanta:

// Kode Java

;

default:

// Kode Java

;

}

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

16

Page 17: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

switch-case dengan break

switch (variable atau ekspresi integer) {

case konstanta:

// Kode Java

break;

case konstanta:

// Kode Java

break;

default:

// Kode Java

;

}

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

17

Page 18: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

for-loop

for (inisialisasi; kondisi; penambahan/pengurangan) {

statement(s);

}

public static void main(String args[]) {

for (int i = 0; i < args.length(); i++) {

System.out.println(args[i]);

}

}

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

18

Page 19: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

for-loop (lanjutan)

public static void main(String args[]) {

int arrayKu[] = {1, 3, 5, 7};

for (int i : arrayKu) {

System.out.println(arrayKu[i]);

}

}

String arrayKu[] = {“satu”, “dua”, “tiga”};

for (String string : arrayKu) {

System.out.println(string);

}

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

19

Page 20: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

while-loop

• Bila diinginkan perulangan (loop) paling tidak terjadi minimal 0 kali

while (kondisi) {

statement(s);

}

int i = 5;

while (i > 2) {

System.out.println(i);

i--;

}

Output:

5

4

3

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

20

Page 21: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

while-loop yang tak ada berhentinya

while (true) {

statement(s);

}

int i = 5;

while (i > 2) {

System.out.println(i);

i++;

}

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

21

Page 22: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

do-while

• Bila diinginkan perulangan (loop) paling tidak terjadi minimal 1 kali

do {

statement(s);

} while (kondisi);

int i = 5;

do {

System.out.println(i);

i--;

} while (i > 2);

Output:

5

4

3

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

22

Page 23: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

continue

• Digunakan dalam loop (perulangan)

• Begitu ditemui continue ini, maka kontrol akan langsung melompat ke awal dariperulangan untuk iterasi selanjutnya, melewatkan eksekusi dari statement di dalambadan perulangan pada iterasi saat itu

for (int k = 1; k <= 5, k++) {

if (k == 3) {

continue;

}

System.out.print(k + “ “);

}

Output: 1 2 4 5

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

23

Page 24: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

continue (lanjutan)

int angka = 5;

while (angka >= 1) {

if (angka == 3) {

angka--;

continue;

}

System.out.print(angka + “ “);

angka--;

}

Output: 5 4 2 1

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

24

Page 25: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

continue (lanjutan)

int angka = 1;

do {

if (angka == 3) {

angka++;

continue;

}

System.out.print(angka + “ “);

angka++;

} while (angka < 6);

Output: 1 2 4 5

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

25

Page 26: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

break dalam while-loop

• break biasanya digunakan untuk:• Keluar dari loop (perulangan) secara langsung. Kapan saja break ini ditemui dalam perulangan, maka kontrol secara langsung akan keluar dari perulangan dan perulangan akan berhenti untuk sisa iterasi.

Biasanya digunakan dengan if, kapan saja digunakan dalam perulangan sehingga perulangan akan berhenti pada kondisi tertentu.

• Digunakan dalam switch-case. Secara umum semua case dalam switch-case diikuti dengan break, sehingga kapan saja kontrol program melompat ke suatu case, maka ia tidak akan mengeksekusicase-case berikutnya. Secepat break ditemui dalam blok switch-case, kontrol akan keluar dari bodi switch-case

int angka = 1;

while (angka <= 5) {

System.out.println(“Nilai dari variabel angka: “ + angka);

if (angka == 2) {

break;

}

angka++;

}

System.out.println(“Keluar dari while-loop“);

Output:

Nilai dari variabel angka: 1

Nilai dari variabel angka: 2

Keluar dari while-loop

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

26

Page 27: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

break dalam for-loop

for (int k = 1; k <= 5, k++) {

System.out.println( “k: “ + k);

if (k == 2) {

break;

}

}

System.out.println( “Keluar dari for-loop“);

Output:

1

2

Keluar dari for-loop

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

27

Page 28: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:

break dalam switch-case

int angka = 2;

switch (angka) {

case 1:

System.out.println(“Case 1“);

break;

case 2:

System.out.println(“Case 2“);

break;

case 3:

System.out.println(“Case 3“);

break;

default:

System.out.println(“Default“);

}

Output:

Case 2

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

28