2. Apa yang Disebut Java ?
• Bahasa pemrograman berorientasi objek murni
yang dibuat berdasarkan kemampuan-
kemampuan terbaik bahasa pemrograman objek
sebelumnya (C++, Ada, Simula).
• Diciptakan oleh James Gosling, developer dari
Sun Microsystems pada tahun 1991.
2
3. Karakteristik Java
• Sederhana, semudah C dan seampuh C++: berlawanan dengan
anggapan orang-orang bahwa bahasa Java sulit untuk dipelajari, Java
gampang untuk dipelajari terutama untuk orang yang sudah mengenal
pemrograman tapi belum terlalu terikat pada paradigma
pemrograman prosedural. Tentu saja ini berarti bahwa kita harus siap
mempelajari salah satu teknologi yang berkembang paling cepat di
dunia dalam dua tahun terakhir ini dengan banyak membaca tentunya
baik dari buku maupun melalui web.
3
4. Karakteristik Java
• Sangat berorientasi obyek (OOP) dengan implementasi
yang sangat baik
• Arsitekturnya yang kokoh dan pemrograman yang aman.
Dalam Java program yang kita buat tidak mudah untuk
“hang” karena konflik pada memori biasanya diselesaikan
dengan mengumpulkan obyek-obyek yang sudah tak
terpakai lagi secara otomatis oleh garbage collector.
Penanganan kesalahan juga dipermudah dalam Java
dengan konsep Exception
4
5. Karakteristik Java
• Bukan sekedar bahasa tapi juga platform sekaligus arsitektur. Java
• mempunyai portabilitas yang sangat tinggi. Ia dapat berada pada smartcard,
pager, POS (Point of Service), handphone, PDA, palm, TV, Embedded
device (PLC, micro controller), laptop, pc, dan bahkan server). Menyadari
akan hal ini Sun membagi arsitektur Java membagi tiga bagian, yaitu:
• Enterprise Java (J2EE) untuk aplikasi berbasis web, aplikasi sistem tersebar
dengan beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan
superset dari Standar Java
• Standard Java (J2SE), ini adalah yang biasa kita kenal sebagai bahasa Java,
dan merupakan fokus kita sekarang.
• Micro Java (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya
yang banyak dipakai adalah untuk wireless device/mobile device
5
6. Karakteristik Java
• Program Java dijalankan menggunakan interpreter
melalui Java Virtual machine (JVM). Hal ini
menyebabkan source code Java yang telah dikompilasi
menjadi Java bytecodes dapat dijalankan pada platform
yang berbeda-beda.
• Fitur-fitur utama yang lain:
- Mendukung multithreading.
- Selalu memeriksa tipe obyek pada saat
runtime.
6
7. Java Sun Microsystem
• Java 2 Software Developer Kit (J2SDK)
Windows
SPARC
X86 Solaris
Linux
• Versi terbaru Java SE 6
7
10. Java Platform
• Platform dapat diartikan sebagai lingkungan perangkat keras atau
perangkat lunak dimana program dijalankan. Umumnya platform
berdasarkan nama sistem operasi yang digunakan, misalnya
Windows 2000, Linux, Solaris, atau MacOS.
• Platform Java mempunyai dua komponen, yaitu:
• Java Virtual machine (Java VM)
Merupakan fondasi untuk platform Java yang dapat digunakan di
berbagai platform perangkat keras.
• Java Application Programming Interface (Java API)
Kumpulan komponen-komponen perangkat lunak siap pakai
(ready-made software components) untuk berbagai keperluan
10
11. Membuat Program Java
• Persiapan
Download dan Instalasi J2SDK
Setting jalur eksekusi
• Penulisan program:
Menulis program
Kompilasi
Eksekusi
11
12. Persiapan
• Download dan Installasi J2SDK
http://java.sun.com/javase/downloads/
• Setting jalur eksekusi
Settings – Control Panel – System – Advanced –
Environment Variables
12
13. Identifier di Java
• Identifier adalah nama yang diberikan kepada variabel, method, kelas, paket, dan
interface
• Adapun tatacara penamaan identifier:
1. Case sensitive, huruf kapital dan kecil dibedakan
2. Identifier yang diberikan oleh pemrogram tidak boleh sama dengan
keyword yang ada di Java
3. Dimulai dengan huruf atau underscore (garis bawah) atau tanda ($).
Namun sebisa mungkin diawali dengan huruf karena mungkin
identifier dengan awalan underscore dan ($) digunakan unruk
pemrosesan internal dan file import
4. Karakter berikutnya dapat berupa huruf atau angka 0 sampai 9.
Simbol-simbol seperti ‘+’ dan spasi tidak dapat digunakan
13
14. Keywords di Java
• Keyword adalah identifier yang digunakan Java untuk suatu tujuan khusus.
Daftar keyword Java adalah sebagai berikut:
14
abstract do implements private this
boolean double import protected throw
break else instanceof public throws
byte extends int return transient
case false interface short true
catch final long static try
char finally native strictfp void
class float new super volatile
continue for null switch while
default if package synchronized
15. Contoh Penulisan Nama
Variabel yang Diizinkan
• @2var
• _status
• tanggal
• jumlahBarang
• nama_kecil
• final_test
• int_float
15
16. Tipe Data di Java
• Tipe data dalam Java dibagi dalam dua kategori:
1. Sederhana (primitif)
2. Komposit (referensi)
16
17. Tipe data sederhana
(primitif)
• Tipe data sederhana merupakan tipe inti. Tipe sederhana tidak
diturunkan dari tipe lain. Terdapat delapan tipe data primitif di
Java:
- Empat tipe adalah untuk bilangan
bulat (integer) : byte, short, int, long
- Dua untuk tipe angka pecahan (floating point):
float, double
- Satu untuk tipe karakter, yaitu char
- Satu untuk tipe boolean yang berisi nilai
logika: true/false
17
18. Tipe data sederhana (primitif)
Tipe
Data
Panjang Rentang Nilai Contoh Nilai
byte 8 bit -27 sampai 27 - 1
(-128 sampai 127 )
(256 kemungkinan nilai)
5
-126
short 16 bit -215 sampai 215 - 1
(-32.768 sampai 32.767)
(65.535 kemungkinan nilai)
9
-23659
int 32 bit -231 sampai 231 - 1
( -2.147.483.648 sampai 2.147.483.647)
(4.294.967.296 kemungkinan nilai)
2067456397
-1456398567
long 64 bit -2-63 sampai 263 - 1
( -9.223.372.036.854.775.808 sampai
9.223.372.036.854.775.807)
(18.446.744.073.709.551.616
kemungkinan nilai)
3L
-2147483648L
67L
18
Integer:
19. Tipe data sederhana (primitif)
Floating Point:
Tipe data floating point merupakan tipe data untuk untuk variabel
yang nilai-nilainya adalah bilangan real (dapat mempunyai pecahan
desimal).
19
Tipe
Data
Panjang
Contoh Penulisan Nilai yang
Diperbolehkan
float 32 bit 78F
-34736.86F
6.4E4F ( sama dengan 6,4 x
104 )
double 64 bit -2356
3.5E7
67564788965.567
20. Tipe data sederhana
(primitif)
Char:
Tipe data textual merupakan tipe data untuk variabel yang nilai-nilainya
adalah karakter tunggal. Tipe data yang merupakan tipe data textual adalah
char yang memiliki panjang 16 bit. Nilai variabel char ditulis dengan diberi
tanda kutip tunggal ‘...’. Berikut contoh penggunaan tipe data char :
public char alphabet = ‘A’;
public char ascii = ‘111’; // jika dicetak, akan menghasilkan
// huruf ‘I’;
20
21. Tipe data sederhana
(primitif)
Logika (Boolean):
Tipe data logika adalah tipe data yang hanya memiliki 2 kemungkinan nilai,
yaitu true atau false. Hanya satu tipe data logika pada teknologi Java, yaitu
boolean. Berikut contoh penggunaan tipe data boolean :
public boolean status = true;
public boolean check = 10 < 5 ; // nilai check menjadi
// false
21
22. Tipe Data Komposit
Tipe data komposit merupakan tipe data yang disusun
dari tipe data sederhana atau tipe komposit lain yang
sudah ada. Tipe ini dapat berupa array, string, kelas, dan
interface. Khusus untuk String pada Java dikenali sebagai
kelas, bukan sebagai array of character. String pada Java
diapit oleh tanda petik ganda (“.....”), contoh:
String s=”Saya makan nasi”;
22
23. Operator di Java
• Operator Unary
23
Arti Operator Operator Contoh Pemakaian
Pre-Increment ++operand int i = 8 ;
int j = ++i;
i bernilai 9, j bernilai 9
Post-Increment operand++ int i = 8;
int j = i++;
i bernilai 9, j bernilai 8
Pre-Decrement --operand int i = 8 ;
int j = --i;
i bernilai 7 , j bernilai 7
Post-Increment operand-- int i=8;
int j = i--;
i bernilai 7, j bernilai 8
24. • Operator Binary
24
Arti Operator Operator Contoh Pemakaian Keterangan
Penjumlahan + sum=num1 + num2
Pengurangan - diff=num1 - num2
Perkalian * prod=num1 * num2
Pembagian / quot=num1 / num2 jika num1 dan num2 adalah integer,
pembagian akan menghasilkan nilai integer
tanpa mengikutsertakan sisa, jika terdapat
sisa.
Sisa
(modulus)
% mod=num1 % num2 Hasil operasi modulus adalah sisa dari
operasi num1 / num2.
Hasil operasi modulus memiliki tanda ( +/- )
yang sama dengan operand pertama
25. Prioritas Operator
• operator yang berada dalam tanda kurung “( ... )” atau disebut juga
parantheses;
• operator-operator increment atau decrement;
• operator - operator perkalian atau pembagian, yang urutan operasinya
dari kiri ke kanan;
• operator-operator penjumlahan atau pengurangan, yang urutan
operasinya dari kiri ke kanan;
25
26. • Contoh
int c = 12 * 3 +5 / (8 - 3) ;
Maka urutan operasinya adalah sebagai berikut :
int c = 12 * 3 + 5 / 5 ;
int c = 36 + 5 / 5;
int c = 36 + 1 ;
int c = 37;
26
27. • Operator Relasi
27
Condition Operator Example
Is equal to
(atau “is the same as”)
==
int i = 1;
System.out.println(i==1); // (output
: true)
Is not equal to
(atau “is not the same
as”)
!=
int i = 1;
System.out.println(i!=1); // (output
: false)
Is less than <
int i = 1;
System.out.println(i<1); // (output
: false)
Is less than or equal to <=
int i = 1;
System.out.println(i<=1); //(output
: true)
Is greater than >
int i = 1;
System.out.println(i>1); //(output :
false)
Is greater than or equal
to
>=
int i = 1;
System.out.println(i>=1); // (output
: true)
28. Operator kondisional
28
Condition Operator Example
If one condition AND another
condition
&& int i = 1;
int j = 2;
System.out.println((i<1)&&(j>0));
// (output : false)
If either condition OR another
condition
|| int i = 1;
int j = 2;
System.out.println((i<1)||(j>0));
// (output : true)
NOT ! int i = 1;
System.out.println(!(i<3));
// (output : false)
29. Kata Kunci Final
Dalam aplikasi terkadang dibutuhkan suatu variabel yang
dicegah untuk dimodifikasi oleh program lainnya. Hal ini
dilakukan untuk menjaga agar logika program tetap
terjaga. Untuk membuat konstanta, digunakan sebuah
modifier final.
29
30. Kata Kunci Final
• Contoh
class Lingkaran{
final double pi = 3.14; //konstanta yg nilainya tidak
dapat
//diubah lagi oleh program lain
double jari2;
double luas;
public double hitungLuas(){
luas = pi*jari2*jari2;
return luas;
}
public double hitungKeliling(){
return 2*pi*jari2;
}
}
30
31. Konstruksi Pengambilan Keputusan
Konstruksi if
Konstruksi if merupakan bentuk konstruksi pengambilan
keputusan dengan 2 kemungkinan keputusan. Kemungkinan-
kemungkinan keputusan itu akan dipilih berdasarkan suatu
kondisi yang diperiksa. Kondisi tersebut merupakan suatu
ekspresi boolean / boolean expression.
Sintaks dasarnya:
if ( boolean_expression ){
code block;
}
31
33. Contoh:
public class HasilUjian{
public static void main(String[] args){
int nilai1 = 8;
int nilai2 = 7;
int nilai3 = 5;
float rata_rata = (float)(nilai1 + nilai2 + nilai3)/3;
if(rata_rata<5){
System.out.println(“Tidak Lulus”);
}
System.out.println(“Nilai Rata-rata = ”+rata_rata);
}
}
33
34. Konstruksi if..else..
Konstruksi if / else digunakan sebagai konstruksi
pengambilan keputusan yang memiliki beberapa
kemungkinan keputusan. Sintak dasarnya adalah seperti
berikut :
if ( boolean_expression_1 ){
code block 1;
} else if ( boolean_expression_2 ){
code block 2;
}
.
.
.
else{
code block n;
}
34
36. Contoh
public class HasilUjian{
public static void main(String[] args){
int nilai1 = 8;
int nilai2 = 7;
int nilai3 = 5;
float rata_rata = (float)(nilai1 + nilai2 + nilai3)/3;
if(rata_rata<5){
System.out.println(“Tidak Lulus”);
} else if ((rata_rata>=5) && (rata_rata<6)){
System.out.println(“Harus ikut ujian perbaikan”);
} else { // rata_rata >= 6
System.out.println(“Lulus”);
}
System.out.println(“Nilai Rata-rata = ” + rata_rata);
}
}
36
37. Konstruksi Switch
Konstruksi switch adalah konstruksi pengambilan keputusan
yang mengevaluasi kemungkinan-kemungkinan nilai dari
variabel yang dievaluasi. Bentuk umum syntax konstruksi
switch adalah sebagai berikut:
switch( variabel ) {
case nilai_literal_1 :
code_block_1;
break;
case nilai_literal_2 :
code_block_2;
break;
.
.
default:
code_block_default;
break;
}
37
38. Keterangan:
• switch adalah kata kunci yang mengindikasikan dimulainya konstruksi
switch;
• variabel adalah variabel yang nilainya akan dievaluasi. variabel hanya
dapat bertipe-data char, byte, short, atau int;
• case adalah kata kunci yang mengindikasikan sebuah nilai yang diuji.
Kombinasi kata kunci case dan nilai_literal disebut case label;
• nilai_literal_k adalah nilai yang mungkin akan menjadi nilai variabel.
nilai_literal_k tidak dapat berupa variabel, ekspresi, atau method, tetapi
dapat merupakan konstanta. k = {default, 1,2,...,n };
• break adalah pernyataan yang sifatnya opsional, yang mengakibatkan
aliran program keluar dari blok switch. Jika setelah code_block_k tidak
terdapat pernyataan break, maka aliran program akan masuk ke case
berikutnya. k = {default, 1,2,3,...,n};
• default adalah kata kunci yang mengindikasikan code_block_default
akan dieksekusi jika semua case yang diuji tidak sesuai dengan nilai
variabel .
38
39. Contoh:
public class HasilUjian{
public static void main(String[] args){
int nilai1 = 8;
int nilai2 = 7;
int nilai3 = 5;
float rata_rata = (float)(nilai1 + nilai2 + nilai3)/3;
switch((int)rata_rata){
case 0 :
case 1 :
case 2 :
case 3 :
case 4 :
System.out.println(“Tidak Lulus”);
break;
case 5 :
System.out.println(“Ikut ujian perbaikan”);
break;
default :
System.out.println(“Lulus”);
break;
}
System.out.println(“Nilai Rata-rata = ” + rata_rata);
}
}
39
40. Konstruksi Pengulangan
(looping)
While
Konstruksi while adalah konstruksi pengulangan yang jumlah
perulangannya tergantung pada suatu kondisi logika
tertentu. Bentuk umum konstruksi while adalah sebagai
berikut :
while(boolean_expression){
code_block;
} //akhir dari konstruksi while
40
41. Pada konstruksi while, langkah-langkah proses perulangannya adalah
sebagai berikut :
• Sistem memeriksa boolean_expression.
• Jika nilai boolean_expression adalah true, maka code_block akan
dieksekusi. Jika tidak, maka code_block tidak dieksekusi.
• Jika di dalam code_block terdapat pernyataan kondisi yang
menyebabkan proses harus keluar dari blok while, maka proses akan
keluar dari pengulangan, meskipun boolean_expression masih
bernilai true.
41
42. Contoh:
public class Contoh1{
public static void main(String[] args){
int num1 = 0;
int num2 = 23;
int num3 = num1+num2;
while(num3 > num1){
num2-=3;
num1+=2;
num3 = num1+num2;
System.out.println(“num1=”+num1+”,num3=“+num3);
}
}
}
42
43. public class Contoh9_2 {
public static void main(String[] args){
int variable = 20;
while(true){
System.out.println(“Nilai variable = ”+variable);
--variable;
if(variable<10){
break;
}
}
}
}
43
44. Konstruksi for
Bentuk umum dari konstruksi loop menggunakan for adalah :
for(initialize[,initialize];boolean_expression; update[,update]){
code_block;
}
• bagian inisialisasi, yang berisi pernyataan pemberian nilai awal untuk
suatu variabel parameter;
• bagian boolean_expression, yang berisi pernyataan logika yang akan
diperiksa, sebagai syarat pengulangan terus dilanjutkan. Pengulangan
akan dilanjutkan jika nilai ekspresi boolean pada segmen ini bernilai
true.
• bagian update, yang berisi pernyataan updating parameter ketika satu
putaran pada pengulangan selesai dieksekusi.
44
45. • bagian inisialisasi dapat diisi dengan lebih dari 1
pernyataan inisialisasi;
• bagian boolean_expression hanya dapat diisi oleh 1
pernyataan logika;
• bagian update dapat diisi dengan lebih dari 1 pernyataan
update.
45
46. Contoh
public class Contoh3{
public static void main(String[] args){
for(int variable=20; variable>=10;variable--){
System.out.println(“Nilai variable =”+ variable);
}
}
}
46
47. public class Contoh4{
public static void main(String[] args){
for(int variable1=20, variable2=0; variable1>=10&& variable2<=5;variable1--,variable2++){
System.out.println(“Nilai variable1= ”+ variable1);
System.out.println(“Nilai variable2= ”+variable2);
}
}
}
47
48. public class Contoh5{
public static void main(String[] args){
int variable = 20;
for( ; ; ){
System.out.println(“Nilai variable1= ”+variable);
variable--;
if(variable<10)break;
}
}
}
48
49. Konstruksi do…while
Konstruksi Pengulangan do/while mirip dengan konstruksi
while. Perbedaannya adalah pada urutan prosesnya, yaitu :
• Looping dijalankan terlebih dahulu;
• Dilakukan pemeriksaan kondisi.
public class Contoh6{
public static void main(String[] args){
int variable = 20;
do{
System.out.println(“Nilai variable1= ”+ variable);
variable--;
}while(variable>20);
}
}
49