0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan20 halaman

Dasar Pemrograman Java: Identifiers & Keywords

Dokumen ini membahas dasar-dasar pemrograman Java, termasuk pengenalan Java identifier, keywords, dan literals. Selain itu, dijelaskan juga tentang tipe data dasar, variabel, serta cara penulisan komentar dalam kode Java. Materi ini bertujuan untuk memberikan pemahaman awal bagi mahasiswa dalam mempelajari pemrograman menggunakan bahasa Java.

Diunggah oleh

Rafi Luthfi
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan20 halaman

Dasar Pemrograman Java: Identifiers & Keywords

Dokumen ini membahas dasar-dasar pemrograman Java, termasuk pengenalan Java identifier, keywords, dan literals. Selain itu, dijelaskan juga tentang tipe data dasar, variabel, serta cara penulisan komentar dalam kode Java. Materi ini bertujuan untuk memberikan pemahaman awal bagi mahasiswa dalam mempelajari pemrograman menggunakan bahasa Java.

Diunggah oleh

Rafi Luthfi
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Materi Pemrograman Java Universitas Pamulang

Pertemuan II
DASAR PEMROGRAMAN

2.1. Java Identifier


Java identifier adalah suatu tanda yang mewakili nama-nama variabel, metode,
kelas, paket, dan interface. Contoh dari identifier adalah : Hello, main, System, out.
Pendeklarasian Java adalah case-sensitive, yaitu membedakan huruf besar
(kapital) dan huruf kecil. Hal ini berarti bahwa identifier : Hello tidak sama dengan hello.
Identifier harus dimulai dengan huruf, underscore “_”, atau tanda dollar “$”. Karakter
selanjutnya dapat menggunakan huruf atau nomor 0 sampai 9.
Huruf pada identifier dapat berupa huruf besar (kapital), huruf kecil maupun
karakter unicode yang menunjukkan huruf dari suatu bahasa, seperti huruf jerman “ä”
(umlaut) atau yunani ”Π”.
Meskipun penamaan identifier dapat diawali dengan underscore “_” atau tanda
dollar “$”, tetapi sebaiknya dihindari, karena mungkin digunakan untuk pengolahan
internal dan file import.
Penamaan identifier dapat menggunakan karakter yang panjangnya tidak
terbatas, tetapi lebih baik menggunakan karakter secukupnya dan merepresentasikan
fungsi identifier.
Identifier tidak boleh menggunakan symbol-simbol seperti “+”, spasi, “@” dan lain
sebagainya. Identifier juga tidak boleh menggunakan reserved words atau keywords
java. Identifier tidak boleh mengandung spasi atau white space.
Identifier tidak dapat menggunakan kata kunci (keywords) dalam Java seperti
class, public, void, dsb, yang akan dibahas selanjutnya.

2.2. Java Keywords


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

Tabel 2.1. Daftar Java Keywords

abstract continue for new switch


assert*** default goto* package sysnchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum**** instanceof return transient
cath extends int short try
char final interface static void
class finally long strictfp volatile
const* float native super while

[Link]@[Link] (2010) page 1 of 20


Materi Pemrograman Java Universitas Pamulang

Keterangan :
* Tidak digunakan
** Ditambahkan pada versi 1.2
*** Ditambahkan pada versi 1.4
**** Ditambahkan pada versi 5.0

Catatan: true, false, dan null bukan termasuk kata kunci, tetapi termasuk kata-kata
khusus, jadi kita tidak dapat menggunakannya sebagai nama identifier.

2.3. Java Literals


Penulisan besaran untuk variable adalah penting, literal di java terdiri dari :
a. Angka
b. Karakter
c. String

Angka terdiri dari bilangan bulat (integer), bilangan mengambang (Floating-point)


dan boolean. Boolean dianggap angka karena nilai true dan false direpresentasikan
sebagai 1 dan 0. Karakter selalu mengacu ke Unicode, sedangkan string berisi rangkaian
karakter.

2.3.1. Literal Integer


Bilangan integer dapat mempunyai beberapa format berikut :
a. Decimal (basis 10), ditulis bilangan biasa tanpa notasi khusus.
b. Hexadecimal (basis 16), penulisan dimulai 0x atau 0X serupa dengan cara C/C++
c. Octal (basis 8), penulisandimulaidengan 0.

Contoh :
Penulisan decimal : 9, 15, 28
Penulisan hexadecimal : 0xA, 0X1F, 0XD4
Penulisan octal : 06, 014, 027

2.3.2. Literal Floating-Point


Floating point literals mewakili bentuk decimal 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”.

2.3.3. Literal Boolean


Boolean literals hanya memiliki dua nilai, yaitu true dan false.

2.3.4. Literal Karakter


Character Literals diwakili oleh karakter single Unicode. Karakter Unicode
adalah 16-bit character set yang menggantikan 8-bit ASCII character set. Unicode
memungkinkan pengunaan symbol dan karakter khusus dari bahasa lain.

[Link]@[Link] (2010) page 2 of 20


Materi Pemrograman Java Universitas Pamulang

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 backslash (\) diikuti dengan karakter kode. Sebagai contoh, ‘\n’ untuk
karakter baris baru atau ganti baris, ‘\r’ untuk menyatakan nilai balik (carriage
return), ‘\b’ untuk backspace.

Tabel 2.2. Karakter spesial yang didukung java

Representasi Deskripsi
\\ Backslah
\ Continuation
\b Backspace
\r Carriage return
\f Form feed
\t Horizontal tab
\n Newline
\’ Single quote
\” Double quote
\ddd Octal character (\000 sampai \377)
\udddd Unicode character (\u0000 sampai \uFFFF)

Contoh penggunaan karakter spesial :

[Link]
import [Link].*;

public class LiteralChar {


public static void main (String args[]) {
[Link]("literal java :\'"+'\n'+"\' slash n");
[Link]("literal java :\'"+'\r'+"\' slash r");
[Link]("literal java :\'"+'\b'+"\' slash b");
[Link]("literal java :\'"+'\t'+"\' slash t");
[Link]("literal java :\'"+'\f'+"\' slash f");
[Link]("literal java :\'"+'\101'+"\' slash 101");
[Link]("literal java :\'"+'\u0416'+"\' slash u0416");

[Link](null,"literal java :\'"+'\u0416'+


"\' slash u0416");
}
}

2.3.5. Literal String


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

2.4. Pernyataan Dalam Java dan Blok


Pernyataan adalah satu atau lebih baris kode yang diakhiri dengan semicolon (;),
Sebagai contoh untuk pernyataan tunggal adalah :

[Link]@[Link] (2010) page 3 of 20


Materi Pemrograman Java Universitas Pamulang

[Link](“Program Java”);

Blok adalah satu atau lebih pernyataan yang terbentang antara kurung kurawal
“{“ buka dan kurung kurawal tutup “}” yaitu sekumpulan pernyataan sebagai satu unit
kesatuan. Blok pernyataan dapat dikumpulkan akan tetapi tidak secara pasti
mempunyai keterkaitan fungsi. Beberapa jumlah spasi kosong diijinkan terdapat
didalamnya, sebagai contoh dari suatu blok adalah :

public static void main( String[] args ){


[Link]("Program");
[Link]("Java");
}

2.5. Komentar
Komentar adalah catatan yang ditulis pada kode dengan tujuan sebagai bahan
dokumentasi. Teks tersebut bukan bagian dari program dan tidak mempengaruhi
jalannya program. Java mendukung tiga jenis komentar, yaitu C++ style komentar satu
baris, C style beberapa baris, dan komentar java doc khusus.

2.5.1. Penulisan Komentar C++ Style


Komentar C++ style diawali dengan double slash (//), semua teks setelah //
dianggap sebagai komentar, sebagai contoh :

// This is a C++ style or single line comments

2.5.2. Penulisan Komentar C Style


Komentar C style atau juga disebut komentar beberapa baris diawali dengan /*
dan diakhiri dengan */. Semua teks yang ada diantara kedua tanda tersebut
dianggap sebagai komentar.
Tidak seperti komentar C++ style, komentar ini dapat menjangkau beberapa
baris, sebagai contoh :

/* this is an example of a
C style or multiline comments */

2.5.3. Komentar Khusus Java Doc


Komentar java doc khusus digunakan untuk men-generate dokumentasi HTML
untuk program java anda. Anda dapat menciptakan komentar java doc dengan
memulai baris dengan /** dan mengakhirinya dengan */. Seperti komentar C style,
penulisan komentar ini dapat menjangkau beberapa baris. Komentar ini juga dapat
terdiri atas tag-tag untuk menambahkan lebih banyak informasi pada komentar
Anda. Sebagai 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
*/

[Link]@[Link] (2010) page 4 of 20


Materi Pemrograman Java Universitas Pamulang

2.6. Tipe Data Dasar (Primitive)


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

2.6.1. Logika (boolean)


Tipe data Boolean memiliki dua nilai, yaitu 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 true.

2.6.2. Teksual (char)


Tipe data character (char), diwakili oleh karakter single unicode yang terdiri
dari 16 bit unsigned integer. Tipe data ini harus memiliki cirri berada dalam tanda
single quotes(’ ’). Sebagai contoh :

„a‟ //huruf a
„\t‟ //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 string pada bagian ini. String mewakili
tipe data yang terdiri atas beberapa karakter. String memiliki literal yang terdapat
diantara tanda double quotes (“ ”), sebagai contoh :

String Pesan = “Silahkan belajar Java !”

2.6.3. Integral (byte, short, int dan long)


Tipe data integral dalam Java menggunakan tiga bentuk, yaitu desimal, octal
dan 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:

[Link]@[Link] (2010) page 5 of 20


Materi Pemrograman Java Universitas Pamulang

Tabel [Link]-tipe integral dan jangkauannya

Tipe Ukuran Jangkauan


Byte 8 bit -128 sampai 127
Short 16 bit -32,768 sampai 32,767
Int 32 bit -2,147,483,648 sampai 2,147,483,647
Long 64 bit -9,223,372,036,854,775,808 sampai +9,223,372,036,854,775,807

Catatan :
Dalam mendefinisikan suatu nilai long tidak dianjurkan menggunakan
lowercase L, karena sulit dibedakan dengan angka 1.

2.6.4. Floating Point (float dan double)


Tipe data floating point memiliki nilai standar double. 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 (double)


6.02E23 //nilai floating-point yang besar
2.718F //nilai float size sederhana
123.4E+306D //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
jangkauan sebagai berikut:

Table 2.4. Tipe Floating point dan jangkauannya

Tipe Ukuran Range


Float 32 bit +/-1.4E-45 sampai +/-3.4028235E+38,
+/-infinity (continue), +/-0, NAN (Not a Number)
Double 64 bit +/-4.9E-324 sampai +/-1.7976931348623157E+308,
+/-infinity (continue), +/-0, NaN(Not a Number)

Table 2.5. Struktur tipe Floating point

Struktur
Tipe Ukuran
Sign Exponent Mantissa
Float 32 bit 1 bit 8 bit 23 bit
Double 64 bit 1 bit 11 bit 52 bit

[Link]@[Link] (2010) page 6 of 20


Materi Pemrograman Java Universitas Pamulang

2.7. Variabel
Variabel adalah unit dasar penyimpanan di program java. 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.

2.7.1. Deklarasi dan Inisialisasi Variabel


Untuk deklarasi variabel adalah sebagai berikut,

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

Catatan: Nilai yang berada diantara <> adalah nilai yang disyaratkan,
sementara nilai dalam tanda [] bersifat optional.

Berikut ini adalah contoh program yang mendeklarasikan dan menginisialisasi


beberapa variabel,

[Link]
public class VariableSamples {
public static void main( String[] args ){
// deklarasi tipe data dengan nama variable result
// dengan tipe data boolean
boolean result;

//deklarasi tipe data dengan nama variable option


//dengan tipe data char
char option;
option = 'C'; //menginisialisasi option dengan nilai 'C'

//deklarasi tipe data dengan nama variable grade,


//dengan tipe double dan langsung di inisialisasi
//dengan nilai 0.0
double grade = 0.0;
}
}

Petunjuk Penulisan Program:


1. Sebaiknya menginisialisasi variabel yang dibuat saat mendeklarasikannya.
2. Gunakan nama yang dapat menggambarkan variabel yang dibuat, jika ingin
membuat variabel untuk menyimpan nilai siswa, sebaiknya diberi nama nilaiSiswa,
jangan hanya dengan beberapa huruf random.
3. Deklarasikan satu variabel tiap baris kode. Sebagai contoh, deklarasi variabel
adalah sebagai berikut :

double exam=0;
double quiz=10;
double grade = 0;

Bentuk yang lebih disukai ketika melakukan deklarasi adalah :

double exam=0, quiz=10, grade=0;

[Link]@[Link] (2010) page 7 of 20


Materi Pemrograman Java Universitas Pamulang

2.7.2. Menampilkan Data Variabel


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

[Link]()
[Link]()

Berikut ini adalah contoh program :

[Link]
public class OutputVariable {
public static void main( String[] args ){
int nilai = 10;
char x;
x = „A‟;

[Link]( nilai );
[Link](“nilai dari x = ” + x );
}
}

Program tersebut akan mengeluarkan teks pada layar sebagai berikut :

10
nilai dari x = A

2.7.3. [Link]() dan [Link]()


Apa yang membedakan diantara perintah [Link]() dengan
[Link]()? [Link]() akan menambahkan baris baru pada akhir
data yang dikeluarkan, sementara [Link]() tidak menambah baris baru.
Perhatikan pernyataan tersebut :

[Link]("Hello ");
[Link]("world!");

Pernyataan tersebut akan menghasilkan output berikut ini pada layar :

Hello world!

Sekarang perthatikan pernyataan berikut :

[Link]("Hello ");
[Link]("world!");

Pernyataan ini akan menghasilkan output sebagai berikut pada layar,

Hello
world!

2.7.4. Variabel Reference dan Variabel Primitif


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

[Link]@[Link] (2010) page 8 of 20


Materi Pemrograman Java Universitas Pamulang

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 lokasi dalam
memori. Yang menunjuk ke lokasi memori dimana data sebenarnya berada. Ketika
kita mendeklarasikan variabel pada class tertentu, kita sebenarnya
mendeklarasikan reference variable dalam bentuk objek dalam class-nya tersebut.
Sebagai contoh, Apabila kita mempunyai dua variabel dengan tipe data int
dan String.

int num = 10;


String name = "Hello"

Dimisalkan ilustrasi yang ditunjukkan dibawah ini adalah memori yang ada
pada komputer Anda, dimana Anda memiliki alamat dari setiap sel memorinya,
nama variabel dan datanya terbentuk sebagai berikut.

Memory Address Variable Name Data


1001 num 10
:: ::
1563 name Address(2000)
:: ::
:: ::
2000 “Hello”
:: ::

Seperti yang dapat kita lihat, untuk variable primitif num, datanya berada
dalam lokasi dimana variabel berada. Untuk reference variable name, variabel
hanya menunjuk alamat dimana data tersebut benar-benar ada.

2.8. Konstanta
Untuk menunjukkan konstanta, di java menggunakan kata kunci (keyword) final.
Konstanta adalah suatu variable yang didefinisikan dan diberi nilai sekali saja dan tidak
dapat diubah.

[Link]
public class Konstanta {
public static void main (String args[]) {
final double PHI = 3.14;
double radius = 10;

[Link]("Luas lingkaran yang berjari-jari "+radius+"


adalah "+(PHI*radius*radius));
}
}

Keluaran dari program diatas adalah :

Luas lingkaran yang berjari-jari 10.0 adalah 314.0

[Link]@[Link] (2010) page 9 of 20


Materi Pemrograman Java Universitas Pamulang

2.9. Operator
Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi,
operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam
prioritas yang pasti sehingga compilernya akan tahu yang mana operator untuk
dijalankan lebih dulu ketika beberapa operator dipakai bersama-sama dalam satu
pernyataan.

2.9.1. Operator Aritmatika


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

Tabel 2.6. Operator Aritmatika dan fungsi-fungsinya

Operator Penggunaan Keterangan


+ op1 + op2 Menambahkan op1 dengan op2
* op1 * op2 Mengalikan op1 dengan op2
/ op1 / op2 Membagi op1 dengan op2
% op1 % op2 Menghitung sisa dari pembagian op1 dengan op2
- op1 - op2 Mengurangkan op2 dari op1

Berikut ini adalah contoh program untuk menunjukkan penggunaan operator-


operator diatas :

[Link]
public class AritmatikaDemo {
public static void main(String[] args) {
//deklarasi dan inisialisasi variabel
int i = 37;
int j = 42;
double x = 27.475;
double y = 7.22;

[Link]("Menampilkan nilai awal Variable :");


[Link](" i = " + i);
[Link](" j = " + j);
[Link](" x = " + x);
[Link](" y = " + y);
//penjumlahan angka
[Link]("Penambahan :");
[Link](" i + j = " + (i + j));
[Link](" x + y = " + (x + y));
//pengurangan angka
[Link]("Pengurangan :");
[Link](" i - j = " + (i - j));
[Link](" x - y = " + (x - y));
//perkalian angka
[Link]("Perkalian :");
[Link](" i * j = " + (i * j));
[Link](" x * y = " + (x * y));
//pembagian angka
[Link]("Pembagian :");
[Link](" i / j = " + (i / j));
[Link](" x / y = " + (x / y));
//menghitung hasil modulus dari pembagian

[Link]@[Link] (2010) page 10 of 20


Materi Pemrograman Java Universitas Pamulang

[Link]("Sisa pembagian :");


[Link](" i % j = " + (i % j));
[Link](" x % y = " + (x % y));
//tipe penggabungan
[Link]("Penggabungan tipe :");
[Link](" j + y = " + (j + y));
[Link](" i * x = " + (i * x));
}
}

Berikut ini adalah output program :

Menampilkan nilai awal Variable :


i = 37
j = 42
x = 27.475
y = 7.22
Penambahan :
i + j = 79
x + y = 34.695
Pengurangan :
i - j = -5
x - y = 20.255000000000003
Perkalian :
i * j = 1554
x * y = 198.36950000000002
Pembagian :
i / j = 0
x / y = 3.805401662049862
Sisa pembagian :
i % j = 37
x % y = 5.815000000000002
Penggabungan tipe :
j + y = 49.22
i * x = 1016.575

Catatan :
Ketika integer dan floating-point number digunakan sebagai operand untuk
operasi aritmatika tunggal, hasilnya berupa floating point. Integer adalah
converter secara implisit ke bentuk angka floating-point sebelum operasi
berperan mengambil tempat.

2.9.2. 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++;

Tabel 2.7. operator Increment dan Decrement

[Link]@[Link] (2010) page 11 of 20


Materi Pemrograman Java Universitas Pamulang

Operator Penggunaan Keterangan


++ op++ Menambahkan nilai 1 pada op; mengevaluasi nilai op
sebelum diincrementasi/ditambahkan
++ ++op Menambahkan nilai 1 pada op; mengevaluasi nilai op
setelah diincrementasi/ditambahkan
-- Op-- Mengurangkan nilai 1 pada op; mengevaluasi nilai op
sebelum didecrementasi/dikurangkan
-- --op Mengurangkan nilai 1 pada op; mengevaluasi nilai op
setelah didecrementasi/dikurangkan

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/dioperasikan lebih dulu terhadap pernyataan
dimana dia ditambahkan. Sebagai contoh :

int i = 10,
int j = 3;
int k = 0;
k = j++ + i; //akan menghasilkan k = 3+10 = 13

2.9.3. Operator Relasi


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

Table 2.8. Operator Relasi

Operator Penggunaan Keterangan


> op1 > op2 op1 lebih besar dari op2
>= op1 >= op2 op1 lebih besar dari atau sama dengan op2
< op1 < op2 op1 kurang dari op2
<= op1 <= op2 op1 kurang dari atau sama dengan op2
== op1 == op2 op1 sama dengan op2
!= op1 != op2 op1 tidak sama dengan op2

Berikut ini adalah contoh program yang menggunakan operator Relasi :

[Link]
public class RelasiDemo {

[Link]@[Link] (2010) page 12 of 20


Materi Pemrograman Java Universitas Pamulang

public static void main(String[] args) {


//beberapa nilai
int i = 37;
int j = 42;
int k = 42;

[Link]("Nilai variabel...");
[Link](" i = " + i);
[Link](" j = " + j);
[Link](" k = " + k);
//lebih besar dari
[Link]("Lebih besar dari...");
[Link](" i > j = " + (i > j)); //false
[Link](" j > i = " + (j > i)); //true
[Link](" k > j = " + (k > j)); //false
//lebih besar atau sama dengan
[Link]("Lebih besar dari atau sama dengan...");
[Link](" i >= j = " + (i >= j)); //false
[Link](" j >= i = " + (j >= i)); //true
[Link](" k >= j = " + (k >= j)); //true
//lebih kecil dari
[Link]("Lebih kecil dari...");
[Link](" i < j = " + (i < j)); //true
[Link](" j < i = " + (j < i)); //false
[Link](" k < j = " + (k < j)); //false
//lebih kecil atau sama dengan
[Link]("Lebih kecil dari atau sama dengan...");
[Link](" i <= j = " + (i <= j)); //true
[Link](" j <= i = " + (j <= i)); //false
[Link](" k <= j = " + (k <= j)); //true
//sama dengan
[Link]("Sama dengan...");
[Link](" i == j = " + (i == j)); //false
[Link](" k == j = " + (k == j)); //true
//tidak sama dengan
[Link]("Tidak sama dengan...");
[Link](" i != j = " + (i != j)); //true
[Link](" k != j = " + (k != j)); //false
}
}

Berikut adalah hasil keluaran dari program ini :

Nilai variabel...
i = 37
j = 42
k = 42
Lebih besar dari...
i > j = false
j > i = true
k > j = false
Lebih besar dari atau sama dengan...
i >= j = false
j >= i = true
k >= j = true
Lebih kecil dari...
i < j = true
j < i = false
k < j = false
Lebih kecil dari atau sama dengan...

[Link]@[Link] (2010) page 13 of 20


Materi Pemrograman Java Universitas Pamulang

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

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

[Link]. Operator && (logika AND), & (boolean logika AND)


Berikut ini adalah tabel kebenaran untuk && dan & :

Tabel 2.9. Tabel kebenaran untuk && dan &

x1 x2 Hasil
True True True
True False False
False True False
False False False

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.
Berikut ini adalah suatu contoh source code yang menggunakan logika dan
boolean AND :

[Link]
public class TestAND {
public static void main( String[] args ){
int i = 0;
int j = 10;

[Link]@[Link] (2010) page 14 of 20


Materi Pemrograman Java Universitas Pamulang

boolean test= false;

//demonstrasi &&
test = (i > 10) && (j++ > 9);
[Link](i);
[Link](j);
[Link](test);
//demonstrasi &
test = (i > 10) & (j++ > 9);
[Link](i);
[Link](j);
[Link](test);
}
}

Keluaran dari program diatas adalah :

0
10
false
0
11
False

Catatan :
bahwa j++ pada baris yang mengandung operator && tidak dievaluasi jika
pernyataan pertama (i>10) telah bernilai sama dengan false.

[Link]. Operator || (logika OR), | (boolean logika inclusive OR)


Berikut ini adalah tabel kebenaran untuk || dan | :

Tabel 2.10. Tabel kebenaran untuk || dan |

x1 x2 Hasil
True True True
True False True
False True True
False False False

Perbedaan dasar antara operator || dan | adalah bahwa || mendukung


short-circuit evaluations (atau proses evaluasi sebagian), sementara | tidak. Apa
maksud dari pernyataan tersebut? Berikut ini adalah 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.

[Link]@[Link] (2010) page 15 of 20


Materi Pemrograman Java Universitas Pamulang

Berikut ini sebuah contoh source code yang menggunakan operator logika
dan boolean OR :

[Link]
public class TestOR {
public static void main( String[] args ){
int i = 0;
int j = 10;
boolean test= false;

//demonstrasi ||
test = (i < 10) || (j++ > 9);
[Link](i);
[Link](j);
[Link](test);
//demonstrasi |
test = (i < 10) | (j++ > 9);
[Link](i);
[Link](j);
[Link](test);
}
}

Hasil keluaran dari program diatas adalah :

0
10
true
0
11
True

Catatan :
bahwa j++ pada baris yang terdiri atas operator || tidak dievaluasi jika
pernyataan pertama (i<10) telah bernilai sama dengan true.

[Link]. Operator ^ (boolean logika ExclusiveOR )


Berikut ini adalah tabel kebenaran untuk ^ :

Tabel 2.11. Tabel kebenaran untuk ^

x1 x2 Hasil
True True False
True False True
False True True
False False False

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 :
[Link]
public class TestXOR {

[Link]@[Link] (2010) page 16 of 20


Materi Pemrograman Java Universitas Pamulang

public static void main( String[] args ){


boolean val1 = true;
boolean val2 = true;
[Link](val1 ^ val2);
val1 = false;
val2 = true;
[Link](val1 ^ val2);
val1 = false;
val2 = false;
[Link](val1 ^ val2);
val1 = true;
val2 = false;
[Link](val1 ^ val2);
}
}

Hasil keluaran program tersebut adalah :

false
true
false
true

[Link]. Operator ! (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 ! :

Tabel 2.12. Tabel kebenaran not !

x1 Hasil
True False
False True

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

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

Hasil keluaran program adalah sebagai berikut :

false
true

2.9.5. Operator Kondisi (?:)

[Link]@[Link] (2010) page 17 of 20


Materi Pemrograman Java Universitas Pamulang

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 :

[Link]
public class ConditionalOperator {
public static void main( String[] args ){
String status = "";
int grade = 80;
//mendapatkan status pelajar
status = (grade >= 60)?"Passed":"Fail";
//print status
[Link]( status );
}
}

Hasil keluaran dari program ini akan menjadi :

Passed

Berikut ini adalah flowchart yang menggambarkan bagaimana operator ?:


bekerja :

Gambar 2.1. Flowchart operator ?:

Berikut ini adalah program lain yang menggunakan operator ?: ,

[Link]
class ConditionalOperator2 {
public static void main( String[] args ){
int score = 0;
char answer = 'a';
score = (answer == 'a') ? 10 : 0;
[Link]("Score = " + score );

[Link]@[Link] (2010) page 18 of 20


Materi Pemrograman Java Universitas Pamulang

}
}

Hasil keluaran program adalah :

Score = 10

2.9.6. Operator Precedence


Operator precedence didefinisikan sebagai perintah yang dilakukan compiler
ketika melakukan evaluasi terhadap operator, untuk mengajukan perintah dengan
hasil yang tidak ambigu/hasil yang 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;

Catatan :
Untuk menghindari kebingungan dalam evaluasi operasi matematika, buatlah
pernyataan sesederhana mungkin dan gunakan bantuan tanda kurung.

Gambar 2.2. Operator Precedence

2.9.7. Operator String


String juga dapat dimanipulasi dengan operator, hanya terdapat satu operator
string, yaitu operator penyambungan (concatenation) dengan simbol “+”. Java tidak
memiliki tipe data String secara built in. Java menyelesaikan tipe data String dengan
kelas String di pustaka java. Selain operasi penyambungan, operasi-operasi lain
adalah pemanggilan metode-metode di obyek bertipe String.
Metode yang digunakan untuk mengambil bagian string adalah substring.
Sedangkan untuk menguji kesamaan antara dua string dapat digunakan metode
equals (case-sensitive) atau equalsIgnoreCase (tidak case-sensitive).

[Link]@[Link] (2010) page 19 of 20


Materi Pemrograman Java Universitas Pamulang

Contoh program untuk operasi string :

[Link]
public class OperatorString {
public static void main(String[] args) {
String S1 = "Saya";
String S2 = "Belajar Java";
String S3 = "belajar java";

[Link](S1+" "+S2);
[Link]([Link](0,7));
[Link]([Link](S3));
[Link]([Link](S3));
}
}

Keluaran dari program diatas adalah :

Saya Belajar Java


Belajar
false
true

Referensi:
1. Hariyanto, Bambang, (2007), Esensi-esensi Bahasa Pemrograman Java, Edisi 2,
Informatika Bandung, November 2007.
2. Utomo, EkoPriyo, (2009), Panduan Mudah Mengenal Bahasa Java, Yrama Widya,
Juni 2009.
3. Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007
4. [Link] diakses tanggal 10
Oktober 2010
5. [Link] diakses tanggal 10 Oktober 2010
6. [Link] diakses tanggal 10 Oktober 2010

[Link]@[Link] (2010) page 20 of 20

Anda mungkin juga menyukai