Dasar Pemrograman
Dasar Pemrograman
Fasilkom-Kelas C
Chapter 8. Array
Chapter 9. Record
Chapter 10. Rekursif
Referensi
Algoritma dan Pemrograman
dalam Bahasa Pascal dan C
(Buku 1), Rinaldi Munir,
Informatika Bandung
Algoritma dan Pemrograman
dalam Bahasa Pascal dan C
(Buku2), Rinaldi Munir&Leoni
Lidya, Informatika Bandung
Tugas = 20%
UTS = 30%
UAS = 40%
Kehadiran = 10%
Dev C++
Turbo Pascal
VB Script
Raptor
Runtunan (sequence)
aksi-aksi dalam algoritma yang
dikerjakan secara berurutan
contoh :
A1. Aksi 1
A2. Aksi 2
A3. Aksi 3
Pemilihan (selection)
aksi dikerjakan jika kondisi tertentu terpenuhi
contoh :
Input
Processing
Output (display)
Decision (untuk mengevaluasi
suatu kondisi)
Procedure/subroutine
Flow lines
Terminator (mengawali dan
mengakhiri flow chart)
On page connector
Off page connector
Annotation (memberi komentar
atau keterangan dalam flow
chart)
~ Alpro – Tubagus Purworusmiardi, S.Kom
ATURAN PENULISAN
TEKS ALGORITMA
spesifikasi algoritma
Domain harga
Konstanta
Operator
BENAR
titik6 atau titik_6
nilai_ujian atau nilaiUjian
PT_1 atau PT1
hari
Contoh:
Contoh:
read (nama1, nama2,…namaN)
~ Alpro – Tubagus Purworusmiardi, S.Kom
Ekspresi
Ekspresi terdiri atas: operand dan
operator
Operand adalah nilai yang
dioperasikan dengan operator
tertentu
Operand dapat berupa konstanta,
nama variabel, nama konstanta, atau
hasil suatu fungsi
Hasil evaluasi dari sebuah ekspresi
adalah nilai di dalam domain yang
sesuai dengan tipe operand yang
dipakai, ada tiga macam: ekspresi
aritmetik, ekspresi relasional,
ekspresi string.
~ Alpro – Tubagus Purworusmiardi, S.Kom
Ekspresi(2)
Ekspresi Aritmetika
Ekspresi yang baik operand dan hasilnya
berupa numerik
(ingat: tingkat prioritas operator)
i. / , div, mod
ii. *
iii.+, -
Ekspresi relasional
Ekspresi dengan operator <,≤,>,≥,=,≠, not, and,
or, dan xor
Hasil evaluasi adalah nilai bertipe boolean
Ekspresi string
Ekspresi string
Ekspresi dengan operator
penyambungan/concatenation
“+”.
DEKLARASI
const ucapan = ‘Hello World’
namaUser : string
DESKRIPSI
read(namaUser)
write(ucapan + ‘ ‘ + namaUser)
Kepala Program
Berisi judul program dan
keterangan tentang program
Bahasa Algoritma : Algoritma
judul_program
Ex. Algoritma
menghitung_luas_segitiga
Ex. Algoritma
MenghitungLuasSegitiga
Bisa ditambahkan komentar
tentang program dengan
menggunakan operator “{ }”
Struktur Badan Algoritma (2)
Deklarasi
Berisi variabel yang digunakan
dalam program
Bahasa Algoritma : nama_variabel
: Tipe Data
Ex. AlasSegitiga : integer
Ex. TinggiSegitiga : integer
Deskripsi
Berisi uraian langkah
penyelesaian
Example:
read(PanjangSegitiga)
read(LebarSegitiga)
LuasSegitiga ← ½ * PanjangSegitiga *
LebarSegitiga
write(LuasSegitiga)
Struktur Badan Algoritma (4)
Algoritma menghitung_luas_segitiga
{menghitung luas segitiga dengan inputan alas dan
tinggi segitiga berasal dari keyboard}
DEKLARASI
AlasSegitiga : Integer
TinggiSegitiga : Integer
LuasSegitiga: Integer
DESKRIPSI
read(AlasSegitiga)
read(TinggiSegitiga)
LuasSegitiga ← ½ * AlasSegitiga * TinggiSegitiga
write(LuasSegitiga)
Kasus
Deklarasi data untuk mobil
Merk : String {Contoh: Honda}
NoKendaraan : String {Contoh: KH1A}
TahunProduksi : Integer {Contoh: 2007}
Domain harga
Konstanta
Operator
Tipe Data(3)
Tipe Bentukan
Tipe dasar yang diberi nama tipe baru
Nama baru untuk tipe dasar menggunakan kata
kunci type
Domain nilai, cara menulis konstanta, dan
operasi-operasi yang dapat dijalankan pada tipe
baru tersebut tidak berubah, sama seperti tipe
dasarnya.
Contoh: type BilanganBulat: integer
Rekaman (record)
Rekaman disusun atas satu atau lebih field
Tipe field menyimpan data dan tipe dasar
tertentu atau dari tipe bentukan lain yang sudah
didefinisikan sebelumnya
Nama rekaman ditentukan oleh pemrogram
Rekaman disebut juga tipe terstruktur
Contoh Record
DEKLARASI
type MataKuliah : record <KodeMK : string, {kode
matakuliah}
NamaMK : string, {nama matakuliah}
Nilai : char {indeks nilai}
>
BENAR
titik6 atau titik_6
nilai_ujian atau nilaiUjian
PT_1 atau PT1
hari
Nilai
Merupakan besaran dari tipe data yang
sudah didefinisikan (tipe dasar maupun
tipe bentukan)
Nilai dapat berupa:
Isi variabel atau konstanta
Nilai dari hasil perhitungan
Nilai yang dihasilkan oleh fungsi
Nilai yang disimpan di variabel
dimanipulasi dengan cara:
Mengisikan ke variabel lain yang bertipe sama
Dipakai untuk perhitungan
Dituliskan ke piranti keluaran
Nilai(2)
Pengisian nilai ke variabel:
Pengisian nilai secara langsung(assignment)
Contoh:
Contoh:
read (nama1, nama2,…namaN)
Ekspresi
Ekspresi terdiri atas: operand dan
operator
Operand adalah nilai yang
dioperasikan dengan operator
tertentu
Operand dapat berupa konstanta,
nama variabel, nama konstanta, atau
hasil suatu fungsi
Hasil evaluasi dari sebuah ekspresi
adalah nilai di dalam domain yang
sesuai dengan tipe operand yang
dipakai, ada tiga macam: ekspresi
aritmetik, ekspresi relasional,
ekspresi string.
Ekspresi(2)
Ekspresi Aritmetika
Ekspresi yang baik operand dan hasilnya
berupa numerik
(ingat: tingkat prioritas operator)
i. / , div, mod
ii. *
iii.+, -
Ekspresi relasional
Ekspresi dengan operator <,≤,>,≥,=,≠, not, and,
or, dan xor
Hasil evaluasi adalah nilai bertipe boolean
Ekspresi string
Ekspresi (3)
Ekspresi string
Ekspresi dengan operator
penyambungan/concatenation
“+”.
Menuliskan Nilai ke Piranti
Keluaran (monitor/printer)
Dilakukan dengan notasi write
Contoh:
write (nama1, nama2, …, namaN)
Contoh Algoritma
Algoritma Hello_World
{mencetak string Hello World diikuti nama orang.
Nama orang diinputkan dari piranti masukan}
DEKLARASI
const ucapan = ‘Hello World’
namaUser : string
DESKRIPSI
read(namaUser)
write(ucapan + ‘ ‘ + namaUser)
Tugas di kumpul minggu
depan
Buatlah algoritma lengkap
tentang perhitungan konversi
dari jam ke detik
Inputan berupa jam. Misalnya
Masukan jam : 1
Ouput
Detik : 3600
Sumber