1. Buatlah
algoritma yang membaca sebuah titik p (x,y) di bidang kartesian, lalu
menentukan di kuadran mana letak titk tersebut !
2. Misalkan
karyawan PT. “PRATAMA” dikelompokkan berdasarkan golongannya. Upah perjam
tiap karyawannya bergantung pada golongannya sesuai tabel dibawah. Jumlah jam
kerja yang normal dalam seminggu adaha 48 jam, kelebihan jam kerja dianggap
lembur dan upah lembur perjammnya Rp. 3000,00 untuk semua golongan karyawannya.
Buatlah algoritma yang membaca nama karyawan dan jumlah jam kerjanya selama
seminggu, lalu menghitung gaji mingguannya !
3. Indeks
nilai mahasiswa ditentukan berdasarkan nilai ujian yang diraihnya.
Ketentuan pemberian nilai indeks sebagai berikut
- jika nilai
ujian ≥ 80, indeks nilai A
- jika 70 ≤
nilai ujian < 80, indeks nilai B
- jika 55 ≤
nilai ujian < 70, indeks nilai C
- jika nilai
ujian < 40 , indeks nilai D
Buatlah
algoritma yang membaca nilai ujian seorang mahasiswa, lalu menentukan indeks
nilainya,kemudian mencetak nilai dan indeksnya ke piranti keluaran.
4. Buatlah
sebuah permasalahan algoritma yang mempunyai penyelesaian masalah hingga 3
kasus lebih, kemudian buatlah analisis kasus, notasi algoritmik dan translasi
bahasa pascalnya.
PENYELESAIAN
1. Bahasa
Algoritmik
Program kartesius
deklarasi
x : integer
y : integer
Algoritma
write ('Masukkan nilai x : ')
read (x)
write ('Masukkan nilai y : ')
read (y)
if (x>0) and (y>0) then
write ('Kuadran 1')
if (x<0) and (y>0) then
write ('Kuadran 2')
if (x<0) and (y<0) then
write ('Kuadran 3')
if (x>0) and (y<0) then
write ('Kuadran 4')
endif
Bahasa Pascal
program kartesius;
uses winCrt;
var
x : integer;
y : integer;
begin
writeln ('Masukkan nilai x : '); readln (x);
writeln ('Masukkan nilai y : '); readln (y);
if (x>0) and (y>0) then
begin
writeln ('Kuadran 1');
end;
if (x<0) and (y>0) then
begin
writeln ('Kuadran 2');
end;
if (x<0) and (y<0) then
begin
writeln ('Kuadran 3');
end;
if (x>0) and (y<0) then
begin
writeln ('Kuadran 4');
end;
end.
2. Bahasa
Algoritmik
Program gaji
deklarasi
nama : string
a : char
b : longint
c : longint
d : longint
Algoritma
write ('Masukkan nama')
read (nama)
write ('Masukkan golongan (A/B/C/D) : ')
read (a)
if (a = 'A') or (a='a') then
b = 48 * 4000
else if (a = 'B') or (a='b')then
b = 48 * 5000
else if (a = 'C') or (a='c')then
b = 48 * 6000
else
b = 48 * 7500
write ('Gaji mingguan anda adalah : Rp. ',b)
write ('Masukkan total jam lembur minggu ini : ')
read (c)
d = c * 3000
write ('Total gaji anda minggu ini adalah : Rp. ',b+d)
end.
Bahasa Pascal
program gaji;
uses winCrt;
var
nama : string[50];
a : char;
b : longint;
c : longint;
d : longint;
begin
writeln ('Masukkan nama : '); readln (nama);
writeln ('Masukkan golongan (A/B/C/D) : '); readln (a);
if (a='A') or (a='a') then
begin
b:= 48 * 4000;
end
else if (a='B') or (a='b') then
begin
b:= 48 * 5000;
end
else if (a='C') or (a='c') then
begin
b:= 48 * 6000;
end
else
begin
b:= 48 * 7500
end;
writeln ('Gaji mingguan anda adalah : Rp. ',b);
writeln ('Masukkan total jam lembur minggu ini : ');readln (c);
d:= c * 3000;
writeln ('Total gaji anda minggu ini adalah : Rp. ',b+d);
end.
3. Bahasa
Algoritmik
Program nilai_ujian
deklarasi
nama : string
x : integer
y : char
Algoritma
write ('Masukkan nama : ')
read (nama)
write ('Masukkan nilai ujian : ')
read (x)
if (x>=80) then
y = 'A'
if (x>=70) and (x<80) then
y = 'B'
if (x>=55) and (x<70) then
y = 'C'
if (x<40) then
y = 'D'
write ('Nilai anda adalah : ',x)
write ('Indeks nilai anda adalah : ',y)
end.
Bahasa Pascal
program nilai_ujian;
uses winCrt;
var
nama : string[100];
x : integer;
y : char;
begin
writeln ('Masukkan nama : '); readln (nama);
writeln ('Masukkan nilai ujian : '); readln (x);
if (x>=80) then
begin
y:='A';
end
else if (x>=70) and (x<80) then
begin
y:='B';
end
else if (x>=55) and (x<70) then
begin
y:='C';
end
else if (x<40) then
begin
y:='D';
end
else
begin
writeln ('Nilai yang anda masukkan salah');
end;
writeln ('Nilai anda adalah : ',x);
writeln ('Indeks nilai anda adalah : ',y);
end.
4. Di
dalam kontrakan terdapat 7 orang mahasiswa, setiap orang mempuyai
tugas piket membersikan kontrakan masing – masing sebagai berikut:
■ Senin : Isty
■ Selasa : Ilham
■ Rabu : Tono
■ Kamis : Yuni
■ Jumat : Dirzha
■ Sabtu : Iwan
■ Minggu : Anni
Buatlah
analisis kasus, notasi algoritmik dan translasi bahasa pascalnya.
●
Analisis Kasus
Kasus 1:Case 1, maka tulis pesan "Hari Senin piket Isty"
Kasus 2:Case 2, maka tulis pesan "Hari Selasa piket Ilham"
Kasus 3:Case 3, maka tulis pesan "Hari Rabu piket Tono"
Kasus 4:Case 4, maka tulis pesan "Hari Kamis piket Yuni"
Kasus 5:Case 5, maka tulis pesan "Hari Jumat piket Dirzha"
Kasus 6:Case 6, maka tulis pesan "Hari Sabtu piket Iwan"
Kasus 7:Case 7, maka tulis pesan "Hari Sabtu piket Anni"
Kasus 8:else, maka tulis pesan "Kode yang anda masukkan salah"
●
Bahasa Algoritmik
Program piket
deklarasi
x : integer
Algoritma
write (senin=1,selasa=2,rabu=3,kamis=4,jumat=5,sabtu=6,minggu=7)
read (x)
Case of x
1:
write (‘Hari Senin piket Isty’)
2:
write (‘Hari Selasa piket Ilham’)
3:
write (‘Hari Rabu piket Tono’)
4:
write (‘Hari Kamis piket Yuni’)
5:
write (‘Hari Jumat piket Dirzha’)
6:
write (‘Hari Sabtu piket Iwan’)
7:
write (‘Hari Minggu piket Anni’)
else
write ('Kode yang anda masukkan salah')
end.
●
Bahasa Pascal
program piket;
uses winCrt;
var
x : integer;
begin
writeln ('Program Daftar Piket');
writeln ('---------------------------------------------------------');
gotoxy (0,3); writeln ('Senin = 1 Selasa = 2 Rabu = 3 Kamis = 4');
gotoxy (0,4); writeln ('Jumat = 5 Sabtu = 6 Minggu = 7');
writeln ('-----------------------------------
Tidak ada komentar:
Posting Komentar