Minggu, 30 Juni 2013

Pengolahan Citra Lanjutan

Masih tentang pengolahan citra nih :). Berikut contoh program aplikasi untuk melakukan pengolahan citra :

1. Citra Grayscale
2. Citra Biner
3. Citra Rotate 180 derajat
4. Citra Negatif
5. Citra Brightness

Program juga dilengkapi dengan menu Open dan Save citra yang akan dan telah di olah.

Berikut design aplikasi sederhana pengolahan citra menggunakan VB Net














Tambahkan komponen menustrip (pada toolbox Menus & Toolbar), OpenFileDialog ( pada toolbox Dialog) dan SaveFileDialog (pada toolbox Dialog)

 name dirubah menjadi OFD
àOpenFileDialog
 name dirubah menjadi SFD
àSaveFileDialog

Isi menu



Listing program pengolahan citra menggunakan VB Net

Public Class Form1
    Dim gambar As Bitmap

    Private Sub OpenCitraToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenCitraToolStripMenuItem.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 SaveCitraToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveCitraToolStripMenuItem.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 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
                    Rt = (vM + vH + vB) / 3
                    .SetPixel(Pc, Pb, Color.FromArgb(Rt, Rt, Rt))
                Next
                Pic2.Image = gambar
                Pic2.Refresh()
            Next
        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 BrigtnessToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrigtnessToolStripMenuItem.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 ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
        gambar = New Bitmap(Pic1.Image)
    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
                Pic2.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

End Class
Hasil program

Citra Biner













Citra Negatif













 Citra Rotate 180 derajat



Minggu, 02 Juni 2013

Yuk! Belajar Pemrograman Visual Basic dot Net Di Mesran.Net


Ni program nya pak ..
Public Class Form1
Sub BuatTabel()
LV.Columns.Add(“No Pembelian”, 90, HorizontalAlignment.Center)
LV.Columns.Add(“Kode Barang”, 100, HorizontalAlignment.Center)
LV.Columns.Add(“Nama Barang”, 100, HorizontalAlignment.Center)
LV.Columns.Add(“Merk”, 72, HorizontalAlignment.Center)
LV.Columns.Add(“Harga”, 70, HorizontalAlignment.Center)
LV.Columns.Add(“Jumlah Beli”, 70, HorizontalAlignment.Center)
LV.Columns.Add(“TotalHarga”, 90, HorizontalAlignment.Center)
LV.View = View.Details
LV.GridLines = True
LV.FullRowSelect = True
End Sub
Sub IsiTable()
Dim Lst As New ListViewItem
Lst.Text = no.Text
Lst.SubItems.Add(kode.Text)
Lst.SubItems.Add(nama.Text)
Lst.SubItems.Add(merk.Text)
Lst.SubItems.Add(harga.Text)
Lst.SubItems.Add(jmlh.Text)
Lst.SubItems.Add(total.Text)
LV.Items.Add(Lst)
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kode.SelectedIndexChanged
Dim x As String
x = Microsoft.VisualBasic.Left(kode.Text, 2)
If x = “TS” Then
merk.Text = “Thosiba”
ElseIf x = “VG” Then
merk.Text = “V-Gen”
End If
x = Microsoft.VisualBasic.Right(kode.Text, 3)
If x = “001″ Then
nama.Text = “Flashdisk 4GB”
ElseIf x = “002″ Then
nama.Text = “Flashdisk 2GB”
End If
If kode.Text = “TS001″ Then
harga.Text = “105000″
ElseIf kode.Text = “TS002″ Then
harga.Text = “75000″
ElseIf kode.Text = “VG001″ Then
harga.Text = “90000″
ElseIf kode.Text = “VG002″ Then
harga.Text = “60000″
End If
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
BuatTabel()
kode.Items.Add(“TS001″)
kode.Items.Add(“TS002″)
kode.Items.Add(“VG001″)
kode.Items.Add(“VG002″)
End Sub
Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
End
End Sub
Private Sub reset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles reset.Click
no.Text = “”
kode.Text = “”
nama.Text = “”
merk.Text = “”
harga.Text = “”
jmlh.Text = “”
total.Text = “”
End Sub
Private Sub simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan.Click
IsiTable()
no.Text = “”
kode.Text = “”
nama.Text = “”
merk.Text = “”
harga.Text = “”
jmlh.Text = “”
total.Text = “”
End Sub
Private Sub semua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles semua.Click
LV.Items.Clear()
End Sub
Private Sub pilih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pilih.Click
LV.Items.Remove(LV.SelectedItems(0))
End Sub
Private Sub jmlh_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles jmlh.KeyPress
Dim tombol As Integer = Asc(e.KeyChar)
If tombol = 13 Then
total_TextChanged(sender, e)
total.Text = jmlh.Text * harga.Text
End If
End Sub
Private Sub total_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles total.TextChanged
End Sub
End Clas

Kamis, 16 Mei 2013

Tugas Bahasa Pemrograman


Public Class Form1
    Sub buatTabel()
        LV.Columns.Add("NIK", 150, HorizontalAlignment.Center)
        LV.Columns.Add("NAMA KARYAWAN", 150, HorizontalAlignment.Center)
        LV.Columns.Add("JABATAN", 150, HorizontalAlignment.Center)
        LV.Columns.Add("GAJI POKOK", 150, HorizontalAlignment.Center)
        LV.Columns.Add("STATUS", 150, HorizontalAlignment.Center)
        LV.Columns.Add("TUNJANGAN keluarga", 150, HorizontalAlignment.Center)
        LV.Columns.Add("PAJAK", 150, HorizontalAlignment.Center)
        LV.Columns.Add("TOTAL GAJI", 150, HorizontalAlignment.Center)
        LV.View = View.Details
        LV.GridLines = True
        LV.FullRowSelect = True
    End Sub
    Sub IsiTabel()
        Dim Lst As New ListViewItem
        Lst.Text = NIK.Text
        Lst.SubItems.Add(nama.Text)
        Lst.SubItems.Add(jabatan.Text)
        Lst.SubItems.Add(gaji.Text)
        Lst.SubItems.Add(status.Text)
        Lst.SubItems.Add(tunjangankeluarga.Text)
        Lst.SubItems.Add(pajak.Text)
        Lst.SubItems.Add(totalgaji.Text)
        LV.Items.Add(Lst)
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        buatTabel()
        nik.Items.Add("001")
        nik.Items.Add("002")
        nik.Items.Add("003")
        jabatan.Items.Add("Mandor")
        jabatan.Items.Add("Kepala Bagian")
        jabatan.Items.Add("Staff")
        status.Items.Add("Menikah")
        status.Items.Add("Tidak Menikah")
    End Sub
    Private Sub jabatan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles jabatan.SelectedIndexChanged
        Select Case jabatan.Text
            Case "Mandor" : gaji.Text = 17500000
            Case "Kepala Bagian" : gaji.Text = 2500000
            Case "Staff" : gaji.Text = 1250000
        End Select
        pajak.Text = 0.15 * gaji.Text
    End Sub
    Private Sub nik_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nik.SelectedIndexChanged
        Select Case nik.Text
            Case "001" : nama.Text = "Cantika"
            Case "002" : nama.Text = "Omega"
            Case "003" : nama.Text = "Nova"
        End Select
    End Sub
    Private Sub status_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles status.SelectedIndexChanged
        Select Case status.Text
            Case "Menikah" : tunjangankeluarga.Text = 0.15 * gaji.Text
            Case "Tidak Menikah" : tunjangankeluarga.Text = 0
        End Select
    End Sub
    Private Sub btnproses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnproses.Click
        totalgaji.Text = Val(gaji.Text) + Val(tunjangankeluarga.Text) - Val(pajak.Text)
    End Sub
    Private Sub btnsimpn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsimpn.Click
        IsiTabel()
        nik.Text = ""
        nama.Text = ""
        jabatan.Text = ""
        gaji.Text = ""
        status.Text = ""
        tunjangankeluarga.Text = ""
        pajak.Text = ""
        totalgaji.Text = ""
    End Sub
    Private Sub btnhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapus.Click
        lv.Items.Clear()
    End Sub
    Private Sub btnclear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnclear.Click
        lv.Items.Remove(lv.SelectedItems(0))
    End Sub
End Class