
Transcription
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEKTEKNIK INFORMATIKAUIN MAULANA MALIK IBRAHIM MALANGMODUL 1METHODMethod adalah kumpulan program yang mempunyai nama. Program harus dibungkus dalammethod. Dengan method kita bisa memanggil kumpulan program hanya dengan memanggilnama methodnya, pekerjaan jadi lebih singkat dan tidak boros menuliskan program, programmenjadi lebih terstruktur, praktis, dan efisien.Bentuk umum: nama method ( parameter/argument );// menggunakan tanda kurung setelah nama method itu kuncinya// parameter/argument bersifat opsional, tergantung kebutuhanContoh:cetak();//method bernama cetakAda 2 jenis method:1. Method yang tidak mengembalikan data (diberi tipe void)Contoh: static void cetak();//method static bernama cetak yang tidak mengembalikan nilai.2. Method yang bisa mengembalilkan nilai menggunakan statement return dan tipedataContoh: static int cetak(int b);return b;//method bernama cetak yang mengembalikan nilai integer//mempunyai 1 parameter/argument yaitu b dan bertipe integer//return adalah keyword untuk mengembalikan nilaiCatatan: method yang dipanggil dari dalam method static harus static. method tidak static hanya bisa dipanggil melalui method tidak statik dan mekanismeinstansiasi. Jika memanggil method dalam satu kelas method harus static. method static hanya bisa memanggil method yang static.Parameter/argument adalah suatu nilai yang dapat diubah-ubah dari luar untuk menentukanhasil mengirim parameter/argument aktual (yang di main). menerima parameter/argument formal.Contoh method tidak mengembalikan nilai (tanpa parameter/argument) dengan nama fileContoh1.javaOutput: I Love JAVA1
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEKTEKNIK INFORMATIKAUIN MAULANA MALIK IBRAHIM MALANGContoh method tidak mengembalikan nilai (dengan parameter/argument) dengan nama fileContoh2.javaOutput:Nilai x: 0Nilai x: 1Nilai x: 2Nilai x terakhir: 3Catatan: static void cetak(int a). int a adalah parameter/argument formal. cetak(x). x adalah parameter/argument aktual atau parameter/argument yang dikirim.Contoh method mengembalikan nilai dengan nama file Contoh3.javaOutput: 5 kuadrat adalah 25Contoh method menggunakan 2 parameter/argument dengan nama file Contoh4.javaOutput: 2 3 52
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 2PENGENALAN CLASS, OBJECT & ENKAPSULASIA. ClassClass merupakan cetak biru (blue print) dari objek atau dengan kata lain sebuah Classmenggambarkan ciri-ciri objek secara umum. Sebagai contoh Suzuki Smash, Yamaha VegaR,Honda SupraFit, dan Kawasaki KazeR merupakan objek dari Class sepeda motor. Suzuki Smashdan objek lainnya juga memiliki kesamaan atribut (merk, tipe, berat, kapasitas bensin, tipe mesin,warna, harga) dan method untuk mengakses data pada atributnya (misal fungsi untukmenginputkan data merk, tipe, berat, dsb serta fungsi untuk mencetak data merk, tipe, berat, dsb).Contoh :B. ObjectObjek (Object) merupakan segala sesuatu yang ada di dunia ini, yaitu manusia, hewan,tumbuhan, rumah, kendaraan, dan lain sebagainya. Contoh-contoh objek yang telah disebutkandiatas merupakan contoh objek nyata pada kehidupan kita.Pada pemrograman berorientasi objek, kita akan belajar bagaimana membawa konsep objekdalam kehidupan nyata menjadi objek dalam dunia pemrograman. Setiap objek dalam dunia nyatapasti memiliki 2 elemen penyusunnya, yaitu keadaan (state) dan perilaku/sifat (behaviour). Sebagaicontoh, sepeda memiliki keadaan yaitu warna, merk, jumlah roda, ukuran roda. Dan perilaku/sifatsepeda adalah berjalan, berhenti, belok, menambah kecepatan, mengerem.1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangPada saat objek diterjemahkan ke dalam konsep PBO, maka elemen penyusunnya juga terdiriatas 2 bagian, yaitu :Atribut, merupakan ciri-ciri yang melekat pada suatu objek (state).Method, merupakan fungsi-fungsi yang digunakan untuk memanipulasi nilai-nilai padaatribut atau untuk melakukan hal-hal yang dapat dilakukan suatu objek (behaviour).Objek dalam konsep PBO memiliki keadaan dan perilaku yang sama seperti halnya objek didunia nyata, karena objek dalam konsep PBO merupakan representasi objek dari dunia nyata.Objek dalam PBO merepresentasikan keadaan melalui variabel-variabel (Atribut), sedangkanperilakunya direpresentasikan dengan method (yang merupakan suatu fungsi yang berhubungandengan perilaku objek tersebut maupun berhubungan dengan atribut dari objek tersebut). Objekyang memiliki kesamaan atribut dan method dapat dikelompokkan menjadi sebuah Class. Danobjek-objek yang dibuat dari suatu class itulah yang disebut dengan Instant of class.Untuk menginstansi (membuat) objek dari class, gunakan operator new.Sintaks membuat objek dari suatu class :namaClass namaObjek new namaClass()Class utama dari program :Perhatikan class Main diatas !Nama objek dari class SepedaMotor adalah motor.Silahkan dicoba untuk melihat hasilnya !2
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangC. EnkapsulasiEnkapsulasi (encapsulation) merupakan cara untuk melindungi property (atribut) / methodtertentu dari sebuah kelas agar tidak sembarangan diakses dan dimodifikasi oleh suatu bagianprogram. Cara untuk melindungi data yaitu dengan menggunakan access modifiers (hak akses).Ada 4 hak akses yang tersedia, yaitu default, public, protected, private.Untuk lebih jelasnya, silahkan lihat kedua table berikut ini :NoModifierPada class dan interfacePada method dan variabel1Default (tidak adaDapat diakses oleh yangDiwarisi oleh subkelas dipaket yangmodifier)sepaketsama, dapat diakses oleh methodmethod yang sepaket2PublicDapat diakses dimanapunDiwarisiolehsubkelasnya,dapatdiakses dimanapun3ProtectedTidak bisa diterapkanDiwarisiolehsubkelasnya,dapatdiakses oleh method-method yangsepaket4privateTidak bisa diterapkanTidakdapatdikasesdimanapunkecuali oleh method-method yang adadalam kelas itu sendiri3
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangPerhatikan keyword “this” di bawah ini (lihat pada class Enkapsulasi). Untuk membedakanvariabel alas pada parameter dan variabel alas pada atribut class Enkapsulasi, digunakanlahkeyword “this”. Sehingga untuk menggunakan atribut alas pada class Enkapsulasi digunakan :this.alasContoh:Nama file : Enkapsulasi.java4
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangNama file : MainEnkapsulasi.javaSilahkan dicoba untuk melihat hasilnya !D. OverloadingOverloading adalah diperbolehkannya dalam sebuah class memiliki lebih dari satu namafunction/method yang sama tetapi memiliki parameter/argument yang berbeda.Contoh :Silahkan dicoba untuk melihat hasilnya !5
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 2 - LATIHANLatihan Soal1. Seorang penjual alat tulis menjual 10 bolpoint, 10 pensil dan 10 penghapus. 1 biji bolpointharganya Rp. 2000, 1 biji pensil harganya Rp. 1.000 dan 1 penghapus harganya Rp. 500.Gunakanlah objek untuk menyelesaikan soal dibawah ini!a. Buatlah method untuk memasukkan (setter) nama, stok, harga satuan, dan harga (stok xharga satuan) alat tulis tersebut! (40 point)b. Buatlah method untuk menampilkan (getter) nama, stok, harga satuan, dan harga (stok xharga satuan) alat tulis tersebut! (40 point)c. Buatlah method Total Harga (setter getter) untuk menampilkan uang yang diterima penjualjika semua alat tulis tersebut terjual semuanya! (20 point)Catatan untuk asisten:a. Soal dibuat berbeda antara hari senin, selasa, dan rabu. Untuk hari senin bisa memakai soaldiatas, untuk hari selasa, dan rabu dapat diubah jumlah, harga dan jenisnya (misalnya mobilToyota, Kijang, Panther, Karimun) terserah. Boleh lebih dari 3 variable.b. OutputNama Alat Tulis : BolpointStok : 10Harga Satuan: 2000Harga Bolpoint : 20000Nama Alat Tulis : PensilStok : 10Harga Satuan: 1000Harga Pensil : 10000Nama Alat Tulis : PenghapusStok : 10Harga Satuan: 500Harga Penghapus : 5000Total Harga: 350001
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 3ARRAY DIMENSI 1A. ArrayArray atau Larik adalah variable yang digunakan untuk menyimpan data-data yangmempunyai tipe data yang sama. Di Java, Array dimulai dari index ke-0 sampai ke ke-n.Ada dua macam cara deklarasi array dimensi 1 di Java, yaitu :a) tipeData[] namaArray;Misal: String[] mhs;b) tipeData namaArray[];Misal: String mhs[];Ada dua macam cara membuat array dimensi 1 di Java, yaitu:a) tipeData[] namaArray new tipeData[ukuranArray];Misal:String[] mhs new String[50];b) tipeData[] namaArray {isiArray, isiArray,.,isiArray};Misal:String[] mahasiswa {"Dono","Danu","Dana","Dini","Doni"};Contoh:Nama file : Array.java1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangNama file : MainArray.java2
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 3ARRAY - LATIHAN1) Terdapat 5 buah bilangan yaitu -5, -3, -6, -3, -4.Dengan menggunakan objek dan enkapsulasi (setter getter), .a) Carilah nilai rata-rata!b) Carilah nilai maksimum!c) Carilah nilai minimum!d) Angka -3 pada bilangan tersebut terdapat pada index keberapa?1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 3ARRAY - LATIHAN 21.Terdapat bilangan integer (2,5,3,5,9,5). Dengan menggunakan objek dan enkapsulasi (settergetter), ubah angka 5 menjadi angka 1!2.Hasil dari bilangan no. 1 adalah bilangan (2,1,3,1,9,1). Dengan menggunakan objek danenkpasulasi (setter getter), kalikan bilangan tersebut dengan 0.5!1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 4ARRAY DIMENSI 2A. ArrayArray atau Larik adalah variable yang digunakan untuk menyimpan data-data yangmempunyai tipe data yang sama. Di Java, Array dimulai dari index ke-0 sampai ke ke-n.Ada dua macam cara deklarasi array dimensi 2 di Java, yaitu :a) tipeData[][] namaArray;Misal: String[][] mhs;b) tipeData namaArray[][];Misal: String mhs[][];Ada dua macam cara membuat array dimensi 2 di Java, yaitu:a) tipeData[][] namaArray new ] mhs new String[5][2];b) tipeData[][] namaArray { {isiArray, isiArray,isiArray},{isiArray, isiArray,isiArray} };Misal:String[][] mhs {// {kolom1,kolom2}{"NIM","NAMA"},// baris ke-0{"17650123","David"}, // baris ke-1{"17650124","Ahmad"}, // baris ke-2{"17650125","Ratih"}, // baris ke-3{"17650126","Dina"}// baris ke-4};1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangPercobaan:Nama file : Array2.java2
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangNama file : MainArray2.java3
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 4ARRAY II - TUGAS1.Terdapat matrikAB1235678910111213Dengan menggunakan objek dan enkapsulasi (setter getter), jumlahkan matrik A dan Bsehingga menghasilkan matrikC2.91113161820Dengan menggunakan objek dan enkapsulasi (setter getter), kalikan matrik C pada no. 1dengan 0.5! (Gunakan method setter dengan 2 parameter yaitu matrik C dan angka 0.5)Catatan:Soal dibuat berbeda, hari senin dan rabu penjumlahan, sedangkan hari selasa pengurangan.1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 5INHERITANCE5.1 InheritanceInheritance merupakan proses pewarisan data dan method dari suatu class yang telah adakepada suatu class baru. Class yang mewariskan disebut dengan superclass / parent class / baseclass, sedangkan class yang mewarisi (class yang baru) disebut dengan subclass / child class /derived class.Subclass tidak dapat mewarisi anggota private dari superclass-nya. Dengan inheritance,class yang baru (subclass) akan mirip dengan class yang lama (superclass) namun memilikikarakteristik yang baru. Dalam Java, subclass hanya bisa memiliki satu superclass (singleinheritance) sedangkan superclass bisa memiliki satu subclass atau lebih. Untuk menerapkaninheritance, gunakan statement “extends”.Keyword “super” digunakan oleh subclass untuk memanggil constructor, atribut danmethod yang ada pada superclass-nya.Contoh untuk memanggil constructor milik superclass-nya :super()super(parameter)Contoh untuk memanggil atribut dan method milik superclass-nya :super.namaAtributsuper.namaMethod(parameter)5.2. Method OverridingOverriding method adalah kemampuan dari subclass untuk memodifikasi method darisuperclass-nya, yaitu dengan cara menumpuk (mendefinisikan kembali) method superclass-nya.Contoh overriding method dapat dilihat pada subclass “Mobil” yang mendefinisikan kembalimethod keterangan() dan hapus() dari class “Kendaraan”.5.3 Input DataUntuk menginputkan data dari keyboard ada 2 cara, yaitu :a) Input dari mode console, yaitu dengan memanfaatkan class BufferedReader danInputStreamReader.1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangUntuk bisa mengakses class BufferedReader maka perlu mengimpor dari package java.io.* danmenambahkan statemen throws IOException pada header method main.Contoh :import java.io.*;class CobaInput1{public static void main (String []args) throws IOException{BufferedReader br new BufferedReader (new InputStreamReader(System.in));String nama, kota;System.out.print(“Nama Anda : ”);nama br.readLine();System.out.print(“Kota Asal : ”);kota br.readLine();System.out.println(“Selamat Datang ” nama “ dari ” kota);}}b) Inputan dengan memanfaatkan class JOptionPane.Untuk bisa menggunakan class JoptionPane, maka perlu mengimpor dari packagejavax.swing.* dan gunakan method showInputDialog() yang terdapat pada class JOptionPane.Contoh :import javax.swing.*;class CobaInput2{ public static void main (String [] args){ String nama, kota;nama JOptionPane.showInputDialog(“Nama Anda :”);kota JOptionPane.showInputDialog(“Kota Asal :”);System.out.println(“Selamat Datang ” nama “ dari ” kota);System.exit(0);}}Catatan :Semua data yang diinputkan dianggap sebagai suatu nilai String meskipun data tersebut hanyaterdiri atas angka saja. Untuk menampung data yang diinputkan ke dalam variabel bertipe numerik(misal : int, long, double), maka data harus terlebih dahulu diubah ke tipe data numerik.2
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangContoh :String sAngka;int a Integer.parseInt(sAngka);long b Long.parseLong(sAngka);double c Double.parseDouble(sAngka);Silahkan coba source code dibawah ini:Kendaraan.java3
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMobil.javaMainMobil.java4
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 5LATIHAN SOAL1. Buatlah aplikasi rental VCD sederhana sebagai berikut:Masukkan data VCD Film sebanyak X kaliJudul : judul film.Aktor : nama-nama aktor di dalam film tersebut.Sutradara : nama sutradara film tersebut.Publisher : yang memproduksi film tersebut.Kategori : SU Semua Umur, D Dewasa, R Remaja, A Anak-anakStok : jumlah stok VCD film tersebut.Judul, Aktor, Sutradara, Publisher, Kategori dan Stok dilooping sebanyak X kali.Desainlah aplikasi rental VCD tersebut dengan konsep inheritance dan tentukan parent class sertachild class-nya. Setelah itu, implementasikan class-class yang telah didesain dengan membuatprogram sederhana yang memiliki fasilitas entri data VCD film dan melihat daftar VCD film yangtelah dientrikan.1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 6CONSTRUCTOR6.1 ConstructorConstructor adalah method yang secara otomatis dipanggil/dijalankan pada saat sebuahclass diinstansiasi. Jika dalam sebuah class tidak terdapat constructor maka secara otomatis Javaakan membuatkan sebuah default constructor. Nama constructor harus sama dengan nama class dantidak boleh memiliki tipe return value.Sama halnya dengan method, constructor dapat memiliki satu atau banyak parametermaupun tanpa parameter. Constructor biasanya digunakan untuk memberi nilai awal dari atributatribut class tersebut.Keyword “super” digunakan oleh subclass untuk memanggil constructor, atribut danmethod yang ada pada superclass-nya.Contoh untuk memanggil constructor milik superclass-nya :super()super(parameter)Contoh untuk memanggil atribut dan method milik superclass-nya :super.namaAtributsuper.namaMethod(parameter)6.2 Static Method dan Static Property vs Variable InstantStatic property dan static method adalah property (variabel) dan method (function) yangmelekat kepada class, bukan kepada objek. Konsep static property memang ‘agak keluar’ darikonsep objek sebagai tempat melakukan proses, karena sebenarnya class hanya merupakan‘blueprint’ saja.Untuk membuat static property dan static method, kita menambahkan keyword ‘static’setelah penulisan akses level property atau method, seperti contoh berikut:public static String pemilik;public static void keterangan pemilik(String pemilik) { . }Dalam contoh diatas menggunakan hak akses public, tetapi kita juga bisa menggunakan hak akseslain seperti private dan protected untuk static property dan static method.1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangKarena static property dan static method adalah milik class, maka kita tidak perlu membuatobjek untuk mengaksesnya, tapi langsung menyebutkan nama class, berikut adalah contohpengaksesan static property dan static method dari sebuah class.ConstructorMotor.pemilik "Ahmad Afif";ConstructorMotor.keterangan l yang dideklarasikan dengan tidak menggunakan keyword “static”, makavariabel tersebut disebut dengan instant variabel (atau variabel instant).a)Jika sebuah variable merupakan variable instant, maka masing-masing objek dari class tersebutakan memiliki variable yang sama dengan variable instant tersebut, perubahan nilai yangterjadi pada variable instant di satu objek tidak akan berpengaruh pada variable instant di objekyang berbeda.b) Jika sebuah variable merupakan variable static (pada suatu class), maka variabel static tersebutadalah variabel yang sama di semua objek dari class tersebut. Sehingga perubahan nilai padavariabel static tersebut di suatu objek akan berpengaruh juga terhadap objek yang lainnya.c)Nilai suatu variabel static akan selalu sama untuk semua instant of class (atau objek) darisebuah class.Sebuah variable dideklarasikan static apabila variable tersebut bersifat global bagi semua objekdari suatu class. Contohnya adalah variable yang menyimpan nilai jumlah objek yang telah dibuat.2
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangSilahkan coba source code dibawah ini :ConstructorKendaraan.java3
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangConstructorMotor.java4
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMainConstructorMotor.java5
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 6LATIHAN SOAL1. Buatlah aplikasi Data Mahasiswa sebagai berikut:a) Masukkan Nama Universitas! Buat static variable dan static method setter getter-nya!b) Masukkan data mahasiswa1) NIM2) NAMA3) ALAMAT4) JURUSAN :61 MATEMATIKA, 62 BIOLOGI, 63 KIMIA, 64 FISIKA,65 TEKNIK INFORMATIKA, 66 TEKNIK ARSITEKTURApakah Anda ingin memasukkan data lagi ? (Y) Ya ; (T) TidakJika user memasukkan “Y”, maka lanjut untuk memasukkan data mahasiswa lagi dan jikauser memasukkan data “T”, maka aplikasi berhenti.Desainlah aplikasi Data Mahasiswa tersebut dengan konsep enkapsulasi, constructor daninheritance (tentukan parent class dan child class). Setelah itu, implementasikan class-class yangtelah didesain dengan membuat program sederhana yang memiliki fasilitas entri data Mahasiswadan melihat daftar Mahasiswa yang telah dimasukkan.1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 7POLIMORFISME7.1 PolimorfismePolimorfisme mempunyai makna sesuatu yang memiliki banyak bentuk, yaitu memilikinama sama, tetapi memiliki kelakuan (behaviour) yang berbeda.Perhatikan gambar diagram di atas !Class Bentuk yang merupakan class induk (superclass) dari class Lingkaran, Elips danSegitiga mempunyai method gambar() dan hapus(). Class-class anak (subclass) juga mempunyaimethod gambar() dan hapus(). Meskipun keempat class tersebut mempunyai nama method yangsama, tetapi isi (source code/yang dilakukan/output) dari masing-masing method tersebut berbeda.Jika kita menginginkan sebuah objek yang dapat memanggil setiap method (yaitu methodgambar & hapus) yang ada pada setiap class (pada superclass maupun subclass), maka gunakanlahteknik Polimorfisme. Polimorfisme hanya berlaku pada method dan tidak berlaku untuk atribut.Untuk mendapatkan operasi Polimorfisme dari suatu method, maka method tersebutharuslah merupakan method yang ada di class induk (lihat diagram diatas bahwa method gambar()dan hapus(), selain terdapat di class-class turunan class Bentuk, juga terdapat di class Bentuk).1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangContoh source code implementasi Polimorfisme :Bentuk.javaLingkaran.javaSegitiga.javaElips.java2
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangCetakgambar.javaPada class Cetakgambar terdapat variabel/objek obj yang bertipe class Bentuk. Maka dapatdikatakan bahwa variabel obj dapat berperan sebagai Lingkaran, Elips, atau Segitiga. Hal inididasarkan bahwa pada kenyataannya setiap objek dari class Induk (superclass) dapat berperansebagai class-class turunannya sebagaimana sepeda motor adalah kendaraan, pelajar danmahasiswa adalah orang/manusia.Perhatikan bahwa Polimorfisme tidak sama dengan overloading !!!7.2. Method OverridingOverriding method adalah kemampuan dari subclass untuk memodifikasi method darisuperclass-nya, yaitu dengan cara menumpuk (mendefinisikan kembali) method superclass-nya.Contoh overriding method dapat dilihat pada class-class turunan dari class Bentuk yangmendefinisikan kembali method gambar() dan method hapus() dari class induknya.3
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 7LATIHAN SOAL1. Buatlah aplikasi penjumlahan, pengurangan, perkalian dan pembagian menggunakan konsep polimorfisme denganmemasukkan parameter bilangan A 10.5 dan bilangan B 0.5 !Class OperasiBilanganprotected double a,b,cprotected void set A(double a)protected void set B(double b)protected void set C()protected double get A()protected double get B()protected double get C()protected void tampil()Class OperasiPenjumlahanprotected double a,b,cprotected void set A(double a)protected void set B(double b)protected void set C()protected double get A()protected double get B()protected double get C()protected void tampil()Class OperasiPenguranganprotected double a,b,cprotected void set A(double a)protected void set B(double b)protected void set C()protected double get A()protected double get B()protected double get C()protected void tampil()Class OperasiPerkalianprotected double a,b,cprotected void set A(double a)protected void set B(double b)protected void set C()protected double get A()protected double get B()protected double get C()protected void tampil()1Class OperasiPembagianprotected double a,b,cprotected void set A(double a)protected void set B(double b)protected void set C()protected double get A()protected double get B()protected double get C()protected void tampil()Class OperasiBilanganCetakprivate voidcetakSemua(OperasiBilangan[]OB,double a,double b)
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 8FINAL & ABSTRACT8.1 Final Method dan Final ClassKeyword “final” digunakan untuk mencegah suatu class diturunkan atau suatu method dioverridding atau suatu variable diubah.Sintaks penggunaan keyword “final” pada class :akses modifier final namaClassSintaks penggunaan keyword “final” pada method :akses modifier final tipeMethod namaMethod(){. // definisi method}Sintaks penggunaan keyword “final” pada variable (konstanta) :akses modifier final tipeData namaVariable8.2. Abstract Class dan Abstract MethodAbstract Class adalah sebuah class yang tidak bisa di-instansiasi (tidak bisa dibuatmenjadi objek) dan berperan sebagai ‘kerangka dasar’ bagi class turunannya. Di dalam abstractclass umumnya akan memiliki abstract method. Cara untuk membuat sebuah abstract classadalah :akses modifier abstract class namaClassAbstrak{}. // definisi classAbstract Method adalah sebuah ‘method dasar’ yang harus diimplementasikan ulang didalam class anak (child class). Abstract method ditulis tanpa isi dari method, melainkan hanya‘signature’-nya saja. Signature dari sebuah method adalah bagian method yang terdiri dari namamethod dan parameternya (jika ada). Cara untuk membuat sebuah abstract method adalah :abstract void move(double x, double y);Abstract class digunakan di dalam inheritance (pewarisan class) untuk ‘memaksakan’implementasi method yang sama bagi seluruh class yang diturunkan dari abstract class. Abstractclass digunakan untuk membuat struktur logika penurunan di dalam pemrograman objek.1
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangJava memiliki aturan-aturan dalam penggunaan method abstrak dan class abstrak sebagaiberikut:a) Class yang di dalamnya terdapat abstract method harus dideklarasikan sebagai abstract class.b) Abstract class tidak dapat diinstansi, tetapi harus di turunkan.c) Abstract class tidak dapat diinstansi (menjadi objek dari class abstract), tetapi kita dapatmendeklarasikan suatu variable yang bertipe abstract class dan membuat instansi darivariabel tersebut yang bertipe class turunan dari abstract class tersebut (teknikpolymorphism).d) Sebuah class dapat dideklarasikan sebagai abstract class meskipun class tersebut tidakmemiliki abstract method.e) Abstract method tidak boleh mempunyai body method dan demikian juga sebaliknya bahwamethod yang tidak ditulis body methodnya maka harus dideklarasikan sebagai abstractmethod.Contoh source code :Laptop.java 2
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangLaptopAsus.javaLaptopDell.java3
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangLaptopToshiba.javaLaptopCetak.java4
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 8LATIHAN SOAL1. Buatlah aplikasi penjumlahan, pengurangan, perkalian dan pembagian menggunakan konsep abstract, final danpolimorfisme dengan memasukkan parameter bilangan A 6.5 dan bilangan B 0.5 !abstract class OperasiBilanganAbsprotected double a,b,cprotected abstract void set A(double a)protected abstract void set B(double b)protected abstract void set C()protected abstract double get A()protected abstract double get B()protected abstract double get C()protected abstract void tampil()class OperasiPenjumlahanProtected double a,b,cprotected void set A(double a)protected void set B(double b)protected void set C()protected double get A()protected double get B()protected double get C()protected void tampil()class OperasiPenguranganprotected double a,b,cprotected void set A(double a)protected void set B(double b)protected void set C()protected double get A()protected double get B()protected double get C()protected void tampil()class OperasiPerkalianprotected double a,b,cprotected void set A(double a)protected void set B(double b)protected void set C()protected double get A()protected double get B()protected double get C()protected void tampil()1class OperasiPembagianprotected double a,b,cprotected void set A(double a)protected void set B(double b)protected void set C()protected double get A()protected double get B()protected double get C()protected void tampil()final class OperasiBilanganAbsCetakprivate voidcetakSemua(OperasiBilanganAbs[]OB,double a,double b)
Modul Praktikum Pemrograman Berorientasi ObyekJurusan Teknik InformatikaUIN Maulana Malik Ibrahim MalangMODUL 9INTERFACE9.1 Pengertian Object InterfaceSecara sederhana, Object Interface adalah sebuah ‘kontrak’ atau perjanjian implementasimethod. Bagi class yang menggunakan object interface, class tersebut harus mengimplementasikanulang seluruh method yang ada di dalam interface. Dalam pemrograman objek, penyebutan objectinterface sering disingkat dengan ‘Interface’ saja.Jika anda telah mempelajari abstract class, maka interface bisa dikatakan sebagai bentuklain dari abstract class. Walaupun secara konsep teoritis dan tujuan penggunaannya berbeda. Samaseperti abstract class, interface juga hanya berisi signature dari method, yakni hanya nama methoddan parameternya saja (jika ada). Isi dari method akan dibuat ulang di dalam class yangmenggunakan interface.Jika kita menganggap abstract class sebagai ‘kerangka’ atau ‘blue print’ dari class-classlain, maka interface adalah implementasi method yang harus ‘tersedia’ dalam sebuah objek.Interface tidak bisa disebut sebagai ‘kerangka’ class.Jika terdapat class komputer, interface bisa dicontohkan dengan ‘mou
Method adalah kumpulan program yang mempunyai nama. Program harus dibungkus dalam method. Dengan method kita bisa memanggil kumpulan program hanya dengan memanggil . asatuan,danharga(stokx hargasatuan)alattulistersebut!(40point) b.