Friday, 14 June 2013

Sistem Basis Data (part 2)


Selamat siang para pembaca , hari ini saya kembali mengupdate blog saya berupa suatu post yang sebenarnya ditulis untuk memenuhi tugas salah satu mata kuliah saya , di sini saya akan menjelaskan tentang apa yang saya tangkap di mata kuliah SIstem Basis Data mudah-mudahan tulisan saya ini bermanfaat bagi para pembaca sekalian :)


STUDI KASUS SISTEM INFORMASI

A. Pendahuluan

            Latar belakang penulis menulis makalah ini adalah penulis ingin menganalisis penerapan sistem basis data pada studi kasus yang dipilih yakni sistem informasi untuk kemudian penulis akan membuat beberapa penelitian kedepannya lalu mengambil kesimpulan dari analisis tersebut.

B. Definisi Sistem Basis Data

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

          Sistem adalah suatu himpunan dari suatu “benda” nyata atau abstrak yang terdiri dari bagian–bagian atau komponen-komponen yang saling berkaitan, berhubungan, berketergantungan, saling mendukung, yang  secara keseluruhan bersatu dalam satu kesatuan untuk mencapai tujuan tertentu secara efisien dan efektif.


Dari definisi dua kata yang berhubungan di atas maka kesimpulannya
definisi dari sistem basis data adalah :

SISTEM  BASIS DATA adalah suatu sistem penyusunan dan pengelolaan record-record dengan menggunakan komputer, dengan tujuan untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan, sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk kepentingan proses pengambilan keputusan.


C. Komponen Sistem Basis Data

Lebih lanjut lagi, dalam sebuah sistem basis data, secara lengkap akan terdapat komponen-komponen utama sebagai berikut:


DATA

Data tersimpan secara terintegrasi dan dipakai secara bersama-sama


Ciri-ciri data dalam basis data :


Data disimpan secara terintegrasi (integrated)

Basis data merupakan kumpulan dari berbagai macam file dari aplikasi-aplikasi yang berbeda, yang disusun dengan cara menghilangkan bagian-bagian yang rangkap (redundant)


Data dapat dipakai secara bersama-sama (shared)

Masing-masing bagian dari database dapat diakses oleh pemakai dalam waktu yang bersamaan, untuk aplikasi yang berbeda



HARDWARE 

Perangkat keras yang digunakan dalam mengelola suatu basis data

Terdiri dari semua peralatan perangkat keras komputer yang digunakan untuk pengelolaan sistem basis data berupa:

Peralatan untuk penyimpanan basis data, yaitu secondary storage (harddisk, disket, flash disk, CD)

Peralatan input (keyboard, scanner, kamera digital) dan output (printer, layar monitor)

Peralatan komunikasi data (ethernet card, modem)


SOFTWARE 

Perangkat lunak perantara antara pemakai dengan data fisik. Berfungsi sebagai perantara (interface) antara pemakai dengan data physik pada basis data.

Software pada sistem basis data dapat berupa:

Database Management System (DBMS), yang menangani akses terhadap basis data, sehingga pemakai tidak perlu memikirkan proses penyimpanan dan pengelolaan data secara detail

Program-program aplikasi dan prosedur-prosedur

USER 

Sebagai pemakai sistem

Pemakai database dibagi atas 3 klasifikasi, yaitu:

Database Administrator (DBA), yaitu:
Orang/team yang bertugas mengelola sistem basis data secara keseluruhan

Programmer, yaitu:
Orang/team yang bertugas membuat program aplikasi yang mengakses basis data, dengan menggunakan bahasa pemrograman, seperti Clipper, VB, Oracle baik secara batch maupun online untuk berinteraksi dengan komputer 

End-user, yaitu:
Orang yang mengakses basis data melalui terminal, dengan menggunakan query-language atau program aplikasi yang dibuatkan oleh programmer




DBMS (Database Management System)

Database Manajement System (DBMS) merupakan software yang digunakan untuk membangun sebuah sistem basis data yang berbasis komputerisasi. DBMS membantu dalam pemeliharaan dan pengolahan kumpulan data dalam jumlah besar. Sehingga dengan menggunakan DBMS tidak menimbulkan kekacauan dan dapat digunakan oleh pengguna sesuai dengan kebutuhan.

DBMS merupakan perantara bagi pemakai dengan basis data. Untuk merinteraksi dengan DBMS (basis data) menggunakan bahasa basis data yang telah ditentukan oleh perusahaan DBMS. Bahasa basis data biasanya terdiri atas perintah-perintah yang di formulasikan sehingga perintah tersebut akan diproses olah DBMS.

D.Tujuan Sistem Basis Data


1. Mencegah data redudancy dan inkonsisten
2. Mempermudah dalam melakukan akses terhadap data
3. Mempertimbangkan data isolation
4. Mencegah concuren access anmaly
5. Mempertimbangkan masalah keamanan data
6. Mempertimbangkan masalah integritas



E. Studi Kasus

            Seorang programmer diminta oleh seorang direktur di salah satu perusahaan yang bergerak di bidang penjualan pulsa untuk membuat sebuah sistem informasi pulsa berbasis web. Sang direktur menginginkan agar sistem informasinya tersebut dapat berfungsi dengan baik terutama di bagian basis data. Oleh , karena itu ia meminta pada sang programmer agar sistem informasinya bisa menjaga integrasi , keamanan serta keakuratan di bidang basis data. Sang programmer pun menyanggupi keinginan direktur tersebut dan dalam beberapa bulan ia menyelesaikan pembuatan sistem informasi tersebut. Dia menggunakan DBMS berbasis Oracle untuk memenuhi keinginan sang direktur yang ingin menguatkan bagian basis datanya. Saat ditanya sang direktur menanyakan kenapa ia memilih DBMS Oracle dibandingkan yang lain dia mengungkapkan alasannya , yakni :

1. Pada Oracle terdapat fasilitas klien-server, sehingga dapat diakses oleh banyak user dalam suatu waktu secara bersamaan.

2. Ukuran Database besar dan terdapat pengaturan space. Umumnya, perusahaan besar biasanya menggunakan  media penyimpanan besar untuk menampung trafik data yang besar.

3. Oracle memberikan perlindungan terhadap kelangsungan data dalam perusahaan sehingga apabila terjadi crash pada salah satu server database, maka tidak akan mempengaruhi kinerja perusahaan.

 4. User dapat melakukan akses data dalam suatu tabel secara bersamaan, lebih cepat dan lebih akurat.

5. Proses manipulasi data dapat berjalan dengan lancar.

7. Oracle dapat meningkatkan fleksibilitas jaminan security sampai pada row-level security. Hal ini akan membuat aplikasi kita menjadi semakin aman sewaktu kita melakukan transaksi melalui Internet.

8. Oracle memungkinkan kita untuk melihat status data kita mundur beberapa waktu  sampai batas yang kita tentukan, sehingga apabila terjadi kesalahaan data pada waktu yang lalu, maka kita dapat melakukan koreksi tanpa harus melakukan database recovery.

F. Penerapan Sistem Basis Data

- Integritas data , suatu sistem informasi tentu harus ditunjang dengan kemampuan untuk menjaga integrasi data agar tidak terjadi ketidakakuratan pada sistem informasi tersebut. Pada Oracle pembuatan sekuen, trigger , fungsi , prosedur dan lain-lain menjamin terjaganya integrasi data pada sistem informasi

-  Concurrency , telah disebutkan bahwa Oracle mempunyai fitur multiuser , namun hal tersebut bisa menjadikan inkonsistensi data pada sistem informasi tersebut. Oleh karena itu dibutuhkan concurrency untuk mengatasi masalah tersebut.

- Transaksi , sistem informasi harus bisa menjaga data-data di dalamnya dari kehilangan atau kerusakan dengan menggunakan metode transaksi , Pada Oracle kita bisa melakukan metode tersebut dengan penggunaan fungsi commit , rollback , lock dan sebagainya

- Keamanan Data , tentu saja suatu sistem informasi harus dilengkapi dengan keamanan data untuk menghindari ancaman dari pihak luar seperti hacker , virus , malware dan sebagainya. Apalagi jika sistem informasi itu ditujukan untuk suatu perusahaan yang sudah terkenal. Caranya dengan memakai bahasa pemrograman tertentu untuk membuat suatu kode untuk mencegah ancaman tersebut.

G. Kesimpulan

           Penggunaan sistem basis data ternyata sangat penting jika diimplementasikan pada suatu sistem informasi , selain untuk meningkatkan kualitas sistem tersebut. Keamanan data-data yang ada di dalamnya akan terjadi jika menggunakan metode-metode dari sistem basis data itu sendiri, dan Oracle adalah aplikasi yang sejauh ini sangat baik dalam hal keamanan data.

Referensi






Thursday, 23 May 2013

Let me introduce myself

Halo halo pembaca blog yang budiman (bawa-bawa nama temen :D) saya kembali lagi buat ngepost beberapa tulisan yang saya tulis hari ini. Sekarang sya akan ngepost tentang hal yang sesuai dengan judul diatas. Yep! i will introduce myself , mungkin beberapa pembaca ada yang bingung kenapa perkenalannya di post kedua bukan post pertama? Karena kebetulan dasar awal pembuatan blog ini adalah buat ngerjain tugas jadi perkenalannya saya taro di post kedua. Sebelumnya saya udah punya blog yaitu klik aja , cuma seperti yang kalian lihat kebanyakan typo di blog tersebut sehingga saya memutuskan membuat blog baru buat pemulihan nama baik saya :p (walaupun sebenarnya lupa password ama email blog sebelumnya juga cukup berperan :D).

Oke , sekian basa basinya lanjut ke topik utama. Perkenalkan nama saya Radian Pradhana , nama Radian sendiri diambil dari kata Rabu (saya lahir hari rabu) dan Ramadhan karena saya lahir pas bulan Ramadhan (jadi kalo ada temen saya yang namanya ada 'Ramadhan' nya pasti lahirnya cuma beda beberapa hari daripada saya). Orang-orang di sekitar saya biasa manggil saya dengan sebutan Radian atau Ryan. Saya lahir di Bandung tanggal 24 Februari tahun 1993. In this year, saya genap berusia 20 tahun (walaupun tampang saya menunjukkan usia saya 30 tahun). Saya lahir dari sepasang suami istri yang berbahagia, saya adalah anak sulung dari sepasang suami istri tersebut, saya punya satu adik laki-laki yang ganteng (kalo dibandingin urang keliatan banget jeleknya :D) dan satu adik perempuan yang cantik , imut , lucu , dan menggemaskan. Kalo diliat secara fisik saya berkacamata , model rambut yang gak jelas :D , dan postur yang lumayan tinggi menjulang 178 cm , namun bertubuh gempal (waktu tahun 2011 berat badan saya 81kg , gatau sekarang berapa kayaknya naik :D).

Hobby saya adalah membaca , main game , sama ngoding (yang ini sebenarnya cuma gara-gara tugas aja :p). Saya suka warna biru dan saya adalah penggemar sepak bola , my favorite football club is Manchester United and FC Internazionale Milano (walau saya lebih suka ke MUnya) buat timnasnya (tentu saja) timnas Indonesia dan timnas Inggris . Because i like football and blue , saya juga suka sama beberapa klub yang warna kostumnya biru kayak barusan Inter , Deportivo , sama Malaga (kecuali dua klub liga inggris yang berasal dari kota london sama manchester).

Yep , mungkin segitu aja perkenalan dari saya , have a nice day everyone dan selamat membaca :)


Saturday, 18 May 2013

Sistem Basis Data

1. INTEGRITAS DATA

Integritas Data(Data Integrity) adalah konsistensi dan kebenaran data yang disimpan. Antara representasi dunia nyata dan nilai dari data harus dilindungi oleh system, agar mempunyai arti yang sesuai.

Tujuan Integritas Data
  • Memastikan integritas data yang disajikan pada basis data.
  • Melindungi basis data dari ketidaklengkapan, ketidakakuratan, dan ketidakkonsistenan data.
Jenis Integritas Data

CREATE DOMAIN -> tipe baru
NOT NULL -> contoh: NAMA tidak boleh NULL
UNIQUE -> contoh: KODE_MATKUL
PRIMARY KEY -> contoh: NIM, NIS
CHECK -> contoh: IPK >=2,5
REFERENTIAL INTEGRITY -> integritas pada relasi antar tabel

2. TRANSAKSI


Definisi Transaksi

Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data. Tujuannya adalah melindungi database dari kerusakan dan kehilangan data

Operasi

COMMIT 
memberi tanda bahwa transaksi telah selesai. Update dibuat permanen (bahkan jika setelah commit terjadi kegagalan system).

ROLLBACK
memberi tanda bahwa transaksi GAGAL. Semua update harus di-undo

Status Transaksi

Aktif (Active), yang merupakan status awal (initial state) sebuah transaksi yang menunjukkan transaksi tersebut masih dieksekusi.
Berhasil Sebagian (Partially Committed), yaitu keadaan yang dicapai transaksi tepat pada saat operasi terakhir dalam transaksi selesai dikerjakan.
Gagal (Failed), yang merupakan keadaan dimana sebuah transaksi terhenti pengeksekusiannya sebelum tuntas sama sekali.
Batal (Aborted), yaitu keadaan dimana sebuah transaksi dianggap tidak/belum dikerjakan yang tentu dengan terlebih dahulu diawali dengan mengembalikan semua data yang telah diubah ke nilai-nilai semula. (yang menjadi tanggung jawab DBMS).
Berhasil Sempurna (Committed), keadaan dimana transaksi telah dinyatakan berhasil dikerjakan seluruhnya dan basis data telah merefleksikan perubahan-perubahan yang memang diinginkan transaksi.

3. CONCURRENCY

Definisi Concurrency

Banyaknya transaksi yang dijalankan bersamaan pada waktu yang sama

Masalah Concurrency

1. Masalah kehilangan perubahan (Lost update problem)
2. Masalah kehilangan perubahan sementara (Uncomitted depedency problem)
3. Masalah analisa yang tidak konsisten (Inconsistent analysis problem)

4. BACKEND PROGRAMMING

Procedure

CREATE OR REPLACE PROCEDURE prc_isi_deret1 AS
                v_counter INTEGER;
BEGIN
                v_counter:=0;
                loop
                            --echo, printf, cout, system.out.oprintln
                            DBMS_OUTPUT.PUT_LINE('Nilai Counter Saat ini=' || v_counter);
                            INSERT INTO deret1(nilai) VALUES (v_counter);
                            v_counter:=v_counter+2;
                            IF(v_counter>100) THEN
                                     EXIT;
                            END IF;
                  END LOOP;
END prc_isi_deret1;
/

Function

CREATE OR REPLACE FUNCTION func_max_deret1 RETURN NUMBER AS
                v_maksimum integer;
BEGIN
               SELECT MAX(nilai) INTO v_maksimum FROM deret1;
               RETURN (v_maksimum);
END func_max_deret1;
/

Trigger

CREATE OR REPLACE TRIGGER nambah 
AFTER
INSERT OR DELETE OR UPDATE ON mahasiswa
FOR EACH NOW
BEGIN
               IF inserting THEN
                         UPDATE dosen 
                         SET jumlah_wali=jumlah_wali+1 WHERE nip_dosen=:new.id_wali;
               END IF;
               IF deleting THEN
                         UPDATE dosen 
                         SET jumlah_wali=jumlah_wali-1 WHERE nip_dosen=:old.id_wali;
               END IF;
               IF updating THEN
                         UPDATE dosen 
                         SET jumlah_wali=jumlah_wali+1 WHERE nip_dosen=:new.id_wali;
                         UPDATE dosen 
                         SET jumlah_wali=jumlah_wali-1 WHERE nip_dosen=:old.id_wali;
               END IF;
END;
/

5. XML

XML adalah suatu bahasa yang digunakan untuk mendeskripsikan dan memanipulasi dokumen secara terstruktur. Secara teknis XML didefinisikan sebagai suatu bahasa meta-markup yang menyediakan format tertentu untuk dokumen-dokumen yang mempunyai data terstruktur.

Contoh :

<?xml version="1.0" encoding="ISO-8859-1"?>
<daftar_pengarang>
     <pengarang>
               <nama>budi martami</nama>
              <alamat>sarijadi </alamat>
     </pengarang>
</daftar_pengarang>

6. KEAMANAN BASIS DATA

Keamanan basis data merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.

Tujuan keamanan basis data:
1. Confidentiality
2. Integrity
3. Availabity

Referensi :