Kamis, 05 April 2012

Pengantar UML


Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.
Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
Sejarah UML
Sejarah UML sendiri cukup panjang. Tahun 1950-an saat keterbatasan hardware, media penyimpanan dan software pemrograman, muncul metode perancangan sistem yang berbasis proses. Muncul diagram-diagram terkenal seperti Data Flow Diagram (DFD). Inti dari diagram ini adalah entitas apa dan melakukan proses apa dengan metode yang sangat terkenal SDLC: System Development Life Cycle. Tahun 1976, Chen menemukan Entity Relationship Diagram (ERD) yang berguna dalam memodelkan database dari suatu proses. Dimulailah era metode perancangan sistem berbasis DATA. Muncul istilah terkenal: Relational Database Management System (RDBMS). Metode perancangan ini berusaha menutupi kelemahan metode perancangan berbasis proses. Perlu diketahui bahwa proses sangat cepat berubah dibandingkan data.
Sampai era tahun 1990, Tahun 90-an, diiringi membanjirnya software berorientasi object, bahkan hingga ke database seperti Oracle, SQL Server, dan lain-lain sudah menganut OR-DMBS (Object Relational – DBMS).  Seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch [1], metodologi coad [2], metodologi OOSE [3], metodologi OMT [4], metodologi shlaer-mellor [5], metodologi wirfs-brock [6], dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek. Hingga saat ini UML sudah versi 2.2.
Konsep Dasar UML
Untuk menguasai UML, sebenarnya cukup dua hal yang harus kita perhatikan, yaitu menguasai pembuatan diagram UML dan menguasai langkah-langkah dalam analisa dan pengembangan dengan UML.
Komponen penyusun utama dari UML adalah things dan relationships; yang dikombinasikan dengan cara berbeda-beda dengan mengikuti aturan yang berbeda pula untuk menghasilkan tipe diagram yang berbeda. UML mendefinisikan diagram-diagram sebagai berikut:
  1. use case diagram
  2. class diagram
  3. statechart diagram
  4. activity diagram
  5. sequence diagram
  6. collaboration diagram
  7. component diagram
  8. deployment diagram
a. Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.
Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal.
Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
Telah disebutkan di atas bahwa UML bukan hanya diagram, UML juga merupakan bahasa (language). Oleh karena itu dengan software CASE (Computer Aided Software Engineering) seperti Rational Rose dapat digenerate menjadi code.
Jadi jika kita membuat suatu model dalam software CASE, kita dapat merubah model menjadi code program, begitu pula sebaliknya. Beberapa software seperti Microsoft Visio, hanya bisa reverse engineering, sedangkan Rational Rose bisa Forward maupun Reverse.

b. Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area pokok : Nama (dan stereotype), Atribut, dan Metoda.
Atribut dan metoda dapat memiliki salah satu sifat berikut :
  1. Private, tidak dapat dipanggil dari luar class yang bersangkutan
  2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
  3. Public, dapat dipanggil oleh siapa saja
Hubungan Antar Class :
  1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
  2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
  3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
  4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram.
c. Statechart Diagram
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).
Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.
d. Activity Diagram
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.
Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. Dalam activity diagram, terdapat fasilitas yang dinamakan dengan lintasan renang (swim lanes). Lintasan ini berguna bagi perancang ketika beberapa aktivitas akan dikelompokkan.
e. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.
Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.
f. Collaboration Diagram
Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
g. Component Diagram
Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.
Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.
h. Deployment Diagram
Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
Tool Yang Mendukung UML
Saat ini banyak sekali tool perancangan perangkat lunak yang mendukung UML, baik itu tool komersial maupun opensource.  Secara lengkap dari tools UML yang open source kunjungi URLhttp://java-source.net/open-source/uml-modeling.
Tools UML yang open source diantaranya:
  1. StarUML, merupakan piranti lunak untuk mengembangkan UML. Cepat, fleksibel, kaya fitur. Dapat running di platform Linux/Windows.
  2. ArgoUML, cukup powerfull, mudah digunakan, interaktif, support dalam mendisain  UML.
  3. UniMod, fokus pada desain dan implementasi application behavior. Didistribusikan di bawah lisensi Open Software v.2.1.
  4. Alma, piranti lunak yang bekerja untuk modelling dan analyzing. Alma support untuk mendisain lingkungan piranti lunak berbasis GIS dan mendokumentasikan piranti lunak berorientasi obyek.
  5. UMLet, menggambarkan UML berbasis open source pada tool Java. Mampu mentransfer diagram dalam bentuk SVG, JPG, PDF dan LaTeX. UMLet juga mampu memandu dalam pembuatan diagram secara ceat.
  6. TOPCASED-UML2 (TOPCASED Modeling Framework Open Source Project)
  7. Papyrus UML (Payrus Open Source Project)
Untuk tools UML yang komersial diantaranya:
  • Rational Rose (www.rational.com)
  • Together (www.togethersoft.com)
  • Object Domain (www.objectdomain.com)
  • Jvision (www.object-insight.com)
  • Objecteering (www.objecteering.com)
  • MagicDraw (www.nomagic.com/magicdrawuml)
  • Visual Object Modeller (www.visualobject.com)
  • Enterprise Architect (Sparx Systems)
  • UModel (Altova)
  • Artisan Studio (Artisan Software)
  • Rhapsody (IBM/Telelogic)
  • TAU G2 (IBM/Telelogic)
  • Visual Paradigm for UML (Visual Paradigm)
  • Poseidon for UML (Gentleware)
  • Together Architect / Designer /Developer (Borland)
Other UML tools
Data seluruh tool yang mendukung UML, bisa dipelajari di situshttp://www.objectsbydesign.com/ tools/umltools_byCompany.html.
Disamping itu, daftar tool UML berikut fungsi dan perbandingan kemampuannya juga dapat dilihat di http://www.jeckle.de/umltools.htm.
Pointer Penting UML
Sebagai referensi dalam mempelajari dan menggunakan UML, situs-situs yang merupakan pointer penting adalah:

sumber :
http://catur.dosen.akprind.ac.id

Rabu, 08 Februari 2012

Konsep OOP


KONSEP OOP

OOP (Object Oriented Programming) bukanlah merupakan bahasa pemrograman melainkan sebuah cara untuk menjadikan program yang kita buat menjadi lebih modular karena suatu permasalahan akan dikumpulkan dalam satu objek, yang selanjutnya akan disebut dengan kelas.  Pembahasan lebih lanjut mengenai kelas dan objek ini baru akan dibahas pada bab selanjutnya. Dengan kata lain pada bab ini akan dibahas pengenalan dan konsep dasar dari OOP sehingga akan lebih mudah memahami bab-bab selanjutnya. Secara umum kerangka OOP terdiri atas 7 bagian yaitu :

1. Komentar
2. Paket ( Package ) dan Import
3. Badan Kelas ( Class body)
4. Data
5. Method
6. Main Method

Blok Kerangka Dasar OOP

Pada pemrograman berorientasi objek terdapat dua istilah yang sangat terkenal yaitu kelas dan objek. Kelas dapat didefinisikan sebagai sesuatu yang mempunyai data (sifat) dan fungsi (kelakuan). Sedangkan Objek 
adalah instance dari sebuah kelas.
Contoh: Manusia adalah suatu kelas, maka instance atau objek dari kelas manusia adalah Udin, Sandra, Dewi, dan yang lainnya.


Penciptaan Kelas

Kelas dapat dibuat sebagai kelas yang baru atau dibentuk dari kelas yang sudah ada. Proses pembentukan  kelas baru dari kelas yang sudah ada menggunakan method Inheritance (pewarisan) menjadi kelas Super(induk) dan Kelas Sub(anak). Proses pembentukan kelas menghasilkan hierarki kelas yaitu puncak hierarki yang disebut sebagai kelas abstrak dengan memiliki dsekripsi data dan method yang sangat umum.


Kelas pada java didefinisikan dengan menggunakan kata kunci class.
Contoh sederhana penciptaan kelas:




class Siswa{
       //variable instan
    String nama;
      //metode
    void isiData(String namaku) {
             nama=namaku;
        }
     String ambilNama(){
         return nama;
        }
     }  



Penciptaan Objek
Objek dibuat dengan mula-mula membuat variable yang kelak merujuk ke objek. Variabel seperti ini biasa disebut variable objek. Selanjutnya objek diciptakan dengan melalui new dan hasilnya ditugaskan ke variabel 
objek. 



Contoh:
Siswa  mahasiswa_itn = new Siswa();










Selasa, 07 Februari 2012

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.

Daftar isi

  [sembunyikan


Sejarah

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 QueryLanguage).
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 John 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.


Data Definition Language

DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabelviewuser, 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]
(
ma_field1 tipe_data [constraints][, n
n aama_field2 tipe_data, ...]
)
atau
CREATE TABLE [nama_tabel]
(
ma_field1 tipe_data [, n
n aama_field2 tipe_data,
ield
...] [CONSTRAINT nama_ f 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 VARCHARTEXTBLOBENUM, dan sebagainya.
constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULLUNIQUE, 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
(
ername VARCHAR(30) CONSTRAINT PRIMARY KEY, p
u sasswd VARCHAR(20) NOT NULL,
tanggal_lahir DATETIME
);
akan membuat tabel user seperti berikut:
usernamepasswdtanggal_lahir


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 SELECTSELECT 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, ...]]
kondisi_aggregat]
[HAVING
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 ANDOR, dan sebagainya.
Contoh:
Diasumsikan terdapat tabel user yang berisi data sebagai berikut.
usernamepasswdtanggal_lahirjml_transaksitotal_transaksi
Aris6487AD5EF09-09-1987610.000
Budi97AD4erD01-01-199400
Charlie54879465406-12-196524312.150
DanielFLKH947HF24-04-198030
Erik94RER5417-08-19453450.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
transakai < 10 AND total_transaksi > 1000
WHERE jml _
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

Fungsi aggregat
Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:
  • SUM untuk menghitung total nominal data
  • COUNT untuk menghitung jumlah kemunculan data
  • AVG untuk menghitung rata-rata sekelompok data
  • MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.
Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada bagian HAVING, bukan WHERE.

Subquery
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
transaksi = ( SELECT
WHERE jml _MAX(jml_transaksi) FROM user
)


INSERT

Untuk menyimpan data dalam tabel dipergunakan 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 sintaks:
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