Praktikum 7. Dasar-dasar OOP di Java

dokumen-dokumen yang mirip
A. TUJUAN PEMBELAJARAN 1. Memahami konsep package dan import 2. Menggunakan kata kunci this

Dasar-Dasar OOP di Java

Praktikum 6 Class Design (Encapsulation)

Dasar-Dasar OOP di Java

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

Percobaan 5 Paket dan Import, Interface

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Bab 8. Dasar-Dasar OOP

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

INTERAKSI ANTAR OBJECT

Politeknik Elektronika Negeri Surabaya

PRAKTIKUM 5 PAKET, IMPORT DAN INTERFACE

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

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

PRAKTIKUM 2 PEMROGRAMAN BERORIENTASI OBJEK

B. DASAR TEORI MENGENAL OBJEK & CLASS

B. DASAR TEORI MENGENAL OBJEK & CLASS

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

Deklarasi atribut dapat dilakukan dengan sintaks sebagai berikut:

MESIN ATM. Gambar 1. Gambar 2

Polymorphism. Oleh : Agus Priyanto, M.Kom

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

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

PRAKTIKUM 2 PEMROGRAMAN BERORIENTASI OBJEK

Class & Object 2. Imam Fahrur Rozi

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

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

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

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

Inheritance dan Kata Kunci static

public class B extends A {... }

Other OOP Basic. Viska Mutiawani, M.Sc

ENKAPSULASI Data Hiding

BAB 3 CLASS DAN OBJECT. Tujuan:

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

MODUL AJAR Program Pendidikan Jarak Jauh D3 Teknik Komputer dan Jaringan

subclass class manapun private default protected public package yang sama

Praktikum KPLBO Class dan Object I

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

UML (Unified Modelling Language)

Inheritance (Pewarisan) Pengertian dasar inheritance

Pertemuan 11 Object Oriented Program

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

Praktikum 3 Konsep Class, Attribute dan Method

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

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

Pengenalan pemrograman berorientasi obyek

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Modul II Object Oriented Programming

Pemrograman Berorientasi. Methods

BAB 12 ENKAPSULASI, INHERITANCE DAN POLIMORPISME

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

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

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

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman II Modul 1 : Pemrograman Berbasis Objek

PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi. Class dan Obyek 2

Praktikum KPLBO Final Object Concept I

Pemrograman Lanjut Review Class dan Object PTIIK

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Enkapsulasi. Praktikum 7

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Praktikum KPLBO Interaksi Objek II

BAB 6 INHERITANCE Tujuan:

MODUL 1. Class, Object, Constructor dan Method

Pengenalan pemrograman berorientasi obyek. Politeknik Elektronika Negeri Surabaya. Topik

MODUL 4. Classes and Objects (part I)

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK (PBO) MODUL 4 PENGKAPSULAN

Class & Sequence Diagram

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

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

MODUL 1 PENGENALAN OOP

PRAKTIKUM I Class dan Obyek

MODUL PRAKTIKUM BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class

KONSTRUKTOR PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi FILKOM UB Semester Genap 2016/2017

Algoritma Pemrograman [BS204]

Pengenalan pemrograman berorientasi iobyek

LAPORAN RESMI INHERITANCE

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

Modul Praktikum Bahasa Pemrograman 1

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

Konsep Inheritance. Praktikum 8 Pemrograman Berbasis Obyek

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

Object Oriented Programming 1

BAB 1 PENGENALAN LINGKUNGAN KERJA JAVA

UNIVERSITAS GUNADARMA

Tipe Data Floating Point Tipe data yng digunakan untuk menampung bilangan desimal

Membuat dan Menggunakan Class

Pemrograman Lanjut. Class : Deeper Look 2

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Pemrograman Berorientasi. Abstract & Interface

Transkripsi:

Praktikum 7 Dasar-dasar OOP di Java Pokok Bahasan Information hiding Enkapsulasi Constructor Overloading construktor Package Import class Kata kunci this Tujuan Belajar Dengan praktikum ini mahasiswa diharapkan dapat: Menerapkan konsep enkapsulasi pada class Mendeklarasikan suatu constructor Memahami konsep package dan import Menggunakan kata kunci this Dasar Teori Kita juga dapat menyembunyikan information dari suatu class sehingga anggota-anggota class tersebut tidak dapat diakses dari luar. Adapun caranya adalah cukup dengan memberikan akses kontrol private ketika mendeklarasikan suatu atribut atau method. Encapsulation (Enkapsulasi) adalah suatu cara untuk menyembunyikan implementasi detail dari suatu class. Enkapsulasi mempunyai dua hal mendasar, yaitu : o information hiding o menyediakan suatu perantara (method) untuk pengaksesan data public void setnrp(int n) { nrp=n; Contructor (konstruktor) adalah suatu method yang pertama kali dijalankan pada saat pembuatan suatu obyek. Konstruktor mempunyai ciri yaitu : o mempunyai nama yang sama dengan nama class o tidak mempunyai return type (seperti void, int, double dll) public Siswa(int n, String m) { nrp=n; nama=m; 1

Suatu class dapat mempunyai lebih dari 1 konstruktor dengan syarat daftar parameternya tidak boleh ada yang sama. Contoh : public Siswa(String m) { nrp=0; nama= ; public Siswa(int n, String m) { nrp=n; nama=m; Package adalah suatu cara untuk memenej class-class yang kita buat. Package akan sangat bermanfaat jika class-class yang kita buat sangat banyak sehingga perlu dikelompokkan berdasarkan kategori tertentu. package it; package telkom; Yang perlu kita perhatikan pada saat deklarasikan package, bahwa class tersebut harus disimpan pada suatu direktori yang sama dengan nama package-nya. Suatu class dapat meng-import class lainnya sesuai dengan nama package yang dipunyainya. import it.siswa; public class IsiData { Satu hal yang perlu kita ketahui, pada saat kita ingin meng-import suatu class dalam suatu package, pastikan letak package tersebut satu direktori dengan class yang ingin meng-import. Kata kunci this sangat berguna untuk menunjukkan suatu member dalam class-nya sendiri. This dapat digunakan baik untuk data member maupun untuk function member, serta dapat juga digunakan untuk konstruktor. Adapun format penulisannya adalah : this.data_member merujuk pada data member this.function_member() merujuk pada function member this() merujuk pada konstruktor public setnrp(int nrp) { Percobaan Percobaan 1 : Menggunakan kata kunci this + nrp : int + nama : String + (nrp : int, nama : String) 2

Dari class diagram tersebut, dapat diimplementasikan ke dalam program sebagai berikut: public class { public int nrp; public String nama; public (int nrp, String nama) { Percobaan 2 : Melakukan enkapsulasi pada suatu class + nrp : int + nama : String + (nrp : int, nama : String) Jika enkapsulasi dilakukan pada class diagram diatas, maka akan berubah menjadi: + (nrp : int, nama : String) + getnrp() : int + getnama(): String + setnrp(nrp : int) + setnama(nama : String) Percobaan 3 : Melakukan overloading constructor Dari class diagram tersebut, dapat diimplementasikan ke dalam program sebagai berikut: public class { public () { nrp=0; nama= ; + () + (nama : String) + (nrp : int, nama : String) 3

public (String nama) { nrp=0; public (int nrp, String nama) { Percobaan 4 : Memakai kata kunci this pada overloading constructor + () + (nama : String) + (nrp : int, nama : String) Dari class diagram tersebut, dapat diimplementasikan ke dalam program sebagai berikut: public class { public () { this(0, ); public (String nama) { this(0,nama); public (int nrp, String nama) { Percobaan 5 : Menggunakan package dan import sekolah Kelas - kodekelas : int - namakelas : String - mahasiswa : + Kelas(kode : int, nama : String) +setmhs(mhs:) has + (nrp : int, nama : String) Dari class diagram tersebut, dapat diimplementasikan ke dalam program dibawah ini. Sebelum melakukan kompilasi, daftarkan direktori tempat package diatas disimpan. 4

package sekolah; public class Kelas { private int kodekelas; private String namakelas; private mahasiswa; public Kelas(int kode,string nama) { this.kodekelas=kode; this.namakelas=nama; package sekolah; public class { public (int nrp,string nama) { public void setmhs( mhs) { this.mahasiswa=mhs; Latihan Latihan 1 : Mengimplementasikan UML class diagram dalam program untuk class Kalender + tanggal : int + bulan : int + tahun : int Kalender Dari class diagram diatas, desainlah suatu class yang memenuhi konsep enkapsulasi. Untuk nilai inisialisasi, dipakai 1-1-2000. Pakailah kata kunci this untuk mempersingkat pengkodean. Lalu jalankan file TesLatihan1.java. Jika tampilan di layar tampak seperti dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program anda. Latihan 2 : Mengimplementasikan UML class diagram dalam program untuk package perbankan perbankan + Kalender(tanggal : int) + Kalender(bulan : int, tahun : int) + Kalender(tanggal : int, bulan : int, tahun : int) Waktu awal : 8-1-2000 1 hari setelah waktu awal : 9-1-2000 Waktu berubah : 1-6-2003 1 bulan setelah itu : 1-7-2003 Waktu berubah : 20-10-2004 1 tahun setelah itu : 20-10-2005 Nasabah - namaawal : String - namaakhir : String - tabungan : Tabungan + Nasabah(namaAwal : String, namaakhir : String) + getnamaawal() : String + getnamaakhir() : String + gettabungan() : Tabungan + settabungan(tabungan : Tabungan) has 1 - saldo : double Tabungan + Tabungan(saldo : double) + getsaldo() : double + simpanuang(jumlah : int) + ambiluang(jumlah : int) : boolean 5

Transformasikan class diagram diatas ke dalam bentuk program? Jalankan file TesLatihan2.class. Jika tampilan di layar tampak seperti dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program anda dan lakukan hal yang sama seperti diatas. Nasabah atas nama : Agus Daryanto Saldo awal : 5000 Jumlah uang yang disimpan : 3000 Jumlah uang yang diambil : 6000 ok Jumlah uang yang disimpan : 3500 Jumlah uang yang diambil : 4000 ok Jumlah uang yang diambil : 1600 gagal Jumlah uang yang disimpan : 2000 Saldo sekarang = 3500 Tugas Tugas 1 : Mengembangkan package perbankan dengan tambahan class Bank perbankan Bank - nasabah : Nasabah[] - jumlahnasabah : int + Bank() + tambahnasabah(namaawal : String, namaakhir : String) + getjumlahnasabah() : int + getnasabah(indeks : int) : Nasabah melayani 0..* Nasabah has 1 Tabungan Transformasikan class diagram diatas ke dalam bentuk program? Jalankan file TesTugas1.class. Jika tampilan di layar tampak seperti dibawah ini, maka program anda sudah benar. Jika tidak sama, benahi kembali program anda dan lakukan hal yang sama seperti diatas. Jumlah nasabah = 4 Nasabah ke-1 : Agus Daryanto ; Saldo = 5000 Nasabah ke-2 : Tuti Irawan ; Saldo = 7000 Nasabah ke-3 : Ani Ratna ; Saldo = 4000 Nasabah ke-4 : Bambang Darwaman ; Saldo = 6500 6