Enkapsulasi. Praktikum 7

dokumen-dokumen yang mirip
Pemrograman Berbasis Objek. Politeknik Elektronika Negeri Surabaya

Praktikum Enkapsulasi

Praktikum 6 Class Design (Encapsulation)

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

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

Class & Object 2. Imam Fahrur Rozi

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

Dasar-Dasar OOP di Java

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

ENKAPSULASI Data Hiding

Pemrograman Berorientasi. Class dan Obyek 2

Dasar-Dasar OOP di Java

Jobsheet 09. Overloading and Overriding Method

Membuat dan Menggunakan Class

ENKAPSULASI. 1. Kompetensi Setelah kegiatan perkuliahan selesai, mahasiswa diharapkan dapat:

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Konsep Inheritance. Praktikum 8 Pemrograman Berbasis Obyek

Praktikum 7. Dasar-dasar OOP di Java

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Bahasa Pemrograman II Modul 1 : Pemrograman Berbasis Objek

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

subclass class manapun private default protected public package yang sama

ENKAPSULASI PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle. Teknik Informatika PTIIK UB Semester Genap 2015/2016

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi Obyek. Ramos Somya

Pengenalan JavaScript

Politeknik Elektronika Negeri Surabaya

A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree

Pertemuan 11 Object Oriented Program

Pemrograman Fery Updi,M.Kom

BAB V. STATEMEN KONTROL

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

Polymorphism. Oleh : Agus Priyanto, M.Kom

UNIVERSITAS GUNADARMA

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

INTERAKSI ANTAR OBJECT

Modul Praktikum 3 Pemograman Berorientasi Objek

MODUL 6. PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (II) dan STRING

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Pengenalan pemrograman berorientasi obyek

Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

Understanding Class Definition. Viska Mutiawani, M.Sc

MODUL 2 Constructor. Tujuan: Mahasiswa dapat mengenal dan memahami konsep constructor dan overloading constructor

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Modul 2. [access specifier] [tipe data] [nama variabel];

Other OOP Basic. Viska Mutiawani, M.Sc

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

PERTEMUAN 12 TAHAPAN PERANCANGAN BERORIENTASI OBJEK

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

Other OOP Basic. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

Understanding Class Definition

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

PEMROGRAMAN BERORIENTASI OBJEK

Enkapsulasi. Politeknik Elektronika Negeri Surabaya. Enkapsulasi. public void Info() { System.out.println( Saya siswa PENS );

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

PEWARISAN D E W I S A R T I K A, M. K O M

I. Tujuan Instruksional Umum Komunikasi antar objek pada kelas yang berbeda Memahami berbagai macam modifier dan karakteristiknya II.

Dasar Pemrograman Java

PRAKTIKUM I Class dan Obyek

Modul II Object Oriented Programming

Bahasa Pemograman II. Object Oriented Programming

Paradigma Pemrograman Berorientasi Objek

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra

Bab 8. Dasar-Dasar OOP

Praktikum 3 Konsep Class, Attribute dan Method

UML (Unified Modelling Language)

Topik. 1. Statement if 2. Statement if..else.. 3. Statement if..else.. If (bertingkat ) 4. Penggunaan Input Keyboard

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

Pemrograman Dasar C. Minggu 6

Pengenalan pemrograman berorientasi obyek. Politeknik Elektronika Negeri Surabaya. Topik

IKG2I4 / Software Project I

Object Oriented Programming 1

public class B extends A {... }

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

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

Permainan Remi Sederhana

Gambar 1. Single Linked List

Pemrograman Berbasis Objek. Enkapsulasi. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

MODUL C++ II. Operator

Employee employee=new Manager();

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

24/09/2017 PERCABANGAN

Pengenalan Obyek. Arna Fariza. Materi

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

Praktikum KPLBO Collection I

Gambar 17.1Representasi Sebuah Node di Double Linked List. Gambar 17.2 Double Linked List

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if

Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

Deklarasi atribut dapat dilakukan dengan sintaks sebagai berikut:

I. Tujuan Instruksional Umum Mengenal konsep dasar berorientasi objek Memahami dan dapat mengimplementasikan Kelas dan Objek pada java.

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript

KUM 3 IMPLEMENTASI LIST

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

PERTEMUAN 11 KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Transkripsi:

Enkapsulasi Praktikum 7

Enkapsulasi & Abstraksi Data Tujuan : mengetahui tujuan enkapsulasi dan abstraksi data. Membuat kelas dalam tiga tahap yang mendemonstrasikan penggunaan information hiding.

Versi 1: Tidak ada information hiding Gambar 3.1 UML class diagram of Vehicle with no Hiding

Versi 1: Tidak ada information hiding Pada versi 1 ini, Vehicle class berisi atribut yang mempunyai modifier public, sehingga TestVehicle1 sebagai test program mempunyai akses langsung terhadap atribut pada Vehicle.

Versi 1: Lakukan langkah-langkah berikut: Buatlah Vehicle class yang mengimplementasikan UML diagram yang telah diberikan pada gambar 3.1. a. Tambahkan dua buah atribut yang bertipe public: load (the current weight of the vehicle s cargo) dan maxload (the vehicle s maximum cargo weight limit). b. Tambahkansatubuahkonstruktoryang bertipepublic, yang digunakan untuk mengeset nilai atribut maxload. c. Tambahkan dua buah methods yang bertipe public: getload (untuk mendapatkan nilai atribut load) dan getmaxload (untuk mendapatkan nilai atribut maxload). Note: Semua data diasumsikan dalam satuan kilogram

Versi 1: Setelah selesai dengan Vehicle.java, ketik program TestVehicle.java berikut:

Versi 1: tes TestVehicle.java Kompile Vehicle dan TestVehicle. Jalankan TestVehicle, seharusnya keluar tampilan sebagai berikut: TROUBLE

Versi 1: Resume Perhatikan bahwa pada TestVehicle, dibuat Vehicle dengan kapasitas maksimum 10.000 kg. Tetapi pada program selanjutnya terdapat penambahan boxes yang melebihi kapasitas (10.050 kg) trouble. Kenapa trouble? Karena tidak ada pengecekan kapasitas maksimum sehingga vehicle nya kelebihan kapasitas. Untuk mengatasi hal ini lanjutkan ke praktikum versi 2.

Versi 2: Dengan menggunakan information hiding Gambar 3.2 UML class diagram of vehicle with information hiding

Versi 2: Dengan menggunakan information hiding Untuk menyelesaikan masalah versi 1, sebaiknya kita menyembunyikan data internal (load dan maxload) dan menyediakan method, addbox, sebagai fasilitas pengecekan terhadap maxload supaya tidak terjadi kelebihan kapasitas.

Versi 2: Dengan menggunakan information hiding Kopi Vehicle.java dan lakukan modifikasi untuk mengimplementasikan UML diagram pada gambar 3.2. Vehicle1.java: Lakukan modifikasi terhadap atribut load dan maxload jadikan pertipe private. Tambahkan method addbox. Method ini mempunyai satu argumen yaitu weight dalamsatuankilogram. Method addbox harus melakukan pengecekan terhadap penambahan box agar jangan sampai melebihi kapasitas maksimum. Bila terjadi pelanggaran terhadap kapasitas maksimum, maka penambahan box di tolak dan mengembalikan nilai false; jika tidak terjadi pelanggaran terhadap batas maksimum maka weight dari box diterima dan ditambahkan pada vehicle dan mengembalikan nilai true. Lanjutkan

Versi 2: Dengan menggunakan information hiding Hint: Gunakan statement if else untuk melakukan pengecekan terhadap kapasitas maksimum. Contoh: if (<boolean_expression>) { <statement> } else { <statement> }

Versi 2: Setelah selesai dengan Vehicle1.java, ketik program TestVehicle1.java berikut

Versi 2: tes TestVehicle1.java Kompile Vehicle1 dan TestVehicle1. Jalankan TestVehicle1, seharusnya keluar tampilan sebagai berikut:

Versi 2: Resume Pada versi 2, pada penambahan box ke 5 terjadi kelebihan kapasitas maksimal sehingga method addbox mengembalikan nilai false, dalam arti bahwa terjadi penolakan terhadap penambahan box ke 5.

Versi 3. Konversi weight dari kilogram ke newton Gambar 3.3 UML class diagram of vehicle demonstrating encapsulation

Versi 3. Konversi weight dari kilogram ke newton Melakukan perhitungan yang mengubah satuan kapasitas box dari kilogram ke newton dengan menggunakan konsep enkapsulasi.

Versi 3: Lakukan langkah-langkah berikut: Buatlah Vehicle2.java yang merupakan implementasi dari diagram UML pada gambar 3.3. (bisa kopi dari Vehicle1.java). Dan lakukan modifikasi sebagai berikut: Modifikasi pada konstruktor dan pada method method : getload dan getmaxload, dan addbox dengan tujuan untuk menambahkan fasilitas konversi dari kilogram (kilogram ini merupakan argumen pada konstruktor dan method-method tersebut) ke newton.

Versi 3: Lakukan langkah-langkah berikut: Tambahkan method untuk konversi sebagai berikut: private double kilotonewts(double weight){ return (weight * 9.8); } private double newtstokilo(double weight){ return (weight / 9.8); } Note: perhatikan bahwa secara eksternal data berat dalam satuan kilogram, tetapi secara internal terjadi konversi menjadi newton. Konversi ini terjadi pada saat pemanggilan method kilotonewts() dan newtstokilo().

Versi 3: Ketik TestVehicle2.java berikut ini

Versi 3: tes TestVehicle2.java Kompile Vehicle2 dan TestVehicle2. Jalankan TestVehicle2, seharusnya keluar tampilan sebagai berikut:

Versi 3: Resume Tampak pada output bahwa tidak ada perbedaan hasil dengan TestVehicle1. Hal ini terjadi karena konversi dilakukan secara tersembunyi konsep enkapsulasi. Hal ini mengakibatkan kita tidak perlu merubah code pada TestVehicle2.java.