Belajar Looping

Started by Jhana78, 30 March 2009, 11:19:01 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Jhana78

Sobat...

saya sedang belajar pemograman VB. Kemudian saya mencoba program sederhana dengan kode sebagai berikut :

Quote
Private Sub Form_Activate()
Dim Anak As Integer
Anak = 11
Do While Anak > 1
Anak = Anak - 1
Print "anak ayam turun " & Anak
Print "mati satu tinggal " & Anak - 1
If Anak = 1 Then
Print "mati semua tinggal induknya"
End If
Loop

End Sub

setelah program tersebut di jalankan, maka hasilnya adalah sebagai berikut :

Quote
anak ayam turun 10
mati satu tinggal 9
anak ayam turun 9
mati satu tinggal 8
anak ayam turun 8
mati satu tinggal 7
anak ayam turun 7
mati satu tinggal 6
anak ayam turun 6
mati satu tinggal 5
anak ayam turun 5
mati satu tinggal 4
anak ayam turun 4
mati satu tinggal 3
anak ayam turun 3
mati satu tinggal 2
anak ayam turun 2
mati satu tinggal 1
anak ayam turun 1
mati satu tinggal 0
mati semua tinggal induknya

pertanyaannya : bagaimana caranya agar teks yang saya beri warna merah tersebut tidak muncul?

sebelumnya, terima kasih atas kesedian sobat memberikan masukan.
jawabannya dari siapa saja, saya tunggu.

Sunkmanitu Tanka Ob'waci

Private Sub Form_Activate()
  Dim Anak As Integer
  Anak = 11

  Do While Anak > 1
    Anak = Anak - 1
    Print "anak ayam turun " & Anak
    If Anak > 1 Then
      Print "mati satu tinggal " & Anak - 1
    End If
    If Anak = 1 Then
      Print "mati semua tinggal induknya"
    End If
  Loop
End Sub
HANYA MENERIMA UCAPAN TERIMA KASIH DALAM BENTUK GRP
Fake friends are like shadows never around on your darkest days

hatRed


Private Sub Form_Activate()
Dim Anak As Integer

Anak = 11

Do While Anak > 1

Anak = Anak - 1

Print "anak ayam turun " & Anak

if anak = 1 then

Print "mati semua tinggal induknya"

else

Print "mati satu tinggal " & Anak - 1

End If

Loop

End Sub
i'm just a mammal with troubled soul



Sunkmanitu Tanka Ob'waci

sama aje, cuma aye kagak tau else di vb, ntar pake elsif bingung lagi
HANYA MENERIMA UCAPAN TERIMA KASIH DALAM BENTUK GRP
Fake friends are like shadows never around on your darkest days

hatRed

result sih sama,

cuma lebih irit satu langkah yg i punya :D
i'm just a mammal with troubled soul



Jhana78

 [at]  hatred dan wolverine

terima kasih banyak.

setelah saya bingung 7 keliling, akhirnya anda memberi pencerahan.

enak juga ya di forum..? bisa kursus gratis. he..he..he..


johan3000

#6
Anak = 11
for n=(anak-1) to 1 step -1
   Print "anak ayam turun " & n
   if (n-1)<>0 then Print "mati satu tinggal " & n - 1
next n
Print "mati semua tinggal induknya"

apakah yg diatas BENAR ? (asumsi anak >=2)
Nagasena : salah satu dari delapan penyebab matangnya kebijaksanaan dgn seringnya bertanya

Jhana78

 [at]  johan

kalo yang gitu, saya lom ngerti algoritmanya.

Sumedho

ini aja yg simple

QuotePrivate Sub Form_Activate()
  Dim Anak As Integer
  Anak = 11

  Do While Anak > 1
    Print "anak ayam turun " & Anak
    Anak = Anak - 1
    Print "mati satu tinggal " & Anak
  Loop
    Print "mati semua tinggal induknya"

End Sub
There is no place like 127.0.0.1

hatRed

Quote from: Sumedho on 30 March 2009, 04:31:33 PM
ini aja yg simple

QuotePrivate Sub Form_Activate()
  Dim Anak As Integer
  Anak = 11

  Do While Anak > 1
    Print "anak ayam turun " & Anak
    Anak = Anak - 1
    Print "mati satu tinggal " & Anak
  Loop
    Print "mati semua tinggal induknya"

End Sub

ralat , kalo gitu inisialisasi anak harus 10
i'm just a mammal with troubled soul



Sumedho

There is no place like 127.0.0.1

hatRed

setelah dianalis, langkah om medho paling singkat... (bis gak pake compare lagi sih)

yg paling banyak om johan.. (bis kebanyakan variable)
i'm just a mammal with troubled soul



johan3000

Quote from: Jhana78 on 30 March 2009, 02:48:04 PM
[at]  johan

kalo yang gitu, saya lom ngerti algoritmanya.

utk loop itu kan bisa bermacam2

Looping structure
do while....
for...next
do...until
repeat....until

utk jelasnya bisa dilihat di defenisi VB beserta contoh2nya..

kalau

for n=start to stop step xStep
   ...
next n

maksudnya n mulai dgn nilai start dan akan berhenti dgn nilai stop,
setiap kali loop nilainya akan ditambahkan xStep..
   (sedangkan xStep bisa bernilai positif maupun negatif)...

kira2 begitulah...
Nagasena : salah satu dari delapan penyebab matangnya kebijaksanaan dgn seringnya bertanya

johan3000

Anak = 11

1 for n=anak to 2 step -1
2   Print "anak ayam turun " & str$(n-1)
3   Print left$("mati satu tinggal " & str$( n - 2)),  n-2) 
4 next n
5 Print "mati semua tinggal induknya"

pada baris 3, kalau n-2=0, maka left$("mati...",0) menghasilkan output ""

Kalau yg ini tanpa IF tapi menggunakan LEFT STRING, apakah juga layak dicoba?
Nagasena : salah satu dari delapan penyebab matangnya kebijaksanaan dgn seringnya bertanya

johan3000

Quote from: hatRed on 30 March 2009, 06:43:56 PM
setelah dianalis, langkah om medho paling singkat... (bis gak pake compare lagi sih)

yg paling banyak om johan.. (bis kebanyakan variable)

Kalau ngak ada contoh yg JELEK (johan3000),
mana bisa tau yg BAIK (suhu Medho) ?
Nagasena : salah satu dari delapan penyebab matangnya kebijaksanaan dgn seringnya bertanya