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.
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
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
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 batasan-batasan (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
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
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
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.
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
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 instruksi-instruksi 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
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
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.
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)
• 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
• 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
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.
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.
Staf melayani Konsumen (Entiti) (tipe relasi) (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.
Joe Lila Rika R1 R2 A B Joe Lila Rika R1 R2 R3 Free Res Sul
3. Relasi Many-to-Many (* : *)
Relasi dimana setiap entiti dapat mempunyai lebih dari satu relasi dengan entiti lainnya.
Koran mengiklankan Rumah (Entiti) (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.
Kompas Tempo Media R1 R2 R3 R4 P1 P2 P3
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:
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:
• 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
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.
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.
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.
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.
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 data-nya. 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
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
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.
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
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:
• Memeriksa ulang relasi one-to-one.
• Menghilangkan relasi yang terduplikasi (redundant). 1.8 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:
• Mendeskripsikan transaksi. • Menggunakan jalur transaksi.
1.9 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
dokumentasi-dokumentasi 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.
• Menghilangkan relasi binary many-to-many (* : *) • Menghilangkan relasi rekursif many-to-many (* : *) • Menghilangkan tipe relasi yang kompleks
• Menghilangkan atribut multi-valued 2.2 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:
• 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 2.3 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.
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).
• Enterprise constraint (batasan pada organisasi). 2.6 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.
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
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
• Chasters
5.3 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,
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
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
two-dimensional 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
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/me-o/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.
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.
• 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.
• 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.
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.
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 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
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 instruksi-instruksi 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
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
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
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)
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:
Tabel 2.1 Jenis-jenis kesejahteraan karyawan
Ekonomis Fasilitas Pelayanan
- Uang pensiun - Mushala atau masjid - Puskesmas atau dokter - Uang makan - Kafetaria - Jemputan karyawan - Uang transport - Olahraga - Penitipan bayi - Uang Lebaran atau Natal - Kesenian - Bantuan hukum - Bonus atau gratifikasi - Pendidikan atau seminar - Penasihat keuangan - Uang duka kematian - Cuti dan cuti hamil - Asuransi atau Astek - Pakaian dinas - Koperasi dan took - Kredit rumah
- Uang pengobatan - Izin
(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
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”.