Selasa, 29 Maret 2011

Pengulangan Pada Program Java

Awalnya Saya cukup dipusingkan dengan pengulangan ini, karena begitu program di ulang setelah "Mau coba lagi (y/t)?", input datanya tidak bisa dilakukan. Jadi hanya bisa sekali saja, pada awal dijalankan.Pada akhirnya, bisa juga masalah ini terpecahkan.
Program ini akan diulang jika kita memasukkan suatu string yang karakter/huruf pertamanya y atau Y. Selain itu maka program akan berhenti. Untuk menerapkan pengulangan tersebut, Saya mencoba dengan membuat program menghitung luas dan keliling lingkaran.
Program ini membutuhkan berkas BacaKeyboard.class untuk menginput data bertipe string. Source code BacaKeyboard ini Saya peroleh dari buku Abdul Kadir mengenai Dasar Pemrograman Java 2.
Kemudian data bertipe string itu di konvert menjadi double, agar bisa dilakukan perhitungan matematis. Jika input data dari keyboard bukan berupa angka, maka program akan memberi tahu kepada Anda dan menanyakan apakah Anda akan melakukan input data ulang.
Untuk bisa menjalankan program ini, Anda harus mengompilasi 2 file berekstensi java berikut :
  • BacaKeyboard.java
  • HitungLingkaran.java
Dengan perintah :
javac BacaKeyboard.java
javac HitungLingkaran.java

Selanjutnya akan terbentuk 2 file berekstensi class :
  • BacaKeyboard.class
  • HitungLingkaran.class
Untuk menjalankan program ini, cukup ketik pada terminal Anda :
java HitungLingkaran

Ini adalah source code dari program tersebut :

  • File BacaKeyboard.java
//File BacaKeyboard.java

import java.io.*;

public class BacaKeyboard {
    public static String bacaString() {
        int karakter;
        String string = "";
        boolean selesai = false;

        while(!selesai) {
            try {
                karakter = System.in.read();
                if(karakter < 0 || (char)karakter == '\n')
                    selesai = true;
                else
                if(karakter != '\r')
                    string = string + (char)karakter;
            }catch(IOException ioe) {
                System.err.println("Ada kesalahan input data!");
                selesai = true;
            }
        }
        return string;
    }
}//Akhir File BacaKeyboard.java
  • File HitungLingkaran.java
//Berkas HitungLingkaran.java
//Berkas ini membutuhkan berkas lainnya yaitu BacaKeyboard.class pada direktori kerja
//Author : Tri Sapto Adji, S.Pd.


public class HitungLingkaran {
    public static void main(String[] args) {
          char lagi = 'y';

        System.out.println("");
        System.out.println("PROGRAM MENGHITUNG LUAS DAN KELILING LINGKARAN");
        System.out.println("==============================================");
        System.out.println("");
        System.out.println("     ----------------------------------");
        System.out.println("     | author : Tri Sapto Adji, S.Pd. |");
        System.out.println("     |    @Manokwari, Papua Barat     |");
        System.out.println("     ----------------------------------");
      
        while(lagi == 'y') {
            System.out.print("\nMasukkan nilai jari-jari lingkaran : ");
               try{
                String st = BacaKeyboard.bacaString();
                double jari2 = Double.valueOf(st).doubleValue();
                double keliling = 2 * Math.PI * jari2;
                double luas = Math.PI * Math.pow(jari2,2);
                System.out.println("\nKeliling lingkaran = " + keliling);
                System.out.println("Luas lingkaran = " + luas + '\n');
               }catch(NumberFormatException nfe) {
                System.err.println("\nOoops ... Ada kesalahan input data");
                System.err.println("Nilai jari-jari harus berupa angka ..!\n");
               }

            System.out.print("Mau coba lagi (y/t)? ");
            String str = BacaKeyboard.bacaString();
            lagi = str.charAt(0);
            if(lagi == 'Y') lagi = 'y';
            if(lagi == 'y') continue;
            else {
              System.out.println("Trim\'s ..\n");
              break;
            }
          }
    }
}//Akhir berkas HitungLingkaran.java

Indahnya berbagi ... :)

Tidak ada komentar:

Posting Komentar

Pintar Kimia Terms of Use

By downloading or using the app, these terms will automatically apply to you – you should make sure therefore that you read them carefully b...