Friday, November 30, 2012

Model Konseptual basis data

 

Perancangan model konseptual basis data dalam sebuah organisasi menjadi tugas dari Administrator basis data. Model konseptual merupakan kombinasi beberapa cara untuk memproses data untuk beberapa aplikasi. Model konseptual tidak tergantung pada aplikasi individual, DBMS digunakan, Hardware komputer dan model fisiknya.

Pada perancangan model konseptual basis data ini penekanan dilakukan pada struktur data dan relasi antara file. Pada perancangan model konseptual ini dapat dilakukan dengan menggunakan model data relasional.

Teknik Model Data Realsional ada 2 yaitu :

· Teknik Normalisasi

· Teknik Entity Relationship

 

1.     Teknik Normalisasi

 

 

Proses normalisasi adalah proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi dilakukan pengujian pada beberapa kondisi apakah ada kesulitan pada saatmenambah/menyisipkan, menghapus, mengubah dan mengakses pada suatu

basis data. Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum optimal.

 

Field (Atribut) Kunci

setiap file selalu terdapat kunci dari file berupa field atau satu set field yang dapat mewakili record. Misalnya Nomor Pokok Mahasiswa (NPM) merupakan kunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian cukup dengan menyebut nomor mahasiswa tersebut maka dapat diketahui identitas mahasiswa lainnya seperti nama, alamat dan atribut lainnya.

Nomor Pegawai (NIP) bagi data dosen, NIK untuk data karyawan, Kode_Kuliah untuk data Mata kuliah, dan lain sebagainya.

 

Jenis Atribut Pada Entitas

Atribut yang melekat pada suatu entitas ada bermacam tipe seperti yang akan

dijelaskan sebagai berikut :

 

Atribut Sederhana

Atribut sederhana merupakan atribut atomik yang tidak dapat lagi dipecah menjadi atribut lain. Contoh Entitas mahasiswa mempunyai atribut sederhana berupa NIM, Nama Mahasiswa .

Atribut Komposit

atribut komposit merupakan atribut yang masih dapat dipecah menjadi sub-sub atribut yang masing-masing memiliki arti tesendiri.

Contoh : entitas mahasiswa mempunyai atribut alamat. Alamat disini dapat

dipecah menjadi sub atribut seperti nama_kota, kode_pos.

Atribut Bernilai Tunggal:

yaitu atribut yang hanya memiliki satu nilai untuk setiap barisnya. Contoh : entitas mahasiswa mempunyai atribut NPM, Nama, Alamat isi data dari atribut ini hanya boleh diisi dengan 1 data. Setiap mahasiswa hanya memiliki 1 NPM, 1 Nama, 1 Alamat.

Atribut Bernilai Jamak

 yaitu atribut yang boleh memiliki lebih dari satu nilai untuk setiap barisnya.

Contoh : entitas mahasiswa mempunyai atribut Hobby isi data dari atribut ini

boleh lebih dari 1 data. Mahasiswa Roshita memiliki NPM 13402021

beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga,

Nyanyi, Masak dan Nonton TV)

Atribut Harus Bernilai

 yaitu atribut yang harus memiliki nilai data untuk setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan dalam perancangan tabelnya sehingga jika dalam pengisian dokosongi akan terjadi kesalahan.

Contoh : entitas mahasiswa mempunyai atribut NPM dan Nama_Mahasiswa

yang harus diisi datanya, sebab jika tidak diisi akan terjadi kekacauan dalam

basis data.

Atribut Bernilai Null

 yaitu atribut yang boleh tidak memiliki nilai data untuk setiap barisnya.

Contoh : entitas mahasiswa mempunyai atribut Alamat, Hobby, Nama_Pacar

yang boleh untuk tidak diisi tetapi kalau diisi akan lebih baik,

Atribut Turunan: yaitu atribut yang nilai-nilainya diperoleh dari pengolahan

atau dapat diturunkan dari atribut lain yang berkaitan.

Contoh : entitas mahasiswa mempunyai atribut IPK yang diperoleh dari pengolahan atribut Nilai pada tabel (entitas Nilai) dengan kode NIM mahasiswa yang sama dan diproses sehingga menghasilkan IPK untuk mahasiswa yang bersangkutan..

 

Kunci Kandidat (Candidate Key)

Kunci kandidat adalah satu atribut atau satu set atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entity. Satu set atribut menyatakan secara tidak langsung dimana anda tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik.

Jika kunci kandidat berisi lebih dari satu atribut, maka biasanya disebut sebagai composite key (kunci campuran atau gabungan).

Contoh :

File mahasiswa berisi :

·        Nomor Pegawai

·        No KTP

·        Nama Pegawai

·        Tempat Lahir

·        Tanggal Lahir

·        Alamat

·        Kota

Kunci kandidat dalam file mahasiswa di atas dapat dipilih sbb :

·        Nomor Pegawai

·        No KTP

·        Nama (tidak dapat dipakai karena sering seseorang punya nama yang

sama dengan orang lain)

·        Nama + Tanggal Lahir (mungkin bisa dipakai sebagai kunci karena

kemungkinan orang dengan nama yang sama dan tanggal lahir yang

sama cukup kecil)

·        Nama + Tempat Lahir + Tanggal Lahir (dapat dipakai sebagai kunci)

·        Alamat dan Kota (bukan kunci)

 

Kunci Primer (Primery Key)

Primary key adalah satu atribut atau satu set minimal atribut yang tidak hanya

mengidentifikasi secara unik suatu kekadian spesifik, tetapi juga dapat mewakili setiap kejadian dari suatu entity.

Setiap kunci kandidat dapat menjadi kunci primer tetapi sebaliknya sebaiknya

dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yang

ada.

Contoh :

·        No Pegawai (karena sifatnya yang unik maka tidak mungkin pegawai

mempunyai Nomor Pegawai yang sama).

·        No KTP (Bisa dipakai misalnya untuk pegawai yang baru belum

mendapatkan nomor pegawai maka bisa digunakan nomor KTP untuk

sementara sebagai kunci primer.

·        Kode_Kuliah (bisa dipakai untuk data mata kuliah karena kode mata

kuliah bersifat unik untuk tiap mata kuliah)

 

Kunci Alternatif (Alternate Key)

Kunci alternatif adalah kunci kandidat yang tidak dipakai sebagai kunci primer.

Kunci alternatif ini sering digunakan untuk kunci pengurutan misalnya dalam

laporan.

 

Kunci Tamu (Foreign Key)

Kunci tamu adalah satu atribut aatau satu set minimal atribut yang melengkapi satu hubungan yang menunjukkan ke induknya. kunci tamu ditempatkan pada entity anak dan sama dengan kunci primer induk yang direlasikan. Hubungan antara entity induk dengan anak adalah hubungan satu lawan banyak (one to many relationship)

Contoh :

File Transaksi Gaji Bulanan

·        No Pegawai

·        No Bukti

·        Tanggal

·        Jumlah Gaji Kotor

·        Jumlah Potongan

·        Jumlah Gaji Bersih

·        Jumlah Pajak

·        Kunci Tamu

·        No Pegawai (karena Gaji berhubungan dengan file Pegawai)

·        Kunci Primer

·        No Bukti (karena unik dan mewakili entity)

·        Kunci Kandidat

·        No Pegawai + Nomor Bukti (Unik dan menunjukkan hubungan dengan

·        file Pegawai)

Dalam hubungan dua buah file yang punya relationship banyak lawan banyak

maka terdapat 2 kunci tamu pada file konektornya.

Contoh :

File Proyek berisi atribut

·        No Proyek

·        Tgl Mulai

·        Tgl Selesai

·        Anggaran

File Pegawai Berisi Atribut

·        No Pegawai

·        Nama

Hubungan antara file tersebut adalah banyak lawan banyak yaitu satu

pegawai mengerjakan lebih dari 1 proyek dan 1 proyek dikerjakan oleh

beberapa pegawai maka untuk menunjukkan hubungan tersebut dipakai file

konektor yang berisi kunci tamu dari kedua file.

File Proyek Pegawai berisi atribut :

·        No Proyek

·        No Pegawai

·        Jam Kerja

Maka pada file proyek pegawai terdapat kunci tamu yaitu nomor proyek dan

no pegawai. Kedua atribut tersebut juga merupakan kunci primer.

 

Wednesday, June 20, 2012

Variabel dan Tipe Data

Salah satu komponen utama program adalah variabel. Variabel adalah objek di mana informasi dinamis disimpan. Ketika Anda menuliskan nama Anda saat hendak membuat account baru atau proses login ke website, nama yang Anda masukkan akan disimpan dalam variabel sebelum diproses lebih lanjut.

Tidak semua variabel memiliki karakteristik yang sama. Informasi yang dapat disimpan oleh variabel ditentukan berdasarkan jenis atau tipe data variabel terebut. Terdapat berbagai jenis tipe data dalam setiap bahasa pemrograman. Namun, kali ini kita akan melihat beberapa jenis tipe data yang umumnya ada pada hampir seluruh bahasa pemrograman. Tipe-tipe data tersebut antara lain sebagai berikut :

Tipe data Karakter (character/char)                                                          Jenis tipe data ini hanya memungkinkan sebuah variabel menyimpan informasi sebuah single karakter, seperti huruf "P",, "c", "7", atau "@".

Tipe data String                                                                                  Tipe data string ini memungkinkan variabel menyimpan informasi untaian karakter, seperti kata atau kalimat. Dalam contoh sebelumnya, nama yang Anda gunakan pada web form, informasi tersebut akan disimpan dalam variabel bertipe data string.

Tipe data Integer (int)                                                                         Jenis tipe data integer digunakan jika ingin menyimpan informasi angka (bilangan bulat) dalam variabel, tetapi bukan bilangan pecahan. Hal ini berarti nilai "7" akan menjadi nilai integer yang valid.

Tipe data Floating Point Number (float)                                              Jika Anda bermaksud menyimpan informasi angka dengan format pecahan atau angka desimal, floating point adalah jenis tipe data yang sesuai. Angka "65,00" secara teknis merupakan nilai bertipe floating point meskipun nilai tersebut juga dapat direpresentasikan sebagai nilai "65". Jenis tipe data ini membutuhkan ukuran memory yang lebih besar dibandingkan jenis tipe data angka integer.

Tipe data Boolean (bool)                                                                     Jenis tipe data ini biasanya digunakan hanya untuk merepresentasikan dua kondisi, yakni nilai TRUE dan FALSE atau daatberarti bernilai 1 dan 0 atau kondisi ON dan OFF. Jenis tipe data ini merupakan jenis yang paling sederhana, teapi cukup sering digunakan dalam setiap pemrograman.

Tipe data Array                                                                                    Jenis tipe data aray sering disebut juga sebagai tipe data larik. Tipe data ini pada dasarnya merupakan kumpulan sejumlah variabel bertipe data sama dengan ukuran tertentu, yang tersusun secara runtun. Ada beragam variasi dari tipe data array, bergantung pada bahasa pemrograman yang digunakan. Sebagai contoh, nilai "1", "2", "3", "4", dan "5" dapat Anda simpan ke dalam variabel bertipe data array dengan ukuran aray "5" (5 buah nilai, mulai dari 1 sampai dengan 5) yang memiliki kumpulan nilai bertipe integer atau secar sederhana dapat dikatakan array of integer values.

Setiap variabel yang terdapat dalam array dapat diakses dengan menggunakan komponen indeks dari tiap-tiap variabel tersebut. Namun, perlu Anda ketahui bahwa variabel pertama yang ada dalam array bukan memiliki indeks 1, melainkan indeks 0. Menyimpan nilai-nilai tersebut ke dalam variabel bertipe data array akan memudahkan kit untuk melakukan manipulasi terhadap setiap data yang ada dalam array tersebut. perlu diketahui bahwa jenis tipe data string sebenarnya merupakan kumpulan variabel bertipe karakter atau bisa dikatakan array of characters.

Tuesday, March 13, 2012

OSI 7 Layer

Open Systems Interconnection (OSI)

      Dibuat oleh  International Organization for Standardization (ISO)       pada tahun 1984

      Model asitektur untuk komunikasi interkomputer.

     Menjelaskan bagaimana informasi dari software aplikasi pada satu komputer berpindah melalui medium kemudian sampai akhirnya diterima kembali oleh software aplikasi pada komputer yang kedua.

clip_image002
OSI 7-Layer Model

 

Friday, February 3, 2012

Normalisasi

1.   Definisi
Normalisasi adalah suatu teknik untuk mengorganisasikan data ke dalam table-tabel untuk memenuhi kebutuhan pemakai di dalam suatu ogranisasi.

2.   Tujuan dari Normalisasi
·         Untuk menghilang kerangkapan data
·         Untuk mengurangi kompleksitas
·         Untuk mempermudah pemodifikasian data

3.   Proses Normalisasi
·         Data diuraikan dalam bentuk table, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
·        Apabila table yang diuji belum memenuhi persyaratan tertentu, maka table tersebut perlu dipecah menjadi beberapa table yang lebih sederhana sampai memenuhi bentuk yang optimal.
4.   Tahapan Normalisasi
·        Bentuk Tidak Normal
Menghilangkan perulangan group

·        Bentuk Normal Pertama (1 NF)
Menghilangkan Ketergantungan sebagian

·        Bentuk Normal Kedua (2NF)
Menghilangkan Ketergantungan Transitif

·        Bentuk Normal Ketiga (3NF)
Menghilangkan anomali-anomali hasil dari ketergantungan fungsional

·        Bentuk Normal Boyce-Codd (BCNF)
Menghilangkan ketergantungan Multivalue

·        Bentuk Normal Keempat (4NF)
Menghilangkan anomaly-anomali yang tersisa





5.   Ketergantungan Fungsional

Definisi
Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X → R.Y), jika dan hanya jika setiapnilai X pada relasi R mempunyai tepat satu nilai Y pada R.
Misal, terdapat skema database Pemasok-Barang :
Pemasok (No-pem, Na-pem)

Tabel PEMASOK-BARANG
No-pem
  Na-pem
  P01
  P02
  P03
   Ade
   Bona
   Sasi 






Ketergantungan fungsional dari tabel PEMASOK-BARANG
adalah :
No-pem → Na-pem

6.   Ketergantungan Fungsional Penuh

Definisi
Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X (bila X adalah key gabungan)

Contoh : KIRIM BARANG (No-pem, Na-pem,No-bar, Jumlah)


No-pem
    Na-pem
         No-bar
Jumlah
 P01                           Ade                                    B01                       1000
 P01                           Ade                                    B02                       1500
 P01                           Ade                                    B03                       2000
 P02                           Boni                                   B03                       1000
 P03                           Sasi                                    B02                       2000

Ketergantungan fungsional :
No-pem Na → pem
No-bar, No-pem   Jumlah (Tergantung penuh thd keynya)
7.   Ketergantungan Transitif

Definisi
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X  → Y, Y →  Z, maka X →  Z )

Contoh :
Ketergantungan Fungsional :
No-pem  → Kode-kota
Kode-kota →  Kota, maka
No-pem  → Kota

No-pem
Kode-Kota
 Kota
    No-bar
Jumlah
 P01                           1                  Jakarta                       B01               1000
 P01                           1                  Jakarta                       B02               1500
 P01                           1                  Jakarta                       B03               2000
 P02                           3                  Bandung                    B03               1000
 P03                           2                  Surabaya                   B02               2000

Normalisasi
1.   Bentuk Normal Kesatu (1 NF)

Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data
.
Tabel KIRIM-1 (Unnormal)
No-pem
Kode-Kota
Kota
No-bar
Jumlah
 P01                             1                 Jakarta              B01                 1000
                                                                                     B02                 1500
                                                                                     B03                 2000
 P02                             3                Bandung            B03                 1000
 P03                             2                Surabaya           B02                 2000

Tabel KIRIM-2 (1 NF)

No-pem
Kode-Kota
 Kota
No-bar
Jumlah
P01                          1                     Jakarta                 B01              1000
P01                          1                     Jakarta                 B02              1500
P01                          1                     Jakarta                 B03              2000
P02                          3                    Bandung               B03              1000
P03                          2                    Surabaya              B02              2000

2.   Bentuk Normal Kedua (2 NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya.

Tabel PEMASOK-1 (2 NF)

No-pem
Kode-kota
    Kota
P01                         1                      Jakarta
P02                         3                     Bandung
P03                         2                     Surabaya

3.   Bentuk Normal Ketiga (3 NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya.

Tabel KIRIM-3 (3 NF)

No-pem
   No-bar
Jumlah
     P01               B01                        1000
     P01               B02                        1500
     P01               B03                        2000
     P02               B03                        1000
     P03               B02                        2000

Tabel PEMASOK-2 (3 NF)                                Tabel PEMASOK-3 (3 NF)
Kode-kota     
   Kota

1                           Jakarta
      2                        Surabaya
      3                        Bandung

No-pem
Kode-kota
P01                         1
P02                         3
P03                         2