BAB 2 LANDASAN TEORI
2.1
Basis Data 2.1.1
Pengertian Data Data merupakan sekumpulan informasi yang tersimpan dalam suatu basis data yang memiliki nilai seperti : angka, deretan karakter, atau simbol mengenai fakta suatu objek, orang, dan lain-lain (Lucas 1993, p.5). Menurut Kadir (1998, p.5), data adalah fakta mengenai suatu objek atau orang. Data dinyatakan dengan nilai (angka,deretan karakter, atau simbol). Hirarki data menurut Kadir (1998, p.8-p.9), secara tradisional data diorganisasikan kedalam suatu hirarki yang terdiri dari elemen, rekaman (record), dan berkas (file). •
Elemen data Elemen data adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit laen yang bermakna. Istilah lain untuk elemen data adalah medan (field), kolom, item, dan atribut.
•
Rekaman Rekaman adalah gabungan sejumlah elemen data yang saling terkait. Dalam sistem basis data relasional, rekaman biasa disebut dengan istilah tuple atau baris.
6
7 •
Berkas Himpunan seluruh rekaman yang bertipe sama membentuk sebuah berkas. Berkas dapat dikatakan sebagai kumpulan rekaman data yang berkaitan dengan suatu objek. Dalam sistem basis data relasional, berkas mewakili komponen yang disebut tabel atau relasi.
2.1.2
Pengertian Basis Data Basis data dan teknologi dalam basis data mengalami perkembangan yang besar seiring dengan berkembangnya penggunaan computer. Basis data dapat diartikan sebagai suatu kumpulan data yang secara logika saling terkait, dan terdapat uraian mengenai data tersebut, dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi (Connolly, 2002 p.14). Sedangkan C.J. Date (2000 p.5) adalah suatu system yang pada dasarnya menyimpan beberapa record didalam suatu system yang dilakukan secara komputerisasi yang bertujuan untuk memelihara informasi dan untuk membuat informasi tersebut berdasarkan permintaan. Basis data merupakan suatu objek yang kompleks untuk menyimpan informasi terstruktur, yang diorganisir dan disimpan dengan aturan-aturan tertentu sehingga pemakai dapat mengambil informasi tersebut dengan cepat dan efisien. Di dalam system basis data, data disimpan dalam bentuk table-tabel yang saling berhubungan satu dengan lainnya berdasarkan nilai dari dua kolom yang sama pada kedua tabel tersebut. Keterkaitan seperti ini adalah inti dari basis data relasional. Dalam basis data relasional data dipecah
8 dalam banyak tabel namun dengan adanya relasi antar tabel tersebut memungkinkan baris-baris pada banyak tabel disatukan dan ditampilkan kembali sebagai suatu bentuk informasi bagi pengguna basis data tersebut.
2.1.3
Sistem Basis Data Menurut Date (2000, p.5), sistem basis data pada dasarnya adalah : Sistem penyimpanan record yang terkomputerisasi dimana tujuan sebenarnya adalah menyimpan informasi dan membuat informasi tersebut selalu tersedia pada saat dibutuhkan. Keseluruhan sistem terkomputerisasi itu membolehkan pengguna menelurusuri kembali dan mengubah informasi tersebut sesuai kebutuhan. Menurut Fathansyah (1999, p3), di dalam suatu disk, basisdata dapat diciptakan, dapat ditiadakan, dan dapat menempatkan beberapa basisdata. Adapun operasi-operasi dasar yang dapat dilakukan berkenaan dengan basisdata dapat meliputi : 1. create database Pembuatan basisdata. 2. drop database (penghapusan) Penghapusan basisdata. 3. create table Membuat tabel dengan mengidentifikasikan tipe data untuk tiap kolom. 4. drop table Untuk membuang atau menghapus tabel beserta semua data yang terkait di dalamnya.
9 5. insert Menyisipkan satu baris record ke dalam basisdata. 6. retrieve atau search Pengambilan data dari sebuah tabel. 7. update Mengubah satu baris record dalam basisdata. 8. delete Menghapus satu baris record dalam basisdata Menurut Fathansyah (1999, p5), pemanfaatan basisdata dapat dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti : Kecepatan dan kemudahan (Speed). Efisiensi ruang penyimpanan (Space). Keakuratan (Accurancy). Ketersediaan (Availibility). Kelengkapan (Completeness). Keamanan (Security). Kebersamaan pemakai (Sharability).
2.1.4
Database Management System (DBMS) Database Management System (DBMS) adalah suatu system perangkat lunak yang bias mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data (Connolly, 2002 p.16). Pada intinya DBMS memiliki dua bagian utama, yakni DDL dan DML. Menurut Connolly
10 (2002 p.40) Data Definition Language (DDL) adalah suatu bahasa yang memperbolehkan database administrator (DBA) atau user untuk mendeskripsikan nama dari suatu entity, atribut, dan relasi data yang diminta oleh aplikasi bersamaan dengan integritas data dan keamanan datanya. Sedangkan untuk memanipulasi data yang tersimpan di dalam basis data menggunakan Data Manipulation Language (DML). Definisi dari DML menurut Connolly (2002 p.41) adalah suatu bahasa yang memberikan fasilitas pengoperasian data yang ada dalam basis data. Pengoperasian data yang akan di manipulasi biasanya meliputi : 1. Penambahan data baru kedalam basis data. 2. Modifikasi data yang disimpan dalam basis data. 3. Pengambilan data yang terdapat dalam basis data. 4. Penghapusan data dari basis data. Sampai saat ini vendor DBMS masih saling bersaing untuk meraih pasar terbaik dengan cara memperbanyak fitur dalam memproses basis data. Informasi sangat penting bagi suatu perusahaan atau organisasi, sehingga sebuah DBMS dituntut untuk memperkuat system keamanannya. Saat ini, banyak DBMS yang dilengkapi autentifikasi user sebelum bisa mengakses basis data. Fitur ini berguna untuk mencegah user yang tidak berkepentingan mengakses basis data.
11 2.2
Teori – teori khusus 2.2.1
Database Application Lifecycle (DBLC) Untuk merancang aplikasi sistem basis data diperlukan tahapantahapan terstruktur yang harus diikuti yang dinamakan dengan Siklus Hidup Aplikasi Basis Data (Database Application Lifecycle) atau disingkat dengan DBLC. Perlu diingat bahwa tahapan dalam DBLC tidak harus berurutan, namun juga melibatkan beberapa pengulangan ke tahapan sebelumnya melalui putaran balik (feedback loops). Tahapan-tahapan tersebut terlihat pada gambar 2.1.
12
Database Planning
System Definition
Requirements Collection and Analysis
Database Design Conceptual Database Design DBMS Selection (optional) Logical Database Design
Application Design
Physical Database Design
Prototyping (optional)
Implementation
Data Conversion and Loading
Testing
Operational Maintenance
Gambar 2.1 Database Application Lifecycle (Connolly, 2002, p272)
13 2.2.2
Pengumpulan Kebutuhan dan Analisis Dalam tahap ini dilakukan proses pengumpulan dan analisa informasi tentang bagian organisasi yang akan didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna terhadap sistem yang baru (Connolly, 2002, p276). Suatu proses resmi dalam menggunakan teknik-teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan kebutuhan-kebutuhannya dinamakan dengan teknik fact-finding (Connolly, 2002, p302). Ada lima kegiatan yang dipakai dalam teknik ini, yaitu : 1.
Memeriksa dokumentasi Pemahaman terhadap jalannya sistem akan cepat diperoleh dengan memeriksa dokumen-dokumen, formulir, laporan, dan berkas yang terkait dengan sistem yang sedang berjalan pada perusahaan.
Dengan
pemeriksaan
ini
diharapkan
dapat
mengetahui data-data apa saja yang akan disimpan di dalam basis data.
2.
Wawancara Wawancara bertujuan untuk mengumpulkan fakta-fakta, memeriksa kebenaran fakta yang ada dan mengklarifikasinya, membangkitkan
semangat,
melibatkan
pengguna
akhir,
mengidentifikasi kebutuhan-kebutuhan, dan mengumpulkan ideide dan pendapat (Connolly, 2002, p306). Teknik ini
14 memerlukan
kemampuan
komunikasi
yang
baik
untuk
menghadapi pengguna yang memiliki nilai, prioritas, pendapat, motivasi, dan kepribadian yang berbeda-beda. Keuntungan menggunakan teknik ini menurut Thomas Connolly (2002, p306) antara lain: •
Memungkinkan orang yang diwawancara untuk menanggapi pertanyaan dengan bebas dan terbuka
•
Memungkinkan orang yang diwawancara merasa bahwa ia merupakan bagian dari proyek
•
Memungkinkan pewawancara untuk menindaklanjuti komentar-komentar menarik yang dibuat oleh orang yang diwawancara
•
Memungkinkan pewawancara untuk mengubah atau menyusun kembali pertanyaan selama kegiatan wawancara
•
Memungkinkan pewawancara untuk mengamati bahasa tubuh orang yang diwawancara
Kerugian teknik ini menurut Thomas Connolly (2002, p306) yaitu: •
Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis
15 •
Keberhasilannya tergantung pada kemampuan komunikasi pewawancara
•
Keberhasilannya tergantung pada keinginan orang yang
diwawancara
untuk
ikut
serta
dalam
wawancara
3.
Mengamati operasional perusahaan Pengamatan ini memungkinkan untuk ikut serta atau mengamati seseorang melakukan kegiatan untuk mempelajari sistem. Salah satu faktor pengamatan dapat berhasil adalah dengan mencari informasi sebanyak mungkin tentang aktivitas yang akan diamati serta orang yang melakukan aktivitas tersebut. Keuntungan menggunakan teknik ini antara lain : •
Validitas fakta dan data dapat diperiksa
•
Pengamat dapat melihat dengan jelas apa yang dikerjakan
•
Pengamat juga dapat memperoleh data yang menjelaskan lingkungan fisik dari tugas yang diberikan
•
Relatif murah
•
Pengamat dapat membuat pengukuran kerja
16 Kerugian teknik ini yaitu: •
Sangat memakan waktu dan biaya, sehingga
menjadi tidak praktis •
Dapat terlewat dalam mengamati tugas-tugas yang
melibatkan tingkat kesulitan yang lain •
Beberapa tugas tidak selalu dilakukan dengan cara
seperti pada saat pengamatan
4.
Penelitian Selain melakukan penelitian yang berasal dari dalam organisasi itu sendiri, dapat juga dilakukan pengumpulan informasi yang berasal dari luar organisasi tersebut. Beberapa contoh sumber informasi tersebut antara lain jurnal komputer, buku-buku referensi, dan internet. Sumber informasi tersebut juga dapat digunakan untuk memecahkan masalah serupa. Keuntungan menggunakan teknik ini antara lain : •
Dapat menghemat waktu jika solusinya telah tersedia
•
Peneliti
dapat
mengamati
cara
orang
lain
memecahkan masalah yang sama atau menemui kebutuhan yang serupa •
Membuat para peneliti selalu up-to-date dengan perkembangan baru
17 Kerugian teknik ini yaitu : •
Dapat menjadi sangat memakan waktu
•
Membutuhkan akses ke sumber informasi yang tepat
•
Dapat saja tidak membantu memecahkan masalah karena tidak didokumentasikan
5.
Kuesioner Teknik lain yang dapat digunakan untuk mengumpulkan informasi yang dibutuhkan adalah dengan menggunakan kuesioner. Kuesioner adalah suatu dokumen dengan tujuan khusus yang memungkinkan fakta-fakta dikumpulkan dari banyak orang sambil menjaga kontrol terhadap tanggapan yang diberikan (Connolly, 2002, p308). Keuntungan menggunakan teknik ini antara lain : •
Orang dapat melengkapi dan mengembalikan kuesioner pada waktu yang sebaik-baiknya
•
Tidak mahal untuk mengumpulkan data dari banyak orang
•
Responden jawaban
lebih
yang
mudah
benar
untuk
karena
memberikan
jawaban
yang
diberikan dapat dijaga kerahasiaannya •
Tanggapan dapat ditabulasikan dan dianalisa dengan cepat
18
Kerugian teknik ini yaitu: •
Jumlah responden dapat saja rendah, sekitar 5% sampai 10%
•
Kuesioner dapat saja dikembalikan dengan tidak lengkap
•
Tidak menyediakan kesempatan untuk mengubah pertanyaan yang salah diartikan
•
Tidak dapat mengamati dan menganalisa bahasa tubuh responden
•
2.3
Memakan waktu untuk menyiapkan kuesioner
Teori Pendekatan Perancangan Basis Data (Approaches to Database Design) Teori pendekatan perancangan database yang digunakan pada skripsi ini adalah menggunakan pendekatan Top-Down Approach. Pendekatan ini berguna untuk mendesain database yang komplek dengan attribut yang banyak, dimana ditemukan kesulitan untuk membangun semua functional dependencies diantara atribut – atribut yang ada. Pendekatan ini dimulai dengan membangun contoh data (data models) yang mengandung sedikit entity yang penting (high-level entities) dan kemudian menerapkan perbaikan top-down untuk mengidentifikasi entity yang lainnya
19 (lower-level entities), hubungan antar entity (relationships), dan atribut yang berkaitan (associated attributes). Top – Down Approach diilustrasikan menggunakan konsep dari model hubungan
entity
(Entity
Relationship
ER
model),
dimulai
dengan
mengidentifikasikan entity – entity dan hubungan diantara entity yang merupakan fokus penting dari perusahaan.
2.4
Teori Metodologi Perancangan Basis Data 2.4.1
Perancangan Basis Data Konseptual (Conceptual Database Design) Perancangan Basis Data Konseptual adalah proses membangun suatu model informasi yang digunakan oleh perusahaan atau organisasi yang tidak tergantung dari pertimbangan fisik (Connolly, 2002, p419). Langkah pertama: Membuat local conceptual data model untuk setiap pandangan. Bertujuan untuk memecah rancangan menjadi tugastugas yang dapat diatur dengan memeriksa sudut pandang yang berbeda dari pengguna di dalam suatu organisasi (Connolly, 2002, p421). Pada tahap membuat local conceptual data model, langkah-langkah yang dilakukan adalah sebagai berikut : a.
Mengidentifikasi entity types Bertujuan
untuk
menentukan
entity
types
utama
yang
dibutuhkan. Menentukan entity dapat dilakukan dengan memeriksa user’s requirements specification. Setelah terdefinisi, entity diberikan nama yang tepat dan jelas seperti mahasiswa, dosen, mataKuliah.
20 b.
Mengidentifikasi relationship types Bertujuan untuk mengidentifikasi suatu relationship yang penting yang ada antar entity yang telah diidentifikasi. Nama dari suatu
relationship
menggunakan
kata
kerja
(verb)
seperti
mempelajari, memiliki, mempunyai, dan lain-lain.
c.
Mengidentifikasi dan menghubungkan attribute dengan entity atau relationship types Bertujuan untuk menghubungkan attribute dengan entity atau relationship yang tepat. Attribute yang dimiliki setiap entity atau relationship memiliki identitas atau karakteristik yang sesuai dengan memperhatikan attribute berikut : simple/composite attribute, singlevalued attribute, dan derived attribute.
d.
Menentukan attribute domain Bertujuan untuk menentukan attribute domain pada conceptual data model. Contohnya yaitu menentukan nilai attribute jenisKelamin pada entity mahasiswa dengan ‘M’ atau ‘F’ atau nilai attribute sks pada entity mataKuliah dengan ‘1’,’2’,’3’, dan ‘4’.
e.
Menentukan candidate key dan primary key attributes Bertujuan untuk mengidentifikasi candidate key pada setiap entity dan memilih primary key jika ada lebih dari satu candidate key.
21 Pemilihan primary key didasari pada panjang dari attribute dan keunikan key di masa datang.
f.
Mempertimbangkan penggunaan Enhance Modelling Concepts (pilihan) Pada langkah ini bertujuan untuk menentukan specialization, generalization, aggregation, composition. Dimana masing-masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada. Specialization
dan
generalization
adalah
proses
dalam
mengelompokkan beberapa entity dan menghasilkan entity yang baru. Beda dari keduanya adalah cara prosesnya, dimana spesialisasi menggunakan proses top-down dan generalisasi menggunakan proses bottom-up. Aggregation menggambarkan sebuah entity types dengan sebuah relationship types dimana suatu relasi hanya akan ada jika telah ada relationship lainnya.
g.
Mengecek redudansi Bertujuan
untuk
memeriksa
conceptual
model
untuk
menghindari dari adanya informasi yang redundan. Yang dilakukan pada langkah ini adalah :
22 •
Memeriksa kembali one-to-one relationship (1:1) Setelah entitiy diidentifikasikan maka kemungkinan ada dua entity yang mewakili satu objek. Untuk itu dua entity tersebut harus di-merger bersama. Dan jika primary key-nya berbeda maka harus dipilih salah satu dan yang lainnya dijasikan alternate key.
•
Menghilangkan relasi yang redundansi Untuk menekan jumlah model data, maka relationship data yang redundan harus dihilangkan.
h.
Memvalidasi conceptual model dengan transaksi Bertujuan untuk menjamin bahwa conceptual data model mendukung kebutuhan transaksi. Dengan menggunakan model yang telah divalidasi tersebut, dapat digunakan untuk melaksanakan operasi secara manual. Ada dua pendekatan yang mungkin untuk menjamin bahwa local conceptual data model mendukung kebutuhan transaksi yaitu : •
Mendeskripsikan transaksi Memeriksa seluruh informasi (entities, relationship, dan attribute) yang diperlukan pada setiap transaksi yang disediakan oleh model dengan mendokumentasikan penggambaran dari tiap kebutuhan transaksi.
23 •
Menggunakan transaksi pathways Pendekatan kedua, untuk memvalidasi data model dengan keperluan transaksi yang melibatkan diagram yang mewakili pathways diambil dari tiap transaksi secara langsung yang terdapat pada E-R diagram. E-R diagram menggambarkan komponen-komponen dari entity dan relasi yang masing-masing dilengkapi dengan attribute-attribute yang merepresentasikan seluruh fakta dari ‘real-world’ yang kita tinjau (Fathansyah,1999,p79). Sedangkan menurut
Silberschatz(2002,p42),
E-R
diagram
dapat
menyatakan keseluruhan struktur logikal dari basis data dengan mneggunakan bagan.
i.
Melihat kembali conceptual data model dengan pengguna Bertujuan untuk melihat kembali conceptual model dan memastikan bahwa data model tersebut sudah benar.
2.4.2
Perancangan Basis Data Logikal (Logical Database Design) Logical database design adalah proses pembuatan suatu model informasi yang digunakan pada perusahaan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System (DBMS) yang p441).
khusus dan pertimbangan fisik lain (Connolly, 2002,
24 Langkah kedua: Membuat dan memvalidasi local logical data model untuk setiap pandangan. Bertujuan untuk membuat local logical data model
dari local conceptual data model yang merepresentasikan
pandangan khusus dari perusahaan dan memvalidasi model tersebut untuk menjamin
kebenaran
strukturnya
normalisasi) dan menjamin bahwa
(dengan model
menggunakan tersebut
teknik
mendukung
kebutuhan transaksi. Pada perancangan model logical langkah kedua, tahapan-tahapannya adalah: a.
Menghilangkan features yang tidak kompatibel dengan model relasional (pilihan) Bertujuan untuk menghasilkan model yang kompatibel dengan model relasional, yaitu dengan: •
Menghilangkan
many-to-many
(*:*)
binary
relationship types Dengan cara memecah relationship yang mengandung many-to-many mengidentifikasikan (internediate
(*:*)
sebuah
entity)
untuk
entity
tengah
sehingga relationship ini
digantikan dengan dua buah one-to-
many
(1:*)
relationship, dengan entity tengah berada di antara dua
buah entity lama.
25 •
Menghilangkan
many-to-many
(*:*)
recursive
relationship types Jika recursive relationship ada pada conceptual data model,
relationship tersebut harus dipecah
untuk mengidentifikasikan sebuah entity tengah dengan cara menganggap entity lain yang terlibat pada
relationship ini merupakan dua buah entity
dengan jenis relationship many-to-many (*:*) binary sehingga penyelesaiannya sama dengan penyelesaian pada relationship many-to-many (*:*) binary. •
Menghilangkan complex-relationship types Dihilangkan dengan memecah relationship ini untuk mengidentifikasi entity
tengah.
Kemudian
complex relationship ini akan digantikan dengan beberapa one-to-many (1:*) relationship. •
Menghilangkan multi-valued attributes Dengan cara memecah atribut ini untuk mengidentifikasikan sebuah
b.
entity.
Memperoleh relasi untuk local logical data model Bertujuan untuk membuat hubungan logical model yang mewakili entity, relationship dan attribute yang telah disefinisi. Mendeskripsikan komposisi tiap hubungan memakai Database
26 Definition Language (DDL) untuk relasi basis data. Dengan menggunakan DDL dapat dibuat spesifikasi nama dari relasi yang diikuti dengan daftar dari relasi attribute yang mudah lalu mengidentifikasikan primary key dan foreign key dari suatu relasi. Untuk memperoleh relasi untuk local logical data model, maka diperlukan penjelasan untuk mendeskripsikan struktur yang mungkin dalam data model saat ini.
c.
Memvalidasi relasi dengan menggunakan normalisasi Menurut Connolly dan Begg (2002, p376), normalisasi adalah sebuah teknik untuk menghasilkan relasi dengan properti-properti yang diinginkan, memberikan kebutuhan data dari sebuah perusahaan. Tujuan normalisasi adalah terjaminnya struktur yang konsisten, kerangkapan yang minimal, dan stabilitas struktur data yang maksimal. Manfaat normalisasi adalah sebagai berikut : 1.
Meminimalkan jumlah kapasitas penyimpanan yang diperlukan untuk menyimpan data.
2.
Meminimalkan resiko data yang tidak konsisten dalam suatu basisdata.
27 3.
Meminimalkan kemungkinan update dan delete anomally.
4.
Memaksimalkan stabilitas dari struktur data.
Proses normalisasi tabel secara detil dibagi menjadi lima tahap sehingga
dikenal bentuk-bentuk tabel normal sesuai
dengan tahapan normalisasi yang telah dilakukan yaitu bentuk normal pertama, kedua, ketiga, Boyce-Codd, keempat, dan kelima.
d.
Memvalidasi relasi dengan transaksi pengguna Bertujuan untuk menjamin bahwa relasi dalam logical model tersebut mendukung user’s requirements specification secara detil. Selain itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat suatu relasi.
e.
Mendefinisikan integrity constraints Bertujuan untuk mendefinisikan integrity constraints yang disampaikan dalam pandangan. Terdapat lima tipe integrity constraints yang harus diperhatikan, yaitu: •
Required data
•
Attribute domain constraints
•
Entity integrity
28
f.
•
Referential integrity
•
Enterprise constraints
Melihat kembali local logical data model dengan pengguna Bertujuan untuk menjamin local logical data model dan mendukung dokumentasi yang menggambarkan model sudah benar.
Langkah ketiga : Membuat dan memvalidasi global logical data model. Bertujuan
untuk menyatukan local logical data model
menjadi global logical data model. Pada perancangan logical model langkah ketiga, tahapan-tahapannya adalah : a.
Menggabungkan local logical data model Menghasilkan E-R diagram, skema relasional, kamus data dan dokumen pendukung yang mendeskripsikan constraints dari model. Beberapa tugas yang harus dikerjakan adalah sebagai berikut : •
Memeriksa kembali nama dan isi dari entities dari relationships dan candidate key.
•
Memeriksa
kembali
nama
dan
isi
dari
relationships/foreign keys •
Menggabungkan entities atau hubungan dari local data model.
29 •
Mengikutsertakan (tanpa menggabungkan) entities atau relationships yang unik pada tiap local data model.
•
Menggabungkan relationship atau foreign key dari local data model.
•
Mengikutsertakan
(tanpa
menggabungkan)
relationship atau foreign key unik pada tiap local data model. •
Memeriksa
untuk
entities
(hubungan)
dan
relationships atau foreign key.
b.
•
Memeriksa integrity constraints.
•
Menggambarkan E-R diagram
•
Melakukan Update dokumen.
Memvalidasi global logical data model Bertujuan untuk memvalidasi relasi yang dibuat dari global logical data model dengan teknik normalisasi dan menjamin bahwa model tersebut mendukung kebutuhan transaksi.
c.
Mengecek pertumbuhan yang akan datang Bertujuan untuk menentukan apakah ada perubahan yang signifikan seperti keadaan yang tidak terduga dimasa mendatang dan menilai apakah model logikal tersebut dapat menampung atau menyesuaikan perubahan yang terjadi.
30 d.
Melihat kembali global logical data model dengan pengguna Bertujuan untuk menjamin model data logikal yang bersifat global telah tepat untuk perusahaan.
2.4.3
Perancangan Basis Data Fisik (Physical Database Design) Physical database design adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang diguknakan untuk efisiensi data dan menghubungkan beberapa integrity constraints dan tindakan keamanan (Connolly, 2002, p478). Langkah keempat : Menerjemahkan global logical data model untuk target DBMS. Bertujuan untuk menghasilkan skema basis data relasional dalam global logical data model yang dapat diimplementasikan ke DBMS. Pada perancangan physical model, langkah-langkahnya adalah: a.
Merancang basis data relasional Dalam memulai merancang physical design, diperlukan untuk mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design. Informasi yang penting bisa didapatkan dari kamus data dari DDL.
b.
Merancang representasi dari data yang diperoleh Bertujuan untuk menentukan bagaimana setiapa data yang diperoleh mewakili global logical data model ke dalam DBMS.
31 c.
Merancang enterprise constraints Pada langkah ini bertujuan untuk merancang batasanbatasan yang ada pada perusahaan.
Langkah kelima : Merancang representasi physical. Bertujuan untuk menentukan organisasi file yang untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk meningkatkan performa. Terdapat tiga faktor yang memungkinkan digunakannya representasi physical: 1.
Transaction throughput
2.
Response time
3.
Disk storage
Dalam langkah kelima ini perlu untuk memahami system resources untuk menigkatkan performa basis data. •
Main memory Dengan semakin besar main memory yang ada maka akan dapat meningkatkan performa DBMS dan aplikasi basis data yang digunakan.
•
CPU Mengontrol tugas-tugas dari system resources lain dan mengeksekusi prosesnya.
32 •
Disk I/O Dengan menggunakan DBMS yang besar, maka disk I/O yang diperlukan sangat signifikan dalam menyimpan dan mengambil data. Untuk menghindari kemacetan transfer data, maka: ¾
File sistem operasi harus dipisahkan dari file basis data.
¾
File utama basis data harus dipisahkan dari file indeks.
¾
File recovery log harus dipisahkan dari basis data yang sedang digunakan
•
Network Ketika jumlah data yang ditransfer telah banyak, maka dengan menggunakan network sangat dianjurkan. Selain itu juga untuk menghindari dari kemacetan dalam mentransfer data.
Langkah-langkah dalam langkah kelima ini adalah: a.
Menganalisis transaksi Bertujuan untuk memahami fungsi dari transaksi yang dijalankan pada basis data dan menganalisa transaksi yang penting. Kriteria kemampuan yang harus diidentifikasi dalam menganalisa transaksi adalah:
33 •
Transaksi dapat berjalan secara sering dan akan mempunyai dampak yang signifikan pada performa.
•
Transaksi yang kritis pada operasi dan bisnis
•
Waktu selama sehari atau seminggu ketika aka nada permintaan yang tinggi pada saat basis data dibuat.
b.
Memilih file organisasi Bertujuan untuk menyimpan data secara tepat ke tempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan (Silberschatz, 2002, p422), yaitu:
c.
•
Heap
•
Hash
•
Sekuensi berindeks
•
Clusters
Memilih indeks Bertujuan untuk meningkatkan performa dalam suatu sistem basis data. Salah satu pendekatan untuk memilih organisasi file yang cocok untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indexes sebagaimana diperlukan. Oleh karena itu, pilih attribute yang digunakan adalah:
34 •
Attribute
yang
sering
digunakan
untuk
join
operations untuk membuat lebih efisien. •
Attribute yang sering dipesan untuk mengakses tuples pada suatu relasi di dalam urutan yang menunjukkan attribute.
d.
Memperkirakan kebutuhan ruang penyimpanan Bertujuan penyimpanan
untuk yang
akan
memperkirakan diperlukan
jumlah
dalam
basis
ruang data.
Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Contohnya dalam lima tahun mendatang berapa kapasitas hard disk yang dibuthkan untuk menampung data.
Langkah keenam : Merancang pandangan pengguna (user interface). Bertujuan untuk merancang user interface yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional database lifecycle. Contohnya pada branch terdiri dari interface direktur dan manager. Langkah ketujuh : Merancang keamanan. Dalam sebuah sistem basis data, keamanan adalah elemen yang sangat penting mengingat isi dari basis data berupa informasi yang sangat penting. Menurut Silberszhatz
35 (2002,p239), ukuran keamanan yang dapat diambil untuk melindungi basis data antara lain dari segi: •
Sistem basis data : ada beberapa user berwenang yang diizinkan untuk mengakses bagian basis data tertentu dan ada para user lain yang hanya diizinkan untuk membaca data yang diinginkannya, tetapi tidak punya hak untuk mengubahnya. Kewajiban dari sistem basis data ini adalah menjaga batasan seperti di atas tetap terjaga.
•
Sistem operasi : tidak peduli betapa aman sistem basis datanya, apabila terjadi kelemahan dalam keamanan sistem operasi. Hal ini sama artinya dengan adanya akses yang tidak diinginkan dalam basis data. Jadi tingkat keamanan pernagkat lunak dalam sistem operasi sangatlah penting seperti halnya keamanan yang dilakukan secara fisik.
•
Jaringan : seluruh sistem basis data memperbolehkan untuk mengkases lewat terminal atau jaringan, keamanan softwarelevel dalam software jaringan sangat penting sebagai keamanan fisik, keduanya dibutuhkan dalam internet dan jaringan pribadi.
•
Fisik : situs yang mengandung sistem komputer harus secara fisik aman dari entri yang diam-diam dan bahaya oleh para penyelundup.
36 •
Manusia : otorisasi pada user harus dilakukan secara hati-hati untuk
mengurangi
adanya
kejadian
dimana user
yang
berwenang memberikan akses kepada orang lain dengan imbalan suap atau yang lainnya.
Langkah redundansi
kedelapan
kontrol.
Pada
:
Mempertimbangkan
langkah
physical
pengenalan
database
design
dan ini
mempertimbangkan denormalisasi skema relasional untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara struktural konsisten dan menekan jumlah redudansi. Faktor yang perlu dipertimbangkan adalah : •
Denormalisasi membuat implementasi lebih kompleks
•
Denormalisasi selalu mengorbankan fleksibilitas
•
Denormalisasi akan membuat cepat dalam retrieve data tetapilambat dalam updates.
Ukuran performa dari suatu perancangan basis data dapat dilihat darisudut pandang tertentu yaitu melalui pendekatan efisiensi data (Normalisasi) atau pendekatan efisiensi proses (Denormalisasi). Efisiensi data dimaksudkan untuk meminimalkan kapasitas disk, dan efisiensi proses dimaksudkan untuk data.
mempercepat proses saat retrieve data dari basis
37 Langkah kesembilan : Memonitor dan memasang sistem operasi. Bertujuan untuk memonitor sistem operasi, meningkatkan performa dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan.
2.5
Entity Relationship Modelling 2.5.1
Entity type Entity adalah kumpulan objek dengan sifat-sifat sama yang diidentifikasikan oleh perusahaan dan mempunyai keberadaannya sendiri. Entity dilambangkan dengan sebuah kotak yang dibubuhi nama dari entity tersebut didalam kotak tersebut. Dalam UML huruf pertama entity selalu menggunakan huruf kapital. Entity ada dua jenis, yaitu :
2.5.2
a.
Strong entity : keberadaanya tidak bergantung pada entity lain.
b.
Weak entity : keberadaanya bergantung pada entity lain.
Relationship type Sekumpulan asosiasi yang artinya mempunyai satu atau lebih tipe entity. Setiap tipe relasi diberikan nama yang menggambarkan fungsinya. Representasi diagram dari tipe relasi ditunjukkan dengan garis yang menghubungkan tipe entity yang berasosiasi dan diberi label dengan nama relasi.
38 2.5.2.1
Derajat tipe relasi Entity yang dilibatkan dalam tipe relasi tertentu dinyatakan sebagai pertisipan pada relasi tersebut. Jumlah partisipan pada tipe relasi disebut derajat relasi. Relasi dengan derajat dua disebut binary. Relasi dengan derajat tiga disebut ternary. Relasi dengan derajat empat disebut quaternary.
2.5.2.2
Relasi rekursif Merupakan tipe relasi dimana tipe entity yang sama berpartisipasi lebih dari sekali dengan peranan yang berbeda.
2.5.3
Atribut Merupakan property dari sebuah tipe entity atau tipe relasi. Contohnya, tipe entity Pegawai, bisa memiliki atribut nomor pegawai, nama pegawai, jabatan, dan gaji. Atribut dapat dikelompokan sebagai berikut : 2.5.3.1
Atribut Sederhana dan Komposit Atribut sederhana merupakan atribut yang terdiri dari satu komponen tunggal dengan keberadaannya sendiri, sehingga tidak dapat dipecah menjadi komponen-komponen yang lebih kecil lagi. Contoh atribut sederhana meliputi jabatan dan gaji dari entity Pegawai.
39 Atribut komposit merupakan atribut yang dibentuk dari banyak komponen. Contohnya atribut alamat dapat dipecah menjadi atribut jalan, kota, dan kodepos.
2.5.3.2
Atribut Single – Valued dan Multi – Valued Atribut Single – Valued
merupakan atribut yang
menyimpan nilai tunggal untuk setiap entity. Kebanyakan atribut adalah Single – Valued. Atribut Multi – Valued merupakan atribut yang menyimpan banyak nilai untuk setiap entity.
2.5.3.3
Atribut Turunan Atribut Turunan merupakan atribut dimana nilainya diperoleh atau diturunkan dari nilai atribut atau sekumpulan atribut lainnya, dan tidak harus dari tipe entity yang sama.
2.5.4
Keys 2.5.4.1
Simple Key Simple Key suatu kunci yang dibentuk oleh satu atribut.
2.5.4.2
Composite Key Composite Key merupakan candidate key yang terdiri atas dua atau lebih atribut, dimana nilai dari atribut tersebut bila
40 digabungkan
secara
bersama-sama
baru
akan
dapat
mengidentifikasikan sebuah record unik untuk tipe entity tersebut.
2.5.4.3
Candidate Key Candidate Key merupakan sekumpulan minimal atribut yang secara unik untuk mengidentifikasi setiap kemunculan tipe entity.
2.5.4.4
Primary Key Primary Key merupakan key yang terpilih secara unik untuk mengidentifikasi setiap kemunculan tipe entity.
2.5.4.5
Alternate Key Alternate Key merupakan kunci candidate yang tidak dapat dipakai sebagai kunci primer (primary key).
2.5.4.6
Foreign Key Foreign Key merupakan suatu atribut yang melengkapi satu hubungan (relationship) yang menunjukkan ke induknya.
2.6
Normalisasi Merupakan serangkaian test dari sebuah relasi untuk menentukan apakah relasi tersebut memuaskan atau mengganggu kebutuhan dari sebuah normal form yang diberikan (Connolly, 2002, p.376).
41 2.6.1
Proses Normalisasi Teknik normalisasi menyangkut sebuah rangkaian aturan yang digunakan untuk memeriksa sebuah relasi, sehingga sebuah basis data dapat dinormalisasi dalam beberapa tahap. Normalisasi biasanya dijalankan seperti sekumpulan langkah secara bertahap, dimana relasi menjadi semakin kuat bila langkah (degree) yang dikenakan padanya semakin tinggi. 2.6.1.1
Bentuk Normal Kesatu (1NF) Mengidentifikasi dan membuang attribute yang berulang (repeting group) dan memiliki nilai yang lebih dari satu. Suatu hubungan dikatakan normal pertama jika : a.
setiap dari baris dan kolom berisi attribute yang bernilai tunggal
2.6.1.2
b.
kunci primer telah ditentukan
c.
attribute nilai banyak (multi value) telah dihilangkan
Bentuk Normal Kedua (2NF) Suatu relasi yang memiliki composite key sebagai primary key – nya mempunyai kemungkinan untuk memiliki partial functional dependency, dimana atribut bukan primary key merupakan fungsi pada salah satu atau sebagian dari primary key. Dalam 2NF maka setiap atribut yang merupakan partial functional dependency harus dipisahkan ke relasi atau tabel yang baru dengan mengikutsertakan determinantnya. Bentuk 2NF
42 diperoleh apabila setiap atribut bukan bagian dari primay key suatu tabel merupakan functional dependency dari primary key tabel tersebut.
2.6.1.3
Bentuk Normal Ketiga (3NF) Suatu tabel atau relasi memiliki transitive dependency apabila memilki atribut bukan primary key yang bergantung fungsional pada atribut bukan primary key lainnya pada tabel tersebut. Maka setiap atribut yang transitive dependency dipisahkan menjadi relasi yang baru dengan mengikutsertakan determinantnya. Bentuk 3NF diperoleh apabila setiap atribut bukan primary key dalam suatu tabel merupakan transitive dependency dari atribut bukan primay key tabel tersebut.
2.6.1.4
Bentuk Normal Boyce-Codd (BCNF) Normalisasi BCNF dapat dilakukan bila terdapat kondisi dimana relasi memiliki dua atau lebih composite key dimana candidate key-nya saling melengkapi, yang sedikitnya memiliki satu atribut pada umumnya. Sebuah relasi dikatakan BCNF, jika dan hanya jika setiap determinant adalah candidate key.
2.6.1.5
Bentuk Normal Keempat (4NF) Sebuah relasi dikatakan memiliki multi-value dependency apabila terdapat dua atau lebih one to many relationship saling
43 bebas terdapat pada relasi tersebut. Multi-Value dependency dapat dihilangkan dengan memisahkan masing-masing relasi one to many menjadi sebuah tabel baru dengan mengikutsertakan determinantnya. Bentuk 4NF diperoleh apabila relasi tersebut telah BCNF dan tidak terdapat multi-value dependency.
2.6.1.6
Bentuk Normal Kelima (5NF) Relasi dikatakan telah 5NF bila relasi tersebut tidak memiliki joint dependency.
2.7
SQL (Structured Query Language) 2.7.1
Pengertian SQL Menurut Kadir (1999, p.101), SQL singkatan dari Structured Query Language. Dalam bahasa inggris sering dibaca sebagai SEQUEL. SQL merupakan bahasa query standard yang digunakan untuk mengakses basis data relasional. Standarisasi internasional terhadap sql pertama kali dilakukan oleh ANSI (American National Standard Institution), melalui publikasi database language SQL (ANSI X3.136 – 1986). Saat ini, ANSI dan ISO (International Standards Organization) merupakan dua organisasi yang membuat standarisasi tehadap SQL. SQL pertama kali diterapkan pada system R (sebuah proyek riset pada laboratorium riset San Jose, IBM). Namun kini SQL juga dijumpai pada berbagai platform, dari microcomputer hingga mainframe. SQL dapat
44 digunakan baik secara berdiri sendiri maupun dilekatkan pada bahasa – bahasa lain seperti COBOL dan C. SQL juga telah menjadi bagian dari sejumlah DBMS, seperti ORACLE, SYBASE, dan INFORMIX. SQL bukanlah satu –satunya query yang diterapkan pada basisdata. QUELL adalah contoh bahasa query yang lain, yang pertama kali diperkenalkan pada system basis data Ingres.
2.7.2
SQL sebagai Subbahasa Penyebutan SQL sebagai bahasa query tidak tepat sebab kemampuan SQL tidak terbatas hanya untuk query (memperoleh data) tetapi juga mencakup kemampuan lain seperti : a.
pendefinisian struktur data
b.
pengubahan data
c.
pengaturan sekuritas, dan sebagainya
Terkadang SQL dikatakan sebagai subbahasa data, bukan sebagai bahasa. Alas an SQL bukanlah bahasa query telah dijelaskan. Adapun alasan SQL dikatakan sebagai subbhasa data adalah karena SQL tidak mendukung persyaratan bahasa yang lengkap, sekalipun SQL dapat dipakai untuk mengakses basisdata. SQL tidak menyediakan hal – hal berikut : •
pernyataan penguji kondisi (semacam IF pada COBOL)
•
pernyataan pengulangan / iterasi (semacam REPEAT pada Pascal)
45 2.7.3
Antarmuka SQL Terhadap DBMS Penggunaan SQL pada DBMS cukup luas. SQL dapat dipakai oleh berbagai kalangan (DBA, pemrogram, ataupun pengguna). 2.7.3.1
SQL sebagai bahasa administrasi basis data Dalam hal ini SQL dipakai oleh DBA untuk menciptakan serta mengendalikan pengaksesan basis data.
2.7.3.2
SQL sebagai bahasa query interaktif Pengguna dapat memberikan perintah- perintah untuk mengakses basis data
yang sesuai dengan kebutuhannya. Hal
seperti ini sangat berguna untuk memenuhi kebutuhan – kebutuhan yang seketika ( hanya digunakan saat itu saja ).
2.7.3.3
SQL sebagai bahasa pemrograman basis data Pemrograman dapat mnggunakan perintah – perintah SQL dalam program aplikasi yang dibuat, guna mengakses basis data.
2.7.3.4
SQL sebagai bahasa klien / server SQL juga dipakai sebagai untuk mengimplementasikan system klien / server. Sebuah klien dapat menjalankan suatu aplikasi yang mengakses basis data yang ada pada suatu server. Dalam hal ini system operasi antara server dan klien bisa berbeda. Sebagai contoh, server barangkali menggunakan UNIX dan klien menggunakan perangkat lunak DBMS yang berbeda. Sebagai
46 contoh,
klien
menggunakan
Visual
FoxPro
dan
server
menggunakan Informix.
2.7.4
Elemen SQL Menurut Kadir (1999, p.104 – p.106), elemen dasar SQL mencakup pernyataan, nama, tipe data, konstanta, ekspresi, dan fungsi bawaan. 2.7.4.1
Pernyataan Pernyataan adalah perintah SQL yang meminta suatu tindakan pada DBMS. SQL memiliki kira- kira 30 pernyataan. Beberapa pernyataan dasar SQL bisa dilihat pada tabel berikut:
PERNYATAAN
KETERANGAN
ALTER
Mengubah struktur tabel
COMMIT
Mengakhiri sebuah eksekusi transaksi
CREATE
Menciptakan tabel, indeks, atau pandangan
DELETE
Menghapus baris pada tabel
DROP
Menghapus tabel, indeks, atau pandangan Menugaskan hak terhadap basis data kepada pengguna atau grup
GRANT pengguna INSERT
Menambahkan sebuah baris pada tabel
REVOKE
Membatalkan hak terhadap basis data Mengembalikan ke keadaan semula sekiranya suatu transaksi
ROLLBACK gagal dilaksanakan
47 SELECT
Memilih baris dan kolom pada tabel
UPDATE
Mengubah nilai pada sebuah baris
Tabel 2.1 Pernyataan – pernyataan dasar SQL
2.7.4.2
Nama Nama digunakan sebagai identitas bagi objek – objek pada DBMS. Contoh objek pada DBMS adalah table, kolom, dan pengguna.
2.7.4.3
Tipe Data Setiap data memiliki tipe data. Beberapa tipe data standar dapat dilihat pada tabel berikut:
TIPE DATA CHAR
KETERANGAN Untuk menyatakan deretan kerakter (string). Misalnya, untuk menyatakan nama orang, nama jalan, atau nama kota
INTEGER
Untuk menyatakan bilangan bulat
NUMERIC
Untuk menyatakan bilangan real
Tabel 2.2 Tabel tipe data standar
48 Adapun beberapa tipe data perluasan dapat dilihat pada tabel berikut: TIPE DATA
KETERANGAN
VARCHAR
Untuk menyatakan string yang panjangnya bervariasi
MONEY
Untuk menyatakan uang
BOOLEAN
Menyatakan tipe logis (True atau False)
BLOB
Untuk menyatakan data biner (gambar
SERIAL atau Untuk menyatakan nilai yang urut AUTOINCREMENT
Tabel 2.3 Tabel tipe data perluasan
2.7.4.4
Konstanta Konstanta menyatakan nilai yang tetap (kebalikan dari konstanta adalah variabel). Beberapa contoh konstanta : •
konstanta numeric : 123, -245, 5.45
•
konstanta : ‘Jl. Gemblung 34’
•
konstanta simbolik (konstanta yang tersedia pada SQL dan mepunyai makna tersendiri) : SYSDATE (tanggal sistem), USER (nama pengguna yang menjalankan SQL). Konstanta simbolik seringkali disebut variable system.
49 2.7.4.5
Ekspresi Ekspresi adalah segala sesuatu yang menghasilkan nilai. Ekspresi digunakan untuk menghitung nilai. Contoh : (LABA / MODAL) * 100 merupakan ekspresi untuk membagi isi variable LABA dengan MODAL, dan kemudian dikalikan dengan 100. Simbol – simbol yang dapat digunakan pada ekspresi aritmatika antara lain :
SIMBOL
KETERANGAN
*
Perkalian
/
Pembagian
+
Penjumlahan
-
Pengurangan
Tabel 2.4 Simbol pada ekspresi aritmatika
2.7.4.6
Fungsi Bawaan Fungsi bawaan adalah sebuah sub – program yang menghasilkan suatu nilai jika dipanggil. SQl memiliki sejumlah fungsi bawaan (fungsi yang disediakan oleh SQL). Sebagai contoh, terdapat fungsi bernama MIN yang digunakan untk memperoleh nilai terkecil atau AVG untuk memperoleh nilai rata – rata.
50 2.7.5
Kelompok Pernyataan SQL Pernyataan SQL dapat dikelompokkan menjadi 5 kelompok, DDL, DML, DCL, pengendali transaksi, dan pengendali programatik. 2.7.5.1
DDL (Data Definition Language) Menurut Subekti (1997, p20), DDL (Data Definition Language) adalah suatu bahasa yang dipakai untuk menjelaskan objek dari basisdata seperti terlihat oleh pengguna (DBA, programmer,
pengguna
akhir).
DDL
dipakai
untuk
mendefinisikan kerangka basisdata (berorientasi pada tipe dari objek basisdata). DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan attribute –attribute basis data, table, attribute (kolom), batasan – batasan terhadap terhadap suatu attribute, serta hubungan antar table. Yang temasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP.
2.7.5.2
DML (Data Manipulation Language) Menurut Subekti (1997, p20), DML (Data Manipulation Language) adalah suatu bahasa yang dipakai untuk memanipulasi (memasukkan, merubah, menghapus) objek data dari basisdata. Perintah yang masuk kategori DML adalah : •
SELECT memilih data
•
INSERT
menambah data
51
2.7.5.3
•
DELETE menghapus data
•
UPDATE mengubah data
DCL (Data Control Language) DCL berisi perintah – perintah untuk mengendalikan pengaksesan data. Pengendalian dapat dilakukan per pengguna, per table, per kolom, maupun per operasi yang boleh dilakukan. Perintah – perintah yang termasuk DCL adalah : •
GRANT
memberikan kendali pengaksesan
data •
REVOKE
mencabut kemampuan pengaksesan
data • 2.7.5.4
LOCK TABLE
mengunci table
Pengendali Transaksi Pengendalian transaksi adalah perintah – perintah yang berfungsi
untuk
mengendalikan
pengeksekusian
transaksi.
Perintah yang termasuk dalam kategori ini : •
COMMIT menyetujui
rangkaian
perintah
yang
berhubungan erat (disebut transaksi) yang telah berhasil dilakukan. •
ROLLBACK
membatalkan
transaksi
yang
dilakukan karena adanya kesalahan atau kegagalan pada salh satu rangkaian perintah.
52 2.7.5.5
Pengendali Programatik Pengendalian
programatik
mencakup
pernyataan
–
pernyataan yang berhubungan dengan pemanfaatan SQL dalam bahasa lain (SQL yang dilekatkan). Pernyataan –pernyatan ini bias dipakai pada bahasa konvensional (3 – GL), seperti COBOL. Yang termasuk dalam pengendalian programatik : •
CLOSE
menutup kursor (pointer yang menunjuk ke
tabel)
2.8
•
DECLARE
•
FETCH
•
OPEN
mendeklarasikan kursor
mengambil nilai baris berikutnya untuk membuka kursor
Teori – teori lain 2.8.1
Flowchart Flowchart adalah sebuah representasi bergambar dari urusan proses operasi pada system informasi atau program. Flowchart dari system informasi menunjukan bagaimana aliran data dari dokumen sumber melewati computer untuk kemudian didistribusikan pada para pengguna. Flowchart program menunjukan urutan dari instruksi pada sebuah program atau subrutin.
53 2.8.2
Entity Relationship Diagram (ERD) E-R diagram menggambarkan komponen-komponen dari entity dan relasi yang masing-masing dilengkapi dengan attribute-attribute yang merepresentasikan seluruh fakta dari ‘real-world’ yang kita tinjau (Fathansyah,1999,p79). Sedangkan menurut Silberschatz(2002,p42), E-R diagram dapat menyatakan keseluruhan struktur logikal dari basis data dengan menggunakan bagan.
2.8.3
State Transition Diagram (STD) Menurut Jeffrey dan George (1996, p364), state transition diagram adalah suatu modeling tools yang menggambarkan sifat ketergantungan pada waktu dari sebuah sistem. Pada mulanya state transition diagram ini hanya digunakan untuk menggambarkan suatu sistem yang memiliki sifat realtime dan online seperti transaksi perbankan dan sistem militer. Terdapat 2 (dua) hal yang harus diperhatikan pada state transition diagram yaitu : 1. Condition Suatu event pada external environment yang dapat dideteksi oleh sistem dalam bentuk sebuah sinyal, interupt atau data. Hal ini akan menyebabkan perubahan terhadap state dari state menunggu X ke state menunggu Y atau memindahkan aktifitas X ke aktifitas Y.
54 2. Action Event yang terjadi pada sistem ketika sistem mengalami perubahan state. Action akan menghasilkan output, message display pada screen dan menghasilkan kalkulasi. State transition diagram memiliki beberapa simbol yang digunakan dimana setiap state direpresentasikan oleh sebuah empat persegi panjang, setiap transition direpresentasikan dengan anak panah. Event yang menyebabkan munculnya transition dari sebuah state menuju state yang lain digambarkan dengan sebuah label yang diletakkan disamping anak panah transition. Action yang muncul pada state dituliskan dalam bentuk suatu set list instruksi. Berikut adalah gambar dari state, transition, event dan action.
State X Present State Transition Input Data Output Data State Y Next State
Gambar 2.2 State Transition Diagram
55 Untuk menggambarkan state transition diagram, ada beberapa aturan yang dapat diikuti : 1. Identifikasikan initial state. 2. Gambar empat persegi panjang untuk merepresentasikan setiap state. 3. Hubungkann setiap state dengan anak panah untuk menunjukan transition yang terjadi. 4. Setiap state harus menunjuk kepada satu atau lebih state yang lain. 5. Berikan label pada transisition dengan nama event. 6. Tuliskan list dari action yang terjadi pada setiap state. 7. Pertimbangkan reaksi dari sistem terhadap event yang muncul. 8. Amati diagram yang ada untuk menentukan apakah diagram tersebut perlu diubah. 9. Diskusikan diagram tersebut dengan anggota tim untuk meyakinkan akurasi dan kekonsistenan dari sistem.
2.9
Teori – teori pendukung 2.9.1
Proyek Menurut Schwalbe (2004, p4) Proyek adalah suatu usaha yang bersifat sementara untuk menghasilkan suatu produk atau layanan yang unik. Dalam hal proyek sistem informasi berarti proyek tersebut berupa sistem aplikasi yang terdiri atas beberapa modul program, tetapi proyek software bervariasi cakupannya, mulai dari membangun sistem yang besar sampai hanya membuat program satu modul saja. Proyek normalnya melibatkan beberapa orang yang saling berhubungan
56 aktivitasnya dan sponsor utama dari proyek biasanya tertaik dalam penggunaan sumber daya yang efektif untuk menyelesaikan proyek secara efisien dan tepat waktu.
2.9.2
Manajemen Manajemen merupakan poses pengkoordinasian aktivitas kerja beberapa orang sehingga kerja bisa terselesaikan secara efektif dan efisien (http://romisatriawabono.net/).
2.9.3
Manajemen Proyek Menurut Schwalbe (2004, p8), Manajemen proyek merupakan aplikasi dari ilmu pengetahuan, skills, tools, dan teknik untuk aktifitas suatu proyek dengan memenuhi atau melampaui kebutuhan stakeholder dan harapan dari sebuah proyek. Menurut Iman Soeharto (1997, p24), Manajemen proyek adalah merencanakan, mengorganisir, memimpin dan mengendalikan sumber daya perusahaan untuk mencapai sasaran jangka pendek yang telah ditentukan. Lebih jauh, manajemen proyek menggunakan pendekatan sistem dan hirarki (arus kegiatan) vertikal maupun horizontal.