Anda di halaman 1dari 3

S1RUK1UR APLlKASl DAN FLFMFN

Sebuah aplikasi dibuaL dari sekumpulan kelas/cIass. Class mirip dengan RFCORD
pada Pascal aLau sLrucL pada C karena menyimpan daLa yang saling berkaiLan dalam
fieIds, dimana ields bisa menampung bermacam-macam Lipe daLa. Jadi anda bisa,
misalnya, menyimpan sebuah sLring Leks dalam saLu ield, sebuah inLeger di ield
yang lain, dan loaLing poinL di ield keLiga. Perbedaan anLara class dengan RFCORD
aLau sLrucL adalah bahwa class juga berisi methods unLuk bekerja pada daLa.
Sebagai conLoh, sebuah class yang paling sederhana bisa saja menyimpan sebuah
sLring Leks dan mendeinisikan saLu meLhod unLuk mengisi(seL) sLring LersebuL dan
meLhod lain unLuk mendapaLkan(geL) sLring dan menceLaknya ke konsol. MeLhod
yang bekerja pada daLa disebuL accessor method.
SeLiap aplikasi membuLuhkan saLu class dengan main meLhod. Class ini
merupakan pinLu masuk bagi program, dan nama class dikirimkan ke penerjemah
perinLah Java unLuk menjalankan aplikasi.
Kode dalam main meLhod berjalan paling perLama keLika program mulai, dan
merupakan LiLik konLrol dimana accessor meLhod dipanggil unLuk bekerja pada daLa.
8erikuL adalah sample program yang Lidak memiliki ield maupun accessor
meLhod, Lapi karena merupakan saLu-saLunya class dalam program maka ia memiliki
sebuah main meLhod.
class ExampleProgram {
public static void main(String[] args){
System.out.println("'m a Simple Program");
}
}
KaLa kunci "public sLaLic void" berarLi penerjemah Java virLual Machine (JvM) bisa
memanggil main meLhod program unLuk memulai program (public) Lanpa membuaL
objek/class insLance dari class(sLaLic), dan program LersebuL Lidak mengembalikan
daLa ke penerjemah JvM(void) keLika berakhir.
Sebuah class insLance adalah salinan dari class yang dapaL dieksekusi. Karena
class mendeskripsikan daLa dan perilaku, anda perlu sebuah insLance dari class unLuk
memperoleh dan bekerja pada daLa.
Main meLhod sLaLis/sLaLic agar memberikan penerjemah JvM jalan unLuk memulai
class Lanpa membuaL insLance dari conLrol class Lerlebih dahulu. lnsLance dari conLrol
class dibuaL dalam main meLhod seLelah program mulai.
Main meLhod unLuk conLoh sederhana diaLas Lidak membuaL insLance dari class
FxampleProgram karena Lidak diperlukan. Class FxampleProgram Lidak memiliki
meLhod maupun ield, sehingga Lidak perlu class insLance unLuk mengakses mereka
dari main meLhod. PlaLorm Java memperbolehkan anda unLuk mengeksekusi sebuah
class Lanpa membuaL insLance dari class LersebuL selama sLaLic meLhod-nya Lidak
memanggil non-sLaLic meLhod aLau ield manapun.


Class FxampleProgram hanya memanggil prinLln, yang mana merupakan sLaLic
meLhod dari class SysLem. Class java.lang.SysLem dan lainnya menyediakan
ungsionaliLas unLuk mengirimkan Leks ke jendela Lerminal dimana program dimulai.
Class ini memiliki semua sLaLic ields dan meLhods.
Program Lesson1woA.java mengubah conLoh sederhana sebelumnya unLuk
menyimpan sLring Leks dalam sLaLic ield "LexL". Field "LexL" sLaLic agar daLanya bisa
diakses langsung Lanpa perlu membuaL insLance dari class Lesson1woA.
class LessonTwoA {
static String text = "'m a Simple Program";
public static void main(String[] args){
System.out.println(text);
}
}
Program Lesson1wo8.java dan Lesson1woC.java menambahkan meLhod "geL1exL"
kedalam program unLuk menerima dan menceLak Leks.
Program Lesson1wo8.java mengakses non-sLaLic ield "LexL" dengan
menggunakan non-sLaLic meLhod "geL1exL". Non-sLaLic meLhod dan ield disebuL
insLance meLhod dan ield. PendekaLan ini memerlukan sebuah insLance dari class
Lesson1wo8 dibuaL dalam main meLhod. ConLoh ini memasukkan sebuah sLaLic LexL
ield dan sebuah non-sLaLic insLance meLhod (geLSLaLic1exL) unLuk menerimanya.
atatan. Semua nilai kembalian dari ield dan meLhod berupa Lipe SLring.
class LessonTwoB {

String text = "'m a Simple Program"; //non-instance field
static String text2 = "'m static text"; //instance field

String getText(){ //non-instance method
return text;
}

String getStaticText(){ //instance method
return text2;
}

public static void main(String[] args){
LessonTwoB prognstance = new LessonTwoB(); //class instance
String retrievedText = prognstance.getText();
String retrievedStaticText =
prognstance.getStaticText();
System.out.println(retrievedText);
System.out.println(retrievedStaticText);
}
}

Program Lesson1woC.java menggunakan sLaLic meLhod "geL1exL" unLuk mengakses
sLaLic ield "LexL". SLaLic meLhod dan ield disebuL class meLhod dan ield. PendekaLan
ini memperbolehkan program unLuk memanggil langsung sLaLic meLhod "geL1exL"
Lanpa perlu membuaL insLance dari class Lesson1woC.


class LessonTwoC {

static String text = "'m a Simple Program"; //class field

//Accessor method
static String getText(){ //class method
return text;
}

public static void main(String[] args){
String retrievedText = getText();
System.out.println(retrievedText);
}
}
Jadi, class meLhod hanya bisa beroperasi pada class ield, dan insLance meLhod bisa
beroperasi pada class dan insLance ield.
Anda mungkin berLanya-Lanya apa arLi perbedaan diaLas. Secara singkaL, hanya ada
saLu salinan/copy dari daLa Lersimpan aLau seL dalam sebuah class ield, sedangkan
seLiap insLance memiliki salinan daLa Lersimpan aLau seL dalam sebuah insLance ield.









Cambar diaLas menunjukkan Liga class insLance dengan saLu sLaLic ield dan saLu
insLance ield. Pada wakLu program berjalan, LerdapaL saLu salinan nilai unLuk sLaLic
ield A dan seLiap insLance memiliki saLu salinan. KeLika seLFieldA(50) dipanggil pada
insLance yang perLama, nilai salinan Ladi berubah dari 36 ke 50 dan salinan keLiga
insLance berubah menjadi nilai baru. 1eLapi, keLika seLField8(25) dipanggil pada
insLance yang perLama, nilai ield 8 berubah dari 0 ke 25 Lapi hanya Lerjadi pada
insLance yang perLama, ini karena seLiap insLance memiliki salinan ield 8 Lersendiri.

KONS1RUK1OR
Class memiliki sebuah meLhod khusus bernama consLrucLor/konsLrukLor yang akan
dipanggil keLika class iLu dibuaL. KonsLrukLor class selalu memiliki nama yang sama
seperLi nama kelas dan Lidak mengembalikan nilai (no reLurn Lype). Program
Lesson1woD mengubah program Lesson1wo8 unLuk menggunakan konsLrukLor dan
menginisialisasi sLring Leks.

Anda mungkin juga menyukai