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;
}
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());
}
}
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
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