BAB III PERANCANGAN SISTEM
3.2 D ESAIN S ISTEM
3.2.4. Desain Database
44 o Kategori ke Kategori_murid: Setiap kategori dapat
memiliki banyak murid yang terdaftar.
o Kategori ke Pretest_kategori_nilai: Setiap kategori dapat memiliki banyak pengaturan nilai pretest yang terkait.
o User ke Mapel: Setiap pengguna (guru) dapat mengajar banyak mata pelajaran.
• One-to-One:
o Mapel ke Pretest_settings: Setiap mata pelajaran memiliki satu set pengaturan pretest yang unik.
Gambar ERD berikut ini mengilustrasikan hubungan dan struktur data secara keseluruhan, menggambarkan bagaimana entitas-entitas ini saling berhubungan dan berinteraksi dalam sistem.
ERD ini menunjukkan struktur data sistem yang terorganisir dengan baik untuk manajemen mata pelajaran dan penilaian. Setiap entitas memiliki peran penting dalam mendukung proses belajar mengajar, dari penyimpanan informasi tentang pengguna dan mata pelajaran hingga pengelolaan soal pretest dan materi pembelajaran. Hubungan one-to- many antara entitas seperti Mapel dan Soal serta Kategori dan Materi mencerminkan fleksibilitas sistem dalam mengelola banyak data terkait, sedangkan hubungan one-to-one antara Mapel dan Pretest_settings memastikan pengaturan yang spesifik untuk setiap mata pelajaran.
Struktur ini mendukung efisiensi dalam administrasi akademik dan penyesuaian materi sesuai kebutuhan murid
Id Int(11)
Tgl_daftar Date
Nama Varchar(50)
Levelnip Varchar(50)
Nisn Varchar(50)
Sekolah Varchar(50)
Kelas Varchar(50)
Kelas_paud Varchar(11)
Kelas_ tk Varchar(50)
Kelas_sd Varchar(50)
Kelas_smp Varchar(50)
Kelas_ sma Varchar(50)
Kategori Varchar(50)
Email Varchar(50)
Usename Varchar(32)
passsword Varchar(32)
Tabel 3. 1 User
Tabel User menyimpan informasi dasar tentang pengguna dalam sistem, termasuk identitas unik pengguna (Id), tanggal pendaftaran (Tgl_daftar), nama (Nama), dan informasi lainnya yang relevan dengan peran atau atribut pengguna seperti NISN, sekolah, dan kelas. Kolom- kolom seperti Level, nip, Kategori, dan Kelas menunjukkan tingkatan atau kategori pengguna, seperti siswa atau guru, dan level pendidikan yang sedang diikuti. Data seperti Email, Usename, dan passsword digunakan untuk autentikasi dan komunikasi dengan pengguna. Tipe data seperti Int digunakan untuk angka, Date untuk tanggal, dan Varchar untuk teks, dengan panjang yang ditentukan untuk membatasi jumlah karakter yang disimpan.
3.2.4.2 Tabel Mapel
46
Tabel Mapel menyimpan informasi
mengenai mata pelajaran yang tersedia dalam sistem. Kolom Id_mapel berfungsi sebagai identitas unik untuk setiap mata pelajaran. Nama_mapel menyimpan nama mata pelajaran, sementara Pengajar menyimpan nama atau informasi tentang pengajar yang bertanggung jawab atas mata pelajaran tersebut. Kolom kode digunakan untuk menyimpan kode unik atau singkatan untuk setiap mata pelajaran. Tipe data Int digunakan untuk identitas numerik, sedangkan Varchar digunakan untuk teks dengan panjang karakter yang dibatasi.
3.2.4.3 Tabel Soal
Nama Kolom Tipe Data
Id_soal Int(225)
Id_mapel Int(255)
Namasoal Varchar(255)
a Varchar(255)
B Varchar(255)
C Varchar(255)
D Varchar(255)
kunci Varchar(255)
Tabel 3. 3 Soal
Tabel Soal menyimpan informasi mengenai pertanyaan atau soal yang tersedia dalam sistem. Kolom Id_soal adalah identitas unik untuk setiap soal, sedangkan Id_mapel menghubungkan soal dengan mata pelajaran terkait, menunjukkan bahwa soal tersebut milik mata pelajaran tertentu. Namasoal menyimpan teks pertanyaan atau deskripsi soal.
Nama Kolom Tipe Data
Id_mapel Int(11)
Nama_mapel Varchar(50)
Pengajar Varchar(100)
kode Varhar(50)
Tabel 3. 2 Mapel
Kolom a, B, C, dan D digunakan untuk menyimpan opsi jawaban yang tersedia untuk setiap soal. Kunci menyimpan jawaban benar atau solusi untuk soal tersebut. Tipe data Int digunakan untuk kolom identitas numerik, dan Varchar digunakan untuk menyimpan teks dengan panjang karakter yang dibatasi.
3.2.4.4 Tabel Kategori
Nama Kolom Tipe Data
Id_kategori Int(11) Nama_kategori Varchar(255)
Id_mapel Int(11)
mapel Varchar(255)
Tabel 3. 4 Kategori
Tabel Kategori mengelompokkan mata pelajaran atau topik ke dalam berbagai kategori dalam sistem. Kolom Id_kategori adalah identitas unik untuk setiap kategori, sementara Nama_kategori menyimpan nama kategori, seperti "Sains," "Matematika," atau "Bahasa."
Id_mapel menghubungkan kategori dengan mata pelajaran terkait, menunjuk pada mata pelajaran tertentu yang masuk dalam kategori ini.
Kolom mapel kemungkinan berfungsi sebagai nama atau deskripsi tambahan untuk mata pelajaran yang termasuk dalam kategori tersebut.
Tipe data Int digunakan untuk identitas numerik, sedangkan Varchar digunakan untuk menyimpan teks dengan panjang karakter yang dibatasi.
3.2.4.5 Tabel Materi
Nama Kolom Tipe Data
Id_materi Int(255)
Judul Varchar(255)
Konten Varchar(255)
Link Varchar(255)
File_link Varchar(255)
Id_mapel Int(255)
Id_kategori Int(255)
48 Tabel Materi menyimpan informasi mengenai materi pembelajaran atau konten yang tersedia dalam sistem. Kolom Id_materi adalah identitas unik untuk setiap materi. Judul menyimpan nama atau judul materi, sedangkan Konten berisi ringkasan atau deskripsi singkat dari materi tersebut. Link dan File_link menyimpan URL atau lokasi file yang terkait dengan materi, seperti dokumen atau video. Id_mapel menghubungkan materi dengan mata pelajaran yang relevan, dan Id_kategori serta Nama_kategori menunjukkan kategori materi tersebut.
Tanggal_upload mencatat waktu dan tanggal materi diunggah ke sistem.
Tipe data Int digunakan untuk ID numerik, Varchar untuk teks dengan panjang karakter yang dibatasi, dan Timestamp untuk mencatat waktu dengan presisi tinggi.
3.2.4.6 Tabel Pretest_settings
Nama Kolom Tipe Data
Id_pretest_setting Int(11)
Id_mapel Int(11)
Id_soal Int(11)
Id_kategori Int(11)
bobot Int(11)
Tabel 3. 6 Pretest_settings
Tabel Pretest_settings digunakan untuk menyimpan pengaturan atau konfigurasi terkait pretest dalam sistem. Kolom Id_pretest_setting adalah identitas unik untuk setiap pengaturan pretest. Id_mapel menghubungkan pengaturan dengan mata pelajaran yang relevan. Id_soal merujuk pada soal yang digunakan dalam pretest. Id_kategori menunjukkan kategori soal atau materi yang terkait dengan pretest. Bobot menentukan nilai atau pentingnya soal dalam pretest. Semua kolom ID
Nama_kategori Varchar(255) Tanggal_upload Timestamp(6)
Tabel 3. 5 Materi
menggunakan tipe data Int untuk menyimpan nilai numerik, dan tipe data Int pada kolom bobot menyimpan nilai bobot numerik.
3.2.4.7 Tabel Pretest_kategori_nilai
Tabel Pretest_kategori_nilai digunakan untuk mengelola penilaian kategori dalam pretest. Kolom Id_pretese_kategori_nilai adalah identitas unik untuk setiap entri penilaian kategori pretest.
Id_pretesst_setting menghubungkan entri ini dengan pengaturan pretest yang relevan. Id_kategori merujuk pada kategori materi atau soal yang dinilai. Nnilai_minimal menyimpan nilai minimal yang diperlukan untuk mencapai kriteria tertentu dalam kategori tersebut. Id_mapel menghubungkan penilaian dengan mata pelajaran yang relevan. Semua kolom ID menggunakan tipe data Int untuk menyimpan nilai numerik.
Nama Kolom Tipe Data
Id_pretese_kategori_nilai Int(11) Id_pretesst_setting Int(11)
Id_kategori Int(11)
Nnilai_minimal Int(11)
Id_mapel Int(11)
Tabel 3. 7 Pretest_kategori_nilai
50 3.2.4.8 Tabel Mapel_murid
Tabel Mapel_murid menyimpan informasi mengenai hubungan antara murid dan mata pelajaran. Kolom Id_mapel_murid adalah identitas unik untuk setiap entri dalam tabel ini. Id_mapel menghubungkan entri ini dengan mata pelajaran yang relevan.
Username_murid menyimpan nama pengguna atau identitas murid yang terkait dengan mata pelajaran tersebut. Kategori_murid menyimpan kategori atau level murid dalam konteks mata pelajaran ini. Status adalah kolom dengan tipe data Tinyint(1) yang mungkin menunjukkan status pendaftaran atau keterlibatan murid dalam mata pelajaran (misalnya, aktif atau non-aktif). Tipe data Int digunakan untuk ID numerik, sedangkan Varchar digunakan untuk teks dengan panjang karakter yang dibatasi.
3.2.4.9 Tabel Kategori_murid
Nama Kolom Tipe Data
Id_mapel_murid Int(255)
Id_mapel Int(255)
Username_murid Vachar(255) Kategori_murid Varchar(255)
status Tinyint(1)
Tabel 3. 8 Mapel_murid
Nama Kolom Tipe Data
Id_kategori_murid Int(11)
Username Varchar(50)
Kelas Varchar(50)
Id_kategori Int(11) Nama_kategori Varchar(100)
Id_mapel Int(11)
Nama_mapel Varchar(100
Nilaiprestest Decimal(5,2
created timestamp
Tabel 3. 9 Kategori_murid
Tabel Kategori_murid menyimpan informasi tentang kategori yang terkait dengan murid dan mata pelajaran. Kolom Id_kategori_murid adalah identitas unik untuk setiap entri dalam tabel ini. Username menyimpan nama pengguna murid. Kelas menunjukkan kelas atau kelompok murid. Id_kategori menghubungkan entri ini dengan kategori tertentu, sedangkan Nama_kategori menyimpan nama kategori tersebut.
Id_mapel dan Nama_mapel merujuk pada mata pelajaran yang terkait dengan kategori ini. Nilaiprestest menyimpan nilai hasil pretest murid dalam format desimal (misalnya, 85.50). Created mencatat waktu dan tanggal ketika entri dibuat. Tipe data Int digunakan untuk ID numerik, Varchar untuk teks, Decimal untuk nilai numerik dengan presisi, dan Timestamp untuk mencatat waktu.