Buatlah susunan algoritma dari soal di bawah ini :
1. Tiga pasang suami istri akan menyebrang sungai dari desa A ke desa B. tedapat sebuah perahu dengan batasmuatan hanya 2 orang saja yangakan di gunakan untuk menyebrang. Pemasalahanpun tejadi ternyata suami suami memilikisifat cemburu, sehingga tidak bisah meninggalkan istirnya dengan suami lain. Susunlah algoritma untuk menyebrangkan ketiga pasangan suami istri dari desa A ke desa B tanpa satu orangpun suami yang cemburu.
Jawab :
Jika masing masing pasangan di simbolkan dengan : A1 A2, B1 B2, C1 C2
( desa Sapi: A1 A2, B1 B2, C1 C2 ………………………………Desa kambing : kosong )
1. A1 dan B1 menyebrang ke desa kambing
( desa sapi : A2, B2, C1 C2……………………………………desa kambing : A1, B1 )
2. A1 kembali ke desa sapi
( desa sapi : A2, B2, C1 C2 ………………………………….desa kambing : B1)
3. A1dan C1 menyebrang ke desa kambing
( desa sapi : A2,B2, C2………………………………………..desa kambing : A1,B1,C1 )
4. A1 kembali ke desa sapi
( desa sapi : A2, B2, C2………………………………………...desa kambing : B1, C1)
5. A1 dan A2 menyebrang ke desa kambing
( desa sapi : B2,C2……………………………………………….desa kambing : A1 A2, B1, C1 )
6. B1 kembali kedesa sapi
( desa sapi : B2,C2………………………………………………desa kambing : A1 A2, B1,C1 )
7. B1 dan B2 menyebrang ke desa kambing
( desa sapi : C2……………………………………………………desa kambing : A1 A2, B1 B2, C1 )
8. C1 kembali ke desa sapi
( desa sapi : C2 …………………………………………………..desa kambing : A1 A2, B1 B2 )
9. C1 dan C2 menyebrang ke desa kambing
( desa sapi : ………………………………………………………..desa kambing : A1 A2, B1 B2, C1 C2 ).
2. Algoritma untuk mengisi vocher telepon genggam ( HP )
Jawab :
1. Vocher electric
a. Ketik sms berikut: kode < spasi> nominal < spasi > nomor penerima <spasi > pin
b. Masukan nomor konter pulsa
c. Kirim
d. Pulsa akan masuk ke nomor [enerima sacaa otomatis
2. Vocher fisik
a. Gesek kartu untuk melihat kode vocher
b. Laluh ketik code vocher yang ada pada vocher tersebut
c. Laluh tekan ok/yes
d. Pulsa akan masuk secara otomatis
3. Algoritma untuk membuat pakaian jadi
Jawab :
· Menyiapkan bahan , kain dan peralatan yang di pakai untuk menjahit
· Menentukan ukuran sesuai dengan jenisnya
· Membuat pola
· Memotong kainsesuai pola dan di lebihkan sekitar 5 cmuntuk area menjahit
· Menjahit sesuai pola yang ada
· Merapihkan pakaian yang sudah jadi
· Pakaian siap pakai / jual
Buatlah algoAritma kemudian terjamahkan dalam pemograman pascal :
4. Menampilkan bilangan kelipatan 3 dari angka 1 s/d 20
Jawab :
Cara 1
Tentukan nilai awal A =1
Nilai for I = 1 sampai 6 lakukan
2.1. Cetak A
2.2. Hitung A:=A+3
Pascal
Uses crt;
Var I,a : integer;
Begin
Clrscr;
a:=1;
for i:=1 to 6 do
Begin
Write ( a:4 );
a:=a+3;
End;
Readln;
End.
Cara 2
Uses crt;
Var I : integer;
Begin
Clrscr;
For i:=1 to 20 do
Begin
If I mod 3 =0 Then
Write (i:5 );
End;
Readln;
End.
5. Menampilkan bilangan ganjil dari angka 1 s/d 100
Jawab:
Cara 1
Tentukan nilai awal A=1
Nilai I =1 sampai 50 lakukan
2.1. cetak A
2.2. hitung A:=A+2
Pascal:
Uses crt;
Var I,a:integer;
Begin
Clrscr;
a:=1;
for i:=1 to 50 do
Begin
Write ( a:4 );
a:=a+2;
End;
Readln;
End.
Cara 2
Uses crt;
Var I : integer;
Begin
Clrscr;
for i:=1 to 100 do
Begin
If I mod 2 =0 Then
Write ( i:5 );
End;
Readln;
End.
6. Menampilkan bilangan genap dari 1 s/d 50
Jawab :
Cara 1
Tentukan nilai for i=1 sampai 50 lakukan
2.1. if i mod 2 =0 Then
2.2. cetak i
Pascal
Uses crt;
Var I : integer;
Begin
Clrscr;
For I mod 2 =0 Then
Begin
Write ( i:4 );
End;
Readln;
End.
Cara 2
Uses crt;
Var I, a : integer;
Begin
Clrscr;
a:=2;
for I :=1 to 25 do
Begin
Write ( a:4 );
a:=a+2;
End;
Readln;
End.
7. Menampilkan bilangan prima dari angka 1 s/d 20
Jawab :
Tentukan nilai for x=1 sampai 20 lakukan
Nilai for y=1 sampai x lakukan
2.1. if x mod y =0 Then
2.2. jumlah:=jumlah+1
Pascal
Uses crt;
Var x, y, jumlah : integer;
Begin
Clrscr;
For x:=1 to 20 do
Begin
Jumlah =0;
For y:=1 to x do
Begin
If x mod y =0 Then
Jumlah := jumlah+1
End;
If jumlah :=2 Then
Write ( x:5 );
End;
Readln;
End.
8. Menampilkan bilangan kelipatan 3 dan kelipatan 5 dari angka 1 s/d 30
Jawab :
Tentukan nilai I = 1 sampai 30 lakukan
2.1. if I mod 3=0 atau I mod 5=0 Then
2. cetak i
Pascal
Uses crt;
Var I : integer;
Begin
Clrscr;
For I : 1 to 30 do
If ( I mod 3=0 ) 0r ( I mod 5=0 ) Then
Write ( i:4 );
End;
Readln;
End.
9. Masukan sebuah bilangan kemudian tentukan apakah bilangan yang di imput temasuk bilangan ganjil, bilangan genap. Gunakan metode pemilihan
Layout :
Masukan sebuah bilangan : 3 enter
Bilangan yang anda input adalah bilangan ganjil
Jawab :
Pascal
Uses crt;
Var a: integer;
Begin
Clrsc;
Write (‘ masukan sebuah bilangan : ‘ ); Readln ( a );
If ( a mod 2 = 1 ) Then
Writeln ( a,’ Bilangan ganjil ‘ );
Else
Writeln ( a,’ Bilangan genap ‘ );
End;
End.
10. Masukan bilangan 1, setelah itu masukan bilangan 2, kemudian lakukan poses penjumlahan, perkalian, pengurangan, dan pembagian. Hasildari ke empat operasi aritmetika tersebut di tampilkan.
layout
Bilangan 1 : 6
Bilangan 2 : 3
Hasil penjumlahan : 9
Hasil pengurangan : 3
Hasil perkalian : 18
Hasil pembagian : 2
Jawab :
Pascal
Uses crt;
Var a, b: integer;
Begin
Clrscr;
Write (‘ Bilangan 1 : ‘ ) Read ( a );
Write (‘ Bilangan 2 : ‘ ) Readln ( b );
Writeln (#1);
Writeln (‘ hasil penjumlahan =’, a+b );
Writeln (‘ hasil pengurangan =’, a-b );
Writeln (‘ hasil perkalian =’ , a*b );
Writeln (‘ hasilpembagian =’, a/b );
Readln
End.
11. Masukan nilai jari jari sebuah lingkaran. Kemudian program akan menampilkan hasil luas lingkaran
Layout
Jari jari lingkaran : 7
Luas lingkaran : 154
Pascal
Const Phi : 14,3
Var r, luas : integer;
Begin
Clrscr;
Write (‘ masukan nilai jari jari :=’ ); Read ( r );
Luas : = Phi*r*r;
Write ( luas );
End.
12. Buatlah algoritma dan program untuk menghitung luas yang di arsir pada gambar di bawah ini :
Jawab :
Uses crt;
Var PL, IL, pt, L, total, L tenga : integer;
Begin
Clrscr;
PL:=18;
IL:=12;
PT:=10;
IT:=5;
L total :=PL*IL;
L tenga :=PT*IT;
Writeln (‘ Luas total = ‘, L total );
Writeln (‘ Luas tenga = ‘, L tenga );
Writeln (‘ Luas yang diasir = ‘, L total, L tenga );
Readln;
End.
13. Buat tampilan program di baawah ini dengan menggunakan metode perulangan :
a. 1 2 3 4 b. 2 2 2 c. 3 2 1
1 2 3 4 1 1 1 3 2 1
1 2 3 4 0 0 0 3 2 1
1 2 3 4
e. 1 e. 4 3 2 1 f. 1
1 2 4 3 2 3 5
1 2 3 4 3 7 9 11
1 2 3 4 4 13 15 17 19
Jawab :
Pascal
a. Uses crt;
Var I, j : integer;
Begin
Clrscr;
For i:= 1 to 4 do
Begin
For j:= 1 to 4 do
Write (j:4); Writeln (#10);
End;
Readln;
End.
b. Uses crt;
Var a,I,j : integer;
Begin
Clrscr;
a:=2;
for i:= 1 to 3 do
Begin
For j:= 1 to 3 do
Write (a:4 );
a:= a-1; Writeln (#10);
End;
Readln;
End.
c. Uses crt;
Var i, j : integer;
Begin
Clrscr;
for i:= 1 to 3 do
Begin
For j:= 3 downto 1 do
Write ( j:4 ); Writeln (#10);
End;
Readln;
End.
d. Uses crt;
Var I, j : integer;
Begin
Clrscr;
For i:= 1 to 4 do
Begin
For j:= 1 to I do
Write ( j:4 ); Writeln (#10);
End;
Readln;
End.
e. Uses crt;
Var I, j: integer;
Begin
Clrscr;
For I:= 1 to 4 do
Begin
For j:= 4 downto I do
Write ( j:4 );
Writeln (#10 );
End;
Reasdln;
End.
f. Uses crt;
Var a, I, j: integer;
Begin
Clrscr;
A:=1;
For i:= 1 to 4 do
Begin
For j:= 1 to I do
Begin
Write ( a:4 );
a:=a+2;
End;
Writeln ( #10 );
End;
Readln;
End.
14. Buatlah urutan angka dari terkecil sampai terbesar dari 5 ( lima ) nilai yang di imput. Gunakan metode urutan , pemilihan dan perulangan.
Layout
Angka 1 : 8
Angka 2 : 17
Angka 3 : 5
Angka 4 : 7
Angka 5 : 18
Jawab :
Program pengurutan data yang di imputsecara acak
Menggunakan metode selection sort
Jika min menyatakan indeks elemen terkecil dari elemen ke I sampai elemen ke n. dimana n merupakan jumlah data yang akan di urtkan. Algoritma untuk mencarri elemen terkecil :
for I := 1 to n-1 do
(cari elemen tekecil )
Min := I ( min adalah indekselemen terkecil )
For j:= i+1 to n do=
If x[j] <= x [min] then
Min := j eif
Efor
{ menukar elemen terkecil dengan elemen I }
Temp :=x [min]
X [min] :=temp
Efor
Pascal
Uses crt;
Var x: array [1…5] of integer;
n, min, temp, I, j: integer;
Begin
Clrscr;
Writeln (‘Program pengurutan bilangan’);
Writeln (‘----------------------------------------‘);
Writeln;
For n:= 1 to 5 do
Begin
Write (‘imput bilangan,’ n, ‘ : ‘); Readln (x[n]);
End;
N:=5;
For i:= 1 to n-1 do
Begin
Min := I;
For j:= i+1 to n do
Begin
If x [j] <= x[min] then
min :=j;
End;
Temp := x [min];
X [min] :=x[i];
X [i] :=temp;
End;
Writeln (#10);
Writeln(‘Hasil pengurutan adalah : ‘);
Writeln;
For n:= 1 to 5 do
Write (x[n] :4);
Readln;
End.
15. Buat program sederhana menggunakan metode pemilihan untuk menampilkan keterangan umur
Layout
Umur Keterangan
0-5 Balita
6-13 Anak anak
14-25 Remaja
26-40 Dewasa
>41 Orang tua
Dengan memasukan nama, nim, program studi,dan tahun lahir, maka akan di tampilkan umur dan keterangan umur
Layoutnya :
Nama : Asrudin
Nim : 21015135
Program studi : Sistem informasi
Tahun lahir : 1987
Umur : 23
Keterangan : Remaja
Jawab :
Pascal
Uses crt;
Var lahir, umur : integer;
Ket : string
Begin
Clrscr;
Write (‘ NIM : ‘); Readln;
Write (‘ NAMA : ‘); Readln;
Write(‘ program studi : ‘); Readln;
Write (‘Tahun lahir : ‘); Readln ( lahir );
Writeln (#10);
Umur := 2010-lahir;
If umur <=5 then ket :=’Balita ‘
Else if umur <=13 then ket:=’Anak anak’
Else if umur <=25 then ket:=’Remaja’
Else if umur <=40 then ket:=’Dewasa’
Writeln (‘Umur : ‘);
Writeln (‘Keterangan : ‘);
Readln;
End.