Kamis, 17 November 2016
Kamis, 05 Mei 2016
Kualitas Produk Perangkat Lunak
Kualitas perangkat lunak merupakan hal yang sangat penting
dalam suatu pengembangan perangkat lunak. Kualitas perangkat lunak tidak hanya
dilihat dari hasil produknya tetapi juga kualitas pada tahap pengembangan
perangkat lunak itu sendiri.
Langkah awal untuk memahami
kualitas perangkat lunak adalah dengan memahami konsep kualitas itu sendiri.
Ada dua kubu besar ketika membahas makna dan definisi kualitas perangkat lunak :
1) Kesesuaian dengan spesifikasi: Kualitas yang didefinisikan sebagai materi produk dan layanan yang terukur dimana memenuhi karakteristik spesifikasi tetap yaitu, kesesuaian dengan spesifikasi yang sebelumnya didefinisikan.
2) Memenuhi kebutuhan pelanggan: Kualitas yang diidentifikasi independen dari setiap karakteristik terukur. Artinya, kualitas didefinisikan sebagai kemampuan produk atau jasa untuk memenuhi harapan pelanggan baik secara eksplisit atau tidak.
1) Kesesuaian dengan spesifikasi: Kualitas yang didefinisikan sebagai materi produk dan layanan yang terukur dimana memenuhi karakteristik spesifikasi tetap yaitu, kesesuaian dengan spesifikasi yang sebelumnya didefinisikan.
2) Memenuhi kebutuhan pelanggan: Kualitas yang diidentifikasi independen dari setiap karakteristik terukur. Artinya, kualitas didefinisikan sebagai kemampuan produk atau jasa untuk memenuhi harapan pelanggan baik secara eksplisit atau tidak.
Jaminan kualitas perangkat
lunak (Software Quality Assurance)
merupakan hal yang dilakukan
pada setiap tahap pengembangan perangkat lunak, namun paling ekstensif dilakukan pada fase
construction. Selain dilakukan pada setiap tahap, software quality assurance juga dilakukan pada setiap aspek pengembangan perangkat lunak. Aspek – aspek tersebut adalah sebagai berikut:
(1). Software Quality Assurance pada standar dan prosedur
pada setiap tahap pengembangan perangkat lunak, namun paling ekstensif dilakukan pada fase
construction. Selain dilakukan pada setiap tahap, software quality assurance juga dilakukan pada setiap aspek pengembangan perangkat lunak. Aspek – aspek tersebut adalah sebagai berikut:
(1). Software Quality Assurance pada standar dan prosedur
(2). Software Quality Assurance pada metric
(3). Software Quality Assurance pada Metode dan tools yang
digunakan pada tahap pengembangan perangkat lunak.
(4). Software Quality Assurance pada formal technical
reviews
(5). Software quality assurance pada pengaturan konfigurasi
perangkat lunak dan kontrol terhadap
perubahan.
perubahan.
(6). Software quality
assurance pada pengujian.
Bagaimana Mendapatkan Perangkat Lunak yang Berkualitas?
Untuk menghasilkan software yang berkualitas, penerapan
software quality assurance dilakukan pada setiap komponen project software
development. Penerapan software quality assurance dalam tiap – tiap fase
pengembangan juga dapat meminimalisasi kemungkinan terjadinya kesalahan sedini
mungkin.
Pada aspek manusianya (software engineer) diperlukan proses
pendidikan dan training sehingga diharapkan dengan bertambahnya pengetahuan, software
engineer dapat menghasilkan software berkualitas tinggi. Pada aspek project
perlu adanya manajemen proyek dan monitoring agar nantinya diharapkan project
dapat dikembangkan dengan baik dan menghasilkan produk yang sesuai dan
berkualitas serta tepat waktu.
Pada aspek proses untuk pengembangan project perlu adanya
pengukuran dan umpan balik. Proses-proses yang dilakukan dalam pengembangan proyek sudah menghasilkan produk yang
berkualitas serta efisien atau tidak oleh karena itu perlu adanya umpan balik
dari pengukuran itu agar nantinya dapat dilakukan perbaikan dalam aspek proses.
Pada aspek produk yang dihasilkan untuk menjamin bahwa produk tersebut telah memenuhi
standar kualitas perlu dilakukan testing dan pengukuran untuk menentukan feasibility dari produk tersebut.
Pada aspek produk yang dihasilkan untuk menjamin bahwa produk tersebut telah memenuhi
standar kualitas perlu dilakukan testing dan pengukuran untuk menentukan feasibility dari produk tersebut.
Atribut
Perangkat Lunak yang Berkualitas
Untuk menentukan atau mengukur kualitas dari suatu produk
kita harus melihat apakah produk
tersebut dalam artian software telah memenuhi atribut kualitas yang telah ditentukan. Atribut kualitas dapat dibedakan menurut :
tersebut dalam artian software telah memenuhi atribut kualitas yang telah ditentukan. Atribut kualitas dapat dibedakan menurut :
·
Sudut pandang client : apakah produk yang dibuat
sudah memenuhi spesifikasi yang diinginkan ataukah produk tersebut memiliki
kelemahan (bug) atau tidak dll.
·
Sudut pandang developer : apakah produk itu mudah
untuk di maintain atau apakah software tersebut mudah untuk melakukan testing
dll.
Atribut lain yang dapat menentukan apakah software tersebut
berkualitas atau tidak dapat kita lihat sebagai berikut :
Untuk memenuhi keseluruhan atribut kualitas diatas tentu akan sangat berat, oleh
karena itu dalam proses pengembangan produk kita harus menentukan atribut
kualitas mana saja yang harus dipenuhi dan juga membuat rencana agar atribut
kualitas ini dapat terpenuhi. Selain itu kita juga harus menentukan standar
dalam proses pengembangan agar kita dapat menghindari kerumitan dalam pengembangan
dan juga dapat dengan mudah mengidentifikasi masalah.
Pentingnya
Metrik dalam Jaminan Kualitas Perangkat Lunak
Metrik merupakan ukuran (besaran) yang digunakan untuk
menilai segi tertentu yang berhubungan dengan pengembangan perangkat lunak Metrik
penting pada software quality assurance karena dengan metrik, software
development menjadi terukur dan dapat dikontrol. Selain itu dengan metrik
tertentu, dapat diramalkan aspek tertentu kualitas perangkat lunak. Metrik
terbagi atas :
1. Metrik Produk
Mengkarakterisitikkan proses output, contoh LOC (length of code).
2. Metrik Proses
Mengkarakterisitikkan aktifitas proses, contoh jumlah bug yang terjadi saat testing.
3. Metrik Resource
Mengkarakterisitikkan proses input, contoh pendidikan programmer.
4. Metrik Dinamis
Dibentuk oleh pengukuran pada saat eksekusi program, contoh : waktu efektif saat terjadinya failure. Metrik ini membantu penetapan efisiensi dan reliability.
5. Metrik Statis
Dibentuk oleh pengukuran oleh representasi sistem, contoh : jumlah method dalam class. Metrik ini membantu dalam complexity, understandability dan maintainability.
1. Metrik Produk
Mengkarakterisitikkan proses output, contoh LOC (length of code).
2. Metrik Proses
Mengkarakterisitikkan aktifitas proses, contoh jumlah bug yang terjadi saat testing.
3. Metrik Resource
Mengkarakterisitikkan proses input, contoh pendidikan programmer.
4. Metrik Dinamis
Dibentuk oleh pengukuran pada saat eksekusi program, contoh : waktu efektif saat terjadinya failure. Metrik ini membantu penetapan efisiensi dan reliability.
5. Metrik Statis
Dibentuk oleh pengukuran oleh representasi sistem, contoh : jumlah method dalam class. Metrik ini membantu dalam complexity, understandability dan maintainability.
Penggunaaan metric sangat penting dalam software quality
assurance. Metrik secara kuantitatif
mendefinisikan sukes tidaknya dan atau derajat sukses tidaknya produk, proses atau people.
mendefinisikan sukes tidaknya dan atau derajat sukses tidaknya produk, proses atau people.
Metric merupakan pondasi dari jenis pengukuran mana yang
akan dilakukan Standard yang
terspesifikasi mendefinisikan kumpulan kriteria yang menuntun kearah mana software dibentuk.
terspesifikasi mendefinisikan kumpulan kriteria yang menuntun kearah mana software dibentuk.
Attribut metrik software yang efektif antara lain :
- Simpel dan dapat dikomputasi
- Empiris dan persuasive
- Konsisten dan objektif
- Konsisten pada unit dan dimensi
- Independen pada bahasa pemrograman
- Mempunyai mekanisme untuk feedback yang berkualitas
Metode
Pengukuran
Pengukuran yang berhubungan dengan fungsi (Metric
Function Oriented) adalah pengukuran fungsionalitas yang disampaikan oleh
aplikasi sebagai suatu nilai normalisasi.Pengukuran tersebut dapat dilakukan
dengan pengukuran function point. Adapun parameter yang digunakan untuk
pengukuran Function Point adalah:
1 .
External Input (EI).
Setiap masukan eksternal berasal dari
pengguna atau dikirim dari aplikasi lain dan menyediakan data berorientasi
aplikasi yang berbeda atau informasi pengendalian. Masukan sering digunakan
untuk memperbarui internal logic file (ILF).
2 .
External Output (EO).
Setiap keluaran eksternal diturunkan dari
data aplikasi yang memberikan informasi kepada pengguna. External Output (EO)
mengacu pada laporan, layar, pesan kesalahan, dan sebagainya.
3 .
External Inquiry (EQ).
Kombinasi input/output yang
dihasilkan oleh input dalam bentuk output sederhana dan singkat.
Hasil inquiry misalnya berupa hasil pencarian data.
4 .
Internal Logical File (ILF).
Merupakan data user atau kontrol
informasi yang dikendalikan total oleh aplikasi. File logical dapat
berupa file flat atau tabel tunggal dalam database relasional.
5 .
External Interface Files (EIF). File yang
dikendalikan oleh aplikasi lain tetapi diperlukan oleh aplikasi. External
interface file dapat berupa sekelompok data logical atau kontrol
informasi yang keluar dan masuk ke aplikasi.
Langkah pertama dalam menghitung CFP (Crude
Function Points) adalah dengan mencari jumlah dari komponen fungsional
sistem pertama kali diidentifikasi dan dilanjutkan dengan mengevaluasi
kuantitasi bobot kerumitan dari tiap komponen tersebut. Pembobotan tersebut
kemudian dijumlahkan dan menjadi angka CFP.
Alur Penentuan Bobot Kompleksitas Langkah
kedua untuk menghitung function point adalah dengan menghitung RCAF (Relative
Complexity Adjustment Factor), yang dihitung berdasarkan pada keseluruhan
kompleksitas sistem. Cara menghitung RCAF (Relative Complexity Adjustment
Factor) adalah dengan menggunakan 14 (empat belas) GSC (General System
Characteristic), dimana masing-masing GSC berskala 0 (nol) sampai 5 (lima)
. Skala 0 (nol) menunjukkan tidak adanya pengaruh dan skala 5 (lima)
menunjukkan adanya pengaruh yang luas terhadap keseluruhan proyek.
Menghitung Function Point (FP)
Setelah setiap karakteristik diberi bobot masing-masing dan dijumlahkan, maka
langkah selanjutnya adalah proses melakukan perhitungan untuk mendapat nilai Function
point (FP) dari software yang dibangun. Untuk menghitung Function
Point menggunakan rumus pada persamaan sebagai berikut :
FP =
CFP x (0.65 + 0.01 x RCAF)
Misalkan diketahui nilai CFP = 74 dan RCAF
= 60.
Maka nilai FP dapat dicari sebagai berikut
: FP = 74 x (0.65 + 0.01 x 60) = 74 x 1.25 = 92.5 Setelah mendapatkan nilai FP,
maka dapat digunakan sebagai acuan untuk mengestimasi kualitas perangkat lunak
dengan cara membandingkan nilai FP dengan banyak error (kesalahan) yang
terdapat pada perangkat lunak yang dibangun. Jika dalam pembangunan perangkat
lunak tersebut ditemukan kesalahan sebanyak 35 kesalahan, maka dapat dihitung
kesalahan per FP-nya adalah sebagai berikut :
Kesalahan / FP = 35 / 92.5 = 0.3783
Kualitas = 100% - (0.3783 x 100%) = 62.17%
Kesalahan / FP = 35 / 92.5 = 0.3783
Kualitas = 100% - (0.3783 x 100%) = 62.17%
Berdasarkan nilai presentase kualitas
perangkat lunak adalah 62.17% maka perangkat lunak tersebut memiliki tingkatan
cukup baik.
Daftar
Pustaka :
R. W. Hoyer and B. B. Y. Hoyer, "What is quality?", Quality Progress, no. 7, pp. 52-62,
2001.
Anam Chairul, “Jurnal
Jaminan Kualitas Perangkat Lunak”, Sekolah Tinggi Ilmu Komputer PGRI Banyuwangi,
2007.
G. Gordon Schulmeyer, “Handbook of Software Quality Assurance”,
ARTECH HOUSE. INC, London, 2008.
Parwita Wayan Gede Suka dan Luh Arida Ayu Rahning Putri, ”Jurnal
Komponen Penilaian Kualitas Perangkat Lunak berdasarkan Software Quality Models”, Universitas Gajah Mada, 2012.
Rinci Kembang Hapsari dan M Juhari Husen, “Jurnal Stimasi
Kualitas Perangkat Lunak berdasarkan Pengukuran Kompleksitas Menggunakan Metrik
Function Oriented”, Institut Teknologi Adhi Tama Surabaya, 2015.
Senin, 28 Maret 2016
Senin, 15 Februari 2016
Tutorial Install Linux Mint Dual Boot
Berikut adalah langkah-langkah install dualboot Linux Mint 17.1 :
1. Pertama-tama kita akan melakukan pembagian partisi untuk membuat partisi kosong untuk menginstall sistem operasi minimal sebesar 9 GB. Biarkan partisi ini menjadi ruang bebas pada drive.
2. Lalu siapkan bootable Linux Mint 17.1 Cinnamon dengan menggunakan flashdisk. Pasang flashdisk sebelum dinyalakan.
3. Ketika menyalakan laptop masuk ke menu BIOS dengan menekan F12 atau ESC.
4. Ubah setting pada tab Boot agar tipe atau nama flashdisk ada pada option 1.
5. Selanjutnya tekan F10 untuk menyimpan konfigurasi.
6. Pilih Start Linux Mint 17.1
7. Setelah masuk pada tampilan desktop Linux Mint, lakukan penginsallan linux.
8. Pertama akan ditampilkan pemilihan bahasa, setelah memilih bahasa yang diinginkan lanjutkan proses install.
9. Selanjutnya ada pilihan untuk menggunakan wifi atau tidak.
10. Selanjutnya, akan ada saran untuk mendapatkan hasil yang baik.
14. Sedangkan, memori kosong (free space) atur menjadi swap.
16. Selanjutnya akan ada pilihan dimana kita berada.
17. Pemilihan pengaturan bahasa.
1. Pertama-tama kita akan melakukan pembagian partisi untuk membuat partisi kosong untuk menginstall sistem operasi minimal sebesar 9 GB. Biarkan partisi ini menjadi ruang bebas pada drive.
2. Lalu siapkan bootable Linux Mint 17.1 Cinnamon dengan menggunakan flashdisk. Pasang flashdisk sebelum dinyalakan.
3. Ketika menyalakan laptop masuk ke menu BIOS dengan menekan F12 atau ESC.
4. Ubah setting pada tab Boot agar tipe atau nama flashdisk ada pada option 1.
5. Selanjutnya tekan F10 untuk menyimpan konfigurasi.
6. Pilih Start Linux Mint 17.1
7. Setelah masuk pada tampilan desktop Linux Mint, lakukan penginsallan linux.
8. Pertama akan ditampilkan pemilihan bahasa, setelah memilih bahasa yang diinginkan lanjutkan proses install.
9. Selanjutnya ada pilihan untuk menggunakan wifi atau tidak.
10. Selanjutnya, akan ada saran untuk mendapatkan hasil yang baik.
11. Berikutnya akan muncul pilihan tipe instalasi. Pada tahap ini pilih
something else untuk membuat laptop kita memiliki dua sistem operasi
(dual boot).
12. Selanjutnya muncul pengaturan partisi.
13. Memori yang akan digunakan untuk install sistem operasi ganti tipe menjadi ext4.
14. Sedangkan, memori kosong (free space) atur menjadi swap.
15. Maka partisi tersebut akan tercentang. Kemudian Klik Install Now. Selanjutnya ketika ada tampilan seperti ini klik lanjutkan.
16. Selanjutnya akan ada pilihan dimana kita berada.
17. Pemilihan pengaturan bahasa.
18. Dan terakhir kita akan diminta untuk menginputkan username dan password komputer.
19. Dan setelah installasi selesai, pilih restart now. Setelah selesai restart, maka selesai sudah proses installasi dual boot.
Senin, 30 November 2015
Sistem Basis Data
Basis Data dan Sistem Basis Data
Sebelum
lebih jauh mengenal tentang sistem basis
data. Kita mulai terlebih dahulu dengan mengenal basis data dan sistem basis
data itu sendiri. Basisdata adalah kumpulan dari berbagai data/informasi
yang saling berhubungan satu sama lain, disimpan di dalam perangkat keras
(komputer) secara sistematis sehingga dapat diolah menggunakan perangkat lunak.
Sedangkan,
sistem basis data merupakan sekumpulan basis data dengan para pemakai yang menggunakan basis data
secara bersama-sama, personil yang merancang dan mengelola basis data,
teknik-teknik untuk merancang dan mengelola basis data, serta system computer
yang mendukungnya.
Sistem
basis data merupakan lingkup terbesar dalam organisasi data. Sistem basis
data mencakup semua bentuk komponen data yang ada dalam suatu system. Sedangkan
basis data merupakan komponen utama yang menyusun system basis data.
Sistem basis
data dan juga DBMS memiliki hubungan yang sangat erat. Jadi, bisa disimpulkan
bahwa suatu sistem basis data merupakan suatu sistem yang melakukan proses
management pada basis data atau database dengan menggunakan software DBMS. Suatu basis data dan juga DBMS tidak akan disebut sebagai sistem basis
data, apabila antara database dan juga DBMS tidak mengalami interaksi dan tidak
saling berhubungan satu sama lain.
Tujuan basis data dan sistem basis data, adalah sebagai berikut ini:
- Kecepatan serta kemudahan dalam menyimpan, memanipulasi atau juga menampilkan kembali data tersebut.
- Efisiensinya ruang penyimpanan.
- Keakuratan (Accuracy) data.
- Ketersediaan (Availability) data.
- Kelengkapan (Completeness) data, kita dapat melakukan perubahan struktur dalam basis data, baik dalam penambahan objek baru (tabel) atau dengan penambahan field-field baru pada table.
- Keamanan (Security) data, dapat menentukan pemakai yang boleh menggunakan basis data.
- Kebersamaan Pemakai (Sharability), pemakai basis data bisa lebih dari satu orang.
- Redudansi data dan juga inkonsistensi data.
- Kesuliatan dalam pengaksesan data.
- Data Isolation.
- Konkurensi pengaksesan.
- Masalah keamanan.
- Masalah Integritas.
Setelah mengenal basis data dan sistem basis data,
selanjutnya kita akan membahas materi-materi dalam sistem basis data
diantaranya adalah integritas data, transaksi, conccurency, xml dan back-end
programming.
Integritas Data
Integritas pada basis data adalah
suatu masalah utama di dalam database yang berusaha agar menjaga data tetap
konsisten atau valid. Penerapan aturan-aturan ini akan dapat menghindarkan
basis data dari upaya-upaya atau kesalahan yang biasanya tidak disengaja,
khususnya dalam melakukan pemanipulasian data, yang dapat membuat basis data
menjadi tidak konsisten atau integritasnya terganggu.
Jenis-jenis integritas data yang harus dipelihara dalam basis data adalah sebagai berikut,
1. Integritas Entitas (Entity Integrity), dimana tidak ada baris data duplikat dalam satu table
2. Integritas Jangkauan (Domain Integrity), dimana tidak ada item data yang melanggar jangkuan nilai di tiap kolom data
3. Integritas Acuan (Referential Integrity), yang menjaga relasi/korespodensi antar table
4. Integritas Data Antar Tabel (Redundant Data Integrity), dimana data di sebuah table tidak terulang di table lain
Jenis-jenis integritas data yang harus dipelihara dalam basis data adalah sebagai berikut,
1. Integritas Entitas (Entity Integrity), dimana tidak ada baris data duplikat dalam satu table
2. Integritas Jangkauan (Domain Integrity), dimana tidak ada item data yang melanggar jangkuan nilai di tiap kolom data
3. Integritas Acuan (Referential Integrity), yang menjaga relasi/korespodensi antar table
4. Integritas Data Antar Tabel (Redundant Data Integrity), dimana data di sebuah table tidak terulang di table lain
Pada umumnya ada beberapa jenis integritas data, diantaranya
adalah sebagai berikut :
- Create Domain, yaitu membuat tipe data baru. Fungsi ini biasa digunakan untuk menangani data yang membutuhkan aturan bisnis sendiri, contohnya membuat tipe data khusus untuk angka yang isinya hanya berisi bilangan 0 dan 1.
- Not NULL, yaitu menjaga agar suatu data tidak kosong dengan kata lain harus ada valuenya. Contohnya NIM pada tabel mahasiswa tidak boleh kosong.
- Unique, yaitu membuat agar suatu data tidak memiliki nilai yang sama dengan record lainnya dalam tabel yang sama. Contohnya NIM pada tabel mahasiswa.
- Primary key, merupakan gabungan antara not null dan unique, misalnya NIM pada tabel mahasiswa.
- Check, memeriksa data dengan aturan bisnisinya sendiri tanpa membuat tipe data baru. Contohnya sebelum memasukkan nilai ujian pada tabel nilai data tidak boleh bernilai negatif.
- Referential Integrity, adalah integritas pada relasi antar tabel. Contohnya jika kolom NIM mahasiswa pada tabel nilai mengacu ke kolom NIM pada tabel mahasiswa, dan terjadi perubahan (delete atau update) pada NIM di tabel mahasiswa, maka ada beberapa pilihan yang dapat dilakukan terhadap NIM yang di tabel nilai, diantaranya adalah :
o Delete cascade, hapus record pada kedua
tabel
o Delete set null, hapus record di tabel
asal dan tabel yang mengacu di jadikan NULL
o Update cascade, perbarui isi record pada
kedua tabel
Transaksi
Transaksi di dalam sebuah basis data dapat didefinisikan sebagai serangkaian aksi yang mengandung pengaksesan basis data dan bahkan juga dapat mengandung serangkaian perubahan data. Sebuah transaksi umumnya terdiri atas sejumlah operasi yang membentuk sebuah satuan kerja lojik. DBMS yang kita gunakan harus dapat menjamin bahwa setiap satuan transaksi harus dapat dikerjakan secara utuh atau tidak sama sekali. Tidak boleh terjadi ada transaksi yang hanya dikerjakan sebagian karena hal ini dapat mengakibatkan adanya inkonsistensi basis data.
Untuk menjamin agar integritas data tetap terpelihara, maka setiap transaksi harus memiliki sifat-sifat seperti berikut ini,
- Atomicity Ini berarti bahwa transaksi haruslah berhasil secara keseluruhan, atau gagal sama sekali.
- Consistency Menjaga konsistensi data di database
- Isolation Transaksi yang dilakukan secara bersamaan haruslah bisa dimulai dan bisa berakhir.
- Durability Setelah transaksi berakhir, data yang berubah tidak boleh kembali ke data awal walaupun sistem mati.
Dalam transaksi database, ada 3 hal yang harus dicegah yaitu.
- DIRTY READ Transaksi membaca data dari hasil transaksi lainnya yang gagal. Kedua transaksi tersebut berjalan bersamaan.
- NONREPEATABLE READ Transaksi membaca ulang data yang telah di baca sebelumnya karena data tersebut telah di modifikasi oleh transaksi lainnya.
- PHANTOM READ Transaksi membaca sebuah data yang telah hilang akibat dari transaksi yang lainnya.
Untuk mencegah 3 hal tersebut, maka dalam Oracle terdapat 2 level isolasi yang dapat diimplementasikan, yaitu :
- READ COMMITED Transaksi hanya dapat melihat perubahan data setelah transaksi lain telah commit pada data tersebut. (Seperti dalam contoh commit).
- SERIALIZABLE Adalah level isolasi yang menyediakan isolasi transaksi yang paling ketat. Saat transaksi berada pada level serializable, sebuah query SELECT hanya melihat data yang di COMMIT sebelum transaksi di mulai; transaksi tersebut tidak akan pernah melihat baik data yang belum di COMMIT atau perubahan data yang terjadi selama eksekusi transaksi oleh transaksi lain yang berjalan pada waktu bersamaan. Isolasi level ini mencegah terjadinya PHANTOM READ.
Dua Operasi Penting Transaksi
- Commit
- Rollback
Memberi tanda bahwa transaksi GAGAL.
Save Point
Savepoint adalah suatu keadaan atau sebuah titik aman dimana suatu transaksi bisa diselesaikan dalam satu atau beberapa transaksi.
Fungsi dari save point adalah supaya pada saat kita ingin rollback atau ada transaksi yang gagal, transaksi tidak berjalan dari awal kembali, tetapi dari save poin yang telah kita buat.
Concurrency
Concurrency adalah banyaknya transaksi yang dijalankan secara bersamaan dalam satu waktu.
DBMS mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama.
Concurrency Control Mechanism (CCM) dibutuhkan agar transaksi tidak saling “menggangu”.
Adapun 3 masalah concurrency adalah :
- Lost Update Problem
- Uncommitted Dependency Problem
- Incosistent Analysis Problem
Locking
Locking terjadi jika suatu transaksi ingin record atau resource tidak berubah dalam waktu tertentu
Jenis Lock
Locking terjadi jika suatu transaksi ingin record atau resource tidak berubah dalam waktu tertentu
Jenis Lock
- Exclusive Lock (Xlock) atau write lock yaitu locking yang hanya bisa di gunakan untuk mengupdate dan membaca transaksi
- Shared Lock (Slock) atau read lock yaitu locking yang hanya bisa di gunakan untuk membaca transaksi.
Data Access Protocol
- Transaksi yang ingin mengambil nilai sebuah record (retrieve) harus mendapat Slock pada record tersebut
- Transaksi yang ingin
mengupdate, harus mendapat Xlock
Dead Lock
Dead lock adalah situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat memulai
Dead lock adalah situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat memulai
Contoh Deadlock
Deadlock dapat ditangani dengan cara berikut :
- Deteksi dan pecahkan deadlock
- Deteksi deadlock > wait-for-graph
- Pecahkan deadlock > salah satu dirollback paksa (bagaimana penanganan rollback ini?)
- Ostrich Algorithm > diabaikan
XML (Extensible Mark up Language)
XML (extensible mark up
language) merupakan representasi data yang bisa didefinisikan sesuai
keinginan pengguna. Karena formatnya yang standar dan fleksibel, XML sering
dipergunakan pada berbagai pertukaran informasi. Dan merupakan suatu keuntungan
bagi kita bila kita bisa menyimpannya pada basis data dan memprosesnya. XML
tidak dikonsentrasi untuk pemrosesan dan penampilan data tetapi terutama
dimaksudkan untuk memberitahu komputer apa arti sesungguhnya dari data yang
disertakan.
Kita menggunakan XML dalam membangun suatu sistem dikarenakan XML tidak
tergantung pada satu platform alias platform independent juga language
independent . Ditujukan untuk melakukan pertukaran data (data transfering).
Perbedaan XML dan HTML
XML digunakan dengan cara yang menyerupai HTML. Akan tetapi terdapat
perbedaan besar antara keduanya, yaitu :
- HTML digunakan untuk mendeskripsikan bagaimana data diformat
- XML digunakan untuk mendeskripsikan apa arti sebenarnya dari data
- Struktur HTML telah didefinisikan
- Aturan XML lenih ketat, contohnya setiap tag harus ada penutupnya
- XML bersifat case sensitive
- HTML keamanannya kurang dan hanya mengirim data tidak beserta library berbeda dari XML.
Back End Programming
Back-End programming adalah program yang berjalan pada database secara
otomatis ketika terjadi suatu pemicu tertentu. Dalam oracle ada beberapa metode
untuk melakukan back-end programming, yaitu dengan trigger dan stored
procedure.
Stored Procedure
Stored Procedure
Stored
procedure adalah sebuah prosedur—layaknya subprogram (subrutin) di dalam bahasa
pemrograman reguler—yang tersimpan di dalam katalog basis data. Stored
procedure memungkinkan sebuah aplikasi berbasis database (SQL)
mendefinisikan dan kemudian memanggil prosedur melalui pernyataan SQL. Stored
procedure dapat digunakan untuk aplikasi terdistribusi (client server)
maupun aplikasi tidak terdistribusi.
Gambar Stored
Procedure
Beberapa
kelebihan yang ditawarkan stored procedure antara lain: meningkatkan performa,
mereduksi trafik jaringan, reusable, dan meningkatkan kontrol sekuriti. Di
balik kelebihan-kelebihannya, stored procedure juga memiliki kekurangan, di
antaranya: berpotensi meningkatkan beban server dan penulisannya tidak mudah
(memerlukan pengetahuan spesifik).
Tersimpannya
Stored procedure pada sistem database terpusat memungkinkan dilakukannya
perubahan untuk menyesuaikan dengan perubahan sistem terkini dan dapat berlaku
untuk keseluruh sistem aplikasi yang ada tanpa perlu dilakukan perubahan untuk
setiap modul aplikasi.
Dalam
implementasi nyata, penggunaan stored procedure sering melibatkan parameter. Di
MySQL, parameter stored procedure dibedakan menjadi tiga mode: IN, OUT, dan
INOUT.
- IN
Parameter
yang merupakan mode default ini mengindikasikan bahwa sebuah parameter dapat
di-pass ke stored procedure tetapi nilainya tidak dapat diubah (dari dalam
stored procedure).
- OUT
Mode ini
mengindikasikan bahwa stored procedure dapat mengubah parameter dan mengirimkan
kembali ke program pemanggil.
- INOUT
Mode ini
pada dasarnya merupakan kombinasi dari mode IN dan OUT.
Stored
procedure dapat mencerminkan beragam operasi data, misalnya seleksi,
penambahan, pengubahan, penghapusan, dan juga operasi-operasi DDL. Seperti
halnya prosedur di bahasa pemrograman, stored procedure juga dapat melibatkan
variabel, pernyataan kondisional, dan pengulangan.
Trigger
Trigger merupakan suatu block PL/SQL yang akan tersimpan didalam database. Trigger akan teraktivasi secara otomatis ketika terjadi suatu kejadian/event (INSERT, DELETE, UPDATE) terhadap table, view dan database. Biasanya Trigger digunakan untuk mengisi ataupun mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga.
Manfaat Trigger
Dengan menggunakan Trigger integritas data serta konsistensi data dapat terjaga dan juga dapat mencegah terjadinya transaksi yang tidak valid. Selain itu standarisasi (penyeragaman) terhadap proses juga dapat tercapai karena Trigger dibuat satu kali dan tersimpan didalam database, sehingga setiap operasi yang dilakukan oleh siapapun terhadap sistem tersebut akan menggunakan Trigger yang sama.
Trigger
Trigger merupakan suatu block PL/SQL yang akan tersimpan didalam database. Trigger akan teraktivasi secara otomatis ketika terjadi suatu kejadian/event (INSERT, DELETE, UPDATE) terhadap table, view dan database. Biasanya Trigger digunakan untuk mengisi ataupun mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga.
Manfaat Trigger
Dengan menggunakan Trigger integritas data serta konsistensi data dapat terjaga dan juga dapat mencegah terjadinya transaksi yang tidak valid. Selain itu standarisasi (penyeragaman) terhadap proses juga dapat tercapai karena Trigger dibuat satu kali dan tersimpan didalam database, sehingga setiap operasi yang dilakukan oleh siapapun terhadap sistem tersebut akan menggunakan Trigger yang sama.
Referensi :
Hand Out Sistem Basis Data oleh Budi Laksono Putro
Modul 10554_pengantar_basis_data.pdf
Modul 5 Trigger oleh Tim Asisten Praktikum
Sistem Basis Data ILKOM UPI
http://www.sql2learn.com/detailpost/stored-procedure
Langganan:
Postingan (Atom)