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. seperti dibawah ini.
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.
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
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. 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 ('---------------------------------------------------------');
writeln ('Masukkan kode hari (1-7) : '); readln (x);
clrscr;
case x of
1 : Begin
writeln ('Hari Senin piket Adi');
end;
2 : Begin
writeln ('Hari Selasa piket Aswin');
end;
3 : Begin
writeln ('Hari Rabu piket Anton');
end;
4 : Begin
writeln ('Hari Kamis piket Avil');
end;
5 : Begin
writeln ('Hari Jumat piket 4ntonz');
end;
6 : Begin
writeln ('Hari Sabtu piket Green');
end;
7 : Begin
writeln ('Hari Minggu piket Boy');
end;
else
Begin
writeln ('Kode yang anda masukkan salah');
end;
end;
end.
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 ('---------------------------------------------------------');
writeln ('Masukkan kode hari (1-7) : '); readln (x);
clrscr;
case x of
1 : Begin
writeln ('Hari Senin piket Adi');
end;
2 : Begin
writeln ('Hari Selasa piket Aswin');
end;
3 : Begin
writeln ('Hari Rabu piket Anton');
end;
4 : Begin
writeln ('Hari Kamis piket Avil');
end;
5 : Begin
writeln ('Hari Jumat piket 4ntonz');
end;
6 : Begin
writeln ('Hari Sabtu piket Green');
end;
7 : Begin
writeln ('Hari Minggu piket Boy');
end;
else
Begin
writeln ('Kode yang anda masukkan salah');
end;
end;
end.

Tidak ada komentar:
Posting Komentar