ujian akhir semester manajemen basis data · merupakan laporan yang berisikan bank yang sering...

21
UJIAN AKHIR SEMESTER MANAJEMEN BASIS DATA “Analisis Bisnis Pada PT. Buana Finance” Oleh : Kelas A Hafiz Nuzal Djufri - 5112100170 Dosen: Fajar Baskoro,S.Kom.,M.T. Jurusan Teknik Infomatika - Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember (ITS) Surabaya 2015

Upload: others

Post on 19-Oct-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

  • UJIAN AKHIR SEMESTER

    MANAJEMEN BASIS DATA

    “Analisis Bisnis Pada PT. Buana Finance”

    Oleh :

    Kelas A

    Hafiz Nuzal Djufri - 5112100170

    Dosen:

    Fajar Baskoro,S.Kom.,M.T.

    Jurusan Teknik Infomatika - Fakultas Teknologi Informasi

    Institut Teknologi Sepuluh Nopember (ITS)

    Surabaya

    2015

  • Deskripsi Soal

    Pada suatu perusahaan yang bergerak di bidang keuangan yang disebut Buana Finance.

    Buana merupakan salah satu perusahaan pembiayaan atau yang biasa disebut leasing yang

    kini mulai berkembang. Leasingumumnya membiayai pembelian kendaraan nasabah atau

    konsumen, dimana nasabah yang bersangkutan dapat membayar kendaraan nya secara

    bertahap sesuai dengan ketentuan dan perjanjian kontrak.

    Informasi yang dicatat pada perusahaan leasing antara lain :

    Nasabah

    Vendor penyedia mobil

    Bank sumber dana

    Credit Marketing Officer

    Sistem angsuran dan pembayaran

    Banyak nya data yang hanya tersimpan pada database perusahaan inimemerlukan analisis

    kinerja penjualan. Dari analisis kinerja penjualan tersebut perusahaan dapat mengetahui

    berapa besar laba yang diperoleh bahkan kerugian. Untuk menganalisa kinerja penjualan

    diperlukan data historis dari kegiatan penjualan yang kemudian datanya diolah untuk

    menghasilkan informasi kinerja penjualan.

    Analisis kinerja penjualan sangat dibutuhkan karena dari situ lah dapat diketahui gambaran

    kondisi dari perusahaan sebenernya. Jika kinerja penjualan sedang menurun berarti

    perusahaan sedang dalam keadaan tidak sehat begitu pun sebaliknya jika kinerja penjualan

    naik berarti perusahaan dalam keadaan sehat.

    Perusahaan dapat menganalisa dan mengetahui faktor-faktor yang dapat menjaga kinerja

    penjualan agar selalu dalam posisi sehat. Analisis dapat dilakukan dengan mengumpulkan

    data penjualan yang bersifta historis atau lampau dan kemudian melihat grafik kinerja

    penjualan. Terdapat banyak macam komponen terkait penjualan diantaranya, hubungan

    antara variasi produk yang dijual, jumlah produk yang dijual, waktu penjualan, promosi

    produk yang dijual, dan segmentasi pasar.

  • Dalam melakukan analisis perusahaan perlu memiliki data yang banyak secara kuantitas dan

    baik secara kualitas. Pihak manajemen perusahaan membutuhan teknologi yang membantu

    memahami analisis data yang akan dilakukan.

    1. Buatlah daftar report yang perlu dibuat untuk menunjang kinerja buana finance

    beserta gambaran informasi yang bisa dihasilkan

    2. Tentukan tahapan-tahapan metodologi untuk menghasilkan report yang

    didefinisikan

    3. Rancanglah system database transaksional dan database analysisnya (OLTP dan

    OLAP) dalam bentuk arsitektur basis data

    4. Bonus – jawaban bisa dilengkapi dengan prototype implementasi

  • A. Asumsi –Asumsi

    Leasing hanya memfasilitasi nasabah dan sebagai penanggung jawab peminjaman

    dari nasabah ke bank yang terkait (sesuai dengan kontrak kerjasama)

    Kontrak kerjasama antar bank dengan leasing dalam bentuk pemberian metode

    pembayaran ke nasabah berupa pemberian bunga pinjaman.

    Untuk setiap vendor terdapat banyak CMO yang ditugaskan oleh leasing.

    CMO yang bekinerja rendah akan diberikan sanksi berupa pengurangan gaji

    ataupun pemecatan.

    Setiap vendor akan direkapitulasi perdaerah bedasarkan bulan dan juga tahun

    untuk analsisi segemen pasar penjualan

    Pengajian kinerja CMO dilakukan pertahun.

    Nasabah dapat memilih bank yang ingin dia gunakan untuk bertransaksi.

    Leasing akan melakukan evaluasi nasabah setiap bulan untuk melakukan aksi

    korporasi jika terdapat nasabah yang bermasalah.

    Leasing akan mendata nasabah bedasarkan pendapatan dan riwayat pembelian

    untuk memetakan dan menargetkan pasar serta melakukan langkah langkah

    strategis.

    Leasing akan melakukan evaluasi perbulan untuk melakukan kebijakan strategis

    terkait peningkatan kinerja.

    Leasing membutuhkan data penggunaan bank kepercayaan nasabah untuk

    dilakukan negosiasi terkait pemberian bunga pinjaman ataupun langkah strategis

    untuk menguntungkan korporasi (leasing).

    Sistem angsuran dan pembayaran merupakan kontrak antara bank dan leasing

    dalam bentuk model pembayaran nasabah.

    Vendor yang memiliki kinerja yang terbaik akan mendapatkan hadiah dari leasing.

    B. Daftar Report yang dibutuhkan

    1. Report Rekapitulasi Pembelian

    Merupakan laporan perdaerah secara keseluruhan yang berisikan pembelian mobil

    yang menggunakan jasa Buana Finance setiap tahun. Adapun secara umum

    rekapitulasi ini berisikan data sebagai berikut :

  • Bulan Pembelian

    Nama Daerah

    Jumlah Pembelian

    Jenis Mobil

    Merek Mobil

    Kategori harga mobil

    2. Report Pembelian Perbulan

    Merupakan laporan pervendor secara keseluruhan dalam satu region yang berisikan

    pembelian mobil yang menggunakan jasa Buana Finance setiap bulan. Adapun

    secara umum rekapitulasi ini berisikan data sebagai berikut :

    Nama Vendor

    Jumlah Pembelian

    Jenis Mobil

    Merek Mobil

    Kategori harga mobil

    3. Report Penjualan Mobil Dealer Pertahun

    Merupakan laporan pervendor secara keseluruhan dalam satu region yang berisikan

    pembelian mobil yang menggunakan jasa Buana Finance setiap tahun. Adapun

    secara umum rekapitulasi ini berisikan data sebagai berikut :

    Nama Vendor

    Jumlah Pembelian

    Jenis Mobil

    Merek Mobil

    Kategori harga mobil

    4. Report Bank Pilihan Nasabah

    Merupakan laporan yang berisikan bank yang sering digunakan nasabah untuk

    melakukan transaksi pembelian mobil setiap bulan dalam kurun waktu 1 tahun.

    5. Report Model Pembayaran Mobil

    Merupakan rekapitulasi dari pembelian bedasarkan model pembayaran yang dipilih

    oleh nasabah untuk setiap vendor per region daerah dalam kurun waktu satu bulan.

    Adapun secara umum laporan ini berisikan data sebagai berikut :

  • Nama Vendor

    Metode Pembayaran

    Lama Pembayaran

    Besar % Uang Muka (Bedasarkan golongan yang sudah disepakati)

    6. Report Rekapitulasi Model Pembayaran Mobil

    Merupakan rekapitulasi dari pembelian bedasarkan model pembayaran yang dipilih

    oleh nasabah untuk setiap daerah pertahunnya. Adapun secara umum rekapitulasi

    ini berisikan data sebagai berikut :

    Nama Daerah

    Metode Pembayaran

    Lama Pembayaran

    Besar % Uang Muka (Bedasarkan golongan yang sudah disepakati)

    7. Report Nasabah bedasarkan Pendapatan

    Merupakan laporan yang berisikan data-data nasabah yang digolongkan bedasarkan

    besarnya pendapatan nasabah. Adapun secara umum laporan ini berisikan data

    sebagai berikut :

    Nama Nasabah

    Pekerjaan

    Pendapatan

    Alamat

    Telepon

    8. Report Nasabah bedasarkan Riwayat Pembelian

    Merupakan laporan yang berisikan data-data nasabah yang digolongkan bedasarkan

    besarnya pendapatan nasabah. Adapun secara umum laporan ini berisikan data

    sebagai berikut :

    Nama Nasabah

    Pekerjaan

    Pendapatan

    Alamat

    Telepon

    9. Report Riwayat Transaksi Perbulan

  • Merupakan laporan yang berisikan data-data transaksi bedasarkan pencatatan pada

    bulan terkait . Adapun secara umum laporan ini berisikan data sebagai berikut :

    Nama Nasabah

    Pekerjaan

    Pendapatan

    Alamat

    Telepon

    Tanggal pembelian

    Mode Pembayaran

    Tanggal pelunasan

    10. Report Credit Marketing Officer

    Merupakan laporan yang berisikan data-data transaksi bedasarkan CMO yang

    menangani transaksi terkait . Adapun secara umum laporan ini berisikan data

    sebagai berikut :

    Nama CMO

    Pekerjaan

    Pendapatan

    Alamat

    Telepon

    11. Report Angsuran Pernasabah

    Merupakan laporan yang berisikan data-data angsuran masing-masing nasabah.

    Adapun secara umum laporan ini berisikan data sebagai berikut :

    Nama Nasabah

    CMO Terkait

    Angsuran Ke

    Tanggal pembayaran Angsuran

    Denda

    12. Report Nasabah Bermasalah

    Merupakan laporan yang berisikan data-data nasabah-nasabah yang mengalami

    masalah dalam pembayaran angsuran. Adapun secara umum laporan ini berisikan

    data sebagai berikut :

  • Nama Nasabah

    CMO Terkait

    Angsuran Ke

    Denda

  • C. Tahapan-tahapan metodologi (temporal database) untuk menghasilkan report yang

    didefenisikan

    1. Membuat tabel-tabel master

    2. Membuat tabel transaksi (Temporal Database) pembelian yang terdapat didalamnya

    atribut yang berfungsi mencatat waktu transaksi dilaksanakan serta waktu pelunasan

    transaksi.

    3. Membuat tabel angsuran (Temporal Database) yang terdapat didalamnya tanggal

    pembayaran angsuran dan tanggal jatuh tempo angsuran .

    4. Membuat tabel Gudang mobil (Temporal Database) yang terdapat didalamnya

    tanggal masuk mobil (jika nanti mobil dinyatakan masuk dalam kategori

    bermasalah), tanggal mobil terjual (merupakan tanggal pengeluaran mobil dari

    masalah)

    5. Untuk mendapatkan riwayat pembelian nasabah, maka dibutuhkan temporal

    database yakni pada atribut waktu transaksi dilakukan. Pada tabel Transaksi kita

    dapat mengetahui data nasabah yang terlibat pada transaksi yang dimaksud. Dengan

    dapat diketahuinya data nasabah, tentu kita dapat melakukan penyaringan untuk

    mencari transaksi-transaksi yang dilakukan oleh nasabah terkait sehingga dapat

    direkapitulasi transaksi bedasarkan nasabah dengan menggunakan query

    SELECT,FROM, WHERE, JOIN, SUM dan GROUP BY.

    6. Untuk mendapatkan riwayat transaksi yang dilakukan vendor penyedia mobil

    perbulannya, maka dibutuhkan temporal database yakni pada atribut waktu

    transaksi dilakukan. Pada tabel Transaksi kita dapat mengetahui data vendor yang

    melakukan transaksi yang dimaksud. Dengan dapat diketahuinya vendor penyedia,

    tentu kita dapat melakukan penyaringan untuk mencari transaksi-transaksi yang

    dilakukan vendor terkait sehingga dapat direkapitulasi transaksi bedasarkan vendor

    penyedia dengan menggunakan query SELECT,FROM, WHERE, JOIN, SUM dan

    GROUP BY.

    7. Untuk mendapatkan riwayat transaksi yang dilakukan vendor penyedia mobil

    pertahunnya, maka dibutuhkan temporal database yakni pada atribut waktu

    transaksi dilakukan. Pada tabel Transaksi kita dapat mengetahui data vendor yang

    melakukan transaksi yang dimaksud. Dengan dapat diketahuinya vendor penyedia,

    tentu kita dapat melakukan penyaringan untuk mencari transaksi-transaksi yang

  • dilakukan vendor terkait sehingga dapat direkapitulasi transaksi bedasarkan vendor

    penyedia dengan menggunakan query SELECT,FROM, WHERE, JOIN, SUM dan

    GROUP BY.

    8. Untuk mendapatkan riwayat transaksi yang dilakukan setiap daerah perbulannya

    dalam kurun waktu 1 tahun, maka dibutuhkan temporal database yakni pada atribut

    waktu transaksi dilakukan. Pada tabel Transaksi kita dapat mengetahui data vendor

    yang melakukan transaksi yang dimaksud. Pada data vendor yang melakukan

    transaksi, kita tentu bisa mendapatkan data tempat keberadaan vendor tersebut.

    Dengan dapat diketahuinya keberadaan vendor, tentu kita dapat melakukan

    penyaringan untuk mencari transaksi-transaksi yang dilakukan perdaerahnya dengan

    menggunakan query SELECT,FROM, WHERE, JOIN, SUM dan GROUP BY.

    9. Untuk mendapatkan mendapatkan rekaputulasi data nasabah bedasarkan golongan

    pendapatan, maka dibutuhkan tabel nasabah. Adapaun untuk mendapatkan data

    yang diinginkan, maka hanya menggunakan query aljabar relasional standar seperti

    SELECT FROM dan WHERE pada tabel nasabah.

    10. Untuk mendapatkan model pembayaran nasabah, maka dibutuhkan temporal

    database yakni pada atribut waktu transaksi dilakukan. Pada tabel Transaksi kita

    dapat mengetahui model pembayaran yang terlibat pada transaksi yang terkait.

    Dengan dapat diketahuinya data nasabah, tentu kita dapat melakukan penyaringan

    untuk mencari model-model pembayaran yang dilakukan oleh nasabah terkait

    sehingga dapat direkapitulasi transaksi bedasarkan nasabah dengan menggunakan

    query JOIN, SUM dan GROUP BY.

    11. Untuk mendapatkan rekapitulasi model pembayaran nasabah, dengan menggunakan

    query database seperti yang dilakukan pada poin 8, akan tetapi penelusurannya

    bedasarkan daerah dan waktu transaksional (GROUP BY daerah).

    12. Untuk mendapatkan mendapatkan rekaputulasi data transaksi perbulan, maka

    dibutuhkan tabel transaksi dan kelengkapan seputar transaksi. Adapun untuk

    mendapatkan data yang diinginkan, maka hanya menggunakan query aljabar

    relasional standar seperti SELECT FROM WHERE dan JOIN pada tabel transaksi.

    13. Untuk mendapatkan rekapitulasi bank kepercayaan nasabah, maka dibutuhkan

    temporal database yakni pada atribut waktu transaksi dilakukan. Pada tabel

    Transaksi kita dapat mengetahui model pembayaran yang terlibat pada transaksi

  • yang terkait. Pada Model pembayaran terdapat bank yang digunakan pada

    pembayaran. Dengan dapat diketahuinya bank yang terkait pada model

    pembayaran, tentu kita dapat melakukan penyaringan untuk mencari rekapitulasi

    data penggunaan bank yang sering digunakan oleh nasabah dengan menggunakan

    query SELECT,FROM, WHERE, JOIN, SUM dan GROUP BY.

    14. Untuk mendapatkan riwayat transaksi yang dilakukan CMO perbulannya, maka

    dibutuhkan temporal database yakni pada atribut waktu transaksi dilakukan. Pada

    tabel Transaksi kita dapat mengetahui data vendor yang melakukan transaksi yang

    dimaksud. Dengan dapat diketahuinya vendor penyedia, tentu kita dapat

    mengetahui CMO terkait dan melakukan penyaringan untuk mencari transaksi-

    transaksi yang dilakukan CMO terkait sehingga dapat direkapitulasi transaksi

    bedasarkan menggunakan query SELECT,FROM, WHERE, JOIN, SUM dan GROUP BY.

    15. Untuk mendapatkan riwayat angsuran nasabah maka membutuhkan tabel angsuran.

    Pada tabel angsuran kita dapat mengetahui data nasabah dan transaksi yang terkait

    dengan angsuran tersebut menggunakan query SELECT,FROM, WHERE, JOIN, SUM

    dan GROUP BY

    16. Untuk mendapatkan rekapitulasi nasabah bermasalah, maka dibutuhkan temporal

    database yakni pada atribut waktu pembayaran angsuran dilakukan. Pada tabel

    angsuran kita dapat mengetahui data nasabah yang terlibat pada transaksi yang

    dimaksud. Dengan dapat diketahuinya data nasabah, tentu kita dapat melakukan

    penyaringan untuk menghimpun nasabah nasabah yang bermasalah dnegan

    menggunakan query SELECT,FROM, WHERE, JOIN, SUM dan GROUP BY.

  • D. Database Transaksional dan Database Analisis (OLTP dan OLAP)

    1. Conceptual Data Model

    Catatan :

    Pada Gambar diatas yang bertanda merah merupakan Tabel Transaksional

    Entitas selain berwarna merah merupakan Tabel Master

    Bekerja Sama

    Melakukan

    Digolongkan

    Meliputi

    Terdiri atas

    Mengerjakan

    Terdiri

    Terdapat

    Meliputi Atas

    Bank

    No Id Bank

    Nama Bank

    Alamat Bank

    Telepon

    Number (6)

    Variable characters (25)

    Text (75)

    Number (15)

    Identifier_1

    ...

    Model Pembayaran

    Id Model

    Nama Model

    Jumlah Angsuran

    Bunga

    Characters (6)

    Variable characters (25)

    Money (15)

    Float (4)

    Identifier_1

    ...

    CMO

    Id CMO

    Nama CMO

    Alamat CMO

    No Telp CMO

    Tanggal Lahir CMO

    No KTP CMO

    Characters (6)

    Variable characters (25)

    Text (75)

    Number (15)

    Date

    Number (16)

    Identifier_1

    ...

    Nasabah

    Id Nasabah

    Nama Nasabah

    Alamat Nasabah

    Telp Nasabah

    Tanggal Lahir Nasabah

    No KTP Nasabah

    Characters (6)

    Variable characters (25)

    Text (75)

    Number (15)

    Date

    Number (16)

    Identifier_1

    ...

    Angsuran

    No Angsuran

    Nama Angsuran

    Jumlah Angsuran

    Tanggal Jatuh Tempo

    Tanggal Pembayaran

    Jumlah Denda

    Total Pembayaran

    Characters (6)

    Variable characters (25)

    Money (15)

    Date

    Date

    Money (15)

    Money (15)

    Identifier_1

    ...

    Transaksi

    Id Transaksi

    Nama Transaksi

    Harga Sebelum Bunga

    Harga Total

    Jumlah Piutang

    Characters (6)

    Variable characters (25)

    Money (15)

    Money (15)

    Money (15)

    Identifier_1

    ...

    Golongan Pendapatan

    Id Golongan

    Nama Golongan

    Besar Pendapatan

    Characters (6)

    Variable characters (25)

    Money (15)

    Identifier_1

    ...

    Dealer

    Id Dealer

    Nama Dealer

    Alamat Dealer

    Telp Dealer

    Nama Pemilik

    Alamat Pemilik

    Telp Pemilik

    Characters (6)

    Variable characters (25)

    Text (75)

    Number (15)

    Variable characters (25)

    Text (75)

    Number (15)

    Identifier_1

    ...

    Bonus

    Id Bonus

    Nama Bonus

    Jenis Bonus

    Besaran Bonus

    Tanggal Mulai Bonus

    Tanggal Selesai Bonus

    Characters (6)

    Variable characters (25)

    Variable characters (25)

    Money (15)

    Date

    Date

    Identifier_1

    ...

    Gudang Mobil

    Id Mobil

    Jenis Mobil

    Merek Mobil

    Tipe Mobil

    Tahun Pembuatan

    Tanggal Masuk

    Tanggal Terjuan

    Status

    Characters (6)

    Variable characters (25)

    Variable characters (25)

    Variable characters (25)

    Date

    Date

    Date

    Variable characters (12)

    Identifier_1

    ...

  • 2. Physical Data Model

    Catatan:

    Pada Gambar diatas yang bertanda merah merupakan Tabel Transaksional

    Entitas selain berwarna merah merupakan Tabel Master

  • E. Implementasi Database

    1. Tabel Golongan Pendapatan

    2. Gudang Mobil

    CREATE TABLE IF NOT EXISTS `mydb`.`Golongan Pendapatan`

    (

    `Id Golongan` CHAR(6) NOT NULL,

    `Nama Golongan` VARCHAR(25) NULL,

    `Besar Pendapatan` DECIMAL(10,0) NULL,

    PRIMARY KEY (`Id Golongan`))

    ENGINE = InnoDB;

    CREATE TABLE IF NOT EXISTS `mydb`.`Gudang Mobil` (

    `Id Mobil` CHAR(6) NOT NULL,

    `Jenis Mobil` VARCHAR(25) NULL,

    `Merek Mobil` VARCHAR(25) NULL,

    `Tipe Mobil` VARCHAR(25) NULL,

    `Tahun Pembuatan` DATE NULL,

    `Tanggal bermasalah` DATE NULL,

    `Tanggal dituntaskan` DATE NULL,

    `Status` VARCHAR(15) NULL,

    PRIMARY KEY (`Id Mobil`))

    ENGINE = InnoDB;

  • 3. Nasabah

    4. Model Pembayaran

    CREATE TABLE IF NOT EXISTS `mydb`.`Nasabah` (

    `Id Nasabah` CHAR(6) NOT NULL,

    `Nama Nasabah` VARCHAR(25) NULL,

    `Alamat Nasabah` VARCHAR(75) NULL,

    `Telp Nasabah` DECIMAL(10,0) NULL,

    `Tanggal Lahir Nasabah` DATE NULL,

    `No KTP Nasabah` DECIMAL(10,0) NULL,

    `Golongan Pendapatan_Id Golongan` CHAR(6) NOT NULL,

    PRIMARY KEY (`Id Nasabah`, `Golongan Pendapatan_Id

    Golongan`),

    INDEX `fk_Nasabah_Golongan Pendapatan1_idx`

    (`Golongan Pendapatan_Id Golongan` ASC),

    CONSTRAINT `fk_Nasabah_Golongan Pendapatan1`

    FOREIGN KEY (`Golongan Pendapatan_Id Golongan`)

    REFERENCES `mydb`.`Golongan Pendapatan` (`Id

    Golongan`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

    ENGINE = InnoDB;

    CREATE TABLE IF NOT EXISTS `mydb`.`Model Pembayaran` (

    `Id Model` CHAR(6) NOT NULL,

    `Nama Model` VARCHAR(25) NULL,

    `Jumlah Angsuran` DECIMAL(10,0) NOT NULL,

    `Bunga` FLOAT NULL,

    PRIMARY KEY (`Id Model`))

    ENGINE = InnoDB;

  • 5. Bank

    CREATE TABLE IF NOT EXISTS `mydb`.`Bank` (

    `Id Mobil` CHAR(6) NOT NULL,

    `Nama Bank` VARCHAR(25) NULL,

    `Alamat Bank` VARCHAR(75) NULL,

    `Telepon` DECIMAL(10,0) NULL,

    `Model Pembayaran_Id Model` CHAR(6) NOT NULL,

    PRIMARY KEY (`Id Mobil`, `Model Pembayaran_Id Model`),

    INDEX `fk_Bank_Model Pembayaran_idx` (`Model

    Pembayaran_Id Model` ASC),

    CONSTRAINT `fk_Bank_Model Pembayaran`

    FOREIGN KEY (`Model Pembayaran_Id Model`)

    REFERENCES `mydb`.`Model Pembayaran` (`Id Model`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

    ENGINE = InnoDB;

  • 6. CMO

    CREATE TABLE IF NOT EXISTS `mydb`.`CMO` (

    `Id CMO` CHAR(6) NOT NULL,

    `Nama CMO` VARCHAR(25) NULL,

    `Alamat CMO` VARCHAR(75) NULL,

    `No Telp CMO` DECIMAL(10,0) NULL,

    `Tanggal Lahir CMO` DATE NULL,

    `No KTP CMO` DECIMAL(10,0) NULL,

    `Dealer_Id Dealer` CHAR(6) NOT NULL,

    PRIMARY KEY (`Id CMO`, `Dealer_Id Dealer`),

    INDEX `fk_CMO_Dealer1_idx` (`Dealer_Id Dealer` ASC),

    CONSTRAINT `fk_CMO_Dealer1`

    FOREIGN KEY (`Dealer_Id Dealer`)

    REFERENCES `mydb`.`Dealer` (`Id Dealer`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

    ENGINE = InnoDB;

  • 7. Dealer

    CREATE TABLE IF NOT EXISTS `mydb`.`Dealer` (

    `Id Dealer` CHAR(6) NOT NULL,

    `Nama Dealer` VARCHAR(25) NULL,

    `Alamat Dealer` VARCHAR(75) NULL,

    `Telp Dealer` VARCHAR(45) NULL,

    `Nama Pemilik` VARCHAR(25) NULL,

    `Alamat Pemilik` VARCHAR(75) NULL,

    `Telp Pemilik` DECIMAL(10,0) NULL,

    PRIMARY KEY (`Id Dealer`))

    ENGINE = InnoDB;

  • 8. Transaksi

    CREATE TABLE IF NOT EXISTS `mydb`.`Transaksi` (

    `Id Transaksi` CHAR(6) NOT NULL,

    `Nama Transaksi` VARCHAR(25) NULL,

    `Harga Sebelum Bunga` DECIMAL(10,0) NULL,

    `Harga Total` DECIMAL(10,0) NULL,

    `Jumlah Piutang` DECIMAL(10,0) NULL,

    `Model Pembayaran_Id Model` CHAR(6) NOT NULL,

    `Nasabah_Id Nasabah` CHAR(6) NOT NULL,

    `Nasabah_Golongan Pendapatan_Id Golongan` CHAR(6) NOT NULL,

    `Gudang Mobil_Id Mobil` CHAR(6) NOT NULL,

    PRIMARY KEY (`Id Transaksi`, `Model Pembayaran_Id Model`, `Nasabah_Id Nasabah`, `Nasabah_Golongan Pendapatan_Id

    Golongan`, `Gudang Mobil_Id Mobil`),

    INDEX `fk_Transaksi_Model Pembayaran1_idx` (`Model Pembayaran_Id Model` ASC),

    INDEX `fk_Transaksi_Nasabah1_idx` (`Nasabah_Id Nasabah` ASC, `Nasabah_Golongan Pendapatan_Id Golongan` ASC),

    INDEX `fk_Transaksi_Gudang Mobil1_idx` (`Gudang Mobil_Id Mobil` ASC),

    CONSTRAINT `fk_Transaksi_Model Pembayaran1`

    FOREIGN KEY (`Model Pembayaran_Id Model`)

    REFERENCES `mydb`.`Model Pembayaran` (`Id Model`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

    CONSTRAINT `fk_Transaksi_Nasabah1`

    FOREIGN KEY (`Nasabah_Id Nasabah` , `Nasabah_Golongan Pendapatan_Id Golongan`)

    REFERENCES `mydb`.`Nasabah` (`Id Nasabah` , `Golongan Pendapatan_Id Golongan`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

    CONSTRAINT `fk_Transaksi_Gudang Mobil1`

    FOREIGN KEY (`Gudang Mobil_Id Mobil`)

    REFERENCES `mydb`.`Gudang Mobil` (`Id Mobil`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

    ENGINE = InnoDB;

  • 9. Angsuran

    CREATE TABLE IF NOT EXISTS `mydb`.`Angsuran` (

    `No Angsuran` CHAR(6) NOT NULL,

    `Nama Angsuran` VARCHAR(25) NULL,

    `Jumlah Angsuran` INT NULL,

    `Tanggal Jatuh Tempo` DATE NULL,

    `Tanggal Pembayaran` DATETIME NULL,

    `Total Pembayaran` DECIMAL(10,0) NULL,

    `Jumlah Denda` DECIMAL(10,0) NULL,

    `Transaksi_Id Transaksi` CHAR(6) NOT NULL,

    `Transaksi_Model Pembayaran_Id Model` CHAR(6) NOT NULL,

    `Transaksi_Nasabah_Id Nasabah` CHAR(6) NOT NULL,

    `Transaksi_Nasabah_Golongan Pendapatan_Id Golongan` CHAR(6) NOT NULL,

    PRIMARY KEY (`No Angsuran`, `Transaksi_Id Transaksi`, `Transaksi_Model

    Pembayaran_Id Model`, `Transaksi_Nasabah_Id Nasabah`,

    `Transaksi_Nasabah_Golongan Pendapatan_Id Golongan`),

    INDEX `fk_Angsuran_Transaksi1_idx` (`Transaksi_Id Transaksi` ASC,

    `Transaksi_Model Pembayaran_Id Model` ASC, `Transaksi_Nasabah_Id Nasabah` ASC,

    `Transaksi_Nasabah_Golongan Pendapatan_Id Golongan` ASC),

    CONSTRAINT `fk_Angsuran_Transaksi1`

    FOREIGN KEY (`Transaksi_Id Transaksi` , `Transaksi_Model Pembayaran_Id Model` ,

    `Transaksi_Nasabah_Id Nasabah` , `Transaksi_Nasabah_Golongan Pendapatan_Id

    Golongan`)

    REFERENCES `mydb`.`Transaksi` (`Id Transaksi` , `Model Pembayaran_Id Model` ,

    `Nasabah_Id Nasabah` , `Nasabah_Golongan Pendapatan_Id Golongan`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

    ENGINE = InnoDB;

  • 10. Bonus

    CREATE TABLE IF NOT EXISTS `mydb`.`Bonus` (

    `Id Bonus` CHAR(6) NOT NULL,

    `Nama Bonus` VARCHAR(25) NULL,

    `Jenis Bonus` VARCHAR(25) NULL,

    `Besaran Bonus` DECIMAL(10,0) NULL,

    `Tanggal Mulai Bonus` DATE NULL,

    `Tanggal Selesai Bonus` DATE NULL,

    `Transaksi_Id Transaksi` CHAR(6) NOT NULL,

    `Transaksi_Model Pembayaran_Id Model` CHAR(6) NOT NULL,

    `Transaksi_Nasabah_Id Nasabah` CHAR(6) NOT NULL,

    `Transaksi_Nasabah_Golongan Pendapatan_Id Golongan`

    CHAR(6) NOT NULL,

    PRIMARY KEY (`Id Bonus`, `Transaksi_Id Transaksi`,

    `Transaksi_Model Pembayaran_Id Model`, `Transaksi_Nasabah_Id

    Nasabah`, `Transaksi_Nasabah_Golongan Pendapatan_Id

    Golongan`),

    INDEX `fk_Bonus_Transaksi1_idx` (`Transaksi_Id Transaksi` ASC,

    `Transaksi_Model Pembayaran_Id Model` ASC,

    `Transaksi_Nasabah_Id Nasabah` ASC,

    `Transaksi_Nasabah_Golongan Pendapatan_Id Golongan` ASC),

    CONSTRAINT `fk_Bonus_Transaksi1`

    FOREIGN KEY (`Transaksi_Id Transaksi` , `Transaksi_Model

    Pembayaran_Id Model` , `Transaksi_Nasabah_Id Nasabah` ,

    `Transaksi_Nasabah_Golongan Pendapatan_Id Golongan`)

    REFERENCES `mydb`.`Transaksi` (`Id Transaksi` , `Model

    Pembayaran_Id Model` , `Nasabah_Id Nasabah` ,

    `Nasabah_Golongan Pendapatan_Id Golongan`)

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

    ENGINE = InnoDB;