Tutorial llmu llmu komputer dan download program gratis

Menghapus Data pada File dengan QBasic

Sebelum anda mempelajari kode berikut, anda harus sudah paham tentang input data dan tampil data pada Qbasic.

Menghapus data pada file dengan Qbasic memang sedikit berbeda. Dalam qbasic, tidak ada perintah delete atau sejenisnya untuk menghapus data. Untuk menghapus data kita harus sedikit berfikir yaitu dengan menggabungkan perintah pembacaan (GET) dan penyimpanan (PUT). Logikanya jika kita ingin menghapus salah satu data pada barang.txt (nama file bebas), maka kita harus membuat file baru (misalnya barang2.txt) untuk memindahkan file yang tidak ingin dihapus di barang.txt ke file barang2.txt. Kemudian kita menghapus file barang.txt dan mengganti nama barang2.txt menjadi barang.txt.

Bingung? Download saja programnya di sini.

Kode:


CLS

TYPE barang
   kode AS STRING * 5
   nama AS STRING * 15
   jenis AS STRING * 10
   harga AS LONG
   stok AS INTEGER
END TYPE

DIM kodecr AS STRING * 5
DIM SHARED brg AS barang
DIM SHARED panrec, jumrec AS INTEGER

CLOSE #1, #2
panrec = LEN(brg)
OPEN "d:\barang.txt" FOR RANDOM AS #1 LEN = panrec
OPEN "d:\barang2.txt" FOR RANDOM AS #2 LEN = panrec
jumrec = LOF(1) / panrec

COLOR 14

LOCATE 2, 10: PRINT "HAPUS DATA BARANG"

LOCATE 4, 2: INPUT "Masukkan Kode : ", kodecr

FOR i = 1 TO jumrec
   GET #1, i, brg
   IF UCASE$(brg.kode) = UCASE$(kodecr) THEN
      CLS
      LOCATE 2, 2: PRINT "KODE   : "; brg.kode
      LOCATE 3, 2: PRINT "NAMA   : "; brg.nama
      LOCATE 4, 2: PRINT "JENIS  : "; brg.jenis
      LOCATE 5, 2: PRINT "HARGA  : "; brg.harga
      LOCATE 6, 2: PRINT "NAMA   : "; brg.stok

      LOCATE 8, 2: INPUT "Hapus Data?(Y/T)", jawab$
      IF UCASE$(jawab$) = "Y" THEN
         FOR i = 1 TO jumrec
            GET #1, i, brg
            IF UCASE$(brg.kode) <> UCASE$(kodecr) THEN
               PUT #2, , brg
            END IF
         NEXT

         CLOSE #1, #2
         KILL "d:\barang.txt"
         NAME "d:\barang2.txt" AS "d:\barang.txt"

         CLS
         LOCATE 2, 2: PRINT "Data terhapus"
      ELSE
         CLS
         LOCATE 2, 2: PRINT "Data tidak jadi dihapus"
      END IF

      EXIT FOR

   ELSEIF i = jumrec THEN
      CLS
      LOCATE 2, 2: PRINT "Data tidak ditemukan"
   END IF
NEXT

Semoga bermanfaat

Share on Facebook
Share on Twitter
Share on Google+

Related : Menghapus Data pada File dengan QBasic

2 komentar:

  1. Kalau Edit data kira-kira gimana logikanya ya?

    thanks

    ReplyDelete
  2. Untuk edit kita lakukan pencarian terlebih dahulu untuk data yang ingin diedit, jika ketemu maka ditampilkan data yang dicari beserta konfirmasi apakah mau diedit, jika memilih iya maka isikan kode untuk input, perbedaannya pas menyimpan jangan pake PUT #1, jumrec + 1, brg, tapi pake PUT #1, i, brg supaya tidak menambah record baru melainkan mereplace record ke i(yang diedit). . .

    ReplyDelete

Silahkan kirimkan komentar atau merequest tutorial...