BAB 2
ANALISIS DAN PERANCANGAN

2.1	Sekilas Tentang SMP N 1 Padureso
SMP N 1 Padureso ( Sekolah Menengah Pertama Negeri 1 Padureso ), merupakan salah satu Sekolah Menengah Pertama Negeri di Kabupaten Kebumen. Sekolah ini beralamatkan di Jalan Wadeslintang Nomer 15. Dalam prestasi di bidang pendidikan SMP ini telah meluluskan angkatan sebanyak 120 siswa.

2.2	Analisis Kebutuhan
2.2.1	PHP ( Php Hypertext Preprocessor )
	PHP (PHP Hypertext Preprocessor ) merupakan sebuah bahasa pemrograman yang digunakan sebagai bahasa script server-side yang di ciptakan pertama kali oleh Rasmus Lerdoft pada tahun 1994. Bahasa ini merupakan software yang bersifat Open Source dengan alamat situs http://www.php.net. Dalam pengembangan sebuah halaman web bahasa ini sangat penting karena sifatnya yang dinamis sehingga untuk keperluan maintenance lebih mudah untuk di lakukan. Penggunaan bahasa ini biasanya di sisipkan dalam suatu halaman HTML. 
	Interpreter adalah prinsip kerja dari bahasa pemrograman ini, dimana script tidak diubah ke dalam bentuk source code seperti sistem compiler. Untuk dapat di eksekusi bahasa dengan sistem interpreter ini, harus memiliki program pembuatnya.
2.2.2	Database MySQL
SQL adalah bahasa standard yang digunakan untuk mengakses server Database . Bahasa ini dikembangkan oleh IBM, namun telah diadopsi dan telah digunakan sebagai standard industri. Dengan menggunkan SQL, proses akses basis data menjadi lebih mudah atau user-friendly karena mirip dengan bahasa standard.
MySQL (My Structure Query Language) adalah sebuah program pembuat database yang bersifat open source, artinya siapa saja boleh menggunakannya dan bersifat free. MySQL sebenarnya produk yang berjalan pada platform Linux. Karena sifatnya yang open source, dia dapat dijalankan pada semua platform baik Windows maupun Linux.
MySQL termasuk jenis RDBMS (Relational DataBase Management System). Itulah sebabnya istilah seperti tabel, baris dan kolom digunakan dalam MySQL. Sebagai sebuah program panghasil database, MySQL tidak dapat berjalan sendiri tanpa adanya sebuah aplikasi lain (interface).
Tipe-tipe data yang didukung oleh MySQL juga bervariasi sesuai dengan kebutuhan dari pemrogram. Untuk melakukan query terhadap suatu tabel, maka pemrogram melakukan koneksi terlebih dahulu dengan database dengan memasukkan nama server, nama user dan password. Pemberian nama user dan password merupakan opsional dan boleh diisi dengan string yang bertipe null. Nama server, user dan password tadi biasanya disimpan dalam sebuah variabel yang sewaktu-waktu dapat dipergunakan.

2.3	Desain Tabel
Proses perancangan tabel dalam pengembangan sistem ini merupakan salah satu tahap penting yang berfungsi memperkirakan administrasi terhadap pengolaan data yang akan disimpan ke dalam database sistem, adapun tabel – tabel yang akan digunakan dalam sistem ini yakni :
1.	Desain Tabel Administrator
Nama Tabel 		: administrator
Field Kunci		: username
Fungsi	: Menyimpan data – data login administrator sistem
Tabel 2.1 Desain Tabel Administrator 
No	Nama Field	Tipe	Ukuran	Kunci	
1	username	VarChar	25	*	
2	password	VarChar	25		
3	id_mapel	Varchat	5	**	

2.	Desain Tabel Kelas
Nama Tabel 		: data_kelas.db
Field Kunci		: id_kelas
Fungsi	: Menyimpan data – data kelas
Tabel 2.2 Desain Tabel Kelas
No	Nama Field	Tipe	Ukuran	Kunci	
1	id_kelas	VarChar	5	*	
2	nm_kelas	VarChar	6		

3.	Desain Tabel Mata Pelajaran
Nama Tabel 		: mapel.db
Field Kunci		: id_mapel
Fungsi	: Menyimpan data – data mata pelajaran
Tabel 2.3 Desain Tabel Mata Pelajaran
No	Nama Field	Tipe	Ukuran	Kunci	
1	id_mapel	VarChar	5	*	
2	mapel	VarChar	35		
3	jum_soal	Int	3		

4.	Desain Tabel Siswa
Nama Tabel 		: siswa.db
Field Kunci		: nis
Fungsi	: Menyimpan data – data siswa
Tabel 2.4 Desain Tabel Siswa
No	Nama Field	Tipe	Ukuran	Kunci	
1	nis 	VarChar	10	*	
2	id_kelas	VarChar	6	**	
3	nm_siswa	VarChar	30		
4	alamat	Text			
5	status	Char	1		
6	sandi	VarChar	26		

5.	Desain Tabel Jadwal Ujian
Nama Tabel 		: jadwal.db
Field Kunci		: id_jadwal
Fungsi	: Menyimpan data jadwal pelaksanaan ujian
Tabel 2.5 Desain Tabel Jadwal Ujian
No	Nama Field	Tipe	Ukuran	Kunci	
1	id_jadwal	VarChar	9	*	
2	id_mapel	VarChar	11	**	
3	tanggal	Date			

6.	Desain Tabel Soal
Nama Tabel 		: data_soal.db
Field Kunci		: nis
Fungsi	: Menyimpan data – data soal ujian
Tabel 2.7 Desain Tabel Data Soal
No	Nama Field	Tipe	Ukuran	Kunci	
1	id_soal	VarChar	11	*	
2	id_mapel	VarChar	8	**	
3	isi_soal	Text			
4	opsi_a	Text			
5	opsi_b	Text			
6	opsi_c	Text			
7	opsi_d	Text			
8	kunci_jawaban	Char			

7.	Desain Tabel Jawaban
Nama Tabel 		: jawaban_siswa.db
Field Kunci		: id_jawaban
Fungsi	: Menyimpan data – data jawaban ujian siswa
Tabel 2.8 Desain Tabel Jawaban
No	Nama Field	Tipe	Ukuran	Kunci	
1	id_jawaban	VarChar	11	*	
2	nis	VarChar	11	**	
3	id_soal	VarChar	11	**	
4	jawaban	Char	1		
5	status	Char	1		

2.4	Relasi Tabel

Gambar 2.1 Relasi Tabel

2.5	Diagram Alir Sistem

Gambar 2.2 Diagram Alir Sistem

2.6	Desain Form Input
Proses desain form – form input yang digunakan dalam sistem ujian online ini digunakan untuk memudahkan proses pengembangan sistem selanjutnya adapun form – form input yang digunakan antara lain :
1.	Form Kelas
Form ini digunakan untuk menginputkan informasi yang berhubungan dengan data kelas berikut ini desain form tersebut.

Gambar 2.3 Desain Form Input Kelas

2.	Form Mata Pelajaran
Untuk menginputkan data mata pelajaran yang akan diujikan maka diperlukan sebuah form untuk keperluan tersebut yakni form input data mata pelajaran, berikut ini rancangan form tersebut.

Gambar 2.4 Desain Form Input Mata Pelajaran

3.	Form Siswa
Siswa merupakan salah satu komponen penting yang ada dalam sistem maka dari itu pada proses perancangan sistem ini pengembang memikirkan sebuah form untuk keperluan input data siswa tersebut, berikut ini adalah rancangannya.

Gambar 2.5 Desain Form Input Data Siswa

4.	Form Jadwal Ujian
Jadwal ujian merupakan data penting yang perlu untuk disimpan dalam database berikut ini adalah screenshoot form input jadwal ujian tersebut.

Gambar 2.6 Desain Form Input Jadwal Ujian

5.	Form Data Soal
Data soal merupakan salah satu data utama yang diolah dalam sistem ini salah satu bentuk administrasi terhadap data soal tersebut adalah proses input dari data tersebut, berikut ini desain form input data soal.

Gambar 2.7 Desain Form Input Data Soal

2.7	Desain Output Sistem
1.	Laporan Data Siswa
Laporan data siswa ini merupakan bentuk implementasi dari administrasi data – data siswa, berikut ini adalah rancangan dari laporan tersebut

Gambar 2.8 Desain Laporan Data Siswa

2.	Laporan Data Soal
Laporan ini merupakan laporan yang berisi informasi mengenai data soal atas suatu mata pelajaran yang akan diujikan, berikut rancangannya :

Gambar 2.9 Desain Laporan Data Soal

3.	Laporan Data Nilai Siswa
Salah satu bentuk implementasi dari administrasi terhadap informasi data – data nilai siswa adalah laporan data nilai, berikut ini rancangannya

Gambar 2.9 Desain Laporan Data Nilai Siswa