IF184982 Pengantar Logika dan Pemrograman Pertemuan ke-5 Misbakhul Munir IRFAN SUBAKTI 司馬伊凡 Мисбакхул Мунир Ирфан Субакти
static: Diakses Beberapa class/file 2
static: Diakses Beberapa class/file (lanj.) 3
static: Diakses Beberapa class/file (lanj.) 4
static: Diakses Beberapa class/file (lanj.) 5
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 _ (garis bawah) Nama variabel dalam standar pengkodean Java seharusnya dimulai dengan huruf kecil int angka Untuk nama variabel yang panjang yang mempunyai lebih dari satu kata int angkakecil; int angkabesar; mulailah kata kedua dengan huruf besar Nama variabel adalah case sentisitive huruf besar dan kecil dibedakan 6
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 akan berlaku sama pada semua obyek tadi perubahan pada variabel ini menggunakan salah satu obyek tadi akan terefleksi jika kita akses variabel tersebut melalui obyek yang lain. Instance variable Setiap instance (object) dari class mempunyai salinan (copy) instance variable sendirisendiri. Tidak seperti static variable, instance variable mempunyai salinan yang terpisah dari instance variable. 7
Variabel di Java (lanjutan) 8
Tipe Data di Java 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 9
Operator di Java 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 kanan operator), >> (geser bit ke kanan sebanyak bilangan di kanan operator), >>> (geser bit ke kanan sebanyak 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 10
Prioritas Urutan Operator Kategori Operator Asosiasi/Urutan x = 10 + 2 * 3; Nilai x adalah 16, bukannya 36 10 + (2 * 3) = 10 + 6 = 16 Bukannya (10 + 2) * 3 = 12 * 3 = 36 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 11
if, if else Terdapat 4 jenis pernyataan kondisi if if dalam if (if bersarang) if-else if-else-if 12
if if (kondisi) { statement(s); 13
if bersarang (if dalam if) if (kondisi) { statement(s); else { statement(s); 14
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); 15
switch-case switch (variable atau ekspresi integer) { case konstanta: // Kode Java ; case konstanta: // Kode Java ; default: // Kode Java ; 16
switch-case dengan break switch (variable atau ekspresi integer) { case konstanta: // Kode Java break; case konstanta: // Kode Java break; default: // Kode Java ; 17
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]); 18
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); 19
while-loop Bila diinginkan perulangan (loop) paling tidak terjadi minimal 0 kali while (kondisi) { statement(s); int i = 5; while (i > 2) { i--; Output: 5 4 3 System.out.println(i); 20
while-loop yang tak ada berhentinya while (true) { statement(s); int i = 5; while (i > 2) { System.out.println(i); i++; 21
do-while Bila diinginkan perulangan (loop) paling tidak terjadi minimal 1 kali do { statement(s); while (kondisi); int i = 5; do { i--; while (i > 2); System.out.println(i); Output: 5 4 3 22
continue Digunakan dalam loop (perulangan) Begitu ditemui continue ini, maka kontrol akan langsung melompat ke awal dari perulangan untuk iterasi selanjutnya, melewatkan eksekusi dari statement di dalam badan 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 23
continue (lanjutan) int angka = 5; while (angka >= 1) { if (angka == 3) { angka--; continue; System.out.print(angka + ); angka--; Output: 5 4 2 1 24
continue (lanjutan) int angka = 1; do { if (angka == 3) { angka++; continue; System.out.print(angka + ); angka++; while (angka < 6); Output: 1 2 4 5 25
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 mengeksekusi case-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) { angka++; break; System.out.println( Keluar dari while-loop ); Output: Nilai dari variabel angka: 1 Nilai dari variabel angka: 2 Keluar dari while-loop 26
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 27
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 28