Sabtu, 29 Juni 2013

Mengenal Borland Delphi 7.0

Mengenal Borland Delphi 7.0

Delphi adalah sebuah bahasa pemrograman visual di lingkungan windows ( under windows) yang menggunakan bahasa pascal sebagai Compiler. Keberadaan bahasa pemrograman Delphi tidak bisa dipisahkan dari bahasa Turbo pascal yang diluncurkan pada tahun 1983 oleh Borland International Incorporation. Turbo pascal memang dirancang untuk dijalankan pada operasi DOS (Disk Operating System) yang merupakan sistem operasi yang banyak digunakan pada saat ini. Seiring dengan perkembangan zaman, dimana sistem operasi mulai bergeser ke sistem operasi windows, maka borland International merilis Turbo Pascal for windows yang dijalankan dibawah sistem operasi windows 3.X.


Sejarah Borland Delphi 7.0

pada tahun 1992 muncul bahasa pemrograman baru bernama Borland Pascal 7 yang merupakan penggabungan dari Turbo Pascal dan Turbo pascal for windows.

Namun ternyata bahasa pemrograman baru tersebut ternyata masih sulit di gunakan. Trend penggunaan bahasa pemrograman visual untuk membangun sebuah aplikasi telah mendorong Borland membuat bahasa pemrograman baru pada tahun 1995 diperkenalkan kepengguna komputer sebuah bahasa pemrograman visual yang berbasis bahasa pascal. Bahasa pemrograman baru tersebut diberi nama Borland Delphi setahun kemudian versi ke dua dari delphi dilempar kepasaran.

Penggunaan delphi dapat mempersingkat waktu pemrograman, karena anda tidak perlu lagi menuliskan kode program yang rumit dan panjang untuk menggambar, meletakkan dan mengatur komponen. Selain itu anda dapat menyusun aplikasi yang lebih interaktif. Delphi menyediakan cukup banyak pilihan komponen interface aplikasi, antara lain berupa tombol menu, drop down, ataupun menu pop up, kotak text, radio button, check box, dan sebagainya. Bahkan ada berbagai mascam komponen Skin tampilan yang beragam yang disediakan oleh beberapa vendor lainnya, seperti, SUIPack, Sxskincomponents, dan lain sebagainya. Anda tinggal memilih komponen yang dibutuhkan dengan klik mouse, mengatur tampilannya kemudian menuliskan sedikit kode program, maka aplikasi anda siap dijalankan.

Delphi 7.0, versi terbaru yang dikeluarkan oleh Borland, memiliki support yang sangat tinggi terhadap data base-data base yang sudah terkenal (seperti MS Accsses, Paradox, Foxpro, Dbase, Oracce, dan lain sebagainya), dan dilengkapi dengan objek-objek yang baru sehingga memudahkan pembuatan database maupun program lainnya (Game, Utility dan lainnya).


Gambar Tampilan Borland Delphi 7.0


Kelebihan Borland Delphi 7.0

Borland delphi 7.0 merupakan pilihan bagi sebagian kalangan programmer untuk membuat aplikasi. Hal ini disebabkan kelebihan yang ada pada borland delphi 7.0 berikut ini beberapa kelebihan borlan delphi 7.0 antara lain :


  • Berbasis Objek Orientid programming, seperti bagian yang ada pada program dipandang sebagai suatu objek yang mempunyai sifat-sifat yang dapat diubah dan diatur , sehingga kita dapat membuat tampilan sebuah program dengan desain kita sendiri tanpa harus membuat codding yang panjang.
  • Suatu file EXE, setelah anda merancang program pada IDE Delphi akan mengkomplikasinya pada sebuah file executable tunggal. Program yang anda buat dapat langsung didistribusikan dan dijalankan pada komputer lain tanpa perlu menyertakan file lain, kecuali file yang beretensi *.exe atau Applikasi tersebut membutuhkan file lain seperti database, koneksi atau file pendukung lainnya, ini merupakan kelebihan yang sangat berarti.

  • Borland delphi 7.0 hadir bersama borland Kylix 3 yang berbasis Linux, bila ingin berganti flattform dari Windows ke Linux maka aplikasi yang dibuat di Delphi dapat dijalankan di Kylix 3 yang dikarenakan kedua produk tersebut merupakan produk Borland.



Kebutuhan Sistem

Agar delphi versi 7.0 ini dapat dioperasikan dengan baik anda membutuhkan perangkat keras dan perangkat lunak dengan spesifikasi tertentu. Delphi memerlukan perangkat keras (Hardware) dengan ruang hard disk dan memori yang relatif besar untuk untuk pembuatannya tetapi untuk pemakaiannya / menggunakan hasil file Aplikasinya tidaklah membutuhkan spesifikasi yang besar, tergantung besar kecilnya program yang kita terapkan pada komputer tersebut, Spesifikasi minimal yang dibutuhkan antara lain :


  • Processor pentium 233 MHz atau yang lebih tinggi.
  • Sistem operasi windows XP, windows 2000 atau windows 98.
  • Memori membutuhkan RAM 64 MB untuk edisi Architect, Enterprise, dan propesional, kecuali untuk personal 32 MB disarankan 128 MB.
  • Untuk Hard disk minimal size yang kosong sebesar 500 Megabyte.
  • Mouse,Keybord.dll

ARTIKEL TENTANG BAHASA PEMROGRAMAN

ARTIKEL TENTANG BAHASA PEMROGRAMAN

Artikel Tentang Bahasa Perograman – Pada kesempatan kali ini, saya akan mencoba memberi sedikit pencerahan pada rekan-rekan yang ingin menjadi Programmer maupun yang sudah menjadi Programmer tapi belum terlalu paham tentang Bahasa Pemrograman.
Bahasa Pemrograman adalah teknik komando atau instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.
Secara Umum, terdapat 4 Kelompok Bahasa Pemrograman yang dikelompokkan menurut tingkat kedekatan dengan mesin komputer :
  1. Bahasa Mesin.
Adalah Kelompok Bahasa yang memberikan perintah kepada komputer dengan memakai kode bahasa biner.
  1. Bahasa Tingkat Rendah
Adalah Kelompok Bahasa  yang memberikan perintah kepada komputer dengan memakai kode-kode singkat.
  1. Bahasa Tingkat Menengah
Adalah Kelompok Bahasa yang memberikan perintah kepada komputer dengan campuran instruksi dalam kata-kata bahasa manusia dan instruksi yang bersifat simbolik.
  1. Bahasa Tingkat Tinggi
Adalah Kelompok Bahasa yang memberikan perintah pada komputer dengan bahasa yang Familiar dengan manusia atau menggunakan Bahasa Inggris.
Berikut ini beberapa daftar Bahasa Pemrograman yang biasa digunakan oleh Programmer :
-          Pascal
Pascal memiliki beberapa versi, seperti : Turbo Pascal, Ms Pascal (Microsoft), Apple Pascal,UCSD (University of California at San Diego Pascal), dan lain-lain. Turbo Pascal yang dibuat oleh Borland Inc. adalah versi yang paling banyak digunakan oleh programmer karena menggunakan Compiler untuk menerjemahkannya dan juga mengikuti standard Bahasa Pascal yang dibuat oleh Nicklaus Wirth dan K. Jensen. Pascal merupakan bahasa pemrograman tingkat tinggi dan terstruktur
-          Delphi
Borland Delphi merupakan sarana pemrograman aplikasi visual. Bahasa pemrograman yang digunakan adalah bahasa pemrograman Pascal atau yang kemudian disebut bahasa pemrograman Delphi. Delphi merupakan generasi penerus dari Turbo Pascal.
-          Bahasa C
C adalah bahasa pemrograman yang memiliki portabilitas tinggi. Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie sekitar tahun 1972-an di Bell Telephone Laboratories Inc.
-          Bahasa Pemrograman C++
Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).
-          VisualBasic
Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM).
-          JAVA
Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat luinak pada komputer standalone ataupun pada lingkungan jaringan. Teknologi Java memiliki tiga komponen penting, yaitu :
1.      Programming-language specification
2.      Application-programming interface
3.      Virtual-machine specification
-          JAVA Script
Bahasa pemrograman javascript adalah bahasa scripting yang handal yang berjalan pada sisi client. Javascript merupakan sebuah bahasa scripting yang dikembangkan oleh netscape.).
-          Bahasa Pemrograman PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini.  PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. PHP biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting windows).
-          HTML
HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet.
-           Bahasa Pemrogaman Cobol
COBOL adalah kepanjangan dari Common Bussiness Oriented Language. Bahasa COBOL digolongkan sebagai High Level Language (bahasa pemrograman tingkat tinggi) yang berorientasi pada masalah bisnis.
Demikian yang dapat saya jelaskan tentang Bahasa Pemrograman, dan semoga dapat bermanfaat bagi rekan-rekan walaupun hanya sedikit, serta mohon dimaklumi bila postingan saya terdapat kesalahan penulisan atau susunan kata.

PENGERTIAN DELPHI 7

Tentang Delphi 7

Pengertian DelphiDelphi adalah suatu bahasa pemograman (development language) yang digunakan untuk merancang suatu aplikasi program.
Kegunaan Delphi1. untuk membuat aplikasi windows
2. Untuk merancang aplikasi program berbasis grafis
3. Untuk membuat program berbasis jaringan (client/server)
4. Untuk merancang program .Net (berbasis internet)
 
Keunggulan Delphi1. IDE (Integrated Development Environment) atau lingkungan pengembangan aplikasi sendiri adalah satu dari beberapa keunggulan delphi, didalamnya terdapat menu – menu
yang memudahkan kita untuk membuat suatu proyek program.
2. Proses Kompilasi cepat, pada saat aplikasi yang kita buat dijalankan pada Delphi, maka secara otomatis akan dibaca sebagai sebuah program, tanpa dijalankan terpisah.
3. Mudah digunakan, source kode delphi yang merupakan turunan dari pascal, sehingga tidak diperlukan suatu penyesuain lagi.
4. Bersifat multi purphase, artinya bahasa pemograman Delphi dapat digunakan untuk mengembangkan berbagai keperluan pengembangan aplikasi.

Sejarah Borland Delphi
1. Delphi versi 1 (berjalan pada windows 3.1 atau windows 16 bit)
2. Delphi versi 2 (Berjalan pada windows 95 atau delphi 32 bit)
3. Delphi versi 3 (berjalan pada windows 95 keatas dengan tambahan fitur internet atua web)
4. Perkembangan selanjutnya diikuti dengan Delphi versi 4, 5 dan 6.
5. Versi terkini dari delphi adalahversi 7 dengan tambahan vitur .net dengan tambahan file XML (tapi untuk kali ini delphi 7 tidak bisa di pakek dalam windows vista)

OOP (Object Oriented Programming)
OOP adalah metode pemograman dengan membentu sebuah aplikasi yang mendekati keadaan dunia yang sesungguhnya. Hal itu bisa dilakukan dengan cara mendisain object untuk menyelesaikan masalah.
a. Tiga unsur OOP
1. Encapsulation atau pemodelan
Encapsulation adalah konsep penggabungan data dengan operator. Dalam konsep pemodelan data dan operasi menjadi satu kesatuan yang disebut object. Encapsulation juga disebut dengan penyembunyian informasi (information hiding)

Contoh = ketika kita menyalakan sebuah TV kita tidak tahu apa yang terjadi dengan proses dan percakapan antar alat yang berhubungan dengan TV tersebut sehingga mampu menampilkan sebuah gambar.
Atau = ketika melakukan klik pada subuah object dalam suatu aplikasi program kita tidak tahu apa yang dilakukan program sehingga ditampilkan hasil yang sesuai.

Catatan = dari dua contoh kasus tersebut terdapat kesamaan proses mengenai information hiding yang tidak diketahui oleh user sampai hasil ditampilkan.
b. Inheritance atau penurunan
Inherintance adalah sebuah object yang dapat diturunkan menjadi object yang baru dengan tidak menghilangkan sifat asli dari object tersebut.

Contoh = TV merupakan salah satu media elektronik yang dgunakan untuk menampilkan gambar dengan tujuan untuk memberikan informasi kepada konsumen. Secara umum TV memunyai cara kerja yang sama dengan media elektronik yang lain dlam proses penyampaian informasi, tetapi mempunyai sifat yang unik yang dapat membedakan dengan media electronik yang ada.
Atau = Dalam aplikasi program kita sering menggunakan command button, untuk beberapa perintah yang berbeda.

c. Polymorphism atau Polimorfisme
Polymorphism merupakan penggunaan berbagai macam object yang berbeda tetapi secara fungsi bergantung pada satu object sebagai induk, dengan cara pelaksanaan yang berbeda – beda.

Contoh = TV dan radio adalah media electronik yang mempunyai sistem yang sama tentang bagaimana meyebarkan suatu informasi, tetapi cara kerja dari masing – masing sistem pasti berbeda.

Atau
Object Simpan dan Update adalah icon yang berasal dari induk yang sama yaitu , command button tetapi cara kerja tersebut berbeda – beda.

1.3. Delphi dan OOP (Object Oriented Programming)
Secara default ketika kita merancang suatu aplikasi program, mau tidak mua dan tanpa kita sadari bahwa kita telah menerapkan OOP, walupun secara teori kita kurang memahami OOP dalam arti yang sebenarnya.

Contoh sederhananya adalah ketika kita merancang suatu form (Tform1) baru, sadar atau tidak sebenarnya form yang kita aktifkan merupakan turunan dari Tform sebagai induknya atau ketika kita mengaktikan button pada form merupakan turunan dari tbutton.

Atau

Contoh dalam bahasa program adalah sebagai berikut = ketika merancang suatu label di form secara otomatis delphi akan menuliskan label tersebut dalam jendela code editor tentang turunan dari label tersebut.

Type
Tform = class(tform)
Label1 = tlabel
End;



1.4. IDE DELPHI

a. langkah – langkah mengaktifkan Delphi

a. Klik start
b. pilih program Files
c. pilih Borland Delphi
d. pilih dan klik Delphi 7

b. Jendela Utama Delphi

c. Bagian – bagian dari Jendela Delphi

1. Object Tree View
Merupakan sebuah diagram pohon yang menggambarkan hubungan logis menghubungkan semua komponen yang terdapat dalam suatu proyek program. Komponen tersebut meliputi form, modul atau frame. Fungsinya digunakan untuk menampilkan seluruh daftar komponen program dalm sebuah aplikasi program sesuai dengan penempatnnya.

2. Object Inspector
Merupakan jendela yang digunakan utnuk mengatur tampilan komponen pada form, misal bagaimana mengubah tulisan button pada command button menjadi Simpan, atau menghapus tulisan pada label dan mengganti nama menjadi Nama Mahasiswa atau memberikan perintah tertentu pada sebuah komponen sehingga ada interaksi ketika program dijalankan..

Secara Umum Object Inspector terbagi menadi 2, yaitu =
a. Properties
Digunakan untuk mengatur tampilan pada sebuah komponen baik itu meliputi penggantian nama, warna, jenis huruf, border dan lain –lain.

b. Events
Merupakan jendela properties yang digunakan untuk memberikan fungsi yang lebih detail dari fungsi sebenarnya. Misalnya ketika tombol Simpan di klik maka program akan menjalankan perintah penyimpanan data. Dari kalimat tersebut ada event clik untuk mengeksekusi sebuah tombol simpan. Perintah event clik tersebut dapat diberikan melalui jendela events.

3. Form Designer
Merupakan tempat yang digunakan untuk merancang semua aplikasi program yang diambil dari komponen pallete.

4. Component Pallete
Merupakan kumpulan icon yang digunakan untuk merancang suatu aplikasi pada untuk membentuk sebuah aplikasi user interface.
Dalam komponen pallete semua icon dikelompokan dalam berbagai komponen sesuai dengan fungsi dan kegunaannya.

No Icon Name Fungsi
1
Pointer Mengembalikan fungsi mouse ke defaultnya
2
Frame Membentuk suatu frame terhadap obyek yang ada didalamnya
3
Main menu Membuat menu Utama
4
Popup Menus
5
Label Hanya untuk menampilkan Teks
6
Edit Untuk menampilkan dan input data (1 baris)
7
Memo Sama seperti edit tetapi mempunyai kapasitas lebih besar (lebih dari 1 baris)
8
Button Digunakan untuk melakukan eksekusi terhadap suatu proses
9
Checkbox Digunakan untuk menentukan pilihan lebih dari satu
10
Radio Button Digunakan untuk menentukan pilhan, tetapi hanya satu pilhan yang bisa digunakan
11
List Box Menmpilkan pilihan dalam bentuk list
12
Combo Box Menampilkan pilihan dalam bentuk popup
13
Scroll Bar Merupakan icon yang berupa baris status
14
Group Box Digunakan untuk mengelompokan suatu icon
15
Radio Group Digunakan untuk mengelompokan pilihan

5. Code Editor
Bagian dari delphi yang digunakan untuk menuliskan kode program. Pada bagian code editor terdapat 3 bagian utama yaitu = bagian paling kiri yang berisi berupa angka menunjukan baris dan kolom. Keterangan modified menunjukan bahwa telah terjadi modifikasi terhapap baris program. Dan paling kanan menunjukan status keyboard tentang tombol insert atau over write.

6. Code Explorer
Jendela yang digunakan untuk menampilkan seluruh variabel, type, dan rountine yang didefinisikan pada sebuah unit.

7. Code Diagram
Merupakan fasilitas pada delphi yang digunakan untuk mendesain sebuah diagram atas komponen – komponen yang digunakan dalam seatu rancangan aplikasi.

d. Projek Delphi
1. File Proyek
File ini disimpan dengan ber-ekstenion .dpr. File ini berisi informasi mengenai seluruh proyek program
2. File Unit
File ini merupakan kumpulan dari barisan kode program yang terdapat di jendela code editor, baik itu yang dituliskan oleh progremmer maupun oleh system. Extention file ini adalah . pas
File Unit dibagi menjadi 2
a. Bagian Interface
Barisan ini dimulai dari kata Interface (setelah nama unit), berisi seluruh deklarasi variabel, tipe data object maupun deklarasi tambahan.

b. Bagian Implementation
Dimulai dari kata kunci implementation dan diakhiri dengan kata end. Fungsi digunakan untuk menuliskan kode program sebagai bagain dari interaksi antar komponen ataupun dengan user.

3. File Form
Berisi tentang seluruh informasi yang ada kaitannya dengan form yang dibuat, meliputi tinggi, lebar, pososi form atau tentang komponen didalmnya. Penggunaan file ini tidak dianjurkan karena untu pengaturan sudah disediakan object inspector sebagai media pengaturan semua komponen.

1.5. Aplikasi Salam Kenal (LATIHAN 1)

a. Hasil Program
b. Desain Form
c. Desian Properties

Object Name Caption
Label 1 Label 1 Nama Saya
Label 2 Label 2 Alamat
Label 3 Lnama -
Label 4 Lalamat -
Button1 Bclose Close
Form 1 Form1 Salam Kenal

d. Listing program
1. Ketika form dalam keadaan aktif maka form akan menampilkan nama dan alamat pembuat program
procedureTForm1.FormCreate(Sender: TObject);
begin
nama.Caption := 'made gede budiarta prabowo';
alamat.Caption := 'jalan petitenget';
end;


2. Untuk keluar dari program user mengklik buton close
procedureTForm1.TcloseClick(Sender: TObject);
begin
close;
end;

end. 

DELPHI PROGRAMING

Memasukan data pada combobox

var NewItem :String;
I :Integer;
Ada :Boolean;
—————————————————————————————
nama_tabel.First;
While Not nama_tabel.Eof do
begin
Newitem:=nama_tabel.Fields[1].AsString;
Ada:=False;
if Length(NewItem)>0 then
begin
for I:=0 to tempat_data.Items.Count-1 do
begin
if SameText(tempat_data.Items[I], NewItem) then
begin
Ada:=true;
Break;
end;
end;
if Not Ada then
begin
tempat_data.Items.Add(NewItem);
end;
end;
nama_tabel.Next;
end;

Jumat, 28 Juni 2013

Manipulasi 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 BrightnessToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrightnessToolStripMenuItem.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 DefaultGambarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DefaultGambarToolStripMenuItem.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 grb As Image
        grb = Pic2.Image
        If grb IsNot Nothing Then grb.RotateFlip(RotateFlipType.Rotate90FlipX)
        Pic2.Image = grb
    End Sub

    Private Sub Btnred_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnhijauk.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 Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Pic2.Image = Pic1.Image
    End Sub

    Private Sub Btnhijau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnhijau.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 ContrasToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContrasToolStripMenuItem.Click

        gambar = New Bitmap(Pic1.Image)
        Pic1.Image = gambar
        Dim tempbmp As New Bitmap(Pic1.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

        With tempbmp
            For X = DX To .Height - DX - 1
                For Y = DY To .Width - DY - 1
                    Red = CInt(.GetPixel(Y, X).R)
                    Green = CInt(.GetPixel(Y, X).G)
                    Blue = CInt(.GetPixel(Y, X).B)
                    '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
                    gambar.SetPixel(Y, X, Color.FromArgb(Red, Green, Blue))
                Next
                If X Mod 10 = 0 Then
                    Pic1.Invalidate()
                    Pic1.Refresh()
                End If
            Next
        End With
    End Sub

    Private Sub SmoothingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SmoothingToolStripMenuItem.Click

        Dim MF(2, 2) As Double

        'MaskFilter.Show()
 
        'matriks Filter
 
        '  0 1 2
 
        '0 a b c
 
        '1 d e f
 
        '2 g h i
 

        'Filter smoothing
 
        MF(0, 0) = 1 / 9 'a
 
        MF(0, 1) = 1 / 9 'b
 
        MF(0, 2) = 1 / 9 'c
 

        MF(1, 0) = 1 / 9 'd
 
        MF(1, 1) = 1 / 9 'e
 
        MF(1, 2) = 1 / 9 'f
 

        MF(2, 0) = 1 / 9 'g
 
        MF(2, 1) = 1 / 9 'h
 
        MF(2, 2) = 1 / 9 'i
 

        gambar = New Bitmap(Pic1.Image)
        Pic1.Image = gambar
        Dim tempbmp As New Bitmap(Pic1.Image)
        Dim DX As Integer = 1
        Dim DY As Integer = 1
        Dim Red As Integer, Green As Integer, Blue As Integer

        Dim i As Integer, j As Integer
        Pic1.Width = Pic1.Width
        Pic1.Show()

        With gambar
            For i = DX To .Height - DX - 1
                For j = DY To .Width - DY - 1
                    'proses matriks filter
 
                    'point(j,i)*e --> titik tengah
 
                    Red = CInt(.GetPixel(j, i).R) * MF(1, 1)
                    Green = CInt(.GetPixel(j, i).G) * MF(1, 1)
                    Blue = CInt(.GetPixel(j, i).B) * MF(1, 1)
                    'proses titik tetangga
 
                    'point(j-1,i-1)*a--> MF(0,0)--> titik kiri atas
 
                    If j - 1 < 1 And i - 1 < 1 Then 'jika out of border ambil nilai tengah/point(x,y)
 
                        Red = Red + (CInt(.GetPixel(j, i).R) * MF(0, 0))
                        Green = Green + (CInt(.GetPixel(j, i).G) * MF(0, 0))
                        Blue = Blue + (CInt(.GetPixel(j, i).B) * MF(0, 0))
                    Else
                        Red = Red + (CInt(.GetPixel(j - 1, i - 1).R) * MF(0, 0))
                        Green = Green + (CInt(.GetPixel(j - 1, i - 1).G) * MF(0, 0))
                        Blue = Blue + (CInt(.GetPixel(j - 1, i - 1).B) * MF(0, 0))
                    End If
                    'point(j,i-1)*b --> MF(0,1) --> titik atas
 
                    If i - 1 < 1 Then 'jika out of border ambil nilai tengah/point(x,y)
 
                        Red = Red + (CInt(.GetPixel(j, i).R) * MF(0, 1))
                        Green = Green + (CInt(.GetPixel(j, i).G) * MF(0, 1))
                        Blue = Blue + (CInt(.GetPixel(j, i).B) * MF(0, 1))
                    Else
                        Red = Red + (CInt(.GetPixel(j, i - 1).R) * MF(0, 1))
                        Green = Green + (CInt(.GetPixel(j, i - 1).G) * MF(0, 1))
                        Blue = Blue + (CInt(.GetPixel(j, i - 1).B) * MF(0, 1))
                    End If
                    'point(j+1,i-1)*c --> MF(0,2) --> titik kanan atas
 
                    If j + 1 > .Width - DY - 1 And i - 1 > 1 Then 'jika out of border ambil nilai tengah/point(x,y)
 
                        Red = Red + (CInt(.GetPixel(j, i).R) * MF(0, 2))
                        Green = Green + (CInt(.GetPixel(j, i).G) * MF(0, 2))
                        Blue = Blue + (CInt(.GetPixel(j, i).B) * MF(0, 2))
                    Else
                        Red = Red + (CInt(.GetPixel(j + 1, i - 1).R) * MF(0, 2))
                        Green = Green + (CInt(.GetPixel(j + 1, i - 1).G) * MF(0, 2))
                        Blue = Blue + (CInt(.GetPixel(j + 1, i - 1).B) * MF(0, 2))
                    End If
                    'point(j-1,i)*d --> MF(1,0) --> titik kiri
 
                    If j - 1 < 1 Then 'jika out of border ambil nilai tengah/point(x,y)
 
                        Red = Red + (CInt(.GetPixel(j, i).R) * MF(1, 0))
                        Green = Green + (CInt(.GetPixel(j, i).G) * MF(1, 0))
                        Blue = Blue + (CInt(.GetPixel(j, i).B) * MF(1, 0))
                    Else
                        Red = Red + (CInt(.GetPixel(j - 1, i).R) * MF(1, 0))
                        Green = Green + (CInt(.GetPixel(j - 1, i).G) * MF(1, 0))
                        Blue = Blue + (CInt(.GetPixel(j - 1, i).B) * MF(1, 0))
                    End If
                    'point(j+1,i)*f --> MF(1,2) --> titik kanan 
 
                    If j + 1 > .Width - DY - 1 Then 'jika out of border ambil nilai tengah/point(x,y)
 
                        Red = Red + (CInt(.GetPixel(j, i).R) * MF(1, 2))
                        Green = Green + (CInt(.GetPixel(j, i).G) * MF(1, 2))
                        Blue = Blue + (CInt(.GetPixel(j, i).B) * MF(1, 2))
                    Else
                        Red = Red + (CInt(.GetPixel(j + 1, i).R) * MF(1, 2))
                        Green = Green + (CInt(.GetPixel(j + 1, i).G) * MF(1, 2))
                        Blue = Blue + (CInt(.GetPixel(j + 1, i).B) * MF(1, 2))
                    End If
                    'point(j-1,i+1)*g --> MF(2,0) --> titik kiri bawah
 
                    If j - 1 < 1 And i + 1 > .Height - DX - 1 Then 'jika out of border ambil nilai tengah/point(x,y)
 
                        Red = Red + (CInt(.GetPixel(j, i).R) * MF(2, 0))
                        Green = Green + (CInt(.GetPixel(j, i).G) * MF(2, 0))
                        Blue = Blue + (CInt(.GetPixel(j, i).B) * MF(2, 0))
                    Else
                        Red = Red + (CInt(.GetPixel(j - 1, i + 1).R) * MF(2, 0))
                        Green = Green + (CInt(.GetPixel(j - 1, i + 1).G) * MF(2, 0))
                        Blue = Blue + (CInt(.GetPixel(j - 1, i + 1).B) * MF(2, 0))
                    End If
                    'point(j,i+1)*g --> MF(2,1) --> titik bawah
 
                    If i + 1 > .Height - DX - 1 Then 'jika out of border ambil nilai tengah/point(x,y)
 
                        Red = Red + (CInt(.GetPixel(j, i).R) * MF(2, 1))
                        Green = Green + (CInt(.GetPixel(j, i).G) * MF(2, 1))
                        Blue = Blue + (CInt(.GetPixel(j, i).B) * MF(2, 1))
                    Else
                        Red = Red + (CInt(.GetPixel(j, i + 1).R) * MF(2, 1))
                        Green = Green + (CInt(.GetPixel(j, i + 1).G) * MF(2, 1))
                        Blue = Blue + (CInt(.GetPixel(j, i + 1).B) * MF(2, 1))
                    End If
                    'point(j+1,i+1)*h --> MF(2,2) --> titik kanan bawah
 
                    If j + 1 > .Width - DY - 1 And i + 1 > .Height - DX - 1 Then 'jika out of border ambil nilai tengah/point(x,y)
 
                        Red = Red + (CInt(.GetPixel(j, i).R) * MF(2, 2))
                        Green = Green + (CInt(.GetPixel(j, i).G) * MF(2, 2))
                        Blue = Blue + (CInt(.GetPixel(j, i).B) * MF(2, 2))
                    Else
                        Red = Red + (CInt(.GetPixel(j + 1, i + 1).R) * MF(2, 2))
                        Green = Green + (CInt(.GetPixel(j + 1, i + 1).G) * MF(2, 2))
                        Blue = Blue + (CInt(.GetPixel(j + 1, i + 1).B) * MF(2, 2))
                    End If
                    'normalisasi
 
                    If Red < 0 Then
                        Red = 0
                    Else
                        If Red > 255 Then
                            Red = 255
                        End If
                    End If
                    If Green < 0 Then
                        Green = 0
                    Else
                        If Green > 255 Then
                            Green = 255
                        End If
                    End If
                    If Blue < 0 Then
                        Blue = 0
                    Else
                        If Blue > 255 Then
                            Blue = 255
                        End If
                    End If

                    'simpan warna hasil smoothing ke point j,i
 
                    gambar.SetPixel(j, i, Color.FromArgb(Red, Green, Blue))
                Next
                If i Mod 10 = 0 Then
                    Pic1.Invalidate()
                    Me.Text = Int(100 * i / (Pic1.Image.Height - 2)).ToString & "%"
                    Pic1.Text = Int(100 * i / (Pic1.Image.Height - 2))
                    Pic1.Refresh()
                End If
            Next
        End With
        Pic1.Image = gambar
        Pic1.Refresh()
        Me.Text = "Proses Smoothing Image berhasil"

    End Sub
End Class


Minggu, 02 Juni 2013

Yuk! Belajar Konsep Pemrograman Di Mesran.Blogspot.Com



Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        kode_barang.Items.Add("TS001")
        kode_barang.Items.Add("TS002")
        kode_barang.Items.Add("VG001")
        kode_barang.Items.Add("VG002")
        BUATTABEL()
    End Sub
    Sub bunga(ByVal t As Form)
       
    End Sub


    Private Sub kode_barang_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kode_barang.SelectedIndexChanged
        Select Case kode_barang.Text
            Case "TS001"
                nama_barang.Text = "thosiba"
                mer_k.Text = "flasdisk 4GB"
                har_ga.Text = "105000"
            Case "TS002"
                nama_barang.Text = "thosiba"
                mer_k.Text = "flasdisk 2GB"
                har_ga.Text = "75000"
            Case "VG001"
                nama_barang.Text = "thosiba"
                mer_k.Text = "flasdisk 4GB"
                har_ga.Text = "90000"
            Case "VG002"
                nama_barang.Text = "thosiba"
                mer_k.Text = "FLASDISK 2GB"
                har_ga.Text = "60000"

        End Select

    End Sub


    Private Sub simpan_kelis_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan_kelis.Click
        MsgBox("APAKAH ANDA YAKIN INGIN MENYIMPAN?", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
        ISITABEL()
        bunga(Me)


    End Sub
    Sub BUATTABEL()
        LV.Columns.Add("No", 40, HorizontalAlignment.Center)
        LV.Columns.Add("Kode", 180, HorizontalAlignment.Center)
        LV.Columns.Add("merek", 80, HorizontalAlignment.Left)
        LV.Columns.Add("nama barang", 180, HorizontalAlignment.Center)
        LV.Columns.Add("total harga", 80, HorizontalAlignment.Left)
        LV.Columns.Add("harga", 180, HorizontalAlignment.Center)
        LV.Columns.Add("jumlah beli", 80, HorizontalAlignment.Left)
        LV.View = View.Details
        LV.GridLines = True
        LV.FullRowSelect = True
    End Sub

    Sub ISITABEL()
        Dim LST As New ListViewItem
        LST.SubItems.Add(kode_barang.Text)
        LST.SubItems.Add(mer_k.Text)
        LST.SubItems.Add(nama_barang.Text)
        LST.SubItems.Add(total_harga.Text)
        LST.SubItems.Add(har_ga.Text)
        LST.SubItems.Add(jumlah_beli.Text)
        LV.Items.Add(LST)


    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        total_harga.Text = har_ga.Text * jumlah_beli.Text
    End Sub

    Private Sub kelua_r_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kelua_r.Click
        If MsgBox("APAKAH ANDA YAKIN INGIN KELUAR?", MsgBoxStyle.Question + MsgBoxStyle.YesNo) Then
            Me.Close()
        End If
    End Sub


    Private Sub bers_ih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bers_ih.Click
        kode_barang.Text = ""
        nama_barang.Text = ""
        mer_k.Text = ""
        har_ga.Text = ""
        jumlah_beli.Text = ""
        total_harga.Text = ""

    End Sub

    Private Sub hapus_semua_data_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hapus_semua_data.Click
        MsgBox("APAKAH ANDA YAKIN INGIN MENGHAPUS?", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
        LV.Items.Clear()
    End Sub


End Class