Input dan Output Java: BufferedReader, Scanner, & JOptionPane

Memasukkan data secara dinamis adalah hal yang penting dalam membuat program, terutama untuk sistem informasi. Dalam pemrograman Java, terdapat beberapa perintah untuk menerima masukan (input) dari keyboard dan menampilkan keluaran (output) ke pengguna.

Kita akan membahas tiga perintah input utama: BufferedReader, Scanner, dan JOptionPane. Sedangkan untuk output, kita akan melihat System.out.print dan JOptionPane.showMessageDialog.

1. Metode Input: BufferedReader

BufferedReader merupakan class yang ada di dalam paket java.io. Metode ini dikenal lebih kompleks karena memerlukan class lain dan proses konversi data (parsing).

Langkah Penggunaan

Untuk menggunakan BufferedReader, Anda perlu melakukan langkah-langkah berikut:

  1. Import Class: Mengimpor BufferedReader dan InputStreamReader dari paket java.io. Anda bisa mengimpor keduanya secara eksplisit atau menggunakan import java.io.*.
  2. Penanganan Exception: Menambahkan throws Exception pada deklarasi method main untuk mencegah kesalahan yang terjadi saat program dijalankan.
  3. Instansiasi Class: Membuat objek BufferedReader baru yang akan digunakan untuk memanggil method input.
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class KelasBuffered {
    public static void main (String[] args) throws Exception{
        // Instansiasi (Membuat objek 'br')
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        String nama;
        System.out.print("\nMasukkan nama : ");
        nama = br.readLine(); // Perintah input
        
        System.out.println("\nNama : " + nama); // Output
    }
}

Konversi Tipe Data (Parsing)

Method br.readLine() secara default hanya mengambil input dengan tipe data String. Jika Anda ingin menyimpan data ke variabel bertipe integer atau double, Anda harus mengkonversinya terlebih dahulu (parse).

Tipe Data TujuanContoh Konversi
Integer 

angka_bulat = Integer.parseInt(br.readLine());

 
 
Double 

pecahan = Double.parseDouble(br.readLine());

 
 

2. Metode Input: Scanner

Perintah input menggunakan Scanner jauh lebih simpel dibandingkan BufferedReader. Keunggulan utamanya adalah untuk memanggil variabel dengan tipe data berbeda, Anda tidak perlu melakukan parse karena sudah tersedia method tersendiri.

Langkah Penggunaan

  1. Import Class: import java.util.Scanner;.
  2. Instansiasi Class: Membuat objek Scanner baru.
import java.util.Scanner;

public class KelasScanner {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in); // Instansiasi objek 's'
        
        String nama;
        int umur;
        
        System.out.print("\nMasukkan nama: ");
        nama = s.nextLine(); // Input String (metode khusus)
        
        System.out.print("\nMasukkan umur : ");
        umur = s.nextInt(); // Input Integer (metode khusus)
        
        // Output
        System.out.print("\nNama : " + nama);
        System.out.println("\nUmur: " + umur);
    }
}
Tipe Data TujuanMetode Scanner
Strings.nextLine() (untuk satu baris teks)
Integers.nextInt()
Doubles.nextDouble()

3. Metode Input/Output: JOptionPane

JOptionPane adalah class yang ada di dalam paket javax.swing, yang biasa digunakan untuk membuat program Java GUI (antar muka grafis). Metode ini menggunakan dialog box standar untuk input dan output.

Perintah I/O JOptionPane

  1. Input: Menggunakan method showInputDialog.
  2. Output: Menggunakan method showMessageDialog.

Konversi dan Implementasi

Sama seperti BufferedReader, input dari JOptionPane.showInputDialog juga dikembalikan sebagai String. Oleh karena itu, input untuk tipe data non-String harus di-parse.

import javax.swing.JOptionPane;

public class KelasJOptionPane {
    public static void main (String[] args) {
        String nama;
        double tinggi;
        
        // Input String (tidak perlu parse)
        nama = JOptionPane.showInputDialog("Masukkan Nama : ");
        
        // Input Double (harus di-parse)
        tinggi = Double.parseDouble(JOptionPane.showInputDialog("Masukkan tinggi : "));
        
        // Output Dialog Box
        JOptionPane.showMessageDialog(null, "Nama: " + nama + "\nTinggi: " + tinggi);
    }
}

Metode JOptionPane menghasilkan dialog box visual, membuatnya ideal untuk aplikasi berbasis GUI sederhana.

Kesimpulan Perintah Output

Selain System.out.print (untuk konsol) dan System.out.println (untuk konsol dengan baris baru), JOptionPane.showMessageDialog adalah alternatif utama untuk menampilkan output dalam bentuk dialog box grafis.