Pengenalan Java
-
Upload
buddygemboel-aremaniajuga-kuya -
Category
Documents
-
view
227 -
download
0
description
Transcript of Pengenalan Java
25/02/2013
1
Pengenalan Bahasa Pemrograman Pengenalan Bahasa Pemrograman
JavaJava
2
Apa yang Disebut 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.
25/02/2013
2
3
KarakteristikKarakteristik JavaJava
• 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.
KarakteristikKarakteristik JavaJava
• 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
25/02/2013
3
KarakteristikKarakteristik JavaJava
• 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
KarakteristikKarakteristik JavaJava
• 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
25/02/2013
4
7
Java Sun MicrosystemJava Sun Microsystem
• Java 2 Software Developer Kit (J2SDK)
� Windows
� SPARC
� X86 Solaris
� Linux
• Versi terbaru Java SE 7
8
Bagaimana Java Bekerja ?Bagaimana Java Bekerja ?
25/02/2013
5
9
Bagaimana Java Bekerja ? Bagaimana Java Bekerja ? ( lanjutan )( lanjutan )
10
Java PlatformJava 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
25/02/2013
6
11
Membuat Program JavaMembuat Program Java
• Persiapan
� Download dan Instalasi J2SDK
� Setting jalur eksekusi
• Penulisan program:
� Menulis program
� Kompilasi
� Eksekusi
Identifier Identifier didi JavaJava
• 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
12
25/02/2013
7
Keywords Keywords didi JavaJava
• Keyword adalah identifier yang digunakan Java untuk suatu
tujuan khusus. Daftar keyword Java adalah sebagai berikut:
13
abstract do implements private thisboolean double import protected throwbreak else instanceof public throwsbyte extends int return transientcase false interface short truecatch final long static trychar finally native strictfp voidclass float new super volatilecontinue for null switch whiledefault if package synchronized
ContohContoh PenulisanPenulisan NamaNama VariabelVariabel
yang yang DiizinkanDiizinkan
• @2var
• _status
• tanggal
• jumlahBarang
• nama_kecil
• final_test
• int_float
14
25/02/2013
8
TipeTipe Data Data didi JavaJava
• Tipe data dalam Java dibagi dalam
dua kategori:
1. Sederhana (primitif)
2. Komposit (referensi)
15
TipeTipe data data sederhanasederhana ((primitifprimitif))
• 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
16
25/02/2013
9
TipeTipe data data sederhanasederhana ((primitifprimitif))
Tipe
DataPanjang 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
17
Integer:
Floating Point:
Tipe data floating point merupakan tipe data untuk untuk
variabel yang nilai-nilainya adalah bilangan real (dapat
mempunyai pecahan desimal).
18
Tipe
DataPanjang
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
TipeTipe data data sederhanasederhana ((primitifprimitif))
25/02/2013
10
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 m enghasilkan
// huruf ‘I’;
19
TipeTipe data data sederhanasederhana ((primitifprimitif))
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 menj adi // false
20
TipeTipe data data sederhanasederhana ((primitifprimitif))
25/02/2013
11
TipeTipe Data Data KompositKomposit
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”;
21
PromosiPromosi dandan CastingCasting
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 ;
22
25/02/2013
12
PromosiPromosi dandan CastingCasting
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 ;
23
PromosiPromosi dandan CastingCasting
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.
24
25/02/2013
13
PromosiPromosi dandan CastingCasting
Berikut contoh casting tipe
int num1 = 34;
int num2 = 45;
short num3 = (short)(num1 + num2 );
System.out.println(num3);
25
Operator Operator didi JavaJava
• Operator Unary
26
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
25/02/2013
14
• Operator Binary
27
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
PrioritasPrioritas OperatorOperator
• 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;
28
25/02/2013
15
• 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;
29
• Operator Relasi
30
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)
25/02/2013
16
Operator kondisional
31
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)
KataKata KunciKunci FinalFinal
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.
32
25/02/2013
17
KataKata KunciKunci FinalFinal
• Contoh
class Lingkaran{
final double pi = 3.14; //konstanta yg nilainya tid ak // 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;
}
}
33
KonstruksiKonstruksi PengambilanPengambilanKeputusanKeputusan
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;
}
34
25/02/2013
18
35
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);
}
}
36
25/02/2013
19
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;} 37
38
25/02/2013
20
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);
}
}39
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;
} 40
25/02/2013
21
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 . 41
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);
}
}
42
25/02/2013
22
KonstruksiKonstruksi PengulanganPengulangan (looping)(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
43
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.
44
25/02/2013
23
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);
}
}
}
45
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;
}
}
}
}
46
25/02/2013
24
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.47
• 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.
48
25/02/2013
25
Contoh
public class Contoh3{
public static void main(String[] args){
for(int variable=20; variable>=10;variable--){
System.out.println(“Nilai variable =”+ variable);
}
}
}
49
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);
}
}
}
50
25/02/2013
26
public class Contoh5{
public static void main(String[] args){
int variable = 20;
for( ; ; ){
System.out.println(“Nilai variable1= ”+variable);
variable--;
if(variable<10)break;
}
}
}
51
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);
}
}
52
25/02/2013
27
PerulanganPerulangan BersarangBersarang
Pengulangan bersarang / nested
loop adalah susunan pengulangan
bertingkat, di mana terdapat
minimal satu blok pengulangan di
dalam blok pengulangan yang lain.
53
ContohContoh PerulanganPerulangan BersarangBersarang
public class Contoh{public static void main(String[] args){
int j=0;for(int i=0;i<5;i++){
while(j<5){System.out.print(" @ ");j++;
}j=0;System.out.print("\n");
}}
}
54
25/02/2013
28
• Output
@@@@@
@@@@@
@@@@@
@@@@@
@@@@@
55
PernyataanPernyataancontinuecontinue
• Pada blok pengulangan terkadang
diperlukan untuk menghentikan
proses pengulangan pada iterasi
tertentu untuk dilanjutkan ke
iterasi berikutnya. Hal ini dapat
dilakukan pernyataan continue.
Berikut ini contoh penggunaan
continue.
56
25/02/2013
29
Contoh:
public class Continue{public static void main(String[] args){
for(int i=0;i<10;i++){System.out.print(i + " ");if (i%2 == 0) continue;System.out.println(“ ”);
}}
}
57
• Pada contoh tersebut digunakan System.out.print untuk mencetak variabel
i tanpa pindah baris. Kemudian digunakan
operator modulus (%) untuk memeriksa apakah
indeksnya genap atau ganjil. Jika genap,
pengulangan dilanjutkan tanpa mencetak
perpindahan baris. Hal ini berarti pernyataan System.out.ptintln(” ”) tidak dieksekusi
atau dilewatkan dan program melanjutkan ke iterasi berikutnya atau ke nilai i berikutnya.
58
25/02/2013
30
Continue Continue BerlabelBerlabel
• pernyataan continue dapat
dilengkapi dengan label untuk
menentukan pengulangan mana
yang harus dilanjutkan. Pernyataan
continue pada contoh berikut ini
menghentikan perulangan j dan
meneruskan iterasi selanjutnya
pada perulangan i.
59
public class ContinueLabel{
public static void main(String[] args){
outer : for(int i=0;i<10;i++){
for (int j=0;j<10;j++){
if (j>i){
System.out.println(“ ”);continue outer;
}
System.out.print(“ “ + (i*j));
}
}
System.out.println(“”);
}
}
60
25/02/2013
31
PerbandinganPerbandinganKonstruksiKonstruksi
PengulanganPengulangan
• While digunakan untuk membuat iterasi dengan jumlah
iterasi yang tidak pasti dan untuk iterasi dari nol sampai
beberapa kali;
• Do/While, digunakan untuk membuat iterasi dengan
jumlah iterasi yang tidak pasti, dan untuk iterasi dari
satu sampai beberapa kali. Pada pengulangan ini
pernyataan di dalam blok pengulangan dijamin dieksekusi
minimal satu kali;
• For, lebih tepat digunakan untuk membuat iterasi dengan
jumlah iterasi yang pasti dan berhingga.
61