BAB 2 TINJAUAN PUSTAKA 2.1 Teori Umum 2.1.1 Data Menurut Hoffer (2007, p6), data mengacu pada fakta mengenai objek maupun kejadian yang dapat direkam dan disimpan ke dalam media komputer. Sedangkan informasi didefinisikan sebagai hasil dari data yang telah diproses untuk meningkatkan pengetahuan pengguna yang menggunakan data tersebut. Menurut Forouzan (2007, p4), data mengacu pada informasi yang direpresentasikan dalam berbagai bentuk, yang disetujui baik oleh pembuat dan pengguna data. Jadi data adalah fakta yang mengacu pada fakta maupun objek dengan berbagai representasi yang dapat direkam dan disimpan ke dalam media komputer. 2.1.2 Basis data Menurut Connolly (2010, p65), basis data adalah sebuah kumpulan yang terdiri dari data yang terhubung secara logis dan deskripsinya, dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. Menurut Whitten dan Bentley (2007, p523), basis data adalah sekumpulan file yang saling terinterrelasi. Terinterrelasi berarti record dalam satu file dapat berasosiasi atau terhubung dengan record yang ada di dalam file yang lain. Dari pernyataan, pernyataan tersebut, kita dapat menyimpulkan definisi dari basis data adalah sebuah kumpulan data yang saling terhubung antar file guna memnuhi kebutuhan informasi bagi pengguna maupun organisasi. 2.1.3 Program Aplikasi Basis Data Menurut Connolly (2010, p67), program aplikasi basis data (database aplication program) adalah program komputer yang berinteraksi dengan basis data, dengan cara memunculkan permintaan yang sesuai dengan pernyataan SQL (Structured Query Language) pada sistem manajemen basis data. 9 10 Program aplikasi basis data ini dibuat dengan bahasa pemrograman. Pengguna akan berinteraksi dengan program ini untuk membuat dan memelihara basis data serta untuk menghasilkan informasi. 2.1.4 Views Menurut Connolly (2010, p67), Views adalah sebuah fungsional Database Management System (DBMS) yang memungkinkan pengguna untuk dapat memiliki format tampilan yang diingkan dari sebuah basis data. Beberapa keuntungan dari views adalah : a. Menyediakan tingkat keamanan. b. Menyediakan mekanisme untuk pengaturan tampilan dari basis data. c. Menampilkan konsistensi. 2.1.5 Peran Dalam Lingkungan Basis Data Menurut Connolly (2010, p68), terdapat 4 peran dalam lingkungan DBMS, yaitu: 2.1.5.1 Data Administrator dan Database Administrator Menurut Connolly (2010, p72), data administrator adalah seseorang yang bertanggung jawab untuk pengaturan sumber data, termasuk perencanaan, pengembanagan, dan pemeliharaan standar, kebijakan dan prosedur serta rancangan basis data baik secara konseptual maupun logis. Menurut Connolly (2010, p72), database administrator adalah seseorang yang bertanggung jawab untuk masalah realisasi fisik dari database, meliputi rancangan dan implementasi physical database, kontrol keamanan dan integritas, pemeliharaan sistem operasi, dan memastikan kepuasan performa aplikasi untuk pengguna. 2.1.5.2 Database Designer Menurut Connolly (2010, p72), Database designer terdapat 2 bagian, yaitu logical database designer dan physical database designer. 11 Logical database designer adalah desainer yang lebih fokus pada identifikasi data, hubungan antara data dengan syarat pada data yang hendak disimpan dalam basis data. Physical database designer adalah desainer yang harus memahami secara menyeluruh mengenai data organisasi dan semua syarat pada data ini (aturan bisnis). 2.1.5.3 Application Developer Menurut Connolly (2010, p73), application developer adalah orang yang bertanggung jawab untuk menyediakan fungsional yang dibutuhkan pengguna untuk diimplementasikan pada program aplikasi. 2.1.5.4 End-User Menurut Connolly (2010, p73), end-user adalah klien dari basis data. yang telah didesain dan diimplementasi serta dipelihara untuk mempertahankan kebutuhan informasi. Terdapat 2 macam end-user yaitu naive user dan sophosticated user. Naive user merupakan pengguna yang menggunakan program aplikasi untuk melakukan operasi sesederhana mungkin. Sophisticated user adalah pengguna yang familiar dengan struktur basis data dan fasilitas yang ada di dalamnya. 2.1.6 Keuntungan Menggunakan Basis Data Menurut Connolly (2010, p77), keuntungan menggunakan basis data adalah: a. Control of redudancy data b. Data consistency c. More information from the same amount of data d. Sharing of data e. Improved data integrity f. Improved security g. Enforcements of standards h. Economy of scale 12 i. Balance of conflicting requirements j. Improved data accessibility and responsiveness k. Increased productivity l. Improved maintenance through data independence m. Improved concurrency n. Improved backup and recovery services 2.1.7 Kerugian Menggunakan Basis Data Menurut Connolly (2010, p80), penggunaan basis data juga memiliki beberapa kerugian, yaitu: a. Complexity b. Size c. Cost of DBMS d. Additional hardware costs e. Cost of convertion f. Performance g. Greater impact of a failure 2.1.8 Bahasa Basis Data Menurut Connolly (2010, p91), data sublanguage terdiri dari 2 bagian, Data Definition Language (DDL) dan Data Manipulation Language (DML). DDL adalah sebuah bahasa yang memungkinkan DBA atau penggunna untuk mendeskripsikan dan memberi nama entitas, atribut, dan hubungan yang dibutuhkan untuk aplikasi, bersama dengan integritas dan syarat-syarat keamanan yang saling terhubung. DML adalah sebuah bahasa yang menyediakan sekumpulan operasi untuk mendukung operasi dasar untuk memanipulasi data yang ada di dalam basis data. 2.1.9 Data Model Menurut Connolly (2010, p95), data model adalah sebuah koleksi terintegrasi dari beberapa konsep untuk mendeskripsikan dan memanipulasi data, hubungan antar data, dan syarat-syarat pada data di dalam organisasi. Tujuan data model adalah untuk merepresentasikan data dan untuk membuat data dapat dimengerti. 13 2.1.10 Database Management System (DBMS) Menurut Whitten dan Bentley (2007, p524), DBMS merupakan perangkat lunak komputer yang digunakan untuk membuat, mengakses, mengontrol, dan mengatur basis data.. Menurut Connolly (2010, p66), Database Management System (DBMS) adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke dalam basis data. 2.1.10.1 Komponen dari Lingkungan DBMS Connolly (2010, p68) mengidentifikasi bahwa komponen yang ada di dalam lingkungan DBMS dibagi menjadi 5, yaitu: a. Hardware Sebuah DBMS membutuhkan sejumlah minimum memori utama dan ruang penyimpanan untuk berjalan. Namun, konfigurasi minimum ini mungkin tidak memberikan performa yang dapat diterima sesuai kebutuhan. b. Software Perangkat lunak ini meliputi perangkat lunak DBMS itu sendiri dan program aplikasi serta sistem operasi, termasuk juga pernagkat lunak jaringan DBMS yang diterapkan pada jaringan. c. Data Merupakan komponen terpenting dalam sebuah DBMS, menjembatani antara kompnen mesin (pernagkat keras dan perangkat lunak) dan komponen manusia (prosedur dan orang). d. Procedures Mengacu kepada instruksi dan aturan yang mempengaruhi desain dan kegunaan dari basis 14 data. Misalnya pengguna sistem dan staf yang mengatur basis dokumentasi data untuk mebutuhkan prosedur menjalankan atau menggunakan sistem. e. People Merupakan orang-orang yang terlibat dengan sistem, yaitu database administrator, database designer, application developer, dan end-user. 2.1.10.2 Komponenen Database Management System (DBMS) Menurut Connolly (2010, p127), komponenkomponen yang ada di dalam DBMS adalah sebagai berikut: a. Query processor Merupakan komponen DBMS yang bersifat mayor, berfungsi untuk mengubah banyak query menjadi serangkaian instruksi tingkat rendah terarah ke basis data. b. Database manager (DM) Menjembatani antara program aplikasi usersubmitted dengan banyak query. DM menerima query dan memeriksa faktor eksternal dan conceptual schema untuk menentukan apakah conceptual record dibutuhkan untuk memenuhi request. Lalu DM akan menempatkan call kepada file manager untuk mengerjakan request. c. File manager Berfungsi memanipulasi underlying storage file dan mengatur alokasi ruang penyimpanan pada disk. d. DML processor 15 Modul ini mengubah pernyataan DML untuk ditanamkan dalam program aplikasi menjadi fungsi standar dalam bahasa pemrograman yang dipakai. e. DDL compiler Berfungsi mengubah pernyataan DDL menjadi serangkaian tabel yang berisi metadata. f. Catalog manager Mengatur akses dan memelihara sistem katalog. 2.1.10.3 Fungsi Database Management System (DBMS) Connolly (2010, p100) menambahkan 2 layanan yang seharusnya disediakan oleh DBMS dari 8 layanan menurut Codd. 10 layanan yang menjadi fungsi dari DBMS adalah sebagai berikut : a. Data Storage, retrieval, and update b. A user accessible catalog c. Transaction support d. Concurrency control services e. Recovery services f. Authorization services g. Support for data communication h. Integrity services i. Services to promote data independence j. Utility services 2.1.11Database System Development Lifecycle Menurut Thomas Connolly dan Carolyn Begg (2010, p313), waktu basis data dianalisis dan dirancang berdasarkan siklus hidup seperti pada gambar dibawah ini. 16 Gambar 2.1 The Stages of the database system developments lifecycle 17 2.1.11.1 Database Planning Database planning adalah aktivitas manajemen yang memungkinkan tahapan dari database system development lifecycle untuk direalisasikan secara efektif dan efisien. Database planning harus terintegrasi dengan keseluruhan strategi sistem informasi pada sebuah organisasi. Langkah awal yang penting dalam database planning adalah secara jelas mendefinisikan mission statement untuk sistem basis data. Mission statement ini menjelaskan tujuan utama dari sistem basis data dan membantu untuk menjelaskan tujuan dari sistem basis data dan menyediakan alur yang lebih jelas secara efektif dan efisien yang dibutuhkan oleh sistem basis data. Langkah selanjutnya mission objective. adalah mengidentifikasi Setiap mission objective harus mengidentifikasi beberapa tugas yang mendukung sistem basis data. 2.1.11.2 System Definition System definition mendeskripsikan ruang lingkup dan batasan dari aplikasi basis data dan user view yang utama. User view mendefinisikan apa yang dibutuhkan dari sistem basis data melalui sudut pandang dari berbagai peranan pekerjaan. 2.1.11.3 Requirements Collection and Analysis Requirements collection and analysis merupakan proses pengumpulan dan analisis informasi tentang bagian dari suatu perusahaan yang perlu didukung oleh sistem basis data dan menggunakan informasi ini untuk mengidentifikasi kebutuhan-kebutuhan untuk sistem yang baru. 2.1.11.4 Database Design 18 Database design adalah proses pembuatan desain yang akan membantu tujuan dari perusahaan dan tujuan objektif untuk kebutuhan sistem basis data. Ada dua pendekatan yang digunakan dalam merancang desain basis data yaitu : a. Bottom up approach Pendekatan bottom up dimulai tahapan fundamental atribut pada (entities dan relationships) yang dianalisa antara atributatribut, kemudian menjadi merepresentasikan tipe relations dari yang entities dan relationships antar entities. b. Top-down approach Pendeketan pengembangan top-down data model dimulai yang dengan berisikan beberapa high-level entities dan relasi yang kemudian menerapkan perbaikan top-down untuk mengidentifikasikan lower-level entities, relationships, dan atribut-atribut yang berasosiasi. Terdapat tiga fase dalam merancang sebuah desain basis data yaitu : 1. Conceptual database design Merupakan suatu proses pembentukkan model dari suatu data yang digunakan dalam perusahaan yang independen dari semua physical considerations. 2. Logical database design Merupakan suatu proses pembentukkan model dari suatu data yang digunakan pada perusahaan berdasarkan data model yang spesifik, tetapi bersifat independen terhadap 19 DBMS tertentu dan physical considerations lainnya. 3. Physical database design Merupakan suatu proses yang menghasilkan deskripsi sebuah implementasi dari sebuah basis data pada penyimpanan sekunder, yang menjelaskan base relations, file organizations, dan indexes yang digunakan untuk mencapai akses kepada data yang efisien dan associated integrity constraints, dan mengukur keamanan. 2.1.11.5 DBMS Selection DBMS selection merupakan kegiatan pemilihan DBMS yang akan digunakan untuk mendukung sistem basis data. Langkah – langkah dalam pemilihan DBMS adalah : a. Define terms of reference of study b. Shortlist two or three products c. Evaluate products d. Recommend selection and produce report 2.1.11.6 Application Design Application design merupakan perancangan user interface dan program aplikasi yang menggunakan dan memproses basis data. Terdapat dua aspek dalam mendesain aplikasi yaitu : 1. Transaction design Merupakan suatu tindakan, atau beberapa tindakan, yang dilakukan oleh pengguna atau program aplikasi yang akan mengakses atau mengganti konten dari suatu basis data. Ada 3 tipe utama dalam transaction yaitu: 1. Retrieval transactions 20 Digunakan untuk mengambil data untuk ditampilkan pada layar atau di dalam sebuah laporan. 2. Update transactions Digunakan untuk memasukan data-data baru, menghapus data-data lama, atau memodifikasi data yang telah ada di dalam basis data. 3. Mixed transactions Merupakan kombinasi dari retrieval dan update transactions. 2. User interface design Berikut pedoman – pedoman untuk merancang tampilan formulir/laporan: a. Meaningful title b. Comprehensible instructions c. Logical grouping and sequencing of fields d. Visuallyappealing layout of the form/report e. Familiar filed labels f. Consistent terminology and abbreviations g. Consistent use of color h. Visible space and boundaries for data entry fields i. Convenient cursor movement j. Error correction for individual characters and entire fields k. Error messages for unacceptable values l. Optional field marked clearly m. Explanatory messages for fields n. Completion signal 2.1.11.7 Prototyping 21 Membangun suatu model kerja dari sebuah sistem basis data. Prototype adalah sebuah model kerja yang secara normal tidak mempunyai semua fitur kebutuhan atau menyediakan semua fungsionalitas dari sistem akhir. 2.1.11.8 Implementation Merupakan realisasi fisik dari basis data dan perancangan aplikasi. Implementasi basis data menggunakan Data Definition Language (DDL) dari pemilihan DBMS atau Graphical User Interface (GUI). 2.1.11.9 Data Conversion and Loading Suatu proses mentransfer data apa saja yang ada ke dalam sebuah basis data baru dan mengkonversi aplikasi apa saja yang ada untuk dijalankan pada basis data yang baru. 2.1.11.10 Testing Testing merupakan proses menjalan sistem basis data dengan tujuan untuk menemukan kesalahan- kesalahan. Sebelum digunakan sepenuhnya, sistem basis data baru yang sedang dikembangkan harus diuji terlebih dahulu 2.1.11.11 Operational Maintance Merupakan proses pengawasan dan pemeliharaan sistem basis data berdasarkan instalasi. Setelah Sistem basis data yang sepenuhnya diimplementasi dan diuji, sistem basis data akan masuk ke tahapan pemeliharaan. 2.1.12 Design Methodology Menurut Connolly (2010, p466), Design methodology adalah pendekatan terstruktur yang menggunakan prosedur, teknik-teknik, peralatan, dan fitur dokumentasi untuk mendukung dan memfasilitasi proses desain. Terdiri dari beberapa fase yang masingmasing fase memiliki sejumlah langkah-langkah, yang memberi arahan bagi desainer dalam penggunaan teknik yang tepat pada masing-masing tahapan projek. 22 Menurut Connolly (2010, p467), desain dari sebuah basis data terdapat 3 tahapan: a. Conceptual database design Conceptual database design adalah proses pembuatan model data yang digunakan di dalam sebuah perusahaan, terbebas dari segala pertimbangan fisikal. Tujuan dari conceptual database design adalah untuk membangun model data konseptual dari permintaan data sebuah perusahaan. Berikut ini adalah langkah-langkah untuk membuat conceptual database design: 1. Identify entity types Langkah mengidentifikasi ini bertujuan tipe-tipe entitas untuk yang dibutuhkan. Untuk mengidentifikasi entitas, hal yang dapat dilakukan adalah dengan memeriksa spesifikasi kebutuhan pengguna. Dari spesifikasi ini, didapatkan beberapa kata atau frasa benda. Dari kata atau frasa ini dapat dibentuk objek mayoritas tanpa kata-kata benda yang masuk ke dalam objek lain. Setelah entitas teridentifikasi, berikan nama secara jelas dan mudah dipahami pengguna. Simpan nama dan deskripsi pada kamus data. 2. Identify relationship types. Langkah ini bertujuan untuk mengidentifikasi hubungan penting yang ada antar tipe-tipe entitas. Untuk memudahkan dalam mengidentifikasi tipe-tipe hubungan dapat digunakan Entity-Relationship diagram. Setelah itu, perlu untuk mengetahui multiplicity dari 23 masing-masing hubungan. Batasan multiplicity digunakan untuk memastikan dan memelihara kualitas data. Hal tersebut akan membuat model data merepresentasikan semantik hubungan secara eksplisit dari kebutuhan data sebuah perusahaan. 3. Identify and associate attributes with entity or relationship types Langkah ini bertujuan untuk menghubungkan atribut-atribut dengan entitas atau tipe keterkaitan yang sesuai. Cara yang perlu dilakukan adalah dengan bertanya pada pengguna mengenai informasi hubungan tersebut. 4. Determine attribute domains Langkah ini menentukan domain untuk atribut-atribut di dalam model data konseptual. Domain adalah kumpulan semua nilai dari satu atau lebih atribut untuk mengambil nilai-nilai mereka. 5. Determine candidate, primary, and alternate key Langkah ini bertujuan untuk mengidentifikasi kunci kandidat untuk tiap tipe entitas, dan jika terdapat lebih dari satu kunci kandidat, maka akan dipilih satu kunci primer dan yang lain akan dijadikan sebagai kunci alternatif. Kunci kandidat adalah sekumpulan atribut minimal dari sebuah entitas yang unik. Dari kunci kandidat akan dipilih satu kunci primer dan yang lainnya menjadi kunci alternatif. Panduan dalam memilih kunci primer dari beberapa kunci kandidat: 24 a. The candidate key with the minimal set of attributes. b. The candidate key that is least likely to have values changed. c. The candidate key with fewest characters (for those with textual attribut(s)). d. The candidate key with smallest maximum value (for those with numerical attributes(s)). e. The candidate key that is easiest to use from the users’ point of view. 6. Consider use of enhanced modeling concept (optional step, such as specialization/generalitation, aggragation, and composition) Langkah penggunaan ini konsep mempertimbangkan permodelan bertingkat, seperti spesialisasi, generalisasi, agregasi, dan komposisi. Jika memilih pendekatan spesialisasi, maka kita akan menandai perbedaan antar entitas dengan mendefinisikan satu atau lebih sub kelas dari entitas super kelas. Jika memilih pendekatan generalisasi, maka kita akan mengidentifikasi fitur-fitur umum antar entitas untuk mendefinisikan entitas super kelas. Pendekatan merepresentasikan agregasi sebuah hubungan untuk adalah bagian dari antar entitas. Pendekatan komposisi untuk merepresentasikan sebuah asosiasi antar tipe entitas yang memiliki kepemilikan yang kuat. 25 7. Check model for redudancy Langkah ini bertujuan untuk mengecek ada atau tidaknya redudansi di dalam model. Dalam identifikasi dari entitas-entitas, mungkin terdapat dua entitas yang merepresentasikan objek yang sama. gabungkan kedua entitas itu dan jika kunci primernya berbeda, pilih salah satu. Sebuah hubungan dikatakan redundan jika informasi yang sama diperoleh melalui hubungan yang lain. Model data yang diperlukan adalah yang minimal. 8. Validate our conceptual data model againts user transaction Langkah ini dilakukan untuk memastikas model konseptual mendukung transaksi yang dibutuhkan, yaitu dengan mencoba untuk menunjukkan operasi secara manual. Jika semua transaksi dapat diselesaikan secara manual, berarti model data konseptual telah mendukung transaksi yang dibutuhkan. Jika tidak, berarti ada yang salah dengan model data yang harus diperbaiki. 9. Review conceptual data model with user Langkah ini dilakukan untuk meninjau kembali model data konseptual dengan para pengguna untuk memastikan bahwa para pengguna telah mempertimbangkan model yang telah dibuat sebagai representasi yang benar dari kebutuhan data perusahaan. Model data konseptual memuat diagram hubungan entitas dan dokumentasi yang mendukungnya. Jika 26 terdapat penyimpangan, maka harus dilakukan perbaikan yang sesuai. b. Logical database design Tujuan dari logical database design adalah untuk menerjemahkan model data konseptual menjadi model data logis, lalu melakukan validasi untuk mengecek apakah model ini sudah benar dan dapat mendukung transaksi yang dibutuhkan atau tidak. Berikut ini adalah langkah-langkah untuk membuat logical database design: 1. Derive relations for logical data model Langkah ini bertujuan untuk membuat relations pada logical data model sebagai representasi entitas, keterkaitan, dan atribut yang telah diidentifikasi. Deskripsi bagaimana relation diturunkan terhadap struktur berikut yang mungkin tejadi dalam sebuah model data konseptual: a. Strong entity types Untuk setiap entitas yang kuat dalam sebuah model data, buat sebuah relasi yang termasuk semua atribut sederhana dari entitas tersebut. Untuk atribut yang komposit, masukkan hanya attribut pembentuk yang sederhana dalam relasi tersebut. Misalkan atribut nama yang dibuat menjadi dua nama depan dana nama belakang dalam sebuah relasi. b. Weak entity types 27 Untuk setiap entitas yang lemah (jumlah model atributnya data, termasuk buat sedikit), dalam sebuah relasi atribut-atribut sederhana dalam entitas tersebut. Kunci primer dari entitas yang lemah tersebut sebagian atau sepenuhnya diturunkan dari setiap pemilik entitas. Jadi, idemtifikasi dari entitas yang lemah tidak dapat dibuat sampai seluruh hubungan dari tiap entitas telah dipetakan. c. One-to-many (1:*) binary relationship types Untuk setiap hubungan 1:*, entitas 1 adalah parent entity pada entitas *. Untuk itu diperlukan salinan kunci primer dari parent entity untuk disalin menjadi kunci referensi pada child entity. d. One-to-one binary relationship types Pilihan hubungan dengan tipe 1:1 adalah sebagai berikut: i. Mandatory participation on both sides of 1:1 relationship. ii. Mandatory participation on one side of 1:1 relationship iii. Optional participation on both sides of 1:1 relationship e. One-to-one recursive relationship types 28 Jika kedua etitas memiliki partisipasi mandatori 1:1 yang sama bobotnya, maka masing-masing kunci primer akan disalin untuk dijadikan kunci referensi pada entitas yang lain. f. Superclass/subclass relationship types Terdapat empat macam relasi yang dapat dibentuk melalui syarat partisipasi dan penguraian, yaitu: i. Mandatory participation nondisjoint (And) Relasi terdapat tunggal satu (di mana atau lebih discriminators untuk membedakan tipe setiap tuple). ii. Optional participation nondisjoint (And) Dua relasi, satu relasi untuk superclass dan satu relasi untuk seluruh subclass (terdapat satu atau lebih discrimnators untuk membedakan tipe setiap tuple). iii. Mandatory participation disjoint (Or) Banyak relasi, satu relasi yang ditujukan untuk kombinasi yang terdapat dari superclass/subclass. iv. Optional participation disjoint (Or) Banyak relasi, satu relasi ditujukan pada superclass dan satu untuk masing-masing subclass. 29 g. Many-to-many binary relationship types Buat salinan kunci primer dari masing-masing entitas untuk dimasukkan ke dalam relasi baru sebagai kunci referensi yang menghubungkan kedua entitas tersebut terhadapt relasi yang baru. h. Complex relationship types Untuk hubungan yang kompleks, buatlah sebuah relasi dan masukkan semua atribut yang menjadi bagian dari hubungan tersebut. Salin kunci primer dari masing-masing entitas untuk kemudian menjadi kunci referensi. i. Multi-valued attributes Jika sebuah atribut dari suatu entitas memiliki banyak nilai untuk satu kunci primer maka diperlukan sebuah relasi baru yan memuat atribut tersebut dengan kunci referensi dari kunci primer entitas tersebut. 2. Validate relations using normalization Langkah ini bertujuan untuk melakukan validasi dalam logical data model menggunakan normalisasi. 3. Validate relations againsts user transaction Langkah ini bertujuan untuk memastikan relations dalam model data logis mendukung transaksi yang dibutuhkan. 4. Check integrity constraints dapat 30 Langkah ini bertujuan untuk mengecek batasan integritas yang diwakilkan dalam logical data model. Sebuah logical data model yang mencakup semua syarat integritas penting adalah representasi dari kebutuhan data perusahaan. Ada beberapa jenis syarat-syarat integritas: a. Required data Adanya beberapa atribut yang harus memiliki nilai untuk setiap kunci primer. b. Attribute domain constraints Setiap atribut pasti memiliki domain, yaitu sekumpulan nilai-nilai yang legal. c. Multiplicity Merupakan representasi syaratsyarat yang ditempatkan pada hubungan antar data di dalam basis data. d. Entity integrity Kunci primer dalam sebuah entitas tidak boleh bernilai null (tidak memiliki nilai). e. Referential integrity Kunci referensial menghubungkan setiap tuple dalam child relation pada tuple dalam parent relation. f. General constraints 31 Perubahan entitas dapat disebabkan oleh syarat0syarat yang mengatur transaksi yang sebenarnya yang direpresentasikan dengan perubahan. 5. Review logical data model with user Langkah ini bertujuan untuk meninjau logical data model dengan para pengguna untuk memastikas bahwa mempertimbangkan para model pengguna apakah sudah merepresentasikan dengan benar dari kebutuhan data perusahaan. Adapun hubungan antar logical data model dan data flow diagram adalah sebagai berikut: a. Logical data struktur model data merefleksikan tersimpan dalam perusahaan. b. Data flow diagram menunjukkan pergerakan data suatu perushaaan yang tersimpan dalam penyimpanan data. c. Semua atribut seharusnya terlihat dalam sebuah entitas yang dimiliki perusahaan dan akan dilihat alurnya sebagai data flow. 6. Merge logical data model into global model (optional step) Langkah ini bertujuan untuk menggabungkan model-model data logis menjadi satuan model data logis global yang 32 merepresentasikan tampilan semua pengguna di dalam basis data. Local logical data models merepresentasikan satu atau lebih tetapi tidak semua tampilan pengguna dari sebuah basis data. Global logical data model merepresentasikan semua tampilan pengguna dalam basis data. Hasil dari global logical data model dikenakan pada beberapa validasi yang sama untuk ditunjukkan pada local data models. Validasi-validasi tersbut diperlukan dan harus berfokus pada area model yang dikenakan pada hampir seluruh perubahan selama proses penggabungan. Langkah-langkahnya adalah sebagai berikut: a. Merge local logical data models into global logical data model b. Validate global logical data model c. Review global logical data model with users 7. Merge local logical data models into global logical data model Langkah ini bertujuan untuk menetukan apakah terdapat perubahan yang signifikan pada waktu mendatang dan untuk menilai apakah model data logis dapat menerapkan tersebut atau tidak. c. Physical database design perubahan 33 Physical database design adalah proses memproduksi deskripsi implementasi basis data pada penyimpanan sekunder. Langkah-langkah metodologi physical database design adalah 1. Conceptual database design methodology 2. Logical database design methodology 3. Translate logical data models for target DBMS Langkah ini bertujuan untuk menghasilkan skema basis data relasional yang dapat diimplementasikan ke dalam sasaran DBMS. Langkah ini terbagi menjadi 3 bagian, yaitu: i. Design base relations Langkah ini bertujuan untuk memutuskan cara merepresentasikan base relations yang telah diidentifikasi pada logical data model dalam sasaran DBMS. Kumpulkan dan uraikan informasi mengenai relations yang dihasilkan selama mendesain logical database. Informasi penting dapat diperoleh dari kamus data dan definisi dari relations didefinisikan dengan menggunakan Database Design Language (DBDL). Desain dari base relations seharusnya didokumentasi secara penuh untuk kepentingan seleksi desain yang diusulkan. ii. Design representation of derived data 34 Langkah ini bertujuan untuk memutuskan cara merepresentasikan data awal sekarang pada logical data model dalam sasaran DBMS. Atributatribut dengan nilai yang ditemukan dengan pemeriksaan nilai-nilai atribut yang lain disebut sebagai atribut turunan atau atribut terkalkulasi. iii. Design general constraint Langkah ini bertujuan untuk mendesain batasan-batasan umum pada sasaran DBMS. 4. Desing file organization and indexes Langkah ini bertujuan untuk mendeterminasi file organization yang optimal untuk menyimpan base relations dan indexes yang dibutuhkan untuk mencapai performa yang dapat diterima yang merupakan cara relations dan tuples disimpan dalam penyimpanan sekunder. Langkah ini terbagi menjad 4 bagian, yaitu: i. Analyze transactions Langkah ini bertujuan untuk memahami fungsionalitas dari transaksi yang akan berjalan pada basis data dan untuk menganalisa transaksi penting. Untuk menghasilkan physical database secara efektif, diperlukan pengetahuan transaksi atau queries yang akan berjalan pada basis data. Hal itu mencakup informasi kualitatif dan kuantitatif. 35 Dalam menganalisis transaksi, perlu adanya identifikasi untuk beberapa kriteria performa, seperti: 1. Transaksi yang berjalan secara teratur dan akan memiliki dampak yang besar pada performa. 2. Transaksi yang bersifat kritis pada operasi bisnis. 3. Waktu untuk sekian hari atau sekian minggu ketika akan ada permintaan yang banyak pada basis data. ii. Choose file organizations Langkah ini bertujuan untuk menentukan file organization yang efisien untuk setiap base relation. Dalam beberapa kasus, sebuah relational database dapat memberikan sedikit atau tidak sama sekali pilihan untuk memilih meksipun file beberapa organization, telah dibuat menjadi indeks yang terspesifikasi. Jika sasaran DBMS tidak membolehkan pilihan dari file organization, langkah ini dapat dihilangkan. iii. Choose indexes Langkah ini bertujuan untuk menentukan apakah index akan meningkatkan performa sistem atau tidak. Jika atribut terurut terpilih adalah sebuah kunci dari suatu relasi, maka indeks akan menjadi indeks primer. 36 Jika tidak, maka akan menjadi clustering index. iv. Estimate disk space requirements Langkah ini bertujuan untuk memperkirakan jumlah ruang disk yang dibutuhkan oleh basis data. 5. Design user views Langkah ini bertujuan untuk mendesain tampilan pengguna yang diidentifikasi selama pengumpulan kebutuhan dan analisis tahapan siklus pengembangan sistem basis data. Dalam DBMS yang mandiri pada sebuah PC, tampilan pengguna merupakan sebuah kenyamanan yang didefinisikan untuk menyederhanakan permintaan basis data. Meskipun demikian, dalam sebuah DBMS dengan pengguna banyak memiliki pengguna, peranan tampilan penting dalam mendefinisikan struktur basis data dan menjaga keamanan. Keuntungan dari tampilan pengguna adalah untuk menjaga independensi data, mengurangi kompleksitas, dan mempermudah kostumisasi. 6. Design security mechanisms Langkah ini bertujuan untuk mendesain mekanisme sekuritas untuk basis data yang telah dispesifikasi oleh para penggguna selama the requirements and collection stage dari siklus pengembangan istem basis data. Sistem sekuritas mencakup akses dan penggunaan basis data pada tingkat sistem. Sekuritas data mencakup akses dan penggunaan 37 objek basis data dan aksi-aksi yang dimiliki pengguna pada beberapa objek. 7. Consider the introduction of controlled redudancy Langkah ini bertujuan untuk menetukan apakah pengenalan redudansi dalam cara terkontrol dengan merelaksasi normalisasi dapat meningkatkan kinerja sistem atau tidak. 8. Monitor and tune the operational system Langkah ini bertujuan untuk memonitor sistem operasional dan meningkatkan kinerja sistem untuk mengkoreksi keputusan rancangan yang tidak sesuai atau mencerminkan perubahan kebutuhan. 2.1.13 Normalisasi Menurut Conolly dan Begg (2010, p416), sebuah teknik yang dapat kita gunakan untuk mengidentifikasi hubungan antar data disebut dengan normalisasi. Normalisasi adalah sebuah pendekatan bottom-up terhadap perancangan basis data dengan memulai memeriksa relasi dan atribut. Karakteristik dari sekumpulan hubungan yang sesuai termasuk sebagai berikut : a. Jumlah minimal dan atribut – atribut yang dibutuhkan untuk mendukung data yang dibutuhkan oleh perusahaan. b. Atribut – atribut dengan hubungan logikal yang dekat ditemukan dalam hubungan yang sama. c. Redudansi minimal dengan setiap atribut yang digambarkan hanya sekali dengan pengecualian yang sangat penting dari setiap atribut yang membentuk keseluruhan atau sebagian dari foreign key, dimana dibutuhkan untuk penggabungan hubungan yang saling terkait. 2.1.13.1 Proses Normalisasi 38 Menurut Conolly dan Begg (2010, p428), proses normalisasi terdiri dari : a. Unnormalized Form (UNF) UNF adalah tabel yang memiliki satu atau lebih kelompok perulangan. b. First Normal Form (1NF) 1NF merupakan bentuk normalisasi di mana data yang dikumpulkan menjadi satu field yang sifatnya tidak akan berulang dan tiap field mempunyai satu nilai. c. Second Normal Form (2NF) 2NF merupakan bentuk normalisasi di mana field yang bukan kunci tergantung secara fungsi pada suatu primary key. d. Third Normal Form (3NF) 3NF merupakan bentuk normalisasi di mana tidak ada field yang bukan primary key tergantung transitive kepada primary key. 2.1.14 Model SDLC (System Development Life Cycle) Menurut Schwalbe (2010, p60), SDLC (System Development Life Cycle) merupakan suatu kerangka kerja untuk mendeskripsikan fase-fase yang terlibat dalam pengembangan sistem informasi. SDLC (System Development Life Cycle) terdiri atas 5 tahap utama, yaitu: 1. Planning, merupakan langkah pertama dalam proses pengembangan sistem, yang terdiri dari identifikasi, seleksi dan perencanaan sistem. 2. Analysis, merupakan seluruh analisa kebutuhan sistem untuk usulan sistem informasi. Untuk proyek perkembangan yang besar, produk ini mengambil bentuk dari laporan kebutuhan sistem, dengan menetapkan kemampuan yang diperlukan untuk kebutuhan informasi pengguna akhir. 39 3. Design, menjelaskan sistem apa yang harus memenuhi informasi yang dibutuhkan oleh para pengguna, rancangan ini terdiri dari rancangan logika dan fisik yang dapat menghasilkan spesifik sistem yang memenuhi persyaratan sistem yang dikembangkan pada tahap analisa. 4. Implementation, merupakan tahapan yang harus dilakukan sebelum sistem benar-benar dapat diterapkan dengan melalui testing atau uji kehandalan dari sistem. 5. Maintenance and Support, merupakan tahapan untuk memperbaiki error pada sistem, memodifikasi sistem untuk beradaptasi terhadap lingkungan, dan menjaga sistem dari kemungkinan masalah di masa yang akan datang. 2.1.15 Model Waterfall Metode rekayasa peranti lunak yang digunakan adalah Metode waterfall. Menurut Pressman (2010, p39) waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Berikut ini adalah gambaran dari waterfall model. Fase-fase dalam model waterfall menurut referensi Pressman: Gambar 2.2 Tahapan Waterfall 1. Communication Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan customer, maupun 40 mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet. 2. Planning Proses planning merupakan lanjutan dari proses communication (analysis requirement). Tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, termasuk rencana yang akan dilakukan. 3. Modeling Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada rancangan struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirement. 4. Construction Construction merupakan proses membuat kode. Coding merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh komputer. Programmer akan menerjemahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah coding selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap kemudian bisa diperbaiki. sistem tersebut untuk 41 5. Deployment Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau sistem. Setelah melakukan analisis, desain dan coding maka sistem yang sudah jadi akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala. Kelebihan dari model ini adalah selain karena pengaplikasian menggunakan model ini mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal proyek, maka Software Engineering (SE) dapat berjalan dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan se-eksplisit yang diinginkan, tetapi paling tidak, problem pada kebutuhan sistem di awal proyek lebih ekonomis dalam hal uang (lebih murah), usaha, dan waktu yang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap selanjutnya. Kekurangan yang utama dari model ini adalah kesulitan dalam mengakomodasi perubahan setelah proses dijalani. Fase sebelumnya harus lengkap dan selesai sebelum mengerjakan fase berikutnya. Masalah dengan waterfall : 1. Perubahan sulit dilakukan karena sifatnya yang kaku. 2. Karena sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara lengkap sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada kenyataannya jarang sekali konsumen/pengguna yang bisa memberikan kebutuhan secara lengkap, perubahan kebutuhan adalah sesuatu yang wajar terjadi. 3. Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar yaitu dengan proyek yang dikerjakan di beberapa 42 tempat berbeda, dan dibagi menjadi beberapa bagian subproyek. 2.1.16Teknik Fact Finding Menurut Thomas Connolly dan Carolyn Begg (2010, p341) fact finding adalah sebuah proses formal yang menggunakan teknik seperti wawancara dan pertanyaan untuk mengumpulkan fakta–fakta tentang sistem, kebutuhan, dan referensi. Seorang pengembang basis data biasanya menggunakan beberapa fact finding selama projek basis data. Terdapat lima fact finding sering digunakan yaitu : a. Examining documentations Memeriksa dokumen akan sangat berguna ketika mencoba untuk menambah beberapa wawasan yang sebagaimana yang dibutuhkan untuk basis data muncul. b. Interviewing Wawancara adalah cara yang paling banyak digunakan, dan biasanya sangat berguna sebagai teknik mencari fakta. Wawancara dapat digunakan untuk mengumpulkan informasi dari orang secara tatap muka. c. Observing the enterprise in operation Obsevasi adalah cara yang paling efektif dalam teknik fact finding untuk memahami sebuah sistem. Memungkinkan untuk berpartisipasi atau hanya melihat seseorang melakukan aktifitas untuk mempelajari tentang sistem. d. Research Sebuah teknik yang sangat berguna dalam fact finding adalah untuk meneliti aplikasi dan masalah. Komputer jurnal, buku referensi, dan intenet adalah sumber informasi yang bagus karena mereka menyajikan informasi bagaimana mempunyai penyelesaian masalah yang serupa. e. Questionaires lainnya 43 Teknik fact finding lainnya adalah melakukan survei melalui kuisioner. Kuisioner adalah tujuan spesial dokumen yang mengizinkan fakta untuk dikumpulkan dari orang – orang yang banyak ketika me-maintaining beberapa response. 2.1.17State Transition Diagram Menurut Pressman (2005, p302) state transition diagram merepresentasikan beberapa tingkah laku model yang dipanggil dengan states dari sebuah sistem yang merupakan perilaku hasil dan tingkah laku yang dimana transisi tersebut dibuat dari satu state ke state lainnya. STD atau state transition diagram mengindikasikan bagaimana sistem bertingkah sebagai konsekuen kejadian – kejadian dari luar. Beberapa komponen – komponen dari STD adalah : a. State State menggambarkan suatu keadaan pada suatu waktu Gambar 2.3 STD State b. Perubahan State Perubahan state menunjukan arah dari state satu ke state lainnya. Gambar 2.4 Perubahan State 2.1.18Flowchart 44 Menurut Pressman (2010, p299), flowchart adalah activity diagram yang merepresentasikan sequence, kondisi, dan pengulangan semua elemen dari pemrograman terstruktur, juga merupakan sebuah turunan dari representasi desain bergambar sebelumnya yang masih digunakan secara luas. Sebuah kotak mengindikasikan langkah proses. Sebuah diamond merepresentasikan kondisi logis, dan anak panah menunjukan aliran kontrol. Sequence direpresentasikan dengan dua kotak pemrosesan yang terhubung dengan garis (anak panah) dari kontrol. Kondisi digambarkan dengan decision diamond. Jika benar, menyebabkan suatu bagian pemrosesan. Jika salah, maka memanggil bagian pemrosesan yang lain untuk berjalan. Perulangan adalah sebuah kondisi yang jika benar akan melakukan suatu bagian proses lalu akan kembali pada pengujian kondisi hingga menemukan kondisi yang salah untuk keluar dari perulangan. Seleksi adalah perluasan dari kondisi. Sebuah parameter akan diuji hingga muncul keputusan yang bernilai benar untuk kemudian melakukan bagian pemrosesan pada jalurnya. 45 Gambar 2.5 Contoh flowchart 2.1.19Entity Relationship Modelling Menurut Thomas Connolly dan Carolyn Begg (2010, p371) entity relationship modeling adalah sebuah pendekatan top-down untuk merancang basis data yang dimulai dengan mengidentifikasi data penting yang dinamakan entitas dan relasi di antara data yang harus direpresentasikan di dalam model. 2.1.19.1 Entity Type Entity type adalah sekumpulan objek dengan properti yang sama, yang diidentifikasi oleh perusahaan yang mempunyai eksistensi yang independen. 2.1.19.2 Relationship Types Tipe relasi adalah sebuah penggabungan tipe entitas yang memiliki arti. Tipe relasi merupakan penggabungan antara satu atau lebih tipe entitas yang berpartisipasi. 2.1.19.3 Attributes Atribut adalah properti dari suatu entitas atau tipe relasi. properti tertentu dari tipe entitas di namakan atribut. 2.1.19.4 Keys Keys memiliki peran penting untuk menghubungkan satu objek dengan objek yang lainnya. Beberapa jenis tipe dari keys adalah: 1. Candidate key Kumpulan atribut minimal yang secara unik mengidentifikasi setiap kejadian suatu tipe entitas. 2. Primary key Candidate key yang dipilih secara unuk untuk mengidentifikasikan setiap kejadian entitas, 3. Composite key Candidate key yang terdiri daru dua atau lebih atribut 2.1.19.5 Strong and Weak Entity Types Dapat mengklasifikasi tipe entitas menjadi dua yaitu: 46 1. Strong entity type Tipe entitas yang kuat adalah sebuah entitas yang keberadaannya tidak bergantung pada beberapa tipe entitas lainnya. 2. Weak entity type Tipe entitas keberadaanya yang bergantung lemah kepada yang beberapa entitas lainnya. 2.1.19.6 Structural Constraint Memeriksa batasan yang dapat mungkin ditempatkan pada tipe entitas yang berpartisipasi di dalam sebuah relasi. batasan seharusnya mencerminkan pembatasan pada relasi sebagai penerimaan pada dunia nyata. Tipe utama dari batasan pada relasi dinamakan multiplicity. Multiplicity adalah sejumlah kemungkinan kejadian – kejadian dari sebuah tipe entitas yang mungkin berhubungan kepada kejadian tunggal dari penggabungan tipe entitas melalui relasi tertentu. Derajat yang umumnya digunakan untuk relasi yaitu binary, yang terdiri atas one to one relationship, one to many relationship dan many to many relationship. Multiplicity terdiri dari dua batasan yang terpisah yaitu: a. Cardinality Mendeskripsikan jumlah maksimum yang memungkinkan kejadian untuk entitas berpartisipasi pada tipe relasi yang diberikan. b. Participation Menentukan apakah semua atau hanya beberapa kejadian entitas berpartisipasi di dalam sebuah relasi. 2.1.19.7 Permasalahan pada ER Models Permasalahan yang memungkinkan muncul ketika membuat suatu ER model ini dinamakan sebagai 47 connection traps dan normalnya terjadi karena salah menafsirkan arti dari relasi tertentu. Terdapat dua tipe dari connection traps yaitu: 1. Fan traps Fan traps terjadi ketika sebuah model direpresentasikan sebuah relasi di antara tipe entitas, tetapi jalan antara kejadian entitas tertentu adalah ambigu. Fan traps dapat mungkin terjadi dimana dua atau lebih relasi one to many keluar dari entitas yang sama. 2. Chams traps Chams traps terjadi ketika sebuah model menyarankan adanya relasi diantara tipe entitas, tetapi jalan tersebut tidak ada diantara kejadian entitas tertentu. Chasm traps dapat terjadi dimana ada satu atau lebih relasi dengan minimum multiplicity of zero membentuk bagian dari jalan antara entitas yang berelasi. 2.2 Teori Khusus 2.2.1 Internet Intenet adalah jaringan global komputer dunia yang besar dan sangat luas sekali dimana komputer yang satu saling terhubung dengan komputer lainnya diseluruh dunia dan berisikan berbagai macam informasi seperti teks, gambar, audio, video. Dalam mengatur integrasi dan komunikasi, jaringan komputer menggunakan TCP/IP TCP yaitu transmission control protocol bertugas memastikan semua hubungan bekerja dengan benar. IP yaitu internet protocol yang bertugas mentransmisikan data dari satu komputer ke komputer lainnya. Manfaat internet semakin terasa bagi para penggunanya yang lekat sekali dengan dunia internet ini, seperti contoh internet marketing, blogger, maupun toko online yang semakin mempunyai 48 tempat di mata para konsumen. Intenet bisa memberikan dampak bagi penggunanya, baik dari dampak negatif maupun dampak posiitif tergantung dari cara penggunaanya. Dampak negatif yaitu situs mesum, game online yang membuat terutama pelajar lupa waktu dan lupa untuk belajar, dan media sosial yang banyak menelan korban dengan berbagai cara yang di lakukan pelaku untuk menjerat korbannya. Dampak positif yang didapat dari internet yaitu menambah wawasan dan pengetahuan dari berbagai pengetahuan diseluruh dunia, menambah ide – ide baru yang mempunyai prospek bagus untuk masa depan, dan sebagai sarana komunikasi yang tidak terbatas ruang dan tempat. 2.2.2 Web Web adalah sebuah penyebaran informasi melalui media internet. WWW atau world wide web dan web adalah sama, karena banyak yang menyingkat www menjadi web. Web tidak dapat dipisahkan dari dunia internet. Melalui web, setiap pemakai internet bisa mengakses informasi – informasi di situs web yang tidak hanya berupa teks saja, tetapi juga bisa gambar, suara, film maupun animasi. Web merupakan kumpulan-kumpulan dokumen yang banyak tersebar di beberapa komputer server yang berada di seluruh penjuru dunia dan terhubung menjadi satu jaringan melalui jaringan yang disebut dengan internet. 2.2.2.1 Web Statis dan Web Dinamis Menurut Connolly dan Begg (2010, p1033), dokumen HTML yang disimpan dalam file merupakan halaman web statis, isinya tidak pernah akan pernah berubah kecuali file tersebut diubah, sedangkan isi dari halaman ini berupa web dinamis yang selalu dibuat setiap kali diakses. 2.2.3 Pedoman Perancangan Antarmuka Pengguna Menurut Shneiderman dan Plaisant (2005, p74), ada delapan aturan yang dapat digunakan sebagai pedoman dalam merancang antarmuka pengguna. Delapan aturan ini lebih dikenal dengan 49 sebutan Eight Golden Rules of Interface Design. Isi dari kedelapan aturan tersebut adalah sebagai berikut: 1. Berusaha untuk konsisten Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah-istilah yang digunakan pada prompt, menu, serta layar bantuan. 2. Memungkinkan pengguna untuk menggunakan shortcut. Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi sehingga diperlukan adanya singkatan (shortcut), tombol fungsi, dan fasilitas makro. 3. Memberikan umpan balik yang informatif Untuk setiap tindakan pengguna, sebaiknya disertakan suatu sistem umpan . Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat umpan balik yang sederhana. Tetapi ketika tindakan tersebut merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. 4. Merancang dialog yang memberikan penutupan (keadaan akhir) Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal,tengah, dan akhir. Umpan balik yang informatif akan mengindikasikan bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan selanjutnya. 5. Memberikan pencegahan kesalahan Sebaiknya sistem dilengkapi dengan pencegahan kesalahan agar tidak terjadi kesalahan yang fatal oleh pengguna. Jika terjadi kesalahan, sistem dapat mendeteksi kesalahan tersebut dengan cepat dan memberikan 50 pencegahan kesalahan, serta umpan balik yang mudah dipahami oleh pengguna. 6. Memungkinkan pembalikan aksi yang mudah Dengan adanya pembalikan aksi yang mudah, kekhawatiran pada pengguna akan berkurang, karena pengguna mengetahui bahwa kesalahan yang dilakukan dapat dibatalkan. Dengan demikian pengguna tidak takut untuk mengeksplorasi pilihan - pilihan lain yang belum biasa digunakannya. 7. Mendukung pusat kendali internal Pengguna lebih menginginkan menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna, daripada sistem yang mengontrol pengguna. Sebaiknya sistem dirancang sedemikian rupa sehingga pengguna tidak menjadi responden, melainkan inisiatornya. 8. Mengurangi beban ingatan jangka pendek Manusia memiliki keterbatasan ingatan jangka pendek sehingga membutuhkan tampilan yang sederhana, serta diberikan waktu yang cukup untuk pelatihan kode, , dan urutan tindakan 2.2.4 Structured Query Language Menurut Whitten et. al. (2004, p556), SQL merupakan bahasa standar yang telah digunakan secara resmi dan luas sebagai DDL dan DML pada DBMS. SQL ini merupakan bahasa non-prosedural yang mengandung kata dalam Bahasa Inggris sederhana seperti CREATE, SELECT, digunakan oleh mendefinisikan INSERT profesional dan dan maupun DELETE yang dapat non-profesional. Selain memanipulasi basis data, SQL juga mendukung trigger dan stored procedure. Trigger merupakan sebuah program yang dilekatkan pada sebuah tabel dan akan dijalankan secara otomatis dengan memperbarui tabel lain, 51 sedangkan stored procedure adalah program- program yang dilekatkan di dalam sebuah tabel yang dapat dipanggil dari program aplikasi. Jadi menurut penulis, SQL adalah bahasa pemrograman yang digunakan untuk mengakses dan memanipulasi basis data. 2.2.5 JSP (Java Server Pages) Menurut Whanger dan Darren (2010, p1), JSP adalah teknologi server-side scripting untuk mengirimkan konten yang bersifat dinamis. JSP menggunakan bahasa Java sebagai scripting language dan dapat dengan mudah menggunakan komponen-komponen Java Beans yang mengenkapsulasi bisnis proses. Cara kerja JSP adalah dengan memproses berkas JSP sebelum pengiriman konten terjadi pada web klien. Berkas ini terlinaht seperti campuran antara konten HTML dan server-side scripting yang dapat diidentifikasi dengan special tag yang menunjuk pada kode-kode yang akan dieksekusikan pada server. 2.2.6 XML (eXtensible Markup Language) Menurut Handoko (2005, p15), XML adalah turunan dari SGML (Standardized General Markup Language) yang dioptimalkan. XML menyediakan aturan-aturan untuk membuat suiatu daftar menjadi susunan yang terstruktur. Fasilitas yang disediakan XML ini membuat isi sebuah data menjadi lebih mudah dimengerti. HTML memiliki banyak keterbasan, sedangkan pada XML dapat didefinisikan kumpulan tag yang tidak terbatas. Untuk mengubah isi tag dari XML, dapat digunakan stylesheet, yaitu XSL (eXtensible Stylesheet Language). XSL terdiri dari tiga bagian, dan tiap bagian mempunyai standar masing-masing dari W3C (Wide World Web Consortium), yaitu (a) Xpath (XML Path Language), bahasa untuk menunjukkan sebuah bagian dari dokumen XML; (b) 52 XMLT (XML Transformation), bahasa untuk mengubah sebuah dokumen XML ke dokumen lain; dan (c) XSL, yaitu XSLT yang ditambah dengan kumpulan penjelasan mengenai formatting objects dan formatting properties. 2.2.7 Oracle Database 10g Express Edition Menurut Otey (2006, p22), Oracle Database 10g XE merupakan Oracle Database sebagai entry-level database. Versi ini dapat diperoleh secara gratis untuk diunduh, dikembangkan, serta disebarkan. Perangkat lunak ini cepat untuk diinstal dan dapat dikelola serta digunakan dengan mudah. Oracle Database versi Xe ini memiliki batasan penyimpanan data pengguna sebesar 4GB (tidak termasuk data sistem Oracle) dan 1GB RAM. Perangkat lunak ini hanya dapat memanfaatkan satu Control Processor Unit (CPU), sekalipun sistem itu memiliki banyak CPU. Oracle Database Xe merupakan produk yang bersifat multiplatform. Proses instalasi Oracle sederhana. Dengan bantuan wizard yang menanyakan destinasi dan kata sandi untuk akun administratif SYS dan SYSTEM yang telah dibangun di dalamnya. Nama basis datanya adalah XE. 2.2.8 HTML Menurut chuck musciano dan bill kennedy (2000, p8) HTML adalah sebuah tampilan dokumen dan bahasa hyperlink-spesification. HTML mendefinisikan syntax dan peletakan khusus, arahan – arahan yang tertanam yang tidak ditampilkan oleh browser, tetapi memberitahu browser bagaimana isi dari dokumen, termasuk teks, gambar, dan media lainnya. Bahasa tersebut juga memberitahu bagaimana membuat dokumen menjadi interaktif melalui Hypertext links khusus, dimana menghubungkan antar dokumen pada computer sendiri maupun computer orang lain sebagaimana dengan sumber internet lainnya. 2.2.9 Javascript 53 Javascript adalah bahasa pemrograman yang khusus untuk halaman web agar halaman web terlihat menjadi lebih hidup. Javascript dibentuk dari dua suku kata yaitu Java yang berarti bahasa pemrograman berorientasi objek dan Script yang berarti serangkaian instruki program. Hal yang harus diperhatikan dalam Javascript seperti Case sensitive yaitu JavaScript membedakan huruf besar dan huruf kecil. Dalam hal ini sama seperti dengan pemrograman Turbo C atau C++ yaitu huruf ‘T’ tidak sama dengan huruf ‘t’. Beberapa kelebihan dari javascript yaitu : 1. Ukuran file yang kecil 2. Mudah untuk dipelajari 3. Terbuka 2.2.10 Cascading Style Sheets / CSS Menurut marty hall dan Larry Brown (2001,p147) Cascading style sheets atau CSS adalah sebuah cara yang kuat dan fleksibel dalam menspesifikasi bentuk informasi dari halaman web. CCS dapat menentukkan font, size, background, foreground color, backgroung image, margin, dan karateristik lain untuk setiap standart dari elemen–elemen HTML. Sebagai tambahan untuk menspesifikasi bagaimana elemen–elemen standart seharusnya ditampilkan, CSS memperbolehkan untuk mendefinisikan class sendiri. 2.2.11 Apache Apache adalah sebuah nama web server yang bertanggung jawab pada request dan response HTTP dan logging informasi secara detail. Apache memiliki fitur–fitur canggih seperti pesan kesalahan yang dapat di atur, autentikasi berbasis basis data. Apache juga didukun oleh sejumlah antarmuka pengguna yang berbasis grafik atau GUI yang memungkinkan penanganan server menjadi lebih mudah. Beberapa keunggulan yang dimiliki apache yaitu: 1. Apache merupakan software yang bersifat open source. 54 2. Apache sangat mudah untuk proses instalasinya jika dibandingkan dengan web server lainnya. 3. Mampu beroperasi pada berbagai platform sistem operasi. 4. Mudah untuk pengaturan konfigurasi karena apache hanya mempunyai empat file konfigurasi. 5. Mudah dalam menambahkan peripheral lainnya ke dalam platform web servernya. 2.2.12 Apache Struts 2 Merupakan kerangka kerja ekstensibel elegan yang digunakan untuk membuat aplikasi web Java. Kerangka kerja ini didesain untuk menyederhanakan kode pengembangan penuh dari pembuatan aplikasi, untuk kepentingan penerapan, pemeliharaan aplikasi. Kerangka kerja aplikasi web ini berbasis pada pola desain MVC. Tujuan penggunaan kerangka kerja ini adalah untuk menawarkan perluasan dan peningkatan efisiensi waktu untuk mengembangkan web lebih mudah bagi para pengembang aplikasi. 2.2.13MVC (Model View Controller) Arsitektur Model-View-Controller adalah sebuah pola yang terbukti membangun proyek secara lebih efektif. Hal itu dilakukan dengan memilih komponen antara model, view dan controller pada bagian-bagian dalam proyek. MVC berhubungan erat dengan arsitektur dari Web Framework. 55 Gambar 2.6 MVC (Model, View, Controller) Diagram di atas menunjukan tiga komponen yang terdapat dalam pola MVC dan interaksi yang terjadi. 2.2.13.1 Model Pola MVC memiliki layer yang disebut dengan Model yang merepresentasikan data yang digunakan oleh aplikasi sebagaimana proses bisnis yang diasosiasikan terhadapnya 2.2.13.2 View Layer ini mengandung keseluruhan detail dari implementasi keseluruhan persistence. Di sini, komponen grafis menyediakan representasi proses internal aplikasi dan menuntun alur interaksi user terhadap aplikasi. Tidak ada layer lain yang berinteraksi dengan user , hanya View. 2.2.13.3 Controller Terakhir, arsitektur MVC memiliki layer Controller. Layer ini menyediakan detail alur program dan transisi layer, dan juga bertanggung jawab atas penampungan event yang dibuat oleh user dari View dan 56 melakukan update terhadap komponen Model menggunakan data yang dimasukkan oleh user. 2.2.14Toad Menurut Winkler (2006, p7), toad salah satu tools untuk meningkatkan produktivitas dari seorang administrator basis data (DBA) dan pengembang aplikasi dengan menyediakan lingkungan pengembangan yang mudah digunakan. Alat semacam ini sering disebut dengan Database Administratition and Development Tools. Fitur-fitur umum yang terdapat pada alat ini adalah membuat, menjalankan, mengetes, dan code debuging, serta dapat digunakan untuk memonitor aktifitas basis data. 2.2.15Penilaian Menurut Dyah Ayu Lestari (2006, p1), penilaian (prestasi kerja) merupakan sistem yang digunakan untuk menilai dan mengetahui apakah karyawan memahami dan melaksanakan pekerjaannya masing-masing secara keselutuhan (kemampuan kerja, disiplin kerja, hubungan kerja, dan kepemimpinan) dan hal-hal khusus sesuai dengan bidang dan tingkat pekerjaan yang dijabatnya. Alasan menilai kinerja karyawan adalah sebagai berikut: 1. Penilaian memberikan informasi tentang dapat dilakukannya promosi dan penetapan gaji. 2. Penilaian memberi satu peluang bagi seseorang untuk meninjau perilaku yang berhubungan dengan kerja bawahan. 3. Penilaian memberikan satu peluang untuk meninjau karir seseorang dari kekuatan dan kelemahan yang diperlihatkannya. Tujuan menilai kinerja adalah untuk mengetahui jumlah prestasi kerja karyawan di waktu yang lalu dan sebagai prediksi prestasi kerja di waktu yang akan datang Manfaat dilakukannya penilaian kinerja adalah: 1. Perbaikan kinerja perusahaan secara efektif 57 2. Penyesuaian kompensasi 3. Keputusan penempatan secara tepat 4. Mengetahui kebutuhan pelatihan, perencanaan, dan pengembangan karir 5. Mengetahui tantangan-tantangan eksternal Pengukuran efektifitas kerja merupakan elemen dalam melakukan peniliana kinerja. Pengukuran tersebut berorientasi pada perhatian atas pencapaian tujuan jangka panjang dan jangka pendek serta kesehatan dan kelangsungan hidup organisasi. Jadi, konsep efektifitas organisasional itu perlu dipertimbangkan dalam penganalisaan, penilaian strategi, kebijaksanaan, dan praktek personalia termasuk di dalamnya penilaian kerja. 2.2.16Penugasan Menurut Alice (2010, p2), penugasan didefinisikan sebagai pemberian tugas kepada seseorang yang prakteknya berdasarkan deskripsi pekerjaan dan kebijakan-kebijakan yang ada, sedangkan pendelegasian merupakan pemberian tugas kepada seseoran dari praktek sang pendelegasi. Pengklarifikasian terhadap perbedaan antara penugasan dan pendelegasian dapat membantu karyawan memahami mengapa seseorang tidak dapat mengembangkan daftar pekerjaan sederhana dari apa yang dapat didelegasikan kepada orang lain. 2.2.17Performance Appraisal Menurut Dick Grote (2002, p1), performance appraisal adalah sistem manajemen formal yang menyediakan evaluasi untuk kualitas dari kinerja individu di dalam organisasi. Prosedur pelaksanaan appraisal membutuhkan supervisor untuk mengisi formulir penilaian terstandarisasi yang mengevaluasi individu pada beberapa dimensi yang berbeda dan kemudian mendiskusikan hasil evaluasi dengan employee. 58 Menurut Grote (2002, p1), performance appraisal memiliki 4 model fase, yaitu: a. Performance planning Pada awal tahu, supervisor dan employee berkumpul bersama untuk sebuah performance-planning meeting. Dalam pertemuan ini, supervisor dan employee akan mendiskusikan personil yang bagaimanakah yang akan mendapat penghargaan 12 bulan kedepan (meupakan kunci pertanggungjawaban dari pekerjaan seseorang dan tujuan serta proyek yang akan dikerjakan) dan bagaiamana seseorang akan mengerjakan pekerjaannya (merupakan perilaku dan kompetensi yang diharapkan organisasi) b. Performance execution Setelah berjalan setahun, employee bekerja untuk meraih target, objectifitas, pertanggungjawaban dari dan pekerjaan. kunci Supervisor menyediakan pelatihan dan umpan balik pada individu untuk meningkatkan probabilitas kesuksesan. Supervisor menciptakan kondisi yang memotivasi dan membenahi permasalahan kinerja yang muncul. c. Performance assessment Saat mendekati performance appraisal, supervisor merefleksikan bagaimana tingkatan baiknya employee telah terlihat melalui pekerjaann yang telah dikerjakan selama setahun, mengumpulkan berbagai formulir dan lembar kerja yang disediakan organisasi untuk membuat penilaian. merekomendasikan perubahan Supervisor dalam dapat kompensasi individu berdasarkan kualitas pekerjaan individu. 59 Biasanya, formulir penilaian yang telah terisi akan ditinjau kembali dan diterima oleh appraiser’s boss. d. Performance review Supervisor dan employee bertemu untuk meninjau forumilir appraisal yang telah diisi dan dibicarakan mengenai seberapa baiknya seseorang bekerja selama 12 bulan oleh supervisor. Pada akhir peninjauan, superisor dan employee akan mendiskusikan mengenai pertemuan berikutnya untuk melakukan diskusi performance-planning untuk proses manajemen kinerja yang baru. 60 Gambar 2.7 Overall Organization Strategy Menurut Dick Grote (2002, p4), tujuan dilakukannya performance appraisal adalah: a. Providing feedback to employees about their performance b. Determining who gets promoted c. Facilitating layoff or downsizing decisions d. Encouraging performance improvement e. Motivating superior performance f. Setting and measuring goals 61 g. Counseling poor performers h. Determining compensations changes i. Encouraging coaching and mentoring j. Supporting manpower planning or succession planning k. Determining individual training and development neexs l. Determining organizational training and development needs m. Confirming that good hiring decisions are being made n. Providing legal defensibility for personnel decisions o. Improving overall organizational performance Menurut Dick Grote (2002, p15), formulir performance yang ideal akan mengevaluasi individu dalam 5 area, yaitu: a. Organizational core competencies Dalam hal ini, kompetensi yang dimaksud adalah kemampuan, ciri, karakter, perilaku yang diharapkan setiap individu di dalam organisasi b. Job family competencies Kompetensi dalam hal ini adalah kompetensi terapan pada major job families. Job families adalah cara yang nyaman untuk memikirkan pengelompokan pekerjaan individu yang saling berbagi karakteristik. Beberapa job family tipikal adalah managerial/ supervisor, sales, professional/ technical, dan operations. c. Key job responsibilities Merupakan tugas atau pertanggungjawaban mayor dari posisi individu. Job description yang ideal akan memberikan spesifikasi secara jelas mengenai apa yang menjadi kunci pertanggungjawaban dari pekerjaan. d. Projects and goals 62 Merupakan aktifitas individu yang dilakukan lebih dari spesifikasi tugas dan kewajiban yang tercatat dalam job description. e. Major achivements Setiap formulir performance appraisal harus membutuhkan supervisor untuk mengidentifikasikan sejumlah penyelesaian mayor dari individu yang telah didapat sepanjang tahun. Menurut Grote (2005, p154), keuntungan dalam menggunakan performance appraisal system adalah: a. The process ensures a level playing field b. Rating errors are reduced c. The probability that managers will take performance management responsibilities seriously is greatly increased. d. Participating in a rater reliability produce makes it easier for managers to deliver lower-than-expected performance appraisals. 63