Anda di halaman 1dari 35

PENGANTAR ALGORITMA

Cara menyelesaikan masalah


dengan komputer

 menjabarkan masalah
 merinci langkah untuk menyelesaikan
masalah
 membuat sarana interaksi manusia-
komputer
Cara menyelesaikan masalah
dengan komputer

masalah

Program solusi
algoritma komputer
Apakah Algoritma itu?
Algoritma berasal dari nama penulis buku Arab yaitu
Abu Ja'far Muhammad ibnu Musa Al-Khuwarizmi
Algoritma adalah:
Langkah-langkah yang logis dan terstruktur untuk
menyelesaikan suatu masalah
Ciri Algoritma yang baik:
•Berurutan
•Tidak berarti ganda (ambiguous)
•Berhingga
Notasi Algoritma
 Notasi I : diagram alir (flow chart)
 Contoh aplikasi: Google Drawing
 Notasi II : pseudo-code

 Contoh masalah : menghitung luas


segiempat.
Simbol-simbol pada Flowchart
Notasi I : mulai
Flowchart
Input
panjang, lebar

Luas  panjang * lebar

Output
Luas

selesai
Notasi II (Pseudocode):
Algoritma Luas_Segiempat
{Menghitung luas segiempat dengan
memasukkan nilai lebar dan panjang
segiempat}
Deklarasi
luas, panjang, lebar : integer
Deskripsi
input(panjang)
input(lebar)
luas  panjang * lebar
output(luas)
Algoritma disusun
berdasarkan 3 bagian, antara
lain :

1. Judul Algoritma
2. Kamus / Deklarasi
3. Algoritma / Deskripsi

Algoritma dan Pemrograman I


Format Syntax Algoritma
JUDUL ALGORITMA Nama Algoritma

DEKLARASI/ Type namatipe : tipe [subrange]


KAMUS Type namatipe : array [min..maks] of tipe
{Lokal / Umum} Namavar : tipe
ALGORITMA Namavar : array [ min..maks] of tipe
Const nama = nilai
Procedure namaproc
(Input/Output[daftar_nama_parameter:tipe])

TUBUH Notasi Assigment


ALGORITMA/ Notasi Kondisional/Pemilihan
DESKRIPSI Notasi Pengulangan
Notasi Pemanggilan

URAIAN Kumpulan algoritma masing-masing


ALGORITMA
Procedure ataupun Function yang dipanggil
dari Tubuh Algoritma
Algoritma untuk menulis Hello
world:
Algoritma Hello_world
{ program untuk mencetak “Hello world”}

DEKLARASI
{tidak ada}

DESKRIPSI
Write(“Hello world”)

Algoritma dan Pemrograman I


Wilis-K
Contoh Algoritma
Algoritma Luas_Lingkaran
{menghitung luas lingkaran diketahui jari-jarinya}

DEKLARASI
CONST phi = 3.14
r : integer
Luas : real

DESKRIPSI
r5
Luas  phi * r * r
output(”Jari –jari = ”,r);
output(”Luas lingkaran = ”,Luas);

Algoritma dan Pemrograman I


Latihan
 Buatlah flowchart dan pseudocode untuk kasus
berikut ini:
 1. Mengecek bilangan genap
 2. Menghitung umur dengan input tahun lahir
 3. Mencetak tahun kabisat
 Jika angka tahun itu habis dibagi 400, maka tahun itu sudah pasti tahun kabisat.
 Jika angka tahun itu tidak habis dibagi 400, tidak habis dibagi 100 akan tetapi habis dibagi 4,
maka tahun itu merupakan tahun kabisat.
 4. Mencetak hanya orang dengan jenis kelamin laki-laki dan
umur ≥ 21 tahun
 5. Hitung jumlah total pembelian dengan input nama
barang, jumlah barang, harga satuan.
Program
adalah perwujudan atau implementasi
teknis Algoritma yang ditulis dalam
bahasa pemrogaman tertentu sehingga
dapat dilaksanakan oleh komputer.
Paradigma bahasa Pemrograman :
Pemrograman Prosedural
 Algoritma berisi urutan langkah-langkah
penyelesaian masalah  proses yang
procedural.
 Definisi Prosedural:
1. Tahap-tahap kegiatan untuk menyelesaikan
suatu aktivitas.
2. Metode langkah demi langkah secara eksak
dalam memecahkan suatu masalah.
Pemrograman Prosedural
 program dibedakan antara bagian data
dengan bagian instruksi.
 Bagian instruksi terdiri atas runtutan

(sequence) instruksi yang dilaksanakan


satu per satu secara berurutan oleh
pemroses. Alur pelaksanaan instruksi
dapat berubah karena adanya
pencabangan kondisional.
 Data yang disimpan di dalam memori

dimanipulasi oleh instruksi secara


beruntun atau procedural.
Paradigma Object-Oriented
 mengkonstruksi program dari objek-objek
dalam ruang lingkup masalahnya.
 sekumpulan objek yang mempunyai sifat
yang sama. Dapat menjadi sebuah kelas.
Sebuah kelas mempunyai attribute
(sekumpulan sifat/ciri).
 menawarkan konsep modularitas,
penggunaan ulang, dan kemudahan
modifikasi.
Pemrograman Berorientasi Objek
 Kerangka berpikir PBO berbeda
dengan pemrograman tradisional.
 Pemrograman tradisional :

memisahkan antara data, dan


prosedur yang mengolah data
tersebut.
 PBO : data dan prosedur ini

dipadukan sebagai sebuah obyek.


Struktur Dasar
Algoritma
1. Runtunan (Sequence)
2. Pemilihan (Selection)
3. Pengulangan (Repetition)
Runtunan (Sequence)
 Algoritma merupakan runtunan
(sequence) satu atau lebih
instruksi/pernyataan,
 setiap pernyataan dikerjakan secara
berurutan sesuai dengan urutan
penulisannya. Sebuah instruksi
dilaksanakan setelah instruksi sebelumnya
selesai dilaksanakan.
 Urutan instruksi menentukan keadaan
akhir algoritma
Contoh 1 (Runtunan) :
Diberikan 2 buah gelas, A dan B dimana gelas A berisi
air berwarna merah, gelas B berisi air berwarna biru.
Pertukarkan isi kedua gelas itu sedemikian sehingga
gelas A berisi air berwarna biru dan gelas B berisi air
berwarna merah.

A B A B
ALGORITMA:
Tuangkan air dari gelas A kedalam gelas B
Tuangkan air dari gelas B kedalam gelas A

Caranya :
Kita siapkan satu buah gelas C untuk
menampung sementara air dari gelas A
sebelum dipindah ke gelas B
ilustrasi
B

B A
A

A C
C
ilustrasi

A B

C
Program Tukar_isi
Diberikan 2 buah gelas, A dan B; gelas A berisi
air berwarna merah, gelas B berisi air berwarna
biru. Isi kedua gelas A dan B ditukar sedemikian
sehingga gelas A berisi air berwarna biru dan
gelas B berisi air berwarna merah.
KAMUS :
gelas A,gelas B, gelas C : air
ALGORITMA:
Tuangkan air dari gelas A kedalam gelas C
Tuangkan air dari gelas B kedalam gelas A
Tuangkan air dari gelas C kedalam gelas B

Hasil akhir algoritma adalah:


gelas A berisi air dari gelas B, dan
gelas B berisi air dari gelas A semula
Contoh 2 (runtunan):
Misal nilai A=8, B=5. Tukarkan nilai A
dan B, sehingga menjadi A=5, B=8.

Algoritma :
BA
AB

Algoritma :
CA
AB
BC
Demo Animasi
 1. Animasi untuk Operator Aritmetika
Pemilihan (Selection)
If kondisi then
aksi
endIf

If kondisi then
aksi1
else
aksi2
endIf
Contoh (Pemilihan) :

If A>B then Max A endIf


If B>A then Max B endIf

If A>B then Max A


Else Max B
endIf
Demo Animasi
 3. Animasi untuk If then
Pengulangan
(Repetition)
for var  awal to akhir do
aksi
Endfor

repeat
aksi
until kondisi_stop

while kondisi_ulang do
aksi
endwhile
Contoh (Pengulangan) :
For i  1 to 5 do
output(“X”)
EndFor

i1
Repeat
output(“X”)
ii+1
Until (i>5)

i1
While (i<=5) do
output(“X”)
ii+1
endwhile
Demo Animasi
 5. Animasi untuk For Next
Pengenalan Software
 Software C++ online
 1. https://www.w3schools.com/cpp/default.asp
 2. https://replit.com/languages/cpp

Anda mungkin juga menyukai