BAB II
TINJAUAN PUSTAKA DAN DASAR TEORI

2.1	Tinjauan Pustaka
 Penelitian tentang sistem semacam ini pernah dilakukan oleh Ana Kusanggrahani (2002) dalam skripsi yang berjudul ”Sistem Informasi Penjualan Kayu Di UD. LUWES Cilacap Berbasis Multiuser. Adapun yang membedakan sistem tersebut dengan sistem komputerisasi penjualan kayu kalimantan di UD.JAKARTA Yogyakarta adalah pemberian retur pembelian, retur penjualan, laporan rekapitulasi berserta pemberian laporan rugi laba.
2.2	Dasar Teori
2.2.1	Komponen C++ Builder

Komponen adalah sekumpulan blok pembangun dari setiap program aplikasi C++ Builder dan merupakan dasar dari library komponen visual C++ Builder. Adapun komponen-komponen yang terdapat pada Borland C++ Builder antara lain:
•	Komponen standard 
•	Komponen Additional
•	Komponen Pallete Win95
•	Komponen Pallete Data Access
•	Komponen Pallete Data Control
•	Komponen Pallete Win31
•	Komponen Pallete Internet
•	Komponen Pallete System
Adapun komponen-komponen  yang sering digunakan dalam pembuatan aplikasi ini antara lain:
1.	MainMenu adalah komponen yang menggabungkan menu-menu bar dan mewujudkannya ke dalam drop-down menu pada sebuah window.
2.	Label adalah komponen yang bertugas untuk menampilkan teks pada form.
3.	Edit adalah komponen yang digunakan untuk menempatkan teks yang diisi oleh pengguna sebagai sebuah masukan untuk mengontrol program.
4.	Button adalah komponen yang digunakan sebagai tombol.
5.	ComboBox adalah sebuah kotak combo yang secara khusus digunakan untuk mengijinkan pengguna memilih tipe-tipe file yang akan diaktifkan.
6.	DBGrid adalah komponen yang digunakan untuk menampilkan object TDBGrid pada form, yang bertugas untuk menampilkan dan mengedit record-record dari tabel database atau query database.
7.	DataSource adalah komponen yang bertugas menghubungkan antara dataset dan kontrol-kontrol data-aware pada sebuah form. DataSource memungkinkan untuk menampilkan data, mengatur data, dan mengedit data tersebut.
8.	Table adalah komponen dataset yang melingkupi sebuah table database. Komponen ini digunakan untuk mengakses data di dalam sebuah single-database.
9.	Query adalah sebuah dataset yang akan menampilkan data-data dari dalam database yang didasarkan dari pernyataan-pernyataan SQL (Stuctur Query Language).
10.	Timer adalah komponen non-visual yang salah satu kegunaannya adalah memberikan jangka waktu pada program aplikasi anda.
11.	QuickRep adalah komponen yang bertugas untuk melaksanakan tugas pencetakan pada quick report.
12.	QRBand adalah komponen yang digunakan untuk membangun sebuah laporan data yang akan dicetak.
13.	QRGroup adalah komponen yang digunakan untuk membangun sekelompok data yang akan dicetak.
14.	QRLabel adalah komponen yang berfungsi memberikan nama label pada hasil cetakan.
15.	QRExpr adalah komponen untuk membentuk nilai-nilai dari hasil perhitungan sederhana dari field-field data pada sebuah laporan yang akan dicetak.
16.	QRSysData adalah komponen yang digunakan untuk menampilkan data-data dari sistem yang sedang dijalankan. 
17.	QRShape adalah komponen yang digunakan untuk mampu menggambar bentuk-bentuk tertentu pada sebuah laporan yang akan dicetak.
18.	QRPreview adalah komponen yang digunakan untuk membuat window preview sehingga pengguna dapat melihat hasil laporan sebelum melakukan pencetakan.
2.2.2 	Object Inspector
Object Inspector adalah jembatan antara penampakan visual dari program aplikasi anda dengan kode-kode program yang menyusun dan menjalankan program aplikasi anda. Object Inspector memungkinkan anda untuk mengatur nilai-nilai properties komponen yang telah anda letakkan pada form perancangan program aplikasi, membuat dan membantu anda mengatur dan membentuk event handler dari komponen-komponen tersebut. Object Inspector mempunyai tiga bagian yang terpenting yaitu:
•	Object Selector, berada pada bagian paling atas dari Object Inspector yang berupa komponen drop-down list.
•	Page Properties, memungkinkan anda mengatur properties masing-masing komponen, bahkan mengatur form yang akan menjadi window program aplikasi pada saat anda melakukan perancangan program aplikasi tersebut.
•	Event, memugkinkan anda menghubungkan form dan komponen ke sebuah event program. 
2.2.3	Sistem Multiuser
Sistem multiuser adalah komputer yang dapat mengeksekusi beberapa aplikasi yang dimiliki dua user atau lebih secara konkuren dan independen. Konkuren berarti aplikasi dapat aktif secara bersamaan dan saling bersaing untuk menggunakan sumber daya seperti CPU, memori, hard disk, dan lain sebagainya. Independen maksudnya adalah setiap aplikasi dapat menjalankan task-nya tanpa harus memperdulikan apa yang sedang dijalankan oleh pemakai lainnya.

2.2.4	MySQL
MySQL atau yang sering dibaca dengan ejaan “mai es que el” ini merupakan sebuah database yang berbasiskan server database. Kemampuannya dalam menangani RDBMS (Relasional Database Management System) mengakibatkan database ini menjadi database yang sangat populer saat ini. Adapun perintah-perintah yang terdapat pada MySQL antara lain:
•	show databases digunakan untuk mengetahui database yang terdapat pada MySQL. Adapun penulisan script programnya adalah mysql> show databases;
•	use mysql digunakan untuk melakukan koneksi ke suatu database.
•	show tables digunakan untuk mengetahui tabel-tabel yang terdapat pada suatu database. Adapun penulisan script programnya adalah Mysql> show tables;
•	create database digunakan untuk membuat database. Berikut contoh perintah membuat database yang bernama coba.
Mysql> create database coba; 
•	create table digunakan untuk menciptakan tabel. Berikut contoh penulisan script program.
Mysql> create table nama_tabel
		->(
		->field1 type(panjang),
		->field2 type(panjang),
		->……………… …………(…………………)
		->);
•	insert digunakan untuk memasukkan data pada tabel. Adapun rumus perintahnya adalah:
Mysql> insert into nama_tabel
	->VALUES (‘data1’,’data2’,’………’);

•	update digunakan untuk mengganti wewenang pemakai. Adapun rumus perintahnya adalah:
Mysql> update nama_tabel;
		->set nama_field1=’data_baru’,
		->nama_field2=’data_baru’,
		->……………………=’………………’,
		->WHERE nama_field=’data’;

•	delete digunakan untuk menghapus pemakai. Adapun rumus perintahnya adalah:
Mysql> delete nama_tabel;
		->WHERE nama_field=’data’
2.2.5	ODBC
ODBC (Open Database Connectivity) merupakan suatu standar yang dikembangkan oleh Microsoft dengan tujuan untuk memudahkan pengaksesan berbagai database melalui sekumpulan fungsi yang bersifat umum. Dengan menggunakan ODBC anda bisa mengakses bermacam-macam sumber data seperti oracle dan microsoft access dengan mudah. Kesemuanya diakses dengan memakai kaidah SQL (Structured Query Language).
2.2.6	Relasi Antar Tabel 
Relasional merupakan bentuk hubungan antara dua tabel atau lebih. Dengan hubungan seperti ini, sebuah data dapat disimpan dengan stuktur yang terorganisir sehingga memudahkan kita dalam memasukkan informasi dan mengelola databasenya. Ada beberapa jenis relasi antar tabel antara lain:
1.	Relasi One to One
Bentuk relasi dikatakan One to One apabila tabel A memiliki satu anggota yang juga ada dalam tabel B, atau tabel B hanya memiliki satu anggota yang ada pada tabel A. 

Tabel A

Tabel B

Gambar 2.1 relasi One to Many
2.	Relasi One to Many
Bentuk relasi dikatakan One to Many apabila salah satu anggota tabel A memiliki anggota pada tabel B lebih dari satu, atau salah satu dari anggota tabel B dapat memiliki satu atau beberapa anggota pada tabel A. 

Tabel A

Tabel B

Gambar 2.2 relasi One to Many
3.	Relasi Many to Many                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
Tabel dikatakan memiliki hubungan Many to Many apabila semua baris data pada tabel A memiliki banyak anggota yang berada pada tabel B dan semua anggota pada tabel B dapat dimiliki oleh banyak anggota tabel A.

Tabel B

Tabel A

Gambar 2.3 relasi Many to Many

2.2.7	Diagram Arus Data
Diagram arus data secara grafis menjelaskan arus data dalam sebuah organisasi. Teknik ini digunakan untuk mendokumentasikan sistem yang digunakan sekarang dan untuk merencanakan serta merancang sistem yang baru. Tidak ada cara standar dalam menyusun diagram arus data karena persoalan yang berbeda memerlukan metode yang berbeda pula. Diagram arus data disusun dengan menggunakan empat simbol utama yaitu:
Simbol	Nama	
	Sumber dan tujuan data	
	Arus data	
	Proses transformasi	
	Penyimpanan data	

2.2.8	Bagan Alir 
Bagan alir merupakan teknik analisis yang digunakan untuk menjelaskan aspek-aspek sistem informasi secara jelas, tepat, dan logis. Bagan alir menggunakan serangkaian simbol standar untuk menguraikan prosedur pengolahan transaksi yang digunakan oleh sebuah perusahaan, sekaligus menguraikan aliran data dalam sebuah sistem.
Secara garis besar, simbol dapat dikelompokan ke dalam empat kelompok sebagai berikut:
1.	Input/output, yaitu simbol yang menggambarkan alat atau media yang memberikan input atau merkam output dari kegiatan pengolahan data.
2.	Processing, merupakan simbol yang menunjukkan jenis alat yang digunakan untuk mengolah data (dengan komputer atau dikerjakan secara manual).
3.	 Storage, simbol yang menggambarkan alat yang digunakan untuk menyimpan data saat ini tidak dipakai oleh sistem.
4.	lain-lain, simbol yang menunjukkan arus data dan barang. Simbol ini juga menggambarkan saat mulai dan berakhirnya bagan alir, serta penjelasan-penjelasan tambahan pada bagan alir tersebut.