BAB 2 LANDASAN TEORI
2.1 Teori – Teori Dasar 2.1.1 Pengertian Data Menurut Hoffer, Prescott, dan McFadden (2005, p5), data adalah representasi dari objek-objek dan event-event yang tersimpan, yang penting dan mempunyai arti di dalam lingkungan pengguna.
2.1.2 Pengertian Sistem Menurut McLeod, Raymond Jr (1996, p11), sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan.
2.1.3 Pengertian Basis Data Menurut Connolly and Begg (2002, p14), basis data adalah kumpulan data yang terhubung secara logikal, dan sebuah deskripsi data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Menurut Post, Gerald V (2005, p2), basis data adalah sekumpulan data yang disimpan dalam bentuk tertentu yang dirancang agar dapat digunakan oleh pengguna yang beragam.
6
7 Berdasarkan definisi di atas, maka dapat disimpulkan bahwa basis data adalah kumpulan data yang terhubung secara logikal, yang dirancang untuk memenuhi kebutuhan informasi dari pengguna yang beragam.
2.1.4 Pengertian Sistem Basis Data. Menurut Date, C.J (2000, p5), suatu sistem basis data adalah suatu sistem yang pada dasarnya menyimpan record-record di dalam suatu sistem yang dilakukan secara komputerisasi yang tujuannya secara keseluruhan untuk memelihara informasi dan untuk membuat infomasi tersebut tersedia berdasarkan permintaan.
2.1.5 Karakteristik Basis Data Menurut Mannino (2001, p4-5), basis data mempunyai beberapa karakteristik, yaitu: a) Persistent Sebuah variabel dalam program komputer tidak akan ada terus menerus (persistent) karena berada dalam memori utama dan akan hilang setelah program dimatikan. Ketika data tidak diperlukan atau tidak relevan lagi, maka data dapat dihilangkan atau tetap disimpan. b) Shared Basis data dapat digunakan oleh multiple user. Sebuah basis data menyediakan memori yang secara umum mempunyai banyak fungsi dalam organisasi. Misalnya, basis data dapat mendukung perhitungan gaji, evaluasi kinerja, menyediakan laporan-laporan dan sebagainya.
8 c) Interrelated Data yang disimpan dalam unit-unit yang terpisah dapat dihubungkan untuk mendapatkan suatu gambaran secara keseluruhan. Misalnya basis data konsumen menghubungkan dengan data order untuk memfasilitasi proses order (pemesanan).
2.1.6 Kelebihan dan Kekurangan Basis Data Menurut Hoffer, Prescott, dan McFadden (2005, p23-25) basis data mempunyai beberapa kelebihan antara lain: 1. Program Data Independence Dengan adanya basis data, maka deskripsi data disimpan dalam lokasi pusat yaitu repository. Properti sistem basis data memungkinkan data untuk diubah dan dikembangkan tanpa mengubah aplikasi program yang akan memproses data. 2. Minimal Data Redundancy Tujuan dari basis data adalah mengintegrasikan data yang dulunya tersebar menjadi satu struktur logikal. Basis data tidak menghilangkan semua redundancy tetapi membantu perancang untuk mengontrol tipe dan jumlah redundancy itu. 3. Improved Data Consistency Dengan mengontrol atau menghilangkan redundancy data, maka akan meningkatkan konsistensi antar data. Misalnya, jika alamat konsumen hanya disimpan dalam satu tempat, maka alamat tersebut tidak dapat lagi digunakan kebenarannya.
9 4. Improved Data Sharing Sebuah basis data didesain untuk digunakan sebagai sumber informasi perusahaan yang dapat digunakan oleh semua orang. Pengguna yang terotorisasi internal maupun eksternal dapat menggunakan basis data yang sama, tetapi dengan kemampuan yang berbeda dalam menggunakan fasilitas basis data ini. 5. Increased Productivity of Application Development Keuntungan utama dari basis data adalah dapat meningkatkan produktivitas untuk pengembangan aplikasi bisnis baru. 6. Enforcement of Standards Ketika basis data diimplementasikan dengan dukungan penuh dari manajemen, maka administrator basis data seharusnya akan berfungsi sebagai orang yang bertanggungjawab untuk menghasilkan suatu standarisasi data untuk organisasi. 7. Improved Data Quality Dengan adanya basis data maka sistem dapat diberikan batasanbatasan (integrity constraints) sehingga kualitas data dapat terjamin. 8. Improved Data Accessibility and Responsiveness Dengan basis data relasional, end users yang tidak mempunyai kemampuan ataupun pengalaman programming bisa mendapatkan dan menampilkan data bahkan melewati batasan departemen. 9. Reduced Program Maintenance Untuk mengurangi kegiatan maintenance program maka data yang disimpan harus dapat sering diubah untuk beberapa alasan, misalnya
10 adanya tambahan data yang baru, format data berubah dan sebagainya. Selain itu penggunaan basis data menurut Hoffer, Prescott, dan McFadden (2002, p23-24) mempunyai beberapa kekurangan, antara lain: 1. New, Specialized Personnel Sering kali, organisasi yang menggunakan basis data perlu untuk mempekerjakan
atau
melatih
orang
untuk
mendesain
dan
mengimplementasikan basis data, menyediakan servis basis data, dan mengatur staf yang terdiri dari orang-orang baru. 2. Installation and Management Cost and Complexity Multiuser database management system adalah software yang sangat kompleks dan mempunyai harga initial yang tinggi, memerlukan staf yang telah terlatih untuk meng-install, mengoperasikan serta setiap tahun memerlukan hardware yang lebih baik, dan sistem komunikasi dalam organisasi. 3. Conversion Cost Biaya juga diperlukan untuk mengkonversi sistem lama menjadi sistem basis data yang modern, yang dapat diukur dengan uang dan waktu. 4. Need for Explicit Backup and Recovery Basis data yang digunakan secara bersama haruslah akurat dan dapat digunakan setiap saat. Hal ini mengharuskan prosedur-prosedur seperti itu dikembangkan dan digunakan untuk menyediakan backup dari data, untuk memulihkan basis data bila terjadi kerusakan.
11 5. Organizational Conflict Penggunaan basis data secara bersama dalam satu perusahaan memerlukan kesepakatan dalam hal definisi data dan kepemilikan data, seperti halnya juga pertanggungjawaban terhadap keakuratan dalam pemeliharaan data. Pengalaman membuktikan bahwa konflik terjadi pada definisi data, format data, pemrograman data (coding), dan kemampuan untuk update data menjadi masalah sulit untuk diselesaikan. Untuk menangani masalah ini memerlukan komitmen dalam organisasi bisnis.
2.1.7 Struktur Data dalam Sistem Basis Data Tingkatan struktur di dalam basis data antara lain: a) Field, unit terkecil dari record yang disimpan dalam basis data. b) Record, kumpulan field-field yang disimpan, yang saling berelasi membentuk data yang mempunyai arti. c) File, kumpulan seluruh occurrence dari satu tipe record tersimpan. d) Database, kumpulan terintegrasi dari occurrence file atau tabel yang merupakan representasi data dari suatu model enterprise.
2.1.8 DBMS (Database Management System) Menurut Post, Gerald V (2005, p2) Database Management System (DBMS) adalah sebuah piranti lunak yang mendefinisikan database, menyimpan data, mendukung query language, menghasilkan laporan dan membuat layar memasukkan data.
12 Menurut Connolly dan Begg (2002, p16) DBMS adalah sebuah piranti lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara dan mengontrol akses ke basis data. Dari definisi-definisi tersebut, dapat disimpulkan bahwa DBMS adalah sebuah piranti lunak yang mendukung query language untuk mendefinisikan, membuat, memelihara dan mengontrol akses ke basis data. Menurut Connolly dan Begg (2002, p16) secara khusus DBMS menyediakan fasilitas – fasilitas berikut: •
Mengijinkan pengguna untuk menentukan basis data, biasanya melalui Data Definition Language (DDL). DDL menyediakan fasilitas untuk menspesifikasi tipe data, struktur, dan batasan data yang bisa disimpan di basis data.
•
Mengijinkan pengguna untuk memasukkan, mengupdate, menghapus dan mengambil data dari basis data, yang dilakukan melalui Data Manipulation Language (DML).
•
DBMS juga menyediakan akses kontrol terhadap basis data. Contoh akses kontrol yang tersedia di DBMS : a) Security system, yang dapat mencegah pengguna yang tidak terotorisasi mengakses basis data. b) Integrity system, menangani konsistensi penyimpanan data. c) Concurrency and Control system, yang memungkinkan pembagian akses penggunaan ke basis data.
13 d) Recovery control system, yang dapat mengembalikan basis data ke keadaan konsisten awal apabila terjadi kesalahan pada perangkat lunak maupun perangkat keras. e) User accesible catalog, yang berisi deskripsi data yang terdapat dalam basis data. a. Komponen DBMS Menurut Connolly dan Begg (2002, p18), terdapat 5 (lima) komponen utama di dalam lingkungan DBMS, yaitu: a) Perangkat Keras DBMS membutuhkan jumlah minimum memori utama dan disk space, namun yang harus diperhatikan adalah kapasitas penyimpanan karena basis data membutuhkan kapasitas yang besar. b) Piranti Lunak Komponen piranti lunak terdiri dari piranti lunak DBMS itu sendiri, piranti lunak jaringan (jika diperlukan) dan program aplikasi pendukung lainnya. c) Data Data dalam basis data berperan sebagai jembatan antara mesin dengan manusia. Data pada sebuah basis data, baik itu yang berupa data yang single-user (hanya satu pengguna yang mengoperasikan basis data) maupun multi-user (satu atau lebih pengguna mengoperasikan basis data secara bersamaan), harus terintegrasi dan dapat dipakai bersama. Pengertian terintegrasi di sini adalah suatu basis data dapat dipandang sebagai suatu kumpulan file-file yang terkait satu sama lain dengan
14 menghilangkan redundansi yang ada. Pengertian dipakai bersama adalah setiap bagian data yang terdapat dalam basis data dapat digunakan oleh lebih dari satu pengguna dengan fungsi yang sama atau berbeda satu sama lain. d) Prosedur Prosedur menunjuk ke instruksi-instruksi dan aturan-aturan yang mengatur perancangan dan penggunaan basis data. Pengguna dari sistem dan staf yang mengatur basis data membutuhkan instruksiinstruksi untuk menggunakan atau menjalankan sistem. e) Pengguna Ada 3 (tiga) kelas pengguna basis data, yaitu: 1. Pemrogram aplikasi, bertanggung jawab dalam penulisan program aplikasi yang diperlukan dalam manajemen basis data dengan menggunakan berbagai bahasa pemrograman. 2. Pengguna akhir (end-user), menggunakan data dalam basis data untuk keperluan tugas atau fungsinya. 3. Administrator Basis Data (DBA atau Database Administrator), bertanggung jawab pada keseluruhan sistem basis data. b. Keuntungan dan Kerugian DBMS Menurut McLeod, Raymond Jr (2004, p193), keuntungan DBMS antara lain : 1. Mengurangi pengulangan data Jumlah total file dikurangi dengan menghapus file-file duplikat. Di dalam DBMS, hanya terdapat sedikit data yang sama di beberapa file.
15 2. Mencapai independensi data Spesifikasi data disimpan di dalam skema dari dalam tiap program aplikasi. Perubahan dapat dibuat pada struktur data tanpa mengurangi program yang mengakses data. 3. Mengintegrasikan data dari beberapa file Ketika file dibentuk sehingga menyediakan kata login, organisasi fisik tidak lagi menjadi kendala. 4. Mengambil data dan informasi secara cepat Hubungan-hubungan login dan DML (Data Manipulation Language) serta query language memungkinkan pemakai mengambil data dalam hitungan detik atau menit, yang sebelumnya memungkinkan memerlukan beberapa jam atau hari. 5. Meningkatkan keamanan Baik DBMS mainframe maupun komputer mikro, dapat menyertakan beberapa lapis keamanan seperti kata sandi (password), direktori pemakai, dan bahasa sandi (encryption). Sedangkan, menurut McLeod, Raymond Jr (2004, p152), DBMS memiliki kerugian antara lain: 1. Mempergunakan perangkat lunak yang mahal DBMS mainframe masih sangat mahal. DBMS berbasis komputer mikro, walaupun biayanya hanya beberapa ratus dolar, dapat menggambarkan pengeluaran yang besar bagi organisasi yang kecil. 2. Memerlukan konfigurasi perangkat keras yang besar
16 DBMS yang memerlukan kapasitas penyimpanan primer dan sekunder yang lebih besar daripada yang diperlukan oleh program aplikasi lain. Kemudahan yang dibuat oleh DBMS dalam mengambil informasi juga mendorong lebih banyak terminal pemakai yang disertakan dalam konfigurasi. 3. Memperkerjakan staf Database Administrator (DBA) DBMS memerlukan pengetahuan khusus agar dapat dimanfaatkan secara maksimal. Pengetahuan khusus ini disediakan paling baik oleh para pengelola basis data (DBA).
2.1.9 RDBMS (Relational Database Management System ) Database relational adalah sebuah kumpulan dari relasi dengan membedakan nama relasi. Database disimpan dalam tabel dan tabel mengandung data yang berhubungan atau entity, seperti orang, produk, pesanan, dan lain-lain. Tujuannya adalah menjaga tabel tetap kecil dan dapat dikelola serta entity-entity yang terpisah disimpan di dalam tabel-tabel yang tersendiri. Relational database management atau relational DBMS (RDBMS) secara sederhana dapat diartikan sebagai suatu sistem dimana data dilihat oleh penggunanya hanya sebagai tabel dan operator yang digunakan oleh pengguna, misalnya untuk mengambil data adalah operator yang dapat menghasilkan tabel baru dari tabel yang lama. Menurut Connolly dan Begg (2002, p69) RDBMS telah menjadi salah satu cara memproses data yang populer saat ini. Perangkat lunak ini mewakili
17 generasi ke-2 DBMS yang berdasarkan model relasional data. Di dalam model relasional, semua data terstruktur secara logika di dalam tabel. Setiap tabel mempunyai nama yang merupakan nama attribut data. Setiap baris mengandung 1 (satu) nilai per atribut.
2.1.10 Data Definition Language (DDL) Menurut Connolly dan Begg (2002, p40) DDL adalah bahasa yang memungkinkan seorang administrator basis data atau pengguna untuk mendeskripsikan dan menentukan entiti, atribut, dan relasi yang dibutuhkan aplikasi, bersama dengan semua batasan – batasan integritas dan keamanan (integrity and security constraints). Hasil dari kompilasi statement DDL adalah kumpulan dari tabel yang disimpan di file khusus yang disebut system catalog. Sementara istilah data dictionary dan data directory digunakan untuk mendeskripsikan system catalog.
2.1.11 Data Manipulation Language (DML) Menurut Connolly dan Begg (2002, p41) DML adalah bahasa yang menyediakan sekumpulan operasi untuk mendukung operasi manipulasi data dasar dari data yang tersimpan di basis data. Secara umum, operasi DML mencakup: •
Pemasukan data baru ke dalam basis data (insert)
•
Pemodifikasian dari data yang telah tersimpan dalam basis data (update)
•
Pengambilan data yang terdapat dalam basis data (select)
18 •
Penghapusan data yang terdapat dalam basis data (delete)
2.1.12 Entity Relationshiop Modelling a. Entity Menurut Connolly dan Begg (2002, p331), entity type (tipe entitas) adalah sekumpulan objek-objek dengan property yang sama, yang diidentifikasikan dengan keberadaan yang independent di perusahaan. Sebuah entity (entitas) mempunyai kumpulan property dan nilai dari property tersebut mengidentifikasikan entity secara unik. b. Relationship Menurut Connolly dan Begg (2002, p334), relationship type (tipe relasi) adalah sebuah kumpulan yang memiliki arti antara entity type. Setiap relationship type memiliki nama yang menjelaskan fungsinya. c. Attribute Menurut Connolly dan Begg (2002, p338), atribut adalah property dari sebuah entity atau tipe relationship. Jenis-jenis atribut, antara lain: 1. Attribute domain adalah sebuah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. 2. Simple dan Compose Attributes •
Simple attribute adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang bebas dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute.
19 •
Compose attribute adalah atribut yang terdiri dari beberapa komponen,
di
mana
masing-masing
komponen
memiliki
keberadaan yang bebas. Contohnya, atribut alamat dapat terdiri dari jalan, kota, kode pos. 3. Single-value attribute adalah atribut yang mempunyai nilai tunggal untuk setiap kejadian. Sedangkan multi-value attribute adalah atribut yang mempunyai beberapa nilai untuk setiap kejadian. 4. Derived attribute adalah atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entity. d. Key Menurut
Silberschatz
(2002,
p35),
key
digunakan
untuk
mengidentifikasi kumpulan atribut yang dapat membedakan entity satu dengan yang lainnya. Menurut Silberschatz (2002, p35), superkey adalah sebuah set satu atau lebih atribut untuk mengidentifikasi secara unik untuk sebuah entity di dalam entity set. Menurut Connolly dan Begg (2002, p340), candidate key adalah jumlah minimal atribut-atribut yang dapat mengidentifikasi tiap kejadian atau record secara unik. Menurut Silberschatz (2002, p35) primary key adalah candidate key yang dipilih oleh perancang basis data sebagai yang utama untuk mengidentifikasikan entity-entity di dalam entity set. Primary key harus
20 merupakan field-field yang benar-benar unik dan tidak boleh ada nilai NULL. Foreign key adalah primary key dari entity yang digunakan oleh entity lain untuk mengidentifikasikan kejadian dari suatu relationship. e. Strong and weak entity types Menurut Connolly dan Begg (2002, p342), strong entity adalah entiti yang keberadaannya tidak tergantung dengan entiti lain. Karakteristik dari entiti dapat diidentifikasikan dengan primary key dari tipe entiti itu. Menurut Connolly dan Begg (2002, p343), weak entity adalah entiti yang keberadaannya tergantung dari entiti lain. Karakteristik dari weak enitity adalah atribut yang terdapat pada entiti tersebut tidak dapat mengidentifikasikan tipe entiti itu secara unik. f. Structural constraints Menurut Connolly dan Begg (2002, p344), multiplicity merupakan jumlah kemunculan (occurence) yang mungkin dari sebuah tipe entiti yang berhubungan dengan kemunculan tunggal dari sebuah tipe entiti yang berhubungan melalui relasi tertentu. Tingkat relasi yang umum antar entiti adalah binary. Berikut ini adalah relasi binary yang sering terjadi: 1. Relasi One-to-One (1 : 1) Relasi dimana setiap entiti yang ada hanya dapat mempunyai maksimal 1 (satu) relasi dengan entiti yang lain.
21
Joe
R1
A
R2
B
Lila Rika
Staf
mengatur
Cabang
(Entiti)
(tipe relasi)
(Enititi)
Gambar 2.1 Relasi one-to-one antara staf dan cabang Pada gambar diatas relasi yang terjadi adalah one-to-one, dimana setiap staf yang ada hanya dapat mengatur satu cabang. 2. Relasi One-to-Many (1 : *) Relasi dimana setiap entiti yang ada dapat mempunyai satu relasi atau lebih dari satu relasi dengan entiti yang lain.
Joe
R1
Free
Lila
R2
Res
Rika
R3
Sul
Staf
melayani
(Entiti)
(tipe relasi)
Konsumen (Entiti)
Gambar 2.2 Relasi one-to-many antara staf dan konsumen Pada gambar diatas relasi yang terjadi adalah relasi one-to-many dimana setiap staf dapat melayani lebih dari 1 konsumen.
22 3. Relasi Many-to-Many (* : *) Relasi dimana setiap entiti dapat mempunyai lebih dari satu relasi dengan entiti lainnya.
Kompas
R1
Tempo
R2
P1 P2
R3
P3
Media R4
Koran (Entiti)
mengiklankan
Rumah
(tipe relasi)
(Entiti)
Gambar 2.3 Relasi many-to-many antara koran dan rumah •
Cardinality dan Participation Constraints Multiplicity terdiri dari dua batasan yaitu cardinality dan participation. Cardinality menggambarkan jumlah maksimum relasi yang mungkin terjadi dari sebuah entiti yang berpartisipasi dalam tipe relasi. One-to-one (1:1), one-to-many (1:*), dan many-to-many (*:*) merupakan cardinality dari relasi binary. Participation menentukan apakah semua atau hanya sebagian dari entiti yang berpartisipasi dalam relasi.
2.1.13 Normalisasi Normalisasi adalah teknik untuk memproduksi sekumpulan relasi dengan properti yang diinginkan, dengan kebutuhan data yang diberikan perusahaan.
23 Proses pembentukan tabel Norman (normalisasi) bertujuan untuk: •
Membuat sekecil mungkin terjadinya data rangkap.
•
Menghindarkan adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat adanya data rangkap. Empat bentuk normal yang biasa digunakan, yaitu:
1. Bentuk Normal Pertama (First Normal Form / 1NF) Aturan bentuk normal pertama (1NF) menurut Connolly dan Begg (2002, p388) adalah sebuah relasi di mana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai. 2. Bentuk Normal Kedua (Second Normal Form / 2NF) Yaitu relasi yang terdapat di dalam 1NF dan tiap atribut non-primary key bersifat bergantung fungsional penuh terhadap primary key. 3. Bentuk Normal Ketiga (Third Normal Form / 3NF) Yaitu relasi yang terdapat pada 1NF dan 2NF, dimana tidak ada atribut non-primary key yang bergantung transitif terhadap primary key. 4. Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF) Sebuah relasi dikatakan BCNF jika dan hanya jika setiap determinan merupakan candidate key. Setiap relasi dalam BCNF juga merupakan 3NF, tetapi relasi dalam 3NF belum tentu termasuk ke dalam BCNF.
2.1.14 Siklus Hidup Basis Data (Database Aplication Lifecycle) Siklus hidup sebuah aplikasi basis data menurut Connolly dan Begg (2002, p271) digambarkan sebagai berikut:
24
Gambar 2.4 Siklus hidup basis data (Database Aplication Lifecycle) a. Perencanaan Basis Data (Database Planning) Menurut Connolly dan Begg (2002, p273), perencanaan basis data adalah aktivitas manajemen yang mengatur atau merencanakan bagaimana tahapan-tahapan dalam siklus hidup basis data dapat diterapkan seefektif dan seefisien mungkin. Ada 3 (tiga) masalah pokok yang harus diperhatikan dalam merumuskan strategi sistem informasi, yaitu:
25 •
Mengidentifikasikan rencana dan tujuan perusahaan dengan menentukan sistem informasi mana yang diperlukan.
•
Mengevaluasi sistem informasi yang ada untuk melihat kelebihan dan kekurangannya.
•
Penilaian mengenai peluang IT yang mungkin menghasilkan keuntungan yang kompetitif.
b. Definisi Sistem Basis Data (System Definition) Menurut Connolly dan Begg (2002, p274), aktivitas utama dalam pendefinisian sistem basis data adalah mendeskripsikan ruang lingkup dari aplikasi basis data yang akan dibuat termasuk pengguna dan tempat aplikasi diterapkan. Sebelum mencoba untuk merancang suatu aplikasi basis data, sangat penting untuk mengidentifikasikan batasan-batasan sistem yang ada dan bagaimana sistem tersebut berinteraksi dengan bagian sistem informasi yang lain dalam suatu perusahaan. Penting juga untuk mengikutsertakan di dalam batasan-batasan sistem yang telah dibuat, tidak hanya untuk aplikasi dan pemakai saat ini saja, tetapi juga bisa digunakan di masa yang akan datang. c. Analisis dan Pengumpulan Kebutuhan (Requirements Collection and Analysis) Menurut Connolly dan Begg (2002, p276), analisa dan pengumpulan kebutuhan adalah proses mengumpulkan dan menganalisis informasi mengenai bagian dari organisasi yang akan mendukung aplikasi basis data
26 dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna pada sistem baru. Untuk melaksanakan proses itu digunakan teknik yang disebut dengan fact finding techniques. Terdapat 5 (lima) fact finding techniques yang umum digunakan: 1. Mengevaluasi dokumen-dokumen yang ada, 2. Wawancara, 3. Mengobservasi jalannya kegiatan kerja pada perusahaan, 4. Penelitian, dan 5. Kuisioner. d. Perancangan Basis Data (Database Design) Menurut Connolly dan Begg (2002, p279), perancangan basis data adalah proses membuat sebuah perancangan untuk sebuah basis data yang mendukung kegiatan operasional dan tujuan dari suatu perusahaan. Proses ini dibagi menjadi 3 (tiga) tahap, yaitu: •
Desain konseptual basis data Proses membangun model informasi yang digunakan dalam sebuah enterprise, terbebas dari semua pertimbangan fisik.
•
Desain logikal basis data Proses membangun model informasi yang digunakan dalam sebuah enterprise yang didasarkan oleh data model spesifik, dan terbebas dari DBMS tertentu dan pertimbangan fisik lainnya.
•
Desain fisikal basis data
27 Proses memproduksi sebuah deskripsi dari implementasi basis data dalam secondary storage, yang menjelaskan relasi dasar, organisasi file, dan indeks yang digunakan untuk mencapai akses yang efisien ke data, dan setiap integrity constraint yang saling berhubungan dan juga pengukuran keamanan (security). e. Pemilihan DBMS (DBMS Selection) Menurut Connolly dan Begg (2002, p284), pemilihan DBMS dilakukan untuk memilih DBMS yang sesuai dengan aplikasi basis data. Berikut ini adalah langkah-langkah utama dalam memilih DBMS : 1. Menggambarkan cakupan tugas berdasarkan kebutuhan perusahaan. 2. Membuat perbandingan mengenai dua atau tiga produk DBMS. 3. Mengevaluasi produk-produk DBMS tersebut. 4. Merekomendasikan pemilihan DBMS dan membuat laporan hasil dari evaluasi produk DBMS tersebut. f. Perancangan Aplikasi (Application Design) Menurut Connolly dan Begg (2002, p287), perancangan aplikasi adalah merancang antar muka pemakai (user interface) dan program aplikasi, yang akan memproses basis data. Dalam siklus hidup aplikasi basis data, perancangan basis data dan perancangan aplikasi adalah aktivitas yang dilakukan bersamaan. Dalam kasus sebenarnya, tidak mungkin untuk menyelesaikan perancangan aplikasi sebelum perancangan basis data selesai. Dalam perancangan aplikasi, harus dimastikan semua pernyataan fungsional dari spesifikasi kebutuhan pemakai yang menyangkut
28 perancangan aplikasi program, mengakses basis data dan merancang transaksi, yaitu cara akses ke basis data dan perubahan terhadap isi basis data (retrieve, update dan kegiatan keduanya). Artinya, bagaimana fungsi yang dibutuhkan bisa terpenuhi dan merancang antar muka pemakai yang tepat. Antar muka yang dirancang harus memberikan informasi yang dibutuhkan dengan cara yang user friendly. Kebanyakan antar muka pemakai yang diabaikan akan membuat masalah. Bagaimanapun antar muka harus diakui komponen penting dari sistem. Jika antar muka mudah dipelajari
dan
mudah
digunakan,
pemakai
akan
cenderung
mendayagunakan informasi yang disajikan. g. Pembuatan Model Kerja (Prototyping) Menurut Connolly dan Begg (2002, p291), aktivitas utama pembuatan model kerja adalah membangun suatu model kerja dari aplikasi basis data. Tujuan mengembangkan suatu prototype aplikasi basis data adalah mengijinkan para pemakai untuk menggunakan prototype guna menguji apakah fitur-fitur sistem bekerja dengan baik sesuai dengan spesifikasi pengguna dan jika memungkinkan memberikan perbaikan-perbaikan atau mungkin fitur-fitur baru untuk aplikasi basis data. Dengan cara ini, dapat diperjelas kebutuhan pemakai dan pengembang sistem dalam mengevaluasi kelayakan perancangan sistem tertentu. Menurut Connolly dan Begg (2002, p292), ada dua strategi membuat prototype yaitu requirements prototyping dan evolutionary prototyping. Requirements prototyping digunakan untuk menentukan kebutuhan suatu aplikasi basis data yang diusulkan dan ketika kebutuhan dirasakan sudah
29 lengkap, maka prototype tersebut tidak digunakan lagi. Evolutionary prototyping digunakan untuk tujuan yang sama, perbedaannya adalah bahwa ketika kebutuhan sudah lengkap prototype tidak dibuang tetapi dikembangkan lebih lanjut sehingga menjadi aplikasi basis data tersebut. h. Implementasi (Implementation) Menurut Connolly dan Begg (2002, p292), implementasi merupakan perwujudan fisik dari basis data dan perancangan aplikasi. Tahap implementasi basis data dan program aplikasi dilakukan setelah menyelesaikan tahap perancangan (dengan atau tanpa prototype). Implementasi basis data dicapai dengan menggunakan Data Definition Language (DDL) dari DBMS yang telah dipilih atau dengan menggunakan Graphical User Interface (GUI), yang menyediakan fungsional yang sama dengan pernyataan DDL yang low level. Pernyataan DDL digunakan untuk menciptakan sruktur basis data dan mengosongkan file yang terdapat di dalam basis data tersebut. Program aplikasi diterapkan dengan menggunakan bahasa generasi ketiga atau keempat (3GL atau 4GL). Bagian dari program aplikasi ini adalah transaksi basis data, yang diterapkan dengan menggunakan Data Manipulation Language (DML). Transaksi basis data juga dapat dibuat dalam bahasa pemrograman, seperti Visual Basic, Delphi, C, C++, Java, COBOL, Fortran, Ada, atau Pascal. Komponen lain dari perancangan aplikasi, seperti layar menu, format masukan data dan laporan juga diterapkan.
30 Pengendalian
keamanan
dan
integritas
untuk
aplikasi
juga
diimplementasikan. Sebagian dari kendali ini telah diterapkan dengan menggunakan DDL, tetapi yang lain mungkin perlu untuk digambarkan di luar dari DDL, sebagai contoh, kegunaan yang disediakan DBMS atau kendali sistem operasi. i. Data Conversion and Loading Menurut Connolly dan Begg (2002, p292), data conversion and loading adalah pemindahan data yang ada ke dalam basis data yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basis data yang baru. Tahap ini dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama. Pada masa sekarang, umumnya DBMS memiliki kegunaan untuk memasukkan file ke dalam basis data baru. Biasanya membutuhkan spesifikasi dari sumber file dan sasaran basis datanya. Kegunaan ini memungkinkan pengembang untuk mengkonversi dan menggunakan aplikasi program lama untuk digunakan oleh sistem baru. Ketika conversion and loading dibutuhkan, prosesnya harus direncanakan untuk memastikan kelancaran transaksi untuk keseluruhan operasi. j. Pengujian (Testing) Menurut Connolly dan Begg (2002, p293), pengujian adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan. Dalam melakukan pengujian, para pemakai sistem yang baru harus dilibatkan untuk menguji proses aplikasi dan basis data tersebut. Situasi yang ideal untuk pengujian sistem adalah memiliki suatu tes basis data pada suatu separate sistem perangkat keras, tetapi ini sering tidak
31 tersedia. Jika data riil diharapkan untuk digunakan, maka penting untuk memiliki backup. Setelah pengujian diselesaikan, maka sistem aplikasi dan basis data ini telah siap digunakan. k. Pemeliharaan Operasional (Operational Maintenance) Menurut Connolly dan Begg (2002, p293), operational maintenance merupakan sebuah proses pengawasan dan pemeliharaan sistem setelah proses instalasi, yang melibatkan aktivitas yang berikut: a. Mengawasi kinerja dari sistem. Jika kinerja jatuh di bawah suatu tingkatan yang bisa diterima, penyetelan atau reorganisasi basis data mungkin diperlukan. b. Memelihara dan meningkatkan mutu aplikasi basis data (ketika dibutuhkan). Kebutuhan baru disatukan ke dalam aplikasi basis data dengan mengikuti langkah-langkah sebelumnya yang terdapat dalam siklus hidup basis data. Ketika aplikasi basis data sedang beroperasi, perlu dilakukan pengawasan secara dekat untuk memastikan bahwa kinerja sistem dalam tingkatan yang bisa diterima. Pengawasan proses akan terus berlanjut sepanjang seluruh hidup suatu aplikasi basis data tersebut dan pada waktu tertentu boleh melakukan reorganisasi basis data untuk mencukupi kebutuhan dari sistem. Hal ini memungkinkan DBA untuk terlihat dalam perencanaan kapasitas dan untuk memberitahu staf senior siaga untuk melakukan penyesuaian rencana. Jika DBMS kekurangan kegunaan tertentu, DBA dapat mengembangkan kegunaan yang diperlukan atau membeli tools tambahan, jika tersedia.
32 2.1.15 Desain Konseptual, Logikal, dan Fisikal Basis Data Menurut Connolly dan Begg (2002, p273), terdapat 3 (tiga) tahapan atau fase utama dalam perancangan basis data, yaitu : a. Perancangan Basis Data Konseptual (Conseptual Database Design) Proses mengkonstruksikan atau membangun model informasi yang digunakan dalam sebuah enterprise, terbebas dari semua pertimbangan fisik. Pada desain konseptual basis data ini, terdiri dari langkah-langkah sebagai berikut: Langkah 1: Membangun data model konseptual lokal untuk setiap view 1.1 Mengidentifikasi tipe entity Pada tahapan ini, dilakukan identifikasi tipe entitas utama yang diperlukan
oleh
sebuah
view.
Salah
satu
metode
dalam
mengidentifikasi tipe entitas adalah dengan memeriksa kebutuhan pengguna. Dari kebutuhan pengguna ini, kita dapat mengidentifikasi kata benda atau frase yang ada (misalnya nama staf, alamat rumah), selain itu kita bisa mendapatkan objek utama seperti orang (people), tempat (place), benda (thing) atau konsep (concept). Cara lain dalam mengidentifikasi entity adalah dengan melihat objek-objek yang akan tetap ada dan keberadaannya tidak tergantung pada objek lain, misalnya staf merupakan entity karena staf tetap akan ada walaupun kita tidak mengetahui nama, posisi, dan tanggal lahirnya. 1.2 Mengidentifikasi tipe relasi
33 Pada tahapan ini dilakukan identifikasi relasi penting yang ada antara tipe entitas yang telah teridentifikasi. Ketika mengidentifikasi relasi kita dapat menggunakan kata kerja dalam spesifikasi kebutuhan user, misalnya: •
Staf mengatur property
•
PrivateOwner mempunyai property Dengan adanya kebutuhan pengguna, membuktikan bahwa
relasi-relasi yang terjadi adalah penting dan harus dimasukkan dalam model. 1.3
Mengidentifikasi dan menghubungkan atribut dengan entitas atau tipe entitas Pada tahapan ini, atribut dihubungkan dengan entitas atau tipe entitas yang tepat.
1.4
Menentukan domain atribut Domain adalah sebuah penampung dari nilai yang dapat ditampung oleh atribut, misalnya domain atribut dari nomor staf hanya dapat menggunakan 5 (lima) karakter string dengan 2 (dua) karakter pertama adalah huruf dan 3 (tiga) karakter berikutnya adalah angka.
1.5 Menentukan candidate dan primary key dari atribut Candidate key adalah set atribut minimal dari sebuah entitas yang secara unik mengidentifikasi setiap kemunculan dari entitas tersebut. Candidate key dapat diidentifikasikan lebih dari satu, tetapi harus dipilih satu sebagai primary key, sedangkan candidate key yang
34 lain disebut alternate key. Berikut ini adalah acuan dalam menentukan primary key dari candidate key : •
Candidate key dengan set atribut yang minimal.
•
Candidate key dengan nilai yang berubah paling sedikit.
•
Candidate key dengan karakter paling sedikit.
•
Candidate key dengan isi maksimum yang paling sedikit.
•
Candidate key yang termudah digunakan dari sudut pandang pengguna.
1.6
Mempertimbangkan penggunaan konsep model yang lebih tinggi (enhanced modeling concepts) Tahap
ini
bersifat
opsional,
apakah
akan
digunakan
pengembangan dari entitas model dengan menggunakan enhanced modeling concepts, seperti spesialisasi atau generalisasi. 1.7
Memeriksa redundansi pada model Tahapan ini memeriksa model data konseptual lokal apakah terjadi duplikasi atau tidak dengan 2 (dua) langkah yaitu:
1.8
•
Memeriksa ulang relasi one-to-one.
•
Menghilangkan relasi yang terduplikasi (redundant).
Memvalidasi model data konseptual lokal terhadap transaksi pengguna Memeriksa model yang telah dihasilkan apakah mendukung transaksi pada view. Pemeriksaan ini dapat menggunakan 2 (dua) langkah yaitu:
35
1.9
•
Mendeskripsikan transaksi.
•
Menggunakan jalur transaksi.
Memeriksa model data konseptual lokal dengan pengguna Memeriksa model data konseptual lokal termasuk ER, jika terjadi ketidakcocokan (anomaly) maka harus dilakukan perubahan.
b. Perancangan Basis Data Logikal (Logical Database Design) Proses membangun model informasi yang digunakan dalam sebuah enterprise yang didasarkan pada data model spesifik, dan terbebas dari DBMS dan semua pertimbangan fisik. Pada desain logikal basis data terdiri dari langkah-langkah sebagai berikut: Langkah 2: Membangun dan memvalidasi model data logikal lokal untuk setiap view Dari model data konseptual lokal yang telah dibangun pada tahapan pertama akan diubah menjadi model data logikal lokal yang terdiri dari entity relationship diagram, sebuah skema relationship dan dokumentasidokumentasi pendukung. 2.1
Menghilangkan hal-hal yang tidak sesuai dengan model relasional Model data konseptual lokal yang telah ada dapat mengandung struktur yang tidak dapat dimodelkan oleh DBMS konvensional, oleh karena itu pada tahap ini dilakukan perubahan menjadi bentuk yang lebih mudah ditangani olah sistem ini. Langkah-langkah yang dapat dilakukan dalam penyesuaian struktur adalah:
36
2.2
•
Menghilangkan relasi binary many-to-many (* : *)
•
Menghilangkan relasi rekursif many-to-many (* : *)
•
Menghilangkan tipe relasi yang kompleks
•
Menghilangkan atribut multi-valued
Mendapatkan relasi untuk model data logikal Membentuk relasi dari model data logikal lokal untuk merepresentasikan relasi antar entitas dan atribut yang telah diidentifikasikan. Untuk mendapatkan relasi dari data model yang ada maka digunakan cara-cara berikut ini:
2.3
•
Tipe entitas yang kuat
•
Tipe entitas yang lemah
•
Relasi binary one-to-many (1 : *)
•
Relasi binary one-to-one (1 : 1)
•
Relasi rekursif one-to-one (1 : 1)
•
Tipe relasi superclass atau subclass
Memvalidasi relasi menggunakan normalisasi Normalisasi digunakan untuk meningkatkan model yang telah terbentuk agar duplikasi data yang tidak diperlukan dapat dihindari.
2.4 Memvalidasi relasi dengan transaksi pengguna Memastikan relasi yang telah ada pada model data logikal dapat mendukung transaksi yang diperlukan oleh view. 2.5 Mendefinisikan integrity constraints
37 Integrity constraints adalah batasan yang digunakan untuk menjaga agar basis data tidak menjadi inkonsisten. Ada 5 (lima) tipe integrity constraints, yaitu: •
Required data (data atau nilai yang valid).
•
Batasan domain atribut.
•
Entity integrity (primary key tidak boleh null).
•
Referential integrity (foreign key pada suatu entitas harus sesuai dengan candidate key pada entitas lain).
• 2.6
Enterprise constraint (batasan pada organisasi).
Memeriksa model data logikal lokal dengan pengguna Memeriksa model data logikal lokal yang terbentuk merupakan representasi dari user view. Untuk memvalidasi model data logikal ini, digunakan Data Flow Diagram (DFD). DFD dapat menunjukkan aliran data dari suatu organisasi.
Langkah 3: Membangun dan memvalidasi model data logikal global Pada tahap ini, digabungkan semua model data logikal lokal menjadi sebuah model data logikal global yang merepresentasikan organisasi tersebut. 3.1
Menggabungkan model data logikal lokal ke dalam model global Menggabungkan model data logikal individual ke dalam model data logikal global organisasi.
3.2
Memvalidasi model data logikal data logikal global
38 Memvalidasi relasi yang telah dibuat dari model data global menggunakan teknik normalisasi dan memastikan relasi ini mendukung transaksi yang diperlukan. Langkah ini sama dengan langkah 2.3 dan 2.4 yang memvalidasi setiap model data logikal lokal. 3.3
Memeriksa perkembangan yang akan datang Memastikan apakah ada perubahan yang signifikan yang dapat diperkirakan dan memastikan apakah model data logikal global ini dapat mendukung perubahan-perubahan ini.
3.4
Memeriksa model data logikal global dengan pengguna Memastikan bahwa model data logikal global merupakan representasi nyata dari organisasi.
c. Perancangan Basis Data Fisikal (Physical Database Design) Proses memproduksi sebuah deskripsi dari implementasi basis data dalam secondary storage, yang menjelaskan akses yang efisien ke data, serta setiap integrity constraint yang saling berhubungan dan juga pengukuran security. Pada desain fisikal basis data terdiri dari langkah-langkah sebagai berikut: Langkah 4: Menerjemahkan model data logikal global untuk DBMS yang akan digunakan Pada tahap ini akan dihasilkan suatu skema basis data relasional dari model data logikal global yang dapat diimplementasikan ke dalam DBMS yang akan digunakan.
39 4.1
Mendesain relasi dasar (base relations) Memutuskan bagaimana merepresentasikan relasi-relasi yang telah diidentifikasikan pada model data logikal global pada DBMS yang akan dipakai.
4.2 Mendesain representasi dari data yang diturunkan Memutuskan bagaimana merepresentasikan derived attribute dalam model data logikal global pada DBMS yang akan dipakai. 4.3
Mendesain enterprise constraints Menentukan enterprise constraints untuk target DBMS.
Langkah 5: Mendesain gambaran fisik dari basis data Menentukan organisasi file yang akan digunakan dan indeks untuk menghasilkan performa yang diinginkan serta menentukan apa saja yang akan disimpan dalam secondary storage. 5.1
Menganalisis transaksi Memahami fungsi-fungsi dari transaksi yang akan dijalankan pada basis data dan menganalisis transaksi yang penting.
5.2
Memilih organisasi file yang akan digunakan Menentukan organisasi file yang efisien. Ada 5 (lima) tipe organisasi file: •
Heap
•
Hash
•
Indexed Sequential Access Method (ISAM)
•
B-Tree
40 • 5.3
Chasters
Memilih indeks yang digunakan Memutuskan apakah dengan menggunakan indeks akan meningkatkan performa dari sistem. Menurut
http://www.pcmag.com/encyclopedia_term/0,2542,-
t=primary+index&i=49667,00.asp, definisi dari primary index adalah index yang mengontrol proses yang sedang dilakukan pada sebuah file database atau mengatur index dari primary key. Menurut
http://pybsddb.sourceforge.net/ref/am/second.html,
secondary index merupakan cara untuk mengakses record di dalam database secara efisien dengan mengambil beberapa bagian dari informasi
yang
berbeda
dengan
primary
key.
Menurut
http://developer.mimer.com/documentation/Mimer_SQL_User_Manu al/Defining_Database9.html, secondary index digunakan secara otomatis selama proses pencarian data yang dapat meningkatkan efisiensi pencarian data. Setiap kolom dapat dispesifikasikan sebagai secondary index. Kolom-kolom yang berisi primary key, foreign key, atau kolom manapun yang didefinisikan secara unik, secara otomatis diindekskan oleh sistem, dan membuat indeks dari kolom-kolom tersebut tidak akan meningkatkan performa. Sementara secondary index, dapat meningkatkan efisiensi dalam mendapatkan data, tetapi tidak dapat melakukan perintah seperti update, insert, dan delete. Umumnya, indeks dibuat hanya untuk kolom-kolom yang sering digunakan
41 dalam pencarian. Misalnya, database yang berisi daftar tentang ’student’, masing-masing memiliki ‘student ID number’ yang unik. Biasanya, database akan menggunakan ‘student ID number’ sebagai key. Namun, sebuah hal yang beralasan jika ingin melihat data ‘student’ menggunakan ‘last name’. Untuk melakukan hal tersebut, maka secondary index yang digunakan sebagai secondary key yang berisi ‘last name’. Di dalam SQL, secondary index dapat dilakukan dengan mengeksekusi perintah di bawah ini: CREATE TABLE students( student_id CHAR(4) NOT NULL, lastname CHAR(15), firstname CHAR(15), PRIMARY KEY(student_id) ); CREATE INDEX lname ON students(lastname);
Sedangkan untuk perintah SELECT dapat dilakukan dengan mengeksekusi perintah di bawah ini: SELECT
*
from
lname
WHERE
(lastname
=
"Churchill");
5.4
Memperkirakan disk space yang diperlukan Memperkirakan
disk
storage
yang
diperlukan
untuk
menggunakan sistem basis data, disk storage yang dimaksud adalah secondary storage. Langkah 6: Mendesain user view Mendesain user view yang telah diidentifikasi.
42 Langkah 7: Mendesain pengukuran keamanan (security) Membatasi pengaksesan basis data oleh para pengguna yang tidak berhak dan menspesifikasikan pengguna terhadap basis data yang dapat diakses. Langkah 8: Menentukan apakah redundansi data telah dapat dikontrol Dilakukan normalisasi agar dapat meningkatkan performa dari sistem dan menghilangkan redundansi. Langkah 9: Memonitor sistem operasional Memonitor dan meningkatkan performa dari sistem dengan memperbaiki desain yang tidak sesuai atau perubahan kebutuhan.
2.1.16 Oracle Database Express Edition (Oracle XE) Menurut http://www.oracle.com/corporate/story.html, Oracle pertama kali dibuat pada 1977 oleh Larry Ellison, Bob Miner, dan Ed Oates sebagai Software Development Laboratories menjadi non-commersial relational database. Lalu berdiri perusahaan Oracle, yang menjadikan produk commersial relational database management system (RDBMS) pertama di pasaran. Oracle sebagai relational database, menyimpan semua data pada twodimensional tables yang terdiri dari baris dan kolom. Oracle Database mampu untuk menyimpan data, meng-update-nya, dan menerimanya dengan efisien. Database terdiri dari physical dan logical structures di mana sistem, user, dan informasi disimpan.
43 Oracle 10g dengan teknologi grid, dideskripsikan sebagai dynamic cluster, yang mana aplikasi server dapat ditambahkan menjadi kluster jika diperlukan, dan resourse kluster dapat disusun ulang sesuai dengan kebutuhan bisnis. Keuntungan dari 10g grid, mencakup fleksibilitas penggunaan prosessing power dan meningkatkan fault tolerance. Berdasarkan keterangan dari http://www.oracle.com/global/me/press/meo/oracle10g_express.html, Oracle Database Express Edition (Oracle XE) merupakan database entry level yang bersifat gratis dari Oracle yang dibuat berdasarkan kode Oracle 10g release 2 tahun 2002 yang diperuntukkan bagi : •
Developer Java, PHP, .Net, XML, dan aplikasi open source lainnya.
•
Database Administrator yang membutuhkan database server gratis untuk pembelajaran dan development.
•
Institusi pendidikan dan pelajar yang membutuhkan database gratis. Fitur di dalam Oracle XE, antara lain :
1. Dapat digunakan untuk membangun aplikasi yang powerful dan memiliki infrastruktur industri level tinggi. 2. Dapat di-upgrade ke Oracle 10g tanpa perlu banyak mengubah sistem. 3. Mampu menyimpan sampai 4 GB data user data. 4. Hanya menggunakan satu resource prosesor, jika memiliki prosesor dual core, bebannya tetap di satu prosesor. 5. Menggunakan resource RAM maksimum 1 (satu) GB, jika lebih dari itu, harus upgrade resolusi basis data Oracle lain.
44 2.1.17 SQL (Structured Query Language) Menurut Connolly dan Begg (2002, p111), SQL adalah sebuah contoh dari transform oriented language atau sebuah bahasa yang dirancang untuk menggunakan relasi untuk mengubah input menjadi output yang dibutuhkan. Standar SQL memiliki 2 (dua) komponen utama, yaitu: a) Data Definition Language (DDL) untuk mendefinisikan struktur basis data dan mengontrol akses ke data, contohnya perintah: •
Create Table Digunakan untuk membuat table dengan mengidentifikasikan tipe data untuk tiap kolom.
•
Alter Table Digunakan untuk menambah atau membuang kolom dan konstrain.
•
Drop Table Digunakan untuk membuang atau menghapus table beserta semua data yang terkait di dalamnya.
b) Data Manipulation Language (DML) untuk menerima dan melakukan perubahan pada data, contohnya perintah: •
Select Pernyataan select digunakan untuk menampilkan sebagian atau seluruh isi dari suatu tabel dan menampilkan kombinasi isi dari beberapa tabel.
•
Update Pernyataan update digunakan untuk mengubah isi dari satu atau beberapa atribut dari suatu tabel.
45 •
Insert Pernyataan insert digunakan untuk menambah satu atau beberapa baris nilai baru ke dalam suatu tabel.
•
Delete Pernyataan delete digunakan untuk menghapus sebagian atau seluruh isi dari suatu tabel.
2.1.18 PL/SQL Menurut http://ns1.cic.ac.id/~marsani.asfi/file/PL_SQL1_2.pdf , PL/SQL adalah bahasa pemrograman yang digabungkan dengan SQL. Dalam PL/SQL dapat digunakan perintah untuk memanipulasi data yang ada dalam database oracle. PL/SQL membentuk pemrograman terstruktur dalam memproses data. Menurut www.ikom.usd.ac.id/~tatik/sbdt/materi/Prakt_sbdt_2005_3.pdf , PL/SQL digunakan dalam pembuatan: •
Procedure : sekumpulan perintah untuk melakukan suatu proses dan tidak mengembalikan suatu nilai.
•
Function : sekumpulan perintah untuk melakukan suatu proses yang mengembalikan suatu nilai / hasil.
•
Trigger : procedure yang dijalankan secara otomatis pada saat terjadi. Keuntungan penggunaan PL/SQL:
•
Integrasi Memungkinkan Aplikasi dan Oracle Server menggunakan Library yang dapat digunakan bersama-sama dalam bentuk Stored Procedure.
46 •
Peningkatan kinerja Penggunaan PL/SQL, memungkinkan pengiriman perintah secara blok dalam satu perintah yang secara drastis dapat menurunkan trafic jaringan.
•
Modular Bentuk modular memungkinkan banyak kemudahan yang dapat diperoleh.
•
Portable PL/SQL adalah sarana asli milik Oracle Server, artinya, program PL/SQL dapat dengan mudah dipindahkan dari satu Oracle Server ke Oracle Server lainnya, meskipun dengan OS atau platform yang berbeda.
•
Dapat mendeklarasikan variabel Dapat berupa variable, constant, cursor dan exception. Penggunaan variable atau identifier sangat memudahkan dalam membuat suatu perintah, misalnya untuk membaca hasil suatu perintah select untuk diproses dan hasilnya digunakan untuk melakukan proses lainnya.
•
Dapat menggunakan struktur kontrol Struktur kontrol yang dimaksud adalah seperti LOOP, FOR, dan WHILE.
•
Dapat menangani error Error bisa dihasilkan atau dibangkitkan oleh Oracle Server atau bisa dibangkitkan sendiri dengan sengaja. Untuk mengantisipasi berbagai hal yang barangkali sulit untuk ditangani secara langsung menggunakan kontrol program.
47 Arsitektur PL/SQL terlihat pada Gambar 2.5. Oracle Database memanggil program kompilasi ke dalam memori dan kemudian PL/SQL engine dan SQL engine mengeksekusi program yang ada.
Gambar 2.5 Arsitektur PL/SQL
2.1.19 NetBeans Menurut
http://ilmukomputer.com/2007/02/23/netbeans-open-source-
java-ide-berbasiskan-swing/ , NetBeans adalah salah satu open source IDE berbasiskan Java yang berjalan di atas swing. Swing sebuah teknologi Java untuk pengembangan aplikasi desktop yang multiplatform. Untuk mengubah program Java secara langsung dibutuhkan Java Integrated Development Environment (IDE), seperti IntelliJIDEA, Oracle JDeveloper, Javelin, NetBeans, Adobe Dreamweaver, dan Borland Jbuilder. NetBeans 5.5 merupakan free and open source tools untuk membangun aplikasi desktop, enterprise, dan web berbasis Java. Selain itu, NetBeans 5.5 juga cross-platform sehingga program yang dibuat dapat dijalankan pada sistem-sistem operasi Windows, Linux, ataupun Apple MacOS.
48 2.1.20 Internet Internet didefinisikan sebagai jaringan fisik yang menghubungkan komputer-komputer seluruh dunia, terdiri atas infrastruktur dari server-server jaringan dan hubungan komunikasi untuk area yang luas antar infrastruktur server jaringan tersebut yang digunakan untuk menyimpan dan memindahkan sejumlah besar informasi.
2.1.21 World Wide Web (WWW) Menurut Ellsworth (1995, p39), WWW adalah: •
Kumpulan dokumen yang sangat banyak yang terhubung bersama.
•
Kumpulan protokol yang mendefinisikan bagaimana sistem bekerja dan mengirimkan data.
•
Web yang menggunakan tekhnik hypertext dan multimedia ditujukan agar internet menjadi mudah bagi semua orang untuk digunakan dan dikontribusikan. Berdasarkan definisi di atas, maka dapat disimpulkan bahwa WWW
adalah kumpulan dokumen dan protokol yang sangat banyak dan saling terhubung satu sama lain sehingga membuat pengiriman data dan informasi menjadi lancar. Berikut ini adalah cara kerja WWW menurut Pohan, Sidik (2001, p4): •
Informasi web disimpan dalam dokumen yang disebut dengan halaman web (web pages),
49 •
Web pages adalah file-file yang disimpan dalam komputer yang disebut web client,
•
Web client menampilkan page dengan menggunakan program yang disebut dengan web browser, dan
•
Web browser yang popular adalah Internet Explorer dan Netscape Navigator.
2.1.22 HyperText Markup Language (HTML) Menurut Pohan, Sidik (2001, p9), HTML adalah file teks murni yang dapat dibuat dengan editor teks sembarang. Dokumen ini dikenal sebagai web page. Dokumen HTML merupakan dokumen yang disajikan dalam browser web server. Dokumen ini umumnya berisi informasi ataupun interface aplikasi di dalam internet. Dokumen HTML dapat disiapkan di banyak standar teks editor, meskipun akan lebih mudah dibuat dengan menggunakan editor yang didesain untuk pembuatan HTML.
2.1.23 HyperText Transfer Protocol (HTTP) Menurut Ellsworth (1995, p47), HTTP digunakan oleh World Wide Web untuk mentransfer dan memproses file-file HTML. Berdasarkan www.terena.nl/library/gnrt/appendix/glossary.html, HTTP adalah protokol dasar world wide web. Merancang aturan untuk menukar antara browser dan server. Menyediakan pengiriman hypertext dan hypermedia, untuk pengenalan tipe file dan fungsi lainnya.
50 Berdasarkan definisi di atas, maka dapat disimpulkan bahwa HTTP adalah
komponen
dasar
World
Wide
Web
yang
digunakan
untuk
menghubungkan antara web server dengan halaman HTML browser dan mentransfer serta memproses file-file HTML.
2.1.24 Web Browser Menurut Pohan, Sidik (2001, p5), web browser adalah software yang digunakan untuk menampilkan informasi dari web server. Software ini kini telah dikembangkan dengan menggunakan user interface grafis, sehingga pemakai dapat melakukan ‘point and click’ untuk pindah antar dokumen. Berikut ini adalah cara kerja browser: •
Untuk mengambil page, browser mengambil sebuah web pages dari server dengan sebuah request. Sebuah page address terlihat seperti berikut: http://www.kita.web.id/page.htm.
•
Kemudian untuk menampilkan page, seluruh web page berisi instruksiinstruksi bagaimana untuk ditampilkan. Browser menampilkan page dengan membaca instruksi-instruksi ini. Instruksi yang paling umum untuk menampilkan disebut tag HTML.
2.1.25 Web Server Berdasarkan www.iptv.org/digital/dictionary_internet.cfm, web server adalah aplikasi client ataupun server yang digunakan untuk menyimpan dokumen-dokumen web dan menyajikan halaman web bagi penggunanya sesuai dengan permintaan url tertentu.
51 2.1.26 JavaServer Pages (JSP) JSP (JavaServer Pages) merupakan teknologi yang didasarkan pada bahasa Java, yang dapat digunakan untuk membentuk halaman web yang bersifat dinamis. Teknologi ini dikembangkan oleh Sun Microsystems. Berbeda dengan applet, suatu fitur pada bahasa Java yang memungkinkan pengembang membuat aplikasi web yang dieksekusi pada sisi klien, JSP menggunakan pendekatan pemrosesan di sisi server (web server). Salah satu keuntungan permodelan ini adalah memungkinkan untuk membuat aplikasi yang independen terhadap keberadaan sistem Java di sisi klien. Alasan penting yang membuat JSP banyak digunakan oleh para pengembang aplikasi web : 1. JSP menggunakan bahasa Java. Bagi para pemrogram yang telah mengenal Java, sangatlah mudah untuk membuat aplikasi web dengan JSP mengingat dasar JSP adalah bahasa Java. 2. JSP mendukung multiplatfom. Keunggulan dari adanya dukungan multiplatform adalah memungkinkan kode dapat dipindah-pindahkan ke berbagai platform tanpa perlu melakukan perubahan apapun pada kode tersebut. Sebagai contoh, kita bisa menulis kode JSP yang pada awalnya ditujukan untuk dijalankan pada lingkungan Windows, dan kemudian dipindahkan ke lingkungan lain, misalnya Linux.
2.1.27 Data Flow Diagram (DFD) Menurut Whitten (2004, p326), DFD merupakan model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem.
52 Ada beberapa kumpulan simbol untuk DFD. Penulis memilih menggunakan notasi atau simbol DeMarco dan Yourdon, sebagai berikut: a. Process Menyatakan suatu proses atau bagaimana tugas dikerjakan.
b. Data flow Data yang menjadi input atau output ke atau dari suatu proses.
c. Source atau sink Orang, unit organisasi, sistem, atau organisasi luar yang berinteraksi dengan sistem. Disebut juga agen eksternal atau entitas eksternal.
d. Data store Penyimpanan data yang ditujukan untuk penggunaan selanjutnya. Sinonimnya adalah file dan database
Di dalam DFD terdapat istilah balanced DFD dan unbalanced DFD. Balanced DFD berarti banyaknya input untuk level di bawahnya sama dengan banyaknya input untuk level yang lebih tinggi atau banyaknya output untuk level di bawahnya sama dengan banyaknya output untuk level yang lebih tinggi. Jika proses dari context diagram hanya memiliki satu input, sementara
53 input pada level-0 memiliki dua input, berarti terjadi unbalanced DFD, seperti pada gambar berikut:
Gambar 2.6 Unbalanced DFD
2.2 Teori-teori Khusus 2.2.1 Pengertian Sistem Informasi Sumber Daya Manusia Menurut Dessler (2003, p5), sistem informasi sumber daya manusia adalah
komponen-komponen
terkait
yang
bekerja
bersama
untuk
mengumpulkan, memproses, menyimpan, dan menyebarkan informasi untuk mendukung pengambilan keputusan, koordinasi, kontrol, analisis, dan penggambaran aktifitas manajemen sumber daya manusia pada perusahaan.
2.2.2 Manajemen Sumber Daya Manusia (MSDM) a. Pengertian Manajemen Sumber Daya Manusia (MSDM) Menurut Dessler (2003, p3), anajemen sumber daya manusia adalah proses mendapatkan, melatih, menilai, memberi balas jasa kepada pekerja,
54 dan terlibat ke dalam hubungan kerja mereka, kesehatan dan keamanan, dan masalah kebijakan dan keadilan. b. Peran Manajemen Sumber Daya Manusia (MSDM) Peran
MSDM
dalam
mengatur
dan
menetapkan
program
kepegawaian, salah satunya mencakup masalah menetapkan program kesejahteraan. Kesejahteraan yang diberikan sangat bermanfaat untuk memenuhi kebutuhan fisik dan mental karyawan beserta keluarganya. Pemberian kesejahteraan akan menciptakan ketenangan, semangat kerja, dedikasi, disiplin, dan sikap loyalitas karyawan terhadap perusahaan, sehingga labour turnover relatif rendah. Besarnya manfaat kesejahteraan karyawan akan mendorong manajer menetapkan program kesejahteraan karyawan yang disusun berdasarkan peraturan legal, berasaskan keadilan dan kelayakan dan berpedoman pada kemampuan perusahaan.
2.2.3 Pengertian Kesejahteraan Karyawan Menurut Drs. H. Malayu S.P Hasibuan (1997, p202), kesejahteraan karyawan adalah balas jasa pelengkap (material dan nonmaterial) yang diberikan berdasarkan kebijaksanaan, bertujuan untuk mempertahankan dan memperbaiki kondisi fisik dan mental karyawan, agar produktivitas kerjanya meningkat. Jenis-jenis kesejahteraan yang diberikan adalah finansial dan nonfinansial yang bersifat ekonomis, fasilitas, dan pelayanan. Berikut ini adalah tabel dari jenis-jenis kesejahteraan karyawan:
55 Tabel 2.1 Jenis-jenis kesejahteraan karyawan Ekonomis - Uang pensiun - Uang makan - Uang transport - Uang Lebaran atau Natal - Bonus atau gratifikasi - Uang duka kematian - Pakaian dinas - Uang pengobatan
Fasilitas - Mushala atau masjid - Kafetaria - Olahraga - Kesenian - Pendidikan atau seminar - Cuti dan cuti hamil - Koperasi dan took - Izin
Pelayanan - Puskesmas atau dokter - Jemputan karyawan - Penitipan bayi - Bantuan hukum - Penasihat keuangan - Asuransi atau Astek - Kredit rumah
(Sumber: Drs. H. Malayu S.P Hasibuan (1997, p203). Manajemen Sumber Daya Manusia: Dasar dan Kunci Keberhasilan) Dari tabel di atas, yang termasuk ke dalam lingkup pembahasan sistem pengobatan adalah uang pengobatan dan puskesmas atau dokter, sedangkan untuk sistem perjalanan dinas adalah uang makan dan uang transport.
2.2.4 Pengertian Sistem Pengobatan Menurut McLeod, Jr (1996, p11), sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Menurut Kamus Besar Bahasa Indonesia (2002), pengobatan adalah proses, perbuatan, atau cara mengobati. Jadi, sistem pengobatan adalah sekelompok elemen yang terintegrasi dalam hal pengobatan untuk mencapai suatu tujuan.
2.2.5 Pengertian Sistem Perjalanan Dinas Menurut Kamus Besar Bahasa Indonesia (2002), perjalanan adalah kepergian (perihal bepergian) dari suatu tempat ke tempat lain, dan dinas
56 adalah bertugas atau bekerja. Jadi, perjalanan dinas adalah kepergian dari suatu tempat ke tempat lain dalam masa bertugas atau bekerja. Sistem perjalanan dinas pada PT Iforte Solusi Infotek dikenal dengan istilah Biaya Perjalanan Dinas (BPD). Menurut Surat Keputusan Direksi tahun 2005 PT Iforte Solusi Infotek, perjalanan dinas adalah suatu perjalanan yang dilakukan oleh karyawan ke suatu tempat di luar tempat kerja sehari-hari atau rutin untuk melakukan tugas-tugas yang mempunyai ikatan langsung dengan kegiatan perusahaan, yang dilakukan baik di dalam negeri maupun di luar negeri dan setelah mendapatkan izin dari Kepala Divisi, Kepala Unit, Kepala Departemen, atau Direksi khususnya untuk perjalanan dinas ke luar negeri.
2.2.6 Pengertian Detasering Menurut Kamus Besar Bahasa Indonesia (2002), detasering (detasiring) adalah penempatan pegawai untuk bertugas di suatu tempat dalam jangka waktu tertentu. Di dalam PT Iforte Solusi Infotek, istilah detasering dikenal dengan istilah “detasiring”.