BAB 2 LANDASAN TEORI
2.1.
Teori Basis Data 2.1.1. Pengertian Basis Data Basis data adalah sebuah kumpulan data yang saling terhubung secara logis, dan sebuah penjelasan dari data tersebut, yang didesain untuk menemukan kebutuhan informasi dari suatu organisasi (Connolly dan Begg, 2002, p14). Basis data adalah kumpulan file atau record yang terorganisir dan berisi data-data beserta hubungan diantara data tersebut (Turban, 2003, p16). Basis data adalah kumpulan dari data yang biasa digunakan untuk mewakili informasi yang dibutuhkan oleh suatu sistem informasi (Atzeni, 2003, p2).
2.1.2. Database Management System 2.1.2.1. Pengertian Database Management System Database
Management
System
(DBMS)
atau
Sistem
Manajemen Basis Data adalah suatu sistem perangkat lunak yang memungkinkan
user
untuk
mendefinisikan,
merawat,
dan
mengatur pengaksesan terhadap basis data (Connolly, 2005, p16). DBMS mempunyai tiga fasilitas utama yaitu: a. Data Definition Languages (DDL) 6
7 Memperbolehkan user untuk mendefinisikan basis data, membuat spesifikasi basis data, struktur data, dan constraint data untuk disimpan dalam bentuk basis data. b. Data Manipulation Languages (DML) Memperbolehkan
pengguna
untuk
memasukkan,
memperbaharui, menghapus, dan mengirim data dari suatu basis data. c. Data Control Languages (DCL) Memperbolehkan pengguna untuk menjaga agar hanya user yang memiliki hak akses yang dapat melakukan suatu aksi.
2.1.2.2. Komponen Database Management System Terdapat lima komponen DBMS yaitu: a. Hardware (Perangkat Keras) Perangkat Keras digunakan untuk menjalankan DBMS dan aplikasi. Contoh : Single Personal Computer, Single Main Frame. b. Software (Perangkat Lunak) Komponen perangkat lunak yang terdiri dari perangkat lunak DBMS itu sendiri dan program-program aplikasi, bersamaan dengan sistem operasi, termasuk perangkat lunak jaringan jika DBMS tersebut menggunakan jaringan. c. Data
8 Merupakan komponen yang paling penting dalam DBMS, khususnya dari sudut pandang end user mengenai data. Data merupakan komponen yang merupakan inti dari DBMS itu sendiri. d. Prosedur Merupakan cara untuk menjalankan sistem, seperti bagaimana masuk ke dalam DBMS, memulai dan menghentikan DBMS, dan juga bagaimana cara untuk membuat backup data dari suatu basis data. e. Manusia Komponen terakhir dalam DBMS adalah manusia. Manusia yang
terlibat
dengan
sistem
DBMS
adalah
Database
Administrator (DBA), perancang basis data, pengembang aplikasi, dan end user.
Gambar 2.1 Komponen Database Management System
2.1.3. Database System Development Lifecycle (DSDLC) Terdapat tahapan – tahapan yang dilalui dalam merancang sebuah sistem basis data yang disebut dengan Database System Development Lifecycle atau disingkat dengan DSDLC. Untuk sistem basis data yang kecil, maka lifecycle yang terjadi tidaklah terlalu kompleks, sedangkan
9 untuk sistem basis data yang besar, lifecycle yang terjadi bisa menjadi sangat kompleks. Berikut ini adalah gambar dari siklus hidup sebuah aplikasi basis data (Connolly dan Begg 2005, p284) :
Gambar 2.2 Database System Development Lifecycle (DSDLC)
10 a.
Database Planning Tujuan dari tahap ini adalah merencanakan agar tahap–tahap dari aplikasi basis data dapat direalisasikan secara efektif dan efi sien. Pada tahap ini , penentuan misi dari proyek basis data sangatlah penting untuk menentukan tujuan utama dari aplikasi basis data.
b.
System Definition Menggambarkan ruang lingkup dan batasan dari aplikasi basis data, pandangan user, dan daerah aplikasi basis data. Pandangan user mendefinisikan apa yang dibutuhkan pada sebuah aplikasi basis data dari sudut pandang sebuah jabatan tertentu atau daerah aplikasi basis data. Sebuah aplikasi basis data dapat memiliki satu atau lebih pandangan user.
c.
Requirement Collection and Analysis Proses pengumpulan dan analisis informasi mengenai bagianbagian dari sebuah organisasi yang didukung oleh aplikasi basis data,
dan
menggunakan
informasi
tersebut
untuk
mengidentifikasikan kebutuhan user akan sistem yang baru. Ada 3 (tiga) pendekatan untuk mengatur kebutuhan dari sebuah aplikasi basis data dengan banyak pandangan user yaitu : 1. The Centralized approach Kebutuhan akan setiap user dikumpulkan menjadi satu kesatuan kebutuhan untuk aplikasi basis data yang baru. 2. The view integration approach
11 Kebutuhan akan setiap user digunakan untuk membangun model data yang terpisah, yang kemudian hasil dari model data tersebut digabung di dalam tahapan database design. 3. A combination of both approach Pendekatan yang merupakan gabungan dari kedua pendekatan diatas. d.
Database Design Suatu proses diperlukan bagi perancangan basis data yang dibagi menjadi tiga tahap utama, yaitu perancangan basis data konseptual, perancangan basis data logikal, dan perancangan basis data fisikal (Connolly dan Begg, 2005, p438). Dalam tahap ini, akan dilakukan peninjauan ulang dari pendekatan utama ke desain basis data. Kemudian akan dibahas tujuan dan kegunaan dari model data dalam desain basis data. Pada perancangan basis data terdapat tiga tahap utama yaitu : 1. Perancangan Konseptual Basis Data Tahap - tahap dalam perancangan konseptual basis data : Tahap 1: Membangun Model Data Konseptual Lokal untuk setiap View Tahap 1.1 : Mengidentifikasikan entity. Tahap 1.2 : Mengidentifikasikan relationship. Tahap 1.3 : Mengidentifikasikan dan Menghubungkan Atribut dengan Entity atau Relasinya. Tahap 1.4 : Menentukan Domain Atribut.
12 Tahap 1.5 : Menentukan Atribut-Atribut Candidate, Primary, dan Alternate Key. Tahap 1.6 (optional step) : Mempertimbangkan Penggunaan dari Konsep Permodelan Enhanced. Tahap 1.7 : Memerikasa Model untuk Redudansi Tahap 1.8 : Melakukan Validasi Model Konseptual Lokal terhadap Transaksi User. Tahap 1.9 : Meninjau Ulang Model Data Konseptual dengan User. 2. Perancangan Logikal Basis Data Tahap - tahap dalam perancangan logikal basis data. Tahap 2 : Membangun dan Memvalidasi Model Data Logikal Global untuk Setiap Sudut Pandang. Tahap 2.1 (optional): Menghilang bagian yang tidak sesuai dengan model relasi. Tahap 2.2 : Validasi Relasi dengan Menggunakan Teknik Normalisasi. Tahap 2.3 : Validasi Relasi dengan TransaksiTransaksi yang Sesuai dengan Kebutuhan User. Tahap 2.4 : Menentukan Batasan-Batasan Integritas. Tahap 2.5 : Meninjau Ulang Model Data Logikal Lokal terhadap Kebutuhan User. Tahap 2.6 (optional) : Menggabungkan model data logikal lokal ke dalam model data logikal global.
13 Tahap 2.6.1 : Menggabungkan Model Data Logikal Lokal ke dalam Model Data Logikal Global. Tahap 2.6.2 : Memvalidasi Model Data Logikal Global. Tahap 2.6.3 : Meninjau Ulang Model Data Logikal Global Terhadap Kebutuhan User. Tahap 2.7 : Memeriksa Model Data untuk Kebutuhan Masa Depan. 3. Perancangan Fisikal Basis Data Tahap - tahap dalam perancangan fisikal basis data : Tahap 3 : Menerjemahkan Model Data Logikal Global untuk DBMS yang Digunakan. Tahap 3.1 : Merancang Relasi Dasar Tahap 3.2 : Merancang Representasi dari Derived Data. Tahap 3.3 : Merancang Batasan Umum. Tahap 4 : Merancang Representasi Fisikal Tahap 4.1 : Menganalisa Transaksi. Tahap 4.2 : Memilih Organisasi file. Tahap 4.3: Memilih Indeks. Tahap 4.4 : Memperkirakan Kebutuhan Disk Space. Tahap 5 : Perancangan User Views. Tahap 6 : Perancangan Mekanisme Keamanan. Tahap 7 : Mempertimbangkan Kemunculan Redudansi Terkontrol. Tahap 7.1 : Menggabungkan relasi 1:1
14 Tahap 7.2 : Menduplikat atribut non key pada relasi 1:* untuk mengurangi penggunaan joins. Tahap 7.3 : Menduplikat atribut foreign key pada relasi 1:* untuk mengurangi penggunaan joins. Tahap 7.4 : Menduplikat atribut pada relasi *:* untuk mengurangi penggunaan joins. Tahap 7.5 : Mengenali repeating groups. Tahap 7.6 : Menggabungkan lookup tables dengan relasi dasar. Tahap 7.7 : Membuat tabel ekstraksi. Tahap 8 : Memonitor Sistem Operasional. e.
DBMS Selection (optional) Pada tahap ini dilakukan pemilihan DBMS yang sesuai dan mendukung aplikasi basis data. Tahapan dalam memilih DBMS yang tepat antara lain : 1. Mendefinisikan syarat-syarat sebagai referensi. Untuk menentukan tujuan dan ruang lingkup dari pembelajaran dan tugas yang harus dikerjakan. 2. Daftar singkat dari dua atau tiga produk. Kriteria yang diperlukan untuk keberhasilan implementasi untuk menghasilkan produk DBMS seperti dana yang tersedia, tingkat dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan apakah produk berjalan pada perangkat keras tertentu.
15 3. Mengevaluasi produk–produk. Terdapat beberapa fitur yang digunakan untuk mengevaluasi produk-produk DBMS. Untuk tujuan dari evaluasi, fitur-fitur ini dapat digabung menjadi sebuah kelompok. 4. Merekomendasikan pilihan dan membuat laporan. Tahap
terakhir
dari
pemilihan
DBMS
ini
adalah
mendokumentasikan proses dan menghasilkan pernyataan akan penemuan dan rekomendasi dari produk DBMS tertentu. f.
Application Design Merancang desain untuk user interface dan program aplikasi yang menggunakan dan memproses basis data. Terdapat 2 (dua) aspek penting dalam mendesain aplikasi, yaitu : 1. Transaction Design Suatu aksi yang dilakukan oleh seorang user atau program aplikasi untuk mengakses atau mengubah isi dari basis data. Transaksi mempresentasikan keadaan sesungguhnya seperti : registrasi klien, peminjaman alat-alat. Transaksi semacam ini harus dimasukkan kedalam basis data untuk menjamin data yang berada di basis data tetap dalam terkini dan mendukung informasi yang dibutuhkan oleh user. Terdapat 3 (tiga) jenis transaksi antara lain : a. Retrieval transaction : Digunakan untuk mendapatkan data untuk diperlihatkan di monitor atau di dalam pembuatan laporan.
16 b. Update transaction : Digunakan untuk memasukkan record baru, menghapus record lama, ataupun mengubah record yang ada. c. Mixed transaction : Melibatkan kedua jenis transaksi yaitu mendapatkan dan mengupdate data. 2. User Interface Design Sebelum mengimplementasikan sebuah laporan, penting sekali untuk membuat sebuah layout. Beberapa petunjuk penting untuk membuat report antara lain : a. Penetapan judul yang bermakna Informasi yang disampaikan dalam judul harus jelas. b. Instruksi yang dapat dipahami Menggunakan
istilah
yang
mudah
dimengerti
dan
seharusnya dapat menyampaikan instruksi kepada user. c. Pengelompokan logika dan urutan kolom Kolom yang saling berhubungan seharusnya diurutkan bersamaan dalam laporan. d. Tampilan form yang menarik Laporan yang dibuat harus dapat menarik bagi user. e. Penggunaan judul kolom yang jelas Judul kolom haruslah mudah diketahui. f. Penggunaan istilah dan singkatan yang konsisten g. Penggunaan warna yang konsisten Warna digunakan untuk tampilan dan memperjelas pesan
17 yang penting. h. Ruang dan batasan harus terlihat untuk mengisi kolom Seorang user seharusnya dapat melihat ruang yang tersedia untuk setiap kolomnya. i. Pergerakan kursor yang baik j. Perbaikan kesalahan untuk satu huruf dan smua kolom k. Pesan error pada nilai yang tidak dapat diterima Pesan error harus muncul jika user melakukan suatu kesalahan. l. Kolom pilihan harus terlihat dengan jelas m. Terdapat kolom untuk pesan penjelasan n. Pemberian tanda selesai Harus jelas bagi user ketika proses pengisian laporan selesai. g.
Prototyping (optional) Proses membangun sebuah model kerja dari aplikasi basis data. Tujuan utama dari tahap ini adalah untuk member izin user menggunakan prototype untuk mengidentifikasikan fitur dalam sistem berjalan baik, dan jika memungkinkan dapat memberi saran perbaikan atau menambah fitur baru ke dalam aplikasi basis data.
h.
Implementation Proses realisasi fisikal dari pembuatan basis data yang baru dan desain aplikasi. Implementasi basis data menggunakan DDL (Data Definition Language) dari DBMS yang terpilih, sedangkan
18 program aplikasi di implementasikan dengan 3GL atau 4GL (Third or Fourth Generation Language). i.
Data Conversion and Loading Mengirim data ke basis data yang baru dan mengubah aplikasi yang berjalan ke basis data yang baru. Tahap ini dilakukan hanya jika sistem basis data yang baru menggantikan sistem basis data yang lama.
j.
Testing Suatu
proses
mengeksekusi
program
aplikasi
dengan
menemukan kesalahan apa saja yang terjadi. Sebelum program aplikasi dipakai, sistem basis data yang dibuat harus benar-benar dilakukan uji coba. Sebaiknya menggunakan perencanaan testing dan menggunakan data yang realistis, sehingga keseluruhan sistem dapat diuji coba. k.
Operational Maintainance Suatu proses memantau dan memelihara sistem dan diikuti dengan instalasi pada sistem yang berjalan. Proses pemantauan sangat penting untuk menjaga kelangsungan sistem dapat berjalan dengan baik atau tidak.
19 2.1.4. Tahap-tahap Perancangan Basis Data 2.1.4.1. Perancangan Basis Data Konseptual Tujuan dari perancangan konseptual basis data adalah untuk membangun suatu informasi yang digunakan oleh suatu organisasi yang tidak tergantung segi implementasinya. Tahap-tahap dalam perancangan konseptual basis data : Tahap 1: Membangun Model Data Konseptual Lokal untuk Setiap View Tujuan dari tahap ini adalah untuk membangun sebuah model data konseptual lokal suatu organisasi dari sudut pandang masing-masing user yang diidentifikasi sehingga membentuk suatu pandangan yang kolektif. Model data konseptual lokal terdiri dari: entity, relasi antara entity, atribut, atribut domain, primary key, dan alternate key. Tahap 1.1 : Mengidentifikasikan Entity. Tujuan dari tahap ini adalah untuk mengidentifikasikan entity yang dibutuhkan oleh user. Tahap 1.2 : Mengidentifikasikan relationship. Tujuan dari tahap ini adalah untuk mengidentifikasikan hubungan yang terjadi diantara jenis entity yang sudah teridentifikasikan di tahap sebelumnya. Tahap - tahap yang harus dilakukan untuk mengidentifikasikan relationship : a. Menggunakan Entity Relationship Diagram (ERD)
20 Mempresentasikan entity dan menggambarkan bagaimana entity tersebut berhubungan dengan entity yang lain. ERD digunakan untuk mempresentasikan entity dan relasi antar entity. b. Menentukan Multiplicity Constraint dari relationship type Tahap berikutnya adalah menentukan multiplicity setiap relasi. Pemeriksaan dan pemeliharaan kualitas data dilakukan oleh multiplicity constraint. Constraint menjelaskan suatu kejadian dari suatu entity yang digunakan ketika suatu basis data di-update. c. Memeriksa Fan Traps dan Chasm Traps Setelah
relasi
didefinisikan,
maka
akan
dilakukan
pemeriksaan fan traps dan chasm traps. Fan traps adalah suatu model yang mempresentasikan suatu relasi antar entity yang alur relasinya memperlihatkan ambiguitas. Chasm traps adalah suatu model yang terdapat hubungan antar entity yang satu dengan entity yang lain, tetapi tidak ada relasi yang digambarkan antara kedua entity utama. d. Memeriksa setiap entity yang memiliki minimal satu relasi Dalam pembuatan ER Diagram, pastikan entity mempunyai minimal 1 (satu) relasi dengan entity yang lain. Jika ada entity yang sudah memiliki minimal 1 (satu) relasi dengan entity
21 yang lain, maka langkah berikutnya adalah memperhatikan kamus data. e. Mendokumentasikan relationship type Bersamaan dengan tipe relasi yang diidentifikasi, tahap selanjutnya adalah menetapkan nama yang jelas kepada user, lalu pendokumentasian relasi dan multiplicity constraint kedalam kamus data. Tahap 1.3 : Mengidentifikasikan dan Menghubungkan Atribut dengan Entity atau Relasinya. Tujuan
dari
menghubungkan
tahap atribut
ini
adalah
dengan
mengidentifikasi
entity
atau
relasi,
dan dan
mendokumentasikan setiap atribut secara detail. Tahap 1.4 : Menentukan Domain Atribut. Tujuan dari tahap ini adalah menentukan domain atribut dalam model data konseptual lokal dan mendokumentasikannya secara detail pada setiap domain. Domain adalah suatu nilai valid dari satu atau lebih atribut. Contoh : Atribut dari kode mata uang. Terdiri dari 3 karakter dimana semua karakter harus berupa huruf kapital. Tahap 1.5 : Menentukan Atribut-Atribut Candidate, Primary, dan Alternate Key. Tujuan dari tahap ini adalah mengidentifikasi candidate key untuk setiap entity. Jika terdapat lebih dari satu candidate key maka pilih salah satu untuk menjadi primary key. Ada beberapa
22 key yang dapat ditempatkan dalam sebuah tabel yaitu : candidate key, alternate key, primary key, dan foreign key. Tahap 1.6 (optional step) : Mempertimbangkan Penggunaan dari Konsep Permodelan Enhanced. Menggunakan salah satu dari konsep Specialization / Generalization, Aggregation, dan Composition. Tahap 1.7 : Memerikasa Model untuk Redudansi Tujuan dari tahap ini adalah memeriksa apakah setiap entity dan atribut yang mengalami redudansi di model data. Langkah pemeriksaan redudansi yaitu: a. Menguji kembali hubungan One-to-One Relationship Menguji kembali dua entity yang menampilkan objek yang sama. Jika ada dua entity yang sinonim maka dapat digabung menjadi satu, sedangkan apabila terdapat dua entity memiliki dua primary key yang berbeda, maka pilih salah satu menjadi primary key dan yang lainnya menjadi alternate key. b. Menghilangkan Redudansi dari suatu relasi Sangatlah penting untuk memeriksa relasi di antara entity ketika melakukan pemerikasaan suatu redudansi. Redudansi terjadi jika terdapat informasi yang sama melalui relasi yang lain. Tahap 1.8 : Melakukan Validasi Model Konseptual Lokal terhadap Transaksi User.
23 Tujuan dari tahap ini adalah untuk meyakinkan bahwa model konseptual data lokal mendukung kebutuhan yang diperlukan oleh user. Pengujian dilakukan dengan dua kemungkinan pendekatan yang mendukung kebutuhan transaksi : a. Mendeskripsikan transaksi. Melakukan pemeriksaan terhadap semua informasi yang dibutuhkan terhadap setiap transaksi yang disediakan oleh suatu
model,
kemudian
mendokumentasikan
transaksi
tersebut kedalam kebutuhan transaksi. b. Menggunakan alur transaksi. Pendekatan
ini
menggunakan
suatu
diagram
yang
mempresentasikan suatu jalur pada tiap-tiap transaksi dalam ERD.
Pendekatan
ini
juga
membantu
untuk
memvisualisasikan suatu model yang tidak diperlukan. Tahap 1.9 : Meninjau Ulang Model Data Konseptual dengan User. Tujuan dari tahap ini adalah untuk melalukan peninjauan ulang terhadap model data konseptual lokal dengan user untuk menjamin model tersebut sudah sesuai berdasarkan kebutuhan organisasi dalam mepresentasikan user view. Hasil akhir dari perancangan konseptual basis data adalah membuat suatu model dari informasi yang akan digunakan dalam suatu organisasi yang tidak tergantung pada segi implementasinya.
24 2.1.4.2 Perancangan Basis Data Logikal Merupakan proses merancang sebuah model dari informasi yang digunakan organisasi berdasarkan model data yang spesifik tanpa menggunakan DBMS atau perangkat keras lainnya. Tahap 2 : Membangun dan Memvalidasi Model Data Logikal Global untuk Setiap Sudut Pandang. Tujuan dari langkah ini adalah untuk membangun suatu model data logikal lokal dari suatu model data konseptual lokal yang merepresentasikan organisasi dan kemudian memvalidasi model ini untuk struktur yang benar. Tahap 2.1 (optional): Menghilang bagian yang tidak sesuai dengan model relasi. Tujuan dari tahap ini adalah untuk memperbaiki model data konseptual lokal dengan menghilangkan bagian-bagian yang tidak sesuai dengan model relasi. Bagian - bagian yang dibahas dalam struktur pada model data konseptual, yang terbagi dalam berbagai tahap antara lain : a. Strong entity types b. Weak entity types c. One-to-many binary relationship types (1..*) d. One-to-one binary relationship types (1..1) e. One-to-one recursive relationship (1..1) f. Superclass or Subclass relationship types g. Many-to-many binary relationship types
25 h. Complex relationship types i. Multi-valued attributes. Tahap 2.2 : Validasi Relasi dengan Menggunakan Teknik Normalisasi. Tahap ini akan memvalidasikan relasi yang ada dengan normalisasi.
Normalisasi
digunakan
untuk
menghindari
duplikasi data, sehingga model yang didapat menghasilkan model yang memiliki redundansi minimal, dan konsistensi yang maksimal. Tahap 2.3 : Validasi Relasi dengan Transaksi-Transaksi yang Sesuai dengan Kebutuhan User. Tahap ini akan memvalidasi relasi sehingga model yang dirancang akan sesuai dengan kebutuhan user. Tahap 2.4 : Menentukan Batasan-Batasan Integritas. Tujuan dari batasan integritas adalah untuk menjaga basis data dari inkonsistensi. Batasan-batasan integritas yang perlu diperhatikan : a. Required Data Pada tahap ini,data yang dibutuhkan dikumpulkan. b. Attributes Domain Constraints c. Multiplicity d. Integritas Entity Integritas memiliki maksud tidak adanya primary key yang kosong atau null.
26 e. Referential Integrity Sebuah foreign key harus memiliki nilai yang sesuai dengan candidate key suatu record dimana foreign key ada atau null. f. General Constraints Aturan - aturan yang dibuat oleh
user seperti database
administrator. Tahap 2.5 : Meninjau Ulang Model Data Logikal Lokal terhadap Kebutuhan User. Tujuan dari tahap ini adalah untuk menjamin bahwa model data
logikal
lokal
dan
dokumentasi
pendukung
menggambarkan proses bisnis dari organisasi yang sebenarnya dan sesuai dengan kebutuhan user. Tahap 2.6 (optional) : Menggabungkan Model Data Logikal Lokal ke dalam Model Data Logikal Global. Tahap 2.6.1 : Menggabungkan Model Data Logikal lokal ke dalam Model Data Logikal Global. Untuk menggabungkan model data logikal lokal ke dalam model data logikal global ada 11 cara yang dapat dilakukan, yaitu : a. Memeriksa nama dan isi dari entity , relasi dan candidate key-nya. b. Memeriksa nama dan isi dari foreign key. c. Menggabungkan entity dari model data logikal lokal.
27 d. Memasukkan entity secara unik ke dalam model data logikal lokal. e. Menggabungkan foreign key kedalam model data logikal lokal. f. Memasukkan foreign key secara unik ke dalam setiap model data logikal lokal. g. Memeriksa ada dan kebenaran dari entity, hubungan, foreign key, yang terdapat di child. h. Memeriksa Integrity Constraints. i. Menggambarkan ER Diagram global. j. Meng-update dokumentasi terhadap perubahan yang terjadi selama proses pengembangan model data logikal global. Tahap 2.6.2 : Memvalidasi Model Data Logikal Global. Tahap ini bertujuan untuk memvalidasi hubungan yang telah dibuat dari model data logikal global dengan menggunakan teknik normalisasi. Tahap 2.6.3 : Meninjau Ulang Model Data Logikal Global Terhadap Kebutuhan User. Meninjau ulang model data oleh user apakah sudah sesuai dengan gambaran proses bisnis yang berjalan. Tahap 2.7 : Memeriksa Model Data untuk Kebutuhan Masa Depan.
28 Menjamin bahwa model data yang sudah dibuat mendukung kebutuhan organisasi di masa depan. 2.1.4.3 Perancangan Basis Data Fisikal Tujuan Pada proses perancangan fisikal basis data, untuk membangun suatu informasi yang digunakan oleh suatu organisasi yang dengan melihat keseluruhan segi implementasinya pada media secondary storage (Conolly, 2002, p282). Tahap 3 : Menerjemahkan Model Data Logikal Global untuk DBMS yang Digunakan. Tujuan dari tahap ini adalah membuat sebuah skema relasi basis
data,dari
model
data
logikal
global
yang
dapat
diimplementasi di DBMS yang dipakai. Tahap 3.1 : Merancang Relasi Dasar Tujuan dari tahap ini adalah memutuskan bagaimana relasi dasar yang teridentifikasi dalam model data logikal lokal pada DBMS yang dipakai. Untuk memulai proses desain fisikal, yang harus dilakukan pertama kali adalah mengumpulkan dan meminimalisasi suatu informasi yang berasal dari perancangan logikal basis data. Setiap relational yang teridentifikasi pada model data logikal global, dapat diartikan dengan mengandung : a. Nama dari relasi yang ada. b. Sebuah list dari atribut yang simple dalam golongan. c. Primary key yang sebaiknya alternate key dan foreign key.
29 d. Sebuah list dari atribut turunan dan bagaimana seharusnya dibuat. e. Batasan referential integrity untuk setiap atribut. Tahap 3.2 : Merancang Representasi dari Derived Data. Untuk menentukan bagaimana mempresentasikan data turunan pada model data logikal global pada DBMS yang dipakai. Tahap 3.3 : Merancang Batasan Umum. Merancang batasan organisasi untuk DBMS yang dipakai. Tahap 4 : Merancang representasi Fisikal Tujuan dari tahap ini adalah untuk menentukan organisasi file yang optimal untuk menyimpan relational dasar dan index yang dibutuhkan untuk mencapai penampilan yang dapat diterima, yang mana relational dan tuples akan disimpan di secondary storage. Tahap 4.1 : Menganalisa Transaksi. Tujuan dari tahap ini adalah untuk mengerti fungsi – fungsi dari transaksi yang dapat dijalankan di basis data dan menganalisa transaksi yang penting. Yang termasuk kriteria performansi yaitu : a. Transaksi yang sering digunakan dan akan memiliki dampak yang besar pada performansi. b. Transaksi yang merupakan operasi bisnis yang penting atau kritis.
30 c. Transaksi yang terjadi saat waktu harian atau mingguan yang memiliki permintaan yang tinggi pada basis data. Tahap 4.2 : Memilih Organisasi file. Untuk menentukan sebuah organisasi file yang efesien untuk setiap relasi dasarnya. Beberapa contoh organisasi file yang ada antara lain : a. Heap b. Hash c. Indexed Sequential Access Method (ISAM) d. B-tree e. Clusters Tahap 4.3: Memilih Indeks. Tujuan dari tahap ini adalah untuk menentukan apakah penambahan indeks akan meningkatkan performansi sistem. Beberapa langkah dalam pemilihan suatu indeks antara lain : a. Memilih atribut yang paling sering digunakan untuk operasi joins,
yang akan membuat operasi joins menjadi lebih
efisien. b. Memilih atribut yang paling sering mengakses suatu record di dalam relasi yang ada. Tahap 4.4 : Memperkirakan Kebutuhan Disk Space. Tujuan dari tahap ini adalah untuk memperkirakan kapasitas disk yang diperlukan untuk implementasi dan mendukung basis data.
31 Tahap 5 : Perancangan User Views. Tujuan dari tahap ini adalah untuk merancang tampilan user yang diidentifikasi selama pengumpulan informasi dan tahap analisis dari tahapan
The Database Application Lifecycle
(DSDLC). Dalam tahap ini terdapat tiga tahap dimana tahap pertama adalah memetakan model data konseptual, lalu tahap kedua adalah memetakan model data konseptual lokal tersebut ke model data logikal lokal berdasarkan model relasi, untuk aplikasi dengan satu atau lebih view. Dalam tahap ketiga model data lokal digabung menjadi satu model data logikal global. Tahap 6 : Perancangan Mekanisme Keamanan. Merancang sebuah mekanisme keamanan pada basis data yang dispesifikasikan oleh user. Terdapat dua jenis keamanan basis data : a. Keamanan sistem : Mengatur hak akses dan menggunakan basis data pada level sistem, seperti username dan password. b. Keamanan data :
Mengatur akses dan menggunakan objek
basis data seperti relasi dan views. Beberapa isu keamanan yang perlu diperhatikan : a. Pencurian data b. Kehilangan kerahasiaan suatu data c. Kehilangan hak pribadi d. Kehilangan integritas
32 e. Kehilangan ketersediaan data. Tahap 7 : Mempertimbangkan Kemunculan Redudansi Terkontrol. Tujuan dari tahap ini adalah untuk melakukan denormalisasi terhadap relasi atau hubungan antar entity. Normalisasi adalah sebuah prosedur untuk menentukan atribut yang dimiliki bersama dalam sebuah relasi. Dalam membuat sebuah denormalisasi terdapat beberapa hal yang harus dipertimbangkan antara lain : Tahap 7.1 : Menggabungkan relasi 1:1 Relasi 1:1 untuk menentukan akibat dari menggabungkan relasi – relasi yang ada menjadi satu relasi. Penggabungan harus berdasarkan untuk relasi yang sering di referensikan bersama dan relasi yang tidak sering dipisah. Tahap 7.2 : Menduplikat atribut non key pada relasi 1:* untuk mengurangi penggunaan joins. Menghilangkan joins dari query yang penting akan mengurangi dupliksi satu atau lebih no-key atribut Tahap 7.3 : Menduplikat atribut foreign key pada relasi 1:* untuk mengurangi penggunaan joins. Menghilangkan joins dari query yang penting akan mengurangi dupliksi satu atau lebih foreign key atribut di dalam relasi.
33 Tahap 7.4 : Menduplikat atribut pada relasi *:* untuk mengurangi penggunaan joins. Tahap 7.5 : Mengenali repeating groups. Repeating groups dihilangkan dari model data logikal sebagai hasil dari persyaratan yang semua entity-nya berada di dalam bentuk normal pertama. Tahap 7.6 : Menggabungkan lookup tables dengan relasi dasar. Lookup tables disebut juga dengan reference tables atau pick lists, adalah sebuat kasus yang istimewa dari hubungan (1:*). Secara khusus, sebuah lookup tables berisi sebuah kode dan sebuah penjelasan. Tahap 7.7 : Membuat tabel ekstraksi. Tahap 8 : Memonitor Sistem Operational. Tahap ini bertujuan untuk memantau sistem operasional dan meningkatkan performansi dari sistem untuk memperbaiki desain yang tidak sesuai dengan keputusan atau mencerminkan pergantian persyaratan.
2.1.5
Entity - Relationship Modeling Entity - Relationship Modeling adalah pendekatan perancangan basis data yang bersifat top - down yang dimulai dengan mengidentifikasi data yang penting yang disebut entity, dan hubungan antara data tersebut yang digambarkan dalam suatu model (Connolly dan Begg, 2002, p330).
34 2.1.5.1 Entity Konsep
dasar
dari
model
ER
adalah
Entity,
yang
menggambarkan kumpulan objek - objek yang terdapat pada dunia nyata dengan sifat yang sama dan tidak tergantung (independent). Entity Occurance adalah sebuah pengidentifikasian objek yang unik dari sebuah entity. Setiap entity memiliki property tersendiri. Entity diklasifikasikan ke dalam 2 (dua) jenis yaitu : strong entity dan weak entity. Strong entity adalah sebuah entity yang keberadaannya tidak bergantung pada entity lainnya. Strong entity disebut juga dengan regular entity. Sebaliknya, weak entity adalah entity yang keberadaannya bergantung pada entity lainnya. Karakteristik dari weak entity adalah setiap dari entity occurance tidak
bisa
diidentifikasikan
secara
unik
hanya
dengan
menggunakan atribut dari entity tersebut. 2.1.5.2 Attributes Atribut (Attribute) merupakan sebuah sifat dari sebuah entity atau sebuah tipe relasi. Domain Atribut (Attribute domain) adalah sebuah kumpulan nilai dari satu atau lebih atribut. Setiap atribut membentuk suatu hubungan yang disebut dengan domain. Atribut dapat diklasifikasikan sebagai : simple or composite; singlevalued or multi-valued; or derived. a. Simple Attribute atau atomic attribute Adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang bebas.
35 b. Composite Attribute Adalah atribut yang terdiri dari banyak komponen dengan keberadaan yang bebas. c. Single-Valued Attribute Adalah atribut yang memiliki nilai tunggal untuk setiap kejadian dari entity. d. Multi-Valued Attribute Adalah atribut yang memiliki beberapa nilai untuk setiap kejadian dari entity. 2.1.5.3 Keys Candidate key adalah sejumlah himpunan atribut-atribut yang secara unik diidentifikasikan untuk suatu entity. Sedangkan Primary key adalah candidate key yang terpilih sebagai kunci primer untuk mengidentifikasi setiap occurance dari suatu entity. Dalam pemilihan primary key harus berdasarkan pada atribut, kebutuhan atribut dan syarat-syarat yang unik. Alternarte Key adalah candidate key yang tidak terpilih menjadi primary key. Composite key adalah candidate key yang terdiri atas dua atau lebih atribut. Foreign Key adalah salah satu atau sejumlah atribut yang melengkapi suatu hubungan yang menunjuk sebuah parent. 2.1.5.4 Relationship Relationship adalah sekumpulan hubungan yang memiliki arti diantara entity. Relationsip occurance adalah sebuah hubungan
36 yang diidentifikasikan secara unik yang memiliki kejadian dari setiap entity didalam relationship.
2.1.6
4GL 4GL (Fourth–Generation Languages) adalah sebuah bahasa nonprosedural dimana pengguna mendefinisikan apa yang harus dilakukan bukan bagaimana sesuatu dilakukan. Fourth-Generation Languages meliputi : a. Presentation Languages, seperti query languages dan report generators. b. Speciality Languages, seperti spreadsheets dan database languages. c. Application Generators, yang terdiri dari insert, update, select untuk membuat aplikasi. d. Very High Level Languages, yang digunakan untuk menghasilkan application code. Tipe-tipe dari 4GL : a. Forms Generators merupakan fasilitas interaktif untuk melakukan inputan data dan display layouts pada layar. b. Report Generators merupakan fasilitas yang berfungsi untuk menghasilkan laporan dari data yang disimpan dalam basis data. c. Graphic Generators merupakan fasilitas yang berfungsi mengambil data dari basis data dan menampilkannya dalam bentuk grafik yang d. menunjukkan hubungan dalam data.
37 e. Application Generators merupakan fasilitas yang menghasilkan program yang berhubungan dengan basis data.
2.1.7
Normalisasi Normalisasi adalah suatu teknik yang bertujuan untuk menghasilkan himpunan relasi dengan property yang diinginkan berdasarkan kebutuhan – kebutuhan data suatu perusahaan (Connolly dan Begg, 2005, p388). Tujuan dari normalisasi adalah untuk menghilangkan data yang berulang (redudansi) sehingga mengurangi kompleksitas data, dan untuk memudahkan dalam modifikasi data. Manfaat dari normalisasi adalah sebagai berikut : a. Meminimalkan jumlah storage
space
yang
digunakan
untuk
menyimpan data. b. Meminimalkan resiko data yang tidak konsisten dalam suatu basis data. c. Meminimalkan kemungkinan update and delete anomaly. d. Mengoptimalkan stabilitas dari struktur data. Pada saat suatu data belum dilakukan normalisasi, maka bentuk tersebut dikenal sebagai Unnormalized Form (UNF) adalah suatu relasi yang terdiri dari satu atau lebih kelompok yang berulang (repeating group). Repeating group adalah suatu atribut atau kumpulan atribut dalam suatu tabel yang memiliki lebih dari satu nilai untuk satu buah primary key pada tabel yang sama. Normalisasi terdiri dari 3 tahapan yaitu :
38 a. First Normal Form (1NF) Suatu relasi dapat dikatakan 1NF jika titik temu setiap baris dan kolom pada relasi tersebut mengandung hanya satu nilai (Connolly dan Begg, 2005, p403). Sebuah relasi akan berada dalam keadaan 1NF jika repeating groupnya sudah hilang. Terdapat dua pendekatan untuk menghilangkan repeating group pada tabel yang tidak normal (unnormalized tabel), yaitu : a. Dengan memasukkan data yang sesuai ke dalam kolom yang kosong dari baris yang mengandung data yang berulang. b. Dengan menempatkan data yang berulang bersama salinan dari atribut kunci pada relasi yang terpisah. b. Second Normal Form (2NF) Suatu relasi dikatakan dalam bentuk 2NF jika relasi tersebut telah berada pada keadaan 1NF dan setiap atribut yang bukan primary key bergantung sepenuhnya (fully functionally dependent) terhadap primary key (Connolly dan Begg, 2005, p407). Full funtional dependency terjadi jika A dan B merupakan atribut dari suatu relasi, dan B bisa dikatakan bergantung terhadap A, namun bukan subset dari A (Connolly dan Begg, 2005, p395). c. Third Normal Form (3NF) Suatu relasi dikatakan 3NF jika relasi tersebut telah berada dalam keadaan 1NF dan 2NF, dan tidak ada atribut yang bukan primary key
39 bergantung secara transitif (transitively dependent) terhadap primary key (Connolly dan Begg, 2005, p409). Transitive dependency adalah sebuah kondisi dimana A, B, dan C merupakan atribut dari relasi yang jika B bergantung pada A dan C bergantung pada B maka dapat dikatakan bahwa C disebut bergantung secara transitif (transitively dependent) terhadap A melalui B (A tidak functionally dependent terhadap B dan C (Connolly dan Begg, 2005, p397).
2.1.8
Alat Bantu Perancangan 2.1.8.1 Data Flow Diagram (DFD) DFD adalah suatu alat bantu yang menggambarkan aliran data dalam sebuah sistem dan bagaimana sebuah proses ditampilkan oleh sistem tersebut (Whitten, Bentley, Dittman 2004, p344). Komponen pada DFD: a. Entitas Eksternal (Terminal) Entitas ini menyediakan input data (source) dan menjadi tujuan (output) data. Simbol :
Gambar 2.3 Simbol Entitas Eksternal b. Proses (Process) Proses adalah kegiatan yang menggambarkan sistem yang sedang mentransformasikian input menjadi output.
40 Simbol :
Gambar 2.4 Simbol Proses c. Alur Data (Data Flow) Menerangkan perpindahan data dari satu bagian proses ke bagian proses lainnya. Terdapat 2 jenis alur data yaitu alur data dari data store dan alur data ke data store. Simbol :
Gambar 2.5 Simbol Alur Data d. Penyimpanan Data (Data Store) Data store adalah suatu tempat penampungan data. Simbol :
Gambar 2.6 Simbol Data Store Levelisasi DFD: a. Diagram Konteks Adalah diagram level tertinggi pada DFD yang terdiri dari proses dan menggambarkan hubungan terminal dengan sistem yang mewakili suatu proses. b. Diagram Nol Diagram nol adalah diagram dibawah satu tingkat diagram konteks yang menggambarkan proses utama dalam sistem yang
41 terdiri dari sistem, hubungan entity, proses, data flow dan data store. c. Diagaram Level n Diagram yang digunakan untuk mendeskripsikan sistem secara lebih rinci dari diagram nol dan diagram sebelumnya. 2.1.8.2 Entity Relationship Diagram (ERD) ERD adalah suatu model struktur data yang menjelaskan hubungan antar data dalam basis data dan digambarkan dalam bentuk notasi dan simbol. Elemen yang digunakan pada ERD: a. Entitas adalah objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol :
Gambar 2.7 Entitas pada ERD
b. Atribut Atribut adalah elemen dari setiap entitas yang berfungsi mendeskripsikan karakteristik dari entitas tersebut. Simbol: Gambar 2.8 Atribut pada ERD c. Relationship /Hubungan Relationship adalah hubungan antara sejumlah entitas.
42 Simbol: Gambar 2.9 Relationship pada ERD Relasi yang terjadi diantara 2 entitas adalah: a. One to One b. Suatu bentuk hubungan antara satu entitas (entitas A) dengan paling banyak satu entitas lain (entitas B). c. One to Many atau Many to One d. Setiap entitas pada sebuah himpunan entitas (misal A) dapat berhubungan dengan banyak entitas pada himpunan entitas yang lain (misal B), tetapi setiap entitas pada himpunan entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A. e. Many to Many f. Setiap entitas pada sebuah himpunan entitas (misal A) dapat berhubungan dengan setiap entitas pada himpunan entitas lainnya (misal B). 2.1.8.3 State Transition Diagram (STD) STD adalah suatu diagram yang membantu menunjukkan urutan dan variasi layar yang dapat ditampilkan pada saat user menggunakan sistem (Whitten, Bentley dan Dittman, 2004, p673). Notasi pada STD: a. State atau keadaan sistem adalah suatu keadaan dimana sistem mungkin berada di dalam state. Simbol:
43
Gambar 2.10 Simbol State b. Transition state atau perubahan sistem digambarkan dengan panah bergaris. Simbol: Gambar 2.11 Simbol Transition State
2.2
Internet 2.2.1
Pengertian Internet Internet atau interconnected-networking yang berarti hubungan antara komputer yang berbeda baik jenis dan tipenya yang menggunakan tipe komunikasi seperti telepon, satelit, dan sistem komunikasi lainnya (Ellsworth, 1997, p3).
2.2.2
Fasilitas dan Penunjang Internet 2.2.2.1 Web Server Adalah suatu komputer yang digunakan untuk menyimpan data suatu website dan tentu saja komputer tersebut harus 24 jam menyala, sehingga data dari suatu website dapat diakses oleh pengunjung. Web server memiliki arti sebuah sebuah software server yang menerima
permintaan HTTP/HTTPS dari komputer
client
(meminta informasi) melalui web browser dan mengirimkannya
44 kembali dalam bentuk halaman web yang berbentuk dokumen HTML. 2.2.2.2 Web Browser Adalah software yang terdapat di komputer client yang meminta informasi kepada web server dan menampilkan informasi yang diinginkan user. (Ellsworth, 1997, p4) 2.2.2.3 Modem Singkatan
dari
Modulator
Demulator
merupakan
alat
komunikasi 2 arah sebab modem mengirimkan sekaligus menerima sinyal informasi yang terdapat di dalam sinyal pembawa. Sinyal informasi tersebut sebenarnya adalah data dari komputer yang berbentuk sinyal analog dan diubah menjadi sinyal digital. (Ellsworth, 1997, p4) 2.2.2.4 Internet Service Provider Seringkali disebut Internet Access Provide (IAP) adalah perusahaan yang menawarkan jasa internet kepada customer-nya melalui teknologi transmisi data seperti dial up, DSL, wireless, dan sebagainya.
2.2.3
Elemen dan Aplikasi Internet 2.2.3.1 Protokol Utama Internet Protokol utama internet menggunakan TCP/IP (Transmission Control Protocol/ Internet Protocol) yang memungkinkan proses pertukaran data dari satu komputer dengan komputer yang lain.
45 TCP/IP merupakan sebuah jaringan terbuka yang independen terhadap mekanisme transpor jaringan fisik yang digunakan sehingga dapat digunakan di mana saja. Protokol ini menggunakan alamat IP sehingga beberapa ratus komputer dapat berhubungan satu sama lain melalui internet. (Ellsworth, 1997, p444) 2.2.3.2 Protokol Transfer Seringkali disebut dengan File Transfer Protocol (FTP) merupakan protokol yang paling awal dikembangkan dan sampai saat ini digunakan untuk mendownload meng-upload berkasberkas komputer antra klien FTP dengan server FTP. Klien FTP dapat mengakses server FTP menggunakan URL (Universal Resource Locator) dengan format ftp://namaserver. 2.2.3.3 Uniform Resource Locator (URL) URL merupakan rangkaian karakter sesuai dengan format strandar tertentu yang menunjuk suatu alamat sebuah halaman web (homepage) yang ingin ditampilkan. URL mempunyai 2 macam tipe : a. URL Absolute merupakan alamat URL yang berisi domain, direktori pada domain dan file pada direktori tersebut. Contoh :
b. URL Relative menentukan suatu alamat berdasarkan URL yang aktif pada saat itu. contoh :
Suatu format URL adalah http://server/path yang berarti :
46 a. “http” merupakan protokol yang menunjukkan dimana sumber web yang diakses melalui URL. b. “server” merupakan nama web server yang dapat di akses. Contoh :www.binusmaya.binus.ac.id www adalah nama server, sedangkan binusmaya.binus.ac.id merupakan nama dari domain yang bersangkutan. c. “path” merupakan lokasi dari sumber di server. Contoh : photos/img23092010004.jpg, yang menunjukkan path dari dokumen utama melalui struktur direktori Web Server menuju file tertentu. 2.2.3.4 World Wide Web (WWW) Kumpulan web server dari seluruh dunia yang menyediakan data dan informasi seperti gambar, video, suara, dan teks, yang dapat dipakai bersama-sama yang terhubung satu sama lain melalui internet (Ellsworth, 1997, p31). Dokumen-dokumen informasi ini disimpan dalam bentuk HTML. Suatu halaman informasi dapat terdiri dari teks yang saling terkait dengan teks lainnya (hypertext), namun dokumen yang saling terkait ini dapat merupakan gambar dan suara sehingga sering kali disebut hypermedia. 2.2.3.5 Hyper Text MarkUp Language (HTML) HTML
sebenarnya
bukan
merupakan
suatu
bahasa
pemrograman tetapi lebih tepatnya merupakan bahasa markup
47 yang terdiri dari serangkaian tag markup yang mampu untuk membuat suatu halaman web. Tag markup atau sering disebut tag HTML ini biasanya kata kunci yang diapit oleh tanda sudut kurung dan berpasangan biasanya disebut sebagai tag awal/pembuka dan tag akhir/penutup seperti
dan diakhiri oleh , contoh : . Format dari suatu dokumen HTML adalah sebagai berikut: <TITLE>Judul Web Isi dokumen Tag dan berfungsi menandai suatu awal dan akhir dari sebuah dokumen HTML. Tag dan berfungsi memberikan informasi umum dari sebuah halaman web dan di dalam tag ini terdapat tag <TITLE> dan yang berfungsi memberikan judul halaman web. Dan tag dan berisi isi dari dokumen dalam halaman web tersebut.
48 2.2.3.6 Javascript Javascript adalah bahasa pemrograman berbasis objek yang diletakkan pada client-side atau berjalan di suatu halaman web. JavaScript merupakan scripting language berbasis objek yang dapat diletakkan di halaman-halaman HTML (Flanagan, 2002, p3). 2.2.3.7 XML Extensible Markup Language atau sering kali disebut XML merupakan suatu bahasa pemrograman yang digunakan untuk menyimpan data dan tidak tergantung dengan tools tertentu (dbms, compiler, dan sebagainya). XML tidak sama dengan HTML, sebab XML berfungsi menyimpan dan membawa data sedangkan HTML berfungsi untuk menampilkan data. Dengan kata lain, HTML adalah bagaimana menampilkan suatu informasi dan XML adalah bagaimana mendeskripsikan informasi. Keuntungan menggunakan XML: a. Ekstensibilitas karena dapat ditukar/digabungkan dengan dokumen XML lain. b. Plain text disebabkan sintaks XML yang sederhana dan terbatas. c. XML dapat digunakan oleh banyak orang sebab sifatnya yg independent dan cross platform memungkinkan XML dapat diakses pada banyak browser.
49 d. XML dapat memisahkan data dari HTML, sebab dengan XML user dapat lebih berkonsentrasi pada perancangan suatu layout tanpa perlu khawatir jika data berubah akan mengubah HTML. e. XML dapat digunakan untuk pertukaran data antara sistem yang tidak kompatibel. (http://www.docstoc.com/docs/21272244/Pengertian-XML) 2.2.3.8 Ajax Atau kependekan dari Asynchronous JavaScript and XML adalah sebuah teknologi berbasis client-side yang menggunakan 2 komponen utama, yakni Javascript dan XML. Penggunaan teknologi ini dapat meningkatkan kinerja suatu aplikasi web karena Ajax hanya mempertukarkan data antara client dan server bukan suatu halaman web secara keseluruhan. Kelebihan Ajax adalah objek XML HTTP Request karena dengan menggunakan objek javascript ini, maka request data ke server dapat dilakukan tanpa mengirimkan keseluruhan halaman. 2.2.3.9 Jquery Adalah library dari Javascript yang membuat suatu aplikasi web menjadi lebih baik, dalam hal interface, proses maupun interaktivitas. 2.2.3.10 CSS Cascading Style Sheet atau CSS adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu halaman web. Penggunaan paling umum adalah untuk memformat halaman web
50 yang ditulis dengan HTML dan XHTML. CSS dapat digunakan untuk mengatur besar kecilnya text, warna dan style font, mengatur warna atau gambar background, dan berbagai manfaat lainnya. (Schengili dan Roberts, 2000, p9) 2.2.3.11 DNS Domain Name System (DNS) adalah distributed database system yang digunakan untuk pencarian nama komputer di jaringan yang menggunakan protokol TCP/IP. Atau DNS adalah suatu aplikasi internet yang membantu menerjemahkan host name sebuah komputer ke IP address. DNS biasanya digunakan pada aplikasi web yang berhubungan dengan internet seperti web browser atau email. Keunggulan DNS : a. User tidak perlu repot untuk mengingat IP address nya. b. DNS server mudah untuk dikonfigurasikan oleh Admin. c. DNS juga mudah diimplementasikan di protokol TCP/IP. d. User hanya menggunakan 1 nama domain untuk mencari baik internet maupun intranet.
2.3
PHP PHP atau HyperText Processing adalah bahasa pemrograman server-side yang digunakan secara luas untuk penanganan dan pembuatan web dinamis dan dapat disisipkan juga di dalam HTML.
51 Kelebihan menggunakan PHP : a. Akses ke sistem basis data yang lebih fleksibel, seperti My SQL, Oracle, dan sebagainya. b. Waktu eksesuki yang lebih cepat dibandingkan bahasa pemograman serverside scripting lainnya. c. PHP merupakan Open Source dan dapat dipakai hampir di semua web server seperti Apache, Microsoft Internet Information System Services (MIIS). d. Dapat digunakan hampir di semua sistem operasi (Linux, UNIX, Mac OS, Windows). e. Tingkat keamanan yang tinggi.
2.4
MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data (DBMS) yang multithread dan multiuser. Konsep dari MySQL sendiri adalah pengoperasian basis data baik dalam hal pemilihan atau seleksi dan pemasukkan data, yang memungkinkan pengoperasikan data dilakukan dengan mudah secara otomatis. Kelebihan menggunakan MYSQL sebagai database server : a. MySQL didistribusikan dibawah lisensi GPL (General Public License) sehingga dapat dipakai secara gratis (Open Source). b. MySQL dapat digunakan secara stabil di berbagai sistem operasi (Linux, Mac OS, Windows) sehingga bersifat Portability. c. Multiuser, sebab dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa bermasalah.
52 d. MySQL dapat menangani database dalam skala yang besar dengan jumlah record lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. e. Performance tuning dimana MySQL memiliki kecepatan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. f. MySQL memiliki tingkat security / keamanan yang tinggi seperti level subnet mask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.
2.5
Delapan Aturan Emas Perancangan Terdapat delapan aturan emas dalam merancang sebuah user interface yaitu : (Shneiderman, 1998, pp74-pp75), a. Konsisten. Konsisten dalam kesamaan terminology dalam membuat menu, tampilan, font, dan help screen. Selain itu, konsisten dalam warna, kapitalitas, dan tampilan juga merupakan hal yang penting. b. Memungkinkan user untuk menggunakan shortcut. Setelah user mulai tanggap dalam mengakses sebuah website, maka user akan menginginkan shortcut yang akan mempercepat navigasi dalam menelusuri website tersebut. c. Memberikan umpan balik yang informatif. Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan sederhana, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang
53 penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. d. Merancang dialog untuk menghasilkan keadaan akhir. Bertujuan untuk membuat user merasa yakin dan tenang dalam melakukan suatu tindakan dengan memberikan gambaran hasil akhir dari suatu pilihan, serta
memberikan
banyak
option
kepada
user
sehingga
bisa
ikut
mempengaruhi hasil akhir. e. Memberikan penanganan kesalahan yang sederhana. Sedapat mungkin suatu website harus dirancang agar user tidak melakukan kesalahan yang fatal, dan pesan kesalahan yang dimunculkan harus mudah dimengerti oleh user. f. Memungkinkan pembalikan aksi yang mudah. Tindakan yang dilakukan oleh user harus dapat dikembalikan pada kondisi sebelumnya sehingga user merasa aman untuk mengeksplorasi website karena ia tahu bahwa kesalahan yang ia lakukan dapat diperbaiki. g. Mendukung internal locus of control (tempat pemakaian internal). Sistem harus dibuat agar user merasa memegang kendali atas suatu website. Kesulitan user dalam melakukan navigasi website atau dalam menampilkan data dapat membuat user menjadi tidak puas. h. Mengurangi beban ingatan jangka pendek. Manusia tidak dapat mengingat banyak info pada suatu waktu yang bersamaan. Oleh karena itu, suatu website harus dibuat sesederhana mungkin
54 sehingga tidak membuat user bingung karena terlalu banyak info yang harus diingat.
2.6
Transaksi Valuta Asing 2.6.1. Pengertian Transaksi Transaksi adalah suatu persetujuan, komunikasi dan perpindahan diantara entiti-entiti dan objek yang ada, yang termasuk di dalamnya pertukaran dari suatu nilai objek seperti uang, service, informasi dan barang.
2.6.2. Pengertian Valuta Asing Valuta asing atau foreign currency adalah mata uang asing dan alat pembayaran yang digunakan untuk melakukan atau membiayai transaksi ekonomi keuangan internasional dan mempunyai catatan kurs resmi pada bank sentral. (Hamdy Hadi,1997,p5). Terdapat 2 jenis valuta asing, yaitu : a. Hard Currency merupakan mata uang yang sering digunakan sebagai alat pembayaran baik dalam transaksi ekonomi dan keuangan internasional. Dan mata uang ini nilainya relatif stabil serta kadang mengalami kenaikan nilai dibandingkan dengan mata uang lainnya. Contohnya mata uang yang berasal dari negara-negara industri maju seperti dolar-Amerika Serikat (USD), poundesterling-Inggris (GBP), dolar-Australia (AUD), mata uang Uni Eropa (EUR), dan lain-lain. (Hamdy Hadi, 1997, p15)
55 b. Soft Currency merupakan mata uang yang jarang digunakan sebagai alat pembayaran dan nilainya relatif tidak stabil bahkan sering mengalami penurunan nilai dibandingkan mata uang lainnya. Biasanya berasal dari negara-negara berkembang seperti rupiahIndonesia, peso-Philiphina, bath-Thailand, rupee-India, dan lain-lain. (Hamdy Hadi, 1997, p16) Secara wujudnya, valuta asing dapat dibedakan menjadi : a. Bank Notes Bank Notes adalah mata uang kertas dalam wujud fisik asli uang tersebut. Pada beberapa negara keadaan fisik Bank Notes sangat diperhatikan. Dan harga Bank Notes biasanya lebih mahal sebab didalamnya ada biaya pengangkutan Bank Notes, biaya simpan dan lain-lain (Heli Charisma, 2006, p6) b. Devisa Umum Devisa Umum merupakan valuta asing yang tidak berwujud fisik uang aslinya melainkan berupa tagihan kepada pihak lain dalam valuta asing, contohnya : giro valas atau deposito valas. (Heli Charisma, 2006, p7)
2.6.3. Mekanisme Transaksi Perdagangan Valuta Asing Perdagangan valuta asing sering disebut dengan international Arbitrage yang merupakan usaha kapitalisasi atas perbedaan kurs jual dan kurs beli valuta asing di berbagai bursa valuta asing.
56 Kurs jual adalah kurs yang digunakan bank atau money changer untuk menjual valuta asing. Kurs beli adalah kurs yang diberlakukan bank ketika bank membeli valuta asing. Terdapat 3 bentuk transaksi perdagangan valuta asing : a. Locational Arbitrage adalah perdagangan valuta asing yang dilakukan karena adanya perbedaan kurs jual dan kurs beli dari beberapa bank pada lokasi atau kota yang sama yang disebabkan penawaran dan permintaan yang dihadapinya. b. Triangular Arbitrage adalah salah satu perdagangan arbitrage yang dilakukan oleh para arbitrager dengan membandingkan cross exchange rate antara 3 lokasi atau tempat yang berbeda. Biasanya Triangular Arbitrage dilakukan oleh arbitrager atau money dealer yang mempunyai akses cepat ke berbagai bursa valuta asing internasional. c. Covered Interest Arbitrage adalah aktivitas arbitrager untuk mencari keuntungan dengan menginvestasi dana dalam sekuritas luar negeri karena adanya perbedaan selisih tingkat bunga dengan perubahan kurs valuta asing. Dalam transaksi valuta asing ada beberapa hal yang perlu disepakati oleh pihak yang melakukan (Heli Charisma, 2006, p37) : a. Mata uang yang diperjualbelikan b. Jumlah yang akan diperjualbelikan c. Kurs/ Exchange rate
57 d. Tanggal Penyerahan (Value Date) e. Cara Penyerahan valuta