DIKTAT PEMROGRAMAN I (JAVA DASAR)
Oleh: M. Dermawan Mulyodiputro, S.Si., M.Cs.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA KOMPUTER (STMIK) BUMIGORA MATARAM 2014 - 2015
SEJARAH JAVA Dalam Bahasa Pemrograman Open Source. Java sedang banyak di pelajari oleh banyak orang karena Java memiliki konsep yang sangat kuat dan mengacu pada oop (obyek oriented programming). Untuk lebih mengenal dengan Bahasa Pemrograman Java kita pelajari terlebih dahulu Sejarah Bahasa Pemrograman Java. Sejarah bahasa pemrograman java di mulai pada tahun 1991. Sekelompok insinyur Sun di pimpin oleh Patrick Naughton dan James Gosling yang mempunyai tujuan untuk merancang bahasa computer untuk perangkat consumer seperti cable tv box. Karena perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur – manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode ”Green”. Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering disebut dengan mesin maya (virtual machine). Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin. Sejarah bahasa pemrograman java terbentuk karena orang-orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan Java. Nama Java sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata Java yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java.
2
CARA INSTAL JAVA PADA WINDOWS Langkah pertama kita melalui link ( di link lain juga bisa): http://www.4shared.com/file/HYNoiIsw/jdk-7-windows-i586.html?locale=en. Setelah selesai . Silahkan Instal JAVA nya. Setelah selesai diinstall kita setting path java-nya agar bisa execute di path mana saja. Cara Setting Path: 1. Klik Start -> Klik kanan Computer -> Pilih Properties -> pilih Advance System Setting -> Pada tab Advanced pilih Environment Variables. 2. Tambahkan variable. Pada fieldset Variables pilih New Variable name : JAVA_HOME Variable value : C:\Program Files\Java\jdk1.7.0 Klik OK
Masih pada fieldset Variables, tambahkan variable lagi dengan pilih New. Variable name : PATH Variable value : %PATH%;%JAVA_HOME%\bin Klik OK
3
Catatan : untuk variable value JAVA_HOME disesuaikan dengan path direktori ketika instal JDK. 3. Restart Komputer. 4. Cara memastikan setttingan JDK berhasil bisa dicek di command prompt, buka CMD(Command Prompt) lalu ketikan Java, maka akan muncul dibawah ini:
5. Ketikan JAVAC, maka akan muncul seperti dibawah ini:
Jika semua command berjalan sesuai yang diatas maka Instalasi Java dengan setting path sukses di lakukan.
4
CARA PENULISAN PROGRAM JAVA Cara penulisan program java. Buka Notepad++ (bisa di di link: http://notepad-plusplus.org//v6.6.9.html). Lalu ketikan source code dibawah pada Notepad++. Setelah itu save dengan nama sesuai nama class. Contoh dibawah nama class yaitu Hello. Save dengan nama Hello.java (ingat: file harus di-save dalam format .java). Simpan di path url yang anda inginkan (misalnya di: D:\Latihan Java).
Setelah di-save buka command prompt. Lalu cari path url file Hello.java tadi. Kemudian lakukan penulisan execute file java: 1. [path_url_file]>javac Hello.java 2. [path_url_file]>java Hello
Jika berhasil maka akan menampilkan Output “Hello world!”. Pada kode diatas, kita telah membuat sebuah program sederhana yang menampilkan tulisan “Hello World” pada console. Terdapat beberapa aturan dalam membuat program dalam Java yaitu : 1. Nama file harus sama dengan nama kelas program. Misalnya pada kode diatas nama kelasnya adalah HelloWorld, maka nama file harus HelloWorld.java. 2. Hanya boleh terdapat satu kelas public pada sebuah file. 3. Kelas yang menjadi program harus memiliki metode public static void main(String[] args). 5
4. Pada akhir statement harus menggunakan tanda ; (titik koma). 5. Anda sebaiknya menuliskan comment untuk menjelaskan perilaku dari sebuah class, atau perilaku dari sebuah method.
COMMENT 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 yaitu: C++ Style Comment, C Style Comment, dan Special Javadoc Comment. 1. C++-Style Comment – C++ Style comments diawali dengan tanda // – Semua text sesudah // merupakan sebuah comment – Contoh: // Ini adalah C++ style atau single line comments
2. 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 */
3. 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 */
6
STATEMENT Statement merupakan satu atau beberapa baris code diakhiri dengan sebuah tanda ; (titik koma). Contoh: System.out.println(“Hello world”);
BLOCK 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”); }
STATEMENT DAN BLOCK 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 ) {
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"); }
7
IDENTIFIER 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. 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. Untuk penamaan class, gunakan huruf kapital pada huruf awal dari nama class, contohnya: ThisIsAnExampleOfClassName
Untuk nama dari method dan variabel, huruf awal menggunakan huruf kecil. Contohnya: thisIsAnExampleOfMethodName
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.
Hindari penggunaan garis bawah pada awal identifier seperti _read atau _write.
8
KEYWORD 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 Keyword:
LITERALS Literals adalah tanda bahwa tidak terjadi perubahan atau konstan. Beberapa Literals dalam Java yaitu: 1. 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.
9
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. 2. 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”. 3. Boolean Literal Boolean literals hanya memiliki dua nilai, true atau false. 4. 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 penggunaan 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.
5. String Literals String literals mewakili beberapa karakter dan dinyatakan dalam tanda double pute (“ ”) (double quotes). Sebagai contoh string literal adalah, “Hello World”.
10
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). 1. Logika – boolean Tipe data boolean diwakili oleh dua pernyataan : true dan false. Sebagai contoh: boolean result = true;
Contoh yang ditunjukkan diatas, mendeklarasikan variabel yang dinamai result sebagai tipe data boolean dan memberinya nilai true. 2. 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), 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!”
3. 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 mengindikasikan nilai oktal 0xBACC //karakter 0x mengindikasikan nilai heksadesimal
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: 11
4. 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:
Tabel berikut adalah rangkumannya:
12
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. Syarat-syarat penamaan variabel adalah: 1. Harus diawalai dengan huruf. 2. Tidak boleh terdapat karakter unik seperti @, #, % dan lain-lain. 3. Tidak boleh mengandung karakter putih (spasi, enter, tab). 1.
Deklarasi dan Inisialisasi Variabel
Untuk deklarasi variabel adalah sebagai berikut,
[=initial value];
Catatan: Nilainya berada diantara <> adalah nilai yang disyaratkan, sementara nilai dalam tanda [] bersifat optional. Tipe variabel dapat berupa tipe data atau kelas, misalnya : int nilai; char indexNilai;
Untuk menambahkan nilai ke sebuah variabel, maka dapat menggunakan tanda = (sama dengan) , misal jika kita akan menambahkan nilai 100 pada variabel nilai dan A pada variabel indexNilai, maka dapat terlihat pada kode dibawah ini: int nilai; char indexNilai; nilai = 100; indexNilai = 'A';
Berikut ini adalah contoh program yang mendeklarasikan dan menginisialisasi beberapa variabel:
13
2.
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:
Program tersebut akan mengeluarkan teks berikut pada layar, 10 The value of x=A
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!”); 14
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!
Contoh program variabel: public class contohVariabel { public static void main (String args[] ) { int v1 ; int v2; int v; v1=70; v2=30; v=v1+v2; System.out.println(v1+” + “+v2+” = “+v); v=v1-v2; System.out.println(v1+” - “+v2+” = “+v); } }
15
KONVERSI TIPE DATA Konversi tipe data sering dilkakukan jika terdapat lebih dari satu macam tipe data dalam satu ekspresi atau statement. Jika ada perintah untuk mengubah tipe data, konversi akan dilakukan secara implisit dan otomatis oleh program Java. Konversi implisit hanya dapat dilakukan dengan mengubah tipe data ukuran kecil ke tipe data ukuran yang lebih besar. Misalnya dari tipe byte menjadi short.
byte short int
float
long
double
Konversi tipe data dan presisi
Tanda panah dan garis putus-putus berarti ada kemungkinan perubahan nilai karena tidak presisi. Misalnya dari tipe long menjadi tipe float. Long mempunyai rentang nilai yang lebih panjang daripada float, karena itu bisa muncul kesalahan perhitungan. Pengubahan mengikuti tipe data yang peling luas rentang nilainya. Jika salah satu variabel adalah double, maka seluruh data akan diubah menjadi double. Jika tidak ada double dan adanya float, maka seluruh data akan menjadi float. Terus demikian hingga long, int, dan terakhir short. Berikut contoh dilakukannya konversi secara otomatis: int x = 1; int y = 2; int z=x/y; //z bernilai 0 karena terjadi pembulatan hasil x=1/2.0; //x bernilai 0.5 karena 2.0 adalah double
Konversi otomatis tidak dapat mengubah data ke tipe yang berukuran lebih kecil. int i = 12; byte z = i; //error double xx = 10.75; 16
int yy = xx; //error
Konversi tipe data menjadi berukuran lebih kecil dapat dilakukan melalui casting. Perlu diperhatikan bahwa ada kemungkinan terjadi perubahan nilai karena disesuaikan dengan tipe data yang baru. Sintaks yang digunakan adalah menggunakan tanda kurung pada tipe data yang diinginkan. (tipe_data) ekspresi;
Contoh melakukan casting: float f = (float) (10.1+12.2); //mengubah nilai menjadi float int i = (int) f; // mengubah nilai dari variabel f menjadi int
Tambahan: Dalam membuat program Java kita seringkali membutuhkan untuk mengkonversi nilai dari sebuah String menjadi angka dan sebaliknya. Angka itu bisa integer atau double. Misalnya dari tipe int ke String : int a = 100; String s = String.valueOf(a);
Kemudian dari String ke tipe int : int b = Integer.valueOf(s); double e = Double.valueOf(s); Integer c = new Integer(s); //membuat object c int d = Integer.parseInt(s); double f = Double.parseDouble(s);
17
INPUT OUTPUT DENGAN CLASS SCANNER Untuk menggunakan class scanner sebagai pembaca masukan dari keyboard ada beberapa hal yang harus dilakukan: 1. Melakukan import class: import java.util.Scanner;
2. Membuat object dari class sacnner: Scanner input1 = new Scanner(system.in);
3. Gunkan method pada object untuk membaca masukan sesuai tipe data yang ingin dibaca. Contoh: nama = input1.nextLine(); //membaca masukan String usia = input1.nextInt(); //membaca masukan int
Contoh program dengan class scanner: import java.util.Scanner; public class contohScanner { public static void main (String args[] ) { int usia; String nama; System.out.println(“Nama :);
Scanner input1 = new Scanner(system.in); nama = input1.nextLine(); System.out.println(“Usia :);
usia = input1.nextInt(); System.out.println(“Nama Anda : “ + nama); System.out.println(“Usia Anda : “ + usia + “\n”); } }
18
OPERATOR Java merupakan bahasa pemrograman yang kaya akan operator. Operator-operator tersebut dikelompokkan menjadi empat bagian besar, yaitu: Operator Aritmatika, Operator Relasi, Operator Logika, dan Operator Bitwise. Kemudian ada juga Operator Kondisi. 1.
Operator Aritmatika
Operator aritmatika adalah operator-operator yang digunakan untuk melakukan perhitunganperhitungan matematis, seperti: penjumlahan, pengurangan, pembagian dan perkalian. Perhatikan tabel berikut: Operator + * / % ++ --
Keterangan Penjumlahan Pengurangan Perkalian Pembagian Modulus (Sisa bagi) Increment (Menaikan nilai dengan 1) Decrement (Menurunkan nilai dengan 1)
Operand dari operator aritmatika harus bertipe numerik. Anda tidak dapat menggunakanya untuk tipe data boolean .Sebagai perkecualian untuk tipe char, Anda masih dapat melakukan operasi aritmatika karena sebenarnya, atau pada intinya, tipe char merupakan subset dari tipe int. Berikut ini contoh sebuah operasi aritmatika: int a = 5; int b = 15; c = a + b;
Selanjutnya, dalam java, operator modulus (%) digunakan untuk menentukan sisa bagi dari sebuah operasi pembagian bilangan bulat (integer) maupun bilangan riil (floating-point). Perhatian contoh kode berikut: int x = 13; int y = 5; int z = a % b;
Disini nilai z akan bernilai 3. Nilai 3 ini berasal dari sisa pembagian variabel x dan y yang menghasilkan nilai 2. Selanjutnya nilai 2 ini dikalikan 5 menghasilkan nilai 10, dan nilai 3 ini berasal dari 13 dikurangi 10. Dengan kata lain, 3 adalah sisa bagi dari operasi pembagi 13/10. Kemudian, untuk operator increment dan decrement, increment digunakan untuk menaikkan nilai operand dengan nilai 1, sedangkan decrement merupakan kebalikanya yaitu menurunkan nilai operand dengan nilai 1. Coba perhatikan kode berikut: 19
x = x + 1;
Code tersebut dapat ditulis dengan operator increment yaitu: x++;
Adapun untuk proses decrement: x = x - 1;
Code tersebut dapat ditulis dengan operator decrement yaitu: x--;
Berikut adalah contoh program modulus: public class contohModulus { public static void main (String args[] ) { int iHasil, iMod; double dHasil, dMod; iHasil = 10 /3; iMod = 10%3; dHasil =10.0/3.0; dMod = 10.0 % 3.0; System.out.println(“(integer) Hasil pembagian dan sisa bagi dari 10/3 : ” + iHasil + “ ” + iMod); System.out.println(“(Float) Hasil pembagian dan sisa bagi dari 10.0 / 3.0 : ” + dHasil + “ ” + dMod); } }
Contoh program increment dan decrement: public class contohIncrement { Publilc static void main (String args[] ) { int a = 10; a++; System.out.println(a); } }
20
Berikut contoh program operator aritmatika:
21
2.
Operator Penugasan (Assignment)
Operator penugasan (assignment) digunakan untuk memasukkan nilai ke dalam suatu variabel. Operator ini biasa dikenal dengan nama operator sama dengan (=). Berikut ini tabel menjukkan daftar operator penyingkatan dalam java assignment atau proses memasukkan nilai kedalam sebuah variabel. Operator += -= *= /= %=
Keterangan Assigment untuk penjumlahan Assigment untuk pengurangan Assigment untuk perkalian Assigment untuk pembagian Assigment untuk sisa bagi
Berikut contoh penggunaanya: b b b b
-= *= /= %=
a; a; a; a;
//sama //sama //sama //sama
dengan dengan dengan dengan
b b b b
= = = =
b b b b
– * / %
a a a a
Contoh program operator penugasan: public class contohPenugasan{ public static void main(String[] args) { int a; int b = 1; System.out.println(“Program deret Bilangan Ganjil”); Scanner input = new Scanner (System.in); System.out.println(“Masukan Angka: ”); a = input.nextInt(); Do{ b += 2; System.out.println(“ ”+b); } while (b < a); } }
22
3.
Operator Relasi
Operator relasi adalah operator yang menyatakan hubungan satu operand dengan operand lainya apakah sama dengan, tidak sama dengan, lebih besar, lebih kecil, lebih kecil atau sama dengan, ataukah lebih besar atau sama dengan. Hasil yang diberikan dari operasi yang melibatkan operator relasi akan bernilai boolean (true / false). Tabel berikut ini menunjukkan daftar operator relasi yang terdapat dalam Java. Operator > >= < <= == !=
Keterangan Lebih besar Lebih besar sama dengan Lebih kecil Lebih kecil sama dengan Sama dengan Tidak sama dengan
Operator == dan != dapat diterapkan ke tipe apapun, baik numerik, karakter, maupun boolean. Adapun keempat operator lainya hanya dapat digunakan untuk tipe numerik dan char , untuk mengetahui apakah suatu operand lebih besar atau lebih kecil dari operand lainya. Perhatikan contoh kode berikut: int x = 5; int y = 10; boolean z = x > b;
Disini nilai z akan bernilai false, karena pada kenyataanya nilai y lebih besar dari nilai x. Berikut adalah contoh program operator relasi: public class contohRelasi{ public static void main(String[] args) { int i , j ; boolean b1,b2; i = 10; j = 11 ; if (i < j ) System.out.println(“i < j”) ; if (i <= j ) System.out.println(“i <=j”) ; if (i != j ) System.out.println(“i != j”) ; b1 = true; b2 = false; if ( !(b1 & b2)) System.out.println(“!(b1 & b2 ) is true”); if ( !(b1 I b2)) System.out.println(“!(b1 I b2 ) is true”); 23
if ( !(b1 ^ b2)) System.out.println(“!(b1 ^
b2 ) is true”);
}
}
4.
Operator Logika
Operator logika digunakan untuk melakukan operasi terhadap dua operand yang bertipe boolean. Hasil yang diberikan pada operasi ini juga akan bertipe boolean. Berikut ini tabel yang menunjukkan operator boolean. Operator && || ^ !
Keterangan AND OR XOR NOT
Apabila terdapat dua operand bernilai boolean (misalnya A dan B) dan keduanya digunakan dalam operasi AND, OR, XOR, dan NOT, maka nilai-nilai yang dihasilkan sebagai berikut: A
B
True
True
A && B True
A || B True
A^B False
!A False
True
False
False
True
True
False
False
True
False
True
True
True
False
False
False
False
False
True
Berikut adalah contoh program operator logika: public class contohLogika { public static void main(String[] args) { System.out.println("Operasi AND"); System.out.println("true && true = " + (true && true)); System.out.println("true && false = " + (true && false)); System.out.println("false && true = " + (false && true)); System.out.println("false && false = " + (false && false)); System.out.println("\nOperasi OR"); System.out.println("true || true = " + (true || true)); System.out.println("true || false = " + (true || false)); System.out.println("false || true = " + (false || true)); System.out.println("false || false = " + (false || false)); System.out.println("\nOperasi XOR"); System.out.println("true ^ true = " + (true ^ true)); 24
System.out.println("true ^ false = " + (true ^ false)); System.out.println("false ^ true = " + (false ^ true)); System.out.println("false ^ false = " + (false ^ false)); System.out.println("\nOperasi NOT"); System.out.println("!true = " + (!true)); System.out.println("!false = " + (!false)); } }
5.
Operator Bitwise
Operator bitwise digunakan untuk melakukan operasi boolean terhadap dua buah operand bertipe integer. Operasi ini dilakukan bit demi bit. Dengan demikian, secara implisit nilai integer tersebut akan dikonversi terlebih dahulu kedalam bentuk biner. Dalam operasi ini, nilai true direpresentasikan dengan nilai 1 dan false dengan nilai 0. Berikut ini daftar operator bitwise yang terdapat didalam java: Operator & | ^ ~ >> << >>> <<<
Keterangan AND OR XOR NOT ( Negasi ) Shift Right Shift Left
Berikut adalah contoh program operator bitwise: public class contohLogika { public static void main(String[] args) { int x,y; x= ~10; System.out.println("Nilai Negasi "+x); short z= 17 & 30; System.out.println("Nilai AND "+z); x= 17 | 30; System.out.println("Nilai OR "+x); x= 17 ^ 30; System.out.println("Nilai XOR "+x); x=111; y= x >> 1; 25
System.out.println("Nilai x=-111; y= x >> 1; System.out.println("Nilai x= 111; y= x >>> 1; System.out.println("Nilai x= -111; y= x >>> 1; System.out.println("Nilai x= 111; y= x << 1; System.out.println("Nilai x=1000; y= x << y; System.out.println("Nilai
geser kanan "+x); geser kanan neg "+x); geser kanan 1 bit 0 "+x); geser kanan 1 bit 0 neg "+x); geser kiri "+x); geser kiri "+x);
} }
6.
Operator Kondisi (?:)
Operator kondisi ?: adalah operator ternary. Hal ini berarti bahwa operator ini digunakan dalam tiga bentuk pernyataan condisional argumen yang digunakan bersama-sama. 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 contohKondisi { public static void main( String[] args ){ String status = ""; int nilai = 80; //mendapatkan status pelajar status = (nilai >= 60)?"Lulus":"Gagal"; //print status System.out.println( status ); } } 26
MENGGUNAKAN IDE Dalam membuat program Java, selain menggunakan command prompt dan notepad++, bisa digunakan aplikasi khusus yaitu berupa IDE yang sangat membantu dalam membuat program Java. IDE Java yang familiar digunakan adalah Eclipse IDE dan NetBeans IDE. Disini diperkenalkan NetBeans IDE yang bisa di pada link: https://netbeans.org/s/. Sekilas tentang NetBeans IDE
NetBeans adalah salah satu aplikasi IDE yang digunakan programmer untuk menulis, mengompile, mencari kesalahan, dan menyebarkan program. NetBeans ditulis dalam bahasa java namun dapat juga mendukung bahasa pemrogramman lain. Program ini bebas digunakan. Fitur-fitur pada NetBeans: 1. Smart code completion : mengusulkan nama variable dari suatu tipe, melengkapi keyword, dan mengusulkan tipe parameter dari method. 2. Menggunakan code generator : dengan menggunakan fitur ini kita dapat meng-generate constructor, setter and getter method, dll. 3. Error stripe : fitur yang menandai baris yang error dengan menghiglight merah. 4. Bookmarking : fitur yang digunakan untuk menandai baris yang suatu saat hendak kita modifikasi. 5. go to commands : fitur yang digunakan untuk jump ke deklarasi variable, source code atau file yang ada pada project yang sama. Database yang didukung NetBeans: 1. JDBC merupakan spesifikasi standar dari javasoft API yang memungkinkan program java untuk mengakses sistem database manajemen. 2. JDBC API terdiri dari satu set interface dan kelas yang ditulis dengan bahasa pemrogramman java. 3. ojdbc (oracle java database conectivity) adalah driver yang menghubungkan program java dan oracle. 4. mysql-connector-java adalah driver yang menghubungkan program java dan oracle 5. JDBC-ODBC. 6. mySQL-server. 27
NetBeans sebagai IDE ditujukan untuk memudahkan pemrograman Java. Pada bulan Februari 2006 para instruktur Java dari Sun Microsystem mengikuti training untuk beralih dari pemrograman Java manual (memakai editor teks dan command prompt) ke pemrograman GUI dengan Netbeans. Netbeans berbasis visual dan event-driven. Sama seperti IDE lainnya, misal Borland Delphi dan Microsoft Visual Studio. Netbeans mencakup compiler, builder dan debugger internal. Hal ini memudahkan proses pasca perancangan program. Proses deployment atau tes dapat dilakukan dengan NetBeans J2SE, J2EE, J2ME di NetBeans. NetBeans seperti juga konsep Java sangat fleksibel. Sepanjang library Java tersedia, maka kita dapat melakukan pemrograman untuk jenis aplikasi apapun. Kita dapat membuat aplikasi dekstop (J2SE). Pemrograman web dan enterprise (J2EE) dapat dilakukan secara visual: 1. Koneksi server database melalui JDBC dapat dilakukan dari NetBeans, baik pada saat perancangan maupun deployment program. 2. Pembuatan komponen beans. 3. Pembuatan Java Server Pages (JSP), web module (servicelocator dan servlet), web services dengan menggunakan wizard yang telah disediakan. NetBeans juga menyertakan paket web-server Apache Jakarta Tomcat, Sun Java System Application Server, GlassFish dll. Server ini dapat diakses dari dalam NetBeans, baik pada saat perancangan maupun saat deployment aplikasi web. Untuk membuat aplikasi mobile (MIDP), MIDlet dapat dirancang dengan NetBeans.
MEMULAI MENGGUNAKAN NETBEANS IDE Setelah di dan diinstal, maka kita mencoba membuat program pertama kita menggunakan NetBeans. Ikuti langkah-langkah berikut (dan perhatikan gambar): 1. Buka program NetBeans, kemudian perhatikan pojok kiri atas program NetBeans. Tambahkan sebuah New Project.
2. Maka akan muncul tampilan seperti gambar berikut, Pilih Java > Java Aplication. Kemudian klik Next. 28
3. Maka akan muncul tampilan seperti gambar berikut.
4. Lalu di-uncheck tanda centang pada Creat Main Class dan Set as Main Project. Edit Project Name menjadi “ProjectPertama” (atau terserah Anda menamakan apa). Kemudian klik Finish.
29
5. Pada ProjectPertama yang baru dibuat, klik kanan pada Sorce Package dan pilih New > Java Class.
6. Maka akan muncul tampilan seperti gambar berikut. Kemudian edit Class Name (terserah Anda menamakan apa). Klik Finish.
7. Maka akan muncul tampilan seperti gambar berikut:
30
8. Masukkan coding didalam class KelasPertama, contohnya:
9. Kemudian klik Build Project (atau tekan F11).
10. Lalu klik Run Project (atau tekan F6).
11. Maka akan tertampil pada Output program:
31
PERCABANGAN Percabangan adalah suatu pilihan atau opsi dengan kondisi tertentu. Jika kondisi yang menjadi syarat terpenuhi, maka opsi atau pilihan dijalankan, jika tidak maka sebaliknya. Dalam java terdapat 4 macam jenis percabangan, if, if-else, else-if, dan juga switch. Keempat jenis ini memiliki penggunaan masing-masing. Berikut penjelasan mengenai penggunaan tiap-tiap jenis percabangan: 1. if : Percabangan if ini digunakan jika kita hanya memiliki satu pernyaatan yang akan dijalankan dengan syarat tertentu. Jika kondisi benar, maka pernyataan akan dijalankan. 2. if else : Percabangan if else digunakan saat kita memiliki dua pernyataan dengan syarat tertentu. Jika hasil dari if benar, maka pernyataan1 yang dijalankan, sedangkan jika salah, pernyataan dua yang akan dijalankan. 3. else-if : Percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (lebih dari 2). jika kondisi1 benar, maka pernyataan1 akan dijalankan, jika kondisi2 benar, maka penyataan2 akan dijalankan, jika semua kondisi salah, maka penyataan4 yang akan dijalankan saja. 4. switch-case : Percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan (ledbih dari 2). Sebenarnya switch-case ini hampir sama dengan else if. Jika nilai variabel yang ditunjuk bernilai sesuai nilai1, maka pernyataan1 akan dijalankan, jika nilai variabel yang ditunjuk bernilai sesuai nilai2, pernyataan2 dijalankan, jika tidak, maka pernyataan3 yang akan dijalankan.
1.
Percabangan if
Bentuk pernyataan if berupa: if (kondisi) { // yang akan di jalankan }
Contoh: public class contohIf { public static void main( String[] args ){ Scanner masukan = new Scanner (System.in); int nilai; System.out.println(“Masukkan nilai akhir matakuliahnya :”); nilai = masukkan.nextInt(); if (nilai < 55) System.out.println(“Mahasiswa tersebut tidak lulus”); } } 32
2.
Percabangan if else
Bentuk pernyataan if..else..berupa: if (kondisi) { //jalankan jika kondisi true }else{ //jalankan jika kondisi false }
Contoh: public class contohIfElse { public static void main( String[] args ){ int nilai = 8; if (nilai == 10){ System.out.println(“Sepuluh”); } else { System.out.println(“Bukan Sepuluh”); } } }
3.
Percabangan else-if
Bentuk pernyataan else-if adalah sebagai berikut: if (kondisi) { //perintah kondisi1 } else if (kondisi2) { //perintah kondisi2 } else if (kondisi3) { //perintah kondisi3 } else { // perintah jika semua kondisi tidak ada yang benar }
Contoh: public class contohElseIf { public static void main( String[] args ){ if (nilai >= 80) System.out.println(Nilainya A”); else if (nilai >= 70) 33
System.out.println(Nilainya else if (nilai >= 55) System.out.println(Nilainya else if (nilai >= 40) System.out.println(Nilainya else System.out.println(Nilainya } }
B”); C”); D”); E”);
} }
4.
Percabangan switch-case
Bentuk pernyataannya switch-case adalah sebagai berikut: switch (variabel) { case nilai1: //jalankan instruksi break; // hentikan case nilai2: //jalankan instruksi Break; // hentikan default: //jalankan instruksi break; // hentikan }
Contoh: public class contohSwitchCase { public static void main( String[] args ){ System.out.println(“Masukkan angka 1-3 : ”); int bil = masukan.nextInt(); switch (bil) { case 1 : System.out.println(“Satu”); break; case 2 : System.out.println(“Dua”); break; case 3 : System.out.println(“Tiga”); default : System.out.println(“Bilangan di luar range”); } } }
34
PERULANGAN Dalam Java terdapat 3 jenis perulangan yaitu while, do-while, dan for. Berikut penjelasan dari ketiga jenis perulangan: 1. while : Pernyataan while berguna untuk melakukan proses perulangan untuk sebuah kondisi, selama kondisi tersebut bernilai benar (true), maka perulangan akan terus berjalan, dan berhenti ketika kondisi bernilai salah (false). 2. do-while : Merupakan perulangan yang hampir mirip dengan perulangan while namun perbedaanya; pada perulangan do-while, maka minimal instruksi akan dijalankan sekali. 3. for : Merupakan perulangan yang memiliki variabel untuk melakukan pengkondisian, berbeda dengan while dan do-while yang kita harus membuat sebuah variabel diluar untuk melakukan pengkondisian, pada perulangan for, ditempatkan sebuah blok untuk membuat variabel dan melakukan proses pengkondisian. 1.
Perulangan while
Bentuk perulangan while adalah sebagai berikut: while (kondisi) { // isi instruksi }
Contoh 1: public class contohWhile1 { public static void main( String[] args ){ int n=0, total=0, bil=9; while (bil !=0) { N++; System.out.println(“masukkan bilangan ke-“+n+” : ”) ; bil = masukan.nextInt () ; total +=bil; } System.out.println(“total jumlah”+(n-1)+” bilangan tsb : ”); System.out.println(total); } }
35
Contoh 2: import java.util.Scanner; public class contohWhile2 { public static void main( String[] args ){ int a; int b = -1; System.out.println("Program deret bilangan ganjil"); Scanner input = new Scanner (System.in); System.out.print("Masukkan angka maksimal : "); a = input.nextInt(); while (b < a) { b += 2; System.out.println(" " +b); } System.out.println(); } }
2.
Perulangan do-while
Bentuk perulangan do-while adalah sebagai berikut: do { // instruksi } while (kondisi);
Contoh1: public class contohDoWhile1 { public static void main( String[] args ){ int jumlah = 100; do { System.out.println(jumlah); jumlah++; } while (jumlah <= 10); } }
Contoh 2: import java.util.Scanner; public class contohDoWhile2 { public static void main( String[] args ){ int a; int b = 1; 36
System.out.println("Program deret bilangan ganjil"); Scanner input = new Scanner (System.in); System.out.print("Masukkan angka maksimal : "); a = input.nextInt(); do { b += 2; System.out.println(" " +b); } while (b < a); } }
3.
Perulangan for
Bentuk perulangan for adalah sebagai berikut: for (inisialisasi; kondisi ; penaikan/penurunan) { //Instruksi }
Contoh1: public class contohDoWhile1 { public static void main( String[] args ){ for (int i = 1 <5; i++) { System.out.println(“Hello World!!”); } } }
Contoh 2: public class contohDoWhile2 { public static void main( String[] args ){ int x, y; for (ax1; x<=4; x++) { for (y=1; y<=x; y++) System.out.print(" * " ); System.out.println(); } for (x=5; x>0; x--) { for (y=0; y<x; y++) System.out.print(" * " ); System.out.println(); } }} 37
4.
Statement Break
Merupakan perintah yang dapat digunakan untuk menghentikan proses perulangan. Contoh: public class contohBreak { public static void main( String[] args ){ System.out.println(“Masukkan sebuah bilangan : int bil = masukkan.nextInt(); boolean prima = true;
”);
for (int i=2; i
5.
Statement Continue
Perintah continue dapat digunakan untuk meloncati sebuah perulangan, maksudnya adalah instruksi yang seharusnya dapat dilewat, hal ini berarti instrukti tidak akan dijalankan. Contoh: public class contohContinue { public static void main( String[] args ){ for(int i = 1; i <= 100; i++){ if(i % 2 == 0){ continue; } System.out.println(i); } } }
38
ARRAY 1. Pengenalan Array Sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian variabel, kita sering menggunakan sebuah tipe data beserta nama variabel atau identifier yang unik. Apabila kita ingin menggunakan variabel tersebut, kita akan memanggil dengan nama identifier-nya. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier berbeda untuk tiap variabel. int number1; int number2; int number3; number1=1; number2=2; number3=3;
Dari kode diatas, kita tidak perlu mendeklarasikan variabel yang banyak dengan tujuan sama. Oleh karena itu digunakan array yang berfungsi mendeklarasikan variabel dengan tipe data yang sama. Dalam Java maupun di bahasa pemrograman yang lain, terdapat sebuah kemampuan untuk menggunakan satu variabel yang dapat menyimpan beberapa data dan memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array. Contoh dari array integer sebagai berikut.
Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama di dalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa ruang. Array adalah sebuah variabel/sebuah lokasi tertentu yang memiliki satu nama sebagai identifier, namun identifier ini dapat menyimpan lebih dari sebuah nilai. 2. Pendeklarasian Array Seperti yang telah dijelaskan secara singkat sebelumnya, array adalah kelompok variabel dengan tipe sejenis dan dinyatakan dengannama yang sama. Dengan kata lain, array merupakan tipe khusus yang menyatukan sekelompok variabel dengan tipe yang sama. Array di Java dideklarasikan dengan kurung siku: […]. Sintaks umum deklarasi array: type var-name[];
atau type[] var-name;
39
type berperan dalam mendeklarasikan tipe basis dari array. Tipe basis menentukan tipe data bagi masing-masing elemen yang membentuk array. Dengan demikian, tipe basis untuk array menentukan tipe data yang dimuat oleh array. Berikut contoh-contoh deklarasi array di Java: int numbers[]; char[] letters; long grid[][];
Pada Java tidak perlu menspesifikasikan ukuran array kosong saat mendeklarasikan array. Kita harus selalu menyatakan ukuran array secara eksplisit saat melakukan operasi penciptaan menggunakan operator new() atau dengan mendaftarkan item-item untuk array pada saat penciptaan. Berikut contoh pendeklarasian array dengan menspesifikasikan ukuran spesifiknya menggunakan operator new() dan dengan memberikan daftar item yang termasuk di dalam array : char alphabet[] = new() char [26]; int primes = {7, 11, 13};
3. Jenis-jenis Array pada Java 3.1. Array 1 D Array 1 dimensi pada dasarnya senarai (deretan) variabel bertipe serupa. Kita lebih dahulu menciptakan variabel array dari tipe yang dikehendaki. int monthDays[];
Meskipun deklarasi telah menetapkan bahwa monthDays adalah variabel array, namun sesungguhnya tidak ada array yang diciptakan pada saat itu. Nilai dari monthDays adalah nilai null yang merepresentasikan array tanpa nilai dan bukan bernilai nol. Bentuk umum new() untuk array 1 dimensi adalah sebagai berikut: array_var = new() type[size];
Dalam hal ini, type menspesifikasikan tipe data yang dialokasikan, size menspesifikasikan jumlah dari elemen array, dan array-var adalah variabel array yang dirangkai ke array. Dengan demikian, untuk menggunakan new(), kita harus menspesifikasikan tipe dan jumlah elemen untuk dialokasikan. Elemen-elemen di array yang dialokasikan oleh new() akan secara otomatis diinisialisasi ke nol.
40
Berikut ini salah satu contoh penciptaan untuk array yang berisi jumlah hari maksimum di masing-masing bulan: public class contohArray1D { public static void main( String[] args ){ // langkah 1: deklarasi variabel array int monthDays[]; // langkah 2: penciptaan array bilangan int dengan 12 elemen monthDays = new int[12]; monthDays[0] = 31; monthDays[1] = 29; monthDays[2] = 31; monthDays[3] = 30; monthDays[4] = 31; monthDays[5] = 30; monthDays[6] = 31; monthDays[7] = 31; monthDays[8] = 30; monthDays[9] = 31; monthDays[10] = 30; monthDays[11] = 31; System.out.println("Agustus mempunyai "+monthDays[7]+"hari"); } }
3.2. Array Multidimensi Di Java, array multidimensi sesungguhnya array dari array. Untuk mendeklarasikan variabel array, menspesifikasikan masing-masing indeks menggunakan himpunan kurung siku yang lain. Array 2 dimensi bertipe int bernama intArr dideklarasikan dan diciptakan dengan perintah sebagai berikut: int int2DArr[][] = new() int [4][5];
Perintah ini mendeklarasikan dan mengalokasikan array 4 kali 5 dan memberikan ke variabel int2DArr. Secara internal matriks ini diimplementasikan sebagai array dari array bertipe int. Secara konseptual array ini digambarkan sebagai berikut:
41
Array 2 dimensi 4x5
Berikut contoh program yang memberikan angka ke masing-masing elemen di array dari kiri ke kanan, puncak ke bawah, kemudian menampilkan masing-masing elemen: public class contohArray2D { public static void main( String[] args ){ //Langkah 1: deklarasi variabel array dan penciptaan array int int2DArr[][] = new int[4][5]; int k=0; for (int i=0;i<4;i++){ for (int j=0;j<5;j++){ int2DArr[i][j] = k++; } } for (int i=0;i<4;i++){ for (int j=0;j<5;j++){ System.out.print(int2DArr[i][j] + " "); } System.out.println(); } }}
42