1. TIK-2302 Pemrograman JAVA (3 sks)
Dosen: Ir. S.N.M.P. Simamora, M.T.
Jurusan Ilmu Komputer / F-MIPA
Bandung 2005
Referensi:
[1] Campione, M., Walrath, K., Huml, A. The Java™ Tutorial, Third Edition: A Short Course on
the Basics. Addison Wesley. 2000.
[2] Deitel, P., Deitel, H. JAVA How to Program - 4th Edition. Prentice-Hall. 2002.
[3] Simamora, S.N.M.P. “Diktat SK-100 Dasar Komputer dan Pemrograman”. Dept. Sistem
Komputer, Fak. Teknik. ITHB. Bandung. 2002.
Bagian-I: Pengenalan tipe-data
Tipe-data dalam Bahasa Pemrograman JAVA seperti halnya pada bahasa pemrograman
lainnya, termasuk script; hanya tergolong dua macam yakni: numerik dan non-numerik.
Tipe-data yang tergolong numerik pada Bahasa Pemrograman JAVA yakni int, float, dan
double; sedangkan pada golongan tipe-data non-numerik yakni: char dan string.
Contoh-1: Dituliskan konstruksi-algoritma sebagai berikut:
A←DEC(12);
A←A÷2;
tampilkan A;
Misalkan, var: A akan digunakan tipe-data float.
Source-code: oLala.java
public class oLala {
public static void main(String args[]) {
float A=12;
A=A/2;
System.out.print(A);
}
}
Tampilan jalannya program:
Terlihat dengan menggunakan tipe-data float, operand-hasil menampilkan bentuk bilangan
dalam format pecahan (n-digit di belakang).
1 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
2. Bandingkan dengan contoh-contoh berikut:
Contoh-2: Tuliskan algoritma dan pemrograman JAVA apabila ditetapkan konstruksi-
algoritma sebagai berikut:
angka←DEC(22);
angka←(angka÷2)+1;
tampilkan angka;
Misalkan, var: angka akan digunakan tipe-data int.
Source-code: diCoba.java
public class diCoba {
public static void main(String args[]) {
int angka=22;
angka=(angka/2)+1;
System.out.print("Isi var: angka adalah "+angka);
}
}
Tampilan jalannya program:
Contoh-3: Tuliskan algoritma dan pemrograman JAVA apabila ditetapkan konstruksi-
algoritma sebagai berikut:
zK←DEC(21);
zK←(zK÷3)÷2;
tampilkan zK;
Misalkan, var: zK akan digunakan tipe-data float.
Source-code: diCoba1.java
public class diCoba1 {
public static void main(String args[]) {
float zK;
zK=21;
zK=(zK/3)/10;
System.out.print(zK);
}
}
Tampilan jalannya program:
2 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
3. Contoh-4: Tuliskan algoritma dan pemrograman JAVA apabila ditetapkan konstruksi-
algoritma sebagai berikut:
x←DEC(15);
tampilkan x;
rT←x÷2;
rT←rT÷13;
tampilkan rT;
Misalkan, var: zK akan digunakan tipe-data float.
Source-code: diJal4n.java
public class diJal4n {
public static void main(String args[]) {
float x,rT;
x=15;
System.out.println("Isi var: x = "+x);
rT=x/2;
rT=rT/13;
System.out.print("Isi var: rT = "+rT);
}
}
Tampilan jalannya program:
Dari Contoh-3 dan Contoh-4, apabila bilangan bentuk pecahan langsung dideklarasikan ke
variable maka compiler akan memberikan umpan-balik negatip (error). Namun jika pada
expression diproses secara arithmatik dengan format Bilangan Bulat dan hasilnya pecahan
(khususnya dengan operator DIV) maka tidak memberi umpan-balik negatip. Dengan
demikian pada deklarasi nilai-masukan maupun dengan metode input-value by end-user,
format bilangan harus dalam bentuk Bilangan Bulat, jangan pecahan.
Contoh-5: Tuliskan algoritma dan pemrograman JAVA apabila ditetapkan konstruksi-
algoritma sebagai berikut:
x←DEC(1.5);
tampilkan x;
rT←x÷31;
rT←rT÷1.3;
tampilkan rT;
Misalkan, var: zK akan digunakan tipe-data double.
Source-code: diJ4lan.java
public class diJ4lan {
public static void main(String args[]) {
3 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
4. double x=15,rT;
System.out.println("Isi var: x = "+x);
rT=x/31;
rT=rT/1.3;
System.out.print("Isi var: rT = "+rT);
}
}
Tampilan jalannya program:
Contoh-6: Tuliskan algoritma dan pemrograman JAVA apabila ditetapkan konstruksi-
algoritma sebagai berikut:
x←input-value?;
katan←(x÷2)−(-0.5÷x);
tampilkan katan;
Misalkan, var: zK akan digunakan tipe-data double.
Source-code: ujiLah.java
import javax.swing.JOptionPane;
public class ujiLah {
public static void main(String args[]) {
String x;
double X,katan;
x=JOptionPane.showInputDialog("Tentukan nilai x?:");
X=parseDouble(x);
katan=(X/2)-(-0.5/X);
System.out.print("Hasil = "+katan);
}
}
Tampilan jalannya program:
4 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
5. Bagian-II: Pengenalan operator dasar arithmatika dan tambahan
Operator ADD (tambah)
Simbol Operator ADD yang digunakan dalam Bahasa Pemrograman JAVA adalah ‘+’.
Contoh-7: -Sebuah bilangan dalam bentuk HEX, 0x12, ditampungkan ke var: A, lalu di-
tambah-kan dengan 2. Tampilkan isi A terbaru (termutahir).
Solusi:
Konstruksi-algoritma:
0x12 = DEC(…);
= (1)(16)
1
+ (2)(16)
0
= (18)10;
A=A+2;
A=18+2;
A=20;
Source-code: oL4la.java
public class oL4la {
public static void main(String args[]) {
int A=0x12;
A=A+2;
System.out.print(A);
}
}
Tampilan jalannya program:
Operator SUB (kurang)
Simbol Operator SUB, substraction yang digunakan dalam Bahasa Pemrograman JAVA
adalah ‘−’.
Contoh-8: -Sebuah bilangan dalam bentuk OCT, 012, ditampungkan ke var: S, lalu di-
kurang-kan dengan 11. Tampilkan isi S terbaru (termutahir).
Solusi:
Konstruksi-algoritma:
012 = DEC(…);
= (1)(8)
1
+ (2)(8)
0
= (10)10;
S=S−11;
5 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
6. S=10−11;
S=-1;
Source-code: diC0ba.java
public class diC0ba {
public static void main(String args[]) {
int S=012;
S=S-11;
System.out.print("Isi var: S = "+S);
}
}
Tampilan jalannya program:
Operator MUL (kali)
Simbol Operator MUL, multiply yang digunakan dalam Bahasa Pemrograman JAVA adalah
‘∗’.
Contoh-9: -Sebuah bilangan dalam bentuk DEC, 5, ditampungkan ke var: x1, lalu di-kali-kan
dengan 021. Tampilkan isi x1 terbaru (termutahir).
Solusi:
Konstruksi-algoritma:
021 = DEC(…);
= (2)(8)
1
+ (1)(8)
0
= (17)10;
x1=x1∗17;
x1=5∗17;
x1=85;
Source-code: diCoba2.java
public class diCoba2 {
public static void main(String args[]) {
int x1;
x1=5;
x1=x1*021;
System.out.print(x1);
}
}
Tampilan jalannya program:
6 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
7. Operator DIV (bagi)
Simbol Operator DIV, divide yang digunakan dalam Bahasa Pemrograman JAVA adalah ‘/’.
Contoh-10: -Sebuah bilangan dalam bentuk DEC, 3, ditampungkan ke var: sns, lalu
konstanta 0x21 di-bagi-kan dengan isi var: sns. Tampilkan isi sns terbaru (termutahir).
Solusi:
Konstruksi-algoritma:
0x21 = DEC(…);
= (2)(16)
1
+ (1)(16)
0
= (33)10;
sns=33÷sns;
sns=33÷3;
sns=11;
Source-code: diCoba3.java
public class diCoba3 {
public static void main(String args[]) {
int sns;
sns=3;
sns=0x21/sns;
System.out.print(sns);
}
}
Tampilan jalannya program:
Operator MOD (sisa-bagi)
Simbol Operator MOD, modulo yang digunakan dalam Bahasa Pemrograman JAVA adalah
‘%’.
Contoh-11: -Sebuah bilangan, 12, ditampungkan ke var: sT, lalu di-DIV-kan dengan 2, dan
selanjutnya di-MOD-kan dengan 5. Tampilkan isi var: sT terbaru (termutahir).
Solusi:
Konstruksi-algoritma:
sT←12;
sT=sT÷2;
sT=sT%5;
sT=1;
7 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
8. Source-code: diJalanKan.java
public class diJalanKan {
public static void main(String args[]) {
double sT;
sT=12;
sT=sT/2;
sT=sT%5;
System.out.print("Isi var: sT = "+sT);
}
}
Tampilan jalannya program:
Operator log (logaritma bilangan dasar 10)
Rumus mencari Operasi Logarima:
X←nilai LOG yang akan dicari;
X=
)10log(.
)log(.
Math
xMath
;
Contoh-12: -Carilah nilai log(x) apabila x diberi masukan bilangan 10
5
atau 100000.
Solusi:
Konstruksi-algoritma:
x←100000;
x=(Math.log(x))÷(Math.log(10));
x=5;
Source-code: opL0g.java
public class opL0g {
public static void main(String args[]) {
double x=100000;
System.out.println("Isi var: x = "+x);
x=(Math.log(x))/(Math.log(10));
System.out.print("Nilai log = "+x);
}
}
Tampilan jalannya program:
8 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
9. Rumus: a
b
= X ⇔
a
log(X) = b;
Bagian-III: Struktur Kendali Proses if-then-else
Contoh-13: -Sebuah nilai-masukan didapatkan dengan metode input-value by end-user
ditampungkan ke var: zT, lalu di-MOD-kan dengan 2, selanjutnya di-MUL-kan dengan 5,
dan terakhir di-SUB-kan dengan nilai-masukan sebelumnya. Apabila range nilai-masukan
ditetapkan -2 s.d 2, maka tampilkan isi zT terbaru (termutahir).
Solusi:
Konstruksi-algoritma:
zT←nilai-masukan?;
x←zT;
zT←zT%2;
zT←zT∗5;
zT←zT−x;
tampilkan zT;
Source-code: kendali1.java
import javax.swing.JOptionPane;
public class kendali1 {
public static void main(String args[]) {
String z;
double x,zT;
z=JOptionPane.showInputDialog("Tentukan nilai zT?:");
zT=Double.parseDouble(z);
if(zT<-2||zT>2) {
System.out.print("Maaf, out-of-range...");
} else {
x=zT;
zT=zT%2;
zT=zT*5;
zT=zT-x;
System.out.print("Nilai zT = "+zT);
}
}
}
Tampilan jalannya program:
9 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
10. Bagian-IV: Struktur Kendali Proses (perulangan) do-while
Contoh-14: -Tampilkanlah 7 kali kata “merdeka” secara horizontal, gunakan struktur
kendali proses do-while untuk penanganan proses perulangan.
Solusi:
Source-code: kendali2.java
public class kendali2 {
public static void main(String args[]) {
int i;
i=0;
do {
System.out.print("merdeka ");
i=i+1;
} while(i<7);
}
}
Tampilan jalannya program:
Bagian-V: Struktur Kendali Proses (perulangan) while
Contoh-15: -Tampilkanlah secara vertikal sebanyak 5 kali isi var: zR, jika nilainya diperoleh
pada konstruksi-algoritma berikut ini:
zR←0.5;
zR←zR÷0.01;
zR←zR%14;
Gunakan struktur kendali proses while dalam penanganan proses perulangan.
Solusi:
Source-code: kendali3.java
public class kendali3 {
public static void main(String args[]) {
int i;
double zR=0.5;
zR=zR/0.01;
zR=zR%14;
i=0;
while(i<5) {
System.out.println(zR);
i=i+1;
}
}
10 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
11. }
Tampilan jalannya program:
Bagian-VI: Struktur Kendali Proses (perulangan) for
Contoh-16: -Tampilkanlah lima Bilangan Genap secara vertikal yang dimulai dari -3.
Gunakan struktur kendali proses for untuk penanganan proses perulangan.
Solusi:
Source-code: kendali4.java
public class kendali3 {
public static void main(String args[]) {
int i;
double zR=0.5;
zR=zR/0.01;
zR=zR%14;
i=0;
while(i<5) {
System.out.println(zR);
i=i+1;
}
}
}
Tampilan jalannya program:
Bagian-VII: Struktur Kendali Proses (seleksi) switch
Contoh-17: -Perhatikan sejumlah nomor pilihan berikut ini:
Jika dipilih No.1, mengerjakan statement: A←A÷7; dimana A←17;
Jika dipilih No.2, DEC(15) digeser 1-bit ke kanan;
Jika dipilih No.3, menampilkan karakter ‘s’ sebanyak 3 kali secara vertikal;
Gunakan struktur kendali proses switch untuk penanganan mekanisme seleksi tersebut.
Solusi:
Source-code: kendali5.java
public class kendali5 {
public static void main(String args[]) {
int x=2;
switch(x) {
11 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
12. case 1: {
float A=17;
A=A/7;
System.out.println("Nilai A = "+A);
break;
}
case 2: {
int A=15;
A=(A>>1);
System.out.print(A);
break;
}
case 3: {
char kar='s';
int i=0;
while(i<3) {
System.out.print(kar+"n");
i=i+1;
}
break;
}
default: {
System.out.print("Maaf, out-of-range...");
}
}
}
}
}
Tampilan jalannya program:
Jika dipilih Nomor 3, ditampilkan:
Jika nomor pilihan salah di-input-kan (asumsi gantikan 3 menjadi 4 untuk nilai-masukan
var: x), ditampilkan:
12 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5
13. 13 | I r . S i h a r , M . T . – I l m u K o m p u t e r U N A I - 2 0 0 5