SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Encapsulation 
1
Learning Outcomes 
Pada akhir pertemuan ini, 
diharapkan mahasiswa 
akan mampu : 
• Menyimpulkan konsep 
Encapsulation dalam PBO 
2
Outline Materi 
• Konsep Encapsulation 
• Struct vs Class 
• Class Access Control 
• Constructor & Destructor 
• Object Class 
• Access with scope resolution operator (::) 
3
Konsep Encapsulation 
• Encapsulation  pengelompokan data dan 
functions menjadi satu dalam sebuah class. 
• Memiliki batasan akses dg default private (default 
access struct public). 
• reduces coupling , and almost paradoxically, increases 
the ability to create large programs. 
• encourage coherence , which means that any given 
class does one thing. By increasing coherence, a 
program becomes easier to understand, more simply 
organized, and this better organization is reflected in a 
further reduction in coupling. 
• Information hiding 
• Class objects communicate across well-defined interfaces 
• Implementation details hidden within classes themse4 lves
Struct VS Class 
struct Product 
{ int Prod_id; 
char Prod_Name; 
float Price; 
int Stock_qty; 
}; 
Product Brg1; 
class Product 
{ public: int 
Prod_id; 
char 
Prod_Name; 
float 
Price; 
int 
Stock_qty; 
}; 
Product Brg1; 
5 
Default 
Access 
member: 
public 
Default 
Access 
member: 
private 
Struct Object 
Class Object
3 Access Level 
• Public: 
• Bagian class yang dapat diakses oleh 
umum baik dari dalam maupun dari luar 
class 
• Protected: 
• Bagian class yang dapat diakses oleh 
linkungan internal class dan class 
turunannya 
• Private: 
• Bagian class yang hanya dapat diakses 
oleh linkungan internal class itu sendiri 6
Constructor & Destructor 
class Time 
{ private: int hour; 
int minute; 
int second; 
public: Time(); 
void setTime( int, int, int ); 
void printUniversal(); 
void printStandard(); 
~Time(); 
}; 
7 
Constructor 
Destructor
• ConstructCoro nstrumcteomr b&e r Dfuenstcrtuiocnto ryang 
pertama kali di kerjakan ketika satu 
object di create 
• Nama constructor harus sama dengan nama 
classnya 
• Untuk inisialisasi object 
• Minimal ada 1 constructor dalam class (bisa 
lebih / di overload), jika tidak di tulis 
compiler akan mengenerate default constructor 
untuk class tersebut 
• Dapat diberikan argumen 
8 
• Tidak memiliki return value (default: void)
Constructor & Destructor 
• Destructor  member function yang 
di kerjakan ketika satu object di 
destroy / death (sebagai pengakhiran 
object) 
• Nama destructor sama dengan nama 
classnya ditambah tanda tilde (~) di 
awalnya 
• Untuk de-inisialisasi / clean up / 
dealokasi memory 
• Hanya ada 1 desctuctor (tdk dapat di 
overload) 
• Tidak memiliki argumen 
• Tidak memiliki return value 
9
Object Class 
• Deklarasi Object Class 
Time timeObject; //object biasa 
Time timeArray[ 10 ]; // object array 
Time *timePtr; //object pointer 
Time &timeRef = timeObject; // object reference 
10
Access ClassName with :: classMemberName 
scope resolution 
operator (::) 
11 
class Time 
{ private: 
int hour; 
int minute; 
int second; 
public: 
Time() 
{ hour = minute = second = 0; 
} 
void setTime( int, int, int ); 
void printUniversal(); 
void printStandard(); 
~Time(){ } 
}; 
void Time :: setTime( int h, int m, int s ) 
{ hour = ( h >= 0 && h < 24 ) ? h : 0; 
minute = ( m >= 0 && m < 60 ) ? m : 0; 
second = ( s >= 0 && s < 60 ) ? s : 0; 
} 
void Time :: printUniversal() 
{ cout << setfill( '0' ) << setw( 2 ) << hour << ":" 
<< setw( 2 ) << minute << ":" 
<< setw( 2 ) << second; 
} 
void Time :: printStandard() 
{ cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour 
% 12 ) 
<< ":" << setfill( '0' ) << setw( 2 ) << minute 
<< ":" << setw( 2 ) << second 
<< ( hour < 12 ? " AM" : " PM" ); 
}
Tugas 5 
• Tugas 5A: Mahasiswa membuat 
ringkasan tentang konsep encapsulation 
pada OOP dan implementasinya pada 
C++ 
• Tugas 5B: Mahasiswa membuat analisis 
contoh program dengan encapsulation 
dari dosen 
• Tugas 5C: Mahasiswa membuat 
program sederhana dengan 
mengggunakan konsep Encapsulation 12

Weitere ähnliche Inhalte

Ähnlich wie pbo 4 ervan

Class dan object
Class dan objectClass dan object
Class dan object
Hardini_HD
 
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
 
Algoritma dan Pemrograman C++ (Program Structure)
Algoritma dan Pemrograman C++ (Program Structure)Algoritma dan Pemrograman C++ (Program Structure)
Algoritma dan Pemrograman C++ (Program Structure)
Nabil Muhammad Firdaus
 

Ähnlich wie pbo 4 ervan (20)

Muhammad Firdaus
Muhammad FirdausMuhammad Firdaus
Muhammad Firdaus
 
Nelly
NellyNelly
Nelly
 
Blog.yuna
Blog.yuna Blog.yuna
Blog.yuna
 
Algoritma Pemrograman 2
Algoritma Pemrograman 2Algoritma Pemrograman 2
Algoritma Pemrograman 2
 
Class dan object
Class dan objectClass dan object
Class dan object
 
Delphi
DelphiDelphi
Delphi
 
Dasar pemrograman C++
Dasar pemrograman C++Dasar pemrograman C++
Dasar pemrograman C++
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
 
Tipe_Data_Terstruktur pada perkuliahan.ppt
Tipe_Data_Terstruktur pada perkuliahan.pptTipe_Data_Terstruktur pada perkuliahan.ppt
Tipe_Data_Terstruktur pada perkuliahan.ppt
 
Python Programming Basic
Python Programming BasicPython Programming Basic
Python Programming Basic
 
My javanote04
My javanote04My javanote04
My javanote04
 
Pengenalan Objek.pptx
Pengenalan Objek.pptxPengenalan Objek.pptx
Pengenalan Objek.pptx
 
Makalah algo
Makalah algoMakalah algo
Makalah algo
 
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
 
F 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajriF 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajri
 
Algoritma dan Pemrograman C++ (Program Structure)
Algoritma dan Pemrograman C++ (Program Structure)Algoritma dan Pemrograman C++ (Program Structure)
Algoritma dan Pemrograman C++ (Program Structure)
 
Tutorial borland c tea.
Tutorial borland c tea.Tutorial borland c tea.
Tutorial borland c tea.
 
Soal UAS Pemrograman Desktop Kelas 11 SMK semester ganjil tahun ajaran 2014-2015
Soal UAS Pemrograman Desktop Kelas 11 SMK semester ganjil tahun ajaran 2014-2015Soal UAS Pemrograman Desktop Kelas 11 SMK semester ganjil tahun ajaran 2014-2015
Soal UAS Pemrograman Desktop Kelas 11 SMK semester ganjil tahun ajaran 2014-2015
 
[PBO] Pertemuan 4 - Getter Setter
[PBO] Pertemuan 4 - Getter Setter[PBO] Pertemuan 4 - Getter Setter
[PBO] Pertemuan 4 - Getter Setter
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 

Kürzlich hochgeladen

Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
novibernadina
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
IvvatulAini
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
JarzaniIsmail
 
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
MaskuratulMunawaroh
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
FitriaSarmida1
 
.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx
furqanridha
 

Kürzlich hochgeladen (20)

power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptx
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
Skenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru PenggerakSkenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru Penggerak
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
 
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMMPenyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
 
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
 
.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
 
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxPPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
 

pbo 4 ervan

  • 2. Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Menyimpulkan konsep Encapsulation dalam PBO 2
  • 3. Outline Materi • Konsep Encapsulation • Struct vs Class • Class Access Control • Constructor & Destructor • Object Class • Access with scope resolution operator (::) 3
  • 4. Konsep Encapsulation • Encapsulation  pengelompokan data dan functions menjadi satu dalam sebuah class. • Memiliki batasan akses dg default private (default access struct public). • reduces coupling , and almost paradoxically, increases the ability to create large programs. • encourage coherence , which means that any given class does one thing. By increasing coherence, a program becomes easier to understand, more simply organized, and this better organization is reflected in a further reduction in coupling. • Information hiding • Class objects communicate across well-defined interfaces • Implementation details hidden within classes themse4 lves
  • 5. Struct VS Class struct Product { int Prod_id; char Prod_Name; float Price; int Stock_qty; }; Product Brg1; class Product { public: int Prod_id; char Prod_Name; float Price; int Stock_qty; }; Product Brg1; 5 Default Access member: public Default Access member: private Struct Object Class Object
  • 6. 3 Access Level • Public: • Bagian class yang dapat diakses oleh umum baik dari dalam maupun dari luar class • Protected: • Bagian class yang dapat diakses oleh linkungan internal class dan class turunannya • Private: • Bagian class yang hanya dapat diakses oleh linkungan internal class itu sendiri 6
  • 7. Constructor & Destructor class Time { private: int hour; int minute; int second; public: Time(); void setTime( int, int, int ); void printUniversal(); void printStandard(); ~Time(); }; 7 Constructor Destructor
  • 8. • ConstructCoro nstrumcteomr b&e r Dfuenstcrtuiocnto ryang pertama kali di kerjakan ketika satu object di create • Nama constructor harus sama dengan nama classnya • Untuk inisialisasi object • Minimal ada 1 constructor dalam class (bisa lebih / di overload), jika tidak di tulis compiler akan mengenerate default constructor untuk class tersebut • Dapat diberikan argumen 8 • Tidak memiliki return value (default: void)
  • 9. Constructor & Destructor • Destructor  member function yang di kerjakan ketika satu object di destroy / death (sebagai pengakhiran object) • Nama destructor sama dengan nama classnya ditambah tanda tilde (~) di awalnya • Untuk de-inisialisasi / clean up / dealokasi memory • Hanya ada 1 desctuctor (tdk dapat di overload) • Tidak memiliki argumen • Tidak memiliki return value 9
  • 10. Object Class • Deklarasi Object Class Time timeObject; //object biasa Time timeArray[ 10 ]; // object array Time *timePtr; //object pointer Time &timeRef = timeObject; // object reference 10
  • 11. Access ClassName with :: classMemberName scope resolution operator (::) 11 class Time { private: int hour; int minute; int second; public: Time() { hour = minute = second = 0; } void setTime( int, int, int ); void printUniversal(); void printStandard(); ~Time(){ } }; void Time :: setTime( int h, int m, int s ) { hour = ( h >= 0 && h < 24 ) ? h : 0; minute = ( m >= 0 && m < 60 ) ? m : 0; second = ( s >= 0 && s < 60 ) ? s : 0; } void Time :: printUniversal() { cout << setfill( '0' ) << setw( 2 ) << hour << ":" << setw( 2 ) << minute << ":" << setw( 2 ) << second; } void Time :: printStandard() { cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 ) << ":" << setfill( '0' ) << setw( 2 ) << minute << ":" << setw( 2 ) << second << ( hour < 12 ? " AM" : " PM" ); }
  • 12. Tugas 5 • Tugas 5A: Mahasiswa membuat ringkasan tentang konsep encapsulation pada OOP dan implementasinya pada C++ • Tugas 5B: Mahasiswa membuat analisis contoh program dengan encapsulation dari dosen • Tugas 5C: Mahasiswa membuat program sederhana dengan mengggunakan konsep Encapsulation 12