BAB II
LANDASAN TEORI
2.1
Konsep Dasar Monitoring Pelaksanaan Proyek
2.1.1 Pengertian Monitoring Menurut buku (Petunjuk Teknis Monitoring Dan Evaluasi, 2013) yang dikeluarkan Kemendikbud “Monitoring adalah adalah upaya pengumpulan informasi berkelanjutan yang ditujukan untuk memberikan informasi kepada pengelola program dan pemangku kepentingan tentang indikasi awal kemajuan dan kekurangan pelaksanaan program dalam rangka perbaikan untuk mencapai tujuan program”. Tujuan monitoring adalah memberikan gambaran lengkap tentang implementasi program, terutama untuk mengetahui ketercapaian dari pelaksanaan program dan mengetahui kekuatan, kelemahan, peluang dan hambatan yang terjadi sehingga Informasi ini berguna bagi pengambil keputusan untuk melakukan penyesuaian dan perbaikan guna mencapai target yang telah ditetapkan secara efektif dan efisien. Prinsip Monitoring : 1. Terencana: bahwa pelaksanaan monitoring dilakukan berdasarkan perencanaan yang matang dan terjadwal. 2. Objektif: bahwa pelaksanaan monitoring sesuai kondisi yang ada di lapangan, dan didasarkan pada standar/ kriteria/pedoman/juknis/juklak yang ada. 3. Dapat dipertanggung jawabkan: bahwa pelaksanaan monitoring dilakukan
sesuai dengan prosedur dan metode yang tepat sehingga hasilnya dapat dipertanggung jawabkan.
6
7
4. Berkesinambungan: bahwa pelaksanaan monitoring dilakukan secara bertahap, terus-menerus dan berkelanjutan. 5. Transparan:pelaksanaan monitoring dilaksanakan secara terbuka dan hasilnya dapat diakses oleh berbagai pihak. 6. Efektif dan efisien dalam penggunaan dana, waktu dan tenaga. 2.1.2 Pengertian Manajemen Proyek Menurut (Shalahuddin, 2011, p. 202) Proyek adalah urutan kegiatan yang unik, kompleks dan saling terkait, memiliki satu tujuan dan tujuan harus diselesaikan dalam waktu tertentu, sesuai anggaran dan memenuhi spesifikasi. Manajemen/pengelolaan proyek perangkat lunak bertujuan agar perangkat lunak yang dibuat sampai ke tangan pelanggan (customer) tepat waktu dan sesuai dengan harapan pelanggan (customer) Proyek perangkat lunak dapat didapatkan dari proses-proses berikut: Memiliki koneksi atau rekan yang sedang membutuhkan rekanan untuk mengerjakan proyek teknologi informasi (Information Technology(IT)). Mencari proyek perangkat lunak dari internet. Beberapa situs luar negri menyediakan iklan para pencari rekanan proyek perangkat lunak untuk mengerjakan perangkat lunak yang mereka butuhkan. Pihak swasta yang sedang membutuhkan rekanan untuk mengerjakan proyek teknologi informasi (Information Technology(IT)). Penunjukan langsung dari instansi pemerintah yang sedang membutuhkan rekanan untuk mengerjakan proyek teknologi informasi (Information Technology(IT)). Proses pelelangan oleh instansi pemerintah yang membutuhkan rekanan untuk mengerjakan proyek teknologi informasi (Information Technology(IT)). Macam-macam proyek IT yang dapat diperoleh adalah sebagai berikut: Pengadaan perangkat keras (hardware). Pengembangan perangkat lunak (software). Pemeliharaan perangkat lunak (software). Konsultasi IT (biasamya dilakukan oleh konsultan IT)
8
Manajemen
proyek
perangkat
lunak
sangat
dibutuhkan
karena
permasalahan yang sering timbul pada proyek perangkat lunak tanpa pengelolaan yang baik adalah pembengkakan biaya proyek dan waktu pengerjaan tidak sesuai rencana (molor waktu). Padahal waktu dan biaya biasanya sudah dianggarkan oleh pelanggan (customer) dan developer perangkat lunak harus mampu mengelolanya agar target perangkat lunak yang akan dibuat dapat dicapai. Objek-objek yang harus dikelola dalam sebuah proyek perangkat lunak adalah sebagai berikut: Orang : orang di sini mengacu pada anggota tim pengembang perangkat lunak Produk : produk di sini adalah perangkat lunak yang akan dihasilkan dari proses pengembangan. Proses : proses di sini adalah proses pengembangan perangkat lunak Proyek : proyek disini adalah proyek perangkat lunak itu sendiri agar berjalan dengan baik dan memenuhi target yang diinginkan. 2.1.3 Analisis Biaya Proyek Mursyidi (Mursyidi, 2008, p. 14) menyatakan bahwa : “Biaya diartikan sebagai suatu pengorbanan yang dapat mengurangi kas atau harta lainnya untuk mencapai tujuan, baik yang dapat dibebankan pada saat ini maupun pada saat yang akan datang.” Selanjutnya pengertian biaya dikemukakan oleh (Prawironegoro, 2009, p. 19) bahwa ” Biaya merupakan pengorbanan untuk memperoleh harta, sedangkan beban merupakan pengorbanan untuk memperoleh pendapatan. Kedua merupakan pengorbanan, namun tujuannya berbeda. 2.2
Konsep Dasar Sistem Sebelum merumuskan tentang system informasi perlu untuk menjelaskan
pengertian-pengertian sebagai berikut :
9
2.2.1 Pengertian Sistem Menurut (Sutabri, 2012, p. 3), secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur, komponen atau variabel yang terorganisir, saling berinteraksi, saling tergantung satu sama lain dan terpadu. Teori sistem melahirkan konsep-konsep futuristik. Salah satu konsep yang terkenal adalah konsep sibernetika (cybernetics). Konsep bidang kajian ilmiah ini terutama berkaitan dengan upaya menerapkan berbagai disiplin ilmu, yaitu ilmu perilaku, fisika, biologi dan teknik. Oleh karena itu, sibernetika biasanya berkaitan dengan usaha-usaha otomasi tugas-tugas yang dilakukan oleh manusia sehingga melahirkan studi tentang robotika, kecerdasan buatan (artificaial intelegance) dan hal lainnya adalah masukan (input), pengolahan dan keluaran (output). 2.2.2 Karakteristik Sistem Model umum sebuah sistem terdiri dari input, proses dan output. Hal ini merupakan konsep sebuah sistem yang sangat sederhana mengingat sebuah sistem dapat mempunyai beberapa masukan dan keluaran sekaligus. Selain itu sebuah sistem juga memiliki karakteristik atau sifat-sifat tertentu, yang mencirikan bahwa hal tersebut bisa dikatakan sebagai suatu sistem. Adapun karakteristik yang dimaksud adalah sebagai berikut: 1. Komponen Sistem (Components) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, artinya saling bekerja sama membentuk satu kesatuan. Komponen-komponen sistem tersebut dapat berupa suatu bentuk sub-sistem. Setiap subsistem memiliki sifat dari sistem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. 2. Batasan Sistem (Boundary) Ruang lingkup sistem merupakan daerah yang membatasi antara sistem dengan sistem yang lain atau sistem dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan yang tidak dapat dipisahkan. 3. Lingkungan Luar Sistem (Environtment)
10
Bentuk apapun yang ada di luar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem tersebut disebut lingkungan luar sistem. Lingkungan luar sistem ini dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. 4. Penghubung Sistem (Interface) Media yang menghubungkan sistem dengan subsistem lain disebut penghubung sistem atau interface. Penghubung ini memungkinkan sumbersumber daya mengalir dari satu subsistem ke subsistem lain. Bentuk keluaran dari satu subsistem akan menjadi masukan untuk subsistem lain melalui penghubung tersebut. Dengan demikian, dapat terjadi suatu integrasi sistem yang membentuk satu kesatuan. 5. Masukan Sistem (Input) Energi yang dimasukkan ke dalam sistem disebut masukan sistem, yang dapat berupa pemeliharaan (maintenance input) dan sinyal (signal input). Contoh, di dalam suatu unit sistem komputer, “program” adalah maintenance input yang digunakan untuk mengoperasikan komputernya dan “data” adalah signal input untuk diolah menjadi informasi. 6. Keluaran Sistem (Output) Hasil energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran ini bisa merupakan masukan bagi subsistem yang lain seperti sistem informasi. Keluaran yang dihasilkan adalah informasi. 7. Pengolah Sistem (Proses) Suatu sistem dapat mempunyai suatu proses yang akan megubah masukan manjadi keluaran, contohnya adalah sistem akuntansi. Sistem ini akan mengolah data
transaksi menjadi laporan-laporan yang dibutuhkan oleh
pihak manajemen. 8. Sasaran Sistem (Objective) Suatu sistem memiliki tujuan dan sasaran yang pasti dan bersifat deterministic. Kalau suatu sistem tidak memiliki sasaran maka operasi sistem tidak ada gunanya. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuan yang telah direncanakan.
11
2.2.3 Klasifikasi Sistem Sistem merupakan suatu bentuk integrasi antara satu komponen dengan komponen lain karena sistem memiliki sasaran yang berbeda untuk setiap kasus yang terjadi yang ada di dalam sistem tersebut. Oleh karena itu, sistem dapat diklasifikasikan dari beberapa sudut pandang, di antaranya : 1. Sistem abstrak dan sistem fisik Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fiisik. Sedangkan sistem fisik merupakan sistem yang ada secara fisik. 2. Sistem alamiah dan sistem buatan manusia Sistem alamiah adalah sistem yang terjadi melaui proses alam, tidak dibuat oleh manusia. Sedangkan sistem buatan manusia merupakan sistem yang melibatkan interaksi manusia dengan mesin yang disebut human machine sistem. 3. Sistem determinasi dan sistem probabilistik Sistem yang beroperasi dengan tingkah laku yang dapat diprediksi disebut sistem deterministic. Sedangkan sistem bersifat probabilistik adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilistic. 4. Sistem terbuka dan sistem tertutup Sistem tertutup merupakan sistem yang tidak berhubungan dan tidak terpengaruh oleh lingkungan luarnya. Sedangkan sistem terbuka adalah sistem yang berhubungan dan dipengaruhi oleh lingkungan luarnya. 2.3
Konsep Dasar Informasi Informasi merupakan proses lebih lanjut dari data yang sudah memiliki
nilai tambah. Informasi dapat dikelompokkan menjadi 3 bagian, yaitu: a. Informasi
Strategis.
Informasi
ini
digunakan untukmengambil
keputusan jangka panjang, yang mencakup informasi eksternal, rencana perluasan perusahaan, dan sebagainya.
12
b. Informasi Taktis. Informasi ini dibutuhkan untuk mengambil keputusan jangka menengah, seperti informasi tren penjualan yang dapat dimanfaatkan untuk menyusun rencana penjualan. c. Informasi Teknis.
Informasi
ini
dibutuhkan untuk keperluan
operasional sehari-hari, seperti informasi persediaan stok, retur penjualan dan laporan khas harian. 2.3.1 Pengertian Informasi Menurut (Sutabri, 2012, p. 22) “Informasi adalah data yang telah diklasifikasi atau diinterpretasi untuk digunakan dalam proses pengambilan keputusan”. Sistem pengolahan informasi mengolah data menjadi informasi atau tepatnya mengolah data dari bentuk tak berguna menjadi berguna bagi penerimanya. 2.3.2 Kualitas Informasi Menurut (Sutabri, 2012, p. 33) kualitas dari suatu informasi tergantung dari 3 (tiga) hal, yaitu informasi harus akurat (accurate), tepat waktu (timelines) dan relevan (relevance). 1. Akurat (accurate) Informasi harus bebas dari kesalahan-kesalahan dan tidak bias atau menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya. 2. Tepat waktu (timeline) Informasi yang datang pada si penerima tidak boleh terlambat. Informasi yang sudah usang tidak akan mempunyai nilai lagi karena informasi merupakan landasan dalam pengambilan keputusan. 3. Relevan (relevance) Informasi tersebut mempunyai manfaat untuk pemakainya. Relevansi informasi untuk orang satu dengan yang lain berbeda. 4. Ekonomis (economy)
13
Informasi yang dihasilkan mempunyai daya jual yang tinggi serta biaya operasinal untuk menghasilkan informasi tersebut minimal, informasi tersebut juga mampu memberikan dampak yang luas terhadap laju pertumbuhan ekonomi dan teknologi informasi. 5. Efisien (efficiency) Informasi yang berkualitas memiliki sintaks ataupun kalimat yang sederhana (tidak berbelit-belit), namun mampu memberikan makna dan hasil. 6. Dapat dipercaya (reliability) Informasi tersebut berasal dari sumber yang dapat dipercaya. Sumber tersebut juga telah teruji tingkat kebenarannya. Misalkan output suatu program komputer, bisa dikategorikan sebagai reliability karena program komputer akan memberikan output sesuai dengan input yang diberikan. 2.4
Konsep Dasar Sistem Informasi
2.4.1 Pengertian Sistem Informasi Sistem informasi adalah suatu sistem di 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 (Sutabri, 2012, p. 38) . 2.4.2 Komponen Dan Tipe Sistem Informasi Sistem informasi terdiri dari komponen-komponen yang disebut dengan istilah blok bangunan (building block), yang terdiri dari blok masukan, blok model, blok keluaran, blok teknologi, blok basis data dan blok kendali. Sebagai suatu sistem, keenam blok tersebut saling berinteraksi satu dengan yang lain membentuk satu kesatuan untuk mencapai sasaran. 1. Blok masukan (input block) Input mewakili data yang masuk ke dalam sistem informasi. Input yang dimaksud adalah metode dan media untuk menangkap data yang akan dimasukan, yang dapat berupa dokumen-dokumen dasar. 2. Blok model (model block)
14
Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi data input dan data tersimpan di basisdata dengan cara tertentu untuk menghasilkan keluaran yang diinginkan. 3. Blok keluaran (output block) Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. 4. Blok teknologi (technology block) Teknologi merupakan “tool box” dalam sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirim keluaran dan membantu pengendalian dari sistem secara keseluruhan. 5. Blok basis data (database block) Basis data (database) merupakan kumpulan data yang saling berkaitan dan berhubungan satu sama lain, tersimpan di perangkat keras komputer dan menggunakan perangkat lunak untuk memanipulasinya. 6. Blok kendali (control block) Banyak hal yang dapat merusak sistem informasi, seperti bencana alam, api, temperature, air, debu, kecurangan-kecurangan, kegagalan-kegagalan sistem itu sendiri, ketidak efisienan, sabotase dan lain sebaginya. Beberapa pengendalian perlu dirancang dan diterapkan untuk menyakinkan bahwa halhal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi maka kesalahan-kesalahan dapat langsung cepat diatasi. 2.5
Konsep Dasar Basis Data
2.5.1 Pengertian Basis Data Basis data didefinisikan sebagai kumpulan terorganisasi dari data-data yang berhubungan sedemikian rupa sehingga mudah disimpan, dimanipulasi serta dipanggil oleh pengguna (Nugroho A. , Perancangan dan Implementasi Sistem Basis Data, 2011, p. 5).
15
2.5.2 Sistem Basis Data Sistem basisdata dapat terbagi dalam beberapa komponen penting,yakni: 1.
Data Merupakan informasi yang disimpan dalam suatu struktur tertentu yang terintegrasi.
2.
Hardware Merupakan perangkat keras berupa komputer dengan media penyimpanan sekunder yang digunakan untuk menyimpan data karena pada umumnya basis data memiliki ukuran yang besar.
3.
Sistem Operasi Program yang mengaktifkan/memfungsikan sistem komputer, mengendalikan seluruh sumber daya dalam komputer dan melakukan operasi-operasi dasar dalam komputer yang meliputi operasi input output (IO), pengelolaan file dan sebagainya.
4.
Basis Data Basis data sebagai inti dari sistem basis data. Basis data menyimpan data serta struktur sistem basis data baik untuk entitas maupun objek-objeknya secara detail.
5.
Database Management System (DBMS) Merupakan perangkat lunak yang digunakan untuk melakukan pengelolaan basis data.
6.
User Merupakan pengguna yang menggunakan data yang tersimpan dan terkelola.
7.
Aplikasi Lain Program yang dibuat untuk memberikan interface kepada user sehingga lebih mudah dan terkontrol dalam mengakses basis data.
2.5.3 Perancangan Basis Data Perancangan basis data merupakan tahap merancang spesifikasi basis data yang akan diterapkan oleh sistem. Aktifitas perancangan basis data akan mentrasformasikan spesifikasi kebutuhan untuk tempat penyimpanan data yang
16
akan dikembangkan selama analisis basis data ke dalam spesifikasi terstuktur untuk memandu implementasi langsung basis data. Ada 3 tahapan atau bentuk spesifikasi perancangan basis data, yakni : 1. Perancangan basis data konseptual Merupakan upaya untuk membuat model yang masih bersifat konsep. Perancangan basis data secara konseptual terdiri dari tiga langkah, yaitu: a. Penentuan entitas pada basis data b. Pendefinisian hubungan antar entitas c. Penerjemahan hubungan ke dalam entitas 2. Perancangan basis data secara logika Sasaran perancangan basis data secara logika untuk menterjemahkan perancangan konseptual (yang mencerminkan kebutuhan data pada organisasi yang kita analisis di tahap-tahap sebelumnya) ke perancangan basis data logika yang dapat langung di implementasikan pada sistem basis data yag dipilih. 3. Perancangan basis data secara fisik Merupakan tahapan untuk menuangkan basis data yang bersifat logis menjadi basis data fisik yang tersimpan pada media penyimpanan eksternal. Sasaran utama perancangan basis data secara fisik adalah meningkatkan efisiensi dalam pemrosesan basis data. Perancangan basis data secara fisik membutuhkan beberapa pilihan kritis yang akan berimbas pada integritas dan kinerja dari aplikasi termasuk diantaranya pemilihan DBMS yang spesifik. Kunci-kunci untuk melakukan pilihan-pilihan mencangkup : a. Pemilihan format penyimpanan (dinamakan tipe data) untuk tiap atribut dari model data logika. Format dipilih untuk meminimalisasi dan mengoptimalkan penggunaan ruang fisik dan untuk memaksimalkan integritas data. b. Pengelompokan atribut-atribut dari model data logika ke-rekaman fisik. c. Perancangan rekaman-rekaman pada memori sekunder (terutama hardisk) sehingga rekaman-rekaman secara individual maupun kelompok rekaman (kita namakan pengorganisasian berkas) dapat disimpan, dipanggil kembali serta diperbaharui dengan cepat.
17
d. Memilih struktur (dinamakan indeks dan arsitektur basis data) untuk menyimpan
dan
menghubungkan
berkas-berkas
(file)
sehingga
pemanggilan data berlangsung dengan cara yang efisien. e. Menyiapkan strategi-strategi untuk menangani query pada basis data dengan tujuan mengoptimalisasikan kinerja basis data dalam menangani query. 2.6
Alat Bantu Pengembangan (Tools)
2.6.1 Unified Modeling Language (UML) Unifield Modeling Language (UML) adalah bahasa untuk menspesifikasi, menvisualisasikan serta mengonstruksi bangunan dasar sistem perangkat lunak, termasuk melibatkan pemodelan aturan-aturan bisnis (Nugroho A. , Rekayasa Perangkat Lunak Menggunakan UML dan Java, 2010, p. 119). Definisi UML menurut (M.Shalahuddin, 2011, p. 118) “UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah system dengan menggunakan diagram dan teks-teks pendukung”. UML disebut sebagai bahasa pemodelan bukan metode. Bahasa pemodelan (sebagaian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat. Bahasa pemodelan merupakan bagian terpenting dari metode. UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat lunak. Tujuan UML diantaranya adalah : 1. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan sistem dan yang dapat saling menukar model dengan mudah dan dimengerti secara umum. 2. Memberikan
bahasa
pemodelan
yang
bebas
dari
berbagai
pemrograman dan proses rekayasa. 3. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
bahasa
18
2.6.1.1
Diagram UML UML biasanya disajikan dalam bentuk diagram/gambar yang meliputi
class beserta atribut dan operasinya, serta hubungan antar class. UML terdiri dari banyak diagram, diantaranya : 1. Use Case Diagram Menurut (M.Shalahuddin, 2011, p. 130) definisi use case diagram adalah pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat dan mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan system informasi yang akan dibuat. Tabel 2.1 Simbol Use Case Diagram Simbol Use case
Deskripsi Fungsionalitas yang disediakan sistem
nama Use Case
sebagai unit-unit yang saling bertukar pesan antar unit atau actor, biasanya dinyatakan dengan menggunakan kata kerja diawal frase nama use case
Aktor / actor
Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat
itu sendiri,
jadi
walaupun symbol dari actor adalah nama aktor
gambar orang, tapi actor belum tentu merupakan orang: biasanya dinyatakan menggunakan kata benda di awal frase nama aktor Association
Komunikasi antar actor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor
Extensi / Extend
Relasi usecase tambahan ke sebuah use case dimana use case yang ditambahkan
19
«extends»
dapat berdiri sendiri walau tanpa usecase tambahan itu, mirip dengan prinsip inheritance
pada
pemrograman
berorientasi objek. Biasanya use case tambahan memiliki nama depan yang ditambahkan. Misal: validasi username «extends»
validasi user «extends»
validasi sidik jari
Arah panah mengarah pada use case yang ditambahkan Generalisasi/generalization
Hubungan generalisasi dan spesialisasi (umum-khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari yang lainnya, misalnya: Ubah data
Mengelola data
Hapus data
Arah panah mengarah pada use case yang menjadi generalisasinya (umum). Menggunakan include / Uses
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan
20
«include»
«uses»
memerlukan use case ini utk menjalankan fungsinya atau sebagai syarat
yang
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 missal pada kasus berikut: validasi username «include»
login
Include berarti use case yang tambahan akan selalu melakukan pengecekan apakah use case yang ditambahkan sebelum
telah
use
case
dijalankan tambahan
dijalankan, missal pada kasus berikut: validasi user «include»
ubah data
Kedua interpretasi di atas dapat dianut salah satu atau keduanya tergantung
pada
pertimbangan
dan interpretasi yang dibutuhkan.
21
Sumber : Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek (Rosa, Salahuddin (2013:131)) 2. Activity Diagram Definisi diagram aktivitas atau activity diagram menurut Rosa, Salahuddin (2011 : 134) adalah diagram yang menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan actor, jadi aktivitas yang dapat dilakukan oleh sistem. Tabel 2.2 Simbol Activity Diagram Simbol
Deskripsi
Status Awal
Status awal aktivitas sistem, sebuah
diagram
aktivitas
memiliki sebuah status awal Aktivitas
Aktivitas
yang
dilakukan
sistem, sebuah diagram aktivitas Aktivitas
biasanya diawali dengan kata kerja
Percabangan/Decision
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu
Penggabungan/join
Asosiasi penggabungan dimana lebih
dari
satu
aktivitas
digabungkan menjadi satu
Status Akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir
22
Swimlane
Memisahkan organisasi bisnis yang nama swimlane
bertanggung
jawab
terhadap aktivitas yang terjadi
Sumber : Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek (Rosa, Salahuddin(2011:134)) Petugas Perpustakaan
Pengunjung / Anggota Perpustakaan
Mencari Pustaka
Login
Menampilkan Menu
Mengelola Pustaka
Mengelola pinjaman
Mengelola Anggota
Sumber : Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek (Rosa, Salahuddin(2011:178)) Gambar 2.1 Contoh Activity Diagram
23
3. Sequence Diagram Menurut
(M.Shalahuddin,
2011,
p.
137)
Diagram
sequence
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 sequence maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Tabel 2.3 Simbol Sequence Diagram Simbol Aktor
Keterangan Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun symbol dari actor adalah gambar orang,
nama aktor
atau
nama aktor
tapi actor belum tentu merupakan orang: biasanya dinyatakan menggunakan kata benda di awal frase nama aktor
Garis hidup / lifeline
Menyatakan kehidupan suatu objek
Objek
Menyatakan
objek
yang
berinteraksi
pesan nama objek:nama kelas
Waktu aktif
Menyatakan objek dalam keadaan aktif dan berinteraksi pesan
24
Pesan tipe create << create >> 1
Menyatakan suatu objek membuat objek lain, arah panah mengarah pada objek yang dibuat
Pesan tipe call 1: nama_metode()
Menyatakan
suatu
objek
memanggil
operasi/metode yang ada pada objek lain atau diri sendiri, Object1
Message1 1: nama_metode()
Arah panah mengarah pada objek yang memiliki
operasi/metode,
memanggil
karena
operasi/metode
ini maka
operasi/metode yang dipanggil harus ada pada diagram kelas sesuai dengan kelas objek yang berinteraksi Pesan tipe send 1: masukan
Menyatakan
bahwa
suatu
objek
mengirimkan data/masukan/informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimi
Pesan tipe return 1:keluaran
Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian
25
Pesan tipe destroy
Menyatakan
suatu
objek
mengakhiri
hidup objek yang lain, arah panah
Object2
mengarah pada objek yang diakhiri,
<<destroy>>
sebaiknya jika ada create maka ada destroy.
Sumber : Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek (Rosa, Salahuddin(2011:138))
Petugas Perpustakaan
main : Main
login : Login
<< create >> 1
2: username dan password 3: validasiLogin() 4: true / false validasi 5: pesan tidak valid jika tidak valid
Sumber : Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek (Rosa, Salahuddin(2011:164)) Gambar 2.2 Contoh Sequence Diagram 4. Class Diagram Menurut (M.Shalahuddin, 2011, p. 122) diagram kelas atau class diagram adalah suatu diagram yang menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Class diagram dibangun berdasarkan use case diagram, sequence diagram atau collaboration diagram yang telah dibuat sebelumnya. Diagram class
26
memberikan pandangan secara luas dari suatu system dengan menunjukan kelaskelasnya dan hubungan mereka. Diagram class bersifat statis, menggambarkan hubungan apa yang terjadi bukan apa yang terjadi jika mereka berhubungan. Tabel 2.4 Simbol Class Diagram Simbol Kelas
Deskripsi Kelas pada struktur sistem
nama_kelas -atribut +operasi()
Antarmuka /interface
Sama
dengan konsep
interface
dalam pemrograman berorientasi objek Asosiasi / association
Relasi antar kelas dengan makna umum,
asosiasi
biasanya
juga
disertai dengan multiplicity Asosiasi berarah / directed association
Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity
Generalisasi
Relasi antar kelas dengan makna generalisasi-spesialisasi
(umum-
khusus) Kebergantungan / dependency
Relasi antar kelas dengan makna kebergantungan antar kelas
Agregasi / aggregation
Relasi antar kelas dengan makna semua-bagian (whole-part)
27
Sumber : Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek (Rosa, Salahuddin(2011:123))
2.6.2 XAMPP Menurut (Nugroho B. , 2008, p. 2) XAMPP adalah satu bundle web server yang populer digunakan untuk coba – coba di Windows karena kemudahan instalasinya. Bundel program open source tersebut berisi antara lain server web Apache, Interpreter PHP dan basis data MySQL. Setelah menginstall XAMPP, kita bisa memulai pemrograman PHP di computer sendiri maupun mencoba menginstall aplikasi – aplikasi web. Menurut (Riyanto, 2010, p. 1) XAMPP merupakan paket PHP dan MySQL berbasis
open
source,
yang
dapat
digunakan
sebagai
tool pembantu
pengembangan aplikasi berbasis PHP. XAMPP mengombinasikan beberapa paket perangkat lunak berbeda ke dalam satu paket. 2.6.3 PHP
2.6.3.1
Pengertian PHP PHP atau yang memiliki kepanjangan PHP Hypertext Preprocessor
merupakan suatu bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis, (Saputra, 2012, p. 1). PHP menyatu dengan kode HTML, maksudnya adalah beda kondisi. HTML digunakan sebagai pembangun atau pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, web akan sangat mudah di-maintenance. PHP berjalan pada sisi server sehingga PHP disebut juga sebagai bahasa Server Side Scripting. Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya web server. PHP ini bersifat open source sehingga dapat dipakai secara cuma-cuma dan mampu lintas platform, yaitu dapatberjalan pada system Operasi Windows maupun Linux, PHP juga dibangun sebagai modul pada web server apache dan binary yang dapat berjalan sebagai CGI.
28
Di kutip dari buku (Aplikasi Web Database Dengan Dreamweaver dan PHP MySql, 2011, hal. 11) PHP (PHP Hypertext Preprocessor ) adalah bahasa pemograman yang berjalan dalam sebuah webserver dan berfungsi sebagai pengolah data pada sebuah server. Dengan menggunkan program PHP, sebuah website akan lebih interaktif dan dinamis. PHP adalah script pemograman yang terletak dan dieksekusi di server. Salah satunya adalah untuk menerima, menolah dan menampilkan data dari dan sebuah situs. Data akan diolah ke sebuah database server (program yang terletak di sisi server, contoh : MySQL). Dikutip dari buku (Dreamweaver CS 5 PHP MySQL Untuk Pemula, 2011, hal. 216) PHP atau yang memiliki kepanjangan PHP Hypertext Preprocessor merupakan salah satu bahasa pemograman yang berjalan dalam sebuah webserver dan berfungsi sebagai pengolah data pada sebuah server. PHP menyatu dengan kode HTML, maksudnya adalah beda kondisi. HTML digunakan sebagai pembangun atau pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, web akan sangat mudah di-maintenance. 2.6.3.2
Tipe Data PHP PHP mengenal beberapa macam tipe data. Tipe data ini sangat berperan
penting pada saat pengolahan data yang tersimpan dalam sebuah variabel. Tabel 2.1 menjelaskan tipe data- tipe data yang terdapat pada PHP (Amin, 2010, p. 14). Tabel 2.5 Tipe Data PHP Tipe data Integer
Floatin point
Keterangan
Contoh
Dipergunakan untuk menyimpan
$nomor = 1;
data numerik berupa bilangan bulat
$jumlah = 100;
Dipergunakan untuk menyimpan tipe
$persen=0.05;
data numerik yang mengandung nilai
$bunga=0.1;
desimal atau pecahan String
Dipergunakan untuk menyimpan tipe
$nama= Agus;
29
data teks dan biasanya tidak
$nope = 0817xx;
dipergunakan untuk operasi aritmatika Array
Dipergunakan untuk menyimpan
$anak[0]=”sifa”;
data dengan nama variabel yang
$anak[1]=”lana”;
sama tetapi memiliki ruang yang
$anak[2]=”juki”;
lebih dari satu dengan diidentifikasi sebagai indeks Object
Tipe data objek lahir karena PHP
$ayah->nama=”amin”;
mendukung pemrograman
$ayah->umur=”27”;
berorientasi objek Juggling/variant
Tipe data ini dibentuk ketika
$bilangan=0;
membuat sebuah variabel tanpa
$bilangan=”bulat”;
didefinisikan tipe datanya
2.6.3.3
Keunggulan PHP Ada beberapa alasan yang menjadi dasar pertimbangan mengapa
menggunakan PHP. 1. Mudah dipelajari, alasan tersebut menjadi salah satu alasan utama untuk menggunakan PHP, pemula pun akan mampu untuk menjadi web master PHP. 2. Fleksibilitas yang tinggi, menyamai High Level Programming Language 3. Mampu lintas platform, artinya PHP dapat/mudah diaplikasikan ke berbagai platform OS (Operating System) dan hampir semua browser juga mendukung PHP. 4. Free alias gratis (Open Source).
30
5. Sintaks mirip bahasa C dan mudah dipelajari 2.6.3.4
Kekurangan PHP
1.
Tidak detail untuk pengembangan skala besar
2.
Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya.
3.
Tidak bisa memisahkan antara tampilan dengan logic dengan baik.
4.
PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam melakukan pemrogaman dan kurang memperhatikan isu konfigurasi PHP.
5.
Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool yang mahal dari Zend.
2.6.4 Pengenalan DBMS MySQL Pada bagian ini dijelaskan tentang pengertian, dan keunggulan MySQL. 2.6.4.1
Pengertian MySQL Kutipan dari buku (Dreamweaver CS 5 PHP MySQL Untuk Pemula, 2011,
hal. 288) Salah satu database untuk server adalah MySQL, jenis database ini sangat popular dan digunakan banyak website sebagai bank data. Selain itu, MySQL dapat berjalan diberbagai platform, antara lain Linux dan Windows. Menurut (Arief, 2011, p. 37) MySQL adalah salah satu jenis database server yang sangat terkenal dan banyak digunakan untuk membangun aplikasi web yang
menggunakan database sebagai sumber dan pengelolaan datanya.
MySQL merupakan database yang didukung oleh bahasa pemrogaman script untuk internet. MySQL dan PHP dianggap sebagai pasangan software pengembagan aplikasi web yang ideal, MySQL lebih sering digunakan untuk membanguun aplikasi berbasis web dan untuk pengembangannya menggunakan bahasa pemrogaman script PHP. 2.6.4.2
Keunggulan MySQL MySQL memiliki beberapa keunggulan, antara lain:
31
1. Portabilitas: MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. 2. Open source software: MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis. 3. Multi-user: MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 4. Performance tuning: MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 5. Ragam tipe data: MySQL memiliki ragam tipe data yang sangat kaya, seperti signed atau unsigned integer, float, double, char, text, date, timestamp, dan lain-lain. 2.6.5 Macromedia Dreamwaver 8 Menurut (Gunawan, 2010, p. 10) Macromedia Dreamweaver adalah sebuah program aplikasi HTML authoring, yaitu sebuah aplikasi yang digunakan untuk membuat situs web atau mendesain halaman web, baik untuk desain, coding, pembuatan situs web yang kompleks dan aplikasi web lainnya secara visual. Versi terbaru dari aplikasi ini adalah Macromedia Dreamweaver Versi 8 Professional yang lebih lengkap dalam menangani pembuatan web yang kompleks. Macromedia Dreamweaver 8 ini style CSS dapat dibuat menggunakan panel CSS baru yang menyediakan kemudahan bagi pengguna dalam membuat dan mengedit style CSS secara visual dan lebih mudah untuk dipahami. Aplikasi pada Dreamweaver juga dapat memungkinkan untuk dapat membuat sebuah aplikasi dinamis dengan database menggunakan bahasa server seperti CFML, ASP.NET, ASP, JSP dan PHP. CSS atau Cassading Style adalah sebuah dokumen yang berisi aturan yang digunakan untuk memisahkan isi dengan layout dalam halam-halaman web yang dibuat.
32
2.7
Metodologi Pengembangan Sistem
2.7.1 Metode Waterfall Menurut (M.Shalahuddin, 2011, p. 26) model SDLC air terjun (waterfall) sering disebut model sekuensial linier (sequential linear) atau alaur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian dan tahap pendukung (support)”. Berikut adalah gambar model air terjun :
Sistem/Rekayasa Informasi Analisis
Desain
Pengodea n
Pengujian
Sumber : Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek (Rosa, Salahudin (2011:27)) Gambar 2.3 Ilustrasi Model Waterfall Analisis kebutuhan perangkat lunak Proses
pengumpulan kebutuhan dilakukan
secara
intensif
untuk
menspesifikasikan kebutuhan perangkat lunak agar dpt dipahami perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan. Desain Desain perangkat lunak adalah proses multilangkah yang focus pada desain pembuatan program perangkat lunak termasuk struktur data,
33
arsitektur perangkat
lunak,
representasi antarmuka dan prosedur
pengodean. 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 desain. Pengujian Pengujian focus pada perangkat lunak secara dari segi logic dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan yang dihasilkan sesuai dengan yang diinginkan
Identifikasi Proyek & Seleksi
Inisiasi Proyek & Prencanaan
Analisis
Perancangan Logika
Perancangan Fisik
Implementasi
Pemeliharaan
Sumber : (Adi Nugroho, 2010: 41) Gambar 2.4 Siklus Hidup Pengembangan Sistem (SDLC) Waterfall
34
1.
Identifikasi proyek dan seleksi Tujuannya yaitu pemahaman awal situasi bisnis.
2.
Inisiasi proyek dan perencanaan Tujuannya untuk menentukan spesifikasi kebutuhan dan bagaimana sistem dapat membantu menyelesaikan permasalahan.
3.
Analisis Tujuannya untuk menganalisis situasi bisnis untuk menspesifikasikan dan menstrukturkan kebutuhan pengguna dan meyeleksi fitur.
4.
Perancangan Logika Tujuannya untuk mendapatkan dan menstrukturkan kebutuhan sistem secara keseluruhan.
5.
Perancangan Fisik Tujuannya yaitu mengembangkan spesifikasi teknologi.
6.
Implementasi Tujuannya untuk menulis program, membuat basisdata, menginstal dan menguji sistem.
7.
Pemeliharaan Tujuannya yaitu memantau kegunaan atau fungsi sistem.
2.8
Metode Pengujian Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi
sebuah perangkat lunak secara manual maupun otomatis untuk mencari kesalahan dan menguji apakah perangkat lunak sudah memenuhi kualitas persyaratan atau belum dan juga untuk menentukan
perbedaan antara hasil yang diharapkan
dengan hasil yang sebenarnya. “Testing adalah sebuah proses yang dijelaskan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal” (Rizky, 2011, p. 237).
35
2.8.1 Metode White Box Menurut (Rizky, 2011, p. 261)White box testing adalah 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. Metode white box
atau
yang
disebut
juga
dengan
glass
box
testing merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case. Dengan menggunakan metode white box , akan dapat diperoleh test case yang : 1.
Menjamin seluruh jalaur independen (independent path) di dalam modul yang dikerjakan sekurang-kurangnya sekali.
2.
Mengerjakan seluruh keputusan logical.
3.
Mengerjakan seluruh loop yang sesuai dengan batasannya.
4.
Mengerjakan seluruh struktur data internal yang menjamin validasi.
2.8.2 Metode Black Box
Pengujian fungsional atau pengujian kotak hitam (black box testing) merupakan pendekatan pengujian yang ujiannya diturunkan dari spesifikasi program atau komponen (Rizky, 2011, p. 269). Sistem merupakan “kotak hitam” yang perilakunya hanya dapat ditentukan dengan mempelajari input dan output yang berkaitan. Nama lain untuk cara ini adalah pengujian fungsional karena penguji hanya berkepentingan dengan fungsionalitas dan bukan implementasi perangkat lunak.