BAB II LANDASAN TEORI
2.1.
Konsep Dasar Sistem Informasi Suatu organisasi terdiri atas sejumlah unsur, orang-orang yang mempunyai
berbagai peran, kegiatan atau tugas yang harus diselesaikan, tempat kerja, wewenang, serta hubungan komunikasi yang mengikat organisasi tersebut. Sistem informasi merupakan penerapan sistem didalam organisasi untuk mendukung informasi yang dibutuhkan oleh semua tingkat manajemen. Telah diketahui bahwa informasi merupakan hal yang sangat penting bagi manajemen di dalam pengambilan keputusan. Darimana informasi tersebut bisa didapatkan? Informasi diperoleh dari sistem informasi. (Tata Sutabri, 2012:38)
2.1.1.
Pengertian Sistem Suatu sistem dapat terdiri dari beberapa subsistem atau sistem bagian. Komponen
atau subsistem dalam suatu sistem tidak dapat berdiri sendiri. Komponen atau subsistem saling berinteraksi dan saling berhubungan membentuk satu kesatuan sehingga tujuan atau sasaran dapat tercapai. Berikut ini beberapa definisi Sistem yang dikemukakan oleh para ahli:
Menurut Tata Sutabri (2012:7) menyatakan bahwa sistem terdiri atas objek-objek atau unsur-unsur atau komponen-komponen yang berkaitan dan berhubungan satu sama lainnya sedemikian rupa sehingga unsur-unsur tersebut merupakan suatu kesatuan pemrosesan atau pengolahan yang tertentu.
Menurut Hanif Al Fatta (2007:3) “Sistem adalah sekumpulan atau himpunan dari unsur atau variable-variabel yang saling terorganisasi, saling berinteraksi dan saling bergantung satu sama lain.
Menurut Dr. Azhar Susanto (2007:18) mendefinisikan sistem adalah kumpulan/grup dari bagian atau komponen apapun baik fisik ataupun non fisik yang saling berhubungan satu sama lain dan bekerja sama secara harmonis untuk mencapai satu tujuan tertentu.
6
7 Dengan demikian, secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variabel-variabel yang saling terorganisir, saling berinteraksi, dan saling bergantung sama lain.
Gambar 2. 1 Model Sistem (Hanif Al Fatta,2007:3)
2.1.2.
Pengertian Informasi Istilah informasi seringkali tidak tepat pemakaiannya. Informasi dapat merujuk
ke suatu data mentah, data tersusun, kapasitas sebuah saluran komunikasi, dan lain sebagainya. Informasi ibarat darah yang mengalir di dalam tubuh suatu organisasi, sehingga peran dan kedudukan informasi ini sangat penting di dalam suatu organisasi. Suatu sistem yang kekurangan informasi akan menjadi loyo, kerdil, dan akhirnya berakhir. Berikut ini beberapa definisi informasi yang dikemukakan oleh para ahli:
Menurut Tata Sutabri (2012:22) “Informasi adalah data yang telah diklasifikasikan atau diolah atau diinterpretasikan untuk digunakan dalam proses pengambilan keputusan.
Menurut Edhy Sutanta (2011:13) Informasi merupakan hasil pengolahan data sehingga menjadi bentuk yang penting bagi penerimanya dan mempunyai kegunaan sebagai dasar dalam pengambilan keputusan yang dapat dirasakan akibatnya secara langsung saat itu juga atau secara tidak langsung pada saat mendatang. Informasi yang diperoleh dari pengolahan data dapat dinilai berdasarkan sifatnya.
Sifat informasi yang menentukan nilai informasi adalah: 1. Kemudahan dalam memperolehnya 2. Sifat luas dan kelengkapannya 3. Ketelitian (akurasi) 4. Kecocokan dengan pengguna (relevan) 5. Ketepatan waktu 6. Kejelasan (Clarity) 7. Fleksibilitas / Keluwesannya 8. Dapat dibuktikan 9. Tidak ada prasangka
8 10. Dapat diukur Informasi diperlukan oleh para pemakai (manajemen) pada seluruh level manajemen dalam seluruh fungsi organisatoris.
2.1.3.
Pengertian Sistem Informasi Seperti telah kita ketahui bahwa informasi merupakan hal yang sangat penting
didalam pengambilan keputusan. Informasi dapat diperoleh dari sistem informasi. Dalam arti yang luas sistem informasi dapat dipahami sebagai sekumpulan subsistem yang saling berhubungan, berkumpul bersama-sama dan membentuk satu kesatuan, saling berinteraksi dan bekerjasama antara bagian satu dengan yang lainnya dengan cara-cara tertentu untuk melakukan fungsi pengolahan data, menerima masukan (input) berupa data-data, kemudian mengolahnya (processing), dan menghasilkan keluaran (output) berupa informasi sebagai dasar bagi pengambilan keputusan yang berguna dan mempunyai nilai nyata yang dapat dirasakan akibatnya baik pada saat itu juga maupun dimasa mendatang, mendukung kegiatan operasional, manajerial, dan stategis organisasi, dengan memanfaatkan berbagai sumber daya yang ada dan tersedia bagi fungsi tersebut guna mencapai tujuan. (Edhy Sutanta, 2011:16) Menurut Tata Sutabri (2012:38), Sistem informasi adalah suatu sistem dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu organisasi untuk dapat menyediakan laporan-laporan yang diperlukan oleh pihak luar tertentu. Menurut Dr. Azhar Susanto (2007:55) mendefinisikan “Sistem informasi adalah kumpulan dari sub sistem apapun baik fisik maupun non fisik yang saling berhubungan satu sama lain dan bekerja sama secara harmonis untuk mencapai satu tujuan yaitu mengolah data menjadi informasi yang berarti dan berguna”. Berdasarkan pengertian-pengertian tersebut di atas, sistem informasi adalah suatu sistem yang terdiri dari komponen-komponen dalam organisasi yang saling berinteraksi dan bekerja sama untuk memberikan informasi bagi pengambil keputusan.
2.2.
Metode Waterfall Model air terjun (waterfall) sering juga disebut model sekuensial linear
(sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut
9 dimulai dari analisis, desain, pengkodean, pengujian, dan tahap pendukung (support). (Rosa, Shalahuddin, 2013:28)
Gambar 2. 2 Ilustrasi Metode Waterfall (Rosa, Shalahuddin, 2013:28)
Analisis kebutuhan perangkat lunak 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 multi langkah yang focus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang dihasilkan 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 ini.
Pengujian Pengujian focus 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) dan Pemeliharaan (Maintenance) Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yag muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi
10 proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.
2.3.
Unified Modelling Language (UML) Pada perkembangan teknik pemrograman berorientasi objek, muncullah sebuah
standarisasi bahasa pemodelan untuk pembangunan sistem yang dibangun dengan menggunakan teknik pemrograman berorietasi objek, yaitu Unified Modelling Language (UML). Definisi UML menurut Verdi Yasin (2012:194) “Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak.” Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Definisi UML menurut Rosa, Salahuddin (2011:118) “UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.” Adapun kategori UML adalah: 1. Structure Diagram yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan. 2. Behavioral Diagram yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem. 3. Interaction Diagram yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem lain maupun interaksi antar subsistem pada suatu sistem. Berikut ini beberapa metode yang digunakan dalam rancangan UML (Unified Modelling Language)
2.3.1.
Use Case Diagram Definisi “Use case diagram adalah pemodelan untuk kelakuan (behavior) sistem
informasi yang akan dibuat dan mendeskripsikan sebuah interaksi antara satu atau lebih actor dengan sinformasi yang akan dibuat”. Rosa, Shalahuddin (2011:130).
11 Tabel 2. 1 Simbol Use Case Diagram (Rosa, Shalahuddin, 2011:131) Simbol
Nama Simbol
Keterangan Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang
Aktor/ Actor
akan dibuat diluar sistem informasi itu sendiri.
Hubungan generalisasi dan spesialisasi Generalization /
(umum-khusus) antara dua buah use case
generalisasi
dimana fungsi yang satu adalah fungsi yang lebih umum dari yang lainnya Menspesifikasi bahwa use case sumber
Include
secara eksplisit Menspesifikasi
Extends
bahwa use case target
memperluas perilaku dari use case sumber pada suatu titik yang diberikan. Apa yang menghubungkan antara objek
Association/ asosiasi
satu dengan objek yang lainnya. Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar
Use Case
pesan antara unit atau actor, biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama use case.
12
Gambar 2. 3 Use Case Model Sumber : Dennis, Alan. Wixom, Tegarden. 2009. System Analysis and Design with UML 2.0 An Object-Oriented Approach, 3rd ed, hal. 177
2.3.2.
Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja)
atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan oleh aktor, jadi aktivitas yang dapat dilakukan oleh sistem. (Rosa, Shalahuddin, 2012:161) Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut:
Rancangan proses bisnis dimana 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 dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya
Rancangan menu yang ditampilkan pada perangkat lunak.
13 Tabel 2. 2 Simbol Activity Diagram Nama Elemen Fungsi Action Untuk menggambarkan perilaku yang sederhana dan bersifat non-decomposable Activity Untuk mewakili kumpulan aksi (action) Object Node Control Flow Object Flow
Initial Node Final-Activity Node Final-Flow Node Decision Node
Merge Node
Untuk mewakili objek yang terhubung dengan kumpulan object flow Menunjukkan rangkaian pelaksanaan
Notasi Action
Activity Class Name
Menunjukan aliran sebuah objek dari sebuah aktivitas atau aksi ke aktivitas atau aksi lainnya Menandakan awal dari kumpulan aksi atau aktivitas Untuk menghentikan seluruh control flows atau object flows pada sebuah aktivitas (atau aksi) Untuk menghentikan control flow atau object flow tertentu Untuk mewakili suatu kondisi pengujian yang bertujuan untuk memastikan bahwa control flow atau object flow hanya menuju ke suatu arah Untuk menyatukan kembali decision path yang di buat dengan menggunakan decision node.
Fork Node
Untuk memisahkan perilaku menjadi kumpulan aktivitas yang berjalan secara parallel
Join Node
Untuk menyatukan kembali kumpulan aktivitas yang berjalan secara parallel atau bersamaan
Swimlane
Untuk membagi sebuah activity diagram kolom guna menempatkan aktivitas atau aksi tertentu pada individu atau objek yang bertanggung jawab untuk melaksanakan aktivitas atau aksi tersebut.
Sumber : Dennis, Alan. Wixom, Tegarden. 2009. System Analysis and Design with UML 2.0 An Object-Oriented Approach, 3rd ed, hal. 160
14
Gambar 2. 4 Activity Diagram Model
Sumber : Dennis, Alan. Wixom, Tegarden. 2009. System Analysis and Design with UML 2.0 An Object-Oriented Approach, 3rd ed, hal. 163
2.3.3.
Sequence Diagram Sequence diagram menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objekobjek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada use case. (Rosa, Shalahuddin,2012:165). Oleh karena itu untuk menggambar Sequence diagram maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
15 Tabel 2. 3 Simbol Sequencey Diagram Nama Elemen
Fungsi
Notasi
Actor
An Object
Menyatakan objek berinteraksi pesan
Lifeline
Partisipan Form
Activation
Menyatakan objek dalam keadaan aktif dan
berinteraksi
pesan
(mengirim/
menerima pesan) Message
Menyampaikan informasi dari satu objek ke objek lain. Pesan tipe send dinyatakan dengan arah panah
mengarah
pada
objek
yang
dikirim. Sedangkan Pesan tipe Return arah panah mengarah pada objek yang menerima kembalian Guard
Merupakan tes yang harus dipenuhi
Condition
untuk pesan yang akan dikirim.
Object
X ditempatkan pada akhir obyek untuk
Destruction
menunjukkan
bahwa
akan
X
keluar
eksistensi. Frame
Menunjukkan konteks diagram urutan.
Sumber : Dennis, Alan. Wixom, Tegarden. 2009. System Analysis and Design with UML 2.0 An Object-Oriented Approach, 3rd ed, hal. 242
16
Gambar 2. 5 Sequence Diagram Model
Sumber : Dennis, Alan. Wixom, Tegarden. 2009. System Analysis and Design with UML 2.0 An Object-Oriented Approach, 3rd ed, hal. 241
2.3.4.
Class Diagram Class Diagram adalah sebuah spesifikasi yang jika di instansiasi akan
menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain beroriantasi objek. (Verdi Yasin, 2012:198) Class menggambarkan keadaan (atribut / property) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda / fungsi). Class Diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi dan lain-lain. Class memiliki tiga area pokok: a. Nama (dan stereotype) b. Atribut c. Metoda Atribut dan metoda dapat memiliki salah satu sifat berikut:
Private, tidak dapat dipanggil dari luar class yang bersangkutan.
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya.
Public, dapat dipanggil oleh siapa saja. Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak
yang hanya memiliki metoda. Interface tidak dapat langsung diinstasikan, tetapi harus
17 diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi pada metoda pada saat run-time. Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.
Tabel 2. 4 Simbol-simbol Class Diagram (Rosa, Shalahuddin, 2012:146) Simbol
Deskripsi
Kelas
Kelas pada struktur sistem
Nama_kelas +atribut +operasi()
Antarmuka/ inteface
Sama dengan konsep interface dalam pemrograman berorientasi objek
nama_interface Asosiasi/ Association
Relasi antarkelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity
Asosiasi berarah/ directed Relasi antarkelas dengan makna kelas yang satu association
digunakan oleh kelas lain, asosiasi biasanya juga disertai dengan multiplicity
Generalisasi
Relasi antarkelas dengan makna generalisasi-spesialisasi (umum khusus)
Kebergantungan/
Kebergantungan antarkelas
dependency
Agregasi/ aggregation
Relasi antarkelas dengan makna semua-bagian (wholepart)
18
Gambar 2. 6 Class Diagram Model
Sumber : Dennis, Alan. Wixom, Tegarden. 2009. System Analysis and Design with UML 2.0 An Object-Oriented Approach, 3rd ed, hal. 214
2.4.
Basis Data (Database) 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. (Rosa, Shalahuddin, 2013:43) Sistem informasi tidak dapat dipisahkan dengan kebutuhan akan basis data apapun betuknya, entah berupa file teks ataupun Database Management System (DBMS) Kebutuhan basis data dalam sistem informasi meliputi:
19
Memasukkan, menyimpan dan mengambil data.
Membuat laporan berdasarkan data yang telah disimpan. Tuju an dari dibuatnya table-tabel disini adalah untuk menyimpan data ke dalam
table-tabel agar mudah diakses. Oleh karena itu, untuk merancang tabel-tabel yang akan dibuat maka dibutuhkan pola pikir penyimpanan data nantinya jika dalam bentuk barisbaris data (record) dimana setiap baris terdiri dari beberapa kolom. Aktivitas perancangan basis data akan mentransformasi spesifikasi kebutuhan untuk tempat penyimpanan data yang akan dikembangkan selama analisis basis data kedalam spesifikasi terstruktur untuk memandu implementasi langsung basis data. Ada 2 bentuk spesifikasi, yaitu : a. Perancangan Basis Data Secara logika Sasaran perancangan basis data secara logika adalah untuk menterjemahkan perancangan konseptual (yang mencerminkan kebutuhan data pada organisasi yang kita analisis di tahap – tahap sebelumnya) ke perancangan basis data logika yang dapat langsung di implementasikan pada sistem basis data yang dipilih. b. Perancangan Basis Data Secara Fisik Merupakan tahapan untuk menuangkan perancangan basis data yang bersifat logis menjadi basis data fisis yang tersimpan pada media penyimpanan eksternal. Sasaran utama perancangan basis data secara fisik adalah meningkatkan efisiensi dalam pemrosesan data. Perancangan basis data secara fisik membutuhkan beberapa pilihan kritis yang akan berimbas pada integritas dan kinerja dari aplikasi. Kunci – kunci untuk melakukan pilihan – pilihan mencakup :
Pemilihan format penyimpanan (dinamakan tipe data) untuk tiap atribut dari model data logika. Format dipilh untuk meminimalisasi dan mengoptimalkan penggunaan ruang fisik dan untuk memaksimalkan integritas data.
Pengelompokan atribut – atribut dari model data logika ke rekaman fisik.
Perancangan rekaman – rekaman pada memori sekunder (terutama hardisk) sehingga rekaman – rekaman secara individual maupun
kelompok rekaman dapat di simpan, di panggil kembali, serta di perbaharui dengan cepat.
Memilih struktur (dinamakan indeks dan arsitektur basis data) untuk menyimpan dan menghubungkan berkas- berkas (file) sehingga pemanggilan data berlangsung dengan cara yang efisien.
20
Menyiapkan strategi – strategi untuk menangani query pada basis data dengan tujuan mengoptimalisasikan kinerja basis data dalam menangani query.
2.4.1.
Database Management System (DBMS) DBMS (Database 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. (Rosa, Shalahuddin, 2013:44) Karena pentingnya data bagi suatu organisasi / perusahaan, maka hamper sebagian besar perusahaan memanfaatkan DBMS dalam mengelola data yang mereka miliki. Pengelolaan DBMS sendiri biasanya ditangani oleh tenaga ahli yang spesialis menangani DBMS yang disebut sebagai DBA (Database Administrator). Keunggulan DBMS antara lain sebagai berikut:
Meningkatkan prosentase kesiapan data (data availability) artinya tersedia sewaktu dibutuhkan.
Mempercepat penyimpanan dan pengambilan data karena data disimpan dengan lebih teratur.
Mempercepat dan mempermudah pemrosesan data karena yang diproses adalah data yang perlu saja.
Mengurangi penyimpanan data yang rangkap sehingga lebih hemat.
Data dapat dipakai banyak orang (sharability), baik digunakan sekarang maupun digunakan dimasa mendatang (evolvability).
Mengatur itegrasi sehingga data dapat diambil dengan benar.
Mempermudah pemrograman karena DBMS menjadi lebih fleksibel. Di sini perubahan program tidak memerlukan perubahan struktur data atau sebaliknya perubahan struktur tidak memerlukan perubahan pemrograman.
Keteraturan data membuat bank data lebih aman.
2.4.2
Basis Data Berorientasi Objek Pemodelan basis data berorientasi objek yang saat ini semakin popular karena
kemampuannya untuk menggambarkan relasi-relasi dan tipe-tipe data yang lebih kompleks, menggambarkan data serta pemrosesannya dengan notasi yang konsisten serta lebih sederhana. Model berorientasi objek dibangun berdasarkan objek, seperti model ER yang didasarkan pada entitas. Suatu objek mengapsulkan/membungkus (encapsulating)
21 data dan perilaku sehingga kita dapat menggunakan model berorientasi objek tidak hanya untuk pemodelan dan pengorganisasian data, melainkan juga untuk pemodelan dan pengorganisasian proses. Untuk memodelkan aplikasi dunia nyata dengan metodologi berorientasi objek, kita perlu memodelkan data maupun proses yang berjalan pada objek yang bersangkutan. Beberapa motivasi dan keuntungan dari penggunaan pemodelan berorientasi objek, yaitu: (Adi Nugroho,2011:115) 1. Kemampuan untuk menangani tipe-tipe data dan masalah-masalah yang lebih kompleks dan sulit. 2. Perbaikan komunikasi antara pengguna, analisis, perancang, dan pemrogram. 3. Peningkatan derajat konsistensi antara tahap analisis, perancangan, serta kegiatan pemrograman karena metodologi berorientasi objek menggunakan model yang sama untuk setiap tahap itu. 4. Ketangguhan dan ketegaran sistem (robustness). 5. Penggunaan ulang hasil-hasil analisis, perancangan, serta pemrograman (reusable component). 6. Peningkatan konsistensi antara model-model yang dikembangan selama analisis, perancangan, serta pemrograman berorientasi objek. Pemrograman berorientasi objek (OOP) adalah suatu cara baru dalam berpikir serta berlogika untuk menghadapi masalah-masalah yang akan dicoba atasi dengan bantuan komputer. OOP, tidak seperti pendahulunya (pemrograman terstruktur), mencoba melihat permasalahan lewat pengamatan dunia nyata yang setiap objeknya adalah entitas tunggal yang memiliki kombinasi struktur data dan fungsi tertentu. (Adi Nugroho,2011:121)
2.5.
Perangkat Lunak Pendukung Saat ini telah tersedia berbagai paket perangkat lunak untuk banyak kebutuhan
bisnis. Dalam perangkat lunak, program yang digunakan telah diuji serta terbukti mampu menghemat waktu dan biaya pengembangan. 2.5.1.
Java Java Lahir dari sebuah green project yang berjalan selama 18 bulan yaitu pada
awal 1991 sampai musim panas 1992. Proyek yang dimotori oleh Patrick Naugton, Bill Joy, James Gosling, dan Sembilan pemrogram lainnya dari tim Sun Microsystem yang pada awalnya membuat bahasa pemrograman kecil yang akan diterapkan pada peralatan elektronik. Bahasa pemrograman ini kemudian diberi nama Oak yang merupakan nama
22 salah satu jenis pohon yang tumbuh di luar jendela pemimpin proyek tersebut.(Madcoms, 2012:206) Bahasa pemrograman Oak merupakan modifikasi dari C++ tetapi lebih mudah beradaptasi pada berbagai sistem operasi dan platform. Seperti yang telah dibuktikan oleh pengembang C++, bahasa pemrograman baru ini lebih kuat tetapi telah memasukkan banyak fitur yang dimiliki C++. Bahasa Oak ini berganti nama menjadi java setelah bergantinya cara pelayanan konsumen peralatan elektronik dari pelayanan manual ke pelayanan online kemudian tim Sun Microsystem mengganti bahasa pemrograman desktop menjadi web browser. Web browser yang dirilis pada Maret 1995 ini diberi nama HotJava karena nama Oak sudah digunakan untuk merek dagang perangkat lunak yang telah dikembangkan terlebih dahulu. Maka, nama HotJava-lah yang digunakan untuk versi rilis perangkat lunak buatan Sun Microsystem yang berjalan pada web. Nama ini diambil dari nama kopi murni yang digiling langsung (kopi tubruk) kesukaan James Gosling. Java mempunyai tiga komponen yang sangat penting yaitu: 1. The Java Programming Language adalah bahasa pemrograman yang digunakan untuk menulis kode program dalam platform java. 2. The Java Platform adalah lingkungan yang digunakan untuk menjalankan kode program yang telah ditulis pada bahasa pemrograman java. 3. The Java Application Program Interface adalah suatu kumpulan kelas-kelas dalam java yang digunakan untuk mengembangkan perangkat lunak berbasis GUI, penyimpanan data, pengolahan data, serta pemrograman jaringan. Java memiliki dua buah platform penting untuk membangun perangkat lunak.
Java Virtual Machine (JVM) adalah penerjemah kode program yang telah dikompilasi menjadi kode mesin. JVM dapat diterapkan pada berbagai platform.
Java Runtime Enviroment (JRE) merupakan lingkungan yang mendukung proses eksekusi program ketika JVM menterjemahkan program itu ke dalam bahasa mesin. Salah satu jenis JRE yang penting saat ini yaitu, Java 2 Platform Standart Edition
23 (J2SE) adalah perangkat lunak java yang digunakan untuk menjalankan aplikasi berskala kecil.
2.5.2.
MySQL Database MySQL adalah program berbasis DOS, perintah dasarnya SQL
(Stuctured Query Lauange), mengaksesnya dari jendela DOS prompt atau Command Prompt (Bunafit Nugroho, 2013:26). Menurut Kustiyahningsih (2011:145), “MySQL adalah sebuah basis data yang mengandung satu atau jumlah table. Table terdiri atas sejumlah baris dan setiap baris menggandung satu atau sejumlah tabel. Tabel terdiri atas sejumlah baris dan setiap baris mengandung satu atau sejumlah tabel”. MySQL termasuk jenis RDBMS (Relational Database Management System). Sedangkan RDMS sendiri akan lebih banyak mengenal istilah seperti table, baris dan kolom digunakan dalam perintah-perintah di MySQL. Kelebihan MySQL dibandingkan dengan database lain, diantaranya adalah : 1. MySQL sebagai Database Manajemen System (DBMS) 2. MySQL adalah sebuah software database yang open source, artinya program ini bersifat free atau bebas digunakan oleh siapa saja tanpa harus membeli dan membayar lisensi kepada pembuatnya. 3. MySQL mampu menyimpan data dengan kapasitas yang sangat besar hingga berukuran Gigabyte sekalipun. SQL adalah bahasa permintaan database yang terstruktur. Bahasa SQL dibuat sebagai bahasa yang dapat merelasikan beberapa tabel dalam database maupun merelasikan antar database. SQL dibagi menjadi dua bentuk query, yaitu : 1. DDL (Data Definition Language) DDL adalah sebuah metofe Query language yang berguna untuk mendefinisikan pada sebuah database, adapun Query yang dimiliki adalah “
CREATE : digunakan untuk melakukan pembuatan tabel database.
DROP : digunakan untuk melakukan penghapusan tabel maupun database.
ALTER : digunakan untuk melakukan pengubahan struktur tabel yang telah dibuat, baik menambah Field, mengganti nama Field ataupun menamakannya kembali.
2. DML (Data Manipulation Language)
24 DML adalah sebuah metode query yang dapat digunakan apabila DDL telah terjadi, sehingga fungsi query ini adalah untuk melakukan pemanipulasian database yang telah ada atau telah dibuat sebelumnya, adapun query yang digunakan di dalamnya adalah:
INSERT : digunakan untuk melakukan pemasukkan data pada tabel database.
UPDATE : digunakan untuk melakukan pengubahan atau peremajaan terhadap data yang ada pada tabel.
DELETE : digunakan untuk melakukan penghapusan data pada tabel.
SELECT : digunakan sebagai pemanggilan isi dari sebuah tabel database
2.5.3.
Netbeans
Netbeans merupakan salah satu IDE yang dikembangkan dengan bahasa pemrograman java. Netbeans mempunyai perangkat lunak yang di dalamnya menyediakan pembangunan pemrograman GUI, text editor, compiler, dan interpreter. Netbeans adalah sebuah perangkat lunak open source sehingga dapat digunakan secara gratis untuk keperluan komersial maupun nonkomersial yang didukung oleh Sun Microsystem.
Gambar 2. 7 Jendela IDE Netbeans
25 2.6.
Metode Pengujian Perangkat lunak sering mengandung kesalahan (error) pada proses-proses
tertentu pada saat perangkat lunak sudah berada ditangan user. Kesalahan-kesalahan (error) pada perangkat lunak ini sering disebut dengan “bug”. Untuk menghindari banyaknya bug maka diperlukan adanya pengujian perangkat lunak sebelum perangkat lunak diberikan ke pelanggan atau selama perangkat lunak masih terus dikembangkan. Adanya bug adalah suatu yang biasa, bahkan di sebuah perangkat lunak yang sudah besar dan terkenalpun biasanya masih ada bug, yang bisa dilakukan pengembang perangkat lunak adalah meminimalisir bug dengan melakukan pengujian. Pengujian adalah suatu set aktivitas yang direncanakan dan sistematis untuk menguji atau mengevaluasi kebenaran yang diinginkan. Aktivitas pengujian terdiri dari satu set atau sekumpulan langkah dimana dapat menempatkan desain kasus uji yang spesifik dan metode pengujian. Pengujian perangkat lunak adalah sebuah elemen sebuah topik yang memiliki cakupan luas dan sering dikaitkan dengan verifikasi (verification) dan validasi (validation). Verifikasi mengacu pada sekumpulan aktivitas yang menjamin bahwa perangkat lunak mengimplementasikan dengan benar sebuah fungsi yang spesifik. Sedangkan validasi mengacu pada sekumpulan aktivitas yang berbeda yang menjamin bahwa perangkat lunak yang dibangun dapat ditelusuri sesuai dengan kebutuhan pelanggan (customer). (Rosa, Shalahuddin, 2013:271) Pengujian untuk verifikasi dilakukan mulai dari lingkup yang kecil naik ke lingkup yang besar seperti pada gambar berikut:
Gambar 2. 8 Hirarki Pengujian Sistem (Rosa, Shalahuddin, 2012:274)
Pengujian diawali dari pengujian unit. Unit disini bisa berupa kumpulan fungsi atau prosedur yang memiliki keterkaitan pada pemrograman terstruktur atau kelas pada pemrograman berorientasi objek. Unit juga dapat berupa modul atau dikenal juga sebagai
26 package. Setelah unit-unit selesai diuji maka dilakukan pengujian integrasi. Pengujian integrasi sebaiknya dilakukan secara bertahap untuk menghindari kesulitan penelusuran jika terjadi kesalahan (error). Pengujian integrasi lebih pada pengujian penggabungan dari dua atau lebih unit pada perangkat lunak. Setelah pengujian integrasi maka dilakukan pengujian sistem dimana unit-unit proses yang sudah diintegrasi diuji dengan antar muka yang sudah dibuat sehingga pengujian ini dimaksudkan untuk menguji sistem perangkat lunak. Setelah pengujian sistem selesai maka dapat dilakukan pengujian penerimaan perangkat lunak oleh user (pemakai perangkat lunak). Pengujian penerimaan digunakan untuk mengetahui kepuasaan user terhadap perangkat lunak yang sudah dibuat. Pengujian untuk validasi memiliki beberapa pendekatan sebagai berikut: a. Black-Box Testing (Pengujian kotak hitam) Yaitu menguji perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dank ode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan. Pengujian kotak hitam dilakukan dengan membuat kasus uji yang bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah sesuai spesifikasi yang dibutuhkan. Kasus uji yang dibuat dengan kasus benar dan kasus salah. Misalkan untuk kasus login maka kasus uji yang dibuat adalah:
Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang benar.
Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang salah, misalnya nama pemakai benar tapi kata sandi salah, atau sebaliknya atau keduanya salah.
b. White-Box Testing (Pengujian kotak putih) Yaitu menguji perangkat lunak dari segi desain dank ode program apakah mampu menghasilkan fungsi-fungsi, masukan, dan keluaran yang sesuai dengan spesifikasi masukan dan keluaran yang sesuai dengan spesifikasi kebutuhan. Pengujian kotak putih dilakukan dengan memeriksa lojik dari kode program. Pembuatan kasus uji bisa mengikuti standar pengujian dari standar pemrograman yang seharusnya. Contoh dari pengujian kotak putih misalkan menguji alur (dengan menelusuri) pengulangan (looping) pada logika pemrograman seperti ilustrasi berikut:
27
Pengulangan bersarang Pengulangan simpel
Pengulangan gabungan
Pengulangan tidak terstruktur
Gambar 2. 9 Contoh Pengujian Kotak Putih (Rosa, Shalahuddin, 2012:276)
2.7.
Pengertian Budget Penganggaran (budgeting) menunjukkan suatu proses sejak tahap persiapan yang
diperlukan sebelum dimulainya penyusunan rencana, pengumpulan berbagai data dan informasi yang perlu, pembagian tugas perencanaan, penyusunan rencananya sendiri, implementasi dari rencana tersebut, sampai pada akhirnya tahap pengawasan dan evaluasi dari hasil rencana itu. Hasil dari kegiatan penganggaran (budgeting) adalah anggaran (budget). (http://www.pendidikanekonomi.com) 1.
Menurut RA Supriyono - Anggaran adalah suatu rencana terinci yang dinyatakan secara formal dalam ukuran kuantitatif, biasanya dinyatakan dalam satuan uang, untuk perolehan dan penggunaan sumber-sumber suatu organisasi dalam jangka waktu tertentu, biasanya satu tahun.
2.
Menurut Gunawan Adisaputro - Anggaran adalah suatu pendekatan formal dan sistematis daripada pelaksanaan tanggung jawab manajemen di dalam perencanaan, koordinasi, dan pengawasan. Anggaran perusahaan dapat dianggap sebagai suatu sistem tunggal yang
memiliki ciri khas tersendiri, oleh karena anggaran perusahaan tersebut mempunyai tujuan serta cara kerja tersendiri yang merupakan satu kebulatan dan yang berbeda
28 dengan tujuan serta cara kerja system lain yang terdapat dalam perusahaan. Disamping itu anggaran perusahaan dapat juga dianggap sebagai sub sistem yang memerlukan hubungan dengan sub sistem lain yang terdapat dalam perusahaan oleh karena anggaran perusahaan bukanlah satu-satunya alat perencanaan dan pengendalian yang ada dan diperlukan perusahaan. Dalam menyusun anggaran harus diperhatikan syarat-syarat sebagai berikut: 1. Realistis, artinya sangat mungkin untuk dicapai 2. Luwes, artinya tidak kaku sehingga terdapat peluang untuk perubahan sesuai dengan situasi dan kondisi 3. Kontinyu, artinya bahwa anggaran perusahaan memerlukan perhatian secara terus menerus dan bukan merupakan suatu usaha yang bersifat incidental Budgeting merupakan suatu fungsi planning dalam manajemen keuangan. Kegunaan dari analisas finansial adalah melihat keadaaan kerugian perusahaan pada masa lampau, akan diperoleh suatu pengalaman yang berharga untuk menentukan tindakan di masa yang akan datang. Tindakan dan kebijaksanaan untuk masa yang akan datang tersebut dalam manajemen terdapat pada fungsi planning, sedangkan pada manajemen keuangan fungsi itu terdapat pada budgeting. Budgeting menunjukkan suatu proses, dari tadi tahap persiapan yang diperlukan sebelum dimulainya penyusunan rencana, pengumpulan data, dan informasi yang diperlukan, pembagian tugas penyusunan perencanaan, penyusunana rencana itu sendiri, implementasi dari rencana tersebut, sampai pada akhirnya tahap pengawasan dan evaluasi dari hasil perencanaan itu. Jelaslah bahwa suatu bahan untuk membuat budget adalah dengan melihat keadaan keuangan perusahaan di masa lampau. Detail tidaknya sebuah budget dibuat tergantung pada besar kecilnya perusahaan dan kompleksnya operasi perusahaan. Hal ini berarti bahwa makin kecil dan sederhana perusahaan, makin sederhana pula budget yang dibuat. Sedangkan perusahaan yang lebih besar dan kompleks, budget yang dibuat harus lebih lengkap dan detail. Mengenai periode budget ini, terdapat dua macam periode, yaitu periode budget dan continous budget. Periode budget dibuat dengan mempergunakan periode tertentu, hal ini dimungkikan bagi perusahaan di mana peramalan untuk masa yang akan datang relatif bisa dilakukan dengan baik. Sebaliknya, untuk perusahaan di mana peramalan sulit dilaksanakan dengan kepastian yang tinggi, maka dapat dipergunakan continous
29 budgeting. Metode ini dilakukan dengan cara membuat budget untuk periode yang pendek, misalnya dibuat tengah tahunan, suatu kuartal, ataupun tiap bulan. Adapun jangka waktu budget tidak boleh telalu panjang, sebab ramalan jangka waktu yang terlalu panjang akan makin banyak terdapat unsur ketidakpastian. (Uncertainty). Seringkali akan sangat bermanfaat untuk membuat suatu laporan keuangan tertentu yang dapat dipergunakan sebagai alat untuk mengevaluasi operasi-operasi perusahaan baik pada masa lalu maupun pada masa sekarang. Laporan tentang sumber dan penggunaan dana akan memungkinkan seorang manajer keuangan untuk menganalisa sumber-sumber dan penggunaan dana secara historis yang terdapat di dalam perusahaan. Budget kas adalah suatu alat yang dapat dipergunakan oleh manajer keuangan untuk meramalkan atau memperkirakan kebutuhan-kebutuhan dana jangka pendek dan untuk mengetahui kelebihan/kekurangan uang kas selama periode budget. Seperti halnya dengan laporan sumber dan penggunaan dana, budget kas sering pula disebut dengan istilah “cash forecast”,tetapi dalam tulisan ini istilah “budget kas”lah yang akan dipergunakan.(Lukman Syamsuddin,2011:132) Beberapa hal penting yang mungkin perlu diingat dalam membuat laporan sumber-sumber dan penggunaan dana adalah sebagai berikut:.(Lukman Syamsuddin, 2011:142) 1. Jumlah sumber-sumber dana harus sama dengan jumlah penggunaan dana atau dengan perkataan lain jumlah sebelah kiri harus sama dengan sebelah kanan. 2. Biasanya net profit after taxes (keuntungan sesudah pajak) adalah pos pertama di dalam sumber-sumber dana sedangkan deviden adalah pos yang pertama dalam penggunaan dana. Pengaturan yang seperti ini akan memudahkan perhitungan retained earning. 3. Depresiasi dan peningkatan aktiva tetap merupakan pos yang kedua di masingmasing pihak, sehingga memudahkan untuk membandingkan pos-pos tersebut satu sama lain. Penempatan depresiasi sesudah net profit after taxes juga akan memudahkan perhitungan arus kas. 4. Urut-urutan selanjutnya tidak terlalu dipersoalkan. 5. Perubahan dalam stockholders’ equity dapat dihitung dengan jalan menambah semua jumlah penjualan saham atau mengurangi semua pembelian kembali saham-saham dari selisih antara net profit after taxes dikurangi dengan kas deviden (cash deviden).
30 Anggaran (Budget) yang baik haruslah mencakup seluruh kegiatan perusahaan, yang sering dinamakan Budget Komprehensif. Secara garis besar isi dari Budget Komprehensif terdiri dari: 1. Budget Taksiran (Forecasting Budget), berisi taksiran-taksiran tentang kegiatankegiatan perusahaan dan keadaan (posisi) financial perusahaan pada saat tertentu pada waktu yang akan datang. 2. Budget Variabel, berisi tentang tingkat perubahan atau variabilitas biaya, khususnya biaya-biaya yang termasuk kelompok biaya ”semi-variabel” sehubungan dengan adanya produktivitas perusahaan. 3. Analisa Statistika dan Matematika Pembantu, yang dipergunakan untuk membuat taksiran-taksiran
serta
mengadakan
penilaian
(evaluasi)
dalam
rangka
mengadakan pengawasan kerja. 4. Laporan Budget (Budget Report), yaitu laporan tentang realisasi pelaksanaan budget yang dilengkapi dengan berbagai analisa perbandingan antara budget dan realisasinya sehingga dapat diketahui penyimpangan-penyimpangan yang terjadi dan sebab-sebabnya, baik yang bersifat positif (menguntungkan) maupun negative (merugikan), sehingga dapat ditarik kesimpulan dan tindak lanjut (follow-up) yang segera perlu dilakukan.
2.8.
Pengertian Tracking Tracking secara harfiah memiliki arti mengikuti jalan, atau dalam arti bebasnya
adalah suatu kegiatan untuk mengikuti jejak suatu obyek. Pengertian tracking atau pemantauan dalam hal ini adalah kegiatan untuk memantau anggaran yang dipakai atau dihabiskan dalam periode tertentu untuk melaksanakan suatu program. Dalam kamus bahasa Indonesia pelacakan (tracking) merupakan proses atau cara melacak atau mencari. Pelacakan juga dapat di definisikan sebagai teknik untuk mencari sesuatu. Didalam pencarian ada dua kemungkinan hasil yang didapat yaitu menemukan dan tidak ditemukan. Pelacakan (tracking) adalah suatu stategi untuk melakukan pencarian dalam ruang problema secara selektif, yang memandu proses pencarian di sepanjang jalur yang memiliki kemungkinan sukses paling besar. Teknik ini dipakai pada situasi dimana hasil yang eksak kan terlalu mahal atau tidak mungkin dilakukan, sehingga pemecahan yang diperoleh lebih bersifat cukup (sufficient).(http:// lecturer.eepis-its.edu).
31
Keberhasilan dan kualitas pencarian diukur dari empat cara,antara lain : 1. Kelengkapan Apakah
algoritma
pencarian
menjamin
untuk
mendapatkan
sebuah
penyelesaian jika ada penyelesaian 2. Optimal Apakah algoritma pencarian akan mendapatkan penyelesaian optimal missal, penyelesaian dengan biaya lintasan minimum. 3. Kekomplekan waktu Berapa lama waktu yang digunakan untuk menyelesaikan permasalahan 4. Kekomplekan Ruang banyak memori yang dibutuhkan untuk melakukan pencarian.