TUTORIAL CODEIGNITER : APLIKASI WEBSITE / BLOG (WEBLOG) SEDERHANA DENGAN CODEIGNITER

Oke gan, langsung saja untuk screen shoot contoh aplikasi website, weblog, blog dengan codeigniter yang ane kasi, seperti di bawah ini...

Tutorial HTML

HTML merupakan bahasa dasar pembuatan web. Disebut dasar karena dalam membuat web, jika hanya menggunakan HTML tampilan web terasa hambar. Terdapat banyak bahasa pemograman web yang ditujukan untuk memanipulasi kode HTML, seperti ...

TUTORIAL ORACLE - KONEKSI ORACLE KE JAVA, PHP DAN C# (C-SHARP)

Disitu juga ane kasi contoh aplikasi CRUD nya yang bisa ente download Gratisss :D ...

Sabtu, 22 Juni 2013

Tutorial C# : Membuat Laporan dengan Crystal Report C#

membuat laporan dengan Crystal Report
Alhamdulillah kali ini ane mau bahas tentang membuat laporan dengan Crystal report pake C# (baca : C-sharp), setelah hampir dua minggu tidak posting, ya karena kesibukan kuliah, tugas, project dan lain-lain... ya.. untuk menuju masa depan yang lebih cerah tentunya banyak sekali cobaan dan rintangan yang harus bisa ane lewatin,, dari tugas2 yang diberikan ke ane, yang paling sulit adalah dalam membuat laporan... sebenarnya si gak sulit tapi karena banyak memakai bahasa baku dan harus banyak pakai literatur yang bikin ane males untuk mengerjakan laporan... setiap kali UAS ane mesti di hantuin sama yang nama nya laporan... mending bikin aplikasi, program dan desain system nya deh, 10 aplikasi juga gapapa dari pada harus bikin laporan satu, pake latar belakang lah... rumusan masalah.... ah bulshit tu semua... ane mah belajar dari google, dan gak banyak baca buku... kalo buat nulis si.. kalo gak pake bahasa baku si gak papa.. seperti ane nulis di blog ini,,, ane gak tau, apakah ini terjadi pada programmer2 lainnya atau tidak, yang jelas untuk ane si PALING MALES BIKIN LAPORAN... emosi si... kenapa ya pendidikan di indonesia ini selalu menuntut yang tidak2 ?? ane bukan penulis, ane programmer / system analist... -_-
kalo hanya untuk menguji kejelasan dari suatu permasalahan atau keaslian sebuah karya, kenapa gak tes aja langsung ?? toh 5 BAB yang dibikin laporan itu ane yakin 80% tidak akan dibaca semua, paling tidak ya latar belakang nya saja atau kalau tidak rumusan masalah dan kesimpulan, tapi kenapa harus pake acara literatur dan latar belakang yang cukup panjang ?? bener2 miris dan tragis sekali ya.... kalo gak bikin laporan  gak dapet nilai atau dapet nilai "E" , padahal aplikasi sudah selesai dibuat dan sudah dipakai... bener kata dedy corbuzier kalo sebenarnya ada yang salah dengan system pendidikan di Indonesia... mau tau kenapa silahkan ente simak disini ,, disitu udah jelas dan gamblang... waktu ane banyak terbuang2 gara2 laporan... -_- mungkin mereka2 tidak merasakan hal2 seperti ini, bagi ane waktu bener2 adalah uang, membuang waktu berarti membuang uang dan kenyataannya ane sekarang lagi butuh sama uang.. semoga saja suatu saat nanti system ini dirubah menjadi system yang lebih baik...
Oke dah kalo ini ane bahas Cystal report untuk membuat laporan di C#, sebenarnya banyak sekali plugin atau library untuk membuat laporan, bahkan C# .Net sendiri sudah menyediakannya, contohnya seperti System.Drawing.printing.. ya disitu sudah disediakan library untuk membuat laporan untuk .net , tetapi yang paling terkenal dan yang paling banyak digunakan adalah Crystal report.. kenapa ? ane juga gak tau kenapa kok Crystal report ... mungkin karena kemudahannya kali yak ?? karena semua orang pasti menginginkan sesuatu yang mudah...Oke dah, biar gak sangat panjang... langsung saja ane kasi tutorial cara membuat laporan di C# / C sharp dengan Crystal report ... untuk project yang ane kasi laporan ini, ane pake project ane yang dulu pernah ane upload tentunya project C#, yaitu Aplikasi CRUD... ada baiknya ente baca dulu di sini dan kalo belum download aplikasi nya, monggo ente download dulu... kalo sudah... mari langsung ke pembuatan laporannya...
pertama ente harus download Mysql Connector ODBC dulu... ente bisa dapetin connector Mysql ODBC itu disitus resminya atau disini, sesuaikan dengan type windows ente.. kalo yang 32 bit ya pilih yang 32 bit, dan kalo yang 64 bit ya pake yang 64 bit.. :D ... kalo udah download silahkan di instal... kalo udah di instal kita ke project CRUD C# yang tadi...
ente pasti lihat form nya seperti ini 

membuat laporan dengan Crystal Report

Sekarang tambahkan 2 Button, seperti di bawah ini

membuat laporan dengan Crystal Report dan C#

Kemudian Buat Satu Form, dan tambahkan Crystal Report Viewer pada form itu, seperti dibawah ini 

membuat laporan dengan Crystal Report Viewer

Setelah ente, jadikan Modifier / hak akses dari Crystal report viewer itu menjadi public, seperti dibawah ini

Crystal Report Viewer in C#

Kalo sudah, sekarang kita beralih ke Mysql ODBC tadi, buka Start up windows kemudian cari data sources (ODBC) seperti dibawah ini

Data Sources Crystal Report

kalo gak ketemu, silahkan buka controll panel >>  all controll panel item >> administrative tools , kalo sudah pasti masuk ke folder ini dan pilih data sources (ODBC) 

Data Sources Crystal Report ODBC

kemudian kalo sudah buka Data Sources (ODBC) nya, masuk ke tab System DSN kemudia Click ADD kemudian akan muncul window baru, pilih Mysql ODBC seperti dibawah ini 

Data Sources Crystal Report ODBC

setelah ente Click Finish ente akan ada window Mysql Connector ODBC, isikan sesuai kebutuhan ente disini, seperti datasource name, terserah ente isi apa, description juga terserah, server ente tentukan sendiri, ente pake localhost atau pake client server, user-password dan database nya sesuaikan dengan kebutuhan ente... seperti dibawah ini contoh nya

Data Sources Crystal Report ODBC C#

ente bisa tes koneksi dulu, apakah koneksinya sukses apa tidak, kalo belum sukses cek kembali textbox2 nya, kalo udah sukses ente bisa Click Button OK, kemudian data Source yang ente buat tadi akan sudah ada di form yang sebelumnya, seperti ini 

Data Sources Crystal Report ODBC Csharp

Sekarang, setelah membuat data sources ODBC nya, kita kembali ke project kita tadi, sekarang bikin satu buah file report.. begini caranya 
Crystal Report C sharp


Crystal Report C sharp Tutoial

untuk nama file nya suka2 ente mau dikasi nama apa... kemudian Click button Add... setelah itu akan muncul tampilan berikut : 

Crystal Report C sharp .net Tutorial \

ente bisa pilih standar, juga bisa pilih Cross tabel... kalo ane sering pake Cross tabel... kemudian Click OK...

Crystal Report C sharp .net Tutorial

kalo muncul windows diatas ente Click icon "+" pada Tree View nya ya ? biar ente bisa milih Data Sources yang kita buat sebelumnya. kemudian kalo sudah ente bisa langsung Click Next untuk memasukkan Username - password nya

Reporting in C#

Kemudian setelah mengisi username password, ente bisa Click Finish, kemudian ente Click datasouces nya dan pilih tabelnya

Reporting in C# Using Crystal report

kemudian project tadi akan menampilkan Crytal report seperti gambar dibawah ini, kemudian ente bisa drag field2 yang ente butuhkan pada section / bagian detail untuk di jadikan laporan... 

Reporting in C# Using Crystal report

Ente juga bisa lihat preview Laporan yang ente buat, seperti ini 

Using Crystal report in C#  Instal

Ya... sekarang adalah bagian membuat kode nya :D ... Pertama tambahkan beberapa referensi library nya

using CrystalDecisions.CrystalReports.Engine;  
kemudian bangkitkan Event Button Click pada Button Click Semua dan tambahkan Kode ini
ds = new DataSet();
koneksi.Open();
query = string.Format("select * from pegawai");
perintah = new MySqlCommand(query, koneksi);
adapter = new MySqlDataAdapter(perintah);
perintah.ExecuteNonQuery();
ds.Clear();
adapter.Fill(ds);
koneksi.Close();

ReportDocument rd = new ReportDocument();
rd.Load("../../Report1.rpt"); // sesuaikan dengan nama dan lokasi file report yang ente buat
rd.Database.Tables[0].SetDataSource(ds.Tables[0]);

Laporan l = new Laporan(); //sesuaikan dengan nama form yang ente jadikan report viewer
l.crystalReportViewer1.ReportSource = rd;
l.ShowDialog();
Kemudian Bangkitkan juga Event Button Click pada Button Cetak, dan tambahkan Kode ini :
ds = new DataSet();
koneksi.Open();
query = string.Format("select * from pegawai where kodepegawai = '"+text_kodepegawai.Text+"'");
perintah = new MySqlCommand(query, koneksi);
adapter = new MySqlDataAdapter(perintah);
perintah.ExecuteNonQuery();
ds.Clear();
adapter.Fill(ds);
koneksi.Close();

ReportDocument rd = new ReportDocument();
rd.Load("../../Report1.rpt"); // sesuaikan dengan nama dan lokasi file report yang ente buat
rd.Database.Tables[0].SetDataSource(ds.Tables[0]);

Laporan l = new Laporan(); //sesuaikan dengan nama form yang ente jadikan report viewer
l.crystalReportViewer1.ReportSource = rd;
l.ShowDialog();
Yupzzz... udah selesai dan sekarang preview nya.... begini jadi nya kalo Button Cetak Semua di click 

laporan Crystal Report C# / C sharp

Kalo Button Cetak di Click akan jadi kayak gini 

laporan Crystal Report C# / C sharp

Panjang juga tutorial kali ini yang membahas Crystal Report di C# untuk buat laporan... cukup jelas menurut ane, dan kalo belum jelas ente bisa tanya ane via Facebook, atau tunggu ane bikin tutorial video untuk Crystal Report ini :D ... Oia, untuk windows type 64 bit biasanya akan terjadi beberapa masalah dalam pembuatan laporan menggunakan Crystal report ini, yang nanti akan ane bahas pada postingan2 selajutnya insya Alloh... kalo dibahas disini mah kepanjangan dan tidak bagus untuk search engine nya... hehee... Oke ... sekian dulu untuk tutorial kali ini yaitu tentang Crystal report di C#,, semoga bermanfaat untuk ane, ente dan para pengunjung blog ini :) 

Kamis, 30 Mei 2013

Function (M-file) Gamma Correction Matlab

Yupz... ini postingan akhir ane minggu ini tentang matlab dan digital image processing / pengolahan citra digital... kali ini masi tentang enhancement, tepat nya tentang Gamma correction dan implementasinya di matlab :D ... tujuan dari methode ini adalah sama dengan enhancement lainnya, yaitu untuk meningkatkan kualitas dan kekontrasan suatu citra... dan biasanya methode2 enhancement ini tidak akan berdiri sendiri, akan ada proses lanjutannya.... tapi memang belum waktu nya ane postingan yang beginian... hehee... nanti kalo sudah waktu nya ntar ane update kok Insya Alloh... :)
Gamma Correction melakukan sebuah operasi citra menggunakan nilai Constanta, nilai Constanta ini lah yang nanti nya digunakan sebagai patokan pengontrasan citra pada methode ini... Oia, untuk nilai Constantanya memakai nilai bertipe double... atau menggunakan nilai decimal atau koma - koma an ,,, :D .... dan biasanya untuk meningkatkan kecerahan pada methode ini menggunakan nilai 0,sekaian ... sedangkan jika constantanya 1 maka tidak akan terjadi suatu perubahan pada citra yang kita proses...
kalo nilai konstantanya diatas 1 misalnya 1, sekian atau 2, sekian ... maka akan mengurangi kecerahan atau menggelapkan sebuah citra... ya nanti tergantung kebutuhan lah untuk memproses nya agar lebih dapet kontrasnya... boleh di cerahkan boleh juga digelapkan... kalo ane si suka nya yang gelap2... hehehee... gamma correction ini juga sudah sering kita lihat kok di photoshop... kalo bagi ente yang belum pernah lihat di photosop berarti ente mungkin ganteng gan, jarang edit foto itu... wkwkwkwkwk.... 
Oke dah, sekarang kita menuju rumus dan implementasi gamma correction di matlab juga code function (m-file) nya... cekidot...

rumus m file gamma correction matlab


function hasil = GammaCorrection(citra, cons,gamma)
[m,n] = size(citra);
for k = 1:m
for l = 1:n
hasil(k,l) = cons*im2double(citra(k,l))^gamma;
end
end
figure,subplot(1,2,1);imshow(citra);title('citra asli');
subplot(1,2,2);imshow(hasil);title('hasil Citra');
end

function m file gamma correction matlab


Yupz... begitulah Gamma Correction dan implementasinya di matlab dengan code function (M-file) nya.. kalo perlu monggo di copy :D dan sekian dulu untuk postingan kali ini... semoga bermanfaat :)

Function (M-file) Transformasi Log Citra - Matlab

sepertinya minggu ini sama seperti minggu-minggu saat ane ngepost tentang design pattern yang berjumlah 24 itu... pasalnya seminggu ini sudah lebih dari 3 postingan yang ane tulis di blog ini :D ... ane juga gak tau apakah ini mengejar target atau ane lagi ketagihan nulis diblog ya ?? hehehee,, sepertinya dua-dua nya memang ane rasain si... mengejar target, iya... lagi ketagihan juga iya :D ... baru sadar kalo ane lagi ketagihan update blog... dulu si ane bingung sama para blogger yang bisa update seminggu sampai 10 postingan... Wow gitu looo... seminggu sampai nulis sebanyak itu, apa gak bosen ?? dan ternyata setelah ane sering kali update blog ini, sekarang efek ketagihan / kecanduan itu terjadi sama ane... :D ... ya semoga ketagihan ini membawa manfaat, tidak hanya bagi sendiri tapi mungkin bisa lebih bermanfaat bagi orang lain... :)
masi tentang matlab ya gan ?? hehehee... kali ini giliran transformasi log citra / image yang ane bahas... transformasi log ini adalah salah satu methode enhancement / perbaikan citra yang bertujuan untuk meningkatkan kualitas kekontrasan sebuah citra... menurut ane si ya ? hehee transformasi log ini kurang efisien jika digunakan untuk memperbaiki kualitas citra ... kenapa ? karena pengoperasiannya menggunakan rumus secara merata... jadi semua bagian citra / nilai citra dilakukan menggunkan rumus yang sama, dan hasilnya akan ditingkatkan sama rata nilainya... berbeda dengan contrast stretching yang mengoprasikan citra dengan beberapa kondisi.. menurut ane si untuk contrast stretching lebih efisien dari pada trasformasi log ini :D ... oke dah sekarang kita langsung implementasinya dengan matlab ya ? sekalian ane kasi dengan rumusnya...
rumus transformasi logaritmik citra

function hasil = TransformLog(citra, cons)
[m,n] = size(citra);
for k = 1:m
for l = 1:n
hasil(k,l) = cons*log(1+im2double(citra(k,l)));
end
end
figure,subplot(1,2,1);imshow(citra);title('citra asli');
subplot(1,2,2);imshow(hasil);title('hasil Citra');
end
function m file logaritmik citra matlab

oke, sekian dulu untuk postingan Transformasi log citra (image) dengan matlab ini... semoga bemanfaat :)

Function (M-file) Fusi (Fusion) Citra Matlab

Function m file fusion - fusi citra
Postingan kali ini ane mau bahas tentang penggabungan citra yang biasanya disebut dengan image fusion, setelah sebelumnya ane bahas tetang thresholding citra di matlab sekarang giliran image fusi / fusion yang ane bahas... dan tentunya juga masi pake matlab.... :D...  kalo dari kata-kata nya "fusion" mungkin tidak asing bagi para penggemar film kartun / anime jepang, dan sangat familiar.... di film dragon ball kan ada itu ya fusion, jadi penggabungan fisik dan kekuatan antara dua orang, biasa nya kalo di film dragon ball itu yang fusion songoku dan vegete, trunk dan songoten.... ketika 2 orang melakukan fusion di film dragon ball maka akan jadi 1 orang yang mempunyai 2 kekuatan dari 2 orang yang bergabung tadi.... :D 
sama hal nya dengan fusion di film dragon ball tadi, fusi / fusion pada pengolahan citra ini adalah penggabungan 2 buah citra yang nantinya hasil dari penggabungan 2 citra ini akan menghasilkan citra baru yang mempunyai nilai2 dari 2 citra aslinya..... tetapi mungkin agak sedikit berbeda saat dengan fusion pada kartun dragon ball tadi, karena pada fusi / fusion citra kita dapat mengatur gambar mana yang lebih dominan / tampak lebih jelas dari ke dua citra input pada citra hasil penggabungan... apakah gambar pertama yang lebih jelas , apakah gambar kedua yang lebih jelas.... itu bisa kita atur dari inputan juga :D
Oia untuk rumus fusion citra nya mungkin dari sisi struktur rumus hanya mempunyai satu, tapi dalam satu struktur itu dapa kita rubah... merubahnya adalah ketika operasi nya, jadi rumus pertama menggunakan penjumlahan sedangkan rumus kedua menggunakan pengurangan.... yaa... biar lebih jelas dan gak tambah bingung sekarang langsung ane kasi dah contoh source code nya... :D
Fusi dengan menggunakan rumus penjumlahan

function hasil = Fusi3(citra1, citra2)

[m,n] = size(citra1);
for k = 1:m
for l = 1:n
hasil(k,l) = (citra1(k,l))+(citra2(k,l));
end
end
figure,subplot(2,2,1);imshow(citra1);title('citra 1');
subplot(2,2,2);imshow(citra2);title('citra 2');
subplot(2,2,3);imshow(hasil);title('hasil Citra');
end
Fusi dengan rumus menggunakan pengurangan
function hasil = Fusi2(citra1, citra2)

[m,n] = size(citra1);
for k = 1:m
for l = 1:n
hasil(k,l) = (citra1(k,l))-(citra2(k,l));
end
end
figure,subplot(2,2,1);imshow(citra1);title('citra 1');
subplot(2,2,2);imshow(citra2);title('citra 2');
subplot(2,2,3);imshow(hasil);title('hasil Citra');
end
Fusi menggunakan rumus yang ada pengontrol gambar yang dominan
function hasil = Fusi(citra1, citra2,nilai)

[m,n] = size(citra1);
nilai2 = 1-nilai;
for k = 1:m
for l = 1:n
hasil(k,l) = (nilai*citra1(k,l))+(nilai2*citra2(k,l));
end
end
figure,subplot(2,2,1);imshow(citra1);title('citra 1');
subplot(2,2,2);imshow(citra2);title('citra 2');
subplot(2,2,3);imshow(hasil);title('hasil Citra');
end

Gampang ya ? dan tentunya unik si... memang untuk matakuliah - matakuliah rumpun AI / Citra sebenarnya unik semua dan bagi ane itu sangat menantang dan harus ditaklukan :D ... hehehee... oke dah, sekian dulu postingan tentang citra fusi / fusion kali ini semoga bermanfaat buat kita semua :)

Function (M-file) Thresholding Citra - Matlab

Function m file thresholding citra matlab code
Yeah... sepertinya dalam waktu dekat ini ane akan banyak bahas tentang matlab untuk pengolahan citra digital, dan kali ini giliran Citra thresholding yang ane bahas diblog ini :D ... kalo untuk membahas pengolahan citra digital sebenarnya bukan tuntutan dari pihak akademik alias tugas kuliah, tapi karena kemauan ane sendiri untuk terus berbagi diblog ini, "We Create and Share" menurut slogan kampus ane... hehehee... untuk matakuliah citra ini sebenarnya sudah ane ikuti tahun lalu, tetapi sifat nya ilegal... jadi hanya ikut masuk ke kelas citra tahun lalu hanya untuk belajar... selama kita bisa belajar kenapa kita tidak memanfaatkan ?? wong gak bayar dan gak dilarang mengikuti kelas secara ilegal.... :D jadi bener kata bapak Ranchodas chancad / punksuk wangdu di film 3 idiot... belajar gak harus pakai uang... yang penting niat dulu.... hehehee...
Oke sekarang kita bahas apa si Thresholding itu ?? dan apa gunanya ?? Thresholding adalah salah satu methode citra yang bertujuan untuk mengubah dimensi citra menjadi citra binner... dengan kata lain citra yang diproses oleh methode thresholding nilai pixel nya hanya akan ada 2 jenis.... kalo gak 1 ya 0... jadi kalo gak putih ya hitam... disini kita harus bisa mengerti yang ane maksud hitam putih itu apa... bukan foto hitam putih... tapi nilai citra nya... kalo gak putih ya hitam... 0 / 1 ....
kalo orang awam bilang foto hitam putih itu menurut pengolahan citra adalah citra grayscale .... bukan thresholding... trus apa guna citra thresholding... sebenar nya banyak guna si... tapi yang paling menonjol adalah membedakan antara object dan background dalam sebuah citra atau gambar.... yang nanti nya akan bisa dimanfaatkan untuk operasi citra yang lain atau bahkan untuk pengembangan sebuah software :D .... wuuuihh... keren ya kayaknya ?? hehehee
Oke sekarang kita bahas tentang implementasinya di matlab... sebelum menuju source code nya.. ada yang perlu ane jelaskan disini... kalo tadi ane bilang citra thresholding itu adalah citra biner yang nilai nya cuma 1 dan 0 , tetapi pada implementasi nya akan sedikit berbeda... dalam operasi untuk warna putihnya itu bukan 1 tetapi tergantung bit citra inputnya, jadi kita ambil nilai tertinggi dari bit citra... misal citra input nya 8 bit maka kita gunakan nilai 255 untuk nilai putih nya.... jadi paham ya ?? sekarang kita beralih pada algortima methode thresholding nya... untuk melakukan nilai thresholding kita butuh sebuah nilai ambang sebagai alat pembatas untuk menentukan pixel mana saja yang akan menjadi putih dan pixal mana saja yang akan menjadi hitam... :D misal ya ?? hehehee kita punya nilai ambang 150 dan L-1 (nilai tertinggi) 255 ... maka semua pixel yang bernilai diatas 150 maka akan dijadikan bernilai 255 alias menjadi putih... kemudian untuk pixel-pixel yang bernilai dibawah 150 maka akan dijadikan 0 alias hitam... :D ... ya gitu aja si algoritmannya... gampang ya ?? oke dah ane pikir ente udah paham dan sekarang ane kasi source code thresholding matlab nya, cekidot : 

function hasil = Thresholding(citra,nilai)

hasil = citra;

[m,n] = size(citra);

for k = 1:m
for l = 1:n
if(citra(k,l) > nilai)
hasil(k,l) = 255;
else
hasil(k,l) = 0;
end
end
end

figure,subplot(2,2,1); imshow(citra);title('citra asli');
subplot(2,2,2); imhist(citra);title('histogram citra asli');
subplot(2,2,3); imshow(hasil);title('citra hasil');
subplot(2,2,4); imhist(hasil);title('histogram citra hasil');

end
Oke dah untuk postingan Function (M-file) thresholding citra di matlab ini, semoga bermanfaat bagi yang membutuhkan, happy cooding :D

Function (M-file) Contrast Stretching Matlab

Matlab... matlab.. matlab... postingan kali ini kembali ane bahas matlab untuk melakukan manipulasi citra, matakuliah yang menurut ane agak sedikit rumit dan wajib untuk dipelajari dikampus ane... -_- karena sebenarnya citra ini masuk dalam rumpun penjurusan, tepatnya pada rumpun AI (Artificial Intelegent) / kecerdasan buatan... sedangkan ane lebih fokus pada bidang RPL (Rekayasa perangkat lunak) ... karena ini tuntutan dari akademik ya ane jalanin ajalah sekalian menambah ilmu, mungkin suatu saat ilmu ini akan berguna dikemudian hari... :D seperti hal nya saat ane mempelajari tentang multithreading ditahun kemarin pada mata kuliah OOP, tapi kegunaannya baru terasa 6 bulan kemudian saat ane dapet project membuat sms gateway multi port yang dijadikan server pulsa... hehehehee...
Ah, udah dulu dah intro nya... :D sekarang ane bahas tentang contrast stretching, apa contrast stretching itu ?? contrast stretching adalah sebuah methode enhancement / perbaikan citra, lebih detailnya contrast stretching adalah methode perbaikan citra yang bertujuan untuk meningkatkan kekontrasan citra dengan memanfaatkan beberapa kondisi.. :D
kalo dilihat secara bahasa contrast streching artinya pengontrasan sepotong-sepotong, maksud nya kita akan mengoperasikan citra sesuai dengan kondisi nya dan kondisinya itu adalah potongan-potongan nilai citra...

diagram Contrast Streching matlab
diagram Contrast Streching

Rumus Contrast streching Citra :
Rumus Contrast Streching matlab
Rumus Contrast Streching

Contoh simulasi operasi Contrast streching

simulasi Contrast Streching matlab
simulasi Contrast Streching

Kalo dilihat dari rumus nya pasti pusing duluan... tapi ya tergantung masing2 individu si... kalo ane si bingung+matasakit... wkwkwkwkwkwk tapi berbeda lagi ketika kita nanti melihat dari segi kode nya, kalo dari kode malah ane paham.. :D ya... begitulah... biar gak panjang lebar, ni ane kasi contoh script contrast streching pengolahan citra di matlab 

function hasil = Contrasstectching(citra, r1,r2,s1,s2)

citra = im2double(citra);
hasil = citra;

[m,n] = size(citra);

r1 = r1/255;
r2 = r2/255;
s1 = s1/255;
s2 = s2/255;

for k = 1:m
for l = 1:n
if(citra(k,l)<= r1)
a = 0;
b = r2;
c = 0;
d = s2;
rasio = (b-a)/(d-c);
hasil(k,l) = (citra(k,l)-c)*rasio+a;
elseif (citra(k,l)>= r1 && citra(k,l)< r2)
a = s1;
b = s2;
c = r1;
d = r2;
rasio = (b-a)/(d-c);
hasil(k,l) = (citra(k,l)-c)*rasio+a;
else
a = s2;
b = 255;
c = r2;
d = 255;
rasio = (b-a)/(d-c);
hasil(k,l) = (citra(k,l)-c)*rasio+a;
end
end
end

hasil = im2uint8(hasil);
subplot(2,2,1);imshow(citra);title('citra asli');
subplot(2,2,2);imhist(citra);title('histogram citra asli');
subplot(2,2,3);imshow(hasil);title('hasil contrasstreching');
subplot(2,2,4);imhist(hasil);title('histogram contrasstreching');
end
untuk kode pemanggilan function / m-file matlab nya sepeti ini gan :

Contrasstectching(rgb2gray(imread('E:/citra/biji.jpg')),10,120,0,150); 
perlu diperhatikan pada kode pemanggilan function / m-file nya... ane ngambil image/citra yang berdimensi 3 alias RGB ... jadi ane convert dulu jadi grayscale... ente bisa pakai script pemanggilan function / m-file nya dengan menyesuaikan directory citra ente :D ... kemudian kalo ente lihat code yang ada dalam function / m-file nya menurut ane lebih mudah untuk dipahami ketimbang lihat rumus diatas... hehehehe... oia ini hasil dari penggunaan function / m-file diatas

Contrast Streching matlab
Implemetasi Contrast Streching matlab

kalo dilihat dari pada hasil citra diatas, gambar hasil operasinya lebih besar contrast nya dari pada citra aslinya, selain itu untuk memanipulasi pixel nya tidak menggunakan operasi yang sama rata, tetapi menggunakan beberapa kondisi, sehingga pengontrasan citra disini lebih efisien, karena memang ada beberapa bagian citra yang perlu sedikit ditingkatkan cerah nya dan ada juga yang perlu banyak peningkatan cerahnya.. :D ... dan itulah contrast streching yang artinya operasi linier sepotong - sepotong :) dan sekian dulu untuk postingan kali ini yang membahas tentang Function (M-file) Contrast Stretching di matlab... semoga bermanfaat ..

Rabu, 29 Mei 2013

Contoh Aplikasi C# : SMS Gateway (Sender) dengan C# (C sharp)

Contoh aplikasi sms gateway C#
Yupzzz... Sore yang agak sedikit dingin dan gerimis ini bikin mata jadi ngantuk, pengen tidur pake selimut tebal... tapi kalo diturutin itu cuma akan membuanng-buang waktu saja, ane pikir lebih baik ane lanjutin update-tan blog ksayangan ini... :D .. kalo dulu tiap kali hujan biasa nya ane bikin mie  rebus dan teh hangat sambil nongkrong di depan tipi atau laptop liat film action... kalo sekarang mah lebih baik ngoding aja demi masa depan yang lebih baik dan membahagiakan keluarga ini :D ... 
Oke Postingan kali ini ane mau nulis tentang contoh aplikasi SMS Gateway dengan C#, ada yang belum tau tentang sms gateway ?? kalo belum tau silah kan ketikan di google "SMS Gateway adalah" wkwkwkwkwk... ya.. secara singkat nya sms gateway adalah layanan SMS yang biasa nya digunakan oleh perusahaan-perusahaan yang dimanfaatkan sebagai sarana informasi, biasanya kan ada ya kadang kita di sms sama nomer gak dikenal alias nyasar yang isi nya tentang promosi - promosi gitu... terus ada lagi yang biasanya undian dengan sms yang format undian sms nya pake "REG(spasi)DAFTAR" ... laa itu pake sms gateway... trus kalo sekarang yang lagi ngetren buat sekolah2 itu dibuat layanan sms info sekolah... ya itu juga pake sms gateway... ya pokok nya yang kayak gitu2lah sms gateway itu.... hehehehe
Sedikit cerita bagaimana ane bisa membuat software sms ini, awalnya software ini belum pernah ane pelajari bagaimana cara pembuatannya, disekolah adek yang masi SD ane ada seorang guru alumni dari kampus ane, tapi ane gak tau dia angkatan ke berapa dan lulus kapan, katanya si lulus kemarin2 ini... dia gak ngajar si disekolah adek ane cuma jadi guru cadangan saja, laa disamping jadi guru cadangan ternyata dia mempromosikan layanan sms info / sms sender untuk sarana pengumuman sekolah... pada bulan pertama si di gratiskan, tapi untuk bulan ke dua dan seterus nya sekolah ditarik biaya untuk sms info itu sekitar 2,5 juta... itu perbulan looo bukan sekali bayar... ya untuk sekolah setara SD seperti itu menurut ane terlalu mahal kalo untuk setiap bulannya harus bayar 2,5 jt untuk layanan sms info saja... apalagi kalo nomer nya masi nomer2 yang di jual di counter2 pulsa yang 5rb udah dapet... kalo nomer sms info nya 4 digit si seimbang kalo bayar nya segitu.. :D
sebenar nya ane sendiri si agak bingung ya sama kakak alumni ane ini, ternyata software sms nya itu bukan buatan dia sendiri, melainkan dia juga ikut perusahan yaitu perusahaan *tiiiiit (tidak boleh disebut :D ) ... kenapa dia gak bikin sendiri saja software kayak gitu, laa wong cuma layanan sms doank kok, alias sms sender, jadi cuma bisa mengirim.. selain itu untuk biaya nya kalo software nya bikin sendiri kan cukup beli pulsa saja, kalo mau narik biaya menurut ane 500 - 700rb perbulan udah cukup dari pada 2,5 jt... ya bayangkan saja kalo kita pake kartu XL kemudian kita paket kan 1000 SMS dengan biaya 2000 rupiah perhari, sedangkan muridnya di SD adek ane cuma 450an... bukannya dengan 2000 rupiah saja bisa sms dua kali sehari ke semua wali murid ?? selain itu gak setiap hari juga kan ada sms ?? :D kalo misal hitung2an kotor ya gan setiap hari nya kita beli pulsa 2000 rb di kali 30 hari (sebulan) bukannya cuma 60.000 rb rupiah setiap bulannya ?? hehehee... kalo kita minta 500 rb lah katakan perbulan ke sekolah bukannya untung kita sudah lebih dari 100% ?? ya kan ??
laa dari situ terjadi pro dan kontra di antar wali murid di sekolah adek ane... ada yang menyanggupi dengan iuran 5000 per-siswa untuk membiayai sms info nya ada juga yang tidak mau... termasuk ibu ane yang gak mau... kenapa gak mau ?? bukannya pelit si tapi kalo dilihat dari pembiayaan selama ini untuk biaya bimbel tiap kelas yang harga nya 15000 masi banyak yang nunggak dan gak bayar, bagaimana kalo di tambahin 5000 lagi untuk biaya sms info ? ibu ane mikir gitu dengan tujuan nanti nya tidak ada tanggungan atau sesuatu yang memberatkan sekolah kalo nanti nya ada yang gak bayar biaya sms info...
laa dengan kejadian pro-kontra itu ibu ane cerita ke ane, pas itu ane lagi ngerjakan tugas mata kuliah... ane cuma bilang "kalo cuma aplikasi kayak gitu, aku bisa buat bu" ... spontan ibu ane langsung jawab "bener bisa ?" ... ane jawab lagi "iya, bisa... cuma layanan sms info doank kan ??"... ibu bilang iya... dan langsung ibu ane nyuruh ane buat aplikasi itu... ya... nurut aja deh apa kata ibu, dan nanti nya aplikasi sms itu akan disumbangkan secara cuma-cuma ke sekolah adek ane kata ibu... :D
Setelah deal sama ibu ane, ibu ane langsung ngubungi pihak sekolah dan ane langsung ditarget seminggu selesai untuk pembuatan layanan sms info nya... ini yang gak enak... -_- .... tau gak enak nya kenapa ?? ya ente pikir sendiri lah... hehehehee... tapi karena untuk mengejar profesionalitas ane terima dah dan akhir nya selesai sebelum seminggu... :D dan akhir nya di pakai lah software bikinan ane itu sampai sekarang... untuk pulsa nya ya ane suruh beli sendiri tu pihak sekolah... masak iya kita juga yang biayain setiap bulannya ?? hehehehe... dan Alhamdulillah karya ane yang satu ini dapat dimanfaatkan banyak orang, kata nya si banyak yang memuji karena sangat membantu untuk informasi2 dari sekolah, sampai2 sekarang untuk undangan rapat saja pake SMS resmi... wkwkwkwkwk.... 
Udah dulu ah cerita nya... :D sekarang kita bahas aplikasi nya... untuk aplikasi ini ane pake C# dan Ms. Access karena memang kebutuhan disekolah adek ane itu masi tidak membutuhkan Mysql untuk database nya... wong murid nya cuma 450an dan gurunya cuma 15an... hehehee... lagian cuma untuk menyimpan nomer HP kok... hehehehe... untuk fitur nya disini cuma bisa mengirim karena memang di khusus kan untuk sms info / sms sender... selain itu bisa menambah kelas, menambah data murid dan bisa mengirim personal / sms pribadi, bisa mengatur tujuan sms ke salah satu kelas... ya.. ente bisa lihat sendiri lah nanti kalo udah download aplikasi sms gateway(sender) nya ... untuk library nya ane pake library gsmcomm.. ente bisa download di situs nya atau mengambil dari project yang ane kasi nanti... bisa pake modem juga bisa pake hp yang support sms gateway... misal kalo ane pake SE K510i.... kalo modem yang bagus pake modem Wavecome, agak mahal si... tapi yaa awet, bondo sitik gak papa to ? masak gratisan terus ?? software nya udah ane kasi gratis, hehehee walaupun nanti ane minta share nya kalo ente download... itung2 sedekah lah sama ane.... :D .... 
Oke dah, kalo pengen tau screen shoot nya ente bisa lihat dibawah ini :


Download aplikasi sms gateway C#
Olah data Siswa 
contoh aplikasi sms gateway C#
FORM SMS SENDER
contoh aplikasi sms gateway  - sender C#
Form SMS Pribadi
aplikasi sms gateway gratis
Form SMS GURU
Tidak ane kasi semua si screen shoot menu nya soal nya kebanyakan, nanti mubadzir :D ... heheheee... ada salah satu fitur nya yaitu data import dari excel... tapi harus mengikuti procedure... ya bisa ente lihat sendiri lah.... trus untuk laporan pengiriman nya belum ane kasi si... kadang pas gagal masi aja bilang terkirim... wkwkwkwk ya kalo ada waktu ntar ane perbaikin dah... insya Alloh... memang masi jauh dari sempurna si program nya :D .... tapi setidak nya jalan aplikasi nya dan bisa dimanfaatkan oleh orang banyak.... untuk auto reply memang tidak saya kasi soalnya untuk auto response nya kalo library gsmcomm gak ada... -_- ... beda lagi nanti pake sms lib... yaa besok2 lah ane kasi contoh nya pake Java & C#, jadi judul nya sms gateway auto reply.... heheheheheheh... oke dah, cukup dulu uintuk postingan Contoh SMS Gateway dengan C# ini.. semoga bermanfaat :)

Download File (ane minta share - nya ya gan :D)