Algo 2 – Pertemuan 1

OOP: adalah sebuah cara untuk membuat Object Oriented Programs

Class: adalah kumpulan data yang di dalamnnya mengandung attribute dan methods

attribute = Properties

methods = Behaviour = Function

Object: adalah representasi dari kelas

Polimorph: prinsipnya sama seperti Overiding. sebuah extended dan mempunyai banyak bentuk, tekniknya adalah Functionnya di Override

Encapsulation: menghilangkan detail” dari attribute atau methods

Inheritance: adalah penurunan nama kelas(dari superclass ke subclass)

Access Modifier:

Public: Bisa diakses oleh semua kelas

Private: Hanya bisa diakses oleh kelas itu saja

Protected: Hanya bisa diakses oleh kelas itu dan turunannya saja

Package: Hanya bisa diakses oleh 1 folder saja

Constructor: adalah method yang bakal dijadiin oleh kelas

Settergetter: untuk memberi nilai variable & ambil, sama method

Overiding: namannya sama parameternnya sama tapi kelasnnya berbeda

A B
———–               ———–
|           |              |            |
| Gas() |———->| Gas()  |
|           |<———-|            |
———–               ———–

Overloading: Namannya sama tetapi parameternnya berbeda

———————–
| |
| [gas](int a) |
| |
| [gas](int a, int b |
| |
———————–

Dummy code/ Abstract method: isinnya prototype/ gambaran biasa untuk bikin proyek besar

Class/ Blueprint/ Template
                |
                |
                |
                V
               /  \
             /      \
           /          \
         /              \
       /                  \
     /                      \
Attribute           Method
Property           Function
                         Behavior

Contoh: Car A
              ^     ^
              |       |
         Class Object

Jika fungsi ada tanda”()” atau() di belakang berarti bukan fungsi tidak ada

modifier = access modifier/ public, private
method name = setradious
parameter = int a, int b
return_value_type = static, double
public_void = ga perlu di return
Static = bisa diakses semua

Inner class = di dalam class ada class/ disebut juga nested class

Constants = ga bisa diubah, tipe data yang tidak akan berubah. Contoh: pi = 3,14
kata yang dipakai untuk kodingnnya adalah: Final static

 

Vector adalah sebuah class yang ditunkan dari interface Collection, yaitu sebuah interface yang digunakan untuk penggolahan data yang bersifat seperti array dinamis, yakni array yang ukurannya secara dinamis dapat membesar ketika data yang dimasukkan melebihi daya tampung. Setiap metode dalam Vector diberih keyword “synchronized”, sehingga ketika dieksekusi dalam sebuah Thread, maka tak akan terjadi kemacetan Thread.

ArrayList adalah sebuah class yang sama dengan Vector dan memiliki fungsi yang hampir sama dengan Vector, namun perbedaannya terletak pada metode yang dimiliki oleh ArrayList. Berbeda dengan Vector, pada ArrayList setiap metode tidak diberi keyword “synchronized”, sehingga ketika dieksekusi dalam Thread, hal ini dapat mengakibatkan unsafe Thread, alias dapat terjadi tubrukan Thread ketika Thread mencoba untuk memanggil metode ArrayList. Namun bukan berarti ArrayList tidak berguna, karena tak adanya keyword “synchronized” pada metode ArrayList maka untuk menjalankan metode yang ada pada ArrayList membutuhkan waktu yang lebih singkat dari pada menjalankan metode yang ada pada Vector.

Generic programming adalah salah satu cara pembuatan class dan method yang dapat digunakan untuk semua jenis tipe data, sehingga penggunaannya lebih fleksibel dan tidak kaku terhadap satu jenis tipe data saja, dimana dalam hal ini java adalah salah satu bahasa pemrograman yang sudah mensupportnya. Sebagai contoh apabila kita memiliki method void print(int a), hanya akan bekerja pada tipe data integer. Akan tetapi bagaimana kalau kita juga membutuhkan methid tersebut untuk tipe data String, float, char atau bahkan references type???, apakah kita harus membuat method tersebut berulang ulang kali???? Tentu saja tidak, oleh karena itu solusinya adalah dengan generic programming, yaitu membuat suatu method yang bisa digunakan untuk berbagai macam data types. Sebagai contoh, perhatikanlah program dibawah ini :

public class Main {

 public static <E> void print(E data) {
     System.out.println(data);
 }

 public static void main(String[] args) {
     int DataInteger = 100;
     double DataDouble = 5.5;
     char DataChar = ‘Y’;
     String DataString = “Yohanda”;
     print(DataInteger);
     print(DataDouble);
     print(DataChar);
     print(DataString);

 
 

 

http://www.skyconnectiva.com

http://www.binus.ac.id