modul 2 basis data

27
Modul 2 BASIS DATA STRUCTURED QUERY LANGUAGE (SQL) INSERT,UPDATE DAN DELETE Dosen Pengampu : Ida Bagus Gede Dwidasmara, S. Kom., M. Kom. OLEH : Made Dinda Pradnya Pramita 1308605021 JURUSAN ILMU KOMPUTER PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA

Upload: dinda

Post on 28-Sep-2015

300 views

Category:

Documents


7 download

DESCRIPTION

Bidang IT

TRANSCRIPT

Modul 2BASIS DATA

STRUCTURED QUERY LANGUAGE (SQL)INSERT,UPDATE DAN DELETE

Dosen Pengampu :Ida Bagus Gede Dwidasmara, S. Kom., M. Kom.

OLEH :Made Dinda Pradnya Pramita 1308605021

JURUSAN ILMU KOMPUTERPROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAMUNIVERSITAS UDAYANA2014

BAB IPENDAHULUAN

1.1 Latar Belakang Dewasa ini seiring dengan perkembangan teknologi yang terbilang pesat sangat berpengaruh terhadap tatanan hidup manusia. Perkembangan tersebut terkadang memberikan dampak yang positif. Contohnya saja, dalam hal dunia pekerjaan. Tentunya manusia memerlukan suatu hal yang dapat meminimalisir atau mengefisiensi kerja mereka karena banyak manusia yang dituntut cepat dalam bekerja serta menghasilkan pekerjaan yang tepat atau akurat serta efisiensi waktu.Dalam dunia pekerjaan, umumnya yang berkutat dengan komputer, tentu manusia sangat akrab dengan data data berupa tabel atau sejenisnya, tentu dalam mengoperasikan atau memanipulasi ribuan bahkan jutaan data data tersebut diperlukan suatu aplikasi guna meminimalisir pekerjaan tersebut. Berangkat dari kenyataan tersebut serta didukung oleh IPTEK serta SDM yang mempuni maka banyak bermunculan aplikasi yang dapat mempermudah pekerjaan tersebut. Contohnya saja, ketika suatu pekerjaan menuntut kita agar dapat membuat serta memanejemen ribuan bahkan jutaan tabel, akan menjadi lebih efisien dengan menggunakan Structured Query Language (SQL). Structures Query Language ini mempermudah kita dalam memanipulasi dan memanejemen tabel kerja, sehingga tabel tersebut dapat terbentuk dengan secara cepat dan akurat dan mudah untuk diperbaharui.Maka dari itu, dalam laporan ini akan dibahas lebih jelas mengenai bagaimana menggunakan DML untuk memanipulasi data pada database.

1.2Tujuan PraktikumAdapun tujuan yang ingin dicapai dalam penyusunan laporan modul ini yaitu mahasiswa memahami sintaks perintah pada MySQL untuk menambah, mengubah dan menghapus record pada tabel.

BAB IILANDASAN TEORI

Strutured Query Language (SQL) merupakan perintah perintah yang digunakan untuk membuat, mengubah, menghapus dan menampilkan record tabel dari suatu database. Pada modul ini akan dibahas bagaimana menambahkan, mengubah dan menghapus record dari suatu tabel menggunakan perintah yang telah disediakan oleh MySQL.

2.1 INSERT

INSERT INTO nama_tabel VALUES (nilai1,nilai2,...); INSERT merupakan perintah yang digunakan untuk menambah record ke dalam tabel. Adapun sintaks atau bentuk umum perintah SQL untuk menambahkan record atau data ke dalam suatu tabel adalah sebagai berikut :

INSERT INTO nama_tabel(field1,field2,...) VALUES (nilai1,nilai2,...); Sintaksnya juga dapat dengan bentuk sebagai berikut :

INSERT INTO nama_tabel SET field1=nilai1, field2=nilai2,...; Atau dengan kata lain dapat juga dengan bentuk sebagai berikut :

Misalkan terdapat tabel Mahasiswa sebagai berikut :

FieldTipe DataKeterangan

nim_mhsINTPRIMARY KEY

nama_mhsVarchar(30)

Umur_mhsINT

Untuk menambahkan data pada tabel tersebut, maka perintah yang diketikkan adalah sebaai berikut :

INSERT INTO Mahasiswa VALUES(1308605021,Dinda,20);atauINSERT INTO Mahasiswa(nim_mhs,nama_mhs,umur_mhs)VALUES(1308605021,Dinda,20);

Penambahan record bisa dilakukan untuk beberapa record sekaligus seperti contoh berikut :

INSERT INTO MahasiswaVALUES (1108605063,Agustini,20), (1108605073,Agustinus,21);

Untuk melihat data yang telah ditambahkan ke dalam tabel, maka ketikkan perintah berikut ini :

SELECT * FROM Mahasiswa;

Perintah ON DUPLICATE KEY UPDATE digunakan untuk mengubah beberapa kolom dengan nilai baru apabila terdapat kolom unik yang disisipkan lebih dari sekali. Contoh jika terdapat penyisipan data mahasiswa lagi dengan kunci yang sama, maka umur akan dinaikkan 5 tahun, maka perintah INSERT adalah sebagai berikut :

INSERT INTO Mahasiswa VALUES (1308605021,Dinda,20)ON DUPLICATE KEY UPDATE umur_mhs=umur_mhs+5;

2.2 UPDATE Pada umumnya perubahan atau proses update bisa sewaktu waktu dilakukan jika terdapat data atau record dalam suatu tabel yang perlu diperbaiki. Proses update ini tidak menambahkan data (record) baru, melainkan hanya memperbaiki data yang lama atau yang sudah ada. Perubahan yang terjadi dalam proses update bersifat permanen, artinya setelah perintah dijalankan maka tidak dapat dicancel atau diundo. Adapun sintaks atau bentuk umum perintah SQL untuk mengedit suatu record atau data dari suatu tabel adalah sebagai berikut :

UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_condition][ORDER BY ...][LIMIT row_count];

Adapun penjelasan dari sintaks UPDATE di atas adalh sebagai berikut : UPDATE merupakan perintah dasar untuk mengubah record tabel. Tbl_name merupakan nama tabel yang akan diubah recordnya. SET merupakan perintah diikuti dengan field field yang akan diubah yang mana diikuti juga dengan perubahan isi dari masing masing field. Untuk mengubah nilai dari beberapa field sekaligus, gunakan koma (,) untuk memisahkan masing masing field. WHERE merupakan perintah diikuti oleh kondisi tertentu yang menentukan record mana yang akan diedit (diubah). Perintah ini boleh ada boleh juga tidak. Jika tidak ditambahkan pada perintah update maka semua record dalam tabel bersangkutan akan berubah. ORDER BY akan mengurutkan proses update data berdasarkan kolom yang yang dimasukkan ke dalam clausa tersebut. LIMIT akan membatasi jumlah record yang akan diubah.Berikut ini adalah contoh dari perintah UPDATE yaitu :

UPDATE MahasiswaSET nama_mhs=Made Dinda Pradnya PramitaWHERE nim_mhs=1308605021;

UPDATE MahasiswaSET nama_mhs=Made Dinda Pradnya Pramita,umur_mhs=17WHERE nim_mhs=1108605063;Perintah di atas akan mengubah nama mahasiswa dengan NIM Mahasiswa yaitu 1308605021 menjadi Made Dinda Pradnya Pramita. Jika ingin mengubah beberapa kolom, misalnya nama mahasiswa dan umurnya, maka bisa dilakukan dengan perintah sebagai berikut :

2.3 DELETEPerintah DELETE dilakukan jika terdapat data atau record dalam suatu tabel yang perlu dihapus atau dihilangkan. Adapun sintaks atau bentuk umum perintah SQL untuk menghapus suatu record atau data dari tabel adalah sebagai berikut :

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name[WHERE where_condition][ORDER BY ...][LIMIT row_count];

Adapun penjelasan dari sintaks DELETE di atas adalh sebagai berikut : DELETE FROM merupakan perintah dasar untuk menghapus suatu record dari tabel. tbl_name merupakan nama tabel yang akan dihapus recordnya. WHERE merupakan perintah diikuti oleh kondisi tertentu yang menentukan record mana yang akan dihapus. Perintah ini boleh ada boleh juga tidak. Namun demikian, jika tidak ditambahkan pada perintah delete maka semua record dalam tabel bersangkutan akan terhapus. Jadi jangan lupa menambahkan WHERE jika kita tidak bermaksud mengosongkan tabel. ORDER BY akan mengurutkan proses update data berdasarkan kolom yang yang dimasukkan ke dalam clausa tersebut. LIMIT akan membatasi jumlah record yang akan diubah.Berikut adalah contoh perintah untuk menghapus data mahasiswa dengan umur lebih dari 20 tahun yaitu :

DELETE FROM MahasiswaWHERE umur_mhs>21;

BAB IIIHASIL DAN PEMBAHASAN

3.1 Hasil PraktikumAdapun hasil percobaan yang sudah dilakukan di LAB adalah sebagai berikut yaitu :

Menambahkan satu record ke dalam tabelMenginputkan suatu record ke dalam tabel Barang yang telah dibuat pada database modul_2. Adapun sintaksnya adalah sebagai berikut :

SSintaks diatas digunakan apabila urutan atribut berbeda atau atribut yang ingin kita isi nilai-nilainya tidak terjadi pada semua atribut yang ada di tabel sehingga nama-nama atribut harus dituliskan.

Sintaks diatas digunakan apabila kita ingin mengisikan nilai kesemua atribut dengan urutan atribut sesuai dengan pendefinisian struktur yang telah dilakukan pada saat pembuatan tabel.

Menambahkan lebih dari satu record ke dalam tabel Untuk menambahkan beberapa record ke dalam tabel barang yang terdapat pada database modul_2 dapat dilakukan dengan sintaks sebagai berikut :

Mengubah isi dari suatu tabel Isi tabel sebelum dirubah adalah sebagai berikut :

Sintaks dibawah ini adalah sintaks untuk mengubah harga dari tabel barang yang dimana harga kode barang 2 akan dirubah dari 2000 menjadi 3000.

Isi tabel setelah dirubah adalah sebagai berikut :

Mengahapus isi dari tabelSintaks dibawah ini adalah sintaks untuk menghapus isi dari tabel barang yang dimana data yang akan dihapus adalah data yang memiliki harga yang lebih kecil dari 3000.

Isi tabel setelah data harga yang lebih kecil dari 3000 dihapus adalah sebagai berikut :

3.2 Analisis Hasil PraktikumQ1.Apakah perbedaan perintah 1 dan perintah kedua pada penambahan data diatas ?Pembahasan :Perbedaan anatara perintah 1 dan perintah 2 adalah sebagai berikut : Perintah 1 digunakan apabila urutan atribut berbeda atau atribut yang ingin kita isi nilai-nilainya tidak terjadi pada semua atribut yang ada di tabel tersebut. Perintah 2 digunakan apabila kita ingin mengisikan nilai ke semua atribut dengan urutan atribut sesuai dengan pendefinisian struktur yang telah dilakukan pada saat pembuatan tabel .

Q2.Apakah jadinya jika clausa WHERE dihilangkan pada perintah di atas?Pembahasan :Klausa WHERE berfungsi untuk memilih record yang akan dikenai perubahan dan apabila klausa WHERE ini dihilangkan maka perubahan akan dilakukan pada semua record di dalam tabel barang.Tabel awal barang :Sintaks apabila klausa WHERE tidak dihilangkan :

Jika klausa WHERE tidak dihilangkan :

Terlihat pada tabel diatas yang mengalami perubahan harga hanya yang memiliki kode barang sama dengan 2 saja yang mengalami perubahan.Jika klusa WHERE dihilangkan :

Terlihat pada tabel diatas yang mengalami perubahan adalah semua record yang terdapat didalam tabel barang apabila klausa WHERE ini dihilangkan pada sintaks tersebut. Q3.Cobalah untuk menaikkan semua kode barang sebesar 1.Pembahasan :

Sinaks diatas adalah sintaks untuk menaikkan semua kode barang sebesar 1. Untuk menaikkan 1 pada kode barang,nilai dari kode barang perlu diurutkan dari nilai terbesar. Pengurutan nilai ini diperlukan karena kode barang merupakan suatu PRIMARY KEY yang artinya kode barang ini besifat unik (tidak boleh ada nilai yang sama). Untuk menghindari adanya nilai yang terduplikasi maka data harus diurutkan. Sintaks ORDER B kode_barangDESC memiliki arti mengurutkan bilangan dari terbesar ke nilai terkecil. Tabel dibawah ni adalah tabel setelah kode barang dinaikkan 1.

Q4.Cobalah untuk menghapus 5 barang dengan harga tertinggi.Pembahasan:Tabel dibawah ini adalah tabel awal data yang terdapat pada database.

Sintaks dibawah ini adalah sintaks untuk menghapus barang dengan 5 harga tertinggi.

ORDER BY harga DESC memiliki arti untuk mengurutkan harga dari harga yamg terbesar ke harga yang terkecil dan LIMIT 5 berfungsi untuk mengambil 5 harga termahal dari data harga yang terdapat pada tabel barang1. Barang yang tersisa dalam tabel adalah sebagai berikut.

BAB IVKESIMPULAN

4.1. KesimpulanAdapun kesimpulan yang diperoleh berdasarkan pemahaman teori dan praktikum Basis Data modul 2 ini yaitu tentang Structured Query Language (SQL) Insert , Update , dan Delete adalah sebagai beikut :1.SQL sangat diperlukan agar user dapat berinteraksi dengan DBMS (DataBase Management System) dalam hal memanipulasi record dalam suatu database.2.Penambahan record dalam tabel pada suatu database berantung pada field field yang akan disisipkan serta harus diperhatikan pula tipe datanya.3.Constraint perlu diperhatikan dalam hal memanipulasi sebuah record guna menghindari adanya duplikasi atau kegagalan eksekusi.4.Dalam penulisan sintaks baik INSERT, UPDATE, maupun DELETE diperlukan suatu ketelitian dan ketepatan dalam penulisannya guna menanggulangi terjadinya gagal dalam hal pengeksekusian.

LAMPIRAN

1.Buatlah database dengan nama prak2.Pembahasan :

Sintak diatas adalah sintak untuk membuat suatu database baru yang kita beri nama prak2.2.Buatlah tabel buku dengan struktur sebagai berikut :FieldTipe DataKeterangan

ISBNVACHAR(12)PRIMARY KEY

JudulVACHAR(50)

jumlah_halamanTINYINT

HargaINT

PenerbitVACHAR(20)

Pembahasan :

Sintaks diatas merupakan sintak untuk membuat suatu tabel pada database prak2, table ini memiliki 5 atribut yaitu ISBN dengan tipe datanya VARCHAR dengan panjang string maksimal yang dapat diinputkan adalah 12, judul dengan tipe datanya VARCHAR dengan panjang string maksimal yang dapat diinputkan adalah 50, jumlah halaman dengan tipe datanya adalah TINYINT, harga dengan tipe datanya adalah INT, dan penerbit dengan tipe datanya adalah VARCHAR dengan panjang string maksimal yang dapat diinputkan adalah 20. Sedangkan primary keynya adalah ISBN karena ISBN ini bersifat unik nilainya antara satu nilai ISBN dengan nilai ISBN lainnya tentu berbeda.

3.Coba untuk menambahkan data berikut ke dalam tabel tersebut ISBNJuduljumlah_halamanhargapenerbit

1111Dunia Sophie76580000Mizan

2222The Lost Symbol86790000Gramedia

3333To Kill a Morcking Bird68578000Gramedia

4444The Secret68760000Gramedia

5555Piano di Tepi Pantai85945000Andi

Pembahasan :

Sintaks diatas berfungsi untuk mengubah tipe data jumlah halaman menjadi integer, hal ini bertujuan agar record jumlah halaman buku dapat diinputkan karena apabila tipe data yang digunakan tinyint, nilai maksimal dari tipe data tinyint adalah 255. Sehingga hal inilah yang menjadi penyebab tipe data harus dirubah terlebih dahulu.

Sintaks diatas merupakan sintaks untuk menginputkan record pada tabel buku sesuai dengan inputan yang disajikan pada soal diatas. Pada sintaks diatas nama atributnya tidak dituliskan karena kita akan mengisikan nilai ke semua atribut dengan pendefinisian struktur yang telah dilakukan pada saat pembuatan tabel. Adapun hasil tabel setelah data tersebut diinputkan adalah sebagai berikut.

4.Ubahlah data penerbit menjadi Gramedia Pustaka dari semua buku yang penerbitnya Gramedia.Pembahasan :

Sintak diatas adalah sintak untuk mengubah nama penerbit dari Gramedia menjadi Gramedia Pustaka. Sintak UPDATE buku memiliki arti untuk mengubah nilai atribut pada suatu record dari tabel buku. Sintaks SET penerbit = Gramedia Pustaka berfungsi untuk memberikan nilai baru untuk atribut penerbit, sedangkan sintak WHERE penerbit = Gramedia berfungsi untuk memilih record yang penerbitnya adalah Gramedia. Hasil dari tabel yang telah mengalami perubahan adalah sebagai berikut.

5.Turunkan harga 3 buku termahal sebanyak 10%.Pembahasan :Sintaks diatas adalah sintaks untuk menurunkan 3 buku termahal sebanyak 10%. Sintak UPDATE buku memiliki arti untuk mengubah nilai atribut pada suatu record dari tabel buku. Sintaks SET harga = harga (harga * 10/100) berfungsi untuk menurunkan harga sebanyak 10%, ORDER BY harga DESC berfungsi untuk mengurutkan harga dari yang termahal ke yang termurah sedangkan sintak LIMIT 3 berfungsi untuk memilih record dengan 3 harga termahal. Hasil dari tabel yang telah mengalami penurunan harga sebanyak 10% adalah sebagai berikut.

Pada tabel diatas yang mengalami perubahan harga adalah buku yang memiliki kode ISBN 1111 dari harga 80000 menjadi 72000, buku dengan kode ISBN 2222 dari harga 90000 menjadi 81000 dan buku dengan kode ISBN 3333 dari harga 78000 menjadi 70200. 6.Ubahlah judul, jumlah halaman dan harga dari buku dengan ISBN 2222 menjadi The Davinci Code,643, dan 75000.Pembahasan :Sintaks diatas adalah sintaks untuk mengubah record ISBN dengan kode 2222. Sintak UPDATE buku memiliki arti untuk mengubah nilai atribut pada suatu record dari tabel buku. Sintaks SET judul = The Da Vinci Code, jumlah_halaman = 643, harga = 75000 berfungsi untuk mengubah judul menjadi The Da Vinci Code, jumalah halaman menjadi 643 dan harga menjadi 75000. Sintak WHERE ISBN =2222 berfungsi untuk melakukan perubahan pada sumua record yang memiliki ISBN 2222 di dalam tabel buku.Tabel dibawah ini menunjukkan tabel yang telah mengalami perubahan pada ISBN 2222.

Terlihat pada tabel diatas ISBN 2222, judul mengalami perubahan dari The Lost Symbol menjadi The Da Vinci Code, jumlah halaman juga mengalami perubahan dari 867 menjadi 643 dan harga juga mengalami perubahan dari 81000 menjadi 75000.

7.Hapuslah semua buku yang diterbitkan oleh Andi dengan jumlah halaman kurang dari 300.Pembahasan :

Sintaks diatas berfungsi untuk menghapus buku yang diterbitkan oleh Andi dengan jumlah halaman kurang dari 300. Sintak DELETE FROM buku berfungsi untuk menghapus record dari tabel buku dan WHERE penerbit = Andi AND jumlah_halaman < 300 berfungsi untuk memilih record yang penerbitnya adalah Andi dan jumlah halaman kurang dari 300 namun karena dihubungkan oleh AND maka kedua kondisi harus terpenuhi baik penerbit adalah Andi dan jumlah halaman kurang dari 300. Adapun hasil dari sintak diatas adalah sebagai berikut.

Pada tabel diatas terlihat tidak ada yang mengalami perubahan karena salah satu dari kondisi tersebut tidak terpenuhi. Pada tabel tidak ada yang penerbitnya Andi memiliki jumlah halaman kurang dari 300.

8.Hapuslah 2 buku paling murah yang diterbitkan oleh Gramedia Pustaka.Pembahasan :

Sintak diatas berfungsi menghapus 2 buku paling murah yang diterbitkan oleh Gramedia pustaka dari tabel buku. Sintak DELETE FROM buku berfungsi untuk menghapus record dari tabel buku. Sintaks ORDER BY harga ASC berfungsi untuk mengurutkan harga dari yang paling murah ke harga yang paling mahal. Sintak LIMIT 2 berfungsi untuk mengmbil 2 harga yang paling murah dari tabel buku tersebut. Output dari sintak diatas adalah sebagai berikut.

Pada tabel diatas, record yang dihapus adalah record dengan ISBN 4444 dan 5555 karena memiliki harga paling murah pada tabel tersebut yaitu 60000 dan 45000.13