Gabung Ke Forum Saya Di 4KA01

STREAM DAN OOP

Stream 
Stream adalah representasi abstrak dari input dan output device dimana aliran data bytes akan ditransfer seperti file dalam harddisk, file pada system remote atau printer.   Kita dapat membaca data dari input stream, yang dapat berupa file,keyboard, atau computer remote. Sedangkan untuk operasi penulisan berarti kita menulis data pada output stream. 


Package java.io mendukung dua tipe stream, yaitu binary dan karakter stream.   Binari merupakan data berupa bit atau data binary, sedangkan karakter adalah tipe khusus untuk pembacaan dan penulisan teks/karakter. 


Kemampuan untuk memproses output dalam Java dakam bentuk byte atau bytestream diwakili oleh class abstrak OutputStream sedangkan input diwakili class InputStream.   Apabila kita memproses data karakter(karakter Unicode) atau disebut character stream seperti string atau bilangan maka Java menyediakan class abstrak Reader dan Writer. 



InputStream 
Subclass-subclass dari InputStream adalah : 
AudioInputStream,ByteArrayInputStream, FileInputStream, FilterInputStream,  PipedInputStream, SequenceInputStream, dan StringBufferInputStream. 
 
Dua method utama dari Input Stream adalah : 
  read() :  digunakan untuk membaca stream 
  close() : digunakan untuk menutup koneksi input stream 

OutputStream 
Subclass-subclass dari OutputStream adalah : 
  ByteArrayOutputStream : untuk menuliskan stream menjadi byte array 
  FileOutputStream : digunakan untuk menulis pada file 
  FilterOutputStream : merupakan superclass dari subclass-subclass seperti DataOutputStream,  
    BufferOutputStream, PrintStream, CheckedOutputStream. 
  ObjectOutputStream : digunakan untuk menuliskan objek pada OutputStream 
  PipedOutputStream : digunakan untuk menjadi output PipedOutputStream Sebagian method-method 

OutputStream adalah : 
  void close() : Menutup output stream yang aktif dan melepaskan sumber daya terkait dengan stream 
    tersebut 
  void flush() :  Melakukan flush  output  stream  dan  memaksa semua byte buffer untuk
dituliskan keluar
  void write(byte[] b) : menulis sebanyak b.length dari byte array ke output stream 
  void write(byte [] b, int off, int len) : Menuliskan sebanyak len byte dari byte array b dimulai dari index offf 

DataOutputStream 
DataOutputStream merupakan class yang menyediakan cara praktis untuk menuliskan tipe data primitive ke output stream, sedangkan DataInputStream berfungsi untuk membaca hasil penulisan DataOutputStream atau mendapatkan data kembali. 

Sebagian method DataOutputStream : 
  writeDouble : menuliskan data bertipe double ke output stream 
  writeInt : menuliskan data Integer ke output stream 
  writeBoolean : menuliskan data Boolean ke output stream 
  writeUTF : menuliskan data string menggunakan encoding UTF-8 yang tidak tergantung pada mesin 

DataInputStream 
DataInputStream  berfungsi  untuk  saling  melengkapi  dengan  DataOutputStream,  yaitu  untuk mendapatkan data yang ditulis dengan DataOutputStream. 
 
Tipe  data  primitive   yang   ditulis   oleh   DataOutputStream   didapatkan   kembali   dengan DataInputStream dengan tidak bergantung pada mesin computer. 
Sebagian method DataInputStrean : 
  readDouble() 
  readInt() 
  readBoolean() 
  readUTF() 

BufferedInputStream dan BufferedOutputStream 
BufferedInputStream  maupun  BufferedOutputStream menyediakan  fungsi  buffer  dalam  proses output dan input untuk mempercepat dan mengefisienkan proses 

Kedua class ini biasanya digunakan secara bersamaan dengan implementasi class output dan input stream lain seperti DataOutputStream, DataInputStream, FIleOutputStream dan FileInputStream atau yang lain.  Kedua class ini menjadi semacam penengah yang menyediakan proses buffering 

FileInputStream dan FIleOutputStream 
Seringkali proses input dan output yang kita lakukan menggunakan file sebagai sarana penulisan maupun pembacaan data. 

Oleh karena itu kita akan membahas class FileInputStream untuk membaca data dari file dan FIleOutputStream untuk menuliskan data ke file. 

Class   FileInputStream   merupakan  turunan  langsung  dari  class  InputStream  sedangkan FileOutputStream merupakan turunan langsung dari class OutputStream. 

Contoh dibawah akan mencoba mendeskripsikan sample penggunaan class DataOutputStream, DataInputStream, FileOutputStream, FileOutputStream, serta BufferedInputStream dan BufferedOutputStream.

//Nama File cobaDataStream.java
import java.io.*;
public class cobaDataStream{
public static void main(String args[])
{
     try {
       DataOutputStream out2 =
        new DataOutputStream(
          new BufferedOutputStream(
          new FileOutputStream("Data.txt")));
       out2.writeDouble(3.14159);
       out2.writeDouble(1.41413);

out2.writeInt(2002);
out2.writeInt(1003);      
out2.writeBoolean(true);
out2.writeBoolean(false);
       out2.close();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
       DataInputStream in5 =
        new DataInputStream(
          new BufferedInputStream(
            new FileInputStream("Data.txt")));
System.out.println(in5.readDouble());   
System.out.println(in5.readDouble());   
System.out.println(in5.readInt());
System.out.println(in5.readInt());
boolean status = in5.readBoolean();
boolean status1 = in5.readBoolean();
System.out.println(status);
System.out.println(status1);
      } catch(EOFException e) {
      System.err.println("End of stream");
      } 
      catch(IOException io)
       {
io.printStackTrace();
}
      }
}

Karakteristik OOP 
1.  Enkapsulasi(Pembungkusan) 
Enkapsulasi  adalah  pelindung  program  dan  data  yang  sedang  diolah.    Enkapsulasi mendefinisikan  perilaku  dan  melindungi  program  dan  data  agar  tidak  diakses  secara sembarangan oleh program lain. 

Dalam Java, dasar enkapsulasi adalah class.   Anda membuat suatu class yang menyatakan bahwa variable atau  method sebuah class tidak  dapat  diakses  oleh  class  lain  dengan menjadikan class tersebut private, atau menjadikan class tersebut protected - yaitu hanya bisa diakses oleh turunannya, atau menjadikan class tersebut public - yaitu bisa diakses oleh sembarang class. 

2.  Inheritansi 
Objek-objek yang berada di sekitar kita adalah objek-objek yang saling terhubung secara hirarkis. Misalnya : 

0 Komentar: