Bahasa Pemrograman 2 Oleh : Safitri Juanita
Konsep Object-Oriented Ide dasarnya adalah menggabungkan data dan fungsi menjadi satu kesatuan unit yang dikenal sebagai object. GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Yang harus diperhatikan : Object Class Attribute Method Inheritance Encapsulation/data hiding Polymorphism GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Object (Obyek) Di real-world, tiap obyek memiliki ciri dan tingkah laku (behavior). Misalnya : Obyek-obyek mhs, ciri bisa dilihat dari warna kulit, suara, jenis kelamin. Tingkah laku : berlari, menulis, makan. GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Tingkah laku diimplementasikan menjadi “method” (atau fungsi) Di programming, ciri dari tiap obyek diimplementasikan menjadi “attribute” (atau variabel) Tingkah laku diimplementasikan menjadi “method” (atau fungsi) GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Class (Kelas) Di real-world, kita sering melihat banyak obyek dengan model yang sama. Obyek-obyek tersebut bisa memiliki perbedaan atau tidak. Misalnya : Buku, mahasiswa. Class adalah wadah yang digunakan untuk membentuk obyek. Objek adalah sesuatu yang memiliki data dan proses Class menjelaskan seluruh data dan proses setiap objek GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Mahasiswa Buku Contoh Class NIM : No. Buku: Nama: Judul: Menulis, Kuliah, Makan, Buku No. Buku: Judul: Dibaca, Disampul Nama class atribut Metoda/ method GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Contoh Obyek Mahasiswa NIM : 0211500001 Nama : Jack Menulis, Kuliah, Makan, Buku No.Buku : B001 Judul : BP2 Dibaca, disampul GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Contoh hubungan Antara Kelas dan Obyek Person Budi Lusi Sri Obyek = an instance of GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Atribut dan Metode Atribut adalah data atau field yang menentukan ciri dari suatu class / obyek. Bisa disebut juga data anggota. Metode adalah fungsi yang dilakukan oleh class atau yang dikenakan terhadap class. Bisa disebut juga sebagai fungsi anggota (member function). GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Inheritance (Pewarisan) Dapat diartikan bahwa sebuah class dapat menggunakan kembali attribute dan method yang telah didefinisikan oleh class yang lain Sifat dari suatu kelas diturunkan kepada kelas yang lain. Superclass : class yang diturunkan ke kelas lain. Subclass : class yang diturunkan dari kelas lain. Contoh : class “tabung” diturunkan dari kelas “lingkaran” GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Contoh inheritance Bidang Lingkaran Segi empat Tabung Kubus superclass subclass GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Encapsulation Suatu mekanisme yang menggabungkan proses dan data ke dalam sebuah object GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Polymorphism Dapat diartikan bahwa “pesan” yang sama akan diinterpretasikan berbeda oleh class yang berbeda GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Pengenalan Lingkungan Java Program Java akan melalui 5 tahap proses, yaitu : Edit Compile Load Verify Execute GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
a. Edit Menulis program java dengan menggunakan program editor seperti JCreator, Notepad, dll Disimpan dengan ekstensi file .java Misal : HelloWorld.java GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
b. Compile Menggunakan perintah javac untuk meng-compile program java Akan menghasilkan bytecode (instruksi-instruksi yg dimengerti oleh Java interpreter). Contoh perintah untuk meng-compile program java : javac HelloWorld.java Jika proses kompilasi benar, akan dihasilkan file dengan ekstensi .class, misal : HelloWorld.class GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
c. Load Menempatkan program (.class) ke dalam memory sebelum dijalankan. Dilakukan oleh class loader. File .class dapat di-load dari penyimpanan di komputer kita atau dari jaringan/network (jaringan lokal atau internet). GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
d. Verify Memastikan agar bytecode dalam file .class valid GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
e. Eksekusi Menggunakan Java Interpreter Membaca bytecode dan menerjemahkannya menjadi bahasa yang dimengerti oleh komputer (bahasa mesin). Perintahnya adalah : java HelloWorld Java Interpreter = Java Virtual Machine (JVM) GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Java API Packages / Java Class Library Java menyediakan banyak class yang di kelompokkan ke dalam bermacam-macam kategori yang disebut Packages. Packages ini disebut sebagai Java Application Programming Interface (Java API) atau Java Class Library. GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Contoh Packages : Java.io (Java Input/Output packages). Java.lang (Java Language packages, kita tdk perlu menggunakan perintah import pada saat ingin menggunakan class-class yg ada di dalamnya). Javax.swing (Java Swing GUI Component packages). Utk lebih jelasnya lihat di http://java.sun.com/javase/6/docs/api/ GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Program Sederhana GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Komentar / Comments Komentar diawali dg tanda // 1 // Fig. 2.1: Welcome1.java 2 // Text-printing program. Komentar diawali dg tanda // Komentar diabaikan selama proses eksekusi program Sebagai dokumentasi atas kode program Memudahkan pembacaan kode (code readability) Traditional comments: /* ... */ /* Ini ada adalah remark beberapa baris */ Baris kosong Membuat program lebih mudah dibaca Baris kosong, spasi, dan tab adalah ‘white-space characters’ Diabaikan oleh compiler GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Catatan : Awal pendeklarasian utk class Welcome1 4 public class Welcome1 Awal pendeklarasian utk class Welcome1 Sebuah program java minimal mempunyai 1 pendeklarasian class. By convention (aturan tdk tertulis), semua nama class di Java dimulai dengan huruf besar dan huruf besar pada tiap katanya. Misal : class Welcome1, class HelloWorld, class HitungLembur. GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Catatan lanjutan : Java identifier Sekumpulan karakter yang terdiri dari huruf, angka, underscores ( _ ) dan tanda dollar ( $ ) Tdk boleh diawali dg angka, tdk boleh ada spasi Contoh : Welcome1, $value, _value, button7 7button is invalid Java bersifat case-sensitive. Sehingga AB dan Ab adalah berbeda. GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Pada tiap aplikasi Java Aplikasi mulai dieksekusi pada ‘main’ Tanda kurung menandakan ‘main’ adalah method Aplikasi Java terdiri dari 1 atau lbh method Satu method hrs bernama ‘main’ ‘void’ berarti ‘main’ tdk mengembalikan nilai Kurawal kiri (brs 8) menandakan dimulainya pendeklarasian method Diakhiri dg kurawal kanan } (brs 11) 7 public static void main( String args[] ) 8 { GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Perintah utk mencetak sekumpulan karakter String – sekumpulan karakter yg berada di antara tanda kutip ganda System.out Standard output object Print ke command window (i.e., MS-DOS prompt) Method System.out.println Stlh mencetak, cursor akan berada di baris baru Baris 9 ini disebut sebagai statement Tiap statement harus diakhiri tanda semicolon ; 9 System.out.println( "Welcome to Java Programming!" ); GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Contoh Program Lain : GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022) import java.util.Scanner; public class Addition2 { public static void main (String args[]) { Scanner input = new Scanner(System.in); int number1; int number2; int sum; System.out.print("Masukkan angka pertama : "); number1 = input.nextInt(); System.out.print("Masukkan angka kedua : "); number2 = input.nextInt(); sum = number1 + number2; System.out.println("Jumlahnya : "+sum); } GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Hasilnya : GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Tipe Data GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Real and Integer Expressions Operand real menggunakan + - * / menghasilkan real Expression Result 27.3 + 8.4 35.7 7.0 – 10.0 -3.0 3.0 * 5.0 15.0 Operand integer + - * / menghasilkan integer 27 + 8 35 7 – 10 -3 3 * 5 15 GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Type Casting Konversi tipe data ke tipe data lain (untuk numeric) Syntax-nya: (NewDataType) (expression) Examples: a,b,c,d : int dan x,y,z : double average = (double) (a + b + c + d) / 4.0; z = (double) (a + b); a = (int) y; x = (double) (a / b); Jika terjadi konversi tipe data real ke integer maka akan terjadi pemotongan nilai real (i.e. bukan rounding/pembulatan) GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Operator Matematika GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Operator Presedence GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Operator Increment dan Decrement Java mempunyai operator ++ dan – seperti dalam bahasa C public class Count { public static void main (String args[]) { for (int i=0; i<50; i++) { System.out.println(i); } } { for (int i=50; i>0; i--) GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Operator Relasi GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Operator Logika Operator && (AND) GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Operator || (OR) GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Operator Λ (XOR) GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)
Operator ! (Negasi) GENAP 2006/2007 BHS. PEMROGRAMAN 2 (PG022)