Java bukan bahasa pemrograman untuk Console (seperti DOS atau Linux),
sehingga untuk mengambil input dari user diperlukan sedikit trik yang
tidak sesederhana
readln
pada bahasa pemrograman lain.
Di
sini saya akan menjelaskan untuk membuat program yang bisa mengambil
input dari konsol teks. Di bagian lain, setelah kita belajar pemrograman
berorientasi objek, kita akan menggunakan GUI untuk mendapatkan
interaksi dari user.
Membaca String yang diketik oleh user di konsol
Kita membutuhkan kelas yang beberapa kelas, yaitu
BufferedReader
, InputStreamReader
, dan System.in
(lawan dari System.out yang kita gunakan untuk menampilkan pesan di layar).
Dua kelas pertama terdapat dalam package yang dinamakan java.io. Untuk itu, kita harus menambah satu baris perintah
import java.io.*
yang berarti mengimport semua kelas dalam paket java.io (tanda * berarti semua).
Kemudian
kita harus juga membuat suatu objek dari kelas BufferedReader. Kelas
BufferedReader adalah kelas abstrak yang menangani baca tulis ke suatu
media.
Kelas ini membutuhkan kelas lain sebagai pekerjanya, yaitu
InputStreamReader. Dan InputStreamReader membutuhkan media tempat baca
tulis dilakukan, yaitu System.in.
Semua ini bisa dituliskan dalam satu perintah yaitu :
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Di sini variabel
br
merupakan objek yang merupakan jelmaan dari kelas BufferedReader
.
Untuk memerintahkan Java mengambil input dari user, kita gunakan fungsi
readline()
yang terdapat pada kelas BufferedReader
, dalam hal ini terealisasi pada objek br
.
nama = br.readLine();
Karena
kita berhubungan langsung dengan sistem IO (input-output) komputer yang
harus diasumsikan tidak pasti (misalnya ada masalah pada sistem
keyboard, atau komputer sedang bekerja berat sehingga input dari user
tidak bisa diambil), kita harus menempatkan fungsi
readLine()
pada klausatry { ... } catch (IOException ioe) { ... }
Perintah di dalam
try { ... }
adalah perintah yang kita ingin jalankan pada situasi yang "mungkin" tidak berhasil.
Parameter pada catch, yaitu
IOException ioe
adalah jenis kesalahan yang ingin kita tangkap. Dalam hal ini kita
ingin menangkap adanya kesalahan IO, yaitu kesalahan yang bertipe IOException
.
Perintah di dalam
catch { ... }
adalah perintah yang akan dilakukan apabila kesalahan ditangkap. Jika
tidak ada kesalahan IO yang ditemukan, maka bagian ini akan dilewatkan
(tidak dijalankan).
Mari kita lihat program akhir untuk mengambil input dari user.
package ambilinputkonsol; import java.io.*; public class AmbilInputKonsol { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.print("Masukkan nama Anda : "); // buat objek baru untuk mengambil input BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // tempat di mana input dari user akan diletakkan String nama = null; try { nama = br.readLine(); } catch(IOException ioe) { System.out.println("Kesalahan IO pada saat menanyakan nama Anda"); System.exit(1); } System.out.println("Terima kasih, " + nama); } }
Sumber :http://java.lyracc.com/artikel/java-untuk-pemula/intermezzo-membaca-input-dari-user
0 komentar:
Posting Komentar