BAB II
ANALISIS DAN PERANCANGAN

2.1	Analisis Sistem
Agar dapat mendapatkan suatu sistem informasi yang baik, sesuai dengan dengan kebutuhan dan tepat maka diperlukan perancangan yang baik. Untuk itu dibutuhkan komponen-komponen yang mendukung dalam pembuatan sistem.
Komponen-komponen yang diperlukan untuk menganalisis kebutuhan dari objek yang dibangun antara lain sistem pendukung, pengguna (user) dan fungsinya, diagram alir sistem, perancangan basis data, struktur tabel, serta desain input dan output program. Di bawah ini adalah penjelasan dari masing-masing komponen kebutuhan di atas
2.2	Sistem Pendukung
Sistem pendukung merupakan komponen perangkat keras dan perangkat lunak yang digunakan untuk mendukung dalam membuat suatu program. Dengan adanya sistem pendukung ini diharapkan akan tercapai suatu tujuan dari sistem yang dibuat. Oleh karena itu dibutuhkan kedua perangkat pendukung tersebut agar dapat menghasilkan suatu sistem yang sesuai dengan kebutuhan user.

2.2.1	Sistem Perangkat Keras (Hardware)
Agar dapat menjalankan sistem perangkat lunak, maka dibutuhkan perangkat keras yang mendukung untuk melancarkan pemrosesan pembuatan program. Perangkat keras merupakan komponen – komponen fisik dari komputer yang terdiri dari unit masukan, pengolahan dan unit keluaran. Dalam pembangunan sistem, penulis menggunkan komputer dengan spesifikasi sebagai berikut.
1. Processor Intel(R) Pentium (R) 180 Ghz
2. Memory 512 MB atau lebih
3. Harddisk 80 Gh 7200 rpm
4. Monitor Standar 
5. Mouse dan Keyboard standar sebagai perangkat masukan
6. Printer Canon sebagai perangkat keluaran

2.2.2	Sistem Perangkat Lunak (Software)
Sistem perangkat lunak yang digunakan untuk membuat sistem tersebut adalah bahasa pemrograman dengan PHP dan menggunakan sistem operasi Windows XP. Berikut ini adalah rincian dari sistem perangkat lunak yang digunakan :
•	Microsoft Windows XP sebagai sistem operasi
•	Appserv-win32-2.9.2 sebagai software yang berisi web server Apache, PHP, dan Database Server MYSQL.
•	Macromedia Dreamweaver MX sebagai text editor.
•	Aplikasi browser yang digunakan untuk menjalankan program yang telah dibuat yaitu Opera ataupun dengan Mozilla Firefox.
2.2.3	User ( Pengguna )
	Dalam sistem informasi mahasiswa jurusan, terdapat 2 user yang dapat menggunakan sistem ini. 2 user tersebut adalah admin, dan pengguna terakhir. Admin memiliki hak untuk memasukkan data, mengubah data dan juga menghapus data. Admin juga dapat mengolah data yang ada di sistem tersebut. Sedangkan pengguna terakhir atau end user dapat melihat informasi yang terdapat dalam sistem tersebut. End user yang dimaksud adalah mahasiswa pada khususnya dan masyarakat pada umumnya.
2.3	Perancangan Basis Data  
Dalam membangun sistem diperlukan perancangan tabel yang sesuai dengan kebutuhan sistem yang akan kita bangun. Tabel- tabel inilah yang kemudian akan diolah untuk menjadikan suatu informasi yang dapat menghasilkan output yang diperlukan. Kumpulan dari tabel-tabel tersebut diletakkan menjadi satu database. Data dalam satu database ini yang akan mempermudah dalam pengolahan data.
Struktur database Sistem Informasi Profil Mahasiswa Jurusan Manajemen Informatika – D3 berbasis web adalah sebagai berikut :
2.3.1	Tabel mahasiswa
Tabel mahasiswa digunakan untuk menyimpan data-data mahasiswa. Pada tabel mahasiswa memiliki kunci utama yaitu nim (nomor induk mahasiswa).
Tabel 2.1 Tabel mahasiswa
No.	Nama Field	Tipe Data	Size	Keterangan	
1.	nim (*)	char	9	Nomor induk mahasiswa	
2.	nama	varchar	35	Nama mahasiswa	
3.	thn_masuk	year	4	Tahun angkatan masuk	
4.	semester_awal	int	1	Semester awal	
5.	status	char	1	Status terakhir mahasiswa	
6.	status_masuk	char	8	Status pertama masuk	
7.	jenis_kelamin	char	1	Jenis kelamin	
8.	tgl_lahir	date		Tanggal lahir	

2.3.2	Tabel matakuliah
Tabel matakuliah digunakan untuk menyimpan data mata kuliah. Dengan kunci utama kd_matkul (kode mata kuliah).
Tabel 2.2 Tabel matakuliah
No.	Nama Field	Tipe Data	Size	Keterangan	
1.	kd_matkul(*)	varchar	8	Kode mata kuliah	
2.	Nama_matkul	varchar	70	Nama mata kuliah	
3.	sks	int	1	Sks mata kuliah	

2.3.3	Tabel krs
Tabel krs digunakan untuk menyimpan data krs yang diambil mahasiswa dengan kunci tamu ada 2 yaitu nim dan kd_matkul. Dan juga no sebagai kunci utama auto_increment.
Tabel 2.3 Tabel krs
No.	Nama Field	Tipe Data	Size	Keterangan	
1.	no_krs(*)	int	3	Nomor krs berupa auto increment	
2.	nim(**)	char	9	Nomor mahasiswa	
3.	kd_matkul(**)	varchar	8	Kode mata kuliah	
4.	tahun	year	4	Tahun bersangkutan	
5.	semester	int	1	Semester bersangkutan	
6.	nilai	char	1	Nilai ujian akhir untuk mahasiswa	

2.3.4	Tabel transkip
Tabel transkip untuk menyimpan nilai dari mahasiswa. Dengan kunci tamu yaitu nim dan kd_matkul. Dengan kunci utama untuk auto_increment adalah no.
Tabel 2.4 Tabel transkip
No.	Nama Field	Tipe Data	Size	Keterangan	
1.	no_transkip(*)	int	3	Nomor transkip ( autoincrement )	
2.	nim(**)	char	9	Nomor mahasiswa	
3.	kd_matkul(**)	varchar	8	Kode mata kuliah	
4.	nilai	char	1	Nilai mahasiswa	

2.3.5	Tabel status
Tabel status digunakan untuk menyimpan status mahasiswa bersangkutan. Dengan kunci tamu yaitu nim. Dengan kunci utama untuk auto_increment adalah no.
Tabel 2.5 Tabel status
No.	Nama Field	Tipe Data	Size	Keterangan	
1.	no_status(*)	int	3	Nomor status (autoincrement)	
2.	nim(**)	char	9	Nomor mahasiswa	
3.	tahun	year	4	Tahun bersangkutan	
4.	semester	Int	1	Semester bersangkutan	
5.	status	char	1	Status bersangkutan	

2.3.6	Tabel ipk
Tabel ipk digunakan untuk menyimpan data index prestasi kumulatif mahasiswa. Dengan kunci tamu yaitu nim. Dengan kunci utama untuk auto_increment adalah no.
Tabel 2.6 Tabel ipk
No.	Nama Field	Tipe Data	Size	Keterangan	
1.	no_ipk(*)	int	3	Nomor ipk (autoincrement)	
2.	nim(**)	char	9	Nomor mahasiswa	
3.	tahun	year	4	Tahun bersangkutan	
4.	semester	char	1	Semester bersangkutan	
5.	ipk	float		Nilai ipk	

2.3.7	Tabel Admin
Tabel admin digunakan untuk login user, yang dimaksudkan user disini adalah yang memiliki hak untuk mengolah data didalamnya. Dengan kunci utama yaitu user.
Tabel 2.7 Tabel admin
No.	Nama Field	Tipe Data	Size	Keterangan	
1.	user(*)	varchar	15	User	
2.	password	varchar	25	Password	

2.4	Relasi Tabel

            Relasi antar tabel ini dibuat dengan tujuan untuk menghubungkan antara satu tabel dengan tabel lainnya yang masih berhubungan sehingga kita gunakan kunci utama dan kunci tamu. Adapun relasi antar tabelnya nampak pada gambar 2.1.

Gambar 2.1 Gambar Relasi table

Keterangan : * Kunci utama ( primary key )
			** Kunci Tamu ( foreign key )
Relasi One To Many         

Penjelasan Relasi Tabel tersebut adalah :
1.	Hubungan antara tabel mahasiswa dengan tabel ipk adalah one to many diartikan seorang mahasiswa dapat memiliki ipk lebih dari satu atau dapat dimaksudkan juga bahwa seorang mahasiswa dapat memiliki ipk tidak hanya satu atau sekali tetapi dapat memiliki ipk yang berbeda-beda selama kuliah karena status disimpan setiap semester.
2.	Hubungan antara tabel mahasiswa dengan tabel krs adalah relasi one to many. Dimaksudkan yaitu seorang mahasiswa dapat melakukan lebih dari satu kali melakukan krs. Banyak data krs terkait dengan satu data mahasiswa.
3.	Hubungan antara tabel mahasiswa dengan tabel transkip adalah relasi one to many. Dimaksudkan satu data mahasiswa terkait dengan banyak nilai yang dimiliki. Atau seorang mahasiswa memiliki lebih dari satu nilai yang berbeda-beda dari mata kuliah yang berbeda-beda. 
4.	Hubungan antara tabel mahasiswa dengan tabel status adalah relasi one to many. Diartikan seorang mahasiswa terkait dengan banyak status. Atau dapat dimaksudkan dalam setiap semester yang berjalan mahasiswa dapat memiliki status yang berbeda-beda.
5.	Hubungan antara tabel matakuliah dengan tabel krs adalah one to many. Yang diartikan dalam satu matakuliah tertentu dapat dipilih oleh banyak mahasiswa dalam pengambilan krs. Misalkan matakuliah pancasila dapat dipilih oleh lebih dari satu mahasiswa dalam satu periode krs. Atau dalam hal ini terkait juga dengan tabel mahasiswa, bahwa 1 matakuliah yang sama diambil oleh banyak mahasiswa dalam periode krs tertentu.
6.	Hubungan antara tabel matakuliah dengan tabel transkip adalah one to many. Yaitu satu matakuliah terdapat pada setiap transkip nilai yang dimiliki lebih dari satu mahasiswa.

2.5	Diagram Alir
Bagan alir sistem merupakan suatu diagram yang menunjukkan arus suatu sistem secara keseluruhan. Diagram ini menjelaskan urutan dari prosedur – prosedur yang ada di dalam sistem dari input data, proses perekaman, penyimpanan sampai pembuatan laporan. Bagan alir sistem ini digunakan untuk memudahkan dalam membuat perancangan program yang akan dibuat.
Berikut diagram alir sistemnya :

Gambar 2.2 Gambar diagram alir sistem
Keterangan : 
1.	Laporan Status Mahasiswa per angkatan.
2.	Laporan Status per Mahasiswa.
3.	Laporan  Mahasiswa per Mahasiswa
4.	Laporan Mahasiswa per angkatan
5.	Laporan KRS Mahasiswa per Mahasiswa
6.	Laporan Nilai  Mahasiswa per angkatan.
7.	Laporan Nilai  Mahasiswa per mahasiswa.
8.	Laporan IPK per Mahasiswa.
9.	Laporan Daftar Matakuliah.
Berikut ini adalah penjelasan dari bagan alir sistem program aplikasi sistem profil mahasiswa :
1.	Data status
Data status mengambil data mahasiswa dari tabel mahasiswa.myd kemudian di simpan dalam tabel status.myd. kemudian data diproses dan akan menghasilkan laporan status mahasiswa per angkatan dan laporan status mahasiswa per mahasiswa.
2.	Data mahasiswa
Data mahasiswa akan disimpan dalam tabel mahasiswa.myd dan akan diproses sehingga menghasilkan laporan mahasiswa per angkatan  dan laporan  mahasiswa per mahasiswa.
3.	 Data krs
Data krs diperoleh dengan cara mengambil data dari tabel mahasiswa.myd dan tabel matakuliah.myd. Setelah itu data akan direkam di tabel krs.myd dan diproses sehingga menghasilkan laporan krs mahasiswa per mahasiswa. 
4.	Data transkip
Data transkip diperoleh dari tabel mahasiswa.myd , tabel matakuliah.myd dan dari hasil relasi antara tabel mahasiswa.myd dengan tabel matakuliah.myd yaitu yang terletak di tabel krs.myd. Selanjutnya data – data tersebut direkam ke dalam tabel transkip.myd dan diproses sehingga menghasilkan laporan nilai mahasiswa per angkatan dan laporan nilai mahasiswa per mahasiswa.
5.	Data ipk
Data ipk diperoleh dari tabel mahasiswa. myd , tabel matakuliah.myd dan dari hasil relasi antara tabel mahasiswa.myd dengan tabel matakuliah.myd yaitu yang terletak di tabel krs.myd. Selanjutnya data – data tersebut disimpan dalam tabel ipk.myd dan diproses sehingga menghasilkan laporan ipk mahasiswa per mahasiswa. 
6.	Data Matakuliah
Data matakuliah akan disimpan dalam tabel matakuliah.myd dan kemudian diproses. Sehingga menghasilkan laporan daftar matakuliah.

2.6	Desain Input
Setelah membuat rancangan struktur tabel yang dibutuhkan, maka selanjutnya adalah membuat rancangan input. Macam-macam rancangan form  input yang dibutuhkan yaitu :
2.6.1	Rancangan form input mahasiswa
Rancangan form input mahasiswa digunakan untuk memasukkan data-data tentang masing-masing mahasiswa yang bersangkutan. 

FORM INPUT DATA MAHASISWA

Gambar 2.3 Rancangan form input mahasiswa
2.6.2	Rancangan form input status
Rancangan form input status digunakan untuk memasukkan data status mahasiswa. Berikut adalah rancangannya formnya.
FORM INPUT DATA STATUS

Gambar 2.4 Rancangan form input status
2.6.3	Rancangan form input krs
Rancangan form input krs digunakan untuk memasukkan data krs mahasiswa. Berikut adalah rancangan formnya.

FORM INPUT DATA KRS

Gambar 2.5 Rancangan form input krs
2.6.4	Rancangan form input mata kuliah
Rancangan form input mata kuliah digunakan untuk menginputkan data tentang mata kuliah. Berikut merupakan rancangan formnya.
FORM INPUT DATA MATA KULIAH

Gambar 2.6 Rancangan form input mata kuliah

2.6.5	Rancangan Form input untuk login admin
Form ini digunakan untuk login admin, login admin dilakukan sebelum sebelum admin melakukan pengolahan data. Rancangan form input login adalah :
FORM INPUT LOGIN ADMIN

Gambar 2.7 Rancangan form login admin
2.7	Desain Output
Suatu sistem yang dibuat akan menghasilkan sesuatu yang dibentuk dalam suatu laporan. Berikut dibawah ini merupakan penjelasan dari laporan-laporan yang akan dihasilkan.
2.7.1	Rancangan laporan status mahasiswa per angkatan
Merupakan laporan status mahasiswa yang dapat dilihat per angkatan yang dirancang dengan bentuk dibawah ini : 

Gambar 2.8 Rancangan laporan status mahasiswa per angkatan
2.7.2	Rancangan laporan status  per mahasiswa
Selain menghasilkan laporan status mahasiswa secara keseluruhan dibuat juga status masing-masing mahasiswa sesuai dengan semester dan tahun yang bersangkutan.

Gambar 2.9 Rancangan laporan status mahasiswa per mahasiswa
2.7.3	Rancangan laporan mahasiswa per angkatan
Dari data mahasiswa dapat menghasilkan suatu laporan data mahasiswa secara keseluruhan. Bentuk laporan mahasiswa secara keseluruhan sebagai berikut :

Gambar 2.10 Rancangan laporan mahasiswa per angkatan
2.7.4	Rancangan laporan mahasiswa per mahasiswa
Selain dapat melihat laporan data mahasiswa keseluruhan dapat juga membuat laporan mahasiswa per mahasiswa. Bentuk laporannya adalah :

Gambar 2.11 Rancangan laporan mahasiswa per mahasiswa
2.7.5	Rancangan laporan krs mahasiswa per mahasiswa
Selain dapat melihat laporan krs mahasiswa keseluruhan dapat juga membuat laporan krs mahasiswa per mahasiswa. Bentuk laporannya adalah :

Gambar 2.12 Rancangan laporan krs per mahasiswa
2.7.6	Rancangan laporan nilai mahasiswa per angkatan
Dari data transkip nilai mahasiswa dapat menghasilkan suatu laporan data nilai mahasiswa per angkatan. Bentuk laporan nilai mahasiswa per angkatan sebagai berikut :

Gambar 2.13 Rancangan laporan nilai mahasiswa per angkatan
2.7.7	Rancangan laporan nilai mahasiswa per mahasiswa
Selain dapat melihat laporan nilai mahasiswa keseluruhan dapat juga membuat laporan nilai mahasiswa per mahasiswa. Bentuk laporannya adalah :

Gambar 2.14 Rancangan laporan nilai per mahasiswa
2.7.8	Rancangan laporan ipk per mahasiswa
Dari data ipk mahasiswa dapat menghasilkan suatu laporan data nilai ipk mahasiswa per mahasiswa. Bentuk laporan nilai ipk mahasiswa per mahasiswa sebagai berikut :

Gambar 2.15 Rancangan laporan ipk per mahasiswa

2.7.9	Rancangan laporan daftar mata kuliah
Dari data mata kuliah dapat menghasilkan suatu laporan data mata kuliah yang ada di jurusan manajemen informatika. Bentuk laporan dari mata kuliah adalah sebagai berikut :

Gambar 2.16 Rancangan laporan daftar mata kuliah