DAFTAR PUSTAKA [1]
Ambler, Scott W, Pramod J. Sadalage, 2006.Refactoring Databases: Evolutionary Database Design, Addison Wesley Professional.
[2]
Bultan, Tevfik, 2004. CMPSC 172: Software Engineering – Software Maintainance.
[3]
Dwiantoro,
Tino,
Materi
ke-02:
Sistem
Basis
Data,
www.dwiantoro.com. [4]
Hainaut, Jean-Luc, 1998, Database Reverse Engineering, Database Applications
Engineering
Laboratory,
Institut
d’Informatique,
University of Namur. [5]
Hainaut, Jean-Luc, Jean Henrard, J-M Hick, D. Rolan, V. Englebert, 1996, Database Design Recovery, Database Applications Engineering Laboratory, Institut d’Informatique, University of Namur.
[6]
Henrard, Jean, Jean-Marc Hick, Philippe Thiran, Jean-Luc Hainaut, Strategies
for
Data
Reengineering,
Database
Applications
Engineering Laboratory, Institut d’Informatique, University of Namur. [7]
Pressman,
Roger
S,
2005,
SOFTWARE
ENGINEERING,
A
Practitioner’s Approach sixth edition, Mc Graw Hill. [8]
Ranmuthugala,
M.H.P,
Software
Engineering,
www.cse.mrt.ac.lk/lecnotes/cs302/ . [9]
Sommerville, Ian, 2005, SOFTWARE ENGINEERING 6th Edition, Addison Wesley.
[10]
Toft Hansen, Kjell, 2002, Introduction to Database, Distance Learning from NVU-AITeL.
[11]
http://dev.mysql.com/tech-resources/articles/storage engine/part_2.html
[12]
http://www.dbf2002.com/dbf-file-format.html
74
LAMPIRAN A DATA SIMAK KESELURUHAN Tabel 1 Nama file tabel
: Dosen_D3.dbf
Jumlah atribut
:3
Deskripsi
: Data master Dosen
No
Nama Atribut
Tipe Data
Panjang Karakter
Status
Referensi ke tabel
1
NIP
CHAR
10
PK
-
2
NAMA
CHAR
30
-
-
3
JUR
CHAR
9
-
-
Deskripsi Nomor Induk Pegawai Nama lengkap Jurusan “home base” dosen
Tabel 2 Nama file tabel
: Mhs_XXX.dbf
Jumlah atribut
:2
Deskripsi
: Data master Mahasiswa
No
Nama Atribut
Tipe Data
Panjang Karakter
Status
Referensi ke tabel
1
NIM
CHAR
10
PK
-
2
NAMA
CHAR
30
-
-
Deskripsi Nomor Induk Mahasiswa Nama lengkap
Tabel 3 Nama file tabel
: MK_XXX.dbf
Jumlah atribut
:6
Deskripsi
: Data master Matakulah
No
Nama Atribut
Tipe Data
Panjang Karakter
Status
1
KODE_KOM
FLOAT
-
PK
2 3 4 5 6
KODE_MK NAMA_MK SKS SEMESTER PRASYARAT
CHAR CHAR FLOAT CHAR CHAR
25 50 9 50
FK1
75
Referensi ke tabel
MK_XXX
Deskripsi Kode komputer untuk scanner OMR Kode matakuliah Nama matakuliah Jumlah sks Berada di semester ini Matakuliah prasyarat
Tabel 4 Nama file tabel
: KRS_XXX.dbf
Jumlah atribut
: 18
Deskripsi
: Data isian KRS mahasiswa per semester
1
Nama Atribut NIM
Tipe Data CHAR
Panjang Karakter 12
2
NIPPA
CHAR
3 . . . 18
MK1 . . . MK16
CHAR . . . CHAR
No
Status
Referensi ke
FK2
MHS_XXX
25
FK3
DOSEN_D3
50 . . . 50
FK1 . . . FK18
MK_XXX . . . MK_XXX
Deskripsi Nomor Induk Mahasiswa NIP Dosen Pembimbing Akademik Kode Matakuliah ke-1 . . . Kode Matakuliah ke-16
Tabel 5 Nama file tabel
: KHS_XXX.dbf
Jumlah atribut
: 121
Deskripsi
: Data KHS mahasiswa per semester
1 2
Nama Atribut NIM NAMA
Tipe Data CHAR CHAR
Panjang Karakter 11 25
-
Referensi ke tabel -
3
NIPPA
CHAR
9
-
-
4
NAMAPA
CHAR
25
-
-
5
MK1
CHAR
3
FK1
MK_XXX
6 7 8 9 10
KMK1 NMK1 SKS1 NA1 NH1
CHAR CHAR FLOAT FLOAT CHAR
7 40 1
-
-
11
NK1
FLOAT
-
-
-
. . .
. . .
. . .
. . .
. . .
. . .
110
MK16
CHAR
3
FK2
MK_XXX
111 112 113 114 115
KMK16 NMK16 SKS16 NA16 NH16
CHAR CHAR FLOAT FLOAT CHAR
7 40 1
-
-
116
NK16
FLOAT
-
-
-
117 118 119
JUMSKS JUMNK IP
FLOAT FLOAT FLOAT
-
-
-
120
SKSDEPAN
FLOAT
-
-
-
No
Status
76
Deskripsi Nomor Induk Mahasiswa Nama Mahasiswa NIP Dosen Pembimbing Akademik Nama Pembimbing Akademik Kode Komputer Matakuliah ke-1 Kode Matakuliah ke-1 Nilai Matakuliah ke-1 Jumlah sks matakuliah ke-1 Nilai angka matakuliah ke-1 Nilai huruf matakuliah ke-1 Nilai kumulatif matakuliah ke-1 . . . Kode Komputer Matakuliah ke-16 Kode Matakuliah ke-16 Nilai Matakuliah ke-16 Jumlah sks matakuliah ke-16 Nilai angka matakuliah ke-16 Nilai huruf matakuliah ke-16 Nilai kumulatif matakuliah ke-16 Jumlah sks yang diambil Jumlah nilai kumulatif Indeks prestasi semester Jumlah maksimum sks yang dapat diambil di semester
No
Nama Atribut
Tipe Data
Panjang Karakter
Status
Referensi ke tabel
121
JMK
FLOAT
-
-
-
Deskripsi berikutnya Jumlah matakuliah
Tabel 6 Nama file tabel
: Transkrip_XXX.dbf
Jumlah atribut
: 707
Deskripsi
: Data kumpulan nilai mahasiswa keseluruhan semester
No
Nama Atribut
Tipe Data
Panjang Karakter
Status
Referensi ke tabel
1
NIM
CHAR
11
-
-
2
NAMA
40
-
-
3
TPT_LAHIR
CHAR CHAR
25
-
-
4
TGL_LAHIR
25
-
-
5
MK1
3
FK1
KHS_XXX
6
NH1
CHAR CHAR
1
-
-
. . . 27 28
. . . MK12 NH12
. . . 3 1
. . . FK12 -
. . . KHS_XXX -
29
SEM1
. . . CHAR CHAR CHAR
3
-
-
.. .. .. 695 696
.. .. .. MK336 NH336
.. .. .. 3 1
.. .. .. -
.. .. .. -
697
SEM21
.. .. .. CHAR CHAR CHAR
3
-
-
698
JUMSKS
FLOAT
-
-
-
699
JUMNK
FLOAT
-
-
-
700
IPK
FLOAT
-
-
-
701 702 703 704 705 706 707
TGLYUDIS JUDULTA PREDIKAT NOIJAZAH TGLLULUS STRATA BIDILMU
CHAR CHAR CHAR CHAR CHAR CHAR CHAR
25 250 30 30 25 4 40
-
-
CHAR
77
Deskripsi Nomor Induk Mahasiswa Nama Mahasiswa Tempat lahir mahasiswa Tanggal lahir mahasiswa Matakuliah ke-1 Nilai huruf matakuliah ke-1 . . . Matakuliah ke-12 Nilai huruf ke-12 Diambil di semester ke-1 .. .. .. Matakuliah ke-336 Nilai huruf ke-336 Diambil di semester ke-21 Jumlah sks keseluruhan Jumlah nilai kumulatif keseluruhan Indek prestasi kumulatif Tanggal yudisium Judul tugas akhir Predikat kelulusan Nomor ijazah Tanggal lulus Strata pendidikan Bidang ilmu
LAMPIRAN B SIMBOL-SIMBOL DIAGRAM ER DAN KONSEPTUAL Tabel B-1 Simbol-simbol ER Diagram No
Simbol ER
Simbol Koseptual
Arti
Enti ty_1
1
Entitas
2
Weak Entity Entity_1
Relationship_1
Entity_2
3
Relasi, Association Link
4
Identifying Relationship Entity_1
5
Attribute_1
Attribute_2 Attribute_3
Atribut
Entity_1
6
Attribute_1 <M> Attribute_2 Attribute_3
Atribut Primary Key
Identifier_1
7
Atribut multivalue
8
Atribut composite
9
Atribut derivatif
78
LAMPIRAN C DIAGRAM KONSEPTUAL SISTEM BARU Transkrip TanggalYudisium JudulTA Predikat NomorIjazah TanggalLulus BidangIlmu
User
Date Characters (200) Characters (25) Characters (30) Date Characters (50)
UserName Characters (30) <M> Password Characters (50)
Role Relationship_5
Identifier_1
Identifier_1 Relationship_3
Relationship_4
Relationship_2 Relationship_1 (D)
Dosen Operator
Characters (9) <M> NIP NamaDosen Characters (50)
Mahasiswa
OperatorID Characters (9) <M> NamaOperator Characters (50)
Characters (12) <M> Relationship_14 NIM Identifier_1 NamaMahasiswa Characters (50) TempatLahir Characters (30) TanggalLahir Date Relationship_7 TahunMasuk Characters (4)
79
Jurusan Fakultas KodeJurusan Characters (5) <M> Relationship_9 KodeFakultas Characters (3) <M> NamaJurusan Characters (30) NamaFakultas Characters (30) Strata Characters (2) Relationship_15 Identifier_1 Identifier_1
Relationship_16
StatusKRS TahunAkademik Semester JumlahSKS Status DisetujuiPA
Identifier_1 Relationship_8
Relationship_6
Identifier_1
Relationship_17
RoleID Characters (1) <M> NamaRole Characters (25)
Characters (4) <M> Characters (1) <M> Integer Characters (10) Characters (1)
Relationship_10
Relationship_21 KRS TahunAkademik Characters (4) <M> Semester Characters (1) <M> StatusAmbil Characters (1)
Relationship_11
KHSKumulatif TahunAkademik Semester IPSemester SKSDepan
Characters (4) <M> Characters (1) <M> Float Integer
MataKuliah Characters (4) <M> KodeKomputer KodeMataKuliah Characters (7) NamaMataKuliah Characters (50) SKS Integer SemesterKe Integer Identifier_1
Relationship_19 KHS TahunAkademik Characters (4) <M> Characters (1) <M> Semester Float NilaiKumulatif
NilaiHuruf Relationship_13
NilaiHuruf Characters (1) <M> NilaiAngka Float Identifier_1
Gambar C-1 Diagram Konseptual Facis
Relationship_20 Relationship_18 MKPrasyarat
LAMPIRAN D DIAGRAM FISIK SISTEM BARU User
Transkrip NIM TanggalYudisium JudulTA Predikat NomorIjazah TanggalLulus BidangIlmu
UserName char(30) RoleID char(1) Password char(50)
char(12) date char(200) char(25) char(30) date char(50)
FK_RELATIONSHIP_4 Dosen
Mahasiswa NIM UserName KodeJurusan NIP NamaMahasiswa TempatLahir TanggalLahir TahunMasuk
char(12) char(30) char(5) char(9) char(50) char(30) date char(4)
80 FK_RELATIONSHIP_16
char(4) char(1) char(12) float int
FK_RELATIONSHIP_14
NIP UserName KodeJurusan NamaDosen
char(9) char(30) char(5) char(50)
Operator OperatorID UserName KodeJurusan NamaOperator
FK_RELATIONSHIP_7 FK_RELATIONSHIP_6
FK_RELATIONSHIP_15
Fakultas
Jurusan KodeJurusan KodeFakultas NamaJurusan Strata
FK_RELATIONSHIP_21
char(4) char(1) char(12) int char(10) char(1)
char(5) char(3) char(30) char(2)
FK_RELATIONSHIP_9 KodeFakultas char(3) NamaFakultas char(30)
KRS TahunAkademik Semester NIM KodeKomputer KodeJurusan StatusAmbil
TahunAkademik Semester NIM KodeKomputer KodeJurusan NilaiHuruf NilaiKumulatif
char(4) char(1) char(12) char(4) char(5) char(1) float
MataKuliah
KodeKomputer char(4) KodeJurusan char(1) FK_RELATIONSHIP_11 KodeMataKuliah char(12) NamaMataKuliah char(4) SKS char(5) SemesterKe char(1)
char(4) char(5) char(7) char(50) int int
FK_RELATIONSHIP_20 FK_RELATIONSHIP_18
FK_RELATIONSHIP_19
KHS
char(9) char(30) char(5) char(50)
FK_RELATIONSHIP_8
FK_RELATIONSHIP_10
StatusKRS FK_RELATIONSHIP_17 TahunAkademik Semester NIM JumlahSKS Status DisetujuiPA
TahunAkademik Semester NIM IPSemester SKSDepan
RoleID char(1) NamaRole char(25)
FK_RELATIONSHIP_3 FK_RELATIONSHIP_2
FK_RELATIONSHIP_1
KHSKumulatif
Role
FK_RELATIONSHIP_5
MKPrasyarat
NilaiHuruf
FK_RELATIONSHIP_13
NilaiHuruf char(1) NilaiAngka float
Gambar D-1 Diagram Fisik Facis
KodeKomputer KodeJurusanMK Prasyarat KodeJurusanPS
char(4) char(5) char(4) char(5)
LAMPIRAN E STRUKTUR DATA KESELURUHAN FACIS Tabel : Dosen Deskripsi No 1 2 3 4
: Data master Dosen
Nama Atribut
Tipe Data CHAR CHAR CHAR CHAR
NIP UserName KodeJurusan NamaDosen
Panjang Karakter 9 30 5 50
Status PK FK1 FK2 -
Referensi ke tabel User Jurusan -
Tabel : Mahasiswa Deskripsi No 1 2 3 4 5 6 7 8
: Data master Mahasiswa
Nama Atribut
NIM UserName KodeJurusan NIP NamaMahasiswa Tempatlahir TanggalLahir TahunMasuk
Tipe Data CHAR CHAR CHAR CHAR CHAR CHAR DATE CHAR
Panjang Karakter 12 30 5 9 50 30 4
Status PK FK1 FK2 FK3 -
Referensi ke tabel User Jurusan Dosen -
Status PK1 PK2,FK -
Referensi ke tabel Jurusan -
Status FK1 FK1 FK2 FK2
Referensi ke tabel Matakuliah Matakuliah Matakuliah Matakuliah
Tabel : Matakuliah Deskripsi No 1 2 3 4 5 6
: Data master Mahasiswa
Nama Atribut
KodeKomputer KodeMatakuliah KodeJurusan NamaMatakuliah SKS SemesterKe
Tipe Data CHAR CHAR CHAR CHAR INT INT
Panjang Karakter 3 7 5 50 -
Tabel : MKPrasyarat Deskripsi No 1 2 3 4
Nama Atribut
KodeKomputer KodeJurusanMK Prasyarat KodeJurusanPS
: Matakuliah Prasyarat Tipe Data CHAR CHAR CHAR CHAR
Panjang Karakter 3 5 3 5
81
Tabel : Fakultas Deskripsi No 1 2
: Data Fakultas
Nama Atribut
Tipe Data CHAR CHAR
KodeFakultas NamaFakultas
Panjang Karakter 2 30
Status PK -
Referensi ke tabel -
Panjang Karakter 5 2 30 2
Status PK FK -
Referensi ke tabel Fakultas -
Status FK3 FK2 FK2 FK1 -
Referensi ke tabel Mahasiswa Matakuliah Matakuliah NilaiHuruf -
Status FK -
Referensi ke tabel Mahasiswa -
Status PK -
Referensi ke tabel -
Tabel : Jurusan Deskripsi No 1 2 3 4
: Data Jurusan
Nama Atribut
Tipe Data CHAR CHAR CHAR CHAR
KodeJurusan KodeFakultas NamaJurusan Strata
Tabel : KHS Deskripsi No 1 2 3 4 5 6 7
: Kartu Hasil Studi Mahasiswa
Nama Atribut
Tipe Data CHAR CHAR CHAR CHAR CHAR CHAR FLOAT
TahunAkademik Semester NIM KodeKomputer KodeJurusan NilaiHuruf NilaiKumulatif
Panjang Karakter 4 1 12 3 5 1 -
Tabel : KHSKumulatif Deskripsi No 1 2 3 4 5
Nama Atribut
TahunAkademik Semester NIM IPSemester SKSDepan
: Total Nilai Hasil Studi Mahasiswa Tipe Data CHAR CHAR CHAR FLOAT INT
Panjang Karakter 4 1 12 -
Tabel : NilaiHuruf Deskripsi No 1 2
Nama Atribut
NilaiHuruf NilaiAngkat
: Bobot Nilai Huruf Matakuliah Tipe Data CHAR INT
Panjang Karakter 1 -
82
Tabel : KRS Deskripsi
: Kartu Rencana Studi (Pengambilan Matakuliah)
Mahasiswa No 1 2 3 4 5 6
Nama Atribut
Tipe Data CHAR CHAR CHAR CHAR CHAR CHAR
TahunAkademik Semester NIM KodeKomputer KodeJurusan StatusAmbil
Panjang Karakter 4 1 12 3 5 1
Status FK2 ,FK1 FK1 -
Referensi ke tabel Mahasiswa Matakuliah Matakuliah -
Tabel : StatusKRS Deskripsi No 1 2 3 4 5 6
: Total SKS yang diambil dan Persetujuan PA
Nama Atribut
Tipe Data CHAR CHAR CHAR INT CHAR CHAR
TahunAkademik Semester NIM JumlahSKS Status DisetujuiPA
Panjang Karakter 4 1 12 3 10 1
Status FK -
Referensi ke tabel Mahasiswa -
Status FK -
Referensi ke tabel Mahasiswa -
Status PK FK1 FK2 -
Referensi ke tabel User Jurusan -
Tabel : Transkrip Deskripsi No 1 2 3 4 5 6 7
: Transkrip nilai Mahasiswa
Nama Atribut
NIM TanggalYudisium JudulTA Predikat NomorIjazah TanggalLulus BidangIlmu
Tipe Data CHAR DATE CHAR CHAR CHAR DATE CHAR
Panjang Karakter 12 200 25 30 1 50
Tabel : Operator Deskripsi No 1 2 3 4
Nama Atribut
OperatorID UserName KodeJurusan NamaOperator
: Data master Operator Tipe Data CHAR CHAR CHAR CHAR
Panjang Karakter 9 30 5 50
83
Tabel : User Deskripsi No 1 2 3
Nama Atribut
UserName RoleID Password
: Data User Tipe Data CHAR CHAR CHAR
Panjang Karakter 30 1 50
Status PK FK -
Referensi ke tabel RoleID -
Status PK -
Referensi ke tabel -
Tabel : RoleID Deskripsi No 1 2
Nama Atribut
RoleID NamaRole
: Data Referensi Role Tipe Data CHAR CHAR
Panjang Karakter 1 25
84
LAMPIRAN F SCRIPT SQL FACIS Buat tabel baru /*==============================================================*/ /* Table: DOSEN */ /*==============================================================*/ create table DOSEN ( NIP char(9) not null, USERNAME char(30), KODEJURUSAN char(5), NAMADOSEN char(50), primary key (NIP) ); /*==============================================================*/ /* Table: FAKULTAS */ /*==============================================================*/ create table FAKULTAS ( KODEFAKULTAS char(3) not null, NAMAFAKULTAS char(30), primary key (KODEFAKULTAS) ); /*==============================================================*/ /* Table: JURUSAN */ /*==============================================================*/ create table JURUSAN ( KODEJURUSAN char(5) not null, KODEFAKULTAS char(3), NAMAJURUSAN char(30), STRATA char(2), primary key (KODEJURUSAN) ); /*==============================================================*/ /* Table: KHS */ /*==============================================================*/ create table KHS ( TAHUNAKADEMIK char(4) not null, SEMESTER char(1) not null, NIM char(12), KODEKOMPUTER char(4) not null, KODEJURUSAN char(5) not null, NILAIHURUF char(1), NILAIKUMULATIF float default 0 );
85
/*==============================================================*/ /* Index: INDEX_3 */ /*==============================================================*/ create index INDEX_3 on KHS ( TAHUNAKADEMIK, SEMESTER ); /*==============================================================*/ /* Table: KHSKUMULATIF */ /*==============================================================*/ create table KHSKUMULATIF ( TAHUNAKADEMIK char(4) not null, SEMESTER char(1) not null, NIM char(12), IPSEMESTER float, SKSDEPAN int ); /*==============================================================*/ /* Index: INDEX_2 */ /*==============================================================*/ create index INDEX_2 on KHSKUMULATIF ( TAHUNAKADEMIK, SEMESTER ); /*==============================================================*/ /* Table: KRS */ /*==============================================================*/ create table KRS ( TAHUNAKADEMIK char(4) not null, SEMESTER char(1) not null, NIM char(12) not null, KODEKOMPUTER char(4) not null, KODEJURUSAN char(5) not null, STATUSAMBIL char(1) ); /*==============================================================*/ /* Index: INDEX_3 */ /*==============================================================*/ create index INDEX_3 on KRS ( TAHUNAKADEMIK, SEMESTER );
86
/*==============================================================*/ /* Table: MAHASISWA */ /*==============================================================*/ create table MAHASISWA ( NIM char(12) not null, USERNAME char(30), KODEJURUSAN char(5), NIP char(9), NAMAMAHASISWA char(50), TEMPATLAHIR char(30), TANGGALLAHIR date, TAHUNMASUK char(4), primary key (NIM) ); /*==============================================================*/ /* Table: MATAKULIAH */ /*==============================================================*/ create table MATAKULIAH ( KODEKOMPUTER char(4) not null, KODEJURUSAN char(5) not null, KODEMATAKULIAH char(7), NAMAMATAKULIAH char(50), SKS int, SEMESTERKE int, primary key (KODEJURUSAN, KODEKOMPUTER) ); /*==============================================================*/ /* Table: MKPRASYARAT */ /*==============================================================*/ create table MKPRASYARAT ( KODEKOMPUTER char(4), KODEJURUSANMK char(5), PRASYARAT char(4), KODEJURUSANPS char(5) ); /*==============================================================*/ /* Table: NILAIHURUF */ /*==============================================================*/ create table NILAIHURUF ( NILAIHURUF char(1) not null, NILAIANGKA float, primary key (NILAIHURUF) ); /*==============================================================*/ /* Table: OPERATOR */ /*==============================================================*/ create table OPERATOR ( OPERATORID char(9) not null, USERNAME char(30), KODEJURUSAN char(5), NAMAOPERATOR char(50), primary key (OPERATORID) );
87
/*==============================================================*/ /* Table: ROLE */ /*==============================================================*/ create table ROLE ( ROLEID char(1) not null, NAMAROLE char(25), primary key (ROLEID) ); /*==============================================================*/ /* Table: STATUSKRS */ /*==============================================================*/ create table STATUSKRS ( TAHUNAKADEMIK char(4) not null, SEMESTER char(1) not null, NIM char(12), JUMLAHSKS int, STATUS char(10), DISETUJUIPA char(1) ); /*==============================================================*/ /* Index: INDEX_2 */ /*==============================================================*/ create index INDEX_2 on STATUSKRS ( TAHUNAKADEMIK, SEMESTER ); /*==============================================================*/ /* Table: TRANSKRIP */ /*==============================================================*/ create table TRANSKRIP ( NIM char(12), TANGGALYUDISIUM date, JUDULTA char(200), PREDIKAT char(25), NOMORIJAZAH char(30), TANGGALLULUS date, BIDANGILMU char(50) ); /*==============================================================*/ /* Table: USER */ /*==============================================================*/ create table USER ( USERNAME char(30) not null, ROLEID char(1), PASSWORD char(50), primary key (USERNAME) ); alter table DOSEN add constraint FK_RELATIONSHIP_3 foreign key (USERNAME) references USER (USERNAME) on delete restrict on update restrict; alter table DOSEN add constraint FK_RELATIONSHIP_7 foreign key (KODEJURUSAN)
88
references JURUSAN (KODEJURUSAN) on delete restrict on update restrict; alter table JURUSAN add constraint FK_RELATIONSHIP_9 foreign key (KODEFAKULTAS) references FAKULTAS (KODEFAKULTAS) on delete restrict on update restrict; alter table KHS add constraint FK_RELATIONSHIP_13 foreign key (NILAIHURUF) references NILAIHURUF (NILAIHURUF) on delete restrict on update restrict; alter table KHS add constraint FK_RELATIONSHIP_19 foreign key (KODEJURUSAN, KODEKOMPUTER) references MATAKULIAH (KODEJURUSAN, KODEKOMPUTER) on delete restrict on update restrict; alter table KHS add constraint FK_RELATIONSHIP_21 foreign key (NIM) references MAHASISWA (NIM) on delete restrict on update restrict; alter table KHSKUMULATIF add constraint FK_RELATIONSHIP_17 foreign key (NIM) references MAHASISWA (NIM) on delete restrict on update restrict; alter table KRS add constraint FK_RELATIONSHIP_11 foreign key (KODEJURUSAN, KODEKOMPUTER) references MATAKULIAH (KODEJURUSAN, KODEKOMPUTER) on delete restrict on update restrict; alter table KRS add constraint FK_RELATIONSHIP_15 foreign key (NIM) references MAHASISWA (NIM) on delete restrict on update restrict; alter table MAHASISWA add constraint FK_RELATIONSHIP_14 foreign key (NIP) references DOSEN (NIP) on delete restrict on update restrict; alter table MAHASISWA add constraint FK_RELATIONSHIP_2 foreign key (USERNAME) references USER (USERNAME) on delete restrict on update restrict; alter table MAHASISWA add constraint FK_RELATIONSHIP_6 foreign key (KODEJURUSAN) references JURUSAN (KODEJURUSAN) on delete restrict on update restrict; alter table MATAKULIAH add constraint FK_RELATIONSHIP_10 foreign key (KODEJURUSAN) references JURUSAN (KODEJURUSAN) on delete restrict on update restrict; alter table MKPRASYARAT add constraint FK_RELATIONSHIP_18 foreign key (KODEJURUSANPS, PRASYARAT) references MATAKULIAH (KODEJURUSAN, KODEKOMPUTER) on delete restrict on update restrict; alter table MKPRASYARAT add constraint FK_RELATIONSHIP_20 foreign key (KODEJURUSANMK, KODEKOMPUTER) references MATAKULIAH (KODEJURUSAN, KODEKOMPUTER) on delete restrict on update restrict; alter table OPERATOR add constraint FK_RELATIONSHIP_4 foreign key (USERNAME) references USER (USERNAME) on delete restrict on update restrict; alter table OPERATOR add constraint FK_RELATIONSHIP_8 foreign key (KODEJURUSAN) references JURUSAN (KODEJURUSAN) on delete restrict on update restrict; alter table STATUSKRS add constraint FK_RELATIONSHIP_16 foreign key (NIM) references MAHASISWA (NIM) on delete restrict on update restrict;
89
alter table TRANSKRIP add constraint FK_RELATIONSHIP_1 foreign key (NIM) references MAHASISWA (NIM) on delete restrict on update restrict; alter table USER add constraint FK_RELATIONSHIP_5 foreign key (ROLEID) references ROLE (ROLEID) on delete restrict on update restrict;
Insert data table referensi -- Disable foreign key checks SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; delete from Fakultas; delete from Jurusan; delete from Role; delete from NilaiHuruf; INSERT INTO `Fakultas`(`KodeFakultas`, `NamaFakultas`) VALUES ('09', 'Ilmu Komputer'); INSERT INTO `Jurusan`(`KodeJurusan`, `KodeFakultas`,`NamaJurusan`,`Strata`) VALUES ('10803', '09','Teknik Komputer','D3'), ('10804', '09','Manajemen Informatika','D3'), ('10805', '09','Komputerisasi Akuntansi','D3'); INSERT INTO `Role`(`RoleID`, `NamaRole`) VALUES ('1', 'Dosen'), ('2', 'Mahasiswa'), ('3', 'Operator'); INSERT INTO `NilaiHuruf`(`NilaiHuruf`, `NilaiAngka`) VALUES ('A', '4'), ('B', '3'), ('C', '2'), ('D', '1'), ('E', '0'), ('T', '0'); -- Re-enable foreign key checks SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; -- End of script
90
LAMPIRAN G SKENARIO DAN HASIL PENGUJIAN FACIS 1.1 Pengujian data master mahasiswa Menampilkan data mahasiswa fakultas ’09::Ilmu Komputer’, jurusan ‘10803::Teknik Komputer’ dan tahun masuk ‘2003’
Nomor Pengujian Deskripsi Skenario Hasil yang diharapkan: NamaFakultas Script SQL:
NamaJurusan
NIM
NamaMahasiswa TahunMasuk
SELECT f.NamaFakultas, j.NamaJurusan, m.NIM, m.NamaMahasiswa, m.TahunMasuk FROM fakultas f, jurusan j, mahasiswa m WHERE j.KodeFakultas='09' AND m.KodeJurusan='10803' ORDER BY f.NamaFakultas, j.NamaJurusan, m.NIM ASC;
Hasil Pengujian:
Status : Sukses
91
Nomor Pengujian Deskripsi Skenario
2.1 Pengujian data KRS mahasiswa Menampilkan data KRS mahasiswa fakultas ’09::Ilmu Komputer’, jurusan ‘10803::Teknik Komputer’ pada tahun akademik ‘2003’ dan semester ‘1’ dengan NIM ‘08032310001’
Hasil yang diharapkan: NamaFakultas NamaJurusan TahunAkademik Semester NamaMahasiswa KodeMatakuliah NamaMatakuliah Script SQL: SELECT f.NamaFakultas, j.NamaJurusan, k.TahunAkademik, k.Semester, k.NIM, m.NamaMahasiswa, k.KodeKomputer, mk.KodeMatakuliah, mk.NamaMatakuliah FROM fakultas f, jurusan j, mahasiswa m, krs k, matakuliah mk WHERE j.KodeFakultas = f.KodeFakultas AND k.NIM = m.NIM AND k.KodeKomputer = mk.KodeKomputer AND k.KodeJurusan = mk.KodeJurusan AND mk.KodeJurusan = j.KodeJurusan AND j.KodeFakultas='09' AND k.KodeJurusan='10803' AND TahunAkademik='2003' AND Semester ='1' AND k.NIM='08032310001' ORDER BY k.KodeKomputer ASC;
Hasil Pengujian:
Status : Sukses
92
NIM
2.2 Pengujian data StatusKRS mahasiswa Menampilkan jumlah SKS yang telah diambil oleh mahasiswa fakultas ’09::Ilmu Komputer’, jurusan ‘10803::Teknik Komputer’ pada tahun akademik ‘2003’ dan semester ‘1’
Nomor Pengujian Deskripsi Skenario
Hasil yang diharapkan: NamaFakultas JumlahSKS Script SQL:
NamaJurusan
TahunAkademik Semester
NIM
SELECT f.NamaFakultas, j.NamaJurusan, sk.NIM, m.NamaMahasiswa, sk.JumlahSKS FROM fakultas f, jurusan j, mahasiswa m, statuskrs sk WHERE j.KodeFakultas = f.KodeFakultas AND m.KodeJurusan = j.KodeJurusan AND sk.NIM = m.NIM AND j.KodeFakultas='09' AND m.KodeJurusan='10803' ORDER BY sk.NIM ASC; Atau: SELECT f.NamaFakultas, j.NamaJurusan, k.TahunAkademik, k.Semester, k.NIM, sum(mk.sks) as JumlahSKS FROM fakultas f, jurusan j, mahasiswa m, krs k, matakuliah mk WHERE j.KodeFakultas = f.KodeFakultas AND k.NIM = m.NIM AND k.KodeKomputer = mk.KodeKomputer AND k.KodeJurusan = mk.KodeJurusan AND mk.KodeJurusan = j.KodeJurusan AND j.KodeFakultas='09' AND k.KodeJurusan='10803' AND TahunAkademik='2003' AND Semester ='1' GROUP BY k.TahunAkademik,k.Semester,k.NIM;
Hasil Pengujian:
Status : Sukses
93
3.1 Pengujian data KHS mahasiswa Menampilkan nilai matakuliah yang diambil oleh mahasiswa fakultas ’09::Ilmu Komputer’, jurusan ‘10803::Teknik Komputer’ pada tahun akademik ‘2003’ dan semester ‘1’ dengan NIM ‘08032310001’
Nomor Pengujian Deskripsi Skenario
Hasil yang diharapkan: NamaFakultas KodeKomputer Script SQL:
NamaJurusan TahunAkademik Semester KodeMatakuliah NilaiHuruf
SELECT f.NamaFakultas, j.NamaJurusan, k.TahunAkademik, k.Semester, k.NIM, m.NamaMahasiswa, k.KodeKomputer, mk.KodeMatakuliah, k.NilaiHuruf FROM fakultas f, jurusan j, mahasiswa m, khs k, matakuliah mk WHERE j.KodeFakultas = f.KodeFakultas AND k.NIM = m.NIM AND k.KodeKomputer = mk.KodeKomputer AND k.KodeJurusan = mk.KodeJurusan AND mk.KodeJurusan = j.KodeJurusan AND j.KodeFakultas='09' AND k.KodeJurusan='10803' AND TahunAkademik='2003' AND Semester ='1' AND k.NIM='08032310001' ORDER BY k.KodeKomputer ASC;
Hasil Pengujian:
Status : Sukses
94
NIM
3.2 Pengujian IP Semester mahasiswa Menampilkan nilai IP Semester yang diperoleh mahasiswa fakultas ’09::Ilmu Komputer’, jurusan ‘10803::Teknik Komputer’ pada tahun akademik ‘2003’ dan semester ‘1’
Nomor Pengujian Deskripsi Skenario
Hasil yang diharapkan: NamaFakultas IPSemester Script SQL:
NamaJurusan
TahunAkademik Semester
NIM
SELECT f.NamaFakultas, j.NamaJurusan, kk.TahunAkademik, kk.Semester, kk.NIM, kk.IPSemester FROM fakultas f, jurusan j, mahasiswa m, khskumulatif kk WHERE j.KodeFakultas = f.KodeFakultas AND m.KodeJurusan = j.KodeJurusan AND kk.NIM = m.NIM AND j.KodeFakultas='09' AND m.KodeJurusan='10803' AND kk.TahunAkademik=’2003’ AND kk.Semester=’1’ ORDER BY kk.NIM ASC; Atau: SELECT f.NamaFakultas, j.NamaJurusan, kk.TahunAkademik, kk.Semester, kk.NIM,(sum(kk.NilaiKumulatif)/sk.JumlahSKS) as IPSemester FROM fakultas f, jurusan j, mahasiswa m, khs kk, statuskrs sk WHERE j.KodeFakultas = f.KodeFakultas AND m.KodeJurusan = j.KodeJurusan AND kk.NIM = m.NIM AND kk.TahunAkademik=sk.TahunAkademik AND kk.Semester=sk.Semester AND kk.NIM = sk.NIM AND j.KodeFakultas='09' AND m.KodeJurusan='10803' AND kk.TahunAkademik = '2003' AND kk.Semester ='1' GROUP BY kk.TahunAkademik,kk.Semester,kk.NIM;
Hasil Pengujian:
Status : Sukses
95
Nomor Pengujian Deskripsi Skenario
4.1 Pengujian Daftar Kumpulan Nilai (DKN) mahasiswa Menampilkan seluruh matakuliah yang pernah diambil mahasiswa fakultas ’09::Ilmu Komputer’, jurusan ‘10803::Teknik Komputer’ beserta nilai hurufnya.
Hasil yang diharapkan: KodeFakultas KodeJurusan NIM TahunAkademik Semester KodeKomputer KodeMatakuliah NamaMatakuliah NilaiHuruf Script SQL: SELECT f.NamaFakultas, j.NamaJurusan, kk.NIM, kk.TahunAkademik, kk.Semester, kk.KodeKomputer,mk.KodeMatakuliah,mk.NamaMatakuliah,kk.NilaiHuruf FROM fakultas f, jurusan j, mahasiswa m, khs kk, matakuliah mk WHERE j.KodeFakultas = f.KodeFakultas AND m.KodeJurusan = j.KodeJurusan AND kk.NIM = m.NIM AND kk.KodeKomputer=mk.KodeKomputer AND kk.KodeJurusan=mk.KodeJurusan AND j.KodeFakultas='09' AND m.KodeJurusan='10803' AND kk.NIM='08032310001' ORDER BY kk.KodeKomputer;
Hasil Pengujian:
Status : Sukses
96
Nomor Pengujian Deskripsi Skenario
4.2 Pengujian Transkrip Nilai Akhir (TNA) mahasiswa Menampilkan seluruh matakuliah yang pernah diambil mahasiswa fakultas ’09::Ilmu Komputer’, jurusan ‘10803::Teknik Komputer’ beserta nilai hurufnya, dengan asumsi jika ada matakuliah yang diulang, maka nilai terbaiklah yang akan diambil.
Hasil yang diharapkan: NamaFakultas NamaJurusan NIM TahunAkademik Semester KodeKomputer KodeMatakuliah NamaMatakuliah NilaiHuruf Script SQL: SELECT f.NamaFakultas, j.NamaJurusan, kk.NIM, kk.TahunAkademik, kk.Semester, kk.KodeKomputer,mk.KodeMatakuliah,mk.NamaMatakuliah,MIN(kk.NilaiHuruf) AS NilaiHuruf FROM fakultas f, jurusan j, mahasiswa m, khs kk, matakuliah mk WHERE j.KodeFakultas = f.KodeFakultas AND m.KodeJurusan = j.KodeJurusan AND kk.NIM = m.NIM AND kk.KodeKomputer=mk.KodeKomputer AND kk.KodeJurusan=mk.KodeJurusan AND j.KodeFakultas='09' AND m.KodeJurusan='10803' AND kk.NIM='08032310001' GROUP BY KodeKomputer ORDER BY kk.KodeKomputer;
Hasil Pengujian:
Status : Sukses
97
4.3 Pengujian Data informasi Transkrip Nilai Akhir (TNA) mahasiswa Menampilkan informasi mengenai transkrip mahasiswa fakultas ’09::Ilmu Komputer’, jurusan ‘10805::Komputerisasi Akuntansi’.
Nomor Pengujian Deskripsi Skenario
Hasil yang diharapkan: KodeFakultas IPK TanggalLulus Script SQL:
KodeJurusan NIM TanggalYudisium JudulTA BidangIlmu
JumlahSKS Predikat
JumlahNA NomorIjazah
SELECT dd.KodeFakultas, ee.KodeJurusan, Total.NIM, cc.NamaMahasiswa, SUM(Total.sks) AS JumlahSKS,SUM(Total.NilaiKumulatif) AS TotalNK,(SUM(Total.NilaiKumulatif)/SUM(Total.sks)) AS IPK, bb.TanggalYudisium, bb.JudulTA,bb.Predikat, bb.NomorIjazah, bb.TanggalLulus, bb.BidangIlmu FROM (SELECT a.NIM,a.KodeKomputer, a.KodeJurusan, b.sks, MIN(a.NilaiHuruf) as NilaiHuruf, MAX(a.NilaiKumulatif) as NilaiKumulatif FROM khs a, MataKuliah b WHERE a.KodeKomputer = b.KodeKomputer and a.KodeJurusan = b.KodeJurusan GROUP BY a.NIM,a.KodeKomputer,a.KodeJurusan ) AS Total, transkrip bb, mahasiswa cc, fakultas dd, jurusan ee WHERE Total.NIM = bb.NIM AND Total.NIM = cc.NIM AND Total.KodeJurusan = ee.KodeJurusan AND ee.KodeFakultas = dd.KodeFakultas AND Total.KodeJurusan = '10805' GROUP BY Total.nim;
Hasil Pengujian:
Status : Sukses
98