Donderdag 17 April 2014

Tugas Pemrograman Linier



Suatu perusahaan akan memproduksi 2 jenis produk yaitu lemari dan kursi. Untuk memmproduksi 2 produk tersebut di butuhkan 2 kegiatan yaitu proses perakitan dan pengecatan. Perusahaan menyediakan waktu 56 jam untuk proses perakitan dan 60 jam untuk proses pengecatan. Untuk produksi 1 Unit lemari di perlukan waktu 8 jam perakitan dan 5 jam pengecatan. Untuk produksi 1 unit kursi di perlukan 7 jam perakitan dan 12 jam pengecatan. Jika masing-masing produk adalah Rp. 200 ribu untuk lemari dan Rp 100 ribu untuk kursi. Tentukan solusi optimal agar mendapatkan untuk maksimal.
Penyelesaian :
1.    Tabel
Proses
Waktu Untuk 1 Unit Produk
Total Waktu
Lemari
Kursi
Perakitan
8
7
56
Pengecatan
5
12
60
Laba
200
100


2.    Menentukan Fungsi
·         Fungsi Tujuan : Z = 200x+100y
·         Fungsi Kendala
a.      Fungsi Perakitan : 8x+7y 56
b.      Fungsi Pengecatan : 5x+12y ≤ 60
3.    Menentukan Titik Potong
a.      Fungsi Perakitan : 8x+7y 56
X = 0                                                    Y = 0
8 (0) + 7y = 56                                     8x + 7(0) = 56
           7y = 56                                                8x = 56
             Y = 8   (0,8)                                         x = 7    (7,0)
b.      Fungsi Pengecatan : 5x+12y ≤ 60
X = 0                                                    Y = 0
5 (0) + 12y = 60                                   5x + 12 (0) = 60
            12y = 60                                                5x = 60
                Y = 5   (0,5)                                          x = 12  (12,0)




4.    Grafik

 

Eliminasi                                                                     Substitusikan
8x + 7y = 56    2   16x + 14y = 112                              8 (4,7) + 7y = 56
5x + 12y = 60  1     5x + 12y = 60                                       32 + 7y = 56
                                      11x = 52                                               7y = 56 - 32
                                          x = 4,7                                  7y = 24
                                                                                                     y = 3,4

5.    Substitusikan titik koordinat ke dalam persamaan fungsi
Z = 200x + 100y
Titik A (0,8) Z = 200(0) + 100(8)
                      = 800
        B (7,0) Z = 200(7) + 100(0)
                      = 1400
       C (0,5) Z = 200(0) + 100(5)
                      = 500
       D (4,3) Z = 200(4) + 100(3)
                      = 1100

Donderdag 27 Junie 2013

PENGOLAHAN CITRA LANJUTAN





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 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 MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
        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
                pic1.Image = gambar3
                pic1.Refresh()
            Next
        End With
        gambar = gambar3
    End Sub
End Class