BAB II
ANALISIS DAN PERANCANGAN

2.1	 Analisis Kebutuhan dari objek yang dibangun
Sebelum suatu sistem informasi dikembangkan, terlebih dahulu dimulai dengan adanya suatu kebijakan dan perencanaan untuk mengembangkan sistem tersebut. Dengan perencanaan sistem yang baik diharapkan pengembangan sistem yang baru akan dapat berjalan sesuai dengan keinginan.

2.2    Data yang dibutuhkan
         			   Sistem ini membutuhkan data-data yang saling berkaitan atau berelasi satu dengan yang lainnya, yaitu :
1.	Data Barang
2.	Data Konsumen
3.	Data Supplier
4.	Data Pembelian
5.	Data Penjualan
6.	Data Jenis

2.2.1	Sistem Perangkat Keras (hardware)
		Perangkat keras komputer adalah, salah satu komponen dari sebuah komputer yang sifat alatnya bisa dilihat dan diraba oleh manusia secara langsung atau yang berbentuk nyata, yang berfungsi untuk mendukung proses komputerisasi. Perangkat keras yang di butuhkan untuk mendukung Sistem Informasi Pembelian dan Penjualan di Toko Warrior Station 2, antara lain  sebagai berikut :
1.	Prosessor Intel Pentium 4 2.26 GHz 
2.	Harddisk 80 GB 
3.	Keyboard, mouse dan printer
4.	RAM 1 GB 
5.	Monitor 

2.2.2 Sistem Perangkat Lunak (software)
            Perangkat lunak yang dipakai untuk merancang sistem ini adalah :
1.	Sistem operasi Windows XP
2.	Web Browser Microsoft Internet Explorer 6.0, Mozila Firefox 3,60
3.	AppServ v.2.5.9
4.	Adobe Dreammaver CS3

2.3	Bagan Alir Sistem 
				Bagan alir sistem ini menunjukan suatu proses input dan output dari sistem informasi pembelian dan penjualan tunai di toko Warrior Station 2. Bagan alir data tersebut dapat dilihat pada gambar 2.1.

Gambar 2.1 Bagan Alir Sistem
Keterangan :
1.	Laporan Daftar Jenis
2.	Laporan Daftar Barang 
3.	Laporan Pembelian Periode.
4.	Laporan Pembelian Per Jenis.
5.	Laporan Daftar Supplier. 
6.	Laporan Penjualan Periode 
7.	Laporan Penjualan Per Jenis
8.	Laporan Penjualan Harian
9.	Laporan Penjualan Rugi/Laba
10.	Laporan Daftar Konsumen
11.	Laporan Daftar Admin

	  Bagan alir merupakan kumpulan instruksi-instruksi yang saling  berhubungan satu dengan yang lainnya yang tidak dapat dipisahkan untuk mencapai suatu tujuan tertentu.

2.4 	Perancangan Basis Data
 Basis data sebagai kumpulan dari data yang saling berhubungan yang di organisasi agar kemudian dapat di manfaatkan lagi dengan cepat dan mudah. Karena itu perancangan basis data sangat perlu untuk mendukung operasi-operasi dari objektifitas dan operasi-operasi sistem.
Tujuan perancangan basis data :
•	untuk  memenuhi  informasi  yang  berisikan  kebutuhan-kebutuhan  pemakai  secara  khusus  dan  aplikasi-aplikasinya.
•	memudahkan pengertian struktur informasi.
•	mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan.
Sebuah sistem basis data dibangun dengan tabel-tabel, tabel-tabel inilah yang dibangun untuk menyimpan data-data yang ada di TOKO WARRIOR STATION 2, berikut adalah perancangan tabel-tabelnya :

2.4.1 Tabel Jenis 
		Tabel jenis ini berfungsi untuk merekam data-data jenis barang yang tersedia. Struktur fisik dari tabel jenis terdapat pada Tabel 2.1:
Nama Tabel		: Jenis
Kunci Utama		:kd_jenis
Jumlah field		:2
Tabel 2.1 Tabel Jenis
Nama Field	Tipe Data	Panjang	Keterangan	
kd_jenis *	Char	5	Kode Jenis	
nama_jenis	Varchar	20	Nama Jenis	
	
2.4.2 Tabel Barang
		Tabel barang memiliki fungsi yang sama dengan tabel jenis yaitu untuk merekam data-data barang yang akan dijual. Primary key pada tabel ini adalah kd_brg. Struktur fisiknya tabel barang terdapat pada Tabel 2.2.
Nama Tabel		:Barang
Kunci Utama		:kd_brg *
Jumlah field		:7
Tabel 2.2  Tabel Barang
Nama Field	Tipe Data	Panjang	Keterangan	
kd_brg *	Char	5	Kode Barang	
nama_brg	Varchar	15	Nama Barang	
kd_jenis	Char	5	Kode Jenis	
hrg_beli	Integer		Harga Beli	
hrg_jual	Integer		Harga Jual	
persentase_laba	Integer		Persentase Laba	
Stok	Varchar	10	Stok	
	
2.4.3 Tabel Penjualan
		Tabel ini berfungsi untuk merekam data pada saat terjadi transaksi penjualan barang. Struktur fisik tabel jual terdapat pada Tabel 2.3 :
Nama Tabel		:Penjualan
Kunci Utama		:kd_jual *
Jumlah field		:4
Tabel 2.3  Tabel Penjualan
Nama Field	Tipe Data	Panjang	Keterangan	
kd_jual *	Char	5	Kode Jual	
id_kons	Char	5	Id Konsumen	
tgl_jual	Date		Tanggal Jual	
total_byr	Integer		Total Bayar	

2.4.4 Tabel Detail Jual
		Tabel ini berfungsi untuk merekam data detail dari transaksi penjualan barang. Struktur fisik tabel detail jual terdapat pada Tabel 2.4 :
Nama Tabel		:Detail Jual
Kunci Tamu		:kd_brg **
Jumlah field		:6
Tabel 2.4  Tabel Detail Jual
Nama Field	Tipe Data	Panjang	Keterangan	
id_detjual	Char	5	Id Detail Jual	
kd_jual	Char	5	Kode Jual	
kd_brg **	Char	5	Kode Barang	
Qty	Integer		Jumlah Barang	
hrg_jual	Integer		Harga Jual	
Sub_total	Integer		Sub Total	

2.4.5 Tabel Pembelian
		Tabel ini berfungsi untuk merekam data dari transaksi pembelian barang dari supplier. Tabel ini memiliki kunci utama yaitu kd_beli. Struktur  tabel beli terdapat pada Tabel 2.5 :
Nama Tabel		:Pembelian
Kunci Utama		:kd_beli *
Jumlah field		:4
Tabel 2.5  Tabel Pembelian
Nama Field	Tipe Data	Panjang	Keterangan	
kd_beli *	Char	5	Kode Beli	
id_sup	Char	5	Id Supplier	
tgl_beli	Date		Tanggal Beli	
total_byr	Integer		Total Bayar	

2.4.6 Tabel Detail Beli
		Tabel ini berfungsi untuk merekam data detail dari transaksi pembelian barang. Struktur fisik dari tabel detail beli terdapat pada Tabel 2.6:
Nama Tabel		:Detail Beli
Kunci Tamu		:kd_brg **
Jumlah field		:6
Tabel 2.6  Tabel Detail Beli
Nama Field	Tipe Data	Panjang	Keterangan	
id_detbeli	Char	5	Id Detail Beli	
kd_beli	Char	5	Kode Beli	
kd_brg **	Char	5	Kode Barang	
Qty	Integer		Jumlah Barang	
hrg_beli	Integer		Harga Beli	
sub_total	Integer		Sub Total	

2.4.7 Tabel Supplier
		Tabel ini berfungsi untuk merekam maupun menyimpan data supplier barang. Struktur fisik dari tabel Supplier terdapat pada Tabel 2.7:
Nama Tabel		:Supplier
Kunci Utama		:id_sup *
Jumlah field		:4

Tabel 2.7  Tabel Supplier
Nama Field	Tipe Data	Panjang	Keterangan	
id_sup *	Char	5	Id Supplier	
nama_sup	Varchar	20	Nama Supplier	
Alamat	Varchar	50	Alamat Supplier	
Telp	Varchar	12	Nomor Telepon	

2.4.8 Tabel Konsumen
		Tabel ini berfungsi untuk merekam data konsumen. Struktur fisik dari tabel konsumen terdapat pada Tabel 2.8:
Nama Tabel		:Konsumen
Kunci Utama		:id_kons *
Jumlah field		:4
Tabel 2.8  Tabel Konsumen
Nama Field	Tipe Data	Panjang	Keterangan	
id_ kons*	Char	5	Id Konsumen	
nama_kons	Varchar	20	Nama Konsumen	
Alamat	Varchar	50	Alamat Konsumen	
Telp	Varchar	12	Nomor Telepon	

2.4.9 Tabel Admin
		Tabel ini berfungsi merekam maupun menyimpan data pemakai sistem. Struktur fisik dari tabel admin terdapat pada Tabel 2.9
Nama Tabel		:Admin
Jumlah field		:3
Tabel 2.9  Tabel Admin
Nama Field	Tipe Data	Panjang	Keterangan	
user 	Varchar	10	User	
Password	Varchar	10	Password	
Status	Varchar	10	Status	

2.5 	Relasi Tabel
Relasi tabel ini sangat dibutuhkan dalam membuat suatu sistem dengan tujuan agar sistem nantinya dapat berjalan dengan baik. Relasi ini digunakan untuk menghubungkan antara tabel yang satu dengan tabel yang lain dan untuk mengetahui relasi tabel apakah one to one, one to many atau many to many. Adapun relasi tabel untuk sistem ini dapat dilihat pada gambar 2.2.

Gambar 2.2 Relasi Antar Tabel

2.5.1	Penjelasan Relasi Antar Tabel
1.	Tabel supplier dengan tabel beli mempunyai relasi one to many yang artinya kita dapat membeli lebih dari satu barang dari satu supplier. Kolom yang menghubungkannya adalah id_sup dimana tabel supplier yang akan berperan sebagai kunci utama dan tabel pembelian berperan sebagai kunci tamu.
2.	Tabel barang dengan tabel detail_beli mempunyai relasi one to many yang artinya satu kd_beli dapat membeli lebih dari satu barang. Kolom yang menghubungkannya adalah kd_beli dimana tabel pembelian yang akan berperan sebagai kunci utama dan tabel detail_beli berperan sebagai kunci tamu.
3.	Tabel beli dengan tabel detail_beli mempunyai relasi one to many yang artinya satu nomor faktur beli dapat menampung banyak transaksi pembelian barang. Kolom yang menghubungkannya adalah kd_brg dimana tabel barang yang akan berperan sebagai kunci utama dan tabel detail_beli berperan sebagai kunci tamu.
4.	Tabel konsumen dengan tabel penjualan mempunyai relasi one to many yang artinya satu konsumen dapat membeli lebih dari satu barang . Kolom yang menghubungkannya adalah id_kons dimana tabel konsumen yang akan berperan sebagai kunci utama dan tabel penjualan berperan sebagai kunci tamu.
5.	Tabel penjualan dengan tabel detail_jual mempunyai relasi one to many yang artinya satu nomor faktur jual dapat menampung banyak transaksi penjualan barang. Kolom yang menghubungkannya adalah kd_jual dimana tabel penjualan yang akan berperan sebagai kunci utama dan tabel detail_jual berperan sebagai kunci tamu.
6.	Tabel barang dengan tabel detail_jual mempunyai relasi one to many yang artinya satu kd_brg memiliki lebih dari satu detail_jual. Kolom yang menghubungkannya adalah kd_brg dimana tabel barang yang akan berperan sebagai kunci utama dan tabel detail_beli berperan sebagai kunci tamu.
7.	Tabel barang dengan tabel jenis mempunyai relasi one to many yang artinya satu kd_jenis memiliki lebih dari satu barang. Kolom yang menghubungkannya adalah kd_jenis dimana tabel jenis yang akan berperan sebagai kunci utama dan tabel barang berperan sebagai kunci tamu.
2.6	Perancangan Masukan
Masukan (input) merupakan tahap awal dari suatu apikasi program. Untuk menghasilkan sebuah sistem yang baik, diperlukan adanya perancangan masukan yang jelas dan memiliki validasi yang baik pula.  Adapun perencanaan rancangan masukan yang dibuat untuk sistem ini adalah sebagai berikut:
2.6.1	Rancangan Masukan Data Konsumen
Rancangan masukan ini digunakan untuk memasukkan data konsumen. Bentuk rancangannya adalah:
                          
Gambar 2.3 Rancangan Masukan konsumen
2.6.2	Rancangan Masukan Data Supplier
Rancangan masukan ini digunakan untuk memasukkan data supplier. Bentuk rancangannya adalah:
                         
Gambar 2.4 Rancangan Masukan supplier
2.6.3	Rancangan Masukan Data Penjualan
Rancangan masukan ini digunakan untuk memasukkan data penjualan. Bentuk rancangannya adalah:
                   
Gambar 2.5 Rancangan Masukan data penjualan

2.6.4	Rancangan Masukan Data Pembelian
Rancangan masukan ini digunakan untuk memasukkan data pembelian. Bentuk rancangannya adalah:
                  
Gambar 2.6 Rancangan Masukan data pembelian