OOP (Object Oriented Programming)
adalah suatu metode pemrograman yang berorientasi
kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan
program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari.
Jadi setiap bagian dari suatu permasalahan adalah objek, nah objek itu sendiri
merupakan gabungan dari beberapa objek yang lebih kecil lagi.
Multitrading : adalah cara yang memungkinkan
pelaksanaan beberapa thread terjadi dalam sebuah proses, berbagi sumber daya
tetapi dapat dijalankan secara independen (proses bergantian).
Ada tiga model multithreading :
·
Many to One
·
One to One
·
Many to Many
Keuntungan dari multithreading dikategorikan
menjadi empat bagian:
·
Responsive
·
Sharing resources
·
Ekonomis
·
Pemanfaatan arsitektur multiprosesor
Tread : urutan eksekusi dari awal sampai akhir
dalam sebuah program.
Task: unit program yang mengeksekusi secara
independen dari satu bagian dari program tersebut.
Multitasking : Proses dapat berjalan secara
bersamaan
Multiprocessing : contohnya sperti system dualcore
yang berada di dalam computer yang memang memiliki system dualcore yang dapat
membaca data lebih cepat
MultipleTrhead : berjalan di belakang layar,
contohnya seperti smart phone yang kita pakai, bila kita mengeluarkan suatu aplikasi
tanpa menstop jalannnya aplikasi terseut, aplikasi tersebut akan terus berjalan
di belakang layar
Package adalah suatu teknik mengumulkan beberapa
class menjadi satu folder
OOP :
Pholimorph : suatu aksi yang memungkinkan pemrogram
menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang
berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan
sifat masing-masing obyek.
Inharitance : pewarisan pada pemrograman
berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih.
Encaptulation : adalah pembungkus, pembungkus disini
dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara
sembarangan atau di intervensi oleh program lain.
API (Aplication Programing Interface)
adalah sekumpulan perintah, fungsi, dan protocol
yang dapat digunakan oleh programmer saat membangun perangkat lunak untuk
system operasi tertentu. API memungkinkan programmer untuk menggunakan fungsi
standar untuk berinteraksi dengan system operasi.
Perbedaan absract class dan interface
Abstract Class
|
Interface
|
Bisa berisi abstract
dan non-abstract method.
|
Hanya boleh berisi
abstract method.
|
Kita harus
menuliskan sendiri modifiernya.
|
Kita tidak perlu
susah2 menulis public abstract di depan nama method. Karena secara implisit,
modifier untuk method di interface adalah public danabstract.
|
Bisa
mendeklarasikan constant dan instance variable.
|
Hanya bisa
mendeklarasikan constant. Secara implisit variable yang
dideklarasikan di interface bersifatpublic, static dan final.
|
Method boleh
bersifat static.
|
Method tidak boleh
bersifat static.
|
Method boleh
bersifat final.
|
Method tidak boleh
bersifat final.
|
Suatu abstact class
hanya bisa meng-extend satu abstract class
lainnya.
|
Suatu interface bisa
meng-extend satu atau lebih interface lainnya.
|
Suatu abstract class
hanya bisa meng-extend satu abstract class dan
meng-implement beberapa interface.
|
Suatu interface
hanya bisa meng-extend interface lainnya.
Dan tidak bisa meng-implement class
atau interface lainnya.
|
Overloading :
yaitu ketika
mendefinisikan beberapa method dengan nama yang sama, tapi daftar parameternya
berbeda.
class
Induk
{
// mendefinisikan method test() tanpa parameter
public void test()
// mendefinisikan method test() tanpa parameter
public void test()
{
System.out.println("Method di dalam kelas Induk");
}
System.out.println("Method di dalam kelas Induk");
}
public void test(String s)
{
System.out.println("Method di dalam kelas Turunan");
System.out.println("s : \"" + s + "\"");
}
System.out.println("Method di dalam kelas Turunan");
System.out.println("s : \"" + s + "\"");
}
}
Overriding
Pada saat
mendefinisikan suatu method dalam kelas turunan yang memiliki nama dan daftar
parameter sama persis dengan yang terdapat pada kelas induk, maka proses
tersebut disebut Override.
class A
{
......
public void tampilkanNilai()
{
System.out.println("Nilai a: " + getA());
}
}
class B extends A
{
.......
// melakukan override terhadap method tampilkanNilai()
// yang terdapat pada kelas A
public void tampilkanNilai()
{
System.out.println("Nilai b: " + getB());
}
}
......
public void tampilkanNilai()
{
System.out.println("Nilai a: " + getA());
}
}
class B extends A
{
.......
// melakukan override terhadap method tampilkanNilai()
// yang terdapat pada kelas A
public void tampilkanNilai()
{
System.out.println("Nilai b: " + getB());
}
}
Setter getter
Getter dan Setter merupakan dua sejoli yang saling
melengkapi. Getter sering disebut dengan accessor, sedangkan setter disebut
juga dengan mutator. Dalam konsep pemrograman berorientasi objek, getter dan
setter merupakan implementasi encapsuation.
class Data
{
private String Nama;
private String Alamat;
private String noTelp;
public void setAlamat(String Nama, String Alamat, String noTelp)
{
this.Nama = Nama;
this.Alamat = Alamat;
this.noTelp = noTelp;
}
public void setNama(String Nama)
{
this.Nama = Nama;
}
public void Alamat(String Alamat)
{
this. Alamat = Alamat;
}
public void setnoTlp(String noTlp)
{
this. noTlp = noTlp;
}
public String getNama()
{
return Nama;
}
public String getAlamat()
{
return Alamat;
}
public String getNoTelp()
{
return noTelp;
}
}
{
private String Nama;
private String Alamat;
private String noTelp;
public void setAlamat(String Nama, String Alamat, String noTelp)
{
this.Nama = Nama;
this.Alamat = Alamat;
this.noTelp = noTelp;
}
public void setNama(String Nama)
{
this.Nama = Nama;
}
public void Alamat(String Alamat)
{
this. Alamat = Alamat;
}
public void setnoTlp(String noTlp)
{
this. noTlp = noTlp;
}
public String getNama()
{
return Nama;
}
public String getAlamat()
{
return Alamat;
}
public String getNoTelp()
{
return noTelp;
}
}