Selasa, 30 September 2014

LAPORAN III

LAPORAN  III
DESAIN BASIS DATA
'DATA MANIPULATION LANGUAGE'


NAMA     = ARIS DIANTORO
NIM         = 13650105

                                                                        BAB I
DASAR TEORI

I.1 Pemakaian dasar

Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.

I.2 Data Definition Language

DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.

CREATE

CREATE 
digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:
CREATE DATABASE nama_basis_data
CREATE DATABASE membuat sebuah basis data baru.
CREATE TABLE nama_tabel
CREATE TABLE membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk:

 CREATE TABLE [''nama_tabel'']
 (
 nama_field1 tipe_data [constraints][,
 nama_field2 tipe_data,
 ...]
 )
atau

 CREATE TABLE [''nama_tabel'']
 (
 nama_field1 tipe_data [,
 nama_field2 tipe_data,
 ...]
 [CONSTRAINT nama_field constraints]
 )
 
dengan:
  • nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom.
  • tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.
  • constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key).
Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer.
Contoh:

 CREATE TABLE user
 (
 username VARCHAR(30) CONSTRAINT PRIMARY KEY,
 passwd VARCHAR(20) NOT NULL,
 tanggal_lahir DATETIME
 );
 
 
akan membuat tabel user seperti berikut:
username passwd tanggal_lahir

I.3 Data Manipulation Language

DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
  • SELECT untuk menampilkan data
  • INSERT untuk menambahkan data baru
  • UPDATE untuk mengubah data yang sudah ada
  • DELETE untuk menghapus data

SELECT

SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga kadang-kadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:

( QUERY BUDIN ) Cilegon.
 SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
 FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON ''kondisi_penghubung'']
 [, nama_tabel3 [AS alias3], ...]
 [WHERE ''kondisi'']
 [ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
 [GROUP BY nama_field1[, nama_field2, ...]]
 [HAVING ''kondisi_aggregat'']
 
dengan:
  • kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
  • kondisi_aggregat adalah syarat khusus untuk fungsi aggregat.
Kondisi dapat dihubungkan dengan operator logika, misalnya AND, OR, dan sebagainya.
Contoh:
Diasumsikan terdapat tabel user yang berisi data sebagai berikut:

username passwd tanggal_lahir jml_transaksi  total_transaksi
Aris 6487AD5EF     09-09-1987        6       10.000
Budi 97AD4erD     01-01-1994        0         0
Charlie 548794654     06-12-1965       24     312.150
Daniel FLKH947HF     24-04-1980        3         0
Erik 94RER54     17-08-1945       34       50.000

Contoh 1: Tampilkan seluruh data.
 SELECT *
 FROM user
 
Contoh 2: Tampilkan pengguna yang tidak pernah bertransaksi.
 SELECT *
 FROM user
 WHERE total_transaksi = 0
 
Contoh 3: Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih dari 1.000.
 SELECT username
 FROM user
 WHERE jml_transakai < 10 AND total_transaksi > 1000
 
Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.
 SELECT SUM(total_transaksi) AS total_nominal_transaksi
 FROM user
 
Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.
 SELECT *
 FROM user
 ORDER BY jml_transaksi DESC
 
I.4 SUB-QUERY
Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery. Contoh:
Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.
  
SELECT username
 FROM user
 WHERE jml_transaksi =
 (
 SELECT MAX(jml_transaksi)
 FROM user
 )

INSERT

Untuk menyimpan data dalam tabel digunakan sintaks:
 INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
 INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');

UPDATE

Untuk mengubah data menggunakan sintax:
 UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI]
Contoh:
 UPDATE Msuser set password="123456" where username="abc"

DELETE

Untuk menghapus data dipergunakan sintaks:
 DELETE FROM [nama_table] Where [KONDISI]
Contoh:
 DELETE FROM TEST WHERE NAMA='test';
 
 
I.5 Hubungan Antar Tabel (Reference)
Dalam hal hubungan antar tabel, ada beberapa syarat yang harus terpenuhi seperti, 
antara tabel yang ingin dihubungkan harus memiliki sebuah field atau kolom dengan tipe data
yang sama. Dengan kata lain ada tabel yang memiliki primary key sebagai kunci untuk
menghubungkanke tabel yang lain dimana terdapat field yang mempunyai tipe data yang sama
dengan kata lain yang disebut foreign key. Misalnya, terdapat tabel barang dan macam_barang. 
Berikut query kedua tabel tersebut :
create table macam_barang (id_mac integer not null, 
nama_mac varchar(15), guna_mac varchar(40), primary key (id_mac));
 
create table barang (id_bar integer not null, nama_bar varchar(15),
id_mac integer not null references macam_barang, primary key (id_bar, id_mac)); 
 





BAB II
LAPORAN HASIL PERCOBAAN MySql

Buatlah 2 Table yang saling berelasi!

Teble Mahasiswa
Nim_mah       Primary Key
Nama_mah
alamat_mah
id_fak             Foreign Key

Table Fakultas
id_fak             Primary Key
Nama_fak

 




1. Gunakan tabel mahasiswa, tambahkan kolom yang diperlukan kemudian masukkan 3 data mahasiswa sebagai berikut :
Nim : 12
Nama : edi
Alamat : malang
No.telp : 0856453428
Fakultas : SAINTEK

Nim : 13
Nama : sinta
Alamat : jogja
No.telp : 0813347565675
Fakultas : SAINTEK

Nim : 14
Nama : luki
Alamat : ponorogo
No.telp : 082576568798
Fakultas : PSIKOLOGI


 
 




2. Tampilkan data mahasiswa berupa nim dan nama.


3. Tampilkan data mahasiswa berdasarkan nim salah satu mahasiswa. Sehingga yang muncul hanya salah satu data mahasiswa.


4. Tampilkan data mahasiswa dan fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.

 

5. Hapus data mahasiswa yang memiliki nim : 13


6. Ubah data berupa alamat : solo dan no.telp : 0857688788 yang memiliki nim 12


7. Tampilkan data mahasiswa dan urutkan dari besar ke kecil berdasarkan nim mahasiswa. Kemudian tampilkan data fakultas urutkan secara ascending berdasarkan kolom ke-2.




8. Tampilkan seluruh data mahasiswa beserta seluruh data fakultasnya.

 SELECT *FROM mahasiswa, fakultas WHERE mahasiswa.id_fak = fakultas.id_fak;


9. Tampilkan seluruh mahasiswa yang berada di fakultas “SAINTEK”.

 SELECT *FROM mahasiswa, fakultas WHERE mahasiswa.id_fak = fakultas.id_fak AND nama_fak = 'SAINTEK';


10. Tampilkan seluruh mahasiswa yang tidak berada di fakultas “SAINTEK”.


11. Hapus data fakultas “SAINTEK”. 

 
 


BAB III
PERBANDINGANdan PERSAMAAN MySql dan POstgreSql





No.
PostgreSql
MySql
1.
Dalam mengkompile pseucode tidak bisa Copy dan Paste
1. Bisa Copy Paste
2.
GUI kurang menarik
2. GUI menarik
3
Sistem Enter langsung eksekusi
3. Harus Memilih Botton “Go”

4
Lebih lengkap dan canggih
4. Eksekusi sangat cepat
5.
Ada kemampuan menangani transaksi
5. MySql terbaru baru bisa menangani transaksi
6.
Syntax(Query) Rename pada merubah kolom, table, database
6. Syntax(Query) Change pada merubah kolom, table, database
7.
harus ada syntax(Query) (;) di akhir perintah
7. Tanpa syntax(Query) (;) di akhir perintah bisa jalan
 8.
 Hampir semua query pada laporan 3 ini sama
 8. Hampir semua query pada laporan 3 ini sama
9.
JIka ingin Copy dan Paste, harus Klik kanan->Select All->Enter->NotePat dan Paste
9. Langsung Copy Paste tanpa harus ada bantuan NotPat
10.
Ketika Drop, Delete tanpa ada Question Confirmate
10. Ada Question Confirmate ketika Drop, Delete
11.
Pada Temporary table, table bisa di check list dengan \d nama temporary table
11.Temporary table di struktur tidak terdeteksi
12.
Pada merubah nama ada query “to”
12. Tanpa Query to
13.
Ada tanda petik(“) ketika merubah kolom
13. Tanpa tanda petik(“) ketika merubah kolom































BAB IV


Kesimpulan
1. Data Definition Language (DDL) yang mendefinisikan struktur suatu data. 
2. Data Manipulation Language (DML) yang dapat mencari (query) dan mengubah (modify) suatu table
3. Foreign Key adalah Primary Key Suatu Table ke Suatu Table yang lain
Dalam praktikum kali ini, MySql lebih unggul karena DML tertransaksi dengan baik.


Kritik
1. Penyampaian materi dalam teori dan praktikum kadang tidak sinkron(sambung),
2. Soal yang diberikan terasa ambigu, sehingga semua mahasiswa memiliki jawaban yang berbeda dari yang diharapkan
3. Kurang Kreatif

Saran
1. Perlu banyak koordinasi yang cukup dalam hal ini agar tidak menimbulkan ambigu,
2. Memperjelas soal tanpa mengurangi rasa kreatif Mahasiswa, agar tidak ambigu serta menghasilkan jawaban yang diharapkan
3. Menumbuh kembangkan rasa kreatif dengan menggali banyak inovasi-inovasi nyata.

Manfaat Pembaca
1. Dalam Laporan ini diharapkan pembaca paham betul tentang DML(Data Manipulation Language). Lebih Paham lagi mengenai Foreign Key, Pengurutan Data, Menampilkan Data, Mengedit Data, serta Menghapus Data.
2. Lebih memahami alur-alur belajar Sql (Mysql maupun PostgreSql) dengan baik dalam membuat project kedepannya.
3. Dengan banyak membaca, analisa, praktik dan penerapan menjadikan hasil berguna dan bermanfaat
4. Lebih dewasa dalam membandingkan laaporan ini dengan laporannya sendiri(hasil query)
5. Lebih cepat memahami langsung tanpa mencari banyak refferensi lagi.

Sumber-Sumber

http://irpantips4u.blogspot.com/2012/10/pengertian-dml-data-manipulation.html

Yakub, 2008, “ Sistem Basis Data : Tutorial Konsep “; Graha Ilmu: Yogyakarta.\

www.nusphere.com

http://www.databasejournal.com/features/mysql/article.php/3288951

http://www.webtechniques.com/archives/2001/09/jepson/

http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=postgresql+vs+mysql

http://id.wikipedia.org/wiki/SQL


















0 komentar:

Posting Komentar