Week 4
PEMODELAN DATA DAN DESAIN DATABASE Awalludiyah Ambarwati
AGENDA • Model Data Relasional • Model data REA (Resources, Events, Agents) • Merancang diagram REA • Mengimplementasikan diagram REA dalam database relasional
Perancangan dan Implementasi Sistem Database • Enam langkah dasar dalam mendesain dan mengimplementasikan sistem database: 1.Identifikasi kebutuhan informasi para pemakai. 2.Tahap pertama terdiri dari perencanaan awal untuk menetapkan kebutuhan dan kelayakan pengembangan sistem baru. 3.Pengembangan berbagai skema berbeda untuk sistem yang baru, pada tingkat konseptual, eksternal dan internal.
Perancangan dan Implementasi Sistem Database 4. Penerjemahan skema tingkat internal ke struktur database sesungguhnya, yang akan diimplementasikan ke dalam sistem yang baru tersebut. 5. Mentransfer semua data dari sistem sebelumnya ke database SIA yang baru. 6. Penggunaan dan pemeliharaan sistem yang baru.
Model Data REA
Pembuatan model data adalah proses proses menyusun database, agar database tersebut benar-benar mewakili seluruh aspek organisasi, termasuk interaksi organisasi dengan lingkungan eksternal.
Model Data REA • Pembuatan model data dalam proses Desain database
Pembuatan model data terjadi di sini
Perencanaan
Operasi dan Pemeliharaan
Analisis Persyaratan
Implementasi
Desain
Pengkodean
Model Data REA • Model data REA memberikan struktur dalam dua cara: 1 Dengan mengidentifikasi entitas apa yang seharusnya dimasukkan dalam database SIA 2 Dengan cara menentukan bagaimana membuat struktur antar entitas dalam database SIA tersebut
Jenis-jenis Entitas • Entitas adalah segala sesuatu yang informasinya ingin dikumpulkan dan disimpan oleh organisasi. • Model data REA mengklasifikasi entitas ke dalam tiga kategori yang berbeda, yaitu : 1 Sumber daya yang didapat dan dipergunakan oleh organisasi 2 Kegiatan atau aktivitas bisnis yang dilakukan organisasi 3 Pelaku yang terlibat dalam kegiatan tersebut
Jenis-jenis Entitas • Sumber daya adalah hal-hal yang memiliki nilai ekonomi bagi organisasi. • Contoh sumber daya organisasi adalah: – Kas – Persediaan – Peralatan
Jenis-jenis Entitas • Kegiatan adalah berbagai aktivitas bisnis yang informasinya ingin dikumpulkan perusahaan untuk tujuan perencanaan dan pengendalian. • Contoh kegiatan organisasi adalah : – Kegiatan penjualan – Kegiatan penerimaan kas
Jenis-jenis Entitas • Pelaku adalah entitas jenis ketiga dalam model REA. • Pelaku adalah orang-orang dan organisasi yang terlibat dalam kegiatan yang informasinya ingin didapatkan untuk tujuan perencanaan, pengendalian, dan evaluasi. • Contoh pelaku organisasi adalah – Pegawai – Pelanggan
Membangun diagram REA • Membangun diagram REA untuk siklus transaksi tertentu terdiri dari empat langkah berikut : 1 Identifikasi pasangan kegiatan pertukaran ekonomi yang mewakili hubungan dualitas dasar memberi untuk menerima, dalam siklus tersebut. 2 Identifikasi sumber daya yang dipengaruhi oleh setiap kegiatan pertukaran ekonomi dan para pelaku yang terlibat dalam kegiatan tersebut.
Membangun diagram REA 3.Analisis setiap kegiatan pertukaran ekonomi untuk menetapkan apakah kegiatan tersebut harus dipecah menjadi suatu kombinasi dari satu atau lebih kegiatan komitmen dan kegiatan pertukaran ekonomi. Apabila perlu, ganti kegiatan pertukaran ekonomi aslinya dengan rangkaian kegiatan komitmen dan pertukaran ekonomi yang dihasilkan dari pemecahan kegiatan tadi. 4. Tetapkan kardinalitas setiap hubungan..
Pola dasar REA (Basic REA template) Resource A
Inflow
GET Resource A
Participant
Internal Agent
Participant
External Agent
Participant
External Agent
Economic Duality
Resource B
Outflow
GIVE Resource B
Participant
Internal Agent
Contoh Diagram REA (Sample REA diagram)
Inventory
Stock-flow
Sales
Participant
Salesperson
Participant
Economic Duality
Customer
Participant
Cash
Stock-flow
Cash Receipts
Participant
Cashier
Diagram REA, Langkah 1: Identifikasi kegiatan pertukaran ekonomi • Selama menggambar diagram REA untuk suatu siklus transaksi, sangatlah berguna untuk membagi kertas yang digunakan untuk menggambar ke dalam tiga kolom, satu kolom untuk setiap jenis entitas. – Pergunakan kolom kiri untuk sumber daya – Kolom tengah untuk kegiatan. – Dan kolom kanan untuk pelaku.
Diagram REA, Langkah 1: Identifikasi kegiatan pertukaran ekonomi • Pertukaran ekonomi dasar dalam siklus pendapatan melibatkan penjualan barang dagangan atau pelayanan, serta serangkaian penerimaan kas sebagai pembayaran dalam penjualan tersebut. • Diagram REA untuk siklus pendapatan S&S dengan membuat entitas kegiatan penjualan dan penerimaan kas dalam bentuk persegi panjang, dan hubungan dualitas ekonomi antara mereka, dalam bentuk wajik.
Diagram REA, Step 2: Identifikasi Sumber Daya dan Pelaku • Ketika kegiatan yang menjadi pusat perhatian telah ditentukan, sumber daya yang dipengaruhi oleh kegiatan tersebut perlu diidentifikasi. • Kegiatan penjualan dapat diterjemahkan menjadi pemberian persediaan kepada pelanggan. • Kegiatan penerimaan kas dapat diterjemahkan sebagai menerima kas dari pelanggan.
Diagram REA, Langkah 2: Identifikasi Sumber Daya dan Pelaku • Setelah menentukan sumber daya yang dipengaruhi oleh setiap kegiatan, langkah selanjutnya yang perlu dilakukan adalah mengidentifikasi pelaku yang terlibat dalam kegiatan-kegiatan tersebut. • Paling tidak selalu terdapat satu pelaku internal (pegawai) dan, di sebagian besar kondisi, seorang pelaku eksternal (pelanggan/pemasok) yang terlibat dalam setiap kegiatan.
Diagram REA, Langkah 3: Masukkan Kegiatan Komitmen • Langkah ketiga dalam menggambar diagram REA adalah menganalisis kegiatan pertukaran ekonomi untuk menetapkan apakah kegiatan tersebut dapat dipecah menjadi sebuah kombinasi dari satu atau lebih kegiatan komitmen dan pertukaran. • Contoh: Kegiatan penjualan dapat dipergunakan untuk mewakili baik penjualan dengan pengiriman maupun yang terjadi di toko. economic exchange event
Decomposing Sales into Orders and Sales InventoryOrders
(1,N)
Customer Orders
(0,N)
(1,1)
Participant
(0,N)
Customer
(1,1) Participant
(0,1)
(0,N) Inventory
(0,N)
InventorySales
Leads to
Salesperson
(0,N) (0,1)
(1,N)
Participant (1,1) Sales (1,1)
Participant
(0,N)
Customer
Diagram REA, Langkah 4: Menetapkan kardinalitas hubungan • Kardinalitas menunjukkan bagaimana perumpamaan dalam satu entitas dapat dihubungkan ke perumpamaan tertentu dalam entitas lainnya. • Kardinalitas sering diungkapkan sebagai pasangan nomor di setiap entitas. • Nomor pertama adalah kardinalitas minimum, dan nomor kedua adalah kardinalitas maksimum.
Diagram REA, Langkah 4: Menetapkan kardinalitas hubungan • Kardinalitas minimum menunjukkan apakah sebuah baris dalam tabel HARUS dihubungkan dengan paling tidak satu baris di dalam tabel lainnya. • Minimum cardinalities can be either 0 or 1. • A minimum cardinality of zero means that a new row can be added to that table without being linked to any rows in the other table. • A minimum cardinality of 1 means that each row in that table MUST be linked to at least one row in the other table
Diagram REA, Langkah 4: Menetapkan kardinalitas hubungan • Kardinalitas minimum • The minimum cardinality of zero in the (0, N) cardinality pair to the left of the customer entity in the customer-sales relationship indicates that a new customer may be added to the database without being linked to any sales events.
Penjualan
Made to
(0, N)
Pelanggan
Diagram REA, Langkah 4: Menetapkan Kardinalitas Hubungan • Kardinalitas minimum of 1 in the (1, 1) cardinality pair to the right of the sales entity in the customer-sales relationship indicates that a new sales transaction CAN ONLY be added if it is linked to a customer. (1,1)
Penjualan
Made to
(0, N)
Pelanggan
Diagram REA, Langkah 4: Menetapkan Kardinalitas Hubungan • Kardinalitas maksimum dari sebuah hubungan menunjukkan apakah setiap baris dalam entitas dapat dihubungkan lebih dari satu baris dalam entitas lainnya. • Kardinalitas maksimum dapat 1 atau N. • Kardinalitas maksimum1 artinya bahwa setiap baris dalam tabel itu dapat dihubungkan ke hanya satu baris dalam tabel lainnya. • Kardinal maksimum N artinya bahwa setiap baris dalam tabel itu bisa dihubungkan lebih dari satu baris dalam tabel lainnya.
Diagram REA, Langkah 4: Menetapkan Kardinalitas Hubungan • Kardinalitas maksimum N dalam (0, N) pasangan kardinalitas to the left of the customer entity in the customer-sales relationship indicates that a given customer MAY be linked to many sales events.
Penjualan
Made to
(0, N)
Pelanggan
Diagram REA, Langkah 4: Menetapkan Kardinalitas Hubungan • Kardinalitas maksimum 1 dalam (1, 1) pasangan kardinalitas to the right of the sales entity in the customer-sales relationship indicates that a given sales transaction can only be linked to one customer.
Penjualan
(1,1)
Made to
(0, N)
Pelanggan
Diagram REA, Langkah 4: Menetapkan Kardinalitas Hubungan • Kardinalitas are not arbitrarily chosen by the database designer. • They reflect facts about the organization being modeled and its business practices obtained during the requirements analysis stage of the database design process.
Hubungan antar Entitas • Terdapat kemungkinan tiga jenis dasar hubungan antar entitas, tergantung dari kardinalitas maksimum yang berhubungan dengan setiap entitas. 1.Hubungan satu-ke-satu (1:1) 2.Hubungan satu-ke-banyak (1:N) 3.Hubungan banyak-ke-banyak (M:N)
Jenis-jenis perbedaan hubungan
Jenis-jenis perbedaan hubungan
Jenis-jenis perbedaan hubungan Panel C: One-to-Many (1:N) Relationship
Sales
(0,1)
(1,N)
Cash Receipts
Jenis-jenis perbedaan hubungan Panel D: Many-to-Many (M:N) Relationship
Sales
(0,N)
(1,N)
Cash Receipts
Diagram Hubungan Entitas • Diagram Hubungan Entitas- (E-R) adalah satu metode untuk skema penggambaran database disebut diagram E-R karena it shows the various entities being modeled and the important relationships among them. • Dalam sebuah diagram E-R, entitas appear as rectangles, and relationships between entities are represented as diamonds.
Contoh Diagram E-R Employers
Managed By
Part of
Supervisors
Manages
Departments
Customer Orders
Part of
Sales
Part of
Cash Receipts
Players
Part of
Teams
Part of
League
Contoh diagram E-R yang berdasar pada model REA Inventory
(0,N)
InventoryPurchases
(1,N)
Purchases
(0,N)
(1,1)
Participant
(0,N)
Buyer (Purchasing Agent)
(1,1) Participant (0,N)
PurchasesCash Disbursem ents
(1,N)
Cash
(0,N)
Stockflow
(1,1)
Cash Disbursement
Vendor
Participant
(0,N)
Participant
(0,N)
(1,1)
(1,1)
Cashier
Mengimplementasikan Diagram REA Dalam Database Relasional • Diagram REA ini dapat dipergunakan untuk mendesain database relasional yang terstruktur baik. • Bahkan, membuat suatu rangkaian tabel berdasarkan diagram REA secara otomatis akan menghasilkan database relasional yang terstruktur baik, tanpa adanya masalah anomali pembaruan (update), penyisipan data (insert), dan penghapusan (delete).
Mengimplementasikan Diagram REA Dalam Database Relasional Mengimplementasikan diagram REA ke dalam database relasional melibatkan proses tiga tahap, yaitu : 1. Membuat sebuah tabel untuk setiap entitas berbeda dan untuk setiap hubungan banyak-ke-banyak 2. Memberikan atribut ke tabel yang tepat 3. Menggunakan kunci luar untuk mengimplementasikan hubungan satu-ke-satu dan hubungan satu-ke-banyak
Mengimplementasikan model REA Inventory
(0,N)
InventoryPurchases
(1,N)
Purchases
(0,N)
(1,1)
Participant
(0,N)
Buyer (Purchasing Agent)
(1,1) Participant (0,N)
PurchasesCash Disbursem ents
(1,N)
Cash
(0,N)
Stockflow
(1,1)
Cash Disbursement
Vendor
Participant
(0,N)
Participant
(0,N)
(1,1)
(1,1)
Cashier
Membuat Tabel From the previously discussed REA diagram, nine tables would be created: one for each of the seven entities and one for each of the many-to-many relationships. 1. 2. 3. 4. 5. 6. 7. 8. 9.
Persediaan Pembelian Pegawai Pemasok Kasir Pengeluaran Kas Kas Pembelian-persediaan Pembelian-pengeluaran kas
Menetapkan Atribut untuk Setiap Tabel • Menetapkan Kunci Utama: Biasanya, kunci utama of a table representing an entity is a single attribute. • Other Attributes: Additional attributes are included in each table to satisfy transaction processing requirements.
Implementasi Hubungan Satu ke Satu dan Satu ke Banyak • Hubungan Satu ke Satu: Di dalam database relasional, hubungan satu ke satu antara entitas dapat diimplementasikan dengan memasukkan kunci utama suatu entitas sebagai kunci luar dalam tabel yang mewakili entitas satunya. • Tidak ada contohnya hubungan 1:1 dalam diagram contoh
Implementasi Hubungan Satu ke Satu dan Satu ke Banyak • Hubungan Satu ke Banyak: Dalam database relasional, hubungan satu ke banyak dapat diimplementasikan juga dalam relasi ke database dengan menggunakan kunci luar. • Kunci utama dari entitas dengan kardinal maksimum N menjadi kunci luar dalam entitas dengan kardinal maksimum 1 • Contoh: Nomor pegawai dan nomor pemasok adalah kunci luar dalam kegiatan pembelian dan kegiatan pengeluaran kas. i
Dokumentasi Praktik Bisnis • Diagram REA secara khusus berguna untuk mendokumentasikan SIA tingkat lanjut yang menggunakan database. • Diagram REA menyediakan informasi mengenai praktik bisnis organisasi dan pola pertukaran ekonominya.
Dokumentasi Praktik Bisnis • The zero minimum for the sales event indicates that credit sales are made • The N maximum for the sales event means that customers may make installment payments Penerimaan kas
(1, N)
Penerimaan kas Penjualan
Penjualan (0, N)
Dokumentasi Praktik Bisnis • The one minimum for the cash receipts event indicates that cash is not received prior to delivering the merchandise • The N maximum for the cash receipts event means that customers may pay for several sales with one check Penerimaan Kas (1, N)
Penerimaan Kas-Penjualan
(0, N)
Penjualan
Organization Specificity of REA Diagrams • Due to the fact that S&S sells mass-produced goods, its REA diagram models the relationship between sales and inventory as being many-to-many. • An REA diagram for a rare art dealer would depict the relationship between sales and inventory as being one-to-many.
Pengambilan Informasi dari SIA • Diagram REA yang lengkap juga berfungsi sebagai petunjuk yang berguna untuk meminta informasi dari database SIA. • Permintaan data dapat digunakan untuk menghasilkan jurnal dan buku besar dari database rasional yang dibuat dengan menggunakan model REA.
Pengambilan Informasi dari SIA
Penjualan
(0, 1)
(1, N)
Penerimaan Kas
• Setiap transaksi penjualan dibayar penuh oleh kegiatan penerimaan kas. • Setiap pembayaran pelanggan bisa dilakukan lebih dari satu penjualan. • Apakah permintaan logis itu ? • Total piutang dagang adalah jumlah dari seluruh penjualan yang tidak memiliki nomor pembayaran.
Pengambilan Informasi dari SIA Penjualan
(0, N)
(1, 1)
Penerimaan Kas
• Setiap transaksi penjualan dapat dibayar secara cicilan (angsuran). • Setiap pembayaran pelanggan hanya untuk satu penjualan. • Apakah permintaan logis itu ? • (1) Jumlah seluruh penjualan; (2) Jumlah penerimaan kas; then A/R = (1)-(2)
Pengambilan Informasi dari SIA Penjualan
(0, 1)
(1, 1)
Penerimaan Kas
• Setiap transaksi penjualan dibayar penuh oleh kegiatan penerimaan kas. • Setiap pembayaran pelanggan untuk satu penjualan. • Apakah permintaan logis itu? • Total piutang dagang adalah jumlah seluruh penjualan yang tidak memiliki nomor pembayaran.
Pengambilan Informasi dari SIA Penjualan
(0, N)
(1, N)
Penerimaan Kas
• Setiap transaksi penjualan dibayar secara cicilan (angsuran). • Setiap pembayaran dari pelanggan dapat membayar lebih dari satu penjualan. • Apakah permintaan logis itu ? • (1) Jumlah semua penjualan; (2) Jumlah semua penerimaan kas; Then A/R = (1)-(2)
Thanks…..