Kamis, 19 Januari 2012

tugas p.taufik

TUGAS ALGORITMA PEMROGRAMAN

1. Buatlah algoritma yang membaca sebuah titik p (x,y) di bidang kartesian, lalu menentukan di kuadran mana letak titk tersebut. ! 
2.2. Misalkan karyawan PT. “MUSTAHIL MAJU” 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 : Adi
  Selasa : Aswin
  Rabu : Anton
  Kamis : Avil
  Jumat : 4ntonz
  Sabtu : Green 
  Minggu : Boy
Buatlah analisis kasus, notasi algoritmik dan translasi bahasa pascalnya.
    Analisis Kasus
Kasus 1:Case 1, maka tulis pesan "Hari Senin piket Adi"
Kasus 2:Case 2, maka tulis pesan "Hari Selasa piket Aswin"
Kasus 3:Case 3, maka tulis pesan "Hari Rabu piket Anton"
Kasus 4:Case 4, maka tulis pesan "Hari Kamis piket Avil"
Kasus 5:Case 5, maka tulis pesan "Hari Jumat piket 4ntonz"
Kasus 6:Case 6, maka tulis pesan "Hari Sabtu piket Green"
Kasus 7:Case 7, maka tulis pesan "Hari Sabtu piket Boy"
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 Adi’)
2:
write (‘Hari Selasa piket Aswin’)
3:
write (‘Hari Rabu piket Anton’)
4:
write (‘Hari Kamis piket Aswin’)
5:
write (‘Hari Jumat piket 4ntonz’)
6:
write (‘Hari Sabtu piket Green’)
7:
write (‘Hari Minggu piket Boy’)
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