Pages

Senin, 20 Juni 2011

Fungsi Penterjemah Angka

'Fungsi Terbilang dengan VBA untuk MS Office


'Fungsi penterjemahan masing-masing angka
Private Function KeKata(Nomor)
TrjKata = Array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan")
KeKata = TrjKata(Nomor)
End Function

'Mulai penulisan Fungsi Terbilang
Public Function terbilang(Nilai_Angka, Optional Style = 4, Optional Satuan = "")
Angka = Fix(Abs(Nilai_Angka))
'Desimal dibelakang koma
des1 = Mid(Abs(Nilai_Angka), Len(Angka) + 2, 1)
des2 = Mid(Abs(Nilai_Angka), Len(Angka) + 3, 1)

If des2 = "" Then
If des1 = "" Or des1 = "0" Then
Koma = ""
Else
Koma = " koma " & KeKata(des1)
End If
ElseIf des2 = "0" Then
If des1 = "0" Then
Koma = ""
ElseIf des1 = "1" Then
Koma = " koma sepuluh"
Else
Koma = " koma " & KeKata(des1) & " puluh"
End If
Else
If des1 = "0" Then
Koma = " koma nol " & KeKata(des2)
ElseIf des1 = "1" Then
If des2 = "1" Then
Koma = " koma sebelas"
Else
Koma = " koma " & KeKata(des2) & " belas"
End If
Else
Koma = " koma " & KeKata(des1) & " puluh " & KeKata(des2)
End If
End If
'Misahin Angka
No1 = Left(Right(Angka, 1), 1)
No2 = Left(Right(Angka, 2), 1)
No3 = Left(Right(Angka, 3), 1)
No4 = Left(Right(Angka, 4), 1)
No5 = Left(Right(Angka, 5), 1)
No6 = Left(Right(Angka, 6), 1)
No7 = Left(Right(Angka, 7), 1)
No8 = Left(Right(Angka, 8), 1)
No9 = Left(Right(Angka, 9), 1)
No10 = Left(Right(Angka, 10), 1)
No11 = Left(Right(Angka, 11), 1)
No12 = Left(Right(Angka, 12), 1)
No13 = Left(Right(Angka, 13), 1)
No14 = Left(Right(Angka, 14), 1)
No15 = Left(Right(Angka, 15), 1)
'Satuan
If Len(Angka) >= 1 Then
If Len(Angka) = 1 And No1 = 1 Then
Nomor1 = "satu"
ElseIf Len(Angka) = 1 And No1 = 0 Then
Nomor1 = "Nol"
ElseIf No2 = "1" Then
If No1 = "1" Then
Nomor1 = "sebelas"
ElseIf No1 = "0" Then
Nomor1 = "sepuluh"
Else
Nomor1 = KeKata(No1) & " belas"
End If

Else
Nomor1 = KeKata(No1)
End If
Else
Nomor1 = ""
End If

'Puluhan
If Len(Angka) >= 2 Then
If No2 = 1 Or No2 = "0" Then
Nomor2 = ""
Else
Nomor2 = KeKata(No2) & " puluh "
End If
Else
Nomor2 = ""
End If
'Ratusan
If Len(Angka) >= 3 Then
If No3 = "1" Then
Nomor3 = "seratus "
ElseIf No3 = "0" Then
Nomor3 = ""
Else
Nomor3 = KeKata(No3) & " ratus "
End If
Else
Nomor3 = ""
End If
'Ribuan
If Len(Angka) >= 4 Then
If No6 = "0" And No5 = "0" And No4 = "0" Then
Nomor4 = ""
ElseIf (No4 = "1" And Len(Angka) = 4) Or (No6 = "0" And No5 = "0" And No4 = "1") Then
Nomor4 = "seribu "
ElseIf No5 = "1" Then
If No4 = "1" Then
Nomor4 = "sebelas ribu "
ElseIf No4 = "0" Then
Nomor4 = "sepuluh ribu "
Else
Nomor4 = KeKata(No4) & " belas ribu "
End If

Else
Nomor4 = KeKata(No4) & " ribu "
End If
Else
Nomor4 = ""
End If
'Puluhan ribu
If Len(Angka) >= 5 Then
If No5 = "1" Or No5 = "0" Then
Nomor5 = ""
Else
Nomor5 = KeKata(No5) & " puluh "
End If
Else
Nomor5 = ""
End If
'Ratusan Ribu
If Len(Angka) >= 6 Then
If No6 = "1" Then
Nomor6 = "seratus "
ElseIf No6 = "0" Then
Nomor6 = ""
Else
Nomor6 = KeKata(No6) & " ratus "
End If
Else
Nomor6 = ""
End If
'Jutaan
If Len(Angka) >= 7 Then
If No9 = "0" And No8 = "0" And No7 = "0" Then
Nomor7 = ""
ElseIf No7 = "1" And Len(Angka) = 7 Then
Nomor7 = "satu juta "
ElseIf No8 = "1" Then
If No7 = "1" Then
Nomor7 = "sebelas juta "
ElseIf No7 = "0" Then
Nomor7 = "sepuluh juta "
Else
Nomor7 = KeKata(No7) & " belas juta "
End If

Else
Nomor7 = KeKata(No7) & " juta "
End If
Else
Nomor7 = ""
End If
'Puluhan juta
If Len(Angka) >= 8 Then
If No8 = "1" Or No8 = "0" Then
Nomor8 = ""
Else
Nomor8 = KeKata(No8) & " puluh "
End If
Else
Nomor8 = ""
End If
'Ratusan juta
If Len(Angka) >= 9 Then
If No9 = "1" Then
Nomor9 = "seratus "
ElseIf No9 = "0" Then
Nomor9 = ""
Else
Nomor9 = KeKata(No9) & " ratus "
End If
Else
Nomor9 = ""
End If
'Milyar
If Len(Angka) >= 10 Then
If No12 = "0" And No11 = "0" And No10 = "0" Then
Nomor10 = ""
ElseIf No10 = "1" And Len(Angka) = 10 Then
Nomor10 = "satu milyar "
ElseIf No11 = "1" Then
If No10 = "1" Then
Nomor10 = "sebelas milyar "
ElseIf No10 = "0" Then
Nomor10 = "sepuluh milyar "
Else
Nomor10 = KeKata(No10) & " belas milyar "
End If

Else
Nomor10 = KeKata(No10) & " milyar "
End If
Else
Nomor10 = ""
End If
'Puluhan Milyar
If Len(Angka) >= 11 Then
If No11 = "1" Or No11 = "0" Then
Nomor11 = ""
Else
Nomor11 = KeKata(No11) & " puluh "
End If
Else
Nomor11 = ""
End If
'Ratusan Milyar
If Len(Angka) >= 12 Then
If No12 = "1" Then
Nomor12 = "seratus "
ElseIf No12 = "0" Then
Nomor12 = ""
Else
Nomor12 = KeKata(No12) & " ratus "
End If
Else
Nomor12 = ""
End If
'Triliun
If Len(Angka) >= 13 Then
If No15 = "0" And No14 = "0" And No13 = "0" Then
Nomor13 = ""
ElseIf No13 = "1" And Len(Angka) = 13 Then
Nomor13 = "satu triliun "
ElseIf No14 = "1" Then
If No13 = "1" Then
Nomor13 = "sebelas triliun "
ElseIf No13 = "0" Then
Nomor13 = "sepuluh triliun "
Else
Nomor13 = KeKata(No13) & " belas triliun "
End If

Else
Nomor13 = KeKata(No13) & " triliun "
End If
Else
Nomor13 = ""
End If
'Puluhan triliun
If Len(Angka) >= 14 Then
If No14 = "1" Or No14 = "0" Then
Nomor14 = ""
Else
Nomor14 = KeKata(No14) & " puluh "
End If
Else
Nomor14 = ""
End If
'Ratusan triliun
If Len(Angka) >= 15 Then
If No15 = "1" Then
Nomor15 = "seratus "
ElseIf No15 = "0" Then
Nomor15 = ""
Else
Nomor15 = KeKata(No15) & " ratus "
End If
Else
Nomor15 = ""
End If

If Len(Angka) > 15 Then
bilang = "Digit Angka Terlalu Banyak"
Else
If IsNull(Nilai_Angka) Then
bilang = ""
ElseIf Nilai_Angka < 0 Then
bilang = "minus " & Trim(Nomor15 & Nomor14 & Nomor13 & Nomor12 & Nomor11 & Nomor10 & Nomor9 & Nomor8 & Nomor7 _
& Nomor6 & Nomor5 & Nomor4 & Nomor3 & Nomor2 & Nomor1 & Koma & " " & Satuan)
Else
bilang = Trim(Nomor15 & Nomor14 & Nomor13 & Nomor12 & Nomor11 & Nomor10 & Nomor9 & Nomor8 & Nomor7 _
& Nomor6 & Nomor5 & Nomor4 & Nomor3 & Nomor2 & Nomor1 & Koma & " " & Satuan)
End If
End If
If Style = 4 Then
terbilang = StrConv(Left(bilang, 1), 1) & StrConv(Mid(bilang, 2, 1000), 2)
Else
terbilang = StrConv(bilang, Style)
End If
terbilang = Replace(terbilang, " ", " ", 1, 1000, vbTextCompare)

End Function

Formula Angka ke Huruf dalam Excell 2007

 Kopi semua rumus ini. Lalu simpan pada 'Notepad'!

'Fungsi Terbilang dengan VBA untuk MS Office
'Fungsi penterjemahan masing-masing angka
Private Function KeKata(Nomor)
TrjKata = Array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan")
KeKata = TrjKata(Nomor)
End Function

'Mulai penulisan Fungsi Terbilang
Public Function terbilang(Nilai_Angka, Optional Style = 4, Optional Satuan = "")
Angka = Fix(Abs(Nilai_Angka))
'Desimal dibelakang koma
des1 = Mid(Abs(Nilai_Angka), Len(Angka) + 2, 1)
des2 = Mid(Abs(Nilai_Angka), Len(Angka) + 3, 1)

If des2 = "" Then
    If des1 = "" Or des1 = "0" Then
    Koma = ""
    Else
    Koma = " koma " & KeKata(des1)
    End If
ElseIf des2 = "0" Then
    If des1 = "0" Then
    Koma = ""
    ElseIf des1 = "1" Then
    Koma = " koma sepuluh"
    Else
    Koma = " koma " & KeKata(des1) & " puluh"
    End If
Else
    If des1 = "0" Then
    Koma = " koma nol " & KeKata(des2)
    ElseIf des1 = "1" Then
        If des2 = "1" Then
        Koma = " koma sebelas"
        Else
        Koma = " koma " & KeKata(des2) & " belas"
        End If
    Else
    Koma = " koma " & KeKata(des1) & " puluh " & KeKata(des2)
    End If
End If
'Misahin Angka
No1 = Left(Right(Angka, 1), 1)
No2 = Left(Right(Angka, 2), 1)
No3 = Left(Right(Angka, 3), 1)
No4 = Left(Right(Angka, 4), 1)
No5 = Left(Right(Angka, 5), 1)
No6 = Left(Right(Angka, 6), 1)
No7 = Left(Right(Angka, 7), 1)
No8 = Left(Right(Angka, 8), 1)
No9 = Left(Right(Angka, 9), 1)
No10 = Left(Right(Angka, 10), 1)
No11 = Left(Right(Angka, 11), 1)
No12 = Left(Right(Angka, 12), 1)
No13 = Left(Right(Angka, 13), 1)
No14 = Left(Right(Angka, 14), 1)
No15 = Left(Right(Angka, 15), 1)
'Satuan
If Len(Angka) >= 1 Then
    If Len(Angka) = 1 And No1 = 1 Then
    Nomor1 = "satu"
    ElseIf Len(Angka) = 1 And No1 = 0 Then
    Nomor1 = "Nol"
    ElseIf No2 = "1" Then
        If No1 = "1" Then
        Nomor1 = "sebelas"
        ElseIf No1 = "0" Then
        Nomor1 = "sepuluh"
        Else
        Nomor1 = KeKata(No1) & " belas"
        End If
   
    Else
    Nomor1 = KeKata(No1)
    End If
Else
Nomor1 = ""
End If

'Puluhan
If Len(Angka) >= 2 Then
    If No2 = 1 Or No2 = "0" Then
    Nomor2 = ""
    Else
    Nomor2 = KeKata(No2) & " puluh "
    End If
Else
Nomor2 = ""
End If
'Ratusan
If Len(Angka) >= 3 Then
    If No3 = "1" Then
    Nomor3 = "seratus "
    ElseIf No3 = "0" Then
    Nomor3 = ""
    Else
    Nomor3 = KeKata(No3) & " ratus "
    End If
Else
Nomor3 = ""
End If
'Ribuan
If Len(Angka) >= 4 Then
    If No6 = "0" And No5 = "0" And No4 = "0" Then
    Nomor4 = ""
    ElseIf (No4 = "1" And Len(Angka) = 4) Or (No6 = "0" And No5 = "0" And No4 = "1") Then
    Nomor4 = "seribu "
    ElseIf No5 = "1" Then
        If No4 = "1" Then
        Nomor4 = "sebelas ribu "
        ElseIf No4 = "0" Then
        Nomor4 = "sepuluh ribu "
        Else
        Nomor4 = KeKata(No4) & " belas ribu "
        End If

    Else
    Nomor4 = KeKata(No4) & " ribu "
    End If
Else
Nomor4 = ""
End If
'Puluhan ribu
If Len(Angka) >= 5 Then
    If No5 = "1" Or No5 = "0" Then
    Nomor5 = ""
    Else
    Nomor5 = KeKata(No5) & " puluh "
    End If
Else
Nomor5 = ""
End If
'Ratusan Ribu
If Len(Angka) >= 6 Then
    If No6 = "1" Then
    Nomor6 = "seratus "
    ElseIf No6 = "0" Then
    Nomor6 = ""
    Else
    Nomor6 = KeKata(No6) & " ratus "
    End If
Else
Nomor6 = ""
End If
'Jutaan
If Len(Angka) >= 7 Then
    If No9 = "0" And No8 = "0" And No7 = "0" Then
    Nomor7 = ""
    ElseIf No7 = "1" And Len(Angka) = 7 Then
    Nomor7 = "satu juta "
    ElseIf No8 = "1" Then
        If No7 = "1" Then
        Nomor7 = "sebelas juta "
        ElseIf No7 = "0" Then
        Nomor7 = "sepuluh juta "
        Else
        Nomor7 = KeKata(No7) & " belas juta "
        End If

    Else
    Nomor7 = KeKata(No7) & " juta "
    End If
Else
Nomor7 = ""
End If
'Puluhan juta
If Len(Angka) >= 8 Then
    If No8 = "1" Or No8 = "0" Then
    Nomor8 = ""
    Else
    Nomor8 = KeKata(No8) & " puluh "
    End If
Else
Nomor8 = ""
End If
'Ratusan juta
If Len(Angka) >= 9 Then
    If No9 = "1" Then
    Nomor9 = "seratus "
    ElseIf No9 = "0" Then
    Nomor9 = ""
    Else
    Nomor9 = KeKata(No9) & " ratus "
    End If
Else
Nomor9 = ""
End If
'Milyar
If Len(Angka) >= 10 Then
    If No12 = "0" And No11 = "0" And No10 = "0" Then
    Nomor10 = ""
    ElseIf No10 = "1" And Len(Angka) = 10 Then
    Nomor10 = "satu milyar "
    ElseIf No11 = "1" Then
        If No10 = "1" Then
        Nomor10 = "sebelas milyar "
        ElseIf No10 = "0" Then
        Nomor10 = "sepuluh milyar "
        Else
        Nomor10 = KeKata(No10) & " belas milyar "
        End If

    Else
    Nomor10 = KeKata(No10) & " milyar "
    End If
Else
Nomor10 = ""
End If
'Puluhan Milyar
If Len(Angka) >= 11 Then
    If No11 = "1" Or No11 = "0" Then
    Nomor11 = ""
    Else
    Nomor11 = KeKata(No11) & " puluh "
    End If
Else
Nomor11 = ""
End If
'Ratusan Milyar
If Len(Angka) >= 12 Then
    If No12 = "1" Then
    Nomor12 = "seratus "
    ElseIf No12 = "0" Then
    Nomor12 = ""
    Else
    Nomor12 = KeKata(No12) & " ratus "
    End If
Else
Nomor12 = ""
End If
'Triliun
If Len(Angka) >= 13 Then
    If No15 = "0" And No14 = "0" And No13 = "0" Then
    Nomor13 = ""
    ElseIf No13 = "1" And Len(Angka) = 13 Then
    Nomor13 = "satu triliun "
    ElseIf No14 = "1" Then
        If No13 = "1" Then
        Nomor13 = "sebelas triliun "
        ElseIf No13 = "0" Then
        Nomor13 = "sepuluh triliun "
        Else
        Nomor13 = KeKata(No13) & " belas triliun "
        End If

    Else
    Nomor13 = KeKata(No13) & " triliun "
    End If
Else
Nomor13 = ""
End If
'Puluhan triliun
If Len(Angka) >= 14 Then
    If No14 = "1" Or No14 = "0" Then
    Nomor14 = ""
    Else
    Nomor14 = KeKata(No14) & " puluh "
    End If
Else
Nomor14 = ""
End If
'Ratusan triliun
If Len(Angka) >= 15 Then
    If No15 = "1" Then
    Nomor15 = "seratus "
    ElseIf No15 = "0" Then
    Nomor15 = ""
    Else
    Nomor15 = KeKata(No15) & " ratus "
    End If
Else
Nomor15 = ""
End If

If Len(Angka) > 15 Then
bilang = "Digit Angka Terlalu Banyak"
Else
    If IsNull(Nilai_Angka) Then
    bilang = ""
    ElseIf Nilai_Angka < 0 Then
    bilang = "minus " & Trim(Nomor15 & Nomor14 & Nomor13 & Nomor12 & Nomor11 & Nomor10 & Nomor9 & Nomor8 & Nomor7 _
    & Nomor6 & Nomor5 & Nomor4 & Nomor3 & Nomor2 & Nomor1 & Koma & " " & Satuan)
    Else
    bilang = Trim(Nomor15 & Nomor14 & Nomor13 & Nomor12 & Nomor11 & Nomor10 & Nomor9 & Nomor8 & Nomor7 _
    & Nomor6 & Nomor5 & Nomor4 & Nomor3 & Nomor2 & Nomor1 & Koma & " " & Satuan)
    End If
End If
If Style = 4 Then
terbilang = StrConv(Left(bilang, 1), 1) & StrConv(Mid(bilang, 2, 1000), 2)
Else
terbilang = StrConv(bilang, Style)
End If
terbilang = Replace(terbilang, "  ", " ", 1, 1000, vbTextCompare)

End Function

Minggu, 19 Juni 2011

Tutorial membuat blogger

http://www.rey1024.com/wp-content/uploads/blogspot1.pdf

Best Story Practise by BTL4



CERITA PEMBELAJARAN BERMAKNA
(Memanfaatkan BTL untuk PTK)
Eko Nur Budi – Guru SMP 2 Jekulo Kudus

Tidak setiap siswa mempunyai kemampuan dan kesempatan yang sama untuk mempelajari setiap materi dengan sebaik-baiknya. Oleh karena itu, dapat dimengerti bahwa dalam berbagai pengajaran setiap mata pelajaran kadang-kadang menemui berbagai kesulitan. Di samping kesulitan itu bersumber dari dangkalnya pengetahuan dan pengalaman siswa, ketidakmenarikan guru dalam menyampaikan materi, serta kurang bervariasinya metode yang digunakan, pengelolaan termasuk setting kelas juga turut ambil bagian untuk dapat mencapai sasaran pembelajaran secara efektif.
Pengajaran dapat mencapai sasarannya secara efektif apabila banyak didukung dari beberapa hal tersebut. Oleh karena itu, dalam mengajar saya sedikit banyak selalu berusaha menerapkan pembelajaran bermakna di dalam kelas. Bermakna dari semua segi, baik meliputi metode pengajaran, pengelolaan kelas termasuk setting tempat duduk, dan persiapan penyusunan perangkat mengajar. Sebab bagaimanapun juga guru apabila tidak mempersiapkan diri dengan perangkat mengajar yang optimal tentunya tidak akan bisa memperoleh target pembelajaran yang diharapkan.
Semula, dalam praktiknya, pengajaran di SMP 2 Jekulo Kudus sebelum dikenalnya Better Teaching and Learning (BTL) atau sering dikenal dengan pembelajaran bermakna sering dijumpai, siswa dalam belajar kurang optimal. Kurang optimalnya beberapa siswa dalam belajar terlihat bahwa siswa tidak menyadari pentingnya tugas-tugas yang diberikan guru kepadanya. Dengan adanya pemanfaatan papan pajang di dalam kelas siswa sudah mulai tertantang untuk menghasilkan karya/tugas-tugas yang diberikan oleh guru secara optimal. Jadi, pengerjaannya tidak asal-asalan. Tentu saja hal tersebut menyebabkan adanya persaingan sehat diantara para siswa dalam menghasilkan karya siswa yang baik. Saya sangat merasakan perubahan itu, dan lagi setiap guru yang mengajarkan pun juga mempunyai dokumen hasil karya siswa, yang nantinya dapat digunakan dalam bentuk penilaian portofolio.
Menghadapi kenyataan seperti tersebut di atas, saya mencoba mengambil manfaat dari pembelajaran bermakna demi pengembangan kompetensi saya selaku guru Bahasa Indonesia, yaitu dengan mencoba mengangkat model pembelajaran seperti itu sebagai bahan penulisan penelitian tindakan kelas (PTK). Karena model pembelajaran bermakna ada kemiripan dengan pendekatan Contextual Teaching and Learning (CTL), saya mengangkat judul PTK yang terkait dengan metode kontekstual. Salah satu upaya yang saya pandang akan banyak memiliki manfaat yaitu dengan menerapkan kegiatan pembelajaran yang lebih menarik bagi siswa serta menunjukkan atau menganalisis kelemahan-kelemahan pengajaran yang saya  terapkan itu. Tahapan ”TANDUR” juga saya gunakan dalam pembelajaran bermakna yang saya terapkan di kelas. ”Tandur” merupakan kegiatan pembelajaran dalam Quantum Teaching yang mengharuskan guru melakukan bersama-sama siswa tahapan berikut. Tumbuhkan motivasi siswa ke materi pelajaran;  Alami  sendiri hal-hal yang dipelajari;  Namailah penemuan-penemuan siswa; Demonstrasikan apa yang ditemukan oleh siswa;  Ulangi semua yang telah dilakukan; Rayakan penemuan siswa tersebut. Dalam konteks pengajaran guru juga dapat mencitakan suasana belajar siswa yang dinamis jika guru menciptakan situasi dari dunia siswa ke dunia kita (bukan sebaliknya), sesuaikan dengan karakteristik belajar siswa. Sebab gaya belajar siswa ternyata mempunya beberapa karaktersitik, yaitu ada yang mementingkan aspek penglihatan/pandangan (visual), ada yang mementingkan aspek pendengaran (auditorial), dan ada yang mementingkan aspek gerak (kinestetik, misalnya tarian, film/tayangan, drama dan sebagainya).

Mengubah angka menjadi huruf Windows 2003

Lakukan langkah berikut untuk mengubah angka menjadi huruf.
1. Buka Excel - Tool - Macro - Visual Basic.
2. Insert - Modul 1. Bila tidak muncul Modul, buka pada menu bar View.
3. Kopi rumus 'terbilang', masukkan ke Modul 1.
4. Pastikan rumus 'terbilang' sudah terisi.
5. Lalu klik pada menu File - Close and Return to Microsof Excel / Alt+Q
Rumus mengubah angka ke dalam huruf sudah siap digunakan.
Selamat mencoba! Sesuaikan dengan kebutuhan, OK!