6 BAB II LANDASAN TEORI 2.1 Basis Data Basis data (bahasa inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. [Wikipedia, 2011] Menurut [ Fathansyah, 2001:2 ] , Basis Data diartikan sebagai gudang atau tempat bersarang dan Data yang berarti representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, hewan, peristiwa, konsep dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Perancangan basis data dibutuhkan agar diperoleh suatu sistem yang sesuai dengan apa yang diinginkan, dimana dapat melalui tahapan berikut : 2.1.1 Entity Relationship Diagram ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada tiga simbol yang digunakan, yaitu : 7 a. Entity (Entitas) Entity merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999: 30). Simbol dari entiti ini biasanya digambarkan dengan persegi panjang. b. Atribut Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips. c. Hubungan / Relasi Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relasi dapat digambarkan sebagai berikut : Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu (Abdul Kadir, 2002: 48) : 1. Satu ke satu (One to one) Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B. 2. Satu ke banyak (One to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A. 3. Banyak ke banyak (Many to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B. 8 Metode pembuatan ERD Dalam membuat ERD, ada beberapa hal yang perlu kita waspadai, selain itu kita juga dituntut untuk lebih teliti dalam menentuka entity, relasi, atribut, menghindarkan terjadinya relasi "many to many" dan lain sebagainya. [Fikri, 2011]. Untuk itu lihat beberapa langkah berikut agar kita bisa membuat ERD dengan baik: a. Menentukan Entity Disini kita dituntut untuk menentukan dengan cermat sebuah entity yang ada dalam suatu proyek atau masalah. Entity berguna untuk menentukan peran, kejadian, lokasi, hal nyata dan konsep penggunaan untuk database b. Menentukan Relasi Setelah kita berhasil membuat Entity, langkah selanjutnya adalah menentukan relasi antar entity. Relasi apa yang terdapat antara Entity A dan B, apakah entity A dan B memiliki relasi "one to one", "one to many", atau "many to many". c. Gambar ERD sementara Jika sudah mengetahui Entity beserta Relasinya, sekarang kita buat dulu gambar ERD sementara. Entity digambarkan dengan persegi, relasi digambarkan dengan garis. d. Isi kardinalitas Kardinalitas menentukan jumlah kejadian satu entitas untuk sebuah kejadian pada entitas yang berhubungan. Contohnya antara Entitas Buku, Distributor dan Pengarang, kardinalitas yang ada berupa : Satu pengarang dapat menulis banyak buku 9 Satu buku ditulis satu pengarang Banyak buku di distribusikan oleh satu distributor. Dari sini kita bisa mengetahui harus memberi relasi apa. One to one kah?, dsb. e. Tentukan Primary Key (Kunci Utama) 1. Menentukan Primary Key pada masing-masing entity. Primary Key adalah atribut pada entity yang bersifat unik. Jadi setiap entity hanya memiliki satu Primary Key saja. Contoh: Entity Buku memiliki Primary Key bernama kode buku. Kode Buku ini bersifat unik, karena masing-masing buku memiliki kode yang berbeda-beda. 2. Tentukan pula Foreign Key (Kunci Tamu) pada masing-masing Entity. Foreign Key adalah Primary Key yang ada dalam Entity yang lain. Contoh pada Entity Pengarang misalnya terdapat atribut kode buku, yang mana, kode buku merupakan Primary Key dari Entity buku. f. Gambar ERD berdasarkan Primary Key Menghilangkan relasi "many to many" dan memasukkan Primary dan Foreign Key pada masing-masing entitas. Relasi many to many antar entity perlu dihilangkan dengan cara menambah atribut baru antara 2 entity yang memiliki relasi many to many. g. Menentukan Atribut Jika sudah melakukan step diatas, sekarang saatnya menentukan atribut pada masing-masing Entitas. Telitilah dalam menentukan atribut. h. Pemetaan Atribut Apabila atribut telah ditentukan, sekarang pasang atribut dengan entitas yang sesuai. 10 i. Gambar ERD dengan Atribut Mengatur ERD seperti langkah 6 dengan menambahkan atribut dan relasi yang ditemukan. j. Periksa Hasil Periksa lagi ERD. Apakah ERD sudah menggambarkan system yang akan dibangun? Jika belum, check kembali dari awal. 2.2.2 Normalisasi Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel- tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi. Tujuan dari normalisasi : a. � Untuk menghilangkan kerangkapan data b. � Untuk mengurangi kompleksitas c. � Untuk mempermudah pemodifikasian data Proses Normalisasi : 1. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. 2. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal. Tahapan Normalisasi : Bentuk Tidak Normal a. Menghilangkan perulangan group Bentuk Normal Pertama (1NF) b. Menghilangkan ketergantungan sebagian 11 Bentuk Normal Kedua (2NF) c. Menghilangkan ketergantungan transitif Bentuk Normal Ketiga (3NF) d. Menghilangkan anomali-anomali hasil dari ketergantungan fungsional Bentuk Normal Boyce-Codd (BCNF) e. Menghilangkan Ketergantungan Multivalue Bentuk Normal Keempat (4NF) f. Menghilangkan anomali-anomali yang tersisa Bentuk Normal Kelima Ketergantungan Fungsional Definisi : Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X --> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R. Ketergantungan Fungsional Penuh Definisi : Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan) 12 Ketergantungan Transitif Definisi : Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X Y, Y Z , maka X Z ) Bentuk Normal Kesatu (1NF) Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data Bentuk Normal Kedua (2NF) Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap key-nya. Bentuk Normal Ketiga (3NF) Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap key-nya. 2.2.3 Relasi Tabel Merupakan hubungan yang terjadi pada suatu tabel dengan tabel yang lainnya, yang berfungsi untuk mengatur operasi suatu database. [Deckynoviar, 2008]. Hubungan yang dapat dibentuk dapat mencakupi 3 (tiga) macam hubungan yaitu ; 13 a. One-To-One (1 – 1) Mempunyai pengertian “Setiap baris data pada tabel pertama dihubungkan hanya ke satu baris data pada tabel ke dua”. b. One-To-Many (1 – ) Mempunyai pengertian “Setiap baris data dari tabel pertama dapat dihubungkan ke satu baris atau lebih data pada tabel ke dua “. c. Many-To-Many ( – ) Mempunyai pengertian “Satu baris atau lebih data pada tabel pertama bisa dihubungkan ke satu atau lebih baris data pada tabel ke dua “. Referential Integrity Referential Integrity merupakan suatu aturan terhadap relasi antar tabel untuk menjamin validasi hubungan antara record-record didalam tabel-tabel yang terkait. Dan secara otomatis akan memastikan relasi tersebut ada atau tidaknya record pada sisi Many (tabel yang terhubung dengan tabel Utama ) yang foreign key nya tidak memiliki pasangan ditabel sisi One (Tabel Utama) Model Relasi Referential Integrity Ada dua model relasi terhadap Referential Integrity, dengan memilih salah satu atau kedua pilihan, yaitu : a. Cascade Update Related Fields Setiap perubahan pada Primary Key, pada tabel Utama , maka secara otomatis mengubah nilai pada record-record yang berkesesuaian didalam tabel yang memilik relasi dengan tabel Utama 14 b. Cascade Delete Related Records Setiap penghapusan record Primary Key pada tabel Utama, maka akan mengakibatkan penghapusan record-record yang berkesesuaian didalam tabel yang memiliki relasi dengan tabel Utama. Aturan-Aturan Referential Integrity 1. Field yang dihubungkan dari tabel utama haruslah berupa Primary Key. 2. Kedua field yang saling behubungkan harus memiliki Tipe data dan lebar data yang sama. 3. Tidak dibenarkan penghapusan record pada tabel utama yang telah dihubungkan dengan tabel yang direlasikan. 4. Tidak diperbolehkan melakukan penambahan record pada tabel relasi bila record tersebut berisi data atau fakta yang belum ada pada tabel utama. Setelah memunculkan semua table yang dimaksud, hubungkan primary-key dan foreign-key yang ada. Join Digunakan untuk mengakses data dari lebih dari satu tabel dan menggabungkan hasilnya. Join Properties memiliki tiga macam pilihan join, yaitu : 1. Only include rows where the joined field form both tables are equal Pengertian Pilihan ini merupakan pilihan default, yaitu hanya menampilkan record record yang berkesesuaian dari kedua tabel yang memiliki relasi 2. Include ALL records from ‘XXX’ and only those records form ‘ZZZ’ where the joined fields are equal 15 Pengertian Menggabungkan semua record pada tabel XXX dan hanya recordrecord yang berkesesuaian dari tabel ZZZ yang direlasikan 3. Include ALL records from ‘ZZZ’ and only those records form ‘XXX’ where the joined fields are equal Pengertian Menggabungkan semua record pada tabel ZZZ dan hanya recordrecord yang berkesesuaian dari tabel XXX yang direlasikan. 2.2.4 Kamus Data (Data Dictionary) Kamus data atau systems data dictionary adalah katalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi. Dengan DD analis sistem dapat mendefinisikan data yang mengalir di sistem dengan lengkap. Pada tahap analisis sistem, DD digunakan sebagai alat komunikasi antara analis sitem dengan pemakai sistem tentang data yang mengalir ke sistem, yaitu tentang data yang masuk ke sistem dan tentang informasi yang dibutuhkan oleh pemakai sistem. Pada tahap perancangan sistem, DD digunakan untuk merancang input, merancang laporan-laporan dan database. DD dibuat berdasarkan arus data yang ada di DFD (Data Flow Diagram). Arus data di DFD sifatnya adalah global, hanya ditunjukkan nama arus datanya saja. Keterangan lebih lanjut tentang struktur dari suatu arus data di DFD secara lebih terinci dapat dilihat di DD. DD tidak menggunakan notasi grafik sebagaimana halnya DFD. DD berfungsi membantu pelaku sistem untuk mengerti aplikasi secara detil, dan mereorganisasi semua elemen data yang digunakan dalam sistem secara presisi sehingga pemakai dan penganalisa sistem punya dasar pengertian tentang masukan, keluaran, penyimpanan dan proses. yang sama 16 DD mendefinisikan elemen data dengan fungsi sebagai berikut: 1. Menjelaskan arti aliran data dan penyimpanan dalam DFD. 2. Mendeskripsikan komposisi paket data yang bergerak melalui aliran, misalnya alamat diuraikan menjadi kota, kodepos, propinsi, dan negara. 3. Mendeskripsikan komposisi penyimpanan data. 4. Menspesifikasikan nilai dan satuan yang relevan bagi penyimpanan dan aliran. 5. Mendeskripsikan hubungan detil antara penyimpanan yang akan menjadi titik perhatian dalam entity relationship diagram. Isi Data Dictionary Data dictionary harus dapat mencerminkan keterangan yang jelas tentang data yang dicatatnya. Untuk maksud keperluan ini, maka DD harus memuat hal-hal berikut : a. Nama arus data. Karena DD dibuat berdasarkan arus data yang mengalir di DFD, maka nama dari arus data juga harus dicatat di DD, sehingga mereka yang membaca DFD dan memerlukan penjelasan lebih lanjut tentang suatu arus data tertentu di DFD dapat langsung mencarinya dengan mudah di DD. b. Nama Alias. Alias atan nama lain dari data dapat dituliskan bila nama lain ini ada. Alias perlu ditulis karena data ayang sama mempunyai nama yang berbeda untuk orang atau departemen satu dengan yang lainnya, misalnnya bagia npembuat faktur dan langganan menyebut bukti penjualan sebagai faktur, sedang bagian gudang menyebutnya sebagai tembusan permintaan persediaan. Baik 17 faktur dan tembusan permintaan persediaan ini mempunyai struktur data yang sama, tetapi mempunyai struktur yang berbeda. c. Bentuk data. Bentuk data perlu dicatat di DD, karena dapat digunakan untuk mengelompokkan DD ke dalam kegunaannya sewaktu perancangan sistem. · DD yang mencatat data yang mengalir dalam bentuk dokumen dasar atau formulir akan digunakan untuk merancang bentuk input sistem. · DD yang mencatat data yang mengalir dalam bentuk laporan tercetak dan dokumen hasil cetakan komputer akan digunakan untuk merancang output yang akan dihasilkan oleh sistem. · DD yang mencatat data yang mengalir dalam bentuk tampilan dilayar monitor akan digunakan untuk merancang tampilan layar yang akan dihasilkan oleh sistem. · DD yang mencatat data yang mengalir dalam bentuk parameter dan variabel akan digunakan untuk merancang proses dari program. · DD yang mencatat data yang mengalir dalam bentuk dokumen, formulir, laporan, dokumen cetakan komputer, tampilan di layar monitor, variabel dan field akan digunakan untuk merancang database. d. Arus data. Arus data menunjukkan dari mana data mengalir dan ke mana data akan menuju. Keterangan arus data ini perlu dicatat di DD supaya memudahkan mencari arus data ini di DFD. 18 e. Penjelasan. Untuk tidak memperjelas lagi tentang makna dari arus data yang dicatat di DD, maka bagian penjelasan dapat diisi dengan keterangan-keterangan tentang arus data tersebut. Sebagai misalnya nama dari arus data adalah tembusan permintaaan persediaan, maka dapat lebih dijelaskan sebagai tembusan dari faktur penjualan untuk meminta barang dari gudang. f. Periode. Periode ini menunjukkan kapan terjadinya arus data ini. Periode perlu dicatat di DD karena dapat digunakan untuk mengidentifikasikan kapan input data harus dimasukkan ke sistem, kapan proses dari program harus dilakukakan dan kapan laporan-laporan harus dihasilkan. g. Volume. Volume yang perlu dicatat di DD adalah tentang volumen rata-rata dan volume puncak dari arus data. Volume rata-rata menunjukkan banyaknya rata-rata arus data yang mengalir dalam suatu periode tertentu dan volume puncak menunjukkan volume yang terbanyak, Volume ini digunakan untuk mengidentifikasikan besarnya simpanan luar yang akan digunakan, kapasitas dan jumlah dari alat input, alat pemroses dan alat output. h. Struktur data. Struktur data menunjukkan arus data yang dicatat di DD terdiri dari itemitem apa saja. Simbol Data Dictionary Kebanyakan sistem, kadang-kadang elemen data terlalu kompleks untuk didefinisikan. Kekomplekkan tersebut seharusnya diuraikan melalui sejumlah 19 elemen data yang lebih sederhana. Kemudian elemen data yang lebih sederhana tersebut didefinisikan kembali hingga nilai dan satuan relevan dan elementer. Pendefinisian tersebut menggunakan notasi yang umum digunakan dalam menganalisa sistem dengan menggunakan sejumlah simbol, seperti berikut : Tabel 2.1 Simbol Data Dictionary No Simbol Uraian 1 = Terdiri dari, mendefinisikan, diuraikan menjadi, artinya 2 + Dan 3 () Opsional (boleh ada atau boleh tidak ada) 4 {} Pengulangan 5 [] Memilih salah satu dari sejumlah alternatif, seleksi 6 ** Komentar 7 @ Identifikasi atribut kunci 8 | Pemisah sejumlah alternatif pilihan antara simbol [ ] Sumber : Pengantar Perancangan Sistem, Husni Iskandar Pohan, dkk. Untuk melengkapi definis elemen data ada sejumlah hal yang perlu diperhatikan, yaitu : a. Kejelasan arti elemen data dalam konteks aplikasi yang biasanya dideskripsikan sebagai komentar dengan notasi **. b. Komposisi elemen data, jika masih dapat diuraikan lagi. c. Nilai dan satuan elemen data, jika sudah tidak dapat diuraikan lagi. 20 Elemen data opsional didefinisikan sebagai sesuatu yang dapat digunakan atau tidak perlu digunakan sebagai pilihan dari sejumlah alternatif. Masalah alternatif pilihan merupakan hal penting, karena pemakai harus diyakinkan bahwa semua kemungkinan yang ada sudah tercakup.Pemakai akan kewalahan jika harus membaca seluruh DD, item demi item untuk mengecek kebenaran DD tersebut. [Ika, 2011] 2.3 Database Management System (DBMS) Sistem manajemen basis data (Bahasa Inggris: database management system, DBMS), atau kadang disingkat SMBD, adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta banyak pengguna. Contoh tipikal SMBD adalah akuntansi, sumber daya manusia, dan sistem pendukung pelanggan, SMBD telah berkembang menjadi bagian standar di bagian pendukung (back office) suatu perusahaan. Contoh SMBD adalah Oracle, SQL server 2000/2003, MS Access, MySQL dan sebagainya. DBMS merupakan perangkat lunak yang dirancang untuk dapat melakukan utilisasi dan mengelola koleksi data dalam jumah yang besar. DBMS juga dirancang untuk dapat melakukan masnipulasi data secara lebih mudah. Sebelum adanya BMS maka data pada umumnya disimpan dalam bentuk flat file, yaitu file teks yang ada pada sistem operasi. Sampai sekarangpun masih ada aplikasi yang menimpan data dalam bentuk flat secara langsung. Menyimpan data dalam bentuk flat file mempunyai kelebihan dan kekurangan. Penyimpanan dalam bentuk ini akan mempunyai manfaat yang optimal jika ukuran filenya relatif kecil, seperti file passwd. File passwd pada umumnya hanya igunakan untuk menyimpan nama yang jumlahnya tidak lebih dari 21 1000 orang. Selain dalam bentuk flat file, penyimpanan data juga dapat dilakukan dengan menggunakan program bantu seperti spreadsheet. Penggunaan perangkat lunak ini memperbaiki beberapa kelemahan dari flat file, seperti bertambahnya kecepatan dalam pengolahan data. Namun demikian metode ini masih memiliki banyak kelemahan, diantaranya adalah masalah manajemen dan keamanan data yang masih kurang. [Wikipedia, 2011] Bahasa-Bahasa yang Terdapat di dalam DBMS a) DDL (Data Definition Language) DDL digunakan untuk mendefinisikan database, misal untuk membuat tabel, modifikasi tabel, membuat index, membuat view dan kelengkapan database serta tabel yang lain-lain. Secara garis besar DDL digunakan untuk melakukan maintenance database. Syntaks atau keyword yang masuk dalam kategori ini antara lain : digunakan untuk membuat objek baru, DROP digunakan untuk menghapus tabel atau database. UPDATE digunakan untuk meng-ubah record. ALTER digunakan untuk memodifikasi database. b) DML (Data Manipulation Language) DML digunakan untuk melakukan manipulasi atau pengolahan data dalam database. Misalnya untuk mengambil data (record) dengan kriteris tertentu, meng-ubah data pada tabel, menjumlahkan data dalam tabel, dan menambahkan data kedalam tabel. Syntaks atau keyword yang masuk dalam kategori ini antara lain : 22 SELECT untuk menampilkan data, INSERT baru, UPDATE untuk menambahkan data untuk mengubah data yang sudah ada, DELETE untuk menghapus data. [Doni, 2011] 2.4 Microsoft Acces 2.4.2 Pengertian Microsoft Access atau Microsoft Office Access adalah sebuah program basis data komputer relasional yang ditunjukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft Excel dan Microsoft Power Point. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna. Versi terakhir adalah Microsoft Access 2010 yang termasuk kedalam Microsoft Office 2010. Microsoft Access dapat menggunakan data yang disimpan didalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basisdata yang mendukung standar ODBC. Para pengguna atau programmer yang mahir dapat menggunakannya untuk pengembangan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang mahir dapat menggunakannya untuk mengembangkan perangkat lunak yang sederhana. Access juga mendukung teknik-teknik pemrograman berorientasi objek, tetapi tidak dapat digolongkan kedalam perangkat bantu pemrograman berorientasi objek. 23 2.4.3 Penggunaan Microsoft Access digunakan kebanyakan oleh bisnis-bisnis kecil dan menengah, didalam sebuah organisasi yang kecil bahkan mungkin juga digunakan oleh perusahaan yang cukup besar, dan juga para programmer untuk membuat sebuah sistem buatan sendiri untuk menangani pembuatan dan manipulasi data. Access juga dapat digunakan sebagai sebuah basis data untuk aplikasi web dasar yang disimpan didalam server yang menjalankan Microsoft Internet Information Services (IIS) dan menggunakan Microsoft Active Pages (ASP). Meskipun demikian, penggunaaan Access kurang disarankan, mengingat telah ada Microsoft SQL Server yang memiliki kemampuan yang lebih tinggi. Beberapa pengembang aplikasi profesional menggunakan Microsoft Access untuk mengembangkan aplikasi secara cepat (digunakan sebagai Rapid Aplication Development/ RAD tool), khususnya untuk pembuatan purwarupa untuk sebuah program yang lebih besar dan aplikasi yang berdiri sendiri untuk para salesman. Microsoft Access kurang begitu bagus jika diakses melalui jaringan sehingga aplikasi-aplikasi yang digunakan oleh banyak pengguna cenderung menggunakan solusi sistem manajemen basis data yang bersifata client/ server. Meskipun demikian, tampilan muka access (form, report, query dan kode visual basic) yang dimilikinya dapat digunakan untuk menangani basis data yang sebenarnya diproses oleh sistem manajemen basis data lainnya, seperti halnya Microsoft Jet Database Engine (yang secara default digunakan oleh Microsoft Access), Microsoft SQL Server, Oracle Database, dan beberapa produk lainnya yang mendukung ODBC. 24 2.4.4 Fitur Salah satu keunggulan Microsoft Acces dilihat dari perspektif programmer adalah kompatibilitasnya dengan bahasa pemrograman Structured Query Language (SQL). Query dapat dilihat dan disunting sebagai statement-statement SQL. Dan statement SQL dapat digunakan secara langsung didalam Macro dan VBA Module untuk secara langsung memanipulasi tabel data dalam Access. Para pengguna dapat mencampurkan dan menggunakan kedua jenis bahasa tersebut (VBA dan Macro) untuk memprogram form, logika dan juga mengaplikasikan konsep berorientasi objek. Microsoft SQL Server Desktop Engine (MSDE) 2000, yang merupakan sebuah vesi mini dari Microsoft SQL Server 2000, dimasukan kedalam Office XP Developer Edition dan dapat digunakan oleh Microsoft Access sebagai alternatif dari Microsoft Jet Database Engine. Tidak seperti sebuah sistem manajemen basis data relasional yang komplit, Microsoft Jet Database Engine tidak memiliki fitur trigger dan stored procedure. Dimulai dari Microsoft Access 2000 yang menggunakan Microsoft Jet Database Engine versi 4.0, ada sebuah sintaks yang mengizinkan pembuatan query dengan beberapa parameter dengan sebuah cara seperti halnya sebuah stored procedure, meskipun prosedure tersebut dibatasi hanya untuk sebuah pernyataan tiap prosedurnya. Access juga mengizinkan form untuk mengandung kode yang dapat dieksekusi ketika terjadi sebuah perubahan terhadap tabel basis data, seperti halnya trigger, selama modifikasi dilakukan hanya dengan menggunakan form tersebut. Dan merupakan sesuatu hal yang umum untuk menggunakan query yang akan diteruskan (pass-through dan teknik lainnya didalam Access untuk menjalankan stored procedure didalam RDBMS yang mendukungnya. 25 Dalam berkas Access Database Project (ADP) yang didukung oleh Microsoft Access 2000 dan yang selanjutnya, fitur-fitur yang berkaitan dengan basis data berbeda dari versi format/ struktur data yang digunakan Access yaitu *.mdb (untuk Access 2003 kebawah), karena jenis berkas ini dapat membuat koneksi ke sebuah basis data MSDE atau Microsoft SQL Server, ketimbang menggunakan Microsoft Jet Database Engine. Sehingga dengan menggunakan ADP, adalah mungkin untuk membuat hampur semua objek didalam server yang menjalankan mesin basis data tersebut (tabel basis data dengan constraints dan trigger, view, stored procedure, dan UDF). Meskipun demikian, yang disimpan didalam berkas ADP hanyalah form, report, macro dan modul. Sementara untuk tabel dan objek lainnya disimpan di dalam server basis data yang membelakangi program tersebut. 2.4.5 Pengembangan Access mengizinkan pengembangan yang relatif cepat karena semua tabel basis data, query, form, dan report disimpan didalam berkas basis data miliknya (*.accdb). Untuk membuat query, Access menggunakan Query Design Grid. Yaitu sebuah program berbasis grafis yang mengizinkan para penggunanya untuk membuat query tanpa harus mengetahui bahasa pemrograman SQL. Di dalam Query Design Grid, para pengguna dapat memperlihatkan tabel basis data sumber dari query, dan memilih field-field mana yang hendak dikembalikan oleh proses dengan mengklik dan menyeret field-field dalam tabel ke dalam field dalam tabel lainnya. Access juga mengizinkan pengguna untuk melihat dan memanipulasi kode SQL jika memang diperlukan. Bahasa pemrograman yang tersedia di Access adalah Microsoft Visual Basic for Aplications (VBA), seperti halnya dalam beberapa aplikasi Microsoft Office. Dua 26 buah pustaka komponen Component Object Model (COM) untuk mengakses basis data pun disediakan, yakni Data Access Object (DAO), yang hanya terdapat diakses 97, dan ActiveX Data Object (ADO) yang tersedia dalam versi-versi Access terbaru. 2.4 Microsoft Visual Basic Microsoft Visual Basic merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM), Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat, Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic. Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan. Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat luas.[1]Dalam sebuah survey yang dilakukan pada tahun 2005, 62% pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java.