SlideShare une entreprise Scribd logo
1  sur  54
Sistem Basis Data
Dian Christien Arisona 1
BAB I
Menggunakan SQL
1.1 Pengertian SQL
SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering
disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses
database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO
dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan
(IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti
SQL. Jadi, perintah SQL pada semua software database hampir sama.
1.2 Jenis-jenis perintah SQL
Perintah atau instruksi SQL dapat dikelompokkan berdasarkan jenis dan fungsinya.
Terdapat 3 jenis perintah dasar SQL : Data Definition Language, Data Manipulation
Language dan Data Control Language.
Data Definition Language (DDL) adalah jenis instruksi SQL yang berkaitan dengan
pembuatan struktur tabel maupun database. Termasuk diantaranya : CREATE, DROP,
ALTER, dan RENAME.
Data Manipulation Language (DML) adalah jenis instruksi SQL yang berkaitan
dengan data yang ada dalam tabel, tentang bagaiman menginput, menghapus,
memperbaharui serta membaca data yang tersimpan di dalam database. Contoh perintah
SQL untuk DML : SELECT, INSERT, DELETE, dan UPDATE.
Data Control Language (DCL) adalah jenis instruksi SQL yang berkaitan dengan
manajemen hak akses dan pengguna (user) yang dapat mengakses database maupun tabel.
Termasuk diantaranya : GRANT dan REVOKE.
Selain ketiga jenis perintah SQL, terdapat juga 2 jenis SQL tambahan : Transaction Control
Language, dan Programmatic SQL.
Transaction Control Language (TCL) adalah perintah SQL untuk proses transaksi.
Proses transaksi ini digunakan untuk perintah yang lebih dari 1, namun harus berjalan semua,
atau tidak sama sekali. Misalnya untuk aplikasi critical seperti transfer uang dalam sistem
database perbankan. Setidaknya akan ada 2 perintah, yaitu mengurangi uang nasabah A, dan
Sistem Basis Data
Dian Christien Arisona 2
menambah uang nasabah B. Namun jika terjadi kesalahan sistem, kedua transaksi ini harus
dibatalkan. Tidak bisa hanya satu perintah saja. Termasuk ke dalam TCL adalah perintah :
COMMIT, ROLLCABK, dan SET TRANSACTION.
Programmatic SQL berkaitan dengan sub program (stored procedure) maupun
penjelasan mengenai struktur database. Contoh perintah seperti : DECLARE, EXPLAIN,
PREPARE, dan DESCRIBE
1.3 Pengertian Database
Definisi tentang Database:
1. Menurut Gordon C.Everest:
Database adalah koleksi atau kumpulan data yang mekanis, terbagi/shared, terdefinisi
secara formal dan dikontrol terpusat pada organisasi.
2. Menurut C.J.Date:
Database adalah koleksi “data operasional” yang tersimpan dan dipakai oleh sistem
aplikasi dari suatu organisasi.
- Data input adalah data yang masuk dari luar system.
- Data output adalah data yang dihasilkan system.
- Data operasional adalah data yang tersimpan pada system.
3. Menurut S. Attre :
Database adalah koleksi data-data yang saling berhubungan mengenai suatu
organisasi / enterprise dengan macam-macam pemakaiannya.
4. Menurut Toni Fabbri :
Database adalah sebuah sistem file-file yang terintegrasi yang mempunyai minimal
primary key untuk pengulangan data. Jadi, Sistem Database adalah sistem penyimpanan data
memakai komputer.
Sifat-sifat database :
• Internal : Kesatuan (integritas) dari file-file yang terlibat.
• Terbagi/share : Elemen-elemen database dapat dibagikan pada para user baik
secara sendiri sendiri maupun secara serentak dan pada waktu yang sama
(Concurrent sharing).
Sistem Basis Data
Dian Christien Arisona 3
Elemen-elemen database :
A. Tipe :
 Enterprise = Suatu jenis organisasi, misalnya Bank, Hotel, Universitas dan lain-lain.
 Entity = File = Obyek pada enterprise berdasarkan data yang disimpan
 Atribute = Field = Data item = Beberapa hal yang ingin diketahui dari suatu file
 Record = Satu set field yang merupakan ciri khas dari suatu file
Istilah entity dan atribute biasanya digunakan pada tingkat konsepsual dan logikal,
sedangkan file, record dan field pada tingkat internal/fisikal.
B. Isi / Nilai :
 Data File : Seluruh isi data pada file
 Data Record : Satu set isi data pada suatu susunan field dari suatu file
 Data Value : Isi data masing-masing data elemen.
Sistem Basis Data
Dian Christien Arisona 4
1.4 Pengertian Mysql
Menurut Antonius Nugraha Widhi Pratama (2010:10) MySQL adalah suatu sistem
managemen basis data relasional (RDBMS-Relational Database Management System) yang
mampu bekerja dengan cepat, kokoh dan mudah digunakan.
Menurut Wahana Komputer (2010:5) MySQL merupakan program database yang
mampu mengirim dan menerima data dengan sangat cepat dan multi user.
MySQL pertama kali dirintis oleh seorang programer database bernama Michael Widenius.
Selain MySQL ada beberapa program database server lain yang menggunakan standar query
berupa SQL, antara lain adalah:
1. Oracle
2. PostgreSQL
3. MySQL front
4. MySQL
5. SQL Server 97
MySQL adalah sebuah database server, dapat juga berperan sebagai client sehingga
sering disebut database client/server, yang open source dengan kemampuan dapat berjalan
baik di OS (Operating Sistem) manapun, dengan Platform Windows maupun Linux. Mysql
adalah sebuah perangkat lunak Pembuat database yang bersifat terbuka atau open source dan
berjalan disemua platform baik Linux maupun Si Windows, MySQL merupakan program
pengakses database yang bersifat network sehingga dapat digunakan untuk aplikasi Multi
User (Pengguna Banyak).
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 komersial.
MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam
query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query
MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan
Interbase.
Sistem Basis Data
Dian Christien Arisona 5
BAB II
Penggunaan SQL dalam Mysql
2.1 Membuat database
Untuk membuat atau mengetahui apa saja tabel dan field-field nya yang pertama kita
harus tahu apa judul program yang akan kita buat, atau program apa yang akan kita buat.
Kedua, setelah menentukan program apa yang akan kita buat, baru kita menentukan
nama tabel dari database program tersebut, misalnya kita akan membuat aplikasi persediaan
barang. Karna namanya persediaan barang, sudah tentu aplikasi kita berhubungan dengan
barang dan data nya..,dari situ kita sudah dapat menentukan tabel apa saja yang diperlukan
untuk aplikasi tersebut., Misalnya kita buat satu tabel dengan nama data_barang.
Langkah ketiga, kalau nama tabel sudah ditentukan, sekarang tinggal menentukan
field-field apa saja yang ada di tabel data_barang, nah untuk menentukannya, kita sesuaikan
dengan nama tabel tersebut, karna nama tabelnya data_barang, maka field yang ada di
dalamnya sudah tentu seputar tentang data-data barang, misalnya ada kode_barang,
nama_barang, jenis_barang, satuan, dan atau harga_barang kalau dibutuhkan.
Setelah kita tentukan apa saja fieldnya, sekarang baru kita tentukan type data dan size
dari masing-masing field tersebut. untuk itu kalian harus tahu dulu apa fungsi dari type data
tersebut ,berikut fungsi dari beberapa type data untuk field database :
Text / String : adalah tipe data yang dapat menerima input berupa data text.
Date/Time : adalah tipe data yang dapat menerima input berupa tanggal, tipe data
jenis ini memiliki ukuran 8 byte dan size 8.
Currency : adalah tipe data yang dapat menerima data berupa nilai uang.
Byte,Integer, Long : adalah tipe data untuk menerima input berupa bilangan bulat.
single, double : adalah tipe data untuk menerima input berupa bilangan pecahan.
boolean : adalah tipe data logika, hanya benar atau salah (true/false)
Sekarang tinggal sesuaikan tipe data apa yang cocok untuk field dari tabel database
anda, misalnya untuk tanggal lahir : tipe datanya date/time, atau harga barang : tipe datanya
yang dipakai adalah Currency.
Sistem Basis Data
Dian Christien Arisona 6
Untuk size nya, sesuaikan dengan kebutuhan field tersebut, misalnya untuk kode
barang kita hanya ingin agar batas maksimal kode adalah 4 karakter, maka tinggal kita
tentukan size dari kode barang itu = 4.
Kalau kita sudah bisa menentukan nama tabel, dan field-field apa saja yang ada dalam
tabel tersebut berarti kita sudah bisa membuat database kita sendiri.
Contoh:
Klik tombol Create Database
Anda telah berhasil menambahkan database, Anda sekarang perlu memberikan
username untuk mengakses database.
Create username: Jika Anda memiliki database MySQL, Anda akan perlu untuk
menetapkan user untuk dapat mengakses database. Jika Anda ingin membuat user dan
memberikan mereka akses ke database, silakan lakukan hal berikut:
1.Klik MySQL Database
2. Gulir ke bawah sampai Anda melihat Add New User.
3. Dalam bagian ini dan di sebelah kanan nama pengguna, harap memberikan nama pengguna
untuk database
4. Penulisan secara lengkap user database akan seperti ini: cpaneluser_databaseuser
5. Di sebelah kanan Sandi, ketik sandi yang Anda ingin membuat database untuk user.
6. Klik Create user.
Selanjutnya adalah menambahkan user ke dalam database pada bagian Add User To
Database Pilih User dan Database dan klik Add.
Sistem Basis Data
Dian Christien Arisona 7
Sekarang kita perlu memberikan hak user untuk database yang Anda tetapkan.
1. Untuk hak Database, silakan pilih database yang Anda ingin berikan hak untuk diakses.
2. Silakan pilih jenis hak Anda ingin pengguna memiliki. (Jika Anda ragu dengan mana saja,
bisa memilih All Privileges.)
3. Klik Make Changes.
Sekarang kita telah memberikan akses user ke database.
Cara membuat database yang kedua mengunakan tools command prompt :
1. Buka command prompt ( Start + All Program + Accessories + Command Prompt ).
2. Setelah menjumpai tampilan command prompt ketikan perintah dibawah ini : cd
C:xamppmysqlbin
3. Kemudian ketikan lagi perintah berikut : mysql -u root –p
4. Masukan password anda jika sebelumnya anda melakukan set password.
5. Jika suda berhasil masuk ke program klien Mysql anda akan menemui tulisan
semacam ini: Welcome to the MySQL monitor. Commands end with ; or g. Your
MySQL connection id is 11 ...............
6. Untuk membuat database ketikan perintah create database joomla; jika berhasil akan
muncul tulisan semacam ini: mysql> create database joomla; Query OK, 1 row
affected (0.04 sec)
7. Dan untuk melihat database anda bisa mengunakan perintah show databases:
Sistem Basis Data
Dian Christien Arisona 8
2.2 Menghapus database
Untuk menghapus Data Base dapat dilakukan dengan langkah berikut:
1. Klik MySQL Database
2. Dalam Database, Anda akan menemukan nama-nama semua database Anda saat ini.
3. Klik Hapus di sebelah nama database yang ingin Anda hapus.
4. sebuah database MySQL telah terhapus.
Catatan:
Anda juga mungkin perlu menghapus pengguna (user) yang mengakses database juga,
jika Anda ingin untuk tidak memiliki bekas apapun dari database yang tersisa.
Berhati-hatilah dalam melakukan penghapusan, karena semua tidak ada fasilitas
pembatalan (undo).
Kesalahan penghapusan/ setting merupakan tanggung jawab user.
Contoh:
Drop DataBase_Nama Database:
Misalnya kita akan menghapus database pegawai.
Sistem Basis Data
Dian Christien Arisona 9
maka perintahnya adalah DROP DATABASE PEGAWAI;
Lihat gambar :
Perhatikan gambar diatas, kita telah berhasil menghapus database pegawai, untuk
membuktikannya silahkan ketik perintah Show Data Base
Sistem Basis Data
Dian Christien Arisona 10
Lihat Screen shot dibawah ini :
2.3 Membuat Tabel
1. Tabel
Tabel merupakan entitas yang ada didalam sebuah sistem yang saling berhubungan
antara tabel satu dengan lainnya, misalnya ada sebuah sistem bernama "Sistem Registrasi
Siswa" sehingga entitas yang ada biasanya adalah registrasi_siswa dan kelas, maka tabel
didalam database nantinya juga registrasi_siswa dan kelas. Letak hubungan antara tabel
registrasi_siswa dengan siswa adalah setiap siswa memiliki kelas.
2. Field
Field adalah atribut-atribut yang ada didalam sebuah entitas/tabel, misalnya tabel
registrasi_siswa memiliki field yaitu id, nama_lengkap, tempat_lahir, tanggal_lahir,
tempat_lahir dan sebagainya.
3. Primary Key
Primary Key adalah field kunci yang ada didalam sebuah tabel, fungsinya adalah agar
data yang ditampung nantinya memiliki identitas masing-masing yang berbeda antara data
yang satu dengan yang lainnya didalam satu tabel.
Sistem Basis Data
Dian Christien Arisona 11
4. Record
Record adalah data yang masuk pada field-field didalam tabel. Sebenarnya masih
banyak hal-yang berkaitan dengan database, namun yang paling harus dimengerti adalah 4
hal di atas.
Setelah kita mengetahui 4 hal di atas ada juga yang perlu kita ketahui dalam
pembuatan fiel-field tabel dalam database, yaitu tentang type field
Type Keterangan Panjang
TINYINT
Digunakan jika data
berupa angka
Signed -127 sampai 128. Unsigned 0 sampai 255
SMALLINT
Digunakan jika data
berupa angka
Signed -32768 sampai 32767. Unsigned 0
sampai 65535
MEDIUMINT
Digunakan jika data
berupa angka
Signed -8388608 sampai 8388607. Unsigned 0
sampai 16777215
INT or
INTEGER
Digunakan jika data
berupa angka
Signed -2147483648 sampai 2147483647.
Unsigned 0 sampai 4294967295
BIGINT
Digunakan jika data
berupa angka
Signed -9223372036854775808 sampai
9223372036854775807. Unsigned 0
sampai 18446744073709551615
FLOAT
Digunakan jika data
berupa angka pecahan
desimal
-3.402823466E+38 sampai -1.175494351E-38, 0
dan 1.175494351E-38 sampai 3.402823466E+38
DATE
Digunakan jika data
berupa tanggal
1000-01-01 sampai 9999-12-31
DATETIME
Digunakan jika data
berupa tanggal dan
jam
1000-01-01 00:00:00 sampai 9999-12-31 23:59:59
TIME
Digunakan jika data
berupa jam
-838:59:59 sampai 838:59:59
Sistem Basis Data
Dian Christien Arisona 12
CHAR
Digunakan jika data
berupa hanya karakter
1 sampai 255
VARCHAR
Digunakan jika data
berupa angka dan
karakter
1 sampai 255
TEXT
Digunakan jika data
berupa text
0 sampai 65535
ENUM
Digunakan jika data
berupa pemilihan
'value','value','value'...
Unsigned adalah bilangan tanpa tanda didepan misalnya tanda negatif.
Type diatas adalah type-type field yang paling sering digunakan, sebenarnya ada beberapa
yang tidak tercantumkan dikarenakan selain type ditabel diatas sangat jarang digunakan.
Berikut langkah-langkah membuat tabel mysql
1. Misalnya kita akan membuat tabel bernama user dengan jumlah field 4
Tekan tombol Go pada bagian bawah, kemudian atur field-field seperti berikut :
Nama field bersifat Case Sensitive yang berarti besar kecilnya huruf dianggap berbeda.
Kemudian atur field ID menjadi primary key dan Auto Increment
Sistem Basis Data
Dian Christien Arisona 13
Maksud dari Auto increment atau A.I atau juga A_I adalah ketika masuk data baru secara
otomatis nilai dari field ID bertambah sendiri dan dimulai dari 1, jadi antara record satu
dengan yang lainnya tidak ada yang sama. Setelah itu tekan tombol Save pada bagian bawah.
Selain menggunakan cara di atas, kita juga bisa menggunakan perinta SQL untuk membuat
tabel berikut perintah SQLnya untuk membuat tabel user seperti diatas :
CREATE TABLE IF NOT EXISTS `user` (
`ID` int(5) NOT NULL AUTO_INCREMENT,
`Nama` varchar(50) NOT NULL,
`Username` varchar(50) NOT NULL,
`Email` varchar(50) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
2.4 Mengubah struktur Tabel
Ada saatnya kita perlu mengubah struktur tabel yang pernah kita buat sebelumnya.
pengubahan struktur bisa dalam hal penambahan kolom (Add), pengubahan lebar dan jenis
kolom (Modify), atau bisa saja penghapusan kolom dan indeks (Drop), penggantian nama
kolom (Change), pengantian nama tabel (Rename), dan sebagainya. apa pun juga yang anda
lakukan pada kolom tersebut tentu akan mempunyai dampak langsung pada data-data yang
sudah ada. nah, sekarang kita perlu menambahkan beberapa kolom baru, yaitu kolom jenis
kelamin, kota, tanggal lahir dan kodepos pada tabel karyawan. Perintah untuk mengubah
struktur tabel adalah "Alter Table".
Mengedit Atau Mengubah Struktur Tabel Dengan Alter
Format umum perintah SQL untuk mengedit atau mengubah struktur sebuah tabel
adalah seperti di bawah ini :
ALTER TABLE nama_tabel ALTER_OPTIONS;
Sistem Basis Data
Dian Christien Arisona 14
ALTER TABLE merupakan perintah dasar untuk mengedit atau mengubah suatu
tabel
nama_tabel merupakan nama dari tabel yang akan kita ubah atau kita edit.
ALTER_OPTIONS merupakan pilihan perubahan tabel. Bisa dikatakan perubahan
yang akan dilakukan pada suatu tabel. Pilihan yang bisa digunakan dalam alter table
diantaranya adalah sebagai berikut:
ADD ==> Digunakan untuk menambahkan field baru.
ADD INDEX ==> Digunakan untuk menambahkan index.
ADD PRIMARY KEY ==> Digunakan untuk menambah primary key pada
tabel.
CHANGE ==> Digunakan untuk mengubah sebuah field dalam suatu tabel.
MODIFY ==> Digunakan untuk mengubah definisi suatu field dalam suatu
tabel.
DROP ==> Digunakan untuk menghapus suatu field.
RENAME TO ==> Digunakan untuk mengganti nama suatu tabel.
Beberapa Contoh penggunaan sintaks alter table untuk mengubah struktur suatu tabel:
Menambahkan sebuah field baru ke tabel mahasiswa.
Contoh:
penggunaannya seperti di bawah ini :
ALTER TABLE mahasiswa add jenis_kelamin enum('P','W') not null default "P";
Mengubah tipe field jenis_kelamin menjadi varchar pada tabel mahasiswa:
ALTER TABLE mahasiswa MODIFY jenis_kelamin varchar(6) not null;
Menghapus field jenis_kelamin dari tabel mahasiswa.
ALTER TABLE mahasiswa drop jenis_kelamin;
Mengubah Nama Tabel
Sistem Basis Data
Dian Christien Arisona 15
Untuk mengubah nama tabel dapat menggunakan perintah sebagai berikut :
Kita akan mengubah tabel mahasiswa yang telah kita buat menjadi mhs.
RENAME TABLE mahasiswa TO mhs;
atau
ALTER TABLE mahasiswa RENAME TO mhs;
perintah di atas akan merubah nama tabel mahasiswa menjadi mhs.
2.5 Menghapus Tabel
Bentuk sintaks umum untuk menghapus sebuah tabel adalah seperti di bawah ini :
DROP TABLE nama_tabel;
Contoh:
penggunaannya adalah sebagai berikut: kita akan menghapus mahasiswa
DROP TABLE mahasiswa;
perintah di atas akan menghapus table dengan nama mahasiswa.
field_n tipe(panjang,
PRIMARY KEY (field_key)
);
BAB III
Perintah nonselect pada SQL
Sebelumnya, MySQL merupakan software database open source yang paling populer
di dunia, dimana saat ini digunaan lebih dari 100 juta pengguna di seluruh dunia. SQL adalah
bahasa yang digunakan dalam pembuatan databasenya tersebut.
Berikut ini adalah perintah-perintah pada SQL tersebut.
ALTER TABLE
ALTER TABLE table_name
ADD column_name datatypeor
ALTER TABLE table_name
DROP COLUMN column_name
AS (alias) SELECT column_name AS column_alias
Sistem Basis Data
Dian Christien Arisona 16
FROM table_nameor
SELECT column_name
FROM table_name AS table_alias
BETWEEN
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
CREATE DATABASE CREATE DATABASE database_name
CREATE TABLE
CREATE TABLE table_name ( column_name1 data_type,
column_name2 data_type,
column_name2 data_type,
…
)
CREATE INDEX
CREATE INDEX index_name
ON table_name (column_name)or
CREATE UNIQUE INDEX index_name
ON table_name (column_name)
CREATE VIEW
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
DELETE
DELETE FROM table_name
WHERE some_column=some_valueor
DELETE FROM table_name
(Note: Deletes the entire table!!)
DELETE * FROM table_name
(Note: Deletes the entire table!!)
DROP DATABASE DROP DATABASE database_name
DROP INDEX
DROP INDEX table_name.index_name (SQL Server)
DROP INDEX index_name ON table_name (MS Access)
DROP INDEX index_name (DB2/Oracle)
ALTER TABLE table_name
Sistem Basis Data
Dian Christien Arisona 17
DROP INDEX index_name (MySQL)
DROP TABLE DROP TABLE table_name
3.1 Menambah data
Syntax : INSERT INTO namatable (field1,field2,..,fieldn) VALUES
(value1,value2,..,valuen);
Contoh : INSERT INTO Barang (KdBarang,NmBarang,Satuan,Harga) VALUES
(„B0001‟,‟Rejoice 250 ml‟,‟Botol‟,12000);
Selain dengan cara diatas, dapat juga dengan langsung memberikan nilai (value)
tanpa memnentukan field apa saja yg akan ditambah datanya, tetapi kita harus benar-benar
tahu urutan field dari table yang akan di tambah datanya.
Contoh :
INSERT INTO Barang VALUES („B0002‟,‟Rejoice sachet‟,‟Sachet‟,500);
Berikut Cara Untuk Menambah, Mengedit Dan Menghapus Isi Tabel Dari Perintah
Command :
Fungsi ADD untuk menambahkan baris baru dalam tabel, rumus yang di gunakan
adalah:
alter table [nama tabel]
add [field] [type field];
contoh jika ingin menambahkan field total_bayar :
alter table pembayaran
add total_bayar char (9); enter
jika sobat mau menambahkan field total_bayar setelah field kelas maka memakai rumus ;
alter table pembayaran
add total_bayar char (9)
after kelas;
Sistem Basis Data
Dian Christien Arisona 18
3.2 Mengubah data
Perintah MODIFY di gunakan untuk mengedit /mengubah isi tabel rumus yang di
gunakan adalah:
alter table [nama tabel]
modify [field] [type field];
contoh jika ingin menedit field total_bayar menjadi tot_bayar:
alter table pembayaran
modify tot_bayar char (7); enter
3.3 Menghapus data
Perintah DROP di gunakan untuk menghapus isi tabel, rumus yang di gunakan :
alter table [nama tabel]
drop [field];
contoh:
jika ingin menhapus field total_bayar :
alter table pembayaran
drop total_bayar ; enter
Sistem Basis Data
Dian Christien Arisona 19
BAB IV
Perintah select pada SQL
Pernyataan SQL di bawah ini menunjukkan penggunaan sederhana dari perintah SQL
SELECT: SELECT FirstName, LastName, DateOfBirth FROM Users
Contoh :
Sistem Basis Data
Dian Christien Arisona 20
FirstName LastName DateOfBirth
John Smith 12/12/1969
David Stonewall 01/03/1954
Susan Grant 03/03/1970
Mari kita periksa pernyataan SQL diatas, Pernyataan itu dimulai dengan kata kunci
SELECT diikuti dengan daftar kolom tabel (yang nantinya akan kita sebut sebagai field).
Daftar kolom ini menentukan kolom mana saja yang ingin Anda ambil dari table tertentu.
Daftar kolom diikuti dengan kata kunci SQL : "FROM" selanjutnya diikuti dengan nama
tabel (tabel dimana kita memilih data). Ada sebuah sintaks khusus yang dapat digunakan
dengan perintah SELECT, jika Anda ingin mengambil semua kolom dari tabel. Untuk
melakukan itu Anda dapat mengganti daftar kolom dengan simbol * maka Anda sudah
memilih semua kolom dari tabel: SELECT * FROM Users.
Namun sangat bijaksana jika Anda menentukan nama kolom(fields) satu persatu dan
tidak menggunkana perintah " SELECT * FROM namatable " karena ini akan meningkatkan
kinerja query Anda secara signifikan.
SELECT INTO mengambil data dari tabel database dan memasukkan ke tabel lain.
Perhatikan contoh di bawah ini SELECT INTO: SELECT FirstName, LastName,
DateOfBirth INTO UsersBackup FROM Users
Bagian pertama dari pernyataan tampak familiar dan hanya memilih beberapa kolom.
Bagian kedua dari pernyataan SQL adalah bagian penting, yang menentukan untuk
memasukkan baris ke dalam tabel UsersBackup. Bagian terakhir menentukan tabel mana
yang akan diambil datanya untuk dimasukkan ke tabel yang dipilih. Contoh ini
mengasumsikan bahwa baik tabel Users maupun tabel UsersBackup memiliki struktur yang
identik.
Anda dapat menggunakan query SQL berikut untuk membuat salinan data dalam tabel
Users SELECT * INTO UsersBackup FROM Users
4.1 Menampilkan field tertentu
Menampilkan data
Perintah SELECT digunakan untuk memilih kolom mana saja yang akan ditampilkan.
Jika kita ingin menampilkan semua kolom, kita cukup menggunakan tanda *. Perintah FROM
Sistem Basis Data
Dian Christien Arisona 21
digunakan untuk menentukan asal kolom yang ingin kita tampilkan datanya.
Perintah WHERE digunakan untuk membatasi baris-baris yang akan kita tampilkan agar
sesuai dengan kriteria yang kita inginkan. WHERE bisa dari tabel atau hasil dari View yang
lain. Perhatikan contoh-contoh penggunaan SQL berikut ini.
Untuk menampilkan beberapa field dalam satu tabel, dapat dipergunakan perintah
SELECT kode_karyawan, nama_karyawan FROM karyawan. Menampilkan data dengan
kondisi SELECT * FROM karyawan WHERE kode_karyawan = ‟2005000341‟
Menampilkan semua data pada tabel Bidang
Contoh ini kita membutuhkan tabel Bidang. Sedangkan kolom yang kita ingin
tampilkan adalah semua kolom. Kita dapat menggunakan tanda * atau mendaftar semua
kolom yang ada pada tabel Bidang. Berikut adalah perintah SQL dan hasil eksekusinya.
Jika kita ingin menyimpan dalam bentuk View perintah di atas, tambahkan sebelum
pernyataan SELECT perintah CREATE VIEW AS. Ganti dengan nama yang kita inginkan.
Menampilkan data nama dan alamat siswa
Pada contoh ini kita membutuhkan tabel Siswa. Sedangkan kolom yang kita inginkan
adalah kolom nama, alamat, dan kota. Kita tidak bisa menggunakan tanda *, tetapi harus
mendaftarkan nama kolom nama dan alamat setelah perintah SELECT. Perhatikan perintah
SQL dan outpunya berikut ini.
Sistem Basis Data
Dian Christien Arisona 22
Menampilkan data nama siswa yang rumahnya di Batu
Pada contoh ini kita membutuhkan pernyataan WHERE untuk membatasi baris yang
ingin kita tampilkan. Tabel yang dipakai adalah tabel Siswa dan kolom yang ingin
ditampilkan adalah kolom Nama. Kalau kita perhatikan hasil eksekusi contoh 12.2 di atas,
yang alamat rumahnya di Batu ada dua orang yaitu: Pepe Ricard dan Bubi Red. Pernyataan
WHERE diikuti dengan kondisi yang harus dipenuhi. Pada kasus ini adalah Kota='Batu'.
Berikut ini perintah SQL secara lengkap dan outputnya. Perhatikan cara penulisannya.
Menampilkan data nama siswa dan program keahlian yang diikuti
Pada contoh ini kita melibatkan dua buah tabel yang saling berhubungan yaitu tabel
Siswa dan tabel Program. Yang kita ingin tampilkan adalah kolom Nama pada tabel Siswa
dan kolom NamaProgram pada tabel Program. Untuk kasus seperti ini pada perintah
SELECT pemanggilan nama kolom harus didahului dengan nama tabelnya. Sedangkan pada
FROM, kita menggunakan perintah INNER JOIN untuk menggabung dua tabel. Perlu kita
cermati, pada tabel Siswa terdapat Foreign Key, yaitu: IdProgram yang merupakan Primary
Key pada tabel Program. IdProgram ini merupakan penghubung yang dapat kita gunakan
untuk menggabung dua tabel. Perhatikan, pernyataan SQL berikut ini dan cermati outputnya.
Menampilkan data nama siswa yang mengikuti program keahlian rpl
Sistem Basis Data
Dian Christien Arisona 23
Kita menambahkan pernyataan WHERE untuk menampilkan nama yang ikut
programkeahlian rpl. Selain itu, kita hanya ingin menampilkan kolom Nama dari tabel Siswa.
Perhatikan, pernyataan SQL berikut dan hasil eksekusinya.
Menampilkan data nama guru dan bidang keahliannya
Contoh ini lebih kompleks dari contoh-contoh di atas. Kita melibatkan tiga buah tabel,
yaitu: tabel Guru, tabel Guru_Bidang, dan tabel Bidang. Perhatikan relasi antar tabel tersebut
pada gambar 12.11. Ada dua INNER JOIN yang kita gunakan, yaitu: INNER JOIN tabel
Guru dengan tabel Guru_Bidang dan INNER JOIN Guru_Bidang dengan tabel Bidang.
Perhatikan bagaimana membuat pernyataan INNER JOIN.
4.2 Menampilkan record tertentu
Didalam SQL, SELECT berarti “menunjukkan data padaku.” Secara khusus, itu
berarti “tunjukkan beberapa data dari beberapa tabel.” Berikut adalah garis dasar dari
statemen SELECT: SELECT [some or all of the columns] FROM [one or more tables]
WHERE [the records meet some condition] Ketika Anda mengeluarkan perintah SELECT,
SQL scan data dalam tabel dan menampilkan hasilnya di layar. Argumen pertama Perintah
SQL SELECT yang mengatakan kepada kolom (atau field) untuk memasukkan dalam hasil.
Untuk melihat semua kolom dalam tabel, ketik tanda bintang (*) segera setelah SELECT
dalam bentuk ini:
1. SELECT * FROM mytable
Sistem Basis Data
Dian Christien Arisona 24
2. SQL memungkinkan Anda menggunakan kata kunci SEMUA bukan tanda bintang.
Manfaat untuk memilih semua kolom adalah bahwa Anda tidak harus mengetahui
salah satu nama kolom. Masalah dengan memilih semua kolom, tentu saja, adalah
bahwa Anda mungkin harus melihat selusin atau lebih kolom untuk menemukan
informasi yang Anda butuhkan.
3. Untuk membatasi jumlah kolom dalam hasil Anda, cukup menulis kolom yang Anda
inginkan:
4. SELECT column1, column2, column3 FROM mytable
5. Sebagai contoh, jika Anda ingin melihat nama depan, nama belakang, dan kolom
nomor telepon dari tabel Pelanggan Anda, Anda akan memasukkan perintah dalam
bentuk:
SELECT FName, LName, Phone FROM Customers
6. Selain menentukan kolom yang SQL akan tampilkan, Anda juga dapat mengontrol
urutan data tersebut muncul dengan menambahkan klausa ORDER BY. Cukup
tambahkan ke statemen SELECT Anda dalam bentuk:
7. SELECT Column1, Column2, Column3 FROM mytable ORDER BY Column3
8. Anda dapat menggunakan lebih dari satu kunci untuk mengurutkan hasil query.
Sebagai contoh, untuk mengurutkan pelanggan Anda secara alfabet berdasarkan nama
akhir dan kemudian dengan nama pertama, Anda akan mengeluarkan perintah seperti
ini:
SELECT Name, LName, Phone FROM Customers ORDER BY Lname,Fname
Secara default, SQL menganggap Anda ingin catatan-catatan dalam urutan menaik.
Jika Anda ingin menampilkan record dalam urutan, Anda menambahkan DESC kata kunci
untuk perintah SQL dalam bentuk ini:
SELECT Column1, Column2, Column3 FROM tablename ORDER BY Column3 DESC
Kita telah melihat bagaimana perintah SELECT memungkinkan Anda membatasi
jumlah kolom yang akan muncul dalam hasil Anda. Anda hanya menulikan kolom yang ingin
Anda lihat. Tapi secara default, SQL mengembalikan semua data dalam tabel. Sebagian besar
waktu, ketika Anda meng-query tabel, Anda ingin menampilkan record yang memenuhi
kondisi tertentu atau kriteria. Secara garis besar untuk mencari data tertentu, Anda dapat
menambahkan klausa WHERE untuk perintah SELECT Anda dalam bentuk:
SELECT column1, column2 FROM tablename WHERE [some condition is true about
some field]
Sistem Basis Data
Dian Christien Arisona 25
Misalnya, Anda ingin menampilkan hanya catatan untuk pelanggan yang tinggal di
kode pos 10010. Dengan asumsi bahwa bidang kode pos adalah kolom berupa karakter
(bukan angka), Anda akan mengeluarkan statemen SELECT berupa:
SELECT FName, LName, Phone FROM Customers WHERE Zip_code=”10010″ ORDER
BY Lname,Fname
Ketika SQL mengevaluasi pernyataan ini, maka hanya menampilkan data yang
mempunyai 10010 di dalam kolom Zip_code . Klausa ORDER BY memberitahu SQL untuk
mengatur data untuk diurutkan berdasarkan Lname. Perhatikan bahwa Anda tidak harus
menyertakan Zip_code dalam daftar bidang dalam rangka untuk merujuk ke dalam klausa
WHERE.
Dalam syntak WHERE, jika kolom yang ingin ditampilkan adalah numerik, Anda
tidak perlu menyertakan tanda kutip data. Misalnya, jika Anda ingin mencari pelanggan yang
last_purchase field berisi nilai 100 atau lebih, Anda akan mengeluarkan perintah seperti ini:
SELECT FName, LName, Phone FROM Customers WHERE Last_purchase >=100
4.3 Mengenal Ekspresi
SQL merupakan bahasa basis data relasional standard. Terdapat macam-macam versi
SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose
Research Laboratory. Bahasa SQL mempunyai beberapa bagian yaitu :
- Data Definition Language (DDL)
DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan relasi, membuat
indeks dan modifikasi skema relasi.
- Data-Manipulation Language (DML)
DML merupakan bahasa query yang berdasarkan pada aljabar relasi dan kalkulus relasi tuple.
Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan modifikasi.
- Embedded DML
Bentuk embedded SQL biasanya terdapat dalam bahasa pemrograman multi guna seperti
PL/I, Cobol , Pascal dan Fortran.
- View Definition
Sistem Basis Data
Dian Christien Arisona 26
DDL SQL memasukkan perintah untuk mendefinisikan view.
- Authorization
DDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan view.
- Integrity
DDL SQL memasukkan perintah untuk menentukan konstrain integritas yang harus dipenuhi
oleh data yang tersimpan dalam basis data.
- Transaction control
SQL memasukkan perintah-perintah untuk menentukan awal dan akhir transaksi. Beberapa
implementasi juga memungkinkan locking data untuk concurrency control.
1. STRUKTUR DASAR
Struktur dasar dari ekspresi SQL terdiri dari tiga klausa yaitu : select, from dan where.
- Klausa Select berhubungan dengan operasi proyeksi dari aljabar relasional.
Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu
query.
- Klausa From berhubungan dengan operasi Cartesian-product dari aljabar relasional.
Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu query.
- Klausa Where berhubungan dengan operasi predikat seleksi dari aljabar relasional.
Operasi ini terdiri dari sebuah predikat yang menyangkut atribut atribut dari relasi yang
muncul dalam klausa from.
Sebuah query SQL biasanya mempunyai bentuk : Select A1,A2,…..An From
r1,r2,….rn Where P
Klausa Select
Contoh : “ Tentukan nama-nama dari semua cabang bank dalam relasi loan “, Query-
nya : “select branch-name from loan”. Hasil dari query tersebut adalah sebuah relasi yang
berisi sebuah atribut tunggal dengan nama branch-name. Bahasa query formal bersifat
matematis dimana relasi adalah sebuah himpunan sehingga tuple-tuple yang telah muncul
tidak akan muncul lagi (tidak akan terjadi duplikasi tuple). Tapi dalam prakteknya untuk
menghilangkan duplikasi tuple sangat memakan waktu. Oleh karenanya SQL memungkinkan
Sistem Basis Data
Dian Christien Arisona 27
terjadinya duplikasi tersebut. Dari contoh di atas, maka query-nya akan mencatat setiap
branch-name setiap kali branch-name tersebut ditemukan dalam relasi loan.
Untuk kasus di atas jika diinginkan untuk menghilangkan duplikasi maka
dapat disisipkan distinct setelah select. Query di atas ditulis ulang sebagai berikut :”select
distinct branch-name from loan”. Jika tuple yang terduplikasi diinginkan hilang. Klausa selest
dapat juga mengandung operasi aritmatika yaitu operator : +, -, *, / dan
operasi terhadap konstanta atau atribut dari tuple. Contoh query berikut : “Select branch-
name, loan-number, amount * 100 From loan”. Akan menghasilkan sebuah relasi yang sama
dengan relasi loan, kecuali bahwa atribut amount dikalikan dengan 100. SQL-92 juga
menyediakan tipe data spesial seperti tipe date, dan memungkinkan beberapa fungsi
aritmatika untuk beroperasi pada tipe-tipe ini.
Klausa Where
Contoh query : “Temukan semua loan number untuk pinjaman-pinjaman yang
dibuat pada cabang Perryridge dengan jumlah lebih besar dari $1200”. Query-nya ditulis
sebagai berikut :”Select loan-number From loan Where branch-name = “Perryridge” and
amount >1200”. SQL menggunakan konektivitas lojik and, or dan not dalam klausa where.
SQL juga memasukkan perintah between untuk menentukan apakah suatu nilai lebih kecil
daripada atau sama dengan suatu nilai lain dan lebih besar daripada atau sama dengan suatu
nilai lain. Contoh : jika diinginkan menemukan loan-number yang jumlah pinjamannya
antara $90000 dan $100000, ditulis sebagai berikut : “Select loan-number From loan Where
amount between 90000 and 100000”.
Klausa From
Contoh query : “Untuk semua customer yang mempunyai sebuah pinjaman dari
bank, temukan nama dan loan number mereka”.
Dalam SQL ditulis : “Select distinct customer-name, borrower.loan-number From borrower,
loan Where borrower.loan-number = loan.loan.number”
Operasi Rename
SQL menyediakan mekanisme operasi rename untuk relasi dan atribut.
Operasi rename dalam SQL menggunakan klausa as dengan bentuk : Nama-lama as nama-
Sistem Basis Data
Dian Christien Arisona 28
baru
Contoh : Jika atribut dengan nama loan-number akan diganti dengan nama loan-id, dapat
ditulis sebagai berikut : “Select distinct customer-name, borrower.loan-number as loan-
id From borrower,loan Where borrower.loan-number = loan.loan-number and branch-name =
“Perryridge””
2. OPERASI HIMPUNAN
Operasi operasi himpunan pada SQL-92 meliputi : union, intersect, dan except. Union
identik dengan ∪, intersect identik dengan ∩ dan except identik dengan – pada aljabar
relasional.
Operasi Union
Contoh : Untuk mendapatkan semua customer yang mempunyai pinjaman,
rekening atau keduannya pada bank ditulis : “(select customer-name from
depositor) union (select customer-name from borrower)”. Operasi union secara otomatis
akan menghilangkan duplikasi, tidak seperti klausa select. Sehingga pada query di atas, jika
Jones (seorang customer) mempunyai beberapa rekening atau pinjaman (atau keduannya)
pada bank, maka Jones hanya akan muncul sekali. Jika duplikasi diinginkan ada maka harus
ditulis union all.
Operasi Intersect
Contoh : untuk mendapatkan semua customer yang memiliki pinjaman dan rekening
pada bank, query-nya ditulis :”(select distinct customer-name from
depositor) intersect (select distinct customer-name from borrower)”. Operasi intersect
secara otomatis menghilangkan duplikasi. Jika diinginkan duplikasi tetap ada ditulis intersect
all.
Operasi Except
Contoh : untuk mendapatkan semua customer yang mempunyai sebuah rekening
tetapi tidak memiliki pinjaman pada bank, ditulis : “(select distinct customer-name from
depositor) except (select customer-name from borrower)”. Operasi except secara otomatis
menghilangkan duplikasi. Jika diinginkan ada maka ditulis : except all.
Sistem Basis Data
Dian Christien Arisona 29
3. FUNGSI-FUNGSI AGREGASI
Yang termasuk fungsi-fungsi agregasi adalah :
Average : avg
Minimum : min
Maximum : max
Total : sum
Count : count
Fungsi-fungsi di atas telah tersedia. Input untuk avg dan sum haruslah bertipe
numerik. Untuk operator lainnya dapat non-numerik.
Contoh : untuk mendapatkan rata-rata saldo rekening pada cabang Perryridge, Query-nya
dapat ditulis : “Select avg(balance) From account where branch-name = “Perryridge””. Jika
fungsi agregasi iningn diterapkan pada kelompok himpunan tuple, maka digunakan klausa
group by. Nama atribut/kel. Atribut dalam klausa group by digunakan untuk membentuk
grup/kelompok. Artinya tuple-tuple yang mempunyai nilai yang sama pada semua atribut
dalam klausa group-by dimasukkan dalam satu grup/kelompok. Contoh : “Select branch-
name, avg(balance) From account Group by branch-name”
Jika suatu fungsi diterapkan pada grup/kelompok yang dibentuk oleh group by
maka digunakan klausa having setelah group by. Contoh : ingin ditampilkan nama cabang
yang mempunyai rata-rata saldo lebih dari 1200. Query-nya : “Select branch-name,
avg(balance) From account Group by branch-name having avg (balance)>1200”. Fungsi
agregrasi count sering digunakan untuk menghitung jumlah tuple dalam suatu relasi. Notasi
fungsi ini dalam SQL adalah count (*). Jadi untuk menentukan jumlah tuple dalam relasi
customer, ditulis : “Select count(*) from customer”.
4. SUBQUERI TERSARANG (NESTED SUBQUERYS)
Biasanya digunakan untuk melalukuan test keanggotaan himpunan,
perbandingan himpunan dan kardinalitas himpunan.
Keanggotaan Himpunan
Digunakan in dan not in untuk melakukan test keanggotaan himpunan. Contoh : untuk
mendapatkan semua customer yang mempunyai pinjaman dan rekening pada bank.
Pertama : menemukan semua pemegang reeking dengan query : (select customer-name from
Sistem Basis Data
Dian Christien Arisona 30
depositor)
Kedua : mencari semua customer yang merupakan peminjam dan yang muncul dalam daftar
pemegang rekening. Maka dilakukan dengan “menyarangkan” subquery di atas dalam sebuah
select luar (outer select), menjadi : Select distinct customer-name from borrower Where
customer-name in (select customer-name from depositor)
Perbandingan Himpunan
Perhatikan query berikut : “Temukan semua nama cabang bank yang mempunyai
asset lebih besar dari bank-bank yang mempunyai minimal satu cabang berlokasi di
Brooklyn”.
Query-nya ditulis : “Select branch-name from branch where assets > all (select assets from
branch where branch-city = “Brooklyn”)”.
5. MODIFIKASI BASIS DATA
Meliputi menambah, menghapus dan mengubah informasi menggunakan SQL.
Penghapusan (Deletion)
Yang dapat dihapus (delete) hanyalah tuple bukan nilai pada suatu atribut
tertentu. Dalam SQL, deletion diekspresikan dengan : Delete from r where p
Dimana p menunjukkan predikat dan r adalah relasi.
Contoh :
- Hapus semua rekening Smith, ditulis :
Delete from depositor where costomer-name = “Smith”
- Hapus semua pinjaman dengan jumlah pinjaman antara $1300 dan $1500
Delete from loan where amount between 1300 and 1500
- Hapus semua rekening pada setiap cabang yang berlokasi di Perryridge
Delete from account where branch-name in (select branch-name from branch where branch-
city = “Perryridge”)
Sistem Basis Data
Dian Christien Arisona 31
Penyisipan (Insertion)
Untuk menambahkan satu tuple dalam relasi digunakan statement insert. Contoh :
Insert into account values (“Perryridge”,”A-9732”,1200)
Query ini identik dengan Insert into account (branch-name, account-number,balance) Values
(“Perryridge”,”A-9732”,1200). Insert juga dapat dilakukan untuk suatu hasil dari query yang
lain.
Contoh :
Insert into account select branch-name, loan-number, 200 From loan where branch-name =
“Perryridge”
Update
Dalam situasi tertentu, diinginkan untuk mengganti nilai dalam sebuah tuple
tanpa harus mengganti semua nilai dalam tuple tersebut. Untuk tujuan ini dapat
digunakan statement update.
Contoh:
- untuk menaikkan saldo para nasabah sebesar 5% ditulis query sebagai berikut :
Update account set balance = balance * 1.05
- untuk menaikkan saldo nasabah sebesar 6% bagi nasabah yang saldonya lebih dari
$10000, ditulis query sebagai berikut :
Update account set balance = balance *1.06 Where balance >10000
6. BAHASA DEFINISI DATA ( DATA – DEFINITION LANGUAGE)
DDL SQL memungkinkan dilakukannya spesifikasi tidak hanya pada himpunan relasi
tetapi juga informasi untuk setiap relasi, yang meliputi :
1. Skema setiap relasi
2. Domain nilai setiap atribut relasi
3. Konstrain integritas
4. Himpunan indeks untuk setiap relasi
5. Sekuriti dan autorisasi setiap relasi
6. Struktur penyimpanan secara fisik untuk setiap relasi dalam disk.
Sistem Basis Data
Dian Christien Arisona 32
Tipe-tipe Domain dalam SQL
SQL-92 standar mendukung bermacam-macam tipe domain yang built-in
sebagai berikut:
char(n) : tipe karakter dengan panjang yang tetap (n) (fixed-length character)
varchar(n) : tipe karakter dengan panjang bervariasi. Maksimum panjang n.
int : integer
smallint : small integer
numeric (p,d) : p menunjukkan jumlah digit bilangan dan d menunjukkan julah digit
dibelakang titik desimal.
real, double precision : floating-point dan double-precision floating point
float (n) : floating-point number
date : tipe kalender
time : tipe hari dalam jam,menit dan detik
SQL-92 menggunakan klausa create domain untuk mendefinisikan domain.
Contoh :
“create domain person-name char(20)”.
Definisi Skema dalam SQL
Untuk mendefinisikan sebuah relasi dengan perintah create table : Create table
r(A1D1,A2D2,….AnDn, <integrity contraint1>, ……………, <integrity contrantk>). Dimana
r adalah nama relasi, setiap AI adalah nama atribut dalam skema relasi, dan DI adalah tipe
domain dari nilai dalam domain atribut Ai. Integrity constraint yang diperbolehkan antara
lain : primary key (Aj1, Aj2,….Ajn) dan check (P).
Contoh :
Create table customer (customer-name char(20) not null, customer-street char(30), customer-
city char(30), primary key (customer-name))
create table branch (branch-name char(15) not null, branch-city char(30), assets
integer, primary key (branch-name), check(assets >=0))
Sistem Basis Data
Dian Christien Arisona 33
create table account (account-number char(10) not null, branch-name char(15), balance
integer, primary key (account-number), check (balance >=0))
4.4 Mengenal Operator
Operator AND
(Dipergunakan untuk menampilkan record yang memiliki kondisi lebih dari satu, dan
record yang ditampilkan hanya yang memenuhi semua kondisi) SELECT nama_karyawan,
gaji, kode_divisi FROM karyawan WHERE gaji > 2000000 AND kode_divisi = 'D0022'
Operator OR
(Dipergunakan untuk menampilkan record yang memiliki kondisi lebih dari satu, dan
record yang ditampilkan yang memenuhi salah satu kondisi) SELECT nama_karyawan, gaji,
kode_divisi FROM karyawan WHERE gaji > 2000000 OR kode_divisi = 'D0022'.
Operator BETWEEN
(Dipergunakan untuk menampilkan record yang berada dalam suatu batasan kondisi
tertentu) . SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE gaji
BETWEEN 2000000 AND 2600000.
Operator IN
(Dipergunakan untuk menampilkan record yang berada dalam suatu kelompok
kondisi tertentu ).SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE
kode_divisi IN ('D0012', 'D0022').
Operator NOT
(Dipergunakan untuk menampilkan record yang tidak termasuk dalam suatu kondisi
tertentu). SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE NOT
kode_divisi = 'D0012'
Operator LIKE
(Dipergunakan untuk menampilkan record yang memiliki bagian dari suatu kondisi
tertentu Penggunaan operator LIKE bisa didukung oleh penggunaan karakter %)
Operator Aritmetika
Sistem Basis Data
Dian Christien Arisona 34
*, dipergunakan untuk perkalian./, dipergunakan untuk pembagian.
+, dipergunakan untuk penambahan.-, dipergunakan untuk pengurangan.
contoh Gaji_setahun = gaji * 12
Menampilkan fungsi Agregat
(SUM, AVG, COUNT, MIN, MAX) Contoh : SELECT SUM(field) FROM
nama_tabel. SELECT COUNT (nama_field) FROM nama_tabel SELECT MIN(nama_field)
FROM nama_tabel . Dan begitu sterusnya untuk fungsi yg lain.
Fungsi Order by
Dipergunakan untuk menampilkan data yang terurut atau mengurutkan data. Ada dua
macam pengurutan : Secara Ascending (Asc)(Pengurutan nilai kolom secara menaik atau
membesar). Secara Descending (Desc)(Pengurutan nilai kolom secara menurun atau
mengeci)l.
Fungsi Group BY
Fungsi GROUP BY dipergunakan untuk mengelompokkan record-record pada tabel.
Fungsi GROUP by dipergunakan mengikuti operasi agregat pada suatu perintah.
Fungsi Having
Fungsi HAVING memiliki kesamaan fungsi seperti WHERE. Tetapi fungsi HAVING
dipergunakan bila ada pemanggilan operasi GROUP dalam query dan operand-nya.
melibatkan pemanggilan operasi agregat. Jadi fungsi HAVING dipergunakan mengikuti
Fungsi GROUP BY, untuk memberikan suatu kondisi. SELECT colulmn_expression FROM
table_name GROUP BY grouping_expression HAVING roup_condition
Fungsi JOIN
Fungsi JOIN dipergunakan untuk menampilkan data yang berasal lebih dari satu tabel.
Ada beberapa macam JOIN dalam SQL :
a. Inner Joins
Inner joins menggunakan operator pembanding untuk mencocokkan baris (rows) dari
dua tabel berdasarkan pada nilai yang ada di kolom yang dipergunakan sebagai pembanding
atau penghubung dari masing-masing tabel.
Sistem Basis Data
Dian Christien Arisona 35
Contoh :
select * from employee inner join department on employee.deparment_id = department.
department_id
b. Outer Joins
Outer join menampilkan semua baris dari tabel selama memenuhi kondisi walaupun
tidak memiliki kecocokan data. Ada tiga macam Outer Join : Left Outer Join, Right Outer
Join dan Full Outer Join
Contoh :
select * from employee left outer join department on employee.deparment_id = department.
department_id
c. Cross Joins
Cross Join mengembalikan/menampilkan nilai semua baris (record) dari tabel sebelah
kiri. Setiap record dari tabel sebelah kiri digabungkan dengan semua record dari tabel sebelah
kanan. Bila Cross Join menggunakan WHERE, maka hasil yang ditampilkan sama seperti
bila menggunakan INNER JOIN. Cross join juga disebut dengan Cartesian products bila
tidak menggunakan WHERE
Contoh :
SELECT trklinik.kdtransaksi, trklinik.kdpasien, pasien.nmpasien FROM trklinik CROSS
JOIN pasien WHERE trklinik.kdpasien = pasien.kdpasien ORDER BY kdtransaksi ASC
Sistem Basis Data
Dian Christien Arisona 36
BAB V
Menggunakan Fitur pada perintah select
5.1 Menggunakan operator is null
Operator IS NULL mengetes nilai yang null. Nilai null berarti nilai tersebut tidak
tersedia, tidak diberikan, tidak diketahui, atau tidak dapat digunakan. Oleh karena itu, kita
tidak dapat menggunakan “=” karena nilai null tidak dapat sama atau tidak sama dengan
suatu nilai.
Contoh:
Menampilkan data karyawan yang tidak memiliki atasan.
SELECT id, last_name, manager_id
FROM employee
WHERE manager_id = NULL;
SELECT id, last_name, manager_id
FROM employee
WHERE manager_id = „ „;
Menampilkan data karyawan yang memiliki prosentase komisi.
SELECT last_name, title, commission_pct
FROM employee
WHERE commission_pct IS NOT NULL
Nilai-nilai fields dalam sebuah tuple kadang-kadang tidak diketahui (unknown)
(Misal, sebuah nilai rating tidak diberikan) atau tidak dapat digunakan (inapplicable) (Misal,
tidak mempunyai nama isteri/suami). SQL menyediakan nilai spesial null utk keadaan-
keadaan tersebut. Adanya nilai null dapat menimbulkan beberapa komplikasi.
Operasi-operasi aritmatika +, -, *, dan /, semuanya menghasilkan nilai null jika salah satu
argumennya bernilai null. Null values dapat menimbulkan kelakukan yang tidak diharapkan
Sistem Basis Data
Dian Christien Arisona 37
untuk operasi-operasi aggregasi. COUNT (*) memperlakukan null values seperti halnya nilai-
nilai lainnya (ikut diperlhitungkan). Operasi-operasi aggregasi lainnya (COUNT, SUM,
AVG, MIN, MAX, dan variasi penggunaan DISTINCT) mengabaikan null values . Null
values dapat tidak dibolehkan untuk muncul dengan menspesifikasikan NOT NULL sebagai
bagian dari definisi field-field yang diinginkan.
Contoh:
sname CHAR(20)NOT NULL
Selain itu, fields dalam primary key tidak diperbolehkan bernilai null. Untuk ini
terdapat constraint implisit NOT NULL untuk setiap field yang dinyatakan dalam PRIMARY
KEY constraint.
5.2 Menggunakan operator between dan not between
Kita dapat menampilkan data berdasarkan jangkauan nilai tertentu menggunakan
operator BETWEEN. Jangkauan yang kita tentukan adalah jangkauan rendah dan tinggi.
Contoh:
Menampilkan data karyawan yang mulai bekerja antara tanggal 9 Mei 1991 dan 17 Juni
1991.
SELECT last_name, hire_date
FROM employee
WHERE hire_date BETWEEN „09-MAY-91′ AND „17-JUN-91′;
5.3 Menggunakan operator like dan not like
mysql> select * from mahasiswa where nama_lengkap like 'A%';
+-----------+---------------+----------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+---------------+----------------------------+-------------+-----------+
| 087006118 | Andina Novita | Perum Batara Blok C. No. 8 | P | A |
| 087006122 | Agus Ramdah | Kawalu No. 210 | L | O |
Sistem Basis Data
Dian Christien Arisona 38
| 087006222 | Abdul Kodir | Manonjaya | L | AB|
+-----------+---------------+----------------------------+-------------+-----------+
3 rows in set (0.07 sec)
Analisa:
Operator diatas untuk menampilkan data pada tabel mahasiswa dimana data pada kolom
tertentu diawali dengan nilai tertentu.
Kita mungkin tidak selalu mengetahui nilai tertentu secara pasti dalam proses
pencarian. Kita dapat menampilkan baris data yang sesuai dengan susunan karakter tertentu
menggunakan operator LIKE. Dua jenis simbol dapat digunakan untuk membangun string
pencarian.
% : Menunjukkan beberapa urutan nilai karakter 0 atau lebih
- : Menunjukkan beberapa karakter tunggal
Contoh:
Menampilkan data karyawan yang memiliki nama berawalan huruf “M”.
SELECT last_name
FROM employee
WHERE last_name LIKE „M%‟;Menampilkan data karyawan yang memiliki nama tidak
mengandung huruf “a”.SELECT last_name
FROM employee
WHERE last_name NOT LIKE „%a%‟;
Operator LIKE dapat digunakan sebagai jalan pintas bagi beberapa perbandingan
menggunakan BETWEEN.
Contoh 2:
Menampilkan data karyawan yang mulai bekerja pada tahun 1991.
SELECT last_name, hire_date
FROM employee
WHERE hire_date LIKE „%91′;
5.4 Menggunakan order by untuk mengurutkan data
Sistem Basis Data
Dian Christien Arisona 39
Fungsi Order by Dipergunakan untuk menampilkan data yang terurut atau
mengurutkan data. Ada dua macam pengurutan : Secara Ascending (Asc)(Pengurutan nilai
kolom secara menaik atau membesar). Secara Descending (Desc)(Pengurutan nilai kolom
secara menurun atau mengecil).
Maksud dari pengurutan data dengan perintah ORDER BY adalah jika data sebuah
tabel diurutkan dengan perintah tersebut, maka data tadi akan diurutkan dari atas ke bawah
berdasarkan abjad. Hal ini juga berlaku jika data yang ada dalam bentuk angka. Berikut
struktur perintah SQL :
SELECT * FROM [NAMA TABEL] ORDER BY [NAMA KOLOM];
5.5 Menggunakan group by untuk mengelompokkan data
Fungsi GROUP BY dipergunakan untuk mengelompokkan record-record pada tabel.
Fungsi GROUP by dipergunakan mengikuti operasi agregat pada suatu perintah.
Statement GROUP BY digunakan bersama dengan fungsi agregat ke grup hasil-set
oleh satu atau beberapa kolom.
Bentuk umum GROUP BY:
SELECT nama_kolom, aggregate_function (nama_kolom)
DARI nama_tabel
Sistem Basis Data
Dian Christien Arisona 40
WHERE nama_kolom operator nilai
GROUP BY nama_kolom
Contoh:
Tabel Pesanan
No Tanngal pesanan Harga Pesanan Pelanggan
1 2011/11/12 1000 Hanizar
2 2011/10/23 1600 Nilam
3 2011/09/02 700 Hanizar
4 2011/09/03 300 Hanizar
5 2011/08/30 2000 Jeni
6 2011/10/04 100 Nilam
Jika kita ingin mencari jumlah total pesanan dari setiap pelanggan.
Maka, kita harus menggunakan pernyataan GROUP BY untuk kelompok pelanggan.
Bentuk umumnya adalah : SELECT Pelanggan, SUM (Harga pesanan) FROM
Pesanan GROUP BY Pelanggan maka, hasilnya adalah sebagai berikut :
Pelanggan SUM(HargaPesanan)
Hanizar 2000
Nilam 1700
Jeni 2000
Contoh 2:
Tabel Pekerjaan
Nama Jam kerja
Raisya 12
Doni 10
Raisya 8
Doni 15
Sistem Basis Data
Dian Christien Arisona 41
SELECT Nama, DESC (Jam_Kerja)
FROM NamaJam_Kerja
GROUP BY Nama
Maka, Hasilnya adalah :
Nama Jam Kerja
Doni 15
Raisya 12
Doni 10
Raisya 8
Menggunakan Group By Clause
Perhatikan contoh berikut :
select department_id, avg(salary) from employees group by department_id ;
Pada contoh diatas kita menambahkan suatu fungsi yaitu fungsi Group By yang
digunakan untuk mengelompokkan rata-rata salary berdasarkan department_id. jadi begini
kira-kira terjemahan contoh diatas :
Tampilkan department id beserta dengan rata-rata salary dari tabel employees dimana
rata-rata salarynya dikelompokkan berdasar department_id. jadi intinya , kita mencari nilai
rata-rata salary dari tiap department.
Sistem Basis Data
Dian Christien Arisona 42
Menggunakan Group By Clause dengan multiple columns(banyak kolom/lebih dari
satu kolom)
Perhatikan contoh berikut :
select department_id as dept_id, job_id, AVG(salary)
from employees
group by department_id, job_id
pada contoh diatas, kita akan menampilkan dept_id , job_id beserta dengan rata-rata
salary dimana rata-rata salarynya didapatkan dengan mengelompokkan department_id
terlebih dahulu lalu setelah itu dikelompokkan berdasarkan job_id. Intinya, kita ingin mencari
rata-rata salary dari tiap job_id dimana job_id tersebut terdapat dalam department_id yang
sama .
Sistem Basis Data
Dian Christien Arisona 43
BAB VI
Perintah MySQL untuk Menampilkan Data dari Beberapa Tabel
Di dalam suatu RDBMS termasuk MySQL, tentunya sudah menjadi suatu kewajaran
jika dalam satu database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut dapat
berhubungan (berelasi) satu sama lain. Relasi antar-tabel dapat berupa relasi 1-1 (one-to-one),
1-M (one-to-many), atau M-N (many-to-many). Sebagai contoh terlihat pada gambar
pemodelan data konseptual (class diagram) di bawah ini. Tabel pelanggan berhubungan
dengan pesan, pesan dengan barang, dsb.
Pada pembuatan suatu aplikasi, terkadang kita juga memerlukan tampilan data yang
tidak hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus. Contohnya,
dari class diagram di bawah, kita ingin menampilkan nama pelanggan berikut transaksi yang
pernah dilakukannya. Dari contoh tersebut, kita harus bisa menggabungkan minimal dua
tabel, yaitu pelanggan dan pesan.
Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk
perintah JOIN. Akan dijelaskan secara bertahap mengenai bagaimana menggabungkan dua
tabel atau lebih, terutama untuk menampilkan data yang berasal dari beberapa tabel. Contoh-
contoh dalam tutorial ini secara khusus telah dicoba di database MySQL, namun demikian
secara umum perintah penggabungan tabel di semua jenis database tidak jauh berbeda alias
sama.
Sistem Basis Data
Dian Christien Arisona 44
6.1 Inner Join
Yang pertama Inner join = Inner join hanya akan ditampilkan baris baris yang satu
sama lain memiliki kecocokan . Contoh : SELECT a.Nama, b,penyakit FROM pasien a
INNER JOIN penyakit b ON b.id = a.id;
+------+---------+
| Nama | Penyakit|
+------+---------+
| Koni | Asma |
| Huni | Mual |
| Buri | Pusing |
+------+---------+
6.2 Left Join
Yang kedua Left join = Left join akan menampilkan semua isi tabel sisi kiri ,
walaupun data di pasangan joinnya yang disisi kanan nilainya tidak sama ataupun berisi null.
Contoh : SELECT a.Nama, b.penyakit FROM pasien a LEFT JOIN penyakit b ON b.id =
a.id;
+------+---------+
| Nama | Penyakit|
+------+---------+
| Koni | Asma |
Sistem Basis Data
Dian Christien Arisona 45
| Huni | Mual |
| Buri | Pusing |
| Orui | NULL |
+------+---------+
Left join adalah relasi antar tabel, namun query yang ditampilkan adalah mengacu
pada tabel yang sebelah kiri / tabel utama.
misal seperti ini :
mysql> select * from mahasiswa order by id asc;
+----+--------------+----------+-----------------------+----------+
| id | nim | kota | fakultas | angkatan |
+----+--------------+----------+-----------------------+----------+
| 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 |
| 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 |
| 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 |
| 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 |
| 5 | A11.111.1043 | Demak | Teknik Informatika | 2010 |
+----+--------------+----------+-----------------------+----------+
5 rows in set (0.05 sec)
mysql> select * from nim order by id asc;
+----+--------------+----------+
| id | nim | nama |
+----+--------------+----------+
| 1 | A10.111.1031 | Musthofa |
| 2 | A10.111.1032 | Bisri |
| 3 | A11.111.1040 | Alex |
| 4 | A11.111.1041 | Graham |
+----+--------------+----------+
4 rows in set (0.00 sec)
Jika kedua tabel itu kita relasi dengan left join maka akan menjadi seperti ini :
mysql> select a.id, a.nim, a.kota, a.fakultas, a.angkatan, b.nama from mahasiswa a left join
nim b on a.nim=b.nim;
Sistem Basis Data
Dian Christien Arisona 46
+----+--------------+----------+-----------------------+----------+----------+
| id | nim | kota | fakultas | angkatan | nama |
+----+--------------+----------+-----------------------+----------+----------+
| 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 | Musthofa |
| 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 | Bisri |
| 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 | Alex |
| 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 | Graham |
| 5 | A11.111.1043 | Demak | Teknik Informatika | 2010 | NULL |
+----+--------------+----------+-----------------------+----------+----------+
5 rows in set (0.00 sec)
nah terlihat total data yang ditampilkan ada 5 baris, namun lihat pada baris kelima kolom
nama, disitu tertulis NULL.
6.3 Right Join
Selanjutnya Right join = Right join ini hanya kebalikan left join , akan
menampilkan semua isi tabel sisi kanan, walaupun data di pasangan joinnya yang di sisi kiri
nilainya tidak sama ataupun berisi null.
Contoh :
SELECT a.Nama, b.penyakit FROM pasien a RIGHT JOIN penyakit b ON b.id = a.id;
+------+---------+
| Nama | Penyakit|
+------+---------+
| Koni | Asma |
| Huni | Mual |
| Buri | Pusing |
+------+---------+
6.4 Full Join
Yang terakhir Full join = Full join akan menampilkan semua isi tabel sisi kiri
walaupun data di pasangan joinnya yang disisi kanan nilainya null atau sebaliknya
Sistem Basis Data
Dian Christien Arisona 47
Contoh :
SELECT a.Nama, b.Penyakit FROM pasien a FULL JOIN JK b on a. id = b.id;
+------+---------+ +------+----------+
| Nama | Penyakit| | Nama | JK |
+------+---------+ +------+----------+
| Koni | Asma | | Koni | Laki |
| Huni | Mual | | Huni | Perempuan|
| Buri | Pusing | | Buri | Laki |
+------+---------+ +------+----------+
Menjadi
+------+---------+----------+
| Nama | Penyakit| JK |
+------+--------------------+
| Koni | Asma | Laki |
| Huni | Mual |Perempuan |
| Buri | Pusing | Laki |
+------+---------+----------+
Sistem Basis Data
Dian Christien Arisona 48
BAB VII
Menghubungkan mysql ke java
JDBC (Java Database Conectivity) merupakan library yang digunakan untuk
mengkoneksikan DBMS dengan Java, baik itu MySQL, Oracle, Microsoft ODBC dan DBMS
lainnya. Untuk menghubungkan antara Java dan MySQL kita membutuhkan sebuah library
yang bernama MySQLConector Java.
Untuk membuat koneksi dari Java ke MySQL kita memerlukan class yang bernama
Driver. Dan setiap Connector (yang kita gunakan MySQLConnectorJava) memiliki Driver
masing-masing yang selalu mengimplementasi class Driver yang ada dalam paket “java.sql”.
Langkah pertama kita harus mengecek keberadaan Driver dalam MySQLConnector java kita
gunakan perintah ini untuk mengetesnya (Sebelumnya diimport dulu file jar untuk mysql
connectornya ya) :
1. Mengecek Driver MySQL
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
Atau lengkapnya seperti ini :
Sistem Basis Data
Dian Christien Arisona 49
import java.sql.Connection;
import java.sql.DriverManager;
public class koneksi {
public static void main (String[]s) {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Driver terbaca");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
2. Membuat Connection ke Database
selanjutnya kita membuat Connection untuk menghubungkan program java dan
database yang kita buat. Dan untuk membuat Connection kita harus mengetahui host, port,
dan nama database yang akan kita gunakan. Selain itu kita juga harus mengetahui username
dan password yang digunakan untuk koneksi mysql tersebut. Perintahnya seperti ini :
Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/dbjava”,
“root”, “”);
Atau lengkapnya seperti ini :
import java.sql.Connection;
import java.sql.DriverManager;
public class koneksi {
public static void main (String[]s) {
Connection con;
String dbHost = "jdbc:mysql://localhost:3306/dbcrudsederhana";
String dbUser = "root";
String dbPass = "";
try {
Sistem Basis Data
Dian Christien Arisona 50
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection(dbHost, dbUser, dbPass);
System.out.println("koneksi");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Biasanya untuk kepentingan Aplikasi Database, suatu koneksi seperti ini akan dipisah
dan dibuat menjadi kelas sendiri, lalu didalamnya dibuat method yang akan mengembalikan
nilai koneksi tersebut, misalnya seperti ini :
import java.sql.Connection;
import java.sql.DriverManager;
public class koneksi {
private Connection con;
public Connection con {
String dbHost = "jdbc:mysql://localhost:3306/dbcrudsederhana";
String dbUser = "root";
String dbPass = "";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection(dbHost, dbUser, dbPass);
System.out.println("koneksi");
}
catch (Exception e) {
e.printStackTrace();
}
return con;
}
Sistem Basis Data
Dian Christien Arisona 51
BAB VIII
Menghubungkan mysql ke PHP
Terdapat 4 Tahapan dalam pembuatan Script PHP ke MySQL ini
1.Pembuatan Koneksi PHP ke MySQL
2.Pembuatan Tabel MySQL
3.Memasukkan data pada tabel MySQL
4.Menampilkan data dari MySQL
Pertama-tama kita akan membuat script koneksi PHP ke MySQL
<?php
$hostmysql = “localhost”;
$username = “mysql_username”;
$password = “mysql_password”;
$database = “nama_database”;
$conn = mysql_connect(”$hostmysql”,”$username”,”$password”);
Sistem Basis Data
Dian Christien Arisona 52
if (!$conn) die (”Gagal Melakukan Koneksi”);
mysql_select_db($database,$conn) or die (”Database Tidak Diketemukan di Server”); ? >
Untuk mempermudah, simpan file tersebut dengan nama connect.php , agar jika
terdapat script PHP yang memerlukan untuk terkoneksi dengan database, dapat dengan
mudah memanggilnya.
Penjelasan Script koneksi PHP ke MySQL:
a. Penyambungan mysql dipergunakan untuk membuat koneksi menggunakan PHP ke
server MySQL. Data untuk hostname, mysql username, dan password yang digunakan
telah dideklarasikan oleh variabel $hostmysql, $username, $password.
Penulisannya pada script akan sama dengan:
mysql_connect(”localhost”,”username”,”password”);
b. mysql_select_db dipergunakan untuk memilih database yang akan digunakan.
c. if (!$conn) die (”Gagal Melakukan Koneksi”); jika terjadi kegagalan dalam melakukan
koneksi (!$conn), maka akan muncul pesan kesalahan Gagal Melakukan Koneksi
Setelah itu kita akan membuat tabel MySQL
<?php include (”connect.php”);
mysql_query(”CREATE TABLE user (
namadpnVARCHAR(20),
namablkg VARCHAR(20),
negara VARCHAR(20))”); ?>
Penjelasan:
1. include (”connect.php”); kita gunakan untuk mengikutkan sebuah file (contoh file
connect.php).
2. mysql_query perintah ini memiliki format umum yakni ysql_query(string dari query).
Script dibawah ini dipergunakan untuk membuat tabel
<?php include (”connect.php”);
$insert = “INSERT INTO users (type,firstname,lastname)
Sistem Basis Data
Dian Christien Arisona 53
VALUES (’User,’Budi’,’Utomo’)”;
mysql_query($insert) or die (”tidak dapat menulis pada tabel”);?>
Script dibawah ini dipergunakan untuk menampilkan data dari tabel
<?php include (”connect.php”);
$query = “SELECT * FROM user”;
$result = mysql_query($query);
$numrows = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
echo “Total: $numrows”;
echo “Tipe: $row[type]”;
echo “Nama Depan: $row[firstname]”;
echo “Nama Belakang: $row[lastname]“;
} ?>
Daftar Pustaka
 http://syafiq13.wordpress.com/2012/11/24/melakukan-koneksi-mysql-dengan-java-melalui-
jdbc/
 http://www.kelasinformatika.com/2012/06/mengenal-sql-secara-
mendasar_02.html#ixzz2TWVx7lD6
 http://dulida.blogspot.com/2012/02/sintak-pada-sql.html#ixzz2TWTwpbqF
 http://www.qwords.com/kb/2009/02/membuat-koneksi-php-ke-mysql/
http://ahmadnasikun.wordpress.com/2011/03/10/cara-koneksi-java-dengan-database-
mysql/
 http://blog.seventhsoft.net/2012/09/pengertian-databasebasis-data.html
 http://setiyawatii.blogspot.com/
Sistem Basis Data
Dian Christien Arisona 54
 https://www.google.com/search?q=pengertian+database&client=firefox-
a&hs=ONZ&rls=org.mozilla:enUS:official&tbm=isch&tbo=u&source=univ&sa=X&
ei=psCVUd7zMMqArgem6IGICA&ved=0CD8QsAQ&biw=1366&bih=598#imgrc=
Geh9W1Jj3iXp9M%3A%3Bql_rljt4N5MXM%3Bhttp%253A%252F%252Fimg.cara
pedia.com%252Fimages%252Farticle%252Fdatabase.gif%3Bhttp%253A%252F%25
2Fcarapedia.com%252Fpengertian_definisi_database_info2083.html%3B752%3B516

Contenu connexe

Tendances

Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunakSahrul Sindriana
 
Makalah Web Programming 1
Makalah Web Programming 1Makalah Web Programming 1
Makalah Web Programming 1Dwi Mardianti
 
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan HotelMakalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan HotelMuhammad Iqbal
 
5 transformasi model data
5 transformasi model data5 transformasi model data
5 transformasi model dataSimon Patabang
 
Jawaban uas Perancis
Jawaban uas PerancisJawaban uas Perancis
Jawaban uas Perancislonklonk
 
Database minimarket-Garnis Q
Database minimarket-Garnis QDatabase minimarket-Garnis Q
Database minimarket-Garnis QG Nis
 
Software Requirement Specification SRS
Software Requirement Specification SRSSoftware Requirement Specification SRS
Software Requirement Specification SRSSeptian Rico Hernawan
 
Pengantar Dan Konsep Keamanan Sistem Informasi
Pengantar Dan Konsep Keamanan Sistem Informasi   Pengantar Dan Konsep Keamanan Sistem Informasi
Pengantar Dan Konsep Keamanan Sistem Informasi Indri Sukmawati Rahayu
 
Diktat sistem basis data
Diktat sistem basis dataDiktat sistem basis data
Diktat sistem basis dataiimpunya3
 
Latihan praktek microsoft access
Latihan praktek microsoft accessLatihan praktek microsoft access
Latihan praktek microsoft accessndriehs
 
Jenis-jenis Penipuan di Internet dan Cara Menghindarinya
Jenis-jenis Penipuan di Internet dan Cara MenghindarinyaJenis-jenis Penipuan di Internet dan Cara Menghindarinya
Jenis-jenis Penipuan di Internet dan Cara MenghindarinyaYohanes Widodo S.Sos, M.Sc
 
Tugas 2 individu tentang dbms
Tugas 2 individu tentang dbmsTugas 2 individu tentang dbms
Tugas 2 individu tentang dbmsElma Fiana
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)Simon Patabang
 
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
Pengertian field, record, table, file, data dan basis data lengkap   pengerti...Pengertian field, record, table, file, data dan basis data lengkap   pengerti...
Pengertian field, record, table, file, data dan basis data lengkap pengerti...ym.ygrex@comp
 

Tendances (20)

Project charter
Project charterProject charter
Project charter
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunak
 
Makalah Web Programming 1
Makalah Web Programming 1Makalah Web Programming 1
Makalah Web Programming 1
 
Perkuliahan ke 6 queue
Perkuliahan ke 6 queuePerkuliahan ke 6 queue
Perkuliahan ke 6 queue
 
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan HotelMakalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
 
5 transformasi model data
5 transformasi model data5 transformasi model data
5 transformasi model data
 
Jawaban uas Perancis
Jawaban uas PerancisJawaban uas Perancis
Jawaban uas Perancis
 
Database minimarket-Garnis Q
Database minimarket-Garnis QDatabase minimarket-Garnis Q
Database minimarket-Garnis Q
 
Linked List
Linked ListLinked List
Linked List
 
Software Requirement Specification SRS
Software Requirement Specification SRSSoftware Requirement Specification SRS
Software Requirement Specification SRS
 
Laporan sistem basis data sirkulasi peminjaman buku
Laporan sistem basis data sirkulasi peminjaman bukuLaporan sistem basis data sirkulasi peminjaman buku
Laporan sistem basis data sirkulasi peminjaman buku
 
Pengantar Dan Konsep Keamanan Sistem Informasi
Pengantar Dan Konsep Keamanan Sistem Informasi   Pengantar Dan Konsep Keamanan Sistem Informasi
Pengantar Dan Konsep Keamanan Sistem Informasi
 
Diktat sistem basis data
Diktat sistem basis dataDiktat sistem basis data
Diktat sistem basis data
 
Latihan soal struktur data
Latihan soal struktur dataLatihan soal struktur data
Latihan soal struktur data
 
Latihan praktek microsoft access
Latihan praktek microsoft accessLatihan praktek microsoft access
Latihan praktek microsoft access
 
Jenis-jenis Penipuan di Internet dan Cara Menghindarinya
Jenis-jenis Penipuan di Internet dan Cara MenghindarinyaJenis-jenis Penipuan di Internet dan Cara Menghindarinya
Jenis-jenis Penipuan di Internet dan Cara Menghindarinya
 
Tugas 2 individu tentang dbms
Tugas 2 individu tentang dbmsTugas 2 individu tentang dbms
Tugas 2 individu tentang dbms
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
 
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
Pengertian field, record, table, file, data dan basis data lengkap   pengerti...Pengertian field, record, table, file, data dan basis data lengkap   pengerti...
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
 

En vedette

Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Maulana Rocky
 
Perintah bahasa Query (SQL)
Perintah bahasa Query (SQL)Perintah bahasa Query (SQL)
Perintah bahasa Query (SQL)Deka M Wildan
 
Pengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQLPengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQLI Putu Hariyadi
 
Proposal tugas akhir jadi
Proposal tugas akhir jadiProposal tugas akhir jadi
Proposal tugas akhir jadichamidun_majid
 
Contoh Laporan Tugas Akhir (TA)
Contoh Laporan Tugas Akhir (TA)Contoh Laporan Tugas Akhir (TA)
Contoh Laporan Tugas Akhir (TA)Area Pratama
 

En vedette (8)

Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4
 
Perintah bahasa Query (SQL)
Perintah bahasa Query (SQL)Perintah bahasa Query (SQL)
Perintah bahasa Query (SQL)
 
Pengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQLPengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQL
 
Proposal TA selesai
Proposal TA selesaiProposal TA selesai
Proposal TA selesai
 
Proposal tugas akhir jadi
Proposal tugas akhir jadiProposal tugas akhir jadi
Proposal tugas akhir jadi
 
Tugas Akhir
Tugas Akhir Tugas Akhir
Tugas Akhir
 
Tugas Akhir
Tugas AkhirTugas Akhir
Tugas Akhir
 
Contoh Laporan Tugas Akhir (TA)
Contoh Laporan Tugas Akhir (TA)Contoh Laporan Tugas Akhir (TA)
Contoh Laporan Tugas Akhir (TA)
 

Similaire à Makalah simbad

SIM, Zahra Abida, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu Bua...
SIM, Zahra Abida, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu Bua...SIM, Zahra Abida, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu Bua...
SIM, Zahra Abida, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu Bua...Zahra Abida
 
SIM, Adi Kurniawan Ramadhan, Hapzi Ali, Sistem Manajemen Database, S1 Akuntan...
SIM, Adi Kurniawan Ramadhan, Hapzi Ali, Sistem Manajemen Database, S1 Akuntan...SIM, Adi Kurniawan Ramadhan, Hapzi Ali, Sistem Manajemen Database, S1 Akuntan...
SIM, Adi Kurniawan Ramadhan, Hapzi Ali, Sistem Manajemen Database, S1 Akuntan...Adi Kurniawan R
 
Sim, 6, syirlla maulidina, database manajemen system , universitas mercu buan...
Sim, 6, syirlla maulidina, database manajemen system , universitas mercu buan...Sim, 6, syirlla maulidina, database manajemen system , universitas mercu buan...
Sim, 6, syirlla maulidina, database manajemen system , universitas mercu buan...SyirllaMaulidina
 
3. si pi, yunke setya dfr, hapzi ali, basis data dalam manajemen informasi, u...
3. si pi, yunke setya dfr, hapzi ali, basis data dalam manajemen informasi, u...3. si pi, yunke setya dfr, hapzi ali, basis data dalam manajemen informasi, u...
3. si pi, yunke setya dfr, hapzi ali, basis data dalam manajemen informasi, u...ynk100681
 
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...Tisa Widyastuti
 
Sim, mochamad deviyana putra, hapzi ali, sistem manajemen database, umb, 2017
Sim, mochamad deviyana putra, hapzi ali, sistem manajemen database, umb, 2017Sim, mochamad deviyana putra, hapzi ali, sistem manajemen database, umb, 2017
Sim, mochamad deviyana putra, hapzi ali, sistem manajemen database, umb, 2017Mochamad Deviyana Putra
 
Tugas sim, alfina rolitasari, yananto mihadi putra, blog dan database, 2018.
Tugas sim, alfina rolitasari, yananto mihadi putra,  blog dan database, 2018.Tugas sim, alfina rolitasari, yananto mihadi putra,  blog dan database, 2018.
Tugas sim, alfina rolitasari, yananto mihadi putra, blog dan database, 2018.AlfinaRltsr
 
Sim5,listiyono, prof. dr. ir. hapzi ali, cma, mm. sistem manajemen data, univ...
Sim5,listiyono, prof. dr. ir. hapzi ali, cma, mm. sistem manajemen data, univ...Sim5,listiyono, prof. dr. ir. hapzi ali, cma, mm. sistem manajemen data, univ...
Sim5,listiyono, prof. dr. ir. hapzi ali, cma, mm. sistem manajemen data, univ...Listi yono
 
Sim, alya zulfa oktaviana putri, hapzi ali,sistem manajemen database,universi...
Sim, alya zulfa oktaviana putri, hapzi ali,sistem manajemen database,universi...Sim, alya zulfa oktaviana putri, hapzi ali,sistem manajemen database,universi...
Sim, alya zulfa oktaviana putri, hapzi ali,sistem manajemen database,universi...Alya Zulfa Oktaviana Putri
 
Tugas sim an'nida fatra yananto mihadi putra, se, m.si blog dan data base, 2018
Tugas sim an'nida fatra yananto mihadi putra, se, m.si blog dan data base, 2018Tugas sim an'nida fatra yananto mihadi putra, se, m.si blog dan data base, 2018
Tugas sim an'nida fatra yananto mihadi putra, se, m.si blog dan data base, 2018Annidafatra
 
Sim, yuli dwi astuti, hapzi ali, menganalisis dan mengembangkan sistem inform...
Sim, yuli dwi astuti, hapzi ali, menganalisis dan mengembangkan sistem inform...Sim, yuli dwi astuti, hapzi ali, menganalisis dan mengembangkan sistem inform...
Sim, yuli dwi astuti, hapzi ali, menganalisis dan mengembangkan sistem inform...Yuli Dwi Astuti
 
SIM.ROJIKIN.Prof.Dr.Ir.Hapzi Ali,MM,CMA.SISTEM MANAJEMEN DATABASE.UNIVERSITAS...
SIM.ROJIKIN.Prof.Dr.Ir.Hapzi Ali,MM,CMA.SISTEM MANAJEMEN DATABASE.UNIVERSITAS...SIM.ROJIKIN.Prof.Dr.Ir.Hapzi Ali,MM,CMA.SISTEM MANAJEMEN DATABASE.UNIVERSITAS...
SIM.ROJIKIN.Prof.Dr.Ir.Hapzi Ali,MM,CMA.SISTEM MANAJEMEN DATABASE.UNIVERSITAS...Nurlelah Nurlelah
 

Similaire à Makalah simbad (20)

SIM, Zahra Abida, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu Bua...
SIM, Zahra Abida, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu Bua...SIM, Zahra Abida, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu Bua...
SIM, Zahra Abida, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu Bua...
 
SIM, Adi Kurniawan Ramadhan, Hapzi Ali, Sistem Manajemen Database, S1 Akuntan...
SIM, Adi Kurniawan Ramadhan, Hapzi Ali, Sistem Manajemen Database, S1 Akuntan...SIM, Adi Kurniawan Ramadhan, Hapzi Ali, Sistem Manajemen Database, S1 Akuntan...
SIM, Adi Kurniawan Ramadhan, Hapzi Ali, Sistem Manajemen Database, S1 Akuntan...
 
Forum 6
Forum 6Forum 6
Forum 6
 
Power point modul 5
Power point modul 5Power point modul 5
Power point modul 5
 
Sim, 6, syirlla maulidina, database manajemen system , universitas mercu buan...
Sim, 6, syirlla maulidina, database manajemen system , universitas mercu buan...Sim, 6, syirlla maulidina, database manajemen system , universitas mercu buan...
Sim, 6, syirlla maulidina, database manajemen system , universitas mercu buan...
 
Data & basisdata
Data & basisdataData & basisdata
Data & basisdata
 
Makalah basis data
Makalah basis dataMakalah basis data
Makalah basis data
 
3. si pi, yunke setya dfr, hapzi ali, basis data dalam manajemen informasi, u...
3. si pi, yunke setya dfr, hapzi ali, basis data dalam manajemen informasi, u...3. si pi, yunke setya dfr, hapzi ali, basis data dalam manajemen informasi, u...
3. si pi, yunke setya dfr, hapzi ali, basis data dalam manajemen informasi, u...
 
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...
Sim, tisa widyastuti, hapzi ali, sistem manajemen database, universitas mercu...
 
Sim, mochamad deviyana putra, hapzi ali, sistem manajemen database, umb, 2017
Sim, mochamad deviyana putra, hapzi ali, sistem manajemen database, umb, 2017Sim, mochamad deviyana putra, hapzi ali, sistem manajemen database, umb, 2017
Sim, mochamad deviyana putra, hapzi ali, sistem manajemen database, umb, 2017
 
Forum 6
Forum 6Forum 6
Forum 6
 
Tugas sim, alfina rolitasari, yananto mihadi putra, blog dan database, 2018.
Tugas sim, alfina rolitasari, yananto mihadi putra,  blog dan database, 2018.Tugas sim, alfina rolitasari, yananto mihadi putra,  blog dan database, 2018.
Tugas sim, alfina rolitasari, yananto mihadi putra, blog dan database, 2018.
 
Sim5,listiyono, prof. dr. ir. hapzi ali, cma, mm. sistem manajemen data, univ...
Sim5,listiyono, prof. dr. ir. hapzi ali, cma, mm. sistem manajemen data, univ...Sim5,listiyono, prof. dr. ir. hapzi ali, cma, mm. sistem manajemen data, univ...
Sim5,listiyono, prof. dr. ir. hapzi ali, cma, mm. sistem manajemen data, univ...
 
Power point modul 5
Power point modul 5Power point modul 5
Power point modul 5
 
Sim, alya zulfa oktaviana putri, hapzi ali,sistem manajemen database,universi...
Sim, alya zulfa oktaviana putri, hapzi ali,sistem manajemen database,universi...Sim, alya zulfa oktaviana putri, hapzi ali,sistem manajemen database,universi...
Sim, alya zulfa oktaviana putri, hapzi ali,sistem manajemen database,universi...
 
Tugas sim an'nida fatra yananto mihadi putra, se, m.si blog dan data base, 2018
Tugas sim an'nida fatra yananto mihadi putra, se, m.si blog dan data base, 2018Tugas sim an'nida fatra yananto mihadi putra, se, m.si blog dan data base, 2018
Tugas sim an'nida fatra yananto mihadi putra, se, m.si blog dan data base, 2018
 
Sim, yuli dwi astuti, hapzi ali, menganalisis dan mengembangkan sistem inform...
Sim, yuli dwi astuti, hapzi ali, menganalisis dan mengembangkan sistem inform...Sim, yuli dwi astuti, hapzi ali, menganalisis dan mengembangkan sistem inform...
Sim, yuli dwi astuti, hapzi ali, menganalisis dan mengembangkan sistem inform...
 
SIM.ROJIKIN.Prof.Dr.Ir.Hapzi Ali,MM,CMA.SISTEM MANAJEMEN DATABASE.UNIVERSITAS...
SIM.ROJIKIN.Prof.Dr.Ir.Hapzi Ali,MM,CMA.SISTEM MANAJEMEN DATABASE.UNIVERSITAS...SIM.ROJIKIN.Prof.Dr.Ir.Hapzi Ali,MM,CMA.SISTEM MANAJEMEN DATABASE.UNIVERSITAS...
SIM.ROJIKIN.Prof.Dr.Ir.Hapzi Ali,MM,CMA.SISTEM MANAJEMEN DATABASE.UNIVERSITAS...
 
Pengertian data base
Pengertian data basePengertian data base
Pengertian data base
 
Sbd ke1 2
Sbd ke1 2Sbd ke1 2
Sbd ke1 2
 

Plus de Dian Arisona

Analisis Statistika
Analisis StatistikaAnalisis Statistika
Analisis StatistikaDian Arisona
 
Pengantar Rancangan Percobaan
Pengantar Rancangan PercobaanPengantar Rancangan Percobaan
Pengantar Rancangan PercobaanDian Arisona
 
Praktikum Komputasi Statistika
Praktikum Komputasi StatistikaPraktikum Komputasi Statistika
Praktikum Komputasi StatistikaDian Arisona
 
Praktikum Komputasi Statistika
Praktikum Komputasi StatistikaPraktikum Komputasi Statistika
Praktikum Komputasi StatistikaDian Arisona
 
Persamaan Diferensial
Persamaan DiferensialPersamaan Diferensial
Persamaan DiferensialDian Arisona
 
Persamaan Diferensial
Persamaan DiferensialPersamaan Diferensial
Persamaan DiferensialDian Arisona
 
Persamaan Diferensial Orde 2 Variasi Parameter
Persamaan Diferensial  Orde 2 Variasi ParameterPersamaan Diferensial  Orde 2 Variasi Parameter
Persamaan Diferensial Orde 2 Variasi ParameterDian Arisona
 
Persamaan Nonhomogen ; Metode Koefisien Tak ditentukan
Persamaan Nonhomogen ; Metode Koefisien Tak ditentukanPersamaan Nonhomogen ; Metode Koefisien Tak ditentukan
Persamaan Nonhomogen ; Metode Koefisien Tak ditentukanDian Arisona
 
Akar Kompleks dan Akar berulang PD orde 2
Akar Kompleks dan Akar berulang PD orde 2Akar Kompleks dan Akar berulang PD orde 2
Akar Kompleks dan Akar berulang PD orde 2Dian Arisona
 
Persamaan Diferensial Orde 2
Persamaan Diferensial Orde 2Persamaan Diferensial Orde 2
Persamaan Diferensial Orde 2Dian Arisona
 
Laporan Kerja Praktek Badan Pusat Statistik (BPS) Kota Makassar
Laporan Kerja Praktek Badan Pusat Statistik (BPS) Kota MakassarLaporan Kerja Praktek Badan Pusat Statistik (BPS) Kota Makassar
Laporan Kerja Praktek Badan Pusat Statistik (BPS) Kota MakassarDian Arisona
 
Regresi Linear Berganda
Regresi Linear BergandaRegresi Linear Berganda
Regresi Linear BergandaDian Arisona
 
Rancangan Percobaan (faktorial)
Rancangan Percobaan (faktorial)Rancangan Percobaan (faktorial)
Rancangan Percobaan (faktorial)Dian Arisona
 
Makalah Proyeksi Penduduk Pangkep
Makalah Proyeksi Penduduk PangkepMakalah Proyeksi Penduduk Pangkep
Makalah Proyeksi Penduduk PangkepDian Arisona
 
Proyeksi Penduduk Pangkep
Proyeksi Penduduk PangkepProyeksi Penduduk Pangkep
Proyeksi Penduduk PangkepDian Arisona
 

Plus de Dian Arisona (19)

Analisis Statistika
Analisis StatistikaAnalisis Statistika
Analisis Statistika
 
Pengantar Rancangan Percobaan
Pengantar Rancangan PercobaanPengantar Rancangan Percobaan
Pengantar Rancangan Percobaan
 
Praktikum Komputasi Statistika
Praktikum Komputasi StatistikaPraktikum Komputasi Statistika
Praktikum Komputasi Statistika
 
Praktikum Komputasi Statistika
Praktikum Komputasi StatistikaPraktikum Komputasi Statistika
Praktikum Komputasi Statistika
 
Skripsi
SkripsiSkripsi
Skripsi
 
Persamaan Diferensial
Persamaan DiferensialPersamaan Diferensial
Persamaan Diferensial
 
Persamaan Diferensial
Persamaan DiferensialPersamaan Diferensial
Persamaan Diferensial
 
Persamaan Diferensial Orde 2 Variasi Parameter
Persamaan Diferensial  Orde 2 Variasi ParameterPersamaan Diferensial  Orde 2 Variasi Parameter
Persamaan Diferensial Orde 2 Variasi Parameter
 
Persamaan Nonhomogen ; Metode Koefisien Tak ditentukan
Persamaan Nonhomogen ; Metode Koefisien Tak ditentukanPersamaan Nonhomogen ; Metode Koefisien Tak ditentukan
Persamaan Nonhomogen ; Metode Koefisien Tak ditentukan
 
Akar Kompleks dan Akar berulang PD orde 2
Akar Kompleks dan Akar berulang PD orde 2Akar Kompleks dan Akar berulang PD orde 2
Akar Kompleks dan Akar berulang PD orde 2
 
Persamaan Diferensial Orde 2
Persamaan Diferensial Orde 2Persamaan Diferensial Orde 2
Persamaan Diferensial Orde 2
 
Laporan Kerja Praktek Badan Pusat Statistik (BPS) Kota Makassar
Laporan Kerja Praktek Badan Pusat Statistik (BPS) Kota MakassarLaporan Kerja Praktek Badan Pusat Statistik (BPS) Kota Makassar
Laporan Kerja Praktek Badan Pusat Statistik (BPS) Kota Makassar
 
Data Angin
Data AnginData Angin
Data Angin
 
sistem basis Data
sistem basis Datasistem basis Data
sistem basis Data
 
Kebebasan Galat
Kebebasan GalatKebebasan Galat
Kebebasan Galat
 
Regresi Linear Berganda
Regresi Linear BergandaRegresi Linear Berganda
Regresi Linear Berganda
 
Rancangan Percobaan (faktorial)
Rancangan Percobaan (faktorial)Rancangan Percobaan (faktorial)
Rancangan Percobaan (faktorial)
 
Makalah Proyeksi Penduduk Pangkep
Makalah Proyeksi Penduduk PangkepMakalah Proyeksi Penduduk Pangkep
Makalah Proyeksi Penduduk Pangkep
 
Proyeksi Penduduk Pangkep
Proyeksi Penduduk PangkepProyeksi Penduduk Pangkep
Proyeksi Penduduk Pangkep
 

Makalah simbad

  • 1. Sistem Basis Data Dian Christien Arisona 1 BAB I Menggunakan SQL 1.1 Pengertian SQL SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama. 1.2 Jenis-jenis perintah SQL Perintah atau instruksi SQL dapat dikelompokkan berdasarkan jenis dan fungsinya. Terdapat 3 jenis perintah dasar SQL : Data Definition Language, Data Manipulation Language dan Data Control Language. Data Definition Language (DDL) adalah jenis instruksi SQL yang berkaitan dengan pembuatan struktur tabel maupun database. Termasuk diantaranya : CREATE, DROP, ALTER, dan RENAME. Data Manipulation Language (DML) adalah jenis instruksi SQL yang berkaitan dengan data yang ada dalam tabel, tentang bagaiman menginput, menghapus, memperbaharui serta membaca data yang tersimpan di dalam database. Contoh perintah SQL untuk DML : SELECT, INSERT, DELETE, dan UPDATE. Data Control Language (DCL) adalah jenis instruksi SQL yang berkaitan dengan manajemen hak akses dan pengguna (user) yang dapat mengakses database maupun tabel. Termasuk diantaranya : GRANT dan REVOKE. Selain ketiga jenis perintah SQL, terdapat juga 2 jenis SQL tambahan : Transaction Control Language, dan Programmatic SQL. Transaction Control Language (TCL) adalah perintah SQL untuk proses transaksi. Proses transaksi ini digunakan untuk perintah yang lebih dari 1, namun harus berjalan semua, atau tidak sama sekali. Misalnya untuk aplikasi critical seperti transfer uang dalam sistem database perbankan. Setidaknya akan ada 2 perintah, yaitu mengurangi uang nasabah A, dan
  • 2. Sistem Basis Data Dian Christien Arisona 2 menambah uang nasabah B. Namun jika terjadi kesalahan sistem, kedua transaksi ini harus dibatalkan. Tidak bisa hanya satu perintah saja. Termasuk ke dalam TCL adalah perintah : COMMIT, ROLLCABK, dan SET TRANSACTION. Programmatic SQL berkaitan dengan sub program (stored procedure) maupun penjelasan mengenai struktur database. Contoh perintah seperti : DECLARE, EXPLAIN, PREPARE, dan DESCRIBE 1.3 Pengertian Database Definisi tentang Database: 1. Menurut Gordon C.Everest: Database adalah koleksi atau kumpulan data yang mekanis, terbagi/shared, terdefinisi secara formal dan dikontrol terpusat pada organisasi. 2. Menurut C.J.Date: Database adalah koleksi “data operasional” yang tersimpan dan dipakai oleh sistem aplikasi dari suatu organisasi. - Data input adalah data yang masuk dari luar system. - Data output adalah data yang dihasilkan system. - Data operasional adalah data yang tersimpan pada system. 3. Menurut S. Attre : Database adalah koleksi data-data yang saling berhubungan mengenai suatu organisasi / enterprise dengan macam-macam pemakaiannya. 4. Menurut Toni Fabbri : Database adalah sebuah sistem file-file yang terintegrasi yang mempunyai minimal primary key untuk pengulangan data. Jadi, Sistem Database adalah sistem penyimpanan data memakai komputer. Sifat-sifat database : • Internal : Kesatuan (integritas) dari file-file yang terlibat. • Terbagi/share : Elemen-elemen database dapat dibagikan pada para user baik secara sendiri sendiri maupun secara serentak dan pada waktu yang sama (Concurrent sharing).
  • 3. Sistem Basis Data Dian Christien Arisona 3 Elemen-elemen database : A. Tipe :  Enterprise = Suatu jenis organisasi, misalnya Bank, Hotel, Universitas dan lain-lain.  Entity = File = Obyek pada enterprise berdasarkan data yang disimpan  Atribute = Field = Data item = Beberapa hal yang ingin diketahui dari suatu file  Record = Satu set field yang merupakan ciri khas dari suatu file Istilah entity dan atribute biasanya digunakan pada tingkat konsepsual dan logikal, sedangkan file, record dan field pada tingkat internal/fisikal. B. Isi / Nilai :  Data File : Seluruh isi data pada file  Data Record : Satu set isi data pada suatu susunan field dari suatu file  Data Value : Isi data masing-masing data elemen.
  • 4. Sistem Basis Data Dian Christien Arisona 4 1.4 Pengertian Mysql Menurut Antonius Nugraha Widhi Pratama (2010:10) MySQL adalah suatu sistem managemen basis data relasional (RDBMS-Relational Database Management System) yang mampu bekerja dengan cepat, kokoh dan mudah digunakan. Menurut Wahana Komputer (2010:5) MySQL merupakan program database yang mampu mengirim dan menerima data dengan sangat cepat dan multi user. MySQL pertama kali dirintis oleh seorang programer database bernama Michael Widenius. Selain MySQL ada beberapa program database server lain yang menggunakan standar query berupa SQL, antara lain adalah: 1. Oracle 2. PostgreSQL 3. MySQL front 4. MySQL 5. SQL Server 97 MySQL adalah sebuah database server, dapat juga berperan sebagai client sehingga sering disebut database client/server, yang open source dengan kemampuan dapat berjalan baik di OS (Operating Sistem) manapun, dengan Platform Windows maupun Linux. Mysql adalah sebuah perangkat lunak Pembuat database yang bersifat terbuka atau open source dan berjalan disemua platform baik Linux maupun Si Windows, MySQL merupakan program pengakses database yang bersifat network sehingga dapat digunakan untuk aplikasi Multi User (Pengguna Banyak). 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 komersial. MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.
  • 5. Sistem Basis Data Dian Christien Arisona 5 BAB II Penggunaan SQL dalam Mysql 2.1 Membuat database Untuk membuat atau mengetahui apa saja tabel dan field-field nya yang pertama kita harus tahu apa judul program yang akan kita buat, atau program apa yang akan kita buat. Kedua, setelah menentukan program apa yang akan kita buat, baru kita menentukan nama tabel dari database program tersebut, misalnya kita akan membuat aplikasi persediaan barang. Karna namanya persediaan barang, sudah tentu aplikasi kita berhubungan dengan barang dan data nya..,dari situ kita sudah dapat menentukan tabel apa saja yang diperlukan untuk aplikasi tersebut., Misalnya kita buat satu tabel dengan nama data_barang. Langkah ketiga, kalau nama tabel sudah ditentukan, sekarang tinggal menentukan field-field apa saja yang ada di tabel data_barang, nah untuk menentukannya, kita sesuaikan dengan nama tabel tersebut, karna nama tabelnya data_barang, maka field yang ada di dalamnya sudah tentu seputar tentang data-data barang, misalnya ada kode_barang, nama_barang, jenis_barang, satuan, dan atau harga_barang kalau dibutuhkan. Setelah kita tentukan apa saja fieldnya, sekarang baru kita tentukan type data dan size dari masing-masing field tersebut. untuk itu kalian harus tahu dulu apa fungsi dari type data tersebut ,berikut fungsi dari beberapa type data untuk field database : Text / String : adalah tipe data yang dapat menerima input berupa data text. Date/Time : adalah tipe data yang dapat menerima input berupa tanggal, tipe data jenis ini memiliki ukuran 8 byte dan size 8. Currency : adalah tipe data yang dapat menerima data berupa nilai uang. Byte,Integer, Long : adalah tipe data untuk menerima input berupa bilangan bulat. single, double : adalah tipe data untuk menerima input berupa bilangan pecahan. boolean : adalah tipe data logika, hanya benar atau salah (true/false) Sekarang tinggal sesuaikan tipe data apa yang cocok untuk field dari tabel database anda, misalnya untuk tanggal lahir : tipe datanya date/time, atau harga barang : tipe datanya yang dipakai adalah Currency.
  • 6. Sistem Basis Data Dian Christien Arisona 6 Untuk size nya, sesuaikan dengan kebutuhan field tersebut, misalnya untuk kode barang kita hanya ingin agar batas maksimal kode adalah 4 karakter, maka tinggal kita tentukan size dari kode barang itu = 4. Kalau kita sudah bisa menentukan nama tabel, dan field-field apa saja yang ada dalam tabel tersebut berarti kita sudah bisa membuat database kita sendiri. Contoh: Klik tombol Create Database Anda telah berhasil menambahkan database, Anda sekarang perlu memberikan username untuk mengakses database. Create username: Jika Anda memiliki database MySQL, Anda akan perlu untuk menetapkan user untuk dapat mengakses database. Jika Anda ingin membuat user dan memberikan mereka akses ke database, silakan lakukan hal berikut: 1.Klik MySQL Database 2. Gulir ke bawah sampai Anda melihat Add New User. 3. Dalam bagian ini dan di sebelah kanan nama pengguna, harap memberikan nama pengguna untuk database 4. Penulisan secara lengkap user database akan seperti ini: cpaneluser_databaseuser 5. Di sebelah kanan Sandi, ketik sandi yang Anda ingin membuat database untuk user. 6. Klik Create user. Selanjutnya adalah menambahkan user ke dalam database pada bagian Add User To Database Pilih User dan Database dan klik Add.
  • 7. Sistem Basis Data Dian Christien Arisona 7 Sekarang kita perlu memberikan hak user untuk database yang Anda tetapkan. 1. Untuk hak Database, silakan pilih database yang Anda ingin berikan hak untuk diakses. 2. Silakan pilih jenis hak Anda ingin pengguna memiliki. (Jika Anda ragu dengan mana saja, bisa memilih All Privileges.) 3. Klik Make Changes. Sekarang kita telah memberikan akses user ke database. Cara membuat database yang kedua mengunakan tools command prompt : 1. Buka command prompt ( Start + All Program + Accessories + Command Prompt ). 2. Setelah menjumpai tampilan command prompt ketikan perintah dibawah ini : cd C:xamppmysqlbin 3. Kemudian ketikan lagi perintah berikut : mysql -u root –p 4. Masukan password anda jika sebelumnya anda melakukan set password. 5. Jika suda berhasil masuk ke program klien Mysql anda akan menemui tulisan semacam ini: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 11 ............... 6. Untuk membuat database ketikan perintah create database joomla; jika berhasil akan muncul tulisan semacam ini: mysql> create database joomla; Query OK, 1 row affected (0.04 sec) 7. Dan untuk melihat database anda bisa mengunakan perintah show databases:
  • 8. Sistem Basis Data Dian Christien Arisona 8 2.2 Menghapus database Untuk menghapus Data Base dapat dilakukan dengan langkah berikut: 1. Klik MySQL Database 2. Dalam Database, Anda akan menemukan nama-nama semua database Anda saat ini. 3. Klik Hapus di sebelah nama database yang ingin Anda hapus. 4. sebuah database MySQL telah terhapus. Catatan: Anda juga mungkin perlu menghapus pengguna (user) yang mengakses database juga, jika Anda ingin untuk tidak memiliki bekas apapun dari database yang tersisa. Berhati-hatilah dalam melakukan penghapusan, karena semua tidak ada fasilitas pembatalan (undo). Kesalahan penghapusan/ setting merupakan tanggung jawab user. Contoh: Drop DataBase_Nama Database: Misalnya kita akan menghapus database pegawai.
  • 9. Sistem Basis Data Dian Christien Arisona 9 maka perintahnya adalah DROP DATABASE PEGAWAI; Lihat gambar : Perhatikan gambar diatas, kita telah berhasil menghapus database pegawai, untuk membuktikannya silahkan ketik perintah Show Data Base
  • 10. Sistem Basis Data Dian Christien Arisona 10 Lihat Screen shot dibawah ini : 2.3 Membuat Tabel 1. Tabel Tabel merupakan entitas yang ada didalam sebuah sistem yang saling berhubungan antara tabel satu dengan lainnya, misalnya ada sebuah sistem bernama "Sistem Registrasi Siswa" sehingga entitas yang ada biasanya adalah registrasi_siswa dan kelas, maka tabel didalam database nantinya juga registrasi_siswa dan kelas. Letak hubungan antara tabel registrasi_siswa dengan siswa adalah setiap siswa memiliki kelas. 2. Field Field adalah atribut-atribut yang ada didalam sebuah entitas/tabel, misalnya tabel registrasi_siswa memiliki field yaitu id, nama_lengkap, tempat_lahir, tanggal_lahir, tempat_lahir dan sebagainya. 3. Primary Key Primary Key adalah field kunci yang ada didalam sebuah tabel, fungsinya adalah agar data yang ditampung nantinya memiliki identitas masing-masing yang berbeda antara data yang satu dengan yang lainnya didalam satu tabel.
  • 11. Sistem Basis Data Dian Christien Arisona 11 4. Record Record adalah data yang masuk pada field-field didalam tabel. Sebenarnya masih banyak hal-yang berkaitan dengan database, namun yang paling harus dimengerti adalah 4 hal di atas. Setelah kita mengetahui 4 hal di atas ada juga yang perlu kita ketahui dalam pembuatan fiel-field tabel dalam database, yaitu tentang type field Type Keterangan Panjang TINYINT Digunakan jika data berupa angka Signed -127 sampai 128. Unsigned 0 sampai 255 SMALLINT Digunakan jika data berupa angka Signed -32768 sampai 32767. Unsigned 0 sampai 65535 MEDIUMINT Digunakan jika data berupa angka Signed -8388608 sampai 8388607. Unsigned 0 sampai 16777215 INT or INTEGER Digunakan jika data berupa angka Signed -2147483648 sampai 2147483647. Unsigned 0 sampai 4294967295 BIGINT Digunakan jika data berupa angka Signed -9223372036854775808 sampai 9223372036854775807. Unsigned 0 sampai 18446744073709551615 FLOAT Digunakan jika data berupa angka pecahan desimal -3.402823466E+38 sampai -1.175494351E-38, 0 dan 1.175494351E-38 sampai 3.402823466E+38 DATE Digunakan jika data berupa tanggal 1000-01-01 sampai 9999-12-31 DATETIME Digunakan jika data berupa tanggal dan jam 1000-01-01 00:00:00 sampai 9999-12-31 23:59:59 TIME Digunakan jika data berupa jam -838:59:59 sampai 838:59:59
  • 12. Sistem Basis Data Dian Christien Arisona 12 CHAR Digunakan jika data berupa hanya karakter 1 sampai 255 VARCHAR Digunakan jika data berupa angka dan karakter 1 sampai 255 TEXT Digunakan jika data berupa text 0 sampai 65535 ENUM Digunakan jika data berupa pemilihan 'value','value','value'... Unsigned adalah bilangan tanpa tanda didepan misalnya tanda negatif. Type diatas adalah type-type field yang paling sering digunakan, sebenarnya ada beberapa yang tidak tercantumkan dikarenakan selain type ditabel diatas sangat jarang digunakan. Berikut langkah-langkah membuat tabel mysql 1. Misalnya kita akan membuat tabel bernama user dengan jumlah field 4 Tekan tombol Go pada bagian bawah, kemudian atur field-field seperti berikut : Nama field bersifat Case Sensitive yang berarti besar kecilnya huruf dianggap berbeda. Kemudian atur field ID menjadi primary key dan Auto Increment
  • 13. Sistem Basis Data Dian Christien Arisona 13 Maksud dari Auto increment atau A.I atau juga A_I adalah ketika masuk data baru secara otomatis nilai dari field ID bertambah sendiri dan dimulai dari 1, jadi antara record satu dengan yang lainnya tidak ada yang sama. Setelah itu tekan tombol Save pada bagian bawah. Selain menggunakan cara di atas, kita juga bisa menggunakan perinta SQL untuk membuat tabel berikut perintah SQLnya untuk membuat tabel user seperti diatas : CREATE TABLE IF NOT EXISTS `user` ( `ID` int(5) NOT NULL AUTO_INCREMENT, `Nama` varchar(50) NOT NULL, `Username` varchar(50) NOT NULL, `Email` varchar(50) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 2.4 Mengubah struktur Tabel Ada saatnya kita perlu mengubah struktur tabel yang pernah kita buat sebelumnya. pengubahan struktur bisa dalam hal penambahan kolom (Add), pengubahan lebar dan jenis kolom (Modify), atau bisa saja penghapusan kolom dan indeks (Drop), penggantian nama kolom (Change), pengantian nama tabel (Rename), dan sebagainya. apa pun juga yang anda lakukan pada kolom tersebut tentu akan mempunyai dampak langsung pada data-data yang sudah ada. nah, sekarang kita perlu menambahkan beberapa kolom baru, yaitu kolom jenis kelamin, kota, tanggal lahir dan kodepos pada tabel karyawan. Perintah untuk mengubah struktur tabel adalah "Alter Table". Mengedit Atau Mengubah Struktur Tabel Dengan Alter Format umum perintah SQL untuk mengedit atau mengubah struktur sebuah tabel adalah seperti di bawah ini : ALTER TABLE nama_tabel ALTER_OPTIONS;
  • 14. Sistem Basis Data Dian Christien Arisona 14 ALTER TABLE merupakan perintah dasar untuk mengedit atau mengubah suatu tabel nama_tabel merupakan nama dari tabel yang akan kita ubah atau kita edit. ALTER_OPTIONS merupakan pilihan perubahan tabel. Bisa dikatakan perubahan yang akan dilakukan pada suatu tabel. Pilihan yang bisa digunakan dalam alter table diantaranya adalah sebagai berikut: ADD ==> Digunakan untuk menambahkan field baru. ADD INDEX ==> Digunakan untuk menambahkan index. ADD PRIMARY KEY ==> Digunakan untuk menambah primary key pada tabel. CHANGE ==> Digunakan untuk mengubah sebuah field dalam suatu tabel. MODIFY ==> Digunakan untuk mengubah definisi suatu field dalam suatu tabel. DROP ==> Digunakan untuk menghapus suatu field. RENAME TO ==> Digunakan untuk mengganti nama suatu tabel. Beberapa Contoh penggunaan sintaks alter table untuk mengubah struktur suatu tabel: Menambahkan sebuah field baru ke tabel mahasiswa. Contoh: penggunaannya seperti di bawah ini : ALTER TABLE mahasiswa add jenis_kelamin enum('P','W') not null default "P"; Mengubah tipe field jenis_kelamin menjadi varchar pada tabel mahasiswa: ALTER TABLE mahasiswa MODIFY jenis_kelamin varchar(6) not null; Menghapus field jenis_kelamin dari tabel mahasiswa. ALTER TABLE mahasiswa drop jenis_kelamin; Mengubah Nama Tabel
  • 15. Sistem Basis Data Dian Christien Arisona 15 Untuk mengubah nama tabel dapat menggunakan perintah sebagai berikut : Kita akan mengubah tabel mahasiswa yang telah kita buat menjadi mhs. RENAME TABLE mahasiswa TO mhs; atau ALTER TABLE mahasiswa RENAME TO mhs; perintah di atas akan merubah nama tabel mahasiswa menjadi mhs. 2.5 Menghapus Tabel Bentuk sintaks umum untuk menghapus sebuah tabel adalah seperti di bawah ini : DROP TABLE nama_tabel; Contoh: penggunaannya adalah sebagai berikut: kita akan menghapus mahasiswa DROP TABLE mahasiswa; perintah di atas akan menghapus table dengan nama mahasiswa. field_n tipe(panjang, PRIMARY KEY (field_key) ); BAB III Perintah nonselect pada SQL Sebelumnya, MySQL merupakan software database open source yang paling populer di dunia, dimana saat ini digunaan lebih dari 100 juta pengguna di seluruh dunia. SQL adalah bahasa yang digunakan dalam pembuatan databasenya tersebut. Berikut ini adalah perintah-perintah pada SQL tersebut. ALTER TABLE ALTER TABLE table_name ADD column_name datatypeor ALTER TABLE table_name DROP COLUMN column_name AS (alias) SELECT column_name AS column_alias
  • 16. Sistem Basis Data Dian Christien Arisona 16 FROM table_nameor SELECT column_name FROM table_name AS table_alias BETWEEN SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2 CREATE DATABASE CREATE DATABASE database_name CREATE TABLE CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name2 data_type, … ) CREATE INDEX CREATE INDEX index_name ON table_name (column_name)or CREATE UNIQUE INDEX index_name ON table_name (column_name) CREATE VIEW CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition DELETE DELETE FROM table_name WHERE some_column=some_valueor DELETE FROM table_name (Note: Deletes the entire table!!) DELETE * FROM table_name (Note: Deletes the entire table!!) DROP DATABASE DROP DATABASE database_name DROP INDEX DROP INDEX table_name.index_name (SQL Server) DROP INDEX index_name ON table_name (MS Access) DROP INDEX index_name (DB2/Oracle) ALTER TABLE table_name
  • 17. Sistem Basis Data Dian Christien Arisona 17 DROP INDEX index_name (MySQL) DROP TABLE DROP TABLE table_name 3.1 Menambah data Syntax : INSERT INTO namatable (field1,field2,..,fieldn) VALUES (value1,value2,..,valuen); Contoh : INSERT INTO Barang (KdBarang,NmBarang,Satuan,Harga) VALUES („B0001‟,‟Rejoice 250 ml‟,‟Botol‟,12000); Selain dengan cara diatas, dapat juga dengan langsung memberikan nilai (value) tanpa memnentukan field apa saja yg akan ditambah datanya, tetapi kita harus benar-benar tahu urutan field dari table yang akan di tambah datanya. Contoh : INSERT INTO Barang VALUES („B0002‟,‟Rejoice sachet‟,‟Sachet‟,500); Berikut Cara Untuk Menambah, Mengedit Dan Menghapus Isi Tabel Dari Perintah Command : Fungsi ADD untuk menambahkan baris baru dalam tabel, rumus yang di gunakan adalah: alter table [nama tabel] add [field] [type field]; contoh jika ingin menambahkan field total_bayar : alter table pembayaran add total_bayar char (9); enter jika sobat mau menambahkan field total_bayar setelah field kelas maka memakai rumus ; alter table pembayaran add total_bayar char (9) after kelas;
  • 18. Sistem Basis Data Dian Christien Arisona 18 3.2 Mengubah data Perintah MODIFY di gunakan untuk mengedit /mengubah isi tabel rumus yang di gunakan adalah: alter table [nama tabel] modify [field] [type field]; contoh jika ingin menedit field total_bayar menjadi tot_bayar: alter table pembayaran modify tot_bayar char (7); enter 3.3 Menghapus data Perintah DROP di gunakan untuk menghapus isi tabel, rumus yang di gunakan : alter table [nama tabel] drop [field]; contoh: jika ingin menhapus field total_bayar : alter table pembayaran drop total_bayar ; enter
  • 19. Sistem Basis Data Dian Christien Arisona 19 BAB IV Perintah select pada SQL Pernyataan SQL di bawah ini menunjukkan penggunaan sederhana dari perintah SQL SELECT: SELECT FirstName, LastName, DateOfBirth FROM Users Contoh :
  • 20. Sistem Basis Data Dian Christien Arisona 20 FirstName LastName DateOfBirth John Smith 12/12/1969 David Stonewall 01/03/1954 Susan Grant 03/03/1970 Mari kita periksa pernyataan SQL diatas, Pernyataan itu dimulai dengan kata kunci SELECT diikuti dengan daftar kolom tabel (yang nantinya akan kita sebut sebagai field). Daftar kolom ini menentukan kolom mana saja yang ingin Anda ambil dari table tertentu. Daftar kolom diikuti dengan kata kunci SQL : "FROM" selanjutnya diikuti dengan nama tabel (tabel dimana kita memilih data). Ada sebuah sintaks khusus yang dapat digunakan dengan perintah SELECT, jika Anda ingin mengambil semua kolom dari tabel. Untuk melakukan itu Anda dapat mengganti daftar kolom dengan simbol * maka Anda sudah memilih semua kolom dari tabel: SELECT * FROM Users. Namun sangat bijaksana jika Anda menentukan nama kolom(fields) satu persatu dan tidak menggunkana perintah " SELECT * FROM namatable " karena ini akan meningkatkan kinerja query Anda secara signifikan. SELECT INTO mengambil data dari tabel database dan memasukkan ke tabel lain. Perhatikan contoh di bawah ini SELECT INTO: SELECT FirstName, LastName, DateOfBirth INTO UsersBackup FROM Users Bagian pertama dari pernyataan tampak familiar dan hanya memilih beberapa kolom. Bagian kedua dari pernyataan SQL adalah bagian penting, yang menentukan untuk memasukkan baris ke dalam tabel UsersBackup. Bagian terakhir menentukan tabel mana yang akan diambil datanya untuk dimasukkan ke tabel yang dipilih. Contoh ini mengasumsikan bahwa baik tabel Users maupun tabel UsersBackup memiliki struktur yang identik. Anda dapat menggunakan query SQL berikut untuk membuat salinan data dalam tabel Users SELECT * INTO UsersBackup FROM Users 4.1 Menampilkan field tertentu Menampilkan data Perintah SELECT digunakan untuk memilih kolom mana saja yang akan ditampilkan. Jika kita ingin menampilkan semua kolom, kita cukup menggunakan tanda *. Perintah FROM
  • 21. Sistem Basis Data Dian Christien Arisona 21 digunakan untuk menentukan asal kolom yang ingin kita tampilkan datanya. Perintah WHERE digunakan untuk membatasi baris-baris yang akan kita tampilkan agar sesuai dengan kriteria yang kita inginkan. WHERE bisa dari tabel atau hasil dari View yang lain. Perhatikan contoh-contoh penggunaan SQL berikut ini. Untuk menampilkan beberapa field dalam satu tabel, dapat dipergunakan perintah SELECT kode_karyawan, nama_karyawan FROM karyawan. Menampilkan data dengan kondisi SELECT * FROM karyawan WHERE kode_karyawan = ‟2005000341‟ Menampilkan semua data pada tabel Bidang Contoh ini kita membutuhkan tabel Bidang. Sedangkan kolom yang kita ingin tampilkan adalah semua kolom. Kita dapat menggunakan tanda * atau mendaftar semua kolom yang ada pada tabel Bidang. Berikut adalah perintah SQL dan hasil eksekusinya. Jika kita ingin menyimpan dalam bentuk View perintah di atas, tambahkan sebelum pernyataan SELECT perintah CREATE VIEW AS. Ganti dengan nama yang kita inginkan. Menampilkan data nama dan alamat siswa Pada contoh ini kita membutuhkan tabel Siswa. Sedangkan kolom yang kita inginkan adalah kolom nama, alamat, dan kota. Kita tidak bisa menggunakan tanda *, tetapi harus mendaftarkan nama kolom nama dan alamat setelah perintah SELECT. Perhatikan perintah SQL dan outpunya berikut ini.
  • 22. Sistem Basis Data Dian Christien Arisona 22 Menampilkan data nama siswa yang rumahnya di Batu Pada contoh ini kita membutuhkan pernyataan WHERE untuk membatasi baris yang ingin kita tampilkan. Tabel yang dipakai adalah tabel Siswa dan kolom yang ingin ditampilkan adalah kolom Nama. Kalau kita perhatikan hasil eksekusi contoh 12.2 di atas, yang alamat rumahnya di Batu ada dua orang yaitu: Pepe Ricard dan Bubi Red. Pernyataan WHERE diikuti dengan kondisi yang harus dipenuhi. Pada kasus ini adalah Kota='Batu'. Berikut ini perintah SQL secara lengkap dan outputnya. Perhatikan cara penulisannya. Menampilkan data nama siswa dan program keahlian yang diikuti Pada contoh ini kita melibatkan dua buah tabel yang saling berhubungan yaitu tabel Siswa dan tabel Program. Yang kita ingin tampilkan adalah kolom Nama pada tabel Siswa dan kolom NamaProgram pada tabel Program. Untuk kasus seperti ini pada perintah SELECT pemanggilan nama kolom harus didahului dengan nama tabelnya. Sedangkan pada FROM, kita menggunakan perintah INNER JOIN untuk menggabung dua tabel. Perlu kita cermati, pada tabel Siswa terdapat Foreign Key, yaitu: IdProgram yang merupakan Primary Key pada tabel Program. IdProgram ini merupakan penghubung yang dapat kita gunakan untuk menggabung dua tabel. Perhatikan, pernyataan SQL berikut ini dan cermati outputnya. Menampilkan data nama siswa yang mengikuti program keahlian rpl
  • 23. Sistem Basis Data Dian Christien Arisona 23 Kita menambahkan pernyataan WHERE untuk menampilkan nama yang ikut programkeahlian rpl. Selain itu, kita hanya ingin menampilkan kolom Nama dari tabel Siswa. Perhatikan, pernyataan SQL berikut dan hasil eksekusinya. Menampilkan data nama guru dan bidang keahliannya Contoh ini lebih kompleks dari contoh-contoh di atas. Kita melibatkan tiga buah tabel, yaitu: tabel Guru, tabel Guru_Bidang, dan tabel Bidang. Perhatikan relasi antar tabel tersebut pada gambar 12.11. Ada dua INNER JOIN yang kita gunakan, yaitu: INNER JOIN tabel Guru dengan tabel Guru_Bidang dan INNER JOIN Guru_Bidang dengan tabel Bidang. Perhatikan bagaimana membuat pernyataan INNER JOIN. 4.2 Menampilkan record tertentu Didalam SQL, SELECT berarti “menunjukkan data padaku.” Secara khusus, itu berarti “tunjukkan beberapa data dari beberapa tabel.” Berikut adalah garis dasar dari statemen SELECT: SELECT [some or all of the columns] FROM [one or more tables] WHERE [the records meet some condition] Ketika Anda mengeluarkan perintah SELECT, SQL scan data dalam tabel dan menampilkan hasilnya di layar. Argumen pertama Perintah SQL SELECT yang mengatakan kepada kolom (atau field) untuk memasukkan dalam hasil. Untuk melihat semua kolom dalam tabel, ketik tanda bintang (*) segera setelah SELECT dalam bentuk ini: 1. SELECT * FROM mytable
  • 24. Sistem Basis Data Dian Christien Arisona 24 2. SQL memungkinkan Anda menggunakan kata kunci SEMUA bukan tanda bintang. Manfaat untuk memilih semua kolom adalah bahwa Anda tidak harus mengetahui salah satu nama kolom. Masalah dengan memilih semua kolom, tentu saja, adalah bahwa Anda mungkin harus melihat selusin atau lebih kolom untuk menemukan informasi yang Anda butuhkan. 3. Untuk membatasi jumlah kolom dalam hasil Anda, cukup menulis kolom yang Anda inginkan: 4. SELECT column1, column2, column3 FROM mytable 5. Sebagai contoh, jika Anda ingin melihat nama depan, nama belakang, dan kolom nomor telepon dari tabel Pelanggan Anda, Anda akan memasukkan perintah dalam bentuk: SELECT FName, LName, Phone FROM Customers 6. Selain menentukan kolom yang SQL akan tampilkan, Anda juga dapat mengontrol urutan data tersebut muncul dengan menambahkan klausa ORDER BY. Cukup tambahkan ke statemen SELECT Anda dalam bentuk: 7. SELECT Column1, Column2, Column3 FROM mytable ORDER BY Column3 8. Anda dapat menggunakan lebih dari satu kunci untuk mengurutkan hasil query. Sebagai contoh, untuk mengurutkan pelanggan Anda secara alfabet berdasarkan nama akhir dan kemudian dengan nama pertama, Anda akan mengeluarkan perintah seperti ini: SELECT Name, LName, Phone FROM Customers ORDER BY Lname,Fname Secara default, SQL menganggap Anda ingin catatan-catatan dalam urutan menaik. Jika Anda ingin menampilkan record dalam urutan, Anda menambahkan DESC kata kunci untuk perintah SQL dalam bentuk ini: SELECT Column1, Column2, Column3 FROM tablename ORDER BY Column3 DESC Kita telah melihat bagaimana perintah SELECT memungkinkan Anda membatasi jumlah kolom yang akan muncul dalam hasil Anda. Anda hanya menulikan kolom yang ingin Anda lihat. Tapi secara default, SQL mengembalikan semua data dalam tabel. Sebagian besar waktu, ketika Anda meng-query tabel, Anda ingin menampilkan record yang memenuhi kondisi tertentu atau kriteria. Secara garis besar untuk mencari data tertentu, Anda dapat menambahkan klausa WHERE untuk perintah SELECT Anda dalam bentuk: SELECT column1, column2 FROM tablename WHERE [some condition is true about some field]
  • 25. Sistem Basis Data Dian Christien Arisona 25 Misalnya, Anda ingin menampilkan hanya catatan untuk pelanggan yang tinggal di kode pos 10010. Dengan asumsi bahwa bidang kode pos adalah kolom berupa karakter (bukan angka), Anda akan mengeluarkan statemen SELECT berupa: SELECT FName, LName, Phone FROM Customers WHERE Zip_code=”10010″ ORDER BY Lname,Fname Ketika SQL mengevaluasi pernyataan ini, maka hanya menampilkan data yang mempunyai 10010 di dalam kolom Zip_code . Klausa ORDER BY memberitahu SQL untuk mengatur data untuk diurutkan berdasarkan Lname. Perhatikan bahwa Anda tidak harus menyertakan Zip_code dalam daftar bidang dalam rangka untuk merujuk ke dalam klausa WHERE. Dalam syntak WHERE, jika kolom yang ingin ditampilkan adalah numerik, Anda tidak perlu menyertakan tanda kutip data. Misalnya, jika Anda ingin mencari pelanggan yang last_purchase field berisi nilai 100 atau lebih, Anda akan mengeluarkan perintah seperti ini: SELECT FName, LName, Phone FROM Customers WHERE Last_purchase >=100 4.3 Mengenal Ekspresi SQL merupakan bahasa basis data relasional standard. Terdapat macam-macam versi SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose Research Laboratory. Bahasa SQL mempunyai beberapa bagian yaitu : - Data Definition Language (DDL) DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan relasi, membuat indeks dan modifikasi skema relasi. - Data-Manipulation Language (DML) DML merupakan bahasa query yang berdasarkan pada aljabar relasi dan kalkulus relasi tuple. Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan modifikasi. - Embedded DML Bentuk embedded SQL biasanya terdapat dalam bahasa pemrograman multi guna seperti PL/I, Cobol , Pascal dan Fortran. - View Definition
  • 26. Sistem Basis Data Dian Christien Arisona 26 DDL SQL memasukkan perintah untuk mendefinisikan view. - Authorization DDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan view. - Integrity DDL SQL memasukkan perintah untuk menentukan konstrain integritas yang harus dipenuhi oleh data yang tersimpan dalam basis data. - Transaction control SQL memasukkan perintah-perintah untuk menentukan awal dan akhir transaksi. Beberapa implementasi juga memungkinkan locking data untuk concurrency control. 1. STRUKTUR DASAR Struktur dasar dari ekspresi SQL terdiri dari tiga klausa yaitu : select, from dan where. - Klausa Select berhubungan dengan operasi proyeksi dari aljabar relasional. Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu query. - Klausa From berhubungan dengan operasi Cartesian-product dari aljabar relasional. Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu query. - Klausa Where berhubungan dengan operasi predikat seleksi dari aljabar relasional. Operasi ini terdiri dari sebuah predikat yang menyangkut atribut atribut dari relasi yang muncul dalam klausa from. Sebuah query SQL biasanya mempunyai bentuk : Select A1,A2,…..An From r1,r2,….rn Where P Klausa Select Contoh : “ Tentukan nama-nama dari semua cabang bank dalam relasi loan “, Query- nya : “select branch-name from loan”. Hasil dari query tersebut adalah sebuah relasi yang berisi sebuah atribut tunggal dengan nama branch-name. Bahasa query formal bersifat matematis dimana relasi adalah sebuah himpunan sehingga tuple-tuple yang telah muncul tidak akan muncul lagi (tidak akan terjadi duplikasi tuple). Tapi dalam prakteknya untuk menghilangkan duplikasi tuple sangat memakan waktu. Oleh karenanya SQL memungkinkan
  • 27. Sistem Basis Data Dian Christien Arisona 27 terjadinya duplikasi tersebut. Dari contoh di atas, maka query-nya akan mencatat setiap branch-name setiap kali branch-name tersebut ditemukan dalam relasi loan. Untuk kasus di atas jika diinginkan untuk menghilangkan duplikasi maka dapat disisipkan distinct setelah select. Query di atas ditulis ulang sebagai berikut :”select distinct branch-name from loan”. Jika tuple yang terduplikasi diinginkan hilang. Klausa selest dapat juga mengandung operasi aritmatika yaitu operator : +, -, *, / dan operasi terhadap konstanta atau atribut dari tuple. Contoh query berikut : “Select branch- name, loan-number, amount * 100 From loan”. Akan menghasilkan sebuah relasi yang sama dengan relasi loan, kecuali bahwa atribut amount dikalikan dengan 100. SQL-92 juga menyediakan tipe data spesial seperti tipe date, dan memungkinkan beberapa fungsi aritmatika untuk beroperasi pada tipe-tipe ini. Klausa Where Contoh query : “Temukan semua loan number untuk pinjaman-pinjaman yang dibuat pada cabang Perryridge dengan jumlah lebih besar dari $1200”. Query-nya ditulis sebagai berikut :”Select loan-number From loan Where branch-name = “Perryridge” and amount >1200”. SQL menggunakan konektivitas lojik and, or dan not dalam klausa where. SQL juga memasukkan perintah between untuk menentukan apakah suatu nilai lebih kecil daripada atau sama dengan suatu nilai lain dan lebih besar daripada atau sama dengan suatu nilai lain. Contoh : jika diinginkan menemukan loan-number yang jumlah pinjamannya antara $90000 dan $100000, ditulis sebagai berikut : “Select loan-number From loan Where amount between 90000 and 100000”. Klausa From Contoh query : “Untuk semua customer yang mempunyai sebuah pinjaman dari bank, temukan nama dan loan number mereka”. Dalam SQL ditulis : “Select distinct customer-name, borrower.loan-number From borrower, loan Where borrower.loan-number = loan.loan.number” Operasi Rename SQL menyediakan mekanisme operasi rename untuk relasi dan atribut. Operasi rename dalam SQL menggunakan klausa as dengan bentuk : Nama-lama as nama-
  • 28. Sistem Basis Data Dian Christien Arisona 28 baru Contoh : Jika atribut dengan nama loan-number akan diganti dengan nama loan-id, dapat ditulis sebagai berikut : “Select distinct customer-name, borrower.loan-number as loan- id From borrower,loan Where borrower.loan-number = loan.loan-number and branch-name = “Perryridge”” 2. OPERASI HIMPUNAN Operasi operasi himpunan pada SQL-92 meliputi : union, intersect, dan except. Union identik dengan ∪, intersect identik dengan ∩ dan except identik dengan – pada aljabar relasional. Operasi Union Contoh : Untuk mendapatkan semua customer yang mempunyai pinjaman, rekening atau keduannya pada bank ditulis : “(select customer-name from depositor) union (select customer-name from borrower)”. Operasi union secara otomatis akan menghilangkan duplikasi, tidak seperti klausa select. Sehingga pada query di atas, jika Jones (seorang customer) mempunyai beberapa rekening atau pinjaman (atau keduannya) pada bank, maka Jones hanya akan muncul sekali. Jika duplikasi diinginkan ada maka harus ditulis union all. Operasi Intersect Contoh : untuk mendapatkan semua customer yang memiliki pinjaman dan rekening pada bank, query-nya ditulis :”(select distinct customer-name from depositor) intersect (select distinct customer-name from borrower)”. Operasi intersect secara otomatis menghilangkan duplikasi. Jika diinginkan duplikasi tetap ada ditulis intersect all. Operasi Except Contoh : untuk mendapatkan semua customer yang mempunyai sebuah rekening tetapi tidak memiliki pinjaman pada bank, ditulis : “(select distinct customer-name from depositor) except (select customer-name from borrower)”. Operasi except secara otomatis menghilangkan duplikasi. Jika diinginkan ada maka ditulis : except all.
  • 29. Sistem Basis Data Dian Christien Arisona 29 3. FUNGSI-FUNGSI AGREGASI Yang termasuk fungsi-fungsi agregasi adalah : Average : avg Minimum : min Maximum : max Total : sum Count : count Fungsi-fungsi di atas telah tersedia. Input untuk avg dan sum haruslah bertipe numerik. Untuk operator lainnya dapat non-numerik. Contoh : untuk mendapatkan rata-rata saldo rekening pada cabang Perryridge, Query-nya dapat ditulis : “Select avg(balance) From account where branch-name = “Perryridge””. Jika fungsi agregasi iningn diterapkan pada kelompok himpunan tuple, maka digunakan klausa group by. Nama atribut/kel. Atribut dalam klausa group by digunakan untuk membentuk grup/kelompok. Artinya tuple-tuple yang mempunyai nilai yang sama pada semua atribut dalam klausa group-by dimasukkan dalam satu grup/kelompok. Contoh : “Select branch- name, avg(balance) From account Group by branch-name” Jika suatu fungsi diterapkan pada grup/kelompok yang dibentuk oleh group by maka digunakan klausa having setelah group by. Contoh : ingin ditampilkan nama cabang yang mempunyai rata-rata saldo lebih dari 1200. Query-nya : “Select branch-name, avg(balance) From account Group by branch-name having avg (balance)>1200”. Fungsi agregrasi count sering digunakan untuk menghitung jumlah tuple dalam suatu relasi. Notasi fungsi ini dalam SQL adalah count (*). Jadi untuk menentukan jumlah tuple dalam relasi customer, ditulis : “Select count(*) from customer”. 4. SUBQUERI TERSARANG (NESTED SUBQUERYS) Biasanya digunakan untuk melalukuan test keanggotaan himpunan, perbandingan himpunan dan kardinalitas himpunan. Keanggotaan Himpunan Digunakan in dan not in untuk melakukan test keanggotaan himpunan. Contoh : untuk mendapatkan semua customer yang mempunyai pinjaman dan rekening pada bank. Pertama : menemukan semua pemegang reeking dengan query : (select customer-name from
  • 30. Sistem Basis Data Dian Christien Arisona 30 depositor) Kedua : mencari semua customer yang merupakan peminjam dan yang muncul dalam daftar pemegang rekening. Maka dilakukan dengan “menyarangkan” subquery di atas dalam sebuah select luar (outer select), menjadi : Select distinct customer-name from borrower Where customer-name in (select customer-name from depositor) Perbandingan Himpunan Perhatikan query berikut : “Temukan semua nama cabang bank yang mempunyai asset lebih besar dari bank-bank yang mempunyai minimal satu cabang berlokasi di Brooklyn”. Query-nya ditulis : “Select branch-name from branch where assets > all (select assets from branch where branch-city = “Brooklyn”)”. 5. MODIFIKASI BASIS DATA Meliputi menambah, menghapus dan mengubah informasi menggunakan SQL. Penghapusan (Deletion) Yang dapat dihapus (delete) hanyalah tuple bukan nilai pada suatu atribut tertentu. Dalam SQL, deletion diekspresikan dengan : Delete from r where p Dimana p menunjukkan predikat dan r adalah relasi. Contoh : - Hapus semua rekening Smith, ditulis : Delete from depositor where costomer-name = “Smith” - Hapus semua pinjaman dengan jumlah pinjaman antara $1300 dan $1500 Delete from loan where amount between 1300 and 1500 - Hapus semua rekening pada setiap cabang yang berlokasi di Perryridge Delete from account where branch-name in (select branch-name from branch where branch- city = “Perryridge”)
  • 31. Sistem Basis Data Dian Christien Arisona 31 Penyisipan (Insertion) Untuk menambahkan satu tuple dalam relasi digunakan statement insert. Contoh : Insert into account values (“Perryridge”,”A-9732”,1200) Query ini identik dengan Insert into account (branch-name, account-number,balance) Values (“Perryridge”,”A-9732”,1200). Insert juga dapat dilakukan untuk suatu hasil dari query yang lain. Contoh : Insert into account select branch-name, loan-number, 200 From loan where branch-name = “Perryridge” Update Dalam situasi tertentu, diinginkan untuk mengganti nilai dalam sebuah tuple tanpa harus mengganti semua nilai dalam tuple tersebut. Untuk tujuan ini dapat digunakan statement update. Contoh: - untuk menaikkan saldo para nasabah sebesar 5% ditulis query sebagai berikut : Update account set balance = balance * 1.05 - untuk menaikkan saldo nasabah sebesar 6% bagi nasabah yang saldonya lebih dari $10000, ditulis query sebagai berikut : Update account set balance = balance *1.06 Where balance >10000 6. BAHASA DEFINISI DATA ( DATA – DEFINITION LANGUAGE) DDL SQL memungkinkan dilakukannya spesifikasi tidak hanya pada himpunan relasi tetapi juga informasi untuk setiap relasi, yang meliputi : 1. Skema setiap relasi 2. Domain nilai setiap atribut relasi 3. Konstrain integritas 4. Himpunan indeks untuk setiap relasi 5. Sekuriti dan autorisasi setiap relasi 6. Struktur penyimpanan secara fisik untuk setiap relasi dalam disk.
  • 32. Sistem Basis Data Dian Christien Arisona 32 Tipe-tipe Domain dalam SQL SQL-92 standar mendukung bermacam-macam tipe domain yang built-in sebagai berikut: char(n) : tipe karakter dengan panjang yang tetap (n) (fixed-length character) varchar(n) : tipe karakter dengan panjang bervariasi. Maksimum panjang n. int : integer smallint : small integer numeric (p,d) : p menunjukkan jumlah digit bilangan dan d menunjukkan julah digit dibelakang titik desimal. real, double precision : floating-point dan double-precision floating point float (n) : floating-point number date : tipe kalender time : tipe hari dalam jam,menit dan detik SQL-92 menggunakan klausa create domain untuk mendefinisikan domain. Contoh : “create domain person-name char(20)”. Definisi Skema dalam SQL Untuk mendefinisikan sebuah relasi dengan perintah create table : Create table r(A1D1,A2D2,….AnDn, <integrity contraint1>, ……………, <integrity contrantk>). Dimana r adalah nama relasi, setiap AI adalah nama atribut dalam skema relasi, dan DI adalah tipe domain dari nilai dalam domain atribut Ai. Integrity constraint yang diperbolehkan antara lain : primary key (Aj1, Aj2,….Ajn) dan check (P). Contoh : Create table customer (customer-name char(20) not null, customer-street char(30), customer- city char(30), primary key (customer-name)) create table branch (branch-name char(15) not null, branch-city char(30), assets integer, primary key (branch-name), check(assets >=0))
  • 33. Sistem Basis Data Dian Christien Arisona 33 create table account (account-number char(10) not null, branch-name char(15), balance integer, primary key (account-number), check (balance >=0)) 4.4 Mengenal Operator Operator AND (Dipergunakan untuk menampilkan record yang memiliki kondisi lebih dari satu, dan record yang ditampilkan hanya yang memenuhi semua kondisi) SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE gaji > 2000000 AND kode_divisi = 'D0022' Operator OR (Dipergunakan untuk menampilkan record yang memiliki kondisi lebih dari satu, dan record yang ditampilkan yang memenuhi salah satu kondisi) SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE gaji > 2000000 OR kode_divisi = 'D0022'. Operator BETWEEN (Dipergunakan untuk menampilkan record yang berada dalam suatu batasan kondisi tertentu) . SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE gaji BETWEEN 2000000 AND 2600000. Operator IN (Dipergunakan untuk menampilkan record yang berada dalam suatu kelompok kondisi tertentu ).SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE kode_divisi IN ('D0012', 'D0022'). Operator NOT (Dipergunakan untuk menampilkan record yang tidak termasuk dalam suatu kondisi tertentu). SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE NOT kode_divisi = 'D0012' Operator LIKE (Dipergunakan untuk menampilkan record yang memiliki bagian dari suatu kondisi tertentu Penggunaan operator LIKE bisa didukung oleh penggunaan karakter %) Operator Aritmetika
  • 34. Sistem Basis Data Dian Christien Arisona 34 *, dipergunakan untuk perkalian./, dipergunakan untuk pembagian. +, dipergunakan untuk penambahan.-, dipergunakan untuk pengurangan. contoh Gaji_setahun = gaji * 12 Menampilkan fungsi Agregat (SUM, AVG, COUNT, MIN, MAX) Contoh : SELECT SUM(field) FROM nama_tabel. SELECT COUNT (nama_field) FROM nama_tabel SELECT MIN(nama_field) FROM nama_tabel . Dan begitu sterusnya untuk fungsi yg lain. Fungsi Order by Dipergunakan untuk menampilkan data yang terurut atau mengurutkan data. Ada dua macam pengurutan : Secara Ascending (Asc)(Pengurutan nilai kolom secara menaik atau membesar). Secara Descending (Desc)(Pengurutan nilai kolom secara menurun atau mengeci)l. Fungsi Group BY Fungsi GROUP BY dipergunakan untuk mengelompokkan record-record pada tabel. Fungsi GROUP by dipergunakan mengikuti operasi agregat pada suatu perintah. Fungsi Having Fungsi HAVING memiliki kesamaan fungsi seperti WHERE. Tetapi fungsi HAVING dipergunakan bila ada pemanggilan operasi GROUP dalam query dan operand-nya. melibatkan pemanggilan operasi agregat. Jadi fungsi HAVING dipergunakan mengikuti Fungsi GROUP BY, untuk memberikan suatu kondisi. SELECT colulmn_expression FROM table_name GROUP BY grouping_expression HAVING roup_condition Fungsi JOIN Fungsi JOIN dipergunakan untuk menampilkan data yang berasal lebih dari satu tabel. Ada beberapa macam JOIN dalam SQL : a. Inner Joins Inner joins menggunakan operator pembanding untuk mencocokkan baris (rows) dari dua tabel berdasarkan pada nilai yang ada di kolom yang dipergunakan sebagai pembanding atau penghubung dari masing-masing tabel.
  • 35. Sistem Basis Data Dian Christien Arisona 35 Contoh : select * from employee inner join department on employee.deparment_id = department. department_id b. Outer Joins Outer join menampilkan semua baris dari tabel selama memenuhi kondisi walaupun tidak memiliki kecocokan data. Ada tiga macam Outer Join : Left Outer Join, Right Outer Join dan Full Outer Join Contoh : select * from employee left outer join department on employee.deparment_id = department. department_id c. Cross Joins Cross Join mengembalikan/menampilkan nilai semua baris (record) dari tabel sebelah kiri. Setiap record dari tabel sebelah kiri digabungkan dengan semua record dari tabel sebelah kanan. Bila Cross Join menggunakan WHERE, maka hasil yang ditampilkan sama seperti bila menggunakan INNER JOIN. Cross join juga disebut dengan Cartesian products bila tidak menggunakan WHERE Contoh : SELECT trklinik.kdtransaksi, trklinik.kdpasien, pasien.nmpasien FROM trklinik CROSS JOIN pasien WHERE trklinik.kdpasien = pasien.kdpasien ORDER BY kdtransaksi ASC
  • 36. Sistem Basis Data Dian Christien Arisona 36 BAB V Menggunakan Fitur pada perintah select 5.1 Menggunakan operator is null Operator IS NULL mengetes nilai yang null. Nilai null berarti nilai tersebut tidak tersedia, tidak diberikan, tidak diketahui, atau tidak dapat digunakan. Oleh karena itu, kita tidak dapat menggunakan “=” karena nilai null tidak dapat sama atau tidak sama dengan suatu nilai. Contoh: Menampilkan data karyawan yang tidak memiliki atasan. SELECT id, last_name, manager_id FROM employee WHERE manager_id = NULL; SELECT id, last_name, manager_id FROM employee WHERE manager_id = „ „; Menampilkan data karyawan yang memiliki prosentase komisi. SELECT last_name, title, commission_pct FROM employee WHERE commission_pct IS NOT NULL Nilai-nilai fields dalam sebuah tuple kadang-kadang tidak diketahui (unknown) (Misal, sebuah nilai rating tidak diberikan) atau tidak dapat digunakan (inapplicable) (Misal, tidak mempunyai nama isteri/suami). SQL menyediakan nilai spesial null utk keadaan- keadaan tersebut. Adanya nilai null dapat menimbulkan beberapa komplikasi. Operasi-operasi aritmatika +, -, *, dan /, semuanya menghasilkan nilai null jika salah satu argumennya bernilai null. Null values dapat menimbulkan kelakukan yang tidak diharapkan
  • 37. Sistem Basis Data Dian Christien Arisona 37 untuk operasi-operasi aggregasi. COUNT (*) memperlakukan null values seperti halnya nilai- nilai lainnya (ikut diperlhitungkan). Operasi-operasi aggregasi lainnya (COUNT, SUM, AVG, MIN, MAX, dan variasi penggunaan DISTINCT) mengabaikan null values . Null values dapat tidak dibolehkan untuk muncul dengan menspesifikasikan NOT NULL sebagai bagian dari definisi field-field yang diinginkan. Contoh: sname CHAR(20)NOT NULL Selain itu, fields dalam primary key tidak diperbolehkan bernilai null. Untuk ini terdapat constraint implisit NOT NULL untuk setiap field yang dinyatakan dalam PRIMARY KEY constraint. 5.2 Menggunakan operator between dan not between Kita dapat menampilkan data berdasarkan jangkauan nilai tertentu menggunakan operator BETWEEN. Jangkauan yang kita tentukan adalah jangkauan rendah dan tinggi. Contoh: Menampilkan data karyawan yang mulai bekerja antara tanggal 9 Mei 1991 dan 17 Juni 1991. SELECT last_name, hire_date FROM employee WHERE hire_date BETWEEN „09-MAY-91′ AND „17-JUN-91′; 5.3 Menggunakan operator like dan not like mysql> select * from mahasiswa where nama_lengkap like 'A%'; +-----------+---------------+----------------------------+-------------+-----------+ | npm | nama_lengkap | alamat | jns_kelamin | gol_darah | +-----------+---------------+----------------------------+-------------+-----------+ | 087006118 | Andina Novita | Perum Batara Blok C. No. 8 | P | A | | 087006122 | Agus Ramdah | Kawalu No. 210 | L | O |
  • 38. Sistem Basis Data Dian Christien Arisona 38 | 087006222 | Abdul Kodir | Manonjaya | L | AB| +-----------+---------------+----------------------------+-------------+-----------+ 3 rows in set (0.07 sec) Analisa: Operator diatas untuk menampilkan data pada tabel mahasiswa dimana data pada kolom tertentu diawali dengan nilai tertentu. Kita mungkin tidak selalu mengetahui nilai tertentu secara pasti dalam proses pencarian. Kita dapat menampilkan baris data yang sesuai dengan susunan karakter tertentu menggunakan operator LIKE. Dua jenis simbol dapat digunakan untuk membangun string pencarian. % : Menunjukkan beberapa urutan nilai karakter 0 atau lebih - : Menunjukkan beberapa karakter tunggal Contoh: Menampilkan data karyawan yang memiliki nama berawalan huruf “M”. SELECT last_name FROM employee WHERE last_name LIKE „M%‟;Menampilkan data karyawan yang memiliki nama tidak mengandung huruf “a”.SELECT last_name FROM employee WHERE last_name NOT LIKE „%a%‟; Operator LIKE dapat digunakan sebagai jalan pintas bagi beberapa perbandingan menggunakan BETWEEN. Contoh 2: Menampilkan data karyawan yang mulai bekerja pada tahun 1991. SELECT last_name, hire_date FROM employee WHERE hire_date LIKE „%91′; 5.4 Menggunakan order by untuk mengurutkan data
  • 39. Sistem Basis Data Dian Christien Arisona 39 Fungsi Order by Dipergunakan untuk menampilkan data yang terurut atau mengurutkan data. Ada dua macam pengurutan : Secara Ascending (Asc)(Pengurutan nilai kolom secara menaik atau membesar). Secara Descending (Desc)(Pengurutan nilai kolom secara menurun atau mengecil). Maksud dari pengurutan data dengan perintah ORDER BY adalah jika data sebuah tabel diurutkan dengan perintah tersebut, maka data tadi akan diurutkan dari atas ke bawah berdasarkan abjad. Hal ini juga berlaku jika data yang ada dalam bentuk angka. Berikut struktur perintah SQL : SELECT * FROM [NAMA TABEL] ORDER BY [NAMA KOLOM]; 5.5 Menggunakan group by untuk mengelompokkan data Fungsi GROUP BY dipergunakan untuk mengelompokkan record-record pada tabel. Fungsi GROUP by dipergunakan mengikuti operasi agregat pada suatu perintah. Statement GROUP BY digunakan bersama dengan fungsi agregat ke grup hasil-set oleh satu atau beberapa kolom. Bentuk umum GROUP BY: SELECT nama_kolom, aggregate_function (nama_kolom) DARI nama_tabel
  • 40. Sistem Basis Data Dian Christien Arisona 40 WHERE nama_kolom operator nilai GROUP BY nama_kolom Contoh: Tabel Pesanan No Tanngal pesanan Harga Pesanan Pelanggan 1 2011/11/12 1000 Hanizar 2 2011/10/23 1600 Nilam 3 2011/09/02 700 Hanizar 4 2011/09/03 300 Hanizar 5 2011/08/30 2000 Jeni 6 2011/10/04 100 Nilam Jika kita ingin mencari jumlah total pesanan dari setiap pelanggan. Maka, kita harus menggunakan pernyataan GROUP BY untuk kelompok pelanggan. Bentuk umumnya adalah : SELECT Pelanggan, SUM (Harga pesanan) FROM Pesanan GROUP BY Pelanggan maka, hasilnya adalah sebagai berikut : Pelanggan SUM(HargaPesanan) Hanizar 2000 Nilam 1700 Jeni 2000 Contoh 2: Tabel Pekerjaan Nama Jam kerja Raisya 12 Doni 10 Raisya 8 Doni 15
  • 41. Sistem Basis Data Dian Christien Arisona 41 SELECT Nama, DESC (Jam_Kerja) FROM NamaJam_Kerja GROUP BY Nama Maka, Hasilnya adalah : Nama Jam Kerja Doni 15 Raisya 12 Doni 10 Raisya 8 Menggunakan Group By Clause Perhatikan contoh berikut : select department_id, avg(salary) from employees group by department_id ; Pada contoh diatas kita menambahkan suatu fungsi yaitu fungsi Group By yang digunakan untuk mengelompokkan rata-rata salary berdasarkan department_id. jadi begini kira-kira terjemahan contoh diatas : Tampilkan department id beserta dengan rata-rata salary dari tabel employees dimana rata-rata salarynya dikelompokkan berdasar department_id. jadi intinya , kita mencari nilai rata-rata salary dari tiap department.
  • 42. Sistem Basis Data Dian Christien Arisona 42 Menggunakan Group By Clause dengan multiple columns(banyak kolom/lebih dari satu kolom) Perhatikan contoh berikut : select department_id as dept_id, job_id, AVG(salary) from employees group by department_id, job_id pada contoh diatas, kita akan menampilkan dept_id , job_id beserta dengan rata-rata salary dimana rata-rata salarynya didapatkan dengan mengelompokkan department_id terlebih dahulu lalu setelah itu dikelompokkan berdasarkan job_id. Intinya, kita ingin mencari rata-rata salary dari tiap job_id dimana job_id tersebut terdapat dalam department_id yang sama .
  • 43. Sistem Basis Data Dian Christien Arisona 43 BAB VI Perintah MySQL untuk Menampilkan Data dari Beberapa Tabel Di dalam suatu RDBMS termasuk MySQL, tentunya sudah menjadi suatu kewajaran jika dalam satu database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut dapat berhubungan (berelasi) satu sama lain. Relasi antar-tabel dapat berupa relasi 1-1 (one-to-one), 1-M (one-to-many), atau M-N (many-to-many). Sebagai contoh terlihat pada gambar pemodelan data konseptual (class diagram) di bawah ini. Tabel pelanggan berhubungan dengan pesan, pesan dengan barang, dsb. Pada pembuatan suatu aplikasi, terkadang kita juga memerlukan tampilan data yang tidak hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus. Contohnya, dari class diagram di bawah, kita ingin menampilkan nama pelanggan berikut transaksi yang pernah dilakukannya. Dari contoh tersebut, kita harus bisa menggabungkan minimal dua tabel, yaitu pelanggan dan pesan. Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk perintah JOIN. Akan dijelaskan secara bertahap mengenai bagaimana menggabungkan dua tabel atau lebih, terutama untuk menampilkan data yang berasal dari beberapa tabel. Contoh- contoh dalam tutorial ini secara khusus telah dicoba di database MySQL, namun demikian secara umum perintah penggabungan tabel di semua jenis database tidak jauh berbeda alias sama.
  • 44. Sistem Basis Data Dian Christien Arisona 44 6.1 Inner Join Yang pertama Inner join = Inner join hanya akan ditampilkan baris baris yang satu sama lain memiliki kecocokan . Contoh : SELECT a.Nama, b,penyakit FROM pasien a INNER JOIN penyakit b ON b.id = a.id; +------+---------+ | Nama | Penyakit| +------+---------+ | Koni | Asma | | Huni | Mual | | Buri | Pusing | +------+---------+ 6.2 Left Join Yang kedua Left join = Left join akan menampilkan semua isi tabel sisi kiri , walaupun data di pasangan joinnya yang disisi kanan nilainya tidak sama ataupun berisi null. Contoh : SELECT a.Nama, b.penyakit FROM pasien a LEFT JOIN penyakit b ON b.id = a.id; +------+---------+ | Nama | Penyakit| +------+---------+ | Koni | Asma |
  • 45. Sistem Basis Data Dian Christien Arisona 45 | Huni | Mual | | Buri | Pusing | | Orui | NULL | +------+---------+ Left join adalah relasi antar tabel, namun query yang ditampilkan adalah mengacu pada tabel yang sebelah kiri / tabel utama. misal seperti ini : mysql> select * from mahasiswa order by id asc; +----+--------------+----------+-----------------------+----------+ | id | nim | kota | fakultas | angkatan | +----+--------------+----------+-----------------------+----------+ | 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 | | 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 | | 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 | | 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 | | 5 | A11.111.1043 | Demak | Teknik Informatika | 2010 | +----+--------------+----------+-----------------------+----------+ 5 rows in set (0.05 sec) mysql> select * from nim order by id asc; +----+--------------+----------+ | id | nim | nama | +----+--------------+----------+ | 1 | A10.111.1031 | Musthofa | | 2 | A10.111.1032 | Bisri | | 3 | A11.111.1040 | Alex | | 4 | A11.111.1041 | Graham | +----+--------------+----------+ 4 rows in set (0.00 sec) Jika kedua tabel itu kita relasi dengan left join maka akan menjadi seperti ini : mysql> select a.id, a.nim, a.kota, a.fakultas, a.angkatan, b.nama from mahasiswa a left join nim b on a.nim=b.nim;
  • 46. Sistem Basis Data Dian Christien Arisona 46 +----+--------------+----------+-----------------------+----------+----------+ | id | nim | kota | fakultas | angkatan | nama | +----+--------------+----------+-----------------------+----------+----------+ | 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 | Musthofa | | 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 | Bisri | | 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 | Alex | | 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 | Graham | | 5 | A11.111.1043 | Demak | Teknik Informatika | 2010 | NULL | +----+--------------+----------+-----------------------+----------+----------+ 5 rows in set (0.00 sec) nah terlihat total data yang ditampilkan ada 5 baris, namun lihat pada baris kelima kolom nama, disitu tertulis NULL. 6.3 Right Join Selanjutnya Right join = Right join ini hanya kebalikan left join , akan menampilkan semua isi tabel sisi kanan, walaupun data di pasangan joinnya yang di sisi kiri nilainya tidak sama ataupun berisi null. Contoh : SELECT a.Nama, b.penyakit FROM pasien a RIGHT JOIN penyakit b ON b.id = a.id; +------+---------+ | Nama | Penyakit| +------+---------+ | Koni | Asma | | Huni | Mual | | Buri | Pusing | +------+---------+ 6.4 Full Join Yang terakhir Full join = Full join akan menampilkan semua isi tabel sisi kiri walaupun data di pasangan joinnya yang disisi kanan nilainya null atau sebaliknya
  • 47. Sistem Basis Data Dian Christien Arisona 47 Contoh : SELECT a.Nama, b.Penyakit FROM pasien a FULL JOIN JK b on a. id = b.id; +------+---------+ +------+----------+ | Nama | Penyakit| | Nama | JK | +------+---------+ +------+----------+ | Koni | Asma | | Koni | Laki | | Huni | Mual | | Huni | Perempuan| | Buri | Pusing | | Buri | Laki | +------+---------+ +------+----------+ Menjadi +------+---------+----------+ | Nama | Penyakit| JK | +------+--------------------+ | Koni | Asma | Laki | | Huni | Mual |Perempuan | | Buri | Pusing | Laki | +------+---------+----------+
  • 48. Sistem Basis Data Dian Christien Arisona 48 BAB VII Menghubungkan mysql ke java JDBC (Java Database Conectivity) merupakan library yang digunakan untuk mengkoneksikan DBMS dengan Java, baik itu MySQL, Oracle, Microsoft ODBC dan DBMS lainnya. Untuk menghubungkan antara Java dan MySQL kita membutuhkan sebuah library yang bernama MySQLConector Java. Untuk membuat koneksi dari Java ke MySQL kita memerlukan class yang bernama Driver. Dan setiap Connector (yang kita gunakan MySQLConnectorJava) memiliki Driver masing-masing yang selalu mengimplementasi class Driver yang ada dalam paket “java.sql”. Langkah pertama kita harus mengecek keberadaan Driver dalam MySQLConnector java kita gunakan perintah ini untuk mengetesnya (Sebelumnya diimport dulu file jar untuk mysql connectornya ya) : 1. Mengecek Driver MySQL Class.forName(“com.mysql.jdbc.Driver”).newInstance(); Atau lengkapnya seperti ini :
  • 49. Sistem Basis Data Dian Christien Arisona 49 import java.sql.Connection; import java.sql.DriverManager; public class koneksi { public static void main (String[]s) { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); System.out.println("Driver terbaca"); } catch (Exception e) { e.printStackTrace(); } } } 2. Membuat Connection ke Database selanjutnya kita membuat Connection untuk menghubungkan program java dan database yang kita buat. Dan untuk membuat Connection kita harus mengetahui host, port, dan nama database yang akan kita gunakan. Selain itu kita juga harus mengetahui username dan password yang digunakan untuk koneksi mysql tersebut. Perintahnya seperti ini : Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/dbjava”, “root”, “”); Atau lengkapnya seperti ini : import java.sql.Connection; import java.sql.DriverManager; public class koneksi { public static void main (String[]s) { Connection con; String dbHost = "jdbc:mysql://localhost:3306/dbcrudsederhana"; String dbUser = "root"; String dbPass = ""; try {
  • 50. Sistem Basis Data Dian Christien Arisona 50 Class.forName("com.mysql.jdbc.Driver").newInstance(); con=DriverManager.getConnection(dbHost, dbUser, dbPass); System.out.println("koneksi"); } catch (Exception e) { e.printStackTrace(); } } } Biasanya untuk kepentingan Aplikasi Database, suatu koneksi seperti ini akan dipisah dan dibuat menjadi kelas sendiri, lalu didalamnya dibuat method yang akan mengembalikan nilai koneksi tersebut, misalnya seperti ini : import java.sql.Connection; import java.sql.DriverManager; public class koneksi { private Connection con; public Connection con { String dbHost = "jdbc:mysql://localhost:3306/dbcrudsederhana"; String dbUser = "root"; String dbPass = ""; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); con=DriverManager.getConnection(dbHost, dbUser, dbPass); System.out.println("koneksi"); } catch (Exception e) { e.printStackTrace(); } return con; }
  • 51. Sistem Basis Data Dian Christien Arisona 51 BAB VIII Menghubungkan mysql ke PHP Terdapat 4 Tahapan dalam pembuatan Script PHP ke MySQL ini 1.Pembuatan Koneksi PHP ke MySQL 2.Pembuatan Tabel MySQL 3.Memasukkan data pada tabel MySQL 4.Menampilkan data dari MySQL Pertama-tama kita akan membuat script koneksi PHP ke MySQL <?php $hostmysql = “localhost”; $username = “mysql_username”; $password = “mysql_password”; $database = “nama_database”; $conn = mysql_connect(”$hostmysql”,”$username”,”$password”);
  • 52. Sistem Basis Data Dian Christien Arisona 52 if (!$conn) die (”Gagal Melakukan Koneksi”); mysql_select_db($database,$conn) or die (”Database Tidak Diketemukan di Server”); ? > Untuk mempermudah, simpan file tersebut dengan nama connect.php , agar jika terdapat script PHP yang memerlukan untuk terkoneksi dengan database, dapat dengan mudah memanggilnya. Penjelasan Script koneksi PHP ke MySQL: a. Penyambungan mysql dipergunakan untuk membuat koneksi menggunakan PHP ke server MySQL. Data untuk hostname, mysql username, dan password yang digunakan telah dideklarasikan oleh variabel $hostmysql, $username, $password. Penulisannya pada script akan sama dengan: mysql_connect(”localhost”,”username”,”password”); b. mysql_select_db dipergunakan untuk memilih database yang akan digunakan. c. if (!$conn) die (”Gagal Melakukan Koneksi”); jika terjadi kegagalan dalam melakukan koneksi (!$conn), maka akan muncul pesan kesalahan Gagal Melakukan Koneksi Setelah itu kita akan membuat tabel MySQL <?php include (”connect.php”); mysql_query(”CREATE TABLE user ( namadpnVARCHAR(20), namablkg VARCHAR(20), negara VARCHAR(20))”); ?> Penjelasan: 1. include (”connect.php”); kita gunakan untuk mengikutkan sebuah file (contoh file connect.php). 2. mysql_query perintah ini memiliki format umum yakni ysql_query(string dari query). Script dibawah ini dipergunakan untuk membuat tabel <?php include (”connect.php”); $insert = “INSERT INTO users (type,firstname,lastname)
  • 53. Sistem Basis Data Dian Christien Arisona 53 VALUES (’User,’Budi’,’Utomo’)”; mysql_query($insert) or die (”tidak dapat menulis pada tabel”);?> Script dibawah ini dipergunakan untuk menampilkan data dari tabel <?php include (”connect.php”); $query = “SELECT * FROM user”; $result = mysql_query($query); $numrows = mysql_num_rows($result); while($row = mysql_fetch_array($result)){ echo “Total: $numrows”; echo “Tipe: $row[type]”; echo “Nama Depan: $row[firstname]”; echo “Nama Belakang: $row[lastname]“; } ?> Daftar Pustaka  http://syafiq13.wordpress.com/2012/11/24/melakukan-koneksi-mysql-dengan-java-melalui- jdbc/  http://www.kelasinformatika.com/2012/06/mengenal-sql-secara- mendasar_02.html#ixzz2TWVx7lD6  http://dulida.blogspot.com/2012/02/sintak-pada-sql.html#ixzz2TWTwpbqF  http://www.qwords.com/kb/2009/02/membuat-koneksi-php-ke-mysql/ http://ahmadnasikun.wordpress.com/2011/03/10/cara-koneksi-java-dengan-database- mysql/  http://blog.seventhsoft.net/2012/09/pengertian-databasebasis-data.html  http://setiyawatii.blogspot.com/
  • 54. Sistem Basis Data Dian Christien Arisona 54  https://www.google.com/search?q=pengertian+database&client=firefox- a&hs=ONZ&rls=org.mozilla:enUS:official&tbm=isch&tbo=u&source=univ&sa=X& ei=psCVUd7zMMqArgem6IGICA&ved=0CD8QsAQ&biw=1366&bih=598#imgrc= Geh9W1Jj3iXp9M%3A%3Bql_rljt4N5MXM%3Bhttp%253A%252F%252Fimg.cara pedia.com%252Fimages%252Farticle%252Fdatabase.gif%3Bhttp%253A%252F%25 2Fcarapedia.com%252Fpengertian_definisi_database_info2083.html%3B752%3B516