Program java ini akan memindahkan huruf " A " ke kiri, kanan, atas atau bawah dengan menekan tombol L, R, U atau D.
Tombol L : memindahkan huruf “A” ke kiri.
Tombol R : memindahkan huruf “A” ke kanan.
Tombol U : memindahkan huruf “A” ke atas.
Tombol D : memindahkan huruf “A” ke bawah.
Pertama kali dijalankan program akan menampilkan empat baris dan empat kolom, baris pertama kolom pertama adalah
huruf “A” yang lainnya “.”.
A
. . .
.
. . .
.
. . .
.
. . .
Tekan (L(kiri), R(kanan), U(atas), D(bawah), 1-5(Level),
E(Keluar) :
Tombol level untuk merubah jumlah baris dan kolom,
Tombol 1 : (4 x 4)
Tombol 2 : (5 x 5)
Tombol 3 : (6 x 6)
Tombol 4 : (7 x 7)
Tombol 5 : (8 x 8)
Jika tekan angka 5, maka tampilan menjadi
A
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
Tekan (L(kiri), R(kanan), U(atas), D(bawah), 1-5(Level),
E(Keluar) :
Jika tekan tombol R, huruf “A” akan pindah ke kanan,
.
A . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
.
. . .
. . . .
Tekan (L(kiri), R(kanan), U(atas), D(bawah), 1-5(Level),
E(Keluar) :
Anda bisa mencoba untuk tombol yang lain, perhatikan huruf
“A” akan berpindah-pindah
Untuk mengakhiri tekan tombol “E”.
Program lengkapnya sebagai berikut:
import java.io.BufferedReader;
import
java.io.InputStreamReader;
import java.io.IOException;
public class Amove {
public static void main( String[] args )
{
int x=0;
int y=0;
int xA=0;
int yA=0;
int makX=3;
int makY=3;
String tombol="";
while (
(!"E".equalsIgnoreCase(tombol)) )
{
for (y = 0 ; y
<= makY ; y++)
{
for
(x = 0; x <= makX ; x++)
{
if
(x==xA && y==yA)
{
System.out.print("
A ");
}
else {
System.out.print("
. ");
}
}
System.out.println("");
}
BufferedReader
dataIn = new BufferedReader(new
InputStreamReader(
System.in) );
System.out.print("Tekan
(L(kiri), R(kanan), U(atas), D(bawah), 1-5(Level), E(Keluar) :");
try{
tombol
= dataIn.readLine();
} catch( IOException e )
{
System.out.println("Error!");
}
if ("L".equalsIgnoreCase(tombol))
{
xA
= xA - 1;
if
( xA < 0 ) xA = 0;
}
if
("R".equalsIgnoreCase(tombol))
{
xA
= xA + 1;
if
( xA > makX) xA = makX;
}
if
("U".equalsIgnoreCase(tombol))
{
yA
= yA - 1;
if
(yA < 0 ) yA = 0;
}
if
("D".equalsIgnoreCase(tombol))
{
yA
= yA + 1;
if
(yA > makY ) yA = makY;
}
if
("1".equals(tombol)) { makX=3; makY=3; }
if
("2".equals(tombol)) { makX=4; makY=4; }
if
("3".equals(tombol)) { makX=5; makY=5; }
if
("4".equals(tombol)) { makX=6; makY=6; }
if
("5".equals(tombol)) { makX=7; makY=7; }
}
}
}
Penjelasan Program:
1. Variabel x tipe integer
untuk kolom dan y untuk baris.
int x=0;
int
y=0;
2. Variabel xA tipe integer
untuk kolom dan yA untuk baris dimana huruf “A” di tampilkan.
int xA=0;
int
yA=0;
3. Variabel makX tipe integer untuk kolom dan
makY untuk baris adalah jumlah kolom dan baris.
int makX=3;
int
makY=3;
4. Variable tombol tipe
string untuk tombol yang di tekan.
String
tombol="";
5. Pengulangan selama tombol yang ditekan bukan
“E” atau “e”.
while (
(!"E".equalsIgnoreCase(tombol)) )
6. Pengulangan
dari 0 sampai nilai maky (3) nilai awal, baris dan pengulangan dari 0
sampai nilai makX (3) nilai awal untuk
mencetak “ . “, kecuali pada variabel
y sama dengan yA (0) nilai awal dan variabel x sama dengan xA (0) nilai awal
mencetak huruf “ A ”.
for
(y = 0 ; y <= makY ; y++)
{
for
(x = 0; x <= makX ; x++)
{
if
(x==xA && y==yA)
{
System.out.print("
A ");
}
else {
System.out.print("
. ");
}
}
System.out.println("");
}
7. Untuk memasukan nilai
variabel tombol dengan menekan tombol keyboard.
BufferedReader
dataIn = new BufferedReader(new
InputStreamReader(
System.in) );
System.out.print("Tekan
(L(kiri), R(kanan), U(atas), D(bawah), 1-5(Level), E(Keluar) :");
try{
tombol
= dataIn.readLine();
}
catch( IOException e )
{
System.out.println("Error!");
}
8. Jika nilai tombol
samadengan “L” atau “l” maka nilai variabel xA berkurang 1, jika
hasil akhir nilai xA kurang dari 0 maka
nilai xA adalah 0.
if
("L".equalsIgnoreCase(tombol))
{
xA
= xA - 1;
if
( xA < 0 ) xA = 0;
}
9. Jika nilai tombol samadengan “R” atau “r”
maka nilai variabel xA bertambah 1, jika
hasil akhir nilai xA lebih dari makX maka
nilai xA adalah makX.
if ("R".equalsIgnoreCase(tombol))
{
xA
= xA + 1;
if
( xA >makX ) xA = makX;
}
10. Jika nilai tombol
samadengan “U” atau “u” maka nilai variabel yA berkurang 1, jika
hasil akhir nilai yA kurang dari 0 maka
nilai yA adalah 0.
if ("U".equalsIgnoreCase(tombol))
{
yA
= yA - 1;
if
( yA < 0 ) yA = 0;
}
11. Jika nilai tombol
samadengan “D” atau “d” maka nilai variabel yA bertambah 1, jika
hasil akhir nilai yA lebih dari makY maka
nilai yA adalah makY.
if ("D".equalsIgnoreCase(tombol))
{
yA
= xA + 1;
if
( yA >makY ) yA = makY;
}
12. Merubah nilai variabel
makX dan makY saat menekan ( 1 sd 5)
if ("1".equals(tombol)) {
makX=3; makY=3; }
if
("2".equals(tombol)) { makX=4; makY=4; }
if
("3".equals(tombol)) { makX=5; makY=5; }
if
("4".equals(tombol)) { makX=6; makY=6; }
if
("5".equals(tombol)) { makX=7; makY=7; }
Tampilan Program:
Demikian program Amove.java
semoga bermanfaat.