1. Pemeliharaan File
Pemeliharaan integritas basis data dalam aplikasi
a. Sebagai sarana untuk meyakinkan bahwa nilai-nilai data dalam sistem basis data selalu benar, konsisten, selalu tersedia. Dapat dilakukan dengan cara:
1. Pastikan bahwa nilai-nilai data adalah benar sejak dimasukkan pertama kali
2. Membuat program untuk mengecek keabsahan data pada saat dimasukkan ke komputer
b. Penolakan atau pembatalan aksi (cancelation) c. Pengisian nilai kosong pada field tertentu (nullify) d. Penjalaran perubahan (cascade)
e. Integritas yang harus dijaga:
1. Integritas keunikan data, dilakukan melalui:
a. Pendefinisian struktur tabel dengan membuat indeks primer yang bersifat unik b. Pengkodean di dalam aplikasi pada saat pemasukkan atau penambahan data
dengan jalan lebih user-friendly
c. Kedua cara (i) dan (ii) diterapkan bersama-sama 2. Integritas domain data, dilakukan melalui:
a. Penetapan tipe data pada setiap field di dalam tabel b. Pengisian validation rule dari DBMS
3. Integritas referensial (relasi antar tabel)
a. Harus selalu dijaga, karena kesalahan referensial dapat menimbulkan kesalahan baru dalam basis data
b. Dilakukan pengecekan pada proses penambahan, pengubahan, dan penghapusan data
4. Integritas aturan nyata
a. Sifatnya sangat kasuistis, tidak berlaku umum. Pada kasus yang berbeda, aturannya bisa berbeda pula
b. Untuk mengakomodasi adanya business role ini, dengan menyiapkan tabel khusus yang menampung nilai-nilai konstanta yang dibutuhkan aplikasi pada saat dijalankan yang mudah diubah tanpa mengakibatkan perubahan aplikasi maupun struktur basis data
2. Program Tambah, Program Ubah, Program Hapus, Program Lihat, dan Program Cetak Contoh Program Menu
Program:
SET TALK OFF SET STATUS OFF SET MENU OFF SET DELI ON SET DELI TO ’[ ]’ PUBLIC BLOK
BLOK = REPLICATE(CHR(177),80) CLEAR
JUDUL = “PROGRAM ISI DATA MAHASISWA “ DO WHILE .T.
PIL = 0 CLEAR
@ 4,0 SAY BLOK @ 23,0 SAY BLOK
@ 6,20 SAY “ 1. ISI DATA MAHASISWA” @ 8,20 SAY “ 2. UBAH DATA MAHASISWA“ @ 10,20 SAY “3. HAPUS DATA MAHASISWA” @ 12,20 SAY “4. CETAK DATA MAHASISWA” @ 14,20 SAY “5. SELESAI”
@ 17,20 SAY “PILIHAN ANDA [1-5] : “GET PIL PICT “99” READ DO CASE CASE PIL=1 DO ISIDAT.PRG CASE PIL=2 DO UBDAT.PRG CASE PIL=3 DO HPSDAT.PRG CASE PIL=4 DO CETAK.PRG CASE PIL=5 CLOSE DATABASE EXIT OTHERWISE
@22,20 SAY “ANDA SALAH PILIH, ULANGI !” SET CONSOLE OFF
WAIT SET CONSOLE ON @ 22,20 SAY SPACE(30) LOOP ENDCASE ENDDO
Contoh Program Isi Data Program:
SET TALK OFF SET STATUS OFF SET DATE BRITISH
USE MAHASISWA INDEX MAHASISWADX JUDUL1 = “ISI DATA MAHASIWA “ DO WHILE .T.
STORE SPACE(15) TO VNM_SISWA,VALAMAT STORE SPACE(8) TO VNO_INDUK
STORE SPACE(10) TO VKOTA
STORE CTOD(“ / / “) TO VTGL_LAHIR CLEAR
@ 2,(80-LEN(JUDUL))/2 SAY JUDUL1 @4,0 SAY BLOK
@ 23,0 SAY BLOK
@5,20 SAY “NOMOR INDUK SISWA : “ GET VNO_INDUK ; PICT “XXXXXXXX” READ
IF VN0_INDUK = SPACE(8) RETURN
IF FOUND()
@22,20 SAY “DATA SUDAH ADA, TEKAN ENTER” SET CONS OFF
WAIT
SET CONS ON LOOP
ENDIF
@ 7,20 SAY “ NAMA MAHASISWA : “ GET VNM_SISWA PICT “@! ” @ 9,20 SAY “ TANGGAL LAHIR : “ GET VTGL_LAHIR ; PICT “XX/XX/XX ” @ 11,20 SAY “ ALAMAT MAHASISWA : “GET VALAMAT PICT “@! ” @ 13,20 SAY “ KOTA : ” GET VKOTA PICT “@!”
READ
JAWAB = SPACE(2)
@ 17,20 SAY DATA SUDAH BENAR[Y/T] : “ GET JAWAB PICT “@!” READ
IF JAWAB =”Y”
* MEMESAN DATA BARU APPEND BLANK
REPLACE NO_INDUK WITH VNO_INDUK REPLACE NM_SISWA WITH VNM_SISWA REPLACE TGL_LAHIR WITH VTGL_LAHIR REPLACE ALAMAT WITH VALAMAT RELPLACE KOTA WITH KOTA ENDIF
CLEAR GET
JAWAB2=SPACE(2) @ 17,20 SAY SPACE(40)
@ 17,20 SAY “INGIN ISI DATA LAGI?[Y/T] : “ GET JAWAB2 PICT “@!” READ IF JAWAB2= “T” EXIT ENDIF @ 17,20 SAY SPACE(40) ENDDO RETURN
Contoh Program Ubah Data Program:
SET TALK OFF SET STATUS OFF SET DATE BRITISH
USE MAHASISWA INDEX MAHASISWADX JUDUL2 = “UBAH DATA MAHASIWA “ DO WHILE .T.
STORE SPACE(15) TO VNM_SISWA,VALAMAT STORE SPACE(8) TO VNO_INDUK
STORE SPACE(10) TO VKOTA
STORE CTOD(“ / / “) TO VTGL_LAHIR CLEAR
@ 2,(80-LEN(JUDUL))/2 SAY JUDUL2 @4,0 SAY BLOK
@ 23,0 SAY BLOK
@5,20 SAY “NOMOR INDUK SISWA : “ GET VNO_INDUK ; PICT “XXXXXXXX” READ
IF VN0_INDUK = SPACE(8) RETURN
ENDIF
FIND & VNO_INDUK IF .NOT. FOUND()
@22,20 SAY “DATA TIDAK ADA, TEKAN ENTER” SET CONS OFF
WAIT
SET CONS ON LOOP
ENDIF
STORE NM_SISWA TO VNM_SISWA STORE TGL_LAHIR TO VTGL_LAHIR STORE ALAMAT TO VALAMAT STORE KOTA TO VKOTA
@ 7,20 SAY “ NAMA MAHASISWA : “ GET VNM_SISWA PICT “@! ” @ 9,20 SAY “ TANGGAL LAHIR : “ GET VTGL_LAHIR ; PICT “XX/XX/XX ” @ 11,20 SAY “ ALAMAT MAHASISWA : “GET VALAMAT PICT “@! ” @ 13,20 SAY “ KOTA : ” GET VKOTA PICT “@!”
READ
JAWAB = SPACE(2)
@ 17,20 SAY DATA SUDAH BENAR[Y/T] : “ GET JAWAB PICT “@!” READ
IF JAWAB =”Y”
REPLACE NO_INDUK WITH VNO_INDUK REPLACE NM_SISWA WITH VNM_SISWA REPLACE TGL_LAHIR WITH VTGL_LAHIR REPLACE ALAMAT WITH VALAMAT RELPLACE KOTA WITH KOTA ENDIF
CLEAR GET
JAWAB2=SPACE(2) @ 17,20 SAY SPACE(40)
@ 17,20 SAY “INGIN UBAH DATA LAGI?[Y/T] : “ GET JAWAB2 PICT “@!” READ IF JAWAB2= “T” EXIT ENDIF @ 17,20 SAY SPACE(40) ENDDO RETURN
Contoh Program Hapus Data Program:
SET TALK OFF SET STATUS OFF SET DATE BRITISH
USE MAHASISWA INDEX MAHASISWADX JUDUL3 = “HAPUS DATA MAHASIWA “
STORE SPACE(15) TO VNM_SISWA,VALAMAT STORE SPACE(8) TO VNO_INDUK
STORE SPACE(10) TO VKOTA
STORE CTOD(“ / / “) TO VTGL_LAHIR CLEAR
@ 2,(80-LEN(JUDUL))/2 SAY JUDUL2 @4,0 SAY BLOK
@ 23,0 SAY BLOK
@5,20 SAY “NOMOR INDUK SISWA : “ GET VNO_INDUK ; PICT “XXXXXXXX” READ
IF VN0_INDUK = SPACE(8) RETURN
ENDIF
FIND & VNO_INDUK IF .NOT. FOUND()
@22,20 SAY “DATA TIDAK ADA, TEKAN ENTER” SET CONS OFF
WAIT
SET CONS ON LOOP
ENDIF
STORE NM_SISWA TO VNM_SISWA STORE TGL_LAHIR TO VTGL_LAHIR STORE ALAMAT TO VALAMAT STORE KOTA TO VKOTA
@ 7,20 SAY “ NAMA MAHASISWA : “ GET VNM_SISWA PICT “@! ” @ 9,20 SAY “ TANGGAL LAHIR : “ GET VTGL_LAHIR ; PICT “XX/XX/XX ” @ 11,20 SAY “ ALAMAT MAHASISWA : “GET VALAMAT PICT “@! ” @ 13,20 SAY “ KOTA : ” GET VKOTA PICT “@!”
CLEAR GET
JAWAB = SPACE(2)
@ 17,20 SAY DATA AKAN DIHAPUS[Y/T] : “ GET JAWAB PICT “@!” READ IF JAWAB =”Y” DELETE ENDIF CLEAR GET JAWAB2=SPACE(2) @ 17,20 SAY SPACE(40)
@ 17,20 SAY “INGIN HAPUS DATA LAGI?[Y/T] : “ GET JAWAB2 PICT “@!” READ IF JAWAB2= “T” PACK EXIT ENDIF @ 17,20 SAY SPACE(40) ENDDO RETURN
Contoh Program Cetak Data Program:
SET TALK OFF SET STATUS OFF SET DATE BRITISH
USE MAHASISWA INDEX MAHASISWADX GO TOP
JUDUL4= “CETAK DATA MAHASIWA “ GARIS = REPLICATE(“-“,80)
CLEAR
DO WHILE .T.
@ 2,(80-LEN(JUDUL))/2 SAY JUDUL4 @ 4,0 SAY BLOK
@ 23,0 SAY BLOK @ 6,0 SAY GARIS
@ 7,0 SAY “NOMOR NAMA TANGGAL ALAMAT KOTA” @ 8,0 SAY “INDUK SISWA LAHIR”
@ 9,0 SAY GARIS BARIS=10
@ BARIS,3 SAY NO INDUK PICT “XXXXXXXX” @ BARIS,13 SAY TRIM(NM_SISWA) PICT “@!” @ BARIS,28 SAY TGL_LAHIR PICT “XX/XX/XX” @ BARIS,40 SAY TRIM(ALAMAT) PICT “@!” @ BARIS,61SAY TRIM(KOTA) PICT “@!” SKIP IF EOF() EXIT ENDIF BARIS = BARIS + 1 ENDDO
@ BARIS+1,0 SAY GARIS
@ BARIS+2,30 SAY “DATA HABIS” SET CONS OFF
WAIT EXIT ENDDO RETURN
OUTPUT :
1. ISI DATA MAHASISWA 2. UBAH DATA MAHASISWA 3. HAPUS DATA MAHASISWA 4. CETAK DATA MAHASISWA
PILIHAN ANDA[1-5] :
Referensi:
http://yiswinilam.files.wordpress.com/2012/04/dbase_program_menu.pdf http://elista.akprind.ac.id/upload/files/6833_Diktat-SBD.doc