BAB 2 LANDASAN TEORI
2.1
Teori-Teori Umum 2.1.1
Basis Data Pengertian Data Data merupakan komponen terpenting dari DBMS. Data bertindak sebagai jembatan yang menghubungkan komponen mesin dengan komponen orang (Connolly dan Begg, 2005, p20). Representasi dari objek dan peristiwa yang memiliki arti dan makna yang penting dalam lingkungan pengguna (Hoffer, 2005, p5). Sehingga dapat disimpulkan bahwa data adalah representasi dari objek dan peristiwa yang bertindak sebagai penghubung, memiliki arti dan makna bagi lingkungan pengguna. Pengertian Basis Data Basis data adalah sekumpulan data maupun deskripsi tentang data, yang secara logis saling berhubungan untuk digunakan bersama, dalam rangka memenuhi kebutuhan informasi dari suatu organisasi (Connolly dan Begg, 2005, p15). Basis data adalah suatu koleksi data komputer yang terintegrasi, diorganisasikan dan disimpan dengan suatu cara yang memudahkan pengambilan kembali (McLeod, 2001, p258). Tujuan utama dari konsep
7
8 basis data adalah meminimumkan pengulangan data dan mencapai independensi data. Basis data merupakan koleksi data yang terdiri atas entitas dan relationship
yang
saling
berhubungan
satu
dengan
yang
lain
(Ramakrishnan dan Gehrke, 2003, p4). Sehingga dapat disimpulkan bahwa basis data adalah koleksi data pada komputer maupun deskripsi data yang terintegrasi dan berelasi secara logis yang terdiri dari entitas dan relationship, didesain dan disimpan dengan suatu cara tertentu yang akan memudahkan dalam pengambilan kembali. Struktur File Basis Data Basis data memiliki struktur file dalam pengaturan data, yaitu : 1) Data, adalah satuan informasi yang akan diolah, dimana sebelum diolah dikumpulkan di dalam suatu file basis data. Pengumpulan data dilakukan secara sistematis menurut struktur file basis data tersebut. 2) Record, adalah sebuah data yang isinya merupakan suatu kesatuan. Setiap keterangan yang mencakup kesatuan tersebut dinamakan satu record. Dan setiap record diberi nomor urut yang disebut nomor record (record number). Ukuran suatu file basis data ditentukan oleh jumlah record yang tersimpan di dalamnya. 3) Field, merupakan kesatuan terkecil dari informasi dalam sebuah basis data. Sekumpulan field yang saling berkaitan akan membentuk record.
9 Keuntungan Basis Data Beberapa keuntungan yang didapat dari penggunaan basis data, antara lain :
Salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi.
Meningkatkan kualitas informasi yang akurat, efektif dan relevan sehingga informasi yang dihasilkan lebih bernilai.
Mengurangi duplikasi data (data redudancy).
Hubungan data dapat ditingkatkan (data relationability).
Mengurangi pemborosan tempat simpanan luar.
Kerugian Basis Data Meskipun memberikan banyak keuntungan, basis data juga tetap memiliki kelemahan dalam penggunaannya, antara lain :
Lebih kompleks dari teknologi file.
Teknologi basis data membutuhkan biaya investasi yang cukup besar.
Tempat penyimpanan yang dibutuhkan besar.
Kerusakan pada basis data dapat mempengaruhi departemen lain yang terkait.
2.1.2
Database Management System (DBMS) Pengertian DBMS DBMS adalah suatu perangkat lunak yang bisa digunakan untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke dalam basis data (Connolly dan Begg, 2005, p16).
10 DBMS adalah perangkat lunak yang dirancang untuk membantu dalam memelihara dan menggunakan kumpulan data yang berukuran besar (Ramakrishnan dan Gehrke, 2003, p4). DBMS merupakan perangkat yang mendefinisikan basis data, menyimpan data, mendukung bahasa query, menghasilkan laporan, dan membuat data entry screen (Post, 2005, p2). Sehingga dapat disimpulkan bahwa database management system merupakan sebuah perangkat lunak yang digunakan untuk mendefinisikan, menyimpan, dan mengontrol hak akses ke dalam basis data yang dapat membantu dalam penggunaan kumpulan data yang berukuran besar. Komponen Utama DBMS Terdapat lima komponen utama pembentuk DBMS, yaitu :
Gambar 2.1 Komponen Utama DBMS (Sumber : Connolly dan Begg, 2005, p19) 1) Hardware
Meliputi personal computer sampai dengan jaringan komputer.
Tempat penyimpanan secondary (magnetic disk), I/O device, contohnya disk drives, device controller, I/O channels, dan yang lainnya.
11
Hardware processor dan main memory, digunakan untuk mendukung saat eksekusi sistem perangkat lunak basis data.
2) Software DBMS, sistem operasi, network software (jika diperlukan) dan program aplikasi pendukung lainnya. 3) Data Data pada sebuah sistem basis data baik itu single-user system maupun multi-user system harus terintegrasi dan dapat digunakan bersama (integrated and shared). 4) Procedures Instruksi dan aturan yang harus disertakan dalam mendesain dan menggunakan basis data dan DBMS. 5) People
Data Administrator (DA) adalah seseorang yang bertanggung jawab mengatur
sumber
data
termasuk
perencanaan
basis
data,
pengembangan dan pemeliharaan sesuai standar, kebijaksanaan dan prosedur, desain konseptual atau logikal basis data.
Database Administrator (DBA), bertanggung jawab terhadap realisasi fisikal basis data, termasuk desain fisikal basis data dan implementasi, keamanan dan integritas kontrol, pemeliharaan sistem operasi, dan menjamin kepuasan pengguna atas kinerja aplikasi.
12
Database Designer (logical dan physical) Dalam proyek desain basis data besar, dapat dibagi menjadi dua tipe desainer : 9 Desainer logikal basis data, berhubungan dengan identifikasi data (entitas dan atribut), hubungan antar data, dan kendala data untuk disimpan dalam basis data. 9 Desainer fisikal basis data memutuskan bagaimana desain logikal basis data dapat direalisasikan secara fisikal.
End Users merupakan ‘client’ dari basis data, dimana basis data yang telah didesain dan diimplementasikan, dan dipelihara sehingga dapat memenuhi informasi yang diperlukan.
Fungsi DBMS Sebagai perangkat lunak penunjang aplikasi basis data, DBMS memiliki banyak fungsi, antara lain :
Data definition, yang artinya DBMS harus dapat mengolah pendefinisian data.
Data manipulation, yang artinya DBMS harus dapat menangani permintaan dari pemakai untuk mengakses data.
Data security and integrity, yang artinya DBMS harus dapat memeriksa dan menjamin keamanan serta integritas data.
Data recovery and concurrency, yang artinya DBMS harus dapat menangani kegagalan pengaksesan basis data yang disebabkan oleh kesalahan sistem, kerusakan disk dan sebagainya. DBMS juga harus dapat memantau pengaksesan data yang konkuren yaitu bila suatu data
13 diakses secara bersama oleh lebih dari satu pemakai pada saat bersamaan.
Data dictionary, yang artinya DBMS sebagai tempat penyimpanan informasi yang menggambarkan data dalam basis data. Data dictionary kadang disebut juga metadata (data tentang data).
Keuntungan DBMS Beberapa keuntungan dalam penggunaan DBMS berdasarkan Connolly dan Begg (2005, p26) :
Redudansi data dapat dikontrol (control of data redundancy).
Data yang konsisten (data consistency).
Banyak informasi yang didapat dari sejumlah data yang sama (more information from the same amount of data).
Penggunaan data bersama (sharing of data).
Meningkatkan integritas data (improved data integrity).
Meningkatkan keamanan (improved security).
Pelaksanaan standarisasi (enforcement of standard).
Skala ekonomi (economy of scale).
Kebutuhan user yang kompleks dapat teratasi (balanced of conflicting requirements).
Meningkatkan aksesibilitas data dan responsif (improved data accessibility and responsiveness).
Meningkatkan produktivitas (increased productivity).
Meningkatkan pemeliharaan data melalui kebebasan data (improved maintenance through data independence).
14
Meningkatkan concurrency (increased concurrency).
Meningkatkan layanan back up dan pemulihan semakin baik (improved back up and recovery services).
Kerugian DBMS Beberapa kelemahan dari penggunaan DBMS berdasarkan Connolly dan Begg (2005, p29) :
Kompleksitas (complexity).
Memerlukan ukuran yang besar (size).
Biaya DBMS yang mahal (cost of DBMSs).
Biaya penambahan perangkat keras (additional hardware costs).
Biaya konversi tinggi (cost of conversion).
Performa sistem dapat tidak sesuai dengan keinginan (performance).
Menimbulkan pengaruh yang besar pada perusahaan jika terjadi kegagalan sistem (higher impact of a failure).
2.1.3
Relational Model Pengertian Relational Model Relational model memainkan peranan yang sangat penting dalam berbagai perancangan basis data. Dapat diartikan bahwa relational model merupakan suatu bentuk relational sistem model data yang didasarkan pada konsep matematika, dimana secara fisik direpresentasikan sebagai sebuah tabel (Connolly dan Begg, 2005, p71). Ada tiga alasan mengapa model relasi mempunyai peranan penting dalam perancangan basis data, yaitu :
15
Μempunyai piranti komunikasi yang baik antara user dan designer, artinya relasi merepresentasikan struktur data yang dapat dimengerti oleh user maupun designer.
Μodel relasional mendefinisikan salah satu kriteria perancangan basis data yang paling penting, yaitu relasi bentuk normal.
Struktur data yang direpresentasikan oleh relasi dapat segera dikonversikan dan diimplementasikan ke dalam RDBMS.
Relational Data Structure Relation Relation adalah tabel yang berisi kolom dan baris. Attribute Attribute adalah nama kolom dari sebuah relasi. Dalam relational model, relation digunakan untuk mendapatkan informasi tentang objek yang direpresentasikan dalam basis data. Sebuah relasi direpresentasikan sebagai tabel dua dimensi, dimana baris pada tabel menyerupai record dan kolom pada tabel menyerupai atribut. Domain Domain adalah himpunan dari nilai yang diperbolehkan untuk satu atau lebih atribut. Tupple Tupple adalah baris dari sebuah relasi.
16 Degree Degree dari sebuah relasi adalah jumlah atribut yang terkandung. Relasi yang hanya memiliki satu atribut disebut unary atau one-tuple. Relasi dengan dua atribut disebut binary. Cardinality Cardinality dalam sebuah relasi adalah jumlah baris yang terkandung. Relational Database Relational database adalah kumpulan dari relasi yang telah ternormalisasi dengan nama relasi yang berbeda. Relational Key Relational key adalah identifikasi secara unik setiap baris dalam sebuah relasi. Super Key Super
Key
adalah
sebuah
atribut
atau
himpunan
atribut
yang
mengidentifikasikan sebuah baris secara unik dalam sebuah relasi. Candidate Key Candidate key adalah jumlah minimal atribut-atribut yang dapat mengidentifikasikan setiap record secara unik. Primary Key Primary key adalah candidate key yang terpilih untuk mengidentifikasikan baris secara unik dalam sebuah relasi. Selama sebuah relasi tidak mempunyai duplikat baris, ada kemungkinan untuk mengidentifikasi baris secara unik. Hal ini menandakan bahwa sebuah relasi selalu memiliki
17 primary key. Candidate key yang tidak terpilih menjadi primary key disebut alternate key. Foreign Key Foreign key adalah atribut atau himpunan atribut dalam sebuah relasi yang cocok dengan candidate key dari beberapa relasi.
2.1.4
ER Modelling Pengertian ER Modelling ER modelling adalah salah satu bentuk pendekatan top-down dalam perancangan basis data yang dimulai dengan mengidentifikasikan data yang penting yang disebut entitas dan hubungannya (relationship) antara data tersebut yang harus direpresentasikan dalam sebuah model (Connolly dan Begg 2005, p342). Tipe Entitas Tipe entitas adalah kumpulan objek yang memiliki properti yang sama (Connolly dan Begg, 2005, p343). Contoh representasi dari tipe entitas dapat dilihat pada gambar 2.2. Entitas
Pegawai Gambar 2.2 Representasi Diagram dari Tipe Entitas Pegawai Relationship Type Relationship type adalah sekumpulan hubungan antar tipe entitas yang memiliki makna antara tipe-tipe entitas (Connolly dan Begg, 2005,
18 p346). Sedangkan relationship occurrence adalah sebuah hubungan yang dapat diidentifikasi secara unik, yang meliputi sebuah kejadian dari setiap entitas di dalam relasi (Connolly dan Begg, 2005, p346). Contoh relationship type dapat dilihat pada gambar 2.3. Memiliki Pegawai
Cabang
Gambar 2.3 Relationship Type Setiap relasi direpresentasikan dengan garis yang menghubungkan tipe entitas yang saling berhubungan. Garis tersebut diberi nama sesuai dengan nama hubungannya. Biasanya nama relasi yang digunakan merupakan kata kerja dan huruf pertama dari nama relasi ditulis dalam huruf besar. Setelah menentukan nama relasi, tanda panah diletakkan disamping nama relasi yang mengindikasikan arah bagi pembaca untuk mengartikan nama dari suatu relasi. a) Degree of Relationship Type Degree of relationship type adalah jumlah tipe entitas yang berpartisipasi dalam suatu relasi (Connolly dan Begg, 2005, p347). Derajat dari relationship diindikasikan dengan jumlah tipe entitas yang terdapat dalam sebuah relasi. Sebuah relasi yang memiliki derajat dua disebut binary. Sedangkan relasi yang memiliki derajat tiga disebut ternary, dan untuk relasi yang memiliki derajat empat disebut quaternary (Connolly dan Begg, 2005, p348).
19 b) Recursive Relationship Recursive relationship adalah tipe relasi dimana entitas yang sama ikut serta lebih dari satu kali dengan peran yang berbeda (Connolly dan Begg, 2005, p349). Relationship dapat diberikan nama perannya (role names) untuk mengindikasikan tujuan dari peranan setiap entitas di dalam relationship, role names sangat penting pada recursive relationship untuk menegaskan fungsi dari setiap entitas yang berpartisipasi. Attribute Attribute adalah properti dari sebuah entity atau relationship (Connolly dan Begg, 2005, p350). Attribute dapat diklasifikasikan menjadi empat tipe, yaitu : a) Simple and Composite Attributes Simple attribute adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil (Connolly dan Begg, 2005, p351). Composite attribute, yaitu atribut yang terdiri dari beberapa komponen, di mana masing-masing komponen memiliki keberadaan yang independen kecil (Connolly dan Begg, 2005, p351). b) Single - Valued and Multi -Valued Attributes Single-valued, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian kecil (Connolly dan Begg, 2005, p351). Multi-valued, yaitu atribut yang mempunyai nilai untuk setiap kejadian kecil (Connolly dan Begg, 2005, p352).
20 c) Derived Attributes Derived attributes yakni atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut yang tidak diperlukan dalam entitas yang sejenis (Connolly dan Begg, 2005, p352). d) Keys Candidate key, yaitu jumlah minimal atribut-atribut yang dapat mengidentifikasikan setiap record secara unik. Primary key, yaitu candidate key yang dipilih untuk mengidentifikasi setiap record dari suatu tipe entitas secara unik. Composite key, yaitu candidate key yang terdiri dari dua atau lebih atribut. Strong and Weak Entity Types Strong entity, yaitu jenis suatu entitas yang tidak bergantung pada keberadaan entitas lain (Connolly dan Begg, 2005, p354). Karakteristik dari strong entity yakni setiap entitas diidentifikasi secara unik menggunakan atribut primary key dari tipe entitas. Weak entity, yaitu jenis entitas yang keberadaannya bergantung pada tipe entitas lain (Connolly dan Begg, 2005, p355). Karakteristik dari weak entity yakni setiap entitas tidak dapat diidentifikasi secara unik hanya menggunakan atribut yang terkait dengan tipe entitas. Structural Constraints Multiplicity adalah jumlah kemunculan yang mungkin dari sebuah tipe entitas yang berhubungan dengan kemunculan tunggal dari sebuah
21 tipe entitas yang berhubungan melalui relasi tertentu (Connolly dan Begg, 2005, p356). Seperti yang telah dijelaskan sebelumnya, tingkat derajat yang umum adalah binary. Relasi binary yang umumnya terjadi yaitu : 1) One-to-One (1:1) Relationship Relasi dimana setiap entitas yang ada hanya dapat mempunyai maksimal satu relasi dengan entitas yang lain.
Gambar 2.4 Relasi One-to-One antara Cabang dan Staf Pada gambar diatas relasi yang terjadi adalah one-to-one yakni satu staf hanya mengatur satu cabang. 2) One-to-Many (1:*) Relationship Relasi dimana entitas dapat mempunyai satu atau lebih dari satu relasi dengan entitas yang lain.
22
Gambar 2.5 Relasi One-to-Many antara Staf dan Konsumen Pada gambar diatas relasi yang terjadi adalah one-to-many yakni satu staf dapat melayani lebih dari satu konsumen. 3) Many-to-Many (*:*) Relationship Relasi dimana setiap entitas dapat mempunyai lebih dari satu relasi dengan entitas yang lain.
Gambar 2.6 Relasi Many-to-Many antara Koran dan Iklan
23 Pada gambar diatas relasi yang terjadi adalah relasi many-tomany, dimana setiap koran dapat mengiklankan lebih dari satu rumah.
4) Cardinality dan Participation Constraints Multiplicity terdiri dari dua batasan yang dikenal dengan sebutan
cardinality
dan
participation.
Cardinality
menggambarkan jumlah maksimum relasi yang mungkin terjadi dari sebuah entitas yang berpartisipasi dalam tipe relasi (Connolly dan Begg, 2005, p363). Yang termasuk cardinality dari relasi binary antara lain, one-to-one (1:1), one-to-many (1:*), many-to-many (*:*). Participation menentukan apakah semua atau hanya sebagian entitas yang berpartisipasi dalam sebuah relasi (Connolly dan Begg, 2005, p363).
24
Gambar 2.7 Cardinality dan Participation Constraint antara Cabang dan Staf (Sumber : Connolly dan Begg, 2005, p363) 2.1.5
Normalisasi Pengertian Normalisasi Normalisasi adalah proses formal dalam menentukan atribut mana yang harus dikelompokkan bersama dalam satu relasi (Hoffer, 2002, p189). Normalisasi adalah proses penentuan dari tabel-tabel yang sesuai untuk suatu basis data (Post, 2002, p66). Normalisasi merupakan suatu teknik untuk menghasilkan himpunan relasi dengan properti yang diinginkan, untuk menyediakan kebutuhan data yang diperlukan oleh perusahaan (Connolly dan Begg, 2005, p388).
25 Sehingga dapat disimpulkan bahwa normalisasi adalah suatu teknik formal dalam menentukan atribut dan menghasilkan kumpulan relasi yang bertujuan untuk menyediakan kebutuhan data yang diperlukan oleh perusahaan. Tujuan dan Manfaat Normalisasi Tujuan dilakukannya normalisasi ialah : 1) Menjamin struktur data yang konsisten. 2) Kerangkapan data yang minimal. 3) Stabilitas struktur data yang maksimal. Manfaat dari normalisasi ialah : 1) Meminimalkan jumlah kapasitas penyimpanan yang diperlukan untuk menyimpan data. 2) Meminimalkan resiko data yang tidak konsisten dalam suatu basis data. 3) Meminimalkan kemungkinan update dan delete anomaly. 4) Memaksimalkan stabilitas dari struktur data. Bentuk-Bentuk Normalisasi Secara umum, bentuk-bentuk normalisasi dapat dibagi menjadi tiga jenis, yaitu : 1) First Normal Form (1NF) Awalnya,
tabel
yang
belum
dinormalisasi
dinamakan
Unnormalized Form (UNF). UNF adalah suatu kondisi sebelum masuk ke proses normalisasi, yaitu suatu kondisi dimana sebuah tabel mengandung satu atau lebih repeating group (Connolly dan Begg,
26 2005, p403). 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. Suatu relasi dikatakan 1NF jika pertemuan tiap baris dan kolom pada relasi tersebut mengandung satu dan hanya satu nilai (Connolly dan Begg, 2005, p403). 2) Second Normal Form (2NF) Suatu relasi dikatakan 2NF jika relasi yang terdapat dalam 1NF dan tiap atribut non-primary key bersifat bergantung fungsional penuh terhadap primary key (Connolly dan Begg, 2005, p407). Normalisasi dari relasi 1NF ke 2NF dengan cara menghilangkan ketergantungan parsial. Jika terdapat ketergantungan parsial, dapat dihilangkan dengan cara menempatkan relasi baru bersama determinannya. 3) Third Normal Form (3NF) Relasi yang ada pada bentuk normal pertama dan kedua dimana tidak ada atribut non primary key yang bergantung transitif pada primary key (Connolly dan Begg, 2005, p409). Normalisasi dari relasi 2NF ke 3NF dengan cara menghilangkan ketergantungan transitif. Jika terdapat
ketergantungan
transitif,
dapat
dihilangkan
menempatkannya pada relasi baru bersama determinannya.
dengan
27 2.1.6
Database Life Cycle Langkah-Langkah Database Life Cycle Sebuah sistem basis data merupakan komponen dasar sistem informasi organisasi yang lebih besar. Oleh karena itu siklus hidup aplikasi basis data berhubungan dengan siklus hidup sistem informasi. Langkahlangkah siklus hidup basis data dapat dilihat pada gambar 2.8.
Gambar 2.8 Database Life Cycle (Sumber : Connolly dan Begg, 2005, p284) Hal yang penting pada bagian ini ialah mengetahui bahwa langkah-langkah siklus hidup aplikasi basis data yang dapat tidak berurutan, tetapi melibatkan beberapa langkah pengulangan yang biasanya disebut sebagai feedback loop.
28 Penjelasan lebih rinci mengenai siklus hidup basis data adalah sebagai berikut : 1) Perencanaan Basis Data (Database Planning) Perencanaan basis data adalah kegiatan pengaturan yang memungkinkan tahap-tahap dalam siklus hidup aplikasi basis data dapat diwujudkan seefisien dan seefektif mungkin (Connolly dan Begg, 2005, p285). Ada tiga masalah pokok yang harus diperhatikan dalam merumuskan strategi sistem informasi (Connolly dan Begg, 2005, p285) :
Mengidentifikasikan 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 dapat menghasilkan keuntungan yang kompetitif.
Tahap perencanaan basis data juga harus menjelaskan : a) Mission statement merupakan sasaran utama sistem basis data. Mission statement ini menjelaskan tujuan sistem basis data dan menyediakan maksud yang lebih jelas dalam pembuatan aplikasi basis data seefektif dan seefisien mungkin (Connolly dan Begg, 2005, p286). b) Mission objectives, selain merumuskan tujuan dari sebuah proyek basis data, harus diperhatikan juga mengenai tugas yang harus didukung oleh basis data dengan asumsi jika basis data mendukung
29 mission objectives, maka mission statement-nya juga akan sesuai (Connolly dan Begg, 2005, p286). 2) Definisi Sistem (System Definition) Definisi sistem menjelaskan batasan dan ruang lingkup aplikasi basis data dan user view (Connolly dan Begg, 2005, p286). User view mendefinisikan apa yang diperlukan sistem basis data dari sudut pandang peran pekerjaan tertentu atau aplikasi perusahaan pada bidang tertentu (Connolly dan Begg, 2005, p287). 3) Pengumpulan dan Analisis Kebutuhan (Requirement Collection and Analysis) Pengumpulan dan analisis kebutuhan merupakan proses pengumpulan dan analisis informasi mengenai bagian dari organisasi yang didukung sistem basis data, dan menggunakan informasi ini untuk mengidentifikasi kebutuhan untuk sistem baru (Connolly dan Begg, 2005, p288). Informasi yang dikumpulkan mencakup :
Deskripsi tentang data yang digunakan.
Keterangan secara lengkap bagaimana data tersebut digunakan.
Kebutuhan tambahan lainnya untuk aplikasi data yang baru.
Ada tiga pendekatan utama untuk memenuhi kebutuhan informasi dari aplikasi sistem basis data, yaitu : 1. Terpusat Kebutuhan dari setiap pemakai digabung ke dalam satu set kebutuhan untuk aplikasi dari basis data.
30 2. Tinjauan terintegrasi Kebutuhan dari setiap pemakai akan digunakan untuk membangun model data yang terpisah untuk merepresentasikan pandangan dari pemakai. Hasil dari data model kemudian dapat digabungkan pada tahap perancangan basis data. 3. Kombinasi dari dua pendekatan Dalam hal ini ada beberapa teknik untuk mendapatkan analisis informasi yang dinamakan fact finding techniques. Terdapat lima teknik fact finding yang umum digunakan , yaitu :
Pemeriksaan dokumentasi
Wawancara
Observasi
Penelitian
Kuesioner
4) Desain Basis Data (Database Design) Desain basis data merupakan proses menciptakan desain yang akan mendukung tujuan dan objektif perusahaan untuk kebutuhan sistem basis data (Connolly dan Begg, 2005, p291). Ada empat pendekatan perancangan basis data , yaitu :
Bottom-up Pendekatan ini dimulai dari tingkat paling dasar dari atribut (yakni properti dari entitas dan hubungan relasional) dimana melalui analisis gabungan antar atribut, dikelompokkan ke dalam relasi yang merepresentasikan tipe entitas dan hubungan antar entitas.
31 Pendekatan ini lebih cocok untuk perancangan basis data yang sederhana dengan jumlah atribut yang relatif kecil.
Top-down Pendekatan ini dimulai dari pengembangan model data yang terdiri dari beberapa entitas tingkat tinggi dan hubungannya.
Inside-out Hampir sama dengan bottom-up tetapi berbeda pada saat identifikasi himpunan entitas utama dan kemudian menyebar untuk mempertimbangkan entitas yang lain, hubungan, dan himpunan atribut dengan identifikasi pertama.
Mixed-strategy Strategi ini menggunakan kedua pendekatan terdahulu yaitu bottomup dan top-down untuk bermacam-macam bagian model sebelum digabungkan dengan semuanya.
5) Desain Konseptual Basis Data (Conceptual Database Design) Langkah awal dalam conceptual database design adalah dengan membuat model data secara konseptual dari perusahaan yang bersangkutan. Model data dibangun berdasarkan dokumen informasi yang merupakan spesifikasi kebutuhan pengguna. Dalam menentukan model data secara konseptual, data yang digunakan tidak termasuk dalam target DBMS, program aplikasi, bahasa pemrograman, dan pertimbangan fisikal. Dalam conceptual database design, data yang ada dikembangkan dengan representasi secara konseptual yang mencakup identifikasi entitas, hubungan dan atribut yang sangat penting dalam
32 perancangan basis data tersebut. Desain konseptual bertujuan untuk merepresentasikan kebutuhan informal, deksripsi lengkap, namun tidak bergantung pada kriteria DBMS. 6) Desain Logikal Basis Data (Logical Database Design) Logical design merupakan proses membangun model dari data yang digunakan perusahaan berdasarkan spesifikasi data model, tetapi terbebas dari DBMS tertentu dan pertimbangan fisikal yang lain dinamakan logical database design (Connolly dan Begg, 2005, p294). Dalam logical database design, model data yang telah diperoleh dalam conceptual database design diubah dalam bentuk logical model dimana data yang ada dipengaruhi oleh model data yang menjadi tujuan basis data. Hal ini dilakukan untuk menerjemahkan representasi konseptual ke dalam bentuk struktur logikal dalam basis data. Logical data model merupakan sumber informasi dalam merancang physical database. Logical database design data memberikan sarana yang membantu para perancang physical database. 7) Desain Fisikal Basis Data (Physical Database Design) Proses menghasilkan sebuah gambaran dari implementasi basis data pada media penyimpanan; menggambarkan hubungan utama, organisasi file, dan indeks yang digunakan untuk mencapai efisiensi akses ke dalam data dan hubungan integrity constraint dan keamanan (Connolly dan Begg, 2005, p294). Physical database design dilakukan untuk memutuskan struktur logikal secara fisik diimplementasikan ke dalam tujuan Database
33 Management System (DBMS), para perancang juga harus membuat keputusan
mengenai
bagaimana
basis
data
tersebut
dapat
diimplementasikan atau diterapkan dalam perusahaan. Oleh karena itu, physical database design harus disesuaikan dengan DBMS yang spesifik. 8) Pemilihan DBMS (DBMS Selection) Seleksi DBMS yang sesuai untuk mendukung sistem basis data (Connolly dan Begg, 2005, p295). Berikut ini adalah langkah-langkah utama dalam memilih DBMS :
Mendefinisikan syarat sebagai referensi Dimulai dengan membuat tujuan dan batasan pembelajaran, dan tugas yang akan dikerjakan, penjelasan kriteria yang kemudian dapat digunakan untuk evaluasi produk DBMS, daftar produkproduk yang mungkin, dan semua batasan dan skala waktu untuk pembelajaran.
Membandingkan dua sampai tiga produk Kriteria yang dianggap penting untuk keberhasilan implementasi yang dapat digunakan untuk membuat daftar produk-produk DBMS untuk dievaluasi.
Mengevaluasi produk Evaluasi produk DBMS dikelompokkan dalam definisi data, definisi
fisik,
kemampuan
akses,
penanganan
transaksi,
pengembangan, dan fitur lainnya.
Memberikan rekomendasi pemilihan dan membuat laporan
34 Langkah
terakhir
dalam
mendokumentasikan
proses,
pemilihan memberikan
DBMS
adalah
pernyataan
dan
rekomendasi atas produk DBMS tertentu. 9) Desain Aplikasi (Application Design) Mendesain antarmuka pengguna dan aplikasi program yang menggunakan dan memproses basis data (Connolly dan Begg, 2005, p299). Dua aspek data desain aplikasi, yaitu : a. Desain transaksi Sebuah aksi atau serangkaian aksi, yang dilakukan oleh pengguna tunggal atau aplikasi program yang mempunyai akses untuk merubah isi basis data (Connolly dan Begg, 2005, p300). Ada tiga tipe transaksi, yaitu :
Retrieval transactions Digunakan untuk mendapatkan data dari tampilan pada layar atau laporan.
Update transactions Digunakan untuk meng-insert data baru, menghapus data lama, dan memodifikasi data yang sudah ada dalam basis data.
Mixed transactions Melibatkan kedua tipe transaksi sebelumnya. Contohnya operasi untuk
mencari
detail
data,
memperbaharuinya. b. Panduan desain antarmuka pengguna
menampilkan,
kemudian
35 10) Prototyping Prototyping adalah proses membangun model kerja untuk sistem basis data (Connolly dan Begg, 2005, p304). Tujuan utama dari prototyping adalah mengizinkan pengguna menggunakan prototyping untuk mengidentifikasi fitur-fitur sistem yang berjalan baik atau kurang baik, dan jika memungkinkan untuk meningkatkan fitur baru untuk sistem basis data. 11) Implementasi (Implementation) Implementasi adalah perwujudan fisik dari basis data dan desain aplikasi (Connolly dan Begg, 2005, p304). Pengendalian keamanan integritas untuk aplikasi juga telah diterapkan. Implementasi dapat dicapai dengan menggunakan Data Definition Language (DDL) dari DBMS yang terpilih atau dengan Graphical User Interface (GUI). 12) Data Conversion and Loading Konversi data dan loading adalah perubahan data yang ada ke dalam basis data yang baru, dan konversi aplikasi yang ada untuk berjalan pada basis data yang baru (Connolly dan Begg, 2005, p305). Langkah ini diperlukan ketika suatu sistem basis data baru sedang menggantikan suatu sistem basis data yang lama. 13) Testing Testing adalah proses yang berjalan pada sistem basis data yang bertujuan untuk menemukan error atau kesalahan (Connolly dan Begg, 2005, p305). Sebelum diterapkan dalam suatu sistem, basis data harus dilakukan testing terlebih dahulu.
36 Keuntungan Testing Keuntungan dilakukan testing, antara lain : 1. Dapat mengungkapkan kesalahan atau error pada program aplikasi atau pada stuktur basis data (Connolly dan Begg, 2005, p305). 2. Mendemonstrasikan basis data dan program aplikasi yang berjalan sesuai dengan spesifikasi dan kebutuhan kinerja yang diharapkan (Connolly dan Begg, 2005, p305). Kriteria Testing Kriteria yang dapat digunakan untuk melakukan testing antara lain :
Learnability – berapa lama pengguna baru dapat menggunakan sistem.
Performance – seberapa baik respon sistem bisa cocok dengan permintaan pengguna.
Robustness – bagaimana toleransi yang diberikan sistem terhadap kesalahan pengguna.
Recoverability – seberapa baik sistem dapat memperbaiki kesalahan pengguna.
Adaptability – seberapa dekat sistem dapat beradaptasi terhadap suatu model kerja.
14) Perawatan Operasional (Operational Maintenance) Merupakan suatu proses mengawasi dan memelihara sistem basis data setelah instalasi (Connolly dan Begg, 2005, p306). Yang termasuk dalam perawatan operasional, yaitu :
37
Mengawasi kinerja sistem. Jika kinerja turun dibawah tingkat yang dapat dimaklumi, maka dibutuhkan reorganisasi.
2.2
Memelihara dan meng-upgrade sistem basis data.
Teori-Teori Khusus 2.2.1
Web Pengertian Web Web adalah sebuah aplikasi dalam internet, yang menyediakan cara yang mudah untuk mengakses informasi dan menjalankan program yang disimpan dalam komputer yang terkoneksi dengan internet (Eaglestone dan Ridley, 2001, p24). Website atau situs juga dapat diartikan sebagai kumpulan halaman yang menampilkan informasi data teks, data gambar diam atau bergerak, data animasi, suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk suatu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan beberapa jaringan halaman (hyperlink). Suatu web dikatakan statis apabila isi informasi dari website tersebut tetap, jarang berubah, dan isi informasinya searah hanya dari pemilik website. Bersifat dinamis apabila isi informasi website selalu berubah, dan isi informasinya interaktif dua arah berasal dari pemilik serta pengguna website. Dalam sisi pengembangannya, website statis hanya dapat di-update oleh pemiliknya saja, sedangkan website dinamis di-update oleh pengguna maupun pemilik.
38 Cara Kerja Web Web bekerja dalam konsep client–server, berarti adanya aplikasi client yang meminta informasi kepada web server (yang menyediakan informasi dinamis). Informasi tersebut dihasilkan oleh aplikasi web yang terhubung dengan database server. Aplikasi web client contohnya Mozilla, Firefox, Netscape, Internet Explorer, Opera dan sebagainya. Contoh aplikasi web server yaitu Apache web server, thttpd, IIS (Microsoft web server) dan sebagainya. Dalam komunikasinya web client dan web server berkomunikasi
menggunakan
protokol
HTTP
(Hypertext
Transfer
Protocol).
2.2.2
Two Tier Client-Server Architecture Pengertian Two Tier Client-Server Architecture
Two tier architecture disebut juga dengan aplikasi client-server karena arsitektur ini hanya memiliki dua tingkatan, yaitu satu sebagai client dan satu lagi sebagai server. Arsitektur ini memungkinkan aplikasi pada komputer client berinteraksi dengan server melalui jaringan. Pada umumnya aplikasi client-server merupakan aplikasi desktop, dimana aplikasi di-install di masing-masing PC, dan mengambil data pada suatu server. Tidak selalu client dan server berada pada satu sisi pada mesin yang sama. Pada praktiknya, server diletakkan pada satu sisi di local area network dan client pada sisi yang berbeda. Ilustrasi arsitektur client-server dapat dilihat pada gambar 2.9.
39
Gambar 2.9 Konsep Client–Server Architecture (Sumber : Connolly dan Begg, 2005, p58) Data-intensif aplikasi bisnis terdiri dari empat kelompok yaitu database, transaction logic, business dan data application logic, dan user interface. Arsitektur two tier client-server menyediakan pemisah dari komponen-komponen tersebut. Pada client (lapisan pertama) bertanggung jawab untuk representasi data kepada pengguna. Yang termasuk dalam representasi adalah user interface action dan main business, dan data application logic. Pada server (lapisan kedua) bertanggung jawab memasok servis data kepada pengguna. Yang termasuk pada data servis adalah validasi pada sisi server, dan akses terhadap permintaan data.
40 Interaksi yang terjadi antara client dan server yaitu client mengambil permintaan pengguna, mengecek sintaks dan menghasilkan permintaan terhadap basis data dengan SQL atau bahasa lain yang sesuai dengan application logic. Kemudian mentransfer pesan kepada server, menunggu respon, dan memformat respon kepada end user. Server menerima dan memproses permintaan terhadap basis data, kemudian mentransfer hasilnya kepada client. Yang termasuk dalam proses adalah mengecek hak akses, memastikan integritas, memelihara sistem katalog, melaksanakan proses query, dan proses update. Operasi dalam two tier dapat dilihat pada gambar 2.10.
Gambar 2.10 Two Tier Client Server Architecture (Sumber : Connolly dan Begg, 2005, p60) Beberapa fungsi client-server dapat dilihat pada tabel berikut ini :
41 Tabel 2.1 Tabel Fungsi Client Server Client
Server
Mengatur antarmuka
Menerima dan mengecek sintaks yang diinput pengguna Proses application logic
Mengeluarkan permintaan akan basis data dan mentransmisikan kepada server Meneruskan respon balik ke pengguna
Menerima dan memproses permintaan akan basis data dari client Memastikan integritas dan tidak melanggar Melakukan query atau proses update dan mentransmisikan respon ke client Menyediakan akses basis data yang bersamaan Menyediakan kontrol pemulihan
Keunggulan Two Tier Client-Server Architecture Arsitektur two tier memiliki beberapa keunggulan, antara lain (Connolly dan Begg, 2005, p59) :
Memungkinkan akses yang luas ke dalam basis data yang ada.
Meningkatkan performa, yakni jika client dan server berada pada komputer yang berbeda maka CPU yang berbeda dapat memproses aplikasi secara paralel.
Biaya
hardware
dapat
dikurangi,
yakni
hanya
server
yang
membutuhkan penyimpanan dan kemampuan pemrosesan yang cukup untuk menyimpan dan mengelola basis data.
Biaya komunikasi dapat dikurangi, dengan melaksanakan aplikasi bagian dari operasi pada client dan hanya mengirim permintaan untuk akses basis data pada seluruh jaringan sehingga mengurangi data yang dikirim melalui jaringan.
42
Peningkatan
konsistensi,
server
dapat
menangani
pemeriksaan
integritas, sehingga kendala perlu didefinisikan dan divalidasi hanya pada satu tempat, daripada memiliki masing-masing program aplikasi yang melaksanakan pemeriksaan sendiri. Kelemahan Two Tier Client-Server Architecture Selain keunggulan, model ini juga memiliki beberapa kelemahan, antara lain :
2.2.3
Penggunaan kembali komponen.
Skalabilitas.
Perawatan.
Keamanan data.
Three Tier Architecture Pengertian Three Tier Architecture Arsitektur three tier merupakan inovasi dari arsitektur client-server. Pada arsitektur three tier ini terdapat application server yang berdiri di antara client dan database server. Contoh dari application server adalah IIS, websphere, dan sebagainya. Application server umumnya berupa business process layer, dimana bisa dikembangkan menggunakan PHP, ASP.Net, maupun Java. Sehingga beberapa business logic dapat ditempatkan pada tier tersebut. Arsitektur three tier ini banyak sekali diimplementasikan dengan menggunakan web application. Karena dengan menggunakan web application, client-side (sisi client) hanya akan melakukan instalasi web
43 browser. Dan pada saat komputer client melakukan input-an data, maka data tersebut dikirimkan ke application server dan diolah berdasarkan business process-nya. Selanjutnya application server akan melakukan komunikasi dengan database server. Komponen Arsitektur three tier muncul untuk mengatasi keterbatasan arsitektur two tier. Aliran informasi pada dasarnya tetap linear, sebuah permintaan datang dari client ke server dimana server tersebut mengambil atau menyimpan data dari atau ke basis data, kemudian basis data tersebut mengembalikan informasi ke server. Server tersebut mengembalikan informasi ke client. Pada arsitektur three tier ada tiga bagian penting yang paling mendasar (lihat gambar), yaitu: 1) First tier (user interface). 2) Second tier (business logic, data processing logic). 3) Third tier (data validation, database access). Lapisan-lapisan dalam model three tier dapat dilihat dalam gambar 2.11.
44
Gambar 2.11 Three Tier Architecture (Sumber : Connolly dan Begg, 2005, p61) Keunggulan Three Tier Architecture Beberapa keunggulan yang diberikan three tier architecture adalah :
Biaya yang tidak terlalu mahal karena client ’thin’.
Aplikasi terpusat memindahkan business logic untuk banyak end user ke dalam single application server.
Menambahkan modularitas sehingga lebih mudah untuk merubah atau mengganti dari satu lapisan tanpa mengganggu lapisan lain.
Beban lebih mudah dengan pemisahan inti logika bisnis dari fungsi basis data.
45 2.2.4
Internet Pengertian Internet Internet adalah jaringan fisik yang menghubungkan komputer di seluruh dunia. Terdiri dari infrastruktur server dan jaringan komunikasi antara keduanya yang digunakan untuk menyimpan dan membawa sejumlah besar informasi di internet. Internet memungkinkan masuknya pesan dan transaksi antara komputer yang terhubung di seluruh dunia (Chaffey, 2000, p59). Keunggulan Internet Dalam penggunaannya, internet memiliki cukup banyak keunggulan, antara lain :
Tidak ada batasan dalam mencari informasi, orang yang berasal dari belahan dunia manapun dapat mengakses semua informasi dari belahan dunia lainnya.
Penyedia informasi untuk kehidupan pribadi, misalnya tentang kesehatan, hobi, rekreasi, dan lainnya.
Penyedia informasi untuk kehidupan profesional atau pekerja, misalnya teknologi, saham, perdagangan, berita bisnis, dan lainnya.
Sebagai sarana komunikasi yang efektif dan efisien untuk berbagai keperluan.
Internet bersifat interaktif.
Memungkinkan komunikasi secara sinkron maupun asinkron.
Internet tidak pernah ’tertidur’, akses terhadap internet dapat dilakukan kapan saja dan dalam waktu apapun.
46
Menjamin kecepatan informasi dalam pelaksanaan penelitian, karena internet bersifat secara real time dan jauh lebih cepat dibandingkan dengan sumber data tradisional, contohnya perpustakaan.
Kelemahan Internet Selain berbagai keunggulan, internet juga memiliki kelemahan, antara lain :
Adanya ketergantungan pada jaringan telepon dan Internet Service Provider (ISP).
Internet biasanya lebih efektif untuk menjangkau pemakai yang berdaya beli atau berpenghasilan dan berpendidikan relatif tinggi.
2.2.5
Ada kemungkinan penyebaran virus melalui jaringan internet.
Tidak ada filter terhadap informasi yang boleh dan tidak boleh dilihat.
Pengawasan hukum sangat lemah.
Memudahkan pengguna untuk menjadi plagiator atau pembajak.
Privasi mudah sekali dibobol.
Informasi yang diterima bisa saja palsu.
Intranet Pengertian Intranet Intranet adalah suatu jaringan komputer yang dimiliki oleh sebuah perusahaan dan hanya orang-orang yang memiliki hubungan dengan perusahaan itu saja yang dapat mengakses informasi didalamnya dengan menggunakan tools seperti mengakses internet, misal web browser. (Chaffey, 2000, p76).
47 Intranet juga dapat didefinisikan sebagai sebuah private network dengan sistem dan hierarki yang sama dengan internet namun tidak terhubung dengan jaringan internet dan hanya digunakan secara internal. Intranet (internal network) mulai dipublikasikan pada pertengahan tahun 1995 oleh beberapa penjual produk jaringan yang mengacu pada kebutuhan informasi dalam bentuk web di dalam perusahaan. Secara khusus intranet dapat didefinisikan sebagai sebuah Local Area Network (LAN) yang menggunakan standar komunikasi dan segala fasilitas internet, diibaratkan layaknya ber-internet dalam lingkungan lokal. Intranet umumnya juga terkoneksi ke internet sehingga memungkinkan pertukaran informasi dan data dengan jaringan intranet lainnya (Internetworking) melalui backbone internet (penopang utama). Kompatibilitas intranet sangat tinggi terhadap sistem lainnya sehingga mudah diterapkan, dipelajari, dikembangkan dan dikonfigurasi ulang. Dukungan aplikasi, program dan sistem operasi yang luas akibat dari popularitas internet menjadikan intranet sebagai masa depan LAN. Sebuah intranet adalah sebuah private network yang menggunakan protokol internet (TCP/IP), untuk membagi informasi rahasia perusahaan atau operasi dalam perusahaan tersebut kepada pegawainya. Kadangkadang, istilah intranet hanya merujuk kepada layanan yang terlihat, yakni situs web internal perusahaan. Keunggulan Intranet Beberapa keunggulan dari penggunaan intranet bagi perusahaan, antara lain :
48
Kenyamanan dalam publikasi.
Tidak membutuhkan banyak biaya.
Ketenangan dalam penggunaan.
Pemeliharaan yang mudah.
Skalabilitas.
Ketenangan dalam pendistribusian software.
Kelemahan Intranet Intranet juga memiliki beberapa kelemahan, antara lain :
Intranet termasuk bukan replikasi built-in data atau pelayanan direktori untuk pengguna jauh.
Alat-alat yang terbatas untuk menghubungkan server intranet ke basis data atau mainframe back-end lainnya berdasarkan aplikasi.
Dengan intranet, perusahaan harus mengeset dan memelihara aplikasiaplikasi terpisah seperti email dan web server, sebagai pengganti dari penggunaan sistem yang digabung sebagai groupware.
Perbedaan Intranet dengan Internet Secara umum, dapat dikatakan bahwa teknologi yang digunakan antara internet dan intranet adalah sama. Namun demikian terdapat perbedaan antara internet dengan intranet dilihat dari perspektif jangkauan dan penggunaannya, yakni :
Lingkup akses dan jangkauan.
Cara teknologi yang digunakan untuk berkomunikasi.
Tujuan dari terselenggaranya komunikasi.
49 Pada internet, ruang lingkupnya adalah global, komunikasi lewat saluran telekomunikasi publik, dan penggunanya bisa siapa saja tanpa membedakan posisi seseorang dalam kaitannya dengan isi informasi. Pada intranet cakupannya lebih terbatas yakni di dalam organisasi; hubungannya antar kelompok kerja atau departemen di dalam perusahaan, dan penggunaannya oleh komunitas yang sudah ditentukan. Salah satu hal terpenting dalam internet adalah keamanan jaringan (network security). Masalah ini sensitif mengingat jaringan telekomunikasi komersial yang dipakai bersifat umum (public service communication network) sehingga rentan penyusupan dan penyadapan jaringan serta pembajakan
data.
Sejumlah
teknologi
keamanan
canggih
terus
dikembangkan seperti firewall, enkripsi, encapsulated data packet, id recognition dan sebagainya, sehingga menjadi kelebihan tersendiri ketika diterapkan dalam intranet. Berbeda dengan LAN yang menggunakan jaringan komunikasi terproteksi (VPN-Virtual Private Network) sehingga keamanannya relatif lebih terjaga sehingga cukup memakai teknologi enkripsi saja. Terminologi yang lebih berkembang dari intranet adalah teknologi ekstranet yang memiliki pengertian suatu jaringan intranet yang dapat diakses dari luar baik melalui VPN maupun media komunikasi umum.
50 2.2.6
Web Security Permasalahan Pokok Web Security Selain keuntungan atau manfaat yang disediakan oleh web, terdapat pula kenaikan jumlah masalah keamanan akibat coding yang tidak layak, kesalahan-kesalahan dalam konfigurasi web server dan lain-lain. Ada beberapa pokok permasalahan keamanan yang berhubungan dengan pengiriman data melalui jaringan. Yang dapat dimasukkan ke dalam tiga area utama menurut Eaglestone dan Ridley (2001, p420), yaitu :
Adakah jaminan identitas yang terlibat?
Adakah jaminan tidak ada satu orang pun selain yang memiliki hak akses untuk mengakses data?
Adakah jaminan tidak ada satu orang pun yang dapat merusak data?
Electronic Assets Electronic assets adalah target dari serangan yang mengancam keamanan sistem komputer atau sistem informasi. Electronic assets merupakan aset yang paling berarti bagi suatu perusahaan atau industri yang sehari-harinya bergantung pada sistem komputer dan jaringan dalam menjalankan transaksi bisnisnya. Yang dimaksud electronic assets adalah data dan program.
51 2.2.7
Web Database Pengertian Web Database Web database sistem adalah sistem dimana kedua teknologi web dan database digunakan sehingga menyediakan akses yang lebih luas ke dalam basis data (Eaglestone dan Ridley, 2001, p38). Seiring dengan berjalannya waktu, volume dan struktur data yang disajikan pada sebuah web membutuhkan penyimpanan dan pengolahan ke dalam sebuah basis data yang kemudian akan menghasilkan halamanhalaman web yang berbasis pada basis data tersebut. Keuntungan Web Database Pendekatan yang umum adalah mendefinisikan sebuah basis data (misalnya:
dengan
Ms-Access),
menambah
record,
menghapus,
memperbaharui atau mengelompokkan basis data dan langsung dibuat sebagai halaman web dengan cepat dan tepat. Keuntungan pendekatan semacam ini adalah :
Lebih mudah memelihara basis data jika dibandingkan dengan memelihara halaman-halaman web individual.
Fasilitas pencarian terhadap basis data Adanya penggunaan fasilitas pencarian terhadap basis data untuk kata kunci yang dinginkan.
Kemudahan penyajian data Basis data akan memudahkan penyajian data yang sama dalam cara yang berbeda, misalnya data ditampilkan berdasarkan kategori,
52 berdasarkan uraian, berdasarkan usia atau berdasarkan field lain dalam basis data.
Akses yang lebih luas ke dalam basis data Koneksi sistem basis data dengan menggunakan web dapat memperluas akses ke dalam basis data.
Sistem terdistribusi Web mengizinkan basis data dan aplikasinya untuk didistribusikan. Data dapat diberikan pada saat dibutuhkan dan aplikasi dapat diletakkan pada saat ada aktivitas yang mendukung.
Web data menyediakan fasilitas untuk query data, manipulasi data, dan administrasi.
Perancangan Web Database Terdapat dua kesukaran dalam perancangan web database menurut Eaglestone dan Ridley (2001, p262), yakni : 1. Perancangan web page Yang termasuk web page design yaitu :
Menampilkan web data Mengambil dari basis data atau input-an pengguna.
Kumpulan web data Rancangan hubungan (link) untuk petunjuk di dalam maupun antara halaman web.
Desain web antarmuka Fitur halaman web, termasuk penggunaan grafik dan animasi.
2. Perancangan dari hubungan antara halaman web dan basis data
53
Web database logical mapping Definisi antara mapping dan data yang ditampilkan dalam halaman web dan data yang disimpan dalam basis data.
Web database physical mapping Implementasi dari mekanisme dimana data melewati antara halaman web dan basis data.
Web Database Design Method Web database design method merupakan serangkaian model yang menampilkan data yang disimpan ke dalam halaman web dengan penambahan data ke dalam basis data. Tujuan utama dari web database design ialah menyediakan cara sistematis untuk merancang data.
Gambar 2.12 Web Database Design Method (Sumber : Eaglestone dan Ridley, 2001, p264)
54 Berikut ini merupakan perincian mengenai web database design method : Tabel 2.2 Tabel Perincian Web Database Design Method Tahap Requirement analysis
Deskripsi Proses mengumpulkan dan menganalisis informasi mengenai bagian dari organisasi yang didukung oleh sistem basis data, dan informasi ini digunakan untuk mengidentifikasi persyaratan untuk sistem baru Data analysis Proses yang menggambarkan organisasi dalam kaitannya dengan fenomena yang dapat direpresentasikan dengan basis data Mendefinisikan konseptual model Web data dari informasi halaman web yg akan analysis direpresentasikan, informasi tersebut berasal dari basis data
Logical database design Logical web data design
Physical web data design
Physical database design
Mentranslasikan skema konseptual yang didefinisikan pada fase sebelumnya ke model data Mendefinisikan struktur data dari halaman web yang aktual, termasuk link dalam satu halaman dan ke halaman lain Mendesain bagaimana halaman web diimplementasikan dan dikoneksikan ke sistem basis data
Proses menghasilkan gambaran dari implementasi basis data pada secondary storage
Input Organisasi
Output Gambaran mengenai organisasi dan sistem yang dibutuhkan
Deskripsi organisasi dan sistem yang dibutuhkan Deskripsi organisasi dan sistem yang dibutuhkan dan conceptual data model Conceptual data model
Conceptual data model
Conceptual web data model dan logical data model Logical web data model
Logical web data model
Logical data model
Conceptual web data model
Logical data model
Physical web data model dan physical database design Physical web data model dan physical web data design
55 2.2.8
PHP Pengertian PHP PHP merupakan script yang dijalankan di server (Abdul Kadir, 2003, p512). Hasilnya kemudian dikirimkan ke client, tempat pemakai menggunakan browser. Secara khusus PHP dirancang untuk membentuk web dinamis. Pada prinsipnya, PHP memiliki fungsi yang sama dengan script-script seperti ASP (Active Server Pages), Cold Fusion, ataupun Perl. Kelebihan PHP Keuntungan dari server side scripting ini adalah sebagai berikut :
Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya.
Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan pengembang yang siap membantu dalam pengembangan.
Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
PHP adalah bahasa open source yang dapat digunakan pada berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah sistem.
Kelemahan PHP Kelemahan yang dimiliki PHP, antara lain :
Tidak ideal untuk pengembangan skala besar.
56
Tidak dapat memisahkan antara tampilan yang logis dengan baik (walau penggunaan template dapat memperbaikinya).
PHP memiliki kelemahan keamanan tertentu apabila programmer tidak teliti dalam melakukan pemrograman dan kurang memperhatikan permasalahan pokok dan konfigurasi PHP.
2.2.9
SQL Pengertian SQL SQL adalah contoh transform oriented language, atau bahasa yang dirancang menggunakan relasi untuk mengubah input menjadi output yang diperlukan (Connolly dan Begg, 2005, p113). Data Definiton Language (DDL) DDL berfungsi untuk mendefinisikan dan mengatur semua atribut dan properti dari sebuah basis data. Perintah umum yang digunakan dalam DDL adalah :
drop database
create database
create table
alter table
Data Manipulation Language (DML) DML digunakan untuk menampilkan, menambah, menghapus, dan mengubah data dalam basis data. Perintah umum yang digunakan dalam DML adalah :
57
insert
select
update
delete
2.2.10 Visual Basic.Net (VB.Net) Pengertian Visual Basic Visual basic adalah sebuah lingkungan pemrograman, yaitu program yang dirancang khusus untuk memfasilitasi penciptaan program baru (Burrows dan Langford, 2000, p7). Keuntungan VB.Net Beberapa keuntungan VB.Net menurut Burrows dan Langford (2000, p7), yakni :
Menyediakan alat-alat yang memudahkan bagi programmer untuk menciptakan GUI yang baik.
Menyederhanakan tugas programmer dalam menulis script pengolahan yang memberitahu komputer apa saja tugas yang harus dilakukan.
Database VB juga menyediakan alat-alat yang menyederhanakan proses menyesuaikan aplikasi untuk memperoleh data dari database.
2.3
Teori-Teori Pendukung 2.3.1
Sumber Daya Manusia Sumber daya manusia adalah kemampuan terpadu dari daya pikir dan daya fisik yang dimiliki seorang individu (Hasibuan, 1997, p269).
58 Sumber daya manusia merupakan salah satu sumber daya yang terdapat dalam organisasi meliputi semua orang yang melakukan aktivitas (Gomes, 1995, p1).
2.3.2
Manajemen Sumber Daya Manusia Manajemen Sumber Daya Manusia adalah ilmu dan seni mengatur hubungan dan peranan tenaga kerja agar efektif dan efisien membantu terwujudnya tujuan perusahaan, pegawai, dan masyarakat (Hasibuan, 1997, p10). Manajemen Sumber Daya Manusia adalah pengembangan dan pemanfaatan pegawai bagi pencapaian yang efektif mengenai sasaran dan tujuan individu, organisasi, nasional, dan internasional (Gomes, 1995, p4).
2.3.3
Kepegawaian Sistem kepegawaian adalah suatu sistem atau cara pengelolaan dalam bidang kepegawaian menyangkut semua aspek yang ada dalam sistem kepegawaian mulai dari cara penerimaan, pengangkatan, kenaikan golongan, penggajian pegawai dan sebagainya (Wursanto, 1987, p34).
2.3.4
Gaji Gaji menurut Kamus Besar Bahasa Indonesia, adalah upah kerja yang dibayar dalam waktu yang tetap. Balas jasa yang diterima pekerja dalam bentuk uang berdasarkan waktu tertentu.
59 2.3.5
PPh 21 Pajak adalah iuran rakyat kepada kas negara berdasarkan undangundang (yang dapat dipaksakan) dengan tiada mendapat jasa timbal (kontra-prestasi) yang langsung dapat ditunjukkan dan yang digunakan untuk membayar pengeluaran umum (Mardiasmo, 2003, p1). Ketentuan Pasal 21 Undang-Undang Pajak Penghasilan mengatur tentang pembayaran pajak dalam tahun berjalan melalui pemotongan pajak atas penghasilan yang diterima dan diperoleh oleh wajib pajak orang pribadi dalam negeri sehubungan dengan pekerjaan, jasa, kegiatan (Mardiasmo, 2003, p137). Tabel 2.3 Tabel Tarif PPh Pasal 21 Lapisan Penghasilan Kena Pajak
Tarif Pajak
Sampai dengan Rp. 50.000.000,Diatas Rp. 50.000.000,- sampai dengan Rp. 250.000.000,Diatas Rp. 250.000.000,- sampai dengan Rp. 500.000.000,Diatas Rp. 500.000.000,-
5% 15% 25% 30%
Tabel 2.4 Tabel Contoh Perhitungan PPh Pasal 21 Status single Gaji Sebulan Premi Jaminan Kesehatan Kerja (0,5%) Premi Jaminan Kematian (0,3%) Jumlah Penghasilan Bruto Pengurangan 1. Biaya Jabatan (5% x Penghasilan Bruto/ maksimum 100,800 Rp 100.800,-) 2. Iuran Pensiun 3. Iuran Jaminan Hari Tua (2%) Jumlah Pengurangan Penghasilan Neto Sebulan
2,000,000 10,000 6,000 2,016,000
40,000 40,320 181,120 1,834,880
60 Penghasilan Neto Setahun (12 x penghasilan sebulan) PTKP 1. Untuk Wajib Pajak Sendiri Pendapatan Kena Pajak Setahun PPh ps 21Terhutang (PKP setahun x 5%) PPh ps 21 Sebulan (Jumlah PPh 21 setahun : 12)
22,018,560 15,840,000 6,178,560 308,928 25,744
Status menikah Gaji Sebulan Premi Jaminan Kesehatan Kerja (0,5%) Premi Jaminan Kematian (0,3%) Jumlah Penghasilan Bruto Pengurangan 1. Biaya Jabatan (5% x Penghasilan Bruto/ maksimum 100,800 Rp 100.800,-) 2. Iuran Pensiun 3. Iuran Jaminan Hari Tua (2%) Jumlah Pengurangan Penghasilan Neto Sebulan Penghasilan Neto Setahun (12 x penghasilan sebulan) PTKP 1. Untuk Wajib Pajak Sendiri 2. Tambahan Wajib Pajak Kawin Jumlah PTKP Pendapatan Kena Pajak Setahun PPh ps 21Terhutang (PKP setahun x 5%) PPh ps 21 Sebulan (Jumlah PPh 21 setahun : 12)
40,000 40,320 181,120 1,834,880 22,018,560 15,840,000 1,320,000 17,160,000 4,858,560 242,928 20,244
Status menikah dan punya 2 anak Gaji Sebulan Premi Jaminan Kesehatan Kerja (0,5%) Premi Jaminan Kematian (0,3%) Jumlah Penghasilan Bruto Pengurangan 1. Biaya Jabatan (5% x Penghasilan Bruto/ maksimum 100,800 Rp 100.800,-) 2. Iuran Pensiun 3. Iuran Jaminan Hari Tua (2%) Jumlah Pengurangan Penghasilan Neto Sebulan Penghasilan Neto Setahun (12 x penghasilan sebulan)
2,000,000 10,000 6,000 2,016,000
2,000,000 10,000 6,000 2,016,000
40,000 40,320 181,120 1,834,880 22,018,560
61 PTKP 1. Untuk Wajib Pajak Sendiri 2. Tambahan Wajib Pajak Kawin 3. Tambahan 2 anak @ Rp 1.320.000,Jumlah PTKP Pendapatan Kena Pajak Setahun PPh ps 21Terhutang (PKP setahun x 5%) PPh ps 21 Sebulan (Jumlah PPh 21 setahun : 12)
2.3.6
15,840,000 1,320,000 2,640,000 19,800,000 2,218,560 110,928 9,244
Mutasi Mutasi adalah suatu perubahan posisi, jabatan, tempat, atau pekerjaan yang dilakukan baik secara horizontal maupun vertikal (promosi atau demosi) di dalam suatu organisasi (Hasibuan, 1997, p114).
2.3.7
Rotasi Rotasi adalah teknik pelatihan manajemen yang melibatkan pemindahan pegawai dari departemen ke departemen untuk memperluas pengalaman dan mengidentifikasi titik-titik kuat dan lemah (Dessler, 2000, p272).
2.3.8
Demosi Demosi adalah pemindahan seseorang ke jabatan lain yang lebih rendah dalam suatu organisasi (Martoyo, 1987, p71).
2.3.9
Cuti Cuti menurut Kamus Besar Bahasa Indonesia adalah meninggalkan pekerjaan beberapa waktu secara resmi untuk beristirahat.
62 Pada umumnya, pegawai yang berhak mendapatkan hak cuti ialah pegawai yang telah bekerja minimal 12 bulan secara tidak terputus, dan besarnya hak cuti yang dapat diterima pegawai tergantung oleh peraturan perusahaan tempatnya bekerja. Jenis cuti yang merupakan hak dari setiap pegawai yaitu : Cuti tahunan. Cuti hamil. Cuti insidentil. Cuti besar.
2.3.10 Tunjangan Tunjangan menurut Kamus Besar Bahasa Indonesia adalah uang atau barang yang dipakai untuk menunjang tambahan pendapatan diluar gaji sebagai bantuan. Tunjangan diberikan kepada pegawai dimaksudkan agar dapat menimbulkan atau meningkatkan semangat kerja dan kegairahan bagi para pegawai. Adapun berbagai macam contoh tunjangan yang biasa terdapat dalam perusahaan dan dibagi bersama gaji terdiri atas : 1) Tunjangan jabatan Tunjangan ini hanya diberikan kepada mereka yang mempunyai jabatan tertentu, seperti misalnya pengawas, kepala bagian, manajer, ataupun direktur. Besarnya tunjangan jabatan untuk masing-masing pegawai tidaklah sama. Hal ini sangat tergantung dengan beban pekerjaan, prestasi yang dihasilkan serta beratnya tanggung jawab pekerjaan yang
63 dipikul. Tunjangan jabatan biasanya diberikan bersama-sama dengan gaji pokok. 2) Tunjangan Lembur Setiap pegawai yang bekerja diluar jam kerja ataupun pegawai yang bekerja pada hari libur, ataupun pegawai yang memiliki jam kerja lebih besar dari delapan jam dalam sehari, maka sesuai dengan peraturan pemerintah, pegawai yang bersangkutan berhak untuk menerima tunjangan lembur. Besarnya tunjangan lembur ini sangatlah bervariasi, tetapi biasanya setiap perusahaan sudah memiliki peraturan tersendiri yang mengatur secara khusus mengenai besarnya tunjangan lembur setiap pegawai yang mereka miliki. Pegawai bagian pemasaran biasanya tidak memiliki fasilitas yang berupa tunjangan lembur, karena prestasi mereka diukur berdasarkan omzet penjualan yang mereka hasilkan. Sebagai gantinya, biasanya mereka akan mendapat bonus yang besarnya sesuai dengan apa yang mereka hasilkan kepada perusahaan.
2.3.11 Peringatan Menurut Kamus Besar Bahasa Indonesia peringatan adalah nasihat untuk memperingatkan. Berdasarkan Pasal 162 UU No 13 Tahun 2003 tentang ketenagakerjaan,
dalam
hal
pekerja/buruh
melakukan
pelanggaran
ketentuan yang diatur dalam perjanjian kerja, peraturan perusahaan atau perjanjian kerja bersama, pengusaha dapat melakukan pemutusan hubungan
64 kerja, setelah kepada pekerja/buruh yang bersangkutan diberikan surat peringatan pertama, kedua, dan ketiga secara berturut-turut.
2.3.12 Pengunduran Diri Menurut Pasal 161 UU No 13 Tahun 2003 tentang ketenagakerjaan, karyawan yang ingin memutuskan hubungan kerjanya dengan perusahaan, wajib mengajukan permintaan berhenti secara tertulis sekurang-kurangnya 1 (satu) bulan sebelumnya. Permohonan tersebut diajukan kepada atasan langsung yang bersangkutan dengan tembusan kepada atasan yang lebih tinggi dan bagian sumber daya manusia.