Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
5. Database MySQL Apa Database MySQL Itu? Database bisa dikatakan sebagai suatu kumpulan dari data yang tersimpan dalam tabel dan diatur atau diorganisasikan sehingga data tersebut bisa diambil atau dicari dengan mudah dan efisien. Database MySQL merupkan sebuah database server SQL multiuser dan multi-threaded. Implementasi program data ini adalah program daemon mysqld dan beberapa program lain serta beberapa pustaka. MySQL dibuat oleh TcX dan telah dipercaya mengelola sistem dengan 40 buah database berisi 10,000 tabel dan 500 di antaranya memiliki 7 juta baris(kira-kira 100 gigabyte data). Database ini dibuat untuk keperluan sistem database yang cepat, handal dan mudah digunakan. Walaupun memiliki kemampuan yang cukup baik, MySQL untuk sistem operasi Unix bersifat freeware, dan terdapat versi shareware untuk sistem operasi windows Gambar 5.1 Struktur Database MySQL Hirarki Dalam Database Dalam database atau skema merupakan kumpulan dari : Tabels Views Stored Procedure Functions Triggers Events Table Sebagaimana basis data sistem yang lain, dalam MySQL juga dikenal hierarki server dengan basisdata. Tiap-tiap basisdata memiliki tabel-tabel. Tiap-tiap tabel memiliki field-field. Umumnya informasi tersimpan dalam tabel yang secara logik merupakan struktur 2 dimensi terdiri atas baris dan kolom. Field-field tersebut dapat berupa data seperti integer, real char, date, time dan lainnya. Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom) 5- 1 Vew Gambar 5.2 Tabel Field, Record View adalah tabel yang isi barisnya secara tidak eksplisit tersimpan dalam database tetapi jika diperlukan akan diperhitungkan dari definisi view. contoh perintah menciptakan View CREATE VIEW B_Strudent (name, sid, course) AS SELECT S.name, S.sid, E.cid FROM Student AS S, Enrolled E WHERE S.id = E.studid AND E.srade=’B’ View student memiliki tiga field yang disebut name, sid, dan course dengan domain yang sama, jika terjadi pada perubahan di tabel Student dan Enrolled otomatis akan mengikuti. Function Dalam database server ada 2 ketegori fungsi: (1) fungsi aggregate adalahfungsi bawaan seperti SUM(), MAX(), MIN(), COUNT() dan lain-lain, yang terdapat pada sistem database tersebut, (2) fungsi yang diciptakan oleh user sendiri. Fungsi dibuat menggunkan rangkaian perintah ditulis dengan bahasa PL/SQL. Ketika dicipatakan akan tersimpan secara permanen dalam database server. Contoh : DELIMITER $$ CREATE FUNCTION kali(X INT, Y INT) RETURNS INT BEGIN RETURN X*Y; END$$; Contoh di atas mengalikan bilangan X dan bilangan Y, dengan nama fungsi kali(X,Y). Setelah dieksekusi cara mengilnya seperti perintah berikut : SELECT kali(20.10); Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom) 5- 2 Stored Procedure Stored Procedure hampir sama dengan fungsi, tetapi cara memanggilnya mengunakan perintah CALL nama_prosedure(parameter1,…..) DELIMITER $$ CREATE PROCEDURE GetKota(IN nama_prop VARCHAR(255)) BEGIN SELECT nama_kota, telepon FROM kantor WHERE propinsi = nama_prop; END $$ DELIMITER ; Cara memanggil CALL GetKota(‘DIY’); Trigger Pemicu proses untuk perubahan isi tabel terjadi pada saat pengguna melakukan transaksi. Transaksi ini biasanya juga berpengaruh terhadap tabel-tabel lain. Sebagai contoh : pada saat transaksi penjualan sistem akan menambah rekaman tabel JUAL sebelum perintah INSERT misalnya mengecek jumlah stok di tabel BARANG, dan sesudahnya mengurangi stok di tabel BARANG. Oleh karena itu anda bisa menempatkan trigger yang merupakan prosedur pemicu untuk melakukan proses sesuai dengan keinginan. Trigger adalah suatu objek dalam basisdata yang terdapat pada bagian tabel. Trigger untuk menempatkan suatu prosedure berkaitan dengan perubahan pada isi tabel. Cara kerja trigger adalah merespon berkaitan dengan perintah DML (INSERT , UPDATE, DELETE) pada tabel. contoh : mysql> CREATE TRIGGER ins_trig BEFORE INSERT ON Emp -> FOR EACH ROW -> BEGIN -> UPDATE Employee SET Salary=Salary-300 WHERE Perks>500; -> END; Event MySQL Event Scheduler mengelola penjadwalan dan menjalankan perintah tertetu secara terjatwal secara otomatis. Perintah Event hanya terdapat pada MySQL versi 5.1. Cara kerja seperti “cron job” pada sitem UNIX/LINUX dan Windows Task Scheduler untuk sistem Windows. CREATE EVENT e_store_ts ON SCHEDULE EVERY 10 SECOND DO INSERT INTO myschema.mytable VALUES (UNIX_TIMESTAMP()); Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom) 5- 3 Mangelola Database MySQL menggunakan phpMyAdmin Untuk mengelola database memerlukan propgram client, program client tersebut ada yang versi command line (mysql), dan vesi GUI (graphical user interface) . Untuk versi GUI ada 2 pilihan antara lain versi desktop misal MySQL-Front, SQLYog, dan lain-lain, dan versi web, phpMyAdmin. phpMyAdmin merupkan perangkat lunak berbasis web yang terdapat dalam bendel xampp. Menciptakan user Jalankan browser Mozilla Firefox atau Windows Internet Explorer panggil dengan perintah http://localhost/ Gambar 5.3 Halaman Utama Xampp Kemudian pilih dan klik bagian tool phpMyAdmin Selanjutnya akan tampak seperti pada tampilan gambar berikut : Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom) 5- 4 Gambar 5.4 phpMyAdmin klik menu user Klik Add User Gambar 5.5 Menu Manambah User Isikan misal: Login Information User Name Host Password re-type : dewi : localhost : 123 : 123 (ulangi) Gambar 5.6 Isian Menambah User Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom) 5- 5 Mengatur kewenangan/akses terhadap user Database For User pilih Create database with same name and grant all privileges Global privileges (Check All / Uncheck All) Klik Check All Gambar 5.7 Mangatur Kewenangan User hasilnya Gambar 5.8 Menu Menampilkan User Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom) 5- 6 Menciptakan Database Untuk menciptakan database : Klik menu Database Isikan Create Database : myweb Klik tombol Create Gambar 5.9 Mencipkan Database Menciptakan Tabel Untuk membuat tabel di dalam database myweb, pilih kotak kombo database myweb, menciptakan Tabel tbl_golongan menggunakan skrip SQL lewat menu SQL, isikan kotak editor SQL sebagaiberikut : CREATE TABLE tbl_golongan( id int(11) NOT NULL DEFAULT '0', gol_ruang varchar(10), golongan varchar(50), PRIMARY KEY (id) ); Seperti gambar berikut : Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom) 5- 7 Gambar 5.10 Klik tombol Go Mengisikan Rekaman tbl_golongan Gambar 5.11 Menciptakan Tabel tbl_golongan dengan Skrip SQL Merekam Tabel tbl_golongan dengan Skrip SQL Klik Go Melihat tabel dengan SQL, tulislah skrip berikut lewak kotak editor SQL: SELECT * FROM tbl_golongan Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom) 5- 8 Gambar 5.12 Isi Tabel tbl_golongan Relasi Tabel SELECT tbl_pegawai.nip, tbl_pegawai.nama,tbl_golongan.gol_ruang,tbl_golongan.golongan FROM tbl_pegawai, tbl_golongan WHERE tbl_pegawai.gol_id = tbl_golongan.id Gambar 5.13 Tampilan Hasil Relasi Tabel Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom) 5- 9