Sabtu, 29 Juni 2013

materi pengolahan citra lanjutan

materi terakhir
pengolahan citra lanjutan


design form dan isi menu
















Listing Program
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 KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem.Click
        End

    End Sub


Private Sub DefaultGambarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DefaultGambarToolStripMenuItem.Click
        gambar = New Bitmap(pic1.Image)
    End Sub


















a. grayscale
listing program

 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


tampilannya :
















b. negatif

listing program


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


tampilannya :

















c.rorate 90 derajat

listing program
Private Sub Rotate90ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rotate90ToolStripMenuItem.Click
        Dim rgb As Image
        rgb = pic2.Image
        If rgb IsNot Nothing Then rgb.RotateFlip(RotateFlipType.Rotate90FlipXY)
        pic2.Image = rgb
    End Sub


tampilannya :

















e.rorate 180 derajat

listing program
 Private Sub Rotate180ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rotate180ToolStripMenuItem.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
    End Sub
End Class


tampilannya:
















nahh .
ini dia semoga hasilnya luarbiasa
hhahhah

Kamis, 06 Juni 2013

penjualan tv sony



penyelesaian :

Public Class Form1

    Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        nama.Items.Add("toshiba")
        nama.Items.Add("lg")
        nama.Items.Add("samsung")
    End Sub

    Private Sub nama_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nama.SelectedIndexChanged
        Select Case nama.Text
            Case "toshiba" : harga.Text = "3500000"
            Case "lg" : harga.Text = "4000000"
            Case "samsung" : harga.Text = "4500000"
        End Select
       
    End Sub

    Private Sub btnproses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnproses.Click
        total.Text = harga.Text * jumlah.Text
        If total.Text > 2500000 Then
            discount.Text = 0.1 * total.Text
        Else
            discount.Text = 0
        End If
        pembayaran.Text = total.Text - discount.Text
    End Sub



Implementasi Web Service Dengan SOAP Menggunakan NuSOAP (Bag 1)




Implementasi Web Service Dengan SOAP Menggunakan NuSOAP (Bag 1)


Beberapa waktu yang lalu pembahasan mengenai web service pernah saya tulis di blog tutorial ini. Dalam artikel tersebut dicontohkan secara sederhana bagaimana cara kerja web service yang digunakan untuk integrasi (pertukaran informasi) antara beberapa buah sistem. Akan tetapi dalam penerapannya, web service sendiri sudah ada protokol standard yang biasa digunakan yaitu SOAP (Simple Object Access Protocol) atau WSDL (Web Service Definition Language). SOAP dan WSDL, oleh wikipedia dijelaskan bahwa keduanya sama-sama menggunakan XML sebagai format pertukaran informasi/komunikasi antar sistem melalui HTTP atau SMTP.
Adapun struktur XML dalam SOAP selama proses transaksi antar sistem baik dalam proses call/request maupun response dalam web service, digambarkan pada gambar berikut ini:
Struktur XML SOAP
Untuk mengimplementasikan web service dengan menggunakan SOAP saat ini adalah mudah, karena kita bisa menggunakan NuSOAP. NuSOAP, yang dibuat oleh NuSphere dan Dietrich Ayala ini, merupakan kumpulan class yang khusus digunakan untuk mengimplementasikan web server baik menggunakan protokol SOAP maupun WSDL. Namun dalam pembahasan kali ini sementara hanya akan dibahas khusus implementasi SOAP nya saja. Anda bisa mengunduh NuSOAP ini di sourceforge. Setelah Anda unduh, dan diekstrak filenya, Anda akan mendapatkan sebuah folder bernama /lib. Di dalam folder /lib inilah kumpulan-kumpulan class ini tersimpan dan kita tinggal memanfaatkannya saja.
OK, dalam artikel ini saya akan contohkan implementasi SOAP dengan NuSOAP pada studi kasus sederhana yaitu untuk operasi aritmatika. Adapun gambaran contohnya sebagai berikut. Di komputer A, dalam hal ini bertindak sebagai client akan dibuat sebuah script untuk menjumlahkan dua bilangan. Namun untuk mendapatkan hasil penjumlahannya, komputer A ini akan meminta bantuan komputer B. Dengan demikian komputer A ini nantinya akan melakukan call/request ke komputer B untuk menjumlahkan 2 bilangan, lalu komputer B yang bertindak sebagai server ini menghasilkan response berupa hasil penjumlahannya. Hasil response ini kemudian dibaca oleh komputer A, lalu ditampilkan hasilnya di komputer A.
Bagaimana cara mengimplementasikan kasus di atas? Ini dia caranya. Pertama, pastikan Anda sudah mendownload NuSOAP nya untuk mendapatkan folder /lib nya. Selanjutnya folder /lib ini sama-sama diletakkan di komputer A maupun komputer B. Nah.. selanjutnya, kita siapkan script PHP di komputer B yang nantinya berfungsi untuk menangkap call dari komputer A dan selanjutnya memberikan response. Ini dia scriptnya:
server.php
01.<?php
02. 
03.// mengincludekan file berisi class nusoap
04.require_once('lib/nusoap.php');
05.// instansiasi class soap untuk server
06.$server = new soap_server;
07.// meregistrasi 'method' untuk proses penjumlahan dengan nama 'jumlahkan'
08.$server->register('jumlahkan');
09. 
10.// detil isi method 'jumlahkan'
11.function jumlahkan($x, $y) {
12.return $x + $y;
13.}
14. 
15.// memberikan response service
16.$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
17.$server->service($HTTP_RAW_POST_DATA);
18.?>
Keterangan:
Setiap method yang dibuat, nama method harus diregisterkan dengan perintah
1.$server->register('nama method');
Langkah berikutnya, kita tulis script yang nantinya diletakkan di komputer A di sisi client.
client.php
01.<?php
02. 
03.require_once('lib/nusoap.php');
04. 
05.// dua bilangan yang akan dijumlahkan
06.$bil1 = 10;
07.$bil2 = 25;
08. 
09.// instansiasi obyek untuk class nusoap client
10.$client = new nusoap_client('http://nomor_ip_komputerB/../server.php');
11.// proses call method 'jumlahkan' di script server.php yang ada di komputer B
12.$result = $client->call('jumlahkan', array('x' => $bil1, 'y' => $bil2));
13. 
14.echo "<p>Hasil penjumlahan ".$bil1." dan ".$bil2." adalah ".$result."</p>";
15. 
16.?>
Jika script client.php ini dijalankan di komputer client (dalam hal ini komputer A), maka akan menghasilkan output sbb:
 photo img-soap-01_zps16590b86.jpg
Anda bisa mengimplementasikan NuSOAP ini dengan komputer di rumah (localhost) sebagai client dan server hosting. Jadi Anda upload script server.php nya ke hosting dan juga folder /lib nya. Sedangkan script client.php Anda simpan di localhost. Kemudian pada proses instansiasi
1.$client = new nusoap_client('http://nomor_ip_komputerB/../server.php');
Anda tinggal tentukan URL nya yang diarahkan ke script server.php di server hosting.
Kemudian bagaimana jika, dalam script server.php nya ingin dibuat lebih dari satu method, ya cukup buat saja beberapa method yang diinginkan dan jangan lupa registerkan. Contoh:
server.php
01.<?php
02. 
03.// mengincludekan file berisi class nusoap
04.require_once('lib/nusoap.php');
05.// instansiasi class soap untuk server
06.$server = new soap_server;
07.// meregistrasi 'method' untuk proses penjumlahan dengan nama 'jumlahkan' dan 'kurangi'
08.$server->register('jumlahkan');
09.$server->register('kurangi');
10. 
11.// detil isi method 'jumlahkan'
12.function jumlahkan($x, $y) {
13.return $x + $y;
14.}
15. 
16.// detil isi method 'kurangi'
17.function kurangi($x, $y) {
18.return $x - $y;
19.}
20. 
21.// memberikan response service
22.$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
23.$server->service($HTTP_RAW_POST_DATA);
24.?>
dan berikut ini contoh script client.php nya.
client.php
01.<?php
02. 
03.require_once('lib/nusoap.php');
04. 
05.// dua bilangan yang akan dijumlahkan atau dikurangi
06.$bil1 = 10;
07.$bil2 = 25;
08. 
09.// instansiasi obyek untuk class nusoap client
10.$client = new nusoap_client('http://nomor_ip_komputerB/../server.php');
11.// proses call method 'jumlahkan' di script server.php yang ada di komputer B
12.$result = $client->call('jumlahkan', array('x' => $bil1, 'y' => $bil2));
13.echo "<p>Hasil penjumlahan ".$bil1." dan ".$bil2." adalah ".$result."</p>";
14. 
15.// proses call method 'kurangi' di script server.php yang ada di komputer B
16.$result = $client->call('kurangi', array('x' => $bil1, 'y' => $bil2));
17.echo "<p>Hasil pengurangan ".$bil1." dan ".$bil2." adalah ".$result."</p>";
18. 
19.?>
Jika Anda penasaran bagaimana format XML yang dikirim ke server pada proses call/request untuk kasus di atas, Anda bisa tambahkan dengan perintah
1.$client->request;
Contoh:
client.php
01.<?php
02. 
03.require_once('lib/nusoap.php');
04. 
05.// dua bilangan yang akan dijumlahkan atau dikurangi
06.$bil1 = 10;
07.$bil2 = 25;
08. 
09.// instansiasi obyek untuk class nusoap client
10.$client = new nusoap_client('http://rosihanari.net/nusoap/server.php');
11.// proses call method 'jumlahkan' di script server.php yang ada di komputer B
12.$result = $client->call('jumlahkan', array('x' => $bil1, 'y' => $bil2));
13. 
14.// menampilkan format XML dalam proses call/request
15.echo $client->request;
16. 
17.?>
Setelah Anda jalankan script client.php di atas, kemudian melihat sourcenya di browser maka Anda akan dapatkan format XML SOAP nya sbb:
 photo img-soap-02_zps2c48c390.jpg
Demikian juga apabila Anda ingin melihat format XML response yang dikirimkan oleh server, yaitu dengan menambahkan perintah:
1.$client->response;
Contoh:
client.php
01.<?php
02. 
03.require_once('lib/nusoap.php');
04. 
05.// dua bilangan yang akan dijumlahkan atau dikurangi
06.$bil1 = 10;
07.$bil2 = 25;
08. 
09.// instansiasi obyek untuk class nusoap client
10.$client = new nusoap_client('http://rosihanari.net/nusoap/server.php');
11.// proses call method 'jumlahkan' di script server.php yang ada di komputer B
12.$result = $client->call('jumlahkan', array('x' => $bil1, 'y' => $bil2));
13. 
14.// menampilkan format XML hasil response
15.echo $client->response;
16. 
17.?>
dan bentuk format XML response dari server adalah sbb:
 photo img-soap-03_zpsdaf84431.jpg
Mudah dan menarik bukan SOAP nya? Insya Allah untuk artikel mendatang akan saya paparkan studi kasus implementasi SOAP dengan NuSOAP yang return value dari method nya berupada data array/multiple data. Biasanya kasus ini diterapkan untuk proses lookup data yang ada di server.

<iframe src="https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=24#channel=f324ae392141df6&amp;origin=http%3A%2F%2Fblog.rosihanari.net&amp;channel_path=%2Fimplementasi-web-service-dengan-soap-menggunakan-nusoap-bag-1%2F%3Ffb_xd_fragment%23xd_sig%3Df100b5304574434%26" style='border-bottom-style:none;border-bottom-width:medium;border-left-style: none;border-left-width:medium;border-right-style:none;border-right-width: medium;border-top-style:none;border-top-width:medium' tab-index=-1 title="Facebook Cross Domain Communication Frame" aria-hidden=true id="fb_xdm_frame_https" allowtransparency=true name="fb_xdm_frame_https" frameborder=0 scrolling=no>