Bab-1A-Lanjutan-Konsep-OOP.pptBab-1A-Lanjutan-Konsep-OOP

AlexanderJPSibarani1 0 views 41 slides Sep 12, 2025
Slide 1
Slide 1 of 41
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41

About This Presentation

Bab-1A-Lanjutan-Konsep-OOP


Slide Content

PEMROGRAMAN BERORIENTASI OBJEKPEMROGRAMAN BERORIENTASI OBJEK
KONSEP PEMROGRAMAN
BERORIENTASI OBJEK
Zarnelly, S.Kom, M.Sc

Paradigma PemrogramanParadigma Pemrograman

PEMROGRAMAN PROSEDURALPEMROGRAMAN PROSEDURAL
Dalam pemrograman prosedural,
sebuah program akan dibagi menjadi
beberapa sub-program (modul) yang
akan melakukan tugas-tugas tertentu.
Modul bisa dibuat oleh user atau
diambil dari library program lainnya.
Dalam sebuah modul, bisa terdiri dari
satu atau lebih prosedur.

PEMROGRAMAN BERORIENTASI PEMROGRAMAN BERORIENTASI
OBJEKOBJEK
Pemrograman yang didasarkan pada objek-objek, yaitu
suatu unit terkecil dari program yang mengandung
data dan fungsi yang bekerja atas objek tersebut.
Pemrograman yang dibangun dengan cara membungkus
(enkapsulasi) komponennya menjadi kelompok data
dan fungsi yang dapat mewarisi atribut dan sifat dari
komponen lainnya, dan komponen-komponen tersebut
dapat berinteraksi satu sama lainnya.

OOP VS PROSEDURALOOP VS PROSEDURAL
Sistem
Akademik
Dosen Jadwal Kuliah
Mahasiswa
Kontrak
Kuliah
Konteks
Pengambilan
Kuliah
Penjadwalan Penilaian
Dekomposisi berdasarkan objek atau konsep Dekomposisi berdasarkan fungsi atau proses
Metodologi Berorientasi Objek Metodologi Berorientasi Fungsi

PERANGKAT LUNAK OBJEKPERANGKAT LUNAK OBJEK
Perangkat lunak yang dibangun dari kelas-
kelas dan objek-objek yang saling
berinteraksi satu sama lainnya.
•Kelas
Deskripsi statis dari sesuatu.
•Objek
Sesuatu yang diciptakan (instansiasi) dari
kelas.

KELAS DAN OBJEKKELAS DAN OBJEK
Sebuah kelas menentukan struktur
dan tingkah laku sebuah objek
Kelas adalah cetak biru dari objek,
mendefinisikan atribut (state) dan
perilaku (behaviour/method) dari
objek
Objek adalah instans dari kelas

KELAS DAN OBJEKKELAS DAN OBJEK
Contoh
Kelas Mahasiswa memiliki atribut
NIM, Nama, Alamat, dan memiliki
perilaku (behaviour/method) seperti
melakukan registrasi, perkuliahan,
ujian, praktikum, dll.

KELAS DAN OBJEKKELAS DAN OBJEK
Ani, Budi, dan Gunawan adalah objek
(instans) dari kelas mahasiswa. Mereka
masing-masing memiliki atribut-atribut
nama, nim, alamat (yang nilainya
masing-masing berbeda). Mereka juga
memiliki behaviour yang sama yaitu
melakukan registrasi, perkuliahan,
ujian, praktikum.

FITUR PEMROGRAMAN BERORIENTASI
OBJEK

DESAIN KELAS DAN OBJEKDESAIN KELAS DAN OBJEK
Kelas adalah cetak-biru dari obyek.
Seperti halnya semua cetak-biru
dalam kehidupan sehari-hari, kelas
merupakan acuan bagaimana obyek
itu dibentuk, data apa saja yang
disimpan oleh obyek, dan operasi-
operasi apa saja yang dapat
dilakukan oleh obyek.

Struktur dasar sebuah kelas pada
intinya ada 4 bagian, yaitu :
•deklarasi kelas;
•deklarasi dan inisialisasi atribut;
•pendefinisian method;
•komentar.

Pada pemrograman Java, pendeklarasian
kelas dilakukan dengan menggunakan
syntax sebagai berikut :
[modifier] class class_identifier
Contoh:
public class Barang {
………
}

Deklarasi variabel dilakukan di dalam
kelas. Variabel yang didefinisikan di
kelas merupakan atribut dari kelas
tersebut
Sintaks deklarasi variabel:
[modifiers] data_type identifier [ = value ] ;

Method merepresentasikan operasi-operasi yang dapat
dilakukan oleh obyek. Dalam penulisan, yang
membedakan method dan variabel adalah : method
selalu diakhiri dengan ( ) atau (< nama argumen >).
Pendeklarasiannya juga berbeda, yaitu dengan
menambahkan blok { ... } dan mengisi blok tersebut
dengan baris-baris program. Bentuk umum penulisan
deklarasi method adalah sebagai berikut :
 [modifiers] return_type method_identifier ([arguments]){
method_code_block;
}

PEMBUATAN KELASPEMBUATAN KELAS
Diagram UML (Unified Modeling Language)
SegiEmpat
+panjang: double
+lebar: double
+setPanjang(p: double)
+setLebar(l: double)
+hitungLuas(): double
+hitungKeliling(): double

public class SegiEmpatc{
//deklarasi variabel (atribut)
public double panjang;
public double lebar;
//deklarasi method
public void setPanjang(double p){
panjang = p;
}
public void setLebar(double l){
lebar = l;
}

public double hitungLuas(){
return panjang*lebar;
}
public double
hitungKeliling(){
return 2*(panjang + lebar);
}}

package sg4c;
public class Main {
public static void main(String[] args) {
SegiEmpatc se1 = new SegiEmpatc(); //pembentukan objek
SegiEmpatc se2 = new SegiEmpatc(); // pembentukan objek
se1.setPanjang(10);
se1.setLebar(5);
se2.setPanjang(5.5);
se2.setLebar(2.3);
System.out.println("Luas segi empat 1 ="+se1.hitungLuas());
System.out.println("Keliling segi empat 2 ="+se2.hitungKeliling());
}
}

KELAS DENGAN METHOD MAINKELAS DENGAN METHOD MAIN
SegiEmpat
+panjang: double
+lebar: double
+setPanjang(p: double)
+setLebar(l: double)
+hitungLuas(): double
+hitungKeliling(): double
+main(args: String[])

public class SegiEmpat{
public double panjang;
public double lebar;
public void setPanjang(double p){
panjang = p;
}
public void setLebar(double l){
lebar = l;
}
public double hitungLuas(){
return panjang*lebar;
}
public double hitungKeliling(){
return 2*(panjang + lebar);
}
public static void main(String[] args){
SegiEmpat se1;
se1 = new SegiEmpat(); //pembentukan objek
SegiEmpat se2 = new SegiEmpat(); // pembentukan objek
se1.setPanjang(10);
se1.setLebar(5);
se2.setPanjang(5.5);
se2.setLebar(2.3);
System.out.println("Luas segi empat 1 ="+se1.hitungLuas());
System.out.println(“Keliling segi empat 2 ="+se2.hitungKeliling());
}
}

KELAS DENGAN KONSTRUKTORKELAS DENGAN KONSTRUKTOR
SegiEmpat
+panjang: double
+lebar: double
+SegiEmpat()
+SegiEmpat(p: double, l: double)
+setPanjang(p: double)
+setLebar(l: double)
+hitungLuas(): double
+hitungKeliling(): double
+main(args: String[])
SegiEmpat
+panjang: double
+lebar: double
+setPanjang(p: double)
+setLebar(l: double)
+hitungLuas(): double
+hitungKeliling(): double
+main(args: String[])

Package SG42
public class SegiEmpat{
public double panjang;
public double lebar;
//deklarasi konstruktor
public SegiEmpat(){
}
public SegiEmpat(double p, double l){
panjang = p;
lebar = l;
}

public void setPanjang(double p){
panjang = p;
}
public void setLebar(double l){
lebar = l;
}
public double hitungLuas(){
return panjang*lebar;
}
public double hitungKeliling(){
return 2*(panjang + lebar);
}

public static void main(String[] args){
SegiEmpat se1;
se1 = new SegiEmpat(); //pembentukan objek
se1.setPanjang(10);
se1.setLebar(5);
SegiEmpat se2 = new SegiEmpat(5.5,2.3); // pembentukan objek
SegiEmpat se3 = new SegiEmpat(7,8);
System.out.println("Luas segi empat 1 ="+se1.hitungLuas());
System.out.println(“Keliling segi empat 2
="+se2.hitungKeliling());
System.out.println("Luas segi empat 3 ="+se3.hitungLuas());
}
}

Menghitung Rata-Rata 3 Menghitung Rata-Rata 3
bilanganbilangan
Buat program menggunakan
Constructor untuk menghitung rata-
rata 3 bilangan,
Objek R1 = (1,2,3)
Objek R2 = (4,5,6)
Objek R3 = (7,8,9)
Cetak Rata-rata setiap objek

FITUR PEMROGRAMAN FITUR PEMROGRAMAN
BERORIENTASI OBJEKBERORIENTASI OBJEK
ABSTRAKSI
ENKAPSULASI
PEWARISAN
POLYMORPHISM

I. ABTSRAKSII. ABTSRAKSI
Abstraksi adalah suatu proses
mendaftarkan entitas-entitas (benda-
benda) yang akan berinteraksi dalam
suatu aplikasi
Entitas-entitas tersebut nantinya
akan menjadi kelas, dan dari kelas
lahirlah objek

Setelah entitas-entitas didaftarkan,
maka selanjutnya ditentukan sifat-
sifat (state/atribut) dan hal yang
dapat dilakukan oleh entitas tersebut
(behaviour/method)

Misalnya dalam sistem kepegawaian,
dimana didalamnya terdapat banyak
entitas di antaranya adalah pegawai.
Didalam entitas pegawai terdapat
atribut-atribut yang akan
membedakan satu pegawai dengan
pegawai lainnya, misalkan NIP,
Nama, Alamat, Tanggal Lahir, dll.

Dalam aplikasi yang akan dibuat, entitas-
entitas tersebut akan menjadi kelas-kelas.
Di dalam kelas-kelas inilah didefinisikan
atribut-atribut dan method-method
Kelas adalah blue print dari objek. Dari
kelas lahirlah objek
Kelas tidak memiliki data, tapi objeklah
yang menyimpan data

2. Enkapsulasi2. Enkapsulasi
Enkapsulasi adalah suatu cara untuk
menyembunyikan implementasi detil
(berupa atribut atau method) dari
suatu kelas.
Dalam OOP, kebutuhan akan
enkapsulasi muncul karena adanya
sharing data antar method

2. Enkapsulasi 2. Enkapsulasi
Contoh

3.PEWARISAN (INHERITANCE)3.PEWARISAN (INHERITANCE)
Salah satu fitur yang paling kuat dalam OOP adalah
penggunaan kode kembali (code reuse). Sekali sebuah
prosedur dibuat, maka kita bisa menggunakannya
berulang kali
Dalam OOP, kemampuan yang dimiliki tidak hanya itu.
Kita juga bisa mendefinisikan hubungan antar kelas yang
tidak hanya dimanfaatkan untuk code reuse, tapi juga
dari segi pendesainannya yang jauh lebih baik, yaitu
dengan cara mengelola kelas-kelas dan faktor kemiripan
di antara kelas-kelas tersebut.

Fitur pewarisan (inheritance)
mengijinkan sebuah kelas, yang
disebut superclass, untuk
menurunkan atribut-atribut dan
method-methodnya kepada kelas
lainnya yang disebut subclass (child)

Terdapat beberapa karakteristik dari subclass:
- subclass adalah bentuk khusus dari sebuah
superclass
- dalam sebuah subclass terdapat atribut dan
method yang diturunkan dari superclass
- subclass bisa memiliki fitur tambahan yang
berbeda dari fitur-fitur yang diturunkan dari
superclass-nya

CONTOH PEWARISANCONTOH PEWARISAN

JENIS-JENIS PEWARISANJENIS-JENIS PEWARISAN
Single inheritance, yaitu hanya
terdapat satu superclass
Multiple inheritance, yaitu terdapat
lebih dari satu superclass. Bahasa
Java tidak mengakomodasi multiple
inheritance

4.POLYMORPHISM4.POLYMORPHISM
Polymorphisme artinya sesuatu yang
memiliki banyak bentuk
Sebagai contoh, objek wanita memiliki
beberapa peran:
- bagi suami, ia adalah seorang istri
- bagi anak, ia adalah seorang ibu
- di tempat kerja, ia adalah seorang
karyawati

Dalam OOP, polymorphism adalah sebuah
fitur yang memungkinkan kita untuk
memberikan arti atau penggunaan yang
berbeda bagi sebuah entitas dalam
konteks yang berbeda-beda.
Entitas tersebut bisa berupa variabel,
method, atau sebuah objek
Tags