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 ...

Tampilkan postingan dengan label C#. Tampilkan semua postingan
Tampilkan postingan dengan label C#. Tampilkan semua postingan

Senin, 12 Agustus 2013

Tutorial SQL SERVER : Contoh Aplikasi CRUD C# SQL SERVER

Contoh aplikasi CRUD C# - SQL SERVER
Alhamdulillah postingan kali ini ane akan membahas tentang create(insert) read(select) update delete di database SQL SERVER dengan bahasa pemrograman yaitu dengan C# (C sharp) .net .... seperti postingan-postingan sebelumnya, ane akan kasi contoh aplikasinya juga yang bisa ente download gratis... pada postingan sebelumnya juga ane bahas tentang database oracle dan juga ane kasi contoh connection string nya akan pengkoneksiannya dengan bahasa pemrograman, yaitu C# Java dan PHP... untuk SQL SERVER server ini nantinya juga ane bahas diblog ini dengan 3 bahasa pemrograman yang semuanya juga ane kasi contoh CRUD nya yang bisa di download... :)
pagi ini cukup cerah, walaupun hawanya sangat dingin sekali... ditambah lagi badan yang masi agak capek dan sakit akibat perjalanan jauh kemarin ke teluk ijo (green bay) banyuwangi... tapi tetap semangatlah untuk beraktifitas :D apalagi untuk masalah masa depan... tambah semangat lagi... hehehee.. Oia, diblog ini belum ane bahas bagaimana membuat trigger, function dan procedure di SQL SERVER.. tapi insya Alloh besok2 ane update kok... yang penting paham basicnya dulu dan tau bagaimana cara mengkoneksikan SQL ke berbagai bahasa pemrograman, diantaranya C#, Java dan PHP.. yang lain menyusul aja deh :D
Oke dah... Biar gak kepanjangan updatenya dan tidak banyak curhat disini, berikut contoh connection string SQL SERVER dan C# (C sharp) .NET
Pertama kita panggil referensinya...
using System.Data;
using System.Data.SqlClient;
kemudian kita buat connection string nya....
try
{
string conn_str = "server=MADARA-LAPTOP\\SQLEXPRESS; user id = rizal; password = admin; database=kampus;";
SqlConnection conn = new SqlConnection(conn_str);
Console.WriteLine("Koneksi Sukses... :)");
}
catch (SqlException e)
{
Console.WriteLine(e.Message);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Coba perhatikan connection string diatas... untuk server nya ente sesuaikan dengan nama laptop ente kalo databasenya ada di localhost / laptop ente.... kalo ada di komputer lain, ente bisa tuliskan server nya itu dengan IP komputer tempat database SQL SERVER berada :D ... user id dan password nya sesuaikan dulu dengan punya ente... kemudian ente tuliskan juga database yang mau di akses...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace CRUD_SQL_SERVER
{
class Connection
{
public Connection()
{
koneksi = new SqlConnection(conn_str);
}

private string conn_str = "server=MADARA-LAPTOP\\SQLEXPRESS; user id=madara; password=admin; database=kampus;";
private SqlConnection koneksi;
private SqlCommand cmd;
private SqlDataAdapter adapter;
private DataSet ds;
private int res;
private string sql;

private DataSet GetData(string sql)
{
ds = new DataSet();
koneksi.Open();
cmd = new SqlCommand(sql, koneksi);
adapter = new SqlDataAdapter(cmd);
cmd.ExecuteNonQuery();
adapter.Fill(ds);
koneksi.Close();
return ds;
}

private int ManipulasiData(string sql)
{
res = 0;
koneksi.Open();
cmd = new SqlCommand(sql,koneksi);
adapter = new SqlDataAdapter(cmd);
res = cmd.ExecuteNonQuery();
koneksi.Close();
return res;
}
}
}

Oia, disini ane gak bahas bagaimana membuat user login / akses privellage di SQL SERVER ya ?? memang agak sedikit membingungkan kalo di pelajari, tapi udah banyak kok pembahasannya di blog lainnya... ente bisa searching di google... nah, untuk connection string diatas itu ane pake user dengan SQL SERVER authentication mode... bukan windows authentication mode... ente bisa pelajari itu di blog lainnya, pokok nya kalo udah bisa login di SQL SERVER MANAGEMENT STUDIO dengan sql server authentication mode... berarti bisa pake connection string diatas... :D ... hehee...
Oke, sekian dulu untuk postingan kali ini untuk contoh aplikasinya ada dibawah untuk link downloadnya... kalo ada yang belum paham, silahkan tinggalkan komentar atau hubungi ane via facebook ... Oke ?? :D ... sekian dulu untuk postingan contoh aplikasi CRUD C# - SQL SERVER .. semoga bermanfaat :)


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

Perhatian : window downloadnya akan keluar setelah di share jadi, kalau udah dishare windows nya jangan ditutup, windows nya akan menuju halaman github. cari link nya disitu.... ada button text nya "Download ZIP".


Selasa, 06 Agustus 2013

Tutorial Oracle - Koneksi Oracle ke Java, PHP dan C# (C-sharp)

koneksi Oracle Java php C# C sharp
Postingan terakhir hari ini mungkin gak sesuai urutan tutorial blog ini kali ya ?? kalo sebelumnya tentang SQL SERVER, postingan ini ane membahas tentang Oracle lagi.. :D ... bukan tutorial si isinya tapi untuk Optimasi SEOnya saja... hehehee.. kan ada tu postingan-postingan sebelumnya yang membahas tentang Contoh CRUD Oracle - PHP, Contoh CRUD Oracle - Java, Contoh CRUD Oracle - C# (C sharp) ... ternyata keyword ini jarang dipakai... yang sering di pakai apa ?? ya kayak judul yang ane buat di atas itu, yaitu Koneksi Oracle PHP / Oracle PHP Connection String, Oracle Java Connection JDBC, C# Connection to Oracle... ya ente bisa cek lah di google adword dan google trend keyword yang bagus untuk postingan itu apa... :D Besok hari terakhir puasa, kalo hari raya nya hari kamis tapi... semoga aja hari kamis lebarannya.. hehehee... pengen cepet2 lebaran... biar bisa jalan-jalan trus makan2 ... hehehee... maunya si besok nerusin postingan tentang SQL SERVER tapi gak tau  besok bisa apa gak posting di blog ini soalnya kudu siap-siap menyambut idul fitri... harus bersih2 rumah dan bantu-bantu ibu :)

Oke dah, Buat ente yang kesasar di Postingan ini yang mencari bagaimana mengkoneksikan Oracle dengan C# (C sharp) / Oracle dengan PHP / Oracle dengan Java dibawah ini linknya ... tenang aja, gak ane lempar ke blog lain kok, masi di blog ini postingannya :D

Koneksi Oracle dan C# (Oracle C# Conecction String)


Koneksi Oracle dan JAVA (Oracle JAVA Conecction String)


Koneksi Oracle dan PHP (Oracle PHP Conecction String)


Disitu juga ane kasi contoh aplikasi CRUD nya yang bisa ente download Gratisss :D ... Oke, sekian dulu dah untuk postingan Koneksi Oracle ke C# (C sharp) , Java dan PHP ini... semoga bermanfaat :)


Kamis, 01 Agustus 2013

Tutorial Oracle - C# : Contoh Aplikasi CRUD C# - Oracle (Connection)

Contoh crud oracle c# - koneksi
Melanjutkan postingan yang sebelumnya tentang oracle... sebelumnya udah ane bahas bagaimana mengkoneksikan oracle dengan php dan java dan juga sudah ane kasi contoh aplikasinya untuk di download secara gratis :D ... kali ini giliran C# (C sharp) yang ane bahas tentang koneksinya ke oracle... pada postingan ini ane gak mau panjang lebar atau curcol dulu :D tapi langsung saja ke pembahasan tentang koneksi dari c# ke oracle... seperti pada postingan sebelumnya yang tentang java-oracle... untuk mengkoneksikannya kita membutuhkan konektor (library) ... uniknya oracle ini ketika kita mengintal oracle maka otomatis untuk konektornya juga akan otomatis terinstal... apakah itu konektor untuk .net atau konektor untuk java... ya... seperti yang ente baca postingan ane sebelumnya tentang oracle - java, kita gak perlu download, tapi langsung kita include kan saja... hehehee...:D
Oia, nanti untuk pengkoneksiannya akan ane samakan seperti postingan sebelumnya, jadi disitu ane kasi contoh sebuah class yang digunakan untuk mengakses database oracle di C# ... dan seperti karakteristik class pada postingan sebelumnya, disitu akan hanya ada 2 methode yang digunakan untuk pengambilan data (select) dan memanipulasi data (insert, update, delete)... untuk pembuatan koneksinya ane buat di construktor, jadi ketika class ini di jadikan instance object maka otomatis pengkoneksian ke database oracle akan terbentuk juga... tapi akan berbeda jika ente lihat pada contoh aplikasi CRUD C# - oracle nya nanti... karena ane pake konsep singleton pattern untuk class ini... gak tau singleton ?? itu salah satu design pattern.. kalo pengen belajar, baca disini :D
Oke langsung saja ente tambahkan library connectornya, dengan cara Click kanan project ente, Click Add References kemudian akan mucul window baru, buka tab .Net dan tambahkan Oracle.DataAccess

Contoh aplikasi crud c# oracle add library
Add Library oracle in C#

Contoh aplikasi crud c# oracle
Add Library Oracle in C Sharp

kemudian setelah menambahkan library kita panggil class library nya di dalam class kita menggunakan kode berikut : 

using Oracle.DataAccess.Client;
setelah memanggil class library nya sekarang kita buat koneksinya dengan kode berikut
try
{
string conn_string = "User ID = Rizal; Password = admin; Data Source = XE";
Console.WriteLine("Tes koneksi....");
OracleConnection con = new OracleConnection(conn_string);
Console.WriteLine("koneksi sukses....");
}
catch (OracleException e)
{
Console.Write(e.Message.ToString());
}
catch (Exception e)
{
Console.Write(e.Message.ToString());
}
Koneksi C# - oracle
Koneksi C# Oracle

Kalo cuma ngonekin aja pake kode diatas itu saja udah cukup... trus gimana dengan select, insert, update, delete nya ?? hemmmbb... seperti yang ane bilang tadi ane akan kasi contoh classnya doank pada postingan ini... untuk selengkapnya ente bisa lihat di contoh CRUD C# - Oracle nya kalo udah ente download nanti :D...
so... Begini Class nya ...
using System;
using System.Data;
using Oracle.DataAccess.Client;

namespace Ora_Connection
{
public class Connection
{
public Connection()
{
conn_string = "User ID = Rizal; Password = admin; Data Source = XE;";
conn = new OracleConnection(conn_string);
}

private string conn_string,stat;
private OracleConnection conn;
private OracleCommand cmd;
private OracleDataAdapter adapter;
private DataSet ds;
private int response;

public DataSet GetData(string query){
ds = new DataSet();
conn.Open();
cmd = new OracleCommand(query,conn);
adapter = new OracleDataAdapter(cmd);
cmd.ExecuteNonQuery();
adapter.Fill(ds);
conn.Close();
return ds;
}

public int ManipulasiData(string query){
ds = new DataSet();
conn.Open();
cmd = new OracleCommand(query,conn);
adapter = new OracleDataAdapter(cmd);
response = cmd.ExecuteNonQuery();
conn.Close();
return response;
}
}
}
Ingat, Function GetData digunakan untuk mengambil data (select) dan mengembalikan dataset sedangkan function ManipulasiData digunakan untuk memanipulasi data /DDL (insert, update, delete) dan mengembalikan nilai int, jika yang dikembalikan itu nilainya 0 berarti operasi DDL nya gagal.. entah karena query nya yang salah atau yang lain dan jika yang dikembalikan itu nilainya 1 atau lebih dari satu maka akan operasi DDL nya berhasil :D jadi kita hanya perlu mengirim query saja melalui parameter ke function - function ini... simple kan ya ?? hehehee... :D simple bagi yang paham OOP, kalo gak paham OOP ya modar ws... wkwkwkwkwkwk .... 
Oke dah sampai disini dulu aja postingan contoh aplikasi CRUD C# - Oracle dan cara pengkoneksiannya ini, untuk file downloadnya nanti linknya ada dibawah, semoga bermanfaat untuk kita semua, keep cooding :)

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

Perhatian : window downloadnya akan keluar setelah di share jadi, kalau udah dishare windows nya jangan ditutup, windows nya akan menuju halaman github. cari link nya disitu.... ada button text nya "Download ZIP".


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 :) 

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)

Kamis, 02 Mei 2013

Contoh Aplikasi C# : Aplikasi Kartu Nama

download aplikasi c# gratis
Yupz... Jarak satu hari setelah postingan yang aplikasi kasir dengan Java kemaren, kali ini ane kasi lagi aplikasi pembuat kartu nama dengan C#, insya Alloh ane akan terus update dengan contoh2 aplikasi lainnya dengan Java, C# dan PHP yang bisa ente download free :D , dan bisa ente kembangin lagi, mungkin ada yang dipakai tugas kuliah atau yang lainnya... hehee... aplikasi ini udah agak lama nangkring di laptop ane, sekitar 4 bulanan... aplikasi ini adalah project mata kuliah client - server temen ane disemester kemaren... tapi ane yang buat :p ... ya maklumlah temen ane itu udah punya kerjaan dan mungkin tidak sempat untuk membuat atau mendalami dunia IT padahal sekolahnya di STIKOM :D ... memang tidak semua mahasiswa di kampus ane sesuai dengan minat akademik kampus... mungkin mereka salah jurusan, tapi udah terlanjur masuk di STIKOM, bayar mahal2 tapi gak minat.. kasian mereka... tapi menurut ane tidak ada jalan lain selain berjuang untuk menyelesaikan kuliah nya, jadi mau tidak mau ya mereka harus bisa dan menjalani sampek lulus, kalo gak mau.. ya malah gak lulus2... wkwkwkwkwk
Aplikasi ini sebenar nya berbasis Client - Server walaupun hanya satu aplikasi, dimana ada beberapa user yang bisa login ke dalam aplikasi ini tetapi mendapatkan penyajian menu yang berbeda2... misal login untuk customer, maka cuma ada 1 menu yaitu menu untuk foto :p , kalo yang login itu kasir ya beda lagi menu2 yang tampil, kalo menu manager maka semua menu akan ditampilkan, ini ane sesuaikan dengan permintaan dosen Client - server waktu itu, jadi cukup buat satu aplikasi tetapi penyajian menu nya berbeda... ane juga gak tau kenapa harus begitu, padahal ditahun sebelumnya.. waktu kakak angkatan ane ngambil mata kuliah ini, untuk aplikasi nya dibagi menjadi beberapa bagian, sesuai dengan nama nya (Client-Server), jadi aplikasi Client sendiri dan aplikasi server sendiri... sama persis seperti contoh program kasir yang ane kasi pada postingan sebelumnya... ya kalo ane si nurut aje sama perintah dosen, kalo gak nurut disalahin :p ...

Aplikasi ini mengijinka Customer untuk foto sendiri dari web came kemudian data akan disimpan, baru kemudian akan dieksekusi oleh designer... sayang nya Aplikasi ini belum ane lengkapin dengan pemilihan model kartu nama, jadi model/motif nya hanya satu, harusnya pada menu designer ada menu untuk memilih motif kartu nama... sebenarnya bisa2 saja asalkan ada donasi :D wkwkwkwkwkwk ... selain itu juga foto webcame nya gak bisa di crop, harusnya bisa di crop... bisa2 saja asalkan juga ada donasi :p wkwkwkwkwk... kalo minta aplikasi yang lengkap kayak gitu ya tolonglah gan kasi donasi... jangan gratisan melulu... :( kan ane juga butuh makan ....

Aplikasi ini dilengkapi dengan catatan transaksi nya... dan langsung juga ada laporannya dengan Crystal report nya walaupun belum ane bahas diblog ini bagaimana cara memakai Crystal report di C#... oia hasil foto Customer langsung bisa diprint Loo :D itu kelebihannya ... ya nanti bisa ente cek sendiri lah... untuk library webcame nya ane pake Aforge karena itu yang paling bagus menurut ane... hehehee... kalo pengen tau Screen Shoot nya, seperti dibawah ini gan Aplikasi Kartu Namanya dengan C# :

contoh aplikasi kartu nama dengan c#

aplikasi pembuat kartu nama c# download free gratis

Aplikasi kartu pembuat kartu nama gratis dengan C#

Maaf gan gambar webcame nya rada gelap soalnya ane foto nya malem2 tuh :D ... dan disitu ane kasi juga screen shoot cetak kartu namanya dan juga laporannya... itu ane pake Crystal report... besok2 ane update dah cara penggunaan Crystal report nya di C# Insya Alloh... mangkanya tongkrongin blog ane ni :D ... hehehee... Oke dah kalo mau download aplikasi kartu namanya moggo gan, gratisss ... sekian dulu untuk postingan kali ini semoga bermanfaat :)

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

Selasa, 23 April 2013

Koneksi C# dengan Ms Access - Contoh CRUD Database

koneksi c# dan database access contoh
Alhmadulillah pagi ini ditemani dengan secangkir kopi membuat tambah semangat ngupdate blog ini :D .. kali ini tentang C# lagi.. udah lama gak ngasi contoh Aplikasi C# diblog ini, apa lagi yang Java... sepertinya malah gak pernah... wkwkwkwk... ya besok2 lah... soalnya update nya sesuai selera gan.. insya Alloh besok yang java ane kasi dah contoh2 Aplikasinya yang bisa ente download gratisss... postingan kali ini akan membahas C# dan Ms. Access ... jadi koneksi database antara C# dan Ms. Access... kenapa ane nulis tentang C# dan Access ?? hemmb... banyak alasan sebenernya... diantara nya adalah mungkin dari pengunjung dapet project yang tidak terlalu besar seperti ane kmaren, disuruh buat Aplikasi SMS Gateway (SENDER) di sekolah adek ane... adek ane masi SD gan :D ..
Dan jumlah siswa nya hanya sekitar 450an ... jadi ane pikir kalo pake Mysql rasanya masih tidak perlu, soalnya kebutuhan systemnya hanya menyimpan nama, kelas, nomer hp.... ya sekitaran itu lah...tidak terlalu besar dan menurut ane sangat kecil dan masih bisa diatasi dengan Database Ms. Access... SMS SENDER nya itu digunakan sebagai tempat pegumuman dari sekolah, seperti mungkin pulang nya lebih awal lah.. mungkin ada hari libur dadakan :D .... ya pokok nya dibuat pengumuman2 gitu... jadi nanti semua nomer siswa yang tersimpan di situ bisa dapet pengumuman dari sekolah.... besok2 ane bahas lah Aplikasi SMS Sender ini :) ...
Oia, untuk melakukan koneksi ke Database Ms. Access ada beberapa jalan kalo di C#, ente bisa pakai ODBC, bisa pake OLEDB dan mungkin yang lainnya kalo ada :D .. kalo ane tau nya cuma 2 itu aja.. hehee... dipostingan ini ane mau bahas yang pake OLEDB saja... karena lebih mudah ketimbang pake ODBC .. biasanya kalo pake ODBC ente harus setting inilah itulah di control panel (administration tool).. dan itu menurut ane sangat merepotkan, mangkanya pake yang OLEDB saja :)
Sebenarnya untuk mengkoneksikan C# dan Ms. Access Database tidak sulit.. hanya saja kita harus tau dimana kita meletakkan Database Ms. Access nya (file Access), kalo ane biasanya ane barengin sama file .exe hasil compilasi program yang ane buat, biasanya di folder project kan ada folder bin >> debug , di folder debug ini file .exe program kita ada, ya ane tarok disitu saja database Ms, Access nya jadi gak repot setting directory database nya nanti di kode program nya.. :D ...
Berikut adalah Class koneksi yang ane pake untuk koneksi ke Ms. Access
public class Connection
{
public Connection()
{
try
{
alamat = "Provider=Microsoft.ace.Oledb.12.0; Data Source=database.accdb";
koneksi = new OleDbConnection(alamat);
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
}

private string alamat;
private OleDbConnection koneksi;
private OleDbCommand perintah;
private OleDbDataAdapter adapter;
private DataSet ds;
private static Connection connection = null;

public static Connection GetInstance(){
if(Connection.connection == null){
Connection.connection = new Connection();
}
return Connection.connection;
}

private DataSet GetData(string query)
{
try
{
ds = new DataSet();
koneksi.Open();
perintah = new OleDbCommand(query, koneksi);
adapter = new OleDbDataAdapter(perintah);
perintah.ExecuteNonQuery();
adapter.Fill(ds);
koneksi.Close();
return ds;
}
catch (Exception)
{
return null;
}
}

private int ManipulasiData(string query)
{
try
{
int res = 0;
koneksi.Open();
perintah = new OleDbCommand(query, koneksi);
adapter = new OleDbDataAdapter(perintah);
res = perintah.ExecuteNonQuery();
koneksi.Close();
return res;
}
catch (Exception)
{
return 0;
}
}

public DataSet GetContact(){
return GetData("select * from phonebook");
}

public DataSet GetContact(string contact_name){
return GetData("select * from phonebook where contact_name = '"+contact_name+"';");
}

public int TambahContact(string name,string number,string address){
return ManipulasiData("insert into phonebook values ('"+name+"','"+number+"','"+address+"');");
}

public int UbahContact(string name,string number,string address){
return ManipulasiData("update phonebook set contact_number = '"+number+"', address = '"+address+"' where contact_name = '"+name+"';");
}

public int DeleteContact(string name){
return ManipulasiData("delete from phonebook where contact_name = '"+name+"';");
}
}

Kalo ente perhatikan di Constructor Class ini, pada code "Data Source = database.accdb" kode ini digunakan untuk setting directory file Database Ms. Access ente.. seperti yang ane bilang tadi.. kalo ente narok file nya di forder debug ente gak usah setting directory nya, langsung saja nama file nya :D .. jadi gak repot2 .. kalo di tarok di directory "D" (misalnya) maka penulisannya ya "D:\\database.accdb" gitu... paham ya ?? disitu juga udah ane sediain bagaimana kita menggunakan SQl nya Ms Access.. ya gak beda2 jauh sama SQl nya Mysql.. nama nya saja SQL... ya mesti kayak gitu2 aja... hehehee...
Oia untuk contoh program CRUD C# dan Ms Access bisa ente download yang link nya nanti ane kasi dibawah :D ... kalo mau download ane minta tolong yak gan ? ane minta share nya... ya... sedekah lah buat ane.. masak ngeshare aja gak mau ... pelit amat... hehee... untuk postingan ini cukup sampai disini dulu, besok2 kita bahas lagi C# nya, insya Alloh akan ane bahas SMS Gateway (Sender) dengan C#...  ditunggu aja ya ?? :D .. sekian, semoga bermanfaat....

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

Kamis, 11 April 2013

Pattern Mediator di Java, C# dan PHP

Setelah update tentang pattern observer, langsung ane terusin update juga design pattern yang ane bahas terakhir yaitu tentang pattern mediator dan implementasinya di Java, C# dan PHP (mengejar target gan) :D ... pattern mediator ini sama seperti observer yang berkategori design pattern behaviour.  Fungsi dari pattern ini adalah memungkinkan interaksi antara object sehingga ketika object berinteraksi dengan object lainnya sama2 dapat memberi informasi baru ke dalam object tersebut ... contoh kasus nya seperti aplikasi chating, jika ada 2 client lagi chatingan maka ke dua nya sangat mungkin untuk bertukar informasi saat chating ??
ya kan ?? :D kalo gak bisa bertukar informasi ya berarti bukan chating...  wkwkwkwkwkwk... dan 2 client tadi kita ibaratkan seperti object yang saling berinteraksi... biar lebih paham akan ane coba implementasinya di Java, C# dan PHP...

Java
package Mediator;

public class MainClass {
public static void main(String[] args) {
MediatorConcrete mediator = new MediatorConcrete();

Friend1 friend1 = new Friend1(mediator);
Friend2 friend2 = new Friend2(mediator);

mediator.SetFriend1(friend1);
mediator.SetFriend2(friend2);

friend1.Send("I love U");
friend2.Send("I Love U too");
}
}

abstract class Mediator{
public abstract void Send(Friend friend,String message);
}

class MediatorConcrete extends Mediator{
private Friend1 friend1;
private Friend2 friend2;

public void SetFriend1(Friend1 friend1){
this.friend1 = friend1;
}

public void SetFriend2(Friend2 friend2){
this.friend2 = friend2;
}

@Override
public void Send(Friend friend, String message) {
if(friend == friend1){
friend2.Notify(message);
}else{
friend1.Notify(message);
}
}
}

abstract class Friend{
public Friend(Mediator mediator) {
this.mediator = mediator;
}
protected Mediator mediator;
}

class Friend1 extends Friend{
public Friend1(Mediator mediator) {
super(mediator);
}

public void Send(String message){
mediator.Send(this, message);
}

public void Notify(String message){
System.out.println("Friend 1 menerima pesan "+message);
}
}

class Friend2 extends Friend{
public Friend2(Mediator mediator) {
super(mediator);
}

public void Send(String messages){
mediator.Send(this, messages);
}

public void Notify(String message){
System.out.println("Friend 2 menerima pesan "+message);
}
}


C#
using System;

namespace Mediator
{
class Program
{
public static void Main(string[] args)
{
MediatorConcrete mediator = new MediatorConcrete();

Friend1 friend1 = new Friend1(mediator);
Friend2 friend2 = new Friend2(mediator);

mediator.Friend1 = friend1;
mediator.Friend2 = friend2;

friend1.Send("I love U");
friend2.Send("I Love U too");

Console.ReadKey(true);
}
}

abstract class Mediator{
public abstract void Send(Friend friend,string message);
}

class MediatorConcrete : Mediator{
private Friend1 friend1;
private Friend2 friend2;

public Friend1 Friend1 {
get { return friend1; }
set { friend1 = value; }
}

public Friend2 Friend2 {
get { return friend2; }
set { friend2 = value; }
}

public override void Send(Friend friend, string message) {
if(friend == friend1){
friend2.Notify(message);
}else{
friend1.Notify(message);
}
}
}

abstract class Friend{
public Friend(Mediator mediator) {
this.mediator = mediator;
}
protected Mediator mediator;
}

class Friend1 : Friend{
public Friend1(Mediator mediator):base(mediator) {
}

public void Send(string message){
mediator.Send(this, message);
}

public void Notify(string message){
Console.WriteLine("Friend 1 menerima pesan "+message);
}
}

class Friend2 : Friend{
public Friend2(Mediator mediator):base(mediator){
}

public void Send(string messages){
mediator.Send(this, messages);
}

public void Notify(string message){
Console.WriteLine("Friend 2 menerima pesan "+message);
}
}
}


PHP
<?php
abstract class Mediator{
public abstract function Send($friend,$message);
}

class MediatorConcrete extends Mediator{
private $friend1;
private $friend2;

function SetFriend1($friend1){
$this->friend1 = $friend1;
}

function SetFriend2($friend2){
$this->friend2 = $friend2;
}

function Send($friend,$message) {
if($friend == $this->friend1){
$this->friend2->Notify($message);
}else{
$this->friend1->Notify($message);
}
}
}

abstract class Friend{
function __construct($mediator) {
$this->mediator = $mediator;
}
protected $mediator;
}

class Friend1 extends Friend{
function __construct($mediator) {
parent::__construct($mediator);
}

function Send($message){
$this->mediator->Send($this, $message);
}

function Notify($message){
echo("Friend 1 menerima pesan ".$message."< br />");
}
}

class Friend2 extends Friend{
function __construct($mediator) {
parent::__construct($mediator);
}

function Send($messages){
$this->mediator->Send($this,$messages);
}

function Notify($message){
echo("Friend 2 menerima pesan ".$message."< br />");
}
}

$mediator = new MediatorConcrete();

$friend1 = new Friend1($mediator);
$friend2 = new Friend2($mediator);

$mediator->SetFriend1($friend1);
$mediator->SetFriend2($friend2);

$friend1->Send("I love U");
$friend2->Send("I Love U too");
?>

Biar lebih paham lagi, coba ente analisa lagi program diatas, dan tentunya seperti itulah interaksi antar object yang memungkinkan untuk saling memberikan informasi dengan menggunakan mediator tentunya :D hehee.. sekian dulu ya ? dengan berakhirnya postingan ini, berakhir juga pembahasan ane tentang design pattern dan penerapannya di Java, C# dan PHP... semoga bermanfaat bagi ane, ente dan pengunjung blog ini :) ... happy cooding

Pattern Observer di Java, C# dan PHP

Setelah jumatan ada kuliah... waktu nya tidur siang si sebenarna.. tapi karena memang sudah kewajiban untuk mengikuti mata kuliah ke PGRI-an..  ya diikuti ajalah, skalian ane juga mau update lagi tentag design pattern yang rencana nya ane akhiri semua pembahasan design pattern hari ini.. semoga aja bisa... hehehee.. oke kali ini tentang pattern observer yang akan ane bahas dan penerapannya di Java,C# dan PHP .. pattern ini termasuk dalam kategori behaviour  yang menangani kelakuan sebuah program... dan juga termasuk sering dipakai, dan juga sering kita temui...
Contoh real nya yaitu seperti notifikasi di facebook... konsep kerja pattern ini adalah melaporkan secara otomatis ke server jika ada sebuah data/proses baru dan si server melaporkan ke semua client yang telah didaftarkan sebelumnya... sekarang ane akan mencoba untuk mengimplementasikannya di Java, C# dan PHP

Java
package ObServer;

import java.util.*;

public class MainClass {
public static void main(String[] args) {
SubjectConcrete subject = new SubjectConcrete();

subject.Add(new User(subject, "Rizal"));
subject.Add(new User(subject, "Afani"));

subject.SetSubjectStatus("Selamat Pagi");
subject.Notivy();
}
}

interface Subject{
public void Add(ObServer observer);
public void Remove(ObServer observer);
public void Notivy();
}

interface ObServer{
public void DoUpdate();
}

class SubjectConcrete implements Subject{
private List<ObServer> list_observer = new ArrayList<ObServer>();
private String SubjectStatus;
public void SetSubjectStatus(String status){
this.SubjectStatus = status;
}
public String GetSubjectStatus(){
return this.SubjectStatus;
}
@Override
public void Add(ObServer observer) {
list_observer.add(observer);
}

@Override
public void Remove(ObServer observer) {
list_observer.remove(observer);
}

@Override
public void Notivy() {
for(ObServer list : list_observer){
list.DoUpdate();
}
}
}

class User implements ObServer{
private String name;
private SubjectConcrete subject;
public User(SubjectConcrete subject,String name) {
this.subject = subject;
this.name = name;
}

public void SetName(String name){
this.name = name;
}

public String GetName(){
return this.name;
}

public void SetSubject(SubjectConcrete subject){
this.subject = subject;
}

public SubjectConcrete GetSubject(){
return this.subject;
}

@Override
public void DoUpdate() {
System.out.println(this.name+" membaca status Baru '"+this.subject.GetSubjectStatus()+"'");
}
}


C#
using System;
using System.Collections.Generic;

namespace Observer
{
class Program
{
public static void Main(string[] args)
{
SubjectConcrete subject = new SubjectConcrete();

subject.Add(new User(subject, "Rizal"));
subject.Add(new User(subject, "Afani"));

subject.SetSubjectStatus("Selamat Pagi");
subject.Notivy();

Console.ReadKey(true);
}
}

interface Subject{
void Add(ObServer observer);
void Remove(ObServer observer);
void Notivy();
}

interface ObServer{
void DoUpdate();
}

class SubjectConcrete : Subject{
private List<ObServer> list_observer = new List<ObServer>();
private string SubjectStatus;
public void SetSubjectStatus(string status){
this.SubjectStatus = status;
}
public string GetSubjectStatus(){
return this.SubjectStatus;
}

public void Add(ObServer observer) {
list_observer.Add(observer);
}


public void Remove(ObServer observer) {
list_observer.Remove(observer);
}


public void Notivy() {
foreach(ObServer list in list_observer){
list.DoUpdate();
}
}
}

class User : ObServer{
private string name;
private SubjectConcrete subject;
public User(SubjectConcrete subject,string name) {
this.subject = subject;
this.name = name;
}

public void SetName(string name){
this.name = name;
}

public string GetName(){
return this.name;
}

public void SetSubject(SubjectConcrete subject){
this.subject = subject;
}

public SubjectConcrete GetSubject(){
return this.subject;
}


public void DoUpdate() {
Console.WriteLine(this.name+" membaca status Baru '"+this.subject.GetSubjectStatus()+"'");
}
}
}


PHP
<?php
interface Subject{
function Add($index,$observer);
function Remove($index);
function Notivy();
}

interface ObServer{
function DoUpdate();
}

class SubjectConcrete implements Subject{
private $list_observer = Array();
private $SubjectStatus;
function SetSubjectStatus($status){
$this->SubjectStatus = $status;
}
function GetSubjectStatus(){
return $this->SubjectStatus;
}

function Add($index,$observer) {
$this->list_observer[$index] = $observer;
}

function Remove($index) {
unset($this->list_observer[$index]);
}

function Notivy() {
foreach($this->list_observer as $list){
$list->DoUpdate();
}
}
}

class User implements ObServer{
private $name;
private $subject;
function __construct($subject,$name) {
$this->subject = $subject;
$this->name = $name;
}

function SetName($name){
$this->name = $name;
}

function GetName(){
return $this->name;
}

function SetSubject($subject){
$this->subject = $subject;
}

function GetSubject(){
return $this->subject;
}

function DoUpdate() {
echo($this->name." membaca status Baru '".$this->subject->GetSubjectStatus()."'< br />");
}
}

$subject = new SubjectConcrete();

$subject->Add('Rizal',new User($subject, "Rizal"));
$subject->Add('Afani',new User($subject, "Afani"));

$subject->SetSubjectStatus("Selamat Pagi");
$subject->Notivy();
?>