LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER (Praktikum Pemrograman 11)
Oleh : Nama
: Wahyu Arianto
NPM/SHIFT
: 240110160081/B1
Hari, Tanggal Praktikum
: Selasa, 23 Mei 2017
Asisten Dosen
: 1. Irdan Herdiat : 2. : 3. : 4. : 5.
LABORATORIUM KOMPUTER DEPARTEMEN TEKNIK PERTANIAN DAN BIOSISTEM FAKULTAS TEKNOLOGI INDUSTRI PERTANIAN UNIVERSITAS PADJADJARAN JATINANGOR 2017
BAB I TUJUAN DAN LANGKAH KERJA 1.1
Tujuan 1. Mengetahui bagaimana cara pembuatan form dalam sebuah transaksi 2. Mengetahui cara penggunaan kontrol form 3. Mengetahui dan memahami cara koneksi form dengan tabel database 4. Mendeskripsikan fungsi dari klausa pada koding
1.2
Latihan A (Memulai Praktikum) 1. Membuka file praktikum sebelumnya 2. Simpanlah sebagai file : NPM_praktDB05.accdb 3. Rancangan tampilan antar muka (Interface) untuk EDITING
1.3
Latihan B (Transaksi : Peminjaman) 1. Buatlah tabel baru, dengan nama: Peminjaman a. FieldName dan tipe data, sbb: -
ID_Peminjaman : AutoNumber(LongInteger), Primary Key
-
id_Anggota : Number(LongInteger)
-
id_NomorBuku :Number(LongInteger)
-
Tgl_pinjam :Date/Time
-
Tgl_kembalijadwal :Date/Time
-
Tgl_kembalisebenarnya :Date/Time
b. Perhatikan data-data transaksi berikut: -
Peminjam: Mahasiswa praktikan! pastikan sudah terdaftar sebagai anggota, kalau belum, tambahkan terlebih dahulu
-
Buku1 yang dipinjam: Biokimia Pangan, Nomor Exemplar ke-2
-
Buku2 yang dipinjam: Analisis Numeric for Engineer, Exemplar ke-1
c. Isilah titik – titik berikut : Data peminjam ID_Anggota Buku ke-1 ID_nomorbuku Buku ke-2 ID_nomorbuku
…… …… ……
d. Isikan data tersebut dalam tabel [Peminjaman], lengkapi dengan tanggal transaksi, dimana lama peminjaman pada umumnya adalah 1 pekan ( 7 hari ) 2. Membuat Relationship seperti gambar dibawah:
3. Buatlah query baru, dengan nama: PeminjamanRinci_qry1 Query dapat menampilkan data transaksi secara lengkap, a.l: -
Nama Peminjam
-
Nomor ID_Anggota
-
Alamat Peminjam
-
Judul Buku
-
Pengarang
-
Tanggal Dipinjam
-
Tanggal Harus dikembalikan
4. Perhatikanlah Relasi yang terkait dengan Tabel Transaksi (Peminjaman), Relasi ini merupakan transformasi dari relasi Anggota dan BukuNomor secara N-N (dari Banyak ke Banyak), terangkanlah mengenai relasi N-N dalam Laporan! 5. Bahas juga kalimat SQL (yang diperoleh melalui Modus SQL) yang diberikan!
1.4
LATIHAN C (# Tugas) 1. Pelajari juga bahan praktikum basis data pekan lalu 2. Buatlah file baru, beri nama: NPM_praktDB02_TUGAS.accdb 3. Rancanglah struktur basis data dari laporan berikut ini:
4. Lakukan juga pengujian normalisasi berdasarkan tugas pada saat kuliah 5. Buatlah tabel-tabel yang dibutuhkan
Tabel-tabel yang dibutuhkan : a. Tabel Macam – Macam Mobil
Design View :
b. Tabel Data Penyewa
Design View :
c. Tabel Penyewaan
Design View :
d. Tabel Status Keterangan
Design View :
e. Tabel Nomor Mobil
Design View :
6. Buat pula juga beberapa query yang dibutuhkan, salah satunya diberikan untuk menghasilkan tabel gabungan seperti tampilan gambar di atas tersebut Query : Relasi antar tabel a. Relasi Data Mobil dengan Nomor Mobil
b. Relasi Mobil dengan status Peminjaman
c. Relasi Penyewaan Mobil dengan Stasusnya
Data hasil query : a. Data Relasi Mobil dengan Nomor Mobil
b. Data Relasi Mobi dengan Status Peminjaman
c. Data Relasi Penyewaan Mobil Statusnya
SQL Query Penyewaan : SELECT Penyewa.Nama_Penyewa, Penyewa.No_Tlp_Hp, [Data Mobil].Merk_Mobil, [No
Mobil].No_Seri,
[Data
Mobil].Tipe_Mobil,
[Data
Mobil].Biaya_Perhari,
Penyewaan.Lama_Sewa, [Data Mobil]![Biaya_Perhari]*[Penyewaan]![Lama_Sewa] AS [jumlah biaya] FROM [Data Mobil] INNER JOIN ([Status Keterangan] INNER JOIN ((Penyewa INNER JOIN Penyewaan ON Penyewa.ID_Penyewa = Penyewaan.ID_Penyewa) INNER JOIN [No Mobil] ON Penyewaan.No_STNK = [No Mobil].No_STNK) ON [Status Keterangan].Status = [No Mobil].Status) ON [Data Mobil].ID_Mobil = [No Mobil].Id_Mobil; 1.5
LATIHAN D (Form Transaksi (Peminjaman – Pengembalian)) 1. Bukalah form kosong :: [Create] – [Form Design] 2. Tambahkan objek, aturlah dan ganti labelnya seperti berikut :
3. Ubah nama objek yang sesuai melalui properties, menjadi : NoAnggota,
cmbNamaAnggota,
lstBukuPinjaman,
NoBukuInduk,
JudulBuku,
Pengarang, lstBukuNomor, cmdKembali, cmdPinjam, cmdSelesai 4. Ubah nilai property lain sbb :
1.6
-
[Form], Record Selectors
: No
-
[Form], Navigation Buttons
: No
-
[lstBukuPinjaman], Row Source Type
: Value List
-
[lstBukuNomor], Row Source Type
: Value List
LATIHAN E (Transaksi Peminjaman Buku) Alur Proses : -
Nomor Anggota Peminjam diisikan pada kotak text yang tersedia, atau mencari nama peminjam melalui comboBox
-
Bila nomor / nama sesuai, tekan [Enter], proses ini akan menjalankan pencarian datadata buku pinjaman nama tersebut, yang belum dikembalikan
-
Cari buku yang akan dipinjam, berdasarkan nomor induk buku pada kotak text yang tersedia
-
Tekan [Enter] akan mencari nomor-nomor buku exempler, dari id buku induk yang diisikan, dan dilisting pada listbox
-
Klik pada nomor buku yang diminta untuk dipinjam
-
Lalu klik pada tombol [Pinjam] untuk proses pinjam
-
Selesai
1. Pilih form, klik pada kotak kecil di poros sumbu ruler
2. Bukalah jendela koding, melalui property form Event – On Open – [Event Procedure] 3. Buatlah koding-koding untuk proses peminjaman :: a. Untuk kondisi awal, saat Open Form -
Memanggil sub program untuk mengosongkan semua objek
-
Memanggil sub program untuk mengisikan daftar nama ke [cmbNamaAnggota]
b. Buatlah sub prosedur untuk mengosongkan semua objek / variabel Mengosongkan tiap-tiapjenis objek dilakukan dengan cara memberikan nilai kosong pada setiap textbox, dengan mengisikan pada baris koding berikut :
c. Buatlah sub prosedur berikut, untuk mengisikan daftar nama anggota
d. Pencarian Anggota, berdasarkan NoAnggota atau Nama (dari comboBox) -
Memanggil Sub dari event : onLostFocus pada NoAnggota
-
Buatlah pemanggilan Sub dari event : onClick pada cmbNamaAnggota
e. Menentukan NomorBuku yang akan dipinjam berdasarkan nomor Induk buku, dengan membuat Event onLostFocus pada ID_BukuInduk
f. Proses peminjaman, dengan Event Click pada cmdPinjam
g. Tambahkan pengecekan, untuk memastikan bahwa : Buku yang bisa dipinjam hanya yang berstatus “Ada” saja -
Berikan klausa IF, sebagai : jika data kolom yang sesuai dari lstBukuNomor bila bernilai “Ada”, proses dilanjutkan, bila tidak, beri informasi “Silakan pilih NomorBuku yang sesuai!”
h. Tambahkan UPDATE STATUS buku, dari 1(Ada) menjadi 0(dipinjam), panggilan Sub ini (Call), di bagian akhir Sub Program cmdPinjam (saat peminjaman dipastikan diproses). -
Call diberikan sebagai : Call UpdateStatus_Buku(lstnomorbuku, 0)
-
Sub Procedure UpdateStatus_Buku diberikan sbb : Sub UpdateStatus_Buku(idBukuNomor As Integer, nStat As Integer)
Dim dbs As Database Dim strSQL As String
Set dbs = CurrentDb strSQL = "UPDATE BukuNomor SET Status = " & nStat & _ " WHERE ID_bukunomor = " & idBukuNomor
dbs.Execute strSQL dbs.Close
End Sub
Koding :
i. Buku
yang sudah
proses
dipinjam,
diupdate
untuk
masuk
ke dalam
DaftarPinjamanAnggota j. Sebelum membuat Sub Prosedur untuk update DaftarPinjamanAnggota, terlebih dahulu periksa isi query berikut : PeminjamanRinci_qry1. Bila belum sesuai (kolomnya), harap disesuaikan (isi datanya boleh apa saja)
k. Alur Proses DaftarPinjaman Anggota -
Terima ID_anggota sebagai parameter / argumen
-
Ambil PeminjamanRinci_qry1 sebagai sumber data
-
ID_anggota sebagai kriteria
l. Buatlah koding Sub Prosedur DaftarPeminjamanAnggota berikut : Sub DaftarPinjamanAnggota(idAnggota As Integer) Dim strSQL As String
lstBukuPinjaman.ColumnCount = "7"
lstBukuPinjaman.ColumnWidths="0in;0in;1in;2in;0in;0.8in;0.8in" lstBukuPinjaman.RowSourceType = "Table/Query"
strSQL = "SELECT * FROM PeminjamanRinci_qry1 " & _ " WHERE (id_anggota = " & Val(idAnggota) & _ ") AND (status_keterangan = 'DiPinjam') " & _ " ORDER BY tgl_Pinjam DESC"
lstBukuPinjaman.RowSource = strSQL End Sub
m. Panggil-lah, sub prosedur tersebut, dengan menambahkan perintah Call di bagian akhir (sebelum End Sub) pada sub-sub program berikut :
1.7
-
NoAnggota_LostFocus
-
CmbNamaAnggota_Click
-
CmdPinjam_Click
LATIHAN F (SwitchBoard – 1 :: Membuat Menu) 1. Struktur Menu, dirancang sbb: -
Anggota o Tambah Anggota Baru o Edit Data Anggota
-
Buku o Tambah Buku (Induk) Baru o Edit Data Buku (Induk) o Edit Nomor Exemplar Buku
- Transaksi - Cetak Laporan Transaksi 2. Bukalah [Database Tools] – [SwitchBoard Manager]
3. Terimalah (klik YES) bila diminta, sehingga diberikan kotak dialog berikut:
4. Dari Main Switchboard, Klik tombol [New…], dan tambahkan item-item yang sesuai, hingga menjadi:
5. Masih di Main Switchboard, Klik [Edit…], dan seting lalu lintas proses m enuju switchboard yang sesuai: a. Ubah nama Main Switchboard, menjadi: Menu UTAMA b. Anggota, menuju Switchboard Anggota
c. Buku, menuju Switchboard Buku, Lakukan dengan cara yang sama seperti Anggota di atas d. Transaksi, membuka form transaksi_frm, dengan command: [Open form in Edit Mode]
e. Tambahkan, sub Menu: [Cetak Laporan Transaksi], dan di seting sbb:
f. Tambahkan, sub Menu: [Selesai], dan di set Command: Exit Application
6. Aturlah urutan sub menu, dengan tombol [Move Up] / [Move Down], sbb:
7. Kembalilah ke Switchboard Manager, dan pilih Switchboard Page Anggota, lalu klik [Edit…] Dalam switchboard anggota, klik [New…], untuk menambahkan sub menu sbb: a. Judul
: Tambah Anggota,
b. Command : Open Form in Add Mode c. Nama Form : Anggota
8. Lakukan dengan cara yang sama untuk: Item Judul Anggot Edit Anggota a
Command Open Form in Edit Mode
Objek Form Anggota
Anggot Kembali ke Menu a Utama
Goto Switchboard
Switchboard Menu UTAMA Form JudulBuku Form JudulBuku
Buku Buku Buku
Tambah Judul Buku Open Form in Add Mode Edit Judul Buku Open Form in Add Mode Kembali ke Menu Utama
Goto Switchboard
Switchboard Menu UTAMA
9. Tutuplah switchboard manager 1.8 LATIHAN G (SwitchBoard – 2 :: Menjalankan MENU (kerjakan diluar praktikum)) 1. Switchboard adalah FORM, sebagai menu UTAMA, bisa langsung dijalankan saat file Access dibuka 2. Bukalah MS Access Option, dari:
3. Lakukan setingan berikut:
4. Klik OK, dan tutuplah MS-Access 5. Jalankan ulang File ini, dan perhatikan jalannya switchboard saat Start-Up
1.9 LATIHAN H ( TUGAS dan LAPORAN) 1. Pahamilah proses transaksi PEMINJAMAN, lalu cobalah uraikan, bagaimana proses PENGEMBALIAN BUKU PINJAMAN ? cobalah dibuat tahapan prosedurnya (SOP) ! 2. Bahas proses Normalisasi (Bagian C) 3. Bahas pula pembuatan menu dengan switchboard !
BAB II PEMBAHASAN Pada Praktikum kali ini kita membahas transaksi, yang pada praktikum sebelumnya kita telah mempelajari tentang pembuatan form peminjaman dan pengembalian buku. Form yang telah di buat pada praktikum sebelumnya, di buka lagi untuk menjalankan program pada praktikum kali ini. Pertama, terlebih dahulu kita membuat form yang formatnya ditentukan dari kebutuhan sistem. Pada praktikum ini, sistem yang dibahas mengenai perpustakaan. Tabel yang telah ada kita buat relasi satu sama lain. Relasi merupakan penghubung antar tabel. Relasi antar tabel bekerja dengan mencocokkan data dalam field kunci, biasanya berupa field yang memilik nama yang sama pada kedua tabel yang memiliki relasi. Pada umumnya, field-field yang bersesuaian ini adalah primary key pada tabel yang satu, yang memberikan identitas unik bagi tiap record dalam tabel tersebut dan foreign key pada tabel yang lainnya. Beberapa macam relasi diantaranya : relasi 1-1, relasi 1-N, dan relasi N-N. Relasi yang saya gunakan pada kali ini adalah Relasi N-N (banyak ke banyak) berarti satu baris atau lebih data pada tabel pertama bisa dihubungkan ke satu baris atau lebih data pada tabel ke dua. Artinya ada banyak baris di tabel satu dan tabel dua yang saling berhubungan satu sama lain. Dimana relasi memiliki derajat relasi yang terdiri dari derajat relasi maksimum (kardinalitas) dan derajat relasi minimum (modalitas). Relasi dapat menghubungkan beberapa tabel dengan derajat relasi yang berbeda. Kita berlatih merelasikan tabel anggota dan tabel buku yang saling berelasi dimana derajat relasinya dari N ke N . Pada relasi N ke N, relasi akan memliki atributnya sendiri. Relasi akan menghasilkan tabel, yang didalam tabel tersebut terdapat foreign key dari tabel anggota dan foreign key dari tabel buku. Tabel ini disebut tabel relasi. Sedangkan tabel yang dihubungkannya disebut tabel refernsi. Foreign key dibutuhkan dalam proses pembuatan relasi antar tabel. Forign key berasal dari primary key tiap tabelnya. Relasi terbentuk dengan menhubungkan primary key dengan foreign key yang ada di tabel relasi. Maka relasi yang terjadi dari tabel relasi dan tabel referensi akan 1 ke N. Tabel relasi atau, tabel yang terbentuk akibat aktifitas penghubungan hanya berlaku pada relasi yang berderajat N ke N. Selanjutnya, kita berlatih mengenai normalisasi. Pada database,data yang ditampilkan biasanya ditunjukan dalam bentuk tabel sebgai hasil dari relasinya. Tapi, tidak semua relasi dibutuhkan untuk ditampilkan. Untuk itu normalisasi dibutuhkan. Tabel yang telah sesuai dengan kebutuhan disebut tabel normal. Jika suatu tabel belum sesuai kebutuhan, maka dilakukan
normalisasi. Proses normalisasi menyediakan cara sistematis untuk meminimalkan terjadinya redudansi atau kerangkapan data yang tidak perlu diantara relasi dalam perancangan data. Tujuan normalisai yaitu agar database tersebut dapat bekerja dengan optimal, terlepas dari adanya redudansi, serta memastikan dependensi data, atau data telah berada pada tabel yang tepat Normalisasi yang dilakukan untuk bisa membuat tabel seperti pada gambar tugas adalah dengan membuat tabel mobil, penyewa, no mobil, penyewaaan dan status keterangan. Kemudin dijadikan sebuah query yang memiliki relation agar bisa membuat tampilan seperti pada tampilan tugas. Switchboard adalah sebuah form yang yang berfungsi sebagai pengendali terhadap sejumlah kegiatan dalam suatu aplikasi. Untuk membuka sebuah form, kita tidak perlu melakukan sederet langkah. Melalui switchboard kita hanya perlu mengklik tombol untk memanggil form yang diinginkan. Untuk menampilkan Form kita pilih command Open Form in Add Mode lalu pilih Formnya, sedang untuk menampilkan Report kita pilih command Open Report lalu pilih Reportnya
BAB III KESIMPULAN
1. Database Relasional adalah suatu konsep penyimpanan data terstruktur, sebelum konsep database relasional muncul sudah ada uda model database yaitu network database dan hierarchie database . 2. Relasi antar tabel bekerja dengan mencocokkan data dalam field kunci, biasanya berupa field yang memilik nama yang sama pada kedua tabel yang memiliki relasi. Pada umumnya, field-field yang bersesuaian ini adalah primary key pada tabel yang satu, yang memberikan identitas unik bagi tiap record dalam tabel tersebut dan foreign key pada tabel yang lainnya. 3. Normalisasi database adalah suatu pendekatan untuk meminimalkan redundansi data pada database agar databse dapat bekerja secara optimal 4. Tujuan normalisasi adalah untuk menghilangkan atau mengurangi redudansi data dan tujuan, untuk memastikan dependensi data (data ada pada tabel yang tepat) 5. SwitchBoard adalah sebuah form yang berfungsi sebagai pengendali terhadap sejumlah kegiatan dalam suatu aplikasi. Dengan SwitchBoard kita cukup mengklik sebuah tombol untuk membuka formulir. 6. Tabel relasi atau, tabel yang terbentuk akibat aktifitas penghubungan hanya berlaku pada relasi yang berderajat N ke N. 7. Proses normalisasi menyediakan cara sistematis untuk meminimalkan terjadinya redudansi atau kerangkapan data yang tidak perlu diantara relasi dalam perancangan data.
SQL QUERY PENYEWAAN: SELECT
Penyewa.Nama_Penyewa,
Mobil.Merk_Mobil,
[No
Penyewa.No_Tlp_Hp,
Mobil].No_Seri,
Mobil.Biaya_Perhari,
Mobil.Tipe_Mobil,
Penyewaan.Lama_Sewa,
Penyewaan.Jumlah_Biaya FROM StatusKeterangan INNER JOIN (Mobil INNER JOIN ((Penyewa INNER
JOIN
Penyewaan
Penyewaan.Id_Penyewa)
ON
INNER
Penyewa.Id_Penyewa JOIN
[No
Mobil]
= ON
Penyewaan.No_STNK = [No Mobil].No_STNK) ON Mobil.Id_Mobil = [No
Mobil].Id_Mobil)
Mobil].Status;
ON
StatusKeterangan.Status
=
[No