Anda di halaman 1dari 21

[Summary]

Sistem Informasi Perusahaan


Chapter 6

Suatu model konseptual merepresentasikan realita dalam suatu bentuk abstraksi yang dapat
digunakan untuk mengembangkan suatu sistem informasi dalam berbagai format (relational,
object oriented, dll)

Tidak bergantung pada tipe h/w dan s/w

Tidak bergantung pada tipe model logika (logical model) apa pun

Suatu model logika merepresentasikan realita dalam format yang sesuai dengan model basis
data tertentu (contoh relational atau object-oriented)

Tidak bergantung pada h/w dan s/w

Bergantung pada tipe model logika yang dipilih

Suatu model fisik (physical model) dibuat secara khusus untuk suatu paket s/w basis data
tertentu.

Bergantung pada h/w, s/w dan pada tipe model logika yang dipilih

Relational Database Model


Relational model adalah suatu tipe model logika basis data yang diciptakan oleh E.F. codd
pada tahun 1969. Relational model berbasiskan pada teori himpunan dan predicate logic
(terformalisasi dengan baik, sehingga perilakunya dapat diprediksi). Suatu relational
database terdiri dari berbagai tabel (hubungan) yang terhubung satu sama lain melalui
penggunaan primary & foreign keys.

A FOREIGN KEY dalam suatu tabel, adalah primary key dari tabel lain yang telah diposting pada tabel pertama untuk membentuk suatu hubungan diantara dua table.

Tabel relational database terdiri dari kolom dan baris:


1. Baris disebut sebagai table extension atau tuples (urutan baris bukanlah merupakan
suatu masalah).
2. Kolom disebut sebagai table intension atau schema.

Urutan kolom bukanlah merupakan suatu masalah

Semua nilai dalam kolom dan baris harus mengikuti format data yang sama
(contoh: tanggal, teks, dll)

3. Tiap sel dalam suatu tabel basis data (perpotongan kolom-baris) hanya dapat
memilliki satu nilai saja (repeating groups tidak diperbolehkan).

Contoh Foreign Key

Beberapa prinsip-prinsip dalam relational model


1. Integritas entitas (entity integrity)

Suatu primary key dalam suatu tabel tidak boleh memiliki nilai null (kosong)
Untuk memastikan keunikan entitas dan memungkinkan nilai primary key menjadi
acuan bagi nilai foreign key.

2. Integritas referensi (referential integrity)

Nilai untuk suatu foreign key pada suatu tabel harus merupakan salah satu dibawah
ini:
Null (kosong)
Sama dengan nilai primary key pada tabel asalnya

3. Satu fakta, satu tempat (one fact, one place)

Fakta = suatu pasangan nilai atribut kandidat kunci dengan nilai atribut lainnya
Fakta ditemukan pada extensional data

Contoh Integritas Referensi

Pelanggaran Aturan Satu Fakta Satu Tempat


1. Satu fakta ada di beberapa lokasi

2. Beberapa fakta ada di satu tempat

Tiap nilai dari tiap atribut pada suatu baris berpasangan dengan primary key,
sehingga bila suatu sel memiliki dua atau lebih nilai atribut, hal tersebut dikatakan
sebagai beberapa fakta pada satu lokasi (atau disebut juga sebagai repeating
group).

Konversi Konseptual menjadi Relational


Langkah 1 Buatlah sebuah tabel terpisah untuk merepresentasikan tiap entitas pada model
konseptual

1A: Tiap atribut dari entitas menjadi kolom pada relational table

2A: Tiap instance (anggota) dari himpunan entitas menjadi baris pada relational table

Langkah 2-4 melibatkan penentuan apakah tiap hubungan dalam model konseptual harus
direpresentasikan sebagai suatu tabel terpisah atau di-posting sebagai foreign key

Redundancy dan Load adalah faktor penentu yang penting


Redundancy = Satu fakta pada beberapa tempat atau beberapa fakta pada satu
tempat
Load = Persentase dari nilai non null pada suatu kolom

Kardinalitas

partisipasi

mengkomunikasikan

beberapa

informasi

mengenai

redundancy dan load

Kardinalitas maksimum Aturan umumnya adalah untuk selalu mem-posting pada


suatu tabel entitas 1 (Untuk menghindari repeating groups redundancy). Kita
tidak boleh mem-posting pada entitas N (Hal tersebut menyebabkan repeating
groups redundancy).

Kardinalitas minimum Aturan umumnya adalah untuk selalu mem-posting pada


suatu tabel entitas 1 (mandatory) (Untuk menghindari nilai null pada kolom foreign
key). Aturan ini harus dilanggar pada beberapa kondisi (akan dijelaskan kemudian).

Contoh Aturan Umum

Langkah 2 Buatlah suatu tabel terpisah untuk merepresentasikan semua many-to-many


relationship pada suatu model konseptual, atau pada pola kardinalitas partisipasi berikut:
(0,N)-(0,N) (0,N)-(1,N) (1,N)-(0,N) (1,N)-(1,N)

Suatu tabel terpisah harus dibuat untuk merepresentasikan hubungannya


Primary key dari tabel entitas terkait di-posting pada tabel hubungan untuk
membentuk

primary

key-nya.

Primary

key

ini

disebut

sebagai

suatu

composite/concatenated primary key


Hal tersebut mencegah redundancy
Tidak ada pengecualian untuk aturan ini.

Bila suatu foreign key di-posting pada kedua arah, redundancy akan menjadi suatu
masalah bagi many-to-many relationships.

Many to Many Relationship

Langkah 3 untuk pola kardinalitas partisipasi (1,1)-(1,1), pertimbangkan apakah dua


entitas terpisah secara konseptual atau apakah keduanya harus digabungkan. Bila harus
dibiarkan terpisah, maka :

3A: posting-lah primary key dari suatu tabel entitas pada tabel entitas lainnya sebagai
foreign key.

3B: tidak menjadi masalah primary key entitas mana yang di-posting pada tabel entitas
lainnya, tetapi jangan mem-posting keduanya :
Jangan membuat suatu tabel terpisah
Redundancy dihindari secara otomatis dan load bukan merupakan suatu masalah bila
suatu foreign key di-posting pada tabel manapun dalam hubungan (1,1)-(1,1)

Langkah 4 untuk hubungan lain yang memiliki partisipasi (1,1) dengan satu himpunan
entitas, posting-lah primary key entitas terkait pada tabel entitas (1,1) sebagai foreign key
atauuntuk pola kardinalitas partisipasi berikut : (0,N)-(1,1) (1,N)-(1,1) (1,1)-(0,N) (1,1)(1,N) (0,1)-(1,1) (1,1)-(0,1)
Jangan membuat tabel terpisah
Posting-lah suatu foreign key pada tabel entitas (1,1) dari tabel entitas lainnya
Redundancy akan dihindari dan load bukan merupakan suatu masalah bila
instruksi ini diikuti
Bila posting dilakukan pada arah yang berlawanan, redundancy [untuk maksimum
N] atau load [untuk minimum 0] akan menjadi suatu masalah

Langkah 5 untuk hubungan lainnya yang memiliki partisipasi (0,1) pada satu atau kedua
entitas, pertimbangkanlah load-nya atau untuk pola kardinalitas partisipasi berikut:
(0,N)-(0,1) (1,N)-(0,1) (0,1)-(0,N) (0,1)-(1,N) (0,1)-(0,1)

Aturan untuk maximum cards mengharuskan posting pada suatu (0,1) atau
membuat tabel terpisah; tidak boleh melakukan posting pada (0,N) atau (1,N).

Aturan untuk minimum cards menyebutkan bahwa tidak boleh melakukan


posting pada (0,1) karena hal tersebut akan mengakibatkan nilai null yang
akan mengakibatkan pemborosan tempat pada basis data. Namun demikian
suatu tabel terpisah tidak akan membuang-buang tempat, maka lebih baik ikuti
aturan maksimum dan langgar aturan minimum

5A posting-lah primary key entitas terkait pada tabel entitas (0,1) sebagai suatu foreign key
untuk hubungan manapun yang akan mengakibatkan high load
5B buatlah tabel terpisah untuk hubungan manapun dimana posting suatu foreign key akan
menyebabkan low load. Catatan: untuk (0,1)-(0,1), langkah 5A, posting pada arah manapun
akan mengakibatkan highest load; bila kedua arah tidak mengakibatkan high load, maka
ikuti langkah 5B
Contoh Load Considerations

Penempatan Atribut Hubungan


Bila hubungan menjadi suatu tabel terpisah, maka atribut hubungan ditempatkan pada tabel
tersebut. Bila hubungan dapat direpresentasikan dengan cara mem-posting foreign key, atribut
hubungan di-posting berdampingan dengan foreign ke.

Fixing One Fact Multiple Places


Employee

Fakta-fakta apa saja yang memiliki beberapa lokasi pada tabel ini?
Dapatkan model ER yang direpresentasikan oleh tabel ini!
Apakah model ER-nya benar?
Model ER nya harusnya seperti apa?
Bagaimanakah relational model yang benar?

Contoh Lainnya :

1. Fakta apa saja yang ada di beberapa tempat?


2. Bagaimana caranya menghindari hal ini?

Physical Implementation of Relational Model in Microsoft Access


Microsoft Access digunakan pada chapter ini untuk mendemonstrasikan penggunaan model
logika ke dalam model praktik. Praktik ini memungkinkan kita untuk mengenal pembuatan
tabel di Ms. Access serta mengkomunikasikan informasi tentang link antara beberapa tabel
(seperti primary keys yang dikaitkan antara satu tabel dengan tabel lainnya). Di Ms. Access
juga terdapat Access Help, dimana kita bisa membaca beberapa instruksi didalamnya perihal
informasi yang belum kita ketahui.

Access Help

Creating and Working with Databases


Untuk memasukkan tabel di Ms. Access, kita harus membuat terlebih dahulu file database.
Hal ini yang menjadi perbedaan antara produk produk Microsoft dengan Ms. Access. Pada
Ms. Access, kita harus membuat file terlebih dahulu serta menamai file tersebut sebelum kita
bekerja (input data atau mengisi tabel) pada Ms. Access. Pada saat membuka Ms. Acceess,
maka akan disajikan New Blank Database, kemudian kita click on New Blank Database, dan
isi File Name serta store database kita sesuai dengan driver mana yang ingin kita gunakan
untuk menyimpan hasil kerja kita dengan Ms. Access.

Halaman Muka
Microsoft Access

Example 1 : Creating and Connecting Entity Tables


Untuk membuat tabel penjualan (sales table), maka masukkan 4 macam field, yaitu SalesID,
Date, Amount dan Salesperson. Tipe data untuk masing masing field antara lain : SalesID
menggunakan Text, Date menggunakan Date/Time, Amount menggunakan currency dan
Salesperson menggunakan Text. Setelah itu, kita haus menentukan primary key untuk tabel
pertama ini. Yaitu SalesID. Dengan cara, click SalesID field, kemudian click primary key,
maka SalesID akan langsung menjadi primary key pada tabel pertama ini. Pada Ms. Access
2007, pada pengetikan field awal paling kanan, maka secara otomatis akan menjadi primary
key pada tabel yang sedang kita kerjakan. Jika, primary key tidak berada pada pengetikan
awal di field pertama, kita masih bisa menentukan primary key yang lainnya, dengan cara
simpan terlebih dahulu tabel yang telah kita buat, kemudian klik kanan pada nama tabel yang
telah kita buat, dan pilih Design View, maka disitu kita akan bisa mengubah field mana saja
yang bisa kita jadikan primary key (Design Primary Key). Setelah semuanya sudah
diketik, maka simpan tabel tersebut dengan file Sale.

Save tabel sale

Setelah kita berhasil menamai tabel pertama tadi dengan sale, maka langkah berikutnya dalah
membuat tabel lainnya. Dengan cara, tutup tabel sale yang telah kita simpan tadi, dan buka
serta buat tabel baru lagi. Yang isinya antara lain : SalespersonID, Name dan Telephone dan
jadikan SalespersonID sebagai primary key pada tabel ini, kemudian simpan dengan file
Salesperson.
Sekarang kita telah memiliki 2 tabel yaitu sale dan saleperson. Lalu, icon relationship, ketika
telah muncul, maka drag kedua tabel tadi dan klik add, maka akan mucul edit relationship
tab, pada tab tersebut klik enforce referential integrity dan cascade update related fields,
setelah itu klik create. Enforced referential integrity merupakan pilihan yang sangat bagus
untuk di klik karena jika kita merubah customer ID maka hal tersebut juga akan mengubah di
seluruh tempat. Sedangkan opsi cascade update related fields merupakan opsi yang berfungsi
untuk tidak membiarkan kita kehilangan data data yang akan kita butuhkan di kemudian hari.

Edit Relationships

Setelah klik create, maka akan muncul tabel sale dan salesperson pada relational tabel kita.
Kemudian, klik salespersonID pada tabel salesperson dan drag ke salesperson pada tabel
sale, maka akan muncul ralationship layout sebabai berikut :

Relationships Layout

Terdapat angka 1 di SalespersonID pada tabel salesperson, hal tersebut menunjukkan bahwa
nilai partikular data untuk atribut tersebut bisa muncul di tabel maksimum satu kali. Hal
tersebut masuk akal, hal itulah yang disebut dengan parimary key dan primary key tidak bisa
memiliki nilai duplikasi (nilai yang sama). Sedangkan tanda infinity disamping salesperson
pada tabel sale menunjukkan bahwa nilai partikular data untuk atribut tersebut bisa muncul di
tabel untuk beberapa kali. Sebagai contoh Salesperson 654321 membuat penjualan terus
menerus dan bisa selalu muncul pada tabel sale untuk beberapa kali pula.

Example 2 : Creating and Connecting Relationship Tables to Entity Tables


Untuk memulainya, hal yang sama harus dilakukan adalah membuat tabel di Ms. Access.
Tabel pertama disimpan dengan nama file Student yang berisi beberapa field meliputi :
StudentID (juga dijadikan primary key, dengan tipe data text), Name (tipe data text) dan
Address (tipe data text). Tabel berikutnya disimpan dengan nama file Course yang juga
berisis beberapa field antara lain : CourseID (tipe data text, dijadikan primary key),
Description (tipe data text) dan Credits (tipe data number). Dan tabel terakhir adalah takes,
yang berisi field antara lain : StudentID (tipe data text), CourseID (tipe data text) dan Grade
earned (tipe data text). Untuk tabel takes, ada 2 primary key, yaitu StudentID dan CourseID.
Cara mengatur untuk memiliki dua primary key adalah, ketika telah kita simpan tabel takes,
maka klik kanan pada tabel tersebut, pilih Design View, kemudian block StudentID serta
CourseID dan kemudian klik icon primary key, maka dua duanya sekarang sudah akan
menjadi primary key.

Relationships
Layout

Ketika ketiga tabel tersebut sudah berhasil dibuat, kemudian klik relationship icon. Ketika
sudah muncul tabel di relationship, maka : klik StudentID di tabel student dan drag ke
StudentID di tabel course serta klik CourseID di tabel course dan drag ke CourseID di tabel
takes. Maka hasilnya adalah sebagai berikut :

Relationships Layout yang menggabungkan


2 tabel entitas

Deleting Existing Relationships


Untuk menghapus relationship antara tabel, caranya adalah klik garis relationship antara
tabel, kemudian klik tombol delete pada keyboard maka relationships antar tabel akan hilang.

Menghapus
relationships
antar tabel

Entering Data into Microsoft Access Tables

Datasheet view

Ketika

kita telah selesai membuat tabel yang hubungan antara beberapa tabel telah

dikomunikasikan dengan benar di Ms. Access, maka saat itulah kita telah siap untuk memulai
memasukkan data kedalam tabel. 2 views yang dapat membantu kita untuk memasukkan data
pada tabel antara lain : datasheet view dan form view. Di chapter ini, kita hanya akan
membahas datasheet view. Caranya, ketika kita ingin memasukkan beberapa field di dalam
tabel, kemudian ketik field-nya dan ketika ingin berpindah ke field berikutnya bisa dengan
menekan tombol TAB pada keyboard. Ketika kita berpindah ke field lain dengan
menggunakan TAB, maka ketika kita menekan TAB, software akan secara otomatis
menyimpan data yang telah kita masukkan. Kemudian sering juga kita melihat icon pensil,
hal itu menunjukkan data yang kita masukkan saat ini di posisi tersebut.
Hal yang harus diingat adalah ketika kita telah klik enforce referential integrity dan telah
memasukkan data ke dalam field yang sesuai, maka kita harus hati hati untuk memasukkan
datanya. Berusahalah hati hati dalam memasukkan data. Jika kita memasukkan data yang
salah, maka kita harus segera memperbaiki dengan segera dimana letak kesalahan data
tersebut sebelum kita memasukkan data berikutnya ke dalam tabel Ms. Access.

Concluding Comments
Di chapter ini kita telah mempelajari bagaimana cara mengambil representasi secara
konseptual dari enterprise yang nyata kemudian mengubahnya, pertama ke dalam logika
hubungan tabel dan kemudian praktik nyata ke dalam Microsoft Access software. Kita juga
mempelajari bagaimana memasukkan data pada tabel. Di chapter berikutnya, kita akan
mempelajari sesuatu yang bisa kita lakukan setelah memasukkan data pada database yang
relasional. Di situlah fungsi yang sesunggunya pada database relasional bisa kita temukan.
Ketika kita memasuki chapter tersebut, jangan lupakan apa yang telah kita dapatkan dan telah
kita pelajari di chapter ini. Pengertian yang kuat pada desain tabel adalah merupakan dasar
pengertin yang kuat pula untuk querying. Pengertian yang kuat tentang querying merupakan
dasar yang kuat untuk retrieval of valid data, yang kemudian hasil akhirnya sangat
mempengaruhi pengambilan keputusan. Inilah pentingnya mengapa pengguna sistem
enterprise harus benar benar mengerti dasar dari database relational.

Anda mungkin juga menyukai