Dasar pemrograman Pengenalan Pemrograman 1 Versi 2 0

  • Slides: 94
Download presentation
Dasar pemrograman Pengenalan Pemrograman 1 Versi 2. 0

Dasar pemrograman Pengenalan Pemrograman 1 Versi 2. 0

tujuan Pada akhir pembahasan, peserta diharapkan dapat: ◦ Mengidentifikasi dasar-dasar program Java ◦ Membedakan

tujuan Pada akhir pembahasan, peserta diharapkan dapat: ◦ Mengidentifikasi dasar-dasar program Java ◦ Membedakan beberapa hal yang penting pada Java seperti, Java literal, tipe data primitif, tipe variabel, identifier dan operator. ◦ Membuat program Java sederhana dengan menggunakan konsep-konsep yang ada pada bab ini.

Program java public class Hello { /** * Program Java My first */ public

Program java public class Hello { /** * Program Java My first */ public static void main( String[] args ){ //menampilkan String Hello world pada layar System. out. println(“Hello world”); } }

Program java public class Hello { /** * Program Java My first */ Hello

Program java public class Hello { /** * Program Java My first */ Hello - deklarasi nama class Pada Java, semua code harus berada di dalam deklarasi sebuah class. Class menggunakan akses public, sehingga class Hello dapat diakses oleh class lain yang berada di luar package (package adalah sekumpulan dari class).

Program java public class Hello { /** * Program Java My first */ Baris

Program java public class Hello { /** * Program Java My first */ Baris berikutnya merupakan tanda kurung kurawal { yang merupakan awal dari sebuah blok. Pada code di atas, tanda kurung kurawal ditempatkan pada baris baru setelah deklarasi kelas, akan tetapi kita dapat juga menempatkannya pada awal baris. Sehingga code di atas juga dapat ditulis seperti: public class Hello{ /** * Program Java My first */

Program java public class Hello { /** * Program Java My first */ Tiga

Program java public class Hello { /** * Program Java My first */ Tiga baris selanjutnya merupakan comment pada Java. Comment ◦ Merupakan catatan yang ditulis sebagai dokumentasi pada suatu bagian code. ◦ Comment bukanlah bagian dari program, akan tetapi digunakan untuk tujuan dokumentasi. ◦ Menambahkan comment pada source code merupakan cara yang baik untuk berlatih pemrograman.

Program java public class Hello { /** * program Java My First */ public

Program java public class Hello { /** * program Java My First */ public static void main( String[] args ){ method main() - nama dari sebuah method pada class Hello method main() merupakan starting point pada program Java. Semua program Java kecuali Applet dijalankan pada method main().

Program java public class Hello { /** * program Java My First */ public

Program java public class Hello { /** * program Java My First */ public static void main( String[] args ){ //menampilkan string “Hello world” pada layar Baris selanjutnya merupakan comment pada Java.

Program java public class Hello { /** * program Java My First */ public

Program java public class Hello { /** * program Java My First */ public static void main( String[] args ){ //menampilkan string “Hello world” pada layar System. out. println(“Hello world”); Command System. out. println() digunakan untuk menampilkan ke layar, teks yang ada antara tanda petik ganda.

Program java public class Hello { /** * program Java My First */ public

Program java public class Hello { /** * program Java My First */ public static void main( String[] args ){ //menampilkan string “Hello world” pada layar System. out. println(“Hello world”); } } Pada dua baris berikutnya, terdapat dua tanda kurung kurawal yang digunakan untuk menutup method main() dan deklarasi class.

Panduan penulisan program 1. Setiap program Java harus disimpan sebagai file yang diakhiri dengan

Panduan penulisan program 1. Setiap program Java harus disimpan sebagai file yang diakhiri dengan ekstensi. java 2. Nama file harus sama dengan nama dari class public. Sebagai contoh, apabila nama dari class public pada program adalah Hello, maka nama filenya adalah Hello. java 3. Comment sebaiknya ditulis untuk menjelaskan perilaku dari sebuah class, atau perilaku dari sebuah method.

Java comment Comment ◦ Merupakan catatan yang ditulis pada sebuah code untuk tujuan dokumentasi.

Java comment Comment ◦ Merupakan catatan yang ditulis pada sebuah code untuk tujuan dokumentasi. ◦ Catatan tersebut bukanlah bagian dari program dan tidak mempengaruhi jalannya program. 3 Tipe comment pada Java ◦ C++ Style Comment ◦ C Style Comment ◦ Special Javadoc Comment

Java comment C++ Style Comment ◦ C++ Style comment diawali dengan tanda // ◦

Java comment C++ Style Comment ◦ C++ Style comment diawali dengan tanda // ◦ Semua teks sesudah // merupakan sebuah comment ◦ Contoh: // Ini adalah C++ style atau single line comments

Java comment C-Style Comment ◦ C-style comment disebut juga multiline comment, diawali dengan tanda

Java comment C-Style Comment ◦ C-style comment disebut juga multiline comment, diawali dengan tanda /* dan diakhiri dengan tanda */ ◦ Semua teks yang berada di antara dua tanda tersebut adalah comment ◦ Tidak seperti C++ style comment, C-Style comment dapat menampung banyak baris sekaligus. ◦ Contoh: /* Ini adalah contoh dari C style atau multiline comments */

Java comment Special Javadoc Comment ◦ Special Javadoc comment digunakan untuk membuat sebuah dokumentasi

Java comment Special Javadoc Comment ◦ Special Javadoc comment digunakan untuk membuat sebuah dokumentasi HTML untuk program Java Anda. ◦ Anda dapat membuat javadoc comment dengan mengawali baris dengan /** dan mengakhirinya dengan */ ◦ Seperti C-style comments, comment ini dapat memuat banyak baris. ◦ Comment ini dapat memuat tags untuk menambah informasi pada comment Anda. ◦ Contoh: /** This is an example of special java doc comments used for n generating an html documentation. It uses tags like: @author Florence Balagtas @version 1. 2 */

Java statement Statement ◦ Satu atau beberapa baris code yang diakhiri dengan sebuah tanda

Java statement Statement ◦ Satu atau beberapa baris code yang diakhiri dengan sebuah tanda titik koma. ◦ Contoh: System. out. println(“Hello world”); int a=5;

Java block Block ◦ merupakan satu atau beberapa statement yang berada diantara tanda kurung

Java block Block ◦ merupakan satu atau beberapa statement yang berada diantara tanda kurung kurawal buka dan tanda kurung kurawal tutup, yang mengelompokkan beberapa statement ke dalam sebuah unit. ◦ Nested pada Block statement tidak terbatas. ◦ Spasi kosong diperbolehkan pada block statement. ◦ Contoh: public static void main( String[]args ){ System. out. println("Hello"); System. out. println("world”); }

Panduan penulisan program 1. Untuk membuat block, tempatkan kurung kurawal buka, satu baris setelah

Panduan penulisan program 1. Untuk membuat block, tempatkan kurung kurawal buka, satu baris setelah deklarasi block. Contohnya: public static void main(String[] args){ atau tambahkan pada baris berikutnya, seperti, public static void main( String[] args ) {

Panduan penulisan program 2. Statement sebaiknya dimasukkan pada baris selanjutnya, setelah awal dari block.

Panduan penulisan program 2. Statement sebaiknya dimasukkan pada baris selanjutnya, setelah awal dari block. Contohnya: public static void main( String[] args ){ System. out. println("Hello"); System. out. println("world"); }

Java identifier Identifier ◦ merupakan tanda (token) yang mewakili nama dari variabel, method, class,

Java identifier Identifier ◦ merupakan tanda (token) yang mewakili nama dari variabel, method, class, dll. ◦ Contoh dari identifier adalah: Hello, main, System, out. ◦ Java identifier bersifat case-sensitive. ◦ Sebagai contoh, identifier Hello tidak sama dengan hello.

Java identifier Identifier harus diawali dengan ◦ huruf ◦ tanda garis bawah “_” ◦

Java identifier Identifier harus diawali dengan ◦ huruf ◦ tanda garis bawah “_” ◦ tanda dolar “$” Huruf dapat menggunakan huruf kecil atau huruf kapital. Karakter selanjutnya dapat menggunakan angka dari 0 sampai 9. Identifier tidak dapat menggunakan keyword Java, seperti class, public, void, dll.

Panduan penulisan program 1. Untuk penamaan class, gunakan huruf kapital pada huruf awal dari

Panduan penulisan program 1. Untuk penamaan class, gunakan huruf kapital pada huruf awal dari nama class, contohnya, This. Is. An. Example. Of. Class. Name 2. Untuk penamaan method dan variabel, gunakan huruf kecil di awal nama, contohnya, this. Is. An. Example. Of. Method. Name

Panduan penulisan program 3. Pada saat memberikan nama identifier lebih dari satu kata, gunakan

Panduan penulisan program 3. Pada saat memberikan nama identifier lebih dari satu kata, gunakan huruf kapital untuk menunjukkan huruf awal dari kata selanjutnya kecuali kata awal. Contohnya, char. Array, file. Number, class. Name 4. Hindari penggunaan garis bawah pada awal identifier seperti, _read atau _write

Java keyword Keyword merupakan identifier khusus yang sudah disediakan oleh Java untuk tujuan tertentu.

Java keyword Keyword merupakan identifier khusus yang sudah disediakan oleh Java untuk tujuan tertentu. Keyword tidak dapat digunakan sebagai nama dari variabel, class, method. . . dll. daftar dari Java keyword, terdapat pada slide berikut ini

Java keyword

Java keyword

Java literal Literal merupakan tanda(token) yang tidak berubah(konstan) Beberapa tipe literal ◦ Integer Literal

Java literal Literal merupakan tanda(token) yang tidak berubah(konstan) Beberapa tipe literal ◦ Integer Literal ◦ Floating-Point Literal ◦ Boolean Literal ◦ Character Literal ◦ String Literal dari Java adalah:

Java literal : integer Integer literal memiliki beberapa bentuk : decimal (base 10) hexadecimal

Java literal : integer Integer literal memiliki beberapa bentuk : decimal (base 10) hexadecimal (base 16) octal (base 8)

Java literal : integer Penandaan khusus pada saat menggunakan integer literal pada program: Decimal

Java literal : integer Penandaan khusus pada saat menggunakan integer literal pada program: Decimal ◦ Tidak ada penandaan khusus ◦ contoh: 12 Hexadecimal ◦ Diawali dengan 0 x atau 0 X ◦ contoh: 0 x. C Octal ◦ Diawali dengan 0 ◦ contoh: 014

Java literal : floating point Mewakili pecahan bilangan desimal dengan ◦ Contoh: 3. 1416

Java literal : floating point Mewakili pecahan bilangan desimal dengan ◦ Contoh: 3. 1416 Dapat ditulis dengan notasi standard atau scientific ◦ Contoh: 583. 45 (standard) 5. 8345 e 2 (scientific)

Java literal : boolean Boolean literal hanya memiliki dua nilai, true false

Java literal : boolean Boolean literal hanya memiliki dua nilai, true false

Java literal : character Character character. literal mewakili satu Unicode character ◦ merupakan 16

Java literal : character Character character. literal mewakili satu Unicode character ◦ merupakan 16 -bit character set yang menggantikan 8 -bit ASCII character set. ◦ Unicode membolehkan pengisian simbol dan special character dari bahasa lain.

Java literal : character Untuk menggunakan sebuah character literal, tandai character dengan memberikan tanda

Java literal : character Untuk menggunakan sebuah character literal, tandai character dengan memberikan tanda petik satu. Contoh ◦ Huruf a, diwakili dengan 'a'. ◦ Special character seperti newline character menggunakan tanda backslash diikuti dengan character code. Contoh, ◦ 'n' untuk newline character ◦ 'r' untuk carriage return ◦ 'b' untuk backspace

Java literal : String literal mewakili banyak character dan ditandai dengan tanda petik ganda.

Java literal : String literal mewakili banyak character dan ditandai dengan tanda petik ganda. Contoh World”. dari string literal adalah, “Hello

Tipe Data Primitif: Integral – byte, short, int & long Tipe data integral pada

Tipe Data Primitif: Integral – byte, short, int & long Tipe data integral pada Java memiliki tiga bentuk : ◦ desimal ◦ oktal ◦ heksadesimal Contoh, 2 //nilai desimal 2 077 //Awalan 0 menandakan nilai oktal 0 x. BACC //Awalan 0 x menandakan nilai heksadesimal Tipe integral menggunakan int sebagai tipe data default. Nilai long dapat didefinisikan dengan menambahkan huruf l atau L. Contoh: 10 L

Tipe Data Primitif: Integral – byte, short, int & long Tipe data integral memiliki

Tipe Data Primitif: Integral – byte, short, int & long Tipe data integral memiliki rentang nilai:

Tipe Data Primitif: Integral – byte, short, int & long Panduan pemrograman: Untuk mendefinisikan

Tipe Data Primitif: Integral – byte, short, int & long Panduan pemrograman: Untuk mendefinisikan nilai long, disarankan untuk tidak menggunakan huruf L kecil karena akan sulit untuk membedakan dengan angka 1.

Tipe Data Primitif: Floating Point – float and double merupakan tipe data default pada

Tipe Data Primitif: Floating Point – float and double merupakan tipe data default pada tipe floating point. Floating-point literal memberikan nilai desimal atau salah satu dari nilai berikut ini, E atau e //(nilai exponen) F atau f //(float) D atau d //(double) Contoh, 3. 14 6. 02 E 23 2. 718 F 123. 4 E+306 D //Sebuah floating-point (double) //Nilai floating-point yang besar //Sebuah nilai float //Sebuah nilai double dengan redundan D

Tipe Data Primitif: Floating Point – float and double Tipe data floating-point memiliki rentang

Tipe Data Primitif: Floating Point – float and double Tipe data floating-point memiliki rentang nilai:

variabel Variabel merupakan item dari data yang digunakan untuk menyimpan sebuah nilai dari objek.

variabel Variabel merupakan item dari data yang digunakan untuk menyimpan sebuah nilai dari objek. Variabel memiliki: ◦ Tipe data merupakan tipe dari value yang dapat disimpan variabel. ◦ Nama variabel harus mengikuti aturan seperti identifier.

Deklarasi dan Inisialisasi Variabel dapat dideklarasikan dengan menggunakan sintaks: <tipe data> Catatan: <nama> [=inisialisasi

Deklarasi dan Inisialisasi Variabel dapat dideklarasikan dengan menggunakan sintaks: <tipe data> Catatan: <nama> [=inisialisasi value]; Nilai yang berada antara tanda <> adalah value yang harus ada, sedangkan value yang berada antara tanda [] bersifat optional (boleh diisi atau tidak).

Deklarasi dan Inisialisasi Variabel: Contoh Program public class Variable. Samples { public static void

Deklarasi dan Inisialisasi Variabel: Contoh Program public class Variable. Samples { public static void main( String[] args ){ //deklarasikan sebuah tipe data dengan nama variabel // result dan tipe data boolean result; //deklarasikan sebuah tipe data dengan nama variabel // option dan tipe data char option; option = 'C'; //memberi nilai 'C' pada variabel option } } //deklarasikan sebuah tipe data dengan nama variabel //grade, tipe data double dan nilai inisialisasi 0. 0 double grade = 0. 0;

Deklarasi dan Inisialisasi Variabel: Panduan penulisan program 1. Deklarasikan variabel terlebih dahulu, baru kemudian

Deklarasi dan Inisialisasi Variabel: Panduan penulisan program 1. Deklarasikan variabel terlebih dahulu, baru kemudian lakukan inisialisasi variabel. 2. Gunakan nama yang deskriptif untuk penamaan variabel. Contoh, jika terdapat variabel yang mengandung nilai grade siswa, maka beri nama variabel tersebut dengan grade, bukan dengan huruf random.

Deklarasi dan Inisialisasi Variabel: Panduan penulisan program 3. Deklarasikan satu variabel pada satu baris

Deklarasi dan Inisialisasi Variabel: Panduan penulisan program 3. Deklarasikan satu variabel pada satu baris code. Contohnya pada deklarasi variabel-variabel berikut ini, double exam=0; double quiz=10; double grade = 0; deklarasi di atas lebih baik daripada deklarasi berikut ini, double exam=0, quiz=10, grade=0;

Mencetak value dari variabel Untuk mencetak value dari sebuah variabel, dapat menggunakan command berikut

Mencetak value dari variabel Untuk mencetak value dari sebuah variabel, dapat menggunakan command berikut ini: System. out. println() System. out. print()

Mencetak data variabel: Contoh Program public class Output. Variable { public static void main(

Mencetak data variabel: Contoh Program public class Output. Variable { public static void main( String[] args ){ int value = 10; char x; x = ‘A’; } } System. out. println( value ); System. out. println( “The value of x=“ + x ); Program diatas akan memberikan output yaitu: 10 The value of x=A

System. out. println() vs. System. out. print() System. out. println() Memberikan satu baris baru

System. out. println() vs. System. out. print() System. out. println() Memberikan satu baris baru pada akhir data output System. out. print() Tidak memberikan baris baru pada akhir data output

contoh Program 1: System. out. print(“Hello”); System. out. print(“World”); Output: Hello. World Program 2:

contoh Program 1: System. out. print(“Hello”); System. out. print(“World”); Output: Hello. World Program 2: System. out. println(“Hello”); System. out. println(“World”); Output: Hello World

Reference Variable vs. Primitive Variable Terdapat dua tipe ◦ Primitive Variable ◦ Reference Variable

Reference Variable vs. Primitive Variable Terdapat dua tipe ◦ Primitive Variable ◦ Reference Variable variabel di Java: Primitive Variable ◦ Adalah variabel dengan tipe data primitif ◦ Menyimpan data di memori dimana lokasi variabel tersebut berada

Reference Variable vs. Primitive Variable Reference Variable ◦ Variabel yang disimpan pada alamat di

Reference Variable vs. Primitive Variable Reference Variable ◦ Variabel yang disimpan pada alamat di lokasi memori ◦ Menunjuk pada lokasi memory yang lain dimana data tersebut berada ◦ Ketika suatu variabel pada sebuah class dideklarasikan, sebenarnya yang dideklarasikan adalah reference variabel pada object di class tersebut.

contoh Misalkan ada dua variabel dengan tipe data int dan String. int num =

contoh Misalkan ada dua variabel dengan tipe data int dan String. int num = 10; String name = "Hello"

contoh Gambar di bawah ini adalah lokasi memory yang ada pada komputer, dimana terdapat

contoh Gambar di bawah ini adalah lokasi memory yang ada pada komputer, dimana terdapat alamat pada cell memory berupa nama variabel dan data yang dimiliki.

operator Beberapa ◦ ◦ tipe operator: arithmetic operator relational operator logical operator conditional operator

operator Beberapa ◦ ◦ tipe operator: arithmetic operator relational operator logical operator conditional operator Operator-operator diatas memiliki ciri tertentu sehingga compiler bisa mengetahui operator mana yang akan dievaluasi terlebih dahulu pada saat beberapa operator digunakan pada satu statement

Arithmetic Operator

Arithmetic Operator

contoh public class Arithmetic. Demo { public static void main(String[] args){ //beberapa angka int

contoh public class Arithmetic. Demo { public static void main(String[] args){ //beberapa angka int i = 37; int j = 42; double x = 27. 475; double y = 7. 22; System. out. println("Nilai Variabel. . . "); System. out. println(" i = " + i); System. out. println(" j = " + j); System. out. println(" x = " + x); System. out. println(" y = " + y); System. out. println("Penjumlahan. . . "); System. out. println(" i + j = " + (i + j)); System. out. println(" x + y = " + (x + y));

contoh //pengurangan angka System. out. println("Pengurangan. . . "); System. out. println(" i -

contoh //pengurangan angka System. out. println("Pengurangan. . . "); System. out. println(" i - j = " + (i – j)); System. out. println(" x - y = " + (x – y)); //pengalian angka System. out. println("Pengalian. . . "); System. out. println(" i * j = " + (i * j)); System. out. println(" x * y = " + (x * y)); //pembagian angka System. out. println("Pembagian. . . "); System. out. println(" i / j = " + (i / j)); System. out. println(" x / y = " + (x / y));

contoh //Penghitungan modulus (sisa pembagian) System. out. println("Penghitungan modulus. . . "); System. out.

contoh //Penghitungan modulus (sisa pembagian) System. out. println("Penghitungan modulus. . . "); System. out. println(" i % j = " + (i % j)); System. out. println(" x % y = " + (x % y)); } } //Penghitungan kombinasi variabel System. out. println("kombinasi variabel. . . "); System. out. println(" j + y = " + (j + y)); System. out. println(" i * x = " + (i * x));

Output program Nilai variabel. . . i = 37 j = 42 x =

Output program Nilai variabel. . . i = 37 j = 42 x = 27. 475 y = 7. 22 Penjumlahan. . . i + j = 79 x + y = 34. 695 Pengurangan. . . i - j = -5 x - y = 20. 255 Pengalian. . . i * j = 1554 x * y = 198. 37 Pembagian. . . i / j = 0 x / y = 3. 8054 Computing Nilai Modulus. . . i % j = 37 x % y = 5. 815 Kombinasi variabel. . . j + y = 49. 22 i * x = 1016. 58

Arithmetic Operator Catatan Ketika nilai integer dan angka floating-point digunakan sebagai operand pada operasi

Arithmetic Operator Catatan Ketika nilai integer dan angka floating-point digunakan sebagai operand pada operasi aritmatika, hasilnya akan menjadi floating point. Nilai secara implisit integer diubah menjadi nilai floating-point sebelum operasi berlangsung.

Operator Increment & Decrement unary increment operator (++) unary decrement operator (--) Increment dan

Operator Increment & Decrement unary increment operator (++) unary decrement operator (--) Increment dan decrement operator akan menambah dan mengurangi nilai dengan 1. Contoh, ekspresi berikut ini, count=count + 1; //increment the value of count by 1 adalah sama dengan, count++;

Operator Increment & Decrement

Operator Increment & Decrement

Operator Increment & Decrement Operator increment dan decrement dapat diletakkan sebelum atau sesudah operand.

Operator Increment & Decrement Operator increment dan decrement dapat diletakkan sebelum atau sesudah operand. Ketika digunakan sebelum operand, hal ini akan membuat variabel ditambah atau dikurangi dengan nilai 1, dan selanjutnya nilai yang baru akan digunakan pada ekspresi selanjutnya. Contoh, int i = 10; int j = 3; int k = 0; k = ++j + i; //akan menghasilkan k = 4+10 = 14

Operator Increment & Decrement Ketika operator increment dan decrement diletakkan setelah operand, nilai lama

Operator Increment & Decrement Ketika operator increment dan decrement diletakkan setelah operand, nilai lama dari variabel akan digunakan pada ekspresi selanjutnya. Contoh, int i = 10; int j = 3; int k = 0; k = j++ + i; //akan menghasilkan k = 3+10 = 13

Panduan penulisan program Gunakanlah ekspresi yang mengandung operator increment dan decrement yang simpel dan

Panduan penulisan program Gunakanlah ekspresi yang mengandung operator increment dan decrement yang simpel dan mudah dimengerti.

Relational Operator relational digunakan untuk membandingkan beberapa nilai dan menentukan hubungan antara nilai-nilai tersebut.

Relational Operator relational digunakan untuk membandingkan beberapa nilai dan menentukan hubungan antara nilai-nilai tersebut. Output dari perbandingan tersebut adalah nilai boolean antara true atau false.

contoh public class Relational. Demo{ public static void main(String[] args){ //beberapa angka int i

contoh public class Relational. Demo{ public static void main(String[] args){ //beberapa angka int i = 37; int j = 42; int k = 42; System. out. println("Nilai variabel. . . "); System. out. println(" i = " +i); System. out. println(" j = " +j); System. out. println(" k = " +k); //lebih besar dari System. out. println("Lebih besar. . . "); System. out. println(" i > j = "+(i>j)); //false System. out. println(" j > i = "+(j>i)); //true System. out. println(" k > j = "+(k>j)); //false

contoh //lebih besar atau sama dengan System. out. println("lebih besar atau sama dengan. .

contoh //lebih besar atau sama dengan System. out. println("lebih besar atau sama dengan. . . "); System. out. println(" i >= j = "+(i>=j)); //false System. out. println(" j >= i = "+(j>=i)); //true System. out. println(" k >= j = "+(k>=j)); //true //lebih kecil System. out. println("lebih kecil. . . "); System. out. println(" i < j = "+(i<j)); //true System. out. println(" j < i = "+(j<i)); //false System. out. println(" k < j = "+(k<j)); //false //lebih kecil atau sama dengan System. out. println("lebih kecil atau sama dengan. . . "); System. out. println(" i <= j = "+(i<=j)); //true System. out. println(" j <= i = "+(j<=i)); //false System. out. println(" k <= j = "+(k<=j)); //true

contoh //sama dengan System. out. println("sama dengan. . . "); System. out. println(" i

contoh //sama dengan System. out. println("sama dengan. . . "); System. out. println(" i == j = " + (i==j)); //false System. out. println(" k == j = " + (k==j)); //true //tidak sama dengan System. out. println("tidak sama dengan. . . "); System. out. println(" i != j = " + (i!=j)); //true System. out. println(" k != j = " + (k!=j)); //false } }

Output program Nilai i j k Lebih i j k variabel. . . =

Output program Nilai i j k Lebih i j k variabel. . . = 37 = 42 besar. . . > j = false > i = true > j = false besar atau sama dengan. . . >= j = false >= i = true >= j = true kecil. . . < j = true < i = false < j = false Lebih kecil atau sama dengan. . . i <= j = true j <= i = false k <= j = true Sama dengan. . . i == j = false k == j = true Tidak sama dengan. . . i != j = true k != j = false

Logical Operator Logical operator memiliki satu atau dua boolean operand yang akan me-return value

Logical Operator Logical operator memiliki satu atau dua boolean operand yang akan me-return value tipe boolean. Ada ◦ ◦ ◦ enam logical operator yaitu: && (logical AND) & (boolean logical AND) || (logical OR) | (boolean logical inclusive OR) ^ (boolean logical exclusive OR) ! (logical NOT)

Logical Operator Operasi dasar dari operasi logical adalah, x 1 op x 2 x

Logical Operator Operasi dasar dari operasi logical adalah, x 1 op x 2 x 1, x 2 op – dapat sebagai ekspresi boolean, variabel, atau konstanta – bisa sebagai operator &&, &, ||, | atau ^. berikut ini adalah tabel kebenaran, hasil-hasil dari operasi dari kombinasi nilai dari x 1 dan x 2.

Logical Operators: &&(logical) dan &(boolean logical) AND Berikut ini adalah tabel kebenaran untuk &&

Logical Operators: &&(logical) dan &(boolean logical) AND Berikut ini adalah tabel kebenaran untuk && dan &

Logical Operators: &&(logical) dan &(boolean logical) AND Perbedaan mendasar antara operator && dan &:

Logical Operators: &&(logical) dan &(boolean logical) AND Perbedaan mendasar antara operator && dan &: ◦ && dapat digunakan pada short-circuit evaluation (atau partial evaluation), sedangkan & tidak dapat. Terdapat sebuah ekspresi: exp 1 && exp 2 ◦ && akan mengecek ekspresi dari exp 1, dan selanjutnya akan memberikan nilai false jika exp 1 adalah false. ◦ Jika exp 1 adalah false, operator tidak mengecek nilai exp 2 karena hasilnya akan tetap false tanpa mengetahui nilai exp 2. ◦ Sebaliknya, operator & selalu mengecek semua ekspresi antara exp 1 dan exp 2 sebelum memberikan jawaban.

Logical Operators: &&(logical) dan &(boolean logical) AND public class Test. AND { public static

Logical Operators: &&(logical) dan &(boolean logical) AND public class Test. AND { public static void main( String[] args ){ int i = 0; int j = 10; boolean test= false; //contoh && test = (i > 10) && (j++ > 9); System. out. println(i); System. out. println(j); System. out. println(test); } } //contoh & test = (i > 10) & (j++ > 9); System. out. println(i); System. out. println(j); System. out. println(test);

Logical Operators: &&(logical) dan &(boolean logical) AND Output program, 0 10 false 0 11

Logical Operators: &&(logical) dan &(boolean logical) AND Output program, 0 10 false 0 11 false Perlu diperhatikan, bahwa j++ pada baris yang mengandung operator && tidak dicek, setelah diketahui bahwa ekspresi (i>10) bernilai false.

Logical Operators: || (logical) dan | (boolean logical) inclusive OR Berikut ini adalah tabel

Logical Operators: || (logical) dan | (boolean logical) inclusive OR Berikut ini adalah tabel kebenaran dari || dan |,

Logical Operators: || (logical) dan | (boolean logical) inclusive OR Perbedaan dasar antara operator

Logical Operators: || (logical) dan | (boolean logical) inclusive OR Perbedaan dasar antara operator || dan |. ◦ || mendukung short-circuit evaluations (atau partial evaluations), sedangkan | tidak. Terdapat sebuah ekspresi: exp 1 || exp 2 ◦ || akan mengecek ekspresi exp 1, dan langsung memberikan nilai true jika nilai dari exp 1 adalah true. ◦ Jika exp 1 true, operator tidak mengecek nilai dari exp 2 karena apapun nilai dari exp 2 akan tetap menghasilkan nilai true. ◦ Sedangkan operator | akan melakukan pengecekan pada exp 1 dan exp 2 sebelum memberikan nilai.

Logical Operators: || (logical) dan | (boolean logical) inclusive OR public class Test. OR

Logical Operators: || (logical) dan | (boolean logical) inclusive OR public class Test. OR { public static void main( String[] args ){ int i = 0; int j = 10; boolean test= false; //contoh || test = (i < 10) || (j++ > 9); System. out. println(i); System. out. println(j); System. out. println(test); } } //contoh | test = (i < 10) | (j++ > 9); System. out. println(i); System. out. println(j); System. out. println(test);

Logical Operators: || (logical) dan | (boolean logical) inclusive OR Output program adalah, 0

Logical Operators: || (logical) dan | (boolean logical) inclusive OR Output program adalah, 0 10 true 0 11 true Perlu diperhatikan, bahwa j++ pada baris yang mengandung operator || tidak dicek, setelah diketahui nilai dari ekspresi (i<10) adalah true.

Logical Operators: ^ (boolean logical exclusive OR) Berikut ini adalah tabel kebenaran ^ Hasil

Logical Operators: ^ (boolean logical exclusive OR) Berikut ini adalah tabel kebenaran ^ Hasil dari operasi eksklusif OR adalah TRUE, jika dan hanya jika satu operand yang bernilai true dan operand lain bernilai false. Perlu diperhatikan, bahwa semua operand akan dicek untuk menentukan hasil dari operasi eksklusif OR.

Logical Operators: ^ (boolean logical exclusive OR) public class Test. XOR { public static

Logical Operators: ^ (boolean logical exclusive OR) public class Test. XOR { public static void main( String[] args ){ boolean val 1 = true; boolean val 2 = true; System. out. println(val 1 ^ val 2); val 1 = false; val 2 = false; System. out. println(val 1 ^ val 2); val 1 = true; val 2 = false; System. out. println(val 1 ^ val 2); } }

Logical Operators: ^ (boolean logical exclusive OR) Output dari program, false true

Logical Operators: ^ (boolean logical exclusive OR) Output dari program, false true

Logical Operators: ! ( logical NOT) Logical NOT hanya memerlukan satu argumen, argumen tersebut

Logical Operators: ! ( logical NOT) Logical NOT hanya memerlukan satu argumen, argumen tersebut dapat berupa ekspresi, variabel atau konstanta. Berikut ini adalah tabel kebenaran !,

Logical Operators: ! ( logical NOT) public class Test. NOT { public static void

Logical Operators: ! ( logical NOT) public class Test. NOT { public static void main( String[] args ){ boolean val 1 = true; boolean val 2 = false; System. out. println(!val 1); System. out. println(!val 2); } } Output dari program adalah, false true

Logical Operators: Conditional Operator (? : ) Conditional operator ? : ◦ Merupakan ternary

Logical Operators: Conditional Operator (? : ) Conditional operator ? : ◦ Merupakan ternary operator. Hal ini berarti bahwa diperlukan tiga argumen bersamaan dari sebuah ekspresi conditional. ◦ Struktur dari ekspresi yang menggunakan conditional operator adalah exp 1? exp 2: exp 3 exp 1 – adalah ekspresi boolean yang memberikan hasil / nilai true atau false ◦ Hasil: Jika exp 1 adalah true, maka nilai dari exp 2 yang akan diberikan. Jika false, maka nilai dari exp 3 yang diberikan.

Logical Operators: Conditional Operator (? : ) public class Conditional. Operator { public static

Logical Operators: Conditional Operator (? : ) public class Conditional. Operator { public static void main( String[] args ){ String status = ""; int grade = 80; //Status dari siswa status = (grade >= 60)? "Passed": "Fail"; } } //Cetak status System. out. println( status ); Output program: Passed

Logical Operators: Conditional Operator (? : )

Logical Operators: Conditional Operator (? : )

OPERATOR GESER (Shift Operators) Ada 3 operator : 1. << : geser kiri (op

OPERATOR GESER (Shift Operators) Ada 3 operator : 1. << : geser kiri (op 1<<op 2: op 1 x(2^0 p 2) ) 2. >> : geser kanan bertanda (bit tanda tetap) 3. >>> : geser kanan tanpa tanda (bit tanda bisa berubah) Tipe data op 1: byte, short, int, long Sebelum operasi geser, terjadi promosi operand ke type data int Representasi dalam Two’s Complement

Contoh op 1 Contoh Hasil 0000 0010 (2) 2>>2 0000 (0) 1111 1110 (-2)

Contoh op 1 Contoh Hasil 0000 0010 (2) 2>>2 0000 (0) 1111 1110 (-2) 0000 0010 (2) -2>>2 1111 (-1) 1111 1110 (-2) 0000 0001 (1) -2>>>1 0111 1111 (127) 0000 0010 (2) 2<<2 0000 1000 (8)

Operator Inversion(~) Merubah bit 1 mejadi 0 dan 0 menjadi 1 Tipe data operand

Operator Inversion(~) Merubah bit 1 mejadi 0 dan 0 menjadi 1 Tipe data operand : byte, short, int, long, char Terjadi promosi ke int sebelum eksekusi operator Operand Contoh Operator ~ Hasil 1111 1110 (-2) ~-2 0000 0001 (1) 0000 0010 (2) ~2 1111 1101 -3 ‘f’ ~’f’ -103

Operator Precedence

Operator Precedence

Operator Precedence berikut ini terdapat ekspresi yang kompleks, 6%2*5+4/2+88 -10 ekspresi di atas dapat

Operator Precedence berikut ini terdapat ekspresi yang kompleks, 6%2*5+4/2+88 -10 ekspresi di atas dapat ditulis ulang ddengan memberikan tanda kurung berdasarkan prioritas operator, ((6%2)*5)+(4/2)+88 -10;

Panduan penulisan program Untuk menghindari kebingungan pada proses matematika, selalu gunakan ekspresi sederhana dengan

Panduan penulisan program Untuk menghindari kebingungan pada proses matematika, selalu gunakan ekspresi sederhana dengan menggunakan tanda kurung.

kesimpulan Java Comment (C++-Style Comment, C-Style Comment, Special Javadoc Comment) Java statement, block, identifier,

kesimpulan Java Comment (C++-Style Comment, C-Style Comment, Special Javadoc Comment) Java statement, block, identifier, keyword Java Literal (integer, floating point, boolean, character, String) Tipe data primitif( boolean, char, byte, short, int, long, float, double)

kesimpulan Variabel (deklarasi, inisialisasi, output) System. out. println() vs. System. out. print() Reference Variable

kesimpulan Variabel (deklarasi, inisialisasi, output) System. out. println() vs. System. out. print() Reference Variable vs. Primitive Variable Operator (Arithmetic operator, Increment dan Decrement operator, Relational operator, Logical operator, Conditional Operator (? : ), Operator Precedence)