Tuesday, December 26, 2017

Input dengan menggunakan kelas "BufferedReader, input dari keyboard" dan perbedaan "Scanner, BufferedReader, dan GUI" || Bahasa Pemrograman


Mendapatkan Input Dengan Menggunakan Kelas BufferedReader


Sintaks untuk menggunakan class BufferedReader adalah sebagai berikut:
 BufferedReader DataIn = new BufferedReader (new InputStreamReader(System.in));
Pada class BufferedReader juga terdapat fungsi untuk menerima inputan dari keyboard yaitu dengan fungsi readLine().
Untuk menggunakan BufferedReader perlu diimportkan terlebih dahulu library berikut agar berjalan dengan sempurna:
·                     import java.io.BufferedReader;
·                     import java.io.InputStreamReader;
·                     import java.io.IOException;
Contoh Programnya:



Berikut penjelasan setiap baris code progranya:

- Statement
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

menjelaskan bahwa kita akan menggunakan kelas BufferedReader, InputStreamReader dan IOException yang berada pada java.io package. Java Application Programming Interface (API) sudah berisi ratusan kelas yang bisa digunakan untuk program anda.Kelas-kelas tersebut dikumpulkan kedalam packages.

Packages memiliki kelas yang mempunyai fungsi yang saling berhubungan. Seperti pada contoh diatas, java.io packages mengandung kelas-kelas yang memungkinkan program untuk melakukan input dan output data. Statement diatas juga dapat ditulis,


                                                       import java.io.*;


yang akan mengeluarkan semua kelas yang berada pada paket dan kita dapat menggunakannya dalam program.


- Statement selanjutnya


 public class ContohBufferedReader{
     public static void main (String [] args){
Statement ini menyatakan bahwa kita mendeklarasikan sebuah class bernama ContohBufferedReader dan kita mendeklarasikan main method.

- Statement Selanjutnya


 BufferedReader DataMasuk = new BufferedReader (new InputStreamReader(System.in));
Statement ini menyatakan bahwa kita mendeklarasikan sebuah variable  bernama DataMasuk dengan tipe kelas BufferedReader.

- Selanjutnya


 String Nama = "";
Statement diatas merupakan tempat untuk menyimpan input dari user.

- Selanjutnya


 System.out.print ("Masukan Nama Anda : "); 
Baris diatas adalah memberikan output string pada layar.

- Baris try-catch block


        try {

            Nama = DataMasuk.readLine();
        }
        catch(IOException e){
            System.out.println("Error!");
        }

- Selanjutnya statement

  Nama = DataMasuk.readLine();
method diatas memanggil DataMasuk.readLine(), mendapatkan input dari user dan memberikan sebuah nilai String.Nilai akan disimpan pada varabel Nama, yang akan kita gunakan pada statement akhir untuk menyambut user,

 System.out.println("Halo " + Nama +"!");

class BufferedReader yang berada pada paket java.io untuk menangai input dari keyboard. Input ini bersifat konsole karena tidak menampilkan Graphic User Interface ketika program input dijalankan.  Contoh programnya seperti ini 

01
import java.io.BufferedReader;
02
import java.io.IOException;

03
import java.io.InputStreamReader;
04


05
public class InputBuffer
06
{

07
public static void main(String[] args) {
08


09
BufferedReader input= new BufferedReader(new InputStreamReader(System.in)) ;
10


11
String nama = "";
12
String alamat = "" ;

13
String jurusan = "";
14
System.out.println("===== Blangko Biodata =====");

15

16
try

17
{
18
System.out.print("Nama    : ");

19
nama = input.readLine() ;
20
System.out.print("Alamat  : ");

21
alamat = input.readLine() ;
22
System.out.print("Jurusan : ");

23
jurusan = input.readLine() ;
24
}

25
catch(IOException e)
26
{

27
System.out.println("Gagal" + e);
28
}

29

30
System.out.println("");

31
System.out.println("===== BIODATA =====");
32
System.out.println("Nama : " + nama);

33
System.out.println("Nama : " + alamat);
34
System.out.println("Nama : " + jurusan);

35

36
}

37

38
}

Output :



Apa fungsi kelas BufferedReader ?

Berfungsi sebagai mediasi atau sarana agar mendapatkan input-an melalui keyboard yang di-input oleh User. Tampilan menggunakan mode CONSOLE 

Dimanakah letak dari kelas BufferedReader ?
Terletak di dalam java.io package

Apa yang dimaksud dengan Package ?
Package di dalam bahasa pemrograman java dapat diartikan sebagai wadah atau tempat kumpulan dari bermacam-macam kelas yang terdapat pada pemrograman java yang dapat dengan mudah dipergunakan untuk proses peng-input-an data secara interface ( API = Application Programming Interface )

 BufferedReader  adalah sebuah class di java yang tepatnya terdapat pada package java.io. Untuk mengakses class BufferedReader pertama-tama kita harus memanggilnya terlebih dahulu dengan cara sebagai berikut :

1. Tambahkan di bagian paling atas code dengan :
       import java.io.*;
     yang dimaksud dengan asteriq(*) adalah memanggil semua class yang    terdapat pada class io.

2. Setelah kita selesai dengan dengan menambahkan code diatas kita harus   membuat statement seperti berikut :
    BufferedReader ml = new BufferedReader(new InputStreamReader(System.in))

3. Setelah menambahkan statement diatas kita segera membuat blok-catch untuk menangkap input.
try {
String x = dataIn.readLine();
}catch(IOException e){
System.out.println(e);
}
Saya rasa penjelasan mengenai BufferedReader sudah sangat cukup untuk itu sekarang saya akan memberikan contoh program sederhana dengan hasil compile seperti pada gambar dibawah.
source code : Menggunakan BufferedReader, tanyakan  kata dari user dan tampilkan output dari input user tersebut ke layar
import java.io.BufferedReader;
import 
java.io.InputStreamReader;
import 
java.io.IOException;
public class GetInputFromKeyboard
{
public static void main(String[] args){
BufferedReader dataIn = new BufferedReader (new InputStreamReader(
System.in));
String name = “”;
System.out.println(“Please Enter Your Name:”);
try{
name = dataIn.readLine();
}catch(IOException e){
System.out.println(“Error!”);
}
System.out.println(“Helllo ” + name + “!”);
}
}


namai program dengan GetInputFromKeyboard.java,kemudian dicompile. dan hasil compile akan seperti gambar dibawah :



Untuk yang bagian kedua, gak ketemu
Tambahan:
Input Dari Keyboard


Pada Java terdapat beberapa cara yang dapat dilakukan untuk mendapatkan masukan dari keyboard, diantaranya yaitu menggunakan:

1.                    Kelas Scanner

2.                    Kelas BufferedREader

3.                    GUI (Graphical User Interface) JOptionPane



Perbedaan Scanner, BufferedReader dan GUI

·                     Untuk Scanner, ketika ada perhitungan matematika, maka variabel yang akan digunakan dalam perhitungan tidak perlu di konversikan lagi, bisa langsung dihitung.
·                     Lain halnya dengan fungsi (InputStreamReader + BufferedReader) yang perlu dikonversikan terlebih dahulu sebelum dilakukan perhitungan matematika pada variabel yang akan digunakan.
·                     JOptionPane yang merupakan packages dari javax.swing, digunakan untuk input dan output data berbasis GUI swing. Tampilannya memudahkan pengguna karena berupa dialog box.