9
BAB II LANDASAN TEORI
2.1. Sistem Monitoring
Secara harafiah sistem monitoring terdiri dari 2 dua kata yaitu „sistem‟
dan „monitoring‟. Menurut Jogiyanto 2005 , sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk
melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu : Komponen
Sistem, Batasan Sistem, Lingkungan Luar Sistem, Penghubung Sistem, Masukan Sistem, Keluaran Sistem, Pengolahan Sistem, dan Sasaran Sistem Sutanta, 2009.
Menurut Cassely dan Kumar 1987 monitoring merupakan program yang terintegrasi, bagian penting dipraktek manajemen yang baik dan arena itu
merupakan bagian integral di manajemen sehari-hari. Sedangkan menurut Calyton dan Petry 1983 monitoring sebagai suatu proses mengukur, mencatat,
mengumpulkan, memproses dan mengkomunikasikan informasi untuk membantu pengambilan keputusan manajemen programproyek.
Sistem monitoring adalah suatu jaringan kerja dari prosedur yang saling berhubungan yang dapat mencatat, mengukur, mengumpulkan, memproses,
melakukan pengawasan, dan mengkomunikasiskan informasi dari tiap bagian yang diawasi sehingga dapat membantu pengambilan keputusan manajemen
programproyek dalam sebuah perusahaan atau organisasi.
2.2. Basis Data
Berikut ini merupakan penjelasan mengenai teori tentang Basis Data:
2.2.1. Pengertian Basis Data
J.L. Whitten dan L.D. Bentley 1998 mendefinisikan basis data sebagai sekumpulan data dalam file yang saling terhubung interrelated file, record
dalam file harus mengizinkan adanya kerelasian dapat dibayangkan sebagai pointer ke record-record lain dalam file lain. Abraham Silberschatz, Henry F.
Korth, dan S.Sudarshan 2001 mendefinisikan basis data sebagai sekumpulan data yang saling berhubungan dan menjadi bagian dari DBMS.
2.2.2. Sistem Basis Data
Sistem basis data berbeda dengan basis data, sistem basis data memiliki ruang lingkup yang leboh luas karena terdiri dari kumpulan beberapa basis data baik
yang terhubung maupun tidak terhubung secara langsung dalam suatu sistem, tetapi secara keseluruhan mempunyai hubungan sebagai sebuah sistem dengan
didukung oleh komponen lainnya. Istilah sistem basis data dapat didefiniskan sebagai sekumpulan subsistem yang terdiri atas basis data dengan para pemakai
yang menggunakan basis data secara bersama-sama, personal-personal yang merancang dan mengelola basis data, teknik-teknik untuk merancang dan
mengelola basis data, serta sistem komputer untuk mendukungnya Martin, 1975.
2.2.3. Batasan Aturan Basis Data
Dalam perancangan dan penyusunan basis data dikenal adanya beberapa batasan aturan yang haris ditaati. Batasan aturan tersebut diperlukan agar file-file basis
data yang disusun dapat menenuhi batasankriteria sebagaimana definisi basis data yang dijelaskan sebelumnya. Menurut James Martin 1975, batasan aturan
tersebut berhubungan dengan lima aspek penting dalam basis data, yaitu: 1.
Kerangkapan data data redudancy 2.
Inkonsistensi data data inconsistency 3.
Data terisolasi data isolation 4.
Kemananan data data security 5.
Integritas data data integrity Abraham Silberschatz, Henry f.Korth, dan S.Sudarshan 2001 menyatakan bahwa
basis data yang benar mampu mengatasi semua permasalahan yang terkait dengan batasan aturan di atas.
1. Kerangkapan data data redudancy
Kerangkapan data data redudancy adalah munculnya data-data yang sama secara melimpah berulang kali pada file basis data yang semestinya tidak
diperlukan. Kerangkapan data dalam basis data perlu dihindari paling tidak harus diminimalkan karena beberapa alasan, yaitu Sutanta, 2004 :
1. Pemborosan media penyimpanan basis data
2. Biaya penyimpanan yang semakin besar
3. Kesulitan atau in-efisiensi dalam pengolahan data
4. Pemborosan waktu dalam pengolahan data
5. Resiko yang semakin besar kemungkinan munculnya inkonsistensi data.
2. Inkonsistensi data data inconsistency
Inkonsisten data data inconsistency atau data tidak konsisten adalah munculnya data yang tidak konsisten pada medankolom yang sama dalam satu
atau beberapa file data yang dihubungkandirelasikan Sutanta, 2011. Inkonsistensi data ini dapat terjadi diakibatkan oleh Sutanta, 2004:
1. Proses pemasukan data data entry yang tidak benar
2. Proses pembaruan data update yang tidak benar
3. Pengendalian sistem yang tidak baikterkontrol
Menurut Edhy Sutanta dalam bukunya yang berjudul Basis Data dalam Tinjaun Konseptual 2004 penyebab utama munculnya data yang tidak konsisten
adalah akibat munculnya kerangkapan data dalam file. Oleh karena itu, contoh inkonsistensi data ini juga dapat berlaku pada file yang mengalami kerangkapan
data. Basis data yang baik haruslah terbebas dari inkonsistensi data karena akan berakibat kesalahan fatal pada informasi yang dihasilkan dari pengolahan data
dalam basis data yang tidak dapat merepresentasikan fakta yang ada.
3. Data Terisolasi Data Isolation
Data terisolasi disebabkan oleh pemakaian beberapa file basis data dimana program aplikasi tidak dapat mengakses data-data dan file tertentu, kecuali bila
program aplikasi diubahditambah sehingga seolah-olah ada file yang terpisahterisolasi terhadap file yang lain dalam basis data Sutanta, 2009. Data
terisolasi harus dihindari karena mengakibatkan ketidaklengkapan informasi yang dihasilkan dari pengolahan data dalam basis data. Ini mengakibatkan informasi
hasil pengolahan dalam basis data menjadi tidak bernilai. Data terisolasi dapat terjadi Sutanta, 2004 :
1. Tidak adanya kemungkinan untuk menghubungkan antar data dalam file.
2. Tidak adanya standarisasi data berkaitan dengan domainformat data,
meliputi tipe dan ukuran data.
4. Keamanan Data Data Security
Kemananan data data security merupakan aspek penting dalam basis data. Prinsip keamanan dalam basis data adalah bahwa data-data dalam basis data
merupakan sumber informasi yang bersifat sangat penting dan rahasia Sutanta, 2011. Sehingga perlu untuk menjaga data-data dari kerusakan dan kehilangan
yang dapat merusak data. Aspek keamanan basis data meliputi Martin, 1975: 1.
Recovery, adalah suatu proses menggunakan kembali basis data dan media penyimpanan cadangan untuk mengembalikan data pada kondisi yang
benar karena terjadi kerusakankehilangan data akibat kerusakan media penyimpanan, program aplikasi, OS, basis data, hardware, dll.
2. Integrity, adalah dengan unjuk kerja sistemuntuk dapat menjaga data-data
dalam basis data agar selalu berada dalam kondisi yang benar tipe dan ukuran datanya, up to date sesuai dengan kondisi aktual, konsisten, dan
selalu tersedia. 3.
Concurency, berkaitan dengan mekanisme pengendalian basis data saat digunakan oleh beberapa pemakai secara bersamaan agar terhindar dari
kesalahan akibat beberapa transaksi berbeda dilakukan secara bersamaan. 4.
Privacy, yaitu dimaksudkan sebagai pembatasan kewenangan akses data dalam basis data dari penggunaan oleh pengguna yang tidak berwewenang
dan pengubahan yang tidak dikehendaki. 5.
Security, adalah suatu mekanisme system utnuk mencegah dan melindungi basis data kehilangan akibat kerusakan pada fisik media penyimpanan,
kebakaran, banjir, badai, huru-hara, dll.
5. Integritas Data Data Integrity
Integritas data data integritas berhubungan dengan kinerja sistem agar dapat melakukan kendalicontrol pada semua bagian sistem. Integritas dimaksudkan
sebagai suatu sarana untuk meyakinkan bahwa data-data yang tersimpan dalam PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
basis data selalu berada dalam kondisi yang benar tipe dan ukuran datanya, up to date sesuai dengan kondisi aktual, konsisten, dan selalu tersedia current. Hal
ini merupakan aspek kritis dalam manajemen basis data Martin, 1975.
2.2.4. Entity-Relationship Modelling E-R Modelling
Entity Relationship Modelling E-R Modelling merupakan suatu model data yang dikembangkan berdasarkan obyek. E-R Modelling digunakkan untuk
menjelaskan hubungan antar data dalam basis data kepada pengguna secara logic. E-R Modelling didasarkan pada suatu persepsi bahawa real world terdiri atas
obyek-obyek dasar yang mempunyai hubungankerelasian antarobyek-obyek dasar tersebut Martin, 1975. E-R Modelling digambarkan dalam bentuk diagram
yang disebut diagram E-R E-R DiagramE-R_D. Untuk menggambarkan E-R_D digunakan simbol-simbol grafis tertentu.
Penggunaan E-R Modelling relatif mudah dipahami, bahkan oleh para pengguna yang awam. Bagi perancanganalis sistem, E-R_D berguna untuk
memodel-kan sistem yang nantinya basis datanya akan dikembangkan. Model ini juga membantu perancanganalis sistem pada saat melakukan analisis dan
perancangan basis data karena model ini dapat menunjukkan macam data yang dibutuhkan dan kerelasian antardata di dalamnya. Bagi pengguna, model ini
sangat membantu dalam hal pemahaman model sistem dan rancangan basis data yang akan dikembangkan oleh perancanganalis sistem Sutanta, 2004.
2.2.4.1. Tipe Entitas Entity Type
Tipe Entitas Entity Typeialah sekumpulan objek yang memiliki property yang sama yang diidentifikasi dalam perusahaan serta keberadaannya independen.
Setiap objek yang diidentifikasikan secara unik disebut entity occurrence Connolly and Beg, 2002. Gambar 2.1 di bawah ini menunjukkan representasi
diagram dari contoh entity type. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 2. 1Representasi Diagram dari Entity Type Staff dan BranchConnolly
and Beg, 2002
2.2.4.2. Tipe Relasi Relationship Type
Tipe Relasi Relationship Typeialah sekumpulan entitas entity yang mempunyai hubungan dan memiliki arti Connolly and Beg, 2002 ditunjukkan secara lebih
jelas pada gambar 2.2 berikut ini:
Gambar 2. 2Representasi Diagram dari Entity Branch Has Staff Relationship
TypeConnolly and Beg, 2002
2.2.4.3. Atribut Attributes
Menurut Connolly dan Beg 2002, p350, atribut adalah properti dari sebuah entity atau relationship type. Sedangkan attribute domain adalah sekumpulan nilai
yang dibolehkan untuk satu atau lebih atribut. Atribut dapat diklasifikasikan sebagai :
1. Simple Attribute dan Composite Attribute
Simple attribute adalah attribute yang terdiri dari komponen tunggal dimana attribute tersebut tidak dapat dibagi ke dalam komponen yang
lebih kecil. Simple attribute juga dapat disebut dengan atomic attribute. Contoh dari simple attribute adalah position dan salary dari staff entity.
Composite attribute adalah attribute yang terdiri dari banyak komponen dimana beberapa attribute tersebut dapat dibagi kedalam komponen yang
lebih kecil. Contoh dari composite attribute adalah address dari branch entity yang dapat dibagi menjadi street, city, dan postcode.
2. Single-Valued Attribute dan Multi-Valued Attribute
Single-valued attribute adalah attribute yang memiliki satu nilai pada setiap entity. Contoh dari single-valued attribute adalah branch_No dari
branch entity. Multi-valued attribute adalah attribute yang memiliki beberapa nilai pada setiap entity. Contoh dari multi-valued attribute adalah
tel_No dari branch entity. 3.
Derived Attribute Derived Attribute adalah atribut yang nilai-nilainya diperoleh dari hasil
perhitungan atau dapat diturunkan dari atribut lain yang berhubungan. Contoh dari derived attribute adalah duration dari lease entity dimana
diperoleh dari perhitungan rent_Start dan rent_Finish.
Gambar 2. 3Representasi Diagram dari Entity Staff dan BranchBeserta Atribut-
AtributnyaConnolly and Beg, 2002 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.2.4.4. Kunci Keys
Menurut Connolly dan Begg 2002 jenis – jenis kunci adalah sebagai berikut
ilustrasi untuk memperjelas dijelaskan pada gambar 2.3 : 1.
Candidate key, jumlah minimal dari attribute yang secara unik mengidentifikasi setiap peristiwa dalam entity
2. Primary key, candidate key yang terpilih secara unik mengidentifikasi
setiap peristiwa dalam entity 2.
Alternate key, candidate key yang tidak terpilih menjadi primary key 3.
Composite key, candidate key yang terdiri dari dua atau lebih attribute 4.
Foreign key, atribut sebuah entity yang menggabungkan diri ke entity lain
2.2.5. Manajemen Transaksi
Transaksi adalah sebuah tindakan atau serangkaian tindakan, dilakukan olehuser atau program aplikasi, yang membaca atau mengubah isi dari basis
dataConnolly and Beg, 2002. Terdapat 4 hal dasar yang harus dimiliki semua transaksi, yaitu:
1. Atomicity
Sebuah transaksi adalah sebuah unit yang tidak dapat dibagi lagi sehingga dapatmelakukan seluruhnya atau tidak melakukan apapun. Ini
merupakan tanggung jawab dari subsistem recovery dari DBMS untuk memastikan ke-
„atom‟-annya. 2.
Consistency Sebuah transaksi harus mentransformasikan satu keadaan konsisten ke
keadaan konsisten lainnya. Ini merupakan tanggung jawab dari DBMS dan pengembang aplikasi untuk memastikan kekonsistenannya.
3. Isolation
Transaksi secara bebas mengeksekusi yang lainnya. Dengan kata lain, sebagian transaksi yang tidak lengkap akan mengakibatkan transaksi
yang lain menjadi tidak visible.Ini merupakan tanggung jawab dari subsistem concurrency control untuk memastikan isolasi.
4. Durability
Setelah DBMS memberitahu pengguna bahwa transaksi telah selesai PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
dengan sukses, maka efeknya tetap bertahan bahkan jika sistem mengalami crash sebelum semua perubahannya direfleksikan pada disk.
Ini merupakan tanggung jawab dari recovery subsistem untuk memastikan durability.
Gambar 2. 4Diagram Transisi Transaksi Connolly and Beg, 2002
Berdasarkan Gambar 2.4 dalam diagram transisi tersebut terdapat 5 keadaan yaitu: 1.
ACTIVE aktif 2.
PARTIALLY COMMITTED sebagian dilaksanakan Terjadi setelah perintah terakhir dieksekusi
Pada saat ini, mungkin ditemukan transaksi melanggar serializability
atau melanggar integrity constraint, maka transaksi harus dibatalkan. Transaksi demikian akan menuju FAILED keadaan gagal dan harus
dibatalkan Jika transaksi sukses, beberapa update dapat disimpan secara aman
dan transaksi menuju ke keadaan COMMITTED. 3.
COMMITTED dilaksanakan 4.
FAILED gagal Terjadi jika transakasi tidak dapat dilaksanakan atau transaksi
dibatalkan pada saat ACTIVE keadan aktif. Kondisi ini terjadi jika user membatalkan transaksi atau protocol
concurrency control membatalkan transaksi untuk memastikan serialibility.
5. ABORTED dibatalkan
2.2.5.1. Metode Locking
Locking adalah sebuah prosedur yang digunakan untuk melakukan kontrol pada akses bersama pada data. Pada saat satu transaksi melakukan akses ke dalam
database, sebuah lock akan menyebabkan pelarangan akses ke dalam transaksi untuk mencegah hasil yang tidak konsisten. Terdapat 2 jenis lock, yaitu Shared
Lock, dan Exclusive Lock. Jika sebuah transaksi memiliki shared lock pada
sebuah data item, maka transaksi tersebut dapat melakukan pembacaan terhadap sebuah item
tetapi tidak dapat melakukan update. Sedangkan jika sebuah transaksi yang memiliki Exclusivelock pada sebuah data item dapat melakukan pembacaan maupun update
item tersebut.
2.2.5.2. Two Phase Locking 2PL
Transaksi dapat dilakukan menggunakan protokol 2PL jika semua operasilocking mendahului operasi yang tidak terkunci dalam transaksi
tersebut.Protokol 2PL memiliki 2 fase, yaitu Connolly and Beg,2002: a. Growing phase : jika transaksi sudah mendapatkan semua lock, maka
tidak boleh melepas lock. b. Shrinking phase : jika transaksi sudah melepaskan lock, maka tidak
dapat mendapatkan lock baru. Beberapa masalah yang disebabkan oleh proses yang konkurenseperti
dibawah ini
bisa ditangani
dengan menerapkan
protokoltwo phase
locking2PLConnolly and Beg,2002: a.
The Lost Update Problem, merupakan kejadian dimana data transaksi yang telah diupdate dibaca oleh transaksi yang lain kemudian di update
lagi. b.
The Uncommited Dependency Dirty Read Problem, merupakan kejadian dimana data transaksi yang dilakukan dibaca oleh transaksi
yang lain, lalu dibatalkan tanpa adanya penyimpanan terlebih dahulu oleh transaksi yang pertama sehingga menyebabkan data yang tidak
benar. c.
The Incosistent Analysis Problem, masalah ini timbul karena data diakses oleh 2 transaksi yang bersamaan, transaksi yang pertama
melakukan perubahan dan transaksi yang kedua melakukan analisis sehingga data yang diperoleh menjadi tidak konsisten.
2.2.5.3. Contoh Penangangan Masalah Concurrency Control
Di bawah ini merupakan contoh-contoh untuk menangani masalah concurrency control :
Gambar 2. 5Mencegah Lost Update Problem menggunakan 2PLConnolly and
Beg, 2002 Keterangan :
Untuk mencegah terjadinya masalah hilangnya data yang diubah, maka : pertama-tama T2 meminta exclusive lock
pada balₓ Setelah itu T2 dapat melakukanproses baca nilai balₓ, menambahnya dengan nilai 100, dan menuliskan
nilai baru dari balₓ tersebut kedalam basis data.
Saat T1 memulai transaksi, T1 juga meminta suatu exclusivelock pada balₓ,
namun karena balₓ sedang berada dalam posisiexclusive lock oleh T2, maka permintaan read balₓ tidak segera diberikan kepada T1 dan T1 harus menunggu
sampai lock dilepaskan oleh T2. Hal ini terjadi saat t2 melaksanakan operasi commit atau unlock bal
x
Connolly and Beg, 2002. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 2. 6Mencegah Uncommited Dependency Problem using 2PLConnolly
and Beg,2002 Keterangan :
Untuk mencegah terjadinya masalah ketergantungan transaksi yang belum dilaksanakan, maka : pertama-tama T4 meminta suatu exclusive lock pada balx.
Setelah itu, T4 dapat melakukan proses baca nilai balx dari dalam basis data, menambahnya dengan nilai 100, dan menuliskan nilai baru balx tersebut ke dalam
basis data. Rollback dieksekusi, peng-update-an pada transaksi T4 tidak jadi dilakukan dan nilai dalam basis data dikembalikan ke kondisi semula yaitu 100.
Saat T3 memulai transaksi, T3 juga meminta suatu exclusive lock pada balx, namun karena balx sedang dalam posisi exclusive lock oleh T4 maka
permintaan tersebut tidak segera diberikan kepada T3, dan T3 harus menunggu sampai lock dilepaskan oleh T4. Hal ini terjadi saat T4 melakukan operasi
rollback atau unlock balx, barulah T3 dapat melakukan proses baca nilai balx Connolly and Beg, 2002.
Gambar 2. 7Mencegah Inconsistent Analysis Problem using 2PLConnolly and
Beg,2002 Keterangan :
Untuk mencegah terjadinya masalah analisis yang tidak konsisten , maka : T5 mengawali meminta suatu exclusive lock pada balx. T5 juga meminta suatu
exclusive lock pada baly. Saat T6 ingin membaca nilai balx, ia harus menunggu sampai lock dilepaskan oleh T5. Hal ini terjadi saat T5 melaksanakan operasi
commit atau unlockbalx, barulah T6 dapat membaca nilai balx
Connolly and Beg, 2002
. Untuk mengatasi masalah di atas, mesin basis data Oracle mempunyai kemampuan mendukung transaksi dengan metode 2PL yang dapat menjamin
konsistensi data
.
2.2.5.4. Perintah For Update
Perintah for update yang digunakan untuk melakukan penguncian agar menjamin konsistensi. Untuk menjamin konsistensi data, terutama dalam kasus ketika ada
banyak sesi terhadap suatu database yang sama, sebaiknya baris-baris record dalam database yang akan di-update atau dihapus, dikunci terlebih dahulu.
Penguncian record dalam database dapat dilakukan dengan perintah for update dalam kueriOracleInc, 2004.
Sintak yang digunakan :
2.3. Use Case Diagram
Pembuatan use case diagram yang sesungguhnya merupakan deskripsi peringkat tinggi bagaimana perangkat lunak aplikasi akan digunakan oleh
penggunanya. Selanjutnya use case diagram tidak hanya sangat penting pada tahap analisis, tetapi juga sangat penting untuk perancangan design, untuk
mencari mencoba menemukan kelas-kelas yang terlibat dalam aplikasi, dan untuk melakukan pengujian testing.
Membuat use case diagram yang komprehensif merupakan hal yang sangat penting dilakukan pada tahap analisis. Dengan menggunakan usecase
diagram, akan didapatkan banyak informasi yang sangat penting yang berkaitan dengan aturan-aturan bisnis yang coba kita tangkap. Dalam hal ini, setiap objek
yang berinteraksi dengan sistemperangkat lunak misalnya orang, suatu perangkat keras, sistem lain, dan sebagainya merupakan actor untuk sistem
perangkat lunak, use case merupakan deskripsi lengkap tentang bagaimana sistemperangkat lunak berperilaku untk para aktornya. Dengan demikian use case
diagram merupakan deskripsi lengkap tentang interaksi yang terjadi antara para actor dengan sistemperangkat lunak yang sedang dikembangkan.
Saat akan mengembangkan use case diagram, hal yang pertama kali dilakukan adalah mengenali actor untuk sistemaplikasi yang sedang
dikembangkan. Dalam hal ini, ada beberapa karakteristik untuk para actor, yaitu actor ada di luar sistem yang sedang dikembangkan dan actor berinteraksi dengan
sistem yang sedang dikembangkan Adi Nugroho, 2009.
Rosa A. S dan M. Salahuddin 2013 mengungkapkan bahwa Use case atau diagram use case
merupakan pemodelan untuk kelakuan behavior sistem informasi yang akan dibuat.
include
Notasi yang digunakan dalam Use Caseadalah seperti yang disajikan dalam tabel 4.1 berikut ini:
Tabel 2. 1 Notasi Use Case No
Notasi Keterangan
1
Gambar di samping adalah notasi untuk aktor. Aktor menggambarkan segala
pengguna software aplikasi user.
2
Gambar di samping adalah notasi untuk use case. Use case menjelaskan urutan
kegiatan yang dilakukan actor dan sistem untuk mencapai tujuan tertentu.
3
Gambar di samping adalah notasi untuk interaction. Interaction digunakan untuk
menunjukkan baik aliran pesan atau informasi antar objek.
4
Gambar di samping adalah notasi untuk package. Package adalah mekanisme
pengelompokan yang digunakan untuk menandakan
pengelompokan elemen-
elemen model.
5
Extend adalah Relasi usecase tambahan kesebuah usecase dimana use case yang
ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu
.
6
Include adalah relasi usecase tambahan ke sebuah usecase dimana use case yang
ditambahkanmemerlukan usecase ini untuk menjalankan fungsinya.
2.4. Class Diagram