BAB II LANDASAN TEORI
2.1
KONSEP DASAR SISTEM INFORMASI
2.1.1
Pengertian sistem Dalam mendefinisikan sistem terdapat dua kelompok pendekatan sistem yaitu
1.
Pendekatan sistem yang lebih menekankan prosedur, mendifinisikan: “Sistem adalah kumpulan dari prosedur-prosedur yang mempunyai tujuan tertentu” [Jogianto:2008:34]. Contoh sistem akuntansi yang didefinisikan sebagai kumpulan dari prosedur-prosedur penerimaan kas, pengeluaran kas, penjualan , pembelian dan buku besar.
2.
Pendekatan sistem yang lebih menekankan komponen, mendifinisikan: “sistem adalah kumpulan dari komponen yang saling berhubungan satu dengan yang lainnya yang membentuk satu kesatuan untuk mencapai tujuan tertentu” [Jogianto:2008:34]. Contoh sistem komputer yang didefinisikan sebagai kumpulan dari perangkat keras dan perangkat lunak. Menurut Jack Febrian [2007:398], Sistem adalah suatu jaringan kerja dari
prosedur-prosedur yang saling berhubungan berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Menurut Rudy Tantra [2012:1], Sistem adalah entitas atau satuan yang terdiri dari dua atau lebih komponen atau subsistem (sistem yang lebih kecil) yang saling berhubungan dan terkait untuk mencapai suatu tujuan. Menurut Yakub [2012:1], Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan
bersama-sama untuk melakukan
suatu kegiatan atau untuk tujuan tertentu. Tidak semua sistem memiliki kombinasi elemen-elemen yang sama, tetapi susunan dasarnya sama. Ada beberapa elemen yang membentuk sebuah sistem yaitu : a. Tujuan, tujuan ini menjadi motivasi yang mengarahkan pada sistem, karena tanpa tujuan yang jelas sistem menjadi tak terarah dan tak terkendali. 6
b. Masukan, masukan(input) sistem adalah segala sesuatu yang masuk ke dalam sistem dan selanjutnya menjadi bahan untuk diproses. c. Proses,
proses merupakan bagian
yang melakukan perubahan atau
transformasi dari masukan menjadi keluaran yang berguna dan lebih bernilai. d. Keluaran(output) merupakan hasil dari pemrosesan sistem dan keluaran dapat menjadi masukan untuk subsistem lain. e. Batas, batas(boundry) sistem adalah pemisah antara sistem dan daerah diluar sistem. f. Mekanisme pengendalian dan umpan balik, mekanisme pengendalian (control mechanism) diwujudkan dengan menggunakan umpan balik(feedback). g. Lingkungan, lingkungan adalah segala sesuatu yang berada di luar sistem.
2.2
Pengertian informasi Menurut Jack Febrian [2007:238], informasi adalah data yang telah
diproses kedalam suatu bentuk yang mempunyai arti bagi si penerima dan mempunyai nilai nyata dan terasa bagi keputusan saat itu atau keputusan mendatang. Menurut Rudy Tantra [2012:1], Informasi adalah pemrosesan input yang terorganisir, memiliki arti dan berguna bagi orang yang menerimanya. Menurut Yakub [2012:8], “Informasi adalah data yang telah diproses sedemikian
rupa
sehingga
meningkatkan
pengatahuan
seseorang
yang
menggunakan”. Kualitas informasi tergantung dari tiga hal, yaitu: a. Relevan (relevance), berarti informasi tersebut mempunyai manfaat untuk pemakainya dan relevansi informasi untuk tiap-tiap orang akan berbeda-beda. b. Tepat waktu (timeliness), berarti informasi tersebut dating pada penerima tidak boleh terlambat. Informasi yang sudah using tidak akan mempunyai nilai lagi, karena informasi merupakan landasan didalam pengambilan keputusan.
7
c. Akurat (accuracy), berarti informasi harus bebas dari kesalahan-kesalahan dan tidak menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya. Informasi harus akurat karena dari sumber informasi sampai ke penerima informasi kemungkinan banyak terjadi gangguan(noise) yang dapat merusak informasi.
2.3
Pengertian sistem informasi Menurut Yakub [2012:17] Sistem informasi adalah suatu sistem yang
dibuat oleh manusia yang terdiri dari komponen-komponen dalam organisasi untuk menyajikan informasi. Menurut Jack Febrian [2007:238] sistem informasi adalah suatu sistem di suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan. Menurut Rudy Tantra [2012:2] sistem informasi adalah cara yang terorganisir untuk mengumpulkan, memasukkan, dan memproses data dan menyimpannya, mengelola, mengontrol, dan melaporkan sehingga dapat mendukung perusahaan atau organisasi untuk mencapai tujuan. Organisasi menggunakan sistem informasi untuk mengolah transaksi-transaksi, mengurangi biaya, dan menghasilkan pendapatan sebagai salah satu produk atau pelayanan mereka.
2.4
Pengembangan Sistem Informasi Sebuah sistem informasi bisa dikatakan berjalan dengan baik tentu dengan
pengelolaan pelaksanaan yang baik. Di dalam sistem informasi, dalam pengembangan sistem informasi, ada metode yang paling umum digunakan dikenal dengan istilah SDLC (System Developement Life Cycle). Inilah acuan untuk bisa membangun dan mengelola sebuah sistem informasi yang baik. 2.4.1
Pengertian SDLC(System Development Life Cycle) SDLC
atau
System
Development
Life
Cycle
adalah
proses
mengembangkan atau mengubah suatu sistem perangkat lunak dengan 8
menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistem-sistem perangkat lunak sebelumnya [Rosa A.S-M. Shalahuddin:2011:24]. SDLC dimulai dari tahun 1960-an, untuk mengembangkan sistem skala usaha besar secara fungsional untuk para konglomerat pada zaman itu. Sistemsistem yang dibangun mengelola informasi kegiatan dan rutinitas dari perusahaanperusahaan yang berpotensi memiliki data yang besar dalam perkembanganya. SDLC adalah alat bantu penting Software Development Methodology (SDM) [Rudy Tantra :2012:11]. SDM makin berkembang sejak era 1960-an terutama karena semakin banyak perusahaan besar yang beralih ke komputerisasi. SDLC sendiri bisa dikatakan sebagai metodologi resmi tertua dalam mengembangkan sistem informasi. Tujuannya adalah agar pengembangan sistem informasi menjadi lebih cermat, terstruktur dan mengikuti metode yang telah ditentukan. Ada beberapa model SDLC, salah satunya yang popular dan banyak digunakan adalah model SDLC waterfall atau sering disebut juga model sekuensial linier (sequential linier) atau alur hidup klasik (classic life cycle) 2.4.2
Perancangan SDLC (Model Waterfall) Model waterfall adalah model air terjun yang menyediakan pendekatan
alur hidup perangkat lunak secar sekuensial. Terdapat enam langkah fase dalam siklus SDLC, jumlah langkas SDLC model waterfall pada referensi lain mungkin berbeda, namun secara umum adalah sama. Berikut adalah fase-fase yang digambarkan dalam metode waterfall sebagai berikut:
9
Perencanaan
Analisis
Perancangan
Implementasi
Pengujian
Pemeliharaan
Gambar 2.1 Metode Waterfall [Adi Nugroho:2010]
1. Perencanaan Dalam tahap ini, menjelaskan dan mengargumentasi untuk melanjutkan proyek yang telah dipilih. Rencana kerja yang matang juga disusun untuk menjalankan tahapan-tahapan lainnya. Pada tahap ini ditentukan secara detail rencana kerja yang harus dikerjakan, durasi yang diperlukan masingmasing tahap, sumber daya manusia, perangkat lunak, dokumentasi, perangkat keras, maupun finansial diestimasi. Pembuatan perencanaan ini bukan langkah mudah karena untuk mengestimasi beban kerja dan durasi dari masing-masing tahap dibutuhkan pengalaman yang cukup banyak. Kesalahan pada tahap ini akan mengakibatkan keuntungan yang diperoleh tidak maksimal, bahkan bisa rugi. Pada tahap ini peran manajemen sistem informasi berpengalaman sangat dibutuhkan.
10
2. Analisis Tahap kedua adalah tahap analisis, yaitu tahap dimana kita berusaha mengenali segenap permasalahan yang muncul pada pengguna dengan mendekomposisi dan merealisasikan komponen-komponen sistem. Tujuan utama dari tahap ini adalah untuk memahami dan mendokumentasikan kebutuhan bisnis dan persyatana proses dari sistem baru. Menganalisa sebagai bahan dalam membuat spesifikasi di tahapan selanjutnya. 3. Perancangan Tahap perancangan(design), dimana kita mencoba mencari solusi permasalahn yang didapat dari tahap analis. Tahapan mengubah kebutukan yang masih berupa konsep menjadi spesifikasi sistem yang riil untuk diimplementasikan. Jika pada tahapan analisis ( from requirement to specification ), maka tahapan desain adalah ( from specification to implementaion). Jadi, bagaimana membuat spesifikasi yang detail untuk diimplementasikan. 4. Implementasi Tahap implementasi, dimana kita mengimplementasikan perancangan sistem ke situasi nyata. Disini kita mulai berurusan dengan pemilihan perangkat
keras
dan
penyusunan
perankat
lunak
aplikasi
(
pengkodean/coding). 5. Pengujian Tahapan kelima adalah pengujian(testing), yang dapat digunakan untuk menetukan apakah sistem/ perangkat lunak yang kita buat sudah sesuai dengan kebutuhan pengguna atau belum. Jika belum, proses selanjutnya adalah bersifat iterative, yaitu kembali ke tahap-tahap sebelumnya. 6. Pemeliharan Tahap
pemeliharaan/perawatan
diman
kita
mulai
melakukan
pengoperasian sistem dan jika diperlukan melakukan perbaikan-perbaikan kecil. Kemudian jika waktu penggunaan sistem habis, maka kita akan masuk lagi pada tahap perencanaan (design). 11
2.5
Pengertian UML UML (Unified Modeling Language) bahasa untuk menspesifikasi,
menvisualisasikan, serta mengkonstruksi bangunan dasar sistem perangkat lunak, termasuk melibatkan permodelan aturan-aturan bisnis [Adi Nugroho:2011:119], sedangkan menurut Prabowo [2011:6] uml adalah sebuah alat komunikasi bahasa yang berdasarkan diagram, deskripsi atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis orientasi objek yang standar. Para pengembang bahasa pemograman berorientasi objek sulit untuk berkomunikasi satu sama lain, ada kira-kira 50 jenis rotasi dan grafik yang menggambarkan bahasa pemograman berorientasi objek pada waktu itu. Dengan adanya UML, para pengembang sistem diharapkan melakukan standarisasi pemodelan sistem. Adapun tujuan pemodelan UML adalah sebagai sarana analisis, pemahaman, visualisasi, dan komunikasi antar anggota tim pengembang agar lebih mudah dipelajari dan dipahami dalam pandangan pikir yang sama, serta sebagai sarana dokumentasi dalam pembangunan sistem. 2.5.1
Diagram-diagram UML Beberapa literatur menyebutkan bahwa UML menyediakan sembilan jenis
diagram, namun kesembilan diagram ini tida mutlak harus digunakan dalam pengembangan perangkat lunak, semuanya dibuata sesuai dengan kebutuhan. Diagram yang serinf digunakan adalah Diagram Use Case, Diagram Aktivitas (Activity Diagram,) Diagram Sequence, Diagram Class. 2.5.1.1 Use Case Diagram Use case diagram merupakan gambaran lengkap tentang interaksi yang terjadi antara aktor dengan sistem/perangkat lunak yang sedang kita kembangkan secara terperinci. Diagram ini memperlihatkan himpunan use-case dan actoraktor( suatu jenis kelas). Diagram ini sangat penting untuk mengorganisasi dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna.[ Prabowo Pudjo Widodo dan Herlawati :2011:10] Komponen pembentuk diagram use case adalah: 12
1. Aktor (actor), menggambarkan pihak-pihak yang berperan dalam sistem 2. Use case, aktivitas/sarana yang disiapkan oleh bisnis/sistem 3. Hubungan (link), aktor mana saja yang terlibat dalam use case , dan bagaimana hubungan use case dengan use case lain. Ada hubungan antar use case. Digolongkan menjadi 2 : yaitu extend digambarkan dengan keterangan<<extend>>,
dan
include
digambarkan
dengan
keterangan<
>, berikut perbedaannya : Tabel 2.1 perbedaan include dan extend pada use case [Prabowo Pudjo Widodo dan Herlawati :2011] Include use case terpanggil (included use case) selalu diperlukan oleh use case dasar yang memutuskan kapan dipanggilnya use case included adalah use case dasar
Extend use case ekstensi tidak selalu dibutuhkan oleh use case dasar yang memutuskan kapan dipanggilnya use case ekstensi adalah use caseekstensi itu sendiri panah hubungan dari use panah hubungan dari casedasar ke use case use case ekstensi ke included use case dasar
Use case biasanya disertai dengan penjelasan narasi yang dirangkum dalam tabel yaitu disebut use case description. use case description merupakan tabel yang digunakan untuk membuat dan menjelaskan keterangan terperinci mengenai tiap-tiap use case. Terdapat istilah pre condition dan post condition, fungsinya adalah memberikan informasi penting mengenai keadaan sistem sebelum dan sesudah use case. Hal ini dapat dilakukan dengan memberikan penjelasan singkat atau dapat pula berupa nama Use-Case.
13
Tabel 2.2. Symbol Use Case Diagram[Rosa A.S-M. Shalahuddin:2011] Use case Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor; biasanya dinyatakan dengan menggunakan kata kerja diawal, diawal frase nama use case Aktor/ actor Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan aktor; biasanya dinyatakan menggunakan kata benda diawal frase nam aktor Asosiasi / association Komunikasi antar aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi 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 itul; mirip dengan prinsip inheritance pada pemgoraman objek; biasanya use case tambahan memiliki nama depan yang sama dengan use case yang ditambahkan Generalisasi/ generalization Hubungan generalisasi dan spesialisasi (umumkhusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya 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 di use case : Include berarti use case yang ditambahkan akan selalu dipanggil saat use case tambahan dijalankan <<Uses>> Include berarti use case yang tambahan akan selalu melakukan pengecekan apakah use case yang ditambahkan telah dijalankan sebelum use 14
case tambahan dijalankan
Pesan Kelas
Pelanggan
Pesan Tiket
<>
Pesan Kursi
Gambar 2.2 Contoh Use Case [Prabowo Pudjo Widodo dan Herlawati :2011] Tabel 2.3 Relasi-relasi dalam Use Case [Adi Nugroho:2012] Relasi Fungsi Asosiasi(association) Lintasan komunikasi antara actor dengan use case Extend Penambahan perilaku ke suatu use case dasar Generalisasi use case Menggambarkan hubungan antara use case yang bersifat umum dengan use case-use case yang bersifat lebih spesifik Include Penambahan perilaku ke suatu use case dasar yang secara eksplisit mendeskripsikan penambahan tersebut 15
Notasi
2.5.1.2 Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow ( aliran kerja) atau aktivitas yang melalui program, dari titik mulai yang sudah didefinisikan sebelumnya, sampai ke titik akhir [Rudy Tantra :2012:150]. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktifitas yang dapat dilakukan dengan sistem.
Gambar 2.3 Contoh Activity Diagram [Adi Nugroho : 2010]
Tabel 2.4 komponen Activity Diagram[Adi Nugroho:2010] Notasi Initial Activity
Keterangan Simbol initial Activity sebagai awal dari aktivits modul sistem aplikasi
Activity
Activity menunjukkan aktivitas yang dilakukan
16
Activity Desc
Final Activity
Final Activity menunjukkan akhir dari aktifitas
Decision
decisions menunjukkan aktivitas yang harus dipilih apakah pilihan pertama atau kedua
Signal
Signal sebagai pengirim dan penerima pesan dari aktivitas yang terjadi. Sinyal terdiri dari 2(dua) jenis, yaitu sinyal penerima yang digambarkan dengan poligon terbuka dan sinyal pengirim dengan yang digambarkan dengan convexpoligon
[Opt 1]
[Opt 2]
I/P Signal
Output Signal
concurrent concurrent activities menggambarkan activities aktivitas yang dilakukan bersamaan atau parallel
listen
read
2.5.1.3 Sequence Diagram Diagram ini memperlihatkan interaksi yang menekankan pada urutan pertukaran pesan/data dalam suatu waktu tertentu yang dilakukan oleh sekumpulan objek atau aktor yang mengerjakan pekerjaan [Prabowo Pudjo Widodo dan Herlawati :2011]. Sequence Diagram biasanya tersusun dari elemen obyek, interaction dan message. Interaction menghubungkan 2 obyek dengan pesannya. Diagram ini menjelaskan aspek dinamis dari sistem yang sedang 17
dibangun. Untuk satu use case bisa dibuat beberapa sequence diagram, karena satu use case biasanya terdiri dari beberapa aktivitas yang harus dilakukan dan masing-masing aktivitas ini bisa direpresentasikan dalam satu sequence diagram.
Gambar 2.4 Contoh Sequence Diagram
Tabel .2.5 komponen sequence diagram
2.5.1.4 Class Diagram Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut attribute dan metode atau operasi[Rosa A.S-M. Shalahuddin:122]. Diagram ini memperlihatkan himpunan kelas-kelas dan objek, 18
karakter/sifat (behavior) dan kadangkala disertai kondisi, contoh: siswa, Negara, kota. Sedangkan kelas adalah penggambaran satu set objek yang memiliki attribute dan behavior yang sama [Prabowo Pudjo Widodo dan Herlawati :2011:39. Tabel 2.6 : komponen class diagram
Gambar 2.5 Contoh Class diagram [Prabowo Pudjo Widodo dan Herlawati :2011]
2.6
Perancangan Berorientasi Objek Secara prinsip objek merupakan sebuah elemen yang akan diselidiki atau
dipahami. Jika kita merujuk pada obyek dari sudut pandang yang nyata berarti obyek merupakan sesuatu yang nyata dan memiliki bentuk, akan tetapi berbeda jika kita berbicara konsep sistem bukan hanya bisa dilihat atau dirasakan tetapi sesuatu yang masih bersifat ide atau gagasan. Pendekatan berorientasi objek merupakan suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan 19
objek yang berisi data dan operasi yang diberlakukan terhadapnya [Rosa A.S-M. Shalahuddin:2011:82]. Pemograman berorientasi obyek adalah suatu cara baru dalam berfikir serta berlogika untuk menghadapi masalah-masalah yang akan dicoba atasi dengan bantuan komputer [Adi Nugroho:121]. Pemograman berorientasi objek memiliki tujuan untuk pemahaman sistem kepada user atau client. Hal ini karena user/client dapat dengan mudah memahami alur pemograman dengan kasus yang dihadapi. Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi obyek dapat diterapkan pada tahap analisis, perancangan, pemograman, dan pengujian perangkat lunak. Ada berbagai teknik yang dapat digunakan pada masing-masing tahap tersebut, dengan aturan dan alat bantu permodelan tertentu. 2.6.1
Karakteristik Dasar dalam Sistem Berorientasi Objek
1.
Abstraksi Abstraksi atau
abstraction secara sederhana dikatakan sebagai proses
memilah beberapa atribut dan beberapa suatu objek hanya sampai pada yang benar-benar diperlukan saja dan membuang atribut dan operasi yang tidak diperlukan untuk persoalan yang dihadapi. 2.
Pewarisan (inheritance) Obyek adalah anggota atau instan suatu kelas dan sebaliknya kelas adalah
sebuah kategori dari beberapa objek yang mempunyai atribut dan operasi yang sama, maka objek mempunyai semua karakterisrik dari suatu kelas. Atribut dan operasi yang ditentukan dalam kelas dapat diwariskan ke masing-masing objek dalam kelas tersebut 3.
Banyak Bentuk ( polymorphism) Kadang-kadang sebuah operasi mempunyai nama yang sama pada kelas
yang berbeda. Operasi-operasi tersebut walaupun mempunyai nama yang sama tetapi diberikan pada objek yang berbeda maka mempunyai makna yang berbeda. Pada masing-masing persoalan dapat dilakukan operasi yang berbeda-beda walaupun dengan nama yang sama. Konsep tersebut dikelab dengan istilah banyak 20
bentuk atau polymorphism, yaitu operasi dengan nama yang sama, tetapi diberikan pada objek yang berbeda akan mengakibatkan operasi yang berbeda. 4.
Pembungkusan (encapsulation) Pemnbungkusan
atau
encapsulation
adalah
menyembunyikan
kompleksitas dari luar dan hanya membuka operasi-operasi yang diperlukan saja terhadap objek-objek lain. 5.
Pengiriman pesan (message sending) Bagaimana objek-objek dalam sisem bekerja sama. Mereka melakukannya
dengan mengirimkan pesan dari satu objel ke objek lainnya. Suatu objek mengirimkan pesak ke objek lain untuk melakukan sebuag operasi dan juga dapat menerima pesan dari objek lain untuk melakukan operasi lainnya. 6.
Asosiasi( association) Pada saat seseorang melakukan turn-on pada sebuag televisi, maka
menurut terminology berorientasi objek, seseorang tersebut sedang berasosiasi dengan televisi. 7.
Aggregasi (aggregation) Aggregasi adalah bentuk khusus dari asosiasi yang lebih kuat, dimana
asosiasi yang terjadi adalah “part of” antara objek yang satu dengan objek yang lainnya atau asosiasi antara “keseluruhan” dengan “sebagian”. Salah satu bentuk agregasi meliputi hubungan yang kuat antara satu objek dan objek-objek lainnya sebagai komponen pembentuknya. Hal ini dikenal dengan nama lain yaitu komposisi. Kunci komposisi bahwa komponen-komponen tersebut ada hanya penyususn dari objek gabungan tersebut.
2.7
Perancangan Basis Data Perancangan basis data adalah tahap merancang basis data yang akan
diterapkan oleh sistem. Menurut Fathansyah [2012:2] basis data dapat didefinisikan dalam sejumlah sedut pandang seperti:
21
Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dapat dimanfaatkan kembali dengan cepat dan mudah. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. 2.7.1
Sistem Basis Data Sistem basis data adalah koleksi dari data-data yang terorganisir
sedemikian rupa sehingga data mudah disimpan dan dimanipulasi (diperbarui, dicari, diolah dengan perhitungan-perhitungan tertentu serta dihapus) [Adi Nugroho:2011:4]. 2.7.2
Konsep Dasar Basis Data Basis data merupakan sekumpulan data yang disusun secara logis dan
dikendalikan secara sentral. Basis data memiliki bagian-bagian yang penting, yaitu : a. Karakter-karakter Karakter merupakan bagian data yang terkecil, dapat berupa karakter numerik, huruf ataupun karakter-karakter khusus yang membentuk suatu item data. b. Field Suatu field menggambarkan suatu atribut dari record yang menunjukkan suatu item dari data, seperti misalnya nama, alamat dan lain sebaginya. Kumpulan dari field membentuk suatu record. c. Record Kumpulan dari field membentuk suatu record. Record menggambarkan suatu unit data individu tertentu. Kumpulan dari record membentuk suatu file. Misalnya file personalia, tiap-tiap record dapat mewakili data tiap-tiap karyawan. 22
d. File File terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis. Misalnya file matakuliah berisi data tentang semua mata kuliah yang ada. e. Data Base Kumpulan dari file membentuk suatu database. 2.7.3
Komponen Sistem Basis Data Sistem basis data terdapat komponen-komponen utama, yaitu:
1. Perangkat keras(hardware) Perangkat keras (hardware) yang biasanya terdapat dalam sebuah sistem basis data adalah : Komputer untuk sistem stand alone Sistem jaringan (network) Memori sekunder yang online (hard disk) Memori sekunder yang offline(removable disk) Perangkat komunikasi untuk sistem jaringan 2. Sistem operasi(operating system) Sistem operasi adalah program yang mengaktifkan sistem komputer, mengendalikan seluruh sumber daya dalam komputer dan melakukan operasi-operasi dasar dalam komputer, pengelolaan file dan lain-lain 3. Basis Data (database) Basis data adalah koleksi dari data yang terorganisasi dengan cara sedemikian
rupa
sehingga
data
tersebut
mudah
disimpan
dan
dimanupulasi. Sebuah sistem basis data memiliki beberapa jenis data. Setiap basis data dapat memiliki sejumlah obyek basis data seperti tabel, indeks dan lain-lain
23
4. Sistem Pengolahan Basis data (Database Management System/DBMS) Database Management System (DBMS) adalah kumpulan program aplikasi yang digunakan untuk membuat dan mengelola basis data. DBMS merupakan perangkat lunak yang menentukan bagaimana data tersebut diorganisasi, disimpan, diubah, dan diambil kembali. Selain itu DBMS juga menerapkan mekanisme pengamanan data, pemakaian data secara bersamaan dan konsistensi data. 5. Pemakai(user) user atau pemakain adalah beberapa jenis atau tipe pemakain pada sistem basis data, berdasarkan cara mereka berinteraksi pada basis data, diantaranya adalah:
programmer aplikasi
pemakai yang berinteraksi dengan basis data melalui DML (Data Manipulation Language), yang disertakan dalam produk yang ditulis dalam bahasa pemograman induk(seperti pascal, cobol, clipper, foxpro dan lain-lain).
User mahir (Casual User)
Pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Pemakai menggunakan query(untuk akses data), dengan bahasa query yang telah disediakan oleh suatu DBMS
User umum (Natïve User)
Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan suatu program aplikasi permanen, yang telah ditulis atau disediakan sebelumnya.
User khusus (Specialized User)
Pemakai yang menulis aplikasi basis data non konvensional untuk keperluan khusus, seperti untuk aplikasi sistem pakar, pengolahan citra, dan lain-lain.
24
2.8
Kamus Data Kamus data biasanya merupakan bagian dari katalog sstem (system
catalog) yang dibentuk untuk setiap basis data. Katalog sistem mendeskripsikan semua objek basis data, termasuk data tentang tabel-tabel seperti nama tabel, pembuat tabel, pengguna yang berhak menggunakanya, nama dan tipe data, kunci tamu (foreign key) dan kunci primer (primary key), berkas indeks dan sebagainya. Katalog sistem diciptakan oleh DBMS dan informasinya disimpan di tabel sistem, yang padanya dapat dilakukan permohonan seperti tabel data biasa, jika pengguna memiliki hak yang memadai. [Adi Nugroho, 2011: 530].
Tabel 2.7 Notasi Struktur Data Notasi = + () {} [] I * @
Keterangan Terdiri dari Dan ( and ) Pilihan ( ya atau tidak ) Pengulangan proses/ Iterasi Pilih salah satu jawaban Pemisah pilihan didalam [ ] Keterangan atau catatan Petunjuk (key field)
Tabel 2.8 Contoh Struktur Data
No
Nama Arus Data
Struktur Data
1
Data Barang
2
Data Kd_Plg + Nm_Plg + Alamat + Kota + Kode_Pos + Telp + Pelanggan Lama_Kredit + Lmt_Kredit + NPWP
3 4
Data Presanan Data Faktur
Kd_Brg + Nm_Brg + Satuan + Hrg_Sat + Qty_Masuk + Qty_Keluar + Stok_Akhir + Tanggal
No_Psn + Tgl_Psn + Kd_Plg + Nil_Psn + Kd_Brg + Qty No_Fax + Tgl_Fax + Kd_Plg + Nil_Fax + Kd_Brg + Qty 25
2.9
Metode Pegujian
2.9.1
Uji Coba 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 testing yang jauh lebih lama dan lebih “mahal” dikarenakan membutuhkan ketelitian dari tester serta kemampuan teknis pemograman bagi para testernya [Soetam Rizky,2011: 261]. Prinsip dari keluaran tipe testing ini adalah : 1.
Menjamin bahwa semua alur program yang independen (dalam bentuk modul, form, prosedur, class dan lainnya) telah dites minimal satu kali.
2.
Telah melakukan testing 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).
4.
Telah melakukan testing terhadap struktur data internal (seperti variable) agar terjaga validitasnya. Beberapa teknik yang terdapat dalam jenis white box testing adalah : 1. Decision (branch) Coverage Sesuai dengan namanya, teknik testing ini fokus terhadap hasil dari tiap skenario yang dijalankan terhadap bagian perangkat lunak yang mengandung percabangan (if…then…else). 2. Condition Coverage Teknik ini hampir mirip dengan teknik yang pertama, tetapi dijalankan terhadap percabangan yang dianggap kompleks atau percabangan majemuk. Hal ini biasanya dilakukan jika dalam sebuah perangkat lunak memiliki banyak kondisi yang dijalankan dalam satu proses sekaligus. 3. Path Analysis Merupakan teknik testing yang berusaha menjalankan kondisi yang ada dalam perangkat lunak serta berusaha mengoreksi apakah kondisi yang 26
dijalankan telah sesuai dengan alur diagram yang terdapat dalam proses perancangan. 4. Execution Time Pada teknik ini, perangkat lunak berusaha dijalankan atau dieksekusi kemudian dilakukan pengukuran waktu pada saat input dimasukkan hingga output dikeluarkan. Waktu eksekusi yang dihasilkan kemudian dijadikan bahan evaluasi dan dianalisa lebih lanjut untuk melihat apakah perangkat lunak telah berjalan sesuai dengan kondisi yang dimaksud oleh tester. 5. Algoritma Analysis Teknik ini umumnya jarang dilakukan jika perangkat lunak yang dibuat berjenis sistem informasi. Sebab teknik ini membutuhkan kemampuan matematis yang cukup tinggi dari para tester, karena di dalamnya berusaha melakukan analisa terhadap algoritma yang diimplementasikan pada perangkat lunak tersebut.
2.9.2
Uji Coba Black Box Black box testing adalah tipe testing yang memperlakukan perangkat lunak
yang tidak diketahui kinerja interalnya. Sehingga para tester memandang perangkat lunak seperti layaknya sebuah “kotak hitam” yang tidak penting dilihat isinya, tapi cukup dikenai proses testing di bagian luarnya [Soetam Rizky,2011: 264]. Beberapa keuntungan yang diperoleh dari jenis testing ini antara lain : 1.
Anggota tim tester tidak harus dari seseorang yang memiliki kemampuan teknis di bidang pemograman.
2.
Kesalahan dari perangkat lunak ataupun bug seringkali ditemukan oleh komponen tester yang berasal dari pengguna.
3.
Hasil dari black box testing dapat memperjelas kontradiksi ataupun kerancuan yang mungkin timbul dari eksekusi sebuah perangkat lunak.
4.
Proses testing dapat dilakukan lebih cepat dibandingkan white box testing. Beberapa teknik testing yang tergolong dalam tipe ini antara lain : 27
1.
Equivalence Partitioning Pada teknik ini, tiap inputan data dikelompokkan ke dalam grup tertentu, yang kemudian dibandingkan outputnya.
2.
Boundary Value Analysis Merupakan teknik yang umum digunakan pada saat awal sebuah perangkat lunak selesai dikerjakan. Pada teknik ini, dilakukan inputan yang melebihi dari batasan sebuah data.
3.
Cause Effect Graph Dalam teknik ini, dilakukan proses testing yang menghubungkan sebab dari sebuah inputan dan akibatnya pada output yang dihasilkan.
4.
Data Selection Seperti namanya, teknik ini berusaha melakukan proses inputan data dengan menggunakan nilai acak. Dari hasil inputan tersebut kemudian dibuat sebuah tabel yang menyatakan validitas dari output yang dihasilkan.
5.
Feature Test Pada teknik ini, dilakukan proses testing terhadap spesifikasi dari perangkat lunak yang telah selesai dikerjakan.
2.9
Perangkat Lunak Pendukung Saat ini telah tersedia berbagai paket perangkat lunak untuk banyak
kebutuhan bisnis. Dalam perangkat lunak, program yang digunakan telah teruji serta terbukti mampu menghemat waktu dan biaya pengembangan. 2.9.1
XAMPP Menurut Bunafit Nugroho [2008:2] Xampp merupakan paket php berbasis
Open Source yang dikembangkan oleh sebuah komunitas Open Source. Informasinya dapat diperoleh pada alamat http://www.apachefriends.org. dengan menggunakan XAMPP maka tidak perlu lagi untuk melakukan penginstalan program seperti web server apache, PHP, dan MySQL karena semua kebutuhan telah disediakan oleh XAMPP. Berikut adalah beberapa paket yang telah disediakan:
Apache HTTPD 2.0.54
MySQL 4.1.12 28
2.9.2
PHP 5.0.3
FilZilla FTP server 0.9 Beta
phpMyAdmin 2.6.1-pl13
PHP Menurut Bunafit Nugroho [2008:114] PHP (Hypertext Preprocesor)
adalah produk Open Source yang dapat digunakan secara gratis tanpa harus membayar untuk menggunakanya. File installer PHP bisa diunduh secara gratis dari alamat http://www.php.net. Interpreter PHP dalam mengeksekusi kode PHP pada sisi server (disebut server-side), sedangkan tanpa adanya interpreter PHP, maka semua skrip dan aplikasi PHP yang dibuat tidak dapat dijalankan. Proses eksekusi kode PHP yang dilakukan oleh Apache Web Server dan interpreter secara diagram PHP merupakan bahasa standar yang digunakan dalam dunia Website, PHP adalah bahasa program yang berbentuk skrip diletakkan didalam server web. Sejarah PHP mulanya diciptakan dari ide Rasmus Lerdof untuk kebutuhan pribadinya, skrip tersebut sebenarnya di maksudkan untuk digunakan sebagai keperluan membuat Website pribadi, akan tetapi kemudian dikembangkan lagi sehingga menjadi sebuah bahasa yang disebut “Personal Home Page”. 2.9.3
MySQL Menurut Abdul kadir [2008:2] MySQL (baca: mai-se-kyu-el) merupakan
software yang tergolong sebagai DBMS (Database Managament System) yang bersifat Open Source. Open Source menyatakan bahwa software ini dilengkapi dengan source code (kode yang dipakai untuk membuat MySQL), selain tentu saja bentuk executable-nya atau kode yang dapat dijalankan secara langsung dalam sistem operasi, dan bisa diperoleh dengan cara men-download (mengunduh) di Interner secara gratis. MySQL awalnya dibuat oleh perusahaan konsultan bernamaTcX yang berlokasi di Swedia. Saat ini pengembangan MySQL berada di bawah naungan perusahaan
MySQL
AB.
Adapun
software
www.mysql.com 29
dapat
diunduh
di
situs
Sebagai software DBMS, MySQL memiliki sejumlah fitur seperti yang dijelaskan di bawah ini:
Multiplatform
MySQL tersedia pada beberapa platform (Windows, Linux, Unix dan lainlain).
Handal, cepat dan mudah digunakan
MySQL tergolong sebagai database server (server yang melayani permintaan terhadap database ) yang handal, dapat menangani database yang besar dengan kecepatan tinggi, mendukung banyak sekaali fungsi untuk mengakses database, dan sekaligus mudah untuk digunakan. Berbagai tool pendukung juga tersedia (walaupun dibuat oleh pihak lain). Perlu diketahui, MySQL dapat menangani sebuah tabel yang berukuran dalam terabyte ( 1terabyte= 1024 gigabyte). Namun ukuran yang sesungguhnya sangat bergantung pada batasan sistem operasi. Sebagai contoh, pada sistem Solaris 9/10, batasan ukuran file sebesar 16 terabyte.
Jaminan keamanan akses
MySQL mendukung pengamanan database dengan berbagai kriteria pengaksesan, sebagai gambaran, dimungkinkan untuk mengatur user tertentu agar bisa mengakses data yang bersifat rahasia (misalnya data tentang gaji pegawai). Sedangkan user lain tidak boleh. MySQL juga mendukung konektivitas ke berbagai software. Sebagai contoh, dengan menggunakan ODBC(Open Database Connectivity), database yang ditangani MySQL dapat diakses melalui program yang dibuat dengan Visual Basic. MySQL juga mendukung program klien yang berbasis Java untuk berkomunikasi dengan database MySQL melalui JDBC( Java Database Connectivity). MySQL juga bisa diakses melalui aplikasi berbasis web; misalnya dengan menggunakan PHP.
30
Dukungan SQL
Seperti tersirat dalam namanya MySQL mendukung perintah SQL (structured Query Language). Sebagaimana diketahui SQL merupakan standar dalam pengaksesan database relasional. Pengetahuan akan SQL akan memudahkan siapa saja untuk menggunaka MySQL. 2.10.4 Macromedia Dreamweaver Menurut Bunafit Nugroho [2008:1] Dreamweaver MX (MX6, MX7, MX 2004 dan MX 8) adalah suatu bentuk program editor web yang dibuat oleh Macromedia dengan alamat web site www.macromedia.com. Dengan program ini, seorang programmer web dapat dengan mudah membuat dan mendesain webnya, karena bersifat WYSIWYG (What You See Is What You Get). Dreamweaver MX dan 8 selain sebagai editor yang lengkap juga dapat digunakan untuk membuat animasi sederhana yang berbentuk layer dengan bantuan JavaScript yang didukungnya. Dengan adanya program ini kita tidak akan sulit untuk mengetik skrip-skrip format HTML, PHP, JSP, ASP, JavaScript, CSS maupun bentuk program lainnya. Sebagai editor, dreamweaver mempunyai sifat-sifat yang WYSIWYG yang artinya apa yang kita lihat pada halaman design, maka semuaanya itu akan kita peroleh pada browser. Dengan kelebihan ini sehingga programmer atau desainer web dapat langsung melihat hasilnya tanpa harus membuka pada browser. 2.10.5 Internet Menurut Jack Febrian [2007: 247] Internet merupakan interconnection networking. The network of the networks. Diartikan sebagai a global network of computer network atau sebuah jaringan komputer dalam skala global/ mendunia. Jaringan komputer ini berskala internasional yang dapat membuat masing-masing komputer saling berkomunikasi. Network ini membentuk jaringan inter-koneksi (Inter-connected
network)
yang
terhubung
melalui
protocol
TCP/IP
.
dikembangkan dan diuji coba pertama kali pada tahun 1969 oleh US Department of Defense dalam proyej ARPnet.
31
2.10.6 Web Menurut Jack Febrian (2008:444) Web adalah suatu sistem di internet yang memungkinkan siapapun agar bisa menyediakan informasi. Dengan menggunakan tekhnologi tersebut informasi dapat diakses dalam 24 jam dalam satu hari dan dikelola oleh mesin. Untuk mengakses informasi yang disediakan web ini diperlukan berbagai perangkat lunak, yang disebut dengan web browser Web browser adalah suatu program computer yang menyediakan fasilitas untuk membaca halaman web di suatu komputer. Dua program web browser yang cukup popular saat ini adalah Microsoft Internet Explorer dan Netscape Navigator. Program pertama adalah mosaic, yang merupakan suatu text browser, dan sekarang web browser telah berkembang ke dalam bentuk multimedia. 2.10.7 Sewa Menyewa Menurut Firdaus Furywardhana (2009:59) Sewa Menyewa dalam bahasa arab itu Ijarah yaitu pemindahan hak guna(manfaat) atas suatu barang dalam waktu tertentu dengan pembayaran sewa, tanpa diikuti dengan pemindahan kepemilikan barang itu sendiri. Dalam sewa menyewa harus ada barang yang disewakan, penyewa, pemberi sewa, imbalan dan kesepakatan antara pemilik barang dan yang menyewa barang. Penyewa dalam mengembalikan barang atau aset yang disewa harus mengembalikan barang secara utuh seperti pertama kali dipinjam tanpa berkurang maupun bertambah, kecuali ada kesepatan lain yang disepakati saat sebelum barang berpindah tangan. 2.10.8 Manajemen aset Secara etimologis, frase ”manajemen aset” terbentuk dari dua kosa kata, yakni manajemen dan aset. Manajemen pada prinsipnya merupakan translasi langsung dari kata management yang berasal dari bahasa inggris yang artinya pengelolaan. Bentukan kata benda management dari kata kerja to manage yang artinya mengurus, mengatur, melaksanakan, memperlakukan, atau mengelola (Muchtar Hidayat:2011:1). 32
Pada konteks penggunaan kosa kata bahasa teknis ilmiah, kata “pengelolaan” tidak begitu popular. Guna menghindari salah pengertian, dan agar
sesuai dengan maknanya sebagai kata bahasa teknis ilmiah, kalangan akademis lebih memilih mengalihbahasakan atau mengindonesiakan kata management menjadi “manajemen”. Adapun yang dimaksud aset, berasal dari kosa kata bahasa Inggris asset secara umum artinya adalah barang (thing) atau sesuatu barang(anything) yang mempunyai: nilai ekonomi(economic value), nilai komersial(commercial value), atau nilai tukar(exchange value). Aset adalah barang , yang dalam pengertian hukum disebut benda, yang terdiri
dari
benda
tidak
bergerak
dan
benda
bergerak,
baik
yang
berwujud(tangiable) maupun yang tidak berwujud(intangiable), yang tercakup dalam aktiva/ aset dari suatu instasi, organisasi, badan usaha ataupun individu perorangan (Muchtar Hidayat:2011:1). Menurut Muchtar Hidayat (2011:6) “ manajemen aset adalah suatu proses yang sistematis guna memelihara, memperbaharui, dan mengoperasikan denga biata efektif secara fisik”. Dapat disimpulkan bahwa manajemen aset mencakup proses perencanaan dan monitoring aset-aset fisik selama umur penggunaanya oleh suatu departemen atau bagian (unit, biro) organisasi. Manajemen aset lebih merupakan suatu kerangaka konseptual daripada suatu benda(barang). Konsep dasar manajemen aset berbasis pada tiga hal: 1. Tujuan bisnis yang merupakan arah keputusan berdasarkan pada kegunaan dan kepedulian tehadap aset peralatan. 2. Strategi aset yang ditentukan berdasarkan pada pertimbangan operasional. 3. Perawatan dan reliabilitas berdasarkan pada tujuan yang telah ditetapkan. Tujuan utama dari manajemen aset adalah membantu suatu entitas (organisasi) dalam memenuhi tujuan penyediaan pelayanan secara efektif dan efisien. Hal ini mencakup panduan pengadaanm penggunaan, dan panghapusan aset, dan pengaturan resiko dan biaya yang terkait selama siklus hidup aset. 33
Agar efektif, manajemen aset perlu dipertimbangkan sebagai aktivitas yang komprehensif dan multi disiplin yang terkait dengan banyak factor, antara lain:
1. Siklus hidup aset dan prinsip-prinsip manajemen aset 2. Kebutuhan dari para pengguna aset 3. Kebijakan dan peraturan perundangan 4. Kerangka manajemen dan perencanaan organisasi 5. Kelayakan teknis dan kelangsungan komersial 6. Pengaruh eksternal/pasar (seperti komersial, tekhnologi, lingkungan, dan insdustri) Persaingan permintaan dari para stakeholder dan kebutuhan merasionalisasikan operasi untuk memperbaiki pemberian petayanan atau untuk meningkatkan keefektifan biaya.
34