Pemodelan Database Akses Data dengan ADO.NET Untuk menampilkan data dari database menggunakan ADO.NET dilakukan urut-urutan sebagai berikut: 1. Membuka koneksi ke database dengan obyek Connection. 2. Melancarkan perintah SQL dengan obyek Command. 3. Tersedia 2 pilihan untuk menampilkan data, yaitu dengan DataSet atau DataReader. Obyek DataSet digunakan apabila Anda akan melakukan proses update dan manipulasi data di client. Sedangkan jika data hanya ditampilkan (read only) atau eksekusi perintah tanpa menampilkan data maka digunakan DataReader. 4. Mengkaitkan data DataReader atau DataSet ke web control, misalnya DataGrid. 5. Menutup koneksi yang sudah tidak terpakai. Suatu bahasa pemrograman, disebut sebagai bahasa yang mendukung pemrograman berorientasi obyek/Object Oriented Programming (OOP) jika dapat mendukung kriteria sebagai berikut : - Abstraksi (Abstraction) - Enkapsulasi (Encapsulation) - Polimorfisme (Polymorphism) - Pewarisan (Inheritance) Abstraksi adalah menerjemahkan permasalahan ke dalam obyek abstrak yang merepresentasikan permasalahan tersebut Contoh : 1. Bagaimana kita dapat menerjemahkan permasalahan / memodelkan : pembayaran tagihan ? 2. Bagaimana kita dapat menerjemahkan permasalahan / memodelkan : membersihkan rumah Definisi OOP Ada dua metode dalam mendesain dan membuat konstruksi perangkat lunak yaitu pemrograman terstruktur dan pemrograman berorientasi objek. OOP adalah metode pemrograman di mana pengembang tidak hanya mendefinisikan tipe data dari struktur data tetapi juga tipe dari operasi (fungsi) yang dapat diaplikasikan ke struktur data. Pada cara ini struktur data menjadi objek yang memiliki data dan fungsi. Pengembangpun dapat membuat relasi antara suatu objek dengan lainnya. Salah satu keunggulan OOP dibandingkan teknik pemrograman terstruktur adalah OOP memungkinkan pengembang untuk membuat modul yang tidak perlu berubah ketika suatu tipe objek yang baru ditambahkan.Pengembang dapat membuat suatu objek baru yang mewarisi beberapa fitur dari objek yang sudah ada. Hal ini membuat OOP mudah dimodifikasi. Suatu bahasa pemrograman dikatakan mendukung secara penuh OOP jika memilki semua fitur berikut ini: a. Abstraction. Abstraksi merupakan kemampuan suatu bahasa pemrograman untuk mengubah suatu konsep menjadi representasi abstrak dari konsep dalam suatu program. Contohnya objek pelanggan adalah representasi abstrak dari pelanggan dalam dunia nyata. Suatu objek recordset merupakan representasi abstrak dari sekumpulan data. b. Encapsulation. Merupakan konsep untuk memisahkan interface (kumpulan dari method, property atau event yang saling berhubungan) dengan implementasinya. Tujuannya sebenarnya untuk menyembunyikan property dan method dari suatu objek, dan hanya menampilkan method / property yang dibutuhkan. Property / method yang ditampilkan dari suatu objek dikenal dengan istilah interface. Melalui interface inilah suatu objek dapat digunakan. c. Polymorphism Memungkinkan pengembang memakai method yang sama pada class– class yang berbeda dan memungkinkan method yang tepat dieksekusi berdasarkan konteks yang memanggilnya. d. Inheritance Kemampuan untuk membentuk class turunan yang mewarisi property dan method dari class induk (base class). Sebagai contoh, kita membentuk suatu class employee, dimana di dalam class ini kita mempunyai property : Nama dan Gaji dan satu buah method yaitu Speak. Enkapsulasi berarti menyembunyikan detail obyek terhadap program yang menggunakan obyek tersebut, atau dikenal dengan istilah Model Operasi : “black box” - Kita tahu apa yang ada di black box, apa yang dapat dihasilkan dan apa yang di dapat dimasukan / diperlukan, tetapi kita tidak tahu apa yang terjadi didalamnya Misal Obyek : Mobil o Nama String o Jenis String o Pintu Integer o Roda Integer o StatusMesin Boolean : hidup / mati o bukaPintu (integer : NoPintu) o tutupPintu (integer : NoPintu) o hidupkanMesin o matikanMesin o hidupkanLampuSign (integer : NoLampu) o tambahKecepatan (integer : kecepatan) o KurangiKecepatan (integer : kecepatan) Untuk menghidupkan mobil kita cukup menggunakan metode : mobil.hidupkanMesin – kita tidak perlu tahu detail bagaimana proses didalam metode hidupkanMesin Polimorfisme merupakan sebutan yang komplek untuk sesuatu yang sederhana. Bahwa obyek yang berbeda dapat memiliki metode dengan nama yang sama, dengan proses yang berbeda. Contoh : Metode buka untuk obyek Botol, berbeda dengan metode buka pada obyek Pintu Pewarisan merupakan proses mewariskan/menurunkan properti dasar dari suatu obyek kepada obyek baru dan memodifikasi obyek baru dengan properti tambahan. Contoh : Motor dan Mobil keduanya mewariskan properti dari obyek Kendaraan Objek, Class, Method dan Field Class adalah blueprint / cetak biru atau templateatau spesifikasi dari objek. Dengan kata lain class merupakan representasi abstrak dari objek, sedangkan objek adalah representasi nyata atau instance (perwujudan) dari class. Class merupakan unit dasar pemrograman berorientasi objek. Class dapat berisi property, field, method dan event dari objek. Gabungan property, field, methods dan event umumnya disebut sebagai members dari class. Field dan Property berisi informasi atau attribut yang terdapat dalam suatu objek. Field mirip dengan variabel, yang dapat dibaca dan diset secara langsung. Property dapat dibaca dan diset seperti field, tetapi implementasinya menggunakan prosedur property Get dan Set. Model Data Menyatakan hubungan antardata dalam database Ada tiga macam model data dasar Hierarkis Jaringan Relasional Model Hierarkis Dikenal pula sebagai model pohon Dosen Siti Nurbaya Algoritma Rudi Asti Dosen Ashadi VB.Net Dina Dina Matematika I Edi Ita Edi Model Jaringan Disebut juga model CODASYL Setiap anak bisa memiliki lebih dari satu orangtua Dosen Siti Nurbaya Algoritma Rudi Asti Dosen Ashadi VB.Net Dina Matematika I Edi Ita Model Relasional Merupakan model data yang paling populer saat ini Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau tabel) Memakai kunci tamu (foreign key) sebagai penghubung dengan tabel lain Nama Dosen Kelas Mahasiswa Siti Nurbaya Algoritma Rudi Siti Nurbaya Algoritma Asti Siti Nurbaya Algoritma Dina Siti Nurbaya VB.Net Dina Siti Nurbaya VB.Net Edi Ashadi Matematika I Ita Ashadi Matematika I Edi Konsep Dasar Basis Data Field Field merupakan implementasi dari suatu atribut data. Field merupakan unit terkecil dari data yang berarti(meaningful data) yang disimpan dalam suatu file atau basis data. Record Field-field tersebut diorganisasikan dalam record-record Record merupakan koleksi dari field-field yang disusun dalam format yang telah ditentukan. Selama desain sistem, record akan diklasifikasikan sebagai fixed-length record atau variable-length record. Konsep Dasar Basis Data(1) Selama desain sistem, record akan diklasifikasikan sebagai fixed-length record atau variable-length record. • • Fixed-length record: tiap instance record punya field, jumlah field, dan ukuran logik yang sama Variable-length record : mengijinkan record-record yang berbeda dalam file yang sama memiliki panjang yang berbeda. File dan Tabel Record-record yang serupa diorganisasikan dalam grup-grup yang disebut file. Jadi file merupakan kumpulan semua kejadian dari struktur record yang diberikan. Tabel merupakan ekivalen basis data relasional dari sebuah file. Beberapa tipe File meliputi : Operasi dasar pada Database Menambah data Membaca data Mengubah data Menghapus data Kunci(key) Kunci merupakan elemen record yang dipakai untuk menemukan record tersebut pada waktu akses atau bisa digunakan untuk identifikasi tiap record. Jenis-jenis kunci : Superkey Candidat key Primary key Alternate key Foreign key External key Kunci(key) (1) Superkey : kumpulan atribut dari suatu tabel yang dapat digunakan untuk mengidentifikasi entity atau record dari tabel tersebut secara unik Candidate key : superkey dengan jumlah atribut minimal. Candidat key ini tidak boleh berisi atribut dari tabel yang lain Candidat key ID_cus Name No.of Pay Amount 112233 Tim 890 9000 112231 Gabry 891 8000 112241 Holy 895 10000 Kunci(key) (2) Primary key :Salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb : Key tersebut lebih natural untuk dijadikan acuan Key tersebut lebih sederhana Key tersebut cukup uniqe Alternate key :Setiap atribut dari candidate key yang tidak terpilih sebagai primary key akan dinamakan alternate key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya adalah No.of Pay Foreign key : merupakan sembarang atribut yang menunjuk kepada primary key pada tabel lain. Akan terjadi pada suatu relasi yang memiliki kardinalitas one to many atau many to many Kunci(key) (3) Foreign key (cont’) KODE MK SKS KDDosen KD-Dosen Nama_Dosen TEL 100 Fisika 3 D-101 D-100 Badu,S.T TEL 200 Isyarat 2 D-109 D-101 Ir.Thomas TEL 210 T.Kendali 2 D-101 D-109 Harry,S.T,M.T Primary key Foreign key Primary key Tahapan Perancangan Database Perancangan secara konseptual Perancangan secara logis Diagram konteks DFD Model ER Translasi model ER ke Model Relasional Perancangan secara fisik Penciptaan database, relasi, dan hal-hal terkait ke dalam bentuk fisik Diagram Konteks Merupakan gambaran kasar aliran informasi dan data yang akan dilakukan oleh system database yang akan dirancang Diagram ini hanya menjelaskan secara umum gambaran aliran konteks dari rancangan system yang akan dibuat. Contoh DFD Konteks Bagian Penjualan Laporan penjualan Manajer Keuangan Daftar rencana pembayaran Persetujuan Transfer Sistem Pembayaran Royalti Bank Bukti transfer Surat pemberitahuan Pengarang DFD (Data Flow Diagram) DFD merupakan detail rancangan dari diagram konteks yang sudah dibuat yang sudah memuat rancangan table database yang akan diimplementasikan pada database yang akan dibuat Contoh DFD Laporan penjualan 1 Mencatat buku terjual Data buku terjual Catatan royalti Jadwal pembayaran Royalti terbayar Waktu pembayaran 2 Membuat Laporan royalti Jatuh tempo Royalti belum terbayar Royalti belum terbayar Ringkasan royalti Transfer Data pengarang Pengarang Daftar rencana pembayaran Persetujuan 3 Memproses pembayaran Nomor rekening Rekening bank Pembayaran Bukti transfer Surat pemberitahuan Entity Relationship Diagram(ERD) ERD merupakan model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak ERD menekankan pada struktur dan relationship data, berbeda dengan DFD(Data Flow Diagram) yang merupakan model jaringan fungsi yang akan dilaksanakan sistem Biasanya digunakan oleh profesional sistem untuk berkomunikasi dengan pemakai eksekutif tingkat tinggi dalam perusahaan yang tidak tertarik pada pelaksanaan operasi sistem sehari-hari, namun lebih kepada : Data apa saja yang diperlukan untuk bisnis mereka? Bagaimana data tersebut berelasi dengan data lainnya? Siapa saja yang diperbolehkan mengakses data tsb? Simbol dalam Diagram E-R ENTITAS Kardinalitas: Selalu hanya satu Hubungan Satu atau banyak Nol atau satu Atribut Nol, satu, atau banyak Garis bawah: Kunci atau pengenal (identifier) Contoh ERD PELANGGAN PEMASOK Mengirim Mengirim Memasok PESANAN KIRIMAN Memasok BARANG Berisi Digunakan_ pada PRODUK Latihan Rancanglah diagram E-R dari kasus aplikasi database sederhana untuk sistem informasi akademis suatu universitas. Dengan ketentuan sebagai berikut : Entities yang dimuat adalah : mahasiswa: menyimpan semua informasi pribadi mengenai semua mahasiswa dosen: menyimpan semua informasi pribadi mengenai semua dosen mata_kuliah: menyimpan semua informasi mengenai semua mata kuliah yang ditawarkan ruang: menyimpan semua informasi mengenai ruang kelas yang digunakan Normalisasi Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang nonredundant, stabil, dan fleksible Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut. Normalisasi: 1NF, 2NF, 3NF Bentuk Normal ke Satu(1NF) Syarat : 1. Tidak ada set atribut yang berulang atau bernilai ganda. 2. Telah ditentukannya primary key untuk tabel atau relasi. 3. Tiap atribut hanya memiliki satu pengertian. Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah. Bentuk Normal ke Dua(2NF) Syarat : 1. Bentuk data telah memenuhi kriteria bentuk normal ke satu. 2. Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key. Normalisasi: 1NF, 2NF, 3NF (1) Bentuk Normal ke Tiga(3NF) Syarat : 1. Bentuk data telah memenuhi kriteria bentuk normal ke dua. 2. Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja. Contoh Normalisasi : Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ke tiga Perhatikan bahwa tabel di atas sudah dalam bentuk normal ke Satu(1NF) Contoh(cont’) Bentuk Normal ke dua(2NF) : Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai dan Bobot masih memiliki ketergantungan fungsional. Contoh(cont’) Bentuk Normal ke tiga(3NF) : DATA DEFINITION LANGUAGE (DDL) Tipe Perinta h Keterangan DDL Create Drop Alter Digunakan untuk membuat database, table, dan index Digunakan untuk menghapus database, table dan index Digunakan untuk memodifikasi struktur table Perintah Create, adalah perintah untuk membuat database dan Struktur table serta index pada struktur table Aturan Penulisan: Create Database <nama_database> Atau Create Database <nama_database> ON