Program JAVA dirancang sebagai suatu pemrograman berorientasi objek (OOP=Object Orientation Programming) secara penuh. Dalam pemrograman PASCAL yang untuk TURBO PASCAL versi 5 ke atas telah mendukung OOP atau C++ yang telah penuh mendukung OOP namun dalam kedua bahasa yang terakhir tersebut masih dimungkinkan untuk membuat program dengan pendekatan program terstruktur, yang dalam lingkup pemrograman JAVA hal ini tidak dapat lagi dilakukan.
Struktur program JAVA dibuat dengan mendefinisikan suatu class dengan syntax :
[public] class
{ // definisi atribut dari kelas tersebut
// definisi method yang memanipulasi atribut
}
Keterangan :
[public] = menunjukkan bahwa class tersebut dapat diases oleh class yang lain. Apabila kata public tidak dicantumkan menunjukkan bahwa class tersebut hanya dapat diases oleh class tertentu.
NamaKelas = adalah nama dari programer sesuai dengan persoalan.
Selanjutnya didalam suatu class dapat didefinisikan atribut-atribut class tersebut dan juga method-method yang memanipulasi atribut class tersebut.
Suatu class dapat dieksekusi apabila didalam class tersebut didefinisikan suatu method yang disebut main(), yaitu :
public static void main(String[] args)
2.1. Mengedit Source code program JAVA :
Suatu kode program dalam JAVA yang berupa definisi suatu class dapat diketik dan diedit menggunakan editor teks, baik yang berbasis DOS ataupun WINDOWS. Sebagai contoh pada gambar 1.1. ditunjukkan mengedit code dengan NOTEPAD dari WINDOWS untuk suatu kode program JAVA yaitu class FirstSample yang hanya mengandung satu method dan sama sekali tidak mendefinisikan atribut sebagai berikut :
public class FirstSample
{ public static void main(String[] args)
{System.out.println(“Hello INFORMATIKA !!!”);
}
}
Gambar 1.1. Mengetik code JAVA dengan NOTEPAD
Keterbatasan pengetikan dengan NOTEPAD adalah hanya dapat diketikan satu dokumen dalam suatu waktu. Untuk pengetikan beberapa kode sekaligus dapat dipilih editor teks seperti MS-WORD atau editor teks berbasis DOS yaitu program EDIT. Gambar 1.2 berikut menunjukkan proses pengeditan dengan program EDIT dari DOS. Salah satu kelebihan program EDIT dapat dibuka beberapa file sekaligus.
Gambar 1.2. Mengedit code dengan program EDIT dari DOS
2.2. Meng-compile dan mengeksekusi program JAVA :
Setelah suatu code program diketikkan, maka kode program tersebut disimpan dengan nama file HARUS SAMA DENGAN NAMA class utama dengan ekstension .java . Untuk nama class FirstSample maka nama filenya adalah FirstSample.java.
Untuk meng-compile code tersebut digunakan compiler JAVA yang tersimpan dalam JDK (Java Development Kit) dalam subdirectory bin. Compiler tersebut merupakan file berukuran cukup kecil 4.608 byte yaitu javac.exe. Untuk isi subdirectory bin dapat dilihat dalam Gambar 1.3.
Gambar 1.3. Isi directory bin
Meng-compile code program JAVA adalah meng-compile class yang telah disimpan dalam Namafile.java. Contoh untuk class FirstSample.java dicompile dengan baris perintah :
>javac FirstSample.java
Hasil compilasi ini adalah file:
FirstSample.class
Perlu diingat bahwa JAVA adalah suatu progam yang termasuk CASE SENSITIF seperti C++ sehingga apabila dalam meng-compile diketik :
>javac firstSample.java
atau
>javac Firstsample.java
maka akan terjadi error dalam nama file, karena yang benar adalah file dengan F besar dan sample dengan S besar. Hati-hati dalam meng-compile!
File hasil compilasi berupa file berekstension *.class yang biasa dikenal sebagai JAVA BYTE CODE, yang merupakan suatu kode byte yang bebas platform. Perlu diingat bahwa apabila dalam file *.java ada beberapa definisi class maka hasil compilasi akan menghasilkan beberapa file yang berekstensi *.class pula.
Selanjutnya untuk eksekusi kode byte ini digunakan suatu interpereter yang tergantung pada paltform tertentu. Untuk sistem yang digunakan dalam pembahsan ini (SO WINDOWS) interpreter adalah file :java.exe. Untuk menjalankan java byte code digunakan baris perintah :
>java FirstSample
hasil adalah :
Hello INFORMATIKA !!!
Untuk urutan compilasi dan eksekusi program dari jendela MS-DOS prompt dapat dilihat pada Gambar 1.4.
Gambar 1.4. Compilasi dan eksekusi code JAVA
2.3. Tipe Data dan Operator dalam JAVA
JAVA mengenal tipe data yang mirip dengan C++. Untuk data numerik dimiliki beberapa tipe, yaitu :
Integer :
int 4 byte kisaran nilai :-2.147.486.648 s/d 2.147.486.647
short 2 byte kisaran nilai :-32.768 s/d 32.767
long 8 byte kisaran nilai :-9.223.372.036.854.775.808L s/d
9.223.372.036.854.775.807L
byte 1 byte kisaran nilai :-128 s/d 127
Floating point
float 4 byte kisaran nilai :+3.40282347E+38F (7 digit ignifikan)
double 8 byte kisaran nilai :+1.79769313486231570E+308 (15
digit signifikan)
Karakter dan string
char 1 byte 1 karakter
String sebuah objek string dan manipulasinya
Satu hal yang berbeda dengan C++ adalah untuk String dalam JAVA adalah sebuah objek, yang mengandung beberapa method untuk manipulasi objek tersebut. Meskipun demikian suatu objek String dapat diisi suatu nilai string sebagaimana layaknya variabel biasa.
Contoh :
String Nama=”JON SHOLEH”;
atau :
String Nama;
Nama = “JON SHOLEH”;
Beberapa method dari objek string Nama antara lain :
Nama.length() akan menghasilkan : 10
Nama.substring(0,3) akan menghasilkan : “JON”
Contoh program yang melibatkan data adalah sebagai berikut :
class OperasiDATA
{ public static void main(String args[])
{
int a;
float b;
double c;
String d;
a=(int)1/3;
b=(float)1/3 ;
c=(double)1/3 ;
d="JON SHOLEH";
System.out.println("a = " +a);
System.out.println("b = " +b);
System.out.println("c = " +c);
System.out.println("d = " +d);
System.out.println("d.length() = " +d.length());
System.out.println("d.substring(0,3) = " +d.substring(0,3));
}
}
Output dari program tersebut adalah :
a = 0
b = 0.333333
c = 0.333333
d = JON SHOLEH
d.length() = 10
d.substring(0,3) =JON
JAVA mengenal operator sama dengan C++ antara lain :
Operator aritmatik :
+, - , * dan / untuk : penambahan, pengurangan, perkalian dan pembagian
+= , yakni : x+=4 ekivalen dengan operasi : x=x+4
-= ; *= dan /= memiliki ekivalensi yang sama dengan -=
++ yaitu : n++ ekivalen dengan n=n+1 (increment by one)
-- yaitu : n-- ekivalen dengan n=n-1 (decrement by one)
% untuk MODULO, yaitu : 5 % 3 sama dengan 2
Operator relational dan logika
< , > , <= dan >= adalah : lebih kecil, lebih besar, lebih kecil atau sama dan lebih besa atau sama
== untuk SAMA DENGAN
!= untuk TIDAK SAMA DENGAN
&& untuk operator AND
|| untuk operator OR
2.5. Masukan program dari Keyboard
Untuk aplikasi berbasis DOS dengan command line interaktif, salah satu yang selalu menarik untuk dibahas dalam kebanyakan pemrograman adalah masukan dari Keyboard. Untuk masukan berbagai tipe data dari keyboard JAVA tidak menyediakan satu kelas khusus. Tetapi dari package java.io telah didefinisikan suatu class abstract InputStream yang menyediakan beberapa method untuk membaca aliran byte data antara lain method read() untuk membaca sejumlah byte dari keyboard. Arthur van Hoff (1995) mendefinisikan suatu class final yang dinamakan class System yang didalamnya didefinisikan beberapa objek, yaitu :in untuk standard masukan keyboard dan out untuk output ke layar. Untuk selanjutnya method yang diturunkan beberapa method untuk input beberapa type data dari keyboard adalah dari :
System.io.read()
Sedangkan untuk output ke layar digunakan :
System.io.println(String s)
Cay Horstmann (1996) mendefinisikan suatu package corejava yang antara lain mendefinisikan class Console yang didalamnya terdifinisi beberapa method untuk masukan keyboard yang memanfaatkan method System.in.read(), antara lain :
Console.readString(string prompt) : untuk masukan string dari keyboard
Console.readInt(string prompt ) : untuk masukan integer dari keyboard
Console.readDouble(string prompt) : untuk masukan double dari keyboard
Untuk menggunakan class Console perlu dilakukan import package corejava.* Apabila tidak didahului dengan import maka penggunaan method-method diatas akan memunculkan message berikut :
Error : undefined variabel Console !
Selain dengan class Console dari Cay Horstmann, Julio Sanchez dan Maria Canton (2002) mendefinisikan klass Keyin yang memanfaatkan method dari kelas InputSream, yaitu antara lain method :
Keyin.inChar(String prompt) : untuk input karakter
Keyin.inString(String prompt) : untuk input string
Keyin.inInt(String prompt) : untuk input integer
Keyin.inDouble(String prompt) : untuk input double
Dengan demikian untuk membaca beberapa jenis data dari keyboard kita tinggal memilih akan menggunakan method dari class Consoel atau method dari class Keyin, hasilnya sama.
Program berikut ini memperagakan masukan nama, umur dan gaji yang masing-masing mewakili tipe :string, integer dan float
import corejava.*;
public class CobaBaca
{ public static void main(String[] args)
{ int u;
String Nm;
float Gj;
Nm=Console.readString("Siapa namamu ?");
u =Console.readInt("Berapa umurmu ?");
Gj=(float)Console.readDouble("Sekarang Gajimu berapa Rp ?");
System.out.println("Hallo "+ Nm);
System.out.println("Kau lahir tahun "+(2002-u));
System.out.println("Sekarang kau kaya ya!!! Gajimu :"+Gj);
}
}
Pernyataan import corejava.* dapat tidak disertakan dengan catatan kita memiliki definisi class Console (file Console.java) dalam diretori program yang dikompile. Atau membaca dengan Keyin.IntString dengan menyiapkan dulu definisi class Keyin dalam directori program kita.
Output dari program tersebut adalah :
Siapa namamu ? JON SALEH
Berapa umurmu ? 25
Sekarang Gajimu berapa Rp ? 100000
Hallo JON SALEH
Kau lahir tahun 1977
Sekarang kau kaya ya!!! Gajimu : 100000
2.6. Statemen Kondisional
Statemen kondisional dalam JAVA memiliki 4 macam syntax :
If (kondisi) statemen ;
atau
If (kondisi) {blok statemen} ;
atau
If (kondisi) statemen1 else statemen2;
atau
If (kondisi) {blok statemen -1} else {blok statemen-2} ;
Contoh program :
// --------------------------------------------
// Membaca dari keyboard :string dan double
// menggunakan method inString() dan inDouble()
// dari klass Keyin
// sehingga tidak diperlukan import :corejava.*
// ---------------------------------------------
public class Sales
{ public static void main(String[] args)
{
String NAMA,PESAN;
double JUAL,BONUS;
NAMA=Keyin.inString("Nama Sales :");
JUAL=Keyin.inDouble("Hasil Penjualan :");
if (JUAL>100000)
{BONUS=0.1*JUAL; PESAN="SELAMAT !!";}
else
{BONUS=0; PESAN="ANDA HARUS LEBIH GIAT LAGI";};
System.out.println("Saudara "+NAMA );
System.out.println("Bonus Anda sebesar : "+BONUS );
System.out.println(PESAN);
}
}
Output program :
Nama Sales : BAMBANG
Hasil Penjualan : 99000
Saudara BAMBANG
Bonus Anda sebesar : 0
ANDA HARUS LEBIH GIAT LAGI
Tidak ada komentar:
Posting Komentar