0% menganggap dokumen ini bermanfaat (0 suara)
66 tayangan

Java Fundamental Oop

Dokumen tersebut membahas tentang konsep dasar OOP (Object Oriented Programming) dalam bahasa pemrograman Java. Ia menjelaskan bahwa OOP memfokuskan pada penggunaan kelas dan objek, serta karakteristik utama OOP seperti abstraksi, pembungkusan, pewarisan, dan polimorfisme. Dokumen tersebut juga membandingkan pendekatan prosedural dan OOP, serta memberikan contoh kode untuk mengilustrasikan konsep-konsep ter

Diunggah oleh

abimanyudcse
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
66 tayangan

Java Fundamental Oop

Dokumen tersebut membahas tentang konsep dasar OOP (Object Oriented Programming) dalam bahasa pemrograman Java. Ia menjelaskan bahwa OOP memfokuskan pada penggunaan kelas dan objek, serta karakteristik utama OOP seperti abstraksi, pembungkusan, pewarisan, dan polimorfisme. Dokumen tersebut juga membandingkan pendekatan prosedural dan OOP, serta memberikan contoh kode untuk mengilustrasikan konsep-konsep ter

Diunggah oleh

abimanyudcse
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 35

Belajar Java OOP

Mengenal Apa itu OOP?

• Ide dasar pada bahasa berorientasi obyek (OOP) adalah


mengkombinasikan data dan fungsi untuk mengakses data menjadi
sebuah kesatuan unit. Unit ini di kenal dengan nama obyek
• Defini sederhana:
Adalah Sebuah cara atau metodologi yang digunakan agar program yang kita
buat menjadi lebih modular karena suatu permasalahan akan dikumpulkan
dalam satu objek.
Prosedural Programming
• Masalah yang diberikan dibagi dalam beberapa sub masalah
tergantung pada fungsinya. Masalah disebut prosedur atau Metode.
• Prosedur apapun dapat dipanggil pada setiap saat selama
pelaksanaan program. Program ini memiliki variabel global dan lokal

Kekurangan:
• Sangat sulit mengidentifikasi data yang digunakan oleh yang berfungsi.
• Sulit untuk melacak kesalahan program
Perbedaan

 prosedural  OOP

• Pendekatan top-down • Pendekatan bottom-up yang diikuti.


• Program dibagi menjadi beberapa • Program ini diselenggarakan dengan
sub modul atau fungsi atau prosedur. memiliki sejumlah kelas dan objek.
• Pemeliharaan mahal. • Setiap kelas berhubungan secara
• Reuse Software tidak mungkin. hirarkis.
• Fungsi yang independen satu sama • Fokus pada model obyek •
lain. Pemeliharaan relatif lebih murah.
Kenapa harus menggunakan konsep OOP

• Bentuk penyederhanaan dari bahasa prosedural


• program mudah dikembangkan
• memecahnya kedalam sub-sub program
• waktu pembentukan program akan lebih cepat
KARAKTERISTIK OOP

• Kelas & Object ( Class & Object )


• Abstraksi ( Abstraction )
• Pembungkusan ( Encapsulation )
• Pewarisan ( Inheritance )
• Polimorpisme ( Polymorphism )
Class dan Object

• Class bertugas untuk mengumpulkan prosedur/fungsi dan variabel


dalam satu tempat. Class merupakan blueprint dari sebuah objek.
• Class akan merepresentasikan objek yang mau dibuat. Jadi dalam
membuat nama kelas harus disesuaikan dengan objek yang akan
dibuat.
• Penulisan nama class memiliki aturan. Yakni dengan
format PascalCase.
Object
• Sedangkan object adalah sebuah variabel instance yang merupakan
wujud dari class. Instance merupakan wujud dari sebuah kelas.
Sebuah objek digambarkan dengan variable dan method.
Obyek ini dikarakterisasi oleh atribut dan tingkah lakunya.

Dengan deskripsi ini, bahwa obyek pada dunia nyata dapat secara mudah
mengasumsikan sebagai obyek perangkat lunak memiliki atribut sebagai data
dan tingkah laku sebagai method
Class
• Class berisi dari beberapa kumpulan definisi variabel dan fungsi
yang menggambarkan sebuah objek.
• Class adalah sturktur dasar dari OOP. Class terdiri dari dua tipe dari
anggota dimana disebut dengan field (attribut/properti) dan method.
Field merupakan tipe data yang didefinisikan oleh class, sementara
method merupakan operasi. Sebuah obyek adalah sebuah instance
(keturunan) dari class.
mobil A dan mobil B adalah obyek dari class mobil.
Sebuah obyek adalah sebuah instance
(keturunan) dari class.
• Ketika diinisialisi, setiap obyek mendapat satu set variabel yang baru.
Bagaimanapun, implementasi dari method dibagi diantara objek pada
class yang sama.
• Class menyediakan keuntungan dari reusability. Sehingga
Programmer perangkat lunak dapat menggunakan sebuah kelas
beberapa kali untuk membuat banyak objek.
Instansiasi Class

• Untuk membuat sebuah objek atau sebuah instance pada sebuah


class. Kita menggunakan operator new. Sebagai contoh, jika anda
ingin membuat instance dari class string, kita menggunakan kode
berikut :
String str2 = new String(“Hello world!”);

Ini juga sama dengan, String str2 = "Hello";


Atribut

• Atribut merupakan bagian dari sebuah kelas yang masih


berhubungan erat dari kelas tersebut. Atribut bisa juga disebut
sebagai properti atau properties dari sebuah class. Contohnya ketika
kamu punya sebuah class Motor, maka kamu dapat menambahkan
atribut seperti kecepatan motor, umur motor, ukuran, ban, warna
dsb. Untuk lebih detailnya, kita contohkan pada program berikut:
Attribute
• Penggunaan atribut berlaku dari kurung kurawal awal ({) sampai
dengan sebelum kurung kurawal akhir (}). Ini dinamakan scope.
Untuk penulisannya menggunakan format lowerCamelCase.
• Jadi untuk kata pertama diawali dengan huruf kecil, sedangkan kata
selanjutnya diawali dengan huruf kapital. Sama seperti PascalCase,
penggunaan spasi tidak diperkenankan ketika menghubungkan dua
kata atau lebih dari sebuah nama properti.
Contohnya: length, width, apple, speed, listMovies, dll.
Method
• Method berperan menjelaskan bagaimana suatu atribut beraksi.
Peran yang dimaksud berupa tingkah laku (behavior) yang dapat
digambarkan oleh suatu method. Misal class Manusia. Manusia tentu
memiliki method berupa tingkah laku, seperti berpikir, berjalan,
berbicara, makan dll. Maka tentunya method dapat disesuaikan
dengan program yang dibuat.
Apakah Method itu dan mengapa menggunakan Method?
Adalah bagian-bagian kode yang dapat dipanggil oleh program utama
atau dari method lainnya untuk menjalankan fungsi yang spesifik.

Berikut adalah karakteristik dari method :


1. Dapat mengembalikan satu nilai atau tidak sama sekali
2. Dapat diterima beberapa parameter yang dibutuhkan atau tidak ada
pameter sama sekali. Parameter bisa juga disebut sebagai argumen dari
fungsi.
3. Setelah method telah selesai dieksekusi, dia akan kembali pada
method yang memanggilnya.
Memanggil Instance dan memberikan Variabel dari Method
• Untuk memanggil sebuah instance method, kita dapat menuliskan :
nameOfObject.nameOfMethod( parameters );
Contoh method yang ditemukan dalam class String.
Implementasi

1. String str1 = "Hello";


2. char x = str2.charAt(0); //will return the character H
3. //simpan pada variabel x
4. String str2 = "hello";
5. //return boolean
6. boolean result = str1.equalsIgnoreCase( str2 );
Pemberian Variabel Dalam Method

• Ada dua tipe data variabel passing pada method,


1. pertama adalah pass-by-value
2. kedua adalah pass-by-reference
Pass-by-Value

Ketika pass-by-values terjadi,


method membuat sebuah salinan dari nilai variable yang dikirimkan ke
method. Walaupun demikian, method tidak dapat secara langsung
memodifikasi nilai variabel pengirimnya meskipun parameter
salinannya sudah dimodifikasi nilainya di dalam method.
Pada contoh diatas,
• kita memanggil method tes dan melewatkan nilai variabel i sebagai
parameter. Nilai pada i disalinkan ke variable j pada method.
• Pada kondisi ini variabel j adalah merupakan variabel pengganti pada
method tes, jika nilai j berubah maka nilai variabel i yang terletak
pada main tidak akan ikut berubah walaupun awalnya variabel j
merupakan salinan dari variabel i.
• Secara default, semua tipe data primitif ketika dilewatkan pada
sebuah method adalah pass-by-value
Sebelum method dipanggil, nilai angka adalah 5
Contoh lain Nilai x di dalam method adalah 4
Setelah method dipanggil, nilai angka adalah 5
1. package cobaPassingValue;

2. public class Decrement {


3. public static void main (String args []){
4. int angka = 5;
5. System.out.println("Sebelum method dipanggil, nilai angka adalah " + angka);
6. decrement(angka);
7. System.out.println("Setelah method dipanggil, nilai angka adalah " + angka);
8.
9. }
10.
11. public static void decrement(int x){
12. x--;
13.
14. System.out.println("Nilai x di dalam method adalah " + x);
15. }
16. }
Pass-by-reference

alamat memori dari nilai pada sebuah variabel dilewatkan pada saat pemanggilan
method.
Pass By Reference

meskipun berbeda nama variabel yang digunakan dalam method


dengan variabel aslinya, kedua variabel ini menunjukkan lokasi dari
data yang sama.
Contoh Method

• Tabel class Hewan dan class Kelinci saling berkaitan. Artinya kelas
Kelinci dapat memanggil method dari class Hewan.
Contoh: Class Hewan
Contoh class Kelinci
Hasil dari eksekusi adalah:
Inheritance

• Inheritance adalah hubungan antara dua objek atau lebih. Di mana


terdapat sebuah objek utama yang mewariskan attribute
maupun method yang dimilikinya kepada objek lainnya, baik itu
sebagian maupun keseluruhan.
• Contohnya seekor anak kucing berjenis mamalia, mewarisi sifat dan
juga bentuk fisik orang tuanya, seperti bulu, mata, telinga, bahkan
suaranya.
• Suatu objek diwariskan dengan menggunakan keyword extends.
Buatlah sebuah class dengan nama : HewanPeliharaan.java
Class HewanPeliharaan merupakan parent class atau
Kelas utama dari class yang kita buat

1. public class HewanPeliharaan {


2.
3. public HewanPeliharaan() {
4.
5. System.out.println("Hewan Mamalia");
6.
7. }
8.
9. }
Kemudian Buat class Kucing, yang artinya merupakan turunan
dari class HewanPeliharaan.
Gunakanlah keyword extends.
1. public class Kucing extends HewanPeliharaan {
2.
3. public Kucing() {
4. super(); // Akan tetap memanggil constructor “hewan mamalia” dari parent Class
5. System.out.println("Kucing Bersuara Meong");
6. }
7. }
Dan yang terakhir buatlah class dengan nama Main. Kelas ini berguna
untuk menjalankan atau mengeksekusi sebuah program.
1. public class Main {
2. /*
3. * instanceof adalah salah satu keyword pada Java, yang digunakan untuk membandingkan suatu objek,
4. * apakah instansiasi dari suatu class atau tidak, hasil dari perbandingan tersebut akan
5. * menghasilkan nilai boolean berupa nilai true atau false
6. */
7.
8. public static void main(String[] args) {
9.
10. HewanPeliharaan hewan = new HewanPeliharaan(); // Memanggil class Hewan
11. System.out.println("Apakah hewanPeliharaan adalah instance Objek -> " + (hewan instanceof Object));
12. System.out.println("Apakah hewanPeliharaan adalah istance HewanPeliharaan-> " + (hewan instanceof
HewanPeliharaan));
13. System.out.println("Apakah hewanPeliharaan adalah instance dari Kucing -> " + (hewan instanceof Kucing));
14. System.out.println("------------------------"); // spasi
15.
16. Kucing kucing = new Kucing(); // Memanggil class Kucing “Kucing bersuara meong”
17. System.out.println("Apakah hewanPeliharaan adalah instance Objek -> " + (kucing instanceof Object));
18. System.out.println("Apakah kucing adalah instance dari HewanPeliharaaan -> " + (kucing instanceof
HewanPeliharaan));
19. System.out.println("Apakah kucing adalah instance Kucing -> " + (kucing instanceof Kucing));
20.
21. }
22.
23. }
Hasilnya:

Anda mungkin juga menyukai