1 PENGENALAN DATABASE PENGERTIAN DATABASE Database merupakan suatu bentuk pengelolaan data yang ditujukan agar pengaksesan terhadap data dapat dilakukan dengan mudah. Sistem yang ditujukan untuk menangani database biasa disebut DBMS (DataBase Management System). Dengan menggunakan DBMS, pemakai dapat melakukan hal-hal berikut dengan mudah : menambah data menghapus data mengubah data mencari data menampilkan data dengan kriteria tertentu mengurutkan data Salah satu model database yang populer adalah database relasional. Pada model ini terdapat istilah baris dan kolom. Istilah baris sering disebut record dan kolom biasa dinamakan field. Field Tabel BUKU KD_BUKU KBOY10 LSAKSI PRESPP JUDUL Kung Fu Boy 10 Lima Sekawan Beraksi Kembali Presentasi Efektif dengan PowerPoint KD_PENERBIT EMEDIA EMEDIA GRAMEDIA Setiap tabel memiliki kunci yang disebut kunci primer yang digunakan untuk mengidentifikasi record. Kunci ini bersifat unik yang berarti bahwa dalam sebuah tabel tidak akan ada kunci primer yang sama. Hal ini berguna dalam pencarian data, misalnya Anda dapat memperoleh data buku Kung Fu Boy 10 dengan memberikan nilai KBOY10 pada field KD_BUKU. Sebuah kunci dapat dibentuk dari sebuah field atau beberapa field yang nilainya bersifat unik, dalam artian tidak ada nilai yang kembar. Kunci yang tersusun dari sebuah field biasa disebut kunci sederhana, sedangkan yang tersusun atas beberapa field disebut kunci komposit. Pada database relasional, hubungan antar tabel bisa dinyatakan dengan garis berpanah sebagai berikut : Tabel BUKU KD_BUKU JUDUL KD_PENERBIT Tabel PENGARANG KD_BUKU URUTAN NAMA Tabel PENERBIT KD_PENERBIT NAMA LOKASI Pemrograman WEB Record 2 MEMBUAT DATABASE DENGAN MICROSOFT ACCESS Untuk menjalankan program, lakukan langkah berikut : 1. Pilih menu START > PROGRAMS > MICROSOFT OFFICE > MICROSOFT ACCESS 2. Klik FILE > NEW > BLANK DATABASE lalu pada kotak SAVE IN ketik lokasi penyimpanan dan pada kotak FILE NAME ketik dbbuku kemudian klik CREATE MEMBUAT TABEL 1. Klik ganda pada CREATE TABLE tercantum di bawah ini : FIELD NAME DATA TYPE KD_BUKU Text JUDUL Text KD_PENERBIT Text TAHUN Number ISBN Text FIKSI Yes/No JUMLAH Number IN DESIGN VIEW lalu masukkan data yang FIELD SIZE 8 50 8 15 - REQUIRED Yes Yes Yes No No Yes No 2. Untuk menciptakan kunci primer, letakkan mouse pada KD_BUKU lalu klik kanan mouse, pilih PRIMARY KEY 3. Simpan dengan memilih menu FILE > SAVE AS lalu ganti TABLE1 dengan BUKU kemudian klik OK 4. Klik tanda X pada jendela desain untuk kembali ke tampilan awal database. Dengan langkah yang sama, buat tabel dengan struktur sebagai berikut : Tabel PENGARANG : FIELD NAME KD_BUKU URUTAN NAMA DATA TYPE Text Text Text FIELD SIZE 8 1 30 REQUIRED Yes Yes Yes KETERANGAN PRIMARY KEY DATA TYPE Text Text Text FIELD SIZE 8 40 50 REQUIRED Yes Yes Yes KETERANGAN PRIMARY KEY Tabel PENERBIT : FIELD NAME KD_PENERBIT NAMA LOKASI Setelah selesai isi data masing-masing tabel di atas dengan data seperti di bawah ini : Pemrograman WEB 3 KD_BUKU JUDUL DASPERL Dasar Pemrograman PERL PEMWEB Pemrograman WEB TINTIBET Kisah Petualangan Tintin di Tibet SSJEJAK MISLAUD KD_PENERBIT TAHUN ISBN FIKSI JUMLAH ANDI 2002 979-731-398-0 No 0 ANDI 2003 979-533-99-6 No 15 INDIRA 1995 Yes 2 Sapta Siaga Mencari Jejak GRAMPUS Management Information Systems PRENHALL KD_PENERBIT ANDI INDIRA PRENHALL GRAMPUS NAMA Penerbit Andi PT. Indira Prentice Hall International, Inc. PT. Gramedia Pustaka Utama KD_BUKU PEMWEB TINTIBET SSJEJAK MISLAUD URUTAN 1 1 1 2 1999 979-655-568-9 1998 0-13-906462-1 Yes No LOKASI Yogyakarta Jakarta Upper Saddle River New Jersey Jakarta NAMA Abdul Kadir Herge Enyd Bliton Jane P. Laudon MEMPELAJARI SQL (STRUCTURED QUERY LANGUAGE) Bahasa ini merupakan standar yang digunakan untuk mengakses basis data relasional. Query sebenarnya berarti permintaan. Dengan menggunakan query, Anda bisa melihat, mengubah, dan menganalisis data dengan berbagai titik pandang yang dikehendaki. Selain itu query juga dapat dipakai sebagai data bagi formulir, laporan dan bahkan halaman web. Untuk menjalankan perintah query dalam Microsoft Access, lakukan langkah berikut : 1. Buka database DBBUKU yang telah dibuat, klik tombol QUERIES yang terletak dibawah OBJECTS. 2. Klik ganda CREATE QUERY IN DESIGN VIEW kemudian klik CLOSE pada jendela Show Table 3. Klik menu (SQL VIEW) lalu ketik perintah SQL yang dikehendaki 4. Untuk menjalankan pilih menu QUERY > RUN atau klik tombo, 5. Untuk mengembalikan ke jendela Query, pilih menu VIEW > SQL VIEW 6. Untuk mengakhiri Query pilih menu FILE > CLOSE PERNYATAAN SELECT SELECT adalah pernyataan yang berguna untuk memperoleh data dari sebuah atau beberapa tabel. Perintah SELECT dapat digunakan untuk memperoleh data dalam bentuk yang sederhana hingga bentuk yang kompleks seperti untuk memperoleh ringkasan data. Pemrograman WEB 0 1 4 PEMAKAIAN KLAUSA WHERE Penggunaan SELECT seringkali melibatkan klausa WHERE untuk menyaring datadata tertentu. Bentuk penulisan : WHERE kondisi Kondisi berfungsi untuk menentukan data-data yang akan disajikan oleh SELECT. Contoh : SELECT * FROM buku WHERE fiksi = TRUE; (menampilkan semua record pada tabel BUKU yang nilai field FIKSI-nya TRUE) SELECT * FROM buku WHERE TAHUN > 2002; (menampilkan semua record pada tabel BUKU yang nilai field TAHUN-nya lebih besar dari 2002) SELECT JUDUL, ISBN from BUKU; (menampilkan field JUDUL dan ISBN pada tabel BUKU) SELECT JUDUL, ISBN from BUKU WHERE FIKSI=TRUE; (menampilkan field JUDUL, ISBN pada tabel BUKU yang nilai field FIKSI-nya TRUE) MEMPEROLEH DATA YANG UNIK Klausa DISTINCT dapat dipakai untuk memperoleh data yang bersifat unik (tidak ada yang kembar). Contoh : SELECT DISTINCT KD_PENERBIT FROM BUKU; OPERATOR AND Operator ini digunakan untuk membuat suatu kondisi yang didasarkan oleh dua buah kondisi dan mencerminkan operasi “dan”. Bentuk penulisan : operand-1 AND operand-2 Contoh : SELECT * FROM buku WHERE FIKSI=TRUE AND TAHUN > 1995; (menampilkan semua record pada tabel BUKU yang nilai FIKSI-nya TRUE dan terbit sesudah tahun 1995) OPERATOR OR Digunakan untuk membuat suatu kondisi yang didasarkan oleh dua buah kondisi dan mencerminkan operasi “atau”. Bentuk penulisan : operand-1 OR operand-2 Contoh : SELECT * FROM buku WHERE KD_BUKU="TINTIBET" OR KD_BUKU="SSJEJAK"; (menampilkan semua record pada tabel BUKU dengan kode buku TINTIBET atau SSJEJAK) OPERATOR NOT Berguna untuk menegasikan atau membalik suatu kondisi Bentuk penulisan : NOT kondisi Pemrograman WEB 5 Contoh : SELECT * FROM buku WHERE NOT (KD_BUKU="TINTIBET" OR KD_BUKU="SSJEJAK"); (menampilkan semua record pada tabel BUKU dengan kode buku tidak berupa TINTIBET atau SSJEJAK) OPERATOR BETWEEN dan NOT BETWEEN Berguna untuk menangani operasi jangkauan. Contoh : SELECT JUDUL, TAHUN FROM buku WHERE TAHUN BETWEEN 1990 AND 2000; (menampilkan judul-judul buku pada tabel BUKU dengan tahun terbit antara tahun 1990 sampai 2000) SELECT JUDUL, TAHUN FROM buku WHERE TAHUN NOT BETWEEN 1990 AND 2000; (menampilkan judul-judul buku pada tabel BUKU dengan tahun terbit bukan antara tahun 1990 sampai 2000) OPERATOR IN dan NOT IN Berguna untuk melakukan pencocokan dengan salah satu pada suatu daftar nilai. Contoh : SELECT * FROM buku WHERE KD_PENERBIT IN ('ANDI', 'INDIRA', 'GRAMPUS'); (menampilkan semua record pada tabel BUKU yang memiliki KD_PENERBIT berupa ANDI, INDIRA atau GRAMPUS) SELECT * FROM buku WHERE KD_PENERBIT NOT IN ('ANDI', 'INDIRA', 'GRAMPUS'); (menampilkan semua record pada tabel BUKU yang memiliki KD_PENERBIT bukan berupa ANDI, INDIRA atau GRAMPUS) OPERATOR LIKE dan NOT LIKE Digunakan untuk mencari suatu data berdasarkan penggalan kata. Anda perlu menyebutkan tanda wildcard misalnya berupa ? atau *. Misalnya : S* cocok dengan yang diawali oleh S *s* cocok dengan yang mengandung s i?t cocok dengan int tetapi tidak cocok dengan ikat Contoh : SELECT * FROM buku WHERE JUDUL LIKE "*tintin*"; (menampilkan semua record pada tabel BUKU yang JUDULnya mengandung tintin) SELECT JUDUL FROM BUKU WHERE JUDUL LIKE “*s”; (menampilkan JUDUL pada tabel BUKU yang berakhiran s) Untuk menghilangkan data yang kembar gunakan perintah DISTINCT SELECT DISTINCT NAMA FROM PENGARANG WHERE NAMA LIKE "A*"; (menampilkan semua nama pengarang yang berawalan A) SELECT DISTINCT KD_PENERBIT FROM BUKU ; (menampilkan kode penerbit pada tabel BUKU) Pemrograman WEB 6 KLAUSA ORDER BY Digunakan untuk mengurutkan data. Jika pengurutan dikehendaki menurun tambahkan DESC pada kunci pengurutan. Contoh : SELECT KD_PENERBIT, KD_BUKU, JUDUL FROM buku ORDER BY KD_PENERBIT; (menampilkan semua record kode penerbit, kode buku dan judul pada tabel BUKU berurut berdasarkan kode penerbit) SELECT * FROM penerbit ORDER BY LOKASI, DESC; (menampilkan semua record pada tabel PENERBIT berurut menurun berdasarkan lokasi) SELECT * FROM buku ORDER BY FIKSI, KD_PENERBIT; (menampilkan semua record pada tabel BUKU berurut berdasarkan jenis dan kode penerbit) QUERY DENGAN BEBERAPA TABEL Pernyataan SELECT dapat dipakai untuk menggabungkan data yang berasal dari dua tabel atau lebih Contoh : SELECT buku.JUDUL, penerbit.NAMA FROM buku, penerbit WHERE buku.KD_PENERBIT = penerbit.KD_PENERBIT; SELECT buku.JUDUL, pengarang.NAMA, penerbit.NAMA FROM buku, penerbit, pengarang WHERE buku.KD_PENERBIT=penerbit.KD_PENERBIT AND buku.KD_BUKU = pengarang.KD_BUKU ORDER BY buku.JUDUL; KLAUSA GROUP BY Digunakan untuk mengelompokkan data dan membuat ringkasan data. Perintah ini identik dengan klausa DISTINCT Contoh : SELECT NAMA FROM pengarang GROUP BY NAMA; sama dengan SELECT DISTINCT NAMA FROM pengarang; KLAUSA HAVING Digunakan untuk menentukan kondisi bagi GROUP BY. Kelompok yang memenuhi HAVING saja yang akan dihasilkan. Contoh: SELECT NAMA FROM pengarang GROUP BY NAMA HAVING NAMA <> 'Abdul Kadir'; (menampilkan nama pengarang tabel PENGARANG selain Abdul Kadir) MENGENAL FUNGSI AGREGAT Fungsi ini kadangkala disebut fungsi grup atau fungsi ringkasan merupakan fungsi yang disediakan oleh SQL untuk menghasilkan sebuah nilai berdasarkan sejumlah data. Fungsi ini sendiri adalah suatu kumpulan instruksi yang menghasilkan sebuah nilai jika dipanggil. Pemrograman WEB 7 Daftar Fungsi Agregat : FUNGSI AGREGAT KETERANGAN AVG Memperoleh nilai rata-rata COUNT Menghitung cacah data MAX Menghasilkan nilai terbesar MIN Menghasilkan nilai terkecil SUM Memperoleh penjumlahan data Contoh : SELECT Count(*) AS JUMLAHRECORD FROM buku; (menampilkan jumlah record pada tabel BUKU) SELECT MIN(TAHUN) AS REKORD FROM buku; (menampilkan tahun terkecil pada tabel BUKU) SELECT buku.KD_BUKU, buku.JUDUL, COUNT(pengarang.KD_BUKU) AS JUMLAH FROM buku, pengarang WHERE buku.KD_BUKU = pengarang.KD_BUKU GROUP BY buku.KD_BUKU, buku.JUDUL; Pada pernyataan di atas : COUNT(pengarang.KD_BUKU) digunakan untuk menghitung jumlah pengarang WHERE buku.KD_BUKU = pengarang.KD_BUKU dipakai untuk menghubungkan tabel BUKU dan PENGARANG GROUP BY buku.KD_BUKU, buku.JUDUL digunakan untuk mengelompokkan data menurut KD_BUKU maupun JUDUL NILAI NULL Digunakan untuk menyatakan “belum pernah diisi”. Contoh : SELECT JUDUL, ISBN FROM buku WHERE ISBN IS NULL; (menampilkan semua record pada tabel BUKU yang ISBN-nya belum diisi) SELECT * FROM buku WHERE ISBN IS NOT NULL; (menampilkan semua record pada tabel BUKU yang ISBN sudah diisi) MENULISKAN TANGGAL Jika Anda memiliki field bertipe DATE, Anda bisa menuliskan SQL seperti : SELECT * FROM namatabel WHERE TANGGAL >= #02/01/2004# Pernyataan di atas digunakan untuk memperoleh semua field pada tabel namatabel yang TANGGAL-nya lebih dari 1 Februari 2004 PERNYATAAN INSERT Berguna untuk menambahkan data. Klik YES pada jendela konformasi penambahan data agar perubahan dilaksanakan. Urutan nilai pada VALUES didasarkan pada struktur tabelnya. Contoh: INSERT INTO penerbit VALUES ('WROX', 'Wrox Press Ltd.', 'Birmingham, UK'); (menambahkan sebuah record pada tabel PENERBIT) Pemrograman WEB 8 PERNYATAAN DELETE Berguna untuk menghapus data pada tabel. Bentuk penulisan : DELETE FROM nama-tabel [WHERE kondisi]; Contoh : DELETE FROM penerbit WHERE KD_PENERBIT='WROX'; PERNYATAAN CREATE TABLE Dengan pernyataan SQL, Anda juga bisa menciptakan tabel. Bentuk penulisan : CREATE TABLE nama-tabel( nama-kolom-1 tipe data ([ukuran]), nama-kolom-2 tipe data ([ukuran]), nama-kolom-n tipe data ([ukuran])); Contoh : CREATE TABLE PEMINJAM ( ID_PEMINJAM INTEGER NOT NULL PRIMARY KEY, NAMA CHAR (35), PRIA LOGICAL, ALAMAT CHAR (25), TANGGAL_ANGGOTA DATE); (Untuk melihat hasilnya, aktifkan jendela dbbuku : Database lalu tekan F5) PERNYATAAN ALTER TABLE Ditujukan untuk mengubah struktur tabel. Klausa ADD digunakan untuk menambah sebuah field sedangkan DROP COLUMN digunakan untuk menghapus suatu field. Contoh : ALTER TABLE peminjam ADD IDENTITAS CHAR(24); (menambahkan field IDENTITAS pada tabel peminjam) ALTER TABLE peminjam DROP COLUMN PRIA; (menghapus field PRIA pada tabel peminjam) PERNYATAAN DROP TABLE Digunakan untuk menghapus suatu tabel. Anda tidak akan menjumpai pesan apapun jika penghapusan tabel berhasil dilakukan. Oleh karena itu Anda harus berhati-hati menggunakan pernyataan ini karena tabel yang dihapus tidak bisa dikembalikan kembali. Contoh : DROP TABEL PEMINJAM; (menghapus tabel peminjam) Pemrograman WEB 9 MENGGUNAKAN PASSWORD Untuk melindungi data dari pengaksesan oleh orang-orang yang tidak berhak, suatu database perlu dilengkapi dengan password. Untuk membuat password, lakukan langkah berikut : 1. Pilih menu TOOLS > SECURITY > USER-LEVEL SECURITY WIZARD lalu tandai pilihan CREATE A NEW WORKGROUP INFORMATION FILE kemudian klik NEXT 2. Klik pada tombol radio I WANT TO MAKE THIS DEFAULT WORKGROUP INFORMATION FILE lalu klik NEXT 3. Pilih semua tabel lalu klik NEXT. Pilih pada kotak cek FULL PERMISSION lalu klik NEXT 4. Karena grup users tidak dikehendaki untuk diberi hak akses, maka pilih NO, THE USERS GROUP SHOULD NOT HAVE ANY PERMISSIONS lalu klik NEXT 5. Ketik nama Anda pada kotak teks USER NAME dan masukkan password pada kotak PASSWORD lalu klik tombol ADD USER TO THE LIST klik NEXT Pemrograman WEB 10 6. Pada tampilan berikutnya, pilih nama Anda pada kotak kombo GROUP OR USER NAME : lalu klik FULL PERMISSION 7. Klik FINISH, tunggu beberapa saat hingga menjumpai tampilan dengan judul ONE-STEP SECURITY WIZARD REPORT 8. Tutup jendela tersebut lalu pilih YES untuk menyimpan laporan yang terbentuk. 9. Tutup aplikasi Microsoft Access lalu jalankan kembali aplikasi. Pemrograman WEB