Kali ini saya akan membahas tentang input dan output pada java . Java bukan bahasa pemrograman untuk console, sehingga terdapat beberapa cara agar kita bisa mendapatkan input dari console, salah satunya yang akan kita beri contoh adalah menggunakan BufferedReader class :
1. Kita tambahkan satu baris perintah dibawah ini agar class bisa berjalan :
import
java.io.BufferedReader
Class BufferedReader adalah kelas abstrak yang menangani baca tulis ke suatu media.
2. Class ini membutuhkan class lain sebagai
pekerjanya, yaitu InputStreamReader. DanInputStreamReader 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 class BufferedReader.
3. Untuk memerintahkan Java mengambil input dari
user, kita gunakan fungsi readline() yang terdapat pada class BufferedReader,
dalam hal ini terealisasi pada objek br.
nama
= br.readLine();
4. 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).
Beberapa perbedaan dalam penulisan input output pada java tersebut meskipun lebih rumit tetapi memiliki
keunggulan yakni mampu menangkap segala bentuk kondisi yang memungkinkan untuk
membatalkan perintah sehingga menghindari program tidak crash atau error.
Berikut berbagai macam alternatif class yang bisa digunakan :
1. Scanner class, contoh:
import java.util.Scanner; // di luar class
Scanner scan = new Scanner(System.in);
String s = scan.next();
int i = scan.nextInt();
2. DataInputStream class, contoh:
import java.io.DataInputStream; // di luar class
DataInputStream dis = new DataInputStream(System.in);
int i = dis.readInt();
3. Console Class, contoh:
import java.io.Console; // di luar class
Console console = System.console();
String s = console.readLine();
int i = Integer.parseInt(console.readLine());
Terdapat beberapa cara untuk mencetak pada console, diantaranya:
1. System.out.print, untuk mencetak tanpa ganti baris, contoh:
System.out.print("hai");
System.out.print(123);
2. System.out.println, untuk mencetak dan diakhiri ganti baris, contoh:
System.out.println("hai");
System.out.println(123);
3. System.out.printf, untuk mencetak dengan format, contoh:
System.out.printf("%s %d \n %.2f", "hai", 123, 45.678 );
System.out dapat diganti dengan System.err untuk mencetak pada output kedua
(stderr, standard error). Untuk mencetak dengan format sesuai terminal, System.out dapat
diganti dengan System.console().writer(), contoh:
import java.io.Console; // di luar class
import java.io.PrintWriter; // di luar class
Console console = System.console();
char[] pwd = pw.readPassword("Masukkan password: ");
PrintWriter out = console.writer();
out.println("Password anda: " + pwd);
Tidak ada komentar:
Posting Komentar