BAB 2 LANDASAN TEORI
2.1 2.1.1
Pengantar Basis Data Pengertian Basis Data Basis data atau database menurut Connoly (2002, p14) adalah sebuah kumpulan
data terbagi atas data yang berhubungan secara logis dan deskripsi dari data tersebut dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Basis data merupakan sebuah tempat penyimpanan data yang tunggal dan besar yang dapat dipergunakan secara bersama-sama oleh berbagai departemen dan pengguna. Definisi basis data menurut Michael V. Mannino (2001, p7) adalah bahasa dan alat grafik yang digunakan untuk menggambarkan entitas, relasi, entrigrity constraints dan hak pengguna. Dua tujuan utama dari konsep basis data adalah meminimumkan bahkan menghilangkan pengulangan data dan mencapai independensi data. Pengulangan data (data redundansi) adalah duplikasi data yang mana data yang sama disimpan dalam beberapa file. Independensi data adalah kemampuan untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada program yang memproses data. Independensi data dicapai dengan menempatkan spesifikasi data dalam tabel dan kamus yang terpisah secara fisik dari program. Basis data merupakan komponen yang penting bagi suatu perusahaan, baik perusahaan kecil maupun perusahaan yang besar dimana di dalamnya terdapat sistem informasi yang luas. Aplikasi daur hidup basis data secara menurun berhubungan
8
9 dengan daur hidup sistem informasi. Oleh karena itu, di dalam merancang sistem basis data digunakan metodologi yang menurut Connoly disebut dengan daur hidup aplikasi basis data. Sangatlah penting untuk mengenali bahwa tingkat – tingkat pada daur hidup aplikasi basis data tidak selalu berurutan, tetapi meliputi sejumlah perulangan dari tingkat – tingkat sebelumnya melalui “feed back loops”. Berikut ini adalah tingkat – tingkat pada daur hidup aplikasi basis data dengan kegiatan utama yang dilakukan: Tabel 2.1 Tingkatan Daur Hidup Aplikasi Basis Data Tahapan
Fungsi Utama
Perencanaan basis data
Merencanakan bagaimana tahapan – tahapan ini
(Database Planning)
dapat terealisasi secara efisien dan efektif
Sistem definisi
Menentukan jangkauan dan batasan dari aplikasi
(Sistem Definition)
basis data, penggunaannya, dan lingkungan aplikasi
Pengumpulan
kebutuhan
anlisis (Requirement
dan Proses pengumpulan dan menganalisis informasi tentang bagian dari organisasi yang seharusnya
Collection
AnalysisI)
and didukung aplikasi basis data dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan pengguna dari sistem barunya
Perancangan basis data
Menciptakan sebuah rancangan untuk sebuah basis
(Database Design)
data yang akan mendukung operasi dan tujuan – tujuan dari perusahaan meliputi rancangan basis data konseptual, logical, dan fisikal
10 Tahapan
Fungsi Utama
Pemilihan system amanajemen Pemilihan dari sistem manajemen basis data yang basis data (DBMS Selection)
sesuai untuk aplikasi basis data
Rancangan aplikasi
Merancang antar muka dan program aplikasi yang
(Aplication Design)
menggunakan dan memproses basis data
Prototyping
Membangun model kerja dari aplikasi basis data, yang memperbolehkan perancang atau pengguna untuk
memvisualisasikan
dan
mengevaluasi
bagaimana sistem akhirnya akan tampak dan berfungsi Implementasi
Membuat definisi basis data eksternal, model
(Implementation)
logical, model fisikal, dan internal serta prototype untuk program aplikasi
Data Conversion for Loading
Mengubah data dari sistem yang lama ke sistem yang baru
Pengujian
Pengujian aplikasi basis data untuk mencari
(Testing)
kesalahan dan divalidasi untuk kebutuhan yang dispesifikasikan oleh pengguna
Perawatan operasional
Aplikasi basis data diimplementasikan sepenuhnya.
(Operational Maintenance)
Sistem diawasi dan dipelihara secara berkelanjutan. Ketika diperlukan, kebutuhan – kebutuhan baru dimasukan dalam aplikasi basis data melalui tahapan basis data terdahulu
11
Gambar 2.1 : Database Lifecycle (Sumber : Conolly, 2002, p272)
12 2.1.2
Keuntungan dan Kerugian Basis Data
Basis data memiliki keuntungan – keuntungan sebagai berikut: a. Pengontrolan Redundansi Dengan basis data kita dapat mengintegrasikan beberapa file sehingga data yang sama tidak tersimpan dua kali. b. Konsistensi Data Dengan berkurangnya redudansi, data juga dapat lebih terjaga konsistensinya. c. Sharing Data Data yang disimpan dapat dimiliki oleh seluruh isi perusahaan dan dapat dibagi kepada semua pengguna yang diberi hak akses. d. Meningkatkan Keamanan Data – data yang disimpan diberi hak akses bagi pengguna tertentu yang dapat membuka atau membaca suatu file. e. Meningkatkan Integritas Data Validitas dan konsistensi dari data yang disimpan merupakan integritas dari suatu data. Selain keuntungan – keuntungan tersebut, basis data juga memiliki kekurangan – kekurangan sebagai berikut: a. Kompleksitas Semakin besar data yang tersimpan membuat file menjadi lebih kompleks. b. Ukuran Kompleksitas dan kedalaman dari fungsionalitas membuat penggunaan perangkat lunak (software) DBMS semakin besar
13 c. Biaya DBMS Biaya DBMS berdasarkan kepentingan yang berbeda, tergantung dari lingkungan dan fungsionalitas yang disediakan. d. Biaya penambahan perangkat keras (hardware) Penyimpanan disk diperlukan bagi DBMS dan basis data akan memerlukan penambahan tempat penyimpanan e. Biaya konversi Pada beberapa situasi, biaya DBMS dan ekstra perangkat keras mungkin tidak begitu penting dibandingkan dengan biaya konversi aplikasi – aplikasi yang telah ada untuk dijalankan pada DBMS yang baru dan perangkat keras. Biaya ini termasuk biaya pelatihan staff untuk menggunakan sistem yang baru.
2.2 Perencanaan Basis Data Menurut Connolly & Begg (2002, p273) perencanaan basis data adalah aktivitas manajemen yang memperbolehkan tingkat – tingkat pada aplikasi basis data untuk direalisasikan seefisien dan seefektif mungkin. Kegiatan utama dari perencanaan basis data adalah merencanakan supaya tingkat daur hidup dapat menjadi efisien dan efektif. Hal pertama yang harus dilakukan adalah menentukan tugas (mission statement) dari proyek basis data. Dengan tujuan untuk memperjelas maksud dari proyek basis data yang dibutuhkan. Kemudian tahap selanjutnya adalah mengidentifikasikan sasaran (mission objective) dimana setiap sasaran harus mengenal tugasnya masing – masing yang mendukung basis data.
14 2.3 Sistem Definisi Kegiatan utama dari definisi sistem ini adalah menentukan ruang lingkup dan pembatasan aplikasi basis data serta pandangan utama pengguna terhadap bagian lain dari organisasi sistem informasi.
2.4 Pengumpulan Kebutuhan dan Analisis Merupakan proses dari pengumpulan dan analisis informasi tentang bagian dari organisasi yang seharusnya didukung aplikasi basis data, dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan pengguna dari sistem barunya. Banyak teknik yang dapat digunakan untuk memperoleh informasi ini. Menurut Connolly(2002, p302) teknik – teknik ini dinamakan sebagai “fact-finding techniques”. Terdapat 5 teknik pengumpulan informasi yang digunakan dalam pengembangan basis data : studi pustaka, wawancara, observasi, penelitian, dan kuisioner.
2.5 Perancangan Basis Data Perancangan basis data ini dibangun oleh 3 fase yang dinamakan rancangan konseptual, logikal, dan fisikal. 2.5.1
Rancangan Konseptual (Conceptual Design) Rancangan konseptual merupakan suatu proses untuk membangun sebuah model
informasi yang digunakan oleh perusahaan, tidak tergantung pertimbangan fisikal. Rancangan konseptual ini juga merupakan fase awal dari rancangan basis data, dan meliputi pembentukan model data konseptual yang merupakan bagian dari model perusahaan yang sedang dijalani. Data model tersebut dibangun dengan menggunakan informasi terdokumentasi dalam spesifikasi kebutuhan pengguna.
15 Berikut ini adalah bagian – bagian dari model data konseptual lokal : a. Tipe entitas Menurut Connolly (2002,p331) tipe entitas adalah sekumpulan objek yang diindentifikasi oleh sebuah perusahaan atau perorangan yang mempunyai sifat – sifat yang sama dan mempunyai keberadaan yang independen. Entity occurance adalah sebuah objek unik yang teridentifikasi dalam entity type (Connolly, 2002, p333). Menurut Connolly, entitas dapat diklasifikasikan sebagai berikut: 1. Strong / Parent / Owner / Dominant entity type Adalah sebuah entitas yang tidak tergantung pada entitas lain karena entitas tersebut diidentifikasikan dengan menggunakan primary key. 2. Weak / Child / Subordinate / Dependent entity type Adalah sebuah entitas yang bergantung pada entitas lain karena entitas tersebut tidak diidentifikasikan dengan menggunakan primary key. b. Tipe hubungan Menurut Connolly (2002, p334), tipe hubungan adalah sekumpulan hubungan antara satu atau lebih entitas. Relationship occurance adalah sebuah hubungan unik antara satu atau lebih entitas yang teridentifikasi dalam relationship type. Relasi mempunyai batasan (constraint) utama yang harus merefleksikan larangan dalam hubungan seperti di ‘dunia nyata’ yang disebut multiplicity. Menurut Connolly, multiplicity sesungguhnya terdiri dari dua jenis, yaitu : 1. Cardinality Cardinality adalah penggambaran jumlah maksimum dari kemungkinan batasan sebuah entitas yang ikut berpartisipasi dalam sebuah relasi.
16 Multiplicity dengan jenis cardinality dari binary relationship dapat dibagi menjadi : One to One (1:1) relationship One to Many (1:*) relationship Many to Many (*:*) relationship 2. Participation Participation adalah penggambaran yang menentukan apakah semua atau hanya beberapa entity occurance (anggota entitas) yang ikut berpartisipasi dalam sebuah hubungan. Menurut Connolly dan Begg (2002,p422) tahap – tahap dalam membuat rancangan basis data konseptual adalah : Langkah 1. Membangun Model Data Konseptual Lokal untuk Setiap View 1.1
Mengenali tipe entitas Salah satu metode dalam mengidentifikasi entitas – entitas adalah memeriksa
spesifikasi
kebutuhan
pengguna.
Dari
spesifikasi
ini,
diidentifikasi susunan yang akan dipakai. Diperhatikan juga obyek utama seperti people, places. Contohnya : kumpulan dari nomor karyawan dan nama karyawan dengan sebuah obyek atau entitas yang disebut pegawai dan kumpulan dari tanggal produksi dengan sebuah entitas yang disebut produksi. 1.2
Mengenali tipe relasi Setelah entitas – entitas diidentifikasi, langkah selanjutnya adalah mengidentifikasi seluruh relasi yang ada di antara entitas, salah satu metode adalah untuk mencari kata benda dalam kebutuhan pengguna. Dengan
17 kebutuhan spesifikasi dari bahasa tersebut maka barulah relasi dapat diidentifikasi. Secara khusus, relasi diindikasikan dengan pernyataan verbal. 1.3
Mengenali dan menghubungkan atribut – atribut dengan entitas ataupun tipe relasi Dalam mengidentifikasi entitas – entitas, haruslah diperhatikan kata benda atau frase kata benda dalam kebutuhan pengguna. Atribut dapat diidentifikasi dimana kata benda atau frase kata benda adalah property, quality, identifier, atau characteristic dari salah satu entitas atau relasi.
1.4
Menetapkan domain attribute Sasaran dari tahapan ini dalah menetapkan domain untuk seluruh atribut dalam model. Domain adalah kumpulan nilai dari satu atau lebih atribut yang menggambarkan nilai mereka. Setelah domain atribute diidentifikasi, catat nama dan karakteristiknya dalam kamus data. Update masukan atribut kamus data untuk merekam domain dalam suatu tipe data dan panjang informasi.
1.5
Menetapkan candidate dan primary key dari atribut Tahap ini dikhususkan pada identifikasi candidate key untuk sebuah entitas dan memilih salah satu yang menjadi primary key. Candidate key adalah set yang minimal dan suatu atribut dari entitas yang secara unik mengidentifikasi suatu kejadian atau peristiwa dari entitas. Candidate key dapat diidentifikasi lebih dari satu dimana harus dipilih satu untuk menjadi primary key. Sisa dari candidate key yang lain disebut alternate key.
18 1.6
Mempertimbangkan penggunaan dari konsep model tingkat tinggi (optional step) Pada tahap ini terdapat pilihan untuk melanjutkan pengembangan dari model ER (Entity Relationship) yang menggunakan konsep modeling tingkat lanjut yang dinamakan specialization atau generalization, aggregation, dan composition. Kalau memilih pendekatan specialization, maka diusahakan membedakan entitas dengan mendefinisikan satu atau lebih subclass dari superclass entitas. Jika memilih pendekatan generalization, diusahakan untuk mengidentifikasi fitur umum antara entitas untuk menentukan generalising superclass entitas. Aggregation digunakan untuk menampilkan hubungan has-a atau is-part-of antara tipe entitas, dimana yang satu menampilkan seluruhnya dan yang lainnya hanya sebagian saja. Composition digunakan untuk menampilkan kerja sama antara tipe entitas dimana terdapat hubungan kepunyaan yang kuat dan selamanya antara whole dan part.
1.7
Memeriksa apakah dalam model data ada yang berlebih Pada tahap ini, local conceptual data model diperiksa dengan identifikasi objek yang spesifik, yaitu untuk memeriksa apakah terdapat suatu kelebihan dan membuang yang tidak diperlukan. Ada dua aktivitas dalam tahapan ini antara lain melakukan pemeriksaan ulang hubungan one to one (1:1), dimana dua entitas ditunjukan dalam objek yang sama dalam perusahaan. Yang kedua adalah membuang relasi yang berlebih jika informasi yang sama diperoleh dari relasi yang lain.
19 1.8
Validasi model konseptual lokal dengan user transactions Sasaran dari tahap ini adalah untuk memeriksa model untuk menjamin bahwa
model
mendukung
transaksi
yang
dibutuhkan.
Dengan
menggunakan model, operasi berusaha ditampilkan secara manual. Jika seluruh transaksi dapat diselesaikan dengan cara ini, maka model data konseptual telah diperiksa bahwa ia mendukung transaksi yang dibutuhkan. Tetapi jika transaksi tidak dapat ditampilkan secara manual, pasti ada masalah dengan model data yang harus diselesaikan. Ada dua pendekatan yang menjamin local conceptual data model yang mendukung transaksi yang dibutuhkan antara lain : menggambarkan sebuah transaksi, dan menggunakan transaction pathway. 1.9
Meninjau kembali local conceptual data model dengan pengguna Sebelum langkah pertama ini selesai, local conceptual data model harus ditinjau kembali dengan pengguna. Model data konseptual meliputi diagram ER dan dokumentasi yang mendukung dalam penjelasan model data. Apabila terdapat keganjilan yang ditunjukkan dalam model data, maka harus dilakukan perubahan yang tepat, yang mungkin dibutuhkan pengulangan dari langkah sebelumnya. Proses ini diulang sampai pengguna siap mengakhiri model sebagai representasi sebenarnya dari bagian perusahaan yang dibuat sebagai model.
20 2.5.2
Rancangan Logikal (Logical Design) Merupakan suatu proses untuk membangun suatu model informasi yang
digunakan oleh perusahaan yang didasari oleh data model spesifik, berdiri sendiri khususnya DBMS dan pertimbangan fisikal lainnya. Definisi Database management system (DBMS) menurut Jeffrey A. Hoffer (2002, p7) adalah sebuah sistem perangkat lunak yang digunakan untuk membuat, menjaga dan memberikan akses yang terkontrol atas basis data pengguna. Menurut Connolly dan Begg (2002, p441) langkah – langkah dalam membuat rancangan basis data logikal adalah : Langkah 2. Membangun dan memvalidasikan model data logikal untuk setiap view 2.1
Membuang fitur yang tidak sesuai dengan model relasi (optional step) Sasaran dari tahapan ini adalah : Membuang many to many (*.*) binary relationship Membuang many to many (*.*) recursive relationship Membuang complex relationship Membuang multi-valued attributes
2.2
Menghasilkan relasi – relasi untuk model data logikal lokal Pada tahap ini diturunkan relasi – relasi untuk local logical data model untuk menampilkan entitas, relationship, dan atribut yang didefinisikan dalam view. Dengan memakai DBDL pertama kali harus menspesifikasikan dahulu nama dari relasi yang diikuti oleh urutan hubungan atribut yang sederhana yang disertakan di dalam tanda kurung. Lalu baru tentukan primary key dan alternate key atau foreign key yang lain.
21 2.3
Memeriksa relasi – relasi menggunakan normalisasi Normalisasi digunakan untuk meningkatkan model dari berbagai batasan untuk menghindari duplikasi data yang tidak dibutuhkan. Menurut Gerald V. Post (2000, p76), ketika data tidak disimpan dalam format yang benar, kita akan menghadapi kesulitan ketika akan menambah dan menghapus data, hal ini disebabkan karena kita menyimpan semua data di dalam satu tabel, sehingga normalisasi ini sangat dibutuhkan. Normalisasi menjamin model yang dihasilkan adalah model terdekat dari perusahaan yang ditampilkan, konsisten, redundancy yang minimal dan kestabilan yang maksimal.
2.4
Memeriksa relasi terhadap user transactions Sasaran pada tahap ini adalah untuk memeriksa local logical data model untuk menjamin model mendukung transaksi yang dibutuhkan pengguna. Dengan menggunakan relasi, hubungan dari primary key atau foreign key yang ditampilkan dalam relasi, diagram ER, dan kamus data, dilakukan transaksi secara manual. Kalau seluruh transaksi dapat diselesaikan dengan cara ini, maka pemeriksaan terhadap local logical data model telah selesai. Tetapi, jika tidak dapat diselesaikan dengan manual, pasti ada masalah dengan model datanya, dimana harus ditangani.
2.5
Mengidentifikasi integrity constraint Integrity constraint adalah batasan yang melindungi basis data dari kondisi yang tidak konsisten. Tahap ini difokuskan pada perancangan tingkat tinggi, menentukan spesifikasi dari integrity constraint yang dibutuhkan. Setelah mengidentifikasi integrity constraint, akan didapat local logical data model yang lengkap dan ditampilkan secara akurat.
22 2.6
Meninjau kembali local logical data model dengan pengguna Local logical data model sekarang sudah lengkap dan sudah didokumentasikan dengan lengkap. Untuk menyelesaikan tahap ini, harus ditinjau kembali model logikal dan dokumentasi yang mendukung pengguna.
Langkah 3. Membangun dan memeriksa global logical data model 3.1
Menggabungkan local logical data model ke model global Pada tahap ini, untuk setiap local logical data model telah dihasilkan sebuah diagram ER, skema relasi, dan dokumen yang mendukung. Untuk aplikasi basis data yang sederhana dengan pengguna yang sedikit, adalah relatif mudah untuk membandingkan model lokal, menggabungkan bersama, dan menangani berbagai perbedaan yang ada. Tetapi dalam sistem yang besar, pendekatan secara sistematis diperlukan. Pendekatan ini antara lain : Meninjau kembali nama dan isi dari entitas atau relasi dan candidate keynya Meninjau kembali nama dan isi dari relationship atau foreign key Menggabungkan entitas atau relasi dari model data lokal Memasukkan entitas atau relasi yang unik ke masing – masing model data lokal Menggabungkan relasi atau foreign key dari model data lokal Memasukkan relasi atau foreign key yang unik ke masing – masing model data lokal Memeriksa entitas atau relasi dari relationship atau foreign key yang hilang Memeriksa foreign key Memeriksa integrity constraints
23 Menggambar diagram relasi ER global Meng-update dokumentasi 3.2
Memvalidasikan global logical data model Tahap ini sama dengan tahap 2.3 dan 2.4, dimana memvalidasikan masing – masing local logical data model. Tetapi ini hanya diperlukan untuk melakukan pemeriksaan area dari model yang menghasilkan perubahan selama proses penggabungan. Pada sistem yang besar, ini akan sangat berarti dalam mengurangi jumlah pemeriksaan yang harus dilakukan.
3.3
Mengantisipasi perkembangan lebih lanjut Jika model hanya dapat menopang kebutuhan yang sekarang ini, maka hidup dari model tersebut mungkin pendek dan pekerjaan ulang mungkin diperlukan untuk kebutuhan baru dengan efek yang minimal pada pengguna yang ada. Akan menjadi sulit kalau perusahaan tidak mau tahu apa yang harus dilakukan di masa mendatang.
3.4
Meninjau kembali global logical data model dengan pengguna Global logical data model untuk perusahaan sekarang sudah lengkap dan akurat. Model dan dokumentasi yang menjelaskan model harus ditinjau kembali oleh pengguna untuk menjamin kalau itu adalah representasi perusahaan yang sebenarnya.
24 2.5.3
Rancangan Fisikal (Physical Design) Menurut Connolly dan Begg (2002, p282) langkah – langkah dalam membuat
rancangan fisikal basis data adalah : Langkah 4. Menterjemahkan global logical data model bagi DBMS 4.1
Merancang relasi – relasi dasar Untuk memulai proses perancangan fisikal, mula – mula harus menyusun dan memahami informasi tentang cara menghasilkan relasi selama perancangan basis data logikal. Informasi yang dibutuhkan dapat diperoleh dari kamus data dan definisi dari relasi yang dijelaskan menggunakan DBDL. Untuk masing – masing relasi yang diidentifikasi dalam global logical data model, harus terdiri dari: Nama dari relasi Kumpulan dari atribut-atribut turunan dan bagaimana cara mengaturnya Primary key, alternate key, dan foreign key Identifikasi foreign key dari referensi integrity constraint
4.2
Merancang representasi dari data yang diperoleh Atribut dimana nilainya dapat ditemukan dengan memeriksa nilai dari atribut lain dikenal sebagai derived atau calculated attributes. Berikut ini adalah contoh dari derived attributes : Jumlah karyawan yang bekerja pada kantor cabang Total gaji dari seluruh karyawan Jumlah transaksi yang ditangani oleh sekelompok karyawan Seringkali derived attributes tidak muncul dalam model data logikal tapi didokumentasikan dalam kamus data. Dari sudut pandang perancangan basis data
25 fisikal, derived attributes disimpan dalam basis data dan dikalkulasikan setiap waktu dibutuhkan. 4.3
Merancang batasan perusahaan Meng-update relasi mungkin dibatasi oleh aturan perusahaan. Rancangan dari batasan itu tergantung pada pilihan DBMS. Beberapa sistem DBMS menyediakan banyak fasilitas untuk mendefinisikan batasan perusahaan.
Langkah 5. Representasi Perancangan Secara Fisik Tujuannya adalah untuk menentukan cara organisasi file yang paling optimal untuk menyimpan base relation dan indeks – indeks yang diperlukan untuk mencapai performa yang dapat diterima, yaitu cara – cara dimana relations dan tabel disimpan dalam penyimpanan sekunder. 5.1
Menganalisis Transaksi Tujuannya adalah untuk memahami fungsi – fungsi dari transaksi yang akan berjalan dalam basis data dan menganalisis transaksi – transaksi penting.
5.2
Memilih Organisasi File Tujuannya adalah untuk menentukan sebuah organisasi file yang paling efisien untuk setiap base relation. Salah satu tujuan utama dari perancangan basis data fisikal adalah untuk menyimpan data dalam cara yang efisien.
5.3
Memilih Indeks Tujuannya untuk menentukan bahwa dengan menambahkan indeks akan meningkatkan performa.
26 5.4
Memperkirakan Kapasitas Media Penyimpanan Tujuannya adalah untuk memperkirakan jumlah kapasitas media penyimpanan yang akan diperlukan oleh basis data. Pada umumnya perkiraan didasarkan pada ukuran tiap tabel, dan banyaknya tabel dalam relasi. Pada akhirnya perkiraan harus menjadi sebuah ukuran maksimum, tetap perlu juga mempertimbangkan bagaimana relasi akan berkembang dan mengubah hasil ukuran media penyimpanan dengan dasar faktor pertambahan untuk memperkirakan seberapa besar basis data yang akan datang.
Langkah 6. Merancang User Views Tujuannya adalah untuk merancang user view yang diidentifikasikan selama requirement collection dan analisis terhadap tahap relational database application lifecycle. Pada sebuah DBMS yang berdiri sendiri pada sebuah PC, user view didefinisikan untuk menyederhanakan permintaan basis data. Sedangkan DBMS yang mempunyai banyak pengguna, user view menjalankan peranan yang sangat penting dalam mendefinisikan struktur basis data dan menjalankan keamanan.
Langkah 7. Merancang Langkah – Langkah Pengamanan Tujuannya adalah untuk merancang pengamanan untuk basis data sesuai dengan spesifikasi pengguna. Sebuah basis data merepresentasikan sebuah sumber daya perusahaan yang penting sehingga keamanan daripada sumber daya ini sangat penting. Beberapa sistem menawarkan fasilitas keamanan yang berbeda dibandingkan yang lainnya. Seorang perancang basis data harus mengetahui fasilitas – fasilitas yang ditawarkan oleh DBMS.
27 Pada umumnya DBMS relasional menyediakan 2 tipe keamanan basis data, yaitu : 1. Keamanan Sistem Melingkupi hak akses dan penggunaan basis data pada level sistem, seperti nama pengguna dan kata kunci (password). 2. Keamanan Data Melingkupi hak akses dan penggunaan obyek basis data seperti relations dan views.
2.6 Pemilihan Sistem Manajemen Basis Data Merupakan tahapan dimana dilakukan pemilihan dari DBMS untuk mendukung aplikasi basis data. Langkah – langkah utama dalam pemilihan DBMS adalah Mendefiniskan hubungan dari pedoman pembelajaran Daftar pendek dari dua atau tiga produk Evaluasi produk Merekomendasikan pilihan dan menghasilkan laporan
2.7 Rancangan Aplikasi Merupakan perancangan antarmuka pengguna dan program aplikasi yang digunakan dan memproses basis data. Aktivitas antara database design dengan application design terjadi secara paralel. Dalam banyak hal, tidak mungkin untuk menyelesaikan perancangan aplikasi sampai perancangan dari basis data itu sendiri. Dalam hal ini, basis data hadir untuk mendukung aplikasi dan harus ada aliran informasi antara application design dan database design.
28 Seluruh fungsi – fungsi yang tercantum dalam spesifikasi kebutuhan pengguna harus ada dalam perancangan aplikasi untuk aplikasi basis data yang meliputi perancangan program aplikasi yang mengakses basis data dan melakukan transaksi. Perancangan user interface yang tepat ke dalam aplikasi basis data menjadi kebutuhan tambahan agar fungsi yang dibutuhkan tercapai. Perancangan user interface kadang – kadang tidak diperhatikan atau ditinggalkan selama tahapan perancangan. Program aplikasi yang mudah dipelajari, sederhana dalam penggunaan, maka pengguna cenderung untuk dapat memanfaatkan dengan baik. Hal ini menunjukkan bahwa user interface merupakan salah satu komponen penting dari sistem.
2.8 Prototyping Tujuan utama dalam pengembangan bentuk dasar dari aplikasi basis data adalah untuk mengijinkan pengguna menggunakan prototype untuk mengidentifikasi fitur sistem yang berjalan lancar dan kalau mungkin untuk menambahkannya dengan fitur baru ke dalam aplikasi basis data.
2.9 Implementasi Program aplikasi diterapkan menggunakan bahasa tingkat tiga atau empat. Bagian dari program aplikasi ini adalah transaksi basis data, yang diterapkan menggunakan DML yang dapat dijalankan pada sekumpulan bahasa pemrograman, seperti Visual Basic, Delphi, C, C++, Java, COBOL, Fortran, Ada, atau Pascal. Digunakan juga komponen lain dari perancangan aplikasi seperti menu layar, form masukkan data dan laporan – laporan. Keamanan dan integritas dalam aplikasi juga diterapkan.
29 4-GL merupakan bahasa pemrograman yang diminimalisasikan. Suatu operasi yang biasanya membutuhkan ratusan baris di bahasa pemrograman 3GL seperti COBOL, maka pada 4-GL hanya membutuhkan baris pemrograman yang lebih sedikit. Klaim 4-GL adalah dapat menambah produktivitas berkali – kali lipat, penanganan masalah yang lebih banyak. Menurut Connoly (2002, p42), Fourth Generation Language mempunyai kemampuan sebagai berikut: Bahasa Presentasi seperti Query Language, dan Report Generators Bahasa Spesialis seperti Spreadsheets dan Database Language Aplikasi Generator seperti mendefinisikan, menambah, memperbarui, dan mengembalikan data dari basis data untuk membangun aplikasi. Bahasa pemrograman yang dapat men-generate application codes SQL dan QBE seperti yang disebutkan di atas adalah contoh dari 4th-GL. Beberapa contoh dari tipe lain dari 4th-GL: A forms generator, Report generator, Graphics generator, Aplication generator
2.10 Konversi Tahapan ini dibutuhkan hanya ketika sistem basis data yang baru menggantikan sistem yang lama. Sekarang ini, sudah menjadi hal yang biasa bagi sebuah DBMS untuk mempunyai utility yang dapat memuat keseluruhan file yang ada ke dalam basis data yang baru. Utility biasanya membutuhkan spesifikasi dari sumber dan tujuannya, sehingga mengubah data sesuai dengan format basis data yang baru.
30 2.11 Teori – Teori Sumber Daya Manusia 2.11.1 Sumber Daya Manusia Peran departemen SDM sudah bertumbuh pesat sekarang ini. Para pemimpin SDM harus menjadi yang pertama dan terakhir dalam menangani perubahan dalam perusahaan. Apakah itu untuk membuka kantor cabang baru, menangani merger, beradaptasi dengan perubahan mendadak, atau menumbuhkan motivasi pekerja. Departemen SDM harus melihat, menangani, dan mengkomunikasikan perubahan tersebut. Misi dari departemen SDM adalah untuk memaksimalkan pengembalian investasi dari setiap investasi pekerja. Dari sudut pandang ini, manajemen SDM adalah merupakan prioritas paling utama untuk semua operasi yang berpusat pada pekerja manusia. Dalam dekade terakhir, perusahaan besar telah mencapai produktivitas yang besar dengan menggunakan solusi SDM yang baik. Sekarang ini, perangkat lunak (software) akan mengubah proses SDM menjadi terotomatisasi. Tabel 2.2 Tabel Keuntungan Menggunakan Perangkat Lunak di Dalam SDM Hal
Keuntungan
Penggantian
Biaya untuk mengganti staff yang buruk dengan staff yang baik
Staff
sangatlah besar, adakalanya mencapai 150% gaji pertahun. Oleh karena itu sistem HRD harus mampu membantu anda merekrut staff dan merekrut staff yang baik dan dalam saat yang bersamaan juga harus mampu membantu anda mengenali staff yang buruk.
31 Hal Operasional
Keuntungan Manajemen SDM yang efektif dapat mengurangi proses administrasi sampai dengan 70%. Ini memberikan manajer SDM waktu lebih banyak untuk mengurus masalah lain dan mengurangi biaya administrasi.
Integrasi
Departemen SDM membantu meningkatkan produksi dengan cara memilih pekerja yang baik, dengan keahlian yang tepat, pada saat yang tepat dan dengan harga yang tepat pula. Satu – satunya cara hal ini dapat dilakukan adalah dengan memahami kepentingan bisnis perusahaan. Sistem SDM dapat melakukan hal ini hanya apabila ia dapat membagi data dengan system – sistem lain pada perusahaan, terutama yang mengendalikan bisnis perusahaan. Sebuah sistem yang terisolasi tidak akan berguna sama sekali untuk perusahaan.
Sumber : Creative Software PTE Ltd. (www.creasoft.com.sg)
Penyimpanan semua informasi yang berkaitan dengan perusahaan secara elektronik akan menghapuskan kebutuhan akan ruang yang besar untuk menyimpan kertas – kertas data. Perangkat lunak SDM akan dapat mengurangi waktu proses dan waktu administrasi. Juga memberikan kesempatan bagi pegawai untuk mengakses data sendiri sehingga mereka dapat memperbarui dan melihat kembali data mereka tanpa harus berhubungan langsung dengan staff SDM sehingga mengurangi pekerjaan staff SDM.
32 2.11.2 Penilaian Prestasi Penilaian prestasi (Malayu, 1997, p203) adalah kegiatan manajer untuk mengevaluasi perilaku dan prestasi kerja pegawai, serta menetapkan kebijaksanaan selanjutnya. Penilaian perilaku yaitu menilai kesetiaan, kejujuran, kepemimpinan, kerjasama, loyalitas, dedikasi dan partisipasi karyawan. Tujuan dan kegunaan penilaian prestasi karyawan : a. Sebagai dasar dalam pengambilan keputusan yang digunakan untuk promosi, demosi, pemberhentian, dan penetapan besarnya balas jasa b. Untuk mengukur prestasi pegawai, yaitu : sejauh mana pegawai sukses dalam pekerjaannya c. Sebagai dasar untuk mengevaluasi efektivitas kerja di dalam perusahaan d. Sebagai dasar untuk mengevaluasi program latihan dan efektivitas jadwal kerja, metode kerja, struktur organisasi, gaya pengawasan, kondisi kerja dan peralatan kerja e. Sebagai indikator untuk menentukan kebutuhan akan latihan bagi pegawai yang berada dalam organisasi f. Sebagai alat untuk meningkatkan motivasi kerja pegawai sehingga akan dapat dicapai hasil kerja yang baik g. Sebagai alat untuk mendorong atau membiasakan atasan untuk memperhatikan pegawai untuk mengetahui minat bawahan h. Sebagai alat untuk melihat kekurangan atau kelemahan di masa lampau sehingga dapat digunakan untuk meningkatkan kemampuan pegawai selanjutnya
33 i. Sebagai alat untuk mengidentifikasi kelemahan personel dan dengan demikian bisa sebagai bahan pertimbangan agar bisa diikutsertakan dalam program latihan kerja tambahan j. Sebagai kriteria untuk seleksi pegawai k. Sebagai alat untuk memperbaiki atau mengembangkan kecakapan pegawai l. Sebagai dasar untuk memperbaiki dan mengembangkan uraian pekerjaan Syarat-syarat penilai : a. Penilai harus jujur, objektif dan mempunyai pengetahuan mendalam tentang unsur yang akan dinilai b. Penilai hendaknya mendasarkan penilaiannya atas benar atau salah, baik atau buruk, terhadap unsur yang akan dinilai dan tidak boleh mendasarkan penilaian atas dasar suka atau tidak suka c. Penilai harus mengetahui jelas uraian pekerjaan setiap pegawai yang akan dinilainya supaya hasil penilaiannya dapat dipertanggung-jawabkan dengan baik d. Penilai harus mempunyai wewenang formal untuk melaksanakan tugasnya dengan baik e. Penilai harus beragama dan beriman supaya hasil penilaiannya jujur dan adil
2.11.3 Prestasi Kerja Prestasi kerja adalah suatu hasil kerja yang dicapai seseorang dalam melaksanakan tugas – tugas yang dibebankan kepadanya yang didasarkan atas kecakapan, pengalaman, dan kesungguhan serta waktu. Prestasi kerja ini adalah gabungan dari tiga faktor penting, yaitu : kemampuan dan minat seorang pekerja, kemampuan dan penerimaan atas penjelasan delegasi tugas dan peran, serta tingkat
34 motivasti pekerja. Semakin tinggi ketiga faktor tersebut, maka semakin besar pula prestasi kerja pegawai bersangkutan.
2.11.4 Mutasi Pegawai Salah satu tindak lanjut yang dilakukan atas hasil penilaian prestasi pegawai adalah mutasi pegawai. Mutasi adalah suatu perubahan posisi / jabatan / tempat / pekerjaan yang dilakukan baik secara horizontal maupun vertikal (promosi / demosi) dalam suatu organisasi. Tujuan mutasi (Faustino, 1995, p197) adalah : a. Meningkatkan produktivitas pegawai b. Menciptakan keseimbangan antara tenaga kerja dengan komposisi pekerjaan atau jabatan c. Memperluas pengetahuan pegawai d. Memberikan perangsangan agar pegawai dapat meningkatkan karier e. Menghilangkan rasa bosan terhadap pekerjaan f. Melaksanakan hukuman atas pelanggaran pegawai g. Memberi imbalan terhadap pekerjaan pegawai h. Sebagai alat pendorong agar semangat kerja meningkat i. Menyesuaikan pekerjaan dengan kondisi fisik pegawai j. Mengatasi perselisihan sesama pegawai k. Sebagai tindakan pengamanan yang lebih baik
35 2.11.5 Promosi Promosi (Faustino, 1995, p206) berarti perpindahan dari suatu jabatan ke jabatan lain yang mempunyai status dan tanggung jawab yang lebih tinggi. Biasanya perpindahan ini disertai dengan peningkatan gaji / upah lainnya, walaupun tidak selalu demikian. Pedoman yang digunakan untuk promosi pegawai adalah pengalaman, kecakapan, dan kombinasi keduanya. Adapun syarat – syarat promosi adalah sebagai berikut : kejujuran, disiplin, prestasi kerja, kerja sama, kecakapan, loyalitas, kepemimpinan, komunikatif, dan pendidikan. Tujuan promosi : a. Memberikan pengakuan terhadap hasil kerja pegawai yang berprestasi kerja tinggi b. Untuk menimbulkan kebanggaan, status sosial yang lebih tinggi dan gaji yang lebih besar c. Merangsang pegawai agar lebih bergairah dalam bekerja d. Menjamin stabilitas pegawai dengan dasar dan waktu yang tepat serta penilaian yang jujur e. Untuk menimbulkan lowongan berantai f. Memberi pegawai kesempatan mengembangkan kreativitas demi keuntungan perusahaan g. Sebagai daya dorong dan pemicu kerja yang lebih baik untuk pegawai lain h. Mengisi jabatan yang ditinggalkan karena pejabatnya berhenti i. Mempermudah penarikan pelamar
36 2.11.6 Kompensasi Pegawai (Edwin B. Flippo, 1994, p55) adalah setiap orang yang bekerja dengan menjual tenaganya kepada suatu perusahaan dan memperoleh balas jasa sesuai dengan peraturan atau perjanjian. Besarnya balas jasa yang ditentukan sebelumnya ini disebut kompensasi. Kompensasi dibagi menjadi dua yaitu : kompensasi langsung berupa gaji, upah, upah insentif, dan tidak langsung. Gaji adalah balas jasa yang dibayarkan secara periodik kepada pegawai serta mempunya jaminan yang pasti Upah adalah balas jasa yang dibayarkan kepada pekerja harian dengan pedoman atas perjanjian yang disepakati Upah insentif adalah tambahan atas balas jasa yang diberikan kepada pegawai atas dasar prestasi kerjanya Ada pula kompensasi tambahan berupa tunjangan hari raya, uang pensiun, pakaian dinas, kafetaria, mushala, olah raga, darmawisata, dan lain sebagainya. Tujuan pemberian kompensasi : a. Dengan pemberian kompensasi maka terjalin ikatan kerja sama formal antara majikan dan pegawai b. Sebagai balas jasa pegawai untuk memenuhi kebutuhan fisik, status, dan sosial pegawai c. Untuk pengadaan pegawai yang lebih efektif d. Sebagai motivasi kerja untuk pegawai e. Untuk meningkatkan disiplin pegawai f. Menghindari pengaruh serikat buruh
37 g. Menghindari intervensi pemerintah Jadi tujuan pemberian balas jasa ini hendaknya memberi kepuasan terhadap semua pihak, pegawai dapat memenuhi kebutuhannya, pengusaha mendapat laba, peraturan pemerintah ditaati, dan konsumen mendapatkan barang yang baik dengan harga yang pantas.
2.11.7 Pemberhentian Pemberhentian (Edwin B. Flippo,1995, p298) adalah pemutusan hubungan kerja seorang pegawai dengan perusahaan. Dengan pemberhentian ini berarti berakhirnya keterikatan kerja pegawai terhadap perusahaan tersebut. Alasan pemberhentian meliputi: undang – undang, keinginan perusahaan, keinginan pegawai, pensiun, kontrak kerja berakhir, kesehatan pegawai, meninggal dunia, atau perusahaan dilikuidasi.
2.11.8 Perencanaan sumber daya manusia Perencanaan SDM merupakan fungsi yang pertama harus dijalankan dalam organisasi. Perencanaa SDM adalah langkah tertentu yang diambil manajemen guna menjamin bahwa organisasi tersedia tenaga kerja yang tepat untuk menduduki berbagai kedudukan, jabatan, dan pekerjaan yang tepat pada waktu yang tepat.
2.11.9 Rekrutmen Maksud rekrutmen (Faustino, 1995, p276) adalah untuk mendapat persediaan sebanyak mungkin calon pelamar sehingga organisasi mempunyai pilihan yang lebih banyak untuk menetapkan calon pekerja.
38 Alasan dasar rekrutmen : a. Berdirinya organisasi baru b. Adanya perluasaan kegiatan organisasi c. Terciptanya pekerjaan dan kegiatan baru d. Adanya pekerja yang pindah ke organisasi lain e. Adanya pekerja yang berhenti baik dengan hormat ataupun tidak hormat f. Adanya pekerja yang memasuki usia pensiun g. Adanya pekerja yang meninggal dunia
2.11.10 Pelatihan dan pengembangan Pelatihan adalah setiap usaha untuk memperbaiki kinerja pekerja pada suatu perusahaan tertentu yang sedang menjadi tanggung jawabnya.
2.11.11 Peristilahan pekerjaan. Posisi (Malayu, 1997, p250) adalah sekelompok tugas yang ditugaskan kepada seseorang. Dalam suatu perusahaan terdapat sejumlah posisi yang sama banyaknya dengan jumlah pegawai. Istilah tersebut digunakan dalam pengertian teknis yang sempit untuk memudahkan analisis pekerjaan. Pekerjaan dapat dirumuskan sebagai suatu kelompok posisi yang mempunyai jenis dan tingkat kerja yang sama. Dalam beberapa hal mungkin hanya satu posisi yang dicakup karena tidak ada posisi lain. Misal dalam perusahaan tertentu posisi manajer personalia juga merupakan suatu pekerjaan karena hanya ada satu manajer personalia dalam perusahaan tersebut.
39 Jabatan adalah suatu kelompok pekerjaan yang mempunya jenis kerja yang sama dan ditemukan dalam seluruh industri di seluruh negeri. Analisis pekerjaan adalah proses mempelajari dan mengumpulkan informasi yang berhubungan dengan operasi dan tanggung jawab suatu pekerjaan tertentu.