Perancangan Basis Data DFD Level 1 Sistem Informasi Akademik yang diusulkan

Aliran : proses 3.0 – wali kelas Atribut : nis, nama_siswa, kelas, mata_pelajaran, nilai, nilai_ratarata, semester, tahun_ajaran, wali_kelas, keterangan, nip. 9. Nama arus data : Raport sudah diverifikasi Alias : - Aliran : wali kelas – proses 3.0, proses 3.0 – siswa Atribut : nis, nama_siswa, kelas, mata_pelajaran, nilai, nilai_ratarata, semester, tahun_ajaran, wali_kelas, keterangan, nip. 10. Nama arus data : Jadwal Pelajaran Alias : - Aliran : proses 2.0 – siswa, proses 2.0 – guru Atribut : kode_mata_pelajaran , kelas, tahun_ajaran, mata_pelajaran, guru, hari, jam_pelajaran.

4.2.4. Perancangan Basis Data

Perancangan basis data merupakan perancangan sebuah database. Pada tahap ini penulis akan membuat normalisasi yang dilanjutkan dengan pembuatan ERD Entity Relational Diagram, relasi tabel dan struktur file. Tujuan dari perancangan skema database adalah untuk menentukan data-data yang dibutuhkan dalam sistem, sehingga informasi yang dihasilkan dapat terpenuhi dengan baik. Perancangan basis data dimaksudkan untuk memudahkan mengetahui file-file database yang digunakan dalam skema database dan mengetahui hubungan antar file dan database. Perancangan database meliputi ERD Entity Relationship Diagram, tabel relasi, normalisasi, struktur file dan kodefikasi.

4.2.4.1. Normalisasi

Bentuk ini merupakan rancangan awal dari pembuatan suatu database. Pada tahap ini, semua data yang ada direkam tanpa format tertentu. Data bisa jadi mengalami duplikasi. Berikut adalah bentuk normal:

1. Bentuk Tidak Normal

Bentuk ini sangat sederhana, aturannya adalah sebuah tabel tidak boleh mengandung kelompok yang berulang sehingga setiap atribut bernilai tunggal. Berikut ini adalah bentuk normal pertama: { nama_siswa, tempat_lahir, tanggal_lahir, jenis_kelamin, telepon, kewarganegaraan, agama, nama_orangtuawali, pendidikan_orangtuawali, pekerjaan_orangtuawali, kelas, jumlah_siswa, tingkat, jurusan, semester, tahun_ajaran, nip, nip, nama_guru, tempat_tanggal_lahir_guru, tgl_lahir_guru, jenis_kelamin, status_kawin, agama, jabatan, wali_dari_kelas, kelas, tahun_pelajaran, wali_kelas, no, nama_siswa, jenis_kelamin , nis, no. surat, kepada, tanggal, mewalikan kelas, no. surat, kepada, tanggal, mewalikan kelas, tanda_tangan, nis, nama_siswa, kelas, harian1, harian2, harian3, harian4, uts, uas, semester, tahun_ajaran, keterangan, nis, nama_siswa, kelas, mata_pelajaran, nilai, nilai_ratarata, semester, tahun_ajaran, wali_kelas, keterangan, nis, nama_siswa, kelas, mata_pelajaran, nilai, status_mata_pelajaran, nilai_ratarata, semester, tahun_ajaran, wali_kelas, keterangan,kelas, tahun_ajaran, hari, jam_mulai, jam_akhir, mata_pelajaran, guru, hari, jam_pelajaran }

2. Bentuk Normalisasi Pertama

Bentuk ini sangat sederhana, aturannya adalah sebuah tabel tidak boleh mengandung kolompok yang berulang sehingga setiap atribut bernilai tunggal. Berikut ini adalah bentuk normal pertama: { nis, nama_siswa, tempat_lahir, tanggal_lahir, jenis_kelamin, telepon, kewarganegaraan, agama, nama_ayah, pendidikan_ayah, pekerjaan_ayah, nama_ibu, pendidikan_ibu, tanggal_masuk, harian1, harian2, harian3, harian4, uts, uas, keterangan, nama_mata_pelajaran, status_mata_pelajaran, hari, jam_mulai, jam_akhir, jumlah_siswa, tingkat, jurusan, semester, tahun_ajaran, nip, nama_guru, tempat_lahir_guru, tgl_lahir_guru, jenis_kelamin, status_kawin, agama, jabatan }

3. Bentuk Normalisasi Kedua

siswa = { nis, nama_siswa, tempat_lahir, tanggal_lahir, jenis_kelamin, telepon, kewarganegaraan, agama, nama_ayah, pendidikan_ayah, pekerjaan_ayah, nama_ibu, pendidikan_ibu, pekerjaan_ibu, tanggal_masuk } kelas = { kode_kelas, nama_kelas, jumlah_siswa, tingkat, jurusan, semester, tahun_ajaran, nip } mata_pelajaran = { kode_mata_pelajaran, nama_mata_pelajaran, jumlah_jam } guru = { nip, nama_guru, tempat_lahir_guru, tgl_lahir_guru, jenis_kelamin, status_kawin, agama, jabatan } absen = { no_absen, kode_kelas, nis } nilai = { nis, nip, harian1, harian2, harian3, harian4, uts, uas, kode_mata_pelajaran } jadwal = { kd_jadwal, nip, kode_mata_pelajaran, kd_kelas, hari, jam_mulai, jam_akhir } Keterangan: = Primary key = Foreign key

4.2.4.2. Relasi Tabel

Relasi antar tabel menggambarkan hubungan antar tabel-tabel yang ada pada suatu sistem pengolahan data. Gambar hubungan relasi antar tabel pada sistem informasi akademik di SMA Negeri 10 Bandung adalah sebagai berikut: kelas kode_kelas jumlah_siswa tingkat jurusan nip semester tahun_ajaran nama_kelas mata_pelajaran kode_mapel nama_mapel jumlah_jam jadwal kode_jadwal kode_mapel kd_kelas hari jam_mulai jam_akhir semester tahun nip siswa nis nama_siswa tempat_lahir tanggal_lahir jenis_kelamin telepon_siswa kewarganegaraan agama nama_ayah pendidikan_ayah pekerjaan_ayah nama_ibu pendidikan_ibu pekerjaan_ibu alamat_orangtua telepon_orangtua tanggal_masuk guru nip nama_guru tempat_lahir_guru tgl_lahir_guru jenis_kelamin status_kawin agama jabatan golongan alamat_guru telepon_guru bagi kelas nis kode_kelas tahun_ajaran nilai nis kode_mapel harian1 harian2 harian3 harian4 uts uas nip semester Gambar 4.16 Relasi Tabel Sistem Informasi Akademik SMA Negeri 10 Bandung Keterangan : = Primary Key = Foreign Key

4.2.4.3. Entity Relationship Diagram

Pada Entity Relationship Diagram ERD, hubungan antar file direlasikandengan kunci relasi Relational Key yang merupakan kunci utama dari masing-masing file. Gambar ERD pada sistem informasi akademik di SMAN 10 Bandung adalah sebagai berikut : Siswa Kelas Nilai memiliki memberikan Guru memiliki memiliki Jadwal Mewakili Mata Pelajaran memiliki memiliki Memiliki Absen N N N N N N N I I N I I I I I I Gambar 4.17 Entity Relationship Diagram

4.2.4.4. Struktur File

Di dalam pembuatan program dibutuhkan suatu spesifikasi file yang dimaksudkan untuk dapat melakukan kegiatan-kegiatan dalam pengaturan pencarian data dan pembuatan laporan yang dapat memudahkan sistem komputer. Untuk itu sistem pengolahan data ini membutuhkan spesifikasi file untuk mempermudah dalam melakukan kegiatan pemrograman komputer, yang dapat dilihat pada tabel berikut : Tabel 4.2 Tabel Siswa No Nama field Type Size Keterangan 1 Nis Varchar 10 Nomor induk siswa 2 Nama_siswa Varchar 50 Nama siswa 3 Tempat_lahir Varchar 20 Tempat lahir 4 Tanggal_lahir Varchar 8 Tanggal lahir 5 Jenis_kelamin Char 1 Jenis kelamin 6 Telepon Varchar 15 Nomor telepon 7 Kewarganegaraan Varchar 20 Kewarganegaraan siswa 8 Agama Varchar 20 Agama 9 Nama_ayah Varchar 50 Nama ayah 10 Pendidikan_ayah Varchar 20 Pendidikan ayah 11 Pekerjaan_ayah Varchar 20 Pekerjaan ayah 12 Nama_ibu Varchar 50 Nama ibu 13 Pendidikan_ibu Varchar 20 Pendidikan ibu 14 Pekerjaan_ibu Varchar 20 Pekerjaan ibu 15 Tanggal_masuk Varchar 8 Tanggal masuk ke sekolah Tabel 4.3 Tabel Absen No Nama field Type size Keterangan 1 no_absen Varchar 10 Nomor absen 2 kode_kelas Varchar 10 Kode kelas 3 nis Varchar 10 Nomor induk siswa Tabel 4.4 Tabel Nilai No Nama field Type size Keterangan 1 nis Varchar 10 Nomor induk siswa 2 harian1 Decimal 4 Nilai harian 1 3 harian2 Decimal 4 Nilai harian 2 4 harian3 4 Nilai harian 3 5 Harian4 Decimal 4 Nilai harian 4 6 Uts Decimal 4 Nilai uts 7 Uas Decimal 4 Nilai uas 9 Kode_mata_pelajaran Varchar 10 Kode mata pelajaran 10 Nip Varchar 10 Nomor induk pegawai guru Tabel 4.5 Tabel Kelas No Nama field Type size Keterangan 1 Kode_kelas Varchar 10 Kode kelas 2 Nama_kelas Varchar 20 Nama dari kelas 3 Jumlah_siswa Int 4 Jumlah siswa 4 Tingkat Char 10 Tingkat kelas 5 Jurusan Varchar 20 Jurusan kelas 6 Semester Char 10 Semester 7 Tahun_ajaran Varchar 10 Tahun ajaran 8 Nip Varchar 10 Nomor induk pegawai Tabel 4.6 Tabel Mata Pelajaran No Nama field Type size Keterangan 1 Kode_mata_pelajaran Varchar 10 Kode mata pelajaran 2 Nama_mata_pelajaran Varchar 50 Nama mata pelajaran 3 Status_mata_pelajaran Varchar 20 Status mata pelajaran Tabel 4.7 Tabel Jadwal No Nama Field Type Size Keterangan 1 Kd_jadwal Varchar 10 Kode jadwal 2 Kode_mata_pelajaran Varchar 10 Kode mata pelajaran 3 Kd_kelas Varchar 10 Kode kelas 4 Hari Char 10 Hari 5 Jam_mulai Numeric 6 Jam mulai pelajaran 6 Jam_akhir Numeric 6 Jam akhir pelajaran Tabel 4.8 Tabel Guru No Nama field Type Size Keterangan 1 Nip Varchar 10 Nomor induk pegawai 2 Nama_guru Varchar 50 Nama guru 3 Tempat_lahir_guru Varchar 50 Tempat lahir guru 4 Tgl_lahir_guru Varchar 8 Tanggal lahir guru 5 Jenis_kelamin Char 1 Jenis kelamin 6 Status_kawin Varchar 20 Status kawin 7 Agama Varchar 20 Agama guru 8 Jabatan Varchar 20 Jabatan selain guru

4.2.4.5. Kodifikasi

Pengkodean merupakan suatu pengelompokan data dan pemrosesannya. Pengkodean ini berguna untuk membantu dalam mengidentifikasi suatu objek secara singkat, agar kesalahan dalam identifikasi objek dapat dihindarkan. Kode dapat dibentuk dari kumpulan huruf, angka atau kombinasi antara kumpulan huruf dan angka dalam bentuk kumpulan karakter khusus. Dalam sistem yang di rancang ini terdapat beberapa pengkodean yaitu sebagai berikut : 1. Nomor Induk Siswa NIS Format : XXXX XX XXX Menunjukkan nomor urut siswa Menunjukkan diterima dikelas berapa Menunjukkan tahun ajaran Contoh : 0708 10 035 0708 : Tahun Ajaran 2007-2008 10 : diterima di kelas 10 035 : Nomor urut siswa 2. Nomor Induk Pegawai NIP Format : XXXXXXXX XXX Menunjukkan nomor urut pekerja Menunjukkan tanggal lahir pekerja Contoh : 1963 0228 003 196030228 : Tahun, Bulan dan tanggal lahir dari pekerja tersebut 003 : Nomor Urut pekerja tersebut 3. Kode Mata Pelajaran Format : XX Singkatan dari mata pelajaran Contoh : FI FI : singkatan dari mata pelajaran Fisika 4. Kode Kelas Format : XXX XXX XX Menunjukkan nomor urut kelas Menunjukkan jurusan kelas Menunjukkan tingkatan kelas Contoh : XII IPS 01 XII : tingkat kelas adalah kelas 12 IPS : jurusan dari kelas tersebut adalah IPS Ilmu Pengetahuan Sosial 01 : kelas tersebut merupakan kelas 12 dengan jurusan IPS dengan no urut pertama.

4.2.5. Perancangan Antar Muka