Anda di halaman 1dari 23

DATABASE RELASIONAL

Pengertian :
Seperti dari kata aslinya kita dapat memahami pengertian relational database adalah
database dengan tabel-tabel yang saling berhubungan satu dengan yang lain. Secara praktis kita
dapat memahami bahwa antar satu tabel memiliki kaitan dengan tabel lain.
Sebagai contoh pertama-tama kita memiliki tabel pelanggan. Pada tabel pelanggan ini akan
menyimpan data seperti nama pelanggan, alamat, nomor telepon, email dan lain-lain. Kemudian
untuk memudahkan identifikasi pelanggan kita memiliki field no pelanggan di mana setiap
pelanggan memiliki nomor pelanggan sendiri-sendiri yang berbeda dengan pelanggan-
pelanggan lain.

Pada saat ada pelanggan melakukan pesanan penjualan maka kita akan memasukkan pesanan
penjualan misalnya pada tabel sales order. Pada tabel sales order ini tentu harus menunjuk ke
suatu pelanggan. Untuk kepentingan inilah maka pada tabel sales order akan memiliki field no
pelanggan. No pelanggan inilah yang menghubungkan atau merelasikan antara tabel sales order
dan tabel pelanggan.

Secara struktur dalam sebuah relational database ini terdapat tabel-tabel. Seperti kita memahami
tabel dalam spreadsheet, maka ada kolom dan baris. Kita memahami kolom-kolom sebagai field-
field, kemudian baris-baris adalah data dari setiap record.

Secara praktis para software developer menggunakan MySQL, MariaDb ataupun PostgreSQL
dalam mengembangkan aplikasinya. Ketiga relational database ini merupakan relational database
yang paling banyak digunakan karena bebas didownload dan digunakan tanpa harus membayar
license. Untuk melakukan manajemen terhadap relational-relational database ini kita dapat
menggunakan bahasa SQL yang merupakan kependekan dari Structural Query Language.
Basis Data - Database Relasional
1. Konsep Database Relasional
Dr. E.F. Codd pada tahun 1970 telah memperkenalkan model relasional sistem database yang
merupakan dasar untuk Relational Database Management System (RDBMS). Sebelum konsep
database relasional telah digunakan dua model database yaitu Network dan Hierarchical
Database. RDMBS memiliki kemudahan dalam penggunaannya dan memiliki fleksibilitas dalam
struktur, sehingga sangat cepat populer ditambah dengan beberapa vendor yang inovatif dalam
membantu mengembangkan aplikasi-aplikasi yang powerfulserta produk-produk yang
menawarkan solusi. 

Dalam database relasional, data disimpan dalam bentuk relasi atau tabel dua dimensi, dan
antartabel satu dengan tabel yang lainnya terdapat hubungan atau relationship. Komponen-
komponen model ralasional meliputi : Kumpulan objek yang memiliki keterkaitan atau relasional
antar penyimpan data, Set operator yang dapat melakukan relasi untuk membuat relasi yang
lainnya, dan Integritas datauntuk akurasidan konsistensi. Untuk membuat struktur tabel, mengisi
data ke tabel, mengubah data dan menghapus data dari tabel diperlukan software RDBMS,
sedangkan perintah yang digunakan disebut Structure Query Language (SQL) sehingga setiap
software RDBMS dapat digunakan untuk menjalankan perintah SQL.

2. Definisi Database Relasional


Sebuah database relasional menggunakan hubungan atau tabel dua dimensi untuk menyimpan
informasi. Sebagai contoh: Kita ingin menyimpan informasi tentang semua karyawan yang ada
pada salah satu perusahaan. Dalam sebuah database relasional, kita membuat beberapa tabel
untuk menyimpan bagian-bagian informasi yang berbeda tentang karyawan yang bekerja
diperusahaan tersebut, misalnya tabel yang menyimpan informasi tentang karyawan, tabel yang
menyimpan informasi tentang departemen, tabel yang menyimpan informasi tentang gaji.
3. Model Data
Modelmerupakan landasan sebuah desain. Sebelum sebuah mobil diproduksi, terlebih dahalu
para perancang membuatmodelmobil dan bekerja secara rinci dan detail pada model mobil
tersebut.Dalam cara yang sama, perancang sistemmengembangkan modeluntuk mengeksplorasi
ide-ide dan meningkatkan pemahaman desain database. 

Tujuan sebuah Model adalah membantu mengkomunikasikan konsepkonsep yang ada dipikiran
orang. Model dapat digunakan untuk melakukan hal berikut:
menyampaikan/mengkomunikasikan, mengkategorikan, menggambarkan, menentukan,
menyelidiki, mengembangkan, menganalisis, dan meniru. Model yang baik adalah model yang
cocok dalam banyak kegunaan, dapat dipahami oleh pengguna akhir, dan berisi detail yang
cukup untuk pengembang dalam membangun sistem data base.
4. Model Hubungan Entitas (Entity Relationship Model)
Dalamsistem yang efektif, data dibagi menjadi kategori diskrit atau entitas. Sebuah hubungan
entitas (ER) model adalah sebuah ilustrasi dari berbagai entitas dalam bisnis dan hubungan
diantara mereka. Model ER berasal dari spesifikasi bisnis atau narasi dan dibangun selama tahap
analisis siklus hidup pengembangan sistem (System Development Life Cycle).

Manfaat Model ER

 a. Informasi Dokumen bagi organisasi dalam format yang jelas tepat.


 b. Memberikan gambaran yang jelas tentang ruang lingkup kebutuhan informasi.
 c. Menyediakan peta bergambar yang mudah dipahami untuk desain database.
 d. Menawarkan kerangka kerja yang efektif untuk mengintegrasikan beberapa aplikasi.

Komponen Kunci

 a. Entitas: Suatu hal yang penting tentang informasi yang perlu diketahui. Contohnya
adalah departemen, karyawan, dan pesanan.
 b. Atribut: Sesuatu yang menggambarkan atau memenuhi syarat suatuentitas. Sebagai
contoh, untukentitas karyawan, atributnya adalah:nomor karyawan, nama, jabatan,
tanggal perekrutan, nomor departemen, dan sebagainya. Setiap atribut yang baik
adalahdiperlukan atau opsional. Pernyataan ini disebut optionality.
 c. Hubungan: Hubungan atau relationship adalah sebuah asosiasiantara entitas dan
derajat.Contohnya adalah karyawan dandepartemen, dan pesanan dan item barang.

5. Konvensi Model Hubungan Entitas

Konvensi Model ER
Entitas

Untuk mewakili entitas dalam model, menggunakan konvensi sebagai


berikut :
a. Singular, nama entitas yang unik
b. Nama entitas dalam huruf besar
c. Kotakdengan garis tipis.
d. Nama sinonim opsional dengan huruf besar didalam tanda kurung: (). Atribut Untuk mewakili
atribut dalam model, menggunakan konvensi sebagai berikut :

 a. Nama Singular dalam huruf kecil.


 b. Asterisk(*) tanda untuk atribut wajib (yaitu, nilai-nilai yang harus diketahui).
 c. Karakter"o" tanda untuk atribut opsional (yaitu, nilai-nilai yang mungkin dikenal).

6. Hubungan Multi Tabel


Setiap tabel berisi data yang menggambarkan secara tepat satu entitas. Sebagai contoh, tabel
EMPLOYEES berisi informasi tentang karyawan. Kategori data yang tercantum di bagian atas
setiap tabel, dankasuskasus individu tercantum di bawah tabel. Dengan menggunakan
formattabel, dapat dengan mudah memvisualisasikan, memahami, dan menggunakan informasi.
Karena data tentang entitas yang berbeda disimpan dalam tabel yang berbeda, sehingga perlu
untuk menggabungkan dua atau lebih tabel dalam menyelesaikan permasalahan tertentu. Sebagai
contoh, untuk mengetahui lokasi departemen mana seorang karyawan bekerja. Dalam skenario
ini, memerlukan informasi dari tabel EMPLOYEES (yang berisi data tentang karyawan) dan
tabel DEPARTMENTS (yang berisi informasi tentang departemen). Dengan RDBMS, seseorang
dapat menghubungkan data yang berada dalam satu tabel dengan data yang berada di tabel lain
menggunakan foreign key. Foreign key adalah kolom (atau setkolom) yang mengacu pada
Primary key dalam tabel yang sama atau tabel lain. Data dalam dua tabel yang terpisah dapat
diorganisasi menjadi informasi baru yang dapat dikelola secara terpisah.
7. Terminologi Database Relasional
Sebuah database relasional dapat berisi satu atau banyak tabel. Sebuah table merupakan struktur
penyimpanan dasar dari sebuah RDBMS. Sebuah tabelmemiliki semuadata yang diperlukan
tentang sesuatu di dunia nyata, seperti karyawan, faktur, atau pelanggan.

Tabel
Didalam sistem relasional database data dinyatakan dengan menggunakan tabel (relations).
Sebuah tabel mempunyai struktur seperti dabawah ini,

Sebuah tabel harus diberi nama secara unik sebagai identitasnya dan terdiri dari beberapa baris
sebagai penyimpanan informasi, dan masingmasing baris berisi satu record. Sebuah tabel dapat
mempunyai sebuah kolom atau lebih. Sebuah kolom memiliki sebuah nama dan tipe data yang
diberlakukan dan merupakan deskripsi atribut pada record.Struktur tabel yang disebut juga
relation schema, ditentukan oleh atributatributnya. 
Sebuah tabel dapat mempunyai lebih dari 254 kolom yang mempunyai tipe data yang sama atau
tipe data yang berbeda sesuai dengan penempatan values (domain). Kemungkinan-kemungkinan
domain yang dipergunakan adalah alphanumeric data (strings), numbers, dan date formats.
ORACLE menawarkan tipe-tipe data dasar seperti di bawah ini:

a. Char (n): Fixed-lenght character data (strings), mendefinisikan string sepanjang n karakter.
Nilai maksimum untuk n adalah 255 byte (....... di ORACLE 9i). Bila n tidak dituliskan, maka
panjang karakteryang berlaku adalah 1.
contoh: char(40).

b. Varchar2 (n) : Variable-lenght character strings, mendefiniskan string yang panjangnya


berubah-ubah sesuai dengan kebutuhan dan dibatasi sebanyak karakter n. Nilai n maksimum
adalah 2000 (....... di ORACLE 9i). Hanya banyaknya byte yang digunakan saja yang tersimpan
pada memori.
contoh: varchar2(80).

c. Number (o,d) : Numeric data type , mendefinisikan angka integerdan riel, o = jumlah digit, d =
jumlah digit yang berada dibelakang koma. Nilai maksimum: o = 38, d = -84 sampai +127.
contoh: number (8), number (5,2).

Number (5,2) nilainya tidak dapat lebih dari 999.99 , jika melebihi nilai maksimum tersebut
maka akan menjadi kesalahan. Tipe data yang berasal dari number adalah int[eger], dec[imal],
smallint dan real.

d. Date: Date data type untuk menempatkan atau mendefinisikan tanggal, bulan, tahun, hari, jam,
menit dan detik. Format keadaan awal ( default ) untuk date adalah : DD-MMM-YY.
Contoh : ’10-FEB-94’,’29-NOV-98’.
e. long: mendefinisikan tipe data binary, panjangnya karakter maksimum adalah 2GB. Setiap
tabel hanya diperbolrhkan satu kolom saja yang mempunyai tipe long.

Catatan:
Di dalam ORACLE–SQL tidak ada tipe data boolean, tetapi dengan data yang sama dapat
menggunakan char(1) atau number(1). Selama tidak terdapat ketentuan/hambatan lain yang
membatasi kemungkina values pada atribut, dapat digunakan special value yaitu null (untuk
sesuatu yang tidak diketahui). Nilai ini tidak sama dengan angka 0, dan juga tidak sama dengan
angka kosong.

Gambar 1.5 menunjukkan isi tabel atau relasi EMPLOYEES.

Huruf-huruf menunjukkan hal-hal sebagai berikut:


a. Baris tunggal (atau tuple) mewakili semua data yang dibutuhkan untuk karyawan tertentu.
Setiap baris dalam sebuah tabel harus diidentifikasi oleh primary key, yang memungkinkan
tidak ada duplikasi baris. Urutan baris tidak signifikan; menentukan urutan baris saat data
diambil.

b. Sebuah kolom ataua tribut yang berisi nomor karyawan. Jumlah karyawan mengidentifikasi
karyawan yang unik dalam tabel EMPLOYEES. Dalam contoh ini, kolom nomor karyawan
yang ditunjuk sebagai primary key. Sebuah primary key harus mengandung nilai, dan nilai
harus unik.

c. Sebuah kolomyang bukan key value. Sebuah kolom merupakan atau merepresentasikan salah
satu jenis data dalam tabel; dalam contoh ini, data adalah gaji semua karyawan. Urutan kolom
tidak signifikan ketika menyimpan data; menentukan urutan kolom saat data diambil.

d. Sebuah kolom yang berisi nomor departemen, yang juga merupakan foreign key. Foreign key
adalah kolom yang mendefinisikan bagaimana tabel berhubungan satu sama lain. Foreign key
mengacu pada primary key atau kunci unik di tabel yang sama atau di tabel lain.

Dalam contoh, DEPARTMENT_ID secara unik mengidentifikasi sebuah departemen dalam


tabel DEPARTMENTS.

e. Sebuah field dapat ditemukan di persimpangan dari baris dan kolom. Hanya ada satu nilai di
dalamnya.

f. Sebuah field mungkin tidak memiliki nilai di dalamnya. Ini disebut nilai null. Dalam tabel
EMPLOYEES,hanya karyawan yang memiliki peran perwakilan penjualan memiliki nilai di
COMMISSION_PCT (komisi).

8. Properti Database Relasional


Dalam sebuah relasional database, pengguna tidak menentukan rute akses ke tabel, dan tidak
perlu tahu bagaimana data diatur secara fisik. Untuk mengakses database, cukup dengan
mengeksekusi perintahperintah atau pernyataan SQL, yang merupakan American National
Standards Institute (ANSI) bahasa standar untuk operasi relasional database. SQL berisi satu set
operator-operator yang cukup besar untuk membagi dan mempertautkan hubungan. Database
dapat dimodifikasi dengan menggunakan pernyataan SQL.

9. Berkomunikasi dengan RDBMS menggunakan SQL

Structured Query Language


Menggunakan SQL, pengguna dapat berkomunikasi dengan server data base. SQL memiliki
beberapa keuntungan: efisien, mudah untuk dipelajari dan digunakan, dan memiliki fungsi-fungsi
yang sangat lengkap (menentukan, mengambil, dan memanipulasi data dalam tabel).

Pernyataan-pernyataanSQL
Data Manipulation Language (DML)
SELECT
INSERT
UPDATE
DELETE
MERGE

Data Definition Language (DDL)


CREATE
ALTER
DROP
RENAME
TRUNCATE
COMMENT

Data Control Language (DCL)


GRANT
REVOKE

Transaction Control
COMMIT
ROLLBACK
SAVEPOINT

SELECT
INSERT
UPDATE
DELETE
MERGE
Mengambil datadari database, mengisi baris baru, merubah baris yang ada, dan menghapus baris
yang tidak diinginkan dari tabel dalam database secara berturut-turut, dikenal sebagai data
manipulation language (DML).

CREATE
ALTER
DROP
RENAME
TRUNCATE
COMMENT
Membuat, merubah, dan menghapus struktur data daritabel, dikenal sebagai data definition
language (DDL).

GRANT
REVOKE
Memberika natau menghilangkan hak akses ke data base maupun struktur didalamnya.

COMMIT
ROLLBACK
SAVEPOINT
Mengelola perubahan yang dibuatoleh pernyataanDML. Perubahan data bisa dikelompokkan
bersama ke dalam transaksilogis.

FILE VERSUS DAN KEUNGGULAN SISTEM DATABASE


1 File Versus Database
Untuk meningkatkan kekuatan database, penting untuk memahami bagaimana data
disimpan dalam sistem komputer. Informasi mengenai atribut-atribut dari pelanggan, seperti
nama dan alamat, disimpan dalam beberapa field. Semua field berisi data mengenai satu entitas
yang membentuk sebua catatan. Seperangkat catatan terkait, seperti semua catatan pelanggan,
membentuk sebuah file. Seperangkat koordinasi beberapa file data terpusat yang saling
berhubungan yang disimpan dengan sedikit mungkin kelebihan data merupakan sebuah
database. Pada pendekatan database, data adalah sumber daya organisasi yang digunakan oleh
dan dikelola untuk keseluruhan organisasi, bukan hanya mengelola departemen. Sistem
manajemen database (database management system – BDMS) adalah suatu program yang
mengelola dan mengendalikan data serta menghubungkan data dan program-program aplikasi
yang menggunakan data yang disimpan dalam database.
2 Penggunaan Gudang Data untuk Business Intelligence
Gudang data (data warehouse) adalah satu atau lebih database besar yang berisi data
mendetail dan diringkas untuk beberapa tahun yang digunakan dalam analisis, bukan untuk
pemrosesan transaksi. Sementara business intelligence merupakan menganalisis sejumalah besar
data untuk pembuatan keputusan strategis. Pemrosesan analitikal online (online analytical
processing-OLAP) menggunakan beberapa query untuk membuat hiotesis hubungan antar data.
Penggalian data (data mining) adalah pnggunaan analisis statistik yang canggih, termasuk
teknik-teknik kecerdasan buatan (artificial intelligence) seperti jaringan saraf, untuk
“menemukan” hubungan yang tidak dihipotesiskan dalam data.
3    Keunggulan Sistem Database
Database memberi organisasi keuntungan-keuntungan berikut ini :
a.       Integrasi data (data integration). Beberapa file induk digabungkan ke dalam “kelompok-
kelompok” data besar atas yang diakses oleh banyak program aplikasi. Contohnya adalah
database karyawan yang menggabungkan file induk penggajian, personel dan keterampilan
kerja.
b.      Pembagian data (data sharing). Data yang terintegrasi lebih mudah dibagi dengan pengguna
sah. Database dapat dengan mudah dicari untuk meneliti permasalahan atau memperoleh
informasi mendetail yang mendasari laporan.
c.       Meminimalkan kelebihan dan inkonsistensi data (minimal data redundancy and data
inconsistencies). Oleh karena item-item data biasanya disimpan hanya sekali, maka kelebihan
dan inkonsistensi data dapat diminimalkan.
d.      Independensi data (data independence). Oleh karena data dan program-program yang
menggunakannya independen satu sama lain, masing-masing dapat diubah tanpa mengubah
lainnya. Independensi data memudahkan dalam pemrograman dan penyederhanaan manajemen
data.
e.       Analisis lintas fungsional (cross-functional analysis). Pada sistem database, hubungan
seperti hubungan antara biaya penjualan dan kampanye promosi, dapat secara eksplisit
diidentifikasikan dan digunakan dalam mempersiapkan laporan-manajemen.
4 Pentingnya Data yang Baik
Data yang tidak benar pada database dapat mengarahkan kepada keputusan yang buruk,
kebingungan dan pengguna yang marah. The Data Warehousing Institute memperkirakan bahwa
biaya data yang buruk melebihi $600 miliar setahun untuk pengiriman yan tidak diperlukan,
biaya pemasaran, dan hilangnya kepercayaan pelanggan. Diperkirakan lebih dari 25% data bisnis
tidak akurat atau tidak lengkp. Pada penelitian terbaru, 53% dari 750 profesional TI mengtakan
bahwa perusahaan mereka mengalami permasalahan terkait kualitas data yang buruk. Untuk
menghindari data yang kedaluwarsa, tidak lengkap atau salah, manajemen memerlukan
kebijakan dan prosedur yang menjamin data yang bersih atau “scrubbed”.

SISTEM DATABASE
1 Tampilan Logis dan Fisik Data
Pada sistem yang berorientasi file, pemograman harus tahu lokasi fisik dan layout catatan.
Anggaplah seorang pemogram menginginkan agar laporan menunjukkan nomor pelanggan,
batasan kredit dan saldo saat ini. Untuk membuat program, ia harus memahami lokasi dan
panjang field yang dibutuhkan (yaitu mencatat posisi 1 sampai 10 untuk nomor pelanggan) serta
format setiap field.
            Layout catatan (record layout) adalah dokumen yang menunjukkan item-item yang
disimpan dalam file, termasuk urutan dan panjang field data serta tipe data yang disimpan dalam
file piutang. Figur 4-3 menunjukkan layout catatan dari file piutang. Sistem database
menyelesaikan permasalahan ini dengan memisahkan penyimpanan atas data dari penggunaan
elemen data.Pendekatan database memberikan dua tampilan data terpisah : tampilan fisik dan
tampilan logis. Tampilan logis (logical view) adalah bagaimana seorang secara konseptual
mengelola dan memahami hubungan antar-item data. Tampilan fisik (physical view) mengacu
pada bagaimana data secara fisik diatur dan disimpan dalam system komputer.
            Perangkat lunak DBMS menghubungkan cara data secara fisik disimpan dengan tampilan
logis data setiap pengguna. DBMS memungkinkan pengguna untuk mengakses, membuat query
atau memperbaharui database tanpa referensi untuk bagaimana dan dimana data secara fisik
disimpan. Memisahkan tampilan logis dan fisik data juga berarti bahwa pengguna dapat
mengubah tampilan logis data mereka untuk meningkatkan kinerja system tanpa memengaruhi
pengguna atau program aplikasi.
2 Skema
Skema adalah deskripsi elemen-elemen data dalam database, hubungan diantara mereka
dan model logika yang digunakan untuk mengelola dan menjelaskan data. Terdapat tiga level
dari skema:  konseptual, eksternal dan internal. Skema level konseptual (conceptual level 
schema), tampilan organisasi yang luasakan menampilakna keseluruhan database, mendaftar
semua elemen data dan hubungan antar mereka. Skema level eksternal (external level schema)
adalah tampilan pengguna individu terhadap bagian-bagian dalam database, masing-masing
mengacu pada sebuah subskema (subschema). Skema level internal (internal level schema),
tampilan level rendah database,  menjelaskan bagaimana data disimpan dan diakses, termasuk
layout catatan, definisi, alamat, dan indeks.
3 Kamus Data
Kamus data (data dictionary) berisi informasi mengenai struktur database. Setiap elemen
data yang disimpan dalam database, terdapat catatan dalam kamus yang menjelaskannnya.
DBMS menyimpan kamus data, yang input-nya termasuk elemen data baru atau yang terhapus
serta mengubah nama elemen data, penjelasan atau penggunaannya. Output termasuk laporan
untuk para pemogram, desainer dan pengguna, seperti (1) program atau laporan yang
menggunakan item data, (2) sinonim untuk elemen data dalam file, (3) elemen data yang
digunakan oleh pengguna. Laporan-laporan ini digunakan dalam pendokumentasian sistem,
desain dan implementasi database, serta sebagai bagian dari jejak audit.
4 Bahasa DBMS
DBMS memiliki beberapa bahasa. Bahasa definisi kata (data definition language-DDL)
membangun kamus data, membuat database, menjelaskan tampilan logis setiap pengguna dan
memerinci catatan atau hambatan keamanan field. Bahasa manipulasi data (data manipulation
language-DML) mengubah isi database, termasuk membuat, memperbaharui menyisipkan dan
menghapus elemen data. Bahasa query data (data query language-DQL) adalah bahasa level
tinggi, seperti bahasa Inggris yang berisi perintah kuat dan mudah digunakan yang
memungkinkan pengguna untuk mengambil, menyortir, memesan serta menunjukkan data.
Penulis laporan (report writer) menyederhanakan pembuatan laporan.

DATABASE RELASIONAL
1 Tipe-Tipe Atribut
Kunci utama (primary key) adalah atribut database, atau kombinasi atribut, yang secara
khusus mengidentifikasi suatu baris tertentu dalam sebuah tabel. Kunci utama dalam Tabel 4-2
adalah Nomor Komponen yang secara khusus mengidentifikasi setiap komponen barang yang
dijual S&S. Biasanya, kunci utama adalah atribut tunggal. Dalam beberapa tabel, dua atau lebih
atribut dibutuhkan untuk mengidentifikasi secara khusus baris tertentu dalam tabel.  Kunci asing
(foreign key) adalah atribut dalam tabel yang juga merupakan kunci utama dalam tabel lain dan
digunakan untuk menghubungkan dua tabel.  Atribut non kunci lainnya dalam tabel menyimpan
informasi penting mengenai entitas.
2 Membuat Desain Database Relasional untuk S&S, INC
Dalam sistem akuntansi manual, S&S akan mengambil informasi penjualan pada faktur
penjualan pracetak yang memberikan tampilan logis dan fisik data yang dikumpulkan.
Penyimpanan fisik data faktur penjualan adalah sederhana salinan faktur disimpan dalam lemari
file. Menyimpan daya yang sama dalam komputer lebih komplek. Anggalah S&S ingin
menyimpan faktur penjualan (yang diberik nomor 101 hingga 105) secara elektronik. Pada
beberapa faktur, pelanggan membeli lebih dari satu komponen. Mari kita melihat dampak
beberapa cara untuk menyimpan informasi ini.
a.Menyimpan Semua Data dalam Satu Tabel yang Seragam.
S&S dapat menyimpan data penjualan dalam satu tabel, seperti yang diilustrasikan dalam
Tabel 4-3. Pendekatan ini memiliki dua kerugian. Pertama, ia menyimpan banyak kelebihan data.
Ujilah faktur 102 dalam tabel 4-3. Oleh karena tiga barang persediaan terjual, data faktur dan
pelanggan (kolom 1 hingga 9) dicatat tiga kali. Demikian juga, deskripsi persediaan dan unit
harga diulangi setiap kali barang terjual. Oleh karena volume penjualan pada toko eceran tinggi,
beberapa kelebihan membuat pemeliharaan membutuhkan banyak waktu dan rentan akan
kesalahan (eror). Kedua, beberapa masalah akan terjadi ketika data faktur yang disimpan dalam
tipe-tipe tabel ini. Masalah pertama disebut anomali pembaruan (update anomaluy), karena nilai
data tidak diperbarui dengan benar. Mengubah alamat pelanggan melibatkan pencarian
keseluruhan tabel dan mengubah setiap kejadian dalam alamat pelanggan.
Anomali sisipan (insert anomaly) yang terjadi dalam contoh kita dikarenakan tidak
adanya cara menyimpan informasi mengenai pelanggan prospektif hingga mereka membuat
pembayaran. Jika data pelanggan prospetif dimasukan sebelum pembelian dibuat , kolom fatur
penjualan akan menjadi kosong. Padahal, faktur penjualan adalah kunci utama untuk tabel 4-3
dan tidak boleh kosong, karena secara khusus akan mengidentifikasi catatan. Anomali
penghapusan (delete anomaly) terjadi ketika menghapus baris yang tidak memiliki konsekuensi
yang tidak diinginkan. 
b. Memvariasikan jumlah kolom.
Afternatif untuk tabel 4-3 adalah dengan mencatat faktur penjualan dan data pelanggan
sekali dan menambahkan kolom tambahan untuk mencatat setiap item yang terjual. Tabel 4-4
mengilustrasikan pendekatan ini. Meskipun dapat mengurangi kelebihan data dan mengeliminasi
beberapa anomali yang terkait dengan tabel 4-3, alternatif ini memiliki beberapa kelemahan.

c. Dua Pendekatan Untuk Desain Database


Satu cara untuk mendesain database relasional, disebut normalisasi (normalization),
dimulai dengan mengasumsikan bahwa segala sesuatu awalnya disimpan dalam satu tabel besar.
Aturan yang kemudian diikuti untuk memisahkan tabel awal ke dalam seperangkat tabel yang
disebut bentuk normal ketiga (third normal form-3NF), karena mereka bebas dari anomali
pembaruan, sisipan dan penghapusan. Pada pendekatan desain alternatif, yang disebut
pemodelan data semantik (semantic data modeling), pendesain menggunakan pengetahuan atas
proses bisnis dan kebutuhan informasi untuk membuat diagram yang menunjukkan apa yang
dimasukkan dalam database. Diagram ini digunakan untuk membuat seperangkat tabel relasional
yang sudah ada dalam 3NF.
Pemodelan data semantik memiliki keuntungan signifikan. Pertama, menggunakan
pengetahuan pendesain akan proses bisnis memudahan desain yang efisien atas database
pemrosesan transaksi. Kedua, model grafis secara eksplisit menunjukkan proses bisnis dan
kebutuhan informasi serta kebijakan organisasi, dan mempermudah komunikasi dengan para
pengguna sistem, akan membantu memastikan bahwa sistem yang baru memenuhi kebutuhan
aktual pengguna.
d.Membuat Query Database Relasional
Untuk mengambil data yang disimpan, pengguna akan menanyai database. Bagian dari
bab ini menunjukkan bagaimana untuk menanyai database menggunakan Microsoft Access. Jika
anda ingin mengikuti berdasarkan membuat pertanyaan yang diilustrasikan dalam bagian ini,
unduh S&S In Chapter Database dari situs teks. Ketika anda membuka database dan memilih
pita “Create”, pita dalam bagian atas Tabel 4-6 akan terlihat. Ada dua cara untuk menanyai
database: membuat pertanyaan (query) dalam tampilan Desain (tombol “Query Design”) atau
menggunakan wizard (tombol “Query Wizard”). Opsi-opsi tersebut di-outline denan warna hitam
pada bagian atas Tabel 4-6. Tampilan Desain digunakan dalam semua contoh yang ditunjukkan.
Mengeklik tombol “Query Design” memunculkan jendela Show Table yang ditunjukkan pada
Tabel 4-6. Pengguna dapat memilih tabel yang diperlukan untuk menghasilkan informasi yang
diinginkan; jika lebih banyak tabel dibandingkan yang seharusnya dipilih, query mungkin tidak
akan berjalan dengan semestinya.
QUERY 1
Query 1 menjawab dua pertanyaan : Berapa nomor faktur yang dibuat untuk semua
penjualan yang dibuat untuk D.Ainge dan siapa tenaga penjual untuk setiap penjualan?
            Table Penjualan dan Pelanggan berisi tiga komponen yang diperlukan untuk menjawab
pertanyaan ini : Faktur Penjualan #, Tenaga Penjual dan Nama Pelanggan, Klik tombol “Query
Design” dan pilih table Penjualan dan Pelanggan dengan mengklik ganda pada nama mereka
atau mengkiktunggal pada nama mereka dan mengklik tombol Add. Garis antara dua table
menghubungkan field Pelanggan # (kunci utama table Pelanggan dan kunci asing table
penjualan). Klik pada close untuk menutup jendela show table.
            Untuk menambahkan data pada bagian bawah layar, klikdua kali pada Faktur Penjualan
#, Tenaga Penjual, dan Pelanggan atau tarik dan letakkan mereka ked ala baris field. Access
secara tmatis mengecek ktak dalam garis Shw, sehingga item-item akan ditunjukan ketika query
dijalankan.
Oleh karena kita hanya menginginkan penjuan ke D,Ainge , masukkan penjualan ke
dalam garis criteria untuk kolom Nama Pelanggan . Access akan secara otomatis meletakkan
tanda Tanya di antara criteria. Jalankan query dengan mengklik pada tanda merah!(tanda seru)
pada pita Query Tool Design . Jawaban query tidak secara otomatis memiliki judul “Penjualan
Ainge”. Untuk memberikan query sebuah nama, simpanlah dengan memilih File dari menu
access, kemudian Save As , dan masukkan “Penjualan Ainge” dalam baris pertama jendela Save
As , pastikan bahwa kotak pilihan bject diset untuk “Query”, dan kemudian klik OK.
QUERY 2
            Query 2 menjawab pertanyaan ini: Berapa banyak televise yang terjual bulan oktober?.
Table Penjualan , Persediaan dan Penjualan-Persediaan berisi tiga item yang dibutuhkan untuk
menjawab pertanyaan ini : Tanggal, Deskripsi Persediaan, dan Kuantitas. Klik pada tombol
query design dalam pita create serta memilih tiga table dan tiga field. oleh karena kita
menginginkan kuantitas televise yang terjual pada bulan oktober, tambahkan criteria between
#10/1/2018# and #10/31/2018 ke field Tanggal dan Televisi ke field Deskripsi.
            Untuk merinci criteria, access menggunakan peratr seperti “And” “Or”dan “Between”.
Oleh karena kita hanya mencari total televise pada bulan oktober maka kita perlu menunjukkan
Tanggal atau Deskripsi. Jangan mencentang kotak “shw” pada klm Tanggal dan Deskripsi.
Untuk membuat total penjualan, klik tombol “total” dalam bagian show/hide pada pita query tl
design. Klik pada garis ttal di klm kuantitas, kik pada imbl panah-bawah, dan pilih jumlah (sum)
dari menu turun-kebawah yang nampak. Dua field sisa dalam garis ttal aka nada sebagai grup by.
QUERY 3
            Query 3 akan menjawab pertanyaan ini :  Siapa nama pelanggan dan dimana alamat
pelanggan yang membeli televisi pada bulan oktober?
Query ini memerlukan beberapa field berikut: Tanggal, Deskripsi serta Nama Pelanggan, Jalan ,
Kota, dan Negara Bagian. Keempat table ini digunakan karena table Penjualan-Persediaan
digunakan untuk memindahkan antara table penjulana dan persediaan. Query ini menggunakan
criteria yang sama dengan query 2. Data Tanggal dan Deskrripsi tidak perlu ditampilkan,
sehingga kotak dalam baris shw tidak dicentang.
QUERY 4
Query 4 menjawab pertanyaan ini : Berapa nomor faktur penjualan, tanggal, dan total
faktur untuk penjualan bulan Oktober, yang diatur dalam urutan berdasarkan jumlah total?
Dikarenakan database tidak berisi kolom Total Faktur, maka total faktur dihitung dengan
mengalikan unit harga berdasarkan kuantitas untuk setiap penjualan. Contohnya, kita akan
menghitung total harga penjualan asta ssetiap barang yang dijual dengan mengalikan field
kuantitas dalam tabel Penjualan- Persediaan berdasarkan field Unit Harga pada tabel persediaan.
Query 4 memerlukan tabel Penjualan (Tanggal, Faktur Penjualan#), Tabel Penjualan –
Persediaan (kuantitas) dan tabel persediaan (unit harga). Namun, beberapa field tidak akan
tampak dalam kolom pada jendela Select Query. Untuk menghitung Total Faktur, ketiklah “Total
Faktur: : dalam sel kosong pertama Field, klik kanan dalam sel, dan pilih Build dari menu pop up
yang tampak jendela Expresion Builder akan muncul, tempat formula untuk menghitung Total
Faktur dimasukkan dengan mengetik “Sum()”. Untuk melengkapi Query 4, klik tombol Total
pada pita Query Tools Design. Klik pada panah dibawah baris Total pada kolom Total Faktur,
dan pilihlah Expression dari menu pop up.
QUERY 5
Query 5 akan menjawab pertanyaan berikut ini : Berapakah total penjualan berdasarkan
tenaga penjual? .Pertanyaaan ini sama dengan Query 4, kecuali jika kita menjumlah faktur
berdasarkan tenaga penjual, bukan berdasarkan nomor faktur. Kita juga tidak membatasi query
untuk bulan Oktober.

Anda mungkin juga menyukai