BAB 2 LANDASAN TEORI 2.1 Teori Dasar 2.1.1 Pengertian Sistem Menurut Connolly dan Begg (2005, p285), sistem adalah jangkauan dan batasan dari sebuah sistem basis data termasuk pandangan umum dari user, user itu sendiri dan area aplikasi. Menurut James A. O'Brien (2003, p29), sistem adalah sekelompok komponen yang saling berhubungan, bekerja sama untuk mencapai tujuan bersama dengan menerima input serta menghasilkan output dalam proses informasi yang teratur. Menurut Whitten, Bently dan Dittman (2004, p7), sistem adalah suatu komponen yang berelasi yang memiliki fungsi untuk mencapai hasil yang diinginkan. 2.1.2 Pengertian Data Menurut Turban, Rainer, Potter (2003, p15) adalah fakta-fakta yang belum diolah atau gambaran lebih lanjut dari benda-benda, kejadiankejadian, kegiatan-kegiatan dan transaksi yang ditangkap, direkam, disimpan, dan diklasifikasikan tetapi tidak disusun untuk menyampaikan arti khusus lainnya. 7 8 Menurut Indrajani (2011, p2), data adalah fakta atau observasi mentah yang biasanya mengenai fenomena fisik atau transaksi bisnis. Lebih khusus lagi, data adalah ukuran objektif dari atribut (karakteristik) dari entitas seperti orang, teks, gambar, bunyi, dan kombinasinya. 2.1.3 Pengertian Basis Data Menurut Connolly dan Begg (2005, p15), database adalah kumpulan dari data yang terhubung secara logika, dan merupakan deskripsi dari data tersebut, yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Menurut Maslakowski & Butcher (2000, p10-11), basis data adalah rantaian dari file terstruktur dalam komputer yang terorganisasi secara efisien. Kumpulan file ini dapat menyimpan banyak sekali informasi yang dapat dimanipulasi dan dipanggil ketika diperlukan. Menurut Ramakrishnan & Gehrke (2003, p4), basis data adalah kumpulan data yang menjelaskan satu atau lebih relasi dari sebuah organisasi. Menurut Hoffer et al (2005, p4), basis data adalah kumpulan data yang terorganisir dan secara logika berkaitan. Terorganisir maksudnya data distrukturkan sehingga mudah untuk disimpan, dimanipulasi dan diperoleh oleh pengguna. Berkaitan maksudnya, data menggambarkan daerah asal (domain) kepentingan tertentu bagi kelompok pengguna dan pengguna dapat menggunakan data untuk menjawab pertanyaan seputar domain itu. 9 Sedangkan menurut Silberschatz et al (2002, p1), database adalah kumpulan data yang menyimpan informasi-informasi yang penting bagi perusahaan. Menurut McLeod (2007, p258), basis data adalah suatu koleksi data komputer terintegrasi, diorganisasikan dan disimpan dengan suatu cara yang memudahkan pengambilan kembali. Tujuan utama dari konsep basis data adalah meminimumkan pengulangan data dan mencapai independensi data. Pengulangan data (data redudancy) adalah duplikasi data yang berarti data yang sama disimpan dalam beberapa file. Independensi data adalah kemampuan untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada program yang memproses data. Relational database adalah kumpulan dari relasi yang sudah dinormalisasikan dengan nama relasi yang jelas. Relational database meliputi relasi yang sudah terstruktur dengan tepat (Connolly & Begg 2005, p74). 2.1.4 Pengertian Sistem Basis Data Menurut Connolly & Begg (2005, p4), sistem basis data pada dasarnya adalah sistem penyimpanan record yang terkomputerisasi dimana tujuan sebenar nya adalah menyimpan informasi dan membuat informasi tersebut selalu tersedia pada saat dibutuhkan. Keseluruhan sistem terkomputerisasi tersebut memperbolehkan pengguna menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan. 10 2.1.5 Database Management System (DBMS) 2.1.5.1 Pengertian Database Management System Menurut Connolly & Begg (2005, p16), Database Management System (DBMS) adalah sebuah system peranti lunak yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data. Menurut Silberscratz et al. (2002, p1), DBMS adalah kumpulan data yang saling berhubungan dan kumpulan dari program-program yang mengakses data tersebut. Tujuan utama dari adanya DBMS adalah untuk memudahkan user dalam menyimpan dan mengambil informasi. Menurut Elmasri dan Navathe (2000, p5), DMBS adalah sekumpulan program yang mengizinkan user untuk membuat dan memelihara basis data. 2.1.5.2 Tahapan Pemilihan DBMS Tahap ini bertujuan untuk memilih DBMS yang tepat untuk mendukung aplikasi basis data (Connolly, 2005, p297). Tahap-tahap utama untuk memilih DBMS: 1. Mendefinisikan persyaratan studi referensi Dibuat dengan menyatakan tujuan dan ruang lingkup pembelajaran tugas-tugas yang akan dikerjakan, penjelasan kriteria (berdasarkan spesifikasi kebutuhan pengguna) yang digunakan dalam mengevaluasi produk-produk DBMS, daftar 11 produk-produk yang dimungkinkan, semua batasan-batasan dan skala waktu yang dibutuhkan untuk pembelajaran. 2. Mendaftar dua atau tiga produk Kriteria yang dianggap penting dalam keberhasilan implementasi dapat digunakan untuk membuat daftar produk-produk DBMS dalam evaluasi seperti dana yang tersedia, tingkat dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan apakah produk hanya berjalan pada hardware tertentu. 3. Evaluasi produk Fitur-fitur yang digunakan dalam evaluasi produk-produk DBMS dikelompokkan menjadi defenisi data, defenisi fisik, kemampuan akses, penanganan, pengembangan, dan juga fitur-fitur lainnya. 4. Rekomendasi pilihan dan laporan produk Langkah terakhir dari pemilihan DBMS adalah mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomendasi pada produk DBMS tertentu 2.1.5.3 Komponen DBMS Environment Database Management System (DBMS) memiliki komponen komponen utama dalam lingkungannya, Thomas Connolly dan Carolyn Begg (2005, p18-21), terdapat lima komponen DBMS yaitu: i. Hardware DBMS dan aplikasi membutuhkan hardware agar dapat dijalankan. Hardware dapat berkisar dari sebuah PC, sebuah mainframe, dan jaringan dari komputer-komputer. Hardware 12 tertentu bergantu pada kebutuhan perusahaan dan DBMS yang digunakan. Beberapa DBMS hanya dapat bekerja pada hardware atau sistem operasi tertentu. DBMS membutuhkan jumlah minimum dari main memory dan space disk untuk bekerja. ii. Software Komponen software terdiri dari software DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi, termasuk network software jika DBMS digunakan pada jaringan. Pada umumnya, program aplikasi ditulis dalam bahasa pemrograman generasi ketiga (3GL), seperti C, C++, C#, Java, Visual Basic, COBOL, dan sebagainya, atau menggunakan bahasa pemrograman generasi ke-empat (4GL) seperti SQL yang disesuaikan dalam bahasa generasi ke-tiga. DBMS memungkinkan 4th generation tools sendiri yang memungkinkan aplikasi dikembangkan secara cepat. Kegunaan dari 4th generation tools dapat meningkatkan produktivitas secara signifikan dan menghasilkan program yang lebih mudah dipelihara. iii. Data Komponen terpenting dari DBMS, terutama dari sudut pandang end user, adalah data. Data bertindak sebagai jembatan antara komponen mesin dan komponen manusia. Basis data memiliki baik data operasional dan metadata. Struktur dari basis data disebut skema. 13 iv. Prosedur Prosedur merujuk pada instruksi dan aturan yang mengatur desain dan penggunaan dari basis data. Pengguna sistem dan staff yang mengatur basis data membutuhkan dokumentasi prosedur pada bagaimana menggunakan atau menjelaskan sistem. Hal ini terdiri dari instruksi-instruksi dalam bagaimana: i. Log on pada DBMS. ii. Menggunakan fasilitas DBMS tertentu atau aplikasi program. iii. Memulai dan menghentikan DBMS. iv. Membuat salinan backup dari basis data. v. Mengatasi kegagalan hardware atau software. Ini termasuk prosedur bagaimana mengidentifikasikan komponen yang gagal, bagaimana memperbaiki komponen yang gagal, dan mengembalikan basis data ke keadaan semula. vi. Mengubah struktur dari tabel, mengatur ulang basis data melalui multiple disks, meningkatkan performa, atau menyimpan data pada secondary storage. v. Manusia Komponen manusia terdiri dari: i. Data administrator adalah orang yang berwenang untuk mengatur sumber data termasuk merencanakan basis data, mengembangkan dan memelihara, kebijakan dan prosedur, dan desain konseptual atau logikal basis data. 14 ii. Database administrator adalah orang yang bertanggung jawab untuk realisasi fisikal dari basis data, termasuk desain fisikal basis data dan implementasi, kontrol keamanan dan integritas, memelihara sistem operasional, dan memastikan kepuasan performa aplikasi untuk user. iii. Database designer terbagi menjadi dua yaitu logical database designer dan physical database designer. i. Logical database designer adalah orang yang mengidentifikasi data (entitas dan atribut), hubungan antar data, dan constraint data yang disimpan dalam basis data. Logical database designer harus memiliki secara menyeluruh dan mengerti sepenuhnya dari data perusahaan dan peraturan bisnis. Peraturan bisnis menjelaskan karakteristik utama dari data yang dilihat oleh perusahaan. ii. Physical database designer adalah orang yang memutuskan bagaimana desain logikal basis data direalisasikan. Hal ini termasuk mapping desain logikal basis data ke dalam tabel dan constraint yang terintegritas, memilih struktur penyimpanan spesifik dan metode akses untuk data disimpan dalam performa yang baik, dan mendesain ukuran sekuritas yang dibutuhkan data. iv. Application developers adalah orang yang bertanggung jawab mengimplementasikan program aplikasi yang menyediakan 15 fungsionalitas yang dibutuhkan untuk end user setelah basis data diimplementasikan. v. End user terdiri dari dua macam yaitu naïve users dan sophisticated users. i. Naïve users yaitu orang yang secara umum tidak mengetahui mengenai DBMS. Mereka mengakses basis data melalui program aplikasi yang secara khusus ditulis. ii. Sophisticated user yaitu orang yang familiar dengan struktur basis data dan fasilitas yang disediakan DBMS sehingga mereka mungkin menulis program aplikasi untuk mereka gunakan sendiri. 2.1.5.4 Komponen DBMS DBMS mempunyai komponen yang terdiri dari: (Connolly dan begg, 2005, p53-55) 1. Query Processor, merupakan komponen utama dalam DBMS yang merubah query ke dalam bahasa instruksi tingkat rendah yang ditujukan untuk database manager. 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 laporan konseptual apa yang dapat memenuhi permintaaan user. 3. File Manager, memanipulasi file-file dasar yang tersimpan dan mengatur alokasi tempat penyimpanan. 16 4. DML Processor, modul ini mengkonversikan pernyataan DML dalam program aplikasi ke dalam bentuk standar dari bahasa host. 5. DDL Compiler, mengkonversikan pernyataan DDL ke dalam sekumpulan table-tabel yang berisikan data-data. Tabel-tabel ini tersimpan di katalog sistem dan informasi pengawasannya disimpan pada file header data. 2.1.5.5 Keuntungan DBMS a) Mengontrol redundansi data. b) Data yang konsisten Dengan kontrol redundansi data maka akan mengurangi resiko terjadinya ketidak konsistenan data. c) Lebih banyak informasi yang diperoleh dari data yang sama Data operasional yang terintegrasi memungkinkan organisasi menerima infrormasi tambahan dari data yang sama. d) Data dapat digunakan secara bersama-sama oleh semua pengguna yang sah. e) Meningkatkan integritas data. f) Meningkatkan kemaanan terhadap perlindungan basis data dari pengguna yang tidak sah. g) Mengijinkan database administrator (DBA) mendefinisikan dan menjalankan standart kebutuhan. h) Menghemat biaya dengan menggabungkan operasional organisasi menjadi satu basis data. semua data 17 i) Menyeimbangkan kebutuhan antara satu pengguna dengan pengguna lain nya yang saling bertentangan. j) Meningkatkan pengaksesan data dan hasilnya. k) Meningkatkan produktifitas. l) Meningkatkan pemeliharaan melalui independency data. m) Meningkatkan concurrency Apabila terdapat dua atau lebih pengguna mengakses file yang sama, maka proses pengaksesannya tidak akan saling mengganggu. n) Meningkatkan backup dan recovery untuk kondisi apabila terjadi kegagalan sistem. 2.1.5.6 Kerugian DBMS a) Memiliki system perangkat lunak yang lebih kompleks. b) Membutuhkan ukuran yang lebih besar. c) Biaya yang dikeluarkan bergantung pada keadaan dan fungsi yang disediakan. d) Membutuhkan biaya tambahan untuk perangkat keras. e) Biaya konversi untuk menjalankan dbms baru. f) Performa yang kurang cepat karena aplikasi dibuat tidak spesifik melainkan umum. g) Dampak yang luas jika terjadi kegagalan. 18 2.1.6 Structure Query Language (SQL) Structure Query Language (SQL) adalah bahasa baris data relasional yang paling popular dan yang memungkinkan para pengguna untuk melakukan berbagai pencarian rumit dengan perintah yang relatif sederhana (Turban, Rainer, Potter, 2003, p109). Pada dasarnya, sebuah bahasa baris data harus mempunyai karakteristik sebagai berikut: • Dapat membuat basis data dan menguraikan struktur relasi. • Menyajikan data management task, seperti insertion, modification, dan deletion dari relasi data. • Menyakinkan kedua query baik yang sederhana maupun yang kompleks. SQL merupakan contoh dari transform- oriented language yang dapat memenuhi kriteria relasi di atas untuk mengubah input menjadi output yang dibutuhkan dalam basis data (Connolly dan Begg, 2005, p113). Standar dari SQL memilki dua komponen utama yaitu: Data Definition Language (DDL) dan Data Manipulation Language (DML). 2.1.6.1 Data Definition Language (DDL) Menurut Connolly dan Begg (2005, p40), Data Definition Language (DDL) adalah bahasa yang memungkinkan Database Administrator (DBA) atau pengguna untuk mendeskripsikan nama entitas dan huungan atribut yang diperlukan untuk aplikasu, bersamasama dengan yang terkait kendala integrity dan keamanan. 19 DDL digunakan untuk mendefinisikan skema dan DDL tidak dapat digunakan utuk manipulasi data. 2.1.6.2 Data Manipulation Language (DML) Menurut Connolly dan Begg (2005, p41), Data Manipulation Language (DML) adalah bahasa yang menyediakan seperangkat operasi untuk mendukung operasi dasar menipulasi data pada database yang digunakan. Operasi dasar yang dapat dilakukan oleh DML adalah: 1. Memasukkan data baru ke dalam database. 2. Modifikasi data yang disimpan dalam database. 3. Pengambilan data yang terdapat dalam database. 4. Penghapusan data dari database. DML memiliki dua tipe, yaitu: 1. Prosedural Bahasa yang memungkinkan penggua untuk memberitahukan sistem data apa yang diperlukan dan tepat dan bagaimana cara untuk mengambil data tersebut. 20 2. Non Prosedural Bahasa yang memungkinkan user untuk menentukan data yang dibutuhkan dengan menyebutkan spesifikasinya tanpa menspesifikasikan bagaimna cara mendapatkannya. 2.1.7 Fourth Generation Laguage (4GL) Fourth Generation Language merupakan bahasa pemrograman kelanjutan dari third laguage (3GL), dimana 3GL seperti COBOL memerlukan ratusan baris dalam menjalankan sebuah operasi. Sedangkan sekarang hanya memerulukan sedikit baris dalam 4GL. Menurut Connolly dan Begg (2005, p42), dibandingkan dengan 3GL, yang prosedural, 4GL bersifat non-procedural: user dapat mendefinisikan apa yang mereka kerjakan, bukan bagaimana. 4GL mencakup beberapa bagian, yaitu: • Presentation languages, seperti bahasa query dan report generators • Speciality language, seperti lembar kerja (spreadsheets) dan bahasa system basis data • Application generatorsyang mendefinisikan, insert, update, dan mengambil data dari database untuk membuat aplikasi • Very high-level languages, digunakan untuk menghasilkan kode aplikasi 21 Menurut Indrajani (2011, p33), berikut beberapa tipe 4GL: • Query Language • Form Generation Merupakan fasilitas interaktif untuk mempuat form input data dan tampilannya. • Report Generators Memungkinkan user untuk mengambil data yang diperlukan untuk membuat laporan. Lebih menekankan pada rancangan output yaitu bagaimana suatu laporan akan disajikan. • Graphis Generators Mengambil data dari basis data dan menampilkannya dalam bentuk grafik seperti bar, chart, line chart, dan sebagainya. • Application Generators Menghasilkan program yang berhubungan dengan data, menentukan bagaimana menampilkan fungsing-fungsi. 2.1.8 Database System Development Lifecycle Tahapan penerapan database application lifecycle menurut Connolly and Begg (2005, p283) : 22 2.1.8.1 Proses Life Cycle Gambar 2.1 Siklus Aplikasi Basis Data 23 Tabel 2.1 Tahapan dan Fungsi Utama Di Setiap Tahapan Siklus Hidup Basis Data Tahapan Siklus Fungsi Utama Merencanakan Database Planning bagaimana tahapan dalam siklus hidup basis data dapat dilakukan secara efektif dan efisien. Menspesifikasikan ruang lingkup dan System Definition Requirement collection & analysis Database Design batasan dari sistem basis data termasuk user, views dan application areas. Mengumpulkan analisis dan kebutuhan untuk sistem basis data yang baru. Terdiri dari conseptual, logical dan physical design dari system basis data. DBMS Selection (optional) Memilih DBMS yang cocok untuk system basis data. Merancang antarmuka pengguna dan Application Design program aplikasi yang dibutuhkan dalam proses system basis data. Membuat model kerangka dari system basis data, dimana mengijinkan perancang atau pengguna untuk melihat Prototyping (optional) dan mengevaluasi bagaimana gambaran dan fungsi system akhir yang akan dibuat. Implementation Membuat physical program aplikasi database dan 24 Data dari system yang lama ke system Data Conversation and Loading yang baru dan apabila mungkin mengkonversi semua aplikasi yang sedang berjalan untuk diterapkan dalam system basis data yang baru. Menguji system basis data yang baru Testing apakah bebas dari error dan di check kmbali apakah sesuai dengan spesifikasi kebutuhan pengguna. Dalam tahap ini, system basis data sudah diimplementasikan secara penuh. System ini akan terus dipantau dan Operational dipelihara secara berkelanjutan. Apabila Maintanance terdapat kebutuhan yang baru maka dapat kembali ke tahap sebelum nya untuk membuat SBD yang baru sesuai kebutuhan pengguna. 2.1.8.2 Database Planning Perancangan basis data adalah sebuah aktivitas manajemen yang memungkinkan tahapan-tahapan dari aplikasi basis data terealisasi dengan seefektif dan seefisien mungkin (Connolly dan begg, 2005, p285). Terdapat tiga hal penting yang menyangkut perumusan sebuah strategi sistem informasi, yaitu: i. Identifikasi rencana dan sasaran perusahaan dengan penentuan kebutuhan sistem informasi berikutnya. 25 ii. Evaluasi dari sistem informasi yang sedang berjalan untuk menentukan kelebihan dan kekurangan yang ada. iii. Penafsiran peluang teknologi informasi yang mungkin memberikan keuntungan kompetitif. Langkah-langkah dalam perencanaan basis data: i. Mendefinisikan mission statement dari proyek basis data. Mission statement ini menjelaskan tujuan utama dari aplikasi basis data. Sebuah mission statement membantu dalam mengklarifikasi tujuan dari proyek basis data dan menyediakan jalur yang lebih jelas dalam pembuatan aplikasi basis data yang dibutuhkan secara efektif dan efisien. ii. Mengidentifikasi mission objective, setiap mission objective harus mengidentifikasikan sebuah tugas tertentu yang harus didukung oleh basis data. Asumsinya, apabila basis data mendukung mission objective maka mission statement dapat tercapai. 2.1.8.3 Definisi sistem Definisi sistem menggambarkan lingkup dan batasan dari aplikasi basis data dan user view yang utama (Connolly dan begg, 2005, p286). User view mendefinisikan apa yang dibutuhkan dari aplikasi basis data yang dilihat dari sudut pandang sebuah peran kerja (seperti manajer atau supervisor) atau area aplikasi (seperti marketing, personalia, atau kontrol stok) (Connolly dan begg, 2005, p287). 26 Identifikasi user view ini merupakan aspek yang penting dalam pengembangan sebuah aplikasi basis data karena user view membantu untuk memastikan bahwa tidak ada pengguna utama yang terlupakan saat mengembangkan aplikasi yang baru. Selain itu, user view juga membantu dalam pengembangan aplikasi basis data yang relatif rumit dengan memungkinkan kebutuhan dipecah menjadi bagian-bagian yang dapat diatur. 2.1.8.4 Pengumpulan Kebutuhan dan Analisis Data Pengumpulan kebutuhan dan analisis data merupakan proses mengumpulkan dan menganalisis informasi yang berhubungan dengan bagian dari organisasi yang akan didukung oleh aplikasi basis data dan menggunakan informasi tersebut untuk mengidentifikasi kebutuhan pengguna dari sistem baru (Connolly dan Begg, 2005, p288). Teknik yang digunakan untuk mendapat informasi yang dibutuhkan tersebut dinamakan fact-finding. Informasi yang dikumpulkan untuk setiap user view yang utama meliputi (Connolly dan Begg, 2005, p288): i. Deskripsi dari data yang digunakan atau dihasilkan. ii. Detail mengenai bagaimana data digunakan atau dihasilkan. iii. Kebutuhan tambahan untuk aplikasi basis data yang baru. 2.1.8.5 Perancangan Basis data Perancangan basis data merupakan proses untuk membuat rancangan untuk basis data yang akan mendukung operasi dan tujuan 27 dari perusahaan (Connolly dan Begg, 2005, p291). Terdapat dua pendekatan dalam perancangan basis data, yaitu: i. Pendekatan bottom-up Pendekatan ini dimulai dari atribut tingkat dasar (entitas dan relationship) yang melewati analisis dari hubungan antar atribut, yang dikelompokkan ke dalam relasi yang mewakili tipe dari entitas dan hubungan antar entitas. Pendekatan ini cocok untuk perancangan basis data yang sederhana dengan jumlah atribut sedikit. ii. Pendekatan top-down Pendekatan ini dimulai dengan pengembangan midel data yang mengandung entitas tingkat tinggi beserta hubunganhubungannya dan mengidentifikasikan melakukan entitas perbaikan tingkat top-down rendah, untuk hubungan- hubungannya dan atribut-atribut yang saling berhubungan. Pendekatan ini biasanya digambarkan dengan menggunakan konsep dari model Entity-Relationship (ER), mulai dengan identifikasi entitas dan hubungan-hubungan antar entitas, yang berhubungan dengan organisasi. Menurut Connolly dan Begg (2005, p293), perancangan basis data terdiri dari tiga tahap, yaitu perancangan konseptual, perancangan logikal, dan perancangan fisikal. Berikut adalah penjelasan mengenai tahap-tahap tersebut: 28 I. Perancangan basis data konseptual Perancangan basis data konseptual merupakan proses membangun sebuah model dari informasi yang digunakan dalam perusahaan, yang tidak bergantung pada pertimbangan fisikal (Connolly dan Begg, 2005, p293). Model data tersebut dibuat dengan menggunakan informasi yang didokumentasikan dengan spesifikasi kebutuhan user. Perancangan basis data konseptual tidak bergantung sama sekali pada detail implementasi seperti DBMS, program aplikasi, bahasa pemrograman, dan pertimbangan fisikal lainnya. Tahapan yang dilakukan dalam perancangan basis data konseptual dapat diuraikan sebagai berikut (Connolly dan Begg, 2005, p442): i. Menentukan tipe entitas Mengidentifikasikan tipe entitas utama yang dibutuhkan view. ii. Menentukan tipe hubungan Mengidentifikasi hubungan-hubungan yang penting antar tipe entitas yang telah diidentifikasikan. iii. Menentukan dan menghubungkan atribut dengan entitas (relationship) Menentukan atribut-atribut apa saja yang terdapat dalam suatu entitas. 29 iv. Menentukan atribut domain Menentukan domain pada setiap atribut yang ada di dalam model data konseptual lokal. v. Menentukan atribut candidate key dan primary key Menentukan candidate key dari suatu entitas yang kemudian akan dipilih sebuah primary key dari candidate key yang ada. vi. Mempertimbangkan penggunaan enchanged modeling concepts Mempertimbangkan perlu tidaknya menggunakan konsep model spesialisasi atau generalisasi, agregasi, dan composition. vii. Cek model untuk redudansi Memeriksa model untuk menemukan adanya redudansi dalam model. viii. Validasi model konseptual lokal dengan transaksi user Memeriksa apakah model konsepual lokal sudah dapat memenuhi segala transaksi yang dilakukan user, jika masi ada transaksi yang tidak dapat dilakukan secara manual maka perlu dilakukan perbaikan dahulu. ix. Review model data konseptual lokal dengan user Melakukan pemeriksaan ulang dengan user memastikan apakah model konseptual ini sudah sesuai. untuk 30 II. Perancangan basis data logikal Perancangan basis data logikal merupakan proses membangun sebuah model dari informasi yang digunakan dalam perusahaan berdasarkan model data spesifik, tetapi tidak bergantung pada DBMS tertentu dan pertimbangan fisikal lainnya (Connolly dan Begg, 2005, p294). Tahapan yang dilakukan dalam perancangan basis data logikal adalah (Connolly dan Begg, 2005, p463-490): i. Membangun dan memvalidasi data model logikal untuk setiap view, yang dapat diuraikan sebagai berikut: a. Menghapus fitur yang tidak sesuai dengan model relasional yaitu dengan menghilangkan relasi biner manyto-many, relasi rekursif many-to-many, relasi kompleks, dan atribut multi-valued. b. Menurunkan relasi untuk model data logikal lokal yaitu dengan membuat relasi model data logikal lokal untuk merepresentasikan entitas relationship dan atribut yang telah diidentifikasi. c. Validasi relasi-relasi menggunakan normalisasi untuk memeriksa relasi dalam model data logikal lokal menggunakan teknik normalisasi. d. Validasi relasi-relasi dengan transaksi user yaitu dengan memeriksa relasi yang telah dibuat pada tahap sebelumnya 31 apakah mendukung transaksi ini untuk memastikan tidak ada kesalahan yang dibuat selama membuat relasi-relasi. e. Mendefinisikan batasan integritas adalah constraint yang diharapkan untuk menjaga agar basis data tetap konsisten. Data yang disimpan ke dalam sebuah basis data haruslah valid dan konsisten. ii. Membangun dan memvalidasi logikal data model global, yang dapat diuraikan sebagai berikut: a. Menggabungkan model data logikal lokal ke dalam model logikal global yang menggambarkan perusahaan, yaitu dengan menggabungkan entitas pada model data lokal yang sama, memasukkan entitas yang unik pada setiap model data lokal, menggabungkan hubungan dari model data local, memasukkan hubungan yang unik dari setiap model data local, melakukan pemeriksaan untuk entitas yang hilang, foreign key, dan batasan integritas, kemudian menggambarkan global ER, dan memperbaharui dokumentasi. b. Memvalidasi model data logikal global dengan menggunakan teknik normalisasi dan meyakinkan relasi tersebut mendukung kebutuhan transaksi yang ada. c. Menentukan apakah akan sering terjadi perubahan yang drastis di masa yang akan datang dan menilai apakah 32 model data logikal global ini dapat mengakomodasikan perubahan yang terjadi. d. Melakukan pemeriksaan kembali dengan user untuk menentukan apakah model ini sudah sesuai dengan representasi perusahaan. III. Perancangan basis data fisikal Perancangan basis data fisikal adalah proses menghasilkan deskripsi dari implementasi basis data dalam secondary storage. Menjelaskan basis relasi, organisasi file, dan penggunaan index untuk mencapai pengaksesan data yang efisien dan hal lain yang berhubungan dengan batasan integritas dan masalah keamanan (Connolly dan Begg, 2005, p294). Tahapan yang dilakukan pada perancangan basis data fisikal adalah (Connolly dan Begg, 2005, p497-516): i. Menerjemahkan model data logikal global untuk target DBMS, yang dapat diuraikan sebagai berikut: a. Merancang relasi-relasi dasar Menentukan bagaimana merepresentasikan relasi dasar yang telah diidentifkasikan di dalam model data logikal global ke dalam DBMS. b. Merancang representasi dari data yang diturunkan Menentukan bagaimana merepresentasikan beberapa data yang diturunkan dalam model data logikal global ke dalam DBMS. 33 c. Merancang batasan perusahaan. ii. Merancang representasi fisikal, yang dapat diuraikan sebagai berikut: a. Menganalisa transaksi b. Memilih organisasi file c. Memilih index-index d. Memperkirakan kebutuhan disk space e. Merancang user view f. Merancang mekanisme keamanan 2.1.8.6 Pemilihan DBMS Tahap ini bertujuan untuk memilih DBMS yang tepat untuk mendukung aplikasi basis data (Connolly dan Begg, 2005, p295). Tahap-tahap utama untuk memilih DBMS: i. Mendefinisikan persyaratan studi referensi ii. Mendaftar dua atau tiga produk iii. Evaluasi produk iv. Rekomendasi pilihan dan laporan produk 2.1.8.7 Perancangan Aplikasi Perancangan aplikasi merupakan perancangan tampilan antar muka dan aplikasi program yang digunakan dan memproses basis data (Connolly dan Begg, 2005, p299). Terdapat dua aspek dalam perancangan aplikasi, yaitu: 34 i. Perancangan transaksi Merupakan tindakan ataupun serangkaian tindakan yang dilakukan oleh satu pengguna ataupun program aplikasi, yang mengakses atau mengubah isi dari basis data (Connolly dan Begg, 2005, p300). Tujuan dari perancangan transaksi adalah untuk mendefinisikan dan mendokumentasikan karakteristik tingkat tinggi dari transaksi yang dibutuhkan pada basis data, meliputi: a. Data yang akan digunakan oleh transaksi. b. Karakteristik fungsional dari transaksi. c. Hasil dari transaksi. d. Kepentingan untuk pengguna. e. Nilai yang diharapkan dari pemakaian. Perancangan ini harus dilakukan lebih awal dalam proses perancangan untuk memastikan bahwa basis data yang diimplementasikan mampu mendukung semua transaksi yang dibutuhkan. Ada tiga jenis transaksi, yaitu: a. Retieval transactions Digunakan untuk mengambil data untuk ditampilkan pada layar atau pada laporan. b. Update transactions Digunakan untuk memasukkan record baru, menghapus record lama, atau mengubah record yang terdapat di dalam basis data. 35 c. Mixed transactions Meliputi retrieval (pengambilan) dan update (pengubahan) data. ii. Perancangan antar muka 2.1.8.8 Membuat Prototype Membuat prototype berarti pembuatan model kerja dari aplikasi basis data (Connolly dan Begg, 2005, p303). Prototype merupakan sebuah model kerja yang biasanya tidak memiliki semua fitur yang diminta atau menyediakan semua fungsionalitas dari sistem yang final. Tujuan dari pembuatan prototype ini adalah memungkinkan pengguna untuk menggunakan prototype tersebut untuk menentukan fitur-fitur dari sistem yang bekerja dengan baik, dan jika mungkin mengusulkan sistem yang bekerja dengan baik, dan mengusulkan peningkatan atau bahkan fiturfitur baru pada aplikasi basis data. 2.1.8.9 Implementasi Implementasi merupakan realisasi fisikal dari basis data dan perancanganaplikasi (Connolly dan Begg, 2005, p304). Implementasi basis data dapat dicapai dengan menggunakan DDL (Data Definition Language) dari DBMS yang telah dipilih atau menggunakan GUI (Graphical User Interface), yang menyediakan fungsi yang sama sambil menyembunyikan perintah DDL tingkat rendah. 36 Program aplikasi diimplementasikan menggunakan 3GL (Third Generation Language) atau 4GL (Fourth Generation Language). 2.1.8.10 Konversi dan Pemuatan Data Konversi dan pemuatan data adalah proses memindahkan data yang sudah ada ke dalam basis data yang baru dan mengubah aplikasi yang ada untuk dapat berfungsi dengan basis data yang baru (Connolly dan Begg, 2005, p305). Tahap ini diperlukan saat sistem basis data yang baru menggantikan sistem yang lama. 2.1.8.11 Pengujian Pengujian merupakan proses menjalankan program aplikasi dengan tujuan untuk menemukan kesalahan-kesalahan (Connolly dan Begg, 2005, p305). 2.1.8.12 Pemeliharaan Operasional Pemeliharaan operasional merupakan proses mengamati dan memelihara sistem setelah dilakukan instalasi (Connolly dan Begg, 2005, p306). Aktivitas-aktivitas yang terlibat dalam tahap ini adalah: i. Mengamati performa dari sistem, apabila performa jatuh di bawah tingkat yang dapat diterima, maka perbaikan atau pengorganisasian dari basis data perlu dilakukan. ii. Memelihara dan memperbaharui aplikasi basis data (apabila dibutuhkan). Kebutuhan baru disatukan dengan aplikasi basis data. 37 2.1.9 Entity Relational Modeling 2.1.9.1 Entity Type Tipe entitas adalah sekumpulan objek yang memiliki sifat yang sama, yang diidentifikasi oleh perusahaan dan memiliki keberadaan yang independen (Connolly dan Begg, 2005, p343). Keberadaaan dari entitas yang independen ini dapat berupa fisik (nyata) maupun konseptual (abstrak). 2.1.9.2 Relationship Type Tipe relationship merupakan sebuah hubungan yang memiliki arti di antara beberapa tipe entitas (Connolly dan Begg, 2005, p346). Setiap tipe relasi diberi nama yang menjelaskan fungsinya. Relationship occurence merupakan sebuah hubungan yang dapat diidentifikasi secara unik, yang meliputi satu kejadian dari masingmasing tipe entitas yang berpartisipasi. 2.1.9.3 Atribut Atribut merupakan properti atau sifat dari sebuah entitas atau tipe relationship (Connolly dan Begg, 2005, p350). Domain atribut merupakan suatu kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut (Connolly dan Begg, 2005, p350). Atribut dapat diklasifikasikan sebagai berikut: 38 i. Simple dan composite attributes Simple attribute merupakan sebuah atribut yang terdiri dari satu komponen dengan keberadaaan yang independen (Connolly dan Begg, 2005, p351). Composite attribute merupakan sebuah atribut yang terdiri dari beberapa komponen, masing-masing dengan keberadaan yang independen (Connolly dan Begg, 2005, p351). ii. Single -valued dan multi-valued attributes Single-valued attribute merupakan sebuah atribut yang menyimpan satu nilai untuk setiap kejadian dari entitas (Connolly dan Begg, 2005, p351). Multi-valued attribute merupakan sebuah sebuah atribut yang menyimpan beberapa nilai setiap kejadian dari entitas (Connolly dan Begg, 2005, p352). iii. Atribut turunan (derived attribute) Derived attribute merupakan sebuah atribut yang mewakili sebuah nilai yang dapat diturunkan dari nilai dari atribut yang berelasi atau sekumpulan atribut, dan tidak harus dalam tipe entitas yang sama (Connolly dan Begg, 2005, p352). 2.1.9.4 Keys Candidate key merupakan sekumpulan atribut yang minimal yang secara unik menidentifikasikan setiap kejadian dari entitas (Connolly dan Begg, 2005, p352). 39 Primary key merupakan candidate key yang terpilih untuk secara unik mengidentikasi setiap kejadian dari entitas (Connolly dan begg, 2005, p353). Composite key merupakan candidate key yang memilik dua atau lebih atribut (Connolly dan begg, 2005, p353). 2.1.9.5 Tipe entitas kuat dan lemah Tipe entitas kuat merupakan tipe entitas yang keberadaannya tidak bergantung pada entitas lain (Connolly dan begg, 2005, p354). Karakteristik dari entitas kuat ini adalah setiap kejadian entitas diidentifikasikan secara unik menggunakan atribut primary key dari tipe entitas tersebut. Tipe entitas lemah merupakan tipe entitas yang keberadaannya bergantung pada entitas lain (Connolly dan begg, 2005, p355). Karakteristik dari entitas lemah ini adalah setiap kejadian entitas tidak bisa diidentifikasi secara unik dengan hanya menggunakan atribut yang berhubungan dengan tipe entitas tersebut. 2.1.9.6 Structural constraint Batasan utama dari relationship disebut multiplicity, yang artinya jumlah dari kejadian-kejadian yang mungkin terjadi pada entitas yang berhubungan dengan kejadian tunggal dari entitas melalui relationship khusus (Connolly dan begg, 2005, p356). Terdapat tiga jenis relationship sesuai dengan batasan perusahaan, yaitu: 40 i. One-to-one (1:1) Hubungan one-to-one terjadi ketika ada satu record dari tabel pertama yang berkorespondensi dengan satu record dari tabel lain. Contohnya setiap nama karyawan hanya memiliki satu nomor ID karyawan. ii. One-to-many (1 : *) Hubungan one-to-many terjadi ketika setiap record dalam tabel A bisa memiliki beberapa link dari tabel B namun masingmasing record dari tabel B hanya bisa berkorespondensi dengan satu record dari tabel A. Contohnya sebuah perusahaan dengan semua karyawannya bekerja di gedung 1 (merupakan tabel A). Nama gedung memiliki hubungan dengan banyak karyawan (merupakan tabel B). Jadi, satu record dari tabel A, yaitu tabel nama gedung, memiliki relasi dengan banyak nama karyawan dari tabel B. iii. Many-to-many (* : *) Hubungan many-to-many terjadi ketika setiap record dari tabel A memiliki hubungan dengan record-record yang ada di tabel B dan sebaliknya. 2.1.10 Normalisasi Normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat yang diinginkan, memenuhi kebutuhan data pada perusahaan (Connolly dan begg, 2005, p462). 41 Tujuan utama dalam pengembangan model data logical pada sistem basis data relasional adalah menciptakan representasi akurat suatu data, relationship antar data dan batasan-batasannya. Untuk mencapai tujuan ini, maka harus ditetapkan sekumpulan relasi. Tujuan utama dari desain basis data relasional adalah untuk mengelompokkan atribut-atribut ke dalam relasi-relasi sehingga meminimalisasi redudansi data dan mengurangi penggunaan tempat penyimpanan yang dibutuhkan untuk sebuah relasi dasar. Proses normalisasi merupakan suatu teknik formal untuk menganalisis relasi berdasarkan primary key dan ketergantungan fungsional antar atribut. Proses ini dieksekusi dalam beberapa langkah. Setiap langkah mengacu ke bentuk normal tertentu, sesuai dengan sifat yang dimilikinya. Setelah normalisasi diproses, relasi menjadi secara bertahap lebih terbatas atau kuat bentuk formatnya dan juga mengurangi tindakan update yang anomali. Ada beberapa bentuk normalisasi, yaitu: I. Unnormalized Form (UNF) Merupakan suatu tabel yang berisikan satu atau lebih grup yang berulang. Membuat tabel unnormalized yaitu dengan memindahkan data dari sumber informasi ke dalam format tabel dengan baris dan kolom. II. First Normal Form (1NF) Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai. 42 III. Second Normal Form (2NF) Berdasarkan pada konsep full functional dependency, yaitu A dan B. Second normal form merupakan atribut dari sebuah relasi, B dikatakan fully dependent (bergantung penuh) terhadap A, jika B functionally dependent pada A tetapi tidak pada proper subset dari A. Second normal form merupakan sebuah relasi dalam 1NF dan setiap atribut non-primarykey bersifat fully functionally dependent pada primary key. IV. Third Normal Form (3NF) Berdasarkan pada konsep ketergantungan transitif, yaitu suatu kondisi dimana A, B dan C merupakan atribut dari sebuah relasi, maka jika A→B dan B→C, maka C bergantung secara transitif pada A melalui B (Jika A tidak functionally dependent pada B atau C). Third normal form adalah atribut sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key yang bersifat bergantung secara transitif pada primary key. V. Boyce-Codd Normal Form (BCNF) Relasi yang hanya dan hanya jika setiap determinan adalah candidate key. Proses-proses yang terjadi yaitu: i. UNF ke 1NF Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalized. Identifikasikan grup yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut. Hapus grup yang berulang dengan cara: 43 a. Masukkan data yang semestinya ke dalam kolom yang kosong pada baris yang berisikan data yang berulang (flattening the table). b. Menggantikan data yang ada dengan salinan dari kunci atribut yang sesungguhnya ke dalam relasi terpisah. ii. 1NF ke 2NF a. Identifikasikan primary key untuk relasi 1NF. b. Identikasikan ketergantungan fungsional dalam relasi. c. Jika terdapat ketergantungan parsial terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan. iii. 2NF ke 3NF a. Identifikasikan primay key dalam relasi 2NF. b. Identifikasikan ketergantungan fungsional dalam relasi. c. Jika terdapat ketergantungan transitif terhadap primary key, hapus dengan menempatkan dalam relasi yang baru bersama dengan salinan determinan-nya. iv. 3NF ke BCNF a. Merupakan relasi yang sama dengan relasi yang ada di dalam 3NF. b. Untuk ketergantungan fungsional A→B, maka ditetapkan dalam relasi maka A harus merupakan candidate key. v. BCNF ke 4NF Menghilangkan multi-valued dependency dari relasi dengan menempatkan atribut-atribut ke dalam suatu relasi baru bersama dengan copy of determinant. 44 2.1.11 Internet 2.1.11.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, 2003, p200). 2.1.11.2 Sejarah Internet Menurut Annabel Z. Dodd (2000, p244), Internet pertama kali dimulai pada tahun 1996 oleh badan pertahanan Projek Agensi yaitu, ARPANET, dalam sebuah ruangan komputer dalam suatu Universitas California Los Angeles. Inti dari sebuah internet adalah agar semua peneliti dapat berbagi informasi penelitian di mana saja. Pada tanggal 24 agustus 1994 dalam sebuah artikel network ARPANET di beri penghargaan karena dalam upaya menghemat pengeluaran pemerintah dengan cara berbagi informasi melalui internet tanpa harus membeli komputer masing - masing . 2.1.11.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 client/server, menggunakan fungsi-fungsi transport dari internet. (Turban, Rainer dan Potter, 2003, p214). 45 2.1.11.4 Internet Protocol Protokol yang digunakan pada internet ialah Transmission Contol Protocol atau Internet Protocol (TCP/IP). Menurut Suryadi (1997, p24-25) ada dua komponen yang perlu diketahui dari internet dengan protokol TCP/IP, yaitu: 1. Nomor IP Setiap komputer yang terkoneksi ke Internet memiliki nomor identifikasi yang unik (ID) agar dapat membedakannya dari komputer lain, disebut nomor IP. Nomor ini terdiri dari empat digit, w.x.y.z dimana w,x,y,z bervariasi antara 0 dan 225. Dengan nomor IP ini setiap host atau computer yang terkoneksi ke Internet dapat teridentifikasi. 2. Nama Domain Metode penomoran dengan menggunakan angka tidak begitu disukai karena kita sulit mengigatnya. Umumnya orang mudah mengingat nama dibandingkan angka. Alasan ini yang memotivasi untuk memakai metode penggunaan nama yang mengigatnya dengan nomor IP, disebut DNS (Domain Name System). Metode ini dijadikan standar. Nama domain terdiri dari beberapa bagian yang dipisahkan dengan titik. Domain yang umum dipakai, yaitu: • .com - Komersial (commercial) • .edu - Pendidikan (education) 46 • .ac - Akademis (academic) • .gov / .go - Pemerintahan (governmental) • .mil - Militer (military) • .net - Layanan jaringan (netwok provider) • .co - perusahaan (cooperate) • .org - Organisasi lainnya Nama konversi nama di atas tidak mengikat, karena tetap akan dikaitkan dengan sebuah nomor IP. Komputer yang bertugas untuk menerjemahkan kembali nama domain menjadi nomor IP disebut dengan DNS server. 2.1.11.5 Sistem Basis Web Menurut Turban, Rainer dan Potter (2003, p214), sistem berbasis web merupakan sistem yang digunakan berupa urutan rangkaian instruksi dan harus dijalankan berdasarkan jaringan tertentu dalam suatu aplikasi. Web adalah system dengan standart yang diterima secara universal untuk menyimpan, menelusuri, memformat, dan menampilkan informasi melalui arsitektur client/server. Web bisa menerima semua jenis informasi digital, termasuk teks, hypermedia, grafis, dan suara. Web menggunakan antarmuka pengguna grafis, sehingga mudah digunakan. Web didasari oleh bahasa hiperteks standar yang disebut Hypertext Markup Language (HTML), yang memformat dokumen dan memadukan link hiperteks dinamis ke dokumen-dokumen 47 lainnya yang disimpan didalam computer yang sama atau yang berbeda. Penawaran informasi melalui web memerlukan adanya home page, yang merupakan tampilan layar grafis dan teks yang biasanya menyambut pengguna dan menjelaskan organisasi yang memuat halaman tersebut. Dalam kebanyakan kasus, home page mengarahkan pengguna ke halaman-halaman lainnya. Untuk mengakses situs Web, pengguna harus menentukan uniform resource locator (URL), yang mengarahkan ke alamat dari sumber tertentu di web. Misalnya URL untuk microsoft adalah http://www.microsoft.com. Http adalah singkatan dari Hypertext Transport Protocol, yang merupakan standart komunikasi yang digunakan untuk mentransfer halaman dibagian WWW di internet. Pengguna umumnya mengakses web melalui aplikasi piranti lunak yang disebut browser. Browser menyediakan tampilan grafis yang memungkinkan pengguna untuk menunjuk dan mengklik bagian yang diinginkannya di web. Proses ini disebut surfing. Browser web menjadi sarana akses universal karena mengirimkan antarmuka yang sama pada semua system operasi yang dijalankan. 2.1.12 Eight Golden Rules of Interface Design (8 Aturan Emas Desain Tampilan Pengguna) Menurut Shneiderman Ben and Catherine Plaisant (2005, p74), merumuskan 8 (delapan) aturan yang dapat digunakan sebagai petunjuk 48 dasar untuk merancang suatu user interface. Delapan aturan ini disebut dengan Eight Golden Rules of Interface Design, yaitu: 1. Konsistensi Merupakan konsistensi terhadap urutan tindakan, perintah, dan pada istilah-istilah yang digunakan.contohnya pada binusmaya yaitu : jika kita ingin masuk kita harus log in dulu dengan cara memasukkan nim dan password. 2. Universal Usability Gunanya untuk mengenali kebutuhan pengguna yang beragam dan desain serta memberikan kemudahan dalam penggunaan, dengan memfasilitasi transformasi konten agar pengguna yang belum pernah maupun yang pernah menggunakan aplikasi dapat memakai penggunaan Desain Interface yang ada. 3. Memberikan umpan balik yang informatif Umpan balik yang berupa informasi jika ada informasi baru dan jika ada kesalahan perintah. dibinusmaya,ketika pertama kali kita masuk di sebelah kanan atas dituliskan “good morning Virgina Angelin Regar “, itu merupaka salah satu contoh umpan balik bahwa kita telah berhasil masuk dalam BINUSMAYA itu sendiri. contoh lain yaitu ketika kita mengupload tugas maka setalah upload berhasil maka ada pemberitahuan balik bahwa tugas ada sudah tersimpan dan dibagian tugas itu sendiri diberikan tanda check list berwarna biru. dibunusmaya sendiri belum terdapat alert atau peringatan melalui suara yang dimunculkan ketika kita melakukan kesalahan perintah atau input data. 49 4. Merancang dialog untuk menghasilkan suatu penutupan Urutan tindakan sebaiknya terorganisir,jelas awal,pertengahan dan akhirnya. Dibinusmaya misalnya untuk meng-upload tugas, urutannya jelas. 5. Memberikan penanganan kesalahan yang sederhana Jika terjadi kesalahan, akan ada mekanisme sederhana untuk menangani kesalahan tersebut. dibinusmaya contohnya jika kita meng-upload tugak terlalu besar, maka akan ada peringatan bahwa ukuran file terlalu besar atau jika format tidak sesuai maka akan ada pemberitahuan bahwa format yang digunakan tidak dikenal. 6. Mudah kembali ke tindakan sebelumnya Dirancang agar pengguna tidak takut menggunakan menu-menu baru. disetiap browser seperti mozilla, dan Internet Exploler,dll, ada menu undo, atau back. tapi khusus di website binusmaya sepertinya blm ada. 7. Mendukung tempat pengendali internal (internal locus of control) Pengguna menjadi pengontrol sistem bukan sistem yang mengontrol. dibinusmaya, kita bebas memilih menu-menu yang telah disediakan. 8. Mengutangi beban ingatan jangka pendek Dirancang agar pengguna tidak terlalu mengingat banyak perintah. perintah dibinusmaya sangatlah simpel. yaitu meng-klik menu yang ada. maka perintah akan dijalankan otomatis oleh sistem. 50 2.1.13 Keamanan Menurut Connolly and Begg (2005, p542), "Database Security adalah mekanisme untuk memproteksi basis data melawan ancaman dari luar maupun dalam". Database security mencakup Hardware, Software, User, dan data. Untuk menajalankan system keamanan secara efektif, di perlukan beberapa control yang sesuai, yang didefinisikan pada mission objektifitas spesifik dari system. Database security termasuk dalam situasi sebagai berikut: • Pencurian dan manipulasi data • Kehilangan kerahasiaan data • Kehilangan privacy • Kehilangan integrity 2.1.14 Flowchart Menurut Mulyadi (2001, p66), flowchart biasa disebut dengan diagram alir, adalah bagan yang menggambarkan aliran dokumen dalam suatu system informasi. Simbol simbol standart yang dapat digunakan untuk menggambarkan suatu flowchart digambarkan sebagai berikut: Tabel 2.2 Simbol-simbol dalam Flowchart Nama Terminal Simbol Keterangan Menandakan awal dan akhir suatu flowchart 51 Proses Merepresentasikan suatu proses dalam suatu prosedur Dokumen Dokumen input/output yang dihasilkan dari suatu proses Dokumen beserta rangkapnya Menggambarkan dokumen asli beserta rangkapnya, nomor rangkap dokumen dicantumkan disebelah kanan Keputusan Keputusan yang dibuat dari hasil dokumen yang ada Arsip Tempat penyimpanan / arsip Konektor Menggambarkan alur dalam suatu prosedur 2.1.15 State Transition Diagram State transition diagram (STD) menggambarkan bagaimana suatu proses dihubungkan satu sama lain dalam waktu yang bersamaan (Jeffrey . A et al 1996, p364). STD digambarkan dengan sebuah state yang berupa komponen sistem yang menunjukkan bagaimana kejadian-kejadian tersebut dari satu state ke state yang lain, sedangkan menurut Pressman (2010, p317). 52 State Transition Diagram (STD) menggambarkan kebiasaan dari suatu system dengan menggambarkan kondisi dan kejadian yang menyebabkan perubahan suatu kondisi. Ada 2 macam simbol yang menggambarkan proses dalam State Transition Diagram (STD), yaitu: Tabel 2.3 Simbol-simbol State Transition Diagram Gambar Keterangan Kotak digunakan untuk menggambarkan layar tampilan Anak panah menggambarkan aliran dari control dan kejadian yang memicu layar menjadi aktif dan menerima fokus 2.2 TEORI KHUSUS 2.2.1 Pembelian Menurut Render (2011, p414), pembelian adalah perolehan barang dan jasa. Secara umum definisi pembelian adalah suatu usaha pengadaan barang atau jasa dengan tujuan yang akan digunakan sendiri, untuk kepentingan proses produksi maupun untuk dijual kembali. Menurut Mulyadi (2001, p299), pembelian adalah suatu usaha yang digunakan dalam perusahaan untuk pengadaan barang yang diperlukan perusahaan. Transaksi pembelian digolongkan menjadi dua yaitu pembelian lokal dan impor. Pembelian lokal adalah pembelian dari pemasok dalam 53 negeri sedangkan pembelian impor adalah pembelian dari pemasok luar negeri. 2.2.1.1 Jaringan Prosedur yang Membentuk Sistem Pembelian Menurut Mulyadi (2001, p303-305), jaringan prosedur yang membentuk sistem pembelian adalah: 1. Prosedur permintaan pembelian, dalam prosedur ini fungsi gudang mengajukan permintaan pembelian dalam bentuk formulir surat permintaan pembelian kepada fungsi pembelian. 2. Prosedur permintaan penawaran harga dan pemilihan pemasok, fungsi pembelian mengirimkan surat permintaan penawaran harga kepada pemasok untuk memperoleh informasi mengenai harga barang dan berbagai syarat pembelian yang lain untuk memungkinkan pemasok yang akan ditunjuk sebagai pemasok barang yang diperlukan oleh perusahaan. 3. Prosedur order pembelian, fungsi pembelian mengirim surat order pembelian kepada pemasok yang dipilih dan memberitahukan kepada unit-unit organisasi lain dalam perusahaan mengenai order pembelian yang sudah dikeluarkan oleh perusahaan. 4. Prosedur penerimaan barang, dalam prosedur ini fungsi pengiriman barang melakukan pemeriksaan mengenai jenis, kuantitas dan mutu bahan yang diterima dari pemasok dan kemudian membuat penerimaan barang dari pemasok tersebut. 5. Prosedur pencatatan hutang, dalam prosedur ini fungsi akutansi memeriksa dokumen-dokumen yang berhubungan dengan 54 pembelian dan menyelenggarakan pencatatan hutang atau pengarsipan dokumen sumber sebagai catatan hutang. 6. Prosedur distribusi pembelian, prosedur ini meliputi distribusi rekening yang di debit dari transaksi pembelian untuk kepentingan pembuatan laporan manajemen. 2.2.1.2 Dokumen dalam Sistem Pembelian Beberapa dokumen yang digunakan dalam sistem pembelian, yaitu: a. Surat permintaan pembelian b. Surat permintaan penawaran harga c. Surat order pembelian d. Laporan penerimaan barang e. Surat perubahan order pembelian f. Bukti kas keluar 2.2.2 Persediaan Menurut Mulyadi (2001, p556), persediaan adalah bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan di gudang. Persediaan pada perusahaan dagang disebut persediaan barang dagangan atau kadangkadang disingkat persediaan, yang terdiri atas barang-barang yang disediakan untuk dijual kepada para konsumen selama periode normal kegiatan perusahaan. Beberapa istilah yang sering digunakan, yaitu: 1. Stock Card (Kartu Stok) Stock Card adalah catatan stok harian dimana masukan berupa jumlah barang dengan sistem pembelian merupakan penambahan 55 terhadap stok barang sedangkan dari sistem penualan merupakan pengurangan. Setiap hari catatan stok perlu diperbaharui, meski secara sistem dilakuakan kapan saja. Jadi bila terjadi transaksi, stock card perlu dibuat. 2. Stock Opname Stock Opname adalah pemeriksaan stock fisik yang tersedia (digudang) dan membandingkannya dengan stok yang tercantum(pada komputer). Biasanya dilakukan pada periode tertentu misalnya sebulan sekali, enam bulan sekali bahkan ada yang setahun sekali. Pemeriksaaan ini tergatung pada banyaknya jenis barang. 3. Adjusment Stock Setelah dilakukan stock opname bila ada barang yang rusak, hilang dan sebagainya, maka akan dilakukan penyesuaian terhadap stok fisik yang tercatat. 2.2.2.1 Jaringan prosedur yang membentuk sistem persediaan Menurut Mulyadi (2001, p559), beberapa prosedur yang berkaitan dengan sistem persediaan, yaitu: 1. Prosedur pencatatan produk jadi Prosedur ini merupakan salah satu prosedur dalam sistem akutansi biaya produksi. Dalam prosedur ini, dicatat harga pokok produk jadi yang di debitkan dalam rekening persediaan produk jadi dan dikreditkan kedalam rekening barang dalam proses. Catatan akutansi yang digunakan dalam prosedur pencatatan produk jadi adalah kartu gudang, kartu persediaan, jurnal umum. 56 2. Prosedur pencatatan harga produk jadi yang dijual Prosedur ini merupakan salah satu prosedur dalam sistem penjualan. Catatan akutansi yang digunakan dalam prosedur pencatatan harga produk jadi yang dijual adalah kartu gudang, kartu persediaan, dan jurnal umum. 3. Prosedur pencatatan harga pokok jadi yang diterima kembali dari pembeli Prosedur ini merupakan salah satu prosedur yang membentuk salah satu sistem retur penjualan. Jika produk jadi yang telah dijual dikembalikan oleh pembeli, maka transaksi retur penjualan ini akan mempengaruhi persediaan produk jadi, yaitu menambah kuantitas produk jadi dalam kartu gudang yang diselenggarakan oleh bagian gudang dan harga pokok jadi yang dicatat oleh bagian kartu persediaan produk jadi. Catatan akutansi yang digunakan dalam prosedur pencatatan harga pokok prosedur jadi yang diterima kembali dari pembeli adalah kartu gudang, kartu persediaan dan jurnal umum atau jurnal retur persediaan jika perusahaan menggunakan jurnal khusus. 4. Prosedur pencatatan tambahan dan penyesuaian kembali harga pokok persediaan produk dalam proses Pencatatan persediaan produk dalam proses biasanya dilakukan oleh perusahaan pada akhir periode, pada saat dibuat laporan keuangan bulanan dan laporan keuangan tahunan. 57 5. Prosedur pencatatan harga pokok persediaan yang dibeli Prosedur ini merupakan salah satu prosedur yang membentuk sistem pembelian. Dalam prosedur ini dicatat harga pokok persediaan yang dibeli. 6. Prosedur pencatatan harga pokok persediaan yang dikembalikan kepada pemasok Prosedur ini merupakan salah satu prosedur yang membentuk sistem retur pembelian. Jika persediaan yang telah dibeli dikembalikan kepada pemasok, maka transaksi retur pembelian ini akan mempengaruhi persediaan yang bersangkutan, yaitu mengurangi kuantitas persediaan dalam kartu gudang yang diselenggarakan oleh bagian gudang serta mengurangi kuantitas dan harga pokok persediaan dalam kartu penyediaan yang bersangkutan. 7. Prosedur permintaan dan pengeluaran barang di gudang Prosedur ini merupakan salah satu prosedur yang membentuk sistem akutansi biaya produksi. Pada prosedur ini di catat harga pokok persediaan bahan baku, bahan penolong, bahan habis pakai pabrik, dan suku cadang yang digunakan dalam kegiatan proses produksi dan kegiatan non produksi. 8. Prosedur pencatatan tambahan harga pokok persediaan karena pengembalian barang gudang Prosedur ini melakukan transaksi pengembalian barang gudang, mengurangi biaya, dan menambah persediaan barang 58 digudang. Jurnal yang dibuat untuk mecatat transaksi tersebut ada didalam jurnal umum. 9. Sistem perhitungan fisik persediaan Sistem perhitungan fisik persediaan umumnya digunakan oleh perusahaan untuk menghitung secara fisik persediaan yang disimpan digudang. Hasilnya digunakan untuk meminta pertanggung jawaban bagian gudang mengenai pelaksanaan fungsi penyimpanan dan pertanggung jawaban bagian kartu persediaan mengenai kendala catatan persediaan yang di selenggarakan, serta untuk melakukan penyesuaian terhadap catatan persediaan dibagian kartu persediaan. 2.2.2.2 Dokumentasi dalam sistem persediaan Beberapa dokumen yang digunakan dalam sistem persediaan, yaitu: a. Laporan produk selesai b. Bukti memorial c. Surat order pengiriman d. Faktur penjualan e. Laporan penerimaan barang f. Laporan pengiriman barang g. Bukti kas keluar h. Memo kredit i. Memo debit j. Bukti permintaan dan pengeluaran barang jadi k. Bukti pengembalian barang gudang 59 l. Kartu perhitungan fisik m. Daftar hasil perhitungan fisik 2.2.3 Penjualan Menurut Mulyadi (2001, p202), kegiatan penjualan terdiri dari penjualan barang dan jasa, baik secara kredit maupun tunai. Dalam transaksi penjualan kredit, jika order dari pelanggan telah terpenuhi dengan pengiriman barang atau penyerahan jasa untuk jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya. Dalam transaksi penjualan secara tunai, barang atau jasa baru diserahkan oleh perusahaan kepada pembeli, jika perusahaan telah menerima kas dari pembeli. 2.2.3.1 Jaringan prosedur yg membentuk Sistem Penjualan Menurut Mulyadi (2001, p219), prosedur yang membentuk sistem penjualan, yaitu: 1. Prosedur order penjualan, fungsi penjualan menerima order dari pembeli dan menambahkan informasi penting pada surat order. 2. Prosedur penagihan, fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada pembeli. 3. Prosedur distribusi penjualan, fungsi akutansi mendistribusikan data penjualan menurut informasi yang diperlukan oleh manajemen. 4. Prosedur pencatatan piutang, fungsi akutansi mencatat tembusan faktur penjualan kedalam kartu piutang atau dalam metode 60 pencatatan tertentu mengarsipkan dokumen tembusan menurut abjad yang berfungsi sebagai catatan piutang. 5. Prosedur persetujuan kredit, fungsi penjualan yang meminta persetujuan penjualan kredit dari fungsi kredit di perusahaan. 6. Prosedur harga pokok penjualan, fungsi pencatatan secara periodik total harga produk yang dijual dalam periode tertentu. 2.2.3.2 Dokumentasi dalam Sistem Penjualan Dokumen yang digunakan dalam sistem penjualan, yaitu: a. Surat order pengiriman dan tembusannya. b. Faktur dan tembusannya. c. Rekapitulasi harga pokok penjualan. d. Bukti memorial. 2.2.4 SQL (Structured Query Language) Menurut Connolly dan Begg (2005, p113), SQL merupakan bahasa yang dirancang untuk menggunakan relasi dan mengubah masukan menjadi keluaran yang diharapkan (a language designed to used relations to tranforms inputs into required outputs). Menurut O’Brien (2003, p148), SQL adalah bahasa query yang ditemukan di berbagai paket manajemen database (a query language found in many database management packages). SQL dimaksudkan untuk memenuhi keperluan berikut: • Membuat database dan struktur relasi 61 • Melakukan tugas dasar manajemen data, seperti pemasukan, modifikasi dan penghapusan data dari relasi • Melakukan query sederhana dan kompleks Standar SQL memiliki dua buah komponen: • Data definition language (DDL) untuk menetapkan struktur database dan mengontrol akses ke data • Data manipulation language (DML) untuk mendapatkan kembali ( retrieve) dan memperbaharui data. 2.2.5 CSS (Cascading Style Sheets) CSS yang mempunyai singkatan Cascading Style Sheets, adalah sebuah bahasa pemograman untuk mendeskripsikan ukuran dari isi elemen - elemen di sebuah struktur dokumen seperti HTML. Tetapi CSS dapat juga digunakan untuk membuat dokumen XML atau SVG. (Casciano, Chris, 2011, p2). 2.2.6 PHP (Hypertext Preprocessor) Menurut Welling (2001, p2), PHP adalah sebuah scripting pada lingkungan server yang dirancang khusus untuk web. Kode PHP dapat disatukan dalam page yang berisikan –ag-tag HTML dan akan dieksekusi setiap halaman tersebut diakses. Kode-kode PHP yang telah dibuat akan diinterpretasikan oleh web server yang kemudian menghasilkan tag-tag HTML atau output lainnya yang akan dibaca oleh user. 62 Sebuah website yang terbuat dari susunan tag-tag HTML bersifat statis. Dengan adanya PHP ini dapat dirancang suatu website yang bersifat dinamis bahkan dapat bersifat interaktif. Beberapa keunggulan PHP dibandungkan dengan beberapa bahasa scripting lainnya adalah sebagai berikut : • PHP mendukung banyak sistem basis data, seperti MySQL, PostgreSQL, Oracle, Informix, Interbase dan lain-lain. • PHP bersifat cross platform, artinya dapat dipakai di hampir semua web server seperti Apache, AOL Server, dan Microsoft Internet Information Service. Selama itu, PHP juga dapat dijalankan diberbagai sistem operasi, seperti LINUX, UNIX, maupun diberbagai versi Microsoft Windows. • PHP adalah program yang bersifat open source sehingga siapapun dapat mengubah maupun menambahkan fungsi-fungsi baru secara bebas. Oleh karena itu. PHP memiliki siklus hidup yang singkat (selalu up to date) mengikuti perkembangan teknologi internet