ininohara

Selasa, 27 Januari 2009

Algoritma? Penting nggak sich ...?

Aku bukanlah programmer kelas berat. Aku nggak menggunakan SQL-Query untuk mencari kunci motorku yang nyelip di bawah buku. Aku cuman programmer wannabie (programmer yang lagi belajar). Tulisan ini hanya opini pribadi, jadi nanti kalau ada yang nggak bener tolong comment aja. Okey

Dulu sewaktu aku duduk di bangku (baca : sekolah) kelas 2 SMK 2 Wonosari aku baru mulai mengenal istilah "algoritma dan pemrograman". Tertanam dalam pikiranku "Aku Harus Bisa Pemrograman". Lalu aku bertanya kepada ibu guru "Buk, buk (kebetulan guru pemrogramannya cewek, namanya bu Erna)....kalau pingin menjadi programmer apa yang pertama dan yang utama harus aku kuasai ???". Ibu guru itu tersenyum dan menjawab "ALGORITMA".

Algoritma

Pada dasarnya, algoritma adalah langkah demi langkah yang harus di ambil untuk menyelesaikan suatu masalah. Langkah ini sifatnya eksak karena komputer tidak bisa berfikir sendiri. Anda harus menginstruksikan dengan benar apa yang mesti komputer lakukan. Jika instruksi yang anda berikan salah atau tidak efisien, komputer tidak akan memperbaikinya sendiri. Andalah yang harus memperbaikinya.
Algoritma ? penting nggak sich ?

Mempelajari algoritma berarti anda mempelajari bagaimana menyusun langkah-langkah penyelesaian masalah. Sebuah masalah tidak hanya bisa diselesaikan dengan satu solusi. Ada beberapa solusi yang menghasilkan jawaban yang benar. Masing-masing solusi cocok untuk kondisi tertentu atau kadang ada satu solusi yang menjadi solusi terbaik dalam keadaan apapun. Mempelajari algoritma berarti anda mempelajari bagaimana memilih solusi yang paling tepat untuk masalah yang sedang anda hadapi.

Salah memilih solusi ( meskipun hasilnya benar ) akan berdampak buruk pada performace. Ada bisa saja memotong sosis menggunakan obeng. Tapi jelas prosesnya akan lebih lama dan hasilnya tidak akan sebagus saat anda menggunakan pisau. Contoh lain, saat anda harus memindahkan air, ya - air. Saat anda harus memindahkan air dari drum satu ke drum yang lain, menggunakan gayung mandi adalah pilihan yang baik. Namun saat air ada di sebuah truk tangki yang besar dan hendak digunakan untuk memadamkan api, menggunakan gayung mandi hanya akan menambah jumlah korban, yaitu Anda yang membawa gayung mandi. Itulah gambaran sederhana mengenai pentingnya algoritma.

Semakin canggih suatu solusi maka akan semakin kompleks algoritmanya. Saat anda hendak menyambungkan kabel ke papan PCB, ada beberapa pilihan yang tersedia. Anda bisa menggunakan solder atau bisa juga menggunakan isolasi. Meyambung kabel menggunakan solder hasilnya akan lebih baik dibandingkan menggunakan isolasi. Namun menyambung kabel menggunakan solder butuh keterampilan yang harus dipelajari dan dilatih terlebih dahulu sebelumnya.

Menggunakan solder tanpa pengetahuan yang cukup bisa berakibat buruk. Tentu anda tidak ingin mengambil resiko dan pada akhirnya lebih memilih isolasi. Begitu juga dengan algoritma. Jumlah solusi yang anda pilih sangat bergantung dari seberapa tinggi pengatahuan dan pengalaman anda dalam menyelesaikan persoalan.

Belajar algoritma berbeda dengan belajar PPKN - baca, hapalkan, pahami, hayati, dan aplikasikan. Belajar Algoritma mirip seperti belajar persamaan diferensial - pahami konsepnya lalu berlatihlah dengan cara menerapkan ilmu yang didapat di berbagai persoalan. Untuk bisa menyelesaikan persamaan diferensial, tentu anda harus memahami integral dan teknik penintegralan. Begitu juga dengan algoritma, untuk bisa pemrograman OOP, anda harus mengetahui konsep kelas, obyek, turunan, pewarisan sebelumnya.

Dalam kasus-kasus dasar, kebanyakan algoritma bisa dipelajari langsung tanpa modal ilmu apapun kecuali otak yang sehat. Kabar baiknya adalah, sampai level tertentu ( tergantung kepada orangnya ), anda bisa mempelajari algoritma sendiri tanpa harus dibimbing oleh seseorang. Cukup cari buku yang bagus, lalu mulailah belajar.



Label:

SMS GATEWAY

Hmm....sebenarnya kalau kita search di “Eyang” google buuuuanyak banget yang sudah membahas SMS Gateway ini. Coba aja masukin keyword “konsep pembuatan sms gateway”.

Pada beberapa bagian yang aku baca http://blackphantom.wordpress.com/2008/04/15/konsep-pembuatan-sms-gateway/ atau tulisan http://j3ck3y.wordpress.com/2008/05/09/konsep-pembuatan-sms-gateway/ untuk membuat SMS Gateway bisa menggunakan Library SMS Gateway. FBUS, Boomerang, Oxygen, WinSMS, Ozeki, Kannel atau yang lain.

Semua library SMS Gateway di atas memiliki kelebihan dan kelemahan masing-masing. Library itu dibuat untuk memudahkan software developer untuk membangun aplikasi SMS Gateway tanpa harus mengetahui format SMS yaitu PDU atau AT-COMMAND sebuah perangkat handphone.

Berbagi pengalaman, dan mohon nanti temen-temen semua tanggapi. Aku menggunakan library ActiveXpertSMS dan Pager Toolkit, manualnya bisa dilihat di sini http://www.activexperts.com/files/activsms/manual.htm memang shareware, untuk sekedar belajar sich gak masalah, dan setelah aku cari kesana kemari aku nemuin seriall-nya, nanti bisa didownload.
Menurut situs di atas, dengan activexpert sms dan pager toolkit kita bisa men-develop dengan menggunakan bahasa pemrograman PHP, VB, Delphi, C++, ASP, dan beberapa bahasa lainnya.









if($_GET['tombol_baca'] != ""){
$objGsmIn = new COM ("ActiveXperts.GsmIn");
$objConstants = new COM ("ActiveXperts.SmsConstants");

$objGsmIn->Device = "COM1";
$objGsmIn->DeviceSpeed = 19200;
$objGsmIn->EnterPin('1234');

If ($objGsmIn->LastError == 0) {
$objGsmIn->DeleteAfterReceive=true;
$objGsmIn->Receive;
if($objGsmIn->LastError==0) {
$objGsmIn->GetFirstMessage;
while($objGsmIn->LastError==0) {
$tgl =$objGsmIn->MessageTime;
$pengirim =$objGsmIn->MessageSender;
$isi =$objGsmIn->MessageData;


$storeToDB="insert into tbl_inbox(tgl,pengirim,isi)values('$tgl','$pengirim ','$isi')";

mysql_connect("localhost","root","pwdsms");
mysql_select_db("db_uji");
mysql_query($storeToDB);


$result="SMS dari $pengirim($isi) pada tanggal $tgl telah disimpan ! ";
$objGsmIn->GetNextMessage;
}
}
}
Else
$result = $objGsmIn->GetErrorDescription($objGsmIn->LastError);

echo "$result";
}

if($_GET['tombol_kirim'] != ""){
$objGsmOut = new COM ("ActiveXperts.GsmOut");
$objConstants = new COM ("ActiveXperts.SmsConstants");

$objGsmOut->Device = "COM1";
$objGsmOut->DeviceSpeed = 19200;
$objGsmOut->EnterPin('1234');

if($objGsmOut->LastError==0) {
$objGsmOut->MessageType = $objConstants->asMESSAGETYPE_TEXT_MULTIPART;
$objGsmOut->MessageRecipient = "+6281320531323";
$objGsmOut->MessageData = "ini isi sms yang dikirim";
$objGsmOut->Send;
sleep(5);
if($objGsmOut->LastError==0){
$result = "Pengiriman SMS OK";
}else{
$result = "Gagal Kirim SMS";
}
}else {
$result= $objGsmOut->GetErrorDescription($objGsmOut->LastError);
}
echo "$result";
}




Download :
[1] Sofware activeXpertSMS and pager toolkit download
[2] Contoh Script dengan menggunakan PHP download

Label:

Jumat, 23 Januari 2009

dan yang terpenting, ini yang terbaik

Ada beberapa hal yang selalu berbeda. Semua diciptakan berbeda satu sama lain. Kitapun sering di hadapkan pada sesuatu yang membuat kita bingung. Antara ego dan "yang lain" berkecamuk dalam pikiran, membuat kita sulit bernafas dan pada akhirnya membuat hati kita tertekan.

Hidup adalah sebuah pilihan, tetapi sebuah pilihan belum tentu untuk hidup.

pelajaran ini yang aku dapat dari sebuah cerita hidup manusia. Kehilangan dua kaki dan ingatan. Mungkin sulit buat kita untuk memilih hal itu. Tetapi kenapa dia mau kehilangan ke dua kaki dan ingatannya ? apa untungnya ? kenapa dia rela ? kenapa dia tidak membiarkan mobil itu melindas temennya saja? padahal dia baru saja di tampar oleh temennya ? kenapa dia melakukan hal ini ?

Uhh....bukan karena pikiranku yang kacau untuk nerima semua ini, aku yakin suatu hal ini adalah yang terbaik....
Walau tanganini sakit dan tak mampu lagi menunjuk, yakinlah tangan yang sakit ini akan selalu ada untuk selalu menggenggam harapan .........

Label:

Hmm...perubahan itu perlu.....

"Perubahan Itu Perlu" sebuah ungkapan manis. Bukan iklan TV S**Y* SL**. Tetapi hal ini lebih kepada keinginanku untuk berubah. Hidup itu dinamis, tumbuh dan berkembang, jadi perubahan untuk lebih baik itu perlu bukan ?. Yesterday is history ....... (nggak bisa diubah) Tomorrow is mistery ..... (kita juga nggak akan tau apa yang akan terjadi) Yang lalu biarlah berlalu, dan yang harus kita lakukan adalah melakukan yang terbaik. Setuju nggak sich kalian?
Mari kita berubah ....... pecahkan kaca penyekat pikiran yang membelenggu kita !!!

Label: