Pemodelan Data dan Proses Pengembangan Database Model Data Menyatakan hubungan antardata dalam database Ada tiga macam model data dasar Hierarkis Jaringan Relasional Model Hierarkis Dikenal pula sebagai model pohon Contoh: Dosen Rahwana SIA Rudi Asti Dosen Srikandhi DBMS Dina Dina Statistik Edi Ita Edi Model Jaringan Disebut juga model CODASYL Setiap anak bisa memiliki lebih dari satu orangtua Contoh: Dosen Rahwana SIA Rudi Asti Dosen Srikandhi DBMS Dina Statistik 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 Rahwana SIA Rudi Rahwana SIA Asti Rahwana SIA Dina Rahwana DBMS Dina Rahwana DBMS Edi Srikandhi Statistik Ita Srikandhi Statistik Edi Model Relasional (Lanjutan…) NO_MHS NAMA_MHS KODE_MK NAMA_MK 55 Ashadi AK001 SIA 56 Rina AK002 SIM U001 Pancasila 57 Budi NO_MHS KODE_MK NILAI 55 AK001 A 55 U001 B 56 AK001 B 57 AK001 A 57 AK001 A Model Relasional (Lanjutan…) Kardinalitas ( menyatakan jumlah baris ) NO_MHS KODE_MK NILAI 55 AK001 A 55 U001 B 56 AK001 B 57 AK001 A 57 AK001 A Atribut atau kolom (Field, medan) Arity ( jumlah kolom ) Relasi atau tabel Sebuah baris atau tuple, raw Domain NILAI (range, kemungkinan nilaiyang keluat dari suatu atribut)(A, B, C, D, E) Model Relasional (Lanjutan…) Beberapa sifat yang melekat dalam relasi: Tidak ada baris yang kembar ( nilainya sama ) Urutan tupel (baris) tidak penting, diposisi manapun barisnya ngak masalah Setiap atribut memiliki nama yang unik, setiap orang inputnya beda-beda Letak atribut bebas Setiap atribut memiliki nilai tunggal dan jenis(istilah dari domain)nya sama untuk semua baris Pengembangan Database dalam Pengembangan Sistem Informasi Pengembangan database biasa dimulai dengan enterprise data modeling Enterprise data modeling digunakan untuk menentukan lingkup dan isi umum dari database perusahaan Langkah ini dilakukan pada masa perencanaan sistem infomasi Contoh penggalan Enterprise Data Modeling (entitas) PELANGGAN PRODUK Memberikan Memiliki Ditujukan untuk Diberikan oleh Terletak dalam PESANAN Berisi baris pesanan yg didalamnya mengandung produk tertentu BARIS PESANAN Information System Architecture Contoh penggalan enterprise data modeling di depan merupakan bagian dari ISA ISA merupakan blueprint (rencana yang mengungkapkan stuktur di masa mendatang yang dikehendaki) bagi sistem informasi dalam perusahaan Database merupakan bagian dari sistem informasi Information System Architecture ISA terdiri atas 6 kunci penting: 1. 2. 3. 4. 5. 6. Data (dijabarkan dalam diagram semacam yang disajikan depan atau dalam bentuk yang lain) merupakan bagian dari planning Proses (yang memanipulasi data – dijabarkan dalam bentuk DFD(data flow diagram/diagram arus data), object-model, atau yang lain) Jaringan (yang membawa data dalam perusahaan ataupun antara organisasi dan mitra kerja – dapat dinyatakan dengan topologi atau skema jaringan) Orang (yang memproses, menerima atau mengirim data) Kejadian atau titik dalam waktu ketika proses dilaksanakan (dapat dinyatakan dengan state-transition diagram atau yang lain)conthnya transaksi atau hal lain selain transaksi , contohnya keaikan pangkat Alasan untuk kejadian-kejadian atau aturan-aturan yang menuntun proses Information Engineering ISA dibuat oleh perencana sistem informasi dengan mengikuti suatu metodologi ( cara terstruktur memecahkan masalah) Salah satu metodologi yang populer untuk kepentingan ini yaitu information engineering (rekayasa informasi). Rekayasa informasi adalah suatu metodologi berorientasi data yang digunakan untuk menciptakan dan memelihara sistem informasi Information Engineering (Lanjutan…) Rekayasa informasi menggunakan pendekatan top-down planning Top-down planning adalah suatu metodologi perencanaan sistem informasi yang menggunakan pendekatan berupa pemahaman yang luas terhadap kebutuhan sistem informasi dalam perusahaan secara menyeluruh Information Engineering (Lanjutan…) Rekayasa informasi terdiri atas empat tahap: 1. 2. 3. 4. Perencanaan Analysis Perancangan Implementasi Perencanaan Sistem Informasi Ditujukan untuk menyelaraskan teknologi informasi dengan strategi bisnis dalam organisasi Harapannya adalah untuk memperoleh manfaat maksimum terhadap investasi Tahap Perencanaan Identifikasi faktor perencanaan strategis 1. a. b. c. Identifikasi objek perencanaan perusahaan 2. a. Unit-unit organisasi a. b. c. 3. Tujuan CSF (critical succes factor) Area permasalahan Lokasi Fungsi bisnis Tipe-tipe entitas Pengembangan model perusahaan a. b. c. Dekomposisi fungsional Diagram E-R (entity relationship) Matriks perencanaan Identifikasi Faktor-Faktor Perencanaan Strategis Faktor-faktor perencanaan strategis mencakup tujuan, CSF, dan area permasalahan Tujuan identifikasi: membuat perencanaan dan sekaligus membuat kaitan antara sistem informasi dan rencana bisnis yang strategis, tujuan memberikan peranan peting dalam pembuatan sistem informasi Contoh Hasil Tahap Perencanaan Rekayasa Informasi Faktor Perencanaan Contoh Tujuan Mempertahankan tingkat pertumbuhan sebesar 10% per tahun Mempertahankan ROI sebelum kena pajak sebesar 15% CSF Produk berkualitas tinggi Pengiriman barang tepat waktu Meningkatnya kemampuan karyawan Area permasalahan Perkiraan penjualan yang tidak akurat Kompetisi yang meningkat, apa yang harus dilakukan ? Manfaat Identifikasi Faktor-Faktor Perencanaan Strategis Faktor-faktor yang diidentifikasi akan membantu manajer SI dalam memprioritaskan kebutuhankebutuhan terhadap sistem informasi yang baru (yang akan menuntut pada pengembangan database) Sebagai contoh, ketidakakuratan dalam perkiraan penjualan akan menuntun pada penyediaan informasi mengenai sejarah penjualan atau data baru tentang riset pemasaran Identifikasi Objek Perencanaan Perusahaan Objek perencanaan perusahaan menentukan lingkup bisnis Lima kunci objek perencanaan: 1. 2. 3. 4. 5. Unit-unit organisasi (berbagai departemen dalam organisasi) Lokasi-lokasi organisasi (tempat-tempat terjadinya operasi bisnis) misalnya kantor pusat dan cabang Fungsi-fungsi bisnis (Sekumpulan proses bisnis yang terkait yang mendukung beberapa aspek dari misi bisnis) Tipe-tipe entitas (kategori data utama seperti orang, tempat, dan benda yang dikelola oleh perusahaan) Sistem informasi (perangkat lunak dan prosedur yang menangani data harus jelas) supaya data dari level bawah bisa dikomunikasikan sampai dengan level atas, dan yang peting cara mengkomunikasikan dan menjalankan prosedur itu Contoh Objek Perencanaan Perusahaan 1. 2. 3. 4. 5. Unit-unit organisasi (Departemen Pemasaran, deartemen Akunting, Departemen Produksi) Lokasi-lokasi organisasi (Kantor pusat, Kantor cabang) Fungsi-fungsi bisnis (Perencana bisnis, pengembangan produk, manajemen material, pemenuhan pesanan, pengirimaan pesananan) Tipe-tipe entitas (PELANGGAN, PRRODUK, BAHAN_MENTAH, PESANAN, FAKTUR, PEGAWAI) Sistem informasi (MIS, AIS, TPS (transaction processing system)) Pengembangan Model Perusahaan Pengembangan model perusahaan melibatkan dekomposisi fungsional, enterprise data model, dan berbagai matriks perencanaan Dekomposisi fungsional adalah suatu proses yang bersifat iteratif yang memecah fungsi-fungsi dalam organisasi menjadi bagian-bagian yang lebih kecil Dekomposisi fungsional sangat bermanfaat untuk analisis sistem dengan maksud untuk: Menyederhanakan permasalahan Memfokuskan perhatian Mengidentifikasi komponen-komponen Contoh Dekomposisi Proses Menciptakan Pelanggan Baru Memenuhi Pesanan Pelanggan Menerima Pesanan Penjualan Memeriksa Kredit Pelanggan Menciptakan Pelanggan Baru Mengirimkan Pesanan Pelanggan Memeriksa Ketersediaan Barang Membuat Faktur Menciptakan backoredr Enterprise Data Model Berisi tipe-tipe entitas dan hubungan antarentitas PELANGGAN PRODUK Entitas BARIS PESANAN PESANAN Hubungan Matrik Perencanaan Digunakan untuk menunjukkan hubungan antarobjek perencanaan Berbagai model matriks: Lokasi-terhadap-fungsi Unit-terhadap-fungsi Sistem informasi-terhadap-entitas data Fungsi pendukung-terhadap-entitas data (mengidentifikasi data yang diambil, diubah, atau dihapus dalam setiap entitas) Sistem informasi-terhadap-objektif bisnis Contoh Matriks Fungsi Bisnisterhadap-Entitas Proses Pengembangan Database Proses pengembangan database merupakan bagian dari pengembangan sistem Dalam praktek, seringkali pengenbangan database menggunakan pendekatan bottom-up Pada pendekatan bottom-up, permintaan terhadap proyek dimulai dari permintaan oleh pemakai sistem informasi atau profesional IT yang melihat perlunya perubahan pada manajemen data Salah satu metodologi yang umum dipakai dalam pengembangan database (pengembangan sistem) yaitu SDLC SDLC SDLC (System Development Life Cycle) merupakan metodologi tradisional yang dipakai untuk mengembangkan dan memelihara sistem informasi SDLC – dari Sisi Pengembangan Database Identifikasi dan Pemilihan Proyek Inisiasi dan Perencanaan Proyek Analisis Enterprise modeling •Analisa pemrosesan data sekarang •Analisa fungsi-fungsi bisnis dan kebutuhan database •Penentuan data dan database baru untuk mendukung bisnis Conceptual data modeling •Identifikasi lingkup kebutuhan database •Analisa kebutuhan seluruh data untuk bisnis yang didukung database •Pengembangan model data konseptual dini, termasuk entitas dan hubungan •Pembandingan model data konseptual dengan enterprise data model •Pengembangan model data konseptual detail (mencakup entitas, hubungan, atribut, dan aturan bisnis) •Membuat model data konseptual yang konsisten terhadap model sistem informasi Perancangan Logis Perancangan Fisik Implementasi Perawatan SDLC – dari Sisi Pengembangan Database Identifikasi dan Pemilihan Proyek Inisiasi dan Perencanaan Proyek Logical database design •Analisa terhadap transaksi, formulir, query (database view) yang diperlukan fungsi-fungsi bisnis •Mengintegrasikan database view ke dalam model data konseptual •Mengidentifikasi kebutuhan integritas dan keamanan Analisis Physical database design and creation •Pendefinisian database dalam DBMS •Penentuan organisasi data secara fisik •Peraancangan program pemroses database Perancangan Logis Perancangan Fisik Implementasi Perawatan Database implementation •Mengkodekan dan menguji program •Menyelesaikan dokumentasi database dan materi pelatihan •Memasang database dan mengonversi data Database Maintenance (perawatan database) •Analisa database dan aplikasi database terhadap kebutuhan informasi •Pengaturan database untuk meningkatkan kinerja •Pembetulan kesalahan Tiga Tahap Penting dalam Perancangan Database Perancangan secara konseptual Diagram konteks DFD Model ER Perancangan secara logis Translasi model ER ke Model Relasional Perancangan secara fisik Penciptaan database, relasi, dan hal-hal terkait ke dalam bentuk fisik Contoh DFD Konteks Bagian Penjualan Laporan penjualan Manajer Keuangan Persetujuan Daftar rencana pembayaran Transfer Sistem Pembayaran Royalti Bank Bukti transfer Surat pemberitahuan Pengarang 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 Arsitektur Tiga Skema Arsitektur tiga skema merupakan suatu pendekatan yang ditujukan kepentingan abstraksi data Skema adalah struktur logika dalam database Abstraksi data dimaksudkan agar pemakai tidak perlu tahu tentang bagaimana DBMS secara detail menyimpan dan memelihara database Arsitektur Tiga Skema View Level View level merupakan lapisan tertinggi pada arsitektur tiga skema Pada level ini pemakai hanya mengenal struktur data yang sederhana, yang berorientasi pada kebutuhan pengguna Data yang dikenal oleh masing-masing pengguna bisa berbeda-beda dan kemungkinan hanya mencakup sebagian data dalam database Sebagai contoh pada level ini, seseorang pengguna mislanya tidak boleh mengakses data gaji Logical Level Disebut juga Conceptual Schema Menjabarkan data apa saja yang sesungguhnya disimpan dalam database dan mendeksripsikan hubungan antardata Level ini biasa dipakai oleh DBA Physical View Disebut juga Physical Schema Menjelaskan bagaimana data sesungguhnya disimpan dalam memori sekunder Gambaran Abstraksi Data Contoh suatu struktur data Pegawai = RECORD Nama : STRING[25]; Alamat : STRING[25]; Bagian : STRING[10]; Gaji : LONGINT; END; Contoh di atas menyatakan record bernama Pegawai mengandung 4 Field Gambaran Abstraksi Data (lanjutan…) Pada level fisik, Pegawai dapat dijabarkan sebagai blok data yang terletak dalam memori sekunder. ALI BAHARUDIN JL KARANGWARU 23 AKUNTING 1200000 Pada lapis konseptual, masing-masing record dijabarkan dalam definisi di depan Pada lapis pandangan (view), pemakai A boleh mengakses data gaji tetapi pemakai B tidak Physical Data Independence Physical Data Independence – kemampuan untuk memodifikasi skema fisik tanpa mengubah skema logika Aplikasi bergantung pada skema logika Antarmuka berbagai level dan komponen harus terdefinisi dengan baik sehingga perubahan pada salah satu bagian tidak mempengaruhi yang lain Sistem DBMS Secara Menyeluruh Istilah-Istilah DDL (Data Definition Language) Perintah-perintah yang biasa dipakai DBA untuk mendefinisikan skema ke DBMS DDL juga dapat dipakai untuk membuat subskema (pandangan bagi pengguna terhadap suatu database). Skema NAMA ALAMAT Subskema NAMA BAGIAN BAGIAN GAJI … Istilah-Istilah (lanjutan…) DDL (Data Definition Language) Contoh: create table account ( account-number balance char(10), integer) DDL compiler membuat perintah seperti di atas disimpan dalam repository Istilah-Istilah (lanjutan…) DML (Data Manipulaton Language) Perintah-perintah yang digunakan untuk mengubah, memanipulasi, dan mengambil data pada database. DML dapat dibagi menjadi 2 kategori: Prosedural (menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya) Non-prosedural (menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya secara detail) Istilah-Istilah (lanjutan…) Contoh perintah prosedural: OPEN INPUT KARYAWAN. BACA-BERULANG. READ KARYAWAN. IF TGL_MASUK GREATER THAN OR EQUAL “01/01/1983” DISPLAY NAMA GO TO BACA-BERULANG. CLOSE KARYAWAN. Contoh perintah non-prosedural: SELECT NAMA FROM KARYAWAN WHERE TGL_MASUK < “1983/01/01”. Istilah-Istilah (lanjutan…) Transaction adalah kumpulan operasi yaang melakukan sebuah fungsi yang utuh dalam suatu aplikasi database Transaction-management component memastikan database selalu dalm keadaan yang konsisten meskipun terjadi kegagalan sistem (kegagalan sumber listrik atau sistem operasi) dan kegagalan transaksi Concurrency-control manager mengendalikan interaksi antara transakasi-transaksi yang berjalan bersamaan, untuk menjamin konsistensi dalam database Istilah-Istilah (lanjutan…) Storage manager adalah modul program yang menyediakan antarmuka antara data tersimpan dalam database dan program aplikasi serta query yang dikirim ke sistem Storage manager bertanggung jawab terhadap: Interaksi dengan file manager Efisiensi penyimpanan, pengambilan, dan pengubahan data Application Architectures Two-tier architecture: Contoh - program klien menggunakan ODBC/JDBC untuk berkomunikasi dengan database Three-tier architecture: Contoh aplikasi berbasis Web Contoh Two-tier Architecture Program Visual BASIC MyODBC Database Server MySQL Contoh Three-tier Architecture Server Web Server (Apache, IIS, Xitami, dsb) Middleware (ASP, JSP, PHP, dsb) Internet Permintaan Tanggapan Browser (Internet Explorer, Netscape,dsb) Klien Database (Access, Oracle, dsb)