class%&%object%(1) - ifrozi.files.wordpress.com · *oop%:paradigma%pemrogramanyang memandang%...

32
Class & Object (1) Imam Fahrur Rozi

Upload: hoangdan

Post on 19-Jun-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

Class  &  Object  (1)  Imam  Fahrur  Rozi  

Page 2: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  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  

Target  

Page 3: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

Intro  

Algoritma  dan  Pemrograman  (Alpro)  

Pemrograman  Berorientasi  Objek  (PBO)  

Page 4: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

ALPRO   PBO  

•  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)  

•  Mempelejari  tentang  paradigma  membuat  program  berorientasi  objek  

Intro  

Page 5: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  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  (1)  

Page 6: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  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  (2)  

Page 7: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  Contoh  OOP  vs  Structural  Programming  

REVIEW  Pengertian  OOP  (3)  

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  

Page 8: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  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  OBJEK  

Page 9: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  RANCANGAN  atau  TEMPLATE  atau  BLUE  PRINT  yang  digunakan  untuk  menggambarkan  atau  membuat  objek  *  Bersifat  umum  

REVIEW  CLASS  

Page 10: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

CLASS   OBJEK  

Masih  berupa  Rancangan/  template/blue  print  

Sudah  nyata  (bukan  sekedar  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  CLASS  vs  OBJEK  

Page 11: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

REVIEW  Ilustrasi  Class  &  Objek  

CLASS   OBJECT  

Page 12: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  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  Karakteristik  Class  &  Objek  

Page 13: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

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  

Page 14: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

CLASS  MOBIL   OBJEK  MOBIL  KIJANG   OBJEK  MOBIL  HONDA  JAZZ  

Atribut   Velg   Racing   Racing  

Warna   Abu-­‐Abu   Silver  

Produsen   Toyota   Honda  

Transmisi   Manual   Otomatis  

Method   tambahKecepatan()  

mengerem()  

berhenti()  

REVIEW  Contoh  Class  dan  Objek  

Page 15: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  Diagram  untuk  menggambarkan  desain  Class  

Diagram  Class  

Mobil  

velg  warna  produsen  transmisi  

tambahKecepatan()  mengerem()  berhenti()  

Nama  Class  

Daftar  Atribut  

Daftar  Method  

Page 16: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  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  

Cara  Membuat  Class  

Page 17: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

class  Mahasiswa  {    //atribut  dan  method  

}    class  MahasiswaReguler{  

 //atribut  dan  method  }  

Contoh  Coding  Class  

Page 18: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  Cara  membuat  atribut  sama  dengan  membuat  variabel  *  Format:    

*  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.  

Cara  Membuat  Atribut  

TIPE_DATA    NAMA_ATRIBUT  1  

2  

Page 19: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

String  velg;  String  warna;  int  jumRoda;  float  ipk;      

Contoh  Atribut  

Nilai  yang  akan  disimpan  dalam  atribut  velg  berupa  string  

Tipe  Data  Nama  Atribut  

Page 20: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  Sama  dengan  membuat  fungsi  *  Format:    

 *  Aturan  penamaan  method=aturan  penamaan  atribut  

Cara  Membuat  Method  

TIPE_DATA    NAMA_METHOD  (DAFTAR_ARGUMEN,  …)  {    //isi  method    //isi  method  

}  

1  

2   3  

4  

Page 21: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  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  

Cara  Membuat  Method  

Page 22: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

void  sayHello(){    System.out.println(“Hello  World!!”);  

}    int  tambah  (int  a,  int  b){  

 int  hasil  =  a+b;    return  hasil;  

}  

Contoh  Method    

TIDAK  PERLU  RETURN  /    TIDAK  ADA  NILAI  KEMBALIAN  

•  TIPE  DATA  METHOD  INT,  BERARTI  METHOD  TSB  HARUS  MENGEMBALIKAN  NILAI  INT  

•  HARUS  ADA  RETURN  

Page 23: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  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)  

Cara  Membuat  Method  

Page 24: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

void  sayHello(){    System.out.println(“Hello  World!!”);  

}    int  tambah  (int  a,  int  b){  

 int  hasil  =  a+b;    return  hasil;  

}  

Contoh  Method    

TIDAK  MEMILIKI  ARGUMEN  

MEMILIKI  2  ARGUMEN  

Page 25: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

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

Pembuatan  Objek  

Page 26: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  Membuat  objek  dari  klas  Mahasiswa  Mahasiswa  m  =  new  Mahasiswa();  *  Membuat  objek  dari  klas  Sepeda  Sepeda  sp1  =  new  Sepeda();  

Contoh  Instansiasi  

Page 27: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

Contoh:  Diagram  Class  à  Class  (1)  

Mahasiswa  

nim:  String  nama:  String  ipk:  float  umur:  int  

tampilBiodataMhs():  void  tampilIpk():  void  

Page 28: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  Kode  program  class  Mahasiswa  di  atas  masih  berupa  rancangan.  Agar  bisa  digunakan,  maka  harus  dibuat  objek.  

Contoh:  Diagram  Class  à  Class  (2)  INSTANSIASI  

MENGAKSES  ATRIBUT    DARI  SUATU  OBJEK  

MEMANGGIL/MENJALANKAN    METHOD  

Page 29: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

Contoh  (2)  

Sepeda  

kecepatan:  float  gigi:  int  

start():  void  kurangiKecepatan(float  v):  void  tambahKecepatan(float  v):  void  stop():  void  

Page 30: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

Contoh  (2)  

Page 31: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

Latihan  

Kalkulator  

operan1:  int  operan2:  int  hasil:  float  

tambah():  void  kurang():  void  kali():  void  bagi():  void  

Page 32: Class%&%Object%(1) - ifrozi.files.wordpress.com · *OOP%:Paradigma%pemrogramanyang memandang% suatuprogram sebagai%kumpulan%OBJEKOBJEK& yang saling%berinteraksi% * Ketika%merancangprogram

*  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  

Latihan