pemrograman java

46
Pemrograman Java Arif Pramudwiatmoko Universitas Teknologi Yogyakarta

Upload: rezarsky

Post on 25-Jun-2015

313 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Pemrograman Java

Pemrograman Java

Arif Pramudwiatmoko

Universitas Teknologi Yogyakarta

Page 2: Pemrograman Java

Pengenalan Java

Bahasa pemrograman Java merupakan bahasa pemrograman yang dirancang untuk konsep Pemrograman Berorientasi Obyek (Object-oriented Programming).

Karakteristik ukurannya kecil, sederhana, aman, dinamik, netral, multithreading dan portable/platform independent.

Development Java terdiri dari Java Compiler dan Java Interpreter.

Page 3: Pemrograman Java

*.java

Java Compiler

Java Source code

Java Programs (bytecode)

Java InterpreterFor Unix

Java InterpreterFor MacOS

Hardware Hardware

*.class

*.c*.pass

C++,Delphi, VBsource code

C++, Pascal Compiler

Binaryexecutable*.exe

Hardware

Page 4: Pemrograman Java

Platform Java

Platform Java terdiri dari dua komponen yaitu:

Java Virtual Machine (JVM)

Java Application Programming Interface (Java API)

Java Runtime Environment (JRE)

Java API

Java Virtual Machine

Operating System (Windows, Unix, etc)

Hardware (Intel, Alpha, Motorola, etc)

Page 5: Pemrograman Java

Membuat Program Java

Menggunakan text editor seperti Notepad. class ujicoba { public static void main (String[] args){ System.out.println(“Sukses”); } } melakukan kompilasi dari file ujicoba.java $javac ujicoba.java melakukan eksekusi hasil kompilasi $java ujicoba

Page 6: Pemrograman Java

Tipedata dan Variabel

Variable merupakan container yang digunakan untuk menyimpan suatu nilai pada sebuah program dengan tipe tertentu.

Tipedata merupakan jenis data dari suatu variabel.

Ada dua macam tipedata dalam bahasa Java, yaitu: tipedata primitif tipedata reference

Page 7: Pemrograman Java

Tipedata primitif: byte => 8-bit bilangan bulat (-128 and 127) short => 16-bit bilangan bulat (-32768 and 32767) int => 32-bit bilangan bulat (-2147483648 and

2147483647) long => 64-bit bilangan bulat (-9223372036854775808

and 9223372036854775807) float => bilangan real 32-bit (-3.402823xe38 to

3.402823xe38)

double => bilangan real 64-bit (-1.79769313486232xe308 to 1.79769313486232xe308)

char => karakter atau teks (16-bit, mendukung karakter Unicode)

boolean => true/benar/1 atau false/salah/0

Page 8: Pemrograman Java

Deklarasi variabel:tipedata nama_variabel;

Pengaksesan variabel dilakukan dengan mengetik nama_variabel. Contoh:

int jumlah;int angka = 5;jumlah = angka + 3;

Konstanta adalah variabel yang nilainya tetap, tidak dapat diubah.

Deklarasi konstanta:final tipedata nama_variabel;

Contoh konstanta:final int MAX_DATA = 100;

Page 9: Pemrograman Java

Operator

5 + 3

Macam operator menurut jumlah operand: Operator unary >> 1 operand

Contoh: ++ , -- , ~ , - , ! Operator binary >> 2 operand

Contoh: + , - , * , / , % , > , < , && Operator ternary >> 3 operand

Yaitu: ? :

operand

operator

Page 10: Pemrograman Java

Macam operator menurut jenis fungsi: Operator Aritmetika

Operator Penggunaan Deskripsi

+ Op1 + Op2 Menambahkan Op1 dengan Op2

- Op1 - Op2 Mengurangkan Op1 dengan Op2

* Op1 * Op2 Mengalikan Op1 dengan Op2

/ Op1 / Op2 Membagi Op1 dengan Op2

% Op1 % Op2 Menghasilkan sisa hasil bagi antara Op1 dengan Op2

++ Op++ Op dinaikkan nilainya 1 setelah dilakukan operasi pada Op

++ ++Op Op dinaikkan nilainya 1 sebelum dilakukan operasi pada Op

-- Op-- Op diturunkan nilainya 1 setelah dilakukan operasi pada Op

-- --Op Op diturunkan nilainya 1 sebelum dilakukan operasi pada Op

- -Op Mengubah nilai Op menjadi negasinya, jika Op positif maka menjadi negatif, jika Op negatif menjadi positif

Page 11: Pemrograman Java

Operator Relasional>> digunakan untuk membandingkan antara dua variabel data

Hasil dari operasi relasional adalah logika benar atau salah.

Operator Penggunaan Deskripsi

> Op1 > Op2 Menghasilkan true jika Op1 lebih besar dari Op2

< Op1 < Op2 Menghasilkan true jika Op1 lebih kecil dari Op2

>= Op1 >= Op2 Menghasilkan true jika Op1 lebih besar atau sama Op2

<= Op1 <= Op2 Menghasilkan true jika Op1 lebih kecil atau sama dengan Op2

== Op1 == Op2 Menghasilkan true jika Op1 sama dengan Op2

!= Op1 != Op2 Menghasilkan true jika Op1 tidak sama dengan Op2

Page 12: Pemrograman Java

Operator Kondisional

Operator Penggunaan Deskripsi

&& Op1 && Op2Menghasilkan true jika Op1 dan Op2, keduanya bernilai boolean true

|| Op1 || Op2Menghasilkan false jika Op1 atau Op2, keduanya bernilai boolean false

! !Op1 Menghasilkan false jika Op1 bernilai boolean true

Operator Bitwise

Operator Penggunaan Deskripsi

& Op1 & Op2 Bitwise AND

| Op1 | Op2 Bitwise OR

^ Op1 ^ Op2 Bitwise XOR

~ ~Op1 Bitwise Complement

Page 13: Pemrograman Java

Operator ShiftOperator shift dalam Java digunakan untuk manipulasi bit. Operator shift digunakan untuk menggeser bit-bit sesuai dengan yang diinginkan.

Operator Penggunaan Deskripsi

>> Op1 >> Op2 Menggeser bit Op1 ke kanan sejauh Op2

<< Op1 << Op2 Menggeser bit Op1 ke kiri sejauh Op2

>>> Op1 >>> Op2 Menggeser bit Op1 ke kanan sejauh Op2 berikut bitsign-nya

Operator Penugasan

Operator asignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah variabel. Selain operator ‘=’, Java memiliki beberapa shortcut asignment operator yang penting.

Page 14: Pemrograman Java

Operator Penggunaan Ekivalen dengan

+= Op1 += Op2 Op1 = Op1 + Op2

-= Op1 -= Op2 Op1 = Op1 - Op2

*= Op1 *= Op2 Op1 = Op1 * Op2

/= Op1 /= Op2 Op1 = Op1 / Op2

%= Op1 %= Op2 Op1 = Op1 % Op2

&= Op1 &= Op2 Op1 = Op1 & Op2

!= Op1 != Op2 Op1 = Op1 ! Op2

^= Op1 ^= Op2 Op1 = Op1 ^ Op2

<<= Op1 <<= Op2 Op1 = Op1 << Op2

>>= Op1 >>= Op2 Op1 = Op1 >> Op2

>>>= Op1 >>>= Op2 Op1 = Op1 >>> Op2

Page 15: Pemrograman Java

Urutan Precedence Operator

Operasi-operasi yang menggunakan operator dapat melibatkan lebih dari 1 operator dan 1 operand.

Operasi yang dilakukan terlebih dahulu diurutkan sesuai operator berikut:

Page 16: Pemrograman Java

Postfix operators [ ] . (params) expr++ expr++

Unary operators ++expr --expr +expr –expr ~1

Creation or cast New (type)expr

Multiplicative * / %

Additive + -

Shift <<>> >>>

Relational <> <= >= instanceof

Equality == !=

Bitwise AND &

Bitwise exclusive OR ^

Bitwise exclusive OR |

Logical AND &&

Logical OR ||

Conditional ? :

Assignment = += -= *= /= %= &= ^= |= <<= >>= >>>=

Page 17: Pemrograman Java

Array

Array adalah sekelompok variabel dengan tipedata yang sama dan diberi nama yang sama.

Tiap variabel disebut elemen, yang dibedakan satu sama lain dengan nomor indeks yang dimulai dari 0.

Page 18: Pemrograman Java

Membuat array dilakukan dengan cara: Deklarasi nama array:

tipedata nama_array[];

Inisialisasi memori:nama_array = new tipedata[jumlah_elemen];

Pemberian nilai:nama_array[nomor_indeks] = nilai;

3 langkah di atas dapat digabungkan:tipedata nama_array = {nilai1, nilai2, … , nilaiN};

Mengakses elemen array dilakukan dengan menyebut nama array diikuti nomor indeksnya:

nama_array[nomor indeks]

Page 19: Pemrograman Java

Array Multidimensi

Array multidimensi adalah array yang mempunyai nomor indeks lebih dari satu macam. Dengan kata lain, array multidimensi adalah array dari array, array yang elemennya berupa array.

Cara membuat array multidimensi sama seperti array biasa, hanya saja nomor indeks dideklarasikan sejumlah dimensinya. Contoh: Array 2-dimensi:

double tabel[][] = new double [4][4]; Array 3-dimensi:

double matrix[][][] = new double [2][3][4];

Page 20: Pemrograman Java

Contoh 1:...double matriks[][] = new double [4][];matriks[0] = new double [4];matriks[1] = new double [4];matriks[2] = new double [4];matriks[3] = { 0, 1, 2, 3 };...

Contoh 2:class matriks {public static void main(String args[]) {double m[][];m[0][0] = 1;m[1][1] = 1;m[2][2] = 1;m[3][3] = 1;System.out.println(m[0][0]+” “+m[0][1]+” “+m[0][2]+” “+m[0][3]);System.out.println(m[1][0]+” “+m[1][1]+” “+m[1][2]+” “+m[1][3]);System.out.println(m[2][0]+” “+m[2][1]+” “+m[2][2]+” “+m[2][3]);System.out.println(m[3][0]+” “+m[3][1]+” “+m[3][2]+” “+m[3][3]);}}

Page 21: Pemrograman Java

Contoh 3:class AutoMatrix {public static void main(String args[]){double m[][] = {{ 0*0, 1*0, 2*0, 3*0 },{ 0*1, 1*1, 2*1, 3*1 },{ 0*2, 1*2, 2*2, 3*2 },{ 0*3, 1*3, 2*3, 3*3 },};System.out.println(m[0][0]+” “+m[0][1]+” “+m[0][2]+” “+m[0][3]);System.out.println(m[1][0]+” “+m[1][1]+” “+m[1][2]+” “+m[1][3]);System.out.println(m[2][0]+” “+m[2][1]+” “+m[2][2]+” “+m[2][3]);System.out.println(m[3][0]+” “+m[3][1]+” “+m[3][2]+” “+m[3][3]);}}

Page 22: Pemrograman Java

String

String adalah suatu obyek yang terdiri atas deretan karakter.

String mirip dengan array char, namun bukan. String dapat langsung diinisialisasi dengan atau tanpa

kata kunci new. Contoh:...String s1;s1 = “Hallo”;

String s2;s2 = new String(“Ini juga bisa”);

System.out.println(s1);System.out.println(s2);...

Page 23: Pemrograman Java

Metode pada Kelas String

int length()Memberikan nilai balik berupa panjang dari String tersebut.

char charAt(int index)Memberikan nilai balik berupa karakter pada posisi indeks di String tersebut.

int indexOf(char ch) Memberikan posisi indeks pada String di mana karakter

ch tersebut ditemukan (pencarian dari kiri ke kanan). int indexOf(String s)

Memberikan posisi indeks pada String di mana String s ditemukan.

Page 24: Pemrograman Java

boolean equals(String s)Menghasilkan nilai true jika String s sama dengan String tersebut.

boolean equalsIgnoreCase(String s)Sama seperti metode equals(), namun mengabaikan huruf kapital/kecil.

String toLowerCase()Mengubah String menjadi huruf kecil semua.

String toUpperCase() Mengubah String menjadi huruf kapital semua.

String trim()Membuang spasi yang berdekatan.

String substring(int offset)Mengambil sebagian isi String mulai dari indeks offset.

String substring(int offset, int endindex)Mengambil sebagian isi String mulai dari indeks offset sampai ke endindex.

Page 25: Pemrograman Java

Masukan dari Keyboard

Menangkap masukan karakter yang diketikkan melalui keyboard dapat dilakukan dengan menggunakan obyek kelas InputStreamReader dan BufferedReader.

Kelas InputStreamReader dan BufferedReader adalah kelas-kelas yang disediakan Java pada paket java.io untuk penanganan masukan/keluaran.

Obyek InputStreamReader membaca data yang masuk melalui masukan standar (keyboard) melalui System.in kemudian obyek BufferedReader menampung data tersebut dan membaca sebagai String dengan metode readLine(). Metode readLine() harus diletakkan pada blok try untuk mengantisipasi terjadinya eksepsi.

Page 26: Pemrograman Java

Contoh:import java.io.*;class Ketik {public static void main(String args[]) {

String masukan = “”;InputStreamReader isr = new InputStreamReader(System.in);BufferedReader buf = new BufferedReader(isr);

System.out.print(“Masukkan tulisan: “);try {

masukan = buf.readLine();} catch(IOException e) {

System.out.println(“Error”);}

System.out.println(“Tulisan yang diketikkan: “ + masukan);}

}

Page 27: Pemrograman Java

Konversi String

Metode untuk mengkonversi String ke int:Integer.parseInt(String s)

atauInteger.valueOf(String s).intValue()

Metode untuk mengkonversi String ke float:Float.valueOf(String s).floatValue()

Metode untuk mengkonversi String ke double:Double.valueOf(String s).doubleValue()

Page 28: Pemrograman Java

Pernyataan Berkondisi

Pernyataan berkondisi/ pernyataan bersyarat/ conditional statement adalah suatu pernyataan program yang akan melakukan sesuatu instruksi jika suatu kondisi yang disyaratkan terpenuhi/ bernilai benar.

Pernyataan-pernyataan berkondisi: Pernyataan if Pernyataan if-else Pernyataan switch

Page 29: Pemrograman Java

Pernyataan if

Bentuk:

if(kondisi)

pernyataan; Jika kondisi bernilai benar, maka pernyataan dijalankan.

Jika kondisi bernilai salah, maka pernyataan tidak dijalankan.

Page 30: Pemrograman Java

Contoh:...int angka = 5;if(angka < 10)System.out.print(“Lebih kecil”);

...

kondisi

pernyataan

salah

benar

Diagram Alir:

Page 31: Pemrograman Java

Pernyataan if-else

Bentuk:

if(kondisi)

pernyataan1;

else

pernyataan2;

Jika kondisi bernilai benar, maka pernyataan1 dijalankan.

Jika kondisi bernilai salah, maka pernyataan2 dijalankan.

Page 32: Pemrograman Java

kondisi

pernyataan1

salah

benar

Diagram Alir:

pernyataan2

Contoh:...int angka = 5;if(angka < 10)System.out.print(“Lebih kecil”);

elseSystem.out.print(“Tidak lebih kecil”);

...

Page 33: Pemrograman Java

Pernyataan if-else bersarang

Pernyataan if-else bersarang/ nested if merupakan pernyataan if-else yang di dalamnya terdapat pernyataan if-else yang lainnya yang tersusun secara cascade.

Pernyataan ini memberikan pilihan kondisi yang lebih dari 2.

Bentuk:if(kondisi1)

pernyataan1;else if(kondisi2)

pernyataan2;else if(kondisi3)

pernyataan3;...else

pernyataanN;

Page 34: Pemrograman Java

Diagram Alir:

kondisi1

pernyataan1

kondisi2

pernyataanN

kondisi3

pernyataan3pernyataan2

benar

benar

benar

salah

salah

salah

Page 35: Pemrograman Java

Pernyataan switch

Pernyataan switch mempunyai kegunaan yang sama dengan pernyataan if-else bersarang, yaitu memberikan pilihan kondisi yang lebih dari 2.

Pernyataan yang dijalankan adalah pernyataan yang berada pada nilai case yang sama dengan kondisi yang menjadi syarat.

Bentuk:switch(kondisi) {case nilai1:

pernyataan1;break;

case nilai2:pernyataan2;break;

case nilai3:pernyataan3;break;

...default:

pernyataanN;}

Page 36: Pemrograman Java

Diagram Alir:

pernyataan1

kondisi

pernyataan2

pernyataan3

pernyataanN

nilai1

nilai2

nilai3

default

Page 37: Pemrograman Java

Pernyataan Perulangan

Pernyataan perulangan adalah suatu pernyataan program yang akan melakukan sesuatu instruksi selama suatu kondisi yang disyaratkan terpenuhi/ bernilai benar.

Berbeda dengan pernyataan berkondisi, pernyataan perulangan melakukan eksekusi instruksi berkali-kali, selama kondisi tersebut terpenuhi.

Pernyataan-pernyataan perulangan: Pernyataan while Pernyataan do-while Pernyataan for

Page 38: Pemrograman Java

Pernyataan while

Bentuk:

while(kondisi)

pernyataan; Ketika kondisi bernilai benar, maka pernyataan dijalankan, kemudian kembali ke pengecekan kondisi.

Ketika kondisi bernilai salah, maka pernyataan tidak dijalankan lagi.

Page 39: Pemrograman Java

kondisi

pernyataan

salah

benar

Diagram Alir:

Contoh:...int angka = 0;while(angka < 10) {System.out.print(angka + “Lebih kecil dari 10”);angka++;

}...

Page 40: Pemrograman Java

Pernyataan do-while

Bentuk:

do {

pernyataan;

} while(kondisi) Pernyataan do-while mirip dengan

pernyataan while, namun pernyataan dijalankan terlebih dahulu sebelum pengecekan kondisi, sehingga pernyataan minimal dijalankan 1 kali.

Page 41: Pemrograman Java

kondisi

pernyataan

salah

benar

Diagram Alir:

Contoh:...int angka = 0;do {System.out.print(angka + “Lebih kecil dari 10”);angka++;

} while(angka < 10);...

Page 42: Pemrograman Java

Pernyataan for

Bentuk:for(init;kondisi;naik)

pernyataan;

Pernyataan for adalah sama artinya dengan pernyataan while di samping ini.

init;

while(kondisi) {

pernyataan;

naik;

}

Page 43: Pemrograman Java

kondisi

init

salah

benar

Diagram Alir:

pernyataannaik

Contoh:...for(int i = 0; i < 10; i++)System.out.print(angka + “Lebih kecil dari 10”);

...

Page 44: Pemrograman Java

Metode

Metode/fungsi/prosedur merupakan kumpulan instruksi-instruksi yang dikemas menjadi satu kesatuan yang mempunyai tujuan/kegunaan tertentu.

Metode dapat menghasilkan suatu nilai, yaitu disebut dengan nilai balik.

Metode dapat mensyaratkan nilai masukan sebagai argumen/parameter metode untuk menjalankannya. Nilai argumen tersebut digunakan sebagai nilai masukan untuk metode tersebut ketika dijalankan.

Page 45: Pemrograman Java

Membuat metode:nilai_balik nama_metode(argumen1, argumen2, ... , argumenN) {//isi metode

} nilai_balik harus disertakan meskipun

void (kosong). argumen boleh ada, boleh juga tidak. Contoh:

double kuadrat(double d) {double hasil = d * d;return hasil;

}

Page 46: Pemrograman Java

Metode-metode yang dapat dijalankan adalah metode-metode yang berada di ruang lingkup eksekusi, misalnya di kelas yang sama.

Menjalankan metode dapat dilakukan dengan menyebutkan nama metode yang diiringi argumen-argumennya (jika ada).

Contoh:...System.out.print(“5 kuadrat adalah “);double hasil = kuadrat(5);System.out.print(hasil);...