SELAMAT DATANG BLOG SAYA

Minggu, 30 Juni 2013

Pengolahan Manipulasi Citra






Public Class Form1
    Dim gambar As Bitmap
    Private Sub OpenFileToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenFileToolStripMenuItem.Click

        OFD.Filter = "BMP|*.bmp|JPG|*.Jpg"
        OFD.ShowDialog()
        If OFD.FileName = "" Then Exit Sub
        Pic1.Image = Image.FromFile(OFD.FileName)
        gambar = New Bitmap(Pic1.Image)

    End Sub

    Private Sub DefaultGambarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DefaultGambarToolStripMenuItem.Click
        Pic2.Image = Pic1.Image
    End Sub

    Private Sub SaveFileToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveFileToolStripMenuItem.Click
        SFD.Filter = "JPG|*.jpg|BMP|*.bmp"
        SFD.ShowDialog()
        If SFD.FileName = "" Then Exit Sub
        If SFD.FilterIndex = 1 Then
            gambar.Save(SFD.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)
        End If
        If SFD.FilterIndex = 2 Then
            gambar.Save(SFD.FileName, System.Drawing.Imaging.ImageFormat.Bmp)
        End If
    End Sub

    Private Sub GrayscaleToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GrayscaleToolStripMenuItem.Click
        Dim pb, pc As Integer
        Dim Rt, vM, vH, vB As Double
        With gambar
            For pc = 0 To 1
                vM = 255 - .GetPixel(pc, pb).R
                vH = .GetPixel(pc, pb).G
                vB = .GetPixel(pc, pb).B
                Rt = (vM + vH + vB) / 3
                .SetPixel(pc, pb, Color.FromArgb(Rt, Rt, Rt))
            Next
            Pic2.Image = gambar
            Pic2.Refresh()
        End With
    End Sub

    Private Sub NegatifToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NegatifToolStripMenuItem.Click
        Dim pb, pc As Integer
        Dim vM, vH, vB As Double
        With gambar
            For pb = 0 To .Height - 1
                For pc = 0 To .Width - 1
                    vM = 255 - .GetPixel(pc, pb).R
                    vH = 255 - .GetPixel(pc, pb).G
                    vB = 255 - .GetPixel(pc, pb).B
                    If vM <= 0 Then vM = 0
                    If vB <= 0 Then vB = 0
                    If vH <= 0 Then vH = 0
                    .SetPixel(pc, pb, Color.FromArgb(vM, vH, vB))
                Next
                Pic2.Image = gambar
                Pic2.Refresh()
            Next
        End With
    End Sub

    Private Sub BrigthnessToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrigthnessToolStripMenuItem.Click
        Dim pb, pc As Integer
        Dim vM, vH, vB As Double
        With gambar
            For pb = 0 To .Height - 1
                For pc = 0 To .Width - 1
                    vM = .GetPixel(pc, pb).R + 5
                    vH = .GetPixel(pc, pb).G + 5
                    vB = .GetPixel(pc, pb).B + 5
                    If vM > 255 Then vM = 255
                    If vB > 255 Then vB = 255
                    If vH > 255 Then vH = 255
                    .SetPixel(pc, pb, Color.FromArgb(vM, vH, vB))
                Next
                Pic2.Image = gambar
                Pic2.Refresh()

            Next
        End With
    End Sub

    Private Sub KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem.Click
        End
    End Sub

    Private Sub BinerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BinerToolStripMenuItem.Click
        Dim pb, pc As Integer
        Dim rata, vM, vH, vB As Double
        With gambar
            For pb = 0 To .Height - 1
                For pc = 0 To .Width - 1
                    vM = .GetPixel(pc, pb).R
                    vH = .GetPixel(pc, pb).G
                    vB = .GetPixel(pc, pb).B
                    rata = (vM + vH + vB) / 3
                    If (rata < 128) Then
                        vM = 0
                        vH = 0
                        vB = 0
                    Else
                        vM = 255
                        vH = 255
                        vB = 255
                    End If
                    .SetPixel(pc, pb, Color.FromArgb(vM, vH, vB))
                Next
                Pic2.Image = gambar
                Pic1.Refresh()
            Next
        End With

    End Sub

    Private Sub RotateToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RotateToolStripMenuItem.Click
        Dim pb, pc As Integer
        Dim vM, vH, vB As Double
        Dim gambar3 As Bitmap = New Bitmap(Pic1.Image)
        With gambar
            For pb = .Height - 1 To 0 Step -1
                For pc = .Width - 1 To 0 Step -1
                    vM = .GetPixel(pc, pb).R
                    vH = .GetPixel(pc, pb).G
                    vB = .GetPixel(pc, pb).B
                    gambar3.SetPixel(.Width - 1 - pc, .Height - 1 - pb, Color.FromArgb(vM, vH, vB))
                Next
                Pic2.Image = gambar3
                Pic2.Refresh()
            Next

        End With
        gambar = gambar3
    End Sub

    Private Sub ContrasToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContrasToolStripMenuItem.Click
        Dim gambar2 = New Bitmap(Pic2.Image)
        Pic2.Image = gambar2
        Dim tempbmp As New Bitmap(Pic2.Image)
        Dim DX As Integer = 1
        Dim DY As Integer = 1
        Dim Red, Green, Blue As Integer
        Dim X, Y As Integer
        Dim tc As Integer
        tc = 5
        Pic1.Width = Pic1.Width
        Pic2.Show()
        With tempbmp
            For X = DX To .Height - DX - 1
                For Y = DY To .Width - DY - 1
                    Red = CInt(.GetPixel(Y, X).R) 'ambil nilai warna merah (Red) pada pixel(Y,X)
                    Green = CInt(.GetPixel(Y, X).G) 'ambil nilai warna hijau (Green) pada pixel(Y,X)
                    Blue = CInt(.GetPixel(Y, X).B) 'ambil nilai warna biru (Blue) pada pixel(Y,X)
                    'Grey = (Red + Green + Blue) / 3 'konversi warna pada pixel Y,X ke grey
                    Red = Red * tc
                    Blue = Blue * tc
                    Green = Green * tc
                    If (Red > 255) Then
                        Red = 255
                    End If
                    If (Blue > 255) Then
                        Blue = 255
                    End If
                    If (Green > 255) Then
                        Green = 255
                    End If
                    gambar2.SetPixel(Y, X, Color.FromArgb(Red, Green, Blue)) 'simpan warna baru pada pixel(Y,X)
                Next
                If X Mod 10 = 0 Then
                    Pic2.Invalidate()
                    Me.Text = "Progres Proses contrast : " & Int(100 * X / (Pic1.Image.Height - 2)).ToString & "%"
                    Pic2.Image = gambar2
                    Pic2.Refresh()
                End If
            Next
        End With
        Pic2.Hide()
        Pic2.Refresh()
        Me.Text = "Pengolahan Citra : Proses contrast berhasil"
    End Sub

    Private Sub Rotate270ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rotate270ToolStripMenuItem.Click
        Dim pb, pc As Integer
        Dim vM, vH, vB As Double
        Dim gambar3 As Bitmap = New Bitmap(Pic1.Image)
        With gambar
            For pb = .Height - 1 To 0 Step -2
                For pc = .Width - 1 To 0 Step -2
                    vM = .GetPixel(pc, pb).R
                    vH = .GetPixel(pc, pb).G
                    vB = .GetPixel(pc, pb).B
                    gambar3.SetPixel(.Width - 1 - pc, .Height - 1 - pb, Color.FromArgb(vM, vH, vB))
                Next
                Pic2.Image = gambar
                Pic2.Refresh()
            Next

        End With
        gambar = gambar3
    End Sub

    Private Sub HijauToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HijauToolStripMenuItem.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vB As Double

        Dim gambar2 = New Bitmap(Pic2.Image)
        For Pb = 0 To gambar2.Height - 1
            For Pc = 0 To gambar2.Width - 1
                vM = gambar2.GetPixel(Pc, Pb).R
                vH = gambar2.GetPixel(Pc, Pb).G + 10
                vB = gambar2.GetPixel(Pc, Pb).B
                If vH >= 255 Then vH = 255
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
            Next
            Pic2.Image = gambar2
            Pic2.Refresh()
        Next
    End Sub

    Private Sub HijauKuningToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HijauKuningToolStripMenuItem.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vB As Double

        Dim gambar2 = New Bitmap(Pic2.Image)
        For Pb = 0 To gambar2.Height - 1
            For Pc = 0 To gambar2.Width - 1
                vM = gambar2.GetPixel(Pc, Pb).R
                vH = gambar2.GetPixel(Pc, Pb).G - 10
                vB = gambar2.GetPixel(Pc, Pb).B
                If vH <= 0 Then vH = 0
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
            Next
            Pic2.Image = gambar2
            Pic2.Refresh()
        Next
    End Sub

    Private Sub MerahTuaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MerahTuaToolStripMenuItem.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vB As Double

        Dim gambar2 = New Bitmap(Pic2.Image)
        For Pb = 0 To gambar2.Height - 1
            For Pc = 0 To gambar2.Width - 1
                vM = gambar2.GetPixel(Pc, Pb).R + 10
                vH = gambar2.GetPixel(Pc, Pb).G
                vB = gambar2.GetPixel(Pc, Pb).B
                If vM >= 255 Then vM = 255
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
            Next
            Pic2.Image = gambar2
            Pic2.Refresh()
        Next
    End Sub

    Private Sub MerahToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MerahToolStripMenuItem.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vB As Double

        Dim gambar2 = New Bitmap(Pic2.Image)
        For Pb = 0 To gambar2.Height - 1
            For Pc = 0 To gambar2.Width - 1
                vM = gambar2.GetPixel(Pc, Pb).R - 10
                vH = gambar2.GetPixel(Pc, Pb).G
                vB = gambar2.GetPixel(Pc, Pb).B
                If vM <= 0 Then vM = 0
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
            Next
            Pic2.Image = gambar2
            Pic2.Refresh()
        Next
    End Sub

    Private Sub BiruToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BiruToolStripMenuItem.Click
        Dim Pb, Pc As Integer
        Dim vM, vH, vB As Double

        Dim gambar2 = New Bitmap(Pic2.Image)
        For Pb = 0 To gambar2.Height - 1
            For Pc = 0 To gambar2.Width - 1
                vM = gambar2.GetPixel(Pc, Pb).R
                vH = gambar2.GetPixel(Pc, Pb).G
                vB = gambar2.GetPixel(Pc, Pb).B + 10
                If vB >= 255 Then vB = 255
                gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
            Next
            Pic2.Image = gambar2
            Pic2.Refresh()
        Next
    End Sub

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

    End Sub
End Class




Minggu, 02 Juni 2013

YUk !!! Belajar Pemrograman visual basic


Public Class Form1
  
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        buattabel()
        kodebarang.Items.Add("TS001")
        kodebarang.Items.Add("TS002")
        kodebarang.Items.Add("VG001")
        kodebarang.Items.Add("VG002")
    End Sub

    Private Sub kodebarang_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kodebarang.SelectedIndexChanged
        Dim x As String
        x = Microsoft.VisualBasic.Left(kodebarang.Text, 2)
        Select Case x
            Case "TS" : merk.Text = "Toshiba"
            Case "VG" : merk.Text = "V-Gen"

        End Select
        Dim y As String
        y = Microsoft.VisualBasic.Right(kodebarang.Text, 3)
        Select Case y
            Case "001" : namabarang.Text = "Flashdisk 4GB"
            Case "002" : namabarang.Text = "Flashdisk 2GB"
        End Select
        If x = "TS" And y = "001" Then
            harga.Text = 105000
        ElseIf x = "TS" And y = "002" Then
            harga.Text = 75000
        ElseIf x = "VG" And y = "001" Then
            harga.Text = 90000
        ElseIf x = "VG" And y = "002" Then
            harga.Text = 60000
        End If
    End Sub

    Private Sub Btnhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnhapus.Click
        nopembelian.Text = ""
        kodebarang.Text = ""
        namabarang.Text = ""
        merk.Text = ""
        harga.Text = ""
        jumlahbeli.Text = ""
        totalharga.Text = ""
    End Sub
    Sub buattabel()
        ListView1.Columns.Add("nopembelian", 50, HorizontalAlignment.Left)
        ListView1.Columns.Add("kodebarang", 80, HorizontalAlignment.Left)
        ListView1.Columns.Add("namabarang", 120, HorizontalAlignment.Left)
        ListView1.Columns.Add("merk", 120, HorizontalAlignment.Left)
        ListView1.Columns.Add("harga", 120, HorizontalAlignment.Left)
        ListView1.Columns.Add("jumlahbeli", 90, HorizontalAlignment.Left)
        ListView1.Columns.Add("totalharga", 90, HorizontalAlignment.Left)
        ListView1.View = View.Details
        ListView1.GridLines = True
        ListView1.FullRowSelect = True
    End Sub
    Sub isitabel()
        Dim lst As New ListViewItem
        lst.Text = nopembelian.Text
        lst.SubItems.Add(kodebarang.Text)
        lst.SubItems.Add(namabarang.Text)
        lst.SubItems.Add(merk.Text)
        lst.SubItems.Add(harga.Text)
        lst.SubItems.Add(jumlahbeli.Text)
        lst.SubItems.Add(totalharga.Text)
        ListView1.Items.Add(lst)

    End Sub

    Private Sub Btnsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnsimpan.Click
        isitabel()
    End Sub

    Private Sub Hapusdipilih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Hapusdipilih.Click
        ListView1.Items.Remove(ListView1.SelectedItems(0))
    End Sub

    Private Sub Hapussemua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Hapussemua.Click
        ListView1.Items.Clear()
    End Sub

    Private Sub nopembelian_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nopembelian.TextChanged
        Select Case nopembelian.Text
            Case "001" : namabarang.Text = "Flashdisk 4GB"
                harga.Text = 105000
            Case "002" : namabarang.Text = "Flashdisk 2GB"
                harga.Text = 75000
            Case "003" : namabarang.Text = "Flashdisk 4GB"
                harga.Text = 90000
            Case "004" : namabarang.Text = "Flashdisk 2GB"
                harga.Text = 60000
        End Select
    End Sub

    Private Sub Btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnkeluar.Click
        Me.Close()
    End Sub

    Private Sub jumlahbeli_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles jumlahbeli.TextChanged
        totalharga.Text = Val(jumlahbeli.Text) * Val(harga.Text)
    End Sub

    Private Sub totalharga_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles totalharga.TextChanged

    End Sub

    Private Sub namabarang_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles namabarang.TextChanged
        Select Case namabarang.Text
            Case "Flashdisk 4GB" : harga.Text = 105000
            Case "Flashdisk 2GB" : harga.Text = 75000
            Case "Flashdisk 4GB" : harga.Text = 90000
            Case "Flashdisk 2GB" : harga.Text = 60000
        End Select
    End Sub
End Class