Pencarian

Kamis, 23 April 2009

Sedikit Mengenal Algoritma

Mengenal Algoritma

Apa sih algoritma ???

paling nggak, algoritma itu suatu makhluk yang dulu bikin saya malez banget kuliah wkk..wk...
tapi algoritma juga salah satu matkul yang paling saya rindukan saat ini, apalagi sama pak Indra weni ( Founder LOTEK Say's "Grandfather teachers" he..he..)

Algoritma adalah Urutan langkah-langkah untuk memecahkan masalah.
atau Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
Melihat definisi diatas berarti algoritma seseorang dengan orang lain dapat berbeda-beda.

Jadi, apa yang harus saya pelajari dari Algoritma ??

Menurut saya, dengan Algoritma berarti kita juga mengasah kemampuan otak kita dalam menganalisa suatu permasalahan.

Algoritma deket banget hubungannya dengan pemrograman.
tapi Algoritma nggak selalu harus pemrograman.

Misalnya seperti ini :
  1. Sebuah prosedur ketika akan mengirimkan surat kepada teman:
  2. Tulis surat pada secarik kertas surat
  3. Ambil sampul surat atau amplop
  4. Masukkan surat ke dalam amplop
  5. Tutup amplop surat dengan lem perekat
  6. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat.
  7. Tempelkan perangko pada amplop surat
  8. Bawa surat ke kantor pos utk diserahkan pada pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.
contoh diatas bisa dikatakan sebuah Algoritma. dan algoritma seperti diataslah yang dipakai dalam komunikasi data pada Jaringan Komputer (tentunya setelah ditambah dan dikurangi beberapa bagian).

Kembali ke Algoritma,
Nah, mengapa dikatakan hubungan Algoritma dengan pemrograman itu deket (seperti pacaran gitu lah). Karena untuk membuat suatu program, terlebih dahulu perlu diketahui alur-alur dari program yang akan dibuat. misalnya kita ingin membuat program penjumlahan dengan PHP:

Apa saja yang diperlukan...
  1. kita buat dulu file pertama dengan nama index.php
  2. Untuk program penjumlahan sederhana, sudah tentu diperlukanlah textfield yang berguna sebagai input dari angka yang akan dijumlahkan.
  3. dan dikarenakan baru belajar maka cukup buat dua textfield dengan nama angka1 dan angka2, hal ini tentunya setelah kamu memasukkan form action.
  4. berpikir mode on.....
  5. Untuk proses penjumlahan tentunya dibutuhkan operator, maksudnya operator adalah angka1 tadi mau di tambah, kali, kurang ato bagi dengan angka2 (operator yang umum aja lah).
  6. gunakan list menu sebagai operator dan isi value nya dengan tambah, kali, kurang dan bagi, beri nama list menu nya operator.
  7. lalu berikan tombol submit.
  8. Tampilan udah selesai, trus masuk ke tahap proses.
  9. arahkan form action nya ke proses.php
  10. buat file dengan nama proses.php
  11. Setelah berhasil menangkap variabel angka1, angka2 dan operator dengan benar. apa yang harus dilakukan ???
  12. berpikir mode On....
  13. buka kembali index.php di browser, dan coba jalankan dengan mengisi angka dan operatornya lalu submit.
  14. nah, kita tentu tidak bisa menebak operator apa yang akan di pilih oleh pemakai program ini nantinya tapi kita juga tau persis operator apa saja yang ada pada list menu operator tersebut, lalu ???
  15. mungkinkah diperlukan sebuah kondisi ?? yupz, it's true. misalnya kita buat seperti ini:
  16. Jika operator yang dipilih sama dengan tambah maka angka1+angka2
  17. Jika operator yang dipilih sama dengan kurang maka angka1-angka2
    Jika operator yang dipilih sama dengan kali maka angka1*angka2
    Jika operator yang dipilih sama dengan bagi maka angka1/angka2
    Jika operator yang dipilih sama dengan tidak ada maka nggak apa-apa
  18. tampilkan hasil. lha.. hasil yang mana yang mau ditampilkan ???
hmm...berarti kita perlu membuat variabel baru dengan nama hasil yang nantinya akan menampung penjumlahan dari angka1 dan angka2 dan juga variabel hasil inilah nantinya yang akan ditampilkan.
jadi kondisi nya berubah seperti ini:
Jika operator yang dipilih sama dengan tambah maka hasil=angka1+angka2
dan seterusnya.

tutup kondisi dan tampilkan angka1 operator angka2 = hasil
selesai dah.

Kq buat program penjumlahan saja panjang amat yak, gimana mau buat OS wkk..wk...
Sebenarnya bisa lebih dipermudah lagi, tergantung kreatifitas kita masing-masing...

kembali lagi ke Algoritma ?
masih belum mengerti betapa pentingnya Algoritma ???

kita contohkan pada desain graphis yak :
Misalkan kamu ingin mengganti muka pacar kamu dengan muka mbak Dian Sastro hee...

  1. kamu memerlukan foto pacar kamu yang biasanya terletak di dompet dan di kamar mandi wkkk...wkk... (kidding mode On)
  2. Liat dengan bener pose dari foto tersebut dan scanner.
  3. cari photo mbak dian sastro yang pose nya mirip dengan pose pacar kamu tadi.
  4. buka program editing gambar, seleksi wajah mbak dian (udah cantik tuh, nggak perlu diseleksi lagi) dan copy.
  5. Pastekan ke muka pacar kamu lalu rapiin dengan benar dan simpan.
  6. just like this..

Apakah langkah-langkah diatas termasuk Algoritma ???
Jangan tanya saya, karena saya bukan ahli. tapi jika kamu memaksa maka saya akan menjawab "IYA", walaupun Algoritma nya masih berantakan.

jadi, buat teman-teman yang belum atau lagi ngontrak matkul Algoritma, saya sarankan pelajari baik-baik karena Algoritma lah inti dari semuanya. Sebelum terlambat dan menyesal seperti yang sudah-sudah.
Walaupun begitu, terkadang ada beberapa hal-hal yang nggak bisa dijelaskan dengan Algoritma.
Kalo nggak ada duit Algoritma nya gimana yak ???
Kerjaaaa.....

Keep Share....

Senin, 20 April 2009

Save Me and Save My Soul

Padi - Save My Soul

Now I'm sitting in the corner of my room
Staring through the window, watching the sun goes down
And the shadow starts to creep accross the floor
In this Loneliness,
I'm crying in my bed

And the rain begin to fall down on me
As the sadness growing deep inside me
and I feel a little insecure right now
I am crawling, looking for a place to hide

So where has all my lights gone?
For I need to fine the way out there
In my every breath, I am chanting your name
Give me Strength so I Can Save My Soul

My minds keeps telling me to hold on
And says I have to be a real man
I'm still wondering if I'll ever find my way
That leads me to your light and to your grace

So where has all my lights gone?
For I need to fine the way out there
In my every breath, I am chanting your name
With every breath, I'm hoping
I can find the way to
SAVE MY SOUL...

(Ost Smallville) Save Me

I feel my wings have broken in your hands
I feel the words unspoken inside
And they pull you under
And i would give you anything you want, but know
You were all i wanted
And all my dreams are falling down
Crawling around and around

Somebody save me
Let your warm hands break right through
and Save me
I don't care how you do it
Just stay, stay with me, stay
Oh come on
I've been waiting for you

I see the world has folded in your heart
I feel the waves crash down inside
And they pulled me under
I would give you anything you want, but know
You were all i wanted
And all my dreams have fallen down
Crawling around around

Somebody save me
Let your warm hands break right through and
Save me
I don't care how you do it
Just stay, (stay with me), stay
Oh come on
I've been waiting for you

And all my dreams are on the ground
Crawling around around

Somebody save me
Let your warm hands break right through and
Somebody save me
I don't care how you do it
Just stay, (stay with me)
I've made this whole world shine for you
Just stay (stay with me), stay
Come on
I'm still waiting for you
I'm still waiting for you...


So, Where ? I Can't Find you with google and other...

Minggu, 19 April 2009

Group Facebook STIKOM DB JAMBI

Bagi anak-anak STIKOM DB JAMBI yang mau berbagi ilmunya silahkan maen-maen ke sini : Group Facebooker's STIKOM DB JAMBI
ada seorang mahasiswa Stikom yang punya ide kreatif buat Group yang bisa dijadikan tempat diskusi untuk mahasiswa/i Stikom dan siapa saja yang ingin berbagi pengetahuan, ayo ramein...

Ayo maju terus STIKOM Jambi...

Untuk yang buat Group Thanks...
Anak-anak Lc juga sering-sering maen ke sana ya...


Keep Share....

Sabtu, 18 April 2009

Download HTML Manual

Buat yang lagi belajar HTML dan pengen mendalami nya silahkan download manualnya di

http://www.ziddu.com/download/4350961/html-4.01.rar.html

Mudah-mudahan berguna ya...

Keep Share....

Meminimalisasi Serangan Sql Injection

Setelah beberapa minggu ini belajar Sql Injection, maka kali ini saya mau buat Script sederhana untuk meminimalisasikan serangan tersebut.

Sebelumnya perlu diketahui,
Sql Injection adalah Serangan dengan cara memasukkan perintah ke Query Sql dengan cara memanipulasi data yang sebenarnya, cara memasukkannya bisa melalui URL atau input text. Bug ini memang sudah lama banget beredarnya kalo nggak salah sekitar tahun 2002 (klasik) namun kamu masih dapat menemukan banyak bug ini pada website-website di penjuru internet ini, terutama website pemerintah :D

Untuk mengetahui apakah website calon memiliki Vuln (bisa di injec) atau tidak, biasanya penyerang memasukkan tanda kutip satu (') pada url nya. misalnya terdapat alamat ini:
http://www.bedolzz.com/index.php?id=10'
atau bisa juga dengan (-)
http://www.bedolzz.com/index.php?id=-10
bila terdapat error maka ada kemungkinan website tersebut Vulner atau bisa di serang dengan teknik SQL Injection.
Untuk mengatasi hal diatas, maka kita bisa membuat Script diatas:

Untuk nilai variabel $id saya menggunakan digit angka, karena dengan angka akan memudahkan saya dalam proses pengecekkan, Scriptnya seperti ini:

<?php
error_reporting(0);
include "koneksi.php";
class filter{
function sqlInjection($id){
$id2 = mysql_real_escape_string($id);
if (!ctype_digit($id2))
{
echo "Maaf, Bug nya udah di patch";
exit;
}
else if ($id2 <= 0)
{
echo "Yah di patch lagi ";
exit;
}
else
{
return $id;
}
}
}
$oFilter = new filter();
$id = htmlentities($_GET['id']);
$cId = $oFilter->sqlInjection($id);
$q = mysql_query("select *from guestbook where id_guest='$cId' order by id_guest desc") or die (mysql_error());
if (mysql_num_rows($q) == 0)
{
echo "Data nya nggak ada";
exit;
}
$a=mysql_fetch_assoc($q);
echo "Nama : $a[username]<br>";
echo "Email : $a[email]<br>";
echo "Komentar : $a[comment]<br>";
echo "<br><hr>";
?>

Penjelasan :
error_reporting(0): berguna Untuk mematikkan pesan error pada saat ada kondisi error.
mysql_real_escape_string : berguna untuk manambahkan slash (\) jika terdapat tanda kutip.
ctype_digit : berguna untuk mengecek apakah input tersebut berupa angka atau bukan.
setelah itu saya buat kondisi dimana id nya nggak boleh kecil atau sama dengan 0
Selesai dah..

Sedangkan untuk menghindari SQL Injection di halaman login saya menggunakan Fungsi-fungsi seperti: Fungsi strip_tags, htmlentities, mysql_real_escape_string dan eregi untuk mencocokkan karakternya.
Setelah selesai di cek dengan fungsi tersebut baru data saya masukkan ke Query. o ya, jangan lupa pake encrypt md5() biar lebih aman.

SELECT * from tb_user where username='$username' and password=md5('$password')

Koq proses pengecekkannya banyak nih ???
Saya pernah membaca buku karangan S'to dari Jasakom mengenai Sql Injection
katanya " Jangan pernah percaya semua input yang berasal dari user"
dan seperti memang harus seperti itu :D

Seperti yang saya bilang di atas, Script yang saya buat tentunya belum banyak validasi dan masih rentan terhadap serangan makanya saya bilang meminimalisasi bukan menghindari, dan jangan lupa ya kasi tau jika ada cara yang lebih bagus lagi... :D

Keep Share...