SlideShare a Scribd company logo
1 of 14
Enkapsulasi
Oleh: Saprudin K, S.Kom.
Konsep Enkapsulasi
 Enkapsulasi bisa diterjemahkan sebagai proses untuk menutupi semua detail dari
sebuah object yang tidak mendukung karakteristik khas dari object.
 Hal ini berarti data property dan method dari object hasil abstraksi dibungkus oleh
struktur class agar terlindungi
 Object lain hanya berkomunikasi dengan object tersebut melalui antarmuka
(interface) yang disediakan oleh object bersangkutan.
 Rincian implementasi internal pada object dibuat tersembunyi sehingga tidak
dapat diketahui dan diakses oleh object lain.
 Object lain hanya dapat menjalankan method change_gear (int gear) tanpa
mengetahui posisi gear saat sebelum diganti.
 Misal, pada class mobil, data variabel current_gear dibuat private sehingga object
lain tidak bisa mengakses variabel tersebut.
 Konsep Enkapsulasi sangat penting dilakukan untuk menjaga keutuhan program
agar dapat diakses sewaktu-waktu sekaligus menjaga program tersebut.
 Dasar enkapsulasi dalam Java adalah Class. Konsep kerja dari enkapsulasi akan
melindungi sebuah program dari akses atau pun intervensi (campur tangan) dari
program lain yang mempengaruhinya.
 Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan
rencana yang sudah ditentukan dari awal.
 Perhatikan bentuk implementasi sederhana enkapsulasi berikut:
Contoh 1
Penjelasan Contoh 1
 Tipe modifier public dan private memiliki fungsi yang berbeda.
 Modifier public yang terdapat dalam class Latih1 pada variabel x menyebabkan
nilai dari variabel x dapat diakses oleh class Pintar.
 Adapun variabel y yang menggunakan modifier private tidak dapat dipanggil/
diakses oleh class Pintar sehingga saat dicompile muncul pesan kesalahan “y has
private access in Latih1. System.out.println(“Panggil y: “+panggil.y);”
 Yang artinya “y memiliki akses private (terbatas/ khusus) pada class Latih1.
Sehingga compiler tidak bisa melanjutkan proses kompilasi pada baris perintah
System.out.println(“Panggil y: “+panggil.y);”
Prosedur Enkapsulasi dalam PBO
 Pada PBO, enkapsulasi diwujudkan dalam bentuk class.
 Adapun dalam class tersebut terdapat sebuah property dan method yang memiliki
hak akses tertentu dalam lingkupnya.
 Hak akses tersebut dibuat menggunakan access modifier.
No Akses Keterangan
1 Private Memberikan akses hanya kepada anggota classnya untuk
menggunakan dan/atau mengubah nilai dari method atau properties
class tersebut.
2 Protected Memberikan hak akses kepada anggota classnya dan anggota class
hasil inheritance dari class tersebut.
3 Public Memberikan hak akses kepada properties dan method agar dapat
digunakan di luar class tersebut.
 Enkapsulasi berfungsi untuk menyembunyikan data sekaligus tembok penghalang
yang mencegah kode atau data diakses oleh data lain di luar class.
 Enkapsulasi dapat diartikan sebagai pembungkus dengan tujuan menjaga suatu
proses program agar tidak dapat diakses secara sembarangan atau diintervensi
oleh pogram lain.
 Ada dua hal mendasar dalam enkapsulasi, yaitu:
 Information Hiding. Digunakan untuk menyembunyikan informasi dari suatu class
sehingga anggota class tersebut tidak bisa diakses dari luar. Dilakukan dengan
memberikan akses kontrol private pada saat mendeklarasikan attribute atau
method.
 Interface to Access Data. Jika melakukan Information Hiding terhadap attribute
pada suatu class, untuk melakukan perubahan terhadap attribute yang
disembunyikan tersebut dilakukan dengan cara membuat suatu interface berupa
method untuk menginisialisasi atau mengubah nilai dari suatu attribute.
 Dalam enkapsulasi ada tiga keyword, yaitu:
 Adapun aksesibilitas keyword enkapsulasi antara lain sebagai berikut:
No Keyword
Pada Class dan
Interface
Pada Method dan Variabel
1 Public Dapat diakses di
manapun
Diwarisi oleh subclassnya, dapat diakses di
manapun.
2 Protected Tidak bisa
diterapkan
Diwarisi oleh subclassnya, dapat diakses oleh
method yang sepaket.
3 Private Tidak bisa
diterapkan
Tidak dapat diakses di manapun kecuali oleh
method-method yang ada di dalam classnya.
Aksesibilitas Public Private Protected
Class yang sama Ya Ya Ya
Sembarang class dalam package yang sama Ya Tidak Ya
Sembarang class di luar package Ya Tidak Tidak
Subclass dalam package yang sama Ya Tidak Ya
Subclass di luar package Ya Tidak Ya
Prosedur rancangan program aplikasi PBO
dengan penerapan Enkapsulasi
 Enkapsulasi secara umum sebagai sebuah proses yang membuat satu jenis paket
data jaringan menjadi jenis data lainnya.
 Enkapsulasi terjadi ketika sebuah protokol berada pada lapisan yang lebih rendah
menerima data dari protokol yang berada pada lapisan lebih tinggi serta
meletakkan data ke format data yang dipahami oleh protokol tersebut.
 Dalam OSI references model, proses enkapsulasi yang terjadi pada lapisan
terendah umumnya disebut sebagai framing, sedangkan dasar dari enkapsulasi
dalam java adalah class.
 Perhatikan contoh program sederhana enkapsulasi berikut:
Contoh 2
Penjelasan Contoh 2
 Dari contoh 2 di atas, dapat kita lihat bahwa method Luas dan method Keliling
‘bersembunyi’ di atas method main. Sementara pada method main hanya
dilakukan pemanggilan dua method tersebut.
 Berbeda dengan kebiasaan saat sebelum mempelajari enkapsulasi pada Java
dimana semua method letaknya berada di bawah method main.
 Pada class lingkaran tersebut, attribute/ variabel radius diberi modifier private
(private double radius) dan agar si variabel radius ini bisa diakses di subclass/
method di bawahnya, dibuatlah interface lingkaran dengan modifier public
(public lingkaran(double radius)).
 Kemudian interface lingkaran tersebut dibuatkan objeknya (A) untuk melakukan
pemanggilan method Luas dan Keliling.
Keunggulan Enkapsulasi dalam PBO
 Enkapsulasi dalam PBO sangat penting untuk keamanan serta menghindari
kesalahan pemrograman.
 Mengacu kepada perlindungan terhadap implementasi (penerapan) object internal.
Object tersebut berasal dari interface public dan bagian private yang merupakan
kombinasi data dan methode internal.
 Manfaat utamanya adalah bagian internal dapa berubah tanpa mempe-ngaruhi
bagian-bagian program lain.
 Adapun penggunaan modularitas memiliki arti object dapat dikelola secara
independen.
 Oleh karena kode sumber bagian internal object dikelola secara terpisah dari
interface maka bebas melakukan modifikasi yang tidak menyebabkan masalah
pada bagian lain dari sistem.
 Hal ini akan mempermudah dalam mendistribusikan obejct dari sistem.
Bahan Praktek (Khusus Netbeans GUI)
 Ikuti tautan berikut, download, praktekkan dan pelajari (membuat Menu Utama):
https://youtu.be/Nv4hujA5T-Q
“
”
Sekian dan terima kasih
Jika ada materi yang kurang/ belum dipahami, silahkan tanyakan.

More Related Content

What's hot

Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada java
Devandy Enda
 
03 enkapsulasi
03 enkapsulasi03 enkapsulasi
03 enkapsulasi
KuliahKita
 
Pertemuan03 evaluasikeamanansisteminformasi
Pertemuan03 evaluasikeamanansisteminformasiPertemuan03 evaluasikeamanansisteminformasi
Pertemuan03 evaluasikeamanansisteminformasi
Roziq Bahtiar
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
Bobby Chandra
 

What's hot (20)

Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada java
 
Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
 
Deteksi dan koreksi kesalahan lengkap
Deteksi dan koreksi kesalahan lengkapDeteksi dan koreksi kesalahan lengkap
Deteksi dan koreksi kesalahan lengkap
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
03 enkapsulasi
03 enkapsulasi03 enkapsulasi
03 enkapsulasi
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
 
2 konsep basis data
2 konsep basis data2 konsep basis data
2 konsep basis data
 
Makalah perulangan
Makalah perulanganMakalah perulangan
Makalah perulangan
 
Pertemuan03 evaluasikeamanansisteminformasi
Pertemuan03 evaluasikeamanansisteminformasiPertemuan03 evaluasikeamanansisteminformasi
Pertemuan03 evaluasikeamanansisteminformasi
 
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
 
Materi 6 db performance tuning
Materi 6 db performance tuningMateri 6 db performance tuning
Materi 6 db performance tuning
 
Presentasi fuzzy logic (Logika Fuzzy)
Presentasi fuzzy logic (Logika Fuzzy)Presentasi fuzzy logic (Logika Fuzzy)
Presentasi fuzzy logic (Logika Fuzzy)
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
 
Laporan Basis Data (DDL)
Laporan Basis Data (DDL)Laporan Basis Data (DDL)
Laporan Basis Data (DDL)
 
Pengulangan for Algoritma
Pengulangan for AlgoritmaPengulangan for Algoritma
Pengulangan for Algoritma
 
Makalah array
Makalah arrayMakalah array
Makalah array
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
 
Class diagram
Class diagramClass diagram
Class diagram
 

Similar to 10. konsep enkapsulasi

Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
ゴースト アノン
 
Network programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanNetwork programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java Lanjutan
Lia Rusdyana Dewi
 
516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx
AdityaSuryani1
 

Similar to 10. konsep enkapsulasi (20)

Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
 
P9 enkapsulasi
P9 enkapsulasiP9 enkapsulasi
P9 enkapsulasi
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam php
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam php
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
 
13216 3 enkapsulasi
13216 3 enkapsulasi13216 3 enkapsulasi
13216 3 enkapsulasi
 
28431 3 enkapsulasi
28431 3 enkapsulasi28431 3 enkapsulasi
28431 3 enkapsulasi
 
Tugas aplinet meresum
Tugas aplinet meresumTugas aplinet meresum
Tugas aplinet meresum
 
Object Oriented Programming Concept
Object Oriented Programming Concept Object Oriented Programming Concept
Object Oriented Programming Concept
 
P.5 media 2 enkapsulasi
P.5 media 2 enkapsulasiP.5 media 2 enkapsulasi
P.5 media 2 enkapsulasi
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
 
OOP - Access Control
OOP - Access ControlOOP - Access Control
OOP - Access Control
 
Dart Object-Oriented Programming (OOP) and Flutter State Management
Dart Object-Oriented Programming (OOP) and Flutter State ManagementDart Object-Oriented Programming (OOP) and Flutter State Management
Dart Object-Oriented Programming (OOP) and Flutter State Management
 
Object oriented programming (oop)
Object oriented programming (oop)Object oriented programming (oop)
Object oriented programming (oop)
 
Network programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanNetwork programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java Lanjutan
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented Programming
 
OOP - Enkapsulasi
OOP - EnkapsulasiOOP - Enkapsulasi
OOP - Enkapsulasi
 
P5 depandi enda
P5 depandi endaP5 depandi enda
P5 depandi enda
 
516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx
 

More from Saprudin Eskom

More from Saprudin Eskom (20)

soal + jawaban PAT DPPLG kelas X PPLG.docx
soal + jawaban PAT DPPLG kelas X PPLG.docxsoal + jawaban PAT DPPLG kelas X PPLG.docx
soal + jawaban PAT DPPLG kelas X PPLG.docx
 
Soal + jawaban PAT PBO Kelas XI RPL 2021.docx
Soal + jawaban PAT PBO Kelas XI RPL 2021.docxSoal + jawaban PAT PBO Kelas XI RPL 2021.docx
Soal + jawaban PAT PBO Kelas XI RPL 2021.docx
 
RPMS PAT PBO XI.docx
RPMS PAT PBO XI.docxRPMS PAT PBO XI.docx
RPMS PAT PBO XI.docx
 
RPMS PAT DPPLG X.docx
RPMS PAT DPPLG X.docxRPMS PAT DPPLG X.docx
RPMS PAT DPPLG X.docx
 
PAS Ganjil Digital Branding kelas XI Pemasaran
PAS Ganjil Digital Branding kelas XI PemasaranPAS Ganjil Digital Branding kelas XI Pemasaran
PAS Ganjil Digital Branding kelas XI Pemasaran
 
Tugas Praktikum Ms Excel.pdf
Tugas Praktikum Ms Excel.pdfTugas Praktikum Ms Excel.pdf
Tugas Praktikum Ms Excel.pdf
 
Tugas Praktikum Ms. Word.pdf
Tugas Praktikum Ms. Word.pdfTugas Praktikum Ms. Word.pdf
Tugas Praktikum Ms. Word.pdf
 
6. percabangan 2 kondisi
6. percabangan 2 kondisi6. percabangan 2 kondisi
6. percabangan 2 kondisi
 
4. tipe data dan operator java
4. tipe data dan operator java4. tipe data dan operator java
4. tipe data dan operator java
 
5. algoritma percabangan 1 kondisi
5. algoritma percabangan 1 kondisi5. algoritma percabangan 1 kondisi
5. algoritma percabangan 1 kondisi
 
1. konsep pbo
1. konsep pbo1. konsep pbo
1. konsep pbo
 
2. prosedur pbo
2. prosedur pbo2. prosedur pbo
2. prosedur pbo
 
3. struktur program java
3. struktur program java3. struktur program java
3. struktur program java
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
14. java class library
14. java class library14. java class library
14. java class library
 
12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphisme
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
16. error handling
16. error handling16. error handling
16. error handling
 
15. konsep java class library (jcl)
15. konsep java class library (jcl)15. konsep java class library (jcl)
15. konsep java class library (jcl)
 
13. memahami interface di java (dan contohnya)
13. memahami interface di java (dan contohnya)13. memahami interface di java (dan contohnya)
13. memahami interface di java (dan contohnya)
 

Recently uploaded

BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
JuliBriana2
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
pipinafindraputri1
 

Recently uploaded (20)

Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptx
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
 
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, Figma
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRegresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
 
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7
 

10. konsep enkapsulasi

  • 2. Konsep Enkapsulasi  Enkapsulasi bisa diterjemahkan sebagai proses untuk menutupi semua detail dari sebuah object yang tidak mendukung karakteristik khas dari object.  Hal ini berarti data property dan method dari object hasil abstraksi dibungkus oleh struktur class agar terlindungi  Object lain hanya berkomunikasi dengan object tersebut melalui antarmuka (interface) yang disediakan oleh object bersangkutan.  Rincian implementasi internal pada object dibuat tersembunyi sehingga tidak dapat diketahui dan diakses oleh object lain.  Object lain hanya dapat menjalankan method change_gear (int gear) tanpa mengetahui posisi gear saat sebelum diganti.  Misal, pada class mobil, data variabel current_gear dibuat private sehingga object lain tidak bisa mengakses variabel tersebut.
  • 3.  Konsep Enkapsulasi sangat penting dilakukan untuk menjaga keutuhan program agar dapat diakses sewaktu-waktu sekaligus menjaga program tersebut.  Dasar enkapsulasi dalam Java adalah Class. Konsep kerja dari enkapsulasi akan melindungi sebuah program dari akses atau pun intervensi (campur tangan) dari program lain yang mempengaruhinya.  Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.  Perhatikan bentuk implementasi sederhana enkapsulasi berikut:
  • 5. Penjelasan Contoh 1  Tipe modifier public dan private memiliki fungsi yang berbeda.  Modifier public yang terdapat dalam class Latih1 pada variabel x menyebabkan nilai dari variabel x dapat diakses oleh class Pintar.  Adapun variabel y yang menggunakan modifier private tidak dapat dipanggil/ diakses oleh class Pintar sehingga saat dicompile muncul pesan kesalahan “y has private access in Latih1. System.out.println(“Panggil y: “+panggil.y);”  Yang artinya “y memiliki akses private (terbatas/ khusus) pada class Latih1. Sehingga compiler tidak bisa melanjutkan proses kompilasi pada baris perintah System.out.println(“Panggil y: “+panggil.y);”
  • 6. Prosedur Enkapsulasi dalam PBO  Pada PBO, enkapsulasi diwujudkan dalam bentuk class.  Adapun dalam class tersebut terdapat sebuah property dan method yang memiliki hak akses tertentu dalam lingkupnya.  Hak akses tersebut dibuat menggunakan access modifier. No Akses Keterangan 1 Private Memberikan akses hanya kepada anggota classnya untuk menggunakan dan/atau mengubah nilai dari method atau properties class tersebut. 2 Protected Memberikan hak akses kepada anggota classnya dan anggota class hasil inheritance dari class tersebut. 3 Public Memberikan hak akses kepada properties dan method agar dapat digunakan di luar class tersebut.
  • 7.  Enkapsulasi berfungsi untuk menyembunyikan data sekaligus tembok penghalang yang mencegah kode atau data diakses oleh data lain di luar class.  Enkapsulasi dapat diartikan sebagai pembungkus dengan tujuan menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau diintervensi oleh pogram lain.  Ada dua hal mendasar dalam enkapsulasi, yaitu:  Information Hiding. Digunakan untuk menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak bisa diakses dari luar. Dilakukan dengan memberikan akses kontrol private pada saat mendeklarasikan attribute atau method.  Interface to Access Data. Jika melakukan Information Hiding terhadap attribute pada suatu class, untuk melakukan perubahan terhadap attribute yang disembunyikan tersebut dilakukan dengan cara membuat suatu interface berupa method untuk menginisialisasi atau mengubah nilai dari suatu attribute.  Dalam enkapsulasi ada tiga keyword, yaitu:
  • 8.  Adapun aksesibilitas keyword enkapsulasi antara lain sebagai berikut: No Keyword Pada Class dan Interface Pada Method dan Variabel 1 Public Dapat diakses di manapun Diwarisi oleh subclassnya, dapat diakses di manapun. 2 Protected Tidak bisa diterapkan Diwarisi oleh subclassnya, dapat diakses oleh method yang sepaket. 3 Private Tidak bisa diterapkan Tidak dapat diakses di manapun kecuali oleh method-method yang ada di dalam classnya. Aksesibilitas Public Private Protected Class yang sama Ya Ya Ya Sembarang class dalam package yang sama Ya Tidak Ya Sembarang class di luar package Ya Tidak Tidak Subclass dalam package yang sama Ya Tidak Ya Subclass di luar package Ya Tidak Ya
  • 9. Prosedur rancangan program aplikasi PBO dengan penerapan Enkapsulasi  Enkapsulasi secara umum sebagai sebuah proses yang membuat satu jenis paket data jaringan menjadi jenis data lainnya.  Enkapsulasi terjadi ketika sebuah protokol berada pada lapisan yang lebih rendah menerima data dari protokol yang berada pada lapisan lebih tinggi serta meletakkan data ke format data yang dipahami oleh protokol tersebut.  Dalam OSI references model, proses enkapsulasi yang terjadi pada lapisan terendah umumnya disebut sebagai framing, sedangkan dasar dari enkapsulasi dalam java adalah class.  Perhatikan contoh program sederhana enkapsulasi berikut:
  • 11. Penjelasan Contoh 2  Dari contoh 2 di atas, dapat kita lihat bahwa method Luas dan method Keliling ‘bersembunyi’ di atas method main. Sementara pada method main hanya dilakukan pemanggilan dua method tersebut.  Berbeda dengan kebiasaan saat sebelum mempelajari enkapsulasi pada Java dimana semua method letaknya berada di bawah method main.  Pada class lingkaran tersebut, attribute/ variabel radius diberi modifier private (private double radius) dan agar si variabel radius ini bisa diakses di subclass/ method di bawahnya, dibuatlah interface lingkaran dengan modifier public (public lingkaran(double radius)).  Kemudian interface lingkaran tersebut dibuatkan objeknya (A) untuk melakukan pemanggilan method Luas dan Keliling.
  • 12. Keunggulan Enkapsulasi dalam PBO  Enkapsulasi dalam PBO sangat penting untuk keamanan serta menghindari kesalahan pemrograman.  Mengacu kepada perlindungan terhadap implementasi (penerapan) object internal. Object tersebut berasal dari interface public dan bagian private yang merupakan kombinasi data dan methode internal.  Manfaat utamanya adalah bagian internal dapa berubah tanpa mempe-ngaruhi bagian-bagian program lain.  Adapun penggunaan modularitas memiliki arti object dapat dikelola secara independen.  Oleh karena kode sumber bagian internal object dikelola secara terpisah dari interface maka bebas melakukan modifikasi yang tidak menyebabkan masalah pada bagian lain dari sistem.  Hal ini akan mempermudah dalam mendistribusikan obejct dari sistem.
  • 13. Bahan Praktek (Khusus Netbeans GUI)  Ikuti tautan berikut, download, praktekkan dan pelajari (membuat Menu Utama): https://youtu.be/Nv4hujA5T-Q
  • 14. “ ” Sekian dan terima kasih Jika ada materi yang kurang/ belum dipahami, silahkan tanyakan.