Dasar Pemrograman Tujuan Mempelajari Program Java Pertama

advertisement
Tujuan
Setelah menyelesaikan bab ini, siswa diharapkan mampu:
JAVA Education Network Indonesia
Dasar Pemrograman
Pengenalan Pemrograman 1
• Mengidentifikasi bagian-bagian 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 yang telah dipelajari pada bab ini.
jeni.jardiknas.org
Mempelajari Program Java Pertama
Mempelajari Program Java Pertama
1
2
3
4
5
6
public class Hello
{
/**
* Program Java My first
*/
public static void main( String[] args ){
//menampilkan string Hello world pada layar
System.out.println(“Hello world”);
1
2
}
1
2
}
• Deklarasi nama dari class yaitu Hello
• Pada Java, semua code harus berada di dalam
deklarasi sebuah class.
• Class menggunakan akses berupa akses public, hal ini
bisa membuat class Hello bisa diakses oleh class lain
yang berada di luar packages (packages adalah
sekumpulan dari class). Kita akan membahas
packages dan akses class pada bab selanjutnya.
Mempelajari Program Java Pertama
public class Hello
{
/**
* Program Java My first
*/
• Baris berikutnya merupakan tanda kurung kurawal {
yang merupakan awal dari sebuah blok.
• Pada code ini, kita menempatkan tanda kurung
kurawal pada baris baru setelah deklarasi kelas,
akan tetapi kita dapat juga menempatkannya pada
awal baris. Sehingga code tersebut dapat ditulis
seperti:
public class Hello
{
/**
* Program Java My first
*/
Mempelajari Program Java Pertama
public class Hello
{
/**
* program Java My first
*/
• Tiga baris selanjutnya adalah comment pada Java.
• Comment:
– Catatan yang ditulis sebagai dokumentasi pada
sebuah bagian code.
– Comment bukanlah bagian dari program, akan
tetapi digunakan untuk tujuan dokumentasi.
– Dengan menambahkan comment pada source code
merupakan cara yang baik untuk berlatih
pemrograman.
Mempelajari Program Java Pertama
public class Hello
{
/**
* program Java My First
*/
public static void main( String[] args ){
• Merupakan nama dari sebuah method pada class
Hello yaitu main method.
• Main method merupakan starting point pada
program Java.
• Semua program Java kecuali Applet dijalankan
pada method main.
• Pastikan untuk mengikuti tanda yang tepat
Mempelajari Program Java Pertama
public class Hello
{
/**
* program Java My First
*/
public static void main( String[] args ){
//menampilkan string “Hello world” pada layar
• Baris selanjutnya adalah comment pada
Java.
Mempelajari Program Java Pertama
public class Hello
{
/**
* program Java My First
*/
public static void main( String[] args ){
//menampilkan string “Hello world” pada layar
System.out.println(“Hello world”);
Mempelajari Program Java Pertama
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() mencetak
text yang ada antara tanda petik ganda
pada layar.
Panduan Pemrograman
1. Program Java Anda harus diakhiri dengan
ekstensi berupa .java.
2. Nama file harus sama dengan nama dari class
public. Sebagai contoh, apabila nama dari class
public adalah Hello, anda harus menamakan
filenya Hello.java.
}
• Dua baris berikutnya yang terdapat dua
tanda kurung kurawal digunakan untuk
menutup method main dan deklarasi
class.
Java Comments
• Comments
– 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
3. Anda sebaiknya menuliskan comment untuk
menjelaskan perilaku dari sebuah class, atau
perilaku dari sebuah method.
– C++ Style Comment
– C Style Comment
– Special Javadoc Comment
Java Comments
• C++-Style Comment
– C++ Style comments diawali dengan tanda //
– Semua text sesudah // merupakan sebuah
comment
– Contoh:
// Ini adalah C++ style atau
single line comments
Java Comments
• C-Style Comments
– C-style comment disebut juga multiline comment,
diawali dengan tanda /* dan diakhiri dengan tanda
*/.
– Semua text yang berada 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 Comments
• Special Javadoc Comments
– 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 Statements
• Statement
– Satu atau beberapa baris code diakhiri dengan
sebuah tanda titik koma.
– Contoh:
System.out.println(“Hello world”);
Java Blocks
•
Block
– Adalah satu atau beberapa statement yang berada
diantara tanda kurung kurawal buka dan tanda kurung
kurawal tutup yang mengelompokkan beberapa
statement ke dalam sebuah unit.
– Block statement dapat disarangkan tidak terbatas.
– Beberapa spasi kosong diperbolehkan.
– Contoh:
public static void main( String[]args ){
System.out.println("Hello");
System.out.println("world”);
}
Panduan Pemrograman
Java Statement dan Block
1.
Untuk membuat block, Anda dapat menempatkan
kurung kurawal buka satu baris setelah deklarasi block.
Contohnya:
public static void main(String[] args){
atau Anda dapat menambahkannya pada baris berikutnya
seperti,
public static void main( String[] args )
{
Panduan Pemrograman
Java Statement dan Block
2. Anda sebaiknya memasukkan statement
pada baris selanjutnya setelah awal dari
block. Contohnya:
public static void main( String[]
args ){
System.out.println("Hello");
System.out.println("world");
}
Java Identifiers
• 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 kata
kunci Java (Java keyword) seperti class,
public, void, dll. Kita akan mempelajari lebih
tentang Java keyword pada bab
selanjutnya.
Panduan Pemrograman
Java Identifiers
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 Identifiers
• Identifier
– Adalah token (tanda) yang mewakili nama dari
variabel, method, class, dll.
– Contoh dari identifier adalah: Hello, main,
System, out.
• Java identifier adalah case-sensitive.
– Hal ini berarti bahwa identifier Hello tidak
sama dengan hello.
Panduan Pemrograman
Java Identifiers
1. Untuk penamaan class, gunakan huruf kapital
pada huruf awal dari nama class, contohnya,
ThisIsAnExampleOfClassName
2. Untuk nama dari method dan variabel, huruf
awal menggunakan huruf kecil. Contohnya,
thisIsAnExampleOfMethodName
Java Keywords
• Keyword adalah identifier khusus yang
sudah disediakan oleh Java untuk tujuan
tertentu.
• Anda tidak dapat menggunakan keyword
sebagai nama dari variabel, class, method
... dll.
• Berikut adalah daftar dari Java keyword
Java Keywords
Java Literals
• Literal adalah token (tanda) yang tidak
berubah atau konstan.
• Beberapa tipe literal dari Java adalah:
– Integer Literals
– Floating-Point Literals
– Boolean Literals
– Character Literals
– String Literals
Java Literals: Integer
Java Literals: Integer
• Integer literals memiliki beberapa bentuk yaitu:
– decimal (base 10)
– hexadecimal (base 16)
– octal (base 8).
• 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 Literals: 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 Literals: Boolean
• Boolean literal hanya memiliki dua nilai,
true atau false.
Java Literals: Character
Java Literals: Character
• Character Literal mewakili satu Unicode
characters.
• Untuk menggunakan sebuah character
literal, tandai character dengan memberikan
tanda petik satu diantaranya.
• Unicode character
• Contoh
– Adalah 16-bit character set yang
menggantikan 8-bit ASCII character set.
– Unicode mengijinkan pengisian simbol dan
special character dari bahasa lain.
Java Literals: String
• String literal mewakili banyak character dan
ditandai dengan tanda petik ganda.
• Contoh dari string literal adalah, “Hello
World”.
Tipe Data Primitif: Logical-boolean
• Tipe data boolean mewakili dua
pernyataan: true dan false.
• Contoh,
boolean result = true;
• Contoh diatas, mendeklarasikan sebuah
variabel bernama result sebagai tipe data
boolean dan memberikan nilai true.
– 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.
Tipe Data Primitif
• Bahasa pemrograman Java memiliki
delapan tipe data primitif.
– boolean (logical)
– char (textual)
– byte
– short
– int
– long (integral)
– double
– float (floating point).
Tipe Data Primitif: Textual-char
• Sebuah tipe data character (char), mewakili satu
Unicode character.
• Ditutup dengan tanda petik satu (' ').
• Contoh,
‘a’ //huruf a
‘\t’ //character tab
• Untuk mewakili special character seperti ' (tanda petik
satu) atau “ (tanda petik ganda), gunakan tanda
backslash \. Contoh,
'\'' //untuk tanda petik satu
'\"' //untuk tanda petik ganda
Tipe Data Primitif: Textual-char
Tipe Data Primitif:
Integral – byte, short, int & long
• Meskipun String bukanlah tipe data primitif
(merupakan Class), kita akan memperkenalkan String
pada bab ini.
• Tipe data integral pada Java memiliki tiga bentuk –
desimal, oktal atau heksadesimal.
• Contoh,
2 //nilai desimal 2
077 //Awalan 0 menandakan nilai oktal
0xBACC //Awalan 0x menandakan nilai
heksadesimal
• String mewakili tipe data yang mengandung banyak
character. String bukanlah tipe data primitif, akan
tetapi sebuah class.
• Tipe integral menggunakan int sebagai tipe data
default.
• Anda dapat mendefinisikan nilai longnya dengan
menambahkan huruf l atau L.
• Contoh:10L
• Ditutup dengan tanda petik ganda (“”).
• Contoh,
String message=“Hello world!”;
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, tidak disarankan
menggunakan huruf L kecil karena akan sulit
untuk membedakan dengan angka 1.
Tipe Data Primitif:
Floating Point – float and double
• Tipe floating point menggunakan double sebagi tipe data
default.
• 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 nilai
rentang:
Variabel
• Variabel adalah sebuah item dari data yang
digunakan untuk menyimpan sebuah nilai
dari objek.
Deklarasi dan Inisialisasi Variabel
• Mendeklarsikan variabel:
<tipe data> <nama> [=inisialisasi
nilai];
• Variabel memiliki:
– Tipe data
• Tipe data merupakan tipe dari nilai yang dapat
disimpan variabel.
– Nama
• Catatan: Nilai yang berada antara tanda <>
adalah nilai yang harus ada, sedangkan
nilai yang berada antara tanda [] adalah
optional (boleh tidak diisi).
• Nama variabel harus mengikuti aturan seperti
identifier.
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 Pemrograman
3. Deklarasikan satu variabel pada satu
baris code. Contohnya pada deklarasi
variabel-variabel berikut ini,
double exam=0;
double quiz=10;
double grade = 0;
adalah lebih baik daripada deklarasi
berikut ini,
double exam=0, quiz=10, grade=0;
Deklarasi dan Inisialisasi Variabel:
Panduan Pemrograman
1. Merupakan hal yang baik dilakukan untuk
menginisialisasi variabel setelah Anda
mendeklarasikannya.
2. Gunakan nama yang deskriptif untuk
menamakan variabel Anda. Contoh, jika anda
ingin mempunyai variabel yang mengandung
nilai grade dari siswa, beri nama variabel
tersebut dengan grade, bukan dengan huruf
random.
Mencetak Nilai Variabel
• Untuk mencetak nilai dari sebuah variabel,
kita dapat menggunakan command berikut
ini:
System.out.println()
System.out.print()
Outputting Variable Data:
Sample Program
1
2
3
4
5
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 );
1
2
}
3
4
}
Program diatas akan memberikan output yaitu:
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
10
The value of x=A
Contoh:
System.out.println() vs.System.out.print()
• 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 Variables vs.
Primitive Variables
• Reference Variables
– Variabel yang disimpan pada alamat di lokasi
memori
– Menunjuk pada lokasi memory yang lain
dimana data tersebut berada
– Ketika Anda mendeklarasikan variabel pada
sebuah class, Anda sebenarnya
mendeklarasikan reference variabel pada
object di class tersebut.
Reference Variables vs.
Primitive Variables
• Terdapat dua tipe variabel di Java:
– Primitive Variables
– Reference Variables
• Primitive Variables
– Adalah variabel dengan tipe data primitif
– Menyimpan data di memori dimana lokasi
variabel tersebut berada
Contoh
• Misalkan kita memiliki dua variabel dengan
tipe data int dan String.
int num = 10;
String name = "Hello"
Contoh
Operator
• Beberapa tipe operator:
– arithmetic operators
– relational operators
– logical operators
– conditional operators
• Gambar di bawah ini adalah lokasi memory
yang ada pada komputer, dimana Anda
memiliki alamat pada cell memory berupa
nama variabel dan data yang dimiliki.
• Operator-operator diatas memiliki ciri tertentu sehingga
compiler bisa mengetahui operator mana yang akan
dievaluasi terlebih dahulu pada saat banyak operator
digunakan pada satu statement
Arithmetic Operators:
Contoh Program
Arithmetic Operators
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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));
Arithmetic Operators:
Contoh Program
1
2
3
4
//pengurangan angka
System.out.println("Pengurangan...");
System.out.println("
i - j = " + (i – j));
System.out.println("
x - y = " + (x – y));
Arithmetic Operators:
Contoh Program
//Penghitungan modulus (sisa pembagian)
System.out.println("Penghitungan modulus...");
System.out.println("
i % j = " + (i % j));
System.out.println("
x % y = " + (x % y));
1
2
3
4
1
2
3
4
//pengalian angka
System.out.println("Pengalian...");
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));
1
2
3
4
1
2
3
4
//pembagian angka
System.out.println("Pembagian...");
System.out.println("
i / j = " + (i / j));
System.out.println("
x / y = " + (x / y));
5
}
6
}
Arithmetic Operators
Arithmetic Operators:
Contoh 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
• 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
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 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
int
int
k =
i =
j =
k =
++j
10;
3;
0;
+ 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
int
int
k =
13
i =
j =
k =
j++
10;
3;
0;
+ i; //akan menghasilkan k = 3+10 =
Relational Operators
Operator Increment & Decrement
Panduan Pemrograman
• Operator relational membandingkan beberapa nilai
dan menentukan hubungan antara nilai-nilai tersebut.
• Output dari perbandingan tersebut adalah nilai
boolean antara true atau false.
• Gunakanlah ekspresi yang mengandung
operator increment dan decrement yang
simpel dan mudah dimengerti.
Relational Operators:
Contoh Program
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
Relational Operators:
Contoh Program
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//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
Relational Operators:
Sample Program
1
2
3
4
5
6
7
8
9
10
//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
}
}
Relational Operators:
Contoh Output Program
Nilai
i
j
k
Lebih
i
j
k
Lebih
i
j
k
Lebih
i
j
k
variabel...
Lebih kecil atau sama dengan...
= 37
i <= j = true
= 42
j <= i = false
= 42
k <= j = true
besar...
Sama dengan...
> j = false
i == j = false
k == j = true
> i = true
> j = false
Tidak sama dengan...
besar atau sama dengan...
i != j = true
>= j = false
k != j = false
>= i = true
>= j = true
kecil...
< j = true
< i = false
< j = false
Logical Operators
• Logical operator memiliki satu atau dua
boolean operand yang akan memberikan
nilai hasil boolean.
• Ada enam logical operator yaitu:
– && (logical AND)
– & (boolean logical AND)
– || (logical OR)
– | (boolean logical inclusive OR)
– ^ (boolean logical exclusive OR)
– ! (logical NOT)
Logical Operators:
&&(logical) dan &(boolean logical) AND
Logical Operators
• Operasi dasar dari operasi logical adalah,
x1 op x2
dimana,
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
• Perbedaan mendasar antara operator && dan &:
• Berikut ini adalah tabel kebenaran untuk
&& dan &,
– && mendukung short-circuit evaluations (atau partial
evaluation), sedangkan & tidak mendukung.
• 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)
• Output dari program,
0
10
false
0
11
false
• Perlu dicatat, 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
• Perlu dicatat, 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 ^,
Logical Operators:
^ (boolean logical exclusive OR)
1
2
3
4
5
6
7
8
9
10
11
• Hasil dari operasi operasi eksklusif OR adalah TRUE,
jika dan hanya jika satu operand yang bernilai true dan
operand lain bernilai false.
• Perlu dicatat, bahwa semua operand akan dicek untuk
menentukan hasil dari operasi eksklusif OR.
12
13
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)
public class TestNOT {
public static void main( String[] args ){
boolean val1 = true;
boolean val2 = false;
System.out.println(!val1);
System.out.println(!val2);
}
}
1
2
3
4
5
6
7
8
• Output dari program adalah,
false
true
Logical Operators:
Conditional Operator (?:)
1
2
3
4
5
6
7
8
9
10
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 dari program,
Passed
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:
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
dimana,
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 (?:)
Operator Precedence
Operator Precedence
• Terdapat ekspresi yang rumit seperti,
6%2*5+4/2+88-10
dapat ditulis ulang dan memberikan tanda
kurung pada berdasarkan prioritas operator,
((6%2)*5)+(4/2)+88-10;
Operator Precedence:
Panduan Pemrograman
• Untuk menghindari kebingungan pada
proses matematika selalu gunakan ekspresi
yang simpel dengan menggunakan tanda
kurung.
Kesimpulan
• Variables (deklarasi,inisialisasi, output)
• System.out.println() vs.
System.out.print()
• Reference Variables vs. Primitive
Variables
• Operators (Arithmetic operators,
Increment dan Decrement operators,
Relational operators, Logical operators,
Conditional Operator (?:), Operator
Precedence)
Kesimpulan
• Java Comments (C++-Style Comments,
C-Style Comments, Special Javadoc
Comments)
• Java statements, blocks, identifiers,
keywords
• Java Literals (integer, floating point,
boolean, character, String)
• Tipe data primitif( boolean, char, byte,
short, int, long, float, double)
Download