HP:

dokumen-dokumen yang mirip
Memahami Sintaks dan Grammar Bahasa Java. Swing, GUI Component, Event Handling, Pengembangan Aplikasi GUI

1. Konsep Pemrograman dan Paradigmanya: 2. Teknologi Java dan Perangkat Pemrograman: 3. Konsep Dasar Pemrograman Berorientasi Objek:

Paradigma Pemrograman Berorientasi Objek

Romi Satria Wahono Lahir di Madiun, 2 Oktober 1974 SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara, Magelang (1993) S1, S2 dan S

Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

Kelas dan Objek. Oleh : Agus Priyanto, M.Kom

Modul 1 Pengenalan Java. Oleh: Mike Yuliana PENS-ITS

KONSTRUKTOR PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi FILKOM UB Semester Genap 2016/2017

PEMROGRAMAN BERORIENTASI OBJEK. Nurochman

Pengantar Pemrograman dengan Bahasa Java

Pengantar Pemrograman dengan Bahasa Java

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

NASKAH UTAMA ULANGAN AKHIR SEMESTER GANJIL TAHUN PELAJARAN 2013/2014

INTRODUCTION JAVA NORHIKMAH,M.KOM

2. Software yang dibutuhkan Untuk membuat sebuah program java, minimal yang dibutuhkan adalah:

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 1 PENGENALAN LINGKUNGAN PEMROGRAMAN JAVA

A-PDF OFFICE TO PDF DEMO: Purchase from to remove the watermark. Ade Sarah H

Pemrograman dengan Java

BAHASA PEMROGRAMAN JAVA

KONSEP OBJEK ORIENTASI PROGRAM

MODUL PRAKTIKUM KE 1

MODUL PRAKTIKUM PEMROGRAMAN JAVA

Pemrograman Berorientasi

VISUAL BASIC Pengenalan VB NET

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

ENKAPSULASI PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle. Teknik Informatika PTIIK UB Semester Genap 2015/2016

Pendahuluan Dasar Pemrograman Java

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

KONSEP CLASS & OBJEK pada Object Oriented Programming

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Konsep Pemrograman Berorientasi Obyek. Pertemuan 1

Konsep Pemrograman Berorientasi Obyek

Perkenalan PBO (Java)

TPI4202 e-tp.ub.ac.id

OBJECT ORIENTED PROGRAMMING

PENGENALAN BAHASA PEMROGRAMAN JAVA

Paradigma Pemrograman Berorientasi Objek

JAVA PADA NETBEANS IDE 7.4 ASRI WIDYADHARI KOM E 13

MODUL I Pengenalan Bahasa Pemrograman Java

IKG2I4 / Software Project I

PRAKTIKUM 1 DASAR PEMROGRAMAN JAVA

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Inheritance (Pewarisan) Pengertian dasar inheritance

Dasar Pemrograman Java

Bahasa Pemrograman 2.

Teknik Informatika S1

ENKAPSULASI Data Hiding

Pengenalan Program Java

Pemograman Berorientasi Objek

Inheritance dan Kata Kunci static

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

29 Februari Introduction Of Java

BAB 3 Mengenali Lingkup Pemrograman Anda

Pemrograman Java. Compiler. Interpreter

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

PRAKTIKUM OBJECT ORIENTED PROGRAMING

Pemrograman Berbasis Objek. Politeknik Elektronika Negeri Surabaya

Introduction Object Oriented Analysis & Design. Chapter I

DESIGN SYSTEM WITH UML

PENGHITUNGAN JARI-JARI PADA OBJEK LINGKARAN DALAM BAHASA JAVA

MODUL PRAKTIKUM DASAR-DASAR PEMROGRAMAN

Konsep Pemrograman Berorientasi Obyek

KONTRAK KULIAH. A. Deskripsi. Mata kuliah ini menjelaskan konsep pemrograman berbasis objek, dengan menggunakan class.

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

1 - Pengenalan Java PENDAHULUAN

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

TPI4202 e-tp.ub.ac.id

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

BAB 3 Mengenali Lingkup Pemrograman Anda

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

PRAKTIKUM 1 DASAR PEMROGRAMAN JAVA

Modul Bahasa Pemrograman 1

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

Pemrograman Berorientasi Obyek. Konsep OOP

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

Pemrograman Dasar I N T R O D U C T I O N T O J A V A

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman 2.

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

INSTALL JAVA. 2. Kemudian akan muncul tampilan dalam bentuk rar. Klik ganda pada jdk-7u45-windows- i586.exe, seperti gambar berikut :

PEMROGRAMAN BERORIENTASI OBJEK

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Object Oriented Programming 1

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

PEMAHAMAN DASAR DASAR JAVA

Bahasa Pemograman II. Object Oriented Programming

Pemrograman dan Bahasa Pemrograman

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

Pemrograman Berbasis Objek 2. Java Programming Fery Updi,M.Kom

Transkripsi:

Object-Oriented Oi Oriented Programming (OOP) Romi Satria Wahono romi@romisatriawahono.net http://romisatriawahono.net net HP: 0878-8048048580480485 YM: romi_sw

Romi Satria Wahono Lahir di Madiun, 2 Oktober 1974 SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara, Magelang (1993) S1, S2 dan S3 (on-leave) dari Department of Computer Sciences, Saitama University, Japan (1994-2004) Core Competence: Software Engineering, i elearning System, Knowledge Management Founder dan Koordinator IlmuKomputer.Com CEO PT Brainmatics Cipta Informatika

Materi 1. OOP Concepts: Konsep dan Paradigma Object-Oriented Oriented Oi td 2. Java Fundamentals: Memahami Sintaks dan Grammar Bahasa Java 3. Java Advanced: Eksepsi, Thread, Java API 4. Java GUI: Swing, GUI Component, Event Handling 5. Java GUI with Netbeans: Mengembangkan Aplikasi Berbasis GUI dengan Java

OOP Concepts

Materi Diskusi 1. Konsep Pemrograman dan Paradigmanya: Tingkat Bahasa Pemrograman, Paradigma Pemrograman, 2. Teknologi Java dan Perangkat Pemrograman: Java Family, Perangkat, Instalasi, Kompilasi 3. Konsep Dasar Pemrograman Berorientasi Objek: Class, Object, Attribute, Method, Constructor 4. Karakteristik Pemrograman Berorientasi Objek: Abstraction, Encapsulation, Inheritance, Polymorphisme 5. Pengorganisasian g Class: Package, Interface

Konsep Pemrograman dan Paradigmanya

Bahasa Pemrograman? Komputer bekerja seperti switching dan hanya mengenali 0 dan 1 Manusia tidak (paham) berbicara dengan bahasa 0 dan 1 Perlu bahasa pemrograman yang dapat menjadi perantara percakapan antara komputer dan manusia Bahasa pemrograman diubah ke dalam bahasa yang dipahami oleh komputer dengan menggunakan na an interpreter ete atau kompiler

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

C Language #include <stdio.h> main() { printf( Hallo ); } CCompilerCompiler 0001010000 1100101000 0100010010 01010101010 1010010 C Program Machine language program (executable.exe file)

Java Language javac (Java Compiler) java (Java Interpreter)

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

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

Teknologi Java dan Perangkat Pemrograman Java Family, Perangkat, Instalasi, Kompilasi

Java Family Suite 1. Java Standard Edition (Java SE) For desktop, client/server application 2. Java Enterprise Edition (Java EE) For e-business, e-commerce web based application 3. Java Micro Edition (Java ME) For small devices, like palm, handphone, etc

Java Certification

Perangkat Pemrograman Java 1. Compiler (Interpreter): Java Standard Edition (JSE) 2. Code Editor: Text/Code Editor: TextPad, Notepad++ Integrated Development Environment (IDE): Netbeans, Eclipse, JCreator Catatan: IDE mengintegrasikan Compiler, Code Editor dan Visual (GUI) Programming secara lengkap Mata kuliah OOP ini menggunakan IDE Netbeans

Instalasi JSE dan Netbeans IDE 1. Download Java Standard Edition (JSE) dari: http://java.sun.com/javase/downloads/ / /d d / 2. Instalasi asi JSE dengan dnganmng mengklik: jdk-6u18-windows-i586.exei586.exe 3. Download Netbeans Ntb versi terbaru dari http://netbeans.org 4. Instalasi Netbeans dengan mengklik: netbeans-6 6.8-ml-windows windows.exe 5. Ikuti seluruh proses instalasi sampai selesai

Instalasi Text Editor dan Set Path Set path dan instalasi text editor diperlukan untuk yang mengembangkan aplikasi text- based dengan console 1. Klik Start Control Panel System Advanced Environment Variables dan set system PATH: ; C:\Program Files\Java Java\jdk1.6.0_ jdk1.6.0_11\bin 2. Instal text t editor untuk editing code: textpad, notepad++, JCreator

How Java Works? public class Hello public static void main(string[] args){ System.out.println("Hello World!"); } } Hello.java Jalankan dengan: 1. C:\>java Hello (Application Application) 2. Web Browser (Applet) javac (java compiler) Interpreter Interpreter Interpreter Interpreter Kompiler memproduksi Bytecode (Class) Hello.class Write Once Run Everywhere! Web Server

Compile and Run Java Applet import java.applet.*;.*; import java.awt.*; public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring("hello world!",50,25); } } C:\appletviewer Hello.html C:\javac HelloWorld.java <HTML> <HEAD> <TITLE>A Simple Program</TITLE> </HEAD> <BODY> Here is the output of my program: <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET> </BODY> </HTML>

Menulis Java Program Bentuk program: 1. GUI Application menggunakan AWT atau Swing untuk library GUI 2. Text-Based Console Application menggunakan library ay non-gui di Java aa Class bisa dieksekusi k karena method main public static void main(string[] args) Program Java mulai dari sini!

Latihan: Tulis dan Compile Halo.java public class Halo{ public static void main(string[] args){ } System.out.println( Halo Semarang ); a }

Latihan: Membuat Program dg Netbeans public class HelloWorld{ public static void main(string[] ng[] args){ } System.out.println( Halo Semarang ); }

Konsep Dasar Pemrograman Berorientasi Objek Class, Object, Method, Attribute

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

Berorientasi Objek? Attribute t (State): t Ban, Stir, Pedal Kopling/Gas/Rem, Warna, Tahun Produksi Behavior: Cara Menghidupkan Mesin Cara Manjalankan Mobil Cara Memundurkan Mobil Attribute Variable(Member) Behavior Method(Fungsi)

Latihan 1. Lakukan kegiatan berorientasi objek dengan target Sepeda 2. Pikirkan apa atribut dan behavior yang dimiliki iliki oleh Sepeda tersebut t

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

Class = Method + Variable The Bicycle class

Object = Method + Variabel Bernilai Bicycle dimodelkan sebagai sebuah object: 10 mph, 90 rpm, 5 th gear adalah instance variable changegears, brake, changecadence adalah instance method

Attribute Variable yang mengitari class, dengan nilai datanya bisa ditentukan di object Name, age, dan weight adalah atribute dari class Person

Membuat Class, Object dan Memanggil Atribut public class Mobil { } String warna; int tahunproduksi; public class MobilBeraksi Beraksi{ public static void main(string[] args){ // Membuat object Mobil mobilku = new Mobil(); Mobil.java MobilBeraksi.java }} /* memanggil atribut dan memberi nilai */ mobilku.warna = "Hitam"; mobilku.tahunproduksi = 2006; System.out.println("Warna: " + mobilku.warna); System.out.println("Tahun: t tl " + mobilku.tahunproduksi); blk k

Latihan: Membuat Program dg Netbeans 1. Buka Netbeans IDE 2. Ikuti langkah berikut

UML - Class Diagram Mobil ~ tahunproduksi: int ~ warna: String MobilBeraksi + main(string[]) : void

Method Method adalah implementasi dari bagaimana bekerjanya sebuah class Mth Method melakukan: lkk 1. Manipulasi data 2. Perhitungan matematika 3. Memonitor kejadian dari suatu event

Membuat dan Memanggil Method public class Mobil2{ String warna; int tahunproduksi; void printmobil(){ System.out.println("Warna: " + warna); } System.out.println( println("tahun: " + tahunproduksi); } public class Mobil2Beraksi{ public static void main(string[] args){ // Membuat object Mobil2 mobilku = new Mobil2(); Mobil2.java Mobil2Beraksi.java }} /* memanggil atribut dan memberi nilai */ mobilku.warna = "Hitam"; mobilku.tahunproduksi = 2006; mobilku.printmobil();

UML - Class Diagram Mobil2 ~ tahunproduksi: int ~ warna: String Mobil2Beraksi + main(string[]) : void ~ printmobil() : void

Latihan Buat class MobilLengkap dan buat tiga method: hidupkanmobil() matikanmobil() ubahgigi() bh Isi masing-masing method dengan tampilan status menggunakan System.out.println() Panggil method-method d diatas dari MobilLengkapBeraksi

Latihan: Hasil Tampilan Mobil Hidup Mobil Mati Gigi Berubah bh

UML - Class Diagram MobilLengkap ~ hidupkanmobil() : void ~ matikanmobil() : void ~ ubaggigi() : void MobilLengkapBeraksi + main(string[]) : void

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

Parameter -2-1. You object pengirim 2. YourBicycle object penerima 3. changegears message berupa method yang dijalankan 4. lowergear parameter yang dibutuhkan method (message) untuk dijalankan

Membuat Class (Sepeda.java) class Sepeda{ int kecepatan = 0; int gir = 0; } // method void ubahgir(int int pertambahangir) { } gir= gir+ pertambahangir; System.out.println(" Gir:" + gir); void tambahkecepatan(int pertambahankecepatan) { } kecepatan = kecepatan+ pertambahankecepatan; t System.out.println(" Kecepatan:" + kecepatan);

Membuat dan Memanggil Object (SepedaBeraksi.java SepedaBeraksi.java) class SepedaBeraksi{ public static void main(string[] args) { // Membuat object Sepeda sepedaku = new Sepeda(); //memanggil atribut t dan memberi nilai i sepedaku.kecepatan=10; sepedaku.gir=2; dk }} // Memanggil method dan menunjuk nilai parameter sepedaku.tambahkecepatan(30); sepedaku.ubahgir(3); dk bh ()

UML - Class Diagram Sepeda ~ gir: int = 0 ~ kecepatan: int = 0 SepedaBeraksi + main(string[]) : void ~ tambahkecepatan(int) : void ~ ubahgir(int) : void

Latihan Buat Class bernama Matematika, yang berisi method dengan dua parameter: pertambahan(int operandsatu, int operanddua) pengurangan(int g operandsatu, int operanddua) perkalian(int int operandsatu, int operanddua) pembagian((int int operandsatu, int operanddua) Buat Class bernama MatematikaBeraksi, yang mengeksekusi method dan menampilkan: Pertambahan: 20 + 20 = 40 Pengurangan: 10-5 = 5 Perkalian: 10x20 = 200 Pembagian: 21/2 = 10 pertambahan(20,20)

UML - Class Diagram Matematika ~ hasilbagi: double ~ hasilkali: double ~ hasilkurang: double ~ hasiltambah: double MatematikaApp + main(string[]) : void ~ pembagian(double, double) : double ~ pengurangan(double, double) : double ~ perkalian(double, double) : double ~ pertambahan(double, double) : double

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

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

Kata Kunci this Digunakan pada pembuatan class dan digunakan untuk menyatakan object sekarang class Mobil{ String warna; Int tahunproduksi; class Mobil{ String warna; Int tahunproduksi; void isidata(string warnamobil, int tahunproduksimobil){ void isidata(string warna, int tahunproduksi){ warna = warnamobil; tahunproduksi = tahunproduksimobil; } } this.warna = warna; this.tahunproduksi = tahunproduksi;

Class Acces Level Specifier Class Package SubClass World private no specifier protected public

Latihan 1. 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 2. Buat class BukuBeraksi dan tampilkan 2 buku: Pemrograman Berbasis Objek dengan Java, Indrajani, Elexmedia Komputindo, 2007 Dasar Pemrograman Java, Abdul Kadir, Andi Offset, 2006

Karakteristik Pemrograman Berorientasi Objek Abstraction, Encapsulation, Inheritance, Polymorphism

Abstraction Cara kita melihat suatu sistem dalam bentuk yang lbh lebih sederhana, yaitu sebagai suatu kumpulan subsistem (object) yang saling berinteraksi. Mobil adalah kumpulan sistem pengapian, p sistem kemudi, sistem pengereman Object bersifat modularity. Object dapat ditulis dan dimaintain terpisah (independen) dari object lain

Encapsulation Mekanisme menyembunyikan suatu proses dalam sistem untuk menghindari interferensi dan menyederhanakan penggunaan sistem itu sendiri Tongkat transmisi (gigi) pada mobil Tombol on/off/pengaturan suhu pada AC

Inheritance (Pewarisan) Suatu class dapat mewariskan ik atribut tib t dan method kepada class lain (subclass), serta membentuk class hierarchy h Penting untuk Reusability Java Keyword: y extends

Sepeda.java class Sepeda{ int kecepatan = 0; int gir = 0; } // method void ubahgir(int pertambahangir) { } gir= gir+ pertambahangir; System.out.println("Gir:" + gir); void tambahkecepatan(int pertambahankecepatan) { } kecepatan = kecepatan+ pertambahankecepatan; t System.out.println("Kecepatan:" + kecepatan);

Class SepedaGunung Mewarisi Class Sepeda class SepedaGunung extends Sepeda{ class SepedaGunungBeraksi { public void setsadel(int nilaisadel) { System.out.println( Tinggi Sadel: + nilaisadel); } } public static void main(string[] args) { // Membuat object SepedaGunung sepedaku = new SepedaGunung(); // Memanggil method di object sepedaku.tambahkecepatan(10); sepedaku.ubahgir(2); sepedaku.setsadel(20); } } SepedaGunung.java SepedaGunungBeraksi.java

UML Class Diagram Sepeda ~ gir: int = 0 ~ kecepatan: int = 0 ~ tambahkecepatan(int) : void ~ ubahgir(int) : void SepedaGunungBeraksi + main(string[]) : void SepedaGunung + setsadel(int) : void

Latihan Buat class MatematikaCanggih yang merupakan inherit dari class Matematika Tambahkan method modulus(int a, int b) yang menghitung modulus dari a dan b. Operator modulus adalah % Buat class MatematikaCanggihBeraksi yang memanggil method pertambahan, a a perkalian a dan modulus

UML Class Diagram Matematika ~ hasilbagi: double ~ hasilkali: double ~ hasilkurang: double ~ hasiltambah: double ~ pembagian(double, double) : double ~ pengurangan(double, double) : double ~ perkalian(double, double) : double MatematikaBeraksi ~ pertambahan(double, double) : double + main(string[]) : void MatematikaCanggih ~ modulus(double, double) : double

Polymorphism Suatu object dapat memiliki berbagai bentuk, sebagai object dari classnya sendiri atau object dari superclassnya 1. Overloading: Penggunaan satu nama untuk beberapa method yang berbeda parameter 2. Overriding: Terjadi ketika deklarasi method subclass bl persis sama dengan method dari superclassnya

Polymorphism Overloading l M b l { public class MobilKonstruktor{ class Mobil { String warna; int tahunproduksi; public Mobil(String warna, int tahunproduksi){ } this.warna = warna; this.tahunproduksi = tahunproduksi; public Mobil(){ } } public static void main(string[] args){ Mobil mobilku = new Mobil( Merah, 2003); mobilku.info(); Mobil mobilmumu = new Mobil(); mobilmu. mu.info(); } } void info(){ System.out.println("Warna: " + this.warna); System.out.println("Tahun: " + this.tahunproduksi); }

Polymorphism Overloading class Lingkaran{ public buatlingkaran(){ an(){ } public buatlingkaran(int diameter){... } public buatlingkaran(int a an( n diameter, int x, int y){... } public buatlingkaran(int diameter, int x, int y, int warna, String namalingkaran){...

Polymorphism - Overriding class Sepeda{ int kecepatan = 0; int gir = 0; } // method void ubahgir(int pertambahangir) { } gir= gir+ pertambahangir; System.out.println("Gir:" + gir); void tambahkecepatan(int pertambahankecepatan) { } kecepatan = kecepatan+ pertambahankecepatan; t System.out.println("Kecepatan:" + kecepatan);

Class SepedaGunung Mewarisi Class Sepeda class SepedaGunung extends Sepeda { class SepedaGunungBeraksi { } void ubahgir(int pertambahangir) { } int gir= 2*(gir+ pertambahangir ); System.out.println("Gir:" + gir); public static void main(string[] args) { // Membuat object SepedaGunung sepedaku = new sepedagunung(); // Memanggil method di object sepedaku.tambahkecepatan(10); sepedaku.ubahgir(2); sepedaku.setsadel(20); } } SepedaGunung.java SepedaGunungBeraksi.java

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

Matematika.java class Matematika{ } public void pertambahan (int a, int b){ int hasilpertambahanbulat = a + b; } System.out.println( hasil: + hasilpertambahanbulat); public void pertambahan (double a, double b, double c){ }... double hasilpertambahanpecahan = a + b + c; System.out.println( hasil: + hasilpertambahanpecahan);

Pengorganisasian i Class Package, Interface

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

Budi.java package ag kelasku; public class Budi{ } public void info(){ } System.out.println( Kelas Budi );

Joko.java package ag kelasku; public class Joko{ } public void info(){ } System.out.println( Kelas Joko );

PaketBeraksi.java import kelasku.*; k public class PaketBeraksi{ } public static void main(string[] args){ } Budi objectbudi = new Budi(); objectbudi.info(); Joko objectjoko = new Joko(); objectjoko.info();

Struktur Direktori PaketBeraksi.java kelasku Budi.java Joko.java

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

IntLampu.java interface InterfaceLampu{ a public static final int KeadaanHidup=1; public static final int KeadaanMati=0; } public abstract void hidupkan(); public abstract void matikan();

class Lampu implements InterfaceLampu{ int statuslampu=0; Lampu.java public void hidupkan(){ if (this.statuslampu t t == KeadaanMati){ this.statuslampu = KeadaanHidup; System.out.println(" n( ("Hidupkan Lampu! --> LampuHidup Hidup"); }else{ System.out.println(" ("Hidupkan Lampu! --> Lampu Sudah Hidup Kok");} } public void matikan(){ if (this.statuslampu == KeadaanHidup){ this.statuslampu statuslampu = KeadaanMati; System.out.println(" ("Matikan Lampu! --> Lampu Mati"); }else{ System.out.println(" t tl ("Matikan Mtk Lampu! --> Lampu Sudah MtK Mati Kok"); }}}

public class LampuBeraksi Beraksi{ public static void main(string[] args){ LampuBeraksi.java Lampu lampukamar = new Lampu(); System.out.println("Status Lampu Saat Ini: Mati"); } } lampukamar.hidupkan(); //Hidupkan Lampu lampukamar.matikan(); //Matikan Lampu lampukamar.matikan(); //Matikan Lampu lampukamar.hidupkan(); //Hidupkan Lampu lampukamar.hidupkan(); //Hidupkan Lampu

UML Class Diagram «interface» InterfaceLampu + KeadaanHidup: int = 1 {readonly} + KeadaanMati: int = 0 {readonly} + hidupkan() : void + matikan() : void LampuBeraksi + main(string[]) : void Lampu ~ statuslampu: int = 0 + hidupkan() : void + matikan() : void

Latihan Buat program serupa dengan InterfaceBeraksi.java tapi untuk ACBeraksi.java Masukkan method-method d di bawah ke dalam ACBeraksi.java matikanac() dan hidupkanac() dinginkanac() dan panaskanac ()

Referensi -1- Sharon Zakhour et al, The Java Tutorial Fourth Edition, http://java.sun.com/docs/books/tutorial Deitel & Deitel, Java How to Program Sixth Edition, Prentice Hall, 2004 Kathy Sierra & Bert Bates, Head First Java 2nd Edition, O Reilly, 2005 Rogers Cadenhead d & Laura Lemay, Teach Yourself Java 6 in 21 Days, Sams Publishing, 2007 Robert Lafore, Data Structures and Algorithms in Java Second Edition, Sams Publishing, 2003

Referensi -2- Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007 Abdul Kadir, Dasar Pemrograman Java 2, Penerbit Andi, 2004 Indrajani dan Martin, Pemrograman Berbasis Objek dengan Java, Elex Media Komputindo, 2007 LN Harnaningrum, Algoritma dan Pemrograman Java, Graha Ilmu, 2009 Rachmad Hakim & Sutarto, Mastering Java, Elex Media Komputindo, 2009