IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman...
Transcript of IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman...
![Page 1: IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 filePengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI ... •Aritmatika dasar: +, -, *, /, % (modulo:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/1.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/2.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/3.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/4.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/5.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/6.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/7.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/8.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/9.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/10.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/11.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/12.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/13.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/14.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/15.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/16.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/17.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/18.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/19.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/20.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/21.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/22.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/23.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/24.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/25.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/26.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/27.jpg)
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:](https://reader031.fdocuments.net/reader031/viewer/2022021702/5ca7d73988c9934f2b8bccb2/html5/thumbnails/28.jpg)
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