You are on page 1of 32

Media Pembelajaran Interaktif

Program Keahlian Rekayasa Perangkat Lunak


Oleh Maryanto, S.Kom

DASAR ALGORITMA PEMROGRAMAN

Standar Kompetensi
Menerapkan Algoritma Pemrograman Tingkat Dasar

Kompetensi Dasar
SK/KD

INDIKATOR

MATERI

EVALUASI

Menjelaskan strukrur algoritma


Membuat algoritma pemrograman
Menjelaskan data flow diagraman (DFD)
Membuat diagram alir pemrograman
Tipe data dan operator

DASAR ALGORITMA PEMROGRAMAN

Indikator

SK/KD

INDIKATOR

MATERI

EVALUASI

Konsep algoritma dijelaskan dengan kreatif dan mandiri


Algortima dengan skema program sekuensial dibuat dengan mandiri
Algortima dengan skema program percabangan dibuat dengan mandiri
Algortima dengan skema program pengulangan dibuat dengan mandiri
Konsep data flow diagram dijelaskan dengan kreatif dan mandiri
Simbol-simbol dalam data flow diagram dijelaskan dengan kreatif dan
mandiri
DFD dengan skema program sekuensial
DFD dengan skema program percabangan
DFD dengan skema program pengulangan
Tipe data, variabel dan konstanta
Operator logika, operator aritmatika, operator relasional dijelaskan
pemanfaatannya

DASAR ALGORITMA PEMROGRAMAN


Materi
Struktur algoritma

Alur logika pemrograman


SK/KD

Data flow diagram


INDIKATOR

MATERI

EVALUASI

Diagram alir pemrograman

Tipe data & operator

DASAR ALGORITMA PEMROGRAMAN

Struktur Algoritma

SK/KD

INDIKATOR

MATERI

EVALUASI

1. Pengertian algoritma
algoritma adalah urutan langkah-langkah logis yang digunakan untuk
menyelesaikan masalah
Program merupakan kumpulan instruction set yang akan dijalankan oleh
pemroses, yaitu berupa software
Algoritma pemrograman merupakan langkah-langkah tersetruktur yang
tepat dan terperinci yang digunakan untuk menyelesaikan sebuah masalah
dalam proses perancangan sebuah program komputer
Bahasa pemrograman yang berarti bahasa yang digunakan dalam
pembuatan program komputer. contoh bahasa pemrograman : C, C++,
Pascal, Phyton, Qbasic, Visual Basic, Java, PHP. dll
2.

Contoh algoritma
algoritma memasak mie instan prosesnya adalah :
memanaskan air, membuka pembungkus mie instant (tentunya),
memasukkan mie ke dalam air, taruh bumbu di piring, angkat mie jika sudah
masak, campurkan dengan bumbu yang sudah ada di piring dengan mie

DASAR ALGORITMA PEMROGRAMAN


Struktur Algoritma

SK/KD

INDIKATOR

MATERI

EVALUASI

3. Ciri algoritma
Algoritma mempunyai awal dan akhir
Setiap Setiap langkah harus didefinisikan dengan tepat sehingga tidak
memiliki arti ganda (ambigu)
Memiliki masukan (input) atau kondisi awal
Memiliki keluaran (output) atau kondisi akhir
Algoritma harus efektif; bila digunakan benar benar menyelesaikan
persoalan.

4. Cara penulisan algoritma


Judul algoritma
{ komentar mengenai algoritma, kondisi awal dan kondisi akhir }
Kamus
{ deklarasi nama variabel, nama konstantan, fungsi dan prosedur }
Algoritma
{ uraian algoritma, input, proses dan output }

DASAR ALGORITMA PEMROGRAMAN

Struktur Algoritma
Contoh

SK/KD

INDIKATOR

MATERI

EVALUASI

Program Menghitung Luas Segitiga


{ diberikan inputan alas dan tinggi segitiga, kemudian menghitung
luas segitiga dan mencetak luas segitiga }
Kamus
alas, tinggi, luas : integer
Algoritma
input(alas,tinggi)
luas 0.5*alas*tinggi
output(luas)

DASAR ALGORITMA PEMROGRAMAN

Struktur Algoritma
Latihan

1.
2.
SK/KD

INDIKATOR

MATERI

EVALUASI

Buatlah Algoritma untuk menghitung volume kubus


Buatlah algoritma kecepatan laju mobil jika diketahui waktu tempuh adalah
3jam dan jarak tempuh adalah 3Km

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman

SK/KD

INDIKATOR

MATERI

EVALUASI

1. Sequential
Struktur berurutan terdiri dari satu atau lebih instruksi. Setiap instruksi
dikerjakan secara berurutan.
ketentual pemrograman sequential :
Tiap instruksi dikerjakan satu persatu
Tiap instruksi dikerjakan sekali, tidak ada yang diulang
Akhir dari instruksi terakhir merupakan akhir dari algoritma
Contoh
Program Konversi Celcius ke Fahrenheit
{ diinputkan nilai celcius kemudian dikonversikan ke fahrenheit }
Kamus
c, f : integer
Algoritma
input(c)
f c*1.8 + 32
output(f)

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman
2. Branching / Percabangan
Di gunakan untuk menguji sebuah kondisi. bila kondisi yang di uji terpenuhi
maka program akan melakukan pernyataan-pernyataan tertentu & bila
kondisi yang di uji salah maka program akan menjalankan pernyataan lain

SK/KD

INDIKATOR

MATERI

Macam-macam statement percabangan sbb :


if else
Perintah ini memberikan satu alternatif dari dua kemungkinan.

Bentuk umum:
if (kondisi)
{
statemen_jika_kondisi_terpenuhi;

EVALUASI

}
else
{
statemen_jika_kondisi_tidak_terpenuhi;
}

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman
Contoh algoritma dengan if-else

SK/KD

INDIKATOR

MATERI

EVALUASI

Algoritma Menentukan Bilangan Terbesar


{ menentukan bilangan terbesar dari dua bilangan, a dan b }
Kamus
a, b, terbesar : integer
Algoritma
input(a,b)
if(a>b)
{
terbesar a
}
else
{
terbesar b
}
output(terbesar)

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman
Contoh source code if else dalam bahasa C

SK/KD

INDIKATOR

MATERI

EVALUASI

/* judul : program menenentukan bilangan terbesar dari dua bilangan


autho : Dewi Nurdiyah
date : ......
*/
#include <stdio.h>
#include <conio.h>
main()
{
/*kamus*/
int a,b,terbesar;
/*algoritma*/
printf(input kan bilangan a = ); scanf(%d,&a);
printf(input kan bilangan b = ); scanf(%d,&b);
if(a>b)
{
terbesar = a;
}
else
{
terbesar = b;
}
printf(terbesar adalah %d, terbesar)
getch();
retun 0;
}

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman
Contoh source code if else if- else dalam bahasa C

SK/KD

INDIKATOR

MATERI

EVALUASI

/* judul : program menenentukan bentuk air berdasarkan suhu yang diinputkan


autho : Dewi Nurdiyah
date : ......
*/
#include <stdio.h>
#include <conio.h>
main()
{
/*kamus*/
int suhu;
/*algoritma*/
printf(input kan suhu air ); scanf(%d,&suhu);
if(suhu <0)
{
printf(\n suhu air kurang dari 0 C, maka bentuk air adalalah
padat);
}
else if((suhu>0 ) && (suhu<100))
{
printf(\n suhu air antara 0 s/d 100 C, maka bentuk air adalah
cair);
}
else
{
printf(\n suhu air lebih dari 100 C, maka bentuk air adalah uap);
}
getch();
retun 0;
}

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman

SK/KD

INDIKATOR

MATERI

EVALUASI

Pernyataan switch-case..
Struktur kondisi switch....case....default digunakan untuk penyeleksian
kondisi dengan kemungkinan yang terjadi cukup banyak. Struktur ini akan
melaksanakan salah satu dari beberapa pernyataan case tergantung nilai
kondisi yang ada di dalam switch. Selanjutnya proses diteruskan hingga
ditemukan pernyataan break. Jika tidak ada nilai pada case yang sesuai
dengan nilai kondisi, maka proses akan diteruskan kepada pernyataan
yang ada di bawah default.

Bentuk umum :
switch(kondisi)
{
case 1 : pernyataan-1;
break;
case 2 : pernyataan-2;
break;
.....
.....
case n : pernyataan-n;
break;
default : pernyataan-m
}

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman
Algoritma switch-case..

SK/KD

INDIKATOR

MATERI

EVALUASI

Algoritma Menentukan Nama Hari


{ menentukan nama hari berdasarkan angka yang diinputkan }
Kamus
harike : integer
Algoritma
input(harike)
switch(harike)
{
case 1 : output (hari senin)
break
case 2 : output (hari selasa)
break
case 3 : ouput(hari rabu)
break
case 4 : output(hari kamis)
break
case 5 : output(hari jumat)
break
case 6 : ouput(hari sabtu)
break
case 7 : output(hari minggu)
break
default : output(inputan salah)
}

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman
Contoh source code switch-case dalam bahasa C

SK/KD

INDIKATOR

MATERI

EVALUASI

/* judul : program menenentukan nama hari berdasarkan angka yang diinputkan


author : Dewi Nurdiyah
date : ......
*/
#include <stdio.h>
#include <conio.h>
main()
{
/*kamus*/
int harike;
/*algoritma*/
printf(input hari ke = ); scanf(%d,&harike);
switch(harike)
{
case 1 : printf(\n hari senin);
break;
case 2 : printf(\n hari selasa);
break;
case 3 : printf(\n hari rabu);
break;
case 4 : printf(\n hari kamis);
break;
case 5 : printf(\n hari jumat);
break;
case 6 : printf(\n hari sabtu);
break;
default : printf(\n angka yang anda inputkan salah);
}
getch();
retun 0;
}

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman

SK/KD

INDIKATOR

MATERI

EVALUASI

3. Looping / Pengulangan
Di gunakan untuk mengulang-ulang pernyataan dengan syarat terdapat
kondisi awal(start) dan kondisi akhir(final).
Macam-macam statement percabangan sbb :
for()
perintah ini akan mengulang-ulang pernyataan dari kondisi awal awal
sampai kondisi akhir dengan lompatan yang sudah ditentukan.
Bentuk umum:
for (kondisi awal ; syarat kondisi awal dan akhir ; lompatan)
{
statemen_jika_kondisi_terpenuhi;
}

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman
Contoh source code dengan statement for()
algoritma untuk menampilkan bilangan 1 sampai 1000

SK/KD

INDIKATOR

MATERI

EVALUASI

for (bilangan=1; bilangan<=1000; bilangan++)


{
printf(%d, bilangan);
}

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman
Contoh source code dengan statement while()
algoritma untuk menampilkan bilangan 1 sampai 1000

SK/KD

INDIKATOR

MATERI

EVALUASI

bilangan =1;
while(bilangan<=100)
{
printf(%d, bilangan);
bilangan ++;
}

DASAR ALGORITMA PEMROGRAMAN


Alur Logika Pemrograman
Latihan

Buatlah algoritma untuk menentukan bilangan terkecil dari tiga bilangan

SK/KD

INDIKATOR

MATERI

EVALUASI

DASAR ALGORITMA PEMROGRAMAN


Data Flow Diagram
1. Flow Chart

SK/KD

Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan


aliran (flow) di dalam suatu program secara logika. Flowchart merupakan alat yang
banyak digunakan untuk menggambarkan algoritma dalam bentu notasi-notasi
tertentu. Secara lebih detil bagian ini akan dibahas pada bagian berikutnya.
Pada flowchart ada beberapa simbol penting yang digunakan
untukmembuat algoritma sebagaimana tercantum pada table dibawah ini
Symbol

INDIKATOR

MATERI

EVALUASI

Arti
Notasi ini disebut Terminator yang berarti digunakan untuk
menunjukkan awal dan akhir suatu algoritma
Notasi ini disebut Data yang digunakan untuk mewakili data
input atau output atau menyatakan operasi pemasukan data
dan pencetakan hasil.
Notasi ini disebut Process yang digunakan untuk mewakili
suatu proses.
Notasi ini disebut Decision yang digunakan untuk suatu
pemilihan, penyeleksian kondisi di dalam suatu program
Notasi ini disebut Preparation yang digunakan untuk memberi
nilai awal, nilai akhir, penambahan/pengurangan bagi suatu
variable counter.
Notasi ini disebut Predefined Process yang digunakan untuk
menunjukkan suatu operasi yang rinciannya ditunjukkan di
tempat lain (prosedur, sub-prosedur, fungsi)
Notasi ini disebut Connector yang digunakan untuk
menunjukkan sambungan dari flowchart yang terputus di
halaman yang sama atau halaman berikutnya.
Notasi ini disebut Arrow yang digunakan untuk menunjukkan
arus data atau aliran data dari proses satu ke proses lainnya.

DASAR ALGORITMA PEMROGRAMAN


Diagram Alir Pemrograman
1. Flow chart dengan skema sequential

Begin

SK/KD

Input jari2

Luas = 3.14 * jari2 * jari2

INDIKATOR
Print luas

MATERI
End

EVALUASI

DASAR ALGORITMA PEMROGRAMAN


Diagram Alir Pemrograman
2. Flow chart dengan skema branching
Begin

Input a,b

SK/KD
ya

a>b

INDIKATOR

MATERI

EVALUASI

tidak

Print Terbesar
adalah a

Print Terbesar
adalah b

End

DASAR ALGORITMA PEMROGRAMAN


Diagram Alir Pemrograman
3. Flow chart dengan skema looping
Begin

SK/KD

Bilangan
= 1 To
10000

INDIKATOR

MATERI

EVALUASI

End

DASAR ALGORITMA PEMROGRAMAN


Tipe Data & Operator

SK/KD

INDIKATOR

MATERI

EVALUASI

1. Tipe data ordinal & tipe data bentukan


Data ordinal : tipe data yang memiliki ranah yang dapat dihitung.
Contoh :
Integer : -32768 32767
Real : 2.9 x e -39 1.7 x 10 e 38
Char : char(0) char (255)
Bolean : [ TRUE,FALSE]
String : abc,456,10

Tipe bentukan
Contoh :
LIST
Record (rekaman)
STACK
FILE
TREE, dll
Tipe Array
Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255 elemen

DASAR ALGORITMA PEMROGRAMAN

Tipe Data & Operator


2.

Operator biner aritmatik


Operator
+

Operation
Addition

integer type

real type

real type

integer type

integer type

real type

real type

integer type

integer type

real type

real type

integer type

real type

real type

real type

Integer division

integer type

integer type

Remainder

integer type

integer type

Subtraction

INDIKATOR

Multiplication

MATERI

Division

EVALUASI

div
mod

Result type

integer type

SK/KD

Operand types

DASAR ALGORITMA PEMROGRAMAN

Tipe Data & Operator


3. Operator string

Operator

Operation

Operand types

concatenation

string type, Char type,

4. Operator set
Operator

MATERI

EVALUASI

string type

or packed string type

SK/KD

INDIKATOR

Result type

Operation

Operand types

Union

compatible set types

Difference

compatible set types

Intersection

compatible set types

Hasil dari operasi set tergantung dari aturan logika set :


- An ordinal value C is in A + B only if C is in A or B.
- An ordinal value C is in A - B only if C is in A and not in B.
- An ordinal value C is in A * B only if C is in both A and B.

DASAR ALGORITMA PEMROGRAMAN

Tipe Data & Operator


5. Operator boolean
Operator

SK/KD

Operation

Operand types

Result type

not

negation

Boolean

Boolean

and

logical and

Boolean

Boolean

or

logical or

Boolean

Boolean

xor

logical xor

Boolean

Boolean

Operand types

Result type

INDIKATOR

6. Operator logika
MATERI

Operator
EVALUASI

Operation

not

Bitwise negation integer type

integer type

and

Bitwise and

integer type

integer type

or

Bitwise or

integer type

integer type

xor

Bitwise xor

integer type

integer type

shl

Shift left

integer type

integer type

shr

Shift right

integer type

integer type

DASAR ALGORITMA PEMROGRAMAN

Tipe Data & Operator


7. Operator relasional

Operator Operation
=

Equal

Result type Operand types


Boolean

SK/KD

INDIKATOR

MATERI

<>

Not equal

Boolean

<

Less than

Boolean

>

Greater than

Boolean

<=

Less or equal

Boolean

EVALUASI

compatible simple, pointer, set,


string, or packed string types
compatible simple, pointer, set,
string, or packed string types
compatible simple, string, packed
string types, or PChar
compatible simple, string, packed
string types, or PChar
compatible simple, string, packed
string types, or PChar

>=

Greater or equal Boolean

compatible simple, string, or packed


string types, or PChar

<=

Subset of

Boolean

compatible set types

>=

Superset of

Boolean

compatible set types

in

Member of

Boolean

left operand: any ordinal type T;


right operand: set whose base is
compatible with T.

DASAR ALGORITMA PEMROGRAMAN


Tipe Data & Operator

SK/KD

INDIKATOR

MATERI

EVALUASI

Latihan tipe data untuk berbagai kasus


Kasus 1 :
Definisikan suatu tipe data untuk nilai-nilai berikut:
1.
0.9899
2.
Saya Pergi ke ST-INTEN
3.
120000
4.
12 x 10 7
5.
(Januari,, Desember)
6.
X bernilai False, dan Y bernilai TRUE
7.
Y = 10
Kasus 2
Gunakan operator yang sudah ada, berapakah hasilnya
1.
3+3=
2.
saya + dia =
3.
TRUE and False =
4.
7 div 3 =
5.
8 mod 3 =
Kasus 3:
Berapa hasilnya (TRUE / FALSE):
1. A = A
2. Aku = Aku
3. 5 <> 7
4. 4 >= 3
5. 4 in [1,2,3,4]

DASAR ALGORITMA PEMROGRAMAN


Tipe Data & Operator
7. Operator relasional

SK/KD

INDIKATOR

MATERI

EVALUASI

SK/KD

INDIKATOR

MATERI

EVALUASI

DASAR ALGORITMA PEMROGRAMAN

You might also like