BAB 2 LANDASAN TEORI 2.1 Sistem Basis Data “A database is a collection of data stored in a standarized format, designed to be shared by multiple users. (Post, 2005, p2)“, yang dapat diartikan, “Basis data adalah sekumpulan data yang disimpan dalam bentuk tertentu yang dirancang agar dapat digunakan oleh pengguna yang beragam”. Pengertian basis data menurut Connoly (2002, p14), “database is a shared collection of logically related data, and a description of this data, designed to meet the information needs of an organization.”, yang dapat diartikan, “Basis data adalah penggunaan bersama dari data yang terhubung secara logic dan deskripsi dari data, yang dirancang untuk memenuhi kebutuhan informasi dari suatu perusahaan”. 2.1.1 Manajemen Sistem Basis Data (Database Management System) Database Management System (DBMS) adalah sebuah piranti lunak yang mendefinisikan sebuah basis data, menyimpan data, mendukung query languange, menghasilkan laporan dan membuat layar memasukkan data. (Post, 2005, p2). DBMS adalah kumpulan data yang saling berhubungan dan sekumpulan program untuk mengakses data-data tersebut. (Silberschatz, 2002, p1). 386 DBMS adalah sebuah piranti lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara dan mengontrol akses ke basis data. (Connolly, 2002, p16). 2.1.2 Komponen DBMS Menurut Connolly (2002, p18) terdapat 5 komponen utama di dalam lingkungan DBMS, yaitu : a. Perangkat Keras Untuk manajemen basis data hanya dibutuhkan mesin standar, namun yang harus diperhatikan adalah kapasitas penyimpanan karena pada basis data akan dibutuhkan kapasitas yang besar. b. Piranti Lunak Komponen piranti lunak terdiri dari piranti lunak DBMS itu sendiri, pirnati 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 1 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 disini adalah suatu basis data dapat dipandang sebagai suatu kumpulan file-file yang terkait satu sama lain dengan menghilangkan redundansi yang ada. Pengertian dipakai bersama adalah setiap bagian 386 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 kelas pengguna dalam 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, menggunakan data dalam basis data untuk keperluan tugas atau fungsinya. 3. Administrator Basis Data (DBA), bertanggung jawab pada keseluruhan sistem basis data. 2.1.3 Keuntungan dan Kerugian DBMS DBMS memungkinkan untuk menciptakan basis data dalam penyimpanan akses langsung komputer, memelihara isinya, dan menyediakan isi tersebut bagi pemakai tanpa pemrograman khusus yang mahal. Ketika perusahaan atau pemakai individu memutuskan apakah akan menggunakan suatu DBMS, 386 keuntungan dan kerugiannya harus dipertimbangkan. Menurut McLeod (2004, p152), keuntungan DBMS adalah sebagai berikut : 1. Mengurangi pengulangan data Jumlah total file dikurangi dengan menghapus file-file duplikat. Juga hanya terdapat sedikit data yang sama di beberapa file. 2. Mencapai independensi data Spesifikasi data disimpan dalam skema daripada dalam tiap program aplikasi. Perubahan dapat dibuat pada stuktur data tanpa mengurangi program yang mengakses data. 3. Mengintegrasikan data dari beberapa file Ketika file dibentuk sehingga menyediakan kaitan login, organisasi fisik tidak lagi menjadi kendala. 4. Mengambil data dan informasi secara cepat Hubungan-hubungan login dan DML 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), directory pemakai, dan bahasa sandi (encryption). Data yang dikelola oleh DBMS juga lebih aman daripada data lain dalam perusahaan. 386 Sedangkan, kerugian dari DBMS (McLeod, 2004, p152)adalah sebagai berikut : 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 sering memerlukan kapasitas penyimpanan primer dan sekunder yang lebih besar daripada yang diperlukan oleh program aplikasi lain. Juga, kemudahan yang dibuat oleh DBMS dalam mengambil informasi mendorong lebih banyak terminal pemakai yang disertakan dalam konfigurasi daripada jika sebaliknya. 3. Memperkerjakan dan mempertahankan staf database adminstrator (DBA) DBMS memerlukan pengetahuan khusus agar dapat dimanfaatkan secara maksimal. Pengetahuan khusus ini disediakan paling baik oleh para pengelola basis data (DBA). 2.1.4 Entity Relationship Modelling 2.1.4.1 Entity Menurut Silberschatz (2002, p27) sebuah entity adalah “sesuatu” atau “benda” dalam dunia nyata yang berbeda dari objek lainnya. 386 Menurut Connolly (2002, p331) entity type adalah sekumpulan objek-objek dengan properti yang sama, yang diidentifikasikan dengan keberadaan yang independen di perusahaan. Sebuah entity mempunyai kumpulan properti dan nilai dari properti tersebut mengidentifikasikan entity secara unik. 2.1.4.2 Relationship Relationship adalah hubungan yang terjadi secara alami antara 1 atau lebih entity. (Whitten, 2004, p298). Relationship type adalah sebuah kumpulan yang memiliki arti antara entity type. (Connolly, 2002, p334) Setiap relationship type memiliki nama yang menjelaskan fungsinya. 2.1.4.3 Attribute Attribute adalah sifat-sifat atau karakteristik dari sebuah entity. (Whitten, 2004, p295) Attribute domain adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. (Connolly, 2002, p338) Simple attribute adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang bebas dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute. (Connolly, 2002, p339) Composite attribute adalah atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki 386 keberadaan yang bebas. Contoh atribut alamat dapat terdiri dari jalan, kota, kode pos. (Connolly, 2002, p339) 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. (Connolly, 2002, pp339-340) Derived attribute adalah atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entity. (Connolly, 2002, p340) 2.1.4.4 Key Key digunakan untuk mengidentifikasi kumpulan atribut yang dapat membedakan entity satu dengan yang lainnya. (Silberschatz, 2002, p35). Superkey adalah sebuah set satu atau lebih atribut untuk mengidentifikasi secara unik sebuah entity di dalam entity set. (Silberschatz, 2002, p35) Candidate key adalah jumlah minimal atribut-atribut yang dapat mengidentifikasi tiap kejadian atau record secara unik. (Connolly, 2002, p340) Primary key adalah candidate key yang dipilih oleh perancang basis data sebagai yang utama untuk mengidentifikasikan entity-entity di dalam entity set. (Silberschatz, 2002, p35) Primary key harus merupakan field-field yang benar-benar unik dan tidak boleh ada nilai NULL. 386 Foreign Key adalah primary key dari entity yang digunakan oleh entity lain untuk mengidentifikasikan kejadian dari suatu relationship. 2.1.5 Normalisasi Menurut Whitten (2004, p322) normalisasi adalah teknik analisis data yang mengorganisasikan data ke dalam sebuah grup untuk bentuk yang non redundant, stabil, fleksibel dan entity yang bersifat adaptif. Sebuah tabel yang belum dinormalisasi disebut UNF (Unnormalized Form). UNF merupakan suatu tabel yang berisikan satu atau lebih grup yang berulang. Proses pembentukan tabel normal (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 menurut Connolly (2002, p388) adalah sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai. 2. Bentuk Normal Kedua (second normal form / 2NF) Aturan bentuk normal kedua menurut Connolly (2002, p392) adalah 2NF merupakan sebuah relasi dalam 1NF dan setiap atribut bukan primary key bergantung secara fungsional kepada primary key. Bentuk 2NF adalah berdasarkan konsep ketergantungan fungsional penuh (full functional dependency). Full functional dependency dinyatakan dengan jika A dan B 386 merupakan atribut dari sebuah relasi, B adalah ketergantungan fungsional penuh terhadap A jika B adalah secara fungsional bergantung pada A tetapi bukan merupakan himpunan bagian dari A. 3. Bentuk Normal Ketiga (third normal form / 3NF) Aturan bentuk normal ketiga menurut Connoly (2002, p394) yaitu 3NF adalah sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut bukan primary key yang bersifat transitively dependent pada primary key.Bentuk 3NF berdasarkan konsep peralihan ketergantungan (transitive dependecy), yaitu suatu kondisi dimana A,B, dan C merupakan atribut dari sebuah relasi, maka jika A→B dan B→ C, maka C transitive dependency pada A melalui B. (Jika A tidak functionally dependent pada B atau C) 4. Bentuk Normal Boyce-Codd (Boyce-Codd normal form / BCNF) Menurut Connolly (2002, p398) 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.6 Siklus Hidup Basis Data (Database Application Lifecycle) 2.1.6.1 Perencanaan Basis Data (Database Planning) Perencanaan basis data adalah aktivitas manajemen yang mengatur atau merencanakan bagaimana tahapan-tahapan dalam siklus hidup basis data dapat diterapkan seefektif dan seefisien mungkin. (Connolly, 2002, p273). Ada tiga masalah pokok yang 386 harus diperhatikan dalam merumuskan strategi sistem informasi. (Connolly, 2002, p273) • Mengidentifikasi rencana dan tujuan perusahaan dengan menentukan sistem informasi yang diperlukan. • Mengevaluasi sistem informasi yang ada untuk melihat kelebihan dan kekurangannya. • Penilaian mengenai peluang IT yang mungkin menghasilkan keuntungan yang kompetitif. 2.1.6.2 Definisi Sistem Basis Data ( System Definition) Aktivitas utama dalam pendefinisian sistem basis data adalah mendeskripsikan ruang lingkup dari aplikasi basis data yang akan dibuat termasuk pengguna dan tempat aplikasi diterapkan. (Connolly, 2002, p274). Sebelum mencoba untuk merancang suatu aplikasi basis data, sangatlah 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 batasanbatasan sistem yang telah dibuat tidak hanya untuk aplikasi dan pemakai saat ini saja tetapi bisa digunakan di masa yang akan datang. 386 2.1.6.3 Analisa dan Pengumpulan Kebutuhan (Requirements Collection and Analysis) 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. (Connolly, 2002, p276). Untuk melaksanakan proses itu digunakan teknik yang disebut dengan fact finding techniques. Terdapat 5 fact finding techniques yang umum digunakan (Connolly, 2002, p305) : 1. Mengevaluasi dokumen-dokumen yang ada 2. Wawancara 3. Mengobservasi jalannya kegiatan kerja pada perusahaan 4. Penelitian 5. Kuisioiner 2.1.6.4 Perancangan Basis Data (Database Design) Perancangan basis data adalah proses membuat sebuah perancangan untuk sebuah basis data yang mendukung kegiatan operasional dan tujuan dari suatu perusahaan. (Connolly, 2002, p279). Proses ini dibagi menjadi 3 tahap.yaitu: 2.1.6.4.1 Perancangan Basis Data Konseptual (Conceptual Database Design) Langkah awal dalam perancangan basis data konseptual adalah membuat model data secara konseptual dari 386 perusahaan yang bersangkutan. Model data dibangun berdasrakan informasi-informasi yang di dokumentasikan di dalam spesifikasi kebutuhan pengguna. Perancangan basis data konseptual tidak bergantung kepada detail-detail implementasi seperti perangkat lunak DBMS, program aplikasi, bahasa pemrograman, perangkat keras atau pertimbangan fisikal lainnya.Dalam perancangan basis data konseptual data yang ada dikembangkan dengan representasi secara konseptual yang mencakup mengidentifikasi entity, relationship dan atribut yang sangat penting dalam perancangan basis data tersebut. Model data konseptual akan digunakan sebagai informasi untuk tahap selanjutnya yaitu perancangan basis data logikal. 2.1.6.4.2 Perancangan Basis Data Logikal (Logical Database Design) Dalam perancangan basis data logikal, model data yang telah diperoleh dalam perancangan basis data konseptual diubah dalam bentuk model logikal yang dipengaruhi oleh model data untuk menjadi tujuan basis data. Model data logikal merupakan sumber informasi dalam merancang basis data fisikal. Model data logikal memberikan sarana yang membantu perancang dalam merancang basis data fisikal. 386 2.1.6.4.3 Perancangan Basis Data Fisikal (Physical Database Design) Perancangan basis data fisikal dilakukan untuk memutuskan struktur logik secara fisik diimplementasikan ke dalam tujuan Database Management System (DBMS), para perancang juga harus membuat keputusan mengenai bagaimana basis data tersebut dapat diimplementasikan,/ diterapkan dalam perusahaan. Oleh karena itu perancangan basis data fisikal harus disesuaikan dengan DBMS yang spesifik. 2.1.6.5 Pemilihan DBMS (DBMS Selection) Pemilihan DBMS dilakukan untuk memilih DBMS yang cocok atau sesuai dengan aplikasi basis data. Berikut ini adalah langkah-langkah utama dalam memilih DBMS (Connolly, 2002, p284) : 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. 2.1.6.6 Perancangan Aplikasi (Application Design) Menurut Connolly (2002, p287), perancangan aplikasi adalah merancang antar muka pemakai (user interface) dan program 386 aplikasi, yang akan memproses basis data. Dalam siklus hidup aplikasi basis data, perancangan basis data dan perancangan aplikasi adalah aktivitas sebenarnya, yang adalah dilakukan tidak bersamaan. mungkin untuk Dalam kasus menyelesaikan perancangan aplikasi sebelum perancangan basis data selesai. Dalam perancangan aplikasi harus memastikan semua pernyataan fungsional dari spesifikasi kebutuhan pemakai (user requirement specification) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu cara akses ke basis data dan perubahan terhadap isi basis data (retrieve ,update dan kegiatan ke duanya). 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 niscaya 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. 2.1.6.7 Pembuatan Model Kerja (Prototyping) Aktivitas utama pembuatan model kerja adalah membangun suatu model kerja dari aplikasi basis data. (Connolly, 2002, p291). Tujuan utama mengembangkan suatu prototype aplikasi basis data adalah mengijinkan para pemakai untuk menggunakan prototype 386 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. Ada dua strategi membuat prototype yaitu requirements prototyping dan evolutionary prototyping. (Connolly, 2002, p291). Requirements prototyping digunakan untuk menentukan kebutuhan suatu aplikasi basis data yang diusulkan dan ketika kebutuhan dirasakan sudah 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. 2.1.6.8 Implementasi (Implementation) Implementasi merupakan perwujudan fisik dari basis data dan perancangan aplikasi (Connolly, 2002, p292). Tahap implementasi basis data dan program aplikasi dilakukan setelah menyelesaikan tahap perancangan (dengan atau tanpa prototipe). 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 386 low level. Pernyataan DDL digunakan untuk menciptakan struktur 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 pemograman, 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. 2.1.6.9 Data Conversion and Loading 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 (Connolly, 2002, p293). Tahap ini dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama. Pada masa sekarang, umumnya DBMS memiliki kegunaan (utility) untuk memasukan file ke dalam basis data baru. Biasanya membutuhkan spesifikasi dari 386 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. 2.1.6.10 Pengujian (Testing) Pengujian adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan (Connolly, 2002, p293). Dalam melakukan pengujian, para pemakai sistem yang baru harus dilibatkan untuk menguji proses aplikasi dan basis data tersebut. Situasi yang ideal untuk pengujian sistem adalah memiliki suatu tes basis data pada suatu separate sistem perangkat keras, tetapi ini sering tidak tersedia. Jika data riil diharapkan untuk digunakan, maka adalah penting untuk memiliki backup. Setelah pengujian diselesaikan, maka sistem aplikasi dan basis data ini telah siap digunakan. 2.1.6.11 Pemeliharaan Operasional (Operational Maintenance) Setelah melalui tahap-tahap sebelumnya maka sistem sekarang telah berada pada tahap pemeliharaan (maintenance), yang melibatkan aktivitas yang berikut (Connolly, 2002, p293): a. Mengawasi kinerja dari sistem. Jika kinerja jatuh di bawah suatu tingkatan yang bisa diterima, penyetelan atau reorganisasi basis data mungkin diperlukan. 386 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. Perubahan ini menyediakan informasi pada evolusi sistem dan sumber daya yang pada masa yang akan depan mungkin dibutuhkan. Hal ini memungkinkan DBA untuk terlibat dalam perencanaan kapasitas dan untuk memberitahu staf senior siaga untuk melakukan penyesuaian rencana. Jika DBMS kekurangan kegunaan tertentu, DBA dapat mengembangkan kegunaan yang diperlukan atau membeli tools tambahan, jika tersedia. 2.1.7 Faktor- faktor Penting dalam Merancang Basis Data Berikut ini merupakan faktor-faktor penting dalam merancang suatu basis data, yaitu (Connolly, 2002, p420) : • Mengadakan pertemuan dengan pengguna sesering mungkin untuk membicarakan rancangan basis data yang akan dibuat. 386 • Mengikuti langkah-langkah yang terdapat dalam metodologi perancangan basis data. • Melakukan pendekatan terhadap data-data yang akan digunakan. • Menggabungkan pertimbangan integritas dan struktural ke dalam model data. • Menggabungkan konseptual, normalisasi dan validasi transaksi ke dalam metodologi model data. • Menggunakan diagram untuk menjelaskan model data tersebut. • Menggunakan Databse Design Languange (DBDL) untuk menjelaskan tambahan data yang tidak bisa dijelaskan dengan menggunakan diagram. • Membuat kamus data untuk mendukung diagram dari model data dan DBDL. 2.1.8 SQL (Structured Query Languange) SQL adalah sebuah contoh dari transform oriented languange atau sebuah bahasa yang dirancang untuk menggunakan relasi untuk mengubah input menjadi output yang dibutuhkan. (Connolly, 2002, p111). Standar SQL memiliki 2 komponen utama,yaitu : a. Data Definition Languange (DDL) untuk mendefinisikan struktur basis data dan mengontrol akses ke data.Contoh : • Create Table Pernyataan create table digunakan untuk membuat tabel dengan mengidentifikasikan tipe data untuk tiap kolom. 386 • Alter Table Pernyataan alter table digunakan untuk menambah atau membuang kolom dan konstrain. • Drop Table Pernyataan drop table digunakan untuk membuang atau menghapus tabel beserta semua data yang terkait di dalamnya. b. Data Manipulation Languange (DML) untuk menerima dan melakukan perubahan pada data. Contoh : • 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. 386 2.2 Konsep Dasar Manajemen Sumber Daya Manusia 2.2.1 Definisi Manajemen Sumber Daya Manusia Manajemen adalah ilmu dan seni yang mengatur proses pemanfaatan sumber daya manusia lainnya secara efektif dan efisien untuk mencapai suatu tujuan tertentu (Hasibuan, 2002, p2). Menurut Mathis (2003, p4) manajemen sumber daya manusia adalah sebuah perancangan dari sistem formal dalam sebuah organisasi untuk memastikan keefektifitasan dan keefisienan penggunaan kemampuan manusia untuk mencapai tujuan akhir dari organisasi. Menurut Hasibuan (2002, p10) manajemen sumber daya manusia adalah ilmu dan seni yang mengatur hubungan dan peranan tenaga kerja agar efektif dan efisien membantu terwujudnya tujuan perusahaan, karyawan dan masyarakat 2.2.2 Fungsi-fungsi Manajemen Sumber Daya Manusia Menurut Hasibuan (2002, p21) terdapat 11 fungsi dari manajemen sumber daya manusia. 4 fungsi pertama termasuk dalam fungsi manajemen dan 7 fungsi berikutnya merupakan fungsi operasional. Fungsi-fungsi tersebut adalah sebagai berikut : 1. Perencanaan Menurut Mathis (2003, p35) perencanaan sumber daya manusia adalah sebuah proses menganalisa dan mengidentifikasikan kebutuhan dan ketersediaan dari sumber daya manusia, sehingga organisasi dapat mencapai tujuannya. 386 2. Pengorganisasian Menurut Dessler (2003, p2) pengorganisasian adalah aktivitas memberikan tugas yang khhusus ke setiap bagian; membuat departemendepartemen; mendelegasikan wewenang untuk membawahi bagianbagian; membuat sebuah jalur dari wewenang dan komunikasi; mengkoordinasikan kerja dari masing-masing bagian. 3. Pengarahan Menurut Hasibuan (2002, p22) pengarahan adalah kegiatan mengarahkan semua karyawan agar mau bekerja sama dan bekerja efektif serta efisien dalam membantu tercapainya tujuan perusahaan, karyawan, dan masyarakat. Pengarahan dilakukan pimpinan dengan menugaskan bawahannya agar mengerjakan semua tugasnya dengan baik. 4. Pengendalian Menurut Hasibuan (2002, p24) pengendalian adalah kegiatan mengendalikan semua karyawan, agar mentaati peraturan-peraturan perusahaan dan bekerja sesuai dengan rencana. Apabila terdapat penyimpangan atau kesalahan, diadakan tindakan perbaikan dan penyempurnaan rencana. Pengendalian karyawan meliputi kehadiran, kedisplinan, perilaku, kerja sama, pelaksanaan pekerjaan dan menjaga situasi lingkungan pekerjaan. 5. Pengadaan tenaga kerja Pengadaan adalah proses penarikan, seleksi, penempatan, orientasi, dan induksi untuk mendapatkan karyawan yang sesuai dengan kebutuhan perusahaan (Hasibuan, 2002, p22). 386 Menurut Mathis (2003, p212) ada 2 sumber tenaga kerja, yaitu: a. Sumber dari luar Sumber dari luar adalah karyawan yang akan mengisi jabatan yang lowong, dilakukan penarikan dari sumber-sumber tenaga kerja di luar perusahaan, antara lain berasal dari : • Hubungan keluarga. • Datang sendiri karena adanya pengumuman-pengumunan, iklan atau siaran-siaran radio. • Lembaga-lembaga pendidikan ( sekolah, perguruan tinggi ) dan tempat-tempat latihan tenaga kerja setelah mereka tamat dari lembaga pendidikan yang bersangkutan. • Instansi pemerintah ( kantor penempatan tenaga kerja, Departemen Tenaga Kerja ) b. Sumber dari dalam Sumber dari dalam adalah karyawan yang akan mengisi lowongan kerja yang lowong, diambil dari dalam perusahaan tersebut, yakni dengan cara memutasikan atau memindahkan karyawan yang memenuhi spesifikasi pekerjaan jabatan itu. Pemindahan karyawan bersifat vertikal (promosi ataupun demosi) maupun bersifat horizontal. Jika masih ada karyawan yang memenuhi spesifikasi pekerjaan sebaiknya pengisian jabatan tersbut diambil dari dalam perusahaan, khususnya untuk jabatan manajerial. Hal ini sangat 386 penting untuk memberikan kesempatan promosi bagi karyawan yang ada. 6. Pengembangan Menurut Noe (2000, p318) pengembangan mengacu kepada pendidikan formal, pengalaman kerja, hubungan, serta kemampuan yang membantu karyawan dalam menghadapi masa depan. Menurut Dessler (2003, p187) pelatihan adalah proses mengajari karyawan baru kemampuan dasar yang mereka butuhkan untuk mengerjakan tugas mereka. Perbedaan pelatihan dengan pengembangan (Noe, 2000, p319): Fokus Penggunaan Pelatihan Pengembangan Masa sekarang Masa Depan Pengalaman Rendah Tinggi Kerja Tujuan Mempersiapakn Partisipasi untuk Mempersiapakn pekerjaan yang sekarang perubahan Dibutuhkan Sukarela untuk 7. Kompensasi Menurut Dessler (2003, p302) kompensasi adalah semua bentuk pembayaran atau rewards yang diberikan kepada karyawan meningkatkan penampilan kerja mereka. 386 dan dapat Menurut Hasibuan (2002, p118) kompensasi dibagi menjadi 2, yaitu : a. Kompensasi langsung, berupa gaji, upah, upah insentif. Gaji adalah balas jasa yang dibayar secara periodik kepada karyawan tetap serta mempunyai jaminan yang pasti. Upah adalah balas jasa yang dibayarkan kepada pekerja harian dengan berpedoman atas perjanjian yang disepakati membayarnya. Upah insentif adalah tambahan balas jasa yang diberikan kepada karyawan tertentu yang prestasinya diatas prestasi standar. b. Kompensasi tidak langsung ( indirect compensation, atau employee welafare atau kesejahteraan karyawan ) Benefit dan service adalah kompensasi tambahan ( finansial atau non finansial ) yang diberikan berdasarakan kebijaksanaan perusahaan terhadap semua karyawan dalam usaha untuk meningkatkan kesejahteraan mereka. Seperti tunjangan hari raya, uang pensiun, pakaian dinas, kafetaria, mushola, olahraga dan darmawisata. 8. Pengintegrasian Menurut Hasibuan (2002, p23) pengintegrasian adalah kegiatan untuk mempersatukan kepentingan perusahaan dan kebutuhan karyawan, agar tercipta kerja sama yang serasi dan saling menguntungkan. Perusahaan memperoleh keuntungan, karyawan dapat memenuhi kebutuhan dari hasil pekerjaannya. Pengintegrasian merupakan hal yang penting dan sulit dalam manajemen sumber daya manusia karena mempersatukan dua kepentingan yang bertolak belakang. 386 9. Pemeliharaan Pemeliharaan adalah kegiatan untuk memelihara atau meningkatkan kondisi fisik, mental dan loyalitas karyawan agar mereka tetap mau bekerja sama sampai pensiun. ( Hasibuan, 2002, p23). Pemeliharan yang baik dilakukan dengan program kesejahteraan yang berdasarkan kebutuhan sebagian besar karyawan serta berpedoman kepada internal dan eksternal konsistensi. 10. Kedisiplinan Kedisiplinan adalah kesadaran dan kesediaan seseorang menaati semua peraturan perusahaan dan norma-norma sosial yang berlaku (Hasibuan, 2002, p193). Kesadaran adalah sikap seseorang yang secara sukarela menaati dan semua peraturan dan sadar akan tugas dan tanggung jawabnya. Kesediaan adalah suatu sikap, tingkah laku, dan perbuatan seseorang yang sesuai dengan peraturan perusahaan, baik yang tertulis maupun yang tidak tertulis. 11. Pemberhentian Pemberhentian adalah pemutusan hubungan kerja seorang karyawan dengan suatu organisasi perusahaan. (Hasibuan, 2002, p209). Menurut Hasibuan (2002, p210) berdasarkan alasan-alasan berikut : a. Undang-undang b. Keinginan perusahaan c. Keinginan karyawan d. Pensiun 386 pemberhentian karyawan bisa e. Kontrak kerja berakhir f. Meninggal dunia g. Perusahaan dilikuidasi 386