Anda di halaman 1dari 12

TEK 2103

Dasar Komputer & Pemograman

Contoh Pemecahan Masalah 2


Dosen: Abdillah, S.Si, MIT
Email: abdill01@gmail.com
Website: http://abdill01.wordpress.com
Tujuan
Mahasiswa mampu menyelesaikan masalah
berdasar contoh-contoh algoritma
penyelesaian masalah.
1. Menentukan Nilai Rata-Rata
Tulislah algoritma untuk menentukan nilai rata-rata
dari N buah data integer yang dibaca dari papan
ketik. Nilai N dibaca terlebih dahulu (N > 0).

Solusi
Baca nilai N dan data terlebih dahulu kemudian
jumlahkan. Pada akhir pengulangan bagi jumlah
data dengan N.
Algoritma
PROGRAM Nilai_Rerata
{Menentukan nilai rata-rata dari N buah data integer}
DEKLARASI
N, x, jumlah, rerata, i : integer
ALGORITMA:
read (N)
Jumlah  0
i1
while i ≤ N do
read (x)
jumlah  jumlah + x
endwhile
rerata  jumlah / N
write (rerata)
2. Menentukan Selisih Waktu
Tulislah algoritma untuk membaca waktu T1 dan T2
lalu menghitung selisih waktu T1 dan T2 (T1 < T2).

Penyelesaian
Baca T1 dan T2, kemudian konversi ke total_detik1
dan total_detik2. Hitung total_detik2 – total_detik1
kemudian konversi ke jam-menit-detik.
Algoritma
PROGRAM Selisih_Waktu
{Menghitung selisih dua waktu T1 dan T2}

DEKLARASI
type Jam : record < hh, mm , ss : integer >
T1, T2 : Jam
TotalDetik1, TotalDetik2, SelisihDetik, sisa, hh, mm, ss :
integer
ALGORITMA:
read (T1, T2)
TotalDetik1  (T1.hh*3600) + (T1.mm*60) + T1.ss
TotalDetik2  (T2.hh*3600) + (T2.mm*60) + T2.ss
Algoritma Lanjutan
SelisihDetik  TotalDetik2 – TotalDetik1
hh ← SelisihDetik div 3600
sisa ← SelisihDetik mod 3600
mm ← sisa div 60
ss ← sisa mod 60
write (hh, mm, ss)
3. Validasi Password
Tulislah algoritma untuk membaca password dan
melakukan validasi terhadap password tsb. Apabila
password yang dibaca salah, maka pembacaan
maksimum hanya boleh 3 kali.

Penyelesaian
Password disimpan sebagai konstanta dan
divalidasi dengan operasi perbandingan.
Algoritma
PROGRAM Validasi_Password
{Melakukan simulasi pembacaan password, maksimum tiga kali}
DEKLARASI
const password = ‘xyz’
SandiLewat : char
sah : boolean
count : integer
ALGORITMA:
count  1
sah  false
while (not sah) and (count ≤ 3) do
read (SandiLewat)
if SandiLewat = password then
sah  true
else count  count + 1
endif
endwhile
4. Mencetak Segitiga Bintang
Tulislah algoritma yang mencetak segitiga bintang
berikut, jika diberikan tinggi segitiga adalah N (N >
0). Contohnya, jika N = 5, maka segitiga yang
dihasilkan adalah:
***
***
****
*****
****
***
**
*
Penyelesaian
Perhatikan gambar segitiga uktuk N = 5.
Baris ke-1 terdiri atas satu bintang, baris ke-
2 dua bintang, dan seterusnya baris ke-5 lima
bintang.
Secara umum baris ke i terdiri atas i bintang.
Setelah baris ke-N, baris berikutnya
merupakan pencerminan dari baris N – 1
sampai baris ke-1.
Algoritma
PROGRAM Cetak_Segitiga_Bintang
{Mencetak segitiga bintang dengan tinggi N }
DEKLARASI
N, i, j : integer
ALGORITMA:
read (N)
for i  1 to N do
for j  1 to i do
write ( * )
endfor
endfor
for i  N-1 to 1 do
for j  1 downto i do
write ( * )
endfor
endfor

Anda mungkin juga menyukai