Rabu, 04 Desember 2013

Komputer Generasi Pertama(1946-1959)


Picture UNIVAC I. Komputer generasi pertama dikarakteristikan dengan keistimewaan yang sangat mencolok pada ENIAC– tabung hampa udara. Sampai tahun 1950, beberapa komputer lain menggunakan tabung tersebut, setiap komputer memberikan kemajuan yang berarti dalam pengembangan komputer. Pengembangan tersebut termasuk binary aritmetic, random access, dan konsep dari program yang tersimpan.


1951 The U.S. Bureau of Cencus pada tahun 1951 menginstalasi komputer komersial pertama yang bernama Universal Automatic Computer – UNIVAC I. UNIVAC I dikembangkan oleh Mauchly dan Eckert untuk Remington-Rand Corporation.

IBM Memasuki Pasar Komputer
Komputer elektromekanik pertama merupakan hasil dari penelitian yang disponsori IBM. Hasilnya, Mark I, rampung pada tahun 1944 oleh seorang profesor Universitas Harvard, Howard Aiken. Pada saat itu, IBM memonopoli peralatan pemroses data punched-card. Pimpinam IBM tidak merasa bahwa komputer tersebut (UNIVAC I) bisa menggantikan mesin punched-card, untuk itu mereka tidak mau memasuki pasar. Belum sempat UNIVAC I sukses, IBM membuat keputusan baru untuk mengembangkan dan memasuki pasar komputer.

Produk IBM pertama yang di jual di pasaran adalah IBM 701 pada tahun 1953. Hebatnya, IBM 650 diperkenalkan pada tahun berikutnya yang mungkin dengan alasan IBM cukup meraih keuntungan yang besar pada tahun sebelumnya. Untuk menyingkirkan pesaingnya, IBM 650 dibuat supaya bisa meng-upgrade mesin-mesin punched-card yang ada. Itu karena IBM 650 memproses data dengan sebuah cara yang mirip dengan cara tradisional pada mesin punched-card.
                                                                                                                                                      (Sumber:http://www.freewebs.com)

Komputer Generasi pertama dikarakteristik dengan fakta bahwa instruksi operasi dibuat secara spesifik untuk suatu tugas tertentu.Setiap komputer memiliki program kode-biner yang berbeda yang disebut "bahasa mesin" (machine language).Hal ini menyebabkan komputer sulit untuk diprogram dan membatasi kecepatannya.Ciri lain komputer generasi pertama adalah penggunaan tube vakum (yang membuat komputer pada masa tersebut berukuran sangat besar) dan silinder magnetik untuk penyimpanan data.

Apa Perbedaan antara FBI dengan CIA?


Amazine | Online Popular Knowledge
fbi cia 150x150 Apa Perbedaan antara FBI dengan CIA?Federal Bureau of Investigation (FBI) dan Central Intelligence Agency (CIA) adalah dua lembaga di Amerika Serikat yang mengumpulkan informasi sekaligus menindaklanjuti berbagai kejahatan atau tindakan yang membahayakan keamanan nasional.
Meskipun kedua lembaga ini sering bekerja sama, namun keduanya memiliki area fokus yang berbeda.
FBI terutama berperan sebagai badan penegak hukum, mengumpulkan informasi intelijen berkaitan dengan keamanan dalam negeri dan melakukan penyelidikan kejahatan.
CIA adalah lembaga intelijen internasional yang tidak bertanggung jawab atas keamanan dalam negeri.
Perbedaan utama antara keduanya dapat digambarkan dalam nama mereka: FBI menyelidiki kejahatan, sedang CIA mengumpulkan informasi intelijen.
FBI memiliki jangkauan yang lebih luas dibanding CIA. Selain menangani isu-isu intelijen domestik, FBI juga memiliki kantor di luar negeri untuk mengkoordinasikan pengumpulan informasi.
Kantor-kantor FBI di luar negeri akan memberikan peringatan kantor-kantor di dalam negeri mengenai berbagai potensi ancaman.
FBI dapat melakukan tindakan langsung untuk menjamin keamanan dalam negeri, dan akan mengirimkan petugas lapangan jika diperlukan.
CIA memiliki jaringan lebih luas, peralatan, serta personil di luar negeri.
Fokus utama CIA adalah intelijen internasional, sedangkan National Security Agency (NSA) menangani intelijen domestik dan berkoordinasi dengan FBI.
FBI juga menangani masalah penegakan hukum dalam negeri. FBI umumnya juga terlibat saat melacak orang hilang, investigasi kompleks yang tidak bisa ditangani penegak hukum setempat, mengolah bukti kriminal, hingga dukungan bagi korban kejahatan.
Agen FBI sering membantu dalam pengumpulan bukti kasus pidana besar, terutama yang melibatkan sejumlah besar uang atau kasus pembunuhan ganda.
CIA tidak menangani penegakan hukum. Agen terutama berkantor di markas besar CIA di Washington.
Agen CIA juga bertugas melakukan briefing intelijen bagi Presiden dan staf Gedung Putih.
FBI didirikan pada tahun 1908 selama kepresidenan Theodore Roosevelt. Awalnya, FBI merupakan sebuah tim khusus yang dikirim untuk menyelidiki kejahatan luar biasa serta mendukung penegakan hukum setempat.
CIA berawal dari dibentuknya Office of Strategic Services pada tahun 1942 untuk mengkoordinasikan intelijen yang berkaitan dengan perang.
Pada tahun 1947, Presiden Truman melihat kebutuhan lebih lanjut atas sebuah badan intelijen dan menandatangani Undang-Undang Keamanan Nasional yang menjadi dasar pembentukan CIA.
Sejak awal, CIA dirancang menjadi sebuah badan intelijen rahasia, dengan otonomi lebih luas atas anggaran dan staf dibanding lembaga lainnya.
FBI banyak berkembang saat berada dalam kepemimpinan J. Edgar Hoover yang ditunjuk sebagai direktur FBI pada tahun 1924.
Hoover menetapkan serangkaian prosedur berkaitan dengan promosi, penyelidikan kejahatan, dan yurisdiksi yang masih digunakan sampai sekarang.[]

STRUKTUR DATA PADA C++


ImageSelamat datang kawan, Terimakasih sudah mau menjenguk Blog saya yang sangat Sederhana ini.Sebelumnya kita sudah membicarakan mengenai ARRAY atau LARIK Berikutnya saya akan menjelaskan tentang penggunaan STRUCTURE pada C++. Kali ini berbeda karna berhubung ada hambatan pada Pentium dua, hehehehe. Jadi sekarang saya upload melalui Warnet Dulu heehehehehehe..
Oke gak pake lama kita mulai saja.
STRUKTUR DATA PADA C++
Banyak orang yang berbeda pendapat tentang  struktur data. Namun pada dasarnya Struktur data menurut saya adalah gabungan dari beberapa type yang berbeda (Bisa Boolean, Float, Integer dll)ke dalam satu Nama atau Kelompok. Dalam Bahasa Pascal sendiri biasanya di sebut dengan Record. Ya kalo di artikan Struktur di C++ sama dengan Record pada Pascal.
Dari pada capek-capek baca Berikut ini adalah Coding Structure C++.
Cekidot….
/* Mengisi biodata dan nilai mahasiswa */
#include <cstdlib>
#include <iostream>
using namespace std;
struct mahasiswa
{
       char nim[15];
       char nama[30];
       char alamat[50];
       float ipk;
}
mhs;
main(int argc, char *argv[])
{
         mahasiswa mhs;
     cout<<”NIM              : “; cin.getline(mhs.nim,15);
     cout<<”NAMA             : “; cin.getline(mhs.nama,15);
     cout<<”ALAMAT           : “; cin.getline(mhs.alamat,15);
     cout<<”NILAI IPK        : “; cin>>mhs.ipk;
          cout<<endl;
          cout<<endl;
     cout<<”NIM ANDA         : ” <<mhs.nim<<endl;
     cout<<”NAMA ANDA        : ” <<mhs.nama<<endl;
     cout<<”ALAMAT ANDA      : ” <<mhs.alamat<<endl;
     cout<<”NILAI IPK ANDA   : ” <<mhs.ipk<<endl;
                  system(“Pause”);
                  return 0;
}
Sekian dulu dari saya berhubung BILLING nya mau abis…. Mohon maaf atas kekurangannya. Kalo ada waktu pasti saya perjelas, dan penulisannya pun akan saya perbaiki..
Terima Kasih ya.

Sejarah Berdirinya Perusahaan Microsoft Corporation


Microsoft
MICROSOFT - Jika mendengar nama ini, orang akan langsung ingat dua hal, yakni Microsoft dan kekayaan.
Ya, memang tak bisa dipungkiri, orang mengenal Bill Gates sebagai pendiri perusahaan piranti lunak terbesar di dunia tersebut. Selain itu, kekayaan yang diperolehnya dari perusahaan itu telah membuatnya jadi orang terkaya di dunia beberapa tahun berturut-turut, tanpa pernah tergeser ke posisi kedua sekalipun. Konon, kekayaannya mencapai 71% nilai anggaran belanja negara kita, yakni lebih dari Rp500 triliun. Sungguh fantastis!

Namun ingat, semua itu tentu melalui proses panjang. Semua berawal dari impian Bill Gates saat masih muda. Ketika itu, sekitar tahun 70-an, ia yang hobi mengutak-atik program komputer memimpikan bisa menghadirkan komputer ke rumah-rumah. Sesuatu yang dianggap sulit diwujudkan pada masa itu. Sebab, pada tahun itu komputer masih berukuran sangat besar dan hanya dimanfaatkan untuk hal-hal tertentu saja.

Kelahiran Seattle dari pasangan seorang pengacara dan pegawai bank ini memang terkenal cukup ambisius. Pada saat masih sekolah dasar, semangatnya yang cenderung menyulitkannya dalam pergaulan membuat orang tuanya memindahkan sekolahnya ke sekolah unggulan khusus laki-laki di Lakeside School. Di sekolah itulah ia pertama kali berkenalan dengan dunia yang mengantarkan pada bakatnya di bidang pemrograman. Saat itu ia mengenal mesin teletype, semacam mesin ketik yang bisa diberi program sederhana. Dari mesin itu, kemudian dia mulai menguasai dengan baik bahasa pemrograman BASIC. Ia pun lantas bertemu dengan komunitas penggemar program dan sering menghabiskan waktunya berjam-jam untuk menekuni hobi tersebut.

Ayah tiga anak ini kemudian mengembangkan bakatnya saat kuliah di Universitas Harvard. Namun, saat kuliah di universitas elit di Amerika itu, lagi-lagi ambisi Bill Gates membuatnya lebih memilih untuk mewujudkan impiannya, dibandingkan harus menyelesaikan studi. Ia memilih drop out dan berkomitmen kuat untuk mewujudkan ambisinya.

Komitmen itu diwujudkan dengan ketekunan, ketelatenan, dan keuletan, sehingga pelan tapi pasti hobinya membuat program telah menjadi bisnis yang kian menguntungkan. Ia kemudian juga bertemu dengan Paul Allen, rekan yang kemudian turut membantunya mewujudkan impian menghadirkan komputer ke rumah-rumah. Duet mereka banyak menghasilnya program-program unggulan, salah satunya MS-DOS yang kemudian banyak dipakai sebagai software di berbagai komputer.

Berbagai inovasi tak henti dilakukannya. Ingin tahu hasilnya? Seperti yang dilihat banyak orang saat ini. Impian Bill Gates telah menjadi nyata. Hampir setiap rumah, kini mempunyai komputer. Dan, hebatnya, sistem operasinya kebanyakan menggunakan produk Microsoft, contohnya Windows 95, Windows XP, Windows 7, Windows Vista, dan Windows 8. Inilah yang membuat pundi-pundinya terus mengembang.

Kini, dengan kekayaannya, Bill Gates dan istrinya, Melinda, kemudian mendirikan Bill & Melinda Gates Foundation. Yayasan bentukan Gates ini digunakan untuk berbagai kegiatan sosial. Mulai dari menyalurkan beasiswa kepada kaum minoritas, berperang melawan penyakit seperti AIDS dan berbagai penyakit lainnya, hingga memerangi kelaparan dan kemiskinan. Tak tanggung-tanggung, pasangan suami istri ini menyumbangkan lebih dari US$ 5 miliar untuk kepentingan yayasan ini. Sebuah sumbangan terbesar di dunia yang pernah diberikan pada sebuah yayasan sosial.

Sebuah impian, jika disertai dengan keyakinan kuat dan kerja keras, serta dilandasi komitmen perjuangan tanpa henti, akan memberi hasil yang gemilang. Bill Gates adalah bukti nyata bahwa impiannya yang pernah dianggap mustahil, kini mampu diwujudkannya. Nilai keyakinan dan perjuangan inilah yang bisa kita contoh dalam kehidupan kita. Selain itu, kepedulian Bill Gates untuk berbagi juga bisa dijadikan teladan bahwa sukses akan lebih berarti jika kita bisa saling berbagi.
Demikian artikel tentang  Sejarah Berdirinya MICROSOFTsemoga dapat menjadi pelajaran bagi kita semua.

Programer komputer pertama di dunia


Ada Lovelace adalah seorang penulis serta matematikawan yang berasal dari Inggris. Lovelace terkenal atas karyanya berupa komputer mekanika pertama. Penemuan mesin ini termasuk juga penggunaan algoritma pertama untuk di proses oleh mesin.Atas penemuan ini Lovelace di sebut sebagai programer komputer pertama di dunia.
d6
Lahir dengan nama Augusta Ada Byron atau Augusta Ada King, Countess Lovelace tetapi lebih di kenal dengan nama Ada Lovelace, lahir diLondon, Inggris pada 10 Desember 1815. Lovelace adalah putri satu-satunya penyair Lord Byron dan Anne Isabella Byron. Lovelace tidak pernah mengenal ayahnya. Satu bulan setelah Lovelace lahir, orang tuanya bercerai. Empat bulan kemudian ayahnya meninggalkan Inggris serta menetap di Yunani.
Lovelace kecil jarang mendapat perawatan serta kasih sayang dari ibunya. Lovelace di asuh oleh neneknya yang bernama  Judith Milbanke yang sangat menyayanginya. Sejak kecil Annabella sudah melatih anaknya untuk sering menggunakan otak kiri.
Pada tahun 1823, saat Lovelace berusia 8 tahun, ayahnya meninggal dunia di Yunani. Ketika Lovelace remaja, mulai tertarik pada matematika serta mesin analitikal buatan Babbage. Pada tahun 1842-1843 Lovelace menerjemahkan artikel karya matematikawan Italia Luigi Menabrea tentang mesin. yang menjadi cikal bakal penemuannya.
Kajian Lovelace mengenai artikel tersebut di anggap sebagai program komputer pertama di dunia serta algoritma pertama yang di kodekan untuk di proses oleh mesin. Karya Lovelace ini mempunyai peran penting dalam perkembangan awal komputer. Pertemuan Lovelace dengan Charles Babbage menjadi awal mula dari karirnya. Babbage adalah seorang matematikawan yang berasal dari Inggris yang pertama kali mengeluarkan pendapat tentang komputer yang dapat diprogram.
d7
Lovelace sangat tertarik dengan program yang sedang di buat oleh Babbage yang bernama Difference Engine. Babbage kagum dengan kecerdasan, intelektual serta bakat menulis yang di miliki oleh Lovelace. Babbage memberi julukan “The Enchantress of Numbers” kepada Lovelace. Babbage serta Lovelaca akhirnya menjalin kerja sama. Lovelace  membantu Babbage menulis program komputer pertama di dunia yang diciptakan lewat mesin ciptaan Babbage yang bernama Analytical Engine. Lovelace berperan untuk menerjemahkan artikel Luigi Menabrea, seorang matematikawan dari Italia. Lovelace juga menulis penjelasan tentang komputer dan perangkat lunak, serta menambahkan catatan tentang metode kalkulasi nomor Bernoulli pada mesin yang telah dikembangkan Babbage tersebut. Karena hal itulah Lovelace dikenal sebagai programmer komputer pertama di dunia.
Lovelace meninggal dunia pada 27 November 1852 di usia 36 tahun, akibat sakit kanker rahim serta pendarahan yang di deritanya. pada tahun 1980 Departemen Pertahanan Amerika Serikat menamai bahasa pemrograman komputernya dengan nama “Ada” sebagai penghormatan pada Lovelace.

Berita Lainnya

Bahasa Pemrograman dan Sejarahnya (History of Language Program)


     Bagi kebanyakan orang awan yang akan belajar membuat program, atau mahasiswa semester awal pemahaman tentang apa yang dimaksud dengan bahasa komputer tentunya masih belum terlalu jelas, untuk itu mari kita secara pelan-pelan mengupasnya.
Untuk melaksanakan tugasnya maka komputer akan diperintah oleh sebuah sistem, perintah dasar komputer ini disimpan ke dalam sebuah sistem yang disebut sebagai sistem operasi seperti DOS, Unix, Windows, Linux, Solaris dsb. Perintah-perintah tersebut tentunya menggunakan bahasa mesin yang oleh komputer hanya mengenal angka 1 dan 0 (binary) dimana angka 1 dipresentasikan sebagai sebuah wadah yang mimiliki listrik dan angka 0 tidak memiliki listrik (Tegangan).
Untuk membuat sebuah sistem dikomputer maka diperlukan sebuah alat (tools) yang kita sebut sebagai bahasa pemrograman, jadi yang terlintas dibenak kita saat ini adalah “Alat yang dibuat untuk membuat program (sistem) disebut sebagai bahasa pemrograman”, sehingga Program-Program seperti Macro/Turbo Assembly, Turbo C, Microsft Visual C++, C++ Builder, Microsoft Visual Basic, Delphi dsb digunakan untuk membuat aplikasi bukan sebagai aplikasi untuk mengolah data seperti Microsoft Excel, SPPS dsb.
Atau dapat juga dikatakan bahwa bahasa pemrograman adalah bahasa yang digunakan pada komputer untuk melakukan tugas tertentu. Seperti juga bahasa yang digunakan manusia secara umum, bahasa pemrograman banyak sekali jenisnya. Bahasa pemrograman dapat dikelompokkan berdasarkan tingkatan, seperti bahasa tingkat rendah (low Level), bahasa tingkat sedang (Mid Level Language), bahasa tingkat tinggi .
Berikut adalah ringkasan sejarah bahasa pemrorgraman.
Sebelum 1940
Pada jaman ini terdapat bahasa pemrograman yang pertama kali muncul sebelum adanya komputer modern, artinya bahasa pemrograman lebih tua dari komputer itu sendiri. Pada awal kemunculannya, bahasa pemrograman masih dalam bentuk kode-kode bahasa mesin. Bahasa mesin merupakan bahasa yang terdiri atas kode-kode mesin dan hanya dapat diinterpretasikan langsung oleh mesin komputer. Bahasa mesin ini tergolong bahasa tingkat rendah, karena hanya berupa kode 0 dan 1 seperti disampaikan pada bagian atas.
Periode 1940-an
Konrad Zuse
Dengan bahasa mesin ditemukan banyak kesulitan untuk pengembangan dan perbaikan pada program yang dibuat saat itu, Tahun 1940-an komputer bertenaga listrik dibuat, dengan kecepatan yang sangat terbatas dan kapasitas memori yang mencukupi untuk programmer memprogram, kemudian terciptalah bahasa assembly (Assembly language). Bahasa assembly adalah bahasa simbol dari bahasa mesin. Setiap kode bahasa mesin memiliki simbol sendiri dalam bahasa assembly. Misalnya Move untuk memindahkan isi data, ADD untuk penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain. Penggunaan bahasa Asembly dirasa belum sempurna karena selain sulit untuk diimplementasikan, ternyata bahasa ini juga sulit jika sang programer ingin mengembangkan program buatannya. Pada tahun 1948, Konrad Zuse mempublikasikan sebuah paper tentang bahasa pemrograman miliknya yakni Plankalkül. Bagaimanapun, bahasa tersebut tidak digunakan pada masanya dan terisolasi terhadap perkembangan bahasa pemrograman yang lain. Beberapa bahasa pemrograman yang berkembang pada masa itu antara lain:
• Plankalkül (Konrad Zuse) – 1943
• ENIAC coding system – 1943
• C-10 – 1949

Periode tahun 1950-an sampai dengan tahun 1960-an
John_Backus
Mulai tahun 1950 dibuatlah bahasa pemrograman modern, yang turun-temurun dan tersebar luas hingga saat ini. Bahasa ini menggunakan istilah atau reserved word yang dekat dengan bahasa manusia seperti READ untuk membaca, WRITE untuk menulis dsb. Dalam perkembangannya Bahasa Tingkat Tinggi juga terdiri dari beberapa metode pemrograman, yaitu Procedural Programing dan Object Oriented Programing. Letak perbedaannya yaitu, jika pada procedural programing program dijalankan dengan menggabungkan variable, procedure-procedure yang saling keterkaitan dan berjalan berurut, sedangkan pada OOP seluruh task dijalankan berdasarkan kedalam object.
• FORTRAN (1955), the “FORmula TRANslator”, ditemukan oleh John W. Backus dll.
• LISP, the “LISt Processor”, ditemukan oleh John McCarthy dll.
• COBOL, the COmmon Bussines Oriented Language, dibuat oleh the Short Range Commitee, dan Grace Hopper berperan sangat besar disini.
Overview:
  • • Regional Assembly Language – 1951
  • • Autocode – 1952
  • • FORTRAN – 1954
  • • FLOW-MATIC – 1955
  • • COMTRAN – 1957
  • • LISP – 1958
  • • ALGOL – 1958
  • • COBOL – 1959
  • • APL – 1962
  • • SIMULA – 1962
  • • BASIC – 1964
  • • PL/I -1964
Periode 1967-1978: Menetapkan Paradigma Fundamental
Periode diantara tahun 60-an sampai dengan 70-an membawa pengaruh yang besar dalam perkembangan bahasa pemrograman. Kebanyakan dari pola bahasa pemrograman yang utama yang saat ini banyak digunakan:
• Simula, ditemukan pada akhir 60-an oleh Nygaard dan Dahl sebagai superset dari Algol 60, merupakan bahasa pemrograman pertama yang didesain untuk mendukun pemrograman berorientasi object.
• C, sebuah tahapan awal dari sistem bahsa pemrograman, yang dikembangkan oleh Dennis Ritchie dan Ken Thompson di Bell Labs antara tahun 1969 dan 1973.
• Smalltalk (pertengahan tahun 70-an) menyajikan desain ground-up yang lengkap dari sebuah bahasa yang berorientasi objek.
• Prolog, didesain pada tahun 1977 oleh Colmerauer, Roussel, and Kowalski, merupakan bahasa pemrograman logika yang pertama.
• ML membangun sebuah sistem polimorfis (ditemukan oleh Robin Miller pada tahun 1973) diatas sebuah Lisp, yang merintis bahasa pemrograman fungsional bertipe statis.
Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk:
  • • Pascal – 1970
  • • Forth – 1970
  • • C – 1970
  • • Smaltalk – 1972
  • • Prolog – 1972
  • • ML – 1973
  • • SQL – 1978
Periode 1980-an: konsolidasi, modul, performa
1980s adalah tahun dari konsolidasi relatif. C++ dikombinasikan dengan sistem programming dan berorientasi obyek. Pemerintah Amerika Serikat menstandardisasi Ada, sebuah sistem pemrograman yang bertujuan untuk digunakan para kontraktor untuk bertahan. Di Jepang dan di tempat lain, penjumlahan luas yang telah di selidiki disebut” generasi ke lima” bahasa-bahasa yang menyatukan logika pemrograman konstruksi. Masyarakat bahasa fungsional gerak ke standarisasi ML dan Cedal. Dibandingkan dengan menemukan paradigma-paradigma baru, semua pergerakan ini menekuni gagasan-gagasan yang ditemukan di dalam dekade sebelumnya.
However, one important new trend in language design was an increased focus on programming for large-scale systems through the use of modules, or large-scale organizational units of code. Modula, Ada, and ML all developed notable module systems in the 1980s. Module systems were often wedded to generic programming constructs generics being, in essence, parameterized modules (see also parametric polymorphism).
Bagaimanapun, satu kecenderungan baru di dalam disain bahasa adalah satu fokus yang ditingkatkan di pemrograman untuk sistem besar-besaran melalui penggunaan dari modul, atau kesatuan organisasi besar-besaran dari kode. Modula, Ada, dan ML semua sistem modul terkemuka yang dikembangkan pada 1980-an.
Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk:
  • • Ada – 1983
  • • C++ – 1983
  • • Eiffel – 1985
  • • Perl – 1987
  • • FL (Backus) – 1989
Periode 1990-an: Visual
Pada periode ini bahasa selain berorientasi objek juga sudah dikembangkan berbasi Visual sehingga semakin mudah untuk membuat program aplikasi, diawali oleh Python dan Microsoft Visual Basic 1 pada tahun 1991, Delphi yang dikembangkan dari Pascal for windows akhirnya pada tahun 1997 Visual Basic 5 diluncurkan dengan kemudahan koneksi ke database, OO Cobol sudah ditemukan dalam versi windows. Bagi kebanyakan programmer database tidak dapat dipungkiri bahwa era 1990an merupakan era yang paling produktif semenjak bahasa pemrogrammar diciptakan.
Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk
  • • Haskel – 1990
  • • Python – 1991
  • • Java – 1991
  • • Ruby – 1993
  • • OO Cobol
  • • Lua – 1993
  • • ANSI Common Lisp – 1994
  • • JavaScript – 1995
  • • PHP – 1995
  • • C# – 2000
  • • JavaFX Scrip, Live Script,
  • • Visual Basic
Periode 2000an hingga tulisan ini dibuat
Pada saat ini ada kecenderungan para vendor bahasa pemrograman untuk menggiring programmer hanya dengan mengggunakan produk mereka untuk membuat program meski kita sadari bahwa sulit rasanya untuk membuat program yang tangguh hanya dengan satu bahasa pemrograman, hal ini tentunya dilakukan dengan tujuan kelangsungan usaha mereka, namun terlepas dari semua itu terdapat dua konsepsi besar dalam periode ini dimana kemudahan berbasis visual sudah mulai digiring ke basis internet dan mobile, dengan bermunculan webservice dan berbasis net dan a mobile flatform.
Konsep pertama yang dicermati adalah konsepsi Microsoft dimana dengan Visual Net akan menyediakan berbagai bahasa pemrograman seperti VB Net , VC++ Net, ASP NET yang di compile dengan berbagai bahasa akan tetapi berjalan pada satu sistem operasi yakni windows. (Compile any program run one system)
Konsepsi Kedua, Merupakan konsep yang terbalik dari konsep pertama yakni apa yang ditawarkan Sun Microsystem melalui produknya Java, J2ME, JDK, yakni dicompile dengan satu bahasa pemrograman (java) dan berjalan dibanyak sistem operasi. (Compile one program running any system)
Selain itu periode ini juga merupakan jamannya CMS (Content Manajemen System), lompatan pengembangan PHP Script begitu cepat, dimana untuk membuat website atau portal telah tersedia banyak template, Banyak modul-modul yang siap pakai sehingga programmer atau webmaster tidak perlu lagi mempelajari semua script html dan bahasanya, tinggal merangkai modul yang tersedia sehingga dalam beberapa hari saja sebuah web sudah dapat dibuat. Apa yang ditawarkan Mambo, PhkNuke dan Jomla saat ini sangat memudahkan para desainer web.
Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk
• Tcl/Tk,
• O’Caml,
• Ruby,
• Phyton 3.1,
• Java 6 JDK, JED, Java Beans, J2ME
• Microsoft Visual Net (VB Net, C++ Net, ASP NET) 2008
• Java Scrip Template oleh Mambo, PhpNuke, Jomla
Untuk melihat sejarah perkembangannya silakan klik dan download file dibawah ini (megadata-lang.pdf), jika anda tidak dapat membuka file ini maka coba periksa pada folder \mydocument\downloads untuk sistem operasi windows
megadata-lang
Setelah berbasis objek dan Visual kedepannya Konsep pemrograman akan menuju ke konsep berbasis proses…

Program Pengolahan Citra Dengan VB.Net


Sebelum kita memasuki Program pengolahan citra,ada baiknya kita membahas sedikit tentang apa sich itu pengolahan citra.Berikut sedikit penjelasannya dari beberapa sumber.
Pengolahan citra adalah salah satu cabang dari ilmu informatika. Pengolahan citra berkutat pada usaha untuk melakukan transformasi suatu citra/gambar menjadi citra lain dengan menggunakan teknik tertentu.
Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinu menjadi gambar diskrit melalui proses sampling.
Gambar analog dibagi menjadi N baris dan M kolom sehingga menjadi gambar diskrit. Persilangan antara baris dan kolom tertentu disebut dengan piksel. Contohnya adalah gambar/titik diskrit pada baris n dan kolom m disebut dengan piksel [n,m].
Dalam program berikut ini terdapat beberapa komponen seperti:
  • Grayscale=Citra yang memiliki derajat keabuan dari hitam ke putih ini disebut citra hitam-putih (greyscale image) atau citra monokrom.
  • Citra Biner (Monokrom)=Citra monokrom atau citra hitam putih merupakan suatu citra suatu kanal dimana citra f (x,y) merupakan fungsi tingkat keabuan dari hitam keputih.
  •  Citra Warna (true color)=Setiap piksel pada citra warna mewakili warna yang merupakan kombinasi tiga warna dasar, yaitu merah, hijau, dan biru (RGB = Red, Green, Blue). Setiap warna dasar menggunakan penyimpanan 8 bit = 1 byte (nilai maksimum 255 warna), jadi satu piksel pada citra warna diwakili oleh 3 byte.
  • brightness adalah persepsi yang ditangkap dari sebuah objek yang memantulkan cahaya.Ok mungkin itu saja penjelasan sedikit mengenai pengolahan citra.
langsung saja kita masuk kepada 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 = “Images|*.GIF;*.TIF;*.JPG;*.BMP”
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 ManipulasiCitraToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ManipulasiCitraToolStripMenuItem.Click
End Sub
Private Sub MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
End Sub
Private Sub OFD_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OFD.FileOk
End Sub
Private Sub SFD_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SFD.FileOk
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
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)
End Sub
Private Sub MenuStrip2_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip2.ItemClicked
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 ContrastToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContrastToolStripMenuItem.Click
Dim pb, pc As Integer
Dim vm, rt, VH, VB As Double
With gambar
For pb = 0 To .Height – 1
For pc = 0 To .Width – 1
vm = .GetPixel(pc, pb).R * 10
VH = .GetPixel(pc, pb).G * 10
VB = .GetPixel(pc, pb).B * 10
rt = (vm + VH + VB) / 3
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 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 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
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
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)
End Sub
Private Sub LeftToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LeftToolStripMenuItem.Click
Rotasi(RotateFlipType.Rotate270FlipNone)
End Sub
Private Sub RigthToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rigth.Click
Rotasi(RotateFlipType.Rotate90FlipNone)
End Sub
Private Sub RotateToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RotateToolStripMenuItem.Click
End Sub
Private Sub Rotasi(ByVal s As RotateFlipType)
gambar = New Bitmap(Pic1.Image)
gambar.RotateFlip(s)
Pic2.Image = gambar
End Sub
Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
Rotasi(RotateFlipType.Rotate90FlipNone)
End Sub
Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem3.Click
Rotasi(RotateFlipType.Rotate180FlipNone)
End Sub
Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.Click
Rotasi(RotateFlipType.Rotate270FlipNone)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btngt.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
With gambar
For Pb = 0 To gambar.Height – 1
For Pc = 0 To gambar.Width – 1
vM = gambar.GetPixel(Pc, Pb).R
vH = gambar.GetPixel(Pc, Pb).G + 50
vB = gambar.GetPixel(Pc, Pb).B
If vH >= 255 Then vH = 255
gambar.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtngK.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
With gambar
For Pb = 0 To gambar.Height – 1
For Pc = 0 To gambar.Width – 1
vM = gambar.GetPixel(Pc, Pb).R
vH = gambar.GetPixel(Pc, Pb).G – 50
vB = gambar.GetPixel(Pc, Pb).B
If vH >= 255 Then vH = 255
gambar.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub WeightedSmoothingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub WeiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WeiToolStripMenuItem.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 / 16 ‘a
MF(0, 1) = 2 / 16 ‘b
MF(0, 2) = 1 / 16 ‘c
MF(1, 0) = 2 / 16 ‘d
MF(1, 1) = 4 / 16 ‘e
MF(1, 2) = 2 / 16 ‘f
MF(2, 0) = 1 / 16 ‘g
MF(2, 1) = 2 / 16 ‘h
MF(2, 2) = 1 / 16 ‘i
gambar = New Bitmap(Pic1.Image)
Pic1.Image = gambar
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
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
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub Btnrt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnrt.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
With gambar
For Pb = 0 To gambar.Height – 1
For Pc = 0 To gambar.Width – 1
vM = gambar.GetPixel(Pc, Pb).R + 50
vH = gambar.GetPixel(Pc, Pb).G
vB = gambar.GetPixel(Pc, Pb).B
If vM >= 255 Then vM = 255
gambar.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub Btnbt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnbt.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
With gambar
For Pb = 0 To gambar.Height – 1
For Pc = 0 To gambar.Width – 1
vM = gambar.GetPixel(Pc, Pb).R
vH = gambar.GetPixel(Pc, Pb).G
vB = gambar.GetPixel(Pc, Pb).B + 50
If vB >= 255 Then vB = 255
gambar.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub Btnrk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnrk.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
With gambar
For Pb = 0 To gambar.Height – 1
For Pc = 0 To gambar.Width – 1
vM = gambar.GetPixel(Pc, Pb).R – 50
vH = gambar.GetPixel(Pc, Pb).G
vB = gambar.GetPixel(Pc, Pb).B
If vM >= 255 Then vM = 255
gambar.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub Btnbk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnbk.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
With gambar
For Pb = 0 To gambar.Height – 1
For Pc = 0 To gambar.Width – 1
vM = gambar.GetPixel(Pc, Pb).R
vH = gambar.GetPixel(Pc, Pb).G
vB = gambar.GetPixel(Pc, Pb).B – 50
If vB >= 255 Then vB = 255
gambar.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub ByDegreToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ByDegreToolStripMenuItem.Click
End Sub
End Class
Dan Berikut saya tampilkan hasil dari program tersebut a blue 180contrast grayscale green green left negatif open red right