Fungsi Import Java Util Scanner: Memudahkan Input Nilai di Program Java

Pernah bingung kenapa program Java wajib menulis import java.util.Scanner; di awal sebelum bisa pakai input? Import ini bukan aksesoris — dialah yang “menyambungkan” class Scanner dari paket java.util ke programmu, sehingga kamu bisa membaca input dari keyboard dengan mudah.
Saya ingat waktu pertama belajar Java, saya pikir Scanner itu semacam fitur ajaib dari IDE. Padahal ia hanya class bawaan Java di java.util, dan perintah import itu fungsinya memberi tahu compiler: “class Scanner akan kubutuhkan, sediakan”. Artikel ini menjelaskan cara pakai Scanner dengan benar, lengkap dengan contoh yang langsung jalan.
Apa itu import java util scanner?
Di Java, import adalah perintah untuk membawa class dari satu paket agar bisa dipakai tanpa menulis nama paket lengkap setiap kali. java.util.Scanner adalah class di paket java.util khusus untuk membaca input pengguna, baik dari keyboard (console) maupun dari file.
Jadi baris:
import java.util.Scanner;
berarti: “Saya ingin memakai class Scanner yang ada di paket java.util.” Tanpa baris ini, kamu harus menulis java.util.Scanner scanner = new java.util.Scanner(System.in); setiap kali — merepotkan dan gampang salah ketik.
Fungsi import java util scanner
Fungsi utama Scanner adalah membaca input dari pengguna dengan tipe data yang berbeda. Beberapa kegunaan khususnya:
- Membaca angka —
nextInt(),nextDouble(),nextLong() - Membaca teks —
next()(satu kata) dannextLine()(satu baris) - Memvalidasi input —
hasNextInt(),hasNextLine()untuk mengecek sebelum membaca - Membaca dari file —
new Scanner(new File("data.txt"))
Scanner sangat berguna untuk program interaktif seperti kalkulator, form input, atau program peminjaman buku, karena ia menghemat penulisan kode manual untuk parsing input.
Cara Menggunakan import java util scanner
Urutan dasar memakai Scanner ada tiga langkah: import, buat objek, lalu baca.
- Tulis
import java.util.Scanner;di paling atas file, sebelum deklarasi class. - Buat objek Scanner dengan
Scanner scanner = new Scanner(System.in);.System.inartinya membaca dari keyboard. - Panggil method baca sesuai tipe data yang kamu mau.
Contoh membaca angka:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Masukkan sebuah angka: ");
int angka = scanner.nextInt();
System.out.println("Angka yang dimasukkan adalah: " + angka);
}
}
Kode di atas meminta satu angka, lalu menampilkannya kembali. scanner.nextInt() memblokir program sampai pengguna menekan Enter.
Contoh Membaca Teks dan Angka
Program berikut membaca nama (teks) dan umur (angka) sekaligus:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Masukkan nama: ");
String nama = scanner.nextLine();
System.out.print("Masukkan umur: ");
int umur = scanner.nextInt();
System.out.println("Halo, " + nama + "! Kamu berumur " + umur + " tahun.");
}
}
Catatan: Mengetik
nextLine()lalunextInt()kadang “melompati” input karena karakter baris baru tersisa. Solusinya: panggilscanner.nextLine()sekali lagi setelah angka, atau biasakan memakainextLine()untuk semua lalu parsing angkanya.
Daftar Method Scanner yang Sering Dipakai
| Method | Fungsi | Contoh |
|---|---|---|
next() | Baca satu kata (sampai spasi) | String s = scanner.next(); |
nextLine() | Baca satu baris penuh | String s = scanner.nextLine(); |
nextInt() | Baca angka bulat | int n = scanner.nextInt(); |
nextDouble() | Baca angka desimal | double d = scanner.nextDouble(); |
nextBoolean() | Baca nilai true/false | boolean b = scanner.nextBoolean(); |
hasNextInt() | Cek apakah input berikut angka | if (scanner.hasNextInt()) |
close() | Tutup Scanner (lepaskan resource) | scanner.close(); |
Scanner untuk Memvalidasi Input
Kita bisa mencegah program error saat pengguna memasukkan teks bukan angka, dengan mengecek dulu:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Masukkan angka: ");
if (scanner.hasNextInt()) {
int angka = scanner.nextInt();
System.out.println("Angka valid: " + angka);
} else {
System.out.println("Input bukan angka!");
}
}
}
Ini contoh langsung yang sering saya pakai di program latihan: cek dulu hasNextInt() sebelum nextInt(), supaya program tidak crash ketika user mengetik huruf.
Scanner vs BufferedReader
Keduanya bisa membaca input, tapi beda tujuan:
- Scanner — mudah, punya method per tipe data (
nextInt,nextDouble), cocok untuk input interaktif. Agak lebih lambat untuk membaca volume besar. - BufferedReader — lebih cepat untuk membaca teks dalam jumlah besar, tapi harus parsing sendiri (
Integer.parseInt(line)). Cocok untuk membaca file besar.
Untuk belajar dan sebagian besar program standar, Scanner cukup. Kalau nanti butuh kecepatan tinggi, barulah pindah ke BufferedReader.
FAQ
Apa itu import java.util.Scanner?
import java.util.Scanner adalah perintah untuk menyertakan class Scanner dari paket java.util ke dalam program, sehingga kamu bisa membuat objek Scanner dan membaca input pengguna.
Di mana letak file Scanner di Java?
Class Scanner berada di dalam paket java.util, file-nya ada di lib Java. Perintah import java.util.Scanner; di awal file hanya memberitahu compiler class mana yang akan dipakai, bukan mengaktifkan apa pun.
Apa bedanya Scanner dengan BufferedReader?
Scanner lebih mudah untuk input bertipe data (nextInt, nextDouble) dan parsing token, tapi tidak membaca baris penuh dengan spasi seperti BufferedReader.readLine. Scanner cukup untuk sebagian besar kebutuhan input pemula.
Bagaimana cara membaca input angka dan teks dengan Scanner?
Pakai scanner.nextInt() untuk angka dan scanner.nextLine() untuk teks. Pasang Scanner dari System.in, lalu panggil method sesuai tipe data yang ingin dibaca.
Kesimpulan
import java.util.Scanner; adalah cara standar memakai class Scanner untuk membaca input di Java. Dengan memahami tiga langkah dasar (import, buat objek, panggil method), kamu bisa membuat program interaktif dengan cepat: membaca angka, teks, sampai validasi input.
Mulai dari contoh sederhana di atas, lalu coba kombinasikan dengan hasNextInt() supaya programmu tidak mudah error. Itu kebiasaan kecil yang sangat membantu saat project mulai besar.

