rangkuman bd ika

Upload: herugaskin

Post on 06-Jul-2015

1.699 views

Category:

Documents


0 download

TRANSCRIPT

Sql pada my sql(manipulasi data pada table) Pendahuluan,jika di cermati pembuatan data base dan table menggunakan bentuk query yang di golongkan ke dalam data definision language(DDL).padahal seperti ini telah di ungkapkan pada pembahasan lalu,query SQL masih memiliki satu bentuk permintaan lagi,ya itu DML atau (data manipulasi language) Untuk membaut data base ataupunn table,sebaiknya penulisan nama database atau table menggunakan huruf kecil karena sifatnya yang case sensitive,Jika menggunkan huruf capital(huruf besar)maka akan Nampak seperti Mysql> USE BUKU(nama table/data base menggunakan huruf besar) ERROR 1049: Unknow database BUKU Membuat table alamat Pada pembahasan ini,kita akan menggunakan sabuah table alamat untuk mendokumentasikan data berupa alamat.berikut adalah penggambaran prototip table yang akan dibuat field type length ket primary no nama alamt email no_telp int varchar varchar varchar varchar 3 35 60 40 15 key

Pada table di atas di jelaskan sebagai berikut No;bertpe integer dengan panjang rekaman sebanyak 3 digit,di gunakan untuk merekan penomoran data,field ini di jadikan kunci primer (utama) Nama;bertipe varchat dengan panjang rekaman maksimal35 karakter,digunakan untuk menyimpan data nama

Alamat;bertipe varcahhr dengan panjang rekaman maksimal 60 karakter,digunakan untuk merekam data alamat teman Email;bertipe varchar dengn panjang rekaman maksimal 40 karakter,digunkan untuk merekam data email Notelp;bertipe vacahr denag panjang rekamanmaksimal 15 digunakan untuk merekam nomor telepon Untuk membuat table di atas ,queryyang harus di tuliskan adalah sebagai berikut; Mysql>crete table alamat ->(no int(3) NOT NULL, ->nma varchar(35)not null, ->Almat varchar(60)not null, memasukkan data Memasukkan data atau entry data,dalam semua program yang menggunakan query sql,sebagai standart permintaannya,digunkan perintah INSERT.jika kembali menengok proses pembuatan table di atas,kita menghgunakan perintah field no sebagai kunci primernya,sehingga pada saat memasukkan data kita tidak dapat memasukkan data dengan nomor yang sama. Dalam memasukkan data,ada beberapa teknik yang dapat anda gunakan ,beberapa teknik tersebut adalah memasukkan data tunggal,data ganda se rta masukkan data field y6ang lainnya,selain itu kita juga dapat memasukkan data dari sebuah table menuju table tertentu dengan criteria dan struktur table yang sama memasukkan data tunggal Data tunggal maksudnya adalah teknik memasukkan data pada sebuah table berbasis atau per-record,jadi apabila anda memiliki 100 data maka anda perlumemasukkan 100 kali pula, Secara umum teknik memasukkan data atau insert data dapat menggunakan pwerintah insert di ikuti penunjuk untuk menjelaskan table yang di tuju,pada my SQL di gunakan perintah INSERT INTO dengan sintak sebagai berikut. null, ->PRIMARY KEY(no)) ->Email varchar(40)not null, ->No_telp varchar(15) not

INSERT INTO nama_tabel VALUES (isi_field_1, isi_field_2, isi_field_3isi_field_n); Atau; INSERT INTO nama_tabel (field_1,field_2,field_n) VALUES (isi_field_1, isi_field_2, isi_field_3isi_field_n); Dengan menggukan peng inputan dat seperti model di atas ,besar kemungkinan akan terjadi kesalahan(ERROR)karena kolom/field tidak sesuai dengan jumlah dat yang di masukkan,contoh; ERROR 1136:Column count doesnt match value count at row 1 Kesalahn di atsa menunjukkan,bahwa nilai yang masuk tidak sesuai denga jumlah field dalam table,sehingga data tersebut tidak dapat di simpan Untuk mengatasi permasalahn tersebut,dapat menggunkan penentu field mana saja yang aan di masukkan datanya,hal ini bermanfaat apbila ada beberapa data yang di nyatakan kosong memaukkan data ganda Memasukkan data gana adalah memasukkan data bersama dalam satu jenis perintah,jika pada proses memasukkan data tunggal hanya untuk memasukkan data perecord dalam satu baris perintah,maka sekarang dapat memasukkan semua data ke dalam nya,pada teknik /ini juga menggunakan perintah yang sama,yaitu perintah INSERT INTO MEMASUKKAN DATA DARI TABEL YANG LAIN Memindahkan data dari table lain y ang di setujui,fungsi ini juga dapat di gunakan untuk mem back_up data yang di anggap penting dengan mendokumentasikananya ke dalam table ynag lain Memasukkan data adri table yang memilliki banyak data ke dalam atbel baru,juga dapat memilah data yang akan di masukkan denagn memberikan criteria tertentu

memasukkan data dari file yang lain Mennggunakan bebrapa text /editor seperti note pad atu wordpad.jika menggukan linux,dapat menggunakan text editor vi maupun joe Cara pembautan file data tersebut daalh den gan mengelompokkan data ke dalam bentuk table dan baris yang sesuai dengan struktiur table database,untuk memmisahkan kolom dapat menggunakn jarak satu tabulasi(klik tombol tab sekali pada keyboard) menampilkan data Menamilkandata adalah hal yang sangat pe nting,karena harus melihat dan menyeleksi suatu dat table maupun antar table,untuk melakukan melihat data atu selection,query yang harus di lakukkan adalah SELECT yang di ikuti beberapa pernyataan khusus berkenaan denag table yang di seleksi,teknik menampilkan data sebuah table secara sederhana, Ada beberapa cara untuk menampilkan isi sebuah data pada table,yaitu seara menyeluruh atau hanya perkolomcontoh syntax; SELECT (filed_1field_2, ,field_n) FROM nama_tabel; Atau; SELECT * FROM nama_tabel; SELECT*FROM nama_database.nama_tabel; Pada sintax tanda bintang(*) berarti semua,denagn menggunakan tanda tersebut,data di dalam atbel akan di tampilkan secara keseluruhan. membuat judul pada kolom Pada saat menmpilkan data dari sebuah table,secara standart akan muncul sebuah baris dan kolom sesuai denga kondisi struktur table itu sendiri,judul /dalam hal ini merupakan kolom yang tampil pada setiap hasil seleksi,juga akan di tampilkan sesuai dengan struktur table yang ada Hampir semua query SQL termasuk MYSQL mamp u membuat definisi judul kolom tersendiri ketika data di tampilkan,yaitu dengan menggunakan definisi nama kolom yang akan di tampilkan,sintak penulisan dapat di tampilkan sebagai sebagai berikut;

SELECT nama_kolom judul_yang_dibuat FORM nama_tabel Sintak tersebutdapat digunakan pada query perhitungan matematika sederhana.penulisan judul kolom tidak dapat menggunakan tanda spasi,dengan cara lain dapat menggunakan ekpresi as dan emmberi tanda petik dua()pada judul,dengan demikian dapat membuat judul dalam bentuk kalimat panjang.contoh; SELECT nama_kolom AS judul yang akan di gunakan/di buat FORM nama_tabel. Dapat menerapkan pada semua query yang terkait dengan data base,yaitu dengan menuliskan judul sebelum tanda koma yang membatasi nama kolom,contoh query; Mysql >SELECT nama ASnama lengkap, ->no_telp ASnomor telepon ->FROM buku_alamat Melakukan seleksi tanpa menggukan AS yang akan menampilkan beberapa data dan emmberi judul pada hasil query nya.contoh; Mysql >SELECT no NO.nama_NAME, ->alamat ADDRES,no_telp PHONE ->FROM buku_alamat menampilkan dengan mengeluarkan data Fungsi ini merupakan kebalikan dari fungsi memasukkan data dari luar file,karena merupakan kebalikan fungsi maka perintah ini akan menghasilkan sebuah file baru pada computer yanhg isi nya berasal dari table database yang anda milikiperihal yang dilakukan adalah SELECT dengan syntax ,contoh; SELECT*INTO OUTFILEdata.txtFROM nama_tabel; Denagn perintah tersebut dapat mengeluarkan data dari sebauh table menuju file dengan nama data.txt,menentukan nama patch/alamat nya supaya data yang dihasilkan dapat terdefinisi dengan baikuntuk system operasi

linux,dapa menggunakan perintah yang sama dengan meletakkan alamat pa th pada direktori /tmp Mysql >SELECT* INTO OUTFILE ->/tmp/buku_alamat.sql ->FROM buku_alamat memperbaharui isi data Memperbaharui isi data atau di istilahkan dengan update data.adalah sebuah proses meremajakan data lama menjadi data yang lebih baru,namun biasanya tidak semua data dalam database perlu diremajakanmelainkan hanya sebagian data yang di anggap perlu dan urang sempurna Untuk meremajakan data dalam sebauh table,perintah yang digunakan adalah PDATE yang kemudian diikuti beberapa kondisi yang mene tukan data ynga akan menjalani proses etrsebut,bentuk perintah sederhana yang digunakan untuk elakukan pembaharuan data adalah; UPDATE nama table SET Field _1=data_baru, Field_2=data_baru, .., Field_n=data_baru; Apabila sintax yang digunakan tanpa k ondisi yang diperlukan,semua data dalam kolom dimaksud akan diganti dengan yag baru.untuk menentukan data mana saja yang akan di gunakan perintah ini dalam perintah SQL,mengenal kondisi dengan menggunakan kalusa WHERE yang di ikuti ungkapan kondisinya.berikut contoh syntax; UPDATE nama_tabel SET Field _1=data_baru, Field_2=data_baru, ..,

Field_n=data_baru; WHERE[kondisi]; menghapus isi data Dalam sebuah data base besar penghapusan data sangat penting dilakukan terutama karena tidak semua data yang akan dilakukan terutama karena tidak semua data yang ada selalu di gunakan pada saat ini,dengan demikian data yang sudah tidak berguna sebaiknya dihilangkan denagn cara menghapusnya dari table database menghapus data dengan DELETE Untuk menghapus,mySQL mem iliki query bernama DELETE.penggunaannya di ikuti dengan mana data yang akan di hapus,perintah DELETE kan melakukan operasi pengosongan data pada table yang di tentukan,standart sintax penulisan adalah ; DELETE FROM nama_tabel; Seperti halnya peremajaan da ta ,dengan perintah tersebut semua data yang ada dalam table di maksud akan hilang seluruhnya,menghapus juga mengenal kondisi menggunakan kalusa where yang di ikuti dengan pernyataan yang akan di hapus,contoh DELETE FROM nama_tabel WHERE kondisi; Sintax tersebut menyatakan logika yang di sesuaikan denangan baris data nama yang akan dihapus,dapat menggunakan penomoran yang sesuai denagn kolom data atau kolom isi yang lain menghapus data dan meremajakan table Menggunakan perintah DELETE untuk mengosongkan dat a pada suatu table,query alternative yang dapat digunakan untuk mengosongkan table adalah TRUNCATE,perintah ini memiliki syntax sebagai berikut; TRUNCATE TABLE nama_tabel; Perintah TRUNCATE sama dengan perintah DELETER FROM nama_tabel,yaitu mengosongkan semua isi table tanpa menyisakan data satu record pun.ada beberapa kelebihan dan keunggulan dalam menggunakan perintah TRUNCATE,antara lain

Dapat menghapus semua data pada sebuah table,namun tidak perbasis data Proses penghapusan data dimulai dengan menghapu s nama table yang kemudian menciptakan kembali table baru yang mirip table awal Proses penghapusan ini berlangsung lebih cepat daripada proses DELETE Fungsi ini juga berguna untuk meremajakan table,sehingga apabila memiliki sebuah kunci yang bernilai auto increment,akan di set menjadi nilai awal atau 0 Jika pada suatu file table terjadi crass file(CORUPT),fungsi ini dapat memperbaikinya Jadi perintah TRUNCATE bukan sekedar meghapus,melainkan jug sekaligus melakukan peremajaan table, Seleksi Data dengan Fungsi Matematika Seleksi dalam Perhitungan Matematika MySQL adalah sebuah database berupa server untuk mengolah data database. Dalam promt MySQL dapat melakukan berbagai operasi

matematis, MySQL dapat digunakan sebagai kalkulator. Mencari Sisa Pembagian Perhitungan mencari sisa pembagian dalam MySQL menggunakan fungsi MOD dengan sintax :SELECT MOD (angka,pembagi); Penjumlahan ( + )Sintax yang digunakan dalam MySQL adalah: SELECT angka_1 + angka_2 + ...... + angka_n ; Perkalian ( * )Sintax yang digunakan d alam MySQL adalah: SELECT angka_1 * angka_2 * ...... * angka_n ; Pembagian ( / )Sintax yang digunakan dalam MySQL adalah: SELECT angka_awal / angka pembagi ; Pengurangan ( - )SELECT angka_awal - angka pengurang ; Memadukan Beberapa Operasi Perhitungan

Operator matematika memiliki tingkatan yang berbeda, berikut adalah gambaran tingkatan operator matemat ika mulai dari yang tertinggi : Tabel Tingkatan Operator Operator Keterangan * / Operator perkalian akan selalu dibaca pertama kali Operator perkalian +,Opertor penjumlahan dan pengurangan akan dibaca setelah operator pemabagian. () Semua operator dalam tanda kurung harus dikerjakan dahulu. pembagian akan dibaca setelah operator

Perpangkatan MySQL memiliki fungsi POW untuk menyelesaikan bilangan

berpangkat. Sintaxnya sebagai berikut : SELECT POW(angka_awal,angka_pemangkat); Fungsi Pembulatan Angka Bilangan yang dapat dibulatkan adalah semua bilangan berupa bilangan pecahan. Untuk melakukann ya MySQL memiliki funsi

ROUND. Sintaxnya adalah :SELECT ROUND (angka_ganjil); Seleksi dalam Satu Tabel Mempersiapkan Database Langkah membuat database : mysql> create database data; Query OK, 1 row affected (0.03 sec) mysql> use data; Database changed

mysql>

7.1.1 Membuat Tabel Langkahnya: mysql> create table kerja -> (nik varchar(5) not null, ->nama varchar (30) not null, ->alamat varchar (30) not null, ->gol varchar(5)not null, ->gaji double not null, ->primary key(nik));

Setelah tabel selesai dibuat, masukan data -data berikut: Masukan data tersebut ke dalam tabel Kerja dengan perintah berikut: mysql> insert into kerja -> (nik,nama,alamat,gol,gaji) values -> ('0001','nama_1','tempat1','A','1000000'), -> ('0002', 'nama_2', 'tempat2','B','200000'), -> ('0003', 'nama_3', 'tempat3','c ','3000000'), -> ('0004', 'nama_4', 'tempat4','d','4000000'), -> ('0005', 'nama_5', 'tempat5','e','500000');

Untuk melihat hasil dari tabel kerja dengan cara: mysql> select * from kerja;

7.1.2 Menghitung Jumlah Baris MySQL menyediakan sebuah fungsi untuk menghitung jumlah baris, dengan menggunakan perintah COUNT(). Sintaxnya:

SELECT COUNT ( * ) FROM nama_tabel ; Tanda bintang (*) berarti menghitung seluruh kolom pada tabel Kerja. Contoh : mysql> select count(*)from kerja; 1 row in set (0.00 sec)

7.1.3 Menjumlahkan Beberapa Data pada Baris Record Sintaxnya: SELECT SUM(nama_kolom)FROM nama_tabel ; Contoh: mysql> select sum(gaji)from kerja; row in set (0.00 sec) Menghitung Nilai Rata-Rata Menggunakan Fungsi Khusus Sintaxnya: SELECT AVG(nama_kolom)FROM nama_tabel ; Contoh : mysql> select avg(gaji)from kerja; row in set (0.00 sec)

i. Mencari Nilai Tertinggi Sintaxnya: SELECT MAX(nama_kolom)FROM nama_tabel ; Contoh : mysql> select max(gaji)from kerja;

1 row in set (0.00 sec) Mencari Nilai TerendahSintaxnya: SELECT MIN(nama_kolom)FROM nama_tabel ; Contoh : mysql> select min(gaji)from kerja; 1 row in set (0.00 sec) Seleksi Data dengan Klausa WHERE Pendahuluan Klausa adalah sebuah pernyataan yang dapat menampilkan data dari sebuah tabel atau lebih dengan hasil data yang tersaring atau terseleksi. Untuk itu digunakan klusa WHERE yang dapat diartikan DIMANA. Klausa ini diikuti beberapa kondisi logokal ataupun pemb anding. Sintaxnya: SELECT * FROM nama_table WHERE kondisi ; Bentuk klausa SQL yang didukung MySQL, diantaranya adalah WHERE, GROUP BY, LIKE, WITH. Bentuk Pembanding Klause Where Sintaxnya : SELECT * FROM nama_tabel WHERE operator kondisi_pembanding ; Tabel 8.1 Beberapa operator pembanding Operator keterangan = !=. > < >= Sama dengan Tidak sama dengan Lebih dari Kurang dari Lebih dari sama dengan

) Menampilkan data pada sebuah tabel yang melebihi data yang ditentukan operator. Sintaxnya : SELECT*FROM nama_tabel WHERE colom > string_integer ; Operator Lebih Dari Sama Dengan (>=) Menampilkan semua data yang nilainya lebih dari nilai operator, maka operator lebih dari sama dengan (>=) akan menampilkan semua data yang bernilai lebih dari data operator serta data yang nilainya sama dengan nilai operator. Sintax : SELECT*FROM nama_tabel WHERE colom >= string_integer ; Operator Kurang Dari ( select * from kerja where (alamat='tiban' || gol='A'); 3 rows in set (0.01 sec)

Jika seandainya yang kita buat sintaxnya sepert i ini :

SELECT *

FROM

nama_tabel

WHERE

(pembanding |

|

pembanding) ;

Maka akan menghasilkan data dengan alamat yang tidak tinggal di Tiban dan golongan yang tidak dari golongan A Contoh :

mysql> select * from kerja where not (alamat='tiban' || gol='A'); 2 rows in set (0.01 sec)

Operaotr logika XOR Data akan bernilai benar jika pembanding pertama kali benar, dan akan dianggap salah apabila kedua data bernilai salah atau pembanding pertama bernilai salah atau keduanya bernilai benar. Tabel 8.6 Tabel kebenaran operator XOR, | |

Pembanding 1 B Tidak ada B Tidak ada

Pembanding 2 B B Tidak ada Tidak ada

Hasil Tidak ada Tidak ada B Tidak ada

Sintaxnya :

SELECT * FROM nama_tabel WHERE (pembanding XOR pembanding) ;

Operator Pengandaian Dalam sebuah pemograman pengandaian dapat diistilahkan sebagai uangkapan pernyataan. Operator logika tersebut adalah IF dan CASE. Ungakapan IFNULL Suatu bentuk ungkapan untuk mencari suatu kebenaran terbalik. Sintaxnya : IFNULL (expresi_1,expresi_2) ; Contoh : mysql> select ifnull(1/0,'benar'); +---------------------+ | ifnull(1/0,'benar') | +---------------------+ | benar |

+---------------------+ 1 row in set (0.00 sec)

Ungkapan IF Digunakan untuk membuat sebuah ungkapan yang memiliki dua ketentuan jawaban. Sintaxnya: IF (ungkapan_1, ungkapan_2, ungkapan_3); Dijelaskan bahwa apabila ungkapan pertama bernilai benar maka hasil yang diperoleh diambil pada ungkapan kedua, dan apabila salah maka hasilnya diambil dari ungkapan ketiga. Contoh: mysql> select if(7>5,'benar','salah'); +-------------------------+ | if(7>5,'benar','salah') | +-------------------------+ | benar |

+-------------------------+ 1 row in set (0.00 sec)

Ungkapan CASE Memiliki kegunaan serupa dengan IF. Bentuk penulisannya: CASE ungkapan_1 WHEN nilai_ungkapan_2 THEN nilai_ungkapan_3 Atau

CASE ungkapan_1 WHEN nilai_ungkapan_2 THEN nilai_ungkapan_3 ELSE nilai_ungkapan END Operator Dua Tabel Operator EXCEPT Menghasilkan semua data yang terdapat pada data tabel A namun tidak ada pada tabel B. Sintaxnya: SELECT * FROM tabel_A EXCEPT SELECT * FROM tabel_B ;

Operator INTERSECT Menghasilkan semua data yang memiliki persamaan antara kedua tabel. Sintaxnya: SELECT * FROM tabel_A INTERSECT SELECT * FROM tabel_B ; Klausa dalam Seleksi Data

9.1

Penggunaan Operator LIKE Klausa ini dapat melakukan perbandingan dengan hasil sama persis atau membandingkan data yang mirip dengan pembanding saja. Sintaxnya : SELECT * FROM nama_table WHERE LIKE (kondisi) ;

Menampilkan dengan Kondisi Sama Persis Menampilkan data dengan hasil sama persis dengan kondisi yang dituliskan, dapat langsung menuliskan kondisi yang akan digunakan. Contoh : mysql> select nama, gol from kerja ->where gol like ('a'); 2 rows in set (0.02 sec)

Menampilkan Data yang Mirip Menampilkan data dengan isi yang mirip dengan data yang dicari. Untuk contoh menggunakan TABEL KERJA. mysql> select * from kerja; 5 rows in set (0.00 sec)

Cara penulisan untuk tanda persen (%). Jika tanda persen berada di depan karakter yg ingin dicari (A%) maka huruf yang diawali dengan karakter tersebutlah yang akan tampil. Contoh : mysql> select * from kerja ->where nama like 'A%'; 1 row in set (0.00 sec)

-

Jika tanda persen berada di belakang karakter yg ingin d icari (%A) maka huruf yang diakhiri dengan karakter tersebutlah yang akan tampil. Contoh:

mysql> select * from kerja ->where nama like '%y'; 1 row in set (0.00 sec)

-

Jika tanda persen berada di tengah karakter yg ingin dicari (%A%) maka semua kata yang ada karakter tersebutlah yang akan tampil. Contoh : mysql> select * from kerja ->where nama like '%i%'; 3 rows in set (0.00 sec)

Membatasi Data dengan LIMIT Membatasi keluaran data yang memiliki kapasitas sangat besar sehingga layar tidak mampu untuk mengeluarkan seluruhnya kelayar. Sintaxnya: SELECT * FROM nama_table LIMIT batasan ; Contoh : Apabila layar hanya mampu menerima hingga 2 baris. Maka tampilannya adalah:

mysql> select * from kerja -> limit 2; 2 rows in set (0.00 sec)

-

Apabila ingin menampilkan data dari tabel Kerja yang dimulai dari baris ke 2 dibatasi hingga data ke 5. maka tampilannya adalah : mysql> select * from kerja ->limit 2,5;

3 rows in set (0.00 sec)

Menggunakan ORDER BY Digunakan untuk melakukan pengurutan data, sehingga data dari sebuah atau beberapa tabel dapat tampil berurutan sesuai keinginan. Pengurutan data terbagi menjadi 2 (dua), yaitu: 1. ASC (Pengurutan data Ascending) misalnya dari A -Z 2. DESC (Pengurutan data Descending) misalnya dari Z -A 3. Sintaxnya: SELECT * FROM nama_table ORDER BY kolom type ; Contoh : 1. Untuk Ascending mysql> select * from kerja ->order by nama asc; 5 rows in set (0.24 sec) 2. Untuk Descending mysql> select *from kerja ->order by nama desc; 5 rows in set (0.01 sec)

Menggunakan GROUP BY Fungsi untuk mengelompokan data dalam sebuah kolom yang ditunjuk. Funsi ini akan menghasilkan kelompok data dengan menghilangkan data yang sama dalam satu tabel. Sintaxnya : SELECT * FROM nama_table GROUP BY nama_kolom ;

Tampilkan tabel Kerja mysql> select * from kerja; 5 rows in set (0.00 sec) Contoh GROUP BY : mysql> select *from kerja ->group by gol; 3 rows in set (0.06 sec) Data yang dihasilkan adalah semua data yang memiliki GOL yang berbeda. Data yang dianggap sama tidak akan ditampi lkan. Seleksi Relasional Beberapa Tabel. Mengenal Seleksi Tunggal dua Tabel. Dalam sebuah Database yang berelasi kita dapat menampilkan data dari dua atau tiga table yang berbeda.Namun apabila table tersebut merupakan table yang berelasi kita harus memaka i tekhnik seleksi relasi khusus.Kita dapat menampilkan dua table atau lebih dengan langsung menyebutkan nama table yang akan di tampilkan namun hasilnya akan berbentuk pendobelan data yang tidak sesuai dengan yang direlasikan. Kita dapat menampilkan dua buah table dengan cara menyembunyikan masing masing, contohnya :SELECT * FROM nama_tabel 1,.,nama_tabel n; Mysql>SELECT >Belajar; * FROM Kampus

Untuk lebih memahami seleksi data dalam dua table atau lebih dengan hasil valid,kita dapat mengikuti pembahasan selanjutnya. Perancangan Database dan Tabel. Misalnya kita akan merancang sebuah database relational (ER) mengenai penjadwalan dosen mengajar, yaitu table data_dosen, table jam_mengajar,dantable mata kuliah . ketiga table tersebut diletakan dalam database bernama Dosen_mengajar. Berikut adalah table entitasnya:y

Tabel data_dosen: Digunakan untuk menyimpan semua data dosen yang mengajar di sebuah kampus,table tersebut memiliki satu kunc i primer

yaitu kd_dosen dan satu kunci tamu dari table jurusan bernama kd_jurusan.y

Tabel mata kuliah : Digunakan untuk menyimpan semua data jurusan dosen di kampus tersebut. Tabel tersebut memil iki satu kunci primer yaitu kd_mata_kuliah. Entitasnya adalah: Dari table diatas dapat digambarkan relasi data yang ada pada database, yaitu: One to many, yaitu satu jurusan di miliki banyak dosen atau ada beberapa dosen dengan jurusan yang sama. One to one, yaitu setiap dokter hanya memiliki jadwal mengajar satu kali dalam satu minggu. Dalam kondisi nyatadi sebuah kampus, seorang dosen mengajar 2 kali atau lebih dalam satu minggu.namun untuk mempermudah proses belajar kita membatasi satu dosen hanya mengajar satu kali dalam seminggu. Implementasi Database dan table. Sekarang kita buat semua table pada program MYSQL. Letakan ketiga

table ke dalam database dosen_mengajar dengan perintah sebagai berikut : Mysql> CREATE DATABASE dosen_mengajar; Setelah mengaktifkan database dosen _mengajar , selanjutnya buatlah table mata_kuliah , dengan perintah berikut :Mysql> CREATE TABLE mata_kuliah ( >kd_mata_kuliah CHAR (3) NOT NULL, >mata_kuliah varchar (35) NOT NULL,>PRIMARY KEY (kd_ mata_kuliah ) ;

Mysql> USE dosen_mengajar;

Setelah table mata_kuliah selesai dibuat,masukan beberapa data berkaitan dengan jurusan dosen, ketiklah perintah berikut :Mysql> INSERT INTO mata_kuliah >(kd_mata_kuliah , mata_kuliah ) >VALUES (AK,Akuntansi); Mysql> INSERT INTO mata_kuliah >( kd_mata_kuliah, mata_kuliah ) >VALUES(KOM,Komputer);

Masukan semua data sehingga table jurusan akan menjadi seperti berikut

Setelah table mata kuliah dibuat maka tugas kita selanj utnya adalah membuat table dosen yang akan menyimpan semua data dosen. Ketiklah perintah berikut :Mysql> CREATE TABLE dosen ( >kd_dosen CHAR (3) NOT NULL, >nama_dosen VARCHAR (35) NOT NULL, >kd_mata_kuliah CHAR (3) NOT NULL, >Telpon (15) NOT NULL, >Jenis_kelamin (1) NOT NULL, >PRIMARY KEY ( kd_dosen) );

Setelah table dosen selesai, masukan semua data dosen kedalamnya.Kita dapata memakai contoh nama sesuai keinginan, contohnya :

Mysql>INSERT INTO dosen >(kd_dosen, nama_dosen , kd_mata_kuliah , Telpon, jenis_kelamin) VALUES (D01, Yodi, KOM, 08123456789,

P);Mysql> INSERT INTO dosen >(kd_dosen, nama_dosen , kd_mata_kuliah , Telpon, jenis_kelamin)VALUES (D02,Ika, AK, 08123456788, W);

Langkah terakhir adalah membuat table bernama jam_mengajar untuk menyimpan jadwal mengajar setiap dosen, maka buatlah table berikut :Mysql>CREATE TABLE JAM_MENGAJAR ( >kd_dosen CHAR (4) NOT NULL, >hari VARCHAR (16) NOT NULL, >jam_mulai TIME NOT NULL, >jam_selesai TIME NOT NULL, >PRIMARY KEY (kd_dosen);

Pada table jam mengajar field kd_dosen menjadi kunci primer karena setiap dosen hanya tugas sekali dalam seminggu. Masukan data jam mengajar berikut ini :Mysql> INSERT INTO JAM_MENGAJAR (kd_dosen), >jam_mulai, jam_selesai) VALUES (002, Kamis,08:15:00, VALUES (001, Selasa, 12:00:00); 17:50:00, 21:30:00); Mysql> INSERT INTO JAM_MENGAJAR (kd_dosen), >jam_mulai, jam_selesai)

Teruskan proses input data table jam mengajar hingga selesai dan tampil sebagai berikut : 10.4 Implementasi Seleksi antar table. Kita harus memahami mengenai relasi table terutama tekhnik dalam membuat permintaan dar i beberapa table , hal hal yang harus di perhatikan antara lain :

Memahami tekhnik seleksi pada relasi dua table. Untuk melakukan permintaan data dari beberapa table berbeda , syarat yang di gunakan adalah menyebut nama table di ikuti nama kolom yang data nya akan di tampilkan, syntaknya :SELECT nama_tabel_a.nama_kolom, Nama_ table_b.nama_kolom,, FROM nama_table_a,nama_table_b.

Dengan syntak diatas kita dapat menyebutkan nama table lebih dari dua, sehingga apabila memiliki database relasi yang cukup komplek semua masalah dapat diselesaikan dengan cepat dan mudah. Dengan menggunakan table dosen kita bias mengetahui kode mata kuliah setiap dosen, kita harus membuka table mata kuliah dengan menghubungkan kedua table menggunakan kode mata kuliah pada table dosen dan kode mata kuliah pada table mata kuliah. Untuk membuka hubungan data tersebut kita gunakan penggabungan bebrapa operator , contoh query nya:Mwsql>SELECT dosen.nama_dosen, >mata_kuliah.mata_kuliah >FROM dosen, mata_kuliah; Query ini: SELECT dosen.nama_dosen

Berarti bahwa kita akan menampilkan data nama dosen dari table dosen, sedangkan Mata_kuliah.Mata_kuliah , berarti akan menampilkan data mata kuliah dari table mata kuliah. Saat melakukan permintaan dua buah table kita harus menggunakan tanda titik sebagai penghubung table dan nama kolomnya sehingga nama ko lom tidak akan di baca acak pada setiap table , query juga harus menyatakan table asal data yang akan ditampilkan yaitu dengan menyebutkan kedua nama table seperti berikut : FROM dosen , mata_kuliah Dengan menunjuk kedua table ,betrarti data yang akan ditampilkan berasal dari kedua table tersebut.

Pada Query kadang terjadi penumpukan data dan akhirnya tidak sesuai harapan berdasarkan relasi pada diagram alir database yang di buat, Untuk mengatasinya kita gunakan ungkapan khusus dengan kondisi yang mampu memasangkan kedua kode dari masing masing tabl e tersebut, yaitu: WHERE dosen.kd_mata_kuliah=mata_kuliah.kd_mata_kuliah; Artinya data kode mata_kulaih yang berasal dari table dosen akan ditampilkan bila datanya sama dengan data yang ada kode mata kuliah yang ada pada table mata kuliah, Jadi querynya me njadi:

Mysql>SELECT dosen.nama_dosen, >mata_kuliah. mata_kuliah >FROM dosen, mata_kuliah

>WHERE

dosen.kd_dosen =

>mata_kuliah.kd_mata_kuliah;

Seleksi dengan operator AND Operator AND digunakan bila kita ingin menampi lkan data dosen dengan kondisi lebih dari satu.Contohnya kita akan menampilkan data dosen yang memiliki mata kulaih perancangan Basis data , kita tidak dapat melakukan pembacaan pada satu table saja karena pada table dosen hanya memiliki nilai penghubung yang di tandai di kolom kd_mata kuliah saja, berarti kita harus membuka table mata kuliah , contoh querynya:Mysql>SELECT dosen.nama_dosen, >mata_kuliah.mata_kuliah >FROM dosen, mata_kuliah >WHERE dosen.kd_mata -kuliah= >mata_kuliah.kd_dosen >AND mata_kuliah.mata_kuliah= Perancangan Basis data;

kita juga dapat menampilkan data dosen dengan memakai kondisi yang datanya berasal dari table dosen, contohnya kita akan menampilkan semua nama dosen dan mata kuliahnya dengan ketentuan yan g berjenis kelamin wanita W. gunakan query berikut :Mysql>SELECT dosen.nama_dosen, >Dosen.Telpon, >mata_kuliah. mata_kuliah>FROM dosen, mata_kuliah WHERE

>dosen.kd_mata_kuliah= >mata_kuliah.kd_ mata_kuliah

>AND dosen.jenis kelamin=W;

Mengurutkan data. Untuk pengurutan data memakai ORDER BY, kita akan melakukan pengurutan data dengan meletakan querynya set elah query terakhir, contohMysql>SELECT dosen.nama_dosen, >dosen.Telpon, >mata_kuliah. mata_kuliah >FROM dosen, mata_kuliah >mata_kuliah.kd_ mata_kuliah= >AND dosen.jenis_kelamin=W ORDER BY nama_dosen ASC;

WHERE >dosen.kd_dosen=

10.4.4

Menggunakan operator OR.

OR digunakan untuk mendapatkan hasil dengan kondisi ganda, nilai akan dianggap benar atau bias di tampilkan bila salah satu data atau semuanya memenuhi syarat yang ditentukan, data akan dianggap salah atau tidak di tampilkan apabila keduanya tidak memenuhi syarat. Contohnya kita akan menampilkan data dosen dengan dua ketentuan, yaitu mengajar mata kuliah Proyek system informasi dan Perancangan basis data , kita memakai OR sebagai kondisi dan operator AND sebagai penghubung kondisi peretama yang melakukan pencocokan data dari kode mata kuliah pada table mata kuliah, contoh querynya :mysql>SELECT dosen.nama_dosen, >dosen.Telpon, >mata_kuliah. mata_kuliah. >FROM dosen, mata_kuliah WHERE >dosen.kd_dosen >= mata_kuliah. mata_kuliah. >AND >( mata_kuliah. mata_kuliah =Proyek system informasi>OR >mata_kuliah = Perancangan basis data);

Query tersebut akan menghasilkan data yang memenuhi dua kondisi yaitu mengajar mata kuliah Proyek system informasi dan Perancangan basis data, Menampilkan data dengan ungkapan kecuali atau NOT.

Dengan NOT kita dapat menampilkan dengan menghilangkan data yang di anggap tidak perlu.Sekarang kita akan menampilkan data dosen yang tidak memiliki mata kul iah Proyek system informasi dan Perancangan Basis data. Querynya sebagai berikut :Mysql>SELECT dosen.nama_dosen, >dosen.Telpon, >mata_kuliah. mata_kuliah >FROM dosen, mata kuliah WHERE >dosen.kd_dosen > = mata_kuliah .kd_mata_kuliah > AND (NOT (> mata_kuliah = Proyek system informasi > OR> mata_kuliah = Perancangan Basis data));

Dari Query di atas kita memakai operator AND, NOT, dan OR. Query tersebut akan menghasilkan data dosen yang tidak memmiliki mata kuliah Proyek system informasi dan Perancangan Basis data. Membuat Nama Alias / Samaran. Nama alias adalah Sebuah bentuk pengenalan pada sebuah table dengan nama samara. Keuntunganpemakaian nama samara adalah :y

Nama samara biasanya dipakai untuk memperpendek ungkapan dalam kondisi.

y

Ungkapan yang pendek akan mempermudah dalam menjalankan query selanjutnya.

Beberapa ketentuan dalam pembuatanya :y y

Nama samara digunakan untuk menunjuk nama table. Satunama nama samaran han ya dapat digunakan untuk mengaliaskan satu table objek.

y y

Pemakaian nama samaran tidak boleh kembar dalam satu query. Pendeklarasian nama samara di letakan pada klausa setelah FROM , yang berarti akan membaca table.

y

Nama samara yang terbentuk dapat dibaca o leh semua seleksi maupun kondisi yang ada dalam satu query.

Contoh syintax nama samara :

y

Buatlah permintaan untuk menampilkan data dosen dengan mata kuliah Etika profesi saja. Data yang ditampilkan nama dosen dan jenis kelamin dari table dosen dan mata kul iah dari table mata kuliah. Querynya adalah :

Mysql > SELECT dosen.nama_dosen, >Dosen.Telpon, >Mata_kuliah. Mata_kuliah >FROM dosen,mata Kuliah>WHERE

>mata_kuliah. mata_kuliah = Etika profesi>AND >(dosen.kd_dosen > = mata_kuliah.kd_mata_kuliah);

* Lalu ubah bentuk query dengan nama alias pada setiap nama table, misalnya table dosen diganti D dan nama mata kuliah diganti M, queryny menjadi seperti berikut :Mysql> SELECT D.Telpon, >D.Telpon,>M.mata_kuliah >FROM dosen D , mata_kuliah M>WHERE>M.mata_kuliah = Etika profesi>AND >(D. kd_mata_kuliah > = kd_mata_kuliah);

Seleksi Relasional Tabel dengan operator JOIN Pengenalan operator JOIN. Operator JOIN merupakan sebuah tekhnik mempersingkat query yang sangat panjang, dengan memakai operator ini kita dapat menyederhanakan query yang ada menjadi relative lebih pendek dan mudah di pahami. Ada banyak hal yang dapat dilakukan menggunakan operator JOIN .Beberapa jenis operator JOIN yang sering digunakan dalam merelasikan table diantaranya adalah JOIN, INNER JOIN, CROS JOIN, LEFT JOIN, OUTER JOIN, STRAIGHT JOIN, dan NATURAL JOIN. Mempersiapkan Database dan Tabel. Kali ini kita gunakan jadual jaga security sebagai contoh kasus yang terdiri dari :y y

Tabel Pegawai : Tabel ini digunakan untuk menyimpan data Pegawai. Tabel Piket yang ada, : Tabel ini digunakan sebagai table utama dari table relasi

Fungsi utamanya untuk merekam data jadual piket yang terdiri atas hari dan jam masuk. Membuat Database. Kita akan membuat Database pada server mysql dengan menggunakan perintah berikut: Mysql> CREATE DATABASE jadual_jaga;

Setelah Database terbentuk kita bisa mengaktifkan database dengan perintah berikut :Mysql> USE jadwal_jaga;

Database change Setelah database aktif kita lanjutkan dengan membuat table perakam data jadwal dan pegawai yang diambil. Tabel Pelajaran. Berikut adalah perintah membuat table dengan nama pegawai yang diletakan dalam database jadwal_jaga :Mysql>CREATE TABLE pegawai> >pegawai VARCHAR (25) NOT NULL, >PRIMARY KEY (kd_pegawai) ;

(kd_pegawai CHAR (4) NOT NULL,

Kita dapat melihat struktur table dengan perintah DESC pegawai ,hasilnya sebagai berikut :

Mysql> DESC pegawai;Kemudian setelah table pegawai dibuat adalah memasukan data pegawai yang sedang di ambil, perintahnya sebagai berikut :Mysql> INSERT INTO pegawai VALUES >(P001, yoga), >(P002,ricky), >(P003 , linda ), >(P004 , yudi ),

Tabel Jadual. Tabel Jadual kita gunakan untuk menyimpan semua data jadwal dari masing- masing pegawai yang sedang diambil. Pada table ini kia gunakan penunjuk waktu hari dan jam. Perintah membuat Tabel sebagai berikut :Mysql> CREEATE TABLE jadwal >(id INT(4) NOT NULL

AUTO_INCREMENT, >kd_pegawai CHAR (4) NOT NULL, >hari VARCHAR(15) NOT NULL,

>jam VARCHAR( 8) NOT NULL, >PRIMARY KEY (id) );

Untuk memasukan data jadwal perintahnya sebagai berikut :Mysql> INSERT INTO jadwal >(kd_pegawai,hari, jam) VALUES >(P001,Senin,07:00 15:00), >(P002,Senin,15:00 23:00), >(P003,Selasa, 07:00 15:00),>( P004,Selasa, 15:00 23:00);

Menggunakan File Dump dari disket. Kita dapat menggunakan file dump database dari jadwal_jaga dengan cara mempersiapkan nama database tempat penyimpanan data dalam file jadwal_jaga .txt, perintahnya sebagai berikut :

Mysql> CREATE DATABASE jadwal_jaga; Query OK, 1 row affected (0,05 sec)Setelah database di buat kita harus keluar dari server MYSQL dan selanjutnya masuk kembali dengan perintah :

Shell$ > mysql jadwal_jaga u bunafit p < A:\sql\jadwal_jaga.txt Enter password ****Penggabungan Tabel. Penggabungan table merupakan sebuah keharusan dalam setiap database berkapasitas besar dan beberapa table sangat terkait erat dengan relasi table tersebut karena tidak mungkin beberapa table tampil dalam satu seleksi bila keduanya tidak memiliki relasional. Bentu query standar untuk merelasika hasil table :SELECT tableA.kolom1, tabelB.kolom2, TabelB.kolom1, tabelB.kolom2, FROM tabelA, tabelB WHERE tabelA.kd_tabelA = tabelB.kd_tabelA GROUP BY tabelB.kd_tabelB;

Menggunakan CROSS JOIN

Cara sederhana untuk menampilkan table jadwal dan pegawai :Mysql> SELECT *FROM pegawai,jadwal;

Namun bila menggunakan operator CROSS JOIN, kita bisa mengganti querynya dengan:Mysql> SELEC T * FROM pegawai CROSS JOIN jad wal;

Bila kita menggunakan pernyataan berkondisi (WHERE) maka querynya menjadi :Mysql> SELECT * FROM pegawai CROSS JOIN jadwal>WHERE pegawai.kd_pegawai = jadwal.kd_pel;

Query yang memakai CROSS JOIN bila dibandingkan dengan bentuk permintaan yang sederhana dapat disamakan dengan bentuk query berikut :Mysql> SELECT pegawai.kd_pegawai, pegawai. Pegawai, >jadwal.id, jadwal.kd_pegawai, jadwal.hari, jadwal.jam, >FROM pegawa i, jadwal >WHERE pegawai.kd_ pegawai = jadwal.kd_pegawai;

Menggunakan STRAIGHT JOIN. Perbedaan STRAIGHT JOIN dengan CROSS JOIN adalah pada STRAIGHT JOIN kita tidak dapat menggunakan pernyataan berkondisi, fungsinya hampir sama dengan CROSS JOIN yaitu menampilkan dua table atau lebih yang memiliki hubungan. Menggunakan INNER JOIN. Fungsi operator ini sama dengan CROSS JOIN yaitu merelasikan beberapa table, namun bila pada operator CROSS JOIN kitan gunakan kondisi dengan WHERE maka pada INNER JOIN ki ta gunakan ON. Berikut contoh querynya :Mysql> SELECT *FROM >ON pegawai INNER JOIN jadwal

pegawai.kd_pegawai = jadwal.kd_pegawai;

Hasilnya akan sama dengan menggunakan CROSS JOIN

Menggunakan RIGHT (OUTER) JOIN. Operator RIGHT JOINdigunakan untuk menampilkan dua tabel atau lebih, table pertama akan dianggap table kiri dan table kedua sebagai table kanan,

penggunaan ini akan mengakibatkan seluruh data dari table kanan tampil seluruhnya dan bila salah satu kolom anggota table kanan ti dak memiliki hubungan dengan table kiri , maka data pada table pertama akan di isi dengan nilai ,NULL yang berarti tidak ada data yang direlasikan . Kita coba query table jadwal sebagai table kiri dan table pegawai sebagai table kanan, berikut syntaxnya :Mysql> SELECT *FROM jadwal RIGHT JOIN pegawai

>ON pegawai.kd_pegawai = jadwal.kd_pegawai;

Menggunakan LEFT JOIN. Operator LEFT JOIN memiliki fungsi terbalik dengan RIGHT JOIN , jika RIGHT JOIN menampilkan semua dat dari table yang di anggap berada pada sebelah kanan , maka operatot LEFT JOIN menampilkan seluruh data pada table sebelah kiri .contoh Querynya :Mysql > SELECT * FROM pegawai LEFT OUTER JOIN jadwal

>ON pegawai.kd_Pegawai = jadwal.kd_pegawai;

Menggunakan NATURAL JOIN. Operator ini berfungsi untuk mempersingkat dan menggabungkan beberapa operator JOIN yang ada. Contoh querinya :Mysql > SELECT * FROM pegawai NATURAL JOIN jadwal ;

Seleksi Relasional Tabel dengan Subquery. Mengenal Subquery. Subquery adalah salah satu metode untuk mendapatkan informasi dari table dalam database dan merupakan salah satu cara yang sangat mudah di gunakan.Di sini kita akan menggunakan database dosen yang terdiri dari beberapa table, antara lain :y

Jurusan :Merupakan table yang berguna untuk merekan data jurusan dan table ini di hubungkan dengan table dosen.

y y

Dosen : Merupakan table untuk merekam semua data dosen. Jadwal : Untuk menyimpan jadwal para dosen, dan memiliki sebuah kunci tamu yang berasal dari table dose n.

Data pada table.

Untuk lebih jelas perhatikan beberapa langkah berikut :y

Membuat Database. Pertama kali kita harus membuat database dengan nama dokter , denga perintahberikut :Mysql > CREATE DATABASE DOSEN ;)

y

Memasukan data pada table dokter. Perintah untuk mamasukan datanya adalah sebagai berikut :

Shell$ mysql dosen < A:\sql\bab 12\dosen.txt atau Shell$ mysql u bunafit p dosen dan pada linux bunafit@centranet: -$. Operasi - Operasi Subquery. Subquery adalah salah satu metode mendapatkan data dari sebuah maupun beberapa table yang tergabung dalam sebuah relasional database. Contoh syntaxnya :Mysql > SELECT * FROM table_b); table_a WHERE kolom_a (SELECT kolom_b FROM

Query yang tercetak tebal adalah Subquery,sedangkan yang tidak tebal merupakan query utama yan g mendasari semua query. Artinya dengan mamakai subquery kita dapat mempersingkat perintah dan menggunakan fungsi logika yang lebih mudah dipahami daripada query biasa. Subquery dalam satu table. Subquery bukan hanya berguna untuk mendapatkan data dari hasil reladi table , tetapi juga untuk memperoleh informasi dari satu table. Contoh syntaxnya :Mysql > SELECT * FROM WHERE jam_mulai = jadwal >(SELECT MIN (jam_mulai) FROM jadwal) ;

* Pada perintah diatas kita gunakan dua bentuk query , pertama untuk menampilkan semua data dari table jadwal, yaitu dengan query : SELECT * FROMjadwal WHERE jam_mulai =

* Query tersebut memiliki subquery yang menyatakan kondisi q uery pertama, yaitu : SELECT MIN (jam_mulai) FROM jadwal. * Query di atas adalah subquery , yaitu query yang berada pada query utama.

Contoh syntaxnya : Mysql > SELECT MIN (jam_mulai) FROM jadwal ;

Dengan menggunakan query diatas sebagai kondisi artinya ki ta akan menampilkan semua data dari table jadwal yang mulai jam 08:15:00 , perhatikan hasil syntax berikut ini :Mysql > SELECT * FROM jadwal WHERE jam_mulai= > (SELECT MIN (jam_mulai) FROM jadwal) ;

Subquery dalam dua table. Bukti bahwa metode subquery berguna untuk mendapatkan data dari table relasional dapat di tunjukan pada perintah berikut :Mysql > SELECT * FROM dosen WHERE FROM jurusan WHERE>jurusan = Perancangan Basis data) ;

kd_jurusan =>( SELECT kd_jurusan

Subquery dengan Berbagai Operator. Dalam Mysql terdapat beberapa operator khusus untuk membantu dan melengkapi fungsi subquery, antara lain IN, ANY, SOME, EXIST, dan ALL. Operato IN. Operato IN dapat diartikan di dalam. Dengan menggunakan operator ini kita dapat membuat sebuah kondisi untuk menentukan apakah data yang di maksud juga terekam dalam table subquery.Intinya fungsi Operato IN adalah sebagai kondisi yang menyatakan apakah d ata berada di dalam table yang di tunjuk. Contoh querynya :Mysql > SELECT * FROM dosen WHERE kd_dosen >IN ( SELECT kd_dosen FROM jadwal);

Opertor EXISTS. Opertor EXISTS memiliki dua nilai output, yaitu TRUE dan FALSE .Query akan dianggap TRUE bila permintaan menemukan paling tidak salah satu buah datadi dalam table kondisi, dan bila tidak menemukan minimal satu data , hasilnya akan di anggap FALSE.SELECT kolom_a, kolom_b FROM nama_tabel WHERE EXISTS (subquery);

Fungsi utama operator EXISTS sebenarnya hampir mirip dengan operator IN. Bedanya adalah pada operator EXISTS semua bentuk kondisi dideklarasikan dalam subquery, bukan pada query utama. Untuk lebih jelasnya perhatikan contoh penggunaannya sebagai berikut:mysql> SELECT * FROM dosen >WHERE EXISTS >(SELECT * FROM Jurusan>WHERE kd_jurusan=dosen.kd_jurusan);

Pada perintah di atas,kita ingin menampilkan seluruh data pada table dosen, namun data akan ditampilkan apabila kondisi pada subquery dapat dipenuhi.

Sistem Informasi Pengolahan Data dengan Visual Basic 16.1 Pendahuluan Pada pembahasan ini, kita akan mencoba mengkoneksikan database server MySQL dengan bahasa Visual Basic. Visual Basic merupakan bahasa pemrograman berbentuk visual yang dikembangkan oleh Microsoft. 16.2 Mempersiapkan Database dan Tabel Pada pembahasan ini kita akan mengawalinya dengan pembuatan dan persiapan database serta table.

16.2.1 Membuat Database Database yang akan kita gunakan untuk menyimpan data-data telpon adalah telpon. Dalamdatabase tersebut kita akan membuat table untuk merekam semua data alamat dan data telpon. Syntax : mysql> CREATE DATABASE telpon; Query OK, 1 row affected (0.06 sec) Mysql> USE telpon; Jika muncul pesan Database changed, berarti database telah aktif. 16.2.2 Membuat table data telpon Tabel yang akan digunakan untuk merekam data-data telpon adalah table data_telpon. Struktur kolom table yang akan kita buat adalah, syntax : Mysql> CREATE TABLE data_telpon ( kd_telpon CHAR (4) not null, nama VARCHAR (45) not null, telp_hp VARCHAR (15) not null, telp_rumah VARCHAR (15) not null, alamat VARCHAR (225) not null, PRIMARY KEY (id_telpon)); Query OK, row affected (0.06 sec) 16.2.3 Memasukkan data telpon Setelah database dan table data_telpon selesai dibuat, maka langkah selanjutnya adalah memasukkan data-data alamat dan telpon secara manual, syntax : Mysql> INSERT INTO data_telpon VALUES (T001, Bunafit Nugroho,08157979696,(0725)42717, Jl. Syuhada, Way Jepara, Lampung Timur); Query OK, 1 row affected (0.06 sec) Dst.. 16.2.4 Memasukkan data dari file dump

Untuk menghindari lamanya pengisian data manual seperti diatas, bias digunakan file dump yang berisi semua data pada table data_telpon, syntax : shel$> mysql telpon u bunafit p < A:\sql\bab16\telpon.txt Enter password:*** (sebelumnya database telpon sudah harus dibikin terlebih dahulu). Untuk menampilkannya, syntaknya adalah : mysql> SELECT kd_telpon, nama, telp_hp, telp_rumah FROM data_telpon; 16.3 Membuat hubungan dengan MyODBC Sebelum membuat interface menggunakan program Visual Basic, harus dibuat hubungan DSN terlebih dahulu menggunakan driver ODBC. Langkahlangkahnya yaitu : 1. Masuklah kedalam halaman Control Panel melalui menu Start -> Setting -> Control Panel. 2. Masuklah kehalaman ODBC Administrator dengan cara meng-klik ganda icon ODBC Data Source (32bit). 3. Klik lah tombol Add untuk membuat koneksi DSN baru, selanjutnya piluhlah driver MySQL ODBC untuk membuat hubungan dengan MySQL. 4. Selanjutnya klik tombol Finish dan akan muncul halaman utama penyetingan DSN. Masukkan data_telpon pada kolom Data source Name. Pilih nama database telpon. 5. Klik tombol Test Data Source untuk menguji apakah DSN yang dibuat telah terhubung dengan database MySQL. 6. Klik OK untuk mengakhiri proses. 16.4 Menampilkan data_telpon dengan Visual Basic Buka program Visual Basic, lalu buat proyek baru berupa halaman Standar Exe melalui menu File -> New Project. Tambahkan komponen Microsoft ADO Data Control dan DataGrid melalui menu Components, selanjutnya pilih ADO dan DataGrid -> Apply -> OK. Masukkan DataGrid pada halaman kertas kerja, selanjutnya masukkan juga komponen AdoDc pada halaman program. Untuk membuka hubungan database MySQL dengan interface Form dengan menggunakan komponen Adodc tadi. Klik icon ConnectionString pada jendela properties, lalu akan muncul halaman utama pemilihan DSN. Pilih nama DSN yang telah dibuat sebelumnya, (pilih data_telpon

pada kolom Use ODBD Data Source Name). Klik Apply -> Properties Pages -> Tab RecordSource. Tentukan 2 adCmdTable pada kolom Command Type -> Lalu tentukan table yang ingin dibuka pada kolom Table of Stored Prosedure Name (data_telpon) -> Apply. Kita dapat menampilkan data dalam Adodc pada DataGrid yang sudah dibuat dengan member nilai pada DataSource dengan bentuk Adodc1.Sekarang DataGrid telah terhubung dengan komponen Adodc1. 16.5 Menggunakan Query Pada cara sebelumnya akan menampilkan semua kolom dalam DataGrid, namun jika ingin menampilkan beberapa kolom terpilih saja aranya adalah : 1. Ulangi langkah diatas hingga memiliki koneksi yg sama dengan masalah diatas. 2. Jika pada kasus sebelumnya kita menggunakan 2 adCmdTable pada kolom Command Type, maka sekarang pilih jenis 1 adCmdText. 3. Dengan memilih jenis pertama pada kolom CommandType, maka sekarang pada halaman Properties Pages akan tampak kolom baru yang memperbolehkan kita menulis perintah SQL. 4. Ketikkan perintah SQL dengan perintah SELECT nama, telp_hp, alamat FROM data_telpon. Dengan menggunakan query diatas, DataGrid hanya akan menampilkan data pada kolom nama, telp_hp dan alamat, maka data yang akan ditampilkan hanya data pada relasi table yang terpilih. 16.6 Membuat Program Tambah Data Selanjutnya akan dibahas tentang pembuatan halaman utama yang digunakan untuk memasukkan data-data alamat dan nomor telpon pada database telpon diatas. Untuk membuat interface (halaman utama) tempat memasukkan data_data alamat dan nomor telpon tersebut perlu dirancang terlebih dahulu form yaitu dengan cara : Bukalah proyek baru dengan bentuk halaman standar. EXE. Tambahkan komponen-komponen form ke dalam proyek anda. Aturlah jenis DSN agar bernilai data_telpon pada komponen Adodc1. Hubungkan DataSource dengan Adodc yang telah dihubungkan dengan DSN database. 5. Selanjutnya masuklah pada halaman kode dengan melalui menu view Code, masukkan kode. 6. Jalankan program. 7. Masukkan data lalu simpan. 1. 2. 3. 4.

Administrasi Server MySQL 17.1 Pendahuluan Pada BAB ini akan dibahas tentang cara menangani server MySQL yang telah terpasang di PC / Komputer anda. 17.2 Manajemen User MySQL Selaku Database Serevr yang mampu berjalan pada jaringan, tentu saja MySQL harus memiliki kemampuan khusus yang berguna untuk melakukan manajemen user atau mendukung system database yang bersifat Cilent / Server. MySQL adalah salah satu database server yang mampu menangani permasalahan hak akses user dengan sangat menakjubkan.Itu sebabnya mengapa databaseini mampu bersaing dengan rekan dekatnya seperti PostgreSQL maupun Oracle.Berikut adalah teknik-teknik penanganan user. 17.2.1 Database Pengontrol Sistem MySQL Sebagai database server, MySQL memiliki metode pengaturan server yang sangat Unik.Dikatakan Unik karena dalam database sebesar ini, pengaturan administrasi server hanya dilakukan oleh database khusus bernama MySQL. Ketika pertama menginstal MySQL, anda akan mendapatkan 2 buah database standar, yaitu mysql dan test. Database test merupakan database open/terbuka yang dapat digunakan untuk mmenguji berbagai kondisi.Dapat digunakan secara bebas tanpa memerlukan hak akses. Sebaliknya, pada database MySQL, semua operasi yang berkaitan dengan manajemen server akan dikontrol. Database tersebut berisi beberapa table, diantaranya adalah table columns_priv, db, func, host, tables_priv, user. Operasi-operasi tersebut akan digunakan dalam pengaturan server database, termasuk di dalamnya menangani masalah user dan hak akses. 17.2.2 Memberikan Password untuk User Root Dalam level pemakai, tingkatan tertinggi dalam MySQL adalah root. Saat pertama kali MySQL diinstal, server akan memasang root tanpa password, sehingga siapa saja dapat masuk ke dalam database MySQL. Untuk itu, langkah awal yang harus dilakukan adalah menambahkan password pada user root tersebut, yaitu dengan menggunakan tool mysqladmin, yaitu perintah :

Shell$ mysqladmin u root password , contohnya C:\mysql\bin>mysqladmin u root password oktober Sekarang user admin(root) pada MySQL memiliki passwaor dengan kata sandi oktober, sehingga apabila ingin masuk ke dalam database MySQL dengan user root, perintah yang digunakan adalah : Shell$ mysql u root p Password :, jika login berhasil database MySQL siap di operasikan. 17.2.3 Menghilangkan User Anonymouse Anonymouse user adalah sebuah hak akses yang diberikan pada siapa saja yang ingin menggunakan database ini (disebut juga user tamu).Jadi, siapa saja yang bukan merupakan anggota server atau mereka yang tidak memiliki akses pada server MySQL tersebut, secara standar, tetap dapat menggunakannya.User tamu tersebut, dalam MySQL, dikenal dengan Anonymouse User. Untuk alasan keamanan dan kenyamanan, sebagian orang ingin menghilangkan akses Anonymouse Name dengan menggunakan perinyah berikut : Mysql> DELETE * FROM user WHERE password=`; Untuk berikutnya, masuk ke dalam database akan perlu password yang sesuai. 17.2.4 Menambahkan User Baru Semua user database MySQL disimpan dalam table user.Tabel ini merupakan table administrasi yang tergabung dalam database mysq. Srtuktur table user bias dilihat dengan mengetikkan mysql> DESC user; Untuk memasukkan user baru digunakan perintah Mysql> INSERT INTO user VALUES ->(localhost,bunafit,PASSWORD(nugroho),Y,Y); Query OK, 1 row affected (0.00 sec) Pada perintah diatas, kita membuat user dengan katentuan dapat melakukan pembuatan table/database, mengubah struktur table, menghapus data, dan mengup date data. Setelah user terbentuk, anda harus merefresh system database dengan mengetikkan perintah FLUSH seperti berikut :

Mysql> FLUSH PRIVILEGES Query OK, 0 row affected (0.16) Sekarang user dengan nama bunafit dan berkata kunci nugroho telah dapat digunakan. Cobalah untuk masuk ke dalam dengan menggunakan perintah berikut : Shell$ mysql u bunafit p Password : nugroho Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 to server version: 4.1.1a-alpha-max-debug Type help; or \h for help.Type \c to clear the buffer. mysql> 17.3 MySQL Tools Untuk membantu operasi-operasi database, mysql memiliki banyak tool. Beberapa tool yang dapat digunakan dalam mengelola database adalah sebagai berikut : 17.3.1 Mysqldump Mysqldump merupakan bentuk tools dalam MySQL untuk menangani backup data. Dengan tools ini, kita dapat membuat dan memiliki file yang di_back up dari database yang telah ada, syntax : Shell$ mysqldump u user p nama_db > /path/nama_file.txt Password :*** Sebagai contoh, apabila kita memiliki database bernama dokter, dan ingin memback upnya, maka perintah yang digunakan adalah sebagai berikut : C:\mysql\bin>mysqldump u bunafit p dokter > dokter.txt Enter password: ******** Pada perintah diatas, kita melakukan back up database dokter dan menyimpan hasilnya pada file dokter.txt. Apabila dibuka, sisi dari file hasil back up tersebut akan berbentuk seperti table berikut : MySQL dump 9.08 Host: localhost Database: dokter_jaga Server version 4.0.15a

Kita dapat juga mengembalikan file tersebut ke dalam database asalnya, atau juga menyimpannya ke dalam database baru. Untuk mengembalikan database tersebut dapat dilakukan syntax : C:\mysql\bin> mysql u bunafit p db_tujuan save. 18.2.3 Mengubah Struktur Tabel Untuk mengubah struktur table yang telah dibuat, pilih database letak table yang akan diubah, caranya klik Drop List berlabel database di halaman kiri, lalu pilih nama database buku lalu klik nama table yang ingin anda ubah strukturnya.Pada samping kanan field ada menu yang bias dipilih dalam menu action, yaitu change (mengubah bentuk field), drop (menghapus field), primary (membuat field kunci), index (mengubah field menjadi field tamu) dan unique (mengubah field menjadi unik). 18.2.4 Menambah Field Baru Untuk menambah field baru, buka database dan table yang dimaksud, dibagian bawah ada opsi add new field, isikan berapa field yang ingin ditambah, lalu klik GO. 18.3 DML (Data Manipulation Language) / Bahasa Pemanipulasian Data Bahasa pemanipulasian meliputi memasukkan, mengedit/memanipulasi dan menghapus data. Berikut akan diterangkan satu persatu. 18.3.1 Input Data Input Data mensyaratkan database harus dibuka terlebih dahulu, selanjutnya klik tombol menu insert, setelah diisi klik GO.

18.3.2 Menampilkan Data

Menampilkan data yang telah kita masukkan atau view atau show data dalam SQL menggunakan perintah Select. Untuk menampilkan isi suatu table gunakan menu Browse. 18.3.3 Update/Edit Data Edit adalah mengubah data yang sudah ada untuk diperbarui / Up to Date.Caranya, klik menu tombol Edit lalu ubah value/nilai yang ada pada table bukutamu. Setelah selesai klik GO. 18.3.4 Delete / Hapus Data Syntax SQL : delete * from nama_table where (kondisi) (nama table) atau pada phpmyadmin langsung klik tombol Delete. 18.3.4 Mengosongkan Isi Tabel Pada SQL ada perintah delete from nama_tabel, maka pada phpmyadmin cukup klik tombol empty pada samping kiri data yang ditunjuk.

18.4 Operasi Database Phpmyadmin Pada program terdapat banyak tombol yang harus dimengerti untuk menghindari kegagalan dalam pembuatan database, atau malah merusak database yang sudah ada sebelumnya. Bagian-bagian tersebut antara lain : 1. Menu Utama :

- (Databases)(membuka/memilih db) - Show MySQL runtime information - Show MySQL system variable - Show processes [documentation]

- Reload MySQL [documentation] - Privileges (melihat siapa saja yg punya - Databases (melihat daftar seluruh db) - Language (pilihan bahasa) - phpMyAdmin documentation - Show PHP information (melihat versi PHP yang mendukunh phpMyAdmin) - Official phpMyAdmin Hpmepag 2. Menu Pada Database Aktif: tdd Structure, SQL, Export, Search,Query dan Drop. 3. Tombol Menu Saat Tabel Aktif : tdd Browse, Select, Insert, Operations Dan Empty. Hak akses ke db)

Pengelolaan Menggunakan MySQL Manager 19.1 Pendahuluan Ada banyak program yang berguna untuk mengelola Database MySQL berbasis MySQL Manager.Program ini difungsikan untuk melakukan administrasi database berbasis Visual.Salah satu kemudahan menggunakan MySQL Manajer adalah membangun database sampai dengan administrasi server MySQL itu sendiri. Pengguna awampun akan mendapat banyak kemudahan dengan kehadiran tool dan icon yang relevan. 19.2 Membuat Database Sesudah menginstal dan membuka koneksi ke server MySQL melalui menu File > Register Database dan setelah koneksi berhasil, langkah selanjutnya yang perlu dilakukan adalah membuat database, yaitu dengan menu File > Create Database. y y y y Cara membuat table Mengubah struktur table Mengubah nama Menghapus table : : : : Database Explorer New Table Menu Edit Field Klik kanan nama table yg ingin diubah Menu drop table

19.3 Manipulasi Data

y

Mengekspor Data

: Klik kanan mouse dan pilih Data Manipulation > Export Data

y

Memasukkan Data dari File Luar : Data Manipulation > Export Data as Insert

19.4 Tool-Tool yang diperlukan dalam Pengelolaan

SQL Editor

Membuat Laporan Versi HTML

Print Data

Visualisasi Desain Database

1. Mengaktifkan halaman SQL Editor dengan menu Tool > Show SQL Editor atau Tool > New SQL Editor 2. Show Database -> Query Show Database 3. Dapat disimpan dalam bentuk File Document 4. Untuk merekam seluruh kegiatan menggunakan Tab Log 5. Untuk mendapatkan halaman baru menggunakan menu Tools>New SQL Editor 1. Buka halaman HTML Report melalui Menu Tools > HTML Report 2. Tentukan nama database melalui sub menu database 3. Update direktori untuk menentukan direktori peletakan file hasil Report 4. Untuk menjalankan halaman report klik icon Run (F9) 1. Buka halaman print melalui menu Tool > Print Metadata 2. Untuk melaporkan semua table kedalam kertas klik tombol Add All 3. Cetak laporan dengan menu Print 1. Buka halaman Visualisasi dengan Menu Tool > Visual Database Manager 2. Tentukan nama database yang akan dibuat 3. Desain database dengan cara drop and drag 4. Nama table akan berubah ke dalam struktur table lengkap dengan field 5. Untuk merelasikannya, dapat dilakukan drag and drop pada kode_kunci yang dimiliki oleh setiap table.