MODUL PRAKTIKUM BASIS DATA

Ukuran: px
Mulai penontonan dengan halaman:

Download "MODUL PRAKTIKUM BASIS DATA"

Transkripsi

1 MODUL PRAKTIKUM BASIS DATA 1 D3 Manajemen Informatika Fakultas Teknik Universitas Trunojoyo 1

2 MODUL I MYSQL Tujuan : 1. Memahami tentang sistem database 2. Memahami instalasi MySQL di lingkungan Windows 3. Memahami dasar-dasar MySQL. Tugas Pendahuluan 1. Apa yang anda ketahui tentang mysql, jelaskan 2. Apa perbedaan instalasi mysql dilingkungan windows dengan linux 3. sebutkan operator dan fungsi dalam mysql! 1. Dasar Teori Basis data adalah sekumpalan informasi yang diatur agar mudah dicari. Dalam arti umum basis data adalah sekumpulan data yang diproses dengan bantuan komputer yang memungkinkan data dapat diakses dengan mudah dan tepat, yang dapat digambarkan sebagai aktifitas dari satu atau lebih organisasi yang berelasi. Pengertian MYS QL Database MYSQL merupakan sistem manajemen basis data SQL yang sangat terkenal dan bersifat Open Source. MySQL dibangun, didistribusikan dan didukung oleh MYSQL AB. MYSQL AB merupakan perusahaan komersial yang dibiayai oleh pengembang MYSQL Tipe Data Data yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai dari data tersebut. Nilai data dalam field memiliki tipe sendiri-sendiri. MYSQL mengenal beberapa tipe data field yaitu : Tipe data numerik 2

3 Tipe data numerik dibedakan dalam dua macam kelompok, yaitu integer dan floating point. Integer digunakan untuk data bilangan bulat sedangkan floating point digunakan untuk bilangan desimal. Tipe data string String adalah rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data string dapat dilihat pada tabel b berikut: Tabel b Tipe Data String Tipe Data Kisaran Nilai CHAR karakter VARCHAR karakter TINYTEXT karakter TEXT karakter MEDIUMTEXT karakter LONGTEXT karakter Tipe data char() dan varchar() Tipe data char() dan varchar() pada prinsipnya sama, perbedaannya hanya terletak pada jumlah memori yang dibutuhkan untuk penyimpanannya. Memori yang dibutuhkan untuk tipe data char() bersifat statis, besarnya bergantung pada berapa jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan. Pada tipe data varchar() besarnya memori penyimpanan tergantung pada jumlah karakter ditambah 1 byte, dapat dilihat pada tabel c berikut ini: Tabel c Letak Perbedaan Jumlah Memori Nilai Char(4) Memori Penyimpanan Varchar (4) Memori Penyimpanan 4 bytes 1 byte ab ab 4 bytes ab 3 bytes abcd abcd 4 bytes abcd 5 bytes abcdefgh abcd 4 bytes abcd 5 bytes Tipe data tanggal Untuk tanggal dan jam, tersedia tipe-tipe data field berupa DATETIME, DATE, TIMESTAMP, TIME dan YEAR. Masing-masing tipe mempunyai kisaran nilai tertentu. MYSQL akan memberikan peringatan kesalahan (error) apabila tanggal atau waktu yang dimasukkan salah. Kisaran nilai dan besar memori penyimpanan yang diperlukan untuk masing-masing tipe dapat dilihat pada tabel d berikut ini: Tabel d Tipe Data Tanggal Tipe Data Kisaran Nilai Memori Penyimpanan DATETIME :00 sampai :59:59 3 byte 3

4 DATE sampai byte TIMESTAMP :00:00 sampai byte TIME -839:59:59 sampai 838:59:59 3 byte YEAR 1901 sampai byte Operator MYS QL MYSQL mendukung penggunaan operator-operator dan fungsi-fungsi diantaranya: Operator Aritmetika Suatu ekspresi yang melibatkan tipe data bilangan (NUMERIK) dan tanggal (DATE) menggunakan ekspresi aritmatika. Dapat dilihat pada tabel a berikut ini: Tabel a Operator aritmatika MYSQL Operator Keterangan + Tambah - Kurang * Kali / Bagi Mod () Modulus Operator Pembandingan Suatu ekspresi yang dapat digunakan pada klausa WHERE dan mempunyai sintax sebagai berikut: WHERE expr operator value. Tabel b menunjukan operator pembanding pada MYSQL berikut ini: Tabel b Operator Pembanding MYSQL Operator Keterangan = Sama Dengan > Lebih Besar < Lebih Kecil >= Lebih Besar atau Sama Dengan <= Lebih Kecil atau Sama Dengan <> Tidak Sama Dengan Operator Logika Operator ini digunakan untuk membandingkan dua nilai variabel yang bertipe boolean. Operator Karakter Operator untuk membentuk pencarian string yang sesuai dengan nilai yang mencantumkan pada kondisi. Kondisi pencarian dapat berisi karakter, ada 3 symbol khusus berikut ini dapat dilihat pada tabel d berikut ini: Tabel d Tabel Operator Karakter Operator Keterangan % Sembarang karakter berapapun jumlahnya 4

5 _ Sembarang satu karakter [] Sembarang karakter yang terletak dalam kurung siku Operator Lain-lain Operator yang digunakan untuk menguji nilai-nilai yang ada dalam list (tanda kurung) dan dapat juga untuk menampilkan baris berdasarkan suatu jangkauan (range) nilai. Ada 2 symbol tersebut dapat dilihat pada tabel e berikut ini: Tabel e Operator lain-lain Operator Keterangan IN Dalam BETW EEN Diantara 2. Kegiatan Praktikum : Instalasi MySQL WIN32 : 1. Jalankan file setup mysql, yaitu mysql win32.exe, maka akan muncul dialog instalasi sebagai berikut : 2. Pilih tombol Next, kemudian muncul dialog tipe instalasi sebagai berikut : 5

6 3. Pilih Custom, kemudian pilih tombol Next. Kemudian tampil dialog fitur program sebagai berikut : 4. Klik tanda silang pada Developer Components, kemudian pilih This feature will be installed on local hard drive seperti gambar berikut : 6

7 5. Kemudian pilih tombol Change..., pada folder name ubah menjadi sesuai dengan gambar berikut ini : 6. Pilih OK, kemudian pilih tombol Next, dan pilih tombol Install, maka proses instalasi dimulai. 7

8 7. Berikutnya muncul dialog account, pilih Skip Sign-Up dan klik tombol Next, maka akan muncul dialog sebagai berikut : 8. Klik tombol Finish dan tombol Next, maka akan muncul dialog sebagai berikut : 8

9 9. Pilih Standard Configuration dan klik tombol Next, lalu muncul gambar berikut : 9

10 10. Pilih tombol Next. Kemudian muncul gambar berikut ini. Masukkan password yang diinginkan pada kota isian New root password dan Confirm berikut ini untuk sekuritas, misalnya Klik tombol Next. 11. Klik tombol Execute sebagai tahap akhir. 12. Klik Finish. 10

11 Melakukan Koneksi ke MySQL : Cara 1 : 1. Melalui DOS Prompt, masuk ke direktori utama MySQL dengan cara sebagai berikut (yang diketik hanya yang digaris bawah) : C:\>cd \mysql\bin 2. Setelah itu ketikkan perintah berikut (yang diketik hanya yang digaris bawah) : C:\>mys ql\bin\mys ql u root p maka akan diminta untuk memasukkan passoword, isikan password yang digunakan pada saat instalasi, yaitu Selanjutnya akan ada respon dari server seperti gambar berikut : Tampilan tersebut di atas menandakan bahwa telah berhasil melakukan koneksi ke server. Cara 2 : 1. Dari menu Start > All Programs > MyS QL > MySQL Server 5.0 > MySQL Command Line Client, maka akan muncul tampilan seperti berikut ini : 11

12 2. Masukkan password yang telah ditentukan pada saat instalasi, yaitu : kemudian tekan enter. Menuliskan perintah pada mys ql Bentuk prompt mysql> adalah tempat menuliskan perintah-perintah MySQL. Setiap perintah SQL harus diakhiri dengan tanda titik-koma ;. Cara untuk membuat sebuah database baru adalah dengan perintah: create database namadatabase; Misalkan anda ketikkan : create database modul1; Untuk membuka sebuah database dapat menggunakan perintah berikut ini: use namadatabase; Contoh: use modul1; Perintah untuk membuat tabel baru adalah: create table namatabel ( struktur ); Constraint Constraint adalah batasan atau aturan yang ada pada table. MySQL menyediakan beberapa tipe constraint berikut : NOT NULL Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi nilai NULL. Kolom yang befungsi sebagai kunci primer (primary key) otomatis tidak boleh NULL. UNIQUE Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data dengan data lainnya namanya tidak boleh sama, misal alamat . 12

13 PRIMARY KEY Constraint PRIMARY KEY membentuk key yang unik untuk suatu table. FOREIGN KEY FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu table, dimana kolom tersebut juga dimiliki oleh table yang lain sebagai suatu PRIMARY KEY, biasa dipakai untuk menghubungkan antara 2 tabel. Contoh Pembuatan Tabel : Misalkan kita ingin menyimpan data anggota yaitu: nomor, nama, , alamat, kota. Sedangkan strukturnya seperti tabel dibawah ini : Perintah MySQL untuk membuat tabel seperti diatas bisa dengan 2 cara sbb : create table anggota ( nomor int(6) not null primary key, nama char(40) not null, char(255) not null, alamat char(80) not null, kota char(20) not null ); 13

14 create table anggota ( nomor int(6) not null, nama char(40) not null, char(255) not null, alamat char(80) not null, kota char(20) not null, primary key (nomor) ); Perintah-Perintah Dasar SQL A. Pemasukan data Untuk memasukkan sebuah baris (record) kedalam tabel MySQL adalah sebagai berikut: INSERT INTO table [(column1, column2,...])] VALUES (value1, value2,...]); Contoh : Insert into anggota (nomor,nama, ,alamat,kota) values (100, Adi, adi@yahoo.com, Jl. Keputih 2A no 5, Surabaya ); atau Insert into anggota values (100, Adi, adi@yahoo.com, Jl. Keputih 2A no 5, Surabaya ); 3. Tugas 1. Buatkan dengan perintah mysql database dengan nama perusahaan 2. Di dalam database perusahaan terdapat tabel karyawan, barang, departemen dan produksi 3. Tentukan field name masing-masing table 4. Tentukan primary key pada setiap tabel 14

15 MODUL II MEMBUAT ER-DIAGRAM Tujuan : v Praktikan dapat memahami dan membuat ER-Diagram Tugas Pendahuluan 1. Tentukan Database serta field-fieldnya yang ingin anda buat! 2. Buatlah ER diagramnyadengan pemodelan El-Masri! 3. Apakah yang dimaksud dengan normalisasi? Jelaskan! Dasar Teori Apa yang dimaksud dengan model data? Model data adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan datadata, hubungannya satu sama lain, semantiknya, serta batasan konsistensi. Ada dua model data, yaitu : Entity Relationship Diagram (ERD) dan model relasional. Keduanya menyediakan cara untuk mendeskripsikan perancangan basis data pada peringkat logika. Model ERD atau Conceptual Data Model (CDM) : model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu. Model Relasional atau Physical Data Model (PDM) : model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap kolom memiliki nama yang unik. Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah 15

16 atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain). Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung. Entitas di mana entitas lemah bergantung dinamakan identifying owner. Entitas lemah tidak memiliki identifier sendiri. Secara umum, dalam diagram ER entitas lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian). Agregasi adalah suatu keadaan di mana suatu relasi hanya dapat direalisasikan setelah relasi yang lain ada terlebih dahulu. Relasi yang bertipe agregasi tidak dimungkinkan ada jika relasi yang menjadi prasyaratnya tidak terealisasi. Contoh: Sesungguhnya agregasi dapat dipandang sebagaimana relasi pada umumnya (yang menghubungkan 2 entitas). Karena relasi ini dibentuk dari relasi lain (relasi prasyarat) yang secara kronologis lebih dulu terbentuk, maka pengimplementasiannya juga harus dilakukan setelah relasi prasyarat tersebut terimplementasikan. Selanjutnya kita tinggal meninjau derajat relasi dari relasi agregasinya. Mengapa jika terdapat set entitas yang sama muncul beberapa kali dalam satu set ER-Diagram ini harus dihindari? Untuk menghindari redundancy Menghemat penyimpanan (storage) data Mengurangi efektifitas dan kecepatan akses Untuk menghindari terjadinya asinkronisasi data pada saat diupdate perbedaan antara total constraint dan partial constraint! Total constraint adalah constraint yang mana data dalam entitas yang memiliki constraint tersebut terhubung secara penuh ke dalam entitas dari relasinya. Constraint partial adalah constraint yang mana data dalam entitas yang memiliki constraint tersebut terhubung ke dalam entitas dari relasinya. 16

17 Relasi satu : Entity 1 to entity 2 : kardinalitas : one to many dengan detail minimal 0 dan maksimalnya banyak. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan. Entity 2 to entity 1 : kardinalitas : many to one dengan detail minimal 1 dan maksimalnya 1. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan. Relasi dua : Entity 3 to entity 4 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 3 dan entitas 4 tidak saling ketergantungan. Entity 4 ke entity 3 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 4 dan entitas 3 tidak saling ketergantungan. Relasi tiga Entity 5 to entity 6 dan Entity 6 to entity 5 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan entitas 6 tidak saling ketergantungan. Relasi empat: 17

18 Entity 7 to entity 8 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 7 dan entitas 8 tidak saling ketergantungan. Entity 8 ke entity 7 : kardinalitas : one to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 8 dan entitas 7 tidak saling ketergantungan. Relasi lima Entity 9 to entity 10 : kardinalitas : many to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 9 dan entitas 10 tidak saling ketergantungan. Entity 10 ke entity 9 : kardinalitas : many to many dengan detail minimal 1 maksimal banyak. Dependensi : entitas 10 dan entitas 9 tidak saling ketergantungan. Relasi tujuh Entity 13 to entity 14 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 13 menjadi parent dari entitas 14. Entity14 ke entity 13 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 14 tergantung kepada entitas 13. Perbedaan antara tahap 1NF dengan tahap BCNF : 1NF : tahap normalisasi dasar, yang mana masih belum sampai pada tingkat efektifitas maksimal, masih banyak kemungkinan terjadinya redundancy data atau duplikasi data. 18

19 Tugas : BCNF : tahap normalisasi setelah 3NF, yang mana efektifitas telah mencapai maksimal, kemungkinan terjadinya redundancy data dan duplikasi data lebih kecil daripada 1NF. 1. Bangun sebuah ER-Diagram untuk database anda. Serta bangun tabel-tabel untuk ER-diagramnya dan setiap tabel jelas relasinya! (dengan menggunakan Power Designer) 19

20 MODUL III DDL I Tujuan : v Praktikan dapat memahami dan membuat database v Praktikan dapat memahami dan membuat table dari database v Mahasiswa mampu membuat script untuk pembuatan tabel dan mengupdate tabe Tugas Pendahuluan 1. Buat resume tentang DDL kemudian pelajari Dasar Teori DDL atau Data Definition Language adalah bagian dari sql yang digunakan untuk mendefinisikan data dan objek database. Apabila perintah ini digunakan, entri akan dibuat ke dalam kamus data dari SQL. Didalam kategori ini terdapat perintah-perintah sebagai berikut : Perintah Create Table Create Index Alter Table Drop Table Drop Index Grand Keterangan Membuat tabel Membuat index Mengubah atau menyisipkan kolom ke dalam tabel Menghapus tabel dari database Menghapus index Memberikan ijin akses kepada user 20

21 Praktikum a. Membuat Database Syntax : CREATE DATABASE namadatabase; namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama antar database. Syntax tambahan : untuk menampilkan daftar nama database yang ada pada mysql menggunakan perintah : SHOW DATABASES; b. Menghapus Database Syntax : DROP DATABASE namadatabase; Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah untuk menghapus database dengan nama rental : c. Membuat Tabel Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database sebagai database aktif yang akan digunakan untuk menyimpan tabeltabel dengan menggunakan syntax : USE namadatabase; Syntax membuat table : CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2 ); namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,). Syntax tambahan : Untuk menampilkan daftar nama tabel yang ada pada database yang sedang aktif/digunakan (dalam hal ini database rental) : SHOW TABLES; Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah : DESC namatabel; d. Menghapus Tabel Syntax : DROP TABLE namatabel; Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk menghapus tabel dengan nama jenisfilm : 21

22 e. Mendefinisikan null/not null Syntax : CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL, Field2 TipeData2 ); Tugas : 1. Buatlah sebuah database sesuai dengan ER-Diagram yang anda buat ( dari Power designer generate) script pembuatan tabelnya dengan perintah DDLkemudian beri nama database sesuai dengan nama mahasiswa! 2. Buatlah tabel-tabelnya yang juga sesuai dengan ER-Diagram yang anda buat! 22

23 MODUL IV DDL II Tujuan : v Praktikan dapat memahami dan membuat database v Praktikan dapat mengerti tentang Primary key Tugas Pendahuluan 1. Buat desain entitas dan relasi dari database yang akan dibuat dalam praktikum (setiap entitas sudah terdapat primary key) Dasar Teori Data Definition Language (DDL) digunakan untuk membuat dan menghancurkan database dan objek database. Perintah-perintah ini terutama akan digunakan oleh database administrator selama fase setup dan penghapusan proyek database. Mari kita melihat struktur dan penggunaan perintah DDL empat dasar: CREATE Instalasi sistem manajemen database (DBMS) pada komputer memungkinkan Anda untuk membuat dan mengelola banyak database independen US E Perintah USE memungkinkan Anda untuk menentukan database yang ingin bekerja dengan Anda dalam DBMS Sangat penting untuk selalu sadar akan database Anda bekerja dalam sebelum mengeluarkan perintah SQL yang memanipulasi data. ALTER Setelah Anda telah membuat tabel dalam database, Anda mungkin ingin memodifikasi definisi itu. The ALTER command allows you to make changes to the structure of a table without deleting and recreating it. ALTER perintah yang memungkinkan Anda untuk membuat perubahan pada struktur tabel tanpa menghapus dan menciptakan 23

24 DROP Perintah terakhir dari Data Definition Language, DROP, memungkinkan kita untuk menghapus seluruh objek database dari DBMS. Gunakan perintah ini dengan hatihati! Ingat bahwa perintah DROP menghapus data keseluruhan struktur dari database Anda. Jika Anda ingin menghapus catatan individu, gunakan perintah DELETE Manipulasi Data Bahasa. Praktikum: a. Mendefinisikan Nilai Default Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolom ketika ada penambahan baris baru, sementara nilai pada kolom tersebut tidak diisi oleh pengguna. Syntax : CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2 DEFAULT nilai ); nilai adalah nilai default dari kolom tersebut. b. Mendefinisikan Primary Key Pada Tabel Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah Syntax mendefinisikan primary key untuk Field1 CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL PRIMARY KEY, Field2 TipeData2 ); Atau CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, PRIMARY KEY(Field1) ); atau ALTER TABLE namatabel ADD CONSTRAINT namaconstraint PRIMARY KEY (namakolom); : 24

25 c. Menghapus Primary Key Pada Tabel Perintah : Cara 1 : Jika primary key dibuat dengan menggunakan alter table : ALTER TABLE namatabel DROP CONSTRAINT namaconstraint; Cara 2 : Jika primary key dibuat melalui create table : ALTER TABLE namatabel DROP PRIMARY KEY; d. Menambah Kolom Baru Pada Tabel Syntax : ALTER TABLE namatabel ADD fieldbaru tipe; namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah nama kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan ditambahkan. e. Mengubah Tipe Data atau Lebar Kolom Pada Tabel Perintah : ALTER TABLE namatabel MODIFY COLUMN field tipe namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya. Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe data lama dengan lebar kolom yang berbeda. f. Mengubah Nama Kolom Syntax : ALTER TABLE namatabel CHANGE COLUMN namalamakolom namabarukolom tipedatanya; namatabel adalah nama tabel yang akan diubah nama kolomnya, namalamakolom adalah kolom yang akan diganti namanya, namabarukolom adalah nama baru kolom, tipedatanya adalah tipe data dari kolom tersebut. Berikut ini perintah untuk mengubah nama kolom keterangan menjadi ket : g. Menghapus Kolom Pada Tabel Syntax : ALTER TABLE namatabel DROP COLUMN namakolom; h. Mendefinisikan Foreign Key Pada Tabel Untuk mendefinisikan foreign key, maka harus dipastikan bahwa tabel dan atribut yang dirujuk (tabel induk dari foreign key) sudah didefinisikan terlebih dahulu. Syntax : CREATE TABLE namatabel 25

26 ( Field1 TipeData1, Field2 TipeData2, FOREIGN KEY (Field2) REFERENCES namatabelinduk (namakolominduk)on UPDATE CASCADE ON DELETE NO ACTION ) atau ALTER TABLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION; i. Menghapus Foreign Key Perintah : ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint; Tugas : 1. Beri Primary key pada tiap tabel yang anda buat pada database 2. Tambahkan satu kolom baru pada database yang anda buat 3. Ganti nama salah satu kolom anda dengan perintah yang tertera pada modul 26

27 MODUL V DML (DATA MANIPULATION LANGUAGE) Tujuan : v Praktikan dapat memahami dan mengisi tabel dalam database v Praktikan dapat memahami dan memanipulasi data dalam database Tugas Pendahuluan v Apa yang anda ketahui tentang DML? v Apa yang anda ketahui tentang perintah INSERT, UPDATE dan DELETE? v Sebutkan dan jelaskan macam-macam klausa maupun operator yang terdapat dalam perintah SELECT! Dasar Teori DML (Data Manipulation Language) adalah bahasa yang memungkinkan pengguna mengakses atau memanipulasi data seperti yang diatur oleh model data. Manipulasi data adalah : Pengambilan informasi yang disimpan dalam basisdata Penempatan informasi baru dalam basisdata Penghapusan informasi dari basisdata Modifikasi informasi yang disimpan dalam basisdata DML (Data Manipulation Language) merupakan bahasa yang bertujuan memudahkan pemakai untuk mengakses data sebagaimana direpresentasikan oleh model data. Ada 2 jenis DML, yaitu : Prosedural, yang mensyaratkan agar pemakai menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya. Nonprosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya. Query adalah pernyataan yang meminta pengguna mengambil informasi. Bagian DML yang terlibat dalam pengambilan informasi disebut bahasa query. Istilah bahasa query sering disamakan dengan istilah bahasa manipulasi data. Sedangkan SQL adalah sebuah sintaks untuk mengeksekusi query. Praktikum Coba semua contoh operasi DML di bawah ini : 1. Pernyataan INS ERT INTO 27

28 Pernyataan INSERT INTO digunakan untuk memasukkan data baru pada tabel. Sintaks : INSERT INTO nama_tabel VALUES (nilai1, nilai2,...) Urutan nilai yang diletakkan dalam tanda kurung disesuaikan dengan urutan kolom dalam tabel. Akan tetapi kita bisa menentukan kolom-kolom yang akan diisi dengan data baru, yaitu : INSERT INTO nama_tabel (kolom1, kolom2,...) VALUES (nilai1, nilai2,...) Kolom-kolom yang tidak disebutkan pada Insert secara otomatis akan diisi dengan Null dan kolom yang tidak disebutkan dalam Insert haruslah yang tidak Not Null. Contoh : Insert Into Mahasiswa Values ('01012','Irwan','Jl.Beo 23','Bogor') 2. Pernyataan UPDATE Pernyataan UPDATE digunakan untuk modifikasi data dalam tabel. Sintaks : UPDATE nama_tabel SET nama_kolom = nilai_baru WHERE nama_kolom = nilai Pada pernyataan diatas : SET untuk menentukan kolom yang akan diubah dan nilai penggantinya. WHERE menentukan kondisi dari baris-baris yang akan diganti. Contoh : Update Mahasiswa Set Nama ='Riri' Where NPM='01010' 3. Pernyataan DELETE Pernyataan DELETE digunakan untuk menghapus baris pada tabel. Sintaks : DELETE FROM nama_tabel WHERE nama_kolom = nilai Contoh : Untuk menghapus baris pada tabel Mahasiswa yang nilai NPMnya adalah 01013, anda bisa memberikan pernyataan seperti berikut : Delete From Mahasiswa Where NPM = Dalam perintah DELETE jika kita ingin menghapus semua data pada tabel tanpa menghapus tabel maka Where tidak perlu disebutkan. 28

29 DELETE FROM nama_tabel Atau DELETE * FROM nama_tabel 4. Pernyataan S ELECT Secara umum perintah SELECT hanya difungsikan untuk menampilkan data yang ada di dalam suatu tabel. Tetapi dalam pengembangannya, perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrograman di stored procedures dan triggers. Sementara ini dalam basis data 1 yang kita bahas hanya pernyataan SELECT yang digunakan untuk memilih data dari tabel, yang mana hasilnya disimpan dalam tabel hasil yang disebut Result Set. Sintaks : SELECT nama_kolom FROM nama_tabel Untuk memilih beberapa kolom gunakan pernyataan SELECT sebagai berikut : SELECT nama_kolom1, nama_kolom2,... FROM nama_tabel Contoh : Select NPM, Nama From Mahasiswa à Merupakan pernyataan untuk menampilkan kolom NPM dan Nama yang terdapat pada tabel Mahasiswa. NPM Nama Rudi Iwan Wati Jihan Nova Budi Untuk memilih semua kolom dari tabel, dapat menuliskan tanda asterisk ( * ) sesudah kata Select. Simbol * berarti semua kolom, seperti berikut : SELECT * FROM nama_tabel Contoh : Select * From Mahasiswa 4.1 Distinct 29

30 Untuk memilih hanya nilai yang berbeda, gunakan pernyataan SELECT DISTINCT. Sintaks : SELECT DISTINCT nama_kolom FROM nama_tabel 4.2 Klausa WHERE Klausa WHERE digunakan untuk menentukan kriteria seleksi. Untuk memilih data suatu tabel dengan kriteria tertentu, klausa WHERE dapat ditambahkan pada pernyataan SELECT. Sintaks : SELECT nama_kolom FROM nama_tabel WHERE kolom operator nilai Dengan klausa WHERE, operator berikut dapat digunakan : Operator Keterangan = Sama dengan <> Tidak sama dengan > Lebih besar dari < Lebih kecil dari >= Lebih besar atau sama dengan <= Lebih kecil atau sama dengan BETW EEN Antara dua nilai LIKE Mencari suatu pola Contoh : Select NPM, Nama From Mahasiswa Where NPM = Perlu diperhatikan bahwa kita menggunakan tanda petik tunggal ( ) pada contoh diatas. SQL menggunakan tanda petik tunggal pada nilai teks, sedangkan nilai numerik tidak diberi tanda petik. 4.3 Kondisi LIKE Kondisi LIKE digunakan untuk menentukan pencarian berdasarkan pola tertentu pada suatu kolom. Sintaks : SELECT nama_kolom FROM nama_tabel WHERE nama_kolom LIKE pola 30

31 Tanda % dapat digunakan untuk menentukan Wildcard (sembarang huruf), baik sebelum maupun sesudah pola. Pernyataan SQL berikut akan menghasilkan nama mahasiswa yang dimulai dengan huruf A : Select * From Mahasiswa Where NamaDepan LIKE A% Pernyataan SQL berikut menghasilkan nama mahasiswa yang diakhiri huruf a : Select * From Mahasiswa Where NamaDepan LIKE %a Pernyataan SQL berikut menghasilkan nama mahasiswa yang mengandung pola di : Select * From Mahasiswa Where NamaDepan LIKE %di% Tugas : Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masingmasing perintah DML berikut : 1. Sisipkan min 10 baris data dalam masing-masing tabel 2. Tambahkan min 2 operasi update, delete, dan select 31

32 MODUL VI DML (DATA MANIPULATION LANGUAGE) Tujuan : v Praktikan dapat memahami dan memanipulasi data dalam database dengan lebih luas lagi. Tugas Pendahuluan v Sebutkan dan jelaskan macam-macam klausa maupun operator yang terdapat dalam perintah SELECT selain yang sudah disebutkan di modul sebelumnya (modul V)! v Buat contoh perintah SQLnya, masing-masing min 1! Dasar Teori Perintah SELECT adalah perintah untuk menampilkan data yang ada di dalam suatu tabel, yang mana dalam pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrograman di stored procedures dan triggers. Selain perintah-perintah SELECT yang dibahas dalam modul V masih ada banyak perintah-perintah SELECT lain, antara lain perintah ALIAS, menampilkan data lebih dari 2 tabel, ORDER BY, AND dan OR, GROUP BY dan HAVING, fungsi agregate, dan beberapa perintah yang lain. Praktikum Coba semua contoh operasi DML di bawah ini : 1. ALIAS Perintah Select dapat dilakukan dengan memberikan nama ALIAS yaitu dapat digunakan untuk mengganti nama_kolom dan nama_tabel. 1.1 Memberikan nama lain pada kolom Sintaks untuk alias nama kolom : SELECT namakolomlama AS namakolombaru FROM namatabel; Atau SELECT nama_kolom AS nama_alias_kolom FROM nama_tabel 32

33 Jika kita ingin membuat nama alias untuk kolom NamaDepan menjadi ND dan NamaBelakang menjadi NB, gunakan pernyataan SQL berikut : SELECT NamaDepan AS ND, NamaBelakang AS NB FROM Mahasiswa 1.2 Menggunakan alias untuk nama tabel Sintaks untuk alias nama tabel : SELECT nmalias.jenis, nmalias.harga FROM namatabel nmalias; Atau SELECT nama_kolom FROM nama_tabel AS nama_alias_tabel Jika kita ingin membuat nama alias untuk Tabel Mahasiswa menjadi MHS, gunakan pernyataan SQL berikut : SELECT * FROM Mahasiswa AS MHS 2. Menampilkan data lebih dari dua tabel Perintah Select juga dapat dilakukan untuk beberapa tabel sekaligus dengan syarat bahwa tabel-tabel yang akan ditampilkan semua mempunyai relasi baik secara implisit maupun eksplisit. Salah satu kunci utama dalam melakukan perintah Select untuk beberapa tabel sekaligus adalah dengan melakukan kondisi relasi antara tabel-tabel yang akan ditampilkan untuka field yang saling berelasi. Selain itu, juga perlu diperhatikan tentang tabel yang akan menjadi acuan pertama dalam penampilan data yang dimaksud. Sebagai contoh adalah jika kita ingin menampilkan data mahasiswa yang mengambil jurusan, maka tabel acuannya adalah tabel mahasiswa. Sintaks : SELECT * FROM namatabel1, namatabel2, namatabel-n; Misalkan dalam tabel Mahasiswa field-fieldnya terdiri dari NRP, NamaDepan, NamaBelakang, TempatLahir, TanggalLahir, Alamat, dan KodeJurusan. Sedangkan di tabel Jurusan field-fieldnya adalah KodeJurusan dan NamaJurusan. Berikut ini perintah untuk menampilkan semua data pada tabel Mahasiswa dan Jurusan, SELECT * FROM Mahasiswa, Jurusan Maka tabel yang dihasilkan dari perintah SQL diatas adalah semua field dari tabel Mahasiswa dan tabel Jurusan akan ditampilkan, yaitu NRP, NamaDepan, 33

34 NamaBelakang, TempatLahir, TanggalLahir, Alamat, Mahasiswa.KodeJurusan, Jurusan.KodeJurusan, dan NamaJurusan. 3. Klausa Order By Klausa ORDER BY digunakan untuk mengurutkan data. Jika kita ingin menampilkan nama mahasiswa berdasarkan urutan abjad, pernyataan SQL-nya adalah : SELECT * FROM Mahasiswa ORDER BY NamaDepan Jika kita ingin menampilkan nama mahasiswa dan kotanya berdasarkan urutan abjad, maka pernyataan SQL-nya adalah : SELECT * FROM Mahasiswa ORDER BY NamaDepan, Kota Jika kita ingin menampilkan nama mahasiswa dengan urutan abjad terbalik, maka pernyataan SQL-nya adalah : SELECT * FROM Mahasiswa ORDER BY NamaDepan DESC Jika kita ingin menampilkan nama mahasiswa berdasarkan urutan abjad terbalik dan nama kota berdasarkan urutan abjad, maka pernyataan SQL-nya adalah : SELECT * FROM Mahasiswa ORDER BY NamaDepan DESC, Kota ASC 4. Operator AND dan OR AND dan OR menggabungkan dua atau lebih kondisi pada klausa WHERE. Operator AND menampilkan data jika semua kondisi yang diminta bernilai benar. Operator OR menampilkan data jika ada kondisi yang benar. Pernyataan SQL untuk menampilkan mahasiswa dengan nama depan Ita dan nama kota Yogyakarta adalah: SELECT * FROM Mahasiswa WHERE NamaDepan = Ita AND Kota = Yogyakarta Pernyataan SQL untuk menampilkan mahasiswa dengan nama depan Ita atau kota Yogyakarta adalah : SELECT * 34

35 FROM Mahasiswa WHERE NamaDepan = Ita OR Kota = Yogyakarta Operator AND dan OR dapat digunakan secara bersamaan, yaitu : SELECT * FROM Mahasiswa WHERE (NamaDepan = Ita OR Kota = Yogyakarta ) AND (Alamat = Jl. Jend. Sudirman 3 ) 5. Klausa GROUP BY dan HAVING 5.1 GROUP BY Hasil dari Select juga dapat dikelompokkan. Hal ini dapat dilakukan dengan menambahkan klausa GROUP BY. Sintaks : SELECT nama_kolom, COUNT (nama_kolom) FROM nama_tabel GROUP BY nama_kolom Jika kita ingin menampilkan nama mahasiswa yang lahir di satu kota, gunakan pernyataan berikut : SELECT Tempat_Lahir, COUNT (Tempat_Lahir) as Jumlah FROM Mahasiswa GROUP BY Tempat_Lahir 5.2 HAVING Klausa HAVING disediakan untuk mendukung klausa GROUP BY. Kegunaannya adalah untuk menentukan kondisi bagi GROUP BY. Kelompok yang memenuhi kondisi HAVING saja yang akan dihasilkan. Sintaks : SELECT nama_kolom, COUNT (nama_kolom) FROM nama_tabel GROUP BY nama_kolom HAVING COUNT (nama_kolom) kondisi nilai Misalnya, pernyataan untuk mencari kota yang menjadi tempat lahir oleh lebih dari satu mahasiswa adalah: SELECT Tempat_Lahir, COUNT (Tempat_Lahir) AS Jumlah FROM MAHASISWA GROUP BY Tempat_Lahir HAVING COUNT (Tempat_Lahir) > 1 6. Fungsi Aggregate (COUNT, S UM, AVG, MIN dan MAX) 35

36 Fungsi aggregate merupakan fungsi-fungsi yang digunakan untuk melakukan perhitungan statistikal dalam tabel. Secara umum, hanya field yang bertipe numerik (int, money dan sejenisnya) yang bisa dikenakan fungsi ini. SQL menyediakan sejumlah fungsi yang dapat digunakan pada SELECT. Fungsi Keterangan AVG Menghitung rata-rata COUNT Menghitung cacah data MAX Memperoleh nilai terbesar MIN Memperoleh nilai terkecil SUM Memperoleh jumlahan data 6.1 COUNT Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel. Pernyataan SQL untuk menghitung jumlah baris kolom NamaDepan pada tabel Mahasiswa adalah : SELECT COUNT (NamaDepan) AS JumlahMahasiswa FROM Mahasiswa 6.2 SUM Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel. Pernyataan SQL untuk menghitung jumlah nilai kolom SKS pada tabel Matakuliah : SELECT SUM(SKS) AS TotalSKS FROM Matakuliah 6.3 AVG Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada tabel. Contoh : perintah untuk menghitung rata-rata dari kolom SKS pada tabel Matakuliah : SELECT AVG(SKS) AS RataSKS FROM Matakuliah 6.4 MIN Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada tabel. Contoh : perintah untuk menampilkan nilai terkecil dari kolom SKS pada tabel Matakuliah : SELECT MIN(SKS) AS JumlahMinimum FROM Matakuliah 6.5 MAX 36

37 Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada tabel. Contoh : perintah untuk menampilkan nilai terbesar dari kolom SKS pada tabel Matakuliah : SELECT MAX(SKS) AS JumlahMaksimum FROM Matakuliah 7. Operator IN Operator IN bisa digunakan jika kita mengetahui nilai pasti yang akan diambil untuk setidaknya satu kolom. Sintaks : SELECT nama_kolom FROM nama_tabel WHERE nama_kolom IN (nilai1, nilai2,...) Untuk menampilkan mahasiswa dengan nama depan Hasan atau Adi, gunakan pernyataan SQL berikut : SELECT * FROM Mahasiswa WHERE NamaDepan IN ( Hasan, Adi ) 8. Operator BETWEEN AND Operator BETW EEN AND memilih data antara dua nilai. Nilai dapat berupa angka, teks, atau tanggal. Sintaks : SELECT nama_kolom FROM nama_tabel WHERE nama_kolom BETW EEN nilai1 AND nilai2 Untuk menampilkan Mahasiswa yang namanya diantara (dan termasuk) Adi dan Ita, gunakan perintah SQL berikut : SELECT * FROM Mahasiswa WHERE NamaDepan BETW EEN Adi AND Ita Operator BETW EEN AND diperlakukan secara berbeda pada DBMS berbeda. Pada satu DBMS, data Mahasiswa yang dimunculkan adalah yang berada diantara Adi dan Ita, tetapi Adi dan Ita tidak dimunculkan. Pada DBMS lain, Mahasiswa yang dimunculkan termasuk Adi dan Ita. Kemudian, pada DBMS lainnya, Adi dimunculkan, tetapi Ita tidak. Untuk menampilkan Mahasiswa di luar jangkauan contoh, gunakan operator NOT seperti berikut : 37

38 SELECT * FROM Mahasiswa WHERE NamaDepan NOT BETW EEN Adi AND Ita Tugas : Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masingmasing perintah DML berikut : 1. Buatlah perintah SQL untuk menampilkan data yang berasal dari dua tabel dan tiga tabel. 2. Buatlah perintah SQL yang menggunakan klausa Order By, Group By, dan Having. 3. Buatlah perintah SQL yang menggunakan operator AND, OR, IN dan BETW EEN... AND. 4. Buatlah perintah SQL yang menggunakan fungsi Agregate (masingmasing 1). 38

39 MODUL VII Evaluasi Praktikum I Tujuan : v Praktikan lebih memahami dan mengimplementasikan tentang ERD v Praktikan lebih memahami dan mengimplementasikan tentang DDL dan DML Tugas Pendahuluan 1. Buatlah ERD database a. Nrp genap : data base perpusatakaan b. Nrp ganjil : data base retail Praktikum : 1. Implementasikan database anda pada Power Designer 2. Generate database anda pada MySql 3. Untuk selanjutnya Ikuti perintah yang diberikan oleh asisten praktikum. 39

40 MODUL VIII DML (DATA MANIPULATION LANGUAGE) Tujuan : v Praktikan dapat memahami dan memanipulasi data dalam database dengan lebih luas lagi. Tugas Pendahuluan v Apa yang anda ketahui tentang JOIN, UNION, INTERSECT, EXCEPT, dan operator comparison ANY dan ALL? v Buat contoh perintah SQL untuk SELECT yang menggunakan JOIN, UNION, INTERSECT, EXCEPT, dan operator comparison ANY dan ALL! Dasar Teori Perintah SELECT adalah perintah untuk menampilkan data yang ada di dalam suatu tabel, yang mana dalam pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrograman di stored procedures dan triggers. Selain perintah-perintah SELECT yang dibahas dalam modul V dan VI, masih ada banyak perintah-perintah SELECT lain yang lebih luas lagi dalam penggunaan perintah SELECT. Praktikum Coba semua contoh operasi DML di bawah ini : 1. JOIN dan KUNCI Terkadang kita harus memilih data dari dua tabel atau lebih untuk mendapatkan hasil yang komplit. Oleh karena itu, kita harus melakukan sebuah JOIN. Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolo m-ko lo m yang berasal dari tabeltabel tersebut. Pada join sederhana, tabel-tabel digabungkan dan didasarkan pada pencocokan antara kolom pada tabel yang berbeda. Tabel-tabel dalam sebuah basisdata dapat dihubungkan satu sama lain menggunakan kunci. Kunci utama adalah sebuah kolom dengan nilai unik untuk masing-masing baris. Tujuannya adalah menggabungkan data antartabel tanpa mengulangi semua data pada setiap tabel. 40

41 Misalnya kita memilih data dari dua tabel (tabel Mahasiswa dan Jurusan) dengan mengacu pada kedua tabel sebagai berikut : SELECT MAHASISWA.NamaDepan, JURUSAN.NamaJurusan FROM MAHASISWA, JURUSAN WHERE MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan Untuk mengetahui siapa yang mengambil jurusan Teknik Informatika, gunakan pernyataan SQL berikut : SELECT MAHASISWA.NamaDepan FROM MAHASISWA, JURUSAN WHERE MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan AND JURUSAN.NamaJurusan = "Teknik Informatika" Kita pun bisa menggunakan kata kunci JOIN untuk memilih data. Ada tiga macam kunci JOIN, yaitu INNER JOIN, LEFT JOIN, dan RIGHT JOIN. 1.1 INNER JOIN Inner join digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat di belakang on (tidak boleh null), dengan kata lain semua data dari tabel kiri mendapat pasangan data dari tabel sebelah kanan. Sintaks untuk INNER JOIN : SELECT field1, field2, FROM tabel1 INNER JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing Misalnya, untuk mengetahui siapa yang telah mengambil jurusan dan jurusan apa yang diambil, kita dapat menggunakan pernyataan berikut : SELECT MAHASISWA.NamaDepan, JURUSAN.NamaJurusan FROM MAHASISWA INNER JOIN JURUSAN ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan INNER JOIN akan memunculkan semua baris kedua tabel jika ada pasangannya. Jika ada baris pada Tabel Mahasiswa yang tidak memiliki pasangan, maka baris tidak akan dimunculkan pada Tabel Jurusan. 1.2 LEFT JOIN Left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. Sintaks untuk LEFT JOIN : SELECT field1, field2, FROM tabel1 LEFT JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing 41

42 Misalkan, kita ingin menampilkan semua mahasiswa dan jurusan yang diambil, jika ada. Kita dapat menggunakan pernyataan berikut : SELECT MAHASISWA.NamaDepan, JURUSAN.NamaJurusan FROM MAHASISWA LEFT JOIN JURUSAN ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan LEFT JOIN akan memunculkan semua baris tabel pertama (Mahasiswa), bahkan jika tidak ada pasangannya di tabel kedua (Jurusan). Jika ada baris pada tabel Mahasiswa yang tidak ada pasangannya pada tabel Jurusan, maka ia pun akan dimunculkan. 1.3 RIGHT JOIN Right join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. Sintaks untuk RIGHT JOIN : SELECT field1, field2, FROM tabel1 RIGHT JOIN tabel2 ON tabel1.kunci_utama = tabel2.kunci_asing Misalkan, kita ingin menampilkan semua nama dari tabel Mahasiswa dan Jurusan yang diambil, jika ada. Kita dapat menggunakan pernyataan berikut : SELECT MAHASISWA.NamaDepan, JURUSAN.NamaJurusan FROM MAHASISWA RIGHT JOIN JURUSAN ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan RIGHT JOIN akan memunculkan semua baris tabel kedua (Jurusan), bahkan jika tidak ada pasangannya di tabel pertama (Mahasiswa). Jika ada baris pada tabel Jurusan yang tidak ada pasangannya pada tabel Mahasiswa, maka ia pun akan dimunculkan. Untuk mengetahui siapa yang mengambil jurusan Manajemen Informatika, kita menggunakan pernyataan berikut : SELECT MAHASISWA.NamaDepan FROM MAHASISWA INNER JOIN JURUSAN ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan WHERE JURUSAN.NamaJurusan = Manajemen Informatika 2. UNION dan UNION ALL 2.1 UNION Perintah UNION digunakan untuk memilih informasi yang berhubungan dari dua tabel, mirip dengan perintah JOIN. Namun, ketika menggunakan perintah UNION, tipe data semua kolom yang dipilih harus sama. UNION hanya memunculkan nilai unik. 42

43 Sintaks : Pernyataan 1 UNION Pernyataan 2 Misalkan, kita mempunyai tabel baru bernama Mahasiswa2 dimana field-fieldnya adalah sama dengan field di tabel Mahasiswa yaitu NRP, NamaDepan, NamaBelakang, TempatLahir, TanggalLahir, dan Alamat. Maka untuk menampilkan semua Mahasiswa pada tabel Mahasiswa dan Mahasiswa2, gunakan pernyataan berikut : SELECT NamaDepan FROM MAHASISWA UNION SELECT NamaDepan FROM MAHASISWA2 Perintah tidak dapat digunakan untuk menampilkan semua mahasiswa pada tabel Mahasiswa dan Mahasiswa2. Pada contoh, kita mempunyai dua mahasiswa dengan nama sama (yaitu Hasan Martono) dan dua mahasiswa dengan nama depan sama (yaitu Kiki), maka hanya satu yang dimunculkan karena perintah UNION hanya memilih nilai unik. 2.2 UNION ALL Perintah UNION ALL sama dengan perintah UNION, kecuali bahwa UNION ALL memilih semua nilai. Sintaks : Pernyataan 1 UNION ALL Pernyataan 2 Dengan menggunakan tabel Mahasiswa dan Mahasiswa2, kita dapat menggunakan pernyataan berikut untuk menampilkan semua mahasiswa dari dua tabel : SELECT NamaDepan FROM MAHASISWA UNION ALL SELECT NamaDepan FROM MAHASISWA2 3. Pernyataan S ELECT INTO Pernyataan SELECT INTO digunakan untuk membuat backup suatu tabel. Sintaks : SELECT nama_kolom INTO nama_tabel_baru IN basisdata_baru FROM Sumber Contoh berikut adalah membuat backup Tabel Mahasiswa. SELECT * INTO Mahasiswa_Backup FROM Mahasiswa Klausa IN dapat digunakan untuk menyalin tabel ke basisdata lain. SELECT Mahasiswa.* INTO Mahasiswa IN Backup.mdb FROM Mahasiswa 43

44 Jika hanya ingin menyalin beberapa field, kita dapat melakukannya dengan menuliskan field-field setelah pernyataan SELECT. SELECT NamaDepan, NamaBelakang INTO Mahasiswa_Backup FROM Mahasiswa Kita dapat pula menambahkan klausa WHERE. Contoh berikut adalah membuat tabel Mahasiswa_Backup dengan dua kolom (NamaDepan, NamaBelakang) dengan memilih Mahasiswa yang tempat lahirnya di Yogyakarta dari tabel Mahasiswa. SELECT NamaDepan, NamaBelakang INTO Mahasiswa_Backup FROM Mahasiswa WHERE Tempat_Lahir = Yogyakarta Kita pun dapat memilih data lebih dari satu tabel. Contoh berikut adalah membuat tabel baru Mahasiswa_Jurusan_Backup yang mengandung data dua tabel, Mahasiswa dan Jurusan. SELECT Mahasiswa.NamaDepan, Jurusan.NamaJurusan INTO Mahasiswa_Jurusan_Backup FROM Mahasiswa INNER JOIN Jurusan ON Mahasiswa.KodeJurusan = Jurusan.KodeJurusan 4. Operator comparison ANY dan ALL 4.1 Operator ANY Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE. Ilustrasinya : Gaji > ANY (S) Jika subquery S menghasilkan G1, G2,..., Gn, maka kondisi di atas identik dengan: (gaji > G1) OR (gaji > G2) OR... OR (gaji > Gn) Misalkan perintah untuk menampilkan semua data SKS yang jumlahnya bukan yang terkecil : SELECT * FROM Matakuliah WHERE SKS > ANY (SELECT SKS FROM Matakuliah) 4.2 Operator ALL Operator ALL digunakan untuk melakukan perbandingan dengan subquery. Kondisi dengan ALL menghasilkan nilai TRUE (benar) jika subquery tidak menghasilkan apapun atau jika perbandingan menghasilkan TRUE untuk setiap nilai query terhadap hasil subquery. Misalkan perintah untuk menampilkan data SKS yang jumlahnya paling tinggi : SELECT * FROM Matakuliah WHERE SKS >= ALL (SELECT SKS FROM Matakuliah) 44

45 5. UNION, INTERS ECT dan EXCEPT 5.1 UNION UNION merupakan operator yang digunakan untuk menggabungkan hasil query, dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Berikut ini perintah untuk memperoleh data pada tabel Mahasiswa dimana tempat lahirnya Yogyakarta dan Surabaya : SELECT NamaDepan, Tempat_Lahir FROM Mahasiswa WHERE Tempat_Lahir = " Yogyakarta" UNION SELECT NamaDepan, Tempat_Lahir FROM Mahasiswa WHERE Tempat_Lahir = "Surabaya"; Perintah di atas identik dengan : SELECT NamaDepan, Tempat_Lahir FROM Mahasiswa WHERE Tempat_Lahir = Yogyakarta OR Tempat_Lahir = Surabaya Namun tidak semua penggabungan dapat dilakukan dengan OR, yaitu jika bekerja pada dua tabel atau lebih. 5.2 INTERS ECT INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Syntax : SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2 Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat menggunakan operator IN yang bisa diperdalam di bagian Nested Queries. 5.3 EXCEPT / Set Difference EXCEPT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Syntax : SELECT * FROM namatabel1 EXCEPT 45

46 SELECT * FROM namatabel2 Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat menggunakan operator NOT IN yang bisa diperdalam di bagian Nested Queries. Tugas : Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masingmasing perintah DML berikut : 5. Buatlah perintah SQL untuk menampilkan data yang berasal dari dua tabel dan tiga tabel dengan menggunakan perintah JOIN. 6. Buatlah perintah SQL yang menggunakan UNION, INTERSECT, dan EXCEPT. 7. Buatlah perintah SQL yang menggunakan operator comparison ANY dan ALL. 46

47 MODUL 9 NORMALISASI DATA Tujuan : Mampu membangun desain logika basis data relasional untuk menghasilkan struktur tabel yang normal. PrePraktikum 1. Apakah yang anda ketahui tentang normalisasi? 2. Mengapa suatu tabel perlu dinormalisasikan? 3. Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Apa yang disebut dengan bentuk normal? 4. Sebutkan dan jelaskan macam-macam dari bentuk normal agar dapat dimanfaatkan untuk memperoleh tabel dan basis data yang lebih 1. Dasar Teori 1.1. Normalisasi Normalisasi merupakan cara pendekatan dalam membangun desain logika basis data relasional yang tidak secara langsung berkaitan dengan model data, tetapi dengan menerapkan sejumlah aturan dan kriteria standar untuk meghasilkan struktur tabel yang normal. Pada dasarnya desain logika basis data relasional dapat menggunakan prinsip normalisasi maupun transformasi dari model ER ke bentuk fisik. Pada pembahasan tentang normalisasi data, digunakan istilah baru yang disebut dengan functinal dependencies atau ketergantungan fungsional. 47

48 1.2. Ketergantungan Fungsional (Functional Dependencies) Functional Dependency menggambarkan hubungan attributes dalam sebuah relasi. Suatu atribut dikatakan functionally dependant pada yang lain jika kita menggunakan harga atribut tersebut untuk menentukan harga atribut yang lain. Simbol yang digunakan adalah à untuk mewakili functional dependency (à dibaca secara fungsional menentukan). Notasi: A à B A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama. Diberikan 2 baris r1 dan r2 dalam tabel T dimana AàB Jika r1(a)=r2(a), maka r1(b) = r2(b) Dimisalkan relasi nilai_mhs memiliki empat buah atribut/field yaitu nama_kul, nim, nama_mhs dan nilai. Maka ketergantungan fungsional pada relasi tersebut adalah: a. nim à nama_mhs yang artinya bahwa atribut nama_mhs hanya tergantung pada atribut nim. Hal ini dibuktikan dari fakta: untuk setiap nilai nim yang sama, maka pasti nilai nama_mhs nya juga sama. b. nama_kul, nim à nilai yang berarti bahwa atribut nilai tergantung pada atribut nama_kull dan nim secara bersama-sama. Untuk ketergantungan fungsional seperti ini sesuai dengan pengertian bahwa setiap nilai diperuntukkan pada mahasiswa tertentu untuk matakuliah tertentu yang diambil. Dalam arti lain untuk nama_kul dan nim yang sama, maka nilai juga sama, karena nama_kul dan nim merupakan key (bersifat unik). Notasi: A nonà B atau A xà B 48

49 Adalah kebalikan dari notasi sebelumnya, dengan hanya melihat fakta yang ada, yaitu: a. nama_kul non à nim yang artinya atribut nim tidak tergantung pada atribut nama_kul. b. nim nonà nilai yang artinya atribut nilai tidak hanya tergantung pada atribut nim, karena tergantung pula pada atribut nama_kul yaitu nama kuliah yang diambil oleh nim Bentuk-Bentuk Normalisasi Bentuk-bentuk normal dapat dimanfaatkan untuk memperoleh tabel dan basis data yang lebih baik Bentuk Normal Pertama (1NF) Suatu tabel dikatakan dalam bentuk normal pertama hanya kalau setiap kolom bernilai tunggal untuk setiap baris. Sehingga tidak diperboleh adanya : Atribut yang bernilai banyak (Multivalued attribut). Attribut komposit atau kombinasi dari keduanya. Berikut ini akan dicontohkan normalisasi dari tabel kuliah yang memiliki atribut: Kode_kul Nama_ku l Sks Smstr Waktu Ruang Nama_d C1234 Matematika RKB-3 Devie C1243 Riset Operasi RKB-1 Rosa C1342 ADSI RKB-3 Anamisa Tabel kuliah tersebut tidak memenuhi normalisasi pertama, karena terdapat atribut waktu yang tergolong ke dalam atribut bernilai banyak. Agar tabel 49

50 tersebut dapat memenuhi 1NF, maka solusinya adalah mendekomposisi tabel kuliah menjadi: 1. Tabel Kuliah Kode_kul Nama_kul Sks Smstr Nama_dosen C1234 Matematika Devie C1243 Riset Operasi 2 5 Rosa C1342 ADSI 2 3 Anamisa 2. Tabel Jadwal Kode_kul Waktu Ruang C RKB-3 C RKB-1 C RKB Bentuk Normal Kedua (2NF) Suatu tabel disebut dalam bentuk normal kedua, jika : 1. Tabel berada dalam bentuk normal pertama 2. Semua kolom yang bukan primary key tergantung sepenuhnya terhadap primary key 3. Disebut tergantung sepenuhnya terhadap primary key jika suatu kolom selalu bernilai sama untuk nilai primary key yang sama. Sebuah tabel dikatakan tidak memenuhi 2NF, jika ketrgantungan hanya bersifat parsial (hanya tergantung pada sebagian dari primary key). Bentuk normal kedua akan dicontohkan pada tabel nilai berikut ini: Kode_kul Nim Nilai C A C B+ 50

51 C B Jika pada tabel nilai, misalnya kita tambahkan sebuah atribut yang bersifat redudan yaitu nama_mhs, maka tabel nilai ini dianggap melanggar 2NF. Primary key pada tabel nilai adalah [kode_kul, nim]. Penambahan atribut baru (nama_mhs) akan menyebabkan adanya ketergantungan fungsional yang baru yaitu nimànama_mhs. Karena atribut nama_mhs ini hanya memiliki ketergantungan parsial pada primary key secara utuh (hanya tergantung pada nim, padahal nim hanya bagian dari primary key). Bentuk normal kedua ini dianggap belum memadai karena meninjau sifat ketergantungan atribut terhadap primary key saja Bentuk Normal Ketiga (3NF) Suatu tabel dikatakan dalam bentuk normal ketiga, jika : 1. Berada dalam bentuk normal kedua 2. Setiap kolom bukan primary key tidak memiliki ketergantung transitif terhadap primary key Suatu kolom Z memiliki ketergantungan transitif terhadap kolom X, jika : 1. Y memiliki ketergantungan fungsional terhadap X, dan 2. Z memiliki ketergantungan fungsional terhadap Y Misalkan pada tabel Mahasiswa, atribut alamat_mhs dipecah ke dalam alamat_jalan, alamat_kota dan kode_pos. Bentuk ini tidak memenuhi 3NF karena terdapat ketergantungan fungsional baru yang muncul pada tabel tersebut yaitu: alamat_jalan nama_kota à kode_pos Dalam hal ini (alamat_jalan, nama_kota) bukan superkey sementara kode_pos juga bukan bagian dari primary key pada tabel mahasiswa. Jika tabel mahasiswa didekomposisi menjadi tabel mahasiswa dan tabel alamat, maka 51

52 telah memenuhi 3NF. Hal ini dapat dibuktikan dengan memeriksa dua ketergantungan fungsional pada tabel alamat tersebut, yaitu: alamat_jalan nama_kota à kode_pos kode_pos à nama_kota 1.4. Bentuk Normal Tahap Keempat dan Kelima Penerapan aturan normalisasi sampai bentuk normal ketiga sudah memadai untuk menghasilkan tabel berkualitas baik. Namun demikian, terdapat pula bentuk normal keempat (4NF) dan kelima (5NF). Bentuk Normal Keempat berkaitan dengan sifat ketergantungan banyak nilai (multivalued dependency) pada suatu tabel merupakan pengembangan dari ketergantungan fungsional. Sedangkan bentuk normal tahap kelima merupakan nama lain dari Project Join Normal Form (PJNF) Boyce Codd Normal Form (BCNF) Bentuk normal ketiga 3NF dapat dikatakan BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb: 1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis. 2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation). 3. Tidak melanggar Boyce-Code Normal Form (BCNF). Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF). 52

53 Relasi R dengan ketergantungan fungsional F termasuk dalam bentuk BCNF jika untuk semua X à A yang ada dalam F. Dengan kata lain, R berada dalam BCNF jika ketergantungan fungsional non-trivial pada R memiliki key constraint. 2. Kegiatan Praktikum 1. Terdapat suatu bentuk tabel informasi seperti berikut ini : Tabel 9.1. Informasi Buku ISBN Judul Halaman Topik Basisdata 60 Data Definition Language Data Manipulation Language Data Control Language Matematika 90 Probabilitas Permutasi dan Kombinasi PHP 90 Pemrograman Internet Bagaimana bentuk tabel-tabel yang menyimpan data pada informasi tersebut dengan menggunakan normalisasi untuk verifikasi tabel? 2. Terdapat suatu bentuk tabel informasi seperti beikut ini: Tabel 9.2. Informasi mahasiswa no_mhs nama matakuliah nip dosen Nilai Ali Basis data Devie A Fisika I Rosa A Siti Basis data Devie A Fisika I Rosa B 53

54 Pascal Anamisa A Edi Fisika I Devie A Bagaimana bentuk tabel-tabel yang menyimpan data pada informasi tersebut dengan menggunakan normalisasi untuk verifikasi tabel? 1. Tugas tambahan (ditentukan oleh asisten praktikum)! 3. Tugas Akhir Dari kasus ke-i dan ke-ii pada kegiatan praktikum maka bagaimana solusi pemecahan tabel yang didapatkan? Kasus I: T= Permasalahan : Solusi pemecahan tabel : I. Tabel II. Tabel III. Tabel Kasus II: T= Permasalahan : Solusi pemecahan tabel : IV. Tabel V. Tabel VI. Tabel Catatan Praktikum 54

55 Modul 10 VIEW 1 Tujuan : Membuat View untuk menampilkan data dari satu atau beberapa table dengan membungkus suatu query SELECT yang kompleks menjadi lebih sederhana. Tugas Pendahuluan 1. Apa yang anda ketahui tentang view? 2. Sebutkan langkah-langkah apa saja yang harus dilakukan apabila kita akan membuat suatu view! (buatkan dengan contoh table) 3. Apa saja kegunaan view dalam table, jelaskan dengan contohnya.! 1. Teori View View adalah query SELECT yang disimpan dalam database untuk menampilkan data dari satu atau beberapa table. View juga disebut sebagai table virtual yang digunakan untuk membungkus suatu query SELECT yang kompleks menjadi lebih sederhana. Data-data yang termasuk kategori rahasia dapat diamankan dengan menggunakan view. Kegunaan view antara lain: 1. Fokus pada data atau tabel tertentu 2. Penyederhanaan manipulasi data 3. Menyesuaikan data dengan kebutuhan user 4. Export dan impor data 5. Mengkombinasikan data terpartisi Syntax CREATE VIEW view_name AS select_statement 55

56 Sebelum query SELECT yang akan disimpan ke dalam view. Penamaan view memiliki aturan yang sama dengan penamaan table. Nama view harus unik artinya nama view tidak diperkenankan sama dengan nama view yang sudah ada sebelumnya. Pesan di atas akan tampil jika terjadi pembuatan view dengan menggunakan nama yang sama dengan nama view yang lain. Nama kolom dari base table bisa diubah menjadi nama lain saat disimpan ke dalam view dengan menggunakan COLUMN ALIAS 2. Kegiatan Praktikum Buat tabel-tabel berikut ini : 1. Tabel Artikel dengan struktur 2. Tabel guestbook dengan struktur 56

57 3. Tabel Materi dengan struktur 4. Insert data pada masing-masing tabel 5. Tampilkan data judulartikel, author dan tanggal dari tabel artikel 6. Buat View dengan nama V_artikel1 untuk menampilkan data pada soal no 5 7. Tampilkan semua data pada tabel v_artikel1 i 57

58 Jadi bisa anda lihat bahwa pada soal nomor 5 dan 7 mempunyai hasil yang sama, sehingga dapat di simpulkan bahwa view dapat menampilkan kembali data yang sama dengan lebih sederhana, dapat digunakan untuk mengerjakan query yang tidak mungkin diselesaikan dengan cara biasa, view dapat digunakan untuk menyimpan data rahasia karena tidak muncul pada database awal. 8. Buatkan view artikel2 untuk menampilkan judulartikel, author dan tanggal, id yang mempunyai bidang pemograman dan analisa sistem 9. Buatkan view guest1 untuk menampilkan semua data yang namanya diawali dengan ahmad, kemudian ganti namaauthor menjadi pengarang. 10. Buatkan view guest2 untuk menampilkan semua data yang namanya kemudian ganti namaauthor menjadi pengarang. 11. Buatkan view materi untuk menampilkan semua data yang namanya kemudian ganti namaauthor menjadi pengarang. 3. Tugas : 1. Dari praktikum diatas, berikan kesimpulannya. 2. Buat table film dan jenis film dengan tampilan sebagai berikut jika hasilnya diselect : 3. Isi tabel jenisfilm : 4. Isi tabel film : 5. Berikut ini perintah untuk menampilkan semua data pada tabel jenisfilm dan film : 58

59 6. Buat perintah view untuk : a. Mengurutkan data film berdasarkan kolom judul, gunakan order by dan simpan dengan v_film1 b. Menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tidak tercantum pada tabel film, gunakan NOT IN / not exist dan simpan dengan nama v_film2 c. Menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tercantum pada tabel film menggunakan IN / exist dan simpan dengan nama v_film3 d. Manampilkan kolom jenis dan digabungkan dengan SUM(jml_film) yang dikelompokkan berdasarkan kolom jenis pada tabel film dan simpan dengan nama v_film4 e. Menampilkan kolom judul dari tabel film dan kolom harga dari tabel jenisfilm(gunakan Operasi Join) dan simpan dengan nama v_film5 59

60 MODUL 11 View 2 Tujuan : Membuat View untuk menampilkan data dari satu atau beberapa table dengan membungkus suatu query SELECT yang kompleks menjadi lebih sederhana. Tugas Pendahuluan 1. Apa saja keuntungan dan kerugian menggunakan view 2. Mengapa View lebih optimal pemakaiannya dibanding perintah select, jelaskan 3. kenapa view bisa dijadikan sebagai kode rahasia untuk menampikan suatu tabel, jelaskan. I. Teori 1.1 View View dalam sql juga merupakan suatu table yang diturunkan dari table yang lain. Table ini bias berupa table dasar dari yang didefinisikan sebelumnya.suatu view yang tidak perlu dalam bentuk fisiknya, bias berupa table bayangan (virtual table), sehingga table dasar yang mempunyai tupel-tupel pada dasarnya tersimpan dalam database. Pembatasan ini memungkinkan untuk mengupdate operasi yang bias digunakan dalam view, tetapi tidak membatasi dalam view queri. 60

61 1.2. Menghapus View Queri yang sama juga bias didapatkan dengan menentukan dua hubungan yang telah ada dalam relasi dasarnya, keuntungan utama view tersebut adalah untuk menyederhanakan ketentuan tentang queri yang diperlukan, dan juga bias digunakan untuk perangkat keamanan data. Suatu view dari queri selalu menampilkan data yang terbaru, sebagai contoh bila kita memodifikasi sebagaian tupel dalam table dasarnya dimana view tersebut didefinisikan, maka secara otomatis akan berpengaruh pada view di queri Jika tidak membutuhkan penampakan queri lagi, kita bisa menggunakan perintah DROP VIEW untuk menghapusnya. syntax : DROP VIEW (nama view) 1.3. Mengupdate view dan Implementasi view Mengupdate view merupakan suatu hal yang kompleks. Secara umum suatu update dari suatu view didefin isikan pada suatu table tunggal tanpa fungsifungsi pendukung (aggregate) yang bias dimapping kedalam suatu table dasar pembentuknya dengan berbagai cara. Topic tentang update view ini masih terus diuji coba. Untuk menggambarkan masalah yang potensial dengan mengupdate view yang telah didefinisikan dalam beberapa table, misal table Work_ON1 dan mendukung perintah untuk mengupdate attribute pname dari john smith dan dari productx ke producty. View ini ditunjukkan sebagai berikut : Update work_on1 Set pname = producty Where Lname = smith and Fname= john and Pname = productx 61

62 Secara umum kita tidak dapat menjamin bahwa setiap tampilan bisa diupdate. Suatu tampilan yang diupdate hanya memungkinkan untuk satu kali update pada relasi dasarnya yang dapat menghubungkan update tersebut pada tampilannya. Sebagai kesimpulan dapat ditentukan : Suatu tampilan dengan definisi tunggal itu dapat diupdate bila attribute tampilan berisi primary key atau beberapa candidate key dari relasi dasar, sebab inilah yang menghubungkan antara view tupel dengan tupel dasar tunggal. Tampilanm yang didefinisikan dengan menggunakan beberapa table yang berhubungan umumnya tidak dapat diupdate Tampilan yang menggunakan group dan fungsi aggregate tidak dapat diupdate 2. Kegiatn praktikum 1. Buat table golongan, jabatan dan pegawai dengan data sebagai berikut : Tabel golongan : Table jabatan Tablepegawai 62

63 2. Buat view dengan nama latihanview1 untuk menampilkan seluruh data pegawai yang jabatannya sebagai staff 3. Buat view dengan nama latihanview2 untuk menampilkan seluruh data pegawai yang dua digit pertama nipnya di awali dengan angka Buat view dengan nama latihanview3 untuk menampilkan data nip, nama dan golongan pegawai serta tunjangan golongan yang didapat (gunakan select multiple table) 5. Buat view dengan nama latihanview4 untuk menampilkan seluruh data pegawai beserta gaji total yang diperolehnya. Gaji total merupakan hasil perhitungan dari gaji pokok di tambahkan dengan tunjangan golongan serta tunjangan keluarga 6. Hapuslah latihanview1 7. Buat view dengan nama latihanview5 untuk menampilkan data pegawai yang gaji pokoknya paling tinggi. 3. TUGAS 1. Apakah yang dimaksud dengan update view?, buatkan contoh mengenai update view dari suatu table view. 2. Mengapa dalam update view fungsi aggregate tidak dapat digunakan, jelaskan alas an anda 3. Buat view dengan nama latihanview6 untuk menampilkan seluruh data pegawai yang mana nama pegawai bambang purnomo ganti dengan joko purnomo dan golongan ganti dengan manager 63

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

MODUL III STRUCTURED QUERY ANGUAGE (SQL) MODUL III STRUCTURED QUERY ANGUAGE (SQL) Tujuan : 1. Memahami tentang sistem database 2. Memahami instalasi MySQL di lingkungan Windows 3. Memahami dasar-dasar MySQL. Tugas Pendahuluan 1. Apa yang anda

Lebih terperinci

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

MODUL V DATA MANIPULATION LANGUAGE (DML) 1 MODUL V DATA MANIPULATION LANGUAGE (DML) 1 Tujuan : Praktikan dapat memahami dan mengisi tabel dalam database Praktikan dapat memahami dan memanipulasi data dalam database Tugas Pendahuluan Apa yang anda

Lebih terperinci

MODUL IV DATA DEFINITION LANGUAGE (DDL)

MODUL IV DATA DEFINITION LANGUAGE (DDL) MODUL IV DATA DEFINITION LANGUAGE DDL) Tujuan : Praktikan dapat memahami dan membuat database Praktikan dapat memahami dan membuat table dari database Mahasiswa mampu membuat script untuk pembuatan tabel

Lebih terperinci

MODUL II NORMALISASI DATA

MODUL II NORMALISASI DATA MODUL II NORMALISASI DATA Tujuan : Mampu membangun desain logika basis data relasional untuk menghasilkan struktur tabel yang normal. PrePraktikum 1. Apakah yang anda ketahui tentang normalisasi? 2. Mengapa

Lebih terperinci

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL) STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL) A. Pengenalan SQL SQL pertama kali diterapkan pada sistem R (sebuah proyek riset pada laboratorium riset San Jose, IBM). Kini SQL juga dijumpai

Lebih terperinci

MODUL 1 Pengenalan MySQL, DDL, DML

MODUL 1 Pengenalan MySQL, DDL, DML MODUL 1 Pengenalan MySQL, DDL, DML PENGENALAN MYSQL MySQL merupakan salah satu DBMS yang bersifat freeware, sehingga menjadi popular dikalangan pengguna database. Selain karena Free MySQL juga merupakan

Lebih terperinci

Konsep Sistem Informasi B. BAB 2 - SQL Overview

Konsep Sistem Informasi B. BAB 2 - SQL Overview Konsep Sistem Informasi B BAB 2 - SQL Overview Summary Definisi SQL Komponen-Komponen SQL Latihan What is? Introduction SQL Structured Query Language adalah sebuah bahasa yang digunakan untuk mengakses

Lebih terperinci

LAPORAN TUGAS BASIS DATA I

LAPORAN TUGAS BASIS DATA I LAPORAN TUGAS BASIS DATA I Disusun untuk Memenuhi Tugas Matakuliah Basis Data I yang dibimbing oleh Bapak Muhammad Zainal Arifin Oleh : KATYA LINDI CHANDRIKA 140535605307 UNIVERSITAS NEGERI MALANG FAKULTAS

Lebih terperinci

LAPORAN PRAKTIKUM BASIS DATA

LAPORAN PRAKTIKUM BASIS DATA LAPORAN PRAKTIKUM BASIS DATA SQL-DDL (Data Definition Language) NAMA : MIFTAHUL KHAIR.N KELAS/JURUSAN : 2B TKJ TEKNIK ELEKTRO NIM : 42514043 Program Studi Teknik Komputer dan Jaringan Jurusan Teknik Elektro

Lebih terperinci

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng Sistem Basis Danny Kriestanto, S.Kom., M.Eng SQL Introduction Setelah Membuat ERD dan Model Relasional, what s next? Bagaimana cara membangun entitas dan relationship tersebut agar dapat digunakan? Bagaimana

Lebih terperinci

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui Database Management Database Management System Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui Database Management System Pada thn 1970, IBM menciptakan bahasa

Lebih terperinci

Data Manipulation Language (DML)

Data Manipulation Language (DML) Modul ke: Data Manipulation Language (DML) Pemrograman Basis Data & SQL Fakultas FASILKOM Alen Boby Hartanto, S.Kom,M.M. Program Studi Sistem Informasi Data Manipulation Language DML (Data Manipulation

Lebih terperinci

DAFTAR ISI. DAFTAR ISI... 1 PRAKATA Pengenalan dan Lingkungan Kerja MySQL Tujuan... 4 Dasar Teori... 4 Praktik... 5

DAFTAR ISI. DAFTAR ISI... 1 PRAKATA Pengenalan dan Lingkungan Kerja MySQL Tujuan... 4 Dasar Teori... 4 Praktik... 5 DAFTAR ISI DAFTAR ISI... 1 PRAKATA... 3 1 Pengenalan dan Lingkungan Kerja MySQL Tujuan... 4 Dasar Teori... 4 Praktik... 5 Evaluasi dan Pertanyaan... 7 Kesimpulan... 8 2 Database dan Tabel Tujuan... 9 Dasar

Lebih terperinci

MODUL PRAKTIKUM BASIS DATA 1. D3 Manajemen Informatika Fakultas Teknik Universitas Trunojoyo

MODUL PRAKTIKUM BASIS DATA 1. D3 Manajemen Informatika Fakultas Teknik Universitas Trunojoyo MODUL PRAKTIKUM BASIS DATA 1 D3 Manajemen Informatika Fakultas Teknik Universitas Trunojoyo 1 MODUL I MEMBUAT DESAIN BASISDATA Tujuan : 1. Praktikan dapat memahami model basis data 2. Praktikan dapat memahami

Lebih terperinci

MODUL PRAKTIKUM SISTEM BASIS DATA MENGGUNAKAN MICROSOFT SQL SERVER

MODUL PRAKTIKUM SISTEM BASIS DATA MENGGUNAKAN MICROSOFT SQL SERVER MODUL PRAKTIKUM SISTEM BASIS DATA MENGGUNAKAN MICROSOFT SQL SERVER OLEH : EDI ISMANTO, S.T, M.KOM LABORATORIUM KOMPUTER PROGRAM STUDI PENDIDIKAN INFORMATIKA UNIVERSITAS MUHAMMADIYAH RIAU IDENTITAS MODUL

Lebih terperinci

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG M O D U L S Q L SISTEM BASIS DATA 2 Disusun oleh : Siti Yuliyanti, ST SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG Jl. Brigjen Katamso No.92 Km 2.5 Tanjungpinang Kepulauan Riau November 24, 2010 SQL

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal. A. Kompetensi Mahasiswa diharapkan dapat memahami: 1. Pengertian databases, DBMS, MySQL 2. Apa Itu SQL? 3. Membuat, Menampilkan, Membuka dan Menghapus Database 4. Membuat, Mengubah dan Menghapus Table

Lebih terperinci

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA PENGANTAR SQL TINGKAT DASAR Basisdata atau database adalah kumpulan dari

Lebih terperinci

Pengenalan Structured Query Language

Pengenalan Structured Query Language Pengenalan Structured Query Language Apa Itu SQL? SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk

Lebih terperinci

MODUL 9 WEB PROGRAMMING : MySQL

MODUL 9 WEB PROGRAMMING : MySQL MODUL 9 WEB PROGRAMMING : MySQL Tujuan : 1. Memahami tentang sistem database 2. Memahami instalasi MySQL di lingkungan Windows 3. Memahami dasar-dasar MySQL. PENGENALAN DATABASE Basis Data: Himpunan kelompok

Lebih terperinci

Dasar-dasar SQL Cosmas Haryawan Hal : 1/9 DASAR DASAR SQL (Structured Query Language) SQL adalah bahasa standar dalam basis data yang digunakan untuk melakukan manipulasi data. Standardisasi bahasa ini

Lebih terperinci

Pemrograman Web Lanjut 2017

Pemrograman Web Lanjut 2017 Praktikum 7 Basis data (database) dapat dikatakan sebagai sekumpulan data yang disimpan, saling berhubungan, dan diorganisasi secara bersama. Perangkat lunak yang dapat digunakan untuk mengolah basis data

Lebih terperinci

Pertemuan 12 Pengenalan Structured Query Language

Pertemuan 12 Pengenalan Structured Query Language Pertemuan 12 Pengenalan Structured Query Language Apa Itu SQL? Membuat, Menampilkan, Membuka dan Menghapus Database Membuat, Mengubah dan Menghapus Table Menambah Record dengan INSERT Mengedit Record dengan

Lebih terperinci

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL Pengenalan Database Management System MySQL Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL 2 Jelaskan perbedaan antara data dengan informasi 3 Data vs.

Lebih terperinci

MODUL I PENGENALAN MYSQL

MODUL I PENGENALAN MYSQL MODUL I PENGENALAN MYSQL A. TUJUAN Mengenal DBMS MySQL dan penggunaannya untuk pengelolaan basis data. Mampu memanfaatkan command-line (client) MySQL. Memahami operasi-operasi DDL dan DML di MySQL B. PETUNJUK

Lebih terperinci

MODUL 5 INTERNET PROGRAMMING : MySQL

MODUL 5 INTERNET PROGRAMMING : MySQL MODUL 5 INTERNET PROGRAMMING : MySQL A. Tujuan : 1. Memahami tentang sistem database 2. Memahami dasar-dasar MySQL. 3. Memahami relasi di MySQL B. Dasar Teori PENGENALAN DATABASE Basis Data: Himpunan kelompok

Lebih terperinci

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel Sistem Basis Data 1 Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel 2 SQL SQL (Structured Query Language) Bahasa standar yang

Lebih terperinci

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) 1. Jenis-jenis deklarasi SQL Deklarasi atau perintah SQL dibagi menjadi DDL, dan DML berdasarkan kepada fungsinya. a. DDL (Data Definition Language) Merupakan perintah-perintah

Lebih terperinci

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs. Praktikum Basis Data By. Rita Wiryasaputra, ST., M. Cs. SQL: DDL (Data Definition Language) Create Database Create Table Create View Create Index Alter Database Alter Table Alter View Drop Database Drop

Lebih terperinci

STRUCTURE QUERY LANGUAGE (SQL)

STRUCTURE QUERY LANGUAGE (SQL) STRUCTURE QUERY LANGUAGE (SQL) Structure Query Language (SQL) adalah bahasa query standar yang digunakan untuk mengakses basis data relasional. SQL mempunyai kemampuan sebagai berikut : a. Query (memperoleh

Lebih terperinci

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data Kompetensi Dasar Setelah mengikuti kegiatan proses belajar mengenai Pengenalan SQL, mahasiswa dapat mendefinisikan dan memanipulasi sistem basis data menggunakan bahasa SQL dengan tepat Tujuan Pembelajaran

Lebih terperinci

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc. DATABASE - MySQL Muhammad Zen S. Hadi, ST. MSc. Objectives Tujuan: Memahami perintah-perintah dasar DDL dan DML Contents Database DBMS Relational model SQL MySQL MySQL yang support ke relational model

Lebih terperinci

MODUL PRAKTIKUM. MODUL I - VII Modul penuntun dan bahan praktikum matakuliah Basis Data

MODUL PRAKTIKUM. MODUL I - VII Modul penuntun dan bahan praktikum matakuliah Basis Data I - VII Modul penuntun dan bahan praktikum matakuliah Basis Data Jurusan Teknik Informatika Fakultas Teknik Universitas Maritim Raja Ali Haji BASIS DATA DAFTAR ISI I. Pengenalan Basis Data...1 II. Entity

Lebih terperinci

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL Diajukan Sebagai Tugas Mata Kuliah Basis Data Oleh: Maulidya Yulianingtyas 1431140013 POLITEKNIK NEGERI MALANG PROGRAM STUDI MANAJEMEN INFORMATIKA MALANG 2015

Lebih terperinci

Praktikum Basis Data 2017 TE UM

Praktikum Basis Data 2017 TE UM MODUL 3 SQL A. TUJUAN - Memahami SQL, komponen-komponen, dan penggunaannya. - Mengenal operasi-operasi DML menggunakan phpmyadmin. - Mampu melakukan operasi-operasi retrieve yang spesifik - Mampu penguraikan

Lebih terperinci

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML) MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML) TUJUAN PRAKTIKUM 1. Praktikan dapat mengetahui pengertian SQL. 2. Praktikan dapat mengetahui klasifikasi SQL. 3. Praktikan

Lebih terperinci

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML Objectives Tujuan: DATABASE - MySQL Memahami perintah-perintah dasar DDL dan DML Acep Irham Gufroni, M.Eng. Pemrograman Internet Teknik Informatika Univ. Siliwangi Database Constraints Database a collection

Lebih terperinci

M O D U L K U L I A H

M O D U L K U L I A H M O D U L K U L I A H Basis Data PENGANTAR Selamat datang di zone belajar basis data!! Saya bersyukur bisa menyelesaikan modul ini tepat pada waktunya untuk digunakan sebagai pelengkap bahan ajar materi

Lebih terperinci

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL SQL Basis Data 1 Apakah SQL? SQl singkatan dari Structured Query Language yang merupakan bahasa komputer standar ANSI (American National Standards Institute). Dengan SQL kita dapat Membuat basis data dan

Lebih terperinci

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMERSIAL Pertemuan 10 BAHASA QUERY KOMERSIAL BAHASA QUERY KOMERSIAL STRUKTUR QUERY LANGUAGE (SQL) SQL dipublikasikan oleh E.F. CODD (1970) mengenai model relational. Kemudian pada tahun 1974, D. Chamberlin dan

Lebih terperinci

BAHASA QUERY KOMPLEKS

BAHASA QUERY KOMPLEKS BAHASA QUERY KOMPLEKS BAHASA QUERY KOMERSIAL STRUKTUR QUERY LANGUAGE (SQL) SQL dipublikasikan oleh E.F. CODD (1970) mengenai model relational. Kemudian pada tahun 1974, D. Chamberlin dan R.F. Boyce mengembangkan

Lebih terperinci

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMERSIAL Pertemuan 10 BAHASA QUERY KOMERSIAL BAHASA QUERY KOMERSIAL STRUKTUR QUERY LANGUAGE (SQL) SQL dipublikasikan oleh E.F. CODD (1970) mengenai model relational. Kemudian pada tahun 1974, D. Chamberlin dan

Lebih terperinci

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Tahun 1987, American National Standards Institute (ANSI) dan International Standards Organization (ISO) membuat standar untuk SQL Tahun 1992, dibentuk versi baru

Lebih terperinci

STRUCTURE QUERY LANGUAGE DDL & DML

STRUCTURE QUERY LANGUAGE DDL & DML STRUCTURE QUERY LANGUAGE DDL & DML OUTLINE Data Definiton Language (DDL) Data Manipulation Language (DML) Data Control Language (DCL) Proses Pembangunan Database Perintah SQL DATA DEFINITION LANGUAGE (DDL)

Lebih terperinci

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1. P - 3 Bab 2 : SQL 3.1 Tujuan Mahasiswa mengetahui & memahami mengenai aplikasi server MySQL, akses terhadap MySQL, Client MySQL, tipe data dan operasi DDL pada SQL. 3.2 Materi 1. Aplikasi Server MySQL

Lebih terperinci

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9) Agenda Structured Query Language (SQL) (Pert. 9) Oleh : Umi Laili Yuhana, S.Kom, M.Sc. Sarwosri, S.Kom, M.T. Dr. Ir. Siti Rochimah Pengantar SQL DDL 1 2 SQL Singkatan dari Structured Query Language, dalam

Lebih terperinci

Pemrograman Basis Data Berbasis Web

Pemrograman Basis Data Berbasis Web Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata MySQL) Noor Ifada S1 Teknik Informatika - Unijoyo 1 Sub Pokok Bahasan MySQL? Tipe data field Operator

Lebih terperinci

BERMAIN DATA DENGAN SQL SERVER

BERMAIN DATA DENGAN SQL SERVER BERMAIN DATA DENGAN SQL SERVER BERKENALAN DENGAN SQL SERVER DBMS merupakan suatu sistem perangkat lunak yang memungkinkan pengguna komputer untuk membuat, memelihara, mengontrol, serta mengakses data pada

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB LANDASAN TEORI.1 Defenisi Pangkalan Data Pangkalan data atau Database merupakan kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema

Lebih terperinci

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut: By I Wayan Simpen Dasar-Dasar MySql Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut: SQL (Structured Query Language) Semua

Lebih terperinci

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA Modul 2 Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop Disusun oleh Sri Siska Wirdaniyati JURUSAN STATISTIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci

KURSUS ONLINE JASA WEBMASTERS

KURSUS ONLINE JASA WEBMASTERS KURSUS ONLINE JASA WEBMASTERS SQL Pengenalan Database, SQL, MySQL dan XAMPP JASA WEBMASTERS Jl. Ringin Raya No 124A Condong Catur, Sleman, Yogyakarta Database Database secara singkat dapat diartikan sebagai

Lebih terperinci

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL. 1 Database Systems: Tipe Tabel MySQL Tipe Filed/Kolom/Atribut My SQL Tipe Operator Aturan Dasar-dasar MySQL Tipe Perintah SQL Data Definition Languange Data Manipulation Languange Data Control Languange

Lebih terperinci

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMERSIAL BAHASA QUERY KOMERSIAL BAHASA QUERY KOMERSIAL STRUKTUR QUERY LANGUAGE (SQL) SQL dipublikasikan oleh E.F. CODD (1970) mengenai model relational. Kemudian pada tahun 1974, D. Chamberlin dan R.F. Boyce mengembangkan

Lebih terperinci

Modul 3 : Query Penggabungan Tabel

Modul 3 : Query Penggabungan Tabel Modul 3 : Query Penggabungan Tabel Tujuan Praktikum - Mahasiswa dapat membedakan perbedaan macam-macam join tabel. - Mahasiswa mampu melakukan query untuk join tabel. - Mahasiswa dapat membedakan union,

Lebih terperinci

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi 2 Review Klausa Where Filter Perbandingan Like IN dan NOT

Lebih terperinci

Structured Query Language

Structured Query Language Structured Query Language DML (Data Manipulation Language) 31 Mei 2006 2006, M. Ramadhan 1 Pendahuluan Yang akan dibahas: Data Manipulation Language (DML) Pernyataan SQL untuk: Menemukan kembali data dalam

Lebih terperinci

PERINTAH DASAR MySQL

PERINTAH DASAR MySQL PERINTAH DASAR MySQL Menjalankan MySQL Untuk menjalankan MySQL cukup dengan mengetikan mysql pada system prompt Bentuk umum perintah mysql database h host u user p password Dengan windows Menu Start All

Lebih terperinci

Rencana Pelaksanaan Pembelajaran

Rencana Pelaksanaan Pembelajaran : Basis Data PROGRAM STUDI : Teknik Informatika PERTEMUAN : 1 Kompetensi Dasar : Mahasiswa dapat melakukan instalasi MySQL (XAMPP) serta melakukan konfigurasi user 1. Mahasiswa mampu melakukan instalasi

Lebih terperinci

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com Pengantar SQL By Mrs Imana Malia Kondou, S.T. 1 Tujuan Mahasiswa memahami konsep dasar SQL 2 Pokok k Bahasan Statemen Macam-macam macam perintah SQL DDL DML 3 Mengapa SQL? SQL mrpk very-high-level language.

Lebih terperinci

PENGENALAN SINTAKS DASAR DALAM MySQL

PENGENALAN SINTAKS DASAR DALAM MySQL SMK-TI TRAINING AND CERTIFICATION Modul 3 PENGENALAN SINTAKS DASAR DALAM MySQL Team Training SMK TI 37 SMK-TI TRAINING AND CERTIFICATION Tujuan: Siswa dapat membuat database dan table sederhana yang dilengkapi

Lebih terperinci

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2 PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2 PERTEMUAN 5 & 6 STRUCTURE QUERY LANGUAGE STRUCTURE QUERY LANGUAGE SQL adalah bahasa query baku untuk DBMS. SQL diambil sebagai bakuan sejak tahun 1992.

Lebih terperinci

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa SISTEM BASIS DATA Oleh : Devie Rosa Anamisa Pengertian Sistem Basis Data Sistem Keterpaduan yang terdiri atas sejumlah komponen fungsional yang saling berhubungan dan secara bersama-sama bertujuan untuk

Lebih terperinci

INTERNET PROGRAMMING DATABASE

INTERNET PROGRAMMING DATABASE INTERNET PROGRAMMING DATABASE Muhmmad Zen Samsono Hadi, ST. MSc. zenhadi@eepis-its.edu POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Bahasan Sistem Database ER Diagram Database MySQL Internet Application Pendahuluan

Lebih terperinci

Macam - Macam Perintah Pada SQL

Macam - Macam Perintah Pada SQL Macam - Macam Perintah Pada SQL Secara umum SQL hanya memiliki 3 komponen penting, yang digunakan untuk mendefinisikan, memanipulasi serta sebagai pengontrol data yang ada pada sebuah database. Komponen

Lebih terperinci

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL KapitaSelekta KapitaSelekta (KBKI82127, 2 sks) Materi : Pengenalan MySQL Mohon Perhatian TUGAS DIKUMPULKAN PROGRAM AKAN DIPERIKSA DI KOMPUTER MASING- MASING Sub Materi : 1. Pengenalan MySQL (Part-1) 1.

Lebih terperinci

Pertemuan 10. Bahasa Query Terapan

Pertemuan 10. Bahasa Query Terapan Pertemuan 10 Bahasa Query Terapan Structured Query Language (SQL) SQL merupakan bahasa query terapan yang banyak digunakan oleh berbagai DBMS, diterapkan dalam berbagai development tools dan program aplikasi

Lebih terperinci

DATA DEFINITION LANGUAGE

DATA DEFINITION LANGUAGE DATA DEFINITION LANGUAGE PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011 Memulai MySQL MySQL yang akan kita gunakan dalam praktikum ini telah tersedia dalam paket XAMPP (X- Apache- MySQL-PHP-Perl) di komputer

Lebih terperinci

MySQL AL AZHAR COMPUTER CLUB

MySQL AL AZHAR COMPUTER CLUB MODUL Pelatihan Web MySQL AL AZHAR COMPUTER CLUB Oleh : Achmad Fachrie Jakarta, 2006 Al Azhar Computer Club MySQL Dalam melakukan pengembangan aplikasi, salah satu komponen yang terpenting adalah database.

Lebih terperinci

Praktikum Basis Data 14 Structure Query Language 2

Praktikum Basis Data 14 Structure Query Language 2 Praktikum Basis Data 14 Structure Query Language 2 Pokok Bahasan : - DDL create table - DDL alter table - DDL drop table - DML insert - DML update - DML delete Tujuan : - Mahasiswa dapat menerapkan perintah

Lebih terperinci

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( ) TUGAS I PRAKTIKUM SISTEM BASIS DATA Nama: Krisna Pandu Wibowo(12131353) SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2014 1. Buat database dan 1 tabel dengan objek yang ada

Lebih terperinci

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database Data Manipulation Language (DML) & Data Control Language (DCL) pada Database Karunia Suci Lestari k.sucilestari97@gmail.com :: http://ksucilestari97.wordpress.com Abstrak Setelah artikel sebelumnya membahas

Lebih terperinci

JURNAL PRAKTIKUM (LAB. ACTIVITY) PENGOLAHAN BASIS DATA DT022

JURNAL PRAKTIKUM (LAB. ACTIVITY) PENGOLAHAN BASIS DATA DT022 JURNAL PRAKTIKUM (LAB. ACTIVITY) PENGOLAHAN BASIS DATA DT022 MATERI 1 Data Definition Languages (DDL) Dosen : Ikmah, M.Kom D3 TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK

Lebih terperinci

MySQL J A M K E T I G A

MySQL J A M K E T I G A J A M K E T I G A MySQL l Apa itu MySQL? l Membuat User Baru l Membuat Database l Tipe Data MySQL l Membuat Tabel l Structured Query Language l Latihan Jam Ketiga l Soal Jam Ketiga Jam Ketiga Apa itu MySQL?

Lebih terperinci

MODUL II. Instalasi OracleXE Dan SQL

MODUL II. Instalasi OracleXE Dan SQL MODUL II Instalasi OracleXE Dan SQL I. Tujuan 1. Dapat menginstalasi aplikasi Oracle XE 2. Dapat mengeset user baru pada aplikasi Oracle XE 3. Dapat mengubah password username hr dan mengaktifkannya 4.

Lebih terperinci

SQL Server 2008 Mengaktifkan DBMS SQL Server 2008 SQL server 2008 SQL server management studio DDL Basis Data Mendefinisikan, mengubah dan menghapus basis data: Create Database NamaBasisData Alter

Lebih terperinci

RENCANA PEMBELAJARAN

RENCANA PEMBELAJARAN FRM/KUL/01/ Written by Checked by Approved by valid date Leon Andretti Abdillah, S.Kom.,MM Merry Agustina, M.M.,M.Kom M.Izman Herdiansyah, ST., MM., Ph.D Mata Kuliah : Praktikum Basis Data Semester :1

Lebih terperinci

Riyanto

Riyanto SQL (Structured Query Language) Riyanto mohriyan@gmail.com http://www.masto.co.cc Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan

Lebih terperinci

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

Jobsheet SQL Dasar : Hari Zulianto, ST [Year] JOB SHEET Nama SMK : SMK IPTEK Weru Sukoharjo Kompetensi Keahlian : Rekayasa Perangkat Lunak Mata Pelajaran / SK : SQL Dasar Guru Mapel : Hari Zulianto, ST Semester/Tahun : 3 / 2017 Dasar-Dasar SQL 1.

Lebih terperinci

Basis Data Relational

Basis Data Relational Basis Data Relational Kebanyakan model yang digunakan adalah Model basis data relasional dengan menggunakan Relational Database Management System (RDBMS). RDBMS menyediakan layanan pengorganisasian data

Lebih terperinci

1. Mahasiswa mampu mengenal dan memahami Bahasa Pemrograman MySQL 2. Mahasiswa mampu mengimplementasikan DDL dan DML.

1. Mahasiswa mampu mengenal dan memahami Bahasa Pemrograman MySQL 2. Mahasiswa mampu mengimplementasikan DDL dan DML. A. TUJUAN 1. Mahasiswa mampu mengenal dan memahami Bahasa Pemrograman MySQL 2. Mahasiswa mampu mengimplementasikan DDL dan DML. B. ALAT DAN BAHAN 1. Personal komputer. 2. Aplikasi MySQL. C. TEORI SINGKAT

Lebih terperinci

BAB I Penginstallan dan setting PHPTriad

BAB I Penginstallan dan setting PHPTriad BAB I Penginstallan dan setting PHPTriad Database adalah tempat dimana kita akan menyimpan data yang dibutuhkan web kita. Mengapa harus menggunakan database? Bukankah lebih mudah dalam bentuk file seperti

Lebih terperinci

Pemrograman Web 1. Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran. Modul 2 Revisi 2. Tahun Akademik 2012/2013

Pemrograman Web 1. Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran. Modul 2 Revisi 2. Tahun Akademik 2012/2013 Modul 2 Revisi 2. Tahun Akademik 2012/2013 Pemrograman Web 1 Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran Untuk kalangan Akademi Manajemen Informatika dan Komputer (AMIK) Royal Kisaran,

Lebih terperinci

MODUL II SQL A. TUJUAN

MODUL II SQL A. TUJUAN MODUL II SQL A. TUJUAN Memahami SQL, komponen-komponen, dan kegunaannya Mengenal operasi-operasi DDL dan DML Mampu melakukan operasi-operasi retrieve yang spesifik Mampu menguraikan dan mentranslasikan

Lebih terperinci

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek.

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek. Perkenalan SQL Sebuah database adalah sekumpulan informasi yang disusun dengan baik. Untuk mengatur sebuah database, dibutuhkan sebuah Database Management System (DBMS). DBMS merupakan program untuk menyimpan,

Lebih terperinci

Basis Data. DDL & Aturan Referential

Basis Data. DDL & Aturan Referential Basis Data DDL & Aturan Referential Tipe Data Untuk setiap kolom/field yang terdapat pada sebuah tabel, harus ditentukan pula tipe datanya yang menentukan jangkauan nilai yang bisa diisikan Masing-masing

Lebih terperinci

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML TUJUAN Agar Mahasiswa dapat membuat tabel dengan menggunakan sintax SQL Agar Mahasiswa dapat mengisi tabel dengan menggunakan sintax SQL

Lebih terperinci

Pertemuan 9 Struktur Query Language(SQL)

Pertemuan 9 Struktur Query Language(SQL) Pertemuan 9 Struktur Query Language(SQL) INDIKATOR 1. Membuat table dan memodifikasi tabel dengan perintah SQL 2. Memahami integrity Constraint - Primary key - Foreign key Pendahuluan SQL ( Structured

Lebih terperinci

Satuan Acara Perkuliahan

Satuan Acara Perkuliahan Satuan Acara Perkuliahan Mata Kuliah : Sistem Basis Data Kode Mata Kuliah / SKS: KK-1057 / 3 SKS Semester : Ganjil / Genap Dosen : Dini Yuristia, S.T. Hari, jam, ruang : Deskripsi Mata Kuliah Mata kuliah

Lebih terperinci

SQL. Pemrograman Web II. Ganjil

SQL. Pemrograman Web II. Ganjil SQL Pemrograman Web II Ganjil 2015-2016 Review Database Structured Query Language Apa itu database? Kumpulan data terstruktur yang saling berelasi. Definisi : Kumpulan data, yang terorganisir secara logika,

Lebih terperinci

MENGENAL SYNTAX DML PADA SQL

MENGENAL SYNTAX DML PADA SQL MENGENAL SYNTAX DML PADA SQL Dian Mustika Putri mustika@raharja.info :: https://dianmstkputri.wordpress.com Abstrak Kemajuan Teknologi Informasi saat ini perlahan mulai berkembang, khususnya adalah dalam

Lebih terperinci

SQL. Brigida Arie Minartiningtyas, M.Kom

SQL. Brigida Arie Minartiningtyas, M.Kom SQL Brigida Arie Minartiningtyas, M.Kom Show Berfungsi untuk melihat list/daftar dari database atau tabel yang sudah dibuat Untuk melihat daftar database yang sudah dibuat SHOW databases; Untuk melihat

Lebih terperinci

Operasi Dasar MySQL Menggunakan CLI(Command Line Interface)

Operasi Dasar MySQL Menggunakan CLI(Command Line Interface) Operasi Dasar MySQL Menggunakan CLI(Command Line Interface) M.Fendi Kurniawan sipiyuku@gmail.com http://www.sipiyuku.web.id Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi

Lebih terperinci

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs. SQL DASAR BASIS DATA Rajif Agung Yunmar, S.Kom., M.Cs. PRETEST Sebutkan apa yang disebut dengan SQL? Jelaskan! Apakah yang disebut sebagai batasan integritas (integrity constraint)? Sebutkan jenis-jenis

Lebih terperinci

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ; P - 4 Bab 3 : SQL 3.1 Tujuan Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. 3.2 Materi 1. Data Modeling Language (DML) 2. Operator 3. Fungsi Agregat 4. Ekspresi Query 5. Fungsi dan Ekspresi

Lebih terperinci

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom SQL Structure Query Language (SQL) adalah bahasa query standar yang digunakan untuk mengakses basis data relasional. Kemampuan SQL: Query (memperoleh

Lebih terperinci

Arsitektur Basis Data Oracle

Arsitektur Basis Data Oracle Arsitektur Basis Data Oracle Oracle pertama kali dicetuskan oleh Larry Elisson beserta dua temannya pada tahun 1977. Nama Oracle diambil dari proyek milik CIA di mana dia sebelumnya bekerja. (Wikipedia)

Lebih terperinci

Kontrak Kuliah. Dasar-dasar MySQL. Edi Sugiarto, S.Kom, M.Kom

Kontrak Kuliah. Dasar-dasar MySQL. Edi Sugiarto, S.Kom, M.Kom Kontrak Kuliah Dasar-dasar MySQL Edi Sugiarto, S.Kom, M.Kom Tipe Data Tipe data numerik Tipe Data Keterangan Ukuran Integer atau int Signed value : -2147683648 hingga 2147683648 4byte Decimal Nilai tergantung

Lebih terperinci

Panduan Membuat Data Flow Diagram, Entity Relationship Diagram, dan Database Menggunakan Power Designer

Panduan Membuat Data Flow Diagram, Entity Relationship Diagram, dan Database Menggunakan Power Designer Panduan Membuat Data Flow Diagram, Entity Relationship Diagram, dan Database Menggunakan Power Designer Disusun oleh: Oke Setiawan, S.T. Untuk keperluan internal dalam mendukung Tugas Besar Sistem Informasi

Lebih terperinci

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan)

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan) PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers (Chap. 5 Ramakrishnan) Overview Structure Query Language (SQL) adalah bahasa database relasional komersial yang paling banyak digunakan. SQL

Lebih terperinci