Selamat Belajar !

Kamis, 23 Agustus 2012

Operator Precedence

Operator precedence didefinisikan sebagai perintah yang dilakukan compiler ketika
melakukan evaluasi terhadap operator, untuk mengajukan perintah dengan hasil yang tidak
ambigu/ hasil yag jelas.

Diberikan pernyataan yang membingungkan,
6%2*5+4/2+88-10
Kita dapat menuliskan kembali pernyataan diatas dan menambahkan beberapa tanda
kurung terhadap operator precedence,
((6%2)*5)+(4/2)+88-10;

Sumber : J.E.N.I.

Operator Kondisi(?:)

Operator kondisi ?: adalah operator ternary. Berarti bahwa operator ini membawa tiga
argumen yang membentuk suatu ekspresi bersyarat. Struktur pernyataan yang
menggunakan operator kondisi adalah,
exp1?exp2:exp3
Dimana nilai exp1 adalah suatu pernyataan boolean yang memiliki hasil yang salah satunya
harus berupa nilai true atau false.
Jika exp1 bernilai true, exp2 merupakan hasil operasi. Jika bernilai false, kemudian exp3
merupakan hasil operasinya.
Sebagai contoh, diberikan code sebagai berikut,
public class ConditionalOperator
{
public static void main( String[] args ){
String status = "";
int grade = 80;
//mendapatkan status pelajar
status = (grade >= 60)?"Passed":"Fail";
//print status
System.out.println( status );
}
}
Hasil keluaran dari program ini akan menjadi,
Passed
Berikut ini adalah flowchart yang menggambarkan bagaimana operator ?: bekerja,





Berikut ini adalah program lain yang menggunakan operator ?: ,
class ConditionalOperator
{
public static void main( String[] args ){
int score = 0;
char answer = 'a';
score = (answer == 'a') ? 10 : 0;
System.out.println("Score = " + score );
}
}
Hasil keluaran program adalah,
Score = 10

Sumber : J.E.N.I.

! (logika NOT)

Logika NOT digunakan dalam satu argumen, dimana argumen tersebut dapat menjadi suatu
pernyataan, variabel atau konstanta. Berikut ini adalah tabel kebenaran untuk operator
not!,

Berikut ini adalah contoh source code yang menggunakan operator logika NOT,

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

Hasil keluaran program adalah sebagai berikut,

false
true
 
Sumber : J.E.N.I.

^ (boolean logika ExclusiveOR )

Berikut ini adalah tabel kebenaran untuk ^,

Hasil operasi operator exclusive OR adalah TRUE, jika dan hanya jika satu operand bernilai
TRUE dan yang lain bernilai False. Catatan jika kedua operand harus selalu dievaluasi untuk
menjumlahkan hasil dari suatu exclusive OR.
Berikut ini adalah contoh source code yang menggunakan operator logika 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);
}
}

Hasil keluaran program tersebut adalah,
false
true
false
true
 
Sumber : J.E.N.I.

|| (logika OR) dan | (boolean logika inclusive OR)

 Berikut ini adalah tabel kebenaran untuk || dan |,



Perbedaan dasar antara operator || dan | adalah bahwa || mendukung short-circuit
evaluations (atau proses evaluasi sebagian), sementara | tidak. Apa maksud dari
pernyataan tersebut?
diberikan suatu pernyataan,
exp1 || exp2
|| akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai true dan
menyatakan bahwa exp1 bernilai true. Jika exp1 bernilai true, operator tidak akan pernah
mengevaluasi exp2 karena hasil dari operasi operator akan bernilai true tanpa
memperhatikan nilai dari exp2. Sebaliknya,operator | selalu mengevaluasi kedua nilai dari
exp1 and exp2 sebelum mengembalikan suatu jawaban suatu nilai.

Sumber : J.E.N.I.

&& (logika AND) dan & (boolean logika AND)

Berikut ini adalah tabel kebenaran untuk && dan &,

Perbedaan dasar antara operator && dan & adalah bahwa && mensupports short-circuit
evaluations (atau evaluasi perbagian), sementara operator & tidak. Apa arti dari
pernyataan tersebut?
Diberikan suatu pernyataan,

exp1 && exp2

&& akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai false dan
menyatakan bahwa exp1 bernilai false. Jika exp1 bernilai false, operator tidak akan pernah
mengevaluasi exp2 karena hasil operasi operator akan menjadi false tanpa memperhatikan
nilai dari exp2. Sebaliknya, operator & selalu mengevaluasi kedua nilai dari exp1 dan exp2
sebelum mengembalikan suatu nilai jawaban.

Sumber : J.E.N.I.

Operator logika

Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean.
Terdapat enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika
OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).

Pernyataan dasar untuk operasi logika adalah,

x1 op x2

Dimana x1, x2 dapat menjadi pernyataan boolean. Variabel atau konstanta, dan op adalah
salah satu dari operator &&, &, ||, | atau ^. Tabel kebenaran yang akan ditunjukkan
selanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasi
yang mungkin dari x1 dan x2.

Sumber : J.E.N.I.

Operator Relasi

Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilainilai
tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false.

Sumber : J.E.N.I.

Operator Increment dan Decrement

Dari sisi operator dasar aritmatika, Java juga terdiri atas operator unary increment (++)
dan operator unary decrement (--). operator increment dan decrement menambah dan
mengurangi nilai yang tersimpan dalam bentuk variabel angka terhadap nilai 1.
Sebagai contoh, pernyataan,

count = count + 1; //increment nilai count dengan nilai 1

pernyataan tersebut sama dengan,

count++;

Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand.
Ketika digunakan sebelum operand, akan menyebabkan variabel diincrement atau
didecrement dengan nilai 1, dan kemudian nilai baru digunakan dalam pernyataan dimana
dia ditambahkan. Sebagai contoh,
int i = 10,
int j = 3;
int k = 0;
k = ++j + i; //akan menghasilkan k = 4+10 = 14
Ketika operator increment dan decrement ditempatkan setelah operand, nilai variabel yang
lama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana dia
ditambahkan.

 
Sumber : J.E.N.I.

Operator Aritmatika

Berikut ini adalah dasar operator aritmatika yang dapat digunakan untuk membuat suatu
program Java,


Sumber : J.E.N.I.

Variabel Reference dan Variabel Primitif

Sekarang kita akan membedakan dua tipe variabel yang dimiliki oleh program Java. Ada
variabel reference dan variabel primitif .

Variabel primitif adalah variabel dengan tipe data primitif. Mereka menyimpan data dalam
lokasi memori yang sebenarnya dimana variabel tersebut berada.

Variabel Reference
adalah variabel yang menyimpan alamat dalam lokasi memori. Yang
menunjuk ke lokasi memori dimana data sebenarnya berada. Ketika Anda mendeklarasikan
variabel pada class tertentu, Anda sebenarnya mendeklarasikan reference variable dalam
bentuk objek dalam classnya tersebut.

System.out.println() vs. System.out.print()

Apa yang membedakan diantara perintah System.out.println() and System.out.print()?
Yang pertama menambahkan baris baru pada akhir data untuk dikeluarkan, sementara
selanjutnya tidak.
Perhatikan pernyataan tersebut,

System.out.print("Hello ");
System.out.print("world!");

Pernyataan tersebut akan menghasilkan output berikut ini pada layar,

Hello world!

Sekarang perthatikan pernyataan berikut,

System.out.println("Hello ");
System.out.println("world!");

Pernyataan ini akan menghasilkan output sebagai berikut pada layar,

Hello
world!

Menampilkan Data Variabel

Untuk mengeluarkan nilai dari variabel yang diinginkan, kita dapat menggunakan perintah
sebagai berikut,

                                System.out.println()
                                System.out.print()

Berikut ini adalah 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 tersebut akan mengeluarkan teks berikut pada layar,
10
The value of x=A

Sumber : J.E.N.I.

Deklarasi dan Inisialisasi Variabel

Untuk deklarasi variabel adalah sebagai berikut,

                                     <data tipe> <name> [=initial value];

Catatan: Nilainya berada diantara <> adalah nilai yang disyaratkan, sementara nilai dalam
tanda [] bersifat optional.
Berikut ini adalah contoh program yang mendeklarasikan dan menginisialisasi beberapa
variabel,

public class VariableSamples
{
public static void main( String[] args ){
//deklarasi tipe data dengan nama variable
// result dan tipe data boolean
boolean result;
//deklarasi tipe data dengan nama variabel
// option dan tipe data char
char option;
option = 'C'; //menandai 'C' sebagai option
//deklarasi tipe data dengan nama variabel
//grade, double tipe data dan telah di inisialisasi
//to 0.0
double grade = 0.0;
}
}

Sumber : J.E.N.I.

Variabel

Variabel adalah item yang digunakan data untuk menyimpan pernyataan objek.
Variabel memiliki tipe data dan nama. Tipe data menandakan tipe nilai yang dapat
dibentuk oleh variabel itu sendiri. Nama variabel harus mengikuti aturan untuk identifier.

Sumber : J.E.N.I.

Tipe Data Primitif

Bahasa pemrograman Java mendefinisikan delapan tipe data primitif. Mereka diantaranya
adalah boolean (untuk bentuk logika), char (untuk bentuk tekstual), byte, short, int, long
(integral), double and float (floating point).

logika - boolean
Tipe data boolean diwakili oleh dua pernyataan : true dan false. Sebagai contoh adalah,
boolean result = true;
Contoh yang ditunjukkan diatas, mendeklarasikan variabel yang dinamai result sebagai
tipe data boolean dan memberinya nilai

 teksual – char
Tipe data character (char), diwakili oleh karakter single Unicode. Tipe data ini harus
memiliki ciri berada dalam tanda single quotes(’ ’). Sebagai contoh,
‘a’ //Huruf a
‘\t’ //A tab
Untuk menampilkan karakter khusus seperti ' (single quotes) atau " (double quotes),
menggunakan karakter escape \. Sebagai contoh,
'\'' //untuk single quotes
'\"' //untuk double quotes
Meskipun String bukan merupakan tipe data primitif (namun merupakan suatu Class),kita
akan memperkenalkan mengenai pada bagian ini. String mewakili tipe data yang terdiri atas
beberapa karakter. Mereka tidak termasuk tipe data primitif, melainkan suatu class.
Mereka memiliki literal yang terdapat diantara tanda double quotes(“”).
Sebagai contoh,
String message=“Hello world!”

Integral – byte, short, int & long
Tipe data integral dalam Java menggunakan tiga bentuk- yaitu desimal, oktal atau
heksadesimal. Contohnya,
2 //nilai desimal 2
077 //angka 0 pada awal pernyataan mengindikasikan nilai oktal
0xBACC //karakter 0x mengindikasikan nilai heksadesimal
Tipe-tipe integral memiliki default tipe data yaitu int. Anda dapat merubahnya ke bentuk
long dengan menambahkan huruf l atau L. Tipe data integral memiliki range sebagai
berikut:

Floating Point – float dan double
Tipe Floating point memiliki double sebagai default tipe datanya. Floating-point literal
termasuk salah satunya desimal point atau salah satu dari pilihan berikut ini,
E or e //(add exponential value)
F or f //(float)
D or d //(double)
Contohnya adalah,
3.14 //nilai floating-point sederhana (a double)
6.02E23 //A nilai floating-point yang besar
2.718F //A nilai float size sederhana
123.4E+306D //A nilai double yang besar dengan nilai redundant D
Pada contoh yang ditunjukkan diatas, 23 setelah E pada contoh kedua bernilai positif.
Contoh tersebut sama dengan 6.02E+23. Tipe data Floating-point memiliki range sebagai
berikut:

Sumber : J.E.N.I.


Java Literals

Literals adalah tanda bahwa tidak terjadi perubahan atau konstan. Macam-macam literals
dalam Java adalah : Integer Literals, Floating-Point Literals, Boolean Literals, Character
Literals dan String Literals.

Integer Literals
Integer literals dibedakan dalam beberapa format yang berbeda: desimal (berbasis 10),
heksadesimal (berbasis 16), and oktal (berbasis 8). Dalam penggunaan tipe data integer
pada program, kita harus mengikuti aturan penggunaan beberapa notasi khusus.

Untuk angka desimal, kita tidak memerlukan notasi khusus. Kita hanya menulis angka
desimal seperti apa adanya. untuk angka heksadesimal, hal itu harus ditandai oleh “0x”
atau “0X”. untuk oktal, ditandai oleh“0”.
Sebagai contoh, mewakili angka 12. Penulisan dalam bentuk desimalnya adalah 12,
Sementara dalam heksadesimal, menjadi 0xC, dan dalam oktal, nilai tersebut sama dengan
014.
Default tipe data untuk integer literals adalah int. Int adalah signed 32-bit value. Pada
kasus-kasus tertentu Anda dapat berharap untuk memaksa integer literal untuk menjadi
tipe data long dengan menambahkan karakter “l” or “L”. tipe data long ditandai oleh
ditampilkannya data dalam 64-bit. Kita akan membahas mengenai tipe data pada
kesempatan selanjutnya.

 Floating-Point Literals
Floating point literals mewakili bentuk desimal dengan bagian yang terpisah. Sebagai
contoh adalah 3.1415. Floating point literals dapat dinyatakan dalam notasi standard atau
scientific. Sebagai contoh, 583.45 dinyatakan dalam notasi standard, Sementara 5.8345e2
dinyatakan dalam notasi scientific.
Default Floating point literals mempunyai tipe data double yang dinyatakan dalam 64-bit.
Untuk menggunakan ketelitian yang lebih kecil (32-bit) float, hanya dengan menambahkan
karakter “f” atau “F”.

Boolean Literals
Boolean literals hanya memiliki dua nilai, true atau false.

Character Literals
Character Literals diwakili oleh karakter single Unicode. Karakter Unicode adalah 16-bit
character set yang menggantikan 8-bit ASCII character set. Unicode memungkinkan
pengunaan simbol dan karakter khusus dari bahasa lain.
Untuk menggunakan character literals, karakter tersebut di dalam tanda single pute (' ')
(single quote delimiters). Sebagai contoh huruf a, diwakili sebagai ‘a’.
Untuk menggunakan karakter khusus seperti karakter baris baru, backslash digunakan
diikuti dengan karakter kode. Sebagai contoh, ‘\n’ untuk karakter baris baru atau ganti
baris, ‘\r’ untuk menyatakan nilai balik (carriage return), ‘\b’ untuk backspace.

String Literals
String literals mewakili beberapa karakter dan dinyatakan dalam tanda double pute(“ ”)(
double quotes). Sebagai contoh string literal adalah, “Hello World”.

Sumber : J.E.N.I.

Keyword dalam JAVA

Kata kunci adalah identifier yang telah dipesan untuk didefinisikan sebelumnya oleh Java
untuk tujuan tertentu. Anda tidak dapat menggunakan keyword sebagai nama variabel,
class, method Anda, dsb. Berikut ini adalah daftar dari kata kunci dalam Java (Java
Keywords).

Java Key Word


Kita akan berdiskusi tentang semua arti dari masing-masing kata kunci dan bagaimana
mereka digunakan dalam proses penulisan program Java.
Catatan: true, false, dan null bukan termasuk kata kunci akan tetapi mereka termasuk
kata-kata khusus, jadi Anda tidak dapat menggunakan mereka sebagai nama variabel pada
program Anda.

Sumber : J.E.N.I.