AnikVegaVitianingsih, S.Kom.,MT
081332765765
@vegavitianingsih
Kontrak Kuliah
Next RPS
Algoritma ?
urutan langkah-langkah logis penyelesaian masalah yang disusun
secara sistematis.
Logis → benar sesuai dengan logika manusia.
Urutan langkah yang ditempuh untuk menyelesaikan masalah
harus memberikan hasil yang benar → sesuai dg tujuan
Setiap langkah algoritma dibaca dari “atas” ke “bawah”
Komponen teks algoritma dalam pemrograman procedur:
Instruksi dasar seperti input/output, assignment
Sequence (runtutan)
Analisa kasus
Perulangan
Algoritma (Deskripsi)
Algoritma adalah bagian inti dari suatu algoritma yang
berisi instruksi atau pemanggilan aksi yang telah
didefinisikan.
Komponen teks algoritma dalam pemrograman
procedural dapat berupa :
Instruksi dasar seperti input/output, assignment
Sequence (runtutan)
Analisa kasus
Perulangan
Setiap langkah algoritma dibaca dari “atas” ke
“bawah”.
Urutan deskripsi penulisan menentuan urutan langkah
pelaksanaan perintah.
Ciri Algoritma
✓ Membuat kue
✓ Merakit Mobil
✓ Mengisi Voucher
Domain Algoritma
Masalah : motivasi untuk membuat algoritma.
Algoritma : prosedur untuk menyelesaikan
masalah. Seringkali satu masalah dapat
diselesaikan dengan lebih dari satu cara
(banyak kemungkinan).
Program: representasi formal dari suatu
algoritma dengan menggunakan bahasa
pemrograman yang bisa dimengerti oleh
komputer.
Proses : aktivitas menjalankan langkah-langkah
dalam algoritma.
Penilaian Algoritma
Algoritma harus benar → keluaran seperti yang
dikehendaki.
Efisiensi Algoritma
Kecepatan waktu yang dibutuhkan
Memori yang dipakai
System Flowchart
urutan proses dalam system dengan menunjukkan alat
media input, output serta jenis media penyimpanan
dalam proses pengolahan data.
Program Flowchart
urutan instruksi yang digambarkan dengan symbol
tertentu untuk memecahkan masalah dalam suatu
program.
Simbol Flowchart:
teh kopi
Penyelesaian Contoh-1:
Algoritma
Siapkan gelas
cadangan X X
Tuangkanisi gelas
cadangan ke gelas
yang awalnya berisi kopi
kopi X
Contoh-2: Algoritma
Bagaimana menentukan apakah suatu bilangan
merupakan bilangan ganjil atau bilangan genap.
1→1
2→0
➔ Operator aritmatika % ➔ if angka % 2==0 then
3→1
genap
4→0
else
5→1
ganjil
6→0
7→1
8→0
9→1
10 → 0
Penyelesaian Contoh-2:
Algoritmanya :
A. Masukkan bilangan yang akan ditentukan
B. Bagi bilangan dengan bilangan 2
C. Hitung sisa hasil bagi pada langkah B.
D. Jika sisa hasil bagi = 0, maka bilangan = genap.
Jika tidak, maka bilangan = ganjil.
Contoh-3: Algoritma
Permasalahan: Buatlah sebuah rancangan program
dengan menggunakan flowchart untuk mencari luas
persegi panjang.
Rumus → L = panjang x lebar
Algoritma menghitung luas persegi panjang :
1. Masukkan panjang (P)
2. Masukkan Lebar (L)
3. Luas = P * L Step 1: input (p)
Step 2: input (l)
4. Tulis luas Step 3: L p * l
Step 4: output (L)
Penyelesaian Contoh-3
Algoritma
Judul
{Bagian ini berisi komentar mengenai Algoritma program, diantaranya bagaimana cara
kerjanya, bagaimana kondisi awal dan akhir dari algoritma program}
Kamus
{Bagian ini berisi definisi nama variabel, nilai inputan awal, nama prosedur, nama
fungsi, dll}
Algoritma
{Bagian ini tempat untuk menuliskan Algoritma}
Judul (Header)
bagian teks algoritma yang digunakan sebagai tempat
mendefinisikan nama dengan menentukan apakah teks
tersebut adalah program, prosedur, fungsi.
Setelah judul disarankan untuk menuliskan spesifikasi singkat
dari teks algoritma tersebut.
Nama algoritma sebaiknya singkat namun cukup
menggambarkan apa yang akan dilakukan oleh
algoritma tersebut.
Kamus (Deklarasi)
Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :
Nama type
Nama konstanta
Nama variabel
Nama fungsi
Nama prosedur
Algoritma
Kamus
{Nama type} input (c,d) {program menerima input 2 bil c,d}
{Nama konstanta} if c<d then {operasi kondisi}
x,y: integer e a+b {nilai e di assignment nilai a,b}
z: float else
Nama: String d a-b
x=2; output (e) {hasil output}
z=3.14
Menentukan nilai terbesar dari bilangan bulat yang
dibaca dari piranti masukan dan menuliskan hasilnya
ke piranti keluaran.
Contoh Masalah
START
Step 1: Input NilaiUTS, NilaiUAS, NilaiTugas
Step 2: NA NilaiUTS+ NilaiUAS+NilaiTugas/3
Input
NilaiUTS, NilaiUAS, NilaiTugas
Step 3: if (NA <=65) then
Print “Tidak Lulus”
else
NA NilaiUTS+ NilaiUAS+NilaiTugas/3 Print “Lulus”
endif
N NA<=65 Y
PRINT PRINT
“Lulus” “Tidak Lulus”
END
Contoh Masalah:
Untuk menghitung :
Fahrenheit = 9/5 x ( C + 32)
Reamur = 4/5 x ( C + 32)
Jawab
Bahasa Manusia
START 1. Masukkan nilai Celsius
2. Hitung konversi nilai Celcius ke→
Input Fahrenheit = 9/5 * (Celsius +32)
Celsius Reamur = 4/5 * (Celsius +32)
3. Cetak Celsius, Fahrenheit, Reamur
Fahrenheit = 9/5 x ( C + 32)
▪ Pemrograman prosedural
▪ Berdasarkan urutan – urutan (sekuensial)
▪ Program berisi rangkaian prosedur untuk memanipulasi data
▪ Prosedur berisi kumpulan instruksi yang dikerjakan secara berurutan
▪ Harus mengingat prosedur mana yang sudah di panggil dan apa yang sudah
diubah
▪ Pemrograman Fungsional
▪ Berdasarkan teori fungsi matematika yang menjadi dasar utama program
▪ Pemrograman Terstruktur
▪ Secara berurutan dan terstruktur, contohnya Pascal dan C
▪ Program dapat dibagi – bagi menjadi prosedur dan fungsi
▪ Pemrograman Modular
▪ Pemrograman yang membentuk banyak modul, contohnya MODULA-2 atau
ADA
▪ Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri
sendiri
▪ Program terdiri dari kumpulan modul – modul
Paradigma Pemrograman
1. Mendefiniskan masalah
2. Menganalisa dan membuat rumusan pemecahan
masalah
3. Desain Algoritma dan Representasi
4. Pengkodean, Uji Coba dan pembuatan
dokumentasi
1. Mendefiniskan masalah
Programmer mendapatkan tugas berdasarkan sebuah
permasalahan
Sebelum sebuah program dapat terdesain dengan
baik untuk menyelesaikan beberapa permasalahan,
masalah” yang terjadi harus dapat diketahui dan
terdefinisi dengan baik untuk mendapatkan detail
persyaratan input dan output.
Sebuah pendefinisan yang jelas adalah sebagian dari
penyelesaian masalah
Pemrograman komputer mempersyaratkan untuk
mendefiniskan program terlebih dahulu sebelum
membuat suatu penyelesaian masalah.
c/
”Buatlah sebuah program yang akan menampilkan berapa
kali sebuah nama tampil pada sebuah daftar”
2. Menganalisa dan membuat rumusan
pemecahan masalah
d/ memecahkan masalah tersebut menjadi beberapa
bagian kecil dan ringkas
Contoh masalah :
Menampilkan jumlah kemunculan sebuah nama
pada daftar
Input Terhadap Program :
Daftar Nama, Nama yang akan dicari
Output Dari Program :
Jumlah kemunculan nama yang dicari
3. Desain Algoritma dan Representasi (1)
Langkah”:
Ekspresi dengan bahasa Pseudocode
◼ listNama = Daftar Nama
◼ keyNama = Nama yang dicari
◼ hitung = 0
◼ Untuk setiap nama pada Daftar Nama lakukan :
◼ Jika nama == keyNama
◼ Hitung = Hitung + 1
◼ Tampilkan Hitung
4. Pengkodean, Uji Coba dan Dokumentasi