Lompat ke konten Lompat ke sidebar Lompat ke footer

Membaca Input Dari Konsol Java

Pada Java, terdapat empat berbedaan cara untuk membaca nila input dari user pada baris perintah atau konsol.

Sebelum lebih lanjut mempelajari materi tentang cara Membaca Input dari Konsol Java, terlebih dahulu pelajari materi tentang: Scanner Class Java Beserta Contohnya, Class BufferedReader Java Beserta Contohnya, dan Perbedaan Antara Scanner dan BufferedReader Java.

Dalam pengembangan perangkat lunak Java, seringkali pengembang perlu mengambil input dari pengguna melalui konsol atau command line interface (CLI). Ini adalah langkah penting dalam banyak jenis aplikasi, mulai dari program sederhana hingga aplikasi yang kompleks. Dalam artikel ini, akan dipelajari berbagai cara untuk membaca input dari konsol dalam bahasa pemrograman Java.

Menggunakan Scanner untuk Membaca Input

Salah satu cara paling umum untuk membaca input dari konsol adalah dengan menggunakan class Scanner. Ini adalah class yang kuat yang memungkinkan untuk memindai input dari berbagai tipe data. Berikut adalah contoh penggunaannya.

Contoh:

import java.util.Scanner;


public class Main {


public static void 

main(String[] args) {


Scanner scanner

new Scanner(System.in);

System.out.print(

"Masukkan nama Anda: ");


String nama

scanner.nextLine();

System.out.println("Halo, " 

+ nama 

+ "! Selamat datang.");


scanner.close();}


}

Pada contoh yang diperlihatkan sebelumnya, pengembang membuat objek Scanner yang diinisialisasi dengan System.in, yang mewakili input dari konsol. Kemudian, pengembang menggunakan metode nextLine() untuk membaca baris teks yang dimasukkan oleh pengguna.

Menggunakan BufferedReader untuk Membaca Input

Cara lain untuk membaca input dari konsol adalah dengan menggunakan class BufferedReader. Ini adalah pilihan yang lebih efisien, terutama jika pengembang perlu membaca input dalam jumlah besar. Berikut adalah contoh penggunaannya.

Contoh:

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;


public class Main {


public static void 

main(String[] args) {


BufferedReader reader 

= new BufferedReader(

new InputStreamReader(System.in));


try {

System.out.print(

"Masukkan nama Anda: ");


String nama

reader.readLine();


System.out.println("Halo, " 

+ nama 

+ "! Selamat datang.");

catch (IOException e) 

{System.err.println(

"Error membaca input!");


e.printStackTrace();} 


finally {

try {reader.close();} 

catch (IOException e) 

{System.err.println(

"Error saat menutup

 BufferedReader!");

                e.printStackTrace();}

}

}


}

Pada contoh yang diperlihatkan sebelumnya, pengembang menggunakan BufferedReader untuk membaca input dari konsol. Metode readLine() digunakan untuk membaca baris teks yang dimasukkan oleh pengguna.

Penggunaan Class Buffered Reader

Berikut adalah method classical Java untuk mendapatkan nilai input, yang diperkenalkan pada JDK1.0. Method ini digunakan untuk membungkus sistem System.in (standar input stream) pada InputStreamReader yang dibungkus pada sebuah BufferedReader, dimana nilai input dapat dibaca dari user pada baris perintah konsol.

Contoh:

// Program Java untuk

// mendemonstrasikan

// BufferedReader.

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;


public class Test {


public static void main(String[] args)

throws IOException

{


// Masukkan data menggunakan

// BufferReader.

BufferedReader reader = new BufferedReader(


new InputStreamReader(System.in));


// Membaca data menggunakan

// readLine.

String name = reader.readLine();


// Mencetak baris bacaan.

System.out.println(name);

}


}

Input:
Maan

Output:
Auxiliary Space: O(1)
Maan


Catatan: untuk membaca tipe data lainnya, maka dapat menggunakan fungsi seperti Integer.parseInt(), Double.parseDouble(). Untuk dapat membaca nilai ganda, maka dapat menggunakan split().

Penggunaan Class Scanner

Ini mungkin metode yang paling disukai untuk menerima masukan. Tujuan utama class Scanner adalah untuk mengurai tipe dan string primitif menggunakan ekspresi reguler, namun juga dapat digunakan untuk membaca masukan dari pengguna di baris perintah.

Method ini mungkin merupakan method yang paling disukai untuk menerima masukkan. Tujuan utama class Scanner adalah untuk mengurai tipe dan string primitif menggunakan ekspresi reguler, namun juga dapat digunakan untuk membaca masukkan dari pengguna pada baris perintah.

Contoh:

// Program Java untuk

// mendemonstrasikan cara

// kerja Scanner Java.

import java.util.Scanner;


class GetInputFromUser {


public static void main(String args[])

{


// Penggunaan Scanner untuk

// mendapatkan nilai input

// dari user.

Scanner in = new Scanner(System.in);


String s = in.nextLine();

System.out.println("You entered string " 

+ s);


int a = in.nextInt();

System.out.println("You entered integer " 

+ a);


float b = in.nextFloat();

System.out.println("You entered float " 

+ b);

}


}

Input:
MakandanMakan
12
3.4


Output:
You entered string MakandanMakan
You entered integer 12
You entered float 3.4

Baca Juga:

Penggunaan Class Console

Tidak hanya dapat digunakan untuk membaca nilai input biasa, namun juga bisa digunakan untuk menerima nilai input seperti kata sandi dari pengguna tanpa mengulangi karakter yang dimasukkan sebelumnya.

Contoh:

// Program Java untuk

// mendemonstrasikan cara

// kerja System.console().


// Program ini tidak akan

// bekerja pada IDEs sebagai

// System.console() yang

// membutuhkan console sebagai

// pengoperasiannya.

public class Sample {


public static void main(String[] args)

{


// Penggunaan console untuk

// menginput data dari user.

String name = System.console().readLine();


System.out.println("You entered string " + name);

}


}

Input:
MakandanMakan

Output:
You entered string MakandanMakan

Menggunakan Argumen Command Line

Input user paling banyak dugunakan untuk proses penkodean program yang kompetitif, dimana baris perintah akang disimpan dalam format String.

Dengan menggunakan method parseInt dari class Integer mengubah nilai argumen string menjadi Integer.

Contoh:

// Program untuk memeriksa

// untuk argumen baris

// perintah.

class Hello {


public static void main(String[] args)

{


// Periksa apakah panjang args

// array lebih dari 0.

if (args.length > 0) {

System.out.println(

"The command line arguments are:");


// Iterasi array args dan

// mencetak argumen baris

// perintah.

for (String val : args)

System.out.println(val);

}


else

System.out.println("No command line "

+ "arguments found.");

}


}

Argumen Perintah Baris:
javac MKN1.java
java Main Hello World


Output:
Hello
World

Menangani Tipe Data Lain

Kedua class, Scanner dan BufferedReader, dapat digunakan untuk membaca input dari konsol untuk tipe data lain seperti integer, double, atau bahkan karakter. Metode seperti nextInt(), nextDouble(), dan next() (untuk karakter) dapat digunakan dengan Scanner, sedangkan dengan BufferedReader, perlu dilakukan konversi manual setelah membaca baris teks.

Kelebihan pembacaan input dari konsol dalam Java:
  • Kemudahan Penggunaan: Kedua class, Scanner dan BufferedReader, relatif mudah digunakan untuk membaca input dari konsol. Keduanya menyediakan metode yang intuitif untuk membaca berbagai jenis tipe data.
  • Interaksi dengan Pengguna yang Sederhana: Dengan membaca input dari konsol, pengembang dapat membangun interaksi yang sederhana antara pengguna dan program, yang memungkinkan pengguna untuk memberikan masukan langsung kepada program.
  • Kemampuan Membaca Tipe Data Berbeda: Baik Scanner maupun BufferedReader mendukung pembacaan berbagai jenis tipe data, termasuk teks, angka, atau karakter. Hal ini memungkinkan aplikasi untuk menerima input yang beragam dari pengguna.
  • Dukungan untuk Validasi Input: Kedua class ini memungkinkan untuk melakukan validasi input, misalnya dengan memeriksa apakah input sesuai dengan format yang diharapkan sebelum digunakan dalam program.
  • Fleksibilitas dalam Penanganan Error: Baik Scanner maupun BufferedReader menyediakan penanganan error yang cukup baik melalui pengecualian (Exception). Hal ini memungkinkan pengembang untuk menangani situasi yang tidak terduga dengan cara yang elegan.
  • Dukungan untuk Input dari Sumber Eksternal: Selain membaca dari konsol (System.in), kedua class ini juga mendukung pembacaan input dari sumber eksternal seperti file atau socket, yang membuatnya lebih fleksibel dalam berbagai skenario pengembangan.
  • Optimalisasi Kinerja dengan BufferedReader: Jika kinerja menjadi perhatian, BufferedReader dapat menjadi pilihan yang lebih baik karena kemampuannya untuk membaca input dalam jumlah besar sekaligus, yang mengurangi overhead dan meningkatkan efisiensi.
  • Sinkronisasi dalam Lingkungan Multithreading: Kedua class ini mempertimbangkan masalah sinkronisasi dalam lingkungan multithreading, meskipun BufferedReader cenderung lebih aman karena metodenya bersifat sinkronis.

Dengan memanfaatkan kelebihan-kelebihan ini, penggunaan class Scanner dan BufferedReader dalam membaca input dari konsol di Java dapat meningkatkan interaksi antara pengguna dan program, serta memperkuat fungsionalitas dan kinerja aplikasi yang dikembangkan.

Kesimpulan

Membaca input dari konsol adalah langkah penting dalam pengembangan perangkat lunak Java. Dengan menggunakan class seperti Scanner atau BufferedReader, pengembang dapat dengan mudah mengambil input dari pengguna dan menggunakan informasi tersebut dalam aplikasi yang sedang dikembang. Pemilihan antara kedua class bergantung pada kebutuhan spesifik aplikasi dan preferensi pengembang. Dengan pemahaman yang baik tentang cara menggunakan alat-alat ini, pengembang dapat membuat pengalaman pengguna yang lebih baik dalam aplikasi Java.

Artikel ini didedikasikan kepada: Siwi Nugrahaning Widhi, Sonyadi Kurniatama, Susanti Septika Avian, Syifa Desita Suwandi, dan Tandria Shinta Ayuningtyas.

5 komentar untuk "Membaca Input Dari Konsol Java"

  1. Apa yang dimaksud konsol Java?

    BalasHapus
    Balasan
    1. Konsol Java menyediakan informasi tentang versi Java, direktori home pengguna, dan pesan kesalahan apapun yang terjadi ketika menjalankan applet atau aplikasi Java.

      Hapus
    2. User dapat mengaktifkan konsol Java untuk platform Windows menggunakan panel kontrol Java atau icon Java yang ditampilkan pada sistem Windows.

      Hapus
  2. Apa yang dimaksud dengan class konsol pada Java?

    BalasHapus
    Balasan
    1. Konsol Java berfungsi untuk membaca karakter string sehingga user tidak perlu khawatir tentang proses pembungkusan pada System.in pada class Java.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -