• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. tentang data, basis data (database), sistem basis data (database system), sistem

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. tentang data, basis data (database), sistem basis data (database system), sistem"

Copied!
59
0
0

Teks penuh

(1)

LANDASAN TEORI

2.1 Teori-teori Umum

Dalam penulisan skripsi ini, penulis mengambil tema tentang analisa dan perancangan basis data (database). Maka dari itu, diperlukan beberapa teori umum yang berhubungan dengan perancangan basis data tersebut, seperti teori tentang data, basis data (database), sistem basis data (database system), sistem manajemen basis data (Database Management System, DBMS), bahasa basis data (database language), siklus hidup basis data (database life cycle), metodologi perancangan basis data (database design methodology), normalisasi (normalization), pemodelan entitas-hubungan (entity-relationship modelling).

2.1.1 Pengertian Data

Menurut Turban (2003,p2), data adalah kumpulan fakta yang belum diolah serta transaksi yang direkam dan disimpan, tetapi tidak disusun untuk menyampaikan suatu arti khusus lainnya.

Menurut Yuhefizar (2003,p2), data adalah fakta, baik berupa sebuah objek, orang dan lain-lain yang dapat dinyatakam dalam suatu nilai tertentu (angka, simbol, karakter tertentu, dan lain-lain).

Jadi, dapat disimpulkan bahwa data adalah fakta mengenai sesuatu, kejadian, aktivitas, dan transaksi yang dapat di catat (record) dan berguna bagi suatu organisasi. Bentuk umum dari suatu data, antara lain dapat berupa teks, gambar, audio, video dan animasi.

(2)

2.1.2 Pengertian Table

Menurut Whitten, Bentley, dan Dittman (2004, p521), table merupakan ekuivalensi basis data relasional dari sebuah file.

2.1.3 Pengertian Basis Data

Menurut Connolly dan Begg (2010, p65), basis data (database) adalah suatu kumpulan data yang berhubungan logis dan sebuah gambaran terhadap data itu, dimana dirancang untuk memenuhi informasi yang dibutuhkan dalam suatu organisasi.

Menurut Yuhefizar (2003, p2), basis data (database) adalah sebuah koleksi atau kumpulan data yang saling berhubungan, disusun menurut aturan tertentu secara logis, sehingga menghasilkan informasi.

Menurut Seema Kedar (2009, p1) basis data adalah sebuah kumpulan dari rekaman - rekaman yang umumnya dapat dicari, diakses, dan dimodifikasi, seperti rekaman akun bank, catatan sekolah, dan data pendapatan pajak.

2.1.4 Sistem Basis Data

Sistem basis data merupakan kumpulan dari program aplikasi yang berinteraksi dengan basis data bersama dengan DBMS dan basis data itu sendiri (Connolly dan Begg, 2010, p66).

(3)

2.1.5 Sistem Manajemen Basis Data

Menurut Connolly dan Begg (2010, p66), sistem manajemen basis data adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, menciptakan, memelihara, dan mengontrol akses ke basis data.

Menurut P. S. Gill (2008, p2), sistem manajemen basis data adalah sebuah set program untuk mendefinisikan, menciptakan, memelihara dan memanipulasi sebuah basis data.

2.1.5.1 Komponen DBMS

Menurut Connolly dan Begg (2010, p68), ada 5 komponen dari suatu sistem manajemen basis data (database management system) yaitu :

Gambar 2.1 Komponen DBMS

Perangkat keras (Hardware)

DBMS dan aplikasi membutuhkan perangkat keras (hardware) untuk berjalan. DBMS hanya berjalan pada perangkat keras (hardware)

(4)

tertentu atau sistem operasi, sementara yang lain dijalankan pada berbagai perangkat keras dan sistem operasi.

Perangkat lunak (Software)

Komponen perangkat lunak (software) terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi, termasuk perangkat lunak jaringan jika DBMS digunakan lewat sebuah jaringan.

• Data

Data merupakan komponen yang paling penting dalam lingkungan DBMS. Basis data berisi baik operasional data dan metadata, 'data tentang data'. Struktur basis data disebut skema.

Prosedur (Procedure )

Prosedur merujuk pada instruksi dan aturan yang mengatur desain dan penggunaan dari basis data. Para pengguna sistem dan staf yang mengelola basis data membutuhkan dokumentasi prosedur tentang cara menggunakan atau menjalankan sistem. Instruksi – instruksi tersebut dapat berupa :

- Log on ke DBMS

- Penggunaan sebagian fasilitas DBMS atau program aplikasi - Memulai dan menghentikan DBMS

(5)

- Mengubah struktur dari sebuah tabel, mengatur kembali basis data dalam multiple disk, meningkatkan perfoma, atau membuat arsip data pada penyimpanan sekunder.

Manusia (People)

Komponen terakhir adalah orang-orang yang terlibat dengan sistem, antara lain:

- DBA (Database Administrator) - Database Designer

- Application Developer - End User

2.1.5.2 Fungsi DBMS

Menurut Connolly dan Begg (2010, p99), fungsi dari DBMS antara lain :

1. Penyimpanan data (data storage), pengambilan (retrieval), dan memperbarui (update)

Sebuah DBMS harus melengkapi pengguna dengan kemampuan untuk menyimpan, mengambil, dan memperbarui data dalam basis data. Ini adalah fungsi dasar dari sebuah DBMS.

2. Sebuah katalog yang dapat diakses pengguna (a user-accessible catalog)

Sebuah DBMS harus memberikan katalog di mana deskripsi item data yang disimpan dan dapat diakses oleh

(6)

pengguna. Sistem katalog DBMS adalah salah satu komponen fundamental dari sistem.

3. Transaksi dukungan (transaction support)

Sebuah DBMS harus memberikan suatu mekanisme yang akan memastikan baik bahwa semua pembaruan sesuai dengan transaksi yang dibuat atau bahwa tidak satupun dari mereka dibuat. Sebuah transaksi adalah serangkaian tindakan yang dilakukan oleh pengguna tunggal atau program aplikasi, yang mengakses atau mengubah isi dari basis data.

4. Pengaturan pelayanan secara bersamaan (concurrency control services)

Sebuah DBMS harus memberikan mekanisme untuk memastikan bahwa basis data diperbarui dengan benar ketika beberapa pengguna memperbarui basis data secara bersamaan. Salah satu tujuan utama dalam menggunakan DBMS adalah untuk memungkinkan banyak pengguna untuk mengakses data secara bersamaan.

5. Pemulihan layanan (recovery services)

Sebuah DBMS harus memberikan mekanisme untuk memulihkan basis data pada saat basis data rusak dengan cara apapun.

(7)

6. Otorisasi layanan (authorization services)

Sebuah DBMS harus memberikan mekanisme untuk memastikan bahwa hanya pengguna yang sah dapat mengakses basis data.

7. Dukungan untuk komunikasi data (support for data communication)

Sebuah DBMS harus mampu mengintegrasikan dengan perangkat lunak komunikasi. Sebagian besar pengguna mengakses basis data dari workstation. Kadang-kadang workstation yang terhubung langsung ke komputer DBMS. 8. Integritas layanan (Integrity services)

Sebuah DBMS harus memberikan sarana untuk memastikan bahwa kedua data dalam basis data dan perubahan dengan data mengikuti aturan tertentu. Integritas basis data mengacu pada kebenaran dan konsistensi data yang disimpan.

9. Layanan untuk mempromosikan independensi data (Services to promote data independence)

Sebuah DBMS harus mencakup fasilitas untuk mendukung kemandirian program dari struktur basis data sebenarnya.

(8)

10. Utilitas layanan (Utility services)

Sebuah DBMS harus menyediakan satu set layanan utilitas. Program utilitas membantu DBA untuk mengelola basis data secara efektif.

2.1.5.3 Keuntungan dan Kerugian DBMS

Menurut Connolly dan Begg (2010, p77-81), keuntungan dan kerugian DBMS adalah sebagai berikut:

Keuntungan dari DBMS antara lain : 1. Pengendalian redundansi data 2. Konsistensi data

3. Banyaknya informasi yang didapat dari data yang sama

4. Berbagi data (sharing of data) 5. Peningkatan integritas data 6. Peningkatan keamanan 7. Penetapan standarisasi 8. Skala ekonomi

9. Menyeimbangkan konflik kebutuhan 10. Peningkatan data aksesibilitas dan responsif 11. Peningkatan produktivitas

12. Peningkatan pemeliharaan melalui independensi data 13. Peningkatan konkurensi

(9)

Kerugian dari DBMS antara lain : 1. Kompleksitas

2. Ukuran (size) 3. Biaya DBMS

4. Tambahan biaya dari perangkat keras 5. Biaya proses konversi

6. Performa

7. Pengaruh terhadap kegagalan yang tinggi

2.1.6 SQL (Structured Query Language)

Menurut Connolly dan Begg (2010, p66), SQL merupakan singkatan dari Structured Query Language. Dalam bahasa inggris sering dibaca sebagai ‘SEE-QUEL’. SQL merupakan standar bahasa query yang secara formal maupun de facto digunakan untuk mengakses sistem manajemen basis data relasional. Pada umumnya, sebuah DBMS menyediakan tiga bahasa, yaitu Data Definition Language (DDL), Data Manipulation Language (DML) dan Data Control Language (DCL).

2.1.6.1 Data Definition Language (DDL)

Menurut Connolly dan Begg (2010, p92), Data Definition Language adalah sebuah bahasa yang memungkinkan DBA atau pengguna untuk menggambarkan nama entitas, atribut, dan hubungan yang dibutuhkan oleh aplikasi, bersama dengan beberapa integritas dan kendala keamanan yang berhubungan.

(10)

DDL digunakan untuk mendefinisikan skema atau memodifikasi yang sudah ada. Hal ini tidak dapat digunakan untuk memanipulasi data. Beberapa pernyataan Data Definition Language yang biasa dipakai dalam SQL (Connolly dan Begg, 2010, p237-p242), antara lain :

Create Table, digunakan untuk membuat tabel dengan mengidentifikasi tipe data tiap kolom.

Alter Table, digunakan untuk menambah atau merubah definisi struktur dari tabel yang telah dibuat.

Drop Table, digunakan untuk menghapus tabel beserta semua data yang terkait di dalamnya.

Create Index, digunakan untuk membuat indeks pada suatu tabel.

Drop Index, digunakan untuk menghapus indeks yang telah dibuat sebelumnya.

2.1.6.2 Data Manipulation Language (DML)

Menurut Connolly dan Begg (2010, p92), Data Manipulation Language adalah sebuah bahasa yang menyediakan seperangkat operasi untuk mendukung manipulasi operasi data dasar pada data dalam basis data.

Operasi manipulasi data biasanya termasuk berikut:

(11)

2. Memodifikasi data yang disimpan di dalam basis data (modify).

3. Memanggil data yang terdapat di dalam basis data (retrieval).

4. Penghapusan data dari basis data (delete).

Menurut Connolly dan Begg (2010, p93), DML dibagi menjadi 2 jenis :

1. Prosedural DML (Procedural DML)

Adalah bahasa yang memungkinkan pengguna untuk memberitahu sistem data apa yang dibutuhkan dan bagaimana untuk mengambil data.

2. Bukan Prosedural DML (Nonprocedural DML)

Adalah sebuah bahasa yang memungkinkan pengguna untuk menyatakan data apa yang dibutuhkan tanpa memperhatikan bagaimana cara data diperoleh.

2.1.6.3 Data Control Language (DCL)

Memungkinkan pengguna melakukan akses terkontrol ke dalam basis data, antara lain :

• Sistem keamanan, untuk mencegah pengguna tanpa otoritas mengakses ke basis data yaitu melalui fasilitas grant dan

(12)

revoke. Dimana grant memberikan hak akses tertentu dan revoke untuk mencabut hak akses tertentu.

• Sistem integritas, untuk memlihara konsistensi penyimpanan data dan menjaga konsistensi daripada data – data yang ada pada sistem basis data.

• Sistem kontrol pada saat yang bersamaan, yang memperbolehkan shared akses terhadap basis data.

• Sistem kontrol untuk pengembalian data, yang mengembalikan data ke keadaan semula apabila terjadi kegagalan perangkat lunak (software) atau perangkat keras (hardware). Sistem ini sangat penting mengingat data yang disimpan dalam basis data adalah sangat berharga dan sistem kontrol juga disebut dengan recovery data.

• Katalog, yang dapat diakses oleh pengguna dan menjelaskan data yang disimpan dalam basis data.

2.1.7 Siklus Hidup Basis Data (Database Lifecycle)

Ketika sistem basis data menjadi komponen mendasar suatu sistem informasi organisasi yang lebih besar dan luas, maka siklus aplikasi basis data dihubungkan dengan siklus hidup sistem informasi.

(13)

Gambar 2.2 Siklus Hidup Basis Data

Penjelasan siklus aplikasi basis data (Connolly dan Begg, 2010, p313-335) :

1. Perencanaan Basis Data (Database Planning)

Perencanaan basis data merupakan aktivitas manajemen yang memungkinkan tahapan dari siklus aplikasi basis data direalisasikan

(14)

seefektif mungkin. Perencanaan basis data harus terintegrasi dengan keseluruhan strategi sistem informasi dari organisasi.

Terdapat tiga hal pokok yang berkaitan dengan strategi sistem informasi, yaitu:

• Identifikasi rencana dan sasaran dari perusahaan termasuk mengenai informasi yang dibutuhkan.

• Evaluasi sistem informasi yang ada untuk menetapkan kelebihan dan kekurangan yang dimiliki.

• Penaksiran kesempatan teknologi informasi yang mungkin memberikan keuntungan kompetitif.

2. Pendefinisian Sistem (System Definition)

Pendefinisian sistem menjelaskan batasan-batasan dan cakupan dari aplikasi basis data dan sudut pandang user (user view) yang utama. User view mendefinisikan apa yang diwajibkan dari suatu aplikasi basis data melalui beberapa perpektif. Suatu aplikasi basis data dapat memiliki lebih dari satu user view.

Identifikasi user view membantu memastikan bahwa tidak ada pengguna utama dari suatu basis data yang terlupakan ketika pembuatan aplikasi baru dibutuhkan. User view juga membantu dalam pengembangan aplikasi basis data yang kompleks memungkinkan permintaan dipecah ke dalam bagian-bagian yang lebih mudah diatur.

(15)

3. Analisis dan Pengumpulan Kebutuhan (Requirements Collection and Analysis)

Analisis dan pengumpulan kebutuhan merupakan suatu proses pengumpulan data dan analisa informasi mengenai bagian organisasi yang didukung oleh aplikasi basis data, dan menggunakan informasi tersebut untuk identifikasi kebutuhan pengguna pada sistem baru. Informasi yang dikumpulkan untuk setiap user view meliputi:

• Deskripsi data yang digunakan atau dihasilkan.

• Detail mengenai bagaimana data digunakan atau dihasilkan.

• Beberapa kebutuhan tambahan untuk aplikasi basis data yang baru.

Informasi-informasi tersebut kemudian dianalisa untuk diidentifikasi kebutuhan agar disertakan dalam aplikasi basis data yang baru. Selain mengumpulkan informasi, aktivitas penting lain yang dikerjakan pada bagian ini adalah menentukan bagaimana mengatur aplikasi basis data dengan banyak user view. Hal tersebut dapat dikerjakan melalui tiga pendekatan, yaitu:

Pendekatan Terpusat (Centralized Approach)

Pendekatan terpusat menggabungkan kebutuhan dari setiap user view menjadi sekumpulan kebutuhan. Berdasarkan kumpulan kebutuhan tersebut dapat dibuat global data model yang merepresentasikan seluruh user view.

(16)

Pendekatan Integrasi Tampilan (View Integration Approach) Pendekatan integrasi tampilan merupakan pendekatan dimana kebutuhan untuk setiap user view digunakan untuk membangun model data terpisah untuk merepresentasikan user view tersebut. Hasil dari model data tersebut nantinya digabungkan dalam tahapan perancangan basis data.

• Kombinasi dari pendekatan terpusat dan pendekatan integrasi tampilan.

4. Perancangan Basis Data (Database Design)

Perancangan basis data merupakan suatu proses pembuatan sebuah desain basis data yang akan mendukung tujuan dan operasi dari perusahaan.

Tujuan utama perancangan basis data adalah sebagai berikut:

Merepresentasikan data dan relationship antar data yang dibutuhkan oleh seluruh area aplikasi utama dan grup pengguna. • Menyediakan model data yang mendukung segala transaksi yang

diperlukan pada data.

• Menspesifikasikan rancangan minimal yang secara tepat disusun untuk memenuhi kebutuhan performa yang ditetapkan pada sistem.

(17)

Beberapa pendekatan yang digunakan dalam perancangan basis data:

Top-Down

Pendekatan Top-Down diawali dengan pembentukan model data yang berisi beberapa entitas tingkat tinggi (high level) dan relationship, yang kemudian menggunakan pendekatan Top-Down secara berturut-turut untuk mengidentifikasi entitas lowe lever, relationship, dan atribut lainnya.

Bottom-Up

Pendekatan Bottom-Up dimulai dari atribut dasar dengan analisis dari penggabungan antar atribut, yang dikelompokan ke dalam suatu relasi yang merepresentasikan tipe dari entitas dan relationship antar entitas.

Inside-Out

Pendekatan Inside-Out berhubungan dengan pendekatan Bottom-Up tetapi sedikit berbeda dengan identifikasi awal entitas utama dan kemudian menyebar ke entitas, relationship, dan atribut terkait lainnya yang lebih dulu diidentifikasi.

Mixed

Pendekatan Mixed menggunakan pendekatan Bottom-Up dan Top-Down untuk bagian yang berbeda sebelum pada akhirnya digabungkan menjadi satu.

(18)

Kegunaan utama dari pemodelan data adalah untuk membantu dalam memahami arti (semantik) dari data sekaligus untuk memfasilitasi komunikasi mengenai informasi yang dibutuhkan. Kriteria untuk menghasilkan model data yang optimal:

Validitas Struktural (Structural Validity) harus konsisten dengan definisi perusahaan dan informasi organisasi.

Kesederhanaan (Simplicity), mudah dimengerti baik oleh profesional sistem informasi maupun pengguna non-teknik. • Ketetapan (Expressibility), kemampuan untuk membedakan

antar data yang berlainan, relationship antar data dan batasan-batasan.

Tidak Rangkap (Nonredundancy), pengeluaran informasi yang tidak berhubungan, dengan kata lain, representasi setiap bagian informasi hanya satu kali.

Dapat digunakan bersama (Shareability), tidak ditentukan untuk aplikasi atau teknologi tertentu dan dapat digunakan oleh banyak pengguna.

Perluasan penggunaan (Extensibility), kemampuan untuk menyusun dan mendukung kebutuhan baru dengan akibat sampingan yang minimal terhadap pengguna yang sudah ada. • Integritas (Integrity), konsistensi dengan cara yang digunakan

(19)

• Representasi Diagram (Diagrammatic Representation), kemampuan untuk merepresentasikan model menggunakan notasi diagram yang mudah dimengerti.

Terdapat tiga fase dalam perancangan basis data, yaitu: a. Perancangan basis data konseptual

Suatu proses pembentukan model dari informasi yang digunakan dalam perusahaan, tidak tergantung dari keseluruhan aspek fisik. Model data dibagun dengan menggunakan informasi dalam spesifikasi kebutuhan pengguna. Model data konseptual merupakan submer informasi untuk fase perancangan logikal.

b. Perancangan basis data logical

Suatu proses pembentukan model dari informasi yang digunakan dalam perusahaan berdasarkan model data tertentu, tetapi tidak tergantung terhadap DBMS tertentu dan aspek fisik lainnya. Model data konseptual yang telah dibuat sebelumnya, diperbaiki dan dipetakan ke dalam model data logikal.

c. Perancangan basis data fisikal

Suatu proses yang menghasilkan deskripsi implementasi basis data pada penyimpanan sekunder. Menggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhada data.

(20)

5. Penyeleksian DBMS (DBMS Selection)

Pemilihan DBMS yang tepat untuk mendukung aplikasi basis data. Dapat dilakukan kapanpun sebelum menuju desain logikal asalkan terdapat cukup informasi mengenai kebutuhan sistem.

6. Perancangan Aplikasi (Application Design)

Perancangan antarmuka pengguna dan program aplikasi yang menggunakan dan memproses basis data. Perancangan basis data dan aplikasi merupakan aktifitas paralel yang meliputi dua aktifitas penting, yaitu :

Perancangan Transaksi (Transaction Design)

Transaksi adalah salah satu aksi atau serangkaian aksi yang dilakukan oleh pengguna tunggal atau program aplikasi yang mengakses atau merubah isi dari basis data. Kegunaan dari perancangan transaksi adalah untuk menetapkan keterangan karakteristik high level dari suatu transaksi yang dibutuhkan pada basis data, diantaranya sebagai berikut:

- Data yang akan digunakan oleh transaksi - Karakteristik fungsional dari suatu transaksi - Output transaksi

- Keuntungan bagi pengguna

(21)

Perancangan Antarmuka Pengguna (User Interface Design) Sebelum mengimplementasikan suatu form atau report, sangat penting untuk merancang layout. Beberapa aturan pokok untuk merancang form atau report adalah sebagai berikut:

- Judul yang sesuai arti - Instruksi yang komprehensif

- Pengelompokan logikal dan field yang berurutan - Tampilan layout form atau report menarik - Nama field mudah dikenali

- Terminologi dan penggunaan singkatan yang konsisten - Penggunaan warna yang konsisten

- Tempat dan batasan tempat untuk data yang akan dimasukkan

- Pergerakan kursor yang mudah

- Koreksi kesalahan untuk satu karakter atau seluruh field - Pesan kesalahan dimunculkan untuk nilai yang tidak dapat

diterima

- Field yang bersifat opsional diberi tanda yang jelas - Penjelasan untuk setiap field dapat dibaca dengan jelas - Pemberian suatu tanda jika proses telah selesai

(22)

7. Pembuatan Prototype (Prototyping)

Pembuatan prototype adalah kegiatan membuat model kerja suatu aplikasi basis data. Tujuan utama dari pembuatan prototype adalah sebagai berikut:

• Mengidentifikasi fitur dari sistem berjalan dengan baik atau tidak • Memberikan perbaikan atau penambahan fitur baru

• Mengklarifikasi kebutuhan pengguna

• Mengevaluasi feasibilitas dari rancangan sistem khusus.

Dalam membuat prototype, ada dua macam strategi pembuatan prototype yang digunakan, yaitu:

- Requirements Prototyping

Requirements prototyping menggunakan prototype untuk menentukan kebutuhan dari aplikasi basis data yang diinginkan dan ketika kebutuhan itu terpenuhi maka prototype akan dibuang.

- Evolutionary Prototyping

Evolutionary prototyping digunakan untuk tujuan yang sama dengan requirements prototyping, tetapi prototype tidak dibuang melainkan pengembangan lanjutan menjadi aplikasi basis data yang digunakan.

(23)

8. Implementasi (Implementation)

Implementasi merupakan realisasi fisik dari basis data dan rancangan aplikasi. Impelementasi basis data dicapai dengan menggunakan:

DDL untuk membuat skema basis data dan file basis data kosong. DDL untuk membuat user view yang diinginkan.

• 3GL dan 4GL untuk membuat program aplikasi. Termasuk basis data transaksi disertakan dengan menggunakan DML atau ditambahkan pada bahasa pemrograman.

9. Konversi dan Pemuatan Data (Conversion and Data Loading)

Pemindahan data yang ada ke dalam basis data baru dan mengkonverikan aplikasi yang ada agar dapat digunakan pada basis data yang baru. Tahapan ini dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama. DBMS biasanya memiliki utilitas yang memanggil ulang file yang sudah ada ke dalam basis data baru.

10. Pengujian (Testing)

Pengujian merupakan proses eksekusi program aplikasi dengan tujuan untuk menemukan kesalahan. Dengan menggunakan strategi tes yang direncanakan dan data yang sesungguhnya. Pengujian hanya akan terlihat jika terjadi kesalahan software.

(24)

Mendemonstrasikan basis data dan program aplikasi terlihat berjalan seperti yang diharapkan.

11. Perawatan Operasional (Operational Maintenance)

Suatu proses pengawasan dan pemeliharaan sistem setelah instalasi, meliputi:

• Pengawasan performa sistem, jika performa menurun maka memerlukan perbaikan atau pengaturan ulang basis data.

• Pemeliharaan dan pembaharuan aplikasi basis data (jika dibutuhkan).

• Penggabungan kebutuhan baru ke dalam aplikasi basis data.

2.1.8 Metodologi Perancangan Basis Data

Menurut Connolly dan Begg (2010, p466), metodologi perancangan (design methodology) adalah sebuah pendekatan terstruktur yang menggunakan prosedur, teknik, alat dan dokumentasi bantuan untuk mendukung dan memfasilitasi proses desain.

Perancangan basis data ini berfokus pada perancangan metodologi yang terdiri dari beberapa tahapan dimana pada setiap tahapan memiliki tahapan – tahapan lagi. Perancangan metodologi ini bertujuan untuk membimbing perancang dalam memilih teknik yang cocok seperti bagaimana mereka merencanakan, mengatur, mengontrol, dan mengevaluasi basis data pada tiap tahapan pengembangan proyek.

(25)

Menurut Connlly dan Begg (2010, p467), proses perancangan terbagi menjadi tiga fase utama, yaitu :

2.1.8.1 Perancangan Basis Data Konseptual

Menurut Connolly dan Begg (2010, p467), perancangan basis data konseptual (conceptual database design) adalah suatu proses untuk membangun sebuah model menggunakan data dari suatu perusahaan, terlepas dari semua pertimbangan – pertimbangan fisikal yang ada.

Fase perancangan basis data konseptual dimulai dengan membuat sebuah model data konseptual dari perusahaan, di mana semua rincian pelaksanaannya berdiri sendiri seperti target DBMS, program aplikasi, bahasa pemrograman, platform perangkat keras, masalah perfoma, atau pertimbangan fisik lainnya. Tahap – tahap perancangan basis data meliputi:

Langkah 1 Membangun model data konseptual

Pada tahap membangun model data konseptual, langkah – langkah yang dilakukan adalah sebagai berikut :

a. Mengidentifikasi tipe entitas

Langkah awal dalam membangung model data konseptual adalah mengidentifikasi tipe entitas. Menurut Connolly dan Begg (2010, p65), Entitas (Entity) adalah sebuah objek yang berbeda (orang, tempat, benda, konsep, kejadian) dalam

(26)

organisasi yang akan diwakili dalam basis data. Tujuan dari langkah ini adalah untuk menentukan tipe entitas utama yang dibutuhkan. Menetukan entitas dapat dilakukan dengan memeriksa user’s requirements specification. Setelah terdefinisi, entitas diberikan nama yang tepat dan jelas, missal Mahasiswa, Dosen, atau Mata_Kuliah.

b. Mengidentifikasi tipe relasi atau hubungan

Setelah mendapatkan tipe entitas, langkah selanjutnya adalah melakukan identifikasi tipe relasi atau hubungan dari entitas sebelumnya. Menurut Connolly dan Begg (2010, p144), Relasi (Relation) adalah table dengan kolom dan baris. Tujuan dari langkah pada tahap ini adalah untuk mengidentifikasi suatu hubungan (relationship) yang penting yang ada antar entitas yang telah diidentifikasi. Nama dari suatu relationship menggunakan kata kerja (verb), missal mempelajari, memiliki, mempunyai, dan lain – lain.

c. Mengidentifikasi dan menghubungkan atribut dengan tipe entitas atau relationship

Pada langkah ini akan dilakukan identifikasi dan hubungan atribut dengan tipe entitas. Menurut Connolly dan Begg (2010, p144), Atribut (Attribute) adalah nama kolom dari suatu relasi. Tahap ini bertujuan untuk menghubungkan atribut dengan entitas atau relationship yang tepat. Atribut

(27)

identitas atau karakteristik yang sesuai dengan memperhatikan atribut berikut : simple attribute, composite attribute, single-valued attribute, multi-single-valued attribute dan derived attribute. d. Menentukan domain atribut

Langkah selanjutnya ialah menentukan domain atribut. Menurut Connolly dan Begg (2010, p144), Domain (Domain) adalah himpunan nilai-nilai yang diijinkan untuk satu atau lebih atribut. Tujuan dari tahap ini ialah menentukan domain atribut pada model data konseptual. Tahap ini meliputi : • Menentukan himpunan nilai yang boleh diisikan pada

atribut

• Menentukan ukuran dan format atribut

Selain dua hal diatas, dapat juga disertai informasi tentang operasi – operasi yang boleh dilakukan pada atribut tersebut. Dokumentasikan nama dan karakteristiknya saat mengidentifikasi atribut domain.

e. Menentukan atribut candidate, primary, dan alternate key Untuk menentukan jenis relasi kunci (key) terlebih dahulu harus mengetahui pengertian dari masing – masing relasi key tersebut. Menurut Connolly dan Begg (2010, p150-p151), • Super Key adalah atribut atau kumpulan atribut, yang

(28)

Candidate Key merupakan himpunan atribut minimal yang dapat membedakan setiap baris data dengan unik dalam sebuah tabel,

Primary Key adalah candidate key yang dipilih untuk mengidentifikasi tupel secara unik dalam relasi,

Alternate Key adalah candidate key yang tidak dipilih untuk mengidentifikasi tupel secara unik dalam relasi, • Foreign Key adalah atribut atau bagian dari atribut, dalam

satu relasi yang cocok dengan candidate key dari beberapa (mungkin sama) relasi.

Tahap ini bertujuan untuk mengidentifikasi candidate key dari setiap entitas dan, jika ada lebih dari satu candidate key maka akan dipilih salah satunya untuk menjadi primary key sedangkan yang lainnya sebagai alternate key.

f. Mempertimbangkan penggunaan Enhanced Modelling Concepts (optional step)

Mempertimbangkan penggunaan konsep enhanced modeling, seperti specialization/generalization, aggregration dan composition.

g. Memeriksa model untuk redundansi

Cek untuk setiap entity dan attribute terhadap redundansi (redundancy) dalam model. Pada tahap ini dilakukan pengecekan untuk memastikan bahwa tidak ada dua entitas

(29)

yang sama. Kemudian diperiksa juga apakah ada hubungan antar entitas yang bersifat rangkap. Hal yang biasa dilakukan pada tahap ini yaitu :

Melakukan pengecekan terhadap relasi one – to – one (1:1)

Menghapus redundant relationship.

h. Memvalidasi model konseptual terhadap transaksi pengguna Menjamin model konseptual dapat mendukung kebutuhan transaksi yang diperlukan oleh view. Pengujian dilakukan dengan melakukan operasi – operasi pada entitas secara manual. Ada dua cara pengujian yaitu :

• Mendeskripsikan transaksi beserta sumber data atributnya. • Menggambarkan jalur transaksi pada ERD.

i. Meninjau kembali model data konseptual dengan pengguna Melakukan review terhadap model data konseptual dengan user untuk menjamin model telah merepresentasikan user’s view berdasarkan kebutuhan perusahaan. Jika ditemukan anomali pada model, maka perlu diadakan penyesuaian dengan mengulangi beberapa langkah diatas. Proses ini dapat diulang, hingga mendapatkan model konseptual yang dibutuhkan user.

(30)

2.1.8.2 Perancangan Basis Data Logikal

Menurut Connolly dan Begg (2010, p323), perancangan basis data logikal (logical database design) adalah suatu proses untuk membangun sebuah model menggunakan data dari suatu perusahaan berdasarkan pada model data yang spesifik, tetapi independen dari DBMS tertentu dan pertimbangan – pertimbangan fisikal lainnya.

Fase perancangan basis data logikal dimulai dengan memetakan model konseptual menjadi sebuah model logikal, yang dipengaruhi oleh model data untuk target basis data (misalnya, model relasional). Model data logikal merupakan sumber informasi untuk fase perancangan fisikal, menyediakan rancangan basis data fisikal sebagai sarana untuk membuat timbal balik yang sangat penting untuk rancangan basis data yang efisien. Tahap – tahap perancangan basis data selanjutnya, setelah dilakukan perancangan basis data konseptual meliputi :

Langkah 2 Membangun dan memvalidasi model data logikal Pada tahap membangun model data logikal, langkah – langkah yang dilakukan adalah sebagai berikut:

a. Derived relation untuk model data logikal

Tahap ini tujuannya adalah untuk membuat hubungan bagi model data logikal untuk mewakili beberapa entitas,

(31)

beberapa hubungan yang mungkin terjadi pada model data konseptual :

Tipe strong entity Tipe weak entity

Tipe hubungan biner one-to-many (1:*) Tipe hubungan one-to-one (1:1)

Tipe hubungan rekursif one-to-one (1:1) Tipe hubungan superclass/subclass Tipe hubungan biner many-to-many (*:*) Tipe Complex relationship

Multi-valued attributes

b. Memvalidasi relasi menggunakan normalisasi

Tujuannnya adalah untuk memvalidasi hubungan— hubungan di dalam model data logikal menggunakan normalisasi. Tujuan dari normalisasi adalah untuk memastikan bahwa himpunan relasi setidaknya memiliki jumlah atribut yang cukup untuk mendukung kebutuhan data perusahaan.

Normalisasi adalah sebuah teknik untuk menghasilkan sebuah set hubungan dengan sifat-sifat yang diinginkan sesuai dengan kebutuhan data dari perusahaan (Connolly & Begg, 2010, p416). Proses normalisasi pertama-tama dimulai dengan mengirim data dari sumbernya (contohnya, bentuk standar entry data) kedalam format table dengan beberapa baris dan

(32)

kolom. Format yang dimaksud adalah tabel dengan bentuk yang belum ternormalisasi (unnormalized form) dan disebut sebagai unnormalized table.

Menurut Connolly dan Begg (2010, p430), bentuk yang belum ternormalisasi (Unnormalized Form, UNF) adalah sebuah tabel yang mengandung satu atau lebih repeating groups (kelompok data yang berulang). Pengulangan kelompok (repeating groups) adalah sebuah atau sekelompok atribut yang berada didalam sebuah tabel dimana atribut tersebut mempunyai beberapa nilai untuk satu atribut nominated key pada tabel tersebut. Key yang dimaksud adalah atribut yang secara unik diidentifikasi pada tiap baris didalam tabel yang belum ternormalisasi.

Bentuk – bentuk normalisasi antara lain : 1. First Normal Form (1NF)

Sebuah relasi dimana persimpangan setiap baris dan kolom berisi satu dan hanya satu nilai (Connolly & Begg, 2010, p430). Sebuah relasi akan berada dalam bentuk 1NF jika repeating groups sudah hilang. Ada dua pendekatan untuk menghilangkan repeating groups pada tabel yang tidak normal (unnormalized table), yaitu : • Dengan memasukan data yang sesuai ke dalam kolom

(33)

• Dengan menempatkan data yang berulang bersama salinan dari atribut kunci pada relasi yang terpisah. 2. Second Normal Form (2NF)

Menurut Connolly dan Begg (2010, p434) relasi dikatakan 2NF jika relasi berada pada 1NF dan setiap atribut yang bukan primary key bergantung sepenuhnya (full functionally dependent) terhadap primary key. Full functionally dependent terjadi jika A dan B merupakan atribut dari suatu relasi, dan B dikatakan bergantung penuh terhadap A (A->B), namun bukan subset dari A.

3. Third Normal Form (3NF)

Menurut Connolly dan Begg (2010, p436), Third Normal Form (3NF) adalah sebuah relasi yang memenuhi first normal form (1NF) dan second normal form (2NF) di mana tidak terdapat atribut non-primary key yang bersifat transitively dependent dari primary key-nya.

Menurut Connolly dan Begg (2010, p424), transitive dependency adalah jika kondisi A, B, dan C merupakan atribut-atribut dari sebuah relasi seperti jika A->B dan B->C, maka C adalah transitively dependent dari A melalui atau via B (disediakan bahwa A bukan functionally dependent dari B dan C). Dalam normalisasi ketiga ini, atribut yang tidak memberikan kontribusi terhadap penjelasan karakteristik primary key, akan dipindahkan ke

(34)

sebuah tabel yang terpisah. Keuntungan dari tabel relasional dalam 3NF adalah menghilangkan data yang berulang-ulang dengan tujuan menghemat tempat dan mengurangi keanehan manipulasi.

c. Memvalidasi relasi terhadap transaksi pengguna

Tujuannya adalah untuk memastikan bahwa relasi dalam model data logikal mendukung kebutuhan transaksi. Dengan menggunakan relasi, link primary key/foreign key yang diperlihatkan pada relasi, diagram ER dan kamus data akan dilakukan secara manual.

d. Memeriksa integrity constraint

Tujuannya adalah untuk memeriksa batasan integritas yang ditunjukkan dalam model data logikal. Integrity constraint adalah batasan yang dipaksakan untuk melindungi basis data dari ketidaklengkapan, ketidakakuratan dan ketidak konsistenan. Beberapa tipe integrity constraint yaitu:

• Required data;

• Attribute domain constraints; • Multiplicity;

• Entity integrity; • Referential integrity; • General constraints.

(35)

e. Meninjau kembali model data logikal dengan pengguna

Tujuannya adalah untuk meninjau kembali model data logikal dengan pengguna untuk memastikan bahwa mereka mempertimbangkan model tersebut untuk menjadi representasi sesungguhnya dari kebutuhan data oleh perusahaan. Jika pengguna puas dengan model tersebut maka langkah selanjutnya yang diambil tergantung pada jumlah user view yang terkait dengan basis data dan bagaimana pengelolaannya.

f. Menggabungkan model data logikal kedalam model global (optional step)

Tujuannya adalah untuk menggabungkan model data logikal ke dalam model data global yang mewakili semua pandangan pengguna basis data. Tahapan ini meliputi proses penggabungan model data logikal ke dalam global, validasi model data logikal dan meninjau ulang model data logikal global dengan pengguna.

g. Memeriksa untuk pertumbuhan di masa depan

Tujuannya adalah untuk menentukan apakah ada perubahan signifikan yang mungkin terjadi di masa yang akan datang dan untuk menilai apakah model data logikal dapat mengakomodasi perubahan tersebut.

(36)

2.1.8.3 Perancangan Basis Data Fisikal

Menurut Connolly dan Begg (2010, p467) perancangan basis data fisikal (physical database design) adalah proses memproduksi sebuah deskripsi implementasi dari basis data pada penyimpanan sekunder. Perancangan ini juga menjelaskan base relations, file organizations dan indeks yang digunakan untuk mencapai akses yang efisien pada data dan semua integrity constraints yang terkait serta langkah – langkah keamanan.

Fase ini memperkenankan perancang untuk membuat keputusan tentang bagaimana basis data dapat di implementasikan. Oleh karena itu, perancangan fisikal disesuaikan dengan DBMS tertentu. Terdapat umpan balik antara desain fisikal dan logikal, karena keputusan yang diambil selama desain fisikal yang digunakan untuk meningkatkan perfoma dapat mempengaruhi model data logikal. Tahap – tahap perancangan basis data selanjutnya, setelah dilakukan perancangan basis data logikal meliputi:

Langkah 3 Menerjemahkan model data logical untuk target DBMS

Pada tahap membangun model data fisikal, langkah selanjutnya yang dilakukan adalah sebagai berikut:

(37)

a. Merancang base relations

Tujuannya adalah untuk memutuskan bagaimana relasi dasar yang diidentifikasi dalam model data logikal dalam target DBMS dapat diwakilkan. Dalam mewakili perancangan relasi dasar gunakan bentuk extended dari DBDL (Database Design Language) untuk menentukan domain, default values, dan indikator null.

b. Merancang representasi dari derived data

Tujuannya adalah untuk memutuskan bagaimana derived data apapun yang muncul di dalam model data logikal dalam target DBMS dapat diwakilkan. Derived atau calculated attributes adalah nilai atribut yang dapat ditemukan dengan memeriksa nilai dari atribut lain.

c. Merancang general constraint

Tujuannya adalah untuk merancang beberapa general constraint pada target DBMS. Pembaruan ke relasi mungkin dibatasi oleh integrity constraint yang mengatur transaksi ‘real world’.

Langkah 4 Merancang file organizations dan indeks

Pada tahap membangun model data fisikal, langkah selanjutnya yang dilakukan adalah sebagai berikut :

(38)

a. Menganalisa transaksi – transaksi

Tujuannya adalah untuk memahami fungsionalitas dari transaksi yang akan berjalan di basis data dan menganalisa beberapa transaksi penting. Dalam menganalisa transaksi yang harus diidentifikasi pada kriteria performa yaitu:

• Transaksi yang berjalan cukup sering dan akan mempunyai dampak yang signifikan pada performa; • Transaksi yang dinilai cukup kritis ke operasi bisnis; • Waktu dimana pada hari atau minggu tertentu terjadi

permintaan yang tinggi pada basis data (disebut peak load).

b. Memilih file organizations

Tujuannya adalah untuk menentukan organisasi file yang efisien pada setiap base relation. Beberapa organisasi file yang ada yaitu:

• Heap • Hash

• Indexed Sequential Office Access Method (ISAM) • B+-tree

• Clusters c. Memilih indeks

Tujuannya adalah untuk menentukan apakah dengan menambahkan indeks akan memperbaiki kinerja sistem.

(39)

d. Memperkirakan kebutuhan disk space

Tujuannya adalah memperkirakan jumlah ruang disk yang akan diperlukan oleh basis data.

Langkah 5 Merancang user views

Tujuannya adalah untuk merancang user view yang diidentifikasi saat melakukan tahap pengumpulan dan analisa kebutuhan dari siklus hidup pengembangan sistem basis data.

Langkah 6 Merancang mekanisme keamanan

Tujuannya adalah untuk merancang mekanisme keamanan untuk basis data yang ditentukan oleh pengguna saat melakukan tahap pengumpulan dan analisa kebutuhan dari siklus hidup pengembangan sistem basis data.

Langkah 7 Mempertimbangkan pengenalan redundansi kontrol

Pada langkah perancangan basis data fisikal ini mempertimbangkan denormalisasi skema relasional untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara struktural konsisten dan

(40)

menekan jumlah redundansi. Faktor yang perlu dipertimbangkan adalah :

- Denormalisasi membuat implementasi lebih kompleks. - Denormalisasi selalu mengorbankan fleksibilitas.

- Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat dalam updates.

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 dari basis data.

Langkah 8 Memonitor dan mengatur sistem operasional Bertujuan untuk memonitor sistem operasional, meningkatkan performa, dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan.

2.1.9 Pemodelan Hubungan Entitas

Entity Relationship (ER) merupakan sebuah abstraksi dan representasi konseptual dari data. Menurut Connolly dan Begg (2010, p371), Entity Relationship Modeling adalah pendekatan top-down untuk merancang basis data dimana proses perancangan diawali dengan mengidentifikasi data utama yaitu entity dan relationship yang keduanya

(41)

Begg (2010,p372-p392), Entity Relationship Modeling memiliki beberapa konsep dasar, yaitu :

1. Tipe entitas (Entity type)

Menurut Connolly dan Begg (2010, p372), tipe adalah sekelompok objek dengan sifat yang sama, yang diidentifikasikan oleh perusahaan sebagai sebuah objek yang dapat berdiri sendiri. Tipe entitas merupakan bentuk representasi dari kumpulan objek di “real world” dengan sifat yang sama, dimana tipe entitas tersebut memiliki keberadaan yang independen yaitu dapat menjadi objek yang nyata (fisik) maupun tidak nyata (abstrak/konseptual). Entity occurrence adalah objek dari tipe entitas yang dapat diidentifikasi secara unik. 2. Tipe relasi (Relationship type)

Menurut Connolly dan Begg (2010, p374), tipe relasi merupakan sebuah kumpulan hubungan yang memiliki arti antara tipe-tipe entitas. Relationship occurrence adalah hubungan yang dapat diidentifikasi secara unik, dimana hubungan tersebut meliputi satu kejadian dari setiap tipe entitas yang berpartisipasi.

Derajat tipe relasi (Degree of relationship type)

Menurut Connolly dan Begg (2010, p376), derajat tipe relasi merupakan jumlah tipe entitas yang berpartisipasi dalam relasi. Entitas yang berkaitan dalam tipe relasi dikenal sebagai participant dalam relasi. Jumlah participant dalam tipe relasi

(42)

dikenal sebagai degree dari relasi. Relasi dengan degree dua disebut binary, sedangkan relasi dengan degree tiga disebut ternary, dan relasi dengan degree empat disebut quaternary. Relasi Rekursif (Recursive relationship)

Menurut Connolly dan Begg (2010, p376), relasi rekursif merupakan sebuah tipe relasi dimana tipe entity yang sama berpartisipasi lebih dari satu kali dalam peran yang berbeda. 3. Atribut (Attribute)

Menurut Connolly dan Begg (2010, p379), atribut merupakan properti dari sebuah entity atau tipe relasi. Attribute domain adalah kumpulan nilai-nilai yang diperbolehkan untuk satu atau lebih atribut (Connolly dan Begg, 2010, p379).

Simple dan Composite attribute

Simple attribute adalah atribut yang tersusun dari satu komponen secara independen sehingga tidak dapat dipecah menjadi atribut yang lebih kecil (Connolly dan Begg, 2010, p379). Sedangkan, Composite attribute adalah atribut yang tersusun dari banyak komponen secara independen sehingga dapat dipecah menjadi komponen independen yang lebih kecil(Connolly dan Begg, 2010, p380).

Single-valued dan Multi-valued attribute

Single-valued attribute adalah atribut yang hanya memiliki satu nilai untuk setiap tipe entitas. Sebagian besar atribut adalah

(43)

single-value (Connolly dan Begg, 2010, p380). Sedangkan, Multi-valued attribute adalah atribut yang memiliki banyak nilai untuk setiap tipe entitas (Connolly dan Begg, 2010, p380).

Derived Attribute

Menurut Connolly dan Begg (2010, p379), derived attribute merupakan sebuah atribut yang merepresentasikan nilai yang berasal dari nilai sebuah atribut yang berhubungan atau kumpulan atribut sehingga tidak perlu berada dalam tipe entity yang sama.

Kunci (Key)

Kunci (key) merupakan atribut – atribut yang digunakan untuk menjelaskan sebuah entitas. Adapun tipe – tipe dari key yaitu :

- Candidate key adalah minimal set dari atribut yang secara unik mengidentifikasi suatu tipe entitas (Connolly dan Begg, 2010, p381).

- Primary key adalah candidate key yang dipilih untuk mengidentifikasi secara unik suatu tipe entitas (Connolly dan Begg, 2010, p381). Candidate key yang tidak dipilih sebagai primary key disebut alternate key.

- Composite key adalah candidate key yang terdiri dari dua atau lebih atribut (Connolly dan Begg, 2010, p382).

(44)

4. Tipe entitas kuat dan lemah (Strong and weak entity type)

Menurut Connolly dan Begg (2010, p383), tipe entitas kuat adalah sebuah tipe entitas yang keberadaannya tidak bergantung pada tipe entitas lain. Karakteristiknya adalah setiap entitas dapat diidentifikasi dengan primary key dari tipe entitas tersebut. Sedangkan, tipe entitas lemah adalah sebuah tipe entitas yang keberadaannya bergantung pada tipe entitas lain. Karakteristiknya adalah atribut yang terdapat pada entitas tersebut tidak dapat mengidentifikasi tipe entitas secara unik.

5. Attributes on Relationships

Attributes on Relationship merupakan atribut pada relasi yang mengidentifikasi hubungan antar entitas (Connolly dan Begg, 2010, p384).

6. Structural Constraints

Tipe utama batasan hubungan didalam relationship disebut multiplicity (Connolly dan Begg, 2010, p385).

Multiplicity adalah Jumlah (atau range) dari kejadian yang mungkin dari suatu entitas yang mungkin berhubungan dengan kejadian tunggal dari jenis entitas terkait melalui hubungan tertentu (Connolly dan Begg, 2010, p385). Berikut jenis-jenis multiplicity

(45)

One – to – one (1:1) relationship

Setiap entitas maksimal hanya dapat memiliki satu relasi dengan entitas lain.

Gambar 2.3 Relasi one – to - one

One – to – many (1:*) relationship

Setiap entitas dapat memiliki satu atau lebih relasi dengan entitas lain.

(46)

Many – to – many (*:*) relationship

Setiap entitas dapat memiliki lebih dari satu relasi dengan entitas yang lain.

Gambar 2.5 Relasi many – to - many

Multiplisitas sebenarnya terdiri dari dua kendala (constraints) yang terpisah dikenal sebagai kardinalitas (cardinality) dan partisipasi (participation) (Connolly dan Begg, 2010, p390).

- Kardinalitas (Cardinality) menjelaskan jumlah maksimum kejadian kemungkinan hubungan untuk entitas yang berpartisipasi dalam jenis hubungan yang diberikan (Connolly dan Begg, 2010, p390).

- Partisipasi (Participation) menentukan apakah semua atau hanya beberapa kejadian entitas berpartisipasi dalam sebuah hubungan (Connolly dan Begg, 2010, p391).

(47)

2.2 Teori - teori Khusus

Teori – teori khusus yang akan dibahas berhubungan dengan topik yang diteliti dan teori yang mendukung bagi perancangan suatu sistem basis data yang meliputi : Data Flow Diagram (DFD), State Transition Diagram (STD), HTML, PHP, MySQL, JQuery yang akan diuraikan dibawah ini.

2.2.1 Pengertian

Pemesanan

Dalam dunia usaha, pemesanan adalah hal yang penting dan tidak bias dihilangkan. Menurut Poewadarminta (2003, ‘Kamus Umum Bahasa Indonesia’), pengertian

• Pesan adalah suruhan (perintah, nasihat, permintaan, amanat) yang harus dilakukan atau disampaikan kepada orang lain.

• Pesanan adalah permintaan hendak

membeli (supaya dikirim, dibuatkan, dan sebagainya).

• Pemesan adalah orang yang memesan

(tempat, barang, dan sebagainya), dan Pemesanan adalah perbuatan (hal, cara) memesan atau memesankan.

Menurut Kamus Besar Bahasa Indonesia, pemesanan adalah proses, perbuatan, cara memesan atau memesankan. Maka pengertian pemesanan

(48)

secara umum yaitu kondisi dimana pembeli melakukan pemesanan terhadap satu atau lebih barang yang ditawarkan oleh penjual.

2.2.2 Pengertian

Makanan

Makanan merupakan kebutuhan pokok manusia yang dibutuhkan setiap saat dan dimanapun ia berada serta memerlukan pengelolaan yang baik dan benar agar bermanfaat bagi tubuh. Tanpa adanya makanan dan minuman, manusia tidak dapat melangsungkan hidupnya. Adapun pengertian makanan menurut WHO (World Health Organization) yaitu semua substansi yang diperlukan tubuh, kecuali air dan obat – obatan dan substansi – substansi yang dipergunakan untuk pengobatan (Putraprabu, 2008).

2.2.3 Pengertian

Minuman

Minuman merupakan bahan yang sangat dibutuhkan oleh makhluk hidup, yang berguna bagi kelangsungan hidupnya. Definisi minuman adalah segala sesuatu yang dapat dikonsumsi dan dapat menghilangkan rasa haus. Minuman umumnya berbentuk cair, namun ada pula yang berbentuk padat seperti es krim (Winarti, 2006).

(49)

Menurut Kamus besar Bahasa Indonesia, ketersediaan adalah kesiapan suatu sarana (tenaga, barang, modal, anggaran) untuk dapat digunakan atau dioperasikan di waktu yg telah ditentukan.

2.2.5 Pengertian Stok

Stok atau persediaan merupakan barang yang disimpan untuk digunakan atau dijual pada periode mendatang. Menurut Ikatan Akuntansi Indonesia (2004 : 14) pengertian persediaan adalah sebagai berikut :

Persediaan adalah aktiva :

- Tersedianya untuk

dijual dalam kegiatan usaha normal

- Dalam proses

produksi dan atau dalam perjalanan, atau

- Dalam bentuk bahan

atau perlengkapan (supplier) untuk digunakan dalam proses produksi atau pemberian jasa.

Sedangkan menurut Soemarso S.R (2004: 384), persediaan adalah barang – barang yang dimiliki oleh perusahaan untuk dijual atau digunakan kembali.

(50)

Menurut Soekresno (2001, p16), restoran adalah “suatu usaha komersil yang menyediakan jasa pelayanan makan dan minum bagi umum dan dikelola secara profesional”.

Menurut Dictionary of Hotels, Tourism and Catering Management, restoran adalah tempat dimana makanan dapat dibeli dan dikonsumsi. Sedangkan menurut Ninemeir dan Perdue (2005), restoran adalah bisnis makanan yang secara individu menghasilkan revenue dari penjualan makanan dan minuman itu sendiri. Menurut Marsum (2000), restoran adalah suatu tempat atau bangunan yang diorganisir secara komersil, yang menyelenggarakan pelayanan dengan baik kepada semua konsumennya baik berupa makanan atau minuman.

2.2.7 Data Flow Diagram (DFD)

DFD secara grafikal mendeskripsikan proses data, aliran dari data dan penyimpanan data dalam sebuah organisasi atau sistem bisnis (Kendall, 2005, p224). Menurut Whitten, Bentley, dan Dittman (2004, p326-327), data flow diagram adalah model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem. DFD digunakan untuk mendokumentasikan sistem yang ada serta untuk merencanakan dan merancang sistem yang baru. DFD terdiri dari simbol – simbol sebagai berikut :

(51)

Proses Proses mengubah maupun mengolah dari data masukan menjadi keluaran

Aliran Data Aliran data menggambarkan perpindahan informasi dari satu proses (bagian) ke proses (bagian) lain dari sistem.

Penyimpanan Data Proses dapat mengambil data dari atau memberikan data ke penyimpanan data.

Entitas luar Entitas luar menggambarkan entitas yang berada di luar dari suatu sistem, dapat berupa orang, kelompok yang berhubungan dengan sistem. Ada 3 tingkatan DFD yaitu :

• Diagram konteks

Merupakan tingkatan yang paling pertama, yang menggambarkan ruang lingkup sistem dari sistem yang digunakan oleh organisasi. Menurut Whitten (2004, p351), context data flow merupakan sebuah model proses yang digunakan untuk mendokumentasikan ruang lingkup dari sebuah sistem. Diagram ini hanya memiliki satu proses yang

(52)

menggambarkan dan mewakili sistem secara keseluruhan, hubungan antara sistem dengan entitas – entitas di luar sistem tersebut, dan tidak boleh ada data store (penyimpanan data). • Diagram nol

Diagram yang menggambarkan proses – proses aliran data yang terjadi di dalam suatu sistem. Proses – proses ini dapat dipecah menjadi proses – proses dan aliran data yang lebih terperinci. Dalam diagram nol sudah menunjukkan data store (penyimpanan data) yang digunakan sebagai proses untuk menyimpan data.

• Diagram rinci

Diagram yang menggambarkan rincian proses – proses yang ada pada diagram nol dan rincian proses – proses ini dapat dipecah lagi menjadi proses – proses yang lebih rinci jika memang masih bisa dipecah.

2.2.8 State Transition Diagram (STD)

Menurut Whitten, Bentley, dan Dittman (2004, p366-367), state transition diagram adalah alat yang digunakan untuk menggambarkan urutan dan variasi screen yang dapat terjadi selama satu sesi pengguna.

State transition diagram diartikan juga sebagai suatu modeling tools yang menggambarkan sifat ketergantungan pada waktu dari suatu sistem. State transition diagram terdiri dari :

(53)

b. Event atau tindakan yang menyebabkan perpindahan dari satu state ke state lainnya.

Ada 2 macam simbol yang menggambarkan proses dari State Transition Diagram (STD) yaitu :

a. Gambar persegi panjang menunjukan state dari sistem.

State

b. Gambar panah menunjukan transisi antar state.

Transition 2.2.9 Internet

Menurut Connolly dan Begg (2010, p1024), Internet merupakan kumpulan jaringan komputer yang terhubung secara luas. Secara fisik dianalogikan sebagai jaringan laba – laba yang menyelimuti bola dunia dan terdiri dari titik – titik (node) yang saling berhubungan. Internet juga merupakan sumber daya informasi yang menjangkau seluruh dunia, sumber daya informasi ini sangat luas dan sangat besar sehingga tidak ada satu orang, satu organisasi atau satu negara yang menanganinya sendiri.

2.2.9.1 Istilah Dalam Internet

Berikut adalah istilah – istilah yang sering muncul dalam penggunaan internet, antara lain :

(54)

a. HTTP

Menurut Connolly dan Begg (2010, p1029), HTTP (Hypertext Transfer Protocol) adalah protokol yang digunakan unntuk mentransfer halaman web melalui internet. Protokol ini merupakan protokol standar yang digunakan untuk mengakses web pages. Selain HTTP terdapat pula Secure HTTP yang dikembangkan oleh Enterprise Integration Technology (EIT), National Centre for Supercomputing Application (NCSA), dan RSA Data Security. HTTP merupakan serangkaian aturan untuk pertukaran file (teks, grafik, gambar, suara, video, dan file multimedia yang lain) di dalam world wide web, berhubungan dengan protokol TCP/IP yang merupakan protokol utama dalam pertukaran informasi di internet.

b. Transmission Control Protocol / Internet protocol (TCP/IP) Menurut Connolly dan Begg (2010, p745), TCP/IP adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar – menukar data dari satu komputer ke komputer lain di dalam jaringan internet. Protokol ini tidak dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protocol ini juga merupakan protocol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan dalam bentuk perangkat

(55)

lunak (software) di sistem operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack.

c. Pengertian Web (World Wide Web)

Menurut Connolly dan Begg (2010, p1028), Web (World Wide Web) adalah sebuah sistem berbasis hypermedia yang mendukung sarana browsing informasi di internet dengan cara non-sekuensial menggunakan hyperlink.

Web terdiri atas 2 macam, yaitu • Web Server

Menurut Hoffer dan Prescott (2006, p395), web server merupakan suatu program yang bertanggung jawab untuk menerima permintaan HTTP dari client dan menyediakan respon HTTP beserta data – data tambahannya. Web server berfungsi untuk menyimpan dokumen yang disebut web pages (halaman web) dalam format HTML dan mengirimkannya ke web client berdasarkan permintaan klien, yang disebut browser.

Web Browser

Adalah aplikasi perangkat lunak (software) yang umumnya dijalankan pada komputer pengguna untuk mengakses web. Web browser menjadi sarana akses universal karena mengirimkan antarmuka yang sama pada semua sistem operasi yang dijalankan.

(56)

Web Database System

Menurut Eaglestone (2001, p38), “Web Database System are systems in which both web and database technologies are used”. Dapat dikatakan web database system adalah sistem dimana dipadukannya teknologi web dan basis data (database). Oleh karena itu web database menyediakan akses yang lebih luas kedalam sistem database, cara untuk mendistribusikansistem dan banyak lagi servis melalui integrasinya sistem.

2.2.10 HTML (HyperText

Markup Language)

Menurut Connolly dan Begg (2010, p1031) HyperText Markup Language adalah bahasa standar yang digunakan web, dalam memformat dokumen dan digunakan untuk merancang halaman web. HTML merupakan turunan dari Standard Generalized Markup Language (SGML) yang lebih kompleks. SGML merupakan bahasa berbasis teks yang menjelaskan isi dan struktur dari komponen digital.

2.2.11 Hypertext Preprocessor (PHP)

PHP adalah bahasa scripting yang menyatu dengan HTML (kode dasar website) dan dijalankan pada server side. Artinya,

(57)

pada server, sedangkan yang dikirmkan ke browser hannya hasilnya saja (Wardana, 2010, p7).

2.2.11.1 Keunggulan PHP

Berikut adalah beberapa keunggulan dari PHP (Wahyono, 2009, p36-37):

• Source program atau script tidak dapat dilihat dengan menggunakan fasilitas view HTML source, yang ada web browser seperti Internet Explorer atau semacamnnya.

• Script tersebut dapat memanfaatkan sumber-sumber aplikasi yang dimilki oleh server, seperti misalnya untuk keperluan database connection. Saat ini, PHP sudah mampu melakukan koneksi dengan berbagai database seperti MYSQL, Microsoft SQL Server, Velocis, IBM DB2, Interbase, PostgreSQL, bahkan semua database yang mempunyai provider ODBC, seperti Microsoft Access dan lain-lain. • Pada aplikasi yang dibuat oleh PHP, pada saat

dijalankan server akan mengerjakan script dan hasilnyalah yang dikirimkan ke web browser. Hal itu akan menyebabkan aplikasi tidak memerlukan kompatibilitas web browser atau harus menggunakan

(58)

web browser tertentu dan pasti dikenal oleh web browser apapun.

• PHP dapat melakukan semua aplikasi program, baik dengan modul ISAPI, CGI maupun FastCGI dalam melakukan pemrograman dinamis. Hal itu membuat PHP mampu menangani fungsi-fungsi seperti mengambil form, menghasilkan halaman web yang dinamis, mengatur session, mengirimkan atau menerima cookies dan lain sebagainya.

PHP juga dapat berkomunikasi dengan layanan-layanan yang menggunakan protokol IMAP, SNMP, NNTP, POP3, HTTp dan lainnya.

2.2.12 MySQL

Menurut Welling dan Thomson (2008, p3), MySQL adalah cepat, kuat, dan merupakan sistem manajemen basis data relasional (RDBMS). Basis data memungkinkan anda secara efisien untuk menyimpan, mencari, mengurutkan, dan mengambil data. Server MySQL mengontrol akses ke data anda untuk memastikan banyak user dapat bekerja bersamaan, dapat menyediakan akses cepat, dan memastikan hanya yang berwenang yang dapat memperoleh akses. Oleh karena itu MySQL data

(59)

2.2.13 JQuery

Menurut Solichin (2010), JQuery merupakan suatu framework (library) javascript yang menekankan bagaimana interaksi antara Javascript dan HTML. Pada perkembangannya JQuery tidak sekedar sebagai framework javascript, namun memiliki kehandalan dan kelebihan yang cukup banyak. Hal tersebut menyebabkan banyak developer web menggunakannya. JQuery memiliki slogan “Write less, do more” yang kurang lebih maksudnya adalah kesederhanaan dalam penulisan code, tapi dengan hasil yang lebih banyak.

Gambar

Gambar 2.1  Komponen DBMS
Gambar 2.2  Siklus Hidup Basis Data
Gambar 2.3  Relasi one – to - one      One – to – many (1:*) relationship
Gambar 2.5  Relasi many – to - many

Referensi

Dokumen terkait

Dari hasil diatas ternyata setelah melakukan tindakan dengan menggunakan model eliciting activities dalam pelajaran matematika kelas X SMK YPK Medan materi pelajaran nilai

Dari hasil penelitian menunjukkan bahwa obesitas pada anak prasekolah (4-6 tahun) di TK Plus Al Kautsar Malang sebanyak 18,3%, tingkat perkembangan anak prasekolah (4-6 tahun)

Penelitian ini bertujuan untuk menggali lebih lanjut dan memberikan informasi secara empirik tentang perbedaan stres kerja dan work life balance ditinjau dari

Penelitian ini bertujuan untuk mengetahui dukungan sosial teman sebaya dan hubungan orangtua-remaja dapat dijadikan prediktor identitas diri siswa SMA Negeri I

Sesuai dengan hadits Aisyah ketika beliau ditanya : “Apakah Rosulullah Shallallahu ‘alaihi wa Salam tidur dan dia dalam keadaan junub?”, maka Aisyah menjawab :

menunjukan bahwa nilai hasil belajar pada kelompok kontrol dan eksperimen memiliki variansi yang sama atau tidak berbeda nyata baik pada ranah kognitif, psikomotorik

Pembangkit yang digunakan untuk merubah panas bumi menjadi tenaga listrik secara umum mempunyai komponen yang sama dengan power plant lain yang bukan berbasis panas bumi,

Nilai bandwidth yang dihasilkan pada fungsi kernel Fixed Bisquare akan bernilai sama di setiap lokasi pengamatan sungai di Surabaya, dimana berdasarkan hasil pengolahan data