Laporan PGT 1
Laporan PGT 1
PEMROGRAMAN TEKNIK 1
Disusun Oleh:
Aas Wardani
216341001
1AE-A
2017
BAB I
PENDAHULUAN
Pada praktikum Pemrgraman Teknik I ini mempelajari konsep dasar dari database
menggunakan Microsoft Access.Database terdiri dari dua kata yaitu data yang berarti
representasi fakta dunia nyata yang memiliki sebuah objek dan basecamp yang berarti tempat
berkumpul, jadi database adalah tempat berkumpulnya data yang saling berhubungan yang
diorganisasi sehingga dapat dimanfaatkan kembali dengan cepat dan mudah.
1. Kecepatan dan kemudahan artinya cepat untuk diproses dan mudah didapatkan kembali
seperti dalam proses pengambilan uang di ATM
2. Efisiensi ruang penyimpanan,misalnya dalam penulisan NIM 216341001 menggunakan
short text,maka diawal akan tersedia ruang 256 bit,untuk menghemat ruang penyimpanan
maka harus diganti dengan menggunakan 9 bit
3. Keakuratan,artinya penyimpangan harus seminimal mungkin
4. Ketersediaan,artinya untuk membuat sebuah database harus ada data pendukungnya.
Misalnya untuk membuat membuat data nilai maka minimal harus ada data nama
mahasiswa dan pelajaran
5. Kelengkapan, agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan
pemakai maupun terhadap waktu
6. Keamanan,jangan sampai bisa dibobol oleh orang lain
7. Kebersamaan pemakaian,dapat digunakan oleh banyak orang yang membutuhkan dan di
banyak tempat.
Praktikum 1
ERD (Entity Relationship Diagram) untuk Merancang Database
ERD merupakan sebuah metode ya ng digunakan untuk menampilkan database agar
logis,menggunakan symbol-simbol yang standar.
Komponen ERD
Entitas Atribut
Mahasiswa #NIM,Nama
Dosen #NIP,Nama,Alamat
Kelas #kode_kls,jml_mhs,nm_jurusan
Jurusan #kode_jurusan,nm_jurusan
Dari table diatas dapat dibuat sebuah relasi satu ke satu (1-1)
#NIP Nm_jur
Alamat #kode_jur
Nama NIP
Atribut kunci adalah atribut yang memiliki nilai uniik (primary key),diberi tanda garis bawah
atau tanda pagar
Syarat dari relasi hubungan 1-1 adalah harus ada atribut yang sama dan atribut yang sama
tersebut adalah atribut kunci.
Dari table diatas dapat dibuat sebuah relasi satu ke satu (1-M)
#NIP Nama
Alamat #nim
Nama NIP
Latihan 2.1
Buat database orders lengkapi dengan tiga tabel dengan struktur berikut ini,atur format dan
property berdasarkan tipe data yang dipakai
Tcustomer
TOrder
TInvoice
TCost
Latihan 2.2
TKomputer_Hardware
TKomputer_Software
TKeperluan
TPemakaian
TInvKomputer
Diagram Relationship
Praktikum 3
Implementasi Database DML
1. Buka kembali database Inventaris_Komp
2. Perhatikan relationship berikut buat query tersebut dalam sintak SQL dalam SQL View
dan design view
3. Isi tabel dengan data sebagai berikut
TMahasiswa
TKomputer_Hardware
TKomputer_Software
TKeperluan
TPemakaian
TInvKomputer
Analisis :
Query diatas berfungsi untuk menampilkan nama Mahasiswa yang memakai
komputer. Perintah SELECT M.Nama_mhs berfungsi untuk menampilkan nama
mahasiwa (Nama_mhs) dari tabel TMahasiswa. Tmahasiswa dalam query ini
didefinisikan dengan huruf M yang ditulis dalam pada FROM. Syarat yang harus
dipenuhi adalah NIM yang ada pada Tmahasiswa harus sama dengan NIM yang
ada pada TPemakaian yang didefinisikan dengan huruf A. Kemudian penulisan
(A.No_client)=PC_1 adalah syarat kedua yang harus dipenuhi yaitu No_client
pada tabel TPemakaian harus PC_1. Kemudian penulisan A.No_keperluan
='6'adalah syarat ketiga yang harus dipenuhi yaitu No_keperluan pada tabel
TPemakaian harus 6.Nama yang ditampilkan pada tampilan hasil adalah yang
memenuhi ketiga syarat tersebut.
b. Tampilkan 3 digit akhir kelas dari tbel mahasiswa beserta nama mahasiswa dan
nomor koin
Query :
SELECT Right(Kelas,3) AS Nama_kelas, Nama_mhs, No_koin
FROM TMahasiswa;
Hasil :
Analisis :
Query atas merupakan query untuk menampilkan 3 digit akhir kelas, Nama
Mahasiswa,dan nomor koin dari Tmahasiswa. Perintah SELECT Right(Kelas,3)AS
Nama_kelas adalah untuk menampilkan 3 karakter pertama yang diambil dari kanan
kemudian disimpan dalam field Nama_kelas. Nama_mhs adalah untuk menampilkan
nama mahasiswa dan No_koin untuk menampilkan no koin. FROM Tmahasiwa;
menunjukan bahwa semua atribut yang akan ditampilkan berasal dari tabel
Tmahasiswa.
Query di atas merupakan Query untuk menampilkan spesifikasi hardware dan software
berdasarkan no_client yang sama. Dalam perintah FROM TKomputer_Hardware
didefinisikan sebagai H dan TKomputer_Software didefinisikan sebagai S. Perintah
SELECT akan menampilkan spesifikasi hardware dan software yang ada pada tabel
TKomputer_Hardware dan Tkomputer_Software.Syarat yang harus dipenuhi dalam
perintah WHERE adalah no_client yang ada pada TKomputer_Software harus sama
dengan no_client yang ada pada TKomputer_Hardware.
Query:
SELECT M.Nama_mhs
WHERE (M.Nim=K.Nim);
Hasil :
Analisis :
Query di atas merupakan query untuk menampilkan nama mahasiwa yang melakukan
inventaris di labkomp. Nama mahasiswa (Nama_mhs) akan diambil dari Tmahasiswa
yang didefinisikan sebagai M pada perintah FROM. Syarat yang harus dipenuhi adalah
NIM yang ada pada tebel Tmahasiswa harus sama dengan NIM yang ada pada tabel
Tinvkomputer yang didefinisikan sebagai K.
e. Buat query input berdasarkan nama mahasiswa yang telah memakai komputer pada
tanggal 21/03/2012
Query:
SELECT M.Nama_mhs, P.Tgl_pemakaian
FROM TMahasiswa AS M, TPemakaian AS P
WHERE (M.Nim=P.Nim) AND Tgl_pemakaian = [input tanggal pemakaian] AND
P.No_client='PC_1'
Hasil :
Analisis :
Hasil :
Analisis :
Query :
SELECT M.Nim, P.Keterangan, M.Nama_mhs
FROM Tmahasiswa AS M, TPemakaian AS P
WHERE (M.Nim=P.Nim) AND M.Nim like '210*';
Hasil :
Analisis :
Query di atas bertujuan untuk menampilkan mahasiswa angkatan 2010 yang
telah memakai komputer. Data yang akan ditampilkan adalah Nama_Mhs,nim dan
Keterangan yang diambil dari tabel Tmahasiswa. Syarat yang harus dipenuhi
adalah 3 karakter awal dari atribut nim yang ada pada Tpemakaian harus berisi
210 dan atribut nim yang ada pada Tmahasiswa harus sama dengan atribut nim
yang ada pada Tpemakaian.
Query :
SELECT Count (*) AS Record_pemakaian
FROM TPemakaian
WHERE No_client='PC_1';
Hasil :
Analisis :
Query di atas merupakan query untuk menampilkan jumlah record yang
memakai komputer. Data yang akan ditampilkan diambil dari tabel Tpemakaian.
Fungsi count(*) adalah untuk menghitung jumlah record semua atribut yang ada di
Tpemakaian dengan syarat isi atribut No_client harus mengandung kata PC_1.
Query :
SELECT Nama_mhs
FROM TMahasiswa
WHERE Nama_mhs like 'D*';
Hasil :
Analisis :
Query :
Hasil :
Analisis :
Praktikum 4
Data Tabel
TJurusan
TDosen
TMahasiswa
TMataKuliah
TPrasyarat
TKelas
TAmbil
TNgajar
Diagram Relasi
Tugas I
Hasil :
Analisis :
Query di atas merupakan Query untuk menampilkan mahasiswa satu angkatan
dan nimnya. Data yang akan ditampilkan diambil dari tabel mahasiswa oleh. Syarat
yang harus dipenuhi adalah karakter 3 digit pertama dari kiri pada atribut nim harus
berisi 113*.
Query :
SELECT nama_mk, sks
FROM MataKuliah
WHERE kd_pengambilan='genap';
Analisis :
Query di atas merupakan query untuk menampilkan hasil seperti yang ada pada
tampilan hasil. Atribut yang ditampilkan adalah nama mata kuliah dan sksnya yang
diambil dari tabel MataKuliah dengan syarat isi atribut kd_pengambilan harus
genap.
3. Buat Query yang dapat menampilkan tabel seperti berikut!
Query :
SELECT M.nm_mhs, Mid(nim,6,3) AS 3d, J.Nama_jur
FROM Mahasiswa AS M, Jurusan AS J
WHERE M.kd_jur=J.kd_jur AND tgl_lahir like '*79';
Analisis :
Query di atas merupakan query untuk menampilkan keluaran seperti yang ada
pada tampilan hasil. Atribut yang akan ditampilkan adalah nama, 3 digit tengah
NIM dan nama jurusan yang diambil dari tabel mahasiwa. Syarat yang harus
dipenuhi adalah isi atribut kode_jur yang ada di tabel Mahasiswa harus sama
dengan yang ada di tabel Jurusan, dan atribut tg_lahir pada tabel Mahasiswa dua
karakter terakhirnya adalah 79.
4. Buat query yang menampilkan hasil sebagai berikut berdasarkan tabel dosen!
Query :
FROM Dosen
Query di atas merupakan Query untuk menampilkan keluaran seperti yang ada
pada tampilan hasil. Atribut yang akan ditampilkan pada keluaran adalah nama dan
umur yang diambil dari tabel Dosen. Khusus untuk menampilkan umur,pada
perintah select diberi formula 2003-Year(tgl_lahir) AS Age, maksud dari
formula tersebut adalah menampilkan hasil pengurangan antara bilangan 2003
dengan tahun yang tertera pada atribut tgl_lahir yang akan ditampilkan pada field
Age. Syarat yang harus dipenuhi adalah Tahun pada atribut tgl_lahir pada tabel
dosen harus terletak antara1950 sampai 1955.
Hasil :
Analisis :
Query ini akan secara langsung menampilkan seluruh atribut dari tabel
mahasiswa untuk yang memiliki atribut NIM dengan awalan 113.
Hasil :
Analisis :
Query di atas bertujuan untuk menampilkan nama dosen dan kode
jurusannya yang diambil dari tabel Dosen dengan parameter inputannya NIP
dosen tersebut diinput oleh user pada saat running. Ketika program dieksekusi
maka akan ada tampilan untuk memasukan NIP setelah itu akan muncul nama
dan kode jurusan dosen yang memiliki NIP yang diinput tersebut.
b. Buatlah perintah untuk menampilkan
Query :
SELECT nm_mhs AS NAMA, 'Jurusan' AS JURUSAN, kd_jur AS KO
FROM Mahasiswa;
Analisis :
Query di atas bertujuan untuk menampilkan hasil seperti yang ada pada
hasil tampilan. Data akan diambil dari tabel Mahasiswa yaitu atribut nm_mhs
yang didefinisikan sebagai NAMA dan kd_jur yang didefinisikan sebagai KO
serta tambahan field jurusan yang seluruh isinya adalah jurusan
Hasil :
Hasil :
Analisis :
Perbedaan dari keempat query di atas adalah:
Hasil :
Analisis :
Query di atas bertujuan untuk menampilkan nip,jenkel,kd_jur,dan nm_dosen
dari tabel Dosen yang memiliki nama berawalan huruf h. Sayarat yang harus
dipenuhi untuk menampilkan keluarannya adalah dosen.nm_dosen Like H*,
maksudnya isi karakter dari atribut nama harus berawalan huruf h.
b.Buatlah Query untuk menampilkan kelas dan waktu penggunaannya . Tampilan
seperti berikut:
Query :
SELECT no_kelas AS Ruang, 'Digunakan pada hari:' AS
Digunakan_pada_hari, hari, waktu AS jam
FROM Kelas
ORDER BY no_kelas;
Analisis :
Query di atas bertujuan untuk menampilkan no_kelas yang didefinisikan
sebagai ruang , Digunakan_pada yang selurunya berisi digunakan pada
hari :, hari,dan waktu yang didefinisikan sebagai jam yang diambil dari tabel
Kelas.
10. a. Buatlah Query untuk menampilkan nama lengkap dosen informatika yang
bergolongan darah B dimana kode_jur dimasukan saat runtime ! tampilan seperti
berikut :
Query :
SELECT nip, ucase (nm_dosen) AS Nama_Lengkap
FROM Dosen
WHERE gol_dar='B' AND kd_jur=[Masukan kode jurusan];
Analisis :
Query di atas bertujuan untuk menampilkan nip dan nama lengkap dosen sesuai
dengan tampilan hasil yang diambil dari tabel dosen dengan parameter masukan
adalah kd_jur. Untuk menampilkan tampilan keluaran tersebut,syarat yang harus
diberikan adalah kd_jur harus sama dengan masukan dan atribut golongan darah
(gol_dar) harus berisi B
b.Seperti no 11.a ditambah batasan dosen yang lahir di bulan maret! Sertakan juga
hasil akhirnya
Query :
SELECT nip, ucase(nm_dosen) AS Nama_Lengkap
FROM Dosen
WHERE gol_dar='B' AND Month(tgl_lahir)='3' AND kd_jur=[Masukan Kode
Jurusan];
Hasil :
Analisis :
Pada bagian b ini seluruhnya sama seperti bagian A hanya saja ada penambahan
syarat yaitu Month(tgl_lahir)=3, , yang berarti bagian bulan pada atribut tgl_lahir
harus bernilai 3
11. Tampilkan nama lengkap beserta NIP dari dosen yang mempunyai panjang nama
lengkap lebih dari atau sama dengan 12, dengan hasil tampilan sbb:
Query :
Query di atas bertujuan untuk menmpilkan Nama dan NIP yang diambil
dari tabel Dosen. Perbedaannya pada 3 karakter awal NIP tidak dituliskan namun
diganti dengan karakter bintang (***+nip).
12. Tampilkan kode mata kuliah dan nama mata kuliah jurusan informatika dari tabel
matkul dimana mata kuliah ditampilkan rata kiri dan kode jurusan dimasukan saat
runtime
Query :
SELECT kd_mk AS Kode, nama_mk AS Mata_Kuliah
FROM MataKuliah
WHERE kd_jur=[Masukan Kode];
Analisis :
Query di atas bertujuan untuk menampilkan tampilan keluaran seperti yang ada
pada hasil tampilan. Kd_mk yang didefinisikan sebagai kode dan nama_mk yang
didefinisikan sebagai mata_kuliah adalah atribut yang akan ditampilkan pada
keluaran yang keduanya diambil dari tabel MataKuliah. Parameter masukan yang
digunakan adalah kd_jur, sehingga kd_mk dan nama_mk yang akan ditampilkan
hanya yang berasal dari jurusan yang dimasukan.
13. Buat Query untuk menampilkan kode jurusan,nim dan nama mahasiswa dengan
tampilan sebagai berikut
Query :
SELECT kd_jur AS KD, Mid(nim,4,2)+'-'+Mid(nim,7,3), nm_mhs AS Nama_Mhs
FROM Mahasiswa;
Analisis :
Query di atas bertujuan untuk menampilkan kd_jur yang didefinisikan sebagai
KD ,NIM dan nama_mhs. Perbedaannya NIM yang akn ditampilkan hanya karakter
tengah dan 3 digit terakhirnya yang dipisahkan oleh -. Maka dari itu pada perintah
SELECT ditulis MID(NIM,4,2)+'-'+MID(nim,7,3).
Tugas II
1. Jalankan perintah berikut dan jelaskan perbedaannya
a. Buat Sintak SQL yang menampilkan nim,jumlah record nim dari tabel dan mata
kuliah yang dikelompokkan berdasarkan nim
Query :
SELECT m.nim, count(m.nim+a.nim) AS jumlah_record
FROM Mahasiswa AS m, Ambil AS a
WHERE m.nim=a.nim
GROUP BY m.nim;
Hasil :
Analisis :
Query di atas berfungsi untuk menampilkan jumlah nim yang sama pada tabel
mahasiswa dan tabel Ambil. Dalam query ini GROUP BY berfungsi untuk
menempatkan isi dari semua atribut yang sama ditempatkan dalam satu kelompok.
Query :
SELECT m.nim, count(m.nim+a.nim) AS jumlah_record
FROM Mahasiswa AS m, Ambil AS a
WHERE m.nim=a.nim
GROUP BY m.nim
HAVING count(m.nim+a.nim)>1;
Hasil :
Analisis :
Query di atas berfungsi untuk menampilkan jumlah nim yang sama pada tabel
mahasiswa dan tabel Ambil. Dalam query ini GROUP BY berfungsi untuk
menempatkan isi dari semua atribut yang sama ditempatkan dalam satu kelompok,
ditambah dengan syar berikutnya yaitu jumlah kesamaan untuk setiap nim yang
sama di tabel Ambil lebih dari satu.
2. Buat suatu query yang dapat menghasilkan tabel seperti berikut berdasarkan tabel kelas
Query :
SELECT no_kelas, count(*) AS dipakai, 'kali' AS Kali
FROM Kelas
GROUP BY no_kelas;
Analisis :
Query di atas bertujuan untuk menampilkan keluaran seperti yang ada pada
tampilan hasil. atribut yang akan ditampilkan adalah no_kelas, lalu dalam kolom
dipakai akan terisi nilai yang menunjukan berapa kali suatu kelas dipakai, untuk
mendapat nilai tersebut maka digunakan fungsi count , count(*) AS dipakai.Lalu
perintah GROUP BY berfungsi untuk mengelompokan,dalam hal ini dikelompokan
berdasrakan no_kelas.
3. Buat query untuk menampilkan syarat mata kuliah yang boleh diambil oleh seorang
mahasiswa yang tampilannya sebagai berikut
Query :
SELECT a.nama_mk, 'diambil setelah' AS DIAMBIL_SETELAH, b.nama_mk
FROM MataKuliah AS a, MataKuliah AS b, prasyarat AS c
WHERE (a.kd_mk=c.kd_mk_sekarang) AND (b.kd_mk=c.kd_mk_sebelum);
Analisis :
Query di atasberfungsi untu menampilkan nama_mk dari tabel MataKuliah
dimana tabel MataKuliah didefinisikan menjadi dua variable yaitu a dan b. Dimana
MataKuliah dengan variable a merupakan matakuliah yang dapat diambil setelah
matakuliah pada tabel MataKuliah dengan variable b dipenuhi.
Hasil :
b. SELECT nim
FROM Mahasiswa
WHERE val(mid(nim,8,2))<79 and
val(Mid(nim,4,2))=99
and nim in(select nim
from Mahasiswa
where val(Mid(nim,8,2))>13 and
val(Mid(nim,4,2))=99);
Hasil :
c. SELECT nim
FROM Mahasiswa
WHERE val(mid(nim,8,2))<79 and
val(mid(nim,4,2))=99
and nim not in(select nim from Mahasiswa where val(Mid(nim,8,2))>13 and
val(mid(nim,4,2))=99);
Hasil :
5. Buat suatu query yang dapat menampilkan nama-nama dosen satu jurusan berdasarkan
inputan dari user yang menghasilkan tabel seperti berikut
Query :
SELECT nm_dosen,kd_jur
FROM Dosen
WHERE kd_jur=[Enter Value for jurusan1]
UNION SELECT nm_dosen,kd_jur
FROM Dosen
WHERE kd_jur=[Enter Value for jurusan2];
Analisis :
Query diatas berfungsi untuk menampilkan gabungan nm_dosen dan kd_jur
menggunakan fungsi UNION.
6. Buat suatu Query yang dapat meampilkan suatu tabel dibawah ini menggunakan query
bersarang
Query :
Analisis :
Query diatas berfungsi untuk menampilkan nip,nm_dosen,alamat dari tabel
Dosen diman karakter pertama dari atribut alamat harus sam dengan dengan karakter
pertama atribut alamat dari tabel dosen dimana nm_dosen berisi Ino Suryana. Query
ini merupakan aplikasi dari fungsi intersect.
7. Buat Query yang dapat menampilkan mahasiswa yang nimnya tidak ada di tabel ambil
dengan tampilan sebagai berikut
Query :
SELECT nim, nm_mhs
FROM Mahasiswa
WHERE nim NOT IN(SELECT nim FROM Ambil);
Analisis :
Query tersebut adalah aplikasi dari fungsi minus dan dalam Microsoft access
menggunakan perintah NOT IN.
BAB III
PENUTUP
Kesimpulan
Setelah mempelajari praktikum pemrograman teknik menggunakan Microsoft
acces dapat simpulkan bahwa database merupakan alat yang penting dalam
memperoleh data yang dibutuhkan dengan mudah dan cepat. Terlebih dalam sebuah
system yang terdiri dari beberapa elemen yang saling berhungan misalnya sepeti
institusi pendidikan dan intansi perusahaan.
Ada beberapa elemen penting dalam membuat database yaitu :
1. Tabel
Tabel adalah elemen yang terdiri dari baris dan kolom yang didalamnya terdapat
atribut-atribut yang disebut dengan field. Dalam pembuatan tabel harus dipertimangkan
ukuran penyimpanan atribut yang digunakan agar tidak boros. Nama dari tabel itu sendri
adalah entitas
2. Relationship
Relationship adalah hubungan antar beberapa tabel/entitas dalam database yang memiliki
karakter unik yaitu :
a. Primary key
Primary key adalah atribut yang memiliki niali yang unik yang berbeda dengan atribut
yang lain
b. Foreign key
Foreign key adalah atribut yang melengkapi tabel selain primary key
3. Query
Query adalah elemen perintah yang digunakan untuk permintaan data yang disusun dari
sintak-sintak yang tersusun secara sistematis. Sintak-sintax utama yang digunakan dalam
pembuatan query yaitu
a. SELECT
Select adalah perintah untuk menampilkan seluruh atau beberapa atribut dari suatu
tabel.
b. FROM
From berfungsi untuk menunjuk tabel yang atributnya akan ditampilkan sesuai perintah
select.
c. WHERE
Where berfungsi untuk memeberi syarat untuk atribut yang kan ditampilkan.