Archive | 5:44 pm

Input Data

16 May

Nah pembahasan ini penting buat dibahas. Kita telah mempelajari dasar-dasar pemrograman Java. Nah tapi program kita itu input nilainya masih belum dinamis. Maksudnya, waktu penginputan data kita memasukkan nilainya langsung di program kita. Kalau untuk mempelajari dasar-dasar pemrograman dan algoritmanya masih tidak apa-apa. Namun, untuk implementasi sebenarnya ini sangat tidak bagus kan? Masa kita membuat suatu aplikasi, program atau sistem informasi tapi user menginputkan nilai harus masuk ke program kita. Tidak efektif, tidak efektif di sisi programmer dan di sisi user juga. Maka lebih efektif dan praktisnya kita membuatnya secara dinamis. Banyak sekali cara untuk menangkap nilai yang diinputkan oleh user. Kita akan membahasa beberapa cara. Let’s check these out!!

  • Class Baca

Kita membaca inputan dari user dengan memanfaatkan class baca (Baca.java). sebenarnya class baca adalah suatu class yang dapat membaca inputan dari user dengan memanfaatkan method pada class inputstream yang dimiliki oleh java.

Source class baca (Baca.java)

import java.io.*;
public class Baca{
   public static String bacaString(){
      int k;
      String str = "";
      boolean selesai = false;
      while(!selesai){
         try {
            k = System.in.read();
            selesai = (k == 13);
            if(!selesai)
               str += (char) k;
         }
         catch(IOException e){
            System.err.println("Ada kesalahan");
            selesai = true;
         }
      }
      return str;
   }
}

Cukup tau tentang class ini, karena nantinya kita akan memanfaatkan class Baca ini. Lalu bagaimana penggunaannya. Penggunaannya seperti di bawah ini Contoh dibawah ini kita akan membuat program sederhana untuk menghitung luas segitiga dengan memanfaatkan class baca untuk membaca inputan user.

class LuasSegi3 {
   public static void main(String[] args) {
      String inputanAlas, inputanTinggi, nama;
      double alas,tinggi,luas;

      System.out.print("Masukkan nama: ");
      nama = Baca.bacaString();
      System.out.println();

      System.out.println("Program Luas segitiga");
      System.out.print("Masukkan alas: ");
      inputanAlas = Baca.bacaString();
      alas = Double.valueOf(inputanAlas).doubleValue();

      System.out.print("Masukkan tinggi: ");
      inputanTinggi = Baca.bacaString();
      tinggi = Double.valueOf(inputanTinggi).doubleValue();

      luas = (alas*tinggi)/2;
      System.out.println("Luasnya: "+luas+"cm2\n");
      System.out.println("Terima Kasih "+nama.toUpperCase());
   }
}

NB:

  • Kita memanfaatkan class baca, tapi kelemahannya class baca hanya menangkap nilai bertipe String. Nah, jika ingin inputannya bilangan kita harus melakukan parsing seperti di atas >> alas = Double.valueOf(inputanAlas).doubleValue();
  • Potongan program di atas artinya nilai dari variable inputanAlas di convert menjadi variable bertipe double yang ditampung di variable alas
  • Variable nama tidak perlu dikonversi karena sudah bertipe String
  • Metode toUpperCase() adalah untuk membuat karakter String menjadi huruf besar semua

Outputnya:

Masukkan nama: bernaz <enter>

Program Luas Segitiga

Masukkan alas: 12 <enter>

Masukkan tinggi: 12 <enter>

Luasnya: 72.0 cm2

Terima Kasih BERNAZ

  • Scanner

Sebenarnya Scanner adalah class yang sudah ada di java dan kita tinggal menggunakannya dengan cara meng-importnya. Langsung saja ke contoh implementasinya seperti di bawah ini

import java.util.*;
class Said {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Selamat Datang di bernaz's blog\n");

      System.out.print("Nama Anda : ");
      String nama = sc.nextLine();

      System.out.print("NIM Anda : ");
      int NIM = sc.nextInt();

      System.out.print("IPK : ");
      double IPK = sc.nextDouble();

      System.out.println(".......");
      System.out.println("Selamat "+nama.toUpperCase()+" anda telah terdaftar");
      System.out.println("NIM anda "+NIM);
      System.out.println("Indeks Prestasi anda "+IPK);
   }
}

NB:

  • Class Scanner ada di dalam paket util jadi kita harus mengimportnya sebelum kita menggunakannya dan util ada di paket java. Jadi kita harus mengimportnya dengan cara import java.util.*; atau juga bisa dengan import java.util.Scanner;
  • nextLine() untuk membaca inputan String
  • nextInt() untuk membaca inputan integer
  • nextDouble() untuk membaca inputan double

Outputnya:

Selamat Datang di bernaz’s blog

Nama Anda : Bernaz <enter>

NIM Anda : 1234567 <enter>

IPK : 4 <enter>

…….

Selamat BERNAZ anda telah terdaftar

NIM anda 1234567

Indeks Prestasi anda 4.0