Anda di halaman 1dari 51

Sequence/Runutan

--03--
Contoh-contoh algoritma yang diberikan di alam
materi ini mengasumsikan bahwa data masukan
dibaca dari papan ketik (keyboard) dan
keluarannya dicetak ke layar (monitor).

Adakalanya data masukan dibaca dari arsip (file)


atau keluaran (output) program ditulis ke arsip.
Contoh Algoritma
Algoritma Menangkap_dan_Menampilkan_Nilai_Bilangan
{Algoritma menangkap nilai dari piranti masukan dan memasukkan nilai
ke dalam variabel menampilkan ke piranti keluaran/layar}

{DEKLARASI / KAMUS DATA}


x : Integer

{DESKRIPSI/BADAN ALGORITMA}

BEGIN
read(x) {x adalah variabel penampung nilai}
x 5 {panah ke kiri arah masuknya nilai}
output(x) {x adalah variabel yang sudah berisi nilai}
END.
LAMBANG OPERATOR
URUTAN OPERASI
URUTAN OPERASI
Misalnya pada ekspresi berikut ini:

bHasil  x * 2 % 2 < y && (x <> 3)

Jika inputannya adalah x = 5 dan y = 3


maka urutan pengerjaannya adalah:

bHasil <
bHasil <
bHasil <
bHasil <
bHasil <
bHasil
bHasil
URUTAN OPERASI
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
Perhatikan bahwa pada saat membaca baris ke-8, program akan
mengalikan 3 dan 2 (a dan b).
Kemudian, saat membaca baris ke - 10, program akan menjumlahkan 5
dan 2 (a dan b).

Nilai a berubah karena di baris ke – 9 variabel a diisi dengan 5.

Ini merupakan akibat dari sifat program yang membaca dan


mengeksekusi per baris.

Setelah baris ke - 9 dieksekusi, nilai a yang diisikan pada baris pertama


sudah tidak berlaku lagi (tertumpuk dengan nilai baru yang diisikan).

Sifat program membaca dan mengeksekusi berurut terus per baris ini
dapat diubah, dengan memberikannya perintah untuk tidak membaca
sesuai urutan.

Hal ini dapat dilakukan dengan struktur pemilihan, struktur pengulangan.


TABEL PENENTU FORMAT
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN

Ada aksi sekuensial yang jika diubah urutan


instruksi/aksinya akan mempengaruhi eksekusi program.

Ada sequence yang jika diubah urutan instruksi/aksinya


akan menghasilkan efek neto yang sama (tidak
berpengaruh).
SEQUENCE/RUNTUNAN

Contoh aksi sekuensial yang berpengaruh jika diubah


urutannya
SEQUENCE/RUNTUNAN

Contoh aksi sekuensial yang berpengaruh jika diubah


urutannya
SEQUENCE/RUNTUNAN
Menulis/menampilkan ke piranti keluaran
SEQUENCE/RUNTUNAN
Persoalan :
Dibaca dua buah harga v (kecepatan, m/detik) dan t (waktu, detik),
yang mewakili koefisien persamaan gerak lurus beraturan.

Harus dihitung dan dituliskan hasilnya, jarak yang ditempuh benda


yang bergerak lurus beraturan dengan kecepatan v tersebut dalam
waktu t.
SEQUENCE/RUNTUNAN

Catatan :
1. Mengenai input yang dibaca oleh program : dalam kehidupan sehari-hari, akan
sangat sulit untuk memasukkan input nilai v dan t di atas, karena jika pemakai
program salah memasukkan urutan, harga yang tersimpan akan salah. Untuk
contoh di atas, karena rumusnya hanya perkalian dua buah nilai integer mungkin
tidak fatal. Jika rumus misalnya adalah v-t maka pemasukan data dengan urutan
yang lain akan fatal akibatnya.

2.Mengenai output : output program di atas sangat sulit diinterpretasi karena yang
dihasilkan oleh program hanya sebuah angka yang tidak jelas interpretasinya.
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
Catatan :

1) Dengan menuliskan semacam ini, program akan dapat dioperasikan dengan lebih
mudah, namun algoritma menjadi sangat rinci. Lebih rinci lagi, dapat dibuat layar
yang indah dengan warna-warni dan posisi penulisan yang enak dibaca.

2) Tujuan dari menuliskan algoritma adalah untuk menuliskan “sketsa” solusi dari
program, jadi hanya mengandung hal yang esensial.

3) Sebaiknya instruksi yang sudah sangat rinci dan tidak mengandung hal esensial
dikode secara langsung dalam bahasa pemrograman pada saat impelementasi.
Jadi, teks algoritma JARAK1 dan JARAK2 yang hanya mengandung hal yang esensial
adalah produk dari design program, sedangkan teks rinci semacam JARAK3
langsung pada bahasa pemrogramannya.

4) Untuk selanjutnya, teks algoritma dituliskan dengan hanya mengandung hal yang
esensial saja karena pusat perhatian kitaadalah untuk menghasilkan sketsa solusi
saja.
SEQUENCE/RUNTUNAN
Persoalan :

Dibaca sebuah harga berupa bilangan bulat, positif dan lebih kecil dari 1 juta, yang
mewakili besaran dalam detik.

Harus dihitung ekivalensinya, berapa hari, jam berapa menit dan berapa detik.

Contoh :
data 309639
akan menghasilkan 3, 14, 0, 39
Yang artinya 3 hari, 14 jam, 0 menit dan 39 detik
SEQUENCE/RUNTUNAN

{Dibaca n (integer), besaran dalam detik}


{harus dihitung H (Hari), J (jam), M (menit) dan D (detik sisanya) sertadituliskan hasinya}
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
SEQUENCE/RUNTUNAN
PEMILIHAN UNTUK 1 KASUS
PEMILIHAN UNTUK 1 KASUS
PEMILIHAN UNTUK 1 KASUS
PEMILIHAN UNTUK 2 KASUS
PEMILIHAN UNTUK 2 KASUS
PEMILIHAN UNTUK 3 KASUS
PEMILIHAN UNTUK 3 KASUS ATAU LEBIH
PEMILIHAN UNTUK 3 KASUS ATAU LEBIH
PEMILIHAN UNTUK 3 KASUS ATAU LEBIH
PEMILIHAN UNTUK 3 KASUS ATAU LEBIH
PEMILIHAN UNTUK 3 KASUS ATAU LEBIH
PEMILIHAN UNTUK 3 KASUS ATAU LEBIH
STRUKTUR CASE
PEMILIHAN UNTUK 3 KASUS ATAU LEBIH
PEMILIHAN UNTUK 3 KASUS ATAU LEBIH
PEMILIHAN UNTUK 3 KASUS ATAU LEBIH
TUGAS
TUGAS
6. Dibaca sebuah bilangan bulat (rupiah) yang positif, harus dihitung ekivalensinya
dalam dollar ($), Yen dan dalam Euro dan dituliskan hasilnya.
Buat Notasi algoritma dan program dalam Cpp.

7. Buatlah program dari dalam Cpp dari Program JARAK3 dan JAMMENITDETIK
Tugas

Tulis dalam Bahasa C atau C++

Anda mungkin juga menyukai