Algoritma dan Pemrogran
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
iii
Polit e knik T e lk om
iv
Algorit m a dan Pe mrogra man
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
v
Polit e knik T e lk om
Pe ndahulua n
Algorit m a dan
n Pe mrogra man
1
Polit e knik T e lk om
2
Algorit m a dan Pe mrogra man
Pe nda hulua n
Polit e knik T e lk om
Pe ndahulua n
Algorit m a dan Pe mrogra man
3
Polit e knik T e lk om
4
Algorit m a dan Pe mrogra man
Pe nda hulua n
Polit e knik T e lk om
Pe ndahulua n
Algorit m a dan Pe mrogra man
5
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
•
•
•
•
6
Pe nda hulua n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
•
•
•
•
•
Pe ndahulua n
7
Polit e knik T e lk om
8
Algorit m a dan Pe mrogra man
Pe nda hulua n
Polit e knik T e lk om
Pe ndahulua n
Algorit m a dan Pe mrogra man
9
Polit e knik T e lk om
10
Algorit m a dan Pe mrogra man
Pe nda hulua n
Polit e knik T e lk om
Pe ndahulua n
Algorit m a dan Pe mrogra man
11
Polit e knik T e lk om
12
Algorit m a dan
nP
Pe mrogra man
Flow chart da
a n Pse udoc ode
Polit e knik T e lk om
Flow chart da n Pse udoc ode
Algorit m a dan Pe mrogra man
13
Polit e knik T e lk om
14
Algorit m a dan Pe mrogra man
Flow chart da n Pse udoc ode
Polit e knik T e lk om
Flow chart da n Pse udoc ode
Algorit m a dan Pe mrogra man
15
Polit e knik T e lk om
16
Algorit m a dan Pe mrogra man
Flow chart da n Pse udoc ode
Polit e knik T e lk om
Flow chart da n Pse udoc ode
Algorit m a dan Pe mrogra man
17
Polit e knik T e lk om
18
Algorit m a dan Pe mrogra man
Flow chart da n Pse udoc ode
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
Algoritma Coba;
Kamus data
x : integer;
s : string;
...
Algoritma Hello
Kamus data
s : string
BEGIN
s
“Halo!”
output(s)
END.
Flow chart da n Pse udoc ode
19
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
Algoritma Masukkan_data
Kamus data
BEGIN
input(x) /*x adalah variabel penampung nilai*/
END.
Algoritma Masukkan_nilai
Kamus data
BEGIN
x
5 /*panah ke kiri arah masuknya nilai*/
END.
Algoritma Tampilan
Kamus data
BEGIN
output(x) /*x adalah variabel yang berisi nilai*/
END.
20
Flow chart da n Pse udoc ode
Polit e knik T e lk om
Flow chart da n Pse udoc ode
Algorit m a dan Pe mrogra man
21
Polit e knik T e lk om
22
Algorit m a dan
nP
Pe mrogra man
T ipe da ta , ope ra torr d
da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
3.1
•
T ipe dat a , opera tor dan Runt uta n
23
Polit e knik T e lk om
Short
Int
Long
Algorit m a dan Pe mrogra man
8 bit
16 bit
32 bit
-128 .. 127
-32768 .. 32767
-2147483648 .. 2147483647
•
float
Double
2.9x10-39 .. 1.7x1038
5.0x10-324 .. 1.7x10308
32 bit
48 bit
•
“5”
5
24
“A”
“”
“?”
“+”
“5”
“$”
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
“”
“BANDUNG”
“Politeknik Telkom Bandung”
“ABC3456”
“Lucu”
“30202001”
“z”
“z”
•
T ipe dat a , opera tor dan Runt uta n
25
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
x : integer
nama : string
TB : real
1. KAMUS DATA {awal deklarasi variabel}
2.
x : integer
3.
nama: string
4.
TB : real
5.
jenisKelamin : char
6.
status : boolean
1.
2.
3.
4.
5.
6.
7.
// Contoh Program C++
#include
/* Program Utama */
main() {
printf("Selamat Datang");
return 0;
}
/* .. */
/*
*/
#include
26
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
stdio.h
main()
{
printf("Selamat Datang")
Selamat Datang
return 0
;
1. #include
2.
3. main () {
4.
int x;
5.
string nama;
6.
float BB;
7.
char jKelamin;
8.
bool status;
9.
...
10. }
•
T ipe dat a , opera tor dan Runt uta n
27
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
•
•
•
cJenisKelamin = ‘P’
sNamaOrangTua = ‘Jeremy Thomas’
iNilaiAkhir = 99
•
Input (cJenisKelamin)
Input (sNamaOrangTua)
Input (iNilaiAkhir)
cJKelamin
28
‘p’
Input (cJKelamain)
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
1. #include
2. main() {
3.
int lA,lB;
4.
String NamaA, NamaB;
5.
// Pengisian secara Langsung
6.
lA = 20;
7.
NamaA = “Joko Handono”;
8.
// Pengisian dengan Inputan
9.
scanf(“%i”,&lB);
10.
scanf(“%s”,&NamaB);
11.
// Menampilkan Kelayar
12.
printf(“Nilai lA : %i”,lA);
13.
printf(“Nilai lB : %i”,lB);
14.
printf(“Nilai NamaA : %s”,NamaA);
15.
printf(“Nilai NamaB : %s”,NamaB);
16. }
%i
%s
lB
%i
float -> %f String ->
%s
&
iMaks = 100
fPi = 3.14
sSapa = ‘Hello’
T ipe dat a , opera tor dan Runt uta n
29
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
define
1.
2.
3.
4.
5.
6.
7.
8.
#include
#define iMaxs 100
#define fPi 3.14159
#define sSapa ‘Hello’
#define newLine ‘\n’
main() {
...
}
•
30
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Algorit m a dan Pe mrogra man
//Program Aritmatik
/* IS:Tersedia dua buah bilangan integer
FS:Hasil Modulo duabuah bilangan */
#include
main () {
// Deklarasi Variabel
int iTambah;
int iAngka1, iAngka2;
printf(“Masukan Bilangan Pertama : ”);
scanf(“%i”, iAngka1);
printf(“Masukan Bilangan Kedua
: ”);
scanf(“%i”, iAngka2);
// Penjumlahan
iTambah = iAngka1 + iAngka2;
printf(“Hasil Penjumlahan %i + %i = %i”,
iAngka1, iAngka2, iTambah);
return 0;
}
Masukan Bilangan Pertama : 10
Masukan Bilangan Kedua
: 23
Hasil Penjumlahan 10 + 23 = 33
T ipe dat a , opera tor dan Runt uta n
31
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
•
1
2
3
4
5
...
a++;
a += 1;
a = a + 1;
...
2
1 B = 3;
A = ++B;
// A = 4, B = 4
1
2
B = 3;
A = B++;
// A = 3, B = 4
•
32
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
1
2
3
4
5
6
7
8
9
10
11
12
Algorit m a dan Pe mrogra man
// Program Operator Relasional
KAMUS DATA {awal deklarasi variabel}
iAngka1, iAngka2 : integer
BEGIN
{awal algoritma}
iAngka1 = 6 {pengisian variabel langsung}
Input(iAngka2) {pengisian dgn inputan}
IF (iAngka1 iAngka2) THEN
Output (‘Tebakan Anda salah’)
ELSE
Output (‘Horee! Tebakan Anda benar’)
ENDIF
END
iAngka1 != iAngka2
iAngka1 != iAngka2
•
T ipe dat a , opera tor dan Runt uta n
33
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
(x > 7) && (x = y)
•
(8 > 7) && (8 = 5)
True AND False
False
(x != y) || (x > 3)
•
(4 != 4) || (4 > 3)
False OR True
True
NOT (x > y)
NOT (3 > 3)
NOT (False)
True
34
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
iHasil = x * 2 % 2 > y && (x != 3)
T ipe dat a , opera tor dan Runt uta n
35
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
iHasil = x * 2 % 2 > y && (x 3)
iHasil
iHasil
iHasil
iHasil
iHasil
iHasil
iHasil
x * 2
x * 2
5 * 2
0 > y
0 > 3
False
False
% 2 > y && (5 != 3)
% 2 > y && True
% 2 > y && True
&& True
&& True
&& True
1.
2.
Algoritma Runtunan;
{IS:Tersedia empat bilangan yang akan
dioperasikan
FS:Mengoutputkan dua bilangan setelah
dioperasikan }
3. Kamus data
4.
a,b,c,d : integer
5. BEGIN
6.
a
3
7.
b
2
8.
c
a * b
9.
a
5
10.
d
a + b
11.
Output (c, d)
12. END.
36
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
1. // Program Runtunan;
2. /*IS:Tersedia empat bilangan yang akan
dioperasikan
FS:Menampilkan dua bilangan setelah
dioperasikan */
3. #include
4.
5. main () {
6.
int a,b,c,d;
7.
a = 3;
8.
b = 2;
9.
c = a * b;
10.
a = 5;
11.
d = a + b;
12.
printf(“Nilai C : %i”,c);
13.
printf(“Nilai D : %i”,d);
14. }
Nilai C : 6
Nilai D : 7
T ipe dat a , opera tor dan Runt uta n
37
Polit e knik T e lk om
38
Algorit m a dan Pe mrogra man
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
2.9x10-39
1.1x10
4932
.
...
Kamus data
a, b, d, e : integer
c, f : real
g : char
h : boolean
Konstanta
d = 100;
BEGIN
a
5
b
3
c
7.0
a
a + c
e
d / a
ReadLn (g)
h
(g = ‘k’) OR (d MOD b > 3)
f
g + c
Output (a, b, c, d, e, f, g, h)
END
T ipe dat a , opera tor dan Runt uta n
39
Polit e knik T e lk om
e
40
Algorit m a dan Pe mrogra man
d / a
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
T ipe dat a , opera tor dan Runt uta n
Algorit m a dan Pe mrogra man
41
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
#include
main () {
int bilangan1, bilangan2;
int bilangan3, bilangan4;
bilangan1
bilangan1
bilangan2
bilangan3
:=
:=
:=
:=
10;
bilangan1 * 2;
bilangan1 + 10;
bilangan2 * bilangan1;
printf(“%i”,bilangan3);
}
42
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
# include
main () {
int iPertama, iKedua;
iPertama = 50;
iPertama %= 9;
iKedua = iPertama – 2;
printf(”%i”,iKedua);
}
}
T ipe dat a , opera tor dan Runt uta n
43
Polit e knik T e lk om
44
Algorit m a dan
nP
Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
IF cuaca mendung THEN
saya membawa payung
END IF
4.1
Pe m ilihan
45
Polit e knik T e lk om
46
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
47
Polit e knik T e lk om
48
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
49
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
4.2
50
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
51
Polit e knik T e lk om
52
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
53
Polit e knik T e lk om
54
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
4.3
Pe m ilihan
55
Polit e knik T e lk om
56
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
4.4
Pe m ilihan
57
Polit e knik T e lk om
58
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
4.5
Pe m ilihan
59
Polit e knik T e lk om
60
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
61
Polit e knik T e lk om
62
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
Input (nilai)
IF nilai > 85 AND nilai 60 AND nilai 45 AND nilai 30 AND nilai = 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
IF x mod 2 < 0 THEN
Output (‘x adalah bilangan ganjil’)
66
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
ENDIF
ENDIF
b. Input (x)
IF x div 2 >= 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
IF x div 2 < 0 THEN
Output (‘x adalah bilangan ganjil’)
ENDIF
ENDIF
c. Input (x)
IF x mod 2 = 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
Output (‘x adalah bilangan ganjil’)
ENDIF
d. Input (x)
IF x div 2 = 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
Output (‘x adalah bilangan ganjil’)
ENDIF
Pe m ilihan
67
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
Input (harga)
IF harga = 12500 then
Beli
ENDIF
Input (n)
p = n*2
IF p mod 2 = 0 THEN
Output (p/2)
ELSE
Output (p*2)
ENDIF
68
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
69
Polit e knik T e lk om
70
Algorit m a dan
nP
Pe mrogra man
Pe ngulanga n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
•
•
•
•
•
Pe ngulanga n
71
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
1 {inisialisasi}
2 WHILE (kondisi)
3
aksi
4
ubah pencacah (pencapaian kondisi berhenti)
5 ENDWHILE
ALGORITMA Kupas_Kentang
IS : Terdapat 10 kentang belum dikupas
FS : 10 kentang telah terkupas
KAMUS DATA
kentang : integer
1 BEGIN
{inisialisasi jumlah kentang yang sudah dikupas}
2 kentang
0
3 WHILE (kentang < 10 ){kondisi iterasi dilakukan}
4 Ambil sebuah kentang
5 Kupas kulit kentang
6 kentang kentang+1 {pencapaian kondisi berhenti}
7 ENDWHILE
8 END
72
Pe ngulanga n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
kentang
kentang
Pe ngulanga n
73
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
1)
ALGORITMA Tampil_Bintang
IS : FS : Jumlah bintang yg tampil = 5
KAMUS DATA
i : integer
1 BEGIN
2 i
0
{inisialisasi pencacah i}
3 WHILE (i < 5)
{jumlah iterasi}
4 Output (‘*’) {aksi}
5 i
i + 1
{pencapaian kondisi berhenti}
6 ENDWHILE
7 END
*
*
*
*
*
2)
ALGORITMA Iterasi_Angka
IS : FS : Tampil angka 1 hingga 5
KAMUS DATA
i : integer
1 BEGIN
2 i
1 {inisialisasi pencacah i}
3 WHILE (i
0
while (kondisi)
{
//aksi
//ubah pencacah
}
Pe ngulanga n
Polit e knik T e lk om
...
Algorit m a dan Pe mrogra man
...
i = 0;
while (i < 5)
{
printf(“*”);
i = i + 1;
}
i
0
WHILE (i < 5)
Output(‘*’)
i
i + 1
ENDWHILE
...
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//Nilai_Rata_Rata.c
//Menerima 3 angka dan menampilkan rata-ratanya
#include
main ()
{
//deklarasi variabel yg digunakan
float
jumlah;
int
bilangan;
float
x;
float
rerata;
//inisialisasi variabel jumlah
jumlah = 0;
//inisialisasi variabel pencacah bilangan
bilangan = 3;
while (bilangan > 0 )
{
//meminta inputan dari user
printf("Masukkan angka : ");
scanf("%f",&x);
//menjumlahkan angka yg diinputkan
jumlah = jumlah + x;
//mengurangkan pencacah untuk mencapai
//kondisi berhenti
bilangan = bilangan - 1;
}
//menghitung rata-rata dari 3 inputan angka
rerata = jumlah / 3;
//menampilkan hasil rata-rata
printf("Rerata : %.2f",rerata);
}
Pe ngulanga n
77
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
ALGORITMA Tebak_Huruf
IS : FS : Menampilkan pesan “Maaf Anda salah” jika
tebakan salah, dan menampilkan “Anda Benar” jika
tebakan benar
KAMUS DATA
huruf
: character
1 BEGIN
2 {inisialisasi huruf tebakan pertama }
3
Output(‘Masukkan tebakan : ‘)
4
Input(huruf)
5 WHILE (huruf != ‘q’) {pengecekan kondisi}
6
Output(‘Maaf Anda salah ‘)
7 Output(‘Masukkan tebakan : ‘)
8 Input(huruf) {input huruf berikutnya}
9 ENDWHILE
10 Output (‘Anda Benar’)
11 END
78
Pe ngulanga n
Polit e knik T e lk om
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Algorit m a dan Pe mrogra man
//Tebak_Huruf.c
//User memasukkan sebuah karakter untuk menebak
#include
main()
{
//deklarasi variabel untuk menerima input
char huruf;
//menginisialisasi huruf awal untuk dicek
printf("Tebakan : " );
scanf("%s",&huruf);
//pengecekan kondisi terhadap huruf inputan
while (huruf!='q')
{
//jika huruf bukan 'q' maka input huruf lain
printf("Maaf anda salah");
printf("\nTebakan : " );
scanf("%s",&huruf);
}
//jika huruf = 'q' maka tidak masuk ke while
printf("Anda Benar");
}
5.3
1
2
3
4
5
{inisialisasi}
DO
aksi
ubah pencacah
WHILE (kondisi)
Pe ngulanga n
79
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
ALGORITMA Kupas_Kentang
IS : Terdapat 10 kentang belum dikupas
FS : 10 kentang telah terkupas
KAMUS DATA
kentang : integer
1 BEGIN
2 {inisialisasi jml kentang yang sudah dikupas}
3 kentang
0
4 DO
5 Ambil sebuah kentang
6 Kupas kulit kentang
7 {pencapaian kondisi berhenti}
8 kentang kentang+1
9 WHILE (kentang < 10) {kondisi berhenti}
10 END
80
Pe ngulanga n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
kentang <
10
6)
ALGORITMA Tampil_Bintang
IS : Jumlah bintang yg tampil = 0
FS : Jumlah bintang yg tampil = 5
KAMUS DATA
i : integer
1 BEGIN
2 i
0
{inisialisasi pencacah i}
3 DO
4 Output (‘*’) {aksi}
5 i
i + 1
{pencapaian kondisi berhenti}
6 WHILE (i < 5)
{jumlah iterasi}
7 END
*
*
*
*
*
i
Algorit m a dan Pe mrogra man
iii
Polit e knik T e lk om
iv
Algorit m a dan Pe mrogra man
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
v
Polit e knik T e lk om
Pe ndahulua n
Algorit m a dan
n Pe mrogra man
1
Polit e knik T e lk om
2
Algorit m a dan Pe mrogra man
Pe nda hulua n
Polit e knik T e lk om
Pe ndahulua n
Algorit m a dan Pe mrogra man
3
Polit e knik T e lk om
4
Algorit m a dan Pe mrogra man
Pe nda hulua n
Polit e knik T e lk om
Pe ndahulua n
Algorit m a dan Pe mrogra man
5
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
•
•
•
•
6
Pe nda hulua n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
•
•
•
•
•
Pe ndahulua n
7
Polit e knik T e lk om
8
Algorit m a dan Pe mrogra man
Pe nda hulua n
Polit e knik T e lk om
Pe ndahulua n
Algorit m a dan Pe mrogra man
9
Polit e knik T e lk om
10
Algorit m a dan Pe mrogra man
Pe nda hulua n
Polit e knik T e lk om
Pe ndahulua n
Algorit m a dan Pe mrogra man
11
Polit e knik T e lk om
12
Algorit m a dan
nP
Pe mrogra man
Flow chart da
a n Pse udoc ode
Polit e knik T e lk om
Flow chart da n Pse udoc ode
Algorit m a dan Pe mrogra man
13
Polit e knik T e lk om
14
Algorit m a dan Pe mrogra man
Flow chart da n Pse udoc ode
Polit e knik T e lk om
Flow chart da n Pse udoc ode
Algorit m a dan Pe mrogra man
15
Polit e knik T e lk om
16
Algorit m a dan Pe mrogra man
Flow chart da n Pse udoc ode
Polit e knik T e lk om
Flow chart da n Pse udoc ode
Algorit m a dan Pe mrogra man
17
Polit e knik T e lk om
18
Algorit m a dan Pe mrogra man
Flow chart da n Pse udoc ode
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
Algoritma Coba;
Kamus data
x : integer;
s : string;
...
Algoritma Hello
Kamus data
s : string
BEGIN
s
“Halo!”
output(s)
END.
Flow chart da n Pse udoc ode
19
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
Algoritma Masukkan_data
Kamus data
BEGIN
input(x) /*x adalah variabel penampung nilai*/
END.
Algoritma Masukkan_nilai
Kamus data
BEGIN
x
5 /*panah ke kiri arah masuknya nilai*/
END.
Algoritma Tampilan
Kamus data
BEGIN
output(x) /*x adalah variabel yang berisi nilai*/
END.
20
Flow chart da n Pse udoc ode
Polit e knik T e lk om
Flow chart da n Pse udoc ode
Algorit m a dan Pe mrogra man
21
Polit e knik T e lk om
22
Algorit m a dan
nP
Pe mrogra man
T ipe da ta , ope ra torr d
da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
3.1
•
T ipe dat a , opera tor dan Runt uta n
23
Polit e knik T e lk om
Short
Int
Long
Algorit m a dan Pe mrogra man
8 bit
16 bit
32 bit
-128 .. 127
-32768 .. 32767
-2147483648 .. 2147483647
•
float
Double
2.9x10-39 .. 1.7x1038
5.0x10-324 .. 1.7x10308
32 bit
48 bit
•
“5”
5
24
“A”
“”
“?”
“+”
“5”
“$”
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
“”
“BANDUNG”
“Politeknik Telkom Bandung”
“ABC3456”
“Lucu”
“30202001”
“z”
“z”
•
T ipe dat a , opera tor dan Runt uta n
25
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
x : integer
nama : string
TB : real
1. KAMUS DATA {awal deklarasi variabel}
2.
x : integer
3.
nama: string
4.
TB : real
5.
jenisKelamin : char
6.
status : boolean
1.
2.
3.
4.
5.
6.
7.
// Contoh Program C++
#include
/* Program Utama */
main() {
printf("Selamat Datang");
return 0;
}
/* .. */
/*
*/
#include
26
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
stdio.h
main()
{
printf("Selamat Datang")
Selamat Datang
return 0
;
1. #include
2.
3. main () {
4.
int x;
5.
string nama;
6.
float BB;
7.
char jKelamin;
8.
bool status;
9.
...
10. }
•
T ipe dat a , opera tor dan Runt uta n
27
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
•
•
•
cJenisKelamin = ‘P’
sNamaOrangTua = ‘Jeremy Thomas’
iNilaiAkhir = 99
•
Input (cJenisKelamin)
Input (sNamaOrangTua)
Input (iNilaiAkhir)
cJKelamin
28
‘p’
Input (cJKelamain)
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
1. #include
2. main() {
3.
int lA,lB;
4.
String NamaA, NamaB;
5.
// Pengisian secara Langsung
6.
lA = 20;
7.
NamaA = “Joko Handono”;
8.
// Pengisian dengan Inputan
9.
scanf(“%i”,&lB);
10.
scanf(“%s”,&NamaB);
11.
// Menampilkan Kelayar
12.
printf(“Nilai lA : %i”,lA);
13.
printf(“Nilai lB : %i”,lB);
14.
printf(“Nilai NamaA : %s”,NamaA);
15.
printf(“Nilai NamaB : %s”,NamaB);
16. }
%i
%s
lB
%i
float -> %f String ->
%s
&
iMaks = 100
fPi = 3.14
sSapa = ‘Hello’
T ipe dat a , opera tor dan Runt uta n
29
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
define
1.
2.
3.
4.
5.
6.
7.
8.
#include
#define iMaxs 100
#define fPi 3.14159
#define sSapa ‘Hello’
#define newLine ‘\n’
main() {
...
}
•
30
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Algorit m a dan Pe mrogra man
//Program Aritmatik
/* IS:Tersedia dua buah bilangan integer
FS:Hasil Modulo duabuah bilangan */
#include
main () {
// Deklarasi Variabel
int iTambah;
int iAngka1, iAngka2;
printf(“Masukan Bilangan Pertama : ”);
scanf(“%i”, iAngka1);
printf(“Masukan Bilangan Kedua
: ”);
scanf(“%i”, iAngka2);
// Penjumlahan
iTambah = iAngka1 + iAngka2;
printf(“Hasil Penjumlahan %i + %i = %i”,
iAngka1, iAngka2, iTambah);
return 0;
}
Masukan Bilangan Pertama : 10
Masukan Bilangan Kedua
: 23
Hasil Penjumlahan 10 + 23 = 33
T ipe dat a , opera tor dan Runt uta n
31
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
•
1
2
3
4
5
...
a++;
a += 1;
a = a + 1;
...
2
1 B = 3;
A = ++B;
// A = 4, B = 4
1
2
B = 3;
A = B++;
// A = 3, B = 4
•
32
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
1
2
3
4
5
6
7
8
9
10
11
12
Algorit m a dan Pe mrogra man
// Program Operator Relasional
KAMUS DATA {awal deklarasi variabel}
iAngka1, iAngka2 : integer
BEGIN
{awal algoritma}
iAngka1 = 6 {pengisian variabel langsung}
Input(iAngka2) {pengisian dgn inputan}
IF (iAngka1 iAngka2) THEN
Output (‘Tebakan Anda salah’)
ELSE
Output (‘Horee! Tebakan Anda benar’)
ENDIF
END
iAngka1 != iAngka2
iAngka1 != iAngka2
•
T ipe dat a , opera tor dan Runt uta n
33
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
(x > 7) && (x = y)
•
(8 > 7) && (8 = 5)
True AND False
False
(x != y) || (x > 3)
•
(4 != 4) || (4 > 3)
False OR True
True
NOT (x > y)
NOT (3 > 3)
NOT (False)
True
34
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
iHasil = x * 2 % 2 > y && (x != 3)
T ipe dat a , opera tor dan Runt uta n
35
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
iHasil = x * 2 % 2 > y && (x 3)
iHasil
iHasil
iHasil
iHasil
iHasil
iHasil
iHasil
x * 2
x * 2
5 * 2
0 > y
0 > 3
False
False
% 2 > y && (5 != 3)
% 2 > y && True
% 2 > y && True
&& True
&& True
&& True
1.
2.
Algoritma Runtunan;
{IS:Tersedia empat bilangan yang akan
dioperasikan
FS:Mengoutputkan dua bilangan setelah
dioperasikan }
3. Kamus data
4.
a,b,c,d : integer
5. BEGIN
6.
a
3
7.
b
2
8.
c
a * b
9.
a
5
10.
d
a + b
11.
Output (c, d)
12. END.
36
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
1. // Program Runtunan;
2. /*IS:Tersedia empat bilangan yang akan
dioperasikan
FS:Menampilkan dua bilangan setelah
dioperasikan */
3. #include
4.
5. main () {
6.
int a,b,c,d;
7.
a = 3;
8.
b = 2;
9.
c = a * b;
10.
a = 5;
11.
d = a + b;
12.
printf(“Nilai C : %i”,c);
13.
printf(“Nilai D : %i”,d);
14. }
Nilai C : 6
Nilai D : 7
T ipe dat a , opera tor dan Runt uta n
37
Polit e knik T e lk om
38
Algorit m a dan Pe mrogra man
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
2.9x10-39
1.1x10
4932
.
...
Kamus data
a, b, d, e : integer
c, f : real
g : char
h : boolean
Konstanta
d = 100;
BEGIN
a
5
b
3
c
7.0
a
a + c
e
d / a
ReadLn (g)
h
(g = ‘k’) OR (d MOD b > 3)
f
g + c
Output (a, b, c, d, e, f, g, h)
END
T ipe dat a , opera tor dan Runt uta n
39
Polit e knik T e lk om
e
40
Algorit m a dan Pe mrogra man
d / a
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
T ipe dat a , opera tor dan Runt uta n
Algorit m a dan Pe mrogra man
41
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
#include
main () {
int bilangan1, bilangan2;
int bilangan3, bilangan4;
bilangan1
bilangan1
bilangan2
bilangan3
:=
:=
:=
:=
10;
bilangan1 * 2;
bilangan1 + 10;
bilangan2 * bilangan1;
printf(“%i”,bilangan3);
}
42
T ipe da ta , ope ra tor da n Runtuta n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
# include
main () {
int iPertama, iKedua;
iPertama = 50;
iPertama %= 9;
iKedua = iPertama – 2;
printf(”%i”,iKedua);
}
}
T ipe dat a , opera tor dan Runt uta n
43
Polit e knik T e lk om
44
Algorit m a dan
nP
Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
IF cuaca mendung THEN
saya membawa payung
END IF
4.1
Pe m ilihan
45
Polit e knik T e lk om
46
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
47
Polit e knik T e lk om
48
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
49
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
4.2
50
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
51
Polit e knik T e lk om
52
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
53
Polit e knik T e lk om
54
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
4.3
Pe m ilihan
55
Polit e knik T e lk om
56
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
4.4
Pe m ilihan
57
Polit e knik T e lk om
58
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
4.5
Pe m ilihan
59
Polit e knik T e lk om
60
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
61
Polit e knik T e lk om
62
Algorit m a dan Pe mrogra man
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
Input (nilai)
IF nilai > 85 AND nilai 60 AND nilai 45 AND nilai 30 AND nilai = 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
IF x mod 2 < 0 THEN
Output (‘x adalah bilangan ganjil’)
66
Pe m ilihan
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
ENDIF
ENDIF
b. Input (x)
IF x div 2 >= 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
IF x div 2 < 0 THEN
Output (‘x adalah bilangan ganjil’)
ENDIF
ENDIF
c. Input (x)
IF x mod 2 = 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
Output (‘x adalah bilangan ganjil’)
ENDIF
d. Input (x)
IF x div 2 = 0 THEN
Output (‘x adalah bilangan genap’)
ELSE
Output (‘x adalah bilangan ganjil’)
ENDIF
Pe m ilihan
67
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
Input (harga)
IF harga = 12500 then
Beli
ENDIF
Input (n)
p = n*2
IF p mod 2 = 0 THEN
Output (p/2)
ELSE
Output (p*2)
ENDIF
68
Pe m ilihan
Polit e knik T e lk om
Pe m ilihan
Algorit m a dan Pe mrogra man
69
Polit e knik T e lk om
70
Algorit m a dan
nP
Pe mrogra man
Pe ngulanga n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
•
•
•
•
•
•
Pe ngulanga n
71
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
1 {inisialisasi}
2 WHILE (kondisi)
3
aksi
4
ubah pencacah (pencapaian kondisi berhenti)
5 ENDWHILE
ALGORITMA Kupas_Kentang
IS : Terdapat 10 kentang belum dikupas
FS : 10 kentang telah terkupas
KAMUS DATA
kentang : integer
1 BEGIN
{inisialisasi jumlah kentang yang sudah dikupas}
2 kentang
0
3 WHILE (kentang < 10 ){kondisi iterasi dilakukan}
4 Ambil sebuah kentang
5 Kupas kulit kentang
6 kentang kentang+1 {pencapaian kondisi berhenti}
7 ENDWHILE
8 END
72
Pe ngulanga n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
kentang
kentang
Pe ngulanga n
73
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
1)
ALGORITMA Tampil_Bintang
IS : FS : Jumlah bintang yg tampil = 5
KAMUS DATA
i : integer
1 BEGIN
2 i
0
{inisialisasi pencacah i}
3 WHILE (i < 5)
{jumlah iterasi}
4 Output (‘*’) {aksi}
5 i
i + 1
{pencapaian kondisi berhenti}
6 ENDWHILE
7 END
*
*
*
*
*
2)
ALGORITMA Iterasi_Angka
IS : FS : Tampil angka 1 hingga 5
KAMUS DATA
i : integer
1 BEGIN
2 i
1 {inisialisasi pencacah i}
3 WHILE (i
0
while (kondisi)
{
//aksi
//ubah pencacah
}
Pe ngulanga n
Polit e knik T e lk om
...
Algorit m a dan Pe mrogra man
...
i = 0;
while (i < 5)
{
printf(“*”);
i = i + 1;
}
i
0
WHILE (i < 5)
Output(‘*’)
i
i + 1
ENDWHILE
...
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//Nilai_Rata_Rata.c
//Menerima 3 angka dan menampilkan rata-ratanya
#include
main ()
{
//deklarasi variabel yg digunakan
float
jumlah;
int
bilangan;
float
x;
float
rerata;
//inisialisasi variabel jumlah
jumlah = 0;
//inisialisasi variabel pencacah bilangan
bilangan = 3;
while (bilangan > 0 )
{
//meminta inputan dari user
printf("Masukkan angka : ");
scanf("%f",&x);
//menjumlahkan angka yg diinputkan
jumlah = jumlah + x;
//mengurangkan pencacah untuk mencapai
//kondisi berhenti
bilangan = bilangan - 1;
}
//menghitung rata-rata dari 3 inputan angka
rerata = jumlah / 3;
//menampilkan hasil rata-rata
printf("Rerata : %.2f",rerata);
}
Pe ngulanga n
77
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
ALGORITMA Tebak_Huruf
IS : FS : Menampilkan pesan “Maaf Anda salah” jika
tebakan salah, dan menampilkan “Anda Benar” jika
tebakan benar
KAMUS DATA
huruf
: character
1 BEGIN
2 {inisialisasi huruf tebakan pertama }
3
Output(‘Masukkan tebakan : ‘)
4
Input(huruf)
5 WHILE (huruf != ‘q’) {pengecekan kondisi}
6
Output(‘Maaf Anda salah ‘)
7 Output(‘Masukkan tebakan : ‘)
8 Input(huruf) {input huruf berikutnya}
9 ENDWHILE
10 Output (‘Anda Benar’)
11 END
78
Pe ngulanga n
Polit e knik T e lk om
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Algorit m a dan Pe mrogra man
//Tebak_Huruf.c
//User memasukkan sebuah karakter untuk menebak
#include
main()
{
//deklarasi variabel untuk menerima input
char huruf;
//menginisialisasi huruf awal untuk dicek
printf("Tebakan : " );
scanf("%s",&huruf);
//pengecekan kondisi terhadap huruf inputan
while (huruf!='q')
{
//jika huruf bukan 'q' maka input huruf lain
printf("Maaf anda salah");
printf("\nTebakan : " );
scanf("%s",&huruf);
}
//jika huruf = 'q' maka tidak masuk ke while
printf("Anda Benar");
}
5.3
1
2
3
4
5
{inisialisasi}
DO
aksi
ubah pencacah
WHILE (kondisi)
Pe ngulanga n
79
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
ALGORITMA Kupas_Kentang
IS : Terdapat 10 kentang belum dikupas
FS : 10 kentang telah terkupas
KAMUS DATA
kentang : integer
1 BEGIN
2 {inisialisasi jml kentang yang sudah dikupas}
3 kentang
0
4 DO
5 Ambil sebuah kentang
6 Kupas kulit kentang
7 {pencapaian kondisi berhenti}
8 kentang kentang+1
9 WHILE (kentang < 10) {kondisi berhenti}
10 END
80
Pe ngulanga n
Polit e knik T e lk om
Algorit m a dan Pe mrogra man
kentang <
10
6)
ALGORITMA Tampil_Bintang
IS : Jumlah bintang yg tampil = 0
FS : Jumlah bintang yg tampil = 5
KAMUS DATA
i : integer
1 BEGIN
2 i
0
{inisialisasi pencacah i}
3 DO
4 Output (‘*’) {aksi}
5 i
i + 1
{pencapaian kondisi berhenti}
6 WHILE (i < 5)
{jumlah iterasi}
7 END
*
*
*
*
*
i