SlideShare a Scribd company logo
Pemrograman Berorientasi Objek
Oleh :
Novri Hadinata,S.kom., M.Kom
Konsep
 Enkapsulasi memiliki arti mengelompokkan program
kedalam satu unit sehingga program menjadi mudah
digunakan.
 Mampu menangani berbagai input yang diberikan dan
menghasilkan output yang benar.
 Melindungi program dari pengaksesan variabel kritis
oleh proses atau perubahan oleh programer selama
tahap pembangunan program.
Manfaat
 Modularitas
Source code dari sebuah class dapat dikelola secara
independen dari source code class yang lain.
Perubahan internal pada sebuah class tidak akan
berpengaruh bagi class yang menggunakannya.
 Information Hiding
Penyembunyian informasi yang tidak perlu diketahui
objek lain.
Enkapsulasi
public class Siswa{
public int nim;
public String nama;
public void Info() {
System.out.println(“Mahasiswa UIN”);
}
}
Bagaimana mengakses anggota-anggota class Siswa?
Enkapsulasi
public class IsiData{
public static void main(Stringargs[]) {
Siswa TI09=new Siswa();
TI09.nim=5;
TI09.nama=”Andi”;
TI09.Info();
}
}
•Bagaimana menyembunyikan information dari suatu class
sehingga anggota-anggota class tersebut tidak dapat diakses dari
luar?
•Dengan memberikan akses control private ketika
mendeklarasikan suatu atribut atau method.
Enkapsulasi
public class Siswa{
private int nim;
public String nama;
public void Info() {
System.out.println(“Lagi kuliah PBO”);
}
}
Enkapsulasi
 public class IsiData{
 public static void main(Stringargs[]) {
 Siswa TI09 =new Siswa();
 TI09.nim=5;
 TI09.nama=”Andi”;
 TI09.Info();
 }
 }
HasilRuning?Hallo.java:4: nim has private access in Siswa TI09.nim=5;
Enkapsulasi
 Misal: NIM dari siswa-siswa TI09 : range 1-10.
 Jika NIM tidak dienkapsulasi :
 –Siswa dapat memasukkan sembarang nilai, sehingga
perlu melakukan penyembunyian informasi
(information hiding) thd atribut nim, sehingga nim
tidak bisa diakses secara langsung.
 Lalu, kalau atribut nim tersebut disembunyikan,
bagaimana cara mengakses atribut nim itu untuk
memberikan atau mengubah nilai?.
 –Perlu suatu interface untuk mengakses data, yang
berupa method dimana didalamnya terdapat
implementasi untuk mengakses data nim.
Enkapsulasi
public class Siswa{
private int nim;
public String nama;
public void isiNim(int n) {
if (n>=1 &&n<=10)
nim=n;
Else
System.out.println("Error...!!");
}
public void Info() {
System.out.println(“Saya Mhs UIN”);
}
}
Construktor
 Adalah suatu method yang pertama kali dijalankan
pada saat pembuatan suatu obyek. Konstruktor
mempunyai ciri yaitu:
 –mempunyai nama yang sama dengan nama class
 –tidak mempunyai modifier (seperti void, int, double
dll)
Construktor
Setiap class pasti mempunyai konstruktor.
•Jika kita membuat suatu class tanpa menuliskan
konstruktornya , maka kompiler dari Java akan
menambahkan sebuah konstruktor kosong.
•Kompiler Java akan menambahkan konstruktor kosong
Construktor
 Karena konstruktor adalah method yang pertama kali
dijalankan pada saat suatu obyek dibuat, maka
konstruktor sangat berguna untuk menginisialisasi
data member.
public class Siswa{
private int nim;
public Siswa()
{
nim=0;
}
}
Construktor
 Siswa TA = new Siswa(5);
public class Siswa{
private int nim;
public Siswa(int n)
{
nim=n;
}
}
Overloading Constructor
 Suatu class dapat mempunyai lebih dari 1 konstruktor
dengan syarat daftar parameternya tidak boleh ada
yang sama.
public class Siswa{
private int nim;
public Siswa() {
nim=0;
}
public Siswa(int n) {
nim=n;
}
}
Package
 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
 Misalnya saja kita mempunyai 2 buah class Siswa,
 class Siswa untuk mahasiswa jurusan IT
 class Siswa untuk mahasiswa Telkom.
Package
 Pada saat deklarasikan package, class tersebut harus
disimpan pada suatu direktori yang sama dengan
nama package-nya.
 Berkenaan dengan class Siswa diatas, class Siswa pada
package it harus disimpan direktori it, dan class Siswa
pada package telkom harus disimpan direktori telkom.
Package
Import class
 Suatu class dapat meng-import class lainnya sesuai
dengan nama package yang dipunyainya.
 Misalnya saja kita dapat meng-import class Siswa.java
dalam package it dengan mendeklarasikan kata kunci
import.
Import class
 Jika kita ingin meng-import semua class yang ada pada
package it, maka kita dapat mendeklarasikannya
dengan menuliskan tanda *.
 import it.*;
Kata Kunci this
 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.
 –this.data_member >> merujuk pada data member
 –this.function_member() >> merujuk pada function
member
 –this() >> merujuk pada konstruktor
Kata Kunci this
 Nilai variabel n pada parameter konstruktor itu akan
dipakai untuk menginisialisasi nim atau umur?
nim nim
nim
Kata Kunci this
public class Siswa{
private int nim;
private int umur;
public Siswa(int nim){
this.nim= nim;
}
}
Kata Kunci this
 This dapat juga dipakai untuk memanggil
konstruktor yang lain pada class yang
bersangkutan.
public class Siswa{
private int nim;
public Siswa() {
this(0);
}
public Siswa(int n) {
nim=n;
}
}

More Related Content

What's hot

[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java
rizki adam kurniawan
 
[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor
rizki adam kurniawan
 
Tugas aplinet meresum
Tugas aplinet meresumTugas aplinet meresum
Tugas aplinet meresum
hendrajuniarto
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Kuncara Laksana
 
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Asnita Meydelia C K
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam php
hendrajuniarto
 
Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"
Asnita Meydelia C K
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
Namira Namirah
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Melina Krisnawati
 
[PBO] Pertemuan 2 - Method, String & array
[PBO] Pertemuan 2 - Method, String & array[PBO] Pertemuan 2 - Method, String & array
[PBO] Pertemuan 2 - Method, String & array
rizki adam kurniawan
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Melina Krisnawati
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection
rizki adam kurniawan
 
Pengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi ObjekPengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi Objek
wawanext01
 
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
rizki adam kurniawan
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interface
Robbie AkaChopa
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
Teknik Komputer & Informatika
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Rakhmat Dedi Gunawan
 

What's hot (19)

[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java
 
[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor
 
Tugas aplinet meresum
Tugas aplinet meresumTugas aplinet meresum
Tugas aplinet meresum
 
BAB 3 PBO C++ Pewarisan
BAB 3 PBO C++ PewarisanBAB 3 PBO C++ Pewarisan
BAB 3 PBO C++ Pewarisan
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
 
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam php
 
Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
[PBO] Pertemuan 2 - Method, String & array
[PBO] Pertemuan 2 - Method, String & array[PBO] Pertemuan 2 - Method, String & array
[PBO] Pertemuan 2 - Method, String & array
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection
 
Pengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi ObjekPengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi Objek
 
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interface
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 

Viewers also liked

SAD05 - Encapsulation
SAD05 - EncapsulationSAD05 - Encapsulation
SAD05 - Encapsulation
Michael Heron
 
Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)
Dyah Fajar Nur Rohmah
 
[OOP - Lec 08] Encapsulation (Information Hiding)
[OOP - Lec 08] Encapsulation (Information Hiding)[OOP - Lec 08] Encapsulation (Information Hiding)
[OOP - Lec 08] Encapsulation (Information Hiding)
Muhammad Hammad Waseem
 
encapsulation
encapsulationencapsulation
encapsulation
shalini392
 
Encapsulation
EncapsulationEncapsulation
Encapsulation
Githushan Gengaparam
 
Social Media for Business
Social Media for BusinessSocial Media for Business
Social Media for Business
Presentation Advisors
 

Viewers also liked (6)

SAD05 - Encapsulation
SAD05 - EncapsulationSAD05 - Encapsulation
SAD05 - Encapsulation
 
Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)
 
[OOP - Lec 08] Encapsulation (Information Hiding)
[OOP - Lec 08] Encapsulation (Information Hiding)[OOP - Lec 08] Encapsulation (Information Hiding)
[OOP - Lec 08] Encapsulation (Information Hiding)
 
encapsulation
encapsulationencapsulation
encapsulation
 
Encapsulation
EncapsulationEncapsulation
Encapsulation
 
Social Media for Business
Social Media for BusinessSocial Media for Business
Social Media for Business
 

Similar to 13216 3 enkapsulasi

Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
rahmantoyuri
 
Pengenalan Java
Pengenalan JavaPengenalan Java
Pengenalan Java
Laili Aidi
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class Sendiri
Individual Consultants
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriIndividual Consultants
 
Jeni intro1-bab10-membuat class sendiri
Jeni intro1-bab10-membuat class sendiriJeni intro1-bab10-membuat class sendiri
Jeni intro1-bab10-membuat class sendiri
Kristanto Wijaya
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdf
Jurnal IT
 
9150 8 interface
9150 8  interface9150 8  interface
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and PackagesMobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
Akhmad Khanif Zyen
 
5475 1 review konsep pbo
5475 1 review konsep pbo5475 1 review konsep pbo
5475 1 review konsep pbo
Universitas Bina Darma Palembang
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasi
Saprudin Eskom
 
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaJeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Individual Consultants
 
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
Jurnal IT
 
31322 2 class & object
31322 2 class & object31322 2 class & object
31322 2 class & object
Universitas Bina Darma Palembang
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
Rhendy Thanaya
 
Dasar pemrograman C++
Dasar pemrograman C++Dasar pemrograman C++
Dasar pemrograman C++
Andan Sperrow
 
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceJeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceIndividual Consultants
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Kristanto Wijaya
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervan
aris
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
Wahyu Widodo
 
Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Basic Java Application - Sesi 5
Basic Java Application - Sesi 5
Rudi Hartono
 

Similar to 13216 3 enkapsulasi (20)

Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
 
Pengenalan Java
Pengenalan JavaPengenalan Java
Pengenalan Java
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class Sendiri
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class Sendiri
 
Jeni intro1-bab10-membuat class sendiri
Jeni intro1-bab10-membuat class sendiriJeni intro1-bab10-membuat class sendiri
Jeni intro1-bab10-membuat class sendiri
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdf
 
9150 8 interface
9150 8  interface9150 8  interface
9150 8 interface
 
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and PackagesMobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
Mobile Application 2 Pertemuan 5 Dasar Kotlin OOP Nested Class and Packages
 
5475 1 review konsep pbo
5475 1 review konsep pbo5475 1 review konsep pbo
5475 1 review konsep pbo
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasi
 
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaJeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
 
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
 
31322 2 class & object
31322 2 class & object31322 2 class & object
31322 2 class & object
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
 
Dasar pemrograman C++
Dasar pemrograman C++Dasar pemrograman C++
Dasar pemrograman C++
 
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceJeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
 
pbo 3 ervan
pbo 3 ervanpbo 3 ervan
pbo 3 ervan
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Basic Java Application - Sesi 5
Basic Java Application - Sesi 5
 

More from Universitas Bina Darma Palembang

30448 pertemuan1
30448 pertemuan130448 pertemuan1
29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))
Universitas Bina Darma Palembang
 
28501 pertemuan14(php)
28501 pertemuan14(php)28501 pertemuan14(php)
28501 pertemuan14(php)
Universitas Bina Darma Palembang
 
28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)
Universitas Bina Darma Palembang
 
25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)
Universitas Bina Darma Palembang
 
18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)
Universitas Bina Darma Palembang
 
18040 pertemuan13(css)
18040 pertemuan13(css)18040 pertemuan13(css)
18040 pertemuan13(css)
Universitas Bina Darma Palembang
 
16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)
Universitas Bina Darma Palembang
 
15294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah015294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah0
Universitas Bina Darma Palembang
 
12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)
Universitas Bina Darma Palembang
 
6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)
Universitas Bina Darma Palembang
 
5623 pertemuan11(html1)
5623 pertemuan11(html1)5623 pertemuan11(html1)
5623 pertemuan11(html1)
Universitas Bina Darma Palembang
 
4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)
Universitas Bina Darma Palembang
 
4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)
Universitas Bina Darma Palembang
 
2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)
Universitas Bina Darma Palembang
 
2190 pertemuan24(polling)
2190 pertemuan24(polling)2190 pertemuan24(polling)
2190 pertemuan24(polling)
Universitas Bina Darma Palembang
 

More from Universitas Bina Darma Palembang (20)

30448 pertemuan1
30448 pertemuan130448 pertemuan1
30448 pertemuan1
 
29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))
 
28501 pertemuan14(php)
28501 pertemuan14(php)28501 pertemuan14(php)
28501 pertemuan14(php)
 
28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)
 
25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)
 
23921 pertemuan 3
23921 pertemuan 323921 pertemuan 3
23921 pertemuan 3
 
19313 pertemuan6
19313 pertemuan619313 pertemuan6
19313 pertemuan6
 
18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)
 
18040 pertemuan13(css)
18040 pertemuan13(css)18040 pertemuan13(css)
18040 pertemuan13(css)
 
17945 pertemuan5
17945 pertemuan517945 pertemuan5
17945 pertemuan5
 
16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)
 
15294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah015294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah0
 
13926 pertemuan4
13926 pertemuan413926 pertemuan4
13926 pertemuan4
 
12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)
 
6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)
 
5623 pertemuan11(html1)
5623 pertemuan11(html1)5623 pertemuan11(html1)
5623 pertemuan11(html1)
 
4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)
 
4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)
 
2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)
 
2190 pertemuan24(polling)
2190 pertemuan24(polling)2190 pertemuan24(polling)
2190 pertemuan24(polling)
 

13216 3 enkapsulasi

  • 1. Pemrograman Berorientasi Objek Oleh : Novri Hadinata,S.kom., M.Kom
  • 2. Konsep  Enkapsulasi memiliki arti mengelompokkan program kedalam satu unit sehingga program menjadi mudah digunakan.  Mampu menangani berbagai input yang diberikan dan menghasilkan output yang benar.  Melindungi program dari pengaksesan variabel kritis oleh proses atau perubahan oleh programer selama tahap pembangunan program.
  • 3. Manfaat  Modularitas Source code dari sebuah class dapat dikelola secara independen dari source code class yang lain. Perubahan internal pada sebuah class tidak akan berpengaruh bagi class yang menggunakannya.  Information Hiding Penyembunyian informasi yang tidak perlu diketahui objek lain.
  • 4. Enkapsulasi public class Siswa{ public int nim; public String nama; public void Info() { System.out.println(“Mahasiswa UIN”); } } Bagaimana mengakses anggota-anggota class Siswa?
  • 5. Enkapsulasi public class IsiData{ public static void main(Stringargs[]) { Siswa TI09=new Siswa(); TI09.nim=5; TI09.nama=”Andi”; TI09.Info(); } } •Bagaimana menyembunyikan information dari suatu class sehingga anggota-anggota class tersebut tidak dapat diakses dari luar? •Dengan memberikan akses control private ketika mendeklarasikan suatu atribut atau method.
  • 6. Enkapsulasi public class Siswa{ private int nim; public String nama; public void Info() { System.out.println(“Lagi kuliah PBO”); } }
  • 7. Enkapsulasi  public class IsiData{  public static void main(Stringargs[]) {  Siswa TI09 =new Siswa();  TI09.nim=5;  TI09.nama=”Andi”;  TI09.Info();  }  } HasilRuning?Hallo.java:4: nim has private access in Siswa TI09.nim=5;
  • 8. Enkapsulasi  Misal: NIM dari siswa-siswa TI09 : range 1-10.  Jika NIM tidak dienkapsulasi :  –Siswa dapat memasukkan sembarang nilai, sehingga perlu melakukan penyembunyian informasi (information hiding) thd atribut nim, sehingga nim tidak bisa diakses secara langsung.  Lalu, kalau atribut nim tersebut disembunyikan, bagaimana cara mengakses atribut nim itu untuk memberikan atau mengubah nilai?.  –Perlu suatu interface untuk mengakses data, yang berupa method dimana didalamnya terdapat implementasi untuk mengakses data nim.
  • 9. Enkapsulasi public class Siswa{ private int nim; public String nama; public void isiNim(int n) { if (n>=1 &&n<=10) nim=n; Else System.out.println("Error...!!"); } public void Info() { System.out.println(“Saya Mhs UIN”); } }
  • 10. Construktor  Adalah suatu method yang pertama kali dijalankan pada saat pembuatan suatu obyek. Konstruktor mempunyai ciri yaitu:  –mempunyai nama yang sama dengan nama class  –tidak mempunyai modifier (seperti void, int, double dll)
  • 11. Construktor Setiap class pasti mempunyai konstruktor. •Jika kita membuat suatu class tanpa menuliskan konstruktornya , maka kompiler dari Java akan menambahkan sebuah konstruktor kosong. •Kompiler Java akan menambahkan konstruktor kosong
  • 12. Construktor  Karena konstruktor adalah method yang pertama kali dijalankan pada saat suatu obyek dibuat, maka konstruktor sangat berguna untuk menginisialisasi data member. public class Siswa{ private int nim; public Siswa() { nim=0; } }
  • 13. Construktor  Siswa TA = new Siswa(5); public class Siswa{ private int nim; public Siswa(int n) { nim=n; } }
  • 14. Overloading Constructor  Suatu class dapat mempunyai lebih dari 1 konstruktor dengan syarat daftar parameternya tidak boleh ada yang sama. public class Siswa{ private int nim; public Siswa() { nim=0; } public Siswa(int n) { nim=n; } }
  • 15. Package  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.
  • 16. Package  Misalnya saja kita mempunyai 2 buah class Siswa,  class Siswa untuk mahasiswa jurusan IT  class Siswa untuk mahasiswa Telkom.
  • 17. Package  Pada saat deklarasikan package, class tersebut harus disimpan pada suatu direktori yang sama dengan nama package-nya.  Berkenaan dengan class Siswa diatas, class Siswa pada package it harus disimpan direktori it, dan class Siswa pada package telkom harus disimpan direktori telkom.
  • 19. Import class  Suatu class dapat meng-import class lainnya sesuai dengan nama package yang dipunyainya.  Misalnya saja kita dapat meng-import class Siswa.java dalam package it dengan mendeklarasikan kata kunci import.
  • 20. Import class  Jika kita ingin meng-import semua class yang ada pada package it, maka kita dapat mendeklarasikannya dengan menuliskan tanda *.  import it.*;
  • 21. Kata Kunci this  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.  –this.data_member >> merujuk pada data member  –this.function_member() >> merujuk pada function member  –this() >> merujuk pada konstruktor
  • 22. Kata Kunci this  Nilai variabel n pada parameter konstruktor itu akan dipakai untuk menginisialisasi nim atau umur? nim nim nim
  • 23. Kata Kunci this public class Siswa{ private int nim; private int umur; public Siswa(int nim){ this.nim= nim; } }
  • 24. Kata Kunci this  This dapat juga dipakai untuk memanggil konstruktor yang lain pada class yang bersangkutan. public class Siswa{ private int nim; public Siswa() { this(0); } public Siswa(int n) { nim=n; } }