Elemen Dasar Java
Elemen Dasar Java
Elemen Dasar Java
Tujuan Instruksional : setelah mengikuti uraian pada modul ini, mahasiswa diharapkan dapat
memahami dan bisa menerapkan elemen dasar ini untuk membangun program Java. Topik-topik bahasan
dalam modul ini adalah:
1. Struktur program java
2. Keyword
3. Variabel dan tipe data
4. Literal, Nilai dan Tetapan
5. Perubahan Tipe Data (Casting)
6. Operator dan Ekspressi
7. Memberi Komentar
8. Instruksi Dasar
import java.nama_class.nama_fungsi;
class nama_program
{
public static void main ( String[ ] args )
{
// definisi variabel
….
// instruksi-instruksi
}
}
import java.io.*;
class HalloDunia {
public static void main (String[ ] args)
{
System.out.println(“Hallo Semua Penghuni Dunia”);
}
}
Program diatas dapat diketik dengan menggunakan “text editor”, seperti DOS Edit, atau Windows
WordPad / Notepad, kemudian direkam dengan nama file yang harus sama dengan nama “class”-nya,
yaitu: HalloDunia.java. Kemudian program tersebut harus di-“compile” sbb:
Gambar 1-1. Editor DOS untuk menulis HalloDunia
javac HalloDunia.java
kalau tidak ada error maka dapat di-jalankan dengan memanggil interpreter:
java HalloDunia
Kompiler javac menterjemahkan “source code” menjadi file “.class”, kemudian interpreter java
menjalankan file .class-nya. Pada monitor DOS akan muncul baris Hallo Semua Penghuni Dunia.
(1) Semua program JAVA harus berada dalam suatu definisi “class”.
(2) Kemudian terdapat beberapa modul yang didahului oleh modul utama “main()”.
(3) Dalam setiap modul terdapat definisi data dan instruksi, pada contoh diatas hanya terdapat
satu instruksi saja, untuk mencetak berita ke-screen.
Setelah menyaksikan bagaimana aplikasi JAVA dibuat dan dijalankan maka berikut ini disajikan contoh
sebuah program “Applet” JAVA:
import java.awt.*;
import java.applet.*;
Program inipun harus di-edit dengan text-editor kemudian direkam dengan nama “AppletHallo.java”,
kemudian di-compile menjadi file “AppletHallo.class”, lewat instruksi: javac AppletHallo.java, namun
untuk menjalankannya diperlukan sebuah file HTML yang diaktifkan melalui Web-Browser.
Perhatikan strukturnya, ada sedikit perbedaan antara program aplikasi dengan program applet.
1. Program applet tidak memiliki modul utama main(), tetapi class-nya harus merupakan ekstensi
dari modul Applet (extends java.applet.Applet).
2. Perhatikan pula bahwa untuk menulis sesuatu ke jendela Applet tidak dapat dipakai perintah
“System.out.println()” melainkan perintah “drawString()” yang terkandung dalam fungsi paint().
Fungsi “drawString()” disedikan oleh paket “graphics”, untuk itu paket ini perlu di-import dengan
perintah “import java.awt.Graphics”, atau import java.awt.*.
import java.applet.*;
import java.nama_class.* ;
File .class hasil kompilasi tidak dapat dijalankan langsung oleh interpreter java, tetapi harus dimasukkan
kedalam suatu halaman Web lewat suatu file HTML, kemudian dijalankan oleh JVM (Java Virtual
Machine) yang ada pada suatu Web-browser. Berikut ini adalah contoh suatu file HTML untuk
menampilkan applet diatas:
<HTML>
<HEAD>
<TITLE> Applet Hallo untuk anda !</TITLE>
</HEAD>
<BODY>
<P> Applet ini mengucapkan:
<APPLET CODE= AppletHallo.class WIDTH=150 HEIGHT=25>
</APPLET>
</BODY>
</HTML>
Tipa data pada Java dapat dibedakan atas dua kategori, yaitu:
• Tipe data primitf
• Tipe data kompleks / referensi
Tipe data primitif adalah tipe data dasar, untuk data tunggal. Tipe data kompleks adalah tipe data
bentukan yang merupakan kumpulan dari tipe primitif. Ada delapan tipe data primitif yaitu: Boolean,
byte, short, char, int, long, float, dan double.
Type Description
Boolean tipe logik, nilainya true atau false.
byte 8-bit 2s-compliment integer dengan nilai antara -128 s/d 127.
short 16-bit 2s-compliment integer , nilai anatara -32,768 s/d 32,767.
char 16-bit Unicode characters, dapat digunakan untuk angka ASCII 16-bit nilai antara
0 s/d 65535.
int 32-bit 2s-compliment integer, antara -2,147,483,648 s/d 2,147,483,647.
long 64-bit 2s-compliment integer anatar-9223372036854775808 s/d
9223372036854775807).
float 32-bit single precision floating point numbers using the IEEE 754-1985 standard .
double 64-bit double precision floating point numbers using the IEEE 754-1985 standard.
Java tidak mengenal tipe data struct dan enum seperti pada C/C++.
byte x;
short jumlahAnak;
int dayaListrik;
long pendudukDunia;
float y, z;
double jumlahUtang;
char c;
String namaDosen;
boolean lightOn;
5.Nilai string dapat diperoleh dengan cara menempatkan deretan karakter diantara dua tanda kutip,
misalnya:
“Laporan Pertanggung Jawaban akhir tahun”
“String dengan sebuah \t tabulasi didalamnya”
“Suatu string \”didalam suatu\” string lainnya”
char c = (char)System.in.read();
membaca karakter dari keyboard (System.in.read) yang diterima dalam bentuk int sehingga perlu diubah
ke karakter apabila data tersebut berupa alpabet.
Berikut ini adalah tabel casting yang diperbolehkan.
+ penjumlahan 3+4
- pengurangan 7-5
* perkalian a*b
/ pembagian c/d
% sisa pembagian 8%3
Berikut ini adalah contoh program yang menguji operator aritmetika tersebut diatas:
class TestAritmetika {
public static void main (String[] args) {
short x = 6;
int y = 4;
float a = 12.5f;
float b = 7f;
System.out.println(“x = “ + x + “, y = “ + y);
System.out.println(“x + y = “ + (x + y));
System.out.println(“x - y = “ + (x - y));
System.out.println(“x * y = “ + (x * y));
System.out.println(“x / y = “ + (x / y));
System.out.println(“x % y = “ + (x % y));
System.out.println(“a = “ + a + “, b = “ + b);
System.out.println(“a / b = “ + (a / b));
}
}
Assignment operator pada bahasa JAVA mengikuti bahasa C++, sehingga assignment berikut ini berlaku
dalam bahasa JAVA:
Operator-operator logika mencakup operator relasi dan operator boolean, yaitu sbb:
Operator relasi:
> lebih besar
>= lebih besar atau sama
== sama
<= lebih kecil atau sama
< lebih kecil
!= tidak sama
Operator boolean:
& operasi AND
| operasi OR
^ operasi XOR
&& operasi AND (suku kanan tidak dievaluasi bila suku kiri sudah false)
|| operasi OR (suku kanan tidak dievaluasi bila suku kiri sudah true)
! operasi NOT
? : operator persyaratan
Contoh pemakaian:
pada contoh ini nilai x dan y akan dicetak selama x lebih kecil dari 10 dan y lebih kecil dari 15
namun pada saat x = 10 maka sisi kiri operator AND akan false, sehingga kondisi akan false dan program
berhenti.
class conditional {
public static void main (String args[] ) {
int x = 0;
boolean isEven = false;
System.out.println(“x = “ + x);
x = isEven ? 4 : 7;
System.out.println(“x = “ + x);
}
}
pada contoh ini, mula-mula nilai x=0 dan isEven=false, ketika operator persayaratan dilaksanakan
maka isEven masih false sehingga x diberi nilai 7 (bila isEven true maka x diberi nilai 4).
Ekspresi adalah gabungan variable dan operator yang membentuk suatu kalimat logika atau kalimat
aritmetika, misalnya sbb:
x = 2 * 5 + 12 / 4;
boolean result = ( x < 5) & (y > 3);
Urutan pelaksanaan operator (precedence) sangat penting didalam evaluasi suatu ekspressi, urutan
tersebut adalah sbb:
. [ ] () Prioritas
1
++ -- ! ~ 2
* / % 3
+ - 4
<< >> >>> 5
< > <= >= 6
== != 7
& 8
^ 9
&& 10
|| 11
?: 12
= 13
Contoh:
Tidak banyak perbedaan dengan bahasa lain, bahwa instruksi pemberian nilai ditulis dalam
bentuk:
variable = expressi;
namun kedalam ekpresi bisa ditambahkan prefix berupa tipe data apabila dikehendaki adanya
perubahan tipe sewaktu proses pemberian nilai berlangsung, misalnya sbb:
float myReal = 3.987;
int anInteger;
JAVA menyediakan dua peralatan standard untuk melakukan operasi input-output, yaitu:
System.in sebagai peralatan input dan System.out sebagai peralatan output.
Ada beberapa cara untuk membaca data dari peralatan input, tiga diantaranya akan diberikan contoh
berikut ini:
class bacaHuruf {
public static void main(String args[]) {
char input = (char) -1;
try {
input = (char) System.in.read();
}
catch (Exception e) {}
}
}
Sangat perlu diperhatikan bahwa Java mempersayaratkan operasi inpu-output berada diantara instruksi
exception try {} catch{}, untuk memastikan reliabilitas dari program, sehingga ketika ada hambatan pada
peralatan input-output maka program tidak berhenti ditengah jalan menunggu perbaikan peralatan tetapi
akan melewati operasi input-output yang bermasalah dengan suatu error tertentu.
(2) membaca beberapa karakter dengan : abstract int read(). metoda ini akan membaca satu byte data
dari peralatan input dan diberikan sebagai integer.
contoh:
class bacaData1 {
public static void main (String args[]) {
StringBuffer s = new StringBuffer();
char c;
try {
while ((c = (char) System.in.read() ) != ‘\n’ ) {
s.append(c);
}
}
catch (Exception e) {
System.out.println(“Error : “ + e.toString());
}
System.out.println(s);
}
}
Beberapa hal perlu dijelaskan dari contoh program diatas:
StringBuffer adalah tipe data untuk menampung string (karakter)
.append( ) adalah fungsi untuk menambahkan satu karakter ke suatu string
.toString( ) adalah fungsi untuk mengubah suatu data menjadi string
untuk menghindari terjadinya error pada saat pembacaan data dilakukan (misalnya
karena peralatan tidak siap) maka digunakan pasangan instruksi: try { } dan catch
{ }, maksudnya coba lakukan pembacaan dari peralatan (try) tetapi bila tidak berhasil
maka laksanakan instruksi yang disediakan oleh catch{}.
class bacaData2 {
public static void main (String args[]) {
byte buf[] = new byte[80];
try {
System.in.read(buf);
}
catch (Exception e) {
System.out.println(“Error : “ + e.toString());
}
String s = new String(buf, 0);
System.out.println(s);
}
}
(4) membaca dengan int read(byte b[], int awal, int panjang)
membaca sederetan byte, kemudian data tersebut ditempatkan dalam buffer
mulai pada posisi awal se-panjang yang diinginkan.
contoh:
class bacaData3 {
public static void main (String args[]) {
byte buf[] = new byte[10];
try {
System.in.read(buf, 0, 10);
}
catch (Exception e) {
System.out.println(“Error : “ + e.toString());
}
String s = new String(buf, 0);
System.out.println(s);
}
}
Operasi Input dapat pula dilakukan melalui metoda “stream”, yaitu DataInputStream, misalnya sbb:
import java.io.*;
class in_out {
public static void main(String args[])
{
DataInputStream in = new DataInputStream(System.in);
char c;
int angka=0;
char huruf=' ';
String kalimat=" ";
SOAL :
Saudara : ……
Tinggal di : …………….
Berumur : …… tahun