Algoritma dan Pemrograman Komputer – Pengenalan

Komputer

Peran komputer dewasa ini mengalami peningkatan yang sangat pesat, terbukti dari pemanfaatan komputer untuk membantu menyelesaikan berbagai masalah dalam berbagai bidang kehidupan manusia. Misalkan saja membantu dalam pengelolaan/ administrasi suatu perusahaan, bahkan dalam dunia hiburan, seperti Game. Masih banyak lagi contoh – contoh nyata lainnya, tentang bagaimana peran komputer dalam kehidupan manusia saat ini.

Dalam perannya tersebut, komputer tidak akan dapat membantu manusia jika tidak ada aplikasi yang dibuat/ diperuntukkan untuk mengatasi suatu masalah/ pekerjaan tertentu tersebut. Berbagai macam jenis aplikasi telah berkembang saat ini, dimana aplikasi – aplikasi tersebut menyesuaikan permintaan para pengguna (misal suatu perusahaan). Nah, jika membahas aplikasi – aplikasi komputer yang banyak berkembang saat ini, tentunya tidak akan lepas dari yang namanya Software Developer (bisa disebut Developer aja), yaitu orang/ perusahaan yang membuat (membangun) aplikasi komputer. Mungkin kalo orang yang buat lebih tepat disebut sebagai Programmer, ya..?

Programmer inilah yang bertugas membuat aplikasi, sesuai dengan permintaan konsumen. Dalam pembuatan aplikasi tersebut, tentunya digunakan yang namanya Algoritma untuk menyelesaikan suatu masalah/ pekerjaan tertentu. Tentunya ada banyak Algoritma yang dapat diterapkan pada suatu kasus, dan di sinilah tugas seorang programmer untuk dapat memilih Algoritma yang akan diterapkan untuk mendapatkan hasil terbaik dalam penyelesaian suatu masalah/ pekerjaan tertentu. Tentunya Algoritma tersebut haruslah tangguh (cepat, tepat, efisien, efektif, dsb), sehingga akan berpengaruh terrhadap performa aplikasi yang dibuat. Sedangkan proses pembuatan suatu aplikasi/ program tersebut disebut sebagai Pemrograman. Di dalamnya mencakup banyak hal, seperti Analisa, Perancangan, Coding, Dokumentasi, dll. Nanti akan kita bahas pada artikel berbeda, sabar ya..!? ^^

Tengok saja satu contoh, search engine Google tm, yang saat ini merupakan salah satu search engine terpopuler (mungkin search engine #1 dunia) yang banyak digunakan masyarakat dunia. Tentunya para programmer Google memiliki algoritma – algoritma khusus yang diterapkan selama proses searching dilakukan, sehingga yang kita (sebagai pengguna) rasakan adalah kecepatan hasil yang ditampilkan sangat fantastis. Memang ada beberapa algoritma searching yang umum digunakan, namun para programmer mungkin menggunakan salah satunya, namun dengan peng-optimal-an di sana sini. Hmm.. bisa bayangkan bagaimana Algoritma yang digunakan Google?

Apa sih Algoritma?

Dari awal kita sudah cukup banyak bicara tentang Algoritma. Terus Algoritma sendiri itu apa?
Algoritma menurut saya pribadi dan kebanyakan definisi yang saya temukan di internet mengacu pada suatu hal/ definisi yang sama, yaitu suatu cara/ langkah yang digunakan untuk menyelesaikan suatu kasus/ permasalahan/ pekerjaan tertentu. Algoritma tidak hanya berlaku di dalam dunia pemrograman, namun lingkupnya luas mencakup ke seluruh aspek kehidupan manusia. Namun memang Algoritma lebih sering dikaitkan dengan pemrograman komputer itu sendiri. Dalam Algoritma, pasti terdapat alur proses penyelesaian masalah, dimana biasanya mencakup Input, lalu Proses, hingga berakhir pada suatu Output yang diinginkan. Mengapa saya katakan biasanya? Karena terkadang ada ada program komputer yang dibuat tanpa ada Input, namun langsung menghasilkan suatu Output tertentu. Mungkin program – program iseng, atau bagi mereka yang termasuk baru belajar pemrogramman. Nah, dalam menyelesaikan suatu permasalahan, suatu Algoritma yang dibuat hendaknya memenuhi beberapa kriteria berikut :

  1. Finite (Terbatas)
    Disini maksudnya adalah suatu Algoritma harus berhenti setelah beberapa langkah yang dilaksanakan. Tidak mungkin suatu Algoritma akan terus berjalan jika hasil yang diharapkan sudah didapat. Itu == buang waktu == tidak efisien.
  2. Presisi (Tepat, pas)
    Algoritma yang dibuat harus tepat sesuai apa yang diinginkan. Jika permasalahan yang dihadapi adalah cara mencari luas suatu segitiga, maka Algoritma yang digunakan harus berakhir/ menghasilkan luas segitiga yang diinginkan sesuai input yang diberikan, seperti panjang alas dan tinggi segitiga tersebut.
  3. Complete (Lengkap)
    Lengkap di sini maksudnya adalah Algoritma yang dibuat harus lengkap, dalam menyelesaikan suatu permasalahan. Tidak ada Algoritma yang berhenti di tengah jalan namun hasil yang diharapkan tidak didapatkan. Jika kita dihadapkan pada suatu kasus, misalkan saja mencari luas segitiga, maka keseluruhan alur harus lengkap, baik dari Input, Proses, hingga Output.

Tentunya masih ada kriteria – kriteria lain yang menurut orang lain dianggap harus dipenuhi, namun bagi saya sendiri kriteria – kriteria di atas sudah cukup.

Algoritma, gimana bentuknya?

Mungkin lebih tepat ditanyakan seperti ini, “Gimana sih cara menyajikan suatu Algoritma?” Untuk menyajikan suatu Algoritma, kata dosen saya ada beberapa cara yang dapat dipilih, seperti menggunakan Natural Language (Bahasa natural), Flowchart (Diagram Alir), Pseudo-code, dan terakhir dalam bentuk Bahasa Pemrograman sesungguhnya.

Natural Language (Bahasa Natural), adalah cara penyajian Algoritma dengan menggunakan bahasa sehari – hari. Langkah demi langkah dibuat berurutan. Untuk lebih jelasnya, perhatikan contoh algoritma untuk mengirim surat berikut :

  1. Tulis surat pada secarik kertas surat.
  2. Ambil sampul surat.
  3. Masukkan surat ke dalam sampul.
  4. Tutup sampul surat menggunakan perekat.
  5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat.
  6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat pada sampul surat.
  7. Tempel perangko pada surat.
  8. Bawa surat ke kantor pos untuk diposkan.

Algoritma tersebut disajikan dengan menggunakan bahasa natural, bahasa sehari – hari hingga mungkin akan lebih mudah dimengerti. Namun akan menjadi masalah ketika kita membuat program dalam skala cukup besar. Mengapa? Silakan dipikirkan sendiri.. ^^

Flowchart (Diagram Alir), adalah cara penyajian yang cukup banyak digunakan saat ini. Dari namanya, mungkin Anda sudah dapat menebak bahwasanya cara penyajian ini adalah menggunakan gambar/ bagan/ simbol – simbol khusus yang sudah paten, standar secara internasional. Simbol – simbol tersebut jumlahnya cukup banyak, mewakili komponen – komponen utama dalam Algoritma seperti Input, Percabangan, Output, dll. Untuk lebih jelasnya akan dibahas pada artikel kelanjutannya.. hehehe.. ^^ Namun untuk sekedar bayangan, coba perhatikan Flowchart berikut ini :

contoh flowchart
Untuk sementara, silakan Anda coba – coba terka apa yang dimaksud diagram di atas.. ^^

Nah, yang berikutnya adalah dengan Pseudo-code. Menyajikan suatu Algoritma dengan Pseudo-code cukup banyak pula ditemui, seperti yang dilakukan Wikipedia. Jika Anda browsing tentang macam – macam jenis Algoritma umum, biasanya Algoritma2 tersebut akan disajikan dalam bentuk Pseudo-code. Apa sih Pseudo-code? Pseudo-code adalah suatu cara penyajian Algoritma dengan menggunakan ‘kata – kata’ mirip Bahasa Pemrograman (tertentu). Misalkan saja Pascal, C++, dsb. Berikut contohnya (diambil dari http://en.wikipedia.org/wiki/Pseudocode) :

<variable> = <expression>

if <condition>
    do stuff;
else
    do other stuff;

while <condition>
    do stuff;

for <variable> from <first value> to <last value> by <step>
    do stuff with variable;

function <function name>(<arguments>)
    do stuff with arguments;
    return something;

<function name>(<arguments>)    // Function call

Mungkin masih belum paham sekarang.. Tapi tenang, nanti akan kita bahas lebih lanjut.. ^^

Yang terakhir adalah penyajian dalam bentuk Bahasa Pemrograman asli. Penyajian ini biasanya dilakukan setelah salah satu dari cara – cara sebelumnya dilakukan. Misalkan kita buat dulu Flowchartnya, baru nantinya kita implementasikan ke dalam Bahasa Pemrograman. Bahasa Pemrograman yang digunakan biasanya disesuaikan dengan skala aplikasi yang dibuat, apakah aplikasi kecil – kecilan atau aplikasi skala Enterprise.

Nah, pada artikel selanjutnya akan kita bahas tentang cara penyajian Algoritma yang lebih spesifik lagi.. See ya..!! ^^
(Mohon maap kalo isi artikel ini kurang pas menurut mas2 mbak2.. Silakan dikoreksi..)

OpenSource is My CHOICE!! You !?!

<variable> = <expression>

if <condition>
    do stuff;
else
    do other stuff;

while <condition>
    do stuff;

for <variable> from <first value> to <last value> by <step>
    do stuff with variable;

function <function name>(<arguments>)
    do stuff with arguments;
    return something;

<function name>(<arguments>)    // Function call
Advertisements

4 thoughts on “Algoritma dan Pemrograman Komputer – Pengenalan

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s