Tampilkan postingan dengan label Pemrograman. Tampilkan semua postingan
Tampilkan postingan dengan label Pemrograman. Tampilkan semua postingan

23 Desember 2010

Apakah Algoritma Itu?

Pada postingan kali ini, saya akan membicarakan tentang algoritma. Mungkin kita sering mendengar orang menyebutkan kata ini, algoritma, khususnya di perguruan tinggi. Hampir di semua sisi kehidupan kita, selalu berkaitan dengan yang namanya algoritma. Mau membuat program komputer, mau menyelesaikan soal-soal matemetika, pasti pakai algoritma. Bahkan kegiatan sehari-hari pun tidak lepas dari yang namanya algoritma.

Mengapa algoritma selalu ada? Jawabnya simpel saja, selama ada masalah, maka algoritma juga ada dan akan selalu diusahakan untuk ada. Lalu apa hubungannya?

Begini, pada saat kita menghadapi masalah, tentu kita ingin menyelesaikan masalah tersebut, iya kan? Bagaimanapun, seberat apapun masalahnya, kita ingin agar masalah itu selesai. Nah, proses-proses dan langkah-langkah kita dalam penyelesaian masalah inilah yang disebut dengan algoritma. Ya… walaupun dalan kenyataannya kita tidak pernah menggunakan atau bahkan tahu dengan sebutan algoritma.

Algoritma adalah rangkaian prosedur atau langkah-langkah yang berurutan untuk memecahkan dan menyelesaikan suatu masalah.
Ya, begitulah kira-kira gambaran singkat tentang algoritma. Lalu seperti apa sih contohnya? Tadi kan disebut bahwa kehidupan ini tidak lepas dengan yang namanya algoritma. Coba kita baca dulu beberapa masalah berikut ini :

1. Misalkan Anda seorang pelajar atau mahasiswa (seperti saya), setiap pagi hari harus pergi ke sekolah/kampus, apa yang Anda lakukan untuk memecahkan masalah Anda ini, agar Anda bisa sampai tujuan.
2. Anda punya 2 gelas minuman, 1 gelas berisi susu dan lainnya berisi teh, bagaimana cara Anda menukarkan isi kedua gelas tersebut? Ingat ya, ditukar, bukan dicampur…
3. Anda hobi bikin kue, misalnya donat, bagaimana cara Anda bikin kue tersebut?
4. Banyak lagi masalah-masalah lainnya, Anda pikirkan saja sendiri.

Melihat beberapa contoh tersebut yang menuntut penyelesaian, maka kesatuan setiap urutan langkah-langkah kita dalam menyelesaikannya disebut algoritma. Sekarang coba kita lihat bagaimana algortima dari contoh-contoh di atas.

Contoh 1 :
1. bangun pagi-pagi
2. mandi
3. berpakaian rapi
4. makan pagi/sarapan
5. berangkat ke sekolah/kampus naik motor
6. kalau tidak, ikut teman
7. kalau tidak, naik angkot
8. sampai sekolah/kampus, belajar

Contoh 2 :
1. beri nama A untuk gelas berisi susu dan B untuk gelas berisi teh
2. ambil 1 gelas kosong untuk membantu proses pertukaran, beri nama C untuk gelas bantu tersebut
3. tuang susu dari gelas A ke dalam gelas C
4. tuang teh dari gelas B ke dalam gelas A
5. tuang susu dari gelas C ke dalam gelas B
6. susu dan teh sudah bertukar tempat

Contoh 3 :
Untuk contoh ini, saya rasa Anda sudah mengerti maksudnya. Tinggal lihat resep bikin kue donat, lakukan seperti petunjuk dan langkah-langkahnya…
Misalnya, siapkan bahan kue, campur dan aduk adonan dan seterusnya…

Dari contoh-contoh di atas, 1 kesatuan langkah-langkah yang kita lakukan untuk menyelesaikannya disebut dengan algoritma. Perlu diperhatikan bahwa ada beberapa catatan penting dalam penyusunan algoritma, yaitu :

* langkah-langkahnya harus bisa dilaksanakan (logis) dan sederahana serta seringkas mungkin
* harus dapat berhenti setelah mengerjakan beberapa prosedur/langkah-langkah
* ada sesuatu yang menjadi sumber pengerjaan algoritma itu (ada inputnya)
* ada hasil (output) yang didapat dari algoritma tersebut sekalipun tidak ada nilainya (nol)

Karena algoritma adalah jantungnya komputer, maka mempelajari algoritma adalah hal penting sebagai dasar dalam pembuatan program. Contoh di atas kita jadikan gambaran bahwa dalam penyelesaian sebuah program tidak jauh bebeda dengan penyelesaian masalah kita sehari-hari. Bedanya mungkin hanya pada penulisan algoritmanya dan masalah yang dihadapi.

Nah, mumpung saya lagi baik hati. Disini saya sediakan modul tentang algoritma dan pemrograman. Silakan anda download di link berikut ini :

Semoga bermanfaat yachh.. ^.^!!

30 November 2010

Konstruksi Dasar Algoritma

Karena algortima berisi langkah-langkah penyelesaian masalah, maka tiap-tiap langkah tersebut bisa berisi aksi-aksi yang dijalankan secara terurut, ada pemilihan aksi dengan kondisi tertentu dan ada juga pengulangan terhadap aksi-aksi tertentu. Jadi, sebuah algoritma dapat dibangun dari 3 konstruksi yaitu urutan atau runtunan (sequence), seleksi atau pemilihan dan pengulangan (repetition).
Setiap langkah-langkah yang ada pada salah satu atau semuanya, berupa pernyataan-pernyataan yang berisi aksi-aksi tertentu. Jika sebuah pernyataan dieksekusi (dijalankan), maka aksi yang ada dalam pernyataan tersebut akan dikerjakan.

Bingung ya?… Kita teruskan saja dulu…
Sebagai contoh untuk pernyataan yang berisi aksi tertentu, coba Anda perhatikan pernyataan-pernyataan di bawah ini:

Isi ember dengan air

Kalimat tersebut adalah pernyataan yang berisi aksi untuk mengisi ember dengan air.


Kalikan 2 dengan 5

Pernyataan dengan aksi mengalikan 2 dengan 5.

Tulis “Selamat Datang”

Merupakan pernyataan yang berisi aksi menulis pesan “Selamat Datang”.

Ketiga konstruksi algoritma di atas (runtunan, pemilihan dan pengulangan) juga berisi pernyataan-pernyataan yang akan di proses sesuai bentuknya masing-masing. Untuk lebih jelasnya, perhatikan gambar di bawah.



Setiap persegi panjang pada gambar menunjukkan pernyataan yang berisi aksi-aksi tertentu dan anak panah menunjukkan aliran instruksi.

Runtunan (sequence)


Pada runtunan, suatu pernyataan dilaksanakan setelah pernyataan sebelumnya (di atasnya) selesai dieksekusi. Begitu pula untuk pernyataan di bawahnya. Contoh untuk runtunan ini adalah seperti yang saya buat di posting sebelumnya tentang contoh algoritma. Misalnya tentang mempertukarkan isi 2 buah ember. Coba Anda perhatikan.

ALGORITMA tukar isi ember

1. Tuang air dari ember A ke ember C
2. Tuang air dari ember B ke ember A
3. Tuang air dari ember C ke ember B

Pada contoh di atas, setiap pernyataan (dan aksinya) dilaksanakan berurutan dari atas ke bawah satu per satu. Jika susunannya diubah atau dieksekusi secara acak, akan terjadi kesalahan dan isi kedua ember tidak dapat dipertukarkan… :-)

Pemilihan (selection)

Di bentuk pemilihan, pernyataan baru akan dieksekusi atau dijalankan apabila memenuhi syarat-syarat tertentu. Contoh seleksi ini secara umum dapat dituliskan dalam bentuk pernyataan seperti berikut.

Jika air dalam ketel mendidih, maka matikan kompor

Contoh di atas memberikan pilihan untuk mematikan kompor atau membiarkan kompor tetap menyala dengan syarat mendidihnya air dalam ketel. Kalau airnya tidak (belum) mendidih, berarti kompor tidak dimatikan.

Penulisan Pseudo-code untuk bentuk pemilihan ini umumnya adalah :

if air mendidih then
matikan kompor

if berarti jika dan then berarti maka.

Struktur pemilihan ini tidak terbatas pada satu pilihan saja, seleksi dapat berisi beberapa pilihan sesuai keperluan. Ini insya Allah akan kita bahas pada posting-posting berikutnya.

Pengulangan (repetition)

Pengulangan merupakan sebuah kelebihan komputer, karena komputer dapat melakukan hal yang sama secara berulang-ulang tanpa kenal lelah. Contoh pengulangan ini misalnya, saat kita SD dulu :-D mendapat hukuman menulis janji tidak akan bolos lagi sebanyak 100 kali :-D :-D :-D

1. Tulis “Saya tidak akan membolos lagi”
2. Tulis “Saya tidak akan membolos lagi”
3. Tulis “Saya tidak akan membolos lagi”

100. Tulis “Saya tidak akan membolos lagi”

Pada algoritma, kalimat “Saya tidak akan membolos lagi” cukup ditulis 1 kali, tetapi akan dieksekusi sabanyak 100 kali. Lebih singkat daripada menulis sebanyak 100 kali sampai habis, betul tidak??? Nah, nanti akan kita bahas tentang bentuk-bentuk pengulangan yaitu for, while dan repeat.

Struktur Dasar Algoritma

Pada postingan yang lalu kita telah bahas tentang Konstruksi Dasar Algoritma, Setelah konstruksi dasar pembentuk algoritma, sekarang kita lihat bagaimana struktur dasar dari teks algoritma. Sehingga dengan mengikuti struktur tersebut kita dapat menyusun algoritma-algoritma tertentu untuk menyelesaikan masalah dengan efektif.

Algoritma disusun oleh 3 bagian (blok) yang biasanya selalu ada dalam sebuah algoritma. 3 bagian itu adalah :

1. bagian judul (header)
2. bagian deklarasi (declaration)
3. bagian algoritma (sebagian menyebutnya dengan deskripsi)

Ketiga bagian tersebut secara umum ditunjukkan dalam notasi algoritmik seperti di bawah.

PROGRAM nama program
{berisi judul algoritma, singkat dan jelas}

DEKLARASI
{sebagai tempat untuk mengenalkan nama atau variabel apa saja yang digunakan dan tipe datanya serta prosedur dan fungsi yang dipakai}

ALGORITMA :
{berisi langkah-langkah penyelesaian masalah}

Pada setiap bagian sebaiknya diberikan komentar untuk memperjelas maksud dari pernyataan tersebut. Untuk komentar, penulisannya diapit oleh tanda kurung kurawal { dan }. Dengan komentar, algoritma yang kita buat menjadi lebih dimengerti dan dipahami, dan komentar ini tidak akan dieksekusi karena akan dilewati saja oleh program.

Bagian Judul (header)

Sesuai bagiannya, kita perlu memberi judul terhadap algoritma yang kita buat. Judul sebaiknya singkat, dan jelas serta menggambarkan apa yang dilakukan oleh program. Di bawah judul, sebaiknya juga diberikan komentar singkat tentang masalah yang ingin diselesaikan itu, dan bagaimana masukan dan keluarannya.

Contohnya :

PROGRAM ucapan selamat datang
{program untuk menampilkan ucapan selamat datang kepada pengguna dengan masukan nama pengguna}

Bagian Deklarasi (declaration)

Digunakan untuk memperkenalkan semua variabel atau nama-nama yang akan terlibat dalam algoritma termasuk tipe data dan sebagainya. Apapun nama dan variabel yang digunakan dalam algoritma harus di ‘umumkan’ terlebih dahulu di bagian deklarasi ini, jika tidak, algoritma (dan program) tidak akan bisa menyelesaikan masalah. Justru malah menjadi masalah.

Contoh deklarasi adalah :

DEKLARASI
nama : string
usia : integer

Nama atau variabel adalah satu kesatuan leksikal, sehingga nama tidak boleh mengandung spasi, tanda baca, tanda operator dan sebagainya kecuali tanda “_” (garis bawah). Pada algoritma, tidak dibedakan antara huruf besar (kapital) atau huruf kecil, semuanya dianggap sama. Lebih jelasnya akan kita lihat pada posting berikutnya…

Bagian Algoritma (deskripsi)

Bagian ini adalah inti dari program untuk menyelesaikan masalah. Berisi instruksi-instruksi untuk pemecahan masalah dengan menggunakan notasi pseudo-code. Tidak perlu berpanjang lebar, kita lihat saja contohnya.

ALGORITMA :
read(nama, usia)
write(’Selamat Datang ‘, nama)
write(’Usia Anda sekarang adalah ‘, usia, ‘tahun’)

Nah, kalau ketiga bagian di atas digabungkan menjadi 1 kesatuan algoritma akan menjadi :

PROGRAM ucapan selamat datang
{program untuk menampilkan ucapan selamat datang kepada pengguna dengan masukan nama pengguna}

DEKLARASI
nama : string
usia : integer

ALGORITMA :
read(nama, usia)
write(’Selamat Datang ‘, nama)
write(’Usia Anda sekarang adalah ‘, usia, ‘tahun’)

Setelah program dieksekusi dan dijalankan, misalnya nama diisi dengan Mr. X dan usia diisi 27, maka akan dihasilkan :

Selamat Datang Mr. X
Usia Anda sekarang adalah 27 tahun

About Me

Foto saya
Adalah putra kampar kiri, lahir tanggal 11 Agustus 1991, sedang menyelesaikan studinya di Fakultas Ilmu Komputer Universitas Muhammadiyah Riau, Pekanbaru.

Kategori

Tukeran link yuuuk..!!
Copy kode diatas masukan di blog anda!!

Mau berlangganan? Masukkan alamat emailmu dibawah ini!

Delivered by FeedBurner

English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

Template by KangNoval & Abdul Munir | blog Blogger Templates