Senin, 19 Oktober 2015

ALGORITMA & FLOWCHART

4 komentar

Apa Itu Algoritma ?

Algoritma merupakan matakuliah wajib bagi mahasiswa jurusan komputer. Nama matakuliah sering digabung dengan istilah lain seperti algoritma dan struktur data atau algoritma dan pemrograman. Pada postingan ini saya akan menjelaskan tentang algoritma dan bagaimana peran algoritma dalam dunia komputer.

Pengertian Algoritma

Algoritma adalah urutan langkah-langkah yang logis untuk menyelesaikan suatu masalah. Ketika kita punya suatu masalah maka kita harus bisa menyelesaikan masalah tersebut dengan langkah-langkah yang logis. Contoh algoritma sederhana dalam kehidupan sehari-hari adalah ketika kita akan memasak air:
  1. Siapkan panci
  2. Masukkan air ke dalam panci
  3. Tutup panci
  4. Letakkan panci di atas kompor
  5. Hidupkan kompor
  6. Jika air sudah mendidih, matikan kompor.
  7. Angkat panci dari kompor
Langkah-langkah di atas bisa disebut sebagai algoritma memasak air. Sehingga urutan langkah-langkahnya harus logis dalam memasak air. Bagaimana jika kita menukar urutan langkah-langkahnya? Misalnya saya ubah menjadi seperti ini:
  1. Siapkan panci
  2. Tutup panci
  3. Masukkan air ke dalam panci
  4. Letakkan panci di atas kompor
  5. Hidupkan kompor
  6. Jika air sudah mendidih, matikan kompor
  7. Angkat panci dari kompor
Apa hasilnya? Kita tidak jadi memasak air tapi malah memasak panci :D. Karena saya ubah pada langkah ke-2 yang seharusnya masukkan air terlebih dahulu baru pancinya ditutup. Kalau menutup panci dulu baru airnya dimasukkan ya airnya tidak masuk. :D

Bentuk Dasar Algoritma

Algoritma memiliki 3 bentuk dasar yang wajib kita ketahui yaitu:

1. Algoritma Sekuensial (Sequence Algorithm)

Algoritma sekuensial adalah algoritma yang langkah-langkahnya berurutan dari awal sampai akhir. Bentuk ini sudah kita lihat pada contoh algoritma memasak air di atas. Setiap langkah dijalankan urut dari atas sampai bawah.

2. Algoritma Perulangan (Looping Algorithm)

Algoritma perulangan akan menjalankan langkah tertentu berulang-ulang. Pada masalah yang kita hadapi sering kali ada suatu langkah yang harus dilakukan berulang-ulang. Contoh algoritma perulangan adalah algoritma menjemur pakaian:
  1. Siapkan jemuran
  2. Ambil satu pakaian yang akan dijemur
  3. Peras pakaian
  4. Letakkan pakaian pada tiang jemuran
  5. Ulangi langkah 2 sampai 4 sampai pakaian habis
Dari algoritma di atas kita tahu bahwa langkah ke-2 sampai ke-4 harus dilakukan berulang-ulang sampai pakaian habis.

3. Algoritma Percabangan / Bersyarat (Conditional Algorithm)

Algoritma ini akan menjalankan langkah berikutnya apabila ada syarat yang sudah dipenuhi. Kita lihat pada algoritma memasak air di atas. Saya tuliskan kembali pada bagian bersyaratnya:
  1. Hidupkan kompor
  2. Jika air sudah mendidih, matikan kompor.
  3. Angkat panci dari kompor
Algoritma bersyarat terletak pada langkah ke-6. Jika air sudah mendidih, matikan kompor. Sehingga apabila air belum mendidih maka kompor tidak akan dimatikan.

Merancang Algoritma yang Baik

Algoritma yang baik menurut Donald E. Knuth memiliki kriteria sebagai berikut:
Input (Masukan)
Algoritma memiliki nol input atau lebih
Output (Keluaran)
Harus menghasilkan minimal 1 output.
Finite (Terbatas)
Algoritma harus berhenti setelah menjalankan langkah-langkah yang diperlukan.
Definite (Pasti)
Harus jelas kapan algoritma dimulai dan kapan berakhir. Apa tujuan algoritma dibuat juga harus jelas. Setiap langkah harus didefinisikan dengan jelas.
Efisien
Perancangan algoritma harus efisien. Langkah yang tidak efisien misalnya mencari hasil 1 + 0. Ini tidak efisien karena bilangan apapun yang ditambah dengan nol maka hasilnya adalah bilangan itu sendiri. Sehingga langkah seperti ini tidak perlu dimasukkan ke dalam algoritma.

Pentingnya Algoritma di Bidang Pemrograman

Setelah membaca uraian singkat di atas anda sadar bahwa algoritma sangatlah penting dalam dunia komputer terutama pemrograman. Programmer harus paham betul akan dasar-dasar algoritma sehingga bisa mengembangkan algoritma yang lebih kompleks.
Sering kali ada dosen yang langsung mengajarkan pemrograman tanpa mengajarkan mahasiswa tentang algoritma sehingga mahasiswa bingung ketika dihadapkan pada persoalan yang lebih kompleks. Jika dosen anda mengajarkan langsung pada pemrograman sebaiknya anda membaca artikel atau buku tentang algoritma dan memahaminya.
Saking pentingnya algoritma dalam pemrograman sampai saya membuat kategori tersendiri untuk artikel yang berkaitan dengan algoritma. Dengan begitu anda dan juga saya sendiri bisa dengan mudah mencari artikel tentang algoritma.

Sedangkan dalam dunia komputasi, contoh penggunaan Algoritma adalah dalam pembuatan program pada bahasa pemrograman seperti bahasa C++, Visual Basic, dan masih banyak lagi. Dengan syntax pada tiap bahasa pemrograman dan Algoritma, maka akan tersusun program-program dan terlahirlah software.
Setelah kita tahu pengertian algoritma, kemudian kita akan mempelajari pengertian flowchart.

Flowchart/diagram alir adalah metode untuk menggambarkan tahap-tahap penyelesaian masalah, beserta aliran data dengan simbol-simbol standar yang mudah dipahami. Dalam kehidupan sehari-hari, flowchart banyak digunakan di pusat-pusat layanan seperti kantor pemerintahan, bank, rumah sakit, organisasi masyarakat, dan perusahaan.

Tujuan penggunaan flowchart adalah untuk menyederhanakan rangkaian proses atau prosedur untuk memudahkan pemahaman pengguna terhadap informasi tersebut. Oleh karena itu, design sebuah flowchart harus ringkas, jelas, dan logis.

Symbol-symbol Flowchart :
 
 
Berikut ini adalah contoh sebuah flowchart mengenai bilangan ganjil dan genap.
 
 
Persamaan algoritma dan flowchart adalah merincikan suatu proses dari awal sampai akhir.
Perbedaan algoritma dan flowchart adalah kalau algoritma menjelaskan suatu proses tanpa menggunakan simbol sedangkan flowchart menjelaskan suatu proses menggunakan simbol-simbol tertentu. 

 

 

4 komentar: