Pemrograman Java Arif Pramudwiatmoko Universitas Teknologi Yogyakarta Pengenalan

  • Slides: 46
Download presentation
Pemrograman Java Arif Pramudwiatmoko Universitas Teknologi Yogyakarta

Pemrograman Java Arif Pramudwiatmoko Universitas Teknologi Yogyakarta

Pengenalan Java n n n Bahasa pemrograman Java merupakan bahasa pemrograman yang dirancang untuk

Pengenalan Java n n n Bahasa pemrograman Java merupakan bahasa pemrograman yang dirancang untuk konsep Pemrograman Berorientasi Obyek (Objectoriented Programming). Karakteristik ukurannya kecil, sederhana, aman, dinamik, netral, multithreading dan portable/platform independent. Development Java terdiri dari Java Compiler dan Java Interpreter.

*. java Java Source code Java Compiler *. c *. pass C++, Delphi, VB

*. java Java Source code Java Compiler *. c *. pass C++, Delphi, VB source code C++, Pascal Compiler Java Programs (bytecode) *. exe *. class Java Interpreter For Unix Java Interpreter For Mac. OS Hardware Binary executable

Platform Java terdiri dari dua komponen yaitu: ¨ Java Virtual Machine (JVM) ¨ 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)

Membuat Program Java n n n n n Menggunakan text editor seperti Notepad. class

Membuat Program Java n n n n n 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

Tipedata dan Variabel n n n Variable merupakan container yang digunakan untuk menyimpan suatu

Tipedata dan Variabel n n n 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

n Tipedata primitif: ¨ byte => 8 -bit bilangan bulat (-128 and 127) ¨

n 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. 402823 xe 38 to 3. 402823 xe 38) ¨ double => bilangan real 64 -bit (1. 79769313486232 xe 308 to 1. 79769313486232 xe 308) ¨ char => karakter atau teks (16 -bit, mendukung karakter Unicode) ¨ boolean => true/benar/1 atau false/salah/0

n Deklarasi variabel: tipedata nama_variabel; n Pengaksesan variabel dilakukan dengan mengetik nama_variabel. Contoh: int

n Deklarasi variabel: tipedata nama_variabel; n Pengaksesan variabel dilakukan dengan mengetik nama_variabel. Contoh: int jumlah; int angka = 5; jumlah = angka + 3; n n Konstanta adalah variabel yang nilainya tetap, tidak dapat diubah. Deklarasi konstanta: final tipedata nama_variabel; n Contoh konstanta: final int MAX_DATA = 100;

Operator operator 5+3 operand Macam operator menurut jumlah operand: Operator unary >> 1 operand

Operator operator 5+3 operand Macam operator menurut jumlah operand: Operator unary >> 1 operand Contoh: ++ , -- , ~ , - , ! ¨ Operator binary >> 2 operand Contoh: + , - , * , / , % , > , < , && ¨ Operator ternary >> 3 operand Yaitu: ? : ¨

n Macam operator menurut jenis fungsi: Operator Aritmetika Operator Penggunaan Deskripsi + Op 1

n Macam operator menurut jenis fungsi: Operator Aritmetika Operator Penggunaan Deskripsi + Op 1 + Op 2 Menambahkan Op 1 dengan Op 2 - Op 1 - Op 2 Mengurangkan Op 1 dengan Op 2 * Op 1 * Op 2 Mengalikan Op 1 dengan Op 2 / Op 1 / Op 2 Membagi Op 1 dengan Op 2 % Op 1 % Op 2 ++ Op dinaikkan nilainya 1 setelah dilakukan operasi pada Op ++ ++Op Op dinaikkan nilainya 1 sebelum dilakukan operasi pada 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 Menghasilkan sisa hasil bagi antara Op 1 dengan Op 2

Operator Relasional >> digunakan untuk membandingkan antara dua variabel data Hasil dari operasi relasional

Operator Relasional >> digunakan untuk membandingkan antara dua variabel data Hasil dari operasi relasional adalah logika benar atau salah. n Operator Penggunaan Deskripsi > Op 1 > Op 2 Menghasilkan true jika Op 1 lebih besar dari Op 2 < Op 1 < Op 2 Menghasilkan true jika Op 1 lebih kecil dari Op 2 >= Op 1 >= Op 2 Menghasilkan true jika Op 1 lebih besar atau sama Op 2 <= Op 1 <= Op 2 Menghasilkan true jika Op 1 lebih kecil atau sama dengan Op 2 == Op 1 == Op 2 Menghasilkan true jika Op 1 sama dengan Op 2 != Op 1 != Op 2 Menghasilkan true jika Op 1 tidak sama dengan Op 2

n Operator Kondisional Operator Penggunaan n && Op 1 && Op 2 || Op

n Operator Kondisional Operator Penggunaan n && Op 1 && Op 2 || Op 1 || Op 2 ! !Op 1 Deskripsi Menghasilkan true jika Op 1 dan Op 2, keduanya bernilai boolean true Menghasilkan false jika Op 1 atau Op 2, keduanya bernilai boolean false Menghasilkan false jika Op 1 bernilai boolean true Operator Bitwise Operator Penggunaan Deskripsi & Op 1 & Op 2 Bitwise AND | Op 1 | Op 2 Bitwise OR ^ Op 1 ^ Op 2 Bitwise XOR ~ ~Op 1 Bitwise Complement

n Operator Shift Operator shift dalam Java digunakan untuk manipulasi bit. Operator shift digunakan

n Operator Shift Operator shift dalam Java digunakan untuk manipulasi bit. Operator shift digunakan untuk menggeser bit-bit sesuai dengan yang diinginkan. Operator Penggunaan n Deskripsi >> Op 1 >> Op 2 Menggeser bit Op 1 ke kanan sejauh Op 2 << Op 1 << Op 2 Menggeser bit Op 1 ke kiri sejauh Op 2 >>> Op 1 >>> Op 2 Menggeser bit Op 1 ke kanan sejauh Op 2 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.

Operator Penggunaan Ekivalen dengan += Op 1 += Op 2 Op 1 = Op

Operator Penggunaan Ekivalen dengan += Op 1 += Op 2 Op 1 = Op 1 + Op 2 -= Op 1 -= Op 2 Op 1 = Op 1 - Op 2 *= Op 1 *= Op 2 Op 1 = Op 1 * Op 2 /= Op 1 /= Op 2 Op 1 = Op 1 / Op 2 %= Op 1 %= Op 2 Op 1 = Op 1 % Op 2 &= Op 1 &= Op 2 Op 1 = Op 1 & Op 2 != Op 1 != Op 2 Op 1 = Op 1 ! Op 2 ^= Op 1 ^= Op 2 Op 1 = Op 1 ^ Op 2 <<= Op 1 <<= Op 2 Op 1 = Op 1 << Op 2 >>= Op 1 >>= Op 2 Op 1 = Op 1 >> Op 2 >>>= Op 1 >>>= Op 2 Op 1 = Op 1 >>> Op 2

Urutan Precedence Operator Operasi-operasi yang menggunakan operator dapat melibatkan lebih dari 1 operator dan

Urutan Precedence Operator Operasi-operasi yang menggunakan operator dapat melibatkan lebih dari 1 operator dan 1 operand. n Operasi yang dilakukan terlebih dahulu diurutkan sesuai operator berikut: n

Postfix operators [ ]. (params) expr++ Unary operators ++expr --expr +expr –expr ~1 Creation

Postfix operators [ ]. (params) 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 = += -= *= /= %= &= ^= |= <<= >>>=

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

Array adalah sekelompok variabel dengan tipedata yang sama dan diberi nama yang sama. n Tiap variabel disebut elemen, yang dibedakan satu sama lain dengan nomor indeks yang dimulai dari 0. n

n Membuat array dilakukan dengan cara: ¨ Deklarasi nama array: tipedata nama_array[]; ¨ Inisialisasi

n 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; n 3 langkah di atas dapat digabungkan: tipedata nama_array = {nilai 1, nilai 2, … , nilai. N}; n Mengakses elemen array dilakukan dengan menyebut nama array diikuti nomor indeksnya: nama_array[nomor indeks]

Array Multidimensi n n Array multidimensi adalah array yang mempunyai nomor indeks lebih dari

Array Multidimensi n n 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];

n Contoh 1: . . . double matriks[][] = new double [4][]; matriks[0] =

n 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 }; . . . n 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]+” System. out. println(m[1][0]+” “+m[1][1]+” System. out. println(m[2][0]+” “+m[2][1]+” System. out. println(m[3][0]+” “+m[3][1]+” } } “+m[0][2]+” “+m[1][2]+” “+m[2][2]+” “+m[3][2]+” “+m[0][3]); “+m[1][3]); “+m[2][3]); “+m[3][3]);

n Contoh 3: class Auto. Matrix { public static void main(String args[]){ double m[][]

n Contoh 3: class Auto. Matrix { 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]+” System. out. println(m[1][0]+” “+m[1][1]+” System. out. println(m[2][0]+” “+m[2][1]+” System. out. println(m[3][0]+” “+m[3][1]+” } } “+m[0][2]+” “+m[1][2]+” “+m[2][2]+” “+m[3][2]+” “+m[0][3]); “+m[1][3]); “+m[2][3]); “+m[3][3]);

String n n n String adalah suatu obyek yang terdiri atas deretan karakter. String

String n n n 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 s 1; s 1 = “Hallo”; String s 2; s 2 = new String(“Ini juga bisa”); System. out. println(s 1); System. out. println(s 2); . . .

Metode pada Kelas String n n n int length() Memberikan nilai balik berupa panjang

Metode pada Kelas String n n n int length() Memberikan nilai balik berupa panjang dari String tersebut. char. At(int index) Memberikan nilai balik berupa karakter pada posisi indeks di String tersebut. int index. Of(char ch) Memberikan posisi indeks pada String di mana karakter ch tersebut ditemukan (pencarian dari kiri ke kanan). int index. Of(String s) Memberikan posisi indeks pada String di mana String s ditemukan.

n n n n boolean equals(String s) Menghasilkan nilai true jika String s sama

n n n n boolean equals(String s) Menghasilkan nilai true jika String s sama dengan String tersebut. boolean equals. Ignore. Case(String s) Sama seperti metode equals(), namun mengabaikan huruf kapital/kecil. String to. Lower. Case() Mengubah String menjadi huruf kecil semua. String to. Upper. Case() 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.

Masukan dari Keyboard n n n Menangkap masukan karakter yang diketikkan melalui keyboard dapat

Masukan dari Keyboard n n n Menangkap masukan karakter yang diketikkan melalui keyboard dapat dilakukan dengan menggunakan obyek kelas Input. Stream. Reader dan Buffered. Reader. Kelas Input. Stream. Reader dan Buffered. Reader adalah kelas-kelas yang disediakan Java pada paket java. io untuk penanganan masukan/keluaran. Obyek Input. Stream. Reader membaca data yang masuk melalui masukan standar (keyboard) melalui System. in kemudian obyek Buffered. Reader menampung data tersebut dan membaca sebagai String dengan metode read. Line(). Metode read. Line() harus diletakkan pada blok try untuk mengantisipasi terjadinya eksepsi.

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

n Contoh: import java. io. *; class Ketik { public static void main(String args[]) { String masukan = “”; Input. Stream. Reader isr = new Input. Stream. Reader(System. in); Buffered. Reader buf = new Buffered. Reader(isr); System. out. print(“Masukkan tulisan: “); try { masukan = buf. read. Line(); } catch(IOException e) { System. out. println(“Error”); } System. out. println(“Tulisan yang diketikkan: “ + masukan); } }

Konversi String n Metode untuk mengkonversi String ke int: Integer. parse. Int(String s) atau

Konversi String n Metode untuk mengkonversi String ke int: Integer. parse. Int(String s) atau Integer. value. Of(String s). int. Value() n Metode untuk mengkonversi String ke float: Float. value. Of(String s). float. Value() n Metode untuk mengkonversi String ke double: Double. value. Of(String s). double. Value()

Pernyataan Berkondisi n n Pernyataan berkondisi/ pernyataan bersyarat/ conditional statement adalah suatu pernyataan program

Pernyataan Berkondisi n n 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-else ¨ Pernyataan switch

Pernyataan if n Bentuk: if(kondisi) pernyataan; Jika kondisi bernilai benar, maka pernyataan dijalankan. n

Pernyataan if n Bentuk: if(kondisi) pernyataan; Jika kondisi bernilai benar, maka pernyataan dijalankan. n Jika kondisi bernilai salah, maka pernyataan tidak dijalankan. n

Diagram Alir: kondisi benar pernyataan n Contoh: . . . int angka = 5;

Diagram Alir: kondisi benar pernyataan n Contoh: . . . int angka = 5; if(angka < 10) System. out. print(“Lebih kecil”); . . . salah

Pernyataan if-else n Bentuk: if(kondisi) pernyataan 1; else pernyataan 2; Jika kondisi bernilai benar,

Pernyataan if-else n Bentuk: if(kondisi) pernyataan 1; else pernyataan 2; Jika kondisi bernilai benar, maka pernyataan 1 dijalankan. n Jika kondisi bernilai salah, maka pernyataan 2 dijalankan. n

Diagram Alir: kondisi salah benar pernyataan 1 n pernyataan 2 Contoh: . . .

Diagram Alir: kondisi salah benar pernyataan 1 n pernyataan 2 Contoh: . . . int angka = 5; if(angka < 10) System. out. print(“Lebih kecil”); else System. out. print(“Tidak lebih kecil”); . . .

Pernyataan if-else bersarang n n Pernyataan if-else bersarang/ nested if merupakan pernyataan if -else

Pernyataan if-else bersarang n n Pernyataan if-else bersarang/ nested if merupakan pernyataan if -else yang di dalamnya terdapat pernyataan ifelse yang lainnya yang tersusun secara cascade. Pernyataan ini memberikan pilihan kondisi yang lebih dari 2. n Bentuk: if(kondisi 1) pernyataan 1; else if(kondisi 2) pernyataan 2; else if(kondisi 3) pernyataan 3; . . . else pernyataan. N;

Diagram Alir: kondisi 1 benar salah kondisi 2 benar salah kondisi 3 salah benar

Diagram Alir: kondisi 1 benar salah kondisi 2 benar salah kondisi 3 salah benar pernyataan 1 pernyataan 2 pernyataan 3 pernyataan. N

Pernyataan switch n n Pernyataan switch mempunyai kegunaan yang sama dengan pernyataan if-else bersarang,

Pernyataan switch n n 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. n Bentuk: switch(kondisi) { case nilai 1: pernyataan 1; break; case nilai 2: pernyataan 2; break; case nilai 3: pernyataan 3; break; . . . default: pernyataan. N; }

Diagram Alir: ni la i 1 pernyataan 1 2 ai l ni nilai 3

Diagram Alir: ni la i 1 pernyataan 1 2 ai l ni nilai 3 kondisi pernyataan 2 pernyataan 3 t ul fa de pernyataan. N

Pernyataan Perulangan n Pernyataan perulangan adalah suatu pernyataan program yang akan melakukan sesuatu instruksi

Pernyataan Perulangan n 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 do-while for

Pernyataan while n Bentuk: while(kondisi) pernyataan; Ketika kondisi bernilai benar, maka pernyataan dijalankan, kemudian

Pernyataan while n Bentuk: while(kondisi) pernyataan; Ketika kondisi bernilai benar, maka pernyataan dijalankan, kemudian kembali ke pengecekan kondisi. n Ketika kondisi bernilai salah, maka pernyataan tidak dijalankan lagi. n

Diagram Alir: kondisi salah benar pernyataan n Contoh: . . . int angka =

Diagram Alir: kondisi salah benar pernyataan n Contoh: . . . int angka = 0; while(angka < 10) { System. out. print(angka + “Lebih kecil dari 10”); angka++; }. . .

Pernyataan do-while n Bentuk: do { pernyataan; } while(kondisi) n Pernyataan do-while mirip dengan

Pernyataan do-while n Bentuk: do { pernyataan; } while(kondisi) n Pernyataan do-while mirip dengan pernyataan while, namun pernyataan dijalankan terlebih dahulu sebelum pengecekan kondisi, sehingga pernyataan minimal dijalankan 1 kali.

Diagram Alir: pernyataan benar kondisi salah n Contoh: . . . int angka =

Diagram Alir: pernyataan benar kondisi salah n Contoh: . . . int angka = 0; do { System. out. print(angka + “Lebih kecil dari 10”); angka++; } while(angka < 10); . . .

Pernyataan for n Bentuk: for(init; kondisi; naik) pernyataan; n Pernyataan for adalah sama artinya

Pernyataan for n Bentuk: for(init; kondisi; naik) pernyataan; n Pernyataan for adalah sama artinya dengan pernyataan while di samping init; while(kondisi) { pernyataan; naik; }

Diagram Alir: init kondisi salah benar pernyataan naik n Contoh: . . . for(int

Diagram Alir: init kondisi salah benar pernyataan naik n Contoh: . . . for(int i = 0; i < 10; i++) System. out. print(angka + “Lebih kecil dari 10”); . . .

Metode n n n Metode/fungsi/prosedur merupakan kumpulan instruksi-instruksi yang dikemas menjadi satu kesatuan yang

Metode n n n 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.

n Membuat metode: nilai_balik nama_metode(argumen 1, argumen 2, . . . , argumen. N)

n Membuat metode: nilai_balik nama_metode(argumen 1, argumen 2, . . . , argumen. N) { //isi metode } n nilai_balik harus disertakan meskipun void (kosong). n argumen boleh ada, boleh juga tidak. n Contoh: double kuadrat(double d) { double hasil = d * d; return hasil; }

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

Metode-metode yang dapat dijalankan adalah metode-metode yang berada di ruang lingkup eksekusi, misalnya di kelas yang sama. n Menjalankan metode dapat dilakukan dengan menyebutkan nama metode yang diiringi argumen-argumennya (jika ada). n Contoh: n . . . System. out. print(“ 5 kuadrat adalah “); double hasil = kuadrat(5); System. out. print(hasil); . . .