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.
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
Program java
public class Hello
{
/**
* Program Java My first */
Baris berikutnya merupakan tanda kurung kurawal { yang merupakan awal dari sebuah blok.
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.
Program java
public class Hello {
/**
* program Java My First */
public static void main( String[] args ){
Program java
public class Hello {
/**
* program Java My First */
public static void main( String[ ] args ){
//menampilkan string “Hello world” pada layar
Program java
public class Hello {
/**
* program Java My First */
public static void main( String[ ] args ){
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
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
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
Java comment
C++ Style Comment
– C++ Style comment diawali dengan tanda //
– Semua teks sesudah // merupakan sebuah comment
– Contoh:
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
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
Java statement
Statement
– Satu atau beberapa baris code yang diakhiri dengan sebuah tanda titik koma.
– Contoh:
System.out.println(“Hello world”);
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.
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,
Panduan penulisan program
2. Statement sebaiknya dimasukkan pada
baris selanjutnya, setelah awal dari block.
Contohnya:
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
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,
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,
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,
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.
Java literal
• Literal merupakan tanda(token) yang tidak berubah(konstan)
• Beberapa tipe literal dari Java adalah: – Integer Literal
– Floating-Point Literal – Boolean Literal
Java literal : integer
Integer literal memiliki beberapa bentuk :
• decimal (base 10)
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
Java literal : floating point
• Mewakili bilangan desimal dengan pecahan
– Contoh: 3.1416
• Dapat ditulis dengan notasi standard atau
scientific
Java literal : boolean
Boolean literal hanya memiliki dua nilai,
• true
Java literal : character
• Character literal mewakili satu Unicode
character.
• Unicode character
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,
Java literal : String
• String literal mewakili banyak character
dan ditandai dengan tanda petik ganda.
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.
Tipe Data Primitif:
Integral – byte, short, int & long
Tipe Data Primitif:
Integral – byte, short, int & long
Panduan pemrograman:
Untuk mendefinisikan nilai long, disarankan untuk tidak menggunakan huruf L kecil
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)
Tipe Data Primitif:
Floating Point – float and double
variabel
• Variabel merupakan item dari data yang digunakan untuk menyimpan sebuah nilai dari objek.
• Variabel memiliki:
– Tipe data
Deklarasi dan Inisialisasi Variabel
Variabel dapat dideklarasikan dengan menggunakan sintaks:
<tipe data> <nama> [=inisialisasi value];
• Catatan: Nilai yang berada antara tanda <> adalah value
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;
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.
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,
Mencetak value dari variabel
Untuk mencetak
value
dari sebuah
variabel, dapat menggunakan command
berikut ini:
Mencetak data variabel:
Contoh Program
public class OutputVariable {
System.out.println() vs.
System.out.print()
System.out.println()
Memberikan satu baris baru pada akhir data output
System.out.print()
contoh
Program 1:
System.out.print(“Hello”); System.out.print(“World”);
Output: HelloWorld
Program 2:
Reference Variable vs.
Primitive Variable
• Terdapat dua tipe variabel di Java: – Primitive Variable
– Reference Variable
• Primitive Variable
– Adalah variabel dengan tipe data primitif
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
contoh
Misalkan ada dua variabel dengan tipe
data int dan String.
int num = 10;
contoh
Gambar di bawah ini adalah lokasi memory yang ada pada komputer, dimana terdapat alamat pada cell
operator
• Beberapa tipe operator: – arithmetic operator – relational operator – logical operator
– conditional operator
contoh
public class ArithmeticDemo {
contoh
//pengurangan angka
System.out.println("Pengurangan..."); System.out.println(" i - j = " + (i – j)); System.out.println(" x - y = " + (x – y));
//pengalian angka
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
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
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,
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.
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;
Panduan penulisan program
Relational Operator
• Operator relational digunakan untuk membandingkan
beberapa nilai dan menentukan hubungan antara nilai-nilai tersebut.
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);
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
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
Output program
Nilai variabel... i = 37
Lebih besar atau sama dengan... i >= 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)
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 ^ .
Logical Operators:
&&(logical) dan &(boolean logical) AND
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.
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 &&
Logical Operators:
&&(logical) dan &(boolean logical) AND
• Output program,
0
Logical Operators: || (logical) dan
| (boolean logical) inclusive OR
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.
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;
Logical Operators: || (logical) dan
| (boolean logical) inclusive OR
• Output program adalah,
0
• Perlu diperhatikan, bahwa j++ pada baris yang
Logical Operators:
^ (boolean logical exclusive OR)
Berikut ini adalah tabel kebenaran ^
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,
Logical Operators: ! ( logical NOT)
Logical NOT hanya memerlukan satu argumen, argumen tersebut dapat berupa ekspresi, variabel atau konstanta.
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); }
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:
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 ); }
Logical Operators:
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
Contoh
op1 op1 Contoh Hasil
0000 0010 (2)
0000 0010 (2)
2>>2 0000 0000 (0)
1111 1110 (-2)
0000 0010 (2)
-2>>2 1111 1111 (-1)
1111 1110 (-2)
0000 0001 (1)
-2>>>1 0111 1111 (127)
0000 0010 (2)
0000 0010 (2)
2<<2 0000 1000
Operator Inversion(~)
• Merubah bit 1 mejadi 0 dan 0 menjadi 1
• Tipe data operand : byte, short, int, long, char
• Terjadi promosi ke int sebelum eksekusi operator
Operand Contoh
Operator ~ Hasil
1111 1110 (-2)
~-2 0000 0001
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,
Panduan penulisan program
Untuk menghindari kebingungan pada
proses matematika, selalu gunakan
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)
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