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.