Pemrograman Berorientasi Objek
Tim Pengampu Pemrograman Berorientasi Objek
Departemen Informatika
Universitas Diponegoro
Pengenalan Kuliah
01
Materi, Kriteria Penilaian, Referensi, Pola Belajar
Deskripsi Mata Kuliah
Sub CPMK
Materi (Sebelum UTS)
Materi (Setelah UTS)
Kriteria Penilaian
Semua komponen wajib diikuti oleh mahasiswa :�Baru, Perbaikan, atau Ulang (B/P/U)
Referensi
Perkuliahan
Pola Belajar
1 SKS artinya …
50 menit/ minggu/ semester
60 menit/ minggu/ semester
60 menit/ minggu/ semester
Tatap
Muka
Penugasan Terstruktur
Kegiatan Mandiri
Tools
Membuat dan Menjalankan Program Java
Writing Code
Compile
Run
Object Oriented
02
Pokok Bahasan
Review: Paradigma Prosedural (lanj.)
Struktur Data + Algoritma = Program
Review: Paradigma Prosedural (lanj.)
Inggriani Liem, Diktat Kuliah Dasar Pemrogram (Bagian Pemrograman Prosedural), ITB
Review: Abstract Data Type (ADT)
Review: Abstract Data Type (ADT)
Modul | Realisasi File Kode |
Definisi dan Spesifikasi Type dan Primitif | File header dengan ekstensi .h |
Body/ Realisasi Primitif | File kode dengan esktensi .c |
Main Program/Driver | File kode program utama dengan ekstensi .c |
Modul Titik
DEKLARASI/DEFINISI & SPESIFIKASI TIPE & PROTOTIPE
type Titik = < x:integer, y:integer >
procedure MakeTitik(output T:Titik)
{I.S: - ; F.S: T terdefinisi }
{Proses mengisi absis dan ordinat dengan 0}
procedure SetAbsis(Input/Output T: Titik, Input newX: integer)
{I.S: T terdefinisi}
{F.S: nilai absis T diubah dengan nilai newX}
BODY/REALISASI PROTOTIPE
procedure MakeTitik(output T:Titik)
Kamus lokal
-
Algoritma
T.x 🡨 0
T.y 🡨 0
procedure SetAbsis(Input/Output T: Titik, Input newX: integer)
{Mengubah nilai komponen absis dari T}
KAMUS LOKAL
ALGORITMA
T.absis 🡨 newX
Program MTitik
{Main program yang menggunakan ADT Titik}
KAMUS
use Titik
T1,T2: Titik
ALGORITMA
T1 🡨 MakeTitik()
T2 🡨 MakeTitik()
SetAbsis(T1,3)
SetAbsis(T2,-8)
Main Program
Objek Oriented
Object
Object
Class
Object & Class
Object | Class |
Objek adalah abstraksi dari sesuatu yang mewakili sesuatu pada dunia nyata. | Class adalah kumpulan objek yang mempunyai state dan behavior yang sama. |
Objek adalah instansiasi dari sebuah class. | Class adalah template (blueprint) untuk objek-objeknya. |
Objek adalah entitas pada saat runtime (dinamik). | Class adalah definisi statik dari entitas. |
Object �& Class
https://nonlineardata.com/wp-content/uploads/2020/11/Car_Class.png
Object & Class
https://thebabatalks.blogspot.com/2019/08/classes-in-java.html
Identitiy
Class Diagram
Notasi UML
Notasi Algortimik
class Titik
{atribut}
absis: real
ordinat: real
{method}
procedure Titik()
absis <- 0
ordinat <- 0;
function getAbsis()-> real
-> this.absis
function getOrdinat()-> real
-> this.ordinat
procedure setAbsis(input x:real)
this.absis <- x
procedure setOrdinat(input y:real)
this.ordinat <- y
{end class Titik}
Notasi Algortimik
class Titik {
//atribut
double absis;
double ordinat;
//method
Titik(){
this.absis = 0;
this.ordinat = 0;
}
double getAbsis(){
return this.absis;
}
double getOrdinat(){
return this.Ordinat;
}
void setAbsis(double x){
this.absis = x;
}
void setOrdinat(double y){
this.ordinat = y;
}
} //end class Titik
Notasi Java
class Titik
{atribut}
absis: real
ordinat: real
{method}
procedure Titik()
this.absis <- 0
this.ordinat <- 0;
function getAbsis()-> real
-> this.absis
function getOrdinat()-> real
-> this.ordinat
procedure setAbsis(input x:real)
this.absis <- x
procedure setOrdinat(input y:real)
this.ordinat <- y
{end class Titik}
Main Program Titik (Java)
public class MTitik {
public static void main(String[] args) {
//Membuat objek titik T1
Titik T1 = new Titik();
T1.setAbsis(3);
T1.setOrdinat(3);
//Menampilkan titik T1
System.out.println(T1.getAbsis());
System.out.println(T1.getOrdinat());
}
}
class MTitik {
main() {
//Membuat objek titik T1
T1: Titik
T1 <- new Titik();
T1.setAbsis(3);
T1.setOrdinat(3);
//Menampilkan titik T1
output(T1.getAbsis());
output(T1.getOrdinat());
}
}
Karakteristik OOP
OOP
Abstraction
Encapsulation
Inheritance
Polymorphism
Encapsulation
Encapsulation
http://miro.medium.com/max/552/0*m8rZxUoWejR-ARJB.jpeg
Abstraction
Saat menggunakan Smartphone, pengguna hanya perlu mengetahui tombol-tombol apa yang diperlukan untuk melakukan sesuatu, selanjutnya proses-proses apa yang terjadi di dalam internal Smarphone “disembunyikan” dari pengguna.
Inheritance / Pewarisan
Inheritance / Pewarisan
https://cdn-images-1.medium.com/max/1080/1*gRily1Y6mlrOETJeKRgvgw.png
Inheritance / Pewarisan
https://miro.medium.com/max/4336/1*xPR1IbBKNz7d-lyvXQ_dMA.png
Polymorphism
Kelebihan OOP
Kesimpulan
Some important characteristics of OOP:
Review Questions
03
Soal 1
Empat pilar utama pemrograman berorientasi objek adalah:
Soal 2
Objek yang dimaksud dalam pemrograman berorientasi objek memiliki....
Soal 3
Detil data yang ada dalam objek hanya boleh diakses melalui....
Soal 4
Berikut ini semuanya contoh bahasa pemrograman berorientasi objek adalah....