Rabu, 25 Februari 2009

Belajar SQL untuk SMA














UNTUK KELAS XI SEMESTER 2
SMAK 2 BPK PENABUR JAKARTA












BAB I
KONSEP DBMS
( DATABASE MANAJEMEN SYSTEM )

1.1. Pengertian Database
Database Management System (DBMS) berisi satu koleksi data yang saling berelasi dan satu set program untuk mengakses data tersebut. Jadi DBMS terdiri dari Database dan Set Program pengelola untuk menambah data, menghapus data, mengambil dan membaca data.
Berikut ini beberapa istilah dalam Database Managemen System :
- Entity
Merupakan orang, tempat kejadian atau konsep yang informasinya direkam. Pada bidang administrasi siswa misalnya, entity nya adalah siswa, buku, pembayaran, nilai test. Pada bidang kesehatan entity nya adalah pasien, dokter, obat, kamar, diet.
- Atribute / Field
Setiap entity memiliki atribut atau sebutan untuk mewakili suatu entity. Seorang siswa dapat dilihat dari atributnya, misalnya nama, nomor siswa, alamat, nama orang tua siswa, hobby, atribut juga disebut sebagai data elemen, data field, data item. Setiap entity memiliki satu field/atribut atau satu set field kunci.
- Data value (nilai atau isi data)
Merupakan data aktual atau informasi yang disimpan pada tiap data elemen atau atribut. Atribut nama karyawan menunjukkan tempat dimana informasi nama karyawan disimpan, sedang data value adalah Sutrisno, Budiman, merupakan isi nama karywan tersebut.
- Record / Tuple
Merupakan kumpulan elemen yang saling berkaitan menginformasi tentang entity secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang misalnya nomor karyawan, nama karyawan, alamat, kota, tanggal masuk.
- File
Merupakan kumpulan record sejenis yang mempunyai panjang elemen yang sama, atribute yang sama, namun berbeda beda data valuenya
- Database
Merupakan kumpulan file yang mempunyai kaitan antara satu file dengan file yang lain sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan tertentu
Adapun ciri-ciri basis data diantaranya adalah sebagai berikut :
1. Efisiensi meliputi kecepatan, ukuran, dan ketepatan
2. Data dalam jumlah besar.
3. Berbagi Pakai (dipakai bersama sama/Sharebility).
4. Mengurangi bahkan menghilangkan terjadinya duplikasi dan ketidakkonsistenan data.

1.2. Kegunaan Database
Penyusunan satu database digunakan untuk mengatasi masalah-masalah pada penyusunan data yaitu:
- Redudansi dan inkosistensi data
Jika file-file dan program aplikasi diciptakan oleh programmer yang berbeda pada waktu yang berselang cukup panjang, maka ada beberapa bagian data mengalami penggandaan pada file-file yang berbeda. Misalnya: alamat dan nomor telpon dari pelanggan kita tercatat pada file Deposito juga pada file Rekening koran dan juga file nasabah.
Penyimpanan dibeberapa tempat untuk data yang sama ini disebut dengan redudansi dan mengakibatkan pemborosan ruang penyimpanan dan juga biaya untuk mengakses jadi lebih tinggi. Penyimpanan data yang sama berulang-ulang juga dapat mengakibatkan tidak konsisten (inkonsisten). Hal ini dapat terjadi bila nasabah tersebut pindah maka ketiga file tersebut harus diubah /diupdate
- Kesulitan pengaksesan data
Pada suatu saat dibutuhkan untuk mencetak data siapa saja pelanggan yang berada di kode pos 55122 Yogyakarta, pada belum tersedia program untuk mengeluarkan data tersebut dan penyelesaian untuk itu adalah DBMS yang mampu mengambil data secara langsung dengan bahasa yang mudah digunakan (user frienly)
- Isolasi data untuk standarisasi
Jika data tersebar dalam beberapa file dalam bentuk format yang tidak sama, maka ini menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpan data.
- Multiple user (banyak pemakai)
Database dibuat untuk dapat diakses oleh banyak pemakai.
- Masalah keamanan (security)
Tidak setiap pemakai sistem database diperbolehkan untuk mengakses semua data. Misalnya data gaji hanya boleh diakses oleh bagian keuangan dan pimpinan. Keamanan ini dapat diatur lewat program.
- Masalah integrasi (kesatuan)
Database berisi file-file yang saling berkaitan, masalah utama adalah bagaimana kaitan antara file tersebut terjadi. Meskipun kita mengetahui bahwa file A berkaitan dengan file B, namun secara teknis maka ada field kunci yang mengaitkan kedua file tersebut.
- Masalah data independensi (kebebasan data
- Abstraksi Data (data abstraktion)
Kegunaan utama sistem database adalah agar pemakai /user mampu menyusun suatu pandangan abstraksi dari data.

1.3. Data Defenition Language
Data Defenition Language (DDL) adalah pola database dispesifikasikan dengan satu set definisi yang diekspresikan dengan satu bahasa khusus. Hasil kompilasi dari DDL adalah satu set dari tabel yang disimpan dalam file khusus disebut data dictionary/directory. Contoh perintah dalam DDL adalah CREATE, MODIFY REPORT, MODIFY STRUKTURE.

1.4. Data Manipulation Language
DML adalah bahasa yang memperbolehkan pemakai untuk akses atau manipulasi data yang telah diorganisasikan sebelumnya dalam model data yang tepat. DML berarti mengambil informasi yang tersimpan di database, menyisipkan informasi baru ke database dan menghapus informasi dari database. Ada dua tipe DML yaitu Procedural yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan bagaimana untuk mendapatkannya. Dan Non Procedural yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.

1.5. Query
Merupakan pernyataan yang diajukan untuk mengambil informasi. Query adalah bagian DML yang untuk pengambilan informasi, disebut dengan Query Language
1.6. Pengguna Database
Pengguna Database dapat dibedakan berdasarkan tugas atau fungsinya, antara lain :
- Database Manager adalah satu modul program yang menyediakan interface antara penyimpanan data low-level dalam database dengan satu aplikasi program dan query yang diajukan ke sistem.
Tugas dan tanggung jawab Database Manager adalah:
• Interaksi dengan manager file
• Integrity Enforcement (integritas)
• Security Enforcement (keamanan)
• Backup dan recovery
• Concurency Control
- Database Administrator ialah orang yang mempunyai kekuasaan sebagai pusat pengontrolan terhadap seluruh sistem baik data maupun program yang mengakses data tersebut.
Fungsi database Administrator ialah:
• Mendefenisi pola struktur database
• Mendefenisikan struktur penyimpanan dan metode akses
• Mampu memodifikasikan pola dan organisasi phisis
• Memberikan kuasa pada user untuk mengakses data
• Menspesifikasikan keharusan integritas data
- Database User, dibedakan berdasarkan keperluan dan cara aksesnya, yaitu:
o Programmer Aplikasi => profesional komputer yang berinteraksi dengan sistem lewat DML (pembuat Program).
o Casual User => Pemakai yang telah berpengalaman, berinteraksi dengan sistem tanpa, menulis program tetapi memakai bahasa query.
o Naive User => Pemakai yang tidak berpengalaman.
o Specialized User => Pemakai khusus yang menuliskan aplikasi database.

1.7. Aplikasi Database
Saat ini sudah banyak aplikasi database yang dapat ditemui, antara lain : Microsoft SQL, MySQL, dBase III, FoxPro, Ms-Access dll. Untuk pembelajaran, kita akan menggunakan MySQL dikarenakan aplikasi ini merupakan aplikasi database yang handal, lengkap dan dapat diperoleh dengan mudah dan gratis.

1.8. Tipe Data Field
Data yang terdapat dalam tabel berupa field-field yang berisi nilai dari data tersebut. Nilai data dalam field ini memiliki tipe sendiri. Contoh, field nomor karyawan bertipe integer dengan lebar field 10, field nama bertipe character dengan lebar field 100, dan field alamat bertipe varchar dengan lebar field maksimum 255. Dalam database MySQL terdapat beberapa tipe data:
1. Tipe data Numerik
Tipe data numerik dibedakan dalam dua macam kelompok, tipe data integer dan tipe data floating point. Tipe data integer untuk data bilangan bulat dan tipe floating point untuk data bilangan desimal.


Tipe Data Kisaran Nilai Memory
Penyimpanan
TINYINT (-128) s.d 127 atau 0 s.d. 255 1 byte
SMALLINT (-32768) s.d. 32767 atau 0 s.d. 65535 2 byte
MEDIUMINT (-8388608) s.d. 8388607 atau 0 s.d. 16777215 3 byte
INT (-2147683648) s.d. 2147683647 atau 0 s.d. 4294967295 4 byte
BIGINT (-9223372036854775808 s.d 0 s.d. 9223372036854775808 8 byte
FLOAT(X) (-3.402823466E+38) s.d. -1.175494351E-38) 4 byte
FLOAT idem Idem
DOUBLE 0,dan 2.2250738585072014E-308 s.d. 1.7976931348623157E+308 8 byte

2. Tipe data string
Yang termasuk dalam tipe data string adalah:

Tipe Data Kisaran Nilai Memory Penyimpanan
CHAR(M) 1 - 255 char M bytes,1<=M<=255
VARCHAR(M) 1 - 255 char L+1 byte, L<=M dan 1<=M<=255
TINYBLOB, TINYTEXT 1 - 255 char L+1 byte, L<2^8
BLOB, TEXT 1 - 65535 char L+2 byte, L<2^16
MEDIUMTEXT 1 – 16777215 char L+3 byte, L<2^24
LONGTEXT 1 – 4294967295 char L+4 byte, L<2^32
ENUM(’elemen1’,’elemen2’,... Maks 65535 char 1 atau 2 byte, bergantung pd jlh elemen
SET(elemen1,elemen2 Maks 64 elemen 1,2,3,4 atau 8 byte, bergantung pd jlh elemen

3. Tipe Data Tanggal
Tipe Data Kisaran Nilai Memory Penyimpanan
DATETIME 1000-01-01 00:00:00 s.d. 9999-12-31 23:59:59 8 byte
DATE 1000-01-01 s.d. 9999-12-31 3 byte
TIMESTAMP 1970-01-01 00:00:00 s.d. 2037 4 byte
TIME -838:59:59 s.d. 838:59:59 3 byte
YEAR 1901 s.d 2155 1 byte

1.9. Struktur Database
Berikut ini akan digambarkan struktur suatu database:




















Contoh :

Entity / Tabel Pasien

Kd_Pasien Nama Alamat Umur J.Kel
RS0001 Budi Jl. Kran Air No.7 55 L
RS0002 Cahyati Jl. Pintu Air No.11 7 P
RS0003 Mulyanto Jl. Saluran Air No. 55 35 L

Entity / Tabel Obat

Kd_Obat NmObat TglKadaluarsa
Ob0001 Penicilin 5-5-2009
Ob0002 Vitamin C 23-2-2010



Soal Latihan
1 Suatu format yang terdiri dari baris dan kolom yang berisi informasi yang berkaitan satu dengan lainnya adalah….
a table
b record
c field
d attribut
e entity
2 Yang diartikan sebagai identitas spesifik dari sebuah objek adalah
a table
b record
c field
d attribut
e entity
3 Orang, subjek, organisasi yang menghasilkan/memakai informasi adalah…
a attribut
b record
c field
d attribut
e entity
4 Yang bukan merupakan komponen DBMS adalah
a Perangkat keras (Hardware)
b Perangkat lunak (software)
c Debian
d Data
e User
5 Kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer, disebut….
a table
b record
c Database
d attribut
e entity
6 Yang termasuk dalam aplikasi database:…
a Spreadsheet
b DBMS
c Network Database
d MySQL
e Operational Database
7 Mempercepat penyimpanan dan pengambilan data, termasuk dalam keuntungan..
a Database
b Tabel
c Entity
d DBMS
e Record
8 Manakah aplikasi database dari program-program berikut ini…
a SQL
b Ms-Word
c Ms-Excel
d GIMP
e Open Office Writer
9 Ciri-ciri basis data adalah berikut ini, kecuali
a Efisiensi meliputi kecepatan, ukuran, dan ketepatan
b Data dalam jumlah besar
c Berbagi pakai
d Menghilangkan terjadinya duplikasi
e Dapat dikembangkan dengan mudah, baik volume atau strukturnya
10 Berikut ini elemen-elemen utama dari DBMS, kecuali..
a Data description language processor
b Performance Statistic processor
c Query language
d Manager Database
e Modul backup/ recovery
11 Manakah yang bukan tipe database berikut ini…
a Datawarehouse
b Operational DB
c Query Language
d End User DB
e Distributed DB
12 Berikut ini elemen-elemen utama dari DBMS, kecuali..
a Data description language processor
b Performance Statistic processor
c Query language
d Manager Database
e Modul backup/ recovery






















BAB II
MENGGUNAKAN APLIKASI DATABASE MySQL

Saat ini telah banyak perangkat lunak untuk aplikasi database, diantaranya : Ms-Access, dBASEIII, FoxBASE, FoxPRO, PARADOX, Clipper, MySQL dan lainnya. Dalam pembelajaran kita menggunakan aplikasi MySQL. MySQL adalah aplikasi database gratis yang memiliki performa seperti kecepatan yang konsisten, keandalan yang tinggi, kemudahan serta kenyamanan dalam penggunaan dan reliabel.SQL merupakan singkatan dari Structured Query Language. Perangkat lunak ini dapat diperoleh dengan mengundu dari internet (www.mysql.com).
Praktik membangun database menggunakan XAMPP.
XAMPP merupakan paket aplikasi yang terdiri dari Apache server, MySQL database, PERL dan PHP. Untuk praktik membangun database kita membutuhkan MySQL sebagai aplikasi database. MySQL bisa berjalan apabila Apache server telah dijalankan. Untuk menjalankan Apache Server pada Mandriva, dilakukan langkah-langkah berikut ini:
1. Masuk ke jendela Console dengan cara:
- klik Menu > Tools > Console
akan muncul layar hitam pada monitor sebagai jendela Konsole
[xisos1@localhost ~]$
2. Aktifkan Apache Server dengan cara:
- [julianta@localhost ~]$su
Password:
akan muncul pesan meminta Anda untuk memasukkan password, masukkan password. Kemudian akan muncul seperti berikut
[root@localhost julianta]#
3. Posisi Anda dalam sistem operasi saat ini adalah sebagai root atau admin yang memiliki hak penuh terhadap sistem. Selanjutnya masukkan perintah
[root@localhost julianta]# cd..
[root@localhost home]# cd..
[root@localhost /]# cd opt
[root@localhost opt]# lampp/lampp start
4. setelah memasukkan perintah di atas akan muncul tampilan seperti dibawah ini yang menandakan Apche Server dan MySQL telah aktif.
Starting XAMPP for Linux 1.6.6...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.
[root@localhost opt]#
5. Untuk menggunakan aplikasi MySQL, kita perlu sebuah web browser seperti Mozilla. Pada bagian address masukkan perintah http://localhost/phpmyadmin, kemudian akan muncul tampilan sebagai berikut ini:



6. Gambar disamping adalah menu


Gambar jendela perintah SQL. Untuk menampilkan jendela ini, klik menu yang ditunjuk oleh no.2 pada gambar menu di atas. Jendela ini digunakan untuk memasukkan perintah SQL.

















I. Menggunakan database MySQL
I.1. MELIHAT TANGGAL & WAKTU
a. Untuk melihat tanggal didalam MySql anda dapat melakukan dengan rumus
Langkah-langkah:
1. aktifkan Apache Server
2. aktifkan PHPMyAdmin
3. Aktifkan jendela perintah SQL
4. masukkan perintah select curdate();
5. klik tombol
b. Untuk melihat waktu dengan rumus
 select curtime();
Untuk melihat waktu dan sekaligus tanggal, maka tumus yang dituliskan adalah
 select now();
I.2. MYSQL SEBAGAI KALKULATOR
Dengan MySql, kita tidak usah bingung ketika suatu saat kita harus menggunakan alat bantu kalkulator., karena hal ini dapat ditangani langsung oleh MySql tanpa harus membuat program terlebih dahulu. Rumus yang dituliskan adalah
Contoh :
select 5+5();
TUGAS 1
1. Tuliskan hasil perintah melihat tanggal dengan menggunakan MySql
2. Tuliskan hasil perintah melihat waktu dengan menggunakan MySql
3. Tuliskan hasil perintah melihat tanggal dan waktu dengan menggunakan MySql
4. Tuliskan hasil perintah dari 10*5, 5+10, 123-100, 10/3

II. Bekerja dalam lingkungan MySQL
Database adalah kumpulan dari tabel-tabel, dan tabel merupakan kumpulan dari beberapa Field atau column. Untuk membuat suatu table maka seorang user harus membuat database terlebih dahulu. Dengan mengaktifkan database yang dibuat tersebut.
II.1. MELIHAT DATABASE
Untuk melihat database rumus yang digunakan adalah show databases;
Perintah diatas digunakan untuk melihat semua databases yang ada didalam MySql, sedangkan untuk melihat databases yang sedang aktif menggunakan rumus select database();
Untuk menggunakan atau masuk kedalam suatau database rumus yang digunakan adalah
Jika terdapat pesan database changed, berarti anda telah berhasil masuk ke database tersebut, tetapi jika terdapat pesan ERROR 1049:uknown database, berarti anda tidak berhasil masuk ke database tersebut
II.2. MELIHAT TABEL
Untuk melihat tabel yang ada dalam suatu database rumus yang digunakan adalah


III. MEMBUAT DAN MENGHAPUS DATABASE
Aturan penamaan dalam pembuatan database :
1. Jangan menggunakan spasi dan spesial karakter dalam pembuatan nama database
2. Jangan menggunkan angka pada awal pembuatan nama database
Rumus yang digunakan untuk membuat database adalah


Untuk menghapus database yang telah dibuat, rumus yang digunakan adalah


TUGAS 2
1. Tuliskan / gambar hasil perintah melihat semua database yang ada dalam MySql
2. Masuklah kesalah satu database tersebut, kemudian lihatlah database anda menggunakan rumus database yang sedang aktif ) kumudian anda tuliskan hasil dari perintah tersebut
3. Masukklah kedalam database dengan nama database ydhi, apa yang terjadi ? berikan alasan anda
4. Buatlah sebuah database dengan nama tugas2, kemudian lihat database tersebut apakah sudah berhasil anda buat, tuliskan keterangan anda
5. Lihatlah tabel yang ada didalam salah satu database yang ada didalam MySql, kemudian tuliskan hasilnya
6. Haspulah database yang telah anda buat pada perintah no 4, tuliskan hasil dari perintah tersebut kemudian lihat hasilnya apakah database tersebut telah terhapus, tuliskan hasilnya
Secara umum bahasa SQL dibagi menjadi tiga bagian:
1. DDL (Data Definition Language) yang digunakan untuk membangun objek-objek dalam database seperti tabel.
2. DML (Data Manipulation Language) yang digunakan dalam memanipulasi suatu tabel di dalam database (menambah, mengedit, mencari dan menghapus)
3. DCL (Data Control Language) yang digunakan untuk menangani masalah keamanan dalam database server
Ketiga komponen ini bisa digunakan setelah suatu database di aktifkan.

IV. Membuat Tabel
Setelah menciptakan suatu database dan mengaktifkan database tersebut maka dapat dilakukan perintah pembuatan tabel



Untuk bentuk tipe data yang digunakan anda dapat merujuk ke manual MySQL atau mengunjungi manual di http://mysql.com.
Contoh :
create table berita (tanggal date, berita text);
Latihan :
buatlah tabel buku alamat seperti tabel dibawah, tetapi yang perlu dingingat adalah
anda tidak boleh membuat nama tabel atau field yang menggunakan spasi
Tabel buku alamat
Field Type Key
No Int(3)
Nama Varchar(25)
Kd_post Char(5)
Email Varchar(30)
Kemudian tuliskan rumus untuk membuat tabel tersebut :
create table buku_alamat(no int(3),nama varchar(25),alamat varchar(50),Kd_post(5),email varchar(30));
Kemudian lihatlah hasil dari pembuatan tabel tersebut, apakah nama tabel tersebut telah ada
dalam daftar tabel yang ada
IV.1. Melihat Struktur Tabel
Perintah digunakan untuk melihat struktur tabel yang telah dibuat.
Namun sebelumnya, sudah berada pada database yang mempunyai tabel tersebut.
Contoh :
describe produk;
Latihan :
lihatlah struktur tabel yang telah anda buat (buku_alamat), dengan mengtikkan perintah : describe buku_alamat;
IV.2. Mengubah Struktur Tabel
Ada empat macam perubahan dalam struktur tabel, yaitu :
a. Perubahan nama field/kolom
Perubahan yang terjadi hanya pada nama field/kolom saja. Nama field/kolom lama diganti
dengan nama field/kolom yang baru. Struktur penulisan :


Contoh :
alter table toko change buku nama varchar(25);
Latihan :
gantilah field kd_post pada tabel buku_alamat dengan kdpos, dengan mengetikkan
perintah : mysql>alter table buku_alamat change kd_pos kdpos varchar(6);
Lihatlah hasil perubahan dengan menggunakan perintah Melihat Struktur Tabel seperti pada pembahasan diatas
b. Perubahan tipe data
Perubahan yang terjadi hanya pada tipe data yang digunakan oleh field/kolom tertentu. Tipe data baru langsung disebutkan dibelakang nama field/kolom, tanpa harus menyebutkan tipe data lama.
Struktur penulisan :
Contoh :
alter table toko modify nama longtext;


Latihan :
gantilah type data pada field alamat pada tabel buku_alamat dengan type data tex, dengan mengetikkan perintah :
alter table buku_alamat modify alamat tex;
Lihatlah hasil perubahan dengan menggunakan perintah Melihat Struktur Tabel seperti pada pembahasan diatas
c. Penambahan field
Struktur tabel akan berubah dengan bertambahnya field/kolom baru didalamnya.
Struktur penulisan :
Contoh :
alter table supermarket add stok int;
Latihan :
buatlah field baru pada tabel buku_alamat dengan nama field jk type data varchar(2), dengan mengetikkan perintah : mysql>alter table buku_alamat add jk varchar(2);
Lihatlah hasil perubahan dengan menggunakan perintah Melihat Struktur Tabel seperti pada pembahasan diatas
d. Penghapusan field
Struktur tabel mengalami perubahan akibat berkurangnya field/kolom tertentu.
Struktur penulisan :
Contoh :
alter table supermarket drop column stok;
Latihan :
hapuslah field kdpos pada tabel buku_alamat dengan mengetikkan perintah :
alter table buku_alamat drop column kdpos;
Lihatlah hasil perubahan dengan menggunakan perintah Melihat Struktur Tabel seperti pada pembahasan diatas
IV.3. Mengganti Nama Tabel
Penggantian nama tabel meliputi nama tabel itu sendiri. Struktur penulisan :


Contoh :
alter table toko rename supermarket;
Latihan :
rubahlah nama tabel buku_alamat dengan nama alamat, dengan mengetikkan perintah:
alter table buku_alamat rename alamat;
Lihatlah hasil perubahan dengan menggunakan perintah show tables
IV.4. Menghapus Tabel
Tabel dapat saja dihapus karena sudah tidak dibutuhkan lagi,atau terjadi kesalahan.
Struktur penulisan :
Contoh :
drop table supermarket;


Latihan :
hapuslah tabel alamat, dengan mengetikkan perintah : mysql>drop table alamat; Lihatlah hasil perubahan dengan menggunakan perintah show tables
TUGAS 1
1. Buatlah sebuah database akademik, kemudian butlah sebuah tabel mhs seperti berikut :
Field Type Key
No Int(3)
Nim int(10)
Nama Varchar(25)
Alamat Varchar(30)
Jk Varchar(2)
Tlp Varchar(25)
Lihatlah struktur tabel yang telah anda buat denganperintah seperti pembahasan diatas, kemudian tuliskan struktur tersebut
2. Dari pembuatan tabel diatas rubahlah nama field Tlp menjadi HP, lihat struktur tabel dan tuliskan hasilnya.
3. Rubahlah tipe data tabel diatas pada field alamat menjadi tex, lihat struktur tabel dan tuliskan hasilnya.
4. Tambahkan satu field baru dengan nama field nama_ortu type data varchar(25), lihat struktur tabel dan tuliskan hasilnya
5. Hapuslah satu field dari tabel tersebut, lihat struktur tabel dan tuliskan hasilnya serta field apa yang ada hapus
6. Rubahlah nama tabel tersebut dengan nama data_mhs, lihat hasil perubahan dengan perintah melihat tabel yang ada, kemudian tuliskan hasilnya
V. Membuat Field
V.1. Menentukan Kunci Primer (Primary Key)
Secara sederhana kunci primer digunakan untuk menyatakan bahwa suatu nilai tidak boleh ada yang sama dan nilai tersebut harus diisi (NOT NULL).
Penetapan kunci primer dibuat pada saat pembuatan tabel:
create table siswa (NIM varchar(10) not null primarykey,Nama varchar(25),SEX char(1),Alamat varchar(35));
V.2. Memberikan nilai bawaan (Default)
Jika tidak memberikan suatu nilai dalam kolom tertentu maka oleh system secara otomatis diisi dengan nilai NULL. Oleh karena itu pada saat perancangan table field tersebut defaultnya diisi dengan tetapan yang dikehendaki.
create table MatKul (KD_MK varchar(10) not null primary
key,nama_MK varchar(20),SKS int default 0);

VI. Memasukkan Data (Insert)
Ada dua cara yang dapat digunakan untuk memasukkan data kedalam tabel, yaitu:
1.

Contoh :
insert into produk values (‘SG 100’,2500);
2.


Contoh :
Insert into produk (kode,harga) values (‘SG 100’,25000);
Latihan :
buatlah tabel matkul, kemudian isi data tabel :
Field Type Key No Kode Nama Sks
No Int(3) 1 A Basis Data 3
Kode int(10) 2 A1 Prak Basis Data 2
Nama Varchar(25) 3 B Sistem Operasi 3
sks int(1) 4 B1 Prak SistemOperasi 2

VII. Menampilkan Data (Select)
Berikut ini perintah untuk menampilkan data :
Struktur Penulisan :
Contoh :
Select kode from produk;
Select kode,harga from produk;
Select * from produk;
Note :
Setelah penulisan select, [fields] dapat diganti dengan menyebutkan satu nama field saja atau beberapa field sekaligus yang dipisah dengan tanda koma (,). Penulisan field-field tersebut digunakan untuk memunculkan data dari kolom mana saja yang akan ditampilkan. Jika seluruh kolom akan ditampilkan dapat menggunakan tanda asterik (*) untuk mewakilinya.
Latihan :
tampilkan data yang telah dimasukkan pada latihan praktik diatas dengan mengetikkan
perintah Select no,nama from matkul;(menampilkan no dan nama mata
kuliah ), Select * from produk; ;(menampilkan semua data)

VIII. Mengurutkan Tampilan
Klausa ORDER BY digunakan untuk mengurutkan hasil. Jika menginginkan data ditampilkan urut berdasarkan pada urutan terkecil ke besar, dapat menggunakan ASC (ascending). Sedangkan untuk mengurutkan data berdasarkan yang terbesar ke kecil, dapat menggunakan DESC(descending).
select * from siswa order by NIM desc;
Latihan :
tampilkan data dari tabel yang telah dibuat diatas dengan menggunakan model urut sesuai no secara descending, dengan mengetikkan perintah: select * from siswa order by no desc;

IX. Mengubah Data (Update)
Jika data sudah kadaluarsa, berikut perintah digunakan untuk merubah data. Struktur penulisan :


Contoh :
Update produk set harga=3000 where nama=’Sikat Gigi’;
Latihan:
rubahlah data mata kuliah pada no 3 dengan sks = 2 dengan mengetikkan perintah
Update matkul set sks=3 where no=’3’; lihat hasilnya dengan menampilkan isi tabel

TUGAS 1
1. Buatlah sebuah tabel tugas seperti berikut :
Field Type Key Null
No Int(3) No No
Nim int(10) Ya No
Nama Varchar(25) No No
matkul Varchar(25) No No
nilai Varchar(1) No No
Lihatlah struktur tabel dari pembuatan tabel tersebut, kemudian tuliskan hasilnnya
2. Isikan data tabel dari tabel tersebut :

No Nim Nama Matkul Nilai
1 2345 Rita Susilowati Sistem Operasi A
2 2346 Andi Nugroho Sistem Operasi B
3 2347 Slamet Widodo Sistem Operasi C
4 2348 Nike Astuti Sistem Operasi B
5 2349 Novi Yulianti Sistem Operasi A
Tampilkan data tersebut ( semua data ), tuliskan hasilnya
3. Dari tabel diatas tampilkan data Nim dan Matkul saja, tuliskan hasilnya
4. Tampilkan semua data diatas dengan diurutkan berdasarkan nilai secara ascending, tuliskan hasilnya
5. Rubahlah data tabel tersebut menjadi seperti berikut :
No Nim Nama Matkul Nilai
1 2345 Rita Susilowati Basis Data C
2 2346 Andi Nugroho Basis Data A
3 2347 Slamet Widodo Basis Data B
4 2348 Nike Astuti Basis Data C
5 2349 Novi Yulianti Basis Data B
Tampilkan data tersebut ( semua data ), tuliskan hasilnya

IX. Menampilkan data dengan kondisi
IX.1. OPERATOR RELASIONAL
Operator yang digunakan yntuk perbandingan antara dua buah nilai. Jenis dari operator ini adalah

select * from siswa where sex='P';
Latihan :
buatlah tabel mhs seperti dibawah ini
Field Type Key Null
No Int(3) No No
Nim int(10) Ya No
Nama Varchar(25) No No
sex Varchar(1) No No
Isikan datanya seperti berikut :
No Nim Nama Sex
1 2345 Rita Susilowati P
2 2346 Andi Nugroho L
3 2347 Slamet Widodo L
4 2348 Nike Astuti P
5 2349 Novi Yulianti P
Tampilkan data yang mempunyai sex P dengan mengetikkan perintah mysql> select *
from mhs where sex='P';
IX.2. Operator BETWEEN dan NOT BETWEEN
Operator between ini untuk menangani operasi “jangkauan”
select * from siswa where tgl_lhr between '1980-01-01' and '1982-12-29';
Latihan :
tampilkan data dari tabel tersebut yang mempunyai nim 2346 s/d 2348, dengan
mengetikkan perintah mysql> select * from siswa where tgl_lhr between
'1980-01-01' and '1982-12-29';
IX.3. Operator LIKE
Operator LIKE atau NOT LIKE sangat bermanfaat dalam mencari suatu data. Operasi ini
digunakan dengan menyebutkan tanda wildcard berupa garis bawah (_) atau (%). Tanda garis bawah (_) berarti sebuah karakter apa saja. Contoh a_u cocok dengan anu,aku,alu,abu dan tidak cocok untuk andu,ambu ataupun allu. Tanda % berarti cocok dengan kata apa saja dan berapapun panjangnya
contoh:
select nim,nama,alamat from siswa where nama like 'a%';
Latihan :
tampilkan data dari tabel tersebut yang namanya mengandung nama an, dengan
mengetikkan perintah mysql> select * from siswa where nama like '%an%';


TUGAS 1
1. Buatlah tabel barang seperti berikut :
Field Type Key Null
No Int(3) No No
Kode int(10) Ya No
Nama Varchar(25) No No
Hrg float(6) No No
Isikan datanya sebagai berikut :
No kode Nama Hrg
1 AD Sabun mandi 3000
2 AE Sikat gigi 2000
3 AS Pasta gigi 1500
4 AR Shampo 9000
5 AT Sabun cuci 3000
Tampilkan data yang harganya lebih besar dari 3000, tuliskan hasilnya
2. Tampilkan data yang mempunyai harga 3000, tuliskan hasilnya
3. Tampilkan data yang mempunyai harga antara 2000 – 3000, tuliskan hasilnya
4. Tampilkan data yang namanya mengandung kata gigi, tuliskan hasilnya

IX.4. OPERATOR AND dan OR
And dan or menggabungkan dua tabel atau lebih kondisi pada klause where. Operaotr and
menampilkan data jika semua kondisi yang diminta bernilai benar, sedangkan operator or
menampilkan data jika ada kondisi yang benar. Rumus yang digunakan adalah :
Latihan :
buatlah tabel pegawai dengan data sebagai berikut :
Tabel pegawai
KodePegawai NamaDepan Alamat Kota
01 Hasan Jl. Diponegoro 10 Yogyakarta
02 Adi Jl. A. Yani 233 Solo
03 Diana Jl. Merdeka 45 Medan
04 Ita Jl. Jend. Sudirman 3 Yogyakarta
Untuk menampilkan data dengan nama ita atau kota yogyakarta adalah :
Select * from pegawai where namadepan=’Ita’ or kota=’Yogyakarta’;
Operator and dan or dapat digunakan secara bersamaan, yaitu:
Select * from pegawai where (namadepan=’Ita’ or
kota=’Yogyakarta’)and ( alamat=’Jl. Jend. Sudirman3’);



TUGAS 1
1. Buatlah tabel barang dengan data sebagai berikut :

No KodeBarang Nama Harga
1 AD01 Sarimi rebus 1000
2 AD02 Sarimi goreng 1500
3 AD03 Sabun mandi 1000
4 AD04 Sabun cuci 500
5 AD05 Sikat gigi 1500
6 AD06 Pasta gigi 1500
Tampilkan data yang namanya sabun cuci atau harga lebih besar dari 1000, tuliskan
hasilnya
2. Dari tabel diatas tampilkan data yang namanya sabun mandi atau harganya 1000, tuliskan hasilnya
3. Dari tabel diatas tampilkan data yang namanya sabun mandi atau harganya 1000 dan kodenya AD02, tuliskan hasilnya

X. Menggabungkan tabel
MySQL mempunyai kemampuan untuk menggabungkan dua tabel atau lebih guna mendapatkan informasi yang diinginkan. Proses yang dilakukan dengan nama JOIN. Dalam penggabungan dari beberapa tabel (join) ada beberapa hal yang perlu diperhatian, antara lain :
1. Setiap kolom disebutkan dengan bentuk,
2. tabel-tabel yang dilibatkan dalam queri perlu disebutkan dalam Klausa FORM dengan antar tabel dipisah oleh koma.
3. Kondisi dalam WHERE menetukan macam join yang terbentuk
Contoh:
select siswa.nim,nama,nilai from nilai,siswa where nilai.nim=siswa.nim;
nim nama nilai
01.05.2000 Budi R 90
01.05.2001 Laksmi dewi 40
01.05.2002 Abu Bakar 75
01.05.2003 Annisa Akhwat 10
01.05.2004 Leon Auman 100

Macam-macam bentuk Penggabungan (Join)
1. CROSS JOIN, Cross Join merupakan bentuk penggabungan yang paling sederhana, tanpa ada kondisi.
BU : SELECT field1,field2 FROM Tabel1 CROSS JOIN tabel2;
2. INNER JOIN, Hampir sama dengan cross join tetapi diikuti dengan kondisi
BU : SELECT Field FROM tabel1 INNER JOIN tabel 2 ON kondisi
select * from siswa inner join nilai on siswa.nim=nilai.nim;

3. STRAIGHT JOIN, Straight Join identik dengan inner join tetapi tidak mengenal klausa where
BU : SELECT field FROM Tabel1 SATRIGHT JOIN tabel2
4. LEFT (OUTER) JOIN, Akan menampilkan tabel disebelah kanannya (dalam hal ini tabel nilai) dengan NULL jika tidak terdapat hubungan antara tabel disebelah kiri (dalam hal ini tabel siswa)
BU : SELECT field FROM tabel1 LEFT JOIN tabel2 ON kondisi
Contoh
mysql> select siswa.nim,nama,nilai from siswa left join nilai on
siswa.nim=nilai.nim;
nim nama nilai
01.05.2000 Budi R 90
01.05.2001 Laksmi dewi 40
01.05.2002 Abu Bakar 75
01.05.2003 Annisa Akhwat 10
01.05.2004 Leon Auman 100
5. RIGHT/OUTER JOIN
Kebalikan dari LEFT JOIN, jika idak menemukan hubungan dengan tabel disebelah kiri
maka akan ditampilkan NULL
BU : SELECT field FROM tabel1 RIGHT JOIN tabel2 ON kondisi
Contoh
select siswa.nim,nama,nilai from siswa right join nilai on siswa.nim=nilai.nim;
nim nama nilai
01.05.2000 Budi R 90
01.05.2001 Laksmi dewi 40
01.05.2002 Abu Bakar 75
01.05.2003 Annisa Akhwat 10
01.05.2004 Leon Auman 100
NULL NULL 68
Latihan : buatlah tabel mhs dan nilai dengan data sebagai berikut
Tabel mhs
No Nim Nama Alamat
1 1234 Andi Santoso Kemalang, Klaten
2 1235 Bunafit Yahya Keputran, Klaten
3 1236 Ike Ferina Sukorini, Klaten
4 1237 Riani Sukorini, Klaten
5 1238 Krisjiono Barukan, Klaten
6 1239 Marfaniatun Manisrenggo, Klaten



Tabel nilai
No Nim Mat_Kul Nilai

1 1234 Algoritma 75
2 1235 Pemrograman 80
3 1236 Teknik Riset Operasi 85
4 1237 Algoritma 70
5 1238 Pemrograman 75
6 1239 Teknik Riset Operasi 80
Gabungkan tabel tersebut dengan menggunakan kelima metode join
TUGAS 1
1. Buatlah tabel barang dan tabel harga, danisikan datanya minimal 5 data, tampilkan data dari kedua tabel tersebut dan tuliskan hasilnya
2. Dari tabel tersebut gabungkan kedua tabel tersebut dengan menggunakan metode inner join, reigh join, left join dan cros join kemudian tuliskan hasilnya

Pada praktik diatas kita menggabungkan beberapa tabel dengan Join, pada paraktik ini kita akan menggabungkan beberapa tabel dengan menggunakan kunci. Tabel dalam basis data dapat dihubungkan satusama lain menggunakan kunci. Kunci utama adalah sebuah kolom dengan nilai unik untuk masing-masing baris. Tujuannya adalah menggabungkan data antar tabel tanpa mengulangi semua data pada setiap tabel
Rumus yang digunakan adalah




Latihan : buatlah tabel pegawai dan tabel pesan dengan data sebagai berikut :
Tabel pegawai
KodePegawai NamaDepan Alamat Kota
01 Hasan Jl. Diponegoro 10 Yogyakarta
02 Adi Jl. A. Yani 233 Solo
03 Diana Jl. Merdeka 45 Medan
04 Ita Jl. Jend. Sudirman 3 Yogyakarta
Tabel barang
KodeBarang NamaBarang KodePegawai
234 Printer 01
657 Monitor 03
456 keyboard 02
Kita akan menampilkan nama pegawai, alamat dan barang yang dipesan oleh pegawai dengan menggabungkan dari kedua tabel.
Ketikkan perintah sebagai berikut :
Select pegawai.namadepan, pegawai.alamat, pesan.namabarang from
pegawai, pesan where pegawai.kodepegawai=pesan.kodepegawai
Kemudian untuk mengetahui siapa yang memesan printer, maka rumus yang digunakan adalah :
Select pegawai.namadepan,from pegawai, pesan where
pegawai.kodepegawai=pesan.kodepegawai and
pesan.namabarang=’printer’
TUGAS 1
1. Buatlah tabel mhs dan ambilmatku dengan data sebagai berikut:
Tabel mhs
No Nim Nama Alamat
1 1234 Andi Santoso Kemalang, Klaten
2 1235 Bunafit Yahya Keputran, Klaten
3 1236 Ike Ferina Sukorini, Klaten
4 1237 Riani Sukorini, Klaten
5 1238 Krisjiono Barukan, Klaten
6 1239 Marfaniatun Manisrenggo, Klaten
Tabel ambilmatkul
No Nim KodeMatkul NamaMatkul Sks
1 1234 Mk-01 Sistem Operasi 3
2 1234 Mk-02 Basis Data 3
3 1236 Mk-01 Sistem Operasi 3
4 1237 Mk-02 Basis Data 3
5 1236 Mk-02 Basis Data 3
6 1239 Mk-02 Basis Data 3
7 1238 Mk-01 Sistem Operasi 3
Tampilkan Nim, nama Mahasiswa, Kode Mata Kuliah dan Nama Mata Kuliah, tuliskan
hasilnya
2. Dari tabel diatas tampilkan mahasiswa yang mengambil mata kuliah Basis Data, tuliskan hasilnya
3. Dari tabel diatas tampilkan mahasiswa yang mengambil mata kuliah Basis Data, tuliskan hasilnya

Daftar Pustaka
1. www.ilmukomputer.com
2. PHP & MySql dengan editor Dremweaver MX, Bunafir Nugroho, Andi Yogyakarta, 2004
3. Basis Data, Janner Simartana & Iman Paryudi, Andi Yogyakarta, 2006







ULANGAN HARIAN I


Pilihan Berganda
1 Database Management System (DBMS) berisi satu koleksi data yang saling berelasi dan satu set program untuk mengakses data tersebut. Jadi DBMS terdiri dari ……. dan Set Program
a database
b entity
c record
d field
e table

2 Berikut ini adalah kegunaan set program dalam DBMS, kecuali
a menambah data
b menghapus data
c mengambil data.
d membaca data.
e memodifikasi data

3 Merupakan modal jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak seperti orang, lokasi, konsep atau kejadian, disebut dengan……
a database
b entity
c record
d field
e table

4 Pada bidang administrasi siswa, manakah di bawah ini yang bukan merupakan entity……
a siswa
b buku
c pembayaran
d nilai test
e ujian

5 Kumpulan identitas atau field dari sebuah objek disebut…
a database
b entity
c record
d field
e table

6 Field adalah atribut atau identitas spesifik dari sebuah objek. Manakah di bawah ini yang merupakan field dari objek siswa
a sekolah
b rumah
c teman
d nama
e ekskur

7 Kumpulan dari beberapa record yang menggambarkan kesatuan data yang sejenis, disebut….
a database
b entity
c record
d field
e table

8 Kumpulan beberapa table yang saling berhubungan satu sama lain yang membentuk suatu relasi, disebut…
a database
b entity
c record
d field
e table

9 Yang bukan merupakan komponen DBMS adalah
a Perangkat keras (Hardware)
b Perangkat lunak (software)
c Debian
d Data
e User

10 Yang termasuk dalam aplikasi database:…
a Spreadsheet
b DBMS
c Network Database
d MySQL
e Operational Database

11 Mempercepat penyimpanan dan pengambilan data, termasuk dalam keuntungan..
a Database
b Tabel
c Entity
d DBMS
e Record

12 Suatu format yang terdiri dari baris dan kolom yang berisi informasi yang berkaitan satu dengan lainnya adalah….
a table
b record
c field
d attribut
e entity

13 Manakah aplikasi database dari program-program berikut ini…
a SQL
b Ms-Word
c Ms-Excel
d GIMP
e Open Office Writer

14 Ciri-ciri basis data adalah berikut ini, kecuali
a Efisiensi meliputi kecepatan, ukuran, dan ketepatan
b Data dalam jumlah besar
c Berbagi pakai
d Menghilangkan terjadinya duplikasi
e Dapat dikembangkan dengan mudah, baik volume atau strukturnya

15 Berikut ini elemen-elemen utama dari DBMS, kecuali..
a Data description language processor
b Performance Statistic processor
c Query language
d Manager Database
e Modul backup/ recovery

Esai
16 Tuliskan 4 (lima) aplikasi database yang Anda ketahui!
1. MySQL
2
3
4
5
17 Tuliskanlah perintah SQL untuk melihat tanggal

18 Tuliskan perintah SQL untuk melihat Waktu

Database : Administrasi Siswa
Tabel: Siswa

Tuliskan Perintah untuk :

19. Membuat Database :

20. Membuat Table :

Tidak ada komentar:

Posting Komentar

Silahkan berikan komentar Anda, sebelum dan sesudahnya saya ucapkan banyak terimakasih