LAPORAN 4 ENKAPSULASI PBO PEMROGRAMAN

Gratis

0
10
18
2 years ago
Preview
Full text
LAPORAN IV PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berorientasi Objek Yang Dibimbing oleh Bapak Heru Wahyu Herwanto, S.T., M.Kom Asisten Praktikum : Roby Wahyudi Jevri T.A Oleh : Ananda Putri Syaviri 130533608243 S1 PTI 2013 offering B UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO S1 PENDIDIKAN TEKNIK INFORMATIKA Oktober, 2014 LAPORAN KE-4 ”ENCAPSULATION” A. TUJUAN Mahasiswa mampu memahamai dan menggunakan konsep Encapsulation dalam pemrograman java. B. DASAR TEORI a. Encapsulation(Enkapsulasi) Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi, yakni : b. Information Hiding Adalah proses yang menyembunyikan informasi dari suatu class sehingga class tersebut tidak dapat diakses dari luar. Yaitu dengan memberikan akses kontrol “private” ketika mendeklarasikan atribut atau method. c. Interface to Acces data Adalah cara melalukan perubahan terhadap atribut yang di information hiding yaitu dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut. d. Mutator dan Accessor method  Accessor Methods digunakan untuk membaca nilai variabel pada class, baik berupa instance maupun static.  Mutator Methods di gunakan untuk mengubah atau memberi nilai variable pada class, baik berupa instance maupun static. C. LATIHAN  Latihan 1 : Screenshoot syntax : Screenshoot Jawaban : Keterangan : Dalam kelas Bus : - terdapat method cetak - terdapat deklarasi variable penumpang dan maxPenumpang bertipe integer. Dalam kelas UjiBus : - terdapat menu utama yang didalamnya terdapat : Deklarasi pembuatan objek baru yaitu busMini dengan memasukkan nilai jumlah penumpang dan penumpang maksimal serta pemanggilan method cetak yang ada pada kelas Bus. Penambahan penumpang pada busMini serta pemanggilan method cetak pada kelas Bus. Pengurangan penumpang apabila penumpang yang naik melebihi batas yang telah dideklarasikan pada objek busMini. Penambahan jumlah penumpang (total penumpang yang naik) serta pemanggilan method cetak pada kelas Bus.  Analisis perbandingan jumlah penumpang Bus terakhir dengan jumlah penumpang maksimum. Mengapa bisa demikian? Program diatas pada dasarnya hanya mencetak nilai variable (sebagai angka penumpang) yang telah dideklarasikan , tidak berfungsi untuk menghitung atau menenetukan batas maximal penumpang yang akan naik. Alur prosesnya hanya menambahkan penumpang , sudah ada angka batas maksimum tetapi tidak berfungsi untuk pembatasan dalam artian penumpang tidak boleh naik apabila penumpang dalam bus sudah melampaui batas max yang telah dideklarasikan, sehingga tidak dapat membatasi penumpang yang akan naik bus, hanya sebagai pendeklarasian bahwa bus tersebut batas maksimum penumpang adalah 15.  Latihan 2 : Screenshoot syntax : Screenshoot Jawaban : Keterangan : Dalam kelas Bus 2 : - terdapat method cetak - method getPenumpang untuk mengambil nilai - method mutathor dengan kata kunci "add" untuk menambahkan penumpang. - terdapat konstruktor kelas Bus - terdapat pendeklarasian variabel bertipe int ( penumpang, maxPenumpang) yang bersifat private. Dalam kelas UjiBus2 : - terdapat fungsi utama yang didalamnya pendeklarasian pembuatan objek baru untuk menambahkan kuota penumpang dalam bus "busBesar". terdapat fungsi penambahan penumpang untuk menambahkan 15, 5, 26 penumpang serta pemanggilan method cetak pada kelas Bus2. Penjelasan dari UjiBus 2 : Membuat objek baru dengan nama busBesar dengan kuota 40, cetak nilai awal, dengan kondisi penumpang sekarang = 0 dan maxPenumpang = 40. Kemudian dengan fungsi penambahan penumpang bernilai 15, maka + 15, jadi 0+15=15, sehingga penumpang menjadi = 15 dan maxPenumpang tetap karena masih dibawah batas nilai yaitu 40. Kemudian penambahan penumpang sebanyak 5, maka +5 sehingga 15+5=20, penumpang sekarang = 20 dan maxPenumpang tetap. Fungsi terkahir penambahan penumpang sebanyak 26, maka + 26, menghasilkan 20+26 = 46 (20 adalah jumlah penumpang terakhir setelah dilakukan penambahan pada fungsi kedua sebanyak 5 penumpang). Jumlah yang dihasilkan melebihi maxPenumpang yang ditentukan yaitu 40, maka program mencetak “Penumpang melebihi kuota” yang sebelumnya dideklarasikan pada kelas Bus2, dan akan mencetak nilai yang terakhir sebelum 26 ditambahkan yaitu penumpang sekarang = 20 dan maxPenumpangnya tetap. Analisis perbedaan latihan 1 dan latihan 2: Perbedaannya : terletak pada eksekusi maks penumpang. Jika pada latihan 1 hanya mendeklarasikan tanpa melakukan pembatasan, pada latihan 2 terdapat pengkondisian jika jumlah penumpang ( total penumpang dalam bus) melebihi batas maxPenumpang maka akan muncul pemberitahuan “Penumpang melebihi kuota”,  Latihan 3 Screenshoot syntax : : import java.io.*; public class Bus3 { private int penumpang; private int maxPenumpang; private int penumpangbaru; private int password; public static String bacainputan() { String baca= " "; InputStreamReader input = new InputStreamReader (System.in); BufferedReader buf = new BufferedReader (input); try { baca = buf.readLine(); } catch ( IOException e ) { System.out.println("Error!"); } return baca; } //konstruktor kelas Bus public Bus3(int maxPenumpang) { this.maxPenumpang = maxPenumpang; penumpang = 0; } public void cetak() { System.out.println("Penumpang Bus yang baru ditambahkan = "+this.penumpangbaru); System.out.println("Penumpang Bus Sekarang adalah "+this.penumpang); System.out.println("Penumpang maksimum "+maxPenumpang); } public void getPenumpang(int password) { System.out.println("Enter Password"); password=Integer.parseInt(bacainputan()); if (password==1103) { System.out.println("Datanya adalah : "); } else { System.out.println("Password salah "); System.out.println("Enter Password"); password=Integer.parseInt(bacainputan()); } } public void addPenumpang(int penumpang){ int temp; penumpangbaru=penumpang; } temp= this.penumpang+penumpang; if(temp>=maxPenumpang){ System.out.println("Penumpang melebihi kouta"); } else{ this.penumpang=temp; } } Screenshoot Jawaban : Keterangan : Dalam kelas Bus3 : - Terdapat import java.io.* yang berfungsi sebagai fungsi inputan sehingga nanti saat program dieksekusi berfungsi untuk menginputkan data secara manual melalui keyboard. - Terdapat pendeklarasian variable bertipe int ( penumpang, maxPenumpang, penumpangbaru, password). - Terdapat method bacainputan bertipe string. - Terdapat kostruktor kelas Bus3. - Method cetak, getPenumpang dengan pengaplikasian password, addPenumpang(menambahkan penumpang). Dalam kelas UjiBus3 : - Terdapat fungsi utama yang didalamnya terdapat : * pendeklarasian pembuatan objek baru bernama busBesar dengan kuota penumpang 40 yang dideklarasikan dalam kurung “(40)”. * pendeklarasian fungsi addPenumpang, getPenumpang dengan nilai kuota yang berbeda ( menambah dan mengubah nilai) busBesar.addPenumpang(15); busBesar.getPenumpang(123); busBesar.cetak(); busBesar.addPenumpang(5); busBesar.getPenumpang(123); busBesar.cetak(); busBesar.addPenumpang(26); busBesar.getPenumpang(123); busBesar.cetak(); busBesar.addPenumpang(26); busBesar.getPenumpang(444); busBesar.cetak(); D. TUGAS PRAKTIKUM  Tugas 1 : Syntax : public class UjiBus4 { public static void main(String[]args){ //membuat objek busBesar dari class Bus Bus4 busBesar = new Bus4(40); busBesar.getPenumpang(15); busBesar.getPenumpang(5); busBesar.getPenumpang(26); busBesar.getAverage(); } } Screenshoot hasil : Keterangan : Dalam kelas Bus4 : - Terdapat pendeklarasian variable bertipe int ( penumpang, maxPenumpang, penumpangbaru) double(counter). - Terdapat konstruktor Bus4 - Terdapat method mutator addPenumpang (menambah) dan getPenumpang (mengambil nilai) dengan adanya pengkondisian jika kondisi salah atau benar. - Terdapat method getAverage untuk menghitung rata- rata jumlah penumpang yang ditambahkan. - Terdapat method cetak Dalam kelas UjiBus4: - Terdapat fungsi utama yang didalamnya terdapat pendeklarasian pembuatan objek baru “busBesar” dan pemanggilan fungsi getPenumpang dengan nilai kuota yang berbeda (15,5,26) dan getAverage yang ada pada kelas Bus4. E. TUGAS RUMAH 1) Program Tabung Syntax : Tabung.java public class Tabung { private double jarijari; private double tinggi; public void setJarijari(double jari) { this.jarijari = jari; } public void setTinggi(double tinggi) { this.tinggi = tinggi; } //method untuk menampilkan Diameter public void showDiameter() { double Diameter = this.jarijari * 2; System.out.println("Diameter "+Diameter); } = //method untuk menampilkan LuasPermukaan public void showLuasPermukaan() { double LuasPermukaan = 2 * Math.PI * this.jarijari * (this.jarijari + this.tinggi); System.out.println("Luas Permukaan Tabung= "+ LuasPermukaan); } //method untuk menampilkan Volume public void showVolume() { double Volume = Math.PI * this.jarijari * this.jarijari * this.tinggi; System.out.println("Volume Tabung = "+ Volume); } public void cetak() { System.out.println("Jari-jari "+this.jarijari); System.out.println("Tinggi "+this.tinggi); } = = public class UjiTabung { public static void main(String[] args) { //membuat objek baru TabungKecil Tabung TabungKecil = new Tabung(); //mengatur jari-jari dan tinggi TabungKecil.setJarijari(10); TabungKecil.setTinggi(5); //memanggil showDiameter, showLuasPermukaan, showVolume System.out.println("\nTabung Kecil"); TabungKecil.cetak(); TabungKecil.showDiameter(); TabungKecil.showLuasPermukaan(); TabungKecil.showVolume(); //membuat objek baru TabungBesar Tabung TabungBesar = new Tabung(); //mengatur jari-jari dan tinggi TabungBesar.setJarijari(20); TabungBesar.setTinggi(10); //memanggil showDiameter, showLuasPermukaan, showVolume System.out.println("\nTabung Besar"); TabungBesar.cetak(); TabungBesar.showDiameter(); TabungBesar.showLuasPermukaan(); TabungBesar.showVolume(); } } Screenshoot jawaban : Keterangan Dalam kelas Tabung : : - Terdapat pendeklarasian variable bertipe double dengan private (jarijari, tinggi). - Terdapat method setJarijari ( mengubah nilai). - Terdapat method showDiameter (menampilkan diameter). - Terdapat method showLuasPermukaan (menampilakn luas permukaan). - Method showVolume( menampilkan volume). - Method cetak. Dalam kelas UjiTabung : - Terdapat fungsi utama yang didalamnya terdapat pendeklarasian pembuatan objek baru “TabungKecil”. - Fungsi untuk mengatur jajrijari dan tinggi . - Pemanggilan fungsi untuk menampilkan diameter, luas permukaan, volume pada pengapplikasian TabungKecil. - Pendeklarasian pembuatan objek baru “TabungBesar”. - Pemanggilan fungsi untuk menampilkan diameter, luas permukaan, volume pada pengapplikasian TabungBesar. 2) Program Syntax : Screenshoot jawaban : Keterangan F. : KESIMPULAN: 1. Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class 2. Methode Accecor untuk membaca nilai yang diberikan sedangkan Methode Mutator untuk mengatur nilai yang diberikan 3. Metodhe Accecor dan Mutator digunakan apabila variabel yang ada di class induk bersifat private, jadi untuk mengakses variabel yang private itu digunakanlah methode accecor dan methode mutator 4. Nama pada metode accecor tidak hanya get, namun boleh diberi nama terserah si pembuat program, begitu juga dengan nama metode mutator, tidak hanya set tapi boleh diganti sesuai selera para pembuat program namun yang perlu diperhatikan adalah fungsi dari kedua methode tersebut, jadi boleh mengganti namanya asalkan paham apa fungsi dari kedua methode tersebut 5. Kalau kita ingin mengatur inputan user dengan konsep enkapsulasi, kita bisa meminta bantuan scanner untuk memasukkan data. 6. Apabila kita telah mengatur, misalnya panjang, maka panjang akan muncul sesuai dengan apa yang telah kita atur, namun apabila kita mengatur kembali panjang tersebut maka yang akan muncul adalah pengaturan yang terbaru, begitu seterusnya sampai pengaturan itu selesai. G. DAFTAR PUSTAKA  Tim Asisten Dosen. 2014. Modul 4 ENCAPSULATAION .Malang: Universitas Negeri Malang.

Dokumen baru