Pemrograman Berorientasi Objek (Object Oriented Programming)

45
UNIVERSITAS UNIVERSITAS BUDI LUHUR BUDI LUHUR FAKULTAS FAKULTAS TEKNOLOGI INFORMASI TEKNOLOGI INFORMASI www.bl.ac.id www.bl.ac.id HAL : HAL : 1 Pemrograman Berorientasi Objek (Object Oriented Programming) Oleh : Indra, S.Kom

description

Pemrograman Berorientasi Objek (Object Oriented Programming). Oleh : Indra, S.Kom. Konsep Object-Oriented. Ide dasarnya adalah menggabungkan data dan fungsi menjadi satu kesatuan unit yang dikenal sebagai object. Analogi PBO (Object Oriented Programming). - PowerPoint PPT Presentation

Transcript of Pemrograman Berorientasi Objek (Object Oriented Programming)

Page 1: Pemrograman Berorientasi Objek (Object Oriented Programming)

UNIVERSITAS UNIVERSITAS BUDI LUHURBUDI LUHUR

FAKULTAS FAKULTAS TEKNOLOGI TEKNOLOGI INFORMASIINFORMASI

www.bl.ac.idwww.bl.ac.id

HAL : HAL : 11

Pemrograman Berorientasi Objek

(Object Oriented Programming)

Oleh :Indra, S.Kom

Page 2: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 22GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Konsep Object-Oriented

Ide dasarnya adalah menggabungkan data dan fungsi menjadi satu kesatuan unit yang dikenal sebagai object.

Page 3: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 33

Analogi PBO (Object Oriented Programming)

Page 4: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 44

Background Java

• Pertama kali diluncurkan sebagai bahasa pemrograman umum (general purpose programming language).

• Dengan Visi pada awalnya untuk membuat piranti-piranti yang ada di rumah (small embedded customer device),

• Langkah yang diambil oleh Sun Microsystem adalah dengan membuat JDK (Java Development Kit) & JRE (Java Runtime Environment).

Page 5: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 55

Komponen Dasar Java• The "JDK" is the Java Development Kit. I.e.,

the JDK is bundle of software that you can use to develop Java based software. The "JRE" is the Java Runtime Environment. I.e., the JRE is an implementation of the Java Virtual Machine which actually executes Java programs.

• Typically, each JDK contains one (or more) JRE's along with the various development tools like the Java source compilers, bundling and deployment tools, debuggers, development libraries, etc.

Page 6: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 66GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Yang harus diperhatikan :

• Object• Class• Attribute• Method• Inheritance• Encapsulation/data hiding• Polymorphism

Page 7: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 77GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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.

Page 8: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 88GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

• Di programming, ciri dari tiap obyek diimplementasikan menjadi “attribute” (atau variabel)

• Tingkah laku diimplementasikan menjadi “method” (atau fungsi)

Page 9: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 99GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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

Page 10: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 1010GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Mahasiswa

NIM :Nama:

Menulis,Kuliah,Makan,

Contoh Class

Buku

No. Buku:Judul:

Dibaca,Disampul

Nama class

atribut

Metoda/method

Page 11: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 1111GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Mahasiswa

NIM : 0211500001Nama : Jack

Menulis,Kuliah,Makan,

Contoh Obyek

Buku

No.Buku : B001Judul : BP2

Dibaca, disampul

Page 12: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 1212GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Contoh hubungan Antara Kelas dan Obyek

Person

Budi Lusi Sri

Obyek = an instance of

Page 13: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 1313GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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).

Page 14: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 1414GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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”

Page 15: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 1515GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Contoh inheritance

Bidang

Lingkaran Segi empat

Tabung

Kubus

superclass

subclass

Page 16: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 1616GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Encapsulation

• Suatu mekanisme yang menggabungkan proses dan data ke dalam sebuah object

Page 17: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 1717GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Polymorphism

Dapat diartikan bahwa “pesan” yang sama akan diinterpretasikan berbeda oleh class yang berbeda

Page 18: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 1818GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Pengenalan Lingkungan Java

Program Java akan melalui 5 tahap proses, yaitu : Edit Compile Load Verify Execute

Page 19: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 1919GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

a. Edit

• Menulis program java dengan menggunakan program editor seperti JCreator, Notepad, dll

• Disimpan dengan ekstensi file .java• Misal : HelloWorld.java

Page 20: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 2020GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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

Page 21: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 2121GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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).

Page 22: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 2222GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

d. Verify

• Memastikan agar bytecode dalam file .class valid

Page 23: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 2323GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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)

Page 24: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 2424GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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.

Page 25: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 2525GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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/

Page 26: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 2626GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Program Sederhana 1 // Fig. 2.1: Welcome1.java

2 // Text-printing program.

3

4 public class Welcome1

5 {

6 // main method begins execution of Java application

7 public static void main( String args[] )

8 {

9 System.out.println( "Welcome to Java Programming!" );

10

11 } // end method main

12

13 } // end clazss Welcome1

Welcome to Java Programming!

Page 27: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 2727GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Komentar / Comments1 // 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 kosongMembuat program lebih mudah dibacaBaris kosong, spasi, dan tab adalah ‘white-space characters’

Diabaikan oleh compiler

Page 28: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 2828GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Catatan :

• 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.

4 public class Welcome1

Page 29: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 2929GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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.

Page 30: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 3030GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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 {

Page 31: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 3131GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

• Perintah utk mencetak sekumpulan karakterString – sekumpulan karakter yg berada di

antara tanda kutip ganda• System.out

Standard output objectPrint 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 statementTiap statement harus diakhiri tanda semicolon ;

9 System.out.println( "Welcome to Java Programming!" );

Page 32: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 3232GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Contoh Program Lain :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);}

}

Page 33: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 3333GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Hasilnya :

Page 34: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 3434GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Tipe DataJava Stores Range

byte 8 bit integer -128 to 127

short 16 bit integer -32768 to 32767

int 32 bit integer -231 to 2.131 – 1

long 64 bit integer -263 to 263 – 1

float 32 bit floating pt 6 sig digits (10-46, 1038)

double 64 bit floating pt 15 sig digits (10-324, 10308)

char unicode character ‘\u0000’ to ‘\uFFFF’ (0 s/d 65535)

boolean boolean false, true

Page 35: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 3535GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Real and Integer Expressions• Operand real menggunakan + - * /

menghasilkan realExpression Result27.3 + 8.4 35.77.0 – 10.0 -3.03.0 * 5.0 15.0

• Operand integer + - * / menghasilkan integer Expression Result27 + 8 357 – 10 -33 * 5 15

Page 36: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 3636GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(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)

Page 37: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 3737GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Operator Matematika

Operasi Operator Algebra

Expression Java

Expression

Penjumlahan + f + 7 f + 7

Pengurangan - p – c p – c

Perkalian * bm b * m

Pembagian / x/y atau x÷y x / y

Sisa Pembagian

% r mod s r % s

Page 38: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 3838GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Operator Presedence

Operator(s) Operation(s) Urutan Evaluasi / pengerjaan (precedence)

*

/

%

Perkalian

Pembagian

Sisa Pembagian

Dievaluasi pertama. Jika ada lbh dari 1 operator jenis ini, maka akan dievaluasi dari kiri ke kanan.

+

-

Penjumlahan

Pengurangan

Dievaluasi berikutnya. Jika ada lbh dari 1 operator jenis ini, maka akan dievaluasi dari kiri ke kanan.

Page 39: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 3939GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Page 40: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 4040GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Operator Increment dan Decrement

public class Count {

public static void main (String args[]){ for (int i=0; i<50; i++)

{ System.out.println(i); }}

}

public class Count {

public static void main (String args[]){ for (int i=50; i>0; i--)

{ System.out.println(i); }}

}

Java mempunyai operator ++ dan – seperti dalam bahasa C

Page 41: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 4141GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Operator Relasi

Aljabar Standar Java Equality

atau Relational Opr

Java condition

Arti

Equality Oprt.

= == x == y x sama dg y

≠ != x != y x tdk sama dg y

Relational Opr.

> > x > y x lbh besar dr y

< < x < y x lbh kecil dr y

≥ >= x >= y x lbh bsr dr atau sama dg y

≤ <= x <= y X lbh kcl dr atau sama dg y

Page 42: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 4242GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Operator Logika

Expression1 Expression2 Expression1 &&

expression2

False False False

False True False

True False False

True True True

Operator && (AND)

Page 43: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 4343GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Expression1 Expression2 Expression1 | |

expression2

False False False

False True True

True False True

True True True

Operator || (OR)

Page 44: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 4444GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Expression1 Expression2 Expression1 Λ expression2

False False False

False True True

True False True

True True False

Operator Λ (XOR)

Page 45: Pemrograman Berorientasi Objek (Object Oriented Programming)

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 4545GENAP GENAP 2006/20072006/2007

BHS. PEMROGRAMAN 2 BHS. PEMROGRAMAN 2 (PG022)(PG022)

Expression !Expression

False True

True False

Operator ! (Negasi)