Thursday, 26 April 2012

Jawaban Quis VBII (Lab C)

1. Buat database : mahasiswa.mdb

2. Tabel yang dibutuhkan

a. Mahasiswa 

Field Name    Data Type     Field Size    Keterangan
        Nim             Text              8                 PK
       Nama           Text             30             
      Jurusan          Text             30

Isi data mahasiswa sebanyak 3 record

b. Kuliah 

Field Name     Data Type     Field Size    Keterangan
Kodematkul       Text                 3                PK
Nmmatkul          Text                30

Isi data kuliah sebanyak 3 record

c. Nilai 

Field Name     Data Type    Field Size    Keterangan
    Nim                Text               8                PK
Kodematkul        Text               3               
    Nilai             Number
   Grade               Text              1
    Ket                  Text             20

3. Design Form Mahasiswa



4. Ketentuan Soal:

a. Buatlah prosedure : aktif, noanaktif dan bersih

b. Klik button ADD untuk menginput data mahasiswa

c. Pilih NIM maka nama dan jurusan akan tampil otomatis

d. Pilih Kode Mata kuliah maka akan tampil nama mata kuliah secara otomatis

e. Input Nilai maka grade dan keterangan akan tampil otomatis

Jika nilai 85-100 maka grade=A dan keterangan=Sangat baik
Jika nilai 70-84 maka grade=B dan keterangan=Baik
Jika nilai 60-69 maka grade=C dan keterangan=Cukup
Jika nilai 50-59 maka grade=D dan keterangan=Kurang
Jika nilai 0-49 maka grade=E dan keterangan=Buruk
f. Klik button SAVE untuk menyimpan data ke tabel nilai

g. Klik button EXIT untuk menutup form

Komponen yang ditambahkan:

1. Data combo 2 buah(Microsoft Data List Controls 6.0 (OLEDB))
Properties : 
a. Rowsource  adomhs
Listfield  nim

b. Rowsource  adokuliah
Listfield  kodematkul

2. MSHFLexGrid 1 buah
Properties : DataSource adonilai

3. Adodc 3 buah



Koneksi Adodc

Pada jendela properties pilih ConnectionString
Maka akan tampil jendela PropertyPages sbb.





a. Pilih use connection string Build Microsoft Jet 4.0 OLE DB ProviderNext



b. Tampil jendela data link properties



c. Pada select or enter a database name klik ... (ke folder database mahasiswa.mdb yang telah dibuat sebelumnya  open)

Klik Test Connection  Ok Ok
Setelah itu pada jendela Properties pilih RecordSource
Tampil jendela Property pages



Properties : 
a. Name adomhs
ConnectionString mahasiswa.mdb
RecordSource  select * from mahasiswa
b. Name adokuliah
ConnectionString mahasiswa.mdb
RecordSource  select * from kuliah
c. Name adonilai
ConnectionString mahasiswa.mdb
RecordSource  select * from nilai


Listing Program:

Sub bersih()
tnama = ""
tjur = ""
tnmmatkul = ""
tnilai = ""
tgrade = ""
tket = ""
dcnim = ""
dckode = ""
End Sub

Sub aktif()
dcnim.Enabled = True
dckode.Enabled = True
tnilai.Enabled = True
End Sub

Sub nonaktif()
dcnim.Enabled = False
tnama.Enabled = False
tjur.Enabled = False
dckode.Enabled = False
tnmmatkul.Enabled = False
tnilai.Enabled = False
tgrade.Enabled = False
tket.Enabled = False
End Sub

Private Sub Form_Activate()
bersih
nonaktif
cmdadd.SetFocus
End Sub
Private Sub cmdadd_Click()
aktif
dcnim.SetFocus
End Sub

Private Sub dcnim_Click(Area As Integer)
adomhs.RecordSource = "select*from mahasiswa where nim='" & dcnim & "'"
adomhs.Recordset.MoveFirst
Do While Not adomhs.Recordset.EOF
If dcnim.Text = adomhs.Recordset!nim Then
With adomhs.Recordset
tnama.Text = !nama
tjur.Text = !jurusan
Exit Sub
End With
End If
adomhs.Recordset.MoveNext
dckode.SetFocus
Loop
End Sub

Private Sub dckode_Click(Area As Integer)
adokuliah.RecordSource = "select*from kuliah where kodematkul='" & dckode & "'"
adokuliah.Recordset.MoveFirst
Do While Not adokuliah.Recordset.EOF
If dckode.Text = adokuliah.Recordset!kodematkul Then
With adokuliah.Recordset
tnmmatkul.Text = !nmmatkul
Exit Sub
End With
End If
adokuliah.Recordset.MoveNext
tnilai.SetFocus
Loop
End Sub

Private Sub cmdsave_Click()
With adonilai.Recordset
.AddNew
.Fields("nim") = dcnim.Text
.Fields("kodematkul") = dckode.Text
.Fields("nilai") = tnilai.Text
.Fields("grade") = tgrade.Text
.Fields("ket") = tket.Text
.Update
End With
adonilai.RecordSource = "select* from nilai"
adonilai.Refresh
nonaktif
adonilai.Refresh
bersih
End Sub

Private Sub tnilai_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If (tnilai >= 85) Then
tgrade = "A"
tket = "Sangat Baik"
Else
If (tnilai >= 70) Then
tgrade = "B"
tket = "Baik"
Else
If (tnilai >= 60) Then
tgrade = "C"
tket = "Cukup"
Else
If (tnilai >= 50) Then
tgrade = "D"
tket = "Kurang"
Else
tgrade = "E"
tket = "Buruk"
End If
End If
End If
End If
End If
End Sub

Private Sub cmdexit_Click()
Unload Me
End Sub

Sumber : Ahmad Sinnun (ahdsin.us)

0 comments:

Post a Comment

Mohon untuk berkomentar dengan kata-kata yang baik. Silahkan ajukan pertanyaan, insyaAllah saya jawab sebisanya