Belajar Java: Cara Mengambil Input dan Menampilkan Output
Seperti yang kita ketahui, program komputer terdiri dari tiga komponen utama, yaitu: input, proses, dan output.
- Input: nilai yang kita masukan ke program
- Proses: langkah demi langkah yang dilakukan untuk mengelola input menjadi sesuatu yang berguna
- Output: hasil pengolahan
Semua bahasa pemrograman telah menyediakan fungs-fungsi untuk melakukan input dan output.
Java sendiri sudah menyediakan tiga class untuk mengambil input:
- Class Scanner;
- Class BufferReader;
- dan Class Console.
Tiga class tersebut untuk mengambil input pada program berbasis teks (console). Sedangkan untuk GUI menggunakan class yang lain seperti JOptionPane dan inputbox pada form.
Sementara untuk outputnya, Java menyediakan fungsi print()
, println()
, dan format()
.
Mengambil Input dengan Class Scanner
Scanner merupakan class yang menyediakan fungsi-fungsi untuk mengambil input dari keyboard.
Agar kita bisa menggunakan Scanner, kita perlu mengimpornya ke dalam kode:
import java.util.Scanner;
Setelah itu, silahkan ikuti kode berikut ini:
package pertemuan2;
// mengimpor Scanner ke program
import java.util.Scanner;
public class DataKaryawan {
public static void main(String[] args) {
// deklarasi variabel
String nama, alamat;
int usia, gaji;
// membuat scanner baru
Scanner keyboard = new Scanner(System.in);
// Tampilkan output ke user
System.out.println("### Pendataan Karyawan PT. Petani Kode ###");
System.out.print("Nama karyawan: ");
// menggunakan scanner dan menyimpan apa yang diketik di variabel nama
nama = keyboard.nextLine();
// Tampilkan outpu lagi
System.out.print("Alamat: ");
// menggunakan scanner lagi
alamat = keyboard.nextLine();
System.out.print("Usia: ");
usia = keyboard.nextInt();
System.out.print("Gaji: ");
gaji = keyboard.nextInt();
// Menampilkan apa yang sudah simpan di variabel
System.out.println("--------------------");
System.out.println("Nama Karyawan: " + nama);
System.out.println("Alamat: " + alamat);
System.out.println("Usia: " + usia + " tahun");
System.out.println("Gaji: Rp " + gaji);
}
}
Perlu diperhatikan, penggunakan fungsi untuk mengambil data bergantung dari tipe data yang digunakan.
Misal, tipe datanya adalah String, maka fungsi atau method yang dipakai adalah nextLine()
.
Begitu juga dengan tipe data lain, Integer menggunakan nextInt()
, Double menggunakan nextDouble()
, dsb.
Setelah selesai membuat program, silahkan dijalankan. Klik kanan kemudian pilih Run File atau tekan tombol [Shift]+[F6].

Mengambil Input dengan Class BufferReader
Class BufferReader
sebenarnya tidak hanya untuk mengambil input dari keyboard saja.
Class ini juga dapat digunakan untuk membaca input dari file dan jaringan.
Class ini terletak di dalam paket java.io
.
Silahkan diimpor untuk dapat menggunakan class BufferReader
.
import java.io.BufferedReader;
Mari kita coba…
Silahkan buat class baru bernama ContohBufferReader
, kemudian isi dengan kode berikut ini.
package pertemuan2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ContohBufferReader {
public static void main(String[] args) throws IOException {
String nama;
// Membuat objek inputstream
InputStreamReader isr = new InputStreamReader(System.in);
// membuat objek bufferreader
BufferedReader br = new BufferedReader(isr);
// Mengisi varibel nama dengan Bufferreader
System.out.print("Inputkan nama: ");
nama = br.readLine();
// tampilkan output isi variabel nama
System.out.println("Nama kamu adalah " + nama);
}
}
Ternyata class BufferReader
tidak bisa bekerja sendirian. Dia juga butuh teman yaitu: class InputStreamReader
dan class IOException
.
Sekarang mari kita coba jalankan programnya:

Perbedaan BufferReader
dengan Scanner
terlihat dari fungsi atau method yang dipakai.
Scanner
menggunakan next()
, sedangkan BufferReader
menggunakan readLine()
.
Lalu untuk tipe data integer, BufferReader
menggunakan fungsi read()
saja. Hal ini dapat kita lihat dalam hint autocomplete .

Tips: Tekan Ctrl
+Spasi
saat menulis kode untuk menampilkan hint autocomplet
Komentar
Posting Komentar