BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Pengertian Sistem Informasi Menurut R. Kelly Rainer (2011:10), dalam bukunya Introduction to Information Systems menyatakan bahwa Sistem Informasi adalah untuk mendapatkan informasi yang tepat kepada orang yang tepat pada waktu yang tepat dalam jumlah yang tepat dan dalam format yang tepat karena sistem informasi dimaksudkan untuk menyediakan informasi yang berguna untuk mendukung operasi dan manajemen. Dalam arti yang sangat luas, istilah sistem informasi yang sering digunakan merujuk kepada interaksi antara orang, proses algoritmik, data, dan teknologi. Dari pengertian di atas dapat disimpulkan bahwa, sistem informasi adalah kombinasi dari komponen-komponen terkait, yang dirancang untuk mengumpulkan, menyimpan, memproses dan menyediakan output informasi yang diperlukan oleh pengguna dalam sebuah organisasi. 2.1.2 Pengertian Sistem Basis Data Menurut Connolly dan Begg (2010:54) Sistem Basis Data adalah kumpulan dari program aplikasi yang berinteraksi dengan database bersama DBMS dan database itu sendiri. Dengan demikian dapat disimpulkan bahwa Sistem Basis Data adalah skumpulan data yang berhubungan yang digunakan oleh sistem dengan menggunakan DBMS (Database Management System). 2.1.3 Pengertian Database Management System Menurut Connolly dan Begg (2010:66) Database Management System adalah sebuah sistem software yang memungkinkan user untuk mendefinisikan, membuat, menjaga, dan memiliki akses ke basis data. 9
10
DBMS memungkinkan user untuk mendefinisikan basis data dengan menggunakan DDL (Data Definition Language). DBMS juga memungkinkan user dalam melakukan insert, update dan delete, dan mendapatkan data dari basis data melalui DML (Data Manipulation Language). 2.1.3.1 Komponen DBMS Menurut Connolly dan Begg (2010:68) ada lima komponenkomponen
dalam
DBMS
yaitu
Hardware,
Software,
Data,
Prosedures, dan People :
Gambar 2.1 Komponen DBMS (Connolly dan Begg, 2010:68) 1. Hardware (Perangkat Keras) DBMS dan aplikasi membutuhkan hardware untuk dapat dijalankan. 2. Software (Perangkat Lunak) Perangkat-perangkat
lunak
yang
dibutuhkan
dalam
menjalankan DBMS. Perangkat lunak ditulis dengan bahasa pemrograman third-generation, seperti C, C++, C#, Java, Visual Basic atau Pascal. 3. Data Data adalah bagian penting dalam DBMS karena data merupakan penghubung antara komponen mesin dan manusia. 4. Procedure Procedure
adalah
bagaimana
aturan-aturan
dalam
menggunakan basis data. User membutuhkan procedure yang terdokumentasi tentang cara menjalankan sebuah sistem. 5. People
11
Merupakan komponen terakhir yang terlibat dengan sistem, misalnya data administrators, database administrators, database designers, application developers, dan end users. 2.1.4 Pengertian Database Lifecycle Menurut Connolly dan Begg (2010:313) Database Lifecycle merupakan bagian yang terpenting dari sistem basis data karena berhubungan dengan sistem informasi yang ada. Berikut ini adalah langkah-langkah dalam Database Lifecycle:
Gambar 2.2 Database Lifecycle (Connolly dan Begg, 2010:314) 2.1.4.1 Database Planning Menurut Connolly dan Begg (2010:313) Database Planning adalah merencanakan bagaimana tahapan dalam Database Lifecycle bisa direalisasikan seefektif dan seefisien mungkin.
12
2.1.4.2 System Definiton Menurut Connolly dan Begg (2010:316) System Defnition menggambarkan ruang lingkup dan batasan dari sistem basis data, termasuk user view. User view menggambarkan hal-hal yang dibutuhkan oleh sistem basis data dilihat dari sudut pandang jabatan. 2.1.4.3 Requirement Collection and Analysis Menurut Connolly dan Begg (2010:316) Requirements Collection and Analysis adalah proses mengumpulkan data dan menganalisa informasi tentang bagian dari organisasi yang akan didukung oleh sistem basis data dan memakai informasi ini untuk mengidentifikasi kebutuhan dari sistem baru yang akan dirancang. Beberapa teknik yang digunakan dalam pengumpulan data dan analisis ini adalah fact-finding techniques yang terdiri dari: 1. Memeriksa Dokumentasi Menganalisis
data-data
yang
telah
dikumpulkan
dari
perusahaan untuk mengetahui sistem yang sedang berjalan. 2. Wawancara Proses pengumpulan informasi berupa fakta-fakta yang dilakukan dengan tanya jawab dengan narasumber. 3. Observasi Metode yang dilakukan dengan cara mengamati langsung jalannya sistem dalam perusahaan untuk mendapatkan informasi yang lebih detail. 4. Penelitian Mencari informasi yang berhubungan menggunakan jurnaljurnal, buku referensi dan sumber internet. 5. Kuisioner Pengumpulan
data
dengan
menyediakan
pertanyaan-
pertanyaan yang berhubungan dengan proses bisnis. Ada dua tipe kuisioner yaitu open-ended question dan close-ended question. 2.1.4.4 Database Design
13
Menurut
Connolly
dan
Begg
(2010:320)
Database
design adalah sebuah proses dalam menciptakan perancangan untuk database yang akan mendukung operasi dan tujuan perusahaan. Ada 4 pendekatan dalam perancangan database yaitu: a. Top-down Pembentukan model data yang berisi entitas high-level dan relasi yang
kemudian
menggunakan
pendekatan top-down
secara
berturut-turut untuk mengidentifikasi entitas lower level, relasi, dan atribut lainnya. b. Bottom-up penggabungan antar atribut yang dikelompokkan ke dalam suatu relasi yang merepresentasikan tipe dari entitas dan relasi antar entitas. c. Inside-out Berhubungan dengan bottom-up tetapi sedikit berbeda dengan identifikasi awal entitas utama yang kemudian menyebar ke entitas, relasi, dan atribut terkait lainnya yang diidentifikasi terlebih dahulu. d. Mixed Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda digabungkan. Proses perancangan database terdiri dari 3 tahapan yaitu: a.
Conceptual database design Proses pembuatan model yang digunakan agar tidak tergantung pada masalah fisik.
b.
Logical database design Proses tahapan model informasi yang digunakan berdasarkan model khusus, dan menggambarkan proses yang terjadi secara rinci dan berurutan.
c.
Physical database design Proses pengukuran performa basis data yang akan dibuat. Dengan mempertimbangkan spesifikasi penyimpanan sekunder yang akan digunakan.
14
2.1.4.4.1 Entity Types Sekelompok obyek dengan sifat yang sama, yang diidentifikasi oleh perusahaan yang memiliki exsistence independent. setiap entitas ditampilkan sebagai persegi panjang yang, diberi label dengan nama entitas, yang biasanya merupakan kata benda tunggal. (Connolly & Begg, 2010:372) 2.1.4.4.2 Relationship types Ini adalah seperangkat asosiasi antara satu atau lebih tipe entitas yang berpartisipasi. setiap jenis hubungan diberi nama yang menjelaskan fungsinya. Seperti entity types dan entitas, perlu untuk membedakan antara istilah relationship types dan relationship occurance. Relationship occurance menunjukkan occurances entitas tertentu yang terkait. Setiap jenis hubungan ini akan ditampilkan sebagai garis yang menghubungkan tipe entitas terkait dan diberi label dengan nama hubungan.(Connolly & Begg, 2010:374) •
Degree of relationship type Jumlah entity types yang berpartisipasi dalam suatu hubungan. Entitas yang terlibat dalam jenis hubungan tertentu yang disebut sebagai peserta dalam hubungan itu. Jumlah peserta dari relationship type disebut degree. Yang menunjukkan jumlah jenis entitas yang terlibat dalam relationship. Relationship dari degree kedua disebut biner. Relationship dari degree ketiga disebut ternary. (Connolly & Begg, 2010:376)
•
Recursive Relationship Jenis hubungan di mana tipe entitas yang sama berpartisipasi lebih dari sekali dalam peran yang berbeda. Hubungan dapat diberikan nama peran untuk menunjukkan tujuan bahwa setiap jenis entitas yang berpartisipasi bermain dalam sebuah hubungan. Nama peran sangat penting untuk hubungan rekursif untuk menentukan
fungsi
dari
(Connolly & Begg, 2010:378)
masing-masing
peserta.
15
2.1.4.4.3 Key •
Candidate key Set atribut minimal yang secara unik mengidentifikasi setiap kejadian dari suatu entitas.(Connolly & Begg, 2010:381)
•
Primary key Candidate key yang dipilih untuk mengidentifikasi secara unik setiap kejadian dari suatu entity. Tipe entitas dapat memiliki lebih dari satu candidate key. Pilihan key utama untuk entitas didasarkan pada pertimbangan panjang atribut, jumlah minimal atribut yang
diperlukan,
dan
masa
depan
tentu
keunikan.(Connolly & Begg, 2010:381) •
Composite key Candidate key yang terdiri dari dua atau lebih atribut. Dalam beberapa kasus, key dari suatu entitas terdiri dari beberapa atribut yang nilai-nilainya sama-sama unik untuk setiap kejadian entitas .(Connolly & Begg, 2010:382)
2.1.4.5 DBMS Selection Menurut Connolly dan Begg (2010:325) DBMS Selection adalah pemilihan DBMS yang sesuai untuk mendukung sistem basis data yang dibuat. Langkah-langkah dalam pemilihan DBMS adalah sebagai berikut: a) Menetapkan kerangka referensi belajar. b) Daftar sederhana dari dua atau tiga topik. c) Mengevaluasi produk. d) Merekomendasikan seleksi dan menghasilkan laporan. 2.1.4.6 Application Design (Perancangan Aplikasi) Perancangan dari user interface dan application programs yang digunakan dan proses dari basis data.
16
2.1.4.7 Prototyping Menurut Connolly dan Begg (2010:333) Prototyping adalah membuat model dari sistem basis data. Tujuan utama prototyping ini adalah agar user bisa mengetahui rancangan basis data yang nantinya dibuat memenuhi kebutuhan user atau tidak. 2.1.4.8 Implementation Menurut Connoly dan Begg (2010:333) Implementation adalah realisasi fisik basis data dan aplikasi desain. Implementation
sistem
basis
data
tercapai
dengan
menggunakan Data Definition Language (DDL) dan bagian dari program
aplikasi
ini
adalah
database
transaction
yang
diimplementasikan menggunakan Data Manipulation Language (DML). 2.1.4.9 Data Conversion and Loading Menurut Connolly dan Begg (2010:334) Data Conversion and Loading adalah mentransfer semua data ke dalam basis data yang baru dan mengkonversi semua aplikasi yang ada untuk dijalankan pada sistem basis data yang baru. 2.1.4.10 Testing Menururt Connolly dan Begg (2010:334) Testing adalah proses menjalankan sistem basis data baru dengan maksud menemukan kesalahan atau apakah sistem sudah baik atau belum. 2.1.4.11 Operational Maintenance Menurut
Connolly
dan
Begg
(2010:335)
Operational
Maintenance adalah proses pemantauan dan pemeliharaan sistem basis data. 2.1.4.12 Entitas kuat dan lemah Menurut Connolly dan Begg (2010:383) Entitas kuat adalah sebuah tipe entitas yang keberadaannya tidak bergantung pada
17
beberapa entitas yang lain. Sedangkan entitas lemah adalah entitas yang keberadaannya bergantung pada entitas yang lainnya.
Gambar 2.3 Strong Entity dan Weak Entity 2.1.4.13 Structural Constraint Menurut Connoly dan Begg (2010:385) Multiplicity adalah sejumlah
kejadian
yang
mungkin
terjadi
dari
entitas
yang
berhubungan dengan kejadian tunggal melalui realtionship tertentu. Multiplicity menggambarkan bagaimana entitas saling berhubungan. Ada tiga tipe relatonship antara lain: 1.
One-to-One (1:1) Relationship terjadi apabila setiap himpunan entitas A hanya berhubungan dengan satu himpunan entitas B.
2.
One-to-Many
(1:*)
Relationship
terjadi
apabila
setiap
himpunan entitas A boleh berhubungan lebih dari satu himpunan entitas B. Sebaliknya setiap himpunan dari entitas B hanya boleh berhubungan dengan satu himpunan entitas A.
3.
Many-to-Many (*:*) Relationship terjadi apabila setiap himpunan entitas A berhubungan lebih dari satu himpunan entitas B, sebaliknya setiap himpunan entitas B juga boleh berhubungan lebih dari satu himpunan entitas A.
2.1.4.14 Normalisasi
18
Menurut Connolly & Begg (2010:439), normalisasi adalah teknik untuk memproduksi satu set hubungan dengan sifat yang diinginkan, mengingat kebutuhan data dari suatu perusahaan. Normalisasi adalah metode formal yang dapat digunakan untuk identify hubungan berdasarkan key mereka dan ketergantungan fungsional antara atribut mereka. Unnormalized Form (UNF) adalah tabel yang berisi satu atau lebih kelompok berulang. Bentuk-bentuk normalisasi : 1.
First Normal Form (1NF) adalah hubungan di mana pertemuan setiap baris dan kolom berisi satu dan hanya satu nilai. (Connolly & Begg, 2010:439)
2.
Second Normal Form (2NF) adalah hubungan yang dalam bentuk 1NF dan setiap atribut non primary key bersifat Full functional dependency pada primary key. Full Functional dependency adalah mengindikasikan bahwa jika A dan B adalah atribut dari sebuah relasi, B adalah fully functional dependent dari A jika B adalah functional dependent dari A tapi bukan merupakan bagian dari A.(Connolly & Begg, 2010:439)
3. Third Normal Form (3NF) adalah hubungan yang dalam 1NF dan 2NF dan di mana tidak ada atribut non
primary
dependent
dari
key
yang
primary
bersifat
transitively
key-nya.
Transitive
dependency adalah jika kondisi A, B, dan C merupakan atribut-atribut dari sebuah relasi seperti jika A->B dab B->C, maka C adalah transitively dependent dari A melalui atau via B (disediakan bahwa A bukan functionally dependent dari B atau C).(Connolly & Begg, 2010:439) 2.1.5 Metodologi Perancangan Basis Data
19
Menurut Connolly dan Begg (2010:466), metodologi perancangan adalah sebuah pendekatan terstruktur yang mana menggunakan prosedur, teknik, peralatan, dan bantuan dokumentasi untuk mendukung dan memfasilitasi proses merancang. Berikut ini dijelaskan mengenai tiga tahap perancangan database: 1. Perancangan Konseptual Proses membangun sebuah data model yang digunakan oleh perusahaan, bersifat independent terhadap seluruh pertimbangan fisikal yang ada. Pada tahapan ini, perancangan dimulai dengan membuat model data konseptual dari perusahaan terhadap rincian implementasi
seperti
target
DBMS,
application
programs,
programmming language, hardware platform, performance issues, atau physical consideration lainnya. (Connolly and Begg, 2010:471). Langkah-langkah yang terdapat dalam conceptual database design adalah: 1. Mengidentifikasi tipe entitas Bertujuan untuk mengidentifikasi tipe entitas dan objek utama yang sesuai dengan kebutuhan user. 2. Mengidentifikasi tipe relasi Bertujuan
untuk
megnidentifikasi
important
relationships yang muncul antar tipe entitas. 3. Mengidentifikasi dan mengasosiasikan atribut dengan entitas atau tipe realsi Bertujuan untuk menghubungkan atribut-atribut terkait dengan entitas atau tipe yang telah disesuaikan. 4. Menentukan domain atribut Bertujuan untuk menentukan domain untuk attribute yang terdapat pada model data konseptual. Domain merupakan sekumpulan nilai dari satu atau lebih atribut yang menggambarkan nilainya. 5. Menentukan
candidate, primary, dan alternate key
attributes Bertujuan untuk mengidentifikasi candidate keys untuk setiap entitas dan jika terdapat lebih dari satu candidate
20
keys, pilih satu sebagai primary key dan yang lainnya sebagai alternate keys. 6. Mempertimbangkan menggunakan enhanced modeling concepts (optional) Bertujuan untuk mempertimbangkan penggunaan dari modeling
concepts
seperti
specialization
atau
generalization, aggregation, dan composition. 7. Memeriksa redudansi pada model Bertujuan untuk memeriksa redudansi yang terdapat pada model. 8. Memvalidasi konseptual data model terhadap transaksi user Bertujuan untuk memastikan bahwa conceptual data model mendukung transaksi-transaksi yang diperlukan. 9. Meninjau data model konseptual dengan pengguna Bertujuan untuk memeriksa kembali data model konseptual dan memastikan bahwa data model tersebut sudah benar dan sesuai dengan kebutuhan perusahaan.
2. Perancangan Logikal Proses membangun sebuah data model yang digunakan perusahaan berdasarkan sebuah spesifik model data, tetapi independent terhadap DBMS tertentu dan pertimbangan fisik lainnya. (Connolly dan Begg 2010:467) Menurut Connolly dan Begg (2010:490), langkah-langkah yang terdapat dalam logical databse design adalah: 1. Menurunkan relasi untuk data model logikal Bertujuan untuk membangun relasi logical data model yang mempresentasikan entitas, relasi, dan atribut yang telah teridentifikasi. 2. Memvalidasi relasi dengan normalisasi Bertujuan untuk melakukan validasi atas relasi yang terdapat logical data model dengan menggunakan teknik normalisasi.
21
3. Memvalidasi realsi terhadap transaksi user Bertujuan untuk memastikan bahwa relasi dalam logical data model dapat mendukung transaksi-transaksi yang diperlukan. 4. Memeriksa integritas constraints Bertujuan untuk memeriksa integrity constrains sudah direpresentasikan di dalam logical data model atau belum. 5. Meninjau logikal data model dengan user Bertujuan untuk memeriksa kembali logical data model dengan user untuk meyakinkan bahwa model data yang menjadi representasi yang sesuai dengan kebutuhan perusahaan adalah benar. 6. Menggabungkan logical data models menjadi global model (optional) Bertujuan untuk menggabungkan logical data model ke dalam sebuah global logical data model yang merepresentasikan semua user view dari database. 7. Memeriksa perkembangan Bertujuan
untuk
menentukan
perubahan
yang
diperlukan pada masa mendatang dan menilai apakah logical
data
model
dapat
menyesuaikan
terhadap
perubahan yang terjadi.
3. Perancangan Fisikal Proses menghasilkan sebuah deskripsi mengenai implementasi dari basis data pada secondary storage yang menjelaskan base relations, file organizations, dan indexes yang digunakan untuk memperoleh akses efisien terhadap data dengan integrity constrains terkait dan security measures. (Connolly dan Begg 2010:467) Menurut Connolly dan Begg (2010:524) langkah-langkah yang terdapat dalam physical database design adalah: 1. Menerjemahkan model data logikal ke DBMS yang dituju Bertujuan untuk menghasilkan sebuah skema relasi basis data
22
dari logical data model yang dapat diimplementasikan di DBMS yang dituju. Proses ini terdiri dari 3 langkah yaitu: a)Desain relasi dasar b) Desain representasi dari derrived data c)Desain general constraints 2. Desain organisasi file dan indeks Bertujuan untuk mengoptimalkan file organization untuk menyimpan base relation dan indexes yang diperlukan agar memperoleh kinerja maksimal. Terdapat beberapa aktifitas pada tahap ini sebagai berikut: a)Menganalisa transaksi b) Memilih organisasi file c)Memilih indeks d) Mengestimasi kebutuhan penyimpanan disk 3. Desain user views Bertujuan untuk merancang user view yang diidentifikasikan selama requirement collection dan menganalisa penyimpanan dari Database System Developement Lifecycle. 4. Merancang mekanisme keamanan Bertujuan untuk merancang mekanisme keamanan basis data yang dikhususkan oleh user selama proses requirement dan collection pada Database System Developement Lifecycle. 5. Mempertimbangkan pengenalan dari pengendalian redudansi Bertujuan untuk menentukan pengenalan dari pengendalian redudansi yang sesuai dengan normalisasi agar sistem memberikan performa yang lebih baik. 6. Memonitor dan mengatur sistem operasional Bertujuan
untuk
meningkatkan
memonitor
performa
pengambilan keputusan. 2.2 Teori Khusus 2.2.1 Structured Query Language (SQL)
sistem
sistem
operasional
dalam
dan
memperbaiki
23
Menurut Connolly dan Begg (2010:184), SQL adalah bahasa yang dirancang menggunakan relasi untuk mengubah input menjadi output yang diinginkan. SQL memiliki 2 komponen utama: 1. Data Definition Language (DDL) : digunakan untuk menentukan struktur database dan mengontrol akses ke data. Perintah SQL pada DDL, yaitu : a. CREATE TABLE : untuk membuat tabel. b. ALTER
TABLE
:
untuk
menambah
atau
memindahkan
kolom,menambah atau menghapus default kolom. c. DROP TABLE : untuk memindahkan atau menghapus tabel. d. CREATE VIEW : untuk membuat view. e. DROP VIEW : untuk memindahkan atau menghapus view. 2. Data Manipulation Language (DML) : digunakan untuk mendapatkan kembali (retrieve) dan memperbarui data (update). a. SELECT : untuk memilih data dalam database. b. INSERT : untuk memasukkan data ke dalam tabel. c. UPDATE : untuk memperbaharui data dalam tabel. d. DELETE : untuk menghapus data dalam tabel. Fungsi agregat yang dimiliki SQL : a. COUNT : untuk menampilkan banyak nilai dalam suatu kolom. b. SUM : untuk menampilkan jumlah nilai dalam suatu kolom. c. AVG : untuk menampilkan jumlah nilai rata-rata dalam suatu kolom. d. MAX : untuk menampilkan nilai terbesar dalam suatu kolom.
2.2.2 Activity Diagram Menurut Satzinger, J.W., et al. (2010), activity diagram adalah sebuah diagram alur kerja yang menggambarkan berbagai aktivitas pengguna atau sistem, orang yang melakukan setiap kegiatan, dan aliran sekuensial. Activity diagram adalah salah satu diagram Unified Modelling Language yang terkait dengan pendekatan berorientasi objek, tetapi dapat digunakan untuk pendekatan pembangunan. Berikut gambar simbol-simbol yang digunakan dalam activity diagram beserta artinya:
24
Gambar 2.4 Simbol-simbol Activity Diagram (Satzinger, J.W., et al. (2010)) •
Swimlane: adalah area persegi pada activity diagram untuk mewakili seseorang yang melakukan kegiatan.
•
Initial state: untuk memulai activity diagram.
•
Transition arrow: untuk menampilkan aliran aktivitas.
•
Activity: untuk menampilkan aktivitas.
•
Syncronization bar (split): adalah simbol yang digunakan dalam sebuah activity diagram untuk mengontrol pembagian atau penyatuan jalur berurutan, split untuk membagi satu menjadi dua aliran-aliran dalam kegiatan waktu yang sama.
•
Syncronization bar (join): adalah simbol yang digunakan dalam activity diagram untuk mengontrol pembagian atau penyatuan jalur berurutan, join adalah untuk menggabungkan dua aliran dari aktivitas menjadi satu aliran kegiatan.
•
Decision activity: adalah simbol untuk membuat keputusan dalam aliran berupa ya atau tidak.
•
Final state: untuk mengkhiri aktivitas
Berikut contoh pengambaran activity diagram:
25
Gambar 2.5 Contoh Activity Diagram (Satzinger, J.W., et al. (2010))
Gambar 2.5 adalah diagram aktivitas sebenarnya untuk alur kerja. Alur kerja ini merupakan seorang pelanggan meminta kutipan dari seorang tenaga penjualan. Jika permintaan yang sederhana, penjual dapat memasukkan data dan membuat kutipan. Jika kompleks, penjual meminta bantuan dari ahli teknis untuk menghasilkan kutipan. Dalam kedua kasus, sistem komputer menghitung rincian dari kutipan.
2.2.3 Entity Relationship Diagram / Modeling Menurut Connolly, T.M., et al. (2010), entity relationship diagram / modeling adalah pendekatan top-down untuk desain database yang dimulai dengan mengidentifikasi data penting yang disebut entitas dan relasi antara data yang harus direpresentasikan dalam model. Kemudian menambahkan rincian seperti informasi yang ingin mempertahankan entitas dan relasi yang disebut atribut dan setiap kendala pada entitas, relasi, dan atribut. Pemodelan ER adalah teknik penting untuk setiap desainer database untuk menguasai dan membentuk dasar dari metodologi.
26
Gambar 2.6 Contoh Entity Relationship Diagram (Connolly, T.M., et al. (2010))