Names, Binding, Scopes Java

  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

  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 :

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

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.

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

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

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

Loop Variables

Contoh Program Scopes

Syntax dan Semantics Java

  1. Syntax

Syntax merupakan struktur bahasa atau grammar serta aturan dalam melakukan programming. Sebagai contoh, Ricky mengendarai motor. Dalam kalimat tersebut terdiri atas subjek + predikat + objek yang kita kenal sebagai syntax. Dalam bahasa Java,  syntax dapat dibagi menjadi beberapa bagian seperti:

  1. Class

Class merupakan model dari suatu objek yang menjelaskan karakteristik atau sifat serta fungsi objek ( tempat membuat objek ).

Class

  1. Object

Object merupakan sebuah instansiasi dari class

Object

  1. Method

Method merupakan pengelompokan perintah untuk melakukan perintah yang lebih besar.

Method

  1. Variables

Variables merupakan sebuah tempat penyimpanan data. Variables dapat terbagi menjadi tiga bagian, yaitu:

  1. Local variables: variable dalam method
  2. Instance variables: di dalam class, di luar method
  3. Class variables: di dalam class, di luar method, disertai static keyword

Di dalam Java, terdapat berbagai aturan seperti:

  1. Case sensitive: huruf kapital dan kecil berpengaruh karena public class Halo berbeda dengan public class halo.
  2. Nama class: setiap membuat nama class, huruf pertama diawali dengan huruf besar. Contoh: public class HaloDunia{}
  3. Nama method: huruf pertama harus diawali dengan huruf kecil dan selanjutnya kata kedua bisa dengan huruf besar. Contoh: public class IniClass{}
  4. Nama program: nama file program harus sesuai dengan nama class. Contoh, nama program dari class IniProgram harus disimpan dengan nama file IniProgram.java

Setiap program java yang ingin dijalankan, harus memiliki method main() yang berfungsi untuk menjalankan program Java. Tanpa adanya method ini, program Java hanya dapat dicompile tapi tidak akan berjalan Nama method main ini biasanya public static void main(String args[])

  1. Semantics

Semantics merupakan makna dari program. Syntax dan semantics merupakan satu kesatuan yang tidak dapat dipisahkan. Misalkan kita memiliki kalimat yaitu Ricky mengendarai batu. Secara syntax, kalimat tersebut benar. Namun secara semantics, kalimat tersebut tidak berlogika.

Syntax dan Semantics

Introduction Java

Bab I

Introduction to Java

  1. Sejarah Java

Java mulanya diciptakan sebagai programming tool untuk GreenProject oleh Patrick Naughton, Mike Sheridan, dan James Gosling dari Sun pada tahun 1991. Green Project terdiri dari 13 orang yang merupakan tim dari sun untuk mengantisipasi dan merencanakan ―next wave‖ dalam dunia komputer. Fokusnya adalah pada digitally controlled consumer devices dan komputer.

Setelah 18 bulan bekerja, pada tahun 1992, mereka mengeluarkan suatu Set-Top TV interaktif dengan touchscreen yang disebut *7 (star seven). Pada *7 ini juga pertama kali dikenalan duke (maskot java).

*7 memiliki cangkupan platform dan device lebih luas dibandingkan product serupa dikarenakan *7 dikerjakan menggunakan suatu processor-independent language yang diciptakan oleh James Gosling. Gosling menamakan bahasa ini dengan Oak, yang berasal dari pohon Oak yang berada di luar jendela kantornya. Karena nama Oak telah digunakan sebagai nama product lain, maka Oak pun berganti nama menjadi Java.

Nama java sendiri tidak terlalu jelas berasal darimana. Beberapa sumber mengatakan Java berasal dari kopi jawa tetapi versi cerita yang berkaitan juga beragam. Ada yang mengatakan kopi tumbuk jawa adalah kopi kesukaan James Gosling. Ada jg mengatakan nama Java didapat pada saat mereka sedang ngopi di suatu cafe. Versi hancurnya, diceritakan para pengembangan Java bertualang di pulau Jawa dan di akhir petualangannya mereka minum kopi.

Sumber lain mengatakan nama Java didapat dari daftar nama-nama random, dan nama Java dipilih karena kedengaran keren. Spekulasi lain mengatakan bahwa nama Java didapat dari inisial beberapa individu yang berperan dalam project yaitu James gosling, Arthur Van hoff, Andy bechtolsheim.

Pada perkembangan selanjutnya GreenProject berubah menjadi FirstPerson dan personilnya pun bertambah menjadi 70 orang. FirstPerson mulai memasarkan produk sejenis dengan *7 tetapi mereka mengalami kegagalan. Pada saat itu internet mulai berkembang, melihat adanya kecocokan dengan visi java, kemudian mereka melanjutkan project dengan membuat browser berdasarkan browser mosaic (web browser pertama) yang mereka namakan WebRunner. WebRunner sendiri merupakan web browser pertama yang dapat menampilkan animasi (applet). Kemudian WebRunner berubah nama menjadi HotJava TM.

Setelah kesuksesan HotJava TM, pada pertengahan tahun 1995, Netscape mengumumkan akan menggunakan Java di dalam browser mereka. Java menjadi semacam standar di internet dan terus berkembangan sampai sekarang.

  1. Java Virtual Machine dan Byte Code

Kebanyakan programming language meng-compile source code menjadi bahasa mesin yang dieksekusi diatas arsitektur microprosesor atau sistem operasi tertentu. Java mengubah source code menjadi bytecode dan bytecode dieksekusi diatas suatu arsitektur microprocessor khusus. Dan Java Virtual Machine (JVM) berguna untuk menyediakan arsitektur ini dalam processor di CPU kita (a machine within a machine). Bytecode yang tercipta ini nantinya akan berbentuk sebuah file yang berekstensi .class.

Ini sebabnya java dapat dijalankan di berbagai platform tanpa harus memperhatikan spesifikasi hardware tertentu. Jika ada JVM maka bytecode dapat dijalankan dan dieksekusi layaknya program biasa. Jadi Java Virtual Machine bertanggung jawab untuk menginterpretasikan bytecode, dan menerjemahkannya menjadi action atau system call.

Java Virtual Machine

  1. Compile dan Running

Untuk dapat membuat program berbasis java, kita harus sudah menginstall Java Development Kit (JDK) di komputer kita. Di dalam JDK inilah terdapat berbagai tools yang berhubungan dengan pembuatan program berbasis java. Selain itu bila kita menginstall JDK ini, maka secara otomatis Java Runtime Environment juga akan terinstall, sehingga kita bisa menjalankan berbagai program berbasis java.

Untuk mengcompile source code yang telah kita buat, kita dapat menggunakan tool yang telah disediakan oleh JDK yaitu javac.

Perintahnya untuk menjalankannya adalah javac [namaFile]

Contoh : javac Simple.java

  1. Classpath

Classpath adalah path dimana JRE (Java runtime environment) akan mencari class dan file lainnya.

Berikut adalah beberapa cara untuk menambahkan classpath:

  1. Dengan menggunakan option –classpath atau –cp

C:> sdkTool -classpath classpath1;classpath2

  1. Dengan mengupdate variable CLASSPATH

C:> set CLASSPATH=classpath1;classpath2..

  1. Java Development Kit Tool
Tool Deskripsi
javac Java Compiler
Java Java Launcher
javadoc API documentation generator.
appletviewer Run and debug applets without a web browser.
javap Class file disassembler
Jar Create and manage Java Archive (JAR) files.