http university.romisatriawahono.net file.php file= 2 romi-oop-01-oopconcepts-18nov2008

15
 Object-Oriented Programming [email protected] http://romisatriawahono.net Object Object-Oriented Oriented Programming (OOP) Programming (OOP) Romi Satria Wahono omi Satria Wahono [email protected] [email protected] http://romisatriawahono.net ttp://romisatriawahono.net YM: M: romi_sw omi_sw 1 Lahir di Madiun, 2 Oktober 1974 ahir di Madiun, 2 Oktober 1974 SD Sompok D Sompok Semarang (1987) emarang (1987) SMPN 8 MPN 8 Semarang (1990) emarang (1990) SMA Taruna Nusantara MA Taruna Nusantara, Magelang (1993)  Magelang (1993) S1, S2 dan S3 (on 1, S2 dan S3 (on-leave) dari eave) dari Department epartment of Computer f Computer Romi Satria Wahono Romi Satria Wahono 2 , da da a da da pa a p Sciences, ciences, Saitama University aitama University, Japan (1994  Japan (1994-2004) 004) Core Competence: ore Competence: Software oftware Engineering ngineering, eLearning eLearning System, Knowledge Management ystem, Knowledge Management PNS NS di i Lembaga embag a Ilmu lmu Pen get ahuan engetahuan Indonesia ndonesia Founder ounder dan an Koor dinator oordinator IlmuKomputer.Com lmuKomputer.Com CEO EO PT Brainmatics Cipta Informatika T Brainmatics Cipta Informatika Mata Kuliah OOP Mata Kuliah OOP - Kontrak Kontrak  Pertemuan di Kelas: ertemuan di Kelas: Kuliah model tutoring uliah model tutoring, konsep diberikan dan langsung konsep diberikan dan langsung praktek dilakukan raktek dilakukan Ketidakhadiran diperbolehkan etidakhadiran diperbolehkan, hanya hanya tidak akan ada idak akan ada pengulangan bahasan engulangan bahasan bagi yang tidak hadir agi yang tidak hadir Penilaian Mata Kuliah: enilaian Mata Kuliah: enilaian Mata Kuliah: enilaian Mata Kuliah: Nilai Total dari ilai Total dari TM M - UTS TS –UAS AS Tugas harus diupload ugas harus diupload di University.RomiSat riaWahono.Net i University.RomiSat riaWahono.Net Modul Kuliah dan Pengiriman Tugas: odul Kuliah dan Pengiriman Tugas: eLearning System: Learning System: http://university.romisatriawahono.net ttp://university.romisatriawahono.net Course Name: ourse Name: Object bject-Oriented Programming riented Programming Enrolment Key: nrolment Key: oop op 3 Mata Kuliah OOP Mata Kuliah OOP - Ma te ri Materi 1. . OOP Concepts OP Concepts Konsep Pemrograman dan paradigma Object onsep Pemrograman dan paradigma Object-Oriented riented 2. . Java Fundamentals ava Fundamentals : Bagaimana Membuat Program dengan Java agaimana Membuat Program dengan Java J Ad d  Ad d . . Java Advanced ava Advanced : Eksepsi, Thread, Java API ksepsi, Thread, Java API 4. . Java GUI ava GUI : GUI Component, Swing, Event Handli ng UI Component, Swing, Event Handling 4 OOP Concepts OOP Concepts 5 Materi Diskusi Materi Diskusi 1. . Konsep Pemrograman dan Paradigmanya: onsep Pemrograman dan Paradigmanya: Tingkat Bahasa Pemrograman, Paradigma Pemrograman, ingkat Bahasa Pemrograman, Paradigma Pemrograman, Tool Pemrograman ool Pemrograman 2. . Konsep onsep Dasar asar Pemrog rama n emrogramanBerorientasi erorien tasi Ob byek k: Kelas (Class), Obyek (Object), Pengkapsulan elas (Class), Obyek (Object), Pengkapsulan (Enca psula tion ) Pewari san (Inhe ritan ce) Keyword This Encap sulat ion) Pewari san (Inhe ritan ce) Keyword This 6 (Encapsulation), Pewarisan (Inheritance), Keyword This, Encapsulation), Pewarisan (Inheritance), Keyword This, Constructor onstructor 3. . Konsep Lanjut onsep Lanjut Pemrograman emrogr aman Berorie ntasi erorien tasi Obyek byek: Polymorphisme (Overloading dan Overriding), Package, olymorphisme (Overloading dan Overriding), Package, Interface nterface

Upload: airputih10

Post on 21-Jul-2015

30 views

Category:

Documents


0 download

TRANSCRIPT

Object-Oriented Programming

ObjectObject-Oriented Programming (OOP)Romi Satria Wahono

Romi Satria WahonoLahir di Madiun, 2 Oktober 1974 SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara, Magelang (1993) Nusantara, S1, S2 da S3 (on-leave) da Department of Computer , dan (on- a dari pa p Sciences, Saitama University, Japan (1994-2004) University, (1994Core Competence: Software Engineering, eLearning Engineering, System, Knowledge Management PNS di Lembaga Ilmu Pengetahuan Indonesia Founder dan Koordinator IlmuKomputer.Com CEO PT Brainmatics Cipta Informatika2

[email protected] http://romisatriawahono.net YM: romi_sw1

Mata Kuliah OOP - KontrakPertemuan di Kelas:Kuliah model tutoring, konsep diberikan dan langsung tutoring, praktek dilakukan Ketidakhadiran diperbolehkan, hanya tidak akan ada diperbolehkan, pengulangan bahasan bagi yang tidak hadir

Mata Kuliah OOP - Materi1. 2. 3. 4.

OOP Concepts: Concepts:

Konsep Pemrograman dan paradigma Object-Oriented Object-

Java Fundamentals: Fundamentals: Java Ad J Advanced: Advanced: d Java GUI: GUI:Eksepsi, Thread, Java API

Penilaian Mata Kuliah:Nilai Total dari TM - UTS UAS Tugas harus diupload di University.RomiSatriaWahono.Net

Bagaimana Membuat Program dengan Java

Modul Kuliah dan Pengiriman Tugas:eLearning System: http://university.romisatriawahono.net Course Name: Object-Oriented Programming ObjectEnrolment Key: oop3 4

GUI Component, Swing, Event Handling

Materi Diskusi

OOP Concepts

1.

Konsep Pemrograman dan Paradigmanya:

Tingkat Bahasa Pemrograman, Paradigma Pemrograman, Tool Pemrograman2.

Kelas (Class), Obyek (Object), Pengkapsulan (Encapsulation), Pewarisan (Inheritance), Keyword This (Encapsulation) (Inheritance) This, Constructor3.

Konsep Dasar Pemrograman Berorientasi Obyek: Obyek:

Konsep Lanjut Pemrograman Berorientasi Obyek: Obyek:Polymorphisme (Overloading dan Overriding), Package, Interface

5

6

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Bahasa Pemrograman?

Konsep Pemrograman dan Paradigmanya

Komputer bekerja seperti switching dan hanya mengenali 0 dan 1 Manusia tidak (paham) berbicara dengan bahasa 0 dan 1 Perlu b h p P l bahasa pemrograman yang dapat menjadi d p t j di perantara percakapan antara komputer dan manusia Bahasa pemrograman diubah ke dalam bahasa yang dipahami oleh komputer dengan menggunakan interpreter atau kompiler8

7

Compiler or Interpreter? Compiler: Mengkompilasi source code menjadi bentuk file yang bisa dieksekusi Interpreter: Mengkompilasi dan menjalankan source code secara langsung9 10

Tingkat Bahasa PemrogramanBahasa Pemrograman Tingkat Rendah (Assembler) Bahasa Pemrograman Tingkat Sedang (C, Pascal, (C Pascal Fortran) Bahasa Pemrograman Tingkat Tinggi (Java, C++, C#)

Assembly LanguageLDA #47 STA $570 $570 DEX JSR $817 CPX #0 BNE #14 Assembly language program y g g p g

C Language

#include Translation program (Assembler) 00010100 001100101 00001000 100100101 010101010 10010 Machine language program (executable file)

main() main() { printf(Hallo); printf(Hall ) }

C Compiler

0001010000 1100101000 0100010010 01010101010 1010010

C Program

Machine language program (executable .exe file)

11

12

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Java Language javac(JavaCompiler)

Paradigma Pemrograman java(JavaInterpreter)

Sudut pandang dan style pemrograman berhubungan dengan bagaimana sebuah masalah diformulasikan dalam bahasa pemrogramanFunctional Programming: Urutan fungsi secara Programming: sekuensial (Scheme, Lisp) (Scheme Procedural Programming: Pemecahan masalah Programming: berdasarkan prosedural kerja yg terkumpul dalam unit pemrograman bernama fungsi (C, Pascal) ObjectObject-Oriented Programming: Koleksi object yang Programming: saling berinteraksi . Class adalah unit pemrograman (Java, C#, C++)

13

14

Tool Pemrograman Java

Install, Compile and Running Java

1. 2. 3.

Compiler (Interpreter): (Interpreter): Java Standard Edition (JSE) Text/Code Editor: Editor: TextPad, TextPad, Notepad++ Integrated Development Environment (IDE): Netbeans, Eclipse, JCreator(*) IDE mengintegrasikan Compiler, Code Editor dan Visual (GUI) secara lengkap

15

16

Java Family SuiteJava Standard Edition (Java SE) SE)For desktop, client/server application

Instalasi Java Standard Edition1. 2. 3. 3

Java Enterprise Edition p (Java EE) EE)For e-business, e-commerce e-business, eweb based application

Java Micro Edition (Java ME) ME)For small devices, like devices, palm, handphone, etc handphone,18

4.

Download Java Standard Edition dari: http://java.sun.com/javase/downloads/ Instal Java Standard Edition dengan mengklik: jdk-6u6-windows-i586jdk-6u6-windows-i586-p.exe Klik Start Control Panel System Advanced Environment Variables dan set PATH: ;C:\Program Files\Java\jdk1.6.0_06\bin C:\ Files\Java\jdk1.6.0_06\ Instal text editor untuk editing code: textpad, notepad++, JCreator

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

How Java Works?public class Hello public static void main(String[] args){ args){ System.out.println("Hello System.out.println("Hello World!"); } }

Jalankan dengan: 1. C:\>java Hello (Application) C:\ 2. Web Browser (Applet)

Compile and Run Java Appletimport java.applet.*; java.applet.*; import java.awt.*; public class HelloWorld extends Applet { public void paint(Graphics g) { g.drawString("Hello world!",50,25); g.drawString("Hello world!",50,25); } }

Hello.java

javac (java compiler) compiler)Interpreter Interpreter Interpreter Interpreter

C:\ C:\appletviewer Hello.html

Kompiler memproduksi Bytecode (Class)

C:\ C:\javac HelloWorld.java

Hello.class Write Once Run Everywhere !Web Server

A Simple Program Here is the output of my program:

public class Halo{ alo{ public static void main(String[] args){ args){ System.out.println(Halo Semarang"); System.out.println(Halo Semarang"); } }

Menulis Program Halo Semarang Semarang

GUI Version Halo Semarangimport javax.swing.*; javax.swing.*; public class HaloGUI{ HaloGUI{ public static void main( String[] args ){ JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialog(null, "Halo Semarang"); } }

21

22

Menulis Java ProgramProgram harus punya method di public class:public static void main(String[] args) args)

Latihan: Tulis dan Compile Halo.java

Program Java mulai dari sini! sini!

Bentuk program:1. 2.

public class Halo{ public static void main(String[] args){ args){ System.out.println(Halo Semarang); } }

GUI application public class biasanya menggunakan Frame (AWT), Jframe(Swing) Jframe(Swing) Text based Console Application public class adalah class yang sederhana24

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Konsep Dasar Pemrograman Berorientasi Objek

Berorientasi Objek?Attribute: Topi, Baju, Tas Punggung, Jaket, Tangan, Kaki, Mata Behavior: h Cara Jalan ke Depan Cara Jalan Mundur Cara Belok ke Kiri Cara Memanjat

25

26

Berorientasi Objek?

Attribute (State): Behavior:

Latihan1. 2.

Ban, Stir, Pedal Kopling/Gas/Rem, Warna, Tahun Produksi Cara Menghidupkan Mesin Cara Manjalankan Mobil Cara Memundurkan Mobil

Lakukan kegiatan berorientasi objek dengan target Sepeda Pikirkan apa atribut dan behavior yang dimiliki oleh Sepeda tersebut

Attribute Behavior27

Variable(Member) Method(Fungsi) Method(Fungsi)28

Karakteristik OOP -1Abstraction:Cara Abstraction:Cara kita melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu sederhana, sebagai suatu kumpulan subsistem (object) yang saling berinteraksi.Mobil adalah kumpulan sistem pengapian, sistem d p p g p , kemudi, sistem pengereman

Modularity: Modularity: Sifat object adalah modular. Object dapat ditulis dan dimaintain terpisah (independen) dari object lain29 30

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Karakteristik OOP -2Encapsulation: Encapsulation: Mekanisme menyembunyikan suatu proses dalam sistem untuk menghindari interferensi dan menyederhanakan penggunaan sistem itu sendiriTongkat transmisi (gigi) pada mobil Tombol on/off/pengaturan suhu pada AC T b l / ff/ t h d

31

32

33

34

Karakteristik OOP -3Inheritance: Inheritance: Suatu class dapat mewariskan atribut dan method kepada class lain (subclass), serta membentuk class hierarchy

Karakteristik OOP -4Polymorphism: Polymorphism: Suatu object dapat memiliki berbagai bentuk, sebagai object dari classnya bentuk, sendiri atau object dari superclassnyaOverloading: Overloading: Penggunaan satu nama untuk beberapa method yang berbeda (beda parameter) Overriding: Overriding: Terjadi ketika deklarasi method subclass dengan nama dan parameter yang sama dengan method dari superclassnya

35

36

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Class dan Object -1Class: mobil Object: mobilnya pak Joko, mobilku Class seperti cetakan kue, dimana kue yg kue, dihasilkan dari cetakan kue itu adalah object Warna kue bisa bermacam-macam meskipun bermacamberasal dari cetakan yang sama (object memiliki (object sifat independen) independen) Object adalah instance dari Class37

Class and Object -2Class = method+variable method+variable The Bicycle class

Class dan Object -3-

AttributeAttribute adalah berbagai variable yang mengitari class, dengan nilai datanya bisa ditentukan di object. Name, age, dan weight Name, adalah atribute dari class Person

Bicycle dimodelkan sebagai sebuah object: object:10 mph, 90 rpm, 5th gear adalah instance variable changegears, changegears, brake, changecadence adalah instance method39

Membuat Class, Object dan Memanggil Atributclass Mobil { String warna; int tahunProduksi; } public class MobilBeraksi{ public static void main(String[] args){

Method Method adalah implementasi dari bagaimana bekerjanya sebuah class Method M th d melakukan: l k k1. 2. 3.

Mobil.java

MobilBeraksi.java

// Membuat objectMobil mobilku = new Mobil();

/* memanggil atribut dan memberi nilai */mobilku.warna = "Hitam"; mobilku.tahunProduksi = 2006; System.out.println("Warna: " + mobilku.warna); mobilku.warna); System.out.println("Tahun: " + mobilku.tahunProduksi); mobilku.tahunProduksi);41

Manipulasi data Perhitungan matematika Memonitor kejadian dari suatu event

}}

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Membuat dan Memanggil Methodclass Mobil2{ String warna; Mobil2.java int tahunProduksi; void printMobil(){ printMobil(){ System.out.println("Warna: " + warna); System.out.println("Tahun: " + tahunProduksi); } } public class Mobil2Beraksi{ bl l bl k Mobil2Beraksi.java public static void main(String[] args){

LatihanKembangkan Class Mobil2 Ubah nama classs menjadi MobilLengkap dan masukkan method:hidupkanMobil() matikanMobil() matikanM bil() ubahGigi()

// Membuat objectMobil2 mobilku = new Mobil2();

/* memanggil atribut dan memberi nilai */mobilku.warna = "Hitam"; mobilku.tahunProduksi = 2006; mobilku.printMobil();43

Isi masing-masing method dengan tampilan masingstatus menggunakan System.out.println() Panggil method-method diatas dari methodMobilLengkapBeraksi44

}}

Message dan Parameter -1Bicycle akan berguna apabila ada object lain (misalnya anda) anda) yang berinterasi dengan Bicycle tersebut Object software berinteraksi dan berkomunikasi dengan object lain dengan cara mengirimkan message . Informasi dalam message ini dikenal dengan nama Parameter

Message dan Parameter -2-

1. You 3.

object pengirim (sender) (sender) object penerima (receiver) the message, the method to perform

2. YourBicycle changeGears

4. lowerGear information from You to YourBicycle, the YourBicycle, parameters needed by the method45 46

Membuat Class (Sepeda.java)class Sepeda{ int kecepatan = 0; int gir = 0; // method void ubahGir(int pertambahanGir) { ubahGir(int pertambahanGir) gir= gir+ pertambahanGir pertambahanGir; System.out.println(" Gir:" + gir); } void tambahKecepatan(int pertambahanKecepatan) { tambahKecepatan(int pertambahanKecepatan) kecepatan = kecepatan+ pertambahanKecepatan; System.out.println(" Kecepatan:" + kecepatan); }47 48

}

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Membuat dan Memanggil Object (SepedaBeraksi.java)public class SepedaBeraksi{ public static void main(String[] args) { // Membuat object Sepeda sepedaku = new Sepeda(); //memanggil atribut dan memberi nilai // ggil t ib t d b i il i sepedaku.kecepatan=10; sepedaku.gir=2; // Memanggil method dan menunjuk nilai parameter sepedaku.tambahKecepatan(30); sepedaku.ubahGir(3);49

LatihanBuat Class bernama Matematika, yang berisi Matematika, method dengan dua parameter: parameter:pertambahan pengurangan perkalian p pembagian g

Buat Class bernama MatematikaBeraksi, yang MatematikaBeraksi, mengeksekusi method dan menampilkan:Pertambahan: 20 + 20 = 40 Pengurangan: 10-5 = 5 10Perkalian: 10x20 = 200 Pembagian: 21/2 = 10.5 (float or double)50

}}

Tips Membuat Class Class 1 file bisa berisi >=1 class 1 file hanya dapat berisi 1 public class Nama file harus sama dengan nama public class sifatnya adalah case sensitive case Tips: Lebih baik dan lebih mudah dipahami apabila satu file berisi hanya satu class51 52

Kata Kunci thisDigunakan pada pembuatan class dan digunakan untuk menyatakan object sekarangclass Mobil{ String warna; Int tahunProduksi; void isiData(String warnaMobil, int tahunProduksiMobil){ warna = warnaMobil; tahunProduksi = tahunProduksiMobil; } } class Mobil{ String warna; Int tahunProduksi; void isiData(String warna, int tahunProduksi){ this.warna = warna; this.tahunProduksi = tahunProduksi;

Konstruktor -1Method yang digunakan untuk memberi nilai awal pada saat object diciptakan Dipanggil secara otomatis ketika new g digunakan untuk membuat instan class Sifat konstruktor:Nama konstruktor sama dengan nama class Tidak memiliki nilai balik dan tidak boleh ada kata kunci void

Konstruktor -2class Mobil { String warna; int tahunProduksi; public Mobil(String warna, int tahunProduksi){ this.warna = warna; this.tahunProduksi = tahunProduksi; } public void info(){ System.out.println("Warna: " + this.warna); System.out.println("Tahun: " + this.tahunProduksi); } } public class MobilKonstruktor{ public static void main(String[] args){ Mobil mobilku = new Mobil(Merah, 2003); mobilku.info(); }}

53

54

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Class Access LevelSpecifier private no specifier protected public55 56

Latihan1. 2. 3. 4. 5.

Class

Package SubClass World

Buat class Buku Tentukan variable buku: Judul, Pengarang, Penerbit dan Tahun Buat konstruktor class Buku dengan parameter: Judul, Pengarang, Penerbit dan Tahun Buat method cetakBuku B h d kB k Buat class BukuBeraksi dan tampilkan 2 buku:Pemrograman Berbasis Objek dengan Java, Indrajani, Elexmedia Komputindo, 2007 Dasar Pemrograman Java, Abdul Kadir, Andi Offset, 2006

Inheritance (Pewarisan)Reusability Top down:Being more specific

Sepeda.javaclass Sepeda{ int kecepatan = 0; int gir = 0; // method void ubahGir(int pertambahanGir) { gir= gir+ pertambahanGir pertambahanGir; System.out.println("Gir:" + gir); } void tambahKecepatan(int pertambahanKecepatan) { kecepatan = kecepatan+ pertambahanKecepatan; System.out.println("Kecepatan:" + kecepatan); }58

Bottom Up:Find similiarity ind imi ia ity

Java Keyword:

extends

57

}

Class SepedaGunung Mewarisi Class Sepedaclass SepedaGunung extends Sepeda { int setSadel; public void setSadel(int nilaiSadel) { setSadel( nilaiSadel) setSadel = nilaiSadel; nilaiSadel; System.out.println(Tinggi Sadel:+setSadel); } } } } class SepedaGunungBeraksi { public static void main(String[] args) { // Membuat objectSepedaGunung sepedaku = new sepedaGunung();

LatihanBuat class MobilBMW yang merupakan inherit dari class MobilLengkap Tambahkan method nontonTV() yang menampilkan tulisan di layar:TV dihidupkan TV mencari channel TV menampilkan gambar

// Memanggil method di object sepedaku.tambahKecepatan(10); sepedaku.ubahGir(2); sepedaku.setSadel(20); l

SepedaGunung.java

SepedaGunungBeraksi.java

Buat class MobilBMWBeraksi yang memanggil method nontonTV, hidupkanMobil, matikanMobil, ubahGigi60

59

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Konsep Lanjut Pemrograman Berorientasi Objek Obj

PolymorphismPolymorphism: Polymorphism: Suatu object dapat memiliki berbagai bentuk, sebagai object dari classnya sendiri atau object dari superclassnya1. 2.

Overloading: Penggunaan satu nama untuk Overloading: l beberapa method yang berbeda parameter Overriding: Overriding: Terjadi ketika deklarasi method subclass sama dengan method dari superclassnya

61

62

Polymorphism Overloadingclass Mobil { String warna; int tahunProduksi; public Mobil(String warna, int tahunProduksi){ this.warna = warna; this.tahunProduksi = tahunProduksi; } public Mobil(){ } void info(){ System.out.println("Warna: " + this.warna); System.out.println("Tahun: " + this.tahunProduksi); } }63 64

Contoh Lain Overloadingclass Lingkaran{ public buatLingkaran(int diameter){ diameter){ ... } public buatLingkaran(int diameter, int x, int y){ y){ ... } public buatLingkaran(int diameter, int x, int y, int warna, String namaLingkaran){ namaLingkaran){ ... } }

public class MobilKonstruktor{ public static void main(String[] args){ Mobil mobilku = new Mobil(Merah, 2003); mobilku.info(); Mobil mobilmu = new Mobil(); mobilmu mobilmu.info(); mobilmu.info(); } }

Polymorphism - Overridingclass Sepeda{ int kecepatan = 0; int gir = 0; // method void ubahGir(int pertambahanGir) { gir= gir+ pertambahanGir pertambahanGir; System.out.println("Gir:" + gir); } void tambahKecepatan(int pertambahanKecepatan) { kecepatan = kecepatan+ pertambahanKecepatan; System.out.println("Kecepatan:" + kecepatan); }65

Class SepedaGunung Mewarisi Class Sepedaclass SepedaGunung extends Sepeda { int setSadel; void ubahGir(int pertambahanGir) { gir= 2*(gir+ pertambahanGir ); System.out.println("Gir:" + gir); } } } } class SepedaGunungBeraksi { public static void main(String[] args) { // Membuat objectSepedaGunung sepedaku = new sepedaGunung();

// Memanggil method di object sepedaku.tambahKecepatan(10); sepedaku.ubahGir(2); sepedaku.setSadel(20); l

SepedaGunung.java

SepedaGunungBeraksi.java

}

66

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Latihan1. 2.

Matematika.javaclass Matematika{ int hasilPertambahan1, hasilPertambahan2; public void pertambahan (int a, int b){ b){ hasilPertambahan1 = a + b; System.out.println(hasil: + hasilPertambahan1); System.out.println( hasil: } public void pertambahan (double a, double b, double c){ c){ hasilPertambahan2 = a + b + c; System.out.println(hasil: + hasilPertambahan2); } ...68

3. 4.

Kembangkan class Matematika dan MatematikaBeraksi Lakukan overloading pada Method yang ada (pertambahan, pengurangan, perkalian, p pembagian) . Method baru adalah bertipe data g p double (pecahan) dan memiliki 3 parameter Uji di kelas MatematikaBeraksi dengan parameter pecahan: 12.5, 28.7, 14.2 Misalnya: pertambahan(12.5, 28.7, 14.2)

67

}

Latihan1. 2.

PackagesPackage adalah koleksi dari beberapa class dan interface yang berhubungan, dan menyediakan proteksi akses dan pengelolaan namespace 1 package adalah 1 subfolder di file system Package sangat berguna untuk mengorganisir file dalam suatu project atau library Nama package menggunakan lowercase Keyword: Keyword: package name;70

3.

Kembangkan class Buku dan BukuBeraksi Selain konstruktor class Buku dengan parameter: Judul, Pengarang, Penerbit dan Tahun, buat konstruktor lagi dengan parameter: parameter: Judul dan Pengarang saja l Panggil kedua konstruktor class Buku tadi dari class BukuBeraksi

69

Budi.javapackage kelasku; public class Budi{ public id info(){ p bli void i f (){ System.out.println(Kelas Budi); } }71 72

Joko.javapackage kelasku; public class Joko{ public id info(){ p bli void i f (){ System.out.println(Kelas Joko); } }

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

PaketBeraksi.javaimport kelasku.Budi; import kelasku.Joko; public class PaketBeraksi{ public static void main(String[] args){ Budi objectBudi = new Budi(); objectBudi.info(); Joko objectJoko = new Joko(); objectJoko.info(); } }

LatihanKembangkan class Budi dan Joko Buat method matakuliah() menampilkan mata kuliah yang diajar Budi dan Joko Paketkan kedua class tadi dalam satu Package bernama dosen (gunakan keyword: package) package) Buat Class DosenBeraksi yang menjalankan method yang ada di kedua Class tadi (gunakan keyword: import) import)

73

74

InterfaceInterface digunakan apabila kita ingin menentukan apa yang harus dilakukan oleh suatu class tapi tidak menentukan bagaimana cara untuk melakukannya Interface sebenarnya sama dengan class, tapi hanya memiliki deklarasi method tanpa implementasi75

InterfaceBeraksi.javainterface IntLampu{ IntLampu{ public static final int KeadaanHidup=1; KeadaanHidup=1; public static final int KeadaanMati=0; KeadaanMati=0; public abstract void hid k () bli b t t id hidupkan(); hidupkan(); public abstract void matikan(); matikan();

}

76

class Lampu implements IntLampu{ IntLampu{ int statusLampu=0; statusLampu=0; public void hidupkan(){ hidupkan(){ if (this.statusLampu == KeadaanMati){ (this.statusLampu KeadaanMati){ this.statusLampu = KeadaanHidup; KeadaanHidup; System.out.println("Hidupkan Lampu! --> System.out.println("Hidupkan Lampu! --> Lampu Hidup"); Hidup"); }else{ System.out.println("Hidupkan Lampu! --> System.out.println("Hidupkan Lampu! --> Lampu Sudah Hidup Kok");} Kok");} );} } public void matikan(){ matikan(){ if (this.statusLampu == KeadaanHidup){ (this.statusLampu KeadaanHidup){ this.statusLampu = KeadaanMati; KeadaanMati; System.out.println("Matikan Lampu! --> System.out.println("Matikan Lampu! --> Lampu Mati"); Mati"); }else{ System.out.println("Matikan Lampu! --> System.out.println("Matikan Lampu! --> Lampu Sudah Mati Kok"); Kok"); }}} 77

public class InterfaceBeraksi{ InterfaceBeraksi{ public static void main(String[] args){ args){ Lampu lampuKamar = new Lampu(); Lampu(); System.out.println("Status System.out.println("Status Lampu Saat Ini: Mati"); Ini: Mati"); lampuKamar.hidupkan(); //Hidupkan lampuKamar.hidupkan(); //Hidupkan Lampu lampuKamar.matikan(); //Matikan lampuKamar.matikan(); //Matikan Lampu lampuKamar.matikan(); //Matikan lampuKamar.matikan(); //Matikan Lampu lampuKamar.hidupkan(); //Hidupkan lampuKamar.hidupkan(); //Hidupkan Lampu lampuKamar.hidupkan(); //Hidupkan lampuKamar.hidupkan(); //Hidupkan Lampu78

}

}

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

LatihanBuat program serupa dengan InterfaceBeraksi.java tapi untuk ACBeraksi.java Masukkan method-method di bawah k M kk method- th d b th d h ke dalam ACBeraksi.javamatikanAC() dan hidupkanAC() dinginkanAC() dan panaskanAC ()

Tugas MandiriBuat situs blog, bisa ditempat gratis semacam blog, wordpress.com atau blogspot.com, atau hosting secara profesional Pilih satu topik tentang konsep OOP, jelaskan OOP, dengan bahasa sendiri (bahasa manusia) dan d b h d (b h )d sampaikan code yang orisinal (tidak mengambil dari tempat lain) Daftar di university.romisatriawahono.net, university.romisatriawahono.net, upload url blog yang telah dibuat melalui fitur tugas mandiri80

79

Java API untuk Referensi Pemrograman

81

Referensi -1Sharon Zakhour et al, The Java Tutorial Fourth Edition, Edition, http://java.sun.com/docs/books/tutorial Deitel & Deitel, Java How to Program Sixth Edition, Edition, Prentice Hall, 2004 Hall Kathy Sierra & Bert Bates, Head First Java 2nd Edition, OReilly, 2005 Edition, Rogers Cadenhead & Laura Lemay, Teach Yourself Java 6 in 21 Days, Sams Publishing, Days, 200784

http://romisatriawahono.net

[email protected]

Object-Oriented Programming

Referensi -2Tim Pengembang JENI, JENI 1-6, 1Depdiknas, 2007 Abdul Kadir, Dasar Pemrograman Java 2, 2, Penerbit Andi, 2004 Indrajani dan Martin, Pemrograman Berbasis Martin P mr graman B rbasis Objek dengan Java, Elex Media Komputindo, Java, 2007

85

http://romisatriawahono.net

[email protected]