sbd
Pertemuan 1 Konsep Dasar Basis Data (Database) Pengenalan Basis Data Basis Data (Database), pada saat ini sangat berdampak besar pada perkembangan ekonomi dan masyarakat. Sistem basis data berkaitan penting dalam pengembangan bidang rekayasa perangkat lunak, dan database menjadi kerangka kerja yang mendasari sistem informasi dan secara mendasar merubah cara banyak organisasi beroperasi. Contoh Penggunaan Basis Data pada aplikasi: aplikasi pengelolaan nomor telepon, aplikasi pembayaran gaji perusahaan, dll. Contoh Penggunaan Basis Data • Peminjaman pada Perpustakaan Ketika kita melakukan peminjaman di perpustakaan, kemungkinan besar basis data diakses. Petugas akan memasukkan kode buku atau menggunakan mesin pembaca, mesin ini dihubungkan dengan aplikasi database barang untuk mengetahui data buku tersebut. Aplikasi itu kemudian akan mengurangi jumlah stok buku tersebut dan menampilkan jumlah stok yang ada kepada petugas. Jika jumlah stok buku yang ada sudah di bawah ambang batas bawah stok, maka sistem database akan secara otomatis menginformasikan kepada petugas bahwa peminjaman sudah tidak bisa dilakukan. Atau, jika pembaca menanyakan ketersediaan sebuah buku , maka petugas bisa melakukan pemeriksaan stok buku dan lokasi penyimpanan buku, dengan menjalankan aplikasi yang menentukan ketersediaan buku dari basis data. Konsep Dasar Basis Data BASIS dapat diartikan sebagai markas atau gudang, tempat bersarang (berkumpul). DATA adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang diwujudkan dalam bentuk angga, huruf, simbol, teks, gambar, bunyi, atau kombinasinya. BASIS DATA (DATABASE) adalah himpunan kelompok data/ kumpulan data yang saling berhubungan secara logis dan deskripsinya, yang disimpan secara bersama sedemikian rupa dan dirancang untuk memenuhi kebutuhan informasi organisasi. Prinsip Dan Tujuan Basis Data - Prinsip utamanya adalah pengaturan data/arsip. - Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan data/arsip. Yang sangat ditonjolkan dalam basis data adalah pengaturan, pemilahan, pengelompokkan, pengorganisasian data yang akan kita simpan sesuai fungsi/jenisnya. Pengorganisasian data tersebut dapat dalam bentuk tabel terpisah atau dalam bentuk pendefinisian kolom (field) data dalam setiap tabel. Operasi Dasar Basis Data Operasi dasar yang dapat kita lakukan pada basis data , adalah : 1. Create database 2. Drop database 3. Create table 4. Drop table 5. Insert 6. Query 7. Update 8. Delete Sistem Basis Data Sistem adalah sebuah tatanan yang terdiri atas sejumlah komponen fungsional yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses tertentu. Contoh : Sistem = kendaraan Komponen fungsional= pemantik/starter (untuk memulai pengapian), komponen pengapian (untuk pembakaran BBm yang membuat torak bekerja), dst. - Basis data hanyalah sebuah objek yang pasif. - Software/aplikasi/program adalah penggerak atau pengelolanya. - Sistem adalah gabungan dari keduanya. Sistem Basis Data merupakan sistem yang terdiri atas kumpulan tabel data yang saling berhubungan dan sekumpulan program (DBMS) yang memungkinkan beberapa pemakai dan/atau program lain untuk mengakses dan memanipulasi tabel-tabel data tersebut. Database Management System (DBMS) DBMS adalah perangkat lunak yang memungkinkan pemakai untuk mendefinisikan, mengelola, dan mengontrol akses ke basis data. DBMS yang mengelola basis data relational disebut dengan Relational DBMS (RDBMS) Contoh perangkat lunak yang termasuk DBMS: dBase, FoxBase, Rbase, Microsoft-Access, Borland Paradox / Borland Interbase, MS-SQL Server, Oracle, Informix, Sybase, MySQL, dll. Penjelasan Gambar diatas menunjukkan bagaimana sebuah komputer mengakses sebuah database : Database menampung semua data, dimulai dari anggota, data buku sampai dengan data transaksi peminjaman dan pengembalian, Sehingga anggota dapat melihat data buku yang tersedia dalam perpustakaan begitu pula anggota dapat melihat buku apa saja yang sudah dipinjam dan waktu pengembaliannya. Begitu pula dengan petugas dapat melihat fungsi yang sama pula. Komponen Sistem Basis Data Connolly, Thomas M & E Begg, Carolyn, Database System, Apractical Approach to Design, Implementation and Management, 2015, Pearson Education, United Kingdom 1. HARDWARE DBMS dan aplikasi membutuhkan perangkat keras untuk dapat berjalan. Perangkat keras dapat berkisar dari satu komputer pribadi ke mainframe tunggal atau jaringan komputer. Perangkat keras tertentu tergantung pada persyaratan organisasi dan DBMS yang digunakan. Beberapa DBMS hanya berjalan pada perangkat keras atau sistem operasi tertentu, sementara yang lain berjalan di berbagai perangkat keras dan sistem operasi 2. Software Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan aplikasi program, bersama dengan sistem operasi, termasuk perangkat lunak jaringan jikaDBMS sedang digunakan melalui jaringan. Contoh bahasa pemograman yang dipergunakan : C, C ++, C #, Java, Visual Basic, COBOLPascal, SQL. 3. Data Data adalah komponen terpenting dari lingkungan DBMS (tentunya dari sudut pandang pengguna akhir ). Pada gambar diatas, data dapat bertindak sebagai jembatan antara komponen mesin dan komponen manusia. Basis data berisi data operasional dan metadata, "data tentang data”. Struktur basis data disebut skema. Skema : 1. Tabel Buku (kode buku, judul buku, dst) 2. Tabel Anggota (kode anggota, nama anggota, dst) 3. Tabel Peminjaman (Kode pinjam, tgl pinjam, dst) 4. Tabel Pengembalian (kode kembali, tgl kembali, dst) 4. Procedures Prosedur merujuk pada instruksi dan aturan yang mengatur desain dan penggunaan basis data. Pengguna sistem dan staf yang mengelola database membutuhkan prosedur terdokumentasi tentang cara menggunakan atau menjalankan sistem. Prosedur dapat terdiri dari petunjuk tentang cara: • Masuk ke DBMS. • Menggunakan fasilitas DBMS atau program aplikasi tertentu. • Mulai dan hentikan DBMS. • Buat salinan cadangan dari database. • Menangani kegagalan perangkat keras atau perangkat lunak. • Ubah struktur tabel, atur ulang database di beberapa disk, meningkatkan kinerja, atau mengarsipkan data ke penyimpanan sekunder. 5. People Komponen terakhir adalah orang-orang yang terlibat dengan sistem Peran Dalam Lingkungan Database Terdiri dari : 1. Data dan Database Administrator 2. Database Designer 3. Application Developers 4. End-User 1. Data dan Database Aministrator Data Administrator (DA) bertanggung jawab atas pengelolaan sumber daya data, termasuk perencanaan basis data; pengembangan dan pemeliharaan standar, kebijakan dan prosedur; dan desain basis data konseptual / logis. DA berkonsultasi dengan dan menasihati manajer senior, memastikan bahwa arah pengembangan basis data akan pada akhirnya mendukung tujuan perusahaan. Database Administrator (DBA) bertanggung jawab atas realisasi fisik database, termasuk desain dan implementasi basis data fisik, keamanan dan kontrol integritas, pemeliharaan sistem operasional, dan memastikan kinerja aplikasi memuaskan untuk pengguna. Peran DBA lebih berorientasi teknis daripada peran DA, yang membutuhkan pengetahuan rinci tentang target DBMS dan lingkungan sistem 2. Database Designer Dalam proyek desain basis data besar, terdapat dua jenis perancang basis data : 1. Perancang basis data fisik, berkenaan dengan mengidentifikasi data (yaitu, entitas dan atribut), hubungan antara data, dan kendala pada data itu harus disimpan dalam database. 2. Perancang basis data logis harus memiliki menyeluruh dan pemahaman lengkap tentang data organisasi dan kendala apa pun pada data ini (kadang disebut aturan bisnis). 3. Application Developers Setelah database diimplementasikan, program aplikasi untuk pengguna akhir juga harus diimplementasikan. Ini adalah tanggung jawab pengembang aplikasi. Biasanya, pengembang aplikasi bekerja dari spesifikasi yang dihasilkan oleh analis sistem. 4. End-User Pengguna akhir dapat diklasifikasikan sesuai dengan cara mereka menggunakan sistem: 1. User Umum : Mereka memanggil operasi database dengan memasukkan perintah sederhana atau memilih opsi dari menu. 2. User Mahir : mereka dapat menggunakan bahasa permintaan tingkat tinggi seperti SQL untuk melakukan operasi yang diperlukan, bahkan mungkin menulis program aplikasi untuk mereka gunakan sendiri. Bahasa Basis Data Cara berinteraksi antara pemakai dengan basis data diatur dalam suatu bahasa yang ditetapkan oleh pembuat DBMS. Dua bentuk Bahasa yaitu : 1. DDL (Data Definition Language) 2. DML (Data Manipulation Language) * Detail akan dibahas di pertemuan 10 Keuntungan DBMS 1. Pengontrolan kerangkapan data 2. Konsistensi data 3. Lebih banyak informasi dari jumlah data yang sama 4. Sharing data 5. Peningkatan integrasi data 6. Peningatan keamanan\ 7. Penegakan standar layanan Kekurangan DBMS 1. Kompleksitas 2. Ukuran 3. Biaya DBMS 4. Biaya Peangkat keras tambahan 5. Biaya konversi teknologi 6. Performa 7. Dampak kegagalan yang lebih besar Tugas (Dikerjakan secara kelompok) Buatlah analisis basis data sesuai dengan tema project yang di dapatkan di matakuliah aplikasi basis data. (kelompok di buat sesuai dengan kelompok aplikasi basis data)
Pertemuan 2 Basis Data Relational & Perancangan Basis Data Basis Data Relational Adalah basis data yang mempresentasikan data dalam bentuk tabel-tabel, dimana tabeltabel tersebut dihubungkan oleh nilai-nilai yang sama/umum pada kolom-kolom terkait. Komponen penyusun basis data : 1. Tabel 2. Kolom/atribut 3. Baris/tuple 4. Domain Skema : 1. Tabel Buku : kode buku (3) , judul buku (20) 2. Tabel Anggota : kode anggota (3), nama anggota (25) 3. Tabel Peminjaman : Kode pinjam (5), tgl pinjam (date), kode anggota (3) 4. Tabel Pengembalian : Kode kembali (5), tgl kembali (date), kode anggota (3) Skema : 1. Tabel Buku : kode buku (3) , judul buku (20) 2. Tabel Anggota : kode anggota (3), nama anggota (25) 3. Tabel Peminjaman : Kode pinjam (5), tgl pinjam (date), kode anggota (3) 4. Tabel Pengembalian : Kode kembali (5), tgl kembali (date), kode anggota (3) 1. Tabel Tabel memiliki nama dan terdiri atas baris dan kolom. Tabel pada suatu basis data tidak boleh memilki nama yang sama (unik). Tabel disebut juga dengan Relation atau File. Pada gambar slide 3 terdiri dari 4 tabel yaitu, tabel anggota, tabel buku, tabel peminjaman, tabel pengembalian 2. Kolom/Atribut Kolom memiliki nama. Kolom yang terdapat dalam suatu tabel tidak boleh memiliki nama yang sama. Urutan nama boleh sembarang dan tidak mempengaruhi makna dari tabel. Nama lain kolom adalah Field atau Atribut. Pada gambar slide 4, kolom yaitu nama anggota, judul buku, kode anggota, kode buku, dst. 3. Domain Adalah sekumpulan nilai-nilai yang dapat disimpan pada satu atau lebih kolom. Sebuah domain bisa dimiliki oleh satu kolom atau lebih, tetapi sebuah kolom hanya memiliki satu domain. Karena domain membatasi dan mengatur nilai yang dapat disimpan maka disebut domain constraint. Pada gambar slide 4, kolom yaitu kode anggota hanya berisi 3 nilai saja, yaitu “A01” 4. Baris Berisikan data dari sebuah objek. Baris pada sebuah tabel harus unik, dapat diletakkan dalam urutan bebas dan tidak mempengaruhi makna dari tabel. Baris disebut juga dengan Record atau tuple. Pada slide ke 4 tabel anggota dapat menyimpan tiga obyek (yaitu tiga data anggota) pada tiga tuple. Relational Keys Adalah identifikasi satu atau sekelompok kolom yang nilainya dapat membedakan secara unik tuple-tuple tersebut. Lima Relational Keys : 1. Superkey 2. Candidate key 3. Primary key 4. Alternate key 5. Foreign key Catatan : Di akhir materi, siswa di latih untuk menggunakan perintah SQL untuk membuat database dan salah satu table yang ada (petunjuk ada di akhir materi) 1. Superkey Adalah satu atau kelompok kolom yang nilainya secara unik membedakan tupletuple pada suatu tabel. Pada gambar slide 11 di masing-masing tabel terdapat lebih dari satu superkey, yaitu : Tabel anggota : kode anggota, nama anggota Tabel buku : kode buku, judul, stok buku Tabel peminjaman : kode pinjam, tgl pinjam, kode buku, kode anggota, juml, tgl kembali Tabel pengembalian : kode kembali, kode pinjam Pada gambar slide 11 di masing-masing tabel terdapat lebih dri satu superkey, yaitu : Tabel anggota : • Kolom kode anggota, • Kolom no faktur dan kolom nama anggota Tabel buku : • Kolom kode buku • Kolom kombinasi kode buku, judul, stok buku Dst. 2. Candidate Key Adalah superkey di mana tidak ada satupun himpunan bagian dari superkey tersebut menjadi superkey lagi. Tidak semua superkey menjadi candidate key. Candidate key yang terdiri dari dua kolom atau lebih disebut sebagai composite key. Pada gambar slide 11 di masing-masing tabel terdapat lebih candidate key atau bukan candidate key, yaitu : Tabel anggota : • Kolom kode anggota, : candidate key • Kolom no faktur dan kolom nama anggota = bukan candidate key Tabel buku : • Kolom kode buku = candidate key • Kolom kombinasi kode buku, judul, stok buku : bukan candidate key Pada gambar slide 11 di masing-masing tabel terdapat lebih candidate key atau bukan candidate key, yaitu : Tabel Peminjaman : • Kolom kode pinjam, kode buku, kode anggota : candidate key • Kolom kombinasi kode pinjam, kode buku, kode anggota, jumlah, dst : bukan candidate key Dst. 3. Primary Key Adalah (satu) candidate key yang dipilih (di antara candidate key lain) untuk membedakan tuple-tuple scara unik dalam tabel. Jika dalam satu tabel hanya terdapat satu candidate key (misal tabel anggota dan tabel buku), maka key tersebut menjadi primary key. Tetapi jika terdapat lebih dari satu candidate key (misal tabel penjualan dan tabel pengembalian), maka salah satu candidate key tersebut dpat dijadikan primary key. 4. Alternate Key Adalah candidate key yang tidak dijadikan sebagai primary key. Misal pada tabel pengembalian jika kita memilih kode kembali sebagai primary key, maka kode pinjam dapat dijasikan alternate key. 5. Foreign Key Adalah satu atau kelompok kolom yang nilainya sama atau terkait dengan candidate key pada tabel lain atau pada tabel yang sama. Misal pada tabel peminjaman ada kolom kode anggota yang terhubung dengan tabel anggota, maka kode anggota adalah foreign key. Kolomkolom yang saling terkait ini sangat penting dalam operasi join. Skema Tabel (Relation Skema) Adalah informasi dasar yang mendeskripsikan tabel yang terdiri atas nama tabel dan sekumpulan pasangan kolom domain. Contoh : Skema Tabel Anggota Tabel Anggota (kode anggota, nama) Skema Basis Data (Relational Database Schema) Adalah sekumpulan skema tabel dengan masingmasing tabel memiliki nama yang berbeda. Contoh : Skema Basis Data Perpustakaan Tabel anggota (kode anggota, nama) Tabel buku (kode buku, judul, stok buku) Tabel peminjaman (kode pinjam, tgl pinjam, kode buku, dst) Dst. Integrity Constraints Pada slide ke 7 telah dibahas mengenai domain constraints. Terdapat empat contraints/batasan lain yang menjaga integritas data yang disimpan pada basis data : 1. Null 2. Entity integrity 3. Referential integrity 4. General constraints 1. Null Adalah nilai pada suatu kolom (tuple) masih belum diketahui (unknown). Ini bisa berarti nilai tersebut tidak dapat diterapkan pada kolom tersebut. Namun, null tidak sama dengan nilai numerik nol atau string “-”; nol dan spasi adalah nilai, tetapi null menunjukkan tidak adanya nilai. Misal dalam sebuah tabel ada sebuah data yang belum diketahui boleh dituliskan null, akan tetapi hal tersebut tidak berlaku untuk primary key. Karena kolom primary key bersifat unik, jika primary key menyimpan null maka sifat unik dari kolom tersebut akan hilang karena bisa saja beberapa tuple memiliki nilai null. 2. Entity Integrity Adalah batasan atau aturan yang menyatakan bahwa kolom-kolom primary key tidak boleh menyimpan null. Seperti di jelaskan sebelumnya primary key digunakan untuk mendefinisikan secara unik sebuah tuple. 3. Referential Integrity Adalah batasan yang menyatakan jika suatu tabel memiliki kolom foreign key maka nilai pada foreign key tersebut harus sesuai dengan nilai kolom candidate key dan jika tidak demikian maka foreign key dapat dituliskan null. Dua keadaan penulisan null tidak perlu dilakukan : 1. Pada saat kolom tersebut diberikan batasan tidak boleh diberikan null. 2. Pada saat kolom tersebut juga merupakan bagian dari primary key. 4. General Constraints Adalah batasan /aturan tambahan yang ditetapkan oleh pemakai atau administrator basis data sesuai aturan/batasan yang ada pada suatu organisasi. Contoh : - peminjaman buku tidak diijinkan jika stok buku hanya satu - Jika anggota masih memiliki buku yang belum dikembalikan maka tidak di perbolehkan untuk meminjam kembali Perancangan Basis Data Proses pembangunan basis data terdiri dari dua tahapan utama : 1. Tahapan analisis dan perancangan 2. Tahapan implementasi. 1. Tahapan Analisis dan Perancangan Adalah tahapan pemetaan atau pembuatan model dari dunia nyata menggunakan notasi perancangan basis data tertentu serta pembuatan deskripsi implementasi basis data. Pahlevi, Said Mirza, Tujuh Langkah Praktis Pembangunan Basis Data, 2013, Elex Media Komputindo, Jakarta Tahapan analisis dan perancangan dibagi menjadi tiga, yaitu : 1. Perancangan basis data secara konsep Merupakan proses pembuatan data model dan tidak bergantung pada seluruh aspek fisik basis data. 2. Perancangan Basis Data Secara Logis Merupakan proses pembuatan data model berdasarkan data model tertentu, tetapi tidak bergantug pada DBMS tertentu dan implementasi fisik basis data. 3. Perancangan Basis Data Secara Fisik Merupakan proses pembuatan deskripsi implementasi basis data pada media penyimpanan sekunder (disk). Deskripsi ini menjelaskan tabeltabel dasar, organisasi file, indeks untuk mendapatkan ases data secara efisien, dan semua integrity contraints, dan langkah-lagkah keamanan. 2. Tahapan Implementasi Tahapan ini mengimplementasikan rancangan basis data yang telah dibuat. Implementasi menggunakan aplikasi klien yang disediakan oleh DBMS terpilih. Analisa Kasus (dibahas di dalam kelas) • Perpustakaan Smart adalah perpustakaan umum yang anggotanya pelajar,mahasiswa dan masyarakat yang didirikan oleh Walikota Jakarta Barat. Keberadaan perpustakaan berlokasi di Walikota yang aplikasi pelayanan masih bersifat tradisional. • Prosesnya : a. Setiap calon anggota yang akan menjadi anggota harus mengisi formulir dengan biaya administrasi Rp.10.000,- b. Anggota dapat meminjam buku maksimal 3 buku c. Untuk masa peminjaman selama 1 minggu (7 hari) d. Keterlambatan pengembalian dikenakan denda sesuai dengan kondisi denda, diantaranya Diantaranya : 1. Denda keterlambatan pengembalian dikenakan biaya administrasi Rp.500 perharinya (bukti surat denda terlampir) 2. Denda Buku perpustakaan rusak maka dikenakan biaya revisi buku perpustakaan(biaya ini dikenakan setelah buku diperbaiki).(bukti surat denda terlampir) 3. Denda Buku Hilang, maka dikenakan biaya penggantian seharga buku tersebut.(bukti surat denda terlampir) 4. Perpustakaan smart dapat menerima sumbangan dari donatur statusnya (anggota atau masyrakat luas) • Buat Enterprise dari perpustakaan smart • Tentukan entitas-entitas yang diperlukan, beserta atribut/field nya. Analisa Kasus “Perpustakaan Smart” (Pembahasan di Kelas) Tugas (Dikerjakan secara kelompok) Tentukan seluruh key yang terbentuk dari hasil analisis basis data yang dibuat sesuai dengan tema project (lanjutan dari tugas pertemuan 1). Petunjuk Slide ke -10 1. Pilih menu Start - All Programs - Accessories Kemudian Pilih Command Prompt. 2. Klik Kanan pada command prompt atau cmd, lalu pilih Run as administrator. 3. Ketikan perintah cd c:\ (lalu kemudian tekan Enter) 4. Lalu ketikan perintah “xampp/mysql/bin/mysql.exe” –u root -p (lalu kemudian tekan Enter) Membuat Database dan Tabel Sederhana - Setelah masuk MariaDB, ketikan perintah berikut:create database db_latihan1; - Lihat hasilnya dengan perintah show databases; - Lalu, untuk membuat tabel terlebih dahulu kita aktifkan database db_latihan1 dengan perintah use. Membuat Database dan Tabel Sederhana - Perintah untuk membuat tabel, yaitu dengan perintah create table nama_tabel (spesifikasi tabel); - Untuk melihat daftar tabel pada suatu database, gunakan perintah show tables; - Lanjutkan untuk membuat seluruh table yang ada di slide ke-10
Pertemuan 3 MODEL DATA Model Data PENGERTIAN MODEL DATA : Sekumpulan konsep-konsep untuk menerangkan data, hubungan-hubungan antara data, makna data (semantik) dan batasan data. JENIS-JENIS MODEL DATA A. Model Data Berdasarkan Object B. Model Data Berdasarkan Record A. Model Data Berbasis Objek Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar entitas. Terdiri dari: 1. Model Keterhubungan Entitas (Entity-Relationship Model) 2. Model Berorientasi Object (Object-Oriented Model) 3. Model Data Semantik (Semantic Data Model) 4. Model Data Fungsional (Functional Data Model) Model Keterhubungan Entitas (Entity-Relationship Model) merupakan model yang paling populer digunakan dalam perancangan basis data. 1. Entity Relationship Model Model untuk menjelaskan hubungan antar data dalam basis data berdasarkan suatu persepsi bahwa real world terdiri dari objek-object dasar yang mempunyai hubungan atau relasi antara objek-objek tersebut. Komponen utama pembentuk Model Entity-Relationship, yaitu: Entitas (Entity), Relasi (Relation). Kedua komponen ini dideskripsikan lebih lanjut melalui sejumlah Atribut/Properti. Atribut : kode buku, judul, stok buku Entitas : B01, B02, B03, Pemograman C++, dst. Relasi : hubungan antara kode buku di tabel buku dengan kode buku di tabel peminjaman. Begitu pula dengan kode anggota. Diagram Entity-Relationship (Diagram E-R) Model Entity Relationship yang berisi komponen himpunan entitas, relasi, yang dilengkapi atribut-atribut, dapat digambarkan menggunakan Diagram EntityRelationship (Diagram E-R). Simbol dasar yang digunakan : :Menyatakan Himpunan Entitas :Menunjukan Himpunan Relasi :Menyatakan Atribut (Atribut key digaris bawahi) :Penghubung / Link Dalam Diagram E-R aturan terpenting adalah Kardinalitas relasi/ Mapping Cardinalities yang menentukan jumlah entity yang dapat dikaitkan dengan entity lainnya melalui relationship-set. Jenis Mapping Cardinalities: • Relasi satu ke satu (one-to-one) • Relasi satu ke banyak (one-to-Many) •Relasi banyak ke banyak (many-to-many) Diagram Entity-Relationship (Diagram E-R) lanjutan Contoh Relasi one-to-one Contoh Relasi one-to-many Contoh Relasi many-to-many 2. Model Berorientasi Object (Object-Oriented Model) https://searchoracle.techtarget.com/tip/Alternatives-to-the-relational-database-model https://slideplayer.info/slide/11870146/ Penggambaran model berbasis objek menggunakan UML. UML Digambarkan dengan 2 Jenis : 1. Structural Diagram 2. Behaviour Diagram *Detail pembahasan UML ada di Mata Kuliah Pemodelan Berbasis Objek Model Berorientasi Object (Object-Oriented Model) Structural Diagram Structural diagram terdiri dari : • Class Diagram • Object Diagram • Component Diagram • Deployment Diagram Behavioral Diagram Behavioral Diagram terdiri dari : • Use case Diagram • Sequence Diagram • Collaboration Diagram • Statechart Diagram • Activity Diagram 3. Semantic Model Hampir sama dengan Entity Relationship model dimana relasi antara objek dasar tidak dinyatakan dengan simbol tetapi menggunakan kata-kata (Semantic). Sebagai contoh, dengan masih menggunakan relasi pada Bank X sebagaimana contoh sebelumnya, dalam semantic model adalah seperti terlihat pada gambar di atas. Tanda-tanda yang menggunakan dalam semantic model adalah sebagai berikut : : Menunjukkan adanya relasi : menunjukkan atribut Contoh Kasus Semantic Model B. Model Data Berbasis Record Model ini berdasarkan pada record untuk menjelaskan kepada user tentang hubungan logic antar data dalam basis data PERBEDAAN DENGAN MODEL DATA BERBASIS OBJEK Pada record based data model disamping digunakan untuk menguraikan struktur logika keseluruhan dari suatu database, juga digunakan untuk menguraikan implementasi dari sistem database (higher level description of implementation) Model Relational Terdapat 3 data model pada model data berbasis record: 1. Model Relational, Dimana data serta hubungan antar data direpresentasikan oleh sejumlah tabel dan masingmasing tabel terdiri dari beberapa kolom yang namanya unique. Model ini berdasarkan notasi teori himpunan (set theory), yaitu relation. Contoh : data base penjual barang terdiri dari 3 tabel: – Supllier – Suku_cadang – Pengiriman Model Relational lanjutan No_supl Nama_pen Status KOTA S01 s02 s03 s04 PT. OGAH-RUGI PT. SANTAI-DULU PT. MALU-MALU CV. ASAL JADI 03 03 02 01 MEDAN SURABAYA BANDUNG MEDAN NO_PA RT NAMA_PART BAHAN BAKU BERA T KOTA P01 P02 P03 P04 P05 BAUT-3 cm MUR - 3 cm BAUT -10 cm PACKING RING-MM BESI BESI ALUMUNIUM KARET ALUMUNIUM 10 8 45 6 2 JAKARTA JAKARTA SURABAYA MEDAN JAKARTA SUPPLIER SUKU CADANG PENGIRIMAN NO_SUPL NO_PART JUML S01 S01 S01 S02 S02 S03 S04 P01 P02 P04 P01 P02 P03 P04 200 300 250 300 400 400 300 Model Hirarki 2. Model Hirarki Dimana data serta hubungan antar data direpresentasikan dengan record dan link (pointer), dimana record-record tersebut disusun dalam bentuk tree (pohon), dan masing-masing node pada tree tersebut merupakan record/grup data elemen dan memiliki hubungan cardinalitas 1:1 dan 1:M DOSEN SISTEM DATABASE ANALISA DAN PERANCANGAN SISFO NINA A C D G B E F H I PARENT CHILD BAYA LENA HAFIDZ NOVI HAFIDZ NAYA RAFA Model Hirarki Lanjutan Model Jaringan 3. Model Jaringan Distandarisasi tahun 1971 oleh Database Task Group (DBTG) atau disebut juga model CODASYL (Conference on Data System Language), mirip dengan hirarkical model dimana data dan hubungan antar data direpresentasikan dengan record dan links. Perbedaannya terletak pada susunan record dan linknya yaitu network model menyusun record-record dalam bentuk graph dan menyatakan hubungan cardinalitas 1:1, 1:M dan N:M R1 R3 R4 R5 R2 DOSEN SISTEM DATABASE ANALISA DAN PERANCANGAN SISFO NINA BAYA LENA NOVI HAFIDZ NAYA RAFA Model Jaringan lanjutan
Pertemuan 4 Entity-Relationship Diagram (ERD) Simbol-simbol dalam E-R Diagram • ENTITY • WEAK ENTITY • RELATIONSHIP • IDENTIFYING RELATIONSHIP • ATRIBUT DERIVATIF Notasi Arti • ATRIBUT • ATRIBUT PRIMARY KEY • ATRIBUT MULTI VALUE • ATRIBUT COMPOSITE Notasi Arti Komponen E-R Diagram 1. Entitas yaitu suatu kumpulan object atau sesuatu yang dapat dibedakan atau dapat diidentifikasikan secara unik. Dan kumpulan entitas yang sejenis disebut dengan entity set. 2. Relationship yaitu hubungan yang terjadi antara satu entitas atau lebih. 3. Atribut, kumpulan elemen data yang membentuk suatu entitas. 4. Indicator tipe terbagi 2 yaitu : a. Indicator tipe asosiatif object b. Indicator tipe super tipe Entity Set ENTITY SET TERBAGI ATAS : 1. Strong entity set yaitu entity set yang satu atau lebih atributnya digunakan oleh entity set lain sebagai key. Digambarkan dengan empat persegi panjang. Misal : E adalah sebuah entity set dengan atribute-atribute a1, a2,..,an, maka entity set tersebut direpresentasikan dalam bentuk tabel E yang terdiri dari n kolom, dimana setiap kolom berkaitan dengan atribute-atributenya. 2. Weak Entity set, Entity set yang bergantung terhadap strong entity set. Digambarkan dengan empat persegi panjang bertumpuk. Misal : A adalah weak entity set dari atribute-atribute a1, a2, .., ar dan B adalah strong entity set dengan atribute-atribute b1, b2,..,bs, dimana b1 adalah atribute primary key, maka weak entity set direpresentasikan berupa table A, dengan atribute-atribute {b1} u {a1,a2,.., ar} NOPEG PEGAWAI MILIK TANGGUNGAN …….. NAMA …….. Entity Set lanjutan Contoh Weak Entity Contoh Strong Entity a. KEY atribut yang digunakan untuk menentukan suatu entity secara unik b. ATRIBUT SIMPLE atribut yang bernilai tunggal c. ATRIBUT MULTI VALUE atribut yang memiliki sekelompok nilai untuk setiap instan entity Pada gambar dibawah ini, yang menjadi atribut key adalah NIP. Tgl Lahir dan Nama adalah atribut simple. Sedangkan Gelar merupakan contoh atribut multivalue. TGL LAHIR GELAR NIP NAMA PEGAWAI Jenis-Jenis Atribut Jenis Atribut lanjutan NAMA DEPAN NAMA TENGAH NAMA BLKNG NAMA PEGAWAI d. ATRIBUT COMPOSIT Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu contohnya adalah atribut nama pegawai yang terdiri dari nama depan, nama tengah dan nama belakang. e. ATRIBUT DERIVATIF Suatu atribut yg dihasilkan dari atribut yang lain. Sehingga umur yang merupakan hasil kalkulasi antara Tgl Lahir dan tanggal hari ini. Sehingga keberadaan atribut umur bergantung pada keberadaan atribut Tgl Lahir. TGL LAHIR UMUR PEGAWAI Jenis Atribut lanjutan Mapping Cardinality Banyaknya entity yang bersesuaian dengan entity yang lain melalui relationship JENIS-JENIS MAPPING : 1. One to one 2. Many to One atau One to many 3. Many to many REPRESENTASI DARI ENTITY SET Entity set direpresentasikan dalam bentuk tabel dan nama yang unique. Setiap tabel terdiri dari sejumlah kolom, dimana masing-masing kolom diberi nama yang unique pula Participation Constraint Menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya dengan entity lain. Terdapat dua macam participation constrain yaitu: 1. Total participation constrain yaitu: Keberadaan suatu entity tergantung pada hubungannya dengan entity lain. Didalam diagram ER digambarkan dengan dua garis penghubung antar entity dan relationship. 2. Partial participation, yaitu Keberadaan suatu entity tidak tergantung pada hubungan dengan entity lain. Didalam diagram ER digambarkan dengan satu garis penghubung. a. TOTAL PARTICIPATION PEGAWAI PUNYA BAGIAN N 1 PEGAWAI KERJA PROYEK N 1 b. PARTIAL PARTICIPATION Contoh Participation Constraint Indicator tipe asosiatif object berfungsi sebagai suatu objek dan suatu relationship. SISWA MENDAFTAR KURSUS SISWA KURSUS PENDAFTARAN Berubah menjadi Indicator Tipe Indicator tipe super tipe, terdiri dari suatu object dan satu subkategori atau lebih yang dihubungkan dengan satu relationship yang tidak bernama. PEGAWAI PEGAWAI HONORER PEGAWAI TETAP Indicator Tipe lanjutan Tahapan Pembuatan ERD 1. Identifikasi dan tetapkan seluruh himpunan entitas yang akan terlibat 2. Tentukan atribut key dari masing-masing himpunan entitas 3. Identifikasi dan tetapkan seluruh himpunan relasi antar himpunan entitas yang ada beserta foreign key-nya 4. Tentukan derajat/kardinalitas relasi untuk setiap himpunan relasi 5. Lengkapi himpunan entitas dan himpunan relasi dengan atribut bukan kunci. LRS representasi dari struktur record-record pada tabel-tabel yang terbentuk dari hasil relasi antar himpunan entitas. Menentukan Kardinalitas, Jumlah Tabel dan Foreign Key (FK) One to One (1-1) Supir Taksi kemudi Gambar di atas menunujukan relasi dengan kardinalitas 1-1, karena: 1 supir hanya bisa mengemudikan 1taksi, dan 1 taksi hanya bisa dikemudikan oleh 1 supir. Relasi 1-1 akan membentuk 2 tabel: Tabel Supir (nosupir, nama, alamat) Tabel Taksi (notaksi, nopol, merk, tipe) Logical Record Structured (LRS) LRS yang terbentuk sbb: nosupir nama alamat notaksi nopol merk tipe nosupir(FK) atau notaksi nopol merk tipe nosupir nama alamat Notaksi(FK) LRS lanjutan One to Many (1-M) Dosen Kelas bimbing Gambar di atas menunujukan relasi dengan kardinalitas 1-M, karena: 1 Dosen bisa membimbing banyak Kelas, dan 1 Kelas hanya dibimbing oleh 1 Dosen. Relasi 1-M akan membentuk 2 tabel: Tabel Dosen (nip, nama, alamat) Tabel Kelas (kelas, jurusan, semester, jmlmhs) LRS lanjutan LRS yang terbentuk sbb: nip nama alamat kelas jurusan semester jmlmhs nip (FK) LRS lanjutan Many to Many (M-M) Mahasiswa Mtkuliah ajar Gambar di atas menunujukan relasi dengan kardinalitas M-M, karena: 1 Mahasiswa bisa belajar banyak Mata Kuliah, dan 1 Mata Kuliah bisa dipelajari oleh banyak Mahasiswa. Relasi M-M akan membentuk 3 tabel: Tabel Mahasiswa (nim, nama, alamat) Tabel Mtkuliah (kdmk, nmmk, sks) Tabel Nilai (nim, kdmk, nilai) menggunakan super key/composite key LRS lanjutan LRS yang terbentuk sbb: nim nama alamat kdmk nmmk sks nim (FK) kdmk (FK) nilai Mahasiswa Nilai Mtkuliah LRS lanjutan Analisa Kasus ERD Perpustakaan Smart (Pembahasan di Kelas) Membuat ERD dari Perpustakaan Smart Langkah –langkah pembuatan ERD dan LRS Tentukan entity – entity yang diperlukan Tentukan relationship antar entity – entity Menggambar ERD Sementara Mengisi kardinalitas Menentukan kunci utama Menggambar ERD Berdasarkan Kunci Tentukan attribute – attribute Transformasi ERD ke LRS Menggambar LRS Contoh Kasus Sebuah perusahaan mempunyai beberapa bagian. Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai. Pegawai harus ditugaskan pada paling tidak satu bagian, tetapi dapat pula beberapa bagian. Paling tidak satu pegawai mendapat tugas sebuah proyek. Namun, seorang pegawai dapat libur dan tidak mendapat tugas proyek. Penyelesaian Langkah 1 : Menentukan Entitas Entitas yang dibutuhkan adalah : Bagian, Pegawai, Pengawas, dan Proyek Langkah 2 :Menentukan Relasi dengan matriks relasi Bagian Pegawai Pengawas Proyek Bagian ditugaskan ke dijalankan oleh Pegawai milik bekerja pada Pengawas menjalankan Proyek menggunakan Lanjutan Langkah 3 : Menggambar ERD Sementara Lanjutan Deskripsi Permasalahan : • Masing-masing bagian hanya mempunyai satu pengawas • Seorang pengawas hanya bertugas pada satu bagian • Masing-masing bagian memiliki paling tidak satu pegawai • Masing-masing pegawai bekerja paling tidak pada satu bagian • Masing-masing proyek dikerjakan oleh paling tidak satu pegawai • Seorang Pengawas bisa mendapat tugas 0 atau beberapa proyek Lanjutan Langkah 4 : Mengisi Kardinalitas Lanjutan Langkah 5: Menentukan Kunci Utama Kunci Utama : Nama Bagian, Nomor Pengawas, Nomor Pegawai, Nomor Proyek. Langkah 6: Menggambarkan ERD berdasarkan kunci Karena ada dua relasi many-to-many pada ERD sementara, yaitu antara Bagian dan Pegawai, serta Pegawai dan Proyek. Oleh karena itu dibuatkan entitas baru yaitu Bagian-Pegawai dan Pegawai-Proyek. Kunci utama Bagian-Pegawai adalah gabungan Nama Bagian dan Nomor Pegawai. Kunci utama Pegawai-Proyek adalah gabungan Nomor Pegawai dan Nomor Proyek Lanjutan Penggambaran ERD Berdasarkan Kunci Lanjutan Langkah 7: Menentukan Atribut yang diperlukan Transformasi ERD dan LRS Lanjutan LRS yang terbentuk Contoh Lain : Perpustakaan Sederhana Dari ketiga dokumen tersebut buatlah normalisasinya. Contoh ERD Perpustakaan Sederhana Tugas Kelompok Buatlah ERD dan LRS dari hasil analisi basis data yang dibuat sesuai dengan tema project yang dipilih pada pertemuan 1 dan pertemuan 2 Sistem Informasi Akuntansi Peminjaman Pada Koperasi Simpan Pinjam Tirta Mukti PDAM Bekasi https://ejournal.bsi.ac.id/ejurnal/index.php/jtk/article/view/6823/pdf Logical Record Structure https://ejournal.bsi.ac.id/ejurnal/index.php/jtk/article/view/6823/pdf Penerimaan Peserta Didik Baru Secara Daring Di Masa Pandemi Covid-19 Pada Smpit Tambun Islamic School https://ejournal.bsi.ac.id/ejurnal/index.php/infortech/article/view/9122 Aplikasi Manajemen Kontrol Dokumen Pada PT. Siantar Top, Tbk Bekasi Menggunakan Metode Waterfall https://ejournal.bsi.ac.id/ejurnal/index.php/Bianglala/article/view/6644 Aplikasi Pendaftaran Pasien Rawat Jalan Online pada Klinik Mulya Medika Menggunakan Waterfall https://ejournal.bsi.ac.id/ejurnal/index.php/Bianglala/article/view/6013/3335
Pertemuan 5 Normalisasi Normalisasi Dalam merancang basis data dapat dilakukan dengan: 1. Menerapkan Normalisasi terhadap struktur tabel yang telah diketahui, atau 2. Langsung membuat model Entity-Relationship. Normalisasi merupakan cara pendekatan lain dalam membangun desain logik basis data dengan menerapkan sejumlah aturan dan kriteria standar untuk menghasilkan struktur tabel yang normal. Perancangan Sistem Informasi Rawat Jalan Berbasis Web Pada Puskesmas Winong : https://ejournal.bsi.ac.id/ejurnal/index.php/Bianglala/article/view/574/465 Normalisasi Lanjutan BEBERAPA PENGERTIAN NORMALISASI : Normalisasi merupakan proses pengelompokan elemen data menjadi tabel–tabel yang menunjuk-kan entity dan relasinya. Normalisasi adalah proses pengelompokan atributeatribute dari suatu relasi sehingga membentuk WELL STRUCTURE RELATION. Well Structure Relation Adalah sebuah relasi yang jumlah kerangkapan datanya sedikit (minimum Amount Of Redundancy), serta memberikan kemungkinan bagi user untuk melakukan INSERT, DELETE, dan MODIFY terhadap baris-baris data pada relation tersebut, yang tidak berakibat terjadinya ERROR atau INKONSESTENSI DATA, yang disebabkan oleh operasi-operasi tersebut Keuntungan Normalisasi Keuntungan dari normalisasi, yaitu : 1. Meminimalkan ukuran penyimpanan yang diperlukan untuk menyimpan data. 2. Meminimalkan resiko inkonsistensi data pada basis data 3. Meminimalkan kemungkinan anomali pembaruan 4. Memaksimalkan stabilitas struktur data ANOMALY ANOMALY merupakan penyimpangan-penyimpangan atau Error atau inkonsistensi data yang terjadi pada saat dilakukan proses insert, delete maupun update. Terdapat 3 jenis Anomaly : 1. Insertion Anomaly Error yang terjadi sebagai akibat operasi insert record/tuple pada sebuah relation 2. Deletion Anomaly Error yang terjadi sebagai akibat operasi delete record/tuple pada sebuah relation Anomaly Lanjutan 3. Update Anomaly Error yang terjadi sebagai akibat inkonsistensi data yang terjadi sebagai akibat dari operasi update record/tuple dari sebuah relation Problem-Problem Pada Relation yang Sudah Dinormalisasi Performance problem Masalah terhadap performa database Referential Integrity Problem Masalah yang timbul terhadap referensi antar data-data diantara dua tabel atau lebih BEBERAPA KONSEP YANG HARUS DIKETAHUI: a. Field/ Atribut Kunci (sudah di bahas di pertemuan 2) b. Kebergantungan Fungsi Atribut Kunci (Field) (Sudah Di bahas di Pertemuan 2) a. Key Field / atribute kunci dalam database: 1. Super key 2. Candidate key 3. Primary key 4. Alternate key 5. Foreign key Kebergantungan Kunci 1. Ketergantungan Fungsional (Fungsional Dependent) Keterkaitan antar hubungan antara 2 atribute pada sebuah relasi. Dituliskan dengan cara : A B, yang berarti : Atribute B fungsionality Dependent terhadap atribute A atau Isi (value) atribute A menentukan isi atribute B Definisi dari functional dependent : Diketahui sebuah relasi R, atribute Y dari R adalah FD pada atribute X dari R ditulis R.X -> R.Y jika dan hanya jika tiap harga X dalam R bersesuaian dengan tepat satu harga Y dalam R Kode_Barang Nama_Barang Stok B001 Buku Tulis SIDU 30 B002 Buku Tulis Kiky 80 B003 Buku Tulis Global 50 Determinant Dependent https://mfikri.com/artikel/konsep-ketergantungan-dalam-normalisasi-data.html Artinya Kode_Barang secara fungsional menentukan Nama_Barang, Stok sehingga dapat di tuliskan menjadi kode_barang nama_barang, stok No_KTP TTL Jekel Alamat Nama Notasi FD : No_KTP Nama, TTL, Jekel, Alamat Artinya : atribut Nama, TTL, Jekel dan Alamat tergantung pada atribut No_KTP 2. Fully Functionaly Dependent (FFD) Suatu rinci data dikatakan fully functional dependent pada suatu kombinasi rinci data jika functional dependent pada kombinasi rinci data dan tidak functional dependent pada bagian lain dari kombinasi rinci data. Definisi dari FFD: Atribute Y pada relasi R adalah FFD pada atribute X pada relasi R jika Y FD pada X tida FD pada himpunan bagian dari X Contoh: PersonID,Project,Project_budgettime_spent_byperson_ onProject (bukan FFD) PersonID, Project time_spent_byperson_onProject (FDD) Kebergantungan Kunci lanjutan Kode_Barang Nama_Barang Kode_Pembeli Nama_Pembeli B001 Buku Tulis SIDU P001 Sinta B002 Buku Tulis Kiky P002 Tina B003 Buku Tulis Global P003 Rina B001 Buku Tulis SIDU P001 Sinta B001 Buku Tulis SIDU P003 Rina B002 Buku Tulis Kiky P003 Rina Nama pembeli pada tabel penjualan hanya bergantung kepada kode pembeli , dan tidak di tentukan oleh barang apa yang di beli pada tabel penjualan tersebut Contoh, terdapat relasi pengiriman : Pengiriman (kode_kirim, alamat, kota, kode_pos) Pada relasi ini terdapat 2 kondisi : 1. {kode_kirim, kota} kode_pos 2. kode_kirim kode_pos Penjelasan : kode_pos bergantung pada kondisi 1 dan kondisi 2 yang tidak lain adalah bagian dari kondisi 1, maka kode_pos hanya mempunyai FD sepenuhnya terhadap kode_kirim 3. Ketergantungan Partial Sebagian dari kunci dapat digunakan sebagai kunci utama 4. Ketergantungan Transitif Menjadi atribute biasa pada suatu relasi tetapi menjadi kunci pada relasi lain 5. Determinan Suatu atribute (field) atau gabungan atribute dimana beberapa atribute lain bergantung sepenuhnya pada atribute tersebut Kebergantungan Kunci lanjutan Aturan-aturan normalisasi dinyatakan dengan istilah bentuk normal. Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut pada level-level normalisasi. Beberapa level yang biasa digunakan pada normalisasi adalah: • Bentuk normal pertama (1NF) • Bentuk normal kedua (2NF) • Bentuk normal ketiga (3NF) • Bentuk normal Boyce-Codd (BCNF) • Bentuk normal keempat (4NF) • Bentuk Normal kelima (5NF) Bentuk Normal PERANCANGAN SISTEM INFORMASI PENJUALAN KUE BERBASIS WEB PADA TOKO ANA CAKE CIKARANG https://www.neliti.com/publications/335096/perancangan-sistem-informasipenjualan-kue-berbasis-web-pada-toko-ana-cake-cikar Aplikasi Manajemen Kontrol Dokumen Pada PT. Siantar Top, Tbk Bekasi Menggunakan Metode Waterfall https://ejournal.bsi.ac.id/ejurnal/index.php/Bianglala/article/view/6644
Pertemuan 6 Normalisasi Lanjutan BENTUK TIDAK NORMAL UNNORMALIZED FIRST NORMAL FORM (INF) SECOND NORMAL FORM (2NF) THIRD NORMAL FORM (3NF) FOURTH NORMAL FORM (4NF) BOYCE-CODD NORMAL FORM (BCNF) FIFTH NORMAL FORM (5NF) MENGHILANGKAN ELEMEN DATA BERULANG MENGHILANGKAN KETERGANTUNGAN PARTIAL MENGHILANGKAN KETERGANTUNGAN TRANSITIF Menghilangkan kunci kandidat yg bkn merupakan determinan Menghilangkan ketergantungan multi value yg bkn merup. Ketergantungan fungsional Menghilangkan ketergantungan join yg bkn merupakan kunci kandidat Langkah-Langkah Pembuatan Normalisasi Bentuk Tidak Normal (Unnormalized) Bentuk tidak normal adalah bentuk tabel yang belum ternormalisasi. Tabel yang belum ternormalisasi adalah tabel yang memiliki atribut yang berulang. Bentuk Normal Pertama (1NF) Definisi bentuk normal pertama adalah: Suatu Relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris. Bentuk Normal Kedua (2NF) Bentuk normal kedua didefinisikan berdasarkan dependensi fungsional. Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika: • Berada pada bentuk normal pertama • Semua atribut bukan kunci memiliki depedensi sepenuhnya terhadap kunci primer. Atribut bukan kunci adalah atribut yang tidak merupakan kunci primer Bentuk Normal Ketiga (3NF) Definisi bentuk normal ketiga: Suatu relasi dikatakan dalam bentuk normal ketiga (3NF) jika: • Berada dalam bentuk normal kedua • Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer. Bentuk Normal Boyce-Codd (BCNF) Definisi bentuk normal Boyce-Codd: Suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika dan hanya jika semua penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik) BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. Bentuk Normal Keempat (4NF) dan Bentuk Normal Kelima (5NF) Bentuk normal keempat berkaitan dengan sifat Ketergantungan Banyak-Nilai (Multivalued Depedency) pada suatu tabel yang merupakan pengembangan dari ketergantungan fungsional. Bentuk normal kelima merupakan nama lain dari ProjectJoin Normal Form (PNJF) yaitu berhubungan dengan ketergantungan relasi antar tabel (Join Dependency) Studi Kasus Perpustakaan Dari ketiga dokumen tersebut buatlah normalisasinya. Bentuk Tidak Normal Bentuk 1NF 2NF 3NF PT. SANTA PURI FAKTUR PEMBELIAN BARANG Jalan senopati 11 yogyakarta Kode Suplier : G01 Tanggal : 05/09/2000 Nama Suplier : Gobel Nustra Nomor : 998 A01 A02 AC SPLIT ½ PK AC SPLIT 1 PK 10.0 10.0 135,000 200,000 1,350,000 2,000,000 Kode Nama Barang Qty Harga Jumlah Total Faktur 3,350,000 Jatuh tempo faktur : 09/09/2000 Studi Kasus Normalisasi no fac kode supp nama supp kode brg nama barang tanggal jatuh tempo qty harga jumlah Total 779 998 S02 G01 Hitachi Gobel N R02 A01 A02 RICE COOKER AC SPLIT ½ PK AC SPLIT 1 PK 02/09/00 05/09/00 08/09/00 09/09/00 10 10 10 15000 135000 200000 150000 1350000 2000000 150000 3350000 1.Step 1 bentuk unnormalized Studi Kasus lanjutan nofac kode supp nama supp Kode brg nama barang tanggal jatuh tempo qty harga jumlah Total 779 998 998 S02 G01 G01 Hitachi Gobel N Gobel N R02 A01 A02 RICE COOKER AC SPLIT ½ PK AC SPLIT 1 PK 02/09/00 05/09/00 05/09/00 08/09/00 09/09/00 09/09/00 10 10 10 15000 135000 200000 150000 1350000 2000000 150000 3350000 3350000 2. Step 2 bentuk 1 NF Studi Kasus lanjutan Kode Supplier * Nama Supplier No Nota * Tanggal Tempo Qty harga Total KodeSupplier ** KodeBarang ** Kode barang * Nama barang 3. Step 3 bentuk 2 NF Studi Kasus lanjutan Kode Supplier * Nama Supplier No Nota * Tanggal Tempo Total kode Supplier ** Kode barang * Nama barang Keterangan: * Kunci primer dari tabel. ** Kunci tame/penghubung dari tabel thp induknya No Nota ** Kode Barang ** Qty Harga Tabel Supplier Tabel Nota Tabel Barang Tabel Transaksi Brg 4. Step IV Bentuk 3 NF Studi Kasus lanjutan PERANCANGAN SISTEM INFORMASI PENJUALAN KUE BERBASIS WEB PADA TOKO ANA CAKE CIKARANG https://www.neliti.com/publications/335096/perancangan-sistem-informasipenjualan-kue-berbasis-web-pada-toko-ana-cake-cikar Aplikasi Manajemen Kontrol Dokumen Pada PT. Siantar Top, Tbk Bekasi Menggunakan Metode Waterfall https://ejournal.bsi.ac.id/ejurnal/index.php/Bianglala/article/view/6644 Aplikasi Pendaftaran Pasien Rawat Jalan Online pada Klinik Mulya Medika Menggunakan Waterfall https://ejournal.bsi.ac.id/ejurnal/index.php/Bianglala/article/view/6013/3335 Tugas NoRM Tgl periksa Kode Dokter Nama Dokter KodeSakit Diskripsi sakit Kode obat Nama obat Dosis RM001 1/5/99 D01 Dr Zurmaini S11 Tropicana B01 B02 Sulfa Anymiem 3dd1 4dd1 RM002 4/7/99 D01 Dr Zurmaini S12 Ulcer Triombis B01 B03 Sulfa Supralin 3dd2 3dd1 RM003 4/4/99 D02 Dr Harjono S12 Ulcer Triombis B04 Adrenalin 4dd2 RM004 7/8/99 D04 Dr Mahendra S12 Ulcer Triombis B01 B02 B03 Sulfa Anymiem Supralin 3dd2 4dd2 3dd1 Buatlah bentuk Normalisasi dari dokumen berikut ini : Kartu pengobatan masyarakat No Pasien : 1234/PO/IV/99 Tanggal Pendaftaran : 1 Mei 1999 Data Pasien dari, NOPEN : 1000019999 Nama Pasien : Bachtiar Jose Alamat Pasien, Jalan : Kebon Jeruk No. 27 Kelurahan : Palmerah Kecamatan : Kemanggisan Wilayah : Jakarta Barat Kode Pos :11530 Telepon : 5350999 Penerima Pasien Buatlah bentuk un normal form, 1NF , 2NF dan 3NF Ttd ( Udin ) Tugas Kelompok (lanjutan dari tugas kelompok pertemuan 4) 1. Buatlah rancangan dokumen masukan yang di butuhkan oleh sistem 2. Buatlah rancangan dokumen keluaran yang akan di hasilkan oleh sistem 3. Buatlah Normalisasi dari rancangan dokumen yang dibuat di atas. Catatan : rancangan dokumen masukan dan keluaran, normalisasi. Rancangan dan normalisasi sesuai dengan tema yang dipilih pada pertemuan 1
Komentar
Posting Komentar