Anda di halaman 1dari 50

KONSEP DASAR ALGORITMA &

PEMROGRAMAN
Pengantar Teknik Informatika
SUBJECTIVES
 ALGORITMA
 SIFAT ALGORITMA
 CIRI ATAU KRITERIA ALGORITMA
 KARAKTERISTIK ALGORITMA
 CARA PENYAJIAN ALGORITMA
ALGORITMA
Example 1.1 (General)
 Jika ingin mengirimkan surat kepada teman, yaitu:
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. Jika tidak ingat, lihat lebih dahulu pada buku
alamat, baru kemudian kita tulis alamat pada sampul surat.
6. Tempel perangko pada surat.
7. Bawa surat ke kantor pos untuk diposkan(kirim).
Example 1.2 (General)
 Berikut ini contoh Prosedur untuk menyelesaikan
masalah komputasi akar bulat positif dari suatu bilangan
bulat (integer) positif a, yaitu:
1. Baca a
2. Masukkan x sama dengan 1
3. Hitung y sebesar x * x
4. Jika y sama dengan a, maka cetak x sebagai akar
dari a. Selesai
5. Tambah nilai x dengan 1
6. Pergi ke langkah 3.
DEFINISI
 ALGORITMA adalah urutan langkah-langkah
logis penyelesaian masalah yang disusun sistematis
dan logis.

 Ada juga yang menyebut bahwa Algoritma


adalah urutan akhsi-aksi yang dinyatakan dengan
jelas untuk memecahkan masalah dalam waktu
tertentu.
SIFAT
ALGORITMA
SIFAT ALGORITMA
Langkah Instruksi
Hingga

Tidak ada keraguan


(harus jelas)
Sifat
Algoritma Batasan dari rangkaian
proses

Batasan dari Input dan


Output

Efektivitas
SIFAT ALGORITMA
1. Banyaknya langkah instruksi yang hingga
 Pelaksanaan sebuah algoritma yang terprogram
harus dapat diselesaikan setelah pelaksanaan
sejumlah langkah langkah operasional yang
hingga.
 Jika tidak demikian, tidak bisa mengharapkan
bahwa pelaksanaan tersebut dapat membuahkan
suatu hasil.
 Perhatikan Example berikut:
SIFAT ALGORITMA
1. Banyaknya langkah instruksi yang hingga
 Example:

1. Input nilai A
2. Hitung: hasil <- A mod 2
3. Jika hasil = 0, Output “Bilangan Genap”, then
langkah 5
4. Jika hasil != 0, output “Bilangan Ganjil”, then
langkah 5
5. SELESAI
SIFAT ALGORITMA
 Berdasarkan contoh maka perlu memperhatikan hal-
hal sebagai berikut:
a) Jumlah langkah yang sesungguhnya dibutuhkan,
sebenarnya tergantung perincian isi (detail) dari
algortima yang bersangkutan.
b) Jumlah langkah operasional yang dilaksanakan
biasanya jarang sesuai dengan jumlah langkah yang
terdapat di dalam algoritma.
c) Diperlukan suatu Algoritma yang menuju kepada suatu
Program dan dapat terpakai dalam waktu cukup lama.
SIFAT ALGORITMA
2. Tidak ada keraguan (harus jelas)/ tidak ambigu
 Penulisan dari setiap langkah yang terdapat di dalam
sebuah Algoritma harus memiliki arti yang khusus atau
spesifik.
 Penulisan langkah bagi komputer dapat berbeda dengan
penulisan bagi manusia
 Manusia akan mudah mengerjakan Algoritma yang
terdiri dari simbol (pseudocode, flowchart, natural
language), sedangkan komputer membutuhkan sebuah
Algoritma dengan kode yang dituangkan ke dalam
Program.
SIFAT ALGORITMA
3. Batasan dari rangkaian proses
Rangkaian proses yang berisi langkah-langkah
dari suatu Algoritma yang akan dilaksanakan,
harus ditetapkan dengan pasti.

Sebuah algoritma harus memiliki instruksi


dasar tertentu (yang spesifik) dan setiap
instruksi harus memiliki unsur pelaksana yang
memproses data masukan.
SIFAT ALGORITMA
4. Batasan dari Input dan Output

Input merupakan data yang dimasukkan


ke dalam Algoritma.

Input tersebut harus sesuai dengan jenis


Algoritma yang bersangkutan

Algoritma haruslah menghasilkan suatu


output (jika tidak lalu apa gunanya).
SIFAT ALGORITMA
5. Efektivitas

Instruksi dari sebuah algoritma dapat memerintahkan


komputer agar hanya melaksanakan penugasan yang
mampu dilaksanakannya saja.

Komputer tidka dapat melakukan instruksi, jika


informasinya tidak lengkap atau jika hasil dari pelaksanaan
perintah tidak diberi batasan yang jelas
CIRI ATAU KRITERIA
ALGORITMA
Ciri atau Kriteria Algoritma yang Baik

 Menurut Donald E. Knuth


Input

Output

Ciri/Kriteria Finite (Terbatas)

Definite (Pasti)

Efisien
Ciri atau Kriteria Algoritma yang Baik

1. INPUT
 Dari sisi input, minimal program harus memiliki
nol input atau lebih dari pengguna.
 Program pasti memiliki input
 Yang dimaksud nol input adalah program tidak
mendapatkan masukan data dari pengguna secara
langsung, namum semua data yang akan
digunakan oleh prorgam sudah dideklarasikan di
dalam kode program yang akan diseksekusi.
Ciri atau Kriteria Algoritma yang Baik

2. OUTPUT
 Dari sisi OUTPUT, minimal program harus

memiliki 1 output.
 Progam pasti menghasilkan output karena
program dibuat untuk tujuan tertentu.
 Tujuan itulah outputnya.

Apa saja output


yang bisa
dihasilkan?
Ciri atau Kriteria Algoritma yang Baik

3. FINITE (terbatas)
 Program harus pasti dan berhenti, bukan tak

terhingga
 Suatu yang dieksekusi haruslah berhenti dan

selesai, bukan berjalan terus-menerus hingga


HONG UP atau RESPONDING, dan akhirnya
harus di KILL dengan paksa.
Note :
Memang ada program yang seolah-olah tidak pernah mati,
misalnya Sistem Operasi, namun sebenarnya sistem operasi
juga pasti akan berhenti, yaitu ketika sistem operasi
tersebut di Shutdown.
Ciri atau Kriteria Algoritma yang Baik

4. DEFINITE

 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.
Ciri atau Kriteria Algoritma yang Baik

5. EFISIEN

 Artinya, program harus efisien, tidak memakan


banyak memori, tidak melakukan hal-hal yang
tidak perlu.
 Suatu operasi/kegiatan yang tidak perlu, misalnya:
 X = 5 + 0; Hasilnya adalah
 Y = 100*0. bilangan itu
sendiri
Ciri dan Kriteria Algoritma yang Baik

 Sumber lain menyatakan bahwa Kriteria Algoritma


yang baik adalah sebagai berikut
Kriteria

Ditulis dengan
Tepat, benar, Semua operasi bahasa yang
sederhana, standar terdefinisi standar dengan
dan efektif format
pemrograman

Semua proses harus


Logis, Terstruktur, berakhir setelah
dan sistematis sejumlah langkah
dilakukan
CARA PENYAJIAN
ALGORITMA
Penyajian Algoritma
 Secara garis besar, penyajian algoritma dapat
dilakukan menjadi 2 bagian, yaitu dengan
menggunakan tulisan dan dengan menggunakan
gambar.
 Algoritma yang menggunakan tulisan yaitu dengan
struktur bahasa tertentu (Bahasa Indonesia atau
Bahasa Inggris) dan Pseudocode.
 Sedangkan, Algoritma yang menggunakan gambar
yaitu dengan memakai flowchart atau diagram alir.
Natural Language
Natural Language
Penyajian Algoritma
 Bahasa Natural (natural language) merupakan car
apenyajian suatu algoritma yang paling sederhana
dan paling mudah dimengerti.
 Bahasa natural adalah bahasa yang bisa digunakan
sehari-hari namum tetap sesuai kaidah bahasa yang
baku.
 Ada beberapa hal yang perlu diperhatikan jika akan
menyajikan suatu algoritma sebuah program dengan
bahasa natural, antara lain Start dan End harus
dituliskan secara eksplisit.
Natural Language
Penyajian Algoritma
 Start bisa dituliskan ‘inisialisasi’ atau ‘mulai’ yang
merupakan langkah pertama dalam algoritma

 END dituliskan ‘selesai’ dan dituliskan pada akgir


algoritma.
Natural Language
Penyajian Algoritma
 Contoh 1: Natural Language

1. Inisialisasi
2. Masukkan nilai panjang (p) dan lebar (l)
3. Menyiapkan variabel luas dengan rumus p*l
4. Menghitung nilai luas = p*l
5. Cetak luas persegi panjang
6. Selesai
Natural Language
Penyajian Algoritma
 Contoh 2: Natural Language
1. Inisialisasi
2. Input sebuah bilangan, masukkan ke dalam sebuah variabel,
misalkan saja bil.
3. Apakah bil modulus 2 sama dengan nol?
- Jika ya, maka bilangan tersebut adalah bilangan genap.
– Jika tidak, maka sudah dapat dipastikan bahwa bilangan
tersebut adalah bilangan ganjil.
4. Tampilkan jenis bilangan (genap, atau ganjil).
5 Apakah ingin mengulang proses?
– Jika ya, kembali ke langkah 2.
– Jika tidak, langsung ke langkah 6 (selesai).
6 Selesai.
Pseudocode
Penyajian Algoritma Pseudocode

 Pseudocode adalah deskripsi dari algoritma


pemrograman computer yang menggunakan
struktur sederhana dari beberapa bahasa
pemrograman agar dapat dikomunikasikan dengan
pemrogram.
 Secara umum, pseudocode mengekspresikan ide-
ide secara informal dalam proses penyusunan
Algoritma.
 URL : http://mr-west.uk/algorithms/pseudocode/
Penyajian Algoritma Pseudocode

 Biasanya yang ditulis dari pseudocode adalah


variable dan fungsi.
 Tidak ada syntax standar yang resmi.
 Dapat menggunakan pseudocode dalam berbagai
bahasa pemrograman.
 Tujuannya adalah untuk membantu manusia
dalam memahami suatu algoritma.
Penyajian Algoritma Pseudocode

 Contoh 1: Penyajian Pseudocode


Penyajian Algoritma Pseudocode

 Contoh 2: Penyajian Pseudocode


Program Luas_lingkaran
Deklarasi
π:3.14 :integer
jari-jari :integer
Luas :integer
Deskripsi
Read(π:3.14, jari-jari)
Luas = π:3.14 * jari-jari
write (luas)
end
Example 3: Pseudocode
FLOWCHART
FLOWCHART
Penyajian Algoritma
 Flowchart adalah bagan (chart) atau diagram
alir (flow) di dalam program atau prosedur sistem
secara logika.

 Flowchart dinyatakan dengan simbol, sehingga


setiap simbol mempunyai makna tersendiri. Antara
proses yang satu dengan yang lain dalam flowchart
digambarkan dengan suatu garis penghubung.
FLOWCHART
Penyajian Algoritma
 Menggunakan flowchart menjadi mudah untuk
melakukan pengecekan terhadap suatu masalah
(menganalisis masalah)
FLOWCHART
Penyajian Algoritma
 Berikut simbol-simbol yang digunakan dalam
flowchart:
 Flow Direction Symbol (Symbol Pengarah Alur)
FLOWCHART
Penyajian Algoritma
 Processing Symbol
FLOWCHART
Penyajian Algoritma
 Processing Symbol
FLOWCHART
Penyajian Algoritma
 Input-Output Symbol
FLOWCHART
Penyajian Algoritma
 Input-Output Symbol
FLOWCHART
Penyajian Algoritma
 Flowchart yang menggambarkan proses dengan
komputer ada dua macam, yaitu :

1. Flowchart System : Bagan dengan simbol-


simbol yang menggambarkan urutan prosedur dan
proses dari media satu menjadi media yang lain.
2. Flowchart Program : Bagan dengan simbol-
simbol yang menggambarkan proses secara
mendetail dalam suatu program
FLOWCHART
Penyajian Algoritma
 Flowchart System
FLOWCHART
Penyajian Algoritma
 Example of Flowchart System
FLOWCHART
Penyajian Algoritma
 Example of Flowchart Program
FLOWCHART
Penyajian Algoritma
 Example of Flowchart Program

Bagaimana jika
membuat flowchart
bilangan genap
ganjil?

Anda mungkin juga menyukai