ENKAPSULASI Data Hiding

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

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

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

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

Other OOP Basic. Viska Mutiawani, M.Sc

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

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

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

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

MODUL 4. Classes and Objects (part I)

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

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

UML (Unified Modelling Language)

Modul II Object Oriented Programming

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Class & Object 2. Imam Fahrur Rozi

Dasar-Dasar OOP di Java

Pemrograman Lanjut. Class : Deeper Look 2

INTERAKSI ANTAR OBJECT

Bab 8. Dasar-Dasar OOP

Konsep Dasar Pemrograman Berorientasi Objek

Pemrograman Berorientasi Obyek. Ramos Somya

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

MODUL 1 PENGENALAN OOP

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

Dasar-Dasar OOP di Java

KONSEP OOP: PEWARISAN / INHERITANCE

Konsep Pemrograman Berbasis Obyek

Pertemuan 4 Halaman 1/1. Class Inheritance

Pemrograman Berorientasi

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

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

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

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

IKG2I4 / Software Project I

Object Oriented Programming 1

Pemrograman Berorientasi. Class dan Obyek 2

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

Bahasa Pemrograman 2.

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Praktikum 6 Class Design (Encapsulation)

KONSEP OOP: PEWARISAN / INHERITANCE

Pertemuan 11 Object Oriented Program

PEMROGRAMAN BERORIENTASI OBJEK

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

Praktikum 7. Dasar-dasar OOP di Java

Bahasa Pemrograman I VB.Net. Oleh: Erik Perdana Ibrahim, S.Kom 2011

SILABUS MATA KULIAH PEMROGRAMAN JAVA

UNIVERSITAS GUNADARMA

Review Bahasa Pemrograman Java Konsep OOP N I K O I B R A H I M, M I T F A K U L T A S T E K N O L O G I I N F O R M A S I

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

Bahasa Pemograman II. Object Oriented Programming

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Pemrograman Lanjut. Class dan Object. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

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

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM

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

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

Pemrograman Web. Pemrograman Berorientasi Objek. 8 Adam Hendra Brata

Enkapsulasi. Praktikum 7

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

REKAYASA PERANGKAT LUNAK II

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Pemrograman Berorientasi Objek

Keyword this untuk memanggil private String pengarang; private String judul;

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

Method / Fungsi / Sub Program

Jobsheet 09. Overloading and Overriding Method

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

KONTRAK PEMBELAJARAN (KP) MATA KULIAH. Pemrograman Berorientasi Objek

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

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

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

Inheritance dan Kata Kunci static

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

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

Membuat dan Menggunakan Class

SYLLABUS DAN PENDAHULUAN. Astrid Lestari Tungadi, S.Kom., M.TI.

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Polymorphism. Oleh : Agus Priyanto, M.Kom

TUGAS AKHIR APLIKASI KALKULATOR BOLA BERBASIS JAVA

Pengenalan Algoritma

Object OOP. Polymor phism

Pengenalan pemrograman berorientasi obyek

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

IKG2I4 / Software Project I

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

PRAKTIKUM I Class dan Obyek

Praktikum KPLBO Final Object Concept I

DASAR PEMROGRAMAN. Konsep Pemrograman Berorientasi Objek. Yoannita

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

Pemrograman Lanjut Class, Instance Variable dan Method PTIIK

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

Algoritma Pemrograman [BS204]

PEMROGRAMAN BERORIENTASI OBJEK

MODUL 1. Class, Object, Constructor dan Method

Transkripsi:

PEMROGRAMAN LANJUT Sistem Informasi FILKOM UB Semester Genap 2016/2017 ENKAPSULASI Data Hiding Dr. Eng. Herman Tolle, ST., MT Fakultas Ilmu Komputer, Universitas Brawijaya

Pemrograman Lanjut 1. Nama Matakuliah : PemrogramanLanjut 2. Kode/SKS : CSD60022 / 5 (4-1) SKS 3. Semester : Genap 4. Kelas : A 5. Program Studi : Teknologi Informasi Universitas Brawijaya 6. Dosen : Dr. Eng. Herman Tolle, ST., MT. 7. Asisten : 8. Jadwal Kuliah : Senin, 14.30 16.10, Ruang E1.2 (Teori) Selasa, 07.00 8.40, Ruang A2.20 (Teori) Rabu, 14.30 16.10, Ruang B1.8 (Praktikum)

Materi Pemrograman Lanjut 1. Review Pemrograman Dasar 2. Konsep OOP, 3. Class dan object, 4. Diagram UML Class, 5. Fungsi Overloading dan Konstruktor, 6. Enkapsulasi, 7. Inheritance/pewarisan, 8. Polymorphism 9. Interface & Abstract Class Pemrograman Berorientasi Objek

Info Pertemuan Tanggal : 7 Maret 2017 Ruang & Waktu : A2.20, Jam 07.00 8.40 Materi : Pengenalan Konsep Enkapsulasi

Tujuan Pembelajaran Setelahmengikuti materi ini, diharapkan Mahasiswa dapat memahami konsep Abstraksi dan Enkapsulasi pada pemrograman berorientasi obyek (OOP) Mahasiswa mampu membuat class dan instansiasi objek yang menerapkan konsep enkapsulasi

Kata Kunci / Keyword 1. Encapsulation Enkapsulasi 2. Abstraction Abstraksi 3. FungsiGET danfungsiset 4. Instance Variable 5. Access Modifier (Public dan Private) à Fields/Atribut 6. Visibility Modifier (Public dan Private) à Methods 7. Tipe Data (Primitive dan Reference) 8. Immutable Object danclass

ABSTRAKSI & ENKAPSULASI

Abstraction Cara kita melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu sebagai suatu kumpulan subsistem (object) yang saling berinteraksi. Mobil adalah kumpulan sistem pengapian, sistem kemudi, sistem pengereman Alat meng-abstraksikan sesuatu adalah class Object bersifat modularity. Object dapat ditulis dan dimaintain terpisah (independen) dari object lain

Encapsulation Mekanisme menyembunyikan suatu proses dan data dalam sistem untuk menghindari interferensi, dan menyederhanakan penggunaan proses itu sendiri Tongkat transmisi (gigi) pada mobil Tombol on/off/pengaturan suhu pada AC Tombol Ganti channel atau Volume pada Remote TV Class access level (public, protected, private) adalah implementasi dari konsep encapsulation

Enkapsulasi data dapat dilakukan dengan cara: 1. mendeklarasikan instance variable sebagai private 2. mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut

Encapsulation dan Access Modifier Modifier Dalam Class yang Sama Dalam Package yang Sama Dalam SubClass Dalam Package Lain private ü tanpa tanda ü ü protected ü ü ü public ü ü ü ü

Encapsulation Enkapsulasi data juga dapat dilakukan dengan cara: 1. mendeklarasikan instance variable sebagai private 2. mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut

Method Set dan Get Semua atribut dibuat private Membuat method SET untuk menginput nilai padaatribut tersebut Membuat method GET untuk menampilkan nilai dari atribut tersebut Method Set dan Get bukan method bawaan Java tetapi method yang didefiniskan sendiri oleh programmer (User defined function) Tujuannya agar setiap atribut menjadi imunterhadap akses secara langsung (immutable class)

Contoh Method SET & GET public Cubes { private int Panjang; private int Lebar;... public void setpanjang(int P) { Panjang = P; public KubusBeraksi { Cubes mybox1 = new Cubes(); mybox1.setpanjang(10); int H = mybox1.getpanjang(); // akses lewat variabel S.o.p( Panjang = + H); public int getpanjang() { return Panjang;... // akses lsg dari fungsi get S.o.p( Panjang = + mybox1.getpanjang());

Diagram Class BANK private Saldo: double; Bank (double S); public AmbilUang(double S); public SimpanUang(double S); public ceksaldo(double S); BANK - Saldo: double; +Bank (double S); +AmbilUang(double S); +SimpanUang(double S); +ceksaldo(double S);

public class Bank { private double saldo; Contoh Bank(double S) { this.saldo = S; S.o.println( Selamat Datang di Bank ABC ); this.ceksaldo(); public void ceksaldo() { S.o.p( Saldo saat ini Rp +saldo); void AmbilUang(double S) { if (this.saldo-s>=0) { this.saldo -= S; S.o.p( Ambil Uang Rp +S); else S.o.p( Saldo tidak mencukupi ); this.ceksaldo(); void SimpanUang(double S) { this.saldo += S; S.o.p( Simpan Uang Rp +S); this.ceksaldo();

Studi Kasus

public class Circle { private double radius; private String color; Circle.java public Circle() { // 1st Constructor radius = 10; color = RED ; public Circle(double radius) { // 2nd Constructor this.radius = radius; color = RED ; public Circle(double radius, String color) { // 3rd Constructor this.radius = radius; this.color = color;

Circle.java // Public getter and setter for private variables public double getradius() { return radius; public void setradius(double radius) { this.radius = radius; public String getcolor() { return color; public void setcolor(string color) { this.color = color; // tostring() to provide a short description of this instance public String tostring() { return "Circle with radius = " + radius + " and color of " + color; // Public methods public double getarea() { return radius*radius*math.pi;

Latihan Buat Diagram Class dan implementasi Program dalam bentuk Class dan penggunaan Kelas tersebut. Studi Kasus: Menghitung gaji harian PT. XYZ dengan ketentuan : Gaji pokok karyawan Rp. 2000/jam Bila karyawan bekerja lebih dari 7 jam/hari maka kelebihannya dihitung lembur yang besarnya 1.5 dari gaji pokok Untuk karyawan yang bekerja 8 jam/hari atau lebih akan mendapat tambahan uang makan sebesar Rp. 3500 Karyawan yang bekerja 9 jam/hari atau lebih akan mendapat uang transport lembur sebesar Rp. 4000 Input : NIP, Nama, Jumlah jam kerja Output : NIP, Nama, Gaji pokok, Lembur, Uang makan, Transport lembur, Take Home Pay (total gaji diterima)

Diagram Class PEGAWAI Nama: string; NIP: string; gajipokok, lembur, uangmakan, transport: double; jumlahjamkerja: integer; pegawai(nama, NIP); pegawai(nama, NIP, jamkerja); void setjamkerja(); void hitunggajiharian(); void cetakpenghasilan(); fungsi setjamkerja() untuk mengakses (memberi nilai) atribut jumlahjamkerja; Business process perhitungan gaji dilakukan dalam fungsi hitunggajiharian(), sekaligus untuk mengakses atribut lain. Fungsi cetakpenghasilan() untuk menampilkan isi dari atribut-atribut yang ada

TUGAS LATIHAN Set Setiap Atribut dari kelas tersebut adalah private Set setiap method dari kelas tersebut adalah public Selesaikan latihan sebelumnya, rampungkan sebagai sebuah tugas (Soal, Jawaban, Diagram Class, Source Code, Screenshot) Buat implementasi class Pegawai untuk kasus minimal 2 orang pegawai dengan jam kerja berbeda

Referensi

Terima Kasih