MENU, PROGRAM DAN SUBPROGRAM
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
@2,(80-LEN(JUDUL))/2 SAY JUDUL
@ 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
ENDIF
FIND & VNO_INDUK
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 “
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 “@!”
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:










0 komentar:
Posting Komentar