BAB 2 LANDASAN TEORI
2.1
Teori – teori Dasar / Umum 2.1.1
Pengertian Sistem Menurut Connolly dan Begg (2005, p283), sistem adalah suatu cara untuk mengumpulkan, mengatur, mengendalikan, dan menyebarkan informasi ke seluruh organisasi. Menurut O’Brien (2003, p8), sistem adalah kumpulan elemen yang saling terhubung atau berinteraksi membentuk suatu kesatuan atau sekumpulan komponen yang saling terhubung dan bekerja sama untuk mencapai sasaran dengan menerima input dan menghasilkan output dalam sebuah proses transformasi yang terorganisir. Jadi, sistem adalah kumpulan dari semua elemen yang saling berinteraksi, saling mendukung dan bekerja sama untuk mencapai suatu tujuan tertentu.
2.1.2
Pengertian Data, Informasi dan Sistem Informasi Menurut O’Brien (2003, p13), data adalah fakta – fakta atau observasi yang mentah, biasanya mengenai kejadian atau transaksi bisnis. Menurut Elmasri (2000, p4), data adalah fakta – fakta yang dapat 7
8
disimpan dan memiliki pengertian yang implisit. Jadi, data adalah sesuatu yang masih bersifat mentah mengenai suatu kejadian dan memiliki pengertian yang implisit. Menurut Turban, Rainer, dan Potter (2003, p15), informasi adalah kumpulan fakta (data) yang disusun dalam beberapa cara sehingga kumpulan fakta tersebut bisa berarti bagi penerimanya. Sedangkan sistem informasi adalah sebuah sistem yang mengumpulkan, mengolah, menyimpan, menganalisa, dan menyebarkan informasi untuk sebuah tujuan tertentu. 2.1.3
Pengertian Database Menurut C.J Date (2000, p5), database adalah suatu sistem yang pada dasarnya menyimpan record di dalam suatu sistem yang dilakukan secara terkomputerisasi yang tujuannya secara keseluruhan adalah untuk memelihara informasi dan untuk membuat informasi tersebut tersedia berdasarkan permintaan. Menurut O’Brien (2003, p145), database adalah sebuah kumpulan data yang terintegrasi dari elemen data yang terhubung secara logikal. Elemen data mendeskripsikan entitas – entitas dan hubungan antara entitas – entitas. Menurut Connolly dan Beg (2005, p15), database adalah sekumpulan data yang berhubungan secara logikal dan deskripsi mengenai data itu sendiri yang dirancang untuk memenuhi kebutuhan informasi organisasi.
9
Jadi, database adalah sebuah tempat penyimpanan data tunggal yang memiliki kapasitas besar yang dapat digunakan secara simultan oleh banyak departemen dan pengguna. Database tidak hanya dimiliki oleh sebuah departemen tetapi menjadi sebuah sumber bersama perusahaan. Database menyimpan tidak hanya data operasional organisasi tetapi juga deskripsi dari data. Oleh karena itu, database juga disebut sebagai a selfdescribing collection of integrated records. Deskripsi data tersebut dikenal sebagai system catalog (atau kamus data atau metadata – ‘data mengenai data’). Hal tersebut merupakan sifat dasar database yang menyediakan program-data independence. 2.1.4
Database Management System (DBMS) Menurut Connolly dan Begg (2005, p16), DBMS adalah suatu sistem perangkat lunak yang memungkinkan user untuk mendefinisikan (define), membuat (create), memelihara basis data dan menyediakan kendali dalam mengakses database. Menurut Date (1990, p42), DBMS adalah perangkat lunak yang mengatur semua akses menuju database. Jadi, DBMS adalah suatu sistem perangkat lunak yang mampu melakukan semua fungsi – fungsi yang diperlukan untuk mengakses database.
2.1.5
Database Application LifeCycle (Siklus Hidup Aplikasi Basisdata) Sistem database merupakan sebuah komponen dasar dari sistem informasi organisasi besar, Database Application LifeCycle (Siklus
10
Hidup Aplikasi Basisdata) sering dihubungkan dengan lifecycle dari sistem informasi. Penting untuk mengetahui tahapan – tahapan dari Database Application LifeCycle (Siklus Hidup Aplikasi Database) yang tidak secara sempurna berurutan, tetapi meliputi sejumlah repetisi / pengulangan dari tahap – tahap sebelumnya melalui putaran balik (feedback loops). Untuk aplikasi database yang kecil, dengan jumlah pengguna yang sedikit, lifecycle yang dibutuhkan tidak terlalu kompleks. Bagaimanapun, ketika mendesain aplikasi database medium ke aplikasi database yang besar dengan sepuluh sampai ribuan pengguna, menggunakan ratusan query dan program aplikasi, lifecycle dapat menjadi sangat kompleks (Connolly dan Begg, 2002, p271). Tahapan – tahapan tersebut terlihat pada gambar 2.1.
11
Gambar 2.1 Siklus Hidup Aplikasi Database
12
2.1.5.1
Database Planning (Perencanaan Basisdata) Database planning merupakan aktifitas yang berupa tahapan – tahapan di dalam aplikasi database agar dapat di realisasikan se-efisien dan se-efektif mungkin. Tahapan yang paling
penting
pada
Database
Planning
adalah
untuk
mendefinisikan mission statement serta meng-identifikasi mission objective pada proyek database yang ada (Connolly dan Begg, 2002, p274). -
Mission statement menjelaskan tujuan utama dari aplikasi database. Mission statement juga membantu menjelaskan tujuan dari proyek database dan juga menyediakan jalur yang lebih jelas dalam pembuatan aplikasi database yang lebih efisien dan efektif (Connolly dan Begg, 2002, p274).
-
Mission objective menjelaskan suatu tugas tertentu yang mana harus didukung oleh database. Dengan asumsi jika database mendukung mission objective maka mission statement-nya juga akan sesuai (Connolly dan Begg, 2002, p274).
2.1.5.2
System Definition (Definisi Sistem) System Definition mendeskripsikan ruang lingkup dan batasan – batasan dari aplikasi database serta pandangan utama dari pengguna (userview) (Connolly dan Begg, 2002, p274).
13
User view mendefinisikan kebutuhan aplikasi database dari sisi peranan jabatan tertentu (seperti Manager atau Supervisor) atau aplikasi kantor – kantor pemerintahan untuk bidang tertentu (Connolly dan Begg, 2002, p275). 2.1.5.3
Requirements Collection and Analysis Requirements collection and analysis merupakan suatu proses mengumpulkan dan menganalisa informasi mengenai bagian dari organisasi yang didukung dengan aplikasi database, dan menggunakan informasi ini untuk mengidentifikasi kebutuhan user dari sistem yang baru (Connolly dan Begg, 2002, p276). Terdapat beberapa cara dalam mengumpulkan informasi – informasi tersebut, disebut juga fact-finding techniques. Fact – finding techniques adalah proses formal dalam menggunakan teknik
tertentu,
seperti
wawancara
dan
kuisioner
untuk
mengumpulkan fakta mengenai sistem serta kebutuhan – kebutuhannya (Connolly dan Begg, 2002, p302). Ada 5 macam teknik yang biasa digunakan di dalam Fact-finding techniques yaitu :
14
1.
Memeriksa berkas – berkas atau dokumen – dokumen yang telah ada Memahami jalannya sistem yang ada diperusahaan saat ini akan sangat membantu dalam pengembangan analisis yang dibutuhkan oleh database
perusahaan
tersebut.
Dengan
cara
memeriksa berkas – berkas, dokumen – dokumen, laporan – laporan dan file – file yang berhubungan dengan sistem yang sedang berjalan (Connolly dan Begg, 2002, p305). 2.
Wawancara Teknik wawancara dapat mengumpulkan informasi seperti pengumpulan fakta – fakta yang ada, memeriksa fakta, mengklarifikasi fakta, membangkitkan semangat, melibatkan pengguna akhir, mengidentifikasi kebutuhan – kebutuhan, dan mengumpulkan ide – ide dan pendapat (Connolly dan Begg, 2002, p306).
3.
Pengamatan pada sistem yang sedang berjalan Melakukan pengamatan pada sistem yang sedang berjalan merupakan salah satu dari
15
beberapa fact-finding techniques yang cukup efektif. Teknik ini sangat berguna pada saat pemeriksaan kelengkapan data yang dikumpulkan melalui metode lain dalam bentuk pertanyaan ataupun dapat digunakan untuk pencegahan apabila terdapat penjelasan yang kurang dipahami. 4.
Penelitian Peneletian
merupakan
Fact-finding
techniques yang sangat berguna, yaitu dengan melakukan
penelitian
terhadap
aplikasi
dan
masalah yang ada. Jurnal komputer, buku – buku referensi dan internet merupakan sumber informasi yang cukup baik (Connoly dan Begg, 2002, p307). 5.
Kuesioner Teknik terakhir di dalam fact-finding techniques adalah dengan cara menggunakan survei
berupa
dokumen
kuesioner.
dengan
tujuan
Kuesioner
adalah
khusus
yang
memungkinkan fakta – fakta terkumpul dari orang banyak sambil menjaga kontrol dari tanggapan yang diberikan (Connolly dan Begg, 2002, p307).
16
Informasi – informasi tersebut kemudian akan dianalisa untuk mengidentifikasi kebutuhan – kebutuhan atau fitur – fitur yang akan dimasukkan ke aplikasi database. Kebutuhan kebutuhan ini dideskripsikan dalam dokumen, yang disebut requirements specification. Tahap ini merupakan tahap awal sebelum masuk ke tahap database design (perancangan database). Banyaknya data yang dikumpulkan tergantung dari masalah kantor itu sendiri. Data yang dikumpulkan pada tahap ini mungkin masih belum terstruktur dan terdapat permintaan - permintaan lainnya, sehingga harus dikonversi menjadi data - data yang lebih terstruktur. requirements
Hal
ini
bisa
specification
dicapai techniques,
dengan seperti
menggunakan Data
Flow
Diagram (DFD). Hal Penting lainnya pada tahap ini adalah bagaimana mengatasi situasi dimana terdapat lebih dari satu user view yang menggunakan aplikasi database. Beberapa pendekatan untuk mengatasi masalah tersebut antara lain : •
Centralized Approach Kebutuhan untuk setiap user view digabungkan menjadi satu untuk aplikasi database yang baru.
17
•
View Integration Approach Kebutuhan untuk setiap user view digunakan untuk membuat model data yang terpisah untuk mewakilkan user view tersebut.
•
Gabungan dari keduanya 2.1.5.4
Database Design (Desain Basisdata) Database Design adalah proses dalam membuat rancangan database yang akan mendukung kegiatan dan tujuan-tujuan perusahaan (Connolly dan Begg, 2002, p279). Pada Tahap ini terdapat tiga tahap, yaitu perancangan konseptual, logikal, dan fisikal. Ada dua pendekatan utama dalam merancang database, yaitu bottom-up dan top-Down. Pendekatan bottom-up cocok untuk merancang database yang sederhana, dengan jumlah atribut yang kecil. Sedangkan pendekatan top-down merupakan strategi yang cocok digunakan untuk merancang database yang kompleks.
2.1.5.5
DBMS Selection (Seleksi DBMS) DBMS Selection merupakan pemilihan DBMS yang sesuai untuk mendukung aplikasi database (Connoly dan Begg, 2002, p284).
18
Pemilihan DBMS yang tepat untuk mendukung aplikasi database dapat dilakukan kapanpun sebelum menuju desain logikal asalkan terdapat cukup informasi mengenai kebutuhan sistem. Tahap-tahap utama memilih DBMS : o Mendefenisikan terminologi studi referensi Terminologi referensi untuk pemilihan DBMS dibuat, menentukan tujuan dan ruang lingkup studi, dan tugas yang perlu diambil alih. Data tersebut juga termasuk deskripsi dari kriteria (berdasarkan spesifikasi permintaan pengguna) untuk digunakan dalam mengevaluasi produk DBMS. o Mendaftarkan dua atau tiga produk DBMS yang ada Kriteria dalam pemilihan DBMS sangat dipertimbangkan sebagai suatu yang ‘kritis’ untuk mencapai implementasi yang sukses, yang bisa digunakan untuk menghasilkan sebuah daftar pendahuluan dari produk – produk DBMS untuk di evaluasi. o Evaluasi produk Fitur-fitur yang digunakan dalam evaluasi produk-produk DBMS dikelompokkan menjadi defenisi data, defenisi fisik, kemampuan
akses,
penanganan
pengembangan, dan fitur-fitur lainnya.
keperluan-keperluan,
19
o Rekomendasi pilihan dan laporan produk Langkah
terakhir
dari
pemilihan
DBMS
adalah
mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomendasi atas produk DBMS tertentu. 2.1.5.6 Application Design (Desain Aplikasi) Application design merupakan Design user interface dan program aplikasi yang akan digunakan dan memproses database. Design Database dan aplikasi merupakan aktifitas paralel yang meliputi dua aktifitas penting, yaitu : o Transaction Design Transaksi adalah suatu aksi atau serangkaian aksi yang dilakukan oleh user tunggal atau program aplikasi yang mengakses atau mengubah isi dari database. Kegunaan dari desain transaksi adalah untuk menetapkan dan keterangan karakteristik high level dari suatu transaksi yang dibutuhkan pada database, diantaranya :
Data yang akan digunakan oleh transaksi
Karakteristik fungsional dari suatu transaksi
Output transaksi
Keuntungan bagi user
20
Tingkat kegunaan yang diharapkan Terdapat tiga tipe transaksi yaitu :
Retrieval Transaction Digunakan untuk pemanggilan (Retrieve) data untuk ditampilkan di layar atau menghasilkan suatu laporan.
Update Transaction Digunakan
untuk
menambah
record
baru,
menghapus record lama, atau memodifikasi record yang sudah ada didalam database.
Mixed Transaction Meliputi pemanggilan dan perubahan data.
o User Interface Design Beberapa aturan pokok dalam pembuatan user interface : • Meaningful Title • Comprehensible Instruction • Logical Grouping • Visually Appealing Layout of the Form/Report
21
• Consistent Use of Colors • Visible Space and Boundaries for data entry fields • Convenient cursor movement • Error correction for individual characters and entire fields • Error message for unacceptable values • Optional fields marked clearly • Explanatory messages for fields • Completion signal 2.1.5.7
Prototyping (Bentuk Dasar) Prototyping adalah membuat model kerja suatu aplikasi database. Sebuah prototyping merupakan sebuah model kerja yang tidak normal mempunyai semua yang mencakup bagianbagian atau melengkapi semua fungsinya terhadap sistem akhir (Connolly dan Begg, 2002, p291). Tujuan utama dari pembuatan prototyping adalah : •
Untuk mengidentifikasikan feature dari sistem yang berjalan dengan baik atau tidak
22
•
Untuk memberikan perbaikan atau penambahan fitur baru
•
Untuk klarifikasi kebutuhan user
•
Untuk evaluasi feasibilities (kemungkinan yang akan
terjadi)
dari
desain sistem khusus. Terdapat dua macam strategi prototyping yang digunakan saat ini, yaitu : •
Requirements Prototyping Menggunakan
prototype
untuk
menentukan
kebutuhan dari aplikasi database yang diinginkan dan ketika kebutuhan itu terpenuhi maka prototype akan dibuang. •
Evolutionary Prototyping Digunakan untuk tujuan yang sama. Perbedaannya, prototype
tidak
dibuang
tetapi
dengan
pengembangan lanjutan menjadi aplikasi database yang digunakan.
23
2.1.5.8
Implementation (Implementasi) Implementation merupakan realisasi fisik dari database dan desain aplikasi (Connolly dan Begg, 2002, p292). Implementasi database dicapai dengan menggunakan : •
DDL (Data Defenition Language) untuk membuat skema database dan dokumen basisdata kosong.
•
3GL dan 4GL untuk membuat program aplikasi. Termasuk transaksi database disertakan dengan menggunakan DML (Data Manipulation Language), atau ditambahkan pada bahasa pemograman.
2.1.5.9 Data Conversion and Loading (Perubahan dan Pengambilan Data) Data Conversion and Loading adalah pemindahan data yang ada kedalam database baru dan mengkonversikan aplikasi yang ada agar dapat digunakan pada database yang baru (Connolly dan Begg, 2002, p292). Tahapan ini dibutuhkan ketika sistem database baru menggantikan sistem yang lama. DBMS biasanya memiliki utilitas yang memanggil ulang file yang sudah ada kedalam database baru. Dapat juga mengkonversi dan menggunakan program aplikasi dari sistem yang lama untuk digunakan oleh sistem yang baru.
24
2.1.5.10 Testing (Pengujian) Testing adalah suatu proses eksekusi program aplikasi dengan tujuan untuk menemukan kesalahan (Connolly dan Begg, 2002, p293). Dengan menggunakan strategi tes yang direncanakan dan data yang sesungguhnya. 2.1.5.11 Operational Maintenance (Perawatan Operasional) Operational maintenance adalah suatu proses pengawasan dan pemeliharaan sistem setelah instalasi (Connolly dan Begg, 2002, p293). Meliputi aktivitas : -
Pengawasan menurun
performa
maka
sistem,
memerlukan
jika
performa
perbaikan
atau
pengaturan ulang database. -
Pemeliharaan dan pembaharuan aplikasi database (jika dibutuhkan).
-
Penggabungan kebutuhan baru ke dalam aplikasi database.
2.1.6
Perancangan Database Perancangan database adalah suatu proses dalam membuat rancangan database yang mendukung kegiatan dan tujuan – tujuan
25
perusahaan (Connolly dan Begg, 2002, p279). Terdapat tiga tahap dalam tahap ini, yaitu perancangan konseptual, logikal, dan fisikal. Dua pendekatan utama dalam merancang database yaitu top-down dan bottom-up. Pendekatan top-down merupakan strategi yang tepat digunakan dalam merancang database yang kompleks. Sedangkan pendekatan bottom-up tepat untuk merancang database yang sederhana dan dalam jumlah atribut yang kecil. 2.1.6.1
Perancangan Konseptual Perancangan Konseptual adalah suatu proses dalam membuat sebuah model informasi yang digunakan pada sebuah perusahaan,
dan
terlepas
dari
semua
pertimbangan
–
pertimbangan fisik perusahaan tersebut (Connolly dan Begg, 2002, p419). Tujuan dari perancangan konseptual adalah untuk membangun
representasi
konseptual
dari
database,
yang
didalamnya termasuk identifikasi dari entity yang terpenting, relationship dan attribute (Connolly dan Begg, 2002, p417). Langkah – langkah dalam pembuatan perancangan konseptual database adalah sebagai berikut :
26
o Langkah 1
Membangun Local Conceptual Data Model
untuk setiap pandangan user 1. Identifikasi tipe entity Dengan mengidentifikasi kata benda pada requirements specification (spesifikasi kebutuhan pengguna) suatu entity dapat dikenali. 2. Identifikasi tipe relationship Dengan mencari kata kerja tipe relationship dapat diidentifikasikan. Tujuan dari identifikasi tipe relationship adalah menentukan relasi antar entity yang telah diidentifikasi sebelumnya. 3. Mengidentifikasikan
dan
menghubungkan
attribute
dengan entity dan tipe relationship Tujuannya adalah menghubungkan attribute dengan entity atau tipe relasi yang sesuai. Karakteristik yang harus dimiliki oleh setiap entity dan relationship yaitu simple/composite attributes, single/multi-valued attributes dan derive attributes. 4. Menentukan domain attribute
27
Dalam menentukan domain attribute dalam model data lokal konseptual adalah tujuannya. Domain adalah sekumpulan nilai yang di dalamnya terdapat satu atau lebih attribute (Connolly dan Begg, 2002, p430). 5. Menentukan candidate dan primary key dari suatu attribute Tujuannya adalah untuk mengidentifikasi candidate key untuk setiap tipe entity, apabila terdapat lebih dari satu candidate key untuk dipilih menjadi primary key. Untuk memilih primary key diantara candidate key, terdapat
beberapa
panduan
yang
dapat
digunakan
(Connolly dan Begg, 2002, p431), yaitu : •
Candidate key dengan sekumpulan attribute yang minimal
•
Candidate key yang nilainya tidak berubah
•
Candidate key dengan karakter – karakter yang paling sedikit (untuk textual attributes)
•
Candidate key dengan nilai maksimum yang paling sedikit (untuk numerical attributes)
28
•
Candidate key yang paling mudah digunakan dari sisi user
6. Mempertimbangkan
penggunaan
enhanced
modeling
concept (optional) Tujuannya adalah untuk mempertimbangkan penggunaan konsep
enhanced
modeling,
seperti
spesialisasi,
generalisasi, agregasi dan komposisi. Spesialisasi merupakan proses memaksimalkan perbedaan – perbedaan antar anggota dari sebuah entity dengan cara mengidentifikasikan
karakteristik
yang
membedakan
entity tersebut (Connolly dan Begg, 2002, p362). Generalisasi merupakan proses meminimalkan perbedaan – perbedaan antar entity dengan mengidentifikasikan karakteristik umum entity (Connolly dan Begg, 2002, p363). Agregasi menggambarkan hubungan ‘mempunyai’ atau ‘merupakan bagian-dari’ antara tipe – tipe entity dimana yang satunya mewakili ‘whole’ (seluruhnya) dan satunya lagi mewakili ‘part’ (bagian) (Connolly dan Begg, 2002, p371).
29
Komposisi merupakan bentuk spesifik dari agregasi yang menggambarkan sebuah hubungan antar entities, dimana terdapat kepemilikan yang kuat dan waktu hidup yang sama antara ‘whole’ dan ‘part’ (Connolly dan Begg, 2002, p372). 7. Memeriksa model dari redundancy Tujuannya adalah untuk memeriksa adannya redundansi (pengulangan) dalam model. Model data konseptual lokal akan
diperiksa,
dengan
tujuan
mengidentifikasi
apakah
terdapat
spesifiknya redundansi
adalah dan
menghilangkannya jika ada. Aktifitas pada tahap ini adalah memeriksa kembali one-to-one relationships dan menghilangkan redundansi. 8. Memvalidasi local conceptual model dengan transaksi pengguna Tujuannya adalah untuk meyakinkan bahwa model konseptual lokal mendukung transaksi yang dibutuhkan oleh view.
30
9. Meninjau kembali local conceptual data model bersama pengguna Tahap ini dilakukan untuk meyakinkan bahwa model data konseptual yang telah dibuat merupakan representasi yang sebenarnya dari view. 2.1.6.2 Perancangan Logikal Logikal database design adalah suatu proses membangun sebuah model dari informasi yang digunakan di perusahaan berdasarkan sebuah model data spesifik, tapi terlepas dari DBMS dan pertimbangan fisik lain (Connolly dan Begg, 2002, p441). o Langkah 2 Membangun dan validasi Local Logical Data Model untuk setiap pengguna 1. Menghilangkan fitur – fitur yang tidak cocok dengan model relasional (optional) Tujuan dari langkah ini adalah untuk menghilangkan many to many (*:*) binary relationship types, menghilangkan many to many (*:*) recursive relationships types, menghilangkan
complex
relationship
menghilangkan multivalued attributes.
types,
dan
31
2. Menghasilkan relasi – relasi untuk local logical data model Tujuannya adalah menciptakan relasi – relasi untuk local logical data model untuk mempresentasikan entity – entity, relationship – relationship dan atribut – atribut yang telah diidentifikasikan. 3. Validasi dengan menggunakan normalisasi Normalisasi adalah suatu teknik untuk menghasilkan himpunan
relasi
dengan
properti
yang
diinginkan
berdasarkan kebutuhan – kebutuhan data suatu organisasi (Connolly dan Begg, 2002, p376). Proses normalisasi dimulai dengan memindahkan data sumber ke bentuk tabel dengan format baris dan kolom. Tabel ini berbentuk tidak normal dan disebut dengan unnormalized table (Connolly dan Begg, 2002, p388). Unnormalized form (UNF) adalah suatu tabel yang terdiri dari satu atau lebih kelompok yang berulang (repeating group) (Connolly dan Begg, 2002, p387). Repeating group adalah sebuah atribut atau himpunan atribut di dalam tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut (Connolly dan
32
begg, 2002, p388). Tingkatan normalisasi terdiri dari tiga tahap yaitu : 1) First Normal Form (1NF) Suatu relasi dikatakan 1NF jika titik temu tiap baris dan kolom pada relasi tersebut mengandung satu dan hanya satu nilai (Connolly dan Begg, 2002, p388). Sebuah relasi akan berada dalam bentuk 1NF jika repeating groupnya sudah hilang. Ada dua pendekatan untuk menghilangkan repeating group pada tabel yang tidak normal, yaitu : •
Dengan memasukkan data yang sesuai ke dalam kolom yang kosong dari baris yang mengandung data berulang.
•
Dengan menempatkan data yang berulang bersama salinan atribut kunci pada relasi yang terpisah. Sebuah primary key diidentifikasikan ke dalam relasi yang baru.
2) Second Normal Form (2NF) Relasi dikatakan 2NF jika relasi tersebut berada pada 1NF dan setiap atribut yang bukan primary key
33
bergantung penuh (fully functionally dependent) terhadap primary key (Connolly dan Begg, 2002, p392). Fully functionally dependency terjadi jika A dan B merupakan atribut dari suatu relasi, dan B dikatakan bergantung penuh terhadap A (A Æ B), jika B bergantung terhadap A, namun bukan subset dari A (Connolly dan Begg, 2002, p391). Untuk menghasilkan relasi dalam bentuk 2NF melibatkan penghilangan ketergantungan sebagian (partial dependency) dan menempatkannya pada relasi yang
baru
bersama
salinan
atribut
penentunya
(determinant attribute). 3) Third Normal Form(3NF) Suatu relasi dikatakan 3NF jika relasi tersebut berada dalam bentuk 1NF dan 2NF, dan tidak ada atribut bukan primary key bergantung secara transitif (transitively
dependent)
terhadap
primary
key
(Connolly dan Begg, 2002, p394). Transitive dependency ialah sebuah kondisi dimana A, B dan C merupakan atribut dari relasi yang
34
jika A→B dan B→C maka C disebut bergantung secara transitif (transitively dependent) terhadap A melalui B (A tidak functionally dependent terhadap B atau C) (Connolly dan Begg, 2002, p394). 4. Validasi relasi dengan transaksi user Tujuan pada tahap ini adalah untuk meyakinkan bahwa model data logikal mendukung transaksi yang diperlukan oleh view. 5. Menetapkan integrity constraint Batasan integrity merupakan batasan yang digunakan untuk melindungi basisdata dari keadaan yang tidak konsisten. Ada lima jenis batasan integrity (Connolly dan Begg, 2002 ,p457), yaitu: •
Required Data (data yang diminta) Beberapa attribute harus memiliki nilai yang valid, dengan kata lain tidak diperbolehkan memiliki nilai null (kosong) (Connolly dan Begg, 2002, p457).
35
•
Attribute Domain Constraints Setiap attribute
memiliki domain, yaitu
sekumpulan nilai yang diperbolehkan (legal) (Connolly dan Begg, 2002, p457). •
Entity Integrity Primary key pada entity tidak boleh berupa nulls (kosong) (Connolly dan Begg, 2002, p458).
•
Referential integrity Referential integrity berarti, apabila foreign key memiliki nilai, maka nilai tersebut harus sudah berada dalam hubungan dengan induk (parent relation) (Connolly dan Begg, 2002, p457).
•
Enterprise Constraints Kegiatan update entity dapat dibatasi oleh peraturan pemerintah atau organisasi yang mengatur transaksi yang direpresentasikan oleh update yang dilakukan tersebut.
36
6. Meninjau kembali local logical data model bersama pengguna Tujuan dari tahap ini adalah untuk memastikan local logical data model telah lengkap dan di dokumentasikan. o Langkah 3 Membangun dan validasi Global Logical Data Model 1. Menggabungkan beberapa local logical data model menjadi global model Pada tahap ini, ada beberapa langkah yang harus dilakukan antara lain (Connolly dan Begg, 2002, p463) : 1. Melihat kembali nama dan isi dari entity/ relations dan candidate key yang ada. 2. Melihat kembali nama dan isi dari relationship / foreign key. 3. Menggabungkan beberapa entity /relation yang ada pada local data model. 4. Memasukkan (tanpa menggabungkan) entity / relation yang unik ke setiap local data model.
37
5. Menggabungkan beberapa relationship/foreign key yang ada pada local data model. 6. Memasukkan
(tanpa
menggabungkan)
relationship / foreign key yang unik ke setiap local data model. 7. Memeriksa
untuk
entity
/
relation
dan
relationship/foreign key yang lepas (tertinggal). 8. Memeriksa foreign key. 9. Memeriksa integrity constraint. 10. Menggambar ER/relation diagram global. 11. Update dokumentasi. 2. Validasi global logical data model Tujuan pada tahap ini adalah untuk melakukan validasi terhadap relation yang dibuat dari global logical data model dengan menggunakan teknik normalisasi dan untuk meyakinkan bahwa model tersebut mendukung kebutuhan dari transaksitransaksi yang ada.
38
3. Memeriksa perkembangan di masa yang akan datang. Tujuan dari tahap ini adalah untuk menentukan adanya perubahan pada waktu mendatang dan memperkirakan global logical data model tersebut dapat menyesuaikan dengan perubahan tersebut. 4. Meninjau kembali global logical data model dengan pengguna Tujuan dari tahap ini adalah untuk meyakinkan bahwa global logical data model tersebut adalah representasi yang benar untuk organisasi yang membutuhkan. 2.1.6.3 Perancangan Fisikal Physical
Database
Design
adalah
suatu
proses
untuk
menghasilkan gambaran dari implementasi suatu database pada tempat penyimpanan
secondary,
juga
menggambarkan
base
relation,
pengaturan data, dan indeks yang digunakan untuk pencapaian akses data yang efisien, dan hubungan integrity constraint dan tingkat keamanan (Connolly dan Begg, 2002, p478).
39
o Langkah 4 Menterjemahkan Global Logical Data Model untuk target DBMS Tujuan dari tahap ini adalah untuk menghasilkan sebuah relational database schema dari global logical data model yang dapat di implementasikan ke dalam target dari DBMS (Connolly dan Begg, 2002, p479). Tiga kegiatan yang dilakukan pada tahap ini yaitu : a. Merancang base relations Tujuan dari tahap ini adalah untuk memutuskan bagaimana cara untuk mewakilkan base relation yang teridentifikasi di dalam global logical data model ke dalam target DBMS. b. Merancang reprensentasi dari derive data Tujuan dari tahap ini adalah untuk memutuskan bagaimana menggambarkan data turunan di dalam model data logikal global pada target DBMS. c. Merancang batasan perusahaan Tujuan dari tahap ini adalah untuk merancang batasan-batasan perusahaan untuk target DBMS.
40
o Langkah 5 Merancang Representasi Fisikal Tujuannya adalah untuk memeriksa organisasi file yang optimal untuk menyimpan base relations dan indexnya yang diperlukan untuk mencapai performa yang diinginkan, yaitu cara relasi dan tuples disimpan pada secondary storage (Connolly dan Begg, 2002, p484). Faktor-faktor yang mengukur efisiensi
penyimpanan
data yaitu: •
Transaction throughput Transaction throughput adalah jumlah transaksi yang dapat diproses pada rentang waktu yang diberikan (Connolly dan Begg, 2002, p484).
•
Response time Response time adalah waktu yang diperlukan untuk menyelesaikan sebuah transaksi (Connolly dan Begg, 2002, p484).
•
Disk storage Disk storage adalah besarnya ukuran penyimpanan untuk menyimpan database (Connolly dan Begg, 2002, p484).
41
Untuk meningkatkan kinerja, perancang basisdata fisik harus memperhatikan bagaimana cara interaksi keempat dasar perangkat keras karena
berpengaruh
terhadap
kinerja
sistem
(Connolly dan Begg, 2002, p485). Komponenkomponen tersebut yaitu: •
Main memory Akses main memory lebih cepat dibandingkan dengan akses secondary storage, terkadang puluhan atau ratusan bahkan ribuan kali lebih cepat. Pada umumnya, semakin banyak main memory dipakai untuk DBMS dan aplikasi basisdata, aplikasi akan berjalan semakin cepat.
•
CPU (Central Processing Unit) CPU mengontrol perintah-perintah dari sumber daya sistem lain dan mengeksekusi proses yang diminta oleh user. Komponen ini harus dijaga agar tidak terjadi bottleneck.
•
Disk I/O Dengan DBMS yang besar, berarti disk I/O terlibat dalam penyimpanan dan pengembalian
42
data. Penyimpanan harus didistribusikan secara merata ke semua drive yang ada untuk mengurangi masalah pada kerja sistem. Prinsip dasar dalam pendistribusian data yaitu : o File sistem operasi harus dipisahkan dari file database o File utama database harus dipisahkan dari file indeks o File log recovery harus dipisahkan dari database yang sedang tidak digunakan. •
Network Ketika jumlah lalu – lintas data menjadi besar, atau ketika jumlah tabrakan di dalam jaringan menjadi besar, akan terjadi bottleneck di dalam jaringan. Kegiatan yang harus dilakukan pada tahap representasi perancangan fisikal yaitu : o Analisis transaksi Tujuan
dari
tahap
ini
adalah
untuk
memahami fungsi dari transaksi yang sedang berjalan dan untuk menganalisa
43
transaksi – transaksi yang penting. Dalam menganalisa transaksi – transaksi, kriteria kinerja yang harus diidentifikasikan yaitu :
Transaksi yang sering dijalankan dan yang memiliki dampak yang signifikan terhadap kinerja
Transaksi
yang
penting
untuk
kegiatan operasi bisnis
Waktu selama beberapa hari atau minggu
dimana
akan
ada
permintaan yang tinggi terhadap basisdata atau peak load (Connolly dan Begg, 2002, p486). Informasi
ini
digunakan
untuk
mengidentifikasikan bagian – bagian dari basisdata yang
mungkin mempunyai
masalah kinerja. Untuk fokus pada daerah yang menjadi masalah, proses yang dilakukan adalah :
44
Merencanakan semua langkah – langkah
transaksi
untuk
dihubungkan
Menentukan hubungan dari akses yang sering dipakai dalam transaksi
Menganalisa
pemakaian
data
transaksi terpilih yang terlibat o Memilih file organisasi Tujuan
dari
tahap
ini
adalah
untuk
menentukan organisasi file yang efisien untuk
setiap
hubungan
dasar
(base
relation). Yang utama dalam perancangan database fisik adalah penyimpanan data pada jalur yang efisien. Untuk memahami organisasi file dan indeks secara lengkap, petunjuk untuk memilih dasar organisasi file yaitu :
Heap
Hash
45
Indexed Sequential Access Method (ISAM)
B –tree
Clusters
o Memilih indeks Tujuan tahap ini adalah menentukan apakah penambahan indeks akan meningkatkan unjuk kerja sistem. Ada tiga jenis indeks yaitu :
Primary index Pengindeksan
dilakukan
pada
kolom kunci (key field), yang diurutkan terlebih dahulu secara sekuensial.
Clustering index Pengindeksan
dilakukan
pada
kolom bukan kunci (non-key field), yang
sudah
diurutkan
terlebih
dahulu secara sekuensial. Kolom bukan kunci itu disebut juga dengan
46
clustering attribute (Connolly dan Begg, 2002, p1155).
Secondary index Pengindeksan yang dilakukan pada kolom yang tidak terurut di dalam file data (Connolly dan Begg, 2002, p1155).
o Memperkirakan ruang yang dibutuhkan untuk penyimpanan Tujuan
tahap
ini
memperkirakan penyimpanan
adalah
besarnya yang
dibutuhkan
untuk ruang untuk
mendukung implementasi database pada tempat penyimpanan kedua. Hal ini sangat tergantung
pada
target
DBMS
dan
perangkat keras yang digunakan. Perkiraan ukuran dapat dilakukan dengan mengukur besar data tiap baris dan jumlah baris pada setiap relasi.
47
o Langkah 6 Merancang Pandangan Pengguna (user view) Tujuannya adalah untuk merancang pandangan pengguna yang diidentifikasikan selama tahap pengumpulan dan analisa kebutuhan
pada
aplikasi
database
relasional
lifecycle
(Connolly dan Begg, 2002, p502). o Langkah 7 Merancang Mekanisme Keamanan Tujuannya adalah untuk merancang mekanisme keamanan database. Kemanan bagi basisdata sangat diperlukan karena basisdata merupakan sumber daya perusahaan yang penting. Dua tipe keamanan database (Connolly dan Begg, 2002, p502), yaitu :
Keamanan sistem Memberikan perlindungan terhadap akses dan penggunaan database pada tingkat sistem, seperti user name dan password.
Keamanan data Memberikan perlindungan akses dan penggunaan obyek database, seperti relasi dan view dan aksi terhadap obyek yang dapat dimiliki oleh pemakai.
48
o Langkah 8 Mempertimbangkan Pengenalan Pengontrolan Redundancy Tujuan tahap ini adalah untuk menentukan apakah pengenalan pengontrolan redundancy dengan mengendurkan aturan normalisasi akan meningkatkan kinerja sistem. o Langkah 9 Memantau Operasi Sistem Bertujuan
untuk
meningkatkan
memantau
unjuk
kerja
operasional sistem
untuk
sistem
dan
memperbaiki
keputusan desain yang tidak sesuai atau menggambarkan kebutuhan – kebutuhan perubahan. 2.1.7
Entity, Attribute dan Relationship Entity (entitas) merupakan penyajian obyek, kejadian atau konsep dunia nyata yang keberadaannya secara eksplisit diidentifikasikan dan disimpan dalam database. Attribute (atribut) adalah keterangan – keterangan yang menjelaskan karakteristik dari suatu entitas. Sedangkan relationship (hubungan) merupakan hubungan atau interaksi antara satu entitas dengan yang lainnya.
2.1.8
Entity – Relationship Modelling (E–R Modelling) Entity Relationship Modelling (ER) model adalah pendekatan secara keseluruhan terhadap desain database yang diawali dengan
49
mengidentifikasi data penting yang disebut entity dan relationship antar data yang direpresentasikan ke dalam model. Saat akan menambahkan detil dari suatu informasi, harus mengetahui tentang entity – entity dan hubungannya yang bisa disebut attributes dan semua constraints di dalam entity, hubungan dan atribut – atributnya (Connolly dan Begg, 2002, p330). 2.1.9
Keys Candidate key adalah himpunan atribut yang minimal secara unik mengidentifikasikan setiap occurrence dari sebuah tipe entitas (Connolly dan Begg, 2002, p352). Composite key adalah sebuah candidate key yang terdiri atas dua atau lebih atribut (Connolly dan Begg, 2002, p353). Primary
key adalah candidate key yang terpilih untuk
mengidentifikasikan secara unik setiap occurrence dari sebuah tipe entitas (Connolly dan Begg, 2002, p353). Pada sebuah tipe entitas biasanya terdapat lebih dari satu candidate key yang salah satunya harus dipilih untuk menjadi primary key. Pemilihan primary key didasarkan pada panjang atribut, jumlah minimal atribut yang diperlukan, dan keunikannya.
50
Alternate key dan setiap candidate key yang tidak terpilih menjadi primary key, atau biasa disebut dengan secondary key (Whitten, 2004, p298). Foreign key adalah sebuah primary key pada sebuah entitas yang digunakan pada entitas lainnya untuk mengidentifikasikan sebuah relationship (Whitten, 2004, p301).
Pegawai NoPeg (PK) nama jabatan gaji TotPeg
Cabang mengatur memiliki
NoCab (PK)
Primary Key
NoPeg (FK) alamat
Foreign Key
jalan kota kodepos
Multivalued attribute
telp [1 .. 3]
Gambar 2.2 Representasi diagram entitas pegawai dan cabang beserta atribut dan primary key serta foreign key-nya
51
2.1.10 Data Flow Diagram (Diagram Aliran Data) Data Flow Diagram (Diagram Aliran Data) adalah suatu model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan proses kerja yang dilakukan oleh sistem (Whitten, Bentley dan Dittman, 2004, p344). Berikut ini adalah simbol – simbol yang digunakan dalam DAD pada penulisan skripsi ini : Tabel 2.1 Tabel Simbol – simbol DAD dan keterangannya Bentuk Simbol
Nama
Keterangan
Terminal
Penanda untuk memulai, mengakhiri,
ataupun
interupsi. Digunakan juga untuk
mengindikasikan
partai eksternal Dokumen / Laporan
Dokumen
dapat
ditulis
secara manual atau dapat dicetak dari komputer
52
Jumlah kopian dari sebuah dokumen
Digambarkan
dengan
menumpuk
simbol
dokumen dan dituliskan jumlah
kopian
dokumen
dari
di
setiap
proses
yang
lembarnya Operasi manual
Operasi
dilakukan secara manual File permanen
File
/
dokumen
yang
disimpan secara permanen dan dapat dicari Dokumen sementara / Jurnal / Ledger
Digunakan menandakan
untuk dokumen
yang bersifat sementara, mengindikasikan
jurnal
akuntansi ataupun ledger Penghubungan dalam satu halaman
Digunakan menghubungkan
untuk alur
prose untuk halaman yang sama
53
Penghubung beda halaman
Digunakan
untuk
menghubungkan proses
untuk
alur halaman
yang berbeda Anotasi
Digunakan
untuk
penambahan deskripsi
komentar
atau
catatan
penjelasan Alternative
Merepresentasikan alternative
Seleksi
Digunakan untuk proses pemilihan (seleksi)
2.2
Teori Khusus 2.2.1 Analisis Sistem Menurut Mulyadi (2001, p41), analisis sistem membantu pemakai informasi dalam mengidentifikasi informasi yang diperlukan oleh pemakai untuk melaksanakan pekerjaannya. Analisis sistem mewawancarai pemakai informasi, seperti mengajukan pertanyaan “ Informasi apa yang ingin saudara terima sekarang ? ”, “ Jenis informasi apa yang saudara
54
perlukan untuk melaksanakan pekerjaan saudra? ”. Masalah yang seringkali dihadapi oleh analisis sistem pada tahap ini adalah membedakan apa yang diminta, dengan apa yang diinginkan, dan dengan apa yang diperlukan oleh pemakai informasi. Analisis sistem menghasilkan dokumen tertulis yang menyajikan rencana pekerjaan yang akan dilaksanakan dalam pengembangan sistem atau hasil pekerjaan pelaksanaan tahap pengembangan sistem. Dokumen tertulis tersebut diserahkan kepada pemakai informasi sebagai media bagi analisis sistem untuk mengkomunikasikan pekerjaannya kepada pemakai informasi. Menurut Whitten, Bentley, dan Dittman (2004, p176), analisis sistem adalah pembelajaran sebuah sistem dana komponen – komponennya. Hal itu dilakukan sebagai prasyarat disain sistem, spesifikasi sebuah sistem yang baru dan diperbaiki. 2.2.2
Perancangan Sistem Menurut Mulyadi (2001, p51), perancangan sistem adalah proses penerjemahan kebutuhan pemakai informasi ke dalam alternatif rancangan sistem informasi yang diajukan kepada pemakai informasi untuk dipertimbangkan. Tahap perancangan sistem ini dibagi menjadi lima tahap : 1. Perancangan sistem secara garis besar
55
2. Penyusunan usulan perancangan sistem secara garis besar 3. Evaluasi sistem 4. Penyusunan laporan final perancangan sistem secara garis besar 5. Perancangan sistem secara rinci 6. Penyusunan laporan final perancangan sistem secara rinci. Menurut
Whitten,
Bentley,
dan
Dittman
(2004,
p176),
perancangan sistem didefinisikan sebagai tugas yang fokus pada spesifikasi solusi detail berbasis komputer. Jika analisis sistem menekankan pada masalah bisnis, maka sebaliknya perancangan sistem fokus pada segi teknis atau implementasi dari sebuah sistem. 2.2.3
Pengertian Sumber Daya Manusia Sumber daya manusia adalah kemampuan terpadu dari daya pikir dan daya fisik yang dimiliki seseorang individu. Perilaku dan sifatnya ditentukan oleh keturunan dan lingkungannya, sedangkan prestasi kerjanya dimotivasi oleh keinginan untuk memenuhi kepuasannya (Malayu Hasibuan, 1997, p269).
2.2.4 Pengertian Manajemen Sumber Daya Manusia Manajemen sumber daya manusia adalah bekerja dengan orang – orang untuk menentukan, menginterpretasikan dan mencapai tujuan –
56
tujuan organisasi dengan pelaksanaan fungsi – fungsi perencanaan (planning), pengorganisasian (organizing), penyusunan personalia atau kepegawaian (staffing), pengarahan dan kepemimpinan (leading), dan pengawasan (controlling). (Martoyo, 1987, p3). 2.2.5
Pengertian Perektrutan atau Seleksi Menurut sumber dari internet http://en.wikipedia.org perekrutan atau recruitment adalah proses menemukan kandidat untuk suatu pekerjaan tertentu. Menurut sumber dair internet http://organsisasi.org persiapan dan seleksi tenaga kerja yang dilakukan perusahaan diantaranya : 1.
Persiapan, dilakukan perencanaan akan kebutuhan sumber daya manusia dengan menentukan pekerjaan yang mungkin timbul, dengan melakukan perkiraan atau forecast akan pekerjaan yang lowong, jumlah, waktu dan sebagainya.
2.
Rekrutmen tenaga kerja, suatu proses untuk mencari calon atau kandidat pegawai, atau tenaga kerja baru untuk memenuhi kebutuhan sumber daya manusia organisasi atau perusahaan. Dalam tahapan ini diperlukan analisis jabatan yang ada untuk membuat deskripsi pekerjaan atau job description dan juga spesifikasi pekerjaan atau job specification.
57
3.
Seleksi tenaga kerja, adalah suatu proses menemukan tenaga kerja yang tepat dari kandidat yang ada.
Tujuan seleksi adalah untuk mendapatkan tenaga kerja yang paling tepat untuk memangku sesuaut jabatan tertentu. 2.2.6
Cuti Jenis cuti merupakan hak dari setiap pegawai adalah :
2.2.7
1.
Cuti istri melahirkan
2.
Cuti perkawinan
3.
Cuti khitanan / pembaptisan anak
4.
Cuti kematian
5.
Cuti perkawinan anak
6.
Cuti melahirkan
7.
Cuti tahunan
Absensi Menurut Jean dan Mary (1985, p14), banyak perusahaan khawatir melihat angka absen yang tinggi. Dalam hal ini harus diadakan catatan sederhana, berupa catatan perorangan. Ini akan menunjukkan luasnya persoalan, alasan – alasannya (misalnya sakit tanpa keterangan),
58
pengaruhnya pada bagian atau pada kategori karyawan (misalnya golongan wanita yang sudah nikah). 2.2.8
Promosi, Mutasi dan Demosi Promosi berarti perpindahan dari suatu jabatan ke jabatan yang lain yang mempunyai status dan tanggung jawab yang lebih tinggi. (Martoyo, 1987, p67). Promosi adalah perpindahan yang memperbesar authority dan responsibility karyawan ke jabatan yang lebih tinggi di dalam
satu
organisasi
sehingga
kewajiban,
hak,
status
dan
penghasilannya semakin besar. (Malayu Hasibuan, 1997, p121) Mutasi adalah suatu perubahan posisi/jabatan/tempat/pekerjaan yang dilakukan baik secara horizontal maupun vertical (promosi/demosi) di dalam suatu organisasi. (Malayu Hasibuan, 1997, p114) Demosi adalah penurunan pangkat atau jabatan seorang pegawai yang dilakukan di dalam suatu organisasi. (Malayu Hasibuan, 1997, p129) 2.2.9
Pengertian Pemutusan Hubungan Kerja (PHK) Pemberhentian adalah pemutusan hubungan kerja seseorang karyawan dengan suatu organisasi perusahaan. Dengan pemberhentian ini berarti berakhirnya keterikatan kerja karyawan terhadap perusaahan tersebut. (Malayu Hasibuan, 1997, p231). Pemberhentian harus
59
didasarkan atas undang – undang nomor 12 tahun 1964. (Malayu Hasibuan, 1997, p230). 2.2.10 Surat Perjalanan Dinas (SPD) Merupakan surat pengantar karyawan yang ditujukan untuk perusahaan dan digunakan sebagai keterangan melaksanakan tugas di suatu cabang perusahaan tersebut.