BAB II LANDASAN TEORI

advertisement
BAB II
LANDASAN TEORI
2.1
REKAYASA PERANGKAT LUNAK
2.1.1
Definisi Rekayasa Perangkat Lunak
Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses
informasi. Bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya
tinggi, biaya rendah dan waktu penyelesaian yang tepat. Ada dua tipe produk Rekayasa
Perangkat Lunak .
1. Produk Generic adalah Sistem stand-alone yang diproduksi oleh organisasi
pengembang dan dijual ke pasar terbuka ke siapapun yang membelinya.
2. Produk Pesanan adalah sistem yang dipesan oleh pelanggan tertentu.dikembangkan
khusus bagi pelanggan tersebut.
Tujuan rekayasa perangkat lunak menurut Boehm (1990) adalah:
a. Memperoleh biaya produksi perangkat lunak yang rendah.
b. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu.
c. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform.
d. Menghasilkan perangkat lunak yang biaya perawatannya rendah.
Dengan menggunakan pemantauan basis data ini pemeriksaan basis data yang
lakukan secara manual dengan melakukan pemeriksaan satu persatu basis data dapat
dilakukan dalam satu kali pengecekan yang akan dijalankan oleh aplikasi pemantau. Dan
dalam sekali eksekusi aplikasi, beberapa pengecekan basis data dapat dilakukan, seperti
pengecekan status basis data, sisa storage, banyaknya user yang mengakses, user mana yang
menggunakan resource paling besar. Sehingga dapat memudahkan.
5
6
Administrator basis data dalam melakukan pemantauan basis data yang ada. Aplikasi
pemantauan ini dapat dikembangkan untuk pengecekan basis data yang lain.
2.2
BASIS DATA
2.2.1
Definisi basis data
Basis data terdiri dari kata Basis dan Data, menurut pengertian di kamus Besar
Bahasa Indonesia, Basis berarti suatu asas, dasar, atau markas, sedangkan Data berarti fakta
tentang sesuatu didunia nyata yang direkam dan disimpan dalam media komputer
Sedangkan definisi basis data menurut para ahli dijelaskan sebagai berikut :
Sedangkan menurut Fathansyah (1999), basis data adalah :
-
Himpunan Kelompok data (arsip) yang saling berhubungan yang diorganisasi
sedemikian rupa agar dapat dimanfaatkan kembali dengan cepat dan mudah di
kemudian hari.
-
Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian
rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai
kebutuhan.
-
Kumpulan file atau table atau arsip yang saling berhubungan yang disimpan dalam
media penyimpanan elektronis.
Definisi basis data menurut Connolly dan Begg (2005), adalah kumpulan relasi-relasi
logikal dari data, dan deskripsi data yang dapat digunakan bersama dan dibuat untuk
memperoleh informasi yang dibutuhkan oleh perusahaan.
Menurut Date (1990), definisi dari basis data adalah kumpulan terintegrasi dari file
yang merupakan representasi data dari suatu model enterprise.
George Tsu-der Chou menyatakan basis data merupakan informasi bermanfaat yang
diorganisasikan kedalam aturan yang khusus. Informasi ini adalah data yang telah
diorganisasikan kedalam bentuk yang sesuai dengan kebutuhan seseorang (Abdul, 1999)
Sedangkan menurut Ramez Elmasri, basis data merupakan penyajian suatu aspek dari
dunia nyata. Basis data juga merupakan kumpulan data dari berbagai sumber yang secara
logika mempunyai arti implisit, jika data yang terkumpul secara acak dan tanpa mempunyai
7
arti, maka tidak dapat disebut basis data. Basis data perlu dirancang, dibangun, dan data
dikumpulkan untuk suatu tujuan. Basis data dapat digunakan oleh beberapa user dan aplikasi
yang sesuai dengan kepentingan user.
Basis data adalah kumpulan dari berbagai data yang saling berhubungan satu dengan
yang lainnya. Basis data tersimpan dalam perangkat keras serta dimanipulasi dengan
menggunakan perangkat lunak yang digunakan khusus untuk mengelola data yang ada di
dalam basis data.
Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek
seperti manusia, barang, hewan, peristiwa, konsep, keadaan, dan sebagainya. yang direkam
dalam bentuk huruf, symbol, teks, gambar, bunyi atau kombinasinya. Jadi basis data
merupakan kumpulan data yang saling berhubungan yang disimpan secara bersama
sedemikian rupa dan tanpa pengulangan atau redundansi yang tidak perlu, untuk memenuhi
berbagai kebutuhan. Data data tersebut tersimpan terpisah pisah dalam beberapa table dalam
suatu basis data.
Penyusunan basis data meliputi proses memasukkan data kedalam media
penyimpanan data dan diatur dengan menggunakan perangkat Sistem Manajemen Basis Data
(Basis data Management System DBMS). Manipulasi basis data meliputi pembuatan
pernyataan (query) untuk mendapatkan informasi tertentu, melakukan pembaharuan atau
penggaintian (update) data serta pembuatan report data.
Dengan menggunakan basis data banyak manfaat yang dapat diperoleh diantaranya:
1.
Kecepatan dan kemudahan dalam pengaksesan data
Jika data disajikan dengan menggunakan konsep basis data, penggunak akan lebih
mudah dan cepat dalam mengakses data.lebih cepat karena data yang tersaji lebih
terstruktur sehingga pengguna mudah intuk menemukan data yang dicarinya. Lebih
mudah karena untuk pemutakhiran tidak diperlukan pengubahan data secara
keseluruhan. Intinya, kecepatan dan kemudahan bisadirasakan padasaat proses
penyimpanan, pemutakhiran dan penampilan data.
2.
Keefisienan penyimpanan data
Telah diketahui bahwa pada basis data, semua data harusmerupakan data data yang
unik atau berbeda satu dengan yang lainnya. Oleh karena itu tidak terjadi suatu
pengulangan penyimpanan data-data yang sama sehingga ruang penyimpanan yang
dibutuhkan lebih efisien, keefisienan itu juga didukung oleh kemampuan basis data
untuk dipakai kembali.
8
3.
Keakuratan data lebih tinggi
Agar pengguna tidak melakukan kesalahan saat pembacaan data, penyajian data bisa
dilakukan berdasarkan kategori-kategori tertentu. Pada teknologi terkini, pengguna
juga bisa memanfaatkan fitur pencariansuatu data.
4.
Kebersamaan (sharability)
Jika diakses oleh beberapa pengguna, pastinya dibutuhkan system pengaksesan secara
parallel agar seluruh pengguna bisa mengakses data secara bersama-sama.dengan
teknologi jaringan terkini, bukan merupakan hal yang tidak mungkin lagi jika ada
beberapa pengguna yang dapat mengakses data pada basis data yang sama secara
bersamaan.
5.
Kelengkapan (completeness)
Fakta yang terjadi pada dunia ini pasti tidak konstan. Ada perubahan yang terjadi di
tiap waktunya. Begitu juga dengan data yang tersimpan dalam basis data. Oleh karena
itu, dengan menggukan basis data, pengelolaan data dapat dengan mudah melengkapi
atau merubah data data yang tidak sesuai.
6.
Ketersediaan (avaibility)
Pengelolaan data dengan menggunakan basis data dan didukung dengan teknologi
jaringan terkini memberikan kemudahan bagi pengguna untuk mengaksesnya. Salah
satu kemudahan itu adalah tersedianya data dalam media internet sehingga user bisa
mengaksesnya kapanpun dan dimanapun user tersebut berada.
2.2.2
Manajemen Transaksi
Transaksi adalah sebuah unit eksekusi dari program yang mengakses dan
mengupdate berbagai macam tipe data pada basis data. Hasil eksekusi dari progran
menghasilkan 2 istilah commit jika transaksi berjalan dengan sukses, roolback jika transaksi
tidak berjalan dengan sukses dan dikembalikan ke keadaan semula. Transaksi terdiri dari
semua operasi yang dieksekusi diantara begin transaction dan end transaction. Pada saat
terjadi eksekusi transaksi basis data dapat menjadi tidak konsisten, namun pada saat transaksi
sampai pada level commited, maka basis datanya harus konsisten. Adapun kemungkinan yang
terjadi ketika transaksi dieksekusi yaitu:
9
1. Terjadi berbagai macam kegagalan yang dapat di sebabkan oleh kegagalan
hardware, system crash, jaringan terputus, dan lain lain
2. Eksekusi konkuren (secara bersama) yang melibatkan banyak transaksi
Gambar 2. 1 Diagram State Transaksi (Connolly, 2006).
Agar transaksi benar benar sukses dipenuhi. Maka sebuah transaksi harus berada di
dalam salah satu state sebagai berikut
Active
Merupakan initial state,transaksi tetap berada pada state ini pada saat proses eksekusi.
Partially commited
Setelah statement final telah dieksekusi.
Failed
Setelah ditelusuri bahwa eksekusi normal tidak dapat diperoses kembali.
Aborted
Setelah transaksi diulang dan basisdata dikembalikan ke kondisi awal sebelum
transkasi dimulai.
Committed
Setelah transaksi sukses dipenuhi.
Transaksi mempunyai 4 sifat dasar yang dikenal dengan istilah ACID:
-
Atomicity (Keutuhan)
10
Transaksi dilakukan sekali dan sifatnya atomic artinya merupakan satu kesatuan
tunggal yang tidak dapat dipisah dalam melaksanakan pekerjaannya sampai selesai
atau tidak sama sekali.
-
Consistency (Ketetapan)
Transaksi harus merubah basis data dari satu stata konsisten satu ke stata lainnya.
-
Isolation (Pemisahan)
Transaksi dieksekusi secara terpisah dari yang satu dengan yang lainnya.
-
Durability (Daya tahan)
Transaksi tersimpan secara permanen kedalam basis data dan tidak akan berubah atau
hilang karena kegagalan berikutnya.
Transaksi dalam mengakses data dengan melakukan operasi
1. Read (x)
Mentransferdataitem x dari basis data ke lokal buffer yang dimiliki oleh transaksi yang
mengeksekusi operasi pembacaan.
2. Write (x)
Mentransfer data item x dari lokal buffer dari aksi transaksi yang mengeksekusi
perintah penulisan kembali ke basis data.
2.2.3
Pemantauan Basis Data
Pemantauan Basis data adalah penilaian yang terus-menerus terhadap kejadian-
kejadian yang ada pada basis data untuk mendapatkan informasi secara teratur, sebagai
acuan dalam pengambilan keputusan.data hasil pemantauan ini dapat digunakan oleh seorang
DBA (Basis Data Administrator) untuk melakukan tindakan terhadap basis data yang
bemasalah.
Adapun hal hal yang perlu di monitor diantaranya adalah
-
Pengecekan running dan tidaknya basis data, jika basis data itu adalah basis data
production yang memberikan informasi data kepada user yang menggunakan aplikasi
yang terhubung dengan basis data tersebut, jika terjadi basis data mati dan tidak di
ketahui oleh seorang DBA maka dapat menyebankan kerugian pada perusahaan.
11
-
Pengecakan sisa storage yang digunakan oleh basis data, dengan adanya pemantauan
akan di ketahui berapa persen penambahan data, dan dapat di ketahui sisa storage yang
ada.
-
Pengecekan berapa banyak user yang mengakses basis data, sehingga dapat di lakukan
antisipasi penambahan hardware atau perubahan sistem yang ada, untuk memenuhi
kebutuhan user.
-
Pengecekan session user yang mengakses basis data, sehingga dapat diantisipasi supaya
tidak terjadi lambatnya kinerja basis data karena terbebani session yang terlalu besar.
Dengan menggunakan apalikasi, pengecekan beberapa basis data diberbagai server
sehingga pengecekan beberapa basisdata lebih. Dengan pemantauan ini dapat di keluarkan
laporan yang berguna sebagai bahan untuk analisa oleh DBA, untuk perbaikan ataupun
maintenance dari basis data yang ada.
2.3
ORACLE
2.3.1
Pengertian Apache
Oracle adalah relational basis data management system (RDBMS) untuk mengelola
informasi secara terbuka, komprehensif dan terintegrasi.
Oracle banyak diminati oleh perusahaan besar, karena keamanannya yang handal
dalam mengamankan data di dalam basis data. Oleh karena itu, banyak perusahaan yang
memakai oracle dalam menunjang kegiatan bisnis. Disamping sistem keamanan yang handal,
oracle merupakan perangkat lunak basis data yang bisa menampung serta mengelola data
dengan kapasitas yang sangat besar serta dapat mengaksesnya dengan sangat cepat pula
(Heryanto dan Raharjo, 2006). Dapat bekerja di lingkungan client/server, mendukung akses
data secara simultan, perfomansi pemrosesan transaksi yang tinggi, menjamin ketersediaan
yang terkontrol dan lingkungan yang terreplikasi
12
2.3.2
Oracle instance
Menurut Nugroho (2006), server basis data oracle 10g memuat didalamnya basis
data oracle dan instance oracle, dimana yang terakhir ini pengertiannya adalah sejumlah
proses yang diperlukan agar sistem basis data adalah berfungsi yang diharapkan. Instace
oracle mengalokasikan dirinya dalam sejumlah penyangga atau buffer memori yang dikenal
sebagai System Global Area atau SGA dan proses-proses latar belakang atau background
process yang menangani pekerjaan-pekerjaan yang terkait dengan basis data. Saat instance
oracle tidak aktif sampai dimulai. Kemudian instance oracle dimulai, berkas parameter
inisialisasi dibaca dan instance oracle akan dikonfigurasi mengikuti instruksi-instruksi yang
ada di parameter inisialisasi. Saat instance oracle telah aktif dan basis data sudah dibuka,
para pengguna dapat mengakses basis data. SGA merupakan sejumlah struktur memori
terbagi yang memuat alokasi-alokasi yang memuat alokasi-alokasi sebagai berikut :
- Basis data Buffer Cache, yang menyimpan secara sementara blok-blok data yang
sering dipanggil dari basis data di memori. Hal ini dilakukan demi peningkatan kinerja
pemanggilan data-data tertentu yang sering dipanggil oleh para pengguna. Ini
dimaksudkan agar akses langsung ke harddisk dapat dikurangi, yang akibatnya akan
meningkatkan kinerja operasi-operasi basis data tertentu.
- Redo Log Buffer, yang menyimpan informasi redo hingga data dituliskan redo log file
yang ada di storage. Ini juga dimaksudkan akses langsung ke storage dapat dikurangi,
yang akibatnya akan meningkatkan kinerja operasi-operasi basis data tertentu.
- Shared Pool, yang memuat proses-proses yang digunakan oleh para pengguna basis
data secara bersamaan.
- Large Pool, area yang digunakan untuk melakukan penyanggan atau buffering
terhadap proses-proses input-ouput atau I/O proses.
- Java Pool, yang digunakan untuk menyimpan kode-kode sesi yang spesifik bahasa
Java dan menyimpan data-data yang ada di JVM atau java virtual machine.
13
Gambar 2. 2 Struktur Memory Internal Oracle (Nugroho, 2008).
Pada gambar di atas terdapat PGA atau program global area. PGA merupakan area
yang mengandung data dan informasi kendali untuk setiap proses server. PGA bergantung
pada bagaimana instance oracle dikonfigurasi, dan secara umum berisi sebagai beriku :
- Private SQL area, memuat data tentang sesi pengikatan dengan pengguna. Setiap sesi yang
menerbitkan pernyataan SQL memiliki private SQL area.
- Session memory, yang merupakan memori yang dialokasikan untuk memerlihara peubahpeubah sesi dan informasi-informasi lain yang terkait dengan sesi tertentu
2.4
JAVA
2.4.1
Sejarah Perkembangan Java
Proyek java di mulai pada tahun 1991, di lakukan oleh sejumlah insinyur perusahaan
Sun Microsystem yang di kepalai oleh James Gosling, ingin mendesain sebuah bahasa
pemrograman komputer yang berukuran kecil yang dapat digunakan untuk peralatan
elektronika konsumen seperti switchboxes TV kabel. Dikarenakan peralatan-peralatan ini
14
menggunakan konsumsi daya dan memory yang rendah, maka bahasa pemrograman tersebut
harus berukuran sangat kecil, dan juga dapat di gunakan di berbagai CPU yang berbeda,
harus bersifat multiplatform, tidak terikat hanya pada arsitektur (Architecture Neutral).
Proyek ini di berinama Green Project.
Karena harus bersifat Architecture Neutral, maka Green Project menggunakan
Virtual Machine (atau dikenal dengan Java Virtual Machine) yang berasal dari model
implementasi bahasa Pascal. Dan insinyur insinyur tersebut berlatar belakang Unix, maka
mereka membangun bahasa java dengan C++ dan berorientasi object, bukan berorientasi
prosedur seperti model bahasa pascal. Pada pemrograman tersebut di berinama Oak. Yang
kemudian di ubah menjadi Java.
Bahasa java pertama kali dirilis tahun 96’an dan terus berkembang sampai versi 1.1
sampai versi 1.2 dengan sebutan Java 2. Kemudian tahun 99’an muncul Java 2 Enterprise
Edition untuk pemrograman skala Enterprise salanjutnya muncul versi terbaru untuk
pemrograman micro device(HP,PDA) yang di sebut dengan Java 2 Micro Edition, keduanya
berbasiskan Java 2 Standart Edition.
2.4.2
Keunggulan Java
Keunggulan java diantaranya adalah
Sederhana (Simple)
Syntax java seperti syntax pada C++ tetapi tidak memerlukan header file, pointer
aritmatic, struktur union, operator overloading, class virtual base.
Berorientasi Objek(Object Oriented)
Rancangan berorientasi objek merupakan suatu teknik yang memusatkan rancangan
pada data (objek) dan interface.
Terdistribusi (Distributed)
Java memiliki library rutin yang luas untuk dirangkai pada protocol TCP/IP seperti
HTTP dan FTP dengan mudah.
Kuat (Robust)
Perbedaan utama antara java dan C++ adalah java memiliki sebuah pointer yang
mengurangi kemungkinan penimpaan(overwriting) pada memory dan kerusakan data
(data corrupt).
15
Aman (Secure)
Java memungkinkan penyusunan program yang bebas virus, system yang bebas dari
kerusakan.
Netral Arsitekture (Architecture Neutral)
Program yangsudah di compile dapat dijalankan pada banyak prosesor, dapat di sebut
multiplatform (Windows, Linux, Unix , mac OS, Sun Solaris)
2.5 MySQL
2.5.1
Kelebihan MySql
Mysql di banyak di gunakan oleh developer dan perusahaan perusahaan atau instansi
tertentu misalnya lembaga pendidikan yang pengelolaan datanya menggunakan basis data
dengan aplikasi yang tidak terlalu besar, seperti aplikasi perpustakkan, web sistem informasi
sebuah lembaga pendidikan. Adapun kelebihan dari MySql adalah
- Ringan, tidak memerlukan spesifikasi komputer yang tinggi.
- Multiplatfom, dapat di gunakan diberbagai sistem operasi.
- Multiuser, dapat digunakan oleh beberpa pengguna dalam waktu yang bersamaan.
- Multithread, dapat melakukan banyak eksekusi perintah query dalam satu
permintaan.
- Instalasi MySql sangat mudah.
Download