Anda di halaman 1dari 103

KATA PENGANTAR

Puji dan syukur penyusun panjatkan kehadirat Allah SWT atas segala rahmat dan
karunia-NYA penyusun dapat menyelesaikan Laporan Project yang berjudul “Database
Formulir Pembukaan Rekening Bank” ini dengan baik dan tepat waktu. Laporan ini dibuat
untuk memenuhi penugasan mata kuliah perancangan basis data. Adapun isi laporan ini memuat
tentang normalisasi mengenai formulir pembukaan rekening bank.

Terima kasih penyusun ucapkan kepada dosen mata kuliah Perancangan Basis Data
yaitu Bapak Didik Setiyadi, S. Kom., M. Kom., yang telah memberikan banyak pengetahuan
dan masukan mengenai laporan perancangan basis data kepada penyusun. Tidak lupa pula
penyusun ucapkan terima kasih kepada kedua orang tua, teman-teman dan semua pihak yang
telah membantu secara materil dan juga moril serta memberikan motivasi selama pengerjaan
tugas laporan ini.

Penyusun menyadari sepenuhnya bahwa isi dari laporan ini belum sempurna karena
keterbatasan pengetahuan pada penyusun. Kritik dan saran sangat dibutuhkan untuk
penyempurnaan laporan ini, kerena penyusun masih dalam tahapan belajar dan masih
membutuhkan referensi. Penyusun ucapkan terima kasih

Bekasi, Oktober 2019

Penyusun

2
DAFTAR ISI
KATA PENGANTAR ................................................................................................................ 2
DAFTAR ISI .............................................................................................................................. 3
BAB I Konsep Teori ................................................................................................................. 7
1.1 Pengertian Sistem Basis Data....................................................................................... 7
1.2 Asal Mula Istilah Basis Data ........................................................................................ 7
1.3 Bahasa Basis Data ........................................................................................................ 7
1.3.1 Data Definition Language (DDL) ........................................................................ 7
1.3.2 Data Manipulation Language (DML)................................................................... 9
1.3.3 Data Control Language (DCL) ........................................................................... 10
1.4 Model Basis Data ....................................................................................................... 10
1.5 Perancangan Basis Data ............................................................................................. 10
1.6 Kunci Dalam Basis Data ............................................................................................ 11
1.6.1 Candidat key ....................................................................................................... 11
1.6.2 Primary key ........................................................................................................ 11
1.6.3 Alternate key (kunci Alternatif) ......................................................................... 11
1.6.4 Foreign key ......................................................................................................... 12
1.6.5 Composite key .................................................................................................... 12
1.6.6 Sekunder ............................................................................................................. 12
1.7 Entity Relationship Program (ERD) .......................................................................... 12
1.7.1 Entitas ................................................................................................................. 12
1.7.2 Attribut ............................................................................................................... 13
1. Key ......................................................................................................................... 13
2. Simple .................................................................................................................... 13
3. Multivalue .............................................................................................................. 13
4. Atribut Composite .................................................................................................. 13
5. Atribut Derivatif..................................................................................................... 13
1.7.3 Relasi .................................................................................................................. 13
1. Relasi Binery .......................................................................................................... 14

3
2. Relasi Unary........................................................................................................... 14
3. Relasi N-ary ........................................................................................................... 14
1.7.4 Derajat Relasi / Kardinalitas............................................................................... 15
1. Satu ke satu (One to one) ....................................................................................... 15
2. Satu ke banyak (One to many) ............................................................................... 15
3. Banyak ke banyak (Many to many)........................................................................ 16
1.8 Normalisasi ................................................................................................................ 17
1. Bentuk Tidak Normal (Anomali) ........................................................................... 17
2. Bentuk Normal Pertama (1NF) .............................................................................. 18
3. Bentuk Normal Kedua (2NF) ................................................................................. 18
4. Bentuk Normal Ketiga (3NF) ................................................................................ 19
1.9 Microsoft SQL Server ................................................................................................ 19
BAB II Analisis dan Perancangan ........................................................................................... 24
2.1 Analisis ....................................................................................................................... 24
2.2 Analisis Kebutuhan Sistem Informulirasi Perancangan Basis Data Formulir
Pembukaan Rekening Bank ....................................................................................... 24
2.3 Perancangan Basis Data ............................................................................................. 25
2.4 Normalisasi 1 (1NF) ................................................................................................... 27
2.5 Normalisasi 2 (2NF) ................................................................................................... 27
2.6 Normalisasi 3 (3NF) ................................................................................................... 28
2.7 Dekomposisi............................................................................................................... 28
2.8 Entity Relationship Diagram (ERD) .......................................................................... 29
2.9 Struktur Tabel............................................................................................................. 30
2.9.1 Tabel Data Rekening .......................................................................................... 30
2.9.2 Tabel Identitas .................................................................................................... 30
2.9.3 Tabel Petugas ..................................................................................................... 31
2.9.4 Tabel Pengenal ................................................................................................... 31
2.9.5 Tabel Data NPWP .............................................................................................. 32
2.9.6 Tabel Jenis Pendidikan ....................................................................................... 32
2.9.7 Tabel Jenis Pekerja ............................................................................................. 33
2.9.8 Tabel Keterangan Ebank .................................................................................... 33
2.9.9 Tabel Jenis Kelamin ........................................................................................... 33
2.9.10 Tabel Rekening .................................................................................................. 34

4
2.9.11 Tabel Jenis Status ............................................................................................... 34
2.9.12 Tabel Status Tinggal ........................................................................................... 34
2.9.13 Tabel Pendaftaran ............................................................................................... 35
2.9.14 Tabel Detail Pendaftaran .................................................................................... 35
BAB III Implementasi SQL Server ......................................................................................... 37
3.1 Implementasi Basis Data & Tabel.............................................................................. 37
3.1.1 Membuat Database Pendaftaran_bank ............................................................... 37
3.1.2 Menggunakan Database Pendaftaran_bank........................................................ 37
3.1.3 Membuat Tabel Data_rekening .......................................................................... 37
3.1.4 Membuat Tabel Identitas .................................................................................... 38
3.1.5 Membuat Tabel Petugas ..................................................................................... 39
3.1.6 Membuat Tabel Pengenal ................................................................................... 40
3.1.7 Membuat Tabel Npwp ........................................................................................ 41
3.1.8 Membuat Tabel Pendidikan ............................................................................... 42
3.1.9 Membuat Tabel Pekerja...................................................................................... 42
3.1.10 Membuat Tabel Keterangan_ebank.................................................................... 43
3.1.11 Membuat Tabel Jenis_kelamin........................................................................... 44
3.1.12 Membuat Tabel Rekening .................................................................................. 45
3.1.13 Membuat Tabel Jenis_status .............................................................................. 45
3.1.14 Membuat Tabel Status_tinggal ........................................................................... 46
3.1.15 Membuat Tabel Pendaftaran .............................................................................. 47
3.1.16 Membuat Tabel Detail_pendaftaran ................................................................... 48
3.2 Isi Data Tabel ............................................................................................................. 49
3.2.1 Menambahkan Record Tabel Data_rekening ..................................................... 49
3.2.2 Menambahkan Record Tabel Identitas ............................................................... 49
3.2.3 Menambahkan Record Tabel Petugas ................................................................ 50
3.2.4 Menambahkan Record Tabel Pengenal .............................................................. 50
3.2.5 Menambahkan Record Tabel Npwp ................................................................... 51
3.2.6 Menambahkan Record Tabel Pendidikan........................................................... 51
3.2.7 Menambahkan Record Tabel Pekerja................................................................. 52
3.2.8 Menambahkan Record Tabel Keterangan_ebank............................................... 53
3.2.9 Menambahkan Record Tabel Jenis_kelamin ...................................................... 53
3.2.10 Menambahkan Record Tabel Rekening ............................................................. 54

5
3.2.11 Menambahkan Record Tabel Jenis_status ......................................................... 54
3.2.12 Menambahkan Record Tabel Status_tinggal ...................................................... 55
3.2.13 Menambahkan Record Tabel Pendaftaran ......................................................... 55
3.2.14 Menambahkan Record Tabel Detail_pendaftaran .............................................. 56
3.3 Relasi & Diagram ....................................................................................................... 56
3.3.1 Relasi .................................................................................................................. 56
3.3.2 Diagram .............................................................................................................. 59
3.4 Query Data ................................................................................................................. 59
3.4.1 Query Data 1 Table ............................................................................................ 59
3.4.2 Query Data 2 Table ............................................................................................ 70
DAFTAR PUSTAKA .............................................................................................................. 84

6
BAB I
Konsep Teori
1.1 Pengertian Sistem Basis Data

Analisis merupakan kegiatan memahami ataupun mempelajari sebuah objek untuk


menemukan kekurangan ataupun masalah yang dihadapi yang kemudian ditemukan
solusi untuk mengatasi kekurangan atau permasalahan tersebut sehingga menjadi suatu
kelebihan lain lagi bagi objek yang diteliti, dalam hal ini menganalisis sebuah objek untuk
sebuah penelitian yang berkaitan dengan Perancangan Basis Data Formulirulir
Pembukaan Rekening Bank.

1.2 Asal Mula Istilah Basis Data

Istilah “database” berawal dari ilmu komputer. Meskipun kemudian artinya


semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini
mengenai database komputer. Catatan yang mirip dengan database sebenarnya sudah ada
sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dankumpulan data
yang berhubungan dengan bisnis. Selain itu istilah basis data mengacu pada koleksi dari
data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai
sistem manajemen basis data (database management system/DBMS). Jika konteksnya
sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk
kedua arti tersebut.

1.3 Bahasa Basis Data

Terdapat tiga jenis bahasa komputer yang digunakan saat kita ingin membangun dan
memanipulasi sebuah basis data, yaitu:

1.3.1 Data Definition Language (DDL)

Data Definition Language (DDL) merupakan perintah-perintah yang


biasa digunakan administrator database untuk mendefinisikan skema dan

7
subskema database. Selain itu DDL mempunyai fungsi utama untuk
mendefinisikan data dalam database secara logika, diantaranya yaitu:
a. Digunakan untuk mendefinisikan karakteristik dari record (meliputi
nama, tipe dan lebar dari field)
b. Untuk menentukan kunci field
c. Menyediakan cara untuk menentukan hubungan dengan data di file lain
d. Untuk mengubah struktur dari record
e. Untuk menampilkan struktur dari record.

DDL digunakan untuk mendefinisikan, mengubah, serta menghapus


basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel.
Perintah yang termasuk DDL:

 CREATE

Untuk membuat, termasuk diantaranya membuat database dan tabel


baru.
Create database [nama database]

 ALTER
Untuk mengubah struktur tabel yang telah dibuat.
Alter table [nama table]
Add constraint PK[nama table] primary key(record yg
dibuat primary key)

8
 DROP
Untuk menghapus database dan tabel.
Drop database [nama table]

1.3.2 Data Manipulation Language (DML)

DML merupakan merupakan perintah-perintah yang memungkinkan


pengguna melakukan akses dan manipulasi data sebagaimana yang telah
diorganisasikan sebelumnya dalam model data yang tepat, Data Manipulation
Language digunakan untuk memanipulasi database yang telah didefinisikan
dengan DDL. Perintah yang termasuk DML:
 INSERT
Untuk menyisipkan atau memasukan dalam table
Insert into [nama table] values (data)

 UPDATE
Untuk memperbaharui data lama menjadi data terkini
Update [nama table] set [kolom yg ingin update] =data
Where [baris yg ingin diupdate]=data

 DELETE
Untuk menghapus datadari table
Delete from [nama table]

9
 SELECT
Untuk mengambil data atau menampilkan data dari satu tabel atau
beberapa tabel.
Select * from [nama table]

1.3.3 Data Control Language (DCL)


DCL merupakan merupakan perintah-perintah yang digunakan untuk
mengontrol data. Perintah yang termasuk DCL:
 GRAND
Untuk memberikan hak atau izin akses oleh administrator server kepada
user

 REVOKE
Untuk menghilangkan atau mencabut hak akses yang telah diberikan
kepada user oleh administrator.

1.4 Model Basis Data

Model basis data merupakan sekumpulan dari berbagai perangkat konseptual yang
digunakan untuk menggambarkan suatu data, semantik data, relasi data, batasan data,
dan lain sebagainya. Model pada basis data tersebut nantinya bisa digunakan untuk
mengetahui seperti apa pernyataan dari hubungan antar basis data.

1.5 Perancangan Basis Data

Perancangan Basis Data adalah proses untuk menentukan isi dan pengaturan data
yang dibutuhkan untuk mendukung berbagai rancangan sistem. Tujuan Perancangan
Basis Data:
 Untuk memenuhi informulirasi yang berisikan kebutuhan-kebutuhan user
secara khusus dan aplikasi-aplikasinya.
 Memudahkan pengertian struktur informulirasi.

10
 Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek
penampilan (response time, processing time, dan storage space).

Ada 6 Fase proses perancangan basis data:


1. Pengumpulan Data dan Analisis
2. Perancangan Basis Data secara Konseptual
3. Pemilihan DBMS
4. Perancangan Basis Data secara Logika (data model mapping)
5. Perancangan Basis Data secara Fisik
6. Implementasi Sistem Basis Data.

1.6 Kunci Dalam Basis Data

Kunci (key) yang sering digunakan dalam model basis data relational adalah:
1.6.1 Candidat key

Candidat key adalah salah satu rangkaian yang mempunyai nilai unik
untuk membedakan atau mengindentifikasi nilai-nilai kombinasi yang unik
diantara semua kejadian yang spesifik dari entitas candidat key ini tidak boleh
berisi atribut dari tabel yang lain.

1.6.2 Primary key

Primary key adalah atribut merupakan candidate key yang telah dipilih
untuk mengindentifikasi setiap record secara unik. Primary key harus
merupakan field yang benar-benar unik dan tidak boleh ada nilai NULL.

1.6.3 Alternate key (kunci Alternatif)

Alternate key adalah candidate key yang tidak terpilih. Misalnya dalam
suatu entity terdapat dua field yang bisa dijadikan sebagai kunci. Sementara
yang boleh dijadikan kunci hanya satu, maka anda harus memilih salah satu.
Field yang anda pilih, disebut primary key, sedangkan field yang tidak dipilih
disebut dengan alternate key.

11
1.6.4 Foreign key

Foreign key adalah Sebuah kumpulan field dalam satu relasi yang
digunakan untuk me“refer” (menunjuk) ke suatu baris (tuple) pada relasi yang
lain (harus berkorespondensi dengan primary key pada relasi yang kedua),
seperti: ‘logical pointer’. Sedangkan hubungan antara keduanya (primary key
dan foreign key).

1.6.5 Composite key

Dalam desain database, composite key adalah kunci yang terdiri dari 2
atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas.
Setiap atribut yang membentuk kunci senyawa adalah kunci sederhana dalam
haknya sendiri.

1.6.6 Sekunder
Sekunder adalah sebuah atribut atau kombinasi yang digunakan hanya
untuk tujuan pengambilan data

1.7 Entity Relationship Program (ERD)

Entitiy Relationship Program (ERD) adalah suatu model jaringan yang


menggunakan susunan data yang disimpan pada sistem secara abstrak bertujuan untuk
mendokumentasikan data perusahaan dengan mengidentifikasi jenis entitas (Entity)
dan mengambarkan hubungan antara satu entitas yang sejumlah atribut dengan entitsa
yang lain dalam sutu sistem yang terintegrasi. ERD biasa digunakan oleh perancang
sistem untuk memodelkan data yang mau dikembangkan menjadi database. Adapun
istilah – istilah dalam ERD yaittu sebagai berikut:

1.7.1 Entitas

Adalah penggambaran sebuah objek biasa disebut juga sebagai jabatan/status


dari sebuah objek tersebut yang menunjukan objek-objek dasar dapat berupa
orang,benda atau hal lain yang keterangannya disimpan dalam database.
Adapun aturan untuk menggambarkan entitas seperti berikut:
 Entitas dinyatakan dengan symbol persegi panjang.
 Nama entitas berupa kata benda tunggal

12
 Nama entitas sebisa mungkin menggunakan nama yang mudah
dipahami dan menyatakan maknanya jelas

1.7.2 Attribut

Adalah karakteristik dari sebuah entity atau relationship yang menyediakan


penjelasan detail mengenai entity atau relationship, nilai atribut terdiri dari
suatu data actual atau informasi yang disimpan pada suatu atribut di dalam
suatu entity atau relationship.Adapun aturan untuk menggambarkan atribut
yaitu sebagai berikut:

 Atribut dinyatakan dengan symbol ellipse


 Nama Atribut ditulis dalam symbol ellipse
 Nama atribut berupa kata benda tunggal
 Nama atribut sebisa mungkin menggunakan nama yang mudah
dipahami dan padat menyatakan maknanya dengan jelas
 Atribut dihubungkan dengan entitas yang sesuai dengan
menggunakan garis

Jenis – jenis atribut:


1. Key
Adalah atribut yang digunakan untuk menentukan suatu entity
secara unik
2. Simple
Adalah atribut yang bernilai tunggal
3. Multivalue
Adalah atribut yang memiliki sekelompok nilai untuk setiap instan
entity
4. Atribut Composite
Adalah suatu atribut yang terdiri dari beberapa atribut yang lebih
kecil yang mempunyai arti tertentu
5. Atribut Derivatif
Adalah atribut yang dihasilkan dai atribut yang lain

1.7.3 Relasi
Adalah kejadian atau transaksi yang terjadi di antara dua entitas yang
keterangannya perlu disimpan dalam database. Adapun aturan penggambaran
relasi antar entity sebagai berikut:
 Relasi dinyatakan dengan symbol belah ketupat
 Nama relasi dituliskan didalam symbol belah ketupat
 Nama relasi dituliskan didalam symbol di belah ketupi at

13
 Relasi menghubungkan dua entitas
 Nama relasi menggunakan kata kerja aktif tunggal
 Nama relasi sebisa mungkin menggunakan nama yang mudah
dipahami dan dapat menyatakan makna dengan jelas

Jenis – jenis relasi:


1. Relasi Binery
Adalah relasi yang terjadi antara 2 himpunan entitas yang berbeda.

2. Relasi Unary
Adalah relasi yang terjadi dari sebuah himpunan entitas ke himpunan
entitas yang sama.

3. Relasi N-ary
Adalah relasi yang menghubungkan dari tiga entitas yang dimasuan
ke relasi multi-entitas.

14
1.7.4 Derajat Relasi / Kardinalitas
Adalah objek yang diidentifikasikan secara unik, dan objeknya dapat berbentuk
barang,orang dan sebagainya. Relasi ini menunjukkan maksumum entitas yang
dapat berelasi dengan entitas pada himpunan lainnya.Adapun jenis – jenis
derajat relasi atau kardinalitas sebagai berikut:
1. Satu ke satu (One to one)
Setiap himpunan entitas hanya boleh berhubungan dengan satu
himpunan entitas lainnya.

2. Satu ke banyak (One to many)


Setiap satu dari himpunan entitas boleh berhubungan dengan banyak
himpunan entitas lainnya.

15
3. Banyak ke banyak (Many to many)
Setiap himpunan entitas boleh berhubungan dengan banyak himpunan
entitas lainnya dan sebaliknya.

Tahapan – Tahapan ERD:


1. Menentukan entitas
2. Menentukan relasii
3. Gambar ERD sementara
4. Isi kardinalitas
5. Tentukan kunci utama
6. Gambar ERD berdasarkan kunci
7. Menetukan attribute
8. Pemetaan attribut
9. Gambar ERD attribute
10. Periksa hasil

Simbol – Simbol ERD

16
1.8 Normalisasi

Adalah teknik yang digunakan dalam membangun desain logic database relation
dengan menerapkan sejumlah aturan dan kriteria standard yang bertujuan
meminimalkan redundansi(looping data) data pada suatu database agar database
tersebut dapat bekerja dengan optimal. Apabila belum adanya normalisasi, maka akan
terjadi 3 kemungkinan yang akan terjadi dan merugikan sistem secara keseluruhan
seperti berikut:
1. Insert Anomali
Situasi dimana tidak memungkinkan memasukkan beberapa jenis data
secara langsung di database.

2. Delete Anomali
Penghapusan data yang tidak sesuai dengan yang diharapkan, yang
mengakibatkan data yang harusnya tidak terhapus kemungkinan ikut
terhapus.

3. Update Anomali
Situasi dimana nilai yang diubah menyebabkan inatkonsistensi (memiliki
2 primary key) database, dalam antrian data yang diubah tidak sesuai
dengan yang diperintahkan / yang diinginkan.

Bentuk – Bentuk Normalisasi

Bentuk Bentuk Tidak


Normal Normal
Ketiga (3NF) (Anomali)

Bentuk
Bentuk
Normal
Normal
Pertama
Kedua (2NF)
(1NF)

1. Bentuk Tidak Normal (Anomali)


Kumpulan data yang direkam tidak ada keharusan untuk mengikuti
suatu format tertentu. Pada bentuk tidak normal terdapat repeating group

17
(Pengulangan Group), sehingga pada kondisi ini data menjadi
permasalahan dalam melakukan manipulasi data (insert, update, dan
delete).

2. Bentuk Normal Pertama (1NF)


Bentuk normal yang pertama atau 1NF mensyaratkan beberapa
kondisi dalam sebuah database, berikut adalah fungsi dari bentuk normal
pertama ini.

 Menghilangkan duplikasi kolom dari tabel yang sama.


 Buat tabel terpisah untuk masing-masing kelompok data terkait
 Mengidentifikasi setiap baris dengan kolom yang unik (primary
key).

3. Bentuk Normal Kedua (2NF)


Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data
telah dibentuk dalam 1NF, berikut adalah beberapa fungsi normalisasi
2NF.
 Menghapus beberapa subset data yang ada pada tabel dan
menempatkan mereka pada tabel terpisah.
 Menciptakan hubungan antara tabel baru dan tabel lama dengan
menciptakan foreign key.
 Tidak ada atribut dalam tabel yang secara fungsional bergantung
pada candidate key tabel tersebut.

18
4. Bentuk Normal Ketiga (3NF)
Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data
telah dibentuk dalam 1NF, berikut adalah beberapa fungsi normalisasi
2NF.
 Menghapus beberapa subset data yang ada pada tabel dan
menempatkan mereka pada tabel terpisah.
 Menciptakan hubungan antara tabel baru dan tabel lama dengan
menciptakan foreign key.
 Tidak ada atribut dalam tabel yang secara fungsional bergantung
pada candidate key tabel tersebut.

1.9 Microsoft SQL Server

Microsoft SQL Server merupakan produk RDBMS (Relational Database


Management System) yang dibuat oleh Microsoft. Microsoft SQL Server juga
mendukung SQL sebagai bahasa untuk memproses query ke dalam database, adapun
fitur – fitur menarik pada SQL Server ini yaitu:

19
1. XML Support
Bertujuan untuk komunikasi dan sharing informasi, dengan ini
menyimpan dokumen suatu tabel dapat dalam format XML.

2. Multi-Instance Support
Dengan fitur ini memungkinkan seseorang admin mengkombinasikan
untuk development,testing dan produksi dalam satu mesin yang sama.

3. Data Warehousing/Business Intelligence Improvements


Dengan fitur ini dalam melengkapi keperluan bussines intelligence
melalui analysis services yang menawarkan OLAP (Online Analytical
Processing) yang bisa diakses lewat web sehingga bisa diakses juga dari
internet yang dapat memudahkan admin untuk mengakses.

4. Performance & Scalability Improvements


Memungkinkan untuk membagi workload kebeberapa server sekaligus

5. Query Analyzer Improvements


Untuk mendebug stored procedure, object browser untuk melihat semua
object dari database secara hirarki dan juga fasilitas object search untuk
mencari suatu object dalam database

6. DTS Improvements
Untuk memperhatikan primary key dan foreign key constraints.

7. Transact SQL Enhancements


Untuk menyimpan rutin-rutin ke dalam database engine

Tipe – Tipe Data Pada SQL Server


1. Tipe Numerik
Untuk menyimpan data numeric (angka). Ciri utama data numeric adalah
suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti
pertambahan, pengurangan, perkalian dan pembagian
 Tinyint
Penggunaan : digunakan untuk menyimpan data bilangan bulat
positif dan negatif.
Jangkauan : -128 s/d 127
Ukuran : 1 byte (8 bit)

 Smallint
Penggunaan : digunakan untuk menyimpan data bilangan bulat
positif dan negatif..
Jangkauan : -32.768 s/d 32.767

20
Ukuran : 2 byte (16 bit)

 Mediumint
Penggunaan : digunakan untuk menyimpan data bilangan bulat
positif dan negatif.
Jangkauan : -8.388.608 s/d 8.388.607
Ukuran : 3 byte (24 bit)

 Int
Penggunaan : digunakan untuk menyimpan data bilangan bulat
positif dan negatif.
Jangkauan : -2.147.483.648 s/d 2.147.483.647
Ukuran : 4 byte (32 bit)

 Bigint
Penggunaan : digunakan untuk menyimpan data bilangan bulat
positif dan negatif.
Jangkauan : ± 9,22 x 1018
Ukuran : 8 byte (64 bit)

 Float
Penggunaan : digunakan untuk menyimpan data bilangan pecahan
positif dan negatif presisi tunggal.
Jangkauan : 3.402823466E+38 s/d -1.175494351E-38, 0, dan
1.175494351E-38 s/d 3.402823466E+38.
Ukuran : 4 byte (32 bit)

 Double/Real
Penggunaan : digunakan untuk menyimpan data bilangan pecahan
positif dan negatif presisi ganda.
Jangkauan : -1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-
308 s/d 1.79…E+308.
Ukuran : 8 byte (64 bit)

 Decimal/Numeric
Penggunaan : digunakan untuk menyimpan data bilangan pecahan
positif dan negatif.
Jangkauan : -1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-
308 s/d 1.79…E+308.
Ukuran : 8 byte (64 bit)

21
2. Tipe Date dan Time
Digunakan untuk menyimpan data tanggal dan waktu
 Date
Penggunaan : digunakan untuk menyimpan data tanggal.
Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)
Ukuran : 3 byteTime

 Time
Penggunaan : digunakan untuk menyimpan data waktu.
Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS)
Ukuran : 3 byte

 Datetime
Penggunaan : digunakan untuk menyimpan data tanggal dan waktu.
Jangkauan : ‘1000-01-01 00:00:00’ s/d ‘9999-12-31 23:59:59’
Ukuran : 8 byte

 Year
Penggunaan : digunakan untuk menyimpan data tahun dari tanggal.
Jangkauan : 1900 s/d 2155
Ukuran : 1 byte

3. Tipe String (Text)


Digunakan untuk menyimpan data string (text), Ciri utama data string
adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika
seperti pertambahan, pengurangan, perkalian dan pembagian
 Char
Penggunaan : digunakan untuk menyimpan data string ukuran tetap.
Jangkauan : 0 s/d 255 karakter

 Varchar
Penggunaan : digunakan untuk menyimpan data string ukuran dinamis.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535

 Text
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535

 Mediumtext
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 224 – 1 karakter

22
 Longtext
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 232 – 1 karakter

4. Tipe BLOB (Binary Large Object)


Digunakan untuk menyimpan kode-kode biner dari suatu file atau object
 Bit
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 64 digit biner

 Tinyblob
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 255 byte

 Blob
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 216 – 1 byte
 Mediumblob
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 224 – 1 byte

 Longblob
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 232 – 1 byte

5. Tipe Data yang Lain


 Enum
Penggunaan : Enumerasi (kumpulan data)
Jangkauan : Sampai dengan 65535 string

 Set
Pengunaan : Kombinasi (himpunan data).
Jangkauan : Sampai dengan 255 string anggota

23
BAB II
Analisis dan Perancangan
2.1 Analisis

Analisis merupakan kegiatan memahami ataupun mempelajari sebuah objek


untuk menemukan kekurangan ataupun masalah yang dihadapi yang kemudian
ditemukan solusi untuk mengatasi kekurangan atau permasalahan tersebut sehingga
menjadi suatu kelebihan lain lagi bagi objek yang diteliti, dalam hal ini menganalisis
sebuah objek untuk sebuah penelitian yang berkaitan dengan Perancangan Basis Data
Formulir Pembukaan Rekening Bank.

2.2 Analisis Kebutuhan Sistem Informulirasi Perancangan Basis Data


Formulir Pembukaan Rekening Bank

1. Untuk mengidentifikasi penyebab munculnya suatu masalah maka perlu


diadakan analisis dari sistem informulirasi perawatan klinik, data pasien dan
sebagainya. Data yang dibutuhkan antara lain data rekening, data identitas, data
petugas, data pengenal, data npwp, data pendidikan, data pekerja, data
keterangan ebank, data jenis kelamin, data rekening, data jenis status, data status
tinggal, dan data pendaftaran.
2. Analisis Kebutuhan database pendaftaran_bank, sehingga sistem dapat
melakukan proses-proses sebagai berikut :
3. Pengolahan data data rekening yang ada merupakan proses penginputan, edit,
dan menghapus data rekening serta menampilkan data untuk proses pengolahan
data yang berkaitan dengan pendaftaran dan info rekening.
4. Pengolahan data identitas yang ada merupakan proses penginputan, edit, dan
menghapus data identitas serta menampilkan data.
5. Pengolahan data petugas yang ada merupakan proses penginputan,edit, dan
menghapus data petugas serta menampilkan data.

24
6. Pengolahan data pengenal tindakan yang ada merupakan proses
penginputan,edit, dan menghapus data pengenal serta menampilkan data.
7. Pengolahan data NPWP yang ada merupakan proses penginputan,edit, dan
menghapus data pada NPWP serta menampilkan data.
8. Pengolahan data pendidikan yang ada merupakan proses penginputan,edit, dan
menghapus data pada pendidikan serta menampilkan data.
9. Pengolahan data pekerjaan yang ada merupakan proses penginputan, edit, dan
menghapus data pekerjaan serta menampilkan data.
10. Pengolahan data keterangan ebank yang ada merupakan proses penginputan,
edit, dan menghapus data pada keterangan ebank serta menampilkan data.
11. Pengolahan data jenis kelamin yang ada merupakan proses penginputan, edit,
dan menghapus data pada jenis kelamin serta menampilkan data.
12. Pengolahan data rekening yang ada merupakan proses penginputan, edit, dan
menghapus data pada rekening serta menampilkan data.
13. Pengolahan data jenis status yang ada merupakan proses penginputan, edit, dan
menghapus data pada jenis status serta menampilkan data.
14. Pengolahan data status tinggal yang ada merupakan proses penginputan,edit, dan
menghapus data pada status tinggal serta menampilkan data.
15. Pengolahan data data pendaftaran yang ada merupakan proses penginputan,edit,
dan menghapus data pada pendaftaran serta menampilkan data.
16. Pengolahan data detail pendaftaran yang ada merupakan proses
penginputan,edit, dan menghapus data pada detail pendaftaran serta
menampilkan data.

2.3 Perancangan Basis Data

Perancangan ini di bangun bertujuan untuk memudahkan bagian administrasi


bank dalam hal penginputan data nasabah. Sehingga bagian administrasi bank dapat
melakukan perekaman data baik itu data rekening maupun data diri nasabah dan lain-
lain dengan baik dan benar.
Agar penulis lebih terfokus dan terarah maka akan diberikan batasan terhadap
layanan yang akan dibahas, antara lain:

25
1. Hanya mencakup perekaman pembukaan rekening bank secara global, yang
meliputi data data rekening, data identitas, data petugas, data pengenal, data
npwp, data pendidikan, data pekerja, data keterangan ebank, data jenis kelamin,
data rekening, data jenis status, data status tinggal, data pendaftaran, dan detail
pendaftaran.
2. Tidak mencakup data buka tutup buku.
Database ini didapat dari sebuah formulir dari bank BNI yaitu sebagai berikut:

26
2.4 Normalisasi 1 (1NF)
Suatu relasi dikatakan sudah memenuhi bentuk normal kesatu bila setiap data
bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data.

2.5 Normalisasi 2 (2NF)


Suatu relasi dikatakan sudah memenuhi bentuk normal kedua bila relasi tersebut
sudah memenuhi bentuk normal kesatu dan atribut yang bukan key sudah tergantung
penuh terhadap keynya.

27
2.6 Normalisasi 3 (3NF)
Suatu relasi dikatakan sudah memenuhi bentuk normal kedua bila relasi tersebut
sudah memenuhi bentuk normal kesatu dan atribut yang bukan key tidak tergantung
transitif terhadap keynya.

2.7 Dekomposisi
Gambaran hubungan antar entitas / relasi yang terbentuk dari database nota rawat
jalan di klinik fitria adalah sebagai berikut:

28
2.8 Entity Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) adalah sebuah gambaran hubungan antar
tabel (relasi) yang terbentuk dari database pendaftaran_bank adalah sebagai berikut:

29
2.9 Struktur Tabel
Sebuah struktur table sangat diperlukan dalam perancangan basis data karena untuk
mengelola penyimpanan data-data pada setiap tabelnya yang digunakan untuk mengelola
sistem informulirasi mengenai data nasabah pembuka rekening. Adapun tabel-tabel
tersebut adalah:
2.9.1 Tabel Data Rekening
Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
1) Nama database : pendaftaran_bank
2) Nama tabel : data_rekening
3) Primary key : kd_cif
4) Foreign Key :-

No. Field Type Length Keterangan


1 kd_cif char 6 Primary Key
2 no_cif integer No. CIF
3 no_sid char 9 No. SID
4 no_sub_rek integer No. Sub Rekening
5 id_rek char 7 Id_rekening

2.9.2 Tabel Identitas


Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
5) Nama database : pendaftaran_bank
6) Nama tabel : identitas
7) Primary key : nik
8) Foreign Key :-

No. Field Type Length Keterangan


1 nik char 16 Primary Key
2 nm_dpn varchar 20 Nama Depan

30
3 nm_blkg varchar 20 Nama Belakang
4 nm_alias varchar 20 Nama Alias
5 almt varchar 50 Alamat
6 rt integer RT
7 rw integer RW
8 kel varchar 30 Kelurahan
9 kec varchar 30 Kecamatan
10 kota varchar 30 Kota
11 prov varchar 30 Provinsi
12 kdpos integer Kode Pos
13 ngra varchar 20 Negara
14 id_j_klmn char 6 ID Jenis Kelamin
15 id_stat_nikah char 6 ID Status Nikah
16 tmpt_lhr varchar 20 Tempat Lahir
17 tgl_lhr date Tanggal Lahir
18 nm_ibu_kdg varchar 20 Nama Ibu Kandung

2.9.3 Tabel Petugas


Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
9) Nama database : pendaftaran_bank
10) Nama tabel : petugas
11) Primary key : id_ptgs
12) Foreign Key :-
No. Field Type Length Keterangan
1 id_ptgs char 6 Primary Key
2 nm_ptgs varchar 20 Nama Petugas

2.9.4 Tabel Pengenal


Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
13) Nama database : pendaftaran_bank

31
14) Nama tabel : pengenal
15) Primary key : id_pgnl
16) Foreign Key :-
No. Field Type Length Keterangan
1 id_pgnl char 6 Primary Key
2 jns_pgnl varchar 15 Jenis Pengenal

2.9.5 Tabel Data NPWP


Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
17) Nama database : pendaftaran_bank
18) Nama tabel : npwp
19) Primary key : id_npwp
20) Foreign Key :-

No. Field Type Length Keterangan


1 id_npwp char 6 Primary Key

2 no_npwp char 15 No. NPWP

2.9.6 Tabel Jenis Pendidikan

Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
21) Nama database : pendaftaran_bank
22) Nama tabel : pendidikan
23) Primary key : id_jp
24) Foreign Key :-
No. Field Type Length Keterangan
1 id_jp char 6 Primary Key
2 nm_jp char 5 Nama Jenis Pendidikan

32
2.9.7 Tabel Jenis Pekerja
Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
25) Nama database : pendaftaran_bank
26) Nama tabel : pekerja
27) Primary key : id_jkrja
28) Foreign Key :-

No. Field Type Length Keterangan


1 id_jkrja char 6 Primary Key
2 nm_jkrja varchar 30 Jenis Pekerjaan

2.9.8 Tabel Keterangan Ebank


Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
29) Nama database : pendaftaran_bank
30) Nama tabel : keterangan_ebank
31) Primary key : kd_dftr_ebank
32) Foreign Key :-
No. Field Type Length Keterangan
1 kd_dftr_ebank char 6 Primary Key
2 dftr_ebank varchar 10 Daftar Ebank

2.9.9 Tabel Jenis Kelamin


Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
33) Nama database : pendaftaran_bank
34) Nama tabel : jenis_kelamin
35) Primary key : id_j_klmn
36) Foreign Key :-
No. Field Type Length Keterangan
1 id_j_klmn char 6 Primary Key
2 j_klmn varchar 10 Jenis Kelamin

33
2.9.10 Tabel Rekening
Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
37) Nama database : pendaftaran_bank
38) Nama tabel : rekening
39) Primary key : id_rek
40) Foreign Key :-

No. Field Type Length Keterangan


1 id_rek char 7 Primary Key
2 no_rek varchar 20 No. Rekening

2.9.11 Tabel Jenis Status


Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
41) Nama database : pendaftaran_bank
42) Nama tabel : jenis_status
43) Primary key : id_stat_nikah
44) Foreign Key :-

No. Field Type Length Keterangan


1 id_stat_nikah char 6 Primary Key
2 Stat_nikah varchar 10 Status Nikah

2.9.12 Tabel Status Tinggal


Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
45) Nama database : pendaftaran_bank
46) Nama tabel : status_tinggal
47) Primary key : id_stat_tgl
48) Foreign Key :-

34
No. Field Type Length Keterangan
1 id_stat_tgl char 6 Primary Key
2 Nm_stat_tgl varchar 30 Status Tinggal

2.9.13 Tabel Pendaftaran


Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
49) Nama database : pendaftaran_bank
50) Nama tabel : pendaftaran
51) Primary key : kd_nsbh
52) Foreign Key : kd_cif, kd_dftr_ebank, id_stat_tgl, id_jkrja, id_jp,
id_npwp, id_pgnl

No. Field Type Length Keterangan


1 kd_nsbh char 6 Primary Key
2 kd_cif char 6 Kode CIF
3 kd_dftr_ebank char 6 Kode Daftar Ebank
4 id_stat_tgl char 6 ID Status Tinggal
5 id_jkrja char 6 ID Jenis Kerja
6 id_jp char 6 ID Jenis Pendidikan
7 id_npwp char 6 ID NPWP
8 id_pgnl char 6 ID Pengenal
9 no_telp integer No. Telepon
10 no_hp varchar 30 No. Hp

2.9.14 Tabel Detail Pendaftaran


Pada tabel ini berisi mengenai data rekening nasabah, dengan beberapa field pada
tabel sebagai berikut:
53) Nama database : pendaftaran_bank
54) Nama tabel : detail_pendaftaran
55) Primary key : kd_nsbh, nik, id_ptgs
56) Foreign Key : kd_nsbh, nik, id_ptgs

35
No. Field Type Length Keterangan
1 kd_nsbh char 6 Primary Key
2 nik char 16 NIK
3 id_ptgs char 6 ID Petugas

36
BAB III
Implementasi SQL Server

3.1 Implementasi Basis Data & Tabel


Penerapan database yang telah dibahas pada Bab II mengenai struktur tabel,
kemudian diimplementasikan menggunakan sintax SQL Server 2008. Pembahasan
terdiri dari sintax pembuatan database dan tabel, seperti berikut:

3.1.1 Membuat Database Pendaftaran_bank

create database nama_database

3.1.2 Menggunakan Database Pendaftaran_bank

use database

3.1.3 Membuat Tabel Data_rekening

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

37
MELIHAT STRUKTUR DATA
Sp_help nama_tabel

3.1.4 Membuat Tabel Identitas

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

38
MELIHAT STRUKTUR DATA

Sp_help nama_tabel

3.1.5 Membuat Tabel Petugas

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

39
MELIHAT STRUKTUR DATA

Sp_help nama_tabel

3.1.6 Membuat Tabel Pengenal

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

MELIHAT STRUKTUR DATA

Sp_help nama_tabel

40
3.1.7 Membuat Tabel Npwp

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

MELIHAT STRUKTUR DATA

Sp_help nama_tabel

41
3.1.8 Membuat Tabel Pendidikan

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

MELIHAT STRUKTUR DATA

Sp_help nama_tabel

3.1.9 Membuat Tabel Pekerja

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

42
MELIHAT STRUKTUR DATA

Sp_help nama_tabel

3.1.10 Membuat Tabel Keterangan_ebank

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

MELIHAT STRUKTUR DATA

Sp_help nama_tabel

43
3.1.11 Membuat Tabel Jenis_kelamin

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

MELIHAT STRUKTUR DATA

Sp_help nama_tabel

44
3.1.12 Membuat Tabel Rekening

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

MELIHAT STRUKTUR DATA

Sp_help nama_tabel

3.1.13 Membuat Tabel Jenis_status

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

45
MELIHAT STRUKTUR DATA

Sp_help nama_tabel

3.1.14 Membuat Tabel Status_tinggal

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

MELIHAT STRUKTUR DATA

Sp_help nama_tabel

46
3.1.15 Membuat Tabel Pendaftaran

LANGSUNG PRIMARY KEY


Create table nama_table(
Nama_field tipedata(index) Primary Key,
Nama_field tipedata(index)
)

MELIHAT STRUKTUR DATA

Sp_help nama_tabel

47
3.1.16 Membuat Tabel Detail_pendaftaran
MEMBUAT TIGA PRIMARY KEY
Create table nama_table(
Nama_field tipedata(index),
Nama_field tipedata(index),
Nama_field tipedata(index),
constraint PKnama_table Primary Key(Nama_field,Nama_field,
Nama_field)
)

MELIHAT STRUKTUR DATA

Sp_help nama_tabel

48
3.2 Isi Data Tabel
Pembahasan isi data tabel akan disesuaikan dengan data yang dibahas pada Bab I
mengenai bentuk – bentuk normalisasi. Data yang berada pada normalisasi
diimplementasikan ke dalam field dalam tabel, menggunakan sintax SQL Server 2008,
sebegai berikut:

3.2.1 Menambahkan Record Tabel Data_rekening

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

3.2.2 Menambahkan Record Tabel Identitas

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

49
3.2.3 Menambahkan Record Tabel Petugas

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

3.2.4 Menambahkan Record Tabel Pengenal

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

50
3.2.5 Menambahkan Record Tabel Npwp

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

3.2.6 Menambahkan Record Tabel Pendidikan

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

51
3.2.7 Menambahkan Record Tabel Pekerja

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

52
3.2.8 Menambahkan Record Tabel Keterangan_ebank

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

3.2.9 Menambahkan Record Tabel Jenis_kelamin

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

53
3.2.10 Menambahkan Record Tabel Rekening

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

3.2.11 Menambahkan Record Tabel Jenis_status

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

54
3.2.12 Menambahkan Record Tabel Status_tinggal

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

3.2.13 Menambahkan Record Tabel Pendaftaran

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

55
3.2.14 Menambahkan Record Tabel Detail_pendaftaran

INSERT INTO nama_table VALUES(‘isi field’)

MELIHAT DATA DALAM FIELD

SELECT * FROM nama_table

3.3 Relasi & Diagram


3.3.1 Relasi

ALTER TABLE Nama_tabel_tujuan


ADD CONSTRAINT Nama_foreignKey FOREIGN KEY
(Nama_field yang menjadi penghubung)
REFERENCES nama_tabel_penghubung(field_penghubung)

56
 Relasi Tabel Jenis_kelamin ke Identitas

 Relasi Tabel Jenis_status ke Indentitas

 Relasi Tabel Rekening ke Data_Rekening

 Relasi Tabel Data_Rekening ke Pendaftaran

 Relasi Tabel Keterangan_ebank ke Pendaftaran

 Relasi Tabel Status_Tinggal ke Pendaftaran

 Relasi Tabel Jenis_Pekerja ke Pendaftaran

57
 Relasi Tabel Jenis_Pendidikan ke Pendaftaran

 Relasi Tabel Data_NPWP ke Pendaftaran

 Relasi Tabel Pengenal ke Pendaftaran

 Relasi Tabel Pendaftaran ke Detail_Pendaftaran

 Relasi Tabel Identitas ke Detail_Pendaftaran

 Relasi Tabel Petugas ke Detail_Pendaftaran

58
3.3.2 Diagram

3.4 Query Data


3.4.1 Query Data 1 Table
1) Menampilkan ko_cif diganti 'Kode CIF',
no_cif diganti 'Nomor CIF',
no_sid diganti 'Nomor SID',
no_sub_rek diganti 'Nomor Sub Rekening'
id_rek diganti 'ID Rekening' dari Table data_rekening
Dimana no_sub_rek lebih dari '3000'
kd_cif diurutkan berdasarkan Descending, Lalu
Hitung Jumlah Record pada kd_cif,
Minimal pada no_sub_rek,
Maksimal pada no_sub_rek,
Hitung Jumlah dari no_sub_rek,
Hitung Rata-rata dari no_sub_rek dari Table data_rekening

59
2) Menampilkan nik diganti 'NIK',
nm_dpn diganti 'Nama Depan',
nm_blkg diganti 'Nama Belakang',
nm_alias diganti 'Nama Alias'
almt diganti 'Alamat',
rt diganti 'RT',
rw diganti 'RW',
kel diganti 'Kelurahan',
kota diganti 'Kota',
prov diganti 'Provinsi',
kdpos diganti 'Kode POS',
ngra diganti 'Negara',
id_j_klmn diganti 'ID Jenis Kelamin',
id_stat_nikah diganti 'ID Status Nikah',
tmpt_lhr diganti 'Tempat Lahir',
tgl_lhr diganti 'Tanggal Lahir',
nm_ibu_kdg diganti 'Nama Ibu Kandung' dari Table identitas
Dimana kdpos kurang dari '17500' dan nm_dpn huruf akhir H
Hitung Jumlah Record pada nik,
Dimana nm_dpn huruf akhir H dari Table identitas

60
3) Menampilkan id_ptgs diganti 'ID Petugas',
nm_ptgs diganti 'Nama Petugas' dari Table petugas
Dimana nm_ptgs terdapat huruf Y dan F,
nm_ptgs diurutkan berdasarkan Descending, Lalu
Hitung Jumlah Record nm_ptgs,
Dimana nm_ptgs terdapat huruf Y dan F dari Table petugas

4) Menampilkan id_pgnl diganti 'ID Pengenal',


jns_pgnl diganti 'Jenis Pengenal' dari Table pengenal
Dimana jns_pgnl huruf akhir P,
jns_pgnl diurutkan berdasarkan Ascending, Lalu
Hitung Jumlah Record jns_pgnl,
Dimana jns_pgnl huruf akhir P dari Table petugas

61
5) Menampilkan id_npwp diganti 'ID Nomor Pokok Wajib Pajak',
no_npwp diganti 'Nomor Pokok Wajib Pajak' dari Table
data_NPWP
Dimana no_npwp terdapat huruf 'D' dan no_npwp bukan 'TIDAK
ADA', Lalu
Hitung Jumlah Record no_npwp,
Dimana no_npwp terdapat huruf 'D' dan no_npwp bukan 'TIDAK
ADA' dari Table data_NPWP

62
6) Menampilkan id_jp diganti 'ID Jenis Pendidikan',
nm_jp diganti 'Nama Jenis Pendidikan' dari Table
jenis_pendidikan
Dimana nm_jp terdapat huruf depan 'S' dan nm_jp bukan huruf
kedua M, Lalu
Hitung Jumlah Record nm_jp,
Dimana nm_jp terdapat huruf depan 'S' dan nm_jp bukan huruf
kedua M dari Table jenis_pendidikan

7) Menampilkan id_jkrja diganti 'ID Jenis Pekerja',


nm_jkrja diganti 'Nama Jenis Pekerja' dari Table
jenis_pekerja
Dimana id_jkrjanya antara JKRJ01 sampai JKRJ08,
dan nm_jkrja huruf depan P
Hitung Jumlah Record id_jkrja,
Dimana id_jkrjanya antara JKRJ01 sampai JKRJ08,
dan nm_jkrja huruf depan P dari Table jenis_pekerja

63
8) Menampilkan kd_dftr_ebank diganti 'Kode Daftar E-Bank',
dftr_ebank diganti 'Daftar E-Bank' dari Table
keterangan_ebank
Dimana dftr_ebank terdapat ('TIDAK ADA' dan 'ADA') lalu
dftr_ebank terdapat huruf D,
kd_dftr_ebank diurutkan berdasarkan Descending, Lalu
Hitung Jumlah Record kd_dftr_ebank,
Dimana dftr_ebank terdapat ('TIDAK ADA' dan 'ADA') lalu
dftr_ebank terdapat huruf D dari Table keterangan_ebank

64
9) Menampilkan id_j_klmn diganti 'ID Jenis Pekerja',
j_klmn diganti 'Nama Jenis Pekerja' dari Table jenis_kelamin
Dimana j_klmn bukan 'PRIA'
Hitung Jumlah Record id_j_klmn,
Dimana j_klmn bukan 'PRIA' dari Table jenis_kelamin

10) Menampilkan id_rek diganti 'ID Rekening',


no_rek diganti 'Nomor Rekening' dari Table rekening
Dimana no_rek terdapat huruf R,
id_rek diurutkan berdasarkan Descending
Hitung Jumlah Record id_rek,
Minimal pada no_rek,
Maksimal pada no_rek dari Table rekening

65
11) Menampilkan id_stat_nikah diganti 'ID Status Nikah',
stat_nikah diganti 'Status Nikah' dari Table jenis_status
Dimana stat_nikah terdapat huruf A dan stat_nikah bukan
'JANDA/DUDA',
stat_nikah diurutkan berdasarkan Ascending
Hitung Jumlah Record id_stat_nikah,
Dimana stat_nikah terdapat huruf A dan stat_nikah bukan
'JANDA/DUDA' dari Table jenis_status

12) Menampilkan id_stat_tgl diganti 'ID Status Tinggal',


nm_stat_tgl diganti 'Nama Status Tinggal' dari Table
status_tinggal
Dimana id_stat_tgl antara STG01 dan STG05,
dan nm_stat_tgl huruf depan M,
dan nm_stat_tgl huruf ke-7 S,
id_stat_tgl diurutkan berdasarkan Descending
Hitung Jumlah Record id_stat_tgl,

66
Dimana id_stat_tgl antara STG01 dan STG05,
dan nm_stat_tgl huruf depan M,
dan nm_stat_tgl huruf ke-7 S dari Table status_tinggal

13) Menampilkan kd_nsbh diganti 'Kode Nasabah',


kd_cif diganti 'Kode CIF',
kd_dftr_ebank diganti 'Kode Daftar E-Bank',
id_stat_tgl diganti 'ID Status Tinggal'
id_jkrja diganti 'ID Jenis Pekerja',
id_jp diganti 'ID Jenis Pendidikan',
id_npwp diganti 'ID Nomor Pokok Wajib Pajak',
id_pgnl diganti 'ID Pengenal',
no_telp diganti 'Nomor Telepon',
no_hp diganti 'Nomor Handphone', dari Table pendaftaran
Dimana kd_nsbh antara NSB001 dan NSB003,
kd_nsbh diurutkan berdasarkan Descending, Lalu
Hitung Jumlah Record pada kd_nsbh,
Minimal pada no_telp,
Maksimal pada no_telp,
Dimana kd_nsbh antara NSB001 dan NSB003 dari Table
pendaftaran

67
14) Menampilkan kd_nsbh diganti 'Kode Nasabah',
nik diganti 'NIK',
id_ptgs diganti 'ID Petugas' dari Table
detail_pendaftaran
Dimana nik terdapat angka 0 dari angka ketiga dari
belakang,
dan id_ptgs bukan antara 'PTGS11' dan 'PTGS22'
Hitung Jumlah Record kd_nsbh,
Dimana nik terdapat angka 0 dari angka ketiga dari
belakang dari Table detail_pendaftaran

68
15) Menampilkan kd_nsbh diganti 'Kode Nasabah',
kd_cif diganti 'Kode CIF',
kd_dftr_ebank diganti 'Kode Daftar E-Bank',
id_stat_tgl diganti 'ID Status Tinggal'
id_jkrja diganti 'ID Jenis Pekerja',
id_jp diganti 'ID Jenis Pendidikan',
id_npwp diganti 'ID Nomor Pokok Wajib Pajak',
id_pgnl diganti 'ID Pengenal',
no_telp diganti 'Nomor Telepon',
no_hp diganti 'Nomor Handphone', dari Table pendaftaran
Dimana kd_nsbh terdapat angka 0 dari angka kedua dari
belakang
dan id_jkrja didalamnya ada 'JKRJ01' dan 'JKRJ02'
dan no_telp terdapat angka 5, Lalu
Hitung Jumlah Record pada kd_nsbh,
Minimal pada no_hp,
Maksimal pada no_hp,
Dimana kd_nsbh terdapat angka 0 dari angka kedua dari
belakang
dan id_jkrja didalamnya ada 'JKRJ01' dan 'JKRJ02'
dan no_telp terdapat angka 5 dari Table pendaftaran

69
3.4.2 Query Data 2 Table
1) Menampilkan kd_nsbh diganti 'Kode Nasabah',
kd_cif diganti 'Kode CIF',
kd_dftr_ebank diganti 'Kode Daftar E-Bank',
id_stat_tgl diganti 'ID Status Tinggal',
nm_stat_tgl diganti 'Nama Status Tinggal',
id_jkrja diganti 'ID Jenis Pekerja',
id_jp diganti 'ID Jenis Pendidikan',
id_npwp diganti 'ID Nomor Pokok Wajib Pajak',
id_pgnl diganti 'ID Pengenal',
no_telp diganti 'Nomor Telepon',
no_hp diganti 'Nomor Handphone', dari Table pendaftaran
JOIN Table status_tinggal
Di pendaftaran.id_stat_tgl SAMA
status_tinggal.id_stat_tgl
Dimana kd_nsbh memiliki huruf depan 'N',
Dan nm_stat_tgl pada 'MILIK SENDIRI',
Dan no_telp memiliki angka '5'

70
2) Menampilkan ko_cif diganti 'Kode CIF',
no_cif diganti 'Nomor CIF',
no_sid diganti 'Nomor SID',
no_sub_rek diganti 'Nomor Sub Rekening',
Kolom Baru no_sub_rek+5000 diganti 'Nomor Sub Rekening
+ 5000',
id_rek diganti 'ID Rekening',
no_rek diganti 'Nomor Rekening' dari Table
data_rekening JOIN Table rekening
DI data_rekening.id_rek SAMA rekening.id_rek
Dimana kd_cif pada ('CIF001','CIF003')
Hitung jumlah record kd_cif,
Maksimal no_rek,
Minimal no_rek

71
3) Menampilkan nik diganti 'NIK',
nm_dpn diganti 'Nama Depan',
nm_blkg diganti 'Nama Belakang',
nm_alias diganti 'Nama Alias'
almt diganti 'Alamat',
rt diganti 'RT',
rw diganti 'RW',
kel diganti 'Kelurahan',
kota diganti 'Kota',
prov diganti 'Provinsi',
kdpos diganti 'Kode POS',
ngra diganti 'Negara',
id_j_klmn diganti 'ID Jenis Kelamin',
id_stat_nikah diganti 'ID Status Nikah',
stat_nikah diganti 'Status Nikah',
tmpt_lhr diganti 'Tempat Lahir',
tgl_lhr diganti 'Tanggal Lahir',
nm_ibu_kdg diganti 'Nama Ibu Kandung' dari Table
identitas JOIN Table jenis_status
DI identitas.id_stat_nikah SAMA
jenis_status.id_stat_nikah
Dimana kdpos Bukan Diantara '17500' Dan '17600' dan
almt Bukan pada ('JL.BELUT')
Hitung jumlah record nik

72
4) Menampilkan kd_nsbh diganti 'Kode Nasabah',
nik diganti 'NIK',
id_ptgs diganti 'ID Petugas',
nm_ptgs diganti 'Nama Petugas' dari Table
detail_pendaftaran JOIN Table petugas
DI detail_pendaftaran.id_ptgs SAMA petugas.id_ptgs
Dimana kdpos memiliki 3 huruf depan 'NSB' Dan nik
memiliki 2 angka dibelakang '1'
Dan nm_ptgs tidak memiliki unsur huruf 'F'
Hitung jumlah record kd_nsbh

73
5) Menampilkan kd_nsbh diganti 'Kode Nasabah',
kd_cif diganti 'Kode CIF',
no_cif diganti 'Nomor CIF',
no_sid diganti 'Nomor SID',
no_sub_rek diganti 'Nomor Sub Rekening',
id_rek diganti 'ID Rekening',
no_telp diganti 'Nomor Telepon',
no_hp diganti 'Nomor Handphone', dari Table pendaftaran
JOIN Table data_rekening
DI pendaftaran.kd_cif SAMA data_rekening.kd_cif
Dimana np_cif memiliki 3 angka dibelakang '0' Dan
no_sub_rek kurang dari sama dengan 9000
Hitung jumlah record kd_nsbh,
Maksimal(no_sub_rek),
Minimal(no_sub_rek),
Penjumlahan(no_sub_rek),
Rata-rata(no_sub_rek)

74
6) Menampilkan nik diganti 'NIK',
nm_dpn diganti 'Nama Depan',
nm_blkg diganti 'Nama Belakang',
nm_alias diganti 'Nama Alias'
almt diganti 'Alamat',
rt diganti 'RT',
rw diganti 'RW',
kel diganti 'Kelurahan',
kota diganti 'Kota',
prov diganti 'Provinsi',
kdpos diganti 'Kode POS',
ngra diganti 'Negara',
id_j_klmn diganti 'ID Jenis Kelamin',
j_klmn diganti 'Jenis Kelamin' dari Table identitas
JOIN Table jenis_kelamin
DI identitas.id_j_klmn SAMA jenis_kelamin.id_j_klmn
Dimana kec Pada ('CIBITUNG','BEKASI SELATAN') Dan kel
Pada ('WANAJAYA','KAYURINGIN')
Dan j_klmn Pada ('PRIA')
Hitung jumlah record nik

75
7) Menampilkan kd_nsbh diganti 'Kode Nasabah',
kd_cif diganti 'Kode CIF',
kd_dftr_ebank diganti 'Kode Daftar E-Bank',
dftr_ebank diganti 'Daftar E-Bank',
no_telp diganti 'Nomor Telepon',
no_hp diganti 'Nomor Handphone', dari Table pendaftaran
JOIN Table keterangan_ebank
DI pendaftaran.kd_dftr_ebank SAMA
keterangan_ebank.kd_dftr_ebank
Di mana no_telp memiliki angka '5'
Urutkan kd_nsbh secara Descending,
Hitung jumlah record kd_nsbh,
Maksimal no_hp,
Minimal no_hp

76
8) Menampilkan kd_nsbh diganti 'Kode Nasabah',
kd_cif diganti 'Kode CIF',
id_pgnl diganti 'ID Pengenal',
jns_pgnl diganti 'Jenis Pengenal',
no_telp diganti 'Nomor Telepon',
no_hp diganti 'Nomor Handphone', dari Table pendaftaran
JOIN Table pengenal
DI pendaftaran.id_pgnl SAMA pengenal.id_pgnl
Di mana kd_cif lebih besar sama dengan 'CIF001' Dan
no_hp 2 angka dibelakang '8'
Dan no_hp 3 angka didepan '1'
Hitung jumlah record kd_cif

9) Menampilkan kd_nsbh diganti 'Kode Nasabah',


kd_cif diganti 'Kode CIF',
id_jp diganti 'ID Jenis Pendidikan',
nm_jp diganti 'Nama Jenis Pendidikan',
no_telp diganti 'Nomor Telepon',
no_hp diganti 'Nomor Handphone', dari Table pendaftaran
JOIN Table jenis_pendidikan
DI pendaftaran.id_jp SAMA jenis_pendidikan.id_jp
Di mana id_jp Diatara 'JP06' Dan 'JP07' Dan no_telp
memiliki angka '2'
Dan no_hp 2 angka dibelakang '4'
Hitung jumlah record kd_nsbh

77
10) Menampilkan kd_nsbh diganti 'Kode Nasabah',
kd_cif diganti 'Kode CIF',
id_npwp diganti 'ID Nomor Pokok Wajib Pajak',
no_npwp diganti 'Nomor Pokok Wajib Pajak',
no_telp diganti 'Nomor Telepon',
no_hp diganti 'Nomor Handphone', dari Table
pendaftaran JOIN Table data_NPWP
DI pendaftaran.id_npwp SAMA data_NPWP.id_npwp
Di mana id_npwp Diatara 'ID01' Dan 'ID02' Dan
no_telp memiliki angka '2'
Dan no_hp 2 angka dibelakang '4'
Hitung jumlah record kd_nsbh

78
79
3.4.3 Query Data 3 Table
1) Menampilkan kd_nsbh diganti 'Kode Nasabah',
nik diganti menjadi 'Nomor Induk Kependudukan'
nm_dpn diganti menjadi nama_depan
almt diganti menjadi alamat
kec diganti menjadi kecamatan
prov diganti menjadi provinsi
id_petugas diganti menjadi 'ID Petugas'
nm_ptgs diganti menjadi 'Nama Petugas' dari tabel
detail_pendaftaran join tabel detail_pendaftaran, tabel identitas
dan tabel petugas dimana nm_dpn megandung huruf R dan kel berisi
jakamulya.

2) Menapilkan kd_nsbh diganti 'Kode Nasabah',


detail_pendaftaran.nik diganti 'Nomor Induk Keluarga',
nm_dpn diganti 'Nama Depan',
tgl_lhr diganti 'Tanggal Lahir',
kolom umur
nm_ptgs diganti 'Nama Petugas',
detail_pendaftaran.id_ptgs diganti 'ID Petugas'
dari table detail_pendaftaran JOIN table petugas di detail_pendaftaran.id_ptgs SAMA
petugas.id_ptgs INNER JOIN identitas di
detail_pendaftaran.nik SAMA identitas.nik
Dimana tgl_lhr Diantara '2000' Dan '2010' dan nm_dpn mengandung 'Z'

80
3) Menapilkan kd_nsbh diganti 'Kode Nasabah',
pendaftaran.kd_cif diganti 'Kode CIF',
no_cif diganti 'Nomor CIF',
no_npwp diganti 'Nomor NPWP',
no_telp diganti 'Nomor Telepon'
dari tabel pendaftaran JOIN data_rekening di
pendaftaran.kd_cif SAMA data_reekning.kd_cif INNER JOIN
data_NPWP di
pendaftaran.id_npwp SAMA data_NPWP.id_npwp
Dimana no_NPWP adalah 'ada' dan nno_cif selain '998022'

81
4) Menampilkan nik diganti 'Nomor Induk Keluarga',
nm_dpn diganti 'Nama_Depan',
identitas.id_j_klmn diganti 'ID Jenis Kelamin',
j_klmn diganti 'Jenis Kelamin',
stat_nikah diganti 'Status Nikah',
nm_ibu_kdg diganti 'Nama Ibu Kandung'
dati table identitas JOIN jenis_kelamin di
identitas.id_j_klmn SAMA jenis_kelamin.id_j_klmn INNER JOIN
jenis_status di
identitas.id_stat_nikah SAMA jenis_status.id_stat_nikah
Dimana nm_dpn mengandung huruf F dan stat_nikah adalah 'LAJANG'

5) Menampilkan kd_nsbh diganti 'Kode Nasabah',


pendaftaran.id_jp diganti 'Jenis Pendidikan',
nm_jp diganti 'Nama Jenis Pendidikan',
nm_jkrja diganti 'Nama Jenis Pekerjaan',
id_npwp diganti 'ID NPWP',
no_hp diganti 'Nomor HP'
dari table pendaftaran JOIN jenis_pendidikan di
pendaftaran.id_jp SAMA jenis_pendidikan.id_jp INNER JOIN
jenis_pekerja di
pendaftaran.id_jkrja SAMA jenis_pekerja.id_jkrja
Dimana pendaftaran.id_jp selain 'JP07' dan id_npwp adalah
'ID01'

82
83
DAFTAR PUSTAKA
Asal mula istlah basis data:
https://id.wikipedia.org/wiki/Pangkalan_data

Bahasa basis data:


http://www.carawebs.info/2013/08/pengertian-ddl-dml-dcl.html

Model basis data:


https://www.nesabamedia.com/pengertian-model-basis-data/

Kunci dalam basis data:


https://dharsahwendanado.blogspot.com/2015/09/macam-macam-database-macam-macam-
kunci_14.html

ERD:
http://mfikri.com/artikel/kupas-tuntas-konsep-model-data-entity-relationship-diagram-atau-
erd.html

ERD:
https://www.dewaweb.com/blog/entity-relationship-diagram/

ERD:
http://mahasiswa.ung.ac.id/921411183/home/2012/11/3/erd.html

Normalisasi:
https://rudiawan16.wordpress.com/normalisasi-database-beserta-pengertian-dan-
contohnya/

Normalisasi:
http://mfikri.com/artikel/aturan-dan-teknik-dalam-melakukan-normalisasi-data.html

Microsof SQL Server:


https://prajuritteknologi.wordpress.com/2010/03/11/apa-itu-microsoft-sql-server/

Microsof SQL Server:


https://www.it-jurnal.com/tipe-data-pada-database-sql/

84
create database Pendaftaran_Bank

use Pendaftaran_Bank

Create table data_rekening(


kd_cif char(6)Primary Key,
no_cif int,
no_sid char(9),
no_sub_rek int,
id_rek char(7)
)

sp_help data_rekening

DROP TABLE data_rekening

INSERT INTO data_rekening VALUES('CIF001','998011','1309-


9890','9890','REK1122')
INSERT INTO data_rekening VALUES('CIF002','998022','1390-
7880','7880','REK1133')
INSERT INTO data_rekening VALUES('CIF003','998033','1389-
2230','2230','REK2233')

SELECT * FROM data_rekening

Create table identitas(


nik char(16) Primary Key,
nm_dpn varchar(20),
nm_blkg varchar(20),
nm_alias varchar(20),
almt varchar(50),
rt int,
rw int,
kel varchar(30),
kec varchar(30),
kota varchar(30),
prov varchar(30),
kdpos int,
ngra varchar(20),
id_j_klmn char(6),
id_stat_nikah char(6),
tmpt_lhr varchar(20),
tgl_lhr date,
nm_ibu_kdg varchar(20)
)

sp_help identitas

DROP TABLE identitas

INSERT INTO identitas


VALUES('3275042702000010','RAFLY','NOER','FLY','JL.BELUT','06','06','KAYURI
NGIN','BEKASI SELATAN',
'BEKASI','JAWA
BARAT','17144','INDONESIA','JK01','STN02','BEKASI','2000-02-27','LENI')
INSERT INTO identitas
VALUES('3275031304010020','REZAH','AURELLIA','RERE','JL.BAHAGIA','02','12',
'JAKAMULYA','BEKASI SELATAN',

85
'BEKASI','JAWA
BARAT','17456','INDONESIA','JK02','STN02','BEKASI','2001-04-13','MISU')
INSERT INTO identitas
VALUES('3275030310990010','ULFA','KARLINA','ULPA','JL.NUSA
INDAH','05','15','WANAJAYA','CIBITUNG',
'BEKASI','JAWA
BARAT','17520','INDONESIA','JK02','STN01','KUNINGAN','1999-10-03','UUN')

SELECT * FROM identitas

Create table petugas(


id_ptgs char(6) Primary Key,
nm_ptgs varchar(20)
)

sp_help petugas

DROP TABLE petugas

INSERT INTO petugas VALUES('PTGS11','BARRY')


INSERT INTO petugas VALUES('PTGS22','MAHDIATNA')
INSERT INTO petugas VALUES('PTGS33','FALAH')

SELECT * FROM petugas

Create table pengenal(


id_pgnl char(6)Primary Key,
jns_pgnl varchar(15)
)

sp_help pengenal

DROP TABLE pengenal

INSERT INTO pengenal VALUES('PGNL01','KTP')


INSERT INTO pengenal VALUES('PGNL02','KITAS/KITAP')
INSERT INTO pengenal VALUES('PGNL03','PASSPORT')

SELECT * FROM pengenal

Create table data_NPWP(


id_npwp char(6)Primary Key,
no_npwp char(15),
)

sp_help data_NPWP

DROP TABLE data_NPWP

INSERT INTO data_NPWP VALUES('ID01','ADA')


INSERT INTO data_NPWP VALUES('ID02','TIDAK ADA')

SELECT * FROM data_NPWP

Create table jenis_pendidikan(


id_jp char(6)Primary Key,

86
nm_jp char(5)
)

sp_help jenis_pendidikan

DROP TABLE jenis_pendidikan

INSERT INTO jenis_pendidikan VALUES('JP01','SD')


INSERT INTO jenis_pendidikan VALUES('JP02','SMP')
INSERT INTO jenis_pendidikan VALUES('JP03','SMA')
INSERT INTO jenis_pendidikan VALUES('JP04','D1-D2')
INSERT INTO jenis_pendidikan VALUES('JP05','D3')
INSERT INTO jenis_pendidikan VALUES('JP06','S1')
INSERT INTO jenis_pendidikan VALUES('JP07','S2')
INSERT INTO jenis_pendidikan VALUES('JP08','S3')
INSERT INTO jenis_pendidikan VALUES('JP09','LAIN')

SELECT * FROM jenis_pendidikan

Create table jenis_pekerja(


id_jkrja char(6) Primary Key,
nm_jkrja varchar(30)
)

sp_help jenis_pekerja

DROP TABLE jenis_pekerja

INSERT INTO jenis_pekerja VALUES('JKRJ01','PELAJAR/MAHASISWA')


INSERT INTO jenis_pekerja VALUES('JKRJ02','IBU RUMAH TANGGA')
INSERT INTO jenis_pekerja VALUES('JKRJ03','WIRASWASTA')
INSERT INTO jenis_pekerja VALUES('JKRJ04','PEGAWAI SWASTA')
INSERT INTO jenis_pekerja VALUES('JKRJ05','PEGAWAI NEGERI')
INSERT INTO jenis_pekerja VALUES('JKRJ06','TNI/POLRI')
INSERT INTO jenis_pekerja VALUES('JKRJ07','PENSIUNAN')
INSERT INTO jenis_pekerja VALUES('JKRJ08','GURU')
INSERT INTO jenis_pekerja VALUES('JKRJ09','LAINNYA')

SELECT * FROM jenis_pekerja

Create table keterangan_ebank(


kd_dftr_ebank char(6) Primary Key,
dftr_ebank varchar(10)
)

sp_help keterangan_ebank

DROP TABLE keterangan_ebank

INSERT INTO keterangan_ebank VALUES('EB01','ADA')


INSERT INTO keterangan_ebank VALUES('EB02','TIDAK ADA')

SELECT * FROM keterangan_ebank

Create table jenis_kelamin(


id_j_klmn char(6) Primary Key,
j_klmn varchar(10)

87
)

sp_help jenis_kelamin

DROP TABLE jenis_kelamin

INSERT INTO jenis_kelamin VALUES('JK01','PRIA')


INSERT INTO jenis_kelamin VALUES('JK02','WANITA')

SELECT * FROM jenis_kelamin

Create table rekening(


id_rek char(7)Primary Key,
no_rek varchar(20)
)

sp_help rekening

DROP TABLE rekening

INSERT INTO rekening VALUES('REK1122','0812685111')


INSERT INTO rekening VALUES('REK1133','0811861406')
INSERT INTO rekening VALUES('REK2233','0822899219')

SELECT * FROM rekening

Create table jenis_status(


id_stat_nikah char(6) Primary Key,
stat_nikah varchar(10)
)

sp_help jenis_status

DROP TABLE jenis_status

INSERT INTO jenis_status VALUES('STN01','MENIKAH')


INSERT INTO jenis_status VALUES('STN02','LAJANG')
INSERT INTO jenis_status VALUES('STN03','JANDA/DUDA')

SELECT * FROM jenis_status

Create table status_tinggal(


id_stat_tgl char(6) Primary Key,
nm_stat_tgl varchar(30)
)

sp_help status_tinggal

DROP TABLE status_tinggal

INSERT INTO status_tinggal VALUES('STG01','MILIK SENDIRI')


INSERT INTO status_tinggal VALUES('STG02','MILIK KELUARGA')
INSERT INTO status_tinggal VALUES('STG03','RUMAH DINAS')
INSERT INTO status_tinggal VALUES('STG04','MILIK SENDIRI DIJAMINKAN')
INSERT INTO status_tinggal VALUES('STG05','SEWA')

SELECT * FROM status_tinggal

88
Create table pendaftaran(
kd_nsbh char(6)Primary Key,
kd_cif char(6),
kd_dftr_ebank char(6),
id_stat_tgl char(6),
id_jkrja char(6),
id_jp char(6),
id_npwp char(6),
id_pgnl char(6),
no_telp varchar(30),
no_hp varchar(30)
)

sp_help pendaftaran

DROP TABLE pendaftaran

INSERT INTO pendaftaran


VALUES('NSB001','CIF001','EB01','STG03','JKRJ03','JP07',

'ID01','PGNL01','02134567','089693493541')
INSERT INTO pendaftaran
VALUES('NSB002','CIF002','EB01','STG01','JKRJ01','JP06',

'ID01','PGNL01','02198763','087885499686')
INSERT INTO pendaftaran
VALUES('NSB003','CIF003','EB01','STG01','JKRJ02','JP06',

'ID02','PGNL01','02156767','081395452380')

SELECT * FROM pendaftaran

ALTER TABLE identitas


ADD CONSTRAINT FKjenis_kelamin FOREIGN KEY (id_j_klmn)
REFERENCES jenis_kelamin(id_j_klmn)

ALTER TABLE identitas


ADD CONSTRAINT FKjenis_status FOREIGN KEY (id_stat_nikah)
REFERENCES jenis_status (id_stat_nikah)

ALTER TABLE data_rekening


ADD CONSTRAINT FKrekening FOREIGN KEY (id_rek)
REFERENCES rekening(id_rek)

ALTER TABLE pendaftaran


ADD CONSTRAINT FKstatus_tinggal FOREIGN KEY (id_stat_tgl)
REFERENCES status_tinggal(id_stat_tgl)

ALTER TABLE pendaftaran


ADD CONSTRAINT FKdata_rekening FOREIGN KEY (kd_cif)
REFERENCES data_rekening(kd_cif)

ALTER TABLE pendaftaran


ADD CONSTRAINT FKketerangan_ebank FOREIGN KEY (kd_dftr_ebank)
REFERENCES keterangan_ebank(kd_dftr_ebank)

ALTER TABLE pendaftaran


ADD CONSTRAINT FKjenis_pekerja FOREIGN KEY (id_jkrja)

89
REFERENCES jenis_pekerja(id_jkrja)

ALTER TABLE pendaftaran


ADD CONSTRAINT FKjenis_pendidikan FOREIGN KEY (id_jp)
REFERENCES jenis_pendidikan(id_jp)

ALTER TABLE pendaftaran


ADD CONSTRAINT FKdata_NPWP FOREIGN KEY (id_npwp)
REFERENCES data_NPWP(id_npwp)

ALTER TABLE pendaftaran


ADD CONSTRAINT FKpengenal FOREIGN KEY (id_pgnl)
REFERENCES pengenal(id_pgnl)

Create table detail_pendaftaran(


kd_nsbh char(6),
nik char(16),
id_ptgs char(6)
constraint PKDetail Primary Key (kd_nsbh,nik,id_ptgs)
)

sp_help detail_pendaftaran

drop table detail_pendaftaran

insert into detail_pendaftaran values


('NSB001','3275042702000010','PTGS11')
insert into detail_pendaftaran values
('NSB002','3275031304010020','PTGS22')
insert into detail_pendaftaran values
('NSB003','3275030310990010','PTGS33')

select * from detail_pendaftaran

ALTER TABLE detail_pendaftaran


ADD CONSTRAINT FKpendaftaran FOREIGN KEY (kd_nsbh)
REFERENCES pendaftaran(kd_nsbh)

ALTER TABLE detail_pendaftaran


ADD CONSTRAINT FKidentitas FOREIGN KEY (nik)
REFERENCES identitas(nik)

ALTER TABLE detail_pendaftaran


ADD CONSTRAINT FKpetugas FOREIGN KEY (id_ptgs)
REFERENCES petugas(id_ptgs)

--- QUERY 1 TABLE ---


--- 1. Menampilkan ko_cif diganti 'Kode CIF',
--- no_cif diganti 'Nomor CIF',
--- no_sid diganti 'Nomor SID',
--- no_sub_rek diganti 'Nomor Sub Rekening'
--- id_rek diganti 'ID Rekening' dari Table data_rekening
--- Dimana no_sub_rek lebih dari '3000'
--- kd_cif diurutkan berdasarkan Descending, Lalu
--- Hitung Jumlah Record pada kd_cif,
--- Minimal pada no_sub_rek,
--- Maksimal pada no_sub_rek,
--- Hitung Jumlah dari no_sub_rek,

90
--- Hitung Rata-rata dari no_sub_rek dari Table data_rekening

SELECT kd_cif 'Kode CIF',


no_cif 'Nomor CIF',
no_sid 'Nomor SID',
no_sub_rek 'Nomor Sub Rekening',
id_rek 'ID Rekening'
FROM data_rekening
WHERE no_sub_rek > '3000'
ORDER BY kd_cif DESC

SELECT COUNT(kd_cif) 'Jumlah Record',


MIN(no_sub_rek) 'Minimal Sub Rekening',
MAX(no_sub_rek) 'Maksimal Sub Rekening',
SUM(no_sub_rek) 'Total Jumlah Sub Rekening',
AVG(no_sub_rek) 'Rata-Rata Sub Rekening'
FROM data_rekening

--- 2. Menampilkan nik diganti 'NIK',


--- nm_dpn diganti 'Nama Depan',
--- nm_blkg diganti 'Nama Belakang',
--- nm_alias diganti 'Nama Alias'
--- almt diganti 'Alamat',
--- rt diganti 'RT',
--- rw diganti 'RW',
--- kel diganti 'Kelurahan',
--- kota diganti 'Kota',
--- prov diganti 'Provinsi',
--- kdpos diganti 'Kode POS',
--- ngra diganti 'Negara',
--- id_j_klmn diganti 'ID Jenis Kelamin',
--- id_stat_nikah diganti 'ID Status Nikah',
--- tmpt_lhr diganti 'Tempat Lahir',
--- tgl_lhr diganti 'Tanggal Lahir',
--- nm_ibu_kdg diganti 'Nama Ibu Kandung' dari Table identitas
--- Dimana kdpos kurang dari '17500' dan nm_dpn huruf akhir H
--- Hitung Jumlah Record pada nik,
--- Dimana nm_dpn huruf akhir H dari Table identitas

SELECT nik 'NIK',


nm_dpn 'Nama Depan',
nm_blkg 'Nama Belakang',
nm_alias 'Nama Alias',
almt 'Alamat',
rt 'RT',
rw 'RW',
kel 'Kelurahan',
kec 'Kecamatan',
kota 'Kota',
prov 'Provinsi',
kdpos 'Kode POS',
ngra 'Negara',
id_j_klmn 'ID Jenis Kelamin',
id_stat_nikah 'ID Status Nikah',
tmpt_lhr 'Tempat Lahir',
tgl_lhr 'Tanggal Lahir',
nm_ibu_kdg 'Nama Ibu Kandung'
FROM identitas
WHERE kdpos < '17500' AND nm_dpn LIKE '%H'

91
SELECT COUNT(nik) 'Jumlah Record'
FROM identitas
WHERE nm_dpn LIKE '%H'

--- 3. Menampilkan id_ptgs diganti 'ID Petugas',


--- nm_ptgs diganti 'Nama Petugas' dari Table petugas
--- Dimana nm_ptgs terdapat huruf Y dan F,
--- nm_ptgs diurutkan berdasarkan Descending, Lalu
--- Hitung Jumlah Record nm_ptgs,
--- Dimana nm_ptgs terdapat huruf Y dan F dari Table petugas

SELECT id_ptgs 'ID Petugas',


nm_ptgs 'Nama Petugas'
FROM petugas
WHERE nm_ptgs LIKE '%[YF]%'
ORDER BY nm_ptgs DESC

SELECT COUNT(nm_ptgs) 'Jumlah Record'


FROM petugas
WHERE nm_ptgs LIKE '%[YF]%'

--- 4. Menampilkan id_pgnl diganti 'ID Pengenal',


--- jns_pgnl diganti 'Jenis Pengenal' dari Table pengenal
--- Dimana jns_pgnl huruf akhir P,
--- jns_pgnl diurutkan berdasarkan Ascending, Lalu
--- Hitung Jumlah Record jns_pgnl,
--- Dimana jns_pgnl huruf akhir P dari Table petugas

SELECT id_pgnl 'ID Pengenal',


jns_pgnl 'Jenis Pengenal'
FROM pengenal
WHERE jns_pgnl LIKE '%P'
ORDER BY jns_pgnl ASC

SELECT COUNT(jns_pgnl) 'Jumlah Record'


FROM pengenal
WHERE jns_pgnl LIKE '%P'

--- 5. Menampilkan id_npwp diganti 'ID Nomor Pokok Wajib Pajak',


--- no_npwp diganti 'Nomor Pokok Wajib Pajak' dari Table data_NPWP
--- Dimana no_npwp terdapat huruf 'D' dan no_npwp bukan 'TIDAK ADA',
Lalu
--- Hitung Jumlah Record no_npwp,
--- Dimana no_npwp terdapat huruf 'D' dan no_npwp bukan 'TIDAK ADA' dari
Table data_NPWP

SELECT id_npwp 'ID Nomor Pokok Wajib Pajak',


no_npwp 'Nomor Pokok Wajib Pajak'
FROM data_NPWP
WHERE no_npwp LIKE '%[D]%' AND no_npwp !='TIDAK ADA'

SELECT COUNT(no_npwp) 'Jumlah Record'


FROM data_NPWP
WHERE no_npwp LIKE '%[D]%' AND no_npwp !='TIDAK ADA'

92
--- 6. Menampilkan id_jp diganti 'ID Jenis Pendidikan',
--- nm_jp diganti 'Nama Jenis Pendidikan' dari Table jenis_pendidikan
--- Dimana nm_jp terdapat huruf depan 'S' dan nm_jp bukan huruf kedua M,
Lalu
--- Hitung Jumlah Record nm_jp,
--- Dimana nm_jp terdapat huruf depan 'S' dan nm_jp bukan huruf kedua M
dari Table jenis_pendidikan

SELECT id_jp 'ID Jenis Pendidikan',


nm_jp 'Nama Jenis Pendidikan'
FROM jenis_pendidikan
WHERE nm_jp LIKE 'S%' AND nm_jp LIKE '_M%'
ORDER BY nm_jp ASC

SELECT COUNT(nm_jp) 'Jumlah Record'


FROM jenis_pendidikan
WHERE nm_jp LIKE 'S%' AND nm_jp LIKE '_M%'

--- 7. Menampilkan id_jkrja diganti 'ID Jenis Pekerja',


--- nm_jkrja diganti 'Nama Jenis Pekerja' dari Table jenis_pekerja
--- Dimana id_jkrjanya antara JKRJ01 sampai JKRJ08,
--- dan nm_jkrja huruf depan P
--- Hitung Jumlah Record id_jkrja,
--- Dimana id_jkrjanya antara JKRJ01 sampai JKRJ08,
--- dan nm_jkrja huruf depan P dari Table jenis_pekerja

SELECT id_jkrja 'ID Jenis Pekerja',


nm_jkrja 'Nama Jenis Pekerja'
FROM jenis_pekerja
WHERE id_jkrja BETWEEN 'JKRJ01' AND 'JKRJ08' AND nm_jkrja LIKE 'P%'
ORDER BY id_jkrja DESC

SELECT COUNT(id_jkrja) 'Jumlah Record'


FROM jenis_pekerja
WHERE id_jkrja BETWEEN 'JKRJ01' AND 'JKRJ08' AND nm_jkrja LIKE 'P%'

--- 8. Menampilkan kd_dftr_ebank diganti 'Kode Daftar E-Bank',


--- dftr_ebank diganti 'Daftar E-Bank' dari Table keterangan_ebank
--- Dimana dftr_ebank terdapat ('TIDAK ADA' dan 'ADA') lalu dftr_ebank
terdapat huruf D,
--- kd_dftr_ebank diurutkan berdasarkan Descending, Lalu
--- Hitung Jumlah Record kd_dftr_ebank,
--- Dimana dftr_ebank terdapat ('TIDAK ADA' dan 'ADA') lalu dftr_ebank
terdapat huruf D dari Table keterangan_ebank

SELECT kd_dftr_ebank 'Kode Daftar E-Bank',


dftr_ebank 'Daftar E-Bank'
FROM keterangan_ebank
WHERE dftr_ebank IN ('ADA','TIDAK ADA') AND dftr_ebank LIKE '%D%'
ORDER BY kd_dftr_ebank DESC

SELECT COUNT(kd_dftr_ebank) 'Jumlah Record'


FROM keterangan_ebank
WHERE dftr_ebank IN ('ADA','TIDAK ADA') AND dftr_ebank LIKE '%D%'

--- 9. Menampilkan id_j_klmn diganti 'ID Jenis Pekerja',


--- j_klmn diganti 'Nama Jenis Pekerja' dari Table jenis_kelamin

93
--- Dimana j_klmn bukan 'PRIA'
--- Hitung Jumlah Record id_j_klmn,
--- Dimana j_klmn bukan 'PRIA' dari Table jenis_kelamin

SELECT id_j_klmn 'ID Jenis Kelamin',


j_klmn 'Jenis Kelamin'
FROM jenis_kelamin
WHERE j_klmn NOT IN ('PRIA')

SELECT COUNT(id_j_klmn)'Jumlah Record'


FROM jenis_kelamin
WHERE j_klmn NOT IN ('PRIA')

--- 10. Menampilkan id_rek diganti 'ID Rekening',


--- no_rek diganti 'Nomor Rekening' dari Table rekening
--- Dimana no_rek terdapat huruf R,
--- id_rek diurutkan berdasarkan Descending
--- Hitung Jumlah Record id_rek,
--- Minimal pada no_rek,
--- Maksimal pada no_rek dari Table rekening

SELECT id_rek 'ID Rekening',


no_rek 'Nomor Rekening'
FROM rekening
WHERE id_rek LIKE '%R%'
ORDER BY id_rek DESC

SELECT COUNT(id_rek) 'Jumlah Record',


MIN(no_rek) 'Minimal Nomor Rekening',
MAX(no_rek) 'Maksimal Nomor Rekening'
FROM rekening

--- 11. Menampilkan id_stat_nikah diganti 'ID Status Nikah',


--- stat_nikah diganti 'Status Nikah' dari Table jenis_status
--- Dimana stat_nikah terdapat huruf A dan stat_nikah bukan
'JANDA/DUDA',
--- stat_nikah diurutkan berdasarkan Ascending
--- Hitung Jumlah Record id_stat_nikah,
--- Dimana stat_nikah terdapat huruf A dan stat_nikah bukan
'JANDA/DUDA' dari Table jenis_status

SELECT id_stat_nikah 'ID Status Nikah',


stat_nikah 'Status Nikah'
FROM jenis_status
WHERE stat_nikah LIKE '%A%' AND stat_nikah NOT IN ('JANDA/DUDA')
ORDER BY stat_nikah ASC

SELECT COUNT(id_stat_nikah)'Jumlah Record'


FROM jenis_status
WHERE stat_nikah LIKE '%A%' AND stat_nikah NOT IN ('JANDA/DUDA')

--- 12. Menampilkan id_stat_tgl diganti 'ID Status Tinggal',


--- nm_stat_tgl diganti 'Nama Status Tinggal' dari Table status_tinggal
--- Dimana id_stat_tgl antara STG01 dan STG05,
--- dan nm_stat_tgl huruf depan M,
--- dan nm_stat_tgl huruf ke-7 S,
--- id_stat_tgl diurutkan berdasarkan Descending

94
--- Hitung Jumlah Record id_stat_tgl,
--- Dimana id_stat_tgl antara STG01 dan STG05,
--- dan nm_stat_tgl huruf depan M,
--- dan nm_stat_tgl huruf ke-7 S dari Table status_tinggal

SELECT id_stat_tgl 'ID Status Tinggal',


nm_stat_tgl 'Nama Status Tinggal'
FROM status_tinggal
WHERE id_stat_tgl BETWEEN 'STG01' AND 'STG05' AND nm_stat_tgl LIKE 'M%' AND
nm_stat_tgl LIKE '______S%'
ORDER BY id_stat_tgl DESC

SELECT COUNT(id_stat_tgl)'Jumlah Record'


FROM status_tinggal
WHERE id_stat_tgl BETWEEN 'STG01' AND 'STG05' AND nm_stat_tgl LIKE 'M%' AND
nm_stat_tgl LIKE '______S%'

--- 13. Menampilkan kd_nsbh diganti 'Kode Nasabah',


--- kd_cif diganti 'Kode CIF',
--- kd_dftr_ebank diganti 'Kode Daftar E-Bank',
--- id_stat_tgl diganti 'ID Status Tinggal'
--- id_jkrja diganti 'ID Jenis Pekerja',
--- id_jp diganti 'ID Jenis Pendidikan',
--- id_npwp diganti 'ID Nomor Pokok Wajib Pajak',
--- id_pgnl diganti 'ID Pengenal',
--- no_telp diganti 'Nomor Telepon',
--- no_hp diganti 'Nomor Handphone', dari Table pendaftaran
--- Dimana kd_nsbh antara NSB001 dan NSB003,
--- kd_nsbh diurutkan berdasarkan Descending, Lalu
--- Hitung Jumlah Record pada kd_nsbh,
--- Minimal pada no_telp,
--- Maksimal pada no_telp,
--- Dimana kd_nsbh antara NSB001 dan NSB003 dari Table pendaftaran

SELECT kd_nsbh 'Kode Nasabah',


kd_cif 'Kode CIF',
kd_dftr_ebank 'Kode Daftar E-Bank',
id_stat_tgl 'ID Status Tinggal',
id_jkrja 'ID Jenis Pekerja',
id_jp 'ID Jenis Pendidikan',
id_npwp 'ID Nomor Pokok Wajib Pajak',
id_pgnl 'ID Pengenal',
no_telp 'Nomor Telepon',
no_hp 'Nomor Handphone'
FROM pendaftaran
WHERE kd_nsbh BETWEEN 'NSB001' AND 'NSB003'
ORDER BY kd_nsbh DESC

SELECT COUNT(kd_nsbh)'Jumlah Record',


MIN(no_telp)'Minimal Nomor Telp',
MAX(no_telp)'Maksimal Nomor Telp'
FROM pendaftaran
WHERE kd_nsbh BETWEEN 'NSB001' AND 'NSB003'

--- 14. Menampilkan kd_nsbh diganti 'Kode Nasabah',


--- nik diganti 'NIK',
--- id_ptgs diganti 'ID Petugas' dari Table detail_pendaftaran
--- Dimana nik terdapat angka 0 dari angka ketiga dari belakang,

95
--- dan id_ptgs bukan antara 'PTGS11' dan 'PTGS22'
--- Hitung Jumlah Record kd_nsbh,
--- Dimana nik terdapat angka 0 dari angka ketiga dari belakang dari
Table detail_pendaftaran

SELECT kd_nsbh 'Kode Nasabah',


nik 'NIK',
id_ptgs 'ID Petugas'
FROM detail_pendaftaran
WHERE nik LIKE '%0__' AND id_ptgs NOT BETWEEN 'PTGS11' AND 'PTGS22'

SELECT COUNT(kd_nsbh)'Jumlah Record'


FROM detail_pendaftaran
WHERE nik LIKE '%0__' AND id_ptgs NOT BETWEEN 'PTGS11' AND 'PTGS22'

--- 15. Menampilkan kd_nsbh diganti 'Kode Nasabah',


--- kd_cif diganti 'Kode CIF',
--- kd_dftr_ebank diganti 'Kode Daftar E-Bank',
--- id_stat_tgl diganti 'ID Status Tinggal'
--- id_jkrja diganti 'ID Jenis Pekerja',
--- id_jp diganti 'ID Jenis Pendidikan',
--- id_npwp diganti 'ID Nomor Pokok Wajib Pajak',
--- id_pgnl diganti 'ID Pengenal',
--- no_telp diganti 'Nomor Telepon',
--- no_hp diganti 'Nomor Handphone', dari Table pendaftaran
--- Dimana kd_nsbh terdapat angka 0 dari angka kedua dari belakang
--- dan id_jkrja didalamnya ada 'JKRJ01' dan 'JKRJ02'
--- dan no_telp terdapat angka 5, Lalu
--- Hitung Jumlah Record pada kd_nsbh,
--- Minimal pada no_hp,
--- Maksimal pada no_hp,
--- Dimana kd_nsbh terdapat angka 0 dari angka kedua dari belakang
--- dan id_jkrja didalamnya ada 'JKRJ01' dan 'JKRJ02'
--- dan no_telp terdapat angka 5 dari Table pendaftaran

SELECT kd_nsbh 'Kode Nasabah',


kd_cif 'Kode CIF',
kd_dftr_ebank 'Kode Daftar E-Bank',
id_stat_tgl 'ID Status Tinggal',
id_jkrja 'ID Jenis Pekerja',
id_jp 'ID Jenis Pendidikan',
id_npwp 'ID Nomor Pokok Wajib Pajak',
id_pgnl 'ID Pengenal',
no_telp 'Nomor Telepon',
no_hp 'Nomor Handphone'
FROM pendaftaran
WHERE kd_nsbh LIKE '%0_' AND id_jkrja IN ('JKRJ01','JKRJ02') AND no_telp
LIKE '%5%'

SELECT COUNT(kd_nsbh)'Jumlah Record',


MIN(no_hp)'Minimal Nomor Telp',
MAX(no_hp)'Maksimal Nomor Telp'
FROM pendaftaran
WHERE kd_nsbh LIKE '%0_' AND id_jkrja IN ('JKRJ01','JKRJ02') AND no_telp
LIKE '%5%'

--- QUERY 2 TABLE ---


--- 1. Menampilkan kd_nsbh diganti 'Kode Nasabah',
--- kd_cif diganti 'Kode CIF',

96
--- kd_dftr_ebank diganti 'Kode Daftar E-Bank',
--- id_stat_tgl diganti 'ID Status Tinggal',
--- nm_stat_tgl diganti 'Nama Status Tinggal',
--- id_jkrja diganti 'ID Jenis Pekerja',
--- id_jp diganti 'ID Jenis Pendidikan',
--- id_npwp diganti 'ID Nomor Pokok Wajib Pajak',
--- id_pgnl diganti 'ID Pengenal',
--- no_telp diganti 'Nomor Telepon',
--- no_hp diganti 'Nomor Handphone', dari Table pendaftaran JOIN Table
status_tinggal
--- DI pendaftaran.id_stat_tgl SAMA status_tinggal.id_stat_tgl
--- Dimana kd_nsbh memiliki huruf depan 'N',
--- Dan nm_stat_tgl pada 'MILIK SENDIRI',
--- Dan no_telp memiliki angka '5'

SELECT kd_nsbh 'Kode Nasabah',


kd_cif 'Kode CIF',
kd_dftr_ebank 'Kode Daftar E-Bank',
status_tinggal.id_stat_tgl 'ID Status Tinggal',
nm_stat_tgl 'Nama Status Tinggal',
id_jkrja 'ID Jenis Pekerja',
id_jp 'ID Jenis Pendidikan',
id_npwp 'ID Nomor Pokok Wajib Pajak',
id_pgnl 'ID Pengenal',
no_telp 'Nomor Telepon',
no_hp 'Nomor Handphone'
FROM pendaftaran INNER JOIN status_tinggal ON
pendaftaran.id_stat_tgl = status_tinggal.id_stat_tgl
WHERE kd_nsbh LIKE 'N%' AND nm_stat_tgl IN ('MILIK SENDIRI') AND no_telp
LIKE '%5%'

--- 2. Menampilkan ko_cif diganti 'Kode CIF',


--- no_cif diganti 'Nomor CIF',
--- no_sid diganti 'Nomor SID',
--- no_sub_rek diganti 'Nomor Sub Rekening',
--- Kolom Baru no_sub_rek+5000 diganti 'Nomor Sub Rekening + 5000',
--- id_rek diganti 'ID Rekening',
--- no_rek diganti 'Nomor Rekening' dari Table data_rekening JOIN Table
rekening
--- DI data_rekening.id_rek SAMA rekening.id_rek
--- Dimana kd_cif pada ('CIF001','CIF003')
--- Hitung jumlah record kd_cif,
--- Maksimal no_rek,
--- Minimal no_rek

SELECT kd_cif 'Kode CIF',


no_cif 'Nomor CIF',
no_sid 'Nomor SID',
no_sub_rek 'Nomor Sub Rekening',
no_sub_rek+5000 'Nomor Sub Rekening + 5000',
rekening.id_rek 'ID Rekening',
no_rek 'Nomor Rekening'
FROM data_rekening INNER JOIN rekening ON
data_rekening.id_rek = rekening.id_rek
WHERE kd_cif IN ('CIF001','CIF003')
COMPUTE COUNT(kd_cif),
MAX(no_rek),
MIN(no_rek)

97
--- 3. Menampilkan nik diganti 'NIK',
--- nm_dpn diganti 'Nama Depan',
--- nm_blkg diganti 'Nama Belakang',
--- nm_alias diganti 'Nama Alias'
--- almt diganti 'Alamat',
--- rt diganti 'RT',
--- rw diganti 'RW',
--- kel diganti 'Kelurahan',
--- kota diganti 'Kota',
--- prov diganti 'Provinsi',
--- kdpos diganti 'Kode POS',
--- ngra diganti 'Negara',
--- id_j_klmn diganti 'ID Jenis Kelamin',
--- id_stat_nikah diganti 'ID Status Nikah',
--- stat_nikah diganti 'Status Nikah',
--- tmpt_lhr diganti 'Tempat Lahir',
--- tgl_lhr diganti 'Tanggal Lahir',
--- nm_ibu_kdg diganti 'Nama Ibu Kandung' dari Table identitas JOIN
Table jenis_status
--- DI identitas.id_stat_nikah SAMA jenis_status.id_stat_nikah
--- Dimana kdpos Bukan Diantara '17500' Dan '17600' dan almt Bukan pada
('JL.BELUT')
--- Hitung jumlah record nik

SELECT nik 'NIK',


nm_dpn 'Nama Depan',
nm_blkg 'Nama Belakang',
nm_alias 'Nama Alias',
almt 'Alamat',
rt 'RT',
rw 'RW',
kel 'Kelurahan',
kec 'Kecamatan',
kota 'Kota',
prov 'Provinsi',
kdpos 'Kode POS',
ngra 'Negara',
id_j_klmn 'ID Jenis Kelamin',
jenis_status.id_stat_nikah 'ID Status Nikah',
stat_nikah 'Status Nikah',
tmpt_lhr 'Tempat Lahir',
tgl_lhr 'Tanggal Lahir',
nm_ibu_kdg 'Nama Ibu Kandung'
FROM identitas INNER JOIN jenis_status ON
identitas.id_stat_nikah = jenis_status.id_stat_nikah
WHERE kdpos NOT BETWEEN '17500' AND '17600' AND almt NOT IN ('JL.BELUT')
COMPUTE COUNT(nik)

--- 4. Menampilkan kd_nsbh diganti 'Kode Nasabah',


--- nik diganti 'NIK',
--- id_ptgs diganti 'ID Petugas',
--- nm_ptgs diganti 'Nama Petugas' dari Table detail_pendaftaran JOIN
Table petugas
--- DI detail_pendaftaran.id_ptgs SAMA petugas.id_ptgs
--- Dimana kdpos memiliki 3 huruf depan 'NSB' Dan nik memiliki 2 angka
dibelakang '1'
--- Dan nm_ptgs tidak memiliki unsur huruf 'F'
--- Hitung jumlah record kd_nsbh

98
SELECT kd_nsbh 'Kode Nasabah',
nik 'NIK',
petugas.id_ptgs 'ID Petugas',
nm_ptgs 'Nama Petugas'
FROM detail_pendaftaran INNER JOIN petugas ON
detail_pendaftaran.id_ptgs = petugas.id_ptgs
WHERE kd_nsbh LIKE 'NSB%' AND nik LIKE '%1_' AND nm_ptgs NOT LIKE '%F%'
COMPUTE COUNT (kd_nsbh)

--- 5. Menampilkan kd_nsbh diganti 'Kode Nasabah',


--- kd_cif diganti 'Kode CIF',
--- no_cif diganti 'Nomor CIF',
--- no_sid diganti 'Nomor SID',
--- no_sub_rek diganti 'Nomor Sub Rekening',
--- id_rek diganti 'ID Rekening',
--- no_telp diganti 'Nomor Telepon',
--- no_hp diganti 'Nomor Handphone', dari Table pendaftaran JOIN Table
data_rekening
--- DI pendaftaran.kd_cif SAMA data_rekening.kd_cif
--- Dimana np_cif memiliki 3 angka dibelakang '0' Dan no_sub_rek kurang
dari sama dengan 9000
--- Hitung jumlah record kd_nsbh,
--- Maksimal(no_sub_rek),
--- Minimal(no_sub_rek),
--- Penjumlahan(no_sub_rek),
--- Rata-rata(no_sub_rek)

SELECT kd_nsbh 'Kode Nasabah',


data_rekening.kd_cif 'Kode CIF',
no_cif 'Nomor CIF',
no_sid 'Nomor SID',
no_sub_rek 'Nomor Sub Rekening',
id_rek 'ID Rekening',
no_telp 'Nomor Telepon',
no_hp 'Nomor Handphone'
FROM pendaftaran INNER JOIN data_rekening ON
pendaftaran.kd_cif = data_rekening.kd_cif
WHERE no_cif LIKE '%0__' AND no_sub_rek <= 9000
COMPUTE COUNT(kd_nsbh),
MAX(no_sub_rek),
MIN(no_sub_rek),
SUM(no_sub_rek),
AVG(no_sub_rek)

--- 6. Menampilkan nik diganti 'NIK',


--- nm_dpn diganti 'Nama Depan',
--- nm_blkg diganti 'Nama Belakang',
--- nm_alias diganti 'Nama Alias'
--- almt diganti 'Alamat',
--- rt diganti 'RT',
--- rw diganti 'RW',
--- kel diganti 'Kelurahan',
--- kota diganti 'Kota',
--- prov diganti 'Provinsi',
--- kdpos diganti 'Kode POS',
--- ngra diganti 'Negara',
--- id_j_klmn diganti 'ID Jenis Kelamin',

99
--- j_klmn diganti 'Jenis Kelamin' dari Table identitas JOIN Table
jenis_kelamin
--- DI identitas.id_j_klmn SAMA jenis_kelamin.id_j_klmn
--- Dimana kec Pada ('CIBITUNG','BEKASI SELATAN') Dan kel Pada
('WANAJAYA','KAYURINGIN')
--- Dan j_klmn Pada ('PRIA')
--- Hitung jumlah record nik

SELECT nik 'NIK',


nm_dpn 'Nama Depan',
nm_blkg 'Nama Belakang',
nm_alias 'Nama Alias',
almt 'Alamat',
rt 'RT',
rw 'RW',
kel 'Kelurahan',
kec 'Kecamatan',
kota 'Kota',
prov 'Provinsi',
kdpos 'Kode POS',
ngra 'Negara',
jenis_kelamin.id_j_klmn 'ID Jenis Kelamin',
j_klmn 'Jenis Kelamin'
FROM identitas INNER JOIN jenis_kelamin ON
identitas.id_j_klmn = jenis_kelamin.id_j_klmn
WHERE kec IN ('CIBITUNG','BEKASI SELATAN') AND kel IN
('WANAJAYA','KAYURINGIN')
AND j_klmn IN ('PRIA')
COMPUTE COUNT(nik)

--- 7. Menampilkan kd_nsbh diganti 'Kode Nasabah',


--- kd_cif diganti 'Kode CIF',
--- kd_dftr_ebank diganti 'Kode Daftar E-Bank',
--- dftr_ebank diganti 'Daftar E-Bank',
--- no_telp diganti 'Nomor Telepon',
--- no_hp diganti 'Nomor Handphone', dari Table pendaftaran JOIN Table
keterangan_ebank
--- DI pendaftaran.kd_dftr_ebank SAMA keterangan_ebank.kd_dftr_ebank
--- Di mana no_telp memiliki angka '5'
--- Urutkan kd_nsbh secara Descending,
--- Hitung jumlah record kd_nsbh,
--- Maksimal no_hp,
--- Minimal no_hp

SELECT kd_nsbh 'Kode Nasabah',


kd_cif 'Kode CIF',
keterangan_ebank.kd_dftr_ebank 'Kode Daftar E-Bank',
dftr_ebank 'Daftar E-Bank',
no_telp 'Nomor Telepon',
no_hp 'Nomor Handphone'
FROM pendaftaran INNER JOIN keterangan_ebank ON
pendaftaran.kd_dftr_ebank = keterangan_ebank.kd_dftr_ebank
WHERE no_telp LIKE '%5%'
ORDER BY kd_nsbh DESC
COMPUTE COUNT(kd_nsbh),
MAX(no_hp),
MIN(no_hp)

--- 8. Menampilkan kd_nsbh diganti 'Kode Nasabah',

100
--- kd_cif diganti 'Kode CIF',
--- id_pgnl diganti 'ID Pengenal',
--- jns_pgnl diganti 'Jenis Pengenal',
--- no_telp diganti 'Nomor Telepon',
--- no_hp diganti 'Nomor Handphone', dari Table pendaftaran JOIN Table
pengenal
--- DI pendaftaran.id_pgnl SAMA pengenal.id_pgnl
--- Di mana kd_cif lebih besar sama dengan 'CIF001' Dan no_hp 2 angka
dibelakang '8'
--- Dan no_hp 3 angka didepan '1'
--- Hitung jumlah record kd_cif

SELECT kd_nsbh 'Kode Nasabah',


kd_cif 'Kode CIF',
kd_dftr_ebank 'Kode Daftar E-Bank',
pengenal.id_pgnl 'ID Pengenal',
jns_pgnl 'Jenis Pengenal',
no_telp 'Nomor Telepon',
no_hp 'Nomor Handphone'
FROM pendaftaran INNER JOIN pengenal ON
pendaftaran.id_pgnl = pengenal.id_pgnl
WHERE kd_cif >= 'CIF001' AND no_hp LIKE '%8_' AND no_hp LIKE '__1%'
COMPUTE COUNT(kd_cif)

--- 9. Menampilkan kd_nsbh diganti 'Kode Nasabah',


--- kd_cif diganti 'Kode CIF',
--- id_jp diganti 'ID Jenis Pendidikan',
--- nm_jp diganti 'Nama Jenis Pendidikan',
--- no_telp diganti 'Nomor Telepon',
--- no_hp diganti 'Nomor Handphone', dari Table pendaftaran JOIN Table
jenis_pendidikan
--- DI pendaftaran.id_jp SAMA jenis_pendidikan.id_jp
--- Di mana id_jp Diatara 'JP06' Dan 'JP07' Dan no_telp memiliki angka
'2'
--- Dan no_hp 2 angka dibelakang '4'
--- Hitung jumlah record kd_nsbh

SELECT kd_nsbh 'Kode Nasabah',


kd_cif 'Kode CIF',
jenis_pendidikan.id_jp 'ID Jenis Pendidikan',
nm_jp 'Nama Jenis Pendidikan',
no_telp 'Nomor Telepon',
no_hp 'Nomor Handphone'
FROM pendaftaran INNER JOIN jenis_pendidikan ON
pendaftaran.id_jp = jenis_pendidikan.id_jp
WHERE jenis_pendidikan.id_jp BETWEEN 'JP06' AND 'JP07' AND no_telp LIKE
'%2%'
AND no_hp LIKE '%4_'
COMPUTE COUNT(kd_nsbh)

--- 10. Menampilkan kd_nsbh diganti 'Kode Nasabah',


--- kd_cif diganti 'Kode CIF',
--- id_npwp diganti 'ID Nomor Pokok Wajib Pajak',
--- no_npwp diganti 'Nomor Pokok Wajib Pajak',
--- no_telp diganti 'Nomor Telepon',

101
--- no_hp diganti 'Nomor Handphone', dari Table pendaftaran JOIN Table
data_NPWP
--- DI pendaftaran.id_npwp SAMA data_NPWP.id_npwp
--- Di mana id_npwp Diatara 'ID01' Dan 'ID02' Dan no_telp memiliki
angka '2'
--- Dan no_hp 2 angka dibelakang '4'
--- Hitung jumlah record kd_nsbh

SELECT kd_nsbh 'Kode Nasabah',


kd_cif 'Kode CIF',
data_NPWP.id_npwp 'ID Nomor Pegawai Wajib Pajak',
no_npwp 'Nomor Pegawai Wajib Pajak',
no_telp 'Nomor Telepon',
no_hp 'Nomor Handphone'
FROM pendaftaran INNER JOIN data_NPWP ON
pendaftaran.id_npwp = data_NPWP.id_npwp
WHERE data_NPWP.id_npwp BETWEEN 'ID01' AND 'ID02' AND no_telp LIKE '%2%'
AND no_hp LIKE '%4_'
COMPUTE COUNT(kd_nsbh)

--- QUERY 3-4 TABLE ---


--- 10. Menampilkan kd_nsbh diganti 'Kode Nasabah',
--- kd_cif diganti 'Kode CIF',
--- kd_dftr_ebank diganti 'Kode Daftar E-Bank',
--- id_jp diganti 'ID Jenis Pendidikan',
--- id_pgnl diganti 'ID Pengenal',
--- jns_pgnl diganti 'Jenis Pengenal',
--- no_telp diganti 'Nomor Telepon',
--- no_hp diganti 'Nomor Handphone', dari Table pendaftaran JOIN
Table pengenal
--- DI pendaftaran.id_pgnl SAMA pengenal.id_pgnl
--- Di mana id pengenal Diantara 'PGNL01' dan 'PGNL03'
--- nama pendidikan mengandung angka '2'
--- dan menampilkan 5 angka awal no telp
--- Hitung jumlah record kd_nsbh

select * from pendaftaran


SELECT kd_nsbh 'Kode Nasabah',
kd_cif 'Kode CIF',
kd_dftr_ebank 'Kode Daftar E-Bank',
id_jp 'ID Jenis Pendidikan',
pengenal.jns_pgnl 'Jenis Pengenal',
no_telp 'Nomor Telepon',
no_hp 'Nomor Handphone'
FROM pendaftaran INNER JOIN data_rekening ON
pendaftaran.kd_cif = data_rekening.kd_cif INNER JOIN
keterangan_ebank ON
pendaftaran.kd_dftr_ebank = keterangan_ebank.kd_dftr_ebank INNER
JOIN jenis_pendidikan ON
pendaftaran.id_jp = jenis_pendidikan.id_jp INNER JOIN pengenal ON
pendaftaran.id_pgnl = pengenal.id_pgnl
WHERE pengenal.id.pgnl BETWEEN 'PGNL01' AND 'PGNL03' AND no_telp LIKE '%2%'
AND no_hp LIKE '%4_'
COMPUTE COUNT(kd_nsbh)

SELECT * FROM PENGENAL


WHERE jns_pgnl <> 'KTP'

102
select * from jenis_pendidikan
where nm_jp like '%d%'
compute count (id_jp)

103

Anda mungkin juga menyukai