BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem Informasi 2.1.1 Pengertian Sistem Sistem berasal dari bahasa Latin (systēma) dan bahasa Yunani (sustēma) adalah suatu kesatuan yang terdiri dari komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau energi untuk mencapai suatu tujuan. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan kegiatan atau untuk melakukan sasaran tertentu (Hutahaean, 2014:1). Sistem yang baik memiliki karakteristik sebagai berikut : 1. Komponen, suatu sistem terdiri dari sejumlah komponen-komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan. Komponen sistem terdiri dari komponen yang berupa subsistem atau bagian-bagian dari sistem. 2. Batasan sistem (boundary), merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lain atau dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan. Batasan suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut. 3. Lingkungan luar (environment), adalah daerah diluar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan dapat bersifat menguntungkan bisa juga merugikan yang harus dijaga dan dikendalikan, kalau tidak akan mengganggu kelangsungan hidup dari sistem. 4. Penghubung sistem (interface), merupakan media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumber daya mengalir dari subsistem ke subsistem lain. Keluaran (output) dari subsistem akan menjadi masukan (input) untuk subsistem lain melalui penghubung. 5. Masukkan sistem (input), adalah energi yang dimasukkan kedalam sistem yang dapat berupa perawatan (maintenance input) dan masukkan sinyal (signal input). Maintenance input adalah energy yang dimasukkan agar sistem dapat beroperasi. Signal input adalah energi yang diproses untuk mendapatkan keluaran (output). 6. Keluaran sistem (output), adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Pada komputer panas yang
5 http://digilib.mercubuana.ac.id/
6
dihasilkan merupakan sisa pembuangan, sedangkan informasi adalah keluaran yang dibutuhkan. 7. Pengolahan sistem (process), bagian dari sistem yang akan merubah masukkan menjadi keluaran. Sistem produksi akan mengolah bahan baku menjadi produk jadi. 8. Sasaran sistem, suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective). Sasaran dari sistem sangat menentukan input yang dibutuhkan serta keluaran yang akan dihasilkan oleh sistem.
Gambar 2.1 Karakteristik Dari Suatu Sistem (Hutahaean, 2014:5) 2.1.2 Pengertian Informasi Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi penerimanya. Data adalah kenyataan yang menggambarkan suatu kejadian dan kesatuan nyata (Hutahaean, 2014:9). Menurut Davis dalam buku Hutahaean (2014:9), informasi adalah data yang telah diolah menjadi suatu bentuk yang penting bagi si penerima dan mempunyai nilai nyata atau yang dapat dirasakan dalam keputusankeputusan yang sekarang atau keputusan-keputusan yang akan datang. Data yang diolah untuk menghasilkan informasi menggunakan model proses yang tertentu. Misalkan suhu dalam Fahrenheit diubah ke celcius, dalam hal ini digunakan model matematik berupa rumus konversi dari derajat Fahrenheit menjadi satuan derajat celcius. Data yang diolah melalui suatu model menjadi informasi, kemudian penerima menerima informasi tersebut, yang berarti menghasilkan keputusan dan melakukan tindakan yang lain yang akan membuat sejumlah data kembali. Data tersebut akan
http://digilib.mercubuana.ac.id/
7
ditangkap sebagai input, diproses kembali lewat suatu model dan seterusnya yang disebut dengan siklus informasi (information cycle). Siklus ini juga disebut dengan siklus pengolahan data (data processing cycle).
Gambar 2.2 Siklus Informasi (Hutahaean, 2014:11) Pada awalnya semua organisasi mulai dengan mengumpulkan data, data kemudian dimasukkan (data entry) kedalam sistem komputer melalui perangkat masukan (input) dan disimpan kedalam file basisdata. Data yang tersimpan dalam file basis data kemudian dibaca kembali dan diproses menjadi informasi, informasi ini disajikan pada perangkat output untuk diberikan ke pengguna. Pengguna kemudian menggunakan informasi untuk melakukan tindakan atau mengambil keputusan. Beberapa saat kemudian hasil tindakan atau hasil pengambilan keputusan di-evaluasi dan menjadi bahan untuk perbaikan data. Kualitas informasi (quality of information) dipengaruhi oleh faktor, yaitu : 1. Ketepatan waktu (timeliness), informasi harus tiba ditangan pengguna tepat waktu, tidak boleh terlambat, informasi yang terlambat akan berkurang nilainya. Disamping ketepatan waktu (timeliness) informasi juga ditentukan oleh usia (age), berapa lama informasi tersebut berlaku. Faktor usia biasa dikaitkan dengan rentang waktu (time frame), misalnya laporan keuangan hanya berlaku 4 bulan. 2. Ketepatan isi (accuracy), informasi harus tepat isinya, atau harus akurat, tidak mengandung kesalahan. Ketepatan isi juga selain berkaitan dengan akurasi juga berkaitan dengan presisi. Akurat berarti tidak mengandung kesalahan, sedang presisi menyatakan derajat kerincian informasi, semakin rinci berarti semakin presisi. Komponen akurat meliput : Completeness, berarti informasi yang dihasilkan atau dibutuhkan harus memiliki kelengkapan yang baik, karena bila informasi yang dihasilkan sebagia-sebagian akan mempengaruhi dalam pengambilan keputusan.
http://digilib.mercubuana.ac.id/
8
Correctness, berarti informasi yang dihasilkan atau dibutuhkan harus memiliki kebenaran. Security, berarti informasi yang dihasilkan atau dibutuhkan harus memiliki keamanan. 3. Ketepatan sasaran, informasi harus tiba ditangan orang yang memerlukannya, apabila salah sasaran informasi tersebut tidak berguna atau bisa disalahgunakan. 4. Relevansi (relevancy), informasi harus relevan dengan kebutuhan penggunanya, bila tidak maka informasi ini tidak berguna. Informasi yang berkualitas akan mampu menunjukkan benang merah relevansi kejadian masa lalu, hari ini, dan masa depan sebagai sebuah bentuk aktifitas yang kongkrit dan mampu dilaksanakan, dan dibuktikan oleh siapa saja. 5. Kemudahan akses, informasi harus bisa diperoleh dengan mudah agar dapat diterima oleh pengguna tanpa hambatan dan lancar. Misalnya informasi harus tersedia di jaringan dengan fasilitas akses yang aman dari orang yang tidak berhak. 6. Kelengkapan, informasi harus lengkap sesuai dengan kebutuhan, apabila tidak lengkap tentu nilai dan kualitasnya kurang. 2.1.3 Konsep Dasar Sistem Informasi Sistem
informasi
adalah
suatu
sistem
didalam
suatu
organisasi
yang
mempertemukan kebutuhan pengelolaan transaksi harian, mendukung operasi, bersifat manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang dibutuhkan (Hutahaean. 2014:13). Sistem informasi terdiri dari komponen-komponen yang disebut dengan istilah blok bangunan (building block) yaitu : 1. Blok masukkan (input block), mewakili data yang masuk ke dalam sistem informasi. Input disini termasuk metode-metode dan media yang digunakan untuk menangkap data yang akan dimasukkan, yang dapat berupa dokumen dasar. 2. Blok model (model block), terdiri dari kombinasi prosedur, logika dan metode matematik yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang sudah diinginkan. 3. Blok keluaran (output block), produk dari sistem informasi adalah keluaran berupa informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. 4. Blok teknologi (technology block), digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran
http://digilib.mercubuana.ac.id/
9
dan membantu pengendalian diri secara keseluruhan. Teknologi terdiri dari unsur utama : a. Teknisi (human ware atau brain ware) b. Perangkat lunak (software) c. Perangkat keras (hardware) 5. Blok basis data (data base block), merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan diperangkat keras komputer dan dibutuhkan perangkat lunak yang sesuai untuk memanipulasinya. 6. Blok kendali (control block), banyak faktor yang dapat merusak sistem informasi. Misalnya bencana alam, api, temperatur tinggi, air, debu, kecurangan-kecurangan, sabotase dan sebagainya. Beberapa pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah atau bila terlanjur terjadi kesalahan dapat langsung diatasi.
Gambar 2.3 Blok sistem informasi (Hutahaean, 2014:15) 2.2 System Development Life Cycle Pengembangan/rekayasa sistem informasi (system development) dan/atau perangkat lunak (software engineering) dapat berarti menyusun sistem/perangkat lunak yang benarbenar baru atau –yang lebih sering terjadi- menyempurnakan yang telah ada sebelumnya. Juga sering terjadi pengembangan sistem informasi berbasis komputer (CBIS – Computer Based Information System) dilakukan dengan motivasi untuk memanfaatkan komputer sebagai alat bantu yang dikenal sebagai alat yang cepat, akurat, tidak cepat lelah, serta tidak mengenal arti kata bosan, untuk melaksanakan instruksi-instruksi pengguna untuk mendapatkan hasil-hasil tertentu (Nugroho, 2010:2). Segala sesuatu yang akan kita kerjakan seharusnya memiliki kerangka kerja, demikian pula dengan langkah-langkah pengembangan sistem/perangkat lunak. Konsep system development life cycle mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi pengembangan perangkat lunak adalah suatu kerangka kerja
http://digilib.mercubuana.ac.id/
10
yang digunakan untuk menstrukturkan, merencanakan, dan mengendalikan proses pengembangan suatu sistem infomasi. Ada beberapa model SDLC, model yang populer dan banyak digunakan adalah metode waterfall.
Gambar 2.4 Metode Waterfall (Sommerville, 2011:30) 2.2.1 Tahapan Metode Waterfall Tahapan dari metode Waterfall merefleksikan pokok-pokok dari aktivitas pengembangan sistem (Sommerville, 2011:31). Tahap Requirements Definition, menyangkut studi tentang kebutuhan pengguna (user’s spesification), studi kelayakan (feasibility study) baik secara teknis maupun secara teknologi, serta penjadwalan pengembangan suatu proyek sistem informasi dan/atau perangkat lunak. Pada tahap ini pula, sesuai dengan kakas (tool) yang kita gunakan yaitu UML, kita bisa menggunakan use case diagram untuk menangkap kebutuhan dan harapan pengguna. Tahap System and Software Desain, tahap dimana kita berusaha mengenali segenap permasalahan yang muncul pada pengguna dengan mendekomposisi dan merealisasikan use case diagram lebih lanjut, mengenali komponen-komponen sistem/perangkat lunak, objek-objek, hubungan antar objek, dan sebagainya. Selanjutnya kita mencoba mencari solusi dari permasalahan yang ada. Tahap Implementation and Unit Testing, yaitu tahapan dimana keseluruhan desain diubah menjadi kode-kode program. kode program yang dihasilkan masih berupa modul-modul yang selanjutnya akan di integrasikan menjadi sistem yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi.
http://digilib.mercubuana.ac.id/
11
Tahap Integration and System Testing, setiap unit program yang sudah ada diintegrasikan dan diuji sebagai satu keutuhan sistem untuk memastikan apakah kebutuhan sistem sudah terpenuhi. Tahap Operation and Maintenance, dilakukan instalasi terhadap sistem dan digunakan dalam operasional sehari-hari. Maintenance melibatkan koreksi terhadap error yang tidak ditemukan pada tahap sebelumnya, memperbaiki implementasi dari unit sistem dan meningkatkan layanan yang diberikan oleh sistem sebagai kebutuhan baru yang ditemukan. 2.2.2 Manfaat Metode Waterfall Keunggulan model pendekatan pengembangan software dengan metode waterfall adalah pencerminan kepraktisan rekayasa, yang membuat kualitas software tetap terjaga karena pengembangannya yang terstruktur dan terawasi. Disisi lain model ini merupakan jenis model yang bersifat dokumen lengkap, sehingga proses pemeliharaan dapat dilakukan dengan mudah. Akan tetapi dikarenakan dokumentasi yang lengkap dan sangat teknis, membuat pihak klien sulit membaca dokumen yang berujung pada sulitnya komunikasi antar pengembang dan klien. Dokumentasi kode program yang lengkap juga secara tak langsung menghapus ketergantungan pengembang terhadap pemrogram yang keluar dari tim pengembang. Hal ini sangat menguntungkan bagi pihak pengembang dikarenakan proses pengembangan perangkat lunak tetap dapat dilanjutkan tanpa bergantung pada pemrogram tertentu. 2.2.3 Kelemahan Metode Waterfall Metode Waterfall digunakan hanya jika semua kebutuhan sudah dimengerti dan tidak berubah secara radikal pada tahap pengembangan (Sommerville, 2011:32). Kelemahan pengembangan software dengan metode waterfall yang utama adalah lambatnya proses pengembangan perangkat lunak. Dikarenakan prosesnya yang satu persatu dan tidak bisa diloncat-loncat menjadikan model klasik ini sangat memakan waktu dalam pengembangannya. Disisi lain, pihak klien tidak dapat mencoba sistem sebelum sistem benar-benar selesai pembuatannya. Kelemahan yang lain adalah kinerja personil yang tidak optimal dan efisien karena terdapat proses menunggu suatu tahapan selesai terlebih dahulu. Secara keseluruhan model pendekatan pengembangan software dengan metode waterfall cocok untuk pengembangan software / perangkat lunak dengan tingkat resiko yang kecil, dan memiliki ukuran yang kecil serta waktu pengembangan yang cukup
http://digilib.mercubuana.ac.id/
12
panjang. Model ini tidak disarankan untuk ukuran perangkat lunak yang besar dan tingkat resiko yang besar. 2.3 Analisa dan Desain Berorientasi Objek Object Oriented Analysis and Design adalah metode analisis yang memeriksa syarat/keperluan yang harus dipenuhi oleh suatu sistem dari sudut pandang kelas-kelas dan object-object yang ditemui dalam ruang lingkup masalah (Nugroho, 2010:107). Fokus utama metodologi ini pada objek, dengan melihat suatu sistem terdiri dari objek yang saling berhubungan dengan beberapa cara untuk mencapai suatu tujuan. Objek dapat digambarkan sebagai benda, orang, tempat dan sebagainya yang mempunyai atribut dan method. Objek dalam software analysis and design adalah sesuatu berupa konsep (concept), benda (thing), dan sesuatu yang membedakannya dengan lingkungannya. Secara sederhana objek adalah mobil, manusia, alarm, dan lain-lainnya. Tapi objek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem seperti table, database, event, system messages. Objek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciri-ciri ini yang akan membedakan objek tersebut dari objek lainnya. Beberapa komponen / istilah dalam OOP: Objek, sebagai suatu entitas / model yang mewakili benda dalam dunia nyata yang memiliki state, atribut, dan behavior. State adalah keadaan sesaat dari suatu objek, sedangkan atribut merupakan suatu komponen internal yang dimiliki oleh sebuah objek dan merupakan ciri objek tersebut. Behavior sendiri adalah suatu aktifitas dari sebuah objek dimana objek tersebut beraksi dan beraksi. Class, adalah sebuah himpunan atau kumpulan dari objek yang memiliki jenis yang sama. Class menetapkan perilaku (behavior) dan atribut dari objek tersebut. Object Oriented Programming merupakan cara atau metode baru dalam membuat program. Langkah membuat program dengan teknik OOP, pertama kali mengetahui objeknya, kemudian atribut (field/data) dan perilakunya (fungsi). Berbeda dengan pemrograman procedural (konvensional), membuat program memakai aspek input, proses, dan output. OOP adalah cara berpikir, pandangan, atau paradigm baru untuk membuat program/merancang sistem dengan memperhatikan objek, ciri objek, dan perilakunya. OOP ini sangat berbeda dengan program procedural yang fokusnya aspek input, proses san output. Tiga prinsip dari Object Oriented yakni :
http://digilib.mercubuana.ac.id/
13
Encapsulation, merupakan penyembunyian detail dari proses yang dilakukan oleh suatu objek/class dan user hanya tahu cara menggunakan objek/class tersebut tanpa tahu apa yang dilakukan oleh objek/class tersebut. Inheritance, sebuah subclass atau kelas anak mewarisi atribut dan method dari class induknya (superclass). Setiap perubahan pada atribut atau method yang terdapat pada superclass langsung diwariskan pada semua subclass yang diturunkan dari superclass tersebut. Polymorphism, suatu sifat khusus yang sangat menghemat usaha perluasan dari sistem berorientasi objek yang ada. Dengan menggunakan konsep yang disebut overloading, sebuah subclass dapat mendefinisikan sendiri method yang telah ada pada superclass. Dengan polymorphism, beberapa method yang berbeda dapat menggunakan nama yang sama. 2.4 Unified Modelling Language UML (Unified Modeling Language) adalah “bahasa” pemodelan untuk sistem atau perangkat lunak yang berparadigma “berorientasi objek” (Nugroho, 2010:6). Pemodelan (modeling)
sesungguhnya
digunakan
untuk
menyederhanakan
permasalahan-
permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. Sebagai contoh, alih-alih membawa planet bumi ke meja kita, kita mungkin akan membawa peta-peta tentang bagian bumi tertentu ke meja kita untuk kita pelajari lebih jauh. Dalam hal ini, sasaran model sesungguhnya adalah abstraksi segala sesuatu yang ada di planet bumi menjadi gambaran-gambaran yang lebih mudah dipelajari dan dipahami. Adapun tujuan pemodelan (dalam kerangka pengembangan sistem/perangkat lunak aplikasi) adalah serupa dengan yang kita singgung di atas, yaitu sebagai sarana analisis, pemahaman, visualisasi, dan komunikasi antar anggota tim pengembang, serta sebagai sarana dokumentasi. Dalam hal di atas, pemodelan perangkat lunak (software modeling) bekerja dengan cara yang cukup serupa layaknya seorang arsitek atau insinyur teknik sipil yang akan membuat sebuah bangunan/gedung yang berskala besar. Saat seorang arsitek atau insinyur teknik sipil akan membuat sebuah gedung berskala besar, dia biasanya terlebih dahulu membuat denah-denah atau maket-maket yang menggambarkan seperti apa kelak gedung itu akan terbentuk. Kita sebagai seorang perancang perangkat lunak sesungguhnya juga bertindak dengan cara yang serupa, hanya saja yang kita rancang adalah sebuah perangkat lunak tertentu. Dalam hal ini, kita bisa menggambarkan komponen-komponen perangkat lunak dalam bentuk geometri tertentu, misalnya untuk menggambarkan suatu class dalam perangkat lunak, kita bisa menggunakan bentuk
http://digilib.mercubuana.ac.id/
14
geometri empat persegi panjang. Untuk menggambarkan hubungan antar class (asosiasi), kita menggunakan bentuk geometri garis lurus. Sesungguhnya tidak ada batasan yang tegas di antara berbagai konsep dan konstruksi dalam UML, tetapi untuk menyederhanakannya kita membagi sejumlah besar konsep dan diagram dalam UML menjadi beberapa view. Suatu view sendiri pada dasarnya merupakan sejumlah konstruksi pemodelan UML yang merepresentasikan suatu aspek tertentu dari sistem/perangkat lunak yang sedang kita kembangkan (Nugroho, 2010:10). Pada peringkat paling atas, view-view dapat dibagi menjadi 3 area utama yaitu: klasifikasi structural (structural classification), perilaku dinamis (dynamic behavior), serta pengelolaan/manajemen model (model management). Tabel 2.1 View dan Diagram dalam UML (Nugroho, 2010:9) Major Area Structural
View Static View
Diagrams Class Diagram
Main Concepts Class, association, generalization, dependency, realization, interface
Use Case View
Use Case
Use case, actor, association,
Diagram
extend, include, use case generalization
Dynamic
Implementation View
Component
Component, interface,
Deployment View
Diagram
dependency, realization
Deployment
Node, component,
Diagram
dependency, location
Statechart
State, event, transition,
Diagram
action
Activity
State, activity, completion
Diagram
transition, action
Sequence
Interaction, object, message,
Diagram
activation
Collaboration
Collaboration, interaction,
Diagram
collaboration role, message
Class Diagram
Package, subsystem, model
All
Constrain, stereotype, tagged
State machine view Activity View Interaction View
Model Management
Model Management View
Extensibility
All
values
http://digilib.mercubuana.ac.id/
15
Klasifikasi struktural (structural classification) mendeskripsikan segala sesuatu dalam sistem/perangkat lunak dan relasinya terhadap sesuatu yang lainnya (Nugroho, 2010:10). Pengklasifikasi (classifier) mencakup di dalamnya kelas-kelas (class), use case, komponen (component), dan simpul (node). Pengklasifikasi menyediakan dasar di mana perilaku dinamis sistem/perangkat lunak dikembangkan. View klasifikasi mencakup di dalamnya view statis, view use case, serta view implementasi. Perilaku dinamis (dynamic view) mendeskripsikan perilaku sistem selama berjalannya waktu. Perilaku (behavior) sendiri sesungguhnya dapat dideskripsikan sebagai deretan perubahan sistem/perangkat lunak dari suatu view statis. View perilaku dinamis mencakup di dalamnya state machine view, activity view, dan integration view. Sementara itu, pengelolaan model mendeskripsikan organisasi model-model itu sendiri menjadi unit-unit yang bersifat hierarki. Paket (package) merupakan unit pengorganisasi generic untuk model-model. Paket-paket khusus mencakup didalamnya model-model dan subsistem-subsistem. View pengelolaan model (model management view) bersifat lintas view dan mengorganisasinya sedemikian rupa untuk memudahkan pekerjaan pengembangan sistem/perangkat lunak dan memudahkan kendali konfigurasi. Selain hal di atas, UML juga memiliki beberapa konstruksi yang memungkinkan perluasan terbatas yang sangat bermanfaat. Konstruksi-konstruksi ini mencakup di dalamnya batasan-batasan (constrains), stereotype, dan nilai-nilai penanda (tagged value), dimana konstruksi-konstruksi perluasan ini pada dasarnya dapat diterapkan pada semua view. 2.4.1 Use Case Diagram Use case digunakan untuk memodelkan fungsionalitas-fungsionalitas sistem / perangkat lunak dilihat dari pengguna yang ada di luar sistem (yang sering dinamakan sebagai actor). Use case pada dasarnya merupakan unit fungsionalitas koheren yang di ekspresikan sebagai transaksi-transaksi yang terjadi antara actor dan sistem (Nugroho, 2010:34). Kegunaan dari use case adalah untuk memperlihatkan actor-actor mana yang berpartisipasi dalam masing-masing use case. Seperti activity diagram, use case juga dapat mendokumentasikan sistem berjalan (as is system) dan sistem baru yang akan dibangun (to be system). Sebuah actor merupakan idealisasi dari orang yang ada di luar sistem, idealisasi proses-proses yang berinteraksi dengan sistem, sub sistem, atau kelas. Sebuah actor pada dasarnya menggambarkan interaksi pengguna-pengguna dengan sistem / perangkat lunak yang sedang kita kembangkan. Saat sistem / perangkat lunak dijalankan, suatu pengguna
http://digilib.mercubuana.ac.id/
16
secara fisik mungkin diikat menjadi berbagai actor yang ada didalam sistem dan selanjutnya merepresentasikan instance majemuk dari definisi actor yang sama.
Gambar 2.5 Use Case Diagram Penarikan Dana (Nugroho, 2010:93) Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Tabel 2.2 Notasi Use Case Diagram (Nugroho, 2010:36) Nama Notasi Actor
Deskripsi
Notasi
Orang yang memperoleh keuntungan dari sistem. Digambarkan dengan symbol orang jika dia orang, dan dengan kotak jika bukan orang. Dapat
berasosiasi
menggunakan
dengan
aktor
spesialisasi/superclass
yang
lain
asosiasi
dengan simbol panah. Ditempatkan diluar subject boundary. Use Case
Memperlihatkan bagian utama dari fungsi sistem. Dapat extend / include dengan use case yang lain. Ditempatkan didalam subject boundary. Diberi label deskriptif kata kerja - kata benda.
Subject
Merepresentasikan ruang lingkup dalam sistem.
Boundary
Diberi nama subject yang diletakkan didalam atau diatas garis.
Assosiation
Penghubung actor dengan use case.
Relationship Include
Merepresentasikan bagian fungsi dari use case satu
Relationship
dengan yang lain. Panah digambar dari base usecase ke include usecase.
http://digilib.mercubuana.ac.id/
Subject
17
Nama Notasi
Deskripsi
Extend
Merepresentasikan
tambahan
Relationship
termasuk pada perilaku optional.
Notasi use
case
yang
Panah digambarkan dari use case tambahan ke base use case. Generalization
Merepresentasikan use case khusus ke use case
Relationship
umum. Panah digambarkan dari use case khusus ke base use case.
Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behavior-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. 2.4.2 Activity Diagram Activity diagram bertujuan memodelkan komputasi dan aliran kerja yang terjadi dalam sistem / perangkat lunak yang sedang dikembangkan (Nugroho, 2010:62). Menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram digunakan pada konteks model proses bisnis. Model proses menggambarkan bagaimana sistem bisnis beroperasi, menggambarkan aktivitas dasar dan hubungan antar aktivitas pada proses bisnis. Activity diagram mengilustrasikan proses atau aktivitas yang dilakukan dan bagaimana objek (data) bergerak dari satu objek ke objek yang lain. Model proses dapat digunakan untuk mendokumentasikan sistem berjalan (as is system) atau sistem baru yang akan dibangun (to be system).
http://digilib.mercubuana.ac.id/
18
Gambar 2.6 Activity Diagram (Nugroho, 2010:114) Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana actor menggunakan sistem untuk melakukan aktivitas. Tabel 2.3 Notasi Activity Diagram (Nugroho, 2010:63) Nama Notasi Action
Deskripsi
Notasi
Sederhana, bagian yang tidak dapat dibagi dari perilaku. Diberi label sesuai namanya.
Activity
Digunakan
untuk
mewakili
serangkaian
tindakan. Diberi label sesuai namanya. Object Node
Digunakan
untuk
mewakili
objek
yang
terhubung ke satu set rangkaian objek. Diberi label sesuai nama kelasnya. Control Flow
Menampilkan urutan eksekusi.
Object Flow
Menampilkan aliran objek dari satu aktivitas / action ke aktivitas / action lainnya.
Initial Flow
Menggambarkan awal dari serangkaian aktivitas atau action.
http://digilib.mercubuana.ac.id/
19
Nama Notasi
Deskripsi
Notasi
Final Activity
Digunakan untuk menghentikan seluruh control
Flow
flow atau object flow.
Final Flow
Digunakan untuk menghentikan control flow
Node
atau object flow.
Decision Node
Digunakan untuk menggambarkan behavior pada kondisi tertentu.
Merger Node
Digunakan untuk menyatukan kembali alur keputusan yang telah dibuat menggunakan decision node.
Fork Node
Digunakan untuk membagi perilaku menjadi aliran parallel dari aktivitas atau action.
Join Node
Digunakan untuk menyatukan aliran parallel dari aktivitas atau action.
Swimlane
Digunakan untuk memisahkan diagram aktivitas kedalam kolom-kolom atau baris-baris untuk menetapkan aktivitas atau action tersendiri kedalam suatu objek yang bertanggung jawab melaksanakan aktivitas atau action.
Action dan Activity dilambangkan dengan persegi panjang berujung membulat dan diberi nama yang diawali dengan kata kerja dan diakhiri dengan kata benda (misalnya pembuatan janji atau pembuatan tagihan). Nama harus pendek namun mengandung informasi yang cukup sehingga pembaca dapat dengan mudah memahami. Activity adalah suatu kegiatan yang dapat diuraikan lebih lanjut dalam serangkaian kegiatan / tindakan. Sedangkan action merupakan tindakan sederhana yang tidak dapat dibagi lagi dari keseluruhan perilaku yang dimodelkan. Biasanya activity hanya digunakan untuk proses bisnis. Object
nodes
merupakan
model
benda-benda
dalam diagram aktivitas,
digambarkan dengan persegi panjang. Nama kelas objek ditulis di dalam persegi panjang. Pada dasarnya, object nodes merupakan aliran informasi dari satu kegiatan ke kegiatan yang lain. Control flow dan object flow merupakan dua jenis aliran yang berbeda dalam diagram aktivitas. Control flow digambarkan dengan garis panah yang menunjukkan arah
http://digilib.mercubuana.ac.id/
20
aliran. Control flow hanya dapat melekat pada action dan activity. Object flow digambarkan sebagai garis putus-putus dengan mata panah menunjukkan arah aliran. Object flow dilampirkan ke action atau activity di satu ujung dan object nodes di ujung yang lain. 2.4.3 Class Diagram Kelas sesungguhnya merepresentasikan suatu konsep diskret di dalam aplikasi yang dimodelkan. Sesuatu yang bersifat fisik (misalnya mobil, pesawat), sesuatu yang bersifat bisnis (misalnya pesanan), sesuatu yang bersifat logika (misalnya penjadwalan), sesuatu yang sangat terkait dengan aplikasi (misalnya tombol, ikon), sesuatu yang merupakan konsep yang dikenali dalam terminology ilmu komputer (misalnya tabel hash atau berbagai metode pengurutan dan pencarian [sorting and searching]), atau sesuatu yang bersifat perilaku (behavior, misalnya pekerjaan tertentu). Kelas merupakan himpunan dari objek-objek yang memiliki struktur yang serupa, serta memiliki perilaku dan relasi yang serupa pula. Kelas memiliki atribut-atribut serta operasi-operasi terkait. Objek merupakan hasil instansiasi dari suatu kelas (Nugroho, 2010:17).
Gambar 2.7 Class Diagram Customer Order (Nugroho, 2010:12)
http://digilib.mercubuana.ac.id/
21
Kelas umumnya mendefinisikan sejumlah objek yang memiliki state dan perilaku tertentu. State bisa dideskripsikan menggunakan atribut-atribut dan asosiasi-asosiasi. Atribut merupakan data-data tanpa identitas tertentu, sementara asosiasi digunakan untuk menghubungkan objek-objek tertentu. Perilaku yang ada dalam suatu kelas/objek dideskripsikan sebagai operasi untuk kelas/objek yang bersangkutan, sementara method adalah implementasi dari suatu operasi dalam bahasa pemrograman berorientasi objek tertentu yang digunakan untuk mengembangkan sistem/perangkat lunak. Kelas digambarkan sebagai bentuk empat persegi panjang dengan nama kelas di kompartemen paling atas, daftar data/atribut di kompartemen tengah, dan daftar operasi di kompartemen paling bawah. Relasi antar kelas (association) digambarkan menggunakan garis lurus yang menghubungkan suatu kelas dangan kelas yang lain. Suatu kelas pada dasarnya harus memiliki nama yang unik di dalam pemuat (container)-nya. Kelas yang bersangkutan memiliki jarak penglihatan (visibility) pada pemuatnya, visibility menspesifikasikan bagaimana kelas yang bersangkutan dapat digunakan oleh kelas lain yang berada diluar pemuat kelas yang bersangkutan, dimana hal ini sering juga dirujuk sebagai metode sharing (berbagi pakai suatu data/atribut serta operasi/method). Dalam konteks pemrograman berorientasi objek, sharing (berbagi atribut dan operasi) memiliki beberapa tingkatan visibility sebagai berikut : Private (-), atribut dan method hanya dapat diakses oleh kelas yang bersangkutan. Protected (#), hanya dapat diakses oleh kelas yang bersangkutan serta kelas yang merupakan turunannya. Public (+), dapat diakses oleh semua objek tanpa batas apapun. Semua data/atribut suatu kelas seyogyanya ditentukan sebagai private sesuai dengan konsep pembungkusan (encapsulation / information hiding), sedangkan semua operasi/method seyogyanya ditentukan sebagai public (memungkinkan terjadinya pewarisan serta pemanfaatan oleh kelas/objek yang lain). Tabel 2.4 Notasi Class Diagram (Nugroho, 2010:13) Nama Notasi Class
Deskripsi
Notasi
Merepresentasikan jenis orang, tempat, atau benda
yang
dibutuhkan
sistem
untuk
penggambaran informasi. Mempunyai nama yang berada di tengah bagian atas kotak.
http://digilib.mercubuana.ac.id/
22
Mempunyai daftar atribut yang berada di bagian tengah kotak. Mempunyai daftar method/operasi yang berada di bagian bawah kotak. Attribute
Merepresentasikan informasi mengenai kelas. Dapat diturunkan dari atribut lain, dengan
Attribute name /derived attribute name
menempatkan simbol slash (garis miring) sebelum nama atribut. Operation
Merepresentasikan action atau function dari
Operation Name()
kelas. Dapat diklasifikasikan sebagai constructor, query, dan update operation. Association
Merepresentasikan hubungan antara satu kelas ke kelas yang lain. Diberi label menggunakan kata kerja yang merepresentasikan hubungan. Dapat berada pada satu atau lebih kelas. Berisi simbol multiplicity dari minimum sampai maksimum.
Berikut adalah relationship / hubungan antar kelas : Generalisasi, memungkinkan untuk membuat kelas yang mewarisi atribut dan operasi kelas lain. Super class berisi atribut dan operasi dasar yang akan digunakan oleh sub class. Sub class mewarisi atribut dan operasi super class, kemudian dapat memiliki atribut dan operasi lain yang unik. Agregasi, merupakan hubungan “bagian dari” atau “bagian keseluruhan”. Suatu kelas mungkin memiliki / bisa dibagi menjadi kelas tertentu dimana kelas tersebut merupakan bagian dari kelas terdahulu. Sehingga bisa dikatakan agregasi adalah gabungan, tetapi tidak mutlak dan jika dipisah tidak merubah makna. Contoh, sebuah ruangan memiliki meja dan kursi. Tanpa kehadiran kelas ruangan, kelas meja dan kelas kursi bisa tetap ada. Asosiasi, hanyalah hubungan antara instant dari kelas, menggambarkan hubungan antar kelas. Dinotasikan dengan garis lurus, ditambahkan multiplicity untuk memperjelas hubungan. Angka yang diletakkan pada asosiasi dengan format ”angka minimum..angka maksimum”.
http://digilib.mercubuana.ac.id/
23
2.4.4 Sequence Diagram Sequence diagram memperlihatkan interaksi sebagai diagram dua matra (dimensi). Matra vertikal adalah sumbu waktu, waktu bertambah dari atas ke bawah. Matra horizontal memperlihatkan peran pengklasifikasi yang merepresentasikan objek-objek mandiri yang terlibat dalam kolaborasi (Nugroho, 2010:42). Masing-masing peran pengklasifikasi direpresentasikan sebagai kolom-kolom vertikal dalam sequence diagram, sering disebut sebagai garis waktu (lifeline). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.
Gambar 2.8 Sequence Diagram (Nugroho, 2010:244) Sebuah garis titik-titik vertical dibawah setiap aktor dan objek untuk menunjukkan jalur para aktor atau objek tersebut. Sebuah kotak persegi panjang tipis menunjukkan
http://digilib.mercubuana.ac.id/
24
terjadinya eksekusi saat objek mengirim dan menerima pesan. Pesan adalah komunikasi antara objek yang menyampaikan informasi dengan harapan bahwa kegiatan akan terjadi. Ada berbagai jenis pesan yang dapat digambarkan dalam suatu diagram urutan. Namun dalam menggunakan diagram urutan untuk model use case ada dua jenis pesan yang biasa digunakan yaitu operation call dan return. Pesan operation call melewati antar kelas yang ditampilkan menggunakan garis padat yang menghubungkan dua objek dengan panah pada barisyang menunjukkan arah pesan. Nilai argument pesan ditempatkan dalam tanda kurung disamping nama pesan. Urutan pesan berjalan dari atas ke bagian bawah halaman, sehingga pesan yang terletak lebih tinggi pada diagram tersebut merupakan pesan yang dikerjakan lebih dahulu, pesan yang lebih rendah dikerjakan kemudian. Pesan return digambarkan dengan garis putus-putus dengan panah pada akhir baris menggambarkan arah kembali. Informasi yang dikembalikan diletakkan pada label panah. Table 2.5 Notasi Sequence Diagram (Nugroho, 2010:42) Nama Notasi Actor
Deskripsi
Notasi
Adalah orang atau sistem yang menerima keuntungan dari external sistem. Mengirim dan menerima pesan. Ditempatkan diatas diagram. Digambarkan dengan simbol orang, atau jika aktor bukan manusia maka digambarkan dengan kotak
anActor
<
> Actor/Role
segiempat. Objek
Mengirimkan dan menerima pesan.
anObject : aClass
Ditempatkan diatas diagram. Lifeline
Memperlihatkan garis objek pada diagram. Terdapat “X” pada kelas yang tidak lagi berinteraksi.
Execution
Kotak panjang vertical yang diletakkan diatas lifeline.
Accurance Message
Menunjukkan informasi dari satu objek ke objek yang
aMessage
lain. Untuk operation call diberi simbol panah bergaris padat. Untuk return menggunakan simbol panah dengan garis putus-putus.
http://digilib.mercubuana.ac.id/
Return Value
25
Object
Tanda “X” ditempatkan pada akhir lifeline objek yang
Destruction
menunjukkan objek tersebut keluar dari keberadaan
X
sistem. Frame
Menunjukkan isi dari diagram urutan.
context
2.5 Basis Data Basis Data adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan didalamnya, penjelasan ini disebut skema. Skema menggambarkan objek yang diwakili suatu basis data, dan hubungan di antara objek tersebut. Ada banyak cara untuk mengorganisasi skema atau memodelkan struktur basis data. Model yang umum digunakan sekarang adalah model relasional. 2.5.1 Database Relational Sistem basis data relational (RDBMS / Relational Database Management System) adalah sistem penyimpanan data berbasis komputer yang elemen pokoknya adalah tabeltabel yang saling berhubungan (relasi) satu sama lain, dengan masing-masing tabel memiliki kolom-kolom (attribute / field) yang digunakan sebagai tempat untuk menyimpan data/informasi yang diperlukan oleh aplikasi yang kelak akan kita kembangkan (Nugroho, 2010:17). Sebuah database relasional didasarkan pada hubungan antar tabel dengan tabel lain yang masing-masing memiliki primary key yang nilainya unik untuk setiap baris dari tabel tersebut. Tabel-table tersebut terkait satu sama lain dengan menempatkan primary key dari satu tabel ke dalam tabel terkait sebagai foreign key. Saat awal diciptakannya sistem basis data relasional, sistem basis data ini hanya digunakan untuk menyimpan data-data yang berupa teks dan numerik saja. Meski demikian, kebanyakan sistem basis data relasional modern saat ini, termasuk SQL Server, mampu menyimpan data dalam bentuk berkas suara, video,XML(eXtended Markup Language) dan sebagainya. Selain itu, jika pada sistem basis data relasional pada awalnya data yang disimpan berukuran relative kecil, saat ini mampu menyimpan data yang berukuran sangat besar. Sebagai contoh, sebuah kolom (field) dalam sistem basis data SQL Server mampu menyimpan data berukuran hingga satuan GigaByte. Selain itu
http://digilib.mercubuana.ac.id/
26
memiliki karakteristik mampu diakses oleh beberapa pengguna sekaligus (multi user), sehingga sistem basis data besar saat ini memiliki fasilitas pengaturan keamanan (security) serta pengaturan hak akses (privileges) sedemikian rupa sehingga data yang ada didalamnya hanya bisa diakses oleh mereka yang berhak saja. 2.6 Pengujian Berorientasi Objek 2.6.1 Pengertian Pengujian Pengujian adalah proses pemeriksaan atau evaluasi sistem atau komponen sistem secara manual atau otomatis untuk memverifikasi apakah sistem memenuhi kebutuhankebutuhan yang telah dispesifikasikan dan mengidentifikasi perbedaan-perbedaan antara hasil yang diharapkan dengan hasil yang terjadi. Dalam tahap perancangan, banyak rincian yang berkaitan dengan kelas-kelas perancangan dan relasinya dideskripsikan menggunakan sintaks bahasa pemrograman berorientasi objek yang dipilih, yang mengakibatkan pembentukan bagian-bagian yang mengimplementasikan suatu kelas. Selanjutnya, merupakan hal yang sangat penting untuk melakukan pengujian-pengujian atas hasil implementasi tersebut (Nugroho, 2010:301). Adapun jenis-jenis pengujian yang dapat dilakukan adalah sebagai berikut : 1. Spesification testing atau black box testing yang melakukan verifikasi perilaku unit pengujian yang tampak dari luar. 2. Structure testing atau white box testing yang melakukan verifikasi implementasi internal suatu unit pengujian. Perhatikan bahwa selain pengujian-pengujian di atas, pengujian lain mungkin dapat juga dilakukan, yaitu pengujian kinerja, penggunaan memory, kecepatan sistem/perangkat lunak dimuat ke memory, kapasitas, dan sebagainya. Dalam hal ini, perlu juga dilakukan pengujian integrasi untuk memastikan bahwa beberapa komponen yang telah dibuat sebelumnya
bekerja
dengan
baik
setelah
masing-masing
komponen
tersebut
diintegrasikan menjadi suatu sistem/perangkat lunak yang utuh. Spesification testing dapat dilakukan untuk memverifikasi apakah perilaku komponen memang seperti yang diharapkan tanpa harus mempertimbangkan bagaimana perilaku tersebut secara internal diimplementasikan. Pengujian jenis ini terutama melihat apakah komponen tertentu menghasilkan keluaran seperti yang diharapkan saat komponen itu diberi masukan tertentu serta berjalan dalam state tertentu. Structure testing dilakukan untuk memverifikasi bahwa komponen-komponen secara internal berperilaku seperti yang diharapkan. Selama pengujian ini, perekayasa
http://digilib.mercubuana.ac.id/
27
pengujian harus melakukan semua pengujuan. Ini berarti setiap baris kode harus dieksekusi minimal satu kali. Perekayasa komponen juga harus memastikan pengujian dilakukan atas semua lintasan yang mungkin terjadi. Lintasan ini mencakup lintasan yang paling sering diikuti, lintasan yang paling kritis, lintasan melalui algoritma tertentu, dan lintasan lain yang memiliki resiko kegagalan tinggi. 2.6.2 Tahapan Pengujian Secara ringkas pengujian dilakukan dalam tahap-tahap sebagai berikut : 1. Perencanaan pengujian, bertujuan mengidentifikasi strategi pengujian dan prosedur pengujian yang memungkinkan proses pengujian yang efektif dan efisien. Tahap ini dapat dilakukan secara paralel dengan perancangan sistem. Tahap ini meliputi : Mendefinisikan tujuan pengujian, sumber daya yang diperlukan, pembagian tanggung jawab dan jadwal. Identifikasi resiko dan prioritas. Identifikasi entitas yang diuji dan tidak diuji. 2. Perancangan pengujian, bertujuan mendefinisikan kasus, data, dan prosedur pengujian agar dapat mencapai tujuan yang diidentifikasikan dalam perencanaan pengujian. Perancangan pengujian melibatkan strategi-strategi perencanaan untuk secara dini mendeteksi kegagalan, termasuk : Pendefinisian urutan pengujian untuk mereduksi usaha-usaha yang perlu dilakukan oleh penguji maupun tim implementasi. Pendefinisian
kasus-kasus
pengujian
berdasarkan
bagian-bagian
pengembangan. 3. Eksekusi pengujian, melakukan pengujian dinamis terhadap perangkat lunak berdasarkan kasus-kasus pengujian yang didefinisikan selama perancangan pengujian untuk dapat menyingkap kegagalan-kegagalan. 4. Analisa hasil pengujian, untuk meningkatkan kualitas produk, kecepatan proses, meminimalisir potensi terjadinya kegagalan sistem, serta sebagai penentu apakah sudah layak pakai. 2.7 ASP.Net ASP.Net
merupakan
teknologi
dari Microsoft yang dikhususkan
untuk
pengembangan aplikasi web dinamis berbasis pada platform .Net Framework. ASP.Net didesain untuk memberikan kemudahan pada pengembang web untuk membuat aplikasi berbasis web dengan cepat, mudah, dan efisien karena meminimalkan penulisan kode
http://digilib.mercubuana.ac.id/
28
program dengan bantuan komponen-komponen yang sudah disediakan sehingga dapat meningkatkan produktifitas (Kurniawan, 2012:1). ASP.Net bukanlah teknologi yang baru karena rilis pertama dari ASP.Net adalah versi 1.0 pada tahun 2002, tidak lama kemudian dikembangkan versi 1.1 pada 2003. Perubahan yang paling signifikan adalah pada bulan November 2005 dengan rilisnya ASP.Net 2.0 bersamaan dengan rilis .Net Framework 2.0, pada versi ini ASP.Net mengalami penambahan fitur dan built-in komponen yang sangat banyak. Misalnya fasilitas login, registrasi, pembuatan site-map, validasi, dan fasilitas lain. Tim pengembang ASP.Net dari Microsoft bahkan mengatakan disbanding dengan versi sebelumnya versi ini dapat memaksimalkan penulisan kode sampai dengan 70%. Pada awal tahun 2008 dirilis versi 3.5 dengan tambahan fitur yang baru seperti LINQ, LinqDataSource, ASP.Net Ajax, dan ListView. Pada pertengahan tahun 2010, bersamaan dengan rilis dari Visual Studio 2010, ASP.Net versi 4.0 resmi dirilis. Dibandingkan dengan versi 3.5, versi 4.0 mengalami banyak pengembangan fitur dengan ditambahkannya fasilitas Chart Control, ASP.Net URL Routing Engine, EntityDataSource, ClientID property, Dynamic Data, Query Extender, dan minimalisasi ViewState. 2.7.1 .Net Framework ASP.Net berjalan di atas platform .Net Framework, satu set kumpulan teknologi dari Microsoft yang ditujukan untuk membantu pengembang mengembangkan aplikasi secara aman, mudah, efisien, dan produktif (Kurniawan, 2012:3). .Net Framework mendukung beberapa bahasa pemrograman, ada pun bahasa pemrograman yang di-support secara resmi oleh Microsoft adalah C# (CSharp), VB, dan C++ tetapi sekarang banyak bahasa lain yang juga dikembangkan untuk men-support platform .Net di antaranya Ruby, Phyton dll. Untuk pengembangan aplikasi berbasis .Net sebenarnya dapat digunakan lebih dari satu pemrograman (Language Interoperability) misal sebagian program C# dan sebagian lagi menggunakan VB. Tetapi disarankan untuk memilih salah satu bahasa pemrograman saja agar aplikasi yang dibuat lebih mudah untuk di-maintain. Bahasa paling banyak digunakan saat ini adalah C# dan VB. 2.8 Perangkat Lunak Pendukung Saat ini telah tersedia berbagai paket perangkat lunak untuk banyak kebutuhan bisnis. Dalam pengembangan sistem sistem informasi, program yang digunakan telah diuji serta terbukti mampu menghemat waktu dan biaya pengembangan. Berikut adalah perangkat lunak yang digunakan oleh penulis.
http://digilib.mercubuana.ac.id/
29
2.8.1 Microsoft Visual Studio 2012 Untuk membuat aplikasi ASP.Net sebenarnya Anda bisa menggunakan sembarang editor seperti Notepad, tetapi untuk mempercepat dan mempermudah pengembangan program maka Microsoft menyediakan IDE (Integrated Development Environment) yang sangat handal, yaitu Visual Studio (Kurniawan, 2012:6). Visual Studio mempunyai banyak sekali fitur yang memanjakan programmer seperti drag and drop designer, intellisense, syntax checking, integrated compilation, debugging, dan banyak fitur lain yang akan meningkatkan produktifitas programmer dalam mengembangkan aplikasi.
Gambar 2.9 Visual Studio 2012 Ultimate 2.8.2 Microsoft SQL Server 2008 R2 SQL Server merupakan sistem basis data relasional (RDBMS / Relational Database Management System) yang dikembangkan oleh Microsoft, yang digunakan untuk menyimpan dan mengolah data (Nugroho, 2010:1). menggunakan SQL Server 2008 R2 kita bisa membuat objek-objek yang sering digunakan pada aplikasi bisnis, seperti membuat database, table, view, function, stored procedure, dan trigger. Selain objek, kita juga menjalankan perintah SQL (Structured Query Language) untuk mengambil data yang tersimpan didalam database.
http://digilib.mercubuana.ac.id/
30
Gambar 2.10 Tampilan splash screen SQL Server 2008 R2 2.8.3 Balsamiq Mockup Balsamiq Mockups adalah aplikasi yang biasa digunakan untuk membuat sketsa dari aplikasi yang akan kita bangun. Untuk memahami Balsamiq ada baiknya kita terlebih dahulu memahami wireframing. Wireframing adalah membuat sketsa ide untuk produk atau antar muka web dalam bentuk rangka, menggambarkan pada tingkat tinggi apa yang akan dilakukannya, bagaimana tampilan antar muka terlihat, dan bagaimana hal itu akan berfungsi. Sebelum Balsamiq dan aplikasi sejenis lainnya, wireframing secara tradisional dilakukan dengan tangan di atas kertas, atau dengan menggunakan aplikasi seperti Visio atau Photoshop (Faranello, 2012:2).
Gambar 2.11 Tampilan Antar Muka Balsamiq
http://digilib.mercubuana.ac.id/
31
2.9 Pengertian Beban atau Biaya (Expenses) Secara umum beban atau biaya adalah pengorbanan yang terjadi dalam rangka memperoleh pendapatan. Biaya merupakan pengeluaran yang dilakukan oleh suatu perusahaan dalam rangka menciptakan atau memperoleh pendapatan. Maksud dari biaya disini adalah biaya yang secara langsung atau tidak langsung telah dimanfaatkan untuk menciptakan pendapatan dalam suatu periode tertentu. Biaya yang dikeluarkan tidak memberikan manfaat ekonomis untuk kegiatan periode berikutnya. Dalam bank biaya diakui secara accrual basis, selalu diakui dan dibebankan kedalam perhitungan laba rugi pada saat jatuh tempo tanpa terlebih dahulu menunggu pembayaran. Pembayaran biaya dimuka harus dialokasikan kedalam rekening biaya secara proporsional.
http://digilib.mercubuana.ac.id/