RSS

Jumat, 13 Agustus 2010

CARA MENAMPILKAN DATA DARI WINDOW 1 KE WINDOW 2 DENGAN WPF C#

Cuma mau sharing ilmu bekas PKL nih....
Mau sharing tentang passing data antar window di WPF app C#.net..
Sebenarnya simple aja...cuma mw nampilin nama yang kita ketikkan di window 1 dan akan tampil di window 2..
sebenarnya hal ini sangat sederhana, tetapi kalo kita membutuhkan data-data yang ada di window 2? mau tidak mau kita harus melakukan passing data ini...
Kasusnya simple.. yaitu user akan disuguhkan (Makanan kale....) sebuah logon window dimana user harus memasukkan username dan password yang sudah terdaftar..
lalu, setelah user memasukkan username maka username itu akan di window 2 seperti berikut "logged as 'username'"....

OK, langkah pertama yang harus dilakukan adalah merubah class modifier window menjadi public.Caranya adalah :

Window x:Class="Project.Window2" x:classModifier:"public" ...



jika code anda sudah seperti ini, selamat anda berhasil merubah class modifier window ini...

langkah kedua yang harus dilakukan adalah buat database di SQL SERVER,(caranya tinggal bikin di SQL SERVER 2008 management studio)
misal bikin table namanya 'user' dengan item 'nama' dan 'password'..

ok, langkah ketiga buka visual studio 2010, lalu new project, lalu pilih wpf application...
setelah MainWindow.xaml terbuka langsung click kanan->view code.. maka akan tampil barisan code C# sebagai pengisi fungsi dari xaml..
langsung saja tambahkan using System.Data; dan using System.Data.SqlClient;
lakukan koneksi ke database caranya click kanan Data Connections pada server explorer ->add connection, lalu isikan nama server (nama komputer anda)
pada kotak server name. lalu pilih database yang baru tadi kita buat, sebelum click ok ada baiknya jika kita test koneksinya dulu dengan cara click
Test Connection.Jika semua sudah berjalan dengan lancar maka click Ok..



langkah keempat adalah bangun koneksi pada database yaitu dengan cara :

sqlconnection conn = new sqlconnection(@"string connection bisa anda lihat di property connection;");

lalu buat sqlDataAdapter

sqlDataAdapter adp = new sqlDataAdapter();

dan buat data set

DataSet ds = new DataSet();

ketiga codingan diatas ini taruh di dalam class Window.


langkah keempat adalah double click objek button "login" pada design view xaml, maka akan tertulis

private void button1_Click(object sender, RoutedEventArgs e) {}

kita sudah membuat event "Click" pada button1 dan kita tinggal mengisinya..

Biasakanlah memakai (try{} catch{} finnaly{}) karena untuk keamanan koneksi jika koneksi berhasil maka akan masuk ke try, jika gagal kita dapat menambahkan

catch(sqlException ex)
{
messageBox.Show(ex.message); // ini untuk menangkap pesan error sehingga program kita tidak crash atau hang...tetapi akan ditampilkan pesan error
}

langkah kedua bersambung...

Jumat, 23 Juli 2010

USED OIL MANAGEMENT SYSTEM

System ini sebenarnya berguna untuk memberikan kemudahan (bagi pegawai2 disana) untuk membuat laporan yang akan diserahkan kepada perusahaan client.

PT ISSI (Intelab sentra solution indonesia) adalah perusahan yang mengelola petroleum equipment dan oil analysis.

yang pertama adalah petroleum equipment, PT ISSI menjual equipment untuk keperluan perusahaan lain (misal : pertamina dll)
alat yang dijual oleh mereka diberi serial number satu persatu agar bisa di data barang apa saja yang keluar...
masalahnya teknologi yang dipakai perusahaan ini masih sangat tradisional (tulis tangan), jika ada 1000 barang yang keluar
berarti mereka harus menulis data alat sebanyak 1000 kali..

Maka dari itu dibuatlah software dengan nama Inventory system yang dibuat oleh rekan saya Gamma satria kurniawan.

Nah yang kedua adalah oil analysis,bertujuan untuk menganalisis kondisi alat yang dijualnya dan memberikan laporan
kepada client setiap 1 minggunya.Jadi perusahaan ini juga menyediakan maintenance untuk alat yang dijualnya.
Alat-alat tersebut nantinya akan di attach ke PC dan mengeluarkan data berupa .csv atau .txt sebanyak 7 file.
setiap file .csv atau .txt memiliki 12 parameter dan empat digit (misal 0,004) setiap valuenya.lalu dianalysis ke pakar
dan memberikan kesimpulan atau saran dari alat tersebut.
teknologi yang dipakai diperusahaan ini masih sangat tradisional (input satu persatu data CSV,lalu tanya kepada pakar dan
menyusun ulang format laporan). hal ini membuat laporan yang akan diserahkan kepada client sering terlambat.Jika ada 300 alat
yang dianalisis setiap minggunnya maka berapa data yang harus diinputkan oleh mereka? (hitung sendiri.hehehehe)

Used oil management system (software yang sedang saya bangun) berguna untuk mengenerate data .csv dari alat secara otomatis
dan memindahkan pengetahuan yang ada di pakar kedalam sistem.

Mengenerate data .csv ke form secara otomatis



pilih Upload file, lalu akan muncul



setelah itu



semua data yang ada di file csv akan tergenerate ke form yang kita inginkan.

software ini masih dalam tahap pengembangan,masih banyak yang harus saya kerjakan..

Jumat, 09 Juli 2010

Membuat RIA dengan PHP + Mysql + Silverlight

Akhirnya saya menemukan cara baru untuk integrasi php dan silverlight...
kalo pada postingan sebelumnya saya belum bisa melakukan koneksi ke database
sekarang sudah bisa dengan mysql tanpa perlu membuat WSDL...

pertama :

buat database anda di mysql..
mudah kan?


kedua :

sekarang kita buat web servicenya di PHP
contoh :

mysql_vars.php
$dbUsername = "root";
$dbPassword = "";
$db = "product";
$sever = "localhost";

$mysql_namaproduct = "nama_product";
$mysql_contentproduct = "content_product";
$mysql_ idproduct = "id_product";

$connection = mysql_connect ($server, $dbUsername,$dbPassword);

function formatinput($rawURLData)
{
$returnString = urldecode($rawURLData);
$returnString = mysql_real_escape_string($returnString);
return $returnString;
}
?>

web service ini nantinya akan dipanggil melalui silverlight


ketiga :

buat fungsi getter setter di class product pada C#

public class TakeProduct
{
public String ProductName {get; set;}
public String IsiProduct {get; set;}
public int IdProduct {get; set;}

public TakeProduct() {}
}

lalu coba right-click pada listbox dan "Edit Additional Templates" ->Edit Generate Item (pada Blend)


keempat :

cabut ke MainPage.Xaml.cs lalu ketik script berikut:

WebClient wc = new WebClient();
ObservableCollection myProduct = new ObservableCollection();
string baseURI = “http://localhost/"phpfile anda";

oh iya jangan lupa tambahkan (using System.Net dan using System.Collections.ObjectModel;


lalu ketik script dibawah InitializeComponent() "wc.DownloadStringComplete +=" tekan TAB dua kali..event akan tergenerate dengan sendirinya
lalu ketik lagi script tepat dibawah wc.DownloadStringComplete, "wc.DownloadStringAsync(new Uri(baseURI + “file php anda”));

tekan F5 insya allah jalan....
Alhamdulillah dengan cara ini pekerjaan saya akan semakin mudah untuk membangun web yang expresif,cepat,dan aman...

Membuat RIA (Rich Internet Application) dengan integrasi Silverlight dan PHP

Sebenarnya kajian PKL saya simple..hanya membangun sebuah web.Tetapi masalahnya adalah
dari pihak perusahaan meminta web yang expresif, komunikasi data cepat dan data aman pastinya (Maklum CEOnya perfectsionis)..
pertama saya berpikir untuk memakai adobe flex builder...tetapi software tersebut tidak menjamin komunikasi data
dan keamanan data karena adobe flex builder tidak bisa dengan instan connect ke database...

Lalu saya berpikir lagi dengan menggunakan PHP,saya menemukan beberapa kemudahan dalam komunikasi data dan
keamanan yang handal dalam PHP, tetapi saya kesulitan dalam membuat Interface dari webnya (pke dreamweaver belum begitu
ngerti...hehehehe.katro)

Terlintas dipikiran saya sebuah ide yang cemerlang (gaya beut)...Tahu expression blend dan silverlight?
yap, software tersebut sangat handal membuat interface dengan kemudahan yang disediakan oleh expression blend
dan silverlight library untuk mempercanggih interface tersebut..lalu saya mengambil kehandalan PHP dalam komunikasi
data dan keamanan data..saya berhasil memadukan .NET dengan PHP...

Langkah pertama saya bagi komponen web menjadi dua bagian (Server-side dan Client-side)
pada server-side saya menggunakan PHP untuk mengontrol data pada database..
pada client-side saya menggunakan .NET untuk membangun interface yang keren...

langkah kedua saya merubah sedikit codingan pada index.php (C:\wamp\www\index.php) untuk menginclude
silverlight XAP package..
lalu buat file WSDL baru..apa itu WSDL (Web Service Description Language)
yaitu untuk mendeskripsikan network service sebagai kumpulan endpoint
WSDL ini berbasis XML..

lalu saya membuat server pada PHP dengan WSDL tersebut...

ini_set("soap.wsdl_cache_enabled", "0");
$server = new SoapServer("issiweb.wsdl");
$server->addFunction("loginsystem");
$server->handle();

simpan file yang sama dengan file wsdlnya... issiweb.php
lalu test dengan membuka browser ketikkan http://localhost/php/issiweb.wsdl
jika ada tampilan service dari wsdl berarti koneksi php telah berhasil.

lalu buka visual studio dan expression blend,..mulai buat interfacenya


setelah semuanya beres..copy aplikasi silverlight yang dibuat tadi ke directory PHP..
(catatan : project akan run pada port yang berbeda, kan biasanya port 80)...

lalu klik kanan pada project (di visual studio), properties, pilih web tab,
pilih use local IIS web server option, dan masukan path servernya..
tekan F5 insya Allah jalan...

untuk sementara selama dua minggu PKL baru ketemu itu...hehehe

Jumat, 25 Juni 2010

ANALISIS WEB USABILITY PADA MAXIKOM (2)

3.Tidak ada keterangan halaman

Pada home di web ini akan diberikan beberapa sample buku, tetapi tidak ada keterangan beberapa sample buku itu adalah apa? apakah best seller? apakah top rated? apakah most viewed?. Pada web ini hanya diberikan rating 1-5 tetapi sample buku tersebut itu apa? jika mengacu kepada amazon.com yang menampilkan status pada sample buku (best book of the year, best book of the month,dan rekomendasi), maxikom masih jauh dari usable dalam hal ini.



www.maxikom.co.id


bandingkan dengan



www.amazon.com









4. Desain header berantakan

Pada umumnya web memiliki menu home,content,contact us, about us yang terletak dibawah judul.Tetapi dimana letak home,about us pada maxikom? yap, teletak di kiri atas dan tidak diberi border.Hal ini sangat tidak biasa bagi user.sedangakan untuk mencapai web yang usable, sebuah web harus memiliki sistem yang biasa dilihat user (familiarity) dan mudah diingat (.posisi header pada kiri atas adalah posisi yang tidak biasa dilihat user, dan user harus mengingat kembali sistem anda (Don't make them think).



(Desain header yang tidak biasa)

ANALISIS WEB USABILITY PADA MAXIKOM (1)

Ada beberapa komentar dari saya tentang website dari www.maxikom.co.id



Walaupun sekilas web ini terlihat "Sempurna" tetapi setelah saya teliti dan melihat contoh web lain yang lebih usable,ternyata ada beberapa bagian yang "cacat" dari segi Usability.

Beberapa point yang saya catat :

1.Scroll terlalu panjang

Mungkin karena content terlalu banyak, maxikom.co.id menggunakan scrolling.Tetapi scrolling justru membuat web ini "tidak nyaman" karena scrolling terlalu panjang, biasanya user malas untuk menggunakan scroll apalagi scroll yang terlalu panjang.


(Scrolling panjang)












2.Tidak ada navigasi

Ini salah satu "Kecacatan" dari web ini, tidak ada navigasi.Hal ini sering kali membuat user tersesat didalam web. Apalagi menu terlalu banyak, user sering lupa dengan posisi dia sekarang sedangkan dalam web ini tidak ada penunjuk posisi user (Navigasi).




(Dimanakah saya? yap, tidak ada navigasi)

Rabu, 16 Juni 2010

Data Link Simulator


Bagi yang mau belajar Jarkomdat khususnya tentang Flow control, nih saya baru selesai bikin aplikasi Data Link Simulator yang saya buat dengan C# (Referensi dari code project)dengan menggunakan tools dari OpenGL untuk menampilkan blok-blok yang menggambarkan Frame dan ACK.gambar disamping adalah potongan gambar dari programnya.
Bagi yang mau download masuk aja ke http://jump.fm/CWGNH