Anda di halaman 1dari 94

Dasar pemrograman

Pengenalan Pemrograman 1

Versi
2.0
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 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 - 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 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 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 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 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 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 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 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.

◦ 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 //

◦ 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 /* 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 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 titik koma.

◦ Contoh:

System.out.println(“Hello world”);
int a=5;
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 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. 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, 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 “_”
◦ 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 nama class, contohnya,
ThisIsAnExampleOfClassName

2. Untuk penamaan method dan variabel,


gunakan huruf kecil di awal nama, contohnya,
thisIsAnExampleOfMethodName
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,

charArray, fileNumber, ClassName

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.

 Keyword tidak dapat digunakan sebagai nama dari


variabel, class, method ... dll.

 daftar dari Java keyword, terdapat pada slide berikut ini


Java keyword
Java literal

 Literal
merupakan tanda(token) yang tidak
berubah(konstan)
 Beberapa tipe literal dari Java adalah:
◦ Integer Literal
◦ Floating-Point Literal
◦ Boolean Literal
◦ Character Literal
◦ String Literal
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
◦ Tidak ada penandaan khusus
◦ contoh: 12

Hexadecimal
◦ Diawali dengan 0x atau 0X
◦ contoh: 0xC

Octal
◦ Diawali dengan 0
◦ contoh: 014
Java literal : floating point

Mewakili bilangan desimal dengan


pecahan
◦ Contoh: 3.1416

Dapat ditulis dengan notasi standard atau


scientific
◦ Contoh:
583.45 (standard)
5.8345e2 (scientific)
Java literal : boolean

Boolean literal hanya memiliki dua nilai,

true
false
Java literal : character

Character literal mewakili satu Unicode


character.

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 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

String literal mewakili banyak character


dan ditandai dengan tanda petik ganda.

Contoh dari string literal adalah, “Hello


World”.
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
0xBACC //Awalan 0x menandakan nilai heksadesimal

Tipe integral menggunakan int sebagai tipe data default.

Nilai long dapat didefinisikan dengan menambahkan huruf l atau L.


Contoh: 10L
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 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

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 //Sebuah floating-point (double)
6.02E23 //Nilai floating-point yang besar
2.718F //Sebuah nilai float
123.4E+306D //Sebuah nilai double dengan redundan D
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 memiliki:
◦ Tipe data
Tipe data merupakan tipe dari value yang dapat
disimpan variabel.
◦ Nama
Nama variabel harus mengikuti aturan seperti
identifier.
Deklarasi dan Inisialisasi
Variabel

Variabel dapat dideklarasikan dengan menggunakan sintaks:

<tipe data> <nama> [=inisialisasi value];

 Catatan: 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 VariableSamples {


public static void main( String[] args ){

//deklarasikan sebuah tipe data dengan nama variabel


// result dan tipe data boolean
boolean result;

//deklarasikan sebuah tipe data dengan nama variabel


// option dan tipe data char
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 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 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 ini:

System.out.println()
System.out.print()
Mencetak data variabel:
Contoh Program

public class OutputVariable {


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 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:
HelloWorld

Program 2:

System.out.println(“Hello”);
System.out.println(“World”);

Output:
Hello
World
Reference Variable vs.
Primitive Variable

 Terdapat dua tipe variabel di Java:


◦ Primitive Variable
◦ Reference Variable

 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 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 = 10;


String name = "Hello"
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-operatordiatas memiliki ciri tertentu


sehingga compiler bisa mengetahui operator mana
yang akan dievaluasi terlebih dahulu pada saat
beberapa operator digunakan pada satu statement
Arithmetic Operator
contoh

public class ArithmeticDemo {


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 - 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.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... Pembagian...


i = 37 i / j = 0
j = 42 x / y = 3.8054 Computing
x = 27.475 Nilai Modulus...
y = 7.22 i % j = 37
Penjumlahan... x % y = 5.815
i + j = 79 Kombinasi variabel...
x + y = 34.695 j + y = 49.22
Pengurangan... i * x = 1016.58
i - j = -5
x - y = 20.255
Pengalian...
i * j = 1554
x * y = 198.37
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 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 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
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 mudah dimengerti.
Relational Operator
 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 RelationalDemo{


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...");
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 == 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 variabel... Lebih kecil atau sama dengan...


i = 37 i <= j = true
j = 42 j <= i = false
k = 42 k <= j = true
Lebih besar... Sama dengan...
i > j = false i == j = false
j > i = true k == j = true
k > j = false Tidak sama dengan...
Lebih besar atau sama dengan... i != j = true
i >= j = false k != j = false
j >= i = true
k >= j = true
Lebih kecil...
i < j = true
j < i = false
k < j = false
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,

x1 op x2

x1, x2 – dapat sebagai ekspresi boolean, variabel, atau


konstanta
op – bisa sebagai operator &&, &, ||, | atau ^ .

berikut ini adalah tabel kebenaran, hasil-hasil dari operasi dari


kombinasi nilai dari x1 dan x2.
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 &:


◦ && dapat digunakan pada short-circuit evaluation (atau
partial evaluation), sedangkan & tidak dapat.

 Terdapat sebuah ekspresi:

exp1 && exp2

◦ && akan mengecek ekspresi dari exp1, dan selanjutnya akan


memberikan nilai false jika exp1 adalah false.
◦ Jika exp1 adalah false, operator tidak mengecek nilai exp2
karena hasilnya akan tetap false tanpa mengetahui nilai exp2.
◦ Sebaliknya, operator & selalu mengecek semua ekspresi
antara exp1 dan exp2 sebelum memberikan jawaban.
Logical Operators:
&&(logical) dan &(boolean logical) AND

public class TestAND {


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
false

 Perludiperhatikan, 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 kebenaran dari || dan |,


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:


exp1 || exp2
◦ || akan mengecek ekspresi exp1, dan langsung memberikan
nilai true jika nilai dari exp1 adalah true.
◦ Jika exp1 true, operator tidak mengecek nilai dari exp2 karena
apapun nilai dari exp2 akan tetap menghasilkan nilai true.
◦ Sedangkan operator | akan melakukan pengecekan pada exp1
dan exp2 sebelum memberikan nilai.
Logical Operators: || (logical) dan
| (boolean logical) inclusive OR

public class TestOR {


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
10
true
0
11
true

 Perludiperhatikan, 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 dari operasi 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 TestXOR {


public static void main( String[] args ){
boolean val1 = true;
boolean val2 = true;
System.out.println(val1 ^ val2);
val1 = false; val2 = true;
System.out.println(val1 ^ val2);
val1 = false; val2 = false;
System.out.println(val1 ^ val2);
val1 = true; val2 = false;
System.out.println(val1 ^ val2);
}
}
Logical Operators:
^ (boolean logical exclusive OR)

Output dari program,

false
true
false
true
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 TestNOT {


public static void main( String[] args ){
boolean val1 = true;
boolean val2 = false;
System.out.println(!val1);
System.out.println(!val2);
}
}

Output dari program adalah,


false
true
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

exp1?exp2:exp3

exp1 – adalah ekspresi boolean yang memberikan hasil / nilai true


atau false

◦ Hasil:
Jika exp1 adalah true, maka nilai dari exp2 yang akan diberikan.
Jika false, maka nilai dari exp3 yang diberikan.
Logical Operators:
Conditional Operator (?:)

public class ConditionalOperator {


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 (?:)
OPERATOR GESER (Shift
Operators)

 Ada 3 operator :
1. << : geser kiri (op1<<op2:op1x(2^0p2) )
2. >> : geser kanan bertanda (bit tanda tetap)
3. >>> : geser kanan tanpa tanda (bit tanda
bisa berubah)
Tipe data op1:byte, short,int, long
Sebelum operasi geser, terjadi promosi operand
ke type data int
Representasi dalam Two’s Complement
Contoh

op1 op1 Contoh Hasil


0000 0010 0000 0010 2>>2 0000 0000
(2) (2) (0)
1111 1110 0000 0010 -2>>2 1111 1111
(-2) (2) (-1)
1111 1110 0000 0001 -2>>>1 0111 1111
(-2) (1) (127)
0000 0010 0000 0010 2<<2 0000 1000
(2) (2) (8)
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 Hasil


Operator ~
1111 1110 ~-2 0000 0001
(-2) (1)
0000 0010 ~2 1111 1101
(2) -3
‘f’ ~’f’ -103
Operator Precedence
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 menggunakan
tanda kurung.
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 vs. Primitive Variable
 Operator (Arithmetic operator, Increment dan
Decrement operator, Relational operator, Logical
operator, Conditional Operator (?:), Operator
Precedence)

Anda mungkin juga menyukai