Mengambil Nilai Input Java Beserta Contohnya
- BufferedReader Class
- Scanner Class
BufferedReader: Merupakan bentuk class sederhana yang digunakan untuk membaca ukuran dari sebuah karakter. Class ini memiliki fungsi tunggal sederhana yang akan membaca karakter, dari urutan array, serta fungsi readLine() yang bertugas untuk membaca sebuah baris, dan fungsi InputStreamReader() yang berfungsi untuk mengkonversi nilai aliran input per byte dari setiap karakter kehingga dapat dilakukan pembacaan sebagai nilai BufferedReader sesuai yang diharapkan dari stream karakter.
Contoh: BufferedReader Melakukan Memeriksaan Exceptions
// Program Java untuk
// mengambil nilai input dari
// pengguna menggunakan class
// BufferedReader.
import java.io.*;
class MKN
{
// Main Method
public static void main(String [] args) throws IOException
{
// Menciptakan BufferedReader
// object InputStreamReader
// yang mengonversi bute ke
// karakter stream.
BufferedReader bfn =
new BufferedReader(new InputStreamReader(System.in));
// Menerima nilai input dari
// pengguna.
System.out.println("Enter String : ");
System.out.println("Enter Integer : ");
// String melakukan pembacaan
// secara internal.
String str = bfn.readLine();
// Ineger melakukan pembacaan
// secara internal.
int it = Integer.parseInt(bfn.readLine());
// Mencetak nilai string.
System.out.println("Entered String : "
+ str);
// Mencetak nilai integer.
System.out.println("Entered Integer : "
+ bfn);
}
}
Input:MKN
123
Output:
Enter String :
Enter Integer :
Entered String : MKN
Entered Integer : 123
Scanner: Merupakan fungsi yang lebih tinggi dari versi BufferedReader yang telah ditambahkan pada program Java versi terbaru, dimana fungsi Scanner dapat membaca format input. Fungsi ini memiliki fungsi yang berbeda bergantung pada tipe data yang digunakan.
Penggunaan Scanner adalah lebih mudah daripada BufferedReader, karena tidak perlu melakukan penulisan throws jika tidak terdapat exception thrown pada kode programnya. Fungsi ini memiliki fungsi predefinisi yang mampu membaca nilai dari tipe data Integer, Character, dan tipe data lainnya juga.
Sintak Scanner: Scanner scn = new Scanner(System.in);
Sintak Impor Scanner Class: import java.util.Scanner;
Fungsi Inbuilt Scanner:
- Integer: nextInt()
- Float: nextFloat()
- String : readLine()
Catatan: Pada kondisi dimana integer dan string adalah Scanner, maka tidak diperlukan parsing seperti yang dilakukan pada BufferedReader.
Contoh:
// Program Java memperlihatkan
// cara mengambil nila input
// dari pengguna menggunakan
// class Scanner.
import java.util.*;
class MKN {
public static void main( String[] args )
{
// Definisi Scanner
Scanner scn= new Scanner(System.in);
// Nilai input adalah string
// yang dibaca oleh fungsi
// nextLine().
String str= scn.nextLine();
// Mencetak nilai string.
System.out.println("Entered String : "
+ str);
// Menginput nilai integer
// yang dibaca menggunakan
// fungsi nextInt().
int x= scn.nextInt();
// Mencetak nilai integer.
System.out.println("Entered Integer : "
+ x);
// Mengin nilai float yang
// dibaca oleh fungsi
// nextFloat().
float f = scn.nextFloat();
// Mencetak nilai float.
System.out.println("Entered FloatValue : "
+ f);
}
}
Input:MKN
123
123.090
Output:
Entered String : MKN
Entered Integer : 123
Entered FloatValue : 123.090
Perbedaan Antara BufferedReader dan Scanner
Berikut adalah perbedaan penggunaan antara BufferedReader dan Scanner:
- BufferedReader adalah cara dasar untuk menerima nilai input yang umumnya digunakan untuk membaca nilai stream dari suatu karakter. BufferedReader memberikan batasan akhir dari Scanner yang penggunaannya lebih cepat, karena Scanner sendiri membutuhkan lebih banyak post-processing untuk melakukan proses parsing input.
- BufferedReader lebih fleksibel jika dilakukan spesifikasi ukuran dari input stream untuk dilakukan proses pembacaan data, dimana kedua faktor yang telah dijelaskan tersebut berperan ketika dilakukan proses pembacaan data dalam ukuran yang besar.
- BufferedReader lebih disukai karena lebih mudah disinkronkan ketika menangani banyak kondisi stream.
- Sedangkan untuk input yang layak, atau yang lebih mudah dibaca, maka Scanner lebih disukai daripada BufferedReader.
Tidak ada komentar
Hubungi admin melalui Wa : +62-896-2514-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 -