Modul-1 - Struktur Bahasa Java - E Rizal
Modul-1 - Struktur Bahasa Java - E Rizal
A. TUJUAN PEMBELAJARAN
Setelah mempelajari Bab ini, diharapkan mahasiswa mengenal serta dapat
mempraktikkan bahasa pemrogrmaan java sederhana serta penggunaan
script untuk struktur bahasa java berupa packages, comment, blok, blok kelas,
variable, serta penggunaan struktur control pada java.
B. URAIAN MATERI
Java merupakan bahasa pemrograman tingkat tinggi yang dipelopori oleh
James Gosling yang merupakan engineer di Sun Microsystem. Java dibangun
pada tahun 1991. Java merupakan bahasa pemrograman multiplatform yang
bisa digunakan di berbagai platform seperti Windows ataupun Linux. Saat ini
Java dikembangkan oleh perusahaan Oracle.
Secara struktur, bahasa pemrograman Java dimulai dengan packages
(paket). Packages adalah mekanisme penamaan pada bahasa Java. Didalam
packages ada classes (kelas) dan didalam kelas ada method, variabel, dan
lain-lain.
Pembahasan ringkas:
Kata kunci public disebut access modifier untuk menandakan bahwa
objek, method, atau atribut dapat diakses dari class lain.
Kata kunci class adalah sebuah keyword di Java untuk membuat
sebuah Kelas.
main menunjukan bahwa blok tersebut merupakan program utama,
menggunakan parameter String[] untuk method main program java.
System.out.println() adalah sebuah method yang telah di-import
otomatis untuk digunakan mencetak output di konsol.
1
INSTALASI JDK dan Netbeans:
1. JDK ( Java Development Kit) versi 8.xx
a. Download dan install
2. Netbeans versi 8.xx
a. Downloas dan Install
1. Package
Pengertian, Fungsi Dan Kegunaan Paket (Package) di Java :
2
package default
(tanpa Nama)
package bernama
Materi
3
Java class library (Java API) memiliki banyak sekali kelas yang sudah terdefinisi
(Java predefined classes) yang diletakkan di dalam paket (package) untuk dapat
digunakan kembali di program Java. Paket tersebut digunakan untuk
mengelompokkan kelas-kelas yang mempunyai kemiripan fungsi (related class).
Kelas-kelas Java yang akan digunakan di dalam program, terlebih dahulu harus
diimpor beserta dengan nama paket di mana kelas tersebut berada, kecuali untuk
kelas Java yang berada di paket java.lang seperti kelas JOptionPane yang berada
di paket javax.swing dan kelas DecimalFormat yang berada di paket java.text.
Ada kemungkinan, programer Java membuat kelas sendiri yang mempunyai nama
sama dengan kelas yang sudah ada di Java API tanpa disengaja. Konflik
penamaan kelas bisa saja terjadi. Untuk mengatasi masalah terkait penamaan
kelas, Anda dapat meletakkan kelas yang mempunyai nama sama ke dalam paket
berbeda dan mengakses kelas tersebut beserta dengan nama paketnya.
2. Direktori paket.
4
Paket sebenarnya adalah direktori untuk menyimpan file bytecode (file berekstensi
.class). Paket Java disusun berjenjang (hierarchical). Anda bisa mempunyai paket
yang berada di dalam paket lain. Sebagai contoh, javax.swing.JOptionPane
menunjukkan bahwa kelas JOptionPane berada di paket swing dan paket swing
sendiri berada di paket javax. Level jenjang paket digunakan untuk memastikan
keunikan nama paket.
Semua kelas yang dibuat akan tersimpan di direktori yang sekarang aktif ketika
program sumber Java dikompilasi. Karena program sumber Java terletak di
direktori, misalnya c:\hindro\javasc dan proses kompilasi juga dilakukan di direktori
tersebut, maka file bytecode hasil kompilasi juga akan tersimpan di direktori yang
sama.
Pernyataan package yang diikuti nama peket adalah pernyataan Java yang
paling pertama atau berada di baris kode paling atas. Berikut ini adalah sintaksis
dari pernyataan package di Java untuk meletakkan hasil kompilasi ke dalam
paket:
package nama-paket;
Contoh program Java berikut ini berkaitan dengan bangun datar segitiga sama
sisi. Rumus keliling segitiga sama sisi ABC adalah sisi AB + sisi BC + sisi CA dan
rumus luasnya adalah ½ x alas x tinggi. Kelas bangun datar segitiga sama sisi ini
diberi nama Segi3ABC dan memiliki dua metoda untuk mencari keliling dan luas.
Kelas Segi3ABC akan diletakkan ke dalam paket bangun\datar.
5
17 // Metoda hitungLuas
18 // Untuk mencari luas segi tiga
19 public static double hitungLuas(double sisiAB) {
20
21 // Deklarasi variabel
22 double luas;
23
24 // Mencari tinggi segi tiga
25 double tinggi = Math.sqrt(Math.pow(sisiAB, 2) - Math.pow((0.5 * sisiAB),
26 2));
27
28 // Mencari luas segi tiga
29 luas = sisiAB * tinggi;
30 return luas;
}
}
Kelas Segi3ABC tidak memiliki metoda main karena akan digunakan di program
lain yang mempunyai metoda main. Dari kode program di atas, baris nomor 2
adalah pernyataan package yang diikuti nama paket bangun.datar. Pernyataan
package digunakan untuk meletakkan file bytecode hasil kompilasi
(Segi3ABC.class) ke dalam paket yang sudah ditentukan di pernyataan package.
Baris nomor 24 adalah pernyataan untuk mencari tinggi segitiga sama sisi. Anda
dapat menggunakan rumus phytagoras untuk mengetahui tinggi dari segitiga sama
sisi. Rumus phytagoras meliputi pencarian akar (√x) dan pemangkatan (x2) dari
variabel x.
Untuk mencari nilai akar dan pemangkatan, Anda dapat menggunakan metoda
statik sqrt dan pow dari kelas Math yang ada di paket java.lang. Math.sqrt(x) sama
artinya dengan √x dan Math.pow(x, y) sama artinya dengan xy.
Selain metoda sqrt dan pow, kelas Math juga berisi banyak metoda lain untuk
melakukan fungsi matematika dasar serta metoda random (Math.random) yang
dapat menghasilkan nilai random (acak) double lebih besar atau sama dengan 0.0
dan lebih kecil dari 1.0 (0 <= Math.random() < 1.0).
Ada dua cara mengkompilasi program sumber Java agar file berekstensi .class
diletakkan di paket yang sudah ditentukan di pernyataan package. Cara pertama,
Anda menyimpan file program sumber (berekstensi .java) di direktori
c:\filejava\javaapp\kelas\bangun\datar. Sebelum dikompilasi, Anda harus berada
di direktori dimana paket bangun\datar berada. Cara kedua, Anda mengkompilasi
program sumber Java yang ada di direktori manapun dan meletakkan hasil
kompilasi di direktori (paket) tertentu melalui c prompt (c:\>).
Untuk cara pertama, file program sumber Java (Segi3ABC.java) harus disimpan di
folder atau direktori c:\filejava\javaapp\kelas\bangun\datar. Karena di program
sumber tersebut sudah terdapat pernyataan package bangun.datar, sebelum
dikompilasi, Anda cukup berada di direktori c:\filejava\javaapp\kelas. Kompilasi
6
dapat dilakukan dengan menuliskan perintah seperti di bawah ini di baris perintah
pada jendela Command Prompt.
javac bangun\datar\Segi3ABC.java
Setelah proses kompilasi selesai, Anda perlu memastikan bahwa file bytecode
berekstensi .class (Segi3ABC.class) sudah berada di direktori
c:\filejava\javaapp\kelas\bangun\datar. Kompiler Java dapat mengetahui tempat
untuk meletakkan file hasil kompilasi dengan mengkombinasikan classpath
c:\filejava\javaapp\kelas dengan nama paket bangun.datar.
c:\>javac –d filejava\javaapp\kelas
filejava\javaapp\sumber\bangun\datar\Segi3ABC.java
7
2 // Menghitung keliling dan luas segitiga
3
4 // Mengimpor kelas
5 import javax.swing.JOptionPane;
6 import java.text.DecimalFormat;
7 import bangun.datar.Segi3ABC;
8
9 // Deklarasi kelas
10 public class SegitigaSamaSisi {
11
12 // Metoda main
13 public static void main(String[] args) {
14
15 // Deklarasi variable
16 double keliling;
17 double luas;
18 double sisi = 9;
19 String hasil= "";
20 DecimalFormat formatAngka;
21
22 // Membuat objek dari kelas DecimalFormat
23 formatAngka = new DecimalFormat("0.00");
24
25 hasil += "Segitiga Sama Sisi\n\nPanjang sisi : " + sisi + "\n\n";
26
27 keliling = Segi3ABC.hitungKeliling(9, 9, 9);
28 hasil += "Keliling Segitiga ABC : " + formatAngka.format(keliling) + "\n";
29
30 luas = Segi3ABC.hitungLuas(9);
31 hasil += "Luas Segitiga ABC : " + formatAngka.format(luas) + "\n";
32
33 JOptionPane.showMessageDialog(null, hasil, "Menghitung Keliling dan
34 Luas",
35 JOptionPane.INFORMATION_MESSAGE);
36
37 // Mengakhiri aplikasi berpenampilan GUI
38 System.exit(0);
39 }
}
Baris nomor 7 adalah pernyataan untuk mengimpor kelas Segi3ABC yeng terletak
di paket bangun.datar. Kelas Segi3ABC merupakan kelas yang didefinisikan oleh
pengguna aplikasi (user-defined class) dan bukan termasuk ke dalam Java
predefined class yang terletak di pustaka kelas Java.
8
segitiga dengan tipe data double untuk diberikan atau disimpan ke variabel keliling.
Baris nomor 30 adalah juga pernyataan pemberian nilai.
2. Comments
Komentar tidak akan menjadi bagian program yang dieksekusi. Kia dapat
menambah komentar sebanyak mungkin tanpa khawatir akan
membesarkan ukuran kode program bytecodes.
Komentar pada Java dapat didefenisikan dengan tiga cara berbeda:
Jenis Komentar Penggunaan
/* komentar */ Semua karakter di antara /* dan */ akan
diabaikan
// komentar Semua komentar setelah // sampai akhir
baris akan diabaikan
/** komentar */ Serupa dengan /* */, namun komentar jenis
ini /** … */ digunakan untuk keperluan
dokumentasi program yang dibuat
pada javadoc.
9
3. Blok
Pada Java, kode sumber dipecah menjadi bagian-bagian yang dipisah
dengan pasangan kurung kurawal: {. . .}. Segala sesuatu dantara kurung
kurawal dianggap sebagai blok. Satu blok dapat berisi satu subblok
berasarang atatu lebih.
Contoh:
public static void main (String [] args{
int n;
. . .
{
int k;
// n dan k dikenali di blok ini
. . .
} // k hanya di kenali di blok ini
//k tidak dikenali, n masih dikenali
}
4. Blok Kelas
Secara sintak maupun logik, segala sesuatu di Java berada di dalam suatu
kelas tertentu.
public class HelloWorld {
. . .
}
5. Variabel
Variabel adalah unit dasar penyimpanan di program Java.
10
Tipe data primitif meupakan tipe data bawaan yang disediakan oleh Java.
Tipe Data Ukuran (bit) Rentang Nilai
byte 8 -128 s.d. 127
short 16 -32768 s.d. 32767
int 32 -2147483648 s.d. 2147483648
long 64 -9223372036854775808 s.d.
9223372036854775808
float 32 +/- 3.4 x 1038
double 64 +/- 1.8 x 10308
char Hanya menampung 1 karakter
boolean Bernilai true dan false
6. Struktur Kontrol
Struktur Kontrol pada Java tidak jauh berbeda dengan bahasa
pemrograman yang lain.
a. Runtunan
Struktur runtunan merupakan proses algoritma yang dilakukan secara
berurutan dari lankah ke- 1 sam pai langkah ke – N. Tiap barisnya
hanya dikerjaka satu persatu tanpa adanya percabangan atau
perulangan dan hanya dilakukan sekali tiap instruksinya.
b. Percabangan
Struktur ini bergantung pada kondisi tertentu untuk melakukan proses
atau langkah tertentu. Terdapat 2 bentuk percabangan yaitu if-else
dan switch-case.
If-else
Bentuk umum if-else:
11
if (<kondisi>){
<pernyataan 1>
} else if {
<pernyataan 2>
} else if {
<. . .>
} else {
<pernyataan jika semua kondisi tidak terpenuhi>
}
c. Perulangan
Struktur perulangan atau biasa disebut looping digunakan untuk
mengulang kode perintah yang sama berulang kali. Terdapat 3 struktur
perulangan yaitu for, while, dan do-while.
For. Digunakan jika jumlah perulangan sudah diketahui di awal.
for (<inisialisasi_counter> ; <ekspresi> ;
<ascening/descending>){
<pernyataan>
}
12
Do-while. Hampir sama dengan while, hanya saja badan perulangan
do-while akan dijalankan terlebih dahulu, setelah itu baru kondisi akan
diperiksa.
do {
<pernyataan>
} while (<kondisi>)
C. LATIHAN
Buatlah/ lengkapi/ perbaiki program java dibawah ini, dan tuliskan hasilnya
1. public class Program1 {
public static void main(String[] args) {
int bilangan = 5;
int kuadrat = bilangan * bilangan;
System.out.println (bilangan + "pangkat 2 = " +
kuadrat);
}
}
Hasil:
2. public class Percabangan {
public static void main(String[] args) {
int nilai = 85;
if (nilai >= 80) {
System.out.println ("Nilai"+nilai+"mendapatkan indeks
A");
}
. . .//lengkapi
else {
System.out.println ("Nilai"+nilai+"mendapatkan indeks
E");
}
}
}
Hasil:
3. //perbaiki
public class switchcase {
public static void main(String[] args) {
int pilih = 3;
switch (){
case 1:
System.out.println ("hobi saya membaca");
case 2:
System.out.println ("hobi saya melukis");
break;
case 3:
System.out.println ("hobi saya
travelling");
Break:
}
}
13
}
Hasil:
databuku[0][0]= "Java";
databuku[0][1]= "NetBeans";
databuku[1][0]= "PBO";
databuku[1][1]= "informatika";
databuku[2][0]= "Modul";
databuku[2][1]= "Praktikum";
D. RANGKUMAN
Pada pembuatan program java, kelas merupakan satu-satunya cara
menyatakan bagian eksekusi program. Metode main () pada java merupakan
titik awal eksekusi. Java merupakan case sensitive, jika terjadi kesalahan
14
dalam penempatan huruf kapital dan huruf kecil, maka bisa jadi program tidak
bisa dikompilasi.
15
16