Perulangan di Visual Basic

Beberapa waktu yang lalu diminta 2 orang(Putri & Ble’o) temen minta tolong untuk dibuatin algoritma sekalian konversi coding nya di visual basic. Hemmmm, jadi seperti nostalgia he….3x.

Memang dulu banget mungkin sekitar 4 tahun nan yang lalu pernah pake visual basic, tapi kan sudah lama banget. Lagian dulu-dulu belum pernah kepikiran untuk membuat fungsi atau method sendiri. Paling juga cuma klak-klik doang, conect ke database udah deh 🙂

Mumpung ada yang minta tolong, ya udah deh itung-itung nostalgia 😛

Rumus yang mau dibuatin algoritmanya sebenernya sederhana cuman menghitung GOS( Grade of Service), yang pengertianya adalah probabilitas panggilan ditolak (diblok) selama jam sibuk(menurut TA nya si Ble’o)

Rumus menghitung GOS

Rumus menghitung GOS

<!–[if gte msEquation 12]>Ann!i=0nAii!<![endif]–>

Kalo dilihat rumusnya sudah pasti di sini harus menggunakan perulangan, plus juga rekursif. Dari hasil perenungan panjang(seolah-olah 😛 ) akhirnya rumus GOS berhasil ditransformasikan ke bahasa visual basic yang kurang lebih sebagai berikut :


Public Function HitungFak(n As Integer)
Dim hasil
hasil = 1
If n = 0 Then
hasil = 1
Else
For I = 1 To n
hasil = hasil * I
Next I
End If
HitungFak = hasil
End Function

Public Function HitungAtas(A As Double, n As Integer)
HitungAtas = (A ^ n) / HitungFak(n)
End Function

Public Function HitungBawah(A As Double, n As Integer)
Dim hasil As Double
Dim I As Integer
hasil = 0
For I = 0 To n Step 1
hasil = hasil + ((A ^ I) / HitungFak(I))
Next I
HitungBawah = hasil
End Function

Private Function hitungGOS(pA As Double, pN As Integer)
hitungGOS = HitungAtas(pA, pN) / HitungBawah(pA, pN) * 100
End Function

Gak tau juga itu efektif apa enggak :D, soalnya kalo dipikir2 coding di VB agak aneh, variabel gak harus didefinisikan tipenya, modifier juga tidak ditentukan . Mungkin karena gak pernah pake VB aja jadi ngerasa aneh, tapi over all lumayan lah buat nambah pengalaman dan nostalgia 🙂

Semoga bisaberguna buat si Putri sama si Bl’eo, sorry kalo banyak kekurangannya 😀