Kita telah mempelajari konsep dasar pada Java dan menulis beberapa program sederhana. Sekarang kita akan mencoba membuat program kita lebih interaktif dengan menggunakan input dari keyboard. Pada bab ini, kita akan mempelajari dua cara memberikan input, yang pertama adalah menggunakan class BufferedReader dan melalui GUI (Graphical User Interface) dengan menggunakan class JOptionPane.
Menggunakan BufferedReader untuk mendapatkan input
Pada bagian ini, kita akan menggunakan class BufferedReader yang berada di package java.io untuk mendapatkan input dari keyboard.
- Tambahkan di bagian paling atas code Anda:
import java.io.*; - Tambahkan statement berikut:
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) ); - Deklarasikan variabel String temporary untuk mendapatkan input, dan gunakan fungsi readLine() untuk mendapatkan input dari keyboard. Anda harus mengetikkannya di dalam blok try-catch:
try{
String temp = dataIn.readLine();
}
catch( IOException e ){
System.out.println(“Error in getting input”);
}
Berikut ini adalah source code lengkapnya:

Berikutnya akan penjelasan setiap baris dari code tersebut:
Statement,

Menjelaskan bahwa kita akan menggunakan class BufferedReader, InputStreamReader dan IOException yang berada di java.io package. Java Application Programming Interface (API) berisi ratusan class yang sudah didefinisikan sebelumnya yang dapat digunakan untuk program Anda. Class-class tersebut dikumpulkan di dalam packages.
Packages berisi class yang mempunyai fungsi yang saling berhubungan. Seperti pada contoh di atas, java.io package mengandung class-class yang memungkinkan program untuk melakukan input dan output data.
Dua statement selanjutnya,
public class InputBuffer {
public static void main(String[] args){
kita sudah mempelajari pada pelajaran sebelumnya. Pernyataan ini mendeklarasikan class bernama GetInputFromKeyboard dan kita mendeklarasikan method main. Dalam statement,
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );
kita mendeklarasikan sebuah variabel bernama dataIn dengan tipe class BufferedReader. Jangan mengkhawatirkan tentang maksud dari syntax saat ini. Kita akan menjelaskannya pada akhir pembahasan.
Sekarang, kita akan mendeklarasikan variabel String dengan identifier name,
String name = "";
Pernyataan di atas merupakan tempat untuk menyimpan input dari user. Nama variable diinisialisasi sebagai String kosong “”. Sebaiknya kita selalu menginisialisasi sebuah variabel setelah kita mendeklarasikannya. Baris berikutnya adalah memberikan output sebuah String pada layar yang menanyakan nama user.
System.out.println("Please Enter Your Name");
Sekarang, blok di bawah ini merupakan try-catch block,
try{
name = dataIn.readLine();
}catch(IOException e) {
System.out.println("Error!");
}
Pada baris ini menjelaskan bahwa kemungkinan terjadi error pada pernyataan,
name = dataIn.readLine();
Kode ini untuk menggunakan method readLine() dari BufferedReader untuk mendapatkan input dari user.
Selanjutnya kembali ke pernyataan,
name = dataIn.readLine();
Method diatas memanggil dataIn.readLine(), mendapatkan input dari user dan memberikan sebuah nilai String. Nilai ini akan disimpan ke dalam variabel name, yang akan kita gunakan pada statement akhir untuk menyambut user,
System.out.println("Hello " + name + "!");
Menggunakan JOptionPane untuk mendapatkan input
Cara lain untuk mendapatkan input dari user adalah dengan menggunakan class JoptionPane yang didapatkan dari javax.swing package. JoptionPane memudahkan memunculkan dialog box standard yang memberikan kepada user sebuah nilai atau menginformasikan sesuatu.
Diberikan kode berikut ini,

Akan menghasilkan output,



Statement pertama,
import javax.swing.JOptionPane;
Menjelaskan bahwa kita mengimpor class JoptionPane dari package javax.swing. Bisa juga ditulis seperti,
import javax.swing.*;
Pernyataan,
name = JOptionPane.showInputDialog("Please enter your name");
Membuat sebuah input dialog JOptionPane, yang akan menampilkan dialog dengan sebuah pesan, sebuah textfield dan tombol OK seperti pada gambar. Hasil dari dialog tersebut adalah String dan disimpan ke dalam variabel name. Sekarang kita membuat pesan selamat datang, yang akan disimpan ke dalam variable msg,
String pesan = "Hello " + name + "!";
Baris selanjutnya adalah menampilkan sebuah dialog yang berisi sebuah pesan dan tombol OK,
JOptionPane.showMessageDialog(null, pesan);