BAB II
LANDASAN TEORI

2.1	Sejarah Singkat Toko Mebel JATI MURNI
Toko Mebel JATI MURNI merupakan salah satu perusahaan swasta yang ikut mengambil bagian dalam proses  pembangunan di sektor industri dalam bidang kerajinan yang meliputi kerajinan kayu dan ukir.
Toko Mebel JATI MURNI didirikan pada tahun 1986 oleh Bapak Rusbandi, toko tersebut berlokasi di Nitikan UH  VI / 216 Yogyakarta. Toko Mebel JATI MURNI tersebut telah memiliki surat izin untuk melakukan usahanya dan sampai saat ini telah memiliki karyawan sebanyak 10 orang. 
Toko Mebel JATI MURNI ini didirikan dengan tujuan sebagai upaya guna melayani proses pembelian dan penjualan untuk memenuhi kebutuhan akan kerajinan kayu dan pahatan ukir baik dari pecinta kerajinan dalam negeri maupun dari luar negeri.
 
2.2	Pengolahan Data Penjualan dan Pembelian di Toko Mebel JATI MURNI    
Toko Mebel JATI MURNI yang bergerak di bidang kerajinan kayu dan ukir saat ini telah memiliki pekerja sebanyak 10 orang. Dengan jumlah permintaan akan kerajinan ukir yang cukup banyak, selama ini pengolahan data baik penjualan dan pembelian hanya dilakukan secara manual dan dirasakan banyak mengalami hambatan. Karena keterbatasan kemampuan manusia dalam melakukan suatu pekerjaan maka masalah-masalah sering kali timbul, oleh karena itu program pengolahan data pembelian dan penjualan dengan menggunakan perangkat komputer sangat dibutuhkan. Dalam transaksi pembelian dan penjualan di toko Mebel JATI MURNI transaksi dapat dilakukan secara langsung atau dapat juga melalui pesanan. Namun dalam pembuatan aplikasi ini dibatasi hanya akan membahas transasksi pembelian dan penjualan secara langsung tidak membahas pesanan dan juga pengembalian barang karena barang yang di beli dan tiba-tiba ada kerusakan maka akan ditukar dengan barang yang sama.  Pembayaran yang dilakukan yaitu pembayaran secara tunai dan tidak melayani pembayaran secara kredit dengan kata lain ada uang maka ada barang, hal ini dikarenakan semua barang yang ada adalah barang-barang dengan kualitas yang cukup tinggi sehingga jika terjadi pembayaran secara kredit ditakutkan akan mengakibatkan adanya pembayaran yang sulit. Untuk melaksanakan pengolahan data pembelian dan penjualan tersebut maka akan dibuat sebuah aplikasi program pengolahan data pembelian dan penjualan yang akan meliputi :
1.	Data Barang
2.	Data Pembelian 
3.	Data Detailpembelian
4.	Data Penjualan 
5.	Data DetailPenjualan
6.	Data Pelanggan
7.	Data Pemasok
Susuai dengan kebutuhan, maka tenaga kerja yang ada pada Toko Mebel JATI MURNI ini merupakan tenaga kerja dari wilayah sekitar tempat dimana toko tersebut ada  maupun pendatang yang sesuai dengan kriteria yang telah ditetapkan oleh toko tersebut.

2.3	Sekilas Tentang Pemrograman Delphi 7
Delphi merupakan perangkat pengembangan aplikasi yang sangat terkenal di lingkungan Windows. Dengan menggunakan perangkat lunak ini anda dapat membangun berbagai aplikasi Windows (permainan, multimedia, database dan lain-lain) dengan cepat dan mudah. Dengan pendekatan visual, dapat menciptakan aplikasi yang canggih tanpa banyak menuliskan kode. Delphi menggunakan bahasa object Pascal sebagai bahasa dasar. 
Aplikasi atau program aplikasi atau terkadang disebut program adalah sederetan kode yang digunakan untuk mengatur komputer agar melakukan sesuatu sesuai dengan keinginan yang membuatnya. Aplikasi dapat dibedakan menjadi aplikasi Windows dan aplikasi konsol. Aplikasi Windows adalah aplikasi yang berjalan pada windows, aplikasi non-Windows misalnya yang berjalan pada DOS, biasa disebut aplikasi konsol.
Dengan berkembangnya kebutuhan akan informasi yang cepat dan tepat maka diperlukan bahasa pemrograman yang dapat mengolah data yang ada dengan cepat dan hasil yang akurat. Delphi merupakan salah satu bahasa pemrograman tingkat tinggi yang dapat digunakan untuk mengolah data dan menghasilkan informasi dalam bentuk laporan-laporan. Sampai saat ini telah banyak beredar versi-versi dari perangkat lunak Delphi. Hingga saat ini Delphi telah mengeluarkan Produk Versi VII. Dengan menggunakan bahasa pemrograman Delphi yang diantarannya mempunyai kemampuan : 
1.	Adanya komponen Visual yang sangat membantu dalam melakukan pekerjaan dengan lebih cepat
2.	Desain tampilan yang sangat interaktif
3.	Dapat digunakan sebagai aplikasi Database dengan cepat dan akurat
4.	Dapat digunakan untuk mengolah data dalam bentuk jaringan
5.	Desain Interface yang baik
Aplikasi Database dengan Delphi 7 disajikan dalam komponen-komponen seperti tabel, datasource, database dan komponen-komponen lainnya yang tertampung dalam halaman data Acess dan Control. Selain itu adanya komponen dalam delphi yang dapat secara langsung mengakses data pada database yang telah dibuat membuat aplikasi dengan delphi semakin mudah. Dengan DBEdit kita bisa langsung menghubungkan field pada tabel secara langsung dengan terlebih dahulu menyeting komponen datasource dan datafield. 
Metode lain yang dengan mudah dapat dilakukan dengan menggunakan pemrograman delphi adalah perintah-perintah yang singkat dan mudah dipahami untuk operasi tabel seperti metode Post untuk menyimpan, cancel untuk membatalkan, Edit untuk merubah data.
Adanya komponen Quickreport sangat membantu dalam pembuatan laporan dengan menggunakan pemrograman Delphi 7. Metode yang dipakai untuk menyeting data yang diambil dari tabel adalah sama seperti saat menyeting dari komponen DBEdit sehingga pengguna akan semakin mudah untuk mengoperasikannnya.
Dengan kemampuan yang dimiliki Delphi, maka saat ini sudah banyak aplikasi-aplikasi yang menggunakan Delphi sebagai salah satu media perangkat lunak untuk mengolah data maupun untuk membuat program animasi.
Sampai dengan saat ini Delphi sudah berkembang untuk pemrograman client server ataupun pemrograman berbasis server. Delphi juga banyak diaplikasikan untuk pemrograman multi user.

2.4	Komponen Pada Delphi
Sebelum kita memulai membuat pemrograman dengan Delphi maka kita harus mengenal terlebih dahulu dengan baik lingkungan yang ada didalamnya. Lingkungan kerja Delphi merupakan sistem pemrograman terpadu, sistem ini disebut dengan IDE ( Integrated Development Environment ). Atau dapat juga diartikan sebagai lingkungan pengembangan aplikasi terintegrasi. Tidak semua komponen terlihat secara visual. Kotak kombo dan tombol radio adalah contoh komponen yang terlihat secara visual. Komponen yang terlihat secara visual biasa juga di sebut kontrol.
IDE Delphi 7 terdiri dari beberapa bagian yaitu : Menu, Object Inspector, Object Treeview, Form dan Unit. Masing-masing bagian dikelompokkan dalam jendela yang berbeda.

2.4.1	Menu
Bagian ini terdapat pada posisi paling atas dari Delphi 7. Bagian-bagian menu dapat dilihat pada Gambar 2.1

Speed Bar

Main Menu

Component Pallete

Gambar 2.1   Bagian – bagian menu

Menu, apabila dikelompokkan pada fungsinya dapat dibagi menjadi tiga kelompok, yaitu :

1.	Main Menu
Bagian ini berisi semua perintah yang terdapat dalamDelphi 7. Berisi menu - menu seperti menu File, Edit, View dan sebagainya. Untuk lebih jelasnya dapat dilihat pada gambar 2.1.
2.	Speed Bar
Bagian ini berisi tombol-tombol yang mempercepat dan mempermudah dalam membangun Delphi 7, seperti untuk membuka project, menyimpan, membuat form baru dan menjalankan aplikasi. Untuk lebih jelasnya dapat dilihat pada gambar 2.1.
3.	Component Pallete
Bagian ini berisi komponen-komponen yang yang akan digunakan untuk membang aplikasi. Ada banyak komponen yang disediakan oleh Delphi 7 komponen tersebut di kelompokkan sesuai dengan fungsinya. Untuk memilihnya tinggal klik tab kategori yang diinginkan, pilih komponen yang akan dibuat dalam aplikasi dan masukkan ke dalam form. 

2.4.2	Object Treeview
Pada bagian ini menunjukkan sebuah komponen-komponen yang digunakan dalam membangun aplikasi. Apabila suatu komponen ingin dimodifikasi atau ingin melihat salah satu form yang diinginkan, komponen tersebut dapat dengan mudah dan cepat dipilih melalui objct treeview. 

2.4.3	Object Inspector
Object Inspector terdiri atas dua page atau halaman, page tersebut yaitu berupa Poperties dan Events. Pada Page Properties digunakan untuk mengubah properti dari suatu obyek / komponen.  Page events di gunakan untuk memilih event komponen yang akan dibuat. Events adalah sesuatu yang akan dilakukan oleh obyek apabila obyek tersebut diberikan suatu aksi.  
                   
         Gambar   2.2  Object Inspector

2.4.4	Form
Form adalah tempat yang dipakai untuk membangun sebuah program aplikasi. Setiap form diatur dan dikendalikan oleh Unit. Pada saat suatu aplikasi diciptakan, secara otomatis aplikasi akan menempatkan sebuah form. Secara umum, sebuah aplikasi paling tidak akan melibatkan sebuah Form dan bisa juga melibatkan banyak form. Sebuah Form umumnya banyak melibatkan komponen lain (mengingat form sendiri tergolong sebagai komponen).

Gambar   2.3  Form

2.4.5	Unit
Pada bagian Unit berisikan kode program yang biasanya dipakai untuk mengatur dan mengendalikan segala sesuatu yang ada dalam form. Misalnya untuk mengatur properti maupun event sebuah komponen.

Gambar   2.4  Unit

2.5	Konsep Basis Data
Data merupakan kumpulan dari fakta / relaita / kenyataan yang dapat direkam dan disimpan. Sedangkan Basis Data dapat didefinisikan sebagai kelompok data yang saling berhubungan yang diorganisasi (diatur/dikelola) sedemikian rupa agar dapat dimanfaatkan kembali dengan cepat dan mudah. 
Kemudian Informasi adalah data yang telah diolah menjadi bentuk yang lebih berarti bagi penggunanya. Sehingga Konsep Basis Data adalah koleksi dari file – file yang saling berhubungan dimana program – program yang dibuat, pemakai dapat mengakses dan memodifikasi file – file tersebut. 
Tujuan-tujuan  dalam pemanfaatan Basis Data adalah sebagai berikut :
1.	Kecepatan dan kemudahan (Speed)
Yaitu dalam hal menyimpan, merubah, menampilkan dan lain-lain.
2.	Efisiensi ruang penyimpanan (Space)
Disimpan dalam kode dan relasi-relasi antar kelompok data.
3.	Keakuratan (Accuracy)
Keakuratan terjadi jika ada kode, relasi aturan constraint (tipe) data yang akan disimpan.
4.	Ketersediaan (Availability)
Yaitu dengan cara dipilah-pilah, hapus data, dan dengan diebar melalui fasilitas jaringan.
5.	Kelengkapan (Completeness)
Terdapat struktur basis data dimana dapat ditambah/diubah dan record juga dapat ditambah/diubah.
6.	Keamanan (Security)
Dengan menggunakan hak akses dapat ditentukan siapa yang berhak menggunakan, membuka, maupun memasukkan data.
7.	Kebersamaan Pemakaian (Sharebility)
Yaitu dalam sistem multiuser (banyak pengguna).
Istilah-istilah dalam perancangan basis data yang perlu kita ketahui yaitu :
1.	Entitas (Entity)		 
Suatu hal / objek / peristiwa yang informasinya direkam, dalam pemrograman disetarakan dengan tabel.
2.	Atribut (Attribute)
Elemen dari entitas atau sebutan untuk suatu data, dalam pemrograman disetarakan dengan field.
3.	Kunci primer (Primary key)
Field atau kumpulan field yang mewakili identitas yang lain dan sifatnya unik.
4.	Kunci tamu (Foreign key)
Field atau kumpulan field yang digunakan untuk menghubungkan ke table induk.
5.	Tabel (Table)
Himpunan seluruh record yang bertipe sama (kumpulan record data yang berkaitan dengan suatu subyek).
6.	Record
Gabungan sejumlah field (element data) yang saling terkait.
7.	Field
Satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna.

2.6	DataBase Desktop
Jika kita ingin membuat suatu program aplikasi untuk manajemen database kita memerlukan file database yang akan diproses. File database ini dibuat satu kali saja dan tidak perlu langsung diisi recordnya (dibuat struktur databasenya saja). Selanjutnya file database tersebut diproses lewat program. Untuk membuat file database kita dapat menggunakan program database desktop.
Database Desktop adalah suatu program “Add-Ins”, yaitu program terpisah yang di tempelkan dalam Delphi sehingga bisa di pakai sebagai bagian dari program Delphi. 
Cara memanggil DataBase Desktop yaitu melalui menu Tools kemudian pilih dataBase Desktop. Untuk membuat file database dalam format paradox satu file database hanya berisi satu tabel database jadi agak berbeda dengan format MS-Access, yang memungkinkan membuat beberapa tabel dalam satu file database. 

2.7	Struktur Tabel DataBase Desktop
Pada struktur tabel DataBase ini terdapat 4 kolom, kolom tersebut  berupa bagian field yang harus terisi sesuai dengan stuktur nama kolom field tersebut. Struktur nama  kolom tersebut  yaitu  Field Name, Type, Size dan Key.
2.7.1	Field Name
Yaitu nama pengenal satu kolom dalam tabel database. Aturan untuk pemberian  nama field adalah maksimum panjangnya 25 karakter, tidak boleh diawali spasi tetapi boleh mengandung spasi ( _ ), harus unik (tidak boleh ada yang sama dalam satu tabel), jangan menggunakan tanda koma, seru dan pipe (|).
2.7.2	Tipe Field 
Tipe field ini menentukan tipe data yang dapat ditampung dalam field. Untuk menampilkan daftar field yang tersedia, tekan tombol spasi atau klik kanan. Tipe Field yang digunakan yaitu :
1	Tipe A (AlphaNumeric)
Tipe data yang berisi tulisan / teks / huruf / karakter dan juga angka atau kombinasi dari keduanya yaitu karakter dan angka.
2	Tipe N (Number)
Tipe data yang digunakan untuk menampung data angka yang dapat dihitung.
3	Tipe $ (Money)
Seperti tipe data Number tetapi hanya bisa berupa angka atau pecahan.
4	Tipe + (AutoIncrement)
Tipe data yang bertipe long integer, hanya bisa dibaca dan otomatis akan melakukan penambahan.
5	Tipe G (Graphic)
Tipe data yang digunakan untuk menampung data gambar. Tetapi data gambar sebetulnya disimpan dalam file yang terpisah, jadi yang tersimpan hanyalah informasi yang menghubungkan dengan data gambar tersebut.

6	Tipe D (Date)
Tipe data yang digunakan untuk menampung data tanggal.

2.7.3	Size
Size merupakan ukuran yang digunakan untuk menentukan lebar field name  jika diperlukan .

2.7.4	Key
Pada kolom key kita dapat memberi tanda * dengan menekan sembarang tombol. Field yang diberi tanda key harus berupa urutan field dari paling atas. Field yang diberi tanda Key akan dipakai sebagai kunci pengurutan (Index) primer. Index merupakan file yang berisi urutan data pada suatu tabel database, index data diperlukan terutama untuk pencarian data dengan cepat dan juga untuk pengelompokkan data.