Senin, 29 Maret 2010

Bilangan Faktorial nui...

Nama : Isneni Nur Hasanah

NIM : SIR200918

Mat.Kul : Pemorgaman Matematika

Dosen Pengampu : Nahar Mardiyanto, S.Kom


Kalo di episode sebelumnya kita udah bahas tentang bilangan prima sekarang kita bahas tentang bilangan FAKTORIAL, apa itu bilangan faktorial…..

Lagi-lagi kata mbah google bilangan factorial itu…

Dalam matematika, faktorial dari bilangan asli n adalah hasil perkalian antara bilangan bulat positif yang kurang dari atau sama dengan n. Faktorial ditulis sebagai n! dan disebut n faktorial.

Sebagai contoh, 7! adalah bernilai 7×6×5×4×3×2×1 = 5040.

Waduh pusing ya, hehe gini aja deh, ane kasih yang simpel-simpel aja deh ok.

Penjabaran perhitungan bilangan faktorial, hehe susah ya bahasanya, gini semisal kita mau ngitung bilangan 5!(lima faktorial) gini caranya.

5x4x3x2x1 = 120

Kalau kerangka logikanya begini:

1 x 2

2 x 3

6 x 4

24 x 5

120

Kira-kira begitu alur perjuangannya,,eh..alur perhitungannya…hehehe..

Jadi sintaknya begini.

bil = 1
For i = 1 To txtangka.Text
bil = bil * i
Next
txthasil.Text = Str(bil)

kita gunakan variable Bantu yaitu bil = 1, diberi harga 1 karena kalau tidak, akan berharga 0. Terus untuk fungsi i maka 1 sampai angka yang kita masukkan dalam txtangka.Text terus akan dilakukanlah perintah bil (=1) dikalikan angka-angka yang disebutkan oleh fungsi i dan perulangan (next) sampai angka yang dimasukkan dalam textbox yang hasil perhitungannya itu bakalan di tayangin di textbox txthasil.Text

begitu sodara-sodara, saya harap bisa dipahami……

BILANGAN PRIMA ALA VB

Apasih bilangan prima itu?
Kata mbah google bilangan prima itu adalah bilangan yang hanya bisa dibagi sama angka 1 dan bilangan itu sendiri dan sisa hasil baginya 0. Jadi kalau kita pengen tau 5 itu bilangan prima atau bukan kita tinggal di coba ajah 5/1 dan 5/5.
Tapi kalau kita pake metode itu kita bakal nyangka kalau semua bilangan itu bilangan prima, karena semua bilangan pasti akan punya hasil 0 jika Cuma dibagi sama angka satu dan bilangan itu sendiri.
Nah cara ane itu begini :

5 itu bilangan prima ato bukan sih????
5/1 hasil baginya = 0
5/2 hasil baginya = 1
5/3 hasil baginya = 2
5/4 hasil baginya = 1
5/5 hasil baginya = 0

Contoh diatas itu dapat disimpulkan jika 5 adalah bilangan prima, tapi kembali lagi seperti yang sudah ane curhatin tadi diatas, kalau kita Cuma berpatokan ama angka 1 dan bilangan yang dibagi itu nggak jadi kalau kita pake di VB.
Jadi kita hanya mengacu dari angka 2. Begini gambarannya.
5/5 hasil baginya = 0(kita acuhkan)
5/4 hasil baginya = 1
5/3 hasil baginya = 2
5/2 hasil baginya = 1
5/1 hasil baginya = 0(kita acuhkan)
Nah kita hilangkan pembagi yang namanya angka 1 sama angka 5 (dalam kasus ini kita pake angka 5 sebagai contoh).
Nah dari angka 2 sampe angka 4 ini kita akan pake sebagai pembukti jika angka 5 dan angka yang laen itu prima ato bukan. Kalau sisa hasil baginya bukan nol entah 1 ato 3 berarti angka itu “PRIMA”, kalau hasil baginya nol berarti itu angka “BUKAN PRIMA”.
Masih bingung?? Gini deh, ane kasih contoh satu lagi ya.

Angka 6 prima bukan ya?
Kite coba nyok…
6/4 hasil baginya = 2
6/3 hasil baginya = 0
6/2 hasil baginya = 0
Dari hasil diatas kira-kira hasilnya apa ya, PRIMA atau BUKAN?
Jelas BUKAN PRIMA donk…
Nah kira-kira udah rada dong(mudeng) kan?
Kalau udah kita langsung masuk ke sintaknya….yuuk mari…

Private Sub Cmdhitung_Click()
For i = 2 To txt_angka.Text
If txt_angka.Text Mod i = 0 Then
txt_hasil.Text = "BUKAN PRIMA"
Exit for
Else
txt_hasil.Text = "PRIMA"
End If
Next
End sub
(For i adalah perulangan untuk angka pembaginya jadi kalau for i nya mulai dari 2 maka pembagi untuk angka/nominal yang kita masukan adalah mulai dari 2 seperti di contoh tadi. Sedang txt_angka.Text adala text box untuk memasukan nominal/angka)
(MOD I adalah sisa hasil bagi antara bilangan txt_angka.text dengan bilangan ke i)

Apa yang terjadi pada saat hasilnya adalah semua angka yang dimasukan akan bernominal prima. Kenapa? Kita bandingkan dengan sintak berikut.
Private Sub Cmdhitung_Click()
For i = 2 To txtangka.Text - 1
If txtangka.Text Mod i = 0 Then
txthasil.Text = "BUKAN PRIMA"
Exit for
Else
txthasil.Text = "PRIMA"
End If
Next
End sub
Yupz…kesalahan hanya pada kurangnya angka -1 di rumus perulangannya, kenapa begitu.
Pada rumusan sintak yang pertama, kita bisa contohkan logikanya seperti ini.
5/5 hasil baginya = 0
5/4 hasil baginya = 1
5/3 hasil baginya = 2
5/2 hasil baginya = 1
5/1 hasil baginya = 0(kita acuhkan)
Aha, benar sekali, ada nol pada hasil bagi karena kita melakukan perulangan itu sampai bilangan yang kita masukan, pada kasus ini kita masukan angka 5 dan perulanganpun terjadi hingga angka 5 yang membuat hasil akhir menjadi prima, begitu pula dengan angka-angka yang lain, akan sama hasilnya jika kita menggunakan sintak yang pertama.
Lain halnya jika kita memakai sintak yang ke dua. Alur logikanya..
5/5 hasil baginya = 0(kita acuhkan)
5/4 hasil baginya = 1
5/3 hasil baginya = 2
5/2 hasil baginya = 1
5/1 hasil baginya = 0(kita acuhkan)
So….sodara2 sudah taukan maksud tulisan yang ane tulis ini, paling enggak sedikit taulah, hehe…map-maap kalau bahasa ane agak susah di tangkep….
Anyway selamat mencoba…..

Genap-Ganjil poenya VB

Teoritis, kita udah bisa membedakan dong antara bilangan genap ama bilangan ganjil, iyupz, logikanya…cieh pake logika, singkatnya yang jelas bilangan ganjil itu nggak genap dan bilangan genap itu nggak ganjil,,hehehe….

Bilangan genap itu kalo dibagi 2 sisa hasil baginya bakalan 0, gini 4/2 = 2 yaitu 2 x 2 = 4, nah hasil baginya nggak ada sisa dong alias nge-pas.

Kalo bilangan ganjil hasil baginya nggak balakan 0 gini, 5/2=2,…. Yaitu 2 x 2 = 4 nah masih sisa 1 kan, itu yang membuat jurang perbedaan antara bilangan genap ama bilangan ganjil.

Ya begitulah…..

Sekedar pengantar ajah, sekarang ane mau ngasih ente-ente sekalian sintak VB nya, nih:

Private Sub Cmdproses_Click()

If Txtangka.text Mod 2 = 0 Then

Txthasil.text = "genap"

Else

Txthasil.text = "ganjil"

End If

End Sub

Jadi niy ye, kalau kita masukin angka 5 akan langsung di proses, kalau hasilnya seperti yang ane curhatin di atas kalau hasil baginya 0 namanya bilangan genap, kalau hasil baginya bukan 0 alias masih sisa maka bilangan itu bilangan ganjil. Gimana sodara-sodara, sudah mendapat pencerahankah, hehe…
sekedar berbagi aja nih…..

Semoga bermanfaat…..

Luas Persegi Panjang di VB

Tau dong rumus persegi panjang itu apa, that’s right, Panjang x lebar = luas deh atau bisa di balik seperti ini, Luas = Panjang x lebar.
Udah langsung aja, ane udah tau kok, hehe…iya deh kita langsung ke sintaknya aja ya…
Private Sub Cmdhitung_Click()
Txtluas.text = Txtpanjang.text * Txtlebar.text
End Sub
Singkat buanget kan, ya mudah-mudahan bias dipahami dengan mudah.
Kalau mau yang lebih lagi kamu-kamu bias meng-explor sendiri dengan mengutak-atik kodingnya, main VB itu menyenangkan lho, asal kita ngejalaninnya dengan HAPPY,
ok, selamat belajar…..