Laman

Clock

Minggu, 07 April 2013

Penggunaan Input Output Stream pada Java



Konsep aliran data yang dalam Java disebut dengan istilah Stream digunakan untuk menanganu perpindahan data dari memory ke device/bagian input/output dan sebaliknya. Konsep ini menganalogikan proses perpindahan data sebagai aliran air. Bila pada alian air, materi uang dipindahkan adalah air, maka pada aliran data, materi yang ditransfer adalah byte data. Dalam Java, proses transfer ini ditangani oleh package java.io
Ada berbagai jenis stream dalam java yang dipergunakan untuk keperluan yang berbeda-beda, namun pada pembahasan ini, hanya membahas penerimaan input dari pengguna.

Syntax import digunakan untuk mengimport/memasukan method-method dari class/library yang lain, sehingga method tersebut dapat digunakan pada class yang memanggilnya. Fungsi ini harus diletakan pada baris awal program.
Contoh: import java.io.*;
Perintah diatas digunakan untuk mengimport method-method java yang berkaitan dengan fungsi input dan output.

Import pada java serupa dengan perintah include pada bahasa C, atau perintah USES pada Pascal/Delphi.
Exception adalah kondisi yang menyebabkan program menjadi hang atau keluar (quit) dari alur normal yang telah ditentukan saat program dijalankan. Exception ini dipicu oleh Runtime Error, yaitu error yang terjadi pada saat program di exsekusi oleh interpreter.
Blok perintah yang digunakan untuk memproses bila terjadi exception adalah dengan menggunakan Keyword try – catch. Blok try akan mencoba memanggil statement-statement dari method yang dideklarasikan dengan exception, dan catch digunakan untuk memproses bila terjadi exception.
try
{
         //Statement-statement yang berpotensi menyebabkan exception
}
catch (Exception1 ex)
{
        // Blok yang menangani exception 1
}

Ada banyak exception dalam Java, dimana exception tersebut muncul sesuai dengan kesalahan method yang memanggilnya. Misalnya bila menggunakan integer untuk proses pembagian dengan hasil yang bukan berupa integer, akan menghasilkan ArithmeticException. IOException untuk exception yang berhubungan dengan Input dan Output, dan sebagainya.
Method-method dalam paket java.io (dan paket lainnya) biasanya akan menghasilkan sebuah exception tertentu pada saat di-compile. Oleh karena itu, kita perlu mengapit syntax program yang kita buat dengan blok try – catch, untuk menghindari error saat kompilasi.
import java.io.*;
class InputdrUser{
        public static void main(String args[]){
               try{
                       System.out.print("Nama :");
                       BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
                       String nama=bfr.readLine();
                       System.out.print("Semester :");
                       int semester=Integer.parseInt(bfr.readLine());
                       System.out.print("SKS :");
                       float bayar=Float.parseFloat(bfr.readLine());
                       System.out.println("Mahasiswa "+nama+", semester                     "+semester+", dengan SKS sebesar Rp."+bayar);
                       }catch (IOException io) {
                       System.out.print("Error :"+io.getMessage());
                       }  // end try - catch
               }  // end main
        }  // end class


Membuat Input-Output Dari Java

P.S. : Java adalah pemrograman yang CASE SENSITIVE artinya setiap huruf besar kecil yang kita tulis pada java sangat berpengaruh jadi kalian harus hati - hati ya dalam menulis kode java nya perhatikan besar kecilnya huruf

Ini adalah code dari Input-Output menggunakan Java :
1
2
3
4
5
6
7
8
9
10
import java.util.Scanner;
    public class InputOut {
         public static void main(String args[]) {
             Scanner masukan = new Scanner (System.in);
                String x;
                  System.out.print("Masukan Sebuah Kata : ");
                    x = masukan.next();
                  System.out.println("Kata Yang Anda Masukan Adalah : "+x);
         }      
    }

 Penjelasan nya ada di bawah ini :
import java.util.scanner = guna nya adalah untuk mengambil fungsi scanner pada java
public class InputOut { = mendeklarasikan class "InputOut" (harus ada dengan nama berbeda juga tidak apa - apa)
public static void main(String args[]) { = saya sendiri kurang tahu ini untuk apa mungkin untuk pendeklarasian dimulai code java
Scanner masukan = new Scanner (System.in);  = fungsi dari code ini adalah untuk pendeklarasian variable Scanner (variabel nya adalah "masukan" terserah anda bila ingin diganti tidak apa - apa)
String x; = pendeklarasian variable "x" yang dinilai (value) nya bergantung pada scanner
System.out.print("Masukan Sebuah Kata : ");  = code untuk membuat output pada java (seperti echo pada PHP)
x = masukan.next(); = memasukan nilai variabel "x" dari scanner
System.out.println("Kata Yang Anda Masukan Adalah : "+x); = code untuk membuat output pada java (seperti echo pada PHP)

Jika sudah selesai lihatlah, apa yang anda masukan akan di repeat oleh program keren kan? tunggu tutorial dari saya selanjutnya ya

P.S. / CATATAN :
Tipe data variabel diatas bisa diganti sesuai kebutuhan ini adalah contoh beberapa pendeklarasian tipe data pada variabel yang saya ketahui



Pada dasarnya semuanya sama, yaitu untuk menberikan inputan dan menampung hasil inputan tersebut.
Hanya perbedaannya adalah :
Kalau utnuk Scanner ketika ada perhitungan matematika, maka variable yang akan di gunakan dalam perhitungan tidak perlu di konfersikan lagi, bias langsung di hitung, lain halnya dengan fungsi (InputStreamReader + BufferedReader) yang perlu di konfersikan dahulu sebelum dilakukan perhitungan matematika pada variable yang akan digunakan.
Contoh Program :
Untuk Fungsi (InputStreamReader + BufferedReader)
import java.io.*;
class HitungLingkaran {
public static void main(String[] args) throws IOException {
InputStreamReader key = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(key);
String rad;
double rads, luas, kel, phi = 3.14;
System.out.print("Masukan Nilai Radius :");
rad = input.readLine();
rads = Double.parseDouble(rad);
luas = phi * rads;
kel = 2 * phi * rads;
System.out.println("Hasil Perhitungan");
System.out.println("Luas Lingkaran :" + luas);
System.out.println("Keliling Lingkaran :" + kel);
}
}
Penjelasan Program :
Untuk sebagian code program tentunya tidak perlu dijelaskan lagi karna sudah dijelaskan pada postingan sebelumnya.
import java.io.*;
Code di atas untuk menambahkan fungsi java.io yang diantaranya fungsi (InputStreamReader + BufferedReader)
InputStreamReader key = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(key);
Code di atas adalah pembuatan 2 buah objek baru bernama key dan input untuk menggantikan fungsi (InputStreamReader + BufferedReader)
rads = Double.parseDouble(rad);
Code di atas untuk untuk konversi dari variable rad dengan tipe data String ke variable rads dengan tipe data double, karna hasil inputan dengan variable rad itu akan dilakukan perhitungan, sehnigga perlu di konversikan dahulu.
Untuk Fungsi Scanner
import java.util.*;
class NilaiAkhir {
public static void main(String[] args) {
String nama;
int nuts,nuas,ntm,na;
Scanner input = new Scanner(System.in);
System.out.print("Masukan Nama Siswa :");
nama = input.nextLine();
System.out.print("Nilai UTS :");
nuts = input.nextInt();
System.out.print("Nilai UAS :");
nuas = input.nextInt();
System.out.print("Nilai Tugas Mandiri :");
ntm = input.nextInt();
na=nuts+nuas+ntm;
System.out.println("Nilai Murni Yang Diperoleh :");
System.out.println("Nilai Murni UTS :" + nuts);
System.out.println("Nilai Murni UAS :" + nuas);
System.out.println("Nilai Murni Tugas :" + ntm);
System.out.println("Nilai Akhir Yang Diperoleh Yaitu :" + na);
}
}
Penjelasan Program :
import java.util.*;
Code di atas untuk menambahkan fungsi java.util yang diantaranya fungsi Scanner
Scanner input = new Scanner(System.in);
Code di atas adalah pembuatan sebuah objek baru bernama input untuk menggantikan fungsi Scanner
na=nuts+nuas+ntm;
Lihat code di atas pada code program keseluruhan, sebelum melakukan perhitungan matematika, tidak ada pengkonversian sebelumnya, lain halnya dengan fungsi (InputStreamReader + BufferedReader) yang perlu di konversikan dahulu ketika di berikan perhitungan.
Silahkan amati kedua code program di atas dan akan tampak jelas perbedaannya.
Contoh lain :
import java.util.*;
class Konversi {
public static void main(String[] args) {
double cel,fah=1.8,rea=0.8;
Scanner input = new Scanner(System.in);
System.out.print("Masukan Nilai Derajat Celcius :");
cel = input.nextDouble();
fah=(cel*fah)+32;
rea=cel*rea;
System.out.println("Hasil konversi :");
System.out.println("Derajat Fahrenheit :" + fah);
System.out.println("Derajat Reamur :" + rea);
}
}


STREAM

1.Membaca Input Data Karakter

import java.io.*; //mengimpor atau memasukkan paket-paket yang disediakan

class InputKarakter
{
public static void main (String[] args) throws IOException
{
System.out.println(“Masukkkan sembarang karakter : ”);
char huruf;

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader( isr );

huruf = (char) br.read();

System.out.println(“Karakter masukkan “+ huruf);
}
}

2. Membaca Input Data String
import java.io.*;

class InputString
{
public static void main (String[] args) throws IOException
{
System.out.println(“Masukkkan sembarang kata : ”);
String kata;

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader( isr );

kata = br.readLine();

System.out.println(“Kata masukkan “+ kata);
}
}

3.Membaca Input Data Numerik
import java.io.*;

class InputNumerik
{
public static void main (String[] args) throws IOException
{
System.out.println(“Masukkkan sembarang bilangan : ”);
String angka;

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader( isr );

angka = br.readLine();
bil = Integer.parseInt(angka);

System.out.println(“Bilangan masukkan : “+bil);
}
}

EXCEPTION
Untuk materi bisa dilihat di sini
Contoh listing programnya:

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

public class contoh{
public static void main(String[] args){

try{ //Digunakan untuk menangkap exception.
InputStreamReader input = new InputStreamReader (System.in);
BufferedReader buf = new BufferedReader (input);

System.out.println(“Masukkan nama Anda!”);
String nama = buf.readLine();

System.out.println(“Masukkan tahun lahir Anda!”);
String strTahun = buf.readLine();
int tahun = Integer.parseInt(strTahun);
int umur = 2009 - tahun;

System.out.println(“Halo ”+nama+”, Umur Anda sekarang adalah “+umur+” tahun”);
}
catch (Exception ex){
System.out.println(“System ERROR”);
}
}
}
 

Sekian Artikel mengenai Penggunaan Input Output Stream pada Java ini, semoga bermanfaat bagi kita semua khususnya teman saya di kelas 11.8I.01.. :)

1 komentar: