PRAKTIKUM I MENGGUNAKAN SOFTWARE DATABASE MySQL
|
|
|
- Ratna Susman
- 9 tahun lalu
- Tontonan:
Transkripsi
1 PRAKTIKUM I MENGGUNAKAN SOFTWARE DATABASE MySQL A. LATAR BELAKANG Banyak pilihan software yang dapat digunakan untuk belajar manajemen sistem basisdata, khususnya untuk membangun desain database secara konsep dan diimplementasikan secara fisik ke sebuah server database. Kecendrungan yang terjadi di masyarakat saat ini adalah bahwa sebuah software manajemen sistem basisdata tidak hanya hadir sebagai perangkat lunak untuk melakukan menajemen data (Create, Read, Update dan Delete) saja, namun harus terintegrasi juga dengan perangkat lunak untuk mendesain database secara konsep yang kemudian dapat digenerate secara fisik ke sebuah server database. Software MySQL versi sebagai software manajemen sistem basisdata telah hadir dengan berbagai kelebihannya, diantaranya adalah (a) lintas platform; (b) relatif tanpa biaya; (c) memiliki dukungan replikasi data secara real time; (d) mampu menangani banyak data dengan kecepatan tinggi (kapabilitas tinggi); (e) mudah diperoleh dan digunakan serta (f) dilengkapi dengan perangkat lunak pendukung untuk desain database secara konsep dan untuk keperluan pengoperasian dan administrasi server database MySQL. Dengan demikian pemilihan software MySQL sangat relevan digunakan dan dikuasai oleh mahasiswa, khususnya sebagai perangkat lunak untuk belajar manajemen sistem basisdata. B. TUJUAN Kompetensi yang diharapkan dapat tercapai setelah melakukan praktikum ini adalah mahasiswa dapat; 1. Melakukan instalasi software database MySQL versi dan software MySQL GUI Tools versi 5.0 secara mandiri dengan baik dan benar 2. Melakukan troubleshooting dan testing koneksi pada komputer Server dan Client guna memastikan bahwa Server database MySQL telah aktif dan dapat digunakan secara bersama-sama dalam lingkup jaringan. 3. Melakukan sesi login ke server MySQL dengan beberapa cara Modul Praktikum Sistem Basis Data... 1
2 C. ALAT-ALAT DAN BAHAN YANG DIGUNAKAN Praktikum ini membutuhkan ketersediaan alat-alat dan bahan praktikum berupa sejumlah perangkat keras (hardware) dan perangkat lunak (software). Hardware dan software yang dibutuhkan sebelum melakukan praktikum ini adalah; 1. Satu komputer yang akan digunakan sebagai Server dan sejumlah komputer yang digunakan sebagai Client dan terhubung dalam jaringan komputer baik dengan menggunakan kabel maupun dengan jaringan tanpa kabel (nirkabel) 2. LCD viewer sebagai media presentasi instruktur 3. Software berupa file MySQL EXE untuk instalasi server database MySQL versi , dan File mysql-gui-tools-5.0-r8-win32.msi, untuk instalasi software pendukung (tools) pengoperasian dan administrasi server database MySQL, D. TEORI DASAR MySQL merupakan salah satu sistem manajemen database relasi (relational data system) yang bersifat terbuka (open source) dan dikembangkan pertama kalinya oleh Michael Wonty, David Axmark, dan Allan Larson pada tahun 1995, yang kemudian mendirikan perusahaan bernama MySQL-AB di Swedia. Tujuan awal dibuatnya program MySQL, adalah untuk mengembangkan aplikasi web yang akan digunakan oleh salah satu klien MySQL-AB. Memang pada saat itu, MySOL-AB adalah sebuah perusahaan konsultan database dan pengembang software. Pada awalnya MySQL hanya berjalan di atas platform sistem operasi UNIX, bahkan hampir semua distro UNIX yang beredar saat ini telah memasukkan program MySQL sebagai database management system standartnya. Saat ini MySQL dapat pula berjalan di banyak sistem operasi, seperti Microsoft Windows, Solaris, FreeBSD, Mac OS X, HP UX, IBM AIX, SCO Unix dan sebagainya. Database MySQL memiliki kinerja, kecepatan proses, dan ketangguhan yang tidak kalah dibanding aplikasi database management system besar lainnya yang kornersil, seperti ORACLE, Sybase, Microsoft SQL Server, Unify, dan sebagainya. Dengan Open Source, MySOL berkembang menjadi salah satu sistem manajemen database relasi terkemuka yang diakui secara internasional. Beberapa pertimbangan mengapa memilih MySQL sebagai program aplikasi database management system, diantaranya adalah : Modul Praktikum Sistem Basis Data... 2
3 Kecepatan Berdasarkan hasil pengujian, MySQL memiliki kecepatan paling baik dibanding database server lainnya. Hasil pengujian ini dapat kita lihat dalam Conirinfomiation/bencmarks.html. Kemudian, dengan adanya fitur tambahan Query Caching pada MySQL 4.0, kinerja query secara umum naik rata-rata 200% dari kinerja biasanya. Mudah digunakan. Perintah-perintah dan aturan-aturan pada MySQL dan proses instalasinya relatif mudah digunakan. Open Source. Dengan konsep ini siapa pun dapat berpartisipasi untuk mengernbangkan MySQL dan hasil pengembangan itu dirilis untuk konsumsi umurn atau untuk kornunitas Open Source. Kapabilitas. MySOL telah diujicobakan untuk mengelola database dengan jumlah tabel dan jumlah recordnya mencapai , dimana hasil uji coba tersebut berjalan dengan baik. Selain itu MySQL mendukung penggunaan index hingga 32 buah index per-tabelnya, sedangkan setiap indexnya terdiri dari 1 hingga 16 kolom kriteria. Replikasi data. Dengan adanya fasilitas replikasi data ini, memungkinkan untuk dapat mempunyai beberapa database bayangan yang berasal dari satu database induk. Biaya rendah (relatif gratis). Dapat menggunakan MySQL tanpa harus memikirkan biaya lisensi selama mengikuti konsep Open Source/GNU Public Licences. Konektifitas dan keamanan. MySQL mendukung dan menerapkan sistem keamanan dan izin akses tingkat lanjut (advanced permissions and secury system), termasuk dukungan pengamanan dengan cara pengacakan lapisan data (SSL transport layer encryption). Lintas platform sistem operasi. MySQL dapat dijalankan pada beberapa sistem operasi yang berbeda, seperti Linux, Microsoft Windows, FreeBSD, Sun Solaris, IBM's AIX, Mac OS X, HP-UX, AIX, QNX, Novell NetWare, dan SCO OpenUnix. Terdapat dua perangkat lunak (software) utama, untuk keperluan pengoperasian dan administrasi server database MySQL. Selain software server database MySQL-nya sendiri, pengembang juga telah menyediakan software pendukung (tools) untuk manajemen database, user dan server yang berbasis GUI. Sejak MySQL versi 5 dirilis, software Modul Praktikum Sistem Basis Data... 3
4 pendukung (tools) telah terpaket dengan baik dalam satu file instalasi. Software-software tersebut dapat di-download secara gratis di situs Dua file instalasi yang dimaksud adalah MySQL EXE dan file mysql-guitools-5.0-r8-win32.msi. File MySQL EXE adalah file instalasi untuk server database MySQL versi File mysql-gui-tools-5.0-r8-win32.msi, merupakan file instalasi software pendukung (tools) untuk keperluan pengoperasian dan administrasi server database MySQL, yang berisi program-program berikut; MySQL Administration MySQL Migration Toolkit MySQL Query Browser MySQL System Tray Monitor MySQL Workbench Untuk dapat bekerja dengan database MySQL, diperlukan 2 hal pokok, yaitu mempunyai user login yang sah, serta sekumpulan hak akses. Pada pengoperasian pertama, setelah instalasi server database MySQL sukses dilakukan, kita mempunyai satu user login bernama root, dengan hak akses penuh dan merupakan level tertinggi dalam komunitas pengguna server database MySQL. Dengan user root tersebut, kita dapat melakukan apa saja, seperti membuat user baru beserta hak aksesnya, membuat dan menghapus objekobjek dalam MySQL atau yang lainnya. E. LANGKAH-LANGKAH PRAKTIKUM 1. Instalasi Server Database MySQL Proses penyiapan server database MySQL melalui tahapan instalasi server database MySQL, atur konfigurasi dan mengaktifkan server database MySQL dan diakhiri dengan cek koneksi Server-Client. Proses instalasi server MySQL, dapat dilakukan dengan cara berikut; Modul Praktikum Sistem Basis Data... 4
5 Gambar 1: File MySQL EXE Pada Windows Explorer a. Lakukan double-click atau tekan Enter pada file MySQL EXE b. Click Next setelah layar Welcome to the Setup Wizard for MySQL Server 5.0 tampil c. Pilih salah satu tipe instalasi yang diinginkan, paling mudah pilih Typical, dan kemudian tekan Next Gambar 2: Pilihan Setup Type d. Tampilan berikutnya konfirmasi bahwa program MySQL akan diinstall ke dalam direktori C:\Program Files\MySQL\MySQL Server 5.0\. Karena kita menggunakan jenis instalasi Typical, maka direktori instalasi tidak dapat kita ubah (kecuali bila menggunakan tipe instalasi Custom pada langkah sebelumnya). Selanjutnya click tombol Install untuk melanjutkan, Modul Praktikum Sistem Basis Data... 5
6 Gambar 3: Konfirmasi Terakhir Sebelum Instalasi MySQL e. Proses instalasi server database MySQL sedang berjalan. Tunggu beberapa saat hingga proses instalasi selesai. Gambar 4: Proses Instalasi Server MySQL Sedang Berlangsung f. Kemudian disarankan untuk melanjutkan ke proses konfigurasi MySQL server (Configure the MySQL Server now). Beri tanda terpilih pada kotak Configure the MySQL Server now, dan lanjutkan dengan menekan tombol Finish untuk tahapan ini (yang akan dilanjutkan dengan proses konfigurasi server MySQL) Modul Praktikum Sistem Basis Data... 6
7 Gambar 5: Akhir Proses Instalasi Server MySQL g. Click Next pada form Welcome to the MySQL Server Instance Configuration Wizard, untuk melanjutkan proses konfigurasi server MySQL h. Untuk proses konfigurasi yang paling mudah, pilih Standart Configuration, kemudian click Next Gambar 6: Pilihan Proses Konfigurasi Server MySQL i. Lakukan pilihan terhadap Install As Windows Service, Launch the MySQL Server automatically dan Include Bin Directory in Windows PATH seperti pada gambar 9, kemudian click Next. Modul Praktikum Sistem Basis Data... 7
8 Gambar 7: Pilihan Konfigurasi Server MySQL untuk Keperluan Sistem Windows Gambar 8: Seting untuk Keperluan Keamanan j. Tampilan berikutnya, mengenai sistem keamanan server MySQL. Sebaiknya memberikan password khusus sebagai root, dan tidak memberikan peluang kepada orang lain untuk memasuki server MySQL tanpa password. Maka aktifkan pilihan Modify Security Setting dan masukkan password root dengan seksama. Sebelumnya, matikan pilihan Create An Anonymous Account, dengan demikian tidak sembarangan orang dapat masuk menggunakan MySQL server. Satu hal lagi, disarankan mematikan pilihan Enable Root access from remote machines, ini untuk Modul Praktikum Sistem Basis Data... 8
9 mencegah celah yang bisa digunakan oleh orang yang tidak bertanggungjawab masuk ke dalam server MySQL. Lanjutkan dengan menekan tombol Next. k. Lakukan eksekusi konfigurasi dan pengaktifan server MySQL (start service MySQL), dengan cara click Execute. Gambar 9: Konfirmasi Terakhir Sebelum Mengeksekusi Konfigurasi l. Bila tidak ada kendala apapun, maka selesailah keseluruhan proses instalasi dan setting pada program MySQL 5.0.x. Click Finish untuk menuntaskan proses ini. Gambar 10: Kondisi Proses Konfigurasi Sukses Dieksekusi Modul Praktikum Sistem Basis Data... 9
10 m. Cek service MySQL dengan cara click menu Start Settings Control Panel double click pada Administrative Tools double click pada Services. Jika status service dari MySQL adalah Started, maka server MySQL telah terinstal dan running/aktif di sistem. Gambar 11: Service Status Server MySQL di Sistem Operasi Windows 2. Instalasi Software MySQL GUI Tools a. Lakukan double-click atau tekan Enter pada file mysql-gui-tools-5.0-r8-win32.msi b. Click Next setelah layar Welcome to the Setup Wizard for MySQL Tools for 5.0 tampil c. Pilih I accept the term in the license agreement, kemudian click Next. Gambar 12: License Agreement MySQL Tools Modul Praktikum Sistem Basis Data... 10
11 d. Tentukan lokasi hasil instalasi dengan click Change, kemudian click Next. Gambar 13: Penentuan Tujuan Tempat/Folder Hasil Intalasi e. Untuk proses instalasi yang paling mudah, pilih Complete, kemudian click Next Gambar 14: Pilihan Tipe Instalasi f. Pilih Install, jika sudah yakin dengan tempat tujuan hasil instalasi. Modul Praktikum Sistem Basis Data... 11
12 Gambar 15: Konfirmasi Terakhir Proses Instalasi MySQL GUI Tools g. Tunggu hingga proses instalasi selesai dikerjakan. Kemudian click Finish untuk mengakhiri proses instalasi 3. Login Ke Server MySQL Sesi login ke server database MySQL dapat dilakukan dengan beberapa cara, baik dengan mode text maupun mode grafik (GUI). Cara pertama dapat dilakukan dengan memilih urutan menu Start Programs MySQL MySQL Server 5.0 MySQL Command Line Client. Dengan cara tersebut, kita akan login ke server database MySQL dengan mode text sebagai root (user tertinggi/administrator). Password yang dimasukkan adalah password root, kemudian tekan Enter. Jika proses autentifikasi user dan password diterima, maka di layar akan tampil prompt/shell mysql>, seperti pada gambar berikut; Gambar 16: Prompt/Shell MySQL Modul Praktikum Sistem Basis Data... 12
13 Hal tersebut menunjukkan bahwa kita sedang login ke dalam server database MySQL. Jalan lain untuk dapat login ke server database MySQL, dapat dilakukan melalui DOS prompt. Pilih urutan menu Start Run, pada dialog Open ketik CMD, kemudian click OK Gambar 17: Kotak Dialog Run Program Dalam Windows Pindahkan direktori aktif ke direktori server MySQL, misalnya: C:\Program File\MySQL\MySQL Server 5.0\bin. Ketik perintah MySQL u root h localhost p, kemudian masukkan password user root. Perintah tersebut menunjukkan bahwa kita akan login ke server database MySQL, dengan user root dan dari mesin localhost (di mesin yang sama, tempat server MySQL berada). Parameter p adalah untuk meminta password. Gambar 18: Prompt/Shell MySQL Cara ketiga adalah dengan menggunakan salah satu fasilitas pada MySQL GUI Tools, yaitu MySQL Query Browser. Lagkah yang harus dilakukan adalah dengan memilih urutan menu Start Programs MySQL MySQL Query Browser. Masukkan server host, port, user name dan password yang sesuai, serta default schema yang diinginkan. Click OK, jika proses autentifikasi user name dan password diterima, maka di layar akan tampil form query browser sebagai berikut; Modul Praktikum Sistem Basis Data... 13
14 Gambar 19: Kotak Dialog Koneksi ke Server Dengan MySQL Query Browser Gambar 20: Interface MySQL Query Browser Setelah Login Ke Server MySQL Untuk keluar/logout dari server MySQL, cukup dengan perintah quit; atau exit; Gambar 21: Perintah Untuk Mengakhiri Sesi Login Ke Server MySQL Modul Praktikum Sistem Basis Data... 14
15 PRAKTIKUM II MANAJEMEN USER (PENGGUNA) MySQL A. LATAR BELAKANG Tanggung jawab seorang administrator server database tidak hanya terbatas pada mempersiapkan server database supaya dapat dioperasikan dengan baik, akan tetapi seorang administrator juga dituntut untuk dapat membuat pengguna serta mengatur hak/izin aksesnya. Pengaturan hak akses pengguna tidak hanya pada tataran hak login (otentifikasi) ke server, namun juga pengaturan hak akses sumber daya yang ada dalam server database (otorisasi). Pengaturan hak otorisasi bagi pengguna dapat dilakukan pada level database, objek table maupun view dan pada level kolom atau field. Penguasaan dalam hal pengelolaan pengguna server database beserta hak aksesnya mutlak dikuasai oleh seorang administrator server database. B. TUJUAN Kompetensi yang diharapkan dapat tercapai setelah melakukan praktikum ini adalah mahasiswa dapat; 1. Menjelaskan perbedaan antara hak otentifikasi dengan otorisasi bagi pengguna database MySQL 2. Menciptakan dan menghapus pengguna database MySQL 3. Memberikan dan menghapus hak akses pada level database, objek tabel dan kolom bagi pengguna database MySQL C. ALAT-ALAT DAN BAHAN YANG DIGUNAKAN Praktikum ini membutuhkan ketersediaan alat-alat dan bahan praktikum berupa sejumlah perangkat keras (hardware) dan perangkat lunak (software). Hardware dan software yang dibutuhkan sebelum melakukan praktikum ini adalah; 1. Satu komputer yang akan digunakan sebagai Server dan sejumlah komputer yang digunakan sebagai Client dan terhubung dalam jaringan komputer baik dengan menggunakan kabel maupun dengan jaringan tanpa kabel (nirkabel) Modul Praktikum Sistem Basis Data... 15
16 2. LCD viewer, whiteboard dan spidol sebagai media presentasi instruktur 3. Software aplikasi MySQL Server 5.0 keatas, MySQL Query Browser dan MySQL Administrator. D. TEORI DASAR Seorang user atau pengguna MySQL agar dapat memanfaatkan sumber daya data yang tersedia, tidak hanya cukup memiliki user login dan password saja (otentifikasi). Namun seorang user atau pengguna MySQL juga harus memiliki hak akses (otorisasi) terhadap sebagian atau keseluruhan sumber daya data yang ada dalam sebuah server MySQL. Seorang administrator database MySQL, dituntut untuk tidak hanya bisa melakukan instalasi software MySQL dan memastikan server dapat bekerja dengan baik. Lebih dari itu, kita juga harus dapat menciptakan pengguna-pengguna baru serta mengatur hak aksesnya. Perintah GRANT digunakan untuk membuat user baru beserta izin aksesnya. Sedangkan perintah REVOKE digunakan untuk menghapus izin akses user. Perintah REVOKE tidak menghapus seorang user secara permanen, namun hanya sekedar menghapus izin akses terhadap sumber daya yang ada dalam server MySQL. Dengan kata lain, bila seorang user telah dihapus izin aksesnya dengan perintah REVOKE, dia tetap dapat masuk (login) ke dalam MySQL, walaupun tidak dapat berbuat apa-apa. Untuk menghapus user secara permanen, dapat digunakan perintah DELETE. Bentuk umum perintah GRANT: GRANT <jenis akses> ON <nama database> TO <nama user> IDENTIFIED BY <"password"> [WITH GRANT <pilihan akses>] Bentuk umum perintah REVOKE: REVOKE <jenis akses> ON <nama database> FROM <nama user> Bentuk umum perintah DELETE: DELETE FROM USER WHERE USER=<nama user> Modul Praktikum Sistem Basis Data... 16
17 E. LANGKAH-LANGKAH PRAKTIKUM 1. Menciptakan Pengguna Baru C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u root -h localhost -p Enter password: rootpassword mysql>grant ALL PRIVILEGES ON *.* TO localhost ->IDENTIFIED BY passwordsembarang ->WITH GRANT OPTION; mysql>grant ALL PRIVILEGES ON *.* TO % ->IDENTIFIED BY passwordsembarang ->WITH GRANT OPTION; mysql>grant ALL PRIVILEGES ON *.* TO nasti ->IDENTIFIED BY passwordsembarang ->WITH GRANT OPTION; mysql>grant USAGE ON *.* TO localhost ->IDENTIFIED BY passwordsembarang ; Penjelasan Perintah pertama adalah untuk membuat user baru dengan nama sinta dengan level akses sebagai administrator (privileges ALL), yang berarti dapat mengakses SEMUA database yang ada di dalam server (ON *.*) selama lokasi pengakses tersebut dilakukan pada mesin lokal (sinta@localhost). Lokasi pengakses bisa menggunakan alamat IP (Internet Protocol Address) dan nama domain (domain name). Perintah WITH GRANT OPTION memberikan wewenang kepada sinta untuk dapat memberikan izin akses (GRANT) kepada user-user lainnya. Untuk perintah kedua, akses dapat dilakukan dari mesin mana saja di seluruh dunia selama user tersebut dapat melakukan koneksi ke server MySQL (TO santi@'%'). Perintah TO santi@'%' bisa juga ditulis tanpa tanda'%', seperti pada perintah ketiga (TO nasti) Dengan GRANT USAGE, si andi mempunyai level akses sebagai user biasa dengan tidak memiliki izin akses apapun, tetapi dia tetap dapat login dengan user dan password ke dalam MySQL. User seperti andi ini disebut juga Dummy User/Blank User. Selanjutnya perhatikan tabel user di dalam database mysql, apakah user-user yang dibuat sudah terdaftar?. Apa yang tampil dari perintah-perintah pada latihan berikut, a. Apa yang nampak setelah perintah berikut; mysql>use mysql; mysql>select user, host, password FROM user; Modul Praktikum Sistem Basis Data... 17
18 b. Kemudian apa yang tampil setelah perintah berikut; mysql>select user, select_priv, insert_priv, update_priv, delete_priv, create_priv ->drop_priv FROM user; c. Cabut hak akses dari user santi; apa yang terjadi? mysql>revoke ALL ON *.* FROM mysql>select user, select_priv, insert_priv, update_priv, delete_priv, create_priv ->drop_priv FROM user; d. Lakukan penghapusan terhadap user santi; apa yang berubah? mysql>delete FROM user WHERE user= santi ; mysql>select user, select_priv, insert_priv, update_priv, delete_priv, create_priv ->drop_priv FROM user; mysql>quit; 2. Penghapusan Izin Akses Pengguna Guna memperdalam pemahaman kita dalam melakukan penghapusan izin/hak akses terhadap pengguna (user), lakukan bebera langkah berikut; a. Berikanlah izin akses penuh terhadap user anwar terhadap seluruh table dalam database mydatabase; C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u root -h localhost -p Enter password: rootpassword mysql>grant ALL PRIVILEGES ON mydatabase.* TO anwar@localhost; b. Lakukan penghapusan hak akses SELECT dan INSERT bagi user anwar; mysql>revoke SELECT, INSERT ON mydatabase.* FROM anwar@localhost; c. Lakukan penghapusan hak akses CREATE dan DROP bagi user anwar; mysql>revoke CREATE, DROP ON mydatabase.* FROM anwar@localhost; d. Lakukan penghapusan seluruh hak akses bagi user anwar; mysql>revoke ALL PRIVILEGES ON mydatabase.* FROM anwar@localhost; 3. Pemberian dan Pembatasan Izin Akses Pengguna Beberapa perintah GRANT berikut digunakan untuk memberikan atau menghapus izin akses pengguna, yang meliputi SELECT, INSERT, UPDATE dan DELETE terhadap database tertentu. Lakukan perintah-perintah dalam latihan berikut; a. Apa yang terjadi setelah perintah berikut; C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u root -h localhost -p Modul Praktikum Sistem Basis Data... 18
19 Enter password: rootpassword mysql>create DATABASE mydatabase; mysql>grant SELECT, INSERT,UPDATE, DELETE ON mydatabase ->TO mysql>update user SET password=password( passwordsembarang ) ->WHERE user= santi ; b. Lihatlah tabel hak akses user terhadap table (GRANT TABLES), dari hasil perintah berikut, apa yang nampak? mysql>select user, select_priv, insert_priv, update_priv, delete_priv, create_priv ->FROM db WHERE user= santi ; c. Lakukan perintah berikut, apakah santi dapat membuat tabel? mysql>quit; C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u santi -h localhost -p Enter password: passwordsembarang mysql>use mydatabase; mysql>create TABLE mytable1 ->(noid INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, ->nama VARCHAR(35) NOT NULL); d. Berikanlah hak CREATE dan DROP TABLE untuk user santi, dengan perintah berikut; mysql>quit; C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u root -h localhost -p Enter password: rootpassword mysql>grant CREATE, DROP ON mydatabase TO santi@localhost mysql>create TABLE mytable1 ->(noid INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, ->nama VARCHAR(35) NOT NULL); mysql>show TABLES; e. Mengapa si santi dapat melakukan penghapusan tabel dengan perintah berikut? mysql>quit; C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u santi -h localhost -p Enter password: passwordsembarang mysql>drop TABLE mytable1; mysql>show TABLES; Pemberian dan pencabutan hak akses bagi pengguna dapat juga dilakukan pada kolom/field tertentu dalam suatu table. Latihan berikut akan menunjukkan bagaimana MySQL mampu melakukan hal tersebut; Modul Praktikum Sistem Basis Data... 19
20 a. Berikan hak akses sembarang database kepada user anwar dan berikan password dengan perintah berikut; C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u root -h localhost -p Enter password: rootpassword mysql>grant USAGE ON *.* TO ->IDENTIFIED BY passwordsembarang ; mysql>quit; b. Buatlah table dengan nama mytable1 pada database mydatabase dengan user login santi; C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u santi -h localhost -p Enter password: passwordsembarang mysql>use mydatabase; mysql>create TABLE mytable1 ->(nip INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, ->nama VARCHAR(35) NOT NULL, ->tmp_lahir VARCHAR(35) NOT NULL, ->tgl_lahir DATE NULL DEFAULT , ->kelamin ENUM( L, P ), ->alamat VARCHAR(35) NOT NULL); c. Apa maksud dari perintah-perintah berikut?; mysql>grant ->SELECT (nip, nama, tgl_lahir, alamat), ->INSERT (nip, nama, tgl_lahir, alamat), ->ON mydatabase.mytable1 ->TO anwar@localhost; d. Apa pengaruh perintah tersebut pada GRANT TABLE?, cari tahu dengan lakukan perintah berikut; mysql>select host, db, user, table_name, grantor ->FROM table_priv WHERE user= anwar ; e. Lihatlah hak akses yang dimiliki oleh user anwar, dengan perintah berikut; mysql>select host, db, user, table_priv, column_priv ->FROM table_priv WHERE user= anwar ; f. Tampilkan nama-nama kolom yang dapat diakses oleh user anwar, dengan perintah berikut; mysql>select column_priv WHERE user= anwar ; Modul Praktikum Sistem Basis Data... 20
21 g. Apa saja yang dapat dilakukan oleh user anwar terhadap table mytable1 dalam database mydatabase?, ikuti perintah-perintah berikut; mysql>quit; C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u anwar -h localhost -p Enter password: passwordsembarang mysql>use mydatabase; mysql>select * FROM mytable1; mysql>insert INTO mytable1 ->VALUES ( 1, AISYAH, MALANG, , P, PANJAITAN 17 ); h. Sukseskah perintah terebut? Mengapa demikian? Bagaimana dengan perintah berikut? mysql>select * FROM mytable1; i. Lakukan perubahan data dengan perintah UPDATE, sebagaimana perintah berikut; mysql>update mytable1 SET nama= AISYAH KAMILA WHERE nip= 1 ; Apa yang terjadi? Mengapa demikian? j. Lakukan penghapusan table mytable1, sebagaimana perintah berikut; mysql>delete FROM mytable1; Apa yang terjadi? Mengapa demikian? Penjelasan Kegagalan yang terjadi ketika menjalan perintah UPDATE, DELETE dan DROP, disebabkan user anwar tidak diberi hak akses tersebut pada mytable1 dalam database mydatabase. Untuk memberikan hak penuh bagi user anwar dapat dilakukan dengan perintah berikut; mysql>grant ALL PRIVILEGES ->ON mydatabase.mytable1 ->TO anwar@localhost; Bila akan memberikan hak penuh bagi user anwar terhadap seluruh table dalam database mydatabase, dapat dilakukan dengan perintah berikut; mysql>grant ALL PRIVILEGES ->ON mydatabase.* ->TO anwar@localhost; Beberapa contoh di atas hanya memberikan izin mengakses MySQL secara lokal, hanya pada komputer tempat program MySQL Server terinstall. Bagaimana kalau lokasi komputemya berbeda? Bisakah melakukan pembatasan hanya pada komputer tertentu saja yang dapat mengakses? Perhatikan perintah GRANT berikut; Modul Praktikum Sistem Basis Data... 21
22 mysql>grant CREATE, DROP ->ON mydatabase.* ->TO Perintah TO sebenamya terdiri dari dua bagian, yaitu nama user dan alamat lokasi pengakses. Pada perintah TO di atas, kita memberikan izin akses kepada user anwar dengan alamat mesin localhost. Alamat ini bisa juga kita isi dengan alamat IP (Intemet Protocol), misalnya atau alamat IP apa saja yang dimilik, sehingga perintah di atas menjadi: mysql>grant CREATE, DROP ->ON mydatabase.* ->TO atau mysql>grant CREATE, DROP ->ON mydatabase.* ->TO ; atau mysql>grant CREATE, DROP ->ON mydatabase.* ->TO anwar@ %.dimanasaja.com ; Dengan perintah seperti itu, maka anwar dapat melakukan login dengan cara seperti berikut; C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql h u anwar -p Atau C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql h -u anwar p F. TUGAS a. Daftarkan user-user berikut beserta hak aksesnya No. Nama User Pswd Database & Table Hak Akses All Select Insert Update Delete Create Drop 1 Andi *.* 2 Amir ujimhsdb.dosen 3 Ahmad ujimhsdb.* 4 Anik ujimhsdb.ujian 5 Ana *.* Modul Praktikum Sistem Basis Data... 22
23 b. Rubahlah hak akses user-user berikut No. Nama User Pswd Database & Table Hak Akses All Select Insert Update Delete Create Drop 1 Andi *.* 2 Amir ujimhsdb.dosen 3 Ahmad ujimhsdb.* 4 Anik ujimhsdb.ujian 5 Ana *.* c. Daftarkan user-user berikut beserta hak aksesnya No. Nama User Pswd Database & Table Hak Akses All Select Insert Update Delete Create Drop 1 Budi AAAA *.* 2 Badu BBBB ujimhsdb.hsl_ujian 3 Bimbim CCCC ujimhsdb.* 4 Badrus EEEE ujimhsdb.dosen 5 Bobi FFFF *.* d. Rubah hak akses user-user berikut Hak Akses No. Nama User Pswd Database & Table All Select Insert Update Delete Create Drop 1 Budi AAAA *.* 2 Badu BBBB ujimhsdb.hsl_ujian 3 Bimbim CCCC ujimhsdb.* 4 Badrus EEEE ujimhsdb.dosen 5 Bobi FFFF *.* Modul Praktikum Sistem Basis Data... 23
24 PRAKTIKUM III TIPE DATA DAN OPERATOR MySQL A. LATAR BELAKANG Pemahaman yang baik tentang jenis dan karakteristik tipe data dan operator yang ada, akan sangat membantu pengguna dalam melakukan query data pada software aplikasi server database. Tanpa pemahaman yang memadai tentang hal tersebut dapat berakibat pada ketidakvalidan data yang dihasilkan dari sebuah perintah query. MySQL sebagai software server database, juga mengenal berbagai macam jenis tipe data dan operator. Masing-masing tipe data dan operator memiliki karakteristik yang berbeda dengan lainnya. Guna membantu peningkatan pemahaman mahasiswa dalam menggunakan berbagai macam tipe data dan operator yang ada dalam MySQL, diperlukan tindakan uji coba dalam praktikum berikut ini. B. TUJUAN Kompetensi yang diharapkan dapat tercapai setelah melakukan praktikum ini adalah mahasiswa dapat menjelaskan dan menggunakan berbagai macam tipe data dan operator MySQL dalam query data dengan baik. C. ALAT-ALAT DAN BAHAN YANG DIGUNAKAN Praktikum ini membutuhkan ketersediaan alat-alat dan bahan praktikum berupa sejumlah perangkat keras (hardware) dan perangkat lunak (software). Hardware dan software yang dibutuhkan sebelum melakukan praktikum ini adalah; 1. Satu komputer yang akan digunakan sebagai Server dan sejumlah komputer yang digunakan sebagai Client dan terhubung dalam jaringan komputer baik dengan menggunakan kabel maupun dengan jaringan tanpa kabel (nirkabel) 2. LCD viewer, whiteboard dan spidol sebagai media presentasi instruktur 3. Software aplikasi MySQL Server 5.0 keatas, MySQL Query Browser Modul Praktikum Sistem Basis Data... 24
25 D. TEORI DASAR 1. Tipe Data Dalam MySQL Secara umum jenis atau tipe data yang dikenal dalam MySQL dibagi menjadi 4 jenis, yaitu: Numeric Values, yaitu angka atau bilangan. String/Character Values, yaitu teks atau karakter. Date and Time Values, yaitu tanggal dan waktu. NULL Numeric Values, adalah angka atau bilangan seperti 10; 123; ; -10; 1.2E+17; 2.7e-11; dan sebagainya. Jenis data bilangan dibagi lagi menjadi dua, yaitu Bilangan Bulat (integer) dan Bilangan Pecahan (Floating point). Kedua jenis bilangan ini dapat bernilai positif (+) dan juga negatif (-). Jika bilangan tersebut menggunakan tanda (+) atau (-), maka disebut SIGNED. Sebaliknya, bila tanpa tanda apapun disebut UNSIGNED. Karena tanda (+) dapat diabaikan penulisannya, maka pada bilangan yang bernilai positif disebut juga unsigned. Character Values, adalah semua karakter (atau teks) yang penulisannya diapit oleh tanda kutip, baik kutip tunggal maupun kutip ganda. Untuk angka yang ditulis dengan tanda kutip akan dianggap sebagai karakter atau string (bukan Numeric Values). Adapun contoh penulisan teks yang benar adalah sebagai berikut: "Jl. Surabaya No. 34" 'Kota Malang' "Saya suka masakan ini" ' "Saya akan berkunjung ke rumahmu pada hari Jum'at depan" Date and Time Values, format standar (default) penulisan tanggal adalah "Tahun-Bulan-Tanggal" ( YYYY-MM-DD ). Misalkan untuk 22 Januari 2002, dituliskan " ". Untuk menarnpilankannya, kita bisa menggunakan fungsi DATE_FORMAT() yang dapat disesuaikan dengan kebutuhan kita. Untuk penulisan waktu, formatnya adalah "Jam:Menit:Detik" ( HH:MM:SS ). Contoh, "13:55:07". Data tanggal dan waktu bisa digabung penulisannya, menjadi :55:07. NULL sebenarnya bukan data, tapi dia mewakili sesuatu yang "tidak pasti", 'tidak diketahui", atau belum ada nilainya. NULL tidak identik dengan angka NOL (0). Sebagai contoh, selama melakukan survei mengenai berapa jumlah pengguna sistem operasi Linux Modul Praktikum Sistem Basis Data... 25
26 dan Windows di Indonesia, data pastinya belum dapat diketahui sebelum survei tersebut dilakukan secara tuntas. Oleh sebab itu, data tersebut bisa diwakili dengan NULL, alias belum diketahui atau kosong. 2. Tipe Data Kolom Pada MySQL Tipe data kolom merupakan rincian dari tipe data yang diterapkan pada setiap kolom/field sebuah tabel. Penentuan tipe data kolom, dapat dilakukan saat pembuatan tabel dengan perintah CREATE TABLE. Adapun tipe data kolom dapat dikelompokkan sebagai berikut: 2.1 Tipe Data Kolom Numerik dan Atributnya Tipe Data Kolom TINYINT SMALLINT MEDIUMINT INT BIGINT FLOAT DOUBLE Tabel 1: Tipe Data Kolom Numerik Bentuk Penulisan Jangkauan Nilai Ukuran TINYINT [(M)] [UNSIGNED] [ZEROFILL] SMALLINT [(M)] [UNSIGNED] [ZEROFILL] MEDIUMINT [(M)] [UNSIGNED] [ZEROFILL] INT [(M)] [UNSIGNED] [ZEROFILL] BIGINT [(M)] [UNSIGNED] [ZEROFILL] FLOAT [(M,D)] [UNSIGNED] [ZEROFILL] atau FLOAT(4) DOUBLE [(M,D)] [UNSIGNED] [ZEROFILL] atau FLOAT(8) Bilangan bulat dengan kisaran nilai: SIGNED: -128 s/d 127 UNSIGNED: 0 s/d 255 Bilangan bulat dengan kisaran nilai: SIGNED: s/d UNSIGNED: 0 s/d Bilangan bulat dengan kisaran nilai: SIGNED: s/d UNSIGNED: 0 s/d Bilangan bulat dengan kisaran nilai SIGNED: s/d UNSIGNED: 0 s/d Bilangan bulat dengan kisaran nilai: SIGNED: s/d UNSIGNED:0 s/d Bilangan pecahan presisi tunggal dengan kisaran nilai: Nilai minimum (tanpa nilai nol) E-38 Nilai maksimum (tanpa nilai nol) E+38 Bilangan pecahan presisi ganda (double precision) dengan kisaran nilai: Nilai minimun (tanpa nilai nol) E-308 Nilai maksimum (tanpa nilai nol) ± E+308 DECIMAL DECIMAL [(M,D)] Bilangan desimal, dengan nilai M Byte tergantung pada besaran M dan D. 1 Byte 2 Byte 3 Byte 4 Byte 8 Byte 4 Byte 8 Byte M Byte Modul Praktikum Sistem Basis Data... 26
27 2.2 Tipe Data Kolom String/Character Tabel 2: Tipe Data Kolom String/Character Tipe Data Kolom Bentuk Penulisan Keterangan Ukuran CHAR CHAR(M) Data string dengan lebar data yang tetap(m). Maksimum lebar data 255 karakter M Byte VARCHAR VARCHAR(M) Data string dengan lebar data yang bervariasi(m). Maksimum lebar data 255 karakter M Byte 2.3 Tipe Data Kolom BLOB dan TEXT Tabel 3: Tipe Data Kolom BLOB dan Text Jenis Kolom Keterangan Ukuran TINYBLOB Data binary dengan lebar data maksimum 255 karakter M+1 Byte BLOB Data binary dengan lebar data maksimum karakter M+2 Byte MEDIUMBLOB Data binary dengan lebar data maksimum karakter M+3 Byte LONGBLOB Data binary dengan lebar data maksimum karakter M+4 Byte TINYTEXT Data text dengan lebar data maksimum 255 karakter M+1 Byte TEXT Data text dengan lebar data maksimum karakter M+2 Byte MEDIUMTEXT Data text dengan lebar data maksimum karakter M+3 Byte LONGTEXT Data text dengan lebar data maksimum karakter M+4 Byte Catatan: M merupakan nilai maksimum yang diperkenankan dengan kisaran 1 s/d Tipe Data Kolom ENUM dan SET ENUM (enumeration) dan SET (himpunan) adalah tipe data khusus. Kolomnya harus diisi dengan nilai pilihan yang sudah ditentukan pada saat deklarasi ENUM dan SET. Perbedaan diantara kedua tipe data tersebut adalah, pada ENUM hanya bisa dipilih salah satu dari pilihan yang ada. Sedangkan pada SET, dapat dipilih satu atau lebih dari pilihan yang ada. Bentuk umum pendeklarasian kedua tipe data tersebut adalah sebagai berikut; Tabel 4: Tipe Data Kolom ENUM dan SET Jenis Kolom Bentuk Dasar Keterangan ENUM ENUM(nilai1, nilai2,.., nilain) Hanya dapat menampung 1 data saja dari pilihan data yang ada atau NULL, dengan jumlah pilihan maksimum pilihan data. Modul Praktikum Sistem Basis Data... 27
28 Jenis Kolom Bentuk Dasar Keterangan SET SET(nilai1, nilai2,.., nilain) Dapat menampung lebih dari 1 data saja dari pilihan data yang ada atau NULL, dengan jumlah pilihan maksimum 64 pilihan data. Beberapa contoh pendeklarasian tipe data ENUM adalah sebagai berikut; Jenis_Kelamin ENUM( L, P ) Status_Pernikahan ENUM( Menikah, Lajang, Janda, Duda ) Status_Karyawan ENUM( Karyawan Tetap, Karyawan Honorer ) Ukuran_Baju ENUM( S, M, L, XL ) Pada ENUM, kita hanya boleh memilih salah satu dari pilihan Jenis_Kelamin ( L atau P ), Status_Pernikahan ( Menikah, Lajang, Janda atau Duda ), dan seterusnya. Pada SET kita bisa memilih minimal satu dari pilihan yang ada. Misal pada Menu_Pilihan (seperti contoh tipe data SET), kita bisa memilih Nasi Goreng saja, bisa juga Mie Rebus dan Juice Apokat, atau bahkan kita pilih sernuanya ( Nasi Goreng, Mie Rebus, Juice Apokat, Ayam Bakar ). Contoh pendeklarasian Set adalah sebagai berikut : Menu_Pilihan SET( Nasi Goreng, Mie Rebus, Juice Apokat, Ayam Bakar ) Merek_Mobil SET( Mercedes Benn, BMW, Audi, "Toyota, Mitsubishi, Suzuki ) Hobby SET( Makan, Tidur, Olah Raga, Travelling, Baca ) 2.5 Tipe Data Kolom Date dan Time Tipe data kolom Date dan Time digunakan untuk menampung data tanggal dan jam. Pada MySQL data tanggal dan jam, dapat pada beberapa tipe data dalam kelompok tipe data Date and Time. Berikut ini erdpat beberapa tipe data Date and Time beserta format penulisannya; 3. Jenis Operator Pada MySQL Software database server MySQL juga mengenal beberapa jenis operator sebagai penghubung suatu ekpresi matematis, logika atau perbandingan. Operator-operator pada MySQL berdasarkan fungsinya dapat dikategorikan sebagai berikut: Modul Praktikum Sistem Basis Data... 28
29 Operator Logika Tabel 5: Operator Logika Operator Fungsi Contoh NOT atau! OR atau AND atau && Sebagai NEGASI (bukan) dari suatu nilai ATAU, akan bernilai benar bila salah satu atau kedua ekspresi adalah benar. DAN, akan bernilai benar hanya bila ekspresi adalah benar. NOT Perempuan atau!perempuan Buah= Jambu OR Buah= Mangga Atau Buah= Jambu Buah= Mangga Buah= Jambu AND Hewan= Monyet Atau Buah= Jambu && Hewan= Monyet Operator Aritmatika Tabel 6: Operator Aritmatika Operato r Fungsi + Melakukan penjumlahan pada operasi matematika - Melakukan pengurangan pada operasi matematika * Melakukan perkalian pada operasi matematika / Melakukan pembagian pada operasi matematika % Operator Pembanding Melakukan proses modulus (mencari sisa bagi) pada operasi matematika Tabel 7: Operator Pembanding/Relasi Operator Fungsi Contoh = Sama dengan Nama= anwar Harga=45610 > Lebih dari TinggiBadan>150 < Kurang dari TinggiBadan<150 >= Lebih dari atau sama dengan TinggiBadan>=150 <= Kurang dari atau sama dengan TinggiBadan<=150!= atau <> Tidak sama dengan Nama!= anwar Harga<>100 3!=2 IS NOT NULL Apakah nilai tidak NULL Nama IS NOT NULL Modul Praktikum Sistem Basis Data... 29
30 Operator Fungsi Contoh IS NULL Apakah nilai NULL Nama IS NULL BETWEEN AND IN NOT IN LIKE NOT LIKE REGEXP NOT REGEXP <=> 4. Urutan Prioritas Operator Apakah suatu nilai berada diantara nilai Apakah suatu nilai berada diantara nilai pilihan yang ada Apakah suatu nilai tidak berada diantara nilai pilihan yang ada Apakah suatu nilai memiliki kriteria nilai yang ada Apakah suatu nilai tidak memiliki kriteria nilai yang ada Nilai menjadi benar bila kedua nilai tersebut sama Nilai menjadi benar bila kedua nilai tersebut tidak sama Nilai menjadi benar bila kedua nilai tersebut sama Harga BETWEEN 150 AND 500 Nama IN ( Anwar, Amir ) Nama NOT IN ( Anwar, Amir Nama LIKE An% Nama NOT LIKE An% a REGEXP b a NOT REGEXP b a <=> b Memahami urutan prioritas operator, akan sangat membantu kita dalam penulisan perintah-perintah MySQL, sehingga dalam menampilkan data sesuai dengan yang kita harapkan. Adapun urutan prioritas operator adalah sebagai berikut; Urutan Prioritas Tabel 8: Urutan Prioritas Operator 1 BINARY 2 NOT atau! 3 - (MINUS) 4 * / % << >> 7 & 8 9 Operator < <= = => >!= <> IN IS LIKE REGEXP RLIKE Modul Praktikum Sistem Basis Data... 30
31 Urutan Prioritas 10 BETWEEN 11 AND atau && 12 OR atau Operator E. LANGKAH-LANGKAH PRAKTIKUM Guna membantu pemahaman kita dalam menggunakan berbagai macam operator dan tipe data, lakukan beberapa perintah query berikut ini; a. Kesimpulan apa yang dapat diambil dari penggunaan operator aritmatika berikut? mysql>select , , 24JAM + 30HARI, -> 12 BULAN + 1 TAHUN, My + SQL ; mysql>select 10-20, , 24JAM - 30HARI, -> 12 BULAN - 1 TAHUN, My - SQL, -(7-5); mysql>select 20 % 2, 15.4 % 13.2, -25 % 4, 1 / 0; b. Kesimpulan apa yang dapat diambil dari penggunaan operator pembanding berikut? mysql>use mysql; mysql>select a > A ; mysql>select 10 <= 20; mysql>select user FROM user WHERE user!= anto ; mysql>select user FROM user WHERE user IS NOT NULL; mysql>select 110 BETWEEN 100 AND 500; mysql>select user FROM user WHERE user NOT LIKE a% ; mysql>select user FROM user WHERE user IN ( anto, andi ); c. Buatlah database latihdb dan table teman; mysql>create DATABASE latihdb; mysql>use latihdb; mysql>create TABLE teman ->(noid INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, ->nama VARCHAR(35) NOT NULL, ->kelamin ENUM( L, P ), ->tmp_lahir VARCHAR(35) NOT NULL, ->tgl_lahir DATE NULL DEFAULT , ->alamat VARCHAR(50) NOT NULL, ->kota VARCHAR(35) NOT NULL); Modul Praktikum Sistem Basis Data... 31
32 d. Isilah table teman dengan data sebagai berikut; Noid Nama Klm Tempat Lahir Tabel 9: Data Table Teman Tanggal Lahir Alamat 1 Ahmad Subhan L Medan Jl. Arjono 123 Medan 2 Benny Sukmana L Bogor Jl. Letjend. Sutoyo 87 Bandung 3 Subono L Semarang Jl. Panglima Sudirman 63 Solo 4 Richard Buntaran L Medan Jl. Untung Suropati 312 Malang 5 Carla Karmelita P Manado Jl. Merdeka Barat 90 Jakarta 6 Chintiawati P Cianjur Jl. Kesatrian 100 Surabaya 7 Oka Sulaksana P Denpasar Jl. Daan Mogot 75 Jakarta 8 Dwi Dirgantara L Surabaya Jl. Sidotopo IV/621B Surabaya 9 Ramli Sokoco L Madiun Jl. Sunan Giri 54 Madiun 10 Sri Sundari P Samarang Jl. Ambarawa 93 Samarang 11 Dwikoro Jatmiko L Bogor Jl. Sungai Citarum 23 Bogor 12 Dhamayanti P Cirebon Jl. Gatot Subroto 124 Cirebon 13 Dharmanwangsa L Batam Jl. Kolonel Sugiono 77 Bandung 14 Syarifa Firdaus P Cianjur Jl. Raden Rahmad 32 Malang 15 Royan Surya L Bogor Jl. Asparagus 93 Bogor 16 Ginanjar L Cibinong Jl. Ahmad Yani 100 Riau 17 Gina Sonia P Bogor Jl. Citarum 53 Bogor 18 Bartiniwati P Surakarta Jl. Sidoutomo 2 Kepanjen Malang 19 Ian Sulistio L Palembang Jl. Raden Saleh II/42 Surabaya 20 Indri Jelita P Bengkulu Jl. Ahmad Yani 21 Bengkulu 21 Junita Santiago P Padang Jl. Mayjend. Panjaitan 45 Padang 22 Moh. Umar P Malang Jl. Citandui 52 Malang 23 Aisyah Kamila L Semarang Jl. Panglima Sudirman 15 Semarang 24 Rita Nurjannah P Surabaya Jl. Sidodadi 76 Surabaya 25 Indah Mumpuni P Malang Jl. Sumbing 123 Malang Perintah untuk menambahkan data pada table teman, adalah sebagai berikut, mysql>insert INTO teman VALUES( 1, Ahmad Subhan, L Medan, -> , Jl. Arjono 123, Medan ); dan seterusnya. Ulangi dan sesuaian perintah tersebut untuk menambahkan data lain pada table teman Modul Praktikum Sistem Basis Data Kota
33 e. Tampilkan seluruh data teman; mysql>select * FROM teman; f. Tampilkan seluruh data teman untuk field noid, nama, tempat lahir dan tanggal lahir; mysql>select noid, nama, tmp_lahir, tgl_lahir FROM teman; g. Tampilkan data teman untuk field noid, nama, tempat lahir dan tanggal lahir hanya untuk jenis kelamin perempuan ( P ); mysql>select noid, nama, tmp_lahir, tgl_lahir FROM teman WHERE kelamin= P ; h. Tampilkan data teman untuk field noid, nama, tempat lahir dan tanggal lahir hanya untuk jenis kelamin laki-laki ( L atau NOT P ); mysql>select noid, nama, tmp_lahir, tgl_lahir FROM teman ->WHERE NOT kelamin= P ; atau mysql>select noid, nama, tmp_lahir, tgl_lahir FROM teman ->WHERE kelamin!= P ; atau mysql>select noid, nama, tmp_lahir, tgl_lahir FROM teman ->WHERE kelamin= L ; i. Tampilkan data teman yang lahir bukan di Malang; mysql>select * FROM teman WHERE NOT tmp_lahir= Malang ; atau mysql>select * FROM teman WHERE tmp_lahir!= Malang ; j. Tampilkan data teman yang lahir di Malang atau di Surabaya atau di Bogor; mysql>select * FROM teman ->WHERE tmp_lahir IN ( Malang, Surabaya, Bogor ); atau mysql>select * FROM teman ->WHERE tmp_lahir= Malang OR tmp_lahir= Surabaya ->OR tmp_lahir= Bogor ; k. Tampilkan data teman yang lahir bukan di Malang, Surabaya atau Bogor; mysql>select * FROM teman ->WHERE tmp_lahir NOT IN ( Malang, Surabaya, Bogor ); atau mysql>select * FROM teman ->WHERE tmp_lahir!= Malang AND tmp_lahir!= Surabaya ->AND tmp_lahir!= Bogor ; l. Tampilkan data teman yang lahir antara hingga , urut tanggal lahir; Modul Praktikum Sistem Basis Data... 33
34 mysql>select * FROM teman ->WHERE tgl_lahir BETWEEN AND >ORDER BY tgl_lahir; m. Tampilkan data teman yang lahir antara hingga dan berjenis kelamin laki-laki (L), urut nama; mysql>select * FROM teman ->WHERE tgl_lahir BETWEEN AND >AND kelamin= L ORDER BY nama; n. Tampilkan data teman yang namanya berawalan a dengan tidak membedakan hurup kapital, urut nama; mysql>select * FROM teman WHERE nama LIKE a% ORDER BY nama; p. Tampilkan data teman yang namanya berakhiran a dengan tidak membedakan hurup kapital, urut nama; mysql>select * FROM teman WHERE nama LIKE %a ORDER BY nama; q. Tampilkan data teman yang namanya mengandung n dengan tidak membedakan hurup kapital, urut nama; mysql>select * FROM teman WHERE nama LIKE %n% ->AND kelamin= L ORDER BY nama; r. Tampilkan data teman yang namanya bukan berakhiran n dan bukan berakhiran a dengan tidak membedakan hurup kapital, urut nama; mysql>select * FROM teman WHERE nama NOT LIKE %n ->AND nama NOT LIKE %a ORDER BY nama; t. Tampilkan data teman untuk field noid, nama dan alamat untuk data yang beralamat NULL, urut nama; mysql>select noid, nama, alamat FROM teman WHERE alamat IS NULL ->ORDER BY nama; u. Tampilkan data teman untuk field noid, nama dan alamat untuk data yang tidak beralamat NULL, urut nama; mysql>select noid, nama, alamat FROM teman WHERE alamat IS NOT NULL ->ORDER BY nama; v. Tampilkan data teman untuk data yang namanya berakhiran a ; mysql>select * FROM teman WHERE nama REGEXP a$ ; Modul Praktikum Sistem Basis Data... 34
35 Penjelasan Perintah SELECT digunakan untuk menyeleksi data yang akan ditampilkan. Data yang diseleksi untuk ditampilkan dapat berupa hasil ekspresi matematis, logika, pembandingan maupun data yang berasal dari objek-objek dari database seperti TABLE ataupun VIEW. Bentuk umum dari perintah SELECT adalah sebagai berikut; SELECT [ALL DISTINCT DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr,... [INTO OUTFILE 'file_name' export_options INTO DUMPFILE 'file_name'] [FROM table_references [WHERE where_definition] [GROUP BY {col_name expr position} [ASC DESC],... [WITH ROLLUP]] [HAVING where_definition] [ORDER BY {col_name expr position} [ASC DESC],...] [LIMIT {[offset,] row_count row_count OFFSET offset}] ORDER BY <field> adalah perintah pengurutan data berdasarkan field yang dimaksud. Defauldnya adalah urut berdasarkan PRIMARY KEY. Modul Praktikum Sistem Basis Data... 35
36 PRAKTIKUM IV FUNGSI BAWAAN (BUILD IN FUNCTION) MySQL A. LATAR BELAKANG Pemahaman yang baik tentang jenis dan karakteristik berbagai fungsi bawaan (build in function) yang ada pada MySQL, akan sangat membantu pengguna dalam melakukan query data. MySQL sebagai software server database, juga memiliki berbagai macam fungsi bawaan seperti fungsi-fungsi string, numerik, tanggal dan waktu hingga fungsi seleksi kondisi. Masing-masing fungsi memiliki karakteristik dan hasil yang berbeda dengan lainnya. Guna membantu peningkatan pemahaman mahasiswa dalam menggunakan berbagai macam fungsi yang ada dalam MySQL, diperlukan tindakan uji coba dalam praktikum berikut ini. B. TUJUAN Kompetensi yang diharapkan dapat tercapai setelah melakukan praktikum ini adalah mahasiswa dapat menjelaskan dan menggunakan berbagai macam fungsi bawaan (build in function) MySQL dalam query data. C. ALAT-ALAT DAN BAHAN YANG DIGUNAKAN Praktikum ini membutuhkan ketersediaan alat-alat dan bahan praktikum berupa sejumlah perangkat keras (hardware) dan perangkat lunak (software). Hardware dan software yang dibutuhkan sebelum melakukan praktikum ini adalah; 1. Satu komputer yang akan digunakan sebagai Server dan sejumlah komputer yang digunakan sebagai Client dan terhubung dalam jaringan komputer baik dengan menggunakan kabel maupun dengan jaringan tanpa kabel (nirkabel) 2. LCD viewer, whiteboard dan spidol sebagai media presentasi instruktur 3. Software aplikasi MySQL Server 5.0 keatas, MySQL Query Browser Modul Praktikum Sistem Basis Data... 36
37 D. TEORI DASAR Fungsi merupakan sekumpulan perintah/instruksi untuk menghasilkan sebuah nilai, dengan atau tanpa melewatkan parameter. Pada MySQL telah terdapat sekumpulan fungsifungsi bawaan, yang dapat digunakan dalam melakukan perintah-perintah query yang termasuk dalam kelompok Data Manipulation Statemen (DMS). Selain itu sejak MySQL versi 5.0, MySQL telah dilengkapi pula dengan kemampuan membuat objek fungsi yang didefinisikan oleh pemakai sesuai keperluannya. Beberapa fungsi-fungsi bawaan dapat dikelompokkan sebagai berikut; 4. Fungsi String ASCII(str), merupakan fungsi yang menghasilkan nilai numerik berupa kode ASCII dari parameter character/string (str) yang disertakan. BIN(n), adalah fungsi yang menghasilkan nilai string berupa data biner dari parameter nilai numerik (n) yang disertakan. CHAR(n1[, n2,... ]), fungsi yang menghasilkan sekumpulan character dari parameter kode ASCII (n1[,n2,...]) yang disertakan. CHAR_LENGTH(str), menghasilkan nilai numerik berupa panjang dari parameter string (str) yang disertakan. CONCAT(str1, str2[, str3,.... ]), fungsi yang menghasilkan nilai string berupa hasil penggabungan dari parameter-parameter string (str1, str2[, str3,.... ]) yang disertakan. CONCAT_WS(separator, str1, str2[, str3,.... ]), fungsi yang menghasilkan nilai string berupa hasil penggabungan dari parameter-parameter string (str1, str2[, str3,.... ]) dan dipisahkan oleh parameter separator yang disertakan. FIELD(str, str1[, str2, str3,.... ]), fungsi yang menghasilkan nilai numeric berupa urutan parameter str dari sekumpulan parameter string list (str1[, str2, str3,.... ]) yang disertakan. FIELD_IN_SET(str, string_list), fungsi untuk menghasilkan urutan str dari sebuah sekumpulan string (string_list), jika parameter str tersebut ada dalam sekumpulan string (string_list) yang dimaksud. Modul Praktikum Sistem Basis Data... 37
38 INSERT(str, pos, len, newstr), fungsi yang dapat menambahkan/menyisipkan nilai string baru (newstr) pada nilai string asal (str), pada posisi substring (pos) sebanyak karakter (len). LEFT(str, len), fungsi untuk menghasilkan sub string dari sebuah nilai string (str) mulai dari karakter paling kiri sebanyak len karakter LENGTH(str), fungsi yang dapat menghasilkan panjang string (str), diukur dalam byte. LOCATE(sub_str, str[, pos]), fungsi yang dapat menghasilkan nilai posisi pertama dari sub string (sub_str) berdasarkan urutan karakter dari sebuah nilai string (str). LOWER(str), fungsi untuk merubah semua karakter dalam nilai string (str) menjadi hurup kecil (lowercase). Fungsi ini sinonim untuk fungsi LCASE(). LTRIM(str), fungsi yag dapat membuang semua spasi yang berada di sebelah kiri sebuah nilai string (str). ORD(char), fungsi yang menghasilkan nilai kode ASCII dari karakter(char) QUOTE(str), fungsi untuk menambahkan tanda kutip/petik ( ) pada sebuah nilai string (str) REPEAT(str, count), fungsi untuk menghasilkan suatu nilai string (str) sebanyak jumlah (count) tertentu REPLACE(str, from_str, to_str), fungsi yang dapat mengganti semua sub string (from_str) dengan sebuah sub string baru (to_str) dalam sebuah nilai string (str). REVERSE(str), fungsi untuk membalikkan urutan karakter dalam sebuah nilai string (str) RIGHT(str, len), fungis untuk menghasilkan sub string dari sebuah nilai string (str) mulai dari karakter paling kanan sebanyak len karakter RTRIM(str), fungsi untuk membuang semua spasi yang berada di sebelah kanan sebuah nilai string (str). SPACE(n), fungsi yang menghasilkan n spasi SUBSTRING(str, pos[, len]), fungsi yang menghasilkan sebuah nilai sub string dari sebuah string (str), mulai dari posisi tertentu (pos) hingga akhir string atau Modul Praktikum Sistem Basis Data... 38
39 sebanyak karakter tertentu (len). Fungsi ini sinonim dengan fungsi MID() dan bentuk lain fungsi ini adalah SUBSTRING(str FROM pos [FOR len]). TRIM(str), fungsi untuk membuang semua spasi yang berada di sebelah kiri dan kanan sebuah nilai string (str). UPPER(str), fungsi yang berguna untuk merubah semua karakter dalam nilai string (str) menjadi hurup kapital (upercase). Fungsi ini sinonim untuk fungsi UCASE(). 5. Fungsi Numerik ABS(n), fungsi yang menghasilkan nilai absolut dari n. ACOS(n), fungsi untuk menghasilkan nilai arc kosinus dari n. ASIN(n), fungsi untuk menghasilkan nilai arc sinus dari n. ATAN(n), fungsi yang dapat menghasilkan nilai arc tangen dari n. CEIL(n), fungsi untuk menghasilkan nilai integer terdekat yang tidak kurang dari nilai n.. Fungsi ini sinonim dengan fugsi CEILING(n). COS(n), fungsi yang dapat menghasilkan nilai kosinus dari n. Dimana n dalam radian. COT(n), fungsi yang dapat menghasilkan nilai kotangen dari n. Dimana n dalam radian. DEGREES(n), fungsi untuk menghasilkan nilai derajat (degrees) dari nilai n radian. EXP(n), fungsi untuk menghasilkan nilai exponensial dari nilai numerik n FLOOR(n), fungsi yang dapat menghasilkan nilai integer terdekat yang tidak lebih dari nilai n.. LN(n), fungsi untuk menghasilkan nilai LEN (logaritma natural) dari nilai numerik n. Fungsi ini sinonim dengan fungsi LOG(). LOG([b,] n), fungsi yang dapat menghasilkan sebuah nilai dengan ketentuan, jika parameternya Cuma satu yaitu n, maka akan menghasilkan nilai LEN (logaritma natural) dari nilai numerik n (sinonim dengan fungsi LN()). namun jika ada dua parameter (b dan n), maka akan menghasilkan nilai logaritma basis b dari nilai n. LOG2(n), fungsi untuk menghasilkan nilai logaritma basis 2 dari nilai numerik n. Modul Praktikum Sistem Basis Data... 39
40 LOG10(n), fungsi untuk menghasilkan nilai logaritma basis 10 dari nilai numerik n. MOD(n, m), fungsi untuk menghasilkan nilai sisa (modulus) dari proses pembagian integer n dengan m. Fungsi ini sama dengan operator % atau MOD. PI(), fungsi yang mengahsilkan nilai PI POW(n, m), fungsi untuk menghasilkan nilai n pangkat m. RADIANS(n), fungsi yang dapat menghasilkan nilai radian dari n derajat. RAND([n]), fungsi untuk menghasilkan nilai acak (random) antara 0 hingga 1.0. Parameter n (jika disertakan) digunakan sebagai awal bilangan acak. ROUND(n[, d]), fungsi yang dapat menghasilkan nilai integer terdekat dari nilai numerik n. jika parameter d disertakan maka akan menghasilkan pecahan terdekat dari nilai numerik n dengan d digit desimal. SIN(n), fungsi untuk menghasilkan nilai sinus dari nilai numerik n dalam radian. SQRT(n), fungsi yang menghasilkan nilai positif dari akar kuadrat n. TAN(n), fungsi untuk menghasilkan nilai tangent dari nilai numerik n dalam radian. TRUNCATE(n, d), fungsi yang menghasilkan nilai numerik dengan menghilangkan digit desimal pad nilai numerik n hingga menyisakan d digit desimal. 6. Fungsi Date dan Time ADDDATE(expr1, expr2), fungsi yang dapat digunakan untuk menghasilkan tanggal dari tanggal awal (expr1) ditambah interval hari yang ditentukan (expr2). Fungsi ADDDATE sinonim dengan fungsi DATE_ADD. ADDTIME(expr1, expr2), fungsi yang menghasilkan jam dari jam awal (expr1) ditambah interval jam yang ditentukan (expr2). CURDATE(), fungsi untuk menghasilkan tanggal sistem saat ini dalam format 'YYYY-MM-DD' atau YYYYMMDD. Fungsi ini sinonim dengan fungsi CURRENT_DATE(). CURTIME(), fungsi untuk menghasilkan jam sistem saat ini dalam format 'HH:MM:SS' atau HHMMSS format. Fungsi ini sinonim dengan fungsi CURRENT_TIME(). Modul Praktikum Sistem Basis Data... 40
41 DATE(expr), fungsi untuk menghasilkan tanggal dari nilai/value datetime yang disertakan dalam ekspresi (expr). DATE_FORMAT(datetime, format), fungsi yang dapat menghasilkan nilai tanggal dan jam (datetime value) dalam format tertentu. DAY(date), fungsi untuk menghasilkan tanggal dari sebuah urutan tahun-bulantanggal (date). Fungsi ini sinonim dengan fungsi DAYOFMONTH(). DAYNAME(date), fungsi yang dapat mengahasilkan nama hari dari sebuah nilai tanggal (date) DAYOFWEEK(date), fungsi untuk menghasilkan urutan hari dalam minggu (1 = Sunday, 2 = Monday,... 7 = Saturday) dari sebuah nilai tanggal (date). DAYOFYEAR(date), fungsi yang dapat menghasilkan hari ke berapa dalam tahun dari sebuah nilai tanggal (date). NOW(), fungsi untuk menghasilkan tanggal dan jam sistem saat ini dalam format 'YYYY-MM-DD HH:MM:SS' atau YYYYMMDDHHMMSS. 7. Fungsi Aggregasi AVG(expr), fungsi untuk menghasilkan nilai rata-rata sekelompok nilai dari sebuah kolom (field) numerik. COUNT(expr), fungsi untuk menghasilkan nilai jumlah data (baris/record) dari sekelompok data tabel maupun view. MAX(expr), fungsi yng dapat menghasilkan nilai tertinggi sekelompok nilai dari sebuah kolom (field) numerik MIN(expr), fungsi untuk menghasilkan nilai terendah sekelompok nilai dari sebuah kolom (field) numerik SUM(expr), fungsi yang dapat menghasilkan nilai total jumlah sekelompok nilai dari sebuah kolom (field) numerik. STDDEV_POP(expr), fungsi untuk menghasilkan nilai standart deviasi populasi dari expr. VAR_POP(expr), fungsi yang dapat menghasilkan nilai standart varian populasi dari expr. Modul Praktikum Sistem Basis Data... 41
42 8. Fungsi Seleksi Kondisi IF (expr1, expr2, expr3), fungsi pengujian yang dapat menghasilkan nilai expr2 jika expr1 terpenuhi atau bernilai TRUE, dan akan menampilkan nilai expr3 jika expr1 tidak terpenuhi atau bernilai FALSE. IFNULL(expr1, expr2), fungsi pengujian untuk menghasilkan nilai expr1, jika expr1 tidak NULL, dan akan menampilkan nilai expr2 jika expr1 adalah NULL. CASE WHEN [condition] THEN [result] [WHEN [condition] THEN [result] ] [ELSE result] END E. LANGKAH-LANGKAH PRAKTIKUM Guna membantu pemahaman kita dalam menggunakan berbagai macam fungsi bawaan (build in function) MySQL, lakukan beberapa perintah query berikut ini; a. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi string berikut ini; mysql> SELECT ASCII('2'); mysql> SELECT ASCII(2); mysql> SELECT ASCII('dx'); mysql> SELECT BIN(12); mysql> SELECT CHAR(77,121,83,81,'76'); mysql> SELECT CHAR(77,77.3,'77.3'); mysql> SELECT CHAR_LENGTH( SRI DEVI'); Apa yang dapat disimpulkan dari penggunaan fungsi string ASCII, BIN, CHAR dan CHAR_LENGTH? b. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi string berikut ini; mysql> SELECT CONCAT( SRI, DEVI', PERMATASARI ); mysql> SELECT CONCAT_WS( -, SRI DEVI', PERMATA, SARI ); mysql> SELECT FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo'); Modul Praktikum Sistem Basis Data... 42
43 mysql> SELECT FIND_IN_SET('b', 'a, b, c, d'); mysql> SELECT INSERT('Quadratic', 3, 4, 'What'); mysql> SELECT RIGHT('MySQL', 3); mysql> SELECT LENGTH ( 'text'); Apa yang dapat disimpulkan dari penggunaan fungsi string CONCAT, FIELD, FIND_IN_SET, INSERT, RIGHT dan LENGTH? c. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi string berikut ini; mysql> SELECT LOCATE('bar', 'foobarbar'); mysql> SELECT LOCATE('xbar', 'foobar'); mysql> SELECT LOCATE('bar', 'foobarbar',5); mysql> SELECT LOWER('MySQL'); mysql> SELECT RTRIM(' barbar'); mysql> SELECT ORD('2'); mysql> SELECT QUOTE('Don\'t'); mysql> SELECT QUOTE(NULL); mysql> SELECT REPEAT('MySQL', 3); Apa yang dapat disimpulkan dari penggunaan fungsi string LOCATE, LOWER, RTRIM, ORD, QUOTE dan REPEAT? d. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi string berikut ini; Modul Praktikum Sistem Basis Data... 43
44 mysql> SELECT REPLACE(' 'w', 'Ww'); mysql> SELECT REVERSE('MySQL'); mysql> SELECT RIGHT('MySQL', 3); mysql> SELECT RTRIM('barbar '); mysql> SELECT SPACE(6); mysql> SELECT SUBSTRING('Quadratically',5); mysql> SELECT SUBSTRING('foobarbar' FROM 4); mysql> SELECT SUBSTRING('foobarbar' FROM 4 FOR 3); mysql> SELECT SUBSTRING('Quadratically', 5, 6); mysql> SELECT RTRIM(' barbar '); mysql> SELECT UPPER('mySQL'); Apa yang dapat disimpulkan dari penggunaan fungsi string REPLACE, REVERSE, RIGHT, SPACE, SUBSTRING, RTRIM dan UPPER? e. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi numerik berikut ini; mysql> SELECT ABS (2); mysql> SELECT ABS (-32); mysql> SELECT ACOS (1); mysql> SELECT ACOS (1,0001); mysql> SELECT ACOS (0); mysql> SELECT ASIN (0,2); mysql> SELECT ASIN ( 'foo'); mysql> SELECT ATAN(2); mysql> SELECT ATAN(-2); mysql> SELECT CEIL(2.43); mysql> SELECT CEIL(-2.43); Modul Praktikum Sistem Basis Data... 44
45 mysql> SELECT COS(PI()); Apa yang dapat disimpulkan dari penggunaan fungsi numerik ABS, ACOS, ASIN, ATAN, CEIL dan COS? f. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi numerik berikut ini; mysql> SELECT COT(12); mysql> SELECT COT(0); mysql> SELECT DEGREES(PI()); mysql> SELECT EXP(2); mysql> SELECT EXP(-2); mysql> SELECT FLOOR(2.43); mysql> SELECT FLOOR(-2.43); mysql> SELECT LN(2); mysql> SELECT LN(-2); mysql> SELECT LOG(2); mysql> SELECT LOG(-2); mysql> SELECT LOG(2,65536); mysql> SELECT LOG(1,100); mysql> SELECT LOG10(2); mysql> SELECT LOG10(100); mysql> SELECT LOG10(-100); Apa yang dapat disimpulkan dari penggunaan fungsi numerik COT, DEGREES, EXP, FLOOR, LN, LOG dan LOG10? Modul Praktikum Sistem Basis Data... 45
46 g. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi numerik berikut ini; mysql> SELECT MOD(234, 10); mysql> SELECT 253 % 7; mysql> SELECT MOD(9, 2); mysql> SELECT 9 MOD 2; mysql> SELECT PI(); mysql> SELECT PI() ; mysql> SELECT POW(2, 2); mysql> SELECT POW(2, -2); mysql> SELECT POW(5, 3); mysql> SELECT RADIANS(90); mysql> SELECT RADIANS(30); mysql> SELECT RAND(); mysql> SELECT RAND(20); Apa yang dapat disimpulkan dari penggunaan fungsi numerik MOD, PI, POW, RADIAN dan RAND? h. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi numerik berikut ini; mysql> SELECT ROUND(-1.23); mysql> SELECT ROUND(-1.58); mysql> SELECT ROUND(1.58); mysql> SELECT ROUND(1.298, 1); mysql> SELECT ROUND(23.298, -1); Modul Praktikum Sistem Basis Data... 46
47 mysql> SELECT SIN(RADIANS(90)); mysql> SELECT SIN(RADIANS(30)); mysql> SELECT SQRT(4); mysql> SELECT SQRT(20); mysql> SELECT TAN(RADIANS(45)); mysql> SELECT TAN(RADIANS(30)); mysql> SELECT TRUNCATE(1.223,1); mysql> SELECT TRUNCATE(-1.999,1); Apa yang dapat disimpulkan dari penggunaan fungsi numerik ROUND, SIN, SQRT, TAN dan TRUNCATE? i. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi date and time berikut ini; mysql> SELECT DATE_ADD(' ', INTERVAL 31 DAY); mysql> SELECT ADDDATE(' ', INTERVAL 31 DAY); mysql> SELECT ADDDATE(' ', 31); mysql> SELECT ADDTIME(' :59: ', '1 1:1: '); mysql> SELECT ADDTIME('01:00: ', '02:00: '); mysql> SELECT CURDATE(); mysql> SELECT CURDATE() + 0; mysql> SELECT CURTIME(); mysql> SELECT CURTIME() + 0; Apa yang dapat disimpulkan dari penggunaan fungsi date and time DATE_ADD, ADDDATE, CURDATE dan CURTIME? Modul Praktikum Sistem Basis Data... 47
48 j. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi date and time berikut ini; mysql> SELECT DATE(' :02:03'); mysql> SELECT DATE_FORMAT(' :23:00', '%W %M %Y'); mysql> SELECT DATE_FORMAT(' :23:00', '%H:%i:%s'); mysql> SELECT DATE_FORMAT(' :23:00', '%D %y %a %d %m %b %j'); mysql> SELECT DATE_FORMAT(' :23:00','%H %k %I %r %T %S %w'); mysql> SELECT DATE_FORMAT(' ', '%X %V'); mysql> SELECT DAYOFMONTH(' '); mysql> SELECT DAYNAME(' '); mysql> SELECT DAYOFWEEK(' '); mysql> SELECT DAYOFYEAR(' '); mysql> SELECT NOW(); mysql> SELECT NOW() + 0; Apa yang dapat disimpulkan dari penggunaan fungsi date and time DATE, DATE_FORMAT, DAYOFMONTH, DAYNAME, DAYOFWEEK, DAYOFYEAR dan NOW? k. Perhatikan apa yang dihasilkan dari penggunaan fungsi-fungsi seleksi kondisi berikut ini; mysql> SELECT IF(1>2,2,3); mysql> SELECT IF(1<2,'yes','no'); Modul Praktikum Sistem Basis Data... 48
49 mysql> SELECT IF(STRCMP('test','test1'),'no','yes'); mysql> SELECT IFNULL(1,0); mysql> SELECT IFNULL(NULL,10); mysql> SELECT IFNULL(1/0,10); mysql> SELECT IFNULL(1/0,'yes'); mysql> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END; mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END; Apa yang dapat disimpulkan dari penggunaan fungsi seleksi kondisi IF, IFNULL dan CASE WHEN? Modul Praktikum Sistem Basis Data... 49
50 PRAKTIKUM V MEMBUAT, MERUBAH, MENDUPLIKASI DAN MENGHAPUS TABEL A. LATAR BELAKANG Kemampuan untuk mengunakan bahasa query untuk membuat, merubah, menduplikasi dan menghapus sebuah Tabel, sangat dibutuhkan oleh perancang database. Desain database secara konsep yang telah dibuat harus dapat diimplementasikan secara fisik ke dalam server database. Basisdata (database) merupakan sekumpulan objek yang dapat terdiri dari tabel, view maupun yang lainnya, yang terhububung satu dengan lainnya. Objek tabel sebagai salah satu komponen vital dari sebuah database harus dibuat/diciptakan terlebih dahulu sebelum melakukan penyimpanan data (record). Pada kondisi tertentu, terkadang sebuah tabel perlu untuk dilakukan perubahan struktur datanya, digandakan, dirubah namanya atau bahkan tabel tersebut harus dihapus dari sebuah database. Guna membantu meningkatkan pemahaman mahasiswa dalam menggunakan berbagai macam perintah query dalam lingkup Data Definition Statement (DDS), utamanya untuk membuat, merubah struktur data, menggandakan dan menghapus sebuah tabel, diperlukan tindakan uji coba dalam praktikum berikut ini. B. TUJUAN Kompetensi yang diharapkan dapat tercapai setelah melakukan praktikum ini adalah mahasiswa dapat membuat, merubah (memodifikasi), menggandakan serta menghapus objek Tabel dengan menggunakan Data Definition Statemen (DDS). C. ALAT-ALAT DAN BAHAN YANG DIGUNAKAN Praktikum ini membutuhkan ketersediaan alat-alat dan bahan praktikum berupa sejumlah perangkat keras (hardware) dan perangkat lunak (software). Hardware dan software yang dibutuhkan sebelum melakukan praktikum ini adalah; Modul Praktikum Sistem Basis Data... 50
51 1. Satu komputer yang akan digunakan sebagai Server dan sejumlah komputer yang digunakan sebagai Client dan terhubung dalam jaringan komputer baik dengan menggunakan kabel maupun dengan jaringan tanpa kabel (nirkabel) 2. LCD viewer, whiteboard dan spidol sebagai media presentasi instruktur 3. Software aplikasi MySQL Server 5.0 keatas, MySQL Query Browser D. TEORI DASAR 1. Menciptakan Table Table merupakan salah satu bentuk object dalam sebuah database dan merupakan bagian dari struktur database dalam MySQL. Object table digunakan untuk menyimpan dan mengelompokkan data yang berelasi. Kumpulan data dalam bentuk table tersebut biasanya mepresentasikan sebuah entitas atau kejadian tertentu. Table dapat tersusun atas satu atau beberapa kolom/field dengan nama yang berbeda. Data pada setiap kolom atau field memiliki tipe/jenis data yang homogen (sama). Istilah Record digunakan untuk menyebutkan kumpulan data dari kolom-kolom yang sebaris dan memiliki keterkaitan secara logika. Table harus tercipta terlebih dahulu, agar dapat digunakan untuk menyimpan sekumpulan data. Bentuk umum perintah untuk membuat table dalam sebuah database adalah sebagai berikut; CREATE TABLE [IF NOT EXISTS] <table_name> (<table_structure>); Perintah CREATE DATABASE <databse_name> digunakan untuk membuat/menciptakan database. Sedangkan perintah untuk menambah atau menyisipkan data pada sebuah table, dapat menggunakan perintah; INSERT [INTO] <table_name> [(col_name1, col_name2, )] VALUES(<value1, value2, >) atau INSERT [INTO] <table_name> SET col_name1=value1, col_name2=value2,. atau INSERT [INTO] <table_name> [(col_name1, col_name2, )] SELECT. Modul Praktikum Sistem Basis Data... 51
52 Contoh : mysql>insert INTO dosen ->VALUES ( D1001, Roy Markun, L, Bogor, , Jl. Mayjend. Sungkono 93 ); atau mysql>insert INTO dosen (kode_dosen, nama_dosen, kelamin, tgl_lahir, alamat) ->VALUES ( D1001, Roy Markun, L, Bogor, , Jl. Mayjend. Sungkono 93 ); atau mysql>insert INTO dosen SET ->kode_dosen= D1001, ->nama_dosen= Roy Markun, ->kelamin= L, ->tmp_lahir= Bogor, ->tgl_lahir= , ->alamat= Jl. Mayjend. Sungkono 93 ; 2. Menduplikasi Table Menduplikasi atau men-copy table dapat dilakukan dengan cara mudah, dimana menduplikasi table disini mempunyai arti bahwa yang diduplikasi adalah struktur table dan datanya. Perintah yang dapat digunakan untuk menduplikasi table adalah sebagai berikut; CREATE TABLE <new_table_name> SELECT * FROM <source_table_name>; new_table_name adalah nama table hasil duplikasi, sedangkan source_table_name merupakan nama table sumber yang akan diduplikasi. 3. Mengganti Nama Table Mengganti nama table dapat dilakukan dengan cara yang sederhana, yaitu dengan memberikan perintah SQL sebagai berikut; ALTER TABLE <original_table_name> RENAME <new_table_name>; atau RENAME TABLE <original_table_name> TO <new_table_name>; Original_table_name adalah nama asli dari table yang akan diganti, sedangkan new_table_name merupakan nama pengganti. Modul Praktikum Sistem Basis Data... 52
53 4. Menghapus Table Perintah SQL yang dapat digunakan untuk menghapus sebuah table cukup sederhana, yaitu dengan cara sebagai berikut; DROP TABLE [IF EXISTS] <table_name>; DROP TABLE dapat digunakan untuk mengghapus satu atau beberapa table sekaligus. 5. Merubah Struktur Table Perintah untuk melakukan perubahan struktur table sangat variatif. Bervariasinya perintah SQL untuk merubah struktur table, tidak lepas dari pertanyaan bagian apa dari struktur table yang akan dirubah?. Beberapa bagian dari struktur table yang dapat dirubah diantaranya adalah mengganti nama dan tipe data dari sebuah kolom/field, menambah, merubah urutan dan menghapus field, menambah dan menghapus Primary Key dan Foreign Key, menambah dan mengurangi konstrain Unique, menambah Index sebuah table dan sebagainya. Walau sangat bervariasi, namun pada intinya perintah untuk merubah struktur table adalah sebagai berikut; ALTER TABLE <table_name> <ADD CHANGE DROP MODIFY>..; Dimana perubahan-perubahan struktur table yang dapat dilakukan adalah menambah (ADD), mengganti (CHANGE), menghapus (DROP) dan merubah (MODIFY). 5.1 Mengganti Nama dan Tipe Data Field Mengganti nama dan tipe data dari sebuah field, dapat dilakukan dengan cara sebagai berikut; ALTER TABLE <table_name> CHANGE COLUMN <column_name> <column_definition>; table_name adalah nama table yang akan dirubah strukturnya, column_name merupakan nama kolom/field yang akan diganti dan column_definition adalah definisi atribut pengganti dari kolom/field yang dimaksud. Pendefinisian atribut penggati ini dapat berupa nama filed baru maupun tipe data dari field yang dimaksud dan panjangnya. Modul Praktikum Sistem Basis Data... 53
54 5.2 Menambah Field Menambah field pada sebuah tabel dapat dilakukan dengan cara memberikan perintah SQL sebagai berikut; ALTER TABLE <table_name> ADD COLUMN <column_name> <column_definition> AFTER <column_name>; atau ALTER TABLE <table_name> ADD COLUMN <column_name> FIRST <column_name>; Perintah AFTER menyatakan bahwa filed baru akan diletakkan setelah filed tertentu, sedang perintah FIRST menyatakan bahwa field baru akan menjadi field pertama. 5.3 Merubah Urutan Field Merubah urutan field dalam sebuah tabel dapat dilakukan dengan memindah urutan field yang dimaksud menjadi urutan pertama (FIRST), atau setelah urutan field lainnya (AFTER). Perintah SQL untuk merubah urutan field pada sebuah tabel adalah sebagai berikut; ALTER TABLE <table_name> MODIFY <column_name> <column_definition> FIRST; atau ALTER TABLE <table_name> MODIFY <column_name> <column_definition> AFTER <column_name> ; 5.4 Menghapus Field Menghapus field dalam sebuah tabel dapat dilakukan dengan cara menghapus satu persatu field yang dimksud, atau beberapa field sekaligus. Perintah SQL untuk menghapus field pada sebuah tabel adalah sebagai berikut; ALTER TABLE <table_name> DROP COLUMN <field_name> Modul Praktikum Sistem Basis Data... 54
55 5.5 Menambah dan Menghapus Primary Key dan Foreign Key Menambah kunci utama (Primary Key) pada sebuah tabel dapat dilakukan dengan perintah SQL sebagai berikut; ALTER TABLE <table_name> ADD PRIMARY KEY <column_name>; Sedangkan perintah SQL untuk menambah kunci tamu (Foreign Key) adalah sebagai berikut; ALTER TABLE <table_name> ADD COINSTRAINT <constrain_foreign_name> FOREIGN KEY <constrain_foreign_name> (<field_name_for_foreign_name>) REFERENCES <table_name_reference> (<field_name_for_foreign_name>) [ON DELETE] [RESTRICT ON UPDATE RESTRICT]; E. LANGKAH-LANGKAH PRAKTIKUM Guna membantu pemahaman kita dalam menggunakan perintah-perintah Data Definition Statement (DDS) untuk membuat, merubah, menduplikasi dan menghapus objek Table, lakukan beberapa perintah query berikut ini; a. Masuklah ke MySQL sebagai root; C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u root -h localhost -p Enter password: rootpassword b. Buatlah database ujimhsdb; mysql>create DATABASE ujimhsdb; mysql>use ujimhsdb; c. Buatlah table-table mahasiswa, matakuliah, dosen, jenis ujian dan hasil ujian mahasiswa sebagai berikut; mysql>create TABLE mahasiswa ->(nim VARCHAR(7) NOT NULL PRIMARY KEY, ->nama_mhs VARCHAR(35) NOT NULL, ->kelamin ENUM( L, P ), ->tmp_lahir VARCHAR(35) NOT NULL, ->tgl_lahir DATE NULL DEFAULT , ->alamat VARCHAR(50) NOT NULL); mysql>create TABLE dosen ->(kode_dosen VARCHAR(5) NOT NULL PRIMARY KEY, ->nama_dosen VARCHAR(35) NOT NULL, ->kelamin ENUM( L, P ), ->tmp_lahir VARCHAR(35) NOT NULL, Modul Praktikum Sistem Basis Data... 55
56 ->tgl_lahir DATE NULL DEFAULT , ->alamat VARCHAR(50) NOT NULL); mysql>create TABLE jenisujian ->(kode_ujian VARCHAR(3) NOT NULL PRIMARY KEY, ->nama_ujian VARCHAR(35) NOT NULL); mysql>create TABLE matakuliah ->(kode_mtk VARCHAR(6) NOT NULL PRIMARY KEY, ->nama_mtk VARCHAR(35) NOT NULL, ->sks INT UNSIGNED, ->kode_dosen VARCHAR(5) NOT NULL); mysql>create TABLE hasilujian ->(nim VARCHAR(7) NOT NULL, ->kode_mtk VARCHAR(6) NOT NULL, ->kode_ujian VARCHAR(3) NOT NULL, ->nilai INT UNSIGNED); mysql>show TABLES; d. Masukkan data berikut ke masing-masing table yang telah tercipta dengan perintah INSERT INTO. Data yang dimasukkan adalah sebagai berikut; Tabel 1: Data Dosen kode_dose nama_dosen kelami tmp_lahir tgl_lahir alamat n n D1001 Roy Markun L Bogor Jl. Mayjend. Sungkono 93 D1002 Ginanjar L Jakarta Jl. Ahmad Yani 100 D1003 Gina Sonia P Bandung Jl. Citarum 53 D1004 Ian Antono L Palembang Jl. Raden Saleh II/42 D1005 Indri Jelita P Bengkulu Jl. Ahmad Yani 21 D1006 Desi Ratnasari P Padang Jl. Mayjend. Panjaitan 45 D2001 Moh. Umar P Malang Jl. Citandui 52 D2002 Aisyah Kamila L Semarang Jl. Panglima Sudirman 15 D2003 Ike Nurjannah P Surabaya Jl. Sidodadi 76 Tabel 2: Data Mahasiswa Nim nama_mhs klm tmp_lahir tgl_lahir alamat Gogon L Medan Jl. Arjono Tukul Arwana L Bogor Jl. Letjend. Sutoyo Timbul L Semarang Jl. Panglima Sudirman Nunung P Manado Jl. Merdeka Barat Rohana P Cianjur Jl. Kesatrian Jujuk P Denpasar Jl. Sarangan Eko L Surabaya Jl. Gajayana IV/621B Basuki L Madiun Jl. Sunan Giri Lilik Sundari P Samarang Jl. Ambarawa 93 Modul Praktikum Sistem Basis Data... 56
57 Tabel 3: Data Jenis Ujian kode_ujian UJR UTS UAS UJP nama_ujian Ujian Reguler Ujian Tengah Semester Ujian Akhir Semester Ujian Perbaikan Tabel 4: Data Matakuliah kode_mtk nama_mtk sks kode_dosen KD_001 Sistem Basis Data 3 D1006 KD_002 Sistem Operasi 3 D2002 KD_003 Sistem Berkas 2 D1004 KD_004 Arsitektur & Organisasi Komputer 3 D1002 KK_001 Algoritma & Pemrograman 1 4 D1001 KK_002 Algoritma & Pemrograman 2 4 D2001 KK_003 Algoritma & Pemrograman 3 2 D1003 KK_004 Pemrograman Clint-Server 3 D1003 KK_005 Pemrograman Berbasis WEB 3 D2003 KK_006 Pemrograman Berbasis WAP 3 D1005 KK_007 Pemrograman Delphi 2 D2001 KK_008 Pemrograman Visual Basic 2 D1005 Tabel 5: Data Hasil Ujian nim kode_mtk kode_ujian nilai KK_003 UJR KK_004 UTS KK_005 UAS KK_006 UJP KK_007 UJR KK_008 UTS KD_001 UJR KD_002 UTS KD_003 UTS KD_004 UAS KK_001 UJP KK_002 UJR KK_003 UTS KD_001 UAS KD_002 UTS KD_003 UAS KD_004 UJP KK_001 UJR KK_002 UTS KK_003 UAS KK_007 UAS KK_008 UJP KD_001 UJR 56 Modul Praktikum Sistem Basis Data... 57
58 nim kode_mtk kode_ujian nilai KD_002 UAS KD_003 UJR KK_007 UJR KK_008 UTS 69 e. Lakukan duplikasi table dengan perintah sebagai berikut; mysql>create TABLE copy_dosen SELECT * FROM dosen; mysql>create TABLE copy_mahasiswa SELECT * FROM mahasiswa; mysql>create TABLE copy_matakuliah SELECT * FROM matakuliah; mysql>create TABLE copy_dosen SELECT * FROM dosen WHERE 0=1; f. Lakukan penggantian nama table dengan perintah sebagai berikut; mysql>alter TABLE copy_dosen RENAME dosen_copy; mysql>rename TABLE dosen_copy TO copy_dosen; mysql>rename TABLE copy_mahasiswa TO mahasiswa_copy, ->matakuliah_dosen TO matakuliah_copy; g. Lakukan penghapusan table dengan perintah sebagai berikut; mysql>drop TABLE copy_dosen; mysql>drop TABLE mahasiswa_copy, matakuliah_copy; h. Lakukan perubahan pada nama field dan tipe datanya dengan perintah sebagai berikut; mysql>create TABLE dosen_copy SELECT * FROM dosen; mysql> ALTER TABLE dosen_copy CHANGE COLUMN nama_dosen nama_dsn -> VARCHAR(45); mysql> ALTER TABLE dosen_copy MODIFY COLUMN nama_dsn CHAR(45); mysql> ALTER TABLE dosen_copy CHANGE COLUMN nama_dsn nama_dosen -> VARCHAR(45); i. Lakukan penambahan field, perubahan urutan field dan penghapusan field dengan perintah sebagai berikut; mysql> ALTER TABLE dosen_copy ADD COLUMN kota VARCHAR(45) AFTER -> alamat, ADD COLUMN telpon VARCHAR(13) AFTER kota; mysql> ALTER TABLE dosen_copy MODIFY nama_dosen VARCHAR(45) FIRST; mysql> ALTER TABLE dosen_copy MODIFY kelamin ENUM( L, P ) AFTER tgl_lahir; mysql> ALTER TABLE dosen_copy MODIFY kode_dosen VARCHAR(5) FIRST; Modul Praktikum Sistem Basis Data... 58
59 mysql> ALTER TABLE dosen_copy DROP COLUMN kota, DROP COLUMN telpon; j. Lakukan penambahan Primary Key dan Foreign Key sebuah Table dengan perintah sebagai berikut; mysql>create TABLE matakuiah_copy SELECT * FROM matakuliah; mysql>alter TABLE matakuliah_copy ADD PRIMARY KEY(kode_mtk); mysql>alter TABLE matakuliah_copy ADD CONSTRAINT FK_kode_dosen ->FOREIGN KEY FK_kode_dosen (kode_dosen) REFERENCES dosen (kode_dosen) ON DELETE RESTRICT ON UPDATE RESTRICT; Modul Praktikum Sistem Basis Data... 59
60 PRAKTIKUM VI PENGAKSESAN DATA TABEL A. LATAR BELAKANG Pada praktikum sebelumnya, telah dilakukan/diujicobakan beberapa perintah dasar pengaksesan data dari sebuah objek Tabel, yang meliputi: SELECT, FROM, WHERE dan ORDER BY, ditambah lagi dengan penggunaan beberapa operator dan kombinasinya (OR, AND, NOT, LIKE, BETWEEN dsb.). Untuk memenuhi kebutuhan akan informasi tertentu, terkadang dibutuhkan suatu format lapoan dalam bentuk terakumulasi (rekapitulasi) berdasarkan kriteria tertentu. Perintah yang dapat memenuhi hal tersebut adalah dengan perintah GROUP BY dan HAVING. Guna membantu pemahaman kita mengenai penggunaan perintah-perintah MySQL lanjutan tersebut, maka kita dapat mengoptimalkan penggunaan database ujimhsdb yang telah kita buat sebelumnya. B. TUJUAN Kompetensi yang diharapkan dapat tercapai setelah melakukan praktikum ini adalah mahasiswa dapat melakukan query data dari beberapa tabel dengan menggunakan perintahperintah SELECT FROM WHERE GROUP BY HAVING ORDER BY C. ALAT-ALAT DAN BAHAN YANG DIGUNAKAN Praktikum ini membutuhkan ketersediaan alat-alat dan bahan praktikum berupa sejumlah perangkat keras (hardware) dan perangkat lunak (software). Hardware dan software yang dibutuhkan sebelum melakukan praktikum ini adalah; Modul Praktikum Sistem Basis Data... 60
61 1. Satu komputer yang akan digunakan sebagai Server dan sejumlah komputer yang digunakan sebagai Client dan terhubung dalam jaringan komputer baik dengan menggunakan kabel maupun dengan jaringan tanpa kabel (nirkabel) 2. LCD viewer, whiteboard dan spidol sebagai media presentasi instruktur 3. Software aplikasi MySQL Server 5.0 keatas, MySQL Query Browser D. TEORI DASAR 1. Menampilkan Data dari Banyak Tabel Menampilkan data dari dua tabel atau lebih, mensyaratkan adanya relasi keduanya (antar table-table yang dimaksud). Guna memperjelas teori tersebut, marilah kita lihat skema database ujimhsdb berikut; Table Mahasiswa nim* nama_mhs kelamin tmp_lahir tgl_lahir alamat Table Jenis Ujian kode_ujian* nama_ujian Database Hasil Ujian Mahasiswa Table Hasil Ujian nim** kode_mtk** kode_ujian** nilai Keterangan : * Primary Key ** Foreign Key Table Dosen kode_dosen* nama_dosen kelamin tmp_lahir tgl_lahir alamat Table Matakuliah kode_mtk* nama_mtk sks kode_dosen** Berdasarkan skema tersebut, kita dapat menampilkan data dari table Hasil Ujian, Jenis Ujian, Mahasiswa dan table Matakuliah secara bersamaan, atau kita juga dapat menampilkan data dari table Matakuliah dan table Dosen secara bersamaan. Hal tersebut dimungkinkan karena setiap table yang dimaksud mempunyai hubungan (relasi) secara langsung (berkaitan secara logika), sebagaimana digambarkan pada skema tersebut. Adanya relasi kedua table yang biasanya ditandai oleh adanya field yang identik (baik nama, type data, ukurannya maupun maksud peruntukannya), memungkinkan kita untuk menampilkan data dari keduanya. Sebaliknya, bila tidak ada relasi secara langsung, maka kita tidak dapat menampilkannya. Misalnya antara table Mahasiswa dengan table Dosen Modul Praktikum Sistem Basis Data... 61
62 atau antara table Jenis Ujian dengan table Matakuliah. Untuk lebih jelasnya cobalah contoh berikut; mysql>select matakuliah.kode_mtk, matakuliah.nama_mtk, ->matakuliah.sks, dosen.nama_dosen ->FROM matakuliah, dosen ->WHERE dosen.kode_dosen= matakuliah.kode_dosen; mysql>select matakuliah.kode_mtk, matakuliah.nama_mtk, ->matakuliah.sks, dosen.nama_dosen ->FROM matakuliah, dosen ->WHERE (dosen.kode_dosen=matakuliah.kode_dosen) ->AND (dosen.nama_dosen LIKE in% ); Perintah pertama hanya terdapat 1 syarat, yaitu syarat relasi; WHERE dosen.kode_dosen=matakuliah.kode_dosen; Namun pada perintah kedua sudah terdapat 2 syarat, yaitu syarat relasi dan syarat penyaringan (filter) data, yaitu hanya untuk dosen yang namanya berawalan in ; WHERE (dosen.kode_dosen=matakuliah.kode_dosen) AND (dosen.nama_dosen LIKE in% ); pada syarat kedua inilah, kita dapat mengkombinasikan berbagai operator yang ada sebagai syarat penyaringan (filtering) data, sehingga data yang tampil sesuai dengan yang kita harapkan. Bagaimana bila yang direlasikan lebih dari dua table?, misalnya akan menampilkan data dari table Hasil Ujian, Jenis Ujian, Mahasiswa, Matakuliah dan table Dosen sekaligus. Hal yang perlu diperhatikan dalam merelasikan dua table atau lebih, adalah bagaimana kita menentukan table acuan, yang bertindak sebagai penyedia data dasar acuan bagi table yang berelasi. Biasanya yang menjadi table acuan adalah table transaksional yaitu tabel yang mengandung kunci tamu (foreign key) dan bukan table master yang hanya mengandung kunci utama (primary key). Kalau kita lihat skema database ujimhsdb, maka yang paling layak menjadi table acuan adalah table hsl_ujian. 2. Menggunakan Nama Alias pada Kolom dan Tabel Nama alias dapat digunakan sebagai pengganti judul kolom atau pengganti nama table. Penggantian judul kolom mapun nama table, biasanya bertujuan untuk memperjelas ataupun memperpendek penyebutan judul kolom maupun nama table. Contoh berikut menunjukkan penggunaan nama alias pada judul kolom dan nama tabel; Modul Praktikum Sistem Basis Data... 62
63 mysql>select matakuliah.kode_mtk AS Kode Matakuliah, ->matakuliah.nama_mtk AS Nama Matakuliah, ->matakuliah.sks AS SKS, dosen.nama_dosen AS Nama Dosen ->FROM matakuliah, dosen ->WHERE dosen.kode_dosen = matakuliah.kode_dosen; mysql>select mtk.kode_mtk, mtk.nama_mtk, ->mtk.sks, dsn.nama_dosen ->FROM matakuliah AS mtk, dosen AS dsn ->WHERE dsn.kode_dosen = mtk.kode_dosen; 3. Menggunakan perintah GROUP BY dan HAVING Perintah GROUP BY digunakan untuk mengelompokkan data berdasarkan kriterian tertentu. Pengelompokan data dilakukan untuk menemukan hasil-hasil aggregasi seperti mencari total jumlah, banyaknya data dan nilai rata-rata dengan suatu kriteria. Perintah HAVING digunakan untuk melakukan penyaringan data (data filtering) terhadap data hasil pengelompokan data. Penyaringan data terhadap data hasil pengelompokan data tidak dapat dilakukan dengan perintah WHERE. Perintah WHERE walau tidak secara khusus digunakan untuk menyaring data, namun WHERE dapat digunakan sebagai alat penyortir data sebelum dilakukannya proses grouping. Sedangkan perintah HAVING memang secara khusus diperuntukkan sebagai alat penyortir data hasil Grouping E. LANGKAH-LANGKAH PRAKTIKUM Guna membantu pemahaman kita dalam menggunakan nama alias, pengelompokan data dengan perintah GROUP BY dan penyaringan data hasil pengelompokan data dengan perintah HAVING, lakukan beberapa perintah query berikut ini; a. Menyatakan relasi antar tabel dengan WHERE mysql>select matakuliah.kode_mtk, matakuliah.nama_mtk, ->matakuliah.sks, dosen.nama_dosen ->FROM matakuliah, dosen ->WHERE dosen.kode_dosen= matakuliah.kode_dosen; mysql>select matakuliah.kode_mtk, matakuliah.nama_mtk, ->matakuliah.sks, dosen.nama_dosen ->FROM matakuliah, dosen ->WHERE (dosen.kode_dosen=matakuliah.kode_dosen) ->AND (dosen.nama_dosen LIKE in% ); Modul Praktikum Sistem Basis Data... 63
64 mysql>select hsl_ujian.nim, mahasiswa.nama_mhs, matakuliah.nama_mtk, ->matakuliah.sks, dosen.nama_dosen, ujian.nama_ujian, hsl_ujian.nilai ->FROM hsl_ujian, mahasiswa, matakuliah, dosen, ujian ->WHERE (mahasiswa.nim=hsl_ujian.nim) ->AND (matakuliah.kode_mtk=hsl_ujian.kode_mtk) ->AND (ujian.kode_ujian=hsl_ujian.kode_ujian) ->AND (dosen.kode_doesn=matakuliah.kode_dosen); mysql>select H.nim, M.nama_mhs, K.nama_mtk, D.nama_dosen, ->U.nama_ujian, H. nilai ->FROM hsl_ujian AS H, mahasiswa AS M, matakuliah AS K, dosen AS D, ->ujian AS U ->WHERE (M.nim=H.nim) AND (U.kode_ujian=H.kode_ujian) AND ->(K.kode_mtk=H.kode_mtk) AND (D.kode_dosen=K.kode_dosen) AND ->(H.nilai BETWEEN 70 AND 90); b. Menggunakan nama alias pada judul kolom dan nama tabel dengan AS mysql>select mtk.kode_mtk AS Kode Matakuliah, ->mtk.nama_mtk AS Nama Matakuliah, ->mtk.sks AS SKS, dsn.nama_dosen AS Nama Dosen ->FROM matakuliah AS mtk, dosen AS dsn ->WHERE dsn.kode_dosen= mtk.kode_dosen; mysql>select nim, nama_mhs, kelamin, tmp_lahir, tgl_lahir, ->CURRENT_DATE AS tgl_sekarang, ->(YEAR(CURRENT_DATE)-YEAR(tgl_lahir)) AS usia ->FROM mahasiswa; c. Mengelompokkan data dengan GROUP BY dan menyaring data hasil pengelompokan dengan HAVING mysql>select MONTH(tgl_lahir) AS bulan_ke, ->MONTHNAME(tgl_lahir) AS nama_bulan, ->COUNT(*) AS jumlah_lahir ->FROM mahasiswa ->GROUP BY nama_bulan ->HAVING jumlah_lahir>1 ->ORDER BY bulan_ke; mysql>select MONTH(tgl_lahir) AS bulan_ke, ->MONTHNAME(tgl_lahir) AS nama_bulan, ->COUNT(*) AS jumlah_lahir ->WHERE kelamin= L ->FROM mahasiswa ->GROUP BY nama_bulan ->HAVING jumlah_lahir>1 ->ORDER BY bulan_ke; Modul Praktikum Sistem Basis Data... 64
65 F. TUGAS 1. Tampilkan data Dosen (Usia dan Banyak Dosen) untuk setiap Usia yang Ganjil, urut Usia secara Descending 2. Tampilkan data Dosen (Bulan Lahir dan Banyak Dosen) untuk setiap Bulan Kelahiran yang Genap, urut Bulan Lahir secara Ascending 3. Tampilkan data Hasil Ujian (Kode Ujian, Banyak Mahasiswa dan Jumlah Nilai) dan data Jenis Ujian (Nama Ujian) untuk setiap Jenis Ujian yang Jumlah Nilainya antara 1200 hingga 1300, urut Jumlah Nilai secara Descending 4. Tampilkan data Hasil Ujian (Kode Ujian, Banyak Mahasiswa dan Jumlah Nilai) dan data Jenis Ujian (Nama Ujian) untuk setiap Jenis Ujian yang Nilainya diatas 70 dan Jumlah Nilainya antara 300 hingga 500, urut Jumlah Nilai secara Ascending 5. Tampilkan data Hasil Ujian (Kode Ujian, Banyak Mahasiswa dan Jumlah Nilai) dan data Jenis Ujian (Nama Ujian) untuk setiap Jenis Ujian yang Nilainya antara 70 hingga 95, Jumlah Nilainya antara 300 hingga 500 dan Banyak Mahasiswanya yang Genap, urut Jumlah Nilai secara Descending 6. Tampilkan data Jenis Kelamin dan Total Mahasiswa untuk setiap Jenis Kelamin dari table Mahasiswa, urut Total Mahasiswa secara Ascending 7. Tampilkan data Tempat Lahir dan Total Mahasiswa untuk setiap Tempat Kelahiran dari table Mahasiswa, urut Total Mahasiswa secara Descending 8. Tampilkan data Tahun Lahir dan Total Mahasiswa untuk setiap Tahun Kelahiran dari table Mahasiswa, urut Tahun Lahir secara Ascending 9. Tampilkan data Kode Ujian, Total Mahasiswa untuk setiap Kode Ujian dari table Hasil Ujian, urut Kode Ujian secara Ascending 10. Tampilkan data Kode Ujian dan Total Mahasiswa untuk setiap Kode Ujian dari table Hasil Ujian, urut Kode Ujian secara Ascending 11. Tampilkan data Kode Ujian, Total Mahasiswa dan Jumlah Nilai untuk setiap Kode Ujian dari table Hasil Ujian, urut Jumlah Nilai secara Descending 12. Tampilkan data Kode Ujian, Jenis Ujian, Total Mahasiswa dan Jumlah Nilai untuk setiap Kode Ujian dari table Hasil Ujian dan Jenis Ujian, urut Jumlah Nilai secara Descending Modul Praktikum Sistem Basis Data... 65
66 13. Tampilkan data Kode Ujian, Jenis Ujian, Total Mahasiswa dan Jumlah Nilai untuk setiap Kode Ujian dari table Hasil Ujian dan Jenis Ujian yang Nilai Ujiannya diatas 70, urut Jumlah Nilai secara Descending 14. Tampilkan data Kode Ujian, Jenis Ujian, Total Mahasiswa dan Jumlah Nilai untuk setiap Kode Ujian dari table Hasil Ujian dan Jenis Ujian yang Nilai Ujiannya diatas 70 dan Total Mahiswanya diatas 3, urut Jumlah Nilai secara Descending 15. Tampilkan data Kode Ujian, Jenis Ujian, Total Mahasiswa dan Jumlah Nilai untuk setiap Kode Ujian dari table Hasil Ujian dan Jenis Ujian yang Nilai Ujiannya antara 70 hingga 95 dan Total Mahasiswanya antara 3 hingga 7, urut Jumlah Nilai secara Descending Modul Praktikum Sistem Basis Data... 66
67 PRAKTIKUM VII SUB QUERY DAN VIEW A. LATAR BELAKANG Sumber data dalam melakukan query data tidak hanya bersal dari objek Tabel semata, namun terkadang untuk keperluan dan alasan tertentu, sumber data dari query data dapat berasal dari sebuah query juga. Query yang digunakan sebagai sumber data sebuah query disebut Sub Query. Sub Query dapat digunakan langsung sebagai sumber data dari sebuah perintah query data, atau didefinisikan menjadi sebuah objek View. Objek View merupakan meta Tabel yang berisikan definisi untuk menghasilkan sejumlah record (record set) yang terdiri dari sejumlah kolom/field yang berasal dari satu atau lebih objek Tabel. Guna membantu pemahaman kita agar dapat membuat dan menggunakan Sub Query dan objek View, diperlukan tindakan uji coba dalam praktikum berikut ini. B. TUJUAN Kompetensi yang diharapkan dapat tercapai setelah melakukan praktikum ini adalah mahasiswa dapat membangun sebuah Sub Query dan menyatakannya sebagai objek View C. ALAT-ALAT DAN BAHAN YANG DIGUNAKAN Praktikum ini membutuhkan ketersediaan alat-alat dan bahan praktikum berupa sejumlah perangkat keras (hardware) dan perangkat lunak (software). Hardware dan software yang dibutuhkan sebelum melakukan praktikum ini adalah; 4. Satu komputer yang akan digunakan sebagai Server dan sejumlah komputer yang digunakan sebagai Client dan terhubung dalam jaringan komputer baik dengan menggunakan kabel maupun dengan jaringan tanpa kabel (nirkabel) 5. LCD viewer, whiteboard dan spidol sebagai media presentasi instruktur 6. Software aplikasi MySQL Server 5.0 keatas, MySQL Query Browser Modul Praktikum Sistem Basis Data... 67
68 D. TEORI DASAR 1. Sub Query Sub query merupakan query yang digunakan dalam sebuah query untuk keperluan tertentu. Sub query biasanya digunakan sebagai sumber data berupa sebuah kumpulan rekord (record set) dari query utamanya, dan bukan menjadi hasil akhir dari perintah query secara keseluruhan. Secara logika, kumpulan rekord (record set) hasil dari sub query menyerupai sebuah tabel utuh yang berdiri sendiri namun tidak secara fisik (tabel maya). Hasil dari sebuah sub query yang menggunakan perintah SELECT dengan berbagai pilihan field yang berasal satu atau banyak tabel, biasanya diletakkan setelah klausa FROM dari bagian query utamanya. Hal tersebut menunjukkan bahwa hasil dari sub query menjadi sumber data bagi query utamanya. Sub query bisa tercipta dalam beberapa level kedalaman sub query. Artinya dalam sebuah sub query bisa saja terdapat sub query di dalamnya (sub sub query). Level kedalaman sub query bisa saja tercipta seiring dengan kompleksitas syarat data yang ingin dihasilkan. 2. Objek View Objek view merupakan tabel virtual (maya) berisi sekumpulan rekord (record set) yang berasal dari satu atau banyak tabel. View sebenarnya adalah sebuah definisi dalam bahasa SQL untuk menghasilkan/melihat sekumpulan rekord (record set) yang berasal dari satu atau banyak tabel. Definisi tersebuat selanjutnya diberi nama atau pelabel. Jika nama atau label tersebut dipanggil maka mesin server database akan menghasilkan sebuah tabel baru yang merupakan tabel maya. Dengan adanya objek view, maka dari sebuah tabel atau gabungan beberapa tabel akan dapat menghasilkan berbagai macam bentuk informasi sesuai dengan format yang dinginkan. Setiap view yang tercipta, akan dipandang sebagai sebuah tabel tersendiri (walaupun sebenarnya tabel maya). Sehingga hanya dengan cara yang sederhana yaitu dengan memanggil view-nya (SELECT * FROM <view_name>), sebenarnya kita telah melakukan akses data dari satu atau lebih tabel yang terdefinisi dalam view yang dimaksud. Sintak dasar membuat objek view adalah dengan perintah SQL sebagai berikut; CREATE [OR REPLACE] VIEW <view_name> AS <select_statement>; Modul Praktikum Sistem Basis Data... 68
69 Perintah CREATE digunakan apabila kita akan membuat sebuah objek view baru, sedangkan tambahan perintah OR REPLACE (pilihan/optional), digunakan jika kita akan membuat view baru dan/atau sekaligus merubah definisi dari view yang dimaksud. Merubah definisi sebuah objek view dapat juga dilakukan dengan memberikan perintah SQL sebagai berikut; ALTER VIEW <view_name> AS <select_statement>; Menghapus keberadaan sebuah objek view dapat dilakukan dengan perintah SQL sebagai berikut; DROP VIEW [IF EXISTS] <view_name>; Penggunaan perintah tambahan IF EXISTS dalam menghapus sebuah objek view, jika view yang dimaksud tidak ada di dalam database, maka perintah penghapusan tidak dianggap salah. E. LANGKAH-LANGKAH PRAKTIKUM Guna membantu pemahaman kita dalam menggunakan nama alias, pengelompokan data dengan perintah GROUP BY dan penyaringan data hasil pengelompokan data dengan perintah HAVING, lakukan beberapa perintah query berikut ini; a. Melakukan query data dari sebuah Sub Query mysql>select DSN.*, ->FROM ->( -> SELECT * -> FROM DOSEN -> WHERE nama_dosen LIKE %A% ->) AS DSN; mysql>select HASIL.nim, HASIL.nama_mhs, HASIL.nama_ujian, HASIL.nilai ->FROM ->( -> SELECT H.nim, M.nama_mhs, K.nama_mtk, D.nama_dosen, U.nama_ujian, -> H.nilai -> FROM hsl_ujian AS H, mahasiswa AS M, matakuliah AS K, dosen AS D, -> ujian AS U -> WHERE (M.nim=H.nim) AND (U.kode_ujian=H.kode_ujian) AND -> (K.kode_mtk=H.kode_mtk) AND (D.kode_dosen=K.kode_dosen) ->) AS HASIL ->WHERE (HASIL.nilai BETWEEN 70 AND 90); b. Membuat dan menghapus objek View Modul Praktikum Sistem Basis Data... 69
70 mysql>create VIEW view_hasil AS -> SELECT H.nim, M.nama_mhs, K.nama_mtk, D.nama_dosen, H.nilai -> FROM hsl_ujian AS H, mahasiswa AS M, matakuliah AS K, dosen AS D, -> WHERE (M.nim=H.nim) AND (K.kode_mtk=H.kode_mtk) -> AND (D.kode_dosen=K.kode_dosen); mysql>create OR REPLACE VIEW view_hasil AS -> SELECT H.nim, M.nama_mhs, K.nama_mtk, D.nama_dosen, U.nama_ujian, -> H.nilai -> FROM hsl_ujian AS H, mahasiswa AS M, matakuliah AS K, dosen AS D, -> ujian AS U -> WHERE (M.nim=H.nim) AND (U.kode_ujian=H.kode_ujian) AND -> (K.kode_mtk=H.kode_mtk) AND (D.kode_dosen=K.kode_dosen); mysql>select HASIL.nim, HASIL.nama_mhs, HASIL.nama_ujian, HASIL.nilai ->FROM view_hasil; ->WHERE (HASIL.nilai BETWEEN 70 AND 90); mysql>alter VIEW view_hasil AS -> SELECT H.nim, M.nama_mhs, K.nama_mtk, D.nama_dosen, U.nama_ujian, -> H.nilai -> FROM hsl_ujian AS H, mahasiswa AS M, matakuliah AS K, dosen AS D, -> ujian AS U -> WHERE (M.nim=H.nim) AND (U.kode_ujian=H.kode_ujian) AND -> (K.kode_mtk=H.kode_mtk) AND (D.kode_dosen=K.kode_dosen); mysql>drop VIEW view_hasil; mysql>drop VIEW IF EXISTS view_hasil; F. TUGAS 1. Tampilkan Jumlah Mahasiswa dan Usia Rata-Ratanya untuk tiap jenis kelamin, dari table Mahasiswa. Format output yang diharapkan Kelamin Jumlah Usia_Rata2 Laki-Laki.... Perempuan Tampilkan Nim, Nama Mahasiswa, Kode Matakuliah, Nama Matakuliah dan Nilai dari Table Hsl_Ujian, Mahasiswa dan Matakuliah. Data diurutkan berdasarkan Nim Modul Praktikum Sistem Basis Data... 70
71 3. Tampilkan Nim, Nama Mahasiswa, Kode Matakuliah, Nama Matakuliah Nilai Uas, Grade (Nilai Abjad), Bobot, Total (Bobot X Sks) dari Table Hsl_Ujian, Mahasiswa dan Matakuliah. Data diurutkan berdasarkan Nim. Format output yang diharapkan Nim Nama Nilai Uas Grade Bobot Total Table Grade Nilai & Pembobotan Nilai Uas Grade Bobot 0 45 E D C C+ 2, B B+ 3, A 4 4. Sama dengan soal no. 3, namun data yang ditampilkan hanya Mahasiswa yang memiliki Nilai C dan C+. 5. Tampilkan Nim, Nama Mahasiswa, Kode Matakuliah, Nama Matakuliah, Sks, Nama Dosen, Nilai Dan Total Nilai (Sks X Nilai) Hanya Untuk Nilai Uts Saja, Dari Table Hsl_Ujian, Mahasiswa, Dosen, Ujian Dan Matakuliah, Yang Nilainya Dibawah Rata- Rata Kelas. Modul Praktikum Sistem Basis Data... 71
72 PRAKTIKUM VIII MANAJEMEN SUMBER DAYA DATA A. LATAR BELAKANG MySQL sebagai sebuah perangkat lunak aplikasi server database, dapat memiliki sumber daya data yang sangat berharga. Sumber daya data tersebut perlu dipelihara keberadaannya, agar dapat digunakan secara optimal. Tindakan pemeliharaan sumber daya data, dapat dilakukan dengan jalan melakukan Backup dan Restoring Data, serta Replikasi/duplikasi server database secara real-time sebagai bentuk upaya menghindari kehilangan sumber daya data yang sangat berharga. Guna membantu tercapainya kompetensi mahasiswa, khususnya dalam melakukan Backup dan Restoring Data, serta Replikasi/duplikasi server database secara real-time, diperlukan tindakan uji coba dalam praktikum berikut ini. B. TUJUAN Kompetensi yang diharapkan dapat tercapai setelah melakukan praktikum ini adalah mahasiswa dapat melakukan Backup dan Restoring Data, serta Replikasi/duplikasi server database secara real-time. C. ALAT-ALAT DAN BAHAN YANG DIGUNAKAN Praktikum ini membutuhkan ketersediaan alat-alat dan bahan praktikum berupa sejumlah perangkat keras (hardware) dan perangkat lunak (software). Hardware dan software yang dibutuhkan sebelum melakukan praktikum ini adalah; 1. Satu komputer yang akan digunakan sebagai Server dan sejumlah komputer yang digunakan sebagai Client dan terhubung dalam jaringan komputer baik dengan menggunakan kabel maupun dengan jaringan tanpa kabel (nirkabel) 2. LCD viewer, whiteboard dan spidol sebagai media presentasi instruktur 3. Software aplikasi MySQL Server 5.0 keatas, MySQL Query Browser dan MySQL Administrator Modul Praktikum Sistem Basis Data... 72
73 D. TEORI DASAR Sebagai penyedia sumber daya data, server database MySQL telah menyediakan perangkat/kakas (tools) untuk mengatur dan mengelola data tersimpan. Pengaturan dan pengelolaan data yang tersimpan di server, ditujukan untuk menjamin ketersediaan data dan keberlangsungannya. Sejak MySQL versi 5.0 diluncurkan, pengembang telah melengkapinya dengan sebuah perangkat lunak yang kompak (terintegrasi), untuk melakukan manajemen sumber daya data. Perangkat lunak (software) yang dimaksud adalah MySQL GUI Tools, yang berisi program-program berikut; MySQL Administration MySQL Migration Toolkit MySQL Query Browser MySQL System Tray Monitor MySQL Workbench Pada pembahasan selanjutnya, akan memanfaatkan program MySQL Administration. Pada program tersebut terdapat kakas (tools) untuk administrasi user/pengguna, proses backup dan restoring data, proses start dan stop service server MySQL, serta proses replikasi server (duplikasi server). Untuk menjalankan program MySQL Administration, pilih urutan menu Start Programs MySQL MySQL Administration. Di layar akan tampil kotak dialog berikut; Gambar 1: Kotak Dialog Login Ke Server Melalui MySQL Administrator Modul Praktikum Sistem Basis Data... 73
74 1. Server Information Pada modul ini terdapat empat bagian informasi mengenai kondisi mesin server dan koneksinya. Gambar 2: Modul Server Information Pada MySQL Administrator Bagian pertama adalah informasi mengenai status server, sedang aktif/running atau tidak. Bagian kedua, merupakan informasi mengenai user yang menjalankan program MySQL Administrator ini. Informasi yang ditampilkan adalah Username, Hostname atau nama host/mesin yang digunakan untuk koneksi ke server dan informasi mengenai Port yang digunakan. Bagian ketiga, menampilkan informasi mengenai versi server MySQL yang digunakan, Network Name dan alamat IP. Pada gambar di atas menunjukkan alamat IP : , dimana alamat IP tersebut menunjukkan bahwa letak server MySQL dan mesin yang digunakan user untuk mengakses server MySQL adalah sama, sehingga Hostname dan Network Name disebut localhost, dan alamat IP yang dikenal adalah Bagian terakhir menampilkan informasi mesin Client. Informasi yang ditampilkan adalah versi Modul Praktikum Sistem Basis Data... 74
75 MySQL Client, Network Name, alamat IP, system operasi yang digunakan serta spesifikasi hardware (tipe CPU dan kapasitas RAM) yang digunakan/terpasang. 2. Service Control Modul program untuk mengatur konfigurasi dan servis server database MySQL. Gambar 3: Modul Servis Control Pada MySQL Administrator 3. User Administration Modul ini dapat digunakan untuk membuat atau menghapus user serta untuk mengatur hak aksesnya. Untuk membuat user baru tekan tombol Add new user, lalu isikan detil data dari user baru yang dimaksud. Data tersebut meliputi MySQL User untuk login name, Password, Confirm Password. Sebagai data tambahan, dapat pula disikan informasi mengenai Full Name, Description, dan Contact Information. Setelah mengisikan data Modul Praktikum Sistem Basis Data... 75
76 yang dimaksud, dan telah yakin kebenarannya, tekanlah tombol Apply changes untuk mengakhiri proses pendaftaran user baru. Untuk merubah password atau informasi lainnya dari seorang user yang telah terdaftar, cukup dengan memilih nama user yang dikasud pada kolom Users Accounts. Isikan Password baru dan Confirm Password-nya serta informasi lainnya. Setelah yakin kebenarannya, tekanlah tombol Apply changes untuk mengakhiri proses. Gambar 4: Bagian User Information Pada Modul User Administration Pada MySQL Administrator Jika suatu saat keberadaan seorang user akan dihapus karena suatu hal, langkah yang dapat dilakukan adalah dengan cara pilih nama user yang dikasud pada kolom Users Accounts. Click kanan dan pilih menu Delete user. Modul Praktikum Sistem Basis Data... 76
77 Gambar 5: Pop-Up Menu untuk Menghapus User Pada User Accounts Bagaian/tabs Schema Privileges, digunakan untuk mengatur hak akses user bersangkutan terhadap satu atau beberapa database tertentu. Hak akses yang dimaksud meliputi hak; Select, Insert, Update, Create, Drop, Grant, Index, Alter dan sebagainya, seperti terlihat pada gambar 31. Untuk memberikan hak akses yang dimaksud, terlebih dahulu pilih/click user pada bagian Users Accounts, lalu pilih/click database pada bagian Schemata. Pada saat sebuah database/schema terpilih, secara otomatis pada bagian Available Privileges akan tampil semua hak akses yang dapat diberikan pada seorang user terhadap database yang dimaksud. Tambahkan atau hilangkan satu atau beberapa hak akses, dengan menekan keempat tombol panah yang terdapat diantara bagian Assigned Privileges dan Available Privileges. Untuk mengakhiri proses pilih/click tombol Apply changes. Pengaturan hak akses user dengan menggunakan fasilitas Schema Privileges dalam modul User Administration ini, hanya dapat digunakan untuk pengaturan hak akses pada level database/schema dan tidak pada level objek di bawahnya (level table, view dsb.), oleh karena itu fasilitas ini dinamakan Schema Privileges. Guna mengabaikan semua perubahan yang telah dilakukan terhadap detil informasi ataupun hak akses seorang user, pilih/click tombol Discard changes. Modul Praktikum Sistem Basis Data... 77
78 Gambar 6: Bagian Schema Privileges dari Modul User Administration Pada MySQL Administrator 4. Backup Data Fasilitas ini dapat digunakan untuk melakukan proses backup data. Hasil dari proses backup data dengan menggunakan fasilitas ini berupa file text, yang selanjutnya dapat dipanggil ulang dengan menggunakan fasilitas restore data. Langkah-langkah untuk proses backup data adalah dengan cara, pilih/click tombol New Project atau dengan memilih/click salah satu berkas proyek pada bagian Backup Projects. Isikan nama proyek pada bagian Project Name untuk maksud penyimpanan berkas proyek di bagian Backup Projects. Tombol Save Project, dapat digunakan untuk menyimpan berkas proyek, yang akan ditampilkan di bagian Backup Projects. Modul Praktikum Sistem Basis Data... 78
79 Gambar 7: Fasilitas Backup Data Pada MySQL Administrator Proses backup data akan dilakukan untuk beberapa database dan objek-objek dibawahnya yang terpilih pada bagian Backup Content. Tambahkan atau hilangkan satu atau beberapa database yang diinginkan, dari/ke bagian Backup Content. Untuk mengeksekusi proses backup data, pilih/click tombol Execute Backup Now dan tentukan nama file backup seperti pada gambar berikut. Modul Praktikum Sistem Basis Data... 79
80 Gambar 8: Proses Backup Data Pada MySQL Administrator 5. Memanggil Ulang (Restore) Data Fasilitas ini dapat digunakan untuk memanggil/meng-copy ulang data tersimpan dalam format text hasil proses bakup data, ke server database MySQL. Proses restoring data ini, dapat dilakukan dengan cara; Aktifkan/pilih fasilitas Restore pada program MySQL Administrator Pilih/click tombol Open Backup File Tentukan file backup yang dimaksud pada kotak dialog Open Pilih/click tombol Open Pilih/click tombol Start Restore Modul Praktikum Sistem Basis Data... 80
81 Gambar 9: Fasilitas Restore Data Pada MySQL Administrator Gambar 10: Proses Restore Data Pada MySQL Administrator Modul Praktikum Sistem Basis Data... 81
82 6. Replikasi Data Replikasi data merupakan proses backup data dari server aktif secara real time dan berlansung secara terus menerus, ke suatu mesin server cadangan. Membuat backup dengan menggunakan fasilitas replikasi (replication), memungkinkan didapatkan backup yang sempurna dari suatu database MySQL yang besar dan aktif, tanpa melakukan penghentian dari server yang bersangkutan. Tanpa replikasi, backup akan memperlambat sistem dan ada kemungkinan data yang tidak konsisten, karena bisa saja satu tabel berubah sementara tabel lain yang berhubungan tidak berubah dan karena sedang di-backup. Mematikan server akan menjamin data yang konsisten, tetapi ini berarti menghentikan layanan pada pengguna dan sangat tidak diharapkan. Kadangkala penghentian ini tidak dapat dihindarkan, tetapi penghentian setiap hari tidak dapat diterima. Metoda alternatif backup data dengan proses replikasi, MySQL menjamin backup sempurna tanpa harus menghentikan server tiap hari. Replikasi merupakan konfigurasi sistem server MySQL, yang memadukan sistem kerja antara Master Server sebagai penyimpan data dan menangani permintaan pengguna, dengan server MySQL yang lain, yang dinamakan Slave Server. Slave Server sendiri, berisi copy data Master Server, dan melakukan semua SQL statement yang mengubah data di Master Server secara real time. Dengan demikian backup dapat dilakukan secara periodik atau secara terus menerus, tanpa harus mematika server utama. Mekanisme untuk melakukan replikasi data, adalah dengan melakukan seting/konfigurasi pada kedua mesin server, baik pada Master Server maupun pada Slave Server. Berikut ini langkah-langkah dalam melakukan konfigurasi proses replikasi data pada kedua mesin server; 7.1 Konfigurasi Pada Master Server Konfigurasi yang harus dilakukan pada mesin Master Server adalah sebagai berikut; Lakukan perubahan seting pada file C:\Program Files\MySQL\MySQL Server 5.0\My.ini, dengan menggunakan program Text Editor Tambahkah skrip berikut pada bagian [mysqld] [mysqld] log-bin=mysql-bin server-id=1 Simpan dan tutup file tersebut Nomer/Id mesin Master Server Modul Praktikum Sistem Basis Data... 82
83 Aktifkan Program MySQL Administrator, dan lakukan sesi login ke server MySQL dengan user root Lakukan restarting server dengan memilih modul Servis Control, kemudian pilih/click tombol Stop Service untuk menghentikan server. Aktifkan kembali dengan pilih/click tombol Start Service. Masuklah ke server MySQL sebagai root melalui program MySQL Query Browser, dengan urutan menu yang dipilih Start Programs MySQL MySQL Query Browser. Masukkan server host, port, user name dan password yang sesuai, serta default schema yang diinginkan. Click OK. Gambar 11: Kotak Dialog Koneksi ke Server Dengan MySQL Query Browser Buatlah user baru melalui interface Query Browser, misalkan dengan nama replikator dan hak aksesnya adalah replication slave. GRANT REPLICATION SLAVE ON *.* TO slave_host atau nomer IP mesin Slave Server IDENTIFIED BY ; merupakan password dari user replikator Jalankan perintah berikut flush privileges; Modul Praktikum Sistem Basis Data... 83
84 show maseter status; Lakukan backup data untuk database yang akan direplikasi. Backup data dapat dilakukan dengan menggunakan modul Backup pada program MySQL Administrator. Dalam contoh berikut, database yang akan direplikasi adalah database/schema test. Gambar 12: Proses Backup Data Lihat status replikasi dengan menggunakan modul Repliction Status pada program MySQL Administrator. Pilih/click tombol Refresh, kemudian catat log file (biasanya mysql-bin.0000xx) dan log pos-nya. Nama log file dan nomer log pos, selanjutnya akan digunakan untuk menyeting mesin Slave Server. Modul Praktikum Sistem Basis Data... 84
85 Gambar 13: Informasi Log File dan Log Pos Pada Modul Replication Status 7.2 Konfigurasi Pada Slave Server Konfigurasi yang harus dilakukan pada mesin Master Server adalah sebagai berikut; Lakukan proses restoring data dari file hasil proses backup data yang telah dilakukan di mesin Master Server. Gunakan modul Restore pada program MySQL Administrator, dan login ke mesin Slave Server sebagai root. Lakukan perubahan seting pada file C:\Program Files\MySQL\MySQL Server 5.0\My.ini, dengan menggunakan program Text Editor. Tambahkah skrip berikut pada bagian [mysqld] [mysqld] server-id=2 master-host= master-port=3306 master-user=replikator master-password=12345 master-connect-retry=60 replicate-do-db=test relay-log=mysql-bin.0000xx Server relay-log-index=mysql-bin.index Nomer/Id mesin Slave Server sesuaikan dengan IP mesin Master Server sesuaikan dengan nomer Port yang digunakan nama user pemilik hak replication slave password user pemilik hak replication slave nama database/schema yang akan direplikasi nama log file yang tercatat di mesin Master Modul Praktikum Sistem Basis Data... 85
86 Simpan dan tutup file tersebut Aktifkan Program MySQL Administrator, dan lakukan sesi login ke server MySQL dengan user root Lakukan restarting server dengan memilih modul Servis Control, kemudian pilih/click tombol Stop Service untuk menghentikan server. Aktifkan kembali dengan pilih/click tombol Start Service. Masuklah ke server MySQL sebagai root melalui program MySQL Query Browser, dengan urutan menu yang dipilih Start Programs MySQL MySQL Query Browser. Masukkan server host, port, user name dan password yang sesuai, serta default schema yang diinginkan. Click OK. Lakukan seting dengan perintah-perintah berikut pada interface Query Browser; stop slave; change master to master_host= , master_user= replikator, master_password= 12345, slave master_log_file= mysql-bin.0000xx, Server master_log_pos=xxx; Server start slave; sesuaikan dengan IP mesin Master Server nama user pemilik hak replication slave password user pemilik hak replication log file yang tercatat di mesin Master log pos yang tercatat di mesin Master Setelah semua langkah-langkah penyetingan dilakukan, baik pada mesin Master Server maupun pada Slave Server dan mesin Slave Server sudah dapat dipastikan aktif, maka semua perubahan data yang terjadi pada mesin Master Server akan berlaku pula pada mesin Server Slave. Modul Praktikum Sistem Basis Data... 86
PRAKTIKUM II TIPE DATA DAN OPERATOR MySQL
PRAKTIKUM II TIPE DATA DAN OPERATOR MySQL A. LATAR BELAKANG Pemahaman yang baik tentang jenis dan karakteristik tipe data dan operator yang ada, akan sangat membantu pengguna dalam melakukan query data
Jenis Data, Kolom, Operator dan Fungsi
Jenis Data, Kolom, Operator dan Fungsi JENIS DATA Secara umum jenis data pada MySQL dibagi menjadi 4 jenis, yaitu: Numeric Values, yaitu angka atau bilangan. String/Character Values, yaitu teks atau karakter.
PRAKTIKUM I MENGGUNAKAN SOFTWARE DATABASE MySQL
PRAKTIKUM I MENGGUNAKAN SOFTWARE DATABASE MySQL A. LATAR BELAKANG Banyak pilihan software yang dapat digunakan untuk belajar manajemen sistem basisdata, khususnya untuk membangun desain database secara
MODUL III STRUCTURED QUERY ANGUAGE (SQL)
MODUL III STRUCTURED QUERY ANGUAGE (SQL) Tujuan : 1. Memahami tentang sistem database 2. Memahami instalasi MySQL di lingkungan Windows 3. Memahami dasar-dasar MySQL. Tugas Pendahuluan 1. Apa yang anda
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.
A. Kompetensi Mahasiswa diharapkan dapat memahami: 1. Pengertian databases, DBMS, MySQL 2. Apa Itu SQL? 3. Membuat, Menampilkan, Membuka dan Menghapus Database 4. Membuat, Mengubah dan Menghapus Table
Kontrak Kuliah. Dasar-dasar MySQL. Edi Sugiarto, S.Kom, M.Kom
Kontrak Kuliah Dasar-dasar MySQL Edi Sugiarto, S.Kom, M.Kom Tipe Data Tipe data numerik Tipe Data Keterangan Ukuran Integer atau int Signed value : -2147683648 hingga 2147683648 4byte Decimal Nilai tergantung
PRAKTIKUM SISTEM INFORMASI MANAJEMEN
MODUL 2 DATABASE Tujuan Praktikum Adapun tujuan dari praktikum modul 2 ini adalah sebagai berikut: a. Mahasiswa diharapkan memahami tentang MySQL b. Mahasiswa dapat membuat database menggunakan MySQL c.
BAB III LANDASAN TEORI. sistematis di dalam komputer yang dapat diolah atau dimanipulasi menggunakan
BAB III LANDASAN TEORI 3.1 Database Database atau basis data adalah kumpulan data yang disimpan secara sistematis di dalam komputer yang dapat diolah atau dimanipulasi menggunakan perangkat lunak (program
MySQL J A M K E T I G A
J A M K E T I G A MySQL l Apa itu MySQL? l Membuat User Baru l Membuat Database l Tipe Data MySQL l Membuat Tabel l Structured Query Language l Latihan Jam Ketiga l Soal Jam Ketiga Jam Ketiga Apa itu MySQL?
Pengenalan Structured Query Language
Pengenalan Structured Query Language Apa Itu SQL? SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk
MODUL 8 Mengoperasikan Perangkat Lunak Basis Data
MODUL 8 Mengoperasikan Perangkat Lunak Basis Data A. TUJUAN Setelah mengikuti kegiatan pembelajaran ini siswa diharapkan mampu: Membuat, membuka, menyimpan, dan menutup software basis data. Menjelaskan
Pertemuan 12 Pengenalan Structured Query Language
Pertemuan 12 Pengenalan Structured Query Language Apa Itu SQL? Membuat, Menampilkan, Membuka dan Menghapus Database Membuat, Mengubah dan Menghapus Table Menambah Record dengan INSERT Mengedit Record dengan
Tutorial Tipe Data MySQL
Tutorial Tipe Data MySQL Benar mendefinisikan field dalam tabel adalah penting untuk optimasi keseluruhan dari database Anda. Anda harus menggunakan hanya jenis dan ukuran lapangan Anda benar-benar perlu
PERINTAH DASAR MySQL
PERINTAH DASAR MySQL Menjalankan MySQL Untuk menjalankan MySQL cukup dengan mengetikan mysql pada system prompt Bentuk umum perintah mysql database h host u user p password Dengan windows Menu Start All
( Dari Ms-DOS windows, diasumsikan mysql client berada pada direktori tersebut.) mysql ( dari Linux). mysql --help
PENGANTAR MYSQL I. Pendahuluan Mysql merupakan salah satu Relational database management system bersifat Open Source. Struktur database disimpan dalam tabel-tabel yang saling berelasi. Karena Sifat Open
MODUL 1 Pengenalan MySQL, DDL, DML
MODUL 1 Pengenalan MySQL, DDL, DML PENGENALAN MYSQL MySQL merupakan salah satu DBMS yang bersifat freeware, sehingga menjadi popular dikalangan pengguna database. Selain karena Free MySQL juga merupakan
PENGENALAN SINTAKS DASAR DALAM MySQL
SMK-TI TRAINING AND CERTIFICATION Modul 3 PENGENALAN SINTAKS DASAR DALAM MySQL Team Training SMK TI 37 SMK-TI TRAINING AND CERTIFICATION Tujuan: Siswa dapat membuat database dan table sederhana yang dilengkapi
Perintah - Perintah Dasar Pada MySQL
Perintah - Perintah Dasar Pada MySQL Bayu Lesmana Putra [email protected] Abstrak Mysql merupakan salah satu Relational database management system bersifat Open Source. Struktur database disimpan
MODUL PRAKTIKUM. MODUL I - VII Modul penuntun dan bahan praktikum matakuliah Basis Data
I - VII Modul penuntun dan bahan praktikum matakuliah Basis Data Jurusan Teknik Informatika Fakultas Teknik Universitas Maritim Raja Ali Haji BASIS DATA DAFTAR ISI I. Pengenalan Basis Data...1 II. Entity
MySQL AL AZHAR COMPUTER CLUB
MODUL Pelatihan Web MySQL AL AZHAR COMPUTER CLUB Oleh : Achmad Fachrie Jakarta, 2006 Al Azhar Computer Club MySQL Dalam melakukan pengembangan aplikasi, salah satu komponen yang terpenting adalah database.
LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL
LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL Diajukan Sebagai Tugas Mata Kuliah Basis Data Oleh: Maulidya Yulianingtyas 1431140013 POLITEKNIK NEGERI MALANG PROGRAM STUDI MANAJEMEN INFORMATIKA MALANG 2015
Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.
1 2 3 Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle. 4 Isilah konfigurasi instalasi yang akan dibuat. Oracle Home Location : biasanya terisi otomatis dgn drive yang paling banyak
SQL MYSQL. Pak Guru Eka 1
SQL SQL (Structured Query Language) merupakan bahasa standar yang telah lama digunakan untuk pengaksesan database. Setiap orang yang tertarik dengan pemrograman, tentunya tidak merasa asing lagi dengan
KURSUS ONLINE JASA WEBMASTERS
KURSUS ONLINE JASA WEBMASTERS SQL Pengenalan Database, SQL, MySQL dan XAMPP JASA WEBMASTERS Jl. Ringin Raya No 124A Condong Catur, Sleman, Yogyakarta Database Database secara singkat dapat diartikan sebagai
Otodidak. MySQL untuk Pemula
Otodidak MySQL untuk Pemula Otodidak MySQL untuk Pemula Jubilee Enterprise PENERBIT PT ELEX MEDIA KOMPUTINDO Otodidak MySQL untuk Pemula Jubilee Enterprise 2017, PT Elex Media Komputindo, Jakarta Hak cipta
IF PEMROGRAMAN LANJUT MENGAKSES DATABASE. Oleh : Andri Heryandi, M.T.
IF34348 - PEMROGRAMAN LANJUT MENGAKSES DATABASE 12 Oleh : Andri Heryandi, M.T. MATERI HARI INI 1. Instalasi Database Server MySQL (XAMPP) 2. Mengaktifkan Database Server 3. Membuka Aplikasi Client MySQL
BAB 4 IMPLEMENTASI DAN EVALUASI. dengan perangkat keras dan perangkat lunak. Berikut adalah spesifikasi
105 BAB 4 IMPLEMENTASI DAN EVALUASI 4.1. Implementasi Dalam implementasi, sistem solusi yang dikembangkan dibangun dengan perangkat keras dan perangkat lunak. Berikut adalah spesifikasi minimum sistem
Sistem Basis Data 1. Pertemuan 5 dan 6 Aljabar Relasional dan SQL Rogayah, ST.,MMSI Untuk 3DB01 dan 3DB04
Sistem Basis Data 1 Pertemuan 5 dan 6 Aljabar Relasional dan SQL Rogayah, ST.,MMSI Untuk 3DB01 dan 3DB04 Bahasa Pada Model data Relasional Menggunakan bahasa query, yaitu pernyataan yang diajukan untuk
Pertemuan 11 Pengenalan DBMS dan MySQL
Pertemuan 11 Pengenalan DBMS dan MySQL Tentang Database, DBMS, dan RDBMS Tentang MySQL Instalasi MySQL di Windows Menjalankan Service MySQL Koneksi ke Server MySQL Berbagai Tools Administrasi Server MySQL
RANGKUMAN PHP dan MYSQL
RANGKUMAN PHP dan MYSQL Sekilas Tentang MySQL Pengenalan Database, DBMS dan RDBMS Basis data (atau database) adalah kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat diperiksa
Tahap Instalasi PostgreSQL di Windows
Tahap Instalasi PostgreSQL di Windows 1. Unduh file installer PostgreSQL terbaru dari alamat http://www.enterprisedb.com/productsservices-training/pgdownload#windows 2. Setelah file installer berhasil
Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.
P - 3 Bab 2 : SQL 3.1 Tujuan Mahasiswa mengetahui & memahami mengenai aplikasi server MySQL, akses terhadap MySQL, Client MySQL, tipe data dan operasi DDL pada SQL. 3.2 Materi 1. Aplikasi Server MySQL
LAPORAN PRAKTIKUM PENGANTAR TEKNOLOGI INFORMASI DATABASE
LAPORAN PRAKTIKUM PENGANTAR TEKNOLOGI INFORMASI DATABASE Disusun oleh : Cephi Prasintasari KOMSI E (12/332452/DPA/01167) Fakultas SV MIPA Universitas Gadjah Mada Yogyakarta 2012 TABLE OF CONTENT I. PENDAHULUAN
Instalasi & Konfigurasi MySQL Server
Instalasi & Konfigurasi MySQL Server 1. Download MySQL Download MySQL Community Server 5.6 dari : http://dev.mysql.com/downloads/mysql/ Pada halaman berikutnya, pilih MySQL Installer yang berukuran besar
MODUL VII DATABASE DAN MICROSOFT SQL SERVER 2000
MODUL VII DATABASE DAN MICROSOFT SQL SERVER 2000 1. Database Database atau basis data adalah kumpulan data yang disimpan secara sistematis di dalam komputer dan dapat diolah atau dimanipulasi menggunakan
Manajemen User Pada MySQL
Manajemen User Pada MySQL Pendahuluan Pada saat instalasi MySQL terdiri dari dua cara : a. Menggunakan paket aplikasi MySQL ( window atau Linux) b. Menggunakan aplikasi gabungan yaitu xampp / wamp Jika
DATABASE SQL SERVER. Database SQL Server Halaman 1
1 DATABASE SQL SERVER Objektif: Mengetahui sejarah SQL Server 7.0 Mengengetahui perbedaan SQL Server dengan Microsoft Access Mengenal program bantu yang ada di SQL Server 7.0 Mengetahui cara membuat database
Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL
SQL Basis Data 1 Apakah SQL? SQl singkatan dari Structured Query Language yang merupakan bahasa komputer standar ANSI (American National Standards Institute). Dengan SQL kita dapat Membuat basis data dan
MENGOPERASIKAN PERANGKAT LUNAK BASIS DATA
MENGOPERASIKAN PERANGKAT LUNAK BASIS DATA 07 MATA DIKLAT : KETERAMPILAN KOMPUTER DAN PENGELOLAAN INFORMASI PROGRAM KEAHLIAN : SEMUA PROGRAM KEAHLIAN DEPARTEMEN PENDIDIKAN NASIONAL DIREKTORAT JENDERAL PENDIDIKAN
By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com
Pengantar SQL By Mrs Imana Malia Kondou, S.T. 1 Tujuan Mahasiswa memahami konsep dasar SQL 2 Pokok k Bahasan Statemen Macam-macam macam perintah SQL DDL DML 3 Mengapa SQL? SQL mrpk very-high-level language.
Kontrak Kuliah. Pengantar Mysql. Edi Sugiarto, S.Kom, M.Kom
Kontrak Kuliah Pengantar Mysql Edi Sugiarto, S.Kom, M.Kom Apa itu MySQL? Mysql adalah RDBMS yang didistribusikan secara gratis mulai 1996 dibawah lisensi GPL (General Public License) namun dikembangkan
MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL
MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA 2011 PENGENALAN DATABASE MYSQL Praktikum ke-1 A. Pengenalan MySQL MySQL merupakan software yang tergolong sebagai DBMS (Database Management System) yang bersifat
WEB DINAMIS 1 MANAJEMEN DATABASE MYSQL. Agustina Purwatiningsih., S.Kom
WEB DINAMIS 1 MANAJEMEN DATABASE MYSQL Agustina Purwatiningsih., S.Kom 1 Pendahuluan Seperti yang dijelaskan pada pertemuan pertama, web dinamis merupakan web yang di desain agar konten yang terdapat dalam
Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data
Kompetensi Dasar Setelah mengikuti kegiatan proses belajar mengenai Pengenalan SQL, mahasiswa dapat mendefinisikan dan memanipulasi sistem basis data menggunakan bahasa SQL dengan tepat Tujuan Pembelajaran
BAB IV PEMBAHASAN. dapat dilakukan dengan memasukkan IP address sesuai dengan IP address yang telah
BAB IV PEMBAHASAN Pada bab pembahasan ini akan dibahas tentang hasil dari Kerja Praktek yang telah dibuat berdasarkan materi yang didapat dari berbagai buku sehingga terbentuk menjadi sebuah web dan dapat
INSTALLATION CHECKING
INSTALLATION CHECKING PT.Technomatic Cipta Mandiri IT division: Jl. Cikutra Baru Raya No.2 Bandung-40124 Telp./Fax.: 022 70051771; 7219761 INSTALLATION CHECKING INSTALLATION CHECKING Informasi pada dokumen
LAPORAN TUGAS BASIS DATA I
LAPORAN TUGAS BASIS DATA I Disusun untuk Memenuhi Tugas Matakuliah Basis Data I yang dibimbing oleh Bapak Muhammad Zainal Arifin Oleh : KATYA LINDI CHANDRIKA 140535605307 UNIVERSITAS NEGERI MALANG FAKULTAS
A. INSTALLASI SOFTWARE
A. INSTALLASI SOFTWARE 1. Masukkan CD Program ke dalam CD ROM 4. Isikan username dan Organization, Next 2. Next untuk melanjutkan 5. Pilih Typical, Next 3. Pilih I accept the terms in the licence agrement,
Pemrograman Web Lanjut 2017
Praktikum 7 Basis data (database) dapat dikatakan sebagai sekumpulan data yang disimpan, saling berhubungan, dan diorganisasi secara bersama. Perangkat lunak yang dapat digunakan untuk mengolah basis data
Modul 2 Manajemen Database (User, Group, Database)
Modul 2 Manajemen Database (User, Group, Database) 1.1 Tujuan a. Mahasiswa dapat mngenal security database b. Mahasiswa dapat mengenal manajemen database 1.2 Materi a. Manajemen Database b. Manajemen Security
Praktikum Sistem Basis Data MYSQL. Gentisya Tri Mardiani, S.Kom
Praktikum Sistem Basis Data MYSQL Gentisya Tri Mardiani, S.Kom MySQL merupakan Database Server yang bersifat : Open Source Multiplatform Berbasis database relasional Bisa dipakai untuk database pribadi
Apa itu DDL & DML? Semua perintah SQL dibagi dalam 2 kategori besar sesuai fungsinya, yaitu :
Bahasa Basis Data Data Definition Language (DDL) Interactive Data Manipulation Language (DML) Transaction Control Embedded and Dinamic SQL, contoh C,C++,Java, Cobol, Pascal, etc. Authorization, untuk mendefinisikan
STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)
STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL) A. Pengenalan SQL SQL pertama kali diterapkan pada sistem R (sebuah proyek riset pada laboratorium riset San Jose, IBM). Kini SQL juga dijumpai
MODUL I PENGENALAN MYSQL
MODUL I PENGENALAN MYSQL A. TUJUAN Mengenal DBMS MySQL dan penggunaannya untuk pengelolaan basis data. Mampu memanfaatkan command-line (client) MySQL. Memahami operasi-operasi DDL dan DML di MySQL B. PETUNJUK
ADMINISTRASI USER. I. Konfigurasi User Root mysql> Show Databases; mysql> Use Mysql; mysql> Show Tables; mysql> Select user,host,password from user;
ADMINISTRASI USER I. Konfigurasi User Root mysql> Show Databases; mysql> Use Mysql; mysql> Show Tables; mysql> Select user,host,password from user; Memberikan Pasword terhadap User Root mysql> UPDATE user
MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom
MySQL Databases Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom DDL (Data Definition Language) Definisi DDL Adalah merupakan sub bahasa
INSTALLATION GUIDE INSTALLATION GUIDE. PT.Technomatic Cipta Mandiri. IT division: Jl. Cikutra Baru Raya No.2 Bandung-40124
INSTALLATION GUIDE PT.Technomatic Cipta Mandiri IT division: Jl. Cikutra Baru Raya No.2 Bandung-40124 Telp./Fax.: 022 70051771; 7219761 INSTALLATION GUIDE INSTALLATION GUIDE MailTracking merupakan sebuah
A. INSTALLASI SOFTWARE
A. INSTALLASI SOFTWARE 1. Masukkan CD Program ke dalam CD ROM 3. Pilih Next 4. Pilih direktori tempat penyimpanan lalu tekan, Lanjut 2. Next untuk melanjutkan 5. Pilih Typical, Next B. LOGIN PROGRAM 1.
Tutorial Singkat MySQL Menggunakan AppServ versi for Windows
Tutorial Singkat MySQL Menggunakan AppServ versi 2.5.5 for Windows Setelah Proses Instalasi AppServ selesai, secara default AppServ akan menyediakan bundel beberapa program untuk membangun sebuah server
2.1 Instalasi Joomla Secara Lokal
Instalasi Joomla Sebelum belajar membuat web, kita perlu menginstal perangkat lunak yang dibutuhkan oleh Joomla. Sebenarnya Anda dapat menginstal perangkat lunak komponen Joomla secara terpisah, tetapi
PETUNJUK INSTALASI RETAIL OPERATIONS
PETUNJUK INSTALASI RETAIL OPERATIONS Dari CD MyRetail Operations pilih install MySQL 5. Saat trdapat dialog pertama kali pilih Complete dan tekan Next Kemudian dilanjutkan dialog seterusnya seperti pada
MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA
MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA PENGANTAR SQL TINGKAT DASAR Basisdata atau database adalah kumpulan dari
BEKERJA DENGAN MYSQL. 1.2 Instalasi MySQL Instalasi atau pemasangan basis data MySQL berbeda untuk setiap sistem
BEKERJA DENGAN MYSQL 1.1 Apa itu MySQL? MySQL ( dibaca dengan mai-es-ki-el atau juga mai-se-kuel) adalah suatu perangkat lunak basis data relasi (Relational Basis data Management System atau RDBMS), seperti
Menampilkan Data/Tabel MySQL di Ms.Access
Menampilkan Data/Tabel MySQL di Ms.Access Setiaji [email protected] http://www.kodokijo.net Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas
MODUL 4 INTERNET PROGRAMMING DATABASE
MODUL 4 INTERNET PROGRAMMING DATABASE A. Tujuan : 1. Memahami tentang penggunaan Ms. Access 2. Memahami tentang pembuatan tabel 3. Memahami tentang relasi antar tabel INTERNET PROGRAMMING PENS-ITS B. Dasar
Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.
Praktikum Basis Data By. Rita Wiryasaputra, ST., M. Cs. SQL: DDL (Data Definition Language) Create Database Create Table Create View Create Index Alter Database Alter Table Alter View Drop Database Drop
Mengenal Pemrograman PHP7 Database untuk Pemula
Mengenal Pemrograman PHP7 Database untuk Pemula Sanksi Pelanggaran Pasal 113 Undang-Undang Nomor 28 Tahun 2014 tentang Hak Cipta 1. Setiap Orang yang dengan tanpa hak melakukan pelanggaran hak ekonomi
SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG
M O D U L S Q L SISTEM BASIS DATA 2 Disusun oleh : Siti Yuliyanti, ST SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG Jl. Brigjen Katamso No.92 Km 2.5 Tanjungpinang Kepulauan Riau November 24, 2010 SQL
BERMAIN DATA DENGAN SQL SERVER
BERMAIN DATA DENGAN SQL SERVER BERKENALAN DENGAN SQL SERVER DBMS merupakan suatu sistem perangkat lunak yang memungkinkan pengguna komputer untuk membuat, memelihara, mengontrol, serta mengakses data pada
Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL
Pengenalan Database Management System MySQL Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL 2 Jelaskan perbedaan antara data dengan informasi 3 Data vs.
STRUCTURE QUERY LANGUAGE (SQL)
STRUCTURE QUERY LANGUAGE (SQL) Structure Query Language (SQL) adalah bahasa query standar yang digunakan untuk mengakses basis data relasional. SQL mempunyai kemampuan sebagai berikut : a. Query (memperoleh
Modul 1 Pengenalan Struktur dan Tabel
Modul 1 Pengenalan Struktur dan Tabel 1.1 Tujuan a. Mahasiswa dapat mengenal mysql b. Mahasiswa dapat membuat sebuah tabel dan strukturnya 1.2 Materi a. mysql b. Struktur dan Tabel 1.3 Alat dan Bahan a.
Pemrograman Basis Data Berbasis Web
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata MySQL) Noor Ifada S1 Teknik Informatika - Unijoyo 1 Sub Pokok Bahasan MySQL? Tipe data field Operator
Petunjuk Teknis Instalasi MySQL dan Penempatan File Database SIKI
Petunjuk Teknis Instalasi MySQL dan Penempatan File Database SIKI Langkah 1 dari 20 : Langkah pertama silahkan anda membuka website www.lpjk.net dan silahkan anda klik pada menu tampilan donwload SIKI
PENGERTIAN DATABASE MySQL
PENGERTIAN DATABASE MySQL RAHMAT AMIN [email protected] Abstrak Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai
SISTEM KEAMANAN PADA MYSQL
SISTEM KEAMANAN PADA MYSQL Untuk keamanan pada MySQL, kita harus mengatur hak akses (privilage) dari setiap user karena tidak semua user dibolehkan untuk mengakses data yang ada. Cara kerja sistem privilege
Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng
Sistem Basis Danny Kriestanto, S.Kom., M.Eng SQL Introduction Setelah Membuat ERD dan Model Relasional, what s next? Bagaimana cara membangun entitas dan relationship tersebut agar dapat digunakan? Bagaimana
Manajemen Data dengan Database MySQL Supriyono, M.Kom
Manajemen Data dengan Database MySQL Supriyono, M.Kom 05/03/2015 By : Supriyono, M.Kom 1 Pendahuluan MYSQL adalah aplikasi database yang berbasis client server. Aplikasi service berjalan tanpa menampilkan
DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.
DATABASE - MySQL Muhammad Zen S. Hadi, ST. MSc. Objectives Tujuan: Memahami perintah-perintah dasar DDL dan DML Contents Database DBMS Relational model SQL MySQL MySQL yang support ke relational model
MENGOPERASIKAN PERANGKAT LUNAK BASIS DATA
MENGOPERASIKAN PERANGKAT LUNAK BASIS DATA 07 MATA DIKLAT : KETERAMPILAN KOMPUTER DAN PENGELOLAAN INFORMASI PROGRAM KEAHLIAN : SEMUA PROGRAM KEAHLIAN DEPARTEMEN PENDIDIKAN NASIONAL DIREKTORAT JENDERAL PENDIDIKAN
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. meletakan sistem sehingga siap untuk dioperasikan. Implementasi bertujuan untuk
5.1. Implementasi BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM Setelah sistem dirancang dan di desain secara rinci, maka selanjutnya menuju tahap implementasi. Implementasi sistem merupakan tahap meletakan
MODUL II NORMALISASI DATA
MODUL II NORMALISASI DATA Tujuan : Mampu membangun desain logika basis data relasional untuk menghasilkan struktur tabel yang normal. PrePraktikum 1. Apakah yang anda ketahui tentang normalisasi? 2. Mengapa
KSI B ~ M.S. WULANDARI
1 MODUL II : QUERY Pengertian Query Query artinya pertanyaan atau penyelidikan. Dalam database, query adalah permintaan akan kumpulan data tertentu. Jenis-jenis query 1. Select query Select query digunakan
A. INSTALLASI SOFTWARE
A. INSTALLASI SOFTWARE 1. Masukkan CD Program ke dalam CD ROM 4. Isikan username dan Organization, Next 2. Next untuk melanjutkan 5. Pilih Typical, Next 3. Pilih I accept the terms in the licence agrement,
Buku Petunjuk Instalasi Aplikasi Sistem Informasi Kearsipan Dinamis (SIKD) Versi 2.0
Buku Petunjuk Instalasi Aplikasi Sistem Informasi Kearsipan Dinamis (SIKD) Versi 2.0 Daftar Isi Halaman Tentang Instalasi SIKD versi 2.0... 3 Spesifikasi Kebutuhan Teknis Minimum... 4 Langkah-langkah Instalasi
Data Manipulation Language (DML) & Data Control Language (DCL) pada Database
Data Manipulation Language (DML) & Data Control Language (DCL) pada Database Karunia Suci Lestari [email protected] :: http://ksucilestari97.wordpress.com Abstrak Setelah artikel sebelumnya membahas
Untuk Terminal Services diperlukan instalasi, sedangkan untuk Remote Desktop hanya diperlukan aktivasi program terserbut.
TERMINAL SERVICES DAN REMOTE DESKTOP Terminal Services dan Remote Desktop adalah komponen Windows yang dapat digunakan pemakai komputer yang terhubung dalam jaringan agar dapat menggunakan program Windows
Operasi Dasar MySQL Menggunakan CLI(Command Line Interface)
Operasi Dasar MySQL Menggunakan CLI(Command Line Interface) M.Fendi Kurniawan [email protected] http://www.sipiyuku.web.id Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi
PRAKTIKUM SISTEM BASISDATA
PRAKTIKUM SISTEM BASISDATA Disusun Oleh : Hanung Riyadi (12131264) SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER (STMIK) EL RAHMA 2014 NAMA : HANUNG RIYADI NIM : 12131264 PRAKTIKUM SISTEM : PBSD KELAS : MALAM
PostgreSQL for Windows
PostgreSQL for Windows Panduan Instalasi 1. Download PostgreSQL release terbaru di http://www.postgresql.org/download/windows 2. Berikut ini merupakan tampilan awal ketika installer dijalankan, lalu klik
Kata Pengantar... vii Daftar Isi... ix Pendahuluan... xi Bab 1 Sejarah Server-Based Computing... 1
DAFTAR ISI Kata Pengantar... vii Daftar Isi... ix Pendahuluan... xi Bab 1 Sejarah Server-Based Computing... 1 Bab 2 Berkenalan dengan Citrix MetaFrame... 9 2.1 Cara Kerja Windows Terminal Server...10 2.2
MENGENAL FTP (FILE TRANSFER PROTOCOL)
MENGENAL FTP (FILE TRANSFER PROTOCOL) 1. Pengenalan FTP dan Software yang digunakan. 1) Pengenalan FTP Dalam sebuah jaringan komputer dalam area lokal maupun yang terkoneksi dengan internet seringkali
Berikut ini merupakan langkah-langkah untuk menjalankan aplikasi sms gateway ini :
Cara Menjalankan Program Berikut ini merupakan langkah-langkah untuk menjalankan aplikasi sms gateway ini : 1. Instal Apache2triad 5.4 dengan cara klik 2 kali pada Apache2triad 5.4 pada folder software
KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL
KapitaSelekta KapitaSelekta (KBKI82127, 2 sks) Materi : Pengenalan MySQL Mohon Perhatian TUGAS DIKUMPULKAN PROGRAM AKAN DIPERIKSA DI KOMPUTER MASING- MASING Sub Materi : 1. Pengenalan MySQL (Part-1) 1.
I. INSTALLASI SOFTWARE
I. INSTALLASI SOFTWARE 1. Masukkan CD Program ke dalam CD ROM 4. Isikan username dan Organization, Next 2. Next untuk melanjutkan 5. Pilih Typical, Next 3. Pilih I accept the terms in the licence agrement,
BAB IV DESKRIPSI KERJA PRAKTEK
BAB IV DESKRIPSI KERJA PRAKTEK 4.1 Operasi Jam Kerja Praktek Sebelum dikerjakan selama laporan KP dalam mendapatkan pengumpulan data akan diselesaikan laporan masalah kerja praktek yang dilakukan dengan
Praktek Pemrograman Web
Praktek Pemrograman Web dwi sakethi [email protected] http://www.dwijim.wordpress.com 0816-403-432 25 Mei 2012 seratan meniko dipun ketik ngangge L A TEX 1 Daftar Isi 1 Praktek #1-Menginstal XAMPP 3 1.1
Sistem Basis Data. Prepared by LittleRadita STMIK- AUB Surakarta
Sistem Basis Data Prepared by LittleRadita STMIK- AUB Surakarta MySQL termasuk ke dalam Relational Database Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public
M O D U L K U L I A H
M O D U L K U L I A H Basis Data PENGANTAR Selamat datang di zone belajar basis data!! Saya bersyukur bisa menyelesaikan modul ini tepat pada waktunya untuk digunakan sebagai pelengkap bahan ajar materi
Pengenalan Web Server dan Server Side Scripting
Pengenalan Web Server dan Server Side Scripting Web Server merupakan sebuah perangkat lunak dalam server yang berfungsi menerima permintaan (request) berupa halaman web melalui HTTP atau HTTPS dari klien
