Konsep Pemrograman Berorientasi Obyek

Slides:



Advertisements
Presentasi serupa
Object Oriented Programming
Advertisements

Pemrograman Berorientasi Objek
1.Overloading method 2.Konstruktor 3.Overloading konstruktor 1.Overloading method 2.Konstruktor 3.Overloading konstruktor.
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Object Oriented Programming
Pemrograman Berorientasi Objek
Encapsulation, Inheritance, polymorphism, dan interface
BAB 1 KONSEP OOP.
Pemrograman Berorientasi Obyek Oleh Tita Karlita
Pertemuan : Object Oriented Programming
VISUAL BASIC 2010 Teknik industri Pengenalan VB NET.
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
Inheritance, polymorphism, dan interface
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
Algoritma &Pemrograman 1
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Konsep Pemrograman dan Paradigmanya
Rekayasa Perangkat Lunak Konsep Orientasi Objek
Object Oriented Programming
Introduction Object Oriented Analysis & Design
PreTest Buatlah program Java sederhana yang menampilkan tulisan di layar: “Halo Jakarta” Menurut anda, apakah keunggulan Java dibandingkan bahasa pemrograman.
Inheritance dan Kata Kunci static
Materi 1: Konsep Pemrograman Berorientasi Objek Kelas dan Objek
Inheritance (Pewarisan)
POLYMORPHISM (KEBANYAKRUPAAN)
Parameter dan Konstruktor
Object-Oriented Programming (OOP)
Encapsulation, Inheritance, Polymorphism
Konsep Dasar Pemrograman Berorientasi Objek
POLYMORPHISM (KEBANYAKRUPAAN)
Object oriented analyst and design
Teori *Karakteristik PBO*
Pengorganisasian Class
BAB 1 KONSEP OOP.
MODIFIER JAVA.
Pengorganisasian Class
Teori Pertemuan 8 “Pengorganisasian Class”
PPBO.
Konsep Dasar Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Konsep Dasar Pemrograman Berorientasi Objek
METODE (2) SUSSI.
Interface.
Pemrograman Berorientasi Objek
KELAS & OBJEK SUSSI.
Pemrograman Berorientasi Objek
1.3 Konsep Dasar Pemrograman Berorientasi Objek
Pendahuluan PBO.
Karakteristik Pemrograman Berorientasi Objek
Konstruktor -1- Method yang digunakan untuk memberi nilai awal pada saat object diciptakan Dipanggil secara otomatis ketika new digunakan untuk membuat.
Inheritance (Pewarisan)
Pemrograman Berorientasi Object
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
PEMROGRAMAN BERORIENTASI OBJECT 4 SKS 2 TEORI DAN 2 PRAKTEK
STUDI KASUS.
Object Oriented Programming
Polimorphism Dosen Pengampu : Nur Iksan.
Pemrograman Berorientasi Obyek
Object-Oriented Programming
Object-Oriented Programming (OOP). TEXT BOOK Materi Pertama 1.OOP Concepts: Konsep dan Paradigma Object-Oriented.
Pemrograman Berorientasi Objek
Pertemuan 3 Class dan Objek (Lanjutan)
TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT (OOP)
Object-Oriented Programming (OOP)
Pemrograman Berorientasi Objek (PBO)
- PERTEMUAN 2- CONSTRUCTOR
Pertemuan 4 Praktek Pembuatan Program Class dan Objek (Lanjutan)
Pengenalan Pemrograman 1
Pemrograman Berorientasi Objek
Bahasa Pemrograman (Pemrograman Visual)
Transcript presentasi:

Konsep Pemrograman Berorientasi Obyek Sumber IlmuKomputer.com

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

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 Programming: Koleksi object yang saling berinteraksi . Class adalah unit pemrograman (Java, C#, C++)

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

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

Konsep Dasar Pemrograman Berorientasi Objek

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 (State): Behavior: 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)

Karakteristik OOP -1- Abstraction:Cara kita melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu sebagai suatu kumpulan subsistem (object) yang saling berinteraksi. Mobil adalah kumpulan sistem pengapian, sistem kemudi, sistem pengereman Modularity: Sifat object adalah modular. Object dapat ditulis dan dimaintain terpisah (independen) dari object lain

Karakteristik OOP -2- 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

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

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

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) Object adalah instance dari Class

Attribute Berbagai 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 class Mobil { String warna; int tahunProduksi; } Mobil.java public class MobilBeraksi{ public static void main(String[] args){ // Membuat object Mobil mobilku = new Mobil(); /* memanggil atribut dan memberi nilai */ mobilku.warna = "Hitam"; mobilku.tahunProduksi = 2006; System.out.println("Warna: " + mobilku.warna); System.out.println("Tahun: " + mobilku.tahunProduksi); }} MobilBeraksi.java

Method adalah implementasi dari bagaimana bekerjanya sebuah class Method melakukan: Manipulasi data Perhitungan matematika Memonitor kejadian dari suatu event

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

Latihan Kembangkan Class Mobil2 Ubah nama class menjadi MobilLengkap dan tambahkan method: hidupkanMobil() matikanMobil() ubahGigi() Isi masing-masing method dengan tampilan status menggunakan System.out.println() Panggil method-method diatas dari MobilLengkapBeraksi

Message dan Parameter -1- Bicycle akan berguna apabila ada object lain (misalnya 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- You  object pengirim (sender) YourBicycle  object penerima (receiver) changeGears  the message, the method to perform lowerGear information from You to YourBicycle, the parameters needed by the method

Membuat Class (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; System.out.println(" Kecepatan:" + kecepatan);

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 sepedaku.kecepatan=10; sepedaku.gir=2; // Memanggil method dan menunjuk nilai parameter sepedaku.tambahKecepatan(30); sepedaku.ubahGir(3); }}

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

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

Kata Kunci this Digunakan pada pembuatan class dan digunakan untuk menyatakan object sekarang class 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 -1- Method yang digunakan untuk memberi nilai awal pada saat object diciptakan Dipanggil secara otomatis ketika new 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 -2- class 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(); }}

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

Latihan 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 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 Bottom Up: Find similiarity Java Keyword: 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; System.out.println("Kecepatan:" + kecepatan);

Class SepedaGunung Mewarisi Class Sepeda class SepedaGunung extends Sepeda { int setSadel; public void setSadel(int nilaiSadel) { setSadel = nilaiSadel; System.out.println(“Tinggi Sadel:”+setSadel); } class SepedaGunungBeraksi { 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 Buat class MobilBMW yang merupakan inherit dari class MobilLengkap Tambahkan method nontonTV() yang menampilkan tulisan di layar: TV dihidupkan TV mencari channel TV menampilkan gambar Buat class MobilBMWBeraksi yang memanggil method nontonTV, hidupkanMobil, matikanMobil, ubahGigi

Konsep Lanjut Pemrograman Berorientasi Objek

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

Polymorphism – Overloading class 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); public class MobilKonstruktor{ public static void main(String[] args){ Mobil mobilku = new Mobil(“Merah”, 2003); mobilku.info(); Mobil mobilmu = new Mobil(); mobilmu.info(); }

Contoh Lain Overloading class Lingkaran{ public buatLingkaran(int diameter){ ... } public buatLingkaran(int 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; System.out.println("Kecepatan:" + kecepatan);

Class SepedaGunung Mewarisi Class Sepeda class 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 object SepedaGunung sepedaku = new sepedaGunung(); // Memanggil method di object sepedaku.tambahKecepatan(10); sepedaku.ubahGir(2); sepedaku.setSadel(20); } SepedaGunung.java SepedaGunungBeraksi.java

Latihan Kembangkan class Matematika dan MatematikaBeraksi Lakukan overloading pada Method yang ada (pertambahan, pengurangan, perkalian, pembagian) . Method baru adalah bertipe data 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)

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

Packages Package 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: package name;

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

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

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

Latihan Kembangkan 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) Buat Class DosenBeraksi yang menjalankan method yang ada di kedua Class tadi (gunakan keyword: import)

Interface Interface 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 implementasi

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

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

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

Latihan Buat program serupa dengan InterfaceBeraksi.java tapi untuk ACBeraksi.java Masukkan method-method di bawah ke dalam ACBeraksi.java matikanAC() dan hidupkanAC() dinginkanAC() dan panaskanAC ()