Rabu, 14 September 2011

Creating class dalam Pemrograman Berbasis Objek (PBO)

Kelas digunakan untuk membuat objek, dan berperan sebagai tipe data dari objek. Kelas merupakan sarana pengkapsulan kumpulan data dan kumpulan method yang mengoperasikan kumpulan data tersebut.
Pembuatan kelas di dalam java :

class <classname>
{
                                                //declaration of data member
                                                //declaration of methods
}

Pembuatan kelas lengkap dengan access specifier :

                                class <classname>
{
                                                <access specifier> <deklarasi atribut>
                                                <access specifier> <deklarasi method>
}
                Karena dasar pemrograman OOP adalah obyek, sehingga class yang sudah dibuat akan dibuat obyeknya atau diinstansiasi, cara pembuatan obyek dari kelas adalah :

<class name> <object name>;
<object name> = new <class name>();

Untuk menjalankan program dibutuhkan sebuah method main(). Method main() dapat dideklarasikan di kelas manapun tetapi nama kelas tempat method main() berada harus sama dengan nama file .java nya. Deklarasi mehod main :

public static void main(String[] args)
{
                                //code for the main method
}

Berikut adalah contoh pembuatan kelas dan obyek secara lengkap, berikut dengan main method-nya :

           class  book
           {
                     int price;
                     int pages;
                     public void set(int price,int pages)
                     {
                                this.price=price;
                                this.pages=pages;
                     }
                     public void show()
                     {
                                System.out.println("Books Information");
                                System.out.println("Books Price : "+price);
                                System.out.println("Number of pages : "+pages);
                     }
           }

           public class MainBook
           {
                     public static void main(String[] args)
                                {
           book javabook=new book();
                                javabook.set(60000,100);
                                javabook.show();
                     }
           }

Constructor
           Constructor merupakan metode khusus yang memiliki nama sama dengan kelasnya. Jika kita tidak mengkodekan sebuah constructor, JAVA akan membuat sebuah constructor default untuk kita. Constructor default tidak melakukan apa-apa, namun memungkinkan semua variabel yang tidak diinisialisasi dalam deklarasi diberi suatu nilai default. Pada prinsipnya constructor adalah method yang tidak memiliki return value (secara implisit adalah instant dari kelasnya), hanya saja namanya sama dengan nama kelas, dan dapat diberi modifier akses (public, protected, default, private). Tujuan constructor dibuat adalah untuk melakukan inisialisasi yang diperlukan objek baru.
           Contoh Constructor :

                     class Mahasiswa { 
                                private String nama = "";
                                private int nim = 0;
                                private static int NIM = 0;
                                private double ipk = 0.0;
                                public Mahasiswa() { this.nim = ++NIM; }
                                public Mahasiswa(String na, double i) {
                                           this.nama = na;
                                           this.ipk = i;
                                           this.nim = ++NIM; }
                                public void LihatData() {
                                           System.out.println("Nama : " + nama + "\tNIM : " + nim +
                                           "\tIPK : " + ipk ); }
                     }
                     public class MahasiswaInfo {
                                public static void main(String args[]) {
                                           Mahasiswa mhs1 = new Mahasiswa( "Dinda“ , 3.4 );
                                           Mahasiswa mhs2 = new Mahasiswa( "Ninda“ , 3.25 );
                                           Mahasiswa mhs3 = new Mahasiswa();
                                           mhs1.LihatData();
                                           mhs2.LihatData();
                                           mhs3.LihatData();
                                }
                     }

Class relation
Dalam Object Oriented Programming, kelas-kelas yang terbentuk dapat memiliki hubungan satu dengan yang lainnya, sesuai dengan kondisi dari kelas-kelas yang bersangkutan. Ada beberapa jenis hubungan yang dapat terjadi antara kelas yang satu dengan kelas yang lainnya, antara lain :

1.       Asosiasi
           Asosiasi merupakan hubungan antara dua kelas di yang merupakan hubungan struktural yang menggambarkan himpunan link antar obyek. Contoh dari hubungan asosiasi ini adalah:
                               

2.       Agregasi
           Agregasi merupakan hubungan antara dua kelas di mana kelas yang satu merupakan bagian dari kelas yang lain namun kedua kelas ini dapat berdiri sendiri-sendiri. Agregasi sering juga disebut relasi “part of” atau relasi “whole-part”. Contoh hubungan agregasi ini adalah :
                                         

3.       Komposisi
           Komposisi merupakan bentuk khusus dari agregasi di mana kelas yang menjadi part (bagian) baru dapat diciptakan setelah kelas yang menjadi whole (seluruhnya) dibuat dan ketika kelas yang menjadi whole dimusnahkan, maka kelas yang menjadi part ikut musnah. Contoh hubungan komposisi adalah sebagai berikut:
                                                   
                                                 

4.       Generalisasi

  5.   Spesialisasi

Definisi Pemrograman Berorientasi Objek (PBO)

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Konsep dari object oriented programming (OOP) adalah lebih dari sekedar sebuah konsep pemrograman, Object oriented programming adalah cara berpikir tentang aplikasi yang mempelajari untuk berpikir bahwa aplikasi bukan sekedar prosedur melainkan sebagai object. Object yang dimaksud disini memiliki pengertian suatu modul yang mengkombinasikan antara data dan kode program yang bekerja sama dalam program dengan melewatkan proses satu sama lain. Jadi object oriented programming merupakan cara yang paling efisien untuk menulis program komputer yang sangat mudah untuk di kombinasikan dan untuk dipergunakan kembali.
Object oriented programming lebih memfokuskan kepada manipulasi object. Kenapa seorang programmer harus mempelajari object oriented programming bahkan seorang programmer yang tidak pernah bekerja dengan object oriented programing pun harus mempelajarinya juga. Hal ini dikarenakan pada suatu hari nanti semua bahasa pemrograman akan menambahkan kemampuan object oriented programming pada bahasanya.

Pemrograman berorientasi Objek  mempunyai karakterisitik sebagai berikut:

A.     Abstraksi (abstraction)
Abstraksi adalah suatu cara melihat suatu objek dalam bentuk yang sederhana. Sebagai contoh jika kita melihat sepeda motor. Kita tidak perlu melihat susunan komponen mesin dan dukungan elektriknya yang cukup kompleks dan rumit, namun kita bisa melihat sepeda motor itu sebagai sebuah entitas / satuan tunggal (single entity) yang merupakan sebuah objek yang mempunyai sifat dan karakteristik tersendiri.
Dengan pemikiran yang sederhana ini maka ketika kita mengendarai sepeda motor tersebut kita tidak perlu tahu betapa rumit komponen dan rangkaian yang menyusun sepeda motor. Karena untuk mengendarai sepeda motor yang perlu diketahui adalah bagaimana sepeda motor itu bisa dikendalikan. Sehingga dengan konsep abstraksi ini kita bisa melihat suatu sistem yang kompleks yang terdiri dari subsistem-subsistem yang rumit dan banyak bisa dipandang menjadi sebuah paket sistem yang sederhana.
Pemahaman objek disekitar kita inilah yang akan mendasari pemahaman tentang pemrograman berorientasi objek. Yang paling penting adalah bagaimana mentransformasikan apa yang anda ketahui tentang suatu objek menjadi suatu program.
Contoh Abstraksi:
Contoh berikut  akan menjelaskan penggunaan class abstrak dalam pemrograman Objek dalam Java. Kelas abstrak yang dibuat adalah kelas Animal, kemudian  dengan dua jenis variabel, jumlah kaki dan warna. Ditambahkan method berdasarkan cara jalan dan suaranya
public abstract class Hewan {
private int jmlKaki;
private Color warna;
public abstract void jalan();
public abstract void suara();
{

B.     Pembungkusan (encapsulation)
Selain dengan menggunakan metoda abstraksi dalam menyembunyikan method pada super class, maka juga dapat dilakukan dengan proses pembungkusan suatu fungsi. Dengan kata lain, sebenarnya proses pembungkusan  itu sendiri merupakan salah satu metoda atau mekanisme untuk melakukan abstraksi. Dalam pemrograman tradisional, proses semacam ini sering juga disebut dengan penyembunyian informasi (information hiding).
Dalam melakukan pembungkusan kode dan data dalam java terdapat tiga tingkatan akses data yang perlu diketahui  yaitu:
1.       Tingkat akses Private
2.       Tingkat akses Protected
3.       Tingkat akses Public

C.      Pewarisan (inheritence)
Dalam penggunaan konsep pewarisan antara lain : pertama kita dapat menggunakan kelas - kelas yang kita buat ( sebagai superkelas ) dan membuat kelas - kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behavior umum yang dimiliki superkelas. kedua, kita dapat membuat superkelas yang hanya mendefinisikan behavior namu tidak memberi implementasi dari metode - metode yang ada. Hal ini berguna jika kita ingin membuat semacam template kelas. Kelas seperti ini disebut kelas abstrak.Subkelas - subkelas dari kelas semacam ini disebut kelas konkret. Kelas abstrak hanya memiliki satu atau lebih metode abstrak. Subkelas dari kelas ini bertanggung jawab untuk memberikan implementasi untuk metode – metode abstrak tersebut.


D.     Polimorfisme (polymorphism)
Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu  superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan.

OBJEK DAN KELAS (CLASS AND OBJECT)
Yang pertama dan paling dasar dari konsep OOP terlebih dahulu adalah :

1.     OBJECT
Objek adalah sebuah benda. Meskipun objek memang tidak harus sebuah benda, namun cara paling cepat untuk memahami tentang objek adalah membayangkannya sebagai sebuah benda. Yang luar biasa dari cara berpikir berorientasi objek adalah kita dapat melihat sebuah benda secara sederhana sebagai sebuah objek saja, atau kita dapat melihat sebuah benda sebagai wujud dari kumpulan banyak objek yang bekerja sama bergabung menjadi satu.
Contoh : di mata seorang penumpang bus, melihat bus hanyalah sebuah objek yang mengantarkan dia dari satu kota ke kota yang lain, berbeda halnya dengan seorang montir yang sama-sama melihat bus namun dia melihat lebih banyak objek bus seperti mesin, suspensi, hidrolik, dsb dibanding dengan penumpang bus tadi. Di dalam konsep OOP, kumpulan kode program dibuat pada objek, sehingga fungsinya dapat di pisahkan antara satu objek dengan objek yang lainnya, sehingga apabila terdapat BUG (kesalahan kode), pembetulannya dapat dilokasikan pada objek tertentu dengan mudah tanpa merusak tatanan kode yang lain. Seperti pada bus tadi, apabila terjadi kerusakan misalkan lampu depan mati, prosesnya membetulkannya tinggal mengganti lampu atau mengecek kabelnya saja, tidak perlu membongkar mesin atau melepas roda.

2.     CLASS
Class atau Kelas merupakan kumpulan dari objek yang mempunyai sifat sejenis. Di dalam dunia pemrograman, class digunakan untuk menciptakan objek. Satu class dapat digunakan untuk membuat banyak object. Seumpama kita membangun rancangan rumah yang digunakan untuk mebangun ratusan rumah, hal ini bisa dilakukan karena semua object rumah yang dibangun memiliki karakteristik yang sama, sehingga dapat dibuatkan semacam blueprintnya, tetapi object yang dibangun tetap akan memiliki bentuk fisik tertentu. Kelas dapat didefinisikan menjadi sebuah blueprint yang mendefinisikan variabel dan metode yang sama untuk semua objek sejenis.
          Ada juga variable kelas, variable kelas sebenarnya sama dengan variable instans. Bedanya setiap object berbagi satu dan hanya satu variable kelas, tapi masing - msing memiliki salinan dari varibale instans. Disamping variable terdapat juga metode kelas, Metode jenis ini dapat langsung dipanggil melalui kelas dan bukan dari intans kelas tersebut.

Selasa, 13 September 2011

Tutorial atau Panduan Lapangan untuk materi SQL


NIM/NAMA       : 10.41010.0228 / Septian Dwi Jaya A.P
Dosen              : Tan Amelia
Tugas               : Tutorial atau Panduan Lapangan untuk materi SQL


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
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd 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. Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.

Standarisasi
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.

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)[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.

Menampilkan Data dengan Statement SELECT
Syntax paling dasar untuk mengambil data dari database adalah :

SELECT column
FROM table

Buka query Analyser dan pastikan telah terkoneksi dengan database Northwind. Tuliskan kode berikut untuk menampilkan data customer yang terdapat di tabel Customers.

SELECT CustomerID, CompanyName, ContactName
FROM Customers

Jalankan perintah tersebut dengan menekan tombol F5, maka akan tampil tiga kolom dari tabel Customers :

CustomerID                        CompanyName                                                                ContactName
----------                               ----------------------------------------                               ----------
ALFKI                                   Alfreds Futterkiste                                                          Maria
ANATR                                 Ana Trujillo Emparedados y helados                       Ana
ANTON                                Antonio Moreno Taquería                                            Antonio
AROUT                                 Around the Horn                                                              Thomas
BERGS                                  Berglunds snabbköp                                                      Christina
BLAUS                                  Blauer See Delikatessen                                                Hanna Moos
BLONP                                Blondesddsl père et fils                                                  Frédérique
BOLID                                  Bólido Comidas preparadas                                        Martín
BONAP                                 Bon app'                                                                              Laurence
………………………..
………………………..

Untuk menampilkan semua kolom dari suatu table, digunakan tanda asterik (*), daripada menyebutkan nama kolomnya satu per satu. Tiluskan statement berikut :

                SELECT * FROM Customers

Maka akan ditampilkan seluruh kolom di table Customers yang berjumlah 11 kolom.
Meskipun cara ini sangat sederhana untuk menampilkan isi seluruh kolom dari suatu table, tetap dianjurkan untuk hanya mengambil data dari kolom yang anda perlukan saja. Pengambilan data yang tidak perlu mengakibatkan penurunan performa aplikasi.

Filter Data dengan WHERE
Perintah SELECT dan FROM diatas hanya membatasi jumlah kolom yang ditampilkan saja, sedangkan jumlah baris yang dihasilkan tidak dibatasi. Anda sering memerlukan hanya baris atau data yang memenuhi kriteria tertentu saja yang ditampilkan. Klausa WHERE digunakan untuk menentukan kriteria RECORD yang ditampilkan. Syntax umumnya adalah sebagai berikut :

                SELECT columns
FROM tables
WHERE Conditions

Perintah SQL diatas dapat dimodifikasi agar menampilkan data untuk customer dengan kode ALFKI saja. Kode SQL nya menjadi sebagai berikut :

SELECT CustomerID, CompanyName, ContactName
FROM Customers
WHERE CustomerID = 'ALFKI'

Setelah dirun maka tampil hasil query sebagai berikut :

CustomerID                        CompanyName                                                                 ContactName
----------                               ----------------------------------------                              ----------
ALFKI                                   Alfreds Futterkiste                                                          Maria Anders

(1 row(s) affected)

Terlihat bahwa hanya dihasilkan satu record yang memenuhi kriteria. Dalam perintah tersebut kriteria yang digunakan adalah kolom CustomerID dengan nilai ALFKI. Anda juga dapat membuat beberapa kriteria sekaligus dengan klausa WHERE. Logika yang digunakan bisa berupa OR (atau) serta AND (dan). Perhatikan contoh perintah berikut :

SELECT CustomerID, CompanyName, ContactName
FROM Customers
WHERE CustomerID = 'ALFKI' OR
CustomerID = 'AROUT'

Maka dihasilkan dua buah record yang memenuhi kritreia tersebut :

CustomerID                        CompanyName                                                          ContactName
----------                               ----------------------------------------                       ----------
ALFKI                                   Alfreds Futterkiste                                                   Maria Anders
AROUT                                 Around the Horn                                                       Thomas Hardy

(2 row(s) affected)

Cara lain adalah menggunakan AND sehingga data yang ditampilkan hanya yang memenuhi kriteria yang disebutkan saja. Misalkan perintah berikut :

                SELECT CustomerID, CompanyName, ContactName
FROM Customers
WHERE City = 'London' AND
                :ContactName = 'Thomas Hardy'

Maka record yang ditampilkan harus memenuhi kedua kriteria di klausa WHERE. Hasil yang didapat adalah :

CustomerID                        CompanyName                                                ContactName
----------                               ----------------------------------------             ----------
AROUT                                 Around the Horn                                              Thomas Hardy
(1 row(s) affected)

Apabila anda mengganti AND dengan OR, maka hasilnya akan berbeda, yaitu sebagai berikut :

CustomerID                        CompanyName                                                ContactName
----------                               ----------------------------------------             ----------
AROUT                                 Around the Horn                                            Thomas Hardy
BSBEV                                  B's Beverages                                                   Victoria Ashworth
CONSH                                 Consolidated Holdings                                  Elizabeth Brown
(9 row(s) affected)

Sortir Data dengan ORDER BY
ORDER BY digunakan untuk mengurutkan hasil pencarian data. Secara default data yang ditampilkan disortir berdasarkan urutan masuknya data ke dalam tabel. Dengan menggunakan ORDER BY anda dapat mengurutkan berdasarkan kolom tertentu yang anda kehendaki. Bila anda perhatikan perintah SQL diatas maka data yang dihasilkan telah diurutkan berdasarkan kolomCustomerID. Anda dapat merubahnya dengan mengurutkan berdasarkan kolom ContactName dengan perintah berikut :

                SELECT CustomerID, CompanyName, ContactName
FROM Customers
ORDER BY ContactName

Sehingga hasilnya adalah :

CustomerID                        CompanyName                                                                 ContactName
----------                               ----------------------------------------                              ----------
ROMEY                                 Romero y tomillo                                                             Alejandra Camino
MORGK                                Morgenstern Gesundkost                                             Alexander Feuer
ANATR                                 Ana Trujillo Emparedados                                          Ana Trujillo
TRADH                                 Tradição Hipermercados                                             Anabela Domingues
GOURL                                 Gourmet Lanchonetes                                                  André Fonseca
EASTC                                   Eastern Connection                                                       Ann Devon
LAMAI                                  La maison d'Asie                                                             Annette Roulet

Terlihat bahwa data telah diurutkan berdasarkan ContactName secara ascending (dari a ke z). Anda dapat membalik urutan menjadi dari z ke a dengan merubah klausa ORDER BY menjadi seperti berikut :

ORDER BY ContactName desc

Secara default urutan yang digunakan adalah ascending.

Selain itu dapat pula digunakan beberapa kriteria pengurutan. Artinya pengurutan dilakukan berdasarkan kolom yang disebut pertama, setelah itu kolom kedua, dan selanjutnya. Perintah diatas dapat ditambahkan sehingga menjadi sebagai berikut :

                SELECT CustomerID, CompanyName, ContactName
FROM Customers
ORDER BY ContactName, CompanyName

Maka data akan diurutkan mengikuti ContactName, dan selanjutnya berdasarkan CompanyName. Perintah ORDER BY juga dapat digabungkan dengan WHERE misalnya sebagai berikut :

                SELECT CustomerID, CompanyName, ContactName
FROM Customers
WHERE City = 'London' OR
ContactName = 'Thomas Hardy'
ORDER BY ContactName

SQL LIKE Syntax
Apabila WHERE memfilter data berdasarkan kriteria tertentu yang sudah pasti, maka LIKE digunakan untuk memberikan kriteria yang tidak memiliki kepastian. Misalkan anda ingin mencari nama produk yang dimulai dengan huruf c maka digunakan perintah berikut :

                SELECT ProductID, ProductName
from Products
WHERE ProductName LIKE 'c%'

Perhatikan tanda % setelah huruf c tersebut, yang dapat diartikan sebagai : semua yang dimulai dengan c. Keluaran perintah tersebut adalah :

ProductID                           ProductName
-----------                              -------------------------
60                                           Camembert Pierrot
18                                           Carnarvon Tigers
1                                             Chai
2                                             Chang
39                                           Chartreuse verte
4                                             Chef Anton's Cajun Seasoning
5                                             Chef Anton's Gumbo Mix
48                                           Chocolade
38                                           Côte de Blaye
(9 row(s) affected)

Mencari Data dengan BETWEEN
Keyword BETWEEN digunakan untuk mencari data yang memenuhi interval kriteria tertentu dalam suatu kolom. Biasanya digunakan untuk mencari data berdasarkan interval tanggal tertentu. Penggunaan praktisnya misalnya anda ingin mencari penjualan yang terjadi antara tanggal 1 Januari 2003 sampai dengan 31 Januari 2003. Keyword BETWEEN digunakan bersamaan dengan interval tanggal tersebut. Tuliskan baris kode berikut :       
  
USE NorthWind
SELECT OrderID, CustomerID, OrderDate
FROM Orders
WHERE OrderDate BETWEEN '07/01/1996' AND '07/31/1996'

Kode tersebut mencari data di tabel Orders yang memiliki OrderDate antara tanggal 1 Juli 1996 sampai dengan 31 Juli 1996. Setelah di run maka hasilnya adalah :

OrderID               CustomerID        OrderDate
-----------              ----------               -----------------
10248                   VINET                   1996-07-04 00:00:00.000
10249                   TOMSP                  1996-07-05 00:00:00.000
10250                   HANAR                1996-07-08 00:00:00.000
10251                   VICTE                   1996-07-08 00:00:00.000
10252                   SUPRD                  1996-07-09 00:00:00.000
10253                   HANAR                1996-07-10 00:00:00.000

Selain menggunakan kriteria tanggal anda juga dapat menggunakan keyword BETWEEN tersebut untuk tipe data lain misalnya string dan numeric. Misalnya anda ingin menampilkan data customer yang diawali huruf A sampai dengan D, maka digunakan kode program berikut :

                SELECT * FROM dbo.Customers
WHERE CompanyName BETWEEN 'A' AND 'D'

Membuat Alias dengan AS
Dalam contoh perhitungan dengan SQL diatas banyak digunakan keyword AS unatuk memberikan nama kolom. Fungsi AS tersebut adalah memberikan alias terhadap hasil perhitungan sehingga lebih mudah dibaca. Apabila suatu perhitungan tidak disertakan alias menggunakan AS maka kolom hasil perhitungan tersebut menjadi tidak dikenal. Perhatikan contoh berikut :

                SELECT ProductID, (UnitPrice * Quantity)
FROM [Order Details]

Maka kolom hasil perkalian tidak memiliki nama sebagaimana hasil berikut :

ProductID              
-----------              ----------
11                           168.0000
42                           98.0000
72                           174.0000
14                           167.4000
51                           1696.0000
41                           77.0000

Menggabungkan Tabel
Setelah mempelajari bagaimana menampilkan data dari database Northwind serta memfilternya dengan berbagai kriteria. Pengambilan data tersebut hanya dari satu tabel saja sehingga belum dapat menyajikan informasi lebih detil. Perintah SQL dapat digunakan untuk menampilkan data dari 2 atau lebih tabel. Antara tabel tersebut harus memiliki penghubung yaitu Primary Key dan Foreign Key sebagaimana telah dijelaskan pada Bab 2 mengenai desain database. Dengan menggunakan kriteria penghubung tersebut anda dapat menampilkan data dari beberapa tabel secara konsisten.

LEFT JOIN
Misalkan pada diagram gambar 3.2 diatas digunakan perintah LEFT JOIN maka apabila tabel Customers disebutkan terlebih dahulu SQL Server akan menampilkan semua nama customer yang terdapat di tabel tersebut. Semua data customer ditampilkan walaupun CustomerID nya tidak terdapat di tabel Orders. Penggunaan praktis perintah ini misalnya anda ingin mengetahui frekuensi order semua customer baik yang telah memiliki order maupun yang belum. Untuk kebutuhan tersebut maka ditampilkan semua customer berikut data frekuensi ordernya. Perhatikan contoh perintah berikut :

                SELECT Customers.CustomerID, Customers.CompanyName,
COUNT(Orders.OrderID) AS Frekuensi
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
GROUP BY Customers.CustomerID, Customers.CompanyName
ORDER BY COUNT(Orders.OrderID)

Karena menggunakan perintah LEFT JOIN maka semua data di tabel Customers ditampilkan seluruhnya walaupun frekuensi ordernya 0. Hasil perintah tersebut adalah :

CustomerID        CompanyName                                                               Frekuensi
----------               ----------------------------------------                            ----------
PARIS                   Paris spécialités                                                               0
FISSA                    FISSA Fabrica Inter. Salchichas S.A.                         0
CENTC                  Centro comercial Moctezuma                                     1
LAZYK                  Lazy K Kountry Store                                                     2
GROSR                  GROSELLA-Restaurante                                              2
LAUGB                  Laughing Bacchus Wine Cellars                                3
……………
……………
(91 row(s) affected)

RIGHT JOIN
Perintah RIGHT JOIN merupakan kebalikan dari LEFT JOIN, yaitu menampilkan semua isi tabel yang disebutkan kedua dalam perintah join. Dalam contoh di atas apabila LEFT JOIN diganti RIGHT JOIN maka semua isi tabel Orders akan ditampilkan semuanya. Cobalah memodifikasi perintah diatas menjadi sebagai berikut :

                SELECT Customers.CustomerID, Customers.CompanyName,
                                COUNT(Orders.OrderID) AS Frekuensi
FROM Customers
RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
GROUP BY Customers.CustomerID, Customers.CompanyName
ORDER BY COUNT(Orders.OrderID)

FULL JOIN
Jenis join terakhir adalah FULL JOIN yang menampilkan semua data dari dua tabel yang dihubungkan meskipun terdapat data yang tidak memiliki pasangan di tabel lainnya. Misalnya kita mengambil data dari tabel Country dengan tabel City menggunakan FULL JOIN. Data dari kedua tabel akan ditampilkan semuanya baik untuk nama kota yang tidak memiliki data negara maupun sebaliknya.

DISTINCT
Penggunaan keyword DISTINCT hampir mirip dengan GROUP BY yaitu untuk melakukan grouping hasil pencarian. Tetapi DISTINCT hanya berfungsi menghilangkan duplikasi hasil dan tidak dapat digunakan untuk membantu melakukan berbagai perhitungan fungsi agregat. Penerapan praktisnya misalnya anda ingin mencari negara mana saja yang yang terdapat di tabel customer. Apabila anda menggunakan perintah SELECT saja maka akan muncul banyak duplikasi karena banyak terdapat customer yang berasal dari negara yang sama. Dengan menggunakan DISTINCT maka duplikasi tersebut dapat dihilangkan.

                SELECT DISTINCT Country
FROM Customers

INSERT
Untuk mengisikan data ke dalam suatu tabel digunakan perntah INSERT yang memiliki syntax umum sebagai berkut :

                INSERT table (column list)
VALUES (value list)

Misalnya untuk mengisikan data customer baru dituliskan perintah berikut :

                INSERT Customers (CustomerID, CompanyName, ContactName)
VALUES ('MJTR', 'Majuterus', 'Lisha')

Perintah tersebut mengisikan data di tabel Customers untuk tiga kolom yaitu CustomerID, CompanyName dan ContactName. Sedangkan kolom lain yang tidak diisi maka terisi dengan nilai default sesuai dengan desain tabelnya. Apabila desain tabelnya tidak mengijinkan nilai NULL maka anda harus mengisikan nilainya dalam perintah INSERT tersebut. Apabila menampilkan data tabel Customers maka tampak data yang telah diisikan tersebut sebagai berikut :

CustomerID                        CompanyName                                                ContactName
----------                               ------------------------------                              ---------------------
MAISD                                  Maison Dewey Catherine                              Dewey
MEREP                                 Mère Paillarde Jean                                         Fresnière
MJTR                                     Majuterus                                                           Lisha
MORGK                                Morgenstern Gesundkost Alexander       Feuer

UPDATE            
Apabila anda ingin mengedit atau merubah suatu data tanpa menghapusnya maka digunakan perintah UPDATE . Perintah ini juga menggunakan kondisi tertentu dengan klausa WHERE sebagaimana perintah DELETE. Syntax umum statement UPDATE adalah sebagai berikut :

                UPDATE table_name
SET Column1 = Value1, Column2 = Value2, …..
WHERE condition

Perintah ini melakukan perubahan pada kolom tertentu sebagaimana yang disebutkan dalam perintah SET. Perubahan dilakukan terhadap record yang memenuhi kriteria di klausa WHERE.
Misalkan jika ingin menaikkan harga produk sebesar 10% untuk semua barang yang memiliki CategoryID = 2, maka digunakan perintah berikut :

UPDATE Products
SET UnitPrice = UnitPrice * 1.1
WHERE CategoryID = 2

DELETE
Statement DELETE merupakan kebalikan perintah INSERT. Perintah ini menghapus data yang terdapat di suatu tabel. Data dihapus per record atau per baris berdasarkan kriteria tertentu. Penentuan kriteria record mana yang akan dihapus bisa dilakukan dengan menggunakan klausa WHERE. Misalkan ingin menghapus data semua customer yang berada di negara France. Syntax umum statement ini adalah sebagai berikut :

                DELETE FROM table_name
WHERE Condition

Untuk menghapus data customer yang berasal dari Mexico di tabel Customers maka perintahnya adalah :

                DELETE FROM Customers
                where Country= 'Mexico'