BAB 4 RANCANGAN S IS TEM YANG D IUS ULKAN
Setelah menganalisis permasalahan yang dihadapi perusahaan, maka diusulkan perlu adanya sistem baru. Sistem baru ini merupakan perubahan atau perbaikan dari sistem yang lama, yang dapat memecahkan masalah yang dihadapi perusahaan.
Sistem basis data untuk perancangan database pada SD Tarsisius II akan terbagi atas tiga tahapan prosedur, yaitu: 1. Perancangan database konseptual ( conceptual database design) 2. Perancangan database logikal ( logical database design) 3. Perancangan database fisikal ( physical database design)
4.1 Perancangan Sistem Basis Data 4.1.1 Perancangan Database Konseptual Pada tahapan perancangan basis data konseptual ini, perancangan basis data dipusatkan pada pemrosesan suatu model dari informasi yang akan digunakan dalam suatu organisasi, yang tidak tergantung pada segala pertimbangan fisikal. Berikut ini langkah-langkah dalam merancang basis data secara konseptual, antara lain:
61
62 4.1.1.1 Mengidentifikasi Tipe Entitas Tujuan dari langkah ini adalah untuk mengidentifikasi tipe entity. Tabel 4.1 merupakan tabel yang menjelaskan entity-entity yang menjadi kebutuhan perusahaan setelah melalui proses analisis sistem yang sedang berjalan, antara lain:
Tabel 4.1 Tabel Identifikasi Entitas Entity name Karyawan
Description Aliases Orang yang bekerja di Staf SD Tarsisius II Jakarta
Siswa
Orang yang belajar di Siswa SD Tarsisius II Jakarta
M ataPelajaran
M ata Pelajaran yang di ajarkan pada SD Tarsisius II Jakarta Silabus M enampung seluruh outline mata pelajaran sebagain panduan pengajaran StandarKompetensi Perincian tiap pelajaran yang dijabarkan pada silabus KompetensiDasar Keterangan yang lebih rinci yang harus dipenuhi dalam proses belajar-mengajar RPP
Acuan yang digunakan oleh guru untuk mengajar siswa
M ataPelajaran
Silabus
Occurence Setiap karyawan bekerja pada bagian masingmasing Setiap siswa menerima ilmu atau pelajaran dari guru Setiap mata pelajaran memiliki silabus Satu silabus untuk satu mata pelajaran
StandarKompetensi Semua standar kompetensi untuk satu silabus KompetensiDasar
RPP
Beberapa kompetensi dasar memiliki satu standar kompetensi Satu RPP untuk banyak pertemuan dalam kelas
63 Detail dari setiap pertemuan belajar mengajar yang dilakukan Jam sekolah, berupa hari apa saja dan jam berapa.
PertemuanBM
JadwalHarian
Jadwal harian yang berisi hari apa dan jam berapa kegiatan belajar mengajar diadakan
JadwalKelas
JadwalUjian
Jadwal diadakan ujian yang berisi kapan ujian, dengan mata pelajaran apa saja.
JadwalUjian
RaporBayangan
Suatu laporan penilaian pada pertengahan semester yang diberikan untuk siswa. Satu laporan penilaian pada akhir semester yang diberikan untuk siswa M erupakan materi yang di-upload oleh guru untuk menambah pemahaman siswa M erupakan pengategorian setiap forum diskusi M erupakan topik siskusi yang terdapat dalam forum.
RaporBayangan
PertemuanBM
JamSekolah
RaporAkhir
M ateri
Forum
Topik
JadwalSekolah
Setiap pertemuan belajar mengajar memiliki satu RPP. Setiap jadwl ujian maupun jadwal harian terhadap jam sekolah Setiap mata pelajaran memiliki jadwal harian. Setiap kelas siswa juga terdapat jadwal harian. Setiap mata pelajaran memiliki jadwal ujian. Setiap kelas siswa juga terdapat jadwal ujian. Satu rapor bayangan diterima oleh seorang siswa.
RaporAkhir
Satu rapor akhir diterima oleh seorang siswa.
M ateriTambahan
M ateri akan ada jia karyawan melakukan upload ke server. Setiap forum terdapat beberapa topik. Setiap siswa dan guru dapat membuat topik baru.
Forum
TopikForum
64 Post
M erupakan postingan diskusi yang terdapat dalam forum diskusi
PostForum
Setiap siswa dan guru dapat membuat post untuk me-reply postingan orang lain.
4.1.1.2 Mengidentifikasi Tipe Relasi Tujuan dari langkah ini adalah untuk mengidentifikasi relasi yang penting antara berbagai tipe entitas yang telah teridentifikasi. Tabel 4.2 merupakan tabel yang menjelaskan multiplicity dan relationship antar tabel.
Tabel 4.2 Identifikasi M ultiplicity Entity Name
Multiplicity
Relationship
Multiplicity
Entity Name
Siswa
1..1
M empunyai
0..*
RaporBayangan
Siswa
1..1
M empunyai
0..*
RaporAkhir
Karyawan
1..1
M engisi
0..*
RaporBayangan
Karyawan
1..1
M engisi
0..*
RaporAkhir
Karyawan
1..1
M embuat
0..*
RPP
PertemuanBM
1..*
M empunyai
1..1
RPP
Karyawan
1..1
M embuat
0..*
Silabus
Silabus
1..*
M engandung
1..1
M ataPelajaran
RPP
1..*
M engenai
1..1
M ataPelajaran
Karyawan
1..*
M engajar
0..*
M ataPelajaran
RaporBayangan
1..*
Berisi
1..*
M ataPelajaran
RaporAkhir
1..*
Berisi
1..*
M ataPelajaran
Karyawan
1..1
M eng-upload
0..*
M ateri
JadwalHarian
1..*
Berisi
1..1
JamSekolah
65 JadwalHarian
1..*
Berisi
1..1
M ataPelajaran
JadwalHarian
1..*
Berisi
1..1
Karyawan
JadwalUjian
1..*
Berisi
1..1
M ataPelajaran
M ateri
1..*
M engenai
1..1
M ataPelajaran
Silabus
1..1
M engandung
1..*
StandarKompetensi
StandarKompetensi 1..1
M engandung
1..*
KompetensiDasar
Siswa
0..1
M enjaga
0..*
Forum
Karyawan
0..1
M enjaga
0..*
Forum
Siswa
1..1
M emasukkan
0..*
Post
Karyawan
1..1
M emasukkan
0..*
Post
Siswa
1..1
M emasukkan
0..*
Topik
Karyawan
1..1
M emasukkan
0..*
Topik
Forum
1..1
M empunyai
0..*
Topik
Topik
1..1
M empunyai
1..*
Post
4.1.1.3 Identifikasi dan Asosiasi Atribut dengan Tipe Entitas atau Tipe Relasi Tujuan dari langkah ini adalah untuk menghubungkan atribut dengan entity atau tipe relationship yang sesuai. Tabel 4.3 menunjukan asosiasi atribut dengan entity atau tipe relationship Disini dapat dilihat entity name, atrributes, description, data type & length, nulls dan multi valued.
66 Tabel 4.3 Tabel Atribut-atribut Entity Entity Name
Atrributes
Description
Karyawan
KdKaryawan
NamaKaryawan
No induk karyawan Password yang digunakan karyawan untuk login Nama karyawan
PosisiKaryawan
Jabatan karyawan
KelasWali
Nama kelasnya apabila karyawan juga merupakan wali kelas Tanggal Lahir Varchar karyawan Alamat Karyawan Varchar (200) Nomor Telepon Integer Karyawan
Password
TanggalLahirKarya wan AlamatKar NoTelp
NoHP
RaporBayangan
KdRaporbayangan NamaKelas Semester
NamaKaryawan NamaSiswa TahunAjaran
Nomor Handphone Karyawan Kode rapor bayangan Kelas Siswa saat rapor di cetak Semester siswa pada saat rapor bayangan dicetak Nama Wali Kelas Nama Siswa Pemilik Rapor Tahun ajaran pada saat rapor
Data Type & Length Integer
Tidak
Multi Value Tidak
Varchar(5 0)
Tidak
Tidak
Varchar(1 00) Varchar(2 0) Varchar(1 0)
Tidak
Tidak
Tidak
Tidak
Ya
Tidak
Tidak
Tidak
Ya
Tidak
Ya
Tidak
Integer
Ya
Tidak
Integer
Tidak
Tidak
Varchar (4) Tinyint
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Varchar(1 00) Varchar(1 00) Varchar(1 0)
Doma in
Renta ng 1-2
Nulls
67
NamaM ataPelajaran
NilaiRB
Sakit Izin Alpha
RaporAkhir
KdRaporAkhir NamaKelas Semester NamaKaryawan NamaSiswa TahunAjaran
NamaM ataPelajaran
NilaiRA
Komentar
Sakit Izin
bayangan tersebut dibuat. Nama mata Pelajaran yang dinilai Nilai Rapor Bayangan Dari tiap mata pelajaran Jumlah sakit siswa Jumlah izin siswa Jumlah siswa tidak masuk tanpa keterangan Kode rapor akhir Kelas Siswa saat rapor di cetak Semester siswa pada rapor akhir Nama Wali Kelas Nama Siswa Pemilik Rapor Tahun ajaran pada saat rapor bayangan tersebut dibuat. Nama mata pelajaran yang dinilai Nilai Rapor Akhir dari tiap mata pelajaran Komentar dari wali kelas kepada murid Jumlah sakit siswa Jumlah izin siswa
Varchar(2 0)
Tidak
Tidak
Integer
Tidak
Tidak
Tinyint
Ya
Tidak
Tinyint Tinyint
Ya Ya
Tidak Tidak
Integer Varchar(4)
Tidak Tidak
Tidak Tidak
Tidak
Tidak
Varchar(1 00) Varchar(1 00) Varchar(1 0)
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Varchar(2 0)
Tidak
Tidak
Integer
Tidak
Tidak
Text
Ya
Tidak
Tinyint
Ya
Tidak
Tinyint
Ya
Tidak
Tinyint
Renta ng 1-2
68 Alpha
Siswa
KdSiswa Password
NamaSiswa NamaKelas TanggalLahirSiswa JenisKelaminSiswa
Alamat Siswa
NoTelp
Nomor telepon siswa Nomor Handphone siswa Kode mata pelajaran Nama mata pelajaran Nama karyawan yang mengajar mata pelajaran Kode untuk silabus Nama mata pelajaran Tingkatan kelas yang sesuai dengan silabus Untuk semester ke berapa silabus ini dibuat
KdM atapelajaran NamaM ataPelajaran NamaKaryawan
Silabus
Kelas siswa pada saat ini Tanggal lahir siswa Jenis kelamin siswa
AlamatSiswa
NoHP M ataPelajaran
Jumlah siswa tidak masuk tanpa keterangan No induk siswa Password yang digunakan siswa untuk login Nama siswa
KdSilabus NamaM ataPelajaran NamaKelas
Semester
Tinyint
Ya
Tidak
Integer Varchar(5 0)
Tidak Tidak
Tidak Tidak
Varchar(1 00) Varchar(4)
Tidak
Tidak
Tidak
Tidak
Varchar
Tidak
Tidak
Tidak
Tidak
Varchar (200) Integer
Ya
Tidak
Ya
Tidak
Integer
Ya
Tidak
Integer
Tidak
Tidak
Varchar(2 0) Varchar(1 00)
Tidak
Tidak
Tidak
Tidak
Integer
Tidak
Tidak
Varchar(2 0) Varchar(4)
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Char(1)
Tinyint
‘L’ atau ‘P’
Renta ng antara 1-2
69 NamaKaryawan
Nama Karyawan yang memasukkan silabus StandarKompete NoSK Nomor untuk nsi menunjukkan Standar Kompetensi ke berapa dalam silabus JudulStandarKompet Judul kompetensi ensi yang dibakukan yang harus dicapai oleh siswa KdSilabus Kode silabus yang dimiliki tiap standar kompetensi KompetensiDas NoKD Nomor untuk ar menunjukkan Kompetensi Dasar ke berapa untuk silabus NoSK Nomor standar kompetensi yang dimiliki tiap Kompetensi dasar JudulKompetensiDa Judul kompetensi sar dasar Indikator Syarat yang harus dipenuhi oleh siswa sebagai indikator bahwa siswa sudah mengerti PengalamanBelajar Pengalaman yang harus dipenuhi oleh siswa dalam kegiatan belajar mengajar
Varchar(1 00)
Tidak
Tidak
Integer
Tidak
Tidak
Varchar(2 0)
Tidak
Tidak
Integer
Tidak
Tidak
Integer
Tidak
Tidak
Integer
Tidak
Tidak
Varchar(2 0) Text
Tidak
Tidak
Tidak
Tidak
Text
Tidak
Tidak
70 Waktu
SumberBelajar
Penilaian
RPP
KdRPP
NamaKelas NamaKaryawan
NamaM ataPelajaran
Semester
Pertemuan Waktu
Indikator
TujuanPembelajaran
Perkiraan lama siswa mempelajari satu kompetensi dasar Rujukan, referensi atau literatur yang bisa digunakan Kriteria penilaian untuk menilai siswa Kode yang mengidentifikasi RPP secara unik Kelas para siswa Nama Karyawan yang memasukkan RPP Nama M ata pelajaran yang dimiliki RPP Semester yang dimiliki RPP
Pertemuan pengajaran Perkiraan lama siswa mempelajari materi tiap pertemuan Sub-M ateri yang harus dipelajari siswa tiap pertemuan Tujuan yang diinginkan setelah selesai melakukan pembelajaran
Varchar(2 0)
Tidak
Tidak
Text
Tidak
Tidak
Text
Tidak
Tidak
Integer
Tidak
Tidak
Varchar(4) Varchar(1 00)
Tidak Tidak
Tidak Tidak
Varchar(2 0)
Tidak
Tidak
Tidak
Tidak
Integer
Tidak
Tidak
Varchar(2 0)
Tidak
Tidak
Text
Tidak
Tidak
Text
Tidak
Tidak
Tinyint
Renta ng antara 1-2
71 JudulSK
PertemuanBM
Judul Standar kompetensi yang diinput saat membuat RPP JudulKD Judul kompetensi dasar yang diinput saat membuat RPP KegiatanPembelajar Kegiatan selama an proses belajarmengajar M etodePembelajaran M etode yang akan digunakan dalam pembelajaran SumberBelajar Rujukan, referensi atau literatur yang bisa digunakan KdPertemuanBM Kode yang mengidentifikasi pertemuan belajar-mengajar secara unik KdRPP Kode RPP yang digunakan tiap tingkatan kelas NamaM ataPelajaran Nama mata pelajaran yang diinput tiap pertemuan NamaKelas Nama kelas yang diajar saat pertemuan Pertemuan Pertemuan pengajaran KegiatanPembelajar Kegiatan selama an proses belajarmengajar Catatan Catatan yang
Varchar(2 00)
Tidak
Tidak
Varchar(2 00)
Tidak
Tidak
Text
Tidak
Tidak
Text
Tidak
Tidak
Text
Tidak
Tidak
Integer
Tidak
Tidak
Integer
Tidak
Tidak
Varchar(2 0)
Tidak
Tidak
Varchar(4)
Tidak
Tidak
Integer
Tidak
Tidak
Text
Tidak
Tidak
Text
Tidak
Tidak
72
JamSekolah
KdJamSekolah Hari
Jam
JadwalHarian
KdJadwalHarian NamaKelas Semester
NamaM ataPelajaran KdJamSekolah
NamaKaryawan
JadwalUjian
KdJadwalUjian NamaKelas Semester
NamaM ataPelajaran Tanggal Jam M ateri
KdM ateri JudulM ateri
dimasukkan oleh guru sebagai tambahan Kode Jam Sekolah Hari apa saja, sekolah berlangsung Berisi dari jam berapa hingga jam berapa. Kode Jadwal Harian Kelas para siswa Semester para siswa
M ata Pelajaran yang berlangsung M enjelaskan hari dan jam belajar tiap pelajaran Nama guru yang mengajar sesuai mata pelajarannya Kode jadwal ujian Kelas para siswa Semester para siswa
M ata Pelajaran yang berlangsung Tanggal Ujian Berlangsung Waktu Ujian Berlangsung Kode materi Judul materi
Integer
Tidak
Tidak
Varchar (10)
Tidak
Tidak
Varchar(1 5)
Tidak
Tidak
Integer
Tidak
Tidak
Varchar(4) Tinyint
Tidak Tidak
Tidak Tidak
Varchar(2 0) Integer
Tidak
Tidak
Tidak
Tidak
Varchar(1 00)
Tidak
Tidak
Integer Varchar(4) Tinyint
Tidak Tidak Tidak
Tidak Tidak Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak Tidak
Tidak Tidak
Varchar(3 0) Varchar (10) Varchar (10) Integer Varchar(1
Renta ng antara 1-2
Renta ng antara 1-2
73
NamaKelas
Deskripsi
Soal
NamaFile
NamaM ataPelajaran Tanggal Forum
KdForum
NamaForum DeskripsiForum
M oderator Topik
KdTopik
KdForum
JudulTopik
Kelas yang ditujukan untuk materi ini Deskripsi mengenai materi yang dibuat oleh guru Penanda bahwa materi yang diberikan oleh guru tersebut merupakan soal Nama file yang berisi materi yang di-upload oleh guru Nama mata pelajaran Tanggal materi tersebut di-upload Kode forum yang mewakili satu pembahasan forum Nama Forum Penjelasan mengenai forum yang bersangkutan Pengatur Forum
00) Varchar(4)
Tidak
Tidak
Text
Ya
Tidak
Tidak
Tidak
Varchar(1 00)
Tidak
Tidak
Varchar(3 0) Varchar(1 0) Integer
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Varchar(1 00) Varchar(5 00)
Tidak
Tidak
Tidak
Tidak
Varchar (50) Integer
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Char(1)
Kode Topik yang dibahas dalam suatu forum Kode Forum yang Integer berisi topik yang telah ditentukan Judul Topik yang Varchar(1
‘Y’ atau ‘T’
74
DeskripsiTopik
TanggalTopik
KdKaryawan
KdSiswa Post
KdPost
JudulTopik IsiPost TanggalPost
KdKaryawan
KdSiswa
akan ditampilkan di dalam forum Deskripsi mengenai topik tersebut Tanggal sewaktu siswa atau guru melakukan posting pada topik bersangkutan Kode Karyawan yang membuat topik Kode Siswa yang mebuat topik Kode post yang terdapat dalam sebuah topik Berisi Judul topik
00) Varchar(5 00)
Tidak
Tidak
Date
Tidak
Tidak
Integer
Ya
Tidak
Integer
Ya
Tidak
Integer
Tidak
Tidak
Varchar (100) Text
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Ya
Tidak
Ya
Tidak
Isi post yang dikirim Tanggal saat post Date tersebut dikirimkan Integer Kode Karyawan yang membalas posting Kode Siswa yang Integer membalas posting
4.1.1.4 Menentukan Domain Atribut Tujuan dari langkah ini adalah untuk menentukan domain dari atribut yang ada di dalam lokal konseptual data model. Untuk menentukan domain sudah dilakukan di langkah menentukan atribut
75 entitas di bagian 4.2.1.3 M engidentifikasian dan mengasosasikan atribut dengan entitas atau tipe relasi.
4.1.1.5 Menentukan Atribut Candidate Key dan Primary Key Tujuan dari langkah ini adalah untuk mengidentifikasi candidate key dari setiap tipe entity. Kemudian akan dipilih primary key – nya. Di Tabel 4.4 dapat dilihat entity dan primary key – nya.
Tabel 4.4 Tabel Identifikasi Candidate dan Primary Key Entity Name Karyawan
Candidate Key KdKaryawan
Primary Key KdKaryawan
NamaKaryawan RaporBayangan
KdRaporBayangan
KdRaporBayangan
RaporAkhir
KdRaporAkhir
KdRaporAkhir
Siswa
KdSiswa
KdSiswa
NamaSiswa M ataPelajaran
KdM ataPelajaran
KdM ataPelajaran
NamaM ataPelajaran Silabus
KdSilabus
KdSilabus
StandarKompetensi
NoSK
NoSK
JudulStandarKompetensi KompetensiDasar
NoKD
NoKD
JudulKompetensiDasar RPP
KdRPP
KdRPP
76 PertemuanBM
KdPertemuanBM
KdPertemuanBM
JamSekolah
KdJamSekolah
KdJamSekolah
JadwalHarian
KdJadwalHarian
KdJadwanHarian
JadwalUjian
KdJadwalUjian
KdJadwalUjian
M ateri
KdM ateri
KdM ateri
JudulM ateri Forum
KdForum
KdForum
NamaForum Topik
KdTopik
KdTopik
Post
KdPost
KdPost
77 4.1.1.6 Diagram Entity Relationship
Gambar 4.1 Diagram ER S istem Menejemen Pembelajaran S D TARS IS IUS II
78 4.1.1.7 Memeriksa Redundansi Pada Model Tujuan dari langkah ini adalah untuk memeriksa model apakah terdapat redundasi atau tidak. Pada langkah ini terdapat 2 tahap yaitu : 1. M emeriksa kembali hubungan one to one (1:1) Pada bagian ini tidak ada entitas yang memiliki hubungan one to one, setelah dilakukan pengecekan kembali tidak terdapat dua entitas yang merepresentasikan objek yang sama di perusahaan. 2. M enghilangkan relationship yang redundan Pada bagian ini tidak ada relationship yang redundan karena informasi yang sama tidak bisa didapatkan dari relationship yang berbeda sehingga tidak perlu dilakukan penghilangan relationship yang redundan.
4.1.1.8 Validasi Model Lokal Konseptual terhadap Transaksi Pengguna Tujuan langkah ini adalah untuk memastikan bahwa model lokal konseptual mendukung transaksi yang diperlukan oleh view. M aka untuk memastikan apa modelnya dapat mendukung transaksi, digunakan dua pendekatan yaitu : 1. M endeskripsikan transaksi 2. M enggambarkan transaction pathways pada ER diagram
79 Berikut adalah transaksi yang ada : a.
M elihat daftar data siswa
b.
M elihat daftar data guru
c.
M elihat mata pelajaran yang diajarkan guru
d.
M elihat Jadwal Harian tiap siswa.
e.
M elihat Jadwal M engajar guru
f.
M elihat Jadwal Ujian tiap siswa
g.
M emasukkan nilai RaporBayangan oleh Wali kelas
h.
M emasukkan nilai RaporAkhir oleh Wali kelas
i.
M elihat dan memasukkan RPP
j.
M elihat dan M emasukkan Silabus
k.
M elihat daftar nilai rapor bayangan sesuai dengan siswa bersangkutan
l.
M elihat daftar nilai rapor akhir sesuai dengan siswa bersangkutan
m. M engunduh materi tambahan n.
M engunggah materi tambahan
o.
M emasukkan catatan kegiatan belajar mengajar tiap pertemuan
p.
M elihat daftar topik sesuai forum
q.
M elihat postingan sesuai dengan topik
80 Berikut adalah ER Diagram Konseptual dengan penambahan transaction pathways :
Gambar 4.2 Validasi Model Terhadap Transaksi Pengguna
81 4.1.2 Perancangan Database Logical Pada tahap ini perancangan basis data logikal sudah memperhatikan normalisasi dan model atau hirarkinya, tetapi dalam tahap ini masih belum memperhatikan hardware / software yang akan digunakan. Berikut merupakan langkah-langkah untuk merancang basis data logikal : 4.1.2.1 Menghilangkan Fitur-Fitur yang Tidak Kompatibel a. Menghilangkan Tipe Relasi Biner Many-To-Many (*:*)
Gambar 4.3 Relasi *:* antara RaporAkhir dan MataPelajaran
Gambar 4.4 Relasi *:* antara RaporBayangan dan MataPelajaran
82
Gambar 4.5 Relasi *:* antara Karyawan dan MataPelajaran
2. Menghilangkan many-to-many ( * : * ) recursive relationship Dalam ER Diagram yang telah dibuat tidak terdapat relationship many-to-many recursive sehingga langkah ini tidak perlu dilakukan.
3. Menghilangkan tipe relasi yang kompleks Dalam ER Diagram yang telah dibuat tidak terdapat complex relationship sehingga langkah ini tidak perlu dilakukan.
4. Menghilangkan atribut multi-valued Dalam ER Diagram yang telah dibuat tidak terdapat atirbut multi-valued atau tidak ada atribut yang nilainya berisi lebih dari 1 sehingga langkah ini tidak perlu dilakukan.
83 4.1.2.2 Penentuan Relasi untuk Model Logikal Data Lokal a. Identifikasi Strong Entity Types Karyawan
(KdKAryawan,
PosisiKaryawan,
Password
KelasWali,
NamaKaryawan,
TanggalLahirKaryawan,
Alamatkar, NoTelp ,NoHP) Primary Key KdKaryawan
RaporBayangan (KdRaporBayangan, NamaKelas,
Semester,
NamaKaryawan, NamaSiswa, TahunAjaran, NamaM ataPelajaran, NilaiRB, Sakit,Izin,Alpha) Primary Key KdRaporBayangan
RaporAkhir
(KdRaporAkhir,
NamaKelas,
Semester,
NamaKaryawan, NamaSiswa, TahunAjaran, NamaM ataPelajaran, NilaiRA, Komentar, Sakit, Izin, Alpha) Primary Key KdRaporAkhir
Siswa
(KdSiswa,
Password,
NamaSiswa,
NamaKelas,
TanggalLahirSiswa, JenisKelaminSiswa, AlamatSiswa, NoTelp, NoHP) Primary Key KdSiswa MataPelajaran
(KdM ataPelajaran,
NamaKaryawan) Primary Key KdM ataPelajaran
NamaM ataPelajaran,
84 Silabus
(KdSilabus,
NamaKaryawan,
NamaM ataPelajaran,
NamaKelas, Semester) Primary Key KdSilabus S tandarKompetensi
(NoSK,
JudulStandarKompetensi,
KdSilabus) Primary Key NoSK
KompetensiDasar
(NoKD,NoSK,
JudulKompetensiDasar,
Indikator, PengalamanBelajar, Waktu, SumberBelajar, Penilaian) Primary Key NoKD
RPP (KdRPP, NamaKelas, NamaKaryawan, NamaM ataPelajaran, Semester, Pertemuan, Waktu, Indikator, TujuanPembelajaran, JudulSK,
KegiatanPembelajaran,
M etodePembelajaran,
JudulKD, SumberBelajar) Primary Key KdRPP
PertemuanBM (KdPertemuanBM , KdRPP, NamaM ataPelajaran, NamaKelas, Pertemuan, KegiatanPembelajaran, Catatan) Primary Key KdPertemuanBM
JamSekolah (KdJamSekolah, Hari, Jam) Primary Key KdJamSekolah
85 JadwalHarian
(KdJadwalHarian,
NamaKelas,
Semester,
NamaM ataPelajaran, Tanggal,Jam, NamaKaryawan) Primary Key KdJadwalHarian
JadwalUjian
(KdJadwalUjian,
NamaKelas,
Semester,
NamaM ataPelajaran, Tanggal, Jam) Primary Key KdJadwalUjian
Materi (KdM ateri, JudulM ateri, NamaKelas, Deskripsi, Soal, NamaFile, NamaM ataPelajaran, Tanggal) Primary Key KdM ateri
Forum (KdForum, NamaForum, DeskripsiForum, M oderator) Primary Key KdForum
Topik
(KdTopik,
KdForum,
JudulTopik,
DeskripsiTopik,
TanggalTopik, KdSiswa, KdKaryawan) Primary Key KdTopik
Post (KdPost,JudulTopik, KdKaryawan) Primary Key KdPost
IsiPost, TanggalPost, KdSiswa,
86 b. Identifikasi Weak Entity Types DRaporAkhir (NamaM ataPelajaran, NilaiRA) Primary Key tidak ada (belum diidentifikasikan)
DRaporBayangan (NamaM ataPelajaran, NilaiRB) Primary Key tidak ada (belum diidentifikasikan) KaryawanMataPelajaran () Primary Key tidak ada (belum diidentifikasikan)
c. Pembentukan relasi biner One-to-many (1:*) 1. Relasi antara S iswa dan RaporBayangan
M enempatkan atribut KdSiswa pada entitas RaporBayangan
Siswa (KdSiswa, Password, NamaSiswa, NamaKelas, TanggalLahirSiswa, JenisKelaminSiswa, AlamatSiswa, NoTelp, NoHP) Primary Key KdSiswa
RaporBayangan (KdRaporBayangan, NamaKelas, Semester NamaKaryawan,*KdSiswa, TahunAjaran, NamaM ataPelajaran, NilaiRB, Sakit,Izin,Alpha) Primary Key KdRaporBayangan Foreign Key KdSiswa references Siswa(KdSiswa)
87 2. Relasi antara S iswa dan RaporAkhir
M enempatkan atribut KdSiswa pada entitas RaporAkhir
Siswa (KdSiswa, Password, NamaSiswa, NamaKelas, TanggalLahirSiswa, JenisKelaminSiswa, AlamatSiswa, NoTelp, NoHP) Primary Key KdSiswa
RaporAkhir (KdRaporAkhir, Kelas, Semester, NamaKaryawan,*KdSiswa, TahunAjaran, NamaM ataPelajaran, NilaiRA, Sakit, Izin, Alpha) Primary Key KdRaporAkhir Foreign Key KdSiswa references Siswa(KdSiswa)
3. Relasi antara Karyawan dan RaporBayangan
M enempatkan atribut KdKaryawan pada entitas RaporBayangan
Karyawan (KdKAryawan, Password, NamaKaryawan, PosisiKaryawan, KelasWali,TanggalLahirKaryawan,Alama tkar,Telpkar) Primary Key KdKaryawan
RaporBayangan (KdRaporBayangan, NamaKelas, Semester,*KdKaryawan, *KdSiswa TahunAjaran, NamaM ataPelajaran, NilaiRB, Sakit,Izin,Alpha Primary Key KdRaporBayangan Foreign Key KdSiswa references Siswa(KdSiswa) Foreign Key KdKaryawan references Karyawan(KdKaryawan
88 4. Relasi antara Karyawan dan RaporAkhir
M enempatkan atribut KdKaryawan pada entitas RaporAkhir
Karyawan (KdKAryawan, Password, NamaKaryawan, PosisiKaryawan, KelasWali,tanggalLahirKaryawanAlamat kar,Telpkar) Primary Key KdKaryawan
RaporAkhir (KdRaporAkhir, NamaKelas Semester,*KdKaryawan, *KdSiswa TahunAjaran, NamaM ataPelajaran, NilaiRA, Sakit, Izin, Alpha) Primary Key KdRaporAkhir Foreinn Key KdSiswa references Siswa(KdSiswa) Foreign Key KdKaryawan references Karyawan(KdKaryawan)
5. Relasi antara Karyawan dan RPP
M enempatkan atribut KdKaryawan pada entitas RPP
Karyawan (KdKAryawan, Password, NamaKaryawan, PosisiKaryawan, KelasWali, TanggalLahirKaryawan, Alamatkar,Telpkar) Primary Key KdKaryawan
RPP (KdRPP, NamaKelas, *KdKaryawan NamaM ataPelajaran, Semester, Pertemuan, Waktu, Indikator, TujuanPembelajaran,JudulStandarKompe tensi, JudulKompetensiDasar, KegiatanPembelajaran, M etodePembelajaran, SumberBelajar) Primary Key KdRPP Foreign Key KdKaryawan references Karyawan (KdKaryawan)
89 6. Relasi antara RPP dan PertemuanBM
M enempatkan atribut KdRPP pada entitas PertemuanBM
RPP (KdRPP, NamaKelas, *KdKaryawan NamaM ataPelajaran, Semester,Pertemuan,Waktu, Indikator, TujuanPembelajaran,JudulStandarKompe tensi,JudulKompetensiDasar,KegiatanPe mbelajaran, M etodePembelajaran, SumberBelajar) Primary Key KdRPP Foreign Key KdKaryawan references Karyawan (KdKaryawan)
PertemuanBM (KdPertemuanBM , *KdRPP, NamaKelas, KegiatanPembelajaran, Catatan) Primary Key KdPertemuanBM Foreign Key KdRPP references RPP(KdRPP)
7. Relasi antara Karyawan dan S ilabus
M enempatkan atribut KdKaryawan pada entitas Silabus
Karyawan (KdKAryawan, Password, NamaKaryawan, PosisiKaryawan, KelasWali, TanggalLahirKaryawan, Alamatkar,Telpkar) Primary Key KdKaryawan
Silabus (KdSilabus,*KdKaryawan, NamaM ataPelajaran, NamaKelas, Semester) Primary Key KdSilabus Foreign Key KdKaryawan references Karyawan(KdKaryawan)
90 8. Relasi antara MataPelajaran dan Silabus
M enempatkan atribut KdM ataPelajaran pada entitas Silabus
MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) Primary Key KdM ataPelajaran
Silabus (KdSilabus,*KdKarywan, *KdM ataPelajaran,NamaKelas, Semester) Primary Key KdSilabus Foreign Key KdKaryawan references Karyawan(KdKaryawan) Foreign Key KdM ataPelajaran references M ataPelajaran(KdM ataPelajaran)
9. Relasi antara MataPelajaran dan RPP
M enempatkan atribut KdM ataPelajaran pada entitas RPP
MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) Primary Key KdM ataPelajaran
RPP (KdRPP, NamaKelas, *KdKaryawan *KdM ataPelajaran, Semester,Pertemuan,Waktu, Indikator, TujuanPembelajaran, JudulSK,JudulKD) Primary Key KdRPP Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdM ataPelajaran references M ataPelajaran (Kd M ataPelajaran)
91 10. Relasi antara Karyawan dan Materi
M enempatkan atribut KdKaryawan pada entitas M ateri
Karyawan (KdKAryawan, Password, NamaKaryawan, PosisiKaryawan, KelasWali, TanggalLahirKaryawan, Alamatkar,Telpkar) Primary Key KdKaryawan
Materi (KdM ateri, JudulM ateri, NamaKelas, Deskripsi, Soal, NamaFile, NamaM ataPelajaran, Tanggal, *KdKaryawan) Primary Key KdM ateri Foreign Key KdKaryawan references Karyawan (KdKaryawan)
11. Relasi antara MataPelajaran dan Materi
M enempatkan atribut KdM ataPelajaran pada entitas M ateri
MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) Primary Key KdM ataPelajaran
Materi (KdM ateri, JudulM ateri, NamaKelas, Deskripsi, Soal, NamaFile, *KdM ataPelajaran, Tanggal, *KdKaryawan) Primary Key KdM ateri Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran
12. Relasi antara JamS ekolah dan JadwalHarian
92 M enempatkan atribut KdJamSekolah pada entitas Jadwalharian
JamSekolah (KdJamSekolah, Hari, Jam) Primary Key KdJamSekolah
JadwalHarian (KdJadwalHarian, NamaKelas, Semester, NamaM ataPelajaran, *KdJamSekolah NamaKaryawan) Primary Key KdJadwalHarian Foreign Key KdJamSekolah references JamSekolah(KdJamSekolah)
13. Relasi antara MataPelajaran dan JadwalHarian
M enempatkan Atribut KdM ataPelajran pada entitas Jadwalharian
MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) Primary Key KdM ataPelajaran
JadwalHarian (KdJadwalHarian, NamaKelas, Semester,*KdM ataPelajaran, *JamSekolah, NamaKaryawan) Primary Key KdJadwalHarian Foreign Key KdJamSekolah references JamSekolah(KdJamSekolah) Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran)
14. Relasi antara Karyawan dan JadwalHarian
93 M enempatkan Atribut KdM ataPelajran pada entitas Jadwalharian
Karyawan (KdKAryawan, Password, NamaKaryawan, PosisiKaryawan, KelasWali, TanggalLahirKaryawan, Alamatkar,Telpkar) Primary Key KdKaryawan
JadwalHarian (KdJadwalHarian, NamaKelas, Semester,*KdM ataPelajaran, *JamSekolah, NamaKaryawan) Primary Key KdJadwalHarian Foreign Key KdJamSekolah references JamSekolah(KdJamSekolah) Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) Foreign Key KdKaryawan references Karyawan (KdKaryawan)
15. Relasi antara JadwalUjian dan MataPelajaran M enempatkan atribut KdM ataPelajaran pada entitas JadwalUjian
MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) Primary Key KdM ataPelajaran
JadwalUjian (KdJadwalUjian, NamaKelas, Semester, *KdM ataPelajaran, Tanggal, Jam, NamaKaryawan) Primary Key KdJadwalUjian Foreign Key KdM ataPelajaran references M ataPelajaran(KdM ataPelajaran)
16. Relasi antara S ilabus dan S tandarKompetensi M enempatkan atribut KdSilabus pada entitas StandarKompetensi
94
Silabus (KdSilabus,*KdKarywan, *KdM ataPelajaran,NamaKelas, Semester) Primary Key KdSilabus Foreign Key KdKaryawan references Karyawan(KdKaryawan) Foreign Key KdM ataPelajaran references M ataPelajaran(KdM ataPelajaran)
S tandarKompetensi (NoSK, JudulStandarKompetensi, *KdSilabus) Primary Key NoSK Foreign Key KdSilabus references Silabus (KdSilabus)
17. Relasi antara S tandarKompetensi dan KompetensiDasar M enempatkan atribut NoSK pada entitas KompetensiDasar
S tandarKompetensi (NoSK, JudulStandarKompetensi, *KdSilabus) Primary Key NoSK Foreign Key KdSilabus references Silabus (KdSilabus)
KompetensiDasar(NoKD,*NoSK, JudulKompetensiDasar,M ateriPembelajar an, KegiatanPembelajaran, Indikator, Penilaian, Waktu, SumberBelajar) Primary Key NoKD Foreign Key NoSK references StandarKompetensi (NoSK)
18. Relasi antara S iswa dan Forum M enempatkan atribut KdSiswa pada entitas Forum
95 Siswa (KdSiswa, Password, NamaSiswa, NamaKelas, TanggalLahirSiswa, JenisKelaminSiswa, AlamatSiswa, NoTelp, NoHP) Primary Key KdSiswa
Forum (KdForum, NamaForum, DeskripsiForum, M oderator. *KdSiswa) Primary Key KdSiswa Foreign Key KdSiswa references Siswa(KdSiswa)
19. Relasi antara Karyawan dan Forum M enempatkan atribut KdKaryawan pada entitas Forum
Karyawan (KdKAryawan, Password, NamaKaryawan, PosisiKaryawan, KelasWali, TanggalLahirKaryawan, Alamatkar,NoTelp ,NoHP) Primary Key KdKaryawan
Forum (KdForum, NamaForum, DeskripsiForum, M oderator *KdSiswa, *KdKaryawan) Primary Key KdSiswa Foreign Key KdSiswa references Siswa(KdSiswa) Foreign Key KdKaryawan references Karyawan (KdKaryawan)
20. Relasi antara S iswa dan Topik M enempatkan atribut KdSiswa pada entitas Topik
Topik (KdTopik, KdForum, JudulTopik, DeskripsiTopik, TanggalTopik, *KdSiswa, KdKaryawan) Primary Key KdTopik Foreign Key KdSiswa references Siswa(KdSiswa) 21. Relasi antara Karyawan dan Topik
Siswa (KdSiswa, Password, NamaSiswa, NamaKelas, TanggalLahirSiswa, JenisKelaminSiswa, AlamatSiswa NoTelp, NoHP) Primary Key KdSiswa
M enempatkan atribut KdKaryawan pada entitas Topik
96
Karyawan (KdKAryawan, Password, NamaKaryawan, PosisiKaryawan, KelasWali, TanggalLahirKaryawan, Alamatkar,NoTelp ,NoHP) Primary Key KdKaryawan
Topik (KdTopik, KdForum, JudulTopik, DeskripsiTopik, TanggalTopik, *KdSiswa, *KdKaryawan) Primary Key KdTopik Foreign Key KdSiswa references Siswa (KdSiswa) Foreign Key KdKaryawan references Karyawan (KdKaryawan)
22. Relasi antara S iswa dan Post M enempatkan atribut KdSiswa pada entitas Post
Siswa (KdSiswa, Password, NamaSiswa, NamaKelas, TanggalLahirSiswa, JenisKelaminSiswa, AlamatSiswa, NoTelp, NoHP) Primary Key KdSiswa
Post (KdPost,JudulTopik, IsiPost, TanggalPost, *KdSiswa, KdKaryawan) Primary Key KdPost Foreign Key KdSiswa references Siswa(KdSiswa)
23. Relasi antara Karyawan dan Post
M enempatkan atribut KdKaryawan pada entitas stok Karyawan (KdKAryawan, Password, NamaKaryawan, PosisiKaryawan, KelasWali, TanggalLahirKaryawan, Alamatkar,NoTelp ,NoHP) Primary Key KdKaryawan
Post (KdPost,JudulTopik, IsiPost, TanggalPost, *KdSiswa, KdKaryawan) Primary Key KdPost Foreign Key KdSiswa references Siswa(KdSiswa) Foreign Key KdKaryawan references Karyawan (KdKaryawa
24. Relasi antara Forum dan Topik M enempatkan atribut KdForum pada entitas Topik
97
Forum (KdForum, NamaForum, DeskripsiForum, M oderator *KdSiswa, *KdKaryawan) Primary Key KdSiswa Foreign Key KdSiswa references Siswa(KdSiswa) Foreign Key KdKaryawan references Karyawan (KdKaryawan)
Topik (KdTopik, *KdForum, JudulTopik, DeskripsiTopik, TanggalTopik, *KdSiswa, *KdKaryawan) Primary Key KdTopik Foreign Key KdSiswa references Siswa (KdSiswa) Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdForum references Forum (KdForum)
25. Relasi antara Topik dan Post
M enempatkan atribut KdTopik pada entitas Post
Topik (KdTopik, *KdForum, JudulTopik, DeskripsiTopik, TanggalTopik, *KdSiswa, *KdKaryawan) Primary Key KdTopik Foreign Key KdSiswa references Siswa (KdSiswa) Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdForum references Forum (KdForum)
Post (KdPost,JudulTopik, IsiPost, TanggalPost, *KdSiswa, KdKaryawan) Primary Key KdPost Foreign Key KdSiswa references Siswa(KdSiswa) Foreign Key KdKaryawan references Karyawan (KdKaryawan)
d. Tipe Relasi Biner One-to-One (1:1) Mandatory Participation Pada Kedua Sisi
98 Pada perancangan bas is data ini tidak terdapat relasi mandatory participation pada kedua sisi. Mandatory Participation Pada S alah S atu Sisi Pada perancangan bas is data ini tidak terdapat relasi mandatory pada salah satu sisi.
Optional Participation Pada Kedua S isi Pada perancangan basis data ini tidak terdapat relasi optional participation pada kedua sisi.
e. Tipe Relasi Rekursif One-to-One (1:1) Pada perancangan basis data ini tidak terdapat relasi rekursif One-to-One(1:1)
f. Tipe Relasi Superclass / S ubclass Pada perancangan basis data ini tidak terdapat relasi Superclass / Subclass.
g. Pembentukan relasi biner Many-to-many (*:*) 1.
Relasi antara RaporBayangan dan MataPelajaran
99
2.
Relasi antara RaporAkhir dan M ataPelajaran
3.
Relasi antara Kelas dan M ataPelajaran
100
Karyawan (KdKAryawan, Nama Karyawan, PosisiKarya wan,
MataPelajaran (KdMataPelajara n,
KelasWali,TanggalLa hirKa ryawan, Ala matkar,NoTelp ,NoHP)
NamaMataPelajar an) Primary Key KdMataPelajara n
Primary Key KdKaryawan
KelasMataPelajaran (*KdKaryawan, *KdMataPelajaran, KelasMenga jar) Primary Key *KdKaryawan, *KdMataPelajaran Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdM ataPe lajaran referenc es MataP elajaran (KdM ataPelajaran)
h. Pembentukan relasi Multivalue Attribute Pada perancangan basis data ini tidak terdapat atribut yang memiliki nilai Multivalue.
i.
Tipe Relasi Kompleks Pada perancangan basis data ini tidak terdapat tipe relasi komplex.
4.1.2.3
Validasi Relasi dengan Menggunakan Normalisasi Pada tahap
ini,
digunakan
teknik
normalisasi untuk
mengurangi redundansi data yang terjadi pada setiap entity. 1.
Karyawan
101 Karyawan (KdKaryawan, Password, NamaKaryawan, PosisiKaryawan, KelasWali,TanggalLahirKaryawan, Alamatkar,NoTelp ,NoHP) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 2NF. 3NF Karyawan (KdKaryawan , *KdPosisi, Password, NamaKaryawan KelasWali,TanggalLahirKaryawan, Alamatkar,NoTelp ,NoHP) MsPosisi : KdPosisi, PosisiKaryawan
2.
RaporBayangan RaporBayangan (KdRaporBayangan, Semester, NamaKaryawan, NamaSiswa, TahunAjaran, NamaM ataPelajaran, NilaiRB, Sakit,Izin,Alpha) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF RaporBayangan (KdRaporBayangan , NamaKelas, Semester, *KdKaryawan, *KdSiswa, TahunAjaran, Sakit,Izin,Alpha) DRaporBayangan(*KdRaporBayangan, *KdM ataPelajaran, NilaiRB) Karyawan (KdKaryawan, NamaKaryawan) Siswa (KdSiswa, NamaSiswa)
102 MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
3.
RaporAkhir RaporAkhir (KdRaporAkhir,NamaKelas, Semester, NamaKaryawan, NamaSiswa, TahunAjaran, NamaM ataPelajaran, NilaiRA, Komentar, Sakit, Izin, Alpha) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF RaporAkhir (KdRaporAkhir, NamaKelas, Semester, *KdKaryawan, * KdSiswa, TahunAjaran, Komentar, Sakit, Izin, Alpha) DRaporAkhir (KdRaporAkhir* , KdM ataPelajaran*, NamaM ataPelajaran, NilaiRA) Karyawan (KdKaryawan,NamaKaryawan) Siswa (KdSiswa, NamaSiswa) MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
4. Siswa
103 Siswa (KdSiswa, Password, NamaSiswa, NamaKelas, TanggalLahirSiswa, JenisKelaminSiswa, AlamatSiswa, NoTelp, NoHP) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 2NF. 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 2NF.
5.
MataPelajaran MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran, NamaKaryawan) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) KaryawanMataPelajaran (KdKaryawanM P,*KdM ataPelajaran, *KdKaryawan, KelasM engajar) Karyawan (KdKaryawan, NamaKaryawan) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
6.
RPP
104 RPP (KdRPP, NamaKelas, NamaKaryawan, NamaM ataPelajaran, Semester, Pertemuan, Waktu, Indikator, TujuanPembelajaran, JudulSK, JudulKD, KegiatanPembelajaran, M etodePembelajaran, SumberBelajar) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF RPP (KdRPP, NamaKelas, *KdKaryawan, *KdM ataPelajaran, Semester, Pertemuan, Waktu, Indikator, TujuanPembelajaran, JudulSK, JudulKD KegiatanPembelajaran, M etodePembelajaran, SumberBelajar) Karyawan(KdKaryawan, NamaKaryawan) MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
7.
PertemuanBM PertemuanBM (KdPertemuanBM , KdRPP, NamaM ataPelajaran, NamaKelas, Pertemuan, KegiatanPembelajaran, Catatan) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF.
2NF
105 PertemuanBM (KdPertemuanBM , *KdRPP, NamaKelas, KegiatanPembelajaran, Catatan) RPP ( KdRPP, NamaM ataPelajaran, Pertemuan) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
8. JamSekolah JamSekolah (KdJamSekolah, Hari, Jam) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 2NF. 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
9.
JadwalHarian JadwalHarian (KdJadwalHarian, NamaKelas, Semester, NamaM ataPelajaran, Hari,Jam, NamaKaryawan) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF JadwalHarian (KdJadwalHarian, NamaKelas,Semester, *KdM ataPelajaran, *KdJamSekolah, *KdKaryawan) Karyawan (KdKaryawan, NamaKaryawan)
106 JamSekolah (KdJamSekolah, Hari, Jam) MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
10. JadwalUjian JadwalUjian (KdJadwalUjian, NamaKelas, Semester, NamaM ataPelajaran, Tanggal, Jam) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF JadwalUjian (KdJadwalUjian, NamaKelas, Semester, Tanggal, Jam *KdM ataPelajaran) MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
11. Materi Materi (KdM ateri, JudulM ateri, NamaKelas, Deskripsi, Soal, NamaFile, NamaM ataPelajaran, Tanggal) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF.
2NF
107 Materi (KdM ateri, JudulM ateri, NamaKelas, Deskripsi, Soal, NamaFile, *KdM ataPelajaran, Tanggal) MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
12. Post Post (KdPost,JudulTopik, IsiPost, TanggalPost, KdSiswa, KdKaryawan) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF Post (KdPost, *KdTopik, IsiPost, TanggalPost, *KdSiswa, *KdKaryawan) Topik (KdTopik, JudulTopik) Siswa (KdSiswa) Karyawan (KdKaryawan) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
13. Topik Topik (KdTopik, KdForum, JudulTopik, DeskripsiTopik, TanggalTopik, KdSiswa, KdKaryawan) 1NF
108 Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF Topik (KdTopik, *KdForum, JudulTopik, DeskripsiTopik, TanggalTopik, *KdSiswa, *KdKaryawan) Forum (KdForum,JudulForum) Siswa (KdSiswa,JudulForum) Karyawan (KdKaryawan,JudulForum) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
14. Forum Forum (KdForum, NamaForum, DeskripsiForum, M oderator) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 2NF. 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
15. Silabus Silabus (KdSilabus,NamaKaryawan, NamaM ataPelajaran, NamaKelas, Semester)
1NF
109 Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF Silabus (KdSilabus, *KdKaryawan, *KdM ataPelajaran, NamaKelas, Semester) MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) Karyawan (KdKaryawan, NamaKaryawan) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
16. S tandarKompetensi S tandarKompetensi (NoSK, JudulStandarKompetensi, KdSilabus) 1NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF S tandarKompetensi (NoSK, JudulStandarKompetensi, *KdSilabus) Silabus (KdSilabus) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
17. KompetensiDasar KompetensiDasar (NoKD,NoSK, JudulKompetensiDasar, Indikator, PengalamanBelajar, Waktu, SumberBelajar, Penilaian)
1NF
110 Tidak perlu dinormalisasi karena sudah memenuhi syarat 1NF. 2NF KompetensiDasar (NoKD,*NoSK, JudulKompetensiDasar, Indikator, PengalamanBelajar, Waktu, SumberBelajar, Penilaian) S tandarKompetensi ( NoSK) 3NF Tidak perlu dinormalisasi karena sudah memenuhi syarat 3NF.
111 Berikut adalah ER-Diagram logikal setelah Normalisasi
Gambar 4.6 ER-Diagram Logikal setelah Normalisasi
112 4.1.2.4 Mendifinisikan Integrity Constraint
Tabel 4.5 Entitas dengan Referential Integrity Constraint Karyawan (KdKAryawan, Password, NamaKaryawan, KdPosisi*, KelasWali,TanggalLahirKaryawan, Alamatkar,NoTelp ,NoHP) Primary Key KdKaryawan Foreign Key KdPosisi references MsPosisi (KdPosisi) ON UPDATE CASCADE ON DELETE NO ACTION MsPosisi (KdPosisi, PosisiKaryawan) Primary Key KdPosisi RaporBayangan (KdRaporBayangan, NamaKelas, Semester, *KdKaryawan, *KdSiswa, TahunAjaran, Sakit,Izin,Alpha) Primary Key KdRaporBayangan Foreign Key KdKaryawan references Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdSiswa references Siswa (KdSiswa) ON UPDATE CASCADE ON DELETE SET NULL DRaporBayangan (*KdRaporBayangan, *KdM ataPelajaran, NilaiRB) Primary Key KdRaporBayangan,KdM ataPelajaran
113 Foreign Key KdRaporBayangan references RaporBayangan (KdRaporBayangan) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL RaporAkhir (KdRaporAkhir, NamaKelas, Semester, *KdKaryawan, *KdSiswa, TahunAjaran, Komentar, Sakit, Izin, Alpha) Primary Key KdRaporAkhir Foreign Key KdKaryawan references Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdSiswa references Siswa (KdSiswa) ON UPDATE CASCADE ON DELETE SET NULL DRaporAkhir (KdRaporAkhir* , KdM ataPelajaran*, NilaiRA) Primary Key KdRaporAkhir,KdM ataPelajaran Foreign Key KdRaporAkhir references RaporAkhir (KdRaporBayangan) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL
114
Siswa (KdSiswa, Password, NamaSiswa, NamaKelas, TanggalLahirSiswa, JenisKelaminSiswa, AlamatSiswa, NoTelp, NoHP) Primary Key KdSiswa MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) Primary Key KdM ataPelajaran KaryawanMataPelajaran (KdKaryawanM P, *KdM ataPelajaran, *KdKaryawan, KelasM engajar) Primary Key KdKaryawanMP Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdKaryawan references Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL RPP (KdRPP, NamaKelas, *KdKaryawan, *KdM ataPelajaran, Semester, Pertemuan, Waktu, Indikator, TujuanPembelajaran, JudulSK,JudulKD, KegiatanPembelajaran, M etodePembelajaran, SumberBelajar) Primary Key KdRPP Foreign Key KdKaryawan references Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL
115 Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL PertemuanBM(KdPertemuanBM , *KdRPP, NamaKelas, KegiatanPembelajaran, Catatan) Primary Key KdPertemuanBM Foreign Key KdRPP references RPP (KdRPP) ON UPDATE CASCADE ON DELETE SET NULL JamSekolah (KdJamSekolah, Hari, Jam) Primary Key KdJamSekolah JadwalUjian (KdJadwalUjian, NamaKelas, Semester, *KdM ataPelajaran, Tanggal, Jam) Primary Key KdJadwalUjian Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL JadwalHarian (KdJadwalHarian, NamaKelas,Semester, *KdM ataPelajaran, *KdJamSekolah, *KdKaryawan) Primary Key KdJadwalHarian Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran)
116 ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdJamSekolah references KdJamSekolah (KdJamSekolah) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdKaryawan references Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL Materi (KdM ateri, JudulM ateri, NamaKelas, Deskripsi, Soal, NamaFile, *KdM ataPelajaran, Tanggal) Primary Key KdM ateri Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL
Post (KdPost, *KdTopik, IsiPost, TanggalPost, *KdSiswa, *KdKaryawan) Primary Key KdPost Foreign Key KdTopik references Topik (KdTopik) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdSiswa references Siswa (KdSiswa) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdKaryawan references Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL
117
Topik (KdTopik, *KdForum, JudulTopik, DeskripsiTopik, TanggalTopik, *KdSiswa, *KdKaryawan) Primary Key KdTopik Foreign Key KdForum references Topik (KdForum) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdSiswa references Siswa (KdSiswa) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdKaryawan references KdKaryawan (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL Forum (KdForum, NamaForum, DeskripsiForum, M oderator) Primary Key KdForum
Silabus (KdSilabus, *KdKaryawan, *KdM ataPelajaran, NamaKelas, Semester) Primary Key KdSilabus Foreign Key KdKaryawan references Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL
118
S tandarKompetensi (NoSK, JudulStandarKompetensi, *KdSilabus) Primary Key NoSK Foreign Key KdSilabus references Silabus (KdSilabus) ON UPDATE CASCADE ON DELETE SET NULL KompetensiDasar(NoKD, *NoSK, JudulKompetensiDasar, Indikator, PengalamanBelajar, Waktu, SumberBelajar, Penilaian) Primary Key NoKD Foreign Key NoSK references StandarKompetensi (NoSK) ON UPDATE CASCADE ON DELETE SET NULL
4.1.2.5 Membangun dan Memvalidasi Model Data Logikal Global
119
Karyawan (KdKAryawan, Password, NamaKaryawan, KdPosisi*, KelasWali, TanggalLahirKaryawan, Alamatkar,NoTelp ,NoHP) Primary Key KdKaryawan Foreign Key KdPosisi references MsPosisi (KdPosisi) MsPosisi (KdPosisi, PosisiKaryawan) Primary Key KdPosisi
RaporBayangan (KdRaporBayangan, NamaKelas, Semester, *KdKaryawan, *KdSiswa, TahunAjaran, Sakit,Izin,Alpha) Primary Key KdRaporBayangan Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdSiswa references Siswa (KdSiswa)
DRaporBayangan (*KdRaporBayangan, *KdM ataPelajaran, NilaiRB) Primary Key KdRaporBayangan,KdM ataPelajaran Foreign Key KdRaporBayangan references RaporBayangan (KdRaporBayangan) Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran)
RaporAkhir (KdRaporAkhir, NamaKelas, Semester, *KdKaryawan, *KdSiswa, TahunAjaran, Komentar, Sakit, Izin, Alpha) Primary Key KdRaporAkhir
120 Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdSiswa references Siswa (KdSiswa)
DRaporAkhir (KdRaporAkhir* , KdM ataPelajaran*, NilaiRA) Primary Key KdRaporAkhir,KdM ataPelajaran Foreign Key KdRaporAkhir references RaporAkhir (KdRaporBayangan) Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran)
Siswa (KdSiswa, Password, NamaSiswa, NamaKelas, TanggalLahirSiswa, JenisKelaminSiswa, AlamatSiswa, NoTelp, NoHP) Primary Key KdSiswa MataPelajaran (KdM ataPelajaran, NamaM ataPelajaran) Primary Key KdM ataPelajaran
KaryawanMataPelajaran (KdKaryawanM P, *KdM ataPelajaran, *KdKaryawan, KelasM engajar) Primary Key KdKaryawanMP Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) Foreign Key KdKaryawan references Karyawan (KdKaryawan)
RPP (KdRPP, NamaKelas, *KdKaryawan, *KdM ataPelajaran, Semester, Pertemuan, Waktu, Indikator, TujuanPembelajaran, JudulSK,JudulKD, KegiatanPembelajaran, M etodePembelajaran, SumberBelajar)
121 Primary Key KdRPP Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran)
PertemuanBM(KdPertemuanBM , *KdRPP, NamaKelas, KegiatanPembelajaran, Catatan) Primary Key KdPertemuanBM Foreign Key KdRPP references RPP (KdRPP)
JamSekolah (KdJamSekolah, Hari, Jam) Primary Key KdJamSekolah
JadwalUjian (KdJadwalUjian, NamaKelas, Semester, *KdM ataPelajaran, Tanggal, Jam) Primary Key KdJadwalUjian Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran)
JadwalHarian (KdJadwalHarian, NamaKelas,Semester, *KdM ataPelajaran, *KdJamSekolah, *KdKaryawan) Primary Key KdJadwalHarian Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) Foreign Key KdJamSekolah references KdJamSekolah (KdJamSekolah) Foreign Key KdKaryawan references Karyawan(KdKaryawan)
122 Materi (KdM ateri, JudulM ateri, NamaKelas, Deskripsi, Soal, NamaFile, *KdM ataPelajaran, Tanggal) Primary Key KdM ateri Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran)
Post (KdPost, *KdTopik, IsiPost, TanggalPost, *KdSiswa, *KdKaryawan) Primary Key KdPost Foreign Key KdTopik references Topik (KdTopik) Foreign Key KdSiswa references Siswa (KdSiswa) Foreign Key KdKaryawan references Karyawan (KdKaryawan)
Topik (KdTopik, *KdForum, JudulTopik, DeskripsiTopik, TanggalTopik, *KdSiswa, *KdKaryawan) Primary Key KdTopik Foreign Key KdForum references Topik (KdForum) Foreign Key KdSiswa references Siswa (KdSiswa) Foreign Key KdKaryawan references KdKaryawan (KdKaryawan)
Forum (KdForum, NamaForum, DeskripsiForum, M oderator) Primary Key KdForum
Silabus (KdSilabus, *KdKaryawan, *KdM ataPelajaran, NamaKelas, Semester)
123 Primary Key KdSilabus Foreign Key KdKaryawan references Karyawan (KdKaryawan) Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran)
S tandarKompetensi (NoSK, JudulStandarKompetensi, *KdSilabus) Primary Key NoSK Foreign Key KdSilabus references Silabus (KdSilabus)
KompetensiDasar(NoKD, *NoSK, JudulKompetensiDasar, Indikator, PengalamanBelajar, Waktu, SumberBelajar, Penilaian) Primary Key NoKD Foreign Key NoSK references StandarKompetensi (NoSK)
Berikut adalah Entity Relationship Diagram setelah tahap perancangan Database Logical
124
Gambar 4.7 ER-Diagram Setelah perancangan Database Logical 4.1.3 Perancangan Database Fisikal
125 Pada tahap ini merupakan perancangan basis data fisikal yang menghasilkan sebuah gambaran dari implementasi database pada tempat penyimpanan juga menggambarkan relasi dasar, organisasi file, dan indeks yang digunakan untuk mencapai akses data yang efisien, dan batasan integritas keamanan lainnya dan ukuran keamanan data. Langkah-langkahnya adalah sebagai berikut
4.1.3.1 Perancangan Relasional Basis Data Perancangan Database fisikal merupakan proses pembuatan deskripsi dari suatu implementasi basis data pada secondary storage. Langkah perancangan basis data secara fisikal ini dimulai dari perancangan relasional basis data. Tujuan dari langkah ini adalah untuk mengidentifikasikan relasional basis data dalam model data logikal global yang digunakan dalam DBM S dengan menggunakan DBDL (Database Design Language). DBDL yang digunakan adalah sebagai berikut:
1. Karyawan Domain KdKaryawan
: Integer
Domain KdPosisi
: Integer
Domain Password
: variable length character string, length 50
Domain NamaKaryawan
: variable length character string, length 100
Domain KelasWali
: variable length character string, length 10
Domain TanggalLahirKaryawan : variable length character string, length 20
126 Domain AlamatKar
: variable length character string, length 200
Domain NoTelp
: Integer
Domain NoHP
: Integer
Karyawan ( KdKaryawan
KdKaryawan
NOT NULL,
KdPosisi
KdPosisi
NOT NULL,
Password
Password
NOT NULL,
NamaKaryawan
NamaKaryawan
NOT NULL,
KelasWali
KelasWali
NULL,
TanggalLahirKaryawan
TanggalLahirKaryawan
NOT NULL,
AlamatKar
AlamatKar
NULL,
NoTelp
NoTelp
NULL,
NoHP
NoHP
NULL
Primary Key ( KdKaryawan ) Foreign Key KdPosisi references MsPosisi (KdPosisi) ON UPDATE CASCADE ON DELETE SET NULL );
2. MsPosisi Domain KdPosisi
: Integer
Domain PosisiKaryawan
: variable length character string, length 15
MsPosisi ( KdPosisi
KdPosisi
NOT NULL,
PosisiKaryawan
PosisiKaryawan
NOT NULL,
127 Primary Key ( KdPosisi) );
3. RaporBayangan Domain KdRaporBayangan : Integer Domain NamaKelas
: variable length character string, length 4
Domain Semester
: Tinyint
Domain KdKaryawan
: Integer
Domain KdSiswa
: Integer
Domain TahunAjaran
: variable length character string, length 10
Domain Sakit
: Tinyint
Domain Izin
: Tinyint
Domain Alpha
: Tinyint
RaporBayangan ( KdRaporBayangan
KdRaporBayangan
NOT NULL,
NamaKelas
NamaKelas
NOT NULL,
Semester
Semester
NOT NULL,
KdKaryawan
KdKaryawan
NOT NULL,
KdSiswa
KdSiswa
NOT NULL,
TahunAjaran
TahunAjaran
NOT NULL,
Sakit
Sakit
NULL,
Izin
Izin
NULL,
Alpha
Alpha
NULL,
128 Primary Key ( KdRaporBayangan ), Foreign Key KdKaryawan references Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdSiswa references Siswa (KdSiswa) ON UPDATE CASCADE ON DELETE SET NULL );
4. DRaporBayangan Domain KdRaporBayangan : Integer Domain KdM ataPelajaran
: Integer
Domain NilaiRB
: Integer
DRaporBayangan ( KdRaporBayangan
KdRaporBayangan
NOT NULL,
KdM ataPelajaran
KdM ataPelajaran
NOT NULL,
NilaiRB
NilaiRB
NOT NULL,
Primary Key ( KdRaporBayangan, KdM ataPelajaran ), Foreign Key KdRaporBayangan references RaporBayangan (KdRaporBayangan) ON UPDATE CASCADE ON DELETE SET NULL, Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL ); 5. RaporAkhir
129 Domain KdRaporAkhir
: Integer
Domain NamaKelas
: variable length character string, length 4
Domain Semester
: Tinyint
Domain KdKaryawan
: Integer
Domain KdSiswa
: Integer
Domain TahunAjaran
: variable length character string, length 10
Domain Komentar
: Text
Domain Sakit
: Tinyint
Domain Izin
: Tinyint
Domain Alpha
: Tinyint
RaporAkhir ( KdRaporAkhir
KdRaporAkhir
NOT NULL,
NamaKelas
NamaKelas
NOT NULL,
Semester
Semester
NOT NULL,
KdKaryawan
KdKaryawan
NOT NULL,
KdSiswa
KdSiswa
NOT NULL,
TahunAjaran
TahunAjaran
NOT NULL,
Komentar
Komentar
NULL,
Sakit
Sakit
NULL,
Izin
Izin
NULL,
Alpha
Alpha
NULL,
Primary Key ( KdRaporAkhir ), Foreign Key KdKaryawan references Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL,
130 Foreign Key KdSiswa references Siswa (KdSiswa) ON UPDATE CASCADE ON DELETE SET NULL );
6. DRaporAkhir Domain KdRaporAkhir
: Integer
Domain KdM ataPelajaran
: Integer
Domain NilaiRA
: Integer
DRaporAkhir ( KdRaporAkhir
KdRaporAkhir
NOT NULL,
KdM ataPelajaran
KdM ataPelajaran
NOT NULL,
NilaiRA
NilaiRA
NOT NULL,
Primary Key ( KdRaporAkhir, KdM ataPelajaran ), Foreign Key KdRaporAkhir references RaporAkhir (KdRaporBayangan) ON UPDATE CASCADE ON DELETE CASCADE, Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL );
7. Siswa
131 Domain KdSiswa
: Integer
Domain NamaSiswa
: variable length character string, length 100
Domain Password
: variable length character string, length 50
Domain NamaKelas
: variable length character string, length 4
Domain TanggalLahirSiswa : variable length character string, length 10 Domain JenisKelaminSiswa : single character, must be ‘L’ or ‘P’ Domain AlamatSiswa
: variable length character string, length 200
Domain NoTelp
: Integer
Domain NoHP
: Integer
Siswa ( KdSiswa
KdSiswa
NOT NULL,
Password
Password
NOT NULL,
NamaSiswa
NamaSiswa
NOT NULL,
NamaKelas
NamaKelas
NOT NULL,
TanggalLahirSiswa
TanggalLahirSiswa
NOT NULL,
JenisKelaminSiswa
JenisKelaminSiswa
NOT NULL,
AlamatSiswa
AlamatSiswa
NOT NULL,
NoTelp
NoTelp
NULL,
NoHP
NoHP
NULL,
Primary Key ( KdSiswa ), Foreign Key KdKelas references Kelas(KdKelas) ON UPDATE CASCADE ON DELETE CASCADE ); 8. MataPelajaran
132 Domain KdM ataPelajaran
: Integer
Domain NamaM ataPelajaran : variable length character string, length 20 MataPelajaran ( KdM ataPelajaran
KdM ataPelajaran
NOT NULL,
NamaM ataPelajaran
NamaM ataPelajaran
NOT NULL,
Primary Key ( KdM ataPelajaran ), );
9. KaryawanMataPelajaran Domain KdKaryawanM P
: Integer
Domain KdM ataPelajaran
: Integer
Domain KdKaryawan
: Integer
Domain KelasM engajar
: variable length character string, length 20
KaryawanMataPelajaran ( KdKaryawanMP
KdKaryawanMP
NOT NULL,
KdM ataPelajaran
KdM ataPelajaran
NOT NULL,
KdKaryawan
KdKaryawan
NOT NULL,
KelasM engajar
KelasM engajar
NOT NULL,
Primary Key (KdKaryawanMP), Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL, Foreign Key KdKaryawan references Kelas (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL
133 );
10.RPP Domain KdRPP
: Integer
Domain NamaKelas
: variable length character string, length 4
Domain KdKaryawan
: Integer
Domain KdM ataPelajaran
: Integer
Domain Semester
: Tinyint
Domain Pertemuan
: Integer
Domain Waktu
: variable length character string, length 20
Domain Indikator
: Text
Domain TujuanPembelajaran
: Text
Domain JudulSK
: variable length character string, length 200
Domain JudulKD
: variable length character string, length 200
Domain KegiatanPembelajaran : Text Domain M etodePembelajaran
: Text
Domain SumberBelajar
: Text
RPP ( KdRPP
KdRPP
NOT NULL,
NamaKelas
NamaKelas
NOT NULL,
KdKaryawan
KdKaryawan
NOT NULL,
KdM ataPelajaran
KdM ataPelajaran
NOT NULL,
Semester
Semester
NOT NULL,
Pertemuan
Pertemuan
NOT NULL,
134 Waktu
Waktu
NOT NULL,
Indikator
Indikator
NOT NULL,
TujuanPembelajaran
TujuanPembelajaran
NOT NULL,
JudulSK
JudulSK
NOT NULL,
JudulKD
JudulKD
NOT NULL,
KegiatanPembelajaran
KegiatanPembelajaran
NOT NULL,
M etodePembelajaran
M etodePembelajaran
NOT NULL,
SumberBelajar
SumberBelajar
NOT NULL,
Primary Key ( KdRPP ), Foreign Key KdKaryawan references Kelas (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL Foreign Key KdM ataPelajaran references Kelas (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL );
11. PertemuanBM Domain KdPertemuanBM
: Integer
Domain KdRPP
: Integer
Domain NamaKelas
: variable length character string, length 4
Domain KegiatanPembelajaran : Text Domain Catatan
: Text
PertemuanBM ( KdPertemuanBM
KdPertemuanBM
NOT NULL,
KdRPP
KdRPP
NOT NULL,
135 KegiatanPembelajaran
KegiatanPembelajaran
NOT NULL,
Catatan
Catatan
NOT NULL,
Primary Key ( KdPertemuanBM ), Foreign Key KdRPP references RPP (KdRPP) ON UPDATE CASCADE ON DELETE SET NULL );
12. JamSekolah Domain KdJamSekolah
: Integer
Domain Hari
: variable length character string, length 10
Domain Jam
: variable length character string, length 15
JamSekolah ( KdJamSekolah
KdJamSekolah
NOT NULL,
Hari
Hari
NOT NULL,
Jam
Jam
NOT NULL,
Primary Key ( KdJamSekolah ) );
13. JadwalHarian Domain KdJadwalHarian
: Integer
Domain NamaKelas
: variable length character string, length 4
Domain Semester
: Tinyint
Domain KdM ataPelajaran
: Integer
Domain KdJamSekolah
: Integer
136 Domain KdKaryawan
: Integer
JadwalHarian ( KdJadwalHarian
KdJadwalHarian
NOT NULL,
NamaKelas
NamaKelas
NOT NULL,
Semester
Semester
NOT NULL,
KdM ataPelajaran
KdM ataPelajaran
NOT NULL,
KdJamSekolah
KdJamSekolah
NOT NULL,
KdKaryawan
KdKaryawan
NOT NULL,
Primary Key ( KdJadwalHarian ), Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL, Foreign Key KdJamSekolah references KdJamSekolah (KdJamSekolah) ON UPDATE CASCADE ON DELETE SET NULL, Foreign Key KdKaryawan references Kelas (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL );
14.
JadwalUjian
Domain KdJadwalUjian
: Integer
Domain NamaKelas
: variable length character string, length 4
Domain Semester
: Tinyint
Domain KdM ataPelajaran
: Integer
Domain Tanggal
: variable length character string, length 10
137 Domain Jam
: variable length character string, length 10
JadwalUjian ( KdJadwalUjian
KdJadwalUjian
NOT NULL,
NamaKelas
NamaKelas
NOT NULL,
Semester
Semester
NOT NULL,
KdM ataPelajaran
KdM ataPelajaran
NOT NULL,
Hari
Hari
NOT NULL,
Jam
Jam
NOT NULL,
Primary Key ( KdJadwalUjian ), Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL, );
15.
Materi
Domain KdM ateri
: Integer
Domain JudulM ateri
: variable length character string, length 100
Domain NamaKelas
: variable length character string, length 4
Domain Deskripsi
: Text
Domain Soal
: Boolean
Domain NamaFile
: variable length character string, length 100
Domain KdM ataPelajaran
: Integer
Domain Tanggal
: variable length character string, length 10
Materi (
138 KdM ateri
KdM ateri
NOT NULL,
JudulM ateri
JudulM ateri
NOT NULL,
NamaKelas
NamaKelas
NOT NULL,
Deskripsi
Deeskripsi
NULL,
Soal
Soal
NOT NULL,
NamaFile
NamaFile
NOT NULL,
KdM ataPelajaran
KdM ataPelajaran
NOT NULL,
Tanggal
Tanggal
NOT NULL,
Primary Key ( KdM ateri ), Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL, );
16. Post Domain KdPost
: Integer
Domain IsiPost
: Text
Domain TanggalPost
: Date
Domain KdTopik
: Integer
Domain KdSiswa
: Integer
Domain KdKaryawan
: Integer
Post ( KdPost
KdPost
NOT NULL,
IsiPost
IsiPost
NOT NULL,
139 TanggalPost
TanggalPost
NOT NULL,
KdTopik
KdTopik
NOT NULL,
KdSiswa
KdSiswa
NULL,
KdKaryawan
KdKaryawan
NULL,
Primary Key ( KdPost ), Foreign Key KdTopik references Topik (KdTopik) ON UPDATE CASCADE ON DELETE SET NULL, Foreign Key KdSiswa references Siswa (KdSiswa) ON UPDATE CASCADE ON DELETE SET NULL, Foreign Key KdKaryawan references Kelas (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL );
17.
Topik
Domain KdTopik
: Integer
Domain KdForum
: Integer
Domain JudulTopik
: variable length character string, length 100
Domain DeskripsiTopik
: variable length character string, length 500
Domain TanggalTopik
: Date
Domain KdSiswa
: Integer
Domain KdKaryawan
: Integer
Topik ( KdTopik
KdTopik
NOT NULL,
KdForum
KdForum
NOT NULL,
140 JudulTopik
JudulTopik
NOT NULL,
DeskripsiTopik
DeskripsiTopik
NOT NULL,
TanggalTopik
TanggalTopik
NOT NULL,
KdSiswa
KdSiswa
NULL,
KdKaryawan
KdKaryawan
NULL,
Primary Key ( KdTopik ), Foreign Key KdForum references Forum (KdForum) ON UPDATE CASCADE ON DELETE SET NULL, Foreign Key KdSiswa references Siswa (KdSiswa) ON UPDATE CASCADE ON DELETE SET NULL, Foreign Key KdKaryawan references Kelas (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL );
18. Forum Domain KdForum
: Integer
Domain NamaForum
: variable length character string, length 100
Domain DeskripsiForum
: variable length character string, length 500
Domain M oderator
: variable length character string, length 50
Forum ( KdForum
KdForum
NOT NULL,
NamaForum
NamaForum
NOT NULL,
DeskripsiForum
DeskripsiTopik
NOT NULL,
M oderator
M oderator
NOT NULL,
141 Primary Key ( KdForum ) );
19. Silabus Domain KdSilabus
: Integer
Domain KdKaryawan
: Integer
Domain KdM ataPelajaran
: Integer
Domain NamaKelas
: variable length character string, length 4
Domain Semester
: Tinyint
Silabus ( KdSilabus
KdSilabus
NOT NULL,
KdKaryawan
KdKaryawan
NOT NULL,
KdM ataPelajaran
KdM ataPelajaran
NOT NULL,
NamaKelas
NamaKelas
NOT NULL,
Semester
Semester
NOT NULL,
Primary Key ( KdSilabus ), Foreign Key KdKaryawan references Kelas (KdKaryawan) ON UPDATE CASCADE ON DELETE SET NULL, Foreign Key KdM ataPelajaran references M ataPelajaran (KdM ataPelajaran) ON UPDATE CASCADE ON DELETE SET NULL, );
20. S tandarKompetensi
142 Domain NoSK
: Integer
Domain JudulStandarKompetensi : variable length character string, length 20 Domain KdSilabus
: Integer
S tandarKompetensi ( NoSK
NoSK
NOT NULL,
JudulStandarKompetensi
JudulStandarKompetensi NOT NULL,
KdSilabus
KdSilabus
NOT NULL,
Primary Key ( NoSK ), Foreign Key KdSilabus references Silabus (KdSilabus) ON UPDATE CASCADE ON DELETE SET NULL );
21. KompetensiDasar Domain NoKD
: Integer
Domain NoSK
: Integer
Domain JudulKompetensiDasar : variable length character string, length 20 Domain Indikator
: Text
Domain PengalamanBelajar : Text Domain Waktu
: variable length character string, length 20
Domain SumberBelajar
: Text
Domain Penilaian
: Text
KompetensiDasar(
143 NoKD
NoKD
NOT NULL,
NoSK
NoSK
NOT NULL,
JudulKompetensiDasar
JudulKompetensiDasar
NOT NULL,
Indikator
Indikator
NOT NULL,
PengalamanBelajar
PengalalamanBelajar
NOT NULL,
Waktu
Waktu
NOT NULL,
SumberBelajar
SumberBelajar
NOT NULL,
Penilaian
Penilaian
NOT NULL,
Primary Key ( NoKD ) Foreign Key NoSK references StandarKompetensi (NoSK) );
4.1.3.2 Pemilihan Database Management System (DBMS ) Diperlukan Database Management System yang dapat diandalkan untuk
mengolah
data secara maksimal.
M aka disini akan
membandingkan 2 buah software yang dapat memfasilitasi sistem
Tabel 4.6 Tabel Perbandingan MySQL dan PostgreSQL Kategori Platform
MySQL AIX 4.x dan 5.x dengan native threads, Amiga, FreeBSD 5.x dan ke atas dan dengan native threads, HP-UX 11.x dengan native threads, Linux, M ac OS X, NetBSD 1.3/1.4 Intel dan NetBSD 1.3 Alpha, Novell NetWare 6.0 dan 6.5, OpenBSD 2.5 dan dengan native threads, SCO
PostgreS QL Dapat bekerja pada platform mulai dari NT, Solaris, Sun OS, HP-UX, AIX, BSD, Linux (SELinux/Security Enhanced Linux, SUSE Linux Enterprise Server 10 (32-bit),Red Hat Enterprise Linux AS/ES 4.0 Update 2 (32-bit)), SGI Irix, M ac OS
144
Tujuan Desain
Threaded
Fitur
OpenServer 5.0.X dengan port dari paket FSU Pthreads, SCO Openserver 6.0.x, SCO UnixWare 7.1.x, SGI Irix 6.x dengan native threads, Solaris 2.5 dan ke atas dengan native threads pada SPARC dan x86, Tru64 Unix, Windows 2000, XP, Windows Server 2003, Windows Vista, and Windows Server 2008. MySQL berkembang dari solusi yang dipakai oleh pembuatnya, TcX AB, dalam memproses data untuk aplikasi web. Fokusnya adalah pada kecepatan. MySQL menggunakan model threaded untuk proses server, semua user menghubungkan ke database tunggal untuk pengaksesan. MySQL tidak mendukung subqueries, store procedures dan cursor of views.
Arsitektur & Portabilitas
MySQL memiliki arsitektur multi-threading dan memiliki port natif ke Windows, sehingga mudah dijalankan di Windows.
Lisensi
Lisensi MySQL berada di bawah GPL, sehingga tidak boleh dimodifikasi untuk menghasilkan produk turunan yang closedsource.
Kecepatan
MySQL terkenal cepat dalam melakukan query sederhana. Dengan kata lain, dapat memproses lebih banyak SQL per satuan waktu.
X, FreeBSD, OpenBSD, NetBSD,Windows (Windows2000 SP4, Windows 2003 SP2 (32 bit) Server Standard, Enterprise & Datacenter), UnixWare, CentOS (Community Enterprise Operating System). PostgreSQL berkembang dari riset akademik. Fokus pengembangannya adalah pada fitur OO, reliabilitas, dan dukungan SQL. PostgreSQL menggunakan model non-threaded yang semua koneksi baru ke database-nya mendapatkan proses database yang baru. PostgreSQL mendukung subqueries, store procedures dan cursor of views. PostgreSQL juga sering disebut sebagai open source dari Oracle. PostgreSQL multiproses (forking), tetapi sulit diterapkan ke Windows karena Windows sangat thread-oriented. PostgreSQL sebenarnya bisa dijalankan di Windows, tapi melalui lapisan emulasi Cygwin. Lisensi PostgreSQL lebih liberal, sehingga banyak produk closed-source dan komersial yang bisa dikembangkan dari source code PostgreSQL. Dalam kondisi load tinggi (jumlah koneksi simultan besar), PostgreSQL sering mengalahkan M ySQL untuk query dengan klausa JOIN yang kompleks.
145 Fungsi Built-In
Full Text-Indexing
Keamanan
Tipe Data
M odifikasi Tabel
Lisensi
MySQL terkenal kaya fungsi built-in, seperti modifikasi string (REPLACE, RIGHT, LTRIM , LCASE), matematika (LOG, LOG10), tanggal. MySQL mendukung indeks full text secara natif.
PostgreSQL kurang unggul dalam fungsi built-in.
PostgreSQL mendukung full text searching lewat program lain (seperti: OpenFTS, openfts.sourceforge.net) yang memanfaatkan tipe data array-nya untuk menyimpan indeks dokumen. Sistem perizinan MySQL lebih PostgreSQL menawarkan mendetil dari PostgreSQL. metode yang terkenal M isalnya, pengaturan agar user beraneka ragam dan standar tertentu yang datang dari host industri untuk tertentu hanya bisa membaca tabel mengautentikasi pengguna saja tanpa bisa UPDATE. MySQL database, termasuk hanya mendukung sistem password, GSSAPI , SSPI autentikasi yang tidak standar. Hal ,Kerberos, Ident, LDAP, dan ini membuat perusahaan sulit PAM dalam menggunakannya, karena akun pada database tidak dapat diatur secara terpusat. MySQL sudah mendukung PostgreSQL lebih kaya semua tipe data umum. dalam hal tipe data (terutama yang domainspecific seperti tipe data geometris dan MONEY). MySQL lebih fleksibel dalam PostgreSQL terbatas hanya ALTER TABLE, yaitu bisa melakukan mendukung penambahan/ penambahan kolom, penghapusan kolom, penggantian nama kolom, penggantian definisi kolom. dan penggantian nama tabel. Lisensi MySQL berada di bawah Lisensi PostgreSQL lebih GPL, sehingga tidak boleh liberal, sehingga banyak dimodifikasi untuk menghasilkan produk closed-source dan produk turunan yang closed- komersial yang bisa source. dikembangkan dari source code PostgreSQL.
Kesimpulan
146 Setelah melakukan perbandingan pada kedua DBM S di atas, disimpulkan bahwa kedua DBM S tersebut dapat mendukung perancangan sistem. Tetapi MySQL memiliki beberapa kelebihan dari PostgreSQL. MySQL memiliki kecepatan yang lebih tinggi daripada PostgreSQL dalam hal query sederhana. Selain itu, MySQL lebih mudah diinstal dan dioperasikan dibandingkan dengan PostgreSQL. Keunggulan MySQL dalam fungsi built-in juga lebih tinggi daripada PostgreSQL. Kemudian dari segi pemodifikasian tabel, M ySQL jauh lebih
fleksibel
dibandingkan
dengan
PostgreSQL.
M empertimbangkan aplikasi sistem yang dirancang untuk sekolah akan digunakan oleh siswa berjumlah standar, maka DBM S yang lebih compatible untuk digunakan adalah MySQL. Selain itu MySQL memiliki harga yang lebih murah dan mudah dalam penggunaanya.
4.1.3.3 Merancang Enterprise Constraints M engatur bahwa nilai pada field JenisKelaminSiswa di entitas Siswa hanya dapat diisi huruf ‘P’ ataupun ‘L’ saja. CONSTRAINT BatasanJenisKelaminSiswaTagihan CHECK ( NOT EXIS T ( S ELECT KdSiswa FROM Siswa WHERE JenisKelaminSiswa = ‘P’ OR JenisKelaminSiswa = ‘L’))
147 M engatur supaya Semester pada entitas RaporBayangan hanya bisa diisi angka 1 atau 2. CONSTRAINT BatasanSemesterRaporBayangan CHECK ( NOT EXIS T ( S ELECT KdRaporBayangan FROM RaporBayangan WHERE Semester = 1 OR Semester = 2))
M engatur supaya Semester pada entitas RaporAkhir hanya bisa diisi angka 1 atau 2. CONSTRAINT BatasanSemesterRaporAkhir CHECK ( NOT EXIS T ( S ELECT KdRaporAkhir FROM RaporAkhir WHERE Semester = 1 OR Semester = 2))
M engatur supaya Semester pada entitas Silabus hanya bisa diisi angka 1 atau 2. CONSTRAINT BatasanSemesterSilabus CHECK ( NOT EXIS T ( S ELECT KdSilabus FROM Silabus WHERE Semester = 1 OR Semester = 2))
M engatur supaya Semester pada entitas RPP hanya bisa diisi angka 1 atau 2. CONSTRAINT BatasanSemesterRPP CHECK ( NOT EXIS T ( S ELECT KdRPP FROM RPP WHERE Semester = 1 OR Semester = 2))
148
M engatur supaya Semester pada entitas JadwalHarian hanya bisa diisi angka 1 atau 2. CONSTRAINT BatasanSemesterJadwalHarian CHECK ( NOT EXIS T ( S ELECT KdJadwalHarian FROM JadwalHarian WHERE Semester = 1 OR Semester = 2))
M engatur batasan nilai dari NilaiRA yang berada di tabel DRaporAkhir hanya boleh dalam jangka 0 sampai 100. CONSTRAINT BatasanNilaiRA CHECK ( NOT EXIS T ( S ELECT KdRaporAkhir,KdM ataPelajaran) FROM NilaiRA WHERE Jawaban BETWEEN 0 AND 100)) M engatur batasan nilai dari NilaiRB yang berada di tabel DRaporAkhir hanya boleh dalam jangka 0 sampai 100. CONSTRAINT BatasanNilaiRB CHECK ( NOT EXIS T ( S ELECT KdRaporBayangan,KdM ataPelajaran) FROM NilaiRA WHERE Jawaban BETWEEN 0 AND 100))
M engatur supaya nilai Sakit, Izin ataupun TanpaKeterangan pada RaporAkhir haruslah positif. CONSTRAINT BatasanAbsenRaporAkhir
149 CHECK (NOT EXIS T (S ELECT KdRaporAkhir FROM RaporAkhir WHERE Sakit >= 0 AND Izin >=0 AND TanpaKeterangan >=0 ))
M engatur supaya nilai Sakit, Izin ataupun TanpaKeterangan pada RaporBayangan haruslah positif. CONSTRAINT BatasanAbsenBayanganAkhir CHECK (NOT EXIS T (S ELECT KdRaporBayangan FROM RaporBayangan WHERE Sakit >= 0 AND Izin >=0 AND TanpaKeterangan >=0 ))
Fungsi CONSTRAINT di dalam DBM S MySQL walaupun dapat diparsed tetapi tidak akan menghasilkan efek apa-apa. Artinya MySQL masih belum memiliki fungsi untuk menjalankan constraint hanya bisa mengenali sintaksnya saja.
4.1.3.4 Memilih Organisasi File Dengan
DBM S
MySQL,
tersedia
beberapa
sistem
penyimpanan. Dan yang paling terkenal adalah M yISAM dan InnoDB. Orginasi file yang dipilih adalah InnoDB karena sistem organisasi file ini mendukung FOREIGN KEY untuk keperluan merancang database berbasis relasi. Selain itu InnoDB juga memiliki kemampuan commit,
rollback,
dan crash-recovery. M emiliki
kemampuan row-level locking (kemampuan melakukan beberapa
150 transaksi di row yang berbeda di tabel yang sama secara bersamaan, karena yang terkunci hanya baris pada tabel, bukan seluruh tabel dikunci ketika terjadi transaksi oleh karena itu InnoDB sudah mendukung ACID (Atomicity, Consistency, Isolation, Durability) yang menjamin proses transaksi reliable. Atomicity menjamin jika suatu entitas mengalami perubahan maka entitas lain yang berpengaruh akan ikut mengalami perubahan. Apabila salah satu entitas gagal mengalami perubahan, maka perubahan entitas yang lain akan dibatalkan. Consistency menjamin database akan tetap dalam keadaan konsisten baik sebelum maupun sesudah transaksi. Arti konsisten di sini berarti tidak melanggar aturan Constraint ataupun aturan-aturan lainnya. Isolation menjamin suatu operasi tidak dapat mengakses data yang sedang dalam tahap transaksi. Tujuannya untuk performa transaksi juga sekaligus menjaga konsistensi data. Durability menjamin apabila transaksi berhasil maka hasil transaksi akan permanen dan tidak dapat dibalikkan lagi. Umumnya dengan cara transaction log yang memungkinkan database kembali seperti semula sebelum terjadi kegagalan database (database failure).
151 4.1.3.5 Analisi Transaksi Pada tahap ini digunakan untuk mengerti fungsi dari transaksi yang akan dijalankan dalam database dan menganalisa transaksi yang penting. Berikut ini adalah analisis transaksi untuk mengetahui tabeltabel yang sering diakses jika suatu transaksi dilaksanakan. A) Siswa mampu melihat dan mengubah isi profilenya sendiri. B) Siswa dapat melihat nilai rapor bayangan yang dia miliki tiap semester. C) Siswa dapat melihat nilai rapor akhir yang dia miliki tiap semester. D) Siswa dapat melihat jadwal harian yang dimiliki. E) Siswa dapat melihat jadwal ujian. F) Siswa dapat mengakses dan mengunduh materi tambahan yang diunggah oleh guru G) Guru dapat melihat daftar siswa. H) Guru dapat melihat daftar karyawan yang lain. I) Guru dapat melihat dan mengubah isi profilenya sendiri. J) Guru dapat memasukkan catatan mengenai kegiatan belajar mengajar tiap pertemuan. K) Guru dapat meng-upload dan menghapus materi tambahan. L) Guru dapat melihat mata pelajaran yang diajar. M ) Guru dapat melihat JadwalHarian yang berisi jadwal mengajarnya. N) Guru dan siswa dapat melihat isi dari RPP.
152 O) Guru dan siswa dapat melihat isi dari Silabus. P) Wali kelas dapat melihat, memasukkan dan mengubah nilai RaporBayangan sesuai dengan kelas yang diwalikannya. Q) Wali kelas dapat melihat, memasukkan, dan mengubah nilai RaporAkhir sesuai dengan kelas yang diwalikannya. R) Admin dapat melihat, memasukkan, mengubah atau menghapus data Siswa. S) Admin dapat melihat, memasukkan, mengubah atau menghapus data Karyawan. T) Admin dapat melihat dan mengubah isi profilenya sendiri. U) Admin dapat memasukkan, mengubah dan melihat Silabus. V) Admin dapat memasukkan, mengubah dan melihat RPP. W) Admin dapat memasukkan, mengubah dan melihat JadwalHarian tiap kelas. X) Admin dapat memasukkan, menghapus, mengubah dan melihat JadwahUjian tiap kelas Y) Admin dapat memasukkan dan menghapus Guru untuk M ataPelajaran. Z) Admin mampu membuat kategori di forum AA) Admin, siswa, dan guru mampu membuka dan menambah isi Post dan Topik di Forum.
153 Tabel 4.7 Analisis Transaksi Transaksi / Relasi
A I
R
B U
D
I
R
C U
D
I
R
Karyawan MsPosisi RaporBayangan
X
DRaporBayangan
X
RaporAkhir
X
DRaporAkhir
X
Siswa MataPelajaran KaryawanMataPelajaran Silabus S tandarKompetensi KompetensiDasar RPP PertemuanBM JamSekolah JadwalHarian JadwalUjian Materi Post Topik Forum
X
X
X
X
X
X
U
D
154 Tabel 4.8 Analisis Transaksi (Lanjutan) D R U D I
R U D I
Siswa
X
X
MataPelajaran
X
X
X
X
X
Transaksi / Relasi
I
E
F
G R U D I R U D
Karyawan MsPosisi RaporBayangan DRaporBayangan RaporAkhir DRaporAkhir X
KaryawanMataPelajaran Silabus S tandarKompetensi KompetensiDasar RPP PertemuanBM JamSekolah
X
JadwalHarian
X
JadwalUjian Materi Post Topik Forum
155 Tabel 4.9 Analisis Transaksi (Lanjutan) Transaksi / Relasi Karyawan
H I I R U D I R U D X X X
J I
R U D X
K I
R U D X
MsPosisi RaporBayangan DRaporBayangan RaporAkhir DRaporAkhir Siswa MataPelajaran
X
X
KaryawanMataPelajaran
X
X
Silabus S tandarKompetensi KompetensiDasar RPP PertemuanBM
X X
JamSekolah JadwalHarian JadwalUjian Materi Post Topik Forum
X X
X
156 Tabel 4.10 Analisis Transaksi (Lanjutan) Transaksi / Relasi Karyawan
L M N O I R U D I R U D I R U D I R U D X X X X
MsPosisi RaporBayangan DRaporBayangan RaporAkhir DRaporAkhir Siswa MataPelajaran
X
X
KaryawanMataPelajaran
X
X
X
Silabus
X
S tandarKompetensi
X
KompetensiDasar
X
RPP
X
PertemuanBM JamSekolah
X
JadwalHarian
X
JadwalUjian Materi Post Topik Forum
X
X
157 Tabel 4.11 Analisis Transaksi (Lanjutan) Transaksi / Relasi Karyawan
P I
Q
R U D I X
R
R U D I X
R U D I R U D X X X X
MsPosisi RaporBayangan
X X X
DraporBayangan
X X X
RaporAkhir
X X X
DRaporAkhir
X X X
Siswa MataPelajaran KaryawanMataPelajaran Silabus S tandarKompetensi KompetensiDasar RPP PertemuanBM JamSekolah JadwalHarian JadwalUjian Materi Post Topik Forum
X X X X X
X
S
158 Tabel 4.12 Analisis Transaksi (Lanjutan) Transaksi / Relasi Karyawan MsPosisi
T I R U D I X X X
U R U D I X
V R U D I X
W R U D X
X
X
X
RaporBayangan DraporBayangan RaporAkhir DRaporAkhir Siswa MataPelajaran KaryawanMataPelajaran Silabus
X X X
S tandarKompetensi KompetensiDasar RPP
X
X X
PertemuanBM JamSekolah JadwalHarian JadwalUjian Materi Post Topik Forum
X X X X
159 Tabel 4.13 Analisis Transaksi (Lanjutan) Transaksi / Relasi
X I
Karyawan
R U D I X
MsPosisi
Y R U D I X
Z R U D I
AA R U D
X
RaporBayangan DRaporBayangan RaporAkhir DRaporAkhir Siswa MataPelajaran
X
X
KaryawanMataPelajaran
X X X
RPP PertemuanBM JamSekolah
X
JadwalHarian JadwalUjian
X X X X
Post
X X
Topik
X X
Forum
X
X X
X
4.1.3.6 Penentuan indeks setiap entitas Tahap penambahan
ini dilakukan untuk menentukan apakah perlu indeks
untuk
mengembangkan
kinerja
sistem.
Penambahan indeks dilakukan pada relasi yang sering diakses untuk meningkatkan performa sistem sehingga proses pencarian akan lebih cepat.
160 Tabel 4.14 Indeks Entitas Tabel Entitas
Key
Nama Indeks
Karyawan
KdKaryawan
KaryawanInd
MsPosisi
KdPosisi
PosisiInd
RaporBayangan
KdRaporBayangan
RBInd
DraporBayangan
KdRaporBayangan DetailRBInd KdM ataPelajaran
RaporAkhir
KdRaporAkhir
RAInd
DRaporAkhir
KdRaporAkhir
DetailRAInd
KdM ataPelajaran Siswa
KdSiswa
SiswaInd
M ataPelajaran
KdM ataPelajaran
MPInd
KaryawanM ataPelajaran KdKaryawanMP
KaryawanM PInd
Silabus
KdSilabus
SilabusInd
StandarKompetensi
NoSK
SKInd
KompetensiDasar
NoKD
KDInd
RPP
KdRPP
RPPInd
PertemuanBM
KdPertemuanBM
BM Ind
JamSekolah
KdJamSekolah
JamSekolahInd
JadwalHarian
KdJadwalHarian
JHarianInd
JadwalUjian
KdJadwalUjian
JUjianInd
M ateri
KdM ateri
M ateriInd
Forum
KdForum
ForumInd
Topik
KdTopik
TopikInd
Post
KdPost
PostInd
161 4.1.3.7 Mengestimasi Kapasitas Penyimpanan yang Dibutuhkan Langkah ini bertujuan untuk memperkirakan kapasitas penyimpanan yang dibutuhkan oleh basis data. Perkiraan kapasitas penyimpanan setiap tabel adalah sebagai berikut :
Tabel 4.15 Tabel Estimasi Disk Space Karyawan Nama Field
Type
Ukuran
KdKaryawan
Integer
4
Password
Varchar
50
NamaKaryawan
Varchar
100
KdPosisi
Integer
4
KelasWali
Varchar
10
TanggalLahirKaryawan
Varchar
20
AlamatKar
Varchar
200
NoTelp
Integer
4
NoHP
Integer
4
Kapasitas dari Tabel Karyawan adalah 396 bytes Ukuran dari tabel ini adalah 396 x 40 = 15840 bytes atau 15.46 Kbytes
Tabel 4.16 Tabel Estimasi Disk Space M sPosisi Nama Field
Type
Ukuran
KdPosisi
Integer
4
PosisiKaryawan
Varchar
15
Kapasitas dari Tabel M sPosisi adalah 19 bytes Ukuran dari tabel ini adalah 19 x 6 = 54 bytes atau 0.05 Kbytes
162 Tabel 4.17 Tabel Estimasi Disk Space RaporBayangan Nama Field
Type
Ukuran
KdRaporBayangan
Integer
4
NamaKelas
Varchar
4
Semester
Tinyint
1
KdKaryawan
Integer
4
KdSiswa
Integer
4
TahunAjaran
Varchar
10
Sakit
Tinyint
1
Izin
Tinyint
1
Alpha
Tinyint
1
Kapasitas dari Tabel RaporBayangan adalah 30 bytes Diperkirakan dalam satu tahun terjadi 1080 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 30 x 1080 = 32400 bytes atau 31.64 Kbytes.
Tabel 4.18 Tabel Estimasi Disk Space DRaporBayangan Nama Field
Type
Ukuran
KdRaporBayangan
Integer
4
KdM ataPelajaran
Integer
4
NilaiRB
Integer
4
Kapasitas dari Tabel DRaporBayangan adalah 12 bytes Diperkirakan dalam satu tahun terjadi 14040 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 12 x 14040 = 168480 bytes atau 164.53 Kbytes.
163 Tabel 4.19 Tabel Estimasi Disk Space RaporAkhir Nama Field
Type
Ukuran
KdRaporAkhir
Integer
4
NamaKelas
Varchar
4
Semester
Tinyint
1
KdKaryawan
Integer
4
KdSiswa
Integer
4
TahunAjaran
Varchar
10
Text
500
Sakit
Tinyint
1
Izin
Tinyint
1
Alpha
Tinyint
1
Komentar
Kapasitas dari Tabel RaporAkhir adalah 530 bytes Diperkirakan dalam satu tahun terjadi 1080 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 530 x 1080 = 572400 bytes atau 558.98 Kbytes.
Tabel 4.20 Tabel Estimasi Disk Space DRaporAkhir Nama Field
Type
Ukuran
KdRaporAkhir
Integer
4
KdM ataPelajaran
Integer
4
NilaiRA
Integer
4
Kapasitas dari Tabel DRaporAkhir adalah 12 bytes Diperkirakan dalam satu tahun terjadi 14040 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 12 x 14040 = 168480 bytes atau 164.53 Kbytes.
164 Tabel 4.21 Tabel Estimasi Disk Space Siswa Nama Field
Type
Ukuran
KdSiswa
Integer
4
NamaSiswa
Varchar
100
Password
Varchar
50
NamaKelas
Varchar
4
TanggalLahirSiswa
Varchar
10
JenisKelaminSiswa
Char
1
AlamatSiswa
Varchar
200
NoTelp
Integer
4
NoHP
Integer
4
Kapasitas dari Tabel Siswa adalah 377 bytes Diperkirakan dalam satu tahun terjadi 540 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 377 x 540 = 203580 bytes atau 198.8 Kbytes
Tabel 4.22 Estimasi Disk Space M ataPelajaran Nama Field
Type
Ukuran
KdM ataPelajaran
Integer
4
NamaM ataPelajaran
Varchar
20
Kapasitas dari Tabel M ataPelajaran adalah 24 bytes Ukuran dari tabel ini adalah 24 x 78 = 1872 bytes atau 1.828 Kbytes
165 Tabel 4.23 Estimasi Disk Space KaryawanM ataPelajaran Nama Field
Type
Ukuran
KdKaryawanMP
Integer
4
KdM ataPelajaran
Integer
4
KdKaryawan
Integer
4
NamaM ataPelajaran
Varchar
20
Kapasitas dari Tabel KaryawanM ataPelajaran adalah 32 bytes Diperkirakan dalam satu tahun terjadi 4 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 32 x 4 = 132 bytes atau 0.128 Kbytes.
Tabel 4.24 Tabel Estimasi Disk Space RPP Nama Field
Type
Ukuran
KdRPP
Integer
4
NamaKelas
Varchar
4
KdKaryawan
Integer
4
KdM ataPelajaran
Integer
4
Semester
Tinyint
1
Pertemuan
Integer
4
Waktu
Varchar
20
Indikator
Text
500
TujuanPembelajaran
Text
500
JudulSK
Varchar
200
JudulKD
Varchar
200
KegiatanPembelajaran
Text
500
M etodePembelajaran
Text
500
SumberBelajar
Text
500
166
Kapasitas dari Tabel RPP adalah 2941 bytes Diperkirakan dalam satu tahun terjadi 936 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 2941 x 936 = 2752776 bytes atau 2688.25 Kbytes.
Tabel 4.25 Tabel Estimasi Disk Space PertemuanBM Nama Field
Type
Ukuran
KdPertemuanBM
Integer
4
KdRPP
Integer
4
NamaKelas
Varchar
4
KegiatanPembelajaran
Text
500
Catatan
Text
500
Kapasitas dari Tabel PertemuanBM adalah 1012 bytes Diperkirakan dalam satu tahun terjadi 30240 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 1012 x 12600 = 30602880 bytes atau 29885.62 Kbytes.
167 Tabel 4.26 Tabel Estimasi Disk Space Silabus Nama Field
Type
Ukuran
KdSilabus
Integer
4
KdKaryawan
Integer
4
KdM ataPelajaran
Integer
4
NamaKelas
Varchar
4
Semester
Tinyint
1
Kapasitas dari Tabel Silabus adalah 13 bytes Diperkirakan dalam satu tahun terjadi 78 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 13 x 78 = 1014 bytes atau 0.99 Kbytes.
Tabel 4.27 Tabel Estimasi Disk Space StandarKompetensi Nama Field
Type
Ukuran
Integer
4
JudulStandarKompetensi Varchar
20
KdSilabus
Integer
4
NamaKelas
Varchar
4
Semester
Tinyint
1
NoSK
Kapasitas dari Tabel StandarKompetensi adalah 33 bytes Diperkirakan dalam satu tahun terjadi 360 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 33 x 360 = 11880 bytes atau 11.60 Kbytes.
168 Tabel 4.28 Tabel Estimasi Disk Space KompetensiDasar Nama Field
Type
Ukuran
NoKD
Integer
4
NoSK
Integer
4
JudulKompetensiDasar
Varchar
20
Indikator
Text
500
PengalamanBelajar
Text
500
Varchar
20
SumberBelajar
Text
500
Penilaian
Text
500
Waktu
Kapasitas dari Tabel KompetensiDasar adalah 2048 bytes Diperkirakan dalam satu tahun terjadi 1440 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 2048 x 1440 = 2949120 bytes atau 2880 Kbytes.
Tabel 4.29 Tabel Estimasi Disk Space Tabel JamSekolah Nama Field
Type
Ukuran
KdJamSekolah
Integer
4
Hari
Varchar
10
Jam
Varchar
15
Kapasitas dari Tabel JamSekolah adalah 29 bytes Ukuran dari tabel ini adalah 29 x 48 = 1392 bytes atau 1.35 Kbytes
169 Tabel 4.30 Tabel Estimasi Disk Space JadwalHarian Nama Field
Type
Ukuran
KdJadwalHarian
Integer
4
NamaKelas
Varchar
4
Semester
Tinyint
1
KdM ataPelajaran
Integer
4
KdJamSekolah
Integer
4
KdKaryawan
Integer
4
Kapasitas dari Tabel JadwalHarian adalah 21 bytes Diperkirakan dalam satu tahun terjadi 756 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 21 x 756 = 15876 bytes atau 15.5 Kbytes.
Tabel 4.31 Tabel Estimasi Disk Space JadwalUjian Nama Field
Type
Ukuran
KdJadwalUjian
Integer
4
NamaKelas
Varchar
4
Semester
Tinyint
1
KdM ataPelajaran
Integer
4
Tanggal
Varchar
10
Jam
Varchar
10
Kapasitas dari Tabel JadwalUjian adalah 21 bytes Diperkirakan dalam satu tahun terjadi 156 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 21 x 24 = 3276 bytes atau 3.199 Kbytes.
170 Tabel 4.32 Tabel Estimasi Disk Space M ateri Nama Field
Type
Ukuran
KdM ateri
Integer
4
JudulM ateri
Varchar
100
NamaKelas
Varchar
4
Text
500
Soal
Boolean
1
NamaFile
Varchar
100
KdM ataPelajaran
Integer
4
Tanggal
Varchar
10
Deskripsi
Kapasitas dari Tabel M ateri adalah 723 bytes Diperkirakan dalam satu tahun terjadi 200 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 723 x 200 = 144600 bytes atau 141.21 Kbytes.
Tabel 4.33 Tabel Estimasi Disk Space Post Nama Field
Type
Ukuran
KdPost
Integer
4
IsiPost
Text
500
TanggalPost
Date
3
KdTopik
Integer
4
KdSiswa
Integer
4
KdKaryawan
Integer
4
Kapasitas dari Tabel Post adalah 519 bytes Diperkirakan dalam satu tahun terjadi 1000 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 519 x 1000 = 519000 bytes atau 506.8 Kbytes.
171 Tabel 4.34 Tabel Estimasi Disk Space Topik Nama Field
Type
Ukuran
KdTopik
Integer
4
KdForum
Integer
4
JudulTopik
Varchar
100
DeskripsiTopik
Varchar
500
TanggalTopik
Date
3
KdSiswa
Integer
4
KdKaryawan
Integer
4
Kapasitas dari Tabel Topik adalah 619 bytes Diperkirakan dalam satu tahun terjadi 100 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 619 x 100 = 61900 bytes atau 60.449 Kbytes.
Tabel 4.35 Tabel Estimasi Disk Space Forum Nama Field
Type
Ukuran
KdForum
Integer
4
NamaForum
Varchar
100
DeskripsiForum
Varchar
500
M oderator
Varchar
50
Kapasitas dari Tabel Forum adalah 654 bytes Diperkirakan dalam satu tahun terjadi 2 transaksi. Dalam satu tahun perkiraan pertumbuhan dari tabel ini adalah 654 x 2 = 1308 bytes atau 1.277 Kbytes.
172 Tabel 4.36 Tabel Total Disk Space yang dibutuhkan Nama Tabel
Kapasitas yang dibutuhkan dalam 1 tahun (Kbytes)
Karyawan
15.56
MsPosisi
0.05
RaporBayangan
31.64
DRaporBayangan
164.53
RaporAkhir
558.98
DRaporAkhir
164.53
Siswa
198.8
M ataPelajaran
1.828
KaryawanM ataPelajaran
0.128
RPP PertemuanBM Silabus
2688.25 29885.62 0.99
StandarKompetensi
11.60
KompetensiDasar
2880
JamSekolah
1.35
JadwalHarian
15.5
JadwalUjian
3.199
M ateri Post
141.21 506.8
Topik
60.449
Forum
1.277
Total space yang dibutuhkan dalam 1 tahun adalah 37332.291 Kbytes atau 36.457 M Bytes Total space yang dibutuhkan dalam 5 tahun adalah 36.457 x 5 = 182.286 M Bytes
173 4.1.3.8 Merancang Mekanisme Keamanan Dalam perancangan mekanisme keamanan dapat dibagi dalam dua hal yaitu perancangan keamanan secara fisik dan secara sistem. M ekanisme keamanan secara fisik adalah penanganan keamanan yang berhubungan langsung dengan komputer server secara fisik. Sedangkan penanganan secara sistem yaitu secara logikal dengan penanganan dengan mengatur software atau piranti lunak yang berhubungan dengan server Secara fisik, komputer server yang digunakan adalah milik perusahaan PT. Orihosting Indonesia yang diletakkan di dalam suatu ruangan khusus. PT. Orihosting Indonesia sendiri merupakan suatu perusahaan yang bergerak dalam bidang penyediaan jasa untuk hosting web agar web yang dibuat dapat dilihat oleh masyarakat luas dan bisa diakses langsung dari browser yang dimiliki client. Secara sistem sistem operasi yang digunakan oleh server adalah sistem operasi Linux. A gar dapat mengakses kedalam komputer server, pengguna harus memiliki akun di komputer tersebut terlebih dahulu. Jika sudah memiliki akun makan pengguna bisa mengakses file-file di dalam server, menggunakan jalur FTP. Sistem operasi tersebut menyediakan software keamanan antara lain : • Firewall Firewall yang digunakan adalah salah satu aplikasi yang terdapat pada sistem operasi Linux yaitu IP Table.
174 Fungsi dari Firewall antara lain : •
M encatat semua kejadian, dan melaporkannya kepada administrator
•
Dapat melakukan autentikasi terhadap akses
•
M elindungi sumber daya dalam jaringan privat
•
M engatur dan mengontrol lalu lintas jaringan
• Antivir ClamAV Program antivirus yang digunakan oleh server untuk mencegah dan melindungi komputer dari serangan virus. • Brute Force Protection Berfungsi untuk melindungi server dari serangan Brute Force yang memaksa login ke dalam server. • S pam Assassin Digunakan untuk melindungi server dari serangan spamming melalui email. • Host Access List Berfungsi untuk membatasi jumlah IP yang mengakses ke server.
Selain itu dibuat juga sistem keamanan pada DBM S, dengan membuat kelompok user yang diberikan hak atau batasan tertentu untuk mengubah, memasukkan, menghapus data ke dalam database atau hanya sekedar bisa melihat saja tanpa bisa mengubah isi data tersebut. Sehingga keamanan data akan lebih terjamin dan semua transaksi yang terjadi dapat dipantau dengan baik.
175 Tabel 4.37 M ekanisme Keamanan Transaksi
Karyawan MsPosisi RaporBayangan DraporBayangan RaporAkhir DRaporAkhir Siswa MataPelajaran KaryawanMataPelajaran Silabus S tandarKompetensi KompetensiDasar RPP PertemuanBM JamSekolah JadwalHarian JadwalUjian Materi Post Topik Forum
Admin Karyawan WaliKelas I R U D I R U D I R U D I X X X X X X X X
X X X X X X X
X X X X X X X
X X X X X X X
X X X X X X X
X X X X X X X X
X X X X X X X X X X X X X X X X X
X X X X X
X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X
Siswa R U D
X X X X X
X X X X
X X X X X X X X X X X X X X X X X X X
4.2 Perancangan Aplikasi Berikut ini adalah perancangan aplikasi yang di dalamnya terdapat perancangan struktur menu untuk setiap jabatan seperti Admin, Guru, Wali kelas, Siswa Kemudian dilanjutkan dengan STD (State Transition Diagram), beserta dengan spesifikasi prosesnya.
176 4.2.1
S truktur Menu Berikut struktur menu dari Admin, Guru, Siswa
Gambar 4.8 S truktur menu Siswa
177
Gambar 4.9 S truktur menu Karyawan
178
Gambar 4.10 S truktur menu Admin
179 4.2.2
State Transition Diagram Diagram di bawah ini merupakan state transition diagram aplikasi database untuk SD Tarsisus II.
Gambar 4.11 S TD Halaman Login
Gambar 4.12 S TD Halaman Utama S iswa
180
Gambar 4.13 S TD Halaman Forum Siswa
Gambar 4.14 S TD Halaman Topik
Gambar 4.15 S TD Halaman Topik Baru
181
Gambar 4.16 S TD Halaman Diskusi
Gambar 4.17 S TD Halaman New Reply
Gambar 4.18 S TD Halaman Profile Siswa
182
Gambar 4.19 S TD Halaman Update Profile
Gambar 4.20 S TD Halaman Pembelajaran pada Siswa
183
Gambar 4.21 S TD Halaman Mata Pelajaran Siswa dan Karyawan
Gambar 4.22 S TD Halaman Silabus Siswa dan Karyawan
Gambar 4.23 S TD Halaman RPP Siswa dan Karyawan
184
Gambar 4.24 S TD Halaman Pertemuan pada Siswa
Gambar 4.25 S TD Jadwal Harian pada S iswa
Gambar 4.26 S TD Jadwal Ujian pada S iswa
185
Gambar 4.27 S TD Lihat Rapor Bayangan pada S iswa
Gambar 4.28 S TD Lihat Rapor Akhir pada S iswa
186
Gambar 4.29 S TD Halaman Ubah Password S iswa
Gambar 4.30 S TD Halaman Utama Karyawan
187
Gambar 4.31 S TD Halaman Forum Karyawan
Gambar 4.32 S TD Halaman Daftar Siswa pada Karyawan
188
Gambar 4.33 S TD Halaman Daftar Karyawan pada Karyawan
Pi lih U pd ate Ta mp il ka n H al am a n Up d ate P ro fl ie
P il ih P rofi le Tam pi lka n H a la ma n Pr ofil e
Ha la m an Uta ma Gu ru
Ha la ma n P ro fi le
Pi lih Ho me Ta mp ilk an Ha la ma n Uta ma Gu ru
Pi li h Fo rum Ta mp il ka n H al am an foru m H al am an Foru m
H a la ma n D a fta r Sis wa
H a la ma n D a fta r Ka rya wa n Ha la ma n U b ah Pa ssw o rd
H a la ma n U p da te Pro file
Pi li h D afta r Sis wa Ta mp il ka n H al am an D aftar S isw a Pil ih Da fta r Ka rya w an Ta mp il kan H al am an Da ftar K ary aw a n Pi li h U b ah Pas sw ord Tam pi lka n H a la ma n U ba h Pa ssw o rd
Pil ih Pe mb el aj ara n Tam pi lk an Ha la ma n P em be la ja ra n P il ih M as ukk an Ra p or B aya n ga n Tam pi lk an Ha la ma n M as ukk an R ap o r Bay an g an P ili h M as ukk an Ra p or Ak hi r Tam pi lka n H a la ma n Ma su kka n R ap or A kh ir Pi lih Li ha t Ra p or Ba ya n ga n Tam pi lka n H a la ma n L ih at R ap or B ay an ga n
P ili h L ih a t R a po r Akh ir Tam pi lka n H a la ma n L ih at R ap or A kh ir
H a la ma n P em be la ja ra n Ha la ma n M as uk kan R ap o r B ay an ga n
Ha la ma n M as uk kan R a po r Akh ir
H a la ma n L ih at R ap o r B ay an ga n
H a la ma n L ih at R a po r Akh ir
P ili h L og o ut K em ba li ke H a la ma n L og in Ha l am an Lo gi n
Gambar 4.34 S TD Halaman Profile Karyawan
189
Gambar 4.35 S TD Halaman Pembelajaran Karyawan
Gambar 4.36 S TD Halaman Pertemuan Karyawan
190
Gambar 4.37 S TD Halaman Masukkan Rapor Bayangan
Gambar 4.38 S TD Halaman Masukkan Rapor Akhir
191
Gambar 4.39 S TD Halaman Pengisian Rapor Akhir dan Rapor Bayangan
Gambar 4.40 S TD Halaman Lihat Rapor Bayangan Pada Karyawan
192
Gambar 4.41 S TD Halaman Lihat Rapor Akhir Pada Karyawan
Gambar 4.42 S TD Halaman Ubah Password Karyawan
193
Gambar 4.43 S TD Halaman Utama Admin
Gambar 4.44 S TD Halaman Forum Admin
194
Gambar 4.45 S TD Halaman Kategori Baru
Gambar 4.46 S TD Halaman Profile Admin
195
Gambar 4.47 S TD Halaman Register S iswa
Gambar 4.48 S TD Halaman Register Karyawan
196
Gambar 4.49 S TD Halaman Masukkan Jadwal Harian
Gambar 4.50 S TD Halaman Lihat Jadwal Harian
197
Pi lih Ma sukkan Jad wal U jia n Tampi lkan H ala man Masu kka n Ja dwa l Ujia n
Ha lama n Uta ma Admi n Ha lama n Pro fi le
Ha lama n Reg iste r Sisw a Hal aman R egi ste r Ka ryawa n Hal aman U bah Passwo rd
H ala man Masukka n Jadw al Ha rian
Ha lama n Masukkan Ja dwa l Uji an
Pili h Home Tampi lkan h ala man utama ad min
Pil ih Submi t Tampi lkan H alama n Jadw al Uji an
Pili h Fo rum Ta mpil kan Ha lama n foru m Hal aman Forum
Pili h Profile Ta mpil kan Ha lama n Profi le
Pil ih Masukka n RPP Tampi lkan H ala ma n Masukka n RPP H ala man Masukka n R PP Pilih Ma sukkan Si lab us Pil ih Re gister Sisw a Tamp ilkan H ala man Masu kkan Tamp ilkan H ala man Re gister Siswa Si lab us H ala man Masukka n Sila bus Pi lih R egi ste r Karya wan Pili h Ma sukkan Ma ta Pe laj aran Ta mpilka n Hal aman R egi ste r Ta mpilka n Hal aman Ma sukkan Karyaw an Ma ta Pe laj aran H ala man Masukka n Pil ih Uba h Passwo rd Tampi lkan H alama n Uba h Passwo rd Pi lih Ma sukkan Ja dwa l Haria n Tamp ilka n Hala man Masu kkan Ja dwa l Hari an
Mata Pe laj aran Pi lih D afta r Si swa Ta mpilka n Hal aman D afta r Si sw a Pili h D afta r Ka ryawa n Ta mpil kan Ha laman D afta r Karya wan
Hal aman D afta r Siswa Hal aman D afta r Ka ryawa n
Pili h Logo ut Kembal i ke Hal aman L ogi n
Ha lama n Log in
Gambar 4.51 S TD Halaman Masukkan Jadwal Ujian
Gambar 4.52 S TD Halaman Lihat Jadwal Ujian
198
Gambar 4.53 S TD Halaman Detail Jadwal
Gambar 4.54 S TD Halaman Detail Jadwal Ujian
Gambar 4.55 S TD Halaman Masukkan Silabus
199
Gambar 4.56 S TD Halaman Lihat Silabus
Gambar 4.57 S TD Halaman Detail Silabus
200
Gambar 4.58 S TD Halaman Masukkan RPP
Gambar 4.59 S TD Halaman Lihat RPP
201
Pilih Delete Tampilkan Halaman Detail RPP
Halaman Detail RPP
Pilih Update Tampilkan Halaman Masukkan RPP
Halaman Masukkan RPP
Pilih Back Tampilkan Halaman Lihat Jadwal Ujian
Halaman Lihat RPP
Gambar 4.60 S TD Halaman Detail RPP
Gambar 4.61 S TD Halaman Masukkan Mata Pelajaran
202
Gambar 4.62 S TD Halaman Lihat Mata Pelajaran
Gambar 4.63 S TD Halaman Daftar Siswa pada Admin
203
Gambar 4.64 S TD Halaman Daftar Karyawan pada Admin
Gambar 4.65 S TD Halaman Update MataPelajaran, Daftar Karyawan dan Daftar Siswa
204
Gambar 4.66 S TD Halaman Ubah Password Admin
4.2.3
Rancangan Layar Berikut ini merupakan kumpulan dari perancangan layar pada aplikasi yang dirancang secara keseluruhan, antara lain:
205
Gambar 4.67 Rancangan Layar Halaman Login
Gambar 4.68 Rancangan Layar Halaman Forum
206
Gambar 4.69 Rancangan Layar Halaman Topik
Gambar 4.70 Rancangan Layar Halaman Topik Baru
207
Gambar 4.71 Rancangan Layar Halaman Diskusi
Gambar 4.72 Rancangan Layar Halaman New Reply
208
Gambar 4.73 Rancangan Layar Halaman Profile
Gambar 4.74 Rancangan Layar Halaman Update Profile
209
Gambar 4.75 Rancangan Layar Halaman Pembelajaran
Gambar 4.76 Rancangan Layar Halaman MataPelajaran
210
Gambar 4.77 Rancangan Layar Halaman Lihat Silabus dan RPP pada Karyawan dan Siswa
Gambar 4.78 Rancangan Layar Halaman Detail Pertemuan Pada Siswa
211
Gambar 4.79 Rancangan Layar Halaman Jadwal Harian
Gambar 4.80 Rancangan Layar Halaman Jadwal Ujian
212
Gambar 4.81 Rancangan Layar Halaman Rapor Pada S iswa
Gambar 4.82 Rancangan Layar Halaman Ubah Password
213
Gambar 4.83 Rancangan Layar Halaman Daftar Siswa pada Karyawan
Gambar 4.84 Rancangan Layar Halaman Daftar Karyawan pada Karyawan
214
Gambar 4.85 Rancangan Layar Halaman Detail Pertemuan pada Karyawan
Gambar 4.86 Rancangan Layar Halaman Masukkan Rapor dan Lihat Rapor pada Karyawan
215
Gambar 4.87 Rancangan Layar Halaman Pengisian Rapor pada Karyawan
Gambar 4.88 Rancangan Layar Halaman Lihat Rapor pada Karyawan
216
Gambar 4.89 Rancangan Layar Halaman Kategori Baru pada Admin
Gambar 4.90 Rancangan Layar Halaman Registrasi Siswa dan Karyawan
217
Gambar 4.91 Rancangan Layar Halaman Masukkan Jadwal Harian
Gambar 4.92 Rancangan Layar Halaman Masukkan Jadwal Ujian
218
Gambar 4.93 Rancangan Layar Halaman Lihat Jadwal pada Admin
Gambar 4.94 Rancangan Layar Halaman Detail Jadwal Harian
219
Gambar 4.95 Rancangan Layar Halaman Detail Jadwal Ujian
Gambar 4.96 Rancangan Layar Halaman Masukkan RPP dan Silabus
220
Gambar 4.97 Rancangan Layar Halaman Lihat RPP dan S ilabus
Gambar 4.98 Rancangan Layar Halaman Detail RPP dan Silabus
221
Gambar 4.99 Rancangan Layar Halaman Masukkan Mata Pelajaran
Gambar 4.100 Rancangan Layar Halaman Lihat Mata Pelajaran
222
Gambar 4.101 Rancangan Layar Halaman Daftar Siswa dan Karyawan
4.3 Implementasi 4.3.1
Jadwal Rencana Implementasi Tabel 4.38 Perencanaan Implementasi Minggu ke Kegiatan 1 2 3 4 5 6 Implementasi Sistem X Konversi Data X X Testing X Evaluasi dan Revisi X Pelatihan X
Sistem yang telah dirancang kemudian akan diimplementasi kepada user sesuai dengan jadwalyang direncanakan. User-user yang dilibatkan dalam training, yaitu staf IT dari YBHK, kepala sekolah dan guru-guru sekolah.
223 4.3.2
S pesifikasi Server Server yang disediakan oleh PT. Orihosting Indonesia digunakan sebagai web server. Web server tersebut menggunakan Apache versi 2.2.11 dan menyediakan dukungan bahasa PHP versi 5.2.9-2 dan database yaitu MySQL versi 5.1.33. Spesifikasi server yang digunakan adalah sebagai berikut : Platform
: Single CPU Tower Server
Processor
: Intel® Xeon® Processor 3065 (2.33 GHz, FSB 1333,Cache 4M B)
Chipset
: Intel® S3000 Server Chipset
Memory
: 2x1 GB ECC DDR2-800 PC-6400
Video
: Integrated ATI RN50 (ES1000) 16 M B
#1 Controller
: Integrated 6 ports SATA controller with embedded RAID
#1 Hard Dri ve
: 250 GB Serial ATA-II/300, 7200 RPM , Cache 8M B
#1 Optical Drive
: 16X DVD-ROM SATA
S tandard Bays
: Four HP proprietary fixed drive bays
Interface Provided : 6x USB 2.0, 2x Serial, VGA, LAN, Keyboard, M ouse Monitor
: SVGA 15”
Slot Provided
: 1x PCIe x8, 2x PCIe x1, 1x PCI
Networking
: Integrated NC105i PCI Express Gigabit Ethernet Server Adapter
O/S Provided
: Linux CENTOS 5.3 i686
224 4.3.3
S pesifikasi Client Spesifikasi komputer yang digunakan oleh client adalah sebagai berikut : Processor
: Intel® Pentium® 4 524 (3.06 GHz, Cache 1M B, LGA 775)
Memory
: 1 GB DDR-2 PC-5300
Video
: Integrated Intel GM A 3100 16 MB
Hard Dri ver
: 80 GB ATA-100, 5400 RPM
Interface Provided : Keyboard, M ouse
4.3.4
Monitor
: SVGA 15”
O/S Provided
: M icrosoft Windows XP Professional Service Pack 3
Browser
: M ozilla Firefox 3.5.7
S pesifikasi Kebutuhan Jaringan Dibutuhkan adanya internet untuk mendukung koneksi antara server dan client di mana hasil yang akan ditampilkan kepada client dilihat melalui browser.
4.3.5
Konversi Data Langkah
ini
dilakukan
untuk
mengkonversikan
data
yang
sebelumnya masih berupa paper base, file dalam bentuk M icrosoft Word dan file dalam bentuk M icrosoft Excel. Proses pemasukan data ke dalam format data yang berbeda tersebut memerlukan sumber daya manusia dua orang
225 atau lebih yang mempunyai keahlian menggunakan komputer. Waktu yang diperlukan dalam konversi data ini sekitar 10 hari.
4.3.6
Testing Testing dilakukan oleh Staf IT di YBHK dan guru komputer di SD Tarsisius II dengan tujuan untuk pencarian kesalahan.
4.3.7
Pelatihan Pada tahap ini dilakukan pelatihan kepada pihak-pihak yang terkait untuk menggunakan dan mengelola basis data serta bagaimana cara menggunakan aplikasi.
226 4.3.8 Cara Penggunaan Aplikasi Berikut Cara Pengoperasian Aplikasi :
Gambar 4.102 Tampilan Layar Halaman Login
Pada saat masuk ke dalam bagian manajemen pembelajaran pada website Tarsisius II, yang akan muncul pertama kali adalah halaman login. Halaman login ini harus diisi supaya pemakai dapat menjalankan fungsi-fungsi yang terdapat dalam keseluruhan sistem. Untuk menggunakannya, isi username dan password lalu tekan tombol login bila username dan password benar maka pengguna akan masuk ke halaman sistem yang dimulai dengan tampilan menu utama sesuai dengan akses yang diberikan admin. Sedangkan jika terjadi kesalahan pengisian username atau password, maka akan muncul pesan kesalahan.
227
Gambar 4.103 Tampilan Layar Halaman Forum pada Admin
Pada halaman forum untuk admin, terdapat kategori-kategori topik yang bisa di pilih dan juga terdapat fasilitas untuk kategori baru. Sedangkan halaman forum untuk karyawan dan siswa tidak terdapat fasilitas untuk membuat kategori baru.
Gambar 4.104 Tampilan Layar Halaman Forum
228
Gambar 4.105 Tampilan Layar Halaman Kategori Baru pada Admin
Gambar 4.106 Tampilan Layar Halaman Topik
229 Pada halaman topik, terdapat topik-topik yang sedang dibicarakan dan juga fasilitas untuk membuat topik baru. Pada halaman ini semua pengguna bis a membuat topik baru.
Gambar 4.107 Tampilan Layar Halaman Topik Baru
Gambar 4.108 Tampilan Layar Halaman Diskusi
230 Pada halaman diskusi, terdapat pembicaraan atau diskusi yang dilakukan di dalam sebuah topik. Pada halaman ini semua pengguna bisa ikut berdiskusi.
Gambar 4.109 Tampilan Layar Halaman New Reply
Gambar 4.110 Tampilan Layar Halaman Profile
231 Pada halaman profile, semua user dapat melihat profile diri sendiri serta bis a mengupdate profile nya.
Gambar 4.111 Tampilan Layar Halaman Update Profile
Gambar 4.112 Tampilan Layar Halaman M ata pelajaran
232 Halaman mata pelajaran ini bisa di akses oleh semua user kecuali admin.
Gambar 4.113 Tampilan Layar Halaman Pertemuan
Halaman mata pelajaran ini bisa diakses oleh semua user,kecuali admin. Tetapi ada pembagian hak akses. Jika user merupakan guru, tapi bukan guru mata pelajaran yang di pilih, maka pada bagian pertemuan tidak akan keluar pertemuannya.
Gambar 4.114 Tampilan Layar Halaman M asukkan RPP dan Silabus.
233 Halaman M asukkan Silabus dan M asukkan RPP hanya bisa di akses oleh admin. Halaman M asukkan Silabus dan M asukkan RPP sebagian besar komponennya sama, hanya ada sedikit yang membedakan, yaitu dalam M asukkan RPP ada Nama Guru dan Pertemuan.
Gambar 4.115 Tampilan Layar Halaman Lihat RPP dan Silabus
Berikut adalah tampilan Halaman Lihat RPP dan Lihat Silabus pada admin. Admin harus menentukan kelas berapa dan mata pelajaran apa yang ingin dilihat RPP atau Silabusnya.
234
Gambar 4.116 Tampilan Layar Halaman Detail Silabus dan Detail RPP
Berikut adalah Halaman Detail RPP dan Halaman Detail Silabus. Pada admin, RPP dan Silabus tersebut dapat di edit dan di delete, sedangkan pada karyawan dan siswa tidak bisa.
Gambar 4.117 Tampilan Layar Halaman Lihat Silabus pada Karyawan dan Siswa
235
Gambar 4.118 Tampilan Layar Halaman Detail Pertemuan pada Karyawan
Berikut adalah tampilan layar dari Halaman Detail Pertemuan. Pada karyawan, terdapat fasilitas upload materi dan pemberian informasi tentang kegiatan pembelajaran dan catatan, sedangkan pada siswa, hanya bisa membaca informasi tersebut dan bisa men-download materi.
236
Gambar 4.119 Tampilan Layar Halaman Detail Pertemuan Pada Siswa
Pada Jadwal Harian, Terdapat menu M asukkan Jadwal Harian, Lihat Jadwal Harian dan Detail Jadwal Harian pada admin. Sedangkan untuk siswa hanya terdapat Halaman Jadwal Harian. Guru tidak dapat mengakses Halaman ini.
237
Gambar 4.120 Tampilan Layar Halaman M asukkan Jadwal Harian
Gambar 4.121 Tampilan Layar Halaman Lihat Jadwal Ujian dan Jadwal Harian
238
Gambar 4.122 Tampilan Layar Halaman Detail Jadwal Harian pada Admin
Gambar 4.123 Tampilan Layar Halaman Jadwal Harian pada Siswa
239 Pada Jadwal Ujian, Terdapat menu M asukkan Jadwal Ujian, Lihat Jadwal Ujian dan Detail Jadwal Ujian pada admin. Sedangkan untuk siswa hanya terdapat Halaman Jadwal Ujian. Guru tidak dapat mengakses Halaman ini.
Gambar 4.124 Tampilan Layar Halaman M asukkan Jadwal Ujian
240
Gambar 4.125 Tampilan Layar Halaman Detail Jadwal Ujian pada admin
Gambar 4.126 Tampilan Layar Halaman Jadwal Ujian pada siswa
241 Pada bagian Rapor, terdapat Rapor Bayangan dan Rapor Akhir. Halaman M asukkan Rapor hanya dapat di akses oleh guru, sedangkan Halaman Lihat Rapor dapat di akses oleh guru dan siswa
Gambar 4.127 Tampilan Layar Halaman M asukkan Rapor dan Lihat Rapor pada Guru
Gambar 4.128 Tampilan Layar Halaman Pengisian Rapor pada Karyawan
242
Gambar 4.129 Tampilan Layar Halaman Lihat Rapor pada Karyawan
Gambar 4.130 Tampilan Layar Halaman Rapor Akhir dan Bayangan Pada Siswa
243 Pada bagian M ata Pelajaran terdapat M asukkan M ata Pelajaran dan Lihat M ata Pelajaran. Halaman ini hanya bisa di akses oleh admin.
Gambar 4.131 Tampilan Layar Halaman M asukkan M ata Pelajaran
Gambar 4.132 Tampilan Layar Halaman Lihat M ata Pelajaran
244
Pada bagian Registrasi terdapat Registrasi Karyawan dan Registrasi Siswa. Halaman ini hanya bisa di akses oleh admin.
Gambar 4.133 Tampilan Layar Halaman Registrasi Siswa dan Karyawan
Pada Bagian Daftar, terdapat Daftar Siswa dan Daftar Karyawan. Halaman ini hanya bisa di akses oleh guru dan admin. Pada admin, Daftar Siswa dan Daftar Karyawan dapat di update dan delete, sedangkan pada karyawan hanya bisa dilihat saja.
245
Gambar 4.134 Tampilan Layar Halaman Daftar Siswa pada Karyawan
Gambar 4.135 Tampilan Layar Halaman Daftar Siswa pada Admin
Berikut adalah tampilan Halaman Change Password. Halaman ini dapat diakses oleh semua user dan digunakan untuk mengubah password user.
246
Gambar 4.136 Tampilan Layar Halaman Ubah Password
4.4 Evaluasi 4.4.1
Evaluasi Database Pengujian database dilakukan dengan mengevaluasi integrity, security, redudansi, backup dan recovery serta performance pada sistem. a. Integrity Hasil dari evaluasi menunjukkan bahwa semua tabel yang ada telah diuji coba dan memenuhi rancangan domain, entitas, dan constraint sesuai dengan rancangan yang telah ditentukan pada tahap sebelumnya. b. Security Dari hasil evaluasi yang telah dilakukan dapat diketahui bahw a seluruh tabel yang diuji dapat berjalan sesuai dengan mekanisme yang
247 diinginkan,
dengan
menggunakan
pembagian
hak
akses
sesuai
pengelompokan user. Selain itu setiap user harus melakukan login terlebih dahulu dan tidak bisa langsung masuk ke halaman fungsi tertentu meskipun telah mengetikkan alamat fungsi tersebut, sehingga orang luar tidak dapat mengakses dengan bebas. c. Redudansi Dari hasil evaluasi dapat diketahui bahwa setiap tabel yang telah diuji memiliki tingkat redudansi data yang rendah karena semua tabel telah melalui tahap normalisasi. d. Rencana Backup dan Recovery •
Rencana Backup Untuk menjaga agar data tidak hilang maka perlu dilakukan backup secara rutin. Backup dilakukan pertama kali pada saat database telah selesai diuji dan ketika semua data telah dimasukkan. Setelah itu Backup akan dilakukan setiap dua bulan dan setiap tahun. Berikut tabel perencanaan backup yang akan dilakukan dan medianya.
Tabel 4.39 Perencanaan Backup Waktu Backup
Media Penyimpanan
M ingguan
Harddisk
Dua Bulan
CD
Tahunan
DVD
Mekanisme Backup secara manual pada Harddisk Backup secara manual pada CD Backup secara manual pada DVD
248 •
Rencana Recovery Recovery dilakukan jika terjadi kerusakan pada database. Jika data yang disimpan dalam harddisk rusak atau hilang, maka akan dilakukan recovery dari media penyimpanan lainnya seperti CD atau DVD yang dilakukan setiap dua bulan.
e. Performance Setelah dilakukan evaluasi dapat diketahui bahwa database yang dirancang dapat berjalan dengan baik dan menyediakan data dalam waktu yang singkat.
4.4.2 Evaluasi Aplikasi Berdasarkan hasil demo program yang telah kami lakukan terhadap kepala sekolah dan guru-guru di SD Tarsisius II pada hari jumat, tanggal 7 Januari 2011, pukul 10.00 dapat diperoleh evaluasi sebagai berikut : 1. Aplikasi cukup mudah dioperasikan. 2. Adanya fungsi forum membantu siswa dan guru mengetahui mengenai acara yang diadakan di sekolah serta memungkinkan terjadinya diskusi antara guru dan siswa. 3. M ateri tambahan untuk siswa dapat dengan mudah diberikan. 4. Siswa bisa melihat
nilai rapor
meskipun
rapor
asli telah
dikembalikan. 5. Adanya catatan kegiatan belajar mengajar, sehingga orang tua dapat mengetahui apa yang dipelajari anaknya selama di sekolah.
249 6. RPP dan silabus dapat dilihat secara online, sehingga siswa dan guru dapat dengan mudah melihat RPP dan silabus tanpa harus ke sekolah terlebih dahulu. 7. Aplikasi ini belum bisa meningkatkan motivasi belajar para siswa.