DISUSUN OLEH
FANINNA GHEA SUSANTO (211331043)
HASNA PUTRI RACHADIAN (211331045)
RIFQI THUFAIL ALEXANDER (211331061)
KELAS : 2B-TTE
KETERANGAN
1. Kelompok : 9 (Sembilan)
2. Judul Praktikum : Project Pembuatan “Aplikasi Absensi Mahasiswa”
3. Tanggal Praktikum : 29 November 2022
4. Tanggal Pengumpulan Laporan : 19 Desember 2022
5. Nama Praktikan : 1. Faninna Ghea Susanto (211331043)
2. Hasna Putri Rachadian (211331045)
3. Rifqi Thufail Alexander (211331061)
6. Nama Dosen : 1. Andry Haidar, S.T., M.T.
2. Muhamad Yamin, S.T., M.T.
ii
DAFTAR ISI
KETERANGAN.........................................................................................................................................i
DAFTAR ISI..............................................................................................................................................ii
I. TUJUAN PRAKTIKUM...................................................................................................................1
II. DASAR TEORI..............................................................................................................................1
III. ALAT DAN BAHAN.....................................................................................................................7
IV. LANGKAH KERJA......................................................................................................................7
V. HASIL PRAKTIKUM.......................................................................................................................8
1. Tabel Awal.....................................................................................................................................8
2. Anomali Update.............................................................................................................................8
3. Anomali Delete...............................................................................................................................8
4. Anomali Insert...............................................................................................................................9
5. Pemisahan Tabel untuk Normalisasi............................................................................................9
6. Relasi Tabel MySQL...................................................................................................................10
7. Relasi One to One........................................................................................................................11
8. Relasi One to Many.....................................................................................................................11
9. Relasi Many to Many...................................................................................................................11
10. Flowchart untuk Pembuatan Program..................................................................................12
VI. BENTUK PENGGUNAAN APLIKASI.....................................................................................14
1. Penggunaan Aplikasi untuk Melakukan Absen........................................................................14
2. Penggunaan Aplikasi untuk Menghapus Data..........................................................................17
VII. ANALISIS DATA........................................................................................................................18
VIII. KESIMPULAN........................................................................................................................21
IX. DAFTAR PUSTAKA...................................................................................................................22
I. TUJUAN PRAKTIKUM
1. Memahami materi tentang bahasa Java dan database
2. Bisa mengkoneksikan anatara Java dan database MySQL (XAMPP)
3. Mengoperasikan program aplikasi yang telah dibuat
sistem yang ada pada Java dan digunakan untuk aplikasi Java serta menjalankan program
bytecode Java.
Bisa dibilang Java merupakan bahasa pemrograman yang dapat membuat seluruh
bentuk aplikasi tidak hanya desktop dan web namun juga bisa membuat aplikasi mobile
dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman
konvensional yang lain. Java sendiri adalah bahasa pemrograman yang bersifat umum
atau non-spesifik (general purpose). Bahasa Pemrograman Java juga berorientasi object
(OOP-Object Oriented Programming), hal inilah yang membuatnya dapat dijalankan
pada berbagai platform sistem operasi. OOP merupakan program komputer sebagai
kelompok object yang saling berinteraksi.
Class sendiri bertindak sebagai modul sekaligus tipe. Sebagai tipe maka pada saat
akan dijalankan, program menciptakan object-object yang merupakan instan-
instan Class. Class sendiri dapat mewarisi Class lain. Java juga tidak mengijinkan
pewarisan jamak akan tetapi menyelesaikan kebutuhan pewarisan jamak dengan fasilitas
antarmuka yang jauh lebih elegan.
Perkembangan Java juga tidak hanya selalu terfokus pada satu sistem operasi,
namun dapat dikembangkan ke berbagai sistem operasi dan bersifat open source. Dengan
slogannya “Write once, run anywhere”. Bahasa pemrograman Java juga banyak
mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model
object yang lebih sederhana. Aplikasi-aplikasi berbasis java pada umumnya dikompilasi
ke dalam bentuk p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual
Java (JVM).
Database adalah basis data atau sekumpulan data yang dikelola sedemikian rupa
sesuai ketentuan tertentu dan saling berhubungan supaya mudah dikelola. Pengelolaan
database memudahkan setiap orang mencari, menyimpan, dan menghapus informasi.
diatur. Sebagian besar database menggunakan bahasa kueri terstruktur (SQL) untuk
menulis dan meminta data. Database membutuhkan aplikasi atau perangkat lunak yang
dinamai sistem manajemen database (DBMS). DBMS ini berfungsi sebagai antarmuka
antara database dan pengguna atau program. Ini memungkinkan Anda dapat mengambil,
memperbarui, dan mengelola bagaimana informasi diatur dan dimaksimalkan. Selain itu,
DBMS juga memfasilitiasi pengawasan dan pengendalian basis data. Dengan bantuan
DBMS, admin bisa memantau kinerja, menyeting aplikasi, dan melakukan backup dan
recover database ketika dibutuhkan. Contoh DBMS adalah: MySQL, Microsoft Access,
Microsoft SQL Server, FileMaker Pro, Oracle Database, dan dBASE.
Relasi adalah hubungan antara tabel yang mempresentasikan hubungan antar
objek di dunia nyata. Relasi merupakan hubungan yang terjadi pada suatu tabel dengan
lainnya yang mempresentasikan hubungan antar objek di dunia nyata dan berfungsi untuk
mengatur mengatur operasi suatu database.
Hubungan yang dapat dibentuk dapat mencakup 3 macam hubungan, yaitu:
1. One-To-One (1-1)
Mempunyai pengertian “Setiap baris data pada tabel pertama dihubungkan hanya ke
satu baris data pada tabel ke dua”. Contohnya : relasi antara tabel mahasiswa dan
tabel orang tua. Satu baris mahasiswa hanya berhubungan dengan satu baris orang tua
begitu juga sebaliknya.
2. One-To-Many (1-N)
Mempunyai pengertian “Setiap baris data dari tabel pertama dapat dihubungkan ke
satu baris atau lebih data pada tabel ke dua”. Contohnya : relasi perwalian antara tabel
dosen dan tabel mahasiswa. Satu baris dosen atau satu dosen bisa berhubungan
dengan satu baris atau lebih mahasiswa.
3. Many-To-Many (N-M)
Mempunyai pengertian “Satu baris atau lebih data pada tabel pertama bisa
dihubugkan ke satu atau lebih baris data pada tabel ke dua”. Artinya ada banyak baris
di tabel satu dan tabel dua yang saling berhubungan satu sama lain. Contohnya: relasi
antar tabel mahasiswa dan tabel mata kuliah. Satu baris mahasiswa bisa berhubungan
dengan banyak baris mata kuliah begitu juga sebaliknya.
3. DELETE Anomali
Penghapusan data tidak sesuai yang diharapkan, artinya data yang seharusnya tidak
terhapus malah terhapus.
Tidak semua database bisa dinormalisasi, hanya tipe “relational database” yang
bisa dinormalisasi. Banyak vendor DBMS (Database Management System) diantaranya
Oracle, MySQL, SQL Server, PostgreSQL, dll. Untuk melakukan normalisasi database
kita harus mengidentifikasi data seperti apa yang akan disimpan. Sebagai contoh saya
punya data dari struk penjualan. Saya ambil contoh data struk penjualan karena data ini
yang paling umum di sekitar kita.
Anomaly database
Anomali database adalah masalah yang timbul karena database dikelola dengan
tidak rapi. Umumnya, anomali database terjadi pada data yang disimpan dalam satu tabel
tunggal, tidak dipecah menjadi beberapa tabel. Ada beberapa jenis anomali database:
1. Insertion anomaly: masalah ini muncul saat sebuah record tidak bisa ditambahkan ke
dalam tabel, karena tidak memasukkan nilai pada field yang wajib untuk diisi.
Contohnya seperti Gambar 2 yang berisi tabel tbAnomali. Pada tabel itu, selain NIP,
kolom Departemen juga wajib diisi. Saat kita ingin menyimpan record dengan
NIP=00384, sementara kolom Departemen tidak diisi, maka Access akan
menampilkan pesan peringatan “You must enter a value in the
‘tblAnomali_Insert.Departemen’ field”.
2. Deletion anomaly: Anomali ini menyebabkan data tertentu secara tidak sengaja hilang
saat sebuah record dalam sebuah tabel dihapus. Contohnya, pada Gambar 2 yang
berisi tabel tbAnomali, terdapat sebuah record dengan NIP=00380 dan
NamaPanggilan=Allo. Bila record ini dihapus, maka Dept.HRD juga akan ikut
terhapus. Dept HRD tidak akan terhapus jika kita membuat tabel terpisah.
3. Update anomaly: menyimpan data dengan tidak menggunakan primary key sebuah
tabel dapat membuat kita harus memperbarui secara berulang kali bila jumlah record
lebih dari satu. Contohnya, pada Gambar 2, tabel tbAnomali mempunyai tiga record
di mana kolom Departemen = Dept. Product Development. Artinya, ada tiga Dept.
Product Development dalam tabel di atas. Bila ingin memperbarui kolom itu, misal
dengan mengubah menjadi Dept. Product and Development, maka kita harus
V. HASIL PRAKTIKUM
1. Tabel Awal
2. Anomali Update
3. Anomali Delete
4. Anomali Insert
b. Tabel Semester
c. Tabel Jurusan
e. Tabel Dosen
f. Tabel Nilai
1) Isi nama, NIM, kelas, jam masuk dan keluar secara manual menggunakan
keyboard.
2) Pilih Nama mata kuliah, nama prodi dan nama dosen. ID matkul, ID prodi dan ID
dosen akan terisi secara otomatis sesuai dengan nama mata kuliah, nama prodi
dan nama dosen yang dipilih.
Elektro, data yang dimaksud untuk di update adalah data jurusan Teknik Elektro di prodi
Teknik Listrik tetapi yang terupdate adalah data jurusan Teknik Elektro di data prodi
Teknik Listrik dan Teknik Telekomunikasi. Data yang ingin diupdate ditunjukkan dengan
warna cream, sementara untuk data yang terupdate ditunjukkan dengan warna merah.
Solusi untuk kejadian tersebut yaitu data jurusan, data semester, data dosen, data mata
kuliah dan data nilai harus dipisah.
Selanjutnya analisa anomali delete, kemungkinan kejadian yang akan terjadi di
masa datang yaitu penghapusan salah satu nama dosen dan juga mata kuliah yang diajar,
dalam kasusnya nama dosen yang dihapus yaitu “Usman” dan mata kuliah yang dihapus
juga adalah “Algoritma dan Pemrograman”, dimana setiap kali menghapuskan data dosen
baru dan mata kuliah yang diajar oleh dosen tersebut, maka harus memasukkan juga data
mahasiswa, data jurusan, data nilai, dan yang lainnya yang sebenarnya tidak berkaitan.
data yang ingin dihapus ditunjukkan dengan warna merah, sementara untuk data yang
terhapus ditunjukkan dengan warna cream. Solusi untuk kejadian tersebut yaitu data
jurusan, data semester, data dosen, data mata kuliah dan data nilai harus dipisah.
Lalu analisa anomaly insert, kemungkinan kejadian yang akan terjadi di masa
datang yaitu penambahan nama dosen dan juga mata kuliah yang diajar, dalam kasusnya
nama dosen yang ditambahkan yaitu “Wawan” dan mata kuliah yang dihapus juga adalah
“Bahasa Indonesia”, dimana setiap kali memasukkan data dosen baru, maka harus
memasukkan juga data mahasiswa, data jurusan, data nilai, dan yang lainnya yang
sebenarnya tidak berkaitan. Solusi untuk kejadian tersebut yaitu data jurusan, data
semester, data dosen, data mata kuliah dan data nilai harus dipisah.
dari tabel 2 yang akan menghasilkan sebuah tabel baru terdapat pada hubungan tabel
dosen yang direlasikan dengan tabel mata kuliah yang pada akhirnya akan terhubung
dengan tabel many-to-many yang dimana kolom NIM dan ID_Dosen dijadikan sebagai
primary key sementara ID_Dosen, ID_Prodi, dan ID_Matkul dijadikan sebagai index.
Penginputan data ke dalam tabel harus dimulai dari tabel yang paling bawah atau
tabel terakhir pada saat merelasikan hubungan antar tabel, jika dalam penginputannya
dimuali secara acak maka output yang dihasilkan nantinya akan menunjukan data error.
VIII. KESIMPULAN
P. Aprilia, "Apa itu Java? Pengertian, Kelebihan, Kekurangan, dan Contohnya," Niagahoster
blog, 25 Agustus 2021. [Online]. Available: https://www.niagahoster.co.id/blog/java-adalah/.
Yudhistira, "Mengenal Apa itu Database serta Fungsi dan Jenisnya," bhinneka.com, 27 Juli
2022. [Online]. Available: https://www.bhinneka.com/blog/database-adalah/. [Accessed 17
Desember 2022].
"Normalisasi Database 1NF, 2NF & 3NF (Cara dan Contoh)," aantamim.id, 15 Juli 2020.
[Online]. Available: https://aantamim.id/normalisasi-database/. [Accessed 17 Desember 2022].