Konsep Sistem Informasi B
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 Pertemuan 9 ‐ Jeje, SKom, MMSI – Universitas Gunadarma
1
Konsep Sistem Informasi B @ 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 Pertemuan 9 ‐ Jeje, SKom, MMSI – Universitas Gunadarma
2
Konsep Sistem Informasi B 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 Pertemuan 9 ‐ Jeje, SKom, MMSI – Universitas Gunadarma
3
Konsep Sistem Informasi B @ 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 “ Pertemuan 9 ‐ Jeje, SKom, MMSI – Universitas Gunadarma
4
Konsep Sistem Informasi B 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
Pertemuan 9 ‐ Jeje, SKom, MMSI – Universitas Gunadarma
5
Konsep Sistem Informasi B 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. 2. 3. 4.
ISI DATA MAHASISWA UBAH DATA MAHASISWA HAPUS DATA MAHASISWA 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
Pertemuan 9 ‐ Jeje, SKom, MMSI – Universitas Gunadarma
6