Modul Java

advertisement
Pengenalan Bahasa Pemrograman
Java
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
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
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
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
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
Java Sun Microsystem
• Java 2 Software Developer Kit (J2SDK)
Windows
 SPARC
 X86 Solaris
 Linux

• Versi terbaru Java SE 6
7
Bagaimana Java Bekerja ?
8
Bagaimana Java Bekerja ? ( lanjutan )
9
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
Membuat Program Java
• Persiapan
Download dan Instalasi J2SDK
 Setting jalur eksekusi

• Penulisan program:
Menulis program
 Kompilasi
 Eksekusi

11
Persiapan
• Download dan Installasi J2SDK
http://java.sun.com/javase/downloads/
• Setting jalur eksekusi
Settings – Control Panel – System – Advanced
– Environment Variables
12
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
Keywords di Java
• Keyword adalah identifier yang digunakan Java untuk suatu
tujuan khusus. Daftar keyword Java adalah sebagai berikut:
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
14
Contoh Penulisan Nama Variabel
yang Diizinkan
•
•
•
•
•
•
•
@2var
_status
tanggal
jumlahBarang
nama_kecil
final_test
int_float
15
Tipe Data di Java
• Tipe data dalam Java dibagi dalam
dua kategori:
1. Sederhana (primitif)
2. Komposit (referensi)
16
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
Tipe data sederhana (primitif)
Integer:
Tipe
Data
byte
short
int
long
Panjang
8 bit
16 bit
32 bit
64 bit
Rentang Nilai
-27 sampai 27 - 1
(-128 sampai 127 )
(256 kemungkinan nilai)
-215 sampai 215 - 1
(-32.768 sampai 32.767)
(65.535 kemungkinan nilai)
-231 sampai 231 - 1
( -2.147.483.648 sampai 2.147.483.647)
(4.294.967.296 kemungkinan nilai)
-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)
Contoh Nilai
5
-126
9
-23659
2067456397
-1456398567
3L
-2147483648L
67L
18
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).
Tipe
Data
float
double
Panjang
32 bit
64 bit
Contoh Penulisan Nilai yang
Diperbolehkan
78F
-34736.86F
6.4E4F ( sama dengan 6,4 x
104 )
-2356
3.5E7
67564788965.567
19
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
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
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
Promosi dan Casting
Promosi adalah proses pengubahan representasi bit variabel
primitif dari representasi bit yang lebih rendah ke
representasi bit yang lebih tinggi. Promosi dapat terjadi
apabila :
a. Jika terjadi assigning nilai dari tipe data dengan
representasi bit yang lebih kecil ke tipe data dengan
representasi bit yang lebih besar, seperti yang
diperlihatkan pada contoh berikut ini:
short a = 12;
int b = a ;
23
Promosi dan Casting
b. Jika terjadi assigning nilai dari tipe data integral ke tipe
data floating-point, seperti yang diperlihatkan pada
contoh
int a = 30;
float b = a ;
24
Promosi dan Casting
Casting tipe merupakan proses pengubahan representasi
bit variabel primitif dari representasi bit yang lebih tinggi
ke representasi bit yang lebih rendah. Sintak dari type
casting adalah sebagai berikut :
identifier = (target_type) value ;
ket:
– identifier = nama variabel yang menjadi tempat
penyimpanan nilai;
– target_type = tipe data yang diinginkan menjadi tipe
data dari value;
– value = nilai yang akan di-casting.
25
Promosi dan Casting
Berikut contoh casting tipe
int num1 = 34;
int num2 = 45;
short num3 = (short)(num1 + num2 );
System.out.println(num3);
26
Operator di Java
• Operator Unary
Arti Operator
Pre-Increment
Operator
Contoh Pemakaian
++operand int i = 8 ;
int j = ++i;
i bernilai 9, j bernilai 9
Post-Increment operand++ int i = 8;
int j = i++;
Pre-Decrement
--operand
i bernilai 9, j bernilai 8
int i = 8 ;
int j = --i;
Post-Increment
operand--
i bernilai 7 , j bernilai 7
int i=8;
int j = i--;
i bernilai 7, j bernilai 8
27
• Operator Binary
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
%
mod=num1 % num2
Hasil operasi modulus adalah sisa dari
operasi num1 / num2.
(modulus)
Hasil operasi modulus memiliki tanda ( +/- )
yang sama dengan operand pertama
28
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;
29
• Contoh
int c = 12 * 3 +5 / (8 - 3) ;
Maka urutan operasinya adalah sebagai berikut :
int
int
int
int
c
c
c
c
=
=
=
=
12 * 3 + 5 / 5 ;
36 + 5 / 5;
36 + 1 ;
37;
30
• Operator Relasi
Condition
Is equal to
(atau “is the same as”)
Operator
==
int i = 1;
System.out.println(i==1);
: true)
// (output
!=
int i = 1;
System.out.println(i!=1);
: false)
// (output
Is not equal to
(atau “is not the same
as”)
Example
Is less than
<
Is less than or equal to
<=
Is greater than
>
Is greater than or equal
to
>=
int i = 1;
System.out.println(i<1); // (output
: false)
int i = 1;
System.out.println(i<=1); //(output
: true)
int i = 1;
System.out.println(i>1); //(output :
false)
int i = 1;
System.out.println(i>=1); // (output
: true)
31
Operator kondisional
Condition
If one condition AND another
condition
Operator
&&
Example
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)
int i = 1;
int j = 2;
System.out.println((i<1)&&(j>0));
// (output : false)
32
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.
33
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;
}
}
34
Konstruksi Pengambilan Keputusan
Konstruksi if
Konstruksi if merupakan bentuk konstruksi pengambilan
keputusan dengan 2 kemungkinan keputusan. Kemungkinankemungkinan keputusan itu akan dipilih berdasarkan suatu
kondisi yang diperiksa. Kondisi tersebut merupakan suatu
ekspresi boolean / boolean expression.
Sintaks dasarnya:
if ( boolean_expression ){
code block;
}
35
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”);
}
System.out.println(“Nilai Rata-rata = ”+rata_rata);
}
}
37
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;
}
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;
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);
}
}
40
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;
}
41
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
42
diuji tidak sesuai dengan nilai variabel .
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);
}
}
43
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
44
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.
45
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);
}
}
}
46
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;
}
}
}
}
47
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.
48
• 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.
49
Contoh
public class Contoh3{
public static void main(String[] args){
for(int variable=20; variable>=10;variable--){
System.out.println(“Nilai variable =”+ variable);
}
}
}
50
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);
}
}
}
51
public class Contoh5{
public static void main(String[] args){
int variable = 20;
for( ;
; ){
System.out.println(“Nilai variable1= ”+variable);
variable--;
if(variable<10)break;
}
}
}
52
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);
}
}
53
Download