SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
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
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".

Contenu connexe

Tendances

Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Melina Krisnawati
 
Romi oop-02-javafundamentals-29agustus2010
Romi oop-02-javafundamentals-29agustus2010Romi oop-02-javafundamentals-29agustus2010
Romi oop-02-javafundamentals-29agustus2010
SabilaAulia
 
Modul praktikum 3 cluster
Modul praktikum 3   clusterModul praktikum 3   cluster
Modul praktikum 3 cluster
DeiHart DeiHart
 
Algotitma dan Struktur Algoritma - Collection
Algotitma dan Struktur Algoritma - CollectionAlgotitma dan Struktur Algoritma - Collection
Algotitma dan Struktur Algoritma - Collection
Siska Amelia
 

Tendances (20)

Laporan praktikum Algoritma dan Pemrograman pertemuan 13
Laporan praktikum Algoritma dan Pemrograman pertemuan 13Laporan praktikum Algoritma dan Pemrograman pertemuan 13
Laporan praktikum Algoritma dan Pemrograman pertemuan 13
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 10
Laporan praktikum Algoritma dan Pemrograman pertemuan 10Laporan praktikum Algoritma dan Pemrograman pertemuan 10
Laporan praktikum Algoritma dan Pemrograman pertemuan 10
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 11
Laporan praktikum Algoritma dan Pemrograman pertemuan 11Laporan praktikum Algoritma dan Pemrograman pertemuan 11
Laporan praktikum Algoritma dan Pemrograman pertemuan 11
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
Modul 3 pbo(1)
Modul 3 pbo(1)Modul 3 pbo(1)
Modul 3 pbo(1)
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection
 
Job 11 sebenarnya
Job 11 sebenarnyaJob 11 sebenarnya
Job 11 sebenarnya
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Laporan praktikum Algoritma dan Pemrograman pertemuan 15Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
 
Modul 4 pbo
Modul 4 pboModul 4 pbo
Modul 4 pbo
 
Romi oop-02-javafundamentals-29agustus2010
Romi oop-02-javafundamentals-29agustus2010Romi oop-02-javafundamentals-29agustus2010
Romi oop-02-javafundamentals-29agustus2010
 
inheritance
inheritanceinheritance
inheritance
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 12
Laporan praktikum Algoritma dan Pemrograman pertemuan 12Laporan praktikum Algoritma dan Pemrograman pertemuan 12
Laporan praktikum Algoritma dan Pemrograman pertemuan 12
 
Laporan Praktikum Pertemuan 1, PBO
Laporan Praktikum Pertemuan 1, PBOLaporan Praktikum Pertemuan 1, PBO
Laporan Praktikum Pertemuan 1, PBO
 
04.47 JAVA SE_more on static
04.47 JAVA SE_more on static04.47 JAVA SE_more on static
04.47 JAVA SE_more on static
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
 
Modul praktikum 3 cluster
Modul praktikum 3   clusterModul praktikum 3   cluster
Modul praktikum 3 cluster
 
Algotitma dan Struktur Algoritma - Collection
Algotitma dan Struktur Algoritma - CollectionAlgotitma dan Struktur Algoritma - Collection
Algotitma dan Struktur Algoritma - Collection
 
Revitalia purba
Revitalia purbaRevitalia purba
Revitalia purba
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
 

Similaire à 2.other oop basic

Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
Alvin Setiawan
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
Jurnal IT
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
rahmi wahyuni
 
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceJeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Individual Consultants
 
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
Jurnal IT
 
Laporan8
Laporan8Laporan8
Laporan8
Sa Lam
 

Similaire à 2.other oop basic (20)

Java4
Java4Java4
Java4
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
 
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceJeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
 
9150 8 interface
9150 8  interface9150 8  interface
9150 8 interface
 
Nelly
NellyNelly
Nelly
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
 
Tutorial borland c tea.
Tutorial borland c tea.Tutorial borland c tea.
Tutorial borland c tea.
 
Muhammad Firdaus
Muhammad FirdausMuhammad Firdaus
Muhammad Firdaus
 
Blog.yuna
Blog.yuna Blog.yuna
Blog.yuna
 
class-diagram.pptx
class-diagram.pptxclass-diagram.pptx
class-diagram.pptx
 
Laporan8
Laporan8Laporan8
Laporan8
 
Modul xi dan xii algo
Modul xi dan xii algoModul xi dan xii algo
Modul xi dan xii algo
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
31322 2 class & object
31322 2 class & object31322 2 class & object
31322 2 class & object
 
Pemrograman Android
Pemrograman AndroidPemrograman Android
Pemrograman Android
 

Plus de Robbie AkaChopa

[Www.akachopa.com]sbmptn 2013 tpa
[Www.akachopa.com]sbmptn 2013 tpa[Www.akachopa.com]sbmptn 2013 tpa
[Www.akachopa.com]sbmptn 2013 tpa
Robbie AkaChopa
 
[Www.akachopa.com]sbmptn 2013 tkdu
[Www.akachopa.com]sbmptn 2013 tkdu[Www.akachopa.com]sbmptn 2013 tkdu
[Www.akachopa.com]sbmptn 2013 tkdu
Robbie AkaChopa
 
[Www.akachopa.com]sbmptn 2013 soshum
[Www.akachopa.com]sbmptn 2013 soshum[Www.akachopa.com]sbmptn 2013 soshum
[Www.akachopa.com]sbmptn 2013 soshum
Robbie AkaChopa
 
[Www.akachopa.com]sbmptn 2013 saintek
[Www.akachopa.com]sbmptn 2013 saintek[Www.akachopa.com]sbmptn 2013 saintek
[Www.akachopa.com]sbmptn 2013 saintek
Robbie AkaChopa
 
Jadwal pembekalan kkn 73 kelompok iv fak. pertanian, fak. teknik 12 13 juni 2...
Jadwal pembekalan kkn 73 kelompok iv fak. pertanian, fak. teknik 12 13 juni 2...Jadwal pembekalan kkn 73 kelompok iv fak. pertanian, fak. teknik 12 13 juni 2...
Jadwal pembekalan kkn 73 kelompok iv fak. pertanian, fak. teknik 12 13 juni 2...
Robbie AkaChopa
 
Snmptn 2012 tbs [akachopa.com]
Snmptn 2012 tbs [akachopa.com]Snmptn 2012 tbs [akachopa.com]
Snmptn 2012 tbs [akachopa.com]
Robbie AkaChopa
 
Snmptn 2012 ipa [akachopa.com]
Snmptn 2012 ipa [akachopa.com]Snmptn 2012 ipa [akachopa.com]
Snmptn 2012 ipa [akachopa.com]
Robbie AkaChopa
 
Snmptn 2012 tpa [akachopa.com]
Snmptn 2012 tpa [akachopa.com]Snmptn 2012 tpa [akachopa.com]
Snmptn 2012 tpa [akachopa.com]
Robbie AkaChopa
 
Snmptn 2012 ips [akachopa.com]
Snmptn 2012 ips [akachopa.com]Snmptn 2012 ips [akachopa.com]
Snmptn 2012 ips [akachopa.com]
Robbie AkaChopa
 
Inferensi statistik satu populasi
Inferensi statistik satu populasiInferensi statistik satu populasi
Inferensi statistik satu populasi
Robbie AkaChopa
 

Plus de Robbie AkaChopa (20)

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

Dernier

Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
pipinafindraputri1
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
novibernadina
 

Dernier (20)

BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRegresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
 
Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptx
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 

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
  • 4.
  • 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".