Monday, December 17, 2018

Tugas Latihan Query

Halo,

Kali ini saya akan memberikan contoh mengenai cara memberikan perintah melalui SQL pada Microsoft Access

1. Tugas Latihan Query
https://drive.google.com/open?id=1R0q3nU7dIDr8OqEqzYw23esRqqD08KzW

Terimakasih

Monday, December 10, 2018

Review Materi Pengantar Komputer Materi Query pada Ms Access

I. Database

Database

Database dalam Access terdiri atas satu atau beberapa Tabel, Query, Form, Page, Report, Macro dan Module. Berikut dibawah ini adalah penjelasan  tipe objek tersebut:

  1. Tables, berupa tempat untuk menyimpan sekumpulan data yang sejenis. Tabel merupakan komponen utama dari sebuah database.
  2. Queries, digunakan untuk mencari dan menampilkan data yang memenuhi syarat tertentu dari suatu tabel atau lebih. Query dapat digunakan untuk meng-update atau menghapus beberapa record data pada saat yang sama. Selain itu query dapat dipergunakan untuk menjalankan perhitungan terhadap selekompok data.
  3. Forms, untuk menampilkan data dari tabel dan query sehingga data tersebut dapat dilihat, ditambah, dihapus, dan sebagainya sesuai dengan operasi database.
  4. Report, dipergunakan untuk menampilkan laporan hasil analisa data. Laporan ini dapat dikelompokkan sesuai dengan criteria tertentu, dan juga laporan dapat berupa grafik atau label data.
  5. Pages, fungsinya untuk membuat halaman Web (page) berupa data access page yang dapat ditempatkan di server jaringan intranet dan internet.
  6. Macro, mengotomasikan perintah yang sering dipergunakan untuk mengelola basis data.
  7. Module, digunakan untuk merancang berbagai modul aplikasi pengelolaan database tingkat lanjut sesuai dengan kebutuhan user.
II. Query
Query adalah semacam kapabilitas  (kemampuan) untuk menampilkan suatu data/informasi dari database di mana  mengambil dari tabel-tabel yang tersedia  di database, tetapi tabel  tersebut tidak seluruh/semua ditampilkan sesuai/cocok dengan yang  kita inginkan. Data/informasi apa yang inginkan  kita tampilkan. Query adalah ‘permintaan data’  kita berupa/berbentuk bahasa bisnis, untuk mengolah/memproses data didalam tabel-tabel menjadi satu  informasi yang  dapat/bisa dimengerti. Seperti mengelompokkan sepuluh penjualan terbesar oleh konsumen (pembeli) yang dimiliki. Ia bisa berdasarkan  terhadap satu tabel saja, atau  terhadap dua/lebih tabel, ataupun berdasarkan terhadap query yang sudah/telah ada
Ada tiga fungsi Query, yaitu :
  1. Menampilkan data-data tertentu/khusus terhadap suatu tabel, contohnya kita hanya/cuma menginginkan {melihat|lihat|menyaksikan|memandang} data/informasi pada tabel barang yang kode barangnya “B001”
  2. Menampilkan data/informasi berasal dari dua tabel atau lebih dengan syarat anatara tabel itu tersedia/ada field yang berhubungan. Contohnya kita ingin melihat Nomor Faktur “F0001” itu siapa pemiliknya. Di sini kita mengambil alih data/informasi yang berasal dari tabel Header Penjualan dan Table Karyawan, Sebagai penghubungnya adalah field NIK.
  3. Dapat melakukan/menjalankan operasi perhitungan
Ada 2 cara untuk membuat Object Queries, yaitu dengan Query Design atau Query Wizard
A. Query Design
Menampilkan data pegawai yang beragama islam
Langkah-langkah :
  1. Pilih menu "Query Design
  2. Pada menu "Show Table", pilih tabel yang ingin ditampilkan datanya
  3. Klik tombol Add
  4. Close jendela "Show Table"
  5. Tentukan Field yang ingin ditampilkan
  6. Tentukan kriterianya
  7. Jalankan query dengan mengklik tombol Run
Tampilan pada SQL View yaitu :
SELECT GolPangkat.IDPangkat, Pegawai.Nama, GolPangkat.IDPangkat, Pegawai.Nama, Pegawai.Gender, Pegawai.TempatLahir, Pegawai.TglLahir, Pegawai.Agama, Pegawai.UnitKerja

FROM UnitKerja INNER JOIN (GolPangkat INNER JOIN Pegawai ON GolPangkat.IDPangkat = Pegawai.IDPangkat) ON UnitKerja.IDKerja = Pegawai.IDKerja

WHERE (((Pegawai.Agama)="ISLAM"));

Format Query Select
  • SELECT : Nama Field yang akan ditampilkan
  • FROM : Nama Tabel
  • WHERE : Kriteria Data
Format Penulisan Nama Field
  • nama_tabel.nama_field
Contoh : Pegawai.Agama

Langkah-langkah dalam menyimpan Query, yaitu :
  1. Klik kanan panel Query, lalu pilih menu Save
  2. Berikan nama untuk querynya
  3. Klik OK
Terdapat 3 macam view pada Query Design, yaitu :
1. Datasheet View
Tampilan data hasil query
2. SQL View
Kode SQL atau Query yang dihasilkan dari hasil design query
3. Design View
Tampilan untuk melakukan pengaturan atau design query
B. Query Wizard
Terdapat 4 macam Query Wizard, yaitu :
  1. Simple Query Wizard
  2. Crosstab Query Wizard
  3. Find Duplicates Query Wizard
  4. Find Unmatched Query Wizard
Menampilkan data pegawai yang beragama islam
Langkah-langkah :
  1. Tentukan field yang akan ditampilkan, lalu Next
  2. Pilih details, lalu Next
  3. Tentukan nama querynya
  4. Pilih modify query design karena kita perlu menambahkan kriteria
  5. Masukkan kriteria
  6. Run Query
Queries : Explore Query Select
SELECT nama_field FROM nama_tabel (dapat dilihat pada Query Design - view SQL

- Alias
  • Alias pada tabel
SELECT pegawai.id, pegawai.nama FROM pegawai
  • Alias pada field
SELECT pegawai.id, pegawai.nama as [Nama Lengkap] FROM pegawai

- Kriteria Where
  • Comparison (=, <>, <, >, >=, atau <=)
Contoh : Tampilkan jabatan yang mempunyai tunjangan jabtan lebih dari 500000. Field yang ditampilkan adalah jabatan dan nama jabatan.
Jawab :
SELECT nama_jabatan, tunjangan_jabatan
FROM jabatan
WHERE tunjangan_jabatan >500000
  • Between
Contoh : Tampilkan pegawai yang mempunyai jam lembur antara 20 dan 40. Field yang ditampilkan adalah NIP dan jam lembur.
Jawab :
SELECT NIP, jam_lembur
FROM lembur
WHERE jam_lembur BETWEEN 20 AND 40
  • In
Contoh : Tampilkan data pegawai yang mempunyai gaji pokok 600000 dan 400000. Field yang ditampilkan adalah kode jabatan, golonbgan dan gaji pokok, tampilan diurutkan berdasarkan gaji yang terbesar.
Jawab :
SELECT KodeJabatan, Golongan, GPo
FROM GajiPokok
WHERE GPo IN (600000,400000)
ORDER BY GPo DESC
  • Like / Not Like
Contoh : Tampilkan data pegawai yang mempunyai nama berawalan 'Su'. Field yang ditampilkan adalah nama, alamat, kota
Jawab :
SELECT Nama, Alamat, Kota
FROM Pegawai
WHERE nama LIKE 'Su*'

-  Calculated Expression
Contoh : Tampilkan nama pegawai dan tahun lahirnya
Jawab :
SELECT pegawai.nama, YEAR([pegawai]![tgl_lahir]) AS tahun_lahir
FROM pegawai

Contoh : Tampilkan nama pegawai dan umurnya
Umur : TGL SEKARANG - TGL LAHIR
YEAR(TGL_SEKARANG) - YEAR(TGL_LAHIR)
atau
Fungsi : DateDiff("yyyy",TGL_LAHIR,TGL_SEKARANG)
Jawab :
SELECT pegawai.nama, DateDiff("yyyy",[pegawai]![tgl_lahir],Date()) AS umur
FROM pegawai

- Order By & Top
Order By digunakan untuk mengurutkan (sort) data hasil query select
Contoh : Tampilkan nama pegawai dan umurnya serta urutkan berdasarkan umur yang paling tua
Jawab :
SELECT pegawai.nama, DateDiff("yyyy",[pegawai]![tgl_lahir],Date()) AS umur
FROM pegawai
ORDER BY [pegawai]![tgl_lahir] ASD
Top digunakan untuk menampilkan beberapa record tertentu pertama dari hasil query select

Contoh : Tampilkan 5 pegawai yang umurnya paling muda
Jawab :
SELECT pegawai.nama, DateDiff("yyyy",[pegawai]![tgl_lahir],Date()) AS umur
FROM pegawai
ORDER BY [pegawai]![tgl_lahir] DESC

- Group By & Fungsi Agregrate
Group By atau pengelompokan data biasanya disertakan bersama fungsi agregate seperti min, max, average, sum, dan count
Contoh : Tampilkan jumlah pegawai berdasarkan tempat lahirnya
Jawab :
SELECT pegawai.tempat_lahir, COUNT(pegawai.id) AS jumlah_pegawai
FROM pegawai
GROUP BY pegawai.tempat_lahir

Pada pengelompokan data biasanya disertakan bersama Aggregate Function (Fungsi Matematik) yaitu min, max, avg, sum, dan count.

Contoh : Tampilkan gaji minimal tiap golongan. Field yang ditampilkan adalah golongan dan minimal gaji pokok.
Jawab :
SELECT gol, min[gpo] AS minimal_gaji_pokok
FROM gaji_pokok
GROUP BY gol
Klik RUN

Contoh : Tampilkan maksimum gaji pokok tiap golongan, golongan yang ditampilkan adalah golongan yang mempunyai maksimum gaji pokok lebih besar dari 1000000.
Jawab :
SELECT gol AS golongan, max[gpo] AS maksimum_gaji_pokok
FROM gaji_pokok
GROUP BY gol
HAVING max(gpo)>1000000

- Having
Having memiliki fungsi yang sama dengan WHERE namun digunakan untuk menguji kriteria pada fungsi AGREGATE
Contoh : Tampilkan tempat lahir pegawai yang minimal terdapat 2 orang pegawai yang telah lahir di tempat tersebut
Jawab :
SELECT pegawai.tempat_lahir, COUNT(pegawai.id) AS jumlah_pegawai
FROM pegawai
GROUP BY pegawai.tempat_lahir
HAVING COUNT(pegawai.id)>2

- Join / Relationship
Digunakan untuk menampilkan dua atau lebih tabel dalam satu query berdasarkan relasi tertentu
Ada beberapa jenis Query Join, yaitu :
  • Inner Join : menampilkan record yang sesuai berdasarkan dua tabel yang dijoinkan
  • Left Join : menampilkan record dari tabel pertama namun hanya yang sesuai dengan tabel kedua
  • Right Join : menampilkan record dari tabel kedua namun hanya record yang sesuai dengan tabel pertama saja
Contoh : Tabel SISWA berelasi one to many dengan tabel KELAS, di mana NIS key attribute sebagai penghubungnya
SELECT * FROM SISWA [JOIN TYPE] KELAS ON SISWA.NIS = KELAS.NIS

Contoh : Tampilkan data pegawai dan golongan pangkatnya
Jawab :
SELECT pegawai.id, pegawai. nama, gol_pangkat.golongan
FROM gol_pangkat
INNER JOIN pegawai ON gol_pamhkat.id = pegawai.gol_pangkat
WHERE (((pegawai.gol_pamgkat)=[gol_pangkat].[id]))

Referensi

Materi Ibu Nurwati

2013, Pengertian Query dan Fungsi Query, dilihat 8 Desember 2018
http://infopengertian.biz/pengertian-query-dan-fungsiny-didalam-microsoft-access.html

2014, Objek Database pada Microsoft Access, dilihat 8 Desember 2018
http://ramdhani-akbar.blogspot.com/2014/06/7-tipe-objek-basis-data-dalam-microsoft.html

Monday, December 3, 2018

Review Materi Pengantar Komputer Konsep Database

A. Definisi

- Data : Sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu pengolahan. Data bisa berujut suatu keadaan, gambar, suara, huruf, angka, matematika, bahasa ataupun simbol-simbol lainnya yang bisa kita gunakan sebagai bahan untuk

- InformasiInformasi merupakan hasil pengolahan dari sebuah model, formasi, organisasi, ataupun suatu perubahan bentuk dari data yang memiliki nilai tertentu, dan bisa digunakan untuk menambah pengetahuan bagi yang menerimanya.
- Database : Kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut.

B, Hirarki Data


Hirarki data meliputi bit, byte, ruas (field), cantuman (record), dan berkas (file), yang merupakan unsur-unsur suatu database.

1. Bit : Sistem biner yang terdiri atas dua macam nilai, yaitu 0 dan 1. Sistem biner merupakan dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin, yang merupakan serangkaian komponen elektronik dan hanya dapat membedakan 2 macam keadaan, yaitu ada tegangan dan tidak ada tegangan yang masuk ke rangkaian tersebut.
2. Byteadalah bagian terkecil yang dialamatkan dalam memori.byte mrupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bityang menyatakan sebuah karakter dalam memori (1 Byte = 1 karakter.
3. FieldMerupakan kumpulan dari karakter-karakter yang membentuk suatu arti tertentu; Misalnya, Field untuk Nomor Mahasiswa, Field untuk Nama Mahasiswa, Field untuk Mata Pelajaran, dan lainnya.
4. Record : Merupakan kumpulan dari field-field yang membentuk sebuah arti. Misalkan kumpulan field NPM, NAMA MAHASISWA pada akhirnya membentuk sebuah record.
5. FileFile merupakan kumpulan dari record-record.
6. Database : Kumpulan informasi yang disusun berdasarkan cara tertentu dan merupakan suatu kesatuan yang utuh.  dengan sistem tersebut data yang terhimpun dalam suatu database dapat menghasilkan informasi yang berguna.

C. Tujuan Database

Tujuan dari database adalah sebagai berikut:
  • Menyediakan penyimpanan data untuk dapat digunakan oleh organisasi saat sekarang dan masa akan datang.
  • Sebagai cara pemasukan data sehingga sehingga memudahkan tugas operator dan menyangkut pula waktu yang diperlukan oleh pemakai untuk mendapatkan data serta hak-hak yang dimiliki terhadap data yang ditangani
  • Pengendalian data untuk setiap siklus agar data selalu up to date dan dapat mencerminkan perubahan spesifik yang terjadi di setiap sistem.
  • Pengamanan data terhadap kemungkinan penambahan, modifikasi, pencurian, dan gangguan-gangguaan lain.

D. Komponen Database
Komponen-komponen sistem database adalah:
  • Hardware, sebagai pendukung operasi pengolahan data seperti CPU, memori, disk, terminal, dan sebagainya.
  • Software sistem operasi , (Windows 9x, Windows 2000/XP, Linux, Unix.)
  • Software pengelola basis data (DBMS) seperti MS-Access, SQL, Oracle.
  • Software program aplikasi misalnya Visual Basic, Delphi, Visual Foxpro.
  • Basis data (semua data yang diperlukan, dipelihara, dikelola oleh sistem Basis Data)
  • Pemakai/pengguna basis data (user).

E. Model Database

Model database adalah suatu konsep yang terintegrasi dalam menggambarkan
hubungan (relationships) antar data dan batasan-batasan (constraint) data dalam suatu sistem database. Terdapat 5 macam model data yaitu :


1. Model Database Hirarki (Hierarchical Database Model)


Model database hirarki disebut juga model hubungan orang tua – anak (parent – child). Simpul yang berada di atas simpul lainnya disebut orang tua, sedangkan yang berada di bawahnya di sebut anak, dimana seorang orang tua bisa mempunyai satu anak (jenis hubungan satu ke satu, one to one) atau mempunya beberapa anak (jenis hubungan satu ke banyak, one to many). Tapi satu anak hanya boleh punya satu orang tua (jenis hubungan satu ke satu, one to one).




Kelemahan utama dari model database hirarki adalah ketidakmampuannya dalam mengelola hubungan banyak ke banyak (many to many), sehingga apabila ada jenis hubungan ini pada model database, maka banyaknya redundansi database tidak dapat terelakkan lagi.

Keunggulan model database ini terletak pada keteraturan struktur yang ditunjukkannya dan hanya sangat cocok untuk sistem yang keterkaitan atau hubungan antara recordnya mengikuti struktur hirarki.
Karena keterbatasan pemakaiannya dan adanya kelemahan yang cukup mendasar, penggunaan model database ini dalam pengelolaan sistem database sudah ditinggalkan.


2. Model Database Jaringan (Network Database Model)


Model database jaringan ini merupakan pengembangan dari model database hirarki, dimana kelemahan yang ada pada model database hirarki yaitu ketidakmampuannya dalam mengelola hubungan banyak ke banyak (Many to Many) telah dapat diatasi dengan model database jaringan ini.

Dalam model ini, data di representasikan sebagai koleksi record dan hubungan antar record direpresentasikan sebagai pointer.
Oleh karena itu, model database jaringan mampu menyatakan hubungan :
– Satu ke Satu (One To One)
– Satu ke Banyak (One To Many)
– Banyak ke Banyak (Many To Many)




Kelemahan dalam model database ini adalah lebih kompleks dan sulitnya dalam proses query, begitu juga halnya dalam manipulasi data yang harus dilaksanakan dengan menelusuri data pointer pada setiap recordnya.
Kelebihan model database ini adalah dari segi efisiensi penyimpanan data, karena tidak adanya data yang duplikat (redundansi) dan akses yang cepat karena langsung memanfaatkan pointer ke alamat fisik data.
Karena kompleksitas yang tinggi, apalagi diterapkan pada sistem database yang begitu kompleks, maka model database ini tidak tepat lagi untuk digunakan. 
Saat ini, model database jaringan sudah jarang sekali dipakai, kecuali untuk keperluan penelitian (research) saja.


3. Model Database Relasi (Relational Database Model)


Model database relasi merupakan model database yang paling banyak digunakan saat ini, karena paling sederhana dan mudah digunakan serta yang paling penting adalah kemampuannya dalam mengakomodasi berbagai kebutuhan pengelolaan database.




Sebuah database dalam model ini disusun dalam bentuk tabel dua dimensi yang terdiri dari baris (record) dan kolom (field), pertemuan antara baris dengan kolom disebut item data (data value), tabel-tabel yang ada dihubungkan (relationship) sedemikian rupa menggunakan field-field kunci (key field) sehingga dapat meminimalkan duplikasi data.


4. Object Oriented Database Model (OODB)


Model database yang menyimpan informasi dalam bentuk objek. Objek tersebut digunakan dalam OOP (Object Oriented Progamming) seperti Java, C++, dan lain-lain


Model database ini dapat mengintegrasikan kemampuan basis data (DBMS) dengan OOP (Object Oriented Progamming) misalnya : Java, C++, dan lain-lain. OODB ini mendukung data yang kompleks seperti video, suara, gambar. dan lain-lain.

5. NoSQL Database Model (Not Only Database)


Database yang mempunyai tipe penyimpanan data yang berwujud selain yang berwujud tabular. Contoh : Document (MongoDB), Key-Value (Redis), Graph (OrientDb), dan sebagainya


F. Big Data


Big Data adalah istilah umum untuk segala himpunan data (data set) dalam jumlah yang sangat besar, rumit dan tak terstruktur sehingga menjadikannya sukar ditangani apabila hanya menggunakan perkakas manajemen basis data biasa atau aplikasi pemroses data tradisional belaka. Big Data juga dapat diartikan sebagai pertumbuhan data dan informasi yang eksponensial dengan kecepatan dalam pertambahannya dan memiliki data yang bervariasi sehingga menyebabkan tantangan baru dalam pengolahan sejumlah data besar yang heterogen dan mengetahui bagaimana cara memahami semua data tersebut. Pada dasarnya big data memiliki tiga karakteristik diantaranya :

  • Volumebig data memiliki jumlah data yang sangat besar sehingga dalam proses pengolahan data dibutuhkan suatu penyimpanan yang besar dan dibutuhkan analisis yang lebih spesifik.
  • Velocity : big data memiliki aliran data yang yang cepat dan real time.
  • Variety : big data memiliki bentuk format data yang beragam baik terstruktur ataupun tidak terstruktur dan bergantung pada banyaknya sumber data.

G. Pengguna Database
Pengguna (user) database meliputi:
  • Database Administrator : yaitu pengguna yang memiliki kewenangan sebagai pusat pengendali seluruh sistem baik basis data maupun program-program yang mengaksesnya, menentukan pola struktur basis data, memodifikasi, membagi tugas pengolahan dan memberikan orientasi tertentu, dan sebagainya.
  • Aplication Programmers : yaitu programmer aplikasi yang berinteraksi dengan sistem melalui pemanggilan Data Manipulation Language (DML) yang dimasukkan ke dalam program yang tulis.
  • Sophisticated Users : yaitu pengguna yang berintraksi dengan sistem tapa harus menuliskan sendiri programnya, tetapi diganti dengan melakukan permintaan (request) dalam bentuk bahasa query basis data. Seperti menggunakan MS-Accsess, SQL, dan sebagainya.
  • Specialized Users : yaitu pengguna yang menuliskan program aplikasi basis data khusus yang tidak sesuai dengan framework pemrosesan data tradisional. Contoh: sistem pakar, multimedia, dan sebagainya.
  • Native Users : yaitu kebanyakan pengguna yang berintraksi dengan sistem dengan cara memanggil salah satu program aplikasi yang telah disediakan. Contoh: operator pada bagian teller, personalia, dan sebagainya.

H. Sejarah Database

Sejak zaman dulu, basis data sudah menjadi fokus yang utama pada aplikasi. Pada awal tahun 1960, Charles Bachman di perusahaan General Electric mendesain generasi pertama DBMS yang disebut penyimpanan data terintegrasi (Integrated Data Strore). Dasar untuk model data jaringan terbentuk lalu distandarisasi oleh CODASYL (Conference on Data System Languages). Kemudian, Bachman menerima CM Turing Award (Penghargaan semacam nobel pada ilmu computer) pada tahun 1973.
Menurut sejarah, system pemrosesan basis data terbentuk setelah masa system pemrosesan manual dan system pemrosesan berkas. System pemrosesan manual (Berbasis kertas) merupakan bentuk pemrosesan yang menggunakan dasar berupa setumpuk rekaman yang disimpan pada rak-rak berkas. Jika berkas-berkas tersebut diperlukan, berkas tersebut harus dicari pada rak-rak tersebut. System pemrosesan berkas merupakan system komputer, dimana sekelompok rekaman disimpan pada sejumlah berkas secara terpisah. Perancangan system ini didasarkan pada kebutuhan individual pengguna, bukan kebutuhan sejumlah pengguna. Sehingga setiap aplikasi menuliskan data sendiri, alhasil ada kemungkinan data yang sama terdapat pada berkas-berkas lain yang digunakan oleh program aplikasi lain.
Sejarah DBMS (Database Management System), generasi pertama DBMS didesain oleh Charles Bachman di perusahaan General Electric pada awal tahun 1960, disebut sebagai penyimpanan data terintegrasi (Integrated Data Store). Dibentuk dasar untuk model data jaringan yang kemudian distandardisasi oleh CODASYL (Conference on Data System Languages).
Pada akhir 1960, IBM mengembangkan system manajemen informasi (Information Management System) DBMS. IMS dibentuk dari representasi data pada kerangka kerja yang disebut dengan model data hirarki. Dalam waktu yang sama, dikembangkan system SABRE sebagai hasil kerjasama antara IBM dengan perusahaan penerbangan Amerika. System ini memungkinkan user untuk mengakses data yang sama pada jaringan komputer.
Pada tahun 1985, Microsoft dan IBM mengumumkan perjanjian kerjasama jangka panjang untuk mengembangkan system operasi dan produk-produk perangkat lunak lainnya. Pengumuman ini adalah permulaan dimulainya OS/2, sebuah system operasi setelah masa kejayaan MS-DOS. OS/2 ini akan lebih 'Hebat' dan lebih 'Canggih' daripada MS-DOS, ia akan mampu menangani multitasking application dengan memanfaatkan kemampuan processor Intel yang terbaru yaitu 80286. "That was the plan!" OS/2 secara resmi diumumkan pada bulan april 1987, dan dijanjikan akan tersedia buat end-user pada akhir tahun tersebut.
Tetapi dalam waktu yang sangat singkat setelah pengumuman perjanjian kerjasama tersebut, IBM mengumumkan peluncuran sebuah versi spesial OS/2 yang disebut OS/2 Extended Edition. Versi lebih powerfull ini akan menyertakan sebuah Database SQL yang disebut OS/2 Database Manager, OS/2 Database Manager akan sangat berguna bagi pengembangan aplikasi yang sederhana dan kompatibel dengan DB/2 , sebuah Database server milik IBM yang beroperasi pada mainframe. OS/2 Database manager juga akan menyertakan SNA (System Network Architecture) communication service, yang disebut OS/2 Communication Manager. Sebagai bagian dari SSA (System Application Architecture)-nya. IBM menjanjikan semua produk-produk tersebut dapat saling bekerjasama pada masa yang akan datang. Tetapi jika IBM mampu menawarkan sebuah solusi OS/2 yang begitu lengkap, kenapa user harus membeli produk OS/2 buatan Microsoft?.
Hal inilah yang membuat Microsoft segera mencari solusi sendiri. Pada tahun 1986, Microsoft sudah menghasilkan 197 JutaUS$ per tahun, dengan 1153 pegawai. (Sepuluh tahun kemudian, Microsoft telah mendapatkan 6 Milyar US$ dari bisnis softwarenya, dengan hampir sekitar 18.000 pegawai). Produk-produk Microsoft hampir semuanya terfokus pada aplikasi desktop dengan produk utamanya adalah MS-DOS. Komputasi Client/Server pada saat itu belum menjadi fokus utama Microsoft dan industri komputer. Manajemen data pada sebuah PC hanyalah menjadi sebuah fantasi pada masa itu, User biasanya hanya menggunaka LOTUS 1-2-3 untuk menyimpan data. Produk dBASE buatan Ashton Tate segera menjadi sangat populer setelah diluncurkan, Selanjutnya Anca Software merilis Paradox dan Micro Rim dengan prouk RBase-nya. Pada tahun 1986 tersebut, Microsoft belum mempunyai produk manajemen Database sendiri. (Tetapi pada tahun 1992, Microsoft mendapatkan sukses yang luar biasa dari produk manajemen database desktop-nya dengan Microsoft Access dan Microsoft FoxPro).
Tetapi IBM Database Manager sangatlah berbeda dari dBASE, Paradox atau RBase. Produk IBM ini walaupun tidak begitu user-friendly, tetapi ia mempunyai SQL query processor-nya sendiri dan bekerja berdasarkan "Transactions", hampir sama dengan Database Server yang berjalan diatas Minicomputer dan mainframe, seperti DB/2, Oracle ataupun Informix. Microsoft membutuhkan produk DBMS (Database Management System) sekaliber ini dan membutuhkannya segera!.
Microsoft berpaling kepada Sybase, Inc. Sebuah perusahaan pembuat software DBMS yang sedang 'Naik daun', yang merilis produk Data Server-nya pada bulan mei 1987 untuk Sun Microssystem yang berjalan diatas UNIX. Data Server mendapatkan reputasi berkat inovasi dan kreatifitasnya dengan Stored Procedure dan Trigger serta paradigma baru dalam dunia komputasi yaitu: Client/Server.
Setelah itu zaman ke zaman selalu ada pembaruan tentang Database ini.

I. Arsitektur Data
Kegunaan utama sistem basis data adalah agar pemakai mampu menyusun suatu pandangan (view) abstraksi data. Hal ini bertujuan untuk menyederhanakan intraksi antara pengguna dengan sistemnya dan basis data dapat mempresentasikan pandangan yang berbeda kepada para pengguna, programmer, dan administratornya. Karena tidak semua pengguna basis data terlatih dengan baik dan penggunanya terbagi dalam berbagai tingkatan, maka kompleksitas basis data akan tersembunyi dari para pengguna melalui beberapa level abstraksi data. Ketika memandang basis data, pemakai dapat dikelompokkan menjadi 3 tingkatan (level) yaitu:
  • Level Eksternal (external view). Merupakan level dengan tingkatan tertinggi, yang menggambarkan hanya satu bagian dari keseluruhan database. Beberapa pengguna basis data tidak membutuhkan semua isi basis data misalkan bagian personalia hanya membutuhkan data file karyawan dan gaji, tidak membutuhkan data file gudang, transaksi barang masuk.
  • Level Konseptual. Merupakan level yang menggambarkan data apa yang sebenarnya (secara fungsional) disimpan dalam basis data, beserta relasi yang terjadi antara data. Level ini menggambarkan keseluruhan database, dimana administrator basis data (DBA) membangun dan mengolah basis data, sedangkan pemakai tidak memperdulikan kerumitan dalam struktur level fisik lagi. Contohnya: pengguna akan mengetahui bahwa penjualan disimpan di dalam tabel barang, produksi, keuangan, marketing.
  • Level Internal (physical view/internal view). Merupakan tingkatan terendah dalam abstraksi data yang menunjukkan bagaimana data disimpan dalam kondisi sebenarnya. Level ini merupakan bentuk paling kompleks, dimana struktur data level terendah digambarkan pada level ini.
Level abstraksi data tersebut bisa memberikan gambaran atau pandangan mengenai arsitektur Database Management System (DBMS), yang akan menambah pengertian mengenai independensi data (data independence) Independensi data dapat dibagi menjadi dua bagian yaitu:
  1. Physical Data Independence : Kemampuan untuk mengubah pola fisik database tanpa mengakibatkan suatu aplikasi program ditulis kembali. Modifikasi pada level fisik biasanya pada saat meningkatkan daya guna.
  2. Logical Data Independence : Kumpulan konsep yang dapat digunakakn untuk menggambar struktur data. Struktur database meliputi tipe data, hubungan, dan beberapa syarat yang harus dipenuhi database.

J. Database Language

Untuk dapat mengelola data didalam database, diperlukan bahasa yang dimengerti oleh pengguna dan database yang dikelola. SQL (Structured Query Language) merupakan bahasa yang telah distandarisasikan dan digunakan dalam pengelolaan semua database yang ada. Didalam SQL terdapat 3 sub bahasa, yaitu : Data Definition Language (DDL) yang digunakan untuk membangun objek - objek dalam database seperti tabel dan indeks; Data manipulation Language (DML) yang digunakan untuk menambah, mencari, mengubah, dan menghapus baris dalam tabel; dan Data Control Language (DCL) yang digunakan untuk menangani masalah sekuriti dalam database. Ketiga sub bahasa ini dapat kita akses setelah database dipanggil.
  1. DATA DEFINITION LANGUAGE (DDL) DDL adalah perintah - perintah yang digunakan untuk membangun isi dari database. DDL bertugas untuk membuat objek SQL dan menyimpan definisinya dalam tabel. Contoh dari objek yang dimaksud adalah tabel, view, dan index. Pembuatan tabel, perubahan struktur tabel, perubahan nama tabel, serta perintahuntuk menghapus tabel, dilakukan dengan sub bahasa yang tergolong dalam DDL  Perintah - perintah yang digolongkan dalam DDL adalah : Create : Perintah ini digunakan untuk membuat databs, tabel, dan objek lain dalam database Alter : Perintah ini digunakan untuk memodifikasi tabel, seperti mengganti nama tabel, mengubah jenis/tipe field yang digunakan, mengubah nama field baru atau mengurangi field tertentu Drop : Perintah ini digunakan untuk menghapus database, tabel dan objek lain dalam dabase.
  2. DATA MANIPULATION LANGUAGE (DML) DML digunakan untuk menampilkan, mengubah, menambah dan menghapus baris dalam tabel. Perintah - perintah yang dihubungkan digolongkan dalam DML antara lain: Select : Perintah ini digunakan untuk menampilkan isi tabel.Baik semua isi tabel atau sebagian isi tabel. Bahkan bisa pula menampilkan isi tabel yang dihubungkan dengan tabel - tabel yang lain. Insert : Perintah ini untuk mengisi atau menambahkan isi tabel. Pengisian dapat dilakukan untuk seluruh field atau hanya sebagian filed saja. Update : Seperti terlihat pada perintahnya. Perintah ini digunakan untuk mengubah item - item tertentu dalam satu tabel. Delete : Perintah ini digunakan untuk menghapus record - record dengan kriteria tertentu.
  3. DATA CONTROL LANGUAGE (DCL) Kedua perintah ini tergolong dalam Data Controlling Language (DCL) yaitu perintah yang akan membantu mengontrol keamanan setiap database atau sebagian isi dari database dengan membuat hak-hak akses tertentu bagi setiap user. Ada dua perintah yang akan kita kenal, yaitu grant dan revoke.
  • Grant : Grant digunakan untuk memberikan hak - hak tertentu kepada seorang user. Grant diberikan oleh user yang mempunyai hak untuk memberkan grant atau administrator (root).
  • Revoke : Kebalikan dari grant, Revoke digunakan untuk mencabut hak-hak dari seorang   user terhadap database tertentu atau sebagian isi dari database.
K. Skema SQL

Skema adalah suatu layer dalam SQL server security. Berikut adalah contoh database adventuresWorks. Skema pada AW bersifat instruktif jika ingin dilihat bagaimana schema digunakan. Setiap skema memiliki sekumpulan objek yang yang diakses sekelompok user yang sama, pada contoh berikut suatu departemen dalam suatu perusahaan seperti Sales, Production, atau Human Resource. Skema dapat dilihat dengan
- sys.schemas
- use AdventuresWorks
- Select * From sys.schemas
Ketika ditambahkan sebuah user, maka kita dapat mengeset skema default untuk user tersebut. Sebagai contoh kita akan membuat user bernama Jane dengan skema sales, Jane juga akan di set pada role ddl admin.
- Create User Jane FOR LOGIN Jane
- WIth DEFAULT_SCHEMA = Sales;
- Exec sp_addrolemember ‘db_ddladmin’,’jane’;
Setting default skema berarti apapun yang dilakukan Jane secara default menggunakan skema ini, jadi semua objek yang dibuat Jane akan dimasukkan dalam skema sales, dan semua objek yang dia referensikan akan diasumsikan pada skema sales. Jadi ketika jane membuat sebuah sp seperti berikut :
- use adventuresWorks
- go
- create procedures usp_GetCustomers As
- Select * From Customer
Prosedur baru akan ditempatkan pada skema sales, dan setiap user yang berbeda skema defaultnya dengan Sales akan membutuhkan referensi seperti Sales.uso_GetCustomers. Catat bahwa jane dapat mereferensi tabel customer tanpa secara explixit menambahkan skema, karena sudah merupakan skema defaultnya. Jika skema tidak direferensikan pada saat membuat user, maka secara default masuk skema dbo.
Untuk membuat skema baru, yaitu dengan menggunakan perintah Create Schema, Sebagai contoh untuk membuat skema finance, sebagai berikut :
- Create Schema Finance
Pembuatan skema juga bisa dengan menyebut pricipal database secara spesifik misalnya
- Create Schema Finance Authorization Jane
Hal ini berati jane juga memiliki skema tersebut dan secara implisit dapat mengakses semua objek database pada skema tersebut. Bagaimanapun juga hal tersebut tidak mengijinkan Jane untuk membuat objek pada skema tersebut, karena perintah DDL tercakup pada level database bukan level schema.
Poin terakhir mengenai perintah Create Schema dapat disertakan pada perintah Create Table dan Create View untuk membuat table dan view pada skema tersebut. Jadi, skema dapat dibuat dalam satu perintah go. Dalam membuat skema juga dapat menyertakan pernyataan grant, deny dan revoke

L. Database Design

Desain Database atau basis data adalah proses menghasilkan detail (rinci) model data dari basis data (database). Tujuan dari desain database adalah untuk menentukan data-data yang dibutuhkan dalam sistem, sehingga informasi yang dihasilkan dapat terpenuhi dengan baik. Terdapat beberapa alasan mengapa desain database perlu untuk dilakukan, salah satunya adalah untuk menghindari pengulangan data (data redundancy).
  1. Database Konseptual (Conceptual Database) : Informasi-informasi yang ada pada saat kita melakukan analisis persyaratan digunakan untuk mengembangkan deskripsi data tingkat tinggi yang wajib disimpan dalam database. Pada fase ini sering diproyeksikan dengan menggunakan model ER, yaitu salah satu dari model data tingkat tinggi yang digunakan dalam desain database agar menghasilkan desain atau gambaran yang sederhana yang sesuai dengan pemikiran pengguna (user).
  2. Desain Database Logika (Logical Database Design) : Pada fase ini, konsep desain database atau model ER diubah menjadi sebuah skema database relasional dari DBMS yang dipilih. Kita diwajibkan untuk memilih sebuah DBMS untuk membuat desain database yang kita inginkan.
  3. Desain Database fisik (Physical Database Desain) : Pada fase ini, pengguna wajib memperhitungkan bobot kerja umum yang sesuai dengan database kita dan memperbaiki desain database kelak agar dapat dimanfaatkan sesuai kebutuhan dan keinginan. Pada fase ini meliputi pembuatan indeks pada tabel dan mengelompokkan beberapa table. Pada fase ini juga mempermasalahkan desain ulang yang nyata atau rasional dari beberapa skema dari fase pertama desain database.
M. Database Design Approach

Terdapat dua cara dasar untuk mendesain database relasional yang terstruktur dengan baik, yaitu :

1. Bottom-Up Approach
Pendekatan ini dimulai dengan asumsi bahwa semua data pada awalnya disimpan dalam satu tabel besar. Pendekatan ini kemudian diikuti dengan serangkaian peraturan untuk memisah-misahkan tabel awal tadi menjadi serangkaian tabel yang dinormalisasi. Tujuannya adalah menghasilkan serangkaian tabel yang dapat dikategorikan sebagai bentuk normal ketiga (third normal form-3NF), karena tabel-tabel seperti ini bebas dari masalah anomali pembaruan, penyisipan, serta penghapusan.

2. Top-Down Approach
Cara alternatif untuk mendesain database relasional yang terstruktur dengan baik adalah dengan menggunakan pembuatan model data semantik. Dalam pendekatan ini, desainer database menggunakan pengetahuan mereka mengenai bagaimana proses bisnis biasanya berlangsung dan mengenai kebutuhan informasi yang berhubungan dengan proses transaksi, untuk membuat gambar grafis mengenai hal-ha1 yang seharusnya dimasukkan dalam database yang didesainnya. Gambar yang dihasilkan kemudian dapat langsung digunakan untuk membuat serangkaian tabel relasional yang termasuk dalam kategori 3NF.
Pembuatan model data semantik memiliki dua kelebihan utama daripada membangun database hanya dengan mengikuti peraturan-peraturan proses normalisasi. Pertama, cara ini memfasilitasi desain yang efisien atas database proses transaksi, karena cara ini mempergunakan pengetahuan desainer sistem mengenai proses dan kegiatan bisnis. Kedua, cara ini memfasilitasi komunikasi dengan para calon pemakai sistem tersebut, karena model grafis yang dihasilkan secara eksplisit mewakili informasi mengenai proses bisnis dan kebijakan organisasi. Komunikasi semacam ini sangat penting untuk memastikan bahwa sistem yang dihasilkan sesuai dengan kebutuhan para pemakai yang sebenarnya. Alat untuk membuat model data semantik yang dapat digunakan oleh akuntan dan profesional sistem bisnis dalam mendesain database proses transaksi, dinamakan diagram hubungan-entitas (entity ­relationship-E-R) dan model data REA.

N. Model Konseptual Database
Perancangan model konseptual database dalam sebuah organisasi menjadi tugas dari Administrator database. Model konseptual merupakan kombinasi beberapa cara untuk memproses data untuk beberapa aplikasi. Model konseptual tidak tergantung pada aplikasi individual, DBMS yang digunakan, Hardware komputer dan model fisiknya.
Pada perancangan model konseptual basis data ini penekanan dilakukan pada struktur data dan relasi antara file. Model Konseptual Database terdiri dari : Entity, Relationship, Attribute, dan Attribute Domain.

  1. Entity : Sesuatu yang memiliki keberadaan yang unik dan berbeda baik dalam bentuk fisik.maupun abstrak
  2. Relationship : Relationship adalah relasi atau hubungan antara beberapa entity dalam database yang kita miliki.
  3. Attribute : Karakteristik dari suatu entity atau relasi
  4. Attribute Domain : Kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih attribute
Field (Atribut) Kunci
Setiap file selalu terdapat kunci dari file berupa field atau satu set field yang dapat mewakili record. Misalnya Nomor Pokok Mahasiswa (NPM) merupakan kunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian cukup dengan menyebut nomor mahasiswa tersebut maka dapat diketahui identitas mahasiswa lainnya seperti nama, alamat dan atribut lainnya. Nomor Pegawai (NIP) bagi data dosen, NIK untuk data karyawan, Kode_Kuliah untuk data Mata kuliah, dan lain sebagainya.
Atribut yang melekat pada suatu entitas ada bermacam tipe antara lain :
a. Atribut Sederhana
Atribut sederhana merupakan atribut atomik yang tidak dapat lagi dipecah menjadi atribut lain.
Contoh : Entitas mahasiswa mempunyai atribut sederhana berupa NIM, Nama_Mahasiswa .
b. Atribut Komposit
Atribut komposit merupakan atribut yang masih dapat dipecah menjadi sub-sub atribut yang masing-masing memiliki arti tesendiri.
Contoh : Entitas mahasiswa mempunyai atribut alamat. Alamat disini dapat
dipecah menjadi sub atribut seperti nama_kota, kode_pos.
c. Atribut Bernilai Tunggal:
Atribut yang hanya memiliki satu nilai untuk setiap barisnya.
Contoh : Entitas mahasiswa mempunyai atribut NPM, Nama, Alamat isi data dari atribut ini hanya boleh diisi dengan 1 data. Setiap mahasiswa hanya memiliki 1 NPM, 1 Nama, 1 Alamat.
d. Atribut Bernilai Jamak
Atribut yang boleh memiliki lebih dari satu nilai untuk setiap barisnya.
Contoh : Entitas mahasiswa mempunyai atribut : Hobi, isi data dari atribut ini boleh lebih dari 1 data. Mahasiswa Roshita memiliki NPM 13402021
beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobi (Olah Raga,
Menyanyi, Memasak dan Menonton TV).
e. Atribut Harus Bernilai
Atribut yang harus memiliki nilai data untuk setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan dalam perancangan tabelnya sehingga jika dalam pengisian dokosongi akan terjadi kesalahan.
Contoh : Entitas mahasiswa mempunyai atribut : NPM dan Nama_Mahasiswa yang harus diisi datanya, sebab jika tidak diisi akan terjadi kekacauan dalam basis data.
f. Atribut Bernilai Null
Atribut yang boleh tidak memiliki nilai data untuk setiap barisnya.
Contoh : Entitas mahasiswa mempunyai atribut : Alamat, Hobi, Nama_Adik
yang boleh untuk tidak diisi tetapi kalau diisi akan lebih baik.
g. Atribut Turunan (Derived Attribute)
Atribut turunan adalah atribut yang nilai-nilainya diperoleh dari pengolahan
atau dapat diturunkan dari atribut lain yang berkaitan.
Contoh : Entitas mahasiswa mempunyai atribut IPK yang diperoleh dari pengolahan atribut : Nilai pada tabel (entitas Nilai) dengan kode NIM mahasiswa yang sama dan diproses sehingga menghasilkan IPK untuk mahasiswa yang bersangkutan.
5. Kunci Kandidat (Candidate Key)
Kunci kandidat adalah satu atribut atau satu set atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entity. Satu set atribut menyatakan secara tidak langsung dimana anda tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik. Jika kunci kandidat berisi lebih dari satu atribut, maka biasanya disebut sebagai composite key (kunci campuran atau gabungan).
Contoh :
File pegawai berisi : Nomor Pegawai, Nomor KTP, Nama Pegawai, Tempat Lahir, Tanggal Lahir, Alamat, Kota
Kunci kandidat dalam file pegawai di atas dapat dipilih sbb :
- Nomor Pegawai
- Nomor KTP
- Nama (tidak dapat dipakai karena sering seseorang punya nama yang sama dengan orang lain)
- Nama + Tanggal Lahir (mungkin bisa dipakai sebagai kunci karena kemungkinan orang dengan nama yang sama dan tanggal lahir yang sama cukup kecil)
- Nama + Tempat Lahir + Tanggal Lahir (dapat dipakai sebagai kunci)
- Alamat dan Kota (bukan kunci)

a. Kunci Primer (Primary Key)
Primary key adalah satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kekadian spesifik, tetapi juga dapat mewakili setiap kejadian dari suatu entity. Setiap kunci kandidat dapat menjadi kunci primer tetapi sebaliknya sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yang ada.
Contoh :
- Nomor_Pegawai (karena sifatnya yang unik maka tidak mungkin pegawai mempunyai Nomor Pegawai yang sama).
- Nomor_KTP (Bisa dipakai misalnya untuk pegawai yang baru belum mendapatkan nomor pegawai maka bisa digunakan nomor KTP untuk sementara sebagai kunci primer.
- Kode_Kuliah (bisa dipakai untuk data mata kuliah karena kode mata kuliah bersifat unik untuk tiap mata kuliah)
b. Kunci Alternatif (Alternate Key)
Kunci alternatif adalah kunci kandidat yang tidak dipakai sebagai kunci primer. Kunci alternatif ini sering digunakan untuk kunci pengurutan misalnya dalam laporan.
c. Kunci Tamu (Foreign Key)
Kunci tamu adalah satu atribut aatau satu set minimal atribut yang melengkapi satu hubungan yang menunjukkan ke induknya. kunci tamu ditempatkan pada entity anak dan sama dengan kunci primer induk yang direlasikan. Hubungan antara entity induk dengan anak adalah hubungan satu lawan banyak (one to many relationship)
Contoh :
- File Transaksi Gaji Bulanan terdiri dari No Pegawai, No Bukti, Tanggal, Jumlah Gaji    Kotor, Jumlah Potongan, Jumlah Gaji Bersih, Jumlah Pajak
  • Foreign Key : No Pegawai (karena Gaji berhubungan dengan file Pegawai)
  • Kunci Primer : No Bukti (karena unik dan mewakili entity)
  • Kunci Kandidat : No Pegawai + Nomor Bukti (Unik dan menunjukkan hubungan dengan file Pegawai)
Dalam hubungan dua buah file yang punya relationship many to many
maka terdapat 2 foreign key pada file konektornya.
Contoh :
- File Proyek berisi atribut : No Proyek, Tgl Mulai, Tgl Selesai, Anggaran
- File Pegawai Berisi Atribut : No Pegawai, Nama
Hubungan antara file tersebut adalah many to many yaitu satu
pegawai mengerjakan lebih dari 1 proyek dan 1 proyek dikerjakan oleh
beberapa pegawai maka untuk menunjukkan hubungan tersebut dipakai file
konektor yang berisi kunci tamu dari kedua file.
- File Proyek Pegawai berisi atribut : No Proyek, No Pegawai, Jam Kerja
Maka pada file proyek pegawai terdapat kunci tamu yaitu nomor proyek dan
no pegawai. Kedua atribut tersebut juga merupakan kunci primer.

Referensi

Materi Ibu Nurwati


2018, Sejarah Database, dilihat 2 Desember 2018

http://guslinpustaka.blogspot.com/2015/02/sejarah-database.html

2018, Pengertian Database, dilihat 2 Desember 2018

https://id.wikipedia.org/wiki/Pangkalan_data

2012, Model Database, dilihat 2 Desember 2018

https://hendri83.wordpress.com/2012/09/17/model-database/

2012, Model Konseptual Databse, dilihat 2 Desember

http://adekurniawanf56.blogspot.com/2012/11/model-konseptual-basis-data.html

2012, Design Databse, dilihat 2 Desember
http://dezhadosa05716.blogspot.com/2012/03/desain-database.html
\
2013, Skema SQL, dilihat 2 Desember
https://trigunawan89.wordpress.com/2013/06/25/mengenal-schema-pada-sql/

2011, Database Language, dilihat 2 Desember
http://diginumbel5.blogspot.com/2010/03/bahasa-dalam-database.html#!/tcmbck