Selamat datang di Know4Share, Tempat Belajar .Net Tecnologies dan Bahasa Pemrograman Lainya- Blog dan Forum Know4Share Untuk saat Ini masih dalam tahap pengembangan, Regard Muhamad Albaijuri-

Cari Artikel

Iklan



Jumat, 26 November 2010

ASP.NET : Deploy ASP.Net di Windows Server 2008 64 Bit

Aplikasi ASP.net yang akan saya deploy ini dibuat dengan Win XP 32 bit dan nantinya akan di jalankan din Win 2k8 Server R2 64 Bit. Karena berjalan di 64 bit berarti semua .net Framework yang ada dalam win2k8 server tersebut juga berjalan di 64bit sedangkan aplikasi ASP.Net yang akan saya deploy masih berjalan di 32bit. ketika aplikasi tersebut sudah saya tempatkan di folder web sharing pada Win2k8 server dan siap untuk dijalankan, ternyata ketika dicoba dijalankan munculan pesan error sebagai berikut :
invalidwin32

Pesan error tersebut dikarenakan .Net Framework yang ada pada Win2k8 Server berjalan pada mode 64 bit, sedangkan aplikasi akan saya deploy berjalan pada .Net Framework 32 bit. Oleh karena itu saya harus mengatur agar .Net Framework pada Win2k8 Server tersebut dapat menjalankan juga aplikasi yang berjalan dengan .Net Framework 32 bit.

Berikut beberap step untuk meng-Enable 32bit application pada .Net Framework di IIS Win2k8 server :
1. Start > Control Panel > Administrative Tools > IIS (Internet Information Service ) Manager atau dengan Short cut > Run + ketikan "inetmgr".
2. Setelah terbuka Window IIS Manager Pilih Localhost, lalu pilih Application Pools.
3. Setelah mengclick Application Polls, disana terdapat beberapa .Net Framework yang telah diinstal di komputer kita untuk menjalankan ASP.Net di IIS. (kali ini saya menggunakan .Net Framework 4.0).
4. Pilih .Net Framework yang digunakan untuk menjalankan Aplikasi kita di IIS Win2k8 Server, Sekedar info Nama DefaultAppPoll merupakan .Net Framework 2.0 yang sudah default terinstal pada IIS 7.
5. Klik kanan , lalu Pilih Advanced Setting. dan munculan sebuah Window pop up setting.
server32bitmode
6. Untuk mengEnable mode 32 bit, ubahlah pada option "Enable 32-bit Application" menjadi True, lalu pilih OK.

Sekarang aplikasinya sudah bisa dijalankan dei Win2k8 Server 64- Bit :D

Bookmark and Share

Selengkapnya...


Sabtu, 13 November 2010

ASP.NET : Mengirim Email dengan SMTP Google (GMAIL)

SMTP (Simple Mail Transfer Protocol) merupakan salah satu protokol yang umum digunakan untuk pengiriman surat elektronik di Internet. Protokol ini dipergunakan untuk mengirimkan data dari komputer pengirim surat elektronik ke server surat elektronik penerima.
Kita dapat menggunakan SMTP account yang ada dari para penyedia layanan email gratis (gmail, yahoo, hotmail .dll) untuk mengirimkan pesan kepada seseorang, dengan catatan kita harus mempunyai akun tersebut.

Dengan menggunakan library "System.Web.Mail" yang tersedia di .Net Framework dan SMTP account dari para penyedia layanan email, kita dapat membuat sebuah aplikasi sederhana baik itu Web Based(asp.net) atau pun dekstop application, yang dapat mengirimkan email tanpa perlu kita mengunjungi web site dan login dengan account kita. mungkin aplikasi ini sangat sedikit berguna apabila suatu saat koneksi internet sedang down dan harus mengirim email.
Berikut adalah screen shot potongan code untuk mengatur SMTP account pada code c#:



Contoh screen Shot aplikasinya(klik untuk memperjelas) :



Dengan aplikasi ini memungkinkan kita juga untuk mengirim sebuah file attachment, hehe sungguh membantu saat koneksi internet sedang lemot.

Screen Shot inbox dalam alamat email yang dikirim :




Untuk lebih belajar lebih lanjut tentang penggunan SMTP protocol pada .Net, silahkan download Source code yang telah di sediakan, disini saya menggunakan C# ASP.net dan Visual Studio 2008


Bookmark and Share

Selengkapnya...


Mengungkap ( Dekrip ) Hash Code yang Di Enkripsi dengan MD5

Sekilas Tentang Message Digest 5 (MD5)

Message Digest 5(MD5) adalah salah satu penggunaan fungsi hash satu arah yang paling banyak digunakan. MD5 merupakan fungsi hash kelima yang dikembangkan oleh Ronald Rivest dan di definisikan pada RFC 1321[10]. MD5 merupakan pengembangan dari MD4 dimana terjadi penambahan satu ronde dalam pemrosesan teks.

MD5 memproses string kedalam blok-blok bit sebanyak 16 buah, keluaran dari MD5 berupa 4 blok yang masing-masing 32bit yang mana akan menjadi 128bit yang biasa disebut hash.

Pada dasarnya MD5 Menghasilkan kode dengan panjang tetap (32 karakter) dari sebuah pesan yang mempunyai panjang yang tidak beraturan. Pesan yang masuk akan dipisah menjadi fragmen-fragmen dengan panjang masing-masing 512bit. Contohnya adalah nilai B, nilai B disini adalah bilangan non negatir integer, dan tidak mesti dapat dibagi oleh kalipatan 8, lalu nilai B diberi bit-bit pengganjal sedemekian rupa sehingga panjang bit kongruen denga modulo 512. Jika panjang pesan B = 320, makan pes an tersebut aka ditambah 512 menjadi 842, jadi panjang bit-bit penganjal ada 1-512 yang digunakan untuk mengganjal pesan B =320 sehinggal dapat dibagi 512.


Pesan tersebut kemudian dimanipulasi sehingga dapat dibagi dengan oleh 512. Proses manipulasi ini menambahkan 1bit ke akhir pesan, lalu menambahkan 0 sampai panjang pesan sama dengan kelipatan 512 dikurangi 64, 64 bit terakhir ini digunakan untuk menyimpan integer dari panjang pesan yang sebenarnya. Algoritma utama MD5 bekerja dalam keaadaan 128 bit, yang dibagi 4, yang masing masing 32bit word, A, B, C, D antra lain :

• A : 01 23 45 67
• B : 89 AB CD EF
• C : FE DC BA 98
• D : 76 54 32 10

mungkin sekian penjelasan singkat dari saya tentang MD5, untuk lebih jelasnya bisa googling aja :D.

sekarang saya ingin menshare sebuah Java source dengan menggunakan metode Brutu Force untuk dapat mengembalikan sebuah string input yang telah di Hash menggunakan MD5, sebenarnya banyaknya metode yang dapat di gukanan untuk mengenkrip MD5, seperti Rainbow Table dll(googling untuk lebih jelasnya :D).

Beberapa kelemahan dari Java code yang di gunakan untuk mendekrip sebuah string hasil enkripsi MD5 :
- Membutuhkan waktu yang sangat lama untuk dapat mengdekrip sebuah password atau string. dari yang saya sudah coba, saya membutuhkan waktu lebih dari 1 jam untuk mengetahui karakter asli yang sudah di enkripsi dengen MD5, namun ada sumber yang menyebutkan, proses ini dapat diselesaikan dengan waktu yang lebih singkat dengan metode Distributing/Paralel Computing, menggunakan resource lebih dari 1 komputer.
- kita tidak tahu berapa panjang karakter asli yang dienkrip menggunakan MD5 ini, karena panjang karakter asli sangat berpengaruh dari hasil dan waktu yang di butuhkan untuk mendekrip.

Java Source Code:

Source Code -Class BrutuForce- :



import java.security.*;
import java.math.*;


public class BruteForce {
char[] karakter = {
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','0', '1', '2', '3', '4', '5', '6', '7', '8', '9','!','@','#','$','%','^','&','*','(',')','_','+','-','=','[',']','{','}',';',':','\'','"','|','\\',',','.','<','>','?','/',' '
};

String kataYgDicari;
int maxKarakter;
boolean ketemu = false;

public BruteForce(){

}

public BruteForce(String kataYgDicari,int maxKarakter) throws Exception {
int k = 0;
this.kataYgDicari = kataYgDicari;
this.maxKarakter = maxKarakter;

while (k < karakter.length && !ketemu) {
nextString(new Character(karakter[k]).toString());
k++;
}

}

public void cek(String huruf) throws Exception{
System.out.println(huruf);
if(kataYgDicari.equals(md5(huruf))){
ketemu = true;
}
}

private void nextString(String s) throws Exception {

int i = 0;

cek(s);

while (i < karakter.length && !ketemu) {
cek(s + new Character(karakter[i]).toString());

if (new String(s + new Character(karakter[i]).toString()).length() <= maxKarakter) {
nextString(s + new Character(karakter[i]).toString());
}
i++;
}

}

public String md5(String kata) throws Exception{
MessageDigest m=MessageDigest.getInstance("MD5");
m.update(kata.getBytes(),0,kata.length());

String md5 = (new BigInteger(1,m.digest()).toString(16));

if (md5.length() == 31) {
md5 = "0" + md5;
}

return md5;
}
}


Source Code - TessBrutforce - :


import java.io.*;

public class tesBruteForce {
public static void main(String[] args) throws Exception {
try {
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(is);
System.out.print("Masukkan string yang ingin di decode: ");
String md5 = input.readLine();
System.out.print("Masukkan jumlah karakter maksimum untuk brute force: ");
int max = Integer.parseInt(input.readLine());
BruteForce b = new BruteForce(md5, max);

} catch (Exception e) {
System.out.print("Ada kesalahan Masukan");
System.exit(1);
}

}
}



Begini Cara Kerja dari Java Source diatas (Klik untuk memperbesar gambar) :




Sekian sedikit ilmu yang saya share. tolong gunakan ilmu ini dengan bijak dan tidak untuk merugikan orang lain :D

Bookmark and Share

Selengkapnya...


Jumat, 12 November 2010

Download Crystal Report 14 Untuk Visual Studio 2010

Crystal Report tidak lagi menjadi satu dalam installer package Visual Studio 2010, mungkin untuk awan seperti saya hal ini sangat terasa aneh, karena pada versi versi sebelumnya, Visual Studio 2003, 2005 dan Visual Studio 2008 Crystal Report masih setia menemani dalam installer package Visual Studio.

Ketidakberadaan Crystal Report Pada Visual Studi 2010 baru saya sadari ketika saya di beri tugas untuk Mengupgrade sebuah applikasi yang sebelumnya menggunakan Visual Studio 2003 .Net Framework 1.1 menjadi menggunakan Visual Studio 2010 dengan .Net Framework 4.0. memang manjadi sebuah tugas yang lumayan berat juga buat saya, karena ini kali pertama saya menjamah .Net Framework 4.0 dan Visual Studio 2010.

Akhirnya proses convert project berjalan dengan lancar, namun tak selancar yang dipikirkan. karena hal yang tidak terduga terjadi pada saat project yang saya kerjakan ingin di Check In dalam Micrsoft Team Foundation Server(TFS), pada saat itu saya coba untuk mengenerate sebuah report,dan ternyata gagal, saya coba dengan melihat file .Rpt yang ada dalam project, ternyata ketika saya buka file tersebut hanya tampak dalam deretan binary code bukan tampilan desain dari file crystal report. hal tersebut membuat saya panik karena project tersebut harus segera di Check in dalam TFS Server.
Googling pun menjadi jalan terakhir untuk mencari jalan keluar dari permasalan dengan Crystal Report. Ternyata memang Crystal Report di versi 14 tepatnya sudah tidak menjadi 1 dengan package Visual Studi0 2010, melainkan terpisah sehingga kita harus mendownload Crystal Report Enginen(engine untuk mengenerate Report) dan Crystal Report Designer(digunakan untuk membuka RPT file pada Visual Studio sehingga dapat terlihat designer form dari report kita) dari web official SAP, yang dapat di download disini:

http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp

Disana terdapat dua File yang harus di download:

-Crystal Report Engine(SAP Crystal Report Runtime Engine For .Net Framework 4.0 32 dan 64bit) File ini berisi semua .dll yang di gunakan untuk mengenerate report pada .Net framework 4.0.
-Crystal Report Designer(SAP Crystal Report, Version For Visual Studio 2010) File ini yang harus diinstal untuk dapat membuka .RPT file dan terlihat dalam tampilan Designer Crystal Report

sampai saat ini saya belom mengerti kenapa Microsoft tidak menjadikan 1 package Crystal Report dalam Visual Studio 2010, dan memcahkan dalam SAP, ada yang bisa beri alasanya ?

Bookmark and Share

Selengkapnya...


Rabu, 27 Oktober 2010

Crystal Reports dan Framework 4 (Could not load file or assembly crdb_adoplus.dll)

Jika anda sedang mengupgrade Project anda baik menggunakan Visual Basic .Net ataupun C# ke Visual Studio 2010. dan mendapatkan sebuah pesan error yang aneh pada saat pembuatan report di proses Exports pada Crystal Reports 2011, seperti dibawah ini:

“Could not load file or assembly ‘file:///C:\\Program Files\\SAP BusinessObjects\\SAP BusinessObjects Enterprise XI 4.0\\win32_x86\\dotnet1\\crdb_adoplus.dll’ or one of its dependencies. The system cannot find the file specified.”

masalah pada pesan error diatas adalah Crytal Report engine 2011 anda masih memanggil engine yang ada pada .Net 1.1, padahal pada saat itu project anda sudah pada .Net Framework 4.0. untuk mengatasi error yaitu dengan cara menambahkan code di bawah ini pada app.config yang ada dalam project file.

<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>

dengan menambahkan code diatas Crystal Report engine anda akan menggunakan engine pada .Net Framework 4.0 yang telah terinstal pada Engine Crystal Report 2011 .

Bookmark and Share

Selengkapnya...


Selasa, 26 Oktober 2010

Convert Project Visual Studio 2003 ke Visual Studio 2010

Seminggu yang lalu saya disuruh mengerjakan sebuah pekerjaan yang terbilang sedikit rumit yaitu Convert sebuah project yang menggunakan Visual Studio 2003 .Net Framework 1.1 menjadi Visual Studio 2010 .Net Framework 4.0, karena ini merupakan pengalaman pertama saya menggunakan Visual Studio 2010 (berlisensi tentunya dan mengenal .Net Framework 4.0.

Saya akan men-share beberapa masalah yang saya temui dalam proses Convert project ke Visual Studio 2010 .Net Framework 4.0 serta cara mengatasi masalahnya :


1. '.resx' File not Found
Pada file web project .csproj(C#) atau .vbproj(vb.net) yang di buat pada Visual Studio 2003, tiap File .aspx(ASP.net Web page) atau .rpt(Crystal Report File) memiliki sebuah Embedded Resource .resx tiap project di build. namun pada proses convert ke Visual Studio 2010 .resx file yang ada tiap file .aspx atau .rpt akan dihapus namun tidak settingan di project filenya, sehingga ketika project yang telah di convert di build pada Visual Studio 2010 akan ada pesan error seperti "User\Authentication.aspx.resx File not Found in Project".
Solusi :
- Buka project file yang kira konvert menggunakan text editor seperti notepad atau notepad ++
- CTRL + F atau find keyword ".resx" pada file project tersebut. lalu akan bertemu dengan sebuah tag.






- Hapus satu "tag" file tersebut. hal yang menyebabkan error adalaha karena project file masih menyimpan 'RelPath' yang menjadi embedded resource tiap file .aspx atau .rpt yang ketika proses convert file tersebut telah di hapus.

- Save project file tersebut yang telah dibuka melalui text editor
- Buka kembali file project melalui solution file yang ada, lalu kemudian coba lah build kembali project yang telah anda edit. . so far so good :D


2. Crystal Report di Visual Studio 2010
Hal ini yang membuat saya sedikit repot ketika ingin membuka file .rpt (Crystal Report file) di Visual Studio 2010. ketika membuka file .rpt di Visual Studio 2010, ternyata yang terlihat hanya barisan binary code bukan tampilan Designer yang di inginkan, akhirnya memutuskan untuk Browse di "Google". ternyata di Visual Studio 2010 Crystal Reportsnya tidak di include kan dalam 1 paket installasi, melainkan terpisah dan harus di download lagi. entah mengapa Microsoft tidak menjadikan 1 Crystal Report dalam Visual Studio 2010, malahan menjadikan SAP Crystal Report.
Ini Link yang di sediakan untuk mendownload SAP Crystal Report untuk Visual Studio 2010:
- Download Crystal Reports Engine 32-bit

- Download Crystal Reports Engine 64-bit

dengan menginstal Engine disini bukan berarti anda sudah bisa membuka .rpt file dengan tampilan designer Crystal Report, namun engine ini hanya berfungsi untuk engine untuk Create Report.

untuk dapat membuka .rpt file dengan tampilan designer reportnya, download dan install Crystal Report Designernya :
- Download Crystal Report Designer Visual Studio 2010
bru lah setelah menginstal file diatas Crytal Reports anda dapat di buka dengan tampilan Designernya bukan deretan binery code lagi :D

Sekian dulu pengalaman yang saya alami dalam proses conver project Dari Visual Studio 2003 .Net Framework 1.0 ke Visual Studio 2010

Bookmark and Share

Selengkapnya...


Senin, 19 Juli 2010

Menyimpan Koneksi C# dan VB.net Database Dalam Text File

Tulisan ini saya ingin membahas tentang cara menyimpan koneksi database dalam teks (*.txt) file. Baru - baru ini saya baru terpikir untuk menyimpan string koneksi database di dalam text file. Beberapa keuntungan yang bisa di rasakan dengan menyimpan koneksi string database ini ke dalam text file adalah jika pada project atau program yang kita buat untuk klien tidak memiliki database name yang sama, name server yang sama serta user id dan password untuk lgin kedalam Database server.

Mengimport System.IO untuk dapat menggunakan TextReader dan StreamReader untuk membaca koneksi string database yang kita simpan kedalam text file. Kali ini saya menggunakan SQL server 2000 untuk database server, dengan database pubs sebagai datanya dan Visual Studi 2008, tapi pada intinya mau pake Visual Studio versi berapa aja kodinya hamper sama kok, kan masih 1 frame work yaitu .net framework :D.

Langsung aja pada prakteknya :D :

1. Buka Visual Studio 2008 >> new Project >> terserah mau pake C# atau VB.net (tergantung selera aja), tapi saya lebih milih buat C#,, dan nanti saya juga sertakan kodingan diVb.net Kok :D. kasih nama Projectnya dan Oke :D.



2. Design Form dengan 1 datagrid (Name DataGrid1) dan 2 buah Button(Name: Button1 dan Button2), 1 text box untuk kita coba input koneksi string yang nantinya akan menyimpan ke text file.


3. Klik 2 kali pada Button "Save Koneksi to Teks a.k.a Button1" untuk mengisikan kode untuk menulis koneksi string dari text box kedalam text file. namun sebelumnya kita harus import(VB.net) atau using(C#) pada form yang kita buat, tambahkan Import(vb.net) using(C#)System.IO dan System.SqlClient pada bagian atas kode, sehinnga terlihas seperti ini :
using System.IO dan System.data.sqlclient pada C# :


Import System.IO dan System.data.sqlclient pada C# :


Setelah mengimport System.IO dan System.SqlClient tambah kan Kode ini didalam void Button Click 1 untuk menyimpan teks yang kita inputkan pada textbox kedalam text file :
C# :
TextWriter tw = new StreamWriter("Koneksi.txt");
tw.WriteLine(this.textBox1.Text);
tw.Close();


Sehingga Terlihat seperti Ini



VB.net:
Dim tr As New StreamWriter("Koneksi.txt")
tr.WriteLine(Me.TextBox1.Text)
tr.Close()


Sehingga Terlihat seperti Ini


4. Setelah memasukan kode untuk save kedalam text file apa yang di inputkan dalam textbox, kita mencoba membaca teks file tersebut yang nanti akan diisi Connection string untuk koneksi ke database, klik 2 kali di button "Show Data a.k.a Button 2" dan isikan kode ini di dalam void Button2_click (C#) atau Private Void Button2_Click :

Kode untuk C# :
TextReader tr = new StreamReader("Koneksi.txt");
string koneksi = "";
koneksi += tr.ReadLine();
SqlDataAdapter da = new SqlDataAdapter();
SqlConnection scon = new SqlConnection(koneksi);
da.SelectCommand = new SqlCommand();
da.SelectCommand.CommandText = "select * from titles";
da.SelectCommand.CommandType = CommandType.Text;
da.SelectCommand.Connection = scon;
scon.Open();
DataSet ds = new DataSet();
da.Fill(ds, "title");
this.dataGridView1.DataSource = ds.Tables["title"];
scon.Close();


sehingga akan terlihat seperti ini C#:



Kode untuk vb.NET :
Dim TW As New StreamReader("Koneksi.txt")
Dim koneksi As String
koneksi = TW.ReadLine
Dim scon As New SqlConnection(koneksi)
Dim da As New SqlDataAdapter
da.SelectCommand = New SqlCommand
da.SelectCommand.CommandType = CommandType.Text
da.SelectCommand.CommandText = "Select * from titles"
da.SelectCommand.Connection = scon
scon.Open()
Dim ds As New DataSet
da.Fill(ds, "title")
Me.DataGridView1.DataSource = ds.Tables("title")
scon.Close()

sehingga terlihat seperti ini VB.net :


5. setelah itu jalankan program denga menclick tanda play hijau di toolbar atau tekan f5 pada keyboard, dan program window program akan muncul jika kode yang anda ketikan benar tanpa kesalaha (pasti bener kok, wong cuma kopi paste aja salah :D ),

6. setelah program jalan, lalu masukan koneksi string anda pada teks box yang ada dan klik tombol "Save Koneksi to Teks" dan koneksi string yang sudah kita inputkan kedalam text box sudah tersimpan kedalam text file pada folde project kita, untuk mengecek lebih jauh silahkan buka folder [namaProject]/bin/Debug/ dan disana sudah ada file bernama Koneksi.txt yang berisi koneksi string kita :D.



7. setelah itu kita dapat menampilkan data dengan menclick tombol "Tampil", pada proses ini StreamReader berfungsi untuk membaca txt file yang telah disimpan di folder project. lalu menggunakan string yang ada di txt file untuk koneksi database kita.



jadi apabila dalam pendistribusian project ke klient dengan perubahan nama server dan database kita tidak perlu mencompile ulang project yang kita buat, cukup mengganti koneksi string pada txt file tersebut :D.

Download Sourcode VB.Net



Download Sourcode C#




Mohon maaf jika kata kata di tulisan saya membingungkan, karena saya sedang belajar untu menjadi bloger yang baik dan membagi bagikan ilmu saya.

Regard,

Muhamad Albaijuri
(Know4Share, karena ilmu mu tak akan habis walau dibagi bagi).



Bookmark and Share

Selengkapnya...