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 ◦ Integer Literal ◦ Floating-Point Literal ◦ Boolean Literal ◦ Character Literal ◦ String Literal
dari Java adalah:
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
pecahan
bilangan desimal dengan
◦ 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
character.
Unicode
literal mewakili satu 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
World”.
dari string literal adalah, “Hello
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 6.02E23 2.718F 123.4E+306D
//Sebuah floating-point (double) //Nilai floating-point yang besar //Sebuah nilai float //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:
[=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 ◦ Primitive Variable ◦ Reference Variable
variabel di Java:
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-operator
diatas 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... 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
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= 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<> : 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 0000 (2) 1111 (-2) 1111 (-2) 0000 (2)
op1 0010 1110 1110 0010
0000 (2) 0000 (2) 0000 (1) 0000 (2)
Contoh
Hasil
0010
2>>2
0010
-2>>2
0001
-2>>>1
0010
2<<2
0000 0000 (0) 1111 1111 (-1) 0111 1111 (127) 0000 1000 (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 1111 1110 (-2) 0000 0010 (2) ‘f’
Contoh Operator ~ ~-2 ~2 ~’f’
Hasil 0000 0001 (1) 1111 1101 -3 -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)