Modul Java SMK
Modul Java SMK
DAFTAR ISI
hal
Pendahuluan ........................................................................................................................... 1
Bab 1 Program Output, Proses dan Input............................................................................ 3
Bab 2 Program dengan Kondisi .......................................................................................... 7
Bab 3 Program dengan Perulangan ................................................................................... 11
Bab 4 Program dengan menggunakan modul (fungsi) ..................................................... 15
Bab 5 Program dengan Tipe Data Array........................................................................... 19
Bab 6 Program dengan Operasi File ................................................................................. 25
Pendahuluan
Tujuan :
1. Memberikan pengetahuan tentang struktur dasar program Java
2. Memberikan pengetahuan tentang proses mengkompilasi program Java
3. Memberikan pengetahuan tentang penggunaan IDE Netbeans untuk membuat program
Java
P.1 Struktur Program Java
Program Java memiliki struktur sebagai berikut :
//NamaKelas.java
public class NamaKelas {
public static void main (String[] args) {
//kode program
}
}
Yang dicetak tebal adalah reserved word (kata tercadang dari bahasa Java yang harus
ditulis seperti adanya. Untuk pembuatan program dapat dilakukan menggunakan editor
(seperti Notepad) atau menggunakan IDE (seperti Netbeans)
P.2 Mengkompilasi Program Java
Untuk mengkompilasi program dalam bahasa Java, maka minimal kita harus menginstall
software JDK (Java Development Kit).
menggunakan program javac.exe yang merupakan bawaan dari JDK dengan perintah :
Prompt
(enter)
>
javac
NamaKelas.java
java
NamaKelas
1
BAB
1
Tujuan :
02
03
System.out.println(Hello);
04
05
06
}
}
02
03
04
var_a = 10;
05
var_b = 500;
06
07
System.out.println(var_a = + var_a);
08
System.out.println(var_b = + var_b);
09
10
}
}
02
03
04
bil_1 = 10;
05
bil_2 = 500;
06
07
08
System.out.println(hasil);
09
10
}
}
Cobalah ubah nilai dari var bil_1 menjadi 10.5 dan bil_2 menjadi 500.5, apa yang terjadi
ketika program dikompile. Untuk menyimpan bilangan pecahan gunakan tipe data float
atau double.
Program berikut adalah program untuk menghitung luas suatu persegi panjang. Tulis dan
jalankan programnya. (Prak_104.java)
01
02
03
04
05
06
07
08
}
}
Latihan Tugas1 :
Quiz-101.java : luas segitiga
01
import java.util.Scanner;
02
03
04
05
06
07
var_a = masukan.nextInt();
08
09
var_b = masukan.nextInt();
10
System.out.println();
11
12
System.out.println(var_a = + var_a);
13
System.out.println(var_b = + var_b);
14
15
}
}
import java.util.Scanner;
02
03
04
05
06
07
celcius = masukan.nextFloat();
08
09
System.out.println();
10
11
System.out.println(reamur);
12
13
}
}
BAB
2
Tujuan :
1. Mengenal pernyataan if
2. Mengenal pernyataan if..else..
3. Mengenal pernyataan if..else.. bertingkat
4. Mengenal pernyataan switch..case
5. Mengenal penggunaan kondisi majemuk
2.1 Program dengan pernyataan If
Program di bawah adalah program untuk menentukan suatu kelulusan siswa
terhadap suatu mata kuliah. Program tersebut menggunakan pernyataan If untuk
penentuan keputusannya. Tulis dan jalankan program berikut (Prak_201.java).
01
import java.util.Scanner;
02
03
04
05
int nilai;
06
07
nilai = masukan.nextInt();
08
09
10
11
}
}
Jika diinputkan nilai < 55, maka akan muncul keterangan siswa tersebut tidak lulus,
tetapi jika nilai > atau = 55, maka program akan berhenti tanpa menampilkan suatu
pesan.
2.2 Program dengan pernyataan If..Else..
Sempurnakan program di atas dengan menambahkan pernyataan sebagaimana berikut.
(Prak_202.java).
else
System.out.println(Mahasiwa tersebut lulus);
import java.util.Scanner;
02
03
04
05
06
07
08
System.out.println(Nilainya A);
09
10
System.out.println(Nilainya B);
11
12
System.out.println(Nilainya C);
13
14
System.out.println(Nilainya D);
15
else
16
System.out.println(Nilainya E);
17
18
}
}
import java.util.Scanner;
02
03
04
05
System.out.print(Masukkan angka 1 - 3 : );
06
07
switch (bil) {
08
case 1 : System.out.println(Satu);break;
09
case 2 : System.out.println(Dua);break;
10
case 3 : System.out.println(Tiga);}
11
12
}
}
import java.util.Scanner;
02
03
04
05
06
07
08
09
10
11
else
12
13
14
}
}
Kriteria
IMT 18.5
Kurus
Normal
25 < IMT 30
Gemuk
IMT > 30
Kegemukan (Obesitas)
BAB
3
Tujuan :
02
03
04
System.out.println(Hello World!!);
05
06
}
}
Program di bawah ini akan menampilkan bilangan genap mulai dari 2 sampai bilangan
yang diinputkan oleh pengguna. Tulis dan jalankan program berikut. (Prak_302.java)
01
import java.util.Scanner;
02
03
04
05
06
07
08
09
System.out.print(i +
10
11
}
}
);
import java.util.Scanner;
02
03
04
05
06
07
08
09
if ((bil % i)== 0) {
10
11
12
if (prima)
13
14
else
15
16
17
}
}
import java.util.Scanner;
02
03
04
05
06
07
int hasil = 0;
08
09
hasil += i;
10
11
import java.util.Scanner;
02
03
04
05
06
while (bil!=0){
07
n++;
08
09
bil = masukan.nextInt();
10
total += bil;
11
12
13
System.out.println(total);
14
15
dihitung dari hutang/pinjaman yang tersisa. Tampilan daftar pembayaran mulai dari
pembayaran pertama sampai terakhir (lunas).
Soal 3.2 (Soal_302.java)
Buat program untuk mengkonversi bilangan bulat ke bilangan romawi dengan input
bilangan bulat dengan range 1- 5000.
Soal 3.3 (Soal_303.java)
Buat program untuk mencetak bilangan prima mulai dari bilangan prima pertama (2)
sampai dengan bilangan prima terakhir, yang banyaknya bilangan primanya ditentukan
oleh pengguna.
BAB
4
Tujuan :
1. Mengenal fungsi pada program Java
2. Mengenal fungsi yang mengembalikan suatu nilai
3. Mengenal fungsi rekursif
4.1 Membuat fungsi pada Program Java
Fungsi adalah suatu program yang terletak terpisah dari blok program utama, tetapi tetap
merupakan bagian dari program yang dibuat. Dengan menggunakan fungsi dapat
membuat program menjadi lebih mudah dipahami. Fungsi yang tidak mengembalikan
nilai adalah seperti prosedur pada pemrograman Pascal. Berikut adalah contoh program
untuk menghitung luas 2 buah bidang datar, yang penentuan bidang yang dihitung,
ditentukan oleh pengguna melalui menu. Tulis dan jalankan program berikut.
(Prak_401.java)
01
import java.util.Scanner;
02
03
04
05
int pilihan=9;
06
do {
07
System.out.println(\nMENU\n);
08
09
10
System.out.println(0. Keluar);
11
12
pilihan = masukan.nextInt();
13
switch(pilihan){
14
case 1 : luasPersegiPanjang();break;
15
case 2 : luasLingkaran();break;
16
17
18
19
} while(pilihan != 0);
}
20
21
22
23
24
panjang = masukan.nextFloat();
25
26
lebar = masukan.nextFloat();
27
28
29
30
31
32
33
34
35
jari2 = masukan.nextFloat();
36
37
38
39
}
}
import java.util.Scanner;
02
03
04
05
06
07
System.out.print(Masukkan bilangan 1 : );
08
bil1 = masukan.nextInt();
09
System.out.print(Masukkan bilangan 2 : );
10
bil2 = masukan.nextInt();
11
System.out.print(Masukkan bilangan 3 : );
12
bil3 = masukan.nextInt();
13
System.out.println();
14
15
16
17
18
19
20
int hasil = a + b;
21
return hasil;
22
23
}
}
Ubahlah program di atas sehingga menjadi program untuk mencari nilai terbesar dan
terkecil dari 3 buah bilangan. (Prak_403.java)
4.3 Membuat program dengan fungsi rekursif
Suatu fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Berikut ini
adalah contoh program rekursif untuk menghitung nilai faktorial suatu bilangan. Tulis
dan jalankan program berikut. (Prak_404.java).
01
import java.util.Scanner;
02
03
04
05
06
07
bil = masukan.nextInt();
08
hasil = faktorial(bil);
09
10
11
12
13
if (a==1)
14
return 1;
15
Else
16
return (a * faktorial(a-1));
17
18
}
}
BAB
5
Tujuan :
import java.util.Scanner;
02
03
04
05
06
float rata2;
07
08
jumbil = masukan.nextInt();
09
10
for(int i=0;i<jumbil;i++){
11
12
data[i] = masukan.nextInt();
13
14
15
16
for(int i=0;i<(jumbil-1);i++)
17
System.out.print(data[i] + + );
18
System.out.print(data[jumbil-1] + adalah );
19
rata2 = total/jumbil;
20
System.out.println(rata2);
21
22
}
}
import java.util.Scanner;
02
03
04
05
06
07
08
baris = masukan.nextInt();
09
10
kolom = masukan.nextInt();
11
System.out.println();
12
13
System.out.println("Matriks 1 : ");
14
15
for(int i=0;i<baris;i++){
16
for(int j=0;j<kolom;j++){
17
18
matriks1[i][j] = masukan.nextInt();
19
20
21
System.out.println();
22
System.out.println("Matriks 2 : ");
23
24
for(int i=0;i<baris;i++){
25
for(int j=0;j<kolom;j++){
26
27
matriks2[i][j] = masukan.nextInt();
28
29
30
31
System.out.println("Matriks 1 : ");
32
for(int i=0;i<baris;i++){
33
34
for(int j=0;j<kolom;j++)
System.out.print(matriks1[i][j] + "
");
35
System.out.println();
36
37
System.out.println();
38
System.out.println("Matriks 2 : ");
39
for(int i=0;i<baris;i++){
40
for(int j=0;j<kolom;j++)
41
System.out.print(matriks2[i][j] + "
42
");
System.out.println();
43
44
System.out.println();
45
46
for(int i=0;i<baris;i++){
47
for(int j=0;j<kolom;j++)
48
hasil[i][j] = matriks1[i][j]+matriks2[i][j];
49
50
51
for(int i=0;i<baris;i++){
52
for(int j=0;j<kolom;j++)
53
System.out.print(hasil[i][j] + "
54
System.out.println();
55
56
System.out.println();
57
58
}
}
");
Dimana input data adalah memasukkan data nilai (antara 0 sampai 100) ke dalam suatu
array. Menampilkan data adalah menampilkan semua isi array. Distribusi frekuensi adalah
mencari nilai frekuensi untuk masing-masing range nilai (dengan interval 20) . Statistik
adalah mencari nilai mean, minimum dan maksimum dari data.
BAB
6
Tujuan :
import java.io.*;
02
03
04
05
if (!file.exists() || !file.canRead()){
06
07
return;
08
09
try {
10
int i=0;
11
12
String line;
13
14
i++;
15
System.out.println(i+ : +line);
16
17
18
19
20
21
22
}
}
Lakukan modifikasi program sehingga dapat menampilkan banyaknya huruf, angka dan
karakter lain dari file yang ditampilkan.
import java.io.*;
02
03
04
05
06
try {
07
int i=0;
08
09
10
String line;
11
12
i++;
13
if (i<10) fOut.write(
14
15
fOut.write(i+ : +line);
);
fOut.newLine();
16
}
fOut.close();
fIn.close()
17
18
19
20
21
22
}
}
45 65 89
01002 budi
80 45 70
01003 cahyo
60 80 30
01004 dedi
70 80 70
Dimana data yang disimpan adalah nim, nama, nilai tugas, nilai uts, dan nilai uas.
BAB
7
Project Akhir
Buat program Sistem Informasi Perhotelan dengan menggunakan Java, dimana data yang
disimpan adalah :
1. Data kamar, yang berisi data jumlah kamar yang dimiliki oleh hotel tersebut,
termasuk status dari kamar tersebut, apakah terisi, dibooking atau kosong. Kamar
yang ada terdiri dari tiga jenis kamar, yaitu single (harga sewanya Rp. 175.000,-),
double (harga sewanya Rp. 225.000,-) dan suite (harga sewanya Rp. 300.000,-).
Jumlah kamar yang dimiliki suatu hotel ditentukan oleh user dan disimpan pada suatu
file konfigurasi.
2. Data penyewa, yang berisi data tamu yang menginap di hotel tersebut, yang minimal
menyimpan data no KTP/SIM, nama, alamat, dan no telepon.
3. Data transaksi, yang berisi proses transaksi antara penyewa dan kamar yang disewa
Adapun fasilitas/proses yang dimiliki oleh program ini adalah sebagai berikut :
1. Dapat menampilkan data kamar beserta statusnya. Termasuk memberikan summary
berapa jumlah kamar yang terisi, yang kosong, dan yang dibooking
2. Dapat menampilkan data penyewa termasuk kamar yang disewa. Juga dapat
memberikan summary tentang penyewa yang sering menginap di hotel tersebut
3. Dapat mengetahui total transaksi yang dilakukan pada suatu waktu tertentu (perbulan
atau pertahun tertentu)
4. Tambahan fasilitas lain akan memberikan nilai tambah.
Untuk proses pemilihan proses digunakan sistem menu, yang formatnya ditentukan
sendiri oleh pembuat program.