53
BAB 3 ANALISIS DAN PERANCANGAN
3.1. Gambaran Umum tentang SMAN 90 Jakarta Pada bagian ini dibahas mengenai sejarah SMAN 90
Jakarta, visi dan misi,
struktur organisasi, serta prosedur yang sedang berjalan.
3.1.1
Sejarah SMAN 90 Jakarta SMA 90 Jakarta berdiri sejak 1986 dengan sebutan SMA Pesanggrahan.
Sebutan tersebut karena melihat lokasi pembangunannya terletak di kecamatan Pesanggrahan Jakarta Selatan. Pada awal berdirinya SMA ini, kegiatan belajar mengajar dilaksanakan di SMA 87 Bintaro pada sore hari. Satu tahun setelah berdirinya bersama dengan peresmian gedung baru yang berlokasi di kelurahan Petukangan Selatan ini, kantor wilayah DIKBUD DKI Jakarta mengukuhkan menjadi SMAN 90 Jakarta. Pada tahun 1997 berkat swadaya dari orang tua Siswa/i telah terbangun 6 ruangan belajar yang diresmikan oleh Menteri Pendidikan dan Kebudayaan Prof. Dr. Wardiman Djojonegoro sehingga semua Siswa/i dapat belajar pagi hari. Berkat kerja keras Bapak dan Ibu guru, karyawan dan didukung penuh oleh Pengurus BP3, tahun 2002 SMA 90 Jakarta ditetapkan sebagai SMA Plus Pendamping Kodya. Pada tahun 2004 berdasarkan Keputusan Dinas Pendidikan Menengah dan Tinggi Provinsi DKI Jakarta Nomor : 206a / 2004 SMA 90 Jakarta ditetapkan sebagai SMA Plus Tingkat Propinsi. 53
54 Dua tahun berikutnya tahun 2006 berdasarkan Keputusan Dinas Pendidikan Menengah dan Tinggi Provinsi DKI Jakarta Nomor : 460 / 2006 SMA 90 Jakarta ditetapkan sebagai SMA Plus Standar Nasional.
3.1.2
Visi dan Misi SMAN 90 Jakarta
Visi 1.
Terciptanya SMAN 90
Jakarta berbasis akhlak mulia, unggul dalam
berprestasi, siap beradaptasi, dan berkompetisi terhadap perubahan global. Misi 1.
Meningkatkan kecerdasan intelektual, emosional, dan spiritual.
2.
Menyelenggarakan
program
studi
dan
kegiatan
yang
menunjang
pengembangan dan penerapan iptek yang berakhlak mulia. 3.
Menyediakan sarana dan menciptakan lingkungan yang kondusif.
4.
Melakukan kerjasama dengan berbagai pihak, baik tingkat nasional maupun tingkat internasional yang menjunjung tinggi nilai-nilai, budaya, dan etos kerja.
55
3.1.3
Struktur Organisasi
Keterangan : --------------
: Garis konsultasi : Garis perintah
3.1.4
Tugas dan Wewenang Wewenang dan tanggung jawab dari masing-masing bidang pada SMAN 90 Jakarta dapat diuraikan sebagai berikut. 1.
Kepala Sekolah •
Mengelola penyelenggaraan pendidikan dan pembelajaran di sekolah.
56 •
Mendayagunakan seluruh sumber daya sekolah secara terpadu dalam kerangka pencapaian tujuan sekolah secara efektif dan efisien.
•
Menggerakkan seluruh potensi sekolah, khususnya tenaga guru dan tenaga kependidikan bagi pencapaian tujuan sekolah.
•
Melaksanakan pengelolaan kurikulum, peserta didik, ketenagaan, keuangan, sarana dan prasarana, hubungan sekolah-masyarakat, dan ketatausahaan sekolah.
•
Kepala sekolah berfungsi melakukan pembinaan professional kepada guru dan tenaga kependidikan.
2.
Komisi Mitra Usaha 1.
Mendorong tumbuhnya perhatian dan komitmen masyarakat terhadap penyelenggaraan pendidikan yang bermutu.
2.
Menyalurkan aspirasi dan prakarsa masyarakat dalam melahirkan kebijakan operasional dan program pendidikan di SMAN 90 Jakarta.
3.
Menampung dan menganalisis aspirasi, ide, tuntutan, dan berbagai kebutuhan pendidikan yang diharapkan oleh masyarakat.
4.
Pengontrol (Controlling Agency) dalam rangka transparansi dan akuntabilasi penyelenggaraan dan keluaran pendidikan di satuan pendidikan.
5.
Pemberi pertimbangan (Advisory Agency) dalam penentuan dan pelaksanaan kebijakan di satuan pendidikan.
57 3.
Wakil Kepala Sekolah a.
b.
c.
Wakil Kepala Sekolah Bidang Kurikulum : •
Menyusun pembagian tugas guru.
•
Membantu kepala sekolah melakukan supervisi kelas.
•
Menambah laporan pelaksanaan pelajaran.
•
Menyusun penjadwalan kegiatan belajar mengajar.
•
Melaksanakan program kerja.
Wakil Kepala Sekolah Bidang kesiswaan : •
Mengatur mutasi siswa/i.
•
Menyusun program pembinaan kesiswaan.
•
Penerimaan siswa/i baru.
•
Membantu laporan pelaksanaan kegiatan kesiswaan.
•
Melaksanakan program kerja.
Wakil Kepala Sekolah Bidang Sarana dan Prasarana : •
Menyusun rencana kebutuhan sarana dan prasarana sekolah.
•
Menyusun rencana pembelian dan pengadaan inventaris sekolah.
•
Menyusun rencana perawatan, rehabilitasi dan pembangunan sarana dan prasarana.
•
Menyusun Rencana Anggaran, Pendapatan dan Belanja Sekolah (RAPBS), program kerja, dan laporan tahunan, bekerjasama dengan wakil kepala sekolah lainnya, bidang tata usaha, staf tata usaha, dan lain-lain.
58 •
Menadministrasikan pendayagunaan sarana prasarana.
•
Menyusun laporan pelaksanaan urusan sarana dan prasarana secara bersekala.
•
Melaksanakan program kerja.
• d.
Wakil Kepala Sekolah Bidang Hubungan Masyarakat •
Menyusun program kegiatan humas.
•
Menyusun RAPBS, program sekolah, dan laporan tahunan.
•
Membina hubungan antara sekolah dengan komite.
•
Mengatur hubungan dengan Pemerintahan Daerah (Pemda) dan instansi lain.
•
Menyusun laporan pelaksanaan hubungan masyarakat secara berkala.
4.
Tata Usaha a.
Tata Usaha •
Menyusun program tata usaha sekolah.
•
Mengelola keuangan sekolah.
•
Mengurus administrasi ketenagaan dan siswa/i.
•
Membina dan pemgembangan karir pegawai tata usaha sekolah.
•
Menyusun administrasi perlengkapan sekolah.
•
Menyusun dan penyajian data atau statistik sekolah.
59 •
Menyusun
laporan
pelaksanaan
kegiatan
pengurusan
ketatausahaan secara berkala. b.
Staf Tata Usaha 1. Kasir • Menerima uang setoran spp. • Menuliskan kuitansi. • Memtambah laporan setoran spp. 2. Penerima Setoran • Menerima uang setoran buku paket. • Menuliskan kwitansi. • Memtambah laporan setoran pembayaran buku paket. 3. Dewan Guru a. Memtambah program pengajaran; •
Silabus dan sistem penilaian.
•
Menetapkan Standar Ketuntasan Belajar Minimal.
•
Program tahunan/ semester.
•
Skenario pembelajaran.
•
Buku Catatan Siswa/i.
•
Program mingguan guru .
•
Bahan Ajar.
•
Analisis Standar Ketuntasan Belajar Minimal.
b. Melaksanakan kegiatan pembelajaran.
60 c. Melaksanakan kegiatan penilaian belajar, ulangan harian, semester/tahunan. d. Mengikuti kegiatan pengembangan dan pemasyarakatan kurikulum. e. Melaksanakan tugas tertentu disekolah. f. Mengadakan pengembangan bidang pengajaran yang menjadi tanggungjawabnya. g. Memtambah catatan tentang kemajuan hasil belajar masing-masing siswa/i. 4. Siswa/i • Mendapatkan pengajaran dari pihak sekolah. • Membayaran iuran yang telah ditetapkan oleh sekolah. • Mematuhi semua peraturan sekolah
3.2. Gambaran Sistem Gambaran sistem
yang seharusnya berjalan akan digambarkan melalui
DataFlowDiagram pada subbab 3.2.2, sedangkan gambaran sistem yang sedang berjalan dalam SMAN 90 Jakarta akan digambarkan melalui flowchart pada subbab 3.2.1.
3.2.1
Prosedur yang sedang berjalan Pada SMAN 90 Jakarta terdapat beberapa prosedur yang sedang berjalan, antara lain: 1.
Prosedur penjadwalan Prosedur yang sedang berjalan di SMAN 90 penjadwalan, sebagai berikut:
Jakarta dalam
61 a.
Guru bidang kurikulum mendata kelas dan siswa/i yang akan diajarkan dan menambah draft jadwal yang berisi mata pelajaran yang akan diajarkan dikelas masing masing berdasarkan kalender akademik yang diperoleh dari pihak dinas pendidikan.
b.
Setelah jadwal mata pelajaran selesai, selanjutnya guru bidang kurikulum menentukan jumlah shift untuk masing masing pelajaran disesuaikan dengan ketentuan dinas pendidikan.
c.
Guru bidang kurikulum menyatukan draft jadwal pelajaran dan shift yang diajarkan dengan daftar guru yang mengajar beserta daftar guru yang tidak dapat hadir pada hari – hari tertentu yang selanjutnya akan diproses untuk pemtambahan jadwal mata pelajaran.
d.
Jadwal mata pelajaran yang terdiri dari mata pelajaran, jumlah shift yang diajarkan dan guru yang mengajar ditambah rangkap tiga yang selanjutnya di berikan kepada guru mata pelajaran, wali kelas yang nantinya akan di sampaikan kepada Siswa/i dikelas dan akan disimpan diarsip oleh guru bidang kurikulum.
62 Guru bidang kurikulum
Guru mata pelajaran
Wali kelas
MULAI
Proses pengumpulan data untuk pembuatan jadwal mata pelajaran yang disesuaikan oleh kalender akademik dari dinas pendidikan
Daftar guru mata pelajaran untuk masing masing pelajaran di masing masing kelas
Daftar kelas dan data siswa masing masing kelas
Draft jadwal mata pelajaran Menerima konfirmasi langsung dari guru mata pelajaran dan melakukan pendataan
Proses penentuan jumlah shift setiap mata pelajaran untuk masing masing kelas sesuai dengan ketentuan dinas pendidikan
Guru mata pelajaran yang tidak bisa hadir di hari tertentu melakukan konfirmasi langsung kepada bagian kurikulum
Daftar guru yang berhalangan hadir untuk hari hari tertentu
Jadwal mata pelajaran yang terdiri dari mata pelajaran dan jumlah shift yang diajarkan di masing masing kelas
Proses pembuatan jadwal guru yang mengajar berdasarkan jadwal pelajaran, daftar guru untuk masing masing kelas, guru yg berhalangan hadir dan siswa yang di ajarkan
Jadwal mata pelajaran,jumlah shift, siswa yang diajarkan dan guru yang mengajar (3)
(3) (2) Jadwal mata pelajaran,jumlah shift, siswa yang diajarkan dan guru yang mengajar (1)
Jadwal mata pelajaran,jumlah shift, siswa yang diajarkan dan guru yang mengajar (2)
Jadwal disimpan kedalam arsip
SELESAI
Gambar 1Diagram Prosedur Penjadwalan
Diumumkan kepada siswa
63 2.
Prosedur penilaian Prosedur yang sedang berjalan di SMAN 90
Jakarta dalam
pemberian nilai tugas, ulangan harian, dan ujian pada setiap mata pelajaran, sebagai berikut: a. Guru mata pelajaran menerima lembar jawaban dari masing masing kelas. b. Lembar jawaban dikoreksi sesuai dengan standar nilai untuk masing masing pelajaran. c. Guru mata pelajaran memasukkan nilai kedalam aplikasi SAS dan memberikan rekap nilai kepada wali kelas dan siswa/i yang bersangkutan.
64
Gambar 2Diagram Prosedur Penilaian
65 3.
Prosedur absensi Prosedur yang sedang berjalan di SMAN 90 Jakarta dalam absensi,
sebagai berikut: a. Guru piket yang sedang bertugas mencatat daftar nama siswa/i yang tidak hadir sesuai buku piket yang diberikan oleh sekretaris kelas serta menambahkan nama siswa/i yang izin pada saat jam pelajaran berlangsung kedalam agenda piket. b. Hasil rekap absensi tersebut diberikan kepada guru bidang kesiswaan yang selanjutnya akan disimpan kedalam arsip.
66
Gambar 3Diagram Prosedur Absensi
67 4.
Penyusunan program belajar Prosedur yang sedang berjalan di SMAN 90
Jakarta dalam
penyusunan program belajar, sebagai berikut: a. Guru bidang kurikulum memberikan jadwal kelas dan mata pelajaran yang diajarkan kepada guru mata pelajaran. b. Setelah mendapatkan informasi jadwal, guru mata pelajaran akan menyusun program belajar sesuai dengan ketentuan dinas untuk satu semester. c. Susunan program belajar tersebut akan disimpan oleh guru tersebut dan akan diberikan juga kepada guru bidang kurikulum.
68
Gambar 4Diagram prosedur penambahan program belajar
69
3.2.2
Data Flow Diagram Data Flow Diagram dibawah inimenggambarkan sistem yang seharusnya berjalan dalam SMAN 90 Jakarta. Guru Piket
Siswa
Pendataan data guru
Pendataan jadwal pelajaran
Pendataan jadwal ujian
Kurikulum
Tampilkan profil, tahun akademik, kelas, ruang, jadwal pelajaran, jadwal ujian, mata pelajaran, nilai, materi belajar, absensi
Pendataan kelas
Pendataan ruang Pendataan tahun akademik Pendataan mata pelajaran
Sistem Administrasi siswa dan guru
Pendataan absensi Pendataan data siswa
Tampilkan data guru, jadwal pelajaran, jadwal ujian, ruang, kelas, tahun akademik, mata pelajaran
Pendataan nilai
Tampilkan profil siswa, tahun akademik siswa,kelas siswa, absensi siswa
Tampilkan tahun akademik siswa, kelas siswa, profil guru, nilai siswa, materi belajar Pendataan materi belajar
Guru mata pelajaran
Tampilkan data siswa, nilai siswa, tahun akademik siswa, absensi siswa
Wali Kelas Gambar 5DFD Context
Kesiswaan
70
Gambar 6Data Flow Diagram Nol
71
3.3. Daftar Kebutuhan Pengguna 3.3.1
Kebutuhan Informasi
No Informasi
Pengguna
1.
Siswa/i,
Data siswa/i
Guru
bidang
(Nomor induk siswa/i, nama lengkap siswa/i, Kesiswaan, Guru Wali Kelas, tempat tanggal lahir, jenis kelamin, alamat rumah, Guru Mata Pelajaran, Guru agama, kelas, kewarganegaraan, email, nomor Piket,
2.
Guru
bidang
telepon, nama orang tua/wali)
Kurikulum
Data guru
Guru Mata Pelajaran, Guru
(Nomor induk guru, nama lengkap guru, tempat bidang Kurikulum, Siswa/i tanggal lahir, tanggal lahir, jenis kelamin, alamat rumah, agama, kewarganegaraan, status pendidikan terakhir, telepon, email) 3.
Data Jadwal Mata Pelajaran
Siswa/i, Guru Wali Kelas,
(Kode mata pelajaran, nama mata pelajaran, hari, Guru Mata Pelajaran, Guru tanggal, jam, kelas, ruang, materi, nama pengajar, bidang Kurikulum tahun akademik, kalender akademik)
4.
Data Mata Pelajaran
Siswa/i, Guru Wali Kelas,
(Kode mata pelajaran, nama mata pelajaran)
Guru Mata Pelajaran, Guru bidang Kurikulum
5.
Data Jadwal Ujian
Siswa/i,
(Kode ujian, hari ujian, tanggal ujian, jam ujian,
Kurikulum
Guru
bidang
72 No Informasi
Pengguna
mata pelajaran, jenis ujian, kelas, ruang, tahun akademik) 6.
Data Kelas
Siswa/i, Guru Wali Kelas,
(Kode kelas, kelas, tahun akademik)
Guru Mata Pelajaran, Guru bidang Kurikulum
7.
Data Nilai
Siswa/i, Guru Wali Kelas,
(Kode nilai, nomor induk siswa/i, nama lengkap Guru Mata Pelajaran siswa/i, nomer induk guru, jenis ujian, nama mata pelajaran, tahun akademik) 8.
Data Absensi
Siswa/i,
Guru
bidang
(Kode absensi, hari, tanggal, nomor induk siswa/i, Kesiswaan, Guru Wali Kelas, nama lengkap siswa/i, tahun akademik, jumlah Guru Piket absensi, detail absensi, ) 9.
Data Ruang
Siswa/i, Guru Wali Kelas,
(Kode Ruang, nama ruang)
Guru Mata Pelajaran, Guru bidang Kurikulum
9.
Data Materi
Guru Mata Pelajaran, Siswa/i
(Kode materi, judul materi, isi materi, kode jadwal pelajaran) Tabel 1 Daftar Kebutuhan Pengguna
73
3.3.2 a.
Kebutuhan Transaksi Pendataan 1. Pendataan guru 2. Pendataan siswa 3. Pendataan absensi 4. Pendataan tahun akademik 5. Pendataan jadwal pelajaran 6. Pendataan jadwal ujian 7. Pendataan mata pelajaran 8. Pendataan ruang 9. Pendataan kelas 10. Pendataan nilai 11. Pendataan materi
b.
Data View 1. View data siswa 2. View nilai 3. View materi 4. View jadwal pelajaran 5. View ujian 6. View absensi 7. View data guru
74
3.4. Permasalahan sistem yang dihadapi Setelah melihat sistem yang sedang berjalan di SMAN 90 Jakarta dengan menggunakan metode survei dan wawancara, maka diperoleh beberapa permasalahan yang dihadapi, yaitu meliputi sebagai berikut: 1. Dengan penyimpanan data yang masih menggunakan arsip dapat memudahkan pihak yang tidak diberi hak akses dapat dengan mudah mengakses data tersebut. 2. Diperlukan tempat penyimpanan berkas yang cukup besar untuk dapat menyimpan berkas – berkas yang ada. 3. Dengan sistem yang ada saat ini, dalam pencarian atau mendapatkan informasi bagi siswa/i ketika sedang libur sekolah siswa/i akan memerlukan waktu untuk datang ke sekolah dalam pencarian informasi tentang jadwal kelas dan pelajaran yang baru untuk awal semester nantinya. 4. Kurang maksimalnya dalam pencapaian informasi lain yang berupa jadwal ujian, informasi sekolah dan informasi lain yang berkaitan dengan sekolah yang masih memanfaatkan pengumuman pada papan pengumuman sekolah. 5. Tidak maksimalnya dalam hal pemberitahuan data nilai siswa/i karena setelah guru mengoreksi dimasukkan dahulu kedalam aplikasi yang dimiliki sekolah dan baru diinformasikan kepada siswa/i nya.
75
3.5. Usulan Pemecahan Masalah Berdasarkan konsultasi dan identifikasi kebutuhan SMAN 90 Jakarta mengenai masalah – masalah yang terdapat pada SMAN 90 Jalarta, maka dibuatlah pemecahan masalah-masalah tersebut : 1. Membangun aplikasi basis data berbasis web dinamis yang dapat digunakan pihak SMAN 90 Jakarta secara internal. 2. Merancang sebuah aplikasi basis data berbasis webyang saling terintegrasi. 3. Merancang database SMAN 90 untuk mendukung aplikasi basis data berbasis web. 4. Menyediakan fasilitas untuk memasukkan data tiap bagian pada aplikasi basis data berbasis web. 5. Menyediakan fasilitas untuk melihat data tiap bagian pada aplikasi basis data berbasis web. 6. Menyediakan fasilitas untuk memasukkan data tiap bagian pada aplikasi basis data berbasis web. 7. Menyediakan fasilitas untuk memperbaharui data tiap bagian pada aplikasi basis data berbasis web. 8. Menyediakan fasilitas untuk menghapus data tiap bagian pada aplikasi basis data berbasis web. 9. Menyediakan fasilitas untuk menyimpan data tiap bagian pada aplikasi basis data berbasis web.
76
3.6. Perancangan Sistem Basis Data 3.6.1
Perancangan Basis Data Konseptual Tahap-tahap pada perancangan basis data konseptual, antara lain: 1. Mengidentifikasi tipe entitas
Nama Entitas
Uraian
Alias
Orang yang belajar di Siswa
Kejadian Setiap siswa/i menerima
Murid SMAN 90 Jakarta.
pelajaran dari guru. Setiap guru memtambah materi pembelajaran selama setahun,
Orang yang mengajar di Guru
memberikan materi Staf pengajar
SMAN 90 Jakarta.
kepada siswa/i, dan memberikan penilaian akademik kepada siswa/i.
Mata pelajaran yang MataPelajaran
Jadwal
diajarkan oleh guru-guru
Mata pelajaran yang Pelajaran
didapat siswa/i SMAN
SMAN 90 Jakarta
90 Jakarta
Jadwal yang mengatur
Setiap mata pelajaran
pembagian kelas dan
dan ujian memiliki -
Pelajaran
mata pelajaran untuk
jadwalnya masing-
siswa/76d an guru.
masing.
77 Nama Entitas
Uraian
Alias
Kejadian
Jadwal yang berisi hari, Setiap mata pelajaran Ujian
tanggal, dan jam ujian
Jadwal ujian memiliki ujian.
untuk tiap mata pelajaran. Kumpulan daftar kelas Setiap siswa/i memiliki Kelas
yang terdapat di SMAN
kelas masing-masing.
90 Jakarta. Daftar yang berisi absensi Absensi
Nilai
Setiap Siswa/i memiliki Kehadiran
Siswa/i.
absensi masing-masing.
Daftar nilai dari tiap
Setiap siswa/i memiliki
Siswa/i per mata
Hasil belajar
pelajaran.
nilai tiap mata pelajaran yang diajarankan.
Kumpulan daftar ruangan Tempat Ruang
yang terdapat di SMAN
Tempat Siswa/i belajar. Belajar
90 Jakarta.
Setiap mata pelajaran Materi pembelajaran Materi
-
memiliki materi yang
selama setahun. berbeda-beda. Tabel 2 Mengidentifikasi Entitas
78 2. Mengidentifikasi tipe relationship Nama Entitas
Multiplicity
Relationship
Nama Entitas
Multiplicity
Siswa
1…1
Mendapatkan
Nilai
0…*
Siswa
1…1
Memiliki
Absensi
0…*
Siswa
1…*
Memiliki
Kelas
1…*
Kelas
1…1
Memiliki
JadwalPelajaran
1…*
MataPelajaran
1…1
Terdapat di
JadwalPelajaran
1…*
MataPelajaran
1…1
Memiliki
Ujian
1…*
MataPelajaran
1…1
Memiliki
Nilai
1…*
Materi
1...1
Memiliki
JadwalPelajaran
1…*
Guru
1…*
Mengajar
MataPelajaran
1…1
Guru
1…1
Memiliki
JadwalPelajaran
1…*
Guru
1…1
Memberikan
Nilai
1…*
JadwalPelajaran
1…*
Memiliki
Ruang
1…1
Ujian
1..*
Memiliki
Ruang
1..1
Ujian
1..*
Memiliki
Kelas
1..1
Ujian
1..1
Memiliki
Nilai
1..1
Tabel 3 Mengidentifikasi Tipe Relationship
79 3. Mengidentifikasi dan menghubungkan atribut dengan tipe entitas atau relationship • Entitas Siswa No
Atribut
Deskripsi
Tipe
data Nulls
dan panjang 1.
NIS
Nomor
Multivalued
induk Int(5)
No
No
akses Varchar(20)
No
No
Siswa/i Password
Kode sistem
Nama
Nama Siswa/i
Varchar(50)
No
No
JenisKelamin
Jenis kelamin
Varchar(10)
No
No
TempatLahir
Tempat
lahir Varchar(20)
No
No
lahir Date
No
No
siswa/i TglLahir
Tanggal siswa/i
Agama
Agama siswa/i
Varchar(8)
No
No
Kewarganegaraan
Kewarganegaraan
Varchar(3)
No
No
siswa/i Telepon
No. telepon siswa
Varchar(30)
Yes
Yes
Email
Email siswa/i
Varchar(50)
Yes
Yes
Alamat
Alamat
siswa/i Varchar(99)
No
No
tinggal
80 No
Atribut
Deskripsi
Tipe
data Nulls
dan panjang Nama_ayah
Nama
ayah Varchar (30)
Multivalued
No
No
No
No
siswa/i Nama_ibu
Nama ibu siswa/i
Varchar(30)
Tabel 4 Identifikasi Entitas Siswa/i
• Entitas Guru No
Atribut
Deskripsi
Tipe
data Nulls
dan panjang 2.
NIK
Nomor
Multivalued
induk Int(18)
No
No
akses Varchar(20)
No
No
guru Password
Kode sistem
Nama
Nama guru
Varchar(50)
No
No
JenisKelamin
Jenis kelamin
Varchar(10)
No
No
TempatLahir
Tempat lahir guru
Varchar(20)
No
No
TanggalLahir
Tanggal
No
No
lahir Date
guru Alamat
Agama guru
Varchar(99)
No
No
Telepon
Telepon guru
Varchar(30)
Yes
Yes
Email
Email guru
Varchar(50)
Yes
Yes
Agama
Agama guru
Varchar(8)
No
No
81 No
Atribut
Deskripsi
Tipe
data Nulls
dan panjang Pendidikan
Pendidikan
Multivalued
Varchar(30)
No
No
Varchar(3)
No
No
terakhir guru Kewarganegaraan
Kewarganegaraan guru
Tabel 5 Identifikasi Entitas Guru
• Entitas Mata Pelajaran No
Atribut
Deskripsi
Tipe data Nulls dan panjang
Multivalued
Id_matapelajaran
Kode pelajaran
mata Int(20)
No
No
Mata_pelajaran
Nama pelajaran
mata Varchar(30)
No
No
. 3.
Tabel 6 Identifikasi Entitas Mata Pelajaran
• Entitas Jadwal Pelajaran No
Atribut
Deskripsi
Tipe
data Nulls
dan panjang 4.
Id_jadwalpelajaran
Kode
Multivalued
jadwal Int(20)
No
No
mata Int(20)
No
No
pelajaran Id_matapelajaran
Kode pelajaran
Id_kelas
Kode kelas
Int(20)
No
No
Id_materi
Kode materi
Int(20)
No
No
82 No
Atribut
Deskripsi
Tipe
data Nulls
dan panjang
Multivalued
Id_ruang
Kode ruang
Int(20)
No
No
Hari
Hari pelajaran
Varchar(20)
No
No
NIK
Nama guru yang Varchar(20)
No
No
mengajar dikelas Id_thnakademik
Kode tahun ajaran Int(20)
No
No
TahunAkademik
Tahun ajaran
Int(5)
No
No
Tanggal
Tanggal pelajaran
Date
No
No
Jam
Jam pelajaran
Varchar(5)
No
No
No
No
Kalender_akademik Kalender
jadwal Varchar(100)
pembelajaran Tabel 7 Identifikasi Entitas Jadwal Pelajaran
• Entitas Ujian No
Atribut
Deskripsi
Tipe
data Nulls
dan
Multivalued
panjang 5.
Id_ujian
Kode ujian
Int(20)
No
No
Id_matapelajaran
Kode mata pelajaran
Int(20)
No
No
Id_thnakademik
Kode tahun ajaran
Int(20)
No
No
Tanggal_Mulai
Tanggal ujian
Date
No
No
Id_ruang
Kode ruang
Int(10)
No
No
83 No
Atribut
Deskripsi
Tipe
data Nulls
dan
Multivalued
panjang Id_kelas
Kode kelas
Int(20)
No
No
TahunAkademik
Tahun ajaran
Int(5)
No
No
Jam
Waktu ujian
Varchar(5)
No
No
Hari
Hari ujian
Varchar(20)
No
No
Tanggal_Selesai
Tanggal Ujian
Date
No
No
Jenis_ujian
Jenis dari ujian
Varchar(30)
No
No
Tabel 8Identifikasi Entitas Ujian
• Entitas Kelas No
Atribut
Deskripsi
Tipe
data Nulls
dan
Multivalued
panjang 6.
Id_kelas
Kode kelas
Int(20)
No
No
Kelas
Nama kelas
Varchar(20)
No
No
WaliKelas
Namawalikelas
Varchar(20)
No
No
No
No
No
No
Id_tahunAkademik Kode
tahun Int(20)
akademik TahunAkademik
Tahun ajaran
Int(5)
Tabel 9Identifikasi Entitas Kelas
84 • Entitas Absensi No
Atribut
Deskripsi
Tipe
data Nulls
dan
Multivalued
panjang 7.
Id_absensi
Kode absensi
Int(20)
No
No
NIS
Kode siswa/i
Varchar(20)
No
No
Id_thnakademik
Kode tahun ajaran
Int(20)
No
No
TahunAkademik
Tahun ajaran
Int(5)
No
No
Jumlah
Banyak absensi
Int(5)
No
No
Tanggal_absensi
Tanggal siswa/i
Date
No
No
Detail
Keterangan absensi Varchar(20)
No
No
siswa/i Tabel 10Identifikasi Entitas Absensi
• Entitas Nilai No
Atribut
Deskripsi
Tipe
data Nulls
dan
Multivalued
panjang 8.
Id_nilai
Kode nilai
Id_matapelajaran
Kode
Int(20)
No
No
mata Int(20)
No
No
tahun Int(20)
No
No
pelajaran Id_tahunAkademik Kode akademik
85 No
Atribut
Deskripsi
Tipe
data Nulls
dan
Multivalued
panjang TahunAkademik
Tahun ajaran
Int(5)
No
No
NIS
Kode siswa/i
Varchar(20)
No
No
NIK
Kode guru
Varchar(20)
No
No
Id_ujian
Kode ujian
Varchar(20)
No
No
Nilai
Nilai siswa/i
Int(5)
No
No
Tabel 11 Identifikasi Entitas Nilai
• Entitas Materi No
Atribut
Deskripsi
Tipe
data Nulls
dan panjang 9.
Multivalued
Id_materi
Kode materi
Int(20)
No
No
JudulMateri
Judul materi
Varchar(50)
No
No
IsiMateri
Isi materi
Varchar(100) No
No
Tabel 12 Identifikasi Entitas Materi
• Entitas Ruang No
Atribut
Deskripsi
Tipe
data Nulls
dan
Multivalued
panjang 10.
Id_ruang
Kode ruang
Int(20)
No
No
Ruang
Nama ruangan
Varchar(20)
No
No
Tabel 13 Identifikasi Entitas Ruang
86 4. Menentukan domain atribut • Entitas Siswa No Atribut
Deskripsi
Tipe
data Format
dan panjang 1.
NIS
Password
Nomor
induk Int(5)
Terdiri
dari
angka
siswa/i
dengan 5 karakter.
Kode perorangan Int(5)
Password = NIS
untuk mengakses sistem
Nama
Nama siswa/i
Varchar(50)
Terdiri
dari
huruf
maksimal 50 karakter.
JenisKelamin
Jenis kelamin
Varchar(10)
Laki-laki
atau
Perempuan TempatLahir
Tempat
lahir Varchar(20)
siswa/i TglLahir
Tanggal siswa/i
Terdiri
dari
huruf
maksimal 20 karakter. lahir Date
Terdiri
dari
karakter
tanggal yaitu dd mm yyyy.
87 No Atribut
Deskripsi
Tipe
data Format
dan panjang Agama
Agama siswa
Varchar(8)
Islam atau Kristen atau Katolik atau Hindu atau Budha atau Konghucu
Kewarganegaraan
Kewarganegaraan Varchar(3)
WNI atau WNA.
siswa/i Telepon
Nomor
telepon Varchar(30)
siswa/i Email
Terdiri
dari
angka
maksimal 30 karakter.
Email siswa/i
Varchar(50)
Terdiri
dari
variasi
huruf
dan
angka
maksimal 50 karakter. Alamat
Alamat
siswa/i Varchar(99)
tinggal
Terdiri
dari
variasi
huruf
dan
angka
maksimal 99 karakter. Nama_ayah
Nama
ayah Varchar (30)
siswa/i Nama_ibu
Nama ibu siswa/i
Terdiri
dari
huruf
maksimal 30 karakter. Varchar(30)
Terdiri
dari
huruf
maksimal 30 karakter. Tabel 14 Domain Atribut Entitas Siswa
88 •
Entitas Guru
No. Atribut
Deskripsi
Tipe
data Format
dan panjang 2.
NIK
Password
Nama
Nomor
induk Int(18)
Terdiri
dari
angka
guru
maksimal 18 karakter.
Kode perorangan Varchar(30)
Terdiri
dari
variasi
untuk mengakses
huruf
dan
angka
sistem
maksimal 30 karakter.
Nama guru
Varchar(50)
Terdiri
dari
variasi
huruf
dan
angka
maksimal 50 karakter. JenisKelamin
Jenis kelamin
Varchar(10)
Laki-laki
atau
Perempuan TempatLahir
Tempat
lahir Varchar(20)
siswa/i
Telepon
Nomor
Tanggal guru
dari
huruf
maksimal 20 karakter.
telepon Varchar(30)
siswa/i
TanggalLahir
Terdiri
Terdiri
dari
angka
maksimal 30 karakter.
lahir Date
Terdiri
dari
karakter
tanggal yaitu dd mm yyyy.
89 No
Atribut
Deskripsi
Tipe
data Format
dan panjang Alamat
Agama guru
Varchar(99)
Terdiri
dari
variasi
huruf
dan
angka
maksimal 99 karakter. Agama
Agama siswa
Varchar(8)
Islam atau Kristen atau Katolik atau Hindu atau Budha atau Konghucu
Email
Email guru
Varchar(50)
Terdiri
dari
variasisi
huruf
dan
angkaa
maksimal 50 karakter. Pendidikan
Kewarganegaraan
Pendidikan
Varchar(3)
SMA atau D3 atau S1
terakhir guru
atau S2 atau S3.
Kewarganegaraan Varchar(3)
WNI atau WNA.
siswa/i Tabel 15 Domain Atribut Entitas Guru
90 • No.
Entitas Mata Pelajaran
Atribut
Deskripsi
Tipe
data Format
dan panjang 3.
Id_matapelajaran Kode
mata Int(20)
Terdiri dari angka.
mata Varchar(30)
Terdiri dari variasi huruf
pelajaran Mata_pelajaran
Nama pelajaran
dan angka maksimal 30 karakter.
Tabel 16 Domain Atribut Entitas Mata Pelajaran
• No.
Entitas Jadwal Pelajaran
Atribut
Deskripsi
Tipe
data Format
dan panjang 4.
Id_jadwalpelajaran
Kode
jadwal Int (20)
pelajaran Id_matapelajaran
Terdiri
dari
maksimal 20 karakter.
Kode
mata Int(20)
Terdiri dari angka.
pelajaran Id_kelas
Kode kelas
Int(20)
Terdiri dari angka.
Id_materi
Kode materi
Int(20)
Terdiri dari angka.
Id_ruang
Kode ruang
Int(20)
Terdiri dari angka.
Id_thnakademik
Kode
tahun Int(20)
Terdiri dari angka.
ajaran
angka
91 No
Atribut
Deskripsi
Tipe
data Format
dan panjang NIK
Nama Pengajar Int(18))
Terdiri
dari
yang mengajar
maksimal 18
angka
dikelas TahunAkademik
Tahun ajaran
Int(5)
Harus angka
Tanggal
Tanggal
Date
Terdiri
pelajaran
dari
karakter
tanggal yaitu dd mm yyyy.
Jam
Jam pelajaran
Varchar(5)
Terdiri dari variasi huruf dan angka maksimal 5 karakter.
Hari
Hari pelajaran
Varchar(20)
Terdiri dari variasi huruf dan angka maksimal 20 karakter.
Kalender_Akademik Kalender
Varchar(10)
Berupa file .pdf
jadwal pembelajaran Tabel 17 Domain Atribut Entitas Jadwal Pelajaran
92 • No
Entitas Ujian
Atribut
Deskripsi
Tipe
data Format
dan panjang
5.
Id_ujian
Kode ujian
Id_matapelajaran
Kode
Int (20)
Terdiri dari angka.
mata Int(20)
Terdiri dari angka.
tahun Int(20)
Terdiri dari angka.
pelajaran Id_thnakademik
Kode ajaran
TahunAkademik
Tahun ajaran
Int(5)
Terdiri dari angka.
Id_ruang
Kode ruang
Int(10)
Terdiri dari angka.
Id_kelas
Kode kelas
Int(20)
Terdiri dari angka.
Jam
Waktu ujian
Varchar(5)
Terdiri
dari
angka
maksimal 5 karakter. Hari
Hari ujian
Varchar(20)
Terdiri dari variasi huruf maksimal 20 karakter.
Tanggal
Tanggal ujian
Date
Terdiri
dari
karakter
tanggal yaitu dd mm yyyy. Jenis_ujian
Nama dari ujian
Varchar(30)
Terdiri dari variasi huruf dan angka maksimal 30 karakter.
Tabel 18Domain Atribut Entitas Ujian
93 • No
Entitas Kelas
Atribut
Deskripsi
Tipe
data Format
dan panjang 6.
Id_kelas
Kode kelas
Int (20)
Terdiri dari angka.
Kelas
Nama kelas
Varchar(20)
Terdiri dari variasi huruf dan angka maksimal 20 karakter.
WaliKelas
Nama
wali Varchar(20)
kelas
Terdiri dari variasi huruf dan angka maksimal 20 karakter.
Id_thnakademik
Kode tahun
Int(20)
Terdiri dari angka.
TahunAkademik
Tahun ajaran
Int(5)
Terdiri dari angka.
Tabel 19Domain Atribut Entitas Kelas
• No
Entitas Absensi
Atribut
Deskripsi
Tipe
data Format
dan panjang 7.
Id_absensi
Kode absensi
Int 20)
Terdiri dari angka.
NIS
Kode siswa/i
Varchar(20)
Terdiri dari angka.
Id_thnakademik
Kode
tahun Int(20)
Terdiri dari angka.
ajaran TahunAkademik
Tahun ajaran
Int(5)
Terdiri dari angka.
94 No
Atribut
Deskripsi
Tipe
data Format
dan panjang Tanggal_absensi
Tanggal siswa/i
Date
Terdiri
dari
tanggal
yaitu
karakter dd
mm
yyyy. Jumlah
Banyak absensi Int(5)
Terdiri dari angka.
siswa/i Detail
Keterangan
Varchar(20)
absensi siswa/i
Terdiri dari variasi huruf dan angka maksimal 20 karakter.
Tabel 20Domain Atribut Entitas Absensi
• No
Entitas Nilai
Atribut
Deskripsi
Tipe
data Format
dan panjang 8.
Id_nilai
Kode nilai
Id_matapelajaran
Kode
Int (20)
Terdiri dari angka.
mata Int(20)
Terdiri dari angka.
tahun Int(20)
Terdiri dari angka.
pelajaran Id_tahunakademik
Kode akademik
TahunAkademik
Tahun ajaran
Int(5)
Terdiri dari angka.
95 No
Atribut
Deskripsi
Tipe
data Format
dan panjang NIS
Kode siswa/i
Varchar(20)
Terdiri dari variasi huruf dan angka maksimal 20 karakter.
NIK
Kode guru
Varchar(20)
Terdiri dari variasi huruf dan angka maksimal 20 karakter.
Nilai
Nilai siswa/i
Int(5)
Terdiri dari angka.
Jenis_ujian
Nama ujian
Varchar(20)
Terdiri dari variasi huruf dan angka maksimal 20 karakter.
Tabel 21Domain Atribut Entitas Nilai
• No Atribut
Entitas Materi Deskripsi
Tipe
data Format
dan panjang 9.
Id_materi
Kode materi
Int (20)
Terdiri dari angka.
JudulMateri
Judul materi
Varchar(50)
Terdiri dari variasi huruf dan angka maksimal 50 karakter.
IsiMateri
Isi materi
Varchar(100) Terdiri dari variasi huruf dan angka maksimal 100 karakter.
Tabel 22Domain Atribut Entitas Materi
96
• No.
Entitas Ruang
Atribut
Deskripsi
Tipe
data Format
dan panjang 10.
Id_ruang
Kode ruang
Int (20)
Terdiri dari angka.
Ruang
Nama ruang
Varchar(200)
Terdiri dari variasi huruf dan angka maksimal 20 karakter.
Tabel 23 Domain Atribut Entitas Ruang
5. Menentukan candidate, primary, dan alternate key attributes No. Nama Entitas
Candidate Key
Primary Key
1.
Siswa
NIS
NIS
2.
Guru
NIK
NIK
3.
Id_matapelajaran MataPelajaran
Id_matapelajaran Mata_pelajaran
4.
Id_jadwalpelajaran JadwalPelajaran
Id_jadwalpelajaran Hari
5.
Id_ujian Ujian
Id_ujian Tanggal
6.
Id_kelas Kelas
Id_kelas Kelas
7.
Absensi
Id_absensi
Id_absensi
97 No. Nama Entitas
Candidate Key
Primary Key
8.
Id_nilai
Id_nilai
Nilai
9.
Id_materi Materi
Id_materi JudulMateri
10.
Ruang
Id_ruang
Id_ruang
Tabel 24 Menentukan Candidate dan Primary Key
98
Gambar 7 Diagram Konseptual dengan Primary Key
6. Mempertimbangkan konsep enhanced modelling (langkah optional) Langkah ini mempertimbangkan pengguna Enchanced Modelling, seperti spesialisasi/generalisasi, agregasi, dan komposisi.Namun di dalamkasus di atas, kami tidak menggunakan spesialisasi/generalisasi, agregasi, dan komposisi.
99 7. Periksa model untuk redundansi Tujuan dari tahap ini yaitu untuk memeriksa ada atau tidaknya redudansi. Dua langkah yang dapat dilakukan pada tahap ini antara lain: a. Memeriksa ulang hubungan one-to-one Ketika mengidentifikasi entitas, mungkin akan teridentifikasi dua entitas yang merepresentasikan obyek yang sama pada perusahaan. Saat kejadian ini, kedua entitas harus digabungkan jika primary key berbeda, pilih salah satu primary key tersebut dan biarkan yang lain sebagai alternate key. b. Hilangkan semua redudansi
Nilai
1..*
1..1
MataPelajaran
memiliki 1..1
1..1
memilikii
memiliki 1..1
Ujian
1..*
Gambar 8 Gambar Entitas Nilai, Ujian, dan MataPelajaran Sebelum Redudansi Dihilangkan
100
Nilai
MataPelajaran
1..1
1..1
memiliki
memiliki 1..1
Ujian
1..*
Gambar 9 Gambar Entitas Nilai, Ujian, dan MataPelajaran Setelah Redudansi Dihilangkan
8. Memvalidasi model konseptual lokal terhadap transaksi pengguna Validasi model konseptual dengan User Transaction dapat digunakan untuk memastikan bahwa model data konseptual dari basis data yang sedang dibangun dapat mendukung semua transaksi yang dilakukan oleh pengguna.
101
Gambar 10 Diagram dengan Penambahan Panah Transaksi
102 Keterangan : 1. Pendataan guru 2. Pendataan siswa 3. Pendataan absensi 4. Pendataan tahun akademik 5. Pendataan jadwal pelajaran 6. Pendataan jadwal ujian 7. Pendataan mata pelajaran 8. Pendataan ruang 9. Pendataan kelas 10. Pendataan nilai 11. Pendataan materi 12. View data siswa 13. View nilai 14. View materi 15. View jadwal pelajaran 16. View ujian 17. View absensi 18. View data guru
9. Meninjau ulang model data konseptual lokal dengan pengguna Setelah dilakukan peninjauan ulang model data konseptual lokal dengan pengguna, model data sudah sesuai dengan kebutuhan sekolah.
103
3.6.2
Pemilihan DBMS Pemilihan DBMS dipengaruhi oleh beberapa faktor sebagai berikut: 1. Kemudahan dalam penggunaan : DBMS sebaiknya mudah dipergunakan oleh penggunanya. 2. Kemudahan dalam administrasi : DBMS sebaiknya mudah diadministrasikan. 3. Kehandalan : DBMS sebaiknya mampu mengamankan data apabila terjadi kegagalan piranti lunak atau keras 4. Biaya : Biaya dari DBMS sebaiknya tidak melebihi anggaran yang diperkirakan oleh perusahaan. 5. Kesesuaian : DBMS sebaiknya dapat bekerja dengan komponen piranti keras dan lunak lainnya dengan baik didalam sistem manajemen informasi. 6. Keamanan : DBMS sebaiknya dapat membedakan dan memilih diantara barbagai tingkat pengguna dari yang tidak memiliki hak akses hingga hak akses administrasi penuh. 7. Persyaratan minimum : DBMS sebaiknya mampu bekerja pada platform computer yang digunakan untuk menjalankan sistem manajemen informasi 8. Kedekatan dengan basis data : Jika struktur dan operasi dari DBMS sudah diketahui, maka waktu yang seharusnya dihabiskan untuk mempelajari perancangan.
dapat
digunakan
untuk
memfokuskan
pada
104 9. Scalability : Mempertimbangkan factor besar dan kecilnya suatu perusahaan, dan seberapa banyaknya data yang ditampung pada DBMS tersebut. SQL Server 2008
Oracle 9i
MySQL
Platform
Platform
Platform
Windows-based
Windows-based, based, Unix,
Compac HP
AIX Windows-based, Tru64 Linuxbased,Sun-Solaris
9000
series
HPUX system, Linux Intel, Sun-Solaris Hardware
Hardware
Hardware
-Processor
-Processor
-Processor
Pentium 1.0GHz atau
Windows : Pentium
Windows : 166 Mhz
Lebih
166
atau
MHz atau lebih
lebih
AIX : IBM RISC/6000
Linux : Intel 32-bit, Intel
atau
64-bit, S/390 9672
Server Series
generation atau lebih,
HP-UX: HP 9000 seri
Multiprise3000, eServer
700
z-Series.
atau 800
Solaris : Solaris
Linux : Intel 32-bit,
UltraSPARC-based
Intel
Computer
105 64-bit, S/390 generasi 9672 atau lebih, Multiprise 3000, eServer z-series. -Memory -Memory
128 MB RAM
-Memory
Minimal: 512MB
(diutamakan
128 MB RAM
Disarankan: 2048GB atau 256 MB)
(diutamakan 256MB)
lebih Virtual Memory : Initial
Virtual Memory : Initial
size 200 MB,
size 50MB, maximum
maximum
size 400 MB
size 400 MB
-Hard disk space -Hard disk space
140 MB pada Drive
-Hard disk space
270 MB (Full
System
100 MB (diutamakan)
Installation),
+4.5 GB untuk Oracle
-Hard disk space
250 MB (Typical), 95
Home Drive (FAT)
100 MB (diutamakan)
MB
atau 2.8
(minimal), Desktop
GB untuk Oracle
106 Engine:
Home
44 MB, Analysis
Drive (NTFS)
services:
Typical Installation:
minimum 50 MB dan
Minimal 450 s/d 550
130 MB typical English MB Query: 80 MB
Compact Installation: Minimal 350 s/d 400 MB Custom Installation: Minimal 350 s/d 700 MB
Bahasa SQL
Bahasa SQL
Bahasa SQL
-Feature Tables
-Feature Tables
-Feature Tables
Relational tables,
Relational tables,
Relational tables
temporary tables
object
-Feature Triggers
-Feature Triggers
tables, temporary
Not Supported
AFTER triggers,
tables
-Feature Procedures
INSTEAD
-Feature Triggers
MySQL functions
OF triggers
BEFORE triggers,
-Feature ARRAYS
-Feature Procedures
AFTER
Not Supported
T-SQL statement
triggers, INSTEAD OF
-Feature Back up dan
-Feature ARRAYS
triggers
Security
Not Supported
-Feature Procedures
Not Supported
107 -Feature Back up dan
PL/SQL statement,
Security
java
Supported
methods,
thirdgeneration
language (3GL) routines -Feature ARRAYS Supported -Feature Back up dan Security Supported Tabel 25 Perbandingan SQL Server 2008, Oracle 9i, dan MySQL
Kesimpulannya adalah dari segi biaya MySQL paling baik karena tidak memerlukan
biaya,
dan
untuk
lisensi
komersialnya $395.
Dari
segi
skalabilitasnya My SQL cocok untuk persyaratan minimum yang paling baik dan cocok untuk diimplementasikan pada perusahaan – perusahaan kalangan menengah kebawah. Karena alasan tersebut maka DBMS yang digunakan untuk aplikasi web ini adalah My SQL.
3.6.3
Perancangan Basis Data Logikal Menghilangkan fitur-fitur yang tidak compatible dengan model relasional, antara lain:
108 a. Menghilangkan many-to-many (*..*) binary relational types • Relasi biner many-to-many antar entitas siswa dengan entitas kelas
Gambar 11 Relasi biner many-to-many antar entitas siswa dengan entitas kelas
b. Menghilangkan atribut multivalue • Pada entitas siswa
Gambar 12 Menghilangkan atribut multivalue pada entitas Siswa
109 • Pada entitas guru
Gambar 13 Menghilangkan atribut multivalue pada entitas Guru
1. Hubungan turunan untuk model data logikal Tujuannya untuk memeriksa bahwa itu adalah struktural yang benar dan mampu mendukung transaksi yang diperlukan.(Connolly & Begg, 5th Edition) a. Strong Entity Types Siswa Guru MataPelajaran JadwalPelajaran Ujian Kelas Absensi Nilai
110 Ruang Materi Ruang Keterangan: • Siswa Atribut : Siswa (NIS, Password, Nama, Id_jenikelamin, JenisKelamin,
TempatLahir,
TglLahir,
Id_agama,
Agama,
Id_kewarganegaraan, Kewarganegaraan, Alamat, NamaAyah, NamaIbu) Primary key : NIS • Guru Atribut : Guru (NIK, Password, Nama, Id_jenikelamin, JenisKelamin, TempatLahir, TglLahir, Id_agama, Agama, Id_kewarganegaraan, Kewarganegaraan, Alamat, Id_pendidikan, Pendidikan) Primary Key: NIK • MataPelajaran Atribut : MataPelajaran(Id_matapelajaran, mata_pelajaran) Primary Key: Id_matapelajaran • JadwalPelajaran Atribut : JadwalPelajaran (Id_jadwalpelajaran, Id_matapelajaran, Id_kelas,
Id_ruang,
Id_materi,
NIK,
Id_thnakademik,
TahunAkademik, Tanggal, Jam, Hari, Kalender_Akademik) PrimaryKey: Id_jadwalpelajaran
111 • Ujian Atribut : Ujian (Id_ujian, Id_ruang, Id_matapelajaran, Id_ruang, Id_kelas,
Id_thnakademik,
TahunAkademik,
Jam,
Hari,
Tanggal_Mulai, Tanggal_Selesai, Jenis_Ujian, Jenis_ujian) Primary Key: Id_ujian • Kelas Atribut : Kelas (Id_kelas, Kelas, WaliKelas,Id_thnakademik, TahunAkademik) Primary Key: Id_kelas • Absensi Absensi (Id_absensi, NIS, Id_thnakademik, TahunAkademik, Tanggal_absensi, Jumlah, Detail) Primary Key: Id_absensi • Nilai Atribut : Nilai (Id_nilai, Id_matapelajaran,
Id_tahunakademik,
TahunAkademik, NIS, NIK, Jenis_Ujian, Nilai) Primary Key: Id_nilai • Materi Materi (Id_materi, JudulMateri, IsiMateri) Primary Key: Id_materi • Ruang Ruang (Id_ruang, Ruang) Primary Key: Id_ruang
112 b. Weak Entity Types • KelasSiswa (NIS, Id_Kelas) KelasSiswa(NIS, Id_Kelas) c. One-to-many (1...*) binary relationship types • Hubungan MataPelajaran dengan Ujian
Gambar 14 Hubungan MataPelajaran dengan Ujian
• Hubungan MataPelajaran dengan Guru
Gambar 15Hubungan MataPelajaran dengan Guru
113 • Hubungan MataPelajaran dengan Nilai
Gambar 16Hubungan MataPelajaran dengan Nilai
• Hubungan Ruang dengan Ujian
Gambar 17Hubungan Ruang dengan Ujian
• Hubungan Kelas dengan Ujian
Gambar 18 Hubungan Kelas dengan Ujian
114 • Hubungan Siswa dengan Nilai
Gambar 19Hubungan Siswa dengan Nilai
• Hubungan MataPelajaran dengan JadwalPelajaran
Gambar 20Hubungan MataPelajaran dengan JadwalPelajaran
• Hubungan Siswa dengan Absensi
Gambar 21Hubungan Siswadengan Absensi
115 • Hubungan Kelas dengan JadwalPelajaran
Gambar 22Hubungan Kelas dan JadwalPelajaran
•
Hubungan Ruang dengan JadwalPelajaran
Gambar 23Hubungan Ruang dan JadwalPelajaran
• Hubungan Guru dengan Nilai
Gambar 24Hubungan Guru dengan Nilai
116 • Hubungan JadwalPelajaran dengan Materi Post Materi dan JadwalPelajaran pada model relasi memiliki 1...* JadwalPelajaran
Materi (Id_materi, JudulMateri, IsiMateri)
(Id_jadwalpelajaran,
Id_matapelajaran, Id_kelas, Id_ruang, Id_Materi, NIK, Id_thnakademik, TahunAkademik, Tanggal,
Primary Key: Id_materi
Jam, Hari, Kalender_Akademik) PrimaryKey: Id_jadwalpelajaran Foreign
Key:
Id_Materi
reference
Materi
(Id_materi)
Gambar 25 Hubungan Materi dengan Jadwal Pelajaran
• Hubungan Guru dengan JadwalPelajaran
Gambar 26 Hubungan Guru dengan JadwalPelajaran
d. One-to-one (1...1) binary relationship types Post Ujian dan Nilai pada model relasi memiliki 1...1
Ujian
(Id_ujian,
Id_matapelajaran,
Id_thnakademik, TahunAkademik, Id_ruang,
Nilai (Id_nilai, Id_thnakadmik, TahunAkademik, NIS, NIK, Id_ujian)
Id_kelas, Jam, Hari, Tanggal, Jenis_ujian) Primary Key: Id_ujian
Primary Key: Id_nilai Foreign Key: Id_ujian references Ujian (Id_ujian)
Gambar 27 Hubungan Ujian dengan Nilai
117 e. One-to-one (1...1) recursive relationships Tidak terdapat hubungan one-to-one yang rekursif. f. Superclass/subclass relationship types Tidak terdapat hubungan superclass/subclass. g. Many-to-many (*...*) binary relationship types • Siswadengan Kelas
Gambar 28Hubungan *..* Siswa dengan Kelas
h. Complex relationship types Tidak terdapat hubungan kompleks. i. Multi-valued attributes
Gambar 29 Multivalued attributes
118
Gambar 30Multivalued attributes
Gambar 31Multivalued attributes
Gambar 32Multivalued attributes
119 2. Memvalidasi relasi menggunakan normalisasi Tujuannya untuk memtambah hubungan untuk model data logikal untuk mewakili entitas, relationship, dan atribut yang telah diidentifikasi.
1. Siswa (NIS, Password, Nama, JenisKelamin, TempatLahir, TglLahir, Agama, Id_ Kewarganegaraan, Alamat, NamaAyah, NamaIbu) NIS
Password
Nama
NamaIbu
JenisKelamin
TempatLahir
TglLahir
NamaAyah
Primary Key
Kewarganegaraan
Alamat
1NF: Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhi karena tidak ada ketergantungan transitif
Agama
120 2. Guru (NIK,Password, Nama, JenisKelamin, TempatLahir, TglLahir, Agama, Kewarganegaraan, Alamat, Pendidikan) NIK
Password
Nama
Pendidikan
JenisKelamin
TglLahir
Agama
Primary Key
TempatLahir
Alamat
Kewarganegaraan
1NF: Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhi karena tidak ada ketergantungan transitif 3. Mata Pelajaran (Id_matapelajaran, mata_pelajaran) Id_matapelajaran
Mata_pelajaran
Primary Key
INF : Sudah memenuhi 2NF : Sudah memenuhi karena tidak ada ketergantungan parsial 3NF : Sudah memenuhi
121 4. JadwalPelajaran
(Id_jadwalpelajaran,
Id_matapelajaran,
Id_kelas,
Id_ruang, Id_Materi, NIK, Id_thnakademik, TahunAkademik, Tanggal, Jam, Hari, Kalender_Akademik) Id_jadwalpelajaran
Id_ruang
Id_kelas
Id_thnakademik
TahunAkademik
NIK
jam
Hari
Primary Key Ketergantungan Parsial Ketergantungan Transitif Id_matapelajaran
Kalender_Akademik
Tanggal
Id_Materi
Ketergantungan Parsial
Ketergantungan Transitif
INF : Sudah memenuhi 2NF : JadwalPelajaran (Id_jadwalpelajaran, Id_thnakademik, id_kelas, TahunAkademik,Kalender_Akademik) JadwalPelajaranDetail
(Id_jadwalpelajaranDetail,
Id_jadwalpelajaran,Id_matapelajaran, Id_ruang, Id_Materi, NIK, Tanggal, Jam, Hari) 3NF : JadwalPelajaran(Id_jadwalpelajaran, Id_thnakademik, id_Kelas) JadwalPelajaranDetail
(Id_jadwalpelajaranDetail,
Id_jadwalpelajaran,Id_matapelajaran, Id_ruang, Id_Materi, NIK, Tanggal, Jam, Hari)
122 TahunAkademikSiswa(Id_thnakademik,TahunAkademik,Kalender_ Akademik) 5. JadwalPelajaranDetail
(Id_jadwalpelajaranDetail,
Id_jadwalpelajaran,Id_matapelajaran, Id_ruang, Id_Materi, NIK, Tanggal, Jam, Hari) Id_JadwalpelajaranDetail
Id_jadwalpelajaran
Id_matapelajaran
Id_ruang
Id_materi
NIK
Primary Key
Tanggal
Jam
Hari
Ketergantungan parsial
INF : Sudah memenuhi 2NF : JadwalPelajaranDetail(Id_Jadwalpelajarandetail, Id_Jadwalpelajaran, Id_matapelajaran, Id_ruang, NIK, Jam, Hari) JadwalPelajaranDetailDetail
(id_jadwalpelajarandetaildetail
id_jadwalpelajarandetail, id_materi, tanggal) 3NF : Sudah memenuhi
123 6. Ujian
(Id_ujian,
Id_matapelajaran,
Id_Kelas,
Id_Ruang,
Id_thnakademik, TahunAkademik, Jam, Hari, Tanggal_Mulai, Tanggal_Selesai, Jenis_Ujian) Id_ujian
Id_matapelajaran
Id_thnakademik
TahunAkademik
Jenis_Ujian
Jam
Hari
Id_kelas
Id_Ruang
Primary Key Ketergantungan Parsial
Ketergantungan Transitif
Tanggal_Mulai
Tanggal_Selesai
INF : Sudah memenuhi 2NF : Ujian
(Id_ujian,Id_thnakademik,
Id_Kelas,TahunAkademik,Jenis_Ujian,
Tanggal_Mulai,
Tanggal_Selesai) UjianDetail (Id_ujiandetail, Id_ujian, Id_matapelajaran, Id_Ruang, Jam, Hari) 3NF : Ujian
(Id_ujian,Id_thnakademik,
Id_Kelas,
Jenis_Ujian,
Tanggal_Mulai, Tanggal_Selesai) UjianDetail (Id_ujiandetail, Id_ujian, Id_matapelajaran, Id_ruang, Jam, Hari) TahunAkademikSiswa(Id_thnakademik, TahunAkademik)
124 7. Kelas
Kelas,
(Id_kelas,
Id_thnakademik,
TahunAkademik,WaliKelas) Id_kelas
Kelas
Id_thnakademik
TahunAkademik
WaliKelas
Primary Key Ketergantungan Transitif
1NF : Sudah memenuhi 2NF : Sudah memenuhi karena tidak ada ketergantungan parsial 3NF : Kelas (Id_kelas, WaliKelas, Id_thnakademik, Kelas) TahunAkademikSiswa(Id_thnakademik, TahunAkademik) 8. Absensi (Id_absensi, WaliKelas, Id_thnakademik, TahunAkademik, Tanggal_absensi, Jumlah, Detail)
Id_absensi
NIS
Id_thnakademik
TahunAkademik
Tanggal_absensi
Jumlah
Detail
Primary Key
Ketergantungan Transitif
INF : Sudah memenuhi 2NF : Sudah memenuhi karena tidak ada ketergantungan parsial
125 3NF : Absensi
(Id_absensi,
NIS,
Id_thnakademik,
Tanggal_absensi,
Jumlah, Detail) TahunAkademikSiswa(Id_thnakademik, TahunAkademik)
9. Nilai ( Id_nilai, Id_matapelajaran,
NIS, NIK, Nilai, Id_Ujian,
Id_tahunakademik, TahunAkademik) Id_nilai
Id_matapelajaran
NIS
NIK
Nilai
Id_ujiandetail
Id_tahunakademik
TahunAkademik
Primary Key Ketergantungan Transitif Ketergantungan Parsial
INF: Sudah memenuhi 2NF: Nilai
(
Id_nilai,
Id_matapelajaran,
NIK,
Id_thnakademik,
TahunAkademik) NilaiDetail (Id_nilaidetail, Id_nilai, NIS, Nilai, Id_UjianDetail) 3NF: Nilai(Id_nilai, Id_matapelajaran, Id_thnakademik, NIK) NilaiDetail (Id_nilaidetail, Id_nilai, NIS, Nilai, Id_UjianDetail) TahunAkademikSiswa(Id_thnakademik, TahunAkademik)
126 10.
Materi(Id_Materi, Judul Materi, IsiMateri)
I NF: Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhi karena tidak ada ketergantungan transitif
11.
Ruang(Id_ruang, Ruang) Id_ruang
Ruang
Primary Key
INF: Sudah memenuhi 2NF:
Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhi karena tidak ada ketergantungan transitif 12. KelasSiswa(NIS, Id_kelas) NIS
Id_kelas
Primary Key
INF:
127 Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhi karena tidak ada ketergantungan transitif 13. TeleponSiswa(TelpSiswa, NIS) Primary Key: TelpSiswa TelpSiswa
NIS
Primary Key
INF: Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhi karena tidak ada ketergantungan transitif
14. TeleponGuru (TelpGuru, NIK) TelpGuru
NIK
Primary Key
INF: Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF:
128 Sudah memenuhi karena tidak ada ketergantungan transitif 15. EmailSiswa (EmailSiswa, NIS) EmailSiswa
NIS
Primary Key
INF: Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhi karena tidak ada ketergantungan transitif 16. EmailGuru (EmailGuru, NIK) EmailGuru
NIK
Primary Key
INF: Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhikarena tidak ada ketergantungan transitif 17. JadwalPelajaranDetailDetail Id_jadwalpelajarandetaildetail
Id_jadwalpelajarandetail
Primary Key
INF: Sudah memenuhi 2NF:
Id_materi
Tanggal
129 Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhikarena tidak ada ketergantungan transitif 18. TahunAkademikSiswa Id_thnakademik
TahunAkademik
Kalender_Akademik
Primary Key
INF: Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhikarena tidak ada ketergantungan transitif 19. NilaiDetail Id_nilaidetail
Id_nilai
NIS
Nilai
Id_ujiandetail
Primary Key
INF: Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhi karena tidak ada ketergantungan transitif
130
20. UjianDetail Id_ujiandetail
Id_ujian
Id_ruang
Jam
Id_matapelajaran
Hari
Primary Key
INF: Sudah memenuhi 2NF: Sudah memenuhi karena tidak ada ketergantungan parsial 3NF: Sudah memenuhikarena tidak ada ketergantungan transitif 3. Memvalidasi relasi dengan transaksi pengguna Tujuan dari langkah ini adalah untuk memastikan bahwa relasi di dalam model data logikal lokal mendukung transaksi yang diminta pengguna. Pada langkah ini, pengecekan bahwa relasi yang dibuat di langkah sebelumnya juga mendukung transaksi ini benar dan pastikan juga bahwa tidak ada kesalahan dalam relasi yang dibuat. Berikut ini transaksitransaksi yang di dapat divalidasikan dalam model logikal berikut, antara lain: 1. Pendataan guru 2. Pendataan siswa 3. Pendataan absensi 4. Pendataan tahun akademik 5. Pendataan jadwal pelajaran 6. Pendataan jadwal ujian
131 7. Pendataan mata pelajaran 8. Pendataan ruang 9. Pendataan kelas 10. Pendataan nilai 11. Pendataan materi 12. View data siswa 13. View nilai 14. View materi 15. View jadwal pelajaran 16. View ujian 17. View absensi 18. View data guru
132 Nilai
Siswa PK
TeleponSiswa PK
TelpSiswa
FK1
NIS
Absensi
NIS Nama TempatLahir TglLahir Alamat NamaAyah NamaIbu password JenisKelamin Kewarganegaraan Agama
PK
Id_Absensi
FK1
Id_ThnAkademik Tanggal_Absensi Detail jumlah NIS
FK2
PK
Id_Nilai
FK1 FK2
NIK Id_ThnAkademik
NilaiDetail
Guru PK EmailSiswa PK
EmailSiswa
FK1
NIS
PK
EmailGuru
FK1
NIK PK
Id_Kelas
FK1
Kelas Id_ThnAkademik walikelas
MataPelajaran
TeleponGuru
FK1
NIK
Id_Materi Judul_Materi IsiMateri
PK
TelpGuru
Id_Nilai NIS Nilai Id_UjianDetail
Materi PK
Kelas
PK
Id_NilaiDetail
FK1 FK2 FK3
NIK Nama TempatLahir TglLahir password Alamat Kewarganegaraan JenisKelamin Agama Pendidikan
EmailGuru
PK
Ujian
Id_MataPelajaran MataPelajaran
PK
Id_Ujian
FK1
Id_Kelas Jenis_ujian Tanggal_mulai Tanggal_selesai Id_ThnAkademik
FK2 TahunAkademikSiswa Ruang
KelasSiswa PK,FK1 PK,FK2
PK
Id_kelas NIS
PK
Id_Ruang Ruang
Id_ThnAkademik TahunAkademik KalenderAkademis UjianDetail PK
Id_UjianDetail
FK1 FK2
Id_MataPelajaran Id_Ujian Jam Hari Id_Ruang
JadwalPelajaranDetailDetail PK
Id_JadwalPelajaranDetailDetail
FK2
Id_Materi Tanggal Id_JadwalPelajaranDetai
FK1
FK3
JadwalPelajaranDetail
JadwalPelajaran
PK
Id_JadwalPelajaranDetai
PK
Id_JadwalPelajaran
FK2 FK3
Id_MataPelajaran Id_Ruang Jam Hari NIK Id_JadwalPelajaran
FK2 FK1
Id_Kelas id_ThnAkademik
FK5 FK4
Gambar 33 Entity Relational Diagram
133
4. Menentukan batasan-batasan integritas •
Required data Beberapa atribut harus selalu berisi data yang valid dan atribut tersebut tidak boleh berisi nilai NULL. Batasan ini sudah didefinisikan dalam tahap konseptual.
•
Attribute domain constraints Setiap atribut mempunyai batasan yang merupakan sekumpulan nilai yang sah sesuai dengan kebutuhan. Batasan ini sudah didefinisikan dalam penentuan domain atribut di tahap konseptual.
•
Entity integrity Setiap entitas harus memiliki satu primary key. Nilai dari primary key
tidak
dapat
menerima
NULL.
Batasan
ini
sudah
dipertimbangkan pada saat mengidentifikasi primary key di tahap konseptual. •
Referential integrity
a. Siswa(NIS, Password, Nama, jeniskelamin, TempatLahir, TglLahir, agama, kewarganegaraan, Alamat, NamaAyah, NamaIbu) Primary Key: NIS b. Guru(NIK, Password, Nama, jeniskelamin, TempatLahir, TglLahir, agama, kewarganegaraan, Alamat, pendidikan) Primary Key: NIK c. Materi ( Id_materi, JudulMateri, IsiMateri) Primary Key: Id_materi
134 d. Kelas (Id_kelas, Kelas, WaliKelas, Id_ThnAkademik) Primary Key: Id_kelas Foreign Key: Id_thnakademik references TahunAkademikSiswa (Id_thnakademiksiswa) ON UPDATE CASCADE ON DELETE CASCADE e. Ruang(Id_ruang, Ruang) Primary Key: Id_ruang f. MataPelajaran (Id_matapelajaran, mata_pelajaran) Primary Key: Id_matapelajaran g. Nilai (Id_nilai, Id_matapelajaran, Id_thnakademik, NIK) Primary Key: Id_nilai Foreign
Key:
(Id_matapelajaran)
Id_matapelajaran ON
UPDATE
referencesMataPelajaran CASCADE
ON
DELETE
CASCADE Id_thnakademik references TahunAkademikSiswa (Id_thnakademik) ON UPDATE CASCADE ON DELETE CASCADE NIKreferences Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE h. NilaiDetail (Id_nilaidetail, Id_nilai, NIS, Nilai, Id_UjianDetail) Primary Key: Id_nilaidetail Foreign Key: Id_nilai references Nilai (Id_nilai) ON UPDATE CASCADE ON DELETE CASCADE Id_ujianDetail references UjianDetail (Id_ujianDetail) ON UPDATE CASCADE ON DELETE CASCADE
135 NIS references Siswa (NIS) ON UPDATE CASCADE ON DELETE CASCADE i. JadwalPelajaran(Id_jadwalpelajaran, Id_thnakademik, Id_kelas) PrimaryKey: Id_jadwalpelajaran Id_kelas references Kelas (Id_kelas) ON UPDATE CASCADE ON DELETE CASCADE Id_thnakademik
references
(Id_thnakademik)ON
UPDATE
TahunAkademikSiswa CASCADE
ON
DELETE
CASCADE j. JadwalPelajaranDetail(Id_jadwalpelajaranDetail, Id_jadwalpelajaran, Id_matapelajaran, Id_ruang, Tanggal, Jam, Hari, NIK) PrimaryKey: Id_jadwalpelajaranDetail Foreign
Key:
Id_jadwalpelajaran
references
JadwalPelajaran
(Id_jadwalpelajaran) ON UPDATE CASCADE ON DELETE CASCADE Id_matapelajaran references MataPelajaran (Id_matapelajaran) ON UPDATE CASCADE ON DELETE CASCADE Id_ruang references Ruang (Id_ruang) ON UPDATE CASCADE ON DELETE CASCADE NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE k. JadwalPelajaranDetailDetail(Id_jadwalpelajaranDetailDetail, Id_JadwalPelajaranDetail,Id_Materi, Tanggal)
136 Primary key : JadwalPelajaranDetailDetail Foreign
Key:
JadwalPelajaranDetail
Id_jadwalpelajaranDetailreferences (Id_jadwalpelajaranDetail)
ON
UPDATE
CASCADE ON DELETE CASCADE Id_materireferences Materi (Id_materi) ON UPDATE CASCADE ON DELETE CASCADE l. Ujian(Id_ujian,
Id_kelas,
Tanggal_Mulai,
Tanggal_Selesai,
Id_thnakademik, Jenis_Ujian) Id_thnakademik references TahunAkademikSiswa (Id_thnakademik) ON UPDATE CASCADE ON DELETE CASCADE Id_kelasreferences Kelas (Id_kelas) ON UPDATE CASCADE ON DELETE CASCADE m. UjianDetail(Id_ujiandetail, Id_ujian, Id_ruang, Id_matapelajaran, Jam, Hari) Primary Key: Id_ujiandetail Foreign Key: Id_ujian references Ujian (Id_ujian) ON UPDATE CASCADE ON DELETE CASCADE Id_matapelajaran references MataPelajaran (Id_matapelajaran) ON UPDATE CASCADE ON DELETE CASCADE Id_ruang references Ruang (Id_ruang) ON UPDATE CASCADE ON DELETE CASCADE n. Absensi(Id_absensi, NIS, Id_thnakademik, Tanggal_absensi, Jumlah, Detail) Primary Key: Id_absensi
137 Foreign Key: NIS referencesSiswa(NIS) ON UPDATE CASCADE ON DELETE CASCADE Id_thnakademik references TahunAkademikSiswa (Id_thnakademik) ON UPDATE CASCADE ON DELETE CASCADE o. TeleponSiswa(TelpSiswa, NIS) Primary Key: TelpSiswa Foreign Key:NIS references Siswa/i (NIS) ON UPDATE CASCADE ON DELETE CASCADE p. TeleponGuru (TelpGuru, NIK) Primary Key: TelpGuru Foreign Key: NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE q. EmailSiswa(EmailSiswa, NIS) Primary Key: EmailSiswa Foreign Key: NIS references Siswa/i (NIS) ON UPDATE CASCADE ON DELETE CASCADE r. EmailGuru (EmailGuru, NIK) Primary Key: EmailGuru Foreign Key: NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE s. TahunAkademikSiswa(Id_thnakademik, Kalender_Akademik) Primary Key: Id_thnakademik
TahunAkademik,
138 t. KelasSiswa(NIS, Id_kelas) Foreign Key: NIS reference Siswa(NIS)ON UPDATE CASCADE ON DELETE CASCADE Id_kelas referenceKelas (Id_kelas) ON UPDATE CASCADE ON DELETE CASCADE 5. Meninjau kembali model data logikal dengan pengguna Setelah dilakukan peninjauan kembali dengan pengguna (user), model data logikal sudah sesuai dengan apa yang dibutuhkan pengguna (user). 6. Menggabungkan model data logikal menjadi model data global (langkah optional) Tidak ada model data global.
3.6.4
Perancangan Basis Data Fisikal Tahap-tahap pada perancangan basis data fisikal, antara lain: 1. Perancangan Relasi Dasar Tujuannya untuk memutuskan bagaimana untuk mewakili hubungan dasar diidentifikasi dalam model data logikal dalam DBMS target. a. Siswa Domain NIS variable length character string, length 20 Domain Password variable length character string, length 20 Domain Nama variable length character string, length 50 Domain JenisKelamin variable length character string, length 10
139 Domain TempatLahir variable length character string, length 20 Domain TglLahir date (dd-mm-yyyy) Domain Agama variable length character string, length 10 Domain Kewarganegaraan variable length character string, length 10 Domain Alamat variable length character string, length 99 Domain NamaAyahvariable length character string, length 30 Domain NamaIbu variable length character string, length 30 Siswa ( NIS NOT NULL, Password NOT NULL, Nama NOT NULL, TempatLahir NOT NULL, TglLahir NOT NULL, Agama NOT NULL, Kewarganegaraan NOT NULL, Alamat NOT NULL, NamaAyah NOT NULL, NamaIbu NOT NULL, PRIMARY KEY (NIS), b. Guru Domain NIK variable length character string, length 20 Domain Password variable length character string, length 30 Domain Nama variable length character string, length 50
140 Domain Id_jeniskelamin variable length character string, length 20 Domain TempatLahir variable length character string, length 20 Domain TglLahir date Domain Agama variable length character string, length 20 Domain Kewarganegaraan variable length character string, length 20 Domain Alamat variable length character string, length 99 Domain Pendidikan variable length character string, length 20Guru ( NIK NOT NULL, Password NOT NULL, Nama NOT NULL, Jenikelamin NOT NULL, TempatLahir NOT NULL, TglLahir NOT NULL, Agama NOT NULL, Kewarganegaraan NOT NULL, Alamat NOT NULL, Pendidikan NOT NULL, PRIMARY KEY (NIK), c. Materi Domain Id_materi integer Domain JudulMateri variable length character string, length 50 Domain IsiMateri variable length character string, length 100
141 Materi ( Id_materi NOT NULL, JudulMateri NOT NULL, IsiMateri NOT NULL, PRIMARY KEY (Id_materi) FOREIGN KEY Id_jadwalpelajaran references JadwalPelajaran (Id_jadwalpelajaran) ON UPDATE CASCADE ON DELETE CASCADE); d. Kelas Domain Id_kelas integer Domain Kelas variable length character string, length 20 Domain Id_thnakademik integer Domain WaliKelasvariable length character string, length 20 Kelas ( Id_kelas NOT NULL, Kelas NOT NULL, Id_thnakademik NOT NULL, WaliKelas NOT NULL, PRIMARY KEY (Id_kelas) FOREIGN
KEY
id_thnakademik
references
TahunAkademikSiswa(Id_thnakademik) ON UPDATE CASCADE ON DELETE CASCADE); e. Ruang Domain Id_ruang integer
142 Domain Ruang variable length character string, length 20 Ruang ( Id_ruang Nor NULL, Ruang NOT NULL, PRIMARY KEY (Id_ruang)); f. MataPelajaran Domain Id_matapelajaran integer Domain Mata_pelajaran variable length character string, length 30 MataPelajaran ( Id_matapelajaran NOT NULL, Mata_pelajaran NOT NULL, PRIMARY KEY (Id_matapelajaran)); g. Nilai Domain Id_nilai integer Domain Id_matapelajaran integer Domain NIK variable length character string, length 20 Domain Id_ThnAkademik integer Nilai ( Id_nilai NOT NULL, Id_matapelajaran NOT NULL, NIK NOT NULL, Id_ThnAkademik NOT NULL, PRIMARY KEY (Id_nilai),
143 FOREIGN
KEY
Id_matapelajaran
referencesMataPelajaran
(Id_matapelajaran) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN
KEY
id_thnakademik
references
TahunAkademikSiswa(Id_thnakademik) ON UPDATE CASCADE ON DELETE CASCADE); h. NilaiDetail Domain Id_nilaidetail integer Domain Id_nilai integer Domain NIS variable length character string, length 20 Domain Nilai integer Domain Id_UjianDetail intiger NilaiDetail( NIS NOT NULL, Nilai NOT NULL, Id_ujianDetail NOT NULL, PRIMARY KEY (Id_nilaidetail), FOREIGN KEY NIS references Siswa (NIS) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN
KEY
(Id_ujianDetail) CASCADE,
ON
Id_ujianDetail UPDATE
references
CASCADE
ON
UjianDetail DELETE
144
FOREIGN KEY Id_nilai references Nilai (Id_nilai) ON UPDATE CASCADE ON DELETE CASCADE);
i. JadwalPelajaran Domain Id_jadwalpelajaran integer Domain Id_thnakademik integer Domain Id_kelas integer JadwalPelajaran ( Id_jadwalpelajaran NOT NULL, Id_thnakademik NOT NULL, Id_Kelas NOT NULL, PRIMARY KEY (Id_jadwalpelajaran), FOREIGN KEY Id_thnakademik references TahunAkademikSiswa (Id_thnakademik), FOREIGN KEY Id_Kelas references Kelas(Id_Kelas)); j. JadwalPelajaranDetail Domain Id_jadwalpelajaranDetail integer Domain Id_jadwalpelajaran integer Domain Id_matapelajaran integer Domain Id_ruang integer Domain Jam variable length character string, length5 Domain Hari variable length character string, length 20 Domain NIK variable length character string, length 20
145 JadwalPelajaranDetail ( Id_jadwalpelajaranDetail NOT NULL, Id_jadwalpelajaran NOT NULL, Id_matapelajaran NOT NULL, Id_ruang NOT NULL, Jam NOT NULL, Hari NOT NULL, NIK NOT NULL. PRIMARY KEY Id_jadwalpelajaranDetail, FOREIGN KEY Id_jadwalpelajaran references JadwalPelajaran (Id_jadwalpelajaran) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN
KEY
Id_matapelajaran
references
MataPelajaran
(Id_matapelajaran) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY Id_ruang references Ruang (Id_ruang) ON UPDATE CASCADE ON DELETE CASCADE); FOREIGN KEY NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE); k. JadwalPelajaranDetailDetail Domain Id_jadwalpelajaranDetailDetail integer Domain Id_jadwalpelajaranDetail integer Domain Id_materi integer Domain Tanggal date
146 JadwalPelajaranDetailDetail ( Id_jadwalpelajaranDetailDetail NOT NULL, Id_jadwalpelajaranDetail NOT NULL, Id_materi NOT NULL, Tanggal NOT NULL, PRIMARY KEY Id_jadwalpelajaranDetailDetail, FOREIGN KEY Id_materi references Materi (Id_materi) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN
KEY
Id_JadwalPelajaranDetail
references
JadwalPelajaranDetail (Id_jadwalpelajarandetail) ON UPDATE CASCADE ON DELETE CASCADE); l. Ujian Id_ujian integer Id_thnakademik integer Id_Kelas integer Domain Tanggal_Mulaidate Domain Tanggal_Selesaidate Jenis_Ujian variable length character string, length 30 Ujian ( Id_ujian NOT NULL, Id_thnakademik NOT NULL, Id_Kelas NOT NULL, Jenis_Ujian NOT NULL, Tanggal_Mulai NOT NULL,
147 Tanggal_Selesai NOT NULL, PRIMARY KEY (Id_ujian), FOREIGN KEY Id_thnakademik references TahunAkademikSiswa (Id_thnakademik) FOREIGN KEY Id_Kelas references Kelas(Id_Kelas));
m. UjianDetail Domain Id_ujiandetail integer Domain Id_ujian integer Domain Id_matapelajaran integer Domain Id_Ruang integer Domain Jam variable length character string, length5 Domain Hari variable length character string, length 20 UjianDetail ( Id_ujiandetail NOT NULL, Id_ujian NOT NULL, Id_matapelajaran NOT NULL, Id_Ruang NOT NULL, Jam NOT NULL, Hari NOT NULL, PRIMARY KEY (Id_ujiandetail), FOREIGN KEY Id_ujian references Ujian (Id_ujian) ON UPDATE CASCADE ON DELETE CASCADE,
148 FOREIGN
KEY
Id_matapelajaran
references
MataPelajaran
(Id_matapelajaran) ON UPDATE CASCADE ON DELETE CASCADE FOREIGN KEY Id_Ruang references Ruang (Id_Ruang) ON UPDATE CASCADE ON DELETE CASCADE);
n. Absensi Id_absensi integer NIS variable length character string, length 20 Id_thnakademik integer Tanggal_absensidate Jumlah integer Detail variable length character string, length 20 Absensi ( Id_absensi NOT NULL, NIS NOT NULL, Id_thnakademik NOT NULL, Tanggal_absensi NOT NULL, Jumlah NOT NULL, Detail NOT NULL, PRIMARY KEY (Id_absensi), FOREIGN KEY NIS references Siswa (NIS) ON UPDATE CASCADE ON DELETE CASCADE,
149 FOREIGN KEY Id_thnakademik references TahunAkademikSiswa (Id_thnakademik)); o. TeleponSiswa TelpSiswa variable length character string, length 20 NIS variable length character string, length 20 TeleponSiswa( TelpSiswa NOT NULL, NIS NOT NULL, PRIMARY KEY TelpSiswa, FOREIGN KEY NIS references Siswa/i (NIS) ON UPDATE CASCADE ON DELETE CASCADE); p. TeleponGuru TelpGuru variable length character string, length 20 NIKvariable length character string, length 20 TeleponGuru ( TelpGuru NOT NULL, NIK NOT NULL, PRIMARY KEY TelpGuru, FOREIGN KEY NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE); q. EmailSiswa EmailSiswa variable length character string, length 50 NIS variable length character string, length 50 EmailSiswa (
150 TelpSiswa NOT NULL, NIS NOT NULL, PRIMARY KEY EmailSiswa, FOREIGN KEY NIS references Siswa/i (NIS) ON UPDATE CASCADE ON DELETE CASCADE); r. EmailGuru EmailGuru variable length character string, length 50 NIK variable length character string, length 50 EmailGuru ( EmailGuru NOT NULL, NIK NOT NULL, PRIMARY KEY EmailGuru, FOREIGN KEY NIK references Guru (NIK) ON UPDATE CASCADE ON DELETE CASCADE)); s. TahunAkademikSiswa Id_thnakademik integer TahunAkademik integer Kalender_Akademik variable length character string, length 20 TahunAkademikSiswa ( Id_thnakademik NOT NULL, TahunAkademik NOT NULL, Kalender_Akademik NOT NULL, PRIMARY KEY(Id_thnakademik));
151 t. KelasSiswa NISvariable length character string, length 20 Id_Kelas integer KelasSiswa( NISNOT NULL, Id_Kelas NOT NULL, FOREIGN
KEY
NIS
reference
Siswa/i(NIS)ON
UPDATE
CASCADE ON DELETE CASCADE, FOREIGN KEYId_Kelas reference Kelas(Id_Kelas)ON UPDATE CASCADE ON DELETE CASCADE));
2. Merancang representasi dari derived data Bertujuan
untuk
memutuskan
bagaimana
untuk
merepresentasikan derived data yang berada di logical model data yang akan dimaksukkan ke dalam DBMS. Pada perancangan ini, tidak terdapat data turunan yang dimasukkan kedalam basis data.
152 3. Merancang general constraints Tujuannya untuk merancang general constraints untuk DBMS target. • Setiap Id_kelas tidak boleh memiliki kapasitas lebih dari (>) 40 orang. CONSTRAINT CekId_kelas CHECK
(NOT
EXIST
(SELECT
Id_kelas
FROM
KelasWHERE Id_kelas <40)) • Setiap nilai yang didapat oleh siswa/i antara range 0-100. CONSTRAINT CekId_nilai CHECK (NOT EXIST (SELECT Id_nilai FROM Nilai WHERE Id_nilai BETWEEN 0 AND 100))
4. Menganalisis Transaksi Tujuannya untuk memahami fungsional dari transaksi yang akan berjalan pada basis data dan untuk menganalisis transaksi yang penting. Langkah langkah dalam menganalisis transaksi yaitu : 1. Memetakan semua jalur transaksi dalam relasi. 2. Menentukan relasi mana yang paling sering diakses oleh transaksi. 3. Menganalisis penggunaan data dari relasi yang dipilih dari langkah sebelumnya.
153 Transaksi – transaksi yang terjadi adalah sebagai berikut : 1. Pendataan guru 2. Pendataan siswa 3. Pendataan absensi 4. Pendataan tahun akademik 5. Pendataan jadwal pelajaran 6. Pendataan jadwal ujian 7. Pendataan mata pelajaran 8. Pendataan ruang 9. Pendataan kelas 10. Pendataan nilai 11. Pendataan materi 12. View data siswa 13. View nilai 14. View materi 15. View jadwal pelajaran 16. View ujian 17. View absensi 18. View data guru
154 1
2
3
4
I
R U D I
R U D I
R U D I
Transaksi atau Relasi
Siswa
X X X X
Guru
R U D
X
X X X X
MataPelajaran JadwalPelajaran JadwalPelajaranDetail JadwalPelajaranDetail Detail Ujian UjianDetail Kelas Absensi
X X X X
Nilai NilaiDetail Materi Ruang TahunAkademikSiswa TeleponGuru
X X X X X
TeleponSiswa
X X X X
EmailSiswa
X X X X
EmailGuru
X X X X
X X X X
KelasSiswa Tabel 26Tabel Matriks Referensi Silang Relasi dengan metode IRUD (dari 1-4)
155 5
6
7
8
I
R U D I
R U D I
R U D I
X
X
Transaksi atau Relasi R U D
Siswa Guru MataPelajaran JadwalPelajaran
X X X X
JadwalPelajaranDetail
X X X X
X X X X
JadwalPelajaranDetail Detail Ujian
X X X X
UjianDetail
X X X X
Kelas
X
X
X
X
X
X
Absensi Nilai NilaiDetail Ruang
X X X X
Materi TahunAkademikSiswa TeleponGuru TeleponSiswa EmailSiswa EmailGuru KelasSiswa Tabel 27Tabel Matriks Referensi Silang Relasi dengan metode IRUD (dari 5-8)
156 9
10
11
12
Transaksi atau Relasi I
R U D I
R U D I
Siswa
X
Guru
X
MataPelajaran
X
R U D I
R U D X
JadwalPelajaran JadwalPelajaranDetail JadwalPelajaranDetail
X X X X
Detail Ujian UjianDetail Kelas
X X X X
Absensi Nilai
X X X X
NilaiDetail
X X X X
Materi
X X X X
Ruang TahunAkademikSiswa
X
X
TeleponGuru TeleponSiswa
X
EmailSiswa
X
EmailGuru KelasSiswa
X
Tabel 28Tabel Matriks Referensi Silang Relasi dengan metode IRUD (dari 9-12)
157 13
14
15
16
Transaksi atau Relasi I
R U D I
R U D I
R U D I
R U D
Siswa Guru MataPelajaran JadwalPelajaran
X
JadwalPelajaranDetail
X
JadwalPelajaranDetail
X
Detail Ujian
X
UjianDetail
X
Kelas Absensi Nilai
X
NilaiDetail
X
Materi
X
Ruang TahunAkademikSiswa TeleponGuru TeleponSiswa EmailSiswa EmailGuru KelasSiswa Tabel 29Tabel Matriks Referensi Silang Relasi dengan metode IRUD (dari 13-16)
158 17
18
Transaksi atau Relasi I R U D I R U D Siswa Guru
X
MataPelajaran JadwalPelajaran JadwalPelajaran Detail JadwalPelajaranDetailDetail Ujian UjianDetail Kelas Absensi
X
Nilai NilaiDetail Materi Ruang TahunAkademikSiswa TeleponGuru
X
TeleponSiswa EmailSiswa EmailGuru
X
KelasSiswa Tabel 30Tabel Matriks Referensi Silang Relasi dengan metode IRUD (dari 17-18)
159 5. Menentukan Organisasi File Tujuannya untuk menentukan organisasi file yang efisien untuk setiap relasi dasar. DBMS yang digunakan oleh sistem ini adalah MySQL. Organisasi file yang digunakan adalah InnoDB. 6. Menentukan Indeks Tujuannya untuk meningkatkan kinerja sistem. Tabel Entitas
Nama Indeks
Key Indeks
Tipe
Keterangan
Absensi
Idk_Id_absensi
Id_absensi
Cluster
Berdasarkan Id_absensi
Idk_Id_thnakade
Id_thnakademik
mik
Non
Berdasarkan
Cluster
Id_thnakade Mik
Idk_NIS
TahunAkade
Idk_Id_thnakade
mikSiswa
Mik
NIS
Id_thnakademik
Non
Berdasarkan
Cluster
NIS
Cluster
Berdasarkan Id_thnakade Mik
Guru
Idk_NIK
NIK
Cluster
Berdasarkan NIK
Ruang
Idk_Id_Ruang
Id_Ruang
Cluster
Berdasarkan Id_Ruang
Siswa
Idk_NIS
NIS
Cluster
Berdasarkan NIS
160 Tabel Entitas
Nama Indeks
Key Indeks
Tipe
Keterangan
JadwalPelajaran Idk_Id_jadwalPelaj
Id_JadwalPelajaran Cluster
Berdasarkan..
DetailDetail
DetailDetail
Id_JadwalPelaj
aranDetailDetail
aranDetailDeta il Idk_Id_JadwalPelaj
Id_PelajaranDetail
aranDetail
Non-
Berdasarkan
Cluster
Id_JadwalPelaj aranDetail
Idk_Id_Materi
Id_Materi
JadwalPelaja
Idk_Id_jadwalpela
Id_jadwalpelajaran
ranDetail
jaranDetail
Detail
Non-
Berdasarkan
Cluster
Id_Materi
Cluster
Berdasarkan Id_jadwalpelaj aranDetail
Idk_Id_jadwalPela
Id_jadwalPelajaran
jaran
Non
Berdasarkan
Cluster
Id_JadwalPelaj aran
Idk_Id_ruang
Idk_Id_matapelaja
Id_ruang
Id_matapelajaran
ran
Non
Berdasarkan
Cluster
Id_Ruang
Non
Berdasarkan
Cluster
Id_Matapelajar an
Materi
Idk_Id_Materi
Id_materi
Cluster
Berdasarkan Id_Materi
161 Tabel Entitas
Nama Indeks
Key Indeks
Tipe
Keterangan
JadwalPelaja
Idk_Id_JadwalPela
Id_JadwalPelaja
Cluster
Berdasarkan
Ran
Jaran
ran
Id_JadwalPelaj aran
Idk_Id_thnakademi
Id_thnakademik
k
Non
Berdasarkan
Cluster
Id_thnakademi k
Idk_Id_Kelas
Nilai
Idk_Id_Nilai
Id_Kelas
Id_Nilai
Non-
Berdasarkan
Cluster
Id_Kelas
Cluster
Berdasarkan Id_Nilai
Idk_Id_Matapelaja
Id_Matapelajaran
Ran
Non
Berdasarkan
Cluster
Id_Matapelajar an
Idk_NIK
Idk_Id_thnakade
NIK
Id_thnakademik
Mik
Non
Berdasarkan
Cluster
NIK
Non
Berdasarkan
Cluster
Id_thnakade mik
NilaiDetail
Idk_Id_nilaidetail
Id_NilaiDetail
Cluster
Berdasarkan Id_Nilai
162 Tabel Entitas
Nama Indeks
Key Indeks
Tipe
Keterangan
NilaiDetail
Idk_Id_Nilai
Id_Nilai
Non
Berdasarkan
Cluster
Id_Nilai
Non
Berdasarkan
Cluster
NIS
Non
Berdasarkan
Cluster
Id_UjianDetail
Cluster
Berdasarkan
Idk_NIS
Idk_Id_UjianDetail
Ujian
Idk_Id_Ujian
NIS
Id_UjianDetail
Id_Ujian
Id_Ujian
Idk_Id_thnakade
Id_thnakademik
mik
Non
Berdasarkan
Cluster
Id_thnakade Mik
Idk_Id_Kelas
UjianDetail
Idk_Id_Ujiandetail
Id_Kelas
Id_Ujiandetail
Non-
Berdasarkan
Cluster
Id_Kelas
Cluster
Berdasarkan Id_Ujiandetail
Idk_Id_Ujian
Id_Ujian
Non
Berdasarkan
Cluster
Id_Ujian
163 Tabel Entitas
Nama Indeks
Key Indeks
Tipe
Keterangan
UjianDetail
Idk_Id_Matapelaja
Id_Matapelajaran
Non
Berdasarkan
Cluster
Id_Matapelajar
ran
an Idk_Id_ruang
TeleponSiswa
Idk_TelpSiswa
Id_ruang
TelpSiswa
Non
Berdasarkan
Cluster
Id_Ruang
Cluster
Berdasarkan TelpSiswa
Idk_NIS
TeleponGuru
Idk_TelpGuru
NIS
TelpGuru
Non
Berdasarkan
Cluster
NIS
Cluster
Berdasarkan TelpGuru
Idk_NIK
EmailSiswa
Idk_EmailSiswa
NIK
EmailSiswa
Non
Berdasarkan
Cluster
NIK
Cluster
Berdasarkan EmailSiswa
Idk_NIS
EmailGuru
Idk_EmailGuru
NIS
EmailGuru
Non
Berdasarkan
Cluster
NIS
Cluster
Berdasarkan EmailGuru
Idk_NIK
NIK
Non
Berdasarkan
Cluster
NIK
164 Tabel Entitas
Nama Indeks
Key Indeks
Tipe
Keterangan
Kelas
Idk_Id_Kelas
Id_Kelas
Cluster
Berdasarkan Id_Kelas
Idk_Id_thnakade
Id_thnakademik
mik MataPelajaran
Idk_Id_Matapelajar
Id_Matapelajaran
Non
Berdasarkan
Cluster
Id_thnakdmik
Cluster
Berdasarkan
an
Id_matapelajar an
KelasSiswa
Idk_Id_Kelas
Idk_NIS
Id_Kelas
NIS
Non
Berdasarkan
Cluster
Id_Kelas
Non
Berdasarkan
Cluster
NIS
Tabel 31 Indeks
7. Memperkirakan Kebutuhan Kapasitas Disk Tujuannya untuk memperkirakan jumlah ruang disk yang akan dibutuhkan oleh basis data. a. Entitas siswa Field
Type
Ukuran (Byte)
NIS
Varchar
20
Password
Varchar
20
Nama
Varchar
50
JenisKelamin
Int
1
TempatLahir
Varchar
20
165 Field
Type
Ukuran (Byte)
Tgl_Lahir
Date
-
Agama
Int
1
Kewarganegaraan
Int
1
Alamat
Varchar
99
NamaAyah
Varchar
30
NamaIbu
Varchar
30
Kapasitas dari table siswa adalah 272 byte Diperkirakan dalam 1 tahun terjadi 432 penambahan siswa/i Dalam 1 tahun pertumbuhan dari table 432*272 byte adalah 117.504 byte Tabel 32Kebutuhan Kapasitas Disk Entitas Siswa
b. EntitasGuru Field
Type
Ukuran (Byte)
NIK
Varchar
20
Password
Varchar
20
Nama
Varchar
50
JenisKelamin
Int
1
TempatLahir
Varchar
20
Tgl_Lahir
Date
-
Alamat
Varchar
99
Agama
Int
1
Kewarganegaraan
Int
1
166 Field
Type
Ukuran (Byte)
Pendidikan
Int
1
Kapasitar dari table guru adalah 213 byte Diperkirakan dalam 1 tahun tidak terjadi penambahan guru Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 33 Kebutuhan Kapasitas Disk Entitas Guru
c. Tabel MataPelajaran Field
Type
Ukuran (Byte)
MataPelajaran
Int
20
Mata_Pelajaran
Varchar
30
Kapasitas dari table mata pelajaran adalah 50 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan mata pelajaran Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 34 Kebutuhan Kapasitas Disk Entitas MataPelajaran
d. EntitasJadwalPelajaran Field
Type
Ukuran (Byte)
Id_JadwalPelajaran
Int
20
Id_ThnAkademik
Int
20
Id_Kelas
Int
20
Kapasitas dari table jadwal pelajaran adalah 60 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan jadwal pelajaran Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 35 Kebutuhan Kapasitas Disk Entitas JadwalPelajaran
167 e. EntitasJadwalPelajaranDetail Field
Type
Ukuran (Byte)
Id_JadwalPelajaranDetail Int
10
Id_JadwalPelajaran
Int
20
Id_MataPelajaran
Int
20
NIK
Varchar
20
Jam
Varchar
5
Hari
Varchar
20
Kapasitas dari table jadwal pelajaran detail adalah 95 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan jadwal pelajaran Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 36 Kebutuhan Kapasitas Disk Entitas JadwalPelajaranDetail
f. EntitasJadwalPelajaranDetailDetail Field
Type
Ukuran (Byte)
Id_JadwalPelajaranDetailDetail Int
10
Id_JadwalPelajaranDetail
Int
10
Id_Materi
Int
20
Tanggal
Date
-
Kapasitas dari table jadwal pelajaran detaildetail adalah 40 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan jadwal pelajaran detail detail Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 37 Kebutuhan Kapasitas Disk Entitas JadwalPelajaranDetaiDetail
168 g. EntitasUjian Field
Type
Ukuran (Byte)
Id_Ujian
Int
20
Id_ThnAkademik
Int
20
Id_Kelas
Int
20
Jenis_Ujian
Varchar
30
Tgl_Mulai
Date
-
Tgl_Selesai
Date
-
Kapasitas dari table jadwal ujian adalah 90Byte Diperkirakan
dalam
1
tahun
terjadi
penambahan
14*9*90=11.340byte Dalam 1 tahun pertumbuhan dari table adalah 11.340 byte Tabel 38 Kebutuhan Kapasitas Disk Entitas Ujian
h. Entitas UjianDetail Field
Type
Ukuran (Byte)
Id_UjianDetail
Int
10
Id_Ujian
Int
20
Id_Ruang
Int
10
Jam
Varchar
5
Hari
Varchar
20
Kapasitas dari table jadwal ujian Detail adalah 85 Byte.Diperkirakan dalam 1 tahun tidak terjadi penambahan kalkulasi ujiandetail. Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 39 Kebutuhan Kapasitas Disk Entitas UjianDetail
169 i. EntitasKelas Field
Type
Ukuran (Byte)
Id_Kelas
Int
20
Kelas
Varchar
20
WaliKelas
Varchar
20
Id_thnakademik
Int
20
Kapasitas dari table Kelas adalah 80 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan kelas Dalam 1 tahun pertumbuhan dari table adalah 0 byte tabel 40 Kebutuhan Kapasitas Disk Entitas Kelas
j. Entitas NilaiDetail Field
Type
Ukuran (Byte)
Id_NilaiDetail
Int
20
Id_Nilai
Int
20
NIS
Varchar
11
Nilai
Int
5
Jenis_Ujian
Varchar
20
Kapasitas dari table Nilai Detail adalah 76 Byte Diperkirakan dalam 1 tahun terjadi penambahan tidak terjadi penambahan pada tabel Nilai detail Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 41 Kebutuhan Kapasitas Disk Entitas Nilai Detail
170 k. EntitasNilai Field
Type
Ukuran (Byte)
Id_Nilai
Int
20
Id_ThnAkademik
Int
20
Id_MataPelajaran
Int
20
NIK
Varchar
20
Kapasitas dari table Nilai adalah 80 Byte Diperkirakan dalam 1 tahun terjadi penambahan 14*9*131= 10.080 byte Dalam 1 tahun pertumbuhan dari table adalah 10.080byte Tabel 42 Kebutuhan Kapasitas Disk Entitas Nilai
l. EntitasAbsensi Field
Type
Ukuran (Byte)
Id_Absensi
Int
20
Id_ThnAkademik
Int
20
TahunAkademik
Int
5
NIS
Varchar
20
Tgl_Absensi
Date
-
Detail
Varchar
20
Jumlah
Int
5
Kapasitas dari table Absensi adalah 90 Byte Diperkirakan
dalam
1
tahun
terjadi
penambahan
90*20*12*432=9.331.200 byte Dalam 1 tahun pertumbuhan dari table adalah 9.331.200byte Tabel 43Kebutuhan Kapasitas Disk Entitas Absensi
171 m. Entitas Materi Field
Type
Ukuran (Byte)
Id_Materi
Int
20
JudulMateri
Varchar
50
IsiMateri
Varchar
100
Kapasitas dari table Materi adalah 170 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan Materi Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 44 Kebutuhan Kapasitas Disk Entitas Materi
n. EntitasRuang Field
Type
Ukuran (Byte)
Id_Ruang
Int
10
Ruang
Varchar
20
Kapasitas dari table Ruang adalah 30 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan ruang Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 45 Kebutuhan Kapasitas Disk Entitas Ruang
o. EntitasKelasSiswa Field
Type
Ukuran (Byte)
NIS
Varchar
20
Id_Kelas
Int
20
Kapasitas dari table KelasSiswa adalah 40 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan KelasSiswa Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 46 Kebutuhan Kapasitas Entitas Kelas Siswa
172 p. EntitasTahunAkademikSiswa Field
Type
Ukuran (Byte)
Id_TahunAkademik
Int
20
TahunAkademik
Varchar
5
KalenderAkademik
Varchar
100
Kapasitas dari table Pendidikan adalah 125 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 47 Kebutuhan Kapasitas Disk Entitas TahunAkademikSiswa
q. EntitasTeleponSiswa Field
Type
Ukuran (Byte)
TeleponSiswa
Varchar
25
NIS
Varchar
20
Kapasitas dari table TeleponSiswa adalah 45 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan. Dalam 1 tahun pertumbuhan dari table TeleponSiswa adalah 0 byte Tabel 48 Kebutuhan Kapasitas Disk Entitas TeleponSiswa
r. Entitas TeleponGuru Field
Type
Ukuran (Byte)
TeleponGuru
Varchar
25
NIK
Varchar
20
Kapasitas dari table TeleponGuru adalah 45 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan Telepon guru Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 49 Kebutuhan Kapasitas Disk Entitas TeleponGuru
173 s. Tabel EmailSiswa Field
Type
Ukuran (Byte)
EmailSiswa
Varchar
25
NIS
Varchar
20
Kapasitas dari table EmailSiswaadalah 45 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan Email siswa/i Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 50 Kebutuhan Kapasitas Disk Entitas EmailSiswa
t. Tabel EmailGuru Field
Type
Ukuran (Byte)
EmailGuru
Varchar
25
NIK
Varchar
20
Kapasitas dari table EmailGuruadalah 45 Byte Diperkirakan dalam 1 tahun tidak terjadi penambahan EmailGuru Dalam 1 tahun pertumbuhan dari table adalah 0 byte Tabel 51 Kebutuhan Kapasitas Disk Entitas EmailGuru
u. Entitas Keseluruhan Entitas
Ukuran (Byte)
Siswa
117.504Byte
Guru
213Byte
MataPelajaran
50 Byte
JadwalPelajaran
60 Byte
JadwalPelajaranDetail
95 Byte
174 Entitas
Ukuran (Byte)
JadwalPelajaranDetailDetail 40 Byte Ujian
11.340 Byte
UjianDetail
85 Byte
Kelas
80 Byte
Absensi
9.331.200 Byte
Nilai
10.080 Byte
NilaiDetail
76 Byte
Materi
170 Byte
Ruang
30 Byte
KelasSiswa
40Byte
TahunAkademikSiswa
125Byte
TeleponSiswa
45 Byte
TeleponGuru
45 Byte
EmailSiswa
45 Byte
EmailGuru
45 Byte
Total Kapasitas yang dibutuhkan dalam 1 tahun adalah 9.471.368 Byte Tabel 52 Kebutuhan Kapasitas Disk Entitas Keseluruhan
175 8. Merancang User View a. Penerapan View 1. Siswa CREATE VIEW view_siswa AS (SELECT a.NIS, Password, Nama, JenisKelamin, TempatLahir, TglLahir, Agama, Kewarganegaraan, Alamat, Nama_Ayah, Nama_Ibu, TelpSiswa, EmailSiswa FROM Siswa a, JenisKelamin b, Agama c, Kewarganegaraan d,
TeleponSiswae,
b.Id_jeniskelamin
EmailSiswa AND
f
WHERE
a.Id_agama
=
a.Id_jeniskelamin c.Id_agama
=
AND
a.Id_kewarganegaraan = d.Id_kewarganegaraan AND a.NIS = e.NIS AND a.NIS = f.NIS) 2. Guru CREATE view view_guru as (SELECT a.`NIK`, `password`, `nama`, c.`jeniskelamin`, `tempatlahir`, `tgllahir`, d.`agama`, e.`kewarganegaraan`, `alamat`, f.`pendidikan`, g.`telpguru`, h.`emailguru` FROM guru a, jeniskelamin c, agama d, kewarganegaraan e, pendidikan f, teleponguru g, emailguru h where a.id_jeniskelamin = c.id_jeniskelamin and a.id_agama = d.id_agama and a.id_kewarganegaraan = e.id_kewarganegaraan and a.id_pendidikan = f.id_pendidikan and a.nik = g.nik and a.nik = h.NIK ) 3. Materi CREATEVIEWview_materi as (select a.id_materi, judulmateri, isimateri, b.id_jadwalpelajarandetaildetail,
b.tanggal,
b.id_jadwalpelajarandetail,
c.id_matapelajaran, d.matapelajaran, e.id_kelas, f.kelas from materi a,
176 jadwalpelajarandetaildetail b, jadwalpelajarandetail c, matapelajaran d, jadwalpelajaran e, kelas f where a.id_materi = b.id_materi and b.id_jadwalpelajarandetail
=
c.id_jadwalpelajarandetail
and
c.id_matapelajaran = d.id_matapelajaran and e.id_kelas = f.id_kelas) 4. Kelas CREATE
VIEW
view_kelas
AS
(SELECT
id_kelas,
kelas,
kelas.id_thnakademik, tahunakademiksiswa.tahunakademik, nik, nama as walikelas from kelas, guru, tahunakademiksiswa where walikelas = nik and tahunakademiksiswa.id_thnakademik = kelas.id_thnakademik) 5.
Ruang CREATE VIEW view_ruangAS(SELECT Id_ruang, Ruang FROM Ruang)
6. MataPelajaran CREATE
VIEW
view_matapelajaran
as
(select
id_matapelajaran,
matapelajaran from matapelajaran) 7. Nilai CREATE VIEW view_nilai as (SELECT `id_nilai`, a.`id_thnakademik`, b.tahunakademik, a.`id_matapelajaran`, c.matapelajaran, a.`NIK`, d.nama FROM `nilai` a, tahunakademiksiswa b, matapelajaran c, guru d where a.id_thnakademik
=
b.id_thnakademik
and
a.id_matapelajaran
=
c.id_matapelajaran and a.nik = d.nik ) 8. NilaiDetail CREATE VIEW view_nilaidetail as (SELECT distinct `id_nilaidetail`, a.`id_nilai`, a.`NIS`, c.nama, `nilai`, `jenis_ujian`,
b.`id_thnakademik`,
d.tahunakademik, b.`id_matapelajaran`,matapelajaran, b.`NIK`, f.nama as
177 namaguru,
kelas
fROM
`nilai`
b
,
`nilaidetail`
a,
siswa
c,
tahunakademiksiswa d, matapelajaran e, guru f, view_kelassiswa g where a.id_nilai = b.id_nilai and b.id_thnakademik = d.id_thnakademik and b.id_matapelajaran = e.id_matapelajaran and f.nik = b.nik and a.nis = c.nis and b.nik = f.nik and a.nis = g.nis ) 9. JadwalPelajaran CREATE VIEW view_jadwalpelajaran as (SELECT `id_jadwalpelajaran`, a.`id_thnakademik`, b.tahunakademik, b.kalender_akademik, a.`id_kelas`, c.kelas FROM `jadwalpelajaran` a, tahunakademiksiswa b, kelas c where a.id_thnakademik = b.id_thnakademik and a.id_kelas = c.id_kelas) 10.JadwalPelajaranDetail CREATE
VIEW
id_jadwalpelajarandetail,
view_jadwalpelajarandetail a.id_jadwalpelajaran,
as
(select
f.id_thnakademik,
tahunakademik, kalender_akademik, f.id_kelas, e.kelas, a.id_matapelajaran, matapelajaran, a.id_ruang, ruang, NIK, d.nama AS namapengajar, jam, hari from jadwalpelajarandetail a, matapelajaran b, ruang c, guru d, kelas e, jadwalpelajaran f, tahunakademiksiswa g where a.id_matapelajaran = b.id_matapelajaran AND a.id_ruang = c.id_ruang AND a.pengajar = d.nik AND f.id_kelas = e.id_kelas AND f.id_thnakademik = g.id_thnakademik) 11.Ujian CREATE VIEW view_ujian as (select id_ujian, id_thnakademik, tahunakademik,
id_kelas,
kelas,
jenis_ujian,
tanggal_mulai,
tanggal_selesai from ujian a, tahunakademiksiswa b, kelas c where a.id_thnakademik = b.id_thnakademik AND a.id_kelas = c.id_kelas)
178 12.UjianDetail CREATE VIEW view_ujiandetail as (SELECT `id_ujiandetail`, a.`id_ujian`,
e.`jenis_ujian`,
e.`id_kelas`,
b.`kelas`,
a.`id_matapelajaran`, c.`matapelajaran`, a.`id_ruang`, d.`ruang`, `jam`, `hari` from ujiandetail a, kelas b, matapelajaran c, ruang d, ujian e where
e.id_kelas
=
b.id_kelas
and
a.id_matapelajaran
=
c.id_matapelajaran and a.id_ruang = d.id_ruang and a.id_ujian = e.id_ujian ) 13.Absensi CREATE VIEW view_absensiAS(SELECT a.id_absensi, b.NIS, nama, tanggal_absensi,
jumlah,
detail,
c.id_thnakademik,
tahunAkademik,
d.id_kelas, kelas FROM Absensi a, Siswa b, TahunAkademikSiswa c, kelas d, kelassiswa e WHERE a.NIS = b.NIS AND a.Id_thnakademik = c.Id_thnakademik and b.nis = e.nis and e.id_kelas = d.id_kelas ) 14.TeleponSiswa CREATE VIEW view_telpsiswaAS(SELECT TelpSiswa, a.NIS, Nama FROMTeleponSiswa, Siswa b WHERE a.NIS = b.NIS ) 15.TeleponGuru CREATE VIEW view_telpguruAS(SELECT TelpGuru, a.NIK, Nama FROMTeleponGuru a, Guru b WHERE a.NIK = b.NIK )
16.EmailSiswa
179 CREATE VIEW view_emailsiswaAS(SELECT EmailSiswa, a.NIS, Nama FROMEmailSiswa a, Siswab WHERE a.NIS = b.NIS ) 17.EmailGuru CREATE VIEW view_emailguruAS(SELECT EmailGuru, a.NIK, Nama FROMEmailGuru a, Guru b WHERE a.NIK = b.NIK ) 18.KelasSiswa CREATE VIEW view_kelassiswa as (select a.NIS, b.nama, a.id_kelas, c.kelas, d.tahunakademik from kelassiswa a, siswa b, kelas c, tahunakademiksiswa d where a.NIS = b.NIS and a.id_kelas = c.id_kelas and c.id_thnakademik = d.id_thnakademik ) 19. Agama CREATE VIEW view_agama AS (SELECT Id_agama, agama FROM Agama 20. Pendidikan CREATE VIEW view_pendidikan AS (SELECT Id_pendidikan, pendidikan FROM Pendidikan) 21. JenisKelamin CREATE VIEW view_jeniskelamin AS (SELECT Id_jeniskelamin, jeniskelamin FROM Jeniskelamin) 22. Kewarganegaraan CREATE
VIEW
view_kewarganegaraan
AS
Id_kewarganegaraan, kewarganegaraan FROM Kewarganegaraan)
(SELECT
180 23. TahunAkademikSiswa CREATE
VIEW
id_thnakademik,
view_TahunAkademikSiswaAS(SELECT
tahunakademik,
kalender_akademik
FROM
TahunAkademikSiswa )
b. Penerapan Procedure 1.
Procedure untuk Memasukkan Materi CREATE
PROCEDURE
`proc_insert_materi`
(
IN
`id_materi`
VARCHAR ( 20 ), IN `judulmateri` VARCHAR( 50 ) , IN `isimateri` VARCHAR( 100 ) ) INSERT INTO materi VALUES (id_materi, judulmateri, materi)
2.
Procedure untuk Memasukkan Nilai CREATE PROCEDURE `proc_insert_nilai`(IN `id_nilai` INT(20), IN `id_thnakademik` INT(20), IN `id_matapelajaran` INT(20), IN `NIK` VARCHAR(20)) insert into nilai values (id_nilai, id_thnakademik, id_matapelajaran, NIK)
3.
Procedure untuk Menambah Siswa CREATE
PROCEDURE
VARCHAR(20),
IN
`nama`
`proc_insert_siswa`(IN VARCHAR(50),
IN
`NIS` `password`
VARCHAR(20), IN `id_jeniskelamin` INT(1), IN `id_agama` INT(1), IN `id_kewarganegaraan` INT(1), IN `tempatlahir` VARCHAR(20), IN `tgllahir` DATE, IN `alamat` VARCHAR(99), IN `nama_ayah`
181 VARCHAR(30),
IN
`nama_ibu`
VARCHAR(30),
IN
`status`
VARCHAR(10)) insert into siswa VALUES (nis, nama, password, id_jeniskelamin, id_agama, id_kewarganegaraan, tempatlahir, tgllahir, alamat, nama_ayah, nama_ibu)
4. Procedure untuk Menambah Guru CREATE PROCEDURE `proc_insert_guru`(IN `NIK` VARCHAR(20), IN `password` VARCHAR(20), IN `nama` VARCHAR(50), IN `id_jeniskelamin` INT(1), IN `tempatlahir` VARCHAR(20), IN `tgllahir` DATE, IN `alamat` VARCHAR(99), IN `id_agama` INT(1), IN `id_pendidikan` VARCHAR(1), IN `id_kewarganegaraan` INT(1)) insert
into
guru
VALUES
(NIK,
password,
nama,
id_jeniskelamin,tempatlahir, tgllahir, alamat, id_agama, id_pendidikan, id_kewarganegaraan)
5.
Procedure
untuk
Menambah
TahunAkademikSiswa CREATE `id_thnakademik`
PROCEDURE INT(20),
`kalender_akademik` TahunAkademikSiswa Kalender_Akademik)
`proc_inserttahunakademik`(IN IN
`tahunakademik`
VARCHAR(100)) values
(Id_thnakademik,
INT(5),
INSERT
IN into
TahunAkademik,
182
6.
Procedure
untuk
Menambah
Mata
Pelajaran CREATE PROCEDURE `proc_insert_matpel`(IN `id_matapelajaran` INT(20),
IN
`mata_pelajaran`
VARCHAR(30))
INSERT
into
MataPelajaran values (Id_matapelajaran, Mata_pelajaran)
7.
Procedure untuk Menambah Ruang CREATE PROCEDURE `proc_insert_ruang`(IN `id_ruang` INT(20), IN `ruang` VARCHAR(20), IN `status` INT(10)) INSERT INTO ruang VALUES (id_ruang, ruang)
8.
Procedure untuk Menambah Kelas CREATE PROCEDURE `proc_insert_kelas` ( IN `id_kelas` INT, IN `id_thnakademik` INT, IN `walikelas` VARCHAR( 20 ) , IN `kelas` INT( 20 )) INSERT INTO Kelas VALUES (id_kelas, id_thnakademik, walikelas, kelas)
9.
Procedure untuk Menambah Absensi CREATE
PROCEDURE
`proc_insert_absensi`(IN
`id_absensi`
INT(20), IN `NIS` VARCHAR(20), IN `id_thnakademik` INT(20), IN `tanggal_absensi` VARCHAR(20))
DATE, insert
IN
into
`jumlah` absensi
INT(5),
values
id_thnakademik, tanggal_absensi, jumlah, detail)
IN
(id_absensi,
`detail` NIS,
183
10.
Procedure
untuk
Menambah
JadwalPelajaranDetailDetail CREATE PROCEDURE `proc_insert_jadwalpelajarandetaildetail` ( IN
`id_jadwalpelajarandetaildetail`
INT
(
20
),
IN
`id_jadwalpelajarandetail` INT ( 20 ), IN `id_materi` INT ( 20 ), IN `tanggal` DATE INSERT INTO jadwalpelajarandetaildetail VALUES (id_jadwalpelajarandetaildetail, id_jadwalpelajarandetail, id_materi, tanggal) 11.
Procedure
untuk
Menambah
KelasSiswa CREATE
PROCEDURE
`proc_insert_kelassiswa`
(
IN
`NIS`
VARCHAR ( 20 ), IN `id_kelas` INT ( 20 )) INSERT INTO kelassiswa VALUES (NIS, id_kelas)
12.
Procedure
untuk
MenambahMataPelajaran CREATE
PROCEDURE
`proc_insert_matpel`
(
IN
`id_matapelajaran` INT( 20 ) , IN `mata_pelajaran` VARCHAR( 30 )) INSERT
INTO
Mata_pelajaran)
MataPelajaran
VALUES
(Id_matapelajaran,
184 13.
Procedure
untuk
Menambah
NilaiDetail CREATE PROCEDURE `proc_insert_nilaidetail`(IN `id_nilaidetail` INT(20), IN `id_nilai` INT(20), IN `nilai` INT(5), IN `NIS` VARCHAR(20), IN `jenis_ujian` VARCHAR(20)) insert into nilaidetail values (id_nilaidetail, id_nilai, nilai, NIS, jenis_ujian)
14.
Procedure
untuk
MenambahJadwalPelajaranDetail CREATE
PROCEDURE
`proc_insert_jadpeldetail`(IN
`id_jadwalpelajarandetail` INT(11), IN `id_jadwalpelajaran` INT(20), IN `id_matapelajaran` INT(20),IN `id_ruang` INT(20), IN `NIK` VARCHAR ( 20 ), IN `jam` INT(5), IN `hari` VARCHAR(20)) insert into ujiandetail values(id_jadwalpelajarandetail, id_jadwalpelajaran, id_matapelajaran, id_ruang, NIK, jam, hari) 15.
Procedure
untuk
Menambah
JadwalPelajaran CREATE
PROCEDURE
`proc_insert_jadpel`
(
IN
`id_jadwalpelajaran` INT( 20 ) , IN `id_thnakademik` INT( 20 ) , IN `id_kelas` INT( 20 ) INSERT INTO jadwalpelajaran VALUES (id_jadwalpelajaran, id_thnakademik, id_kelas) 16.
Procedure untuk MenambahUjian CREATE PROCEDURE `proc_insert_ujian`(IN `id_ujian` INT(20), IN `id_thnakademik` INT(20), IN `id_kelas` INT(20), IN `jenis_ujian`
185 VARCHAR(30), IN `tanggal_mulai` DATE, IN `tanggal_selesai` DATE insert into ujian values (id_ujian, id_thnakademik, id_kelas, jenis_ujian, tanggal_mulai, tanggal_selesai) 17.
Procedure
untuk
MenambahUjianDetail CREATE PROCEDURE `proc_insert_ujiandetail`(IN `id_ujiandetail` INT(20), IN `id_ujian` INT(20), IN `id_matapelajaran` INT(20), IN `id_ruang` INT(20), IN `jam` INT(5), IN `hari` VARCHAR(20)) insert into
ujiandetail
values(id_ujiandetail,
id_ujian,
id_matapelajaran,
id_ruang, jam, hari) 9. Merancang Mekanisme Keamanan Tujuannya untuk merancang mekanisme keamanan untuk basis data seperti yang ditentukan oleh pengguna selama persyaratan dan tahap koleksi dari siklus hidup sistem database lifecycle. a. Mendefinisikan hak akses antar tabel vs user Transaksi/Relasi
Siswa I
R
U
GuruMataPelajaran D
I
R
Siswa
X
X
Guru
X
X
Materi
X
X
Kelas
X
X
Ruang
X
X
MataPelajaran
X
X
U
D
Kesiswaan I
R
U
D
X
X
X
X
186 Nilai
X
X
X
X
X
NilaiDetail
X
X
X
X
X
JadwalPelajaran
X
X
JadwalPelajaranDetail
X
X
JadwalPelajaranDetail Detail Ujian
X
X
X
UjianDetail
X
Absensi
X
X
X
X
X
TeleponSiswa
X
X
X
X
X
X
X
X
TeleponGuru
Transaksi/Relasi
X
I
EmailSiswa
Siswa
GuruMataPelajaran
R
I
U
R
Kesiswaan
U
X
EmailGuru
I
R
U
X
X
X
X
X
KelasSiswa
X
TahunAkademikSiswa
X
X X
X
Tabel 53 Hak akses antar tabel vs user
Kurikulum
Wali Kelas
Guru Piket
Transaksi/Relasi I Siswa Guru
R
U
D
X
I
R X
X
X
X
X
X
X
X
X
Materi Kelas
X
U
D
I
R X
U
D
187 Ruang
X
MataPelajaran
X
X
X
X
X
X
Nilai
X
NilaiDetail
X
JadwalPelajaran
X
X
X
X
JadwalPelajaranDetail
X
X
X
X
Ujian
X
X
X
X
UjianDetail
X
X
X
X
JadwalPelajaranDetailDetail
Absensi
X Kurikulum
X
Wali Kelas
Guru Piket
Transaksi/Relasi I
R
U
I
TeleponSiswa
R
U
I
R
U
X
TeleponGuru
X
X
X
X
EmailSiswa
X
EmailGuru
X
X
X
X
KelasSiswa
X
TahunAkademikSiswa
X
X
X
X
X
Tabel 54 Hak akses antar tabel vs user
b.
Hak Akses untuk Kurikulum GRANT, SELECT, UPDATE, INSERT, DELETE on GURU to KURIKULUM GRANT,
SELECT,
UPDATE,
INSERT,
TAHUNAKADEMIKSISWA toKURIKULUM
DELETE
on
188 GRANT, SELECT on AGAMA to KURIKULUM GRANT,
SELECT,
UPDATE,
INSERT,
DELETE
on
JADWALPELAJARANDETAILto KURIKULUM GRANT, SELECT, UPDATE, INSERT, DELETE on JADWALPELAJARANto KURIKULUM GRANT, SELECT on JENISKELAMIN toKURIKULUM GRANT, SELECT on KEWARGANEGARAAN toKURIKULUM GRANT, SELECT on PENDIDIKAN to KURIKULUM GRANT, SELECT, UPDATE, INSERT, DELETE on UJIANDETAIL to KURIKULUM GRANT, SELECT, UPDATE, INSERT, DELETE on UJIAN toKURIKULUM GRANT, SELECT on JENISKELAMIN toKURIKULUM GRANT, SELECT, UPDATE, INSERT, DELETE on TELEPONGURU to KURIKULUM GRANT, SELECT, UPDATE, INSERT, DELETE on EMAILGURU to KURIKULUM GRANT, SELECT, UPDATE, INSERT, DELETE on KELAS to KURIKULUM GRANT, SELECT, UPDATE, INSERT, DELETE on RUANG to KURIKULUM
c.
Hak Akses untuk Kesiswaan GRANT, SELECT, UPDATE, INSERT, DELETE on SISWA to KESISWAAN GRANT, SELECT on AGAMA to KESISWAAN GRANT, SELECT on KEWARGANEGARAAN to KESISWAAN GRANT, SELECT, UPDATE, INSERT, DELETE on ABSENSI to KESISWAAN
189 GRANT, SELECT on JENISKELAMIN to KESISWAAN GRANT,
SELECT,
UPDATE,
INSERT,
DELETEon
KELASSISWA
to
KESISWAAN GRANT, SELECT, UPDATE, INSERT, DELETE onTELEPONSISWAto KESISWAAN GRANT, SELECT, UPDATE, INSERT, DELETE on EMAILSISWA to KESISWAAN GRANT, SELECT on TAHUNAKADEMIKSISWA to KESISWAAN
d.
Hak Akses untuk Siswa/i GRANT, SELECT on SISWA to SISWA/I GRANT, SELECT on GURU to SISWA/I GRANT, SELECT on AGAMA to SISWA/I GRANT, SELECT on JADWALPELAJARANDETAILDETAIL to SISWA/I GRANT, SELECT on JADWALPELAJARANDETAIL to SISWA/I GRANT, SELECT on JADWALPELAJARAN to SISWA/I GRANT, SELECT on KELAS to SISWA/I GRANT, SELECT on MATAPELAJARAN to SISWA/I GRANT, SELECT on MATERI to SISWA/I GRANT, SELECT on NILAI to SISWA/I GRANT, SELECT on NILAIDETAIL to SISWA/I GRANT, SELECT on RUANG to SISWA/I GRANT, SELECT on UJIANDETAIL to SISWA/I GRANT, SELECT on UJIAN to SISWA/I
190 GRANT, SELECT on ABSENSI to SISWA/I GRANT, SELECT on JENISKELAMIN to SISWA/I GRANT, SELECT on KEWARGANEGARAAN to SISWA/I GRANT, SELECT on TAHUNAKADEMIKSISWA to SISWA/I GRANT, SELECT on TELEPONSISWA to SISWA/I GRANT, SELECT on EMAILSISWA to SISWA/I GRANT, SELECT on KELASSISWA to SISWA/I
e.
Hak Akses untuk GuruMatapelajaran GRANT, SELECT on GURU to GURUMATAPELAJARAN GRANT, SELECT on SISWA to GURUMATAPELAJARAN GRANT,
SELECT
on
JADWALPELAJARANDETAIL
to
JADWALPELAJARANHEADER
to
GURUMATAPELAJARAN GRANT,
SELECT
on
GURUMATAPELAJARAN GRANT, SELECT on KELAS to GURUMATAPELAJARAN GRANT, SELECT on MATAPELAJARAN to GURUMATAPELAJARAN GRANT,
SELECT,
INSERT,
UPDATE,
DELETE
on
MATERI
to
NILAI
to
GURUMATAPELAJARAN GRANT,
SELECT,
INSERT,
UPDATE,
DELETE
on
GURUMATAPELAJARAN GRANT, SELECT, INSERT, UPDATE, DELETE on NILAIDETAIL to GURUMATAPELAJARAN
191 GRANT,
SELECT,
INSERT,
UPDATE,
DELETE
on
JADWALPELAJARANDETAILDETAIL to GURUMATAPELAJARAN GRANT, SELECT on RUANG to GURUMATAPELAJARAN GRANT, SELECT on UJIANDETAIL to GURUMATAPELAJARAN GRANT, SELECT on UJIANHEADER to GURUMATAPELAJARAN GRANT, SELECT on SISWA to GURUMATAPELAJARAN GRANT, SELECT on AGAMA to GURUMATAPELAJARAN GRANT, SELECT on RUANG to GURUMATAPELAJARAN GRANT, SELECT on JENISKELAMIN to GURUMATAPELAJARAN GRANT, SELECT on KEWARGANEGARAAN to GURUMATAPELAJARAN GRANT,
SELECT
on
TAHUNAKADEMIKSISWA
GURUMATAPELAJARAN f.
Hak Akses untuk Wali Kelas GRANT, SELECT on NILAI to WALIKELAS GRANT, SELECT on NILAIDETAIL to WALIKELAS GRANT, SELECT on ABSENSI on WALIKELAS GRANT, SELECT on SISWA on WALIKELAS GRANT, SELECT on KELAS on WALIKELAS GRANT, SELECT on KELASSISWA on WALIKELAS GRANT, SELECT on TELEPONSISWA on WALIKELAS GRANT, SELECT on EMAILSISWA on WALIKELAS
g.
Hak Akses untuk Guru Piket GRANT, INSERT on ABSENSI to GURUPIKET
to
192 GRANT, SELECT on SISWA to GURUPIKET
3.7. Perancangan Aplikasi Berikut ini merupakan perancangan aplikasi yang didalamnya terdapat rancangan struktur menu, STD (State Transaction Diagram), perancangan layar, perancangan laporan, perancangan proses.
3.7.1 Perancangan Menu 1. Struktur Menu pada Siswa/i
Gambar 34 Struktur Menu Pada Siswa/i
193 2. Struktur Menu pada Guru Mata Pelajaran
Gambar 35 Struktur Menu pada Guru Mata Pelajaran
194 3. Struktur Menu pada Kesiswaan
Gambar 36Struktur Menu pada Kesiswaan
195
4. Struktur Menu pada Kurikulum
Gambar 37Struktur Menu pada Kurikulum
196 5. Struktur Menu pada Wali Kelas
Gambar 38 Struktur Menu pada Wali Kelas
6. Struktur Menu pada Guru Piket
Gambar 39 Struktur Menu pada Guru Piket
197
3.7.2 State Diagram (STD) a. State Diagram (STD) pada Siswa/i 1. STD pada Menu Siswa/i
Gambar 40 STD pada Menu Siswa
198 2. STD Login
Gambar 41 STD Menu Siswa/i
3. STD Menu Profil
Gambar 42 STD Menu Profil
199 4. STD Menu Kelas Saya
Gambar 43STD Menu Kelas Saya
200 5. STD Menu Nilai
Gambar 44STD Menu Nilai
6. STD Menu Absensi
Gambar 45STD Menu Absensi
201 b. State Diagram pada Guru Mata Pelajaran 1. STD pada Menu Guru Mata Pelajaran
Gambar 46STD pada Menu Guru Mata Pelajaran
202 2. STD Login
Gambar 47STD Login
3. STD Profil
Gambar 48STD Profil
203
4. STD Kelas Saya
Gambar 49 STD Kelas Saya
204
5. STD Nilai
Gambar 50STD Nilai
205 c. State Diagram pada Kesiswaan 1. STD Login
Login salah Tampilkan kembali halaman index
INDEX
Login berhasil Masuk kehalaman awal
HALAMAN AWAL
Gambar 51 STD Login
2. STD Menu pada Kesiswaan
Gambar 52 STD Menu pada Kesiswaan
206 3. STD Tambah
Gambar 53 STD Tambah
4. STD Data Siswa
Gambar 54 STD Data Siswa
207 d. State Diagram pada Kurikulum 1. STD pada Menu Kurikulum
Gambar 55 STD pada Menu Kurikulum
208 2. STD Login
Gambar 56 STD Login
3. STD Lihat & Ubah Guru
Gambar 57 STD Lihat & Ubah Guru
209 4. STD Lihat & Ubah Tahun Akademik
Gambar 58 STD Lihat & Ubah Tahun Akademik
5. STD Lihat & Ubah Jadwal
Gambar 59STD Lihat & Ubah Jadwal
210 6. STD Sub Menu Jadwal (Pelajaran)
Gambar 60 STD Sub Menu Jadwal Pelajaran
7. STD Sub Menu Jadwal (Ujian)
Gambar 61 STD Sub Menu Jadwal Ujian
211 8. STD Lihat & Ubah Mata Pelajaran
Gambar 62 STD Lihat & Ubah Mata Pelajaran
9. STD Lihat & Ubah Kelas
Gambar 63 Lihat & Ubah Kelas
212 10. STD Lihat & Ubah Ruang
Gambar 64 Lihat & Ubah Ruang
11. STD Tambah Mata Pelajaran
Gambar 65 STD Tambah Mata Pelajaran
213 12. STD Tambah Guru
Gambar 66 STD Tambah Guru
13. STD Tambah Ruang
Gambar 67 STD Tambah Ruang
214 14. STD Tambah Jadwal
Gambar 68 STD Tambah Jadwal
215 15. STD Tambah Tahun Akademik
Gambar 69 STD Tambah Tahun Akademik
16. STD Tambah Kelas
Gambar 70 STD Tambah Kelas
216 e. State Diagram pada Wali Kelas 1. STD Login
Gambar 71 STD Login
217 2. STD Menu pada Wali Kelas
Gambar 72 STD pada Wali Kelas
218
3. STD Absensi
Gambar 73 STD Absensi
4. STD Siswa/i
Gambar 74 STD Siswa/i
5. STD Nilai
Gambar 75STD Nilai
219
f. State Diagram pada Guru Piket 1. STD Login
Gambar 76STD Login Guru Piket
2. STD pada Menu Guru Piket
Gambar 77STD Menu Guru Piket
220
3.7.3 Pseudocode Pseudocode Layar Awal Awal .
Tampilkan halaman login Jika kode pengguna, kata sandi valid maka Tampilkan halaman menu Selain itu Tampilkan pesan kesalahan Akhir jika
Akhir a. Pseudocode pada Siswa 1. Halaman menu siswa Awal Tampilkan halaman awal Jika siswa mengklik menu ‘profil saya’ maka tampilkan halaman profil saya ‘kelas saya-> jadwal pelajaran’ maka tampilkan halaman jadwal pelajaran ‘kelas saya-> jadwal ujian’ maka tampilkan Halaman jadwal ujian ‘nilai’ maka tampilkan Halaman nilai
221 ‘absensi’ maka tampilkan Halaman absensi ‘keluar’ maka tampilkan Halaman index Akhir jika Akhir 2. Halaman profil siswa Awal Tampilkan halaman awal Jika siswa mengklik menu ‘profil saya’ maka tampilkan halaman profil siswa Akhir jika Akhir 3. Halaman kelas saya Awal Tampilkan halaman awal Jika siswa mengklik menu ‘kelas saya-> jadwal pelajaran’ maka tampilkan Halaman jadwal pelajaran Jika siswa mengklik ‘klik untuk materi’ maka tampilkan Halaman materi ‘kelas saya-> jadwal ujian’maka tampilkan Halaman pilih tahun akademik
222 Jika pilih tahun akademik maka Tampilkan Halaman pilih jenis ujian Jika pilih jenis ujian maka Tampilkan Halaman jadwal ujian Akhir jika Akhir 4. Halaman nilai Awal Tampilkan halaman awal Jika siswa mengklik menu ‘nilai’ Maka tampilkan halaman tahun akademik nilai Jika pilih tahun akademik maka tampilkan Halaman nilai Akhir jika Akhir 5. Halaman absensi Awal Tampilkan halaman awal Jika siswa mengklik menu ‘absensi’ Maka tampilkan Halaman absensi Akhir jika Akhir
223 b. Pseudocode pada Guru Mata Pelajaran 1. Halaman menu guru mata pelajaran Awal Tampilkan halaman awal Jika guru mata pelajaran mengklik menu ‘profil saya’ maka tampilkan Halaman profil saya ‘kelas saya’ maka tampilkan Halaman tahun akademik Jika guru mata pelajaran pilih tahun akademik maka Tampilkan halaman jadwal pelajaran Jika guru mata pelajaran pilih ‘klik untuk materi’ maka Tampilkan halaman materi ‘nilai->lihat nilai’ maka tampilkan Halaman tahun akademik Jika guru mata pelajaran pilih tahun akademik maka Tampilkan halaman kelas ajar Jika guru mata pelajaran pilih kelas ajar maka Tampilkan halaman nilai ‘nilai->tambah nilai’ maka tampilkan Halaman tahun akademik Jika guru mata pelajaran pilih tahun akademik maka Tampilkan halaman kelas ajar Jika guru mata pelajaran pilih kelas ajar maka
224 Tampilkan halaman form tambah nilai ‘keluar’ maka tampilkan Halaman index Akhir jika Akhir 2. Halaman profil Awal Tampilkan halaman awal Jika guru mata pelajaran mengklik menu ‘profil saya’ maka tampilkan halaman profil siswa Akhir jika Akhir 3. Halaman kelas saya Awal Tampilkan halaman awal Jika guru mata pelajaran mengklik menu ‘kelas saya’ maka tampilkan Halaman tahun akademik Jika guru mata pelajaran pilih tahun akademik maka Tampilkan halaman jadwal pelajaran Jika guru mata pelajaran pilih ‘klik untuk materi’ maka Tampilkan halaman materi Akhir jika
225 4. Halaman nilai Awal Tampilkan halaman awal Jika guru mata pelajaran mengklik menu ‘nilai->lihat nilai’ maka tampilkan Halaman tahun akademik Jika guru mata pelajaran pilih tahun akademik Tampilkan halaman kelas ajar Jika guru mata pelajaran pilih kelas ajar Tampilkan halaman nilai ‘nilai->tambah nilai’ maka tampilkan Halaman tahun akademik Jika guru mata pelajaran pilih tahun akademik Tampilkan halaman kelas ajar Jika guru mata pelajaran pilih kelas ajar Tampilkan halaman form tambah nilai Akhir jika Akhir c. Pseudocode pada Kesiswaan 1. Halaman menu kesiswaan Awal Tampilkan halaman awal Jika kesiswaan mengklik menu ‘data siswa’ maka tampilkan
226 Halaman tahun akademik Jika kesiswaan pilih tahun akademik maka Tampilkan halaman kelas ajar Jika kesiswaan pilih kelas ajar Tampilkan halaman daftar siswa Jika kesiswaan pilih ‘klik untuk profil’ maka Tampilkan profil siswa ‘tambah siswa’ maka tampilkan Halaman form tambah siswa ‘absensi->lihat absensi’ maka tampilkan Halaman tahun akademik Jika kesiswaan pilih tahun akademik maka Tampilkan halaman kelas Jika kesiswaan pilih kelas maka Tampilkan halaman absensi siswa ‘absensi->tambah absensi’ maka tampilkan Halaman form tambah absensi Akhir jika Akhir 2. Halaman data siswa Awal Tampilkan halaman awal Jika kesiswaan mengklik menu ‘data siswa’ maka tampilkan
227 Halaman tahun akademik Jika kesiswaan pilih tahun akademik maka Tampilkan halaman kelas ajar Jika kesiswaan pilih kelas ajar Tampilkan halaman daftar siswa Jika kesiswaan pilih ‘klik untuk profil’ maka Tampilkan profil siswa Akhir jika Jikakesiswaan pilih ‘ubah’ maka Tampilkan form ubah Jika kesiswaan klik tombol ‘ubah’ Simpan data siswa kedalam basis data Selain itu Tampilkan halaman sebelumnya Akhir jika Jika kesiswaan pilih ‘hapus’ Hapus data siswa di tampilan daftar siswa Selain itu Tampilkan halaman daftar siswa Akhir jika Akhir jika Akhir
228 3. Halaman tambah siswa awal tampilkan halaman awal jika kesiswaan mengklik menu ‘tambah siswa’ maka tampilkan Halaman form tambah siswa Jika kesiswaan klik tombol ‘tambah’ maka Simpan data siswa ke dalam basis data Selain itu Tampilkan halaman sebelumnya Akhir jika Akhir 4. Halaman absensi Awal tampilkan halaman awal ‘absensi lihat absensi’ maka tampilkan Halaman tahun akademik Jika kesiswaan pilih tahun akademik maka Tampilkan halaman kelas Jika kesiswaan pilih kelas maka Tampilkan halaman absensi siswa ‘absensitambah absensi’ maka tampilkan Halaman form tambah absensi Jika kesiswaan klik tombol ‘tambah’ maka
229 Simpan data absensi ke dalam basis data Selain itu Tampilkan halaman sebelumnya Akhir jika Akhir jika Akhir d. Pseudocode pada Kurikulum 1. Halamanmenu halaman kurikulum Awal Tampilkan halaman awal Jika kurikulum mengklik menu ‘lihat&ubah guru’ maka akan Tampilkan daftar guru ‘lihat&ubahtahun akademik’ maka akan Tampilkan daftar tahun akademik ‘lihat&ubah jadwal pelajaran’ maka akan Tampilkan daftar tahun akademik Jika kesiswaan pilih tahun akademik maka Tampilkan daftar kelas Jika kesiswaan pilih kelas maka Tampilkan jadwal pelajaran ‘lihat&ubah jadwal ujian’ maka akan Tampilkan daftar tahun akademik Jika kesiswaan pilih tahun akademik maka
230 Tampilkan daftar kelas dan jenis ujian Jika kesiswaan pilih kelas dan jenis ujian Tampilkan jadwal ujian ‘lihat&ubah mata pelajaran’ maka akan Tampilkan daftar mata pelajaran ‘lihat&ubah ruang’ maka akan Tampilkan daftar ruang ‘lihat&ubah kelas´maka akan Tampilkan tahun akademik Jika kesiswaan pilih tahun akademik maka Tampilkan daftar kelas ’tambah guru’ maka akan Tampilkan form tambah guru ’tambah tahun akademik’ maka akan Tampilkan form tahun tahun akademik ’tambah jadwal pelajaran’ maka akan Tampilkan daftar tahun akademik Jika kurikulum memilih tahun akademik Tampilkan daftar kelas Jika kurikulum memilih kelas maka akan Tampilkan jadwal pelajaran detail ’tambah jadwal ujian’ maka akan Tampilkan daftar tahun akademik Jika kurikulum memilih tahun akademik
231 Tampilkan form tambah ujian Jika mengisi form tambah ujian Tampilkan form tambah jadwal ujian detail ’tambah mata pelajaran’ maka akan Tampilkan form tambah mata pelajaran ’tambah ruang’ maka akan Tampilkan form tambah ruang ’tambah kelas’ maka akan Tampilkan form tambah kelas ’tambah kelas siswa’ maka akan Tampilkan daftar siswa Akhir jika Akhir 2. Halamanlihat & ubah guru Awal Tampilkan halaman awal Jika kurikulum klik menu ‘lihat&ubah guru’ maka akan Tampilkan halaman daftar guru Jika kurikulum pilih ‘profil’ maka akan Tampilkan profil guru Jika kurikulum pilih ‘ubah’ maka akan Tampilkan form ubah Jika klik ‘ubah’ maka akan
232 Simpan data guru ke dalam basis data Jika kurikulum pilih ‘hapus’ maka akan Tampilkan halaman daftar guru setelah dihapus Akhir jika Akhir 3. Halaman lihat & ubah kelas Awal Tampilkan halaman awal Jika kurikulum pilih menu ‘lihat & ubah kelas’ maka akan Tampilkan halaman daftar tahun akademik Jikakurikulum pilih tahun akademik maka Tampilkan daftar kelas Jika pilih ‘ubah’ maka Tampilkan form ubah Jika klik ubah maka Simpan data ke dalam basis data Selain itu Kembali kehalaman sebelumnya Akhir jika Jika pilih ‘hapus’ maka Kembali ke halaman daftar kelas Akhir jika Akhir
233
4. Halamanlihat & ubah mata pelajaran Awal Tampilkan halaman awal Jika kurikulum klik menu ‘lihat & ubah mata pelajaran’ maka tampilkan Halaman daftar mata pelajaran Pilih ‘ ubah’ maka Tampilkan form ubah mata pelajaran Klik ‘ ubah’ maka Simpan data ke dalam basis data Selain itu Kembali ke menu sebelumnya Klik ‘ hapus’ maka Masuk ke halaman daftar mata pelajaran Akhir jika Akhir 5. Halamanlihat & ubah jadwal pelajaran Awal Tampilkan halaman awal Jika kurikulum mengklik menu ‘Lihat&ubah jadwal pelajaran’ maka akan Tampilkan halaman tahun akademik
234 Jika pilih tahun akademik maka Tampilkan daftar kelas Jika klik ‘klik untuk detail’ maka Tampilkan jadwal ujian Pilih ‘ubah’ maka Tampilkan form ubah jadwal pelajaran Klik ubah maka Simpan data ke dalam basis data Selain itu Kembali kehalaman sebelumnya Pilih ‘hapus’ maka Tampilkan halaman sebelumnya Akhir jika Akhir 6. Halamanlihat & ubah jadwal ujian Awal Tampilkan halaman awal Jika kurikulum mengklik menu ‘Lihat&ubah jadwal ujian’ maka akan Tampilkan halaman tahun akademik Jika pilih tahun akademik maka Tampilkan jenis ujian Jika klik ‘klik untuk detail’ maka Tampilkan jadwal ujian
235 Pilih ‘ubah’ maka Tampilkan form ubah jadwal ujian Klik ubah maka Simpan data ke dalam basis data Selain itu Kembali kehalaman sebelumnya Pilih ‘hapus’ maka Tampilkan halaman sebelumnya Akhir jika Akhir 7. Halaman lihat & ubah ruang Awal Tampilkan halaman awal Jika kurikulum klik menu ‘lihat & ubah ruang’ maka tampilkan Halaman daftar ruang Pilih ‘ ubah’ maka Tampilkan form ubah ruang Klik ‘ ubah’ maka Simpan data ke dalam basis data Selain itu Kembali ke menu sebelumnya Klik ‘ hapus’ maka Masuk ke halaman daftar ruang
236 Akhir jika Akhir
8. Halamanlihat & ubah tahun akademik Awal Tampilkan halaman awal Jika kurikulum klik menu ‘lihat & ubah tahun akademik’ maka tampilkan Halaman daftar tahun akademik Pilih ‘ ubah’ maka Tampilkan form ubah tahun akademik Klik ‘ ubah’ maka Simpan data ke dalam basis data Selain itu Kembali ke menu sebelumnya Klik ‘ hapus’ maka Masuk ke halaman daftar tahun akademik Akhir jika Akhir
9. Halamantambah guru Awal Tampilkan halaman awal Jika kurikulum mengklik menu
237 ‘tambah guru’ maka akan Tampilkan form tambah guru Jika klik tambah maka Simpan data kedalam basis data Selain itu Kembali ke tampilan form tambah guru Akhir jika Akhir 10. Halaman tambah mata pelajaran Awal Tampilkan halaman awal Jika kurikulum mengklik menu ‘tambah mata pelajaran’ maka akan Tampilkan form tambah mata pelajaran Jika klik tambah maka Simpan data kedalam basis data Selain itu Kembali ke tampilan form tambah mata pelajaran Akhir jika Akhir
238 11. Halaman tambah kelas Awal Tampilkan halaman awal Jika kurikulum mengklik menu ‘tambah kelas’ maka akan Tampilkan form tambah kelas Jika klik tambah maka Simpan data kedalam basis data Selain itu Kembali ke tampilan form tambah kelas Akhir jika Akhir 12. Halamantambahjadwal pelajaran Awal Tampilkan halaman awal Jika kurikulum mengklik menu ‘tambahjadwal pelajaran’ maka akan Tampilkan daftar tahun akademik Jika pilih tahun akademik maka Tampilkan form jadwal pelajaran Jika klik lanjut maka Tampilkan form jadwal pelajaran detail Jika klik tambah Simpan data ke dalam basis data
239 Selain itu Kembali ke tampilan form jadwal pelajaran Akhir jika Akhir 13. Halaman tambah jadwal ujian Awal Tampilkan halaman awal Jika kurikulum mengklik menu ‘tambahjadwal ujian’ maka akan Tampilkan daftar tahun akademik Jika pilih tahun akademik maka Tampilkan form jadwal ujian Jika klik tambah maka Tampilkan form jadwal ujian detail Jika klik tambah Simpan data ke dalam basis data Selain itu Kembali ke tampilan form jadwal ujian Akhir jika Akhir 14. Halamantambah ruang Awal Tampilkan halaman awal Jika kurikulum mengklik menu
240 ‘tambahruang’ maka akan Tampilkan form tambah ruang Jika klik tambah maka Simpan data kedalam basis data Selain itu Kembali ke tampilan form tambah ruang Akhir jika Akhir 15. Halaman tambah tahun akademik Awal Tampilkan halaman awal Jika kurikulum mengklik menu ‘tambahtahun akademik’ maka akan Tampilkan form tambah tahun akademik Jika klik tambah maka Simpan data kedalam basis data Selain itu Kembali ke tampilan form tambah tahun akademik Akhir jika Akhir 16. Halamantambah kelas siswa Awal Tampilkan halaman awal Jika kurikulum mengklik menu
241 ‘tambahkelas siswa’ maka akan Tampilkan daftar kelas siswa Jika pilih kelas maka Tampilkan daftar siswa Jika klik simpan maka Simpan data kedalam basis data Selain itu Kembali ke tampilan form daftar siswa Akhir jika Akhir e. Pseudocode pada Wali Kelas 1. Halaman menu pada wali kelas Awal Tampilkan halaman awal Jika wali kelas mengklik menu ‘siswa’ maka akan tampilkan Halaman tahun akademik Jika wali kelas memilih tahun akademik maka Tampilkan halaman daftar siswa Jika wali kelas memilih nama siswa maka Tampilkan halaman profil siswa ‘nilai’ maka akan tampilkan Halaman tahun akademik Jika wali kelas memilih tahun akademik maka
242 Tampilkan halaman daftar siswa Jika wali kelas memilih nama siswa maka Tampilkan halaman nilai ‘absensi’ maka akan tampilkan Halaman absensi Akhir jika Akhir 2. Halaman siswa Awal tampilkan halaman awal jika wali kelas mengklik menu ‘siswa’ maka akan tampilkan Halaman tahun akademik Jika wali kelas memilih tahun akademik maka Tampilkan halaman daftar siswa Jika wali kelas memilih nama siswa maka Tampilkan halaman profil siswa Akhir jika Akhir 3. Halaman nilai Awal Tampilkan halaman awal Jika wali kelas mengklik menu ‘nilai’ maka akan tampilkan
243 Halaman tahun akademik Jika wali kelas memilih tahun akademik maka Tampilkan halaman daftar siswa Jika wali kelas memilih nama siswa maka Tampilkan halaman nilai Akhir jika Akhir 4. Halaman absensi Awal Tampilkan halaman awal Jika wali kelas mengklik menu ‘absensi’ maka akan tampilkan Halaman absensi Akhir jika Akhir f. Pseudocode pada Guru Piket 1.
Halaman menu pada guru piket Awal Tampilkan halaman awal Jika guru piket mengklik menu ‘tambah absensi’ maka akan Tampilkan form tambah absensi Akhir jika Akhir
244 2.
Halaman tambah absensi Awal Tampilkan halaman awal Jika guru piket mengklik menu ‘tambah absensi’ maka akan Tampilkan form absensi Jika mengklik ‘tambah’ maka Simpan data absensi kedalam basis data Selain itu Kembali ke menu sebelumnya Akhir jika Akhir
245
3.7.4 Perancangan Layar Rancangan Layar Awal (Index)
Gambar 78 Perancangan Layar Halaman Awal
246 a. Rancangan Layar untuk Siswa/i 1. Rancangan Layar Halaman Profil(Siswa/i)
Gambar 79 Rancangan Layar Halaman Profil Siswa/i (Siswa/i)
247 2. Rancangan Layar Halaman Tahun Akademik Nilai (Siswa/i)
Gambar 80Rancangan Layar Halaman Tahun Akademik Nilai (Siswa/i)
248 3. Rancangan Layar Halaman Tahun Akademik Ujian (Siswa/i)
Gambar 81Rancangan Layar Halaman Tahun Akademik Ujian (Siswa/i)
249 4. Rancangan Layar HalamanJadwal Pelajaran(Siswa/i)
Gambar 82 Rancangan Layar Halaman Jadwal Pelajaran (Siswa/i)
250 5. Rancangan Layar Halaman Materi (Siswa/i)
Gambar 83Rancangan Layar Halaman Materi (Siswa/i)
251 6. Rancangan Layar HalamanJenis Ujian(Siswa/i)
Gambar 84 Rancangan Layar Halaman Jenis Ujian (Siswa/i)
252 7. Rancangan Layar Halaman Jadwal Ujian (Siswa/i)
Gambar 85Rancangan Layar Halaman Jadwal Ujian (Siswa/i)
253 8. Rancangan Layar HalamanNilai(Siswa/i)
Gambar 86Rancangan Layar Halaman Nilai (Siswa/i)
254 9. Rancangan Layar HalamanAbsensi(Siswa/i)
Gambar 87Rancangan Layar Halaman Absensi (Siswa/i)
255 b. Rancangan Layar untuk Guru Mata Pelajaran 1. Rancangan Layar Halaman Profil(Guru)
Gambar 88Rancangan Layar Halaman Profil (Guru)
256 2. Rancangan Layar Halaman Kelas Saya(Tahun Akademik) Guru
Gambar 89Rancangan Layar Halaman Kelas Saya (Tahun Akademik) Guru
257 3. Rancangan Layar Halaman Kelas Saya(Guru)
Gambar 90Rancangan Layar Halaman Kelas Saya (Guru)
258 4. Rancangan Layar HalamanMateri(Guru)
Gambar 91Rancangan Layar Halaman Materi (Guru)
259 5. Rancangan Layar Halaman Tambah Materi(Guru)
Gambar 92Rancangan Layar Halaman Tambah Materi (Guru)
260 6. Rancangan Layar HalamanNilai(Tahun Akademik) Guru
Gambar 93 Rancangan Layar Halaman Nilai (Tahun Akademik) Guru
261 7. Rancangan Layar Halaman Nilai (Kelas Ajar) Guru
Gambar 94Rancangan Layar Halaman Nilai (Kelas Ajar) Guru
262 8. Rancangan Layar Halaman Nilai per Kelas(Guru)
Gambar 95Rancangan Layar Halaman Nilai per Kelas (Guru)
263 9. Rancangan Layar Halaman Tambah Nilai (Tahun Akademik) Guru
Gambar 96 Rancangan Tambah Nilai ( Tahun Akademik) Guru
264 10. Rancangan Layar Halaman Tambah Nilai (Kelas Ajar) Guru
Gambar 97 Rancangan Layar Halaman Tambah Nilai (Kelas Ajar) Guru
265 11. Rancangan Layar Halaman Tambah Nilai (Guru)
Gambar 98Rancangan Layar Halaman Tambah Nilai (Guru)
266 c. Kesiswaan 1. Rancangan Layar HalamanData Siswa/i (Kesiswaan)
Gambar 99Rancangan Layar Halaman Data Siswa/i (Kesiswaan)
267 2. Rancangan Layar HalamanKelas per Tahun Akademik(Kesiswaan)
Gambar 100Rancangan Layar Halaman Kelas per Tahun Akademik(Kesiswaan)
268 3. Rancangan Layar HalamanDaftar Siswa/i (Kesiswaan)
Gambar 101Rancangan Layar Halaman Daftar Siswa/i(Kesiswaan)
269 4. Rancangan Layar HalamanProfil Siswa/i (Kesiswaan)
Gambar 102Rancangan Layar Halaman Profil Siswa/i (Kesiswaan)
270 5. Rancangan Layar HalamanUbah Profil Siswa/i (Kesiswaan)
Gambar 103Rancangan Layar Halaman Ubah Profil Siswa/i (Kesiswaan)
271 6. Rancangan Layar Halaman Daftar Tahun Akademik Absensi (Kesiswaan)
Gambar 104Rancangan Layar Halaman Daftar Tahun Akademik Absensi (Kesiswaan)
272 7. Rancangan Layar Halaman Daftar Kelas per Tahun Akademik (Absensi) Kesiswaan
Gambar 105Rancangan Layar Halaman Daftar Kelas per Tahun Akademik (Absensi) Kesiswaan
273 8. Rancangan Layar Halaman Lihat Absensi (Kesiswaan)
Gambar 106Rancangan Layar Halaman Lihat Absensi (Kesiswaan)
274 9. Rancangan Layar Halaman Tambah Absensi (Kesiswaan)
Gambar 107Rancangan Layar Halaman Tambah Absensi (Kesiswaan)
275 10. Rancangan Layar Halaman Tambah Siswa/i (Kesiswaan)
Gambar 108Rancangan Layar Halaman TambahSiswa/i (Kesiswaan)
276 d. Kurikulum 1. Rancangan Layar HalamanLihatDaftar Guru
Gambar 109Rancangan Layar Halaman Daftar Guru (Kurikulum)
277 2. Rancangan Layar HalamanLihatProfil Guru
Gambar 110 Rancangan Layar Halaman Profil Guru
278 3. Rancangan Layar Halaman Ubah Profil Guru
Gambar 111Rancangan Layar Halaman Ubah Profil Guru
279 4. Rancangan Layar Halaman Lihat Jadwal Pelajaran1 (Kurikulum)
Gambar 112Rancangan Layar Halaman Lihat Jadwal Pelajaran (Tahun Akademik)Kurikulum
280 5. Rancangan Layar Lihat dan Ubah Halaman Lihat Jadwal Pelajaran 2
Gambar 113Rancangan Layar Lihat dan Ubah Halaman Lihat Jadwal Pelajaran 2
281 6. Rancangan Layar Lihat dan Ubah Halaman Jadwal Mata Pelajaran (Kurikulum)
Gambar 114 Rancangan Layar Lihat dan Ubah Halaman Jadwal Mata Pelajaran (Kurikulum)
282 7. Rancangan Layar Lihat dan Ubah Halaman Form Ubah Jadwal (Kurikulum)
Gambar 115 Rancangan Layar Lihat dan Ubah Halaman Form Ubah Jadwal (Kurikulum)
283 8. Rancangan Layar Lihat dan Ubah Halaman Ujian (Tahun Akademik) Kurikulum
Gambar 116 Rancangan Layar Lihat dan Ubah Halaman Ujian (Tahun Akademik) Kurikulum
284 9. Rancangan Layar Lihat dan Ubah Halaman Jadwal Ujian (Kelas) Kurikulum
Gambar 117Rancangan Layar Lihat dan Ubah Halaman Jadwal Ujian (Kelas) Kurikulum
285 10. Rancangan Layar Lihat dan Ubah Halaman Jadwal Ujian Detail (Kurikulum)
Gambar 118 Rancangan Layar Lihat dan Ubah Halaman Jadwal Ujian Detail (Kurikulum)
286 11. Rancangan Layar Lihat dan Ubah Halaman Form Jadwal Ujian (Kurikulum)
LOGO SEKOLAH
Lihat & Ubah
ALAMAT SEKOLAH
Tambah
Keluar
Ubah Jadwal Ujian Tahun Akademik Kelas
Mata Pelajaran
:
Ruang
:
Jam
:
Hari
:
UBAH
FOOTER
Gambar 119Rancangan Layar Lihat dan UbahHalaman Form Jadwal Ujian (Kurikulum)
287 12. Rancangan Layar Lihat dan Ubah Halaman Kelas (Tahun Akademik)Kurikulum
Gambar 120Rancangan Layar Lihat dan Ubah HalamanKelas (Tahun Akademik) Kurikulum
288 13. Rancangan Layar Lihat dan Ubah Daftar Kelas per Tahun Akademik
Gambar 121Rancangan Layar Lihat dan Ubah Daftar Kelas per Tahun Akademik
289 14. Rancangan Layar Lihat dan Ubah Halaman Form Ubah Kelas (kurikulum)
Gambar 122 Rancangan Layar Lihat dan Ubah Halaman Form Ubah Kelas (kurikulum)
290 15. Rancangan Layar Kelas Siswa
Gambar 123 Rancangan Layar Daftar Kelas (Kelas Siswa)
291 16. Rancangan Layar Daftar Siswa
Gambar 124Rancangan Layar TambahSiswa (Kelas Siswa)
292 17. Rancangan Layar Lihat dan Ubah Halaman Daftar Ruang (Kurikulum)
Gambar 125 Rancangan Layar Lihat dan Ubah Halaman Daftar Ruang (Kurikulum)
293 18. Rancangan Layar Lihat dan Ubah Halaman Form Ubah Ruang (Kurikulum)
Gambar 126Rancangan Layar Lihat dan Ubah Halaman Form Ubah Ruang (Kurikulum)
294 19. Rancangan Layar Lihat dan Ubah
Halaman Mata Pelajaran
(Kurikulum)
Gambar 127Rancangan Layar Lihat dan Ubah Halaman Mata Pelajaran (Kurikulum)
295 20. Rancangan Layar Lihat dan Ubah Halaman Form Ubah Mata Pelajaran (Kurikulum)
Gambar 128Rancangan Layar Lihat dan Ubah Halaman Form Ubah Mata Pelajaran (Kurikulum)
296 21. Rancangan Layar Lihat dan Ubah Halaman Tahun Akademik (Kurikulum)
Gambar 129Rancangan Layar Lihat dan Ubah Halaman Tahun Akademik (Kurikulum)
297 22. Rancangan Layar Lihat dan Ubah Halaman Form Ubah Tahun Akademik (Kurikulum)
Gambar 130Rancangan Layar Lihat dan Ubah Halaman Form Ubah Tahun Akademik (Kurikulum)
298 23. Rancangan Layar Lihat dan Ubah Halaman Tambah Guru (Kurikulum)
Gambar 131Rancangan Layar Lihat dan Ubah Halaman Tambah Guru (Kurikulum)
299 24. Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Pelajaran (Tahun Akademik) Kurikulum
Gambar 132 Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Pelajaran (Tahun Akademik) Kurikulum
300 25. Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Pelajaran (Kelas)Kurikulum
Gambar 133Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Pelajaran (Kelas)Kurikulum
301 26. Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Pelajaran Detail (Kurikulum)
LOGO SEKOLAH
Lihat & Ubah
ALAMAT SEKOLAH
Tambah
Keluar
Tambah Jadwal Pelajaran Detil Tahun Akademik : Kelas :
Mata Pelajaran
:
Ruang
:
Pengajar
:
Jam
:
Hari
: Tambah
FOOTER
Gambar 134 Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Pelajaran Detail (Kurikulum)
302 27. Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Ujian(Tahun Akademik) Kurikulum
Gambar 135 Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Ujian (Tahun Akademik) Kurikulum
303 28. Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Ujian (Kurikulum)
LOGO SEKOLAH
Lihat & Ubah
ALAMAT SEKOLAH
Tambah
Keluar
Tambah Ujian Tahun Akademik :
Kelas
:
Jenis Ujian
:
Tanggal Mulai
:
Tanggal Selesai
:
Tambah
FOOTER
Gambar 136Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Ujian (Kurikulum)
304 29. Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Ujian Detail (Kurikulum)
LOGO SEKOLAH
Lihat & Ubah
ALAMAT SEKOLAH
Tambah
Keluar
Tambah Ujian Detil Tahun Akademik : Kelas :
Mata Pelajaran
:
Ruang
:
Jam
:
Hari
:
Tambah
FOOTER
Gambar 137 Rancangan Layar Lihat dan Ubah Halaman Tambah Jadwal Ujian Detail (Kurikulum)
305 30. Rancangan Layar Lihat dan Ubah Halaman Tambah Kelas (Kurikulum)
Gambar 138 Rancangan Layar Lihat dan Ubah Halaman Tambah Kelas (Kurikulum)
306 31. Rancangan Layar Lihat dan Ubah Halaman Tambah Ruang (Kurikulum)
Gambar 139 Rancangan Layar Lihat dan Ubah Halaman Tambah Ruang (Kurikulum)
307 32. Rancangan Layar Lihat dan Ubah Halaman Tambah Mata Pelajaran (Kurikulum)
Gambar 140 Rancangan Layar Lihat dan Ubah Halaman Tambah Mata Pelajaran (Kurikulum)
308 33. Rancangan Layar Lihat dan Ubah Halaman Tambah Tahun Akademik (Kurikulum)
Gambar 141 Rancangan Layar Lihat dan Ubah Halaman Tambah Tahun Akademik (Kurikulum)
309 e. Wali Kelas 1. Rancangan Layar Halaman Siswa (Tahun Akademik) Wali Kelas
Gambar 142 Rancangan Layar Halaman Siswa (Tahun Akademik) Wali Kelas
310 2. Rancangan Layar Halaman Daftar Siswa/i (Wali Kelas)
Gambar 143Rancangan Layar Halaman Daftar Siswa/i (Wali Kelas)
311 3. Rancangan Layar Halaman Profil Siswa/i (Wali Kelas)
Gambar 144Rancangan Layar Halaman Profil Siswa/i (Wali Kelas)
312 4. Rancangan Layar Halaman Nilai (Tahun Akademik) Wali Kelas
Gambar 145 Rancangan Layar Halaman Nilai (Tahun Akademik) Wali Kelas
313 5. Rancangan Layar Halaman Nilai Siswa (Daftar Siswa) Wali Kelas
Gambar 146 Rancangan Layar Halaman Nilai Siswa (Daftar Siswa) Wali Kelas
314 6. Rancangan Layar Halaman Nilai Siswa/i (Wali Kelas)
Gambar 147Rancangan Layar Halaman Nilai Siswa/i (Wali Kelas)
315 7. Rancangan Layar Halaman Absensi (Tahun Akademik) Wali Kelas
Gambar 148 Rancangan Layar Halaman Absensi (Tahun Akademik) Wali Kelas
316 8. Rancangan Layar Halaman Daftar Absensi (Wali Kelas)
Gambar 149Rancangan Layar Halaman Daftar Absensi (Wali Kelas)
317 f. Guru Piket 1. Rancangan Layar Halaman Tambah Absensi (Guru Piket)
Gambar 150 Rancangan Layar Halaman Tambah Absensi (Guru Piket)