SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Pengantar Pemrograman
Berorientasi Objek
-STRUKTUR DATA-

Muhammad Riza Hilmi, ST.
rizahilmi@gmail.com
Pengantar (1)
• Pemrograman Terstruktur adalah suatu aktifitas
pemrograman dengan memperhatikan urutan
langkah-langkah perintah secara sistematis,
logis, dan tersusun berdasarkan algoritma yang
sederhana dan mudah dipahami.
• Pemrograman Berorientasi Objek (Inggris:
object-oriented programming disingkat OOP)
merupakan paradigma pemrograman yang
berorientasikan kepada objek, jadi semua data
dan fungsi di dalam paradigma ini dibungkus
dalam kelas-kelas atau objek-objek.
Pengantar (2)
• Perbedaan keduanya adalah pada pemrograman
berorientasi objek setiap objek dapat menerima
pesan, memproses data, dan mengirim pesan ke
objek lainnya.
• Sedangkan untuk pemrograman terstruktur
adalah sebuah cara pemrosesan data yang
terstruktur (sistematis) dalam analisa, cara dan
penulisan pemrograman.
Pengantar (3)
• Pemrograman terstruktur unggul dalam melakukan
pemrograman sederhana karena lebih efisien dan
lebih mudah dalam hal perawatannya.
• Sementara itu pemrograman berorientasi objek
memliki beberapa keuntungan seperti :
 Maintenance, program lebih mudah dibaca dan
dipahami, dan pemrograman berorientasi obyek
mengontrol kerumitan program hanya dengan
mengijinkan rincian yang dibutuhkan untuk
programmer.
 Pengubahan program (berupa penambahan atau
penghapusan fitur tertentu) disesuaikan dengan
keperluan berdasarkan objeknya.
Apa itu OOP?
• Paradigma pemrograman yang memandang
sistem yang akan dibangun berdasarkan
objek objek yang terlibat dan interaksinya dalam
sistem.
• Sistem dibangun dengan membuat objek objek
dan menginteraksikannya untuk menyelesaikan
suatu pekerjaan.
• Fungsi dan data menjadi satu kesatuan yang
disebut sebagai Object
• Program adalah serangkaian object yang
berinteraksi untuk menyelesaikan suatu problem.
Pemrograman Berorientasi Objek
• OOP berputar pada konsep dari obyek yang merupakan elemen
dasar dari program.
• Ilustrasinya adalah
 Objek mobil mempunyai atribut tipe transmisi, warna dan
manufaktur, mobil juga mempunyai tingkah laku berbelok,
mengerem dan berakselerasi.
 Cara yang sama pula kita dapat mendefinisikan perbedaan sifat
dan tingkah laku dari singa.

 Pada perangkat lunak, menggunakan atribut sebagai data dan
tingkah laku sebagai method.
Class
• Kumpulan atas definisi data dan fungsi-fungsi
dalam suatu unit untuk suatu tujuan tertentu.
Sebagai contoh 'class of dog' adalah suatu unit yang
terdiri atas definisi-definisi data dan fungsi-fungsi
yang menunjuk pada berbagai macam
perilaku/turunan dari anjing.
• Class adalah suatu struktur dalam program yang
berisi satu atau beberapa metode (dapat berupa
fungsi dan/atau prosedur) dan atribut (dapat
berupa data ataupun variabel yang akan
dipoerasikan dalam metode).
• Dengan demikian atribut merupakan anggota kelas
yang bersifat statis, sedangkan metode merupakan
anggota kelas yang bersifat dinamis.
Object
• Setiap obyek dibangun dari sekumpulan data
(atribut) yang disebut variabel untuk menjabarkan
karakteristik khusus dari obyek, dan juga terdiri
dari sekumpulan method yang menjabarkan
tingkah laku dari obyek.
• Bisa dikatakan bahwa obyek adalah sebuah
perangkat lunak yang berisi sekumpulan variabel
dan method yg berhubungan.
• Sebuah obyek adalah sebuah instance (keturunan)
dari class.
Perbedaan Class dan Object
• Misal, kita memiliki sebuah class mobil dimana dapat digunakan
untuk medefinisikan beberapa obyek mobil. Pada tabel dibawah,
mobil A dan mobil B adalah obyek dari class mobil. Class
memiliki field nomor, plat, warna, manufaktur dan kecepatan
yang diisi dengan nilai pada obyek mobil A dan mobil B. Mobil
juga dapat berakselerasi, berbelok dan melakukan rem.

• Ketika diinisialisi, setiap obyek mendapat satu set variabel yang
baru. Bagaimanapun, implementasi dari method dibagi diantara
objek pada class yang sama. Class menyediakan keuntungan dari
reusability. Programmer perangkat lunak dapat menggunakan
sebuah kelas beberapa kali untuk membuat banyak objek.
Metodologi PBO
• Terdapat 3 (tiga) metodologi dasar PBO yaitu :
1. Pemodulan/pengkapsulan (encapsulation)
2. Penurunan/pewarisan (Inheritance)
3. Polimorfisme (Polimorphism)
Pemodulan/pengkapsulan
(encapsulation)
• Pemodulan adalah metode untuk menggabungkan
data dengan fungsi. Dalam konsep ini data dan fungsi
digabung menjadi satu kesatuan yaitu kelas.
• Konsep ini erat kaitannya dengan konsep
penyembunyian informasi (information hiding).
• Contoh :
Mobil adalah sebuah kelas. Seorang pengendara
mobil tidak harus tahu bagaimana proses kerja mesin
mobilnya, pembakaran bahan bakar, proses
pemindahan transmisi gigi, dan seterusnya. Yang dia
tahu adalah bahwa setir untuk mengendalikan
jalannya mobil, pedal gas untuk menambah
kecepatan, pedal rem untuk mengurangi kecepatan,
dan seterusnya. Singkatnya dia hanya tahu bahwa
mobilnya berjalan dengan baik.
Penurunan/pewarisan (Inheritance)
• Dari konsep penurunan ini suatu kelas bisa
diturunkan menjadi kelas baru yang masih
mewarisi sifat-sifat kelas orangtuanya.
• Hal ini dapat dianalogikan dengan kelas
manusia. Manusia merupakan turunan dari
orang tuanya dan sifat-sifat orang tua diwarisi
olehnya.
• Bisa ditarik kesimpulan bahwa semua kelas di
dunia selalu memiliki hirarki yang
menggambarkan silsilah kelas tersebut.
Penurunan/pewarisan (Inheritance)
• Contoh:
Dari kelas kendaraan bermotor dapat
diturunkan beberapa kelas baru, misalnya:
sepeda motor, sedan, pick-up, mini-bus, dan
kendaraan roda banyak.
Penurunan/pewarisan (Inheritance)
• Contoh 2: kelas sepeda motor mungkin masih dibagi lagi menjadi
dua kelas, yaitu sepeda motor 2 tak dan 4 tak. Sepeda motor 2 tak
mungkin masih dibagi lagi menurut pabrik pembuatnya, seperti
Honda, Suzuki, Yamaha, dan seterusnya. Masing-masing pabrik
mungkin masih mempunyai beberapa kelas turunan lagi, seperti
Honda Astrea Star, Honda Astrea Grand, dan seterusnya.
Keuntungan Pewarisan
• Subclass menyediakan state/behaviour yang
spesifik yang membedakan dengan superclass.
• Memungkinkan programmer untuk
menggunakan ulang source code dari superclass
yang telah ada.
• Programmer dapat mendefinisikan superclass
khusus yang bersifat generik, yang disebut
abstract class, untuk mendefinisikan class
dengan tingkah laku dan state secara secara
umum.
Polimorfisme (Polimorphism)
• Polimorfisme berarti kelas-kelas yang berbeda
tetapi berasal dari satu orang tua dapat mempunyai
metode yang sama tetapi cara pelaksanaannya
berbeda-beda. Atau dengan kata lain, suatu fungsi
akan memiliki perilaku berbeda jika dilewatkan ke
kelas yang berbeda-beda.
• Contoh: kelas untuk input sound system. Sebuah
tape recorder dan CD player memiliki tombol PLAY
yang berfungsi untuk memainkan musik yang
dikehendaki. Tape recorder mengimplementasikan
tombol PLAY dengan membaca isyarat-isyarat yang
terekam di pita magnetis kaset, sedangkan CD
player menggunakan sinar laser untuk membaca
bit-bit digital yang terekam di permukaan CD.
Bahasa Pemrograman
Bahasa pemrograman yang mendukung OOP antara lain:
• Visual Foxpro
• Java
• C++
• Pascal (bahasa pemrograman)
• Visual Basic.NET
• SIMULA
• Smalltalk
• Ruby
• Python
• PHP
• C#
• Delphi
• Eiffel
• Perl
• Adobe Flash AS 3.0
Contoh dalam C++
# include <iostream.h>
const int batas = 80;
class pegawai // kelas induk
{
private:
char nama [batas];
public:
void getdata()
{ cout << endl << " Input Nama : "; cin >> nama; }
void putdata()
{ cout << endl << " Nama : " << nama; }
};
class manajer : public pegawai // kelas turunan
{
private:
char bagian [batas];
double tunjangan;
public:
void getdata()
{ pegawai::getdata(); cout << " Input Bagian: “; cin >> bagian; }
void putdata()
{ pegawai::putdata(); cout << "n Bagian : "<< bagian; }
};

Weitere ähnliche Inhalte

Was ist angesagt?

Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
Ppt: Usability (Interaksi Manusia dan Komputer)
Ppt: Usability (Interaksi Manusia dan Komputer)Ppt: Usability (Interaksi Manusia dan Komputer)
Ppt: Usability (Interaksi Manusia dan Komputer)agungt4565
 
Jawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan SistemJawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan Sistemlonklonk
 
Kriptografi - Steganografi
Kriptografi - SteganografiKriptografi - Steganografi
Kriptografi - SteganografiKuliahKita
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)KuliahKita
 
Mata Kuliah Komunikasi Data dan Jaringan Komputer
Mata Kuliah Komunikasi Data dan Jaringan KomputerMata Kuliah Komunikasi Data dan Jaringan Komputer
Mata Kuliah Komunikasi Data dan Jaringan KomputerBambang
 
Service Operation - Manajemen Layanan Teknologi Informasi
Service Operation - Manajemen Layanan Teknologi InformasiService Operation - Manajemen Layanan Teknologi Informasi
Service Operation - Manajemen Layanan Teknologi InformasiMuhammad Idil Haq Amir
 
Materi Kuliah Data Mining full
Materi Kuliah Data Mining fullMateri Kuliah Data Mining full
Materi Kuliah Data Mining fullMunajat ( Munjob )
 
Algoritma dan Struktur Data (Python) - Perulangan
Algoritma dan Struktur Data (Python) - PerulanganAlgoritma dan Struktur Data (Python) - Perulangan
Algoritma dan Struktur Data (Python) - PerulanganAndiNurkholis1
 
Basis Data - Pengenalan DML dan DDL
Basis Data - Pengenalan DML dan DDLBasis Data - Pengenalan DML dan DDL
Basis Data - Pengenalan DML dan DDLWalid Umar
 
Spesifikasi perangkat lunak
Spesifikasi perangkat lunakSpesifikasi perangkat lunak
Spesifikasi perangkat lunakarfianti
 
Contoh Tugas Proposal Pengelolaan Proyek SI
Contoh Tugas Proposal Pengelolaan Proyek SI Contoh Tugas Proposal Pengelolaan Proyek SI
Contoh Tugas Proposal Pengelolaan Proyek SI nandangiskandar
 
PERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAKDhika The'Lover
 

Was ist angesagt? (20)

Materi 7. array
Materi 7. arrayMateri 7. array
Materi 7. array
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Ppt: Usability (Interaksi Manusia dan Komputer)
Ppt: Usability (Interaksi Manusia dan Komputer)Ppt: Usability (Interaksi Manusia dan Komputer)
Ppt: Usability (Interaksi Manusia dan Komputer)
 
Jawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan SistemJawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan Sistem
 
HTML - Form
HTML - FormHTML - Form
HTML - Form
 
Kriptografi - Steganografi
Kriptografi - SteganografiKriptografi - Steganografi
Kriptografi - Steganografi
 
[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
 
Mata Kuliah Komunikasi Data dan Jaringan Komputer
Mata Kuliah Komunikasi Data dan Jaringan KomputerMata Kuliah Komunikasi Data dan Jaringan Komputer
Mata Kuliah Komunikasi Data dan Jaringan Komputer
 
Service Operation - Manajemen Layanan Teknologi Informasi
Service Operation - Manajemen Layanan Teknologi InformasiService Operation - Manajemen Layanan Teknologi Informasi
Service Operation - Manajemen Layanan Teknologi Informasi
 
Materi Kuliah Data Mining full
Materi Kuliah Data Mining fullMateri Kuliah Data Mining full
Materi Kuliah Data Mining full
 
Algoritma dan Struktur Data (Python) - Perulangan
Algoritma dan Struktur Data (Python) - PerulanganAlgoritma dan Struktur Data (Python) - Perulangan
Algoritma dan Struktur Data (Python) - Perulangan
 
Pertemuan 6 Rekayasa Perangkat Lunak
Pertemuan 6 Rekayasa Perangkat LunakPertemuan 6 Rekayasa Perangkat Lunak
Pertemuan 6 Rekayasa Perangkat Lunak
 
Basis Data - Pengenalan DML dan DDL
Basis Data - Pengenalan DML dan DDLBasis Data - Pengenalan DML dan DDL
Basis Data - Pengenalan DML dan DDL
 
Spesifikasi perangkat lunak
Spesifikasi perangkat lunakSpesifikasi perangkat lunak
Spesifikasi perangkat lunak
 
Contoh Tugas Proposal Pengelolaan Proyek SI
Contoh Tugas Proposal Pengelolaan Proyek SI Contoh Tugas Proposal Pengelolaan Proyek SI
Contoh Tugas Proposal Pengelolaan Proyek SI
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
 
PERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAK
 

Andere mochten auch

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 objekI Putu Arya Dharmaadi
 
Kelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan KonstruktorKelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan KonstruktorI Putu Arya Dharmaadi
 
Pemrograman Berorientasi Objek
Pemrograman Berorientasi ObjekPemrograman Berorientasi Objek
Pemrograman Berorientasi ObjeklombkTBK
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objekNamira Namirah
 
P 3 object_oriented_programming
P 3 object_oriented_programmingP 3 object_oriented_programming
P 3 object_oriented_programmingIrfan Wahyudin
 
OOP - Enkapsulasi
OOP - EnkapsulasiOOP - Enkapsulasi
OOP - EnkapsulasiKuliahKita
 
Pemrograman berbasis objek
Pemrograman berbasis objekPemrograman berbasis objek
Pemrograman berbasis objekRika Pertiwi
 
Pengenalan Pemrograman Komputer - dasar visual basic bagian 1
Pengenalan Pemrograman Komputer - dasar visual basic bagian 1Pengenalan Pemrograman Komputer - dasar visual basic bagian 1
Pengenalan Pemrograman Komputer - dasar visual basic bagian 1Isya Ansyari
 
Event & Property VB - dasar visual basic bagian 4
Event & Property VB - dasar visual basic bagian 4Event & Property VB - dasar visual basic bagian 4
Event & Property VB - dasar visual basic bagian 4Isya Ansyari
 
Source File Compilation & Make Program
Source File Compilation & Make ProgramSource File Compilation & Make Program
Source File Compilation & Make ProgramI Putu Arya Dharmaadi
 
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
 
Teknik pemromgraman sem1
Teknik pemromgraman sem1Teknik pemromgraman sem1
Teknik pemromgraman sem1setioaribowo
 
Kolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLKolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLI Putu Arya Dharmaadi
 
មេរៀនៈ Data Structure and Algorithm in C/C++
មេរៀនៈ Data Structure and Algorithm in C/C++មេរៀនៈ Data Structure and Algorithm in C/C++
មេរៀនៈ Data Structure and Algorithm in C/C++Ngeam Soly
 

Andere mochten auch (20)

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
 
Kelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan KonstruktorKelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan Konstruktor
 
Pengenalan Pemrograman Java
Pengenalan Pemrograman JavaPengenalan Pemrograman Java
Pengenalan Pemrograman Java
 
String Dan Array
String Dan ArrayString Dan Array
String Dan Array
 
Pemrograman Berorientasi Objek
Pemrograman Berorientasi ObjekPemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
PHP (Input Data) dan MySQL
PHP (Input Data) dan MySQLPHP (Input Data) dan MySQL
PHP (Input Data) dan MySQL
 
P 3 object_oriented_programming
P 3 object_oriented_programmingP 3 object_oriented_programming
P 3 object_oriented_programming
 
OOP - Enkapsulasi
OOP - EnkapsulasiOOP - Enkapsulasi
OOP - Enkapsulasi
 
Pemrograman berbasis objek
Pemrograman berbasis objekPemrograman berbasis objek
Pemrograman berbasis objek
 
Pengenalan Pemrograman Komputer - dasar visual basic bagian 1
Pengenalan Pemrograman Komputer - dasar visual basic bagian 1Pengenalan Pemrograman Komputer - dasar visual basic bagian 1
Pengenalan Pemrograman Komputer - dasar visual basic bagian 1
 
Event & Property VB - dasar visual basic bagian 4
Event & Property VB - dasar visual basic bagian 4Event & Property VB - dasar visual basic bagian 4
Event & Property VB - dasar visual basic bagian 4
 
Source File Compilation & Make Program
Source File Compilation & Make ProgramSource File Compilation & Make Program
Source File Compilation & Make Program
 
Android Location
Android LocationAndroid Location
Android Location
 
Pengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniterPengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniter
 
Ac sos
Ac sosAc sos
Ac sos
 
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"
 
Teknik pemromgraman sem1
Teknik pemromgraman sem1Teknik pemromgraman sem1
Teknik pemromgraman sem1
 
Kolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLKolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQL
 
មេរៀនៈ Data Structure and Algorithm in C/C++
មេរៀនៈ Data Structure and Algorithm in C/C++មេរៀនៈ Data Structure and Algorithm in C/C++
មេរៀនៈ Data Structure and Algorithm in C/C++
 

Ähnlich wie Pengantar Pemrograman Berorientasi Objek

Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6ゴースト アノン
 
Pertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOPPertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOPProdiTIPenusa
 
Uts pemrograman berbasis obj
Uts pemrograman berbasis objUts pemrograman berbasis obj
Uts pemrograman berbasis objJulianGultom2
 
APBO Pertemuan Rev01.pptx
APBO Pertemuan Rev01.pptxAPBO Pertemuan Rev01.pptx
APBO Pertemuan Rev01.pptxSamso20
 
Hardini 3201416015 3_b
Hardini 3201416015 3_b Hardini 3201416015 3_b
Hardini 3201416015 3_b Hardini_HD
 
Presentation1.pdf
Presentation1.pdfPresentation1.pdf
Presentation1.pdfRobbyCokro1
 
[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)rizki adam kurniawan
 
rekayaperangkatlunakmateri1pbokelasxisemester1.pptx
rekayaperangkatlunakmateri1pbokelasxisemester1.pptxrekayaperangkatlunakmateri1pbokelasxisemester1.pptx
rekayaperangkatlunakmateri1pbokelasxisemester1.pptxLuthfiFadhlullah1
 
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptxPengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptxDzulFadliRahman1
 
Abu yanto tugas resume aplinet
Abu yanto tugas resume aplinetAbu yanto tugas resume aplinet
Abu yanto tugas resume aplinetabuyanto
 
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptT1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptxirplsmksa
 
Materi-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptxMateri-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptxHallendAfroni1
 
1.introductionto objectorientedprogramming
1.introductionto objectorientedprogramming1.introductionto objectorientedprogramming
1.introductionto objectorientedprogrammingTaufik Hidayat
 
fdokumen.com_bab-1-konsep-oop.ppt
fdokumen.com_bab-1-konsep-oop.pptfdokumen.com_bab-1-konsep-oop.ppt
fdokumen.com_bab-1-konsep-oop.pptAgiHusni
 

Ähnlich wie Pengantar Pemrograman Berorientasi Objek (20)

Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
 
Object oriented programming (oop)
Object oriented programming (oop)Object oriented programming (oop)
Object oriented programming (oop)
 
1. Pengantar Objek.ppt
1. Pengantar Objek.ppt1. Pengantar Objek.ppt
1. Pengantar Objek.ppt
 
Pertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOPPertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOP
 
TD-635-01-PSBO
TD-635-01-PSBOTD-635-01-PSBO
TD-635-01-PSBO
 
Uts pemrograman berbasis obj
Uts pemrograman berbasis objUts pemrograman berbasis obj
Uts pemrograman berbasis obj
 
APBO Pertemuan Rev01.pptx
APBO Pertemuan Rev01.pptxAPBO Pertemuan Rev01.pptx
APBO Pertemuan Rev01.pptx
 
Hardini 3201416015 3_b
Hardini 3201416015 3_b Hardini 3201416015 3_b
Hardini 3201416015 3_b
 
Presentation1.pdf
Presentation1.pdfPresentation1.pdf
Presentation1.pdf
 
[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)
 
rekayaperangkatlunakmateri1pbokelasxisemester1.pptx
rekayaperangkatlunakmateri1pbokelasxisemester1.pptxrekayaperangkatlunakmateri1pbokelasxisemester1.pptx
rekayaperangkatlunakmateri1pbokelasxisemester1.pptx
 
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptxPengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
 
Abu yanto tugas resume aplinet
Abu yanto tugas resume aplinetAbu yanto tugas resume aplinet
Abu yanto tugas resume aplinet
 
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptT1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
 
Materi-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptxMateri-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptx
 
1.introductionto objectorientedprogramming
1.introductionto objectorientedprogramming1.introductionto objectorientedprogramming
1.introductionto objectorientedprogramming
 
Apsi 2
Apsi 2Apsi 2
Apsi 2
 
fdokumen.com_bab-1-konsep-oop.ppt
fdokumen.com_bab-1-konsep-oop.pptfdokumen.com_bab-1-konsep-oop.ppt
fdokumen.com_bab-1-konsep-oop.ppt
 
Pbo1 1
Pbo1 1Pbo1 1
Pbo1 1
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 

Kürzlich hochgeladen

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.pdfAndiCoc
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAppgauliananda03
 
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.pdfWidyastutyCoyy
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaharnosuharno5
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxDedeRosza
 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024RahmadLalu1
 
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.pdfAndiCoc
 
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024editwebsitesubdit
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANwawan479953
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxMOHDAZLANBINALIMoe
 
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.pdfJarzaniIsmail
 
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 & ESSAYNovitaDewi98
 
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.pptxJuliBriana2
 
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...nuraji51
 
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.pptxwawan479953
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...Kanaidi ken
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfEniNuraeni29
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptxSusanSanti20
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxsyahrulutama16
 
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).pptxnursariheldaseptiana
 

Kürzlich hochgeladen (20)

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
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
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
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024
 
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
 
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
 
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
 
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
 
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
 
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...
 
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
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
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
 

Pengantar Pemrograman Berorientasi Objek

  • 1. Pengantar Pemrograman Berorientasi Objek -STRUKTUR DATA- Muhammad Riza Hilmi, ST. rizahilmi@gmail.com
  • 2. Pengantar (1) • Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis, dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. • Pemrograman Berorientasi Objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek, jadi semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.
  • 3. Pengantar (2) • Perbedaan keduanya adalah pada pemrograman berorientasi objek setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. • Sedangkan untuk pemrograman terstruktur adalah sebuah cara pemrosesan data yang terstruktur (sistematis) dalam analisa, cara dan penulisan pemrograman.
  • 4. Pengantar (3) • Pemrograman terstruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih mudah dalam hal perawatannya. • Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :  Maintenance, program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.  Pengubahan program (berupa penambahan atau penghapusan fitur tertentu) disesuaikan dengan keperluan berdasarkan objeknya.
  • 5. Apa itu OOP? • Paradigma pemrograman yang memandang sistem yang akan dibangun berdasarkan objek objek yang terlibat dan interaksinya dalam sistem. • Sistem dibangun dengan membuat objek objek dan menginteraksikannya untuk menyelesaikan suatu pekerjaan. • Fungsi dan data menjadi satu kesatuan yang disebut sebagai Object • Program adalah serangkaian object yang berinteraksi untuk menyelesaikan suatu problem.
  • 6. Pemrograman Berorientasi Objek • OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program. • Ilustrasinya adalah  Objek mobil mempunyai atribut tipe transmisi, warna dan manufaktur, mobil juga mempunyai tingkah laku berbelok, mengerem dan berakselerasi.  Cara yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa.  Pada perangkat lunak, menggunakan atribut sebagai data dan tingkah laku sebagai method.
  • 7. Class • Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. • Class adalah suatu struktur dalam program yang berisi satu atau beberapa metode (dapat berupa fungsi dan/atau prosedur) dan atribut (dapat berupa data ataupun variabel yang akan dipoerasikan dalam metode). • Dengan demikian atribut merupakan anggota kelas yang bersifat statis, sedangkan metode merupakan anggota kelas yang bersifat dinamis.
  • 8. Object • Setiap obyek dibangun dari sekumpulan data (atribut) yang disebut variabel untuk menjabarkan karakteristik khusus dari obyek, dan juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek. • Bisa dikatakan bahwa obyek adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yg berhubungan. • Sebuah obyek adalah sebuah instance (keturunan) dari class.
  • 9. Perbedaan Class dan Object • Misal, kita memiliki sebuah class mobil dimana dapat digunakan untuk medefinisikan beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah obyek dari class mobil. Class memiliki field nomor, plat, warna, manufaktur dan kecepatan yang diisi dengan nilai pada obyek mobil A dan mobil B. Mobil juga dapat berakselerasi, berbelok dan melakukan rem. • Ketika diinisialisi, setiap obyek mendapat satu set variabel yang baru. Bagaimanapun, implementasi dari method dibagi diantara objek pada class yang sama. Class menyediakan keuntungan dari reusability. Programmer perangkat lunak dapat menggunakan sebuah kelas beberapa kali untuk membuat banyak objek.
  • 10. Metodologi PBO • Terdapat 3 (tiga) metodologi dasar PBO yaitu : 1. Pemodulan/pengkapsulan (encapsulation) 2. Penurunan/pewarisan (Inheritance) 3. Polimorfisme (Polimorphism)
  • 11. Pemodulan/pengkapsulan (encapsulation) • Pemodulan adalah metode untuk menggabungkan data dengan fungsi. Dalam konsep ini data dan fungsi digabung menjadi satu kesatuan yaitu kelas. • Konsep ini erat kaitannya dengan konsep penyembunyian informasi (information hiding). • Contoh : Mobil adalah sebuah kelas. Seorang pengendara mobil tidak harus tahu bagaimana proses kerja mesin mobilnya, pembakaran bahan bakar, proses pemindahan transmisi gigi, dan seterusnya. Yang dia tahu adalah bahwa setir untuk mengendalikan jalannya mobil, pedal gas untuk menambah kecepatan, pedal rem untuk mengurangi kecepatan, dan seterusnya. Singkatnya dia hanya tahu bahwa mobilnya berjalan dengan baik.
  • 12. Penurunan/pewarisan (Inheritance) • Dari konsep penurunan ini suatu kelas bisa diturunkan menjadi kelas baru yang masih mewarisi sifat-sifat kelas orangtuanya. • Hal ini dapat dianalogikan dengan kelas manusia. Manusia merupakan turunan dari orang tuanya dan sifat-sifat orang tua diwarisi olehnya. • Bisa ditarik kesimpulan bahwa semua kelas di dunia selalu memiliki hirarki yang menggambarkan silsilah kelas tersebut.
  • 13. Penurunan/pewarisan (Inheritance) • Contoh: Dari kelas kendaraan bermotor dapat diturunkan beberapa kelas baru, misalnya: sepeda motor, sedan, pick-up, mini-bus, dan kendaraan roda banyak.
  • 14. Penurunan/pewarisan (Inheritance) • Contoh 2: kelas sepeda motor mungkin masih dibagi lagi menjadi dua kelas, yaitu sepeda motor 2 tak dan 4 tak. Sepeda motor 2 tak mungkin masih dibagi lagi menurut pabrik pembuatnya, seperti Honda, Suzuki, Yamaha, dan seterusnya. Masing-masing pabrik mungkin masih mempunyai beberapa kelas turunan lagi, seperti Honda Astrea Star, Honda Astrea Grand, dan seterusnya.
  • 15. Keuntungan Pewarisan • Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass. • Memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada. • Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan tingkah laku dan state secara secara umum.
  • 16. Polimorfisme (Polimorphism) • Polimorfisme berarti kelas-kelas yang berbeda tetapi berasal dari satu orang tua dapat mempunyai metode yang sama tetapi cara pelaksanaannya berbeda-beda. Atau dengan kata lain, suatu fungsi akan memiliki perilaku berbeda jika dilewatkan ke kelas yang berbeda-beda. • Contoh: kelas untuk input sound system. Sebuah tape recorder dan CD player memiliki tombol PLAY yang berfungsi untuk memainkan musik yang dikehendaki. Tape recorder mengimplementasikan tombol PLAY dengan membaca isyarat-isyarat yang terekam di pita magnetis kaset, sedangkan CD player menggunakan sinar laser untuk membaca bit-bit digital yang terekam di permukaan CD.
  • 17. Bahasa Pemrograman Bahasa pemrograman yang mendukung OOP antara lain: • Visual Foxpro • Java • C++ • Pascal (bahasa pemrograman) • Visual Basic.NET • SIMULA • Smalltalk • Ruby • Python • PHP • C# • Delphi • Eiffel • Perl • Adobe Flash AS 3.0
  • 18. Contoh dalam C++ # include <iostream.h> const int batas = 80; class pegawai // kelas induk { private: char nama [batas]; public: void getdata() { cout << endl << " Input Nama : "; cin >> nama; } void putdata() { cout << endl << " Nama : " << nama; } }; class manajer : public pegawai // kelas turunan { private: char bagian [batas]; double tunjangan; public: void getdata() { pegawai::getdata(); cout << " Input Bagian: “; cin >> bagian; } void putdata() { pegawai::putdata(); cout << "n Bagian : "<< bagian; } };