BAB 2
LANDASAN TEORI

2.1 Sejarah Singkat Tentang Enath Computer
	Toko ENATH Computer adalah suatu usaha yang begerak dibidang penjualan computer. ENATH Computer berdiri  pada tahun 2001 dan berlokasi di Purwomartani, Kalasan, Yogyakarta. Walaupun belum lama didirikan, namun perkembangannya dapat dibilang sangat cepat, karena ENATH Computer telah mempunyai banyak konsumen atau pelanggan. Pemilihan lokasi ini dipandang agar dapat membuka pasar spesifikasi komputer yang baru didaerah Kalasan. Disamping itu, tempatnya juga strategis karena dekat tepi jalan, memudahkan dalam hal transportasi .

2.2 Proses Penjualan Di Toko ENATH Computer
	Proses transaksi penjualan barang pada pihak ENATH Computer dilakukan jika pelanggan datang ke ENATH Computer dan barang yang diinginkanpun ada, dengan harga yang telah ditentukan oleh pihak ENATH dan juga kedua belah pihak telah mencapai suatu kata sepakat, maka proses jual belipun terjadi . Sementara ini penjualan yang dilayani oleh pihak ENATH Computer adalah pembelian secara tunai.

2.3 Konsep Dasar Basis Data
	Basis data digunakan untuk menyimpan  data agar data tersebut terjamin keakuratannya, efektif dalam penyimpanannya, dan tentu saja mudah dalam pengaksesannya. Oleh karena itu, basis data merupakan hal yang sangat penting dalam pengolahan data.

2.3.1  Pengertian Basis Data
	Basis data adalah kumpulan file-file yang saling berelasi dan berkaitan antara satu file dengan file yang  lain sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan atau instansi dalam batasan tertentu, dimana relasi tersebut biasa ditunjukkan dengan kunci dari tiap file yang ada. 
Definisi-definisi  basis data :
a.	Entity
Entity adalah orang, tempat, kejadian atau konsep yang informasinya direkam
b.	Atribute
Setiap entity mempunyai atribute atau sebutan untuk mewakili suatu entity. Seorang mahasiswa dapat dilihat dari atributenya, misalnya nama, nomor mahasiswa, jurusan, jenjang, alamat, nama orang tua, hobby. Atribute juga disebut sebagai data elemen, data filed, data item.
c.	Data Value (nilai atau isi data)
Data value adalah data aktual atau informasi yang disimpan pada tiap data elemen atau atribute.
d.	Record/ Tuple
Kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap.
e.	File
Kumpulan record-record  sejenis yang mempunyai panjang elemen yang sama, atribute yang sama, namun berbeda-beda data valuenya.
f.	Database
Kumpulan file-file yang saling berelasi dan berkaitan antara satu file dengan file yang  lain sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan atau instansi dalam batasan tertentu
g.	Database Management System (DBMS)
Kumpulan file yang saling berkaitan bersama dengan program untuk pengelolanya berdiri sendiri dalam suatu paket program yang komersil untuk membaca data, mengisi data, menghapus data, melaporkan data dalam bahasa database .
2.3.2 Kriteria Basis Data
Basis data mempunyai beberapa kriteria yang paling penting yaitu :
1.	Bersifat data oriented 
2.	Dapat digunakan oleh beberapa program aplikasi 
3.	Dapat dikembangkan dengan mudah
4.	Dapat memenuhi sistem-sistem yang baru
5.	Dapat digunakan dengan cara-cara yang berbeda
6.	Meminimalkan redudancy atau kerangkapan data
2.3.3 Kegunaan Basis Data
Penyusunan basis data digunakan untuk mengatasi masalah-masalah pada penyusunan data yaitu :
a.	Redudancy dan Inkonsistensi 
Hal yang perlu dihindari ialah penyimpanan data dibeberapa tempat untuk data yang sama ( redudansi ) serta penyimpanan data yang sama berulang dibeberapa file, ini dapat mengakibatkan pemborosan ruang penyimpanan dan juga biaya untuk mengakses menjadi lebih tinggi
b.	Kesulitan Mengakses Data 
apabila suatu saat dibutuhkan untuk mencetak suatu data daftar tertentu sementara belum tersedia untuk menulis data-data pada daftar tersebut, maka terjadilah kesulitan dalam mengakses data, sehingga perlu disusun Database  untuk memudahkan dalam pengaksesan suatu data 
c.	Isolasi data untuk Standarisasi
Jika data tersebar dalam beberapa file dalam bentuk format yang tidak sama, maka akan menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpn data . Maka haruslah database dibuat suatu format sehingga mudah dibuat program aplikasinya 
d.	Banyak Pemakai 
Salah satu alasan mengapa database dibangun karena nantinya data tersebut digunakan oleh banyak orang dalam waktu yang berbeda, diakses oleh program yang sama tetapi berbeda orang dan waktu.
e.	Masalah Keamanan ( Security)
Tidak semua pemakai sistem database diperbolehkan mengakses semua data, oleh sebab itu diperlukan keamanan data
f.	Masalah Kesatuan ( Integrasi )
Database berisi suatu file yang saling berkaitan, masalah utama adalah bagaimana kaitan antara file tersebut terjadi atau bagaimana kesatuan dari file tersebut.
g.	Masalah Kebebasan Data
Perubahan apapun dalam database sebaiknya dapat diatasi tanpa harus merubah program yang harus dibuat.
	
2.4 Sekilas Tentang Visual Basic .6.0
	Microsoft Visual Basic adalah bahasa pemrograman event drive dimana program menunggu sampai adanya respon dari pemakai yang berupa kejadian tertentu, misal tombol diklik, objek mendapatkan fokus, kehilangan fokus, dan lain sebagainya. Ketika event terdeteksi, kode yang berhubungan dengan event akan dijalankan.
Untuk menciptakan suatu aplikasi, langkah – langkah yang dilakukan adalah sebagai berikut :
1)	Membuat user interface / tampilan
2)	Mengatur property
3)	Menulis kode program
2.4.1 Komponen – komponen dalam visual basic 6.0
1)	Main Windows
Main Windows atau jendela utama terdiri dari title bar (baris judul), menu bar, dan toolbar.

Gambar 2.1 Tampilan Main Windows
2)	
Form Windows
Form Windows atau Jendela Form merupakan media dalam membuat aplikasi atau antarmuka dengan pengguna. Di dalamnya kita dapat menambahkan beberapa objek seperti textbox, command button, dan lain sebagainya yang semuanya diambil dari toolbox. 

Gambar 2.2 Tampilan Form Windows
3)	Project Windows
Project Windows atau Jendela Project yang berfungsi untuk mempermudah kita dalam melihat form apasaja yang terdapat dalam project (bahwa dalam sebuah project bisa terdiri dari beberapa form).

Gambar 2.3 Tampilan Project Windows
4)	Toolbox
Toolbox merupakan wadah dari beberapa objek yang akan ditambahkan ke form. Untuk menambahkan objek cukup dengan menggeser objek dari tpplbox ke form.

Gambar 2.4 Tampilan Toolbox
5)	Properties Windows
Properties Windows atau Jendela Properties digunakan untuk mengatur property objek, diantaranya property Name, Caption, Alignment, dan sebagainya. Kotak drop – down pada bagian atas jendela berisi daftar semua objek pada form yang aktif. Ada dua tab tampilan : Alphabetic  (urut abjad) dan Categorized (urut berdasar kelompok) di bagian bawah kotak terdapat property dari objek terpilih.

Gambar 2.5 Tampilan Properties Windows
6)	Form Layout Windows
Form Layout Windows atau Jendela Form Layout digunakan untuk menempatkan posisi form saat dijalankan. Caranya dengan melakukan drag form yang ada pada jendela form layout ke posisi yang dikehendaki. 
 
Gambar 2.6 Tampilan Form Layout Windows
7)	Code Editor
Code Editor digunakan untuk mengetikkan listing program

Gambar 2.7 Tampilan Code Editor
2.4.2	Mengenal Kontrol dalam Visual Basic 6.0
Control merupakan alat bantu yang dipakai untuk membuat sebuah objek pada for visual basic. Setelah control ditambahkan ke form, kontrol tersebut berubah menjadi sebuah objek yaitu elemen perantara pemakai yang dapat diprogram. Adapun control yang digunakan untuk aplikasi ini adalah

Gambar Kontrol	Nama Kontrol	Fungsi	
	Picture Box	Untuk menampilakan file gambar : .bmp, .jpg, .gif, .wmf dan .ico	
	Label	Menampilakan teks tetepi pemakai tidak dapat berinteraksi dengannya atau mengubahnya.	
	Text Box	Menampilkan teks dimana pemakai dapat mengisi atau melihat teks yang ditampilkan sebagai output suatu proses.	
	Frame	Mengidentifikasi sebuah grup pengontrolan.	
	Command Button	Memberikan sebuah perintah atau tindakan ketika digunakan.	
	Option Button	Memberikan grup pilihan. Pemakai hanya dapat memilih satu option pada grup pilihan.	
	Combo Box	Unit control kombinasi antara text box dengan list boxt. Pemakai bisa mengetikkan pilihan atau memilih lewat daftar drop-down.	
	Data	Menampilkan database pada suatu form	
	DTPicker	Menampilkan kalender	
	Shape	Membuat objek gambar, kotak, lingkaran	
	Line	Membuat garis	
	ListBox	Menampilkan suatu daftar atau item yang dapat dipilih salah satu.	
	MSHFlexGrid	Menampilkan data dalam bentuk tabel	
	Gmbar 2.8 Tampilan Kontrol dalam Visual basic 6.0

2.5 Sekilas Tentang Mysql
	Mysql adalah sebuah program database server yang mampu menerima dan mengirimkan datanya sangat cepat, multi user serta menggunakan perintah standar SQL ( Structured Query Language). (Bunafit Nugroho,2005 : 1) 
Mysql memiliki dua bentuk lisensi, yaitu FreeSoftware dan Shareware. Mysql yang biasa kita gunakan adalah Mysql FreeSoftware yang berada dibawah Lisensi Gnu/LPL (General Public License). Keterangan lengkap dapat dilihat pada http://www.gnu.org/licenses/. 
Mysql merupakan  sebuah database server yang free, artinya kita bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya.
2.5.1 Kelebihan Mysql
	Mysql memiliki beberapa kelebihan, diantaranya adalah :
•	Mysql sebagai Database Management System (DBMS)
•	Mysql sebagai Relation Database Management System ( RDBMS)
•	Mysql adalah sebuah software database yang OpenSource, artinya program ini bersifat free atau bebas digunakan siapa saja tanpa harus membeli dan membayar lisensi kepada pembuatnya
•	Mysql merupakan sebuah database server, jadi dengan menggunakan database ini  anda dapat menghubungkannya ke media internet sehingga dapat diakses dari jauh
•	Mysql merupakan sebuah database client. Selain menjadi server yang melayani permintaan, Mysql juga dapat melakukan query yang mengakses database pada server. Jadi Mysql dapat juga berperan sebagai Client. 
•	 Mysql mampu menerima query yang bertumpuk dalam satu permintaan atau yang disebut Multi-Threanding
•	Mysql merupakan sebuah database yang mampu menyimpan data berkapasitas sangat besar  hingga berukuran Gigabayte sekalipun.
•	Mysq didukung oleh driver ODBC, artinya database Mysql dapat diakses menggunakan aplikasi apa saja termasuk berupa visual seperti Delphi maupun Visual Basic
•	 Mysql adalah database menggunakan enskripsi password. Jadi database ini cukup aman karena memiliki password untuk mengaksesnya
•	Mysql merupakan Server database yang multi user, artinya database ini tidak digunakan oleh sepihak orang akan tetapi merupakan database yang dapat digunakan oleh banyak pengguna
•	Mysql dapat menciptakan lebih dari 16 kunci per tabel, dan dalam satu kunci memungkinkan berisi belasan field (kolom)
•	Mysql mendukung field yang dijadikan sebagai kunci primer dan kunci Uniq(atau Unique)
•	Mysql didukung oleh sebuah componen C dan perl API, sehingga Database Mysql dapat diakses melalui sebuah program aplikasi yang berada dibawah protocol internet berupa web. Biasanya aplikasi yang sering digunakan adalah PHP dan Perl
•	Mysql memiliki kecepatan dalam pembuatan tabel maupun peng-update-an table
•	Mysql menggunakan suatu bahasa permintaan standar yang bernama SQL ( Struktur Query Language) yaitu sebuah bahasa permintaan yang distandarkan pada beberapa database  server seperti Oracle, PostGreSQL dll.
(Bunafit Nugroho, 2005 : 1)
2.5.2 Perbedaan Mysql dan Sql
	Sql adalah sebuah bahasa permintaan database yang terstruktur. Bahasa Sql dibuat sebagai bahasa yang dapat merelasikan beberapa tabel dalam database maupun merelasikan antar database, yang ditulis langsung dalam sebuah program database sehinggga seorang pengguna dapat melihat langsung permintaan yang diinginkan , sekaligus melihat hasilnya. 
	Mysql itu sendiri adalah sebuah program database server yang memerlukan sebuah bahasa permintaan dalam melayani permintaan user. 
	Dari pengertian diatas kita tahu bahwa Mysql adalah program database server dan SQL adalah bahasa yang digunakan didalamnya.
	SQL (Struktur Query Language) dibagi menjadi dua bentuk query, yaitu :
1.	DDL (Data Definition Language)
DDL adalah sebuah Metode Query SQL yang berguna untuk mendefinisikan data pada sebuah database, adapun Query yang dimiliki adalah : 
•	CREATE	: digunakan untuk melakukan pembuatan table dan database
•	DROP		: digunakan untuk melakukan penghapusan table maupun database
•	ALTER	: digunakan untuk melakukan pengubahan struktur tabel yang telah dibuat, baik menambah Field (add), mengganti nama Field (change) ataupun menamakannya kembali (rename), serta menghapus (drop)
2.	DML ( Data Manipulation Language)
DML adalah sebuah Metode Query yang dapat digunakan apabila DDL telah terjadi, sehingga fungsi dari Query ini adalah untuk melakukan pemanipulasian database yang telah ada atau telah dibuat sebelumnya. Adapun Query yang termasuk didalamnya adalah :
•	INSERT	: digunakan untuk melakukan penginputan/pemasukan data pada tabel database
•	UPDATE	: digunakan untuk melakukan pengubahan atau peremajaan terhadap data yang ada pada tabel
•	DELETE	:  digunakan untuk melakukan penghapusan data pada tabel. Penghapusan ini dapat dilakukan secara sekaligus ( seluruh isi tabel )  maupun hanya beberapa Recordset
2.5.3 Kemampuan Mysql Dalam Menagani Data
	Daftar ukuran tabel yang dapat ditangani Mysql pada platform yang berbeda:
System Operasi	Ukuran Maksimum Table yang ditangani	
Linux-Intel 32 bit	2G, 4G lebih, tergantung Versi Linux yang digunakan	
Linux-Alpha	8T(?)	
Solaris 2.5.1	2G	
Solaris 2.6	4G	
Solaris 2.7 Intel	4G	
Solaris 2.7 UltraSPARC	512G	
Windows	(?)	

2.5.4 Cara Kerja Mysql
	Mysql termasuk database yang memiliki beberapa distro yang mampu dijalankan pada beberapa platform, meski secara resmi tentu saja memiliki platform tersendiri.
	Berikut adalah beberapa kelebihan Mysql dalam teknik mengakses data maupun mengelola servernya :
•	Local Client	: Mysql sebagai sebuah server database, juga dapat berfungsi sebagai client yang dijalankan pada komputer lokal dimana Mysql itu berjalan
•	Remote Client	: sebagai sebuah database Server Mysql dapat diakses melalui komputer jaringan dengan cara Remote
•	Remote Login	: Mysql dapat diakses dengan menggunakan program Mysql yang berada pada komputer lain, sehingga komputer tersebut berfungsi sebagai Client Mysql
•	Web Browser	: dengan menggunakan fungsi-fungsi API yang dimiliki Mysql, maka database dapat diakses menggunakan program yang dibuat dengan sebuah program yang berbasis Server yang berjalan dibawah Web Browser
•	Scripting Language	:  Mysql juga dapat diakses melalui Program Aplikasi Client yang kita ciptakan sendiri dengan menggunakan Visual maupun non visual yang berjalan didalam jaringan. Untuk program-program client yang  berbasis GUI, anda dapat menggunakan Mysql Manager