Menggunakan BufferedReader
Pada bagian ini, kita akan menggunakan class BufferedReader yang berada di package java.io untuk mendapatkan input dari keyboard.
Berikut ini adalah langkah-langkah yang diperlukan 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 kode lengkapnya :
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class GetInputFromKeyboard { public static void main( String[] args ){ BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) ); String name = ""; System.out.print("Please Enter Your Name:"); try{ name = dataIn.readLine(); }catch( IOException e ){ System.out.println("Error!"); } System.out.println("Hello " + name +"!"); } }
Statement,
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException;
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. Pernyataan di atas juga dapat ditulis sebagai berikut :
import java.io.*;
yang akan mengeluarkan semua class yang berada dalam package, dan selanjutnya kita bisa menggunakan class-class tersebut dalam program kita.
Dua statement selanjutnya,public class GetInputFromKeyboard { 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 variabel 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.print("Please Enter Your Name:");
Sekarang, blok di bawah ini merupakan try-catch block,
try{ name = dataIn.readLine(); }catch( IOException e ){ System.out.println("Error!"); }
name = dataIn.readLine();
akan ditangkap. Kita akan membahas tentang penanganan exception pada bab selanjutnya dari pembahasan ini, tetapi untuk sekarang, Anda cukup mencatat bahwa Anda perlu menambahkan kode ini untuk menggunakan method readLine() dari BufferedReader untuk mendapatkan input dari user.
Selanjutnya kembali kepada 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
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 :
import javax.swing.JOptionPane; public class GetInputFromKeyboard { public static void main( String[] args ){ String name = ""; name = JoptionPane.showInputDialog("Please enter your name"); String msg = "Hello " + name + "!"; JOptionPane.showMessageDialog(null, msg); } }
gambar 1 |
gambar 2 |
gambar 3 |
teks di sini
Menjelaskan bahwa kita mengimpor class JoptionPane dari package javax.swing.
Bisa juga ditulis seperti,
teks di sini
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 variabe msg,
String msg = "Hello " + name + "!";
JOptionPane.showMessageDialog(null, msg);