BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Sistem Menurut O’brien (2010, p26) Sistem merupakan sekelompok komponen-komponen yang saling berhubungan, bekerja bersama-sama untuk mencapai suatu tujuan bersama dengan menerima input serta menghasilkan output dalam proses transformasi yang teratur. Jadi menurut keterangan diatas dapat disimpulkan bahwa sistem adalah sekelompok komponen ataupun elemen yang terintegrasi untuk mencapai tujuan yang sama. 2.1.2 Informasi Informasi menurut Oz (2009, p10) merupakan fakta atau kesimpulan yang mempunyai makna dalam konteks tertentu.Data mentah jarang sekali memiliki makna atau berguna seperti informasi. Untuk menjadi informasi, data harus di olah terlebih dahulu melalui tabulasi, analisis statistik, atau kegiatan lain yang dapat mengarah kepemahaman yang lebih baik. Adapun karakteristik informasi menurut Oz (2009, p11) meliputi: Tabel 2.1 Karakteristik Informasi Karakteristik 1. Relevan Deskripsi Informasi harus sesuai dengan masalah yang dihadapi dan memenuhi suatu tujuan serta harus disajikan dalam bentuk yang dapat membantu seseorang memahaminya dalam konteks tertentu. 8 2. Lengkap Informasi harus disajikan secara lengkap. 3. Akurat Informasi yang disajikan harus bebas dari kesalahan-kesalahan. 4. Tepat Waktu Informasi yang disajikan harus upto-date dan tepat waktu. 5. Ekonomis Biaya yang diperlukan untuk mendapatkan suatu informasi harus dianggap sebagai salah satu elemen biaya yang terlibat dalam pengambilan keputusan apapun. Sumber: Oz (2009, p11). Management Information Systems. 2.1.3 Sistem Informasi Menurut O’brien (2010, p4) Sistem Informasi dapat berupa kombinasi yang terorganisir antara orang, perangkat lunak, jaringan komunikasi, perangkat keras, dan sumber daya yang terkumpul, berubah, serta menyebarkan informasi dalam sebuah organisasi. Manusia bergantung pada sistem informasi untuk melakukan komunikasi dengan peralatan fisik (hardware), instruksi pemrosesan informasi atau prosedur (software), jaringan komunikasi (network), dan data (data resources). Ada 5 komponen utama yang diperlukan dari sebuah sistem informasi yaitu,komponeninput,komponenmodel,output,teknologi,database,kendali(cont rol). Sumber daya manusia meliputi pengguna akhir (end-user) dan spesialis sistem informasi, sumber daya perangkat keras meliputi mesin dan medianya, sumber daya perangkat lunak meliputi program-program dan prosedur, sumber daya data meliputi data itu sendiri, sumber daya jaringan meliputi media komunikasi dan pendukung jaringan. 8 2.1.4 Data Data merupakan komponen yang sangat penting dalam suatu database. Sesuai dengan pepatah “Garbage in, garbage out”, yaitu apabila data yang masuk adalah “sampah” atau tidak berguna, maka output yang dihasilkan juga tidak berguna dan begitu pula sebaliknya apabila data yang masuk adalah data yang memiliki kualitas bagus, maka output yang dihasilkan akan berkualitas. Seperti yang dukemukakan oleh Connolly & Begg (2010: 70) data adalah “komponen yang paling penting dalam DBM (database Management), berasal dari sudut pandang end user”.Data berguna sebagai jembatan antara mesin dan pengguna. Sedangkan menurut Kroenke & Auer (2010:13) data adalah “fakta dari kumpulan record dan number”. Pernyataan tersebut juga diperkuat oleh Yuniarto (2010:200) yang mendefinisikan “data merupakan kenyataan yang menggambarkan suatu kejadian atau kenyatan yang nyata”. Dari pengertian data di atas dapat disimpulkan bahwa data merupakan sesuatu yang belum memiliki arti maupun nilai karena belum diolah sedemikian rupa agar menghasilkan suatu nilai. Data juga merupakan komponen yang paling penting dalam DBM, data yang memiliki kualitas bagus akan menghasilkan output yang berguna sedangkan data yang tidak memiliki kualitas yang bagus akan menghasilkan output yang tidak berguna. 2.1.5 Basis data Basis datadigunakan oleh perusahaan kecil maupun besar.Basis data diperoleh dari hasil transaksi-transaksi yang terjadi dalam proses bisnis perusahaan. Seperti yang dikemukakan oleh Connolly & Begg (2010: p65) Basis data adalah “koleksi berbagai data secara logis terkait dan deskripsi, yang dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi”. Basis data berisi data-data transaksi maupun data histori dari hasil transaksi organisasi. Dalam Basis data, semua data terintegrasi satu sama lainnya, pernyataan ini diperkuat oleh Hoffer, Prescott, & topi (2009: 46) yang mendefinisikan “Basis data adalah sebuah kumpulan data yang terorganisasi secara logis dan data tersebut berhubungan”. 8 Dengan demikian dapat disimpulkan bahwa Basis data merupakan sekumpulan banyak data yang ada di dalam suatu organisasi dimana data tersebut saling terkait atau berhubungan secara logis dan digunakan untuk memenuhi kebutuhan informasi organisasi. 2.1.6 The Database System Development Life cycle Database yang terintegrasi tidak begitu saja terjadi tanpa dilakukan perancangan, dalam membuat perancangan, dalam membuat perancangan database diperlukan metode perancangan.Metode perancangan tersebut berupa siklus hidup, dimana dalam merancang database perlu dilakukan sebuah perencanaan. Seperti yang dikemukakan oleh Connolly & Begg (2010: 313) yang mendefinisikan bahwa “ sistem database merupakan komponen dasar sistem informasi dari perusahaan besar, sistem pengembangan siklus database secara melekat terkait dengan siklus hidup sistem informasi”. Pentingnya untuk mengakui bahwa tahapan pengembangan siklus database tidak harus berurutan tetapi melibatkan beberapa jumlah pengulangan tahapan sebelumnya melalui feedback loop. “System development life cycle adalah metode tradisional yang digunakan untuk mengembangkan, memelihara dan mengganti sistem informasi” (Hoffer, Prescott, & Topi, 2009: 85).Database System Development Life cycle ini merupakan tahapan siklus dalam perancangan database, dimana terdiri beberapa tahapan yang dimulai dengan perencanaan, pengumpulan informasi hingga perancangan database. Dari penjelasan diatas dapat diambil kesimpulan bahwa database system development lifecycle berkaitan dengan siklus hidup sistem informasi, pengembangan database terdiri dari beberapa tahapan dan bisa saja terjadi beberapa pengulangan tahapan sebelumya. 8 Gambar 2.2The Database System Development Life Cycle (Sumber: Connolly & Begg, 2010s: p314) 2.1.6.1 Database Planning Dalam membangun sebuah database, tentunya diperlukan terlebih dahulu suatu perencanaan agar masalah maupun resiko yang akan terjadi pada taap implementasi dapat dihilangkan ataupun diminimalisir. Seperti yang dikemukakan oleh Connolly & Begg (2010: 313) “ Database planning merupakan kegiatan manajemen yang memungkinkan tahapan dari siklus hidup pengembangan sistem database untuk di reaslisasikan seefisien mungklin. Database planning harus diintegrasikan dengan strategi sistem informasi dari keseluruhan organisasi”. Ada tiga isu utama yang terlibat dalam merumuskan strategi informasi, yaitu: 8 1. Identifikasi rencana dan tujuan perusahaan dengan penentuan kebutuhan sistem informasi. 2. Evaluasi sistem informasi pada saat ini untuk menentukan kekuatan dan kelemahan yang ada. 3. Menilai kesempatan atau peluang teknologi informasi yang mungkin menghasilkan keuntungan kompetitif. Dari penjelasan diatas, maka dapat disimpulkan bahwa Database planning bertujuan untuk menentukan rencanarencana dalam merancang sebuah database. 2.1.6.2 System Definition Sebelum merancang suatu sistem database, hal utama yang dilakukan adalah mengidentifikasikan batas-batas dari sistem yang sedang diselidiki dan bagaimana interface dengan bagian dari sistem informasi organisasi.Seperti yang didefinisikan oleh Connolly & Begg (2010: 316) “System definition menjelaskan ruang lingkup dan batasbatas dari sistem database dan pandangan pengguna utama”. Dari pengertian system definition dapat disimpulkan bahwa system definition merupakan batasan-batasan dalam membuat database yang diperlukan oleh perusahaan.System definition digunakan untuk mengidentifikasi scope dari sistem perusahaan. 2.1.6.3 Requirements Collection and Analysis Setelah menentukan sistem definisi, tahap selanjutnya adalah mengumpulkan informasi yang diperlukan dan melakukan analisis data.“Requirements collection and analysis adalah proses pengumpulan dan menganalisis informasi tentang bagian dari organisasi yang harus didukung oleh sistem database dan menggunakan informasi untuk mengidentifikasi persyaratan untuk sistem baru” (Connolly & Begg, 2010: 316). 8 2.1.6.4 Database Design Dalam merancang sebuah basis data dibutuhkan sebuat metodologi.Metodologi perancangan basis data berguna untuk memudahkan dalam perancangan. Seperti yang dikemukakan oleh Connolly & Begg (2010: 466) “Metodologi perancangan basis data merupakan pendekatan terstruktur yang menggunakan prosedur,teknik, tools, dan alat bantuan dokumentasi untuk mendukung dan memfasilitasi proses desain”. Motodologi perancangan harus dibuat secara pertahap dari awal sampai akhir sesuai dengan struktur metodologinya. Metodologi perancangan basis data terdiri dari tiga tahap yaitu: 1. Conceptual database design 2. Logical database design 3. Physical database design 2.1.6.4.1 Conceptual database design Conceptual databse design merupakan tahap yang pertama dalam metodologi perancangan database. Seperti yang dikemukakan oleh Connolly & Begg (2010: 467) “Conceptual database design adalah proses membangun model data yang digunakan dalam suatu perusahaan, yang terlepas dari semua pertimbangan fisik (Physical)”. Pembuatan model konseptual berdasarkan proses bisnis yang sedang berjala pada suatu organisasi, sesuai dengan data-data apa yang dibutuhkan oleh organisasi. Conceptual database design memiliki beberapa langkah, yaitu: 1.Mengidentifikasi tipe entitas. Untuk mengidentifikasi apa yang diperlukan oleh jenis entitas 8 2.Mengidentifikasi tipe hubungan Untuk mengidentifikasi hubungan yang penting diantara tipe entitas. 3. Mengidentifikasi dan menghubungkan atribut dengan tipe entitas dan tipe hubungan. Untuk menghubungkan atribut sesuai dengan tipe entitas dan tipe hubungan. 4. Menentukan atribut domain. Untuk menentukan domain dari atribut didalam model data konseptual.Domain adalah sebuah nilai dari satu atau lebih atribut yang menggambarkan nilai dari atribut. 5. Menentukan attribute candidate, primary, dan alternate key. Untuk mengidentifikasi candidate key pada setiap tipe entitas dan jika lebih dari satu candidate key, pilih salah satu untuk menjadi primary key dan yang lain sebagai candidate key. 6. Mempertimbangkan penggunaan tingkatan konsep pemodelan (langkah mempertimbangkan tambahan). Untuk penggunaan konsep pemodelan seperti generalisasi, agregasi dan komposisi. 7. Mengecek model yang redudansi. Bertujuan untuku mengecek adanya redudansi dalam model.Tahapnya ada 3, diantaranya adalah memeriksa kembali hubungan One-to-One (1:1).Menghilangkan hubungan yang redudansi, dan mempertimbangkan dimensi waktu. 8. Memvalidasi model data konseptual terhadap transaksi pengguna. Untuk memastikan model data konseptual mendukung transaksi yang dibutuhkan. 8 9. Meninjau model data konseptual dengan pengguna. Untuk meninjau model data konseptual dengan pengguna untuk memastikan pertimbangan model “benar” yang merupakan representasi dari persyaratan data perusahaan. 2.1.6.4.2 Logical database design Logical database design merupakan tahap kedua dalam metodologi perancangan database setelah konseptual. “logical database design merupakan suatu proses membangun model data yang digunakan dalam suatu perusahaan berdasarkan pada model data yang spesifik, tetapi tidak tergantung pada DBMS dan pertimbangan fisik lainnya”. (Connolly & Begg, 2010: 467). Perancangan logical merupakan lanjutan dari perancangan konseptual, perancangan logical ini menjelaskan struktur informasi basis data serta aturan-aturan dalam proses perancangan basis data. Logical database design memiliki beberapa langkah, yaitu: 1.Mengambil hubungan dari model data konseptual. Untuk membuat hubungan model data logical untuk menyatakan entitas, hubungan, dan atribut yang telah diidentifikasi. Pada tahap ini akan ditentukan: Strong entity types, weak entity types, one-to-many (1:*) binary relationship types, one-to-one (1:1) binary relationship types, one-to-one (1:1) recursive relationship types, superclass/subclass relationship type, many-to-many (*:*) binary relationship types, complexs relationship types, dan multi-valued attributes. 8 2.Memvalidasi hubungan dengan normalisasi. Tujuan dari normalisai adalah untuk memastikan suatu hubungan yang paling sedikit memerlukan atribut untuk mendukung kebutuhan data perusahaan. 3.Memvalidasi hubungan dengan normalisasi. Untuk memastikan bahwa hubungan didalam model data logika mendukung keperluan transaksi. 4.Mengecek integrity constraint. Untuk mengecek apakah hambatan integritas menggambarkan model data logika. Ada 6 tipe integrity constraint: a. Required data Beberapa atribut harus mengandung nilai yang benar, dengan kata lain setiap atribut tidak boleh kosong. b. Attribute domain comstraints Setiap atribut memiliki domain, yaitu sekumpulan nilai atau values yang sah. c. Multiplicity Multiplisiti mewakili hambatan yang ditempatkan pada hubungan anatara data dalam database. d. Entity integrity Primary key dari sebuah entitas tidak boleh kosong. e. Referential integrity Jika foreign key mengandung sebuah nilai atau value, nilai tersebut harus mengacu pada tuple yang ada didalam relasi parent. 8 f. General Constraint Memperbaharui dikendalikan transaksi entitas yang hambatan dunia yang nyata dapat mengatur diwakili oleh perbaharuan. 5.Meninjau data model logical dengan pengguna. Untuk meninjau data model logical dengan pengguna untuk memastikan data model sesuai dengan pernyataan yang diperlukan oleh perusahaan. 6.Menggabungkan model data logical kedalam model global (langkah tambahan). Menggabungkan model data logical ke dalam model data logical global yang mewakili semua pengguna dari database. 7.Mengecek perkembangan yang akan datang. Untuk menentukan apakah ada kemungkinan signifikan perubahan di masa mendatang dan menilai apakah model data logical dapat mengakomodasi perubahan. 2.1.6.4.3 Physical database design Physical database design merupakan metodologi perancangan database yang terakhir setelah logical database design.Setelah melakukan perancangan pada logical database design tahap selanjutnya adalah physical database design. “Physical database design adalah suatu proses menghasilkan sebuah gambaran yang menunjukkan pelaksanaan database pada penyimpangan sekunder, menggambarkan hubungan dasar, file organisasi dan indeks yang digunakan untuk mencapai akses yang efisien terhadap data, dan setiap integritas terkait dengan kendala dan tindakan keamanan” (Connolly & Begg, 2010: 8 523). Perancangan fisik ini bertujuan untuk menentukan struktur penyimpangan basis data pada suatu organisasi.Physical database design memiliki beberapa langkah, yaitu: 1.Menterjemahkakn model data logical untuk sasaran DBMS. Untuk menghasilkan bagaimana untuk mempresentasikan identifikasi hubungan dasar dalam model datalogical dalam DBMS. 2.Merancang perwakilan atau representasi dari data yang diperoleh. Untuk memutuskan bagaimana untuk mempresentasikan data yang diperoleh dalam model data logical dalam DBMS. 3.Merancang general constraints. Untuk merancang general constraint kedalam DBMS. 2. Merancang file organisasi dan indeks. Menentukan file organisasi yang optimal untuk menyimpan hubungan dasar dan indeks yang diperlukan untuk mencapai kinerja yang dapat diterima, yaitu cara dimana hubungan dan tuple akan dilaksanakan pada penyimpangan sekunder. 1. Menganalisis transaksi Untuk memahami fungsi dari transaksi yang akan berjalan pada database dan untuk menganalisis transaksi yang penting. 2. Memilih file organisasi. Untuk menentukan sebuah efisiensi file organisasi untuk setiap hubungan dasar. 8 3. Memilih indeks. Untuk menentukan apakah penambahan indeksakan meningkatkan performa sistem. 4. Mengestimasi kapasitas kebutuhan. Untuk memperkirakan jumlah kapasita yang akan dibutuhkan oleh database. 3. Merancang tampilan pengguna. Untuk merancang tampilan diidentifikasi selama pengumpulan menganalisis tahapan database pengguna kebutuhan system yang dan development lifecycle. 4. Merancang mekanisme keamanan. Untuk merancang mekanisme keamanan untuk database di spesifikasikan selama pengumpulan kebutuhan dan pengumpulan kebutuhan dan pengumpulan tahapan dari database system development lifecycle. Dari pengertian database design dapat disimpulkan bahwa database design merupakan sebuah design yang mendukung atau sesuai dengan misi dan tujuan yang diperlukan oleh perusahaan. 2.1.7 DBMSSelection Setelah melakukan perancangan database, tahap selanjutnya adalah memilih DBMSelection yang cocok untuk sistem database.Seperti yang dikemukakan oleh Connolly &Begg (2010: 325-329) “DBMS selection merupakan pemilihan suatu DBMS yang tepat untuk mendukung sistem database”. Ada empat tahapan dalam pemilihan DBMSelection yaitu: 1. Menentukan kerangka acuan penelitian. Menentukan kerangka acuan penelitian dari DBMS adalah menetapkan, menyataka tujuan dan ruangan lingkup dan tugas-tugas yang diperlukan. 8 2. Daftarkan pada list dua atau tiga produk. Salah satu kriteria keberhasilan implementasi dan dapat menghasilkan daftar awal produk DBMS untuk dilakukan evaluasi. 3. Mengevaluasi produk. Dalam mengevaluasi produk banyak variasi cara yang dapat dilakukan untuk mengevaluasi produk DBMS, untuk tujuan evaluasi fitur ini dapat dinilai sebagai kelompok atau individu. 4. Merekomendasikan pemilihan dan menghasilkan laporan. Merupakan langkah terakhir dalam pemilihan DBMS untuk merekomendasikan proses dan untuk memberikan pernyataan temuan dan rekomendasi untuk produk DBMS tertentu. Dari pengertian DBMS Selection dapat disimpulkan bahwa pada tahap ini dilakukan pemilihan DBMS untuk mendukung system database perusahaan. Pemilihan DBMS sangat penting bagi perusahaan karena akan mempengaruhi system DBMS. 2.1.8 Application Design Tahap selanjutnya setelah pemilihan DBMS adalah adalah merancang aplikasi yang mendukung penggunaan database.Seperti yang dikemukakan oleh Connolly & Begg (2010: 329-333) “application design merupakan desain user interface dan program aplikasi yang digunakan untuk mengelola database”. Dari pengertian Application Design dapat disimpulkan bahwa application design merupakan sebuah desain userinterface dari sebuah program aplikasi, aplikasi tersebut berhubungan dengan database. 2.1.9 Prototyping Tahan selanjutnya setelah merancang aplikasi database adalah memuat prototypring.Prototyping di definisikan sebagai pembangun sebuah model kerja system database. “prototypingmerupakan sebuah model kerja yang biasanya tidak memiliki semua fitur yang diperlukan atau memberi semua fungsi dari sistem final” (Connolly & Begg, 2010: 333). Ada dua 8 strategi prototyping yang digunaka saat ini yaitu requirement prototyping dan evolutionary prototyping. Requirement prototyping menggunakan prototype untuk menentukan kebutuhan sistem database yang diusulkan dan sekali kebutuhan lengkap prototypeakan dibuang. Evolutionary prototype digunakan untuk tujuan yang sama, yang berbeda terpenting adalah prototype ini tidak dibuang tetapi dengan pengembangan lebih lanjut menjadi sistem database dapat bekerja. Dari pengertian prototyping dapat disimpulkan bahwa prototyping merupakan model kerja sistem database.Prototypeing terbagi atas dua jenis yaitu Requirement prototyping dan .Evolutionary prototype. 2.1.10 Implementation Setelah membuat model prototyping, tahap selanjutnya adalah mengimplementasikan aplikasi yang telah dibuat .“ implementasi merupakan realisasi fisik dari database dan desain aplikasi” (Connolly & Begg, 2010: 333). Pada penyelesaian tahap desain sekarang dalam posisi untuk menerapkan database dan program aplikasi. Implementasi database dicapai dengan menggunakan DDL ( Data Definition Language) dari DBMS yang dipilih atau GUI, yang menyediakan fungsi yang sama pada tingkatan DDL. Bagian dari program aplikasi adalah transaksi database yang diimplementasikan Language) dari dengan target menggunakan DBMS, DML mungkin (Data tertanam Manipulation dalam bahasa pemprograman seperti visual Basic (VB) Delphi, C, C++, C#, Java, COBOL, Fortran dan, Pascal. Dari pengertian implementasi dapat disimpulkan bahwa implementasi merupakan suatu penerapan aplikasi yang mendukung desain aplikasi dan database. 2.1.11 Data Conversional and Loading Setelah mengimplementasikan aplikasi, tahap selanjutnya adalah memasukkan data ke dalam database yang baru atau dua conversion and loading. “Data conversion and Loading didefinisikan sebagai mentransfer 8 data yang ada ke dalam database baru dan mengkonversi setiap aplikasi yang ada untuk menjalankan database baru dan mengkonversi setiap aplikasi yang ada untuk menjalankan database baru” (Connolly & Begg, 2010: 334). Pada tahap ini diperlukan hanya bila sistem database baru menggantikan sistem lama.Utilitas biasanya membutuhkan spesifikasi dari sumber file dan target database dan kemudian secara otomatis mengubah data ke format yang diperlukan dari file database baru. Setiap kali konversi dan loading yang dipelukan, proses harus benar-benar direncanakan untuk memastiikan kelancaran transisi oprasi penuh. Dari pengertian data convertion and loading dapat disimpulkan bahwa data conversion and loading merupakan sebuah proses dimana data operasional yang ada didalam perusahaan ditransfer ke dalam database baru dan dilakukan konversi. 2.1.12 Testing Setelah memasukkan data ke dalam database baru, tahap selanjutnya adalah melakukan pengujian sistem databse dengan tujuan untuk menghindari kesalahan sebelum sistem database diterapkan. Seperti yang dikemukakan oleh Connolly & Begg (2010: 334) “testing merupakan sebuah proses menjalankan sistem database dengan maksud untuk menentukan kesalah”. Sebelum program database diterapkan didalam perusahaan, sistem database yang baru dikembangkan harus benar-benar teruji. Dicapai dengan menggunakan strategi uji yang direncanakan dan data yang realisitis, sehingga seluruh proses pengujian yang ketat dan metode dilakukan. Dari pengertian testing dapat disimpulkan bahwa testing merupakan tahap dimana aplikasi yang telah direncanakan dites uuntuk menentukan kesalahan secara dini guna meminimalkan kesalahan-kesalahan pada saat aplikasi diterapkan. 2.1.13 Operational Maintenance Operational Maintenance merupakan suatu tahap dimana sistem database telah ditepakan, sistem database tersebut dilakukan pemantauan dan pemeliharaan sistem agar dapat berjalan dengan baik.“Operational 8 Maintenance merupakan sebuah proses pemantauan dan pemeliharaan sistem database” (Connolly & Begg, 2010: 335).Pada tahap sebelumnya sistem database telah sepenuhnya dilaksanakan dan diuji. Sistem ini sekarang bergerak ke tahap pemeliharaan yang melibatkan kegiatan: 1. Memantau kinerja sistem. Jika kinerja turun dibawah pada tingkat yang memadai, reorganisasi database mungkin diperlukan. 2. Mempertahankan dan meningkatkan sistem database. Kebutuhan baru dimasukkan ke dalam sistem database melalui tahap-tahap sebelumnya dalam siklus hidup. Sebuah DBMS biasanya menyediakan berbagai utilitas untuk membantu administrasi database, termasuk utilitas untuk memuat data ke dalam database dan untuk memonitor sistem. Proses pemanatuan berlanjut sepanjang hidup sistem database dan dalam waktu dapat menyebabkan reorganisasi database puas dalam perubahan kebutuhan. Perubahan ini pada gilirannya memberikan informasi pada evolusi kemungkinan dari sistem dan sumber daya masa depan yang mungkin diperlukan. Ketika sistem database baru dibawa online, pengguna harus mengoprasikan secara pararel dengan sistem lama untuk periode waktu. Dari pengertian OperationalMaintenance dapat disimpulkan bahwa tahap ini merupakan tahap terakhir dalam siklus hidup perencanaan database, dimana pada tahap ini dilakukan memantau dan pemeliharaan sistem yang bertujuan agar sistem dapat berjalan dengan baik. 2.1.14 Normalisasi Normalisasi merupakan aktivitas yang dilakukan untuk menguji suatu relasi.Pengujian itu dilakukan untuk melihat apakah relasi tersebut telah cukup baik atau tidak.Seperti yang dikemukakan oleh Kolahi (2007: 636) “normalisasi merupakan suatu tindakan penyempurnaan suatu skema ke skema yang lebih baik dengan mempertimbangkan tiga kriteria yaitu menjaga data, mempertahankan atau menjaga dependensi, dan menghilangkan redudansi”. Baik buruknya suatu relasi dapat dilihat dari bagaimana keintegritas data dalam relasi tersebut.Seperti yang dikemukakan oleh George C (2007: 8 488), “Normalisasi memainkan peran penting baik dalam teori dan praktek desain database”.Dalam bentuk normalnya digambarkan dengan istilah table dimana table tersebut berisi data yang kurang lengkap, kemudian dilakukan tahap pertama dari 1NF hingga 3NF yang bertujuan untuk menghilangkan duplikasi data. Normalisasi merupakan teknik yang mempunyai tahapan-tahapan yang bertujuan untuk meminimalkan data yang tidak konsisten, seperti yang didefinisikan oleh Connolly & Begg (2010: 416) bahwa “normalization adalah sebuah teknik untuk menghasilkan sebuah hubungan dengan properties yang diinginkan, memberikan permintaan data dari sebuah perusahaan.Normalisasi adalah teknik formal untuk dasar hubungan analisis dalam primary key dan functional dependencies”. Dari pengertian normalisasi diatas, maka dapat disimpulkan bahwa normalisasi merupakan suatu teknik yang digunakan untuk memecah suatu table menjadi dua table maupun lebih untuk mengatasi masalah yang ada pada relasi tersebut. Ketidak normalan yang biasanya terjadi dan menjadi masalah adalah data yang redudansi maupun ketidak konsistenan. Proses normalisasi sebagai berikut: 1. Unnormalized Form (UNF), sebuah table berisi satu atau lebih grup yang diulangi. 2. First Normal Form (1NF), sebuah hubungan dimana perpotongan dari setia baris dan kolom berisi satu dan hanya satu value. 3. Second Normali Form (2NF), hubungan yang didalam first normal form dan setiap non-primary key attribute adalah fully functionally dependent dalam primary key. 4. Third Normal Form (3NF), hubungan yang didalam first dan second normal form dan yang non-primary key attribute adalah transitively dependent dalam primary key. 2.1.15 Entity Relational Modeling Entity relational modeling merupaka suatu model relasi yang menggambarkan data dalam bentuk entitas, relasional, atribut serta hubungna antara entitas.Seperti yang dikemukakan oleh Hoffer, Prescott, & Topi (2009: 137) “Entity relationship model adalah representative logis dari data untuk 8 suatu organisasi atau area bisnis dengan menggunakan entitas untuk kategori data dan hubungan untuk berhubungan dengan antar sentitas lainnya”. “Aspek yang sulit dalam perancangan basis data adalah kenyataan bahwa perancangan, programer, dan pemakai akhir cenderung melihat sebuah data dengan cara yang saling berbeda” (Connolly & Begg, 2010: 371). Untuk memastikan pemahaman secara ilmiah dari data dan bagaimana data digunakan oleh perusahaan, dibutuhkan sebuah komunikasi yang non teknik dan lepas dari kebingungan. 2.1.15.1 Entity Type Entitas merupakan objek yang berbentuk fisik dan memiliki atribut dapat berupa objek maupun abstrak, seperti yang dikemukakan oleh Hoffer, Prescott, & Topu (2009: 141) “entity type adalah kumpulan entitas yang bersifat umum karena karakteristik”.Tipe entitas bagian dari entitas yang memiliki atribut until agar dapat membedakannya dari entitas lainnya di dalam Entity Relationship Modeling. Untuk menentuka tipe entitas di dalam sebuah proses bisnis, hal pertama yang dilakukan adalah mengidentifikasi objek, kejadian atau tempat yang mungkin penting dibuthkan oleh suatu organisasi. Connolly & Begg, (2010: 372) mengidentifikasikan “entity typesebagai sebuah grup dari objek dengan properti yang sama, yang diidentifikasi oleh perusahaan seperti mendapatkan sebuah eksistensi independen”. Dengan demikian, dapat disimpulkan bahwa entity type dapat berupa objek, orang, kejadian dan tempat. 2.1.15.2 Relational Type Tipe hubungan digambarkan sebagai hubungan diantara entitas, seperti yang didefinisikan oleh Hoffer, Prescott, & Topi (2009: 151) “relationship type adalah hubungan antara (atau diantara) tipe entitas”. Pernyataan tersebut diperkuat oleh Connolly & Begg, (2010: 374) yang mendefinisikan “relationship type sebagai sebuah set dari assosiasi yang bermakna diantara tipe entitas”. 8 Dari pernyataan Connolly & Begg dapat disimpulkan bahwa tipe atau relationship type merupakan gambaran hubungan antara satu entitas dengan entitas lainnya yang saling terikat satu sama lain. Dapat disimpulkan bahwa tipe hubungan adalah hubungan yang terjadi diantara satu entitas atau lebih. 2.1.15.3 Attribute Attribute merupakan isi dari entitas yang memiliki karakteristiik yang unik, seperti dikemukakan oleh Hoffer, Prescott, & Topi (2009: 145) “attribute adalah sebuah property atau karakteristik suatu entitas atau hubungan yang menarik dari organisasi”. Pernyataan tersebut diperkuat oleh Connolly & Begg (2010: 379) yang mendefinisikan “attribute sebagai sebuah property dari sebuah entitas atau tipe hubungan”. Atribut yang ada pada entitas terdiri dari tiga bagian, yaitu: 1. Candidate key merupakan set minimal dari attribute yang unik, diidentifikasi setiap kejadian dari sebuah tipe entitas. 2. Primary key merupakan candidate key yang dipilih yang unik, diidentifikasi setiap kejadian dari sebuah tipe entitas. 3. Composite key merupakan candidate key yang terdiri dari dua atau lebih atribuut. Dari pengertian diatas dapat disimpulkan bahwa atribut bagian dari entitas, setiap entitas memiliki atribut yang unik dan berbeda. Atribut dapat berupa candidate key, primary key dan composite key. 2.1.15.4 Strong Entity Didalam sebuah entity relationship model terdapat berbagai tipe entitas, tipe entitas tersebut memiliki sifat yang berbeda-beda, salah satunya adalah strong entity.Strong entity merupakan entitas yang dapat berdiri sendiri.Seperti yang dikemukakan oleh Hoffer, Prescott, & Topi (2009: 142) “strong entity adalah suatu entitas yang keberadaannya yang tidak tergantung dari jenis entitas lainnya”.Pernyataan tersebut diperkuat oleh Connolly & Begg (2010: 383) yang mendeskripsikan “Strong Entity sebagai suatu entitas yang keberadaannya tidak bergantung pada beberapa 8 entitas yang lain”.Karakter dari entitas ini adalah bahwa setiap kejadian, entitas teridentifikasi secara untik menggunakan atribut primary key. Dari pengertian diatas dapat disimpulkan bahwa Strong entity merupaakan entitas yang dapat berdiri sendiri dan tidak tergantung pada entitas lain. 2.1.15.5 Weak Entity Di dalam entity relationship model juga terdapat weak entity merupakan entitas Weak entity merupakan entitas yang tidak dapat berdiri sendiri, seperti yang dikemukakan oleh Hoffer, Prescott, & Topi (2009: 142) “ weak entity adalah suatu entitas yang keberadaannya tergantung pada beberapa entitas lainnya, weak entity ini tidak memiliki arti bisnis dalam ER Diagram tanpa entitas yang bergantung”. Pernyataan tersebut diperkuat oleh Connolly & Begg (2010: 383) yang mendefinisikan bahwa “weak entity merupakan entitas yang keberadaannya tergantung pada beberapa entitas yang lain”. Dari pengertian diatas dapat disimpulkan bahwa weak entity merupakan entitas yang tidak dapat berdiri sendiri tanpa entitas lain. Entitas ini memiliki hubungan dengan beberapa entitas sehingga tidak dapat berdiri sendri tanpa entitas lainnya. 2.1.15.6 Multiplicity Multiplicity menggambarkan keterkaitan hubungan diantara tipe entitas, seperti yang didefinisikan oleh Connolly & Begg (2010: 385) “multiplicity adalah sejumlah kejadian yang mungkin dari suatu tipe entitas tunggal memalui hubungan tertentu”. Multiplicity memiliki 3 tipe, yaitu: 1. Hubungan one-to-one (1:1) Hubungna antara entitas yang paling banyak nerpasangan dengan satu entitas saja. 2. Hubungan one-to-many (1:*) Hubungan antara entitas dimana satu entitas depat berhubungan dengan banyak entitas lainnya. Contohnya entitas A dapat berhubungan banyak dengan entitas B tetapi entitas B hanya dapat berhubungan dengan entitas A. 8 3. Hubungan Many-to-Many (*:*) Hubungan antara entitas dimana entitas C dapat berhubungan banyak entitas D dan entitas D dapat berhubungan banyak dengan entitas C. Dapat disimpulkan bahwa multiplicity merupakan kejadian kemungkinan yang berhubungan dengan tipe entitas dan memiliki hubungan tertentu seperti one-to-one (1:1). One-to-many(1:*), dan many-to-many (*:*). 2.1.16 DBMS Dengan adanya database, tentunya dibutuhkan suatu software atau perangkat lunak yang digunakan untuk mendefinisikan, membuat, dan memelihara data yang berada dalam database tersebut. Seperti yang dikemukakan oleh Hoffer, Prescott, & Topi (2009: 49) “DBMS adalah sebuah sistem perangkat lunak yang digunakan untuk membuat, memelihara dan menyediakan akses control ke pengguna basis data”. Penjelasan diatas diperkuat oleh pernyataan Connolly & Begg (2010: 66) “DBMS adalah perangkat lunak yang berinteraksi dengan programprogram pengguna aplikasi dan database”. Fasilitas yang disediakan oleh DBMS adalah sebagai berikut: 1. Memungkinkan pengguuna untuk mendefinisikan database, biasanya melalui DDL, DDL memungkinkan pengguna untuk menentukan tipe data dan struktur dan kendala pada data yang akan disimpan dalam database. 2. Memungkinkan pengguna untuk insert, update, delete dan mengamil data dari database, biasanya melalui DML (Data Manipulation Language). 3. Menyediakan akses kontrol ke database, seperti: • Sistem keamanan • Sistem integrasi • Sistem konkurasi kontrol • Sistem pemulihan kontrol • User accessible catalog 8 2.1.16.1 Komponen Database Management System (DBMS) Dalam menjalankan tugasnya, DBMS memiliki beberapa komponen dalam menjalankan tugasnya.Komponen-komponen DBMS memerlukan perangkat keras seperti komputer, CPU, dan lainnya.Dan membutuhkan perangkat lunak seperti software dalam menjalankan sistemnya, DBMS juga memerlukan data-data, desain, dan orang-orang yang menangani DBMS. Pernyataan tersebut diperkuat oleh Connolly & Begg (2010: 68-71) yang menjelaskan bahwa komponen DBMS terdiri dari 5 komponen, yaitu: 1. Hardware DBMS dan aplikasi memerlukan perangkat keras untuk beroprasi.perangkat keras dapat berkaisar dari komputer pribadi tunggal untuk mainframe tunggal atau jaringan komputer.Perangkat keras tertentu tergantung pada kebutuhan organisasi dan DBMS yang digunakan. Beberapa DBMS yang hanya berjalan pada hardware tertentu atau sistem oprasi, sementara yang lain berjalan di berbagai perangkat keras dan sistem oprasi. Sebuah DBMS memerlukan sejumlah minimul memori utama dan ruang disk untuk dijalankan, tetapi konfigurasi ini minimal belum tentu memberikan kinerja yang diterima. 2. Software Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi, bersama dengan sistem oprasi, termasuk perangkat lunak jaringan jika DBMS digunaka oleh pengguna melalui jaringan. 3. Data Data merupakan komponen yang penting di dalam DBMS.Data berperan sebagai jembatan antara komponen perangkat lunak dan komponen manusia.Database berisi deata oprasional atau data transaksi dan metadata.Struktur database disebut dengan skema, di dalam skema terdapat table-tabel dan atribut dari sebuah objek. 8 4. Procedure Prosedur mengacu pada instruksi dan aturan yang mengatur desain dan pengguuna database. Pengguna sistem dan staf yang mengelola database memerlukan prosedur terdokumentasi tentang cara menggunakan atau menjalankan sistem. 5. People People merupakan user atau orang yang terlibat di dalam sebuah sistem. 2.1.16.2 Keuntungan Database Management System (DBMS) Pengguna database management system dapat memberikan keuntungan pada pengguna, keuntungannya adalah: 1. Mengontrol redudansi data, sistem basis file tradisional menyimpan informasi yang sama di dalam beberapa file, pendekatan database digunakan untuk menghilangkan redudansi data yang sama dan tidak disimpan. 2. Konsistensi data, dengan menghilangkan atau mengendalikan redudanci berarti mengulangi resiko tidak konsisten yang terjadi. Jika data disimpan hanya sekali dalam database setiap update nilai harus dilakukan hanya sekali dan nilai baru yang tersedia langsung diguakan untuk user, jika data yang di simpan lebih dari satu kali dan siste menyadari hal ini maka sistem dapat memastikan bahwa semua salinan data yang disimpan harus konsisten. 3. Informasi lebih lanjut dari jumlah data yang sama dengan integrasi data oprasional memungkinkan organisasi untukmengarahkan informasi tambahan dari data yang sama, 4. Berbagi data, biasanya file yang dimiliki oleh satu orang atau departemen yang menggunakannya, di sisi lain database di memiliki oleh seluruh organisasi dan dapat dgunakan bersama oleh semua pihak yang berwenang. 8 5. Meningkatkan integritas data, integritas database mengacu pada validasi dari konsistensi data yang tersimpan, integritas biasanya dinyatakan dalam hal kendala yaitu konsistensi aturan dimana database tidak diperbolehkan untuk melakukan pelanggaran. 6. Meningkatan keamanan, keamanan database merupakan melindungi database dari pengguna yang tidak sah atau unauthorizes user. 7. Menegakkan standar, integrasi memungkinkan DBA untuk mendefinisikan dan DBMS menegakkan standar yang diperlukan, memungkinkan departemen, organisasi, standart nasional atau internasional untuk hal seperti format data untuk memfasilitasi pertukaran data antara sistem, penanaman conventions, standar dokumentasi, prosedur update dan aturan akses. 8. Skala ekonomi, menggabungkan semua data oprasional organisasi atau perusahaan ke dalam satu database dan menciptakan suatu aplikasi yang bekerja pada satu sumber data yang dapat memberikan penghematan biaya. 9. Neraca persyaratan yang saling bertentangan, setiap pengguna atau departemen memiliki kebutuhan yang mungkin bertentangan dengan kebutuhan pengguna lain karena database berada dibawah kendali DBA. DBA dapat membuat keputusan tentang penggunaan desain dan oprasional database memberikan sumber daya yang baik bagi pengguna dan organisasi secara keseluruhan. 10. Meningkatkan aksesibilitas data dan responsive, hasil dari integrasi data yang melintasi batas-batas departemen adalah diakses langsung oleh pengguna akhir. 11. Meningkatkan produktivitas, DBMS menyediakan banyak fungsi standar yang biasanya programmer harus menulis di dalam aplikasi berbasis file. 12. Meningkatkan pemeliharaan melalui independensi data, dalam sistem berbasis file, gambaran data dan logika untuk 8 mengakses data yang dibangun kedalam setiap program aplikasi membuat program bergantung pada data. 13. Meningkatkan konkurensi, dalam beberapa sistem berbasis file jika ada dua atau lebih pengguna yang diizinkan untuk mengakses rule yang sama secara bersamaan adalah mungkin bahwa akses akan menggunakan satu sama lain, sehingga kehilangan informasi atau bahkan hilangnya integritas. 14. Meningkatnya backup dan pemulihan layanan, banyak sistem berbasis dile menempatkan tanggung jawab pada pengguna untuk memberikan ukuran untuk melindung data dari kegagalan untuk sistem komputer atau program aplikasi. 2.1.16.3 Kekurangan Database Management System (DBMS) Kekurangan-kekurangan database management system adalah sebagai berikut: 1. Kompleksitas, kompleksitas dapat menyebabkan kegagalan untuk memahami sistem dapat menyebabkan keputusan yang buruk yang dapat memiliki konsekuensi serius bagi suatu organisasi. 2. Ukuran, kompleksitas dan luasnya fungsi membuat ukuran DBMS menjadi sangat besar untuk suatu software, DBMS dapat menempati megabyte dari disk dan membutuhkan sejumlah memori yang besar agar dapat berjalan secara efisien. 3. Biaya dari DBMS sangat bervariasi dan tergantung pada lingkungan dan fungsi yang disediakan oleh DBMS. 4. Biaya tambahan untuk perangkat keras, DBMS memerlukan disk dalam penyimpanan dan memungkinkan pembelian ruang penyimpanan tambahan. 5. Biaya konversi, dalam beberapa situasi biaya dari DBMS dan perangkat keras relative kecil dibandingkan dengan 8 biaya mengkonversi aplikasi untuk beroperasi dalam DBMS baru dan perangkat keras. 6. Kinerja, DBMS ditulis lebih umum untuk melayani aplikasi bukan hanya satu tapi lebih dari satu. 7. Dampak yang besar untuk gagal, sentralisasi sumber daya meningkat kerentanan dari sistem karena semua pengguna dan aplikasi berketergantungan pada ketersediaan DBMS, kegagalan komponen tertentu dapat membawa oprasi berhenti. 2.1.17 Structure Query Language Structure Query Language atau SQL merupakan bahasa pemprograman dimana user dapat membuat database, melakukan quey database, menambahkan database baru dan memperbaharui database, seperti dikemukakan oleh Connolly & Begg (2010: 221) “SQL adalah nonproducedural language terdiri dari kata English standar seperti SELECT, INSERT, dan DELETE yang digunakan oleh profesional dan non-profesional”. Keduanya menggunakan bahasa yang standar untuk mendefinisikan dan memanipulasi hubungan database. Pengertian Structure Query Language diperkuat oleh Hall (2011: 787) yang mendefinisikan, “SQL adalah suatu alat pengelolahan data untuk pengguna dan programmer professional untuk mengakses data dalam basis data secara langsung tanpa membutuhkan program konversional”. SQL (Structure Query Language) terdiri dari dua bahasa, yaitu data definition language (DDL) dan data manipulation language (DML). Data Definition Language selalu gunakan oleh DBA (Database Administrator) untuk proses pembuatan suatu aplikasibasis data. Seperti yang dikemukakan oleh Connolly & Begg (2010: 92) yang mendefinisikan “DDl sebagai bahasa yang memungkinkan DBA atau pengguna untuk mendeskripsikan dan menamai entitas, atribut dan hubungan yang diperlukan untuk aplikasi bersama dengan integritas yang terkait dan kendala keamanan”. 8 DML yang merupakan singkatan dari Data Manipulation Language.Dari kepanjangan tersebut dapat dilihat bahwa DML digunakan untuk memanipulasi data maupun objek-objek yang ada, pernyataan tersebut diperkuat oleh Connolly & Begg (2010: 92) yang mendefinisikan “DML adalah bahasa yang menyediakan seperangkat operasi untuk mendukung operasi manipulasi database”. SQL dari penjelasan diatas merupakan suatu alat operasi yang dapat diguakan untuk memanipulasi data yang ada pada database seperti select,insert, update, dan delete. Select merupakan statement yang cukup penting yang ada di dalam language dan digunakan untuk ekspres query. Insert merupakan statement untuk insert sebuah single row dari data sampai memasukkan sebuah table nama atau untuk insert jumlah dari baris untuk satu atau lebih beberaoa table. Update merupakan statement untuk update satu atau lebih nilai dalam specified kolom atau beberapa kolom dari table nama. Dan delete merupakan statement untuk delete satu atau lebih baris dari table nama. SQL juga terdiri dari dua bahasa yaitu DDL dan DML. DDL digunakan untuk Create Use, Drop objek, sedangkan DML digunakan untuk insert, update, delete, dan select. 2.1.18 Web Menurut Hongjun Lu (2008), Web menyediakan ligkungan yang user- friendly untuk penghasil informasi pada web. Web merupakan CGI script yang dapat diprogram yang dapat ditambahkan pada web server yang sudah diinstal. 2.1.19 PHP PHP singkatan dari PHP Hypertext Preprocessor yang digunakan sebagai bahasa script server-side dalam pengembangan Web yang disisipkan dalam dokumen HTML. Penggunaan PHP memungkinkan web dapat dibuat dinamis sehingga pemeliharaan situs web tersebut menjadi lebih mudah dan efisien. PHP merupakan software Open-Source yang disebarkan dan 8 dilisensikan secara gratis serta dapat di-download secara bebas dari situs resminya (www.php.net ). PHP ditulis dengan menggunakan bahasa C. Saat ini PHP amat populer dan menggantikan Perl yang sebelumnya juga populer sebagai bahasa scripting web. PHP telah menjadi modul Apache terpopuler (menurut www.securityspace.com), melebihi FrontPage dan ModPerl. Dan menurut hasil survei www.netcraft.co.uk, PHP terus meningkat penggunaannya dan telah digunakan pada jutaan domain dan jutaan alamat IP. PHP telah digunakan oleh berbagai situs populer baik luar negeri maupun situs dalam negeri. 2.1.19.1 Database yang Dapat Didukung PHP Salah satu fitur yang dapat diandalkan oleh PHP adalah dukungannya terhadap banyak basisdata. Berikut basis data yang dapat didukung oleh PHP: • Adabas D • dBase • Direct MS-SQL • Empress • FilePro (read only) • Front Base • Hyperwave • IBM DB2 • Informix • Ingres • Interbase • MSQL • MySQL • ODBC • Oracle (OC17 dan OC18) • Ovrimos • PostgrSQL • Solid • SYbase 8 • Unix DBM • Velocis 2.1.19.2 Sintaks Dasar PHP Sintaks Program PHP ditulis dalam apitan tanda khusus PHP. Ada empat macam pasangan tag PHP yang dapat digunakan untuk menandai blok scriptPHP : 1. <?php ... ?> 2. <script language=”PHP”> ... </script> 3. <? ... ?> 4. <% ... %> Cara pertama dan kedua merupakan cara yang paling umum digunakan sekalipun cara ketiga tampak lebih praktis karena cara ketiga tidak selalu diaktifkan pada konfigurasi file php ini yang terdapat pada direktori c:\apache\php. Cara keempat juga dimungkinkan sebagai kemudahan bagi Anda yang sudah terbiasa dengan ASP (Active Server Pages). Namun, bila itu tidak dikenal, maka harus dilakukan pengaktifan pada file konfigurasi PHP ini. 2.1.20MySQL MySQL merupakan bahasa pemrograman open-source paling populer dan paling banyak digunakan di lingkungan Linux. Kepopuleran ini karena ditunjang oleh performansi query dari database-nya yang jarang bermasalah. MySQL (My Structure Query Language) adalah sebuah program pembuatdatabase yang bersifat open-source, artinya siapa saja dapat menggunakannya secara bebas. MySQL sebenarnya produk yang berjalan pada platform Linux. Karena sifatnya yang open-source, MySQL dapat berjalan pada semua platform baik Windows maupun Linux. Selain itu, MySQL juga merupakan program pengakses database yang bersifat jaringan sehingga dapat digunakan untuk aplikasi multiuser (banyak pengguna). Saat ini databaseMySQL telah 8 digunakan hampir oleh semua pemrogram database, terlebih dalam pemrograman web. Kelebihan lain dari MySQL adalah penggunaan bahasa query yang dimiliki SQL (Structured Query Language). SQL adalah suatu bahasa permintaan yang terstruktur dan telah terstandarisasi untuk semua program pengakses database seperti Oracle, PosgreSQL, SQLServer, dan lain-lain. Menurut Arlita,Ismail,dan Putro (2010), MySQL adalah Relational Database Management System (RDMS) yang didistribusikan secara gratis di bawah General Public Lisence (GPL). MySQL merupakan turunan dari salah satu konsep utama dalam database, yaitu Structured Query Language (SQL). Sebagai sebuah program penghasil database, MySQL tidak dapat berjalan sendiri tanpa adanya sebuah aplikasi lain (interface). MySQL dapat didukung oleh hampir semua program aplikasi baik yang open-source seperti PHP maupun yang tidak, yang ada pada platform Windows seperti Visual Basic, Delphi, dan lainnya. 2.1.21 Interaksi Manusia dan Komputer Menurut Sneiderman (2010, p32), ada lima faktor manusia terukur yang dapat dijadikan sebagai pusat evaluasi, yaitu : 1. Waktu belajar Waktu yang dibutuhkan oleh user untuk mempelajari cara relevan dalam mengerjakan tugas dengan lancar. 2. Kecepatan kinerja Waktu yang diperlukan untuk mengerjakan suatu tugas yang diberikan. 3. Tingkat kesalahan Berapa banyak kesalahan yang dilakukan oleh user dan kesalahan- kesalahan seperti apa yang bisa terjadi saat user mengerjakan tugas tersebut. 4. Daya ingat Kemampuan user mempertahankan pengetahuannya setelah jangka waktu tertentu. 5. Kepuasan subjektif Kepuasan user terhadap berbagai aspek dari sistem. 8 Menurut Shneiderman (2010, p88), terdapat delapan aturan emas dalam desain antarmuka yaitu: 1. Berusaha untuk konsisten Aturan ini merupakan aturan yang paling sering dilanggar, karena terdapat banyak bentuk konsistensi. Konsisten dalam hal urutan aksi, istilah yang digunakan, menu, layout, penggunaan warna, tata letak, kapitalisasi, font, dan sebagainya. 2. Menyediakan kebutuhan universal Dengan memahami kebutuhan user yang bermacam-macam dan membuat desain fleksibel yang mendukung perubahan dalam konten. 3. Memberikan umpan balik yang informatif Untuk setiap aksi user, harus ada sistem umpan balik. Untuk aksi kecil yang sering dilakukan, respon dapat dibuat dengan sederhana. Sedangkan untuk aksi yang besar dan jarang dilakukan, respon harus dibuat lebih tegas dan jelas. 4. Desain dialog untuk menghasilkan penutupan atau keadaan akhir Urutan aksi hendaknya disusun ke dalam kelompok kategori awal, tengah, dan akhir. Umpan balik yang informatif dapat memberikan kepuasan pencapaian, rasa lega, sinyal untuk mempersiapkan dirimemasuki kelompok kategori aksi selanjutnya. 5. Penawaran pencegahan dan penanganan kesalahan sederhana Usahakan dalam mendesain suatu sistem, diarahkan agar user tidak membuat kesalahan yang serius. Misalnya menyediakan pilihan menu, tidak mengizinkan karakter alfabet pada kotak entri numerik. Jika user melakukan kesalahan, sistem harus dapat mendeteksi kesalahan dan menawarkan instruksi yang sederhana, konstruktif, dan spesifik untuk perbaikan. Contoh, user tidak perlu mengetik ulang seluruh perintah, melainkan hanya memperbaiki bagian yang salah saja. 8 6. Mengizinkan pembalikan aksi yang mudah Pada suatu sistem aplikasi harus terdapat pembalikan aksi. Fiturini dapat memperkecil kesalahan, selama user tahu bahwa aksi dapat dibatalkan. Pembalikan aksi dapat berupa tindakan tunggal, tugas data entry, atau serangkaian aksi seperti entri nama dan alamat. 7. Mendukung pusat kendali internal User yang sudah terbiasa dengan suatu aplikasi, biasanya inginmemiliki kendali atas antarmuka dan tanggapan dari aksinya. Aksi antarmuka yang tidak umum, urutan entri data yang membosankan, kesulitan dalam memperoleh informasi yang dibutuhkan, serta ketidakmampuan menghasilkan aksi yang diinginkan dapat menimbulkan keresahan dan ketidakpuasan pada user. 8. Mengurangi beban ingatan jangka pendek Manusia mempunyai keterbatasan dalam memproses informasidengan waktu yang singkat. Oleh karena itu diperlukan tampilan yang sederhana, pengurangan jendela-gerak frekuensi, pemberian waktu pelatihan yang cukup untuk kode-kode, hafalan dan rangkaian aksi. Jika diperlukan, akses online untuk sintaks, singkatan, kode, dan informasi yang terkait harus disediakan. 2.1.22 Pembelian Menurut Mulyadi (2008: 299), pembelian didefinisikan sebagai suatu usaha yang digunakan oleh perusahaan dalam pengadaan barang yang diperlukan oleh perusahaan. A. Penggolongan Transaksi Pembelian Transaksi pembelian dapat digolongkan menjadi dua yaitu: Pembelian lokal, yaitu pembelian dari pemasok dalam negeri, Pembelian impor, yaitu pembelian dari pemasok luar negeri. a. Fungsi yang Terkait dengan Transaksi Pembelian Fungsi yang terkait dalam sistem pembelian menurut Mulyadi (2008: 299) adalah sebagai berikut: 8 1. Fungsi Gudang Memiliki tanggung jawab untuk mengajukan permintaan pembelian sesuai dengan persediaan yang ada di gudang dan menyimpan barang yang telah diterima oleh fungsi penerimaan. 2. Fungsi Pembelian Memiliki tanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang dipilih dalam pengadaan barang, dan mengeluarkan order pembelian pada pemasok yang dipilih. 3. Fungsi Penerimaan Memiliki tanggung jawab untuk melakukan pemeriksaan terhadap jenis, mutu dan kuantitas barang yang diterima dari pemasok guna menentukan layak atau tidaknya barang tersebut diterima oleh perusahaan.Fungsi ini juga bertanggung jawab untuk menerima barang dari pembeli yang berasal dari retur penjualan. 4. Fungsi Akuntansi Fungsi yang terkait dalam hal ini adalah fungsi pecatat ulang dan fungsi pencatat persediaan.Fungsi pencatat hutang bertugas untuk mencatat transaksi pembelian ke dalam bukti kas keluar dan untuk menyelenggarakan arsip dokumen sumber (bukti kas keluar) yang berfungsi sebagai catatan hutang atau menyelenggarakan kartu hutang sebagai buku pembantu hutang.Fungsi pencatat persediaan bertanggung jawab untuk mencatat harga pokok persediaan barang yang dibeli dalam kartu persediaan. 2.1.23 Penjualan Menurut Kotler (2006, p457) penjualan merupakan sebuah proses dimana kebutuhan pembeli dan kebutuhan penjual dipenuhi, melalui antar 8 pertukaran informasi dan kepentingan, jadi konsep penjualan adalah cara untuk mempengaruhi konsumen untuk membeli produk yang ditawarkan. 2.1.24 Persediaan Dalam sebuah perusahaan persediaan barang merupakan milik perusahaan yang disiap untuk dijual kepada para konsumen.Pada setiap tingkat perusahaan baik perusahaan kecil, menengah maupun besar, persediaan sangat penting bagi kelangsungan hidup perusahaan.Perusahaan harus dapat memperkirakan jumlah persediaan yang dimilikinya. Persediaan yang dimiliki oleh perusahaan tidak boleh terlalu banyak dan juga tidak boleh selalu sedikit karena akan mempengaruhi biaya yang akan dikeluarkan untuk persediaan tersebut. Maka persediaan barang merupakan barang-barang yang disediakan dengan tujuan untuk dijual kembali kepada para konsumen dan digunakan untuk mencatat harga pokok barang selama periode normal kegiatan perusahaan. 8 2.2 Kerangka Pikir Mengidentifikasi masalah Metodologi tugas akhir Menentukan ruang lingkup, tujuan dan manfaat Metodologi pengumpulan data Memeriksa dokumentasi Observasi Wawancara Riset Melakukan analisa Kebutuhan user Prosedur berjalan Identifikasi masalah Melakukan perancangan Metode konseptual Metode logikal Metode fisikal Evaluasi aplikasi Perancangan aplikasi Solusi 8