PEMBUATAN MODEL DATA DAN DESAIN DATABASE N. Tri Suswanto Saptadi 4/8/2016 nts/sia 1 Pendahuluan Bagaimana kita dapat mendokumentasikan SIA yang diimplementasikan sebagai database relasional? Bab ini menjelaskan bagaimana cara mendesain dan mendokumentasikan database relasional untuk suatu SIA. Memusatkan perhatian pada pembuatan model data, yang merupakan salah satu aspek desain database yang harus dipahami para akuntan. 4/8/2016 nts/sia 2 1
Pendahuluan Bab ini juga memperkenalkan model akuntansi REA dan diagram Entity- Relationship (E-R). Serta menunjukkan bagaimana mempergunakan alat-alat ini untuk membangun sebuah model data SIA. Akhirnya, bab ini akan mendeskripsikan bagaimana mengimplementasikan hasil model data dalam database relasional. 4/8/2016 nts/sia 3 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. 4/8/2016 nts/sia 4 2
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. 4/8/2016 nts/sia 5 Model Data REA Pembuatan model data adalah proses of defining a database so that it faithfully represents all aspects of the organization, including its interactions with the external environment. REA (Sumber daya, Data, Kegiatan) data model is a conceptual modeling tool that focuses on the business semantics underlying an organization s value chain activities. 4/8/2016 nts/sia 6 3
Model Data REA Pembuatan model data dalam proses Desain database Perencanaan Operasi dan Pemeliharaan Pembuatan model data terjadi di sini Analisis Persyaratan Desain Implementasi Pengkodean 4/8/2016 nts/sia 7 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 4/8/2016 nts/sia 8 4
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 4/8/2016 nts/sia 9 Jenis-jenis Entitas Sumber daya adalah hal-hal yang memiliki nilai ekonomi bagi organisasi. Contoh sumber daya organisasi adalah: Kas Persediaan Peralatan 4/8/2016 nts/sia 10 5
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 4/8/2016 nts/sia 11 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 4/8/2016 nts/sia 12 6
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. 4/8/2016 nts/sia 13 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.. 4/8/2016 nts/sia 14 7
Pola dasar REA (Basic REA template) Resource A Inflow GET Resource A Internal Agent External Agent Economic Duality External Agent Resource B Outflow GIVE Resource B Internal Agent 4/8/2016 nts/sia 15 Contoh Diagram REA (Sample REA diagram) Inventory Stock-flow Sales Salesperson Economic Duality Customer Cash Stock-flow Cash Receipts Cashier 4/8/2016 nts/sia 16 8
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. 4/8/2016 nts/sia 17 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. 4/8/2016 nts/sia 18 9
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. 4/8/2016 nts/sia 19 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. 4/8/2016 nts/sia 20 10
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 4/8/2016 nts/sia 21 Decomposing Sales into Orders and Sales Inventory- Orders (1,N) Customer Orders (1,1) Customer (1,1) (0,1) Inventory Inventory- Sales Leads to Salesperson (1,N) (0,1) Sales (1,1) (1,1) Customer 4/8/2016 nts/sia 22 11
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. 4/8/2016 nts/sia 23 Diagram REA, Langkah 4: Menetapkan kardinalitas hubungan The minimum cardinality of a relationship indicates whether each row in that entity MUST be linked to a row in the entity on the other side of the relationship. 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 4/8/2016 nts/sia 24 12
Diagram REA, Langkah 4: Menetapkan kardinalitas hubungan Kardinalitas minimemthe 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. (0, N) Penjualan Made to Pelanggan 4/8/2016 nts/sia 25 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 Pelanggan (0, N) 4/8/2016 nts/sia 26 13
Diagram REA, Langkah 4: Menetapkan Kardinalitas Hubungan Kardinalitas maksimem dari sebuah hubungan menunjukkan apakah setiap baris dalam entitas dapat dihubungkan lebih dari satu baris dalam entitas lainnya on the other side of the relationship. Kardinalitas maksimem dapat baik 1 atau N. Kardinalitas minimem 1 artinya bahwa setiap baris dalam tabel itu dapat dihubungkan ke hanya satu baris dalam tabel lainnya. Kardinal maksimem N artinya bahwa setiap baris dalam tabel itu bisa dihubungkan lebih dari satu baris dalam tabel lainnya. 4/8/2016 nts/sia 27 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. (0, N) Penjualan Made to Pelanggan 4/8/2016 nts/sia 28 14
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. (1,1) (0, N) Penjualan Made to Pelanggan 4/8/2016 nts/sia 29 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. 4/8/2016 nts/sia 30 15
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) 4/8/2016 nts/sia 31 Jenis-jenis perbedaan hubungan) Panel A: One-to-One (1:1) Relationship Sales (0,1) (1,1) Cash Receipts 4/8/2016 nts/sia 32 16
Jenis-jenis perbedaan hubungan Panel B: One-to-Many (1:N) Relationship Sales (1,1) Cash Receipts 4/8/2016 nts/sia 33 Jenis-jenis perbedaan hubungan Panel C: One-to-Many (1:N) Relationship Sales (0,1) (1,N) Cash Receipts 4/8/2016 nts/sia 34 17
Jenis-jenis perbedaan hubungan Panel D: Many-to-Many (M:N) Relationship Sales (1,N) Cash Receipts 4/8/2016 nts/sia 35 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. 4/8/2016 nts/sia 36 18
Contoh Diagram E-R Employers Managed By Supervisors Part of Manages Departments Customer Orders Part of Sales Part of Cash Receipts Players Part of Teams Part of League 4/8/2016 nts/sia 37 Contoh diagram E-R yang berdasar pada model REA Inventory Inventory- Purchases (1,N) Purchases (1,1) Buyer (Purchasing Agent) (1,1) Purchases- Cash Disbursements Vendor (1,N) (1,1) Cash Cash Stockflow (1,1) Disbursement (1,1) Cashier 4/8/2016 nts/sia 38 19
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). 4/8/2016 nts/sia 39 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 banyakke-banyak 2. Memberikan atribut ke tabel yang tepat 3. Menggunakan kunci luar untuk mengimplementasikan hubungan satu-ke-satu dan hubungan satu-ke-banyak 4/8/2016 nts/sia 40 20
Mengimplementasikan model REA Inventory Inventory- Purchases (1,N) Purchases (1,1) Buyer (Purchasing Agent) (1,1) Purchases- Cash Disbursements Vendor (1,N) (1,1) Cash Cash Stockflow (1,1) (1,1) Disbursement Cashier 4/8/2016 nts/sia 41 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-tomany relationships. 1.Persediaan 2.Pembelian 3.Pegawai 4.Pemasok 5.Kasir 6. Pengeluaran Kas 7. Kas 8. Pembelian-persediaan 9. Pembelian-pengeluaran kas 4/8/2016 nts/sia 42 21
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. 4/8/2016 nts/sia 43 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 hubugnan 1:1 dalam diagram contoh 4/8/2016 nts/sia 44 22
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 4/8/2016 nts/sia 45 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. 4/8/2016 nts/sia 46 23
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 (0, N) Penjualan 4/8/2016 nts/sia 47 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 Penerimaan (1, N) Kas-Penjualan (0, N) Penjualan 4/8/2016 nts/sia 48 24
Organization Specificity of REA Diagrams Due to the fact that S&S sells massproduced 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-tomany. 4/8/2016 nts/sia 49 Pengambilan Informasi dari SIA Diagram REA yang lengkap juga berfungsi sebagai petunjuka 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. 4/8/2016 nts/sia 50 25
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. 4/8/2016 nts/sia 51 Pengambilan Informasi dari SIA (0, N) (1, 1) Penerimaan Penjualan 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) 4/8/2016 nts/sia 52 26
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. 4/8/2016 nts/sia 53 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) 4/8/2016 nts/sia 54 27