Kemal
Pemograman Berorientasi Objek
Maulana Alhasa
Tujuan Pembelajaran
Mahasiswa memahami konsep pemograman berorientasi objek
(object-oriented programing)
01
02
2/2/20XX P R E S E N TAT I O N T I T L E 2
Kontrak Kuliah
Komponen Penilaian Prosentase
*Tugas 40%
**UTS 25%
**UAS 35%
NB:
* Tugasan akan diberikan setiap selepas pembelajaran. Tugasan
dapat dikerjakan dalam berkelompok atau individual
** UTS dan UAS bisa dalam bentuk projek maupun essay
Wajib hadir minimal 11 kali pertemuan dari 14 kali perkuliahan
2/2/20XX P R E S E N T AT I O N T I T L E 3
Tools
IDE yang digunakan selama pembelajaran ini
disarkan menggunakan visual studio code
https://code.visualstudio.com/docs/setup/windows
2/2/20XX P R E S E N T AT I O N T I T L E 4
Buku dan webiste
Rujukan
https://www.tutorialspoint.com/cplusplus/index.htm
https://www.w3schools.com/CPP/default.asp
2/2/20XX P R E S E N T AT I O N T I T L E 5
Kemal Maulana Alhasa Marojahan Tampubolon
Dr Dr
Dosen Pengajar
2/2/20XX P R E S E N T AT I O N T I T L E 6
Agenda Hari Ini
1. Algoritma
2. Isu program terstruktur / procedural
3. Apa itu PBO
4. PBO VS Pemograman tersrtuktur
5. Konsep PBO
6. Kelebihan PBO
7. Contoh-contoh penerapan PBO dalam Bahasa
pemograman C++
2/2/20XX P R E S E N T AT I O N T I T L E 7
Apa itu Algoritma?
• Algoritma adalah urutan langkah-langkah penyelesaian
masalah yang disusun secara sistematis dan logis.
• Pada hakikatnya algoritma dapat berbeda-beda bergantung
kepada orang yang membuatnya.
• Algoritma dapat diterjemahkan kedalam berbagai bahasa
pemograman.
• Algoritma sebaiknya dibuat dengan instruksi yang jelas dan
tidak ambigu
• Input dan output didalam sebuah algoritma harus jelas.
• Akhir dari algoritma tidak boleh berada di loop yang tak
terbatas
• Algoritma harus efektif
2/2/20XX P R E S E N T AT I O N T I T L E 8
Penyajian Algoritma.
Menggunakan Bahasa natural
(Bahasa Manusia)
Menggunakan flowchart
(Bagan Alir)
Menggunakan Pseudocode
2/2/20XX P R E S E N T AT I O N T I T L E 9
Penyajian Algoritma.
System Flowchart
• Bagan alir yang menunjukkan proses pekerjaan
yang dilakukan oleh sebuah sistem
Program Flowchart
• Bagan alir yang menjelaskan secara terperinci
mengenai alur kerja dari sebuah program komputer
2/2/20XX P R E S E N T AT I O N T I T L E 10
Simbol Flowchart
Gambar Nama Fungsi Gambar Nama Fungsi
Proses pemberian nilai awal
Garis alir Arah aliran program Inialisasi pada suatu parameter
Arah aliran program
Terminator Permulaan dan akhir program Predifined proses Sub program / sub proses
2/2/20XX P R E S E N T AT I O N T I T L E 11
Kenapa Perlu
menggunakan
PBO (OOP)?
2/2/20XX P R E S E N T AT I O N T I T L E 13
Program
Prosedural
2/2/20XX P R E S E N T AT I O N T I T L E 14
Apa itu PBO
(OOP)?
2/2/20XX P R E S E N T AT I O N T I T L E 15
PBO VS Procedural
PBO Prosudural
Program dibagi menjadi beberapa bagian Program dipecah menjadi bagian-bagian kecil
yang disebut object yang disebut function
Orientasinya kepada data bukan function Orientasinya bukan pada data melainkan
atau prosedural kepada function
Menyediakan hiding data sehingga lebih Tidak mempunyai protokok untuk hidden data
aman sehingga kurang aman
Contoh program OOP : C++, JAVA, Contoh program POP : C, VB, FORTRAN,
C#, VB.NET Pascal
2/2/20XX P R E S E N T AT I O N T I T L E 16
PBO
Class
Objects
Konsep PBO
2/2/20XX P R E S E N T AT I O N T I T L E 17
Konsep PBO?
2/2/20XX P R E S E N T AT I O N T I T L E 18
Apa itu Object ?
2/2/20XX P R E S E N T AT I O N T I T L E 19
Apa itu Class?
2/2/20XX P R E S E N T AT I O N T I T L E 20
Class and object example in C++
2/2/20XX P R E S E N T AT I O N T I T L E 21
Apa itu Pembungkusan
(encapsulation)
2/2/20XX P R E S E N T AT I O N T I T L E 22
Car
Kelajuan
Tukar roda gigi
rem
Dapat diakses
tidak dapat diakses
Example ecapsulation
2/2/20XX P R E S E N T AT I O N T I T L E 23
Apa itu Abstraksi
2/2/20XX P R E S E N T AT I O N T I T L E 24
Contoh Abstraksi in C++
2/2/20XX P R E S E N T AT I O N T I T L E 25
Apa itu Pewarisan
/ inheritance ?
2/2/20XX P R E S E N TAT I O N T I T L E 26
Contoh inheritance in C++
2/2/20XX P R E S E N T AT I O N T I T L E 27
Apa itu Polimorfisme
2/2/20XX P R E S E N T AT I O N T I T L E 28
Contoh Polimorfisme di C++
2/2/20XX P R E S E N T AT I O N T I T L E 29
Kelebihan PBO
2/2/20XX P R E S E N T AT I O N T I T L E 32
Ada dua software yang perlu
dipasang di komputer anda
Local • Teks editor, beberapa editor yang biasa
Environment digunakan seperti notepad, notepad++,
codelite, Visual studio code, vim or vi.
Setup File yang ditulis didalam editor disimpan
dengan ektension .cpp, .cp, atau .c.
• Memerlukan C++ compiler digunakan
untuk mengkompilasi code yang telah
ditulis menjadi program akhir yang dapat
dieksekusi.
2/2/20XX P R E S E N TAT I O N T I T L E 33
Struktur Program C++
2/2/20XX P R E S E N T AT I O N T I T L E 34
C++ Tokens
Keywords
Special
Identifiers
symbol
C++
Tokens
Operators Constants
String
2/2/20XX P R E S E N T AT I O N T I T L E 35
Keyword
Merupakan kata yang maknanya telah diketahui oleh compiler, sehingga tidak perlu lagi
didefinisikan kembali. Sifat dari keyword ini adalah tetap (fixed) atau tidak dapat dirubah.
2/2/20XX P R E S E N T AT I O N T I T L E 36
Identifier
Merupakan cara pemberian nama kepada sebuah variable, fungsi, array, struktur, dll.
Terdapat beberapa rules yang perlu diperhatikan dalam pemberian nama di pemograman C++
Pemberian huruf pertama pada nama harus dalam bentuk alphabet atau
underscore
Octal (034, 0,
Integer constant
0564)
Floating (0.67,
Real constant
212.345)
constant
Single (quote)
2/2/20XX P R E S E N T AT I O N T I T L E 38
Backlash character
2/2/20XX P R E S E N T AT I O N T I T L E 39
Buatlah satu algoritma yang berhubungan dengan bidang keahlian anda
Jelaskan perbedaan antara paradigma program terstruktur dan PBO
Sebutkan konsep PBO dan berikan contoh yang berhubungan dengan bidang keahliah anda
Install software editor dan compiler untuk menjalankan pemograman C++ di komputer atau laptop
Buatlah program sederhana “hello world”
Assignment
2/2/20XX P R E S E N T AT I O N T I T L E 40
Thank you
Kemal Maulana Alhasa
kemal.maulana@lecturer.umn.ac.id
2/2/20XX P R E S E N T AT I O N T I T L E 41