DDL dan DML


 








Semua perintah SQL dibagi dalam 2 kategori besar sesuai fungsinya, yaitu :
  • DDL - Data Definition Language
    merupakan kumpulan perintah SQL yang digunakan untuk membuat, mengubah dan menghapus struktur dan definisi metadata dari objek-objek database.

  • DML - Data Manipulation Language
    merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.

Mari kita lihat dari definisi dan contoh lebih lanjut pada bagian berikut di bawah ini.

DDL - Data Definition Language

Seperti definisi yang telah dijelaskan di atas, DDL adalah kumpulan perintah SQL yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) struktur dan definisi tipe data dari objek-objek database.

Objek-objek database pada yang dimaksud - pada MySQL - adalah sebagai berikut :
  • Database
  • Table
  • View
  • Index
  • Procedure (Stored Procedure)
  • Function
  • Trigger
Contoh :

-- Perintah berikut akan membuat table pada database kita dengan nama "ms_karyawan"
CREATE
 TABLE ms_karyawan (
  kode_cabang varchar(10) default NULL,
  kode_karyawan varchar(10) NOT NULL,
  nama_depan varchar(8) default NULL,
  nama_belakang varchar(9) default NULL,
  jenis_kelamin varchar(1) default NULL,
  PRIMARY KEY  (kode_karyawan)
)

Daftar Perintah DDL pada MySQL 5.0 

Berikut adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut.
  • Pembuatan (CREATE)
    • CREATE DATABASE
    • CREATE FUNCTION
    • CREATE INDEX
    • CREATE PROCEDURE
    • CREATE TABLE
    • CREATE TRIGGER
    • CREATE VIEW
  • Perubahan (ALTER & RENAME)
    • ALTER DATABASE
    • ALTER FUNCTION
    • ALTER PROCEDURE
    • ALTER TABLE
    • ALTER VIEW
    • RENAME TABLE
  • Penghapusan (DROP)
    • DROP DATABASE
    • DROP FUNCTION
    • DROP INDEX
    • DROP PROCEDURE
    • DROP TABLE
    • DROP TRIGGER
    • DROP VIEW


Tabel Matrix Perintah DDL MySQL 5.0

 OBJECT CREATE  ALTER  DROP RENAME 
 DATABASE  Yes Yes  Yes
 FUNCTION  Yes Yes  Yes
 INDEX  Yes  Yes
 PROCEDURE  Yes Yes  Yes
 TABLE  Yes Yes  Yes  Yes
 TRIGGER  Yes  Yes
 VIEW  Yes Yes  Yes


 

 

DML - Data Manipulation Language

DML sendiri adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database seperti table, column, dan sebagainya.

Contoh DML : Mengambil Seluruh Row Data dari table MS_KARYAWAN

SELECT 
FROM ms_karyawan



Contoh DML : Memasukkan data ke dalam tabel ms_karyawan

INSERT INTO ms_karyawan(
                kode_cabang,
                kode_karyawan,
                nama_depan,
                nama_belakang,
                jenis_kelamin)
VALUES ('cab-001','kar-001','Feris','Thia','Laki-laki');

Beberapa daftar Perintah DML MySQL 5.0

  • CALL
  • DELETE
  • DO
  • HANDLER
  • INSERT
  • LOAD DATA INFILE
  • REPLACE
  • SELECT
  • TRUNCATE
  • UPDATE


SQL Joins

SQL JOIN sintaks

View & Join

VIEW

VIEW adalah query yang disimpan, bentuknya menyerupai table. View bersifat logic, artinya tidak memiliki data fisik karena data fisiknya ada di table. View adalah cara menampilkan/menyajikan data yang ada di table.
Ada beberapa bentuk view :
1. Diambil dari 1 tabel (seluruh kolom, sebagian kolom, calculated colomn, seluruh record, sebagian record)
2. Diambil dari beberapa table (syaratnya harus ada relasi antar table)
a. INNER JOIN
b. LEFT OUTER JOIN
c. RIGHT OUTER JOIN
d. FULL OUTER JOIN
e. UNION (syaratnya field yang di-UNION harus sejenis)
3. Hasil dari Pengelompokkan Data (Group By)
4. Hasil dari Pivot Table (Cross Table)

-------------------------------------------------------------------------------------

Definisi Join
Join adalah operasi untuk mengambil informasi dari 2 tabel atau lebih dalam 1 waktu. Dengan join baris data dari satu tabel dihubungkan dengan baris data pada tabel lain berdasarkan kolom tertentu.

Klasifikasi Join
• inner join
• outer join
• cross join
• equi join
• natural join
• self join

Dari beberapa macam join tersebut yang banyak digunakan adalah inner join dan outer join


Inner Join

Inner join adalah default dari join, digunakan mendapatkan data dari tabel lain berdasarkan kolom yang dihubungkan. Bila tidak ditemukan maka baris data tersebut dibatalkan.

Syntax :
Select … from tabelA [inner] join tabelB
on tabelA.namakolom operator tabelB.namakolom

Keterangan :
• Kata inner adalah opsional (boleh ditulis ataupun tidak)
• Klausa where, order by dll dapat disertakan

Contoh :
Menampilkan ID buku, Judul buku dan nama penerbitnya dari tabel Title & Publishers
Pada tabel Title tidak ada nama penerbit, tetapi ada kode penerbit/Pub_Id yang namanya dapat diperoleh dari tabel Publishers berdasarkan Pub_Id

Select t.Title_Id, t.Title, p.Pub_name from Titles t join Publishers p
on t.Pub_Id = p.Pub_Id


Outer Join

Outer join adalah join yang digunakan memasangkan data dari satu tabel dengan tabel lain berdasarkan kolom yang dihubungkan walaupun salah satu kolom penghubungnya tidak berpasangan.

Syntax :
Select … from tabelA [left|right] outer join tabelB
on tabelA.namakolom operator tabelB.namakolom

Keterangan :
• Kata outer harus ditulis dan didahului kata left atau right
• Kata left dipilih bila nama tabel disebelah kiri kata join yang menjadi acuan
• Kata right dipilih bila nama tabel disebelah kanan kata join yang menjadi acuan
• Klausa where, order by dll dapat disertakan

Contoh :
Menampilkan daftar penerbit & nama-nama pengarang yang berada di kota yang sama (semua penerbit ditampilkan walaupun tidak ada nama pengarang yang satu kota)

Select p.Pub_name, a.Au_Lname, a.Au_Fname from Publishers p
left outer join Authors a on p.City = a.City

dalam syntax lain :

Select p.Pub_name, a.Au_Lname, a.Au_Fname from Publishers p, Authors a
where p.City *= a.City

Queue

Queue pada Struktur Data atau antrian adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisibelakang(rear), dan penghapusan(pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front). 
Pada Stack atau tumpukan menggunakan prinsip“Masuk terakhir keluar pertama”atau LIFO (Last In First Out), Maka pada Queue atau antrian prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO (First In First Out).
Queue atau antrian banyak kita jumpai dalam kehidupan sehari-hari, ex: antrian Mobil diloket Tol, Antrian mahasiswa Mendaftar, dll.
Contoh lain dalam bidang komputer adalah pemakaian sistem komputer berbagi waktu(time-sharing computer system) dimana ada sejumlah pemakai yang akan menggunakan sistem tersebut secara serempak.
Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya dimana membutuhkan variabel Head dan Tail ( depan/front, belakang/rear).
Karakteristik Queue atau antrian :
1. elemen antrian
2. front (elemen terdepan antrian)
3. tail (elemen terakhir)
4. jumlah elemen pada antrian
5. status antrian
Operasi pada Queue atau antrian
1. tambah(menambah item pada belakang antrian)
2. hapus (menghapus elemen depan dari antrian)
3. kosong( mendeteksi apakah pada antrian mengandung elemen atau tidak)
Operasi-operasi Queue :
1. Create()
Untuk menciptakan dan menginisialisasi Queue
Dengan cara membuat Head dan Tail  = -1
Queue pada Struktur Data
Queue pada Struktur Data
 
 
2. IsEmpty()
Untuk memeriksa apakah Antrian sudah penuh atau belum
Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah
Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail.
Queue pada Struktur Data
 
3. IsFull
Untuk mengecek apakah Antrian sudah penuh atau belum
Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh
Queue pada Struktur Data
 
 
4. Enqueue
Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang
Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu
Queue pada Struktur Data
 
5. Dequeue()
Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian
Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1
Penggeseran dilakukan dengan menggunakan looping.
Queue pada Struktur Data
 
6. Clear()
Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1
Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca
Queue pada Struktur Data
 
7. Tampil()
Untuk menampilkan nilai-nilai elemen Antrian
Menggunakan looping dari head s/d tail
Queue pada Struktur Data

Perintah pada SQL

  1. Create Database
Digunakan untuk membuat database baru.
Syntax dasar:
CREATE DATABASE database_nama
Contoh:
CREATE DATABASE databaseku
  1. Create Table
Digunakan untuk membuat tabel data baru dalam sebuah database.
Syntax dasar:
CREATE TABLE
(
Column_name1 table_nama data_type
Column_name2 table_nama data_type
Column_name3 table_nama data_type
)
Contoh:
CREATE TABLE bukutamu
(
Id int,
Nama varchar (255),
Email varchar(50),
Kota varchar(255)
)
  1. Select
Digunakan untuk memilih data dari table database.
Syntax dasar:
SELECT column_name(s)
FROM table_name
Atau
SELECT * FROM table_name
Contoh 1:
SELECT nama,email FROM bukutamu
Contoh 2:
SELECT * FROM bukutamu
  1. Select Distinct
Digunakan untuk memilih data-data yang berbeda (menghilangkan duplikasi) dari sebuah table database.
Syntax dasar:
SELECT DISTINCT column_name(s)
FROM table_name
Contoh:
SELECT DISTINCT kota FROM bukutamu
  1. Where
Digunakan untuk memfilter data pada perintah Select
Syntax dasar:
SELECT column name(s)
FROM table_name
WHERE column_name operator value
Contoh:
SELECT * FROM bukutamu
WHERE kota=’YOGYAKARTA’
  1. Order By
Digunakan untuk mengurutkan data berdasarkan kolom (field) tertentu. Secara default, urutan tersusun secara ascending (urut kecil ke besar). Anda dapat mengubahnya menjadi descending (urut besar ke kecil) dengan menambahkan perintah DESC.
Syntax dasar:
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC
Contoh 1:
SELECT * FROM bukutamu
ORDER BY nama

Contoh 2:
SELECT * FROM bukutamu
ORDER BY id DESC

  1. Like
Digunakan bersama dengan perintah Where, untuk proses pencarian data dengan spesifikasi tertentu.
Syntax dasar:
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
Contoh 1:
SELECT * FROM bukutamu
WHERE nama LIKE ‘a%’
Keterangan :
Contoh di atas digunakan untuk pencarian berdasarkan kolom nama yang berhuruf depan “a.

Contoh 2:
SELECT * FROM bukutamu
WHERE nama LIKE ‘a%’
Keterangan :
Contoh di atas digunakan untuk pencarian berdasarkan kolom nama yang berhuruf belakang “a”.
  1. In
Digunakan untuk pencarian data menggunakan lebih dari satu filter pada perintah Where.
Syntax dasar :
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2, . . .)
Contoh:
SELECT * FROM bukutamu
WHERE kota IN (‘Yogyakarta’,’Jakarta’)
  1. Between
Digunakan untuk menentukan jangkauan pencarian.
Syntax dasar:
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
Contoh :
SELECT * FROM bukutamu
WHERE id
BETWEEN 5 and 15

Keterangan :
Contoh di atas digunakan untuk mencari data yang memiliki nomor id antara 5 dan 15.
10.  Insert Into
Digunakan untuk menambahkan data baru di tabel database.
Syntax dasar :
INSERT INTO table_name
VALUES (value1,value2,value3, . . .)
Atau
INSERT INTO table_name (column1,column2,column3, . . .)
VALUES (value1,value2,value3, . . .)
Contoh 1:
INSERT INTO bukutamu
VALUES (1,’Arini’,’arini@mail.com’,’Yogyakarta’)
Contoh 2:
INSERT INTO bukutamu (id,nama,email,kota)
VALUES (1,’Arini’,’arini@mail.com’,’Yogyakarta’)
11.  Update
Digunakan untuk mengubah/memperbarui data di tabel database.
Syntax dasar:
UPDATE table_name
SET column1=value,column2=value, . . .
WHERE some_column=some_value
Contoh :
UPDATE bukutamu
SET email=’arini@yahoo.com’, kota=’Jakarta’
WHERE
12.  Delete
Digunakan untuk menghapus data di table database. Tambahkan perintah Where untuk memfilter data-data tertentu yang akan dihapus. Jika tanpa perintah Where, maka seluruh data dalam tabel akan terhapus.
Syntax dasar :
DELETE FROM table_name
WHERE some_column=some_value
Contoh:
DELETE FROM bukutamu
WHERE id=1
13.  Inner Join
Digunakan untuk menghasilkan baris data dengan cara menggabungkan 2 buah tabel atau lebih menggunakan pasangan data yang match pada masing-masing tabel. Perintah ini sama dengan perintah join yang sering digunakan.
Syntax dasar :
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2
column-name
contoh :
SELECT bukutamu.nama,bukutamu.email,order.no_order
FROM bukutamu
INNER JOIN order
ON bukutamu.id=order.id
ORDER BY bukutamu.nama
14.  Left Join
Digunakan untuk menghasilkan baris data dari tabel kiri (nama tabel pertama) yang tidak ada pasangan datanya pada tabel kanan (nama tabel kedua).
Syntax dasar :
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.
column_name
contoh :
SELECT bukutamu.nama,bukutamu.email,order.no_order
FROM bukutamu
LEFT JOIN order
ON bukutamu.id=order.id
ORDER BY bukutamu.nama
15.  Right Join
Digunakan untuk menghasilkan baris data dari tabel kanan (nama tabel kedua) yang tidak ada pasangan datanya pada tabel kiri (nama tabel pertama).
Syntax dasar :
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2
column_name
contoh :
SELECT bukutamu.nama,bukutamu.emailmorder.no_order
FROM bukutamu
RIGHT JOIN order
ON bukutamu.id=order.i
ORDER BY bukutamu.nama
16.  Full Join
Digunakan untuk menghasilkan baris data jika ada data yang sama pada salah satu tabel.
Syntax dasar :
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2
column_name
Contoh :
SELECT bukutamu.nama,bukutamu.email,order.no_order
FROM bukutamu
FULL JOIN order
ON bukutamu.id=order.id
ORDER BY bukutamu.nama
17.  Union
Digunakan untuk menggabungkan hasil dari 2 atau lebih perintah Select.
Syntax dasar :
SELECT column_name(s)FROM table_name1
UNION column_name(s) FROM table_name2
Atau
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
Contoh :
SELECT nama FROM mhs_kampus1
UNION
SELECT nama FROM mhs_kampus2
18.  Alter Table
Digunaka untuk menambah, menghapus, atau mengubah kolom (field) pada tabel yang sudah ada.
Syntax untuk menambah kolom :
ALTAR TABLE table_name
ADD column_name datatyoe
Contoh :
ALTER TABLE Persons
ADD DateOfBirth date
Syntax untuk menghapus kolom :
ALTER TABLE table_name
DROP COLUMN column_name
Contoh :
ALTER TABLE Persons
DROP COLUMN DateOfBirth
Syntax untuk mengubah kolom :
ALTER TABLE table_name
ALTER TABLE clumn_name datatype
Contoh :
ALTER TABLE Persons
ALTER COLUMN DateOfBirth year
19.  Now ()
Digunakan untuk mendapatkan informasi waktu (tanggal dan jam saat ini.)
Syntax dasar :
Now()
Contoh :
SELECT NOW()

20.  Curdate
Digunakan unutk mendapatkan informasi tanggal saat ini.
Syntax dasar :
Curdate()
Contoh :
SELECT CURDATE()

21.  Curtime()
Digunakan untuk mendapatkan informasi jam saat ini.
Syntax dasar :
Curtime()
Contoh :
SELECT CURTIME()

22.  Extract()
Digunakan untuk mendapatkan informasi bagian-bagian dari data waktu tertentu, seperti tahun, bulan, hari, jam, menit, dan detik tertentu.
Syntax dasar :
Extract(unit FROM date)
Keterangan :
Parameter unit dapat berupa :
  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
  • SECOND_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH
Contoh :
SELECT EXTRAXT (YEAR FROM tglorder( AS Th_Order, EXTRACT (MONTH FROM tglorder) AS Bulan_Order,EXTRACT (FAY FROM tglorder AS Hari_Order,
FROM order
WHERE
23.  Date_Add() dan Date_Sub()
Fungsi Date_Add() digunakan unutk menambahkan interval waktu tertentu pada sebuah tanggal, sedangkan fungsi Date_Sub() digunakan untuk pengurangan sebuah tanggal dengan interval tertentu.
Syntax dasar :
DATE_ADD (date,INTERVAL expr type)
DATE_SUB (date,INTERVAL expr type)
Keterangan :
Tipe data parameter INTERVAL dapat berupa :
  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSEDOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH
Contoh 1:
SELECT id,DATE_ADD (tglorder,INTERVAL 30 DAY)
AS Waktu_pembayaran
FROM order
Contoh 2:
SELECT id,DATE_SUB(tglorder,INTERVAL 5 DAY)
AS Pengurangan_Waktu
FROM order
24.  DateDiff()
Digunakan untuk mendapatkan informasi waktu di antara 2 buah tanggal.
Syntax dasar :
DATEIFF(date1,date2)
Contoh :
SELECT DATEIFF(‘2010-06-30’,’2010-06-29’)
AS Selisih_waktu
25.  Date_Format()
Digunakan untuk menampilkan informasi jam dan tanggal dengan format tertentu.
Syntax dasar :
DATE_FORMAT(date,format)
Keterangan :
Parameter format dapat berupa :
  • %a, nama hari yang disingkat
  • %b, nama bulan yang disingkat
  • %c, bulan (numerik)
  • %D hari dalam sebulan dengan format English
  • %d, hari dalam sebulan (numerik 00-31)
  • %e, hari dalam sebulan (numerik 0-31)
  • %f, micro detik
  • %H, jam (00-23)
  • %h, jam (01-12)
  • %I, jam (01-12)
  • %i, menit (00-59)
  • %j, hari dalam setahun (001-366)
  • %k, jam (0-23)
  • %l, jam (1-12)
  • %M, nama bulan
  • %m, bulan (numerik 00-12)
  • %p, AM atau PM
  • %r, waktu jam dalam format 12 jam (hh:mm:ss AM or PM)
  • %S, detik (00-59)
  • %s, detik (00-59)
  • %T, waktu jam dalam format 24 jam (hh:mm:ss)
  • %U, minggu (00-53) dimana Sunday sebagai hari pertama dalam seminggu
  • %u, minggu (00-53) dimana Monday sebagai hari pertama dalam seminggu
  • %W, nama hari kerja
  • %w, hari dalam seminggu (0=Sunday, 6=Saturday)
  • %X, tahun dalam seminggu dimana Sunday sebagai hari pertama dalam seminggu (4 digits) digunakan dengan %V
  • %x, tahun dalam seminggu di mana Monday sebagai hari pertama dalam seminggu (4 digits) digunakan dengan %v
  • %Y, tahun 4 digit
  • %y, tahun 2 digit
Contoh :
DATA_FORMAT (NOW(),’%b %d %Y %h : %i %p’)
DATE_FORMAT (NOW(),’%m-%d-%Y’)
DATE_FORMAT (NOW(),’%d %b %Y’)
DATE_FORMAT (NOW(),’%d %b %Y %T : %f’)

26.  Drop Table
Digunakan untuk menghapus tabel beserta seluruh datanya.
Syntax dasar :
DROP TABLE table_name
Contoh :
DROP TABLE mhs
27.  Drop Database()
Digunakan untuk menghapus database.
Syntax dasar :
DROP DATABASE database_name
28.  AVG()
Digunakan untuk menghitung nilai-rata-rata dari suatu data.
Syntax dasar :
SELECT  AVG (column_name) FROM table_name
Contoh :
SELECT AVG(harga) AS Harga_rata2FROM order
29.  Count()
Digunakan untuk menghitung jumlah (cacah) suatu data.
Syntax dasar :
SELECT COUNT (column_name) FROM table_name
Contoh :
SELECT COUNT(id) AS Jumlah_tamu FROM bukutamu
30.  Max()
Digunakan untuk mendapatkan nilai terbesar dari data-data yang ada.
Syntax dasar :
SELECT MAX (column_name) FROM table_name
Contoh :
SELECT MAX(harga) AS Harga_termahal FROM order
31.  Min()
Digunakan untuk mendapatkan nilai terkecil dari data-data yang ada.
Syntax dasar :
SELECT MIN (column_name) FROM table_name
Contoh:
SELECT MIN(harga) AS Harga_termurah FROM order
32.  Sum()
Digunakan untuk mendapatkan nilai total penjumlahan dari data-data yang ada.
Syntax dasar :
SELECT SUM (column_name) FROM table_name
Contoh :
SELECT SUM(harga) AS Harga_total FROM order
33.  Group By()
Digunakan untuk mengelompokkan data dengan kriteria tertentu.
Syntax dasar :
SELECT column_name,aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
Contoh :
SELECT nama_customer,SUM(harga) FROM order GROUP BY nama_customer
34.  Having()
Digunakan untuk memfilter data dengan fungsi tertentu.
Syntax dasar :
SELECT column_name,aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
Contoh :
SELECT nama_customer,SUM(harga) FROM order
WHERE nama_customer=’Arini’ OR nama_customer=’Maheswari’
GROUP BY nama_customer
HAVING SUM (harga)>25000
35.  Ucase()
Digunakan untuk mengubah huruf pada data tertentu menjadi huruf besar.
Syntax dasar :
SELECT UCASE (column_name) FROM table_name
Contoh :
SELECT UCASE(nama) as Nama FROM bukutamu
36.  Lcase()
Digunakan untuk mengubah huruf pada data tertentu menjadi huruf kecil.
Syntax dasar :
SELECT LCASE (column_name) FROM table_name
Contoh :
SELECT LCASE(nama) as Nama FROM bukutamu
37.  Mid()
Digunakan untuk mengambil beberapa karakter dari field teks.
Syntax dasar:
SELECT MID(column_name,start[,length]) FROM table_name
Contoh:
SELECT MID (kota,1,4) as singkatan_kota FROM
Buku tamu
38.  Len()
Digunakan unutk mendapatkan informasi jumlah karakter dari field teks.
Syntax dasar:
SELECT LEN (column_name) FROM table_name
Contoh:
SELECT LEN(nama) as panjang_nama
FROM bukutamu
39.  Round()
Digunakan untuk pembuatan bilangan pecahan.
Syntax dasar:
SELECT ROUND (column_name,decimals)
FROM table_name
Contoh:
SELECT no_mhs, ROUND (nilai,0) as nilai_bulat
FROM tnilai

Prefix, Infix dan Postfix

NOTASI POSTFIX
Dalam struktur data yang banyak dipelajari, kita ketahui adanya 3 notasi operasi yang dilakukan untuk suatu operasi aritmatika, yaitu prefix, infix, dan postfix.
Sebelum kita kupas mengenai notasi di atas, perlu dipahami terlebih dahulu indikator yang membentuk terjadinya notasi dalam struktur data. Notasi terbentuk dari operand dan operator. Operand adalah data atau nilai yang membantu dalam proses sedangkan operator adalah fungsi yang digunakan dalam proses.
Contoh :
A + B * C
2 + 3 * 5
Keterangan : A, B, C, 2, 3, 5 adalah operand
+, * adalah operator
Ok,sekarang kita akan mencoba mengetahui operasi yang digunakan dalam perhitungan:
1. ^ (pangkat)
2. * (kali) atau / (bagi)
3. + (jumlah) atau – (kurang)
Seperti yang telah dibahas di awal, diketahui notasi pada struktur data terdiri atas 3 macam, yaitu
1. Prefix
yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada didepan operand.
Contoh :
A + B * C (Infix)
maka notasi prefixnya adalah   +A*BC
Pemecahannya :
A  +  B  *  C
diketahaui ada 3 operand yaitu : A, B, C, dan 2 operator yaitu : +, *. Proses dimulai  dengan melihat dari hirarkhi operator. Contoh diatas operator yang tertinggi adalah * kemudian +.
Tanda * diapit oleh dua operand yaitu B dan C yaitu B * C , prefixnya dengan menggabungkan operand dan memindahkan operator kedepan dari operand, sehingga fungsi B * C, notasi prefixnya menjadi *BC. Sehingga hasil sementara dari notasi prefix adalah
A + *BC
selanjutnya mencari prefix untuk operator yang berikutnya, yaitu +, cara yang dilakukan sama seperti di atas, operator +, diapit oleh 2 operand, yaitu A dan *BC, gabungkan operand, sehingga menjadi A*BC, lalu pindahkan operator kedepan operand, sehingga hasil akhir menjadi
+ A * B C
2. Infix
yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada diantara operand. Notasi ini hanya dikenal oleh manusia dan selalu digunakan dalam perhitungan aritmatika.
Contoh :
A + B * C
( A + B ) * C
A – ( B + C ) * D ^ E
3. Postfix
yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada dibelakang operand. Notasi ini hanya dikenal oleh processor dan dipahami dalam ALU.
Contoh :
A + B * C (Infix)
maka notasi postfixnya adalah   ABC*+
Pemecahannya :
A  +  B  *  C
diketahaui ada 3 operand yaitu : A, B, C, dan 2 operator yaitu : +, *. Proses dimulai  dengan melihat dari hirarkhi operator. Contoh diatas operator yang tertinggi adalah * kemudian +.
Tanda * diapit oleh dua operand yaitu B dan C yaitu B * C , postfixnya dengan menggabungkan operand B dan C menjadi BC lalu memindahkan operator ke belakang operand C, sehingga fungsi B * C, notasi postfixnya menjadi BC*. Sehingga hasil sementara dari notasi postfix adalah
A + BC*
selanjutnya mencari postfix untuk operator yang berikutnya, yaitu +, cara yang dilakukan sama seperti di atas, operator +, diapit oleh 2 operand, yaitu A dan BC*, gabungkan operand tersebut, sehingga menjadi ABC*, lalu pindahkan operator + ke belakang operand ABC*, sehingga hasil akhir menjadi

Tree

Merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen. Tree bisa didefinisikan sebagai kumpulan simpul/node dengan satu elemen khusus yang disebut Root dan node lainnya terbagi menjadi himpunan-himpunan yang saling tak berhubungan satu sama lainnya (disebut subtree). Untuk jelasnya, di bawah akan diuraikan istilah-istilah umum dalam tree :
a) Prodecessor : node yang berada diatas node tertentu.
b) Successor : node yang berada di bawah node tertentu.
c) Ancestor : seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama.
d) Descendant : seluruh node yang terletak sesudah node tertentu dan terletak pada jalur yang sama.
e) Parent : predecssor satu level di atas suatu node.
f) Child : successor satu level di bawah suatu node.
g) Sibling : node-node yang memiliki parent yang sama dengan suatu node.
h) Subtree : bagian dari tree yang berupa suatu node beserta descendantnya dan memiliki semua karakteristik dari tree tersebut.
i) Size : banyaknya node dalam suatu tree.
j) Height : banyaknya tingkatan/level dalam suatu tree.
k) Root : satu-satunya node khusus dalam tree yang tak punya predecssor.
l) Leaf : node-node dalam tree yang tak memiliki seccessor.
m) Degree : banyaknya child yang dimiliki suatu node.
Beberapa jenis Tree yang memiliki sifat khusus :
1) Binary Tree
Binary Tree adalah tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Sesuai dengan definisi tersebut, maka tiap node dalam binary tree hanya boleh memiliki paling banyak dua child.

Jenis-jenis Binary Tree :
a) Full Binary Tree 
Binary Tree yang tiap nodenya (kecuali leaf) memiliki dua child dan tiap subtree harus mempunyai panjang path yang sama.
b) Complete Binary Tree
Mirip dengan Full Binary Tree, namun tiap subtree boleh memiliki panjang path yang berbeda. Node kecuali leaf memiliki 0 atau 2 child.

c) Skewed Binary Tree
     Binary Tree yang semua nodenya (kecuali leaf) hanya memiliki satu child.

Implementasi Binary Tree
Binary Tree dapat diimplemntasikan dalam Pascal dengan menggunakan double Linked List. Untuk nodenya, bisa dideklarasikan sbb :

Type Tree = ^node;
Node = record
Isi : TipeData;
Left,Right : Tree;
end;

Operasi-operasi pada Binary Tree :
v Create : Membentuk binary tree baru yang masih kosong.
v Clear : Mengosongkan binary tree yang sudah ada.
v Empty : Function untuk memeriksa apakah binary tree masih kosong.
v Insert : Memasukkan sebuah node ke dalam tree. Ada tiga pilihan insert: sebagai root, left child, atau right child. Khusus insert sebagai root, tree harus dalam keadaan kosong.
v Find : Mencari root, parent, left child, atau right child dari suatu node. (Tree tak boleh kosong)
v Update : Mengubah isi dari node yang ditunjuk oleh pointer current. (Tree tidak boleh kosong)
v Retrieve : Mengetahui isi dari node yang ditunjuk pointer current. (Tree tidak boleh kosong)
v DeleteSub : Menghapus sebuah subtree (node beserta seluruh descendantnya) yang ditunjuk current. Tree tak boleh kosong. Setelah itu pointer current akan berpindah ke parent dari node yang dihapus.
v Characteristic : Mengetahui karakteristik dari suatu tree, yakni : size, height, serta average lengthnya. Tree tidak boleh kosong. (Average Length = [jumlahNodeLvl1*1+jmlNodeLvl2*2+…+jmlNodeLvln*n]/Size)
v Traverse : Mengunjungi seluruh node-node pada tree, masing-masing sekali. Hasilnya adalah urutan informasi secara linier yang tersimpan dalam tree. Ada tiga cara traverse : Pre Order, In Order, dan Post Order.
Langkah-Langkahnya Traverse :
Ø PreOrder : Cetak isi node yang dikunjungi, kunjungi Left Child, kunjungi Right Child.
Ø InOrder : Kunjungi Left Child, Cetak isi node yang dikunjungi, kunjungi Right Child.
Ø PostOrder : Kunjungi Left Child, Kunjungi Right Child, cetak isi node yang dikunjungi.
Untuk lebih jelasnya perhatikan contoh operasi-operasi pada Binary Tree berikut ini :
2) Binary search Tree
Adalah Binary Tree dengan sifat bahwa semua left child harus lebih kecil daripada right child dan parentnya. Juga semua right child harus lebih besar dari left child serta parentnya. Binary seach tree dibuat untuk mengatasi kelemahan pada binary tree biasa, yaitu kesulitan dalam searching / pencarian node tertentu dalam binary tree. Contoh binary search tree umum :
      Pada dasarnya operasi dalam binary search tree sama dengan Binary tree biasa, kecuali pada operasi      insert, update, dan delete.

1. Insert : Pada Binary Search Tree, insert dilakukan setelah ditemukan lokasi yang tepat. (Lokasi tidak ditentukan oleh user sendiri).
2. Update : Seperti pada Binary Tree biasa, namun disini uapte akan berpengaruh pada posisi node tersebut selanjutnya. Bila setelah diupdate mengakibatkan tree tersebut bukan Binary Search Tree lagi, maka harus dilakukan perubahan pada tree dengan melakukan perubahan pada tree dengan melakukan rotasi supaya tetap menjadi Binary Search Tree.
3. Delete : Seperti halnya update, delete dalam Binary Search Tree juga turut mempengaruhi struktur dari tree tersebut.

Tutorial Membuat Database pada SQL Server 2008 R2

  • Buka Program MICROSOFT SQL SERVER 2008 R2

  • Klik connect, untuk masuk ke dalam aplikasi. Setelah connect, maka akan muncul tampilan seperti berikut.

PEMBUATAN DATABASE
Database mengandung objek-objek yang digunakan untuk mewakili, menyimpan dan mengakses data. Pengertian database dalam MS SQL Server adalah kumpulan tabel, view, trigger, store procedure dan objek-objek lainnya.
Langkah-langkah untuk membuat database
  1. Klik kanan pada bagian Database, pilih menu New Database …
  2.  Isi pada bagian Database name : misal KARYAWAN.  Secara default, akan dibuatkan dua buah file Karyawan.mdf (master data file) dan Karyawan_log.ldf (log data file).
  3.  Beberapa bisa kita atur : FileType (jenis file Data atau Log), Initial Size (ukuran awal file data), Autogrowth (pengaturan pertumbuhan data), Path (letak file data).  Biarkan jika ingin menggunakan default.
  4. Tekan OK, jika database akan dibuat oleh system.


Merancang Tabel, Field (Colomn), Primary Key
Setelah Database dibentuk, maka langkah pertama adalah membuat table.  Tabel ini digunakan untuk menyimpan data-data yang sejenis misal data karyawan disimpan pada table tbkaryawan, data gaji karyawan disimpan di tbgaji.
Langkah-langkah untuk membuat tbkaryawan :
1.  Klik kanan pada Tables, yang terdapat pada database DBbKaryawan, pilih menu New Table..

2.  Buat Colomn Name (Field), dengan Data Type berikut :

3.  Tambahkan Primary Key pada NIK, dengan menekan tombol Primary Key
4.  Setelah semua colomn dibuat, simpan table dengan nama tbkaryawan
Berbagai Tipe Data
Ada beberapa tipe data yang dapat digunakan pada kedua table tersebut, yaitu :
Tipe Data
Integer Keterangan
Bit Integer dengan nilai 0 atau 1
Int Nilai integer dengan nilai antara -2^31 atau (-2.147.483.648) sampai 2^31-1 atau (+2.147.384.647)
Decimal atau Numeric Angka antara -10^38-1 sampai 10^38-1
Money Nilai yang berhubungan dengan mata uang dari -2^63( -922.377.203.685.477,5808) sampai 2^63-1(922.377.203.685.477,5807)
Float -214.748,3648 sampai 1.79E+308
Real -3.40E+308 sampai 3.40E+38
DateTime 1 Januari 1973 sampai 31 Desember 9999
SmallDateTime 1 Januari 1900 sampai 6 juni 2079, dengan ketelitian hingga 1 menit
String Keterangan
Char Jumlah karakter tetap dengan ukuran maksimal 8000 karakter
Varchar Jumlah karakter variabel dengan ukuran maksimal 8000 karakter
Text Jumlah karakter variabel dengan ukuran maksimal 2.147.483.647 karakter
Unicode String Keterangan
NChar Jumlah karakter tetap dengan ukuran maksimal 4000 karakter
NVarchar Jumlah karakter variabel dengan ukuran maksimal 4000 karakter
NText Jumlah karakter variabel dengan ukuran maksimal 1.073.741.823 karakter
Binary String Keterangan
Binary Jumlah biner tetap dengan ukuran maksimal 8000 bytes
Varbinary Jumlah biner variabel dengan ukuran maksimal 8000 bytes
Image Jumlah karakter variabel dengan ukuran maksimal 2.147.483.647 bytes
Catatan untuk NIK, Telepon sebaiknya menggunakan tipe data string, jangan menggunakan tipe data numeric, karena numeric tidak bisa diawali angka 0.
Membuat Relasi Antar Tabel (Database Diagram)
Untuk menjaga integritas data, antar table perlu dibuat relasi antar table.  Salah satu table yang menjadi masternya harus memiliki Primary Key, sedangkan table detilnya akan dibuatkan secara otomatis Foreign Key.
Langkah-langkah pembuatan Database Diagram, yaitu :
  1. Pada Database diagrams, klik kanan pilih menu New Diagram… (jika tidak bisa dibuat diagramnya, pastikan role anda sebagai NTAutority, pilih di menu Database-Properties)
  2. Kemudian pilih table-tabel yang akan dibuat relasinya.
  3. Lakukan drag pada Primary Key (disini NIP yang ada di tbKaryawan), geser hingga NIP yang ada di tbgaji. Tekan OK untuk membuat relasinya.

Mengisi Tabel
Setelah table dan relasi dibentuk, kita siap untuk mengisi data pada kedua table tersebut.  Gunakan Open Table dengan cara klik kana pada table yang akan diisi.
Isikan data-data pada table tbkaryawan, untuk TGLLAHIR gunakan format mm/dd/yyyy dan pastikan NIK tidak boleh ada yang sama (karenan NIK adalah Primary Key).
Isikan pula data pada tbgaji,  NIK harus terdaftar di tbkaryawan (karena sudah dibuat relasi antar table, jadi integritas data terjaga).

Detach dan Attach Database
Jika suatu waktu anda ingin memindahkan Database pada komputer lain, dapat dilakukan dengan melepas database (Detach Database) tsb pada server ini.  Kemudian salin file .mdf dan .ldf tsb ke server lain.  Setelah itu lakukan Attach Database (menarik file data tsb untuk dikelola oleh server).


Tutorial Membuat Database dengan MySQL

Cara membuat database pada tulisan ini saya bagi menjadi 2 cara, yang pertama mengunakan tools phpMyAdmin (bawaan XAMPP) dan yang kedua mengunakan tools command prompt. langsung saja berikut ini cara membuat database mengunakan Tools PhpMyAdmin :

Saya asumsikan anda sudah menginstall program XAMPP, jika belum dapat membaca tulisan saya cara instal xampp,
1. Oke kita lanjut buka browser dan pada Address Bar ketikan : http://localhost/phpmyadmin/
2. Lakukan login dengan menginputkan username dan password .
3. Pada bagian atas kanan, pilih Database dan isikan nama database yang anda kehendaki pada kolom Create Database kemudian tekan tombol Create.
4. Selamat anda sudah berhasil membuat database.

Cara membuat database yang kedua mengunakan tools command prompt :

1. Buka command prompt ( Start + All Program + Accessories + Command Prompt ).
2. Setelah menjumpai tampilan command prompt ketikan perintah dibawah ini :
cd C:\xampp\mysql\bin
3. Kemudian ketikan lagi perintah berikut :

mysql -u root –p

4. Masukan password anda jika sebelumnya anda melakukan set password.
5. Jika suda berhasil masuk ke program klien Mysql anda akan menemui tulisan semacam ini :

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11

...............

6. Untuk membuat database ketikan perintah create database joomla; jika berhasil akan muncul tulisan semacam ini:

mysql> create database joomla;
Query OK, 1 row affected (0.04 sec)


7. Dan untuk melihat database anda bisa mengunakan perintah show databases.

Tutorial Membuat Database dengan Microsoft Access

CARA MEMBUAT DATABASE DENGAN MICROSOFT ACCESS

1. Pergi ke START dan pilih Microsoft Access.
2. Setelah keluar lamannya, klik Blank Database.
3. Kemudian lihat di sebelah kanan dan klik pada Create.
4. Maka laman microsoft access akan keluar. Buat right klik pada mouse dan pilih Rename Column.
5. Isi setiap column berdasarkan maklumat yang anda kehendaki. Seperti contoh di bawah.
6. Setelah siap diisi, klik pada gambar disket di atasnya untuk menyimpan maklumat itu. Tulis nama jadual anda seperti rajah di bawah dan klik OK.
7. Untuk membuat jadual lain pula, pergi ke bar menu klik Create dan pilih Table. Ulang no 4 hingga 6. Untuk membuat jadual lain guna kaedah yang sama.
8. Setelah semua jadual yang dikehendaki siap, klik Datasheet di bar menu dan klik Relationships.
9. Kemudian highlightkan jadual dan klik Add. Buat satu persatu. Setelah siap klik Close.
10. Selepas itu pergi ke ID dan highlightkannya. Klik kiri tetikus tanpa dilepaskan dan bawa ke ID di jadual sebelahnya. Ulang langkah sama untuk jadual yang lain.
11. Anda akan dapati setiap jadual telah dihubungkan. Contoh :
12. Kemudian pergi ke Datasheet sekali lagi dan klik More Forms dan pilih Form Wizard.
13. Pilih jadual pertama anda dan klik yang bertanda ' >>' untuk memasukkan semua item. Pilih jadual kedua dan klik item yang ada tidak termasuk ID dan klik yang bertanda '>'. Masukkan satu persatu. Ulang untuk masukkan item dari jadual yang lain. Setelah siap klik Next.
14. Pilih Columnar dan klik Next.
15. Pilih mana-mana gaya yang anda inginkan dan klik Next.
16. Setelah itu tulis semula nama yang anda inginkan untuk form anda. Klik Finish.
17. Form yang anda buat akan terpapar. Isi setiap ruangan dengan maklumat yang berkait. Contoh:
18. Apabila siap semua data pergi ke Datasheet dan klik Query Wizard. Pilih simple query wizard dan klik OK.
19. Kemudian klik item yang anda inginkan dan masukkan satu persatu dengan klik yang bertanda >. Selepas itu klik Next.
20. Tulis tajuk untuk data anda, klik untuk modify dan seterusnya klik Finish.
21.Seterusnya buat Report Wizard, pilih data yang anda buat sebelum ini dan klik Next sehingga selesai, klik Finish.
22. Anda akan dapati laporan yang anda buat akan terpapar. Contoh:

Powered by Blogger.

Copyright © / Tommy

Template by : Urang-kurai / powered by :blogger