ke3

Sabtu, 24 November 2018

Normalisasi Sistem Basis Data



STUDY KASUS SLIP PEMBAYARAN SETORAN AWAL PADA BANK SYARIAH MANDIRI

1.     PENDAHULUAN

                                                                    Gamabar 1. Slip Setoran
                PT.BANK SYARIAH MANDIRI adalah suatu instansi pengembangan dari Bank Mandiri yang besifat syariah , didalam pengelolaannya berdasarkan syariat Islam yang tertera di Al-Qur’an. Dengan perkembangan zaman saat ini instansi penyedia jasa keuangan banyak melakukan perubahan didalam mendapatkan keuntungan dalam istilah Islam adalah bagi hasil. Dengan menggunakan akad didalam setiap transaksinya sebagai  contoh jual beli menggubakan akad murabahah, kerjasama mudharabah dan musyarakah, sewa menyewa ijarah dsb. Yang membedakan Bank Syariah Mandiri dengan Bank Konvensional lainnya adalah didalam pengelolaannya menyediakan dana sosial untuk orang-orang yang membutuhkan.
                Ada 5 entitas yang dihasilkan dari Slip Pembayaran Setoran awal  diatas, yaitu ada entitas Nasabah, Slip Setoran , Teller, Uang, dan Buku Tabungan. Entitas Nasabah memiliki beberapa atribut diantaranya : NIK, Nama Rekening,Nomor Rekening,Alamat, No.hp dengan primary key : NIK. Entitas slip setoran memiliki atribut : Kode slip,tanggal, jumlah,nama rekening , nomor rekening dengan primari key :  kode slip. Entitas Teller memiliki atribut : Kode Teller,Nama teller  dengan primary key : kode teller . Entitas Uang memiliki atribut : No seri, jumlah nominal, dengan primary key : No seri. Entitas Buku Tabungan memiliki atribut : Kode buku tabungan, kode transaksi, No rekening, Nama rekening,jumlah nominal dengan primary key : Kode tabungan.
            Permasalahannya yaitu apabila Bank Syariah Mandiri tersebut tidak memiliki basis data yang sangat baik, maka Bank Syariah mandiri tersebut akan kesulitan dalam mencari data nasabah yang melakukan transaksi pada hari-hari tertentu. Didalam satu hari kemungkinan satu orang dapat melakukan dua transaksi secara bersamaan dan karena itulah akan  terjadi  penggandaan data yang akan membingungkan maka diperlukan kode transaksi serta basis data yang baik.
Jadi  solusi yang tepat untuk pihak manajer Bank Syariah Mandiri yaitu dengan membuat rancangan basis data menggunakan ER-Diagram, agar  dalam  pengelolaan data nasabah yang banyak dapat lebih mudah  dalam  melakukan  pencarian data di dalam sebuah database.

2.     ER-DIAGRAM

ER-Diagram didalam perancangan basis data sangat diperlukan , sebelum di implementasikan ke dalam database. Sebegitu pentingnya ER-Diagram dikarenakan suatu penggambaran alur dari database yang akan dibuat berpedoman pada rancangan ER-Diagram . Didalam pembuatan rancangan ER-diagram memerlukan urutan kerangka sebagai berikut :

2.1.           Menentukan Entitas

Entitas yang muncul pada studi kasus  “ Bank Syariah Mandiri “ adalah :
1.      Nasabah :  Entitas ini diperlukan untuk menyimpan data informasi mengenai nasabah seperti : NIK, Nama Rekening,Nomor Rekening,Alamat,No.hp
2.      Slip Setoran : Entitas ini diperlukan untuk menyimpan semua informasi mengenai transaksi yang terjadi dengan keterangan seperti : Kode slip,Tanggal,Jumlah,Nama rekening,Nomor rekening
3.      Teller : Entitas ini diperlukan untuk menyimpan semua data informasi mengenai Teller seperti : Kode teller dan Nama teller
4.      Uang : Entitas ini diperlukan untuk menyimpan data secara fisik untuk menyamakan saldo seperti : No seri dan jumlah nominal
5.      Buku Tabungan : Entitas ini diperlukan untuk menyimpan tanda bukti transaksi yang telah dilakukan dengan berbagai data informasi yang lengkap seperti : Kode tabungan,kode transaksi, nama rekening, nomor rekening dan jumlah nominal
Gambar 2. Himpunan Entitas

2.2.           Menentukan Primary Key

Menentukan primary key dari atribut yang telah terbentuk dimasing-masing entitas dengan cara memilih kunci yang  unik dan tidak mungkin mengalami kesamaan dengan atribut lainnya dari setiap atribut yang sudah terbentuk.
1.      Entitas Nasabah mempunyai primary key NIK
2.      Entitas Slip Setoran mempunyai primary key Kode Slip
3.      Entitas Teller mempunyai primary key Kode Teller
4.      Entitas Uang mempunyai primary key No.Seri
5.      Entitas Buku Tabungan mempunyai primary key Kode_tabungan


Gambar 3. Entitas beserta Primary Keynya

2.3.           Menentukan Relationship

Relasi yang terjalin ada 4 relasi dari masing-masing entitas yaitu : Nasabah dengan Slip Setoran mempunyai relasi menulis , antara Slip Setoran dengan Teller mempunyai relasi verifikasi , Teller dengan uang mempunyai relasi menghitung, dan yang terakhir uang dengan buku tabungan mempunyai relasi mencetak.


Gambar 4. Penentuan Relasi yang terjadi

2.4.           Menentukan Cardinality

Disini Entitas Nasabah mempunyai derajat kardinalitas Many karena pelanggan dapat lebih dari satu dalam melakukan transaksi,slip setoran  mempunyai derajat kardinalitas One karena setiap nasabah hanya dapat mengambil satu slip setoran , Teller disini juga menggunakan derajat kardinalitas One karena hanya dibutuhkan  satu  teller didalam melayani  satu  transaksi, Uang  mempunyai derajat kardinalitas Many karena jumlahnya yang banyak dan selalu lebih dari satu lembar, sedangkan untuk entitas Buku tabungan mempunyai derajat kardinalitas One karena hanya mencetak di satu buku tabungan dengan satu nomor rekening tersebut.



Gambar 5. Derajat Relasional

2.5.           Melengkapi Atribut

Disini menggambarkan alur dari rancangan ER-Diagaram yaitu diawali dengan entitas Nasabah yang mempunyai atribut : NIK, Nama rekening, Nomor rekening,Alamat,dan No.hp yang direlasikan dengan proses menulis yang terdapat atribut Nomor Rekening didalam penghubungnya  pada entitas Slip setoran yang didalamnya terdapat atribut : Kode slip,tanggal,jumlah,nama rekening ,nomor rekening dan relasi yang terjalin mempunyai proses verifikasi yang mempunyai ketergantungan kuat dengan entitas Teller  yang mempunyai atribut kode teller , nama teller dan penghubung  relasi  menggunakan kode teller. Antara Entitas Teller dengan Uang mempunyai relasi jumlah nominal dengan proses menghitung  yang  didalam  entitas  uang  terdapat Nomor seri dan Jumlah nominal. Dan yang terakhir antara entitas uang dengan buku tabungan yang mempunyai atribut kode tabungan,nama rekening,nomor rekening,kode transaksi , jumlah nominal menggunakan proses mencetak dengan relasi penghubung kode transaksi.


Gambar 6. ER-Diagram lengkap

3.     TRANSFORMASI ER-DIAGRAM

    
                                            Gambar 7. Transformasi relasional dari Menulis
Nasabah=(NIK,No.Rekening,Alamat,No.Hp) , Slip Setoran =(Kode Slip,Tanggal,Nama Rekening, Nomor Rekening,Jumlah), Nasabah Nama Rekening=(NIK,Nama Rekening),Menulis=(NIK,Kode Slip,Nomor Rekening)



Gambar 8. Transformasi relasional dari Verifikasi
Slip Setoran=(Kode Slip,Tanggal,Nama Rekening,Nomor Rekening,Jumlah),Teller=(Kode Teller,Nama Teller), Verifikasi=(Kode Slip,Kode Teller,Kode teller)



Gambar 9. Transformasi relasional dari Menghitung
Teller=(Kode Teller,Nama Teller),Uang=(No.Seri, Jumlah Nominal),Menghitung=(Kode teller,No.Seri,Jumlah nominal)



                                                    Gambar 10. Transformasi relasional dari Mencetak
Uang=(No.Seri, Jumlah nominal), Mencetak=(No.Seri,Kode Buku Tabungan,Kode transaksi), Buku Tabungan=(Kode Buku  tabungan,kode transaksi,No.Rekening,Nama rekening,Jumlah Nominal)

4.     DDL dan DML

DDL digunakan untuk membuat tabel-tabel baru, sedangkan DML digunakan untuk mengisi tabel-tabel yang telah dibuat. Dengan adanya DDL dan DML kita bisa mengelompokkan isi dari Slip Pembayaran Setoran Awal sesuai dengan tabelnya. DDL dan DML yang dihasilkan dari Slip Pembayaran Setoran Awal adalah tabel Nasabah, tabel Slip Setoran, tabel Teller,tabel Uang dan tabel Buku Tabungan.
HASIL PERINTAH DDL :
MariaDB [db_SisfoPembayaranSetoran]> create table tb_Nasabah
    -> (NIK varchar(20) not null,
    -> Nama_rekening char(30),
    -> No_rekening varchar(35),
    -> Alamat varchar(40),
    -> No_hp varchar(12),
    -> primary key(NIK));
Query OK, 0 rows affected (0.02 sec)

DML untuk menampilkan dan mengisi data pada tabel Nasabah
MariaDB [db_SisfoPembayaranSetoran]> insert into tb_Nasabah values
    -> ('3319035409960002','Bela','7072513422','Desa Pasuruhan Lor','085643030942'),
    -> ('3319036409970002','Sabdani','7072618990','Jati Wetan','085640123456'),
    -> ('3319043408870008','Sifanya','7072417777','Wergu Wetan','089765223411'),
    -> ('3319054509980005','Veer','7072519999','Jati Kulon','087733809999'),
    -> ('3329084608990004','Thapki','7075667744','Jepang Pakis','082678567123');
Query OK, 5 rows affected (0.07 sec)
Records: 5  Duplicates: 0  Warnings: 0



MariaDB [db_SisfoPembayaranSetoran]> select*from tb_Nasabah;
+------------------+---------------+-------------+--------------------+--------------+

| NIK              | Nama_rekening | No_rekening | Alamat             | No_hp        |

+------------------+---------------+-------------+--------------------+--------------+

| 3319035409960002 | Bela          | 7072513422  | Desa Pasuruhan Lor | 085643030942 |

| 3319036409970002 | Sabdani       | 7072618990  | Jati Wetan         | 085640123456 |

| 3319043408870008 | Sifanya       | 7072417777  | Wergu Wetan        | 089765223411 |

| 3319054509980005 | Veer          | 7072519999  | Jati Kulon         | 087733809999 |

| 3329084608990004 | Thapki        | 7075667744  | Jepang Pakis       | 082678567123 |

+------------------+---------------+-------------+--------------------+--------------+

5 rows in set (0.00 sec)


MariaDB [db_SisfoPembayaranSetoran]> create table tb_SlipSetoran
    -> (kode_slip int not null,
    -> tanggal date,
    -> No_rek varchar(35),
    -> Nama_rekening char(30),
    -> jumlah int,
    -> primary key(kode_slip));
Query OK, 0 rows affected (0.07 sec)

DML untuk menampilkan dan mengisi data pada tabel Slip Setoran
MariaDB [db_SisfoPembayaranSetoran]> insert into tb_slipsetoran values
    -> ('6678','2016/11/21','7072513422','Bela','300000'),
    -> ('6688','2016/11/22','7072618990','Sabdani','650000'),
    -> ('6676','2016/11/23','7072417777','Sifanya','200000'),
    -> ('6665','2016/11/24','7072519999','Veer','450000'),
    -> ('6697','2016/11/25','7075667744','Thapki','1000000');
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0

MariaDB [db_SisfoPembayaranSetoran]> select*from tb_slipsetoran;
+-----------+------------+------------+---------------+---------+
| kode_slip | tanggal    | No_rek     | Nama_rekening | jumlah  |
+-----------+------------+------------+---------------+---------+
|      6665 | 2016-11-24 | 7072519999 | Veer          |  450000 |
|      6676 | 2016-11-23 | 7072417777 | Sifanya       |  200000 |
|      6678 | 2016-11-21 | 7072513422 | Bela          |  300000 |
|      6688 | 2016-11-22 | 7072618990 | Sabdani       |  650000 |
|      6697 | 2016-11-25 | 7075667744 | Thapki        | 1000000 |
+-----------+------------+------------+---------------+---------+
5 rows in set (0.00 sec)

MariaDB [db_SisfoPembayaranSetoran]> create table tb_Teller
    -> (Kode_Teller int not null,Nama_Teller char(30),
    -> primary key(kode_teller));
Query OK, 0 rows affected (0.02 sec)

DML untuk menampilkan dan mengisi data pada tabel Teller
MariaDB [db_SisfoPembayaranSetoran]> insert into tb_teller values
    -> ('6527','Viona'),
    -> ('6505','Bagas'),
    -> ('5787','Fakhmi'),
    -> ('3043','Gena'),
    -> ('5876','Dinda');
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0

MariaDB [db_SisfoPembayaranSetoran]> select*from tb_teller;
+-------------+-------------+
| Kode_Teller | Nama_Teller |
+-------------+-------------+
|        3043 | Gena        |
|        5787 | Fakhmi      |
|        5876 | Dinda       |
|        6505 | Bagas       |
|        6527 | Viona       |
+-------------+-------------+
5 rows in set (0.00 sec)

MariaDB [db_SisfoPembayaranSetoran]> create table tb_uang
    -> (No_seri varchar(10),
    -> jumlah_nominal int,
    -> primary key(no_seri));
Query OK, 0 rows affected (0.08 sec)

DML untuk menampilkan dan mengisi data pada tabel Uang
MariaDB [db_SisfoPembayaranSetoran]> insert into tb_uang values
    -> ('PLW437780','10000'),
    -> ('PLE382299','50000'),
    -> ('QWL450966','100000'),
    -> ('HLY123456','20000'),
    -> ('RTY895614','5000');
Query OK, 5 rows affected (0.03 sec)
Records: 5  Duplicates: 0  Warnings: 0

MariaDB [db_SisfoPembayaranSetoran]> select*from tb_uang;
+-----------+----------------+
| No_seri   | jumlah_nominal |
+-----------+----------------+
| HLY123456 |          20000 |
| PLE382299 |          50000 |
| PLW437780 |          10000 |
| QWL450966 |         100000 |
| RTY895614 |           5000 |
+-----------+----------------+
5 rows in set (0.00 sec)

MariaDB [db_SisfoPembayaranSetoran]> create table tb_BukuTabungan
    -> (kode_tabungan varchar(10) not null,
    -> kode_transaksi int,
    -> No_rekening varchar(35),
    -> Nama_rekening char(30),
    -> jumlah_nominal int,
    -> primary key(kode_tabungan));
Query OK, 0 rows affected (0.06 sec)

DML untuk menampilkan dan mengisi data pada tabel Buku Tabungan
MariaDB [db_SisfoPembayaranSetoran]> insert into tb_BukuTabungan values
    -> ('EA02827308','52','7072513422','Bela','300000'),
    -> ('AE03675578','52','7072618990','Sabdani','650000'),
    -> ('OE09785634','52','7072417777','Sifanya','200000'),
    -> ('OU06785634','52','7072519999','Veer','450000'),
    -> ('UE04675498','52','7075667744','Thapki','1000000');
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0
  
MariaDB [db_SisfoPembayaranSetoran]> select*from tb_BukuTabungan;
+---------------+----------------+-------------+---------------+----------------+
| kode_tabungan | kode_transaksi | No_rekening | Nama_rekening | jumlah_nominal |
+---------------+----------------+-------------+---------------+----------------+
| AE03675578    |             52 | 7072618990  | Sabdani       |         650000 |
| EA02827308    |             52 | 7072513422  | Bela          |         300000 |
| OE09785634    |             52 | 7072417777  | Sifanya       |         200000 |
| OU06785634    |             52 | 7072519999  | Veer          |         450000 |
| UE04675498    |             52 | 7075667744  | Thapki        |        1000000 |
+---------------+----------------+-------------+---------------+----------------+
5 rows in set (0.00 sec)

5.     ANALISA dan PEMBAHASAN

Perbedaan yang terlihat jelas antara yang saya kerjakan dengan yang dikerjakan oleh teman saya dalam satu kelompok adalah dalam hal pengambilan tema kasus. Saya sendiri mengerjakan mengennai Slip Pembayaran setoran awal sedangkan teman yang lainnya membahas mengenai (tema study kasus berbeda). Dalam perancangan basis data yang saya kemukakan ini merupakan suatu solusi untuk mempermudah Manajemen (Bank Syariah Mandiri) dalam melihat atau mencari data Nasabah yang transaksi pada “Bank Syariah Mandiri”. Jika semua kasus yang sudah dibuat oleh kelompok kami ini digabungkan, maka akan berdampak lebih optimal dan efisien dalam mengelola data Nasabah dan data-data lain yang ada pada  “PT. Bank Syariah Mandiri”.

6.     KESIMPULAN

Dengan adanya sebuah database dalam  “PT. Bank Syariah Mandiri” akan dapat membantu mempermudah  dalam pengelolaan segala transaksi yang berhubungan dengan data-data yang ada dalam Bank Syariah Mandiri. Sehingga tidak mudah  hilang  maupun  ganda. Kemudian   jika pihak Bank  ingin  mencari data akan lebih mudah dan efisien.

Tidak ada komentar:

Posting Komentar

Metode Perancangan Basis Data

 Metode perancangan basis data secara umum dikelompokkan kedalam: 1. Preliminary Design 2. Scratching Methode 1. Preliminary Design, Cirinya...