Pemrograman Berorientasi Objek (Object Oriented Programming) Imam Fahrur Rozi
Intro Algoritma dan Pemrograman (Alpro) Pemrograman Berorientasi Objek (PBO)
Intro ALPRO • Mempelajari cara membuat rangkaian logika untuk menyelesaikan masalah (Algoritma) • Memodelkan Algoritma dalam bentuk Flowchart • Mempelajari elemen dasar pemrograman komputer (variabel, tipe data, operator, seleksi kondisi : if, if-‐else, switch-‐ case, perulangan : for, while, do-‐ while, array, fungsi)
PBO • Mempelejari tentang paradigma membuat program berorientasi objek
Pengertian OOP (1)
* OOP : Paradigma pemrograman yang memandang suatu program sebagai kumpulan OBJEK-‐OBJEK yang saling berinteraksi * Ketika merancang program dengan menggunakan paradigma OOP, berarti yang paling mendasar harus dilakukan adalah identifikasi OBJEK-‐OBJEK yang ada dan saling berinteraksi dalam sistem
Pengertian OOP (2) * Perbandingan OOP dengan Structural Programming * OOP : * Program dipandang sebagai kumpulan OBJEK
* Structural Programming : * Program dipandang sebagai kumpulan FUNGSI atau PROSES atau PROSEDUR
Pengertian OOP (3)
* Contoh OOP vs Structural Programming SISTEM INFORMASI AKADEMIK OOP
Structural Programming
Kumpulan Objek seperti :
Kumpulan Fungsi seperti :
* Mahasiswa
* melihatKHS()
* Dosen
* mengubahDataMhs()
* Matakuliah
* memasukkanDataAbsensi()
* Staf Administrasi
* memasukkanMataKuliah()
* Absensi, dsb
* MencetakKHS(), dsb
OBJEK
* Sesuatu yang NYATA dan bukan sekedar rancangan * Bersifat khusus * Contoh OBJEK: * Matakuliah OOP, Matakuliah Alpro, Matakuliah Basis Data, dsb * Kucing, Kambing, Sapi, Harimau dsb * Mobil Kijang, Mobil Panther, Mobil Honda Jazz dsb
CLASS
* RANCANGAN atau TEMPLATE atau BLUE PRINT yang digunakan untuk menggambarkan atau membuat objek * Bersifat umum
CLASS vs OBJEK CLASS
OBJEK
Masih berupa Rancangan/ template/ Sudah nyata (bukan sekedar blue print rancangan lagi) Template untuk membuat objek
Hasil realisasi dari class, atau sesuatu bentuk nyata yang dibuat dari class
Contoh:
Contoh:
* Mobil
* Mobil Kijang, Mobil Panther, Honda Jazz, dsb
* Matakuliah
* Matakuliah OOP, Alpro, Basisdata dsb
* Hewan
* Sapi, Kucing, Kambing, dsb
* dsb
*dsb
Ilustrasi Class & Objek
CLASS
OBJECT
Karakteristik Class & Objek * Memiliki : * Atribut/Data/Properti/State/Karakter : Data atau properti yang dimiliki oleh class/objek * Method/Fungsi/Prosedur/Behaviour : Perilaku atau sesuatu yang bisa dilakukan oleh suatu class/objek
* Contoh: * Class: Mahasiswa * Atribut: nim, nama, ipk, alamat * Method: melihatIpk(), mengubahBiodata(), melihatKHS() dsb
Contoh Class CLASS
ATRIBUT
METHOD
Komputer
*Monitor *RAM *Hard Disk *PowerSupply *Processor
*menyimpanData() *menampilkanData() *reboot() *shutDown() *start()
Mobil
*Velg *Warna *Produsen *Transmisi
*tambahKecepatan() *mengerem() *berhenti() *berjalan *berbelok()
Contoh Class dan Objek CLASS MOBIL Atribut
Method
OBJEK MOBIL KIJANG OBJEK MOBIL HONDA JAZZ
Velg
Racing
Racing
Warna
Abu-‐Abu
Silver
Produsen
Toyota
Honda
Transmisi
Manual
Otomatis
tambahKecepatan() mengerem() berhenti()
Diagram Class
* Diagram untuk menggambarkan desain Class Mobil velg warna produsen transmisi tambahKecepatan() mengerem() berhenti()
Nama Class Daftar Atribut
Daftar Method
Cara Membuat Class
* Dengan menggunakan kata kunci class * Diikuti dengan nama class * Format: class NamaClass{….} * Nama klas diawalai dengan huruf besar. Jika terdiri dari lebih dari 1 kata, maka antar kata satu dengan kata yang lain digandeng, dan tiap huruf awal dari tiap kata menggunakan huruf besar * Biasanya berupa KATA BENDA
Contoh Coding Class
class Mahasiswa { //atribut dan method } class MahasiswaReguler{ //atribut dan method }
Cara Membuat Atribut
* Cara memuat atribut sama dengan membuat variabel * Format: tipedata namaVariabel; * Nama variabel diawali dengan huruf kecil. Jika terdiri dari lebih dari 1 kata, maka antar kata satu dengan yang lain digandeng. Kata pertama diawali huruf kecil, dan kata selanjutnya diawali dengan huruf besar.
Contoh Atribut
String velg; String warna; int jumRoda;
Cara Membuat Method
* Sama dengan membuat fungsi * Format: tipedata namaMethod(daftar_parameter){…} * Aturan penamaan method=aturan penamaan atribut
Contoh Method
void tambahKecepatan(){ //isi method } void inputAbsen(char absen, int jumlah){ //isi method }
Pembuatan Objek * Objek dibuat dari Class * Sebelum membuat objek, harus dibuat class lebih dulu, yang mana dari class tsb nantinya objek akan dibuat * Proses membuat objek dari suatu class à INSTANSIASI * Ditandai kata kunci new * Aturan penamaan objek=penamaan atribut * Format: NamaClass namaObjek = new NamaClass();
Contoh Instansiasi
* Membuat objek dari klas Mahasiswa Mahasiswa m = new Mahasiswa(); * Membuat objek dari klas Sepeda Sepeda sp1 = new Sepeda();
Contoh: Diagram Class à Class (1)
Mahasiswa nim: String nama: String ipk: float umur: int tampilBiodataMhs(): void tampilIpk(): void
Contoh: Diagram Class à Class (2)
* Kode program class Mahasiswa di atas masih berupa rancangan. Agar bisa digunakan, maka harus dibuat objek.
Contoh (2)
Sepeda kecepatan: float gigi: int start(): void kurangiKecepatan(float v): void tambahKecepatan(float v): void stop(): void
Contoh (2)
Latihan
Kalkulator operan1: int operan2: int hasil: float tambah(): void kurang(): void kali(): void bagi(): void
Latihan
* Suatu program digunakan untuk menghitung luas dan keliling persegi panjang. Persegi panjang memiliki panjang dan lebar. Rumus luas persegi panjang= panjang*lebar Rumus keliling persegi panjang=2*(panjang+lebar) * Buat diagram klas dan programnya