Pages

Diberdayakan oleh Blogger.

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.

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
(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.
 (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.

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 :
·         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.

Penggunaaan metric sangat penting dalam software quality assurance. Metrik secara kuantitatif
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.
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%
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, 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.


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

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXGUckTKpuYrz4UIi2p_n72KYbCNgmb6545rAA5JaD_4H-vmu8eJsF3IKqnUNbXWHvspScx6RnqU5b8-60c69xuhvvl8svC6MQW4OXDdfrobxoRUgYwBIs0FehWLwVIwEP-c2B_rhTy80/s1600/9e765-datapic.jpg


   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.
    Kegunaan atau fungsi sistem basis data, mengatasi masalah-masalah pemrosesan data yang sering ditemui, permasalah tersebut diantaranya:

  • 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


   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
Memberi tanda bahwa transaksi telah selesai. Update dibuat permanen (bahkan jika setelah commit terjadi kegagalan system).

  • 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

  • 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

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 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.

  1. 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).

  1. OUT

   Mode ini mengindikasikan bahwa stored procedure dapat mengubah parameter dan mengirimkan kembali ke program pemanggil.

  1. 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.

 
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




 

Blogger news

Blogroll

About