• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
39
0
0

Teks penuh

(1)

5

LANDASAN TEORI

2.1 Teori Sistem Basis Data 2.1.1 Basis Data

Menurut Connolly dan Begg (2010 ,p65) basis data dapat dianggap sebagai sekumpulan data yang saling terkait secara logis yang disertai deskripsi data tersebut , dan dirancang untuk memenuhi kebutuhan informasi perusahaan. Sedangkan basis data menurut Date (1999, p5) adalah suatu sistem yang pada dasarnya menyimpan record-record di dalam suatu sistem yang dilakukan secara komputerisasi yang tujuannya adalah menjadi suatu kumpulan data yang terhubung dan Database Management System (DBMS) menjadi program yang mengatur dan mengontrol akses ke basis data, serta memelihara informasi dan membuat informasi tersebut tersedia berdasarkan permintaan.

2.1.2 Relational Database

Menurut Connolly dan Begg (2010, p87), relational database adalah suatu kumpulan dari relasi yang telah dinormalisasi dengan nama relasi yang berbeda satu dengan yang lain.

Relational database terdiri dari kumpulan tabel yang menyimpan data tertentu. Relational database menghasilkan informasi dalam tabel dan kolom. Tabel diartikan sebagai relasi yaitu sekumpulan data yang berasal dari jenis yang sama. Data- data dalam tabel dihubungkan sesuai dengan keys yang ada.

(2)

2.1.3 Database Management Sistem

Menurut Connolly dan Begg (2010, p66), DBMS adalah sebuah sistem perangkat lunak yang memampukan user untuk mendifinisikan, membuat, memelihara, dan mengendalikan akses terhadap sistem basis data 2.1.3.1 Komponen DBMS

Komponen DBMS terdiri dari 5 yang utama yaitu : 1. Hardware (Perangkat Keras)

Dibutuhkan perangkat keras untuk menjalankan DBMS dan aplikasinya seperti personal computer, mainframe, maupun jaringan yang terdiri dari banyak computer.

2. Software (Perangkat Lunak)

Komponen dari perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi.

3. Data

Data pada sebuah sistem basis data baik itu single-user system maupun multi-user system harus terintegrasi dan dapat digunakan bersama.

4. Prosedur

Intruksi dan aturan yang harus disertakan dalam mendesain dan menggunakan data dalam basis data dan DBMS.

5. Manusia

Orang-orang yang terlibat dalam DBMS antara lain :

a. Data Administrator, orang yang berwenang untuk membuat keputusan strategi dan kebijakan mengenai data yang ada.

(3)

b. Database Administrator, orang yang menyediakan dukungan teknis untuk implementasi kebutuhan tersebut dan bertanggung jawab atas kontrol sistem pada level teknis.

c. Database Designer, ada dua tipe dari database designer yaitu :

i. Logical Database Designer, tugasnya berhubungan

dengan mengidentifikasi relasi antar data dan batasan pada data yang akan disimpan pada basis data.

ii. Physical Database Designer, bertugas untuk memutuskan bagaimana desain logikal basis data direalisasikan.

d. Aplication Programmer, bertanggung jawab untuk membuat

aplikasi basis data dengan menggunakan bahasa pemrograman yang ada.

e. End User, terdiri dari pengguna yang tidak perlu mengetahui basis data dan DBMS (Naive), serta pengguna yang familiar dengan struktur basis data dan DBMS (Shopisticated).

2.1.3.2 Fasilitas DBMS

Fasilitas yang dimiliki DBMS yaitu :

1. Data Definition Language (DDL), digunakan untuk

menspesifikasikan tipe data, struktur, dan constraint data. Semua spesifikasi disimpan d dalam basis data.

2. Data Manipulation Language (DML), digunakan untuk

(4)

3. Pengendalian akses basis data, digunakan untuk mengontrol keamanan sistem, integritas sistem, pengendalian share data, backup dan recovery system, dan katalog deskripsi data dalam basis data.

4. Mekanisme View, digunakan untuk ditampilkan kepada pengguna data yg diperlukan dan digunakan.

2.1.4 Database System Development Lifecycle

(5)

Tahapan Database System Development Lifecycle adalah :

1. Database Planning, perencanaan basis data merupakan aktivitas

menajemen yang memungkinkan tahapan dari database lifecycle direalisasikan seefektif dan dan se-efisien mungkin (Connolly and Begg, 2010, p313). Tahap perancangan basis data juga harius menjelaskan : a. Mission Statement, sasaran utama sistem basis data. Mission

Statement menjelaskan tujuan sistem basis data dan menyediakan maksud lebih jelas dalam pembuatan aplikasi basis data secara efisien dan efektif (Connolly and Begg, 2010, p313).

b. Mission Objectives, selain merumuskan tujuan dari sebuah proyek basis data namun harus diperhatikan mengenai tugas apa saja yang harus didukung oleh basis data tersebut. Setiap Mission Objectives akan menjelaskan tugas tertentu yang harus didukung oleh basis data, dengan asumsi jika basis data mendukung Mission Objectives, maka Mission Statement juga akan sesuai (Connolly and Begg, 2010, p314). 2. System Definition, proses menspesifikasikan ruang lingkup dan batasan dari aplikasi sistem basis.Menjelaskan batasan dan cakupan dari aplikasi basis data dan sudut pandang user (user view) utama (Connolly and Begg, 2010, p316).

3. Requirement Collection and Analysis, proses pengumpulan dan analisa informasi mengenai bagian dari organisasi yang akan didukung oleh aplikasi sistem basis data dan mengggunakan informasi ini untuk mengidentifikasi kebutuhan pada sistem yang baru.Ada banyak teknik untuk mengumpulkan informasi. Teknik tersebut dinamakan fact-finding.

(6)

4. Database Design, proses dari pembuatan sebuah rancangan yang mendukung visi dan misi perusahaan yang dibutuhkan untuk sebuah sistem basis data. Menurut Conolly dan Begg, metodologi perancangan sistem basis data terdiri dari 3 tahap, yaitu :

Tahap 1: Perancangan Sistem Basis data secara koseptual, yaitu proses membuat model dari data yang digunakan dalam perusahaan tanpa pertimbangan fisikal.

Tahap 2: Perancangan sistem basis data secara logikal, yaitu proses membuat model dari data yang akan digunakan dalam perusahaan berdasarkan sebuah model data yang spesifik. Tahap 3: Perancangan sistem basis data secara fisikal, yaitu proses

menghasilkan sebuah deskripsi implementasi dari database pada penyimpanan sekunder.

5. DBMS selection, Pemilihan DBMS yang tepat untuk mendukung sistem basis data. Tahap-tahap utama untuk memilih DBMS (Connolly dan Begg, 2010, p325) :

a. Mendefinisikan terminologi studi referensi

Dibuat dengan menyatakan tujuan dan ruang lingkup pembelajaran, tugas-tugas yang akan dikerjakan, penjelasan kriteria (berdasarkan spesifikasi kebutuhan pengguna) yang akan digunakan dalam mengevaluasi produk-produk DBMS, daftar produk-produk yang dimungkinkan, semua batasan-batasan dan skala waktu yang dibutuhkan untuk proses pembelajaran.

(7)

b. Mendaftar dua atau tiga produk

Kriteria yang dianggap penting dalam keberhasilan implementasi dapat digunakan untuk membuat daftar produk-produk DBMS dalam evaluasi, seperti dana yang tersedia, tingkat dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan apakah produk hanya berjalan pada perangkat keras tertentu.

c. Evaluasi produk

Ada berbagai fitur yang dapat digunakan untuk mengevaluasi produk DBMS (Connolly dan Begg, 2010, p326). dikelompokkan menjadi definisi data, definisi fisik, kemampuan akses, penanganan keperluan-keperluan, pengembangan, dan fitur lainnya.

d. Rekomendasi pilihan dan laporan produk

Langkah terakhir dari pemilihan DBMS adalah mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomendasi atas produk DBMS tertentu.

6. Application Design, Desain aplikasi adalah rancangan dari user interface dan programprogram aplikasi yang di gunakan dan proses suatu basis data. Desain basis data dan aplikasi merupakan aktivitas paralel yang meliputi dua aktivitas penting, yaitu (Connolly dan Begg, 2010, p329) : a. Perancangan transaksi (transaction design)

Transaksi adalah satu aksi atau serangkaian aksi yang dilakukan oleh pengguna tunggal atau program aplikasi, yang mengakses atau merubah isi dari database. Kegunaan dari desain

(8)

transaksi adalah untuk menetapkan dan keterangan karakteristik high-level dari suatu transaksi yang dibutuhkan pada database, diantaranya :

i. Data yang akan digunakan oleh transaksi ii. Karakteristik fungsional dari suatu transaksi iii. Output transaksi

iv. Keuntungannya bagi user

v. Tingkat kegunaan yang diharapkan Terdapat tiga tipe transaksi yaitu :

i. Retrieval transaction, digunakan untuk pemanggilan data untuk ditampilkan di layar atau menghasilkan suatu laporan,

ii. Update transaction, digunakan untul menambahkan record baru, menghapus record lama, atau memodifikasi record yang sudah ada di dalam basis data.

iii. Mixed transaction, meliputi pemanggilan dan perubahan data. b. Perancangan antarmuka pengguna (user interface design).

Tujuan dari Perancangan Antarmuka Pengguna adalah merancang interface yang efektif untuk sistem perangkat lunak. 7. Prototyping, Membuat model kerja dari sebuah aplikasi basis data.

Tujuan utama dari pembuatan prototyping adalah (Connolly dan Begg, 2010, p333):

a. Untuk memungkinkan pengguna untuk menggunakan prototipe b. Untuk mengidentifikasi feature dari sistem yang berkerja dengan baik

(9)

c. Untuk menyarankan / memberikan perbaikan-perbaikan atau penambahan feature baru.

d. Untuk klarifikasi kebutuhan user.

e. Untuk evaluasi kemungkinan yang terjadi dari desain sistem khusus.

Terdapat dua macam strategi prototyping yang digunakan saat ini :

a. Requirements prototyping, menggunakan prototype untuk menentukan kebutuhan dari aplikasi database yang diinginkan dan ketika kebutuhan itu terpenuhi maka prototype akan dibuang.

b. Evolutionary prototyping, digunakan untul tujuan yang sama. Perbedaannya protoype tidak dibuang tetapi dengan pengembangan lanjutan menjadi aplikasi database yang digunakan.

8. Implementation, Implementasi merupakan realisasi secara fisik dari basis data dan desain aplikasi (Connolly dan Begg, 2010, p333). Implementasi basis data dilakukan dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI). Aplikasi program diimplementasikan menggunakan third or forth generation language (3GL atau 4GL). Bagian dari aplikasi program dan transaksi basis data, yang diimplementasikan menggunakan Data Manipulation Language (DML), kemungkinan sudah ada dalam host pemrograman.

9. Data Conversion dan Loading, Pemindahan data yang ada dalam basis

data yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basis data yang baru (Connolly dan Begg, 2010, p334)

(10)

langkah ini diperlukan hanya ketika suatu sistem basis data baru sedang menggantikan suatu sistem basis data yang lama.

10.Testing, proses menjalankan sistem basis data dengan tujuan mencari kesalahan(error).

11.Operational Maintanance, Suatu proses untuk memonitor dan merawat sistem aplikasi setelah instalasi. Dalam langkah-langkah yang sebelumnya, aplikasi basis data telah secara penuh diterapkan dan diuji. Sistem sekarang pindah kesuatu langkah pemeliharaan yang melibatkan aktivitas yang berikut (Connolly dan Begg, 2010, p335) :

a. Monitoring performance dari sistem. Jika performance jatuh dibawah suatu tingkatan yang bisa diterima penyetelan atau reorganisasi basis data mungkin diperlukan.

b. Maintaining dan meningkatkan mutu aplikasi basis data (ketika diperlukan).

2.1.5 SQL

SQL adalah contoh dari transformasi - bahasa rorientasi (transform oriented language), atau bahasa yang dirancang untuk menggunakan hubungan untuk mengubah input menjadi output yang diperlukan. sebagai bahasa, standard ISO SQL memiliki dua komponen utama, yaitu (Connolly dan Begg, 2010, p184) :

2.1.5.1 Data Definition Language (DDL)

Connolly and Begg (2010, p92) mendifinisikan DDL sebagai suatu bahasa yang mengijinkan administrator sistem basis data atau

(11)

user untuk menggambarkan dan memberi nama entitas, atribut, dan relasi yang dibutuhkan untuk aplikasi disertai dengan batasan-batasan integritas dan keamanan (Integrity Constraint and Security Constraint). Contoh operasinya adalah sebagai berikut:

1. Membuat tabel baru ke dalam database (Create) 2. Menghapus tabel dari database (Drop)

3. Memodifikasi tabel dalam database (Alter)

2.1.5.2 Data Manipulation Language (DML)

Connolly and Begg (2010, p92) mendifinisikan DML merupakan suatu bahasa yang menyediakan seperangkat operasi untuk mendukung dasar operasi untuk manipulasi data dasar dari data yang tersimpan pada sistem basis data. Operasi manipulasi data biasanya adalah sebagai berikut:

1. Memasukkan data baru ke dalam database (Insert)

2. Memodifikasi data yang tersimpan dalam database (Update) 3. Pengambilan data yang terdapat dalam database (Select) 4. Penghapusan data dari database (Delete / Drop)

2.1.6 Entity Relationship Modeling

Menurut Connolly dan Begg (2010, p371), salah satu aspek yang sulit dalam perancangan database adalah kenyataannya bahwa, perancang, programmer, dan end-user cenderung melihat data dengan cara yang berbeda. Karena itu, untuk memastikan pemahaman secara alamiah dari data

(12)

dan bagaimana data digunakan oleh perusahaan membutuhkan sebuah bentuk komunikasi yang non- teknis (non-technical) dan bebas dari kebingungan.

2.1.6.1 Entity Relationship Diagram

Menurut pendapat Kronke (2006, p37) Entity-Relationship Diagram (ERD) adalah adalah suatu pemodelan konseptual yang didesain secara khusus untuk mengidentifikasikan entitas yang menjelaskan data dan hubungan antar data, yaitu dengan menuliskan dalam cardinality.

2.1.6.2 Tipe Entity

Konsep dasar dari model ER adalah tipe entity, yaitu kumpulan dari objek-objek dengan sifat yang sama, yang diidentifikasi oleh enterprise mempunyai eksistensi yang independen. Keberadaannya dapat berupa fisik maupun abstrak (Connolly dan Begg, 2010, p372).Entity occurence, yaitu pengidentifikasian objek yang unik dari sebuah tipe entity.Setiap entity diidentifikasikan dan disertakan property-nya (Connolly dan Begg, 2010, p374).

(13)

2.1.6.3 Tipe Relationship

Tipe relationship merupakan kumpulan keterhubungan yang mempunyai arti antara tipe entity yang ada (Connolly dan Begg, 2010, p374). Relationship occurence, yaitu keterhubungan yang diidentifikasi secara unik yang meliputi keberadaan tiap tipe entity yang berpartisipasi.

Gambar 2.3 Representasi Diagram dari Relationship

2.1.6.4 Derajat Relationship

Yaitu jumlah entity yang berpartisipasi dalam suatu relationship (Connolly dan Begg, 2010, p376). Derajat relationship terdiri dari :

1. Binary relationship, keterhubungan antar dua tipe entity.

(14)

2. Ternary relationship, keterhubungan antar tiga tipe entity.

Gambar 2.5 Contoh Ternary Relationship

3. Quaternary relationship, keterhubungan antar empat tipe entity.

Gambar 2.6 Contoh Quaternary Relationship

4. Recursive relationship, keterhubungan antar satu tipe entity, dimana tipe entity tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda

(15)

Gambar 2.7 Contoh Recursive Relationship

2.1.6.5 Atribut

Atribut merupakan sifat-sifat dari sebuah entity atau tipe relationship (Connolly dan Begg, 2010, p379). Attribute domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam-macam atribut antara lain :

1. Simple attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi (Connolly dan Begg, 2010, p379).

2. Composite attribute, yaitu atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independen.

3. Single-valued attribute, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian.

4. Multi-valued attribute, yaitu atribut yang mempunyai beberapa nilai untuk setiap kejadian.

(16)

5. Derived attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entity.

2.1.6.6 Keys

Candidate key adalah kumpulan attribute minimal yang unik untuk mengidentifikasikan suatu entity types (Connolly dan Begg, 2010, p381).

Primary key adalah key yang telah menjadi candidate key yang dipilih secara unik untuk mengidentifikasi suatu entity types.

Composite key adalah candidate key yang terdiri dari dua atau lebih atribut.

Alternate key adalah key yang digunakan sebagai alternatif dari key yang telah didefinisikan (Fathansyah,1999,p104).

Foreign key adalah primary key pada sebuah entity yang digunakan pada entity lainnya untuk mengidentifikasikan sebuah relationship (Navathe dan Elmasri, 2002, p28).

2.1.6.7 Strong Entity dan Weak Entity

Strong entity (entity kuat) : entity yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entity yang lainnya(Connolly dan Begg 2010, p383). Instansiasi entity kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut

(17)

tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entity kuat yang lain).

Weak entity (entity lemah) : entity yang keberadaannya sangat bergantung pada keberadaan entity yang lainnya (Connolly dan Begg, 2010, p383). Entity lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam ER diagram tanpa kehadiran entity di mana mereka bergantung.

Gambar 2.8 Contoh Strong Entity dan Weak Entity

2.1.6.8 Structural Constraints

Multiplicity adalah jumlah occurence yang mungkin terjadi pada sebuah entity yang berhubungan ke sebuah occurence dari tipe entity lain pada suatu relationship (Connolly dan Begg, 2010, p385). Relationship yang terjadi diantara dua himpunan entity (misalnya A dan B) dalam satu basis data yaitu (Kadir, 2008, p48) :

1. One-to-One (1:1) Relationships : Hubungan relasi satu ke satu yaitu setiap entity pada himpunan entity A berhubungan paling banyak dengan satu entity pada himpunan entity B.

(18)

Gambar 2.9 Contoh One-to-One (1:1) Relationships

2. One-to-Many (1:*) Relationships : Setiap entity pada himpunan entity A dapat berhubungan dengan banyak entity pada himpunan entity B, tetapi setiap entity pada entity B dapat berhubungan dengan satu entity pada himpunan entity A.

Gambar 2.10 Contoh Many-to-Many (1:*) Relationships

3. Many-to-Many (*:*) Relationships : Setiap entity pada himpunan entity A dapat berhubungan dengan banyak entity pada himpunan entity B.

(19)

Gambar 2.11 Contoh Many-to-Many (*:*) Relationships

2.1.7 Normalisasi

Proses normalisasi pertama kali dikembangkan oleh E.F.Codd. Menurut Connolly dan Begg (2010, p416), normalisasi adalah teknik untuk menghasilkan sejumlah relations dengan property yang diperlukan, memberikan data yang dibutuhkan perusahaan. Berikut ini adalah tahap-tahap dalam melakukan normalisasi:

1. Unnormalized form (UNF)

Merupakan bentuk dimana sebuah table berisi satu atau lebih repeating group. Untuk mengubah unnormalized table menjadi 1NF, repeating group dalam table diidentifikasi dan dihilangkan. Repeating group adalah sebuah atau sekelompok atribut di dalam sebuah table yang memiliki banyak nilai untuk sebuah kejadian dari atribut key. Ada dua pendekatan untuk menghilangkan repeating group dari unnormalized table yaitu:

a. Repeating group dihilangkan dengan memasukkan data

(20)

b. Repeating group dihilangkan dengan menempatkan data yang berulang bersama dengan salinan key atribut asli.

2. First normal form (1NF)

Relasi yang dimana di tiap persimpangan baris dan kolomnya hanya berisi satu nilai saja. Dalam 1 NF ini, repeating group dihilangkan dengan cara memasukkan data yang benar ke dalam kolom yang kosong.

3. Second normal form (2NF)

Relasi yang berada di dalam normal form dan setiap atribut nonprimary key nya bergantung secara fungsional kepada primary key. Normalisasi relasi 1NF menjadi 2NF dengan menghilangkan partial dependency.Jika terdapat partial dependency, atribut yang bergantung secara fungsional dihilangkan dari relasi dengan meletakkannya pada relasi baru bersama dengan salinan determinannya.

4. Third normal form (3NF)

Relasi yang ada di 1NF dan 2NF dan atribut yang tidak mempunyai non-primary key mempunyai ketergantungan transitif kepada primary key. Normalisasi 2NF menjadi 3NF menghilangkan transitive dependency. Jika terdapat transitive dependency, atribut yang bergantung secara transitif dihilangkan dari relasi dengan meletakkan atribut pada relasi baru bersama dengan salinan determinan.

(21)

2.1.8 Perancangan Basis Data Konseptual, Logikal, dan Fisikal

2.1.8.1 Perancangan Basis Data Konseptual (Conceptual Database Design)

1. Membangun data model konseptual

Suatu proses pembentukan model dari informasi yang digunakan dalam enterprise, independen dari keseluruhan aspek fisik (Connolly dan Begg, 2010, p322). Model basis data dibangun dengan menggunakan informasi dalam spesifikasi kebutuhan dari user.Model data konseptual merupakan sumber informasi untuk fase desain logikal.

Langkah ini bertujuan untuk membagi rancangan menjadi tugas-tugas yang dapat diatur dengan melihat sudut pandang yang berbeda dari pengguna di dalam suatu organisasi. Hasil dari langkah ini berupa pembuatan satu atau lebih local conceptual data model yang merupakan gambaran yang tepat dan lengkap dari suatu organisasi dilihat dari para pengguna yang berbeda-beda. Langkah-langkah yang terdapat dalam perancangan basis data konseptual antara lain :

a. Mengidentifikasikan tipe-tipe entity

Bertujuan untuk menentukan tipe-tipe entity utama yang dibutuhkan. Menentukan entity dapat dilakukan dengan memeriksa spesifikasi kebutuhan pengguna. Setelah terdefinisi, entity diberikan nama yang tepat dan jelas

(22)

dengan menggunakan kata benda atau frase kata benda pada spesifikasi kebutuhan pengguna.

b. Mengidentifikasikan tipe-tipe relationship

Bertujuan untuk mengidentifikasi suatu relationship yang penting yang ada antar entity yang telah diidentifikasi. Nama dari suatu relationship menggunakan kata kerja atau suatu kata yang berhubungan dengan kata kerja.

c. Mengidentifikasikan dan menghubungkan atribut-atribut dengan tipe entity dan relationship.

Bertujuan untuk menghubungkan atribut dengan tipe-tipe entity atau relationship yang tepat (Connolly dan Begg, 2010, p474). Atribut yang dimiliki setiap entity atau relationship memiliki identity atau karakteristik yang sesuai dengan memperhatikan atribut berikut : simple atau composite attribute, single atau multi-valued attribute dan derived attribute.

d. Menentukan domain atribut

Domain adalah sekumpulan nilai dimana satu atau lebih atribut memperoleh nilainya (Connolly dan Begg, 2010, p478). Bertujuan untuk menentukan atribut domain pada conceptual data model. Contohnya yaitu menentukan nilai atribut jenis_kelamin pada entity mahasiswa dangan ‘M’atau ‘F’.

(23)

e. Menentukan atribut-atribut candidate key dan primary key

Bertujuan untuk mengidentifikasi candidate key pada setiap entity dan memilih primary key jika ada lebih dari satu candidate key untuk memilih satu untuk menjadi

primary key dan yang lainnya menjadi alternate

keys.(Connolly dan Begg, 2010, p479).

f. Mempertimbangkan penggunaan enhanced modeling (optional).

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 mengelompokan

beberapa entity dan menghasilkan entity yang baru (Connolly dan Begg, 2010, p480). Beda dari keduanya adalah cara prosesnya, dimana spesialisasi menggunakan proses top-down dan generalisasi menggunakan proses bottom-up. Aggregation menggambarkan sebuah tipe entity dengan sebuah tipe relationship dimana suatu relasi hanya akan ada jika telah ada relationship lainnya.

(24)

Bertujuan untuk memeriksa conceptual model untuk menghindari dari adanya informasi yang redundan. Yang dilakukan pada langkah ini adalah :

i. Memeriksa kembali one-to-one relationship. ii. Menghilangkan relasi yang redundansi. iii. Mempertimbangkan dimensi waktu.

h. Memvalidasi local conceptual model dengan transaksi-transaksi user

Tujuanya adalah untuk menjamin bahwa conceptual data model mendukung kebutuhan transaksi (Connolly dan Begg, 2010, p483). Ada dua pendekatan yang mungkin untuk mejamin bahwa local conceptual data model mendukung kebutuhan transaksi yaitu :

i. 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.

ii. Mengunakan transaksi pathways

Pendekatan kedua, untuk memvalidasi data model dengan keperluan transaksi yang melibatkan diagram yang mewakili path ways diambil dari tiap

(25)

transaksi secara langsung yang terdapat pada ER diagram.

i. Meninjau kembali local conceptual model dengan pengguna.

Bertujuan untuk me-review kembali conceptual model dan memastikan bahwa data model tersebut sudah benar.

2.1.8.2 Perancangan Basis Data Logikal (Logical Database Design) 2. Membangun data model logical

Adalah untuk menerjemahkan conceptual data model ke logical data model dan kemudian melakukan validasi model ini untuk memeriksa bahwa secara struktural benar dan mampu mendukung transaksi yang diperlukan.

Tujuan utama adalah untuk menerjemahkan conceptual data model yang dibuat pada langkah pertama ke dalam logical data model dari persyaratan data perusahaan. Langkah- langkah yang dilakukan :

a. Menghilangkan fitur yang tidak compatible dengan model relasional (optional).

Bertujuan untuk menghasilkan model yang kompatibel dengan model relasional. Yaitu dengan :

(26)

i. Menghilangkan many-to-many (*:*) binary relationship types

ii. Menghilangkan many-to-many(*:*) recursive relationship types

iii. Menghilangkan complex relationship types iv. Menghilangkan multi-valued attributes

b. Memperoleh relasi untuk local logical data model Bertujuan untuk membuat hubungan logical model yang mewakili entity, relationship dan attribute yang telah didefinisi. Mendeskripsikan komposisi tiap hubungan memakai Database Definition Language (DBDL) untuk 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 data model, maka diperluka penjelasan untuk mendeskripsikan struktur yang mungkin dalam data model saat ini.

c. Memvalidasi relasi dengan menggunakan normalisasi Dengan menggunakan normalisasi, maka model yang dihasilkan mendekati model dari kebutuhan perusahaan, konsisten dan memiliki sedikit redundansi dan stabilitas yang maksimum.

d. Memvalidasi relasi dengan transaksi pengguna

Bertujuan untuk menjamin bahwa relasi dalam model logikal tersebut mendukung spesifikasi kebutuhan

(27)

pengguna secara detail. Selain itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat suatu relasi.

e. Memeriksa kendala-kendala integritas (Check Integrity Constraints)

untuk memeriksa kendala-kendala integritas dinyatakan dalam model data logis (logical data model). Terdapat lima tipe integrity constraints yang harus diperhatikan, yaitu :

i. Required data

Beberapa atribut harus selalu berisi nilai yang benar (valid), tidak dapat bernilai null. Constraint ini harus diidentifikasikan pada saat pemilihan atribut domain untuk data model.

ii. Attribute domain constraints

Setiap atribut memiliki domain, yaitu himpunan nilai yang dibolehkan. Constraint ini harus diidentifikasikan pada saat pemilihan atribut domain untuk data model. iii. Entity integrity

Primary key dari sebuah entity tidak boleh bernilai null. Constraint ini harus dipertimbangkan pada saat penentuan primary key bagi setiap tipe entity.

(28)

Jika suatu foreign key memiliki nilai, maka nilai tersebut harus menunjuk ke sebuah baris yang ada pada relasi ‘parent’.

v. Enterprise constraints

Kegiatan update entity dibatasi oleh peraturan atau kebijakan organisasi yang mengatur transaksi yang diwakilkan oleh update yang dilakukan.

f. Melihat kembali local logical data model dengan pengguna

Bertujuan untuk menjamin local logical data model dan mendukung dokumentasi yang menggambarkan model yang sudah benar.

g. Menggabungkan local logical data model menjadi global model

Pada langkah ini, setiap local logical data model menghasilkan ER diagram, skema relasional, kamus data dan dokumen pendukung yang mendeskripsikan constraints dari model. Beberapa tugas yang harus dikerjakan adalah sebagai berikut :

i. Memeriksa lembali nama dan isi dari entities dari relationship dan candidate key.

(29)

ii. Memeriksa kembali nama dan isi dari relationships atau foreign keys.

iii. Menggabungkan entities atau hubungan dari local data model.

iv. Mengikutsertakan (tanpa menggabungkan) entities atau relationships yang unik pada tiap local data model. v. Menggabungkan relationships atau foreign key dari local

data model.

vi. Mengikutsertakan (tanpa menggabungkan) relationships atau foreign key unik pada tiap local data model.

vii. Memeriksa untuk entities (hubungan) dan relationships atau foreign key.

viii. Memeriksa integrity constraints. ix. Menggambarkan ER diagram.

x. Melakukan update dokumen.

h. 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)

Suatu proses yang menghasilkan deskripsi implementasi basis data pada pemyimpanan sekunder. Itu menggambarkan hubungan dasar, organisasi file, dan indeks yang digunakan untuk arsip akses yang efisien terhadap data, dan setiap kendala terkait integritas dan keamanan diukur. Dapat dikatakan juga desain fisikal merupakan cara pembuatan menuju sistem DBMS tertentu. Tugas-tugas yang dilakukan dalam langkah ini antara lain :

3. Menerjemahkan model data logikal untuk DBMS yang ditargetkan. Langkah- langkahnya sebagai berikut :

a. Merancang basis 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 dan DBDL (Database Design Language).

b. Merancang representasi dari data yang diperoleh

Bertujuan untuk menentukan bagaimana setiap data yang diperoleh mewakili global logical data model ke dalam DBMS.

c. Merancang enterprise constraints

bertujuan untuk merancang batasan-batasan umum yang ada pada perusahaan.

4. Merancang organisasi file dan index a. Menganalisis transaksi

(31)

Bertujuan untuk mengerti fungsi dari transaksi yang dijalankan pada basis data dan menganalisis transaksi yang penting. Kriteria kemampuan yang harus diidentifikasikan dalam menganalisis transaksi adalah :

i. Transaksi dapat berjalan secara sering dan akan mempunyai dampak yang signifikan pada performa. ii. Transaksi yang kritis pada operasi dan bisnis.

iii. Waktu selama sehari atau seminggu ketika akan ada permintaan yang tinggi pada saat basis data dibuat. b. Memilih file organisasi

Untuk menentukan organisasi file yang efisien untuk setiap hubungan dasar.

c. 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, atribut yang digunakan adalah:

i. Atribut yang sering digunakan untuk joint operations untuk membuat lebih efisien.

ii. Atribut yang sering dipesan untuk mengakses tuples pada suatu relasi didalam urutan yang menunjukkan atribut. Terdapat tiga jenis index yaitu :

(32)

i. Primary Index

Pengindeksan dilakukan pada kolom kunci (key field), yang diurutkan terlebih dahulu secara sekuensial.

ii. Clustering Index

Pengindeksan dilakukan pada kolom bukan kunci (non-key field), yang diurutkan terlebih dahulu secara sekuensial (Connolly dan Begg, 2010, p535).

iii. Secondary Index

Pengindeksan yang dilakukan pada kolom yang tidak terurut di dalam file data (Connolly dan Begg, 2010, p536).

d. Memperkirakan kebutuhan ruang penyimpanan

Bertujuan untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam basis data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Contohnya dalam lima tahun mendatang berapa kapasitas hard disk yang dibutuhkan untuk menampung data. 5. Merancang User Views

Bertujuan buntuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database System Development Lifecycle.

(33)

Untuk mendesain sebuah mekanisme security untuk basis data (database) seperti yang di spesifikasikan oleh user pada tahapan requirement dan collection dari Database System Development Lifecycle. Perancang database harus menyadari fasilitas yang ditawarkan oleh DBMS target. DBMSs relasional umumnya memberikan dua jenis keamanan database :

a. Sistem Keamanan (System Security), mencakup akses dan penggunaan database di tingkat sistem, seperti user name dan password.

b. Keamanan Data (Data security), mencakup akses dan penggunaan objek database (seperti hubungan dan pandangan) dan tindakan yang dapat dimiliki user pada object tersebut.

7. Mempertimbangkan pengenalan atasredundansi kontrol

Pada langkah physical database design ini mempertimbangkan denormalisasi skema relational untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara struktural, konsisten, dan menekan jumlah redudansi. Faktor yang perlu dipertimbangkan adalah :

a. Denormalisasi membuat implementasi lebih kompleks. b. Denormalisasi selalu mengorbankan fleksibilitas.

c. Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat dalam meng-update.

(34)

Ukuran performa dari suatu perancangan basis data dapat dilihat dari sudut 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 mempercepat proses saat retrieve data daribasis data.

8. Memonitor dan memasang sistemoperasi

Bertujuan untuk memonitor sistem operasi, meningkatkan performa dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan.

2.2 Teori Khusus

2.2.1 Proses Bisnis Perusahaan

Proses bisnis merupakan proses yang memberikan pandangan dari struktur organisasi relatif terhadap suatu proyek tertentu.

2.2.1.1 Penjualan

Proses penjualan dalam perusahaan sangat menentukan keberhasilan perusahaan tersebut. Kegiatan penjualan meliputi pengorderan barang kepada customer hingga penerimaan pembayaran dari customer. Setiap penjualan barang dikerjakan oleh beberapa orang dalam perusahaan mulai dari sales, gudang, teknisi. Penjualan barang dapat dipesan langsung oleh customer dan akan langsung dilayani oleh sales-sales perusahaan.

(35)

2.2.1.2 Pembelian

Proses pembelian merupakan proses pendukung kegiatan penjualan, dimana terjadi penambahan barang dan jasa dalam proses pembelian, sehingga perusahaan memiliki ketersediaan sumber daya ketika melakukan proses penjualan kepada customer. Semakin kecil nilai/harga dari sumber daya yang dibeli dan semakin besar kualitas sumber daya yang dibeli oleh perusahaan maka dapat menekan biaya produksi sekecil mungkin.

2.2.1.3 Persediaan

Proses persediaan merupakan sejumlah barang yang disediakan untuk memenuhi permintaan dari pelanggan. Dalam perusahaan perdagangan pada dasarnya hanya ada satu golongan inventory (persediaan), yang mempunyai sifat perputaran yang sama yaitu yang disebut “Merchandise Inventory” (persediaan barang dagangan). Persediaan ini merupakan persediaan barang yang selalu dalam perputaran, yang selalu dibeli dan dijual, yang tidak mengalami proses lebih lanjut didalam perusahaan tersebut yang mengakibatkan perubahan bentuk dari barang yang bersangkutan.

2.2.2 PHP

Hypertext Preprocessor adalah sebuah bahasa script yang dapat ditanamkan atau disisipkan ke dalam code HTML. PHP banyak dipakai dalam pemrograman situs web dinamis. Pada awalnya PHP merupakan

(36)

singkatan dari Personal Home Page (situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada saat itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan scrip yang digunakan untuk mengolah data formulir dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI.

Dengan perilisan menjadi sumber terbuka, banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing.

Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.

PHP sebagai suatu bahasa scripting open source yang tersedia untuk sejumlah platform biasanya dihubungkan dengan MySQL atau Postgre SQL, karena kombinasi dari database yang tersedia (untuk Unix) dan bahasa scripting yang gratis mampu memberikan sebuah paket lengkap guna membangun aplikasi web database (Eaglestone, 2001, p 363).

Beberapa kelebihan PHP, yaitu:

1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya.

(37)

2. Web Server yang mendukung PHP dapat ditemukan di mana-mana dari mulai Apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.

3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan.

4. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.

5. PHP adalah bahasa open source yang dapat digunakan diberbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem.

2.2.3 HTML/XHTML (Hypertext/Extensible Markup Language)

XHTML merupakan penerus dari HTML. XHTMLmerupakan sebuah rekomendasi yang terpisah dari HTML.W3C tetap merekomendasikan untuk tetap menggunakan XHTML 1.0, XHTML 1.1, dan HTML 4.01 untuk digunakan dalam web publishing. Perlunya reformulasi HTML menjadi XHTML disebabkan karena W3C merasa adanya kebutuhan agar sebuah konten World Wide Web dapat diakses dari perangkat mobile selain komputer-komputer tradisional karena kompleksitas sintaks dari HTML yang memerlukan sumber daya dan waktu yang cukup banyak.

(38)

2.2.4 CSS (Cascading Stylesheet)

CSS atau Cascading Stylesheet adalah sebuah bahasa stylesheet berbentuk markup language yang digunakan untuk mendeskripsikan sebuah representasi tampilan untuk sebuah dokumen. CSS biasanya digunakan untuk menghias halaman web dalam bentuk HTML atau XHTML.

2.2.5 Java Script

Java Script adalah bahasa yang digunakan untuk membuat program yang digunakan agar dokumen HTML yang ditampilkan dalam browser menjadi lebih interaktif, tidak sekedar indah saja. Java Script memberikan beberapa fungsionalitas ke dalam halaman web, sehingga dapat menjadi sebuah program yang disajikan dengan menggunakan antarmuka web.

Umumnya program Java Script adalah program yang ditanamkan (disisipkan) ke dalam halaman web, sehingga halaman (dokumen) web menjadi sebuah aplikasi yang berjalan di dalam browser web. Beberapa sistem operasi menggunakan Java Script untuk membuat aplikasi non-web, seperti sistem operasi MS Windows, yang menggunakan istilah Windows Scripting Host (WSH) sebagai interpreter Java Script dan VB Script, sehingga program yang dibuat dengan Java Script dan VB Script dapat langsung dijalankan di atas sistem operasi, tanpa harus menggunakan browser web terlebih dahulu.

(39)

MySQL adalah sebuah server database open source yang terkenal yang digunakan berbagai aplikasi terutama untuk server atau membuat WEB. MyAQL berfungsi sebagai SQL (Structured Query Language) yang dimiliki sendiri dan sudah diperluas oleh MySQL umumnya digunakan bersamaan dengan PHP untuk membuat aplikasi server yang dinamis dan powerfull.

2.2.7 Apache

Server HTTP Apache atau Server Web/WWW Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini mengunakan HTTP.

Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigurasi, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah.

Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation.

Gambar

Gambar 2.1 Tahapan dari Database Application Lifecycle
Gambar 2.2  Representasi Diagram dari Tipe Entity
Gambar 2.3 Representasi Diagram dari Relationship
Gambar 2.6 Contoh Quaternary Relationship
+5

Referensi

Garis besar

Dokumen terkait

Contoh serbuk yang terbuat dari pencampuran alkoksida setelah dikalsinasi pada soooe, yang mempunyai ukuran partikel rata-rata 0.7-1.0 mikron , adalah j auh lebih kecil dan pada

Penelitian ini bertujuan untuk: a) untuk mengetahui peran dan fungsi intelijen kejaksaan dalam mengungkap adanya tindak pidana korupsi; b) untuk mengetahui hambatan intelijen

Kesimpulan penelitian ini adalah penerapan sistem manajemen mutu, kedisiplinan siswa, pelayanan guru dan kepala sekolah memberikan dukungan yang sangat signifikan

menerangkan bahwa tidak ada ketentuan hukum yang mengatur tentang tata cara menyusun atau membuat gugatan yang baik, akan tetapi, dengan memperhatikan ketentuan hukum

Tim SFS pada permainan kedua tidak melakukan taktik power play, melainkan dengan skema permainan deffens dan juga mencari kesempatan tim Espirito untuk melakukan

Kedua, Adanya Issu Gender dan penyebabnya, Kehamilan yang tidak diinginkan, aborsi, pornografi, resiko triad (seksualitas, narkotika, HIV/AIDS) yang terjadi

Aplikasi Garment Shop merupakan suatu aplikasi yang dibuat berdasarkan kebutuhan dari system penjualan yang semakin meningkat, aplikasi ini dibuat dengan beberapa kemampuan

Langkah-langkah yang dilakukan dalam pengabdian masyarakat yaitu penyebaran kuisioner, penyerahan alat pengolahan limbah reaktor fotokatalitik fixed bed TiO 2 batu