SlideShare a Scribd company logo
Other OOP Basic
Konsep penting
 Method overloading
 Encapsulation
 this keyword
 final
 static
Visualisasi Class
 Class divisualisasikan dalam UML sebagai
kotak persegi dengan 3 ruang:
◦ Nama : identitas kelas
◦ Variabel (atribut, state, field): atribut kelas
◦ Method (behavior, function, operation) :
perilaku kelas
2.other oop basic
Method Overloading
 Method overloading: nama methodnya
sama namun beda implementasinya.
 Perbedaan implementasi: dibedakan oleh
parameternya (jumlah parameter, tipe data
parameter, urutan parameter)
Contoh
Method Overloading pada
Constructor
// Define the Circle class
public class Circle { // Save as "Circle.java"
// Private variables
private double radius;
private String color;
// Constructors (overloaded)
public Circle() { // 1st Constructor
radius = 1.0;
color = "red";
}
public Circle(double r) { // 2nd Constructor
radius = r;
color = "red";
}
public Circle(double r, String c) { // 3rd Constructor
radius = r;
color = c;
}
}
Kelas Circle memiliki 3
method Constructor.
Method mana yang dipilih
akan disesuaikan dengan
parameter yang digunakan
sewaktu mencipta objek
Circle.
Jika tidak ketemu
padanannya akan muncul
error kompilasi
public vs private
 public: class/variabel/method dapat diakses
oleh semua objek dalam sistem.
 private: variabel/method dapat diakses
oleh kelas itu sendiri
Pada UML:
public dinotasikan
dengan +
private dinotasikan
dengan -
Encapsulation
 Objek tidak seharusnya membuka lebar
semua informasi mengenainya.Ada
informasi yang harus ditutupi dari klien.
◦ Nasabah tidak perlu tahu proses di dalam
mesin ATM sewaktu penarikan
 Encapsulation adalah teknik
mempaketkan informasi dengan
menyembunyikan segala hal yg harus
disembunyikan dan menampakkan segala
hal yang bisa ditampakkan.
Encapsulation
 Satu class me-encapsulate/ membungkus
data (dalam variabel) dan algoritma (dalam
method).
 Nilai dari variabel menggambarkan
kondisinya (state)
 Method menggambarkan perilakunya
(behavior)
Information Hiding
 Variabel di-encapsulate
dalam class dengan
menggunakan akses private.
 Untuk mencapainya kita
panggil/buat method
accessor yang public.
 Objek saling berkomunikasi
antar sesamanya dengan
menggunakan antar-muka
(method public).
 Implementasi dalam
method di-encapsulate
dalam class.
Keyword this
 Keyword this digunakan untuk merujuk pada objek
ini dalam suatu class.
 Kegunaannya untuk menghilangkan ambigu.
 this dapat digunakan untuk variabel dan method.
 Pada constructor, this digunakan untuk memanggil
constructor lain.
Method toString()
 Method toString() merupakan salah satu method dasar
yang ada dalam class Object, yang akan mengembalikan
String.
 Setiap class dalam Java, sebaiknya mengoverride method
toString() dengan cara mencetak deskripsi umum dari
objek tersebut.
Constant (final)
 Constant pada Java menggunakan
keyword final.
 Variabel final hanya bisa diberi nilai sekali
dan tidak bisa diubah.
Static
 Variabel static: variabel
class
 Variabel static akan
diinisialisasi ketika
kelas diinisialisasi.
Walaupun ada banyak
objek hasil ciptaan
suatu class yang
memiliki variabel static,
variabel staticnya
tetaplah satu
(kepunyaan class)
classTest
{
static int a=10;
static int b =100;
}
Variabel static dapat diakses seperti
ini:
Test.a=100;
Test.b=200;
Cara di bawah juga valid:
Test t1=newTest();
Test t2=newTest();
t1.a=100;
t2.a=100;
Contoh
// The Circle class definition
public class Circle { // Save as "Circle.java"
// Public constants
public static final double DEFAULT_RADIUS = 8.8;
public static final String DEFAULT_COLOR = "red";
// Private variables
private double radius;
private String color;
// Constructors (overloaded)
public Circle() { // 1st Constructor
radius = DEFAULT_RADIUS;
color = DEFAULT_COLOR;
}
public Circle(double radius) { // 2nd Constructor
this.radius = radius;
color = DEFAULT_COLOR;
}
public Circle(double radius, String color) { // 3rd Constructor
this.radius = radius;
this.color = color;
}
// Public getter and setter for private variables
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
// toString() to provide a short description of this instance
public String toString() {
return "Circle with radius = " + radius + " and color of " +
color;
}
// Public methods
public double getArea() {
return radius*radius*Math.PI;
}
}
Kerjasama Objek
 Pada suatu aplikasi berbasis objek, aplikasi
tersebut menciptakan objek yang saling
berkolaborasi di dalam memori
Latihan
Permainan Daduku dimainkan oleh dua pemain. Setiap pemain
yang mendapat giliran akan melempar dua dadu bersamaan.
Nilai yang muncul pada kedua dadu mempunyai nilai tertentu,
seperti di bawah:
Kombinasi Skor
* Nilai 1 muncul hanya pada satu dadu 100
* Nilai 5 muncul hanya pada satu dadu 50
* Kedua dadu menampilkan nilai 2 200
* Kedua dadu menampilkan nilai 3 150
* Kedua dadu menampilkan nilai 6 250
Salah satu pemain akan dinyatakan menang jika berhasil
mengumpulkan nilai lebih dari 1000.
Ada berapa class yang terlibat pada permainan ini?
Class yang terlibat pada permainan
Daduku
Dadu
- sisi : int
+ Dadu ()
+ getSisi () : int
+ setSisi (sisi : int) : void
+ lemparDadu () : void
+ toString () : String
Pemain
- nama : String
- nilai : int
+ Pemain (nama:String)
+ getNama () : String
+ setNama (nama : String) : void
+ getNilai () :int
+ setNilai (skor : int) : void
+ toString () : String
Permainan
- ?
- ?
Latihan
 Gender bisa :‘l’ || ‘p’ atau ‘L’ || ‘P’
 Method toString() mengembalikan "author-
name (gender) at email", e.g.,“Amira (p) at
amira@somewhere.com".
Latihan
 Asumsi: buku dikarang oleh satu pengarang saja.
 Method toString() that returns "'book-name' by author-
name (gender) at email".
Gunakan method Author's toString(), yg mengembalikan
"author-name (gender) at email".

More Related Content

PPT
Pert 4. class dan objek
PDF
Analisis klaster
PPTX
analisis kluster
PDF
Modul prak2 constructor dan overloading
PPTX
Pert 04 clustering data mining
PDF
Belajar mudah algoritma data mining k means
PDF
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
PPT
modul Java dasar fundamental (OOP)
Pert 4. class dan objek
Analisis klaster
analisis kluster
Modul prak2 constructor dan overloading
Pert 04 clustering data mining
Belajar mudah algoritma data mining k means
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
modul Java dasar fundamental (OOP)

What's hot (20)

DOCX
Laporan praktikum Algoritma dan Pemrograman pertemuan 13
DOCX
Laporan praktikum Algoritma dan Pemrograman pertemuan 10
DOCX
Laporan praktikum Algoritma dan Pemrograman pertemuan 11
DOCX
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
PDF
Modul 3 pbo(1)
PDF
[PBO] Pertemuan 10 - Generic Programming & Collection
DOCX
Job 11 sebenarnya
DOCX
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
DOCX
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
PDF
Modul 4 pbo
PPTX
Romi oop-02-javafundamentals-29agustus2010
PPT
inheritance
DOCX
Laporan praktikum Algoritma dan Pemrograman pertemuan 12
DOCX
Laporan Praktikum Pertemuan 1, PBO
DOCX
04.47 JAVA SE_more on static
PDF
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
PDF
Modul praktikum 3 cluster
DOCX
Algotitma dan Struktur Algoritma - Collection
DOC
Revitalia purba
PDF
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Laporan praktikum Algoritma dan Pemrograman pertemuan 13
Laporan praktikum Algoritma dan Pemrograman pertemuan 10
Laporan praktikum Algoritma dan Pemrograman pertemuan 11
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Modul 3 pbo(1)
[PBO] Pertemuan 10 - Generic Programming & Collection
Job 11 sebenarnya
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Modul 4 pbo
Romi oop-02-javafundamentals-29agustus2010
inheritance
Laporan praktikum Algoritma dan Pemrograman pertemuan 12
Laporan Praktikum Pertemuan 1, PBO
04.47 JAVA SE_more on static
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
Modul praktikum 3 cluster
Algotitma dan Struktur Algoritma - Collection
Revitalia purba
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Ad

Similar to 2.other oop basic (20)

PDF
Network programming 03- Pemrograman Java Lanjutan
PPT
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
PPTX
03-Konsep Objet oriented programmingII.pptx
PDF
Presentation1.pdf
DOCX
analisa konstruktor mm.docx analisa data
PDF
Konsep-Object-dan-Class dalam pemrograman.pdf
PDF
Modul Object Oriented Programming
PPTX
CCIT OOP Pertemuan 1
PDF
Modul Pemrograman Berorientasi Objek
PPT
1. konsep pbo
PPT
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
PPTX
PRAKTIKUM PBO PERTEMUAN 5 (3).pptx
PDF
Pertemuan 13 Object Oriented Program (OOP)
PPTX
2_enkapsulasi.pptx
DOCX
Laporan PBO pratikum 2
DOCX
Laporan8
PPTX
Pemograman berorientasi objek
PDF
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
PPT
dasar OOP
PPTX
Object-Oriented-Programming-New-OOP.pptx
Network programming 03- Pemrograman Java Lanjutan
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
03-Konsep Objet oriented programmingII.pptx
Presentation1.pdf
analisa konstruktor mm.docx analisa data
Konsep-Object-dan-Class dalam pemrograman.pdf
Modul Object Oriented Programming
CCIT OOP Pertemuan 1
Modul Pemrograman Berorientasi Objek
1. konsep pbo
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
PRAKTIKUM PBO PERTEMUAN 5 (3).pptx
Pertemuan 13 Object Oriented Program (OOP)
2_enkapsulasi.pptx
Laporan PBO pratikum 2
Laporan8
Pemograman berorientasi objek
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
dasar OOP
Object-Oriented-Programming-New-OOP.pptx
Ad

More from Robbie AkaChopa (20)

PPTX
Monetisasi blog 1
PDF
[Www.akachopa.com]sbmptn 2013 tpa
PDF
[Www.akachopa.com]sbmptn 2013 tkdu
PDF
[Www.akachopa.com]sbmptn 2013 soshum
PDF
[Www.akachopa.com]sbmptn 2013 saintek
PDF
Jadwal pembekalan kkn 73 kelompok iv fak. pertanian, fak. teknik 12 13 juni 2...
PDF
Hasil seleksisnmptn2014
PDF
Snmptn 2012 tbs [akachopa.com]
PDF
Snmptn 2012 ipa [akachopa.com]
PDF
Snmptn 2012 tpa [akachopa.com]
PDF
Snmptn 2012 ips [akachopa.com]
PDF
Soal stat
PDF
10. deadlock
PDF
09 sinkronisasi proses
PDF
Inferensi statistik satu populasi
PPT
Chapter08
PDF
Inferensi statistik
PDF
Tabel distribusi
PDF
Indonesian quran-wb
PDF
Al quran-pdf
Monetisasi blog 1
[Www.akachopa.com]sbmptn 2013 tpa
[Www.akachopa.com]sbmptn 2013 tkdu
[Www.akachopa.com]sbmptn 2013 soshum
[Www.akachopa.com]sbmptn 2013 saintek
Jadwal pembekalan kkn 73 kelompok iv fak. pertanian, fak. teknik 12 13 juni 2...
Hasil seleksisnmptn2014
Snmptn 2012 tbs [akachopa.com]
Snmptn 2012 ipa [akachopa.com]
Snmptn 2012 tpa [akachopa.com]
Snmptn 2012 ips [akachopa.com]
Soal stat
10. deadlock
09 sinkronisasi proses
Inferensi statistik satu populasi
Chapter08
Inferensi statistik
Tabel distribusi
Indonesian quran-wb
Al quran-pdf

Recently uploaded (20)

PPTX
Bahan Tayang OJT Pembelajaran Mendalam KS
DOCX
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
PDF
Lembar Kerja Mahasiswa Konsep Sistem Operasi
PPTX
Mind_Map_Modul_5_Pedagogik_Koding_AI.pptx
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
PPTX
Bahan Presentasi Persamaan Elips .pptx
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
DOCX
LKPD_Bab_1_Informatika_Kelas_9. : Informatika dan Keterampilan Generikdocx
PPTX
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PDF
Pengenalan Undang-undang pengakap laut.pdf
PDF
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
PPTX
ppt kelas XII materi sifat koligatif larutan
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 11 SMA Terbaru 2025
PPTX
2. Modul 2 Fase C Berpikir Komputasional.pptx
PDF
Deck Rumah Pendidikan untuk Mendukung Program Prioritas Kemendikdasmen.pdf
Bahan Tayang OJT Pembelajaran Mendalam KS
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
Lembar Kerja Mahasiswa Konsep Sistem Operasi
Mind_Map_Modul_5_Pedagogik_Koding_AI.pptx
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
Bahan Presentasi Persamaan Elips .pptx
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
LKPD_Bab_1_Informatika_Kelas_9. : Informatika dan Keterampilan Generikdocx
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
Pengenalan Undang-undang pengakap laut.pdf
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
ppt kelas XII materi sifat koligatif larutan
Modul Ajar Deep Learning PAI & BP Kelas 11 SMA Terbaru 2025
2. Modul 2 Fase C Berpikir Komputasional.pptx
Deck Rumah Pendidikan untuk Mendukung Program Prioritas Kemendikdasmen.pdf

2.other oop basic

  • 2. Konsep penting  Method overloading  Encapsulation  this keyword  final  static
  • 3. Visualisasi Class  Class divisualisasikan dalam UML sebagai kotak persegi dengan 3 ruang: ◦ Nama : identitas kelas ◦ Variabel (atribut, state, field): atribut kelas ◦ Method (behavior, function, operation) : perilaku kelas
  • 5. Method Overloading  Method overloading: nama methodnya sama namun beda implementasinya.  Perbedaan implementasi: dibedakan oleh parameternya (jumlah parameter, tipe data parameter, urutan parameter)
  • 7. Method Overloading pada Constructor // Define the Circle class public class Circle { // Save as "Circle.java" // Private variables private double radius; private String color; // Constructors (overloaded) public Circle() { // 1st Constructor radius = 1.0; color = "red"; } public Circle(double r) { // 2nd Constructor radius = r; color = "red"; } public Circle(double r, String c) { // 3rd Constructor radius = r; color = c; } } Kelas Circle memiliki 3 method Constructor. Method mana yang dipilih akan disesuaikan dengan parameter yang digunakan sewaktu mencipta objek Circle. Jika tidak ketemu padanannya akan muncul error kompilasi
  • 8. public vs private  public: class/variabel/method dapat diakses oleh semua objek dalam sistem.  private: variabel/method dapat diakses oleh kelas itu sendiri Pada UML: public dinotasikan dengan + private dinotasikan dengan -
  • 9. Encapsulation  Objek tidak seharusnya membuka lebar semua informasi mengenainya.Ada informasi yang harus ditutupi dari klien. ◦ Nasabah tidak perlu tahu proses di dalam mesin ATM sewaktu penarikan  Encapsulation adalah teknik mempaketkan informasi dengan menyembunyikan segala hal yg harus disembunyikan dan menampakkan segala hal yang bisa ditampakkan.
  • 10. Encapsulation  Satu class me-encapsulate/ membungkus data (dalam variabel) dan algoritma (dalam method).  Nilai dari variabel menggambarkan kondisinya (state)  Method menggambarkan perilakunya (behavior)
  • 11. Information Hiding  Variabel di-encapsulate dalam class dengan menggunakan akses private.  Untuk mencapainya kita panggil/buat method accessor yang public.  Objek saling berkomunikasi antar sesamanya dengan menggunakan antar-muka (method public).  Implementasi dalam method di-encapsulate dalam class.
  • 12. Keyword this  Keyword this digunakan untuk merujuk pada objek ini dalam suatu class.  Kegunaannya untuk menghilangkan ambigu.  this dapat digunakan untuk variabel dan method.  Pada constructor, this digunakan untuk memanggil constructor lain.
  • 13. Method toString()  Method toString() merupakan salah satu method dasar yang ada dalam class Object, yang akan mengembalikan String.  Setiap class dalam Java, sebaiknya mengoverride method toString() dengan cara mencetak deskripsi umum dari objek tersebut.
  • 14. Constant (final)  Constant pada Java menggunakan keyword final.  Variabel final hanya bisa diberi nilai sekali dan tidak bisa diubah.
  • 15. Static  Variabel static: variabel class  Variabel static akan diinisialisasi ketika kelas diinisialisasi. Walaupun ada banyak objek hasil ciptaan suatu class yang memiliki variabel static, variabel staticnya tetaplah satu (kepunyaan class) classTest { static int a=10; static int b =100; } Variabel static dapat diakses seperti ini: Test.a=100; Test.b=200; Cara di bawah juga valid: Test t1=newTest(); Test t2=newTest(); t1.a=100; t2.a=100;
  • 16. Contoh // The Circle class definition public class Circle { // Save as "Circle.java" // Public constants public static final double DEFAULT_RADIUS = 8.8; public static final String DEFAULT_COLOR = "red"; // Private variables private double radius; private String color; // Constructors (overloaded) public Circle() { // 1st Constructor radius = DEFAULT_RADIUS; color = DEFAULT_COLOR; } public Circle(double radius) { // 2nd Constructor this.radius = radius; color = DEFAULT_COLOR; } public Circle(double radius, String color) { // 3rd Constructor this.radius = radius; this.color = color; } // Public getter and setter for private variables public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } // toString() to provide a short description of this instance public String toString() { return "Circle with radius = " + radius + " and color of " + color; } // Public methods public double getArea() { return radius*radius*Math.PI; } }
  • 17. Kerjasama Objek  Pada suatu aplikasi berbasis objek, aplikasi tersebut menciptakan objek yang saling berkolaborasi di dalam memori
  • 18. Latihan Permainan Daduku dimainkan oleh dua pemain. Setiap pemain yang mendapat giliran akan melempar dua dadu bersamaan. Nilai yang muncul pada kedua dadu mempunyai nilai tertentu, seperti di bawah: Kombinasi Skor * Nilai 1 muncul hanya pada satu dadu 100 * Nilai 5 muncul hanya pada satu dadu 50 * Kedua dadu menampilkan nilai 2 200 * Kedua dadu menampilkan nilai 3 150 * Kedua dadu menampilkan nilai 6 250 Salah satu pemain akan dinyatakan menang jika berhasil mengumpulkan nilai lebih dari 1000. Ada berapa class yang terlibat pada permainan ini?
  • 19. Class yang terlibat pada permainan Daduku Dadu - sisi : int + Dadu () + getSisi () : int + setSisi (sisi : int) : void + lemparDadu () : void + toString () : String Pemain - nama : String - nilai : int + Pemain (nama:String) + getNama () : String + setNama (nama : String) : void + getNilai () :int + setNilai (skor : int) : void + toString () : String Permainan - ? - ?
  • 20. Latihan  Gender bisa :‘l’ || ‘p’ atau ‘L’ || ‘P’  Method toString() mengembalikan "author- name (gender) at email", e.g.,“Amira (p) at amira@somewhere.com".
  • 21. Latihan  Asumsi: buku dikarang oleh satu pengarang saja.  Method toString() that returns "'book-name' by author- name (gender) at email". Gunakan method Author's toString(), yg mengembalikan "author-name (gender) at email".