• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
56
0
0

Teks penuh

(1)

9

BAB 2

LANDASAN TEORI

2.1 Pengertian Data dan Informasi

Item data merupakan penjelasan dasar mengenai segala sesuatu, peristiwa,

aktivitas, dan transaksi yang dicatat, diklasifikasikan, serta disimpan, tetapi tidak diatur untuk mengungkapkan makna tertentu. Basis data terdiri dari berbagai item data yang disimpan dan diatur untuk dapat ditarik kembali (Rainer, Turban, 2006, p52).

Informasi merupakan data yeng telah diatur sehingga memiliki makna dan nilai bagi penerimanya. Penerima informasi akan mengartikan maksud dari informasi dan menarik kesimpulan serta berbagai implikasi dari data tersebut.

2.2 Pengertian Teknologi Informasi dan Sistem Informasi

Sistem Informasi adalah proses menjalankan fungsi mengumpulkan, memproses, menyimpan, menganalisis, dan menyebarkan informasi untuk tujuan tertentu; kebanyakan sistem informasi dikomputerisasi, tetapi tidak harus komputerisasi (Rainer, Turban, 2006, p48).

Teknologi informasi adalah kumpulan sumber daya informasi perusahaan, para penggunanya, serta manajemen yang menjalankannya; meliputi infrastruktur teknologi informasi dan semua sistem informasi lainnya dalam perusahaan. Infrastruktur teknologi informasi meliputi proses integrasi, operasi, dokumentasi, pemeliharaan, dan manajemennya.(Rainer, Turban, 2006, p49).

(2)

10 2.3 Teori-Teori Basis Data

2.3.1 Definisi Basis Data

Basis data adalah merupakan kumpulan data yang berhubungan secara logikal, dan keterangan di dalamnya, yang di rancang untuk memenuhi informasi yang dibutuhkan dalam suatu organisasi (Begg, Connolly, 2005, p15). Basis data merupakan suatu kesatuan, penyimpanan data yang besar yang dapat digunakan secara bersamaan oleh banyak departemen dan pengguna.

Sedangkan menurut Adi Nugroho (2008, p1), basis data merupakan kumpulan/koleksi data-data yang terorganisasi yang disimpan di tempat penyimpanan komputer (biasanya bersifat permanen) dan dirancang serta diorganisasikan sedemikian rupa sehingga mudah dicari, diakses, dan dimanipulasi (diubah, ditambahkan, serta dihapus) oleh pengguna. Data-data tersebut mungkin berupa teks, angka-angka, maupun grafik, dan dimasa kini, pengertian data(sesuai yang diakomodasi oleh Oracle Corp.) bisa diperluas menjadi selain tipe-tipe data yang telah disebutkan-suara, gambar, foto, serta video. Orang-orang yang mengatur dan mengelola Basis data disebut DBA (Database Administrator).

2.3.2 Relational Model

Struktur data relasional mempunyai istilah-istilah sebagai berikut (Begg, Connolly, 2005, p72):

a. Relation, merupakan sebuah tabel yang berisi kolom dan baris b. Attribute, merupakan nama kolom suatu relasi

c. Domain, merupakan kumpulan nilai-nilai yang bernilai valid pada atribut tertentu

(3)

11 d. Tuple, merupakan sebuah baris dari sebuah relasi

e. Degree, merupakan jumlah atribut yang dikandung f. Cardinality, merupakan jumlah tuple dalam suatu relasi

g. Relation Database, merupakan kumpulan dari tabel-tabel yang telah melewati proses normalisasi dengan relasi yang unik

2.3.3 Relational Key

Tidak ada tuple yang sama dalam suatu relasi. Maka dari itu, harus mampu mengidentifikasi satu atau lebih atribut yang secara unik mengidentifikasi setiap tuple dalam suatu relasi. Atribut-atribut tersebut disebut dengan suatu relational key

(Begg, Connolly, 2005, p78). Relational key terdiri dari :

a. Superkey, yang merupakan suatu atribut, atau sekumpulan atribut, yang mengidentifikasi tuple secara unik dalam suatu relasi.

b. Candidate key, merupakan superkey sedemikian sehingga tidak ada bagian yang tepat dari superkey dalam relasi.

c. Primary key, merupakan candidate key yang dipilih untuk mengidentifikasi tuple yang unik dari relasi.

d. Foreign key, merupakan sebuah atribut, atau sekumpulan atribut, yang ada pada suatu relasi, yang sama dengan candidate key dari beberapa relasi.

2.3.4 Database Management System (DBMS)

Menurut Connolly dan Begg (Begg, Connolly, 2005, p16) Database Management System (DBMS) adalah merupakan suatu perangkat lunak yang

(4)

12 memungkinkan pengguna untuk mendefinisikan, membuat, merawat, dan melakukan kontrol akses terhadap basis data.

DBMS mempunyai fasilitas sebagai berikut:

• Memungkinkan pengguna untuk mendifinisikan Basis data, biasanya melalui sebuah Data Definition Language (DDL). DDL memungkinkan pengguna untuk mengelompokkan tipe data, struktur, dan batasan terhadap data yang akan disimpan dalam basis data

• Dapat memungkinkan pengguna untuk melakukan pemasukan (insert), perubahan (update), penghapusan (delete), dan pengambilan (retrieve) data dari basis data, biasanya melalui Data Manipulation Language (DML). DML memungkinkan pengguna untuk melakukan

operasi query pada basis data

• Menciptakan akses kendali ke basis data. Sebagai contoh DBMS menyediakan:

- Sebuah sistem keamanan, yang dapat mencegah pengguna yang tidak mempunyai wewenang untuk mengakses basis data.

- Sebuah sistem integrasi, yang menjaga konsistensi data yang tersimpan

- Sebuah sistem kendali yang memungkinkan basis data untuk diakses secara bersamaan.

- Sebuah kendali sistem recovery, yang memungkinkan basis data untuk mengembalikan basis data ke kondisi konsisten yang

(5)

13 sebelumnya jika terjadi kesalahan, termasuk kesalahan perangkat keras dan perangkat lunak

- Sebuah katalog yang dapat diakses oleh pengguna, yang mengandung penjelasan dari data yang terdapat di dalam basis data yang ada.

2.3.4.1 Komponen Database Management System (DBMS)

Menurut Conolly dan Begg (Begg, Connolly, 2005, p18), DBMS mempunyai lima komponen utama : hardware, software, data, procedure, dan manusia (pengguna).

• Hardware (Perangkat Keras)

DBMS dan aplikasi membutuhkan perangkat keras untuk menjalankan suatu proses. Hardware dapat dijangkau dari suatu komputer tunggal, ke sebuah mainframe tunggal, pada suatu jaringan komputer.

• Software (Piranti Lunak)

Komponen piranti lunak yang meliputi software DBMS itu sendiri dan program-program aplikasi beserta Operating System (OS), termasuk piranti lunak jaringan, bila DBMS digunakan pada suatu jaringan LAN.

• Data

Data adalah komponen yang paling penting dalam DBMS, khususnya dari titik sudut pandang pangguna akhir yang berhubungan dengan data.

(6)

14 • Prosedur

Prosedur dapat berupa instruksi dan aturan-aturan yang mengatur rancangan dan penggunaan basis data. Pengguna dari sistem dan pekerja yang mengatur basis data membutuhkan dokumentasi petunjuk mengenai bagaimana cara mengoperasikan sistem. Instruksi tersebut dapat berupa cara untuk melakukan:

- Log on ke dalam DBMS

- Menggunakan fasilitas DBMS tertentu atau program aplikasi - Memulai (start) dan mengakhiri (stop) DBMS

- Membuat backup duplikasi dari basis data

- Menangani kesalahan pada perangkat keras (hardware) atau perangkat lunak (software).

- Mengubah struktur sebuah tabel, merancang kembali basis data melintasi banyak disk, meningkatkan kemampuan, atau mendapatkan data dari penyimpanan kedua/cadangan.

• Manusia (person) atau Sumber Daya Manusia (SDM)

Manusia yang terlibat langsung dalan sistem dibagi atas 4 bagian, yaitu (Begg, Connolly, 2005, p22):

- Data dan Database Administrators

Data Administrator (DA) bertanggung jawab terhadap

managemen sumber data meliputi perencanaan basis data, pengembangan dan standar pemeliharaan, prosedur dan kebijakan, dan desain konseptual logikal basis data.

(7)

15 Database Administrator (DBA) bertanggung jawab terhadap

pelaksanaan secara fisik dari database, seperti desain dan implementasi fisik database, kendali kemanan dan integritas, perawatan sistem operasional, dan menjamin kepuasan pengguna

- Database designer

Terdiri dari dua tipe designer, yaitu logical database designer dan physical database designer . Logical database

designer yaitu orang yang memperhatikan identifikasi data

(entities dan attribute), hubungan diantara data, dan batasan dari data yang disimpan pada basis data. Physical database designer adalah orang yang menentukan bagaimana logical

database designer dapat terlaksana secara fisik

- Pengembang Aplikasi (Application Developer)

Yaitu orang yang bekerja untuk spesifikasi yang telah dibuat oleh system analist

- Pengguna Akhir (End-user)

Merupakan siapa saja yang menggunakan aplikasi untuk memperoleh informasi dari sebuah sistem basisdata

(8)

16 2.3.4.2 Fungsi dari DBMS

DBMS menciptakan beberapa tipe fungsi dan pelayanan (Begg, Connolly, 2005, p48). Diantaranya adalah :

• Data Storage, Retrieval, and Update

Sebuah DBMS harus mampu melayani pengguna dengan kemampuan untuk menyimpan, menelusuri kembali, dan melakukan pengubahan data dalam basis data.

• Sebuah user-accessible catalog

Sebuah DBMS harus menyediakan sebuah catalog yang menjelaskan data yang disimpan dan yang dapat diakses oleh pengguna.

• Transaction support

DBMS harus menyediakan sebuah mekanisme yang menjamin semua perubahan terhadap suatu transaksi atau tidak akan terjadi perubahan sama sekali.

• Concurrency Control Services

DBMS harus menyediakan sebuah mekanisme yang menjamin basis data berubah dengan benar ketika banyak pengguna melakukan perubahan pada basis data secara bersamaan.

• Recovery services

Sebuah DBMS harus menyediakan sebuah mekanisme untuk melakukan recovery terhadap basis data ketika basis data rusak dengan cara apapun.

(9)

17 • Authorization Service

Sebuah DBMS harus menyediakan mekanisme untuk memastikan bahwa hanya pengguna yang mempunyai wewenang yang dapat mengakses basis data.

• Mendukung Komunikasi Data

Sebuah DBMS harus mempunyai kemampuan untuk berintegrasi dengan perangkat lunak komunikasi

• Integrity services

DBMS harus mengidentifikasikan suatu cara untuk menjamin data yang terdapat di dalam basis data beserta perubahannya mengikuti aturan-aturan yang tepat.

• Services to promote Data Independence

DBMS harus mengandung fasilitas untuk mendukung kemandirian program dari struktur basis data aktual.

• Utility service

DBMS harus menyediakan sekumpulan Utility services agar basis data dapat berjalan secara efektif.

2.3.5 Relational Database Management System (RDBMS)

Dalam penelitian, digunakan perangkat lunak Oracle Database 10g yang merupakan Relational Database Management System (RDBMS). Penemu konsep Basis Data Relasional adalah Peter Chen, sedangkan pencipta RDBMS adalah DR.Ted Codd (Adi Nugroho, 2008, p4).

(10)

18 Basis data relasional adalah tipe basis data atau sistem manajemen basis data yang menyimpan data-data dalam bentuk tabel, terdiri dari baris-baris data dan kolom-kolom data dimana data pada kolom dan baris tertentu terkadang dapat digunakan sebagai rujukan pencarian data yang berkaitan di tabel yang lain (Adi Nugroho, 2008, p4). Perhatikan gambar tabel 2.1.3.1 dibawah

NIM Nama 5184025 5183027 5184088 5184099 Adi Nugroho Ana Mariana Esti Nugraheni Eni Nugraheni Tabel Mahasiswa No_MK Nama_MK SKS 110011 130012 130013 Pascal C Basis Data 3 3 3 Tabel Mata Kuliah

NIM No_MK Nilai

5184025 5184025 5184088 110011 130013 110011 A A C Tabel Pengambilan Mata Kuliah

Gambar 2.1 Contoh Basis Data Relasional

Tabel pertama tertunjuk pada gambar 2.1 memperlihatkan data-data tentang mahasiswa tertentu, misalkan mahasiswa dengan NIM = 5184025 dengan nama Adi Nugroho, NIM = 5183027 dengan nama ana Mariana, dan selanjutnya. Tabel kedua

(11)

19 memperlihatkan data-data tentang mata kuliah, misalkan mata kuliah dengan No_MK = 110011 bernama pascal dengan jumlah SKS sebanyak 3 dan No_MK = 110012 dengan SKS sebesar 3 adalah mata kuliah C. Kemudian ketiga tabel memperlihatkan data-data mahasiswa yang mengambil mata kuliah tertentu beserta nilainya masing-masing, misalnya Adi Nugroho (NIM = 5184025) yang mengambil mata kuliah Pascal (No_MK = 110011) dan mendapatkan indeks nilai A dan Esti Nugraheni (NIM = 5184088) mengambil mata kuliah Pascal (No_MK = 110011) sudah mendapatkan nilai C. Kemudian beberapa mahasiswa, dengan nama Ana Mariana dan Eni Nugraheni (NIM = 5184099) ternyata tidak mengambil mata kuliah apa-apa (mungkin yang bersangkutan sedang cuti).

Dalam basis data relasional, data-data disimpan dalam bentuk tabel (beberapa pihak menyebutnya sebagai relasi) dimana baris-baris pada tabel menyatakan rekaman-rekaman (record) dan kolom-kolom menyatakan field-field (atribut-atribut pada rekaman). Untuk memandu pencarian, basis data relasional mencocokan data-data dari salah satu tabel dengan data-data-data-data pada tabel lain dan menghasilkan tabel ketiga yang menggabungkan data-data dari kedua tabel (Adi Nugroho, 2008, p5).

Basis data adalah himpunan dari relasi-relasi. Secara formal, setiap relasi ditampilkan dalam bentuk tabel atau sering disebut sebagai tabel datar (flat files) dari rekaman-rekaman (record). Selain itu relasi sering didefinisikan sebagai himpunan rekaman-rekaman. Dalam berkas-berkas basis data, rekaman-rekaman (record) secara fisik tersimpan di media simpan tertentu sehingga ada hubungan atau relasi antara satu dengan yang lain.

(12)

20 Setiap nilai dalam atribut suatu rekaman harus bernilai atomik, yang artinya tidak dapat dibagi lagi menjadi komponen-komponen dalam kerangka model relasional sehingga atribut bernilai banyak tidak diizinkan.

RDBMS memiliki 3 aspek utama, yaitu :

• Data ditampilkan sebagai tabel-tabel 2 dimensi. Tabel-tabel memiliki nomor-nomor yang spesifik bagi setiap baris dan kolom dan suatu data disimpan pada baris dan kolom tertentu. Kolom-kolom memperlihatkan atribut-atribut dan setiap baris mewakili data-data untuk suatu objek. • Operator untuk memanipulasi tabel-tabel. SQL (Structured Query

Language) adalah bahasa basis data bertipe relasional. Dalam hampir

segala hal menyangkut administrasi basis data, oracle menggunakan sintaks-sintaks SQL. Selain itu, suatu pengembangan dari bahasa pemrograman nir-prosedural SQL yang khas Oracle, yaitu : PL/SQL (Programming Language / Structured Query Language), juga dikembangkan Oracle Corp. Demi peningkatan kemampuan SQL baku • Referencial Integrity. Referencial Integrity merupakan sarana

penghubung utama pada suatu basis data relasional sehingga basis data pada suatu tabel dapat berhubungan dengan data yang berada pada tabel lain, melalui penggunaan primary key dan foreign key

(13)

21 2.3.6 Database Language

Sebuah sub bahasa data dibagi menjadi dua bagian yaitu : Data Definition Language (DML) dan Data Definition Language (DML). DDL digunakan untuk

menspesifikasikan skema basisdata dan DML digunakan untuk membaca dan mengubah basisdata (Begg, Connolly, 2005, p39).

2.3.6.1 The Data Definition Language

DDL (Data Definition Language) merupakan bahasa yang memungkinkan DBA (database administrator) atau user untuk menjelaskan dan memberi nama entitas, atribut, dan hubungan yang dibutuhkan untuk aplikasi, bersama dengan beberapa hubungan intergrasi dan batasan keamanan (Begg, Connolly, 2005, p40).

Contoh operasi yang dapat dilakukan oleh DDL adalah sebagai berikut (Begg, Connolly, 2005, p168) :

a. Create Table

Digunakan untuk menciptakan tabel dengan melakukan definisi tipe data pada masing-masing kolom.

b. Alter table

Digunakan untuk mengubah kolom yang ada dan mengubah batasan pada suatu tabel,

c. Drop table

Digunakan untuk menghapus tabel yang tidak digunakan beserta semua data yang ada didalamnya.

d. Create Index

(14)

22 e. Drop Index

Digunakan untuk menghapus index yang diciptakan sebelumnya.

f. Create View

Digunakan untuk membuat sebuah virtual relation. g. Drop View

Digunakan untuk menghapus view, 2.3.6.2 The Data Manipulation Language (DML)

DML merupakan sebuah bahasa yang menciptakan sekumpulan operasi untuk mendukung operasi manipulasi data dasar pada data yang ada didalam basisdata.

DML (Data Manipulation Language) menyediakan operasi dasar dalam basis data, diantaranya adalah :

a) Memasukkan data baru kedalam basisdata (insertion)

b) Perubahan terhadap data yang disimpan dalam basisdata (modification)

c) Pemanggilan data yang ada dari basisdata (retrieve) d) Menghapus data yang ada didalam basisdata (delete)

DML dapat dibedakan menjadi 2 tipe yang berbeda, diantaranya adalah (Begg, Connolly, 2005, p41):

a. Procedural DMLs

Procedural language merupakan bahasa yang memperbolehkan

user untuk memberitahu sistem mengenai data apa yang dibutuhkan

(15)

23 rekaman (record), dan memprosesnya, berdasarkan hasil yang diperoleh dari proses, memanggil rekaman lain yang harus diproses secara cara yamg sama, dan lainnya.

b. Non-procedural DMLs

Merupakan suatu bahasa yang memperbolehkan pengguna untuk menyatakan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana cara mendapatkan data tersebut.

2.3.6.3 Fourth-Generation Language

Fourth-Generation Language merupakan bahasa non-procedural

dimana pengguna menentukan apa yang akan diselesaikan, bukan bagaimana cara menyelesaikannya (Begg, Connolly, 2005, p42). Contoh 4 GL adalah SQL dan QBE. Beberapa tipe 4 GL adalah sebagai berikut :

a. Forms Generator

Merupakan fasilitas interaktif menciptakan data masukan secara cepat dan menampilkan tampilan. Mendefinisikan desain tampilan seperti apa, informasi apa yang akan ditampilkan, definisi warna pada layar.

b. Report Generator

Merupakan suatu fasilitas yang digunakan untuk membuat laporan dari data yang disimpan dalam basisdata. Report generator lebih mementingkan keluaran, yaitu bagaimana suatu laporan akan disajikan.

(16)

24 c. Graphic Generator

Merupakan fasilitas yang digunakan untuk mengambil data dari basisdata. Memungkinkan pengguna untuk menampilkannya dalam bentuk grafik seperti bar, chart, pie chart, line chart dan lain-lain. d. Application generator

Merupakan fasilitas untuk menghasilkan sebuah program yang merupakan interface dari basisdata.

(17)

25 2.3.7 Siklus Hidup Aplikasi Basis Data (Database Application Lifecycle)

Sistem basis data merupakan komponen dasar dari organisasi besar dengan sistem informasi yang luas. Daur hidup aplikasi basis data berkembang terhubung dengan daur hidup sistem informasi (Begg, Connolly, 2005, p283).

Berikut ini adalah siklus hidup aplikasi basisdata pada gambar berikut :

Gambar 2.2 Tahapan-Tahapan Siklus Hidup Aplikasi Basisdata (Begg, Connolly, 2005, p284)

(18)

26 2.3.7.1 Perencanaan Database (Database Planning)

Database Planning adalah aktivitas manajemen yang memungkinkan

tahapan-tahapan dari database system development lifecycle dapat direalisasikan dengan seefektif dan seefisien mungkin. Database planning harus di-integrasikan/dihubungkan dengan seluruh strategi sistem informasi (Begg, Connolly, 2005, p285). Ada 3 hal yang terlibat dalam penyusunan strategi sistem informasi :

- Identifikasi terhadap rencana dan sasaran usaha dengan rangkaian keputusan dari kebutuhan sistem informasi

- Evaluasi terhadap sistem informasi yang sedang berjalan untuk mengetahui kekuatan dan kelemahannya

- Penafsiran terhadap kesempatan teknologi informasi yang dapat memberikan keuntungan yang kompetitif

2.3.7.2 System Definition

Pendefinisian sistem (System Definition) menjelaskan lingkup dan batasan aplikasi basis data dan pandangan-pandangan utama dari para user/pengguna (Begg, Connolly, 2005, p286). Sebelum memutuskan untuk mendesain sebuah sistem basisdata, penting untuk mengidentifikasi batasan dari sistem yang sedang diselidiki dan bagaimana tampilannya dengan bagian lain dari sistem informasi organisasi. Batasan sistem sebaiknya tidak hanya sesuai dengan bidang dan batasan aplikasi basisdata serta pandangan pengguna yang telah ada saja pada saat ini, namun harus sesuai juga dengan kebutuhan pada masa yang akan datang.

(19)

27 Pandangan pengguna (user views) menentukan apa yang dibutuhkan dari sebuah sistem basisdata dari perspektif/pandangan suatu jabatan tertentu (seperti manager atau supervisor) atau area aplikasi perusahaan (seperti marketing, personnel, dan stock control).

2.3.7.3 Pengumpulan Kebutuhan dan Analisis (Requirement Collection and Analysis)

Proses pengumpulan kebutuhan dan analisis merupakan proses pengumpulan dan analisis informasi tentang bagian organisasi yang harus didukung oleh sistem basisdata, dan penggunaan informasi tersebut berguna untuk mengidentifikasi persyaratan pengguna untuk sistem yang baru (Begg, Connolly, 2005, p288).

Informasi yang dikumpulkan pada langkah ini termasuk:

- Deskripsi dari data yang digunakan atau data yang di-generate - Detail mengenai bagaimana data digunakan atau di-generated

- Kebutuhan-kebutuhan tambahan apapun untuk sistem basis data yang baru

2.3.7.4 Perancangan Basis Data (Database Design)

Perancangan basisdata merupakan proses pembuatan suatu rancangan yang akan mendukung operasi dan tujuan perusahaan untuk kebutuhan sistem basisdata (Begg, Connolly, 2005, p291). Terdapat 2 pendekatan dalam perancangan basisdata :

b. Bottom-up

Pendekatan bottom-up dimulai dari tingkat paling dasar dari suatu atribut (yaitu, properti dari entitas dan relasi) dimana melalui

(20)

28 analisis dari hubungan diantara atribut, dikelompokkan kedalam relasi-relasi yang merepresentasikan tipe entity dan hubungan-hubungan diantara entity. Pendekatan ini cocok untuk perancangan sebuah basisdata sederhana, dengan jumlah atribut yang relatif kecil. Namun pendekatan ini akan sulit diterapkan dalam rancangan basis data yang lebih kompleks dengan jumlah atribut yang lebih besar, karena akan sulit untuk membangun semua ketergantungan fungsional diantara atribut.

c. Top-down

Pendekatan ini dimulai dari pengembangan model data yang terdiri dari beberapa hubungan relasional dan entity tingkat tinggi beserta hubungan-hubungannya, kemudian dilanjutkan dengan mengidentifikasi entitas-entitas tingkat rendah, hubungan-hubungannya, serta mengasosiasikan atribut-atribut yang berhubungan. Pendekatan ini merupakan strategi yang lebih cocok untuk membuat sebuah basisdata yang lebih kompleks. Pendekatan ini biasanya digambarkan melalui ER (Entity Relationship)

Perancangan database dibagi menjadi 3 tahapan yaitu, conceptual database design, logical database design, dan physical database design (Begg,

Connolly, 2005, p439). 2.3.7.5 Pemilihan DBMS

Merupakan suatu proses untuk memilih DBMS yang tepat untuk mendukung sistem dari basisdata (Begg, Connolly, 2005, p295). Tahapan utama pemilihan DBMS adalah sebagai berikut :

(21)

29 a) Menentukan syarat-syarat referensi studi

Tahapan ini merupakan prasyarat dalam menentukan DBMS yang sudah dijalankan, mulai dari menentukan tujuan, batasan masalah, dan tugas-tugas yang harus dilakukan.

b) Mengurutkan dua atau tiga produk

Ini merupakan proses membuat daftar barang-barang seperti sumber barang, biaya yang diperlukan lalu bagaimana cara untuk mendapatkannya.

c) Mengevaluasi produk

Barang-barang akan melalui proses penelitian pada beberapa tahap untuk mengetahui kelebihan ataupun kekurangan dari barang tersebut.

d) Membuat laporan tentang pilihan yang direkomendasikan

Merupakan langkah yang berkaitan dengan proses dokumentasi dan menciptakan pernyataan mengenai penemuan dan rekomendasi terhadap suatu produk DBMS tertentu.

2.3.7.6 Perancangan Aplikasi

Perancangan aplikasi merupakan suatu proses perancangan dari user interface dan program-program aplikasi yang menggunakan dan memproses

basisdata (Begg, Connolly, 2005, p299). Basis data dan perancangan aplikasi adalah aktivitas yang paralel dari daur hidup sistem basisdata. Maka dari itu, pada banyak kasus merupakan suatu yang tidak mungkin untuk melengkapi perancangan aplikasi jika perancangan basisdata belum selesai.

(22)

30 2.3.7.7 Prototyping

Prototyping adalah proses membangun sebuah kerangka kerja dari

sebuah aplikasi basisdata. Suatu prototype merupakan model yang tidak normal dan tidak mempunyai semua fitur yang dibutuhkan atau menyediakan semua fungsionalitas dari sistem terakhir. Tujuan utama dari pengembangan sebuah sistem basisdata prototype adalah memungkinkan pengguna menggunakan prototype tersebut untuk mengidentifikasi fitur-fitur dari sistem yang bekerja

baik, atau memadai, dan jika mungkin menganjurkan peningkatan atau bahkan fitur-fitur baru pada aplikasi basisdata (Begg, Connolly, 2005, p304).

Ada 2 strategi prototyping yang umum digunakan saat ini, yaitu : a) Requirement prototyping

Strategi ini menggunakan sebuah prototype untuk menentukan berbagai kebutuhan dari sistem basisdata yang diusulkan. Apabila semua kebutuhan telah selesai ditentukan maka prototype tersebut tidak akan digunakan lagi.

b) Evolutionary prototyping

Strategi ini digunakan untuk tujuan yang sama, perbedaan yang penting adalah bahwa prototype tidak dibuang tetapi dengan pengembangan lebih jauh menjadi sistem basisdata yang bekerja. 2.3.7.8 Implementasi (Implementation)

Implementasi merupakan realisasi fisik dari perancangan basisdata dan perancangan aplikasi (Begg, Connolly, 2005, p304). Pada penyelesaian tahap perancangan (dimana mungkin atau tidak mengandung prototyping), sekarang dalam posisi mengimplementasikan basisdata dan program aplikasi.

(23)

31 Implementasi basisdata dapat dicapai menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau dari graphical user interface (GUI), yang menciptakan fungsionalitas yang sama ketika menyembunyikan pernyataan DDL tingkat rendah. Pernyataan DDL tersebut digunakan untuk menciptakan struktur basisdata dan file basisdata yang kosong. Program-program aplikasi dapat diimplementasikan menggunakan bahasa generasi ketiga atau keempat (3GL atau 4GL).

Transaksi basis data diimplementasikan dengan menggunakan Data Manipulation Language (DML) dan merupakan bagian dari program aplikasi.

Kendali integritas dan keamanan sebagian diimplementasikan menggunakan DDL, namun terdapat beberapa yang membutuhkan perangkat diluar DDL.

2.3.7.9 Pengubahan data dan pengambilan

Merupakan proses transfer data yang ada kedalam basis data baru dan mengubah aplikasi yang ada untuk berjalan pada basis data yang baru (Begg, Connolly, 2005, p305). Langkah ini dibutuhkan hanya ketika sebuah sistem basis data baru mengganti sistem yang lama. Saat ini, merupakan suatu hal yang umum untuk DBMS yang memiliki suatu peralatan yang dapat memuat file yang ada kedalam basis data yang baru. Peralatan biasanya membutuhkan spesifikasi dari sumber file dan basis data tujuan, dan kemudian secara otomatis mengubah data kedalam bentuk format yang dibutuhkan oleh basis data yang baru.

2.3.7.10 Pengujian (Testing)

Merupakan proses pelaksanaan program aplikasi dengan tujuan untuk menemukan kesalahan. Sebelum dihidupkan, sistem basis data yang baru

(24)

32 dikembangkan harus seluruhnya diuji. Proses uji coba ini dilakukan dengan keadaan yang mendekati kenyataan bersangkutan dengan data-data yang nyata. 2.3.7.11 Pemeliharaan Operasional (Operational Maintenance)

Merupakan proses pengawasan dan perawatan sistem basisdata berikut instalasi. Kegiatan yang dilakukan pada tahap ini adalah sebagai berikut :

- Memantau kinerja sistem

- Merawat dan melakukan upgrade terhadap aplikasi basisdata (ketika dibutuhkan)

2.3.8 Tahap-Tahap Perancangan Basis Data

Metode perancangan database dibagi menjadi tiga bagian utama (Begg, Connolly, 2005, p293), yaitu :

• Perancangan Basis Data Konseptual

Merupakan suatu proses membangun sebuah model dari data yang digunakan didalam suatu perusahaan, yang tidak tergantung dari seluruh pertimbangan fisik.

• Perancangan Basis Data Logikal

Merupakan suatu proses membangun sebuah model dari data yang digunakan pada suatu perusahaan berdasarkan pada data model yang spesifik, tetapi tidak tergantung pada Database Management System (DBMS) tertentu dan pertimbangan fisik lainnya.

• Perancangan Basis data fisikal

Merupakan suatu proses untuk menghasilkan sebuah gambaran dari implementasi basisdata pada tempat penyimpanan kedua, menjelaskan

(25)

33 dasar dari relasi, organisasi file dan indeks yang digunakan untuk mendapatkan efisiensi akses data dan menghubungkan beberapa batasan integritas dan tindakan keamanan.

2.3.8.1 Perancangan Basis Data Konseptual

Langkah-langkah dalam metodologi percancangan basis data konseptual adalah sebagai berikut (Begg, Connolly, 2005, p442):

• Langkah 1 – Membangun Local Conceptual Data Model - Langkah 1.1 Mengidentifikasi tipe entitas

Tujuan dari langkah ini adalah untuk mengidentifikasi tipe entitas yang terutama dibutuhkan oleh pengguna. Satu metode untuk mengidentifikasi entitas adalah tentukan kebutuhan pengguna terlebih dahulu. Dan pada langkah ini dilakukan identifikasi kata benda atau frase kata benda pada spesifikasi kebutuhan pengguna, objek besar seperti orang, tempat, benda, atau konsep dapat digunakan untuk mencari tipe entitas. Cara lain adalah dengan mencari objek yang bebas. (Begg, Connolly, 2005, p443)

- Langkah 1.2 Identifikasi tipe relasi

Tujuannya adalah untuk mengidentifikasi relasi penting yang tersedia diantara tipe-tipe entitas (Begg, Connolly, 2005, p445) - Langkah 1.3 Mengidentifikasi dan menghubungkan atribut

dengan entitas atau tipe relasi

Tujuannya adalah untuk menghubungkan atribut dengan entitas atau tipe relasi yang tepat. Atribut yang dimiliki oleh setiap

(26)

34 entitas dan relasi wajib memenuhi karakteristik atribut yaitu simple/composite attribute, single/multi-valued attribute, dan

derived attribute. (Begg, Connolly, 2005, p447)

- Langkah 1.4 menentukan domain atribut

Bertujuan untuk menentukan domain atribut didalam local conceptual data model. Sebuah domain adalah kumpulan nilai

dimana satu atau lebih atribut memperoleh nilai true atau benar. Setiap atribut di dalam relasi ditetapkan dalam domain. (Begg, Connolly, 2005, p450)

- Langkah 1.5 Menentukan atribut Candidate Key dan Primary Key Digunakan untuk identifikasi candidate key setiap tipe entitas, dan jika ada lebih dari satu candidate key, maka akan terpilih satu untuk menjadi primary key dan yang lain akan menjadi alternate key (Begg, Connolly, 2005, p451). Untuk memilih

primary key diantara candidate key, pergunakan aturan berikut

untuk membantu pemilihan primary key :

ƒ Candidate key dengan minimal kumpulan dari atribut ƒ Candidate key dengan nilai yang paling sedikit berubah. ƒ Candidate key dengan jumlah karakter yang paling sedikit

(untuk yang memiliki textual attributes)

ƒ Candidate key dengan nilai maximum yang paling kecil (untuk yang dengan numerical attributes)

ƒ Candidate key yang paling mudah digunakan dari sudut pandang pengguna.

(27)

35 - Langkah 1.6 Pertimbangkan penggunaan dari enhanced modeling

concepts (langkah pilihan)

Tujuannya adalah untuk mempertimbangkan penggunaan dari peningkatan model konsep, seperti specialization / generalization, generalization, aggregation, dan composition.

Specialization adalah proses memaksimalkan perbedaan antara

anggota sebuah entitas dengan mengidentifikasi karakteristik yang membedakan entitas tersebut. Generalization adalah proses meminimalkan perbedaan antar entitas dengan mengidentifikasi sifat umum entitas. Aggregation menunjukkan ’memiliki’ atau ’bagian dari’ relationship diantara tipe entitas, dimana yang satu menunjukkan ’keseluruhan’ dan ’bagian’ (Begg, Connolly, 2005, p453).

- Langkah 1.7 Model pemeriksaan untuk redudancy

Digunakan untuk memeriksa conceptual model agar terhindar dari redudansi dalam model (Begg, Connolly, 2005, p453). Dua kegiatan yang dilakukan pada hal ini adalah :

ƒ Memeriksa kembali One-to-one (1:1) Relationship.

Dalam mengidentifikasi entitas, mungkin dapat menemukan dua entitas atau lebih yang menggambarkan objek yang sama dalam suatu organisasi.

ƒ Menghilangkan Relasi redundant

Sebuah relasi dikatakan redundant apabila informasi yang sama dapat diperoleh pada relasi lainnya.

(28)

36 - Langkah 1.8 melakukan validasi conceptual model dengan

transaksi yang dilakukan pengguna

Untuk memastikan bahwa local conceptual model mendukung transaksi yang dibutuhkan (Begg, Connolly, 2005, p456). Dua pendekatan yang memungkinkan untuk memastikan local conceptual data model mendukung kebutuhan transaksi :

ƒ Menggambarkan transaksi

Memeriksa semua informasi (entities, relationship, dan attributes) yang dibutuhkan oleh setiap transaksi dan

dihasilkan oleh model, dengan dokumentasi sebuah penjelasan dari setiap kebutuhan transaksi.

ƒ Menggunakan transaction pathways

Melakukan validasi data terhadap kebutuhan transaksi dengan penggambaran diagram yang mewakili pathway yang diambil oleh setiap transaksi secara langsung pada diagram ER.

- Langkah 1.9 Melihat kembali conceptual data model bersama pengguna

Untuk memastikan bahwa data model adalah merupakan representasi yang benar dari kebutuhan dari suatu organisasi (Begg, Connolly, 2005, p458).

(29)

37 2.3.8.2 Perancangan Basis Data Logikal

Perancangan basis data logika adalah suatu proses pembangunan sebuah model dari data yang digunakan di dalam suatu perusahaan berdasarkan sebuah model data yang spesifik, tetapi tidak bergantung pada suatu DBMS tertentu dan pertimbangan fisikal lainnya. (Begg, Connolly, 2005, p439).

Langkah-langkah perancangan basis data logikal adalah sebagai berikut (Begg, Connolly, 2005, p462):

• Langkah 2. Membangun dan melakukan validasi logical data model Tujuannya adalah untuk menerjemahkan conceptual data model kedalam logical data model dan kemudian memvalidasi model tersebut agar benar secara struktural dan mampu mendukung transaksi-transaksi yang dibutuhkan (Begg, Connolly, 2005, p462). Aktivitas yang ada pada langkah tersebut adalah :

- Langkah 2.1 Menentukan Relasi-Relasi untuk logical data model Tujuannya adalah menciptakan relasi untuk logical data model untuk merepresentasikan entitas-entitas, relasi-relasi, dan atribut-atribut yang telah diidentifikasikan (Begg, Connolly, 2005, p463). Relationship yang mungkin terjadi pada model data konseptual:

• Strong Entity Type

Strong Entity Type adalah tipe entitas yang keberadaannya

tidak bergantung (independent) pada beberapa tipe entitas lainnya. Karakteristik dari Strong entity type adalah setiap

(30)

38 tipe entiti yang terjadi dapat diidentifikasi secara unik menggunakan atribut primary key dari tipe entitas. Strong entity type sering disebut dengan parent atau owner atau

dominant entities (Begg, Connolly, 2005, p354).

• Weak Entity type

Weak entity type adalah tipe entitas yang keberadaannya

bergantung (dependent) pada beberapa tipe entitas lainnya. Weak entity type juga disebut dengan child, dependent, atau

subordinate entities (Begg, Connolly, 2005, p355).

• One-to-many (1:*) binary relationship types

Untuk setiap 1:* binary relationship, entitas pada ‘satu sisi’ dari relasi dianggap sebagai entitas parent dan entitas pada ‘banyak sisi’ dianggap sebagai entitas child. Untuk merepresentasikan relasi ini, tampilkan salinan atribut primary key dari entitas parent ke dalam relasi yang

merepresentasikan entitas child, untuk berlaku sebagai foreign key (Begg, Connolly, 2005, p465).

• One-to-one (1:1) binary relationship types

Membuat relasi-relasi yang memperlihatkan sebuah relasi 1:1 sedikit lebih kompleks karena cardinality tidak dapat digunakan untuk membantu mengidentifikasi entitas-entitas parent dan child dalam relasi (Begg, Connolly, 2005, p465).

(31)

relasi-39 relasi untuk merepresentasikan participation constraint berikut:

- Mandatory Participation pada 2 sisi dari 1:1 relationship

Pada kasus ini, harus digabungkan entitas yang terlibat kedalam satu relasi dan memilih salah satu dari primary key dari entitas-entitas aslinya untuk menjadi

primary key pada relasi yang baru, sedangkan yang

lainnya dijadikan alternate key. (Begg, Connolly, 2005, p466)

- Mandatory Participation pada 1 sisi dari relasi 1:1 Pada kasus ini dapat diidentifikasi entitas-entitas parent dan child untuk relasi 1:1 dengan menggunakan

participation constraint. Entitas yang mempunyai

pilihan participation dalam relationship dianggap sebagai entitas parent, dan entitas yang mempunyai mandatory participation dalam relationship dianggap

sebagai child. (Begg, Connolly, 2005, p466)

- Optional Participation pada 2 sisi dari 1:1 relationship Primary key dapat dipilih berdasatkan atas kasus yang

ada (Begg, Connolly, 2005, p467) • One-to-one (1:1) recursive relationship types

Untuk sebuah 1:1 recursive relationship, ikuti aturan yang dijelaskan diatas untuk sebuah 1:1 relationship.

(32)

40 Dalam kasus tertentu relasi 1:1, entity kedua sisi dari relationship adalah sama. Untuk 1:1 recursive

relationship dengan mandatory participation pada 2 sisi,

representasikan recursive relationship sebagai relasi tunggal dengan salinan 2 primary key. Sedangkan salah satu salinan dari primary key merepresentasikan foreign key dan harus dubah namanya untuk menandakan

relationship yang direpresentasikan.

(Begg, Connolly, 2005, p467) • Superclass/subclass relationship types

Untuk setiap superclass / subclass relationship dalam conceptual data model, dapat diidentifikasi entitas

superclass sebagai entiti parent dan entiti subclass sebagai

entitas child. Pilihan yang paling sesuai tergantung dari

sejumlah faktor seperti disjointnese dan participation constraint pada superclass/subclass relationship apakah

subclass-subclass terlibat dalam distinct relationship dan

jumlah participant dalam relasi superclass / subclass (Begg, Connolly, 2005, p467).

• Many-to-many (*:*) binary relationship types

Untuk setiap relasi biner many-to-many (*:*), buatlah relasi yang mewakili relasi dan mencakup seluruh atribut yang menjadi bagian dari relasi. Dilakukan penyalinan

(33)

41 atribut primary key untuk entity yang berpartisipasi didalam relasi kedalam relasi yang baru sebagai foreign key (Begg, Connolly, 2005, p469) .

• Complex relationship types

Untuk setiap relasi kompleks, buat sebuah relasi untuk merepresentasikan relasi dan meliputi semua atribut yang merupakan bagian dari relasi tersebut. Lalu buat salinan primary key dari entitas yang berhubungan dalam relasi

kompleks kedalam relasi baru, untuk berlaku sebagai foreign key.

• Multi-valued attributes

Untuk setiap atribut yang memiliki banyak nilai yang ada pada entity, buatlah relasi untuk mewakili atribut multi-value dan mencakup primary key dari entity pada relasi

yang baru sebagai foreign key (Begg, Connolly, 2005, p471).

- Langkah 2.2 Melakukan validasi relasi dengan menggunakan normalisasi

Tujuannya adalah untuk melakukan validasi terhadap relasi-relasi dalam logical data model dengan menggunakan teknik normalisasi. (Begg, Connolly, 2005, p473).

Normalisasi merupakan teknik untuk menghasilkan sekumpulan relasi-relasi dengan properti-properti yang diinginkan, sesuai

(34)

42 dengan kebutuhan data-data yang diberikan oleh suatu perusahaan (Begg, Connolly, 2005, p388). Tujuan dari normalisasi ini adalah untuk mengurangi redudansi data (pengulangan data) dan update anomaly.

Update anomaly dibedakan menjadi 3, yaitu insert anomaly,

update anomaly, dan modification anomaly/update anomaly.

Delete anomaly adalah kejanggalan yang terjadi terhadap suatu

tabel pada saat dilakukan penghapusan suatu record, penghapusan bermaksud untuk menghapus suatu data tertentu tetapi menyebabkan kehilangan informasi lain dari tabel tersebut. Insert anomaly adalah kejanggalan yang terjadi terhadap sebuah tabel pada saat dilakukan penambahan suatu record yaitu berupa pelanggaran terhadap batasan integritas.

Modification/update anomaly adalah kejanggalan yang terjadi

pada suatu tabel pada saat dilakukan pengubahan suatu rekaman. (Begg, Connolly, 2005, p392).

Proses dari normalisasi melewati tahap seperti berikut (Begg, Connolly, 2005, p401):

a. First normal form (1NF), yang bertujuan menghilangkan perulangan data

b. Second normal form (2NF), yang bertujuan untuk menghilangkan ketergantungan parsial pada Primary Key. c. Third Normal Form (3NF), yang bertujuan untuk

(35)

43 - Langkah 2.3 melakukan validasi relasi pada transaksi user

Langkah ini dilakukan untuk memastikan bahwa relasi didalam Local logical data model mendukung transaksi yang

dibutuhkan. (Begg, Connolly, 2005, p474). - Langkah 2.4 memeriksa batasan integrity

Bertujuan untuk memeriksa batasan integritas yang direpresentasikan dalam logical data model (Begg, Connolly, 2005, p474). Batasan integritas dibagi menjadi 5 bagian, yaitu :

a. Data yang dibutuhkan (Required Data)

Beberapa atribut harus selalu mengandung nilai yang bernilai valid, dengan kata lain, tidak boleh diperbolehkan mempunyai nilai null.

b. Batasan domain atribut

Setiap atribut mempunyai domain, yaitu sekumpulan nilai yang pasti.

c. Multiplicity

Multiplicity merepresentasikan batasan yang ditempatkan

pada relasi diantara data dalam basisdata. d. Integritas entitas

Primary key dari sebuah entitas tidak boleh bernilai null.

Batasan ini harus dipertimbangkan ketika kita mengidentifikasi primary key untuk tiap tipe entitas.

(36)

44 e. Integritas referensial

Integritas referensial berarti jika foreign key berisi sebuah nilai, maka nilai tersebut harus menunjuk tuple yang ada di dalam relasi parent. Umumnya, jika partisipasi dari relasi child dalam relationship adalah mandatory, maka nilainya tidak boleh null. Tetapi jika partisipasi dari relasi child dalam relasi dapat dipilih, maka boleh null.

f. Batasan umum

Pengubahan pada entitas mungkin dapat diatur oleh batasan-batasan yang mengatur transaksi ’real world’ yang direpresentasikan oleh perubahan tersebut.

- Langkah 2.5 Melihat ulang model local logical data dengan pengguna

Bertujuan untuk melihat kembali logical data model untuk memastikan bahwa pengguna mempertimbangkan model data logikal untuk menjadi representasi yang sebenarnya dari kebutuhan data perusahaan. (Begg, Connolly, 2005, p478).

- Langkah 2.6 Menggabungkan Local logical data model kedalam global model.

Langkah ini bertujuan untuk merepresentasikan semua user views dari database (Begg, Connolly, 2005, p479).

Langkah-langkahnya adalah sebagai berikut :

a. Melihat kembali nama dan isi datri entitas/relasi serta candidate keys.

(37)

45 Bertujuan untuk mengidentifikasi munculnya dua masalah potensial sebagai berikut :

o Memiliki nama yang sama, tetapi sebenarnya tidak sama (homonim)

o Adalah sebenarnya sama, tetapi memiliki nama yang berbeda (sinonim)

b. Melihat kembali nama dan isi dari relationship/foreign key c. Menggabungkan entitas/relasi dari model data lokal.

d. Memasukkan (tanpa menggabungkan) entitas/relasi yang unik ke dalam setiap model data

e. Menggabungkan relasi/foreign key dari local data model f. Memasukkan (tanpa menggabungkan) relasi / foreign key

yang unik kedalam setiap model data

g. Mengecek untuk entitas/relasi dan relasi / foreign key yang tertinggal.

h. Mengecek foreign key

i. Mengecek integrity constraint

j. Menggambarkan diagram ER / relasi global k. Melakukan update dokumentasi.

2.3.8.3 Perancangan Basis Data Fisikal

Perancangan basis data fisikal adalah proses membuat sebuah deskripsi dari implementasi basis data pada penyimpanan kedua; mendeskripsikan relasi dasar, organisasi file, dan index yang digunakan untuk mendapatkan akses

(38)

46 efisien pada data dan semua integrity constraint yang berhubungan dan security measures (Begg, Connolly, 2005, p439).

Langkah-langkah perancangan fisik database adalah sebagai berikut : • Langkah 3. Menerjemahkan logical data model untuk DBMS yang

dipilih

Tujuannya adalah untuk menghasilkan skema basis data relasional dari data model logikal yang dapat diimplementasikan dalam target DBMS (Begg, Connolly, 2005, p497). Terdapat 3 langkah dalam tahap ini, yaitu :

- Langkah 3.1 Mendesain relasi dasar

Tujuannya adalah untuk memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasikan dalam model data logikal dalam DBMS yang dipilih (Begg, Connolly, 2005, p498).

- Langkah 3.2 Merancang Representasi untuk Derived data

Tujuannya adalah untuk memutuskan bagaimana merepresentasikan semua data derived yang ada dalam model data logikal dalam DBMS yang dipilih. Atribut yang nilainya dapat dicari dengan memeriksa nilai-nilai dari atribut lainnya yang diketahui sebagai ”derived” atau ”calculate attribute” (Begg, Connolly, 2005,p499).

- Langkah 3.3 Merancang batasan umum

Tujuannya adalah untuk merancang batasan umum pada DBMS yang dipilih (Begg, Connolly, 2005,p501).

(39)

47 • Langkah 4 Merancang organisasi file dan indeks

Langkah ini mempunyai tujuan untuk menentukan organisasi file yang optimal untuk menyimpan relasi dasar dan indeks-indeks yang dibutuhkan untuk tercapainya performa yang daopat diterima, dengan begitu, relasi dan tuple akan dapat disimpan pada penyimpanan kedua (Begg, Connolly, 2005, p501).

- Langkah 4.1 Menganalisa transaksi

Tujuan pada langkah ini adalah untuk memahami fungsi dari transaksi-transaksi yang akan berjalan pada basis data dan untuk menganalisa transaksi-transaksi penting (Begg, Connolly, 2005, p502).

- Langkah 4.2 Memilih organisasi file

Tujuannya adalah untuk menentukan sebuah organisasi file yang efisien untuk relasi dasar (Begg, Connolly, 2005, p506). - Langkah 4.3 Memilih index-index

Tujuan dari langkah ini adalah untuk menentukan apakah dengan menambahkan indeks-indeks akan meningkatkan kemampuan dari suatu sistem (Begg, Connolly, 2005, p508). - Langkah 4.4 Memperkirakan kebutuhan disk space

Tujuannya adalah untuk memperkirakan nilai dari disk space yang dibutuhkan oleh basisdata (Begg, Connolly, 2005, p514).

(40)

48 • Langkah 5. Merancang pandangan user.

Tujuannya adalah untuk merancang pandangan pengguna yang diidentifikasikan selama pengumpulan kebutuhan dan tahapan analisis dari database system development lifecycle (Begg, Connolly, 2005, p515).

• Langkah 6. Merancang mekanisme keamanan

Tujuannya adalah untuk merancang mekanisme keamanan untuk basis data seperti yang ditentukan oleh pengguna pada saat pengumpulan kebutuhan dari database system development lifecycle (Begg, Connolly, 2005, p516).

2.3.9 Entity-Relationship Modeling 2.3.9.1 Entity Types

Entity type adalah sekumpulan objek dengan properti yang sama, yang

diidentifikasikan oleh perusahaan serta keberadaannya yang mandiri (Begg, Connolly, 2005, p343). Sedangkan entity occurance adalah setiap objek yang diidentifikasikan secara unik.

Gambar 2.3 Representasi Diagram dari tipe entity staff dan Branch

(41)

49 2.3.9.2 Relationship Type

Relationship Type adalah sekumpulan hubungan yanng mempunyai arti

diantara tipe entiti (Begg, Connolly, 2005, p346). Setiap tipe relasi memiliki nama yang menjelaskan fungsinya. Derajat dari relationship adalah jumlah dari partisi tipe entitas dalam sebuah tipe relationship tertentu.

2.3.9.3 Atribut

Atribut adalah suatu properti dari sebuah entitas atau tipe relasi (Begg, Connolly, 2005, p350). Domain attribute adalah sekumpulan nilai yang diperbolehkan untuk satu atau banyak atribut.

Atribut dapat diklasifikasikan sebagai berikut : 1. Simple dan Composite Attribute

Simple attribute adalah sebuah atribut yang disusun oleh

sebuah komponen tunggal dengan keberadaan yang tidak tergantung. Simple attribute tidak dapat dipecah menjadi komponen yang lebih kecil lagi (Begg, Connolly, 2005, p351).

Composite attribute adalah sebuah atribut yang disusun oleh

banyak komponen, setiap komponen yang ada tersebut tidak tergantung/mandiri. Atribut ini dapat dipecah menjadi atribut yang lebih kecil.

2. Single-valued dan multi-valued attribute

Single-valued attribute adalah sebuah atribut yang

memegang nilai tunggal dari setiap kejadian dalam sebuah tipe entitas (Begg, Connolly, 2005, p351). Multi-valued

(42)

50 attribute adalah sebuah atribut yang mempunyai nilai lebih

dari satu untuk setiap kejadian pada sebuah tipe entiti. Contohnya pada setiap atribut entity Branch dapat mempunyai telNo lebih dari satu (misalnya cabang dari BranchNo B003 mempunyai telNo 339-2178 dan

0141-339-4439).

3. Derived attributes

Derived attribute adalah atribut yang merepresentasikan

sebuah nilai yang bisa diperoleh dari suatu nilai atribut atau sekelompok atribut yang berkaitan, dan tidak harus berasal dari satu entitas(Begg, Connolly, 2005, p352).

2.3.9.4 Keys

Candidate key adalah kumpulan atribut minimal yang secara unik

mengidentifikasikan setiap kejadian dari sebuah tipe entity (Begg, Connolly, 2005, p352). Primary key adalah candidate key yang dipilih untuk mengidentifikasikan secara unik setiap kejadian dari sebuah tipe entitas. Composite key adalah sebuah candidate key yang terdiri dari dua atau lebih

atribut. Alternate key adalah candidate key yang tidak dipilih menjadi primary key.

2.3.10 Normalisasi

Normalisasi adalah sebuah teknik untuk menghasilkan relasi dengan properti-properti yang diinginkan, memberikan kebutuhan data dari sebuah perusahaan (Begg, Connolly, 2005, p388). Tujuan normalisasi adalah untuk

(43)

51 mengidentifikasi sekumpulan relasi yang benar dan diperlukan oleh perusahaan. Karakteristik dari sekumpulan relasi yang benar adalah sebagai berikut :

1. Jumlah atribut yang minimal yang berguna untuk mendukung kebutuhan data dari perusahaan

2. Atribut dengan relasi logikal yang dekat (dijelaskan sebagai ketergantungan fungsional) ditemukan pada relasi yang sama

3. Redudansi minimal dengan setiap atribut direpresentasikan hanya sekali dengan pengecualian atribut penting dalam bentuk semua atau bagian foreign key yang diperlukan untuk menggabungkan relasi yang terkait.

Terdapat 3 tahap dalam proses normalisasi sehingga disebut dengan tabel yang normal apabila sudah melewati ketiga tahapan ini.

a. First Normal Form (1NF)

First Normal Form adalah relasi dimana pertemuan antar setiap

baris dan kolom terdiri satu dan hanya satu nilai. Kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data ganda (repeating group). Pada kondisi normal pertama ini kemungkinan masih terjadinya adanya rangkap (Begg, Connolly, 2005, p403). b. Second Normal Form (2NF)

Aturan pada normalisasi ini adalah sebuah relasi dalam bentuk normal pertama dan setiap atribut yang bukan primary key bergantung secara fungsional penuh kepada primary key (Begg, Connolly, 2005, p407).

(44)

52 c. Third Normal Form (3NF)

Third Normal Form adalah sebuah relasi yang telah berada pada

bentuk normal tahap pertama dan kedua dimana semua tidak ada lagi atribut yang bukan primary key bergantung secara transitif kepada primary key (Begg, Connolly, 2005, p409).

Pada tahap ini, atribut yang tidak memberikan kontribusi terhadap penjelasan karakteristik primary key, akan dipindahkan kesebuah tabel yang terpisah. Keuntungan dari tabel relasional dalam 3NF adalah menghilangkan data yang berulang-ulang dengan tujuan menghemat tempat dan mengurangi keanehan manipulasi.

2.3.11 DFD

DFD adalah sebuah model proses yang digunakan untuk menggambarkan aliran data yang lewat dari sebuah sistem dan bekerja atau proses ditampilkan dari sistem tersebut (Whitten, Bentley, Dittman, 2004, p344).

Komponen-komponen DFD adalah sebagai berikut:

No Nama Simbol Keterangan

1 Eksternal agents

Menjelaskan batas luar dari sebuah sistem yang berperan dalam sistem. Bentuk ini mengikuti aturan dari DeMarco/Yourdon.

2 Proses

Proses menggambarkan kegiatan yang akan diselesaikan atau melakukan proses dari kerangka informasi. Bentuk ini mengikuti

aturan dari DeMarco/Yourdon. 3 Arus data Arus data menjelaskan aliran data, dapat

(45)

53 keluaran (output), dari dan menuju proses

4 Penyimpanan data (Data Storage)

Penyimpanan data terkadang disebut dengan basis data (database), digunakan untuk menyimpan data yang akan dipakai untuk

proses selanjutnya. Bentuk ini mengikuti aturan dari DeMarco/Yourdon. Tabel 2.1 Tabel Komponen-Komponen DFD

Tingkatan dalam DFD (Schell, McLeod, 2007, p200), yaitu : 1. Diagram Konteks

Menempatkan sistem dalam konteks lingkungannya. Diagram terdiri dari symbol proses tunggal. Diagram terdiri dari simbol proses tunggal yang menggambarkan keseleruhan dari sistem.

2. Diagram Nol

DFD yang levelnya berada dibawah diagram konteks dan merepresentasikan gambaran level tertinggi dari fungsi utama didalam sistem.

3. Diagram Gambar n

Mendokumentasikan sistem yang lebih detail dibandingkan dengan diagram nol. Huruf n menunjukkan jumlah proses yang sedang didokumentasikan pada tingkat berikutnya yang lebih tinggi.

(46)

54 State Transition Diagram (STD) adalah sebuah alat yang digunakan untuk

menggambarkan suatu urutan dan variasi tampilan yang dapat terjadi saat pengguna menjalankan sistem (Whitten, Bentley, Dittman, 2004, p673).

Simbol-simbol yang digunakan dalam STD :

No Simbol Keterangan

1

Digunakan untuk menunjukkan layar tampilan (display screen)

2

Digunakan untuk menunjukkan aliran kendali dan kejadian pemicu (trigger) yang menyebabkan tampilan menjadi aktif

Tabel 2.2 Tabel Simbol-Simbol STD

2.3.13 Arsitektur Basis Data Oracle

Menurut Loney dan Bryla (2005,p6-8), datafiles dalam basis data Oracle dikelompokkan bersama menjadi satu atau lebih tablespace. Dalam setiap tablespace, struktur logikal basis data, seperti tabel dan indeks yang merupakan

penyimpanan yang memungkinkan Oracle untuk memiliki kontrol yang lebih efisien atas penggunaan ruang disk.

Tablespace

Oracle tablespace terdiri dari satu atau lebih datafiles; sebuah datafiles dapat menjadi bagian dari satu dan hanya satu tablespace. Untuk instalasi Oracle 10g, minimal dibtuhkan dua tablespace dibuat: SYSTEM tablespace dan SYSAUX tablespace.

(47)

55 Oracle 10g memungkinkan anda untuk membuat tablespace jenis khusus yang disebut bigfile tablespace, yang dapat sebesar 8EB (exabyte atau juta tetrabytes). Menggunakan bigfiles membuat manajemen tablespace menjadi transparan untuk DBA; dengan kata lain, DBA dapat mengelola tabespace sebagai sebuah unit tanpa khawatir tentang ukuran dan struktur datafiles yang mendasarinya.

Jika sebuah tablespace yang bersifat sementara maka tablespace itu sendiri adalah permanen; hanya segmen yang tersimpan dalam tablespace yang bersifat sementara. Sebuah temporary tablespace dapat digunakan untuk operasi penyortiran dan sebagai area kerja untuk membangun indeks. Mendedikasikan sebuah tablespace untuk operasi semacam ini membantu mengurangi I/O contention antara sementara segmen-segmen temporary dan segmen permanen

tersimpan dalam tablespace lain, contohnya tabel.

Tablespace dapat dikelola dengan kamus atau dikelola secara lokal.

Dalam tablespace yang dikelola oleh kamus, manajemen extent tercatat dalam tabel kamus data. Oleh karena itu, bahkan jika semua tabel aplikasi ada di tablespace USERS, tablespace SYSTEM masih akan dapat diakses untuk

mengelola DML pada tabel aplikasi. Karena semua pengguna dan aplikasi harus menggunakan tablespace SYSTEM untuk manajemen extent, hal ini menciptakan hambatan yang potensial untuk menulis aplikasi yang intensif. Pada tablespace yang dikelola secara lokal, Oracle memelihara suatu bitmap dalam setiap datafile dari tablespace untuk melacak ketersediaan ruang. Hanya kuota dikelola dalam kamus data, secara dramatis mengurangi contention pada kamus data tabel. Blok

(48)

56 Blok basis data adalah unit terkecil penyimpanan dalam basis data Oracle. Ukuran blok adalah jumlah byte dari penyimpanan dalam tablespace tertentu dalam basis data.

Satu blok biasanya merupakan kelipatan dari sistem operasi ukuran blok untuk memfasilitasi I/O disk yang efisien. Ukuran blok default ditetapkan oleh Oracle parameter inisialisasi DB_BLOCK_SIZE. Sebanyak empat lainnya ukuran blok dapat didefinisikan untuk tablespace lainnya dalam basis data, meskipun blok di SYSTEM, SYSAUX, dan setiap tablespace temporary harus dari ukuran DB_BLOCK_SIZE.

Extent

Extent adalah tingkat berikutnya dari pengelompokan logika dalam

basis data. Sebuah extent terdiri dari satu atau lebih blok basis data. Ketika objek basis data diperbesar, ruang akan ditambahkan ke objek tersebut yang akan dialokasikan sebagai sebuah extent.

Segments

Tingkat berikutnya dari pengelompokan logika dalam basis data adalah segment. Sebuah segment adalah sekelompok extents yang meliputi objek basis

data yang diperlakukan sebagai satu unit, seperti tabel atau indeks. Akibatnya, hal ini biasanya merupakan unit terkecil penyimpanan yang pengguna akhir dari basis data akan menangani. Empat jenis segment yang ditemukan di basis data Oracle: data segment, indeks segment, temporary segment, dan rollback segment.

(49)

57 Setiap tabel dalam basis data berada dalam satu data segmen yang terdiri dari satu atau lebih extent; lebih dari satu segmen dialokasikan untuk tabel jika tabel tersebut merupakan tabel yang dipartisi atau tabel cluster.

Index segment

Setiap indeks disimpan dalam segmen indeks sendiri. Seperti pada tabel yang dipartisi, setiap partisi dari indeks yang dipartisi disimpan dalam segmen sendiri.

Temporary segment

Ketika pernyataan SQL seorang pengguna mebutuhkan ruang disk untuk menyelesaikan operasi, seperti operasi penyortiran yang tidak dapat dimuat dalam memori yaitu temporary segment yang dialokasikan. Temporary segment ada hanya untuk durasi pernyataan SQL.

Rollback segment

Sebagai Oracle 10g, rollback segment hanya ada di tablespace SYSTEM, dan biasanya DBA tidak perlu mempertahankan SISTEM rollback segment. Oracle yang rilis sebelumnya, sebuah rollback segment diciptakan

untuk menyimpan nilai-nilai sebelumnya dari sebuah operasi DML basis data dalam kasus transaksi dilaukna rollback, dan untuk memelihara data image "sebelum" untuk menyediakan read-consistent views dari data tabel untuk pengguna lain mengakses tabel. Rollback segment juga digunakan selama proses pemulihan basis data untuk memutar kembali terikat transaksi yang aktif pada saat jatuh contoh basis data atau dihentikan mendadak.

Di Oracle 10g, Automatic Undo Management menangani alokasi secara otomatis dan pengelolaan pengembalian segment dalam suatu undo tablespace.

(50)

58 Dalam satu undo tablespace, maka akan dibatalkan segment yang terstruktur mirip dengan pengembalian segment, kecuali bahwa secara rinci bagaimana segment ini dikelola berada di bawah kendali dari Oracle, bukan dikelola (sering

tidak efisien) oleh DBA. Otomatis membatalkan segment yang tersedia menatap dengan Oracle 9i, tetapi dikelola secara manual rollback segment masih tersedia di Oracle 10g. Namun, fungsi ini is deprecated sebagai Oracle 10g dan tidak akan lagi tersedia di masa mendatang.

2.3.14 Estimating Disk Space Requirements

Terdapat empat langkah untuk menghitung ruang yang dibutuhkan: 1. Menghitung total block header size

Langkah pertama untuk menghitung ukurang dari block header :

totalBlockHeaderSize = fixedHeaderSize + fixedTransactionHeader + variableTransactionHeader + dataHeader

fixedHeaderSize = KCBH + UB4 fixedTransactionHeader = KTBBH

variableTransactionHeader = KTBIT*(INITTRANS – 1) dataHeader = KDBH

parameter KCBH, UB4, KTBBH, KTBIT, KDBH bisa didapat dari tabel system v$type_size, dan INITTRANS untuk tabel non-clustered dalam sebuah platform NT bernilai = 1, maka kita akan mendapat : totalBlockHeaderSize = (20 + 4) + 48 + 24 * ( 1 – 1 )+ 14 = 86 2. Menghitung ruang yang tersedia untuk tiap blok data

(51)

59 Berikutnya kita akan menghitung jumlah ruang yang tersedia dalam sebuah blok data :

availableDataSpace = ROUNDUP ((BlockSize – totalBlockHeaderSize) * (1 – PCTFREE/100) – KDBT

PCTFREE adalah persentase dari ruang yang dipesan dalam sebuah blok untuk mengupdate. Untuk sebuah non-clustered table dalam sebuah NT platform dengan PCTFREE = 10, maka kita akan mendapatkan:

availableDataSpace = (8192 – 86)*(1 – 10/100) – 4 = 7292 3. Menghitung ruang yang digunakan tiap row

Untuk menghitung ruang data yang terkombinasi dan dibutuhkan rata-rata untuk tiap row. Hal ini bergantung pada:

• Jumlah kolom pada definisi tabel • Tipe data yang digunakan tiap kolom

Total ukuran kolom, termasuk jumlah byte, dihitung dengan cara sebagai berikut :

totalColumnSize = columnSize + (1, if column size < 250, else 3) Ukuran row dihitubng sebagai berikut :

totalRowSize = rowHeaderSize + ∑totalColumnSize

Dimana rowHeaderSize = 3 bytes tiap row pada non-clustered table (4 bytes untuk tiap row pada sebuah clustered table). Apabila nilai yang

dihitung lebih kecil dari nilai dari ukuran row, maka akan digunakan nilai minimum row size.

(52)

60 4. Menghitung jumlah total row yang akan dimasukkan dalam sebuah blok

data

Kita dapat menghitung jumlah total row yang akan dimasukkan ke dalam blok data dengan cara sebagai berikut :

noRowsPerBlock = ROUNDOWN(availableDataSpace/totalRowSize) (http://wps.pearsoned.co.uk/wps/media/objects/1538/1575733/appendix /Appendix_H.pdf)

2.4 Teori-Teori Pendekatan Analisis Sistem 2.4.1 Pendekatan Model-Driven Analysis

Structured analysis, information engineering, dan object-oriented analysis

adalah contoh dari analisis model-driven. Analisis model-driven menggunakan gambar-gambar untuk mengkomunikasikan permasalahan bisnis, kebutuhan-kebutuhan, dan solusi-solusi. Contoh model-model yang mungkin sudah dikenal seperti flowcarts, structure atau hierarchy charts, dan organization charts.

2.4.1.1 Structure Analysis

Structured analysis adalah salah satu pendekatan formal untuk

menganalisa sistem atau sistem informasi. Structured analysis memusatkan pada alur dari data dalam bisnis dan proses piranti lunak. Structured analysis disebut sebagai process-centered.

Structured analysis termasuk sederhana secara konsep. Structured

analysis menggambarkan sebuah seri dari model proses yang disebut data flow

diagram yang mengambil proses pada sistem yang ada dengan input, output dan

(53)

61 2.4.1.2 Information Engineering dan Data Modeling

Banyak organisasi yang mengembangkan dari pendekatan structured analysis menjadi pendekatan information engineering. Information engineering

memusatkan pada struktur dari penyimpanan data dalam sebuah sistem. Model data dalam information engineering disebut entity relationship diagrams. 2.4.1.3 Object-Oriented Analysis

Object-Oriented Analysis adalah sebuah teknik model-driven yang

mengintegrasikan data dan proses yang menekankan pada gagasan yang disebut objects. Model Object-Oriented Analysis adalah gambaran yang

mengilustrasikan sistem objek dari berbagai perspektif, seperti structure, behaviour, dan interaction antar objek. Model objek dalam Object-Oriented

(54)

62 2.5 Teori-Teori Pendukung

2.5.1 Teori Pengiriman Barang

Terdapat beberapa istilah dalam proses pengiriman barang, diantaranya adalah sebagai berikut :

a. Airway Bill (AWB)

Air Waybill (AWB) merupakan dokumen yang dibuat oleh atau atas nama

pengirim (shipper) yang membuktikan kontrak antara pengirim dan pembawa (carrier) untuk pengiriman barang sesuai dengan rute pengiriman. AWB merupakan dokumen pengiriman yang paling penting dan diperkenalkan pada konfrensi WARSAWA pada tahun 1929. AWB menetapkan kewajiban hukum dari pembawa (carrier) dan pembatasan kompensasi, hak dan kewajiban dari pengirim, penerima, dan pembawa yang tidak dapat dinegosiasi.

(http://cargo.garuda-indonesia.com/ff/Airwaybill%20detail%20 GARUDA.htm)

b. Cargo Handling

Cargo atau kargo dapat diartikan sebagai semua barang (goods) yang

dikirim melalui udara (pesawat), laut (kapal), dan darat (truk) yang biasanya untuk diperdagangkan, baik antarwilayah/kota didalam negeri maupun antarnegara (internasional). Apapun jenis barangnya, semua barang kiriman-kecuali benda pos dan bagasi penumpang-baik yang diperdagangkan ataupun keperluan lainnya (non komersial) dan dilengkapi dengan dokumen pengangkutan (SMU atau Airway Bill) dikategorikan sebagai kargo. Cargo handling berkaitan dengan

(55)

63 penanganan kargo dengan urutan penyajian dimulai dari aktifitas pengiriman barang, penggolongan jenis kargo, cargo rate, serta perhitungan sewa gudang. (Warpani, Majid, 2009, p95).

c. Freight forwarder/Agents

Ada tiga pihak utama yang terkait dengan pengiriman kargo, yaitu pihak pengirim (shipper) dan atau pihak penerima (consignee); pihak pengangkut (carrier); dan pihak ground handling dan atau warehouse operator. Shipper bisa berupa perorangan, badan usaha, dilakukan secara

langsung tanpa perantara, atau melalui jasa ekspedisi pengiriman barang yang dikenal dengan istilah freight forwarder atau ekspedisi muatan kapal laut atau ekspedisi muatan pesawat udara. Istilah agen kargo dewasa ini sudah berkembang menjadi freight forwarding atau freight forwarder, baik airfreight maupun seafreight.

d. IATA

IATA singkatan dari International Air Transport Association atau Asosiasi Angkutan Udara Internasional. IATA bermarkas di Montreal dan Jenewa. IATA merupakan asosiasi internasional swasta dari perusahaan penerbangan berjadwal. Walaupun swasta dari segi teknisnya, IATA juga dipengaruhi oleh kepentingan negara anggotanya karena kebanyakan dari perusahaan penerbangan yang menjadi anggotanya itu dikendalikan oleh pemerintah negaranya masing-masing (Warpani, Majid, 2009, p302).

(56)

64 Service Level Agreement adalah perjanjian antara penyedia jasa dan

pengguna jasa terdadap jasa layanan yang akan diberikan/ diterima. Dalam perjanjian tersebut, biasanya diuraikan secara rinci elemen layanan, antara lain :

- Lingkup pekerjaan/layanan - Masa berlaku perjanjian

- Waktu response terhadap permintaan pelanggan - Tingkat kinerja

Tingkat layanan yang diberikan/ diterima merupakan kesepakan bersama kedua belah pihak, termasuk didalamnya biaya atas layanan tersebut. (http://www.solusidokumen.com/id/service_sla.htm)

Gambar

Gambar 2.1 Contoh Basis Data Relasional
Gambar 2.2 Tahapan-Tahapan Siklus Hidup Aplikasi Basisdata  (Begg, Connolly, 2005, p284)
Gambar 2.3 Representasi Diagram dari tipe entity staff dan Branch
Tabel 2.1 Tabel Komponen-Komponen DFD
+2

Referensi

Dokumen terkait

 Melakukan tindakan rujukan jika bayi belum atau tidak akan segera lahir setelah pasien meneran selama 120 menit (2 jam) pada primigravida dan 60 menit (1 jam) pada

Gambar II.11.. Tanaman yang digunakan secara umum terbagi dalam 3 jenis yaitu, jenis penutup tanah, peneduh dan semak. Untuk jenis peneduh menggunakan pohon sedang dan

Oleh karena dalam penelitian ini didapatkan nilai signifikansi sebesar 0,000 (p &lt;0,05) maka dapat disimpulkan bahwa terdapat perbedaan pH saliva antara pasien

Para Dosen yang telah memberikan banyak bekal ilmu pengetahuan kepada penulis selama menjadi mahasiswa di STIE Perbanas Surabaya. Seluruh Staf dan Karyawan STIE

Sedangkan, bahan yang digunakan dalam penelitian ini adalah mencit (Mus musculus) betina dewasa sebanyak 20 ekor yang berumur 8 minggu dengan berat 18-20 gram,

Oleh karena itu, definisi hukum Islam yang mendekati kesempurnaan adalah dengan menggantungkan definisi Syaltut dengan Amir Syarifuddin, yaitu

Gambar 3 Menikmati Pelaksanaan Pengembangan Desa Berbudaya Lingkungan di Daerah Aliran Sungai Citarum.. responden sebanyak 117 orang atau 96,69% adalah responden yang

Juga diperoleh hasil dari pengujian dengan Anova didapat bahwa jenis dan ukuran font mempengaruhi kecepatan pembacaan teks, sedangkan warna font, interaksi dua arah, serta