Anda di halaman 1dari 60

MODUL PERKULIAHAN

Sistem Basis Data


Karakteristik, manfaat, implikasi basis data dan pemakainya

ABSTRAK
Tatap Muka

01
Fakultas: Ilmu Komputer Kode Mata Kuliah: 32141E1FA
Program Studi: Teknik Informatika Disusun Oleh : Dwi Andrian Susanto, M.Kom

ABSTRAK TUJUAN

Mampu menjelaskan tentang Database Mahasiswa mampu Menjelaskan :

dan Basis Data a) Database


b) Manfaat Database
c) Implikasi Basis Data
1. Pengertian Database

 Menurut Gordon C. Everest, bahwa “database adalah koleksi atau kumpulan data

yang mekanis, terbagi / shared, terdefinisi secara formal dan dikontrol terpusat pada

organisasi.”

 Menurut C.J. Date, bahwa “Database adalah koleksi “data operasional” yang

tersimpan dan dipakai oleh sistem aplikasi dari suatu organisasi. Database terdiri dari data

input adalah data yang masuk dari luar sistem, data output adalah data yang dihasilkan

sistem dan data operasional adalah data yang tersimpan pada sistem”. Selain itu, menurut

Toni Fabbri bahwa “database adalah sebuah sistem file-file yang terintegrasi yang

mempunyai minimal primary key untuk pengulangan data”.

 Menurut S. Attre, bahwa “Database adalah koleksi data-data yang saling

berhubungan mengenai suatu organisasi/enterprise dengan macam-macam

pemakaiannya”.

 2.      Manfaat Database

 Sebagai komponen utama atau penting dalam sistem informasi, karena

merupakan dasar dalam menyediakan informasi.

 Menentukan kualitas informasi yaitu cepat, akurat, dan relevan, sehingga

infromasi yang disajikan tidak basi. Informasi dapat dikatakan bernilai bila

manfaatnya lebih efektif dibandingkan dengan biaya mendapatkanya.

 Mengatasi kerangkapan data (redundancy data).

 Menghindari terjadinya inkonsistensi data.

 Mengatasi kesulitan dalam mengakses data.

2020 Sistem Basis Data


2 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
 Menyusun format yang standar dari sebuah data.

 Penggunaan oleh banyak pemakai (multiple user). Sebuah database bisa

dimanfaatkan sekaligus secara bersama oleh banyak pengguna (multiuser).

 Melakukan perlindungan dan pengamanan data. Setiap data hanya bisa

diakses atau dimanipulasi oleh pihak yang diberi otoritas dengan memberikan

login dan password terhadap masing-masing data.

 Agar pemakai mampu menyusun suatu pandangan (view) abstraksi dari data.

Hal ini bertujuan menyederhanakan interaksi antara pengguna dengan

sistemnya dan database dapat mempresentasikan pandangan yang berbeda

kepada para pengguna, programmer dan administratornya.

3.      Dasar–Dasar Database

A.    Definisi dasar struktur database yaitu :

1). Data yaitu sekumpulan fakta mengenai objek tertentu, orang dan lain-lain

yang dinyatakan dengan angka, huruf, gambar, film, suara dan sebagainya

yang relevan dan belum mempunyai arti.

2). Informasi yaitu hasil pengolahan data yang konkrit dan sudah mempunyai

arti untuk mencapai suatu tujuan tertentu.

3). Tabel yaitu merupakan hal yang paling mendasar dalam hal penyimpanan

data yang terdiri dari field dan record.

4). Field (kolom) yaitu merupakan elemen dari tabel yang berisikan informasi

tertentu yang spesifik tentang subjudul tabel pada sebuah item data.

2020 Sistem Basis Data


3 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
B.     Prinsip utama Database

Prinsip utama data base adalah  pengaturan data dengan tujuan utama

fleksibelitas dan kecepatan pada saat pengambilan data kembali. Adapun ciri-ciri

basis data diantaranya adalah sebagai berikut :

1). Efisiensi meliputi kecepatan, ukuran, dan ketepatan

2). Data dalam jumlah besar.

3). Berbagi Pakai (dipakai bersama sama/Sharebility).

4). Mengurangi bahkan menghilangkan tjd duplikasi & ketidak konsistenan data.

C.   Perangkat Lunak Untuk Membuat Database

Database dapat dibuat dan diolah dengan menggunakan suatu program komputer,

yaitu yang biasa kita sebut dengan software (perangkat lunak). Software yang

digunakan untuk mengelola dan memanggil kueri (query) database disebut

Database Management System (DBMS) atau jika diterjemahkan kedalam bahasa

indonesia berarti “Sistem Manajemen Basis Data”.

Database Management System (DBMS) terdiri dari dua komponen:

 Relational Database Management System (RDBMS)

RDBMS meliputi Interface Drivers, SQL Engine, Transaction Engine,

Relational Engine, dan Storage Engine.

 Overview of Database Management System (ODBMS).

2020 Sistem Basis Data


4 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
ODBMS meliputi Language Drivers, Query Engine, Transaction Engine,

dan Storage Engine.

Sedangkan untuk lavel dari softwarenya sendiri, terdapat dua level:

 High Level Software :

Microsoft SQL Server, Oracle, Sybase, Interbase, XBase, Firebird, MySQL,

PostgreSQL, Microsoft Access, dBase III, Paradox, FoxPro, Visual FoxPro,

Arago, Force, Recital, dbFast, dbXL, Quicksilver, Clipper, FlagShip,

Harbour, Visual dBase, dan Lotus Smart Suite Approach

 Low Level Software :

Btrieve dan Tsunami Record Manager.

D. Model-model Database

Database Management System (DBMS) atau sistem manajemen database dibagi

menjadi lima model. Model yang lebih lama diperkenalkan pada tahun 1960-

an,yang bersifat hierarkis dan jaringan. Model yang lebih baru bersifat relasional,

berorientasi objek, dan multidimensional.

1).      Database Hierarkis

2020 Sistem Basis Data


5 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Pada database Hierarkis, field atau record diatur dalam kelompok-kelompok yang

berhubungan, menyerupai diagram pohon, dengan record child (level lebih rendah)

berada di bawah record parent (level yang lebih tinggi).

2).      Database Jaringan

Konsep database jaringan mirip dengan database hierarkis tetapi setiap record

child dapat memiliki lebih dari satu record parent. Selanjutnya setiap record child

dapat dimiliki oleh lebih dari satu record parent.

3).      Database Relasional

Database Relasional bekerja dengan menghubungkan data pada file-file yang

berbeda dengan menggunakan sebuah kunci atau elemen data yang umum.

Adapun cara kerja database relasional adalah sebagai berikut:

Elemen-elemen data disimpan dalam tabel lain yang membentuk baris dan kolom.

Dalam model database ini data diatur secara logis, yakni berdasarkan isi. Masing-

masing record dalam tabel diidentifikasi oleh sebuah field – kunci primer – yang

berisi sebuah nilai unik. Karena itulah data dalam database relasional dapat

muncul dengan cara yang berbeda dari cara ia disimpan secara fisik pada

komputer. Pengguna tidak boleh mengetahui lokasi fisik sebuah record untuk

mendapatkan kembali datanya.

4).      Database Berorientasi Objek

2020 Sistem Basis Data


6 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Model ini menggunakan objek sebagai perangkat lunak yang ditulis dalam

potongan kecil yang dapat digunakan kembali sebagai elemen dalam file database.

Database berorientasi objek adalah sebuah database multimedia yang bisa

menyimpan lebih banyak tipe data dibanding database relasional.

5).      Database Multidimensial

Database Multidimensial (MDA) memodelkan data sebagai fakta, dimensi, atau

numerik untuk menganalisis data dalam jumlah besar, tujuannya adalah untuk

mengambil keputusan.

E.   Tipe-Tipe Database

1).      Operational database

Database ini menyimpan data rinci yang diperlukan untuk mendukung operasi dari

seluruh organisasi. Mereka juga disebut subject- area databases (SADB), transaksi

database, dan produksi database. Contoh: database pelanggan, database pribadi,

database inventaris, akuntansi       database

2).      Analytical database

Database ini menyimpan data dan informasi yang diambil dari operasional yang

dipilih dan eksternal database. Mereka terdiri dari data dan informasi yang

dirangkum paling dibutuhkan oleh sebuah organisasi manajemen dan End-user

lainnya. Beberapa orang menyebut analitis multidimensi database sebagai

database, manajemen database, atau informasi database.

2020 Sistem Basis Data


7 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
3).      Data warehouse

Sebuah data warehouse menyimpan data dari saat ini dan tahun-tahun

sebelumnya serta data yang diambil dari berbagai database operasional dari

sebuah organisasi. Data warehouse menjadi sumber utama data yang telah

diperiksa, diedit, standar dan terintegrasi sehingga dapat digunakan oleh para

manajer dan pengguna akhir lainnya di seluruh organisasi profesional.

Perkembangan terakhir dari data warehouse adalah dipergunakan sebagai Shared

nothing architecture untuk memfasilitasi ekstrem scaling.

4).      Distributed database

Ini adalah database-kelompok kerja lokal dan departemen di kantor regional,

kantor cabang, pabrik-pabrik dan lokasi kerja lainnya. Database ini dapat

mencakup kedua segmen yaitu operasional dan user database, serta data yang

dihasilkan dan digunakan hanya pada pengguna situs     sendiri.

5).      End-user database

Database ini terdiri dari berbagai file data yang dikembangkan oleh end-user di

workstation mereka. Contoh dari ini adalah koleksi dokumen dalam spreadsheet,

word processing dan bahkan download file.

6).      External database

2020 Sistem Basis Data


8 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Database ini menyediakan akses ke eksternal, data milik pribadi online – tersedia

untuk biaya kepada pengguna akhir dan organisasi dari layanan komersial. Akses

ke kekayaan informasi dari database eksternal yang tersedia untuk biaya dari

layanan online komersial dan dengan atau tanpa  

biaya dari banyak sumber di Internet.

7).      Hypermedia databases on the web

Ini adalah kumpulan dari halaman-halaman multimedia yang saling berhubungan di

sebuah situs web. Mereka terdiri dari home page dan halaman hyperlink lain dari

multimedia atau campuran media seperti teks, grafik, gambar foto, klip video, audio

dll.

8).      Navigational database

Dalam navigasi database, queries menemukan benda terutama dengan

mengikuti referensi dari objek    lain.

9).      In-memory databases

Database di memori terutama bergantung pada memori utama untuk penyimpanan

data komputer. Ini berbeda dengan sistem manajemen database yang

menggunakan disk berbasis mekanisme penyimpanan. Database memori utama

lebih cepat daripada dioptimalkan disk database sejak Optimasi algoritma internal

menjadi lebih sederhana dan lebih sedikit CPU mengeksekusi instruksi.

10).  Document-oriented databases

2020 Sistem Basis Data


9 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Document-oriented databases merupakan program komputer yang dirancang

untuk aplikasi berorientasi dokumen. Sistem ini bisa diimplementasikan sebagai

lapisan di atas sebuah database relasional atau objek database. Sebagai lawan

dari database relasional, dokumen berbasis database tidak menyimpan data dalam

tabel dengan ukuran seragam kolom untuk setiap record. Sebaliknya, mereka

menyimpan setiap catatan sebagai dokumen yang memiliki karakteristik tertentu.

11).  Real-time databases

Real-time Database adalah sistem pengolahan dirancang untuk menangani beban

kerja negara yang dapat berubah terus-menerus. Ini berbeda dari database

tradisional yang mengandung data yang terus- menerus, sebagian besar tidak

terpengaruh oleh waktu. Sebagai contoh, pasar saham berubah dengan cepat dan

dinamis. Real-time processing berarti bahwa transaksi diproses cukup cepat bagi

hasil untuk kembali dan bertindak segera.

12).  Relational Database

Standar komputasi bisnis sejak tahun 2009, relational database adalah database

yang paling umum digunakan saat ini. Menggunakan meja untuk informasi struktur

sehin

DAFTAR PUSTAKA
2020 Sistem Basis Data
10 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Date, C.J (2004), Pengenalan Sistem Basis Data (1), Malang, Jawa Timur
Date, C.J (2004), Pengenalan Sistem Basis Data (2), Malang, Jawa Timur
Date,C.J (2004), Pengenalan Sistem Basis Data, Gramedia, Jakarta

Tujuan dari Three-Level Architecture


2020 Sistem Basis Data
11 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Seluruh pengguna harus dapat mengakses data yang sama. Tampilan pengguna (user’s
view) tidak dapat diubah. Pengguna tidak perlu mengetahui detail penyimpanan fisik
database.

DBA harus dapat mengubah struktur penyimpanan database tanpa mempengaruhi


tampilan/view pengguna. Struktur internal database harus tidak terpengaruh oleh
perubahan aspek fisik pada penyimpanan. DBA harus dapat merubah struktur
konseptual database tanpa mempengaruhi seluruh pengguna.

Database System Architecture

ANSI-SPARC Three-Level Architecture

External

Level

2020 Sistem Basis Data


12 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Cara pandang User terhadap Database. Menerangkan bagaimana data yang ada
direpresentasikan untuk user yang berbeda. Ekternal level merupakan level individual
user, dimana masing-masing user hanya akan berkepentingan dengan satu bagian saja.
Cara pandang dari masing-masing user bersifat abstrak bila dibandingkan dengan
bagaimana sebenarnya data tersebut disimpan. Masing-masing pandangan user tersebut
disebut external view, yang berisi berbagai tipe eksternal record. Jadi level ini berkaitan
erat dengan pemakai, dimana dari tiap pemakai hanya memerlukan sebagian dari data
yang ada dalam database. Cara pandang secara eksternal hanya terbatas pada entitas,
atribut, dan hubungan antar entitas yang diperlukan saja.
Conceptual Level

Menerangkan data apa saja yang tersimpan dan relasi antar data. Conceptual view
merupakan representasi informasi keseluruhan dari isi database, dimana semua
pandangan masing-masing user digabungkan. Perwujudannya abstrak, bila dibandingkan
dengan bagaimana data sesunggguhnya tersimpan secara fisik. Konseptual view berisi
berbagai tipe dari konseptual record yang didefinisikan oleh konseptual skema, ditulis
dalam data definition language (DDL). Pendefinisian skema konseptual dimaksudkan
untuk menyertakan feature-feature tambahan, seperti security and integrity. Beberapa
tujuan utama dari skema konseptual diantaranya ; menggambarkan enterprise secara
lengkap, bagaimana data tersebut digunakan, bagaimana aliran data didalam enterprise,
kegunaan data untuk setiap proses, proses kontrol atau audit yang diberikan pada setiap
proses.
Internal Level

Representasi secara fisik (Physical representation) dari database pada


komputer.Menerangkan bagaimana data yang ada disimpan dalam database.Internal
view merupakan level terendah dalam representasi dari keseluruhan database.
Internal view berisikan berbagai tipe internal record yang didefinisikan oleh skema internal.
Selain itu juga menjelaskan mengenai alokasi ruang penyimpanan data dan index,
bagaimana perwujudan field-field yang disimpan, deskripsi record untuk penyimpanan
(dengan ukuran penyimpanan untuk data elemen), pemampatan data, dan teknik
encription (pengamanan data). Dengan kata lain level ini berkaitan dengan storage
structure/stored database yang menerangkan tempat penyimpanan data pada internal

2020 Sistem Basis Data


13 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
view, dan storage structure definition pada skema internal yang menerangkan
hubungannya dengan cara pengaksesan data yang disimpan.

Differences between Three Levels of ANSI-SPARC Architecture

*User Inteface

2020 Sistem Basis Data


14 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Detail arsitektur system basis data

Data Independence
Logical Data Independence

Menunjukkan kekebalan skema eksternal terhadap perubahan skema konseptual.


Perubahan skema konseptual (contoh : penambahan/penghapusan entity). Tidak
memerlukan perubahan skema eksternal atau penulisan ulang program aplikasi.

Physical Data Independence


Menunjukkan kekebalan skema konseptual terhadap perubahan skema internal.
Perubahan skema internal (contoh : Menggunakan organisasi file yang berbeda,
perubahan struktur/peralatan penyimpanan) Tidak memerlukan perubahan skema
konseptual maupun skema eksternal.
Data Independence and the ANSI-SPARC Three-Level Architecture

2020 Sistem Basis Data


15 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Database Languanges
Data Definition Language (DDL)

Bahasa yang memungkinkan DBA atau user untuk mendefinisikan, menerangkan


dan memberi nama entitas-entitas, atribut, dan relationship yang dibutuhkan untuk
aplikasi, termasuk batasan-batasan keamanan dan integritas-nya.

Data Manipulation Language (DML)

Menyediakan operasi dasar manipulasi data pada data yang ada dalam Database,
yaitu:

Penyisipan data (Insertion)


Modifikasi data (Update)
Pemanggilan data (Select)
Penghapusan data (Delete)
Procedural DML

Bahasa yang memungkinkan user (umumnya programmer) untuk memberi instruksi


ke system mengenai data yang dibutuhkan dan cara pemanggilannya. Artinya, user
harus menjelaskan operasi pengaksesan data yang akan digunakan dengan
menggunakan prosedur yang ada untuk mendapatkan informasi yang dibutuhkan.

Non-Procedural DML

Bahasa yang memungkinkan user untuk menentukan data yang dibutuhkan dengan
menyebutkan spesifikasinya tanpa men-spesifikasikan bagaimana cara
mendapatkannya.

Fourth Generation Language (4GL)

User lebih menekankan pada pendefinisian apa yang akan dikerjakan, daripada

bagaimana mengerjakannya. 4GL meliputi :

Query Languages

2020 Sistem Basis Data


16 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Forms Generators

Merupakan fasilitas interaktif untuk membuat form input data dan tampilannya.
Mendefinisikan design tampilan, informasi apa yang akan disajikan, komponen
warna pada layar dan karakteristik lainnya.

Report Generators
Membuat laporan (reports) yang datanya diambil dari database. Memungkinkan
user untuk mengambil data yang diperlukan untuk laporan. Lebih menekankan
kepada rancangan output, yaitu bagaimana suatu laporan akan disajikan.

Graphics Generators
Digunakan untuk mengambil data dari database, dan menampilkannya dalm
bentuk grafik, seperti ; bar chart, pie chart, line chart dan lainnya.

Application Generators.
Fasilitas untuk menghasilkan program yang berhubungan dengan data,
menentukan bagaimana menampilkan fungsi-fungsi.

Model Data
Kumpulan konsep-konsep yang terintegrasi untuk menggambarkan data, relationships
antar data, dan batasan-batasan data dalam organisasi.

Data Model terdiri dari :

Bagian struktural, berisikan sekumpulan aturan berdasarkan database yang dapat


dibuat;

Bagian manipulasi, mendefinisikan tipe operasi yang boleh dilakukan;

Aturan-aturan integritas. Kegunaan untuk Merepresentasikan data kedalam bentuk


yang lebih mudah untuk dipahami untuk menetapkan konsistensi dalam

2020 Sistem Basis Data


17 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
memandang, mengorganisir, menginterpretasikan dan memperlakukan
database.

Jenis-jenis Model data :

Object-Based Data Models

Entity-Relationship
Semantic
Functional
Object-Oriented.

Record-Based Data Models

Relational Data Model


Network Data Model
Hierarchical Data
Model Physical Data
Models

Menerangkan bagaimana data disimpan dalam komputer, merepresentasikan


informasi seperti ; struktur record, permintaan record, dan jalur akses

Conceptual Modelling

Skema konseptual merupakan bagian utama dari system yang menampilkan


view seluruh user merupakan representasi yang akurat dan lengkap dari
kebutuhan data pada organisasi. Merupakan proses pembentukan suatu model
informasi yang digunakan dalam organisasi yang terlepas dari detail
implementasi. Hasilnya merupakan model data konseptual.

Fungsi-fungsi DBMS

2020 Sistem Basis Data


18 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Penyimpanan, pengambilan dan perubahan

Data. Katalog yang dapat diakses oleh

pengguna.

Dukungan Transaksi.

Layanan kontrol konkurensi. Layanan recovery.


Layanan kepemilikan (Authorization
Services). Dukungan komunikasi data.

Layanan integrasi.

Layanan untuk peningkatan independensi data.


Layanan utilitas

Komponen Software utama DBMS

Query Processor, merupakan komponen utama dalam DBMS yang merubah


query kedalam bahasa instruksi tingkat rendah yang ditujukan untuk database
manager.

2020 Sistem Basis Data


19 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Database Manager (DM), DM berhadapan dengan program aplikasi dan queri
yang diajukan oleh user. DM menerima query dan memeriksa skema eksternal dan
konseptual untuk menentukan record konseptual apa yang dapat memenuhi
permintaan user.

File Manager, memanipulasi file-file dasar yang tersimpan dan mengatur alokasi
tempat penyimpanan.

DML Processor, modul ini mengkonversikan pernyataan DML dalam program


aplikasi kebentuk standar dari bahasa host.

DDL Compiler, mengkonversikan pernyataan DDL kedalam sekumpulan tabel-


tabel yang berisikan meta-data. Tabel-tabel ini tersimpan di katalog sistem dan
informasi pengawasannya disimpan pada file header data.

2020 Sistem Basis Data


20 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Catalog Manager, mengatur pengaksesan dan memelihara katalog system.

Komponen Database Manager (DM)

Komponen Dat

Authorization Control, modul ini memeriksa bahwa user memiliki otorisasi yang
dibutuhkan untuk melakukan transaksi.

2020 Sistem Basis Data


21 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Command Processor, ketika sistem telah memeriksa otorisasi user, maka hak
pengawasan dialihkan pada command processor.

Integrity Checker, untuk operasi yang menyebabkan perubahan database, integrity


checker memeriksa bahwa operasi yang diminta memenuhi batasan-batasan integritas
yang ada.

Query Optimizer, modul ini menentukan stategi yang paling optimal untuk eksekusi
query.

Transaction Manager, modul ini menampilkan proses yang diinginkan dari suatu
operasi

Scheduler, modul ini bertanggung jawab untuk memastikan bahwa operasi terhadap
database yang berurutan tidak mengalami konflik satu dengan lainnya.

Recovery Manager, modul ini memastikan database selalu berada pada kondisi yang
konsisten jika terjadi kesalahan.

Buffer Manager, modul ini bertanggung jawab untuk men-transfer data antara main

memory dan secondary storage.

Multi-User DBMS Architectures

Teleprocessing

Arsitektur tradisional untuk multi-user system, dimana sebuah CPU terhubung


dengan beberapa workstation.

Teleprocessing Topology

2020 Sistem Basis Data


22 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
File-Server

File-server dihubungkan dengan beberapa workstation melalui jaringan (network),


Database diletakan pada file-server, DBMS dan aplikasi dijalankan pada masing-
masing workstation.

Kerugiannya :

Kepadatan jaringan
Diperlukan copy DBMS pada setiap workstation.
Kontrol concurrency, recovery dan integrity yang lebih rumit.

File-server architecture

2020 Sistem Basis Data


23 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Client-Server

Server menangani database dan DBMS, Client mengatur user interface dan
menjalankan aplikasi.

Keuntungannya :

Akses yang lebih luas terhadap database.


Meningkatkan performa.
Pengurangan biaya hardware.
Pengurangan biaya komunikasi.
Peningkatankonsistensi.

Client-Server Architecture

2020 Sistem Basis Data


24 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Alternative Client-Server Topologies

Summary Client – Server


Client

2020 Sistem Basis Data


25 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Mengatur user Interface
Menerima & memeriksa syntax input dari user
Membangun (Generates) permintaan DB dan mengirimkannya ke server
Memberikan respon balik ke user

Server

Menerima & memroses permintaan DB dari client Memeriksa autorisasi


Menjamin batasan integritas
Menampilkan queri/proses update dan mengirimkannya ke user
Memelihara System Catalog
Menyediakan kontrol recovery
Menyediakan akses DB yang akurat
Program yang mengontrol transfer data antara client dan server untuk menyediakan

Transaction Processing Monitors


environment yang konsisten, khususnya untuk Online Transaction Processing
(OLTP).
Transaction Processing Monitor tingkat pertengahan dari ketiga tingkatan client-
server architecture

System Catalog

Tempat penyimpanan informasi (metadata) menjelaskan data yang ada di database.

2020 Sistem Basis Data


26 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Hal-hal yang disimpan, diantaranya:

Nama-nama user yang diberi wewenang.


Nama data item dalam database;
Batasan untuk setiap data item;
data item yang dapat diakses oleh user dan tipe aksesnya.

Digunakan sebagai penguji kontrol autorisasi dan integritas.

Information Resource Dictionary System (IRDS)

Respon terhadap usaha untuk standarisasi interface data dictionary.

Standar IRDS mendefinisikan sejumlah aturan mengenai penyimpanan dan


pengaksesan data sictionary, diantaranya :

extensibility of data;
integrity of data;
controlled access to data.

IRDS services interface

DAFTAR
2020
27 PUSTAKA
Sistem Basis Data
Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Database system: A Practical approach to design, implementation and management

Date,C.J (2004), Pengenalan Sistem Basis Data, Gramedia, Jakarta

HM, Jogiyanto, Analysis and Disain Sistem Informasi (Pendekatan terstruktur), Penerbit

Andi Offset, Yogyakarta, 1995.

Pohan, Husni Iskandar, Pengantar Perancangan Sistem, Penerbit

Erlangga, Jakarta, 1997.

Sistem Informasi Manajemen (ed.10) By McLeod (Pearson)

2020 Sistem Basis Data


28 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
2020 Sistem Basis Data
29 Dwi Andrian Susanto, M.Kom – 0812.9479.9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Relational Model Terminology
Relasi direpresentasikan sebagai table yang terdiri dari baris dan kolom. Diaplikasikan
hanya pada struktur logical bukan fisikal. Atribut adalah nama kolom pada table. Tuple
adalah baris pada table (record). Domain adalah himpunan nilai dari satu atau lebih atribut.
Degree adalah banyaknya atribut/kolom pada tabel. Cardinality adalah banyaknya
tuple/baris pada tabel. Relational Database adalah kumpulan relasi ternormalisasi dengan
nama relasi yang jelas dan dapat dibedakan.
Instances of Branch and Staff (part) Relations
Contoh Domain Atribut

Terminologi Alternatif untuk Model Relational


Dalam basis data terdapat beberapa terminology yang sebenarnya merujuk pada sebuah
hal yang sama. Adanya perbedaan dikarenakan adanya perbedaan cara pandang dan
perbedaan pengaplikasian. Untuk lebih jelasnya, perbedaan antara terminology alternative
dalam model relasional dapat dilihat pada table 3.1.

Definisi matematis untuk relasi

Misalkan terdapat himpunan D1 & D2, dimana D1 = {2, 4} dan D2 = {1, 3, 5}.
31 Basis Data
2019
Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Cartesian product, D1 X D2, adalah himpunan pasangan dimana elemen pertama
merupakan anggota dari D1 dan elemen ke dua, anggota dari D2.

D1 X D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}

Himpunan bagian dari Cartesian product merupakan relasi, contoh:

R = {(2, 1), (4, 1)}

Dapat pula diruliskan dalam pasangan dengan kondisi, contoh:

o Elemen kedua = 1
R = {(x,y) | x X D1, y X D2, and y = 1}
o Elemen pertama = 2 kali elmen kedua
Jika terdapat 3 buah himpunan, D 1, D2, D3 dengan Cartesian Product D1 X D2 X D3 Contoh:

D1 = {1, 3} D2 = {2, 4} D3 = {5, 6}

D1 X D2 X D3 = {(1,2,5), (1,2,6), (1,4,5), (1,4,6), (3,2,5), (3,2,6), (3,4,5), (3,4,6)}

Cartesian product dari himpunan n (D1, D2, . . ., Dn) adalah :

D1 X D2 X. . .XDn = {(d1, d2, . . . , dn) | d1 Є D1, d2 Є D2, . . . , dn Є Dn} atau dapat ditulis:

XDi
i=1

Relasi Database
Skema Relasi

Nama relasi yang didefinisikan oleh himpunan pasangan atribut dan nama domain.
Misal : A1, A2, …, An adalah atribut dengan domain D1, D2, …, Dn, maka
pasangan { a1:D1, A2:D2, …, An:Dn} adalah skema relasi.

Skema Database Relasional


Himpunan skema relasi, dengan nama yang berbeda.
Misal : Jika R1, R2, ..., Rn adalah himpunan skema relasi, maka dapat dituliskan skema
database relasional dalam R, sehingga R = {R1, R2, ..., Rn}
Sifat-sifat Relasi
32 Basis Data
2019
Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Nama Relasi berbeda satu sama lain dalam skema relasional. Setiap sel (baris, kolom) dari
relasi berisi satu nilai atomik. Setiap atribut memiliki nama yang berbeda. Nilai suatu atribut
berasal dari domain yang sama. Setiap tuple berbeda, dan tidak ada duplikasi tuple.

Kunci-kunci Relasional (Relational Keys)


Superkey
Sebuah atribut atau himpunan atribut yang mengidentifikasi secara unik tuple-tuple
yang ada dalam relasi.

Candidate Key
Superkey (K) dalam relasi Untuk setiap relasi R, nilai K akan mengidentifikasi secara
unik tuplenya. Jika Candidate key terdiri dari beberapa atribut, disebut composite key.

Primary Key
Candidate key yang dipilih untuk identifikasi tuple secara unik dalam suatu relasi.
Alternate Keys
Candidate key yang tidak terpilih sebagai primary key.

Foreign Key
Atribut atau himpunan atribut dalam relasi yang disesuaikan (matching) dengan
candidate key pada beberapa relasi.

2019
33 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Relational Integrity
Null

o Merepresentasikan nilai untuk atribut yang tidak diketahui/tidak digunakan/tidak


tersedia untuk suatu tuple.
o Berkaitan dengan ketidaklengkapan/pengecualian data
o Representasi tidak adanya suatu nilai dan tidak sama nilainya dengan Nol atau
Spasi.

Entity Integri

o Pada relasi dasar, tidak ada atribut ataupun primary key yang bernilai NULL.

Referential Integrity

o Jika terdapat foreign key dalam suatu relasi, maka nilai foreign key tersebut harus
sesuai (match) dengan nilai candidate key dari beberapa tuple pada database atau
nilai foreign key harus NULL seluruhnya.
Enterprise Constraints

o Aturan tambahan yang dispesifikasikan oleh user atau DBA

Relational Integrity
1. Bentuknya sederhana
2. Mudah melakukan berbagai operasi data (query, update/edit, delete).
Contoh-contoh model basis data:

 Model basis data hirarki


 Model basis data network/jaringan
 Model basis data relational (paling banyak digunakan)
Contoh DBMS yang mengelola basis data relational :

 dBase III+

2019
34 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
 MS.Access
 Borland-Paradox
 Oracle
 DB2
 SYBASE
 Informix.

Bahasa pada Model Data Relasional


Menggunakan bahasa query, yaitu pernyataan yang diajukan untuk mengambil
informasi Terbagi 2 :

1. Bahasa Query Formal


Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis.
Terbagi 2, yaitu:
a. Prosedural, yaitu pemakai memberi spesifikasi data apa yang dibutuhkan dan
bagaimana cara mendapatkannya. Contoh: Aljabar Relasional , yaitu dimana query
diekspresikan dengan cara menerapkan operator tertentu terhadap suatu tabel /
relasi.

b. Non Prosedural, yaitu pemakai menspesifikasikan data apa yang dibutuhkan tanpa
menspesifikasikan bagaimana untuk mendapatkannya. Contoh: Kalkulus
Relasional, dimana query menjelaskan set tuple yang diinginkan dengan cara
menjelaskan predikat tuple yang diharapkan.
Terbagi 2 :
1. Kalkulus Relasional Tupel
2. Kalkulus Relasional Domain

2. Bahasa Query Komersial

2019
35 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program
aplikasi agar pemakai lebih mudah menggunakannya (user friendly). Contoh :
QUEL

View
Relasi Dasar (Base Relation)

Nama relasi mengacu kepada entitas dalam skema konseptual, dimana tuple-tuple disimpan
dalam database secara fisik.

View

Hasil dinamik dari satu atau lebih operasi relasional yang dilakukan pada relasi dasar untuk
menghasilkan relasi yang lain.
Merupakan relasi virtual yang tidak harus ada dalam database, tetapi dihasilkan pada saat
dilakukan permintaan (request).
- Isi dari view didefinisikan sebagai query dari satu atau lebih relasi dasar.
- View bersifat dinamis, artinya perubahan yang dilakukan pada relasi dasar yang
mempengaruhi atribut pada view langsung terlihat.

Kegunaan View

Menyediakan mekanisme keamanan yang fleksible dan baik dengan menyembunyikan


bagian database dari user tertentu. Mengijinkan user untuk meng-akses data dengan
berbagai cara, sehingga data yang sama dapat dilihat oleh user yang berbeda dengan cara
yang berbeda pada saat yang sama. Menyederhanakan operasi yang rumit pada relasi
dasar.

Merubah view (Updating View)

Seluruh update yang dilakukan pada relasi dasar harus secepatnya terlihat dalam seluruh
view yang terkait dengan relasi dasar tersebut. Jika view di-update, perubahan harus terlihat
pada relasi dasar yang digunakan. Terdapat beberapa batasan pada tipe modifikasi yang
dilakukan terhadap view, diantaranya: Update diperbolehkan jika query melibatkan relasi
2019
36 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
dasar tunggal dan berisikan candidate key dari relasi dasar. Update dilarang jika melibatkan
banyak relasi dasar. Update tidak diperkenankan melibatkan penggabungan atau
pengelompokan operasi.

View
Super key
Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam relasi
(satu atau lebih field yang dapat dipilih untuk membedakan antara 1 record dengan record
lainnya).
Contoh: Untuk tabel MHS di atas, super key-nya:
NPM
NAMA (dengan syarat tidak ada nama yang sama)
ALAMAT (dengan syarat tidak ada alamat yang sama)
NPM + NAMA
NPM + ALAMAT
NAMA + ALAMAT
NPM + NAMA + ALAMAT

Candidate key
Atribut di dalam relasi yang biasanya mempunyai nilai unik (super key dengan jumlah field
yang paling sedikit) Maka, candidate key-nya adalah NPM, NAMA dan ALAMAT (karena
hanya terdiri dari 1 field saja)

Primary key

Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi.

Maka, primary key yang dipilih adalah NPM (unik, tidak ada NPM yang sama).

Alternate key

Candidate key yang tidak dipilih sebagai primary key


2019
37 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Maka, candidate key-nya NAMA dan ALAMAT

Foreign key
Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi
tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa

2019
38 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Daftar Pustaka
1. Database system: A Practical approach to design, implementation and management
2. Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley
Company, 1996.
3. David M. Kroenke, Basis data Processing, Fundamentals, Design and Implementation,
12nd Edition, Prentice-Hall Int’l Edition, 2012

2019
39 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Tujuan dari SQL

Idealnya, database language dapat memungkinkan user untuk:

– Membuat struktur relasi dan database;

– Melakukan operasi penyisipan (insertion), perubahan (modification) dan penghapusan


(deletion) data dari relasion;

– Melakukan query sederhana dan rumit.

Database language harus melaksanakan operasi-operasi tersebut dengan usaha


minimal yang dilakukan user dan sintaks/struktur instruksi harus mudah dipahami/dipelajari.
Harus portable sehingga memungkinkan untuk pindah dari satu DBMS ke DBMS lainnya.

SQL merupakan transform-oriented language dengan 2 komponen utama:

1. DDL untuk definisi struktur database.


2. DML untuk pengambilan (retrieving) dan perubahan (updating) data.

Sampai dengan SQL3, SQL tidak mengandung perintah alih kontrol. Hal ini
diimplementasikan dengan menggunakan bahasa pemrograman atau perintah kontrol atau
secara interaktif, sesuai dengan keputusan user.

SQL cukup mudah dipelajari , karena:

Merupakan bahasa non-procedural – cukup menspesifikasikan informasi apa yang


dibutuhkan daripada bagaimana mendapatkannya.
Pada dasarnya mempunyai format yang bebas.

SQL Terdiri dari bahasa Inggris standard, seperti :


2019
40 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
CREATE TABLE Staff(staffNo VARCHAR(5), lName ARCHAR(15), salary
DECIMAL(7,2));
INSERT INTO Staff VALUES (‘SG16’, ‘Brown’, 8300);
SELECT staffNo, lName, salary
FROM Staff WHERE salary > 10000

SQL dapat digunakan oleh bermacam-macam user, termasuk DBA, manajemen, pembuat
aplikasi dan user lainnya. Terdapat ISO standard untuk SQL, membuat bahasa formal dan
de facto untuk relasional database.

Sejarah SQL

Tahun 1974, D. Chamberlin (IBM San Jose Laboratory) mendefinisikan bahasa yang

disebut ‘Structured English Query Language’ (SEQUEL). Versi yang telah diperbaiki,

SEQUEL/2, ditemukan tahun 1976 tetapi namanya diubah menjadi SQL untuk alasan

hukum. Sampai saat ini masih banyak yang menyebut ‘see-quel’, walaupun ejaan

sesungguhnya adalah ‘S-Q-L’. IBM secara berturut-turut memproduksi prototype DBMS

yang disebut System R, berdasarkan pada SEQUEL/2. Akar dari SQL, adalah SQUARE

(Specifying Queries as Relational Expressions), dimana mendahului proyek System R.

Diakhir 70-an, ORACLE muncul dan mungkin merupakan RDBMS komersil pertama yang

berbasis SQL. Pada tahun 1987, ANSI dan ISO mempublikasikan standar awal untuk SQL.

Pada tahun 1989, ISO mempublikasikan tambahan yang mendefinisikan ‘Integrity

Enhancement Feature’. Tahun 1992, revisi utama yang pertama dilakukan pada standar

ISO, dikenal sebagai SQL2 atau SQL/92. Tahun 1999, SQL3 dikeluarkan dengan dukungan

untuk manajemen data berorientasi objek (object-oriented data management).

Pentingnya
41 Basis DataSQL
2019
Dwi Andrian Susanto 0812 9479 9991
Pusat Bahan Ajar dan eLearning
http://www.undira.ac.id
Statemen SQL terdiri dari reserved word dan user-defined word.

Reserved word adalah bagian yang telah ditetapkan pada SQL dan penulisannya harus
sesuai dan tidak bisa dipisah-pisahkan.

User-defined word dibuat oleh user dan merepresentasikan nama-nama berbagai objek
database seperti relasi, kolom dan view.
Kebanyakan komponen dari perintah SQL bersifat case insensitive, kecuali untuk data
literal karakter.

Mudah dibaca dengan pengaturan baris dan spasi :

Setiap clause dimulai pada baris baru.

Awal dari suatu clause harus berurut dengan clause lainnya.

Jika clause mempunyai beberapa bagian, harus ditampilkan pada baris yang berbeda
dan diberi spasi pada awal clause.

Menggunakan bentuk notasi Backus Naur Form (BNF) :

Menggunakan huruf besar untuk merepresentasikan reserved word.

Menggunakan huruf kecil untuk merepresentasikan user-defined word.

Mengindikasikan pilihan (choice) diantara beberapa alternatif.

Kurung kurawal mengindikasikan required element.

Kurung siku mengindikasikan optional element.

… mengindikasikan pengulangan (optional repetition ,0 atau lebih).

Literal
o Literal merupakan konstanta yang digunakan dalam statemen SQL.
o Semua literal non-numerik dituliskan diantara kutip tunggal (co : ‘London’).
o Semua literal numerik literals tidak dituliskan diantara kutip (co : 650.00).

2019
42 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Dreamhome Database
Registration
ClentNo BranchNo StaffNo Date_joined

CR76 B005 SL41 2-Jan-01

CR56 B003 SG37 11-Apr-00

CR74 B003 SG37 16-Nov-99

CR62 B007 SA9 7-Mar-00

Viewing
ClientNo PropertyNo View_Date Comment

CR56 PA14 24-May-01 Too Small

CR76 PG4 20-Apr-01 Too Remote

CR56 PG4 26-May-01

CR62 PA14 14-May-01 No Dining Room

CR56 PG36 28-Apr-01

Client

ClientNo fName lName TelNo PrefType MaxRent

CR76 John Kay 0207-774-5632 Flat 425

CR56 Aline Stewart 0141-848-1825 Flat 350

CR74 Mike Ritchie 01475-392178 House 750

CR62 Mary Tregear 01224-196720 Flat 600

2019
43 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Private Owner

OwnerNo fName lName Address TelNo

CO46 Joe Keogh 2 Fergus Dr, Abeerdeen AB2 7SX 01224-861212

CO87 Carol Farrel 6 Achray St, Glasgow G32 9DX 0141-357-7419

CO40 Tina Murphy 63 Well St, Glasgow G42 0141-943-1728

CO93 Tony Shaw 12 Park Pl, Glasgow G4 0QR 0141-225-7025

PropertyForRent
PropertyNo Street City PostCode Type Rooms Rent OwnerNo StaffNo BranchNo

PA14 16 Holhead Aberdeen AB7 5SO House 6 650 CO46 SA9 B007

PL94 6 Argyll St London NW2 Flat 4 400 CO87 SL41 B005

PG4 6 Lawrence St Glasgow G11 9QX Flat 3 350 CO40 - B003

PG36 2 Manor Rd Glasgopw G32 4QX Flat 3 375 CO93 SG37 B003

PG21 18 Dale Rd Glasgow G12 House 5 600 CO87 SG37 B003

PG16 5 Novar Dr Glasgow G12 9AX Flat 4 450 CO93 SG14 B003

Branch
BranchNo Street City PostCode

B005 22 Deer Rd London SW1 4EH

B007 16 Argyll St Aberdeen AB2 3SU

B003 163 Main St Glasgow G11 9QX

B004 32 Manse Rd Bristol BS99 1NZ

B002 56 Clover Dr London NW10 6EU

2019
44 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Staff
StaffNo fName lName Position Sex DOB Salary BranchNo

SL21 John White Manager M 1-Oct-45 30000 B005

SG37 Ann Beech Assistant F 10-Nov-60 12000 B003

SG14 David Ford Supervisor M 24-Mar-58 18000 B003

SA9 Mary Howe Assistant F 19-Feb-70 9000 B007

SG5 Susan Brand Manager F 3-Jun-40 24000 B003

SL41 Julie Lee Assistant F 13-Jun-65 9000 B005

Perintah SELECT
Bentuk umum :

SELECT [DISTINCT | ALL]


{* | [columnExpression [AS newName]] [,...] }
FROM TableName [alias] [, ...]
[WHERE condition]
[GROUP BY columnList] [HAVING condition]
[ORDER BY columnList]

Dimana :

FROM — Menspesifikasikan tabel-tabel yang digunakan.

WHERE — Baris filter (kondisi yang harus dipenuhi).

GROUP BY -- Bentuk pengelompokkan baris dengan nilai kolom yang sama.

HAVING -- Menyeleksi subjek grup untuk beberapa kondisi.

SELECT -- Menspesifikasikan kolom mana yang akan ditampilkan.


ORDER BY -- Menspesifikasikan order pada output.
2019
45 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Catatan :

Perintah pada clause tidak dapat diubah.

Perintah yang harus ada hanya SELECT dan FROM, lainnya bersifat optional.

Contoh: Semua Baris dan kolom

Tampilkan seluruh detail staff

SELECT staffNo, fName, lName, position, sex, DOB, salary, branchNo

FROM Staff;

Dapat menggunakan * sebagai singkatan dari ‘semua kolom’:

SELECT *FROM Staff;

Contoh : Seluruh baris, kolom tertentu.

Buatlah daftar gaji seluruh staff yang menampilkan nomor staff, nama awal dan akhir, dan
gaji.

SELECT staffNo, fName, lName, salary

FROM Staff;

2019
46 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Penggunaan klausa DISTINCT

Contoh : Kegunaan DISTINCT

Tampilkan nomor properti dari seluruh properti yang pernah dilihat/dikunjungi.

SELECT propertyNo

FROM Viewing;

Menggunakan DISTINCT untuk menghilangkan duplikasi :

SELECT DISTINCT propertyNo

FROM Viewing;

2019
47 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Contoh: Field yang dihasilkan

Tampilkan daftar gaji/bulan untuk seluruh staff, dengam menampilkan nomor staff, nama
awal dan akhir dan detail gaji.

SELECT staffNo, fName, lName, salary/12

FROM Staff;

Memberi nama kolom, menggunakan clause AS :

SELECT staffNo, fName, lName, salary/12 AS monthlySalary

FROM Staff;

Kondisi pencarian dengan perbandingan

Tampilkan seluruh staff yang mempunyai gaji lebih dari 10,000.

SELECT staffNo, fName, lName, position, salary

FROM Staff

WHERE salary > 10000;

2019
48 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Kondisi pencarian dengan perbandingan gabungan

Tampilkan detail seluruh kantor cabang yang beralamat di London atau Glasgow.

SELECT *

FROM Branch

WHERE city = “London” OR city = “Glasgow”;

Kondisi pencarian dengan batas (range)

Tampilkan seluruh staff yang berpenghasilan antara 20,000 dan 30,000.

SELECT staffNo, fName, lName, position, salary

FROM Staff

WHERE salary BETWEEN 20000 AND 30000;

BETWEEN menyertakan angka terakhir dari range.

2019
49 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Terdapat juga versi negasi NOT BETWEEN.

BETWEEN bukan merupakan tambahan yang berarti, karena dapat dituliskan :

SELECT staffNo, fName, lName, position, salary

FROM Staff

WHERE salary >=20000 AND salary <= 30000;

Bermanfaat untuk nilai dengan range tertentu.

Himpunan Anggota (Set Membership)

Tampilkan seluruh manager dan supervisor.

SELECT staffNo, fName, lName, position

FROM Staff

WHERE position IN (‘Manager’, ‘Supervisor’);

Terdapat versi negasi (NOT IN).

IN bukan merupakan tambahan berarti, karena dapat dituliskan :

SELECT staffNo, fName, lName, position

FROM Staff

WHERE position=‘Manager’ OR position = ‘Supervisor’;

IN lebih efisien jika himpunan (set) berisi beberapa nilai.


2019
50 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Penyesuaian bentuk (Pattern Matching)

Tampilkan detail seluruh pemilik dengan kata ‘Glasgow’ pada alamatnya.

SELECT OwnerNo, fName, lName, address, telNo

FROM PrivateOwner

WHERE address LIKE ‘%Glasgow%’;

SQL mempunyai dua simbol pattern matching :

o %: rangkaian dari nol atau lebih karakter.

o _ (garis bawah): satu karakter tunggal.

o LIKE ‘%Glasgow%’ berarti rangkaian karakter yang mengandung kata ‘Glasgow’,


panjang string tidak ditentukan.

Kondisi pencarian NULL

Tampilkan detail seluruh all viewing pada properti PG4 dimana tidak terdapat komentar.

Terdapat 2 viewing untuk properti PG4, satu terdapat komentar dan lainnya
tidak. Dilakukan test nilai null secara tegas dengan keyword IS NULL:

SELECT clientNo, viewDate

FROM Viewing

WHERE propertyNo = ‘PG4’ AND comment IS NULL;

2019
51 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Versi negasi (IS NOT NULL) dapat menguji nilai non-null.

Contoh : Ordering kolom tunggal

Tampilkan daftar gaji seluruh staf, disusun secara descending berdasarkan salary.

SELECT staffNo, fName, lName, salary

FROM Staff

ORDER BY salary DESC;

Ordering multiple kolom

Tampilkan daftar ringkasan properti berdasarkan tipe properti.

SELECT propertyNo, type, rooms, rent

FROM PropertyForRent

ORDER BY type;

2019
52 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Dari contoh diatas terdapat empat field. Untuk menyusun properti berdasarkan rent maka
harus dispesifikasikan minor order sbb :
SELECT propertyNo, type, rooms, rent

FROM PropertyForRent

ORDER BY type, rent DESC;

Perintah SELECT – Aggregate


2019
53 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Standar ISO mendefinisikan lima fungsi aggregate :

 COUNT Mengembalikan angka dari nilai dalam kolom tertentu

 SUM Mengembalikan jumlah dari nilai yang terdapat dalam kolom

 AVG Mengembalikan rata-rata dari nilai yang ada dalam kolom

 MIN Mengembalikan nilai terkecil dari nilai yang terdapat dalam kolom

 MAX Mengembalikan nilai terbesar dari nilai yang terdapat dalam kolom

Setiap fungsi beroperasi pada satu kolom dan mengembalikan satu nilai tunggal.

COUNT, MIN, dan MAX digunakan untuk field numerik dan non-numerik, sedangkan SUM
dan AVG hanya dapat digunakan pada field numerik.
Bagian dari COUNT(*), pertama setiap fungsi mengeliminasi null dan mengoperasikan nilai
non-null.

COUNT(*) menghitung seluruh baris dalam tabel, walaupun terdapat null atau duplikasi.
o Menggunakan DISTINCT sebelum nama kolom untuk menghilangkan duplikasi.

o DISTINCT tidak berpengaruh terhadap operasi MIN/MAX, tetapi berpengaruh


SUM/AVG.

o Fungsi Aggregate dapat digunakan dalam daftar SELECT dan clause HAVING
clause.

o Jika daftar SELECT menyertakan fungsi aggregate dan tidak terdapat clause
GROUP BY, daftar SELECT tidak dapat mengacu ke kolom dengan fungsi aggregate.

o Contoh berikut adalah salah :

SELECT staffNo, COUNT(salary)

FROM Staff;

Kegunaan COUNT(*)

2019
54 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Tampilkan banyaknya properti yang mempunyai biaya sewa lebih dari £350 per bulan

SELECT COUNT(*) AS count

FROM PropertyForRent

WHERE rent > 350;

Kegunaan COUNT(DISTINCT)

Tampilkan banyaknya properti yang berbeda telah dilihat selama May ‘01?

SELECT COUNT(DISTINCT propertyNo) AS count

FROM Viewing

WHERE viewDate BETWEEN ‘1-May-01’ AND ‘31-May-01’;

Kegunaan COUNT dan SUM

2019
55 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Tampilkan jumlah manager dan jumlah gaji mereka.

SELECT COUNT(staffNo) AS count, SUM(salary) AS sum

FROM Staff

WHERE position = ‘Manager’;

Kegunaan MIN, MAX, AVG

Carilah minimum, maximum, dan average gaji staff

SELECT MIN(salary) AS min, MAX(salary) AS max, AVG(salary) AS avg

FROM Staff;

Perintah SELECT – Grouping

Menggunakan clause GROUP BY untuk mendapatkan sub-total.


SELECT dan GROUP BY terintegrasi :setiap item dalam SELECT harus berupa single valued
per group, dan clause SELECT hanya dapat mengandung:
- Nama Kolom
- Fungsi aggregate
- Konstanta
- Ekspresi terdiri dari kombinasi tersebut diatas.

2019
56 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Semua nama kolom dalam SELECT harus ditampilkan dalam clause GROUP BY kecuali jika
dinamakan dalam fungsi aggregate.
Jika WHERE digunakan bersama GROUP BY, WHERE dimunculkan lebih dulu,
kemudian groups ditampilkan dari sisa baris untuk memenuhi predikat.
Standar ISO mempertimbangkan dua null bernilai sama untuk kegunaan dari clause GROUP
BY.

Kegunaan GROUP BY

Tampilkan jumlah staff pada setiap cabang dan total gaji staf pada masing-masing cabang

SELECT branchNo, COUNT(staffNo) AS count, SUM(salary) AS sum

FROM Staff

GROUP BY branchNo

ORDER BY branchNo;

Pengelompokkan terbatas – HAVING clause

Clause HAVING didesain untuk digunakan bersama GROUP BY untuk membatasi


pengelompokkan yang ditampilkan pada tabel hasil akhir.
Hampir sama dengan WHERE, dimana WHERE menyeleksi baris secara individual,
sedangkan HAVING secara kelompok.
Nama kolom dalam clause HAVING juga akan ditampilkan dalam daftar GROUP BY atau
dimasukan dalam fungsi aggregate.
Contoh : Kegunaan HAVING

2019
57 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
Tampilkan jumlah staff dan jumlah gaji mereka untuk cabang dengan jumlah staff lebih
dari 1

SELECT branchNo, COUNT(staffNo) AS count, SUM(salary) AS sum

FROM Staff GROUP BY branchNo

HAVING COUNT(staffNo) > 1

ORDER BY branchNo;

2019
58 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
DAFTAR PUSTAKA
Database system: A Practical approach to design, implementation and management

2019
59 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id
2019
60 Basis Data Pusat Bahan Ajar dan eLearning
Dwi Andrian Susanto 0812 9479 9991 http://www.undira.ac.id

Anda mungkin juga menyukai