Variable Types & Static Keyword
Kenapa method main menggunakan keyword static dan bisakah program java dijalankan tanpa ada method main ?
Dengan menggunakan static maka method
dan variable akan menjadi milik class, bukan menjadi milik suatu instance.
Jika kelas memiliki variabel dan metode static, kelas lain yang
ingin menggunakannya dapat memanggil variabel atau metode tersebut secara langsung
dalam bentuk namaClass.namaStaticVariableOrMethod. Anda tidak perlu lagi
membuat objek dari kelas ini.
Berikut adalah contoh deklarasi variabel dan inisialisasi dalam Java.
int a, b, c;Int a = 10, b = 10;byte B = 22;double pi = 3.14159;char a = 'a';
Ada tiga tipe variabel di Java.
- Local variabel
- Instance variabel
- Class/Static variable
LOCAL VARIABEL
Local variable merupakan sebuah variabel yg dideklarasikan pada pada method. Kita bisa memakai variabel ini hanya pada pada method tersebut, bahkan method lain pada satu group yg sama nir menyadaei adanya variabel itu.
Local variable nir bisa didefinisikan menggunakan static keyword.
INSTANCE VARIABEL
Variabel instan adalah variabel yang berada di dalam kelas tetapi di luar metode. Variabel ini belum dinyatakan statis.
CLASS/STATIC VARIABLE
Variabel class/static adalah variabel yang dideklarasikan dengan kata kunci static. Variabel ini dideklarasikan hanya sekali pada awal eksekusi program. Variabel ini harus diinisialisasi terlebih dahulu sebelum menginisialisasi variabel instan lainnya. Selain
Variabel, kata kunci statis juga dapat digunakan untuk metode dan blok. Saat menggunakan static, kata kunci static juga digunakan dalam metode utama karena metode dan variabel milik kelas daripada instance.
Hal penting lainnya yang juga harus diperhatikan ialah, program Java hanya dapat dieksekusi dengan blok static. Akan tetapi, pada JDK 1.6 masih memungkinkan untuk menjalankan program tanpa adanya blok static. Namun, sejak JDK 1.7, program Java tidak akan dapat dieksekusi tanpa adanya main method.
Contoh Dalam Java
package Try;public class StudentRecord {public static void main(String[]args){StudentRecordExample murid1 = new StudentRecordExample("Erlangga");StudentRecordExample murid2 = new StudentRecordExample("Jaya");murid1.setNIM(121245);murid1.setProdi("Sistem Informasi");murid1.setFakultas("SAINTEK");murid1.setUniv("A");murid2.setNIM(313456);murid1.setProdi("AGROTEKNOLOGI");murid1.setFakultas("PERTANIAN");murid1.setUniv("UNAIR");murid1.printStdnt();murid2.printStdnt();}}
package Try;public class StudentRecordExample {String nama;int NIM;String prodi;String fakultas;String univ;public StudentRecordExample (String A){nama = A;}public void setNIM (int B){NIM = B;}public void setProdi(String C){prodi = C;}public void setFakultas(String D){fakultas = D;}public void setUniv(String E){univ = E;}public void printStdnt(){System.out.println("Nama: "+nama);System.out.println("NIM: "+NIM);System.out.println("Prodi: "+prodi);System.out.println("Fakultas: "+fakultas);System.out.println("Universitas: "+univ+"\n");}}
Dari kedua class di
atas, dapat kita perhatikan jika kedua class tersebut merupakan contoh
pengaplikasian instance variable. Yaitu variable yang dapat dideklarasikan di
dalam class dan di luar method. Selain itu, variabel ini juga tidak
dideklarasikan sebagai dengan static method.
Pada class StudentRecordExample,
kita telah membuat beberapa variabel, seperti String nama,
int NIM, String prodi, String fakultas, dan String univ. Setelah proses
inisialisasi variabel selesai, kita perlu membuat method agar variabel-variabel
memiliki nilai atau isi. Dalam class di atas, kita menggunakan method setter
pada java. Lalu, tidak tertinggal, kita juga membuat method untuk memunculkan
atau method untuk print dari variabel-variabel tersebut.
Sedangkan, pada
class StudentRecord, dapat kita lihat di sana terdapat main method(),
atau method utama, yang digunakan untuk mengeksekusi program Java. Seperti yang
telah kita pelajari sebelumnya, bahwa program Java tidak akan bisa dijalankan
atau dieksekusi tanpa adanya main method. Jadi keberadaan main method ini
adalah suatu keharusan agar program Java tersebut dapat dieksekusi.
Output yang akan dikeluarkan seperti berikut ini :
Contoh Penggunaan Method Display
Method display di sini
berfungsi untuk menampilkan data keseluruhan dari class StudentRecordExample. Perhatikan kode program
masing-masing class.
package tutorial;public class StudentRecordExample {String nama;int NIM;String Prodi;static String UNIV;static void change(){UNIV = "STAN";}StudentRecordExample(String A, int B, String C){nama = A;NIM = B;Prodi = C;}void display(){System.out.println("NIM: "+NIM+"\nNama: "+nama+"\nNama PT: "+UNIV+"\nJurusan : "+Prodi+"\n");}}
package tutorial;public class RecordStudent {public static void main(String[]args){StudentRecordExample.change();StudentRecordExample GG1 = new StudentRecordExample("Erlangga", 3030, "Manajemen Keuangan");StudentRecordExample GG2 = new StudentRecordExample("Jaya", 9897, "Perpajakan");StudentRecordExample GG3 = new StudentRecordExample("Wardhana", 2435,"BEACUKAI");System.out.println();System.out.println("============================");System.out.println();GG1.display();GG2.display();GG3.display();System.out.println();System.out.println("============================");System.out.println();}}
Proses input method display dapat kita temukan dalam class StudentRecordExample, dan method GG1.display(); pada class StudentRecord merupakan method untuk memunculkan dari input data dari objek GG1 StudentRecordExample.
Dalam kedua class di atas, kita juga bisa mendapati adanya penggunaan constructor pada Java. Hal ini dapat kita jumpai pada class StudentRecordExample. Dan pada class StudentRecord, dapat kita buat objek untuk mengisi variabel tersebut.
Selain penggunaan method display dan constructur, dalam class StudentRecordExample, dapat kita lihat juga adanya penggunaan static keyword pada method static String UNIV; dengan adanya keyword static ini, maka nilai dari UNIV akan selalu sama, yaitu STAN.
Berikut output dari kode program di atas.
Dari class di atas, kita juga dapat memodifikasi kode
program tersebut agar dapat menambahkan beberapa variabel data dan objek baru.
Perhatikan kode program di bawah ini.
package tutorial;public class StudentRecordExample {String nama;int NIM;String Prodi;String Grade;String kota;static String UNIV;static void change(){UNIV = "STAN";}StudentRecordExample(String A, int B, String C, String D, String E){nama = A;NIM = B;Prodi = C;Grade = D;kota = E;}void display(){System.out.println("NIM: "+NIM+"\nNama: "+nama+"\nNama PT: "+UNIV+"\nJurusan : "+Prodi+"\nIPK : "+ Grade+"\nAsal Kota : "+kota+"\n");}}
package tutorial;public class RecordStudent {public static void main(String[]args){StudentRecordExample.change();StudentRecordExample GG1 = new StudentRecordExample("Erlangga", 3030, "Manajemen Keuangan","A","JOMBANG");StudentRecordExample GG2 = new StudentRecordExample("Jaya", 9897, "Perpajakan", "S+", "JAKARTA");StudentRecordExample GG3 = new StudentRecordExample("Wardhana", 2435,"BEACUKAI","SS", "SURABAYA");StudentRecordExample GG4 = new StudentRecordExample("Fasichul", 2121,"BISNIS","A", "YOGYAKARTA");StudentRecordExample GG5 = new StudentRecordExample("Jauhari", 6996,"Tata Kota","A-", "SEMARANG");StudentRecordExample GG6 = new StudentRecordExample("Sabili", 8253,"Perpajakan","B+", "SUMENEP");System.out.println();System.out.println("============================");System.out.println();GG1.display();GG2.display();GG3.display();GG4.display();GG5.display();GG6.display();System.out.println();System.out.println("============================");System.out.println();}}
Dari kedua class di atas, dapat kita perhatikan jika ada beberapa penambahan variabel, seperti String Grade dan String kota. Dan pada class StudentRecord, dapat kita perhatikan juga jika ada penambahan objek.
Berikut output dari kedua class tersebut.
Sekian Yang Dapat Saya
Sampaikan
Terima Kasih 😉
Sumber :
Fungsi keyword static di Java. (2011, Juli 4). Retrieved from Maniak Java: https://maniakjava.wordpress.com/2011/07/04/fungsi-keyword-static-di-java/
Moh. Shohibul Wafa, S. M. (2021). MODUL 6 – Variable Types & Static Keyword. 1-7.