Object Oriented Programming

dokumen-dokumen yang mirip
Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

DAO Pattern... 3 Contoh Kasus... 4 Diagram UML dan Database... 4 Use Case Diagram Perpustakaan... 4

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

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

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

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

UML dan Java Application

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

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Inheritance (Pewarisan) Pengertian dasar inheritance

IKG2I4 / Software Project I

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

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

Inheritance dan Kata Kunci static

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Modul II Object Oriented Programming

Pemrograman Berorientasi Objek INHERITANCE

Dengan menggunakan encapsulation kita dapat membatasi akses langsung suatu class atau program kecuali melalui suatu method yang sudah diberikan.

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi Objek Danu Wira Pangestu

Dasar-Dasar OOP di Java

Bab 8. Dasar-Dasar OOP

Konsep Pemrograman Berbasis Obyek

Dasar-Dasar OOP di Java

Membuat dan Menggunakan Class

Dalam penulisan sebuah kelas di java, ada beberapa aturan yang biasanya dilakukan. Nama kelas tidak menggunakan tanda spasi, dash (-) dan tanda lain.

Pemrograman Berorientasi. Inheritance

SUMBER BELAJAR PENUNJANG PLPG

PRAKTIKUM I Class dan Obyek

Konsep Lanjut Pemrograman Objek

Object Oriented Programming 1

Keyword this untuk memanggil private String pengarang; private String judul;

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Pemrograman Berorientasi. Methods

LAPORAN RESMI INHERITANCE

Java - Belajar Object Oriented Programming (OOP) (Part 1 - Class, Method, Getter, Setter)

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

Modul Bahasa Pemrograman 1

KONSEP Pemrograman Berorientasi Objek KARMILASARI

Praktikum KPLBO Final Object Concept I

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I

Pertemuan 11 Object Oriented Program

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman 2.

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Praktikum KPLBO Class dan Object I

BAB 3 CLASS DAN OBJECT. Tujuan:

Praktikum 6 Class Design (Encapsulation)

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

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Pemrograman Berorientasi Obyek. Ramos Somya

Pemrograman Berorientasi. Polimorfisme dan Binding

Oleh : Rahmady Liyantanto

Koneksi Sederhana Database dengan C# (Lihat, Tambah, dan Hapus Data)

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

Kamus Perintah Hibernate Criteria Query MySQL

Class. Object. Object Oriented Programming (OOP) Object Oriented Programming (OOP)

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Bahasa Pemrograman 2.

Abstract Class dan Interface. Viska Mutiawani, M.Sc

KA2173 Pemrograman Berorientasi Objek. 10 BAB X PENGAKSESAN DATABASE. H a l 64

Pemrograman Berorientasi. Abstract & Interface

INTERAKSI ANTAR OBJECT

PEMROGRAMAN BERORIENTASI OBJEK

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

KONSEP OOP: PEWARISAN / INHERITANCE

Pemrograman Berbasis Objek (Polimorfisme)

Bahasa Pemrograman 2.

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

PERTEMUAN 5 OOP. Objektif : Praktikan mengetahui konsep OOP. Praktikan dapat membuat program sederhana dengan konsep OOP.

Praktikum 3 Konsep Class, Attribute dan Method

Java Database Connectivity (JDBC)

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Object Oriented Programming (OOP) --Polimorphisme-- Saniati STMIK Teknokrat, Bandar Lampung

Object OrientedProgramming

KONSEP OOP: PEWARISAN / INHERITANCE

KONSEP OBJEK ORIENTASI PROGRAM

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

UNIVERSITAS GUNADARMA

Praktikum 7. Dasar-dasar OOP di Java

A. TUJUAN PEMBELAJARAN. 1. Menerapkan konsep enkapsulasi pada class 2. Mendeklarasikan suatu constructor

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

MODUL 3 Inheritance. Tujuan: Mahasiswa dapat mengenal dan memahami konsep inheritance dan cara menerapkan inheritance dengan constructor

Algoritma Pemrograman [BS204]

MODUL 1 PENGENALAN OOP

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

Transkripsi:

Object Oriented Programming Object Pada dunia perangkat lunak, sebuah obyek adalah sebuah komponen perangkat lunak yang stukturnya mirip dengan obyek pada dunia nyata. Disekeliling kita ada banyak contoh dari objek, seperti meja, pena, kursi, televisi dan masih banyak lagi. Yang dimiliki oleh objek antar lain state Pada implementasinya berupa field dari kelas behaviour Implementasinya menjadi method dari kelas Class Kelas adalah keluarga dari Objek. Apabila beberapa objek memiliki struktur yang sama, perilaku dan arti secara umum, maka bisa dikelompokkan menjadi sebuah kelas. Yang kemudian dapat digunakan untuk menciptakan sebuah objek yang memiliki keseragaman. Setiap kelas memberikan skema yang umum untuk satu atau lebih objek, dimana kelas dapat menjadi template dari satu atau banyak objek. import java.util.date; public class Anggota { private int id; private String nama; private String tmplahir; private Date tgllahir; public Anggota(){ public int getid() { return id; public void setid(int id) { this.id = id; public String getnama() { return nama; public void setnama(string nama) { this.nama = nama; public String gettmplahir() { return tmplahir; public void settmplahir(string tmplahir) { this.tmplahir = tmplahir; public Date gettgllahir() { return tgllahir; public void settgllahir(date tgllahir) { this.tgllahir = tgllahir; Deklarasi paket Import kelas Date Nama kelas Attribut atau Field Constructor Salah satu setter dan getter Review Object Oriented Programming 1

Enkapsulasi Ini adalah salah satu fitur penting di OOP. Enkapsulation atau enkapsulasi adalah suatu cara untuk menyembunyikan detail dari suatu proses atau cara untuk memberikan akses tidak langsung ke data. Dengan enkapsulasi, data yang ada dalam sistem lebih aman dan konsisten. Enkapsulasi juga akan membuat detail proses yang rumit tersembunyi sehingga para pengguna suatu Class atau obyek akan menemukan suatu kemudahan dimana. Kemudahan itu didapat karena mereka tidak perlu menyetahui detail suatu proses untuk dapat melakukan suatu proses, cukup dengan nama Method yang dibutuhkan. Contohnya diketahui bahwa kelas Database memiliki 4 buah method yaitu 1. connect 2. dml 3. getgeneratedkey 4. getrs Ketika anda hendak melakukan Query ke database misalnya untuk mengambil data Mahasiswa yang menjadi anggota perpus maka cukup dengan perintah seperti dibahwa ini @Override public Mahasiswa[] findall() { // TODO Auto-generated method stub ss="select a.idanggota,nim,nama,tmplahir,tgllahir,tahunmasuk "; ss+="from mahasiswa m "; ss+="inner join anggota a on m.idanggota=a.idanggota"; if(database.dml(ss, true)){ rs=database.getrs(); List<Mahasiswa> lstmahasiswa=new ArrayList<Mahasiswa>(); try { while(rs.next()){ Mahasiswa mahasiswa=new Mahasiswa(); mahasiswa.setid(rs.getint("idanggota")); mahasiswa.setnim(rs.getstring("nim")); mahasiswa.setnama(rs.getstring("nama")); mahasiswa.settmplahir(rs.getstring("tmplahir")); mahasiswa.settgllahir(rs.getdate("tgllahir")); mahasiswa.settahunmasuk(rs.getint("tahunmasuk")); lstmahasiswa.add(mahasiswa); rs.close(); return lstmahasiswa.toarray( new Mahasiswa[lstMahasiswa.size()]); catch (SQLException e) { // TODO Auto-generated catch block e.printstacktrace(); return null; return null; Coba anda perhatikan kode program yang dilingkari, disana tampak bahwa untuk mengirimkan query ke database kita cukup memanggil method dml dari objek database dengan parameter ss yang Review Object Oriented Programming 2

berisi query dan true yang berarti method tersebut akan mengirimkan select, padahal isi dari method tersebut cukup panjang yaitu public boolean dml(string query, boolean getrow, Object... objects) { try { prep = con.preparestatement(query); int i = 1; for (Object obj : objects) { prep.setobject(i, obj); i++; if (getrow) { rs = prep.executequery(); else { prep.executeupdate(); catch (SQLException e) { // TODO Auto-generated catch block e.printstacktrace(); return false; return true; Disini dapat kita ambil kesimpulan bahwa untuk mengirimkan perintah query, kita tidak perlu memahami betul bagaimana perintahnya dari Java akan tetapi kita cukup memanggil method dml dan mengisi parameter yang dibutuhkan. Inheritance Inheritance atau pewarisan, di dalam OOP digunakan untuk mengklasifikasikan suatu obyek ke dalam suatu karakteristik dan fungsi yang umum. Maka ini akan membuat bekerja dengan obyek lebih mudah dan menguntungkan, karena hal ini memungkinkan kombinasi karakteristik umum pada obyek induk dengan obyek anak dengan cara mewariskan karakteristik pada obyek induk pada obyek anak. Misalnya suatu kelas Mahasiswa dan Karyawan adalah dua buah obyek yang memiliki karakteristik berbeda, namun kedua obyek tersebut dapat mewarisi obyek induk misalnya Anggota. Karena Mahasiswa dan Karyawan adalah dua obyek yang berbeda tapi keduanya adalah Anggota dari suatu perpustakaan. Dapat dilihat di kode program untuk kelas Mahasiswa Berikut : public class Mahasiswa extends Anggota { private String nim; private int tahunmasuk; public String getnim() { return nim; public void setnim(string nim) { this.nim = nim; public int gettahunmasuk() { return tahunmasuk; public void settahunmasuk(int tahunmasuk) { this.tahunmasuk = tahunmasuk; Review Object Oriented Programming 3

Dan untuk kelas Karyawan public class Karyawan extends Anggota { private String nik; public String getnik() { return nik; public void setnik(string nik) { this.nik = nik; Pada dua kelas diatas, yaitu kelas Mahasiswa dan Karyawan terdapat kode program yang dilingkari yaitu 1. Mahasiswa extends Anggota 2. Karyawan extends Anggota Dapat dibaca bahwa kelas Mahasiswa adalah turunan dari kelas Anggota dan kelas Karyawan adalah turunan dari kelas Anggota. Apabila anda perhatikan lebih teliti misalnya pada kelas Karyawan maka tampak disana hanya terdapat 1 buah attribut atau field (dilingkari warna merah). Untuk attribut id, nama, tempat lahir dan tanggal lahir cukup dideklarasikan saja di kelas Anggota, sehingga tidak terjadi proses deklarasi variabel yang sama berulang ulang, berikut ini kode program kelas Anggota import java.util.date; public class Anggota { private int id; private String nama; private String tmplahir; private Date tgllahir; public int getid() { return id; public void setid(int id) { this.id = id; /*-----setter dan getter attribut yang lain--- Review Object Oriented Programming 4

Kode program yang dilingkari warna ungu menunjukkan attribut yang dimiliki kelas Anggota seperti id, nama, tmplahir dan tgllahir. Attribut itu juga yang nantinya akan digunakan oleh kelas Mahasiswa, Karyawan dan PetugasPerpus. Inheritance apabila diterapkan di database tampak seperti gambar berikut (Digambar dengan MySQL Workbench 5.2.31 CE) Pada gambar diatas tampak bahwa 1. tabel Anggota memiliki 4 buah kolom yaitu idanggota, nama, tmplahir dan tgllahir dimana idanggota sebagai PrimaryKey. 2. tabel Mahasiswa memiliki 3 buah kolom yaitu idanggota, nim dan tahunmasuk dimana idanggota sebagai foreign key yang mereferensikan kolom idanggota di tabel Anggota. 3. tabel Karyawan memiliki 2 buah kolom yaitu nik dan idanggota dimana idanggota sebagai foreign key yang mereferensikan kolom idanggota di tabel Anggota. Di UML tampak seperti gambar berikut (tanpa menunjukkan method setter dan getter) Dari pola diatas dapat diambil suatu keuntungan bahwa yang dicatat di dalam transaksi pengembalian buku dan peminjaman buku cukup idanggota, tidak perlu nim, nik karena mahasiswa, karyawan, petugas perpus memiliki primary key yang sama yaitu idanggota. Review Object Oriented Programming 5

Berikut ini contoh sederhana untuk keuntungan yang bisa kita ambil dari menerapkan konsep inheritance package example; import entity.anggota; import entity.mahasiswa; import entity.petugasperpus; public class TestingInheritance { /** * @param args public static void main(string[] args) { /* TODO deklarasi objek anggota dengan Type Anggota * menggunakan Contructor Anggota() Anggota anggota=new Anggota(); anggota.setnama("ratno Kustiawan"); anggota.settmplahir("purworejo"); /* TODO decklarasi objek anggota2 dengan Type Anggota dengan * menggunakan Contructor Mahasiswa() Anggota anggota2=new Mahasiswa(); anggota2.setnama("afif Syaifullah"); anggota2.settmplahir("indonesia"); /* TODO deklarasi objek anggota3 dengan Type Anggota dengan * menggunakan Contructor PetugasPerpus() Anggota anggota3=new PetugasPerpus(); anggota3.setnama("afif"); anggota3.settmplahir("indonesia"); /* TODO deklarasi objek karyawan dengan Type Karyawan dengan * menggunakan Contructor PetugasPerpus() Anggota karyawan=new PetugasPerpus(); karyawan.setnama("kustiawan"); karyawan.settmplahir("indonesia"); /* TODO munculkan data dari objek yang sudah dibuat System.out.println("anggota =>" + anggota.getnama() + " =>" + anggota.gettmplahir()); System.out.println("anggota2 =>" + anggota2.getnama() + " =>" + anggota2.gettmplahir()); System.out.println("anggota3 =>" + anggota3.getnama() + " =>" + anggota3.gettmplahir()); System.out.println("karyawan =>" + karyawan.getnama() + " =>" + karyawan.gettmplahir()); Keluaran dari program diatas adalah anggota =>Ratno Kustiawan =>Purworejo anggota2 =>Afif Syaifullah =>Indonesia anggota3 =>Afif =>Indonesia karyawan =>Kustiawan =>Indonesia Prinsip diatas sesuai dengan aturan Substitusi Liskov yang berbunyi seperti berikut Since a subclass inherits the behaviour of its superclass, you can substitue objects whenever a superclass object is expected (dikutip dari Object Oriented Design and Pattern second edition, Bab The Concept of Inheritace, bagian The Substitution Principle halaman 219 karangan Cay Horstmann). Review Object Oriented Programming 6

Interface Merupakan sebuah keyword untuk mendefinisikan sekumpulan method dan konstanta. Interface bisa digunakan apabila sudah dilakukan implementasi pada sebuah kelas non abstract. Interface dapat digunakan untuk 1. Mewakili suatu tingkah laku yang bisa dimiliki oleh suatu kelas tanpa memaksakan relasi antar kelas tersebut. 2. Menangani event atau action yang terjadi pada suatu kelas 3. Memudahkan penanganan objek dalam parameter 4. Multiple inheritace Polymorphism Polimorphisme adalah kemampuan dari dua buah obyek untuk merespon suatu pesan yang sama dengan cara yang tidak sama.dalam OOP biasanya bisa diimplementasikan kedalam dua proses yang disebut overloading dan overriding. 1. Overloading Overloading adalah suatu kondisi ketika ditemukan beberapa Method yang memiliki nama sama pada sebuah Class namun memiliki jumlah masukan dan tipe data masukan yang berbeda beda. Sehingga Method Method itu dikenali sebagai Method yang berbeda meskipun namanya sama. Misalkan sebuah Class Anggota memiliki Method untuk mencari buku, namun satu Method memiliki masukan pengarang buku dan satu Method tidak memiliki masukan apapun. 2. Overriding Biasanya ditemukan pada sebuah Class yang merupakan sebuah Class turunan. Class turunan ini memiliki satu atau lebih Method yang sama dengan Class induknya. Method di Class turunan inilah yang melakukan overriding Method terhadap Method di Class induk. Misalkan diketahui Class AnakAnak yang merupakan turunan Class Anggota, tetapi Class AnakAnak memiliki Method caribuku yang juga dimiliki oleh Class Induknya, maka digunakan overriding. Review Object Oriented Programming 7