Jumat, 16 Desember 2011

Menghitung derajat jam

Tampilan utama derajatjam 
Buat command button pada halaman excel dengan masuk ke tab developer, insert, activex controls, command button (activex control). Atur seperti gambar di atas. 
Dobel klik tombol tersebut, akan muncul jendela vba (visual basic application). 
Ganti properties name = CmdOK, caption = OK

Ganti (General) menjadi cmdok 
Ketikkan code berikut ini. 


Private Sub CmdOk_Click()
Dim Jam, Menit, LetakJam, LetakMenit, Sisa, cMenit, cJam, LoncatB, Kurang As Integer
Dim a, DrjtB, DrjtM, DrjtJ, DrjtT As Single

Jam = Val(Cells(4, 2))
Menit = Val(Cells(4, 4))
If Menit > 60 Then
MsgBox "jam di luar jangkauan.", vbCritical, "Dj"
Cells(4, 4).Select
Exit Sub
ElseIf Menit > 0 Then
If Jam > 23 Then
MsgBox "jam di luar jangkauan.", vbCritical, "Dj"
Cells(4, 2).Select
Exit Sub
ElseIf Jam > 12 Then LetakJam = Jam - 12
ElseIf Jam = 12 Then LetakJam = 0
ElseIf Jam < 0 Then
MsgBox "jam di luar jangkauan.", vbCritical, "Dj"
Cells(4, 2).Select
Else: LetakJam = Jam
End If
ElseIf Menit < 0 Then
MsgBox "jam di luar jangkauan.", vbCritical, "Dj"
Cells(4, 4).Select
End If
LetakMenit = Int(Menit / 5)
Sisa = Menit Mod 5

'Membuat soal
Range("A7") = "Hitung sudut terkecil yang dibentuk jarum panjang dan jarum pendek pada pukul " & Jam & ":" & Menit & "."
If LetakMenit > LetakJam Then
LetakJam = LetakJam + 1
LoncatB = LetakMenit - LetakJam
Menit = 60 - Menit
ElseIf LetakMenit < LetakJam Then
LetakMenit = LetakMenit + 1
LoncatB = LetakJam - LetakMenit
Sisa = 5 - Sisa
Else:
LoncatB = 0
End If
DrjtB = LoncatB * 30
DrjtJ = Menit / 60 * 30
DrjtM = Sisa * 6
DrjtT = DrjtB + DrjtJ + DrjtM

'Menuliskan jawaban
Range("a8") = "Penyelesaian:"
Range("a8").Font.Bold = True
Range("a9") = "Jelas antara jarum pendek mendekati " & LetakJam & " & jarum panjang mendekati " & LetakMenit & ", terdapat " & LoncatB & " loncatan."
Range("a10") = "Jadi derajat bulatnya adalah " & LoncatB & "x30 =" & DrjtB & "."
Range("a11") = "Derajat jam = " & Menit & "/60x30 = " & DrjtJ & "."
Range("a12") = "Derajat menit = " & Sisa & "x6 = " & DrjtM & "."
Range("a13") = "Jadi derajat total = " & DrjtB & " + " & DrjtJ & " + " & DrjtM & " = " & DrjtT & "."
Range("a14") = "Jadi sudut terkecilnya adalah " & DrjtT & "."
Range("a14").Font.Bold = True
Range("a14:f14").Select
End Sub



Blok sel B4 sampai D4, buat agar bordernya tebal, atur warna fill menjadi kuning. Buat sebuah tombol lagi, pada properties, atur name = CmdHapus dan caption = Hapus
Kemudian ketikkan code program berikut ini.


Private Sub CmdHapus_Click()
Cells = ""
Range("a1") = "Menghitung Sudut Jam"
Range("n1") = "Petunjuk:"
Range("a3") = "Masukkan jam pada sel B4 dan menit pada sel D4."
Range("a4") = "Waktu:"
Range("c4") = ":"
End Sub




Buat keterangan sebagai berikut.
Untuk tahap akhir, agar tidak muncul grid (kotak-kotak pada sheet) silakan hilangkan centang gridline pada tab view.

Untuk menguji, silakan nonaktifkan tombol design view pada tab developer kemudian ketikkan jam pada sel B4 dan menit pada sel D4. 
Tekan tombol ok.
Untuk menghapus, tekan tombol hapus.
Selamat menikmati.


tutorial lengkapnya silakan diunduh di link berikut ini
https://docs.google.com/open?id=0B-WmUMQtTTUYNWVhNjJmMzgtZDM4NS00ZWZjLTliODQtZTg4NjM0YmI3Yzgz

Tidak ada komentar:

Posting Komentar