BAB 2 TINJAUAN PUSTAKA 2.1 Teori yang Berkaitan dengan Basis Data. Teori - teori berikut ini merupakan teori - teori umum yang digunakan dalam penyusunan skripsi. 2.1.1 Data Data adalah fakta atau informasi yang digunakan untuk suatu kepentingan, dapat berupa angka - angka, gambar, huruf, simbol - simbol khusus, atau gabungan dari keempatnya. Menurut Thomas Conolly dan Carolyn Begg (2010, p70), data adalah komponen yang terpenting dari DBMS environment dari sudut end-user. Data bertindak sebagai jembatan penghubung antara komponen mesin dan manusia. 2.1.2 Basis Data Basis data adalah sebuah tempat penyimpanan yang memiliki kapasitas penyimpanan yang besar dimana terdapat kumpulan data yang tidak hanya berisi data operasional tetapi juga deskripsi data yang dapat digunakan secara bersamaan oleh banyak departemen dan pengguna. Seperti yang dinyatakan oleh Thomas Conolly dan Carolyn Begg (2010, p65), basis data merupakan sekumpulan dari data logika yang saling berhubungan dan gambaran dari data tersebut, dirancang untuk memenuhi kebutuhan informasi sebuah organisasi. Tujuan utama dari konsep basis data adalah meminimalkan pengulangan data dan tercapainya independensi data. Banyaknya pengulangan data dapat mengurangi efesiensi, sehingga perlu dilakukan normalisasi untuk mencegah hal tersebut. Teknologi basis data memperbolehkan sekumpulan data dengan berbagai tipe (teks, angka, gambar, suara, dan lain-lain) disimpan dalam komputer dan digunakan secara efisien tanpa adanya duplikasi oleh aplikasi yang berhubungan. 7 8 2.1.3 Sistem Basis Data Sistem basis data adalah suatu sistem yang menyusun dan mengelola record-record menggunakan komputer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan sehingga memungkinkan beberapa user (pemakai) dan / atau program lain untuk mengakses dan memanipulasi file (table) tersebut untuk menyediakan informasi yang optimal yang diperlukan user (pemakai) dalam proses mengambil keputusan. 2.1.4 Microsoft SQL Server SQL merupakan singkatan dari Structured Query Language. Query Language terdiri dari DML (Data Manipulation Language) dan DDL (Data Definition Language). Tujuan dari Query Language adalah untuk melakukan manipulasi data dengan menggunakan perintah-perintah yang telah disediakan. Oleh karena itu, sebenarnya dalam Query Language perintah-perintah DML (Data Manipulation Language) lebih memegang peran penting dari pada DDL (Data Definition Language). Namun tidak berarti DDL (Data Definition Language) tidak penting dibandingkan DML (Data Manipulation Language). Sebagai sebuah bahasa, SQL telah distandardisasi dan mengalami beberapa perubahan atau penyempurnaan. SQL muncul pertama kali pada tahun 1970 dengan nama SEQUEL (Connolly , 2010, p185). Standardisasi yang pertama dibuat pada tahun 1986 oleh ANSI (American National Standards Institute) dan ISO (International Standard Organization), yang disebut SQL-86. Pada tahun 1989 SQL-86 diperbaharui menjadi SQL-89. Standar terakhir yang dibuat adalah pada tahun 2008 yaitu SQL:2008 (Connolly , 2010, p186). Microsoft SQL Server ialah salah satu produk Relational Database Management System (RDBMS) populer saat ini. Fungsi utamanya ialah sebagai server dari sebuah database yang mengatur semua proses penyimpanan data dan transaksi suatu aplikasi. Salah satu kelebihan Microsoft SQL Server adalah database dapat diakses secara bersamaan oleh lebih dari satu user. Hal ini di karena Microsoft SQL Server memiliki sistem locking yang sangat baik. 9 2.1.5 Arsitektur Database Menurut Thomas Connolly dan Carolyn Begg (2010, p86), terdapat tiga level arsitektur database yaitu: 1. External Level External level merupakan pandangan pengguna terhadap database. Level ini menjelaskan tentang bagian dari database yang relevan untuk setiap pengguna. External view ini terdiri dari entity, atribut, dan hubungan-hubungan yang ada pada dunia nyata yang diminati oleh pengguna. 2. Conceptual Level Conceptual level merupakan level yang menjelaskan tentang data yang disimpan dalam database dan hubungan-hubungan antar data tersebut. Level ini meliputi: • Seluruh entity, atribut, dan hubungannya. • Informasi semantik tentang data. • Keamanan dan informasi yang terintegritas. 3. Internal Level Internal level merupakan gambaran fisik dari database pada komputer. Level ini menjelaskan tentang bagaimana data disimpan di dalam database. Level ini menyangkut beberapa hal yaitu: - Alokasi ruang penyimpanan untuk data dan indeks. - Deskripsi record untuk penyimpanan (dengan ukuran yang disimpan untuk data item). - Penempatan record. - Kompresi data dan teknik enkripsi data. 2.1.6 DBMS (Database Management System) 2.1.6.1 Definisi DBMS (Database Management System) Menurut Thomas Connolly dan Carolyn Begg (2010, p66), pengertian DBMS (Database Management System) adalah sistem perangkat lunak yang memungkinkan pengguna untuk 10 mendefinisikan, membuat, memelihara, dan mengontrol akses database. Fasilitas-fasilitas dari DBMS yaitu: • DDL (Data Definition Language). DDL memperbolehkan pengguna untuk menentukan tipe data , struktur, dan kendala dari data yang akan disimpan di database. • DML (Data Manipulation Language). DML memperbolehkan pengguna untuk melakukan insert, update, delete, dan mengambil data dari database. • Menyediakan kontrol akses ke database. Sebagai contoh, sebuah sistem keamanan yang mencegah pengguna yang tidak bertanggung jawab mengakses database. Dengan semua fasilitas ini, DBMS menjadi sistem yang powerful dan berguna. DBMS juga menyediakan fasilitas lainnya yaitu view mechanism, yang memperbolehkan setiap pengguna untuk memiliki masing-masing view ke database. Selain mengurangi kompleksitas dengan memberikan data yang ingin dilihat oleh pengguna, view juga mempunyai keuntungan lain yaitu: • View menyediakan level keamanan. View bisa diatur supaya beberapa pengguna tidak dapat melihat data tertentu. • View menyediakan sebuah mekanisme untuk menyesuaikan tampilan database. • View bisa mempresentasikan sebuah konsisten, gambaran yang tidak dapat diubah dari struktur database. 2.1.6.2 Komponen DBMS (Database Management System) Menurut Thomas Connolly dan Carolyn Begg (2010, p68), terdapat lima komponen penting di dalam lingkungan DBMS yaitu: 1. Hardware (Perangkat keras) Untuk menjalankan DBMS dan aplikasi-aplikasi, maka membutuhkan perangkat keras. Perangkat keras meliputi dari PC, single mainframe, dan jaringan komputer. 11 2. Software (Perangkat lunak) Komponen perangkat lunak meliputi perangkat lunak DBMS sendiri, program-program aplikasi, sistem operasi, dan sistem jaringan jika DBMS dioperasikan menggunakan jaringan. 3. Data Data merupakan komponen yang paling penting dari lingkungan DBMS dari sudut end-user. Data juga berperan sebagai penghubung antara komponen mesin (perangkat keras dan perangkat lunak) dan komponen manusia. 4. Procedure Procedure merupakan instruksi-instruksi dan aturan yang mengatur perancangan dan penggunaan database. Pengguna sistem dan staff yang mengelola database membutuhkan prosedur-prosedur yang didokumentasikan mengenai bagaimana cara menggunakan atau menjalankan sistem tersebut. Ada beberapa instruksi dalam penggunaannya yaitu: • Log on ke DBMS. • Menggunakan sebagian fasilitas DBMS atau program aplikasi. • Start dan stop DBMS. • Membuat salinan backup database. • Menangani kegagalan perangkat keras atau perangkat lunak. Contohnya: Bagaimana mengidentifikasi komponen yang failed, bagaimana memperbaiki komponen yang failed, memperbaiki kesalahan, dan bagaimana cara merecover database. • Mengubah struktur tabel, mengatur ulang database di beberapa disk, meningkatkan performa, atau mengarsipkan data ke penyimpanan sekunder. 5. People Terdapat beberapa tipe orang yang berpartisipasi di dalam lingkungan DBMS yaitu : 12 - Data Administrator dan Database Administrator Data Administrator adalah orang yang bertanggung jawab untuk pengelolaan sumber data, termasuk perencanaan database; pengembangan dan pemeliharaan standar, kebijaksanaan, dan prosedur-prosedur; dan perancangan konseptual/logikal database. Database Administrator adalah orang yang bertanggung jawab untuk hubungan secara fisikal dari database, termasuk perancangan fisikal database dan implementasi, keamanan dan kontrol integritas, pemeliharaan sistem operasi, serta memastikan kepuasan pengguna terhadap performa aplikasi tersebut. - Database designers Terdapat 2 tipe designer yaitu logical database designer dan physical database designer. A. Logical database designer Logical database designer adalah orang yang berkaitan dengan identifikasi data (entity dan atribut), hubungan antar data, dan kendala-kendala pada data yang disimpan dalam database. B. Physical database designer Physical database designer adalah orang yang menentukan bagaimana perancangan logikal database direalisasikan ke dalam bentuk fisikal. Contohnya: - Pemetaan perancangan logikal database menjadi suatu kumpulan tabel dan batasan-batasan integritas. - Memilih struktur penyimpanan yang spesifik dan metode akses untuk data untuk mencapai performa yang baik. - Merancang segala langkah-langkah keamanan yang dibutuhkan oleh data. 13 - End User End user merupakan orang yang nantinya akan menggunakan aplikasi yang berhubugan dengan sistem basis data yang telah dibuat sebelumnya. Kepuasan end user akan menjadi sebuah ukuran keberhasilan dari sistem basis data yang telah dibuat, karena sistem basis data dibuat untuk memudahkan end user melakukan pekerjaan secara efektif dan efisien. 2.1.6.3 Fungsi DBMS (Database Management System) Menurut Thomas Connolly dan Carolyn Begg (2010, p99), DBMS memiliki sepuluh fungsi yaitu: 1. Data storage, retrieval, dan update DBMS harus memungkinkan pengguna agar mampu untuk menyimpan, mengambil, dan memperbaharui data di dalam database. 2. A user-accessible catalog DBMS harus memiliki katalog yang berisikan deskripsi item data yang disimpan dan dapat diakses oleh pengguna. 3. Transaction support DBMS harus memiliki sebuah mekanisme yang dapat menjamin dengan baik seluruh perubahan yang berhubungan dengan sebuah transaksi dapat dilakukan atau tidak dapat dilakukan. 4. Concurrency control services DBMS harus memiliki sebuah mekanisme untuk menjamin bahwa database diupdate dengan benar ketika banyak pengguna mengupdate database secara bersamaan. 5. Recovery services DBMS harus memiliki sebuah mekanisme untuk pemulihan database pada saat terjadi kerusakan dengan cara apapun. 14 6. Authorization services DBMS harus memiliki sebuah mekanisme untuk menjamin bahwa hanya pengguna yang memiliki otorisasi yang dapat mengakses database. 7. Support for data communication DBMS harus dapat terintegritas dengan perangkat lunak komunikasi dan mendapat akses database dari lokasi yang jauh. 8. Integrity services DBMS harus memiliki sarana yang menjamin data didalam database maupun perubahan terhadap data tersebut dan mengikuti aturan-aturan tertentu 9. Services to promote data independence. DBMS harus berisikan fasilitas-fasilitas untuk mendukung ketidaktergantungan program dari struktur aktual database. 10. Utility services DBMS harus menyediakan perlengkapan layanan seperti program analisis statistik, pengawasan fasilitas, fasilitas reorganisasi indeks, dan lain-lain. 2.1.6.4 Keuntungan dan Kerugian DBMS Menurut Thomas Connolly dan Carolyn Begg (2010, p77), ada beberapa keuntungan dan kerugian dalam penggunaan DBMS. Keuntungannya adalah sebagai berikut: 1. Adanya kontrol terhadap redundansi data 2. Konsistensi data 3. Mendapatkan informasi lebih untuk sejumlah data yang sama 4. Adanya pembagian data 5. Meningkatkan integritas data 6. Meningkatkan keamanan 7. Meningkatkan standar 8. Skala ekonomi 9. Menyeimbangkan kebutuhan-kebutuhan yang bertabrakan 15 10. Meningkatkan pengaksesan dan respon data 11. Meningkatkan produktivitas 12. Meningkatkan pemeliharaan melalui data independence 13. Meningkatkan konkurensi 14. Meningkatkan layanan backup dan recovery Kerugiannya adalah sebagai berikut: 1. Kompleksitas 2. Ukuran 3. Biaya DBMS 4. Biaya tambahan perangkat keras 5. Biaya proses konversi 6. Performa 7. Pengaruh kegagalan yang besar 2.1.7 The Database System Development Lifecycle Menurut Thomas Connolly dan Carolyn Begg (2010, p313), sebuah sistem database merupakan komponen dasar sistem informasi organisasi yang lebih besar sehingga siklus hidup pengembangan sistem database berhubungan dengan siklus hidup sistem informasi. Berikut adalah tahapan-tahapan siklus hidup pengembangan sistem database: 16 Gambar 2.1 Siklus Hidup Pengembangan Sistem Database 2.1.7.1 Database Planning Database planning (perencanaan basis data) adalah merencanakan bagaimana tahapan dari siklus hidup direalisasikan secara efektif dan efisien. Ada tiga tahapan perencanaan database yaitu: a. Mengidentifikasi rencana dan tujuan pembuatan aplikasi database untuk menetapkan kebutuhan sistem informasi. b. Mengevaluasi sistem yang sudah ada untuk menentukan kelebihan dan kekurangannya. c. Menilai kesempatan teknologi informasi untuk menghasilkan keuntungan. 2.1.7.2 System Definition System definition (definisi sistem) adalah menggambarkan lingkup dan batasan-batasan dari aplikasi database dan user view yang utama. Sebelum mencoba merancang suatu aplikasi database, diperlukan untuk mengenali batasan sistem dan bagaimana antarmuka dengan bagian sistem informasi lainnya dalam organisasi. Hal penting yang harus diperhatikan adalah batasan pemakai dalam aplikasi mendatang. Mengidentifikasikan user view sangat penting dalam mengembangkan aplikasi database agar dapat memastikan tidak ada pengguna utama yang terlupakan ketika mengembangkan keperluan untuk aplikasi baru. 2.1.7.3 Requirements Collection and Analysis Requirements collection and analysis (pengumpulan kebutuhan dan analisis) adalah proses dari analisis dan pengumpulan informasi tentang bagian organisasi yang didukung oleh sistem aplikasi database dan menggunakan informasi ini untuk mengenali kebutuhan-kebutuhan untuk sistem baru. 17 2.1.7.4 Database Design Database design (perancangan basis data) adalah sebuah proses dalam menciptakan perancangan untuk database yang akan mendukung operasi dan tujuan perusahaan. Ada 4 pendekatan dalam perancangan database yaitu: 1. Top-down Diawali dengan pembentukan model data yang berisi beberapa entity high-level dan relasi yang kemudian menggunakan pendekatan top-down secara berturut-turut untuk mengidentifikasi entity lower level, relasi, dan atribut lainnya. 2. Bottom-up Dimulai dari atribut dasar yaitu sifat-sifat entity dan relasi dengan analisis dari penggabungan antar atribut, yang dikelompokkan ke dalam suatu relasi yang merepresentasikan tipe dari entity dan relasi antar entity. 3. Inside-out Berhubungan dengan pendekatan bottom-up tetapi sedikit berbeda dengan identifikasi awal entity utama yang kemudian menyebar ke entity, relasi, dan atribut terkait lainnya yang lebih dulu diidentifikasi. Karena itu cara pendekatan ini merupakan salah satu cara yang tepat jika identifikasi awal merupakan entity utama yang akan dibuat menjadi entity khusus. 4. Mixed Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum pada akhirnya digabungkan. Proses perancangan database terdiri dari 3 tahapan yaitu: 1. Conceptual database design Proses pembuatan model informasi yang digunakan agar tidak tergantung pada semua masalah fisik. Secara garis besar perancangan ini terdiri dari tiga langkah sebagai berikut: a. Penentuan entity pada database. b. Pendefinisian hubungan/relasi antar entity. c. Penerjemahan hubungan ke dalam entity. 18 2. Logical database design Proses tahapan model informasi yang digunakan berdasarkan model khusus, dan menggambarkan proses yang terjadi dalam basis data secara rinci. Proses yang digambarkan akan dijelaskan secara berurutan dan menjelaskan atribut yang ada di dalam basis data. 3. Physical database design Proses pengukuran performa basis data yang akan dibuat. Dengan mempertimbangkan spesifikasi penyimpanan sekunder yang akan digunakan. Kecepatan transfer data juga akan menjadi tolok ukur, karena kecepatan transfer data akan mempengaruhi performa maupun kinerja sebuah sistem basis data secara efektif dan efisien. 2.1.7.5 DBMS Selection (optional) DBMS selection (pemilihan DBMS) adalah memilih DBMS yang sesuai untuk mendukung aplikasi database. Pemilihan DBMS tepatnya dari bagian lifecycle adalah pemilihan DBMS yang dilakukan antara tahapan logical database design dan conceptual database design. Tujuan dari pemilihan DBMS adalah untuk mencukupi kebutuhan sekarang dan masa mendatang pada perusahaan, menyeimbangkan biaya seperti pembelian produk DBMS; perangkat lunak/perangkat keras lainnya untuk mendukung aplikasi database; serta biaya yang berhubungan dengan perubahan dan pelatihan pegawai. Pendekatan sederhana dalam pemilihan DBMS adalah memeriksa keistimewaan DBMS dalam memenuhi kebutuhan. Dalam memilih sebuah produk DBMS baru, ada kesempatan untuk memastikan bahwa proses pemilihan sudah direncanakan dan hasil yang diberikan sistem benar-benar bermanfaat bagi perusahaan. 19 2.1.7.6 Application Design Pada tahap ini dilakukan perancangan antarmuka bagi pengguna dan program aplikasi yang menggunakan dan memproses database. Perancangan database dan perancangan aplikasi adalah aktivitas bersamaan pada siklus hidup pengembangan sistem database. Dalam kasus sebenarnya, adalah tidak mungkin untuk menyelesaikan perancangan aplikasi sebelum perancangan database selesai. Dalam perancangan aplikasi harus memastikan semua pernyataan fungsional dari spesifikasi kebutuhan pengguna yang menyangkut perancangan aplikasi program yang mengakses database dan merancang transaksi yaitu cara akses ke database dan perubahan terhadap isi database (retrieve, update, dan mixed). - Retrieval: Mendapatkan data untuk tampilan di layar. - Update: insert, delete, dan update record pada database. - Mixed: Gabungan dari retrieval dan update. Artinya bagaimana fungsi yang dibutuhkan bisa terpenuhi dan merancang antarmuka pengguna (user interface). Antarmuka yang dirancang harus memberikan informasi yang dibutuhkan dengan cara untuk menciptakan user-friendly. Rancangan antarmuka pengguna yang dalam pembuatannya tidak diperhatikan secara rinci dapat menimbulkan masalah. Oleh karena itu, antarmuka harus diakui sebagai komponen dari sistem yang penting. Hal ini bertujuan agar aplikasi mudah dipelajari, mudah digunakan, sehingga penggunapun akan cenderung untuk memberdayagunakan informasi yang disajikan. 2.1.7.7 Prototyping (optional) Pada tahap ini dilakukan pembangunan prototype dari sistem database. Hasil dari prototype ini memungkinkan perancang atau pengguna untuk memvisualisasikan dan mengevaluasi bagaimana bentuk fungsionalitas sistem akhir. 20 2.1.7.8 Implementation Pada tahap ini dilakukan pembuatan definisi database secara eksternal, konseptual, internal, dan program aplikasi. Implementasi merupakan realisasi dari database dan perancangan aplikasi. Implementasi pada database dilakukan dengan menggunakan DDL (Data Definition Language) dari DBMS yang dipilih atau dengan menggunakan GUI (Graphical User Interface). DDL digunakan untuk membuat struktur database dan file database yang kosong. Selain itu, pada tahapan ini semua spesifikasi pandangan dari pengguna juga diimplementasikan. • Data Definition Language (DDL) Data Definition Language (DDL) adalah satu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema basis data. Hasil kompilasi dari DDL adalah satu set tabel yang disimpan dalam file khusus yang disebut Data Directory/Dictionary. Secara umum perintah dalam DDL berhubungan dengan operasi-operasi dasar seperti membuat basis data baru, menghapus basis data, membuat tabel baru, menghapus tabel, membuat indeks, mengubah struktur tabel. Contoh perintah DDL misalnya, Create Table, Create Index, Alter, dan Drop Database. • Data Manipulation Language Data Manipulation Language (DML) adalah satu paket DBMS yang memperbolehkan pemakai untuk mengakses atau memanipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat. Berikut merupakan beberapa contoh dari Data Manipulation Languange : • Select Select merupakan salah satu perintah yang sering digunakan di dalam manipulasi basis data. Dalam implementasinya, select bertujuan untuk memunculkan maupun melihat data yang ada di dalam basis data tersebut. Biasanya perintah select akan berfungsi untuk memeriksa apakah data yang dimaksud ada di dalam basis data. 21 • Update Update merupakan perintah yang ada di dalam DBMS yang sering digunakan untuk mengubah isi data yang ada di dalam basis data. Dalam implementasinya, perintah update biasanya digunakan jika ada kesalahan atribut yang ada di dalam basis data. • Insert Insert merupakan perintah yang ada di dalam DBMS yang digunakan untuk memasukkan data baru ke dalam sistem basis data yang telah ada. Dalam implementasinya, perintah insert biasanya digunakan jika ada stok barang baru yang belum pernah ada di dalam basis data. • Delete Delete merupakan perintah yang ada di dalam DBMS yang digunakan untuk menghapus data yang telah ada sebelumnya di sistem basis data. Dalam implementasinya, perintah delete biasanya digunakan jika ada stok produk yang sudah tidak diproduksi lagi. 2.1.7.9 Data Conversion and Loading Pada tahap ini dilakukan transfer data yang telah ada ke dalam database yang baru dan mengkonversi semua aplikasi yang ada untuk dijalankan pada database yang baru, tahap ini hanya dibutuhkan ketika sistem database yang baru menggantikan sistem database yang lama. Pada masa sekarang, umumnya DBMS memiliki kegunaan untuk memasukkan file ke dalam database yang baru dengan tujuan untuk memungkinkan pengembang untuk mengkonversi dan menggunakan aplikasi program lama untuk digunakan oleh sistem baru. 2.1.7.10 Testing Pada tahap ini dilakukan proses menjalankan program aplikasi yang bertujuan untuk mencari kesalahan-kesalahan. Sebelum 22 digunakan, aplikasi database yang baru dikembangkan harus diuji secara menyeluruh. Pengguna suatu sistem yang baru seharusnya dilibatkan dalam proses pengujian. Situasi yang ideal untuk pengujian suatu sistem adalah dengan menguji database pada sistem perangkat keras yang berbeda. Walaupun pada kenyataannya, pengujian database pada sistem perangkat keras yang berbeda jarang dilakukan. Dalam melakukan pengujian, sebaiknya dilakukan backup data terlebih dahulu pada data yang akan diuji. Hal ini sebagai langkah antisipasi kerusakan atau kehilangan data, apabila terjadi kerusakan pada data saat diuji. Jika pengujian pada sistem aplikasi telah selesai dilakukan dan tidak lagi ditemukan kesalahan, maka sistem aplikasi telah siap untuk digunakan dan diserahkan ke pengguna. 2.1.7.11 Operational Maintenance Operational Maintenance (pemeliharaan operasional) adalah proses memonitor dan memelihara sistem yang telah di-install. Pada tahap ini, implementasi database dilakukan sepenuhnya. Sistem diawali dan dipelihara secara berkelanjutan. Jika diperlukan, kebutuhan-kebutuhan baru dimasukkan dalam aplikasi database melalui tahapan database terlebih dahulu. 2.1.8 Data Flow Diagram (Diagram Alir Data) Menurut Edward Yourdon (1989, p139), diagram alir data adalah model atau alat yang dibutuhkan untuk menggambarkan sistem sebagai jaringan dari sekumpulan proses fungsional, yang dihubungkan satu dengan yang lainnya oleh suatu aliran data dan meneruskannya menjadi data. Ada tiga tingkatan dalam diagram aliran data, yaitu: 1. Diagram Konteks Merupakan tingkatan yang paling pertama, yang menggambarkan ruang lingkup sistem dari sistem yang digunakan. Diagram ini hanya memiliki satu proses yang menggambarkan sistem secara keseluruhan dan hubungan antara sistem dengan unit-unit di luar sistem tersebut. 23 2. Diagram Nol Diagram yang menggambarkan proses-proses dan aliran data yang terjadi di dalam suatu sistem. Proses-proses ini dapat dipecah menjadi proses-proses dan aliran data yang terperinci. 3. Diagram Rinci Diagram yang menggambarkan rincian proses-proses yang ada pada diagram nol dan rincian proses-proses ini dapat dipecah lagi menjadi proses-proses yang lebih terperinci. Menurut Edward Yourdon (1989, p141-152), diagram aliran data terdiri dari simbol-simbol sebagai berikut: • Proses (Bubble atau function atau transformation) Proses yang menggambarkan bagian dari sistem yang mengelola masukan menjadi keluaran. Proses digambarkan dengan sebuah lingkaran. Gambar 2.2 Simbol Proses dalam DFD • Aliran (flow) Aliran yang menggambarkan perpindahan informasi dari satu bagian ke bagian lain dari sistem. Awal panah menggambarkan asal data sedangkan arah panah menggambarkan tujuan. Gambar 2.3 Simbol Aliran Data dalam DFD • Data Store Simbol ini digunakan untuk menggambarkan penyimpanan data. Gambar 2.4 Simbol Data Store dalam DFD 24 • Terminator Merupakan simbol yang menggambarkan entity yang dapat berupa orang kelompok, atau organisasi yang berhubungan dengan sistem. Gambar 2.5 Simbol Terminator dalam DFD 2.1.9 Entity Relationship Modeling Menurut Thomas Connolly dan Carolyn Begg (2010, p371), salah satu aspek yang sulit dalam perancangan database adalah menentukan sebuah entity. 2.1.9.1 Entity Type (Tipe Entity) Menurut Thomas Connolly dan Carolyn Begg (2010, p372), entity type adalah sekumpulan obyek dengan properti yang sama, yang diidentifikasi oleh perusahaan yang memiliki keberadaan yang tidak bergantung dengan yang lainnya. 2.1.9.2 Relationship Type (Tipe Hubungan) Menurut Thomas Connolly dan Carolyn Begg (2010, p374), relationship type adalah sekumpulan asosiasi antara satu atau lebih entity type yang berpartisipasi. Setiap relationship type diberi nama yang menjelaskan fungsinya. Gambar 2.6 Relationship Type 25 Degree of relationship adalah banyaknya entity type yang berpartisipasi di dalam relationship. Recursive relationship adalah relationship type dimana entity type yang sama berpartisipasi lebih dari satu different role. 2.1.9.3 Attribute (Atribut) Menurut Thomas Connolly dan Carolyn Begg (2010, p379-382), ada beberapa macam atribut-atribut yaitu: • Attribute adalah properti dari sebuah entity atau relationship type. • Attribute Domain adalah sekumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. • Simple Attribute adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang bebas. • Composite Attribute adalah atribut yang terdiri dari beberapa komponen dengan keberadaan yang bebas. Dalam hal ini beberapa atribut dapat dipisahkan menjadi beberapa komponen yang lebih kecil lagi dengan keberadaan yang bebas. • Single Value Attribute adalah atribut yang memiliki nilai tunggal untuk masing-masing kejadian dari entity. • Multi Value Attribute adalah atribut yang memiliki banyak nilai untuk masing-masing kejadian dari entity. • Derived Atrribute adalah atribut menggantikan sebuah nilai yang diturunkan dari nilai sebuah atribut yang berhubungan, tidak perlu pada jenis entity yang sama. 2.1.9.4 Key (Kunci) • Candidate Key adalah satu atau lebih atribut yang ada di dalam field dan bersifat unik, sehingga menjadi identifier pada suatu relasi antar field dalam basis data. • Primary Key adalah candidate key yang diidentifikasi secara unik pada setiap field dalam basis data yang hanya ada satu dan itu bersifat unik pada setiap field. 26 • Foreign Key adalah suatu atribut dalam sebuah table yang melengkapi satu relationship yang menunjuk pada induknya. • Composite Key adalah candidate key yang ada di dalam field • Alternate Key adalah candidate key yang tidak terpakai sebagai primary key pada suatu basis data. 2.1.9.5 Strong and Weak Entity Type • Strong entity type adalah setiap kejadian yang unik mampu diidentifikasikan menggunakan atribut primary key pada entity. • Weak entity type adalah tipe entity yang keberadaannya bergantung pada tipe entity lainnya. Karakteristik dari entity yang lemah adalah setiap kejadian entity tidak bisa diidentifikasikan secara unik hanya dengan menggunakan atribut yang bergantung pada entitynya. Gambar 2.7 Contoh Strong dan Weak Entity 2.1.9.6 Structural Constraints Menurut Thomas Connolly dan Carolyn Begg (2010, p385), tipe utama dari constraint di dalam relationship disebut multiplicity. Multiplicity adalah jumlah occurrence yang mungkin dari sebuah tipe entity yang berhubungan dengan sebuah occurrence dari tipe entity lain yang terasosiasi melalui hubungan tertentu. • One-to-One (1:1) Relationship terjadi apabila setiap himpunan entity A hanya boleh berhubungan dengan satu himpunan entity B. 27 • One-to-Many (1:*) Relationship terjadi apabila setiap himpunan entity A boleh berhubungan lebih dari satu himpunan entity B. Sebaliknya setiap himpunan dari entity B hanya boleh berhubungan dengan satu himpunan entity A. • Many-to-Many (*:*) Relationship terjadi apabila setiap himpunan entity A berhubungan lebih dari satu himpunan entity B, sebaliknya setiap himpunan dari entity B juga boleh berhubungan lebih dari satu himpunan entity A. 2.1.10 Normalisasi Menurut indrajani (2011) Normalisasi adalah suatu teknik formal yang dapat digunakan dalam perancangan basis data.Tujuan utamanya adalah mengidentifikasi kesesuaian hubungan yang mendukung data untuk memenuhi kebutuhan perusahaan. Normalisasi menurut Thomas Connolly dan Carolyn Begg (2010, p415), adalah sebuah teknik untuk memproduksi sejumlah relasi dengan kebutuhan yang diinginkan, untuk memberi kebutuhan data dari suatu organisasi. Proses Normalisasi menurut Thomas Connolly dan Carolyn Begg (2010, p430), terdapat beberapa bentuk yaitu: 1. Unnormalized Form (UNF) Sebuah tabel yang berisi satu atau lebih kelompok pengulangan (repeating groups). Pada tabel UNF ini dibuat dengan mentransformasi data dari sumber informasi ke dalam tabel berbentuk baris dan kolom. 2. Bentuk Normal Pertama (1NF) Sebuah relasi di mana persimpangan setiap baris dan kolom berisi satu dan hanya satu nilai. Pada tabel 1NF ini dibuat dengan menghilangkan repetisi dan data yang merupakan hasil kalkulasi serta menentukan atribut yang menjadi primary key. 3. Bentuk Normal Kedua (2NF) Bentuk 2NF didefinisikan berdasarkan ketergantungan fungsional yang penuh (Full Functional Dependency). 2NF merupakan sebuah relasi antara bentuk normal pertama dan setiap atribut yang bukan primary key atau secara fungsional tergantung primary key. Dengan 28 kata lain, tabel 2NF ini dibuat dengan menghilangkan ketergantungan partial. 4. Bentuk Normal Ketiga (3NF) Bentuk 3NF didefinisikan berdasarkan ketergantungan transitif (Transitive Dependency). 3NF merupakan sebuah relasi antara bentuk normal pertama dan bentuk normal kedua, dimana tidak ada atribut yang bukan primary key atau secara transitif bergantung pada primary key. Gambar 2.8 Ilustrasi dari Hubungan antara Bentuk Normal 2.1.11 Metodologi Perancangan Basisdata Menurut Thomas Connolly dan Carolyn Begg (2010, p466), metodologi perancangan basisdata merpakan pendekatan terstruktur yang menggunakan prosedur, teknik, tools dan dokumentasi untuk mendukung dan memfasilitasi proses design. Perancangan basisdata terbagi 3 tahap yaitu: 1. Perancangan Konseptual/ Conseptual Database Design. 2. Perancangan Logikal/ Logical Database Design. 3. Perancangan Fisikal/ Physical Database Design. 2.1.11.1 Perancangan Konseptual/ Conseptual Database Design Menurut Connolly ( 2010, p 467), perancangan konseptual adalah proses untuk membangun sebuah data model yang digunakan dalam perusahaan, independent dari semua pertimbangan phisikal. Perancangan konseptual model dibutuhkan untuk mengetahui 29 kebutuhan yang dibutuhkan oleh perusahaan. Konseptual model terdiri atas : - Entity type. - Tipe relasi. - Atribut dan Atribut domain. - Primary keys dan alternate keys. - Batasan Integrity. Untuk membuat konseptual design, maka langkah – langkah yang diperlukan adalah : Langkah 1: Identifikasi Entity Type Bertujuan untuk menentukan entity type utama yang dibutuhkan dengan cara memeriksa user requirement specification. Setelah terdefinisi, entity tersebut diberikan nama yang tepat dan jelas seperti mahasiswa, dosen, mata_kuliah. Langkah 2: Identifikasi Tipe Hubungan ( Relasi ) Bertujuan untuk mengidentifikasi suatu relasi yang penting yang ada antar entity yang telah teridentifikasi. Nama dari suatu relasi menggunakan kata kerja seperti mempelajari, memiliki, mempunyai, dan lain – lain. Langkah 3: Identifikasi dan associate atribut dengan tipe relasi Associate atribut bertujuan untuk menghubungkan atribut dengan entity atau relasi yang tepat. Dalam langkah ini juga dilakukan identifikasi simple / composite attribute, single / multi – valued attribute, dan derived attribute. Langkah 4: Menentukan atribut domain. Bertujuan untuk menentukan domain suatu atribut dalam model data konseptual. Domain adalah sekumpulan nilai dari satu atau lebih atribut yang menggambarkan nilainya. Contohnya yaitu menentukan nilai atribut jenis_kelamin pada entity mahasiswa dengan ‘M’ atau ‘F’ atau nilai atribut sks pada entity mata_kuliah dengan ‘1’,’2’,’3’, dan ‘4’. Langkah 5: Menentukan atribut candidate, primary, dan alternate key. 30 Bertujuan untuk mengindentifikasi candidate key pada setiap entity dan memilih primary key jika ada lebih dari satu candidate key. Pemilihan primary key didasari pada panjang dari atribut dan keunikan key masa datang. Langkah 6: Mempertimbangkan untuk menggunakan concept modeling. Pada langkah ini bertujuan untuk menentukan Spesialisasi, Generalisasi, Aggregasi, dan composition. Dimana masing – masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada. Spesialisasi dan Generalisasi adalah proses dalam mengelompokkan berapa entity dan menghasilkan entity baru. Beda dari keduanya adalah cara pendekatannya, dimana spesialisasi menggunakan top-down dan generalisasi menggunakan pendekatan bottom-up. Spesialisasi adalah proses memaksimalkan perbedaan antar anggota entity dengan mengidentifikasi sifat – sifat yang membedakan satu sama lain. Generalisasi adalah proses meminimalkan perbedaan antara anggota entity dengan mengindentifikasi sifat – sifat yang sama satu dengan yang lain. Aggregasi menggambarkan relasi ‘ memiliki’ atau ‘bagian-dari’ antar tipe entity dimana suatu relasi hanya akan ada jika ada relasi lainnya. Composistion adalah suatu bentuk Aggregasi yang spesifik yang mewakili asosiasi antar entity dimana ada kepemilikan yang kuat da nada hubungan – hubungan antara ‘keseluruhan’ dan ‘bagian’nya. Langkah 7: Cek model untuk redundansi. Bertujuan untuk memeriksa konseptual model untuk menghindari dari adanya informasi yang redundan, sehingga tak membuat informasi yang ada berulang secara terus menerus. Yang dilakukan dalam langkah ini adalah : • Memeriksa ulang relasi one to one ( 1:1) Setelah entity diidentifikasikan maka kemungkinan ada dua entity yang mewakili satu object. Untuk itu dua entity tersebut 31 harus di merge bersama. Dan jika primary key-nya berbeda maka harus dipilih salah satu dan lainnya dijadikan alternate key. • Menghilangkan hubungan yang redundan Digunakan untuk menekan jumlah model data. • Menentukan dimensi waktu Hubungan dimensi waktu adalah sangat penting ketika mengakses redundan untuk menentukan situasi dari hubungan model data entity. Langkah 8: Validasi data model konseptual terhadap transaksi user. Bertujuan untuk menjamin bahwa konseptual data model mendukung kebutuhan transaksi pengguna. Dengan menggunakan model yang telah di validasi tersebut, dapat digunakan untuk melaksanakan operasi secara manual. Ada dua pendekatan yang mungkin untuk menjamin bahwa local conceptual data model mendukung kebutuhan transaksi yaitu : • Menggambarkan Transaksi. Memeriksa seluruh informasi (entity, relasi, dan atribut) yang diperlukan pada setiap transaksi yang disediakan oleh model dengan mendokumentasikan penggambaran dari tiap kebutuhan transaksi. • Menggunakan Transaksi pathways. Pendekatan ini untuk validasi model data terhadap transaksi yang dibutuhkan termasuk representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada diagram ER. Langkah 9: Review data model konseptual dengan user. Bertujuan untuk melihat kembali model data konseptual dan memastikan bahwa data model tersebut sudah benar. 2.1.11.2 Perancangan Logikal/ Logical Database Design Logical database design adalah proses pembuatan suatu model informasi yang digunakan pada perusahaan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari database 32 management system (DBMS) dan pertimbangan fisik lainnya (Connolly, 2010, p467). Tujuannya yaitu untuk mengubah data model konseptual menjadi data model logikal dan kemudian untuk memvalidasi model ini untuk mengecek apakah struktur nya sudah benar dan bisa untuk mendukung kebutuhan transaksi. Menurut Connolly ( 2010, p490) 7 langkah pembuatan logikal data model adalah sebagai berikut : - Langkah 1. Penurunan relasi untuk logikal data model. Bertujuan membuat relasi untuk data model logical untuk mempresentasikan entity, relasi, dan atribut – atribut yang telah terindentifikasi. Adapun struktur adalah sebagai berikut : • Strong entity types. Untuk setiap strong entity pada data model, merupakan suatu entitas yang memiliki relasi kuat dan mempengaruhi entitas lainnya. Jika sebuah strong entity dihapus, maka akan mempengaruhi entitas lainnya secara keseluruhan. • Weak entity types. Untuk setiap weak entity pada data model, merupakan suatu entitas yang memiliki relasi lemah dengan entitas lainnya. Jika weak entity dihapus, maka tidak akan mempengaruhi entitas lainnya secara keseluruhan. • One-to-many binary relationship types. Untuk setiap 1:* binary relationship, semua entity yang ada pada salah satu sisi relationship di desain sebagai entity parent dan entity yang ada pada banyak sisi di didesain sebagai entity child. • One-to-one binary relationship types. Membuat relasi yang mempresentasikan 1:1 lebih kompleks, karena cardinality tidak dapat digunakan untuk membantu mengindentifikasi entity parent and child dalam relationship. Cara membuat relasi yang mempresentasikan partisipasi membandingkan dengan : a. Mandatory participation pada setiap sisi relasi 1:1. 33 Pada kasus ini entity yang terlibat harus di kombinasi menjadi relasi dan memilih satu dari primary key dari entity yang asli untuk menjadi primary key pada relasi yang baru. b. Mandatory participation pada salah satu sisi relasi 1:1 Pada kasus ini entity parent dan child dapat di identifikasi untuk relasi 1:1 menggunakan participation constraint. c. Optional participation pada setiap sisi relasi 1:1 Pada kasus ini mendesain entity parent dan child akan mendapatkan sedikit keputusan tentang relasi yang dapat membantu untuk memutuskan pilihan apakah menggunakan suatu jalan atau jalan lainnya. • One-to- one recursive relationship type. Untuk recursive relationship type hanya mengikuti aturan – aturan untuk partisipasi sebagai gambaran relasi 1:1 sebelumnya. • Superclass / subclass relationship types. Untuk setiap relasi superclass / subclass pada konseptual data model, mengidentifikasi entity superclass sebagai entity parent dan entity subclass sebagai entity child. • Many-to-many binary relationship types. Untuk setiap relasi binary, setiap entitas dapat berhubungan dengan semua atribut yang menjadi bagian dari entitas lainnya. • Complex relationship types. Membuat relasi untuk mempresentasikan relasi dan termasuk setiap atribut yang menjadi bagian dari relasi. • Multi valued attributes. Membuat relasi baru untuk mempresentasikan atribut multi valued dan termasuk primary key dari entity pada relasi baru yang berperan sebagai foreign key. - Langkah 2. Validasi relasi menggunakan normalisasi. 34 Validasi relasi pada model data logikal menggunakan teknik normalisasi. Dengan menggunakan normalisasi, maka model yang di hasilkan mendekati model dari kebutuhan perusahaan, konsisten dan memiliki sedikit redundansi dan stabilitas yang maksimum. - Langkah 3. Validasi user berdasarkan transaksi user. Memastikan relasi dalam model data logikal telah mendukung transaksi yang dibutuhkan. Bertujuan untuk menjamin bahwa relasi dalam mode logikal tersebut mendukung user requirement specification secara detail. Selain itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat suatu relasi. - Langkah 4. Check Integrity Constraint. Menentukan integrity constraint, dimana mencakup pemeriksaan kelengkapan data, atribut domain constraint, multiplicity, entity integrity, referential integrity, general constraint. - Langkah 5. Review data model logikal dengan User. Pastikan user menyetujui model data logikal merupakan representasi nyata terhadap persyaratan data perusahaan. - Langkah 6. Menggabungkan data model logikal ke data model global (optional step). Untuk mengabungkan local logical data model kedalam single global logical data model yang mempresentasikan semua user views dalam basis data. - Langkah 7. Cek untuk pengembangan ke depan. Menentukan apakah ada kemungkinan terjadi perubahan yang besar di masa depan, dan menilai apakah model data logikal dapat menyesuaikan dengan perubahan tersebut. 2.1.11.3 Perancangan Fisikal/ Physical Database Design Physical database design adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan 35 indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraint dan tindakan keamanan ( Connolly , 2010, p467). Physical database design terdiri dari 6 langkah dan apabila dijabarkan akan menjadi langkah 3 – 8 yaitu ( Connoly,2010,p523) : A. Menerjemahkan model data logikal untuk DBMS target. • Desain dasar relasi. • Desain representasi data. • Desain general constraint. B. Desain organisasi file dan indeks. • Analisa Transaksi. • Memilih organisasi file. • Memilih indeks. • Memprediksi kebutuhan space disk. C. Desain user view. D. Desain mekanisme keamanan. E. Mempertimbangkan pengenalan pengontrolan redundansi. F. Memonitor dan mengontrol sistem operasional. Langkah 3: Menerjemahkan model data logikal untuk DBMS target. Bertujuan untuk menghasilkan skema baris data relasional dalam global logikal data model yang dapat di implementasikan ke DBMS. Penerjemahan global logikal data model untuk target DBMS terdiri dari 3 langkah. Langkah tersebut adalah : • Desain dasar relasi. Untuk memutuskan bagaimana cara merepresentasikan dasar relasi yang telah teridentifkasi pada model data logikal dalam DBMS target. • Desain representasi data yang ada. Untuk memutuskan bagaimana cara mempresentasikan data yang ada pada model data logikal dalam target DBMS. • Desain General Constraint. Untuk mendesain general constraint untuk target DBMS. 36 Langkah 4: Desain organisasi file dan indeks. Membedakan file organisasi optimal untuk menyimpan relasi dasar dan indeks yang mana membutuhkan persetujuan pencapaian yang merupakan jalan dimana relasi akan di pegang dalam secondary storage. Aktivitas – aktivitas yang terjadi pada langkah 4 adalah sebagai berikut : • Analisa Transaksi. Mengerti akan fungsi dari transaksi yang akan berjalan pada database dan untuk menganalisa transaksi yang penting. • Memilih organisasi file. Untuk membedakan sebuah file yang terorganisasi pada setiap relasi dasar. • Memilih indeks. Untuk membedakan apakah indeks tambahan akan meningkatkan performa sistem. • Memprediksi kebutuhan kapasitas disk. Untuk memprediksi banyaknya kapasitas disk yang akan dibutuhkan oleh basis data. Langkah 5: Desain user view. Untuk mendesain user views yang telah di indentifikasi selama permintaan collection dan menganalisis stage dari pengembangan database lifecycle. Langkah 6 Desain mekanisme keamanan. Mendesain mekanisme security untuk basis data sebagai petunjuk oleh user selama permintaan dan pengumpulan informasi pada saat pengembangan database lifecycle. Langkah 7: Mempertimbangkan pengenalan pengontrolan redundansi. Pada langkah physical database design ini mempertimbangkan denormalisasi skema relasional untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara struktural, konsisten, dan menekan jumlah redundansi. Faktor yang perlu di pertimbangkan adalah : 37 • Denormalisasi membuat implementasi lebih kompleks. • Denormalisasi selalu mengorbankan fleksibilitas. • Denormalisasi akan membuat cepat dalam pengambilan data tetapi lambat dalam update data. Ukuran performa dari suatu perancangan basis data dapat dilihat dari sudut pandang tertentu yaitu melalui pendekatan efisiensi data (Normalisasi) atau pendekatan efisiensi proses (Denormalisasi). Efisiensi data dimaksudkan untuk meminimalkan kapasistas disk, dan efisiensi proses dimaksudkan untuk mempercepat proses saat pengambilan data dari basis data. Langkah 8 Monitor dan mengatur sistem operasional. Bertujuan untuk memonitor sistem operasi, meningkatkan performa dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan. 2.2 Teori yang berhubungan dengan penelitian. 2.2.1 PHP : Hypertext Preprocessor PHP: Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memprogram situ web dinamis. PHP dapat digunakan untuk membangun sebuah Content Managemet System (CMS). CMS merupakan sekumpulan script yang dapat dijalankan pada banyak website yang sama sekali berbeda walaupun berjalan secara bersamaan. PHP memiliki 8 (delapan) tipe data, yaitu: 1. Integer 2. Double 3. Boolean 4. String 5. Object 6. Array 7. Null 8. Resource 38 Beberapa kelebihan PHP, antara lain: 1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya. 2. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah. 3. Dalam sisi pengembangan lebih mudah karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan. 4. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. 5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem. 2.3 Hasil Penelitian atau Produk Sebelumnya Berikut ini terdapat 3 hasil penelitian atau produk sebelumnya yang membantu dalam penyusunan sistem: • Menurut jurnal internasional oleh Akram M., (December 2008), The Asian EFL Journal Quarterly Volume 10 Issue 4, Speech Acts: A Contrastive Study of Speech Acts in Urdi and English, dapat disimpulkan bahwa bahasa merupakan hasil atau produk dari kontak sosial. Seiring dengan berkembang pesatnya teknologi informasi yang menyebabkan pertukaran informasi semakin cepat dan luas. Hal tersebut menyebabkan semakin banyaknya jenis bahasa baru yang terbentuk dari luasnya informasi yang ada. Hubungannya dengan aplikasi yang dibuat adalah perbedaan bahasa dalam masyarakat yang membuat terjadinya ambiguitas dalam pencarian produk oleh customer. Oleh karena itu, pihak perusahaan meminta untuk membuat aplikasi untuk mengurangi amiguitas tersebut dengan membuat aplikasi database berbasis web. • Menurut Jurnal dari Indrajani, (June 2010), Jurnal ComTech, Analisis dan Perancangan Sistem Basis Data Pada Rumah Sakit, penerapan suatu teknologi informasi sangat erat kaitannya dengan aplikasi. Suatu aplikasi pasti memiliki hubungan yang sangat erat dengan basis data. Tanpa sistem 39 basis data yang benar, maka implementasi suatu teknologi informasi akan menjadi kurang penggunaannya. bermanfaat Penerapan atau dapat dikatakan sistem basis data tidak maksimal mempunyai beberapa keuntungan antara lain dapat mengontrol redundansi data, data menjadi konsisten, meningkatkan integritas data, adanya standardisasi data , dan meningkatkan produktifitas kerja. Hubungannya dengan aplikasi yang dibuat adalah aplikasi yang menggunakan MYSQL yang merupakan salah satu aplikasi sistem basis data yang mampu mengontrol redundansi data, membuat data menjadi konsisten, meningkatkan integritas data, menstandarisasikan data , dan mampu meningkatkan produktifitas kerja • Menurut jurnal yang diterbitkan oleh Ayuliana dkk, (June 2012), Jurnal ComTech, Pengembangan Basis Data Penjualan, Persediaan dan Logistic Tracking: Studi Kasus PT ABHIMATA CITRA ABADI, penerapan teknologi informasi dalam dunia bisnis dapat membantu perusahaan agar lebih maju dari kompetitornya. Teknologi informasi dengan dukungan basis data yang baik, dapat membantu manajemen perusahaan dalam memonitor pergerakan bisnis perusahaan, sehingga perusahaan tidak saja dapat bertahan tetapi juga dapat berkembang. Hubungannya dengan aplikasi yang dibuat adalah aplikasi ini dibuat dengan tujuan memenuhi kebutuhan perusahan agar dapat mempermudah perusahaan dalam menjalankan proses bisnisnya sebagai e-catalogue dan juga aplikasi ini dapat digunakan untuk membantu manajemen perusahaan dalam memonitor pergerakan bisnis perusahaan dengan memberikan hak akses beberapa karyawan untuk memantau produk, vendor, dan karyawan perusahaan. 40