Jurnal Basis Data MySQL
Jurnal Basis Data MySQL
DOSEN PENGAMPU :
Ms. Sulistianingsih S.Kom
Kata pengantar
Assalammualaikum Wr.Wb.
Puji syukur kita ucapkan kehadirat Allah SWT yang telah memberikan rahmatnya kepada kami,
sehingga kami dapat menyelesaikan makalah diskusi ini dengan sesempurna mungkin. Tidak
lupa pula shalawat dan beriringkan salam kita hadiahkan kepada Nabi kita Muhammad SAW.
Makalah ini kami perbuat sedemikian rupa dalam rangka menyelesaikan tugas Struktur Data
Pemrograman. Semoga makalah singkat ini dapat berguna bagi kita semua. Kami sadar masih
terdapat banyak kesalahan dalam kata yang kami perbuat, untuk iitu kami mohon pembaca
memakluminya.
Medan, 3 Desember 2015
Daftar isi
BAB I PENDAHULUAN
1.1 Latar Belakang
Basis data adalah sekumpulan informasi yang diatur agar mudah dicari. Dalam arti umum
basis data adalah sekumpulan data yang diproses dengan
memungkinkan data dapat diakses dengan mudah dan tepat, yang dapat digambarkan sebagai
aktifitas dari satu atau lebih organisasi yang berelasi.
Sedangkan pengertian MySQL sendiri adalah Database Management System
(DBMS) MySQL merupakan sistem manajemen basis data SQL yang sangat terkenal dan
bersifat Open Source. MySQL dibangun, didistribusikan, dan didukung oleh MySQL AB.
MySQL AB merupakan perusahaan komersial yang dibiayai oleh pengembang MySQL.
1.2 Tujuan Praktikum
Peserta praktikum memahami konsep sistem basis data.
Peserta praktikum memahami dasar-dasar MySQL.
Peserta praktikum memahami laporan MySQL yang terdapat pada laporan praktikum ini.
1.3 Manfaat
Dari praktikum ini dapat kita dapat mengetahui bahwa dengan adanya basis data
mempermudah kita dalam menyimpan berbagai informasi dan data-data yang penting.
sebelum sistem database muncul, data dalam suatu organisasi disimpan dalam bentuk sistem
berkas. Pada sistem seperti ini berkas umumnya menjadi milik seseorang atau
departemen/unit tertentu. Akibatnya, data yang tersimpan dalam berkas tersebut tidak dapat
diakses oleh yang lain yang menggunakan komputer berbeda. Nah, kehadiran DBMS
membuat data bisa digunakan oleh banyak orang bahkan dalam waktu yang bersamaan.
Namun, kita juga tidak perlu hawatir kalau data tersebut termasuk data pribadi dan tidak
menginginkan orang lain mengetahuinya, karena DBMS memberikan fasilitas yang berguna
untuk mengatur akses terhadap data. fasilitas ini memungkinkan data tertentu hanya bisa
diakses oleh orang tertentu. Sebagai konsekuensinya, setiap pemakai perlu mengakses sistem
dengan menggunakan identitas pemakai (biasa disebut nama pemakai atau user name) yang
dilengkapi dengan password.
key array nnya. Adapun mysql_fetch_object outputnya berupa object, namun yang saya pakai
disini adalah yang array.
SELECT
SELECT adalah perintah untuk memanggil data yang ada didalam sebuah tabel. Adapun
syntaxnya adalah sebagai berikut
SELECT *|field1,field2,field3,... from nama_tabel [kondisi]
NB: simbol artesik/bintang (*) sama artinya memanggil semua field tanpa terkecuali. Untuk
pemanggilan field-field tertentu saja dapat langsung disebutkan nama fieldnya
Dari syntax di atas, kita asumsikan bahwa kita mempunyai sebuah tabel siswa dengan kolomkolom: NIS,Nama,Gender,Kelas dengan data kira-kira seperti berikut
No
1
2
3
4
5
NIS
030411021
030411092
030411047
030411017
030411025
Nama
Aat Surahat
Beno Sudrajat
Cepi Rohmat
Novi Andaresi
Niar Wahyuni
Gender
P
L
L
P
P
Kelas
X-1
X-2
X-1
X-3
X-3
Kalo kita ingin mengambil semua data yang ada di tabel siswa tanpa terkecuali, gunakan
perintah seperti berikut!
<?php
mysql_connect("localhost", "root", "") or die("Gagal koneksi...");
mysql_select_db("test") or die("Tidak bisa membuka database");
<th>>Nama</th>
<th>Gender</th>
<th>Kelas</th>
</tr>";
$sql = mysql_query("SELECT * from siswa");
while($data = mysql_fetch_array($sql)){
echo "<tr>
<th>$data[NIS]</th>
<th>>$data[Nama]</th>
<th>$data[Gender]</th>
<th>$data[Kelas]</th>
</tr>";
}
echo "</table>";
?>
Dengan perintah di atas, maka semua data akan dipanggil (dipanggil semua baris), adapun field
yang ditampilkan adalah tergantung keperluan (pada contoh di atas field dipanggil semua)
Yang berikutnya adalah cara mengambil beberapa data saja. Perhatikan contoh berikut!
<?php
mysql_connect("localhost", "root", "") or die("Gagal koneksi...");
mysql_select_db("test") or die("Tidak bisa membuka database");
Nama
Novi Andaresi
Niar Wahyuni
Gender
P
P
Kelas
X-3
X-3
Jika kita melihat script di atas, ada yang saya garisbawahi, yakni where kelas='X-3'. Apakah
fungsinya? Di dalam query SQL, khususnya di MySQL where adalah suatu cara mempersempit
data yang ditampilkan dengan memberikan kondisi seperti halnya if di PHP. Adapun syntaxnya
secara umum adalah sebagai berikut!
SELECT ... where field<kondisi><nilai yang dibandingkan>
Keterangan:
field: nama field yang akan dicari kondisi nilainya
kondisi: kondisi perbandingan yang bisa diisi dengan sama dengan (=), kurang dari (<), lebih
dari (>), kurang dari atau sama dengan (<=), lebih dari atau sama dengan (>=) dan tidak sama
dengan (!=)
nilai yang dibandingkan: yakni nilai dari perbandingan yang disesuaikan dengan kondisi
Perlu diperhatikan, bahwasanya jika field yang ditampilkan dikondisikan perbandingan angka
maka nilai yang dibandingkan ini boleh tidak pakai petik, namun jika yang dibandingkan adalah
sebuah string atau data tanggal, maka diharuskan menyertakan petik pada nilainya. Perhatikan
contoh berikut ini!
<?php
mysql_query("SELECT * from siswa where kelas='X-3'"); // nilai field kelas adalah string
mysql_query("SELECT * from laporan_penjualan where qty_barang>5") // nilai field
qty_barang adalah numerik
?>
INSERT
INSERT adalah perinta untuk melakukan input data kedalam tabel. Syntax dasar insert dapat
dilihat seperti di bawah ini:
INSERT into namaTabel(field1,field2,field3,...) VALUES('nilai 1','nilai 2','nilai 3',...)
Sekedar mengingatkan saja, karena saya pribadi pernah mengalami suatu hal yang mulanya bikin
saya bingung, dan kali ini akan saya coba share kepada sahabat AJN semuanya yakni seputar
data yang di-insert kedalam tabel. Jadi, ketika kita melakukan insert data ke MySQL inputannya
harus diperhatikkan dan perlu diparsing (difilter) untuk menjaga keamanan data. Istilah yang
dikenal dari proses SQL query secara paksa (hack) adalah mysql inject. Sebagai contoh, kita
tidak bisa meng-insert data yang mengandung petik satu kedalam tabel tanpa difilter. Untuk
memfilter data yang diinput (kalo inputan ketikan bebas oleh user via input text atau textarea)
adalah menggunakan fungsi mysql_real_escape_string($string). Dengan demikian data yang
diinput menjadi aman dan terhindar dar injeksi.
Yuk kita lihat contoh berikut
<?php
$nis = $_POST['nis'];
$nama = mysql_real_escape_string($_POST['nama']);
$gender = $_POST['gender'];
$kelas = $_POST['kelas'];
mysql_query("INSERT into siswa(NIS,Nama,Gender,Kelas)
VALUES('$nis','$nama','$gender','$kelas')");
?>
UPDATE
Berbeda halnya dengan SELECT, query update ini bekerja dibalik layar dan tidak menampilkan
hasil apapun karena update bukanlah perintah tetapi merupakan proses. Untuk syntax update ini
dapat dilihat di bawah ini
UPDATE namaTabel set field1='nilai baru field1', field2='nilai baru field2', field3='nilai baru
field3',... [kondisi where]
Keterangan: field1,field2, field3, dst: nama field yang ingiin diupdate nilainya (disesuaikan
dengan nama field pada tabel) kondisi where: sifatnya optional, namun bila tanpa kondisi semua
data akan diupdate, jadi harap berhati-hati!
NB: harap diperhatikan.... dalam penggunaan query UPDATE ini saya sangat menganjurkan
untuk memberikan kondisi. Kenapa demikian? Karena bilai kita tidak mempersempit kondisi
maka semua data akan ikut keupdate atau keubah. Bayangkan, bila kita mempunyai data
sebanyak 2000 data, lalu kita ingin mengubah data ke 780, namun kita kelupaan memberikan
kondisi where, maka yang terjadi adalah semua data (yang 2000 baris) itu akan semuanya
keupdate. Sayang kan udah cape-cape input eh keubah gitu aja, hilang deh. Contoh detailnya
adalah ketika tabel siswa sudah lengkap semua mulai kelas X sampai kelas XII. Lalu data ke 100
ternyata salah, ditabel kelasnya adalah XI-IPA-1, padahal harusnya XI-BAHASA, maka yang
kita lakukan adalah membuat script seperti di bawah ini!
<?php
mysql_query("UPDATE siswa set kelas='XI-BAHASA' where NIS='13141159");
mysql_query("UPDATE siswa set kelas='XI-BAHASA'");
?>
Query pertama adalah query yang benar, dimana data yang NIS-nya 13141159 akan diubah data
kelasnya menjadi XI-BAHASA. Adapun query kedua adalah query yang fatal salahnya,
kenapa? bila query tersebut dijalankan maka seluruh data di tabel siswa kelasnya akan menjadi
'XI-BAHASA' meskipun datanya 2000 data siswa. Jadi, kembali saya ingatkan, harap berhatihati dengan query UPDATE. Kasus ini masih saja terjadi, mungkin akibat kurang jeli dalam
mengecek, atau terlalu terburu-buru atau penyebab lainnya. Yang pasti UPDATE tanpa where
adalah merubah semua data yang ada di tabel tersebut. Kecuali kalau kita memang menginginkan
update untuk seluruh data pada tabel.
DELETE
Untuk query DELETE ini kasusnya sama dengan UPDATE, namun yang membedakan adalah
fungsinya. DELETE pada query MySQL berfungsi untuk menghapus data (satu baris atau lebih)
jika where yang diberikan adalah spesifik, dan tentu akan menghapus semua data di tabel jika
tidak ditambahkan where. Syntax DELETE ini adalah seperti berikut
DELETE from namaTabel [kondisi where]
Yuk kita lihat dari contoh berikut!
<?php
mysql_query("DELETE from siswa where NIS='13141159");
mysql_query("DELETE from siswa where kelas='XI-BAHASA'");
mysql_query("DELETE from siswa");
?>
Query pertama akan menghapus data yang NIS-nya 13141159 saja (1 baris), adapun untuk query
kedua adalah menghapus semua data yang kelasnya adalah XI-BAHASA (beberapa baris data
siswa). Sedangkan query ketiga akan menghapus semua data siswa (tabel jadi kosong)
/sbin/chkconfig httpd on
/sbin/chkconfig --add mysqld [ini tidak diperlukan di FC4 keatas]
/sbin/chkconfig mysqld on
# mysql version
3. Masuk ke MySQL
Ketikkan mysql pada sistem agar kita bisa masuk ke dalam database MySQL.
masih belum bisa masuk ya klo gitu ketikkan mysql -u root -p
4. Melihat Database
Untuk melihat database apa yang di MySQL, ketikkan:
Ingat: nama_database dirubah menjadi nama database sesuai dengan anda. Dalam tutorial
6. Menggunakan Database;
Untuk menggunakan database yang ada di MySQL, ketikkan perintah:
Karena kita telah membuat database latihan, maka kita akan menggunakan database ini,
sehingga perintah tersebut menjadi:
7. Membuat Table
Di dalam database latihan, kita akan membuat tabel-tabel dengan format:
Tipe-tipe data pada MySQL bermacam-macam dan dapat dilihat lengkap di sini.
panjang_karakter merupakan jumlah karakter maksimum yang ditampung di dalam sebuah
field. Kali ini, kita akan membuat tabel alamat yang berisi field no, nama, alamat, kota,
telepon.
8. Melihat Table
Untuk melihat table yang sudah kita buat, ketikkan perintah:
Namun, untuk melihat sebuah table yang lebih lengkap beserta tipe-tipe datanya, ikuti
format berikut:
Pada perintah ini, tipe_data dan panjang_karakter dapat dirubah. Dalam kasus kita:
Contoh:
maka nama seseorang yang berada di nomor 2 akan berubah menjadi hari irah.
Agar bisa lebih mengerti dengan pembahasan ini, cobalah tambah beberapa data seperti
pada poin 13 dengan beberapa field memiliki nilai yang sama. Karena untuk melihat
table memiliki banyak format, maka kita bisa melihat sebuah tabel dengan berbagai
macam cara, seperti:
Contoh:
Contoh:
> select nama, telepon from alamat;
Contoh:
> select nama from teman where kota='jakarta';
Contoh:
> select distinct kota from teman;
Contoh kita akan menampilkan data yang dimulai dari baris kedua sampai keenam,
maka perintahnya adalah:
> select * from teman limit 2,6;
f. Mengurutkan data
Format:
> select nama_field_yang_mau_ditampilkan from nama_table order by nama_field
klausa;
Klausa format ini ada 2 yaitu asc yaitu akan mengurutkan data naik dari yang
terkecil dan desc yaitu kebalikannya.
Opearator_logika disini ada 2 yaitu and dan or. Untuk melihat perbedaan diantara
keduanya, perhatikan gambar dibawah ini:
atau
> exit;
BAB III HASIL PERCOBAAN
1.1 Contoh Program Penjualan
1. Buka Control Panel Xampp (Start - All Program- Xampp)
2. Pastikan Apache dan MySQL Running
3. Masuk ke CMD dan Tuliskan Script berikut :
cd ..
cd ..
cd xampp
cd mysql
cd bin
mysql -u root
4. Bila berhasil ada bacaan 'Welcome to MySQL monitor'. Okeh Kita Lanjutkan dengan
databasenya
5. Create database penjualan;
6. Use penjualan;
11. Bila ingin membuat isinya banyak, Ulangi langkan No.10 tetapi 001 diganti menjadi 002
karna tadi kita mengkasi Primary Key di Kode.
5. Merubah Nama Field : Alter table barang change Nama Nama_Barang varchar(20) not null;
BAB V PENUTUP
Demikianlah yang dapat saya sampaikan mengenai materi yang menjadi bahasan dalam jurnal
ini, tentunya banyak kekurangan dan kelemahan kerena terbatasnya pengetahuan kurangnya
rujukan atau referensi yang saya peroleh hubungannya dengan jurnal ini. Penulis banyak
berharap kepada para pembaca yang budiman memberikan kritik saran yang membangun kepada
saya demi sempurnanya jurnal ini. Semoga jurnal ini dapat bermanfaat bagi penulis dan
pembacanya.
Terima kasih ================================= .