Kamis, 06 September 2012

SQL : Query menggunakan SELECT CASE dan COALESCE di SQL Server

Perintah COALESCE di SQL Server hampir mirip dengan perintah SELECT CASE, hanya saja sintak penulisannya yang berbeda.
Contoh :
Anggaplah kita memiliki sebuah tabel (nama : ‘table_1‘) sebagai berikut :
id | Nama | Jabatan
————————————
1      | Sisca        | Programmer
2      | Andi        | NULL
3      | Budi         | Developer
4      | Arifin      | Developer
5      | Ana          | Administrasi
6      | Rizal        | NULL

————————————

Selanjutnya kita ingin menampilkan data tersebut diatas, dimana data yang jabatannya ‘NULL‘ akan kita tampilkan menjadi ‘Belum Ditetapkan‘. Kita bisa membuat query dengan menggunakan perintah SELECT CASE :
SELECT nama, CASE WHEN jabatan IS NULL
THEN ‘Belum Ditetapkan’
ELSE jabatan
END AS jabatan
FROM Table_1


Hasil yang sama akan kita dapatkan pada query dengan menggunakan perintah COALESCE, hanya sintaknya saja yang berbeda.
SELECT nama, COALESCE (Jabatan, Jabatan, ‘Belum Ditetapkan’) AS Jabatan FROM Table_1

Semoga bermanfaat
***

Selasa, 28 Agustus 2012

Membuat link dalam satu halaman


S
ebuah link biasanya di gunakan untuk mengarahkan alamat ke halaman lain atau ke postingan lain. Bagaimana jika kita ingin link tersebut mengarah pada satu halaman atau satu postingan,disini kita akan coba membahasnya.

Link dalam satu halaman ini biasanya disebut dengan anchor link. Kita bisa mengarahkan link tersebut ke atas,ke tengah atau ke bawah. Biasanya digunakan untuk postingan yang panjang dengan sub-sub halaman atau menggunakan beberapa bab.

Sesuai dengan namanya (Anchor link) untuk membuat link ini kita butuh yang namanya anchor name dan juga link name. Untuk lebih jelasnya mari kita sama-sama mencoba.

  • Pertama kita buat dulu anchor name:

    <A NAME="BAB 1"> BAB 1 </A>

Pada anchor name inilah nantinya link kita akan mengarah,tepatnya satu baris di bawah tempat kita meletakkannya. Sebagai contoh anchor name ini akan saya letakkan tepat dibawah judul postingan ini.
Sebagai catatan untuk tulisan BAB 1 yang berwarna merah boleh diganti dengan tulisan apa saja,sedang BAB 1 yang berwarna biru boleh dihilangkan.

  • Kedua yang harus kita buat adalah link name:

    <a href="#BAB 1"> kembali ke atas</a>

Link name ini kita gunakan untuk mengarahkan di mana anchor name tadi diletakkan,dan sebagai contoh link name ini akan saya letakkan di bawah postingan.

Catatan lagiii...: Untuk tulisan BAB 1 pada link name harus sama dengan anchor name.Untuk tulisan kembali ke atas boleh dirubah dengan kata apa saja,asal bukan kata-kata yang jorok sengihnampakgigi.
Misal: Kembali ke atas, ketengah atau bawah karena fungsinya untuk keterangan saja. Untuk melihat hasilnya silahkan klik Kembali ke atas.
kembali ke atas

sumber : http://activekita.blogspot.com/2009/09/membuat-link-dalam-satu-halaman-blog.html

Selasa, 17 Juli 2012

Pembuatan Auto Complete sebagai Pengganti Dropdown pada ASP .Net dengan C# menggunakan JQuery dengan plugin jquery.autocomplete

“Implementasi Pembuatan Auto Complete sebagai Pengganti Dropdown pada ASP .Net dengan C# menggunakan JQuery dengan plugin  jquery.autocomplete dengan Pengambilan Data dari Oracle menggunakan prinsip Ajax”
Tapi sebenarnya menggunakan prinsip yang sederhana. Cuma, melibatkan begitu banyak komponen untuk hal yang se-sederhana, sehingga kelihatannya saja begitu rumit :
1. ASP .Net sebagai framework dari web yang akan kita buat.
2. C# / C Sharp, sebuah bahasa pemrograman yang merupakan pengembangan dari C, sebagai Code Bedind. Sebaiknya untuk C# dan ASP .Net kita menggunakan editor Visual Studio .Net. Selain itu ada versi Visual Studio Express yang sifatnya gratis. Untuk dasar bisa dilihat di http://ilmukomputer.org/2009/03/11/aspnet/.
3. Oracle, sebagai database yang dikhususkan untuk kelas enterprise. Ada juga Oracle XE yang bisa kita pakai secara gratis.
4. IIS, sebagai web server. Ada di windows xp profesional, kita cuma perlu mengaktifkan. Lakukan setting sehingga siap untuk melakukan koneksi antara .Net yang kita buat dengan database di Oracle.
5. JQuery, sebuah framework untuk java script. Dengan menggunakan ini, kita bisa menambah fungsionalitas pada web dengan kode yang lebih sederhana. JQuery akan ditempatkan di ASP .Net agar bisa berjalan dari sisi client.
6. jquery.autocomplete adalah plugin untuk JQuery khusus untuk menampilkan suggestion/ pilihan kepada user apabila mengetikan sebuah input pada text box. Pada contoh ini kita akan menampilkan pilihan yang berasal dari database. Sehingga web akan berjalan cepat apalagi jika data pilihan ada cukup banyak, dengan menggunakan prinsip ajax. Yaitu cuma mengirim data yang saat itu dibutuhkan oleh client, tanpa mengambil ulang halaman web secara keseluruhan.
Table-OracleData di Oracle
Langkah Pembuatannya:
1. Siapkan Server, sehingga bisa melakukan koneksi dengan database. Scheme yang akan kita gunakan adalah SCOTT, yang seharusnya sudah ada di oracle sebagai sample. Sedangkan tabelnya adalah EMP.
2. Siapkan library yang dibutuhkan, yaitu jquery dan jquery.autocomplete, tempatkan misalkan di folder /scripts
3. Buat halaman asp .net, yaitu page.aspx. Buat komponen yang dibutuhkan, misalkan Text Box. Tempatkan CSS untuk tampilan jquery nantinya disini.
4. Buat code behind-nya, yaitu page.aspx.cs. Berikan perintah sesuai dengan event  yang dilakukan di halaman aspx. Tambahkan juga pemanggilan JQuery dan binding/ penggabungan dengan komponen text box-nya.
5. Buat halaman yang akan dipanggil saat client meminta data dari database. Dalam hal ini jq.aspx dan jq.aspx.cs misalkan di folder scripts.
6. Lakukan percobaan dengan mengetikan satu huruf pada text box. Seharusnya akan ada gambar animasi yang menunjukkan bahwa data sedang diambil, kemudian di bawahnya akan keluar pilihan sesuai dengan huruf tadi untuk dipilih ditempatkan di text box.
Tampilan:
Tampilan Webtampilan-web-aspxTampilan saat penekanan hurufpenekanan-huruf
Pada contoh ini ada tiga buah jenis parameter dengan implementasinya:
1. Pemilihan nomor.
Create_Completer(this, "edt_number", "param=0");
2. Pemilihan nama, yang akan mengembalikan nama yang dipilih.
Create_Completer(this, "edt_name", "param=1");
3. Pemilihan nama, yang kemudian akan mengembalikan nama yang dipilih, kemudian empno dan job ke textbox yang lain.
Create_Completer(this, "edt_name2", new string[] { "edt_id", "edt_job" }, "param=2");
Contoh 1: Pemilihan nomorExample-1
Contoh 2: Pemilihan NamaExample-2
Contoh 3: Pemilihan Nama Example-3
Contoh 3: Hasil PemilihanExample-3-Result
Source Code:
1. page.aspx
   1:  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="page.aspx.cs" Inherits="_Default" %>
   2:   
   3:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   4:   
   5:  <html xmlns="http://www.w3.org/1999/xhtml">
   6:  <head runat="server">
   7:      <title>Auto Suggest</title>
   8:      <style type="text/css">
   9:          .ac_odd {background:#dddddd;}
  10:          .ac_results { padding: 0px; border: 1px solid black; background-color: white; overflow: hidden; z-index: 99999; }
  11:          .ac_results ul { width: 100%; list-style-position: outside; list-style: none; padding: 0; margin: 0; }
  12:          .ac_results li { margin: 0px; padding: 2px 5px; cursor: default; display: block; font: menu; font-size:12px; line-height: 16px; overflow: hidden; }
  13:          .ac_loading { background:url(loader.gif) right no-repeat; }
  14:          .ac_over { background-color: #0A246A; color: white; }
  15:      </style>
  16:  </head>
  17:  <body>
  18:   
  19:  <form id="form1" runat="server">
  20:  <table  width="100%" >
  21:       <tr><td>Pick Number : </td><td width="80%"><asp:TextBox Visible="true" ID="edt_number" runat="server" Font-Size="8pt" Width="50%" MaxLength="150" /></td></tr>
  22:       <tr><td>Pick Name   : </td><td><asp:TextBox Visible="true" ID="edt_name" runat="server" Font-Size="8pt" Width="50%" MaxLength="150" /></td></tr>
  23:       <tr><td>&nbsp;</td></tr>
  24:       <tr><td>Pick Name2   : </td><td><asp:TextBox Visible="true" ID="edt_name2" runat="server" Font-Size="8pt" Width="50%" MaxLength="150" /> </td></tr>
  25:       <tr><td>ID   = </td><td><asp:TextBox Visible="true" ID="edt_id" runat="server" Font-Size="8pt" Width="20%" MaxLength="20" /> </td></tr>
  26:       <tr><td>Job   = </td><td><asp:TextBox Visible="true" ID="edt_job" runat="server" Font-Size="8pt" Width="20%" MaxLength="20" /> </td></tr>
  27:       </table>
  28:  </form>     
  29:  </body>
  30:  </html>








2. page.aspx.cs








   1:  using System;
   2:  using System.Web.UI;
   3:  using System.Collections;
   4:  public partial class _Default : System.Web.UI.Page
   5:  {
   6:      protected void Page_Load(object sender, EventArgs e)
   7:      {
   8:   
   9:          if (!IsPostBack)
  10:          {
  11:              string include_jq = "<script type='text/javascript' language='javascript' src='scripts/jquery.js'></script>"
  12:              + "<script type='text/javascript' language='javascript' src='scripts/jquery.autocomplete.js'></script>";
  13:              Page.ClientScript.RegisterStartupScript(this.GetType(), "onload", include_jq);
  14:              Create_Completer(this, "edt_number", "param=0");
  15:              Create_Completer(this, "edt_name", "param=1");
  16:              Create_Completer(this, "edt_name2", new string[] { "edt_id", "edt_job" }, "param=2");
  17:          }
  18:      }
  19:      public Boolean Create_Completer(Control pages, string input, string param)
  20:      {
  21:          return Create_Completer(pages, input, new string[] { }, param);
  22:      }
  23:      public Boolean Create_Completer(Control pages, string input, string[] result, string param)
  24:      {
  25:          string cid = "", chje = "", ctarif = "";
  26:          string jq_data = "scripts/jq.aspx?"+param;
  27:          string comp_result = "";
  28:   
  29:          try
  30:          {
  31:              cid = pages.FindControl(input).ClientID;
  32:          }
  33:          catch (Exception ex) { }
  34:          int i = 1;
  35:   
  36:          foreach (string cresult in result)
  37:          {
  38:              string comp = "";
  39:              try
  40:              {
  41:                  comp = pages.FindControl(cresult).ClientID;
  42:              }
  43:              catch (Exception ex) { }
  44:              comp_result += "        $(\"#" + comp + "\").val(data[" + i + "]); ";
  45:              i++;
  46:          }
  47:          string jq_script = "<script type='text/javascript'>"
  48:          + "$().ready(function() { "
  49:          + "$(\"#" + cid + "\").autocomplete(\"" + jq_data + "\", "
  50:          + "{ mustMatch:1, matchContains:1,maxItemsToShow:15 }); ";
  51:          if (result.Length > 1)
  52:          {
  53:              jq_script += "$(\"#" + cid + "\").result(function(event, data, formatted) { "
  54:              + "    if (data) "
  55:              + comp_result
  56:              + "}); ";
  57:          }
  58:          jq_script += "});"
  59:          + "</script>";
  60:          pages.Page.ClientScript.RegisterStartupScript(pages.GetType(), "onload" + input, jq_script);
  61:          return true;
  62:      }
  63:  }








3. jq.aspx








   1:  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="jq.aspx.cs" Inherits="auto_suggest_jq" %>








4. jq.aspx.cs








   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.Data.OracleClient;
   4:  public partial class auto_suggest_jq : System.Web.UI.Page
   5:  {
   6:      OraConn OC = new OraConn();
   7:      protected void Page_Load(object sender, EventArgs e)
   8:      {
   9:          string q = Request.QueryString["q"] ?? string.Empty;
  10:          string param = Request.QueryString["param"] ?? string.Empty;
  11:   
  12:          string respons = "", qry = "";
  13:   
  14:          switch (param)
  15:          {
  16:              case "0":
  17:                  qry = "select rownum from scott.emp  ";
  18:                  break;
  19:              case "1":
  20:                  qry = "select ename from scott.emp where lower(ename) like '%" + q + "%' AND rownum <= 15";
  21:                  break;
  22:              case "2":
  23:                  qry = "select ename, empno, job from scott.emp where lower(ename) like '%" + q + "%' AND rownum <= 15";
  24:                  break;
  25:              default:
  26:                  qry = "select 'Not Available' from scott.emp where rownum <= 1 ";
  27:                  break;
  28:          }
  29:          respons = Get_Query(qry);
  30:          Response.Write(respons);
  31:      }
  32:   
  33:      public string Get_Query(string q_maintain)
  34:      {
  35:          OracleConnection conn = OC.OracleConn();
  36:          OracleCommand cmd = conn.CreateCommand();
  37:          cmd.CommandText = q_maintain;
  38:          OracleDataReader rdr = cmd.ExecuteReader();
  39:          string result = "";
  40:          while (rdr.Read())
  41:          {
  42:              for (int i = 0; i < rdr.FieldCount; i++)
  43:              {
  44:                  if (i == 0) result += rdr[i].ToString();
  45:                  else result += ("|" + rdr[i].ToString());
  46:              }
  47:              result += Environment.NewLine;
  48:          }
  49:          return result;
  50:      }
  51:  }

sumber : http://om4gus.blogspot.com/2009/06/autocomplete-di-asp-net-dengan-jquery.html

Minggu, 15 Juli 2012

Mengubah Authentication Mode SQL Server 2005 Express dari Windows Authentication ke Mixed Mode

Mengubah Authentication Mode SQL Server 2005 Express dari Windows Authentication ke Mixed Mode

Jika sewaktu Anda menginstall Visual Studio 2005 secara default, maka SQL Server 2005 akan ikut terinstall juga. Authentication yang digunakan untuk login / connect ke database SQL Server adalah Windows Authentication (hanya username yang terdaftar ke komputer tersebut yang dapat melakukan koneksi ke database), sebaiknya Anda menggunakan Mixed Mode sehingga dapat melakukan authentication berdasarkan Windows Authentication ataupun SQL Server Authentication, berikut cara merubah metode otentikasi untuk melakukan koneksi ke SQL Server 2005 Express. Namun sebelumnya Anda sudah harus meng-install SQL Management Studio Express (SMSE), cara instalasi dan download file disini (dalam proses).

1.      Setelah Anda selesai melakukan instalasi SMSE, buka aplikasi SMSE. Berikut tampilan awalnya
Cara membuka aplikasi SMSE:
·         klik Start > All Programs > Microsoft SQL Server 2005 > klik SQL Server Management Studio Express, berikut tampilan awalnya.

2.      Untuk melakukan login pertama kali silahkan menggunakan Windows Authentication
Server type:                Database Engine
Server name:              .\SQLExpress (titik (.) merupakan lokasi server dalam hal ini "titik" menandakan "local" atau komputer itu sendiri, sedangkan SQLExpress merupakan nama instance) Biarkan secara default jika Anda pertama kali install yang terpenting instancenya "SQLExpress"
Authentication:         Windows Authentication
3.      Klik kanan pada instance SQLExpress kemudian klik properties.
4.      Pada pilihan Select a page, klik Security, kemudian pada sisi kanan Server authentication > silahkan pilih SQL Server and Windows Authentication mode kemudian klik tombol OK
Akan muncul pesan informasi, klik tombol OK.
5.      Sekarang kita harus melakukan pengaturan untuk memberikan izin login default user "sa". Klik tanda + (tambah) pada node Security > Login > sa > klik kanan kemudian klik Properties.
6.      Pada Select a page pilih Status, kemudian pada Login: pilih Enabled
Kemudian lakukan perubahan password login untuk user "sa" agar nantinya bisa menggunakan login SQL Server Authentication. Pilih General, kemudian masukan password yang Anda inginkan untuk login.
7.      Tutup SMSE, kemudian buka kembali. Sekarang ganti Authentication menjadi SQL Server Authentication, masukan Login: sa dan Password: sesuai dengan yang Anda buat sebelumnya, klik tombol Connect.
8.      Sekarang Anda sudah berhasil login menggunakan SQL Server Authentication

Kamis, 28 Juni 2012

Validasi Form pada ASP.Net dengan Validation Contron - Bagian 1


Tulisan ini sengaja saya pecah biar tidak terlalu panjang
Pada saat kita membuat suatu form inputan di ASP.NET, sebelum mengirimkan/post  value dari form tersebut ke server, terkadang kita perlu untuk melakukan validasi terlebih dahulu dari value yang ada. Misal apakah suatu field yang tidak boleh kosong, valuenya null atau tidak. Atau apakah nilai yang dimasukan sesuai dengan range yang kita tentukan. Apakah email address sudah benar formatnya, dll.
Jika kita mendevelop halaman ASP.NET kita dengan Visual studio, maka tugas kita untuk memvalidasi halaman akan menjadi sangat mudah. Caranya adalah dengan memanfaatkan Validation Control. Biarkan Validation Control yang melakukan validasinya, kita cukup memasukkan parameter yang harus dicontrol.
Validasi yang dilakukan oleh validation control dilakukan di client side, akan tetapi hasilnya tetap dikirim ke server dengan tujuan untuk memastikan hasilnya benar-benar akurat, tentunya dengan alasan security juga. Untuk hal ini supaya aman kita juga bisa memberikan perintah supaya browser menjalankan validation control di sisi server.
Ada 6 jenis Validation control yang bisa kita perbudak manfaatkan, antara lain:
1. RequiredFieldValidation Control
Control ini adalah control validasi yang paling sering dipakai. Control ini digunakan untuk memvalidasi bahwa suatu field yang tidak boleh dikosongkan nilainya tidak kosong.
2. CompareValidator Control
Digunakan untuk membandingkan nilai dari field dengan nilai yang kita tentukan dalam program atau field lainya.
3.RangeValidator Control
Digunakan untuk mengecek apakah nilai dari field yang divalidasi berada dalam range yang telah kita tentukan.
4. RegularExpressionValidator Control
Digunakan untuk mengecek format dari suatu field. Bisa digunakan untuk cek format kode pos, telepone, email, dsb.
5. CustomValidator Control
Digunakan untuk fungsi yang dapat dicustomize atau fungsi validasi yang dibuat sendiri.
6. ValidationSummary Control
Digunakan untuk menampilkan pesan error dari semua validasi yang ada di satu halaman web.
Mengenai bagaimana cara menggunakan validation Control ini, properti dan method apa saja yang perlu diperhatikan, tunggu saja bagian ke II…

sumber : http://bagbigbug.com/techno/validasi-form-aspnet-dengan-validation-control-part-i

Sabtu, 19 Mei 2012

Auto BackUp MySQL Database

Suatu hal yang penting untuk melakukan backup database hosting anda.
Tujuannya adalah untuk berjaga-jaga kalau terjadi masalah dengan website anda, seperti:
  • Diserang oleh hacker
  • Hosting anda suspend
  • Dan error karena kesalahan anda sendiri
Diantara ketiga alasan tersebut, alasan terakhir yang paling sering terjadi, apalagi bagi anda yang sering mengutak-atik web anda, seperti instal addon/plugin/applikasi tambahan lainnya.
Tentunya anda harus melakukan backup secara rutin terhadap database anda, kalau tidak backup yang anda punya sudah tidak update lagi. Sebagai contoh, jika anda melakukan backup setiap 1bulan sekali, maka jika terjadi bencana pada database anda, data pada tanggal backup terakhir sampai tanggal terjadi bencana akan hilang. Dalam kasus anda melakukan backup setiap 1bulan, maka kemungkinan data selama 30 hari bisa hilang.

Kamis, 17 Mei 2012

Membuat Link Window PopUP Tampil Di Tengah Layar

Ketika anda membuat postingan adakalanya anda perlu menyisip kan sebuah link pada postingan anda.Dan saya yakin setiap blogger pastinya sudah tau bagai mana cara membuat link tersebut,karena membuat link merupakan bagian dari keharusan yang anda kuasai dalam dunia per blogan (Dunia Tukang blog).Tapi bagai manakah jika anda ingin menampilkan Window Popup ketika anda klik link tersebut tampil di tengah layar monitor? Jika anda ingin membuat nya ikuti langkah langkah di bawah ini :




1. Silahkan login ke blogger dengan ID anda.

2. Pilih Design/rancang .

3. Pilih Edit HTML .

4. Backup terlebih dahulu templete anda , klik pada tulisan Download Full Template

5.Cari Kode seperti di bawah ini (Gunakan Ctrl+F untuk mencari kode).

]]></b:skin>

6. Copy kode dibawah ini, lalu pastekan di bawah kode tadi.

<script language="javascript">
var win = null;
function NewWindow(mypage,myname,w,h,scroll){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings =
'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
win = window.open(mypage,myname,settings)
}
</script>