1. TYPE, NAMA & HARGA
Algoritma Pemrograman
Drs. Lamhot Sitorus, M.Kom
Fakultas Ilmu Komputer
Universitas Katolik Santo Thomas
2. TYPE
• Digunakan untuk mendefinisikan objek yang akan
diprogram.
• Type data dasar dan type data bentukan.
• Type data dasar adalah type data yang
diasumsikan ada sehingga siap untuk digunakan.
• Type data bentukan adalah type data yang
dibentuk oleh pemrogram dan dibentuk
berdasarkan type data dasar.
• Type data menentukan alokasi memori di
komputer, tetapi hanya mendefinisikan pola
struktur informasi.
2
3. TYPE
• Mendefinisikan TYPE berarti :
– Menentukan NAMA dalam Kamus
– Definisi domain harga yang dapat dipunyai oleh
NAMA
– Konvensi atau perjanjian tentang penulisan
Konstanta bertype tersebut
– Operator yang dapat dioperasikan terhadap objek
bertype tersebut
3
4. TYPE DATA DASAR
• Dilihat dari sisi algoritma, yang termasuk type
data dasar adalah :
– Bilangan Logika
– Bilangan Bulat
– Bilangan Riil
– Karakter
4
6. Bilangan Bulat
•
•
•
•
•
•
Nama
: integer
Domain
:Z
Konstanta : 0 3 12 123 -98 999
Operator : - Aritmatika (+, -, *, /, ^, div, Mod, Abs)
Relasi (<, >, <=, >=, , =)
Bilangan integer mempunyai keterurutan, yang
didefinisikan dengan Successor (SUCC) dan Predecessor
(PRED).
• Untuk operator aritmatika akan menghasilkan hasil dengan
type data bilangan bulat juga kecuali pembagian yang akan
menghasilkan bilangan Riil. Sedangkan untuk operator
relasional akan menghasilkan hasil dengan type data
Boolean.
6
7. Bilangan Riil
•
•
•
•
•
•
•
Nama : Real
Domain : R
Konstanta
: Angka mengandung ‘.’
0.2 0 3.233 123. -9.88 999.
Operator : - Aritmatika (+, -, *, ^, /)
Operator Relasional (<, >, , )
Untuk operator aritmatika akan menghasilkan
hasil dengan type data bilangan Riil. Sedangkan
untuk operator relasional akan menghasilkan
hasil dengan type data Boolean.
7
8. Karakter
•
•
•
•
•
Nama
: Character
Domain : Kode ASCII
Konstanta : ‘a’ ‘m’ ‘K’ ‘P’ ‘1’ ‘8’ Return Space
Operator : Perbandingan (= dan
Ada karakter yang kelihatan dan ada juga karakter yang
tidak kelihatan.
• Type karakter juga mempunyai keterurutan yang
ditentukan oleh representasi di dalam komputer,
misalnya pengkodean ASCII.
• Operator Perbandingan akan menghasilkan type data
boolean
8
9. TYPE DATA BENTUKAN
• Type data yang dibentuk dan diberi nama oleh
pemrogram dari berdasarkan type data dasar.
• Jika suatu type bentukan yang dibentuk dari
type data dasar maka type data bentukan
tersebut dilakukan seperti yang didefinisikan
pada tipe data dasar.
• Yang termasuk kedalam type data bentukan
adalah String, Record (structure), pointer.
9
10. NAMA
• Adalah sesuatu yang dipakai sebagai identifikasi :
–
–
–
–
Type sesuai dengan definisi type
Nama Variabel, Nama Konstanta
Nama Fungsi
Modul program, algoritma dsb
•
• Semua nama harus didefinisikan dalam KAMUS.
• Dalam setiap bahasa pemrograman mempunyai aturan penulisan
tertentu.
• Dalam kuliah algoritma tidak ada aturan ketat mengenai nama,
yang penting setiap nama harus interpretatif dan jika singkat harus
disertai dengan penjelasannya.
• Penulisan nama sebaiknya dikelompokkan.
10
11. NAMA
KAMUS
{Nama Variabel}
Nmax
: integer
Found
: Boolean
P
: Point
CC
: Character
{Nama Konstanta}
Constant Phi : Real =3.14
Constant Ka : Character = ‘K’
Constant Faktor : Integer = 3
Constant Ketemu : Boolean = true
{Nama Fungsi}
Function Faktorial (n : Integer) : Integer
{Nama Prosedure
Procedure Inisialisasi
Procedure Tukar(Input/Output : A,B : Real)
11
12. EKSPRESI
• Adalah suatu rumus perhitungan yang terdiri
dari operand dan operator.
• Hasil perhitungan adalah harga dengan
domain yang memnuhi type operator yang
bersangkutan.
• Operand adalah sesuatu nilai atau sesuatu
nama yang memiliki nilai yang dioperasikan
sesuai dengan operator.
• Operator adalah simbol-simbol khusus yang
digunakan untuk operasi tertentu.
12
13. EKSPRESI
• Ekspresi Logika adalah ekspresi yang
menghasilkan type data Boolean.
• Operand dapat berupa konstanta atau variabel
bertype boolean, integer atau Real.
• Operator yang digunakan adalah operator
Boolean (AND, OR, NOT, XOR) dan operator
Relasional (<, >, , , =, ).
13
14. EKSPRESI
• Ekspresi Aritmatika adalah ekspresi yang
menghasilkan nilai bertype numerik (integer
atau Real).
• Operandnya harus berupa konstanta atau
variabel numerik (integer atau real).
• Operator yang dapat digunakan adalah
operator aritmatika dan relasional.
14
15. EKSPRESI
• Ekspresi String adalah ekspresi yang hasilnya
String.
• Operandnya berupa variabel atau konstanta
string.
• Sedangkan operator yang dapat digunakan
adalah operator konstruksi (+ atau
concatenation).
15
16. HARGA
• Adalah suatu besaran bertype yang telah
dikenal.
• Harga dalam suatu algoritma dapat diperoleh
dari :
– Isi suatu Nama Konstanta, Nama Variabel
– Hasil perhitungan suatu ekspresi
– Hasil yang dikirim suatu fungsi
– Konstanta tanpa diberi nama yang dipakai
langsung
16
17. HARGA
• Harga dapat dimanipulasi dengan cara :
– Diisikan ke Nama variabel yang mempunyai type
yang sesuai dengan harga tersebut
– Dituliskan ke piranti keluaran
– Dipakai dalam ekspresi
17
18. Assignment (Penugasan)
• Adalah menyimpan harga pada suatu Nama
atau memberikan harga pada suatu Nama.
• Dengan pemberian harga ini, harga lama yang
disimpan tidak lagi berlaku, yang berlaku
adalah harga yang paling akhir yang diberikan.
• Memprogram pada hakekatnya adalah
memanipulasi nama yang mewakili alokasi
memori tertentu.
• Manipulasi harga terhadap Nama dilakukan
dengan Assignment.
18
19. Notasi algoritmik untuk pemberian
harga (assignment)
ALGORITMA
Nama Nama1
Nama Konstanta
Nama ekspresi
Dengan syarat :
Bagian kiri dan bagian kanan tanda bertype sama
Nama harus berupa Nama Variabel
Nama1 boleh berupa nama variabel, nama konstanta atau nama
fungsi
19
20. Notasi algoritmik pemberian harga
dari piranti masukan
ALGORITMA
INPUT(List_Name)
Dengan syarat : List_Name adalah satu atau lebih nama
variabel dan harus nama variabel
20
21. Notasi algoritmik untuk penulisan
harga ke piranti
ALGORITMA
OUTPUT (List_Name)
OUTPUT(Konstanta)
OUTPUT(Ekspresi)
OUTPUT(List_Name, Konstanta, Ekspresi)
Dengan syarat :
List_Name adalah satu atau lebih nama Nama Variabel, Nama Konstanta,
Nama Fungsi
Nama yang dituliskan sudah terdefinisisebelumnya
21
22. Contoh Soal Latihan
• Contoh 1. Tuliskan algoritma untuk menulis
kata ‘Hello’ ke piranti keluaran yang
disediakan.
22
24. Contoh Soal Latihan
• Contoh 2. Tuliskan algoritma untuk menulis
kata ‘Hello’ yang diikuti dengan nama
seseorang yang masukkan dari piranti
masukan.
24
26. Contoh Soal Latihan
• Contoh 3. Dibaca dua buah bilangan v dan t
yang menyatakan harga kecepatan (m/det)
dan waktu (detik) yang mewakili koefisien
persamaan gerak lurus beraturan. Harus
dihitung dan dituliskan jarak yang ditempuh
benda yang bergerak lurus beraturan dengan
kecepatan v tersebut dalam waktu t.
26
28. Contoh Soal Latihan
• Contoh 4. Dibaca sebuah bilangan bulat positif
yang lebih kecil dari 1 juta yang mewakili
besaran dalam detik. Harus dihitung
ekivalensinya, berapa hari, berapa jam, berapa
menit dan berapa detik.
28
30. Contoh Soal Latihan
• Contoh 5. Tuliskanlah algoritma untuk
membaca dua buah besaran bertype Jam yang
mewakili awal dan akhir suatu percakapan
telepon dan menuliskan durasi waktu dalam
detik yang dihitung dari kedua jam yang
dibaca. Type jam terdiri dari Jam, Menit, Detik
dan dipakai sistem jam dengan Jam 00:00:00
sampai dengan 24:60:60
30