Jumat, 21 November 2008

Proses Filtering [PCD]

Source code Filtering menggunakan Class. Di dalam Formnya hanya memanggil class yang telah disediakan. Berikut code proses filtering yang berada di dalam class tersebut.

here is the code:

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Windows.Forms;

namespace Filtering
{
class Class1
{
public Bitmap proses(Bitmap b,String sProses)
{
Color pixelColor;
int[] pixelR = new int[9];
int[] pixelG = new int[9];
int[] pixelB = new int[9];
int nRed, nGreen, nBlue;
Bitmap img2 = new Bitmap(b);
float[] m = new float[9];
int swap;

for (int x = 1; x <= img2.Width - 2; x++)
{
for (int y = 1; y <= img2.Height - 2; y++)
{
//i[0]
pixelColor = b.GetPixel(x - 1, y - 1);
pixelR[0] = pixelColor.R;
pixelG[0] = pixelColor.G;
pixelB[0] = pixelColor.B;
//i[1]
pixelColor = b.GetPixel(x, y - 1);
pixelR[1] = pixelColor.R;
pixelG[1] = pixelColor.G;
pixelB[1] = pixelColor.B;
//i[2]
pixelColor = b.GetPixel(x + 1, y - 1);
pixelR[2] = pixelColor.R;
pixelG[2] = pixelColor.G;
pixelB[2] = pixelColor.B;
//i[3]
pixelColor = b.GetPixel(x - 1, y);
pixelR[3] = pixelColor.R;
pixelG[3] = pixelColor.G;
pixelB[3] = pixelColor.B;
//i[4]
pixelColor = b.GetPixel(x, y);
pixelR[4] = pixelColor.R;
pixelG[4] = pixelColor.G;
pixelB[4] = pixelColor.B;
//i[5]
pixelColor = b.GetPixel(x + 1, y);
pixelR[5] = pixelColor.R;
pixelG[5] = pixelColor.G;
pixelB[5] = pixelColor.B;
//i[6]
pixelColor = b.GetPixel(x - 1, y + 1);
pixelR[6] = pixelColor.R;
pixelG[6] = pixelColor.G;
pixelB[6] = pixelColor.B;
//i[7]
pixelColor = b.GetPixel(x, y + 1);
pixelR[7] = pixelColor.R;
pixelG[7] = pixelColor.G;
pixelB[7] = pixelColor.B;
//i[8]
pixelColor = b.GetPixel(x + 1, y + 1);
pixelR[8] = pixelColor.R;
pixelG[8] = pixelColor.G;
pixelB[8] = pixelColor.B;

for (int i = 0; i <= 8; i++)
{
for (int j = 0; j <= 8; j++)
{
if (pixelR[j] > pixelR[i])
{
swap = pixelR[i];
pixelR[i] = pixelR[j];
pixelR[j] = swap;
}

if (pixelG[j] > pixelG[i])
{
swap = pixelG[i];
pixelG[i] = pixelG[j];
pixelG[j] = swap;
}

if (pixelB[j] > pixelB[i])
{
swap = pixelB[i];
pixelB[i] = pixelB[j];
pixelB[j] = swap;
}
}
}

//seleksi average
if (sProses == "average")
{
nRed = Convert.ToInt32((pixelR[0] + pixelR[1] + pixelR[2] + pixelR[3] + pixelR[4] + pixelR[5] + pixelR[6] + pixelR[7] + pixelR[8]) / 9);
nGreen = Convert.ToInt32((pixelG[0] + pixelG[1] + pixelG[2] + pixelG[3] + pixelG[4] + pixelG[5] + pixelG[6] + pixelG[7] + pixelG[8]) / 9);
nBlue = Convert.ToInt32((pixelB[0] + pixelB[1] + pixelB[2] + pixelB[3] + pixelB[4] + pixelB[5] + pixelB[6] + pixelB[7] + pixelB[8]) / 9);

if (nRed > 255)
nRed = 255;
else if (nRed < 0)
nRed = 0;

if (nGreen > 255)
nGreen = 255;
else if (nGreen < 0)
nGreen = 0;

if (nBlue > 255)
nBlue = 255;
else if (nBlue < 0)
nBlue = 0;

Color newPixelColor = Color.FromArgb(nRed, nGreen, nBlue);
img2.SetPixel(x, y, newPixelColor);
}

if (sProses == "median")
{
Color newPixelColor = Color.FromArgb(pixelR[4], pixelG[4], pixelB[4]);
img2.SetPixel(x, y, newPixelColor);
}

if (sProses == "max")
{
Color newPixelColor = Color.FromArgb(pixelR[8], pixelG[8], pixelB[8]);
img2.SetPixel(x, y, newPixelColor);
}

if (sProses == "min")
{
Color newPixelColor = Color.FromArgb(pixelR[0], pixelG[0], pixelB[0]);
img2.SetPixel(x, y, newPixelColor);
}
}
}
return img2;
}
}
}

Proses Konvolusi [PCD]

Source code konvolusi menggunakan Class. Di dalam Formnya hanya memanggil class yang tersedia. Berikut code contoh proses konvolusi (Sharpening) yang berada di dalam class tersebut.

here is the code :

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Windows.Forms;

namespace Konvolusi
{
class Class1
{
public double[] matriks3x3(double m0, double m1, double m2, double m3,
double m4, double m5, double m6, double m7, double m8)
{
double[] m = new double[9];
m[0] = m0;
m[1] = m1;
m[2] = m2;
m[3] = m3;
m[4] = m4;
m[5] = m5;
m[6] = m6;
m[7] = m7;
m[8] = m8;
return m;
}

public Bitmap proses(Bitmap b)
{
Color pixelColor;
int[] pixelR = new int[9];
int[] pixelG = new int[9];
int[] pixelB = new int[9];
int nRed, nGreen, nBlue;
Bitmap img2 = new Bitmap(b);
double[] m = new double[9];
int offset = 0;

//The Matrix
//fix sharpen
m = matriks3x3(0, -2, 0, -2, 11, -2, 0, -2, 0);


int total = Convert.ToInt32(m[0] + m[1] + m[2] + m[3] + m[4] + m[5] + m[6] + m[7] + m[8]);
if (total == 0)
total = 1;

MessageBox.Show("Matriksnya: "+m[0].ToString() + "," + m[1].ToString() + "," + m[2].ToString() + "," + m[3].ToString() + "," +
m[4].ToString() + "," + m[5].ToString() + "," + m[6].ToString() + "," + m[7].ToString() + "," + m[8].ToString() + ",");

for (int x = 1; x <= img2.Width-2; x++)
{
for (int y = 1; y <= img2.Height-2; y++)
{
if ((x - 1 < 0) && (y - 1 < 0))
{
//pojok kiri atas
}
else if ((x + 1 == img2.Width) && (y - 1 < 0))
{
//pojok kanan atas
}
else if ((x - 1 < 0) && (y + 1 == img2.Height))
{
//pojok kiri bawah
}
else if ((x + 1 == img2.Width) && (y + 1 == img2.Height))
{
//pojok kanan bawah
}
else if (x - 1 < 0)
{
//kiri
}
else if (x + 1 > img2.Width)
{
//kanan
}
else if (y - 1 < 0)
{
//atas
}
else if (y + 1 == img2.Height)
{
//bawah
}
else
{
//i[0]
pixelColor = b.GetPixel(x - 1, y - 1);
pixelR[0] = pixelColor.R;
pixelG[0] = pixelColor.G;
pixelB[0] = pixelColor.B;
//i[1]
pixelColor = b.GetPixel(x, y - 1);
pixelR[1] = pixelColor.R;
pixelG[1] = pixelColor.G;
pixelB[1] = pixelColor.B;
//i[2]
pixelColor = b.GetPixel(x + 1, y - 1);
pixelR[2] = pixelColor.R;
pixelG[2] = pixelColor.G;
pixelB[2] = pixelColor.B;
//i[3]
pixelColor = b.GetPixel(x - 1, y);
pixelR[3] = pixelColor.R;
pixelG[3] = pixelColor.G;
pixelB[3] = pixelColor.B;
//i[4]
pixelColor = b.GetPixel(x, y);
pixelR[4] = pixelColor.R;
pixelG[4] = pixelColor.G;
pixelB[4] = pixelColor.B;
//i[5]
pixelColor = b.GetPixel(x + 1, y);
pixelR[5] = pixelColor.R;
pixelG[5] = pixelColor.G;
pixelB[5] = pixelColor.B;
//i[6]
pixelColor = b.GetPixel(x - 1, y + 1);
pixelR[6] = pixelColor.R;
pixelG[6] = pixelColor.G;
pixelB[6] = pixelColor.B;
//i[7]
pixelColor = b.GetPixel(x, y + 1);
pixelR[7] = pixelColor.R;
pixelG[7] = pixelColor.G;
pixelB[7] = pixelColor.B;
//i[8]
pixelColor = b.GetPixel(x + 1, y + 1);
pixelR[8] = pixelColor.R;
pixelG[8] = pixelColor.G;
pixelB[8] = pixelColor.B;
}

nRed = Convert.ToInt32((m[0] * pixelR[0] + m[1] * pixelR[1] + m[2] * pixelR[2] + m[3] * pixelR[3] +
m[4] * pixelR[4] + m[5] * pixelR[5] + m[6] * pixelR[6] + m[7] * pixelR[7] +
m[8] * pixelR[8]) / total + offset);
nGreen = Convert.ToInt32((m[0] * pixelG[0] + m[1] * pixelG[1] + m[2] * pixelG[2] + m[3] * pixelG[3] +
m[4] * pixelG[4] + m[5] * pixelG[5] + m[6] * pixelG[6] + m[7] * pixelG[7] +
m[8] * pixelG[8]) / total + offset);
nBlue = Convert.ToInt32((m[0] * pixelB[0] + m[1] * pixelB[1] + m[2] * pixelB[2] + m[3] * pixelB[3] +
m[4] * pixelB[4] + m[5] * pixelB[5] + m[6] * pixelB[6] + m[7] * pixelB[7] +
m[8] * pixelB[8]) / total + offset);

//set pixel
if (nRed > 255)
nRed = 255;
else if (nRed < 0)
nRed = 0;

if (nGreen > 255)
nGreen = 255;
else if (nGreen < 0)
nGreen = 0;

if (nBlue > 255)
nBlue = 255;
else if (nBlue < 0)
nBlue = 0;

Color newPixelColor = Color.FromArgb(nRed, nGreen, nBlue);
img2.SetPixel(x, y, newPixelColor);
}
}
return img2;
}
}
}

Rabu, 19 November 2008

be The Best For Our LiFe...

Di dalam proses kehidupan kita sebagai manusia, lebih-lebih bagi kita yang hidup di masyarakat luas dan yang sedang berjuang keras dalam menciptakan kualitas kehidupan yang lebih baik, sering kali dalam berhubungan dengan orang lain,kita menemui baik atau buruk dari perlakuan orang lain terhadap diri kita,sebaliknya kita terhadap orang lain, atau kita terhadap diri kita sendiri dan mereka terhadap mereka sendiri. Sikap-sikap demikian adalah hal yang sangat wajar dan alamiah sekali yang dapat terjadi pada hubungan antar munusia bagi siapa saja, kapan dan dimanapun kita berada...


Namun bila kita sadar sebagai manusia yang mempunyai pikiran sehat, yang dapat membedakan sikap mana yang baik dan buruk , mana yang positif dan negatif, mana yang konstruktif, dan destruktif, sikap mana yang bisa menyinggung , menyakiti dan sikap mana yang bisa menyenangkan orang lain,mana yang perlu dipertahankan, dipelihara dan dikembangkan terus menerus.

Sebagai manusia yang dapat mengerti, menyadari dan dapat berpikir jernih,jelas kita harus bisa memilih dan berani menentukan sikap, dengan segenap tenaga, waktu dan pikiran untuk tetap mengembangkan diri semaksimal yang dapat dilakukan dalam garis prinsip yang lebih baik dan positif.

Sepantasnya pula setiap saat untuk menyadari dan mengingatkan kita agar tetap tegar, berani, sabar dan ulet dalam menghadapi setiap problem, rintangan, kesulitan yang muncul, baik yang datang dari luar diri kita (external) , lebih-lebih yang datang dari dalam diri kita sendiri (internal). Kita harus mempunyai prinsip yang kuat dan mempunyai ketegasan terhadap diri sendiri.

Memang ini bukan hal yang mudah dilakukan, hanya lewat proses latihan demi latihan, belajar dan belajar yang ada dalam praktek kehidupan yang nyata. Lama kelamaan tentunya kita akan terbiasa untuk Tetap tegar menghadapi setiap kondisi yang menantang dan berupaya keras tetap Menjadi Yang Terbaik dalam situasi apapun.

Dengan demikian tidak hanya kita semakin dewasa dalam mengarungi kehidupan ini, yang pasti kualitas kehidupan kita akan semakin baik ,semakin sukses…sekaligus akan berpengaruh dan bermanfaat pula bagi orang lain.

Sekali lagi. Dengan segenap kekuatan . untuk menjadi yang terbaik


Selasa, 18 November 2008

Fotoku saat di tembok besar itu


Ini saat foto ku dilukis di tembok besar di negri nan jauh disana. Ketika fans-fans ku menginginkan foto ku terpajang di negerinya..

hehe..

24 selingan dalam hidup..

1. Jangan tertarik kepada seseorang karena parasnya, sebab keelokan paras dapat menyesatkan. Jangan pula tertarik kepada kekayaannya, karena kekayaan dapat musnah. Tertariklah kepada seseorang yang dapat membuatmu tersenyum, karena hanya senyum yang dapat membuat hari-hari yang gelap menjadi cerah. Semoga kamu menemukan orang seperti itu.2. Ada saat-saat dalam hidup ketika kamu sangat merindukan seseorang, sehingga ingin hati menjemputnya dari alam mimpi dan memeluknya dalam alam nyata. Semoga kamu memimpikan orang seperti itu.

3. Bermimpilah tentang apa yang ingin kamu impikan, pergilah ke tempat-tempat kamu ingin pergi, jadilah seperti yang kamu inginkan, karena kamu hanya memiliki satu kehidupan dan satu kesempatan untuk melakukan hal-hal yang ingin kamu lakukan.

4. Semoga kamu mendapatkan kebahagiaan yang cukup untuk membuatmu baik hati, cobaan yang cukup untuk membuatmu kuat, kesedihan yang cukup untuk membuatmu manusiawi, pengharapan yang cukup untuk membuatmu bahagia dan uang yang cukup untuk membeli hadiah-hadiah.

5. Ketika satu pintu kebahagiaan tertutup, pintu yang lain dibukakan. Tetapi acapkali kita terpaku terlalu lama pada pintu yang tertutup sehingga tidak melihat pintu lain yang dibukakan bagi kita.

6. Sahabat terbaik adalah dia yang dapat duduk berayun-ayun di beranda bersamamu, tanpa mengucapkan sepatah katapun, dan kemudian kamu meninggalkannya dengan perasaan telah bercakap-cakap lama dengannya.

7. Sungguh benar bahwa kita tidak tahu apa yang kita milik sampai kita kehilangannya, tetapi sungguh benar pula bahwa kita tidak tahu apa yang belum pernah kita miliki sampai kita mendapatkannya.

8. Pandanglah segala sesuatu dari kacamata orang lain. Apabila hal itu menyakitkan hatimu, sangat mungkin hal itu menyakitkan hati orang itu pula.

9. Kata-kata yang diucapkan sembarangan dapat menyulut perselisihan. Kata-kata yang kejam dapat menghancurkan suatu kehidupan. Kata-kata yang diucapkan pada tempatnya dapat meredakan ketegangan. Kata-kata yang penuh cinta dapat menyembuhkan dan memberkahi.

10. Awal dari cinta adalah membiarkan orang yang kita cinta menjadi dirinya sendiri, dan tidak merubahnya menjadi gambaran yang kita inginkan. Jika tidak, kita hanya mencintai pantulan diri sendiri yang kita temukan di dalam dia.

11. Orang-orang yang paling berbahagia tidak selalu memiliki hal-hal terbaik, mereka hanya berusaha menjadikan yang terbaik dari setiap hal yang hadir dalam hidupnya.

12. Mungkin Tuhan menginginkan kita bertemu dengan beberapa orang yang salah sebelum bertemu dengan orang yang tepat, kita harus mengerti bagaimana berterima kasih atas karunia itu.

13. Hanya diperlukan waktu semenit untuk menaksir seseorang, sejam untuk menyukai seseorang dan sehari untuk mencintai seseorang tetapi diperlukan waktu seumur hidup untuk melupakan seseorang.

14. Kebahagiaan tersedia bagi mereka yang menangis, mereka yang disakiti hatinya, mereka yang mencari dan mereka yang mencoba. Karena hanya mereka itulah yang menghargai pentingnya orang-orang yang pernah hadir dalam hidup mereka.

15. Cinta adalah jika kamu kehilangan rasa, gairah, romantika dan masih tetap peduli padanya.

16. Hal yang menyedihkan dalam hidup adalah ketika kamu bertemu seseorang yang sangat berarti bagimu dan mendapati pada akhirnya bahwa tidak demikian adanya dan kamu harus melepaskannya.

17. Cinta dimulai dengan sebuah senyuman, bertumbuh dengan sebuah ciuman dan berakhir dengan tetesan air mata.

18. Cinta datang kepada mereka yang masih berharap sekalipun pernah dikecewakan, kepada mereka yang masih percaya sekalipun pernah dikhianati, kepada mereka yang masih mencintai sekalipun pernah disakiti hatinya.

19. Sungguh menyakitkan mencintai seseorang yang tidak mencintaimu, tetapi yang lebih menyakitkan adalah mencintai seseorang dan tidak pernah memiliki keberanian untuk mengutarakan cintamu kepadanya.

20. Masa depan yang cerah selalu tergantung kepada masa lalu yang dilupakan, kamu tidak dapat hidup terus dengan baik jika kamu tidak melupakan kegagalan dan sakit hati di masa lalu.

21. Jangan pernah mengucapkan selamat tinggal jika kamu masih mau mencoba, jangan pernah menyerah jika kamu masih merasa sanggup jangan pernah mengatakan kamu tidak mencintainya lagi jika kamu masih tidak dapat melupakannya.

22. Memberikan seluruh cintamu kepada seseorang bukanlah jaminan dia akan membalas cintamu! Jangan mengharapkan balasan cinta, tunggulah sampai cinta berkembang di hatinya, tetapi jika tidak, berbahagialah karena cinta tumbuh di hatimu.

23. Ada hal-hal yang sangat ingin kamu dengar tetapi tidak akan pernah kamu dengar dari orang yang kamu harapkan untuk mengatakannya. Namun demikian janganlah menulikan telinga untuk mendengar dari orang yang mengatakannya dengan sepenuh hati.

24. Waktu kamu lahir, kamu menangis dan orang-orang di sekelilingmu tersenyum - jalanilah hidupmu sehingga pada waktu kamu meninggal, kamu tersenyum dan orang-orang di sekelilingmu menangis.

Bandung msdn day special edition

Senin, 17 November 2008

Aku kangen Adikku...

Saat itu aku akan pergi berangkat ke bandung untuk mulai kerja lagi setelah libur sabtu minggu ku habiskan ditempat kelahiranku..

Pagi itu..aku diantar oleh kakak ipar ku sampai aku naik bis.adikku ikut, saat aku meninggalkan dia...dia menangis...dia memegang tanganku erat dari balik jendela mobil...

Berat rasanya kukan pergi meninggalkan adiku tersayang itu..menangis, dan terus menangis...dia tak melepaskan tangan ku di gengggamannya...walaupun ku sudah bilang.."Ntar teteh kesini lagi...ntar teteh nginep lagii...",kataku pada adikku..tetap saja adiku tak berhenti menangis...

Dalam hati ini aku pun turut menangis, betapa sayangnya adiku ini pada ku...sampai tak mau kutinggalkan...

pegangan tangannya yang mungil terus meremas tanganku agar tak bisa lepas dari genggamannya, kucoba perlahan tutup jendela mobil dimana adiku berada didalamnya..tapi tetap saja..dia tak mau..

Air mata yang terus mengalir membasahi kedua tanganku, apa dikata ku harus melepaskan juga tangan yang mungil itu..karna ku harus pergi meneruskan perjuangan hidup ku...

Akhirnya dengan perasaan sakit, ku lihat adiku menangis didalam mobil yang terus melaju meninggalkan tempat kuberdiri menunggu mobil yang akan membawaku pergi menuju aktivitas yang telah menungguku seperti biasa...

Tunggu adiku sayang..kakak akan kembali...

love u..