Users  

   

Hobi  

   

Statistik  

Visitors
246
Articles
59
Articles View Hits
417184
   

User Online  

We have 18 guests and no members online

   

BAB II.1

Details

Anatomi Class Java
Bab ini akan menjelaskan tentang anatomi class Java. Pertama kita akan belajar tentang
bagaimana mendeklarasikan class dan interface, kemudian kita akan belajar tentang class
member. Method, constructor dan variabel adalah tiga buah class member, dan ketiganya juga
akan kita bahas dalam bagian terpisah. Memahami bagaimana mendeklarasikan class dan class
membernya adalah pengetahuan paling dasar dalam membuat aplikasi java.
Perhatikan baik-baik aturan apa saja yang diperbolehkan dan dilarang dalam membuat class Java.
Aturan ini cukup banyak dan mengikat, awalnya akan sedikit terasa merepotkan dan
membutuhkan waktu untuk menghafal aturan-aturan tersebut. Setelah beberapa lama, aturan itu
menjadi mudah dipahami dan dihafal. Tidak ada yang lebih baik dibanding belajar dari praktek,
oleh karena itu kita akan praktek menulis kode. Jangan dilewati sesi menulis kode, usahakan tulis
semua kode yang ada dalam bab ini, compile dan jalankan kodenya. Dengan begitu anda akan
lebih cepat menghafal aturan dalam bahasa Java. Tanpa latihan berulang-ulang maka akan
membutuhkan waktu lebih lama lagi menguasai bahasa Java.


Deklarasi Class
Class di dalam java dideklarasikan menggunakan keyword class diikuti dengan nama class.
Setelah nama class ada kurung kurawal buka ({) menandai awal dari class dan kurung kurawal
tutup (}) yang menandai akhir dari class.
Object adalah instansiasi dari class. Kita bisa membayangkan bahwa class adalah sebuah cetakan
dan object adalah materi hasil cetakan dari class. Setiap object akan mempunyai state (instance
variabel/properties) yang membedakan satu object dengan object lain, kemudian object juga
mempunyai behaviour (method) dimana logic dari class disimpan.
Class adalah jantungnya Java, class adalah bagian terkecil dari kode di java yang bisa berdiri
sendiri. Setiap kali kita akan membuat sebuah kode java, yang pertama harus dideklarasikan
adalah class. Java mengijinkan class didefnisikan dalam beberapa cara berbeda. Cara pertama
adalah mendefnisikan sebuah public class di dalam fle .java. Contohnya bisa kita lihat di bawah
ini :
public class Person { }
Simpan di dalam fle Person.java, kemudian compile fle .java di atas menggunakan java compiler
(javac).
$ javac Person.java
Setelah proses kompilasi berhasil, lihat isi folder dengan menggunakan perintah dir (windows)
atau ls (*nix). Terlihat bahwa class Person dibuatkan satu buah fle .class, dan nama dari fle
.class-nya sama persis dengan nama class-nya.
Kode di atas adalah deklarasi minimal dari sebuah class Java, ada keyword class diikuti oleh nama
class-nya kemudian diikuti oleh kurung kurawal buka dan tutup.
Cara kedua adalah beberapa class dideklarasikan di dalam satu fle .java, tetapi dalam satu fle
.java hanya boleh dideklarasikan satu buah public class yang namanya sama dengan nama fle
.java. Contohnya sebagai berikut :
public class Person{}
class Person2{}
class Person3{}
class Person4{}
Simpan di dalam fle Person.java, kemudian compile fle .java di atas menggunakan java compiler
(javac).
$ javac Person.java
Setelah proses kompilasi berhasil, lihat isi folder dengan menggunakan perintah dir (windows)
atau ls (*nix). Terlihat bahwa setiap class dibuatkan satu buah fle .class, dan nama dari fle .classnya
sama persis dengan nama class-nya.
Person.class
Person2.class
Person3.class
Person4.class
Cara ketiga adalah mendeklarasikan class sebagai inner class. Bisa kita lihat bahwa cara kedua di
atas, deklarasi class kedua dan seterusnya berada di luar dari class pertama, kemudian fle
.class yang dihasilkan berbeda-beda, dan penamaan class-nya tidak menyertakan nama class
public-nya, semuanya adalah class berbeda tetapi diletakkan dalam fle yang sama.
Konsep inner class berbeda, karena sekarang class yang dideklarasikan di dalam class lain
(inner class). Inner class sangat terikat dengan class dimana inner class itu berada. Misalnya
dari sisi penamaan, nama inner class harus diawali dengan nama class dimana inner class
berada kemudian diikuti dengan nama inner class itu sendiri. Misalnya contoh di bawah ini :
public class Person{
private class Person2{}
private static class Person3{}
class Person4{}
}
Compile fle .java di atas menggunakan java compiler (javac).
$ javac Person.java
Setelah proses kompilasi berhasil, lihat isi folder dengan menggunakan perintah dir (windows)
atau ls (*nix). Terlihata bahwa setiap class dibuatkan satu buah fle .class, nama fle .class
untuk inner class diawali dengan nama class di mana inner class berada kemudian ada tanda $
dan diakhiri dengan nama innner class-nya.
Person.class
Person$Person2.class
Person$Person3.class
Person$Person4.class
Cara deklarasi terakhir adalah anonymous inner class, yaitu inner class yang tidak mempunyai
nama, loh kok bisa? feature ini sering digunakan kalau kita ingin mengimplementasikan
interface di satu tempat dan implementasi itu tidak pernah digunakan di tempat lain.
Contohnya sebagai berikut ini :
public class Person{
private Runnable thread = new Runnable(){
public void run(){
System.out.println("HelloWorld from Thread");
}
};
}
Perhatikan kode di atas, ada sebuah variabel dengan nama thread, variabel tersebut adalah
object dari class Runnable. Karena Runnable adalah interface, maka kita perlu membuat class
yang implement interface, tetapi implementasinya tidak perlu membuat class baru dengan
nama tertentu, cukup langsung new Runnable dan implementasikan method run langsung di
situ.
Simpan ke fle Person.java dan coba compile menggunakan javac, setelah kompilasi berhasil
lihat isi dari direktori, akan ada dua buah fle class yaitu Person.class dan Person$1.class, nah
class yang terakhir inilah anonymous inner class. Kalau ada dua inner class atau lebih,
penamaanya menjadi Person$2.class, Person$3.class dan seterusnya.
Setelah kita membahas cara deklarasi java, sekarang kita bahas aturan-aturan yang harus
dipatuhi pada waktu pendeklarasian class di Java. Aturan-aturan tersebut antara lain :
• Hanya boleh ada satu class public dalam satu fle .java, non public class boleh lebih dari
satu di dalam satu fle .java
• Nama class public harus sama dengan nama fle .java
• Komentar bisa diletakkan di mana saja
• Jika class berada dalam sebuah package, maka harus ada deklarasi package di bagian
paling atas dari fle .java
• Import berada antara deklarasi package dan deklarasi class
• Deklarasi import dan package berlaku untuk semua class dalam fle .java, tidak mungkin
mendefnisikan dua buah class yang mempunyai package berbeda di dalam satu fle .java
Dalam aturan di atas, ada poin yang menyebutkan tentang package. Package adalah feature yang
sangat penting dalam Java, pada dasarnya package adalah sebuah folder yang memisah-misahkan
class. Class dengan fungsi yang mirip akan dikelompokkan dalam satu package yang sama, hal ini
dimaksudkan untuk memudahkan pengelolaan class agar mudah dipahami.
Kita bisa meletakkan beberapa keyword pada waktu pendeklarasian class. Jenis keyword pertama
yang bisa digunakan adalah access modifer, keyword access modifer terdiri dari empat level :
public, default, protected dan private. Hanya tiga dari empat level tersebut yang benar-benar
merupakan keyword, access modifer default bukan merupakan keyword karena kalau tidak ada
satupun dari ketiga access modifer digunakan di dalam deklarasi class maka kita menyebutnya
default. Kita akan bahas satu per satu efek dari penggunaan access modifer pada deklarasi
sebuah class.
Jika sebuah class dideklarasikan sebagai public, maka semua class yang lain dapat melihat class
tersebut. Melihat di sini dalam arti bisa mengimport, menginstansiasi, mengextends dan
memanggil method yang ada dalam class. Jika sebuah class dideklarasikan sebagai default atau
tidak ada access modifer sama sekali, maka hanya class dari package yang sama atau class
turunanya yang dapat melihat class tersebut. Class tidak bisa dideklarasikan sebagai protected.
Private hanya bisa digunakan oleh inner class saja, sedangkan class lain tidak bisa ditandai
sebagai private.
Selain access modifer, class bisa dideklarasikan menggunakan keyword fnal. Jika class
dideklarasikan dengan keyword fnal maka class ini tidak bisa diextends oleh class lain, salah satu
alasan kenapa class ditandai fnal agar tidak ada implementasi lain selain class ini. Semua class
wrapper seperti String ditandai sebagai fnal agar tidak ada yang mengextends class String ini.
Keyword abstract bisa digunakan untuk mendeklarasikan class, hal ini akan menyebabkan
abstract class tidak dapat diinstansiasi atau dibuat objectnya.


Deklarasi Interface
Interface pada dasarnya adalah sebuah class, hanya saja method-method di dalamnya hanya
berupa deklarasi saja, tidak ada implementasi dari method-method tersebut. Secara teknis bisa
dikatakan bahwa interface adalah class yang bersifat abstract, semua methodnya adalah public
dan abstract, serta semua variabel yang ada dalam interface adalah static fnal atau biasa disebut
sebagai konstanta. Deklarasi interface menggunakan keyword interface diikuti dengan nama
interface. Contoh paling sederhana dari sebuah interface bisa kita lihat dalam kode di bawah ini:
interface PersonDao{}
Aturan penamaan interface sama dengan penamaan class, kemudian aturan pendeklarasian
interface juga sama dengan pendeklarasian interface. Hanya saja tidak ada istilah inner interface
layaknya inner class.
Sebagai contoh kita akan membuat class PersonDaoImpl yang mengimplementasikan interface
PersonDao, di dalam interface PersonDao ada tiga buah method: save, delete dan getById
sehingga class PersonDaoImpl harus mengimplementasikan ketiga method ini.
public class Person{
private Long id;
private String nama;
public String getNama(){
return nama;
}
public void setNama(String nm){
nama = nm;
}
public Long getId(){
return id;
}
public void setId(Long i){
id = i;
}
}
Interface dideklarasikan dengan menggunakan keyword interface. Di dalamnya ada methodmethod
yang dideklarasikan tetapi belum ada implementasinya, ditandain dengan adanya titik
koma (;) setelah deklarasi method. Kalau method sudah diimplementasikan maka setelah
deklarasi method harus ada pasangan kurung kurawal buka tutup ({}) yang menandai blok
kode yang akan dieksekusi kalau method tersebut dipanggil.
public interface PersonDao{
void save(Person p);
void delete(Person p);
Person getById(Long id);
}
Class mengimplementasikan interface dengan menggunakan keyword implements. Semua
method dalam interface bersifat public sehingga walaupun dalam deklarasi interface tidak ada
public tetapi di class yang mengimplementasikan interface harus meletakkan access identifers
public pada deklarasi methodnya.
public class PersonDaoImpl implements PersonDao{
public void save(Person p){
System.out.println("menyimpan Person");
}
public void delete(Person p){
System.out.println("menghapus person");
}
public Person getById(Long id){
Person p = new Person();
p.setId(id);
p.setNama("abc");
return p;
}
}
Sebuah class bisa mengimplementasikan lebih dari satu interface, antara satu interface
dengan interface yang lain dipisahkan dengan tanda koma, seperti contoh sederhana di bawah
ini :
public interface PersonDaoImpl implements PersonDao, Serializable{}
Interface biasanya digunakan sebagai "kontrak" agar sebuah class yang mengimplementasikan
interface mempunyai semua method yang ada dalam interface itu, tetapi kita tidak ingin
mengekspose implementasinya. Salah satu contoh penggunaan interface adalah JDBC API. di
dalam JDBC API terdapat banyak interface seperti Connection, ResultSet, Statement,
PreparedStatement dan seterusnya. Setiap database yang ingin bisa diakses dari Java akan
mengimplementasikan JDBC API ini dengan cara membuat class yang mengimplementasikan
semua interface dalam JDBC API. Sehingga kalau kita ingin melakukan koneksi ke MySQL
ataupun ke Oracle, interfacenya sama, yang berbeda hanya implementasinya saja.
Implementasi dari JDBC API ini sering dikenal sebagai JDBC Driver. Mengenai JDBC kan kita
bahas lebih lanjut di bagian akses data ke database, sekarang kita fokuskan ke Interface.
Interface juga digunakan dalam best practice yang sering disebut dengan "code to interface",
best practice ini menganjurkan developer untuk menggunakan interface antar layer dalam
aplikasi. Misalnya contoh di atas kita membuat sebuah interface dengan nama PersonDao
untuk melakukan operasi penyimpanan object person, dengan membuat interface seperti ini
kita bisa mempunyai implementasi berbeda-beda untuk proses penyimpanan object person. Di
contoh di atas implementasi PersonDao sangat sederhana hanya menulis string ke stdout, kita
juga bisa membuat misalnya PersonDaoJdbc untuk menyimpan object person ke database
dengan menggunakan JDBC, atau bisa juga dibuat PersonDaoHibernate untuk menyimpan
object person ke database menggunakan Hibernate.
Kalau anda masih sulit memahami dua paragraf terakhir tentang interface, tidak masalah,
tujuan utama bab ini adalah menjelaskan tentang bagaimana membuat interface, seiring
dengan bab-bab selanjutnya kita akan belajar lebih jauh mengenai beberapa teknologi yang
sempat disinggung di atas.

ikuti terus tutorialnya..........

 

sumber : ifnu bima

Comments   

 
0 #4 Sherry 2017-05-18 01:28
They should be non-resonant plus they should also
produce quality sound. The said facility produces transmissions for vehicles such as
the Chevy Cobalt, Pontiac G5, the Chevy Malibu, Saturn Vue as well as the Saturn Aura among others.
This is when compared to the first wave of Ford Contours that entered the American automobile market.


Look at my web page ... miami car stereo experts: http://www.bizvotes.com/fl/west-palm-beach/electricians/sounds-good-stereo-1261217.html
Quote
 
 
0 #3 Milagros 2017-05-17 23:42
These Dumpsters are very easy to carry while they may get tied off with a truck which enable it to be pulled along with the truck, since these also provide wheels with them at the bottom.

Transport companies, resellers and importers, distribution centres, warehouses and manufacturing companies all need entry to shipping
containers, and also the forklift container ramp is the perfect solution. The
mixture of which 3 chevy truck areas and accessories will ensure that you just are strengthening not simply the physical aspect in the car but also the dependability of computer
in relation to supplying the right protection measures for everybody inside.


Review my web page - seat covers: http://sawung-nalar.com/halkomentar-76-4588.html
Quote
 
 
0 #2 Hattie 2017-05-17 23:38
He has already received two Ford Edge units and contains sold both of them already.
Using seatbelts, not smoking, inside them for hours security alarms often means cheap insurance.
Emitting volumes of greenhouse gasses to the atmosphere is adding to the warming from the planet.



Also visit my blog post carstereopensac ola: http://carstereopensacola.com/remote-start/
Quote
 
 
0 #1 Latashia 2017-05-08 21:31
Those who have questions about Sky Speak or wish to get the service may call Sky customer service number 0330 041 2554 If in case you have an current phone provider and also you're eager about switching to Sky, you would discover the knowledge at -to-change-to-s ky-speak helpful.


Also visit my blog ... EDF Contact Number: http://dk.monsterrebate.com/redirect.php?link=http://www.getglobalid.com/index.php?action=profile;u=1148
Quote
 

Add comment


Security code
Refresh

   

Indeks  

   
© ALLROUNDER