BAB II LANDASAN TEORI
2.1 Teori-Teori Basisdata 2.1.1 Pengertian Basisdata Menurut Connolly dan Begg (2005, p15), basisdata adalah sebuah kumpulan data yang saling berhubungan secara logis, dan sebuah penjelasan dari data tersebut, yang didesain untuk menemukan data yang dibutuhkan organisasi. Didalam basisdata, semua data diintegrasikan untuk menghindari duplikasi data. Basisdata banyak digunakan oleh banyak departemen dan pengguna. Basisdata tidak hanya menangani data operasional organisasi, tetapi juga mengenai data tersebut. Menurut Turban (2003, p16), basisdata merupakan kumpulan file atau record yang terorganisir yang menyimpan data beserta hubungan diantara data tersebut. Menurut Post, Gerald V (2004, p2), sistem basisdata merupakan kumpulan data yang disimpan dalam format yang standard dan dirancang untuk dibagikan oleh berbagai pengguna. Menurut Atzeni (2003, p2), basisdata merupakan koleksi dari data yang biasanya digunakan untuk mewakili informasi yang diinginkan terhadap suatu sistem informasi.
6
7 Jadi, kesimpulannya basisdata adalah kumpulan data yang saling berhubungan secara logis dan disimpan dalam format standar yang secara khusus mendeskripsikan aktifitas dari satu atau lebih organisasi yang berhubungan.
2.1.2 Entity-Relationship Modeling Menurut Connolly (2002, p330), Entity-Relationship Modeling adalah pendekatan
perancangan
basisdata
top
down
yang
dimulai
dengan
mengidentifikasi data yang penting yang disebut dengan entity dan hubungan diantara data yang harus direpresentasikan dalam model. Dalam merancang basisdata, hal yang paling penting adalah dengan menggunakan Entity Relationship (ER), karena tanpa ER bisa dipastikan proses pembuatan basisdata berjalan lama dan tidak teratur. Selain itu yang perlu diperhatikan adalah membuat relasi-relasi yang benar diantara tabel. Proses perancangan basisdata memerlukan waktu yang lama jika basisdatanya besar. Pendokumentasian rancangan basisdata mutlak harus dilakukan dengan baik, agar mudah didalam pengembangan dan perbaikan nantinya. 2.1.2.1 Entiti (Entity) Konsep dasar dari model ER adalah Entity, yaitu kumpulan dari objek-objek dari dunia nyata dengan sifat (property) yang sama, yang diidentifikasi oleh perusahaan yang keberadaannya tidak tergantung.
8
Entity Name
Staff
Branch
Gambar 2.1 Contoh Tipe Entiti (Connolly, 2002, p333)
2.1.2.2 Atribut (Attribute) Merupakan sifat-sifat dari sebuah entiti atau tipe relasi. Contoh: sebuah entity staff digambarkan oleh atribut StaffNo, Nama, Jabatan dan Gaji. Atribut domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam-macam atribut: •
Simple Attribute, yaitu atribut yang terdiri dari satu komponen
tunggal dengan keberadaan yang independent dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute. •
Composite Attribute, yaitu atribut yang terdiri dari beberapa
komponen, dimana masing-masing komponen memiliki keberadaan yang independent. Misalkan atribut alamat dapat terdiri dari nama jalan, kota, kode pos.
9 •
Single-valued Attribute, yaitu atribut yang mempunyai nilai
tunggal untuk setiap kejadian. Misalkan entiti cabang memiliki satu nilai untuk atribut Branch No pada setiap kejadian. •
Multi-value Attribute, yaitu beberapa nilai untuk setiap
kejadian. Misal entiti cabang memiliki beberapa nilai untuk atribut telpNo pada setiap kejadian.
2.1.2.3 Keys •
Candidate key didefinisikan sebagai sejumlah minimal atributatribut yang nilainya dapat secara unik mengidentifikasikan suatu entiti. (Connolly, 2002, p340)
•
Primary key didefinisikan sebagai candidate key yang terpilih guna secara unik mengidentifikasikan suatu entiti. (Connolly, 2002, p341).
•
Composite key didefinisikan sebagai candidate key yang terdiri atas dua atau lebih atribut. (Connolly, 2002, p341).
10 2.1.3 4GL(Fourth–Generation Languages) 4GL (Fourth–Generation Languages) adalah sebuah bahasa nonprosedural dimana pengguna mendefinisikan apa yang harus dilakukan bukan bagaimana. Fourth – Generation Languages meliputi: •
Presentation languages, seperti query languages dan report generators.
•
Speciality languages, seperti spreadsheets dan bahasa basisdata.
•
Application generators, yang mendefinisikan insert, update, dan mengambil kembali data dari basisdata untuk membuat aplikasi.
•
Very high level languages yang digunakan untuk menghasilkan application code.
Beberapa tipe dari 4GL, antara lain: •
Forms Generators Adalah sebuah fasilitas interaktif untuk menghasilkan inputan data dan display layouts untuk bentuk layar.
•
Report Generators Adalah sebuah fasilitas untuk menghasilkan laporan dari data yang disimpan dalam basisdata.
•
Graphic Generators Adalah sebuah fasilitas untuk mengambil data dari basisdata dan menampilkan data dalam bentuk grafik yang menunjukkan kecenderungan dan hubungan dalam data.
11 •
Application Generators Adalah sebuah fasilitas untuk menghasilkan sebuah program yang berinteraksi dengan basisdata.
2.2 Database Management System (DBMS) 2.2.1 Pengertian Database Management System (DBMS) Menurut Connolly (2002, p16), Database Management System adalah suatu sistem piranti lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, serta mengatur akses terhadap basisdata.
DBMS menyediakan beberapa fasilitas sebagai berikut: •
Data Definition Language (DDL) Memperbolehkan pengguna untuk membuat spesifikasi tipe data, mendefinisikan basisdata, struktur data dan constraint data untuk disimpan dalam basisdata.
•
Data Manipulation Language (DML) Memperbolehkan pengguna untuk memasukkan, memperbaharui,
menghapus, dan mengirim atau mengambil data dari suatu basisdata.
2.2.2 Komponen Database Management System (DBMS) Menurut Connolly (2002, p18), ada 5 (lima) komponen Database Management System (DBMS) yaitu:
12 •
Hardware (Perangkat Keras) Perangkat keras digunakan untuk menjalankan DBMS dan aplikasi-
aplikasi. Contoh: single main frame, single personal computer atau komputer yang menggunakan jaringan. •
Software (Perangkat Lunak) Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu
sendiri dan program-program aplikasi, bersama sistem operasi, termasuk perangkat lunak jaringan jika DBMS menggunakan jaringan. •
Data Merupakan komponen yang paling penting dari DBMS, khususnya
dari sudut pandang pengguna akhir mengenai data. •
Prosedur Cara untuk menjalankan sistem, seperti bagaimana masuk ke dalam
DBMS, memulai dan menghentikan DBMS, dan juga bagaimana cara untuk membuat backup data dari suatu basisdata. •
Manusia Komponen DBMS yang terakhir adalah manusia yang terlibat dengan sistem termasuk di dalamnya adalah Database Administrator (DBA), perancang basisdata, pengembang aplikasi dan pengguna akhir.
13 2.3 DDL (Data Definition Language) DDL (Data Definition Language) memperbolehkan pengguna untuk membuat spesifikasi tipe data; mendefinisikan basisdata, struktur data, dan batasan data untuk disimpan dalam basisdata.
2.4 DML (Data Manipulation Language) DML
(Data
Manipulation
Language)
memperbolehkan
pengguna
untuk
memasukkan, memperbaharui, menghapus dan mengirim atau mengambil data dari basisdata.
2.5 Database System Development Lifecycle Menurut Connolly dan Begg (2005, p283), sistem basisdata merupakan komponen fundamental dari organisasi besar dengan sistem informasi yang luas. Hal penting yang perlu diperhatikan dalam Database System Development Lifecycle adalah bahwa tingkatannya tidak sepenuhnya berurutan (sequential). Dimana ada beberapa tingkatan yang berulang dengan alur balik (feedback loop), misalnya masalah ditemukan pada tingkat perancangan basisdata yang membutuhkan tambahan kumpulan kebutuhan dan analisis. Untuk aplikasi basisdata yang kecil dengan pengguna yang sedikit maka lifecycle-nya tidak terlalu kompleks. Sebaliknya ketika merancang basisdata yang sedang sampai ke basisdata yang besar dengan puluhan ribu pengguna, menggunakan ratusan query dan program aplikasi maka lifecycle akan menjadi sangat kompleks.
14
Gambar 2.2 Database Lifecycle
15 Berikut ini adalah keterangan dari Gambar diatas : 1. Database planning Merencanakan bagaimana tahapan-tahapan dari daur hidup (lifecycle) dapat direalisasikan secara efektif dan efisien. 2. System Definition Menspesifikasi ruang lingkup dan batasan dari aplikasi database, pengguna, dan area aplikasi. 3. Requirements collection and analysis Mengumpulkan dan menganalisa kebutuhan dari pemakai dan area aplikasi. 4. Database design Design database konseptual, logical dan fisikal. 5. DBMS Selection Memilih DBMS yang cocok untuk aplikasi database. 6. Application Design Mendesain user interface dan program aplikasi yang menggunakan dan memproses database. 7. Prototyping Membuat sebuah model kerja dari aplikasi database, yang memungkinkan designer atau pengguna untuk melihat dan mengevaluasi bagaimana sistem akhir akan dilihat dan berfungsi.
16 8. Implementation Membuat definisi database eksternal, konseptual dan internal dan program aplikasi. 9. Data convertion and loading Memasukkan data dari sistem lama ke sistem yang baru. 10. Testing Aplikasi database di tes untuk mengetahui error dan memvalidasi setiap permintaan dari pengguna. 11. Operational maintenance Aplikasi dari database diterapkan secara penuh. Sistem secara terus menerus memonitor dan merawat. Jika dibutuhkan, kebutuhan baru digabungkan kedalam aplikasi database melalui tahapan-tahapan dari daur hidup terdahulu.
2.6 Design Konseptual, Logikal, dan Fisikal Database Urutan metodologi yang ada menurut Connolly (2002, p420), antara lain: •
Design Konseptual Database Menurut Connolly (2002, p281), tujuan dari design konseptual database
adalah untuk memproses pembuatan suatu model dan informasi yang akan digunakan dalam suatu organisasi, yang independensinya tidak tergantung dengan apapun. Berikut ini adalah langkah-langkah dalam pembuatan model konseptual database:
17 Langkah 1 : Membangun model data konseptual lokal untuk setiap view Langkah 1.1 : Mengidentifikasi tipe entiti Tujuan dari langkah ini adalah untuk mengidentifikasi tipe entiti yang terutama dibutuhkan oleh user. Langkah utama yang diperlukan dalam membangun suatu lokal konseptual data model adalah untuk mendefinisikan objek utama atau entiti dimana user memang membutuhkannya. Salah satu metode untuk mengidentifikasi kata benda atau frase kata benda yang telah disebutkan oleh user. Langkah 1.2 : Mengidentifikasi tipe relationship Tujuan dari langkah ini adalah mengidentifikasi hubungan penting yang terjadi antara entiti yang telah diidentifikasi dengan menggunakan kata kerja atau frase kata kerja. Relasi yang paling umum adalah relasi binary. Yang artinya relasi antar entiti yang sama antara dua entiti. Adapun langkah-langkah dalam mengidentifikasi tipe relasi adalah sebagai berikut : 1. Menggunakan Entity Relationship Diagram (ERD) Hal yang umum terjadi yaitu pengguna akan lebih cepat mengerti suatu perancangan database dengan cara divisualisasikan dibanding dengan perancangan database yang dituliskan dalam bentuk tekstual. Dalam hal ini, ERD digunakan untuk merepresentasikan entiti dan relasi antar entiti.
18 Penggunaan entiti sangat membantu dalam membuat gambaran umum dari perancangan database yang sedang dikembangkan. 2. Menentukan pembatas multiplicity dari tipe relasi Setelah mendapat relasi antar entiti, maka langkah berikutnya adalah menentukan multiplicity setiap relasi. Jika memang ada suatu nilai yang spesifik
dari
suatu
multiplicity
maka
akan
lebih
baik
jika
didokumentasikan. 3. Mengecek Fan Traps dan Chasm Traps Setelah relasi yang dibutuhkan antar entiti didefinisikan, maka langkah berikutnya adalah mengecek fan traps dan chasm traps. Fan traps adalah suatu model yang merepresentasikan suatu relasi antar entiti. Tetapi alur relasinya mempelihatkan ambiguitas. Chasm traps adalah suatu model dimana terdapat hubungan antar entiti yang satu dengan yang lain, tetapi tidak ada relasi antar kedua entiti yang utama. 4. Setiap entiti mempunyai minimal sebuah relasi Pada saat membuat ERD, pastikan setiap entiti mempunyai minimal satu relasi dengan entiti yang lain. Jika memang setiap entiti sudah memiliki minimal satu relasi dengan entiti yang lain, maka langkah berikutnya adalah memperhatikan kamus data.
19 Langkah 1.3 : Mengindentifikasi dan menggabungkan atribut pada tiap entiti atau relasi Tujuan
dari
langkah
ini
adalah
mengidentifikasi
dan
menggabungkan atribut yang dibutuhkan entiti atau relasi, dan mendokumentasikan setiap atribut secara detail. •
Simple atau Composite Atribut Perlu diperhatikan apakah suatu atribut tertentu itu simple atau composite. Composite atribut adalah atribut yang membangun dari simple atribut. Sebagai contoh, atribut alamat bisa saja dibuat simple dan menyimpan beberapa detail dari alamat sebagai suatu nilai. Contoh : Jl. Imam Bonjol 20, Jakarta 11000. Bagaimanapun juga atribut alamat dapat merepresentasikan sebuah composite atribut, yang terdiri dari beberapa detail yang mempunyai niali terpisah dalam atribut nama jalan (“Jl. Imam Bonjol 20”), kota (“Jakarta”), dan kode pos (“11000”). Atribut alamat dapat dijadikan simple atribut atau composite atribut tergantung dengan kebutuhan user. Jika user tidak membutuhkan detail dari atribut alamat seperti nama jalan, kota, kode pos dan sebagainya maka sebaiknya atribut alamat itu tetap dibuat sebagai simple atribut. Sedangkan jika user membutuhkan detail dari atribut alamat, maka sebaiknya atribut alamat tersebut dibuat sebagai composite atribut.
20 •
Single atau Multi Value Atribut Suatu atribut juga dapat mempunyai satu atau lebih nilai, contoh : atribut nomor telepon. Seseorang bisa saja mempunyai nomor telepon lebih dari satu, kejadian seperti itu dapat disebut multi value atribut. Tetapi apabila atribut tertentu hanya mempunyai satu nilai maka disebut single atribut.
•
Derived Atribut Derived atribut adalah atribut yang nilainya tergantung dengan
nilai atribut yang lain. Contoh, umur seorang staff, banyaknya properti yang dimanage oleh seorang staff. Langkah 1.4 : Mengidentifikasi domain atribut Tujuan dari langkah ini adalah untuk menentukan domain atribut dalam model konseptual lokal dan mendokumentasikan secara detail setiap domain. Contoh : 1. Atribut dari nomor staff. Terdiri dari 5 karakter string dimana 2 karakter utama merupakan huruf, sedangkan 3 karakter sisanya berupa angka. 2. Nilai yang mungkin untuk atribut sex adalah M atau F. Ini merupakan domain dari atribut yang menggunakan karakter tunggal.
21 Langkah 1.5 : Menentukan atribut candidate and primary key Tujuan dari langkah ini adalah untuk mengidentifikasikan candidate key(s) untuk setiap entiti dan jika terdapat lebih dari satu candidate key pilih satu menjadi primary key. Pada saat pemilihan primary key diantara banyak candidate key, gunakan petunjuk berikut untuk membantu seleksi : 1. Merupakan candidate key dengan jumlah set paling sedikit. 2. Merupakan candidate key yang nilainya jarang sekali berubah. 3. Merupakan candidate key dengan jumlah karakter paling sedikit. 4. Merupakan candidate key paling sedikit dari nilai maksimalnya (untuk tipe atribut dengan tipe numeric). 5. Merupakan candidate key yang paling mudah digunakan dari sudut pandang user. Langkah 1.6 :
Mempertimbangkan penggunaan konsep model enhanced (langkah optional)
Tujuan dari langkah ini adalah untuk mempertimbangkan penggunaan konsep model enhanced modeling, seperti specialization , generalization, aggregation, dan composition. Jika pendekatan user merupakan specialization, maka perhatikan perbedaan yang dilihat secara maksimal antara satu entiti atau banyak subclass dari superclass entiti. Jika anda menggunakan pendekatan generalization, maka anda akan mengidentifikasikan persamaan antar entiti yang ada untuk membentuk superclass.
22 Langkah 1.7 : Cek model terhadap redudansi Tujuan dari langkah ini adalah untuk mengecek apakah setiap entiti dan attribute redudansi dalam model database. Pada langkah ini dilakukan pengujian model konseptual data lokal dengan penglihatan secara spesifik. Apabila terdapat redudansi, maka dapat dihilangkan dengan 2 cara : 1. Menguji kembali hubungan one-to-one. 2. Menghilangkan relasi redudansi. Langkah 1.8 : Validasi model konseptual data lokal terhadap transaksi user Tujuan dari langkah ini adalah untuk menjamin bahwa model konseptual data lokal dapat mendukung kebutuhan transaksi yang dibutuhkan oleh user. Pengujian dilakukan dengan 2 kemungkinan pendekatan yang mendukung kebutuhan transaksi : 1. Deskripsikan transaksi 2. Gunakan alur transaksi Langkah 1.9 :
Mereview model konseptual data lokal terhadap kebutuhan user
Tujuan dari langkah ini adalah untuk melakukan review terhadap model konseptual data lokal dengan user untuk menjamin model telah merepresentasikan user view berdasarkan kebutuhan perusahaan. Hasil akhir dari perancangan konseptual database adalah memproses pembuatan suatu model dari informasi yang akan digunakan
23 didalam suatu organisasi, yang independensinya tidak tergantung pada apapun.
•
Design Logical Database Adapun tujuan dari model logical data menurut Connolly (2002,p281)
adalah untuk memproses pembuatan suatu model informasi yang digunakan di dalam suatu organisasi berdasarkan model data yang spesifik, tetapi tidak tergantung pada suatu DBMS dan perangkat keras lainnya. Langkah 2 : Membangun dan memvalidasi model logical data local untuk setiap view Tujuan dari langkah ini adalah untuk membangun suatu model logical data lokal dari suatu model konseptual data lokal yang merepresentasikan perusahaan dan kemudian memvalidasi model ini untuk memastikan strukturnya benar dan bahwa model tersebut mendukung transaksi yang diminta. Langkah 2.1 :
Menghilangkan bagian yang tidak sesuai dengan model relasi (langkah optional)
Tujuan dari langkah ini adalah untuk memperbaiki model konseptual lokal data dengan menghilangkan feature-feature yang tidak kompatibel dengan model relasi. Bagian yang dibahas pada langkah ini antara lain : 1. Menghilangkan many-to-many (*..*) tipe relasi binary. 2. Menghilangkan many-to-many (*..*) tipe relasi rekursif. 3. Menghilangkan tipe relasi komplek. 4. Menghilangkan multi value atribut.
24 Langkah 2.2 : Menganalisis relasi untuk model logikal data lokal Tujuan dari langkah ini adalah untuk membuat suatu relasi untuk model logikal data lokal yang merepresentasikan suatu entiti; relasinya dan juga atribut yang telah diidentifikasi. Adapun pendeskripsian bagaimana relasi dapat diturunkan dari struktur data model yang ada sekarang, antara lain : 1. Tipe entiti kuat 2. Tipe entiti lemah 3. One-to-many (1..*) tipe relasi binary 4. One-to-one (1..1) tipe relasi binary 5. One-to-one (1..1) relasi rekursif 6. Superclass atau subclass tipe relasi 7. Many-to-many tipe relasi binary 8. Tipe relasi komplek 9. Atribut multi value Langkah 2.3 : Memvalidasi relasi dengan normalisasi Tujuan dari langkah ini adalah untuk memvalidasi relasi dalam model logikal data lokal dengan menggunakan teknik dari normalisasi. Tujuan dari normalisasi adalah sebagai berikut: a. Menghilangkan kumpulan relasi dari inserting, updating, dan delete depedensi yang tidak diharapkan. b. Mengurangi kebutuhan restrukturisasi kumpulan relasi dan meningkatkan life spam program aplikasi.
25 c. Membuat model relational lebih informative. Tahapan dalam normalisasi: 1. Normalisasi pertama (1NF), menghilangkan perulangan. 2. Normalisasi kedua (2NF), mempunyai syarat, yaitu data harus memenuhi kriteria informasi dan setiap data item yang bukan kunci dependensi functional pada kunci utamanya. 3. Normalisasi ketiga (3NF), menghilangkan transitif dependensi. 4. Normalisasi keempat (4NF / BCNF). Suatu relasi dikatakan BCNF bila didalamnya berisi atribut yang berfungsi sebagai candidate key sehingga salah satu dari candidate key tersebut menjadi primary key. Langkah 2.4 : Memvalidasi relasi dengan transaksi user Tujuan dari langkah ini adalah untuk memastikan bahwa relasi di dalam model logical data lokal mendukung transaksi yang diminta user. Pada langkah ini, pengecekan bahwa relasi yang dibuat dilangkah sebelumnya juga mendukung transaksi ini benar dan pastikan juga bahwa tidak ada error dalam relasi yang telah dibuat. Langkah 2.5 : Mengecek integritas database Tujuan dari langkah ini adalah untuk mendefinisikan ruang lingkup integritas yang diperlihatkan kepada user. Dalam hal ini ada 5 tipe ruang lingkup integritas, antara lain: •
Data yang diminta
•
Domain pembatas atribut
•
Integritas entiti
26 Yang mendefinisikan suatu entiti mempunyai integritas ialah tidak adanya primary key yang kosong (null). Suatu primary key merupakan suatu atribut yang mendefinisikan bahwa setiap record / tuple itu unik satu sama lain. •
Integritas referensi Jika terdapat suatu foreign key dalam suatu relasi, maka nilainya harus sesuai dengan nilai candidate key suatu record dimana foreign key tersebut ada atau sepenuhnya kosong (null).
•
Pembatas enterprise Merupakan aturan tambahan yang dibuat oleh user atau seseorang database administrator dari database tersebut.
Langkah 2.6 : Mereview model logikal data lokal dengan user Tujuan dari langkah ini adalah untuk membuat dokumentasi yang mendeskripsikan model logikal data lokal sebagai representasi yang sesuai dengan keadaan sebenarnya.
Hubungan antara Logikal Data Model dan Data Flow Diagram Suatu model logikal data merefleksikan struktur dari dalam suatu enterprise. Sebuah data flow diagram (DFD) menunjukkan aliran data suatu enterprise dan disimpan di dalam penyimpanan data. Semua atribut seharusnya berada di dalam suatu tipe entiti. Jika memang ditangani di dalam enterprise dan kemungkinan akan dilihat mengalir di sekitar enterprise
27 sebagai aliran data. Ada aturan yang mengontrol antara dua teknik tersebut, antara lain: •
Setiap penyimpanan seharusnya merepresentasikan suatu tipe entiti
•
Atribut dalam data flow seharusnya merupakan bagian dari tipe entiti
Langkah 3 : Membangun dan memvalidasi model logikal data global Tujuan dari langkah ini adalah untuk mengkombinasi suatu individual model logikal data lokal ke dalam suatu model yang menggambarkan suatu enterprise. Langkah 3.1 : Menggabungkan model lokal logikal data menjadi model global Beberapa tugas dari pendekatan ini adalah sebagai berikut: 1. Mereview nama dan isi dari suatu entiti atau relasi dan candidate key. 2. Mereview nama dan isi dari suatu relasi dan foreign key. 3. Menggabungkan entiti atau relasi dari model logikal data lokal. 4. Memasukkan (tanpa penggabungan) entiti atau relasi untuk setiap model lokal data. 5. Menggabungkan relasi atau foreign key dari model lokal data. 6. Memasukkan (tanpa penggabungan) relasi atau foreign key pada setiap model lokal data. 7. Mengecek untuk entiti, relasi, dan foreign key yang hilang. 8. Mengecek untuk foreign key. 9. Mengecek untuk bahasa integritas.
28 10. Membuat global ERD atau relasi diagram. 11. Mengupdate dokumentasi. Langkah 3.2 : Memvalidasi model logikal data global Tujuan dari langkah ini adalah untuk memvalidasi relasi yang dibuat dari model logikal data global dengan menggunakan teknik dari normalisasi dan juga memastikan bahwa relasi yang dibuat mendukung transaksi. Langkah 3.3 : Melakukan cek kemungkinan pengembangan di masa depan Tujuan dari langkah ini adalah untuk menentukan bagian mana yang kelihatan akan berubah ke masa depannya dan juga memperhatikan supaya model logical data global dapat mengakomodasi perubahan tersebut. Langkah 3.4 : Mereview model logikal data global dengan user Tujuan dari langkah ini adalah untuk memastikan bahwa model logikal data global itu memang merepresentasikan enterprise yang ada. Hasil akhir dari perancangan logikal database adalah merancang suatu model informasi berdasarkan spesifik model yang ada (seperti model relational), tetapi tidak tergantung terhadap suatu DBMS dan perangkat keras lainnya. Logical database mendesign suatu map untuk setiap lokal konseptual data. Jika terdapat lebih dari satu pandangan user, maka model logikal data lokal akan dikombinasikan menjadi suatu model logikal data global yang merepresentasikan semua pandangan user dari suatu perusahaan.
29 •
Design Fisikal Database Tujuan dari langkah ini menurut Connolly (2002, p282) adalah untuk mendeskripsikan pengimpementasian dari suatu database pada media penyimpanan secondary; itu juga akan mendeskripsikan dasar dari suatu relasi, file organisasi, dan juga index yang digunakan untuk mencapai suatu keefisienan data, integritas, serta ukuran keamanan. Langkah 4 :
Menerjemahkan model logikal data global sesuai DBMS yang dipakai
Tujuan dari langkah ini adalah untuk membuat suatu skema relational database dari model data logikal global yang dapat diimplementasikan ke DBMS yang dipakai. Langkah 4.1 : Merancang basis relational Tujuan
dari langkah
ini adalah
untuk
memutuskan
bagaimana
merepresentasikan relational dasar yang diidentifikasi dalam model logical data local pada DBMS yang dipakai. Untuk memulai proses perancangan fisikal database, pertama-tama anda dapat mengumpulkan dan meminimalisasikan suatu informasi tentang relational yang dirancang selama perancangan logikal database. Informasi yang diperlukan bisa berasal dari kamus data dan definisi data relasional yang didefinisikan menggunakan DDL. Untuk setiap relational yang diidentifikasi pada model data logikal global, dapat diidentifikasi salah satu database : •
Nama dari relasional yang ada.
•
Suatu list untuk atribut yang simple.
30 •
Primary key, alternative key, dan foreign key.
•
Suatu daftar dari atribut turunan dan bagaimana pembuatannya.
•
Batasan integrasi untuk setiap foreign key yang diidentifikasi
Dari kamus data, dari setiap atributnya dapat diketahui : •
Domain atribut tersebut yang terdiri dari tipe data, panjang, dan berbagai keterangan atribut tersebut.
•
Suatu optional nilai default untuk atribut.
•
Apakah atribut dapat diisi nilai null.
Langkah 4.2 : Merancang representasi data turunan Tujuan
dari langkah
ini adalah
untuk
memutuskan
bagaimana
merepresentasikan suatu data turunan pada model data logikal global pada DBMS yang dipakai. Atribut yang nilainya didapatkan dengan mengevaluasi atribut lain dikenal sebagai atribut turunan atau kalkulasi. Sebagai contoh : •
Jumlah staff yang bekerja pada suatu perusahaan.
•
Jumlah nasabah yang melakukan transaksi kredit.
•
Jenis kredit yang diingini oleh nasabah.
Langkah 4.3 : Merancang batasan aplikasi Tujuan dari aplikasi ini adalah untuk merancang batasan aplikasi untuk DBMS yang dipakai. Mengupdate suatu relasi yang mungkin dibatasi oleh aturan perusahaan sesuai dengan transaksi yang sebenarnya bias diupdate. Perancangan batasan tersebut sekali lagi tergantung pada DBMS yang digunakan, fasilitas yang
31 dipunyai oleh sistem dibandingkan dengan DBMS yang lain. Pada awalnya, jika sistem tersebut mempunyai aturan sesuai aturan standar SQL, beberapa batasan dapat diterapkan.
Langkah 5 : Merancang representasi fisik Tujuan dari langkah ini adalah untuk menentukan organisasi file yang paling optimal untuk menyimpan relational dasar dan index yang diminta untuk performansi yang optimal yang mana relational dan data yang ada disimpan pada secondary storage. Langkah 5.1 : Menganalisis transaksi Tujuan dari langkah ini adalah untuk mengerti fungsi dari suatu transaksi dimana akan dijalankan pada database untuk menganalisis transaksi yang penting. Untuk membuat perancangan database fisikal yang efektif perlu mempunyai pengetahuan mengenai transaksi atau query yang akan dijalankan didalam database. Ini termasuk kuantitatif atau kualitatif informasi. Dalam menganalisis transaksi, dapat diidentifikasikan kriteria performansi sebagai berikut : •
Transaksi yang sering digunakan, dan akan berdampak besar terhadap performansi keseluruhan.
•
Transaksi yang merupakan transaksi bisnis yang kritis.
•
Durasi waktu dalam harian atau mingguan yang akan mendapatkan banyak permintaan pada database.
32 Langkah 5.2 : Memilih organisasi file Tujuan dari langkah ini adalah untuk menentukan organisasi file yang efektif untuk setiap relasional data. Dalam banyak kasus yang ada, suatu relasional DBMS akan memberikan sedikit bahkan tanpa pilihan dalam memilih organisasi file, walaupun beberapa akan mempunyai index yang spesifik. Beberapa organisasi file yang ada adalah sebagai berikut : •
Heap
•
Hash
•
Indexed Sequential Access Method (ISAM)
•
B*-three
•
Clusters
Langkah 5.3 : Memilih index Tujuan dari langkah ini adalah untuk menentukan penambahan indeks yang akan meningkatkan performansi dari suatu sistem. Biasanya pemilihan suatu atribut untuk index adalah sebagai berikut : •
Suatu atribut yang digunakan paling sering untuk operasi penggabungan, yang akan membuat penggabungan itu lebih efektif.
•
Suatu atribut yang digunakan paling banyak untuk mengakses suatu record di dalam relasi yang ada.
33 Langkah 5.4 : Mengestimasi kapasitas penyimpanan yang dibutuhkan Tujuan dari langkah ini adalah untuk mengestimasi ukuran kapasitas disk yang diperlukan untuk database.
Langkah 6 : Merancang tampilan layer untuk user Tujuan dari langkah ini adalah untuk merancang tampilan user yang diidentifikasi selama pengumpulan informasi dan analisis dari siklus hidup aplikasi database.
Langkah 7 : Merancang mekanisme keamanan Tujuan dari langkah ini adalah untuk merancang ukuran keamanan untuk database yang telah dispesifikasikan user. Definisi dari keamanan database adalah suatu mekanisme yang memproteksi database dari suatu kejadian yang disengaja maupun yang tidak disengaja. Suatu database merupakan sumber dari perusahaan yang essential yang perlu dilindungi dengan menggunakan suatu kontrol yang memadai. Beberapa issue keamanan yang perlu diperhatikan : 1. Pencurian data (Theft and Fraud) 2. Kehilangan kerahasiaan suatu data (Loss of Confidentially) 3. Kehilangan hak pribadi (Loss of Privacy) 4. Kehilangan Integritas (Loss of Integrity) 5. Kehilangan ketersediaan data (Loss of Avaibility)
34 Langkah 8 : Mempertimbangkan Pendahuluan dari Kontrol Redudansi (Consider The Introduction of Controlled Redudancy) Tujuan dari tahapan ini adalah melakukan denormalisasi terhadap relasi atau hubungan antar entitas. Pertimbangan dalam melakukan denormalisasi meliputi : 1. Menggabungkan Relasi 1..1 2. Mengurangi Join Dengan Duplikasi Atribut Non-Key Pada Relasi 1..* 3. Mengurangi Join Dengan Duplikasi Atribut Foreign Key Pada Relasi 1..* 4. Mengurangi Join Dengan Duplikasi Atribut Pada Relasi *..* 5. Mengurangi Weak Entity Pada Repeating Group 6. Menggabungkan Table LookUp Dengan Relasi Dasar 7. Membuat Extract Tables
Hasil akhir perancangan fisikal database adalah suatu proses yang mendeskripsikan suatu implementasi dari suatu database pada media penyimpanan.
Ini mendeskripsikan
suatu
relational dan
struktur
penyimpanan dan metodologi pengaksesan data oleh user yang efisien, selama batasan integritas dan pengukuran keamanan.
35 2.7 Internet 2.7.1 Pengertian Internet Internet (Interconnection Network) adalah sebuah jaringan komputer yang terdiri dari berbagai macam jaringan komputer diseluruh dunia dengan operasi sistem yang berbeda–beda. Menurut Ambegaonkar (1997, p2), asal usul internet dimulai dari suatu jaringan komputer yang diperkenalkan oleh Departemen Pertahanan AS pada 1969 melalui proyek ARPA (Advanced Research Project Agency) yang disebut ARPAnet. ARPAnet dibentuk dengan melibatkan 4 (empat) universitas besar di AS yaitu: Stanford Research Institute, University of California at Santa Barbara, University of California at Los Angeles, dan University of Utah. Secara umum ARPAnet baru diperkenalkan pada tahun 1972. Sejak itu perkembangan Internet berlangsung sangat pesat. Salah satu factor yang berkontribusi pada menjamurnya pemakaian internet diseluruh dunia adalah perkembangan World Wide Web (WWW). Menurut Turban (2003, p208), Internet adalah sebuah interkoneksi jaringan yang
besar dari jaringan–jaringan komputer, dan dari komputer–
komputer di seluruh penjuru dunia, lewat saluran telepon, satelit, dan sistem komunikasi lainnya guna melakukan pertukaran informasi. Internet bukan hanya sekedar jaringan komputer biasa. Bila jaringan komputer hanya berperan sebagai media pengantar informasi, maka internet mempunyai peran yang lebih karena turut melibatkan individu–individu yang berpartisipasi di dalamnya. Melalui internet, pemakai–pemakainya saling
36 berinteraksi, terjadi hubungan timbal balik dan komunikasi antar pemakai internet yang satu dengan lainnya. Informasi dari internet juga sangat penting karena memiliki banyak manfaat, termasuk untuk rekreasi dan hiburan. Menurut John Desember dan Neil Randall (1994, p13), dengan mengetahui internet lebih dalam, maka anda akan dapat mengetahui Web lebih baik, selain fakta yang menyebutkan bahwa salah satu fungsi utama web adalah untuk melindungi pengguna dari kesulitan akan interface dari tools-tools yang ada di internet. Web adalah lapisan fungsi penting dan akses diatas internet, tetapi tanpa internet dan konsep–konsepnya, web akan menjadi sesuatu yang tidak mungkin. Dewasa ini, seiring dengan perkembangan IPTEK yang pesat, internet telah menjadi suatu pilihan berkomunikasi yang sangat vital. Melalui internet, informasi yang penting maupun aplikasi–aplikasi yang mahal biayanya dapat dipakai bersama–sama oleh komputer yang berlainan walau jauh letaknya. Selain itu, internet juga menawarkan fasilitas lain seperti Electronic Mail (E-mail), Internet Relay Chat (IRC), Mailing List, Newsgroups, dan World Wide Web (WWW). Internet terdiri atas dua tipe program komputer, yaitu server dan client. Server adalah program yang menyediakan sumber informasi, sedangkan Client adalah program yang digunakan untuk mengakses sumber informasi tersebut (Hahn, 1996, p12 ). Pada World Wide Web suatu progam client berupa browser yang digunakan untuk meminta dan menampilkan informasi dari salah satu Web Server yang berada di internet.
37 2.7.2 WWW (World Wide Web) Menurut Ellsworth dan Ellsworth ( 1995, p39), WWW adalah : a. Kumpulan dokumen yang sangat banyak yang terhubung bersama. b. Kumpulan protokol yang mendefinisikan bagaimana sistem bekerja dan mengirimkan data. c. Suatu kumpulan dari konversi dan badan dari perangkat lunak yang membuat pekerjaan menjadi lebih lancar. d. Web yang menggunakan teknik hypertext dan multimedia ditujukan agar internet menjadi mudah bagi semua orang untuk digunakan dan dikontribusikan.
World Wide Web biasa adalah suatu sistem server yang besar dan mengatur berbagai macam informasi yang dapat berupa text, gambar, maupun suara (Hahn, 1996, p24). Untuk mendapatkan informasi tersebut diperlukan sebuah progam client yang disebut browser. Menurut Ambegaonkar (1997, p27), World Wide Web adalah sebuah sistem server internet yang menggunakan protocol HTTP untuk mentransfer dokumen dengan format tertentu.
Dokumen ini biasanya ditulis dengan
bahasa HTML yang mendukung link ke dokumen lainnya, baik dokumen HTTP, gambar, audio, maupun video. World Wide Web atau lebih sering sebagai Web adalah layanan internet yang paling banyak memiliki tampilan grafis dan kemampuan link yang sangat bagus. Keistimewaan inilah yang telah menjadikan Web
sebagai
38 service yang paling cepat pertumbuhannya. Web mengizinkan pemberian highlight (penyorotan / penggaris bawahan) pada kata–kata atau gambar dalam sebuah dokumen untuk menghubungkan atau menunjuk ke media lain seperti dokumen, frase, movie clip, atau file suara. Web dapat menghubungkan dari sembarang tempat dalam sebuah dokumen atau gambar ke sembarang tempat di dokumen lain. Dengan sebuah browser yang memiliki Graphical User Interface (GUI), link–link dapat dihubungkan dengan tujuannya dengan menunjuk
link
tersebut
dengan
mouse
dan
menekannya.
(http://onno.vlsm.org/v11/ref-ind-1/network/instalasi-anonymous-ftp-danweb-server-1997.rtf) Menurut Sidik dan Husni Iskandar Pohan (2001, p4), cara kerja www adalah sebagai berikut: a.
Informasi web disimpan dalam dokumen yang disebut dengan halaman web (web pages).
b.
Web Pages adalah file–file yang disimpan dalam computer yang disebut dengan Web Servers.
c.
Komputer-komputer membaca web pages yang disebut sebagai web client.
d.
Web Client menampilkan page dengan menggunakan program yang disebut dengan web browser.
e.
Web Browser yang popular adalah Internet Explorer dan Netscape Navigator.
39 2.7.3 HTML (Hypertext Markup Language) Menurut Ellsworth dan Ellsworth (1995, p45), Hyn tentunypertext Markup Languages yang selanjutnya disebut HTML adalah sistem yang digunakan untuk membuat pages dan dokumen untuk ditampilkan dalam sebuah web. Dokumen HTML dapat disiapkan dibanyak standar text editor, meskipun tentunya akan lebih mudah dibuat dengan menggunakan editor yang didesign untuk pembuatan HTML. Menurut Sidik dan Husni Iskandar Pohan (2001, p9), HTML adalah file teks murni yang dapat dibuat dengan editor teks jenis apapun. Dokumen ini dikenal sebagai web page. Dokumen HTML merupakan dokumen yang disajikan dalam browser web surfer. Dokumen ini umumnya berisi informasi ataupun interface aplikasi didalam internet. Menurut Aitken (1999, p12), HTML merupakan standar yang digunakan untuk membuat semua dokumen web.
2.7.4 HTTP (HyperText Transfer Protocol) Menurut Ellsworth (1995, p7), HTTP digunakan oleh World Wide Web (WWW) untuk mentransfer dan memproses file-file HTML. Menurut Bean (1995, p78), HTTP merupakan protokol client server yang digunakan sebagai dasar perantara pada pertukaran file (teks, gambar, grafik, suara, video dan multimedia lainnya) pada World Wide Web. Implementasi dari program yang mengaplikasikan protokol HyperText Transfer Protocol (HTTP) dibagi menjadi 2 (dua) bagian :
40 a.
HTTP Client Mengimplementasikan HyperText Transfer Protocol (HTTP) dari sisi
client,
contohnya
browser
seperti
Internet
Explorer,
Netscape
Communicator dan Mozilla Firefox.
b. HTTP Server Mengimplementasikan HyperText Transfer Protocol (HTTP) dari sisi server yang bertugas melayani permintaan dari HyperText Transfer Protocol (HTTP) Client.
2.7.5 Web Browser Menurut Sidik dan Husni Iskandar Pohan (2001, p5), Web Browser adalah program yang digunakan untuk menampilkan informasi dari web server. Software ini telah dikembangkan dengan menggunakan user interface graphics, sehingga pemakai dapat ‘point and click’ untuk berpindah antar dokumen. Menurut Ambegaonkar (1997, p31), adalah sebuah program yang dirancang untuk mengambil info-info dari server komputer dan sumber-sumber lainnya pada jaringan Internet serta menampilkannya pada komputer kita. Browser pertama kali dibuat berbasis teks, hal ini berarti browser tersebut hanya mampu mengakses informasi dalam bentuk tulisan tanpa kemampuan multimedia.
41 2.7.6 Web Server Menurut Sidik dan Husni Iskandar Pohan (2001, p6), web server adalah komputer yang digunakan untuk menyimpan dokumen-dokumen web, komputer ini akan melayani permintaan dokumen web dari kliennya. Menurut Turban, et.al. (2000, p393), web server adalah suatu software yang digunakan untuk : -
Mengawasi dan menyediakan akses kepada pihak yang memiliki otoritas dalam mengakses informasi tertentu diserver.
-
Menjalankan
bahasa pemrograman
(script)
dan
program
eksternal untuk memberikan fungsi tambahan baik untuk dokumen web atau akses ke basis data. -
Mengelola dan menjalankan fungsi server maupun isi situs.
-
Mencatat transaksi yang dilakukan pengguna.
Berdasarkan
www.cachepilot.com/glossary/index.asp,
server
adalah
penerima dan pengirim web pages pada pengguna yang telah menekan tombol Enter pada URL (Uniform Resource Locator) didalam web browser.
2.7.7 IIS (Internet Information services) Menurut ANDI dan MADCOMS (2004,p2), IIS digunakan untuk mendukung proses publishing aplikasi Web Service yang dibuat. Apabila menggunakan Windows 2000 Server atau Windows Advance Server, maka tidak perlu menginstal IIS.
42 Berdasarkan www.mfgquote.com/resourcec_web_terms_I.cfm, IIS adalah Web Server Microsoft yang berjalan pada platform Windows NT Server dan Windows 2000 Server. IIS sudah terdapat dalam Windows NT 4.0 karena IIS terintegrasi dengan sistem operasi, yang relative mudah dikontrol.
2.7.8 TCP/IP (Transmission Control Protocol/Internet Protocol) TCP/IP adalah sebuah set protocol yang memungkinkan siapa saja dengan sebuah computer, modem, dan sebuah Internet Service Provider (ISP) untuk mengakses dan berbagi informasi melalui Internet. TCP (Transmission Control Protocol) dan IP (Internet Protocol), keduanya merupakan protocol terpisah yang mengontrol dan mengarahkan semua mobilitas paket data di Internet. TCP menyibukkan dirinya dengan melakukan koneksi ke remote host. Sedangkan IP berurusan dengan pengalamtan/addressing dengan tujuan agar pesan menuju kemana mereka seharusnya pergi (Parker dan Mark, 1999, p42).
2.8 Language 2.8.1 PHP (Personal Homepage) Menurut Chaudhury (2002, p296-297) PHP diciptakan oleh Rasmus Lerdrof. Selama lima tahun terakhir, PHP telah menarik minat dari kelompok tertentu dan kontributor baru. Keuntungan dari bahasa pemograman ini adalah kestabilannya, kemudahan penggunaan, dan fakta bahwa PHP dapat melakukan tugas yang lebih sulit dari program CGI (Common Gateway Interface). Kelebihan lainnya adalah kemampuan untuk diintegrasikan dengan beberapa jenis database.
43 PHP merupakan salah satu bahasa pemograman web yang paling disukai dan tercepat dalam perkembangan server. Selain itu, PHP dapat dipergunakan secara gratis dan merupakan open source project (pengguna dapat men-download baik source code maupun eksekusi untuk PHP serta di-install untuk dapat digunakan).
2.8.2 MySQL MySQL merupakan sebuah perangkat lunak pengolah database yang sangat popular, terutama didalam kalangan pengguna sistem operasi berbasis Unix. Badan yang membuat MySQL adalah MySQL AB. (Kurniawan, 2002, p143) MySQL merupakan suatu bahasa pemrograman RDBMS (Relational Database Management System) yang merupakan sebuah open source yang paling popular dan banyak digunakan pada sistem operasi Linux (dan juga tersedia pada sistem operasi Windows). Kepopuleran ini karena ditunjang oleh performa query dari database-nya yang jarang bermasalah (Allen, 2002, p220).
2.8.3 Apache Pada awalnya Apache adalah sebuah HTTP server yang dirancang untuk sistem UNIX. Apache dimulai dari sebuah proyek web server NCSA HTTP yang dikembangkan oleh sebuah grup di National Center for Super Computing Activities (NCSA).
44 Pada tahun 1995, Brian Beh Lendorf dan Cliff Shulnick membangun server tersebut dengan cara membentuk sebuah grup pengembang yang memodifikasi source code pada satu tempat dan memproduksi sebuah produk gabungan. Apache dirilis pada April 1995, dengan fitur yang lebih baik jika dibandingkan dengan yang pertama.
2.9
DFD (Data Flow Diagram) Data flow diagram merupakan sebuah tool yang paling penting untuk seorang
analis sistem. Penggunaan DFD sebagai sebuah modeling tool diperkenalkan oleh Demacro Yordan (1979) dan Gane Sarson (1979) dengan menggunakan pendekatan metode analisis sistem terstruktur. Data flow diagram menggambarkan arus data dari suatu sistem informasi, baik sistem lama maupun sistem baru secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut berada. Simbol-simbol yang digunakan pada DFD: DeMarco and Yourdan
Keterangan
Symbols
Gane and Sarson Symbols
Source/ Entity Eksternal (Kesatuan Luar) Process (Proses)
45 Data Flow (Arus Data) Data Store (Simpanan Data)
Gambar 2.3 Simbol pada DFD Keterangan: 1. Source/ Entity Eksternal Adalah suatu kesatuan diluar sistem yang akan memberikan input atau menerima output dari sistem, dapat berupa orang, organisasi, sumber informasi lain atau penerima akhir dari suatu laporan. 2. Process Adalah kegiatan yang dilakukan oleh orang atau mesin komputer, dimana aliran data masuk, ditransformasikan aliran data keluar. 3. Data Flow Arus data yang ada disimbolkan dengan anak panah, dimana arus data yang ada mengalir diantara proses, simpangan data, kesatuan luar, kesatuan ruang. Arus data dapat berbentuk sebagai berikut: •
Formulir atau dokumen yang digunakan perusahaan
•
Laporan tercetak yang dihasilkan sistem
•
Output dilayar komputer
•
Input untuk komputer
46 •
Komunikasi Ucapan
•
Surat atau memo
•
Data yang dibaca atau disimpan dalam file
•
Catatan penting yang disimpan dalam buku agenda
•
Transmisi data dari suatu komputer ke komputer lain
4. Data Store Simpanan data dapat berupa dalam bentuk suatu file atau suatu sistem database yang ada dalam komputer, arsip/ dokumen, agenda/ buku.
Langkah-langkah pembuatan DFD: 1. Identifikasi semua source/ entity eksternal yang berhubungan dengan sistem. 2. Identifikasi input dan output yang berhubungan dengan source/ entity eksternal. 3. Membuat gambaran dari konteks diagram.
2.9.1
Diagram Konteks Adalah suatu diagram tingkat atas, yang merupakan diagram dari sebuah
sistem yang menggambarkan aliran-aliran data yang masuk dan keluar dari sistem dan juga yang masuk dan keluar dari entitas luar. Hal-hal yang harus diperhatikan adalah: •
Memberikan gambaran tentang seluruh sistem
•
Terminal yang memberikan input ke dalam sistem disebut sebagai source
47
2.9.2
•
Terminal yang menerima output disebut sebagai sink
•
Hanya ada satu proses
•
Tidak boleh ada data store
Diagram Nol Pembuatan diagram nol dilakukan setelah pembuatan diagram konteks,
disini akan dijelaskan secara singkat cara pembuatannya: DFD Level Nol: Adalah suatu penggambaran diagram konteks yang lebih lengkap (overview diagram). Hal-hal yang harus diperhatikan dalam pembuatan diagram nol ini adalah: •
Memperlihatkan data store yang digunakan
•
Untuk proses yang tidak akan dibuat rinciannya lagi, maka harus ditambahkan tanda * pada akhir penomoran proses
•
Keseimbangan antara diagram konteks dan diagram nol harus dipelihara
2.9.3
Diagram Rinci Pembuatan diagram rinci dilakukan setelah pembbuatan diagram nol,
disini akan dijelaskan secara singkat cara pembuatannya:
48 DFD Level 1: Adalah suatu penggambaran secara lebih rinci yang diambil dari diagram nol yang sudah dibuat. Hal-hal yang harus diperhatikan dalam pembuatan diagram rinci ini adalah: •
Keseimbangan data flow antara diagram nol dan diagram rinci yang ada
•
Pada proses yang tidak akan dibuat rinciannya lagi, maka harus ditambahkan tanda * pada akhir penomoran proses
•
2.10
Keseimbangan data store yang digunakan.
State Transition Diagram (STD) Menurut Pressman (2001, p217) STD adalah suatu diagram yang menggambarkan
perubahan tahapan-tahapan atau kondisi-kondisi didalam suatu sistem dimana model diagram tergantung pada definisi suatu state, sedangkan state adalah suatu kumpulan model dari tingkah laku dari suatu sistem dengan menggambarkan state dan kejadian yang menyebabkan sistem berubah ke state yang lain. STD merupakan suatu modeling tool yang menggambarkan sifat ketergantungan pada waktu dari suatu sistem. Dimana pada mulanya hanya digunakan
untuk
menggambarkan suatu sistem yang memiliki sifat real-time, seperti: Process Control, Telephone Switching System, dll. STD harus memiliki initial state dan final state karena tanpa final state sistem akan melakukan fungsi looping terus menerus tanpa pernah berhenti. Initial state tidak
49 bisa lebih dari satu tetapi final state bisa lebih dari satu state. Untuk melengkapi STD diperlukan dua hal lagi, yaitu: 1. Condition Condition adalah suatu event pada external environment yang dapat dideteksi oleh sistem. 2. Action Action adalah yang dilakukan oleh sistem bila terjadi perubahan state atau merupakan reaksi terhadap condition. Action akan menghasilkan output, message display pada layar, menghasilkan kalkulasi, dll.
Komponen utama dari STD adalah state (status) dan arrows (panah) yang mewakili perubahan-perubahan state dimana sistem tersebut dapat berbeda. Sebuah state dapat didefinisikan sebagai suatu himpunan atribut-atribut atau keadaan sifat seseorang atau sesuatu pada saat dan kondisi tertentu, sehingga isi state dari sebuah tipikal sistem berupa: -
waiting for user to enter password
- heating chemical mixture -
waiting for next command
- accelerating engine - mixing ingredients -
waiting for instrument data
- filling tank - idle
50 Notasi yang digunakan dalam STD adalah: •
State State adalah notasi yang menggambarkan suatu keadaan atau kondisi dari jalannya program.
Gambar 2.4 State •
Transition State Transition State adalah notasi yang menggambarkan perubahan dari suatu kondisi ke kondisi yang lain dari jalannya program.
Gambar 2.5 Transition State •
Kondisi dan Aksi (Condition and Action) Untuk melengkapi pembuatan sebuah STD, maka diperlukan adanya suatu
komponen tambahan yaitu kondisi dan aksi. Kondisi merupakan penyebab suatu keadaan menjadi berubah, sedangkan aksi adalah yang dilakukan oleh sistem bila terjadi perubahan keadaan atau reaksi terhadap kondisi. Notasinya yaitu: State 1 Kondisi Aksi State 2 Gambar 2.6 Kondisi dan Aksi
51 2.11 Interaksi Manusia dan Komputer 2.11.1 Pengertian Interaksi Manusia dan Komputer ( IMK) Interaksi Manusia dan Komputer adalah sebuah disiplin ilmu yang berhubungan dengan perancangan, evaluasi dan implementasi sistem komputer interaktif untuk digunakan manusia serta studi fenomena – fenomena besar yang berhubungan dengannya.
2.11.2 Delapan Aturan Emas ( Eight Golden Rules ) Didalam perancangan suatu dialog terdapat delapan aturan emas; yang dimana delapan aturan emas ini merupakan prinsip–prinsip dasar perancangan antarmuka yang paling banyak digunakan dalam pembuat suatu sistem interaktif antara manusia dengan komputer. Menurut Schneiderman (1998, p74), aturan– aturannya adalah sebagai berikut: a. Rancangan yang dibuat harus konsisten. Konsistensi dalam segala aspek perancangan interaksi antara manusia dengan komputer yang kita rancang.
b. Memungkinkan frequent user menggunakan shortcuts . Seiring dengan meningkatnya penggunaan dari suatu sistem, pengguna menginginkan suatu interaksi yang minimal dengan hasil yang sama dengan interaksi yang lebih banyak.
52 c. Memberikan umpan balik yang informatif . Untuk setiap sistem diharapkan adanya suatu umpan balik yang informatif bagi pengguna. Respon yang diberikan tergantung dari aksi yang dilakukan. Penampilan visual dari suatu objek merupakan suatu cara untuk menampilkan informasi yang ada secara eksplisit.
d. Merancang dialog untuk menghasilkan keadaan akhir yang baik. Urutan suatu aksi haruslah diorganisir menurut kelompok tertentu yang terdiri dari permulaan, tengah dan akhir. Umpan balik yang informative kepada pengguna pada taraf akhir dari suatu kelompok aksi akan memberikan kepuasan kepada pengguna bahwa aksi yang mereka lakukan telah berhasil dengan baik, sehingga pengguna akan merasa aman untuk melakukan aksi selanjutnya.
e. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana . Perancangan suatu sistem haruslah dibuat sedemikian rupa sehingga pengguna tidak akan melakukan kesalahan yang signifikan. Jika pengguna akhirnya melakukan suatu kesalahan maka sistem hendaknya memberikan peringatan yang sederhana dan konstruktif serta spesifik.
53 f. Memungkinkan pembalikan aksi (undo) dengan mudah. Setiap aksi haruslah dirancang sedemikian rupa sehingga dapat melakukan pembalikan untuk kembali ke keadaan semula sebelum aksi tersebut dijalankan. Dengan adanya fasilitas ini, pengguna akan memiliki keberanian untuk mengekspoitasikan sistem yang telah dibuat, karena untuk semua kesalahan yang timbul, pengguna memiliki pilihan untuk melakukan pembalikan terhadap aksi yang telah dilakukan.
g. Mendukung pusat kendali internal ( internal focus of control ). Pengguna yang berpengalaman biasanya memiliki keyakinan bahwa mereka bertanggung jawab terhadap sistem dan sistem akan memberikan respon terhadap aksi yang mereka lakukan. Respon yang aneh, urutan yang aneh dalam entry data dan kesulitan dalam memperoleh informasi serta ketidakmampuan untuk mendapatkan hasil sesuai aksi tertentu akan menimbulkan kekecewaan dan keraguan bagi pengguna.
h. Mengurangi beban ingatan jangka pendek. Keterbatasan manusia dalam mengelola memori jangka pendek menyebabkan dibutuhkannya suatu tampilan yang sesederhana mungkin, pengaturan dalam multipage, pergerakan window yang sedikit mungkin, waktu latihan yang cukup dan optimal serta pengaturan dalam urutan aksi. Hal ini juga harus didukung dengan ketersediaan dari adanya akses secara langsung, kode, singkatan, dan informasi yang dibutuhkan oleh pengguna.
54 2.12 Rekayasa Perangkat Lunak Menurut Pressman (2001,p3), perangkat lunak adalah sebuah produk yang dibangun dan didesain oleh seorang perancang perangkat lunak. Untuk memperoleh pemahaman yang lebih tentang perangkat lunak, penting untuk meneliti karakteristik perangkat lunak sebagai berikut: a.Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik. b.Perangkat lunak tidak pernah usang c.Sebagian besar perangkat lunak dibuat secara custom–built, serta tidak dapat dirakit dari komponen yang sudah ada.
2.13 Teori-teori Khusus 2.13.1 Penjualan Penjualan adalah pertukaran barang dengan persetujuan sejumlah uang (www.thefreedictionary.com). Menurut Boockholdt (1999, p527), penjualan merupakan komponen keempat dalam siklus aktivitas bisnis, yang didefinisikan sebagai kegiatan menjual barang atau jasa guna meraup penghasilan bagi bisnis. Menurut Mulyadi (2001, p211), fungsi-fungsi yang terkait dalam sistem penjualan adalah : 1. Fungsi Penjualan, bertanggung jawab untuk menerima order, mengedit order, meminta otorisasi kredit, menentukan tanggal pengiriman dan bertanggung jawab atas transaksi penjualan.
55 2. Fungsi gudang, bertanggung jawab untuk menyimpan dan menyiapkan barang yang dipesan oleh pelanggan dan mengirimkan dan menyerahkan barang ke bagian pengiriman. 3. Fungsi pengiriman, bertanggung jawab untuk menyerahkan barang ke pelanggan berdasarkan surat order pengiriman yang diterima dari bagian penjualan. 4. Fungsi penagihan, bertanggung jawab membuat dan mengirimkan faktur penjualan kepada pelanggan, serta menyediakan copy faktur bagi kepentingan pencatatan transaksi penjualan oleh fungsi akuntansi. 5. Fungsi akuntansi, bertanggung jawab mencatat piutang yang timbul dari transaksi penjualan dan membuat laporan penjualan.
Jaringan prosedur yang membentuk sistem penjualan (Mulyadi, 2001, p219) adalah sebagai berikut : 1. Prosedur order penjualan Fungsi penjualan menerima order dari pembeli dan menambahkan informasi penting pada surat order. Fungsi penjualan kemudian membuat surat jalan dan mengirimkannya kepada berbagai fungsi yang lain untuk memungkinkan fungsi tersebut memberikan kontribusi dalam melayani order dari pembeli. 2. Prosedur pengiriman Fungsi pengiriman mengirimkan barang kepada pembeli sesuai dengan informasi yang tercantum dalam surat jalan.
56 3. Prosedur penagihan Fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada pembeli. Dalam metode tertentu faktur penjualan dibuat oleh fungsi penjualan sebagai tembusan pada waktu bagian ini membuat surat jalan. 4. Prosedur pencatatan piutang Fungsi akuntansi mencatat tembusan faktur penjualan ke dalam kartu piutang atau dalam metode pencatatan tertentu mengarsipkan dokumen tembusan menurut abjad yang berfungsi sebagai catatan piutang. 5. Prosedur distribusi penjualan Fungsi akuntansi mendistribusikan data penjualan menurut informasi yang diperlukan oleh manajemen.
Dokumen-dokumen yang digunakan dalam sistem penjualan (Mulyadi, 2001, p214) meliputi : 1. Surat jalan dan tembusannya 2. Faktur dan tembusannya 3. Rekapitulasi harga pokok penjualan 4. Bukti memorial
57 2.13.2 Retur Penjualan Transaksi retur penjualan terjadi jika perusahaan menerima pengembalian barang dari pelanggan karena terjadi ketidaksesuaian seperti barang yang diterima tidak sesuai dengan spesifikasi pada surat order atau barang telah kadaluarsa. Pengembalian barang oleh pelanggan harus diotorisasi oleh fungsi penjualan dan diterima oleh fungsi penerimaan.