Class & Object (1) Imam Fahrur Rozi
Target
* Mereview posisi dan konsep dasar OOP, terutama tentang Class dan Object * Memahami Diagram Class * Memahami cara membuat Class * Memahami cara membuat Atribut * Memahami cara membuat Method * Memahami cara membuat Objek / Instansiasi
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
REVIEW 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
REVIEW 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
REVIEW 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
REVIEW 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
REVIEW CLASS
* RANCANGAN atau TEMPLATE atau BLUE PRINT yang digunakan untuk menggambarkan atau membuat objek * Bersifat umum
REVIEW 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
REVIEW Ilustrasi Class & Objek
CLASS
OBJECT
REVIEW 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
REVIEW 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()
REVIEW 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 membuat atribut sama dengan membuat variabel * Format:
1
2
TIPE_DATA NAMA_ATRIBUT
* Tipe data dari suatu atribut menentukan jenis nilai apa yang akan disimpan dalam atribut yang bersangkutan * Nama atribut 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; float ipk; Nama Atribut Tipe Data
Nilai yang akan disimpan dalam atribut velg berupa string
Cara Membuat Method
* Sama dengan membuat fungsi * Format: 2 1
3
TIPE_DATA NAMA_METHOD (DAFTAR_ARGUMEN, …) { //isi method //isi method 4 }
* Aturan penamaan method=aturan penamaan atribut
Cara Membuat Method * Tipe Data Method : * Menentukan nilai yang akan dikembalikan/dikeluarkan oleh suatu method * Kata kunci untuk mengembalikan/mengeluarkan suatu nilai adalah return * Method dengan tipe data void, berarti tidak memiliki nilai kembalian, berarti tidak memerlukan kata kunci return di dalamnya * Method dengan tipe data bukan void, berarti memerlukan suatu nilai kembalian, berarti harus memerlukan return di dalamnya * Nilai yang dikembalikan suatu method harus sesuai dengan tipe data method
Contoh Method void sayHello(){ TIDAK PERLU System.out.println(“Hello World!!”); RETURN / TIDAK ADA NILAI } KEMBALIAN • TIPE DATA METHOD INT, BERARTI int tambah (int a, int b){ METHOD TSB HARUS MENGEMBALIKAN NILAI INT int hasil = a+b; • HARUS ADA RETURN return hasil; }
Cara Membuat Method * Argumen Method : * Argumen biasa juga disebut parameter * Argumen digunakan untuk memasukkan nilai dari luar method untuk diolah di dalam method * Argumen method bisa lebih dari satu, juga bisa tidak ada sama sekali (tidak memiliki argumen) * Format pembuatan argumen sama dengan format pembuatan variabel (tipe_data nama_argumen)
Contoh Method TIDAK MEMILIKI ARGUMEN
void sayHello(){ System.out.println(“Hello World!!”); } MEMILIKI 2 ARGUMEN int tambah (int a, int b){ int hasil = a+b; return hasil; }
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) INSTANSIASI MENGAKSES ATRIBUT DARI SUATU OBJEK
* Kode program class Mahasiswa di atas masih berupa rancangan. Agar bisa digunakan, maka harus dibuat objek. MEMANGGIL/MENJALANKAN METHOD
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