Subscribe

Powered By

Free XML Skins for Blogger

Powered by Blogger

..:: Perbuatan yang baik selalu dihasilkan oleh pikiran yang baik::..

"Kegagalan bukanlah untuk ditangisi,tetapi untuk di insyafi.
Manakala kejayaan bukan untuk dimegahi,tapi untuk disyukuri!"

الأحد، 16 مارس 2008

PENGOLAHAN FILE BINARY

Selain pengolahan data Sequential dan Random, QBasic juga
menyediakan pengolahan yang bersifat Binary. Pada pengolahan yang
bersifat Binary, file dapat dibaca/ditulis secara per-Byte pada
posisi yang diinginkan, sehingga tidak terikat kepada urutan
maupun struktur data.

Pengolahan yang bersifat Binary banyak digunakan untuk keperluan-
keperluan khusus yang membutuhkan akses langsung ke satuan data
di tingkat Byte. Misalnya membuat program Enkripsi dan Dekripsi
file, pada proses Enkripsi, isi suatu file disandikan byte-per-
byte sehingga tidak dapat dikenali lagi secara normal oleh sistem
yang membuatnya. Agar isi file tersebut dapat dikenali kembali,
maka diperlukan proses Dekripsi yang mengembalikannya ke keadaan
semula.

Pengolahan yang bersifat Binary juga banyak digunakan pada
pembuatan program AntiVirus, Crack, Game Cheat yang membutuhkan
akses ke byte level.


1. Perintah membuka file Binary

Seperti pada pengolahan file umumnya, sebelum digunakan file
binary harus dibuka dengan perintah sebagai berikut :

OPEN namafile FOR BINARY AS [#]filenum

Contoh :

OPEN "Sandi.bin" FOR BINARY AS #1

Membuka file "Sandi.bin" untuk diolah secara binary sebagai file
nomor 1.


2. Mendapatkan jumlah byte pada file binary yang telah terbuka.

JlhByte = LOF(1)

Fungsi LOF (Length Of File) akan mengembalikan ukuran file binary
dalam ukuran byte.

Catatan : 1 KB = 1024 Byte, 1 MB = 1024*1024


3. Perintah input/output pada file Binary

Perintah menulis data

PUT [#]filenum[,posisi][,variable]

Contoh :

MyData = 10
PUT #1, 101, MyData

Menulis karakter ASCII 10 (line feed) pada posisi byte ke 101
dalam file nomor 1.

Contoh Lain :

Dim MyChar As String*1
MyChar = Chr$(10)
Put #1, 101, MyChar


Perintah membaca data

GET [#]filenum[,posisi][,variabel]

Contoh :

Dim MyChar As String*1
GET #1, 101, MyChar

Membaca data byte posisi ke dari file nomor 1 ke variabel
MyChar.


4. Perintah menutup file Binary

Setelah selesai digunakan, file Binary perlu ditutup untuk
memastikan semua data ditulis ke media penyimpanan, dan
memberikan indikator EOF.

Nb. Untuk mempercepat proses I/O, sistem operasi menyediakan
memory buffer sebagai tempat pembacaan dan penulisan sementara.
Perintah Close untuk memastikan semua data dari buffer benar-
benar ditulis ke media penyimpanan.

Contoh :

CLOSE #1

Menutup file binary nomor 1.

Contoh :

'Program Enkripsi dan Dekripsi dengan kunci NOT

DIM Source AS STRING
DIM Target AS STRING
DIM FSize AS LONG
DIM MyChar AS STRING * 1
CLS
PRINT "Program Enkripsi/Dekripsi Data"
PRINT "Menggunakan operator NOT"
PRINT "------------------------"
INPUT "Masukkan Source :", Source
INPUT "Masukkan Target :", Target

IF Source = Target THEN
PRINT "Nama file source tidak boleh sama dengan target"
ELSE
OPEN Source FOR BINARY AS #1 'Buka source sebagai 1
OPEN Target FOR BINARY AS #2 'Buka target sebagai 2

FSize = LOF(1) 'Mendapatkan ukuran file 1

FOR I = 1 TO FSize
GET #1, I, MyChar 'Baca byte posisi ke i
'dari source
MyChar = CHR$(255 - ASC(MyChar)) 'Enkripsi dengan NOT

PUT #2, I, MyChar 'Tulis ke posisi ke i
'Pada Target
NEXT I
CLOSE #1
CLOSE #2
PRINT
PRINT "Proses Selesai"
END IF
END


'Program Menghilangkan Password file *.Mdb Microsoft Access 97

Dim nama As String
Dim huruf As String*1

INPUT "Masukkan nama file :",nama

IF Dir$(nama) = "" THEN

PRINT "File ";nama;" tidak ada !"

ELSE
OPEN nama FOR BINARY AS #1

huruf = Chr$(134)
PUT #1, 66, huruf

CLOSE #1

PRINT "Password ";nama;" telah dihilangkan !"

END IF
END

ليست هناك تعليقات: