Tabel Gaji
Tabel Karyawan
SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya. Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama Jhonny Oracle yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language). Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R. Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing. 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)[1], 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. 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
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
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.
Sebuah SQL klausa bergabung menggabungkan record dari dua atau lebih tabel dalam database. Ini menciptakan satu set yang dapat disimpan sebagai tabel atau digunakan seperti. Sebuah JOIN adalah sarana untuk menggabungkan bidang dari dua tabel dengan menggunakan nilai-nilai umum untuk masing-masing. SQL standar ANSI menetapkan empat jenis JOIN s:
INNER
, OUTER , LEFT , dan RIGHT . Sebagai kasus khusus, sebuah tabel (tabel basis, melihat,
atau meja bergabung) dapat JOIN pada dirinya sendiri dalam diri bergabung. Seorang pemrogram menulis JOIN predikat untuk mengidentifikasi catatan untuk bergabung. Jika predikat dievaluasi benar, catatan gabungan ini kemudian diproduksi dalam format yang diharapkan, rekor atau tabel sementara. Sebuah inner join adalah operasi join yang paling umum digunakan dalam aplikasi dan dapat dianggap sebagai default tipe bergabung. Inner join menciptakan tabel hasil baru dengan menggabungkan nilai kolom dari dua tabel (A dan B) berdasarkan predikat bergabung-. Query membandingkan setiap baris dari A dengan setiap baris dari B untuk menemukan semua pasangan baris yang memenuhi predikat bergabung-. Ketika bergabung dengan-predikat puas, kolom nilai untuk setiap pasangan yang cocok dari baris-baris A dan B digabungkan ke dalam hasil baris. Hasil bergabung dapat didefinisikan sebagai hasil pertama mengambil produk Cartesian (atau Salib bergabung ) dari semua catatan dalam tabel (menggabungkan setiap record dalam tabel A dengan setiap record dalam tabel B)-kemudian kembali semua catatan yang memenuhi bergabung predikat. Realisasi implementasi SQL biasanya menggunakan pendekatan lain seperti hash bergabung atau semacam-merge bergabung mana mungkin, karena komputasi produk Cartesian sangat tidak efisien. Belajar SQL - SQL inner join adalah salah satu syntaks SQL yang berfungsi untuk menghubungkan dua tabel / merelasikan beberapa tabel yang berbeda untuk mengambil beberapa fields yang dibutuhkan. Rumus SQL inner join adalah : Select field1.tabel1, field2.tabel1, field1.tabel2 from tabel1 inner join tabel2 on field1.tabel1 = field1.tabel2
Soal
1. tabel karyawan dg field(id_karyawan, nama_karyawan) 2. tabel gaji dengan field(id_karyawan, gol,gaji_pokok, tunjangan) 3. hitung pajak dan gaji bersih dari data gaji setiap karyawan ditampilkan dalam bentuk tabel.
MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread,multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.
Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain : 1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. 2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis. 3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain. 6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). 7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. 8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). 10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya. 11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. 13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
Kata Pengantar
Tiada Sepatah Katapun yang penulis ucapkan selain Puji dan Syukur atas kehadirat Allah SWT, karena berkat Rahmat, Karunia dan bimbingan-Nya, penulis dapat menyelesaikan Makalah ini.Penulisan makalah ini digunakan untuk memenuhi salah satu tugas mata kuliah Praktikum Basis Data. Oleh karena itu, penulis mengucapkan terima kasih kepada:
1. Bapak Asahar Johar selaku dosen mata kuliah Basis Data 2. Para Asisten Praktikum Basis Data yang telah memberikan tugas ini 3. Teman-teman yang telah mendukung dan memberi semangat kepada penulis
Semoga bantuan dan dukugan yang telah diberikan kepada penulis mendapat balasan dari Allah SWT. Penulis menyadari dalam penulisan makalah ini sangat jauh dari kata SEMPURNA, oleh karena itu penulis berharap saran dan kritik membangun untuk kesempurnaan makalah ini. Penulis berharap semoga makalah ini bermanfaat bagi penulis sendiri dan pihak yang memerlukan.
Penulis
Dosen : Asahar Johar T., Drs. M.si Asisten Dosen : Amwaluddin Lubis (G1A008002) Widhia Oktoeberza Kz (G1A008023)
FAKULTAS TEKNIK
UNIVERSITAS BENGKULU
2012