Monday 11 May 2015

Contoh Max Min Dan Curah Hujan Pada Visual Basic [Pertemuan: XIII & XIV]

Sebelumnya kita sudah belajar tentang array, dan kali ini kita masih dalam materi array namun dengan sedikit penambahan, yaitu kita akan mempelajari cara mencari max-min, average, dan total pada Array.


Agar materi di atas dapat tersampaikan dan dipahami dengan baik, lakukanlah latihan berikut ini.
Pertama buat sebuah project baru dengan cara memilih file – new project – new form windows application





Langkah selanjutnya buat sebuah form baru dengan nama HalamanUtama.vb dan desain seperti berikut ini lengkap dengan penamaan pada propertiesnya


Kemudian buat form baru dengan nama MaksimalMinimal.vb dan desain seperti berikut ini :



Lankah selanjutnnya buat form baru dengan nama CurahHujan.vb dan desain seperti berikut ini :



Kemudian kita akan masuk ke sesi pemrograman, masuk ke form HalamanUtama.vb dan ketikan sintaks berikut ini :


Public Class HalamanUtama

    Private Sub btnCurahHujan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCurahHujan.Click

        'menampilakn form Curah Hujan
        CurahHujan.Show()
    End Sub


    Private Sub btnMaksMin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMaksMin.Click

        'menampilkan form Maksimum_Mminimum
        Maksimum_Minimum.Show()
    End Sub

    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click

        'mengakhiri program ini
        End
    End Sub
End Class
Setelah HalamanUtama.vb selesai diprogram, langkah selanjutnya kita akan memprogram formMaksimalMinimal.vb, masuk ke form MaksimalMinimal.vb kemudian ketikan sintaks berikut ini :
Public Class Maksimum_Minimum

    Private Sub btnInput_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInput.Click

        Dim intInput As Integer 'deklarasi variabel
        intInput = Val(InputBox("Masukan Angka : ")) 'input box
        lstInteger.Items.Add(intInput) 'mengisi lstInteger dengan nilai dari input box
    End Sub

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        lstInteger.Items.Clear() 'membersihkan nilai yang ada di lstInteger
        txtView.Clear() 'membersihkan nilai yang ada di txtView
    End Sub

    Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click

        Dim high As Integer = Integer.MinValue 'deklarasi variabel untuk nilai maksimal
        Dim min As Integer = Integer.MaxValue 'deklarasi variabel untuk nilai minimal

        'proses perulangan untuk mencari nilai maksimal dan minimal
        For Each item As Integer In lstInteger.Items
            high = Math.Max(high, item)
            min = Math.Min(min, item)
        Next

        'menampilkan nilai yang telah ditemukan ke txtView.Text
        txtView.Text = "Nilai Maximum " + high.ToString + " dan " + "nilai minimumnya " + min.ToString
    End Sub
End Class
Jika kedua form sebelumnya telah selesai diprogram, langkah selanjutnya masuk ke formCurahHujan.vb kemudian ketikan sintaks berikut ini :
Public Class CurahHujan

    'pendeklarasian array
    Dim strMonths() As String = {"Januari", "Februari", "Maret", "April", _
                                "Mei", "Juni", "Juli", "Agustus", "September", _
                                "Oktober", "November", "Desember"}
    Dim intMonths(11) As Integer
    Dim intRain() As Integer

    Private Sub CurahHujan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'mengisi lstCurah Hujan
        lstCurahHujan.Items.Add("Input curah hujan per bulan")
        lstCurahHujan.Items.Add("-------------------------------------------------------")
    End Sub

    Private Sub btnInput_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInput.Click

        'deklarasi variabel
        Dim intCount As Integer
        Dim intHujan As Integer


        ' Proses perulangan untuk memasukan nilai curah hujan
        For intCount = 0 To 11
            intHujan = Val(InputBox("Masukan curah hujan untuk bulan " & strMonths(intCount)))
            lstCurahHujan.Items.Add(strMonths(intCount) & " " & (intHujan).ToString())
            intMonths(intCount) = intHujan
        Next intCount
    End Sub

    Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click

        'deklarasi variabel
        Dim intCount As Integer
        Dim intMaximum As Integer = intMonths(0)
        Dim intMinimum As Integer = intMonths(0)
        Dim dblAverage As Double
        Dim intTotal As Integer = 0

        'mencari nilai maximum curah hujan
        For intCount = 1 To (intMonths.Length - 1)
            If intMonths(intCount) > intMaximum Then
                intMaximum = intMonths(intCount)
            End If
        Next intCount

        'mencari nilai minimum curah hujan
        For intCount = 1 To (intMonths.Length - 1)
            If intMonths(intCount) < intMinimum Then
                intMinimum = intMonths(intCount)
            End If
        Next intCount

        'mencari nilai average curah hujan
        For intCount = 1 To (strMonths.Length - 1)
            intTotal += intMonths(intCount)
        Next intCount
        dblAverage = (intTotal / strMonths.Length)

        'mencari nilai total curah hujan
        For intCount = 1 To (strMonths.Length - 1)
            intTotal += intMonths(intCount)
        Next intCount

        'menampilkan hasil hitungan ke masing-masing Textbox
        txtCurahHujanMax.Text = intMaximum.ToString
        txtCurahHujanMin.Text = intMinimum.ToString
        txtRatarata.Text = dblAverage
        txtTotalCurahHujan.Text = intTotal

    End Sub

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click

        'membersihkan lstCurahHujan dan semua Textbox
        lstCurahHujan.Items.Clear()
        txtCurahHujanMax.Clear()
        txtCurahHujanMin.Clear()
        txtRatarata.Clear()
        txtTotalCurahHujan.Clear()

        'menampilkan teks dibawah ke lstCurahHujan
        lstCurahHujan.Items.Add("Input curah hujan per bulan")
        lstCurahHujan.Items.Add("-------------------------------------------------------")
    End Sub

    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click

        'menutup form CurahHujan
        Me.Close()
    End Sub
End Class