Kamis, 22 Maret 2012

Deret Faktorial Menggunakan Visual Basic

Depok, 23 Maret 2012

Deret Faktorial adalah suatu deret perkalian dimana angka a dikalikan angka a-1kemudian dikalikan angka a-2 sampai angka tersebut 1 kemudian hasilnya adalah total dari perkalian tersebut. Untuk lebih jelasnya kita lihat beberapa contoh berikut :

  1. Deret faktorial dari 1 adalah 1 x 1 = 1
  2. Deret faktorial dari 2 adalah 2 x 1 = 2
  3. Deret faktorial dari 3 adalah 3 x 2 x 1 = 6
  4. Deret faktorial dari 4 adalah 4 x 3 x 2 x 1 = 24
  5. Deret faktorial dari 5 adalah 5 x 4 x 3 x 2 x 1 = 120
  6. Deret faktorial dari 6 adalah 6 x 5 x 4 x 3 x 2 x 1 = 720
  7. dan seterusnya 
Untuk membuat sebuah program komputer, maka untuk kasus ini menggunakan visual basic, berikut adalah algoritmanya
  1. Buat userform kemudian masukkan kotak-kotak tempat nilai akan dimasukkan dan hasil deret faktorial akan ditampilkan.
  2. Buat program pada commandbutton
  3. Program dimulai dengan memasukkan 1 buah input, yaitu angka yang akan dicari hasil faktorialnya
  4. Kemudian buatlah program untuk semua nilai sehingga baik nilai negatif atau positif dapat diketahui deret faktorialnya.
Berikut adalah langkah di visual basic
1. Buat Userform seperti gambar di bawah

 2. Buat program pada commandbutton seperti di bawah ini

Private Sub CommandButton1_Click()

'Ini adalah rumusan untuk menghitung deret faktorial dari suatu nilai
'Arandityo Narutomo 1106107782

'Masukan input nilai a

Dim a As Double
Dim hasilfaktorial As Double

'Formulasi faktorial
hasilfaktorial = Val(araa.Text)
For a = Val(araa.Text) - 1 To 1 Step -1
arahasilderet.AddItem hasilfaktorial
arahasilderet.AddItem a

'Nilai hasil faktorial
hasilfaktorial = hasilfaktorial * a
arahasil.Text = hasilfaktorial
Next

'Melakukan pembatasan faktorial
'Batasan faktorian ini berlaku untuk a=1 ; a=0 dan a bilangan negatif

If hasilfaktorial < 0 Then
MsgBox "maaf tidak ada faktorial negatif"
ElseIf hasilfaktorial = 0 Then
MsgBox "hasil faktorial = 1"
ElseIf hasilfaktorial = 1 Then
MsgBox "hasil faktorial = 1"
End If
End Sub





3. Hasil visual basic

-Untuk bilangan positif


Maksuda dari kotak deret faktorial adalah 6 x 5 = 30, lalu 30 x 4 = 120, lalu 120 x 3 = 360, lalu 360 x 2 = 720 , dan kemudian 720 x 1 = 720, sehingga hasil faktorial adalah 720

- Untuk angka 1

- Untuk angka 0
- Untuk angka negatif

Semoga bermanfaat.................................

10 komentar:

  1. Mantap sekali bung randy!!

    boleh komentar sedikit ya, minta penjelasan algoritmanya dong. Saya ingin memahami lebih lanjut terutama bagian step For-nya. Terima kasih.

    BalasHapus
  2. Wah terima kasih sudah berkunjung di blog saya bung..Oh iya jadi gini maksudnya, kan deret faktorial misalnya 6 faktorial, jadi itu 6 x 5 x 4 x 3 x 2 x 1 = 24, tapi fungsi for itu maksudnya mau menjelaskan hasil dari setiap perkaliannya, jadi :

    6 x 5 = 30,
    30 x 4 = 120,
    120 x 3 = 360,
    360 x 2 = 720,
    720 x 1 = 720

    jadi fungsi For itu ingin menampilkan angka 30, 120, 360, 720, sehingga pembaca dapat mengetahui bagaimana program bekerja..

    Sekian semoga puas dengan jawaban saya..

    Salam hangat

    BalasHapus
  3. wah mantap nih mas rantot.. o ya, gambarnya di resize aja biar gak keluar..

    BalasHapus
    Balasan
    1. Iya nih saya juga masih newbie dalam dunia blog jadi masih rada kurang sempurna dalam hal menampilkan gambar, hehehe..makasih masukannya bung..

      salam hangat

      Hapus
  4. Wah, penjelasan yang bagus..
    sungguh memberikan pemahaman tersendiri buat saya..
    terima Kasih..

    BalasHapus
    Balasan
    1. Iya sama sama mas eko, semoga bermanfaat..

      salam hangat

      Hapus
  5. Mas Rantot, penjelasan yang Mas buat sangat bagus dan terperinci..
    tapi kenapa tipe data yang mas buat itu bertipe double dan bukan yang lain??
    terima kasih..

    BalasHapus
    Balasan
    1. Sebenarnya selain double bisa juga integer untuk yang sering digunakan. Namun pemakaian double atau integer hampir sama, hanya ada di perbedaan ketelitian saja. Untuk Integer ketelitiannya 2 byte,dan memiliki jangkauan = -32.768 s.d 32.767. Kalau double memiliki ketelitian 8 byte serta memiliki jangkauan = -1.79769313486232 E+308 s.d -4.94065645841247 E-324 untuk bilangan negatif dan 4.94065645841247 E-324 s.d 1.79769313486232 E+308 untuk bilangan positif..

      salam hangat

      Hapus
  6. programnya sudah bagus.

    kira-kira apakah program ini dapat dikembangkan untuk permutasi kombinasi?
    misalnya saya ingin menghitung ruang sampel pada kasus-kasus probabilitas.
    dapatkah hal tersebut diwujudkan? maksud saya, program tersebut dapat me-recognize kasus mana yaang diseleseikan dengan permutasi dan kasus mana yang diseleseikan dengan kombinasi.


    terima kasih,
    regards,
    Deberland

    http://mhs.blog.ui.ac.id/christoforus.d/

    BalasHapus
  7. Bang rantot, penggunaan program faktorial ini, ada limit inputannya gak? kyk brapa digit bilangannya gitu?hehehe

    salam hangat

    BalasHapus