0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan47 halaman

La 02 Eclipse

Laporan ini merupakan hasil final project kelompok 2 dalam mata kuliah Perancangan Basis Data, yang bertujuan untuk merancang dan mengembangkan sistem basis data untuk pengelolaan informasi pelanggan, produk, dan transaksi. Proyek ini menggunakan model ER dan RDBMS MySQL untuk memastikan efisiensi dan integritas data. Laporan ini juga mencakup metodologi perancangan, pengembangan, dan pemeliharaan basis data yang sistematis.

Diunggah oleh

marsay.23108
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan47 halaman

La 02 Eclipse

Laporan ini merupakan hasil final project kelompok 2 dalam mata kuliah Perancangan Basis Data, yang bertujuan untuk merancang dan mengembangkan sistem basis data untuk pengelolaan informasi pelanggan, produk, dan transaksi. Proyek ini menggunakan model ER dan RDBMS MySQL untuk memastikan efisiensi dan integritas data. Laporan ini juga mencakup metodologi perancangan, pengembangan, dan pemeliharaan basis data yang sistematis.

Diunggah oleh

marsay.23108
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 47

LAPORAN FINAL PROJECT

PERANCANGAN BASIS DATA

Dosen Pengampu:
Riska Dhenabayu, S. Kom., M. M.

Disusun Oleh:
Kelompok 2 – Bisnis Digital 2023 J
Marsa Azrani 23081494307
Puspa Ferinda 23081494056
Revalina Renata 23081494232
Marsay Zikra Ramadhan 23081494108
Ni Luh Kadek Tri Sasi 23081494011
Farhan Abqori Maulana Soma 23081494381

PROGRAM STUDI BISNIS DIGITAL


FAKULTAS EKONOMIKA DAN BISNIS
UNIVERSITAS NEGERI SURABAYA
2024
KATA PENGANTAR

Puji syukur ke hadirat Tuhan Yang Maha Esa kami panjatkan atas segala limpahan rahmat
dan karunia-Nya, sehingga kami dapat menyelesaikan laporan ini dengan baik dan tepat waktu.
Laporan ini disusun sebagai salah satu bentuk penilaian Ujian Akhir Semester (UAS) pada mata
kuliah Perancangan Basis Data yang diampu dalam program studi Bisnis Digital, kelas 2023J.

Laporan ini merupakan hasil kerja keras, kolaborasi, dan pembelajaran dari seluruh
anggota Kelompok 2 dalam memahami dan mengaplikasikan konsep-konsep yang telah
diajarkan selama perkuliahan. Melalui proses yang melibatkan diskusi, analisis, dan
implementasi, kami telah belajar tentang pentingnya perancangan basis data sebagai fondasi
utama dalam pengelolaan sistem informasi yang efisien dan terstruktur.

Kami menyadari bahwa dalam penyusunan laporan ini masih terdapat kekurangan, baik
dari segi isi maupun penyajian. Namun, laporan ini telah kami susun dengan sebaik-baiknya
berdasarkan pemahaman dan referensi yang kami pelajari. Oleh karena itu, kami sangat
mengharapkan kritik dan saran yang membangun untuk menyempurnakan karya kami di masa
mendatang.

Pada kesempatan ini, kami ingin menyampaikan rasa terima kasih yang sebesar-besarnya
kepada dosen pengampu mata kuliah Perancangan Basis Data ibu Riska Dhenabayu, S. Kom.,
M. M., yang telah memberikan bimbingan dan ilmu selama perkuliahan berlangsung. Ucapan
terima kasih juga kami sampaikan kepada teman-teman di kelas 2023J serta pihak-pihak lain
yang telah membantu, baik secara langsung maupun tidak langsung, dalam menyelesaikan
laporan ini.

Akhir kata, kami berharap laporan ini dapat memberikan manfaat, baik bagi kami sebagai
penyusun, maupun bagi pembaca lainnya dalam memperluas wawasan mengenai basis data.

Surabaya, 2 Januari 2024

Kelompok 2
Bisnis Digital 2023

2
DAFTAR ISI

BAB I...............................................................................................................................................1
PENDAHULUAN..................................................................................................................... 1
BAB II............................................................................................................................................. 2
LANDASAN TEORI DAN METODOLOGI........................................................................... 2
2.1 Dasar Teori Perancangan dan Pengembangan Basis Data............................................. 2
2.2 Metodologi Perancangan dan Pengembangan Basis Data............................................. 4
BAB III............................................................................................................................................6
PERANCANGAN BASIS DATA..............................................................................................6
3.1 ER Diagram................................................................................................................... 6
3.2 ER Table.........................................................................................................................7
3.3 Normalisasi 1NF, 2NF, 3NF.......................................................................................... 8
3.3.1 Normalisasi 1 NF.................................................................................................. 9
3.3.2 Normalisasi 2 NF................................................................................................ 10
3.3.3 Normalisasi 3 NF................................................................................................ 11
BAB IV..........................................................................................................................................13
PENGEMBANGAN BASIS DATA........................................................................................ 13
4.1 Pembuatan Database di MySQL..................................................................................13
4.2 Create Database........................................................................................................... 13
4.3 Create Table................................................................................................................. 14
4.4 Alter Tabel................................................................................................................... 17
4.5 Constraints................................................................................................................... 20
4.6 Insert Into..................................................................................................................... 23
4.7 Create View..................................................................................................................24
BAB V........................................................................................................................................... 26
PENGOLAHAN DAN ANALISIS DATA.............................................................................. 26
5.1 Data Selection.............................................................................................................. 26
5.2 Link File.......................................................................................................................40

3
4
BAB I

PENDAHULUAN

Dalam era digital yang terus berkembang, pengelolaan data yang efisien menjadi sangat
penting bagi perusahaan atau organisasi. Banyak organisasi menghadapi tantangan dalam
mengelola informasi yang terus berkembang, termasuk data pelanggan, transaksi, dan produk.
Ketidakmampuan untuk mengelola data dengan baik dapat mengakibatkan kesalahan dalam
pengambilan keputusan, kehilangan peluang bisnis, dan penurunan kepuasan pelanggan. Oleh
karena itu, diperlukan sebuah system basis data yang terstruktur untuk menyimpan serta
mengelola datta dan informasi secara optimal.

Project basis data ini bertujuan untuk merancang da mengembangkan sistem basis data
yang dapat menyimpan informasi mengenai pelanggan, produk, dan transaksi. System ini akan
menggunakan model ER untuk memvisualisasikan hubungan antar entitas dalam basis data.
Dengan menggunakan RDBMS seperti MYSQL, system ini akan memungkinkan pengguna
untuk melakukan operasi dasar seperti penyimpanan, pengambilan, dan manipulasi data melalui
SQL.

Tujuan utama dari perancangan dan pengembangan basis data ini adalah untuk
meningkatkan efisiensi pengelolaan data, menjamin integritas dan keamanan data, mendukung
analisis data yang lebih baik untuk pengambilan keputusan yeng lebih akurat, serta memfasilitasi
pemeliharaan dan pemulihan data agar system tetap dapat berfungsi dengan baik meskipun
terjadi gangguan. Cakupan dari project ini meliputii pengumpulan kebutuhan dari pemangku
kepentingan untuk memahami spesifikasi system yang diinginkan dan pengujian system untuk
memastikan bahwa semua fungsi berjalan sesuai dengan kebutuhan yang telah ditentukan, serta
pemeliharaan system termasuk monitoring dan backup data secara berkala. Dengan demikian,
project basis data ini diharapkan dapat memberikan yang efektif dalam pengelolaan data.

1
BAB II

LANDASAN TEORI DAN METODOLOGI

2.1 Dasar Teori Perancangan dan Pengembangan Basis Data

Dalam perancangan dan pengembangan basis data, beberapa konsep dasar yang harus dipahami
meliputi Entity-Relationship (ER) Model, Structured Query Language (SQL), dan Relational
Database Management System (RDBMS) seperti MySQL. Konsep-konsep ini menjadi fondasi
dalam memastikan desain basis data yang efektif dan efisien.

Entity-Relationship (ER) Model

Entity-Relationship (ER) Model adalah metode perancangan basis data yang digunakan untuk
memvisualisasikan hubungan antar entitas dalam sistem. Model ini sangat penting untuk
memahami dan memetakan data secara konseptual sebelum implementasi. Komponen utama
dalam ER Model meliputi:

1. Entitas:
○ Entitas adalah objek nyata atau konsep yang datanya ingin disimpan, misalnya
"Pelajar", "Kursus", atau "Dosen".
○ Entitas diklasifikasikan menjadi entitas kuat (strong entity) yang memiliki kunci
utama (primary key) dan entitas lemah (weak entity) yang bergantung pada
entitas lain untuk identifikasinya.
2. Atribut:
○ Atribut adalah properti atau karakteristik dari entitas atau relasi. Contoh: "Nama",
"Alamat", "Tanggal Lahir".
○ Jenis-jenis atribut:
■ Atribut Sederhana: Tidak dapat dipecah lagi (contoh: Nama).
■ Atribut Komposit: Terdiri dari beberapa bagian (contoh: Alamat yang
terdiri dari Jalan, Kota, dan Kode Pos).
■ Atribut Multivalued: Memiliki lebih dari satu nilai untuk satu entitas
(contoh: Nomor Telepon).
■ Atribut Derived: Nilainya dihitung dari atribut lain (contoh: Umur
dihitung dari Tanggal Lahir).
3. Relasi:
○ Relasi adalah hubungan antara dua atau lebih entitas. Contoh: "Mengambil" yang
menghubungkan "Pelajar" dan "Kursus".

2
○ Relasi memiliki properti seperti kardinalitas (one-to-one, one-to-many,
many-to-many) dan partisipasi (penuh atau parsial).
4. Diagram ER: Diagram ER digunakan untuk memvisualisasikan elemen-elemen di atas.
Komponen diagram mencakup persegi panjang untuk entitas, elips untuk atribut, belah
ketupat untuk relasi, dan garis untuk menghubungkan elemen-elemen tersebut. Contoh
sederhana:
○ Entitas "Mahasiswa" dengan atribut "NIM", "Nama", "Jurusan".
○ Entitas "Mata Kuliah" dengan atribut "KodeMK", "NamaMK", "SKS".
○ Relasi "Mengambil" dengan atribut "Semester".

Structured Query Language (SQL)

SQL adalah bahasa standar yang digunakan untuk mengelola data dalam basis data relasional.
Fungsi utamanya mencakup:

1. Data Definition Language (DDL):


○ CREATE: Membuat struktur basis data (tabel, skema).
○ ALTER: Mengubah struktur tabel (menambah kolom, mengubah tipe data).
○ DROP: Menghapus elemen basis data (tabel, skema).
2. Data Manipulation Language (DML):
○ SELECT: Mengambil data dari tabel.
○ INSERT: Menambahkan data baru.
○ UPDATE: Memodifikasi data yang ada.
○ DELETE: Menghapus data dari tabel.
3. Data Control Language (DCL):
○ GRANT: Memberikan hak akses.
○ REVOKE: Mencabut hak akses.
4. TCL (Transaction Control Language):
○ COMMIT: Menyimpan perubahan secara permanen.
○ ROLLBACK: Membatalkan perubahan.

Relational Database Management System (RDBMS)

RDBMS adalah perangkat lunak yang menggunakan model relasional untuk menyimpan dan
mengelola data. MySQL adalah salah satu RDBMS yang paling populer. Beberapa fitur utama
MySQL:

1. Transaksi ACID: Menjamin integritas data melalui properti Atomicity, Consistency,


Isolation, dan Durability.
2. Pemulihan Data: Mendukung fitur backup dan restore untuk keamanan data.
3. Keamanan Data: Mendukung otentikasi dan otorisasi untuk kontrol akses data.

3
2.2 Metodologi Perancangan dan Pengembangan Basis Data

Pendekatan yang sistematis diperlukan untuk merancang dan mengembangkan basis data yang
optimal. Berikut adalah tahapan metodologi yang digunakan:

1. Pengumpulan Kebutuhan Pada tahap ini, informasi dikumpulkan dari pemangku


kepentingan untuk memahami kebutuhan sistem. Hasil dari tahap ini adalah dokumen spesifikasi
kebutuhan yang mencakup:

● Persyaratan fungsional, seperti data yang akan dikelola dan operasi yang harus didukung.
● Persyaratan non-fungsional, seperti keamanan, skalabilitas, dan performa.

2. Perancangan Konseptual Tahap ini menggunakan ER Model untuk membuat representasi


abstrak basis data. Diagram ER menggambarkan entitas, atribut, dan relasi dengan lengkap.
Contoh:

● Entitas "Transaksi" dengan atribut "No_Transaksi", "Tanggal", "ID_Pelanggan".


● Entitas "Produk" dengan atribut "ID_Produk", "Nama_Produk", "Harga".
● Relasi "Berisi" yang menghubungkan "Transaksi" dan "Produk" dengan atribut
"Jumlah_Barang".

3. Perancangan Logis Model konseptual diterjemahkan menjadi skema relasional yang


mencakup tabel-tabel, kolom, tipe data, dan relasi antar tabel. Contoh implementasi dalam
MySQL:

CREATE TABLE Transaksi (


No_Transaksi INT PRIMARY KEY,
Tanggal DATE,
ID_Pelanggan INT
);

CREATE TABLE Produk (


ID_Produk INT PRIMARY KEY,
Nama_Produk VARCHAR(100),
Harga DECIMAL(10, 2)
);

CREATE TABLE Berisi (


4
No_Transaksi INT,
ID_Produk INT,
Jumlah_Barang INT,
PRIMARY KEY (No_Transaksi, ID_Produk),
FOREIGN KEY (No_Transaksi) REFERENCES Transaksi(No_Transaksi),
FOREIGN KEY (ID_Produk) REFERENCES Produk(ID_Produk)
);

Catatan: Untuk menghindari dependensi parsial, atribut "Jumlah_Nominal" dihilangkan dari


tabel "Transaksi". Perhitungan "Jumlah_Nominal" dilakukan dengan mengalikan
"Jumlah_Barang" dengan "Harga" pada saat query dilakukan.

4. Perancangan Fisik Tahap ini mengimplementasikan skema relasional ke dalam struktur fisik
basis data di MySQL. Pertimbangan seperti penggunaan indeks, partisi tabel, dan optimasi query
diterapkan untuk meningkatkan performa. Optimasi fisik seperti pemanfaatan indeks pada atribut
"No_Transaksi" dalam tabel "Transaksi" dan "ID_Produk" dalam tabel "Produk" telah terbukti
mempercepat proses pencarian data secara signifikan. Selain itu, partisi tabel "Berisi"
berdasarkan atribut "No_Transaksi" memungkinkan akses data lebih cepat pada query yang
bersifat spesifik terhadap transaksi tertentu.

5. Implementasi dan Pengujian Pada tahap implementasi, data awal dimasukkan, dan
pengujian dilakukan untuk memastikan sistem bekerja sesuai kebutuhan. Jenis pengujian
meliputi:

● Uji Fungsional: Memastikan semua query berjalan dengan benar.


● Uji Kinerja: Mengevaluasi kecepatan respon query.
● Uji Keamanan: Menguji kontrol akses dan perlindungan data.

6. Pemeliharaan dan Optimalisasi Setelah implementasi, basis data dipantau untuk memastikan
performa optimal. Aktivitas pemeliharaan meliputi:

● Backup data secara rutin.


● Optimasi indeks untuk mempercepat query.
● Pemantauan log untuk mendeteksi anomali.

Dengan mengikuti metodologi ini, basis data dapat dirancang dan dikembangkan secara
sistematis untuk memenuhi kebutuhan bisnis atau organisasi.

5
BAB III

PERANCANGAN BASIS DATA

3.1 ER Diagram

Gambar 1 ER Diagram

ER Diagram diatas merupakan Relasi Binary karena hubungan hanya antara dua
entitas secara langsung yaitu Pelanggan ↔ Transaksi dan Transaksi ↔ Produk.
- Relasi antara Tabel Pelanggan dan Tabel Transaksi
Jenis Relasi: One-to-Many, Satu pelanggan (dari Tabel Pelanggan) dapat memiliki
banyak transaksi (di Tabel Transaksi).
Foreign Key: ID_Pelanggan di Tabel Transaksi merujuk ke ID_Pelanggan di Tabel
Pelanggan.
- Relasi antara Tabel Produk dan Tabel Transaksi
Jenis Relasi: One-to-Many, Satu produk (dari Tabel Produk) dapat muncul di banyak
transaksi (di Tabel Transaksi).
Foreign Key: ID_Produk di Tabel Transaksi merujuk ke ID_Produk di Tabel Produk.

6
3.2 ER Table

Gambar 2 ER Table

ER diagram di atas merepresentasikan sistem manajemen transaksi yang melibatkan tiga


entitas utama: Pelanggan, Produk, dan Transaksi.
1. Entitas Pelanggan memiliki atribut seperti ID_Pelanggan (Primary Key),
Nama_Pelanggan, Nomor_Telepon, Alamat, dan Email, yang berfungsi untuk
mencatat informasi pelanggan.
2. Entitas Produk memiliki atribut seperti ID_Produk (Primary Key), Nama_Produk,
Merek_Tipe, Harga, dan Jumlah_Stok, yang digunakan untuk mengelola data
produk.
3. Entitas Transaksi menghubungkan Pelanggan dan Produk melalui atribut
ID_Pelanggan dan ID_Produk sebagai Foreign Key, serta mencakup atribut
tambahan seperti No_Transaksi (Primary Key), Jumlah_Barang,
Tanggal_Transaksi, dan Jumlah_Nominal untuk mencatat rincian transaksi.
Relasi antar-entitas menunjukkan hubungan yang saling terkait: satu pelanggan dapat
melakukan banyak transaksi (1:M), dan satu produk dapat muncul di banyak transaksi (M:1).
Struktur ini memungkinkan sistem untuk mencatat data pelanggan, produk, dan transaksi secara
terintegrasi. Dengan desain seperti ini, sistem dapat membantu mempermudah pelacakan
pembelian, pengelolaan stok produk, serta pencatatan informasi pelanggan dengan efisien dan
terstruktur.

7
3.3 Normalisasi 1NF, 2NF, 3NF
Perusahaan XYZ, yang berlokasi di Surabaya, Jawa Timur, Indonesia, menggunakan
sistem basis data untuk mengelola informasi pelanggan, transaksi penjualan, dan inventaris
produk. Informasi ini disimpan dalam tiga tabel utama di database mereka: Tabel Pelanggan,
Tabel Transaksi, dan Tabel Produk.
Dengan mengintegrasikan ketiga tabel ini, perusahaan dapat melakukan analisis yang
komprehensif terkait pelanggan, penjualan, dan inventaris mereka. Misalnya, perusahaan dapat
mengidentifikasi pelanggan terbaik mereka berdasarkan jumlah transaksi yang dilakukan,
menganalisis tren penjualan produk tertentu, atau mengelola stok produk secara lebih efektif.
Analisis ini dapat dilakukan dengan mudah menggunakan phpMyAdmin untuk mengeksekusi
berbagai query dan laporan sesuai kebutuhan.
Tabel Pelanggan

ID_Pelanggan Nama_Pelanggan Nomor_Telepon Email Alamat

001234 Siti Bune 08578294347 [email protected] Meyjen No.28


m

001235 Citra Kirana 08573429476 [email protected] Santri No.14


om

001236 Abdina Saleh 08134376297 Abdina44@gmail Kuningan No.17


.com

001237 Roma Gala 08388326740 Roma55@gmail. Jeruk No.8


com

Tabel Transaksi

No_Transaks ID_Pelangga ID_Produk Jumlah_Bara Tanggal_Transak Jumlah_Nomina


i n ng si l

01 001234 002 1 20/12/24 4.000.000

02 001235 001 1 21/12/24 350.000

03 001236 001 2 22/12/24 700.000

04 001237 001 1 22/12/24 350.000

05 001235 002 1 21/12/24 4.000.000

06 001237 002 2 22/12/24 8.000.000


8
Tabel produk

ID_Produk Nama_Produk Merek_Tipe Harga Jumlah_Stok

001 Mouse LogitechAir3D 350.000 100

002 Keyboard RazerV3 4.000.000 50

3.3.1 Normalisasi 1 NF
Tabel Pelanggan

ID_Pelanggan Nama_Pelanggan Nomor_Telepon Email Alamat

001234 Siti Bune 08578294347 [email protected] Meyjen No.28


m

001235 Citra Kirana 08573429476 [email protected] Santri No.14


m

001236 Abdina Saleh 08134376297 Abdina44@gmail. Kuningan No.17


com

001237 Roma Gala 08388326740 [email protected] Jeruk No.8


om

Tabel Transaksi

No_Transaks ID_Pelangga ID_Produk Jumlah_Bara Tanggal_Transak Jumlah_Nomina


i n ng si l

DN01 001234 002 1 20/12/24 4.000.000

BCA02 001235 001 1 21/12/24 350.000

BRI03 001236 001 2 22/12/24 700.000

DN04 001237 001 1 22/12/24 350.000

BCA05 001235 002 1 21/12/24 4.000.000

DN06 001237 002 2 22/12/24 8.000.000

Tabel produk
9
ID_Produk Nama_Produk Merek_Tipe Harga Jumlah_Stok

001 Mouse LogitechAir3D 350.000 100

002 Keyboard RazerV3 4.000.000 50

Keterangan:
- Tidak ada atribut (kolom) pada tabel yang bersifat multi-value (berisi lebih dari satu nilai dalam
satu sel).
- Tidak memiliki lebih dari satu atribut dengan domain yang sama.
- 1NF: Semua tabel memenuhi syarat atomic dan tidak ada atribut dengan domain sama.

3.3.2 Normalisasi 2 NF
1. Syarat pada normalisasi 2NF
- Tabel memenuhi 1NF (semua data atomic, tidak ada data duplikasi dalam kolom).
- Tidak ada dependensi parsial, yaitu kolom non-prime (atribut yang bukan bagian
dari primary key) harus bergantung sepenuhnya pada seluruh primary key, bukan
hanya sebagian.
2. Analisis :
Pada tabel Transaksi, primary key yang digunakan adalah No_Transaksi, karena ini
secara unik mengidentifikasi setiap transaksi. Namun, ada beberapa atribut di tabel ini
yang tidak bergantung langsung pada No_Transaksi, tetapi lebih relevan dengan atribut
lain, seperti Harga dan Nama_Produk bergantung pada ID_Produk, bukan pada
No_Transaksi, Jumlah_Nominal sebenarnya bergantung pada Jumlah_Barang dan
Harga. Hal ini menunjukkan adanya dependensi parsial. Maka untuk mengatasi
dependensi parsial perlu menghilangkan kolom Jumlah_Nominal pada tabel transaksi.

Tabel Pelanggan

ID_Pelanggan Nama_Pelanggan Nomor_Telepon Email Alamat

001234 Siti Bune 08578294347 [email protected] Meyjen No.28


m

001235 Citra Kirana 08573429476 [email protected] Santri No.14


m

001236 Abdina Saleh 08134376297 Abdina44@gmail. Kuningan No.17


com

001237 Roma Gala 08388326740 [email protected] Jeruk No.8

10
om

Tabel Transaksi

No_Transaksi ID_Pelangga ID_Produk Jumlah_Barang Tanggal_Transaksi


n

DN01 001234 002 1 20/12/24

BCA02 001235 001 1 21/12/24

BRI03 001236 001 2 22/12/24

DN04 001237 001 1 22/12/24

BCA05 001235 002 1 21/12/24

DN06 001237 002 2 22/12/24

Tabel produk

ID_Produk Nama_Produk Merek_Tipe Harga Jumlah_Stok

001 Mouse LogitechAir3D 350.000 100

002 Keyboard RazerV3 4.000.000 50

3.3.3 Normalisasi 3 NF
1. Syarat pada normalisasi 3NF
- Tabel memenuhi 1NF (semua data atomic, tidak ada data duplikasi dalam kolom).
- Tidak ada dependensi transitif, yaitu kolom non-prime (atribut yang bukan bagian
dari primary key) hanya bergantung langsung pada primary key. Kolom non-prime
tidak boleh bergantung pada kolom non-prime lainnya.
3. Analisis :
- Tabel Pelanggan
Sudah memenuhi 3NF karena semua kolom non-prime (Nama_Pelanggan,
Nomor_Telepon, Email, Alamat) bergantung langsung pada ID_Pelanggan (PK).
- Tabel Produk
Sudah memenuhi 3NF karena semua kolom non-prime (Nama_Produk,
Merek_Tipe, Harga, Jumlah_Stok) bergantung langsung pada ID_Produk (PK).
- Tabel Transaksi
Tidak ada dependensi transitif setelah Jumlah_Nominal dihilangkan. Setiap
kolom bergantung langsung pada No_Transaksi (PK)
11
BAB IV

PENGEMBANGAN BASIS DATA

12
4.1 Pembuatan Database di MySQL
Pengolahan dan analisis data dalam basis data sangat bergantung pada penggunaan
query dan sintaks SQL. Dalam pembuatan database perlu mengaktifkan Apache dan MySQL
di XAMPP Control Panel.

Gambar 3 Tampilan XAMPP

Dalam basis data ini, kami akan membuat tiga tabel utama yang saling terhubung:
tabel pelanggan, tabel transaksi, dan tabel produk. Setiap tabel memiliki fungsi dan kolom
yang spesifik untuk menyimpan data yang diperlukan.

4.2 Create Database

Langkah awal dalam pengelolaan basis data adalah membuat sebuah database yang akan menjadi
wadah untuk menyimpan tabel dan data lainnya. Berikut adalah langkah-langkahnya:

1. Buka phpMyAdmin dan pilih tab Database di bagian atas.


2. Masukkan nama database (contoh: "transaksi") di kolom yang tersedia.
3. Klik tombol Create untuk membuat database.

13
Gambar 4 Membuat database di phpMyAdmin

Gambar diatas menunjukkan tampilan phpMyAdmin saat membuat database baru. Formulir
untuk memasukkan nama database terletak di bagian atas halaman.

4.3 Create Table


CREATE TABLE digunakan untuk membuat tabel baru dalam sebuah database di SQL.
Tabel ini berfungsi untuk menyimpan data dalam bentuk baris dan kolom yang terstruktur,
sehingga memudahkan dalam pengelolaan dan pencarian informasi.

Gambar 5 Create table di phpMyAdmin

Setelah membuat database baru akan diarahkan langsung untuk membuat table. Isi Table name
dan number of coloumns sesuai dengan table yg akan dibuat setelah itu klik create untuk
membuat table. Pada table pertama yg akan dibuat adalah table pelanggan dengan isi 3 kolom.

14
Gambar 6 Menginput kolom di phpMyAdmin

Setelah itu akan langsung muncul seperti diatas. masukkan nama kolom, dan tipe data. Kolom
pertama diisi ID_Pelanggan dengan type varchar. Kolom kedua diisi Nama_Pelanggan dengan
type text. Dan kolom ketiga email dengan type text. Setelah diisi semuanya klik tombol save.

Pada database transaksi ini diperlukan 3 table yaitu pelanggan, produk dan transaksi. Untuk
membuat table baru klik new yang berada dibawah nama database.

Gambar 7 Membuat table tambahan di phpMyAdmin

15
● Isi Table pelanggan
Pada database ini terdapat 3 table, table pertama yaitu table pelanggan dengan isi kolom
ID_Pelanggan tipe data varchar, Nama_pelanggan tipe data text, dan Email tipe data text.

Gambar 8 Isi dari table pelanggan

● Isi Table Produk


Table kedua yaitu table produk, pada table ini terdapat kolom ID_produk tipe data
varchar, Nama_produk tipe data varchar, Merk_Tipe tipe data text, dan Harga Tipe data
INT.

Gambar 9 Isi dari table produk

16
● Isi Table Transaksi
Table ketiga yaitu table transaksi, pada table ini terdapat kolom No_Transaksi tipe data
INT, ID_Pelanggan tipe data INT, ID_Produk tipe data INT, dan Tanggal_Transaksi data
INT.

Gambar 10 Isi dari table transaksi

4.4 Alter Tabel


Perintah ALTER TABLE merupakan salah satu fitur yang sangat berguna untuk
melakukan perubahan struktur tabel yang sudah ada di database. Perintah ini memungkinkan
pengguna untuk menambahkan, menghapus, atau memodifikasi kolom, serta mengatur ulang
struktur tabel sesuai dengan kebutuhan.
1. Alter Table ADD

Gambar 11 Menambahkan Kolom dengan ALTER TABLE ADD

17
Untuk menggunakan alter table klik tab SQL di bagian atas layar phpMyAdmin.
Tab ini akan membawa Anda ke editor SQL tempat Anda dapat menuliskan perintah
untuk mengubah struktur tabel. Kata kunci utama dalam perintah ALTER TABLE
untuk menambahkan kolom baru adalah ADD. Contohnya, untuk menambahkan kolom
jumlah_produk pada tabel produk, perintah yang harus digunakan adalah: Alter Table
produk ADD jumlah_produk int.

Gambar 12 Hasil menggunakan ALTER TABLE ADD

Maka pada table produk, kolom jumlah_produk akan muncul sebagai kolom baru.

1. Alter Table Modify

Gambar 13 Menambahkan Kolom dengan ALTER TABLE MODIFY

18
klik tab SQL yang terletak di bagian atas antarmuka phpMyAdmin untuk
membuka editor SQL. Untuk mengubah tipe data kolom yang sudah ada, gunakan
perintah: ALTER TABLE produk MODIFY jumlah_produk text;. Maka tipe data dalam
kolom jumlah produk akan berubah menjadi text.

Gambar 14 Hasil menggunakan ALTER TABLE MODIFY

Maka pada table produk, kolom jumlah_produk akan berubah tipe datanya menjadi text.

2. Alter Table Drop

Gambar 15 Hasil menggunakan ALTER TABLE DROP

19
klik menu SQL yang terdapat di bagian atas layar. Pada kolom editor SQL,
masukkan perintah ALTER TABLE untuk menghapus kolom tertentu. Sintaks yang
digunakan adalah sebagai berikut: Alter Table Produk DROP Jumlah_produk, maka
Kolom Jumlah_produk akan dihapus dari tabel Produk, sehingga tabel tidak lagi
memiliki kolom tersebut. Data di dalam kolom tersebut akan hilang secara permanen.

Gambar 16 Hasil menggunakan ALTER TABLE DROP

Maka pada table produk, kolom jumlah_produk akan terhapus permanen.

4.5 Constraints
1. Primary Key

20
Gambar 17 Menetapkan Primary Key menggunakan constraints

Untuk membuat suatu kolom sebgaia primary key dengan cara mencentang
kotak A_I (Auto Increment) jika tipe datanya mendukung dan diperlukan untuk
menghasilkan nilai unik secara otomatis. Selanjutnya, gulir ke bawah dan temukan
pengaturan Index, lalu pilih opsi PRIMARY untuk menetapkan kolom sebagai
primary key. Lalu klik Go.

Gambar 18 Hasil Menetapkan Primary Key menggunakan constraints

2. Unique Key

Gambar 19 Menetapkan Unique Key menggunakan constraints


21
Untuk membuat suatu kolom sebgaia unique key dengan cara mencentang kotak
A_I (Auto Increment) jika tipe datanya mendukung dan diperlukan untuk
menghasilkan nilai unik secara otomatis. Selanjutnya, gulir ke bawah dan temukan
pengaturan Index, lalu pilih opsi unique untuk menetapkan kolom sebagai
primary key. Lalu klik Go.

Gambar 20 Hasil Menetapkan Unique Key menggunakan constraints

3. Foreign Key

Gambar 21 Menetapkan Foreign Key menggunakan constraints

klik opsi Relation View. Pada halaman ini, Anda akan melihat kolom yang bisa
dihubungkan ke tabel lain. Pilih kolom yang ingin dijadikan foreign key pada tabel

22
aktif, lalu di bagian "Constraint (FOREIGN KEY)", pilih tabel dan kolom yang
memiliki primary key sebagai referensi. Terakhir, simpan pengaturan dengan
mengklik tombol Save.

Gambar 22 Hasil Menetapkan Foreign Key menggunakan constraints

4.6 Insert Into

Gambar 23 Proses menambahkan data kedalam table

23
Pilih tabel yg ingin ditambahkan data. Klik tab Insert. Setelah masuk ke tab
Insert, akan terlihat form untuk memasukkan data ke dalam kolom tabel. Langkah
selanjutnya adalah mengisi form dengan nilai-nilai yang sesuai untuk setiap kolom.
Setelah diisi klik go.

Gambar 24 Hasil menambahkan data kedalam table

4.7 Create View

Gambar 25 membuat view di phpMyAdmin

24
Langkah pertama adalah membuka phpMyAdmin dan memilih database yang ingin
Anda gunakan. Setelah itu, pilih tab SQL di bagian atas untuk memasukkan perintah
SQL. Untuk membuat view dapat menulis perintah diatas. Setelah itu klik go.

Gambar 26 Hasil membuat view di phpMyAdmin

Gambar diatas menampilkan proses pembuatan view dengan menggunakan


editor SQL di phpMyAdmin.

25
BAB V

PENGOLAHAN DAN ANALISIS DATA

5.1 Data Selection


A. Menampilkan Data
Perintah SELECT digunakan untuk memilih data dari basis data. Kolom yang ingin
diambil datanya didefinisikan setelah kata kunci SELECT, diikuti oleh nama tabel yang
disebutkan setelah FROM.

Gambar 27 Menampilkan Data Pelanggan

B. Menampilkan Data Dengan Perintah WHERE


WHERE digunakan dalam SQL untuk memfilter catatan yang memenuhi kondisi
tertentu. Dengan menggunakan klausa WHERE, kita dapat mengatur query agar hanya
menampilkan baris data yang sesuai dengan kriteria yang ditentukan.

26
Gambar 28 Tampilan Hasil Query Perintah WHERE

C. Menampilkan Data Dengan Perintah Operator Logika


Dalam SQL, constraint NOT NULL digunakan untuk memastikan bahwa sebuah
kolom dalam tabel tidak boleh berisi nilai kosong atau NULL. Hal ini sangat penting untuk
menjaga integritas data di dalam basis data karena mencegah adanya data yang tidak
lengkap.

Gambar 29 Tampilan Data Query Operator Logika NOT NULL

D. Mengupdate Nama Produk Pada Database

27
Dalam proses pengolahan data, terdapat situasi di mana kita perlu memperbarui
informasi yang ada dalam basis data, termasuk mengganti nama produk. Perintah UPDATE
dalam SQL digunakan untuk mengubah data yang sudah ada dalam tabel.
Untuk memastikan perubahan hanya diterapkan pada baris yang relevan, kita
menggunakan klausa WHERE. Berikut adalah hasil dan tentang cara mengganti nama pada
tabel produk dengan perintah UPDATE, SET, dan WHERE:

Gambar 30 Menampilkan Data dengan Perintah UPDATE Nama Produk

E. Menampilkan Data Dengan Perintah Operator Perbandingan/Persamaan


Dalam proses pengolahan dan analisis data, kita seringkali perlu membandingkan
nilai dan mengurutkan hasil query untuk mendapatkan data yang dibutuhkan. Operator
perbandingan/persamaan dalam SQL memungkinkan kita untuk melakukan berbagai macam
perbandingan antara nilai-nilai dalam tabel. Berikut adalah penjelasan mengenai operator ini
beserta sintaks pengurutan naik:

28
Gambar 31 Tampilan Data Query Sorting ASC

F. Menampilkan Data Dengan Perintah LIKE/ILIKE


LIKE dalam SQL digunakan untuk mencari pola dalam kolom teks. Ini sangat
berguna ketika kita ingin menemukan data yang sesuai dengan kriteria tertentu yang tidak
lengkap atau sebagian saja dari nilai yang dicari. Berikut adalah deskripsi tentang
penggunaan perintah LIKE:

Gambar 32 Tampilan Data Query perintah LIKE

G. Menampilkan Data Menggunakan Perintah IN

29
Dalam konteks ini, kita dapat menggunakan perintah IN untuk mencari data
pelanggan yang memiliki nama "Siti Bune” dan "Roma Gala". Perintah IN memungkinkan
kita untuk memfilter hasil query dengan lebih efektif dan efisien tanpa harus menggunakan
beberapa klausa OR. Hal ini membuat query lebih mudah dipahami dan dikelola, terutama
saat bekerja dengan banyak nilai.
Dengan menggunakan perintah IN, kita dapat memastikan bahwa hanya data
pelanggan yang namanya sesuai dengan salah satu dari nama yang ditentukan akan
ditampilkan dalam hasil query. Ini sangat membantu dalam pengolahan data ketika kita perlu
mengekstrak subset data yang memenuhi kriteria spesifik.

Gambar 33 Tampilan Data Query perintah IN

H. Menampilkan Data Dengan Perintah BETWEEN


Dalam konteks ini, kita dapat menggunakan perintah BETWEEN untuk menampilkan
data pelanggan dengan ID antara 001234 hingga 001235. Dengan menggunakan perintah
BETWEEN, kita dapat memastikan bahwa hanya data pelanggan yang memiliki ID dalam
rentang yang ditentukan akan ditampilkan dalam hasil query. Ini membantu dalam
pengolahan data dengan memungkinkan kita untuk mengekstrak subset data yang relevan
dengan kriteria yang spesifik.

30
Gambar 34 Tampilan Data Query perintah BETWEEN

I. Menampilkan Data Dengan Perintah IS NULL


IS NULL dalam SQL digunakan untuk memeriksa dan menampilkan baris yang
memiliki nilai NULL dalam kolom tertentu. Ini sangat berguna untuk mengidentifikasi data
yang belum diisi atau tidak lengkap.

Gambar 35 Tampilan Data Query IS NULL

J. Menampilkan Data Dengan Perintah Mengurutkan ORDER BY

31
Dalam konteks mengurutkan harga barang, kita dapat menggunakan perintah ORDER
BY harga DESC untuk menampilkan produk dengan harga tertinggi terlebih dahulu hingga
yang terendah. Penggunaan DESC memastikan bahwa data diurutkan dalam urutan menurun
(descending order). Ini sangat berguna ketika kita ingin melihat produk termahal atau
mengekstrak laporan yang memprioritaskan barang dengan nilai lebih tinggi terlebih dahulu.

Gambar 36 Tampilan Data Query ORDER BY

K. Menampilkan Data Dengan Perintah Fungsi Agregat COUNT, SUM, MIN, MAX, AVG
- COUNT menghitung jumlah total baris dalam tabel transaksi yang menunjukkan
seberapa banyak transaksi yang tercatat. Fungsi ini sangat berguna saat kamu ingin
mengetahui total transaksi yang telah dilakukan dalam sebuah periode tertentu. Selain itu,
fungsi COUNT juga berguna untuk memeriksa keberadaan data dalam tabel tertentu.
Misalnya, jika kamu ingin memastikan apakah ada transaksi yang masuk selama hari
tertentu atau dalam kondisi tertentu, kamu bisa menggunakan COUNT untuk
memverifikasinya. Dengan demikian, fungsi ini memberikan informasi dasar tetapi
sangat penting dalam pengolahan dan analisis data di database.

32
Gambar 37 Tampilan Data Query fungsi Agregat COUNT

- SUM dalam SQL digunakan untuk menghitung jumlah total dari nilai-nilai dalam
kolom yang ditentukan. Ini sangat berguna ketika kita ingin mengetahui total dari
semua transaksi yang ada dalam tabel.
Dalam konteks tabel transaksi, kita dapat menggunakan perintah SUM untuk
menghitung total jumlah_barang dari semua transaksi yang tercatat. Dengan
menggunakan perintah SUM, kita dapat menghitung jumlah keseluruhan dari nilai
jumlah_barang dalam kolom yang ditentukan. Ini membantu dalam pengolahan data
dengan memungkinkan kita untuk mendapatkan angka total yang merupakan
akumulasi dari semua nilai jumlah_barang transaksi yang ada dalam tabel.

Gambar 38 Tampilan Data Query fungsi Agregat SUM

33
- MIN mendapatkan nilai terkecil pada kolom Jumlah_Barang, menunjukkan jumlah
barang terendah dalam transaksi. Fungsi ini sangat bermanfaat ketika kamu ingin
mengetahui transaksi dengan jumlah barang paling sedikit, yang bisa menjadi indikator
untuk melihat transaksi yang mungkin perlu ditingkatkan. Dengan mengetahui nilai
minimum, kamu juga bisa mengidentifikasi potensi masalah dalam distribusi atau
permintaan barang.

Gambar 39 Tampilan Data Query fungsi Agregat MIN

- MAX mendapatkan nilai terbesar pada kolom Jumlah_Barang, menunjukkan jumlah


barang tertinggi yang tercatat. Fungsi ini sangat berguna untuk mengidentifikasi transaksi
yang paling besar, yang bisa menjadi indikator performa terbaik atau permintaan
tertinggi. Mengetahui nilai maksimum juga membantu dalam memahami batas tertinggi
dari volume transaksi yang bisa terjadi dalam bisnis.

Gambar 40 Tampilan Data Query fungsi Agregat MAX

34
- AVG menghitung rata-rata nilai pada kolom Jumlah_Barang, memberikan rata-rata
jumlah barang yang ditransaksikan per record. Fungsi ini membantu dalam menentukan
nilai rata-rata yang bisa menjadi tolak ukur efisiensi dan performa transaksi. Dengan
mengetahui rata-rata, kamu bisa membandingkan performa setiap transaksi terhadap
rata-rata untuk memahami variasi dan tren dalam data.

Gambar 41 Tampilan Data Query fungsi Agregat AVG

L. Menampilkan Data Dengan Perintah DISTINCT


Dalam konteks tabel pelanggan, kita dapat menggunakan perintah DISTINCT pada
kolom nama_pelanggan untuk menampilkan hanya nama-nama pelanggan yang unik.
Dengan menggunakan perintah DISTINCT, kita dapat menghilangkan duplikasi nama
pelanggan sehingga hanya nama-nama yang berbeda yang akan ditampilkan dalam hasil
query. Ini membantu dalam pengolahan data dengan memberikan daftar unik dari nama
pelanggan yang ada dalam tabel, yang sangat berguna untuk analisis lebih lanjut atau
pelaporan data.

35
Gambar 42 Tampilan Data Query DISTINCT

M. Menampilkan Data Dengan Perintah Mengelompokkan GROUP BY


Dalam konteks tabel transaksi, kita dapat menggunakan perintah GROUP BY pada
kolom Tanggal_Transaksi untuk mengelompokkan data transaksi berdasarkan tanggal
transaksi. Dengan menggunakan perintah GROUP BY, kita dapat mengorganisir data
sehingga transaksi yang terjadi pada tanggal yang sama akan dikelompokkan bersama. Ini
memungkinkan kita untuk melakukan analisis yang lebih mendalam, seperti menghitung
total transaksi per hari, rata-rata jumlah transaksi per hari, dan sebagainya.

Gambar 43 Tampilan Data Query GROUP BY

36
N. Menampilkan Data Dengan Perintah Memfilter Hasil Query Agregat dengan HAVING
HAVING digunakan untuk memfilter dan hanya menampilkan hasil query yang
memenuhi kondisi SUM(Jumlah_Barang) > 1. Dengan kata lain, query ini memberikan
informasi mengenai tanggal-tanggal tertentu di mana jumlah total nominal transaksi yang
terjadi melebihi 1, sehingga memudahkan dalam melakukan analisis lebih lanjut terhadap
data transaksi tersebut.

Gambar 44 Tampilan Data Memfilter Hasil Query Agregat dengan HAVING

O. Menampilkan Data dengan Klausa CASE


CASE dalam SQL digunakan untuk membuat logika kondisi dalam query. Klausa ini
memungkinkan kita untuk menetapkan kondisi dan menentukan nilai yang akan
dikembalikan berdasarkan kondisi tersebut. Klausa CASE sering digunakan untuk mengubah
atau mengganti nilai dalam hasil query berdasarkan kondisi tertentu.
Misalnya kita memiliki tabel penjualan dengan kolom produk, Tipe, dan harga. Kita
ingin menampilkan produk, Tipe, harga, dan kategori harga (Murah, Sedang, Mahal)
berdasarkan nilai harga. Berikut adalah contoh query-nya:

37
Gambar 45 Tampilan Data Query CASE

P. Menampilkan Data Dengan Perintah JOIN


JOIN dalam SQL digunakan untuk menggabungkan baris dari dua atau lebih tabel
berdasarkan kolom terkait di antara tabel tersebut. Ada beberapa jenis JOIN yang umum
digunakan, seperti INNER JOIN, LEFT JOIN, RIGHT JOIN, dan FULL JOIN. Mari kita
bahas masing-masing dengan contoh.
Dalam query ini, kita menggunakan INNER JOIN untuk menggabungkan tabel
pelanggan dan transaksi berdasarkan kolom ID_pelanggan yang merupakan kunci terkait di
kedua tabel tersebut. Hasilnya akan menampilkan informasi pelanggan beserta detail
transaksi mereka yang sesuai.

38
Gambar 46 Tampilan Data Query JOIN

Q. Menampilkan Data Dengan Perintah Operator UNION


UNION dalam SQL digunakan untuk menggabungkan hasil dari dua atau lebih query
SELECT ke dalam satu hasil yang sama. Query yang digabungkan dengan klausa UNION
harus memiliki jumlah kolom yang sama dan tipe data yang kompatibel.

39
Gambar 47 Tampilan Data Query Operator UNION

5.2 Link File


Link database format SQL:
https://drive.google.com/file/d/1_yh8-63jnVUsAcmFoyWYJUuSRpOnUrqW/view?usp=shar
ing

40
TABEL KONTRIBUSI

Nama NIM Kontribusi Presentase


NI LUH 23081494011 Bab 2. Landasan 16,6%
KADEK TRI Teori dan
SASI KIRANI Metodologi:
SETIAWATI Menjelaskan
HARTAWAN mengenai dasar teori
perancangan dan
pengembangan basis
data serta pendekatan
yang digunakan (ER
Model, SQL,
RDBMS MySQL).

Profil Penulis:
Menyusun profil
penulis, termasuk
kontribusi/pembagia
n tugas/tupoksi.

PUSPA 23081494056 Bab 3. Perancangan 18,7%


FERINDA Basis Data:
menjelaskan ER
Diagram, ER Table,
Normalisasi 1nf, 2nf,
3nf.

Bab 5. Pengolahan
dan Analisis Data:
menerapkan query
dan sintaks SQL
untuk mengolah dan
menganalisis data
yang telah
dimasukkan ke basis
data. Dan dasar-dasar
SQL untuk
pengolahan data,
seperti menggunakan
SELECT FROM
untuk mengambil

41
data, WHERE untuk
menyaring data, serta
operator logika dan
perbandingan seperti
AND, OR, >, <, =,
LIKE/ILIKE, IN,
BETWEEN, dan IS
NULL. Selain itu,
pekerjaan ini juga
mencakup
pengurutan hasil
dengan ORDER BY.

MARSAY 23081494108 Daftar Isi: Menyusun 16,6%


ZIKRA dan memformat
RAMADHAN daftar isi laporan.

Bab 1. Pendahuluan:
Menjelaskan latar
belakang
permasalahan,
deskripsi singkat
project basis data,
tujuan perancangan
dan pengembangan
basis data, cakupan
batasan project basis
data.

REVALINA 23081494232 Kata Pengantar: 16,6%


RENATA Menulis kata
pengantar laporan.

Bab 4.
Pengembangan Basis
Data: Menjelaskan
proses pembuatan
basis data dari create
database, create
table, alter table,
constraints (primary
key, foreign key, not
null, unique),
memasukkan data
(insert into), dan
create view.

42
MARSA 23081494307 Halaman Judul: 16,6%
AZRANI Menyusun dan
memformat halaman
judul laporan.

Bab 3. Perancangan
Basis Data:
Menjelaskan ER
Diagram, ER Table,
Normalisasi 1nf, 2nf,
3nf.

FARHAN 23081494381 Bab 5. Pengolahan 14,5%


ABQORI dan Analisis Data:
MAULANA analisis data lanjutan,
SOMA dengan
menggunakan fungsi
agregat (COUNT,
SUM, MIN, MAX,
AVG), DISTINCT
untuk mengambil
nilai unik, dan
GROUP BY untuk
mengelompokkan
data. Selain itu,
terdapat penggunaan
HAVING untuk
memfilter hasil
agregat, CASE untuk
kondisi logika, serta
teknik penggabungan
tabel seperti INNER
JOIN, LEFT JOIN,
RIGHT JOIN, dan
UNION untuk
mengkombinasikan
data
dari beberapa tabel

43

Anda mungkin juga menyukai