Cara Menggunakan Scanner di Java untuk Input Pengguna

Cara Menggunakan Scanner di Java untuk Input Pengguna

Salah satu fitur penting dalam pemrograman adalah kemampuan menerima input dari pengguna. Dalam Java, cara paling umum dan mudah untuk melakukan ini adalah dengan menggunakan class Scanner. Scanner memungkinkan program Java menerima data dari berbagai sumber, termasuk keyboard.

Artikel ini akan membahas secara lengkap bagaimana cara menggunakan Scanner untuk berbagai jenis input: angka, teks, karakter, hingga input baris penuh. Dilengkapi dengan contoh kode dan tips agar kamu bisa menghindari error umum saat memakai Scanner.


Apa Itu Scanner di Java?

Scanner adalah class dalam Java yang berada di package java.util. Fungsinya adalah untuk membaca input dari berbagai sumber seperti keyboard (System.in), file, atau string.

Sintaks umum untuk menggunakan Scanner:


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        // Gunakan input.nextLine(), input.nextInt(), dll
    }
}

Import Scanner

Sebelum menggunakan Scanner, kamu perlu mengimpornya dari library Java:

import java.util.Scanner;

Import ini wajib karena Scanner bukan bagian dari java.lang (yang otomatis tersedia).


Cara Membuat Scanner

Untuk membaca input dari keyboard, kita gunakan System.in sebagai sumber input:


Scanner input = new Scanner(System.in);

Setelah itu, kamu bisa menggunakan berbagai method dari Scanner untuk membaca data dari user.


Jenis-Jenis Input Scanner

1. Input String (Satu Kata)

Gunakan next() untuk membaca satu kata (tanpa spasi).


System.out.print("Masukkan nama: ");
String nama = input.next();
System.out.println("Halo, " + nama);

2. Input String (Satu Baris)

Gunakan nextLine() untuk membaca satu baris lengkap (termasuk spasi).


System.out.print("Masukkan alamat lengkap: ");
String alamat = input.nextLine();
System.out.println("Alamat Anda: " + alamat);

3. Input Integer

Membaca angka bulat:


System.out.print("Masukkan usia: ");
int usia = input.nextInt();
System.out.println("Usia Anda: " + usia);

4. Input Double

Membaca angka desimal:


System.out.print("Masukkan tinggi badan: ");
double tinggi = input.nextDouble();
System.out.println("Tinggi Anda: " + tinggi);

5. Input Karakter

Java tidak memiliki method khusus untuk membaca char, tapi bisa diakali dengan membaca string lalu mengambil karakter pertama:


System.out.print("Masukkan jenis kelamin (L/P): ");
char gender = input.next().charAt(0);
System.out.println("Jenis kelamin: " + gender);

Contoh Program Lengkap: Form Pendaftaran Sederhana


import java.util.Scanner;

public class FormPendaftaran {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Nama Lengkap: ");
        String nama = input.nextLine();

        System.out.print("Umur: ");
        int umur = input.nextInt();
        input.nextLine(); // flush enter

        System.out.print("Alamat: ");
        String alamat = input.nextLine();

        System.out.print("Email: ");
        String email = input.next();

        System.out.println("\n=== Data Pendaftar ===");
        System.out.println("Nama: " + nama);
        System.out.println("Umur: " + umur);
        System.out.println("Alamat: " + alamat);
        System.out.println("Email: " + email);

        input.close();
    }
}

Catatan: penggunaan input.nextLine() setelah nextInt() diperlukan untuk menghindari bug akibat newline yang tersisa.


Masalah Umum Saat Menggunakan Scanner

1. Scanner Lompat Baris Setelah nextInt()

Masalah umum adalah ketika nextLine() digunakan setelah nextInt() atau nextDouble(), maka baris input akan dilewati.

Solusi: Tambahkan input.nextLine() setelah nextInt() atau nextDouble() untuk membersihkan karakter newline.

2. Menutup Scanner Terlalu Dini

Hindari menutup Scanner terlalu awal (dengan input.close()) jika masih ada proses input berikutnya.


Tips Penggunaan Scanner

  • Selalu cek tipe data yang dimasukkan pengguna agar tidak terjadi error runtime.
  • Gunakan try-catch jika ingin menambahkan error handling.
  • Tutup Scanner dengan input.close() setelah semua input selesai (opsional).

Menggunakan Scanner dengan Validasi

Kamu bisa menggunakan hasNextInt(), hasNextDouble() untuk memeriksa input sebelum dibaca.

Contoh:


Scanner input = new Scanner(System.in);
System.out.print("Masukkan umur: ");

if (input.hasNextInt()) {
    int umur = input.nextInt();
    System.out.println("Umur: " + umur);
} else {
    System.out.println("Input tidak valid!");
}

Scanner vs BufferedReader

Fitur Scanner BufferedReader
Kemudahan Mudah digunakan Butuh parsing manual
Kecepatan Lebih lambat Lebih cepat
Tipe Input Mendukung berbagai tipe Hanya String

Studi Kasus: Program Kalkulator Input Pengguna


import java.util.Scanner;

public class KalkulatorSederhana {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Masukkan angka pertama: ");
        double angka1 = input.nextDouble();

        System.out.print("Masukkan operator (+, -, *, /): ");
        char op = input.next().charAt(0);

        System.out.print("Masukkan angka kedua: ");
        double angka2 = input.nextDouble();

        double hasil;
        switch (op) {
            case '+':
                hasil = angka1 + angka2;
                break;
            case '-':
                hasil = angka1 - angka2;
                break;
            case '*':
                hasil = angka1 * angka2;
                break;
            case '/':
                hasil = angka2 != 0 ? angka1 / angka2 : 0;
                break;
            default:
                System.out.println("Operator tidak valid");
                return;
        }

        System.out.println("Hasil: " + hasil);
        input.close();
    }
}

Kesimpulan

Scanner adalah alat utama dalam Java untuk menerima input dari pengguna. Dengan memahami berbagai metode seperti next(), nextLine(), nextInt(), dan validasi, kamu bisa membuat program interaktif yang aman dan user-friendly.

Scanner cocok digunakan untuk aplikasi sederhana, game teks, hingga sistem CRUD dasar. Pastikan kamu menghindari error umum seperti lompat baris setelah nextInt() dan perhatikan tipe data input yang digunakan.

Teruslah bereksperimen dengan Scanner agar kamu makin terbiasa membaca input dari pengguna, karena ini adalah fondasi dari hampir semua aplikasi interaktif di Java.


Label: Scanner Java, Input Java, Belajar Java, Java Dasar, Pemrograman Java

#JavaScanner #BelajarJava #InputJava #NgodingPemula #TutorialJava #JavaDasar #JavaInputOutput #JavaProgramming

Posting Komentar untuk "Cara Menggunakan Scanner di Java untuk Input Pengguna"