Names, Binding, dan Scopes

 

  1. Names

Names adalah penamaan untuk mengidentifikasi entitiy. Penamaan tersebut memiliki aturan tersendiri dalam setiap bahasa pemrograman. Penamaan yang baik adalah penamaan dengan panjang yang tidak terlalu panjang dan yang penting merepresentasikan dari fungsinya. Dalam bahasa pemrograman Java, penamaan tersebut dapat berupa penamaan variabel, class, method, dan file dimana memiliki aturannya masing – masing. Berikut adalah penamaan dalam Java.

 

  1. Penamaan Variabel/Identifier:
  • Case Sensitive yang artinya huruf besar dan huruf kecil memiliki arti yang berbeda. Contohnya variabel num dengan Num adalah dua variabel yang berbeda.
  • Penamaan identifier harus dimulai dengan huruf, underscore(_), atau karakter dollar ($). Tidak boleh dimulai dengan angka.
  • Nama identifier bisa terdiri dari satu atau beberapa karakter yang terdiri dari angka (0 – 9), huruf (A – Z, a – z), dollar ($), garis-bawah/underscore(_).
  • Simbol-simbol operator seperti (*), (+), (/), (-) tidak boleh digunakan.
  • Dalam penamaan identifier tidak boleh menggunakan spasi.
  • Tidak diperbolehkan menggunakan Kata-kata keyword dalam Java. berikut adalah tabel keyword
  • Panjang nama identifier tidak dibatasi

4

Gambar III.A.1.1: Keywords di Java

  1. Penamaan Class

Setiap membuat nama class, huruf pertama harus diawali dengan huruf besar, contoh : public class HaloDunia { }

  1. Penamaan Method

Nama method huruf pertama harus diawali dengan huruf kecil, dan selanjutnya kata kedua bisa dengan huruf besar. Contoh :

5

Gambar III.A.2.1: Penamaan Method

 

 

 

 

 

  1. Penamaan File Program

Nama file program harus sesuai dengan nama kelas. Contoh nama program dari kelas ContohProgram harus disimpan dengan nama file ContohProgram.java

 

  1. Binding

Variabel adalah abstraksi dari sebuah memory cell. Variabel memiliki atribut – atribut yaitu nama, alamat, nilai, tipe data, lifetime, dan scope. Binding adalah asosisasi dari entitiy dengan atributnya, contohnya seperti variabel dengan nilainya, dsb. Ada dua jenis binding yaitu static binding dan dynamic binding.

 

Static binding adalah binding yang terjadi sebelum program berjalan (pada saat compile time) dan tetap sama selama program dieksekusi. Pada Java, Binding dari private, static and final methods selalu terjadi pada saat compile time karena method ini tidak bisa overridden sehingga binding private, static, dan final method selalu static binding. Selain itu overloaded methods (methods yang memiliki nama sama) akan dibinding dengan static binding

3

Gambar III.B.1: Contoh Penggunaan Static Binding

Dynamic Binding adalah binding yang terjadi ketika program sedang berjalan (saat runtime) dan nilainya dapat berubah selama program dieksekusi. Dalam Java, overridden method akan memakai dynamic binding. Berikut contoh dynamic binding di Java.

7

Gambar III.B.2: Contoh Penggunaan Dynamic Binding

Dari contoh diatas kita dapat melihat bahwa tipe objek tidak dapat diketahui oleh compiler karena instance dari Dog juga adalah instance dari Animal, jadi compiler hanya mengetahui base typenya sehingga mengikat dengan dynamic binding.

 

  1. Scopes

Scope dari sebuah variabel adalah bagian dari program dimana variabel tersebut dapat diakses. Aturan scope dalam Java dapat terbagi menjadi beberapa kategori sebagai berikut.

  1. Class Level Scope

Variabel dideklarasikan didalam kelas tetapi diluar seluruh function sehingga variabel tersebut dapat langsung diakses dimana pun dalam kelas

8

Gambar III.C.1.1: Class Level Scopes

 

  1. Local Variables (Method Level Scope)

Variabel dideklarasikan didalam method, sehingga hanya bisa diakses dalam method tersebut saja dan tidak berfungsi lagi setelah eksekusi method tersebut berakhir

9

Gambar III.C.2.1: Local Variables

 

  1. Loop Variables (Block Scope)

Variabel yang dideklarasikan didalam sepasang tanda kurung “{” dan “}” dalam sebuah method, sehingga hanya bisa diakses dalam block tersebut. Contohnya penggunaan variabel dalam looping

10

Gambar III.C.3.1: Loop Variables

11

Gambar III.C.3.2: Contoh Program Scopes

 

Leave a Reply

Your email address will not be published. Required fields are marked *