Jumat, 08 Oktober 2010

Siapa Bilang Algoritma Menakutkan..??

Susah, Bikin Pusiing, MENAKUTKAN....
Hmmm...
Paling nggak itu yang dibayangkan oleh mahasiswa yg baru belajar pemrograman / alpro.
Sebenernya gak cuma yang baru blajar aja siii... Byk juga yg udah pernah belajar juga berpikir seperti itu.
Gak tau.. sebenernya mereka dapet mindset seperti itu darimana..??? Hmmmm....
mungkin denger" dari kakak kelas kali ya...
Atau dari pengalaman.... Hhe :p

Setiap kali denger yg namanya pemrograman dari dosen, mereka lagsung Panik.
Apalagi denger yg namanya JAVA..
Haduuuhhh...
Susah memang...
Mereke banyak banget yg udah PHOBIA sama Algortima dan hal-hal yg berbau Koding...
Jujur saja... Malah saya sangat suka hal yang berbau koding dan logika :)

Saya akan mencoba untuk merubah 'mindset' anda-anda yang phobia dengan Algoritma...
yaaa... minimal kalian gak begitu takut laaa dengan koding..
Hehehe

Sebenarya apa sih Algoritma..???

Menurut wikipedia...
"In mathematics, computer science, and related subjects, an algorithm is an effective method for solving a problem expressed as a finite sequence of steps. Algorithms are used for calculation, data processing, and many other fields. (In more advanced or abstract settings, the instructions do not necessarily constitute a finite sequence, and even not necessarily a sequence; see, e.g., "nondeterministic algorithm".)"...

Hhehe,, sebenernya saya kurang ngerti juga apa artinya :p
Kurang lebih algoritma adalah sebuah urutan instruksi yang dilakukan untuk menyelesaikan masalah tertentu..
Sebenernya algoritma itu udah kita peraktekin dalam kehidupan kita sehari-hari
Contohnya saja saat kita ingin membuat secangkir kopi.
Urutan langkahnya kurang lebih:
  • sediakan cangkir
  • sediakan kopi
  • sediakan gula jika ingin pake gula
  • siapkan sendok
  • kemudian panaskan air
  • setelah semua bahan siap: masukkan bubuk kopi kedalam cangkir
  • tambahkan gula jika mau
  • masukkan air panas kemudian aduk
  • dan kopi pun siap untuk diminum
Urutan urutan langkah barusan merupakan sebuah algoritma...
dimana inputnya adalah bahannya(kopi,air panas, dan gula), alat pemrosesnya kurang lebih hanya sendok. Kemudian kopi tersebut dimasukkan ke sebuah cangkir.


Sebenarnya ALGORITMA itu "Sederhana"

Hmmm...
untuk meyakinkannya, saya akan mengilustrasikannya melalui sebuah resep "Kue Bolu Ketan Hitam"

Alat : 
  • Cetakan / Loyang
  • Mixer
  • Ayakan
Bahan:
  • 300 gr tepung ketan hitam
  • 100 gr tepung ketan putih
  • 1 sdt baking powder
  • 7 butir telur
  • 225 gr gula pasir
  • 1 sdt garam
  • 1/2 cake emulsifier (jika suka)
  • 125 ml minyak goreng
  • 5 sdm susu kental manis
  • 2 sdm air kelapa
Cara Membuat :
  1. Olesi loyang dengan minyak lalu panaskan dandang. Ayak tepung ketan hitam, tepung ketan putih & baking powder.
  2. Kocok telur, gula & garam sampai gula larut, masukkan cake emulsifier. Kocok dengan kecepatan tinggi sampai adonan kental & pucat.
  3. Masukkan bergantian campuran tepung ketan hitam & putih serta minyak goreng (dalam 2 tahap), aduk balik. Campur susu kental manis & air kelapa.
  4. Tambahkan campuran susu kental manis & air kelapa sedikit demi sedikit ke dalam adonan, aduk rata.
  5. Tuang adonan ke dalam loyang yang dipanaskan. Kukus 25 menit.
  6. Keluarkan cake dari loyang setelah dingin, lalu potong sesuai selera.

Mari kita rubah resep diatas menjadi sebuah bentuk algoritma...
VAR
         tepung_letan_hitam    :  300gr
         tepung_ketan_putih   :  100gr
         baking_powder         :  1 sendok teh
         telur                          :  7 butir
         gula_pasir                 :  225gr
         garam                       :  1 sendok teh
         cake_emulsifer          :  1/2 cake
         minyak_goreng         :  125 ml
         susu_kental_manis    :  5 sendok makan
         air_kelapa                :  2 sendok makan
         adonan                     :  null
         loyang                      :  0 (belum diisi)
         dandang                   :  0 (belum diisi)
         KUE                        :  null
BEGIN
         Olesi_Loyang( )
         Panaskan_Dandang( )
         Kocok_Adonan( Bahan-bahan, kecepatan )
         Aduk_Adonan( )
         loyang  =  adonan
         Kukus_adonan( loyang, temperature, lama_pengukusan )
        
         Output ( KUE )
END

Diatas dapat dilihat cara membuat kue dalam bentuk algoritma...
tidak jauh berbeda kan dengan algoritma lainnya...
Coba perhatikan..!!!
     Gula  :  500 gram
Apakah ada perbedaan dengan
     X : integer   //dalam PASCAL
     int X           // dalam JAVA

Sadar atau tidak, sebenarnya yang kita bingungkan adalah bahasa pemrograman-nya...
kita hanya bingung dengan penamaan-penamaannya saja...
Atau
logika dan Urutan langkah penyelesaian masalah kita saja yang belum sempurna
contoh :
Apabila kita membuat kue..kita lupa membeli gula.. Apakah hasilnya enak..??
jika saat membuat kue, tetapi kita mengocok terlebih dahulu tepung tanpa menggunkan air.
Apakah kuenya akan berhasil..??
Seorang ahli pembuat kue pun mungkin membuat kue yang tidak enak, gosong, atau tidak jadi sama sekali. Tidak mungkin pertama kali membuat kue, dia langsung menghasilkan kue yang super lezat.
Saya yakin itu...

Yang perlu kita lakukan adalah terus memperbaiki logika berfikir kita,,,
terus mencoba bagaimana membuat kue yang lebih dan lebiiih enak lagi...
Jangan lupa juga mengerti bagaimana bahasa pemrogramannya..bagaimana sifat-sifatnya.

Hmmmm.....
Semoga tulisan saya ini dapat merubah ketakutan anda mengenai Pemrograman  ^_^