Anda di halaman 1dari 20

PENGANTAR ALGORITMA DAN PEMROGRAMAN

UNIVERSITAS QOMARUDDIN
PROGRAM

 Program adalah kumpulan instruksi atau perintah yang disusun


sedemikian rupa sehingga mempunyai urutan nalar yang tepat
untuk menyelesaikan suatu persoalan. (Menurut P. Insap santosa).
TAHAPAN PELAKSANAAN PEMBUATAN PROGRAM
Algoritma

Interpretasi
Program :
Program dlm Bahasa Tingkat Tinggi Realisasi
dari
Kompilasi + lingking
Algoritma.
Program dlm Bahasa Mesin

Interpretasi oleh CPU

Operasi (baca, tulis, hitung, perbandingan, dsb)


ALGORITMA

 Algoritma berasal dari kata penulis buku Arab terkenal Abu Ja’far Muhammad ibnu Musa
Al-Khwarizmi. (Oleh orang Barat di baca algorism), dalam bahasa indonesia menjadi
algoritma
 Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah.
 Urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh
melompat-lompat.
 (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
 Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
 Alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain.
 Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
 (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
• Pertimbangan dalam pemilihan algoritma adalah algoritma haruslah benar. Artinya
algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang
diberikan.

• Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah,


pastilah algoritma tersebut bukanlah algoritma yang baik.
KRITERIA ALGORITMA (DONALD E. KNUTH)
1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
2. Output: algoritma harus memiliki minimal satu buah output keluaran.
3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas
dan tidak ambigu.
4. Finiteness (ada batas): algoritma harus memiliki titik berhenti
(stopping role).
5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus
dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif
adalah: A = A + 0 atau A = A * 1
STRUKTUR DASAR ALGORITMA

 Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.


 Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
 Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
PENULISAN ALGORITMA

 Menggunakan bahasa natural (Bahasa manusia: Indonesia, Inggris)


Kelemahannya masih sering membingungkan (ambigu) / sulit dipahami.
 Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi repot pembuatannya
jika algoritma panjang
 Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh orang yang
belum tahu pemrograman
CONTOH ALGORITMA
MENGGUNAKAN BAHASA NATURAL

 Algoritma mengirim surat


 Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain,
langkah yang harus dilakukan adalah:
1. Menulis surat
2. Surat dimasukkan ke dalam amplop tertutup
3. Tulis alamat tujuan pada amplop.
4. Amplop ditempeli perangko secukupnya.
5. Pergi ke Kantor Pos terdekat untuk mengirimkannya
algoritma menjemur pakaian
1) Siapkan jemuran.
2) Ambil satu pakaian yang nantinya akan dijemur.
3) Peras pakaian tersebut terlebih dahulu.
4) Letakkan pakaian tersebut pada tiang jemuran.
5) Ulangi langkah dari 2 sampai 4 hingga pakaian habis.

Dari algoritma di atas, dapat diketahui bahwa dari langkah 2 sampai 4 harus
dilakukan secara berulang-ulang hingga pakaian habis.
Algoritma Memasak air : 
1) Siapkan panci.
2) Masukkan air secukupnya ke dalam panci.
3) tutup panci tersebut.
4) letakkan panci tersebut di atas kompor.
5) Hidupkan kompor.
6) Apabila air sudah mendidih, lalu matikan kompor.
7) Angkat panci tersebut dari kompor.
Algoritma bersyarat atau conditional algorithm terdapat pada langkah ke 6. Apabila air
sudah mendidih, lalu matikan kompor. Sehingga apabila air tersebut belum mendidih,
maka kompor tidak dimatikan.
Menentukan apakah suatu bilangan merupakan
bilangan ganjil atau bilangan genap.
 Masukkan sebuah bilangan sembarang
 Bagi bilangan tersebut dengan bilangan 2
 Hitung sisa hasil bagi pada langkah 2.
 Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi
bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.
Algoritma menghitung luas persegi panjang:
 Masukkan panjang (P)
 Masukkan lebar (L)
 Luas ←P * L
 Tulis Luas
FLOWCHART

 Flowchart : Bentuk gambar/diagram alir dari langkah-langkah program yang mempunyai satu atau
dua arah aliran secara sekuensial
Kegunaan:
 Untuk mendesain program
 Untuk merepresentasikan program
Maka, flowchart harus dapat merepresentasikan komponen-komponen dalam bahasa pemrograman
Sebelum pembuatan program
 Mempermudah programmer dalam menentukan alur logika program
Sesudah pembuatan program
 Menjelaskan alur program kepada orang lain
Berikut adalah beberapa simbol yang digunakan dalam menggambar
suatu flowchart :
SIMBOL NAMA FUNGSI

TERMINATOR Permulaan/akhir program

GARIS ALIR
Arah aliran program
(FLOW LINE)

PREPARATION Proses inisialisasi/pemberian harga awal

PROSES Proses perhitungan/proses pengolahan data

INPUT/OUTPUT DATA Proses input/output data, parameter, informasi

PREDEFINED PROCESS Permulaan sub program/proses menjalankan sub


(SUB PROGRAM) program

Perbandingan pernyataan, penyeleksian data


DECISION yang memberikan pilihan untuk langkah
selanjutnya

Penghubung bagian-bagian flowchart yang


ON PAGE CONNECTOR
berada pada satu halaman

Penghubung bagian-bagian flowchart yang


OFF PAGE CONNECTOR
berada pada halaman berbeda
15
3 Struktur Flowcart
Sequence/ Branching/ Looping/
Sederhana Percabangan Perulangan

Ketiga struktur diatas dapat digunakan secara bersamaan pada satu diagram alur.
Contoh Flowcart
start

read/input

Ya
condition? stop

Tidak

process

write/print
Contoh Flowcart Start

Phi = 3.14

Input
(diameter)

Radius = diameter/2
Luas = phi * radius * radius

Output
Luas

Stop
Flowchart aktifitas
.
Beli Form Isi Form Dapat Nomor
Mulai
Pendaftaran Pendaftaran Ujian

Mengikuti
ujian

Ya Tdk
Mengikuti Registrasi Lulus? Mengulang
OSPEK ulang Tahun depan

KULIAH Selesai

Anda mungkin juga menyukai