• About
  • Contact
  • Sitemap
  • Privacy Policy

VISUAL C# No.41: Mengenal Static Keyword


Untuk programmer pemula pasti kurang memperhatikan static keyword ini. Static keyword merupakan keyword yang ditempatkan disebelah belakang dari class atau method atau properties. Nah, sebetulnya apa itu static keyword? Apa kegunaannya? Apa fungsinya???



Sebelum membahas lebih lanjut, saya ingin Tanya terlebih dahulu, adakah yang masih ingat tentang instance? Perhatikan screenshot di atas, Contoh instance adalah seperti berikut ini:

ProgramPertama myFirst = new ProgramPertama();
myFirst.MethodKita();


class ProgramPertama pada screenshot di atas tidak terdapat keyword static seperti pada class Programkedua, sehingga untuk mengakses member dari class ini (salah satunya fungsi MethodKita) maka kita harus membuat instance terlebih dahulu.
Pada kode di atas, kita membuat instance dengan nama myFirst. Sudah jelas kan di sini?

Lalu bagaimana dengan class ProgramKedua? Karena ProgramKedua terdapat keyword static, maka kita bisa menggunakan langsung tanpa perlu membuat instance.

ProgramKedua.MethodKita();

Mudah bukan?

Di atas hanya gambaran umum saja, sekarang mari kita lanjut ke pembahasan yang lebih spesifik.
Sebetulnya, keyword static bisa ditempatkan pada class, method, maupun properties.

A.Static Class
Lihat gambar 1:


Pada kode di atas, kita membuat sebuah “Static Class”. Dalam static class, semua member (method, variable, properties) JUGA HARUS STATIC. Compiler akan error bila kia memberikan method atau variable yang tidak static.

Static class tidak bisa dibuat instance. Bahkan pada static class ini tidak terdapat constructor, pengaksesan member dilakukan secara langsung (directly).

Dari kode di atas, kita tidak perlu membuat sebuah instance, cukup memanggil method returnOutput() dengan kode sebagai berikut:

ProgramPertama.outputText = “Hem, ini static member…”;
ProgramPertama.returnOuput();


B.Static Method
Perhatikan screenshot kode berikut ini, kita membuat class ProgramKedua yang merupakan class regular (tidak static) tetapi memiliki static method.
Lihat gambar 2:


Nah, method ‘returnMyMind()’ merupakan static, sedangkan ‘returnOutput()’ tidak static. Method static hanya bisa mengakses variable static dalam hal ini ‘outputTextMyMind’.

Untuk mengakses masing – masing method, adalah sebagai berikut.

ProgramKedua MyApp = new ProgramKedua();
MyApp.returnOutput(); //mengeksekusi method not static
ProgramKedua.returnMyMind(); //mengeksekusi method static
MyApp.returnMyMind(); //ERROR COMPILER
ProgramKedua.returnOutput(); //ERROR COMPILER


Untuk mengeksekusi method static bisa dilakukan secara langsung tanpa perlu menggunakan instace yang sudah dibuat.
Mudah bukan???

C.Static Properties
Penerapan static properties sama dengan static method. Perhatikan code berikut ini.
Lihat gambar 3:


Untuk menggunakan static properties, kita pun tidak perlu membuat instance.
Demikian tutorial static keyword, semoga bermanfaat,
Salam,

J-Theme