MERANCANG APLIKASI BERBASIS DATABASE MENGGUNAKAN ERD ATAU CLASS DIAGRAM-UML

Written by Shendriati Lombe on Minggu, 03 Juni 2012 at 22.22


MERANCANG APLIKASI BERBASIS DATABASE MENGGUNAKAN ERD ATAU CLASS DIAGRAM-UML

CLASS DIAGRAM
l  Menggambarkan Objek/Class Pada Sistem
Contoh :
Object Class Program
Tabel Data Pada Database

OBJECT - CLASS DIAGRAM
l  Attribut
l  Operation/Function/Method
l  RelationShip
l  Note / Keterangan (Optional)

TABEL CLASS DIAGRAM


 CLASS ICON – CLASS DIAGRAM


RELATION – CLASS DIAGRAM



KARDINALITAS  RELATION – CLASS DIAGRAM
kardinalitas
Arti
Keterangan/Contoh
 0..1
Kosong atau satu
 
 0..*
Lebih dari sama  dengan kosong
 
 0..n
Lebih dari sama dengan n, dimana n lebih dari 1
 0..3
 1
Hanya satu
 
 1..*
Lebih dari sama dengan satu
 
 1..n
Lebih dari sama dengan satu dimana n lebih dari satu
 1..5
 *
Banyak atau Many
 
 N
Hanya N, dimana N lebih dari satu
 9
 n..*
Lebih dari sama dengan N dimana N lebih dari satu
 7..*
 n..m
Lebih dari sama dengan N dan kurang dari sama dengan M. Dimana M dan N lebih dari satu.
 3..10

INDIKATOR RELATION – CLASS DIAGRAM




INDIKATOR VARIABLE – CLASS DIAGRAM

Public
 
 # 
Protected

 - 
Private
 
 $
Static

 / 
Drived
 Atribut tidak standar
 *
Abstrak
 Fungsi tidak standar



UML (Unified Modeling Language)
UML (Unified Modeling Language) merupakan pengganti dari metode analisis berorientasi object dan design berorientasi object (OOA & OOD) yang dimunculkan sekitar akhir tahun 80-an dan awal tahun 90-an.
UML merupakan gabungan dari metode Grady Booch (Booch Method), James Rumbaugh (OMT) dan Ivar Jacobson (OOSE). Tetapi UML ini akan mencakup lebih luas daripada OOA&D. Pada pertengahan pengembangan UML dilakukan standarisasi proses dengan OMG (Object Management Group) dengan harapan UML akan menjadi bahasa standar pemodelan pada masa yang akan datang.
UML disebut sebagai bahasa pemodelan bukan metode. Kebanyakan metode terdiri paling sedikit prinsip, bahasa pemodelan dan proses. Bahasa pemodelan (sebagian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat.
Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian kunci tertentu untuk komunikasi. Jika anda ingin berdiskusi tentang desain dengan seseorang, maka Anda hanya membutuhkan bahasa pemodelan bukan proses yang digunakan untuk mendapatkan desain.
UML merupakan bahasa standar untuk penulisan Blueprint Software yang digunakan untuk Visualisasi (Visualize), Spesifikasi (Specify), Pembentukan (Construct) dan Pendokumentasian (Documentation) alat-alat dari sistem perangkat lunak.
UML merupakan suatu model eksplisit yang menggambarkan komunikasi informasi pada sistem. Sehingga kita tidak kehilangan informasi code implementasi yang hilang dikarenakan developer memotong coding dari implementasi.
1. Specifying, UML sebagai bahasa untuk menspesifikasikan sistem
Maksudnya membangun model yang sesuai, tidak ambigu dan lengkap. Pada faktanya UML menunjukan semua spesifikasi keputusan analisis, desain dan implementasi yang penting yang harus dibuat pada saat pengembangan dan penyebaran dari sistem software intensif.
2. Constructing, UML sebagai bahasa untuk membangun sistem
UML bukan bahasa pemograman visual, tetapi model UML dapat dikoneksikan secara langsung pada bahasa pemograman visual. Maksudnya membangun model yang dapat dimapping ke bahasa pemograman seperti java, C++, VB atau tabel pada database relational atau penyimpanan tetap pada database berorientasi object.
3. Documenting, UML sebagai bahasa untuk pendokumentasian sistem
Maksudnya UML menunjukan dokumentasi dari arsitektur sistem dan detail dari semuanya.UML hanya memberikan bahasa untuk memperlihatkan permintaan dan untuk tes. UML menyediakan bahasa untuk memodelkan aktifitas dari perencanaan project dan manajemen pelepasan (release management).
  • Ø Area dan Tujuan Penggunaan UML
UML (Unified Modeling Language) digunakan paling efektif pada domain seperti:
  1. Sistem Informasi Perusahaan
  2. Sistem Perbankan dan Perekonomian
  3. Bidang Telekomunikasi
  4. Bidang Transportasi
  5. Bidang Penerbangan
  6. Bidang Perdagangan
  7. Bidang Pelayanan Elekronik
  8. Bidang Pengetahuan
  9. Bidang Pelayanan Berbasis Web Terdistribusi
UML tidak terbatas untuk pemodelan software saja. Pada faktanya UML banyak digunakan untuk memodelkan sistem non-software seperti:
  1. Aliran kerja pada sistem perundangan.
  2. Struktur dan kelakuan dari Sistem Kepedulian Kesehatan Pasien
  3. Desain hardware dll.
Tujuan penggunaan UML adalah, sebagai berikut:
  1. Memodelkan suatu sistem (bukan hanya perangkat lunak) yang menggunakan konsep berorientasi object
  2. Menciptakan suatu bahasa pemodelan yang dapat digunakan baik oleh manusia maupun mesin.

Entity Relationship Diagram(ERD)
Sebelum melakukan perancangan basis data dengan menggunakan ERD, maka terlebih dahulu ditentukan entity-entity yang akan terlibat beserta atributnya masing-masing, yaitu sbb :        
 1. Entity Passenger, Attribute : Nama, no.KTP, alamat, Jenis kelamin, dan No. Telepon.
 2. Entity Teller, Attribute: Nold dan Nama
 3. Entity Data_Penerbangan, Attribute : No.penerbangan,Maskapai,kelas,asal, tujuan,waktu dan harga tiket.
4.Entity Tiket, Attribute, No.tiket,No.KTP, Nama,No.Penerbangan,Kelas,Asal,Tujuan, Tanggal,Pukul,dan No.rekening
5. Entity Login, Attribute :User.Id, dan Password
6. Entity Bank, Attribute : NamaBank, Alamat,        dan No. Rekening

Contoh
Kasus reservasi tiket pesawat
Reservasi tiket pesawat merupakan suatu proses pembelian tiket pesawat yang dillakukan oleh passanger mulai dari melihat jadwal, pembayaran harga tiket, dan sampai pada tiket yang sudah dicetak dan siap digunakan. 

Bentuk ERD



Bentuk UML

passanger
+Noktp:string
+Nama:string
+Alamat:s: tring
+Jeniskelamin: string
+telepon:int

Teller
+no_id:int
nama:string


Data_penerbangan
+no_per: int
+Maskapai:string
+kelas:string
+asal:string
+tujuan:string
+tanggal:date
+pukul:int
+harga : int




tiket
+No_tiket:int
+no_telp:int
+nama:string
+no_per:int
+kelas:string
+asal:string
+tujuan:string
+tanggal:date
+pukul:int
+no_rek:int




Bank
+No_rek:int
+alamat:string
+nma_bank:string

login
+user_id:string
+password:string



Tabel



 


NORMALISASI DATABASE

Written by Shendriati Lombe on at 22.19



Normalisasi Database

     Normalisasi merupakan sebuah upaya untuk memperoleh sebuah database dengan struktur yang baik dengan cara menerapkan sejumlah aturan pada setiap tabel agar ruang penyimpanan efisien. Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi beberapa tabel untuk mendapat database yang optimal
               
Istilah penting dalam teknik normalisasi

¨  Field / atribut kunci. Setiap file selalu terdapat kunci dari file berupa satu field atau satu field yang dapat mewakili record.

¨  Candidate key. Kumpulan atribut minimal yang secara unik mengidentifikasi sebuah baris fungsinya sebagai calon primary key.

¨  Composite key. Kunci kandidat yang berisi lebih dari satu atribut

¨  Primary key. Candidate key yang dipilih untuk mengidentifikasi baris secara unik

¨  Alternate key. Candidate key yang tidak dipilih sebagai primary key

¨  Foreign key. Key di tabel lain yang terhubung dengan primary key pada sebuah tabel
Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:
  1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya  harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
  2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
  3. Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)
Boyce-Code Normal Form (BCNF)
Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal  tahap ketiga (3rd Normal Form / 3NF).

FUNCTIONAL DEPENDENCY (FD)
Notasi: A à B   A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama
Notasi: A  –> B atau  A   x –> B Adalah kebalikan dari notasi sebelumnya
Aturan normalisasi
  1. Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
  2. Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)
  3. Bentuk Normal Tahap (3rd Normal Form / 3NF)
  4. Boyce-Code Normal Form (BCNF)
  5. Bentuk Normal Tahap (4th Normal Form / 4NF)
  6. Bentuk Normal Tahap (5th Normal Form / 5NF)
Aturan normalisasi
1. Normalisasi Pertama (1st Normal Form)
¨  Mendefinisikan atribut kunci
¨  Tidak adanya group berulang
¨  Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
2. Normalisasi Kedua (2nd Normal Form)
¨  Sudah memenuhi dalam bentuk normal kesatu
¨  Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.
3. Normalisasi Ketiga (3rd Normal Form)
¨  Sudah berada dalam bentuk normal kedua
¨  Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).
4. Boyce-Code Normal Form (BCNF)
¨  Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk:               X à Y
¨  tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi
¨  Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X à A, BCNF tidak membolehkan A sebagai bagian dari primary key.
5. Normalisasi Keempat (4rd Normal Form)
¨  Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute
¨  Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies
6. Normalisasi Kelima (5rd Normal Form)
¨  Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil.
¨  Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula

Contoh Kasus
Perancangan Basis data pengolahan nilai
1.Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat








Nama



Mata_Kuliah



Predikat










2.  Menentukan atribut-atribut key dari masing-masing himpunan entitas
nama
+Nama_mahasiswa:string
+Nim:string
+Tgl_lahir:date
                                

Mata_kuliah
+Kode matakuliah:string
+Nama_matakuliah:string
+sks:int


predikat
+Nilai:int
+bobot:string

4.Mengidentfikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta foreign key-nya
http://1.bp.blogspot.com/-DkMz6MFxDXI/T8izMz32loI/AAAAAAAAAJ0/DQJ1b4zsQQQ/s320/Untitled.png

5.Normalisasi


Tahap 1 belum di normalisasi

Penilaian

Nama_mahasiswa
nim
Tgl_lahir
Kode_mtakuliah
Nama_matakuliah
sks
nilai
bobot
Reynald
73823
03/04/1992
M1012
Matematika
3
A
4


03/04/1992
F11023
Fisika dasar
3
A
4
Reni
27973
25/03/1993
M1012
matematika
3
B
3
Frederick
83298
30/12/1993
B12933
Bahasa indonesia
3
A
4

83298

E23982
ekonomi
2
B
3
Tahap 2. Normalisasi tahap 1

Penilaian

Nama_mahasiswa
nim
Tgl_lahir
Kode_mtakuliah
Nama_matakuliah
sks
nilai
bobot
Reynald
73823
03/04/1992
M1012
Matematika
3
A
4
Reynald
73823
03/04/1992
F11023
Fisika dasar
3
A
4
Reni
27973
25/03/1993
M1012
matematika
3
B
3
Frederick
83298
30/12/1993
B12933
Bahasa indonesia
3
A
4
Frederick
83298
30/12/1993
E23982
ekonomi
2
B
3

Tahap 3. Normalisasi tahap 2

Nama

Nama_mahasiswa
nim
Tgl_lahir
Reynald
73823
03/04/1992
Reni
27973
25/03/1993
frederick
83298
30/12/1993

Mata_kuliah

Kode_matakuliah
Nama_matakuliah
sks
M1012
Matematika
3
F11023
Fisika dasar
3
B12933
Bahasa Indonesia
3
E23982
ekonomi
2


Predikat

Nim
Kode_matakuliah
nilai
bobot
73823
M1012
A
4
73823
F11023
A
4
27973
M1012
B
3
83298
B12933
A
4
83298
E23982
B
3

Belum memenuhi bentuk normal ke tiga karena atribut non key nilai dan bobot masih memiliki ketergantungan fungsional

Tahap 4. Normalisasi tahap 3

Tabel predikat dipecah lagi menjadi


nilai

nilai
bobot
A
4
 B
3
C
2
D
1

Diberdayakan oleh Blogger.

Pages

You can replace this text by going to "Layout" and then "Page Elements" section. Edit " About "

Configure your calendar archive widget - Edit archive widget - Flat List - Newest first - Choose any Month/Year Format

Followers

About the author

This is the area where you will put in information about who you are, your experience blogging, and what your blog is about. You aren't limited, however, to just putting a biography. You can put whatever you please.