Bab II Landasan Teori 2.1 Teori Umum 2.1.1 Pengertian Sistem, Informasi dan Sistem Informasi 2.1.1.1 Sistem Menurut McLeod dan Scheel (2007, p10), sistem adalah elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Dimana elemen-elemen tersebut, terdiri dari sumber daya input, proses transformasi dan sumber daya output. Suatu sistem juga mempunya karakteristik tertentu, yaitu : • Components (Komponen-komponen) • Boundary (Batasan Sistem) • Environments (Lingkungan sistem) • Interface (Penghubung User dengan sistem) • Input (Masukan) • Process (Proses) • Output (Keluaran/hasil) • Objectives (Sasaran) • Goal (Tujuan) 2.1.1.2 Informasi Menurut Stair dan Reynolds (2006, p5), Informasi adalah sekumpulan dari fakta yang diorganisasikan dalam berbagai cara yang telah memiliki nilai tambah melalui nilai fakta itu sendiri. 9 10 Menurut O’Brien (2005, p38), informasi adalah data yang telah diubah menjadi suatu konteks yang memiliki arti yang berguna bagi pemakai akhir. Menurut McLeod dan Scheel (2007, p11), informasi adalah data hasil pemrosesan yang memiliki makna, biasanya menceritakan suatu hal yang belum diketahui kepada pengguna. Suatu informasi bisa berguna haruslah memiliki beberapa ciri – ciri atau karakteristik berikut ini : 1. Reliable (Data dipercaya) Informasi haruslah bebas dari kesalahan dan haruslah akurat dalam mempresentasikan suatu kejadian atau kegiatan dari suatu organisasi. 2. Relevan (Cocok dan sesuai) Informasi yang relevan harus memberikan arti kepada pembuat keputusan. Informasi ini bisa mengurangi ketidakpastian dan bisa meningkatkan nilai dari suatu kepastian. 3. Timely (Tepat Waktu) Informasi yang disajikan tepat pada saat dibutuhkan dan bisa mempengaruhi proses pengambilan keputusan. 4. Complete (Lengkap) Informasi yang disajikan termasuk didalamnya semua data yang relevan dan tidak mengabaikan kepentingan yang diharapkan oleh pembuat keputusan 5. Understandable (Dimengerti) Informasi yang disajikan hendaknya dalam bentuk yang mudah dimengerti oleh pembuat keputusan. 11 Informasi adalah suatu kumpulan data/fakta yang telah diolah sehingga berguna bagi pengguna akhir atau pembuat keputusan. 2.1.1.3 Sistem Informasi Menurut McLeod dan Scheel (2007, p10), sistem informasi adalah sistem virtual yang memungkinkan management mengendalikan operasi sistem fisik perusahaan. Menurut Stair dan Reynolds (2006, p4), sistem informasi adalah kumpulan dari komponen yang saling berhubungan yang mengumpulkan, memanipulasi, menyimpan dan menyebarkan data dan informasi serta menyediakan sebuah mekanisme umpan balik untuk memenuhi sebuah tujuan. Menurut O’Brien (2005, p5), sistem informasi merupakan kombinasi yang teratur dari orang, hardware, software, network dan sumber daya data yang mengumpulkan, mengubah dan menyebarkan informasi sebuah organisasi. Orang bergantung pada sistem informasi untuk berkomunikasi antara satu sama lain dengan menggunakan berbagai alat fisik (Hardware), perintah dan prosedur pemrosesan informasi (Software), saluran komunikasi, jaringan dan data yang disimpan. Menurut Agustinus Fritz Wijaya pada jurnal INFORMATION SYSTEMS STRATEGIC PLANNING TO INCREASE COMPETITIVE ADVANTAGE OF HIGHER EDUCATION USING BE VISSTA PLANNING METHODOLOGY(2012, p68), Sistem informasi dan teknologi informasi memiliki dampak yang besar pada organisasi. SI/TI tidak hanya memberikan peningkatan kerja yang efektif dan efisien tapi juga menjadi salah satu faktor yang mengarahkan organisasi untuk mewujudkan proses bisnis yang baik dan mencapai tujuan bisnis dari organisasi dengan cara membuat cara baru dalam mengelola organisasi, meningkatkan produktifitas 12 dan kinerja, mengelelola bisnis baru dan memberikan keunggulan yang kompetitif. 2.1.2 Pengenalan Database Database saat ini sudah menjadi bagian dari kehidupan sehari-hari dan tanpa kita sadari kita pasti pernah menggunakan salah satu database. Menurut Connoly (2010, p54), database adalah kumpulan data yang berhubungan yang didesain untuk memenuhi kebutuhan informasi sebuah perusahaan dan menurut Connolly (2010, p54), DBMS adalah perangkat lunak yang digunakan untuk mengelola dan mengontrol akses ke dalam database. Menurut Connolly(2010, p54), database application adalah suatu program yang berinteraksi dengan database menggunakan permintaan sederhana ke DBMS. Contoh aplikasi berbasis database, misalnya membeli melalui credit card, melakukan booking tiket pesawat dan mendaftarkan diri ke suatu asuransi. 2.1.2.1 Pendekatan Database Pendekatan database terbentuk karena diperlukan data yang dapat saling terkait dan dapat digunakan secara bersama-sama, dan memerlukan kemudahan dalam pengendalian terhadap akses dan manipulasi data. Hasil dari permasalahan diatas, maka dirancanglah database yang dikontrol oleh database management system (DBMS). 2.1.2.2 Pengertian Database Menurut Connoly(2010, p65), database merupakan kumpulan data yang secara logical terhubung dan dirancang untuk memenuhi informasi yang dibutuhkan oleh organisasi. Sebagai sistem katalog (data dictionary atau metadata). Yang mampu mendeskripsikan dirinya sebagai kumpulan record yang terintegrasi, yang berelasi secara logikal terdiri dari entitas, atribut, dan hubungan yang mana ketiga gabungan perusahaan. tersebut merepresentasikan informasi suatu 13 2.1.2.3 Database Management System(DBMS) Menurut Connolly(2010, p66), DBMS adalah suatu software yang memungkinkan user untuk berinteraksi dengan program aplikasi dan database. DBMS menyediakan beberapa fasilitas yaitu : 1. Data Definition Language, yang digunakan oleh user untuk mendefinisikan database, seperti tipe data, struktur dan batasan data yang disimpan kedalam database. 2. Data Manipulation Language, yang memungkinkan user dapat menambah, merubah, menghapus dan mengambil data yang diinginkan dari database yang menggunakan bahasa query. 3. Menyediakan pengendalian akses kedalam database . - Security System, yang memungkin hanya user tertentu yang dapat mengakses database . - Integrity System, yang berguna untuk menjaga konsistensi suatu data di dalam database . - Concurrency control system, yang berguna untuk pengendalian penyebaran atau pembagian data. - Recovery control system, yang berguna untuk mengembalikan bentuk konsistensi database apabila terjadi kesalahan hardware atau software. - User-accessible catalog, yang berguna untuk menampilkan deskripsi dari suatu data dalam database . 2.1.2.4 Komponen Database Management System(DBMS) Ada 5 komponen yang terdapat didalam lingkungan DBMS, yaitu: 1. Hardware, untuk menjalankan DBMS dan aplikasi kita memerlukan perangkat keras seperti komputer hingga jaringan. 14 2. Software, DBMS itu sendiri termasuk software yang digunakan untuk melakukan kontrol dan pengendalian kepada database . 3. Data, data merupakan bagian paling penting dari lingkungan DBMS, data diperlukan untuk mendesain skema database . 4. Procedures, prosedur merupakan instruksi aturan yang untuk mendesain dan menggunakan database dan DBMS. 5. People, merupakan SDM yang terlibat dalam penggunaan DBMS, antara lain: • Data Administration Data Administration lebih memperhatikan awal dari lifecycle, DA mengatur sumber daya yang ada , meliputi : perencanaan database, pengembangan dan pemeliharaan kebijakan, prosedur, dan design database standar, logikal dan konseptual. • Database Administration DBA mengatur realisasi fisik dari aplikasi database yang meliputi desain fisik database dan implementasi, pengaturan keamanan dan kontrol integritas, pengawasan performa sistem dan pengaturan ulang database . • Database Desaigner • Programmer • End Users • Naive : User yang tidak perlu tau mengenai DB dan DBMS. Hanya menggunakan program aplikasi. • Sophisticated : User yang Familiar dengan struktur database dan DBMS. 15 2.1.2.5 Kelebihan dan Kekurangan DBMS Menurut Connolly (2010, p77) terdapat kelebihan dan kekurangan dalam menggunakan DBMS, yaitu : Kelebihan DBMS : 1. Mengontrol redudansi data 2. Data yang konsisten 3. Lebih banyak informasi yang didapat dari jumlah data yang sama 4. Sharing data 5. Meningkatkan integritas data 6. Meningkatkan keamanan data 7. Standard pelaksanaan, format data, prosedur update, dan penamaan 8. Economy of Scale, data operasional perusahaan dijadikan satu, kemudian aplikasi dibuat dengan menggunakan data source yang tunggal tersebut, sehingga akan menghemat biaya. 9. Keseimbangan konflik kebutuhan, database yang digunakan untuk berbagi kepentingan. 10. Meningkatkan aksesibilitas dan respon data 11. Meningkatkan produktifitas 12. Meningkatkan pemeliharaan melalui data indepenence 13. Meningkatkan konkurensi, mengurangi kehilangan informasi dan kehilangan integrasi 14. Meningkatkan layanan backup dan recovery. Kekurangan DBMS : 16 1. Kompleksitas 2. Ukuran yang besar 3. Biaya yang digunakan untuk DBMS 4. Biaya hardware tambahan 5. Biaya konversi, seperti training 6. Kinerja 7. Dampak kegagalan yang besar 2.1.3 Tiga Level Arsitektur ANSI-SPARC Gambar 2.1 Tiga level Arsitektur ANSI-SPARC 1. External level Level ini merupakan level dimana pengguna melihat atau mengakses kedalam database. Level ini mendeskripsikan bagian dari database yang relevan ditampilkan untuk penggunanya 2. Conceptual level Level ini menjelaskan data apa yang di simpan kedalam database dan hubungan antara data tersebut. 17 3. Internal level Representasi fisik database di dalam komputer. Level ini menjelaskan bagaimana data disimpan kedalam database. 2.1.4 Pengelolaan Siklus Sistem Database Menurut Connolly(2010, p313), Sistem database merupakan komponen yang paling mendasar yang harus dipenuhi pada organisasi yang memiliki sistem informasi yang besar dan berdasarkan kebutuhan organisasi tersebut. Gambar 2.2 Pengelolaan Siklus Sistem Database 2.1.4.1 Tahap pengelolaan siklus sistem database 1. Database Planning 18 Perencanaan database merupakan suatu aktifitas yang memungkinkan tahapan dari pengelolaan siklus sistem database dapat terelasisasi secara efisien dan efektif. Perencanaan database harus diintegrasikan dengan keseluruhan istrategi sistem informasi, yaitu : • Mengidentifikasi rencana dan tujuan perusahaan termasuk sistem informasi yang dibutuhkan. • Mengidentifikasi sistem informasi yang telah ada untuk menetapkan kelebihan dan kekurangan yang ada di sistem informasi tersebut. • Menaksirkan kesempatan IT yang memungkinkan dapat memberikan keuntungan yang kompetitif. 2. Mendefinisikan sistem Menetapkan batasan dan cakupan dari sistem database dan sudut pandang pengguna yang diutamakan. Sebelum merancang sistem database, hal ini penting kita pertama kali harus mengidentifikasi cakupan sistem kita harus melakukan investigasi dan bagaimana interface dengan bagian lain dari sistem informasi dalam organisasi tersebut. Sudut pandang pengguna mendefinisikan apa yang diwajibkan dari suatu aplikasi database dari perspektif aturan kerja seperti Manager dan Supervisor. Aplikasi database dapat memiliki satu atau lebih sudut pandang pengguna. Identifikasi sudut pandat pengguna untuk membantu memastikan bahwa tidak ada user utama dari suatu database yang terlupakan ketika pembuatan aplikasi. Sudut pandang pengguna juga membantu dalam pengembangan aplikasi database yang kompleks yang memungkinkan permintaan-permintaan dipecah kedalam bagian yang lebih sederhana. 3. Pengumpulan data dan analisis 19 Proses mengumpulkan dan menganalisa informasi tentang bagian dari organisasi yang didukung oleh sistem database, dan menggunakan informasi tersebut untuk mengidentifikasi kebutuhan untuk sistem yang baru. Banyak teknik yang dapat digunakan untuk mendapatkan informasi tersebut, seperti teknik Fact-Finding. Informasi yang dikumpulkan untuk setiap sudut pandang pengguna utama melipu : • Deskripsi data yang digunakan • Mengetahui secara detil bagaimana data digunakan • Menambahkan beberapa kebutuhan tambahan untuk sistem database yang baru 4. Mendesain Database Desain database merupakan proses menciptakan perancangan yang akan mendukung tujuan perusahaan untuk kebutuhan sistem database. Terdapat empat pendekatan dalam perancangan database, yaitu : • Bottom-up Pendekatan ini dimulai dari tingkat paling dasar dari atribut(yaitu property dari entitas dan hubungan relasional) dimana melalui analisis dan gabungan antar atribut, dikelompokkan ke dalam relasi yang mempresentasikan tipe entitas dan hubungan antar entitas. Pendekatan ini lebih cocok untuk perancangan database yang sederhana dengan jumlah atribut yang relative kecil. • Top-down Pendekatan ini dimulai dari perkembangan model data yang terdiri dari beberapa entitas tingkat tinggi dan hubungannya. 20 • Inside-out Hampir sama dengan bottom-up tetapi berbeda pada saat identifikasi himpunan entitas utama dan kemudian menyebar untuk mempertimbangkan entitas lain, hubungan, dan himpunan atribut identifikasi pertama. • Mixed-strategy Strategi ini menggunakan kedua pendekatan terlebih dahulu yaitu bottom-up dan top-down untuk bermacammacam bagian model sebelum digabungkan dengan semuanya. Tiga fase mendesain database : • Conceptual database design Suatu proses membangun model dari data yang digunakan di dalam perusahaan, independen dari keseluruhan aspek fisik. • Logical database deisgn Suatu proses membangun model dari data yang digunakan perusahaan berdasarkan model data tertentu, tetapi independen terhadap DBMS dan aspek fisik lainnya. • Physical database design Proses yang menghasilkan deskripsi implementasi dari database pada penyimpanan sekunder. Menjelaskan dasar relasi, organisasi file, penggunaan index untuk mencapai efisiensi akses ke data, dan beberapa batasan integritas dan pengukuran keamanan database. 5. DBMS Selection Pemilihan produk DBMS yang tepat untuk mendukung sistem database . Tahapan-tahapan utama untuk memilih produk DBMS: 21 • Mendefinisikasi kerangka acuan penelitian • Membuat dua atau tiga list produk yang akan digunakan • Evalusasi produk yang akan digunakan • Merekomendasikan pilihan dan buat laporannya 6. Application Design Mendesain interface antar pengguna dan program aplikasi yang akan digunakan untuk memproses ke dalam database. Desain database dan aplikasi merupakan aktifitas yang saling berhubungan meliputi dua aktifitas penting, yaitu : 1. Transaction Design Transaksi merupakan aksi atau serangkaian aksi yang dilakukan oleh user tunggau atau program aplikasi, yang mengakses atau merubah isi dari database. Tujuan dari desan transaksi adalah untuk menetapkan dan keternagan karakteristik high-level dari suatu transaksi yang dibutuhkan pada database, diantaranya : • Data yang digunakan oleh transaksi • Karakteristik fungsional suatu transaksi • Hasil Transaksi • Keuntungan bagi user • Tingkat kegunaan sesuai yang diharapkan Terdapat tiga tipe transaksi, yaitu : • Retrieval Transaction, yang digunakan untuk pemanggilan data untuk ditampilkan di layar atau menghasilkan suatu laporan. 22 • Update transaction, yang digunakan untuk menambah data, menghapus, atau memodifikasi data yang sudah ada didalam database . • Mixed transaction, transaksi yang melibatkan pemanggilan dan perubahan data. 2. User Interface Design Guidelines Sebelum mengimplementasikan form atau report, hal ini penting pada saat pertama kali mendesain layout, ada beberapa aturan pokok dalam pembuatan user interface. • Meaningful title, pemberian nama suatu form yang cukup jelas untuk menerangkan kegunaan form tersebut • Comprehensible instructions, penggunaan terminologi yang umum untuk menyampaikan instruksi ke user dan jika informasi tambahan dibutuhkan, maka harus disediakan helpscreen. • Logical grouping and sequencing of fields, field yang saling berhubungan ditempatkan pada form/report yang sama. Urutan field harus logis dan konsisten. • Visually appealing layout of the form / report, tampilan form/report harus menarik, dan sesuai dengan hardcopy agar konsisten. • Familiar field labels, label yang digunakan harus familir sehingga pengguna yang menggunakan aplikasi tersebut merasa lebih nyaman. • Consistent terminology and abbreviations, terminologi dan singkatan yang digunakan harus konsisten • Consisten use of color, warna yang digunakan harus meningkatkan penampilan dari form/report yang ada. 23 • Visible space and boundaries for data-entry fields, jumlah tempat yang disediakan untuk menginput data harus diketahui oleh pengguna. • Convenient cursore movement, pengguna dapat mudah menjalankan operasi yang diinginkan dengan menggerakan cursor pada form/report. • Error correction for individual characters and entire field, pengguna dapat dengan mudah menjalankan operasi yang diinginkan dan melakukan perubahan terhadap nilai field. • Error messages for unacceptable values, memberikan pesan kesalahan terhadap nilai yang salah. • Optional fields marked clearly, field yang optimal dapat dengan mudah di identifikasi oleh pengguna. • Explanatory messages for fields, ketika user menempatkan kursor kefield, informasi tentang field tersebut harus dapat dilihat. • Completion Signal, indikator yang menjelaskan bahwa suatu proses telah selesai dilaksanakan. 7. Prototyping Membuat model kerja sistem database. Tujuan dari pembuatan prototyping adalah : • Mengidentifikasi fungsi dari sistem yang ada berjalan dengan baik atau tidak. • Untuk memberikan perbaikan-perbaikan atau penambahan fungsi yang baru. • Untuk klarifikasi kebutuhan pengguna. 24 • Untuk evaluasi feasibilitas (kemungkinan yang akan terjadi) dari disain sistem khusus. 8. Implementation Merupakan realisasi fisik dari disain database dan aplikasi. Implementasi database dicapai dengan menggunakan: • DDL untuk membuat skema database dan file database kosong. • DDL untuk membuat sudut pandang pengguna yang diinginkan • 3GL(Third Generation Language) dan 4GL(Fourth Generation Language) untuk membuat program aplikasi. Termasuk transaksi database disertakan dengan menggunakan DML, atau ditambahkan pada bahasa pemrograman. 9. Data Conversion and Loading Pemindahan data yang ada ke yang baru dan mengkonversi ke aplikasi untuk menjalankan database dibutuhkan ketika sistem database yang baru. Tahapan ini baru menggantikan sistem yang lama. DBMS biasanya memiliki utilitas yang memanggil ulang file yang sudah ada ke dalam database baru. 10. Testing Suatu proses menjalankan sistem database dengan tujuan untuk menemukan error. Dengan menggunakan strategi uji coba yang direncakan dan data yang sesungguhnya. Pengujian hanya akan terlihat jika kesalahan software. Mendemonstrasikan database dan program aplikasi terlihat berjalan seperti yang diharapkan. 11. Operational Maintenance 25 Suatu proses mengawasi dan memlihara sistem database setelah proses instalasi selesai, meliputi : • Pengawasan performa sistem, jika performa menurun maka memerlukan perbaikan atau pengaturan ulang database . • Pemeliharaan dan pembaharuan aplikasi database • penggabungan kebutuhan baru ke dalam aplikasi database 2.1.5 Microsoft SQL Server Microsoft SQL server merupakan database komersial dari Microsoft yang banyak digunakan saat ini. Microsoft SQL Server adalah database relasional yang berjalan diatas sistem operasi berbasis NT. Kode penyusunan dari Microsoft SQL Server (sebelum versi 7) berasal dari Sysbase SQL Server, dan itu merupakan langkah pertama Microsoft dalam memasuki market database perusahaan, bersaing dengan Oracle, IBM dan kemudian dengan Sysbase sendiri. Microsoft, Sysbase dan Asthon-tate sebenarnya bergabung dalam membuat dan memasarkan versi pertama yang bernama SQL Server 1.0 pada tahun 1989. Kemudian Microsoft SQL Server 4.2 diluncurkan pada tahun 1992. Microsoft SQL Server 6 merupakan versi pertama dari SQL Server yang dibangun untuk sistem operasi NT dan tidak mengandung dukungan dari Sysbase. Setelah beberapa perbaikan penambahan fitur, maka microsoft merilis SQL Server 7 dimana ini merupakan database yang berbasis GUI yang pertama dan dibangun tidak berdasarkan kode program dari Sysbase. Menurut Gul Shahzad Sarwar et al. pada jurnal Merging Large-Scale Assessment Data for Secondary Analysis: Experiences with EQAO’s Data(2013, p45) Penggunaan SQL akan lebih baik ketika digunakan pada data yang memiliki banyak hubungan. Misalnya dalam data yang berisi 1..* antara guru dan murid – muridnya. 26 2.1.6 Pengertian Java Menurut Cecil Schmidt pada jurnal Effects of a Case-Based Reasoning System on Student Performance in a Java Programming Course (2007, p437)Java adalah bahasa pemrograman berorientasi objek biasa dipakai sebagai bahasa pemrograman yang pertama kali dipelajari dikarenakan tidak terlalu sulit untuk dipelajari selain itu Java juga merupakan bahasa pemrograman yang dapat digunakan disetiap platform. Sebagai sebuah bahasa pemograman, Java dapat membuat seluruh bentuk aplikasi seperti desktop, web, dsb. Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE). 2.1.6.1 Keuntungan Java Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik sebagai berikut : 1. Sederhana Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance 2. Berorientasi Objek (Object Oriented) Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Dengan berorientasi objek maka program dapat dengan mudah dipelihara, dimodifikasi, dan meningkatkan penggunaan kembali software. 3. Dapat didistribusi dengan mudah Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java. 27 4. Interpreter Program Java dijalankan menggunakan Java Virtual Machine (JVM), hal ini menyebabkan source code java yang telah dikompilasi menjadi bytecodes sehingga dapat dijalankan pada platform yang berbeda – beda. 5. Robust Java mempunya reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan dengan bahasa pemrograman lain, serta mempunyai runtime-exception handling untuk membantu mengatasi error pada pemrograman. 6. Aman Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, java memiliki berbagai mekanisme kemanan untuk menjaga aplikasi untuk tidak merusak sistem komputer yang menjalankan aplikasi tersebut. 7. Architectur neutral Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine. 8. Portable Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda – beda tanpa harus dikompilasi ulang. 9. Performance Kemampuan Java sering dikatakan kurang tinggi, namun kemampuan java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan inprise, Microsoft, ataupun Symantec yang menggunakan Just in Time Compilers(JIT). 28 10. Multithreaded Java mempunya kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan. 11. Dinamis Java didesain untuk dapat dijalankan pada lingkungan yang dinamis, perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa mengganggu program yang menggunakan class tersebut. 2.1.7 NetBeans Menurut Isnandi et al. pada Jurnal Pembangunan Aplikasi Pembelian dan Penjualan Barang pada Toko Ritzca Elektronik Punung (2013, p2) NetBeans merupakan salah satu IDE yang dikembangkan dengan bahasa pemrograman Java. NetBeans mempunyai lingkup pemrograman Java yang terintegrasi dalam suatu perangkat lunak yang di dalamnya menyediakan pembangunan pemrograman GUI, text editor, complier, dan interpreter. NetBeans adalah sebuah perangkat lunak open source sehingga dapat digunakan secara gratis untuk keperluan komersial maupun nonkomersial yang didukung oleh Sun Microsystem. 2.1.8 Fact Finding Techniques Fact Finding adalah proses formal menggunakan teknik seperti wawancara dan daftar pertanyaan untuk mengumpulkan fakta tentang sistem, kebutuhan, dan pilihan. Setiap tahapan dalam siklus hidup basis data membutuhkan teknik pencarian fakta. Tahapan Silus Hidup Basis Data Contoh Data Contoh Dokumentasi yang Di hasilkan 29 Perencanaan Basis Data Tujuan dan sasaran Definisi Sistem Statemen misi dan project basis data sasaran sistem basi data Deskripsi pandangan Definisi lingkup dan user yang meliputi batasan aplikasi basis peranan pekerjaan atau data. area bisnis aplikasi Definisi user mengenai view yang mendukung mereka Kebutuhan-kebutuhan Kebutuhan user akan Spesifikasi berbagai pengumpulan dan view dan spesifikasi user dan kebutuhan analisa sistem yang mencakup sistem. kebutuhan kinerja dan keamanan Perancangan Basis User memberikan Konseptual dan logikal Data respon untuk desa berbasis data memeriksa kembali seperti ER, kamus data, desain logika basis data dan skema relasional. dan fungsi-fungsi yang berhubungan dengan target DBMS Perancangan aplikasi Rancangan fisikal basis data User memberikan Meliputi deskripsi respon untuk program dan user memeriksa desain User interface Interface Pemilihan DBMS Fungsi-fungsi yang Berbagai evaluasi dan berhubungan dengan rekomentasi DBMS target DBMS Prototipe User memberikan Perubahan berbagai respon mengenai kebutuhan user dan 30 prototipe Implementasi spesifikasi sistem Fungsi-fungsi yang berhubungan dengan target DBMS Konversi Data dan Format data sekarang. Loading Kemampuan impor data Pengujian Hasil pengujian Strategi pengujian yang digunakan dan analisa hasil pengujian. Pemeliharaan(Optional) Pengujian hasil kinerja. Manual user. Analisa Perubahan atau hasil kinerja. Perubahan penambahan berbagai berbagai kebutuhan kebutuhan user dan user dan spesifikasi sistem sistem. Tabel 2.1 Contoh Hubungan Tahapan Siklus Hidup Basis Data dengan Teknik Pencarian Data 2.1.8.1 Lima Teknik Pencarian Fakta yang Digunakan 1. Menguji Dokumentasi Uji Dokumentasi bermanfaat jika kita sedang berusaha mendalami kebutuhan basis data yang akan datang, yang bertujuan untuk: • Deskripsi masalah dan kebutuhan basis data • Deskripsi bagian perusahaan yang dapat menimbulkan masalah • Deskripsi sistem sekarang 2. Wawancara 31 Teknik ini merupakan teknik yang paling sering digunakan dan sangat berguna dibandingkan teknik pencarian data lainnya. Terdapat 2 jenis wawancara, yaitu : 1. Wawancara tidak terstruktur Wawancara tidak terstruktur dilakukan jika tujuan wawancara bersifat umum dan memiliki sedikit pertanyaan yang bersifat spesifik. 2. Wawancara terstruktur Pewawancara mempunyai banyak pertanyaan yang spesifik. Keberhasilannya tergantung pada tanggapan orang yang sedang diwawancarai dan apakah pewawancara dapat mengarahkan pertanyaan tabahan secara langsung untuk memperoleh klarifikasi dan perluasan. 3. Observasi Observasi adalah salah satu teknik pencarian data yang paling efektif untuk pemahaman suatu sistem 4. Riset Riset aplikasi dan masalah, jurnal komputer, buku petunjuk, dan internet seperti bulletin board adalah sumber informasi yang baik dan dapat menyediakan informasi mengenai bagaimana orang lain telah memcahkan masalah. 5. Quesioner Quesioner merupakan pencarian data dengan melakukan survei melalui daftar pertanyaan. Terdapat 2 jenis pertanyaan dalam kuesioner : 1. Free Format 32 Yaitu memberikan kebebasan responden untuk menjawab pertanyaan. 2. Fix Format Fix format memerlukan tanggapan dari individu, dengan apa pun pertanyaan, responden harus memilih jawaban yang tersedia. 2.1.9 Normalisasi Normalisasi adalah suatu teknik dengan pendekatan bottom-up yang digunakan untuk membantu mengidentifikasikan hubungan, dimulai dari menguji hubungan, yaitu functional dependencies antara atribut. Tujuan utama normalisasi adalah mengidentifikasikan kesesuaian hubungan yang mendukung data untuk memenuhi kebutuhan perusahaan. Adapun karakteristik hubungan tersebut mencakup: 1. Minimal jumlah atribut yang diperlukan untuk mendukung kebutuhan perusahaan 2. Atribut dengan hubungan logika yang menjelaskan mengenai Functional dependencies 3. Minimal duplikasi untuk tiap atribut 2.1.9.1 Data Redudancy Tujuan Utama perancangan basis data adalah mengelompokkan atribut-atribut ke dalam relasi-relasi sehingga meminimalisasi redudansi data serta mengurangi penggunaan tempat penyimpanan yang dibutuhkan untuk sebuah relasi dasar. 2.1.9.2 Update Anomalies Relasi yang mengandung informasi yang redudan dapat diakibatkan oleh update anomalies. Beberapa tipe update adalah: anomalies 33 • Insertian Contohnya menambah data pada tabel SiswaBelajar di mana data namasiswa dan IPK harus benar-benar teliti memasukkannya. Karena tabel siswa dengan tabel SiswaBelajar terpisah. Akibatnya dapat terjadi perbedaan data data namasiswa dan IPK antara tabel siswa dengan SiswaBelajar. • Deletion Contohnya menghapus data IDSiswa pada tabel Siswa, namun pada tabel SiswaBelajar tidak berpengaruh apa-apa. Karena tidak ada keterkaitan antara tabel SiswaBelajar denga Siswa. • Modification Untuk mengatasi anomalies ini dapat dilakukan dekomposisi pada relasi dasar. Terdapat dua sifat dekomposisi, yaitu: - Lossless-join - Dependency Preservation Property 2.1.9.3 Jenis Normalisasi Terdapat empat bentuk normal yang biasa digunakan, yaitu: 1. First Normal Form (1NF) atau Normalisasi tingkat 1 2. Secont Normal Form (2NF) atau Normalisasi tingkat 2 3. Third Normal Form (3NF) atau Normalisasi tingkat 3 4. Boyce-Codd Normal Form(BCNF) 5. Four Normal Form (4NF) 6. Five Normal Form (5NF) 34 2.1.9.4 Proses Normalisasi Beberapa hal yang perlu diperhatikan dalam proses normarlisasi adalah: • Suatu teknik formal unutuk menganalisa relasi berdasarkan primary key dan functional dependencies antar atribut. • Dieksekusi dalam beberapa langkah. Setiap langkah mengacu ke bentuk normal tertentu, sesuai dengan sifat yang dimilikinya. • Setelah normalisasi diproses, relasi menjadi secara bertahap leboh terbatas atau kuat mengenali bentuk formatnya dan juga mengurangi tindakan update yang anomali. Gambar 2.3 Hubungan antara Normal Forms 1. Unnormalized Form (UNF) Merupakan suatu tabel yang berisikan satu atau lebih grup yang berulang membuat tabel yang tidak normal, yaitu dengan memindahkan data dan sumber informasi. 2. First Normal Form (1NF) Merupakan sebuat relasi di mana setiap baris dan kolom berisikan satu dan hanya satu niulai. 3. Second Normal Form (2NF) 35 Berdasarkan pada konsep full functional dependency, yaitu A dan B merupakan atribut dari sebuah relasi, B dikatakan Fully dependent terhadap A jika B functionally dependent pada A tetapi tidak pada proper subset dari A. 2NF merupakan sebuah relasi dalam 1NF dan setiap atribut nonprimary-key bersifat fully dependent pada primary key. 4. Third Normal Form (3NF) Berdasarkan pada konsep transitive dependency, yaitu suatu kondisi dimana A, B, dan C merupakan atribut sebuah relasi, maka A -> B dan B -> C, maka transitively dependent pada A melalui B. (jika A tidak functionally dependent pada B atau C). 3NF merupakan sebuah relasi dalam 1NF dan 2NF dan di mana tidak terdapat atribut non primary key yang bersifat transitively dependent pada primary key. 5. Boyc-codd Normal Form (BCNF) Berdasarkan pada functional dependencies yang dimasukkan ke dalam hitungan seluruh candidate key dalam suatu relasi, bagaimanapun BCNF juga memiliki batasan-batasan tambahan disamakan dengan definisi umum 3NF. Suatu relasi dkatakan BCNF, jika dan hanya jika setiap determinan merupakan candidate key. 2.1.10 Entity Relationship Modeling Entity Relationship Modelling adalah sebuah pendekatan top-bottom dalam perancangan basis data yang dimulai dengan mengidentifikasikan data terpenting yang disebut dengan entitas dan hubungan antara entitas-entitas tersebut yang digambarkan dalam suatu model. 36 2.1.10.1 Tipe Entitas Konsep dasar model ER adalah Entity Type, yaitu kumpulan objek-objek dengan sifat (property) yang sama, yang diidentifikasi oleh enterprise mempunyai eksistensi yang independen. Entity Occurence, yaitu pengidentifikasiann objek yang unik dari sebuah type entity. Setiap entitas di identifikasikan dan disertakan propertynya. 2.1.10.2 Tipe Relasi Kumpulan keterhubungan yang mempunyai arti antara tipe entitas yang ada. Relatioship occurence, merupakan keterhubungan yang diidentifikasian secara unik yang meliputi keberadaan tiap tipe entitas yang berpartisipasi. Gambar 2.4 Relationship Occurence 2.1.10.3 Derajat Relationship Derajat Relationship adalah jumlah etitas yang berpartisipasi dalam suatu relationship. Terdiri dari : • Binary Relationship Merupakan keterhubungan antar dua entitas. 37 Gambar 2.5 Contoh Binary Relationship • Ternary Relationship Merupakan keterhubungan antara tiga entitas. Gambar 2.6 Contoh Ternary Relationship • Quaternary Relationship Merupakan keterhubungan antar empat tipe entitas. Gambar 2.7 Contoh Quaternary Relationship 38 • Unary Relationship Merupakan keterhubungan antar satu tipe entitas, di mana tipe entitas tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. Kadang juga di recursive relationship. Gambar 2.8 Contoh Unary Relationship 2.1.10.4 Attributes Atribut merupakan sifat dari sebuah entitas atau tipe relasi. Contoh : sebuah entitas mahasiswa digambarkan dengan atribut NIM, nama, alamat, dan jurusan. Atribute domain merupakan atribut himpunan nilai yang diperbolehkan untuk satu atau lebih atribut yang terdiri dari: • Simple Attribute Atribut yang terdiri atas satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil. Contoh : ID_Staff, ID_Customer, ID_Supplier • Composite Attribute Atribut yang terdiri dari beberapa komponen, di mana masing - masing komponen memiliki keberadaan yang independen. 39 Contoh : atribut alamat terdiri dari jalan, kota dan kode pos. • Single-Valued Attribute Atribut yang mempunyai nilai tunggal untuk setiap kejadian. Contoh : entitas customer memiliki satu nilai untuk atribut ID_customer pada setiap kejadian. • Multi-Valued Attribute Atribut yang mempunyai beberapa nilai untuk setiap kejadian. Contoh : entitas supplier, staff, dan customer memiliki beberapa nilai untuk atribut telpNo pada setiap kejadian. • Derived Attribute Atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya dan tidak harus berasal dari satu entitas. Contoh : atribut umur dihasilkan oleh atribut tanggal lahir. 2.1.10.5 Keys • Super Key : Atribut unik yang mengidentifikasikan row. • Candidate Key : Atribut unik yang mengidentifikasikan table. Jumlah minimal atribut yang dapat mengidentifikasikan setiap kejadian/record secara unik. • Primary Key : Candidate key yang dipilih untuk mengidentifikasikan setiap kejadian atau record suatu entitas secara unik. • Alternate Key : Candidate key yang tidak terpilih menjadi primary key. 40 • Composite key : Candidate key yang terdiri atas dua atau lebih atribut • Foreign key : atribut sebuah tabel yang menggabungkan diri ke tabel lain. 2.1.10.6 Strong and Weak Entity Types Strong entity type, yaitu entitas yang keberadaannya tidak tergantung pada entitas lain. Terkadang disebutjuga parent sedangkan Weak entity type adalah entitas yang keberadaannya bergantung pada entitas lain. disebut juga child dependent. Gambar 2.9 Contoh Strong and Weak Entity Yype 2.1.10.7 Structural Constraints Batasan utama pada relationship disebut multilicity, yaitu jumlah atau range dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui suatu relationship. Relationship yang paling umum adalah binary relationship. Macammacam binary relationship terdiri dari : 41 • One-to-one (1 : 1) • One-to-many (1 : *) • Many-to-many (* : *) 2.1.10.8 Generalisasi dan Spesialisasi Generalisasi merupakan subclass-subclass yang disatukan menjadi superclass tunggal yang berdasarkan karakteristik umum. Disamping proses desain top-down (dari inisial entitas ke level lebih rendah), desain juga dapat dilakukan dengan proses bottom-up, yaitu banyak entitas disintesiskan menjadi entitas yang lebih tinggi berdasarkan kesamaan fiturnya. Contoh, entitas avanza, dan inova, kijang dikelompokkan dalam sebuah entitas bernama mobil Spesialisasi merupakan proses yang memperhatikan perbedaan setiap anggota dari sebuah entitas sehingga anggota dari sebuah entitas dapat dikelompokkan ke dalam kelompok yang lebih kecil. Contoh, entitas mobil dapat di pecah kembali menjadi avanza, inova, dan kijang Terdapat dua batasan yang terdapat pada generalisasi / spesialisasi yang disebut dengan batasan partisipasi (partcipation constraint) dan batasan disjoint (disjoint constraint) • Participation constraint menggambarkan apakah setiap anggota dari sebuah superclass harus berpartisipasi sebagai anggota dari sebuah subclass atau tidak. Sebuah Participation constraint dapat berupa mandatory atau optional. • Mandatory Participation Sebuah Participation constraint dikatakan mandatory jika setiap anggota dari superclass harus menjadi anggota di subclass. Contoh: pada himpunan Staff(superclass) yang memiliki subclass bernama ‘bagian penjualan’ dan 42 ’bagian pembelian’. Maka disini setiap anggota superclass akan menjadi anggota dari subclass. • Optional Participation Sebuah Participation constraint dikatakan optional jika setiap anggota superclass tidak semuanya menjadi anggota disetiap subclassnya. Contoh: pada himpunan mobil (superclass) yang memiliki subclass bernama avanza, inova dan kijang. Maka disini terdapat subclass lain yang mungkin menjadi anggota dari superclass namun tidak dijadikan sebagai subclass misalkan toyota yang dapat menjadi anggota himpunan mobil tetapi tidak dijadikan subclass. • Disjoint Constraint Disjoint Constraint menggambarkan hubungan antara anggota subclass, apakah setiap anggota dari subclass dapat menjadi anggota dari subclass yang lain atau tidak. Disjoint Constraint dapat berupa disjoint atau OR dan nondisjoint atau AND • Disjoint atau OR Sebuah disjoint constraint dikatakan disjoint atau OR jika anggota dari sebuah subclass tidak dapat menjadi anggota dari subclass lainnya. Contoh, pada himpunan mobil(superclass) dengan subclass avanza, inova dan kijang, maka anggota avanza tidak dapat menjadi anggota inova atau kijang atau sebaliknya. • Nondisjoint atau AND Sebuah disjoint constraint dikatakan disjoint atau AND jika anggota dari sebuah subclass bisa juga menjadi anggota dari subclass yang lain. 43 2.2 Teori Khusus 2.2.1 Pembelian Menurut Assauri, (2008, p223), pembelian merupakan salah satu fungsi penting dalam suatu perusahan. Fungsi ini dibebani tanggung jawab untuk mendapatkan kuantitas dan kualitas bahan-bahan yang tersedia pada waktu dibutuhkan dengan harga yang sesuai dengan harga yang berlaku. Menurut Mulyadi, (2007, p711) aktifitas dalam proses pembelian barang adalah: 1. Permintaan pembelian 2. Pemilihan pemasok 3. Penempatan pemesanan pembelian 4. Penerimaan barang 5. Pencatatan transaksi pembelian Pembelian merupakan sebagai usaha untuk memenuhi kebutuhan atas barang atau jasa yang diperlukan oleh pribadi atau perusahaan dan dapat diterima tepat pada waktunya dengan mutu yang sesuai serta harga yang menguntungkan. 2.2.2 Penjualan Menurut Hall, (2011, p154), prosedur pemesanan penjualan meliputi tugas-tugas yang terkait dalam penerimaan dan pemrosesan sebuah pesanan klien, mengisi formulir pemesanan, dan pengiriman produk ke klien, penagihan pelanggan pada saat yang tepat, dan akuntansi transaksi secara benar. 1. Penerimaan pesanan Pada tahap ini, karyawan membuat sebuah sales order yang mencakup informasi penting mengenai pelanggan, seperti nama pelanggan, alamat pelanggan, nama, nomor, dan deskripsi barang yang dijual serta jumlah 44 dan harga satuan barang yang dijual. Setelah itu, karyawan membuat sebuah salinan sales order dan menempatkannya dalam customer open order file. 2. Pemeriksaan kredit Pada tahap ini, pihak perusahaan melakukan pemeriksaan kelayakan kredit pelanggn untuk menentukan batas kredit yang dapat dimiliki oleh pelanggan, apakah pelanggan tersebut memiliki histori kredit yang baik atau tidak. Fungsi penerimaan pesanan mengirimkan sales order (credit copy) kepada fungsi pemeriksaan kredit untuk pengesahan.Berkas pengesahan sales order yang dikembalikan memicu kelanjutan proses penjualan dengan mengeluarkan informasi sales order secara bersamaan ke fungsi yang beragam. 3. Pengambilan barang Pada tahap ini, fungsi penerimaan pesanan meneruskan dokumen pengeluaran stok barang kepada fungsi pengambilan barang dalam gudang. Dokumen ini mengidentifikasikan barang-barang dalam inventaris yang harus diambil dari rak gudang, juga menyediakan otorisasi formal kepada personil gudang untuk mengeluarkan barang yang ditentukan. Setelah mengambil barang, pesanan diverifikasi dan dokumen pengeluaran stok sudah diverifikasi diteruskan ke fungsi pengiriman barang. 4. Pengiriman barang Sebelum kedatangan barang dan dokumen pengeluaran barang yang sudah diverifikasi, divisi pengiriman menerima packing slip dan shipping notice dari fungsi penerimaan pesanan. Packing slip akan dikirimkan dengan barang untuk menggambarkan isi dari pesanan. Shipping notice akan diteruskan kepada fungsi penagihan sebagai bukti bahwa pesanan pelanggan sudah terpenuhi dan dikirim. 45 5. Penagihan pelanggan Pada tahap ini, fungsi penagihan menerima sales order(invoice copy)dari fungsi penerimaan pesanan. Dokumen ini ditempatkan dalam S.O pending file hingga penerimaan shipping notice. Setelah shipping notice diterima, barang-barang yang dikirim dicocokan dengan harga satuan barang yang dipesan, pajak, dan ongkos kirim untuk ditambahkan ke salinan invoice dari sales order. Sales order yang sudah dilengkapi merupakan tagihan pelanggan. Setelah itu, transaksi penjualan yang sudah lengkap dicatat dalam jurnal penjulan. Menurut Jurnal Henny et al. Hendari pada jurnal ANALISIS DAN PERANCANGAN SISTEM INFORMASI AKUNTANSI PENJUALAN (2009, p143) penjualan adalah rangkaian transaksi penjualan barang atau jasa, baik secara tunai maupun kredit. Penjualan merupakan proses perpindahan suatu hak atas barang atau jasa untuk mendapatkan sumber daya lainnya, seperti kas atau janji untuk membayar atau piutang. 46 2.2.3 Kerangka Berpikir Berikut kerangka berpikir mengenai penulisan skripsi kami dapat dilihat pada gambar 2.10 dibawah ini. Gambar 2.10 Kerangka Berpikir Pengembangan aplikasi berbasis database ini terdiri dari 5 fase yaitu fase inisiasi, fase analisis, fase perancangan, fase pengembangan sistem, dan 47 fase implementasi. Pada fase pertama yaitu fase inisiasi, diawali dengan persiapan dalam mengumpulkan data organisasi mengenai gambaran umum CV. Sempurna seperti visi dan misi perusahaan, struktur organisasi, tugas dan wewenang, dan prosedur siklus pembelian dan penjualan yang berjalan. Selanjutnya data yang sudah dikumpulkan kemudian dianalisis. Analisis dilakukan dengan membuat activity diagram untuk melihat proses bisnis dan mempelajari permasalahan yang terjadi sebagai acuan untuk sistem yang diusulkan pada fase perancangan. Setelah itu akan dilanjutkan pada fase perancangan, yaitu merancang data flow diagram untuk melihat aliran data pada CV Sempurna. Merancang ER Modelling untuk mengidentifikasi entitas-entitas yang terdapat pada CV sempurna, setelah itu akan dilakukan tahap normalisasi yang menghasilkan entity relationship diagram dan tahapan perancangan yang terakhir adalah merancangan user interface nya yang akan menghubungkan antara pengguna dengan sistem. Kegiatan selanjutnya adalah perancangan sistem yang akan menggunakan bahasa pemrograman Java dengan aplikasi Netbeans dan menggunakan SQL Server 2008 sebagai database nya. Selanjutnya akan dilanjutkan dengan tahap implementasi dimana akan dilaksanakan dengan membuat spesifikasi hardware dan software yang sesuai dengan kondisi perusahaan.