Halaman

Senin, 17 Juni 2013

Tugas Praktikum

                Assalamu’alaikum ^o^
Tugas praktikum kali ini lumayan membingungkan tapi Alhamdulillah lancar :D
Semoga bermanfaat ^^
Create database Kepegawaian1
Use Kepegawaian1
Create table Jabatan (
            Kode_Jabatan char (4)not null primary key,
            Nama_Jabatan char (20))
Select* from Jabatan
Insert into Jabatan values ('001', 'Programmer')
Insert into Jabatan values ('002', 'Operator')
Insert into Jabatan values('003', 'Sistem Analisis')
Insert into Jabatan values ('004', 'Pimpinan Proyek')
Select * from Jabatan

Create table Kota (
            Kode_Kota char (3)not null primary key,
            Nama_Kota char (25))
Select * from Kota
Insert into Kota values ('BDG', 'Bandung')
Insert into Kota values ('JKT', 'Jakarta')
Insert into Kota values ('CRB', 'Cirebon')
Insert into Kota values ('DIY', 'Yogyakarta')
Select * from Kota

Create table Pegawai (
            NIP char (4) not null primary key,
            Nama_Pegawai char (25),
            Alamat char (30),
            Kode_Kota char (3) references Kota(Kode_Kota) ,
            Kode_Jabatan char (4) references Jabatan(Kode_Jabatan),
            Gaji int)
Select * from Pegawai
Insert into Pegawai values ('111', 'Totok', 'Jln. Ganesha', 'BDG', '001', 70000)
Insert into Pegawai values ('222', 'Udin', 'Jln. Thamrin', 'JKT', '002', 50000)
Insert into Pegawai values ('333', 'Budi', 'Jln. Kelasan', 'DIY', '004', 1500000)
Insert into Pegawai values ('444', 'Ahmad', 'Jln. TamanSari', 'BDG', '003', 1000000)
Select * from Pegawai
Create table Absensi (
            NIP char (4) references Pegawai(NIP),
            Bulan tinyint,
            Jml_Masuk int)
Select * from Absensi
Insert into Absensi values ('111', '1', '22')
Insert into Absensi values ('222', '1', '21')
Insert into Absensi values ('333', '1', '21')
Insert into Absensi values ('444', '1', '20')
Insert into Absensi values ('111', '2', '20')
Insert into Absensi values ('222', '2', '21')
Insert into Absensi values ('333', '2', '23')
Insert into Absensi values ('444', '2', '20')
Insert into Absensi values ('111', '3', '22')
Insert into Absensi values ('222', '3', '20')
Insert into Absensi values ('333', '3', '21')
Insert into Absensi values ('444', '3', '18')
Insert into Absensi values ('111', '4', '19')
Insert into Absensi values ('222', '4', '21')
Insert into Absensi values ('333', '4', '20')
Insert into Absensi values ('444', '4', '20')
Select * from Absensi

Select NIP,Nama_Pegawai,Kode_Kota from Pegawai where Kode_Kota='BDG'
Select * from Pegawai cross join Kota cross join Jabatan
Select P.Gaji, K.Kode_Kota, K.Nama_Kota from Pegawai P inner join Kota K on P.Kode_Kota=K.Kode_Kota
Select K.Kode_Kota, K.Nama_Kota, P.Gaji from Kota K inner join Pegawai P on K.Kode_Kota=P.Kode_Kota
Select P.NIP, P.Nama_Pegawai, A.Jml_Masuk from Pegawai P cross join Absensi A
Select P.NIP, P.Nama_Pegawai, A.Jml_Masuk from Pegawai P inner join Absensi A on P.NIP=A.NIP
Select AVG (Jml_Masuk) from Absensi
Select Bulan, Jml_Masuk from Absensi

       1.  Tampilkan nama pegawai, NIP, dan kode kota pegawai yang tinggal di Bandung
    Select NIP,Nama_Pegawai,Kode_Kota from Pegawai where Kode_Kota='BDG' 

      2. Tampilkan seluruh pegawai dengan atribut NIP, nama pegawai, alamat, kota, kode kota, gaji    
           beserta nama kota dan nama jabatan yang sesuai
   Select * from Pegawai cross join Kota cross join Jabatan

     3.   Tampilkan subtotal gaji untuk setiap kelompok dengan atribut kode kota, nama kota dan total   
            gaji perkota
  Select P.Gaji, K.Kode_Kota, K.Nama_Kota from Pegawai P inner join Kota K on 
   P.Kode_Kota=K.Kode_Kota

      4. Tampilkan subtotal gaji untuk setiap kelompok kota dengan atribut kode kota, nama kota, dan 
            total gaji perkota termasuk kota yang pegawainya tidak ada
   Select K.Kode_Kota, K.Nama_Kota, P.Gaji from Kota K inner join Pegawai P on 
    K.Kode_Kota=P.Kode_Kota

      5.    Hitung jumlah hari masuk dari table absensi untuk setiap pegawai, selama 4 bulan dengan 
             attribute NIP, nama pegawai dan jumlah masuk
     => Select P.NIP, P.Nama_Pegawai, A.Jml_Masuk from Pegawai P cross join Absensi A

   => Select P.NIP, P.Nama_Pegawai, A.Jml_Masuk from Pegawai P inner join Absensi A on 
           P.NIP=A.NIP

     6.    Tampilkan rata – rata jumlah hari masuk untuk setiap bulan dengan attribute bulan dan jumlah 
            masuk 
            Select AVG (Jml_Masuk) from Absensi

Select Bulan, Jml_Masuk from Absensi


Tidak ada komentar:

Posting Komentar