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

10 Responses to “Input Data”

  1. ryan October 10, 2009 at 3:15 am #

    thanks a lot comrades!!!

  2. nazZzz November 8, 2009 at 2:11 pm #

    yuuuuuuuuhuuu ^^

  3. bebe March 24, 2010 at 1:51 am #

    thanks program inputnya 🙂

  4. nazZzz March 29, 2010 at 5:32 am #

    yoaaa…mudah kan

  5. cahyo October 29, 2010 at 6:15 pm #

    thank’s bro artikel anda membantu sekali buat saya
    tugas saya selesai akhirnya setelah membaca artikel ente
    bro tukeran banner mau gak….?
    low boleh ente comment d blog ane ntar kita tukeran banner

  6. nazZzz November 4, 2010 at 3:13 pm #

    wooo iya sama-sama
    tukeran banner? nice idea
    how

  7. huda February 28, 2011 at 9:13 am #

    thx y sob … infonya bermanfaat

  8. nazZzz March 15, 2011 at 6:11 pm #

    you’re welcome, Huda

  9. Dhafin May 3, 2011 at 2:30 pm #

    Waaaah., thanks banget ilmunya mas master. 😀
    ini kan baru input data ya ‘mas’ (for ‘mas’ter. hhe).. kalo kodingan nyimpan data gimana?
    misalnya gini:

    input tugas akhir
    nama mahasiswa: xxx
    nim: mmm

    dibimbing oleh

    nama dosen: xxx
    kode dosen: mmm

    nah, 1 dosen dibatasi hanya boleh membimbing 3 mahasiswa.
    clu-clue nya apa ya mas?
    syukur banget kalo dikasih kodinganya 😀

    makasih ya mas…
    😀

  10. bernazse May 12, 2011 at 4:45 pm #

    yeah!!! you’re welcome

    nyimpen data?
    mau disimpen ke database ato cuma dimasukkin variabel?

Leave a comment