net/publication/263820517
CITATIONS READS
10 51,007
1 author:
Antonius Rachmat
Universitas Kristen Duta Wacana
114 PUBLICATIONS 232 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Antonius Rachmat on 14 November 2016.
Antonius Rachmat C
KATA PENGANTAR
Antonius Rachmat C
antonie_oo@yahoo.com
DAFTAR ISI
PENUTUP...........................................................................................
REFERENSI .........................................................................................
Kompetensi Umum:
Dapat menjelaskan algoritma dan penggunaannya
dalam program komputer.
Kompetensi Khusus:
1. Dapat menjelaskan sistem komputer.
2. Dapat menjelaskan pengertian algoritma.
3. Dapat menjelaskan kriteria algoritma.
akan dipakai tidaklah tepat (clean) seperti yang diinginkan, namun harus di-
pre-processing terlebih dahulu.
Tahapan berikutnya adalah proses, yaitu proses menggoreng kentang.
Harus juga diperhatikan: ada berapa kentang yang harus digoreng? Apakah
cukup satu buah, lima buah, atau harus sampai berpuluh-puluh buah
karena akan ada pesta keluarga? Dalam hal ini harus dilakukan perulangan
kegiatan menggoreng sesuai dengan target yang diharapkan. Pada pemro-
graman kadang programmer juga harus mengulang beberapa bagian
program karena kesamaan hal yang harus dilakukan. Hal yang demikian
mempermudah pemrograman yang dilakukan.
Pada akhirnya juga harus diperhatikan apakah kentang yang sudah digoreng
akan dihidangkan dengan cara bagaimana, apakah dengan saus tomat atau
saus sambal? Pada saat menampilkan output hasil pemrosesan program,
seringkali juga harus dilakukan pemfilteran terhadap tampilan program
agar lebih baik dan sesuai dengan kebutuhan pengguna. Pada tahap ini juga
dilakukan pemilihan kondisi.
Dari contoh di atas dapat diambil gambaran tentang apa itu algoritma.
Secara sederhana algoritma adalah urutan langkah yang logis untuk
menyelesaikan masalah tertentu. Yang ditekankan adalah urutan langkah
logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak
boleh melompat-lompat. Secara definisi, algoritma adalah alur pemikiran
logis yang dapat dituangkan ke dalam bentuk tulisan. Yang ditekankan
pertama adalah alur pikiran, sehingga algoritma seseorang dapat berbeda
dengan algoritma orang lain. Sedangkan penekanan kedua adalah tertulis,
yang berarti dapat berupa kalimat, gambar, atau tabel tertentu. Gambar
atau simbol-simbol dalam algoritma sering disebut flowchart, yang akan
dibahas pada bab-bab selanjutnya.
Kata algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-
Khwarizmi, ilmuan Persia yang menulis kitab Al Jabr W’al-muqabala (Rules
of Restoration and Reduction) sekitar tahun 825 M, yang berasal dari Iran.
Algoritma masuk ke Indonesia bersamaan dengan masuknya teknologi
komputer ke Indonesia.
2. Output
Dari sisi output, minimal program harus memiliki 1 output. Program
pasti menghasilkan output karena program dibuat untuk tujuan
tertentu. Tujuan itulah output-nya. Ouput program bisa ditampilkan ke
layar (screen), ditulis ke file, atau disimpan di clipboard untuk kemudian
dipakai di program lain atau disimpan dalam basis data.
3. Finite (Terbatas)
Program harus pasti dan berhenti, bukan tak terhingga. Suatu program
yang dieksekusi haruslah berhenti dan selesai, bukan berjalan terus-
menerus hingga hang up atau not responding, dan akhirnya harus di-kill
(dimatikan) dengan paksa. Suatu program dapat mengalami infinite (tak
pernah berhenti) karena kesalahan programmer, mungkin karena
kurang teliti atau karena tidak ada kondisi yang bisa membuatnya
berhenti, atau mungkin karena ada error yang tidak terduga/tidak
tertangani dengan baik, misalnya file tidak ada namun program
mencarinya terus-menerus.
Memang ada program yang seolah-olah tidak pernah mati (terminate),
misalnya sistem operasi, namun sebenarnya sistem operasi juga pasti
akan berhenti, yaitu ketika sistem operasi tersebut di-shutdown.
4. Definite (Pasti)
Program harus jelas arah dan tujuannya. Suatu program harus jelas
kapan mulai dan kapan berakhir, apa tujuannya, dan memiliki logika
yang jelas agar dapat menghasilkan output yang sesuai dengan yang
diharapkan.
5. Efisien
Artinya, program harus efisien, tidak memakan banyak memori, tidak
melakukan hal-hal yang tidak perlu. Suatu operasi/kegiatan yang tidak
perlu, misalnya adalah x = 5 + 0 atau y = 100 * 0. Mengapa operasi
tersebut tidak efisien, karena setiap operasi pasti membutuhkan waktu
eksekusi, padahal operasi tersebut jelas tidak berguna, karena
berapapun bilangan yang ditambah dengan nol pasti bilangan itu
sendiri dan bilangan apa pun dikalikan dengan nol pasti nol. Nah,
mengapa harus dihitung lagi? Berarti program tidak efisien.
Pengantar Algoritma 7
maka akan dihitung dan digunakan untuk dimasak. Karena itu akan
dilakukan pengubahan algoritma sebagai berikut:
a. Ibu Titin mengambil kantong kentang dari dalam rak.
b. Ibu Titin mengambil panci dari almari.
c. Menurut kebiasaan Ibu Titin, pada hari biasa Ibu Titin menggunakan
baju warna cerah sehingga dia harus menggunakan celemek,
sedangkan pada hari sabtu dan minggu dia menggunakan baju
warna hitam. Maka sebelum mengupas kentang perlu diperhatikan
apakah Ibu Titin harus memakai celemek atau tidak, yang
bergantung pada hari apa saat itu.
d. Ibu Titin mengupas kentang. Karena harus mengupas sebanyak 50
buah maka langkah ini akan diulangi 50 kali.
e. Periksa kentang: jika mutunya baik maka akan dihitung, tetapi jika
tidak maka akan dibuang dan tidak dihitung.
f. Setelah selesai mengupas 50 kentang, Ibu Titin mengembalikan sisa
kentang dalam kantong ke dalam rak.
g. Ibu Titin memasak kentang.
h. Ibu Titin menghidangkan kentang yang sudah masak.
Pada contoh terakhir ini dapat dilihat bahwa algoritma Ibu Titin
mengandung semua bentuk algoritma, yaitu sekuensial, percabangan,
dan perulangan.
Kompetensi Umum:
Dapat menjelaskan dan menggunakan flowchart dan
pseudocode sebelum ataupun sesudah membuat
program.
Kompetensi Khusus:
1. Dapat menjelaskan pengertian flowchart dan
pseudocode.
2. Dapat menggunakan simbol-simbol flowchart untuk
menuangkan isi pemikiran sebelum dan sesudah
membuat program.
3. Dapat menggunakan notasi pseudocode untuk
menuangkan isi pemikiran sebelum dan sesudah
membuat program.
Simbol Keterangan
Mulai
Selesai
Aliran Data
Proses / Kejadian
Sekuensial
Percabangan
Perulangan
16 Algoritma dan Pemrograman dengan Bahasa C
Simbol Keterangan
Input
Output
Disk
Dokumen / Multi
Dokumen