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 klausa
try { ... } 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.
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); } }







0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.