0% menganggap dokumen ini bermanfaat (0 suara)
39 tayangan41 halaman

Dasar Algoritma dan Pemrograman

Algoritma dan pemrograman membahas konsep algoritma, program, dan bahasa pemrograman. Algoritma adalah urutan langkah logis penyelesaian masalah, sedangkan program adalah implementasi algoritma dalam bahasa pemrograman. Dokumen ini juga menjelaskan tipe data, nama, nilai, dan struktur dasar algoritma seperti runtunan, pemilihan, dan pengulangan.

Diunggah oleh

nabila jubaeda
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
39 tayangan41 halaman

Dasar Algoritma dan Pemrograman

Algoritma dan pemrograman membahas konsep algoritma, program, dan bahasa pemrograman. Algoritma adalah urutan langkah logis penyelesaian masalah, sedangkan program adalah implementasi algoritma dalam bahasa pemrograman. Dokumen ini juga menjelaskan tipe data, nama, nilai, dan struktur dasar algoritma seperti runtunan, pemilihan, dan pengulangan.

Diunggah oleh

nabila jubaeda
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd

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