Anda di halaman 1dari 41

ALGORITMA

&
PEMROGRAMAN

Teknik Informatika
Fakultas Teknik
Universitas Janabadra Yogyakarta
Algoritma & Program
• Algoritma
– Urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis
– Urutan logis pengambilan keputusan untuk pemecahan masalah
• Lima ciri penting algoritma
– Selesai dalam jumlah langkah terbatas
– Tidak memiliki arti ganda
– Memiliki nol atau lebih input
– Memiliki nol atau lebih output
– Efektif
• Program
– Perwujudan atau implementasi algoritma yang ditulis dalam
bahasa pemrograman tertentu
Belajar Memprogram & Belajar
Bahasa Pemrograman
• Belajar memprogram:
pemahaman persoalan, analisis, dan sintesis
Pemecahan Masalah
-Strategi Notasi yang telah
-Metodologi disepakati
-Sistematika

• Belajar Bahasa Pemrograman :


– Belajar memakai suatu bahasa
aturan sintaks (tata bahasa)
Tahapan Pemecahan Masalah
Algoritma
Translasi
Program dalam
Bahasa Tingkat Tinggi

Kompilasi
Program dalam
Bahasa Mesin

Interpretasi oleh CPU


Operasi
(Baca, tulis, hitung,
perbandingan, dll)
Paradigma Pemrograman
• Prosedural (imperatif)
 Program = Struktur + Data
mis : Pascal, C, Basic
• Object Oriented
 data dan instruksi dibungkus menjadi satu, disebut: kelas,
kelas pada saat run-time disebut objek.
mis : C++, Java
• Fungsional
 konsep pemetaan dan fungsi pada matematika
mis : Matlab
• Deklaratif
 pendefinisian relasi antar individu yang dinyatakan sebagai
predikat
mis : Prolog
DASAR-DASAR
ALGORITMA dan
FLOW CHART
Proses, Instruksi, dan Aksi
• Algoritma merupakan deskripsi urutan
pelaksanaan suatu proses
• Algoritma tersusun oleh sederetan langkah
instruksi yang logis
• Tiap langkah instruksi akan mengerjakan suatu
tindakan (Aksi)
• Bila Aksi dilaksanakan, maka sejumlah operasi
yang bersesuaian akan dikerjakan oleh CPU
Struktur Dasar Algoritma
• Runtunan (sequence)
– aksi-aksi dalam algoritma yang dikerjakan
secara berurutan
– contoh :
A1. Aksi 1 • mula-mula aksi 1 dilakukan
• aksi 2 dilakukan setelah aksi 1
A2. Aksi 2 selesai dilaksanakan
• dst.
A3. Aksi 3
Struktur Dasar Algoritma(2)
• Pemilihan (selection)
– aksi dikerjakan jika kondisi tertentu terpenuhi
– contoh :

IF kondisi THEN IF kondisi1 THEN


aksi Aksi1
ELSE
IF kondisi THEN IF kondisi2 THEN
aksi1 Aksi2
ELSE ELSE
aksi2 Aksi3
(Aksi 3 dilakukan jika kondisi 1 dan 2
tidak terpenuhi)
Struktur Dasar Algoritma (3)
• Pengulangan (repeatition)
– aksi-aksi yang dikerjakan berulang kali
– contoh :
• FOR pencacah pengulangan dari a sampai b DO
Aksi
(aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari a
sampai b yakni sebanyak b-a+1 kali)
• REPEAT
Aksi
UNTIL kondisi
(pengulangan aksi dilakukan sehingga kondisi/persyaratan berhenti
terpenuhi)
• WHILE kondisi DO
Aksi
(selama kondisi/persyaratan pengulangan masih benar, maka aksi
dikerjakan)
Flow Chart
• Flow chart suatu bagan/diagram yang
menggambarkan aliran proses yang dikerjakan
program dari awal sampai akhir.
• Flow chart adalah algoritma yang digambarkan
dengan diagram
• Fungsi dari flow chart adalah mendeskripsikan
urutan pelaksanaan suatu proses (sama dengan
fungsi algoritma)
Penulisan Algoritma
• FLOW CHART
– Flow chart adalah suatu bagan/diagram yang
menggambarkan aliran proses yang dikerjakan suatu
program dari awal sampai akhir
– Flow chart adalah algoritma yang digambarkan
dengan diagram
– Fungsi dari flow chart adalah mendeskripsikan
urutan pelaksanaan suatu proses (sama dengan fungsi
dari algoritma)
• TEKS ALGORITMA
– berisi langkah-langkah penyelesaian masalah yang
ditulis dengan bahasa yang mudah dipahami
Flow Chart(2)
• Input
• Processing
• Output (display)
• Decision (untuk mengevaluasi suatu
kondisi)
• Procedure/subroutine
Flow Chart(2)
• Flow lines
• Terminator (mengawali dan mengakhiri
flow chart)
• On page connector
• Off page connector
• Annotation (memberi komentar atau
keterangan dalam flow chart)
ATURAN PENULISAN
TEKS ALGORITMA
Teks Algoritma
• Teks algoritma berisi langkah-langkah
penyelesaian masalah
• Tidak ada notasi baku tapi sebaiknya
berkorespondensi dengan bahasa pemrograman
umum, supaya mudah ditranslasikan ke dalam
bahasa pemrograman
• Notasi yang digunakan untuk menulis algoritma
disebut notasi algoritmik
Teks Algoritma
• Struktur teks algoritma
– Kepala algoritma
terdiri atas nama algoritma dan penjelasan
(spesifikasi) tentang algoritma tersebut
– Deklarasi
mendefinisikan semua nama (konstanta, peubah,
tipe, prosedur atau fungsi) yang dipakai dalam
algoritma
– Deskripsi
Berisi uraian langkah-langkah penyelesaian

Komentar ditulis diantara tanda kurung “{“ dan “}”


Contoh Teks Algoritma
Judul algoritma

spesifikasi algoritma

Kata2 yg biasanya menjadi keyword bhs pemrogram diberi garis bawah


Pascal
C
TIPE, NAMA, DAN
NILAI
Tipe Data
Tipe data terdiri dari tipe:
• Tipe dasar
– Tipe yang dapat langsung dipakai (disediakan oleh
bahasa pemrograman)
– Contoh: boolean, integer, real, char, string (?)
• Tipe bentukan
– Tipe yang didefinisikan sendiri oleh pemrogram
– Tipe yang dibentuk dari tipe dasar atau dari tipe
bentukan lain yang sudah didefinisikan
– Contoh: tipe dasar yang diberi nama tipe baru, record
Tipe Data(2)
Empat hal yang harus diperhatikan dalam
pendefinisian tipe:
• Nama
• 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}
>

type Mahasiswa : record <NIM : integer, {nomor mhs}


NamaMhs : string, {nama mhs}
MK : array[1..4] of MataKuliah
>

LarikMhs : array[1..100] of Mahasiswa


Nama
• Untuk mengidentifikasikan dan membedakan obyek
• Unik dan tidak boleh sama
• Dalam algoritma nama diberikan pada:
– Variabel
• Tempat penyimpanan data/informasi di memori yang nilainya dapat
diubah selama pelaksanaan program
– Konstanta
• Tempat penyimpanan di memori yang nilainya tidak dapat diubah
selama pelaksanaan program
– Tipe bentukan
• Tipe data baru yang didefinisikan oleh program dari tipe data yang
sudah ada
– Prosedur
• Modul program (sederetan instruksi) yang ditulis terpisah dari badan
program utamadan dapat dipanggil berulang dari program utama
– Fungsi
• Prosedur yang mengembalikan suatu nilai dengan tipe data sederhana
Aturan Penulisan Nama
• Harus dimulai dengan huruf alfabet, tidak boleh dimulai
dengan angka, spasi, atau karakter khusus lainnya.
• Tidak case sensitif (beda dengan bahasa pemrograman)
• Karakter penyusun nama hanya boleh: huruf alfabet,
angka dan “_” (underscore)
• Tidak boleh dipisahkan dengan spasi
• Panjang nama tidak terbatas
• Semua nama yang dipakai harus dideklarasikan dulu
pada bagian deklarasi
Contoh Penamaan
• SALAH
– 6titik {dimulai dg angka}
– nilai ujian {dipisahkan spasi}
– PT-1 {mengandung operator kurang}
– hari! {mengandung karakter khusus}

• 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)
– Memasukkan sebuah nilai ke dalam nama variabel
langsung di dalma teks algoritma
– Syaratnya nilai yang didisikan harus bertipe sama
dengan tipe peubah
– Notasi: 
– Contoh:
variabel  konstanta NoMhs  1234
variabel1 variabel2 Nil_prev  Nil_cur
variabel  ekspresi Luas  0.5 * p * l
Nilai(3)
• Pembacaan nilai dari piranti masukan
– Nilai untuk nama variabel dapt diisi dari
piranti masukan, misalnya dari keyboard.
– Dinamakan dengan operasi pembacaan data
– Notasi dalam teks algoritma: read
– 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 SAPA_SOBAT
{mencetak string Selamat Siang diikuti nama orang. Nama
prang diinputkan dari piranti masukan}

DEKLARASI
const ucapan = ‘Selamat Siang’

namaUser : string

DESKRIPSI
read(namaUser)
write(ucapan + ‘ ‘ + namaUser)
TRANSALASI
Algoritma-C-Pascal
Translasi
Algoritma-C-Pascal

Lihat di buku!

Anda mungkin juga menyukai