12 Mei 2009

Pemrog. Foxpro-P12

PERTEMUAN XII

MATAKULIAH : PEMROG. FOXPRO
KELAS : D3/MI/2A/P
MATERI : Program Transaksi (3 tabel)

Program transaksi adalah program transaksi dari 2 atau lebih table/database. Dalam program transaksi ini digunakan relasi.

Contoh :
Program transaksi input FRS dan input nilai mahasiswa
Untuk transaksi FRS dan nilai ini memerlukan :
•table mhs, field : (npm, nama, jurusan, jenkel, alamat, telp)
•mtkul field : (kdmk, namamk, sks)
•table nilai, field : (npm, kdmk, smt, statusmk, nabsen, nuts, nuas, ntgs, ntotal, ngrade)
Tugas : tipe data dan size tentukan sendiri !

12.1. INPUT FRS
Algoritma Program transaksi input FRS mahasiswa
•Persiapan (termasuk relasi file)
•Masukan npm
•Cari npm di table mahasiswa, tampilkan nama, jurusan
•Isi semester
•Masukan kode mk, (nama mk, sks, otomatis muncul, panggil dari table matakuliah)
•Isi status (baru, her, mengulang)
•Tambah matakuliah lagi? Jika Y, maka tambah matakuliah lagi.
•Jika tidak maka, Selesai

Program Input FRS :
SET TALK OFF
SET STAT OFF

SELECT 1
USE MHS INDEX XMHS
SELECT 2
USE MTKUL INDEX XMTKUL
SELECT 3
USE NILAI
SET RELATION TO NPM INTO A
SET RELATION TO KD_MTKUL INTO B ADDITIVE

MNPM=SPAC(10)
MKDMK=SPAC(8)
MSMT=SPAC(2)
MSTATMK=SPAC(1)
LAGI='Y'
BENAR=SPAC(1)
CLEA

DO WHIL .T.
@ 2,5 SAY ‘INPUT FORMULIS RENCANA STUDI’

SELECT 1
@ 5,5 SAY 'NPM : ' GET MNPM
SEEK MNPM
IF FOUND() THEN
@6,5 SAY ‘Nama : ‘ +nama
@7,5 SAY ‘Jurusan : ‘ +jurusan
ELSE
@15,5 SAY ‘Mahasiswa tersebut tidak terdaftar !’
WAIT ‘ ‘
@15, 5 clea
LOOP
ENDIF

SELECT 2
@ 8,5 SAY 'Kode Matakuliah : ' GET MKDMK
READ
SEEK MKDMK
IF FOUND() THEN
@9,5 SAY ‘Nama MK : ‘ +nama
@10,5 SAY ‘SKS : ‘ +sks
ELSE
@15,5 SAY ‘Matakuliah tersebut tidak ada !’
WAIT ‘ ‘
@15, 5 clea
LOOP
ENDIF
@11,5 SAY ‘Semester : ‘ GET MSMT
@12,5 SAY ‘Status : ‘ GET MSTATMK
READ

SELECT 3
LOCATE FOR NPM=MNPM AND KDMK=MKDMK AND SMT=MSMT AND STATMK=MSTATMK
IF FOUND() THEN
@15,5 SAY ‘Matakuliah tersebut sudah diambil !’
WAIT ‘ ‘
@15, 5 clea
LOOP
ENDIF

@ 16,5 SAY 'Data Sudah Benar [Y/T] : ' GET BENAR PICT '@!'
READ
IF BENAR = 'Y' THEN
APPE BLAN
REPL NPM WITH MNPM
REPL KDMK WITH MKDMK
REPL SMT WITH MSMT
REPL STATUSMK WITH MSTATMK
REPL NABSEN WITH 0
REPL NUTS WITH 0
REPL NUAS WITH 0
REPL NTGS WITH 0
REPL NTOTAL WITH 0
REPL NGRADE WITH ‘E’
ENDIF
@ 15,5 CLEA
@ 17,5 SAY 'Input Data Lagi [Y/T] : ' GET LAGI PICT '@!'
READ

IF LAGI = 'Y' THEN
CLEA
LOOP
ELSE
EXIT
ENDI
ENDD
RETU

12.2. PROGRAM INPUT NILAI
Algoritma Program transaksi input FRS mahasiswa
•Persiapan (termasuk relasi file)
•Masukan npm
•Cari npm di table nilai & mahasiswa, tampilkan nama, jurusan
•Isi semester
•Masukan kode mk, cari kodemk di table nilai & matkul (nama mk, sks, otomatis muncul, panggil dari table matakuliah)
•Data nilai sebelumnya akan tampil
•Update nilai, hitung nilai total dengan rumus 10%Xnabsen + 20%Xntgs + 30%Xnuts + 40%Xnuas
•Update nilai grade dengan ketentuan : jika >=80, A, jika 66-79 maka B, jika 56-65 maka C, 46-55 maka D, selain itu E
•Simpan data nilai ke table nilai
•Update nilai lagi? Jika Y, maka ulangi update data nilai
•Jika tidak maka, Selesai

Tugas : Buatlah Program Input Nilai

LATIHAN
•Buatlah program untuk transaksi PENJUALAN

Tidak ada komentar:

Posting Komentar