Program java memindahkan huruf A

https://wahcilik.blogspot.com/2019/05/program-java-memindahkan-huruf-a.html


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:

https://wahcilik.blogspot.com/2019/05/program-java-memindahkan-huruf-a.html


Demikian program Amove.java semoga bermanfaat.