Tampilkan postingan dengan label Pemrograman Basis Data dan SQL. Tampilkan semua postingan
Tampilkan postingan dengan label Pemrograman Basis Data dan SQL. Tampilkan semua postingan

05/02/16

Pengertian Orientasi Objek (Object Oriented) Menurut Para Ahli

Pengertian Orientasi Objek (Object Oriented) Menurut Para Ahli - Sebuah objek kerapkali dipertimbangkan sebagai presentasi dari benda-benda nyata di dunia. Objek-Objek mengetahui apa yang harus dikerjakan, seperti objek karyawan dapat berbicara untuk menghitung potongan gaji. Objek Grafikal dapat berbicara untuk mengetahui bagaimana menggambar, dll. Contoh objek-objek yang lain dalam dunia nyata seperti pelanggan,perusahaan, sekolah, dll.

Pengertian Orientasi Objek (Object Oriented) Menurut Para Ahli_
image source: www.gtuguru.com
baca juga: Pengertian SQL (Structured Query Language) Server dan Contohnya

Definisi Objek

"Sebuah Objek adalah sebuah paket piranti lunak yang mengandung sekumpulan prosedur – prosedur ( metodologi ) yang saling berhubungan dan data ( variables ). " - David Taylor’s Object Oriented Technology: A Manager’s Guide [ Massachusetss: Addison-Wesley Publishing Company, 1981 ].

"Sebuah Objek mempunyai bagian, karakter, dan identitas; Struktur dan karakter dari objek yang mirip didefinisikan pada objek umum kelas; dan dapat dipertukarkan." - Grady Booch’s Object Oriented Analysis and Design with Applications.

Ciri-Ciri sebuah Objek
  • Mempunyai kemampuan untuk memberikan informasi tentang dirinya sendiri ( instantion ),
  • Mempunyai metadata yang dapat digunakan aplikasi untuk berhubungan dengan objek tersebut.
  • Mempunyai kemampuan untuk mewarisi kemampuan - kemampuan dari tipe objek (inheritance).
  • Mempunyai kemampuan untuk menyembunyikan data dan proses yang berada di dalam objek tersebut ( encapsulation ),
  • Mempunyai kemampuan untuk berinteraksi dengan objek yang lain (messages, interfaces).
  • Mampu mengetahui perbedaan dengan objek yang lain tanpa analysis,
  • Mampu memterjemahkan perintah yang sama dengan cara yang berbeda ( messages, method overloading ) – polymorphism.

Keuntungan Teknologi Objek
  • Mudah dalam pemeliharaan aplikasi,
  • Cepat dalam membangun sebuah produk,
  • Kualitas bagus biaya murah,
  • Kode program dapat digunakan lagi.

Karakter dari Objek Relational Databases
  • Dapat membuat user-defined datatypes,
  • Mendukung multimedia dan data objek yang besar,
  • Sesuai dengan standar objek SQL,
  • Mempunyai kemampuan database server dengan kualitas yang tinggi.


Daftar Pustaka
  • Alan Denis, Barbara Haley Wixon, David Tagerden, System Analys and Design : an Object – Oriented Approach with UML 2.0, John Willey and Sons, 2005 
  • Henry C. Lucas Jr., The Analysis, Design and Implementation of Information Systems 4th, McGraw Hill, 1992 
  • Satzinger, Jackson, Burd, Object-Oriented Analysis and Design with the Unified Process, Course Technology, 2005 
  • Simon Bennet, Steve McRobb and Ray Farmer, Object-Oriented System Analysis and Design Using UML, McGraw Hill, 2006 
  • Wendy and Michael Boggs, UML with Rational Rose 2002, Sibex Inc., 2002

Pengertian SQL (Structured Query Language) Server dan Contohnya

Pengertian SQL (Structured Query Language) Server dan Contohnya - Bahasa SQL adalah sebuah bahasa tingkat tinggi, beriorientasi pada group data, non prosedur untuk relational database. Disebut bahasa tingkat tinggi karena memakai bahasa Inggris. Disebut orientasi pada group data ( tabel ) karena berbeda dengan bahasa lain yang hanya mempunyai kapabilitas record. Bersifat non prosedur karena memberikan apa yang hendak kita inginkan dari informasi, bukan berdasarkan dengan cara apa kita harus mengambil informasi.

Sejarah SQL dibuat pada tahun 1970-an di IBM San Jose Research Laboratories yang merupakan bagian dari projek System R. Bahasa SQL menjadi sangat penting dalam penggunaannya karena ada 2 alasan: 
  1. Bersifat portabel karena aplikasi SQL yang dibuat di minikomputer bisa langsung digunakan di PC, 
  2. Prosedur bahasa database yang dibuat dibuat di PC, bisa dipakai untuk mengambil data di minikomputer karena adanya persamaan bahasa. 

Pengertian SQL (Structured Query Language) Server dan Contohnya_
image source: pixshark.com
baca juga: Model Database, Bahasa Database, dan Bahasa Relasional Database

Standarisasi dari bahasa SQL dimulai dari tahun 1986 dari American National Standards Institute ( ANSI ) – X3.135-86 dan pada tahun 1987 oleh International Standard Organization ( ISO ). Tahun 1989 , ISO dan ANSI mempublikasikan SQL Standard yaitu SQL-89 ( SQL 1 ) diteruskan SQL-92 dan SQL-99.

Bahasa SQL didasarkan pada penggunaan untuk mendefinisikan dan memanipulasi objek – objek pada database namun supaya dapat dimanfaatkan pada aplikasi dibuat pendekatan yang kita kenal dengan nama Host Language Interface yang digunakan untuk bahasa mesin mainframe seperti COBOL, C, PL/1 sedangkan dalam minikomputer kita kenal dengan nama Applications Programming Interface ( API ). Ada beberapa pendekatan untuk interface ( layer ), yaitu
  • Embedded Approach. Setiap perintah dalam program untuk mengakses database di tulis dalam satu kesatuan dengan program. Biasanya dengan menggunakan karakter khusus seperti $.Kemudian program tersebut di compile. 
  • Library Approach. Dalam hal ini database telah menyediakan fungsi – fungsi khusus untuk memanggil perintah – perintah SQL yang diinginkan programmer. 
  • Approaches Compared. Menggunakan kelebihan – kelebihan dari Embedded dan Library Approach. 

Kelebihan dari pendekatan Embedded adalah:
  • Spesifikasi SQL yang dibuat oleh programer dalam source code adalah sama dengan SQL yang digunakan pada level interface ad – hoc. Ini berarti query yang digunakan akan berjalan dengan baik karena sama. 
  • Kemampuan untuk dipakai dalam beberapa platform sejauh alat compile yang dipakai sama. 

Kekurangan dari pendekatan Embedded adalah
  • Proses compile dan precompile yang dibutuhkan prosedur pada aplikasi. Hal ini tentunya tidak praktis bagi programer dan programer diharuskan untuk terbiasa dengan source code ( precompiler ). Karena original source code sering dirubah maka berbeda jauh dengan original source code. 
  • Dibutuhkan tambahan gagasan ( SQL dan bahasa programming ) untuk mendukung akses database. Karena SQL adalah berdasarkan group data dan kebanyakan aplikasi memerlukan akses baris maka harus menggunakan cursors pada Embedded SQL. 

Sedangkan kelebihan dan kekurangan dari pendekatan Library adalah
  • Tidak portabel, sehingga tidak multi platform. Namun jikalau aplikasi menggunakan DBMS dengan O/S dan platform yang sama maka dengan mudah dipindahkan 
  • Tidak perlu dicompile ulang seperti yang digunakan pendekatan Embedded. 
  • Penggunaan call function memudahkan dalam penulisan aplikasi. 

OLTP ( Online Transaction Processing ) dan OLAP ( Online Analytical Processing )

Di dalam database di kenal 2 konsep database yaitu:

1. OLTP ( Online Transaction Processing ) adalah proses data yang digunakan untuk transaksi sehari-hari. Ciri-Ciri dari database OLTP adalah:
  • Akses data bersifat read-write, seperti insert,update dan delete, 
  • Orientasi data pada aplikasi, yaitu data yang diambil dari aktivitas bisnis. 
  • Karakter data tidak dipentingkan. Di pakai oleh keseluruhan sistem (Tidak terintegrasi ) 
  • Aktivitas data konsisten. 

2. OLAP ( Online Analtycal Processing ) adalah proses data yang digunakan analisa data seperti trend penjualan, umur, dll. Ciri – Ciri dari database OLAP adalah:
  • Akses data bersifat read-only, 
  • Orientasi data pada subjek bisnis, 
  • Data terintegrasi, 
  • Data bersifat History ( 2 – 5 tahun ). 
  • Aktivitas data kadang – kadang tinggi ( tidak rata ).

Daftar Pustaka
  • Henry C. Lucas Jr., The Analysis, Design and Implementation of Information Systems 4th, McGraw Hill, 1992

04/02/16

Model Database, Bahasa Database, dan Bahasa Relasional Database

Model Database, Bahasa Database, dan Bahasa Relasional Database - Penampilan konsepsual data di mana pengguna melihat adalah berdasarkan model yang disebut dengan database model. Database model mendefinisikan cara menampilkan entity, attribute dan relationship ( hubungan ) secara terstruktur. Menghubungkan antara konsepsual data dengan data fisik ada tanggungjawab dari DBMS.

Model Database, Bahasa Database, dan Bahasa Relasional Database_
image source: www.grpahlevi.com
baca juga: Pengertian Data, Database, dan Database Management System (DBMS)

Ada 3 data model database yang sampai saat ini digunakan yaitu

1. Hirarki Model ( Hierarcy Model ) : menampilkan data secara hirarki. Sebagai contoh yang mudah adalah ketika melihat struktur organisasi ataupun jikalau kita membuka window eksplorer.


Ada beberapa keterbatasan dari model hirarki, yaitu :
  1. Karena berstruktur hirarki maka jikalau kita hendak melihat data penulis maka terlebih dahulu kita harus membuka data penerbit,
  2. Entity anak hanya bisa mempunyai 1 induk entity
  3. Sebuah entity tidak bisa dihubungkan lebih dari 1 entity

Jadi secara natural hubungan hirarki adalah berdasarkan one to one dan one to many

2. Model Jaringan ( network model ) mempunyai sedikit kelebihan dari model hirarki.

Pada model jaringan, sebuah entity dapat mempunyai lebih dari 1 entity induk, dan beberapa buah entity anak dapat mempunyai beberapa buah entity induk. Namun demikian model jaringan masih mempunyai masalah hubungan many to many secara langsung. Sebagai contoh : jikalau kita hendak mencari semua buku yang diterbitkan oleh Bill Gates, lalu dengan menggunakan pointer yang mewakili hubungan penerbit untuk mencari buku yang diterbitkan oleh penerbit. Hal ini memberikan limitasi pada data fisik secara independen. Ketika hubungan berubah, aplikasi program jika ikut berubah.
3. Model Hubungan ( Relational Model ) diusulkan oleh E.F Codd dalam jurnal ilmiahnya “A Relational model of data for large shared data banks” pada tahun 1970. Codd menjelaskan penampilan data dipaksakan dalam bentuk konsep hubungan matemateka ( berdasarkan group ). Pada model Codd, data ditampilkan dalam bentuk tabel, dimana setiap tabel mempunyai kolom dan baris. Hubungan yang lain adalah berdasarkan kolom unik ( primary key ) dan kolom bukan unik ( foreign key ). Setiap table harus mempunyai 1 kolom unik ( primary key ) untuk membedakan 1 entity dengan entity lainnya ( entity integrity ). Kolom bukan unik ( foreign key ) tidak boleh kosong ( null ) – Referential Integrity.

BAHASA DATABASE

Digunakan untuk membuat dan memanipulasi objek – objek dan data di dalam database. Interaksi bahasa langsung dengan database disebut query language. Sedangkan bahasa yang digunakan di dalam program di sebut dengan sublanguage. Ada beberapa komponen bahasa database yaitu:
  1. Data Definition Language ( DDL ) seperti CREATE, ALTER, DROP, RENAME, TRUNCATE, ANALZE, GRANT, REVOKE. 
  2. Data Manipulation Language ( DML ) seperti DELETE, INSERT, SELECT, UPDATE.
  3. Transaction Control Statements seperti COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION
  4. Session Control Statements seperti ALTER SESSION, SET ROLE
  5. System Control Statements seperti ALTER SYSTEM
  6. Embedded SQL Statements merupakan kombinasi dari DDL, DML, Transacation Control Statements dalam sebuah bahasa data sub langauge seperti DECLARE, CURSOR, OPEN, CLOSE, DECLARE DATABASE, CONNECT, DECLARE STATEMENT, DESCRIBE, WHENEVER,FETCH, PREPARE,EXECUTE, EXECUTE IMMEDIATE.

BAHASA RELASIONAL DATABASE ( RELATIONAL DATABASE LANGUAGES )

Ada beberapa bahasa relational database yang dapat didefinisikan

a. Relational Algebra yaitu bahasa yang berdasarkan kumpulan operator yang meliputi tradisional operator ( UNION, INTERSECTION, DIFFERENCE ) dan operator khusus sepert ( PROJECTION,RESTRICTION, JOIN, PRODUCT, DIVISION ).

b. Relation Calculus berdasarkan predikat kalkulus yang digunakan untuk hubungan data . Gagasan dasar dari relational calculus adalah query variable yaitu variabel yang menghubungkan beberapa baris dalam tabel. Query ini berdasarkan target yang mendefinisikan spesifik kolom sebagai hasil dan kualifikasi yaitu memilih baris dari target tabel berdasarkan ekspresi dari query variabel tersebut. Contoh dalam kalimat adalah carilah buku yang mempunyai halaman lebih dari 500.

Penulisan bahasa databasenya adalah sebagai berikut
RANGE OF B IS BOOKS.
RETRIEVE ( B.ISBN,B.TITLE ) WHERE B.LENGTH > 500
Bahasa database ini disebut QUEL yang diimplementasikan Ingres System. Produk IBM adalah QBE ( Query By Example ) dalam bahasa SQL.

c. Mapping Oriented Languages.
Bahasa ketiga diusulkan oleh Boyce pada tahun 1974. Digunakan untuk pengguna yang tidak mengerti tentang query variabel. Contoh penulisan dalam bahasa databasenya adalah
SELECT ISBN, TITLE FROM BOOKS WHERE LENGTH > 500

d. Relational Completeness
Ketika pertama kali Codd mengusulkan relational kalkulus. Beliau mendefinisikan bahasa relational databasenya menjadi relationally complete. Relational Complete mempunyai kelebihan untuk mengekspresikan relational kalkulus. Kerapkali, definisi ini merupakan perpanjangan yang meliputi pengambilan informasi dari database dengan 1 kalimat. Dengan kata lain, jika informasi dapat di ambil dari tabel database, query yang digunakan untuk mengambil informasi dapat diformulasikan dengan menggunakan bahasa yang bebas. Codd, juga memperlihatkan bahwa relational algebra merupakan relationally complete. Kebanyakan dari bahasa yang dituju baik itu SQL dan QUEL adalah relationally complete.

Ada 12 aturan yang diajukan oleh Codd, yaitu :


Aturan
Keterangan
0
Relational DBMS harus dapat mengatur database secara keseluruhan dengan menggunakan kapasitas relational.
1
 The Information Rule
Semua informasi yang ada di relational database ( meliputi tabel dan    kolom ) harus mewakili nilai dalam tabel.

2
Guarantedd Access
Setiap nilai di dalam relational database harus dapat di akses dengan menggunakan kombinasi dari nama tabel, nilai dari kolom unik ( primary   key ), dan kolom yang lain

3
Systematic Null Value Support
DBMS harus mendukung secara sistematis untuk nilai kosong ( null ), nilai default, dan berdiri sendiri.

4
Active, On Line Relational Catalog
Keterangan dari database dan semua isinya harus mewakili level logika sebagai tabel, dan dapat dilihat dengan menggunakan bahasa database.

5
Comprehensive Data Sublanguage
Harus sekurangnya 1 bahasa yang mendukung definisi data, manipulasi, aturan integritas, hak akses dan transaksi.

6
View Updating Rule
Semua penampilan data dapat di edit melalui sistem.

7
Set – Level Insertion, Update dan Deletion
DBMS tidak hanya mendukung level penampilan informasi, tetapi juga mendukung penambahan, peng-editan dan penghapusan informasi.

8
Physical Data Independence
Aplikasi program dan program ad – hoc secara logika tidak dipengaruhi metode akses fisik atau struktur penyimpanan dirubah.

9
Logical Data Independence
Aplikasi program dan program ad –hoc secara logika tidak dipengaruhi jika terjadi penambahan struktur tabel.

10.
Integrity Independence
Bahasa database harus bisa mendefinisikan aturan integritas informasi, harus di simpan pada metadata secara on line, dan tidak bisa dilewatkan.

11.
Distibution Independence
Permintaan program aplikasi dan ad –hoc secara logika tidak dipengaruhi ketika data pertama kali didistribusikan, atau ketika tidak didistribusikan.

12.
Non – Subversion
Harus tidak bisa dilewatkan aturan integritas yang didefinisikan melalui bahasa database dengan menggunakan level bahasa terendah.




Daftar Pustaka
  • Henry C. Lucas Jr., The Analysis, Design and Implementation of Information Systems 4th, McGraw Hill, 1992

Pengertian Data, Database, dan Database Management System (DBMS)

Pengertian Data, Database, dan Database Management System (DBMS) - Istilah database mungkin telah umum di dengar kalangan akademik maupun masyarakat teknologi informasi. Database pada awalnya timbul karena adanya kebutuhan seperti pencatatan data dalam jumlah besar ( Lihat Sejarah Database ). Jikalau hal itu dilakukan oleh seorang manusia tentu memakan waktu yang lebih lama daripada kalau kita menggunakan teknologi komputer. Database dapat diibaratkan sebuah lemari besar di mana di dalamnya terdapat banyak rak – rak yang berisikan dokumen – dokumen. Sebagai Ilustrasi adalah jikalau kita pergi ke perpustakaan maka pertama kali yang kita lakukan adalah melihat daftar buku yang hendak kita cari, kemudian di dalam daftar buku tersebut terdapat nomor yang mengidentifikasikan letak buku tersebut. Berdasarkan no. buku tersebut kita menuju lemari dan rak yang berisikan buku yang kita inginkan. Ilustrasi yang lain adalah ketika kita hendak mencari nama pelanggan pada buku catatan pelanggan. Biasanya catatan tersebut terdiri dari no. pelanggan, nama, no. telpon dsb. Berdasarkan catatan tersebut dapatlah kita mencari pelanggan yang kita inginkan. Sebenarnya jika kita teliti lebih dalam, biasanya pencatatan itu hanya berupa 2 dimensi yaitu baris dan kolom kemudian yang kita kenal dengan nama tabel.

Berawal dari konsep yang di atas, timbul pemikiran bagaimana jikalau di digitalisasi yaitu meminta bantuan mesin untuk membantu manusia melakukan pencatatan. Berawal dari hal yang sederhana akhirnya terciptalah mesin komputer pada tahun 1890 yang melakukan pencatatan dengan menggunakan teknologi komputer ( punch card ).

Pengertian Data, Database, dan Database Management System (DBMS)_
image source: logodatabase.net
baca juga: Sejarah Singkat Perkembangan Database Menurut Para Ahli

Jadi secara harafiah arti dari database adalah sistem penyimpanan data secara elektronik. Di sini terlihat dari proses manual ke otomatisasi. Sedangkan sistem di sini menunjukkan sesuatu yang diolah secara teratur sehingga memudahkan seseorang / pengguna untuk mencari data yang diinginkannya. Jadi kesimpulannya dari penggunaan database adalah memudahkan manusia untuk melakukan proses pengolahan data.

Dalam proses selanjutnya pengguna dapat membuat tabel baru, mengisi data baru ke dalam tabel, mengedit data, menghapus data bahkan menghapus tabel tersebut. Intinya adalah tergantung dari kebutuhan pengguna.

Pada awal perkembangan database,data yang disimpan ke dalam database dalam bentuk tabel namun data tersebut berdiri sendiri – sendiri seperti tabel karyawan, tabel pelanggan, dll. Pencarian data dalam tabel dilakukan dengan membaca secara berurutan. Jikalau data banyak maka proses pencarian akan sangat lama. Oleh karena itu tabel yang berdiri sendiri – sendiri tersebut kita sebut dengan istilah flat – file.

DATA, DATABASE, DATABASE MANAGEMENT SYSTEM

1. DATA

Data adalah mewakili kenyataan pada suatu enitity ( obyek ).

Entities adalah sangat umum, mewakili sebuah obyek atau barang yang sudah diidentifikasikan sebelumnya. Sebagai contoh sebuah buku terdiri penulis, no. penerbit, tgl. penerbitan, halaman. Kesemuanya itu mewakili entity yang bernama buku. Sedangkan penerbit, no. buku, diterbitkan oleh, halaman adalah data yang mewakili kenyataan sebuah buku. Data – data tersebut di sebut attribute dalam sebuah entity.

Sebuah entity dapat dihubungkan dengan entity lain yang disebut dengan nama relationship. Sebagai contoh entity book mungkin terhubung dengan entity toko melalui hubungan “no.buku”. Dalam hal ini hanya ada 2 entity yang terhubung yang disebut dengan binary relationship. Klasifikasi dari entity, attribute, relationship bersifat subyektif artinya ketentuan berdasarkan kebutuhan. Sebagai contoh entity buku mempunyai attribute penulis. Namun kita bisa mempertimbangkan penulis sebagai sebuah entity di mana data ( attribute ) dapat berupa no. induk penulis, nama penulis, alamat penulis. Hubungan antara entity dapat didefinisikan dalam berbagai jalan. Sebagai contoh sebuah buku mungkin hanya mempunya satu penerbit namun penerbit bisa mempunyai banyak buku yang dipublikasikan. Hal ini disebut dengan istilah cardinality dari hubungan penerbit.

Ada beberapa hubungan yang dapat dijelaskan
One to One : 1 entity mempunyai hubungan hanya dengan 1 entity
  1. One to Many : 1 entity mempunyai hubungan dengan banyak entity. Sebagai contoh Setiap penerbit mempunyai banyak buku yang diterbitkan. Namun setiap buku hanya diterbitkan oleh 1 penerbit. Hubungan antara buku dan penerbit di sebut one to many.
  2. Many to Many : Seorang penulis mungkin mempunyai banyak buku yang ditulisnya, dan sebuah buku mungkin ditulis oleh beberapa penulis. Hubungan antara penulis dan buku disebut many to many.

Sebuah entity mungkin mempunyai 1 attribute yang unik dari entity yang lainnya. Sebagai contoh no.penerbit untuk menunjukkan sebuah buku. No. Penerbit disebut dengan key attributes.

2. DATABASE

Database mempunyai 2 tujuan utama yaitu
  1. Untuk mendapatkan data tentang entity dan hubungannya.
  2. Untuk memberikan informasi kepada pengguna dari database. 

Secara umum definisi dari database adalah berbagi ( shared ), penyimpanan yang saling terhubung ( integration collection ) , kumpulan ( repository ) yang terintegrasi dari data. 2 kata yang menitik – beratkan pada pendefinisian dari database adalah berbagi ( shared ) dan yang saling terhubung ( integrated ). Berbagi ( shared ) berarti beberapa pengguna dapat meng-akses data di dalam database secara bersama – sama. Yang terhubung ( integrated ) berarti menghilangkan data yang terduplikasi ( informasi yang ditulis lebih dari 1 kali ). Sebagai contoh informasi tentang data mahasiswa mungkin saja tersebar di berbagai komputer namun jikalau diletakkan dalam 1 server data mahasiswa itu di akses secara bersama – sama oleh pengguna maka dapat dikatakan database.

3. DATABASE MANAGEMENT SYSTEM ( DBMS )

DBMS adalah sebuah piranti lunak yang mengatur penyimpanan dan akses data di dalam database. Tentunya hal ini di atur secara otomotis – berdasarkan sistem informasi management. Kata management meliputi beberapa fungsi yang meliputi keamanan, akses secara bersama – sama, dan perbaikan. Pengguna dan program meng-akses dan menyimpan data dengan berinteraksi melalui DBMS.

Kebanyakan dari DBMS mempunyai beberapa cara untuk menyimpan data pada alat penyimpanannya, seperti bagaimana data di atur dalam disk, bagaimana cara meng-aksesnya, dan seterusnya dan semuanya berinteraksi dengan level internal dari database.

DBMS bertanggungjawab dalam membagi aplikasi atau pengguna ( sesuai dengan hak akses ) dari keruwetan level internal dan menampilkan secara mudah, dalam tampilan logika dari sebuah data. Tujuan dari semua database adalah memberikan dukungan data fisik yang berdiri sendiri ( physical data independent ). Istilah lain adalah penampilan luar ( eksternal ) yaitu bagaimana menampilkan data kepada masing – masing pengguna.

Database juga mempunyai sebuah metadata ( data dictionary ) yang berfungsi untuk menyimpan informasi tentang database dan objek – objek yang ada di database.


Daftar Pustaka
  • Henry C. Lucas Jr., The Analysis, Design and Implementation of Information Systems 4th, McGraw Hill, 1992

Sejarah Singkat Perkembangan Database Menurut Para Ahli

Sejarah Singkat Perkembangan Database Menurut Para Ahli - Pada saat ini berbagai macam sistem aplikasi mengakses jutaan data dalam berbagai bentuk format data. Sistem Aplikasi Rumah Sakit mencari data yang digunakan baik itu mencari data pasien ataupun dokter. Aplikasi Penerbangan menggunakan ribuan data untuk mengatur penerbangan dan penumpangnya. Sistem Perbankan juga menggunakan data untuk mencari data transaksi pelanggan. Saat ini berbagai situs internet menggunakan Search Engine yang digunakan untuk keperluan pencarian data dalam internet. Perusahaan besar dan kecil menggunakan database untuk mengontrol inventory, keuangan, mengatur sumber daya manusia dan kebutuhan analisa yang lain.

Peranan Database tidak saja mempunyai peranan yang penting dalam sistem arsitek komputer tapi juga sebagai salah satu pendorong kekuatan ekonomi Amerika Serikat dengan sumbangan pajak kurang lebih delapan juta dollar Amerika . Perusahan-perusahaan Amerika Serikat seperti Microsoft Inc, Oracle Corporation, Informix Corporation, Sybase Incooperated, Teradata Corporation mendominasi pasar database di dunia. Penggunaan database tidak saja digunakan perusahaan namun juga meliputi institusi pendidikan, militer , pemerintah ataupun kombinasi dari berbagai institusi tersebut.

Sejarah Singkat Perkembangan Database Menurut Para Ahli_
image source: www.dirkstrauss.com
baca juga: Beberapa Query (Perintah) Dasar Pada Database SQL

Kebanyakan dari relational database tersebut tidak terlepas dari penemuan model yang diketemukan pada tahun 1960 – an dan 1970 – an. Perlu digaris bawahi pengembangan database tidak terlepas daripada pengaruh pemerintah ( Amerika Serikat ) dalam hal meningkatkan teknologi. Sebagai contoh walaupun pengembangan teknologi database dilakukan oleh perusahaan IBM, namun atas prakasa pemerintah Amerika Serikat melalui Universitas California di Berkeley ( UC – Berkeley ) untuk menyebarluaskan ide teknologi database dan memberikan hak intelektual secara baik komersial maupun akademik.

SEJARAH DATABASE

Pemerintah Amerika Serikat selalu melakukan pengumpulan, meng-urutkan, dan membuat laporan dari jumlah data yang besar. Pada tahun 1890, Departemen Sensus Penduduk Amerika menganjurkan majikan karyawan, Herman Hollerith, untuk membuat system peralatan proses informasi secara otomatis. Sebagai hasilnya, mesin kartu ( Punch Card ) digunakan untuk sensus pada tahun 1890 dan 1900. Pada tahun 1911, perusahaan Hollerith bergabung dengan perusahaan lain, dan juga didukung oleh Departemen Sensus Penduduk untuk membuat sebuah perusahaan baru yang kita kenal dengan nama International Business Machines ( Anderson, 1988 ), sekarang dengan nama IBM.

Selama perang dunia 1, pemerintah Amerika Serikat menggunakan kartu ( Punch – Card ) untuk melakukan proses berbagai data yang digunakan untuk produksi, mengumpulkan pajak, dan klasifikasi wajib militer. Pada tahun 1935, Departemen Perlindungan Sosial ( Social Security Act ), menggunakan Kartu ( Punch Card ) untuk penempatan tenaga kerja dari 26 juta karyawan. Ini adalah pekerjaan administrasi terbesar di dunia, IBM membantu membuatkan mesin khusus untuk pengumpulan data tersebut. Departement Sensus Penduduk akhirnya membeli model pertama dari komputer digital pertama di pasar komersial, dengan nama UNIVAC 1. Pada tahun 1959, Pentagon sendiri mempunyai 200 komputer untuk kebutuhan bisnis seperti audit biaya, audit peralatan, audit karyawan ) dengan biaya pemeliharaan kurang lebih 70 juta dollar Amerika Serikat per tahun. Pada saat itu Amerika didominasi oleh kartu punch untuk pemrosesan data. Berawal dari kebutuhan pemerintah dan akhirnya banyak perusahaan – perusahaan menggunakannya.

Pada awal tahun 1960 –an, muncul keinginan untuk memindahkan tugas piranti keras dari tugas – tugas programmer. Istilah “database” muncul untuk menangkap pengertian bahwa informasi disimpan di dalam komputer dapat berupa konsepsual, terstruktur, dan dapat dimanipulasi secara mandiri tanpa interfensi piranti keras. Pada saat itu, kebanyakan pembuatan aplikasi database dibuat untuk keperluan lingkungan militer dan mata – mata ( intelligence ), tetapi konsep tersebut dengan cepat diadopsi pada pada pengguna komersial ( System Development Corporation, 1964; Fry dan Sibley, 1974 ).

Pada saat komputer memasuki pasar komersial, sejumlah teknik muncul untuk memfasilitasi akses data, memastikan kualitas, memelihara privasi, dan bahkan menyediakan untuk kontrol data.

Pada tahun 1960, Konferensi System Bahasa Data ( Data Systems Languages – Codasyl ), yang diadakan oleh Departemen Pertahanan dan Keamanan Amerika Serikat membahas tentang standar aplikasi piranti lunak, membangun bahasa Common Business – Oriented Language ( COBOL ) untuk programming ( ACM Sigplan, 1978 ), dan menggabungkan bahasa pendefinisian data ( Fry dan Sibley, 1974 ). Magnetic disk drive yang dapat mengakses data secara random, mulai digantikan dengan magnetic tape drives, yang membutuhkan akses data yang berurutan, untuk online storage. Pada tahun 1961, Charles Bachman dari perusahaan General Electric memperkenalkan system Integrated Data Store ( IDS ) , yang merupakan pelopor system management database yang memanfaatkan teknologi penyimpanan ( storage ) terbaru ,meliputi novel schemas dan logging, dan kemampuan yang lain.

Pada awal tahun, trend inovasi teknologi praktis dilaksanakan / di buat oleh user group dan peneliti dari industri terkait, dengan pengaruh sedikit dari akademi ( CSTB, 1982; Wiederhold, 1984 ). Pada pertengahan tahun 1960, Bachman dan yang lainnya, kebanyakan dari perusahaan dan pabrik, membuat Database Task Group ( DBTG ) dibawah Codasyl untuk menyatukan persamaan pendapat dari berbagai bidang . Group tersebut mengumumkan beberapa set spesifikasi untuk bahasa komputer, COBOL terutama sekali, yang mengatur database. Pada Tahun 1971, hal tersebut diumumkan sebagai standar umum, yang digunakan bahasa umum untuk berbagai industri dengan pendekatan Codasyl untuk managament database. Beberapa Codasyl berdasarkan produk diperkenalkan untuk komputer besar ( mainframe ) oleh Eckerct – Mauchly Computer Corporation ( pembuat UNIVAC), Honeywell Incorporated, dan Siemens AG, dan, untuk komputer sedang ( minicomputers ), dilakukan oleh Digital Equipment Coporation ( DEC ) dan Prime Computer Corporation.

Secara praktis pemasok produk yang tidak ikut adalah IBM, yang pada awal ( Pada Tahun 1968 ) memperkenalkan produknya sendiri, IMS, yang diambil dari bagian National Aeronautics and Space Administration ( NASA ) – Appolo Project. Dapat dijalankan pada mesin S/360. Sebaliknya Codasyl berdasarkan model jaringan data sedangkan IBM database menggunakan struktur hirarki. Baik produk IBM maupun Codasyl, kadang – kadang disebut dengan nama navigasi database karena produk membutuhkan pengguna untuk membuat program atau menggunakan data set.

Pada akhirnya ada seorang ilmuwan dari IBM yang kurang puas dengan produk Codasyl ataupun produk paket database dari IBM. Edgar F. ( Ted) Codd, seorang matematikawan, yang bergabung dengan IBM pada tahun 1949 dan pada akhirnya pindah ke IBM San Jose. Codd mendapatkan teknologi database yang sekarang ataupun yang baru harusnya dapat menggunakan satu perintah dan tidak perlu menggunakan beberapa perintah.

Pada seri laporan teknikal IBM, pada makalah “ A Relational Model of Data for Large Shared Data Banks,” Codd menunjukkan pendekatan baru untuk mengatur dan akses data. Apa yang dimaksud Codd adalah model relational yang menunjukkan 2 kata kunci :

“ Yang mendukung pendefinisian data dengan hanya struktur biasa tanpa menambahkan tambahan struktur untuk mewakili representasi dari mesin. Menurutnya, sesuatu yang mendukung basis data tingkat tinggi yang menghasilkan secara maksimal antara program pada satu pihak dan mewakili mesin di satu pihak. ( Codd, 1970 ).”

Dengan kata lain, model relasi mengandung
  1. data yang berdiri sendiri dari perangkat keras dan implementasi penyimpanan ( storage );
  2. Navigasi secara otomatis pada tingkat tinggi, tanpa bahasa prosedur untuk mengakses data. Malahan proses satu record dalam satu waktu, programmer dapat menggunakan satu bahasa yang dapat mengakses keseluruhan data. 

Model Codd mempunyai pengaruh yang luar biasa pada penelitian yang ada, banyak menelurkan beberapa prototype projek. Model Relasi Codd mendapat sambutan hangat di dalam masyarakat luas.

1. SYSTEM R

Pada awal tahun 1970, sejumlah programmer dari IBM pindah dari Yorktown ke San Jose. Group ini mendesain dan membangun prototype system untuk mendemonstrasikan ide – ide dari relational database. Dengan System R, prototype ini bertujuan untuk mendukung mutu yang tinggi, tanpa navigasi, data yang independen untuk di akses oleh secara terus – menerus, dengan integritas yang baik dan kuat ( Astrahan et al, 1976 ). Fase dari Projek pertama, sekitar tahun 1974 – 1975, menghasilkan prototype yang cepat untuk didemonstrasikan apa yang telah dikerjakan, tetapi pembahasan source code ditinggalkan. Fase berikutnya menghasilkan fungsi secara penuh, versi multi pengguna, yang digunakan untuk mengevaluasi percobaan – percobaan berikutnya pada tahun 1978 – 1979. Boleh jadi pembuatan yang dihasilkan dari projek tersebut adalah Structure Query Language ( SQL ), sekarang menjadi standar akses database di Amerika maupun dunia internasional.

System R tidak mendapat menyakinkan managemen IBM untuk meninggalkan produk sekarang dan beralih ke relational database. IBM dan pelanggannya masih berkeyakinan untuk menggunakan teknologi IMS. Memerlukan usaha dari yan dibiayai pemerintah untuk membuktikan bahwa relational database dapat menjadi produk yang dapat diperdagangkan.

2. INGRES

Pada tahun 1973, tentang kapan System R mulai di pakai di IBM, 2 orang ilmuwan dari Universitas California ( UC – Berkeley ). Michael Stonebraker dan Eugene Wong, menjadi tertarik untuk melakukan penelitian pada relational database. Awalnya, mereka mengumpulkan dana untuk mendisain system data grafikal untuk group ekonomi Berkeley ( nama Ingres digunakan untuk mewakili sistem grafik interaktif dan pencarian data ). Untuk mendapat dukungan lebih jauh, Stonebraker melakukan pendekatan pada Advanced Reseach Projects Agency ( DARPA ), yang sebelumnya merupakan sumber dana untuk penelitian dan pembangunan system komputer. Baik DARPA maupun Office of Naval Reseach ( ONR ) tidak mendukung Ingres, namun mereka telah mendukung penelitian database di tempat lain.

Stonebraker lalu memperkenalkan idenya ke perusahaan lain, dan atas pertolongan Wong dan teman dari Berkeley, Lotfi Zadeh, yang mendapat dukungan dari NSF dan 3 wakil dari militer ( Air Force Office of Scientific Research, the Army Research Office, dan Navy Electronic Systems Command ). Pengalaman dari pencarian dana yang baik untuk Ingres adalah pembelajaran dalam membuat proposal dan pengirimannya.

Setelah mendapat dana, Ingres dibangun, sekitar pertengahan 1970 an, prototype system relation database dibuat yang mempunyai kesamaan dengan System R ( IBM ) tetapi mempunyai perbedaan pada perangkat keras dan system operasi. Ingres mempunyai persamaan evolusi dengan Sistem R, pada fase pertama demonstrasi solusi pada tahun 1974 kemudian diikuti oleh beberapa revisi untuk membuat pemeliharaan kode lebih baik. Ingres kemudian disebarkanpada komunitas kecil pengguna, baik di dalam maupun di luar akademik, yang memberi input balik pada group pembuat. Proses penyebaran selanjutnya dengan menggunakan mesin DEC di universitas. Anggota dari team projek menulis ulang prototype Ingres secara berulang dalam tahun itu dengan menggabungkan beberapa pengalaman, pendpat balik dari pengguna, dan ide – ide baru. Ingres juga mempunyai bahasa sendiri, QUEL, yang mempunyai kesamaan, dan mempunyai perbedaan dari produk IBM SQL ( Stonebraker, 1976, 1980 ).

Teknologi Ingres menyebar ke sektor komersial melalui 3 saluran utama yaitu kode, individu, dan pulikasi. Berbeda dengan projek IBM, Ingres source code tersedia di masyarakat umum, kurang lebih 1000 salinan telah didistribusikan ke seluruh dunia jadi ilmuwan komputer dan programmer dapat mempunyai pengalaman dengan system dan dapat dimodifikasi seusai dengan kebutuhan. Michael Stonebraker mendirikan Ingres Corporation ( dibeli oleh Computer Associates pada tahun 1994 ) untuk memperdagangkan kode Berkeley secara langsung. Robert Epstein, kepala programer dari Ingres pada tahun 1970, pindah ke Britton- Lee Incorporated dan akhirnya Sybase. Baik Britton-Lee atau Sybase menggunakan ide dan pengalaman dari pemikiran orisinil Ingres, dan beberapa agen pemerintah merupakan pelanggan dari kedua perusahaan tersebut. Computer Associates mengeluarkan versi produk Ingres pada tahun 1980.

Mengikuti pergerakan ilmuwan Ingress melalui komunitas database yang menyebarkan teknologi lebih jauh. Jerry Held dan Carol Youseffi pindah dari UC-Berkeley ke Tandem Computer Incorporated, di mana mereka membuat system relational, yang merupakan awal dari NonStop SQL. Sampai bergabungnya Kleiner, Perkins, Caufield & Byers pada tahun 1988. Held adalah senior vice president teknikal di Oracle, di mana dia memimpin perjuangan perusahaan database tersebut. Paula Hawthorn pindah dari Ingres ke Britton Lee ( sama seperti Michael Ubell ) dan akhirnya menjadi pendiri dari Illustra Information Technology Incorporated, sekarang merupakan bagian dari Informix. Stonebraker sendiri bekerja untuk Ingres Corporation, Illustra dan Informix. Alumni Ingres yang lain pindah ke AT&T, Hewlett-Packard Company ( HP ), IBM dan Oracle, membawa semua pelajaran dari Ingres.

Kesuksesan dari SQL selalu menimbulkan kecemburuan di tubuh IBM, yang dapat mengambil teknologi bahasa SQL pada tahun berikutnya dan ini terjadi. Oracle yang didirikan oleh Larry Ellison (1977) membuat dan mula menjual produk SQL yang kompatibel sebelum IBM menjual produk SQL ke pasar. Ellison belajar dari penjualan SQL melalui publikasi yang dilakukan projek team System R. IBM memaksakan untuk membuat system SQL / DS di bawah ancaman produk kompetitif dari perusahaan database yang ada, seperti Software AG, perusahaan Jerman. Dan perusahan yang belum berpengalaman seperti Informix dan Ingres, yang juga memperkenalkan system relational.

Teknologi System R dan Ingres bukan satu satunya usaha relational database dari buah hasil kerja Cood. Penelitian lain di Universitas Toronto, IBM di Inggriss, Universitas Utah dan Universitas Wiconsin mempunyai kontribusi juga. Menjadi sebuah kenyataan bahwa model relational mempunyai limitasi, terutama pada data yang kompleks. Pada tahun 1982, projek Ingres berakhir dan pada tahun 1985 dirubah menjadi Postgress di Universita California – Berkeley, yang merupakan perpanjangan dari penambahan objek relation model. Perubahan ini bertepatan dengan DARPA yang merekrut program manager untuk database pertama kali, yang membiayai Postgres. Projek ini menjadi bagian dari usaha untuk perpustakaan digital dan penelitian database.

Tahun yang menonjol untuk model relational ada tahun 1980, ketika produk SQL/DS dari IBM memukul pasar untuk mainframe, pemasok kecil mulai menjual generasi kedua system relational dengan pemasaran yang sukses, dan Codd mendapat penghargaan dari Assocation for Computing Machinery’s ( ACM ) . Sistem Relational memasuki jamannya.

Pemerintah Amerikas Serikat mempunyai peranan yang penting dalam perkembangan relational database. Pada awalnya pemerintah mempunyai misi untuk membuat pasar baru untuk teknologi dengan memberikan insentif pada inovasi produk. Kebutuhan Departemen Sensus Penduduk pada proses pengumpulan informasi akhirnya menghasilkan otomisasi dari sebuah komputer. Keterlibatan dunia academic juga mempunyai peranan yang besar dalam menyumbangkan atau memperbaharui kemajuan dari teknologi database.Pada akhirnya perkembangan database juga tidak luput dari perusahaan database yang bersaing satu dengan yang lain untuk mendapatkan pangsa pasarnya. Oracle database, sampai saat ini tetap memimpin teknologi database.

SEJARAH SINGKAT PERUSAHAAN ORACLE

Tahun
Keterangan
1964
Charles Bachman dari General Electric mengajukan model jaringan dengan record data dihubungkan secara bersama – sama,
1965
North American Aviation’s Space Division dan IBM membuat pendekatan kedua berdasarkan model hirarki. Dalam hal ini, data ditampilkan dalam bentuk tree ( pohon ),
1969
Produk IBM berdasarkan model hirarki dipasarkan dengan nama Information Managemetn System ( IMS )
1970
Untuk pertama kali konsep relational database dijabarkan oleh Dr. Edgar F. Codd melalui artikel penelitian IBM publikasi yang berjudul “System R4 Relational.”
1979
Relational Software, Incorporated ( RSI ) didirikan dan me-release Oracle V.2 sebagai relasional database pertama.
1985
Oracle menyatakan 1000 relasional database di pakai pelanggannya.
1983
Relational Software Incorporated dirubah namanya menjadi Oracle Corporation.
1985
Oracle mengumumkan bahwa databasenya dapat berjalan lebih dari 30 platform.
1986
Oracle support model Client / Sever
1988
Oracle memasuki pasa ERP  ( Enterprise Resources Planning ) – Oracle Financial
1989
Oracle database versi 6 diluncurkan. Untuk pertama kalinya PL / SQL diperkenalkan. 
1993
Oracle database versi 7.0.
1997
Oracle pertama kali mendukung object pada database yang dikenal dengan nama Object Relational Database Management System ) – Oracle 8
1999
Oralce memasuki model internet. Salah satu kemampuan yang besar adalah mendukung java pada oracle database.
2000
Perusahaan Oracle tidak mendukung database management system saja tetapi pembangunan semua lini aplikasi. Application Server dapat dijalankan di arsitektur 3 tier client / server
2001
Oracle 9iDB Direlease.
2003
Oracle Grid diperkenalkan.


Sekian artikel tentang Sejarah Singkat Perkembangan Database Menurut Para Ahli.

Daftar Pustaka
  • Alan Denis, Barbara Haley Wixon, David Tagerden, System Analys and Design : an Object – Oriented Approach with UML 2.0, John Willey and Sons, 2005
  • Henry C. Lucas Jr., The Analysis, Design and Implementation of Information Systems 4th, McGraw Hill, 1992 
  • Satzinger, Jackson, Burd, Object-Oriented Analysis and Design with the Unified Process, Course Technology, 2005
  • Simon Bennet, Steve McRobb and Ray Farmer, Object-Oriented System Analysis and Design Using UML, McGraw Hill, 2006
  • Wendy and Michael Boggs, UML with Rational Rose 2002, Sibex Inc., 2002

27/08/15

Fungsi String Pada MySQL Database Lengkap + Contoh

Fungsi String Pada MySQL Database Lengkap - MySQL memiliki bermacam-macam fungsi string. Biasanya, data string disimpan dalam kolom tabel dengan type data CHAR, VARCHAR, ataupun TEXT

Fungsi String Pada MySQL Database Lengkap + Contoh_

Fungsi String MySQL

Beberapa fungsi string yang akan dibahas pada artikel kali ini adalah sebagai berikut: Ascii, Asciistr, Biin, Cast, Chr, Upper, Lower, Initcap, Coalesce, Compose, Concat, Convert, Decompose, Format, Length, Locate, Lpad / Rpad, Ltrim / Rtrim, Repeat, Replace, Reverse, Dump, Space, To_Char, Unstr, Upper, dan Vsize.

1. ASCII
Fungsi ASCII digunakan untuk menampilkan nilai ASCII dari sebuah karakter. Jika nilai dari sebuah atribut terdiri dari kata ( bukan karakter ), maka karakter pertama yang akan digunakan/dirubah menjadi nilai ASCII.

Contoh:
SELECT f_name, ASCII(f_name)
FROM staff

2. ASCIISTR
Mengkonversi string ASCII menjadi sebuah string ASCII dalam bentuk karakter set database.

Contoh:
SELECT ASCIISTR(CHR(128) | | 'Hello' | | CHR(255))
FROM dual;

3. BIIN
Mengembalikan sebuah representasi String dari nilai biner N, dimana N adalah sebuah nomor yang besar.

Contoh:
SELECT BIN(12);

4. CAST
Fungsi CAST digunakan untuk mengkonversi satu tipe data menjadi tipe data yang lain.

Contoh:
SELECT CAST ('1 June 2005' AS VARCHAR2(20))
FROM dual;

5. CHR
Fungsi CHR digunakan untuk menampilkan karakter dari nilai ASCII yang diinginkan.

Contoh
SELECT(CHR(68) || CHR(65) || CHR(78))
FROM dual;

6. UPPER
Merubah string menjadi huruf kapital seluruhnya.

Contoh:
SELECT UPPER('Dan Morgan') FROM dual;

7. LOWER
Merubah string menjadi huruf kecil seluruhnya.

Contoh :
SELECT LOWER('Dan Morgan') FROM dual;

8. INITCAP
Menginisialisasi huruf pertama dari tiap kata menjadi huruf kapital.

Contoh :
SELECT INITCAP('DAN MORGAN') FROM dual;

9. COALESCE
Mengembalikan kejadian pertama kali yang tidak null.

10. COMPOSE
Mengkonversi string di beberapa tipe data menjadi string unicode.

Contoh :
SELECT 'ol' | | COMPOSE('e' | | UNISTR('\0301') FROM dual;

11. CONCAT
Menggabungkan dua string.

Contoh :
SELECT CONCAT('Dan', 'Morgan') FROM dual;

12. CONVERT
Mengkonversi dari satu karakter set menjadi karakter set yang lain.

Contoh : 
SELECT CONVERT('Ä Ê Í Õ Ø A B C D E','US7ASCII','WE8ISO8859P1')
FROM dual;

13. DECOMPOSE
Menkonversi string unicode menjadi string.

Contoh:
SELECT DECOMPOSE('ol' | | COMPOSE('e' | | UNISTR('\0301'))) FROM dual;

14. FORMAT
Memformat sebuah nomor dengan format tertentu sesuai dengan yang diinginkan.

Contoh: 
SELECT FORMAT(12332.123456, 4);
Parameter terakhir akan menunjukkan angka dibelakang koma.

15. LENGTH
Menghitung panjang dari string.

Contoh: 
SELECT LENGTH('Dan Morgan') FROM dual;

16. LOCATE
Mengambalikan posisi dari substring dari sebuah string yang pertama kali ditemukan.

Contoh: 
SELECT LOCATE(‘foo’, ‘foobarbar’);
SELECT LOCATE (‘bar’, ‘foobarbar’);

17. LOWER
Mengembalikan String menjadi huruf kecil semua.

Contoh: 
SELECT LOWER(‘MERCU BUANA’);

18. LPAD / RPAD
Pad dari sebelah kiri / kanan.

Contoh:
 SELECT LPAD('Dan Morgan', 25, x) FROM dual;

19. LTRIM / RTRIM
Trim dari sebelah kiri / kanan.

Contoh: 
SELECT LTRIM(' Dan Morgan ') FROM dual;

20. REPEAT
Menghasilkan kata berulang berdasarkan jumlah yang telah ditentukan.

Contoh: 
SELECT REPEAT(‘MySQL’, 3);

21. REPLACE
Mengganti sebuah substring dari string dengan string yang telah ditentukan.

Contoh: 
SELECT REPLACE(‘www.google.com’, ‘w’, ‘WW’);

22. REVERSE
Membalikkan sebuah.

Contoh: 
SELECT REVERSE('Dan Morgan') FROM dual;

23. DUMP
Memberikan informasi sebuah string.

Contoh: 
SELECT DUMP('Dan Morgan') FROM dual;

24. SPACE
Menghasilkan string yang berisikan spasi sebanyak jumlah yang diinginkan.

Contoh: 
SELECT SPACE(10);

25. TO_CHAR
Mengkonversi tipe data menjadi string.

Contoh: 
SELECT TO_CHAR(SYSDATE, 'MM/DD/YYYY HH:MI:SS') FROM dual;

26. UNISTR
Mengkonversi string menjadi bentuk karakter set nasional ( baik UTF8 atau UTF16 ).

Contoh: 
SELECT UNISTR ( ASCIISTR(CHR(128) || 'Hello' || CHR(25))) FROM dual.

27. UPPER
Merubah string menjadi huruf kapital semua.

Contoh:
SELECT UPPER(‘bola’);

28. VSIZE
Menghitung besar byte dari sebuah string.

Contoh: 
SELECT VSIZE('Dan Morgan') FROM dual;


26/08/15

DDL (Data Definition Language) Pada SQL Database

DDL (Data Definition Language) Pada SQL Database - Pada artikel sebelumnya telah dibahas perintah-perintah sql khususnya data manipulaion language (dml). Pada artikel ini akan dibahas perintah sql khususnya data definition language (ddl). Di antara materi yang dibahas pada artikel ini adalah pembuatan table beserta komponennya, seperti primary key, foreign key, dan juga constraint, pembuatan view, dan lain-lain.
DDL (Data Definition Language) Pada SQL Database_
image source: udayarumilli.com
Pembuatan Table

Pembahasan yang pertama yang akan dibahas adalah membuat sebuah table. Di oracle sudah terdapat utilitas untuk membuat sebuah table dengan menggunakan object browser. Akan tetapi pengguna tidak mengetahui sintaks atau perintah dalam sql, walaupun oracle juga menyediakan utilitas untuk melihat perintah sql untuk membuat table yang ingin dibuat.

Berikut ini adalah sintaks atau perintah secara umum dari membuat table di dalam sql.
CREATE TABLE nama_table (
nama_kolom tipe_data NOT NULL / NULL,
PRIMARY KEY ( nama_kolom_primary_key ),
FOREIGN KEY ( nama_kolom_foreign_key ) REFERENCES table_referensi);
Contoh:

Membuat sebuah table staff.
CREATE TABLE staff (
staff_no varchar2(4) NOT NULL,
f_name varchar2(10),
l_name varchar2(10),
position varchar2(15),
dob date,
salary number,
branch_no varchar2(4),
PRIMARY KEY (staff_no),
FOREIGN KEY (branch_no) REFERENCES branch);

Merubah Sebuah Table

Table yang telah dibuat di dalam database dapat diubah definisinya. Dengan menggunakan perintah 'ALTER TABLE' maka table dapat dirubah. Di antara perubahan yang dapat dilakukan adalah:
  • Menambah sebuah kolom ke dalam sebuah table.
  • Menghapus sebuah kolom dari table.
  • Menambah sebuah constraint di dalam table.
  • Menghapus constraint di table.
  • Membuat sebuah default pada kolom.
  • Menghapus default pada kolom.

Contoh:
ALTER TABLE staff
ALTER position DROP DEFAULT;
ALTER TABLE staff
ALTER sex SET DEFAULT 'F';

Menghapus Sebuah Table

Untuk menghapus sebuah table yang tidak digunakan lagi dapat menggunakan perintah:
DROP TABLE nama_table [ RESTRICT | CASCADE ];

Contoh:

Menghapus table property_for_rent.
DROP TABLE property_for_rent;

Membuat Sebuah View

Membuat sebuah view telah dibahas pada modul 12. Tapi akan ditampilkan kembali sintaks untuk membuat sebuah view.
CREATE VIEW nama_view (nama_kolom)
AS subselect [WITH [CASCADE | LOCAL ] CHECK OPTION]
Contoh dari view adalah sebagai berikut:
CREATE VIEW staff_3
AS SELECT staff_no, f_name, l_name, position, sex
FROM staff
WHERE branch_no = 'B003';

Memberikan Izin ke User lain

Untuk memberikan izin ke user database lain dapat dilakukan dengan menggunakan perintah 'GRANT'. Untuk perintah lengkapnya adalah sebagai berikut:
GRANT [PrivilegeList | ALL PRIVILEGES]
ON ObjectName
TO [AuthorizationIdList | PUBLIC]
[WITH GRANT OPTION]
PrivilegesList terdiri dari satu atau beberapa privileges dipisahkan dengan koma, diantaranya adalah:
SELECT
DELETE
INSERT [(columnName....)]
UPDATE [(columnName....)]
REFERENCES [(columnName....)]
USAGE
Contoh
GRANT ALL PRIVILEGES
ON staff
TO Manager WITH GRANT OPTION;
GRANT SELECT, UPDATE (salary)
ON staff
TO Personnel, Director;

Mengembalikan / Mengambil Izin kembali

Untuk mengambil izin kembali dari user lain dapat menggunakan perintah revoke. Perintah lengkapnya adalah sebagai berikut:
REVOKE [GRANT OPTION FOR] [PrivilegeList | ALL PRIVILEGES]
ON ObjectName
FROM {AuthorizationIdList | PUBLIC} [RESTRICT | CASCADE]
Contoh:
REVOKE SELECT
ON Branch
FROM PUBLIC;
REVOKE ALL PRIVILEGES
ON staff
FROM Director;

VIEW

Pengertian dari view

Sebuah view adalah sebuah table virtual yang tidak perlu ada di dalam basis data tapi bisa dihasilkan atas permintaan oleh user tertentu, pada saat waktu permintaan.

Keuntungan view

Keuntungan dari view adalah sebagai berikut:
  • View menyediakan mekanisme keamanan yang powerfull dan fleksibel dengan menyembunyikan bagian dari basis data dari user tertentu. 
  • View membolehkan user mengakses data dalam bentuk yang telah disesuaikan kebutuhan mereka, sehingga data yang sama dapat dilihat oleh user yang berbeda dalam bentuk yang lain, pada saat yang sama.
  • View dapat mempermudah operasi yang komplek pada dasar table.

Kerugian view

Kerugian view diantaranya adalah:
  • Pembatasan dalam update, dalam beberapa kasus.
  • Pembatasan dalam struktur, dalam beberapa kasus.
  • Pelanggaran performa, dalam beberapa kasus.

View memnyerupai query, tapi bedanya view dapat diolah datanya walaupun hanya berupa virtual data.

Membuat view di Oracle
  1. Pada Database Home Page, klik ikon Object Browser
  2. Object Browser muncul. 
  3. Tekan Create
  4. Dari daftar object types, pilih View
  5. Mendefiniskan view:
    - View Name – Masukkan nama untuk View.
    - Query – Mendefiniskan query untuk membuat view.
  6. Untuk mengakses Query Builder atau SQL Command Processor, tekan link yang cocok pada bagian bawah halaman. Tool yang dipilih akan muncul dalam pop-up window. Sekali Anda membuat SQL yang cocok, tekan Return untuk secara otomatis menutup pop-up window dan kembali ke wizard dengan SQL. 
  7. Klik Next
  8. Sebuah halaman konfirmasi akan muncul. Untuk melihat SQL, klik SQL
  9. Klik Create

Edit View

Ketika Anda mengedit sebuah view, Anda bisa mengedit kode secara manual, menampilkan sebuah pencarian dan penggantian, dan mengkompilasi view. Tambahan, Anda dapat menyimpan view sebagai sebuah file atau menghapusnya.

Edit View Secara Manual

Untuk mengedit view secara manual:
  • Pada Database Home Page, klik ikon Object Browser.
    Object Browser muncul. 
  • Dari Object list, pilih Views. 
  • Dari Object Selection pane, pilih sebuah view. 
  • Pilih tab Code. 
  • Klik Edit untuk mengaktifkan mode edit manual. 

Drop / Menghapus sebuah View

Untuk menghapus sebuah view:
  1. Pada Database Home Page, klik ikon Object Browser.
    Object Browser muncul. 
  2. Dari Object list, pilih Views. 
  3. Dari Object Selection pane, pilih sebuah view. 
  4. Pilih tab View atau tab Code. 
  5. Klik Drop untuk menghapus view yang dipilih. 

Membuat View menggunakan SQL

Untuk membuat view menggunakan SQL hampir sama dengan cara membuat sebuah table di SQL, hanya berbeda dalam sintaks saja. Sintaks untuk membuat view adalah sebagai berikut:
CREATE VIEW view_name (newColumnName)
AS subselect [WITH [CASCADE | LOCAL] CHECK OPTION]
Contoh:
CREATE VIEW Manager_3_Staff
AS SELECT *
FROM staff
WHERE branch_no = 'B003';
atau
CREATE VIEW staff_3
AS SELECT staff_no, f_name, l_name, position, sex
FROM staff
WHERE branch_no = 'B003';

Menghapus View menggunakan SQL

Untuk menghapus view mengunakan SQL, dapat menggunakan perintah berikut:
DROP VIEW view_name [RESTRICT | CASCADE]
Contoh:
  • DROP VIEW manager_3_staff;

Query Relasi Antar Tabel MySQL Database

Query Relasi Antar Tabel MySQL Database - Pada artikel kali ini, eduloka akan membahas penggunaan dari statement SELECT ditanam dalam statement SELECT yang lain. Hasil dari statement SELECT bagian dalam / inner ( atau subselect ) digunakan di statement bagian luar untuk membantu menentukan isi dari hasil akhir. Sebuah subselect dapat digunakan pada klausa WHERE dan HAVING pada statement SELECT bagian luar, di mana itu disebut subquery atau query bersarang. Subselect juga bisa muncul di statement INSERT, UPDATE, dan DELETE.
Query Relasi Antar Tabel MySQL Database Basis Data_
image source: onpsikologi.com
Ada 3 Tipe Subquery:
  1. Subquery skalar mengembalikan kolom tunggal dan baris tunggal; yaitu sebuah nilai tunggal. Prinsipnya, subquery skalar bisa di gunakan kapanpun nilai tunggal dibutuhkan. 
  2. Subquery baris mengembalikan banyak kolom, tetapi hanya mengembalikan baris tunggal. Subquery baris digunakan kapanpun pembuat nilai baris dibutuhkan, khususnya di predikat.
  3. Subquery table mengembalikan satu atau lebih kolom dan banyak baris. Subquery tabel bisa digunakan kapanpun table dibutuhkan, sebagai contoh, sebagai sebuah operan untuk predikat IN.

Contoh Subquery
Buat query untuk mendaftar staff yang bekerja di Branch yang terletak pada jalan '163 Main St'.

Jawab:
SELECT staff_no, f_name, l_name, position
FROM staff
WHERE branch_no = ( SELECT branch_no
FROM branch
WHERE street = '163 Main St');
Statement SELECT bagian dalam mencari nomor branch yang berkorespondensi ke branch dengan nama jalan '163 Main St' ( hanya akan ada satu nomor branch, jadi ini adalah sebuah contoh subquery skalar ). Setelah mendapatkan nomor branch, kemudian statement select bagian luar mengambil detail seluruh staff yang bekerja pada branch tersebut. Dengan kata lain, SELECT bagian dalam mengembalikan sebuah table hasil berisi nilai tunggal 'B003', berkorespondensi ke branch pada '163 Main St', dan SELECT bagian luar menjadi:
SELECT staff_no, f_name, l_name, position
FROM staff
WHERE branch_no = 'B003';
Tabel yang dihasilkan menjadi seperti berikut:

Query Relasi Antar Tabel MySQL Database 1_

Latihan
Buatlah sebuah query yang mendaftar seluruh staff yang salarynya lebih dari rata-rata salary, dan menampilkan hanya yang memiliki salary lebih dari rata-rata salary.

Hasil dari query akan seperti berikut:

Query Relasi Antar Tabel MySQL Database 2_

Aturan-aturan yang harus diperhatikan dalam menggunakan subquery:
  • Klausa ORDER BY tidak dapat digunakan di subquery ( walaupun ORDER BY bisa digunakan di statement SELECT bagian paling luar ).
  • Daftar SELECT subquery harus berisi nama kolom tunggal atau ekpresi, kecuali untuk subquery yang menggunakan kata kunci EXISTS.
  • Pada dasarnya, nama kolom di dalam sebuah subquery merujuk ke nama table di dalam klausa FROM subquery. Ini juga memungkinkan untuk merujuk ke table di dalam klausa FROM dari query bagian luar dengan memberi syarat nama kolom.
  • Ketika sebuah subquery adalah salah satu dari dua operan dilibatkan dalam sebuah perbandingan, subquery harus muncul pada bagian sebelah kanan dari perbandingan. Sebagai contoh, tidak akan benar untuk mengekpresikan subquery sebagai berikut:
SELECT staff_no, f_name, l_name, position, salary
FROM staff
WHERE (SELECT AVG(salary) FROM staff) < salary;
Karena subquery muncul pada bagian sebelah kiri dari perbandingan.

ANY dan ALL

ANY dan ALL dapat digunakan dengan subquery yang menampilkan kolom nomor tunggal. Jika subquery diawali dengan kata kunci ALL, kondisi akan benar jika kondisi dipenuhi oleh seluruh nilai yang dihasilkan oleh subquery. Jika subquery didahului oleh kata kunci ANY, kondisi akan benar jika kondisi dipenuhi oleh beberapa nilai yang dihasilkan oleh subquery. Jika subquery kosong, kondisi ALL akan mengembalikan nilai benar ( true ), sedangkan kondisi ANY mengembalikan nilai salah ( false ). Standar ISO juga membolehkan SOME untuk menggantikan tempat ANY.

Contoh penggunaan ANY/SOME

Temukan seluruh staff yang salarynya lebih besar dari gaji minimal satu anggota staff di cabang B003.
SELECT staff_no, f_name, l_name, position, salary
FROM staff
WHERE salary > SOME (SELECT salary
FROM staff
WHERE branch_no = 'B003');

Hasil dari table adalah sebagai berikut:

Query Relasi Antar Tabel MySQL Database 3_

Penggunaan ALL

Menemukan seluruh staff yang salary lebih besar dari gaji setiap anggota staff di cabang.

Jawab:
SELECT staff_no, f_name, l_name, position, salary
FROM staff
WHERE salary > ALL (SELECT salary
FROM staff
WHERE branch_no = 'B003');
Query Relasi Antar Tabel MySQL Database 4_

Dari beberapa query yang telah dibuat pada pertemuan sebelumnya terdapat batasan bahwa kolom yang muncul di tabel hasil berasal dari sebuah tabel tunggal. Dalam banyak kasus, ini tidaklah cukup. Untuk mengkombinasikan kolom dari beberapa tabel menjadi sebuah tabel kita memerlukan operasi join. Operasi join SQL mengkombinasikan informasi dari dua tabel dengan membentuk pasangan baris yang berhubungan dari dua buah tabel. Pasangan baris yang membuat tabel join adalah dimana kolom-kolom yang cocok dari masing-masing tabel yang memiliki nilai yang sama.

SIMPLE JOIN

Simple join disebut juga natural join. Untuk simple join data yang ditampilkan dalam tabel hasil hanya data yang memiliki kesamaan dalam kolom yang sama dari masing-masing table.

Contoh:
Mendaftar seluruh nama client yang telah melihat sebuah property dengan komentar yang diberikan.

Jawab:
SELECT c.client_no, f_name, l_name, property_no, comment_1
FROM client c, viewing_1 v
WHERE c.client_no = v.client_no;
Hasil dari query diatas adalah sebagai berikut:

Query Relasi Antar Tabel MySQL Database 5_

Beberapa alternatif penulisan SQL dapat dilakukan dengan cara seperti berikut:
FROM client c JOIN viewing_1 v ON c.client_no = v.client_no
FROM client JOIN viewing_1 USING cleint_no
FROM client NATURAL JOIN viewing_
Dalam kasus diatas, klausa FROM menggantikan klausa awal FROM dan WHERE.

Latihan
Untuk masing-masing kantor cabang, daftarlah nomor dan nama staff yang mengatur properti dan properti yang mereka atur.

Tabel hasil yang ditampilkan adalah sebagai berikut:

Query Relasi Antar Tabel MySQL Database 6_

Join Tiga buah Tabel

Contoh untuk join dari tiga buah tabel adalah sebagai berikut:

Untuk tiap-tiap cabang, daftarlah nomor dan nama staff yang memanage properti, termasuk kota di mana cabang berada dan properti yang staff atur.
SELECT b.branch_no, b.city, s.staff_no, f_name, l_name, property_no
FROM branch b, staff s, property_for_rent p
WHERE b.branch_no = s.branch_no AND s.staff_no = p.staff_no
ORDER BY b.branch_no, s.staff_no, property_no;

OUTER JOIN

Dari Simple Join di atas, data yang ditampilkan dalam tabel hasil adalah kombinasi dari data dari dua tabel dengan membentuk pasangan dari baris yang berelasi di mana kolom yang sama dari masing-masing tabel memiliki nilai yang sama. Jika satu baris dalam tabel tidak cocok, baris akan dihilangkan dari tabel hasil.

Standar ISO menyediakan operasi join yang lain disebut dengan outer join. Outer join menampilkan baris yang tidak memenuhi kondisi join. Untuk memahami outer join, kita buat dua buah tabel baru sebagai berikut:

branch_1
Query Relasi Antar Tabel MySQL Database 7_

property_for_rent_1
Query Relasi Antar Tabel MySQL Database 8_

Contoh dari Inner Join dari kedua table adalah sebagai berikut:
SELECT b.*, p.*
FROM branch_1 b, property_for_rent_1 p
WHERE b.b_city = p.p_city;
Hasil dari query join di atas adalah sebagai berikut:

Query Relasi Antar Tabel MySQL Database 9_

Dari hasil tabel menunjukkan bahwa tidak ada hasil yang berhubungan dengan kantor di Bristol dan juga tidak ada baris yang berhubungan dengan property di Aberdeen. Jika ingin menambahkan baris yang tidak cocok ke dalam hasil, kita bisa menggunakan Outer Join. Outer Join terdiri dari tiga, yaitu: Left, Right, dan Full Outer Join.

Left Outer Join

Contoh:
Daftar seluruh kantor cabang dan beberapa property dalam kota yang sama.
SELECT b.*, p.*
FROM branch_1 b LEFT JOIN property_for_rent_1 p ON b.b_city = p.p_city;
Hasilnya adalah seperti berikut:

Query Relasi Antar Tabel MySQL Database 10_

Hasil di atas tidak hanya menampilkan yang memiliki city yang sama tapi juga menampilkan baris dari tabel pertama ( kiri ) yang tidak cocok dengan baris dari tabel kedua ( kanan ). Kolom dari tabel kedua akan berisi NULL.

RIGHT OUTER JOIN

Contoh:
Daftar seluruh property dan beberapa kantor cabang dalam kota yang sama.
SELECT b.*, p.*
FROM branch_1 b RIGHT JOIN property_for_rent_1 p ON b.b_city = p.p_city;
Hasil dari query adalah sebagai berikut:

Query Relasi Antar Tabel MySQL Database 11_

Right Outer Join memasukkan tidak hanya row yang memiliki city yang sama tapi juga baris dari tabel kedua ( kanan ) yang tidak memiliki kesamaan dengan baris dari tabel pertama ( kiri ).

FULL OUTER JOIN

Contoh:
Daftar kantor cabang dan properti dalam satu kota yang sama dengan termasuk cabang dan properti yang tidak cocok.
SELECT b.*, p.*
FROM branch_1 b FULL JOIN property_for_rent_1 p ON b.b_city = p.p_city;
Hasil dari query adalah sebagai berikut:

Query Relasi Antar Tabel MySQL Database 12_

Full outer join tidak hanya menampilkan baris yang memiliki kesamaan, tetapi juga menampilkan baris yang tidak memiliki kesamaan.


Sekian artikel tentang Query Relasi Antar Tabel MySQL Database.