BAB II LANDASAN TEORI Pada bab ini penulis akan menyajikan pembahasan dasar teori yang digunakan dalam penyusunan tugas akhir ini, diantaranya adalah teori sistem, sistem informasi, object oriented, UML (Unifed Modeling Language), Basis Data, DBMS, bahasa pemrograman PHP, MySQL, XAMPP, rekonsiliasi, Jurnal Pembukuan dan E-Money (Electronic Money). 2.1. Literature Preview Untuk menghindari praktik plagiarisme, penulis melakukan beberapa perbandingan mengenai penulisan dengan judul terkait. Penulis mendapati jurnal penelitian Eko Sigit Purnomo dan Febriliyan Samopa dari Institut Teknologi Sepuluh Nopember (ITS), 2013 dengan judul jurnal “Pembuatan Sistem Informasi Rekonsiliasi Keuangan Negara Menggunakan PHP dan MySQL”. Eko Sigit Purnomo dan Febriliyan Samopa membahas mengenai sistem rekonsiliasi keuangan didalam instansi pemerintah yang dilakukan oleh beberapa Unit Akuntansi Kuasa Pengguna Anggaran (UAKPA) dengan Kantor Pelayanan Perbendaharaan Negara sebagai kuasa Bendahara Umum Negara di daerah. 2.1.1. Membandingkan (Compare) Dari penelitian yang dilakukan Eko Purnomo dan Febriliyan, beberapa perbedaan yang bisa disimpulkan dengan membandingkan penelitian yang dilakukan penulis pada Tugas Akhir ini, diantarnya adalah: 7 http://digilib.mercubuana.ac.id/ 8 Rekonsiliasi E-Money Rekonsiliasi Keuangan Negara Ruang Lingkup Sistem Rekonsiliasi Rekonsiliasi dilakukan pada hasil transaksi H-1 atau satu hari sebelumnya yang Rekonsiliasi dilakukan pada hasil terjadi pada Merchant yang bekerjasama penggunaan dana APBN pada Unit dalam penyediaan jenis pembayaran Akuntansi Kuasa Pengguna Anggaran menggunakan Electronic Money Data diperoleh dari sistem internal perusahaan yang telah terkoneksi secara online dengan mesin-mesin EDC, ATM dan mesin parkir otomatis, lalu mencocokkan data transaksi yang telah dibayarkan oleh pihak payment kepada merchant. 2.1.2. Proses dilakukan dengan membandingkan catatan keuangan yang ada di Bendahara Umum Negara dengan catatan keuangan yang ada di kementerian/lembaga untuk memastikan bahwa kedua pihak telah mencatat semua transaksi keuangan dengan benar. Persamaan (Contras) Persamaan dari kedua penelitian ini dapat dilihat pada: Tujuan rekonsiliasi, yaitu untuk menghindari perbedaan atau selisih pada General Ladger Sistem Keuangan perusahaan. Karena jika terdapat perbedaan, akan mempengaruhi validalitas dan akurasi dalam penyajian laporan keuangan. 2.2. Bahasa Pemrograman PHP (Hypertext Preprocessor) 2.2.1. PHP (Hypertext Preprocessor) Menurut Anhar (2010:3), “PHP singkatan dari Hypertext Preprocessor yaitu bahasa pemograman web server-side yang bersifat open source”. PHP merupakan script yang terintegrasi dengan HTML dan berada pada server. PHP adalah script yang digunakan untuk membuat halaman website yang dinamis. Dinamis yang dimaksud adalah halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru. Menurut Diar Puji Oktaviani (2010:30) PHP adalah akronim dari Hypertext Preprocessor, yaitu suatu bahasa pemrograman berbasiskan kode-kode (script) yang digunakan untuk mengolah suatu data dan mengirimkannya kembali ke web browser menjadi kode HTML. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. http://digilib.mercubuana.ac.id/ 9 PHP adalah bahasa open source yang dapat digunakan di berbagai sistem operasi seperti: Linux, Unix, Macintosh, dan Windows. PHP dapat dijalankan secara runtime melalui console serta dapat menjalankan perintah-perintah sistem. Open Source artinya code-code PHP terbuka untuk umum dan kita tidak diharuskan mambayar biaya pembelian atas keaslian license yang biasanya cukup mahal. PHP juga dapat dilengkapi dengan berbagai macam database yang populer, misal: Oracle, PostgreSQL, MySQL, dan lain-lain. Kode PHP mempunyai ciri-ciri khusus, yaitu: Hanya dapat dijalankan menggunakan web server , misal: Apache. Kode diletakkan dan dijalankan di web server. Kode PHP dapat digunakan untuk mengakses database, seperti: MySQL, PostgrSQL, Oracle, dan lain-lain. Merupakan software yang bersifat open source. Gratis untuk di-download dan digunakan Memiliki sifat multiplatform, artinya dapat dijalankan menggunakan sistem operasi apapun, seperti: Linux, Unix, Windows, dan lain-lain. 2.2.2. Sejarah PHP Menurut Anhar (2010:2), pada tahun 1995 seorang programmer bernama Rasmus Lerdorf, yang diberi nama FI (Form Interpreted) dan digunakan untuk mengelola form dari web. Pada perkembangannya, kode tersebut dirilis ke umum sehingga mulai banyak dikembangkan oleh programmer diseluruh dunia. awalnya buat sebuah halaman website pribadi, tujuannya adalah untuk mempertahankan halaman website pribadi tersebut sekaligus membangun halaman web yang dinamis. Pada tahun 1995 PHP Tool 1.0 dirilis untuk umum, kemudian pengembangannya dilanjutkan oleh Andi Gutmans dan Zeev Suraski. Perusahaan bernama Zend kemudian melanjutkan pengembangan PHP dan merilis PHP versi 5 terakhir pada terakhir pada saat ini. 2.2.3. PHP MyAdmin Web server merupakan server internet yang mampu melayani koneksi transfer data dalam protocol HTTP. Web server merupakan hal yang terpenting dari server di internet dibandingkan server lainnya seperti e-mail server, ftp server ataupun news server. Hal ini http://digilib.mercubuana.ac.id/ 10 disebabkan web server telah dirancang untuk dapat melayani beragam jenis data, dari text sampai grafis 3 dimensi. Kemampuan ini telah menyebabkan berbagai institusi seperti universitas maupun perusahaan dapat menerima kehadirannya dan juga sekaligus menggunakannya sebagai sarana diinternet. DataBase (basis data) merupakan kumpulan data yang saling berhubungan. Hubungan antar data dapat ditunjukkan dengan adanya field/kolom kunci dari tiap file/tabel yang ada. Dalam satu file atau tabel terdapat record-record yang sejenis, sama besar, sama bentuk, yang merupakan satu kumpulan entitas yang seragam. Satu record (umumnya digambaran sebagai baris data) terdiri dari field yang saling berhubungan menunjukkan bahwa fieldtersebut dalam satu pengertian yang lengkap dan disimpan dalam satu record. Data Base Server MySQL (My Structure Query Language) 2.3. Menurut Anhar (2010:21), “MySQL (My Structure Query Language) adalah sebuah perangkat lunak sistem manajemen basis data SQL (DataBase Management System) DBMS dari sekian banyak DBMS seperti Oracle, MySQL, PostagreSQL, dan lainnya”. MySQL merupakan DBMS yang multithread, multi-user yang bersifat gratis dibawah lisensi GNU General Public Lincense (GPL). Selain itu Aditya Nugroho (2011:61) menuturkan pengertian MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa inggris: database management system) atau DBMS yang multithread, multiuser, dengan sekitar 6 juta instalasi diseluruh dunia. MySQL berfungsi untuk mengolah database menggunakan bahasa SQL. MySQL bersifat open source sehingga kita bisa menggunakannya secara gratis. Pemrograman PHP juga sangat mendukung dengan database MySQL. MySQL merupakan program database server dengan SQL sebagai bahasa yang digunakan di dalamnya. SQL dibagi menjadi dua bentuk query, yaitu: 1. DDL (Data Definition Language) DDL adalah sebuah metode query SQL yang berguna untuk mendefinisikan data pada sebuah database, adapun query yang dimiliki adalah: a. CREATE : Digunakan untuk melakukan pembuatan tabel dan database. b. DROP : Digunakan untuk melakukan penghapusan tabel maupun databse. http://digilib.mercubuana.ac.id/ 11 c. ALTER : Digunakan untuk melakukan pengubahan struktur tabel yang telah dibuat, baik menambahkan field, mengganti nama field maupun menamakannya kembali, serta penghapusan. 2. DML (Data Manipulation Language) DML adalah sebuah metode query yang dapat digunakan apabila DDL telah terjadi, sehingga fungsi dari query ini adalah untuk melakukan pemanipulasian database yang telah ada atau yang telah dibuat sebelumnya. Berikut query yang termasuk di dalamnya adalah: a. SELECT : Digunakan untuk menampilkan data pada tabel. b. INSERT : Digunakan untuk melakukan penginputan/pemasukan data pada tabel database. c. UPDATE : Digunakan untuk melakukan pengubahan atau peremajaan terhadap data yang ada pada tabel. d. DELETE : Digunakan untuk melakukan penghapusan data pada tabel. 2.4. XAMPP XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi, merupakan kompilasi beberapa program. Fungsinya sebagai server yang terjadi sendiri (localhost). Yang terdiri atas program Apache HTTP Server, MySQL database dan perintah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Program ini tersedia dalam GNU General Public License dan bebas, merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis. 2.5. Adobe Dreamweaver (Madcoms, 2013:1) Adobe Dreamweaver CS6 adalah perangkat lunak terkemuka untuk desain web yang menyediakan kemampuan visual yang intuitif termasuk pada tingkat kode, yang dapat digunakan untuk membuat dan mengedit website HTML serta aplikasi mobile seperti smartphone, tabelt dan perangkat lunak lainnya. Dengan adanya fitur layout Fluit Grid yang dirancang khusus untuk memungkinkan lintas platform, maka akan membuat layout menjadi adaptif atau dapat menyesuaikan dengan browser yang dipakai. Anda juga dapat melihat hasil sementara desain dengan fasilitas Multiscreen mengalami banyak perubahan dan peningkatan fungsionalitasnya. http://digilib.mercubuana.ac.id/ Preview yang telah 12 Dari definisi di atas, maka dapat disimpulkan dreamweaver adalah suatu aplikasi yang digunakan dalam membangun atau membuat sebuah web. 2.6. Konsep Dasar Data Menurut Gordon B. Davis definisi dari informasi adalah data yang telah diproses ke dalam suatu bentuk yang mempunyai arti bagi si penerima dan mempunyai nilai nyata dan terasa bagi keputusan saat itu atau keputusan mendatang. Sedangkan istilah “data” didefinisikan sebagai bahan mentah yang diproses untuk menyajikan informasi [Sutabri, 2012]. Menurut Drs. Jhon J. Logkutoy istilah data didefinisikan sebagai suatu istilah majemuk yang berarti fakta atau bagian dari fakta yang mengandung arti yang dihubungkan dengan kenyataan, simbol-simbol, gambar-gambar, angka-angka, hurufhuruf, atau simbol-simbol yang menunjukkan suatu ide, objek, kondisi atau situasi dan lain-lain. Jelasnya, data itu bisa berupa apa saja yang dapat ditemui dimana saja. Kegunaan data adalah sebagai bahan dasar yang objektif (relatif) di dalam proses kebijaksanaan dan keputusan oleh pihak pimpinan organisasi [Sutabri, 2012]. Menurut The Liang Gie data adalah hal, peristiwa, atau kenyataan lain apapun yang mengandung sesuatu pengetahuan untuk dijadikan dasar guna penyusunan keterangan, pembuatan kesimpulan, atau penetapan keputusan [Sutabri, 2012]. PENYIMPANAN DATA DATA PROSES Gambar 0.1 Pemrosesan Data [Sutabri, 2012] http://digilib.mercubuana.ac.id/ INFORMASI 13 2.6.1. Klasifikasi Data Menurut Tata Sutabri [2012], data dapat diklasifikasikan menjadi 3 (tiga), antara lain: 1. Klasifikasi data menurut jenis data a. Data hitung (enumeration/counting data) adalah hasil perhitungan atau jumlah tertentu yang termasuk data hitung adalah persentase dari suatu jumlah tertentu. b. Data ukur (measurement data) adalah data yang menunjukkan ukuran mengenai nilai sesuatu. 2. Klasifikasi data menurut sifat data a. Data Kuantitatif (quantitative data) adalah data mengenai penggolongan dalam hubungannya dengan penjumlahan. b. Data kualitatif (qualitative data) adalah data penggolongan dalam hubungannya dengan kualitas atau sifat tertentu. 3. Klasifikasi data menurut sumber data a. Data internal (internal data) adalah data yang asli, artinya data sebagai hasil observasi yang dilakukan sendiri, bukan data hasil kary orang lain. b. Data eksternal (external data) adalah data hasil observasi orang lain. Data eksternal terdiri dari 2 (dua) jenis, yaitu: 1) Data eksternal primer (primary external data) adalah data dalam bentuk ucapan lisan atau tulisan dari pemiliknya sendiri, yakni orang yang melakukan observasi sendiri. 2) Data eksternal sekunder (secondary external data) adalah data yang diperoleh bukan dari orang yang melakukan observasi melainkan melalui seseorang atau sejumlah orang lain. 2.7. Konsep Dasar Sistem 2.7.1. Pengertian Sistem Tata Sutabri (2012:6) mengungkapkan bahwa sistem pada dasarnya adalah sekelompok unsur yang erat hubungannya satu dengan yang lain, yang berfungsi bersamasama untuk mencapai tujuan tertentu. Kemudian beliau juga memaparkan bahwa model umum sebuah sistem terdiri dari input, process, dan output. Hal ini merupakan konsep sebuah http://digilib.mercubuana.ac.id/ 14 sistem yang sangat sederhana mengingat sebuah sistem dapat mempunyai beberapa masukan dan keluaran sekaligus. Sedangkan Menurut Moekijat dalam Prasojo (2011:152), “Sistem adalah setiap sesuatu terdiri dari obyek-obyek, atau unsure-unsur, atau komponen-komponen yang bertata hubungan satu sama lain, sedemikian rupa sehingga unsur-unsur tersebut merupakan satu kesatuan pemrosesan atau pengolahan yang tertentu”. Terdapat dua kelompok pendekatan dalam pendefinisian sistem, yaitu: 1. Pendekatan yang menekankan pada prosedur, mendefinisikan sistem sebagai suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersamasama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Pendekatan sistem yang merupakan jaringan kerja dari prosedur lebih menekankan urutan-urutan operasi di dalam sistem. 2. Pendekatan sistem yang lebih menekankan pada elemen atau komponennya mendefinisikan sistem sebagai kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu. 2.7.2. Karakteristik Sistem Sebuah sistem juga memiliki karakterisktik atau sifat-sifat tertentu, yang mencirikan bahwa hal tersebut bisa dikatakan sebagai suatu sistem 1. Komponen Sistem (components) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi dan saling bekerja sama membentuk satu kesatuan. Komponen-komponen sistem atau elemenelemen sistem dapat berupa suatu subsistem atau bagian dari sistem. Setiap subsistem mempunyai sifat-sifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. 2. Batas Sistem (Boundary) Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut. 3. Lingkungan Luar Sistem (environment) Lingkungan luar dari suatu sistem adalah apapun di luar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan http://digilib.mercubuana.ac.id/ luar sistem yang bersifat 15 menguntungkan merupakan energi dari sistem, sehingga harus tetap dijaga dan dipelihara. Sedangkan lingkungan luar sistem yang bersifat merugikan harus ditahan dan dikendalikan, agar tidak mengganggu kelangsungan hidup dari sistem. 4. Penghubung Sistem (Interface) Penghubung sistem merupakan media penghubung yang memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lainnya. Keluaran (output) dari satu subsistem akan menjadi lainnya dengan masukan (input) untuk subsistem yang melalui penghubung. Dengan penghubung, satu subsistem dapat berintegrasi dengan subsistem yang lainnya membentuk satu kesatuan. 5. Masukan Sistem (Input) Masukan (Input) merupakan energi yang dimasukkan ke dalam sistem, dapat berupa masukan perawatan (maintenance input) dan masukan sinyal (signal input). Maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat beroperasi. Signal input adalah energi yang diproses untuk didapatkan keluaran. 6. Keluaran Sistem (Output) Keluaran (Output) merupakan hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan masukan untuk subsistem yang lain atau pada supra sistem. 7. Pengolah Sistem (Process) Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukan menjadi keluaran. 8. Sasaran Sistem (Objectives) Suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective). Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya. 2.7.3. Klasifikasi Sistem Sistem dapat diklasifikasikan dari beberapa sudut pandang, yaitu: a. Sistem Abstrak (Abstract system) dan Sistem Fisik (Physical system) Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tempak secara fisik, misalnya sistem teknologi yaitu sistem yang berupa pemikiran-pemikiran http://digilib.mercubuana.ac.id/ 16 hubungan antara manusia dengan Tuhan. Sitem fisik merupakan sistem yang ada secara fisik. b. Sistem Alami (natural system) dan Sistem Buatan Manusia (human made system) Sistem alami adalah sistem yang keberadaannya terjadi secara alami/natural tanpa campuran tangan manusia. Sedangkan sistem buatan manusia adalah sebagai hasil kerja manusia. Contoh sistem alamiah adalah sistem tata surya yang terdiri dari atas sekumpulan planet, gugus bintang dan lainnya. Contoh sistem abstrak dapat berupa sistem komponen yang ada sebagai hasil karya teknologi yang dikembangkan manusia. c. Sistem pasti (deterministic system) dan sistem tidak tentu (probobalistic system) Sistem tertentu adalah sistem yang tingkah lakunya dapat ditentukan/diperkirakan sebelumnya. Sedangkan sistem tidak tentu sistem tingkah lakunya tidak dapat ditentukan sebelumnya. Sistem aplikasi komputer merupakan contoh sistem yang tingkah lakunya dapat ditentukan sebelumnya. Program aplikasi yang dirancangdan dikembangkan oleh manusia dengan menggunakan prosedur yang jelas, terstruktur dan baku. d. Sistem Tertutup (closed system) dan Sistem Terbuka (open system) Sistem tertutup merupakan sistem yang tingkah lakunya tidak dipengaruhi oleh lingkungan luarnya. Sebaliknya, sistem terbuka mempunyai prilaku yang dipengaruhi oleh lingkungannya. Sistem aplikasi komputer merupakan sistem relative tertutup, karena tingkah laku sistem aplikasi komputer tidak dipengaruhi oleh kondisi yang terjadi diluar sistem. 2.8. Konsep Dasar Informasi Menurut McLeod di dalam bukunya Yakub (2012:8), informasi (information) adalah data yang diolah menjadi bentuk lebih bergun dan lebih berarti bagi yang menerimanya. Informasi juga disebut data yang diproses atau data yang memiliki arti. Informasi dapat berupa data mentah,data tersusun, kapasitas sebuah saluran informasi dan sebagainya. Tata Sutabri (2012:21) menyebutkan bahwa informasi merupakan proses lebih lanjut dari data yang sudah memiliki nilai tambah. Informasi dapat dikelompokkan menjadi 3 bagian, yaitu: 1. Informasi Strategis Informasi ini digunakan untuk mengambil keputusan jangka panjang, yang mencakup informasi eksternal, rencana perluasan perusahaan, dan sebagainya. http://digilib.mercubuana.ac.id/ 17 2. Informasi Taktis Informasi ini dibutuhkan untuk mengambil keputusan jangka menengah, seperti informasi tren penjualan yang dapat dimanfaatkan untuk menyusun rencana penjualan. 3. Informasi Teknis Informasi ini dibutuhkan untuk keperluan operasional sehari-hari, seperti informasi persediaan stock, retur penjualan, dan laporan kas harian. Fungsi utama informasi untuk menambah pengetahuan atau mengurangi ketidakpastian pemakai informasi. Suatu informasi harus memenuhi persyaratan sebagaimana yang dibutuhkan oleh manajer dalam rangka pengambilan keputusan yang harus segera dilakukannya. Berdasarkan persyaratan itu informasi dalam manajemen diklasifikasikan sebagai berikut: a. Informasi yang akurat (accurate) Informasi harus bebas dari kesalahan-kesalahan dan tidak bias atau menyesatkan. Akurat juga berarti harus jelas mencerminkan maksudnya. Informasi harus akurat karena dari sumber informasi sampai ke penerima informasi kemungkinan terjadi gangguan (Inoise) yang dapat merubah atau merusak informasi tersebut. b. Informasi yang tepat waktu (timelines) Informasi yang datang pada penerima tidak boleh terlambat. Informasi yang sudah usang tidak akan mempunyai nilai lagi. Karena informasi merupakan landasan di dalam pengambilan keputusan. c. Informasi yang relevan (relevance) Informasi harus memiliki manfaat untuk pemakainya. Relevansi informasi untuk tiap-tiap orang satu dengan yang lainnya berbeda. Ada yang sangat erat kaitannya, dan ada pula yang sekedar saja. Konsekuensinya, semakin erat kaitannya suatu informasi dengan kepentingan si penerima, kan semakin besar perhatian yang diberikan kepadanya. Informasi yang tidak relevan jelas tidak akan mendapat perhatian dari si penerima informasi. 2.9. Konsep Dasar Sistem Informasi Rudy Tantra (2012:2) mengungkapkan bahwa sistem informasi adalah cara yang terorganisasi untuk mengumpulkan, memasukkan, dan memproses data dan menyimpannya, http://digilib.mercubuana.ac.id/ 18 mengelola, mengontrol dan melaporkannya sehingga dapat mendukung perusahaan atau organisasi untuk mencapai tujuan. Sedangkan menurut Tata Sutabri (2012:36) Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat menejerial dengan kegiatan strategi dari suatu organisiasi untuk dapat menyediakan laporan-laporan yang diperlukan oleh pihak luar tertentu. 2.9.1. Komponen dan Tipe Sistem Informasi Sistem informasi terdiri dari komponen-komponen yang disebut dengan istilah blok bangunan (building block), yang terdiri dari blok masukan, blok model, blok keluaran, blok teknologi, blok basis data, dan blok kendali. Sebagai suatu sistem, keenam blok tersebut saling berinteraksi satu dengan yang lain membentuk satu kesatuan untuk mencapai sasaran. a. Blok masukan (input block) Input mewakili data yang masuk ke dalam sistem informasi. Yang dimaksud dengan input disini termasuk metode dan media untuk menangkap data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar. b. Blok model (model block) Block ini terdiri dari kombinasi prosedur, logika, dan model matematika yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang diinginkan. c. Blok keluaran (output block) Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. d. Blok teknologi (technology block) Teknologi merupakan tool box dalam sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran dan membantu pengendalian sistem secara keseluruhan. Teknologi terdiri dari 3 (tiga) bagian utama, yaitu teknisi (brainware), perangkat lunak (software), dan perangkat keras (hardware). e. Blok basis data (database block) http://digilib.mercubuana.ac.id/ 19 Basis data (database) merupakan kumpulan data yang saling berkaitan dan berhubungan satu dengan yang lainnya, tersimpan di perangkat keras komputer dan perangkat lunak digunakan untuk memanipulasinya. Data perlu disimpan dalam basis data untuk keperluan penyediaan informasi lebih lanjut. Basis data diakses atau dimanipulasi dengan menggunakan perangkat lunak paket yang disebut dengan DBMS (Database Management System). f. Blok kendali (control block) Beberapa pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dicegah dan bila terlanjur terjadi maka kesalahankesalahan dapat dengan cepat diatasi. 2.10. Model Waterfall Rosa A.S-M.Shalahuddin (2011:26) Model waterfall sering juga disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support). Berikut adalah gambar model air terjun: Sistem/Rekayasa Informasi Analisi Desain Pengodean Pengujian Analisis kebutuhan perangkatGambar lunak 0.2 Ilustrasi waterfall Proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan. Desain Desain perangkat lunak adalah proses multilangkah yang focus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi http://digilib.mercubuana.ac.id/ 20 antarmuka, dan prosedur pengodean. Tahap ini mentranslasikan kebutuhan perangkat lunak dari tahap analisis kebutuhan kr reprosentasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak pada tahap ini juga perlu didokumentasikan. Pembuatan kode program Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. Pengujian Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. Pendukung (support) atau pemeliharaan (maintenance) Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirim ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru. Model air terjun sangat cocok digunakan kebutuhan pelanggan sudah sangat dipahami dan kemungkinan terjadinya perubahan kebutuhan selama pengembangan perangkat lunak kecil. Hal positif dari model air terjun adalah struktur tahap pengembangan sistem jelas, dokumentasi dihasilkan di setiap tahap pengembangan, dan sebuah tahap dijalankan setelah tahap sebelumnya selesai dijalankan (tidak ada tumpang tindih pelaksanaan tahap). 2.11. Metode Pengujian Metode pengujian adalah proses cara mengeksekusi suatu program dengan maksud menemukan kesalahan. Metode Pengujian dalam pengetesan sistem terbagi menjadi dua macam, yaitu yang pertama adalah metode Black Box, dan White Box (glass box). http://digilib.mercubuana.ac.id/ 21 2.11.1. Metode Black Box Menurut (Roger S. Pressman : 2010), Pengujian black-box berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengujian black-box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black-box bukan merupakan alternative dari teknik white-box, tetapi merupakan pendekatan komplementor yang kemungkinan besar mampu mengungkap kesalahan dari pada metode white-box. Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagai berikut : 1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan interface. 3. Kesalahan dalam stuktur data atau akses database eksternal. 4. Kesalahan kinerja. 5. Inisialisasi dan kesalahan terminasi. Pengujian program aplikasi berbasis web dilakukan dengan metode Black Box Testing. Metode Black Box Testing ini merupakan pengujian berdasarkan fungsi dari program.Tujuan dari metode Black Box Testing ini adalah untuk menemukan kesalahan fungsi pada program. 2.11.2. Metode White Box White Box testing secara umum merupakan jenis testing yang lebih berkonsentrasi terhadap “isi” dari perangkat lunak itu sendiri. Jenis ini lebih banyak berkonsentrasi kepada source code dari perangkat lunak yang dibuat sehingga membutuhkan proses pengetesan yang jauh lebih lama dan lebih „mahal‟ dikarenakan membutuhkan ketelitian dari para tester serta kemampuan teknis pemrograman bagi para tester-nya (Rizky, 2011). Prinsip dari keluaran tipe pengetesan ini adalah: 1. Menjamin bahwa semua alur program yang independen (dalam bentuk modul, form, procedure, class, dan lainnya) telah diuji minimal satu kali. 2. Menjamin telah melakukan pengujian terhadap semua kondisi percabangan dengan nilai true dan false. 3. Telah melakukan testing terhadap semua jenis perulangan dengan kondisi normal dan kondisi yang dianggap melampaui batas perulangan (umumnya kondisi yang melampaui batas harus diatasi oleh prosedur tertentu). http://digilib.mercubuana.ac.id/ 22 Telah melakukan pengujian terhadap struktur data internal (seperti variabel) agar terjaga validasinya, karena validasi sangat menentukan layaknya kolom-kolom yang mandatory harus diisi, pemberian peringatan ketika user melakukan kesalahan dalam penginputan agar saat penyimpanan ke database sudah benar dan telah melewati tahap validasi yang telah diberikan. 2.12. Pemrograman Berorientasi Objek Rosa A.S-M.Shalahuddin (2011: 82) Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientasi objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktivitas analisis berorientasi objek, penacangan berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi objek. 2.12.1. Konsep Dasar Berorientasi Objek Rosa A.S-M.Shalahuddin (2011 : 86) Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak, sistem informasi, atau sistem lainnya). Pendekatan berorientasi objek akan memnadang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata. Sistem berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah yang komponennya dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi.setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya. Dan dapat berinteraksi satu sama lain. Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek: Kelas (class) Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statis dan himpunan objek yang sama yang mungkin lahir atau diciptakan dan kelas tersebut.sebuah kelas akan mempunyai sifat (atibut), kelakuan (operasi/metode), http://digilib.mercubuana.ac.id/ 23 hubungan (relationship) dan arti. Sutau kelas dapat diturunkan dan kelas yang lain, di mana atribut dan kelas semula dapat diwariskan ke kelas yang baru. Secara teknis, kelas adalah sebuah struktur tertentu dalam pembuatan perangkat lunak. Kelas merupakan bentuk struktur pada kode program yang menggunakan metodologi berorientasi objek. Objek (object) Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seberti benda, manusia, satuan organisasi, tempat, kejadian struktur, status, atau hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitaas yang mampu menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus hidup yaitu diciptakan, dimanipulasi, dan dihancurkan. Secara teknis, sebuah kelas saat program dieksekusi maka akan dibuat sebuah objek. Objek dilihat dari segi teknis adalah elemen pada saat runtime yang akan diciptakan, dimanipulasi, dan dihancurkan saat eksekusi sehingga sebuah objek hanya ada saat sebuah program dieksekusi, jika masih dalam bentuk kode, disebut sebagai kelas jadi pada saat runtime (saat sebuah program dieksekusi), yang kita punya adalah objek, di dalam teks program yang kita lihat hanyalah kelas. Metode (method) Operasi atau metode atau method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi structural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi. Metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri. Operasi atau metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek. Metode atau operasi dapat berasal dari event, aktivitas atau aksi keadaan, fungsi, atau kelakuan dunia nyata. Atribut (attribute) Atribut dari sebuah kelas adalah variable global yang dimiliki sebuah kelas. Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek. Atribut dipunyai secara individual oleh sebuah objek, misalnya berat, jenis, nama, dan sebagainya. Abstraksi (abstraction) http://digilib.mercubuana.ac.id/ 24 Prinsi untuk memresentasikan dunia nyata kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan. Enkapssulasi (encapsulation) Pemebungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerja-nya. Pewarisan (inheritance) Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dari dirinya. Antarmuka (interface) Antarmuka atau interface sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface dapat diimplementasikan oleh kelas lain. Sebuah kelas dapat mengimplementasikan lebih dari satu antarmuka dimana kelas akan mendeklarasikan metode pada antarmuka yang dibutuhkan oleh kelas itu sekaligus mendefinisikan isinya pada kode program kelas itu. Metode pada antarmuka yang diimplementasikan pada suatu kelas harus sama persis dengan yang ada pada antarmuka. Atnarmuka atau interface biasanya digunakan agar kelas yang lain tidak mengakses langsung ke suatu kelas, mengakses antarmukanya. Reusabilily Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan pada permasalahan lainnya yang melibatkan objek tersebut. Generalisasi dan spesialisasi Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil, motor, dan kereta. Komunikasi Antarobjek Komunikasi antar objek dilakukan lewat pesan (message) yang dikirim dan satu objek ke objek lainnya. Polimorfisme (polymorphism) Kemampuan suatu objek untuk digunakan dibanyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program. http://digilib.mercubuana.ac.id/ 25 Package Package adalah sebuah container atau kemasan yang dapat digunakan untuk mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda. 2.12.2. Analisis Berorientasi Objek Analisis berorientasi objek atai Object Oriented Analysis (OOA) adalah tahapan untuk menganalisi spesifikasi atau kebutuhan akan sistem yang akan dibangun dengan konsep berorientasi objek, apakah benar kebutuhan yang ada dapat diimplementasikan menjadi sebuah sistem berorientasi objek. OOA biasanya menggunakan kartu CRC (Component, Responsibility, Collaborator) untuk membangun kelas-kelas yang akan digunakan atau menggunakan UML (Unifed Modeling Language) pada bagian diagram use case, diagram kelas, dan diagram objek. 2.12.3. Desain Berorientasi Objek Desain berorientasi objek atau Object Oriented Design (OOD) adalah tahapan perantar untuk memetakan spesifikasi atau kebutuhan sistem yang akan dibangun dengan konsep berorientasi objek ke desain pemodelan agar lebih mudah diimplementasikan dengan pemrograman berorientasi objek. Pemodelan berorientasi objek biasanya dituangkan dalam dokumentasi perangkat lunak dengan menggunakan perangkat pemodelan berorientasi objek, diantaranya adalah UML (Unifed Modeling Language). OOA dan OOD dalam proses yang berulang-ulang seringnya memiliki batasan yang samar, sehingga kedua tahapan ini sering juga disebut OOAD (Object Oriented Analysis and DesignI) atau dalam bahasa Indonesia berarti Analisis dan Design Berorientasi Objek. http://digilib.mercubuana.ac.id/ 26 2.13. Unified Modeling Language (UML) 2.13.1. Definisi UML (Unified Modeling Language) Pada perkembangan teknologi perangkat lunak, diperlukan adanya bahasa yang digunakan untuk memodelkan perangkat lunak yang akan dibuat dan perlu adanya standarisasi agar orang di berbagai Negara dapat mengerti pemodelan perangkat lunak. Seperti yang diketahui bahwa menyatukan banyak kepala untuk menceritakan sebuah ide dengan tujuan untuk memehami hal yang sama tidaklah mudah. Oleh sebab itu diperlukan sebuah bahasa pemodelan perangkat lunak yang dapat dimengerti oleh banyak orang. Rosa A.S-M.Shalahuddin (2011 : 117) berpendapat banyak orang yang telah membuat bahasa pemodelan pembangunan perangkat lunak yang sesuai dengan teknologi pemrograman yang berkembang pada saat itu, misalnya yang sempat berkembang dan digunakan oleh banyak pihak adalah Data Flow Diagram (DFD) untuk memodelkan perangkat lunak yang menggunakan pemrograman procedural atau structural, kemudian juga ada State Transition Diagram (STD) yang digunakan untuk memodelkan sistem real time (waktu nyata). Saat ini telah muncul sebuah standarisasi bahasa pemodelan untuk membangun perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling Language (UML). UML merupakan merupakan bahasa visual untuk memodelkan dan komunikai mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. Rosa A.S-M. Shalahuddin (2011 : 118) UML berfungsi untuk melakukan pemodelan. Jadi penggunaannya tidak terbatas pada metodelogi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodelogi berorientasi objek. Begitu juga dengan perkembangan UML bergantung pada level abstraksi penggunaannya. Belum tentu pandangan yangberbeda dalam penggunaan UML ada suatu yang salah, akan tetapi perlu ditelaah dimanakah UML digunakan dan hal apa yang ingin divisualkan. Menurut Nugroho (2010:6), ”UML (Unified Modeling Language) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma (berorientasi objek).” Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahanpermasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. http://digilib.mercubuana.ac.id/ 27 Berdasarkan pendapat yang dikemukakan di atas dapat ditarik kesimpulan bahwa UML adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis OOP (Object Oriented Programming). Tabel 0.1 Komponen – komponen Diagram UML No. Diagram Kegunaan 1 Activity Perilaku prosedural dan paralel 2 Class Class, fitur, dan hubungan-hubungan 3 Communication 4 Component Struktur dan koneksi komponen 5 Composite structure Dekoposisi rentime sebuah class 6 Deployment Pemindahan artifak ko node 7 Interction overview Campuran sequance dan activity diagram 8 Object Contoh konfigurasi dari contoh-contoh 9 Package Struktur hirarki compile-time 10 Sequance Interaksi antar objek : penekanan pada sequance 11 State machine Bagaimana even mengubah objek selama aktif 12 Timming Interaksi antar objek : penekanan pada timing 13 Use Case Interaksi antar objek : penekanan pada jalur Struktur dan koneksi komponen Bagaimana pengguna berinteraksi dengan sebuah system 2.13.2. Definisi Diagram-diagram UML (Unified Modeling Language) a. Use case Diagram Menurut Rosa A.S-M. Shalahuddin (2011 : 130) Use case diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih actor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. http://digilib.mercubuana.ac.id/ 28 Tabel 0.2 Simbol-simbol Use case Diagram Simbol Deskripsi Use Case Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor; biasanya dinyatakan dengan menggunakan kata kerja diawal frase nama use case. Aktor / actor Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang; biasanya dinyatakan menggunakan kata benda di awal frase nama aktor Asosiasi / association Komunikasi antara aktor dan Use Case yang berpartisipasi pada use case atau use case memiliki iteraksi dengan aktor. Ekstensi / extend Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu; mirip dengan prinsip inheritance pada pemrograman berorientasi objek; biasanya use case tambahan memiliki nama depan yang sama dengan use << extends >> case yang tambahan memiliki nama depan yang sama dengan use case yang ditambahkan. Misal Validasi username <<extend>> Validasi user <<extend>> Validasi sidik jari Arah panah mengarah pada use case yang ditambahkan http://digilib.mercubuana.ac.id/ 29 Generalisasi / generalization Hubungan generalisasi dan spesialisasi (umum - khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya, misalnya: Ubah data Mengelola data Hapus data Arah panah mengarah pada use case yang menjadi generalisasinya (umum) http://digilib.mercubuana.ac.id/ 30 Menggunakan / include / uses Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini Ada dua sudut pandang yang cukup besar mengenai <<include>> <<uses>> include di use case: Include berarti use case yang ditambahkan akan selalu dipanggil saat use case tambahan dijalankan, misal pada kasus berikut: Validasi username <<include>> login Include berarti use case melakukan ditambahkan yang tambahan akan selalu pengecekan apakah telah dijalankan use case sebelum use yang case tambahan dijalankan, misal pada kasus berikut: Validasi username <<include>> Ubah data Kedua interpretasi di atas dapat dianut salah satu atau keduanya tergantung pada pertimbangan dan interpretasi yang dibutuhkan. http://digilib.mercubuana.ac.id/ 31 b. Activity Diagram Rosa A.S dan M. Shalahuddin (2011:134) mengungkapkan diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan actor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut: Rancangan proses bisnis di mana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan Urutan atau pengelompokan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan Rancangan pengujian di mana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. Berikut adalah simbol-simbol yang ada pada diagram aktivitas: Tabel 0.3 Simbol-simbol Activity Diagram Simbol Deskripsi Status awal Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal Aktiitas aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja percabangan / decision asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu penggabungan / join asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu http://digilib.mercubuana.ac.id/ 32 status akhir status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir Swimline memisahkan Nama swimline organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi Nama swimline atau c. Class Diagram Menurut Rosa A.S dan M. Shalahuddin (2011:122), diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut metode atau operasi, yaitu: Atribut merupakan variable-variabel yang memiliki oleh sutau kelas. Operasi atau metode adalah fungsi yang dimiliki oleh suatu kelas. Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut: Kelas main Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan. Kelas yang menangani tampilan sistem Kelas yang mendefinisikan dan mengatur tampilan ke pemakai Kelas yang diambil dari pendefinisian use case http://digilib.mercubuana.ac.id/ 33 Kelas yang menangani fungsi-fungsi yang harus ada diambil dari pendefinisian use case Kelas yang diambil dari pendefinisian data Kelas yang digunakan untuk memegang atau membungkus data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data. Dalam mendefinisikan metode yang ada didalam kelas, perlu memeperhatikan apa yang disebut dengan cohension dan coupling. Cohesion adalah ukuran seberapa dekat keterkaitan instruksi kedalam sebuah metode terkait satu sama lain sedangkan coupling adalah ukuran seberapa dekat keterkaitan instruksi antara metode yang satu dengan metode yang lain dalam sebuah kelas. Tabel 0.4 Simbol Class Diagram Simbol Deskripsi Kelas Kelas pada struktur sistem nama_kelas +atribut +operasi() Antarmuka / interface Sama dengan konsep interface dalam pemrograman berorientasi objek nama_interface Asosiasi / association Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity Asosiasi berarah / directed association Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity Generalisasi Relasi antar kelas dengan makna generalisasi-spesialisasi (umum khusus) Kebergantungan / dependency Relasi antar http://digilib.mercubuana.ac.id/ kelas dengan makna 34 kebergantungan antar kelas Agregasi / aggregation Relasi antar kelas dengan makna semuabagian (whole-part) d. Sequence Diagram Diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antarobjek. Oleh karena itu untuk menggambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Banyaknya diagram sekuan yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak. Tabel 0.5 Simbol-simbol Diagram Sequance Simbol Deskripsi Garis hidup / lifeline Menyatakan kehidupan suatu objek Menyatakan objek yang berinteraksi pesan Nama objek : nama_kelas Objek http://digilib.mercubuana.ac.id/ 35 Waktu aktif Menyatakan objek dalam keadaan aktif dan berinterkasi, semua yang terhubung dengan waktu aktid ini adalah sebuah tahapan yang di lakukan didalaamnya Pesan tipe create Menyatakan suatu objek membuat objek <<create>> Pesan tipe call lain, arah panah mengarah pada objek yang dibuat Menyatakan suatu objek memanggil operasi atau metode yang ada pada objek 1:nama_metode() lain atau dirinya sendiri. 1:nama_metode() Arah panah mengarah pada objek yang memiliki operasi/metode, karena ini memanggil operasi/metode maka operasi/metode yang dipanggil harus ada pada diagram kelas sesuai dengan kelas objek yang berinteraksi Pesan tipe send Menyatakan bahwa suatu objek yang telah 1:masukan() menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian Pesan tipe return Menyatakan bahwa suatu objek yang telah 1:keluaran() menjalankan suatu operasi atau metode manghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian http://digilib.mercubuana.ac.id/ 36 Pesan tipe destroy Menyatakan suatu objek mangakhiri hidup objek yang lain, arah panah mengarah pada objek yang diakhiri, sebaiknya jika <<destroy>> ada create maka ada destroy Penomoran pesan berdasarkan urutan interaksi pesan. Penggambaran letak pesan haru berurutan, pesan yang lebih atas dari lainnya adalah pesan yang berjalan terlebih dahulu. 2.14. Konsep Dasar Basis Data 2.14.1. Pengertian Basis Data Rosa A.S dan M. Shalahuddin (2011:44) Sistem basis data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan. Pada intinya basis data adalah media untuk menyimpan data agar dapat diakses dengan mudah dan cepat. Tabel 1 Basis data Tabel 2 …………………….. Tabel n Gambar 0.3 Ilustrasi Basis Data http://digilib.mercubuana.ac.id/ 37 Sistem informasi tidak dapat dipisahkan dengan kebutuhan akan basis data apapun bentuknya, entah berupa file teks ataupun Database Management System (DBMS). Kebutuhan basis data dalam sistem informasi meliputi: Memasukkan, menyimpan, dan mengambil data Membuat laporan berdasarkan data yang telah disimpan 2.14.2. DBMS (Data Base Management System) Rosa A.S dan M. Shalahuddin (2011:45) DBMS (Data Base Management System) atau dalam bahasa Indonesia sering disebut sebagai Sistem Manajemen Basis Data adalah suatu sistem aplikasi yang digunakan untuk menyimpan, mengelola, dan menampilkan data. Suatu sistem aplikasi disebut DBMS jika memenuhi persyaratan minimal sebagai berikut: Menyediakan fasilitas untuk mengelola akses data Mampu menangani intergritas data Mampu menangani akses data yang dilakukan secara Mampu menangani backup data DBMS sudah mulai berkembang sejak tahun 1960-an. Kemudian sekitar tahun 1970-an mulai berkembang teknologi Relational DBMS yaitu DBMS berbasis relasional model. Relasional model pertama kali dikembangkan oleh Edger J. Codd pada tahun 1970. Pada tahun 1980-an mulai berkembang Object Oriented DBMS (OODBMS). OODBMS berkembang seiring dengan perkembangan teknologi pemrograman berorientasi objek. Secara umum dapat diartikan bahwa OODBMS merupakan DBMS yang memandang data sebagai suatu objek. Saat ini OODBMS juga cukup berkembang namun belum dapat menggeser kepopuleran RDBMS. Berikut ini adalah 4 macam DBMS versi komersial yang paling banyak digunakan di dunia saat ini, yaitu: Oracle Microsoft SQL Server IBM DB2 Microsoft Accsess Sedangkan DBMS versi open source yang cukup bekembang dan paling banyak digunakan saat ini adalah sebagai berikut: MySQL http://digilib.mercubuana.ac.id/ 38 PostgreSQL Firebird SQLite Hampir semua DBMS mengadopsi SQL sebagai bahasa untuk mengelola data pada DBMS. 2.15. Definisi Rekonsiliasi Didalam kamus besar bahasa Indonesia, rekonsiliasi berarti penetapan pos-pos yang diperlukan untuk mencocokkan saldo masing-masing dari dua akun atau lebih yang mempunyai hubungan satu dengan yang lain. Rekonsiliasi juga dapat berarti menentukan perbedaan antara dua akun mengenai hal yang sama pada dua pihak yang berlainan; pencocokan saldo dan dua atau beberapa akun mengenai hal yang sama. (http://badanbahasa.kemdikbud.go.id/kbbi/index.php). 2.15.1. Rekonsiliasi Bank Lilis Setiawati-Anastasia Diana (2010:118) rekonsiliasi bank adalah mencocokkan catatan kas masuk kas keluar menurut rekening Bank dengan catatan milik perusahaan. 2.15.2. Rekonsiliasi E-Money (Electronic Money) Rekonsiliasi E-Money adalah proses pencocokkan data transaksi dengan data transaksi yang telah dibayarankan. Proses ini dilakukan oleh pihak bank penerbit pada unit settlement/pembayaran untuk menghindari adanya selisih pada pembukuan keuangan perusahaan. 2.16. Jurnal Leny Sulistiyowati (2010:83) jurnal adalah buku/formulir yang dipakai untuk mencata transaksi berdasarkan urutan waktu. Catatan dalam ayat jurnal ini biasanya menggunakan istilah debet atau kredit dan harus dibuat berdasarkan metode akuntansi yang dipilih dari prinsip akuntansi yang berlaku umum. http://digilib.mercubuana.ac.id/ 39 2.17. Uang Elektronik (Electronic Money) Nufransa Wira Sakti (2014:33) Uang Elektronik adalah sistem pembayaran secara elektronik yang dipergunakan untuk transaksi online, yakni elemen digital yang dibuat dapat digunakan sebagai uang. Berdasarkan Peraturan Bank Indonesia Nomor 11/12/PBI/2009 dan Surat Edaran Bank Indonesia Nomor 11/11/DASP 2009 perihal Uang Elektronik, uang elektronik (Electronic Money) adalah alat pembayaran yang memenuhi unsur-unsur sebagai berikut: a. diterbitkan atas dasar nilai uang yang disetor terlebih dahulu oleh pemegang kepada penerbit; b. nilai uang disimpan secara elektronik dalam suatu media seperti server atau chip; c. digunakan sebagai alat pembayaran kepada pedagang yang bukan merupakan penerbit uang elektronik tersebut; dan d. nilai uang elektronik yang disetor oleh pemegang dan dikelola oleh penerbit bukan merupakan simpanan sebagaimana dimaksud dalam undang-undang yang mengatur mengenai perbankan. Peraturan Bank Indonesia Nomor 11/12/PBI/2009/Pasal 1 11/12/PBI/2009 Ayat (4) – (14), menjelaskan: a. Nilai Uang Elektronik adalah nilai uang yang disimpan secara elektronik pada suatu media yang dapat dipindahkan untuk kepentingan transaksi pembayaran dan/atau transfer dana. b. Prinsipal adalah Bank atau Lembaga selain Bank yang bertanggung jawab atas pengelolaan sistem dan/atau acquirer, dalam transaksi Uang Elektronik yang kerjasama dengan anggotanya didasarkan atas suatu perjanjian tertulis. c. Penerbit adalah Bank atau Lembaga selain Bank yang menerbitkan Uang Elektronik. d. Acquirer adalah Bank atau Lembaga selain Bank yang melakukan kerja sama dengan pedagang, yang dapat memproses data Uang Elektronik yang diterbitkan oleh pihak lain. e. Pemegang adalah pihak yang menggunakan Uang Elektronik. f. Pedagang (merchant) adalah penjual barang dan/jasa yang menerima transaksi pembayaran dari pemegang. http://digilib.mercubuana.ac.id/