BAB 2
LANDASAN TEORI

2.1  Sejarah Dan Perkembangan Perusahaan
Dealer Yamaha HARRY MOTOR di Brebes adalah salah satu usaha yang bergerak dibidang penjualan kendaraan bermotor khusus untuk merek Yamaha saja. Dealer Yamaha HARRY MOTOR  didirikan oleh Bapak Widi Pramono S.E. Usaha ini sudah berdiri sejak tanggal 18 Agustus 2000. Sejalan dengan perkembangan usaha ini dan upaya dalam membangun sistem penjualan yang lebih baik maka sangat diperlukan adanya sistem komputer sebab jika dikerjakan dengan manual dapat menimbulkan terjadinya keterlambatan, pemborosan waktu dalam menyajikan informasi yang dibutuhkan, dimana waktu disini sangatlah berharga dan juga sangat mempengaruhi kemajuan usaha dan akhirnya banyak aktifitas yang tertunda. tidak hanya itu tapi  berpengaruh juga terhadap faktor ketelitian.
Cara kerja manual sangat rentan terhadap kesalahan. Untuk mengatasi kesalahan penyajian informasi dan kelemahan sumber daya manusia maka sistem pengolahan data yang paling efektif adalah penggunaan komputer sebagai alat bantu dalam menangani hal-hal yang bersifat rutin. Disamping itu komputer juga mempunyai kemampuan lebih tinggi dalam hal daya tampung pengingat yang besar, kecepatan proses dan melakukan perhitungan yang rumit dan dapat menghemat tenaga sehingga sangat tepat bila menggunakan komputer untuk menangani data yang banyak dan lebih kompleks.
Penyusunan sistem pengolahan data penjualan ini sebenarnya merupakan pengalihan cara manual secara sistem pengolahan data dengan komputer. Data yang sudah digunakan sebenarnya adalah sistem pengolahan data yang sudah ada sebelumnya. Tentu saja ada beberapa pengolahan yang dianggap pola untuk memperoleh suatu sistem pengolahan data yang maksimal, tetapi perubahan itu bukan pada hal-hal yang mendasar yang menimbulkan kesalahan informasi.

2.2  Mekanisme Penjualan
Dalam rangka meningkatkan usaha perdagangan, maka para pengolah perlu suatu pengembangan dalam aspek operasional untuk menghadapi aspek-aspek operasional dalam pencatatan segala transaksi penjualan maupun pembelian.
Transaksi penjualan dapat dilakukan setiap saat, namun tergantung pada  konsumen yang datang untuk membeli, sedangkan harga penjualan sepeda motor sudah ditentukan oleh pemilik dealer berdasarkan harga pasar, dalam melakukan transaksi penjualan. 
Setiap pembelian sepeda motor dilakukan secara langsung, maksudnya apabila persediaan sepeda motor sudah tidak ada di gudang, maka pihak dealer Yamaha akan menghubungi supplier yang sudah menjadi pemasok sepeda motor. 
Setiap sepeda motor yang keluar harus dicatat dalam pembukuan secara cermat, karena menyangkut keberadaan persediaan sepeda motor. Biasanya penjualan sepeda motor ke konsumen itu dilihat dulu jumlah stok yang ada, kemudian jika permintaan sepeda motor kurang maka dealer Yamaha akan menghubungi supplier untuk memasok  sepeda motor lagi. 
Alur proses penjualan sepeda motor bila stok kosong tidak melayani penjualan yaitu dari bagian kasir yang akan menanyakan kebagian gudang dan bagian gudang akan memberikan informasi stok barang apabila stok kosong bagian gudang meminta bagian pengadaan barang untuk membeli barang yang stok kosong. Untuk satu kode motor dapat memiliki lebih dari satu stok motor. 
Secara umum, purna jual dapat diartikan sebagai bagian dari transaksi. Artinya, kendaraan (motor) yang telah terjual kepada konsumen. Termasuk didalam purna jual berupa beberapa fasilitas yang diberikan oleh pihak dealer kepada konsumen, seperti service gratis dan ganti olie yang ditentukan oleh dealer beberapa kali.

2.3.   Konsep Dasar Sistem komputerisasi
2.3.1 Pengertian Sistem
Sistem berasal dari bahasa inggris yaitu system yang berarti susunan atau cara. Terdapat dua kelompok pendekatan didalam mendefinisikan sistem yaitu menekankan pada komponen atau elemennya.
Definisi sistem menurut pendekatan yang menekankan pada prosedur  sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu (Jogiyanto. 1999). Sedangkan definisi sistem yang menekankan pada elemen atau komponen adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai tujuan tertentu. Pendekatan sistem yang menekankan pada komponen akan lebih memudahkan didalam mempelajari suatu sistem, untuk tujuan analisis dan perancangan suatu sistem, karena pada kenyataannya suatu sistem dapat terdiri dari beberapa subsistem yang saling berhubungan untuk mencapai sasaran atau tujuan tertentu. Untuk lebih jelasnya dalam mempelajari suatu sistem, ada beberapa hal yang menjadi karakteristik dari suatu sistem, yaitu:

a.	Komponen Sistem (System Component)
Suatu sistem terdiri dari sejumlah komponen-komponen yang saling berinteraksi, yang artinya saling bekerja sama untuk membentuk satu kesatuan. Setiap subsistem mempunyai sifat-sifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem yang lebih besar dan disebut supra sistem.
b.      Batas Sistem (System Boundary)
Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan. Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut.
c.      Lingkungan Luar (Environment)
Lingkungan luar dari suatu sistem adalah apapun di luar batas sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan, yang merupakan energi dari sistem harus tetap dijaga dan dipelihara. Sedangkan lingkungan luar yang merugikan harus ditahan dan dikendalikan, agar tidak mengganggu kelangsungan hidup sistem.
d.      Penghubung Sistem (System Interface)
Penghubung sistem merupakan media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung sistem ini memungkinkan sumber daya mengalir dari satu subsistem ke subsistem yang lainnya dengan melalui penghubung.
e.      Masukan Sistem (Input System)
Masukan  sistem adalah energi yang dimasukkan ke dalam subsistem. Masukan dapat berupa masukan perawatan (maintenance input) dan masukan signal (signal input). Maintenance input adalah energi yang dimasukan  kedalam sistem agar dapat beroperasi. Signal input adalah energi yang diproses untuk didapatkan keluaran. Sebagai contoh di dalam sistem komputer program adalah maintenance input yang digunakan untuk diolah menjadi informasi.
f.       Keluaran Sistem (Output System)
Keluaran (output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dari sisa pembuangan. Keluaran dapat merupakan masukan untuk subsistem yang lain atau kepada suprasistem.
g.	Pengolahan Sistem (Proces System)
Suatu sistem dapat mempunyai suatu bagian pengolah data yang akan mengubah masukan menjadi keluaran.
h.	Sasaran Sistem (Objective System)
Suatu sasaran mempunyai tujuan atau sasaran. Sasaran dari sistem  sangat menentukan masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem.

2.3.2. Pengertian Komputerisasi
Komputerisasi adalah suatu usaha untuk melakukan suatu kegiatan yang menggunakan alat bantu elektronik berupa komputer yang cepat menerima informasi input digital, memprosesnya sesuai dengan suatu program yang tersimpan di memorinya dan menghasilkan  informasi.
Sistem terkomputerisasi adalah cara memanfaatkan alat bantu elektronik yang berupa Komputer secara otomatis dalam penyelesaian suatu masalah untuk menghasilkan informasi yang diperlukan

2.4.	Pengolahan Dan Pengembangan Basis Data
2.4.1 Pengertian Basis Data
Basis Data adalah kumpulan data yang berhubungan dengan suatu objek, topik atau tujuan khusus tertentu (Budi Permana.1999). Istilah yang digunakan
 dalam pembuatan atau pengembangan database adalah sebagai berikut:
a.	Entity
	Entity adalah orang, tempat kejadian atau konsep yang informasinya direkam.
b.	Atribute
Atribute adalah item data yang menjadi bagian dari suatu entity.
c.	Data Value 
Data value adalah data aktual atau informasi yang disimpan pada tiap data elemen atau atribute.
d.	File
File adalah kumpulan record-record yang sejenis yang mempunyai elemen, atribute sama, namun berbeda-beda data valuenya.
e.	Key
Key merupakan field atau atribute yang mewakili satu record.
f.	Record atau Tuple
Record atau tuple merupakan kumpulan-kumpulan elemen yang saling
berkaitan menginformasikan tentang entity secara lengkap, satu record mewakili satu data.
g.	Relationship
Relationship adalah hubungan antar entity.

h.	Metadata
Metadata merupakan data dari data-data file database, mendeskripsikan nama dan menentukan panjang tiap field, selain itu juga mendeskripsikan panjang dan komposisi tiap record.

2.4.2 Database Management System (DBMS)
Database Management System (DBMS) secara umum diartikan sebagai suatu program komputer yang digunakan untuk memasukan, mengubah, menghapus, memanipulasi dan memperoleh data atau informasi dengan praktis dan efisien (Abdul Kadir 1999). Satu DBMS berarti berisi satu koleksi data yang saling berelasi dan satu set program untuk mengakses program pengelolaan untuk menambah data, menghapus data, mengambil dan membaca data.

2.4.3 Pengembangan Sistem Basis Data
Dalam pengembangan sistem basis data berhubungan erat dengan masalah-masalah yang timbul dalam file basis data yang meliputi penyediaan sarana akses yang fleksibel, proteksi data dari kerusakan dan penggunaan yang ilegal, pemeliharaan integritas data dan meningkatkan produktifitas personal sistem informasi.
a.	Keberhasilan suatu sistem informasi pengolahan pada suatu instansi sangat dipengaruhi oleh sistem basis data yang merupakan salah satu elemen penyusun sistem yang mana dapat menentukan baik atau tidaknya pengaruh sistem yang diterapkan. 

2.5.	Borland Delphi
 Borland Delphi di kenal sebagai sebuah aplikasi untuk pengembangan yang memanfaatkan keistimewaan konsep-konsep antar muka grafis dan berjalan pada sistem operasi Microsoft Windows, sehingga waktu yang diperlukan untuk menyusun suatu aplikasi menjadi lebih singkat, karena banyak perkerjaan yang diambil alih oleh peranti lunak. Konsep semacam ini dikenal dengan RAD (Rapid Application Development).
Tampilan Borland Delphi 7.0 setelah pada kondisi terbuka, adalah sebuah windows dimana nantinya perancangan dan penyusunan program aplikasi dilakukan. Inilah yang disebut dengan IDE (Integreted Development Environtment). Setiap bagian dalam sistem IDE Delphi mempunyai fungsi-fungsi sendiri.
1.	Menu
Semua perintah yang diperlukan selama perancangan dan membangun  progam aplikasi, dibawah ini adalah Menu yang terdapat pada Delphi. 

Gambar 2.1. Menu pada Delphi
2.	SpeedBar
Speed Bar atau sering juga disebut toolbar berisi kumpulan tombol yang tidak lain adalah pengganti beberapa item menu yang sering digunakan. Dengan kata lain, setiap tombol pada Speed Bar menggantikan salah satu item menu.

Gambar 2.2. SpeeedBar pada Delphi
3.	Component Pallete
Component Pallete berisi kumpulan ikon yang melambangkan komponen-komponen pada VCL (Visual Component Library). Dan ini terdapat juga komponen yang bersifat Non-VCL yang artinya pada saat program tersebut dijalankan maka komponen yang Non-VCL tersebut tidak akan tertampil pada form yang anda buat. Contoh komponen yang bersifat non-VCL misalnya Table, DataSource, Timer, dll.

Gambar 2.3. Component Pallete pada Delphi

4.	Object Inspector
Object Inspector digunakan untuk mengubah karateristik sebuah komponen. Di bawah ini adalah Object Inspector yang terdiri dari Properties dan Events. 

Gambar 2.4. Object Inspector Pada Delphi  Yaitu Properties Dan Events

5.	Form
Form merupakan tempat dimana anda dapat merancang jendela dari aplikasi window anda. Perancangan form dilakukan dengan meletakan komponen-komponen yang diambil dari Component Palette.

Gambar 2.5. Form Designer

6.	Editor Kode
Code Editor adalah tempat di mana kita menuliskan kode-kode program, program yang kita buat tidak akan ada gunanya tanpa kode program.

Gambar  2.6. Kode Editor Pada Delphi

2.6.	MySQL
	 MySQL (My Sructure Query Language) adalah program pembuat database yang bersifat open source atau dapat dikembangkan oleh siapapun, artinya siapa saja boleh menggunakannya dan bersifat free jadi pengguna tidak perlu membeli. MySQL dapat dijalankan pada semua platform baik windows maupun linux.
	MySQL termasuk jenis RDBMS (Relation Database Management System). Itulan sebabnya istilah seperti tabel, baris dan kolom digunakan dalam MySQL. Sebagai sebuah program penghasil 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 variable yang sewaktu-waktu dapat dipergunakan.
	Dalam pembuatan database dengan MySQL hal yang perlu diketahui adalah seperti yang dijelaskan berikut ini
1.	Membuat Database
Untuk membuat sebuah database baru, dengan menggunakan perintah create database
Mysql> CREATE DATABASE_name;
2.	Melihat Database
Untuk melihat database yang telah kita buat, kita dapat menggunakan perintah show databases. Kita memberi tambahan s dalam databases karena dalam suatu server database kita tentunya memiliki tidak hanya satu database.
Mysql>SHOW DATABASES;
3.	Menghapus Database
Untuk menghapus database, perintah yang digunakan adalah drop database
Mysql>DROP DATABASE database_name;
4.	Membuat Tabel
Untuk membuat table digunakan perintah CREATE TABLE
Mysql>CREATE TABLE table_name
(
		Column_name1 data_type,
		Column_name2 data_type,
………………)
5.	Menghapus Tabel
Untuk menghapus tabel menggunakan perintah berikut :
Mysql>DROP TABLE table_name
6.	menambahkan field kedalam tabel
Jika akan menambahkan field baru kedalam tabel dapat menggunakan perintah sebagai berikut :
Mysql>ALTER TABLE table_name
	      	ADD column_name data_type;
7.	Menghapus Field
Sintak untuk menghapus sebuah field dari tabel yaitu :
Mysql>ALTER TABLE table_name
	      	Drop column_name
8.	Memasukan Data
Untuk memasukan data kedalam tabel, gunakan perintah INSERT INTO
Mysql>INSERT INTO table_name 
VALUES (value1, value2,….)
Selain sintak diatas anda juga dapat menyebutkan nama-nama field (kolomnya).
Mysql>INSERT INTO table_name (column1, column2,…)
VALUES (value1, value2,………)
9.	Menampilkan Data
Untuk menampilkan data dapat menggunakan perintah SELECT
Mysql>SELECT (column1, column2,..) from table_name
Atau akan menampilkan semua kolom maka dapat menggunakan tanda *
Mysql>SELECT * from table_name
10.	 Merubah Data atau Mengganti Data
Untuk merubah data digunakan perintah UPDATE
Mysql>UPDATE table_name
SET column1	= expr1,
	 	        column2	= expr2
WHERE where_definition
11.	Menghapus Data
Sintak untuk menghapus data yaitu :
Mysql>DELETE FROM table_name WHERE where_definition

2.6.1	Variabel dan Tipe Data
	Variabel digunakan untuk menyimpan data sementara, dan nantinya bisa berubah-ubah setiap kali program dijalankan. Tipe data berfungsi untuk membatasi jenis data atau nilai yang dimasukan dalam sebuah variabel. Beberapa tipe data, spesifik terhadap DBMS tertentu dapat dilihat dibawah ini
1.	Char
Untuk menyatakan deretan karakter (string). Misalnya untuk menyatakan nama orang, nama jalan, atau nama kota.
2.	Integer
Untuk menyatakan bilangan bulat.
3.	Numeric
Untuk menyatakan bilangan real.
4.	Varchar
Untuk menyatakan string yang panjangnya bervariasi.
5.	Serial atau Autoincrement
Untuk menyatakan nilai urut.
6.	String
Merupakan tipe data yang menyimpan nilai berupa alfanumerik (gabungan antara karakter dengan numeric). Tipe data ini merupakan tipe data paling luas karena mengizinkan hampir semua jenis dapat disimpan dalam sebuah variabel.
7.	Array
Merupakan sebuah data yang mengandung satu atau lebih dengan dan dapat diakses berdasarkan numeric maupun string.

2.6.2.  Instalasi MySQL
Untuk penginstalan MySQL adalah membuka windows explorer kemudian cari  folder mysql. Klik ganda folder tersebut dan anda buka juga folder bin yang ada didalamnya. Untuk memulai proses instalasi database MySQL, klik ganda file SETUP.EXE. Anda tunggu beberapa menit, proses instalasi akan berjalan secara otomatis dan akan memberitahu anda jika proses instalasi sudah selesai.

2.7.  Basis Data
	Secara mendasar, basis data merupakan kumpulan file-file yang mempunyai kaitan antara satu file dengan file yang lain sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan tertentu.
Sistem Manajemen Basis Data (Database Management System, DBMS) merupakan kumpulan file yang saling berkaitan bersama dengan program untuk pengelolaanya. Sistem Manajemen Basis Data Relasional (Relational Database Management System, RDBMS) merupakan salah satu model dari suatu sistem manajemen basis data. 
Untuk perancangan basis data yaitu perancangan model konseptual penekan tinjauan dilakukan pada struktur data dan relasi antara file. Pendekatan yang dilakukan pada perancangan model konseptual adalah menggunakan model data relational. Teknik yang digunakan dalam perancangan basis data yaitu :
1.	Teknik Normalisasi
Proses normalisasi merupakan proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi selalu diuji pada beberapa kondisi. Bentuk-bentuk normalisasi :
a.	Bentuk tidak normal
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi.

b.	Bentuk Normal Kesatu
Bentuk normal kesatu mempunyai ciri yaitu setiap data dibentuk dalam flat file (file datar/rata), data dibentuk dalam satu record demi satu record dan nilai dari field-field berupa”atomatic value”. Tidak ada set atribute yang berulang-ulang atau atribute bernilai ganda (multivalue).
c.	Bentuk Normal Kedua
Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu. Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama/primary key. Sehingga untuk membentuk normal kedua haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya.
d.	Bentuk Normal Ketiga
Untuk menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk normal kedua dan semua attribute bukan primer tidak punya hubungan yang transitif. Dengan kata lain, setiap attribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh.
2.	Teknik Entity Relationship
Pada model data relational hubungan antar file direlasikan dengan kunci relasi (relation key), yang merupakan kunci utama dari masing-masing file.
a.	Entity Relationship konsep
Relasi antara dua file atau dua table dapat dikategorikan menjadi tiga macam. Untuk membantu gambaran relasi secara lengkap terdapat juga tiga macam relasi dalam hubungan attribute dalam satu file.
1)	One to One
Hubungan antara file pertama dengan file kedua adalah satu berbanding satu. Hubungan tersebut dapat digambarkan dengan tanda lingkaran untuk menunjukkan table dan relasi antara keduanya diwakilkan dengan tanda panah tunggal.
2)	One to many
Hubungan antara file pertama dengan file kedua adalah satu berbanding banyak atau dapat pula dibalik banyak lawan satu. Hubungan tersebut dapat digambarkan dengan tanda lingkaran untuk menunjukkan table dan relasi antara keduanya diwakilkan dengan tanda panah ganda untuk menunjukkan hubungan banyak tersebut.
3)	Many to many
Hubungan antara file pertama dengan file kedua adalah banyak berbanding banyak. Hubungan tersebut dapat digambarkan dengan tanda lingkaran untuk menunjukkan table dan relasi antara keduanya dengan tanda panah ganda untuk menunjukkan hubungan banyak tersebut.
3. Atribut dalam Basis Data
	Perancangan basis data diperlukan, agar basis data yang diciptakan kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan, dan mudah dalam pemanipulasian data. Dalam pembuatan table atau file maka diperlukan atribut-atribute (pembentuk karakteristik/sifat-sifat yang melekat pada tabel). Pada setiap tabel terdapat satu atribut yang harus dijadikan key (kunci) dan yang lainnya disebut attribute deskriptif. Key adalah satu atau gabungan basis data dari beberapa atribut yang membedakan semua baris data dalam tabel secara unik.
 	Pada basis data terdapat tiga (3) macam key yang dapat diterapkan dalam tabel  yaitu:
-  	Superkey merupakan satu atau lebih atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
- 	Candidate-Key merupakan kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
-   	Primary Key merupakan kunci utama dalam sebuah tabel karena lebih sering dijadikan acuan.
Definisi atau istilah-istilah dalam basis data adalah sebagai berikut :
a.	 Entity adalah tempat, kejadian, atau konsep yang implementasinya direkam.
b.	Atribut seriap entity mempunyai atribut atau sebutan untuk mewakili suatu entity, seseorang anggota dapat dilihat dari atributnya misalnya nama, alamat dan status.
c.	 	File adalah kumpulan dari record-record sejenis yang mempunyai panjang yang sama antara record  yang satu dengan yang lain. 
d.	Data Value adalah data actual atau informasi yang disimpan tiap data elemen atau atribut.
e.	Record adalah kumpulan field-field yang membentuk tipe lebar dan fungsi yang berbeda yang digunakan dalam suatu file database.
f.	 	Data Base adalah kumpulan file-file yang mempunyai kaitan antara suatu file dengan file yang lain sehingga membentuk suatu bangunan data untuk menginformasikan suatu perusahaan instansi dalam batasan tertentu.
g.	Data Base Management System adalah kumpulan file yang saling berkaitan bersama dengan program untuk pengelolaanya berdiri sendiri dalam satu paket program yang komersil untuk membaca data, mengisi data, menghapus data, melaporkan data dalam bahasa data base.
h.	Field adalah kumpulan data tertentu, yang field-field ini akan dikumpulkan dengan field-field lainya sehingga membentuk suatu record. 
i.	 	Relasi Antar Tabel adalah Hubungan antar tabel yang telah terbentuk sangat penting untuk mengetahui proses yang telah terjadi. Hubungan antar tabel dihubungkan dengan field yang ada pada tabel-tabel tersebut. Hubungan yang dapat terjadi antara tabel yang satu dengan yang lain.