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 sebelumnya 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 Basis 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 database (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 sis Data DBMS merupakan perantara antara user dengan database. Cara komunikasi diatur dalam suatu bahasa khusus yang telah ditetapkan oleh DBMS. Contoh: 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 data, dapat mencakup: - Pemanggilan data yang tersimpan dalam database (query) - Penyisipan/penambahan data baru ke database - Penghapusan data dari database - Pengubahan data pada database client ANTARMUKA BERBENTUK FORM isian: pass: * * * * Nama Variabel dan Nilai PROGRAM PEMROSES DATABASE
Menurut Wikipedia.org, MySQL adalah Relational Database 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 bersifat closed source atau komersial. Karena sifatnya yang open source dan memiliki kemampuan menampung kapasitas yang sangat besar, maka MySQL menjadi database yang sangat populer di kalangan programmer web. Pada awalnya MySQL dikembangkan oleh sebuah perusahaan Swedia yang pada saat itu bernama Tc X DataKonsult AB, dan pada akhirnya berubah nama menjadi MySQL AB. Sekitar tahun 1994-1995, TcX membuat database MySQL untuk mengembangkan aplikasi web bagi klien-nya. TcX merupakan perusahaan pengembang software dan konsultan database. Michael Widenius atau disebut Monty adalah pengembang satu-satunya di TcX. Dengan berlandaskan pada aplikasi UNIREG dan rutin ISAM yang dibuat sendiri. Dia memutuskan untuk mencari antarmuka SQL yang sangat tepat untuk ditempelkan diatasnya. Awalnya dia menggunakan msql(mini Structure Query Language). Dia beranggapan bahwa msql merupakan satu-satunya kode database open source yang tersedia dan cukup sederhana saat itu. Namun setelah dia melakukan uji coba, ternyata msql 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 sendiri mesin SQL yang antarmukanya 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), melainkan 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 software database yang bebas berlisensi GPL. Pada versi awal, MySQL hanya berjalan di Linux dan Solaris dan juga masih banyak terdapat kelemahan walau sudah 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 platform 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 sehingga 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 memproses 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 mendetail 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, bahasa Indonesia belum termasuk didalamnya. 11. Interface MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 12. Clients dan tools MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online. 13. Struktur tabel MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER 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 sementara, misal C:\data_mysql 2. Klik Setup untuk memulai instalasi 3. Klik next, sampai ada tampilan seperti berikut : Pastikan Destination Folder di C:\mysql 4. Klik next, pilihlah yang : Typical. 5. Klik next, maka instalasi akan dimulai dan klik finish. 6. Dari Windows Explorer, buka folder C:\mysql\bin 7. Klik 2x file winmysqladmin.exe, isikan : Username : root Password : root 8. Klik OK, dan di kanan bawah akan muncul tanda ikon WinMySql.
Dasar-Da sar MySql Dalam bahasa SQL pada umumnya 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 database 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 FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu table, dimana kolom tersebut juga dimiliki oleh table yang lain sebagai suatu PRIMARY KEY, biasa dipakai untuk menghubungkan antara 2 tabel. Membuat, Menampilkan, Membuka dan Menghapus Databa se Membuat Database Sintaks umum SQL untuk membuat, suatu database adalah sebagai berikut : CREATE DATABASE [IF NOT EXISTS] 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, angka dan under-score (_). Jika database 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 EXISTS.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 tersebut nantinya akan terdapat file-file yang berhubungan dengan tabel dalam database. 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 untuk membuat tabel seperti diatas 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 (PDM) diatas. Buatkan Bentuk Entity Relation (ER- Diagram) dari Model diatas. (waktu 60 menit dan dikumpulkan) 2. Implementasikan PDM diatas dengan menggunakan mysql.