Algoritma &
Pemrograman I
1
ALGORITMA & PEMROGRAMAN I
• Definisi
• Bahasa adalah alat komunikasi antara manusia dengan komputer
• Program adalah urutan instruksi yang ditulis dengan bahasa
komputer tertentu
• Algoritma adalah urutan logis pengambilan putusan untuk
pemecahan masalah
• Lima ciri penting algoritma :
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah
terbatas
2. Setiap langkah harus didefinisikan dengan tepat
3. Algoritma memiliki nol atau lebih masukan
4. Algoritma memiliki satu atau lebih keluaran
5. Algoritma harus efektif
2
Komponen-komponen utama komputer
memori
3
Tahapan pelaksanaan program oleh komputer
algoritma
pemrograman
translasi
4
Langkah-langkah Proses Penyelesaian Masalah
Algorithm
Problem Analysis Coding
Design
Execution Library
error
Result
5
Teks Algoritma
Judul
{teks atau spesifikasi teks algoritma yg memudahkan pembacaan teks algoritma}
Kamus
{Definisi nama variable, type, konstanta, prosedur, fungsi}
Algoritma
{berisi semua teks instruksi algoritma yang diawali dengan kurung kurawal buka dan diakhiri kurung kurawal
tutup.
7
Komponen teks pemrograman prosedural
• Input/output, assignment
• Squential statement
• Analisa kasus
• pengulangan
8
TYPE
Mendefinisikan TYPE berarti :
9
Type Dasar
• Sudah tersedia di bahasa pemroses
• Terdiri :
• Bilangan logika/Boolean
• Bilangan bulat
• Bilangan riil
• karakter
10
a b Not a a and b a or b a xor b
11
BILANGAN BULAT (INTEGER)
Bilangan bulat merupakan bilangan yg tidak mengandung pecahan desimal, misal 0,2,8,34,1019.
12
BILANGAN RIIL (FLOAT)
Bilangan riil mengandung . (titik) dalam nilai konstanta-nya. Misal 1.4
Operator Aritmatika : +, -, *, /
Operator Relasional : <, <=, >, >=. <>
KARAKTER (CHAR)
Data dalam tipe karakter dituliskan dalam tanda petik ‘ ‘, contoh : ‘a’, ‘0’
Operator relasional : <, >, >=, =, <>,
Contoh : ‘a’ = ‘a’ (benar)
‘T’ = ‘t’ (salah)
‘m’ < ‘z’ (benar)
13
• String Type
• Berisi nol atau lebih karakter
• Dituliskan diantara tanda petik (“)
• Contoh : “Mickey” atau “ “
• Contoh : “William” panjang string 7,
• posisi ‘W’ adalah 0
• posisi ‘a’ adalah 5
14
Type Bentukan
• Type bentukan adalah suatu TYPE yang dirancang/dibentuk (dan diberi nama) dari beberapa
komponen bertype tertentu, jadi merupakan sekumpulan elemen bertype dasar atau bertype yang
sudah dikenal.
• Type bentukan dibuat/didefinisikan karena perancang program memutuskan bahwa keseluruhan
(hasil komposisi) komponen type tersebut mempunyai sebuah makna semantic
• Ada relasi yang persis antara satu elemen dengan yang lain.
• Operasi terhadap komponen (elemen) bertipe dasar dilakukan seperti yang didefinisikan pada
tipe dasar.
• Operasi terhadap keseluruhan tipe mungkin didefinisikan atau tidak.
• Type bentukan seringkali disebut sebagai type komposisi, agregat.
• Implementasinya dalam suatu bahasa sangat bervariasi satu sama lain.
Dalam notasi algoritmik, sebuah type bentukan berupa agregasi elemen dituliskan dengan notasi :
type nama type < elemen1: type1,
elemen2: type2,
elemen2: type2’ ………….>
15
Assignment
Assignment Statement
Variable = expression;
Contoh :
I = 12;
I = I + 1;
Input Statement
cin>> variable;
contoh : cin>>I;
Output Statement
cout<<variabel;
cout<<“…………”;
cout<<expression or manipulator;
16
Contoh Analisa Masalah dan Program
Tuliskan program yang dapat menerima masukan nilai panjang dalam satuan kilometer dan meter.
Program harus dapat me-konversi ke dalam nilai panjang dengan satuan centimeter !
Berarti :
input : panjang dalam satuan kilometer (km) dan meter (m)
output : panjang dalam satuan centimeter
17
• Variable
input program dalam dua satuan nilai yaitu km dan m, sekaligus dapat
diberi nama variabel ‘km’ dan ‘m’
• Type
variabel km dan m dapat bernilai bilangan bulat (int)
Variabel dan tipe dideklariskan sebagai berikut :
int km; // variabel untuk nilai panjang dengan satuan kilometer
int m; // variabel untuk nilai panjang dengan satuan meter
double cm; // variabel untuk menyimpan nilai hasil konversi ke centimeter
18
19
20
Contoh
Persoalan :
Dibaca dua buah harga v (kecepatan, m/detik) dan t (waktu, detik), yang
mewakili
koefisien persamaan gerak lurus beraturan. Harus dihitung dan dituliskan
hasilnya,
jarak yang ditempuh benda yang bergerak lurus beraturan dengan
kecepatan v
tersebut dalam waktu t.
Spesifikasi:
• Input : v (kecepatan, m/detik), integer dan t (waktu, detik), integer
• Proses : menghitung S = v * t
• Output : S (jarak yang ditempuh dalam meter ), intege
21
SOAL KASUS
JAM MENIT DETIK
Persoalan :
• Dibaca sebuah harga berupa bilangan bulat, positif dan lebih kecil dari 1 juta, yang mewakili besaran dalam detik. Harus dihitung ekivalensinya, berapa hari,
jam berapa menit dan berapa detik. Contoh : data 309639 akan menghasilkan 3, 14, 0, 39, yang artinya 3 hari, 14 jam, 0 menit dan 9 detik
Spesifikasi:
• Input : n (detik), integer
• Proses : menghitung hari, jam, menit, detik ekivalen dengan n
• Output : HARI, JAM, MENIT, DETIK
Analisis : nama-nama informasi yang akan dibutuhkan adalah :
• n : bilangan yang dibaca sebagai data, integer antara 0 dan 999999
• H : HARI, bilangan bulat positif, HARI
• J : JAM, bilangan bulat positif antara 0 - 23
• M : MENIT, bilangan bulat antara 0 -59
• D : DETIK, bilangan bulat antara 0 - 59
• Rumus : 1 hari = 86400 detik; 1 jam = 3600 detik dan 1 menit = 60 detik.
22
Kasus : KALKULASI TYPE TERSTRUKTUR
PECAHAN
Persoalan:
• Tuliskanlah algoritma untuk membaca dua buah besaran bertype pecahan, dan
• menuliskan hasil kali kedua pecahan tersebut. Pecahan harus direpresentasi sebagai
• dua buah bilangan integer yang menyatakan pembilang dan penyebut. Untuk
• penyederhanaan, penyebut selalu tidak pernah sama dengan nol. Pecahan negatif
• ditandai dengan pembilang berupa integer negatif
Contoh :
• Pecahan <1,2> merepresentasi 1/2
• Pecahan <-4,2> merepresentasi -4/2
• Pecahan <1,1> merepresentasi 1/1
• Pecahan <0,2> merepresentasi 0/2
• Pecahan <1,0> bukan pecahan, karena di luar definisi pecahan
23