7 BAB 2 TINJAUAN PUSTAKA 2.1. Teori

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1. Teori-Teori Sistem Basis Data
2.1.1. Sistem
Menurut Stair dan Reynolds, sistem adalah sebuah kumpulan prosedur
bisnis yang digunakan oleh satu unit bisnis dan bekerja sama untuk
menghasilkan suatu tujuan tertentu. Sebuah sistem akan mengambil suatu
input yang dibutuhkan dari lingkungan disekitar sistem, memproses input
tersebut untuk menghasilkan output yang diinginkan dan akan mengeluarkan
output tersebut kembali ke lingkungan (Stair & Reynolds, 2016).
2.1.1.1. Bagian-Bagian Sistem
Sebuah
sistem
membutuhkan
suatu
komponen
yang
dibutuhkan untuk menghasilkan output yang diinginkan. Komponen
tersebut bisa berupa suatu hal yang kecil atau suatu bagian dari
sistem, atau yang biasa disebut dengan subsistem. Komponen tersebut
harus berhubungan untuk bisa menjalankan suatu fungsi yang ada
dalam sistem.
Sistem juga harus memiliki ruang batas yang berfungsi untuk
menyimpan komponen-komponen yang dibutuhkan dalam sistem.
Ruang batas suatu sistem juga berfungsi untuk memisahkan satu
sistem dengan sistem yang lain. Sebuah sistem ada dalam suatu
lingkungan. Lingkungan merupakan semua hal yang berada diluar
ruang batas sistem dan memiliki pengaruh kepada sistem. Sebuah
sistem biasanya berinteraksi dengan lingkungannya dengan menerima
data dan informasi dari lingkungan. Sistem hanya bisa berinteraksi
dengan lingkungannya melalui antarmuka.
Sistem memiliki batasan untuk bisa berfungsi dengan baik dan
berinteraksi dengan lingkungan disekitar sistem. Batasan merupakan
sebuah variabel pembatas sebuah sistem tentang bagaimana suatu
tujuan bisa dicapai, bagaimana mencapai tujuan bisa tercapai dalam
7
8
suatu lingkungan. Batasan tidak hanya berada dalam sistem, tapi ada
yang ada dalam lingkungan.
2.1.2. Sistem Basis Data
Informasi adalah sebuah unsur yang fundamental dalam suatu
perusahaan untuk melakukan proses bisnis mereka. untuk mengimbangi
banyaknya informasi yang terjadi dalam suatu proses bisnis mereka maka
dibutuhkan sebuah sistem yang bisa mengelola informasi-informasi tersebut
dengan akurat dan efisien. Konsep sistem yang umumnya dipakai adalah
konsep sistem basis data.
Menurut Silberschatz, Korth dan Sudarshan, Database Management
System (DBMS) adalah kumpulan data yang saling berhubungan dan memiliki
sebuah program untuk mengakses data-data tersebut. Koleksi dari data
tersebut biasa disebut dengan database, mengandung informasi yang
berhubungan dari suatu perusahaan (Silberschatz, 2001, p. 15)
Sistem basis data tanpa kita sadari sudah menjadi bagian kehidupan
kita sehari-hari. Sistem basis data merupakan program yang bisa berinteraksi
dengan sebuah basis data pada titik eksekusi yang diinginkan oleh pengguna.
Dari penjelasan diatas, sistem basis data atau biasa disebut dengan
database adalah sebuah sistem yang dibuat untuk mengelola informasi yang
sangat besar. Pengelolaan yang dimaksud mencakup mendefinisikan struktur
dari tempat penyimpanan untuk informasi dan memberikan mekanisme untuk
memanipulasi informasi yang sebelumnya sudah disimpan. Disamping itu,
sistem basis data harus memberikan keamanan bagi informasi yang sudah
disimpan, baik dari kesalahan teknis ataupun dari kemungkinan terjadinya
akses oleh pihak yang tidak berwenang.
Penggunaan konsep sistem basis data saat ini sudah cukup banyak,
dari pengelolaan informasi proses banking and finance, pendidikan,
penerbangan, hingga telekomunikasi sudah menerapkan konsep sistem ini.
Salah satu konsep penyimpanan data yang awalnya digunakan adalah
file-processing system. Sistem ini menyimpan data-data permanen dalam
bentuk file-file yang berbeda, serta membutuhkan program yang berbeda
untuk melakukan extract dan menambahkan data ke dalam file tersebut.
Konsep ini memiliki banyak kerugian, antara lain:
9
•
Data menjadi redundan dan tidak konsisten
Karena banyak programmer yang terlibat dalam menciptakan
sistem ini secara bersamaan dalam satu perusahaan, maka ada
kemungkinan terjadi perbedaan struktur dalam file-file
didalam memory dan ada kemungkinan beberapa program
yang ditulis dengan bahasa pemrograman yang berbeda.
Ditambah lagi, informasi-informasi yang ada bisa terduplikasi
dan mengakibatkan kebutuhan kapasitas memory yang lebih
besar dan biaya yang lebih mahal.
•
Kesulitan mengakses data
Karena data-data didalam memory bisa memiliki perbedaan
format, maka dibutuhkan aplikasi yang berbeda untuk
membuka setiap file yang ada dalam memory.
Kerugian yang dimiliki oleh file-processing system membuktikan
bahwa data yang dimiliki sistem tersebut tidak bisa diakses atau digunakan
untuk keperluan umum karena tidak efisien (Silberschatz, 2001, p. 17).
Agar penyimpanan data menjadi lebih efektif dan efisien, maka
dibutuhkan pendekatan baru dalam penyimpanan data selain file-processing
system. Salah satunya adalah pendekatan sistem basis data.
Seperti dijelaskan diatas, sistem basis data adalah kumpulan data yang
saling berhubungan. Sistem ini memungkinkan data-data yang ada digunakan
secara bersamaan oleh banyak pengguna dan memiliki tingkat redundancy
yang rendah. Lalu, sistem basis data juga memiliki sebuah data yang
mendiskripsikan dirinya sendiri, atau biasa disebut dengan metadata yang
bisa digunakan sebagai katalog data
Menurut Connolly, kelebihan dari sistem basis data yang lainnya
adalah adanya proses abstraksi data. Abstraksi data adalah proses yang
memungkinkan perubahan definisi data secara internal tanpa mempengaruhi
pengguna dari data tersebut, dengan catatan definisi data secara eksternal
masih sama.
Salah satu karakteristik yang dimiliki oleh sistem basis data adalah
data-data yang ada harus berhubungan secara logical. Maka dari itu, ketika
membuat sistem baru, harus mengidentifikasi entity, attribute dan
10
relationship atau hubungan dalam informasi-informasi yang ada. Entity
adalah objek yang akan dibutuhkan untuk mewakili data dalam sistem basis
data. Attribute adalah deskripsi mengenai beberapa aspek dari objek yang
akan disimpan dalam sistem. Sedangkan relationship atau hubungan adalah
penjelasan mengenai hubungan antar entity dalam sistem (Connolly, 2015, p.
63).
2.1.2.1. Abstraksi Data
2.1.2.1.1 ANSI-SPARC Architecture
Agar sistem bisa digunakan, maka dibutuhkan sebuah
konsep untuk mengambil data secara efisien. Proses tersebut
disebut dengan abstraksi data. Abstraksi data memiliki tiga
tingkat arsitektur dimana data dikelompokkan berdasarkan
sejauh mana sebuah data bisa dideskripsikan. Tingkatan
tersebut
dengan
dikelompokkan
ANSI-SPARC
menjadi
tiga,
Architecture.
yaitu
tingkat
Data
eksternal,
konseptual dan internal (Coronel, Morris, & Rob, 2011).
Tingkat eksternal adalah tingkat yang menjelaskan
persepsi pengguna dalam melihat data. Tingkat internal adalah
tingkat yang menjelaskan persepsi DBMS dan sistem operasi
dalam
melihat
data,
serta
bagaimana
data
disimpan
menggunakan cerminan struktur data dan organisasi file.
Sedangkan tingkat konseptual adalah memberikan mapping
dan independence bagi tingkat internal dan eksternal.
2.1.2.1.2. Abstraksi Data Konvensional
Efisiensi data sudah menjadi standar bagi designer
sistem basis data untuk menggunakan data-data yang
kompleks didalam sistem basis data. Untuk menyembunyikan
kompleksitas data dari pengguna, maka designer tersebut
menggunakan tingkat-tingkat abstraksi untuk menyimpulkan
bagaimana pengguna berinteraksi dengan sistem. Tingkatan
tersebut dibagi menjadi tingkat Physical, Logical dan View.
11
Tingkatan Physical mendeskripsikan bagaimana data
tersebut
disimpan
dalam
sistem.
Tingkatan
Logical
mendeskripsikan data apa yang disimpan dalam sistem, serta
menjelaskan hubungan yang terjadi antar data dalam sistem.
Tingkatan ini menjelaskan seluruh sistem basis data dalam
gambaran
yang
kecil
dan
relatif
simpel.
Database
Administrator (DBA) harus menentukan informasi apa saja
yang harus disimpan dalam sistem basis data menggunakan
tingkatan Logical dari proses abstraksi data.
Tingkatan View adalah tingkatan tertinggi dalam
abstraksi data yang menggambarkan seluruh isi sistem basis
data.
Meskipun
kompleksitas
banyak
terlihat
karena
banyaknya informasi yang disimpan dalam sistem, tapi
tingkatan ini mengharuskan sistem digambarkan dalam
struktur yang lebih simpel. Sistem bisa memberikan banyak
view tergantung permintaan akses data dari pengguna
(Silberschatz, 2001).
2.1.2.2. Data Model
Data model adalah sebuah koleksi dari alat konseptual yang
berguna untuk mendeskripsikan data, hubungan antar data, data
semantics dan konsistensi syarat. Data model memberikan deskripsi
dari design sistem basis data pada tingkatan physical, logical dan view
dalam abstraksi data (Connolly, 2015, p. 93). Kategori-kategori data
model yang digunakan adalah sebagai berikut :
•
Relational Model
Relational Model menggunakan koleksi dari tabel-tabel untuk
mewakili data dan hubungan dari data tersebut dengan data
yang lain. Setiap tabel akan memiliki kolom yang bersifat
unique. Tabel-tabel tersebut akan dinamai relations. Relational
Model merupakan salah satu contoh record-based model yang
memiliki record berkarakteristik fixed-format (Connolly, 2015,
p. 95).
12
•
Entity-Relationship Model
E-R Model menggunakan koleksi dari entity dan relationship
untuk membuat data model. Model ini banyak digunakan
untuk mendesign sistem basis data (Connolly, 2015, p. 94).
2.1.2.3. Bahasa Pemrograman Sistem Basis Data
Menurut Mark Gillenson, sistem basis data memiliki bahasa
sendiri agar programmer atau DBA bisa mengelola sistem tersebut.
Bahasa tersebut dibagi menjadi dua yaitu : Data-Definition Language
(DDL) dan Data-Manipulation Language. Pada dasarnya, semua
bahasa tersebut bukanlah bahasa yang berbeda, tapi perintah yang
digunakan setiap bahasa berbeda dari lainnya, dan biasanya
menggunakan bahasa SQL (Gillenson, 2011).
2.1.2.3.1. Data-Definition Language (DDL)
Bahasa ini digunakan untuk menambahkan properti
data tambahan. DDL memiliki fungsi yang bisa digunakan
untuk menspesifikasi struktur memori dan metode akses,
fungsi ini disebut data storage and definition language. Nilai
data yang disimpan dalam sistem basis data harus memenuhi
syarat konsistensi yang telah dispesifikasi oleh DDL
sebelumnya. Syarat-syarat tersebut adalah;
•
Syarat Domain
Domain dari nilai yang mungkin diassign ke objek
harus diasosiasi setiap atribut. Mendeklarasikan atribut
tersebut akan menjadi syarat dari nilai yang sudah di
assign.
•
Keutuhan Referensi
Akan ada sebuah scenario dimana nilai yang muncul
dalam sebuah hubungan akan muncul dalam hubungan
lain. Ketika hal ini terjadi, maka syarat yang sudah
diassign akan menghentikan pelanggaran referensi
tersebut.
13
•
Asersi atau tuntutan
Tuntutan adalah seluruh kondisi dimana sistem basis
data harus memenuhi tuntutan tersebut untuk bisa
melanjutkan proses. Ketika tuntutan dibuat, maka
sistem akan selalu menguji validasi tuntutan tersebut.
•
Otorisasi
Merupakan
syarat
yang
membedakan
pengguna
berdasarkan otoritas untuk melakukan suatu proses
dalam sistem basis data.
2.1.2.3.2. Data Manipulation Language (DML)
DML adalah sebuah bahasa yang memungkinkan
pengguna untuk mengakses atau memanipulasi data yang
sudah diorganisir oleh data model. Contoh tipe akses adalah :
•
Pengambilan data dalam sistem basis data
•
Penambahan data dalam sistem basis data
•
Penghapusan data dalam sistem basis data
• Modifikasi data dalam sistem basis data
Sementara, tipe-tipe DML adalah :
•
Procedural DML
DML
yang
membutuhkan
pengguna
untuk
menspesifikasi data apa saja yang dibutuhkan dan
bagaimana cara mendapatkannya
•
Declarative DML
DML
yang
membutuhkan
pengguna
untuk
menspesifikasi data apa yang dibutuhkan tanpa
memberikan petunjuk bagaimana menggunakannya.
14
2.1.2.3.3. Structured Query Language (SQL)
Menurut Connolly, sebuah bahasa sistem basis data
harus bisa melakukan proses-proses seperti membuat struktur
dan relasi dari sistem basis data, menjalankan proses
manajemen
data
seperti
penghapusan,
modifikasi
dan
pemasukan data, serta menjalankan query baik yang kompleks
maupun sederhana.
Structured Query Language atau biasa disebut dengan
SQL dibuat untuk memenuhi persyaratan-persyaratan tersebut,
terlebih lagi SQL mampu memberikan struktur bahasa
perintah
dan
syntax
yang
relatif
mudah
dipelajari,
membutuhkan usaha pengguna yang minimal, bersifat
portable, dan memiliki standar keragaman bahasa yang
memungkinkan untuk berpindah DBMS tanpa mengubah
bahasa perintah ataupun query yang ada dalam sistem.
SQL adalah bahasa yang dibuat untuk menggunakan
relasi untuk mengubah input menjadi output yang diharapkan.
Standar ISO dari bahasa SQL sebagai bahasa standar sistem
basis data, SQL memiliki 2 komponen yang memenuhi
persyaratan tersebut. Syarat-syarat tersebut adalah:
•
Memiliki DDL yang berfungsi untuk mendefinisikan
struktur sistem basis data dan mengatur akses ke datadata yang disimpan dalam sistem.
•
Memiliki DML yang berfungsi untuk mengambil dan
memperbaharui data.
2.2. Database System Data Lifecycle
Seiring dengan berkembangnya peran sistem basis data sebagai komponen
fundamental dalam sistem informasi dari organisasi yang besar, lifecycle dari sistem
basis data dikembangkan menjadi suatu siklus yang tidak jauh berbeda dengan sistem
pada umumnya.
Proses-proses pada lifecycle tersebut tidak harus dilakukan secara berurutan,
tapi banyak mengandung proses-proses repetitif yang disebut dengan feedback loops.
15
Menurut Connolly dan Berg (2015), langkah-langkah yang harus dilakukan dalam
lifecycle pengembangan sistem basis data adalah sebagai berikut :
•
Perencanaan Sistem
Perencanaan tahap-tahap pengembangan sistem basis data untuk mencapai
efisiensi dan efektivitas yang maksimal. Tahap-tahap yang harus dimasukkan
dalam pertimbangan perancangan antara lain:
•
Identifikasi rencana dan tujuan dalam perancangan sistem
dengan kebutuhan sistem menjadi pertimbangan pendukung.
•
Evaluasi sistem yang sudah ada dan menentukan kekuatan dan
kelemahan dari sistem yang sudah ada.
•
Definisi Sistem
Menentukan ruang lingkup sistem basis data.
•
Analisa Persyaratan Sistem
Melakukan pengumpulan dan analisa persyaratan untuk sistem basis data
yang akan dibuat. Langkah yang pertama harus dilakukan dalam tahapan ini
adalah mencari fakta deskripsi dan detil mengenai bagaimana data digunakan
atau dimunculkan. Lalu menentukan spesifikasi yang dibutuhkan oleh sistem
basis data yang baru.
•
Perancangan Design Sistem Basis Data
Melakukan design konseptual, logis dan fisik dari sistem basis data.
Pendekatan dalam perancangan sistem basis data ada 2, yaitu bottom-up dan
top-down. Pendekatan bottom-up dimulai dengan mencari tingkatan paling
rendah dalam sistem yaitu entitas lalu dilanjutkan dengan tipe entitas dan
diteruskan sampai relasi antar entitas. Sedangkan pendekatan top-down
dimulai dengan perancangan model data yang mengandung beberapa entitas
tingkat tinggi dan dilanjutkan hingga mendapatkan entitas tingkat rendah,
relasi antar entitas dan atribut entitas.
•
Seleksi DBMS
Memilih DBMS yang paling sesuai untuk sistem yang akan dibuat. Langkahlangkah yang harus dilakukan dalam menentukan DBMS yang akan
digunakan adalah:
16
•
Menentukan Kerangka Acuan Penelitian
Seleksi DBMS harus dilakukan berdasarkan tujuan, ruang
lingkup dan fungsi dari sistem yang akan dibuat. Kerangka
acuan penelitian juga bisa menjadi sebuah tolak ukur dalam
kriteria DBMS yang akan dipilih.
•
Memilih Beberapa Produk DBMS
Produk DBMS yang dipilih harus berdasarkan kriteria dari
kerangka acuan penelitian yang sudah dibuat. Beberapa
produk DBMS dipilih untuk dijadikan perbandingan sebelum
memilih DBMS yang akan digunakan untuk sistem yang akan
dibuat.
•
Evaluasi DBMS
Melakukan evaluasi produk-produk DBMS yang sudah dipilih
sebelumnya. Evaluasi bisa dilakukan dengan menguji definisi
data,
definisi
physical,
kemudahan
akses,
pengaturan
transaksi, fungsi-fungsi yang tersedia, perancangan, dan lainlain.
•
Memilih DBMS
Melakukan pemilihan DBMS yang akan digunakan oleh
sistem basis data.
•
Perancangan Design Aplikasi
Membuat design untuk antarmuka dari aplikasi dan program yang
menggunakan sistem basis data tersebut.
•
Prototyping
Membuat sebuah model kerangka awal dari sistem yang akan dibuat agar
pengguna dan pembuat bisa mengevaluasi dan menvisualisasikan fungsifungsi dari sistem tersebut.
•
Implementasi
Membuat definisi data fisik dan program aplikasi.
•
Konversi Data dan Pemuatan
Pemuatan data dari sistem yang lama ke sistem yang baru, serta melakukan
konversi format data ke bentuk format data yang dibutuhkan oleh sistem
untuk mengolah data tersebut.
17
•
Melakukan Tes
Sistem basis data tersebut dites untuk mencari malfungsi dalam sistem dan
mencocokkan persyaratan sistem dengan sistem yang sudah jadi.
•
Pemeliharaan Operasional
Syarat dari proses ini adalah seluruh komponen dalam sistem basis data telah
diimplementasikan. Sistem tersebut akan terus dipantau dan dipelihara. Jika
perlu, persyaratan akan ditambahkan ke dalam sistem untuk memenuhi
kebutuhan pengguna dalam menjalankan proses bisnis mereka.
2.3. Entity-Relationship Modeling
E-R Model menggunakan koleksi dari entity dan relationship untuk membuat
data model. Model ini banyak digunakan untuk mendesign sistem basis data
(Connolly, 2015, p. 94).
2.3.1. Entity Type
Merupakan kumpulan dari representasi dari objek yang ada dalam
dunia nyata yang memiliki properti yang sama. Sebuah tipe entitas memiliki
sebuah atribut independen yang membedakan sebuah tipe entitas dari yang
lain. Bisa berupa fisik atau abstrak.
Tipe entitas bisa dibagi menjadi dua, yaitu entitas kuat dan entitas
lemah. Entitas kuat adalah sebuah entitas yang tidak bergantung kepada
entitas lain. Sedangkan entitas lemah adalah sebuah entitas yang bergantung
kepada entitas lain
2.3.2. Relationship Type
Ketika sebuah entitas berhubungan dengan satu entitas lain atau lebih,
maka hubungan tersebut akan memiliki sifat yang berbeda-beda. Sifat-sifat
tersebut adalah:
•
Relationship Types
Kumpulan hubungan antar tipe entitas yang memiliki nama untuk
mendeskripsikan fungsi dari hubungan tersebut.
•
Relationship Occurence
Hubungan yang mengindikasikan sebuah jenis hubungan antar
entitas yang saling berhubungan.
18
•
Derajat Relationship
Dalam sebuah hubungan antar entitas, ada yang disebut dengan
derajat. Derajat tersebut dibagi berdasarkan jumlah entitas yang
terhubung satu sama lain. Derajat-derajat antar entitas adalah;
Hubungan Binary
Hubungan antara dua tipe entitas.
Hubungan Ternary
Hubungan antara tiga tipe entitas.
Hubungan Quarternary
Hubungan antara empat tipe entitas.
Hubungan Unary
Hubungan antara satu tipe entitas dimana tipe entitas tersebut
berpartisipasi lebih dari satu hubungan dengan peran yang
berbeda-beda.
•
Recursive Relationship
Hubungan yang terjadi ketika satu entitas dalam sistem memiliki
peran lebih dari satu.
2.3.3. Atribut
Sebuah sifat atau properti dalam sebuah entitas disebut dengan atribut.
Atribut memiliki nilai-nilai yang mewakilkan setiap jenis entitas dan bisa
menjadi sebuah bagian kunci dalam entitas.
•
Attribute Domain
Setiap atribut yang dihubungkan dengan beberapa nilai-nilai
disebut dengan domain. Domain menunjukkan berapa nilai
yang diperbolehkan untuk satu atribut atau lebih. Macammacam domain atribut adalah;
Atribut Sederhana
Atribut yang terdiri dari satu komponen.
Atribut Komposit
Atribut yang terdiri dari banyak komponen.
19
Atribut Tunggal
Atribut yang memiliki sebuah sifat dari sebuah tipe
entitas.
Atribut Bernilai Banyak
Atribut yang memiliki banyak sifat dari sebuah tipe
entitas.
Atribut Turunan
Atribut yang mewakilkan sebuah nilai yang bisa
diturunkan dari atribut yang terhubung.
•
Keys
Keys adalah sebuah atribut yang harus dimiliki oleh sebuah
entitas dan melambangkan sifat dari tipe entitas. Macammacam keys adalah:
Candidate Key
Nilai-nilai dalam atribut yang bisa mewakilkan sebuah
tipe entitas.
Primary Key
Sebuah nilai atribut yang mewakilkan sebuah tipe
entitas.
Composite Key
Sebuah candidate key yang terdiri dari dua atribut atau
lebih.
2.3.4. Structural Constraints
Didalam sebuah hubungan antar entitas, ada yang disebut dengan
multiplicity. Multiplicity adalah sebuah nilai yang memberikan informasi
mengenai jumlah kejadian yang mungkin terjadi dengan sebuah entitas yang
terhubung. Hubungan yang paling umum untuk terjadi adalah hubungan
biner. Macam-macam hubungan biner adalah;
One to one (1:1 , 1...1, 1)
One to many (1:*, 1..*)
Many to many (*:*, *...*)
20
2.4. Normalisasi
Menurut Connolly (2015:452), normalisasi adalah sebuah cara untuk
menghasilkan sebuah hubungan antar entitas dengan sifat yang sudah tertera di
persyaratan aplikasi yang diminta oleh pengguna. Karakteristik dari relasi antar
entitas tersebut harus memenuhi syarat-syarat tertentu, syarat-syarat tersebut adalah :
•
Harus memenuhi jumlah atribut minimal yang diperlukan untuk
mendukung persyaratan data dari pengguna
•
Atribut dengan relasi logical yang dekat harus dalam satu relasi.
•
Redundancy seminimal mungkin, dengan setiap atribut hanya
direpresentasikan sekali saja dalam sistem. Pengecualian terjadi jika
ada atribut yang membentuk seluruh atau sebagian dari sebuah foreign
key.
Bentuk-bentuk normalisasi menurut Connolly dan Begg (2015:466-472),
antara lain:
1.
Unnormalized Form (UNF)
Bentuk ini merupakan bentuk awal dari kumpulan tabel-tabel yang
masih memiliki satu kumpulan data yang berulang atau lebih. Cara
membuat bentuk UNF adalah dengan memindahkan data dari sumber
informasi yang ke dalam tabel dengan format baris dan kolom.
2.
First Normal Form (1NF)
Merupakan sebuah bentuk normalisasi tahap pertama dimana tidak
ada lagi data yang berjumlah lebih dari satu dalam kumpulan data
tersebut.
3.
Second Normal Form (2NF)
Merupakan bentuk dimana tabel-tabel dalam bentuk 1NF sudah
memiliki sebuah primary key dan data-data yang bukan merupakan
primary key bergantung pada primary key tersebut.
4.
Third Normal Form (3NF)
Merupakan bentuk dimana tabel-tabel pada bentuk 2NF sudah tidak
memiliki relasi yang bersifat transitive serta tidak ada atribut yang
bukan bersifat primary key bergantung pada primary key.
21
2.5. Metodologi Perancangan Sistem Basis Data
Metodologi perancangan adalah sebuah pendekatan yang menggunakan
bantuan prosedur, teknik, alat dan dokumentasi secara terstruktur untuk mendukung
dan memudahkan proses design. Metodologi design juga membantu perancang untuk
merencanakan, mengatur dan mengevaluasi laporan pengembangan sistem basis
data.
Proses metodologi perancangan dibagi menjadi 3; conceptual, logical dan
physical design. Conceptual design adalah sebuah proses konstruksi data model dari
seluruh data yang digunakan oleh seluruh proses bisnis dari suatu sistem. Tahap
logical design adalah proses konstruksi data model dari data yang digunakan oleh
seluruh proses bisnis dan akan dirancang dalam sebuah model data tertentu.
Sedangkan physical design adalah proses menghasilkan deskripsi dari implementasi
sistem basis data pada penyimpanan sekunder. Proses physical design menggunakan
relasi data, penyusunan file, index, pengamanan serta batasan integritas untuk
menghasilkan efisiensi akses ke data yang maksimal.
2.5.1. Conceptual Design
Tujuan dari conceptual design adalah untuk membuat model data
konseptual yang dibutuhkan oleh pengguna. Langkah-langkah dalam
conceptual design adalah mengidentifikasi entitas, mengidentifikasi tipe
relasi, mengidentifikasi dan menghubungkan atribut dengan entitas atau tipe
relasi, menentukan domain atribut, menentukan atribut candidate, primary
dan alternate key, memeriksa redundansi serta validasi model data dengan
persyaratan dari pengguna.
2.5.2. Logical Design
Tujuan dari logical design adalah untuk menterjemahkan model data
conceptual ke dalam model data logical yang sudah ditentukan di persyaratan
dari pengguna. Langkah-langkah dalam menghasilkan model data logical
adalah mendapatkan relasi dari entitas yang sudah ada di model data
conceptual, relasi bisa terbagi menjadi banyak kategori, kategori tersebut
22
mencakup relasi one-to-many (1:*), relasi one-to-one (1:1), many-to-many
(*:*), relasi superclass/subclass dan atribut multi-valued.
Langkah selanjutnya untuk menciptakan model data logical adalah
validasi relasi menggunakan normalisasi, validasi relasi dengan proses
transaksi pengguna di scenario nyata, pengecekan batasan integritas dan
melakukan tinjauan kembali dengan sang pengguna.
2.5.3. Physical Design
Seperti yang sudah dijelaskan diatas, tujuan dari physical design
adalah untuk menghasilkan deskripsi dari implementasi sistem basis data
pada penyimpanan sekunder serta mencapai efisiensi dan efektivitas dari
akses data dengan menggunakan relasi data, penyusunan file, index,
pengamanan serta batasan integritas.
Langkah-langkah yang harus dilakukan untuk menciptakan sebuah
model data physical adalah menerjemahkan model data logical ke dalam
DBMS yang sudah ditentukan, hal ini bisa dicapai dengan merancang relasi
dasar, merancang representasi dari data yang dimaksud serta merancang
batasan umum dari DBMS tersebut. Lalu, perancang harus merancang indeks
dan penyusunan data dengan menganalisa transaksi yang dilakukan oleh
pengguna, memilih cara penyusunan data dan indeks serta memperkirakan
keperluan ukuran tempat penyimpanan.
Langkah selanjutnya adalah merancang user view, merancang
mekanisme pengamanan, melakukan pengaturan redundancy dalam sistem
serta memantau dan mengatur sistem operasi yang dibutuhkan untuk
menjalankan sistem.
2.6. Data Flow Diagram
Data Flow Diagram adalah sebuah diagram yang menggambarkan
bagaimana data-data yang ada dalam sebuah sistem bergerak dan disimpan dalam
sistem. Seluruh atribut harus ada dalam tipe entitas. Diagram ini digunakan sebagai
standar konsistensi dan keutuhan suatu sistem.
23
Seluruh atribut dalam sistem harus muncul dalam tipe entitas masing-masing
dan digambarkan dalam lingkungan yang disebut sistem. Atribut tersebut akan
terlihat seperti aliran data didalam sistem perusahaan (Connolly, 2015).
Menurut Dennis, Wixom dan Roth (2012), elemen-elemen pada DFD adalah
sebagai berikut:
•
Proses
Sebuah proses adalah sebuah aktivitas atau fungsi yang dilakukan untuk
sebuah atau beberapa alas an bisnis.
•
Aliran Data
Sebuah keeping data atau kumpulan logical dari beberapa informasi. Setiap
aliran data harus dideskripsikan menggunakan kata benda.
•
Data Store
Sebuah tempat dimana kumpulan data tersebut disimpan.
•
Entitas Eksternal
Entitas eksternal adalah seseorang, sebuah organisasi atau unit organisasi
yang bersifat eksternal terhadap sistem, akan tetapi berinteraksi dengan
sistem.
2.7. Teori yang Terkait Sistem Basis Data Berbasis Web dan Klinik
2.7.1. Sistem Web
Sistem web adalah sebuah sistem berbasis web yang menggunakan
teknologi web internet sebagai fondasi untuk mengirim informasi dan jasa,
baik ke pengguna maupun ke aplikasi atau sistem informasi yang lain. Sistem
web biasanya memiliki tujuan untuk mengolah dan mengatur data
menggunakan prinsip berbasis Hyptertext.
Dalam beberapa tahun terakhir, jasa web sudah banyak digunakan
sebagai fondasi untuk membuat aplikasi. Web dianggap sebagai sebuah
platform
memungkinkan
sebuah
aplikasi
bisa
digunakan
kembali,
memudahkan data yang berada di dalam sistem web berkomunikasi dengan
data lain di internet atau intranet selama terhubung dalam host yang sama.
24
Standar pendekatan yang digunakan dalam pengembangan sistem web adalah
XML, SOAP, WSDL dan UDDI.
Keuntungan dalam menggunakan web sebagai fondasi dalam
pengembangan sebuah sistem informasi adalah sistem web memiliki
karakteristik platform independence, simplicity, cross-platform support,
memiliki GUI, standardisasi serta akses jaringan yang transparan.
Sementara itu, kerugian dalam menggunakan web sebagai fondasi
dalam pengembangan sebuah sistem informasi adalah biaya yang besar,
kurangnya keamanan, batas fungsi dari HTML, bandwidth, dan tergolong
sebagai sebuah teknik yang masih baru.
Seperti yang dijelaskan diatas, fungsi HTML sangatlah terbatas, maka
diciptakan sebuah teknik penulisan bahasa yang disebut scripting. Bahasabahasa yang digunakan dalam scripting memungkinkan terciptanya sebuah
fungsi baru dalam HTML. Teknik ini memungkinkan beberapa proses bisa
ditulis berdasarkan logika bahasa-bahasa pemrograman yang lain seperti
loop, pernyataan bersyarat dan operasi matematika. Salah satu bahasa yang
digunakan dalam teknik scripting adalah Hypertext Preprocessor atau biasa
disebut dengan PHP.
Hypertext Proprocessor (PHP) adalah sebuah bahasa scripting yang
bertujuan untuk memungkinkan perancang web untuk menulis beberapa
halaman dinamis sesingkat mungkin. Salah satu keuntungan memakai PHP
adalah PHP memiliki sifat extensibility serta adanya modul extension yang
sudah diberikan dalam PHP. Bahasa ini banyak digunakan karena banyaknya
server yang mendukung format PHP, seperti Apache HTTP Server.
2.7.2. Framework
Menurut Dirk Riehle, dalam pemrograman komputer, framework
perangkat lunak adalah sebuah abstraksi dimana sebuah perangkat lunak
melakukan pengadaan fungsi umum yang bisa dimodifikasi dengan memilih
beberapa tambahan kode. Biasanya, sebuah framework merupakan sebuah
bagian perangkat lunak yang universal, mudah dipakai lagi untuk membantu
pengembangan sebuah aplikasi perangkat lunak. (Riehle, 2000).
25
2.7.2.1. CodeIgniter
CodeIgniter adalah sebuah framework aplikasi berbasis web
yang bersifat open source dan bertujuan untuk membuat aplikasi
berbasis web menggunakan bahasa pemrograman PHP.
2.7.3. Metodologi Agile
Menurut Valacich, George dan Hoffer (2015), metodologi Agile
adalah sebuah kumpulan metodologi yang memiliki karakteristik siklus
pendek yang berulang dan pengujian program yang banyak.
Selain itu,
metodologi ini memerlukan keterlibatan pengguna yang banyak untuk
menentukan, memprioritaskan dan verifikasi syarat sistem.
Prinsip yang dimiliki oleh metodologi ini adalah lebih fokus terhadap
adaptasi dibandingkan rencana awal. Lalu lebih mementingkan sumber daya
manusia yang tersedia dibandingkan peran yang sudah ditentukan
sebelumnya. Serta proses perancangan yang dilakukan lebih mudah
beradaptasi dibandingkan metode yang lain.
2.7.3.1. eXtreme Programming
eXtreme Programming adalah salah satu metode yang
tergabung dalam metodologi agile. eXtreme Programming biasa
dikenal dengan karakteristiknya sebagai metode yang memiliki siklus
perancangan yang pendek, pendekatan perencanaan incremental,
fokus terhadap pengujian yang dilakukan oleh pengguna, dan
pendekatan perancangan yang sangat adaptif.
Kelebihan
dalam
menggunakan
metode
eXtreme
Programming adalah memiliki komunikasi yang lebih baik dalam
sesama perancang sistem, memiliki tingkat produktivitas yang tinggi,
kualitas kode yang lebih tinggi dan kedisiplinan yang tinggi antara
proses coding dan pengujian program. (Valacich, George, & Hoffer,
2015).
26
2.8. Analisa Produk Sejenis
2.8.1. Pembuatan Sistem Informasi Klinik Rawat Inap Prima Husada
Widoro Pacitan Berbasis Website
Penelitian yang pertama dilakukan diambil dari jurnal yang
berjudul “Pembuatan Sistem Informasi Klinik Rawat Inap Prima
Husada Widoro Pacitan Berbasis Website” yang disusun pada tahun
2011 oleh mahasiswa Universitas Surakarta. Sinta Susilowati dan
Berliana Kusuma Riasti (2011).
Dalam jurnal ini, penulis jurnal
membatasi ruang lingkup dalam pembahasannya sebagai;
1. Tempat penelitian ini dilakukan pada Klinik Rawat Inap
Prima Husada Widoro Pacitan.
2. Sistem ini dirancang dan dibuat dengan menggunakan
bahasa pemrograman PHP dan MySQL.
Dari hasil penelitian bisa diambil kesimpulan bahwa ada
beberapa penambahan fitur yang bisa diterapkan untuk pihak Klinik
Rawat Inap Prima Husada. Salah satunya adalah adanya sebuah fungsi
yang bisa mendata transaksi antara pihak klinik dengan pasien. Fungsi
tersebut kami anggap perlu agar menghindari terjadinya salah tulis
atau kehilangan yang bisa terjadi kepada data transaksi. Selain itu,
adanya fitur pendataan stok obat juga diperlukan untuk menghindari
terjadinya human error yang mungkin terjadi dalam proses pendataan
stok obat. Lalu, penulis juga memberikan saran untuk menyimpan
data transaksi antara pihak klinik dengan supplier obat yang ada
dalam apotek klinik. Fungsi ini bertujuan untuk menyimpan informasi
supplier-supplier yang selama ini bekerja sama dengan klinik agar
pihak klinik bisa mengevaluasi transaksi yang terjadi selama ini.
2.8.2. Analisis dan Perancangan Sistem Informasi Manajemen Berbasis
Web Pada Rumah Sakit Bhayangkara Brimob Kelapa Dua
Penelitian yang pertama dilakukan diambil dari jurnal yang
berjudul “Pembuatan Sistem Informasi Klinik Rawat Inap Prima
Husada Widoro Pacitan Berbasis Website” yang disusun pada tahun
2013 oleh mahasiswa BINUS University. Faizal Adli, Fabio Pagalan
27
dan Syaiful Huda (2013). Dalam jurnal ini, penulis jurnal membatasi
ruang lingkup dalam pembahasannya sebagai;
1. Membuat sebuah aplikasi sistem informasi manajemen
berbasis web pada Rumah Sakit Bhayangkara Brimob kelapa
dua yang dapat digunakan untuk pendaftaran pasien,
memeriksa medical record, perhitungan kasir dan terdapat
fitur admin.
2. Mencetak laporan dari hasil penyimpanan dan pendistribusian
informasi kegiatan pemeriksaan kesehatan dari pasien Rumah
Sakit Bhayangkara Brimob.
3. Aplikasi ini digunakan untuk pihak rumah sakit dan pasien.
Dari penelitian jurnal yang penulis sudah lakukan, kami
mendapatkan ide fitur tambahan untuk sistem yang telah dibuat oleh
penulis jurnal. Fitur tersebut adalah fitur untuk menyimpan informasi
mengenai stok obat dan transaksi antara pihak klinik dengan supplier
obat. Alasan untuk penambahan fitur tersebut adalah untuk mencegah
terjadinya human error yang mungkin terjadi serta sebagai evaluasi
pihak klinik mengenai stok obat maupun supplier obat yang selama
ini sudah bekerja sama dengan pihak klinik.
28
Download