Selasa, 26 Juli 2011

Ordinary Data

source : tesis JM.Parenreng

2.1.1        Ordinary Data
Ordinary data atau Ordinal data (Wales, 2009) adalah tipe data dengan nilai-nilai properti yang dapat dihitung. Artinya, nilai-nilai yang dapat diletakkan satu per satu dan saling berkorespondensi dengan bilangan bulat positif. Sementara nilai-nilai yang sering diimplementasikan sebagai bilangan bulat (atau jenis yang sama seperti byte). Konsepnya dapat dicontohkan seperti berikut :
  1. Sistem file yang berupa data hanya dikenal dalam bentuk byte (1 byte = 8 bit) yang artinya terdiri dari sejumlah bit-bit file ketika file itu akan dikirim dan di baca kembali.
  2. Proses penulisan BitOutputStream memiliki outputStream yang digunakan untuk menulis byte, yakni pengguna menulis bit ke BitOutputStream, dan BitOutputStream menulis byte ke outputStream.
  3. Setiap BitOutputStream memiliki stream untuk menulis byte, dan buffer yang bernilai satu byte. Proses penulisan bit digambarkan sebagai berikut (Travis 1997).
Gambar 2.1. Penulisan Bit ke Buffer

  1. Setelah 8 bit maka buffer penuh sehingga tidak ada lagi bit yang bisa di simpan.
  2. Selanjutnya BitOutputStream menuliskan byte penuh ke OutputStream.
Gambar 2.2. Buffer menuliskan byte stream secara penuh ke OutputStream

  1. Buffer di kosongkan, dan kursor mereset setelah proses penulisan ke OutputStream.
  2. Demikian proses ini berulang sampai semua data tertuliskan. Selanjutnya dilakukan proses pembacaan lagi terhadap bit data.
  3. Proses pembacaan bit stream, seperti halnya BitOutputStream. BitInputStream juga memiliki inputStream dan memiliki buffer.
  4. Yang perlu diketahui adalah InputStream di tampilkan setelah dilakukan pengisian data. Ini dikarenakan InputStream adalah sumber bit untuk BitInputStream. Dan jumlah data tergantung pada isi dari InputStream.
  5. Saat pertama kali pemanggilan user melalui metode readBit(), tidak ada bit dalam buffer. Sehingga  BitInputStream pertama kali harus membaca byte tunggal dari InputStream dan menyimpannya ke buffer.
Gambar 2.3. Pengisian Buffer sebelum pembacaan bit, dari InputStream.

  1. Selanjutnya buffer berisikan beberapa bit dan mengeluarkannya satu per satu berdasarkan pemanggilan. Yang perlu diketahui adalah posisi kursor berikutnya. Dan ini berlanjut sampai semua data terbaca dengan pemanggilan readBit() secara berulang-ulang.
  2. Demikian seterusnya, kemudian berpindah ke byte berikutnya dengan memanfaatkan readBit().
Gambar 2.4. Pengisian Buffer dari InputStream ke Buffer