Konfigurasi Apache PHP Koneksi Dengan Oracle Database

Selamat siang semua :D, kali ini aku (yang barusan belajar ulang tentang Oracle) mencoba berbagi pengalaman mengenai Database Oracle dan Apache PHP MySql bagaimana bisa saling terhubung/terkoneksi di Sistem Operasi Windows. Saat kalian install PHP+Apache atau yang biasanya pake Xampp atau AppServ pasti extension oci8 (suatu extension yang digunakan untuk mengkomunikasikan Apache+PHP dengan Database Oracle) belum terinstall, namun sudah ada di dalam file konfigurasi PHPnya. Nah, bagaimana cara install / meng-koneksikan Database Oracle dengan Apache PHP ?

Berikut adalah langkah-langkah yang harus ditempuh (berlaku bagi pengguna Xampp maupun AppServ) :

  1. Pastikan Oracle Database server dan Webserver (PHP, Apache) kalian sudah diinstal dan berjalan dengan baik.
  2. Setelah itu silahkan kalian download Instant Oracle Client. Sesuaikan dengan PC kalian dan sesuaikan dengan versi berapa Oracle Database kalian. Juga tidak lupa sesuaikan kebutuhan Oracle Client nya, karena banyak versi. Ada yang Basic, Basic Lite dan sebagainya.
  3. Setelah selesai download, extract file tadi ke drive C:. Misalkan hasil extractnya jadi seperti ini C:\instantclient_10_2
  4. Setelah itu buka Environment Variables di Account kalian. Disitu ada dua area, yang satu untuk environment variables user, yang satunya lagi untuk system. Fokus di Environment Variables User saja.
  5. Disitu ada Variable PATH, edit variable tadi, tambahkan path yang sesuai dengan hasil extract file Instant Client Oracle tadi yaitu “C:\instantclient_10_2”
  6. Setelah itu OK. Kemudian mari kita masuk ke folder hasil extract tadi, disana ada file oraociei10.dll, orannzsbb10.dll, oci.dll. Nah 3 file tersebut copy ke dalam folder Apache kalian (C:\AppServ\Apache2.2\bin) atau bisa kalian sesuaikan dengan PATH dimana kalian install Apache.
  7. Kemudian, sekarang buka file php.ini yang ada di C:\Windows\php.ini, cari kata extension=php_oci8.dll. Hilangkan tanda “;” semicolon yang ada di depannya. Setelah itu save file tersebut.
  8. Terakhir, tinggal restart service Apache nya ๐Ÿ™‚

Dan,,,, sekarang coba cek di phpinfo(), tadaaaaa… bisa kan :mrgreen:. Selamat mencoba!

Oracle yang aku pakai adalah Oracle 10g XE.

Mudah Bangun Pagi Untuk Shalat Shubuh

bangun pagi

bangun pagi sholat subuh

๐Ÿ˜€ sudah lama gag posting mengenai dunia religi (Islam), kali ini aku coba berbagi tips yang aku temukan dari situs islamhouse.com mengenai cara mudah agar bisa bangun pagi untuk melaksanakan shalat shubuh. Memang bagi sebagain orang diantara 5 shalat wajib yang paling susah menurut mereka adalah melaksanakan shalat isya’ dan sholat subuh. Agar shalat isya’ tidak ketinggalan, cobalah untuk shalat berjamaah atau jangan menunda untuk melaksanakannya “nanti malam saja deh…”, karena kemungkinan besar kalian akan tidur duluan. Dan akhirnya bangun keesokan hari tiba-tiba fajar sudah muncul… yang otomatis kalian juga tidak bisa melaksanakan sholat subuh… hmmm ๐Ÿ™ pasti menyesal bukan.

Berikut ini juga ada tips tambahan, silahkan simak ๐Ÿ˜€

ยซ ุฅู† ุฃุซู‚ู„ ุตู„ุงุฉ ุนู„ู‰ ุงู„ู…ู†ุงูู‚ูŠู† ุตู„ุงุฉ ุงู„ุนุดุงุก ุŒ ูˆุตู„ุงุฉ ุงู„ูุฌุฑ ุŒ ูˆู„ูˆ ูŠุนู„ู…ูˆู† ู…ุง ููŠู‡ุง ู„ุฃุชูˆู‡ู…ุง ูˆู„ูˆ ุญุจูˆุง ุŒ ูˆู„ู‚ุฏ ู‡ู…ู…ุช ุฃู† ุขู…ุฑ ุจุงู„ุตู„ุงุฉ ูุชู‚ุงู… ุŒ ุซู… ุขู…ุฑ ุฑุฌู„ุง ููŠุตู„ูŠ ุจุงู„ู†ุงุณ ุŒ ุซู… ุงู†ุทู„ู‚ ู…ุนูŠ ุจุฑุฌุงู„ ู…ุนู‡ู… ุญุฒู… ู…ู† ุญุทุจ ุฅู„ู‰ ู‚ูˆู… ู„ุง ูŠุดู‡ุฏูˆู† ุงู„ุตู„ุงุฉ ูุฃุญุฑู‚ ุนู„ูŠู‡ู… ุจูŠูˆุชู‡ู… ุจุงู„ู†ุงุฑ ยป . ู…ุชูู‚ ุนู„ูŠู‡ .

” Sesungguhnya solat yang terberat bagi orang-orang munafik adalah solat isya’ dan solat subuh, kalau sekiranya mereka mengetahui apa yang terdapat di dalamnya, niscaya mereka akan mendatangai keduanya meski dengan terjatuh, dan sunggguh aku telah berhasryat untuk memerintahkan seseorangย  agar mendirikan solat, kemudian akau meminta seseorang agar menjadi imam, lalu aku pergi bersama orang-orang membawa kayu bakar kepada kaum yang tidak hadir solat, lalu aku bakar mereka dengan rumah-rumah mereka dengan api.” (HR: Bukhari Muslim).

Ada beberapa yang mungkin bisa membuat kita merenung nih… Continue reading

Segitiga Bintang Bentuk Jam Pasir C++, Java

Hmmm,,, aku posting lagi nih mengenai contoh program segitiga bintang c++, java membentuk seperti jam pasir. Sengaja aku posting ini mungkin suatu saat ada yang bisa memanfaatkan, karena sudah beberapa periode Praktikum Algoritma Pemrograman ternyata soal-soal yang muncul tidak jauh berbeda (ini dikampusku, entah di kampus lain). Tampilan hasilnya seperti ini :

segitiga-bintang jam pasir

Untuk source codenya dalam bentuk C++ adalah sebagai berikut :

#include "conio.h"
#include "iostream.h"

int main(){
int input = 0;
cout << "masukkan jumlah deret : ";
cin >> input;
int floor = (int)(input/2);
bool stop = false;
bool d = false;
int f = (int)(input/2)+1;
int c = 0, e, b, a = input;
while(!stop){
for(e=floor;e>=(a-floor);e--){ cout << " "; }
for(b=0;b<a;b++){
if(b==floor || b==e){
cout << "0 ";
}else{
cout << "* ";
}
}
c++;
cout << endl;
if(c<input){
if(a>f && d==false){ a--; }else{ d = true; a++; }
}else{
stop = true;
}
}
system("pause");
//getch();
}

Kalau kalian ingin merubahnya jadi versi Java, tinggal ganti cout, cin nya aja kok, di Java untuk output/input apa, nah replace dengan itu. Semoga berhasil ๐Ÿ™‚

Contoh yang sejenis dan mungkin cocok untuk kalian ada disini juga http://rendramm2.wordpress.com/2009/11/20/program-menampilkan-belah-ketupat-segitiga-bintang/

Mencegah Website Agar Tidak di-Copy/Grab Oleh Program Web Copier

Httrack, Offline Explorer, Web Copier, Web Reaper ….

Yap, bagi kalian yang bergelut di dunia website terutama bagi developer website, tentunya sudah tidak asing lagi dengan
beberapa program web copier/grabber yang saya sebutkan diatas. Yang paling populer menurut saya adalah httrack :mrgreen:

Kalo kalian kenal dengan program-program tersebut, saya yakin pasti pernah mengoperasikannya untuk meng-copy/grab suatu situs
yang menarik entah itu dalam hal tampilan atau kontennya.
Nah, khususnya bagi kalian para developer website, pasti juga pernah terpikir
Bagaimana agar website saya terhindar dari httrack dan web copier lainnya???” atau
Bagaimana mencegah serangan web copier/grabber agar tidak bisa mendownload website kita???Continue reading

Apa itu AOP?

Aspect Oriented Programming (AOP)

Secara sederhana AOP (Aspect Oriented Programming) merupakan sebuah metodologi sebagai tambahan untuk melengkapi metodologi OOP, nah mengapa ?
Salah satu alasannya adalah OOP dianggap tidak cukup baik untuk memecahkan masalah crosscutting concern yang umumnya digunakan untuk aplikasi enterprise.
Apa itu crosscutting concern ? Contoh umum crosscutting concern adalah logging, validation, transaction dan sebagainya.

Perbedaan OOP dan AOP

Misal, saya ingin membuat sebuah aplikasi kalkulator untuk melakukan operasi kali dan bagi.
Pertama-tama saya akan membuat sebuah interface untuk melakukan proses penghitungan tersebut. Continue reading

Segitiga Bintang Versi Baru PHP, C++, Java Praktikum Algoritma Pemrograman

Selamat pagi semuanya, kali ini aku coba share mengenai bagaiman membuat susanan karakter bintang, yang biasa disebut segitiga bintang dengan inputan deret tertentu. Ini aku buat karena adanya teman-teman yang butuh untuk Praktikum Algoritma Pemrograman, lumayan juga biar mereka datang dimari kan ๐Ÿ˜€

Bentuk segitiga bintangnya terlihat seperti gambar dibawah ini :

segitiga-bintang

Nah tampilannya adalah seperti gambar diatas, untuk scriptnya silahkan lihat dibawah ini, tapi untuk yang ini adalah dengan versi PHP, untuk konversi ke Java, C++ dan sebagainya, silahka konversi sendiri ya, toh tinggal nambahin tipe data di tiap variablenya… :mrgreen:

<?php
# jumlah deret
$h = 9;
$a = 0;
for($i=0;$i<$h;$i++){
	for($j=$h;$j>$a;$j--){
		print "&nbsp;";
	}
	for($k=0;$k<=$a;$k++){
		if($i==(int)($h/2)){
			print "+&nbsp;";
		}else{
			if($k==0 || $k==$a || $k==(int)($a/2)){
				print "+&nbsp;";
			}else{
				print "&nbsp;&nbsp;";
			}
		}
	}
	if($i<4){
		$a+=2;
	}else{
		$a-=2;
	}
	print "<br/>";
}
?>

Contoh Program PCD (Pengolahan Citra Digital)

Selamat pagi semuanya ๐Ÿ™‚ semoga dalam keadaan sehat selalu

digital image processing

Pagi ini aku mau berbagi pengetahuan baru mengenai pengolahan citra digital. Disini saya memberi contohnya adalah program untuk menampilkan Histogram dari sebuah image/gambar, mengatur Brightness/Kecerahan gambar, Contrast, efek Negasi/Negate, dan efek Grayscale dari suatu gambar/image yang ditentukan. Program yang akan aku bagikan kali ini menggunakan bahasa pemrograman PHP :).

Dalam melakukan olah gambar, pertama kita harus bisa bagaimana cara mengambil pixel dari suatu gambar, mengetahui komposisi warna RGB dari pixel tersebut, kemudian terakhir harus bisa memberi warna baru/memberi nilai integer baru kepada pixel yang sudah kita mabil kemudian disusun menjadi gambar/image baru sesuai matriks/ukuran resolusi gambar awal.

Oke, pertama akan aku tunjukkan bagaiman cara mengambil pixel dari suatu gambar menggunakan PHP :

$imaged 	= "contoh_gambar.jpg";
$images 	= imagecreatefromjpeg($imaged);
$image_width 	= imagesx($images);
$image_height 	= imagesy($images);
$total_xy 	= $image_width*$image_height;

for($y=0;$y<$image_height;$y++){
	for($x=0;$x<$image_width;$x++){
		# mengambil komposisi warna RGB gambar
		$rgb = imagecolorat($images, $x, $y);
		# mengambil warna Red
		$r = ($rgb >> 16) & 0xFF;
		# mengambil warna Green
		$g = ($rgb >> 8) & 0xFF;
		# mengambil warna Blue
		$b = $rgb & 0xFF;
		# jadi komposisi RGB pixelnya adalah $r $g $b
		# masing-masing bernilai integer
	}
}

Kemudian, script berikut ini adalah contoh untuk mengatur gambar dengan komposisi pixel RGB yang baru, fungsi ini dapat diterapkan untuk pengaturan grayscale, brightness dan sebagainya.

$img = "contoh_gambar.jpg";
$images_source = imagecreatefromjpeg($img);
for($x=0;$x<imagesx($images_source);++$x){
	for($y=0;$y<imagesy($images_source);++$y){
        $index 		= imagecolorat($images_source, $x, $y);
        $rgb   		= imagecolorsforindex($images_source, $index);
		# mengambil warna R menggunakan fungsi imagecolorforindex
		# fungsi tsb hampir sama dengan imagecolorat
		# bedanya hanya return value
		$c_red 		= $rgb['red'];
		$c_green 	= $rgb['green'];
		$c_blue 	= $rgb['blue'];
		# ini berfungsi untuk menyusun komposisi warna baru untuk RGB
        $color 		= imagecolorallocate($images_source, $c_red, $c_green, $c_blue);
		# setelah komposisi baru terbentuk
		# kemudian ditanamkan ke gambar baru
		imagesetpixel($images_source, $x, $y, $color);
	}
}
imagejpeg($images_source, "gambar_baru.jpg", 100);
imagedestroy($images_source);

Cukup mudah bukan :mrgreen:, semoga dari potongan kode diatas bisa memberi pencerahan bagi teman-teman. Untuk bagaiman cara bisa melakukan edit brightness, grayscale dan lainnya, tergantung rumus pada masing-masing efek. ( tiap efek ada rumus matematika nya lho…. ๐Ÿ˜€ )

Oke, untuk script contoh program pengolaha citra digital yang sudah saya janjikan diatas, silahka download disini

Untuk request password silahkan hubungi saya melalui email atau nomor handphone :D, sengaja aku password karena ini merupakan tugasku, dan kebetulan belum dikumpulkan ke dosen,hehehe.

Download APK Dari Android Market / Google Play Melalui Komputer

Selamat sore semuanya ๐Ÿ™‚
Kali ini aku coba berbagi pengalaman mengenai Android, bagi kalian pengguna Android terutama yang suka download app di Android Market atau yang sekarang lebih dikenal dengan nama barunya yaitu Google Play, pasti selalu ingin up to date app nya kan?
Nah, iya kalo paketan (biaya bulanan paket internet) kita masih banyak, kalo udah habis dan kebetulan atau memang belum bisa isi ulang paketan Internet ke Android kita, terus kita pengen update app atau download app dari market, sedangkan paketan internet lagi habis (asumsi tidak ada jaringan WiFi di daerahnya). Download lewat PC ribet, soalnya kudu cari dari sumber lain alias gag langsung dari Market. Nah, setelah kalia baca dan mengikuti petunjuk dari artikel ku berikut ini, kalian tidak perlu khawatir kalau mau download app langsug dari Android Market / Google Play langsung dari Komputer/Notebook. Continue reading

wavecom-fastrack-gammu-smsgateway

Solusi SMS Gateway Gammu Dengan Modem Wavecom Fastrack

Selamat malam semuanya :D,,,
Kali ini aku coba sharing mengenai bagaimana agar sukses untuk membuat sistem / aplikasi SMS Gateway menggunakan modem Wavecom Fastrack dengan Gammu sebagai bridge nya. Kenapa saya membahas ini lebih lanjut? karena kebanyakan (termasuk saya) developer pasti pernah kesulitan saat melakukan konfigurasi Gammu dengan Mode Wavecom Fastrack ini. Entah itu masalahnya tidak bisa kirim SMS ataupun terima SMS.

Tadi saya juga sempat kebingungan kembali karena dapat project pembuatan SMS Gateway dengan Modem Wavecom ini, akhirnya setelah otak-atik sana sini, Alhamdulillah akhirnya bisa sukses :).
Mungkin ini memang bukan solusi utama, namun yang pasti solusi ini insyaAllah membantu :). Agar bisa membuat SMS Gateway dengan Modem ini, saya anjurkan pakai Gammu dengan Versi 3 keatas. Karena saya sudah coba dengan versi 3 kebawah sangat kesulitan, dalam arti tidak semua Sistem Operasi sukses dengan modem ini. Tapi setelah saya download Gammu yang terbaru (v3.1) syukur Alhamdulillah langsung lancar dan berhasil membuat SMS Gateway Gammu dengan Modem Wavecom Fastrack ini. Continue reading

Select & Block Text Website

jQuery Prevent Blocking Text

Hai hai…. ๐Ÿ˜€ Selamat Pagi

Hmmmm,,, kali ini saya coba berbagi pengalaman mengenai salah satu kemampuan JavaScript menggunakan framework jQuery. Jadi begini permasalahannya, apakah kalian pernah ingin meng-copy artikel di suatu halaman website? Pastinya pernah :mrgreen:
Biasanya kalo kalian selecting/milih text atau artikel mana yang ingin di copy, pasti kan harus di blok/selecting dulu mana saja. Nah, biasanya untuk melakukan selecting text pasti pake shift + click pada akhir point dimana itu merupakan kata terakhir yang ingin kalian copy kan? (Semoga kalian ngerti apa yang sebenernya pengen aku sampaikan :D)

Nah disini, adalah cara bagaimana agar user tidak bisa melakukan blocking/selecting text atau artikel pada suatu halaman website kita, ini berguna agar artikel kita tidak dicopy oleh user secara mudah ๐Ÿ˜€
Script ini juga bisa digunakan pada suatu area element html atau di salah satu area halaman website kita, jadi tidak harus ke seleuruh halaman diproteksi agar tidak bisa diblok text-nya. Oke, berikut ini adalah source codenya :

$(function(){
	var area_name = '.tablesorter tbody';
	$.extend($.fn.disableTextSelect = function() {
		return this.each(function(){
			if($.browser.mozilla){
				// untuk browser firefox
				$(this).css('MozUserSelect','none');
			}else if($.browser.msie){
				// untuk browser IE
				$(this).bind('selectstart',function(){return false;});
			}else{
				// selain kedua browser diatas
				$(this).mousedown(function(){return false;});
			}
		});
	});
	$(area_name).disableTextSelect();
});