7 BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Basis Data

advertisement
BAB 2
LANDASAN TEORI
2.1
Teori Umum
2.1.1 Basis Data
Dalam sebuah teknologi informasi, basis data (database) merupakan
salah satu komponen yang sangat penting untuk memenuhi kebutuhan
informasi dalam sebuah organisasi. Hal tersebut diperkuat oleh definisidefinisi berikut:
Menurut Connolly dan Begg (2010, p65), Basis data atau database
adalah sekumpulan relasi data logika dan deskripsi dari data, yang dirancang
untuk memenuhi kebutuhan informasi organisasi. Basis data memungkinkan
tempat penyimpanan data yang besar dan dapat digunakan secara bersamaan
oleh banyak departemen dan pengguna. Dalam basis data, terdapat tiga istilah
penting, yakni entitas, atribut, dan relationship. Entitas adalah sebuah objek
berbeda (bisa seseorang, tempat, sesuatu, konsep, ataupun kejadian) dalam
organisasi yang harus direpresentasikan dalam basis data. Atribut adalah
sebuah properti yang mendeskripsikan beberapa aspek dari objek yang ingin
disimpan. Relationship adalah asosiasi antar entitas.
Hoffer, Prescott, & Topi (2009, p46) mendefinisikan basis data atau
database sebagai sebuah kumpulan data yang ada dalam sebuah organisasi
yang mana data-data tersebut saling berhubungan satu sama lain secara logis
dan digunakan untuk memenuhi kebutuhan informasi organisasi.
Dari pengertian-pengertian diatas dapat disimpulkan bahwa basis data
merupakan sekumpulan data dimana dapat digunakan oleh berbagai
pengguna atau departemen secara bersama-sama dan
digunakan untuk
memenuhi kebutuhan informasi sebuah organisasi.
2.1.2 Database Management System (DBMS)
Dalam pengolahan basis data, dibutuhkan sebuah sistem yang dapat
mengatur basis data tersebut sehingga data yang ada dapat diatur dan
dimanfaatkan dengan tepat. Hal tersebut dapat dilakukan dengan penerapan
sebuah DBMS.
7
8
Menurut Connolly & Begg (2010, p. 66), Database Management
System (DBMS) adalah sebuah sistem perangkat lunak yang memungkinkan
pengguna untuk menentukan, membuat, memelihara, dan mengontrol akses
ke sebuah basis data.
DBMS menyediakan beberapa fasilitas, yaitu:
1. Data Definition Languange (DDL) memungkinkan pengguna untuk
menspesifikasikan tipe data dan struktur, dan pembatas antara data
yang akan disimpan di dalam basis data.
2. Data Manipulation Language (DML) memungkinkan pengguna untuk
menambahkan, memperbaharui, menghapus, dan memperoleh
kembali data dari basis data.
3. Query Language, memiliki tempat penyimanan terpusat untuk semua
data dan deskripsi data dan memberikan fasilitas kepada pengguna
untuk mengakses data. Structured Query Language (SQL) adalah
bahasa yang paling diakui dan merupakan standar bagi DBMS.
4. Menyediakan fasilitas untuk mengambil akses ke basis data, seperti:
a. Sistem keamanan, mencegah pengguna yang tidak memiliki hak
akses untuk memasuki basis data.
b. Integritas basis data, yang menjaga konsistensi data yang
tersimpan.
c. Sistem kontrol konkurensi, yang memungkinkan akses secara
bersamaan dari basis data.
d. Sistem kontrol pemulihan, yang mengembalikan basis data ke
keadaan yang konsisten sebelum kegagalan perangkat keras atau
perangkat lunak.
Katalog yang dapat diakses pengguna, yang berisi deskripsi dari data
dalam basis data.
Hoffer, Prescott, dan Topi (2009, p49) menjelaskan DBMS sebagai
sebuah sistem perangkat lunak yang dipakai untuk membuat, menjaga, dan
menyediakan akses kontrol kepada pengguna basis data.
9
2.1.2.1
Komponen DBMS
Terdapat komponen-komponen penting dalam DBMS yang
membuat sebuah DBMS dapat dijalankan dengan baik dan sesuai
dengan yang diharapkan. Tanpa komponen-komponen ini, sebuah
DBMS tidak dapat berjalan dengan semestinya.
Menurut Connolly dan Begg (2010, p. 127), komponen dari
sebuah DBMS adalah sebagai berikut :
a. Query Processor : Merupakan komponen DBMS yang
utama yang mengubah query ke dalam seperangkat instruksi
tingkat rendah langsung ke database manager.
b. Database Manager : Database Manager menghubungkan
program aplikasi user-submitted dan query. Database
Manager menerima query dan memeriksa skema eksternal
dan konseptual untuk menentukan record konseptual apa
yang diperlukan untuk memuaskan permintaan.
c. File Manager :File Manager memanipulasi penyimpanan
file dan mengatur penempatan ruang penyimpanan dalam
disk. Komponen ini mendirikan dan memelihara daftar
struktur dan indeks yang didefinisikan dalam skema
internal.
d. DML Preprocessor : Modul ini mengubah pernyataan DML
yang tertanam dalam program aplikasi ke dalam penggilan
fungsi standard dalam host language. Komponen ini harus
berinteraksi dengan query processor untuk membuat kode
yang sesuai.
e. DDL Compiler : Modul ini mengubah pernyataan DDL ke
dalam seperangkat tabel berisi metadata. Tabel ini
kemudian disimpan dalam katalog sistem sementara itu
informasi kendali disimpan dalam handler file data.
f. Catalog Manager : Mengatur akses dan memelihara katalog
sistem. Katalog sistem diakses oleh sebagian besar
komponen DBMS.
10
2.1.2.2
Fungsi DBMS
DBMS yang mengatur basis data memiliki berbagai fungsi
sebagai “pengolah” basis data. Berikut akan dijabarkan berbagai
fungsi detail yang harus dimiliki oleh sebuah DBMS.
Menurut Connolly & Begg (2010, p. 99) fungsi DBMS adalah
sebagai berikut :
a. Penyimpanan,
pengambilan,
dan
pembaharuan
data.
Sebuah DBMS harus menyediakan sebuah kemampuan untuk
menyimpan, mengambil, dan membaharui data dalam DBMS.
Ini merupakan fungsi yang mendasar dari DBMS. Dalam
menyediakan fungsi ini DBMS harus menyembunyikan detail
implementasi fisikal internal seperti organisasi file dan struktur
penyimpanan dari pengguna.
b. Katalog User-Accesible
Sebuah DBMS harus menyediakan sebuah katalog yang
menyimpan gambaran tentang item data dan mudah diakses oleh
pengguna. Katalog sistem merupakan tempat penyimpanan
informasi yang menjelaskan data dalam basis data, yaitu metadata
atau data tentang data. Katalog sistem menyimpan informasi
seperti berikut :
1. Nama, jenis, dan ukuran data
2. Nama relationship
3. Batasan integritas ada data
4. Nama pengguna yang berotoritas yang mempunyai akses pada
data
5. Skema eksternal, konseptual, dan internal dan pemetaan antara
skema.
6. Pengguna statistik, seperti frekuensi dan perhitungan sejumlah
akses yang dibuat pada objek dalam basis data.
c. Mendukung Transaksi
Sebuah DBMS harus menyediakan mekanisme yang akan
memastikan bahwa semua kegiatan update yang dilakukan sesuai
dengan transaksi yang diberikan atau tidak ada kegiatan update
yang dibuat bagi transaksi tersebut. Transaksi merupakan sederetan
11
tindakan yang dilakukan oleh pengguna tunggal atau program
aplikasi yang mengakses atau mengubah isi basis data.
d. Layanan Kendali Konkurensi
Sebuah DBMS harus menyediakan sebuah mekanisme untuk
memastikan bahwa basis data diperbaharui dengan benar ketika
banyak pengguna memperbaharui basis data secara bersama-sama.
Akses bersama relatif mudah jika semua pengguna hanya membaca
data. Namun ketika dua atau lebih pengguna mengakses basis data
secara serentak dan paling sedikit satu dari mereka memperbaharui
data,
disana
dapat
terjadi
gangguan
yang
menghasilkan
ketidakkonsistenan.
e. Layanan Perbaikan
Sebuah DBMS harus menyediakan sebuah mekanisme untuk
memperbaiki basis data disaat mengalami kerusakan dalam
berbagai cara. Kerusakan basis data dapat diakibatkan karena
kerusakan sistem, kesalahan media, dan kesalahan software atau
hardware. Atau disebabkan karena adanya kesalahan selama
proses transaksi dan penyelesaian transaksi yang tidak lengkap.
f. Layanan Authorisasi
Sebuah DBMS harus meyediakan sebuah mekanisme untuk
memastikan bahwa hanya pengguna yang berotoritas yang dapat
mengakses basis data. Hal ini untuk mencegah data yang tersimpan
tak terlihat oleh semua pengguna dan melindungi basis data dari
akses yang tak berotoritas.
g. Mendukung Komunikasi Data
Sebuah DBMS harus mampu diintegrasikan dengan software
komunikasi. Kebanyakan pengguna mengakses basis data dari
workstation. Kadang workstation tersebut terhubung secara
langsung ke komputer DBMS. Dalam kasus yang lain, workstation
berada pada lokasi yang jauh dan berkomunikasi dengan komputer
DBMS melalui jaringan. Dalam hal ini DBMS menerima
permintaan sebagai pesan komunikasi dan menanggapi dengan
cara yang sama. Semua pengiriman ini ditangani oleh Data
Communication Manager.
12
h. Layanan Integritas
Sebuah DBMS harus menyediakan sebuah arti untuk memastikan
bahwa data di dalam basis data perubahan pada data mengikuti
aturan tertentu. Integritas basis data dapat mengacu pada kebenaran
dan konsistensi data yang disimpan. Integritas berhubungan dengan
kualitas data yang disimpan. Integritas biasanya diekspresikan
dengan istilah batasan, yaitu berupa aturan konsisten yang tidak
boleh dilanggar oleh basis data.
i. Layanan Peningkatan Keterbebasan Data
Sebuah DBMS harus memasukkan sebuah fasilitas untuk
mendukung keterbebasan program dari struktur basis data yang
sebenarnya. Data independence biasanya dicapai melalui sebuah
view atau mekanisme subskema. Physical atau independence lebih
mudah untuk dicapai karena terdapat beberapa jenis perubahan
yang dapat dibuat untuk karakteristik fisikal dari basis data tanpa
mempengaruhi view. Bagaimanapun data independence logikal
yang lengkap lebih susah untuk dicapai.
j. Layanan Utilitas
Sebuah DBMS harus menyediakan seperangkat layanan utilitas.
Program utilitas membantu DBA mengelola basis data secara
efektif. Beberapa utilitas bekerja pada tingkat eksternal, dan
konsekuensinya dapat dibuat oleh DBA, yang lainnya bekerja pada
tingkat internal dan dapat disediakan hanya dengan vendor DBMS.
Contoh dari utilitas tersbut antara lain :
1. Fasilitas import, untuk memuat basis data dari flat file,
dan fasilitas eksport untuk memuat basis data pada flat
file.
2. Fasilitas pemantauan, untuk memantau penggunaan dan
operasi basis data.
3. Program analisa statistik, untuk memeriksa kinerja dan
penggunaan statistik.
4. Fasilitas penyusunan indeks, untuk menyusun kembali
indeks dan overflow mereka.
13
k. Penempatan dan pengumpulan sampah, untuk menghilangkan
record yang diapus secara fisik dari alat penyimpanan, untuk
menggabungkan ruang yang terlepas dan untuk menempatkan
kembali record tersebut dimana ia dibutuhkan.
2.1.3 Structure Query Language (SQL)
Membuat, menambahkan, dan memperbaharui data merupakan
kegiatan yang sering dilakukan dalam pengolahan basis data. Kegiatan
pengolahan data ini dapat dilakukan dengan Structure Query Language yang
dijelaskan Connolly dan Begg (2010, p221) sebagai sebuah bahasa
nonprocedural yang terdiri dari kata-kata standar bahasa inggris seperti
SELECT, INSERT, dan DELETE yang digunakan oleh profesional dan nonprofesional. Keduanya menggunakan standar bahasa untuk menentukan dan
memanipulasi relasi basis data.
2.1.3.1 Data Definition Language
SQL memungkinkan adanya pembuatan, perubahan dan
penghapusan data. Kegiatan tersebut dapat dilakukan dengan
menggunakan Data definition language (DDL) yang dapat diartikan
sebagai sebuah jenis bahasa yang berfungsi untuk dapat mengakses
data dalam sebuah basis data yang berhubungan dengan pembuatan,
perubahan dan penghapusan data.
Menurut Connolly dan Begg (2010, p92), data definition
language (DDL) adalah sebuah bahasa yang mengijinkan DBA atau
user untuk mendeskripsikan dan memberi nama entitas, atribut, dan
hubungan
yang
diperlukan
aplikasi
beserta
integrity
yang
berhubungan dan batasan keamanan.
Perintah-perintah data definition language (DDL) yang
digunakan diantaranya:
a. Create Table, digunakan untuk membuat tabel dengan
mengidentifikasikan tipe data untuk setiap kolom.
b. Alter Table, digunakan untuk menambah atau membuang
kolom dari konstrain.
14
c. Drop Table, digunakan untuk membuang atau menghapus
tabel beserta semua data yang terkait didalamnya.
d. Create Index, digunakan untuk membuat indeks pada suatu
tabel.
e. Drop Index, digunakan untuk membuang atau menghapus
index yang telah dibuat sebelumnya.
2.1.3.2 Data Manipulation Language
Pengolahan data dengan SQL tidak terbatas hanya pada
pengaksesan data seperti yang bisa dilakukan dengan DDL. Dalam
SQL juga dapat dilakukan manipulasi data dengan Data Manipulation
Language (DML) yang merupakan sebuah bahasa yang hampir sama
dengan DDL yang digunakan untuk mengakses data di dalam basis
data namun bahasa ini mengarah pada manipulasi dari data yang ada.
Menurut Connolly dan Begg (2010, p92), data manipulation
language
(DML)
adalah
sebuah
bahasa
yang
menyediakan
sekumpulan operasi yang mendukung suatu operasi manipulasi data
yang berada dalam basis data.
Pengoperasian data yang akan dimanipulasi pada umumnya
meliputi:
a. Penambahan data baru ke dalam basis data.
b. Modifikasi data yang disimpan dalam basis data.
c. Pengembalian data yang terdapat dalam basis data.
d. Penghapusan data dari basis data.
Perintah-perintah yang ada pada data manipulation language
(DML) diantaranya:
a. Select, digunakan untuk menampilkan sebagian atau seluruh
isi dari suatu tabel dan menampilkan kombinasi isi dari
beberapa tabel.
b. Update, digunakan untuk mengubah isi satu atau beberapa
atribut dari suatu tabel.
c. Insert, digunakan untuk menambah satu atau beberapa baris
nilai baru ke dalam suatu tabel.
15
d. Delete, digunakan untuk menghapus sebagian atau seluruh isi
dari suatu tabel.
DML dikategorikan menjadi dua, yaitu:
1. Procedural DML
Sebuah bahasa yang memungkinkan pengguna untuk
memberitahukan sistem data yang dibutuhkan dan bagaimana
untuk mengambil data.
2. Non-Procedural DML
Sebuah bahasa yang memungkinkan pengguna untuk
menyatakan data apa yang diperlukan daripada bagaimana
harus diambil.
2.1.4 Siklus Hidup Aplikasi Basis Data
Sebuah aplikasi basis data tidak begitu saja tiba-tiba terbentuk. Ada
sebuah proses dan pemeliharaan dibalik adanya sebuah basis data yang baik
dan stabil sehingga dapat dimanfaatkan sesuai yang diharapkan.
Menurut Connolly dan Begg (2010, p315), siklus hidup aplikasi basis
data adalah sebagai berikut:
1. Perencanaan Basis Data (Database Planning)
Aktivitas-aktivitas yang memungkinkan perancangan basis data
berjalan dengan sebaik-baiknya.
2. Definisi Sistem (System Definition)
Dalam proses ini ditentukan cakupan sistem dan batasan-batasan dari
sistem basis data yang akan dirancang.
3. Pengumpulan dan Analisis Kebutuhan (Requirement Collection and
Analysis)
Langkah ketiga ini dilakukan proses pengumpulan dan analisa
informasi yang ada pada organisasi serta untuk menemukan
kebutuhan-kebutuhan akan basis data.
4. Perancangan Basis Data (Database Design)
Pada tahap ini dilakukan perencaan perancangan basis data
disesuaikan dengan misi dan kebutuhan organisasi.
16
5. Pemilihan DBMS (DBMS Selection)
Melakukan pemilihan DBMS yang sesuai dengan sistem basis data
yang ada.
6. Perancangan Aplikasi (Application Design)
Merancang user interface dan program aplikasi
7. Prototyping
Membangun sebuah model kerja dari sistem basis data
8. Implementasi (Implementation)
Proses penerepan desain aplikasi secara real.
9. Data Conversion and Loading
Proses pemindahan data yang ada dan dibutuhkan kedalam sistem
basis data yang baru.
10. Pengujian (testing)
Menjalankan sistem basis data yang ada dengan tujuan utama untuk
menemukan kesalahan pada sistem.
11. Operational maintanance
Tahap ini adalah tahap monitoring yang berguna untuk memelihara
sistem basis data.
17
Gambar 2.1 Tahapan Siklus Hidup Aplikasi Basis
Sumber : Connolly dan Begg (2010, p314)
2.1.4.1
Perencanaan Basis Data (Database Planning)
Sebelum memulai perancangan basis data dalam sebuah
organisasi, diperlukan sebuah tahapan perencanaan basis data terlebih
dahulu agar tahapan-tahapan berikutnya dapat berjalan dengan lancar
sehingga menghasilkan basis data yang baik.
Menurut Connolly dan Begg (2010, p313-315), perencanaan
basis data (database planning) adalah kegiatan-kegiatan manajemen
yang
memungkinkan
tahapan-tahapan
dalam
siklus
hidup
pengembangan basis data dapat direalisasikan seefektif dan seefisien
mungkin. Perencanaan basis data harus dapat di integrasikan dengan
18
keseluruhan strategi sistem informasi dari organisasi. Terdapat tiga isu
utama yang dilibatkan dalam merumuskan sebuah strategi sistem
informasi, yaitu:
1. Identifikasi dari rencana dan tujuan perusahaan dengan
menentukan kelanjutan kebutuhan sistem informasi yang
diperlukan.
2. Mengevaluasi sistem informasi yang ada saat ini untuk
menentukan kekuatan-kekuatan dan kelemahan-kelemahan
yang ada saat ini.
3. Penilaian terhadap peluang teknologi informasi yang dapat
menghasilkan keuntungan yang kompetitif.
Sebuah langkah awal yang penting dalam perencanaan basis
data adalah menggambarkan dengan jelas mission statement untuk
sistem basis data. Mission statement menjelaskan tujuan-tujuan utama
dari basis data sistem.
2.1.4.2
Definisi Sistem (System Definition)
Dalam proses definisi sistem ditentukan batasan-batasan
mengenai sistem basis data yang akan dibangun dan pandangan utama
dari calon penggunanya. Hal ini sangat perlu dilakukan untuk
memastikan basis data yang sudah selesai dibangun dapat dijalankan
sesuai dengan kebutuhan dan apa yang diharapkan pengguna.
Menurut Connolly dan Begg (2010, p316), definisi sistem
(system definition) menjelaskan apa yang diperlukan dari sistem basis
data
dan
pandangan-pandangan
utama
pengguna.
Sebelum
mengusahakan untuk mendesain sebuah sistem basis data, sangat
penting untuk mengidentifikasi batasan-batasan dari sistem yang akan
diteliti dan bagaimana itu akan berinteraksi dengan bagian-bagian lain
dari sistem informasi organisasi. Sangat penting memasukan batasanbatasan sistem tidak hanya berupa pengguna-pengguna dan area–area
aplikasi yang ada saat ini, tapi juga pengguna-pengguna dan area-area
yang akan ada kemudian.
19
2.1.4.3
Pengumpulan dan Analisis Kebutuhan (Requirement
Collection and Analysis)
Salah satu tahap dalam siklus hidup pengembangan basis data
adalah mengumpulkan informasi mengenai organisasi atau kelompok
pengguna dan bagian apa saja yang akan didukung oleh database
nantinya.
Connolly dan Begg (2010, p316-317) menjelaskan tahap ini
sebagai proses pengumpulan dan analisis informasi tentang bagian
dari organisasi yang didukung oleh sistem basis data, dan
menggunakan informasi ini untuk mengidentifikasi kebutuhankebutuhan untuk sistem yang baru. Tahap ini melibatkan kumpulan
dan analisa informasi mengenai bagian dari organisasi yang akan
dilayani oleh sistem basis data. Informasi yang dikumpulkan untuk
tampilan pengguna utama termasuk :
a. Penjelasan mengenai penggunaan data.
b. Detail-detail mengenai bagaimana data akan digunakan.
c. Kebutuhan-kebutuhan tambahan untuk sistem basis data yang
baru.
Salah satu kegiatan penting yang berhubungan dengan tahap
ini adalah memutuskan bagaimana menangani situasi dimana ada
lebih dari satu pandangan pengguna untuk sistem basis data. Ada tiga
pendekatan utama untuk menangani kebutuhan-kebutuhan dari sistem
basis data yang memiliki lebih dari satu pandangan pengguna:
1. Pendekatan terpusat (centralized approach):
Kebutuhan terhadap pandangan-pandagan pengguna disatukan
dalam
sebuah
sistem
basis
data.
Sebuah
data
model
merepresentasikan semua pandangan pengguna yang dibuat pada
tahap desain basis data.
2. Pendekatan
pandangan
terintegerasi
(the
view
integration
approach):
Kebutuhan-kebutuhan untuk setiap pandangan pengguna tetap
secara terpisah. Data model merepresentasian detip pandangan
penguna yang dibuat dan digabungan emudian saat tahap desain
basis data berlangsung.
20
3. Pendekatan dengan kombinasi keduanya (a combination of both
approahes).
2.1.4.4
Perancangan Basis Data (Database Design)
Setelah semua informasi mengenai perancangan basis data
telah lengkap maka dapat dilakukan perancangan basis data, yaitu
mendesain basis data yang akan dihasilkan dengan berbagai
pendekatan.
Menurut Connolly dan Begg (2010, p320-321), perancangan
basis data (database design) merupakan proses pembuatan suatu
desain untuk sebuah basis data yang akan mendukung operasional dan
tujuan suatu perusahaan.
Ada dua pendekatan untuk mendesain sebuah basis data, yaitu:
1. Pendekatan bottom-up, dimulai pada tingkat awal dari atribut
(properti dari entitas dan relationship), melalui analisis dari
asosiasi antar atribut, dikelompokkan menjadi hubungan yang
merepresentasikan jenis-jenis entitas dan hubungan antar entitas.
Pendekatan ini cocok untuk mendesain basis data yang sederhana
dengan jumlah atribut yang tidak banyak
2. Pendekatan top-down, digunakan pada basis data yang lebih
kompleks. Dimulai dengan pengembangan dari model data yang
mengandung beberapa entitas dan hubungan tingkat tinggi,
kemudian menggunakan perbaikan top-down berturut-turut untuk
mengidentifikasikan entitas, hubungan dan atribut berkaitan
tingkat rendah. Pendekatan ini biasanya digambarkan melalui
Entity Relationship (ER).
Menurut Connolly dan Begg , perancangan basis data
(database design) dibagi dalam tiga tahapan, yaitu:
Langkah 1: Membuat Model Data Konseptual
Proses membangun suatu model berdasarkan informasi
yang
digunakan
oleh
perusahaan,
tanpa pertimbangan
perencanaan fisik. Model data dibangun dengan menggunakan
21
informasi dalam spesifikasi kebutuhan pengguna. Model data
konseptual merupakan sumber informasi untuk tahap desain
logikal.
Perancangan basis data konseptual adalah proses
membangun suatu model data yang digunakan dalam suatu
perusahaan, dan bersifat independen dari semua pertimbangan
fisik. (Connolly dan Begg, 2010, p470).
Tujuannya untuk membangun suatu model data konseptual
yang sesuai dengan kebutuhan dari perusahaan.
Langkah 1.1: Mengidentifikasikan Tipe Entity
Tujuannya
untuk
mengidentifikasi
tipe
entitas
yang
diperlukan.
Langkah 1.2: Mengidentifikasi Tipe Relasi
Tujuannya untuk mengidentifikasi tipe relasi antara beberapa
tipe entitas yang telah teridentifikasi.
Langkah 1.3: Mengidentifikasikan dan Mengasosiasikan
Suatu Entity atau Tipe Relasi
Tujuannya untuk mengidentifikasikan dan mengasosiasikan
atribut dari entitas atau tipe relasi.
Langkah 1.4: Menentukan Domain Atribut
Tujuannya untuk menentukan domain atribut pada model data
konseptual.
Langkah 1.5: Menentukan Candidate Key dan Primary Key
Tujuannya untuk mengidentifikasikan candidate key dari
setiap tipe entitas, dan jika terdapat lebih dari satu candidate
key, maka dipilih satu menjadi primary key dan sisanya
menjadi alternate key.
Langkah 1.6: Menggunakan Enhanced Modelling Concepts
(langkah optional)
Tujuannya untuk mempertimbangkan penggunaan konsep
enhanced modeling concepts, seperti spesialisasi, generalisasi,
aggregasi, dan komposisi.
22
Langkah 1.7: Memeriksa Redudansi
Tujuannya untuk memeriksa apakah ada redudansi dalam
model basis data. Apabila terdapat redudansi, maka dapat
dihilangkan dengan cara menguji kembali hubungan one-toone dan menghilangkan relasi redudansi.
Langkah 1.8: Memvalidasi Model Konseptual Lokal
dengan Transaksi User
Tujuannya untuk memastikan bahwa model data konseptual
mendukung kebutuhan transaksi oleh user. Dua pendekatan
untuk
memastikan
model
data
konseptual,
yaitu:
mendefinisikan transaksi dan menggunakan alur transaksi.
Langkah 1.9: Me-review Model Data Konseptual Lokal
dengan User
Tujuannya untuk me-review model data konseptual bersama
user untuk memastikan bahwa model yang ada sudah sesuai
dengan yang diminta.
Langkah 2: Membuat dan Memvalidasi Model Data
Logikal
Proses pembuatan suatu model informasi yang
digunakan perusahaan berdasarkan pada model data yang
spesifik, tetapi tidak tergantung dari Database Management
System (DBMS) yang khusus dan pertimbangan fisik yang
lain. Model data konseptual yang telah dibuat sebelumnya,
diperbaiki dan dipetakan ke dalam model data logikal.
Tujuannya untuk membuat model data logikal dari model data
konseptual dan memvalidasikan model untuk memastikan
strukturnya benar dan memastikan bahwa model tersebut
mendukung transaksi yang diminta.
Langkah 2.1: Menurunkan Relasi Untuk Model Data
Logikal
Tujuannya untuk membuat suatu relasi untuk model data
logikal yang merepresentasikan suatu tipe entitas, relasi, dan
atribut yang telah diidentifikasi. Pendeskripsian bagaimana
23
relasi dapat diturunkan dari struktur model data yang ada,
antara lain:
•
Tipe entitas kuat
•
Tipe entitas lemah
•
Tipe relasi binary one-to-many (1:*)
•
Tipe relasi binary one-to-one (1:1)
•
Tipe relasi rekursif one-to-one (1:1)
•
Tipe relasi superclass/subclass
•
Tipe relasi binary many-to-many (*:*)
•
Tipe relasi kompleks
•
Atribut multi-valued
Langkah 2.2: Memvalidasi Relasi dengan Normalisasi
Tujuannya untuk memvalidasi relasi dalam model data logikal
dengan menggunakan teknik normalisasi.
Menurut Connolly dan Begg (2010, p416) normalisasi
adalah sebuah teknik untuk menghasilkan suatu set hubungan
dengan properti yang diinginkan, sesuai kebutuhan data dari
suatu perusahaan. Berikut beberapa istilah yang perlu
diketahui sebelum tahap-tahap dalam normalisasi dijelaskan.
1. Data Redundacy
Menurut Connolly dan Begg (2010, p418) tujuan
utama dari desain basis data relasional adalah untuk
mengelompokkan
atribut-atribut
ke
dalam
relasi-relasi
sehingga meminimalisasi redundansi data dan mengurangi
penggunaan tempat penyimpanan yang dibutuhkan oleh
sebuah relasi dasar. Masalah-masalah yang terkait dengan
redundansi dapat dijelaskan dengan membandingkan relasi
Staff
dan
Branch
dengan
relasi
StaffBranch.
Relasi
StaffBranch memiliki data redundan, yaitu detail dari branch
dituliskan berulang-ulang untuk setiap staff. Sebaliknya,
informasi mengenai branch muncul hanya satu kali pada relasi
Branch dan hanya branchNo saja yang diulang dalam relasi
24
Staff, untuk merepresentasikan dimana setiap staff tersebut
bekerja.
Tabel 2.1 Contoh Data Redundancy
Sumber: Connolly dan Begg (2010, p419)
2. Update Anomalies
Menurut Connolly dan Begg (2010, p419) relasi yang
mengandung informasi yang redundan dapat diakibatkan oleh
update anomalies. Beberapa tipe dari update anomalies,
diantaranya Insertion, Deletion, dan Modification.
3. Functional Dependency
Menurut Connolly dan Begg (2010, p420) merupakan
konsep inti yang terkait dengan normalisasi. Functional
dependency menjelaskan relationship antar atribut-atribut
dalam relasi. Misalkan jika A dan B adalah atribut dari suatu
relasi R, B dikatakan Functionally Dependent pada A
(dinotasikan A --> B), jika setiap nilai A dihubungkan dengan
tepat satu nilai B. ( A dan B masing-masing dapat terdiri atas
satu atau lebih atribut). Functional dependency merupakan
sifat dari arti semantik suatu atribut dalam sebuah relasi.
Selanjutnya
akan dijelaskan mengenai normalisasi
beserta tahap-tahap didalamnnya:
Empat bentuk normal yang biasa digunakan yaitu:
25
1. UNF
Sebuah tabel yang berisi satu atau lebih kelompok data
yang berulang. UNF biasanya didapat dengan memindahkan
dari sumber informasi yang didapat seperti nota atau faktur.
2. 1NF
Suatu relasi dimana setiap baris dan kolom hanya
berisi satu nilai. Kelompok data yang berulang dan
perhitungan akan dihilangkan dalam proses ini.
3. 2NF
Suatu relasi yang ada dalam 1NF dan setiap atribut
yang
merupakan
non-primary-key
bersifat
sepenuhnya
bergantung fungsional pada primary key. Ketergantungan
parsial akan dihilangkan dalam proses ini.
4. 3NF
Suatu relasi yang ada dalam 1NF dan 2NF dan dimana
tidak ada atribut non-primary-key yang bergantung transitif
terhadap primary key.
Terdapat bentuk fourth normal form (4NF) dan fifth
normal form (5NF) untuk situasi yang jarang terjadi.
Berdasarkan pada functional dependencies antar atribut
dalam relasi. Sebuah relasi dapat dinormalisasi kedalam
bentuk tertentu untuk mengatasi kemungkinan terjadinya
pengulangan dari update yang tidak baik.
Langkah 2.3: Memvalidasi Relasi dengan Transaksi User
Tujuannya untuk memastikan bahwa relasi pada model data
logikal mendukung transaksi yang diminta user.
Langkah 2.4: Mendefinisikan Kendala Integritas
Tujuannya untuk mendefinisikan batasan-batasan integritas
yang ada, dimana kontrol integritas mengandung batasanbatasan yang dapat diterapkan untuk mencegah basis data
menjadi tidak konsisten. Dalam hal ini ada enam tipe kendala
integritas, antara lain:
26
•
Required data
Pada
beberapa
atribut-atribut
harus
selalu
mengandung sebuah nilai yang valid; dengan kata lain
atribut-atribut tersebut tidak bisa bernilai null. Dengan
contoh setiap anggota staf harus diasosiasikan dengan
posisi pekerjaan.
•
Attribute domain constraints
Setiap atribut memiliki domain, yaitu sebuah set
dari nilai yang diijinkan atau legal. Sebagai contoh jenis
kelamin pada anggota staf antara “M” atau “F”, sehingga
domain dari atribut jenis kelamin adalah sebuah karakter
string tunggal antara “M” atau “F”.
•
Multiplicity
Multiplicity mewakili batasan-batasan yang ditempatkan
pada hubungan-hubungan abtara data dalam basis data.
Contohnya syarat dari sebuah kantor cabang boleh
memiliki banyak staf dan seorang member staf bekerja
hanya disebuah kantor cabang.
•
Entity integrity
Primary key dari sebuah entitas tidak boleh kosong
atau memiliki nata dengan nilai null. Contohnya setiap
tuple dari hubungan staf harus memiliki nilai dari primary
key attribute, “StafNo”.
•
Referential integrity
Sebuah foreign key menghubungkan setiap tuple
dalam child relation ke tuple di parent relation yang berisi
nilai kandidat key yang memiliki nilai yang sama.
Referential integrity berarti setiap foreign key
memuat
sebuah nilai, yang mana nilai tersebut merujuk pada
sebuah tuple yan eksis pada
parent relation. Sebagai
contoh hubungan Staf mengatur PropertyForRent. Atribut
stafNo
pada
PropertyForRent,
menghubungkan
27
PropertyForRent pada tuple dalam Staf yang memuat
anggota staf yang mengatur properti tersebut.
•
General constraints
Pembaharuan-pembaharuan terhadap entitas-entitas
sehingga dapat dikontrol oleh batasan-batasan yang
mewakili pembaharuan-pembaharuan tersebut. Contohnya
perusahaan memiliki aturan yang mencegah seorang
anggota staf mengatur lebih dari 100 properti pada waktu
yang bersamaan.
Langkah 2.5: Me-review Model Data Logikal dengan User
Tujuannya untuk memastikan bahwa model data logikal telah
merepresentasikan
sesuai
dengan
kebutuhan
data
dari
perusahaan.
Langkah 2.6: Menggabungkan Model Data Logikal ke
Model Global (langkah optional)
Tujuannya
untuk
menggabungkan
model
data
logikal
individual menjadi sebuah model data logikal global dari suatu
perusahaan.
Berikut ini adalah detail mengenai langkah-langkah yang telah
disebutkan diatas, antara lain:
Langkah 2.6.1: Menggabungkan Model Data Logikal ke
Model Global
Tujuannya untuk menggabungkan model data logikal individu
menjadi model data logikal global bagi sebuah perusahaan.
Langkah 2.6.2: Memvalidasi Model Data Logikal Global
Tujuannya untuk memvalidasi relasi yang dibuat dari model
data logikal global dengan teknik normalisasi dan memastikan
bahwa relasi yang dibuat mendukung transaksi.
Langkah 2.6.3: Me-review Model Data Logikal Global
dengan User
Tujuannya untuk memastikan bahwa model data logikal global
itu telah merepresentasikan kebutuhan data dari perusahaan.
28
Langkah 2.7: Menggabungkan Model Data Logikal ke
Model Global (langkah optional)
Tujuannya untuk menentukan apakah ada perubahan yang
penting di masa yang akan datang dan juga memperhatikan
agar model data logikal global dapat mengakomodasi
perubahan tersebut.
Langkah 3: Perancangan Fisikal Menerjemahkan Model
Data Logikal ke DBMS Pilihan
Proses untuk menghasilkan gambaran dari implementasi basis
data pada tempat penyimpanan, menjelaskan dasar dari relasi,
organisasi file, dan indeks yang akan digunakan untuk efisiensi
data dan menghubungkan beberapa integrity constraints dan
pengukuran keamanan.
Tujuannya untuk menghasilkan skema relasional basis data
dari model data logikal yang dapat diimplementasikan pada
DBMS pilihan.
Langkah 3.1: Merancang Relasi Dasar
Tujuannya untuk memutuskan bagaimana merepresentasikan
relasi dasar yang diidentifikasikan dalam model data logikal
pada DBMS pilihan.
Langkah 3.2: Merancang Representasi Dari Data Turunan
(Derived Data)
Tujuannya untuk memutuskan bagaimana merepresentasikan
semua data turunan pada model data logikal pada DBMS
pilihan.
Langkah 3.3: Merancang Batasan Umum (General
Constraints)
Tujuannya untuk merancang batasan umum pada DBMS
pilihan.
Langkah 4: Merancang Organisasi File dan Indeks
Tujuannya untuk menentukan pengorganisasian file yang
optimal untuk menyimpan relasi dasar dan indeks yang
29
diperlukan untuk mencapai performance yang diharapkan,
yaitu dengan cara menyimpan berbagai relasi dan tuples pada
media penyimpanan sekunder.
Langkah 4.1: Menganalisis Transaksi
Tujuannya untuk memahami fungsi dari suatu transaksi yang
dijalankan pada basis data untuk menganalisa transaksi yang
penting.
Langkah 4.2: Memilih Organisasi File
Tujuan dari langkah ini adalah untuk menentukan organisasi
file yang optimal untuk setiap relasional basis data, jika
diijinkan oleh DBMS. Misalnya jika ingin mengambil datadata staf menurut ururtan alfabet nama, maka penyortiran file
berdasarkan nama adalah sebuah organisasi file yang baik.
Langkah 4.3: Memilih Indeks
Tujuannya untuk menentukan penambahan indeks dapat
meningkatkan performansi dari suatu sistem.
Langkah 4.4: Memperkirakan Kapasitas Penyimpanan
yang Dibutuhkan
Tujuannya untuk mengestimasi ukuran kapasitas disk yang
diperlukan untuk basis data.
Langkah 5: Merancang User View
Tujuannya untuk merancang user view yang diidentifikasi
selama pengumpulan informasi dan analisis dari siklus hidup
aplikasi basis data.
Langkah 6: Merancang Mekanisme Keamanan
Tujuannya untuk merancang ukuran keamanan untuk basis
data yang telah dispesifikasikan user.
2.1.4.5
Pemilihan DBMS (DBMS Selection)
Salah satu kegiatan yang penting dalam proses perancangan
sistem basis data adalah pemilihan DBMS yang perlu dilakukan
30
sesuai dengan kebutuhan dari calon pengguna dan bagaimana data
akan dikelolah nantinya.
Menurut Connolly dan Begg (2010, p325-329), pemilihan
DBMS yang sesuai untuk mendukung aplikasi basis data mencakup:
1. Mendefinisikan syarat-syarat referensi studi.
Menentukan tujuan, batasan masalah dan tugas yang harus
dilakukan.
2. Mendaftar dua atau tiga jenis produk
Membuat daftar barang-barang, misalnya darimana barang
didapat,
berapa
biayanya,
serta
bagaimana
bila
ingin
mendapatkannya.
3. Mengevaluasikan produk.
Barang-barang yang ada dalam barang diteliti lebih lanjut untuk
mengetahui kelebihan dan kekurangan barang tersebut.
4. Merekomendasikan pilihan dan membuat laporan.
Langkah terakhir dari DBMS, yaitu mendokumentasikan proses
dan untuk menyediakan pernyataan mengenai kesimpulan dan
rekomendasi terhadap salah satu produk DBMS.
2.1.4.6
Perancangan Aplikasi (Application Design)
Sistem basis data yang ada sebaiknya dapat digunakan secara
maksimal oleh pengguna sehingga dapat berjalan dengan sebagaimana
mestinya. Karena itu interaksi antara pengguna dengan basis data
harus berjalan dengan baik.
Interaksi antara pengguna dengan basis data sangat penting
untuk memastikan bahwa pengguna menjalankan pengelolahan basis
data sesuai dengan maksud dan tujuannya sehingga menjadi penting
untuk merancang sistem antar muka yang dapat dimengerti oleh
pengguna.
Menurut Connolly dan Begg (2010, p329), pengertian
perancangan
aplikasi
(application
design)
adalah
merancang
antarmuka dan program aplikasi yang akan menggunakan dan
memproses basis data. Dalam perancangan aplikasi harus memastikan
31
semua kebutuhan-kebutuhan dari spesifikasi kebutuhan pengguna
(user requirement specification) yang menyangkut perancangan
aplikasi program yang mengakses basis data dan merancang transaksi
yaitu cara akses ke basis data dan perubahannya terhadap isi basis
data (retrieve, update, dan kegiatan keduanya). Antarmuka yang
dirancang harus memberikan informasi yang dibutuhkan, sehingga
pengguna aplikasi mudah mempelajari dan mudah menggunakannya.
2.1.4.7
Prototyping
Evaluasi sebelum pengimplentasian adalah langkah penting
untuk mendapatkan sebuah gambaran sistem basis data yang ada
melalui beberapa pemodelan.
Prototyping adalah membangun sebuah model kerja dari
aplikasi basis data yang mengizinkan user untuk memvisualisasikan
dan mengevaluasi gambaran sistem secara menyeluruh (Connolly dan
Begg, 2010, p333).
Tujuan utama prototyping adalah memungkinkan pengguna
menggunakan prototype untuk mengidentifikasi fitur sistem, apakah
sudah bekerja dengan baik atau belum. Terdapat dua strategi dalam
merancang prototype, yaitu:
a. Requirements prototyping, menggunakan sebuah prototype untuk
menentukan kebutuhan sistem basis data yang diusulkan dan
ketika sudah terpenuhi, prototype tidak digunakan lagi.
b. Evolutionary prototyping, menggunakan sebuah prototype untuk
tujuan yang sama. Namun, jika kebutuhan sudah terpenuhi,
prototype tersebut tidak dibuang tetapi untuk selanjutnya akan
dikembangkan menjadi aplikasi basis data yang akan berjalan.
2.1.4.8
Implementasi (Implementation)
Setelah semua persiapan dan perancanga dianggap telah
selesai, maka sistem basis data sudah siap untuk diimplementasikan
secara real dalam organisasi.
Menurut Connolly dan Begg (2010, p333-334), implementasi
adalah realisasi fisik basis data dan rancangan aplikasi. Dalam tahap
32
penyelesaian desain, kita dapat menerapkan basis data dan program
aplikasi yang telah kita buat. Implementasi basis data menggunakan
Data Definition Language (DDL) yang kita pilih dalam melakukan
pemilihan DBMS atau dengan menggunakan Graphical User
Interface (GUI), yang menyediakan fungsional yang sama dengan
pernyataan DDL yang low level. Pandangan pengguna lainnya juga
diimplementasikan. Data Manipulation Language (DML) digunakan
untuk mengimplementasikan transaksi basis data di dalam bagian
aplikasi program dari tujuan DBMS.
2.1.4.9
Data Conversion and Loading
Pada saat implementasi telah dilakukan, maka diperlukan
pemindahan data lama yang berhubungan dengan basis data yang
termasuk dalam ruang lingkup sistem ke dalam sistem basis data yang
baru. Sinkronisasi data lama dan baru juga dilakukan
Menurut Connolly dan Begg (2010, p334), data conversion
and loading adalah memindahkan data dari sistem yang lama ke
sistem yang baru dan mengkonversi aplikasi yang ada untuk
dijalankan di basis data yang baru. Tahapan tersebut terjadi ketika
sistem basis data yang lama digantikan dengan sistem basis data yang
baru. Pada saat ini, suatu DBMS biasanya memiliki kegunaan untuk
memasukkan file kedalam basis data yang baru dengan tujuan agar
memungkinkan pengembang dapat mengkonversi dan menggunakan
program aplikasi dari sistem yang lama untuk digunakan oleh sistem
yang baru.
2.1.4.10 Testing
Pengujian terhadap sebuah sistem basis data yang telah
diimplementasikan perlu dilakukan untuk mengetahui kekurangan
atau kesalahan yang ada pada sistem bila ada yang kemudian bisa
ditindaklanjuti.
Testing adalah proses menjalankan aplikasi dengan tujuan
untuk menemukan kesalahan yang terdapat dalam program aplikasi
dan memvalidasi sesuai keinginan user (Connolly dan Begg, 2010,
33
p334).
Sebelum
digunakan,
sistem
basis
data
yang
baru
dikembangkan harus diuji secara menyeluruh. Hal ini dicapai dengan
menggunakan strategi uji yang sudah direncanakan dan data yang
realistis sehingga keseluruhan proses pengujian sesuai dengan metode
dan dilaksanakan dengan aturan yang ada.
2.1.4.11 Operational Maintenance
Perawatan dan pengawasan terhadap basis data yang ada perlu
dilakukan untuk menjaga kualitas basis data berjalan dengan baik.
Operational
maintenance
merupakan
proses
untuk
mengawasi dan memelihara sistem yang sudah terpasang (Connolly
dan Begg, 2010, p335). Pada tahap ini sistem beralih ke tahapan
pemeliharaan. Yang termasuk aktivitas dari tahapan pemeliharaan
diantaranya:
1. Memantau kinerja dari sistem.
Jika kinerjanya menurun di bawah level yang dapat diterima,
mungkin diperlukan untuk mengorganisasi kembali basis data
yang ada.
2. Pemeliharaan dan pembaharuan sistem basis datanya (jika
diperlukan).
Ketika basis data sepenuhnya bekerja, pemantauan harus
memastikan kinerjanya dapat berada dalam tingkat yang dapat
diterima.
Sebuah
DBMS
biasanya
menyediakan
berbagai
kegunaan (utilities) untuk membantu administrasi basis data
termasuk kegunaan (utilities) untuk mengisi data ke dalam basis
data dan untuk memantau sistem. Kegunaan ini memperbolehkan
sistem pemantauan untuk memberikan informasi seperti tentang
penggunaan basis data dan strategi eksekusi query. Database
administrator
dapat
menggunakan
informasi
ini
untuk
memperbaiki sistem agar dapat memberikan kinerja yang lebih
baik.
34
2.1.5 Entity-Relationship Diagram
2.1.5.1
Entity Types
Entitas adalah salah satu bagian pasti dimiliki oleh basis data.
Setiap basis data memiliki entitas-entitas di dalamnya yang memiliki
keberadaan dan terdiri dari berbagai objek.
Entity types adalah sekumpulan objek yang telah ditentukan
oleh perusahaan dengan memiliki properti yang sama
dan
keberadaannya yang berdiri sendiri (Connolly dan Begg, 2010, p372).
Terdapat dua jenis tipe entitas (Connolly dan Begg, 2010, p383),
yaitu:
1. Strong entity types, entitas yang keberadaannya tidak
bergantung pada entitas lainnya. Karakteristik dari strong
entity yaitu setiap entitas di identifikasikan secara unik
menggunakan atribut primary key dari entitas tersebut.
2. Weak entity types, entitas yang keberadaannya bergantung
pada entitas lainnya. Karakteristik dari weak entity yaitu setiap
entitas tidak bisa diidentifikasikan secara unik menggunakan
atribut yang terkait dengan entitas tersebut.
2.1.5.2
Relationship Types
Entitas-entitas didalam basis data memiliki hubungan dengan
satu atau lebih entitas yang lain dalam sebuah basis data yang
terintegerasi. hubungan-hubungan antara tiap entitas tidak semuanya
sama dan memiliki maknanya masing-masing yang harus dapat
diartikan dengan tepat.
Relationship types adalah hubungan antara satu entitas dengan
entitas lain dan mempunyai arti (Connolly dan Begg, 2010, p374).
35
Gambar 2.2 Relationship Branch has Staff
Sumber: Connolly dan Begg (2010, p374)
Relationship occurrence adalah suatu gabungan yang dapat
diidentifikasikan secara unik, termasuk suatu kejadian dari setiap
entitas yang berpartisipasi (Connolly dan Begg, 2010, p375). Derajat
dari tipe relasi adalah jumlah jenis entitas yang berpartisipasi dalam
suatu hubungan. Entitas yang terlibat dalam jenis hubungan tertentu
disebut sebagai participant, sedangkan jumlah peserta dalam suatu
jenis relasi disebut derajat relasi. Oleh karena itu, derajat relasi
menunjukkan jumlah entitas yang terlibat dalam suatu relasi.
Relationship yang paling umum adalah binary relationship.
Macam-macam binary relationship yaitu :
1. one-to-one (1:1)
Gambar 2.3 ER Diagram of Staff and Branch Entities and
General Constraint
Sumber: Connolly dan Begg (2010, p374)
36
2. one-to-many(1:*)
Gambar 2.4 ER Diagram of Staff and PropertyForRent
Entities and General Constraint
Sumber: Connolly dan Begg (2010, p388)
3. many-to-many(*:*)
Gambar 2.5 ER Diagram of Staff and PropertyForRent
Entities and General Constraint
Sumber: Connolly dan Begg (2010, p389)
2.1.5.3
Attributes
Karakteristik dan detail dari sebuah entiti dapat dijelaskan
melalui atribut-atribut serta jenisnya yang tekandung didalam sebuah
entitas. Atribut merupakan bagian dari entitas yang mana entitas tidak
dapat berdiri tanpa ada atribut didalamnya.
Attribute adalah sifat atau properti dari sebuah tipe entitas atau
tipe relasi (Connolly dan Begg, 2010, p379). Attribute domain adalah
37
sekumpulan nilai yang mempunyai satu atau lebih atribut. Setiap
atribut yang dihubungkan dengan nilai-nilai tertentu disebut domain.
Terdapat berbagai macam atribut (Connolly dan Begg, 2010,
p379-380), yaitu:
1) Simple Attribute, yaitu atribut yang disusun dari komponen
tunggal. Simple attribute tidak bisa dibagi menjadi komponen
yang lebih kecil lagi, dikenal juga sebagai atomic attributes.
2) Composite Attribute, yaitu atribut yang terdiri dari beberapa
komponen, dimana masing-masing komponen memiliki
keberadaan yang independen. Misalkan atribut Address dapat
terdiri dari Street, City, PostCode.
3) Single-valued Attribute, yaitu atribut yang mempunyai nilai
tunggal untuk setiap kejadian. Misalnya entitas Branch
memiliki satu nilai untuk atribut branchNo pada setiap
kejadian.
4) Multi-valued
Attribute,
yaitu
atribut
yang
mempunyai
beberapa nilai untuk setiap kejadian. Misal entitas Branch
memiliki beberapa nilai untuk atribut telpNo pada setiap
kejadian.
5) Derived Attribute, yaitu atribut yang memiliki nilai yang
dihasilkan dari satu atau beberapa atribut lainnya dan tidak
harus berasal dari satu entitas.
2.1.5.4
Keys
Penggunaan key merupakan cara untuk mempertegas identitas
atau membedakan sebuah entitas dengan entitas yang lain. Key dapat
diartikan sebagai sebuah atribut atau gabungan beberapa atribut yang
dapat membedakan sebuah entitas dengan entitas yang lain.
1) Candidate Key, yaitu jumlah minimal atribut-atribut yang
dapat mengidentifikasikan setiap kejadian/record secara unik
(Connolly dan Begg, 2010, p381).
2) Primary Key, yaitu candidate key yang dipilih untuk
mengidentifikasikan setiap kejadian/record dari suatu entitas
secara unik (Connolly dan Begg, 2010, p381).
38
3) Composite Key, yaitu candidate key yang terdiri dari dua atau
lebih atribut (Connolly dan Begg, 2010, p382).
4) Alternate Key, yaitu candidate key yang tidak dipilih sebagai
primary key (Connolly dan Begg, 2010, p381).
5) Foreign Key, yairu sebuah primary key pada sebuah entitas
yang digunakan pada entitas lain untuk mengidentifikasi
sebuah relationship (Connolly dan Begg, 2010, p381).
Gambar 2.6 ER Diagram of Staff and Branch Entities and
their Attributes
Sumber: Connolly dan Begg (2010, p382)
2.1.6 Arsitektur ANSI-SPARC Three Level
Sebuah terminologi dan arsitektur sangat diperlukan sebagai acuan
untuk sebuah sistem basis data.
Dalam buku Connolly dan Begg (2010, p87-90), The American
National Standards Institute (ANSI) Standards Planning and Requirements
Commitee (SPARC) membuat sebuah terminologi dan arsitekrur untuk sistem
basis data pada tahun 1975 dengan tiga level pendekatan dengan sebuah
sistem katalog.
1. Level eksternal
39
Merupakan pandangan pengguna terhadap basis data. Level ini
mendeskripsikan bagian basis data yang berhubungan dengan
masing-masing pengguna
2. Level konseptual
Kelompok pandangan dari basis data. Level ini mendeskripsikan
apa data yang disimpan dalam basis data dan apa hubungan antara
data-data yang ada.
3. Level Internal
Adalah representasi fisik dari basis data pada komputer. Level ini
mendeskripsikan bagaimana data disimpan dalam basis data.
Gambar 2.7 ANSI-SPARC Three-Level architecture
2.1.7 Integrasi Data
Penyimpanan data yang terintegrasi dapat membantu proses yang
berhubungan dengan pengolahan data dalam satu perusahaan menjadi lebih
mudah dan dan cepat.
Menurut Han, Kamber dan Pei (2012, p93), integrasi data adalah
penggabungan data dari berbagai sumber data. Integrasi yang baik dapat
mengurangi dan menghindari redudansi dan ketidakkonsekuenan dalam
menghasilkan sebuah set data. Hal tersebut diperkuat oleh Zhao dan Cen
40
(2014, p159) yang menyatakan bahwa integrasi data menggabungkan data
dari berbagai sumber kedalam penyimpanan data koheren (penyimpanan data
yang logis). Berbagai sumber tersebut dapat berupa berbagai basis data, data
cubes atau file-file.
Dari pernyataan-pernyataan diatas dapat dikatakan bahwa integrassi
data memiliki tujuan untuk menggabungkan berbagai sumber data yang
kemudian dapat diambil dengan mengurangi berbagai resiko seperti
redudansi dan data yang tidak sesuai.
2.2
Teori Khusus
2.2.1 Penjualan
Penjualan merupakan sumber hidup suatu perusahaan, karena dari
penjualan dapat diperoleh laba serta suatu usaha memikat konsumen yang
diusahakan untuk mengetahui daya tarik mereka sehingga dapat mengetahui
hasil produk yang dihasilkan. Pengertian penjualan dapat diperjelas dari
beberapa teori-teori sebagai berikut.
Menurut Reeve (2009, p255), penjualan adalah total biaya yang
dibebankan kepada customer barang yang dijual termasuk penjualan tunai
maupun penjualan kredit. Sedangkan, menurut Hall (2011, p335), siklus
penjualan merupakan serangkaian aktivitas bisnis yang mengubah barang
atau jasa untuk pelanggan menjadi kas.
Penjualan dari pernyataan diatas merupakan suatu usaha yang terpadu
untuk mengembangkan rencana-rencana strategis yang diarahkan pada usaha
pemuasan kebutuhan dan keinginan pembeli guna mendapatkan penjualan
yang menghasilkan laba.
2.2.2 Persediaan
Dalam suatu perusahaan, persediaan sangat berpengaruh. Khususnya
pada laporan keuangan, karena baik laporan laba/rugi maupun neraca tidak
akan dapat disusun tanpa mengetahui nilai persediaan. Dari penjelasan diatas
dapat diperjelas dengan beberapa teori-teori sebagai berikut.
Menurut Alfredson, K., et al (2007, p342), persediaan adalah asset
yang tersedia untuk dijual dalam proses bisnis biasa; atau asset yang ada
41
dalam proses produksi seperti untuk dijual; atau asset dalam bentuk material
atau supplier untuk digunakan dalam proses produksi atau dalam memberikan
pelayanan. Selain itu, menurut Stevenson (2009, p549), persediaan adalah
stok dari barang yang disimpan.
Persediaan dari pernyataan diatas merupakan jumlah barang yang
tersedia didalam gudang dan untuk dijual kepada customer.
2.2.3 Pembelian
Pembelian merupakan suatu proses untuk mengadakan dan menambah
produk dalam persediaan sebuah perusahaan. Dalam bisnis retail pembelian
dilakukan untuk memenuhi kebutuhan pelanggan.
Menurut Albecht, Stice, dan Swain (2008, p 291) pembelian
didefinisikan sebagai sistem perpetual yang semua pembelian ditambahkan
secara langsung ke dalam persediaan.
Dari pernyataan diatas, pembelian dapat diartikan sebagai sebuah
proses yang mendukung proses binis yaitu pengadaan barang untuk
menambah persediaan dan memenuhi kebutuhan pelanggan.
2.2.4 Komunikasi
Komunikasi merupakan hal yang sangat penting dalam kehidupan
manusia, karena dengan komunikasi, manusia dapat saling bertukar informasi
dan pengetahuan. Hal tersebut diperkuat oleh Evertt M. Rogers & Lawrence
Kincaid (Wiryanto, 2008, p 6) yang menyatakan bahwa komunikasi adalah
suatu proses dimana dua orang atau lebih membentuk atau melakukan
pertukaran informasi antara satu sama lain, yang pada gilirannya terjadi
saling pengertian yang sangat mendalam. Shanno dan Weaver (Wiryanto,
2008, p7) mengemukakan bahwa komunikasi adalah bentuk interaksi
manusia yang saling mempengaruhi satu sama lain, sengaja atau tidak sengaja
dan tidak terbatas pada bentuk komunikasi verbal, tetapi juga dalam hal
ekspresi muka, lukisan, seni dan sebagainya.
Komunikasi adalah hal yang tidak dapat dilepaskan dari kehidupan
manusia karena secara langsung maupun tidak langsung, sadar atau tidak
sadar, manusia pada dasarnya selalu berkomunikasi untuk melakukan
pertukaran informasi.
42
2.2.5 Telekomunikasi
Telekomunikasi merupakan bagian dari komunikasi, dimana dengan
adanya telekomunikasi dapat mempermudah setiap orang maupun organisasi
dalam bertukar informasi dimana pun dan kapan pun..
Telekomunikasi menurut UU No. 36 Tahun 1999 adalah setiap
pemancaran, pengiriman, dan atau penerimaan dari setiap informasi dalam
bentuk tanda-tanda, isyarat, tulisan, gambar, suara, dan bunyi melalui sistem
kawat, optik, radio, atau sistem elektromagnetik lainnya.
Dengan banyaknya pengguna telekomunikasi oleh orang maupun
organisasi,
membuat
berbagai
perusahaan
yang
bergerak
dibidang
komunikasi berbondong-bondong mengeluarkan produk telekomunikasi dan
juga jaringan yang memadai sehingga dapat menampung kebutuhan dari
setiap orang maupun organisasi
Sehingga dapat disimpulkan bahwa Telekomunikasi adalah semua
komunikasi yang dilakukan oleh orang ataupun organisasi dengan
menggunakan sistem elektromagnetik.
2.2.6 Pulsa
Pulsa merupakan salah satu penunjang dalam tercipta nya komunikasi
pada zaman sekarang ini. Hal ini disebabkan karena kemudahan yang
diberikan setiap provider dalam mendapatkan serta menggunakan pulsa
tersebut. Pulsa menurut KBBI (Kamus Besar Bahasa Indonesia ) adalah
satuan perhitungan biaya telepon. Para provider di Indonesia pada awalnya
menggunakan isitlah voucher, dimana arti dari voucher tersebut adalah
prepaid kredit atau kredit prabayar untuk menggunakan layanan suatu
provider. Kata voucher isi ulang digunakan karena tujuan nya mengisi
kembali kredit pada nomor prabayar yang digunakan, namun lama-kelamaan
masyarakat lebih mengenal istilah pulsa karena lebih familiar.
Dari pernyataan diatas, maka dapat di ambil kesimpulan bahwa pulsa
adalah satuan perhitungan biaya telepon yang kita bayar di depan (prabayar)
untuk dapat menggunakan layanan dari suatu provider.
Download