21.8.11

Algorithm :Animasi Gelombang Berjalan




y =  A sin(ωt - kx)  



Anda bingung memahami gelombang berjalan? Mungkin animasi gelombang berjalan dengan visual basic ini dapat membantu Anda untuk memahami mengenai konsep gelombang berjalan.


Anda bisa mendownload
Klik disini untuk download Gelombang Berjalan.rar
atau membuat sendiri.

Bagaimana cara membuatnya?
Objek objek yang dibutuhkan adalah
  * Label 3 buah yang ber-Caption seperti gambar di atas ("Amplitudo", "Panjang Gelombang", "Kecepatan")
  * VscrollBarr 3 buah
     Perhatikan....
      - VScroll1 untuk Amplitudo
      - VScroll2 untuk Kecepatan
      - VScroll3 untuk Panjang Gelombang
  * Line 1 buah dengan nama Line1
  * Timer 1 buah dengan nama Timer1

Letakkan objek-objek tersebut pada form seperti gambar di atas.
Kemudian masukkan kode-kode berikut pada bagian kode

Koding :
-------------------------------------------
'ini kode ampuh...
Option Explicit

'yah, ini deklarasi variabel
Dim X As Integer
Dim y As Integer
Dim i As Integer
Dim la As Integer
Dim A As Integer
Dim freq As Integer

'Yang terjadi ketika form pertama kali dibuka
Private Sub Form_Load()
 'Mengeset beberapa properties form
 Me.ScaleMode = 3
 Me.DrawWidth = 4
 Me.BackColor = vbBlack

 'Mengeset nilai properties scroll vertikal
 VScroll1.Max = 200
 VScroll2.Max = 99
 VScroll3.Max = 1000

 VScroll1.Min = 1
 VScroll2.Min = 1
 VScroll3.Min = 30

 VScroll1.SmallChange = 1
 VScroll2.SmallChange = 5
 VScroll3.SmallChange = 5

 VScroll1.Value = 50
 VScroll2.Value = 9
 VScroll3.Value = 100

 'Mendeklarasikan nilai tiap variabel
 A = VScroll1.Value
 la = VScroll3.Value
 Timer1.Interval = VScroll2.Value
 Timer1.Enabled = True
 Line1.BorderColor = vbYellow
 freq = 100

End Sub

'Yang terjadi ketika timer dijalankan
Private Sub Timer1_Timer()
 'Selalu update layar
 Cls

 'Ok fungsi if ini ruwet untuk dijelasin hahahaha
 If i = 9999 Then i = 1

 'Apalagi ini!!!... hahaha, yang jelas rumus utama, supaya timbul gelombang yang dapat berjalan
 For X = 1 - i To 5000
  y = A * Sin(2 * (22 / 7) * freq - (22 / (7 * la)) * X)
  Me.PSet (X + i, y + A), &H8000&
  X = X + 1
 Next X

 'ini juga ruwet untuk dijelasin, supaya gelombang bisa berjalan berkesinambungan
 i = i + 1

 'Yah ini garis normal berwarna kuning
 Line1.Y1 = A
 Line1.Y2 = A
 Line1.X1 = 0
 Line1.X2 = Me.Width

End Sub

Private Sub VScroll1_Change()
'Apa yang terjadi ketika Anda mengubah scrollnya??? ini kodenya
 A = VScroll1.Value
End Sub

Private Sub VScroll2_Change()
'Atur kecepatan
 Timer1.Interval = VScroll2.Value
End Sub

Private Sub VScroll3_Change()
'Apa yang terjadi ketika Anda mengubah scrollnya??? ini kodenya
 la = VScroll3.Value
End Sub

--------------------------------------
by Hugo pG
Berikan saran dan komentar Anda......

Tidak ada komentar:

Posting Komentar