7
BAB 2 LANDASAN TEORI
2.1
Teori – Teori Dasar/Umum 2.1.1 Pengertian Data Menurut Haag et all ( 2005, p6 ), data adalah fakta mentah yang menggambarkan suatu fenomena. Menurut Inmon (2005, p493), dikemukakan bahwa data adalah sebuah rekaman fakta, konsep, atau instruksi pada sebuah media penyimpanan untuk komunikasi, pencarian, dan pemrosesan secara otomatis dan dapat memberikan informasi yang dapat dimengerti oleh pemiliknya atau pihak yang bersangkutan. Menurut O’Brien (2003,p13), data adalah fakta mentah atau observasi, umumnya tentang fenomena fisik atau transaksi bisnis. Sebagai contoh, sebuah peluncuran pesawat luar angkasa atau penjualan suatu mobil akan menciptakan banyak data yang menggambarkan kejadian tersebut. Secara lebih spesifik, data adalah ukuran objektif dari atribut (karakteristik) dari entitas (seoerti orang, tempat dan benda) Berdasarkan definisi diatas maka dapat disimpulkan bahwa data adalah sebuah fakta atau pernyataan yang bersifat mentah, diterima apa adanya yang umumnya berisi tentang fenomena fisik atau transaksi bisnis dan tersebut dapat berupa angka, kata-kata, atau gambar.
8
2.1.2 Pengertian Database Menurut Ramakrishnan dan Gehrke (2000, p3), database merupakan koleksi data-data yang terdiri atas entity dan relationship yang saling berhubungan satu dengan yang lain. Menurut Gerald V. Post (2005, p2), database merupakan kumpulan dari data yang disimpan dalam format yang telah distandarisasikan, didesain untuk dibagikan oleh banyak user. Menurut Connolly (2005, p15) database adalah sebuah koleksi data yang dipakai bersama dan terhubung secara logis dan deskripsi dari data ini dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. Jadi, dapat disimpulkan bahwa database merupakan kumpulan data-data yang terdiri dari atribut-atribut, entity-entity, dan relationship dari informasi sebuah perusahaan yang dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. 2.1.3 Pengertian The-Three Level ANSI-SPARC Architecture Menurut Connoly(2005,p34) bagian dari three-level architecture terdiri dari extenal, conceptual, dan internal level. Cara user melihat suatu data disebut bagian eksternal, cara DBMS dan sistem melihat suatu data disebut sebagai internal level, dimana data disimpan menggunakan sebuah struktur data dan file organization. Konseptual level ini menjelaskan data apa saja yang disimpan didalam database dan bagaimana hubungan antar datanya.
9
Gambar 2.1 The Three-Level ANSI-SPARC Architecture Tujuan utama dari three-level architecture ini sebenarnya adalah untuk memisahkan setiap hak ases user terhadap database dari keadaan database yang sebenarnya. Ada beberapa alasan yang mendasari hal tersebut : 1. Setiap user harus bisa mengakses setiap data yang ada, tetapi akan berbeda sudut pandangnya mengenai suatu data. Dan setiap user pun bisa mengubah sudut pandangnya mengenai data, tetapi hal ini tidak akan berpengaruh terhadap user lainnya.
10
2. Setiap user tidak bisa langsung mengubah detail data pada database. Dengan kata lain interaksi user harus bersifat independent dari database. 3. Database administrator harus bisa mengubah struktur database tanpa harus merubah user’s view. 4. DBA seharusnya bisa merubah struktur konseptual dari database tanpa mempengaruhi semua user. 5. Internal struktur dari database seharusnya tidak berpengaruh terhadap berubahnya alat penyimpanan. 2.1.4 Pengertian Database Management System (DBMS) Database Management System (DBMS) adalah sistem perangkat lunak yang memungkinkan user untuk mendefinisikan, membuat, menjaga dan mengontrol akses ke database. (Connoly dan Begg 2005, p16). Seperti perangkat lunak yang lainnya, DBMS harus efisien dan efektif juga datanya dapat digunakan bersama-sama oleh banyak user. Menurut O’brien (2005, p141), “Database is an Integrated collection of logically related data elements”, yang artinya bahwa database merupakan suatu koleksi yang terintegrasi dari elemen data yang secara logika saling berhubungan. Menurut Gerald V. Post (2005, p2), Database Management System (DBMS) merupakan software yang mendefinisikan database, menyimpan data, mendukung query language, menghasilkan report, dan membuat data entry screen.
11
Jadi, dapat disimpulkan bahwa Database Management System
adalah
suatu sistem perangkat lunak (software) yang digunakan untuk mendefinisikan, membuat,
memelihara/mengontrol,
serta
mengelola/mengendalikan
akses
kedalam database yang saling bersangkutan. Sebuah DBMS biasanya memberikan fasilitas-fasilitas sebagai berikut : 1. Terdapat fasilitas yang memungkinkan user untuk mendefinisikan basisdata, biasanya melalui sebuah Data Definition Language (DDL), DDL memungkinkan user untuk menspesifikasikan tipe data dan struktur data dan batasan dari data yang akan disimpan ke dalam basisdata. 2. Terdapat fasilitas yang memungkinkan user untuk melakukan insert, update, delete, dan mengambil data dari basisdata, biasanya melalui sebuah Data Manipulation Language (DML). Biasanya terdapat fasilitas untuk melayani pengaksesan data yang dinamakan query language. Bahasa query yang paling diakui adalah Structured Query Language (SQL), yang merupakan standar bahasa formal dan de fakto bagi DBMS relasional. 2.1.4.1 Komponen DBMS DBMS mempunyai komponen diantaranya adalah : (Connolly, 2005, p53-55) 1. Query Processor, merupakan komponen utama dalam DBMS yang merubuah query kedalam bahasa instruksi tingkat rendah yang ditujukan untuk database manager.
12
2. Database Manager (DM), DM berhadapan dengan program aplikasi dan query yang diajukan oleh user. DM menerima query dan memeriksa skema eksternal dan konseptual untuk menentukan record konseptual apa yang dapat memenuhi permintaan user. 3. File Manager, memanipulasi file-file dasar yang tersimpan dan mengatur alokasi tempat penyimpanan. 4. DML Processor, modul ini mengkonversikan pernyataan DML dalam program aplikasi ke bentuk standar dari bahasa host. 5. DDL
Compiler,
mengkonversikan
pernyataan
DDL
kedalam
sekumpulan tabel-tabel yang berisikan meta-data. Tabel-tabel ini tersimpan di katalog sistem dan informasi pengawasannya disimpan pada file header data. 2.1.4.2 Keuntungan DBMS Adapun keuntungan DBMS menurut Connolly (2005, p26-29) adalah : 1. Penggunaan data bersama (The Data Can Be Shared). 2. Mengurangi kerangkapan data (Redudancy Can Be Reduced). 3. Menghindari ketidakkonsistenan data (Inconsistency Can Be Avoided). 4. Integritas data terpelihara (Integrity Can Be Maintained). 5. Keamanan terjamin (Security Can Be Enforced). 6. Kebutuhan user yang kompleks dapat teratasi (Balanced conflicting requirements). 7. Pelaksanaan standarisasi (Standards Can Be Enforced).
13
8. Meningkatkan produktivitas (Increased productivity). 9. Layanan back up dan recovery semakin baik (Improved back up and recovery services). 10. Increased concurrency Improved data accessubility and responsiveness 2.1.4.3. Kerugian DBMS Adapun kerugian DBMS menurut Connolly (2005, p29-30) adalah : 1.
Kompleksitas
2.
Memerlukan Size/ukuran software yang besar.
3.
Biaya dari suatu DBMS sangat mahal.
4.
Biaya penambahan perangkat keras.
5.
Biaya konversi tinggi.
6.
Performa sistem dapat tidak sesuai dengan keinginan.
7.
Menimbulkan pengaruh yang besar pada perusahaan jika terjadi kegagalan pada sistem.
2.1.4.4. Fungsi – Fungsi DBMS Adapun fungsi-fungsi DBMS menurut Connolly (2005, p48-52) adalah : 1.
Penyimpanan, pengambilan dan perubahan data.
2.
Katalog yang dapat diakses oleh pengguna.
3.
Dukungan transaksi.
4.
Layanan kontrol konkurensi.
5.
Layanan recovery.
14
6.
Layanan kepemilikan (Authorization Services).
7.
Dukungan komunikasi data.
8.
Layanan integrasi.
9.
Layanan untuk peningkatan independensi data.
10. Layanan utilitas. 2.1.4.5 Data Definition Laguage (DDL) Data Definition Language menurut Connolly dan Begg (2005,p40) adalah suatu bahasa yang memperoleh DBA atau pengguna untuk mendeksripsikan dan memberikan nama entitas, atribut, dan relationship yang diperlukan untuk aplikasi DDL berfungsi untuk mengubah suatu data menjadi data yang berguna bagi pengguna. Beberapa statement DDL menurut Connolly dan Begg(2005,p167) 1. Create Table Untuk membuat table dengan mengidentifikasikan tipe data untuk tiap kolom. 2. Alter Table Untuk menambah atau membuang kolom dan konstrain. 3. Drop Table Untuk membuang atau menghapus table berserta semua data yang terkait didalamnya. 4. Create index Untuk membuat index pada suatu table.
15
5. Drop Index Untuk membuang atau menghapus index atau menghapus index yang sudah dibuat sebelumnya. 2.1.4.6. Data Manipulation Laguage Menurut Connolly dan Begg(2005,p41) DML adalah suatu bahasa yang
menyediakan sekumpulan operasi yang diinginkan untuk
mendukung operasi manipulasi data utama pada data yang diperoleh dalam database DML menyediakan operasi dasar manipulasi data pada yang ada dalam database, yaitu: • Penyisipan data baru kedalam database (insertion) • Mengubah atau memodifikasi data yang disimpan dalam database (modify) • Pemanggilan data yang ada dalam database (retrieve) • Menghapus data dari database(delete) Menurut Connolly dan Begg kita dapat membedakan DML menjadi 2 tipe yang berbeda, yaitu: a.
Prosedural DML Prosedural
memungkinkan
DML pengguna
adalah (umumnya
suatu
bahasa
yang
programmer)
untuk
memberi instruksi ke system mengenai data yang dibutuhkan dan bagaimana cara pemanggilannya(retrieve). Artinya pengguna harus menjelaskan operasi pengaksesan data yang akan digunakan
16
dengan menggunakan prosedur yang ada untuk mendapatkan informasi yang dibutuhkan. b.
Non procedural DML Non procedural DML adalah suatu bahasa yang
memungkinkan pengguna untuk menentukan data apa yang dibutuhkan dengan menyebutkan spesifikasikan bagaimana cara mendapatkannya. DML biasanya meliputi : 1.
Memasukkan data yang baru ke dalam basisdata.
2.
Memodifikasi data yang tersimpan di dalam basisdata.
3.
Mengambil data yang terdapat di dalam basisdata.
4.
Menghapus data dari basisdata.
2.1.4.7 Fourth Generation Laguage (4GL) Didalam 4GL user lebih menekankan pada pendefinisian apa yang akan dikerjakan, daripada bagaimana mengerjakannya. 4GL meliputi : (Connolly, 2005, p4243) 1. Forms Generators, merupakan fasilitas interaktif untuk membuat form input data dan tampilannya. Mendefinisikan design tampilan, informasi apa yang akan disajikan, komponen warna pada layar dan karakteristik lainnya. 2. Report Generators, membuat laporan (reports) yang datanya diambil dari database. Memungkinkan user untuk mengambil data yang diperlukan untuk laporan. Lebih menekankan kepada rancangan output, yaitu bagaimana suatu laporan akan disajikan.
17
3. Graphics Generators, digunakan untuk mengambil data dari database, dan menampilkannya dalam bentuk grafik, seperti : bar chart, pie chart, line chart dan lainnya. 4. Application
Generators,
fasilitas
untuk
menghasilkan
program
yang
berhubungan dengan data, menentukan bagaimana menampilkan fungsi-fungsi. Menurut Connolly (2005, p42), 4GL mempunyai kemampuan sebagai berikut : 1. Bahasa presentasi, seperti query language dan report generator. 2. Bahasa khusus (speciality language), seperti spreadsheets dan bahasa basisdata. 3. Pembuat aplikasi (application generator) yang membuat, melakukan insert, update, dan mengambil data dari basisdata untuk membangun aplikasi. 4. Bahasa tingkat sangat tinggi (very high-level languages) yang digunakan untuk mengerjakan kode aplikasi. 2.1.5 Tahapan Dari Database Application Lifecycle Database merupakan komponen mendasar suatu sistem informasi, dimana pengembangan/pemakaiannya harus dilihat dari perspektif yang lebih luas berdasarkan kebutuhan organisasi. Berikut ini adalah tahapan dari database application lifecycle menurut Connolly (2005, p283-306) :
18
Gambar 2.2 Tahapan Database LifeCycle 1. Perencanaan database (Database Planning) Merupakan aktivitas manajemen yang memungkinkan tahapan dari database application lifecycle direalisasikan se-efektif dan se-efisien mungkin. Perencanaan database harus terintegrasi dengan keseluruhan strategi sistem informasi dari organisasi. Terdapat 3 hal pokok yang berkaitan dengan strategi sistem informasi, yaitu : a. Identifikasi rencana dan sasaran (goals) dari enterprise termasuk mengenai sistem informasi yang dibutuhkan.
19
b. Evaluasi sistem informasi yang ada untuk menetapkan kelebihan dan kekurangan yang dimiliki. c. Penaksiran kesempatan IT yang mungkin memberikan keuntungan kompetitif. Metodologi untuk mengatasi hal tersebut diatas yaitu : a. Database Planning – Mission Statement : Mission statement untuk database project mendefinisikan tujuan utama dari aplikasi database. Mengarahkan database project, biasanya mendefinisikan perintah tugas (mission statement). Mission statement membantu
menjelaskan
kegunaan
dari
database
project
dan
menyediakan alur yang lebih jelas untuk mencapai efektifitas dan efisiensi penciptaan dari suatu aplikasi database yang diinginkan. b. Database Planning – Mission Objectives : Ketika mission statement telah didefinisikan, maka mission objectives
didefinisikan.
Setiap
objective
(tujuan)
harus
mengidentifikasikan tugas khusus yang harus didukung oleh database. Dapat juga disertai dengan beberapa informasi tambahan yang menspesifikasikan pekerjaan yang harus diselesaikan, sumberdaya yang digunakan dan biaya untuk membayar kesemuanya itu. Database planning juga harus menyertakan pengembangan standarstandar yang menentukan : a. Bagaimana data akan dikumpulkan. b. Bagaimana menspesifikasikan format/bentuk data.
20
c. Dokumentasi penting apakah yang akan diperlukan. d. Bagaimana desain dan implementasi harus dilakukan. 2. Definisi sistem (System Definition) Menjelaskan batasan-batasan dan cakupan dari aplikasi database dan sudut pandang user (user view) yang utama. User view mendefinisikan apa yang diwajibkan dari suatu aplikasi database dari perspektif aturan kerja khusus (seperti Manajer atau Supervisor) atau area aplikasi enterprise (seperti Marketing, Personnel, atau Stock Control). Aplikasi database dapat memiliki satu atau lebih user view. Identifikasi user view, membantu memastikan bahwa tidak ada user utama dari suatu database yang terlupakan ketika pembuatan aplikasi baru yang dibutuhkan. User view juga membantu dalam pengembangan aplikasi database yang rumit/kompleks memungkinkan permintaan-permintaan dipecah kedalam bagian-bagian yang lebih simple. 3. Analisis dan pengumpulan kebutuhan (Requirements Collection and Analysis) Suatu proses pengumpulan dan analisa informasi mengenai bagian organisasi yang didukung oleh aplikasi database, dan menggunakan informasi tersebut untuk identifikasi kebutuhan user akan sistem baru. Informasi dikumpulkan untuk setiap user view utama meliputi : a. Deskripsi data yang digunakan atau dihasilkan. b. Detail mengenai bagaimana data digunakan/dihasilkan. c. Beberapa kebutuhan tambahan untuk aplikasi database yang baru.
21
Informasi dianalisa untuk identifikasi kebutuhan agar disertakan dalam aplikasi database yang baru. Aktifitas penting lainnya adalah menentukan bagaimana mengatur aplikasi database dengan multiple user view, yaitu : a. Pendekatan terpusat (Centralized approach) Kebutuhan
untuk
setiap
user
view
digabungkan
menjadi
sekumpulan kebutuhan. Sebuah global data model dibuat berdasarkan atas penggabungan kebutuhan (dimana merepresentasikan seluruh user view). b. Pendekatan integrasi view (View integration approach) Kebutuhan untuk setiap user view digunakan untuk membangun model data terpisah untuk merepresentasikan user view tersebut. Hasil dari model data tersebut nantinya digabungkan dalam tahapan desain database. Model data yang merepresentasikan user view tunggal disebut local data model, dan tersusun atas diagram-diagram dan dokumentasi yang secara formal menggambarkan kebutuhan dari user view khusus terhadap database. Kemudian local data model digabungkan untuk menghasilkan global data model, yang merepresentasikan seluruh user view untuk database. c. Kombinasi keduanya (Combination of both approaches). 4. Database design Merupakan suatu proses pembuatan sebuah desain database yang akan mendukung tujuan dan operasi suatu enterprise. Tujuan utamanya adalah :
22
a. Merepresentasikan data dan relationship antar data yang dibutuhkan oleh seluruh area aplikasi utama dan user group. b. Menyediakan model data yang mendukung segala transaksi yang diperlukan pada data. c. Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi kebutuhan performa yang ditetapkan pada sistem (misal : waktu respon). Pendekatan dalam desain database : 1. Top-down Diawali dengan pembentukan model data yang berisi beberapa entitas high-level dan relationship, yang kemudian menggunakan pendekatan top-down secara berturut-turut untuk mengidentifikasi entitas lower level, relationship dan atribut lainnya. 2. Bottom-up Dimulai dari atribut dasar (yaitu, sifat-sifat entitas dan relationship), dengan analisis dari penggabungan antar atribut, yang dikelompokan kedalam suatu relasi yang merepresentasikan tipe dari entitas dan relationship antar entitas. 3. Inside-out Berhubungan dengan pendekatan bottom-up tetapi sedikit berbeda dengan identifikasi awal entitas utama dan kemudian menyebar ke entitas, relationship, dan atribut terkait lainnya yang lebih dulu diidentifikasi.
23
4. Mixed Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum pada akhirnya digabungkan. Data modeling, ada dua kegunaan utama dari data modeling yaitu : 1. Untuk membantu dalam memahami arti (semantik) dari data. 2. Untuk
memfasilitasi
komunikasi
mengenai
informasi
yang
dibutuhkan. Pembuatan model data menjawab pertanyaan mengenai entitas, relationship dan atribut. Model data memastikan kita memahami : a. Setiap user perspektif mengenai data. b. Sifat dari data itu sendiri, independen terhadap representasi fisiknya. c. Kegunaan data melalui user view. Kriteria untuk menghasilkan model data yang optimal : a. Validitas Struktutal (Structural Validity), harus konsisten dengan definisi enterprise dan informasi organisasi. b. Kesederhanaan (Simplicity), mudah dimengerti baik oleh profesional sistem informasi maupun pengguna non-teknik. c. Ketepatan (Expressibility), kemampuan untuk membedakan antara data yang berlainan, relationship antar data dan batasan-batasan. d. Tidak rangkap (Nonredundancy), pengeluaran informasi yang tidak berhubungan, dengan kata lain, representasi setiap bagian informasi hanya satu kali.
24
e. Digunakan bersama (Shareability), tidak ditentukan untuk aplikasi atau teknologi tertentu dan dapat digunakan oleh banyak pengguna. f. Perluasan penggunaan (Extensibility), kemampuan untuk menyusun dan mendukung kebutuhan baru dengan akibat sampingan yang minimal terhadap user yang sudah ada. g. Integritas (Integrity), konsistensi dengan cara yang digunakan enterprise dan pengaturan informasi. h. Representasi diagram (Diagrammatic Representation), kemampuan untuk merepresentasikan model menggunakan notasi diagram yang mudah dimengerti. Tiga fase database design : 1. Conceptual database design Suatu proses pembentukan model dari informasi yang digunakan dalam enterprise, independen dari keseluruhan aspek fisik. Model data dibangun dengan menggunakan informasi dalam spesifikasi kebutuhan user. Model data konseptual merupakan sumber informasi untuk fase desain logical. 2. Logical database design Suatu proses pembentukan model dari informasi yang digunakan dalam enterprise berdasarkan model data tertentu (misal : relasional), tetapi independen terhadap DBMS tertentu dan aspek fisik lainnya. Model data konseptual yang telah dibuat sebelumnya, diperbaiki dan dipetakan kedalam model data logical.
25
3. Physical database design Suatu proses yang menghasilkan deskripsi implementasi database pada penyimpanan sekunder. Menggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Dapat dikatakan juga, desain fisikal merupakan cara pembuatan menuju sistem DBMS tertentu. 4. DBMS selection (optional) Pemilihan DBMS yang tepat untuk mendukung aplikasi database. Dapat dilalukan kapanpun sebelum menuju desain logical asalkan terdapat cukup informasi mengenai kebutuhan sistem. Tahap-tahap utama untuk memilih DBMS : a. Mendefinisikan terminologi studi referensi. b. Mendaftar dua atau tiga produk. c. Evaluasi produk. d. Rekomendasi pilihan dan laporan produk. 5. Desain aplikasi (Application design) Desain interface user dan program aplikasi yang menggunakan dan memproses database. Desain database dan aplikasi merupakan aktifitas paralel yang meliputi dua aktifitas penting yaitu : 1. Transaction design Transaksi adalah satu aksi atau serangkaian aksi yang dilakukan oleh user tunggal atau program aplikasi, yang mengakses atau merubah isi dari database. Kegunaan dari desain
26
transaksi adalah untuk menetapkan dan keterangan karakteristik high-level dari suatu transaksi yang dibutuhkan pada database, diantaranya : a. Data yang akan digunakan oleh transaksi. b. Karakteristik fungsional dari suatu transaksi. c. Output transaksi d. Keuntungannya bagi user. e. Tingkat kegunaan yang diharapkan. Terdapat tiga tipe transaksi, yaitu : a. Retrieval transaction, digunakan untuk pemanggilan (retrieve)
data
untuk
ditampilkan
di
layar
atau
menghasilkan suatu laporan. b. Update transaction, digunakan untuk menambahkan record baru, menghapus record lama, atau memodifikasi record yang sudah ada didalam database. c. Mixed transaction, meliputi pemanggilan dan perubahan data. 2. User interface design Beberapa aturan pokok dalam pembuatan user interface : a. Meaningful title, diusahakan pemberian nama suatu form cukup
jelas
form/report.
menerangkan
kegunaan
dari
suatu
27
b. Comprehensible instructions, penggunaan terminologi yang familiar untuk menyampaikan instruksi ke user dan jika informasi tambahan dibutuhkan, maka harus disediakan helpscreen. c. Logical grouping and sequencing of fields, field yang saling berhubungan ditempatkan pada form/report yang sama. Urutan field harus logis dan konsisten. d. Visually appealing layout of the form/report, tampilan form/report harus menarik, dan sesuai dengan hardcopy agar konsisten. e. Familiar field labels, penggunaan label yang familiar. f. Consistent terminology and abbreviation, terminologi dan singkatan yang digunakan harus konsisten. g. Consistent use of color. h. Visible space and boundaries for data-entry fields, jumlah tempat yang disediakan untuk data entry harus diketahui oleh user. i. Convinient cursor movement, user dapat dengan mudah menjalankan
operasi
yang
diinginkan
dengan
menggerakkan cursor pada form/report. j. Error correction for individual characters and entire fields, user dapat dengan mudah menjalankan operasi
28
yang diinginkan dan melakukan perubahan terhadap nilai field. k. Error messages for unacceptable values. l. Optional fields marked clearly. m. Explanatory messages for fields, ketika user meletakkan cursor pada suatu field, maka keterangan mengenai field tersebut harus dapat dilihat. n. Completion signal, indikator yang menjelaskan bahwa suatu proses telah selesai dilaksanakan. 6. Prototyping (optional) Membuat model kerja suatu aplikasi database. Tujuan utama dari pembuatan prototyping adalah : a. Untuk mengidentifikasi feature dari sistem yang berjalan dengan baik atau tidak. b. Untuk memberikan perbaikan-perbaikan atau penambahan feature baru. c. Untuk klarifikasi kebutuhan user. d. Untuk evaluasi feasibilitas (kemungkinan yang akan terjadi) dari desain sistem khusus. Terdapat dua macam strategi prototyping yang digunakan saat ini, yaitu : 1. Requirements
prototyping,
menggunakan
prototypeuntuk
menentukan kebutuhan dari aplikasi database yang diinginkan
29
dan ketika kebutuhan itu terpenuhi maka prototype akan dibuang. 2. Evolutionary prototyping, digunakan untuk tujuan yang sama. Perbedaannya,
prototype
tidak
dibuang
tetapi
dengan
pengembangan lanjutan menjadi aplikasi database yang digunakan. 7. Implementation Merupakan realisasi fisik dari database dan desain aplikasi. Implementasi database dicapai dengan menggunakan : a. DDL untuk membuat skema database dan file database kosong. b. DDL untuk membuat user view yang diinginkan. c. 3GL dan 4GL untuk membuat program aplikasi. Termasuk transaksi database disertakan dengan menggunakan DML, atau ditambahkan pada bahasa pemrograman. 8. Data conversion and loading Pemindahan
data
yang
ada
kedalam
database
baru
dan
mengkonversikan aplikasi yang ada agar dapat digunakan pada database yang baru. Tahapan ini dibutuhkan ketika sistem database baru menggantikan sistem yang lama. DBMS biasanya memiliki utilitas yang memanggil ulang file yang sudah ada kedalam database baru. Dapat juga mengkonversi dan menggunakan program aplikasi dari sistem yang lama untuk digunakan oleh sistem yang baru.
30
9. Testing Suatu proses eksekusi program aplikasi dengan tujuan untuk menemukan kesalahan. Dengan menggunakan strategi tes yang direncanakan dan data yang sesungguhnya. Penguji hanya akan terlihat jika terjadi kesalahan software. Mendemonstrasikan database dan program aplikasi terlihat berjalan seperti yang diharapkan 10. Operational maintenance Suatu proses pengawasan dan pemeliharaan sistem setelah instalasi, meliputi : a. Pengawasan performa sistem, jika performa menurun maka memerlukan perbaikan atau pengaturan ulang database. b. Pemeliharaan dan pembaharuan aplikasi database (jika dibutuhkan). c. Penggabungan kebutuhan baru kedalam aplikasi database. 2.1.6
Normalisasi Normalisasi adalah sebuah teknik untuk menghasilkan sejumlah relasi
dengan sifat-sifat (properties) yang diinginkan, memenuhi kebutuhan data pada enterprise. Tujuan utama dalam pengembangan model data logical pada sistem database relasional adalah menciptakan representasi akurat suatu data, relationship antar data dan batasan-batasannya. Untuk mencapai tujuan ini, maka harus ditetapkan sekumpulan relasi.
31
Empat bentuk normal yang biasa digunakan yaitu, first normal form (1NF), second normal form (2NF), third normal form (3NF), dan Boyce-Codd normal form (BCNF). Konsep utamanya terkait dengan functional dependencies, dimana menerangkan hubungan antar atribut yang ada. Sebuah relasi dapat dinormalisasikan kedalam bentuk tertentu untuk mengatasi kemungkinan terjadinya pengulangan dari update yang tidak baik. (Connolly, 2005, p388) Hubungan diantara normal forms menurut Connolly (2005, p401-422) sebagai berikut :
Gambar 2.3 Diagram Ilustrasi dari Hubungan Diantara Normal Forms 1. Unnormalized Form (UNF) a. Merupakan suatu tabel yang berisikan satu atau lebih groups yang berulang. b. Membuat tabel unnormalized yaitu dengan memindahkan data dari sumber informasi kedalam format tabel dengan baris dan kolom. 2. First Normal Form (1NF) a. Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai.
32
b. UNF ke 1NF 1. Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalized. 2. Identifikasikan groups yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut. 3. Hapus group yang berulang dengan cara : a. Masukkan data yang semestinya kedalam kolom yang kosong pada baris yang berisikan data yang berulang (flattening the table), atau dengan cara b. Menggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya kedalam relasi terpisah. 3. Second Normal Form (2NF) a. Berdasarkan pada konsep full functional dependency, yaitu A dan B merupakan atribut dari sebuah relasi, B dikatakan fully dependent terhadap A jika B functionally dependent pada A tetapi tidak pada proper subset dari A. b. 2NF, merupakan sebuah relasi dalam 1NF dan setiap atribut nonprimary-key bersifat fully functionally dependent pada primary key. c. 1NF ke 2NF 1. Identifikasikan primary key untuk relasi 1NF. 2. Identifikasikan functional dependencies dalam relasi.
33
3. Jika terdapat partial dependencies terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya. 4. Third Normal Form (3NF) a. Berdasarkan pada konsep transitive dependency, yaitu suatu kondisi dimana A, B dan C merupakan atribut dari sebuah relasi, maka jika A -> B dan B -> C, maka C transitively dependent pada A melalui B. (Jika A tidak functionally dependent pada B atau C). b. 3NF, adalah sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key atribut yang bersifat transitively dependent pada primary key. c. 2NF ke 3NF 1. Identifikasikan primary key dalam relasi 2NF. 2. Identifikasikan functional dependencies dalam relasi. 3. Jika terdapat transitive dependencies terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya. 2.1.7
Entity-Relationship Modeling 2.1.7.1 Entity Types Konsep dasar dari Model ER adalah Entity Types, yaitu kumpulan dari objek-objek dengan sifat (property) yang sama, yang di identifikasi oleh enterprise mempunyai eksistensi yang independen. Keberadaannya dapat berupa fisik maupun abstrak.
34
Entity Occurrence, yaitu pengidentifikasian objek yang unik dari
sebuah
operational
maintenance.
Setiap
entitas
di
identifikasikan dan disertakan propertynya. 2.1.7.2 Relationship Types Kumpulan keterhubungan yang mempunyai arti (meaningful associations) antara types entitas yang ada. Relationship
occurrence,
yaitu
keterhubungan
yang
diidentifikasi secara unik yang meliputi keberadaan tiap type entitas yang berpartisipasi. 2.1.7.3 Derajat Relationship Yaitu
jumlah
entitas yang
berpatisipasi
dalam suatu
relationship. Derajat relationship terdiri dari : 1. Binary relationship, keterhubungan antar dua tipe entitas.
Contoh
binary
relationship
antara
PrivateOwner dengan PropertyForRent yang disebut POwns. 2. Ternary relationship, keterhubungan antar tiga tipe entitas. Contoh Ternary Relationship yang dinamakan registers. Relasi ini melibatkan tiga tipe entiti yaitu Staff,
Branch
dan
Client.
Relationship
ini
menggambarkan staff mendaftarkan client pada branch. 3. Quaternary relationship, keterhubungan antar empat tipe entitas. Contoh quaternary relationship yang
35
dinamakan Arranges. Relasi ini melibatkan 4 entity yaitu Buyer, Solicitor, Financial Institution, dan Bid. Relasi ini menggambarkan buyer, diberi masukan oleh Solicitor, dan didukung oleh Financial Institution, melakukan penawaran (bid). 4. Unary relationship, keterhubungan antar satu tipe entitas, dimana tipe entitas tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. Kadang disebut juga recursive relationship. Relationship dapat diberikan role names untuk meng-identifikasikan keterkaitan tipe entitas dalam relationship. Contoh entitas Staff yang berperan menjadi supervisor dan staff yang di-supervisor-i. 2.1.7.4 Attributes Merupakan sifat-sifat (property) dari sebuah entity atau relationship type. Contohnya : sebuah entity Staff digambarkan oleh attribut staffNo, name, position dan salary. Attribute Domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam-macam atribut : 1. Simple Attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute.
36
2. Composite Attribute, yaitu atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independen. Misalkan atribut Address dapat terdiri dari Street, City, PostCode. 3. Single-valued Attribute, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian. Misalnya entitas Branch memiliki satu nilai untuk atribut branchNo pada setiap kejadian. 4. Multi-valued Attribute, yaitu atribut yang mempunyai beberapa nilai untuk setiap kejadian. Misal entitas Branch memiliki beberapa nilai untuk atribut telpNo pada setiap kejadian. 5. Derived Attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas. 2.1.7.5 Keys 1. Super Key : Atribut unik yang mengidentifikasikan row. 2. Candidate Key : Atribut unik yang mengidentifikasikan table. Jumlah
minimal
atribut-atribut
yang
dapat
meng-
identifikasikan setiap kejadian/record secara unik. 3. Primary Key : Atribut unik yang meng-identifikasikan setiap row dalam table. Candidate Key yang dipilih untuk meng-
37
identifikasikan setiap kejadian/record dari suatu entitas secara unik. 4. Alternate Key : Candidate Key yang tidak terpilih menjadi Primary Key. 5. Composite Key : Candidate Key yang terdiri dari dua atau lebih atribut. 6. Foreign Key : Atribut sebuah tabel yang menggabungkan diri ke tabel lain. 2.1.7.6 Strong and Weak Entity Types Strong Entity Type, yaitu entitas yang keberadaannya tidak bergantung pada entitas lain sedangkan Weak Entity Type, adalah entitas yang keberadaannya bergantung pada entitas lain. Strong Entity Type terkadang disebut dengan parent, owner dominant dan Weak Entity Type disebut child, dependent, subordinate.
Gambar 2.4 A Strong Entity Type Client and A Weak Entity Type Preference
38
2.1.7.7 Structural Constraints Batasan utama pada relationship disebut multiplicity, yaitu jumlah (atau range) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui suatu relationship. Relationship yang paling umum adalah binary relationship. Macam-macam binary relationship : 1. One-to-One (1:1) 2. One-to-Many (1:*) 3. Many-to-Many (*:*) Tabel 2.1 Tabel Summary of Multiplicity Constraints
2.1.8 Perancangan Basis Data Konseptual Langkah 1 Membangun Model Data Konseptual Lokal Tujuan dari langkah ini adalah untuk membangun sebuah model data konseptual lokal dari sebuah perusahaan untuk masing-masing view yang spesifik.
39
Langkah 1.1 Mengidentifikasikan tipe entitas Tujuan dari langkah ini adalah untuk mengidentifikasi tipe entitas utama yang diperlukan oleh view. Langkah pertama dalam membangun sebuah model data konseptual lokal adalah menentukan objek utama yang mana user tertarik terhadapnya. Objek-objek ini adalah tipe entitas untuk model. Salah satu metode untuk mengidentifikasikan entitas adalah dengan menentukan spesifikasi
kebutuhan
user.
Dari
spesifikasi
ini,
kita
mengidentifikasikan kata benda atau frase benda yang disebutkan. Langkah 1.2 Mengidentifikasikan tipe relasi Tujuannya adalah untuk mengidentifikasikan relasai penting yang muncul antara tipe entitas yang telah diidentifikasikan. Ketika mengidentifikasikan entitas, salah satu metode adalah dengan mencari kata benda yang ada di dalam spesifikasi kebutuhan user. Kita juga dapat menggunakan tata bahasa dari spesifikasi kebutuhan untuk mengidentifikasikan relasi. Biasanya, relasi diindikasikan oleh kata kerja atau ekspresi verbal. Menurut Connolly (Connolly, 2005, p445-446), langkah-langkah dalam mengidentifikasikan tipe relasi adalah sebagai berikut : 1. Menggunakan Entity-Relationship Diagrams (ERD). 2. Menentukan batasan multiplicity dari sebuah tipe relasi. 3. Memeriksa fan dan chasm traps. 4. Mendokumentasikan tipe relasi.
40
Langkah 1.3 Mengidentifikasikan dana mengasosiasikan atribut dengan entitas atau tipe relasi Tujuannya adalah untuk mengasosiasikan atribut dengan entitas atau tipe relasi yang sesuai. Langkah 1.4 Menentukan domain atribut Tujuannya adalah untuk menentukan domain dari atribut dalam model data konseptual lokal. Domain adalah sekumpulan nilai-nilai di mana satu atau lebih atribut menggambarkan nilai darinya. Model data yang sudah dikembangkan sepenuhnya menspesifikasikan domain untuk setiap atribut dan menyertakan : 1. Sekumpulan nilai yang diperbolehkan untuk atribut. 2. Ukuran dan format dari atribut. Langkah 1.5 menentukan atribut candidate dan primary key Tujuannya untuk mengidentifikasikan candidate key untuk setiap tipe entitas dan, jika terdapat lebih dari satu candidate key, memilih salah satu sebagai primary key. Candidate key adalah sekumpulan atribut
minimal
dari
sebuah
entitas
yang
secara
unik
mengidentifikasikan masing-masing kejadian (occurence) dari entitas tersebut. Kita dapat mengidentifikasikan lebih dari satu candidate key, di mana kita memilih salah satu sebagai primary key dan sisanya dinamakan alternate key.
41
Ketika memilih sebuah primary key di antara candidate key, perhatikan petunjuk berikut untuk membantu pemilihan. 1. Candidate key dengan sekumpulan atribut yang minimal. 2. Candidate key yang nilainya paling jarang berubah. 3. Candidate key dengan karakter yang paling sedikit. 4. Candidate key dengan nilai maksimun yang paling kecil. 5. Candidate key yang paling mudah digunakan dari sudut pandang user. Langkah
1.6
Mempertimbangkan
penggunaan
konsep
penggunaan
konsep
pemodelan tingakat tinggi (langkah optional) Tujuannya
untuk
mempertimbangkan
pemodelan tingkat tinggi, seperti spesialisasi, generalisasi, aggregasi, dan komposisi. Jika kita menggunakan pendekatan spesialisasi (specialization), kita berusaha untuk memperlihatkan perbedaan antara entitas dengan menentukan satu atau lebih subclass dari sebuah entitas superclass. Jika kita menggunakan pendekatan generalisasi (generalization), kita berusaha untuk mengidentifikasikan fitur-fitur umum antara entitas untuk menentukan sebuah entitas superclass yang umum. Kita dapat menggunakan aggregasi untuk merepresentasikan sebuah relasi ’memiliki’ atau ’bagian dari’ antara tipe entitas, di mana yang satu
42
merepresentasikan ’seluruh’ dan yang lainnya sebagai ’bagian’. Kita dapat mengguanakan komposisi (tipe khusus dari aggregasi) untuk merepresentasikan sebuah asosiasi antara tipe entitas di mana terdapat kepemilikan yang kuat (strong ownership) dan coincidental lifetime antara ’seluruh’ dan ’bagian’. Langkah 1.7 Memeriksa model terhadap adanya pengulangan (redudancy) Tujuannya adalah untuk memeriksa adanya pengulangan di dalam model. Pada langkah ini, kita menguji model data konseptual lokal dengan tujuan spesifik yaitu untuk mengidentifikasikan apakah terdapat sebuah pengulananga dan menghilangkan pengulangan yang ada. Dua aktivitas dalam langkah ini adalah ” 1. Menguji ulang relasi one-to-one (1:1). 2. Menghapus relasi yang redundant. Langkah 1.8 Memvalidasi model konseptual lokal terhadap transaksi user Tujuan dari langkah ini adalah untuk memastikan bahwa model konseptual lokal mendukung transaksi yang diperlukan oleh view. Kita menguji dua kemungkinan pendekatan untuk memastikan bahwa model data konseptual lokal mendukung transaksi yang diperlukan : 1. Menguraikan transaksi. 2. Menggunakan jalan kecil (pathway) transaksi.
43
Langkah 1.9 Melakukan review model data konseptual lokal dengan user Tujuannya adalah untuk memeriksa (review) model data konseptual lokal dengan user untuk memastikan bahwa model merupakan representasi yang ’benar’ dari view. Hasil
akhir
dari
perancangan
konseptual
basisdata
adalah
memproses pembuatan suatu model dari informasi yang akan digunakan di dalam suatu perusahaan organisasi yang tidak tergantung dengan apapun (independent) 2.1.9 Perancangan Basis Data Logikal Langkah 2 Membangun dan memvalidasi model data logikal lokal Tujuan dari langkah ini adalah untuk membangun sebuah model data
logikal
lokal
dari
model
data
konseptual
lokal
yang
merepresentasikan sebuah view utama dari perusahaan dana kemudian memvalidasi model ini untuk memastikan bahwa model ini secara struktur adalah benar (menggunakan teknik normalisasi) dan untuk memastikan model mendukung transaksi yang dibutuhkan. Langkah 2.1 menghapus fitur-fitur yang tidak compatible dengan model relasional (optional) Tujuannya untuk memperbaiki model data konseptual lokal untuk menghapus fitur-fitur yang tidak kompatibel dengan model relasional. Tujuan dari langkah ini adalah untuk :
44
1. Menghilangkan tipe biner many-to-many (*:*). 2. Menghilangkan tipe relasi rekursif many-to-many (*:*). 3. Menghilangkan tipe relasi kompleks. 4. Menghilangkan atribut multi-valued.
Langkah 2.2 Memperoleh relasi untuk model data logikal lokal Tujuannya adalah untuk membuat relasi untuk model data logikal lokal yang merepresentasikan entitas, relasi, dan atribut yang sudah diidentifikasikan. Cara untuk memperoleh relasi dari kemungkinan struktur yang ada di dalam data model yaitu : 1. Tipe strong entity. 2. Tipe weak entity. 3. Tipe relasi biner one-to-many (1:*). 4. Tipe relasi biner one-to-one (1:1). 5. Relasi rekursif one-to-one (1:1). 6. Tipe relasi superclass/subclass. 7. Tipe relasi biner many-to-many (*:*). 8. Tipe relasi kompleks. 9. Atribut multi-valued. Langkah 2.3 Validasi relasi dengan menggunakan normalisasi Tujuannya untuk memvalidasi relasi pada model data logikal lokal dengan menggunakan teknik dari normalisasi.
45
Langkah 2.4 Validasi relasi terhadap transaksi user Tujuannya untuk memastikan bahwa relasi pada model data logikal lokal mendukung transaksi yang diperlukan oleh view. Langkah 2.5 Menentukan batasan integritas Tujuannya adalah untuk mendefinisikan batasan integritas yang diberikan di dalam view. Lima tipe dari batasan integritas menurut Connolly (Connolly, 2005, p81), yaitu : 1. Data yang diminta. 2. Batasan domain atribut. 3. Integritas entitas. 4. Integritas referensial. 5. Batasan perusahaan. Langkah 2.6 review model data logikal dengan user Tujuannya adalah untuk memastikan bahwa model data logikal lokal dan dokumentasi pendukung yang menggambarkan model merupakan representasi yang benar dari view. Relasi antara model data logikal dan data flow diagrams Sebuah model data logikal merefleksikan struktur dari data tersimpan pada sebuah perusahaan. Sebuah Data Flow Diagram (DFD) menunjukkan data yang bergerak di dalam sebuah perusahaan dana disimpan di dalam media penyimpanan data (datastores). Semua atribut harus muncul dalam sebuah tipe entitas jika disimpan di dalam
46
perusahaan, dan mungkin akan terlihat mengalir di sepanjang perusahaan sebagai aliran data (dataflow). Langkah 3 Membangun dan memvalidasi model data logikal global Tujuan dari langkah ini adalah untuk menggabungkan model data logikal lokal individual menjadi sebuah model data logikal global tunggal yang merepresentasikan perusahaan. Langkah 3.1 Menggabungkan model data logikal lokal ke dalam model global Tujuannya adalah untuk menggabungkan model data logikal lokal individual ke dalam sebuah model data logikal global tunggal dari perusahaan. Beberapa tugas dari pendekatan ini adalah sebagai berikut : 1. Review nama dan isi dari entitas/relasi dan candidate key. 2. review nama dan ini dari relasi/foreign key. 3. Gabungkan entitas/relasi dari model data lokal. 4. Masukkan (tanpa menggabungkan) entitas/relasi yang unik ke dalam masing-masing model data lokal. 5. Gabungkan relasi/foreign key dari model data lokal. 6. Masukkan (tanpa menggabungkan) relasi/foreign key yang unik ke dalam masing-masing model data lokal. 7. Periksa entitas/relasi dan relasi/foreign key yang hilang.
47
8. Periksa batasan integritas. 9. Gambarkan diagram relasi/ERD global. 10. Update dokumentasi. Langkah 3.2 Validasi model data logikal global Tujuannya untuk memvalidasi relasi yang dibuat dari model data logikal global menggunakan teknik normalisasi dan untuk memastikan relasi mendukung transaksi yang diperlukan. Langkah 3.3 Memeriksa untuk pertumbuhan ke depan Tujuannya untuk menentukan apakah ada perubahan yhang significant di kemudian hari yang dapat diramalkan dan untuk menduga apakah model data logikal global dapat menyesuaikan perubahan ini. Langkah 3.4 Review model data logikal global dengan user Tujuannya untuk memastikan bahwa model data logikal global merupakan representasi yang benar dari perusahaan. Hasil akhir dari perancangan logikal basisdata adalah merancang suatu model informasi berdasarkan spesifikasi model yang ada (seperti model relasional), tetapi tidak bergantung terhadap suatu DBMS dan perangkat keras lainnya. Basisdata logikal merancang suatu peta untuk setiap model data konseptual lokal. Jika terdapat lebih dari satu pandangan user, maka model data logikal lokal akan dikombinasikan menjadi suatu model data logikal global yang merepresentasikan semua pandangan user dari suatu perusahaan.
48
2.1.10 Perancangan Basis Data Fisikal Langkah 4 Menterjemahkan model data logikal global untuk sasaran DBMS Tujuan dari langkah ini adalah untuk menghasilkan skema basisdata relasional
untuk
model
data
logikal
global
yang
dapat
diimplementasikan pada sasaran DBMS. Langkah 4.1 Merancang relasi dasar (base relations) Tujuannya adalah untuk memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasikan dalam model data logika global pada sasaran DBMS. Untuk setiap relasi yang diidentifikasikan dalam model data logika global, kita memiliki definisi yang terdiri dari : 1. Nama relasi 2. Daftar dari simple attribute dalam tanda kurung 3. Primary key dan, jika perlu, alternate key (AK) dan foreign key (FK) 4.
Daftar dari setiap atribut yang diperoleh dan bagaimana dikomputasikan
5. Batasan integritas referensial untuk foreign key yang diidentifikasikan Dari kamus data, untuk setiap atribut juga didapatkan : 1. Domain, terdiri dari tipe data, panjang, dan setiap batasan dari domain
49
2. Pilihan nilai default untuk atribut 3. Apakah atribut boleh berupa null Langkah 4.2 Merancang representasi dari data yang diperoleh (derived data) Tujuannya
adalah
untuk
memutuskan
bagaimana
merepresentasikan derived data yang ada dalam model data logikal global pada sasaran DBMS. Atribut yang nilainya dapat ditemukan dengan menguji nilai dari atribut yang lain dikenal sebagai derived atau calculated attributes. Langkah 4.3 Merancang batasan perusahaan Tujuannya untuk merancang batasan perusahaan untuk target DBMS. Langkah 5 Merancang representasi fisik Tujuan dari langkah ini adalah untuk menentukan organisasi file yang optimal untuk menyimpan relasi dasar (base relation) dan index yang diperlukan untuk mendapatkan kinerja yang dapat diterima, yaitu bagaimana relasi dan tuples akan disimpan dalam penyimpanan sekunder (secondary strorage). Langkah 5.1 Menganalisa transaksi Tujuannya adalah untuk memahami kegunaan dari transaksi yang akan dijalankan pada basisdata dan untuk menganalisa transaksi yang penting.
50
Dalam
menganalisa
transaksi,
kita
berusaha
untuk
mengidentifikasikan kriteria kinerja, seperti : 1. Transaksi yang sering dilakukan dan akan memiliki pengaruh yang significant pada kinerja. 2. Transaksi yang kritikal terhadap operasi bisnis 3. Waktu selama satu hari/minggu dimana akan ada permintaan yang tinggi terhadap basisdata (dinamakan peak load). Langkah 5.2 Memilih organisasi file Tujuannya untuk menentukan sebuah organisasi file yang efisien untuk setiap relasi dasar (base relations). Untuk membantu memahami organisasi file pada setiap relasi, terdapat petunjuk untuk memilih sebuah organisasi file berdasarkan tipe file berikut : 1. Heap 2. Hash 3. Indexed Sequential Access Method (ISAM) 4. B-tree 5. Clusters Langkah 5.3 Memilih index Tujuannya untuk menentukan apakah menambahkan index akan meningkatkan kinerja dari sistem.
51
Pada
kasus
ini,
pilih
atribut
untuk
mengurutkan
atau
mengelompokkan tuple sebagai : 1. Atribut yang paling sering digunakan pada operasi join, karena atribut ini membuat operasi join lebih efisien, atau 2. Atribut yang paling sering digunakan untuk mengakses tuple dalam sebuah relasi untuk atribut tersebut. Langkah 5.4 Menghitung kebutuhan disk space Tujuannya untuk memperkirakan jumlah dari disk space yang akan diperlukan oleh basisdata. Merupakan sebuah kebutuhan bahwa implementasi basisdata dapat ditangani oleh konfigurasi perangkat keras yang sedang digunakan. Tujuan dari tahapan ini adalah untuk memperkirakan jumlah dari disk space yang diperlukan untuk mendukung implementasi basisdata pada penyimpanan sekunder. Langkah 6 Merancang user view Tujuan dari langkah ini adalah untuk merancang pandangan user yang diidentifikasikan selama pengumpulan kebutuhan dan menganalisa tahapan dari siklus hidup aplikasi basisdata relasional. Langkah 7 Merancang mekanisme keamanan Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan bagi basisdata sebagaimana yang dispesifikasikan oleh user.
52
Mekanisme keamanan basisdata adalah suatu mekanisme yang memproteksi basisdata dari suatu kejadian yang disengaja maupun yang tidak disengaja (Connolly, 2005, p542). Suatu basisdata merupakan sumber dari perusahaan yang penting yang perlu dilindungi dengan suatu kontrol yang memadai. Beberap issue keamanan basisdata yang perlu diperhatikan antara lain : 1. Pencurian data (Theft and Fraund) 2. Kehilangan
kerahasiaan
suatu
data
(Loss
of
Confidentiality) 3. Kehilangan hak pribadi (Loss of Privacy) 4. Kehilangan integritas (Loss of Integrity) 5. Kehilangan ketersediaan data (Loss of Availability) Hasil akhir dari perancangan basisdata fisikal adalah suatu proses yang mendeskripsikan suatu implementasi basisdata pada media penyimpanan. Ini menggambarkan suatu relasional dan struktur penyimpanan serta metodologi pengaksesan data oleh user yang efisien, selama memenuhi batasan integritas dan mekanisme keamanan. 2.1.10.1
Data Flow Diagram (DFD) Data flow diagram atau diagram aliran data adalah alat yang menggambarkan aliran data melalui sistem dan kerja atau pengolahan yang dilakukan oleh sistem tersebut. Sinonimnya disebut bagan buble, grafik transformasi, dan model proses
53
Beda DFD dengan Flowchart, antara lain : a. Proses dalam DFD dapat beroperasi secara paralel. Artinya beberapa proses dapat dilaksanakan atau dikerjakan secara serempak. Sebaliknya, proses pada flowchart hanya satu proses dalam satu waktu. b. DFD menunjukkan data flow melalui sistem. Sebaliknya, flowchart menunjukkan rangkaian proses dalam algoritma atau program. c. DFD tunggal dapat menyertakan proses setiap jam, secara harian, mingguan, tahunan, dan sesuai permintaan. Hal ini tidak terjadi pada flowchart. 2.1.10.1.1
Simbol DFD DFD
(menurut
Whitten,
Bentley,
Dittman) terdapat tiga simbol dan satu koneksi : a. Persegi empat tumpul, lingkaran atau lonjong
menyatakan
proses
atau
bagaimana tugas dikerjakan. (PROSES) b. Persegi eksternal
empat batasan
(INTERFACE)
menyatakan sistem
agen
tersebut.
54
c. Kotak dengan ujung terbuka menyatakan data store atau disebut file atau database. (DATA) d. Panah menyatakan aliran data atau input dan output ke dan dari proses tersebut. 2.1.10.2
DFD Konteks Pertama perlu mendokumentasikan lingkup proyek awal. Semua proyek memiliki lingkup. Lingkup proyek mendefinisikan aspek bisnis yang harus didukung oleh sistem
atau
aplikasi
dan
bagaimana
sistem
yang
dimodelkan berinteraksi dengan sistem lain dan bisnis secara keseluruhan. Context data flow diagram adalah model proses untuk mendokumentasikan lingkup sistem. Disebut juga model lingkungan. DFD konteks berisi satu dan hanya satu proses. 2.1.10.3
State Transional Diagram State Transition Diagram (STD) adalah alat yang digunakan untuk menggambarkan urutan dan variasi screen yang dapat terjadi selama satu sesi pengguna. STD digunakan untuk menjelaskan siklus objek dari sistem yang ditunjukkan dengan komponen – komponen sebagai berikut :
55
1. Merepresentasikan keadaan-keadaan tertentu dari objek dalam sistem. Contohnya keadaan “Start” menunjukkan awal dari sistem. 2.
Menunjukkan arah aliran data dari sistem dimana terdapat aksi yaitu apa yang dilakukan oleh pengguna (input) dan reaksi yang ditunjukkan oleh sistem (output).
2.2
Teori – Teori Khusus 2.2.1
Internet 2.2.1.1 Pengertian Internet Internet atau Interconnection Networking adalah jaringan besar yang menghubungkan jaringan komputer dari bisnis, organisasi, lembaga pemerintah, dan sekolah di seluruh dunia, dengan cepat, langsung, dan hemat. (Turban, Rainer dan Potter, 2006, p674) Menurut Barry Eaglestone dan Mick Ridley (Web Database Systems), internet merupakan suatu integrasi dari jaringan – jaringan dengan menggunakan standart protokol komunikasi dimana protokol ini mampu mengubungkan jaringan – jaringan yang ada. Internet berintegrasi dengan jaringan komputer dengan mengimplementasikan protokol komunikasi standard. Protokol komunikasi
adalah
suatu
set
aturan
yang
memungkinan
56
komunikasi antar komputer. Jaringan komputer yang berbeda biasanya menggunakan protokol yang berbeda pula. Akan tetapi,internet mengimplementasikan suatu protokol standard yang disebut TCP/IP yang memungkinkan jaringan komputer untuk berkomunikasi satu sama lain. 2.2.1.2 Web Menurut Barry Eaglestone dan Mick Ridley (2001,p24), web adalah aplikasi dari internet yang menyediakan informasi dan running
program
yang
disimpan
pada
komputer
yang
dihubungkan dengan internet. Web menggunakan sebuah memory dengan informasi yang direpresentasikan, disimpan, dan diakses melalui internet. 2.2.1.3 World Wide Web (WWW) World Wide Web adalah sistem dengan standar yang diterima secara universal untuk menyimpan, menelusuri, memformat, dan menampilkan
informasi
melalui
arsitektur
klien/server;
menggunakan fungsi – fungsi transpor dari internet. (Turban, Rainer dam Potter, 2006, p680) 2.2.2
Web Database System Seiring perkembangan teknologi dalam internet dan web, maka ditemukanlah suatu cara yang dapat memudahkan manusia dalam melakukan berbagai hal pada jarak yang jauh seperti berbelanja, belajar ,
57
mencara informasi, dan sebagainya, yaitu dengan menggunakan aplikasi web database. Web database system adalah sistem dimana teknologi web dan database digunakan scara bersamaan. Web databse system menyediakan akses yang luas ke sistem basis data, cara mendistribusikan dan pelayanan yang lebih melalui sistem intregasi (Barry Eaglestone and Mick Ridley, 2001, p38). 2.2.3
Web Pages 2.2.3.1 Static Pages Ciri-ciri pages ini adalah web pages ini tidak pernah berubah, baik isi maupun tampilannya. Web programmer harus melakukan pengaturan ulang pada coding HTML untuk melakukan perubahan, sehingga perubahan terjadi pada pages dilakukan secara manual. 2.2.3.2 Dynamic Pages Ciri-ciri pages ini abadalh web oages ini dapat berubah sesuai
permintaan
user,
perubahan
yang
terjadi
bersifat
otomatisasi, karena pages meng-generate sendiri perubahan yang terjadi tanpa web programmer harus meng-coding ulang. Dynmic pages biasanya digunakan untuk mengidentifikasi user, seperti login atau mengecek tipe browser yang dipakai user, sehingga pages kita dapat mengoptimalkan kemampuan yang dimiliki oleh browser. Melalui pages ini user dapat meminta satu
58
informasi,yang mungkin saja setiap permintaan user satu dengan user lain dapat berbeda. Biasanya informasi ini terdapat di dalam database, file text, file xml, dll. Biasanya untuk menghasilkan dynamic pages digunakan suatu scripting,karena hanya menggunakan pure-html mustahil untuk pages seperti ini. Dynamic pages dapat dibedakan berdasarkan tempat pengolahannya yaitu client-side scripting dan sever-side scripting. 2.2.3.2.1
Client-side Scripting
Client-side scripting merupakan scripting
yang pengolahannya dilakukan oleh browser,dan hasilnya ditampilkan dalam monitor. Pada client-side scripting, user dapat melihat instruksi code yang terdapat pada pages. Keuntungan dari client-side scripting adalah : a. Mempunyai
response
time
yang
lebih
cepat,karena script diproses oleh browser pada tiap client. b. Mengurangi workload pada web server. Kelemahan dari client-side scripting ini adalah user daat melihat scripting yang terdapat dalam web pages kita, dan kelemahan web pages kita dapat diketahui sehingga mudah dirusak.
59
2.2.3.2.2
Server-side Scripting
Server side scripting merupakan scripting
yang pengolahannya dilakukan oleh web server, dan hasil pemrosesannya berupa html, dan kemudian dikirim sebaai bagian dari http respons ke browser yang melakukan permintaan. Keuntungan dari serverside scripting adalah: a. Server-side programmer
scripting
memungkinkan
mengambil
dan
web
menyimpan
informasi melalui database dan file text b. Scripting yang ada tidak dapat dilihat oleh user sehingga keamanannya terjamin. Kelemahan dari server-side scripting ini adalah mempunyai response time yang relatif lebih lama dari client-side scripting, karena pemrosesan scripting dilakukan di web server. 2.2.4
Interaksi Manusia dan Komputer 2.2.4.1 Pengertian Interaksi Manusia dan Komputer Interaksi manusia dan komputer adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer yang interaktif yang digunakan oleh manusia, serta
studi
fenomena-fenomena
dengannya. (Schneiderman, 1998, p8)
besar
yang
berhubungan
60
Jadi interaksi manusia dan komputer merupakan dasar yang harus digunakan dalam perancangan suatu sistem komputer. 2.2.4.2 Tujuan Rekayasa Interaksi Manusia dan Komputer Sistem yang efektif akan menghasilkan rasa keberhasilan, kompetensi,
penguasaan
dan
kejelasan
dalam
komunitas
pengguna. Tujuan dari rekayasa interaksi manusia dan komputer ini adalah untuk menghasilkan sistem dengan fungsionalitas yang semestinya. (Schneiderman, 1998, p9-14) Sistem dengan fungsionalitas yang kurang memadai akan mengecewakan pemajkai dan sehingga ditolak atau tidak digunakan. Sedangkan sistem yang berlebihan akan menyebabkan kesulitan dalam implementasi, pemeliharaan, dan penggunaan. •
Reliability, availability, security, data integrity o Reliability (kehandalan) Berfungsi seperti apa yang diinginkan. o Availability (ketersediaan) Terlindung dari akses yang tidak diinginkan dan kerusakan yang disengaja. o Data integrity (integritas data) Keutuhan data terjamin.
•
Standarisasi, integrasi, konsistensi, dan portabilitas o Standarisasi
61
Keseragaman sifat-sifat antar muka pemakai pada aplikasi yang berbeda. o Integrasi Keterpaduan antar paket aplikasi dan perangkat lunak. o Konsistensi Keseragaman antar suatu program aplikasi o Portabilitas Dimungkinkan
data
dikonversi
pada
bagian
perangkat keras dan perangkat lunak. •
Penjadwalan dan anggaran Perencanaan yang hati-hati dan manaemen yang berani diperlukan karena proyek harus berjalan sesuai jadwal dalam anggaran.
2.2.4.3 Delapan Aturan Emas Delapan aturan emas perancangan dialog ini merupakan prinsip-prinsip dasar perancangan antar muka yang paling banyak digunakan dalam pembuatan suatu sistem yang interaktif. Menurut (Schneiderman, 1998, p74), aturan-aturan dasar ini adalah sebagai berikut : 1. Rancangan yang dibuat harus selalu konsisten. Konsistensi ada berbagai macam, seperti konsistensi dalam urutan aksi harus diperhatikan dalam suatu situasi yang
62
memiliki kemiripan. Menu, pesan, dan help haruslah menggunakan istilah yang sama. 2. Memungkinkan pengguna menggunakan shortcuts. Seiring dengan meningkatnya penggunaan dari suatu sistem, pengguna menginginkan suatu interaksi yang minimal namun hasil yang sama dengan interaksi yang lebih banyak. Singkatan, special key, perintah tersembunyi, dan makro adalah contoh fasilitas yang sangat dihargai oleh pengguna dengan tingkatan pengguna yang tinggi. Waktu responsi yang rendah dan tingkat display yang tinggi merupakan daya tarik sendiri bagi pemakai. 3. Memberikan umpan balik yang interaktif. Untuk setiap sistem diharapkan adanya umpan balik dari pengguna. Respon yang diberikan tergantung dari aksi yang dilakukan, respon yang diberikan pada pengguna hendaknya lebih nyata. Penampilan visual dari objek merupakan suatu cara untuk menampilkan perubahan secara eksplisit. 4. 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 informatif pengguna pada taraf akhir dari suatu kelompok aksi akan memberikan kepuasan pada
63
pengguna bahawa aksi yang mereka lakukan telah berhasil dengan baik, sehingga akan memberikan kesan kepada pengguna bahwa ia aman untuk melakukan aksi selanjutnya. 5. Memberikan penanganan kesalahan yang sederhana. Perancangan suatu sistem haruslahdibuat sedemikian rupa sehingga pengguna tidak akan menimbulkan kesalah yang signifikan.
Jika
pengguna
akhirnya
melakukan
suatu
kesalahan maka sistem hendaknya memberikan peringatan yang sederhana dan konstruktif serta spesifik. 6. Mengizinkan 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 mengeksploitasikan sistem yang telah dibuat, karena untuk semua kesalahan yang timbul,pengguna memiliki pilihan untuk pembalikan aksi yang telah dilakukan. 7. Mendukung pengaturan fokus secara internal. 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
64
untuk
mendapatkan
hasil
sesuai
aksi
tertentu
akan
menimbulkan kekecewaan dan keraguan bagi pengguna. 8. Mengurangi beban ingatan jangka pendek. Keterbatasn manusia dalam mengelola memori jangka pendek menyebabkan sesederhana
dibutuhkannya mungkin,
suatu
pengaturan
tampilan dalam
yang
multipage,
pergerakan window yang sesedikit 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. 2.2.5
Sistem Informasi Sumber Daya Manusia Menurut
(Noe,
et
all,2000,
p608)
sebuah
sistem
untuk
mendapatkan, menyimpan, memanipulasi, menganalisa, mengambil, dan mendsitirbusikan informasi yang berhubungan dengan sumber daya manusia pada suatu perusahaan. 2.2.6 Seleksi Menurut (Noe, et all,2000, p611) sebuah proses dimana sebuah usaha organisasi untuk mengidentifikasi pelamar dengan pengetahuan, skill, kemampuan, dan karakteristik tertentu yang dapat membantu perusahaan untuk mencapai tujuannya.
65
2.2.7 Perekrutan Proses mencari pelamar untuk jabatan yang potensial. (Noe, et all,2000, p611). 2.2.8 Wawancara Situasi
dimana
orang
akan
ditanyai
mengenai
pekerjaan,
pengalaman,kekuatan, kelemahan, dan rencana karirnya. (Noe, et all,2000, p608). 2.2.9 Human Resource Management 2.2.9.1 Pengertian Menurut (Noe, et all,2000, p4) human resource management itu mengacu ke arah kebijakan, pelatihan, dan sistem yang mempengaruhi performa, sikap, dan perilaku karyawan. 2.2.9.2 Strategi dalam Human Resource Management Menurut (Noe, et all,2000, p4) Pada gambar dibawah ini menekankan beberapa tahap penting pada manajemen sumber daya manusia. Strategi tersebut mendasari tahap-tahap yang dibutuhkan untuk memaksimalkan pengaruh mereka guna meningkatkan performa perusahaan. Seperti yang digambarkan, tahap-tahap dalam manajemen sumber daya manusia meliputi penentuan kebutuhan sumber daya manusia (HR planning), menarik karyawan-karyawan yang potensial (recruiting), memilih para
karyawan
(selection),
mengajarkan
para
karyawan
bagaimana menyelesaikan pekerjaan mereka dan mempersiapkan
66
mereka untuk masa depan perusahaan (training and development), memberi
penghargaan
kepada
karyawan
(compensation),
mengevaluasi performa mereka (performance management), dan membuat
satu
lingkungan
kerja
yang
positif
(employee
environment).
Gambar 2.5 Human Resource Management Strategic 2.2.9.3 Aktivitas dalam Divisi Human Resource Development Aktifitas dalam divisi HRD semata-mata bertanggung jawab untuk memfasilitasi karyawan, pemenuhan hak buruh, penyimpanan data, pengujian, kompensasi karyawan non-aktif, dan beberapa aspek dari keuntungan administrasi (Noe, et all,2000, p5)
67
Gambar 2.6 Aktivitas Dalam Divisi HRD 2.2.9.4 Proses dalam Perekrutan Sumber Daya Manusia Dikarenakan perbedaan strategi pada setiap perusahaan berbeda-beda maka langkah-langkah untuk merekrut para karyawan pun akan berbeda. Secara umum hampir seluruh perusahaan membuat keputusan perekrutan dalam 3 aspek. (1)personnel policies, yang berdampak pada jenis-jenis pekerjaan yang ditawarkan oleh perusahaan, (2)recruitment sources digunakan untuk permohonan para pelamar yang berdampak pada jenis-jenis orang yang melamar, dan (3)applicant characteristics, yang berdampak pada kecocokan antara pelamar dengan pekerjaan yang diinginkannya.
68
Gambar 2.7 Proses dalam Perekrutan Sumber Daya Manusia
2.2.9.5 Proses Penyeleksian 2.2.9.5.1 Interview Menurut (Noe, et all,2000,p192) salah satu metode yang paling banyak dipakai dalam proses seleksi dalam suatu organisasi, biasanya interview itu didefinisikan sebuah dialog yang dilakukan oleh satu atau banyak orang untuk mengumpulkan informasi dan mengevaluasi kualifikasi seorang pelamar untuk sebuah pekerjaan. Pertanyaanpertanyaan yang digunakan dalam bentuk wawancara harus terstruktur, terstandarisasi, dan di fokuskan untuk sejumlah kebutuhan.
Didalamnya terdapat wawancara situasional
dibagi menjadi 2 jenis, yaitu experience based dan futurue based yang didalamnya terdapat 3 pertanyaan mengenai,
69
memotivasi pekerja, penyelesaian masalah, dan bagaimana cara menyikapi perubahan dalam pekerjaan. 2.2.9.5.2 Data Biografi Sebenarnya data biografi ini diperoleh setelah pelamar menyerahkan CV nya kedalam perusahaan yang kemudian oleh bagian perkekrutan di dalam perusahaan ini melakukan analisis dari data yang pelamar kirimkan, jadi dengan hal ini bisa ditentukan si pelamar itu cocok bekerja dibagian tertentu dari kemampuan dan pengalaman kerja yang dituliskannya. 2.2.9.5.3 Tes Kesehatan Meskipun sekarang ini sudah banyak proses pekerjaan yang sudah di otomatisasikan, tetapi tetap ada pekerjaan yang membutuhkan kemampuan fisik tertentu. Terdapat 7 kelas dalam tes ini, diantaranya tensi otot, kekuatan otot, daya tahan otot, kekuatan jantung, fleksibilitas, keseimbangan, dan koordinasi. 2.2.9.5.4 Tes Kemampuan Kognitif Di dalam tes ini terdapat 3 komponen utama, kemampuan verbal, maksudnya kemampuan lisan dan tertulis dari suatu bahasa. Yang kedua adalah kemampuan kuantitatif, maksudnya adalah kecepatan dan akurasi seseorang dalam menyelesaikan suatu masalah aritmatika. Dan yang ketiga
70
adalah
kemampuan
kemampuan
seseorang
beragumentasi, dalam
mengacu
mencari
solusi
pada untuk
menyelesaikan berbagai masalah. Biasanya suatu pekerjaan membutuhkan minimal satu dari 3 kemampuan tersebut. 2.2.9.5.5 Tes Kepribadian Tes ini mengkategorikan individu secara relatif terhadap apa yang bisa mereka lakukan dan mereka minati. Di dalamnya ada 5 dimensi utama, yaitu : a. Extroversi(ramah, tegas, mudah berbicara, ekspresif) b. Adjustment(kestabilan emosi, tidak mudah depresi) c. Agreebleness(sopan,
dapat
dipercaya,
toleransi,
koperatif, mudah mengampuni, pembawaan yang baik) d. Conscientiousness(berketergantungan, teratur, tekun, teliti, berorientasi pada suatu penghargaan) e. Inquisitiveness(imaginatif, keingintahuan, berjiwa seni, melucu, berwawasan luas) 2.2.9.5.6 Simulasi Kerja Pelamar dihadapkan pada suatu simulasi kerja yang nantinya akan dilihat performanya. Biasanya hal ini dilakukan untuk jenis-jenis pekerjaan yang lebih spesifik. 2.2.9.6 Penempatan Kerja Proses penempatan kerja ini sebenarnya masuk kedalam proses seleksi, dimana dalam penempatan kerja ini akan melihat 3 hal yang
71
menetentukan pelamar akan bekerja di posisi mana, pertama adalah CV(kemampuan dan pengalaman), kedua adalah hasil dari tes seleksi, dan yang terakhir adalah pekerjaan yang ditawarkan. 2.2.10 ASP.NET Active server page.net adalah sebuah teknologi layanan web dinamis, aplikasi web, dan XML web service, yang dikembangan oleh microsoft sebagai pengganti ASP yang telah lama. Teknologi ini berbasis .NET
Framework
dan
dibangun
di
atas
Common
Language
Runtime(CRM) sehingga para programer dapat menulis kode ASP.NET dengan menggunakan semua bahasa pemrograman .NET 2.2.11 SQL 2008 Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standart ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada perusahaan besar.