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. sqlyog b. XAMPP c. phpmyadmin 1.4 Prosedur Praktikum a. Peserta membaca dan mempelajari materi praktikum sebelumny a b. Instruktur menerangkan dan menjelaskan teori dan cara kerja c. Peserta mempraktikan materi percobaan d. Peserta membuat penyelesaian terhadap soal latihan 1.5 Teori Pengenalan Database Basi s Data: Himpunan kelompok data (arsip) yang saling berhubungan, yang diorganisasi sedemikian rupa, sehingga kelak dapat dimanfaatkan kembali dengan cepat. Komponen Sistem Basis Data: a. Perangkat Keras (Hardware) Komputer, memori, storage (Harddisk), peripheral, dll. b. Sistem Operasi (Operating System) Program yang menjalankan sistem komputer, mengendalikan resource komputer dan melakukan berbagai operasi dasar sistem komputer. c. Basis Data (Database) Menyimpan berbagai obyek dat abase (struktur tabel, indeks,dll) d. DBMS (Database Management System) Perangkat lunak yang memaintain data dalam jumlah besar. e. Pemakai (User) Para pemakai database. f. Aplikasi (perangkat lunak) lain. Program lain dalam DBMS. Bahasa Ba si s Data DBMS merupak an perantara anta ra us er dengan database. Cara komunikasi diatur dalam suatu bahasa khus us yang telah ditetapkan oleh DBMS. Cont oh: SQL, dBase, QUEL, dsb. Bahasa database, dibagi dalam 2 bentuk: - Data Definition Language (DDL) Digunakan dalam membuat tabel baru, indeks, mengubah tabel, menetukan struktur tabel, dsb. - Data Manipulation Language (DML) a.Digunakan dalam memanipulasi dan pengambilan data pada database. b.Manipulasi dat a, dapat mencakup: - Pemanggilan data yang tersimpan dalam database (query ) - Penyisipan/penambahan data baru ke database - Penghapusan data dari database - Pengubahan data pada dat abase client ANTARMUKA BERBENTUK FORM isian: ___ pass: * * * *
Nama Variabel dan Nilai
PROGRAM PEMROSES
DATABASE
Menurut Wikipedia.org, MySQL adalah Relational Dat abas e Management System(RDBMS ) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifa t closed source atau komersial. Karena sifatnya y ang open source dan memiliki kemampuan menampung kapasitas yang sangat besar, maka MySQL menjadi dat abas e yang sangat populer di kalangan programmer web. Pada awalnya MySQL dikembangkan oleh sebuah perusahaan S wedia yang pada saat itu bernama Tc X DataKonsult AB, dan pada akhirnya berubah nama menjadi MySQL AB. Sekitar tahun 19941995, Tc X membuat database MySQL untuk mengembangkan aplikasi web bagi klien -nya. Tc X merupakan perus ahaan pengembang software dan konsultan database. Michael Widenius atau disebut “Monty” adalah pengembang s atu-satunya di Tc X. Dengan berlandaskan p ada aplikasi UNIREG dan rutin ISAM yang dibuat sendiri. Dia memutuskan untuk mencari antarmuka S QL yang sangat tepat untuk ditempelkan diatasnya. Awalnya dia menggunakan mSQL(mini Structure Query Language). Dia beranggapan bahwa mS QL merupakan sat u-satunya kode database open source yang tersedia dan cukup sederhana saat itu. Namun s etelah dia melakukan uji coba, ternyata mS QL tidak cukup cepat dan fleksibel. Dan pada versi pertama mSQL tidak memiliki indeks. Setelah itu dia menghubungi David Hughes sebagai pembuat mSQL, namun karena David tengah sibuk dalam mengembangkan versi 2 mSQL, maka dia memutuskan untuk membuat s endiri mesin SQL yang antarmukany a mirip dengan SQL, namun memiliki kemampuan yang lebih sesuai kebutuhan, sehingga lahirlah MySQL. Pada bulan Mei 1996, MySQL versi 1.0 berhasil dirilis secara terbatas hanya untuk 4 orang saja. Namun di bulan Oktober pada tahun yang sama versi 3.11.0 dilepas ke publik. Namun mula-mula kode ini tidak diberikan di bawah lisensi GPL (General Public License), melai nkan lisensi khusus yang intinya source code MySQL dapat dilihat dan gratis, serta server MySQL dapat dipakai tanpa biaya tetapi hanya untuk kebutuhan nonkomersial. Untuk kebutuhan komersial harus membayar lisensi. Pada bulan Juni 2000, MySQL AB mengumumkan bahwa sejak versi 3.23. 19, MySQL adalah merupakan soft ware databas e yang bebas berlisensi GPL. Pada versi awal, MySQL hanya berjalan di Linux dan Solaris dan juga masih banyak terdapat kelemahan walau s udah dapat digunakan untuk aplikasi web sederhana, namun belum memadai untuk aplikasi bisnis. Pada tahun 1998 -1999, yaitu pada versi 3.22, MySQL menjadi semakin popular dan dilirik orang karena kestabilan dan kecepatan yang meningkat. Pada versi 3.22 inilah MySQL sudah tersedia untuk plat form Windows. Menurut Wikipedia. org, MySQL memiliki beberapa keistimewaan, antara lain: 1. Portability MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. 2. Open Source MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL s ehingga dapat digunakan secara cuma-cuma. 3. Multiuser MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 4. Performance tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat mempros es lebih banyak SQL per satuan waktu. 5. Column types MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain. 6. Command dan functions MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam query. 7. Security MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host , dan izin akses user dengan sistem perizinan yang mendet ail serta password terenkripsi. 8. Scalability dan limits MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 9. Connectivity MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). 10. Localisation MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahas a Indonesia belum termasuk didalamnya. 11. Int erface MySQL memiliki int erface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (A pplication Programming Interface). 12. Clients dan tools MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disert akan petunjuk online. 13. Struktur tabel MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTE R TABLE, dibandingkan database lainnya semacam PostgreSQL ataupun Oracle. Instalasi MySql Instalasi mysql di lingkungan Windows : 1. Ekstrak file mysql-4.0.18-win ke folder sement ara, misal C:\dat a_mysql 2. Klik Setup untuk memulai instalasi 3. Klik next, sampai ada tampilan seperti berikut : Pastikan Destination Folder di C:\mysql
4. 5. 6. 7.
8.
Klik next, pilihlah yang : Typical. Klik next, maka instalasi akan dimulai dan klik finish. Dari Windows Explorer, buka folder C:\mysql\bin Klik 2x file winmysqladmin.exe, isikan : Username : root Password : root Klik OK, dan di kanan bawah ak an muncul tanda ikon WinMySql.
Dasar-Da sar MySql Dalam bahasa SQL pada umumny a informasi tersimpan dalam tabel -tabel yang secara logik merupakan struktur dua dimensi terdiri dari baris (row atau record) dan kolom (column atau field). Sedangkan dalam sebuah dat abase dapat terdiri dari beberapa table. Beberapa tipe data dalam MySQL yang sering dipakai:
Constraint Constraint adalah batasan atau aturan yang ada pada table. MySQL menyediakan beberapa tipe constraint berikut : • NOT NULL Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi nilai NULL. Kolom yang befungsi sebagai kunci primer (primary key) otomatis tidak boleh NULL. • UNIQUE Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data dengan data lainnya namanya tidak boleh sama, misal alamat email. • PRIMARY KEY Constraint PRIMARY KEY membentuk key yang unik untuk suatu table. • FOREIGN KEY FORE IGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu table, dimana kolom ters ebut juga dimiliki oleh table yang lain sebagai suatu PRIMA RY KEY, bias a dipakai untuk menghubungkan antara 2 tabel.
Membuat, Menampil kan, Membuka dan Menghapus Databa se Membuat Database Sintaks umum SQL unt uk membuat, suatu database adalah sebagai berikut : CREA TE DA TABASE [IF NOT E XIS TS] nama_database; Bentuk perintah di atas akan membuat sebuah database baru dengan nama nama_database. Aturan penamaan sebuah database sama seperti aturan penamaan sebuah variabel, dimana secara umum nama database boleh terdiri dari huruf, angk a dan under-score (_). Jika dat abase yang akan dibuat sudah ada, maka akan muncul pesan error. Namun jika ingin otomatis menghapus
database yang lama jika sudah ada, aktifkan option IF NOT E XIS TS.Setiap kita membuat database baru, maka sebenarnya MySQL akan membuat suatu folder (direktori) sesuai dengan nama databasenya yang ditempatkan secara default di C:\mysql\data. Di dalam folder ters ebut nantinya akan terdapat file-file yang berhubungan dengan tabel dalam dat abase. Perintah lain untuk mengelola database, antara lain : SHOW DATABASE; USE DATABASE; DROP DATABASE [IF EXISTS] NAMA_DATABASE Contoh Pembuatan Tabel : Misalkan kita ingin menyimpan data anggota yaitu: nomor, nama, email, alamat, kota. Sedangkan strukturnya seperti tabel dibawah ini :
Perintah MySQL unt uk membuat tabel seperti diat as bisa dengan 2 cara sbb :
create table anggota ( nomor int(6) not null primary key, nama char(40) not null, email char(255) not null, alamat char(80) not null, kota char(20) not null );
create table anggota ( nomor int(6) not null, nama char(40) not null, email char(255) not null, alamat char(80) not null, kota char(20) not null, primary key (nomor) );
1.6 Latihan 1. Perhatikan Pysichal Database Model (P DM) diatas. Buatkan Bentuk Entity Relation (E RDiagram) dari Model diatas. (waktu 60 menit dan dikumpulkan) 2. Implementasikan PDM diatas dengan menggunak an mySQL.