- Buatlah algoritma yang membaca sebuah titik p (x,y) di bidang kartesian, lalu menentukan di kuadran mana letak titk tersebut !
- 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 ! GolonganUpah Per JamARp. 4000BRp. 5000CRp. 6000DRp. 7500
- 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. - Buatlah sebuah permasalahan algoritma yang mempunyai penyelesaian masalah hingga 3 kasus lebih, kemudian buatlah analisis kasus, notasi algoritmik dan translasi bahasa pascalnya.
PENYELESAIAN
1. Program Kartesius
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;
2. Program Gaji
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. Program Nilai Ujian
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. Permasalahan Algoritma
Di dalam kontrakan terdapat 7 orang mahasiswa, setiap orang mempuyai tugas piket membersikan kontrakan masing – masing sebagai berikut:
■ Senin : Jamri
■ Selasa : Lukman
■ Rabu : Halili
■ Kamis : Sulaiman
■ Jumat : Firdaus
■ Sabtu : Isal
■ Minggu : Yadi
Buatlah analisis kasus, notasi algoritmik dan translasi bahasa pascalnya.
Analisis Kasus
Kasus 1:Case 1, maka tulis pesan "Hari Senin piket Jamri"
Kasus 2:Case 2, maka tulis pesan "Hari Selasa piket Lukman"
Kasus 3:Case 3, maka tulis pesan "Hari Rabu piket Halili"
Kasus 4:Case 4, maka tulis pesan "Hari Kamis piket Sulaiman"
Kasus 5:Case 5, maka tulis pesan "Hari Jumat piket Firdaus"
Kasus 6:Case 6, maka tulis pesan "Hari Sabtu piket Isal"
Kasus 7:Case 7, maka tulis pesan "Hari Minggu piket Yadi"
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 Jamri’)
2:
write (‘Hari Selasa piket Lukman’)
3:
write (‘Hari Rabu piket Halili’)
4:
write (‘Hari Kamis piket Sulaiman’)
5:
write (‘Hari Jumat piket Firdaus’)
6:
write (‘Hari Sabtu piket Isal’)
7:
write (‘Hari Minggu piket Yadi’)
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 Jamri');
end;
2 : Begin
writeln ('Hari Selasa piket Lukman');
end;
3 : Begin
writeln ('Hari Rabu piket Halili');
end;
4 : Begin
writeln ('Hari Kamis piket Sulaiman');
end;
5 : Begin
writeln ('Hari Jumat piket Firdaus');
end;
6 : Begin
writeln ('Hari Sabtu piket Isal');
end;
7 : Begin
writeln ('Hari Minggu piket Yadi');
end;
else
Begin
writeln ('Kode yang anda masukkan salah');
end;
end;
end.
S.E.L.E.S.A.I
Tidak ada komentar:
Posting Komentar