Pemrograman Berorientasi ObyekOleh :Arif RahmanProgram Studi Ilmu Komputer Universitas Ahmad Dahlan email: [email protected]
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Kuliah & PenilaianJadwalKamis, 12.45-14.25 di R.307 PenilaianPresensi (10% jika 75% masuk )Tugas/ Kuis (20%)Ujian Mid (30%)Ujian Akhir (40%)
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
IkhtisarPengantarKelas dan Obyek
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Perkembangan PBOSejarahBahasa pemrogramanJava, C++, Delphi, C#, PHP 5, dll
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Apa itu Obyek?di dunia nyata
contohkeadaan (state)perilaku (behavior)Obyekkeadaanwarnanamajenisperilakuberjalanmengeong
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Apa itu Obyek?di dunia software
contohatribut / variabelmethod / functionObyekvariablewarnanamajenismethodberjalan()mengeong()
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Apa itu Obyek?Definisi
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Berorientasi Obyek?Contoh :Pengembangan SIA (Sistem Informasi Akademik)
Berorientasi ProsedurSIAmhs_registrasimhs_krsdosen_insertNilaiadmin_setJadwalProsedur / fungsi
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Berorientasi Obyek?Berorientasi ObyekSIAMahasiswaNIMnama registrasi() updateKRS()DosenNIPnama insertNilai()Administrasinamaalamat insertNilai()
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Kelas (Class)Dalam suatu sistem, sering kali ditemui beberapa obyek sejenisBeberapa obyek sejenis dapat di-identifikasi sebagai suatu kelas (class)
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Kelas (Class)Kelas merupakan cetakan (blueprint) dari suatu obyekDari suatu kelas kita dapat membuat obyek-obyek baru yang masing-masing dapat memiliki keadaan yang berbeda-beda
Sepedajeniswarna berjalan() mengerem()Sepeda1jenis = BMXwarna = hitam berjalan() mengerem()Sepeda2jenis = Miniwarna = merah berjalan() mengerem()
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
MessageObyek berinteraksi dan berkomunikasi dengan obyek lain melalui messageObyek AObyek Bmessage
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
MessageMessage terdiri dariNama obyek yg dikirimiNama method yg dipanggilParameter yang diperlukan oleh method yang dipanggilBudiSepedaBudiberjalan(10 km/jam)
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Ciri Utama PBOEncapsulation (pembungkusan)Inheritance (pewarisan)Polymorphism
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
EncapsulationSuatu metode untuk menyembunyikan suatu bagian implementasi dari kelas dan menyediakan antarmuka bagi kelas/software lain yang akan mengaksesnya. Direalisasikan dalam bentuk classcontoh
Administratorpassword setPassword()
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Deklarasi KelasSintaks deklarasi kelas dalam JAVA: class {[][]} public :kelas dapat diakses dari luardefault : kelas hanya dapat diakses dari satu package
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Deklarasi KelasContoh deklarasi kelas dalam JAVA:
public class Cat { private int weight; public int getWeight() { return weight; }public void setWeight(int newWeight) { weight = newWeight; }}
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Deklarasi Atribut[]
private atribut hanya dapat diakses oleh method yg ada dalam kelas tersebut public atribut dapat diakses secara langsung Dapat berupa tipe primitif (int, double boolean, dst..) atau kelas
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Deklarasi Atribut
public class TestAtribut { private int x; private float y = 100.5F; public String nama = Obyek;}
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Deklarasi Method[] ([]) { []}
[] public : method dapat diakses dari luarprivate : method hanya dapat dipanggil oleh method lain dalam satu kelas
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Diagram Kelascontoh
+berjalan()+mengerem()
+jenis-warna
Sepeda
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Diagram ObyekKelas Obyek
+berjalan()+mengerem()
+jenis-warna
Sepeda
jeniswarna
Sepeda1 : Sepeda
jeniswarna
Sepeda2 : Sepeda
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Contoh KasusSuatu rak buku dalam perpustakaan, rak memiliki kode tertentu, pada rak tersebut kita dapat : menambah sejumlah buku, mengambil sejumlah buku dan mengetahui jumlah buku yang ada dalam rak sekarang.
Gambarkan diagram kelasnya
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Pengaksesan Atribut dan MethodDapat dari kelas lain atau dari kelas itu sendiri
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Pengaksesan Atribut dan Methodclass Circle{static final double pi = 3.14; // variabel kelas dengan nilai tetapdouble radius = 10; // variabel objekString warna = "biru";// Metode untuk menghitung luas lingkarandouble hitungLuas(){return pi * radius * radius;}public static void main (String[ ] args){Circle lingk = new Circle();// deklarasi objekSystem.out.println ("Luas lingkaran = " + ingk.hitungLuas());System.out.println ("Warna lingkaran = " + lingk.warna);}}
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Constructoradalah method yang dijalankan secara otomatis pada saat obyek diciptakan. Dengan constructor kita dapat memberikan nilai awal pada obyekNama constructor sama dengan nama kelas
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Constructorpublic class Cat { private int weight; public Cat() { weight = 20; } public int getWeight() { return weight; }public void setWeight(int newWeight) { weight = newWeight; }}
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Constructorpublic class TestCat { public static void main(String[] args) { Cat c = new Cat(); System.out.println(Berat kucing = + c.getWeight()); }}
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Constructor dgn argumenpublic class Cat { private int weight; public Cat() { weight = 20; } public Cat(int initWeight) { weight = initWeight; } public int getWeight() { return weight; }public void setWeight(int newWeight) { weight = newWeight; }}
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Constructor dgn argumenpublic class TestCat { public static void main(String[] args) { Cat c = new Cat(); Cat c2 = new Cat(35); System.out.println("Berat kucing 1 = " + c.getWeight()); System.out.println("Berat kucing 2 = + c2.getWeight()); }}
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Deklarasi Arraypublic class ArrayDemo { public static void main(String[] args) { // declare an array of integers int[] anArray;
// create an array of integers anArray = new int[10];
// assign a value to each array element and print for (int i = 0; i < anArray.length; i++) { anArray[i] = i; System.out.print(anArray[i] + " "); } System.out.println(); } }
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Array Stringpublic class ArrayOfStringsDemo { public static void main(String[] args) { String[] str = { "String One", "String Two", "String Three" }; for (int i = 0; i < str.length; i++) { System.out.println(str[i].toLowerCase()); } } }
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Array dari Obyekpublic class ArrayOfObjectsDemo { public static void main(String[] args) { Rekening[] rek = new Rekening[5]; for (int i = 0; i < rek.length; i++) { rek[i] = new Rekening(); System.out.println( rek[i].getSaldo() ); } } }
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Array dari ObyekRekening[] rek = new Rekening[5]; for (int i = 0; i < rek.length; i++) { //ERROR: the following line gives a runtime error System.out.println(rek[i].getSaldo() ); }
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Mengkopi ArraySystem.arraycopy(Object source, int srcIndex, Object dest, int destIndex, int length)
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
Mengkopi Arraypublic class ArrayCopyDemo { public static void main(String[] args) { char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[7];
System.arraycopy(copyFrom, 2,copyTo, 0,7); System.out.println(new String(copyTo)); } }
Program Studi Ilmu KomputerUniversitas Ahmad Dahlan
public class ArrayOfArraysDemo2 { public static void main(String[] args){ aMatrix = new int[4][]; //populate matrix for (int i = 0; i < aMatrix.length; i++) { //create subarray aMatrix[i] = new int[5]; for (int j = 0; j < aMatrix[i].length; j++) { aMatrix[i][j] = i + j; } } //print matrix for (int i = 0; i < aMatrix.length; i++) { for (int j = 0; j < aMatrix[i].length; j++) { System.out.print(aMatrix[i][j] + " "); } System.out.println(); } } }
Recommended