Rabu, 14 Maret 2012

Stream Pada Java

  1. Pengertian Stream
Program Java melakukan proses input/output melalui stream. Apa itu stream?...Stream adalah sebuah abstraksi yang dapat memberikan atau mendapatkan informasi. Terdapat dua macam tipe stream, yaitu stream byte dan stream karakter.
Stream byte digunakan untuk memberikan atau menyimpan informasi data dalam bentuk byte. Misalnya untuk menulis dan membaca file biner. Sedangkan stream karakter digunakan untuk melakukan proses I/O yang melibatkan data-data dalam bentuk karakter. Misalnya pada saat melakukan proses baca atau tulis ke file teks.


Stream didefinisikan dengan menggunakan empat kelas abstrak, yaitu: InputStream, OutputStream, Reader, dan Writer. Kelas InputStream, OutputStream merupakan kelas abstrak yang dirancang sebagai kelas induk (superclass) untuk kelas-kelas yang termasuk kategori stream byte. Sedangkan kelas Reader dan Writer merupakan kelas abstrak yang akan diturunkan menjadi kelas-kelas baru yang termasuk dalam streamkarakter.
Melalui pewarisan (inheritance) semua kelas yang diturunkan dari InputStream dan Reader akan memiliki method read( )yang berguna untuk proses pembacaan data. Sedangkan OuputStream maupun Writerakan digunakan untuk proses penulisan data.
  1. Stream Byte
Stream byte didefinisikan dengan menggunakan dua buah hirarki kelas, yaitu InputStream dan OutputStream. Daftar beberapa kelas dalam paket java.io yang termasuk dalam kategori stream bytediantaranya adalah
Nama Kelas
Keterangan
BufferedInputStream
Stream input yang telah ter-buffer
BufferedOutputStream
Stream output yang telah ter-buffer
ByteArrayInputStream
Stream input yang membaca dari array byte
ByteArrayOutputStream
Stream output yang menulis ke array byte
DataInputStream
Stream input yang berisi method-method untuk membaca tipe data standar yang terdapat dalam java
DataOutputStream
Stream output yang berisi method-method untuk menulis tipe data standar yang terdapat dalam java

    1. Stream Karakter
Stream karakter juga berbasis pada dua buah kelas yaitu Reader dan Writer.
Berikut beberapa kelas dalam paket java.io yang termasuk dalam kategori stream karakter.
BufferedReader
Stream karakter input yang telah ter-buffer
BufferedWriter
Stream karakter output yang telah ter-buffer
CharArrayReader
Stream input yang membaca dari array karakter
CharArrayWriter
Stream output yang menulis ke array karakter
InputStreamReader
Stream input menerjemahkan byte ke karakter
OutputStreamWriter
Stream output yang menerjemahkan karakter ke byte

  1. Melakukan Input data Karakter, String, dan Numerik
2.1. Input data berupa karakter
Gunakan method read ( ) yang terdapat dalam kelas BufferedReader. Method read dideklarasikan sebagai berikut:
int read ( ) throws IOException


Contoh program

Bagaimana hasilnya?...
2.2. Input data berupa String
Untuk membaca input berupa string digunakan method readLine ( ) .
Method readLine dideklarasikan sebagai berikut
String readLine ( ) throws IOException






Java mempunyai kelas JoptionPane yang mempunyai metode statis untuk membuat dialog standar.
showInputDialog (Object Message)



Ketikkan contoh program di atas dan buat resume tentang program tersebut.

2.3. Input data berupa Numerik
U
bilangan = Integer.parseInt(temp);
ntuk membaca input (melakukan input data) berupa numerik adalah sama pada saat melakukan input data berupa string, kemudian string hasil input tersebut dikonversikan ke tipe numerik. Format penulisan metode untuk membacanya adalah:
bilangan merupakan variabel untuk menyimpan hasil konversi String ke bil.bulat.
  1. Input data bilangan bulat (integer).
Mula-mula input data dianggap sebagai String, selanjutnya setelah input ditangkap maka nilainya dikonversi ke bil.bulat, dengan menggunakan method parseInt( ). Parameter yang dilewatkan ke dalam methodparseInt( ) harus bertipe String.
Proses konversi di atas berada dalam blok try-catch. Hal ini dilakukan untuk mendeteksi kesalahan misalnya user dalam memasukkan data string yang tidak dapat dikonversi ke bilangan bulat. Apabila ada kesalahan, maka eksepsi NumberFormatException akan dibangkitkan.
  1. Input data bilangan riil (floating point)
Untuk input bilangan riil, digunakan method parseDouble ( ) yang berada di kelas Double. Parameter yang dilewatkan juga harus bertipe string. Berikut contohnya:

1 komentar: