BAB 4 PERANCANGAN DAN IMPLEMENTASI
4.1 Perancangan Database Pada perancangan database dibagi dalam beberapa tahap perancangan. Tahapan tersebut antara lain adalah perancangan logical, perancangan konseptual dan perancangan fisikal.
4.1.1 Membangun Model Konseptual Data Local Pada tahapan ini perancangan dilakukan berdasarkan analisis langsung kepada system yang telah berjalan di SMA Galatia 3 saat ini. Dengan melakukan analisis tersebut maka hal ini akan mempermudah perancangan konseptual data dalam menentukan entity, atribut serta hubungan antar entity yang akan digunakan dalam perancangan sistem basis data.
4.1.1.1 Perancangan Basisdata Konseptual Perancangan basisdata konseptual meliputi langkah-langkah sebagai berikut: 1. Identifikasi tipe entitas 2. Identifikasi tipe hubungan 3. Identifikasi dan asosiasi atribut dengan entitas atau relationship tertentu 54
4. Menentukan domain atribut 5. Menentukan atribut candidate, primary, dan alternate keys 6. Mempertimbangkan penggunaan enhanced modeling concept 7. Memeriksa redundansi pada model 8. Validasi model data konseptual dengan transaksi user 9. Melakukan review model data konseptual dengan user
4.1.1.2 Indentifikasi Tipe Entity Indentifikasi tipe Entity adalah tahap awal dalam perancangan konseptual basis data. Indentifikasi ini bertujuan untuk memudahkan perancangan konseptual basis data dalam menentukkan atribut serta hubungannya dengan entity lain. Entity Name
Description
Aliases
Occurrence
MsSiswa
Istilah umum yang dipakai Murid
Setiap
untuk semua siswa yang
memiliki orang tua
terdaftar di SMA Galatia 3
atau
siswa
wali,
kelas,
absensi, data pribadi. MsOrangTua
Istilah umum yang dipakai Orang Tua
Setiap
untuk orang tua siswa
yang
orang
bersekolah
tua
anaknya pada
SMU Galatia 3, data
55
Entity Name
Description
Aliases
Occurrence berupa data ayah dan ibu
dari
siswa
tersebut MsWali
Istilah umum yang dipakai Wali
Data
untuk wali siswa
berupa ibu,
wali
dapat
data
ayah,
ataupun
wali
siswa MsGuru
Istilah umum yang dipakai Guru
Setiap guru minimal
untuk
memiliki satu mata
setiap
guru
yang
mengajar di SMA Galatia 3
pelajaran dan dapat menjadi wali kelas
MsKaryawan
Istilah umum yang dipakai Karyawan
Karyawan
dapat
untuk setiap orang bekerja
memanage data, atau
pada SMU Galatia 3 selain
dapat
profesi guru
laporan-laporan yang
melihat
ada tergantung dari jabatan
yang
dimiliki. MsUser
Tabel
entity
yang
berisi User
Setiap staff sekolah
mengenai data dari setiap
baik itu bagian TU,
user
guru, ataupun kepala
yang
menggunakan aplikasi
akan
sekolah
56
Entity Name
Description
MsTugas
Istilah umum yang dipakai Tugas
Setiap tugas dapat
untuk
dimiliki
setiap
Aliases
tugas
yang
Occurrence
oleh
satu
diberikan oleh guru sekolah
atau banyak siswa,
SMA Galatia 3
serta dimiliki oleh satu mata pelajaran
MsUlangan
Istilah umum yang dipakai Ulangan
Setiap ulangan dapat
untuk setiap ulangan
dimiliki
yang
oleh
satu
diberikan oleh guru sekolah
atau banyak siswa,
SMA Galatia 3
serta dimiliki oleh satu mata pelajaran
MsMatPel
MsKelas
Istilah umum yang dipakai Mata Pelajaran
Setiap mata pelajaran
untuk setiap mata pelajaran
dapat dimiliki oleh
yang diajarkan pada SMA
satu
Galatia 3
guru
Istilah umum yang dipakai Kelas
Setiap kelas memiliki
untuk tingkatan siswa di
banyak siswa, jadwal
SMA Galatia 3
kelas, dan satu wali
atau
banyak
kelas
Tabel 4.1 Tabel Indentifikasi Tipe Entity
57
4.1.1.2. Identifikasi tipe hubungan Tujuan
dari
tahap
ini
adalah
untuk
menentukan
hubunganhubungan yang ada antara jenis-jenis entitas yang telah diidentifikasikan. Indentifikasi tipe relasi antar entity sebagai berikut : Nama Entity
Multiplicity
Relasional
Nama Entity
Multiplicity
MsSiswa
1..1
Dimiliki
MsWali
1..1
1..1
Dimiliki
MsOrangTua
1..1
1..*
Dimiliki
MsAbsensi
1..*
1..1
Dimiliki
MsNilai
1..1
1..1
Memiliki
MsKelas
1..*
1..*
Dimiliki
MsTugas
1..*
1..*
Dimiliki
MsUlangan
1..*
1..1
Memiliki
MsMatPel
1..*
1..1
Memiliki
MsUser
1..1
MsKaryawan
1..1
Memiliki
MsUser
1..1
MsJadwal
1..*
Memiliki
MatPel
1..*
1..1
Memiliki
MsKelas
1..1
MsGuru
Tabel 4.2 Tabel Hubungan antar Entitas
Dari hasil identifikasi tipe entitas dan relasi diatas, maka ERD dari SMU GAalatia 3 adalah sebagai berikut :
58
Gambar 4.1 Entity Relationship Diagram Konseptual
4.1.1.3.
Identifikasi dan asosiasi atribut dengan entitas atau
relationship tertentu Tahap ini bertujuan untuk mengasosiasikan atribut dengan Entity atau Relationship Tipe yang cocok dan juga menentukan domain bagi atribut-atribut dalam model data konseptual. Atribut-atribut entity yang diidentifikasikan adalah :
59
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length MsSiswa
KdSiswa
Kode
unik
yang Varchar(7)
No
No
No
No
No
No
mengindetifikasikan setiap siswa SMU Galatia 3 NIS
No induk yang unik Varchar(6) pada
setiap
siswa
yang bersekolah di SMU Galatia 3 No_Reg
No registrasi yang Varhcar(7) diberikan
oleh
pemerintah terhadap siswa sekolah Nama_Siswa
Nama Siswa
Varchar (40)
No
No
Jenis_Kelamin
Jenis Kelamin siswa
Char(1)
No
No
Agama
Nama agama yang Varchar(8)
No
No
dari Varchar(12)
Yes
No
No handphone dari Varchar(12)
Yes
No
dianut
oleh
siswa
tersebut Telp
No
telepon
siswa tersebut Hp
60
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length siswa tersebut Alamat
Alamat dari siswa Varchar(50)
No
No
No
No
No
No
No
No
No
No
No
No
Yes
No
No
No
tersebut Propinsi
Propisnisi
dimana Varchar (20)
siswa tersebut tinggal KotaMadya
Kotamadya kabupaten
atau Varchar (20) dimana
siswa tersebut tinggal Kecamatan
Kecamatan
dimana Varchar (20)
siswa tersebut tinggal Kelurahan
Nama
Kelurahan Varchar (20)
dimana
siswa
tersebut tinggal kdPos
Kode
pos
tempat Numeric(5)
siswa tersebut tinggal Email
Alamat
surat Varchar(20)
elektronik dari siswa tersebut Tempat_Lahir
Tempat
dimana Varchar(15)
siswa
tersebut
61
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length dilahirkan Tgl_Lahir
Waktu siswa tersebut Datetime
No
No
No
No
No
No
Yes
No
Yes
No
dilahirkan Status_Diri
Status
yang Char(1)
menunjukkan apakah keluarga siswa yang bersekolah di SMU Galatia
3
lengkap
atau tdiak Status
Status
yang Varchar(12)
menunjukkan apakah siswa tersebut adalah siswa baru yang akan masuk, siswa aktif, atau alumni sekolah SMU Galatia 3 Golongan_Darah
Golongan darah dari Char(2) siswa tersebut
Anak_Ke
Urutan anak siswa Numeric(2) tersebut
di
dalam
62
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length keluarga Saudara_Kandung
Jumlah
saudara Numeric(2)
kandung
Yes
No
Yes
No
Yes
No
No
No
No
No
Yes
No
Yes
No
siswa
tersebut Saudara_Tiri
Jumlah saudara tiri Numeric(2) siswa tersebut
Saudara_Angkat
Jumlah
saudara Numeric(2)
angkat siswa tersebut Nama_Sekolah_Asal
Nama
sekolah Varhcar(40)
sebelum
siswa
tersebut masuk ke SMU Galatia 3 Alamat_Sekolah_Asal
Alamat
sekolah Varhcar(50)
sebelum
siswa
tersebut masuk ke SMU Galatia 3 STL_Tahun
Tahun dimana STL Varchar(4) siswa
tersebut
dikeluarkan STL_No
Nomor STL Siswa Varchar(8)
63
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length tersebut Foto_Siswa
Foto siswa tersebut Varchar(100) Yes
No
yang disimpan dalam bentuk lokasinya Wali
KdWali
Kode
unik
untuk Varchar (7)
No
No
No
No
Yes
No
Yes
No
No
No
Yes
No
Yes
No
No
No
mengindentifikasikan wali siswa Nama_Wali
Nama Wali
Varchar (40)
Tempat_Lahir
Tempat dimana Wali Varchar(15) tersebut dilahirkan
Tgl_Lahir
Waktu dimana Wali Datetime tersebut dilahirkan
Agama
Nama agama yang Varchar(8) dianut
oleh
Wali
tersebut Telp
No telepon dari Wali Varchar(12) tersebut
Hp
No handphone dari Varchar(12) Wali tersebut
Alamat
Alamat
dari
Wali Varchar(50)
64
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length tersebut Propinsi
Propisnisi
dimana Varchar (20)
No
No
No
No
No
No
No
No
No
No
Yes
No
No
Yes
No
No
Wali tersebut tinggal KotaMadya
Kotamadya kabupaten
atau Varchar (20) dimana
Wali tersebut tinggal Kecamatan
Kecamatan
dimana Varchar (20)
Wali tersebut tinggal Kelurahan
Nama
Kelurahan Varchar (20)
dimana Wali tersebut tinggal kdPos
Kode
pos
tempat Numeric(5)
Wali tersebut tinggal Email
Alamat
surat Varchar(20)
elektronik dari Wali tersebut KewargaNegaraan
Status warga negara Char(1) dari wali tersebut
Pekerjaan
Pekerjaan dari Wali Varchar(20) tersebut
65
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length Penghasilan
Perkiraan
Varchar(15)
Yes
No
terakhir Varchar(10)
Yes
No
No
No
No
No
Yes
No
Yes
No
No
No
penghasilan
yang
didapatkan
wali
selama sebulan Pendidikan
Pendidikan
yang diterima oleh wali
dari
siswa
unik
untuk Varchar (7)
tersebut msOrangTua
KdOrangTua
Kode
mengindentifikasikan Orang Tua siswa Nama_Ayah
Nama
Ayah
dari Varchar (40)
siswa tersebut Tempat_Lahir_Ayah
Tempat dimana Ayah Varchar(15) dari siswa tersebut dilahirkan
Tgl_Lahir_Ayah
Waktu dimana Ayah Datetime dari siswa tersebut dilahirkan
Status_Ayah
Status apakah ayah Char(1)
66
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length dari siswa tersebut masih hidup ataukah sudah meninggal Agama_Ayah
Nama agama yang Varchar(8) dianut
oleh
No
No
Yes
No
Yes
No
No
No
No
No
No
No
Ayah
dari siswa tersebut Telp_Ayah
No telepon dari Ayah Varchar(12) dari siswa tersebut
Hp_Ayah
No handphone dari Varchar(12) Ayah
dari
siswa
tersebut Alamat_Ayah
Alamat
dari
Ayah Varchar(50)
dari siswa tersebut Propinsi_Ayah
Propisnisi Ayah
dimana Varchar (20)
dari
siswa
tersebut tinggal KotaMadya_Ayah
Kotamadya kabupaten Ayah
atau Varchar (20) dimana
dari
siswa
tersebut tinggal
67
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length Kecamatan_Ayah
Kecamatan Ayah
dimana Varchar (20)
dari
No
No
No
No
No
No
Yes
No
No
Yes
No
No
Yes
No
siswa
tersebut tinggal Kelurahan_Ayah
Nama
Kelurahan Varchar (20)
dimana
Ayah
dari
siswa tersebut tinggal kdPos_Ayah
Kode
pos
Ayah
dari
tempat Numeric(5) siswa
tersebut tinggal Email_Ayah
Alamat
surat Varchar(20)
elektronik dari Ayah dari siswa tersebut KewargaNegaraan_Ayah Status warga negara Char(1) dari Ayah dari siswa tersebut Pekerjaan_Ayah
Pekerjaan dari Ayah Varchar(20) dari siswa tersebut
Penghasilan_Ayah
Perkiraan
Varchar(15)
penghasilan
yang
didapatkan
oleh
68
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length Ayah
dari
tersebut
siswa selama
sebulan Pendidikan_Ayah
Pendidikan
terakhir Varchar(10)
Yes
No
No
No
Yes
No
Yes
No
No
No
No
No
yang diterima oleh Ayah
dari
siswa
tersebut Nama_Ibu
Nama Ibu dari siswa Varchar (40) tersebut
Tempat_Lahir_Ibu
Tempat dimana Ibu Varchar(15) dari siswa tersebut dilahirkan
Tgl_Lahir_Ibu
Waktu dimana Ibu Datetime dari siswa tersebut dilahirkan
Status_Ibu
Status
apakah
Ibu Char(1)
dari siswa tersebut masih hidup ataukah sudah meninggal Agama_Ibu
Nama agama yang Varchar(8)
69
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length dianut oleh Ibu dari siswa tersebut Telp_Ibu
No telepon dari Ibu Varchar(12)
Yes
No
Yes
No
No
No
No
No
No
No
No
No
No
No
dari siswa tersebut Hp_Ibu
No handphone dari Varchar(12) Ibu
dari
siswa
tersebut Alamat_Ibu
Alamat dari Ibu dari Varchar(50) siswa tersebut
Propinsi_Ibu
Propisnisi Ibu
dimana Varchar (20)
dari
siswa
tersebut tinggal KotaMadya_Ibu
Kotamadya kabupaten Ibu
atau Varchar (20) dimana
dari
siswa
tersebut tinggal Kecamatan_Ibu
Kecamatan Ibu
dimana Varchar (20)
dari
siswa
tersebut tinggal Kelurahan_Ibu
Nama
Kelurahan Varchar (20)
70
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length dimana
Ibu
dari
siswa tersebut tinggal kdPos_Ibu
Kode pos tempat Ibu Numeric(5)
No
No
Yes
No
No
Yes
No
No
Varchar(15)
Yes
No
terakhir Varchar(10)
Yes
No
dari siswa tersebut tinggal Email_Ibu
Alamat
surat Varchar(20)
elektronik dari Ibu dari siswa tersebut KewargaNegaraan_Ibu
Status warga negara Char(1) dari Ibu dari siswa tersebut
Pekerjaan_Ibu
Pekerjaan dari Ibu Varchar(20) dari siswa tersebut
Penghasilan_Ibu
Perkiraan penghasilan
yang
didapatkan oleh Ibu dari siswa tersebut selama sebulan Pendidikan_Ibu
Pendidikan
yang diterima oleh
71
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length Ibu
dari
siswa
tersebut MsGuru
KdGuru
Kode
unik
yang Varchar(6)
No
No
No
No
No
No
Yes
No
Yes
No
No
No
No
No
mengidentifikasikan setiap
guru
mengajar
di
yang SMU
Galatia 3 NIP
No induk yang unik Varchar(9) yang diberikan oleh pemerintah
kepada
setiap staff sekolah Nama_Guru
Nama Guru
Prefik
Gelar yang berada di Varchar(10) depan
nama
Varchar (40)
guru
tersebut Postfik
Gelar yang berada di Varchar(10) akhir
nama
guru
tersebut Jenis_Kelamin
Jenis Kelamin Guru
Char(1)
Agama
Nama agama yang Varchar(8)
72
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length dianut
oleh
Guru
tersebut Telp
No telepon dari Guru Varchar(12)
Yes
No
Yes
No
Guru Varchar(50)
No
No
dimana Varchar (20)
No
No
No
No
No
No
No
No
No
No
tersebut Hp
No handphone dari Varchar(12) Guru tersebut
Alamat
Alamat
dari
tersebut Propinsi
Propisnisi
Guru tersebut tinggal KotaMadya
Kotamadya kabupaten
atau Varchar (20) dimana
Guru tersebut tinggal Kecamatan
Kecamatan
dimana Varchar (20)
Guru tersebut tinggal Kelurahan
Nama
Kelurahan Varchar (20)
dimana Guru tersebut tinggal kdPos
Kode
pos
tempat Numeric(5)
Guru tersebut tinggal
73
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length Email
Alamat
surat Varchar(20)
Yes
No
No
No
No
No
No
No
No
No
No
No
elektronik dari Guru tersebut Tipe_Pegawai
Status atau tipe guru Char(1) tersebut
dalam
sekolah SMU Galatia 3,
apakah
sebagai
guru tetap atau guru honorer. Lulusan
Nama
universitas Varchar(25)
tempat guru itu lulus Tgl_Masuk
Waktu dimana guru Datetime itu
diterima
untu
mengajar di sekolah SMU Galatia 3 SK
No dari SK yang Varchar(10) dimiliki oleh guru tersebur
Kajian
Mata Pelajaran yang Varchar (20) dikuasai
74
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length MsKaryawan
KdKaryawan
Kode
Unik
yang Varchar (6)
No
No
No
No
No
No
No
No
No
No
No
No
No
No
mengidentifikasikan Keapa Sekolah yang bertugas pada SMU Galatia 3 NIP
No induk yang unik Numeric(10) yang diberikan oleh pemerintah
kepada
setiap staff sekolah Nama
Nama
Karyawan Varchar (40)
tersebut Jabatan
Jabatan
dari
staff Varchar (10)
tersebut Tgl_Masuk
Waktu dimana guru Datetime itu
diterima
untu
mengajar di sekolah SMU Galatia 3 Jenis_Kelamin
Jenis Kelamin dari Char(1) staff tersebut
Agama
Nama agama yang Varchar(8)
75
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length dianut
oleh
Staff
tersebut Telp
No telepon dari Staff Varchar(12)
Yes
No
Yes
No
Staff Varchar(50)
No
No
dimana Varchar (20)
No
No
No
No
No
No
No
No
No
No
tersebut Hp
No handphone dari Varchar(12) Staff tersebut
Alamat
Alamat
dari
tersebut Propinsi
Propisnisi
Staff tersebut tinggal KotaMadya
Kotamadya kabupaten
atau Varchar (20) dimana
Staff tersebut tinggal Kecamatan
Kecamatan
dimana Varchar (20)
Staff tersebut tinggal Kelurahan
Nama
Kelurahan Varchar (20)
dimana Staff tersebut tinggal kdPos
Kode
pos
tempat Numeric(5)
Staff tersebut tinggal
76
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length Email
Alamat
surat Varchar(20)
Yes
No
No
No
Varchar(10)
No
No
yang Varchar(15)
No
No
No
No
No
No
No
No
yang Varchar(100) No
No
elektronik dari Staff tersebut MsUser
User_Name
Kode
unik
yang Varchar(10)
mengindentifikasi setiap user yang akan mengakses aplikasi Password
Password
Status
Status
User
mengakses sistem Absensi
Kdabsensi
Kode
unik
yang Varchar(8)
mengidentifikasi suatu absensi Jenis_absensi
Jenis mengapa
absensi Varchar(5) siswa
tersebut absen Tanggal_absen
Waktu
yang Datetime
menunjukkan kapan seorang siswa absen Keterangan
Keterangan
77
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length berhubungan dengan absennya
siswa
tersebut MsKelas
KdKelas
Kode
unik
yang Varchar(3)
No
No
No
No
No
No
No
No
No
No
Yes
No
Yes
No
mengidentifikasi suatu nilai Nama_Kelas MsMataPelajaran Kd_MatPel
Nama Kelas Kode
unik
Varchar (10) yang Varchar (6)
mengidentifikasi suatu mata pelajaran Nama_MatPel
Nama mata pelajaran
Varchar (20)
SK
Standar sebuah mata int pelajaran
PPK_Nilai
Nilai
Pengetahuan Int
dan
pemahaman
konsep
dari
siswa
tersebut PPK_Huruf
Nilai
Pengetahuan Varchar(20)
dan
pemahaman
konsep
dari
siswa
78
Nama Entity
Atribut
Deskripsi
Produk Data
Nulls Multi Dan
Valued
Length tersebut
dalam
format tulisan Praktik_Nilai
Nilai
Praktik
dari Int
Yes
No
dari Varchar(20)
Yes
No
Yes
No
No
No
seorang siswa Praktik_Huruf
Nilai
Praktik
seorang siswa dalam format tulisan Sikap
Nilai
Sikap
dari Varchar(2)
seorang siswa Semester
Semester dari nila Numeric(1) siswa tersebut Tabel 4.3 Tabel Atribut
4.1.1.4. Menentukan domain atribut Domain atribut adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. Domain merupakan fitur yang sangat kuat dalam model relational. Setiap atribut di dalam relasi ditetapkan dalam domain. Domain mungkin berbeda untuk satu atau lebih atribut, ditetapkan dalam
79
domain yang sama. Dari hasil penentuan atribut maka didapatkan domain atribut sebagai berikut: Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran MsSiswa
KdSiswa
Varchar(7)
Diisi dengan kd S[09][0-9][0-9]/2
digit
tahun waktu input NIS
Varchar(6)
Diisi dengan 6 angka
No_Reg
Varhcar(7)
Diisi
dengan
angka,
maksimal 7 angka Nama_Siswa
Varchar (40)
Diisi
dengan
huruf,
maksimal 40 huruf Jenis_Kelamin
Char(1)
Diisi hanya dengan 1 character yaitu L yang menunjukkan dan
laki-laki
P
yang
menunjukkan perempuan Agama
Varchar(8)
Diisi
dengan
huruf,
maksimal 8 huruf Telp
Varchar(12)
Diisi
dengan
angka,
maksimal 12 angka Hp
Varchar(12)
Diisi
dengan
angka, 80
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran maksimal 12 angka Alamat
Varchar(50)
Diisi
dengan
huruf,
maksimal 50 huruf Propinsi
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf KotaMadya
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kecamatan
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kelurahan
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf kdPos
Numeric(5)
Diisi
dengan
angka,
maksimal 5 Email
Varchar(20)
Diisi simbol
dengan
huruf,
atau
angka
maksimal 20 huruf Tempat_Lahir
Varchar(15)
Diisi
dengan
huruf,
maksimal 15 huruf Tgl_Lahir
Datetime
Diisi dengan tanggal, bulan dan tahun
Status_Diri
Char(1)
Diisi hanya dengan 1
81
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran character yaitu L yang menunjukkan
keluarga
lengkap dan T yang menunjukkan
keluarga
tidak lengkap Status
Varchar(12)
Diisi
dengan
pilihan
calon siswa, aktif, atau alumni Golongan_Darah
Char(2)
Diisi
dengan
huruf,
maksimal 2 huruf Anak_Ke
Numeric(2)
Diisi dengan 2 angka
Saudara_Kandung
Numeric(2)
Diisi dengan 2 angka
Saudara_Tiri
Numeric(2)
Diisi dengan 2 angka
Saudara_Angkat
Numeric(2)
Diisi dengan 2 angka
Nama_Sekolah_Asal
Varhcar(40)
Diisi
dengan
huruf,
maksimal 40 huruf Alamat_Sekolah_Asal
Varhcar(50)
Diisi
dengan
huruf,
maksimal 50 huruf STL_Tahun
Varchar(4)
Diisi dengan tahun
STL_No
Varchar(8)
Diisi dengan 8 angka
Foto_Siswa
Varchar(100)
Diisi
dengan
huruf,
82
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran maksimal 100 huruf MsWali
KdWali
Varchar (7)
Diisi dengan kd W[09][0-9][0-9]/2
digit
tahun waktu input Nama_Wali
Varchar (40)
Diisi
dengan
huruf,
maksimal 40 huruf Tempat_Lahir
Varchar(15)
Diisi
dengan
angka,
maksimal 15 angka Tgl_Lahir
Datetime
Diisi dengan tanggal, bulan dan tahun
Agama
Varchar(8)
Diisi
dengan
huruf,
maksimal 8 huruf Telp
Varchar(12)
Diisi
dengan
angka,
maksimal 12 angka Hp
Varchar(12)
Diisi
dengan
angka,
maksimal 12 angka Alamat
Varchar(50)
Diisi
dengan
huruf,
maksimal 50 huruf Propinsi
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf KotaMadya
Varchar (20)
Diisi
dengan
huruf,
83
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran maksimal 20 huruf Kecamatan
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kelurahan
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf kdPos
Numeric(5)
Diisi
dengan
angka,
maksimal 5 Email
Varchar(20)
Diisi
dengan
huruf,
atau
angka
simbol
maksimal 20 huruf KewargaNegaraan
Char(1)
Diisi dengan I sebagai warga
Negara
Indonesia,
dan
A
sebagai warga Negara asing Pekerjaan
Varchar(20)
Diisi
dengan
huruf
maksimal 20 huruf Penghasilan
Varchar(15)
Diisi dengan 15 angka
Pendidikan
Varchar(10)
Diisi simbol
dengan
huruf,
atua
angka
maksimal 10 huruf
84
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran msOrangTua
KdOrTu
Varchar (7)
Diisi dengan kd O[09][0-9][0-9]/
2
digit
tahun waktu input Nama_Ayah
Varchar (40)
Diisi
dengan
huruf,
maksimal 40 huruf Tempat_Lahir_Ayah
Varchar(15)
Diisi
dengan
angka,
maksimal 15 angka Tgl_Lahir_Ayah
Datetime
Diisi dengan tanggal, bulan dan tahun
Status_Ayah
Char(1)
Diisi dengan 1 character yang berisi H berarti masih hidup, atau M yang
berarti
telah
meninggal Agama_Ayah
Varchar(8)
Diisi
dengan
huruf,
maksimal 8 huruf Telp_Ayah
Varchar(12)
Diisi
dengan
angka,
maksimal 12 angka Hp_Ayah
Varchar(12)
Diisi
dengan
angka,
maksimal 12 angka Alamat_Ayah
Varchar(50)
Diisi
dengan
huruf,
85
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran maksimal 50 huruf Propinsi_Ayah
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf KotaMadya_Ayah
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kecamatan_Ayah
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kelurahan_Ayah
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf kdPos_Ayah
Numeric(5)
Diisi
dengan
angka,
maksimal 5 Email_Ayah
Varchar(20)
Diisi
dengan
huruf,
atau
angka
simbol
maksimal 20 huruf KewargaNegaraan_Ayah Char(1)
Diisi dengan I sebagai warga
Negara
Indonesia,
dan
A
sebagai warga Negara asing Pekerjaan_Ayah
Varchar(20)
Diisi
dengan
huruf
maksimal 20 huruf
86
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran Penghasilan_Ayah
Varchar(15)
Diisi dengan 15 angka
Pendidikan_Ayah
Varchar(10)
Diisi
dengan
huruf,
atua
angka
simbol
maksimal 10 huruf Nama_Ibu
Varchar (40)
Diisi
dengan
huruf,
maksimal 40 huruf Tempat_Lahir_Ibu
Varchar(15)
Diisi
dengan
angka,
maksimal 15 angka Tgl_Lahir_Ibu
Datetime
Diisi dengan tanggal, bulan dan tahun
Status_Ibu
Char(1)
Diisi dengan 1 character yang berisi H berarti masih hidup, atau M yang
berarti
telah
meninggal Agama_Ibu
Varchar(8)
Diisi
dengan
huruf,
maksimal 8 huruf Telp_Ibu
Varchar(12)
Diisi
dengan
angka,
maksimal 12 angka Hp_Ibu
Varchar(12)
Diisi
dengan
angka,
maksimal 12 angka
87
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran Alamat_Ibu
Varchar(50)
Diisi
dengan
huruf,
maksimal 50 huruf Propinsi_Ibu
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf KotaMadya_Ibu
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kecamatan_Ibu
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kelurahan_Ibu
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf kdPos_Ibu
Numeric(5)
Diisi
dengan
angka,
maksimal 5 Email_Ibu
Varchar(20)
Diisi
dengan
huruf,
atau
angka
simbol
maksimal 20 huruf KewargaNegaraan_Ibu
Char(1)
Diisi dengan I sebagai warga
Negara
Indonesia,
dan
A
sebagai warga Negara asing Pekerjaan_Ibu
Varchar(20)
Diisi
dengan
huruf
88
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran maksimal 20 huruf Penghasilan_Ibu
Varchar(15)
Diisi dengan 15 angka
Pendidikan_Ibu
Varchar(10)
Diisi simbol
dengan
huruf,
atua
angka
maksimal 10 huruf MsGuru
KdGuru
Varchar(6)
Diisi dengan kd O[09][0-9]/ 2 digit tahun waktu input
NIP
Varchar(9)
Diisi simbol
dengan
huruf,
atua
angka
maksimal 10 huruf Nama
Varchar (40)
Diisi simbol
dengan
huruf,
atua
angka
maksimal 40 huruf Prefik
Varchar(10)
Diisi simbol
dengan
huruf,
atua
angka
maksimal 10 huruf Postfik
Varchar(10)
Diisi simbol
dengan
huruf,
atua
angka
maksimal 10 huruf Jenis_Kelamin
Char(1)
Diisi hanya dengan 1
89
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran character yaitu L yang menunjukkan dan
laki-laki
P
yang
menunjukkan perempuan Agama
Varchar(8)
Diisi
dengan
huruf,
maksimal 8 huruf Telp
Varchar(12)
Diisi
dengan
angka,
maksimal 12 angka Hp
Varchar(12)
Diisi
dengan
angka,
maksimal 12 angka Alamat
Varchar(50)
Diisi
dengan
huruf,
maksimal 50 huruf Propinsi
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf KotaMadya
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kecamatan
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kelurahan
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf
90
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran kdPos
Numeric(5)
Diisi
dengan
angka,
maksimal 5 Email
Varchar(20)
Diisi simbol
dengan
huruf,
atau
angka
maksimal 20 huruf Tipe_Pegawai
Char(1)
Diisi hanya dengan 1 character yaitu H yang menunjukkan
pegawai
honorer dan T yang menunjukkan
pegawai
tetap Lulusan
Varchar(25)
Diisi
dengan
huruf,
maksimal 25 huruf Tgl_Masuk
Datetime
Diisi dengan tanggal, bulan dan tahun
SK
Varchar(10)
Diisi
dengan
alphanumeric, maksimal 25 karakter Kajian
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf MsKaryawan
KdKaryawan
Varchar (6)
Diisi dengan kd O[0-
91
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran 9][0-9]/ 2 digit tahun waktu input NIP
Numeric(10)
Diisi simbol
dengan
huruf,
atua
angka
maksimal 10 huruf Nama
Varchar (40)
Diisi simbol
dengan
huruf,
atua
angka
maksimal 40 huruf Jabatan
Varchar (10)
Diisi dengan TU atau Kepala Sekolah
Tgl_Masuk
Datetime
Diisi dengan tanggal, bulan dan tahun
Jenis_Kelamin
Char(1)
Diisi hanya dengan 1 character yaitu L yang menunjukkan dan
laki-laki
P
yang
menunjukkan perempuan Agama
Varchar(8)
Diisi
dengan
huruf,
maksimal 8 huruf Telp
Varchar(12)
Diisi
dengan
angka,
92
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran maksimal 12 angka Hp
Varchar(12)
Diisi
dengan
angka,
maksimal 12 angka Alamat
Varchar(50)
Diisi
dengan
huruf,
maksimal 50 huruf Propinsi
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf KotaMadya
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kecamatan
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf Kelurahan
Varchar (20)
Diisi
dengan
huruf,
maksimal 20 huruf kdPos
Numeric(5)
Diisi
dengan
angka,
maksimal 5 Email
Varchar(20)
Diisi simbol
dengan
huruf,
atau
angka
maksimal 20 huruf MsUser
User_Name
Varchar(10)
Diisi
dengan
alpha
numeric maksimal 10 karakter
93
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran Password
Varchar(10)
Diisi
dengan
alpha
numeric maksimal 10 karakter Status
Varchar(15)
Diisi
dengan
alpha
numeric maksimal 15 karakter Absensi
Kdabsensi
Varchar(8)
Diiisi dengan A[0-9][09][0-9][0-9]/
2
digit
tahun input Jenis_absensi
Varchar(5)
Diisi dengan alpha, izin, atau sakit
Tanggal_absen
Datetime
Diisi
dengan
tanggal
waktu absen Keterangan
Varchar(100)
Diisi
dengan
alphanumeric, maksimal 100 karakter MsKelas
KdKelas
Varchar(3)
Diisi dengan K[0-9][09]
Nama_Kelas
Varchar (10)
Diisi
dengan
alphanumeric maksimal 10 karakter
94
Nama Entity
Atribut
Tipe
Data Domain Atribut
Dan Ukuran MsMataPelajaran Kd_MatPel
Varchar (6)
Diisi dengan M[0-9][09]K[0-9][0-9]
Nama_MatPel
Varchar (20)
Diisi
dengan
alphanumeric maksimal 20 karakter SK
int
Diisi dengan numeric
PPK_Nilai
Int
Diisi dengan numeric
PPK_Huruf
Varchar(20)
Diisi
dengan
alphanumeric maksimal 20 karakter Praktik_Nilai
Int
Diisi dengan numeric
Praktik_Huruf
Varchar(20)
Diisi
dengan
alphanumeric maksimal 20 karakter Sikap
Varchar(2)
Diisi
dengan
alphanumeric maksimal 2 karakter Semester
Numeric(1)
Diisi dengan numeric sebesar 1 digit
Tabel 4.4 Tabel Domain 95
4.1.1.5. Menentukan atribut candidate, primary, dan alternate keys Dalam tahapan ini kita akan menentukan apa saja yang akan menjadi primary key, candidate key, dan altenate key dalam suatu entity. Candidate key adalah sekelompok atribut yang minimal dan secara unik mengidentifikasikan tiap occurence dari entity type. Primary key adalah key yang dipilih untuk mengidentifikasikan secara unik tiap occurence dari entity type. Ketika memilih primary key diantara candidate key, kita dapat mengunakan panduan sebagai berikut: ¾ Candidate key dengan kumpulan attribut yang minimal ¾ Candidate key yang jarang berubah ¾ Candidate key yang memiliki karakter-karakter paling sedikit ¾ Candidate key dengan nilai maksimal paling rendah ¾ Candidate key yang paling mudah digunakan dari sudut pandang
user
Setelah menentukan entitas, relationship dan atribut serta domain, maka sekarang kita akan menentukan key yang mendefinisikan entitas secara unik. Tabel di bawah ini berisikan dokumentasi mengenai atributatribut yang terpilih sebagai Primary Key untuk setiap entitas yang telah didefinisikan di atas :
96
Nama Entity
Candidate Key
Primary Key
MsSiswa
KdSiswa, NIS
KdSiswa
MsWali
Kdwali
Kdwali
MsOrangTua
KdOrTu
KdOrTu
MsGuru
KdGuru, NIP
KdGuru
MsKaryawan
Kd_Karyawan, NIP
KdKaryawan
MsUser
User_Name
User_Name
MsTugas
KdTugas
KdTugas
MsUlangan
KdUlangan
KdUlangan
MsAbsensi
Kd_absensi
Kd_absensi
MsKelas
Kd_Kelas
Kd_Kelas
MsJadwal
Kd_Jadwal
Kd_Jadwal
MsMataPelajaran
Kd_MatPel
Kd_MatPel
Tabel 4.5 tabel Candidate Key dan Primary Key
97
Gambar 4.2 Entity Relationship Diagram Konseptual Dengan Penambahan Primary key
4.1.1.6. Memeriksa redundansi pada model Pada bagian ini kita akan memeriksa apakah diagram yang kita rancang memiliki redudansi data, jika terdapat redudansi pada diagram yang telah kita rancang maka perlu dihilangkan. Dalam bagian ini terdapat 2 tahap yaitu :
98
1. Memeriksa ulang hubungan one-to-one. Setelah
dilakukan
pengecekan
terhadap
diagram
yang
dirancang maka tidak terdapat hubungan one-to-one yang dapat digabung dengan tabel lain. 2. Menghilangkan hubungan yang redundant Sebuah hubungan disebut redundant jika informasi yang sama dapat
diperoleh
melalui hubungan yang lain. Setelah
melakukan pengecekan terhadap rancangan diagram yang ada, maka tidak diketemukan model redudansi pada setiap hubungan yang ada.
4.1.1.7. Validasi model data konseptual dengan transaksi user Tahap berikutnya dalam rancangan konseptual ini adalah melakukan validasi model konseptual dengan transaksi user. Berikut ini rincian dari tahapan tersebut : Langkah-langkah user dalam melakukan transaksi : 1. Memperoleh informasi mengenai data dari setiap siswa dan siswi yang bersekolah di SMU Galatia 3 2. Memperoleh informasi mengenai data dari setiap guru, staff TU, dan kepala sekolah yang bekerja di Sekolah SMU Galatia 3 99
3. Memasukkan informasi baru mengenai data siswa atau siswi baru sekolah SMU Galatia 3 yang dibuat oleh staff TU 4. Memasukkan informasi baru mengenai data dari setiap guru, staff TU, ataupun kepala sekolah baru yang bekerja pada sekolah SMU Galatia 3. 5. Memperoleh informasi mengenai nilai dari setiap siswa dan siswi sekolah SMU Galatia 3 6. Memperoleh informasi mengenai jumlah absensi dari setiap siswa yang bersekolah di SMU Galatia 3.
Masukkan data a. Insert detail MsSiswa b. Insert detail MsGuru c. Insert detail MsKepSek d. Insert detail MsMatPel e. Insert detail MsNilai f. Insert detail MsOrTu g. Insert detail MsWali h. Insert detail msAbsensi i. Insert detail MsKelas j. Insert detail MsJadwal k. Insert detail MsUser l. Insert detail MsTu
100
Update / Delete data a. Update detail MsSiswa b. Update detail MsGuru c. Update detail MsKepSek d. Update detail MsMatPel e. Update detail MsNilai f. Update detail MsOrTu g. Update detail MsWali h. Update detail msAbsensi i. Update detail MsJadwal j. Update detail MsUser k. Update detail MsTu Data Queries a. Menampilkan data siswa b. Menampilkan data orang tua c. Menampilkan data wali d. Menampilkan data guru e. Menampilkan data mata pelajaran f. Menampilkan data nilai g. Menampilkan jadwal h. Menampilkan data kelas i. Menampilkan data absensi
101
4.1.1.8. Melakukan review model data konseptual dengan user Melakukan review terhadap model konseptual data dengan user untuk menjamin model telah merepresentasikan permintaan data pada perusahaan. Setelah kami mewawancarai calon pengguna applikasi, mereka sudah tidak memerlukan penambahan entity maupun atribut – atribut lain.
4.1.2. Perancangan Basisdata Logikal Pada tahapan ini, model data konseptual yang telah dibuat pada tahap perancangan basis data konseptual akan dipetakan ke dalam model data logikal. Keseluruhan proses dari pengembangan pada tahap ini adalah penggunaan teknik normalisasi untuk menguji kebenaran model data logikal. Kemudian dari model data logikal lokal akan dikombinasikan menjadi model data logikal global tunggal. Adapun langkah-langkah dalam tahapan ini adalah sebagai berikut : 1. Penurunan relasi untuk model data logical 2. Validasi relasi menggunakan normalisasi 3. Validasi relasi terhadap transaksi user 4. Memeriksa integrity constraints 5. Melakukan review model data logikal dengan user 6. Mempertimbangkan perkembangan di masa depan 102
7. Pemilihan Database Management System
4.1.2.1. Penurunan relasi untuk model data logical Dalam menentukan relasi – relasi untuk model data logikal meliputi langkah – langkah sebagai berikut : 1. Strong entity types dan Weak Entity types 2. One-to-many binary relationship types 3. One-to-one binary relationship types 4. Superclass/ subclass relationship types 5. Many-to-many binary relationship types
4.1.2.1.1. Strong entity types Strong entity adalah objek di representasikan oleh atritbut nya,dan karena objek mudah di kenali,suatu subset dari atribut ini membentuk sebuah primary key untuk mengidentifikasi sebuah instance dari suatu entity.tipe entity yang memiliki primary keys disebut Strong Entity.Yang termasuk Strong Entity adalah sebagai berikut: 1. MsSiswa (KdSiswa, NIS, NoReg, NamaSiswa, TempatLahir, TglLahir, JenisKelamin, Agama, Telp, Hp, Alamat, Propinsi, Kotamadya, Kecamatan, Kelurahan, KdPos, Email, KdWali, KdOrangTua,
StatusDiri,
GolonganDarah,
AnakKe, 103
SaudaraKandung, SaudaraTiri, SaudaraAngkat, KelasTerima, TglTerima,
NamaSekolahAsal,
AlamatSekolahAsal,
STLTahun, STLNo, FotoSiswa) 2. MsGuru (KdGuru, NIP, Nama, TempatLahir, TglLahir, JenisKelamin,
Agama,
Telp,
Hp,
Alamat,
Propinsi,
Kotamadya, Kecamatan, Kelurahan, KdPos, Email, Prefix, Postfix,
TipePegawai,
JenisKelamin,
Kajian,
Lulusan,
TglMasuk, SK, UserName) 3. MsUser (UserName, Pass, Status) 4. MsMatPel
(KdMatPel,
NamaMatPel,
NilaiKetuntasan,
KdGuru) 5. MsKelas( KdKelas, KdSiswa, NamaKelas)
4.1.2.1.2. One-to-many binary relationship types Pembentukan relasi biner one to many (1:*), merupakan bagian dari pembentukan relasi model data logical. Dalam Pembentukan relasi biner one to many (1:*), yang harus diperhatikan adalah multiplicity dari 2 (dua) buah entitas yang ada. Entitas-entitas tersebut adalah :
104
Hubungan MsOrangTua dengan MsSiswa
MsKelas
(
KdKelas,
KdSiswa, MsSiswa
NamaKelas )
(KdSiswa,
Kdkelas,
NIS,
NoReg,
NamaSiswa, TempatLahir, TglLahir, JenisKelamin, Agama, Telp, Hp, Alamat, Propinsi, Kotamadya,
primary key kdKelas
Kecamatan, Kelurahan, KdPos, Email, KdWali, KdOrangTua, StatusDiri, GolonganDarah, AnakKe, SaudaraKandung, KelasTerima,
SaudaraTiri, TglTerima,
AlamatSekolahAsal,
SaudaraAngkat, NamaSekolahAsal,
STLTahun,
STLNo,
FotoSiswa) Primary key kdSiswa Foreign key Kdkelas references MsKelas(kdKelas)
4.1.2.1.3. One-to-one binary relationship types One to one binary relationship adalah hubungan 1-1 antar entitas,berarti bahwa tiap entitas di masing2 set minimal ada satu entitas di salah satu set yang berhubungan. Entitas-entitas tersebut adalah :
105
Hubungan MsUser dengan MsGuru
MsUser ( UserName, Pass, Status)
MsGuru (kdGuru ,NIP ,nama ,prefix ,postfix ,tipepegawai ,jeniskelamin ,kajian ,lulusan tglmasuk
Primary key username
,SK ,UserName ) primary key kdGuru foreign key username references MsUser (username)
Hubungan Mskelas dengan MsJadwal
MsKelas
(
KdKelas,
NamaKelas ) primary key kdKelas
KdSiswa, MsJadwal ( KdJadwal, KdKelas) Primary key KdJadwal foreign key username references KdKelas
106
Hubungan MsSiswa dengan MsOrangTua
MsSiswa
(KdSiswa,
Kdkelas,
NoReg,
NamaSiswa,
NIS, msOrangTua ( KdOrangTua, NamaAyah, NamaIbu,
TempatLahir, AlamatAyah, AlamatIbu, )
TglLahir, JenisKelamin, Agama, Telp, Hp,
Alamat,
Propinsi,
primary key kdOrangTua
Kotamadya,
Kecamatan, Kelurahan, KdPos, Email, KdWali,
KdOrangTua,
StatusDiri,
GolonganDarah,
AnakKe,
SaudaraKandung,
SaudaraTiri,
SaudaraAngkat,
KelasTerima,
TglTerima,
NamaSekolahAsal,
AlamatSekolahAsal, STLTahun, STLNo, FotoSiswa) Primary key kdSiswa Foreign
key
Kdkelas
references
MsKelas(kdKelas)
4.1.2.1.4. Superclass/ subclass relationship types Setelah dilakukan pengecekan, disimpulkan bahwa dalam studi kasus kami tidak terdapat relasi superclass / subclass. 107
4.1.2.1.5. Many-to-many binary relationship types Tujuan dari pada tahap ini adalah untuk memisahkan hubungan Many-to-many binary relationship types, dengan cara membuat suatu tabel baru yang dapat menghubungkan table-tabel tersebut. MsSiswa (KdSiswa, Kdkelas, NIS, NoReg, NamaSiswa, msAbsensi (kdAbsensi varchar(8) not TempatLahir, TglLahir, JenisKelamin, Agama, Telp, null, Hp,
Alamat,
Propinsi,
Kotamadya,
Jenis_Absensi
Kecamatan, keterangan
varchar(50),
char(1), primary
Kelurahan, KdPos, Email, KdWali, KdOrangTua, key(kdAbsensi)) StatusDiri, GolonganDarah, AnakKe, SaudaraKandung, SaudaraTiri, SaudaraAngkat, KelasTerima, TglTerima, NamaSekolahAsal,
AlamatSekolahAsal,
STLTahun,
STLNo, FotoSiswa) Primary key kdSiswa Foreign key Kdkelas references MsKelas(kdKelas)
Detail Absensi(KdSiswa, KdAbsensi, keterangan) Primary key(KdSiswa, KdAbsensi)
108
Foreign key KdSiswa Referense msSiswa(KdSiswa) Foreign key KdAbsensi reference msAbsensi(KdAbsensi) MsMatPel
(KdMatPel,
NilaiKetuntasan, KdGuru)
NamaMatPel, MsGuru
(KdGuru,
NIP,
Nama,
TempatLahir,
TglLahir, JenisKelamin, Agama, Telp, Hp, Alamat, Propinsi, KdPos,
Kotamadya, Email,
Prefix,
Kecamatan, Postfix,
Kelurahan, TipePegawai,
JenisKelamin, Kajian, Lulusan, TglMasuk, SK, UserName)
DetailMatpel(KdMatpel, KdGuru) Primary key(KdMatpel, KdGuru) Foreign key KdMatpel reference MsMatPel(KdMatpel) Foreign key KdGuru reference MsGuru(KdGuru)
109
MsSiswa (KdSiswa, Kdkelas, NIS,
NoReg,
NamaSiswa,
TempatLahir, JenisKelamin, Hp,
TglLahir, Agama,
Alamat,
Telp,
MsMatPel (KdMatPel, NamaMatPel, NilaiKetuntasan, KdGuru)
MsUlangan (kdUlangan, Nama_Ulangan, semester primary key kdUlangan
Propinsi,
Kotamadya,
Kecamatan,
Kelurahan,
KdPos,
KdWali,
Email,
KdOrangTua,
StatusDiri,
GolonganDarah,
AnakKe,
SaudaraKandung,
SaudaraTiri,
SaudaraAngkat,
KelasTerima,
TglTerima,
NamaSekolahAsal, AlamatSekolahAsal, STLTahun, STLNo, FotoSiswa) Primary key kdSiswa Foreign key Kdkelas references
MsDetailUlangan(kdUlangan, kdSiswa, kdMatPel, nilai int, rata_rata) Primary Key(kdUlangan, kdSiswa, kdMatPel)
Foreign key kdUlangan reference MsUlangan(kdUlangan) Foreign key KdMatpel reference MsMatPel(KdMatpel) Foreign key KdSiswa Referense msSiswa(KdSiswa)
110
MsSiswa (KdSiswa, Kdkelas, NIS, NoReg, NamaSiswa, TempatLahir, TglLahir, JenisKelamin, Agama, Telp,
Hp,
Alamat,
Kotamadya,
Propinsi,
MsMatPel (KdMatPel, NamaMatPel, NilaiKetuntasan, KdGuru)
MsTugas (kdTugas, Nama_Tugas, semester primary key kdTugas
Kecamatan,
Kelurahan, KdPos, Email, KdWali, KdOrangTua,
StatusDiri,
GolonganDarah,
AnakKe,
SaudaraKandung,
SaudaraTiri,
SaudaraAngkat, TglTerima,
KelasTerima, NamaSekolahAsal,
AlamatSekolahAsal,
STLTahun,
STLNo, FotoSiswa) Primary key kdSiswa Foreign key Kdkelas references MsKelas(kdKelas)
MsDetailTugas(kdTugas, kdSiswa, kdMatPel, nilai int, rata_rata) Primary Key(kdTugas, kdSiswa, kdMatPel) Foreign key kdTugas reference MsTugas(kdTugas) Foreign key KdMatpel reference MsMatPel(KdMatpel) Foreign key KdSiswa Referense msSiswa(KdSiswa) 111
MsSiswa
MsSiswa
(KdSiswa,
Kdkelas,
NIS,
NoReg,
NamaSiswa, TempatLahir, TglLahir, JenisKelamin, Agama, Telp, Hp, Alamat, Propinsi, Kotamadya, Kecamatan, Kelurahan, KdPos, Email, KdWali, KdOrangTua, StatusDiri, GolonganDarah, AnakKe, SaudaraKandung, KelasTerima,
SaudaraTiri, TglTerima,
SaudaraAngkat, NamaSekolahAsal,
AlamatSekolahAsal, STLTahun, STLNo, FotoSiswa) Primary key kdSiswa Foreign key Kdkelas references MsKelas(kdKelas) MsKelas
MsKelas ( KdKelas, KdSiswa, NamaKelas ) primary key kdKelas
MsGuru
MsGuru
(kdGuru
,NIP
,nama
,prefix
,postfix
,tipepegawai ,jeniskelamin ,kajian ,lulusan tglmasuk ,SK ,UserName ) primary key kdGuru foreign key username references MsUser (username) MsUser
MsUser ( UserName, Pass, Status) Primary key username
112
MsJadwal
MsJadwal ( KdJadwal, KdKelas) Primary key KdJadwal foreign key username references KdKelas
msOrangTua
msOrangTua ( KdOrangTua, NamaAyah, NamaIbu, AlamatAyah, AlamatIbu, ) primary key kdOrangTua
Detail Absensi
Detail Absensi(KdSiswa, KdAbsensi, keterangan) Primary key(KdSiswa, KdAbsensi) Foreign key KdSiswa Referense msSiswa(KdSiswa) Foreign
key
KdAbsensi
reference
msAbsensi(KdAbsensi) DetailMatpel
DetailMatpel(KdMatpel, KdGuru) Primary key(KdMatpel, KdGuru) Foreign
key
KdMatpel
reference
MsMatPel(KdMatpel) Foreign key KdGuru reference MsGuru(KdGuru) MsDetailUlangan
MsDetailUlangan(kdUlangan, kdSiswa, kdMatPel, nilai int, rata_rata)
113
Primary Key(kdUlangan, kdSiswa, kdMatPel) Foreign
key
kdUlangan
reference
KdMatpel
reference
MsUlangan(kdUlangan) Foreign
key
MsMatPel(KdMatpel) Foreign key KdSiswa Referense msSiswa(KdSiswa) MsDetailTugas
MsDetailTugas(kdTugas, kdSiswa, kdMatPel, nilai int, rata_rata) Primary Key(kdTugas, kdSiswa, kdMatPel) Foreign key kdTugas reference MsTugas(kdTugas) Foreign
key
KdMatpel
reference
MsMatPel(KdMatpel) Foreign key KdSiswa Referense msSiswa(KdSiswa)
Tabel 4.6 Tabel Relasi – relasi yang terbentuk untuk model data logical
4.1.2.2. Validasi relasi menggunakan normalisasi Tujuan dari langkah ini adalah untuk menvalidasi relasi-relasi dalam model data logikal lokal menggunakan teknik normalisasi. Teknik 114
normalisasi bertujuan untuk menghasilkan model data yang konsisten, memiliki minimal redundansi (pengulangan data yang tidak perlu) dan maksimum stabilitas. Proses normalisasi dimulai dengan menentukan functional dependency antar atribut dalam suatu relasi. Berikut ini adalah proses normalisasi untuk setiap entitas : 1NF MsSiswa
(KdSiswa,
Kdkelas,
NIS,
NoReg,
NamaSiswa,
TempatLahir, TglLahir, JenisKelamin, Agama, Telp, Hp, Alamat, Propinsi, Kotamadya, Kecamatan, Kelurahan, KdPos, Email, KdWali, KdOrangTua, StatusDiri, GolonganDarah, AnakKe, SaudaraKandung, SaudaraTiri, SaudaraAngkat, KelasTerima, TglTerima, NamaSekolahAsal, AlamatSekolahAsal, STLTahun, STLNo, FotoSiswa) Primary key kdSiswa Foreign key Kdkelas references MsKelas(kdKelas) 2NF MsSiswa
(KdSiswa,
Kdkelas,
NIS,
NoReg,
NamaSiswa,
TempatLahir, TglLahir, JenisKelamin, Agama, Telp, Hp, Alamat, Propinsi, Kotamadya, Kecamatan, Kelurahan, KdPos, Email, KdWali, KdOrangTua, StatusDiri, GolonganDarah, AnakKe, SaudaraKandung, SaudaraTiri, SaudaraAngkat, KelasTerima,
115
TglTerima, NamaSekolahAsal, AlamatSekolahAsal, STLTahun, STLNo, FotoSiswa) Primary key kdSiswa Foreign key Kdkelas references MsKelas(kdKelas) 3NF MsSiswa
(KdSiswa,
Kdkelas,
NIS,
TempatLahir, TglLahir, JenisKelamin, StatusDiri, SaudaraTiri,
GolonganDarah, SaudaraAngkat,
NoReg,
NamaSiswa,
KdWali, KdOrangTua,
AnakKe,
SaudaraKandung,
KelasTerima,
TglTerima,
NamaSekolahAsal, AlamatSekolahAsal, STLTahun, STLNo, FotoSiswa) Primary key kdSiswa Foreign key Kdkelas references MsKelas(kdKelas) Foreign Key KdDetail references msDetail (KdDetail) MsDetail (KdDetail,
Agama, Telp, Hp, Alamat, Propinsi,
Kotamadya, Kecamatan, Kelurahan, KdPos, Email) Primary Key KdDetail 3NF MsKelas ( KdKelas, KdSiswa, NamaKelas )
116
primary key kdKelas 1NF MsGuru (kdGuru ,NIP ,nama ,prefix ,postfix ,tipepegawai ,jeniskelamin ,Agama, Telp, Hp, Alamat, Propinsi, Kotamadya ) Primary key KdGuru foreign key username references MsUser (username) 2NF MsGuru (kdGuru ,NIP ,nama ,prefix ,postfix ,tipepegawai ,jeniskelamin ,Agama, Telp, Hp, Alamat, Propinsi, Kotamadya) primary key kdGuru foreign key username references MsUser (username) 3NF MsGuru (kdGuru ,NIP ,nama ,prefix ,postfix ,tipepegawai ,jeniskelamin , kajian ,lulusan tglmasuk ,SK ,UserName, KdDetail ) primary key kdGuru foreign key username references MsUser (username) foreign key kdDetail references MsDetail (KdDetail)
117
MsDetail (KdDetail,
Agama, Telp, Hp, Alamat, Propinsi,
Kotamadya, Kecamatan, Kelurahan, KdPos, Email) Primary Key KdDetail 3NF MsUser ( UserName, Pass, Status) Primary key username 3NF MsJadwal ( KdJadwal, KdKelas) Primary key KdJadwal foreign key KdKelas references MsKelas (KdKelas) 1NF msOrangTua ( KdOrangTua, nama, Agama, Telp, Hp, Alamat, Propinsi, Kotamadya, Kecamatan, Kelurahan, KdPos, Email, kewarganegaraan, tempatLahir, TglLahir, Status, Pekerjaan, Penghasilan, Pendidikan) primary key KdOrangTua 2NF msOrangTua ( KdOrangTua, nama, Agama, Telp, Hp, Alamat, Propinsi, Kotamadya, Kecamatan, Kelurahan, KdPos, Email, 118
kewarganegaraan, tempatLahir, TglLahir, Status, Pekerjaan, Penghasilan, Pendidikan) primary key KdOrangTua 3NF msAyah
(
tempatLahir,
KdAyah,
KdDetail,
TglLahir,
Status,
nama,
kewarganegaraan,
Pekerjaan,
Penghasilan,
Pendidikan) primary key KdAyah foreign KdDetail references MsDetail (KdDetail) MsWali (KdWali, KdDetail, nama, kewarganegaraan, status, pekerjaan, penghasilan, pendidikan) Primary key KdWali foreign KdDetail references MsDetail (KdDetail) MsDetail (KdDetail,
Agama, Telp, Hp, Alamat, Propinsi,
Kotamadya, Kecamatan, Kelurahan, KdPos, Email) Primary Key KdDetail 3NF Detail Absensi(KdSiswa, KdAbsensi, keterangan) Primary key(KdSiswa, KdAbsensi) 119
Foreign key KdSiswa Referense msSiswa(KdSiswa) Foreign key KdAbsensi reference msAbsensi(KdAbsensi) 1NF MsMatPel ( KdMatPel, namaMatPel, NilaiKetuntasan, KdGuru) Primary Key KdMatPel Foreign Key KdGuru references MsGuru (KdGuru) 2NF MsMatPel ( KdMatPel, namaMatPel, NilaiKetuntasan, KdGuru) Primary Key KdMatPel Foreign Key KdGuru references MsGuru (KdGuru) 3NF MsMatPel ( KdMatPel, namaMatPel, NilaiKetuntasan) Primary Key KdMatPel DetailMatpel(KdMatpel, KdGuru) Primary key(KdMatpel, KdGuru) Foreign key KdMatpel reference MsMatPel(KdMatpel) Foreign key KdGuru reference MsGuru(KdGuru)
120
3NF MsKelas ( KdKelas, KdSiswa, NamaKelas) Primary Key KdKelas Foreign Key KdSiswa references MsSiswa (KdSiswa) 3NF MsJadwal (KdJadwal, KdKelas) Primary Key KdJadwal Foreign Key KdKelas references MsKelas (KdKelas) 1NF MsAbsensi (KdAbsensi, JenisAbsensi, Keterangan, KdSiswa, Tanggal) Primary Key KdAbsensi Foreign Key KdSiswa references MsSiswa (KdSiswa) 2NF MsAbsensi (KdAbsensi, JenisAbsensi, Keterangan, KdSiswa, Tanggal) Primary Key KdAbsensi Foreign Key KdSiswa references MsSiswa (KdSiswa) 121
3NF MsAbsensi (KdAbsensi, JenisAbsensi, Keterangan) Primary Key KdAbsensi MsDetailAbsen (KdAbsensi, KdSiswa, Tanggal) Primary key KdAbsensi, KdSiswa Foreign Key KdAbsensi references MsAbsensi (KdAbsensi) Foreign Key KdSiswa references MsSiswa (KdSiswa)
4.1.2.3. Validasi relasi terhadap transaksi user Transaksi-transaki yang dibutuhkan antara lain: a. Tampilkan Siswa b. Tampilkan Kelas c. Tampilkan Guru d. Tampilkan Nilai 4.1.2.4. Memeriksa integrity constraints Integrity constraint terdiri dari 6 tipe yaitu : a. Required data Constraint ini sudah diidentifikasi pada tahap perancangan basis data konseptual (4.1.1.3) 122
b. Attribute domain constraint Constraint ini sudah diidentifikasi pada tahap perancangan basis data konseptual (4.1.1.4) c. Multiplicity Constraint ini sudah diidentifikasi pada tahap perancangan basis data konseptual (4.1.1.2) d. Entity Integrity Constraint ini sudah diidentifikasi pada tahap perancangan basis data konseptual (4.1.1.5) e. Referential Integrity MsSiswa (KdSiswa, Kdkelas, NIS, NoReg, NamaSiswa, TempatLahir, TglLahir, JenisKelamin, kdDetail, StatusDiri, GolonganDarah, AnakKe, SaudaraKandung, SaudaraTiri,
SaudaraAngkat,
KelasTerima,
TglTerima,
NamaSekolahAsal,
AlamatSekolahAsal, STLTahun, STLNo, FotoSiswa) Primary key kdSiswa Foreign key Kdkelas references MsKelas(kdKelas) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KdDetail references msDetail (KdDetail) ON UPDATE CASCADE ON DELETE NO ACTION
123
MsDetail (KdDetail, Agama, Telp, Hp, Alamat, Propinsi, Kotamadya, Kecamatan, Kelurahan, KdPos, Email) Primary Key KdDetail MsKelas ( KdKelas, KdSiswa, NamaKelas ) primary key kdKelas MsGuru (kdGuru ,NIP ,nama ,prefix ,postfix ,tipepegawai ,jeniskelamin , kajian ,lulusan tglmasuk ,SK ,UserName, KdDetail ) primary key kdGuru foreign key username references MsUser (username) ON UPDATE CASCADE ON DELETE NO ACTION foreign key kdDetail references MsDetail (KdDetail)ON UPDATE CASCADE ON DELETE NO ACTION MsUser ( UserName, Pass, Status) Primary key username MsJadwal ( KdJadwal, KdKelas) Primary key KdJadwal foreign key username references KdKelas ON UPDATE CASCADE ON DELETE NO ACTION
124
msAyah ( KdAyah, KdDetail, nama, kewarganegaraan, tempatLahir, TglLahir, Status, Pekerjaan, Penghasilan, Pendidikan) primary key KdAyah foreign KdDetail references MsDetail (KdDetail) ON UPDATE CASCADE ON DELETE NO ACTION MsWali (KdWali, KdDetail, nama, kewarganegaraan, status, pekerjaan, penghasilan, pendidikan) Primary key KdWali foreign KdDetail references MsDetail (KdDetail) ON UPDATE CASCADE ON DELETE NO ACTION MsAbsensi (KdAbsensi, JenisAbsensi, Keterangan) Primary Key KdAbsensi MsDetailAbsen (KdAbsensi, KdSiswa, Tanggal) Primary key KdAbsensi, KdSiswa Foreign key KdSiswa Referense msSiswa(KdSiswa) ON UPDATE CASCADE ON DELETE NO ACTION Foreign key KdAbsensi reference msAbsensi(KdAbsensi) ON UPDATE CASCADE ON DELETE NO ACTION
125
MsMatPel ( KdMatPel, namaMatPel, NilaiKetuntasan) Primary Key KdMatPel DetailMatpel(KdMatpel, KdGuru) Primary key(KdMatpel, KdGuru) Foreign key KdMatpel reference MsMatPel(KdMatpel) ON UPDATE CASCADE ON DELETE NO ACTION Foreign key KdGuru reference MsGuru(KdGuru) ON UPDATE CASCADE ON DELETE NO ACTION
4.1.2.5. Melakukan review model data logikal dengan user Setelah kami membahas logical data model dengan pengguna, logical data model sudah sesuai dengan keinginan pengguna. Dan tidak dibutuhkan lagi penambahan-penambahan entity baru.
4.1.2.6. Mempertimbangkan perkembangan di masa depan Setelah diperiksa, tidak ditemukan perubahan yang signifikan. Namun, tidak menutup kemungkinan bahwa, aplikasi yang digunakan akan menjadi “kadar-luasa” jika tidak di maintance da di update. 126
4.1.2.7. Pemilihan Database Management System Tujuan dari tahap ini adalah untuk memilih pengunaan Database Management System yang paling efisien. DBMS yang kami pilih adalah Microsoft SQL Server 2005 dan Oracle9i Adapun perbandingan antara DBMS Microsoft SQL Server 2000 dengan Oracle9i, antara lain : Platform SQL Server 2005
Oracle9i
Window-based (termasuk window
Window-based, Linux-based, Sun
9x, window 2000, window NT, dan
Solaris, AIX-based, Unix
window CE)
Tabel 4.7 Tabel Platform Hardware
SQL Server 2005
Oracle9i
Processor : Pentium III 166MHz
Processor :
atau Lebih
Pentium III 166 MHz
127
Memory : 64MB RAM (minimal) Hard disk space : 250 MB (typical) 95 MB (minimum)
Memory : 128 MB (256 MB lebih diutamakan) Hard disk space : 140 MB pada System Drive Ditambah 4,5GB untuk Oracle Home Drive (FAT) Atau 2,8GB untuk Oracle Home Drive (NTFS)
Table 4.8 Tabel Hardware Fitur SQL Server 2005
Oracle9i
128
Tables : Relational tables,
Tables : Relational tables, Object
Temporary tables
tables, Tempory tables,
Triggers : AFTER triggers,
Partitioned tables, External
INSTEAD OF triggers
tables, Index organized
Procedures : T-Sql statements
tables
Arrays : tidak mendukung
Triggers : BEFORE triggers,
Backup : mendukung
AFTER triggers, INSTEAD
Security : mendukung
OF triggers, Database Event triggers Procedures : PL/SQL statements, Java methods, third-generation language (GL) routines Arrays : mendukung Backup : mendukung Security : mendukung Tabel 4.9 Tabel Fitur
Setelah dilakukan pertimbangan dengan user maka disimpulkan bahwa sistem basis data yang diperlukan oleh perusahaan sifatnya masih 129
belum terlalukompleks, selain itu dilihat dari segi biaya dan penggunaan, SQL Server 2005 lebih murah serta instalasi dan penggunaan yang lebih mudah dibandingkan dengan Oracle9i, maka diputuskan DBMS yang dipilih adalah Microsoft SQL Server 2005. 4.1.3. Perancangan Basisdata Fisikal Tujuan dari langkah ini adalah untuk menerjemah logikal data model untuk DBMS yang dipilih. Adapun langkah-langkah yang ada sebagai berikut : 1. Menerjemahkan model data logikal untuk DBMS yang digunakan 2. Merancang Organisasi File dan Index 3. Merancang user views 4. Merancang mekanisme keamanan 4.1.3.1.
Menerjemahkan model data logikal untuk DBMS yang
digunakan Langkah-langah yang kami gunakan adalah sebagai berikut : 1. Merancang relasi dasar 2. Merancang representasi derived data 3. Merancang general constraints 4.1.3.1.1. Merancang relasi dasar
130
Tujuan dari langkah ini adalah untuk menentukan bagaimana merepresentasikan relasi dasar yang diidentifikasikan dalam model data logikal global ke dalam target DBMS. Informasi yang diperlukan untuk proses ini dapat diperoleh dari kamus data dari definisi dari relasi dideskripsikan menggunkan Database Definition Languange (DBDL). Adapun DBDL yang didefinisikan adalah sebagai berikut : MsSiswa Domain KdSiswa
varchar, length 8
Domain NIS
varchar, length 6
Domain No_Reg
varchar, length 7
Domain Nama_Siswa
varchar, length 30
Domain kdKelas
varchar , length 3
Domain Tempat_Lahir
varchar, length 15
Domain Tgl_Lahir
datetime
Domain Jenis_Kelamin
char, length 1
Domain KdDetail
varchar, length 7
Domain Status_Diri
char, length 1
Domain status
varchar, length 7
Domain Golongan_Darah
char, length 2
Domain Anak_Ke
numeric , length 2
Domain Saudara_Kandung
numeric , length 2
Domain Saudara_Tiri
numeric , length 2 131
Domain Saudara_Angkat
numeric, length 2
Domain Kelas_Terima
varchar, length 7
Domain Tgl_Terima
datetime
Domain
Nama_Sekolah_Asal varchar , length 40
Domain Alamat_Sekolah_Asal
varchar , length 50
Domain STL_Tahun
varchar, length 4
Domain STL_No
varchar, length 8
Domain Foto_Siswa
varchar, length 100
MsSiswa( KdSiswa
Kode Siswa
NOT NULL
NIS
Nomor Induk Siswa
NOT NULL
No_Reg
Nomor Registrasi
NOT NULL
Nama_Siswa
Nama Siswa
NOT NULL
KdKelas
Kode Kelas
Tempat_Lahir
Tempat Lahir
NOT NULL
Tgl_Lahir
Tanggal Lahir
NOT NULL
Jenis_Kelamin
Jenis Kelamin
NOT NULL
KdDetail
Kode Detail
NOT NULL
Status_Diri
Status Diri
NOT NULL
Status
Status
Golongan_Darah
Golongan Darah
Anak_Ke
Anak Ke
NOT NULL
Saudara_Kandung
Jumlah Saudara Kandung
NOT NULL
132
Saudara_Tiri
Jumlah Saudara Tiri
NOT NULL
Saudara_Angkat
Jumlah Saudara Angkat
NOT NULL
Kelas_Terima
Kelas Terima
Tgl_Terima
Tanggal Terima
NOT NULL
Nama_Sekolah_Asal
Nama Sekolah Asal
NOT NULL
Alamat_Sekolah_Asal
Alamat Sekolah Asal
STL_Tahun
Tahun STL
NOT NULL
STL_No
Nomor STL
NOT NULL
Foto_Siswa
Foto Siswa
Primary Key
KdSiswa
Foreign Key
KdKelas
Foreign Key
KdDetail
)
MsOrangTua Domain KdOrangTua
varchar, length 8
Domain KdAyah
varchar, length 8
Domain KdIbu
varchar, length 8
Domain KdSiswa
varchar, length 8
MsOrangTua( KdOrangTua
Kode Orang Tua
KdAyah
Kode Ayah
KdIbu
Kode Ibu
NOT NULL
133
KdSiswa
Kode Siswa
Primary Key
KdOrangTua
Foreign Key
KdAyah
Foreign Key
KdIbu
Foreign Key
KdSiswa
)
MsAyah Domain KdAyah
varchar, length 8
Domain KdDetail
varchar, length 7
Domain Nama
varchar, length 30
Domain Kewarganegaraan
char, length 1
Domain Tempat_Lahir
varchar, length 15
Domain Tgl_Lahir
datetime
Domain Status
char, length 1
Domain Pekerjaan
varchar, length 20
Domain Penghasilan
varchar, length 15
Domain Pendidikan
varchar, length 10
MsAyah( KdAyah
Kode Ayah
NOT NULL
KdDetail
Kode Detail
Nama
Nama
NOT NULL
Kewarganegaraan
Kewarganegaraan
NOT NULL 134
Tempat_Lahir
Tempat Lahir
Tgl_Lahir
Tanggal Lahir
Status
Status
NOT NULL
Pekerjaan
Pekerjaan
NOT NULL
Penghasilan
Penghasilan
Pendidikan
Pendidikan
Primary Key
KdAyah
Foreign Key
KdDetail
)
MsIbu Domain KdIbu
varchar, length 8
Domain KdDetail
varchar, length 7
Domain Nama
varchar, length 30
Domain Kewarganegaraan
char, length 1
Domain Tempat_Lahir
varchar, length 15
Domain Tgl_Lahir
datetime
Domain Status
char, length 1
Domain Pekerjaan
varchar, length 20
Domain Penghasilan
varchar, length 15
Domain Pendidikan
varchar, length 10
MsIbu( KdIbu
Kode Ibu
NOT NULL 135
KdDetail
Kode Detail
Nama
Nama
NOT NULL
Kewarganegaraan
Kewarganegaraan
NOT NULL
Tempat_Lahir
Tempat Lahir
Tgl_Lahir
Tanggal Lahir
Status
Status
NOT NULL
Pekerjaan
Pekerjaan
NOT NULL
Penghasilan
Penghasilan
Pendidikan
Pendidikan
Primary Key
KdIbu
Foreign Key
KdDetail
)
MsWali Domain KdWali
varchar, length 8
Domain KdDetail
varchar, length 7
Domain Nama
varchar, length 30
Domain Kewarganegaraan
char, length 1
Domain Tempat_Lahir
varchar, length 15
Domain Tgl_Lahir
datetime
Domain Status
char, length 1
Domain Pekerjaan
varchar, length 20
Domain Penghasilan
varchar, length 15 136
Domain Pendidikan
varchar, length 10
MsWali( KdWali
Kode Wali
KdDetail
Kode Detail
Nama
Nama
NOT NULL
Kewarganegaraan
Kewarganegaraan
NOT NULL
Tempat_Lahir
Tempat Lahir
Tgl_Lahir
Tanggal Lahir
Status
Status
NOT NULL
Pekerjaan
Pekerjaan
NOT NULL
Penghasilan
Penghasilan
Pendidikan
Pendidikan
Primary Key
KdWali
Foreign Key
KdDetail
NOT NULL
)
MsKaryawan Domain KdKaryawan
Varchar, length 6
Domain KdDetail
varchar, length 7
Domain NIP
numeric, length 10
Domain Nama
varchar, length 30
Domain Jabatan
varchar, length 10
Domain Jenis_Kelamin
char, length 1 137
Domain Tgl_Masuk
datetime
Domain User_Name
varchar, length 10
MsKaryawan( KdKaryawan
Kode Guru
NOT NULL
KdDetail
Kode Detail
NIP
Nomor Induk Pegawai
NOT NULL
Nama
Nama
NOT NULL
Jabatan
Jabatan
Jenis_Kelamin
Jenis Kelamin
Tgl_Masuk
Tanggal Masuk
User_Name
User Name
Primary Key
KdKaryawan
Foreign Key
KdDetail
Foreign Key
UserName
NOT NULL
NOT NULL
)
MsGuru Domain KdGuru
Varchar, length 6
Domain KdDetail
varchar, length 7
Domain NIP
numeric, length 10
Domain Nama
varchar, length 30
138
Domain Prefix
varchar, length 10
Domain Postfix
varchar, length 10
Domain Tipe_Pegawai
char, length 1
Domain Jenis_Kelamin
char, length 1
Domain Kajian
varchar, length 20
Domain Lulusan
varchar, length 25
Domain Tgl_Masuk
datetime
Domain SK
varchar, length 10
Domain User_Name
varchar, length 10
MsGuru( KdGuru
Kode Guru
KdDetail
Kode Detail
NIP
Nomor Induk Pegawai
Nama
Nama
Prefix
Prefix Gelar
Postfix
Postfix Gelar
Tipe_Pegawai
Tipe Pegawai
NOT NULL
Jenis_Kelamin
Jenis Kelamin
NOT NULL
Kajian
Spesialiasi Pengajar
Lulusan
Lulusan
Tgl_Masuk
Tanggal Masuk
SK
Surat Keputusan
User_Name
User Name
NOT NULL
NOT NULL
NOT NULL
NOT NULL
139
Primary Key
KdGuru
Foreign Key
KdDetail
Foreign Key
UserName
)
MsUser Domain User_Name
varchar, length 10
Domain Password
varchar, length 10
Domain Status
varchar, length 15
MsUser( User_Name
User Name
NOT NULL
Password
Password
NOT NULL
Status
Status
NOT NULL
Primary Key
User_Name
)
MsKelas Domain KdKelas
varchar, length 3
Domain KdSiswa
varchar, length 8
Domain Nama_Kelas
varchar, length 10
MsKelas( KdKelas
Kode Kelas
NOT NULL
140
KdSiswa
Kode Siswa
Nama_Kelas
Nama Kelas
Primary Key
KdKelas
Foreign Key
KdSiswa
NOT NULL
)
MsJadwal Domain KdMatPel
varchar, length 5
Domain KdKelas
varchar, length 3
Domain Jam
varchar, length 10
Domain Hari
varchar, length 7
MsJadwal( KdMatPel
Kode Mata Pelajaran
KdKelas
Kode Kelas
Jam
Jam Jadwal
Hari
Hari Jadwal
Primary Key
KdMatPel
Primary Key
KdKelas
Foreign Key
KdMatPel
Foreign Key
KdKelas
NOT NULL
)
141
MsAbsensi Domain KdAbsensi
varchar, length 8
Domain Jenis_Absensi
varchar, length 5
Domain Keterangan
varchar, length 50
MsAbsensi( KdAbsensi
Kode Absensi
Jenis_Absensi
Jenis Absensi
Keterangan
Keterangan Absensi
Primary Key
KdAbsensi
NOT NULL
)
MsDetailAbsensi Domain KdAbsensi
varchar, length 8
Domain KdSiswa
varchar, length 8
Domain Tanggal
datetime
MsDetailAbsensi( KdAbsensi
Kode Absensi
NOT NULL
KdSiswa
Kode Siswa
NOT NULL
Tanggal
Tanggal Absensi
Primary Key
KdAbsensi
Primary Key
KdSiswa
Foreign Key
KdAbsensi
142
Foreign Key
KdSiswa
)
MsMatPel Domain KdMatPel
varchar, length 5
Domain Nama_MatPel
varchar, length 20
Domain Nilai_Ketuntasan
float
MsMatPel( KdMatPel
Kode Mata Pelajaran
NOT NULL
Nama_MatPel
Nama Mata Pelajaran
NOT NULL
Nilai Ketuntasan
Batasan Nilai
Primary Key
KdMatPel
)
MsDetailMatPel Domain KdMatPel
varchar, length 5
Domain KdGuru
varchar, length 6
MsDetailMatPel( KdMatPel
Kode Mata Pelajaran
NOT NULL
KdGuru
Kode Guru
NOT NULL
Primary Key
KdMatPel
Primary Key
KdGuru
143
Foreign Key
KdMatPel
Foreign Key
KdGuru
)
MsDetail Domain KdDetail
varchar, length 7
Domain Agama
varchar, length 8
Domain Telp
varchar, length 12
Domain Hp
varchar, length 12
Domain Alamat
varchar, length 50
Domain Propinsi
varchar, length 20
Domain Kotamadya
varchar, length 20
Domain Kecamatan
varchar, length 20
Domain Kelurahan
varchar, length 20
Domain KdPos
numeric, length 5
Domain Email
varchar, length 20
MsDetail( KdDetail
Kode Detail
NOT NULL
Agama
Agama
NOT NULL
Telp
Nomor Telepon
Hp
Nomor Handphone
Alamat
Alamat
NOT NULL
Propinsi
Nama Propinsi
NOT NULL 144
Kotamadya
Nama Kotamadya
NOT NULL
Kecamatan
Nama Kecamatan
NOT NULL
Kelurahan
Nama Kelurahan
NOT NULL
KdPos
Kode Pos
NOT NULL
Email
Alamat Email
Primary Key
KdDetail
)
MsStandarKompetensi Domain KdSK
varchar, length 5
Domain Rincian
varchar , length 200
Domain SKM
varchar , length 4
Domain Pencapaian
varchar , length 25
Domain KdMatPel
varchar, length 5
MsStandarKompetensi( KdSK
Kode Standar Kompetensi
Rincian
Rincian
SKM
Standar Kelulusan Minimal
Pencapaian
Persentase Pencapaian Siswa
KdMatPel
Kode Mata Pelajaran
Primary Key
KdSK
Foreign Key
KdMatPel
NOT NULL
NOT NULL
) 145
MsUlangan Domain KdUlangan
varchar, length 8
Domain Nama_Ulangan
integer
MsUlangan( KdUlangan
Kode Ulangan
Nama_Ulangan
Nama Ulangan
Primary Key
KdUlangan
NOT NULL
)
MsDetailUlangan Domain KdUlangan
varchar, length 8
Domain KdSiswa
varchar, length 8
Domain KdMatPel
varchar, length 5
Domain Nilai
integer
Domain Rata_Rata
float
MsDetailUlangan( KdUlangan
Kode Ulangan
NOT NULL
KdSiswa
Kode Siswa
NOT NULL
KdMatPel
Kode Mata Pelajaran
NOT NULL
Nilai
Nilai Ulangan
Rata_Rata
Nilai Rata-rata Siswa
146
Primary Key
KdUlangan
Primary Key
KdSiswa
Primary Key
KdMatPel
Foreign Key
KdUlangan
Foreign Key
KdSiswa
Foreign Key
KdMatPel
)
MsTugas Domain KdTugas
varchar, length 9
Domain Nama_Tugas
integer
MsTugas( KdTugas
Kode Tugas
Nama_Tugas
Nama Tugas
Primary Key
KdTugas
NOT NULL
)
MsDetailTugas Domain KdTugas
varchar, length 9
Domain KdSiswa
varchar, length 8
Domain KdMatPel
varchar, length 5
Domain Nilai
integer
147
Domain Rata_Rata
float
MsDetailTugas( KdTugas
Kode Tugas
NOT NULL
KdSiswa
Kode Siswa
NOT NULL
KdMatPel
Kode Mata Pelajaran
NOT NULL
Nilai
Nilai Tugas
Rata_Rata
Nilai Rata-rata Siswa
Primary Key
KdTugas
Primary Key
KdSiswa
Primary Key
KdMatPel
Foreign Key
KdUlangan
Foreign Key
KdSiswa
Foreign Key
KdMatPel
)
MsNilai Domain KdMatPel
varchar, length 5
Domain KdSiswa
varchar, length 8
Domain KdUlangan
varchar, length 8
Domain PPK_Nilai
numeric, length 2
Domain PPK_Huruf
varchar, length 20
Domain Praktik_Nilai
numeric, length 2
Domain Praktik_Huruf
varchar, length 20 148
Domain Sikap
varchar, length 2
MsNilai( KdMatPel
Kode Mata Pelajaran
NOT NULL
KdSiswa
Kode Siswa
NOT NULL
KdUlangan
Kode Ulangan
PPK_Nilai
Nilai PPK
PPK_Huruf
Nilai PPK Huruf
Praktik_Nilai
Nilai Praktik
Praktik_Huruf
Nilai Praktik Huruf
Sikap
Penilaian Sikap
Primary Key
KdMatPel
Primary Key
KdSiswa
Foreign Key
KdMatPel
Foreign Key
KdSiswa
Foreign Key
KdUlangan
)
4.1.3.1.2. Merancang representasi derived data Tujuan dari langkah ini adalah memutuskan bagaimana merepresentasikan derived data yang ada di dalam model data logical kedalam target DBMS. Derived yang didefinisikan yaitu :
149
a. Atribut rata_rata_ulangan yang merepresentasikan rata-rata nilai ulangan dari seorang siswa, Nilai ini didapat dari penjumlahan setiap ulangan dibagi dengan banyaknya ulangan b. Atribut rata_rata_Tugas yang merepresentasikan ratarata nilai tugas dari seorang siswa, Nilai ini didapat dari
penjumlahan
setiap
tugas
dibagi
dengan
banyaknya tugas
4.1.3.1.3. Merancang general constraints Tujuan dari langkah ini adalah untuk merancang batasan constraint untuk target DBMS yaitu sebagai berikut : Jumlah Kelas yang ada tidak boleh melebihi kapasitas kelas yang ada. Kapasitas kelas yang ada adalah 100 kelas. CONSTRAINT COUNT
KdKelas
(kdKelas)
CHECK AS
(NOT
EXIST(SELECT
TotalKelas
FROM
msKelasWHERE(SELECT COUNT (KdKelas) FROM mskelas) >100))
150
4.1.3.2. Merancang Organisasi File dan Index Adapun langkah – langkah yang dilakukan antara lain : 1. Menganalisa transaksi 2. Memilih index 3. Memperkirakan kebutuhan disk space
4.1.3.2.1. Menganalisa transaksi Langkah ini bertujuan untuk memahami fungsionalitas dari transaksi – transaki yang akan berjalan pada basis data dan untuk menganalisa transaksi – transaksi yang penting. Matriks menunjukkan transaksi yang dibutuhkan dan relasi yang diakses. Adapun matriks tersebut sebagai berikut : a. Memasukkan dan mengubah data MsSiswa b. Memasukkan dan mengubah data MsOrangTua c. Memasukkan dan mengubah data MsAyah d. Memasukkan dan mengubah data MsIbu e. Memasukkan dan mengubah data MsWali f. Memasukkan dan mengubah data MsGuru g. Memasukkan dan mengubah data MsKaryawan h. Memasukkan dan mengubah data MsMatPel
151
i. Memasukkan
dan
mengubah
data
MsStandarKompetensi j. Memasukkan data MsUser k. Memasukkan data MsKelas l. Memasukkan data MsJadwal m. Memasukkan data MsAbsensi n. Memasukkan data MsTugas o. Memasukkan data MsUlangan p. Memasukkan data MsNilai
Tabel Analisis Transaksi
Transaksi
A
Relasi
I
MsSiswa
X
B R U D I X
MsOrangTua
C R U D I
D R U D I
R U D
X X
X
MsAyah
X
X
MsIbu
X
MsWali
X
MsGuru MsKaryawan MsDetail
X
X
X
X
X
X
X
X
152
MsStandarKompetensi MsUser MsMatPel MsAbsensi MsTugas MsUlangan MsNilai MsKelas MsJadwal MsDetailMatPel MsDetailAbsen MsDetailTugas MsDetailUlangan Tabel 4.10 Tabel Analisa Transaksi 1
Transaksi Relasi
E
F
I
R U D I
G R U D I
H R U D I
R U D
MsSiswa MsOrangTua MsAyah MsIbu MsWali
X
X
153
MsGuru
X
X
MsKaryawan MsDetail
X
X
X
X
X X
X
X
X
MsStandarKompetensi MsUser
X
X
MsMatPel
X
X
X
X
MsAbsensi MsTugas MsUlangan MsNilai MsKelas MsJadwal MsDetailMatPel MsDetailAbsen MsDetailTugas MsDetailUlangan Tabel 4.11 Tabel Analisa Transaksi 2
Transaksi Relasi MsSiswa
I
J
I
R U D I X
K R U D I
L R U D I
R U D
X
MsOrangTua
154
MsAyah MsIbu MsWali MsGuru MsKaryawan MsDetail MsStandarKompetensi MsUser
X
X X
X
MsMatPel MsAbsensi MsTugas MsUlangan MsNilai MsKelas
X
MsJadwal
X X
MsDetailMatPel MsDetailAbsen MsDetailTugas MsDetailUlangan Tabel 4.12 Tabel Analisa Transaksi 3
155
Transaksi
M
Relasi
I
MsSiswa
X
N R U D I
O R U D I
P R U D I
X
X
X
X
X
X
R U D
MsOrangTua MsAyah MsIbu MsWali MsGuru MsKaryawan MsDetail MsStandarKompetensi MsUser MsMatPel MsAbsensi
X
MsTugas
X
MsUlangan
X
MsNilai
X
MsKelas MsJadwal MsDetailMatPel MsDetailAbsen MsDetailTugas MsDetailUlangan
X X X 156
Tabel 4.13 Tabel Analisa Transaksi 4 4.1.3.2.2. Memilih index Jenis Index yang digunakan secara keseluruhan adalah Clustered Index. Tabel Entiti
Nama Index
Key Index
Keterangan Index
MsSiswa
Index Siswa
KodeSiswa
Berdasarkan
Index Detail
KodeDetail
KodeSiswa, KodeDetail
MsOrangTua
Index OrangTua
KodeOrangTua
Index Ayah
KodeAyah
Berdasarkan KodeOrangTua, KodeAyah,
MsAyah
MsIbu
MsWali
Index Ibu
KodeIbu
Index Siswa
KodeSiswa
Index Ayah
KodeAyah
Index Detail
KodeDetail
Index Ibu
KodeIbu
Index Detail
KodeDetail
Index Wali
KodeWali
Index Detail
Kode Detail
KodeIbu,
KodeSiswa
Berdasarkan KodeAyah, KodeDetail
Berdasarkan KodeIbu, KodeDetail
Berdasarkan KodeWali, KodeDetail,
157
Tabel Entiti
MsGuru
Nama Index
Key Index
Keterangan Index
Index Siswa
Kode Siswa
KodeSiswa
Index Guru
KodeGuru
Berdasarkan
Index Detail
KodeDetail
KodeGuru, KodeDetail, User_Name
MsKaryawan
Index UserName
User_Name
Index Karyawan
KodeKaryawan
Index Detail
KodeDetail
Berdasarkan KodeKaryawan, KodeDetail,
MsDetail
Index UserName
User_Name
Index Detail
KodeDetail
User_Name Berdasarkan KodeDetail
MsStandarKompetensi Index StandarKompetensi
KodeSK KodeMatPel
Berdasarkan KodeSK, KodeMatPel
Index MatPel MsUser
Index UserName
User_Name
Berdasarkan User_Name
MsMatPel
Index MatPel
KodeMatPel
Berdasarkan KodeMatPel
158
Tabel Entiti
Nama Index
Key Index
Keterangan Index
MsAbsensi
Index Absensi
KodeAbsensi
Berdasarkan KodeAbsensi
MsTugas
Index Tugas
KodeTugas
Berdasarkan KodeTugas
MsUlangan
Index Ulangan
KodeUlangan
Berdasarkan KodeUlangan
MsNilai
Index MatPel
KodeMatPel
Index Siswa
KodeSiswa
Berdasarkan KodeMatPel, KodeSiswa,
MsKelas
MsJadwal
Index Ulangan
KodeUlangan
Index Kelas
KodeKelas
Index Siswa
KodeSiswa
Index MatPel
KodeMatPel
Index Kelas
KodeKelas
KodeUlangan Berdasarkan KodeKelas, KodeSiswa
Berdasarkan KodeMatPel, KodeKelas
MsDetailMatPel
Index MatPel
KodeMatPel
Index Guru
KodeGuru
Berdasarkan KodeMatPel, KodeGuru
159
Tabel Entiti
Nama Index
Key Index
Keterangan Index
MsDetailAbsen
Index Absensi
KodeAbsensi
Berdasarkan
Index Siswa
KodeSiswa
KodeAbsensi, KodeSiswa
MsDetailTugas
Index Tugas
KodeTugas
Index Siswa
KodeSiswa
Berdasarkan KodeTugas, KodeSiswa,
MsDetailUlangan
Index MatPel
KodeMatPel
Index Ulangan
KodeUlangan
Index Siswa
KodeSiswa
KodeMatPel Berdasarkan KodeUlangan, KodeSiswa,
Index MatPel
KodeMatPel
KodeMatPel
Tabel 4.14 Index
4.1.2.3.4. Memperkirakan kebutuhan disk space Perkiraan kapasitas penyimpanan untuk setiap tabel adalah sebagai berikut : MsSiswa
160
Field
Tipe – Data
Ukuran(byte)
KdSiswa
Varchar (Variable length)
8
NIS
Varchar (Variable length)
6
No_Reg
Varchar (Variable length)
7
Nama_Siswa
Varchar (Variable length)
30
kdKelas
Varchar (Variable length)
3
Tempat_Lahir
Varchar (Variable length)
15
Tgl_Lahir
datetime(Variable length)
50
Jenis_Kelamin
Char (Fixed length)
1
KdDetail
Varchar (Variable length)
7
Status_Diri
Char (Fixed length)
1
status
Varchar (Variable length)
7
Golongan_Darah
Char (Fixed length)
2
Anak_Ke
Numeric (Variable length)
2
Saudara_Kandung
Numeric (Variable length)
2
Saudara_Tiri
Numeric (Variable length)
2
Saudara_Angkat
Numeric (Variable length)
2
161
Field
Tipe – Data
Ukuran(byte)
Kelas_Terima
Varchar (Variable length)
7
Tgl_Terima
Datetime (Variable length)
50
Nama_Sekolah_Asal
Varchar (Variable length)
40
Alamat_Sekolah_Asal
Varchar (Variable length)
50
STL_Tahun
Varchar (Variable length)
4
STL_No
Varchar (Variable length)
8
Foto_Siswa
Varchar (Variable length)
4
Dalam setahun terjadi transaksi sebanyak = 80 transaksi Tabel ini memiliki jumlah kolom = 23. Ukuran Fixed length data type = 4 byte Tabel ini memiliki jumlah kolom variable length data type = 20 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 5,375 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 92 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length
162
Field
Tipe – Data
Ukuran(byte)
data type + null bitmap + 4 = 105.375 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 75.399 Jumlah halaman diperlukan 1 tahun = jumlah baris / jumlah baris per halaman = 1,061 Dalam 1 tahun estimasi ukuran tabel ini adalah 1,061 * 8192 = 8691.892 byte Tabel 4.15 Tabel Estimasi Ms Siswa msDetail Field
Tipe – Data
Ukuran(byte)
kdDetail
Varchar (Variable length)
7
agama
Varchar (Variable length)
8
telp
Varchar (Variable length)
12
hp
Varchar (Variable length)
12
alamat
Varchar (Variable length)
50
propinsi
Varchar (Variable length)
20
kotamadya
datetime(Variable length)
20
kecamatan
Char (Fixed length)
20
kelurahan
Varchar (Variable length)
20
163
kdpos
numeric (Fixed length)
5
email
Varchar (Variable length)
20
Diperkirakan dalam satu tahun terdapat 80 * 4 = 320 + 1(guru pertahun) Dalam setahun terjadi transaksi sebanyak = 321 transaksi Tabel ini memiliki jumlah kolom = 11 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 11 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 4.25 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 74 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 78.25 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 103.463 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 3.103 Dalam 1 tahun estimasi ukuran tabel ini adalah 3.103* 8192 = 25416.158 byte
164
Tabel 4.16 Tabel Estimasi MsDetail
msStandarKompentensi Field
Tipe – Data
Ukuran(byte)
kdSK
Varchar (Variable length)
50
rincian
Varchar (Variable length)
200
SKM
Varchar (Variable length)
4
Pencapaian
Varchar (Variable length)
25
kdMatPel
Varchar (Variable length)
5
Dalam setahun terjadi transaksi sebanyak = 96 transaksi Tabel ini memiliki jumlah kolom = 5 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 5 Ukuran maksimum dari kolom variable length data type = 200 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3,5 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable
165
length data type * 2) + ukuran maksimum variable length data type = 210 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 217,5 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 36.884 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 2.603 Dalam 1 tahun estimasi ukuran tabel ini adalah 2.603* 8192 = 21321.766 byte Tabel 4.17 Tabel Estimasi MsTandarKompentensi
MsOrtu Field
Tipe – Data
Ukuran(byte)
kdOrTu
Varchar (Variable length)
8
kdAyah
Varchar (Variable length)
8
kdIbu
Varchar (Variable length)
8
kdSiswa
Varchar (Variable length)
8
Dalam setahun terjadi transaksi sebanyak = 160 transaksi
166
Tabel ini memiliki jumlah kolom = 4 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 4 Ukuran maksimum dari kolom variable length data type = 8 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3,375 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 13.375 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 20,75 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 355.868 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 0.45 Dalam 1 tahun estimasi ukuran tabel ini adalah 0.45 * 8192 = 3683.163byte Tabel 4.18 Tabel Estimasi MsOrTu
msAyah Field
Tipe – Data
Ukuran(byte)
167
kdAyah
Varchar (Variable length) 8
kdDetail
Varchar (Variable length) 7
nama
Varchar (Variable length) 30
kewarganegaraan
Char (Fixed length)
tempat_lahir
Varchar (Variable length) 15
tgl_lahir
datetime(Variable length) 50
status
Varchar (Variable length) 1
pekerjaan
Varchar (Variable length) 20
penghasilan
Varchar (Variable length) 15
pendidikan
Varchar (Variable length) 10
1
Dalam setahun terjadi transaksi sebanyak = 80 transaksi Tabel ini memiliki jumlah kolom = 10 Ukuran Fixed length data type = 2 byte Tabel ini memiliki jumlah kolom variable length data type = 8 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3,875 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable
168
length data type * 2) + ukuran maksimum variable length data type = 66 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 75.875 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 103.961 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 0.77 Dalam 1 tahun estimasi ukuran tabel ini adalah 0.77* 8192 = 6303.902 byte Tabel 4.19 Tabel Estimasi MsAyah
msWali Field
Tipe – Data
Ukuran(byte)
kdWali
Varchar (Variable length) 8
kdDetail
Varchar (Variable length) 7
nama
Varchar (Variable length) 30
kewarganegaraan
Char (Fixed length)
1
agama
numeric(Variable length)
1
status
Char (Fixed length)
1
169
telp
Varchar (Variable length) 12
hp
Varchar (Variable length) 12
pekerjaan
Varchar (Variable length) 20
penghasilan
Varchar (Variable length) 15
pendidikan
Varchar (Variable length) 10
kdSiswa
Varchar (Variable length) 8
Dalam setahun terjadi transaksi sebanyak = 80 transaksi Tabel ini memiliki jumlah kolom = 12 Ukuran Fixed length data type = 2 byte Tabel ini memiliki jumlah kolom variable length data type = 10 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 4.125 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 72 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 82.125 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 96.238
170
Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 0.831 Dalam 1 tahun estimasi ukuran tabel ini adalah 0.831 * 8192 = 6809.784 byte Tabel 4.20 Tabel Estimasi MsWali
MsGuru Field
Tipe – Data
Ukuran(byte)
kdGuru
Varchar (Variable length) 6
kdDetail
Varchar (Variable length) 7
NIP
numeric(Variable length)
nama
Varchar (Variable length) 30
prefix
Varchar (Variable length) 10
postfix
Varchar (Variable length) 10
tipe_pegawai
Char (Fixed length)
1
jenis_kelamin
Char (Fixed length)
1
kajian
Varchar (Variable length) 20
lulusan
Varchar (Variable length) 25
10
171
tgl_masuk
datetime(Variable length) 50
SK
Varchar (Variable length) 10
User_Name
Varchar (Variable length) 10
Dalam setahun terjadi transaksi sebanyak = 2 transaksi Tabel ini memiliki jumlah kolom = 13 Ukuran Fixed length data type = 2 byte Tabel ini memiliki jumlah kolom variable length data type = 11 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 4.25 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 74 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 84.25 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 93.867 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 0.021 Dalam 1 tahun estimasi ukuran tabel ini adalah 0.021 * 8192 = 174.544 byte
172
Tabel 4.21 Tabel Estimasi MsGuru
MsUser Field
Tipe – Data
Ukuran(byte)
User_Name
Varchar (Variable length) 10
pass
Varchar (Variable length) 10
status
Varchar(Variable length)
15
Dalam setahun terjadi transaksi sebanyak = 2 transaksi Tabel ini memiliki jumlah kolom = 3 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 3 Ukuran maksimum dari kolom variable length data type = 15 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.25 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 23 byte
173
Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 30.25 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 251.039 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 0.0008 Dalam 1 tahun estimasi ukuran tabel ini adalah 0.4163 * 8192 = 65.265 byte Tabel 4.22 Tabel Estimasi MsUser
msMatpel Field
Tipe – Data
Ukuran(byte)
kdMatPel
Varchar (Variable length) 8
nama_MatPel
Varchar (Variable length) 7
nilai_Ketuntasan
float(Variable length)
30
Dalam setahun terjadi transaksi sebanyak = 90 transaksi Tabel ini memiliki jumlah kolom = 3 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 3
174
Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.25 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 58 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 65.25 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 120.38 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 90 * 120.38 Dalam 1 tahun estimasi ukuran tabel ini adalah 0 * 8192 = 10,834.2 byte Tabel 4.22 Tabel Estimasi MsMatPel
msDetailMatPel Field
Tipe – Data
Ukuran(byte)
kdMatPel
Varchar (Variable length) 5
KdGuru
Varchar (Variable length) 6
Dalam setahun terjadi transaksi sebanyak = 5*18 = 90 transaksi
175
Tabel ini memiliki jumlah kolom = 2 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 2 Ukuran maksimum dari kolom variable length data type = 6 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.125 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 12 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 19.125 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 383.24 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 0.235 Dalam 1 tahun estimasi ukuran tabel ini adalah 0.235 * 8192 = 1923.808byte Tabel 4.23 Tabel Estimasi MsDetailMatPel
msKelas Field
Tipe – Data
Ukuran(byte)
176
kdKelas
Varchar (Variable length) 3
kdSiswa
Varchar (Variable length) 8
nama_kelas
Varchar (Variable length) 10
Dalam setahun terjadi transaksi sebanyak = 40 * 6 = 240 transaksi Tabel ini memiliki jumlah kolom = 3 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 3 Ukuran maksimum dari kolom variable length data type = 10 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.25 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 18 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 25.25 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 297.10 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 0.808 Dalam 1 tahun estimasi ukuran tabel ini adalah 0.808* 8192 = 6617.57byte
177
Tabel 4.24 Tabel Estimasi MsKelas
msJadwal Field
Tipe – Data
Ukuran(byte)
kdMatPel
Varchar (Variable length) 5
kdKelas
Varchar (Variable length) 3
jam
Varchar (Variable length) 10
hari
Varchar (Variable length) 7
Dalam setahun terjadi transaksi sebanyak = 6 transaksi Tabel ini memiliki jumlah kolom = 4 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 4 Ukuran maksimum dari kolom variable length data type = 10 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.375 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 20 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length
178
data type + null bitmap + 4 = 27.375 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 275.60 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 0.022 Dalam 1 tahun estimasi ukuran tabel ini adalah 0.022 * 8192 = 178.345 byte Tabel 4.25 Tabel Estimasi MsJadwal
msAbsensi Field
Tipe – Data
Ukuran(byte)
kdAbsensi
Varchar (Variable length) 8
Jenis_Absensi
Char (Fixed length)
keterangan
Varchar (Variable length) 50
5
Dalam setahun terjadi transaksi sebanyak = 240 * 4 = 960 transaksi Tabel ini memiliki jumlah kolom = 3 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 3 Ukuran maksimum dari kolom variable length data type = 50 byte
179
Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.25 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 58 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 65.25 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 120.38 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 7.975 Dalam 1 tahun estimasi ukuran tabel ini adalah 7.975 * 8192 = 65329.124 byte Tabel 4.26 Tabel Estimasi MsAbsensi
MsDetailAbsen Field
Tipe – Data
Ukuran(byte)
kdAbsensi
Varchar (Variable length) 8
kdSiswa
Varchar (Variable length) 8
180
tanggal
datetime(Variable length) 50
Dalam setahun terjadi transaksi sebanyak = 240 * 4 = 960 transaksi Tabel ini memiliki jumlah kolom = 3 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 3 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.25 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 58 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 65.25 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 120.38 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 7.975 Dalam 1 tahun estimasi ukuran tabel ini adalah 7.975 * 8192 = 65329.124 byte Tabel 4.27 Tabel Estimasi MsDetailAbsensi
181
MsNilai Field
Tipe – Data
Ukuran(byte)
kdMatPel
Varchar (Variable length) 5
kdSiswa
Varchar (Variable length) 8
kdulangan
Varchar (Variable length) 8
PPK_Nilai
numeric(Variable length)
PPK_Huruf
Varchar (Variable length) 20
Praktik_Nilai
numeric(Variable length)
Praktik_Huruf
Varchar (Variable length) 20
Sikap
Varchar (Variable length) 2
semester
numeric(Variable length)
2
2
1
Dalam setahun terjadi transaksi sebanyak = 240 * 4 = 960 transaksi Tabel ini memiliki jumlah kolom = 8 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 8 Ukuran maksimum dari kolom variable length data type = 20 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.875 byte
182
Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 38 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 45.875 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 176.48 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 5.44 Dalam 1 tahun estimasi ukuran tabel ini adalah 5.44 * 8192 = 44562.103 byte Tabel 4.28 Tabel Estimasi MsNilai
MsUlangan Field
Tipe – Data
Ukuran(byte)
kdUlangan
Varchar (Variable length) 5
Nama_Ulangan
int (Variable length)
semester
numeric
50
(Variable 1
183
length) Diperkirakan dalam satu tahun terdapat 80 * 20 = 2400 Dalam setahun terjadi transaksi sebanyak = 2400 transaksi Tabel ini memiliki jumlah kolom = 3 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 3 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.25 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 58 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 65.25 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 120.387 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 19.936 Dalam 1 tahun estimasi ukuran tabel ini adalah 19.936* 8192 = 163313.315 byte Tabel 4.29 Tabel Estimasi MsUlangan
184
MsDetailUlangan Field
Tipe – Data
Ukuran(byte)
kdUlangan
Varchar (Variable length) 8
kdSiswa
Varchar (Variable length) 8
kdMatPel
Varchar (Variable length) 5
nilai
int (Variable length)
50
rata_rata
float (Variable length)
50
Diperkirakan dalam satu tahun terdapat 240 * 10 = 2400 Dalam setahun terjadi transaksi sebanyak = 2400 transaksi Tabel ini memiliki jumlah kolom = 5 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 5 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.5 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 62 byte
185
Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 69.5 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 113.230 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 21.196 Dalam 1 tahun estimasi ukuran tabel ini adalah 21.196* 8192 = 173635.962 byte Tabel 4.30 Tabel Estimasi MsDetailUlangan
MsTugas Field
Tipe – Data
Ukuran(byte)
kdTugas
Varchar (Variable length) 9
Nama_Tugas
int(Variable length)
50
semester
numeric(Variable length)
1
Diperkirakan dalam satu tahun terdapat 80 * 20 = 1600 Dalam setahun terjadi transaksi sebanyak = 1600 transaksi Tabel ini memiliki jumlah kolom = 3 Ukuran Fixed length data type = 0 byte
186
Tabel ini memiliki jumlah kolom variable length data type = 3 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.25 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 58 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 65.25 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 120.387 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 13.290 Dalam 1 tahun estimasi ukuran tabel ini adalah 13.290* 8192 = 108875.543 byte Tabel 4.31 Tabel Estimasi MsTugas
MsDetailTugas Field
Tipe – Data
Ukuran(byte)
kdTugas
Varchar (Variable length) 9
kdSiswa
Varchar (Variable length) 8
187
kdMatPel
Varchar (Variable length) 5
nilai
int(Variable length)
50
rata_rata
float(Variable length)
50
Diperkirakan dalam satu tahun terdapat 80 * 20 = 1600 Dalam setahun terjadi transaksi sebanyak = 1600 transaksi Tabel ini memiliki jumlah kolom = 5 Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 5 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.5 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 62 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 69.5 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 113.230 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 14.130 Dalam 1 tahun estimasi ukuran tabel ini adalah 14.130* 8192 = 115757.308 byte
188
Tabel 4.32 Tabel Estimasi MsDetailTugas
msIbu Field
Tipe – Data
Ukuran(byte)
kdIbu
Varchar (Variable length)
8
kdDetail
Varchar (Variable length)
7
nama
Varchar (Variable length)
30
kewarganegaraan
Char (Fixed length)
1
tempat_lahir
float(Variable length)
15
tgl_lahir
datetime(Variable length)
50
status
Char (Fixed length)
1
pekerjaan
Varchar (Variable length)
20
penghasilan
Varchar (Variable length)
15
pendidikan
Varchar (Variable length)
10
Dalam setahun terjadi transaksi sebanyak = 80 transaksi
189
Tabel ini memiliki jumlah kolom = 10 Ukuran Fixed length data type = 2 byte Tabel ini memiliki jumlah kolom variable length data type = 8 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3,875 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 66 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length data type + null bitmap + 4 = 75.875 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 103.961 Jumlah halaman yang diperlukan untuk 1 tahun = jumlah baris / jumlah baris per halaman = 0.77 Dalam 1 tahun estimasi ukuran tabel ini adalah 0.77* 8192 = 6303.902 byte Tabel 4.33 Tabel Estimasi MsIbu
msKaryawan Field
Tipe – Data
Ukuran(byte)
190
kdKaryawan
Varchar (Variable length)
6
kdDetail
Varchar (Variable length)
7
NIP
numeric(Variable length)
10
nama
Varchar (Variable length)
30
jabatan
Varchar (Variable length)
10
jenis_kelamin
char (Fixed length)
1
tgl_masuk
datetime(Variable length)
50
User_Name
Varchar (Variable length)
10
Dalam setahun terjadi transaksi sebanyak = 2 transaksi Tabel ini memiliki jumlah kolom = 8. Ukuran Fixed length data type = 0 byte Tabel ini memiliki jumlah kolom variable length data type = 8 Ukuran maksimum dari kolom variable length data type = 50 byte Null bitmap = 2 + ((jumlah kolom + 7) / 8) = 3.875 byte Ukuran total dari kolom variable length data type = 2 + (jumlah kolom variable length data type * 2) + ukuran maksimum variable length data type = 68 byte Ukuran untuk 1 baris = ukuran fixed length data type + ukuran total variable length
191
data type + null bitmap + 4 = 75.875 byte Jumlah baris per halaman = (8096) / (ukuran 1 baris + 2) = 103.961 Jumlah halaman diperlukan 1 tahun = jumlah baris / jumlah baris per halaman = 0.019 Dalam 1 tahun estimasi ukuran tabel ini adalah 0.019* 8192 = 157.598 byte Tabel 4.34 Tabel Estimasi MsKaryawan
No. Nama Tabel
Implementasi data awal
Size
dalam
tahun 1
MsSiswa
80
8691.892 byte
2
MsDetail
360
25416.158 byte
3
msStandarKompentensi
36
21321.766 byte
4
MsOrtu
80
3683.163byte
5
msAyah
80
6303.902 byte
6
msWali
80
6809.784 byte
7
MsGuru
18
174.544 byte
8
msUser
20
65.265 byte
9
msMatpel
12
10,834.2 byte
192
1
No. Nama Tabel
Implementasi data awal
Size
dalam
1
tahun 10
msDetailMatPel
0
1923.808byte
11
msKelas
6
6617.57byte
12
msJadwal
5
178.345 byte
13
msAbsensi
0
65329.124 byte
14
MsDetailAbsen
0
65329.124 byte
15
MsNilai
0
44562.103 byte
16
MsUlangan
10
163313.315 byte
17
MsDetailUlangan
30
173635.962 byte
18
MsTugas
10
108875.543 byte
19
MsDetailTugas
60
115757.308 byte
20
msIbu
80
6303.902 byte
21
msKaryawan
2
157.598 byte
Jumlah size yang digunakan dalam 1 tahun
417628,613 byte
Jumlah size yang digunakan dalam 5 tahun
2088143,065 byte
Tabel 4.35 Tabel Jumlah Size dalam 1 tahun
193
4.1.3.3. Merancang user views Tujuan dari tahap ini adalah untuk merancang user view yang diidentifikasikan
selama
pengumpulan
kebutuhan
dan
analisa
perkembangan lifecycle sistem basisdata. Adapun user view yang dirancang untuk sistem basis data adalah sebagai berikut : •
CREATE VIEW View_Siswa AS
SELECT s.KdSiswa, NIS, Nama_Siswa, Kelas, Telp FROM MsSiswa s JOIN MsDetail d ON s.KdSiswa = d.KdSiswa •
CREATE VIEW View_Wali AS
SELECT s.KdSiswa, NIS, Nama, Kelas, Telp FROM MsSiswa s JOIN MsDetail d ON s.KdSiswa = d.KdSiswa •
create view viewRaport_Depan as
select
NSS,
upper(nama_sekolah)
as
[nama
sekolah],
upper(alamat_sekolah) as [alamat sekolah], a.kdPos as [kdPos Sekolah],
upper(a.Kelurahan)
as
[Kelurahan
Sekolah],
upper(a.Kecamatan)
as
[Kecamatan
Sekolah],
upper(a.Kabupaten)
as
[Kabupaten
Sekolah],
upper(a.provinsi) as [Provinsi Sekolah], upper(nama_siswa) as 194
[Nama
Siswa],
NIS,
left(NSS,14)
as
[Id
Rapor],
b.Tempat_Lahir, convert(varchar(12), b.Tgl_Lahir,106) as [Tgl
Lahir],
b.Jenis_Kelamin,
c.agama,
b.Anak_Ke,
b.Saudara_Kandung, b.Status_Diri, c.alamat, c.kelurahan, c.kecamatan, c.kotamadya, c.kdPos, c.telp, b.Kelas_Terima, b.Tgl_Terima, b.Alamat_Sekolah_Asal,
b.Nama_Sekolah_Asal, b.STL_Tahun,
b.STL_No,
b.Foto_Siswa, e.nama as [nama ayah], f.nama as [nama ibu], e.pekerjaan as [pekerjaan ayah], f.pekerjaan as [pekerjaan ibu], c.alamat as [alamat ayah] from msSekolah a, msSiswa b, msdetail c, msOrTu d, msAyah e, msIbu f where b.KdDetail = c.kdDetail and b.KdSiswa = d.kdSiswa and d.kdAyah = e.kdAyah and d.kdIbu = f.kdIbu •
create view viewraport_OrTu as
select upper(d.alamat) as [alamat OrTu], d.kelurahan as [kelurahan OrTu], d.kecamatan as [kecamatan OrTu], d.kotamadya as [Kota OrTu], d.kdPos as [KdPos OrTu], d.telp as [telp OrTu] from MsSiswa a, msOrTu b, msayah c, msdetail d where a.KdSiswa = b.kdSiswa and b.kdAyah = c.kdAyah and c.kdDetail = d.kdDetail •
create view viewRaport_Wali as
195
select c.nama as [Nama Wali], c.pekerjaan as [Pekerjaan Wali], d.alamat as [alamat Wali], d.kelurahan as [kelurahan Wali], d.kecamatan as [kecamatan Wali], d.kotamadya as [Kota Wali], d.kdPos as [KdPos Wali], d.telp as [telp Wali] from MsSiswa a, msWali b, msWali c, msdetail d where a.KdSiswa = b.kdSiswa and b.kdWali = c.kdWali and c.kdDetail = d.kdDetail
4.1.3.4. Merancang mekanisme keamanan Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan dari bisnis data yang dispesifikasi oleh User. Adapun mekanisme keamanan yang dirancang untuk basisdata adalah sebagai berikut. Hak akses untuk setiap user : No
Jabatan
Akses
1.
Tata Usaha
Insert , Select , Update , Delete
2.
Guru
Insert, Select, Update Tabel 4.36 Tabel Hak Akses
User dengan Authorisasi Tata Usaha : GRANT ALL PRIVILEGES ON MsSiswa TO Tata Usaha; 196
GRANT ALL PRIVILEGES ON MsOrangTua TO Tata Usaha; GRANT ALL PRIVILEGES ON MsAyah TO Tata Usaha; GRANT ALL PRIVILEGES ON MsIbu TO Tata Usaha; GRANT ALL PRIVILEGES ON MsWali TO Tata Usaha; GRANT ALL PRIVILEGES ON MsGuru TO Tata Usaha; GRANT ALL PRIVILEGES ON MsKaryawan TO Tata Usaha; GRANT ALL PRIVILEGES ON MsDetail TO Tata Usaha; GRANT ALL PRIVILEGES ON MsStandarKompetensi TO Tata Usaha; GRANT ALL PRIVILEGES ON MsUser TO Tata Usaha; GRANT ALL PRIVILEGES ON MsMatPel TO Tata Usaha; GRANT ALL PRIVILEGES ON MsAbsensi Customer TO Tata Usaha; GRANT ALL PRIVILEGES ON MsTugas TO Tata Usaha; GRANT ALL PRIVILEGES ON MsUlangan TO Tata Usaha; GRANT ALL PRIVILEGES ON MsNilai TO Tata Usaha; GRANT ALL PRIVILEGES ON MsKelas TO Tata Usaha; GRANT ALL PRIVILEGES ON MsJadwal TO Tata Usaha; 197
GRANT ALL PRIVILEGES ON MsDetailMatPel TO Tata Usaha; GRANT ALL PRIVILEGES ON MsDetailAbsen TO Tata Usaha; User dengan Authorisasi Guru : GRANT SELECT PRIVILEGES ON MsGuru TO Guru; GRANT ALL PRIVILEGES ON MsDetail TO Guru; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON MsStandarKompetensi TO Guru; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON MsMatPel TO Guru; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON MsTugas TO Guru; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON MsUlangan TO Guru; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON MsNilai TO Guru; GRANT SELECT PRIVILEGES ON MsKelas TO Guru; GRANT SELECT PRIVILEGES ON MsJadwal TO Guru;
198
GRANT SELECT, INSERT, UPDATE PRIVILEGES ON MsDetailMatPel TO Guru;
4.2. Perancangan Aplikasi Perancangan aplikasi ini bertujuan untuk memberikan gambaran manfaat teknologi VB.NET kepada pihak perusahaan.
4.2.1. Struktur Menu Berikut ini adalah gambaran struktur menu yang akan diimplementasikan pada aplikasi:
199
Login
Menu
Siswa
Data Siswa
Akademis
Nilai
Karyawan
Laporan
Admisi
View Karyawan
Tugas
Absensi
Ganti Tahun Ajaran
Absensi
View Guru
Ulangan
Tambah Mata Pelajaran
Tambah Calon Siswa
Nilai Tugas
Tambah Siswa Tambah Karyawan
Karyawan
Raport Nilai Tugas
Guru Data Wali
Data Orang Tua
Data Ayah Data Ibu
Gambar 4.3
Stuktur Menu
4.2.2. Perancangan Input dan Output Perancangan aplikasi dimaksudkan untuk merancang menú, layar input dan output yang di hasilkan dari aplikasi yang menggambarkan serta menjelaskan State Transittion Diagram. 200
4.2.2.1. Perancangan input Perancangan Input yang dibuat adalah sebagai berikut :
G A
User Name
L Password A T I
Login
Cancel
A 3
Gambar 4.4 Rancangan Layar Login
201
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Gambar 4. 5 Rancangan Layar Menu Utama Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Siswa Input Siswa Wali Siswa Orang Tua
Nama
xxxxxxxxxxxx
NIS
xxxxxxxxxxxx
Nama Wali
xxxxxxxxxxxx
Cari
Gambar 4.6 Rancangan Layar View Wali 202
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Siswa Input Siswa Wali Siswa Orang Tua
Ayah Ibu
Nama
xxxxxxxxxxxx
NIS
xxxxxxxxxxxx
Nama Ayah
xxxxxxxxxxxx
Cari
Gambar 4.7 Rancangan Layar Ayah
203
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Siswa Input Siswa Wali Siswa Orang Tua
Ayah Ibu
Nama Siswa
xxxxxxxxxxxx
NIS
xxxxxxxxxxxx
Nama Ibu
xxxxxxxxxxxx
Cari
Gambar 4.8 Rancangan Layar Ibu
204
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Siswa Input Siswa Wali Siswa
NIS
xxxxxxxxxxxx
No
xxxxxxxxxxxx
Nama
xxxxxxxxxxxx
Propinsi
xxxxxxxxxxxx
Kelas
xxxxxxxxxxxx
Kotmadya / kabupaten
xxxxxxxxxxxx
Tempat Lahir
xxxxxxxxxxxx
Kecamatan
xxxxxxxxxxxx
Tgl Lahir
xxxxxxxxxxxx
Kelurahan
xxxxxxxxxxxx
Jenis Kelamin
xxxxxxxxxxxx
KdPos
xxxxxxxxxxxx
Agama
xxxxxxxxxxxx
E‐Mail
xxxxxxxxxxxx
Status Diri
xxxxxxxxxxxx
HandPhone
xxxxxxxxxxxx
Telepon
xxxxxxxxxxxx
Status Siswa
xxxxxxxxxxxx
Golongan Darah
xxxxxxxxxxxx
Alamat Siswa
Cancel
xxxxxxxxxxxx
Next
Gambar 4.9 Rancangan Layar AddSiswa
205
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Siswa Nama
xxxxxxxxxxxx
Kewarganegaraan
xxxxxxxxxxxx
Tempat Lahir
xxxxxxxxxxxx
Tgl Lahir
xxxxxxxxxxxx
Agama
xxxxxxxxxxxx
Input Siswa Wali Siswa
Masih Hidup/ Meninggal
xxxxxxxxxxxx
Alamat
xxxxxxxxxxxx
Propinsi
xxxxxxxxxxxx
Kotmadya / kabupaten
xxxxxxxxxxxx
Kecamatan
xxxxxxxxxxxx
Jenis Kelamin
xxxxxxxxxxxx
Kelurahan
xxxxxxxxxxxx
Telepon
xxxxxxxxxxxx
KdPos
xxxxxxxxxxxx
HandPhone
xxxxxxxxxxxx
E‐Mail
xxxxxxxxxxxx
Pekerjaan
xxxxxxxxxxxx
Pendidikan
xxxxxxxxxxxx
Penghasilan PerBulan
xxxxxxxxxxxx Cancel
Next
Gambar 4.10 Rancangan Layar AddAyah
206
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Siswa Input Siswa
Nama
xxxxxxxxxxxx
Kewarganegaraan
xxxxxxxxxxxx
Tempat Lahir
xxxxxxxxxxxx
Tgl Lahir
xxxxxxxxxxxx
Agama
xxxxxxxxxxxx
Orang Tua Wali Siswa
Masih Hidup/ Meninggal
xxxxxxxxxxxx
Alamat
xxxxxxxxxxxx
Propinsi
xxxxxxxxxxxx
Kotmadya / kabupaten
xxxxxxxxxxxx
Kecamatan
xxxxxxxxxxxx
Jenis Kelamin
xxxxxxxxxxxx
Kelurahan
xxxxxxxxxxxx
Telepon
xxxxxxxxxxxx
KdPos
xxxxxxxxxxxx
HandPhone
xxxxxxxxxxxx
E‐Mail
xxxxxxxxxxxx
Pekerjaan
xxxxxxxxxxxx
Pendidikan
xxxxxxxxxxxx
Penghasilan PerBulan
xxxxxxxxxxxx Cancel
Next
Gambar 4.11 Rancangan Layar AddIbu
207
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Siswa Input Siswa
Nama
xxxxxxxxxxxx
Kewarganegaraan
xxxxxxxxxxxx
Tempat Lahir
xxxxxxxxxxxx
Tgl Lahir
xxxxxxxxxxxx
Agama
xxxxxxxxxxxx
Jenis Kelamin
xxxxxxxxxxxx
Telepon
Alamat
xxxxxxxxxxxx
Propinsi
xxxxxxxxxxxx
Kotmadya / kabupaten
xxxxxxxxxxxx
Kecamatan
xxxxxxxxxxxx
xxxxxxxxxxxx
Kelurahan
xxxxxxxxxxxx
HandPhone
xxxxxxxxxxxx
KdPos
xxxxxxxxxxxx
Pekerjaan
xxxxxxxxxxxx
E‐Mail
xxxxxxxxxxxx
Pendidikan
xxxxxxxxxxxx
Wali Siswa Orang Tua
Penghasilan PerBulan
xxxxxxxxxxxx Cancel
Next
Gambar 4.12 Rancangan Layar AddWali
208
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Siswa Input Siswa
Anak ke ‐
Wali Siswa
Jumlah Saudara
Orang Tua
xxxxxxxxxxxx
Kandung
xxxxxxxxxxxx
Tiri
xxxxxxxxxxxx
Angkat
xxxxxxxxxxxx
Diterima Di Sekolah ini Kelas
xxxxxxxxxxxx
Tanggal
xxxxxxxxxxxx
Diterima Di Sekolah ini Kelas
xxxxxxxxxxxx
Tanggal
xxxxxxxxxxxx
Diterima Di Sekolah ini Kelas
xxxxxxxxxxxx
Tanggal
xxxxxxxxxxxx
Cancel
Next
Gambar 4.13 Rancangan Layar Detail Siswa
209
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Karyawan Data Guru Input Karyawan
xxxxxxxxxxxx xxxxxxxxxxxx Nama Karyawan Cari
xxxxxxxxxxxx
NIP Jabatan
Gambar 4.14 Rancangan Layar ViewKaryawan
210
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Karyawan Data Guru
Nama Guru
xxxxxxxxxxxx
NIP
xxxxxxxxxxxx xxxxxxxxxxxx
Mata Pelajaran
xxxxxxxxxxxx Cari
Gambar 4.15 Rancangan Layar ViewGuru
211
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Karyawan Data Guru Input Karyawan
Input Guru Input Karyawan
NIP
xxxxxxxxxxxx
Nama
xxxxxxxxxxxx
Prefix
Alamat Rumah
xxxxxxxxxxxx
xxxxxxxxxxxx
Propinsi
xxxxxxxxxxxx
Postfix
xxxxxxxxxxxx
Kotmadya / kabupaten
xxxxxxxxxxxx
Tipe Pegawai
xxxxxxxxxxxx
Kecamatan
xxxxxxxxxxxx
Tempat Lahir
xxxxxxxxxxxx
Kelurahan
xxxxxxxxxxxx
Tgl Lahir
xxxxxxxxxxxx
KdPos
xxxxxxxxxxxx
Jenis Kelamin
xxxxxxxxxxxx
E‐Mail
xxxxxxxxxxxx
Pendidikan
xxxxxxxxxxxx
Terhitung Mulai Tanggal
xxxxxxxxxxxx
Telepon
xxxxxxxxxxxx
No SK
xxxxxxxxxxxx
HandPhone
xxxxxxxxxxxx
User name
xxxxxxxxxxxx
Kajian
xxxxxxxxxxxx
Password
xxxxxxxxxxxx
Asal Lulusan
xxxxxxxxxxxx Cancel
Add
Gambar 4.16 Rancangan Layar AddGuru
212
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Data Karyawan Data Guru Input Karyawan
Input Guru Input Karyawan
NIP
xxxxxxxxxxxx
Nama
xxxxxxxxxxxx
Jabatan
Alamat
xxxxxxxxxxxx
xxxxxxxxxxxx
Propinsi
xxxxxxxxxxxx
Tempat
xxxxxxxxxxxx
Kotmadya / kabupaten
xxxxxxxxxxxx
Tgl Lahir
xxxxxxxxxxxx
Kecamatan
xxxxxxxxxxxx
Jenis Kelamin
xxxxxxxxxxxx
Kelurahan
xxxxxxxxxxxx
Pendidikan
xxxxxxxxxxxx
KdPos
xxxxxxxxxxxx
Telepon
xxxxxxxxxxxx
E‐Mail
xxxxxxxxxxxx
HandPhone
Terhitung Mulai
xxxxxxxxxxxx
xxxxxxxxxxxx
User name
xxxxxxxxxxxx
No SK
xxxxxxxxxxxx
Password
xxxxxxxxxxxx
Cancel
Add
Gambar 4.17 Rancangan Layar AddKaryawan
213
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Tugas Nama Tugas
xxxxxxxxxx
Nama Siswa
xxxxxxxxxx
Mata
xxxxxxxxxx
Semester
xxxxxxxxxx
Ulangan Raport
Cari
Gambar 4.18 Rancangan Layar ViewTugas
214
Siswa
Karyawan
Nilai
Akademis
Admisi
Tugas Nama Ulangan
xxxxxxxxxxx
Nama Siswa
xxxxxxxxxxx
Ulangan
Mata Pelajaran
xxxxxxxxxxx
Raport
Semester
xxxxxxxxxxx Cari
Gambar 4.19 Rancangan Layar ViewUlangan
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Tugas Nama
xxxxxxxxxxx
Mata
xxxxxxxxxxx
PPK
xxxxxxxxxxx
Praktik
xxxxxxxxxxx
Sikap
xxxxxxxxxxx
Semester
xxxxxxxxxxx
Ulangan Raport
Cari
Gambar 4.20 Rancangan Layar ViewRaport 215
Siswa
Karyawan
Nilai
Akademis
Admisi
Laporan
Absensi
xxxxxxxxxxxx
Nama Siswa Jumlah absen Lebih dari :
xxxxxxxxxxxx
Cari
Gambar 4.21 Rancangan Layar ViewAbsensi
4.2.2.2. Perancangan Output Dari aplikasi basisdata yang dirancang dihasilkan beberapa laporan-laporan antara lain sebagai berikut :
Gambar 4.22 Rancangan Laporan Absensi
216
Gambar 4.23 Rancangan Laporan Ulangan
Gambar 4.24 Rancangan Laporan Tugas
217
4.2.3 State Transition Diagram Diagram ini merupakan suatu diagram yang menjelaskan tentang alur dari aksi dan reaksi. Diagram STD ini digunakan untuk memberikan gambaran tentang reaksi yang akan diberikan oleh system yang dirancang ketika menerima aksi dari pengguna.
Gambar 4.25 STD Siswa 218
Home
Klik Karyaw
Klik View Karyaw
K
View Karyawa n
Klik add Karyaw an
Add Karyawa n
A R
Klik Guru
Klik add guru
Guru
Y
Add Guru
A W
Klik add Karyaw an
A
Add Karyawa n
N Klik add guru
Add Guru
Kembali ke layar
Gambar 4.26 STD Karyawan
219
Home
Klik Nilai
Klik
Nilai Tugas
N
Klik Ulanga
I
Nilai Ulangan
L A
Klik Insert
I
Insert Raport
Klik Raport
Nilai Raport
Klik Update
Insert Raport
Gambar 4.27 STD Nilai
220
Home
Klik Akademis
Klik Tambah Absen
A
Insert Absen
K A D
Klik View Absen
E
View Absen
M I S Klik Tambah MatPel
Insert MatPel
Kembali ke layar
Gambar 4.28 STD Akademis
221
Home
Klik Laporan
Klik Absensi
Laporan Absensi
L A P
Klik Nilai Tugas
O
Laporan Nilai Tugas
R A N Klik Nilai Ulangan
Laporan Nilai Ulangan
Kembali ke layar
Gambar 4.29 STD Laporan
4.3 Implementasi Pada bagian ini akan dijelaskan mengenai kebutuhan perangkat keras dan perangkat lunak serta sumber daya manusia yang akan diperlukan agar system basis data pembelian dan penjualan dapat berjalan dengan baik. 222
4.3.1 Spesifikasi Perangkat Keras Perangkat keras dari sebuah komputer merupakan salah satu elemen yang sangat diperlukan agar aplikasi yang diusulkan dapat berjalan optimal dan baik pada CV. Mitratama Uniplast. Spesifikasi perangkat keras minimum yang diusulkan adalah sebagai berikut:
No.
Spesifikasi Server
Spesifikasi Client
Spesifikasi kebutuhan perangkat keras
Spesifikasi kebutuhan perangkat
minimum :
keras minimum :
1.
Prossesor Intel Pentium IV 2,4 GHz
Pentium IV 2 Ghz
2.
Hardisk 40 GB
Hardisk 20 GB
3.
Memori 256 MB
Memori 256 MB
4.
Monitor SVGA ( min. resolusi 800 x Monitor SVGA ( min. resolusi 800 600 ) 16 bit 15”
x 600 ) 16 bit 15”
Tabel 4.36 Tabel Spesifikasi Perangkat Keras
4.3.2Spesifikasi Perangkat Lunak Spesifikasi perangkat lunak yang diusulkan adalah sebagai berikut: No. Spesifikasi Server
Spesifikasi Client
223
Spesifikasi kebutuhan perangkat lunak:
Spesifikasi kebutuhan perangkat lunak:
1.
Sistem Operasi Microsoft Windows XP
Sistem Operasi Microsoft Windows XP
2.
Database Microsoft SQL Server 2005
Database Microsoft SQL Server 2005
Tabel 4.37 Tabel Spesifikasi Perangkat Lunak
4.3.3 Jadwal Implementasi Aplikasi sistem basis data yang telah dirancang, dijadwalkan untuk diimplentasikan dalam perusahaan sebagai pengganti system manual : No.
Kegiatan
Minggu 1
1.
Pembentukan tim
2.
Pengumpulan informasi
3.
Pengadaan perangkat keras
2
3
4
5
6
7
8
9
10
11
dan lunak
224
4.
Instalasi perangkat lunak
5.
Design basisdata
6.
Implementasi basisdata
7.
Konversi data
8.
Testing
9.
Pelatihan pengguna
10.
Evaluasi sistem baru Tabel 4.38 Tabel Jadwal Implementasi
4.3.4
Petunjuk Pemakaian Sistem
Gambar 4.30 User Interface Halaman Login
225
Form yang akan tampil pada saat aplikasi pertama kali dijalankan. Pada layar ini user diminta untuk memasukan kode akses dan password dan dilanjutkan dengan menekan tombol Login. Peringatan akan muncul apabila user salah memasukan kode akses atau password. Adalah sebuah tampilan yang akan muncul apabila user ingin merubah password.
Gambar 4.31 User Interface Menu Utama
Jika user telah benar melakukan login, maka layar menu utama yang terdiri dari Siswa, Karyawan, Nilai, Akademis, Admis dan Laporan akan dapat digunakan. User dapat menggunakannya berdasarkan kebutuhan.
226
Gambar 4.32 User Interface ViewAyah \
Ini adalah tampilan ketika pilihan menu siswa – Orang Tua - Ayah dipilih. Pada tampilan ini user dapat melihat data-data ayah dari para siswa yang ada pada SMU Galatia 3, dan yang masih bersekolah pada SMU Galatia 3.
227
Gambar 4.33 User Interface ViewIbu
Ini adalah tampilan ketika pilihan menu siswa – Orang Tua - Ibu dipilih. Pada tampilan ini user dapat melihat data-data Ibu dari para siswa yang ada pada SMU Galatia 3, dan yang masih bersekolah pada SMU Galatia 3.
228
Gambar 4.34 User Interface ViewWali
Ini adalah tampilan ketika pilihan menu siswa – Wali dipilih. Pada tampilan ini user dapat melihat data-data Wali dari para siswa yang ada pada SMU Galatia 3, dan yang masih bersekolah pada SMU Galatia 3.
229
Gambar 4.35 User Interface ViewSiswa
Ini adalah tampilan ketika pilihan menu siswa – Data Siswa. Pada tampilan ini user dapat melihat data-data dari para siswa yang ada pada SMU Galatia 3, dan yang masih bersekolah pada SMU Galatia 3.
230
Gambar 4.36 User Interface ViewSiswa
Ini adalah tampilan ketika pilihan menu Karyawan – Data Siswa. Pada tampilan ini user dapat melihat data-data dari para Karyawan yang bekerja pada sekolah SMU Galatia 3.
231
Gambar 4.37 User Interface ViewGuru
Ini adalah tampilan ketika pilihan menu Karyawan – Guru. Pada tampilan ini user dapat melihat data-data dari para Guru yang mengajar pada sekolah SMU Galatia 3.
232
Gambar 4.38 User Interface NilaiTugas
Ini adalah tampilan ketika pilihan menu Nilai – Tugas dipilih. Pada halaman ini akan ditampilkan nilai-nilai tugas siswa yang masih bersekolah pada SMU Galatia 3 dengan criteria-kriteria yang ada. Pada halaman ini user dapat langsung melakukan update atau input nilai baru.
233
Gambar 4.39 User Interface NilaiUlangan
Ini adalah tampilan ketika pilihan menu Nilai – Ulangan dipilih. Pada halaman ini akan ditampilkan nilai-nilai ulangan siswa yang masih bersekolah pada SMU Galatia 3 dengan criteria-kriteria yang ada. Pada halaman ini user dapat langsung melakukan update atau input nilai baru. 234
Gambar 4.40 User Interface NilaiRaport
Ini adalah tampilan ketika pilihan menu Nilai – Raport dipilih. Pada halaman ini akan ditampilkan nilai-nilai raport dari setiap siswa yang masih bersekolah pada SMU Galatia 3 dengan kriteria-kriteria yang ada. Pada halaman ini user dapat langsung melakukan update data.
235
Gambar 4.41 User Interface menu Jadwal Ini adalah tampilan pada layar menu jadwal. User
dapat memilih jadwal
berdasarkan kelas. Pada layar ini User juga dapat mengubah jadwal atau menambahkan jadwal baru bila jadwal belum lengkap. Dalam satu hari setiap kelas memiliki maksimal 7 jam pelajaran, sehingga apabila jadwal pada jam tersebut sudah ada, maka user tidak bisa menambah jam atau mata pelajaran ke dalam jadwal lagi.
236
Gambar 4.42 User Interface Data Siswa Ini adalah tampilan form pertama dalam penambahan data untuk siswa baru. Dalam form ini tampilan yang bewarna merah adalah kolom-kolom yang harus diisi oleh User, jika kolom-kolom ini belum diisi maka user tidak dapat lanjut ke dalam tahap berikutnya.
237
Gambar 4.43 User Interface Detail Siswa Ini adalah tampilan form kedua dalam penambahan data untuk siswa baru. Dalam form ini tampilan yang bewarna merah adalah kolom-kolom yang harus diisi oleh User, jika kolom-kolom ini belum diisi maka user tidak dapat menyelesaikan tahap penambahan siswa.
238
Gambar 4.44 User Interface Data Mata Pelajaran Ini adalah tampilan form untuk user menambah mata pelajaran baru. User juga dapat mengubah data mata pelajaran yang telah ada.
239
Gambar 4.45 User Interface Data Ayah Ini adalah tampilan form dalam penambahan data untuk ayah dari siswa baru. Dalam form ini tampilan yang bewarna merah adalah kolom-kolom yang harus diisi oleh User, jika kolom-kolom ini belum diisi maka user tidak dapat lanjut ke dalam tahap berikutnya.
240
Gambar 4.46 User Interface Data Ayah Ini adalah tampilan form dalam penambahan data untuk Ibu dari siswa baru. Dalam form ini tampilan yang bewarna merah adalah kolom-kolom yang harus diisi oleh User, jika kolom-kolom ini belum diisi maka user tidak dapat lanjut ke dalam tahap berikutnya.
241
Gambar 4.47 User Interface Data Wali Ini adalah tampilan form dalam penambahan data untuk Wali dari siswa baru. Dalam form ini tampilan yang bewarna merah adalah kolom-kolom yang harus diisi oleh User, jika kolom-kolom ini belum diisi maka user tidak dapat lanjut ke dalam tahap berikutnya.
242
Gambar 4.48 User Interface Data Guru Ini adalah tampilan form dalam penambahan data untuk Guru pada sekolah SMU Galatia 3. Pada form ini User harus mengisi terlebih dahulu kolom-kolom yang bewarna merah sebelum user dapat menyeselesaikan proses penambahan guru baru
243
Gambar 4.49 User Interface Data Karyawan Ini adalah tampilan form dalam penambahan data untuk Karyawan pada sekolah SMU Galatia 3. Pada form ini User harus mengisi terlebih dahulu kolom-kolom yang bewarna merah sebelum user dapat menyeselesaikan proses penambahan Karyawan baru
244
Gambar 4.50 User Interface Data Absensi Ini adalah tampilan form dalam penambahan data untuk Absensi siswa-siswi pada sekolah SMU Galatia 3. User juga dapat memilih untu menampilkan jenis absen apa yang ingin ditampilkan dalam tabel.
245
Gambar 4.51 User Interface laporan Absensi
Ini adalah tampilan dari fromat laporan absensi yang dihasilkan dari sistem aplikasi yang telah dibuat. User dapat mencetak laporan ini.
246
Gambar 4.52 User Interface laporan Nilai Tugas
Ini adalah tampilan dari fromat laporan Nilai Tugas yang dihasilkan dari sistem aplikasi yang telah dibuat. User dapat mencetak laporan ini.
247
Gambar 4.53 User Interface laporan Nilai Ulangan
Ini adalah tampilan dari fromat laporan Nilai ulangan yang dihasilkan dari sistem aplikasi yang telah dibuat. User dapat mencetak laporan ini.
248
Sistem Lama
Membutuhkan
Sistem Baru
waktu
yang
lama
Mempersingkat waktu pencarian data menjadi
dalam pencarian data
lebih efisen
Pembuatan laporan dilakukan dengan
Pembuatan laporan hanya dengan menekan
menginput data manual satu persatu
tombol cetak
Memungkinkan
Memperkecil kemungkinan pengulangan data
terjadinya
pengulangan data
Dalam
waktu
pengisian
data
Pengisian data dibuat menjadi lebih efisien
data
Insert dan update data cukup dilakukan oleh 1
dilakukan oleh setiap bagian sehingga
bagian jika ada yang ingn menggunakan data
waktu yang dipakai tidak efisien
tersebut, data tersebut tinggal dipanggil
membutuhkan waktu yang lama
Insert,
update,
dan
delete
Tabel 4.39 Tabel Evaluasi perbandingan sistem lama dan sistem baru
249