Minggu, 14 Juni 2009

Concurancy pada database TIKET PESAWAT

Ada 3 Macam yang disebabkan oleh konkurancy:
  1. Masalah kehilangan Modifikasi(Lost Update Problem)
    Masalah ini timbul jika dua transaksi mengakses item databae yang sama yang mengakibatkan nilai dari database tersebut menjadi tidak benar.
  2. Masalah Modifikasi Sementara(Uncommited Update Problem)
    Maslah ini timbul jika transaski membaca suatu record yang sudah dimodifikasi oleh transaski lain tetapi belum diselesaikan.Terdapat kemungkinan jika transaksi tersebut dibatalkan.
  3. Masalah Analisa yang tidak konsisten(Problem of inconsistansi Analisis)
    Masalah ini timbul jika sebuah trasnsksi membaca suatu nilai tetapi transaksi yang kedua mengupdate beberapa nilai selama eksekusi transaksi pertama.

Berikut ini adalah contoh kasus pada tiketing pesawat :

  1. Masalah kehilangan Modifikasi(Lost Update Problem)

    Ket:Suatu agen Tour (WK Tour) ingin memesan tiket pesawat terbang, ternyata kursi pesawat yang tersisa hanya :
    - A10 s/d A15
    - B15 s/d b17
    - C23 s/d C25
    Maka Wk Tour tersebut harus memesan kursi yang masih tersisa yaitu;
    - A10 s/d A15
    - B15 s/d b17
    - C23 s/d C25
    Lalu secara bersamaan Agen MK Tour juga memesan kursi B & C,ternyata kursi B dan C full hanya tinggal B15 s/d B16 & C23 s/d C25 Maka mk Tour juga harus memesan kursi tersebut.

    Jadi Wk Tour pesan tiket "A10 s/d A15" & "B17 s/d B20"
    Mk Tour pesan tiket "B15 s/d B16" & " C23 s/d C25"
  2. Masalah Modifikasi Sementara(Uncommited Update Problem)

    Ket:Suatu agen Tour (WK Tour) ingin memesan tiket pesawat terbang, ternyata kursi pesawat yang tersisa hanya :
    - A10 s/d A15
    - B15 s/d b17
    - C23 s/d C25
    Maka Wk Tour tersebut harus memesan kursi yang masih tersisa yaitu;
    - A10 s/d A15
    - B15 s/d b17
    - C23 s/d C25
    ket:A/B//C :Bisnis
    Lalu secara bersamaan Agen MK Tour juga memesan kursi B,ternyata kursi B full hanya tinggal B18s/d B20. Maka Mk Tour harus memesan kursi tersebut.
    ket:B:Bisnis
    Jadi Wk Tour pesan tiket "A10 s/d A15 " & "B15s/d B17"
    Mk Tour pesan tiket "B15 s/d B17" & "C23 s/d C25"
  3. Masalah Analisa yang tidak konsisten(Problem of inconsistansi Analisis)

    Ket: Masalah ini timbul jika sebuah trasnsksi membaca suatu nilai tetapi transaksi yang kedua mengupdate beberapa nilai selama eksekusi transaksi pertama.

Sabtu, 13 Juni 2009

NORMALISASI RUMAH SAKIT

Teknik Normalisasi menggunakan bentuk-bentuk ditiap pembuatannya. Bentuk inilah yang membagi tiap elemen data pada table-tabel yang sesuai dengan ini relasi yang terjadipun terlihat. Ada beberapa macam bentuk normalisasi diantaranya :
  1. Bentuk tidak normal : bentuk yang mengambil data sesuai dengan apa yang ada dalam file tersebut. Data ini juga ada yang berganda karna ditulis apa adanya.
  2. Bentuk normal 1 (1NF) : bentuk ini digunakan untuk menghilangkan penggandaan data yang terjadi pada data tak normal. Pada bentuk 1NF terdapat ketergantungan parsial yaitu ada beberapa kunci yang jadi kunci utama.
  3. Bentuk normal 2 (2NF) : bentuk ini menggambarkan ketergantungan terhadap kunci utama. Field yang bukan kunci utama mengikuti kunci utama sesuai dengan data. Bentuk ke 2 ini yang membentuk table-tabel yang relavan.
  4. Bentuk normal 3 (3NF) : bentuk ini digunakan untuk menghilangkan ketergantungan parsial yang mungkin terjadi pada normal 2 NF. Jadi pada bentuk 3NF semua atribut yang bukan kunci harus menjadi bagian dari kunci yang sesuai(primary key) dan tidak adalagi ketergantungan parsial.
  5. Bentuk CNF : bentuk ini menggunkan superkey pada nomal 1nya agar tiap attribute tergantung pada superkey.
  6. Bentuk normal 4 (4NF): bentuk ini ada apabila bentuk CNF terbentuk karena bentuk ini akan mengandalkan ketergantungan fungsional.
  7. Bentuk normak 5 (5NF) : bentuk ini digunakan apabila ada normal 4 fungsinya untuk menghilangkan ketergantungan fungsional.

Berikut ini adalah contoh kasus pembuatan normalisasi 1NF,2NF,3NF pada data periksa pasien di rumah sakit unifarma :


  1. UNORMALIZED (Tak Normal)
    Ket : ini adalah atribut yang ada pada data pasien rumah sakit unifarma yang belum dilakukan normalisasi apapun/apa adanya.
  2. 1NF (Normal 1)
    Ket : * candidate key bentuk normal ini tidak ada penggandaan dan sudah ada atribut yang menjadi candidate key
  3. 2NF (Normal2)
    Ket : * Primary key
    ** foreign key
    Dalam normal ke 2 ini table mulai terbentuk secara relevan dan sudah terlihat hubungan parsial yang ada pada tabel-tabel tersebut. Ini terlihat dari atribut yang sudah menjadi primary key, dan hubungan parsial dilihat dari adanya foreign key yanitu penanda pelngkapan suatu relasi yang menunujuk induknya.
  4. 3NF (Normal3)
    Ket : * primary key
    ** foreign key
    Dalam normal tiga kita bisa melihat hubungan parsial yang menghilang pada tiap tabelnya. Tabel berdiri sendiri dan relasinya pun terlihat lebih jelas.

Setelah Teknik normalisasi ini selesai dilakukan kita bias memulai membuat suatu program karena dari normalisasi kita bias melihat relasi dari sebuah data secara jelas.

Sabtu, 30 Mei 2009

Database dengan MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
SQL dipublikasikan oleh E.F.Codd (1970) mengenai mode relational. Kemudian pada tahun 1974, D.Chamberlin dan R.F Boyce mengembangkan bahasa query untuk memanipulasi dan mengekstrak data dari database relational.Pada tulisan saya kali ini saya akan memberikan contoh pembuatan database tentang LPK (Lembaga Pendidikan Kursus) dengan menggunakan MySQL.


Database tersebut terdiri dari tiga tabel yaitu :
1. Tabel siswa yang terdiri dari field-field sebagai berikut :
- NIS dengan type data char(8)
- Nama_siswa dengan type data char(20)
- Alamat dengan type data char(20)
2. Tabel kursus yang terdiri dari field-field sebagai berikut :
- ID_kursus dengan type data char(8)
- Nama_kursus dengan type data char(15)
- Satuan dengan type data char(8)
3. Tabel instruktur yang terdiri dari field-field sebagai berikut :
- ID_instruktur dengan type data char(3)
- Nama_instruktur dengan type data char(20)
- Alamat dengan type data char(20)

Langkah-langkah membuat database LPK:
1. Pembuatan database
Sintaks : CREATE DATABASE (nama_database)
Aplikasi sintaks : mysql> CREATE DATABASE LPK;
2. Melihat daftar database yang telah dibuat
Sintaks : SHOW DATABASES
Aplikasi sintaks : mysql> SHOW DATABASE;
3. Mengaktifkan database yang telah dibuat
Sintaks : USE (nama_database)
Aplikasi sintaks : mysql> USE LPK;

4. Pembuatan tabel
Sintaks : CREATE TABLE (nama_tabel)
(nama_kolom1,type_data_kolom1,nama_kolom2,type_data_kolom2,…)
Aplikasi sintaks :
mysql> CREATE TABLE SISWA (
->NIS CHAR(8) NOT NULL,
->NAMA CHAR(20) NOT NULL,
->ALAMAT CHAR(20) NOT NULL
-> );
mysql> CREATE TABLE KURSUS (
->ID_KURSUS CHAR(8) NOT NULL,
->NAMA_KURSUS CHAR(15) NOT NULL,
->SATUAN CHAR(8) NOT NULL
-> );
mysql> CREATE TABLE INSTRUKTUR (
->ID_INSTRUKTUR CHAR(3) NOT NULL,
->NAMA_INSTRUKTUR CHAR(20) NOT NULL,
->ALAMAT CHAR(20) NOT NULL
-> );

5. Melihat daftar tabel yang telah dibuat
Sintaks : SHOW TABLES
Aplikasi sintaks : mysql> SHOW TABLES;
6. Melihat struktur tabel yang telah dibuat
Sintaks : DESCRIBE (nama_tabel)
Aplikasi sintaks :
mysql> DESCRIBE SISWA;
mysql> DESCRIBE KURSUS;
mysql> DESCRIBE INSTRUKTUR;




7. Mengisi data baru kedalam tabel
Sintaks : INSER INTO (nama_tabel) values (“Data kolom1”,”Data kolom2”,….);
Aplikasi sintaks :
Jika hanya mengisi Satu data saja
mysql> INSERT INTO SISWA
->VALUES (“12074941”,”Astrilyana”,”Halim Perdana Kusuma”)
-> ;
Jika mengisi lebih dari satu data
mysql> INSERT INTO SISWA
->VALUES
->(“12074941”,”Astrilyana”,”Halim Perdana Kusuma”)
->(“12074949”,”Rujayanti Utami”,”Cipinag Raya”)
->;


8. Menampilkan data yang telah dimasukkan pada tabel
Sintaks : SELECT * FROM (nama_tabel)
Aplikasi sintaks :
mysql> SELECT * FROM SISWA;
mysql> SELECT * FROM KURSUS;
mysql> SELECT * FROM INSTRUKTUR;

Jumat, 10 April 2009

Model Data Berbasis Objek pada Database Perbaikan Hardware

ER-Model








Semantic Model







Relational Model





Hirarki Model


Jaringan Model

Senin, 06 April 2009

Penggunaan Bahasa DDL & DML

Pada suatu database yang memiliki Enterprise bisa digunakan dua bahasa program yaitu DDl & DML. Bahasa tersebut yang akan mempermudah pengerjaan database. Setiap Bahasa memilki perintah berbeda dengan fungsinya masing-masing. Seperti dalam bahasa DDL ada perintah :
1. Create :dalam aplikasi Ms. Acsees digunakan untuk mebuat tabel baru, dengan cara Create Table in Design View ataupun dengan Create Table by Using Wizard.
Seperti terlihat pada gamabr berikut :
rikut adalah tampilan Create untuk membuat tabel ENTERPRISE :

         Gambar1.0 DDL Create

Setelah Create selesai input data yang menjadi dasar database seperti :




2. Modify : pada Ms. Acsess perintah ini adalah Design View yang merupakan perintah untuk kembali mendesain database sesuai keperluan. 
Seperti gambar berikut ini :


Itu adalah beberapa perintah pada bahasa DDL. Selain itu ada juga bahasa lain yaitu DML dengan perintah :
1. Query : tampilan perhubungan atau relasi pada Ms. Acsess. Query berisi hubungan tiap tabel databse yang dipilih sesuai dengan laporan data yang diperlukan.
Contoh gambar Query:


2. Form : Tampilan yang biasa dilihat seorang user. Pada form terdapat beberapa bahasa DML yang tertampil pada command button seperti :
    --> Add :  perintah dalam menambahkan record
    --> Delete : perintah dalam menghapus data
    --> Find : perintah dalam mencari data
    --> Save : perintah dalam menyimpan data
    --> Exit : perintah dalam keluar dari form.
Berikut adalah tampilannya ;


3. Replace : Pemberitahuan ketika kita mengkopi data yang sudah ada.
Berikut adalah tampilannya ;


Itulah sebagian bagian-bagian dari penggunaan bahasa DDL & DML pada suatu database. 

Minggu, 29 Maret 2009

Enterprise Perbaikan Hardware


Gambar 1.0 Enterprise Hardware


Pada sebuah perusahaan database merupakan bagian yang dianggap penting karena ini menjadi dasar dalam setiap hal yang dilakukan perusahaan tersebut. Database biasanya saling berhubungan setiap departemennya. Hal ini diperlukan untuk mempermudah pembuatan laporan. Salah satu bagian dari database sebuah perusahaan komputer yang bergerak dalam bidang penjualan komputer adalah database mengenai layanan perbaikan. Sebagai contoh adalah database layanan komputer bidang kerusakan hardware. Dalam database ini diperlukan relasi yang sesuai sehingga dalam pelaksanaannya akan mudah dilakukan. Berikut salah satu contoh relasi database tersebut :

Dalam database tersebut terdapat table-tabel yang datanya saling berhubungan atau punya relasi. Seperti Tabel Member yang memuat data pribadi member perusahaan tersebut. Data ini berhubungan erat dengan Tabel Data Layanan untuk mempermudah dalam melakukan tindakan perbaikan. Dimulai dengan hubungan dengan Tabel Hardware yang memuat kode serta jenis hardwarenya juga behubungan dengan jumlah stock perusahaan apa masih ada bila harus mengganti hardware. Setelah itu data itu akan berhubungan dengan kerusakan yang terjadi pada hardware tersebut. Hal ini dapat dilihat dari Tabel Kerusakan. Saat kerusakan telah diketahui maka akan mudah menentukan chapter atau teknisi yang menangani kerusakan tersebut sesuai dengan keahliannya. Data ini dapat dilihat pada Tabel Chapter. Oleh sebab itu data dalam database ini saling memilki Hubungan yang penting. Ini membantu dalam proses penyelesaian administrasi atau komplain dari member bila terjadi kesalahan. Hal ini membuktikan bahwa databse pada sebuah perusahaan sangat penting agar data dapat dipertanggung jawabkan.