Senin, 23 Januari 2012



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