Buatlah Algoritma kemudian terjemahkan ke dalam bahasa pemrograman pascal
4. Menampilkan bilangan kelipatan tiga dari angka 1 s/d 20
5. Menampilkan bilangan ganjil dari angka 1 s/d 100
6. Menampilkan bilangan genap dari angka 1 s/d 50
7. Menampilkan bilangan prima dari angka 1 s/d 20
8. Menampilkan bilangan kelipatan 3 dan kelipatan 5 dari angka 1 s/d 30
9. Masukkan sebuah bilangan kemudian tentukan apakah bilangan yang diinput adalah
bilangan ganjil atau bilangan genap. Gunakan metode pemilihan.
Layout:
Masukkan sebuah bilangan: 3 --> ENTER
Bilangan yang anda input adalah bilangan ganjil
10. Masukkan bilangan 1, setelah itu bilangan 2, kemudian lakukan proses penjumlahan,
perkalian, pengurangan, dan pembagian. Hasil dari keempat proses aritmatika tersebut
ditampilkan.
Layout:
Bilangan 1: 6
Bilangan 2: 3
Hasil penjumlahan = 9
Hasil pengurangan = 3
Hasil perkalian = 18
Hasil pembagial = 2
11. Masukkan nilai jari-jari sebuah lingkaran. Kemudian program akan menampilkan
hasil perhiutungan luas lingkaran.
Layout:
Jari-jari lingkaran: 7
Luas lingkaran adalah: 154
12. Buat algoritma dan program untuk menghitung luas yang diarsir pada gambar berikut.
13. Buat tampilan program di bawah ini dengan menggunakan metode perulangan:
1 2 3 4 0 0 0 3 2 1
1 2 3 4
1 2 3 4 3 7 9 11
14. Buat urutan angka dari terkecil sampai terbesar dari 5 (lima) nilai yang
diinput. Gunakan metode urutan, pemilihan dan pengulangan.
diinput. Gunakan metode urutan, pemilihan dan pengulangan.
Layout:
Angka 1 : 8
Angka 2 : 17
Angka 3 : 5
Angka 4 : 7
Angka 5 : 18
Hasil urutan sebagai berikut:
Umur | Keterangan |
0-5 | Balita |
6-13 | Anak-anak |
14-25 | Remaja |
26-40 | Dewasa |
> 41 | Orang Tua |
Dengan memasukkan nama, nim, program studi, dan tahun lahir, maka
akan ditampilkan umur dan keterangan umur.
Layoutnya:
Nama :NUR INTAN HASAN
Nim : 210151202
Program studi : Sistem Informasi
Tahun lahir : 1992
Umur :18
Keterangan : Remaja
Penyelesaian
4. Algoritma untuk menampilkan bilangan kelipatan 3 dari 1 s/d 20:
- menentukan nilai awal A:=3
- untuk i:=1 sampai 6 lakukan:
- cetak A (nilai awal)
- berikutnya cetak A:=A+3 lakukan sampai i ke 6, berhenti.
program pascal:
uses crt;
var A, i: byte;
begin
clrscr;
A:=3;
for i:=1 to 6 do
begin
write(A:4);
A:=A+3;
end;
readln;
end.
5. Algoritmanya untuk menampilkan bilangan ganjil dari 1 s/d 100:
- untuk a:=1 sampai 100 lakukan:
- jika a mod 2=1 maka
- cetak a
program pascal:
uses crt;
var a: byte;beginfor a:= 1 to 100 dobeginif a mod 2= 1 thenwrite(a:4);end;readlnend.
6. Algoritma untuk menampilkan bilangan genap dari 1 s/d 50:
- untuk a:=1 sampai 50 lakukan:
- jika a mod 2= 0 maka
- cetak a.
program pascal:
uses crt;var a: byte;beginclrscr;for a:= 1 to 50 dobeginif a mod 2= 0 thenwrite(a:4);end;readlnend.
7. Algoritma untuk menampilkan bilangan prima dari 1 s/d 20:
- bilangan prima hanya akan habis bila dibagi 1 dan bilangan itu sendiri.
- sehingga pasti akan ada sisa hasil bagi (mod) jika dibagi bilangan lebih dari 1 sampai bilangan sebelum bilangan itu (x-1).
- untuk nilai x= 2 sampai 20 lakukan:
- mengeset status bilangan prima menjadi true.
- pengecekan mulai dari 2 sampai x-1.
- jika x habis dibagi bilangan yang ada antara 2 sampai x-1, berarti x bukan bilangan prima. Variabel prima yang awalnya true berubah jadi false dan pengecekan tidak perlu dilanjutkan (break).
- jika dari bilangan antara 2 sampai x-1 tak satupun yang habis dibagi, maka variabel prima yang dideklarasikan sebagai true tidak berubah nilai (tetap true). Sehingga bilangan tersebut adalah bilangan prima dan akan ditampilkan ke layar.
- ulangi lagi dari point 4 hingga nilai x = 20.
uses crt;var x, y: byte; prima: boolean;beginclrscr;for x:= 2 to 20 dobeginprima:=true;for y:=2 to x-1 dobeginif x mod y =0 thenbeginprima:=false;break;end;end;if prima then write(x:4);end;readln;
end.
8. Algoritma untuk menampilkan bilangan kelipatan 3 dan kelipatan 5 secara
bersamaan dari angka 1 s/d 30:
- Untuk i:= 1 sampai 30 lakukan:
- jika i mod 3= 0 atau i mod 5 =0
- maka cetak i.
uses crt;var i: byte;beginfor i:= 1 to 30 doif (i mod 3=0) or (i mod 5=0)then write(i:4);readln
9. Program pascal untuk menentukan bilangan bulat yang diinput adalah bilangan
ganjil atau genap:
uses crt;var lagi: char; x: longint; ket: string;beginclrscr;
lagi:='Y';while lagi='Y' dobegin
clrscr;
write('Masukkan sebuah bilangan bulat: ');readln(x);if x mod 2= 0 then ket:='genap'else ket:='ganjil';
writeln;
writeln('Bilangan yang diinput adalah bilangan ',ket);
write('Coba lagi (Y/N ): '); read(lagi);
end; readlnend.
10. Program pascal untuk menghitung hasil proses aritmatika dari dua bilangan
bulat yang diinput:
uses crt;var b1, b2: longint;beginclrscr;write('Bilangan 1: '); read(b1);write('Bilangan 2: ');readln(b2);writeln(#10);writeln('Hasil penjumlahan= ', b1+b2);writeln('Hasil pengurangan= ', b1-b2);writeln('Hasil perkalian = ', b1*b2);writeln('Hasil pembagian = ', b1/b2 :0:0);readln;end.
11. Program pascal untuk menghitung luas lingkaran dengan menginput jari-jari
lingkaran (r):
uses crt;var L,r: real;beginclrscr;write('Jari-jari lingkaran= '); readln(r);
L:= pi * sqr(r);
writeln('Luas lingkaran = ', L:0:0);readlnend.
12. Algortma untuk menghitung luas daerah yang diarsir pada gambar:
- Menentukan nilai panjang sisi luar (pL): pL= 18, lebar sisi luar (lL): lL= 12, panjang sisi dalam (pT): pT= 10, dan lebar sisi dalam (lT): lT= 5.
- Menghitung luas total, LTotal= pL x lL
- Menghitung luas tengah, LTengah= pT x lT
- Didapat luas yang diarsir, LArsir= LTotal-LTengah
Program pascal:
uses crt;var pL, lL, pT, lT, L_total, L_tengah: integer;
beginclrscr;pL:=18; lL:=12; pT:=10; lT:=5;L_total:= pL*lL;L_tengah:= pL*lL;writeln('Luas total = ', L_total);writeln('Luas tengah = ', L_tengah);writeln('Luas yg diarsir= ', L_total-L_tengah);
readln;
end.
13. 1) uses crt;
var i, j: byte;begin
clrscr;
for i:= 1 to 4 dobeginfor j:= 1 to 4 dowrite(j:4); writeln(#10);end;readln;end.
2) uses crt;
var A, i, j: byte;beginclrscr;A:=2;for i:= 1 to 3 dobeginfor j:= 1 to 3 dowrite(A:4);A:=A-1; writeln(#10);end;readlnend.
3) uses crt;
var i, j: byte;beginclrscr;for i:= 1 to 3 dobeginfor j:= 3 downto 1 dowrite(j:4); writeln(#10);end;readlnend.
4) uses crt;
var i, j: byte;beginclrscr;for i:= 1 to 4 dobeginfor j:= 1 to i dowrite(j:4); writeln(#10);readlnend.
5) uses crt;
var i, j: byte;beginclrscr;for i:= 1 to 4 dobeginfor j:= 4 downto i dowrite(j:4);writeln(#10);end;readlnend.
6) uses crt;
var A, i, j: byte;beginA:=1;for i:= 1 to 4 dobeginfor j:=1 to i dobeginwrite(A:4);A:=A+2;end;writeln(#10);end;readlnend.
14. Program pengurutan data yang diinput secara 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
diurutkan. Algoritma untuk mencari elemen terkecil adalah:
for i:= 1 to n-1 do
{cari elemen terkecil}
min:= i {min adlh index elemen terkecil}
for j:= i+1 to n do
if x[j] <= x[min] then
min:= j eif
efor
efor
{menukar elemen terkecil dengan
elemen i}
temp:= x[min]
x[min]:= x[i]
x[i]:= temp
efor
Program 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('Input 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. Program pascal untuk mengisi biodata mahasiswa serta menampilkan umur
dan keterangan umur secara otomatis:
uses crt;var lahir, umur: integer;ket: string;beginwrite('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'else ket:='orang tua';writeln('Umur : ', umur);writeln('Keterangan: ', ket);readlnend.