7 BAB 2 LANDASAN TEORI 2.1 Teori-teori Umum

advertisement
7
BAB 2
LANDASAN TEORI
2.1
Teori-teori Umum
2.1.1
Sistem Manajemen Basis Data (DBMS)
Data adalah sebuah sumber yang harus dikontrol dan dikelola. Data
yang belum dikelola belum bisa dimanfaatkan sebagai sumber informasi
(Whitten et al.2004, p522).
Menurut Connolly dan Begg (2005, p15), database adalah kumpulan
dari data yang terhubung secara logika, dan merupakan deskripsi dari data
tersebut, yang dirancang untuk memenuhi kebutuhan informasi dari suatu
organisasi.
Menurut Turban (2003, p16), basis data merupakan kumpulan file / record
yang terorganisir yang menyimpan data beserta hubungan diantara data
tersebut.
Menurut Hoffer (2002, p4), basis data adalah kumpulan data yang
terorganisir dan secara logika berkaitan. Terorganisir maksudnya data
distrukturkan sehingga mudah untuk disimpan, dimanipulasi dan diperoleh
oleh pengguna. Berkaitan maksudnya data menggambarkan daerah asal
(domain) kepentingan tertentu bagi kelompok pengguna dan pengguna dapat
menggunakan data untuk menjawab pertanyaan seputar domain itu.
8
Sedangkan menurut Silberschatz et al.(2006, p1), database adalah
kumpulan data yang menyimpan informasi-informasi yang penting bagi
perusahaan.
Relational database adalah kumpulan dari relasi yang sudah
dinormalisasikan dengan nama relasi yang jelas. Relational Database meliputi
relasi yang sudah terstruktur dengan tepat (Connolly dan Begg 2005, p74).
Menurut Silberschatz et al.(2002, p1), Database Management System
(DBMS) adalah kumpulan data yang saling berhubungan dan kumpulan dari
program-program yang mengakses data tersebut. Tujuan utama dari adanya
DBMS adalah untuk memudahkan user dalam menyimpan dan mengambil
informasi.
Menurut Elmasri dan Navathe (2000, p5), DBMS adalah sekumpulan
program yang mengizinkan user untuk membuat dan memelihara basis data.
Sedangkan menurut Connolly dan Begg (2005, p16), Database Management
System (DBMS) adalah suatu sistem perangkat lunak yang memungkinkan
user untuk mendefinisikan, membuat, memelihara, dan mengawasi akses
terhadap database. DBMS merupakan perangkat lunak yang berinteraksi baik
dengan program aplikasi maupun dengan database-nya.
Beberapa fungsi yang dimiliki oleh DBMS (Connolly dan Begg, 2005,
p16) yaitu :
a. Memungkinkan user menspesifikasikan tipe data, struktur, dan constraint
unuk disimpan dalam database, melalui Data Definition Language
(DDL).
9
b. Memungkinkan user melakukan insert, update, delete, dan retrieve data
dari database, melalui Data Manipulation Language (DML).
c. Menyediakan akses yang terkontrol ke database.
2.1.1.1
Komponen DBMS
Menurut Connolly dan Begg (2005, p18-23), ada 4 komponen
utama dalam DBMS, yaitu:
a. Hardware, dapat berupa komputer perorangan, maupun beberapa
komputer yang terhubung dalam satu jaringan.
b. Software, meliputi piranti lunak dari DBMS sendiri, program aplikasi,
sistem operasi, dan piranti lunak dari jaringan yang digunakan.
c. Data, merupakan komponen terpenting dari DBMS, berperan sebagai
penghubung antara komponen mesin dan komponen manusia.
Prosedur, meliputi petunjuk cara penggunaan sistem.
d. People, terdiri dari :
a. Data Administrator (DA) dan Database Administrator (DBA),
Data
Administrator
(DA)
bertanggung
jawab
terhadap
pengaturan sumber data, mulai dari tahap perencanaan,
pengembangan, pemeliharaan standar, kebijakan dan prosedur,
serta desain konseptual dan desain logical database, sedangkan
Database Administrator (DBA) bertanggung jawab pada
realisasi fisik dari aplikasi database,yang meliputi tahap desain
database secara fisik dan implementasi, pengaturan keamanan
10
dan
integritas data,
pengawasan performa
sistem,
dan
pengaturan database kembali jika dipandang perlu.
b. Database Designers, Ada 2 jenis Database Designers, yaitu: 1.)
logical
database
designer
yang
bertanggung
jawab
mengidentifikasi data, relasi antar data, dan constraint data yang
disimpan dalam database, dan 2) physical database designer
yang merealisasikan desain logical yang telah dibuat oleh
logical database designer.
c. Application
Developers,
implementasi
program
bertanggung
aplikasi
jawab
setelah
terhadap
database
diimplementasi.
d. End-Users, dapat dibedakan menjadi 2: 1.) naive user, yaitu
user yang tidak mengerti mengenai DBMS dan memanfaatkan
program aplikasi untuk mengakses database , 2.) sophisticated
users adalah user yang sudah terbiasa dengan DBMS dan dapat
menggunakan bahasa query.
11
2.1.2 Siklus Hidup Sistem Perkembangan Basis Data
Perencanaan database
Pendefinisian sistem
Analisis dan pengumpulan kebutuhan
Perancangan database
Perancangan conceptual database
Pemilihan DBMS
Perancangan
aplikasi
(optional)
Perancangan logical database
Perancangan physical database
Prototyping
Implementasi
(optional)
Konversi dan loading data
Testing
Pemeliharaan
Gambar 2.1 Siklus Hidup Sistem Perkembangan Basis Data
Sumber (Connolly dan Begg, 2005, p284)
Siklus hidup sistem perkembangan basis data (Database System
Development Lifecycle) ini terdiri dari tahap-tahap sebagai berikut (Connolly
dan Begg, 2005, p285):
1. Perencanaan database, merancang bagaimana tahap-tahap dalam siklus
hidup dapat direalisasikan dengan efektif dan efisien.
12
2. Pendefinisian system, menentukan batasan/ruang lingkup dari aplikasi
database.
3. Analisis dan pengumpulan kebutuhan, menganalisis dan mengumpulkan
informasi mengenai kebutuhan user untuk sistem database yang baru.
Tahap analisis dan pengumpulan kebutuhan termasuk tahap awal dari
Database System Development Lifecycle. Dalam tahap ini ditentukan
spesifikasi kebutuhan untuk sistem database yang baru. Informasi yang
didapat dari ahap ini harus disusun dalam suatu bentuk yang terstruktur,
untuk itu ada beberapa teknik yang digunakan, seperti teknik Structured
Analysis and Design (SAD), Data Flow Diagram (DFD), dan
Hierarchical Input Process Output (HIPO).
4. Perancangan
mendukung
database,
merancang
operasional perusahaan,
desain
database
yang
akan
meliputi tahap perancangan
conceptual, logical, dan physical.
5. Pemilihan DBMS, proses memilih DBMS yang sesuai dengan sistem
database.
6. Perancangan aplikasi, merancang user interface dan program aplikasi
yang menggunakan dan memproses database.
7. Prototyping, membuat model kerja dari sistem database, sehingga
memungkinkan bagi programmer atau user untuk melihat dan memeriksa
fungsi dan cara kerja sistem.
8. Implementasi, membuat bentuk nyata dari physical database dan program
aplikasi.
13
9. Konversi dan loading data, memindahkan semua data yang ada ke dalam
database baru dan melakukan penyesuaian terhadap aplikasi yang sudah
ada agar dapat digunakan dengan database yang baru.
10. Testing, mengeksekusi program aplikasi dan melakukan pengecekan
error, serta memeriksa apakah kebutuhan user terhadap sistem sudah
terpenuhi.
11. Pemeliharaan operasional, melakukan pengawasan dan pemeliharaan
sistem setelah peng-instal-an dilakukan.
2.1.2.1
Teknik Penemuan Fakta (Fact-Finding Techniques)
Fact Finding adalah proses penggunaan teknik seperti wawancara
dan kuisioner untuk mengumpulkan fakta, kebutuhan, dan menentukan
pilihan-pilihan (Connolly dan Begg 2005, p314).
Teknik ini dilakukan pada seluruh tahap dari Database System
Development Lifecycle, tetapi teknik ini sangat penting dan perlu dilakukan
terutama pada tahap awal yang meliputi perancangan database,
pendefinisian sistem, serta tahap analisis dan pengumpulan kebutuhan.
Tabel 2.1 Contoh data yang didapat dan dokumen yang dihasilkan untuk tiap
tahap dari Database SDLC
Sumber (Connolly dan Begg, 2005, p316)
Tahap dari
Database SDLC
Contoh data yang didapat
Perencanaan
Database
Tujuan dari proyek
database
Contoh dokumen yang
dihasilkan
Mission Statement dan
Mission Objectives
14
Pendefinisian
Sistem
Analisis dan
Pengumpulan
Kebutuhan
Perancangan
Database
Perancangan
Aplikasi
Pemilihan
DBMS
Prototyping
Implementasi
Konversi dan
Loading Data
Testing
Pemeliharaan
Deskripsi user views
Definisi batasan dan ruang
lingkup aplikasi database;
definisi user views
Kebutuhan user views;
Spesifikasi user dan
spesifikasi sistem, termasuk spesifikasi kebutuhan
performa dan kebutuhan
sistem
keamanan
Respon dari user untuk
Rancangan
memeriksa rancangan
conceptual/logical
logical database
database (termasuk model
ER), kamus data, dan
skema relasional;
rancangan physical
database
Respon dari user untuk
Rancangan aplikasi
memeriksa desain antar
(termasuk deskripsi
muka
program dan antar muka
pengguna
Fungsi-fungsi yang
Evaluasi dan rekomendasi
disediakan oleh DBMS
DBMS
tujuan
Respon user terhadap
Memodifikasi kebutuhan
prototype
user dan spesifikasi sistem
Fungsi-fungsi yang
disediakan oleh DBMS
tujuan
Format data yang
digunakan, kemampuan
import data DBMS tujuan
Hasil tes
Strategi testing yang
digunakan, analisis hasil tes
Hasil tes performa; user
Petunjuk penggunaan bagi
baru atau penggantian user user; analisis hasil
dan kebutuhan sistem
performa; memodifikasi
kebutuhan user dan
spesifikasi sistem
Teknik Fact-Finding yang paling sering digunakan ada empat, antara lain:
1. Menganalisis Dokumen
Kajian dokumen merupakan sarana pembantu peneliti dalam
mengumpulkan data atau informasi dengan cara membaca surat-surat,
15
pengumuman, ikhtisar rapat, pertanyaan tertulis kebijakan tertentu dan
bahan-bahan tulisan lainnya(Sarwono, 2006, p225)
Teknik ini digunakan untuk mengetahui pertumbuhan database yang
diperlukan dan mengetahui bagian perusahaan yang berhubungan
dengan masalah yang terjadi. Dengan menganalisis dokumen, form,
laporan, dan file yang berkaitan dengan sistem yang sedang berjalan,
cara kerja sistem dapat diketahui.
2. Wawancara
Yang dimaksud dengan wawancara adalah proses memperoleh
keterangan untuk tujuan penelitian dengan cara tanya jawab, sambil
bertatap muka antara si penanya atau pewawancara dengan si penjawab
atau responden dengan menggunakan alat yang dinamakan interview
guide (Nazir, 2003, p193). Menurut Whitten et al.(2004, p239),
wawancara adalah teknik penelusuran fakta dimana analis sistem
mengumpulkan informasi dari individu-individu melalui interaksi face
to face. Ada dua tipe wawacara, yaitu terstruktur dan tidak terstruktur.
Wawancara terstruktur adalah wawancara dimana pewawancara
mempunyai sekumpulan pertanyaan spesifik untuk ditanyakan kepada
responden, pewawancara meminta responden untuk menyajikan sebuah
kerangka kerja dan mengarahkan percakapan. Sedangkan wawancara
tidak terstruktur adalah wawancara yang dilakukan hanya dengan satu
tujuan atau topik dan dengan beberapa
pertanyaan spesifik (Whitten et al, 2004, 239).
pertanyaan, jika ada,
16
3. Observasi pada Perusahaan
Menurut Nazir (2003, p175), pengumpulan data dengan observasi
langsung atau pengamatan langsung adalah cara pengambilan data
dengan menggunakan mata tanpa ada pertolongan alat standar lain
untuk
keperluan
tersebut.
Pengamatan
data
secara
langsung
dilaksanakan terhadap subjek sebagaimana adanya di lapangan atau
dalam suatu percobaan baik d lapangan atau di dalam laboratorium
(Nazir, 2003, p176).
4. Kuisioner
Menurut Whitten et al.(2004, p237), kuisioner merupakan dokumen
bertujuan khusus yang mengijinkan analis untuk mengumpulkan
informasi dan pendapat dari responden. Kuisioner dapat dibuat secara
massal dan dibagikan kepada para responden yang dapat mengisi
kuisioner sesuai waktu mereka.
2.1.3 Diagram Aliran Data (DFD)
Menurut Whitten et al.(2004, p522), DFD atau diagram aliran data
adalah model proses yang digunakan untuk menggambarkan aliran data
melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem
tersebut. Simbol-simbol yang digunakan untuk menggambarkan DFD, yaitu
(dalam bentuk Yourdon):
1. Bulat, menyatakan proses atau bagimana tugas dikerjakan
Nama
Proses
17
2. Kotak persegi panjang, menyatakan external entity, yaitu orang, unit
organisasi, atau organisasi luar yang berinteraksi dengan sistem.
External Entity
3. Kotak dengan kedua ujung terbuka, menyatakan data store, yaitu
penyimpanan data yang ditujukan untuk penggunaan selanjutnya.
Terkadang disebut juga file atau database
Data Store
4. Panah, menyatakan aliran data, atau input dan output, yang masuk ataupun
keluar dari proses tersebut
Nama aliran data
Tabel 2.2 Jenis Aliran Data
Sumber (Whitten et al.(2004, p341)
Aliran Data yang tidak
diperbolehkan
B1
B2
Aliran Data yang diperbolehkan
B1
P1
B1
Sebuah proses dibutuhkan untuk mengubah
aliran data di antara external entity
B1
DS1
B1
P1
DS1
Sebuah proses dibutuhkan untuk memperbarui
(atau menggunakan) sebuah data store
18
DS1
B1
DS1
P1
B1
Sebuah proses dibutuhkan untuk menyajikan
data dari sebuah data store
DS1
DS2
DS1
P1
DS2
Sebuah
proses
dibutuhkan
untuk
memindahkan data dari suatu data store ke
data store lain
2.1.4 Perancangan Basis Data
Tahap perancangan database merupakan salah satu tahap dari database
System development
lifecycle. Tahap ini meliputi 3 bagian (Connolly dan
Begg, 2005, p437), yaitu:
2.1.4.1
Perancangan Basis Data Konseptual
Perancangan basis data konseptual adalah proses pembuatan model
data yang digunakan di dalam suatu perusahaan, tanpa pertimbangan
fisikal. Pertimbangan fisikal contohnya program aplikasi, DBMS, bahasa
pemrograman, perangkat keras. Rancangan ini didukung oleh diagram ER
dan kamus data, meliputi langkah-langkah sebagai berikut:
1. Mengenali tipe entitas
2. Mengenali tipe relasi
3. Mengenali dan mengubungkan atribut dengan entitas atau tipe relasi
4. Menentukan domain atribut
5. Menentukan atribut dari candidate, primary, dan alternate key
19
6. Mempertimbangkan penggunaan konsep enhanced modeling (langkah
optional)
7. Memeriksa model terhadap redundancy
8. Memvalidasi model data konseptual dengan pengguna
9. Melihat kembali keseluruhan model data dengan pengguna
2.1.4.2
Perancangan Basis Data Logikal
Perancangan basis data logikal adalah proses pembuatan model data
yang digunakan oleh perusahaan berdasarkan model data yang spesifik,
tetapi terlepas dari DBMS dan pertimbangan fisikal lainnya, yang meliputi
langkah-langkah sebagai berikut:
1. Menentukan relasi untuk model data logikal
2. Memvalidasi relasi dengan normalisasi
3. Memvalidasi relasi terhadap transaksi pengguna
4. Memeriksa integrity constraint
5. Melihat kembali model data logikal dengan pengguna
6. Menggabungkan model data logikal ke dalam model global (langkah
optional)
7. Memeriksa perkembangan kedepan
8. Output dari tahap perancangan ini menjadi sumber informasi bagi
tahap perancangan fisikal
20
2.1.4.3
Perancangan Basis Data Fisikal
Pada perancangan basis data logical secara umum membahas
mengenai apa saja yang diperlukan dalam proses, sedangkan perancangan
basis data fisikal membahas bagaimana proses tersebut dapat berjalan.
Perancangan basis data fisikal adalah proses membuat deskripsi
implementasi dari database pada secondary storage. Proses ini
menggambarkan relasi dasar dan indeks yang digunakan untuk mengakses
data dengan efisien, dan masalah integritas dan keamanan data yang
berkaitan dengan langkah-langkah sebagai berikut:
1. Menterjemahkan model data untuk DBMS
a. Merancang relasi dasar
b. Merancang representasi dari data yang diperoleh
c. Merancang constraint umum
2. Merancang pengorganisasian file dan indeks
a. Menganalisa transaksi
b. Memilih pengorganisasian file
c. Memilih indeks
3. Memperkirakan kapasitas disk yang dibutuhkan
4. Merancang user views
5. Merancang mekanisme keamanan
6. Mempertimbangkan pengenalan terhadap redundancy yang terkontrol
7. Mengawasi sistem operasional
21
2.1.5 Model Relasi
Menurut Silberschatz et al.(2002, p8), model relasional menggunakan
kumpulan tabel untuk menampilkan data dan relasi antar data tersebut. Struktur
data relasional (Connolly dan Begg, 2005, p72) meliputi:
A. Relasi, adalah tabel dengan kolom dan baris yang digunakan untuk
menyimpan informasi mengenai obyek yang akan ditampilkan dalam
database.
B. Atribut, adalah nama kolom yang mewakili relasi antar data.
C. Domain, adalah kumpulan nilai yang diperbolehkan untuk satu atribut
atau lebih.
D. Tuple, mewakili satu baris dari satu relasi antar data.
E. Degree, mewakili jumlah atribut/kolom dalam satu tabel.
F. Cardinality, mewakili jumlah tuple/baris yang terdapat dalam satu tabel.
G. Database Relasional, merupakan kumpulan dari relasi yang telah
dinormalisasi.
2.1.5.1
Entity-Relationship Model (E-R Model)
Entity-Relationship Model adalah model data berdasarkan persepsi
nyata, yang meliputi entitas dan relasi antar entitas tersebut (Silberschatz et
al. 2006, p8),. ER Model digunakan untuk menampilkan rancangan
conceptual database. Konsep dasar dari ER Model menurut Connolly dan
Begg, (2005, p338-357), meliputi:
22
A. Entity Types
Entity Types adalah kumpulan obyek yang mempunyai properti
sama dan keberadaannya bersifat independen, dapat berupa obyek
yang memiliki bentuk fisik (nyata) seperti produk, pelanggan,
pegawai, dan dapat berupa obyek yang tidak memiliki bentuk fisik
(abstrak) seperti penjualan dan pengalaman kerja.
Entity
type
digambarkan dalam bentuk kotak yang di dalamnya terdapat nama
dari entity. Dalam UML, huruf pertama dari setiap nama entity
menggunakan huruf kapital.
Nama entity
Staff
Branch
Gambar 2.2 Contoh Entity Type
B. Relationship Types
Relationship Types adalah kumpulan relasi yang ada di antara
entity types. Relationship types digambarkan sebagai suatu garis yang
menghubungkan entity types, dan memiliki nama relasi.
Jumlah dari entity types yang terlibat dalam suatu relasi
disebut dengan degree of relationship type. Jumlah entity types yang
terlibat bervariasi, ada yang dua (binary relationship), tiga (ternary
relationship), dan empat (quaternary relationship). Bila jumlah entity
types yang terlibat lebih dari dua, maka digambarkan dalam bentuk
permata dengan nama relasi di dalamnya.
23
Nama relasi
Staff
Mempunyai
Branch
Gambar 2.3 Contoh Binary Relationship
Staff
Register
Branch
Client
Gambar 2.4 Contoh Ternary Relationship
Solicitor
Buyer
Arranges
Bid
Financial
Institution
Gambar 2.5 Contoh Quaternary Relationship
C. Atribut
Atribut adalah properti dari suatu entity atau relationship type,
menampilkan bagian terpenting dari data yang tersimpan dalam
database. Domain atribut adalah kumpulan dari nilai yang
diperbolehkan untuk satu atribut atau lebih. Atribut dapat dibedakan
menjadi :
a. simple attribute, yaitu atribut yang tidak dapat dipecah menjadi
atribut yang lebih sederhana.
24
b. composite attribute, yaitu atribut yang dapat dipecah menjadi
komponen yang lebih sederhana.
c. Atribut single-valued adalah atribut yang memiliki nilai tunggal
untuk setiap kejadian pada entity type.
d. Atribut multi-valued adalah atribut yang memiliki lebih dari satu
nilai unuk setiap kejadian pada entity type.
e. Derived attribute adalah atribut yang merepresentasikan sebuah
nilai yang didapat dari nilai kumpulan atribut yang saling
berhubungan dan tidak harus berasal dari entity type yang sama
f. Keys, memberikan karakteristik yang unik untuk setiap
tuple/baris. Keys dibedakan menjadi :
1. Candidate Key adalah sejumlah kecil dari atribut yang
bersifat unik dan mengidentifikasi setiap kejadian di dalam
entity type. Candidate key harus memiliki nilai yang
berbeda untuk setiap kejadian di entity type.
2. Primary Key adalah candidate key yang terpilih untuk
mengidentifikasi
setiap
kejadian
pada
entity
type.
Candidate key yang tidak menjadi primary key menjadi
alternate key. Pemilihan primary key berdasarkan kunikan
dan panjang atribut, data yang unik dan lebih panjang
lebih dipilih sebagai primary key.
3. Composite Key adalah candidate key yang mengandung
dua atribut atau lebih, dimana sifat unik muncul dari
kombinasi atribut-atribut yang saling berhubungan itu.
25
4. Foreign Key adalah atribut yang menghubungkan primary
key dengan atribut yang terdapat pada entity type yang lain
Primary Key
Area to
list
Staff
staffNo
{PK}
name
position
salary
/
l ff
Manages
Has
Derived
Attribut
Branch
branchNo
{PK}
address
street
city
postcode
Composit
e Attribute
Multi-valued
attribute
Gambar 2.6 Contoh representasi entity dan atributnya
Sumber (Connolly dan Begg, 2005, p354)
D. Strong and Weak Entity Types
Tipe entitas yang kuat adalah entity type yang keberadaannya
tidak bergantung pada entity type yang lain. Karakteristiknya adalah
setiap kejadian pada entity type dapat diidentifikasi dengan unik
yaitu dengan menggunakan primary key dari entity type tersebut,
sedangkan tipe entitas yang lemah adalah entity type yang
keberadaannya
bergantung
pada
entity
type
yang
lain.
Karakteristiknya adalah setiap kejadian pada entity type tidak dapat
diidentifikasi dengan unik hanya dengan menggunakan atribut yang
berhubungan denga entity type.
26
E. Structural Constraint
Multiplicity merupakan batasan struktural yang paling utama
dalam relasi (Connolly dan Begg 2005, p356), multiplicity adalah
jumlah/jangkauan kejadian yang mungkin terjadi pada entity type dan
berhubungan dengan kejadian tunggal dalam entity type yang saling
terhubung melalui suatu relasi. Jenis-jenis multiplicity, antara lain:
1. One-to-One (1:1) Relationship
Pada One-to-one relationship, satu kejadian entity tunggal
hanya dapat berhubungan dengan satu kejadian entity tunggal
dari entity yang lain.
Staff entity type
(staffNo)
Manages
Relationship type
Branch entity type
(branchNo)
SG5
•
• B003
r1
•
r2
•
SG37
•
• B005
Gambar 2.7 Contoh representasi One-to-One (1:1) Relationship
Tiap cabang dimanages oleh 1
staff
Staff
staffNo
Tiap staff dapat
me-manages 0
atau 1 branch
Manages
1..1
0..1
Branch
branchNo
Multiplicity
Gambar 2.8 Multiply One-to-One (1:1) Relationship
27
2. One-to-Many (1:*) Relationship
Pada one-to-many relationship, satu kejadian entity tunggal
dapat berhubungan dengan lebih dari satu kejadian entity
tunggal dari entity yang lain.
Staff entity
(staffNo)
Oversees
relationship
SG5
•
PropertyForRent entity
(propertyNo)
r1
•
r2
•
r3
•
SG37
•
SL21
•
• PG21
• PG36
• PA14
• PG4
Gambar 2.9 Contoh representasi One-to-Many (1:*) Relationship
Tiap property for
rent di-overseen
oleh 0 atau 1 staff
Staff
staffNo
Tiap staff dapat mengoversees 0 atau lebih
property for rent
Oversees
0..1
0..*
PropertyForRent
propertyNo
Gambar 2.10 Multiply One-to-Many (1:*) Relationship
3. Many-to-Many (*:*) Relationship
Pada many-to-many relationship, lebih dari satu kejadian entity
tunggal dapat berhubungan dengan lebih dari satu kejadian
entity tunggal dari entity yang lain.
28
Newspaper entity
(newspaperName)
Advertises
relationship
Glasgow
Daily
•
PropertyForRent entity
(propertyNo)
• PG21
r1
•
r2
•
r3
•
r4
•
The West
News
•
Aberdeen
Express
•
• PG36
• PA14
• PG4
Gambar 2.11 Contoh representasi Many-to-Many (*:*) Relationship
Tiap property for rent
di-advertise-kan oleh 0
atau lebih newspaper
Newspaper
newspaperName
Tiap newspaper dapat
meng-advertise 1 atau
lebih property for rent
Advertises
0..*
1..*
PropertyForRent
propertyNo
Gambar 2.12 Multiply Many-to-Many (*:*) Relationship
2.1.6 Normalisasi
Normalisasi adalah suatu teknik untuk membuat kumpulan relasi
dengan property yang diinginkan dan dapat memenuhi kebutuhan data dari
sebuah perusahaan. Teknik normalisasi terdiri dari (Connolly dan Begg, 2005,
p388-409):
29
1. Unnormalized Form (UNF)
UNF adalah tabel yang memiliki satu atau lebih kelompok perulangan
dan memiliki hasil perhitungan. Kelompok perulangan adalah kumpulan
atribut dalam suatu tabel yang memiliki lebih dari satu nilai untuk setiap
kejadian entity.
2. First Normal Form (1NF)
Suatu relasi dikatakan dalam 1NF jika dan hanya jika setiap atribut
bernilai
tunggal
untuk
setiap
baris.
Dalam
1NF,
semua
repetisi/perulangan dan perhitungan harus dihilangkan. Atribut yang
dapat memiliki banyak nilai dideskripsikan dengan entity terpisah.
3. Second Normal Form (2NF)
Suatu relasi berada dalam 2NF jika dan hanya jika:
a. Berada pada 1NF
b. Semua atribut non-primary-key memiliki functional dependency
(ketergantungan penuh) terhadap primary key
c. Dalam 2NF, semua ketergantungan parsial harus dihilangkan.
Ketergantungan parsial adalah ketergantungan antara atribut
primary key yang satu dengan atribut primary key yang lain.
4. Third Normal Form (3NF)
Suatu relasi dikatakan dalam 3NF jika
a. Berada dalam 1NF dan 2NF
b. Setiap atribut non-primary-key memiliki transitive dependency
(ketergantungan transitif) terhadap primary key. Ketergantungan
30
transitif adalah ketergantungan antara atribut primary key dengan
atribut non-primary-key.
Sumber Data
User
Spesifikasi
kebutuhan user
Laporan yang
digunakan atau
dibuat oleh
perusahaan
Sumber yang
mendeskripsikan
perusahaan, seperti kamus
data dan model data
Memindahkan atribut ke dalam tabel
UNF
Menghilangkan kelompok perulangan
1NF
Menghilangkan ketergantungan parsial
2NF
Menghilangkan ketergantungan transitif
3NF
Gambar 2.13 Diagram Proses Normalisasi
2.1.7 Structured Query Language (SQL)
Menurut Silberschatz et al.(2002, p45), bahasa query adalah suatu
bahasa di mana user meminta informasi dari database. SQL dirancang untuk
menggunakan relasi untuk mengubah input menjadi output yang diinginkan.
SQL memiliki dua komponen utama (Connolly dan Begg, 2005, p113):
a. Data Definition Language (DDL): digunakan untuk menentukan struktur
database dan mengontrol akses ke data. Perintah SQL-nya:
31
1. CREATE TABLE: untuk membuat tabel.
2. ALTER
TABLE:
untuk
menambah/memindahkan
kolom,
menambah/menghapus table constraint, menentukan/menghapus
default kolom.
3. DROP TABLE: untuk memindahkan tabel.
4. CREATE VIEW: untuk membuat view.
5. DROP VIEW: untuk memindahkan view.
b. Data Manipulation Language (DML): digunakan untuk me-retrieve dan
meng-update data. Perintah SQL-nya:
1. SELECT: untuk memilih data dalam database.
2. INSERT: untuk memasukkan data ke dalam tabel.
3. UPDATE: untuk memperbarui data dalam tabel.
4. DELETE: untuk menghapus data dari tabel.
2.1.7.1
Fungsi Aggregate dan Kontrol Akses
Fungsi aggregate yang dimiliki SQL:
a. COUNT: untuk menampilkan banyak nilai dalam suatu kolom.
b. SUM: untuk menampilkan jumlah nilai dalam suatu kolom.
c. AVG: menampilkan jumlah nilai rata-rata dalam suatu kolom.
d. MIN: untuk menampilkan nilai terkecil dalam suatu kolom.
e. MAX: untuk menampilkan nilai terbesar dalam suatu kolom.
Kontrol Akses memberikan hak akses yang berbeda untuk kelompok user
yang berbeda, terdiri dari:
32
1. GRANT: untuk memberikan hak akses kepada user yang lain.
2. REVOKE: untuk membatalkan pemberian hak akses kepada user.
2.1.8
State Transition Diagram (STD)
Menurut Jeffrey A. Et al (1996, p364), State Transition Diagram
adalah suatu diagram yang menggambarkan bagaimana suatu proses
dihubungkan satu sama lain dalam waktu yang bersamaan. State Transition
Diagram digambarkan dengan sebuah state yang berupa komponen sistem
yang menunjukkan bagaimana kejadian-kejadian tersebut dari satu state ke
state yang lain.
Ada dua macam simbol yang menggambarkan proses dalam State
Transition Diagram (STD), yaitu :
1. Gambar persegi panjang menunjukkan state dari sistem
2. Gambar panah menunjukkan transisi antar state. Tiap panah diberi
label dengan ekspresi aturan. Label yang di atas menunjukkan kejadian
yang menyebabkan transisi yang terjadi. Label yang di bawah
menunjukkan aksi yang terjadi akibat dari kejadian tadi.
33
Contoh STD :
Login Username
dan Password
Menu Utama
Gambar 2.14 Contoh STD
2.2
Teori-teori Khusus
2.2.1 Manajemen dan Produksi
Menurut Madura, (2001, p228), manajemen adalah pemanfaatan
sumber daya manusia (karyawan) dan sumber-sumber lain (misalnya mesinmesin) dengan cara yang terbaik untuk dapat mencapai rencana-rencana dan
sasaran-sasaran perusahaan(Madura, 2001, p228).
Proses produksi adalah serangkaian tugas yang menggunakan sumber
daya untuk memperoleh barang dan jasa (Madura 2001, p281),. Proses
produksi memiliki sumber daya pokok, yaitu sumber daya manusia
(karyawan), bahan baku, dan sumber daya lainnya (seperti gudang, mesin, dan
perlengkapan).
Proses pengawasan produksi meliputi kegiatan-kegiatan sebagai
berikut (Madura, 2001, p290):
a. Pembelian bahan baku, dalam pembelian bahan baku diperlukan
pemilihan supplier yang tepat, dengan memperhatikan karakteristik
seperti harga, kecepatan, kualitas, layanan, dan ketersediaan kredit.
34
b. Pengawasan persediaan, proses ini bertujuan mengelola persediaan yang
meminimalkan biaya. Pengawasan persediaan ini meliputi:
1. Pengawasan persediaan bahan baku, cara yang paling umum dalam
pengawasan bahan baku adalah sistem Just In Time (JIT), yaitu
dengan sering memesan bahan baku dalam jumlah kecil. Cara ini
menghemat
biaya
pemeliharaan
namun
menambah
biaya
pemesanan,
2. Perencanaan kebutuhan bahan baku (MRP) adalah suatu proses
untuk menjamin bahwa bahan baku akan tersedia ketika
diperlukan. MRP ini membantu para manajer menentukan jumlah
bahan baku spesifik yang harus dibeli setiap saat.
3. Pengawasan persediaan Work-In-Process, proses ini bertujuan
untuk mengawasi persediaan dari produk yang telah selesai
sebagian. Jika proses ini tidak dilakukan, dapat terjadi kekurangan
persediaan selama proses produksi dan mengakibatkan terhentinya
proses produksi.
4. Pengawasan persediaan barang jadi, proses ini diperlukan untuk
memeriksa kecocokan antara jumlah barang jadi hasil produksi
dengan jumlah pesanan.
c. Routing, proses ini bertujuan untuk menentukan urutan tugas yang perlu
untuk menyelesaikan produksi.
d. Penjadwalan, proses ini bertujuan untuk menetapkan waktu untuk
mengerjakan tugas dalam proses produksi. Dari kegiatan penjadwalan ini
35
akan didapat jadwal produksi yang memuat rencana waktu dan volume
tugas produksi.
e. Pengawasan kualitas, proses ini bertujuan untuk menentukan apakah
kualitas produk memenuhi tingkat kualitas yang diinginkan.
2.2.2 Manajemen Produksi
Menurut Madura (2001, p281), manajemen produksi atau yang disebut
juga dengan manajemen operasional adalah pengelolaan suatu proses di mana
sumber daya (seperti karyawan dan mesin) digunakan untuk menghasilkan
barang dan jasa.
Manajemen produksi meliputi kegiatan pengolahan bahan baku dengan
memanfaatkan sumber daya yang ada menjadi hasil produksi yang siap
digunakan oleh customer.
Download