Anda di halaman 1dari 8

1.

Modifikasi bangun datar dengan array


 Pseudocode
PROGRAM Luas_dan_keliling_Bangun_datar
{Program untuk menghitung luas serta keliling bangun datar yang tersedia
antara lain trapesium sama kaki, persegi, persegi panjang, jajar genjang, dan
layang-layang. Untuk trapesium, data yang dimasukkan adalah a(sisiatas),
b(sisi bawah), dan c(tinggi). Luas = jumlah sisi sejajar * tinggi /2. Keliling =
jumlah sisi sejajar + (2*sisi miring). Untuk persegi, data yang dimasukkan
adalah a(sisi). Luas = sisi2. Keliling = sisi*4. Untuk persegi panjang, data yang
dimasukkan adalah a(panjang) dan b(lebar). Luas = panjang*lebar. Keliling =
(2*panjang)+(2*lebar). Untuk jajar genjang, data yang dimasukkan adalah
a(alas), b(tinggi), e(sisimiring). Luas = alas*tinggi. Keliling=(2*alas)+(2*sisi
miring). Untuk layang-layang, data yang dimasukkan yaitu
a(diagonal1),b(diagonal2),e(sisi1),f(sisi2). Luas = d1*d2/2. Keliling =
(sisi1*2)+(sisi2*2). Output yang dikeluarkan untuk tiap bangun datar adalah
luas dan keliling nya.}
HEADER TAMBAHAN
#include <math.h>
PROSEDUR
PROSEDUR_pilihan(int *z)
Write(‘1. Trapesium sama kaki’)
Write(‘2. Persegi’)
Write(‘3. Persegi panjang’)
Write(‘4. Jajar Genjang’)
Write(‘5. Layang-layang’)
Write(‘0. Exit’)
Read(*z)

PROSEDUR_inputtrapesiumsamakaki(float *sisiatas, float *sisibawah, float


*tinggi)
Read(*sisiatas, *sisibawah, *tinggi)

PROSEDUR_inputpersegi(float *sisi)
Read(*sisi)

PROSEDUR_inputpersegi(float *panjang, float *lebar)


Read(*panjang, *lebar)

PROSEDUR_inputjajargenjang(float *alas, float *tinggi, float *sisimiring)


Read(*alas, *tinggi, *sisimiring)

PROSEDUR_inputlayanglayang(float *d1, float *d2, float *s1, float *s2)


Read(*d1, *d2, *s1, *s2)
FUNGSI
FUNGSI_luastrapesiumsamakaki(float sisiatas, float sisibawah, float tinggi) :
real
Luas : real
luas(sisiatas+sisibawah)*(tinggi)/2
return luas

FUNGSI_kelilingtrapesiumsamakaki(float sisiatas, float sisibawah, float tinggi)


: real
korban, miring, keliling : real
korban (sisibawah-sisiatas)/2
miringsqrt(pow(tinggi,2)+pow(korban,2))
return kelilingsisiatas+miring+sisibawah+miring

FUNGSI_luaspersegi(float sisi) : real


Luas : real
return luaspow(sisi,2)

FUNGSI_kelilingpersegi(float sisi) : real


float keliling
return kelilingsisi*4

FUNGSI_luaspersegipanjang(float panjang, float lebar) : real


Luas : real
return luaspanjang*lebar

FUNGSI_kelilingpersegipanjang(float panjang, float lebar) : real


Keliling : real
return keliling(2*panjang)+(2*lebar)

FUNGSI_luasjajargenjang(float alas, float tinggi) : real


Luas : real
return luasalas*tinggi

FUNGSI_kelilingjajargenjang(float alas, float tinggi, float sisimiring) : real


Keliling :
keliling=(2*alas)+(2*sisimiring)

FUNGSI_luaslayanglayang(float d1, float d2) : real


Luas : real
return luasd1*d2/2
FUNGSI_kelilinglayanglayang(float s1, float s2) : real
Keliling : real
return keliling(2*s1)+(2*s2)

MAIN_PROGRAM
DEKLARASI
a[100],b[100],c[100],d[100] : real
z,i,j : integer

ALGORITMA
Do
Pilihan(&z)
Case z
1: read(j)
For(i=0;i<j;i++)
Inputtrapesiumsamakaki(&a[i],&b[i],&c[i])
End for
For(i=0;i<j;i++)
Write(luastrapesiumsamakaki(a[i],b[i],c[i]))
Write(kelilingtrapesiumsamakaki(a[i],b[i],c[i]))
End for
2: read(j)
For(i=0;i<j;i++)
inputpersegi(&a[i])
End for
For(i=0;i<j;i++)
Write(luaspersegi(a[i]))
Write(kelilingpersegi(a[i]))
End for
3: read(j)
For(i=0;i<j;i++)
inputpersegipanjang(&a[i],&b[i])
End for
For(i=0;i<j;i++)
Write(luaspersegipanjang(a[i],b[i]))
Write(kelilingpersegi(kelilingpersegipanjang(a[i],b[i]))
End for
4: read(j)
For(i=0;i<j;i++)
inputjajargenjang(&a[i],&b[i],&c[i])
End for
For(i=0;i<j;i++)
Write(luasjajargenjang(a[i],b[i]))
Write(kelilingpersegi(kelilingjajargenjang(a[i],b[i],c[i]))
End for
5: read(j)
For(i=0;i<j;i++)
inputlayanglayang(&a[i],&b[i],&c[i],&d[i])
End for
For(i=0;i<j;i++)
Write(luaslayanglayang(a[i],b[i]))
Write(kelilinglayanglayang(c[i],d[i]))
End for
while(z!=0)
end while
 Screenshot
2. Modifikasi perkutut airlines array
 Pseudocode
HEADER_TAMBAHAN
#include <string.h>
Type penumpang : record < nama, kode, kelas, tanggal, jamjalan,
jamsampe : string
jumlahdewasa, jumlahanak, harga, hargaanak,
hargadewasa, hargatotal, temp : real

i, j, z : integer
a[100] : penumpang

FUNGSI_biayadewasa() : real
If(a[i].kelas=='B') then
a[i].hargadewasaa[i].harga*20/100
a[i].hargadewasaa[i].harga+a[i].hargadewasa
a[i].hargadewasaa[i].hargadewasa*a[i].jumlahdewasa
else
a[i].hargadewasaa[i].harga*a[i].jumlahdewasa
end if
return a[i].hargadewasa

FUNGSI_biayaanak() : real
if(a[i].kelas=='B') then
a[i].hargaanaka[i].harga*60/100
a[i].hargaanaka[i].harga-a[i].hargaanak
a[i].tempa[i].hargaanak*20/100
a[i].hargaanaka[i].hargaanak+a[i].temp
else
a[i].hargaanaka[i].harga*60/100
a[i].hargaanak (a[i].harga-a[i].hargaanak)*a[i].jumlahanak
end if
return a[i].hargaanak

FUNGSI_biayatotal() : real
return a[i].hargatotal=biayadewasa()+biayaanak()

PROSEDUR
PROSEDUR_tujuan()
Read(a[i].nama)
Write(‘1. semarang’)
Write(‘2. yogyakarta’)
Write(‘3. bali’)
Write(‘4. palembang’)
Write(‘5. balikpapan’)
Read(z)
Case z
1: strcpy(a[i].kode,"PAL001")
a[i].harga350000
2: strcpy(a[i].kode,"PAL002")
a[i].harga450000
3: strcpy(a[i].kode,"PAL003")
a[i].harga700000
4: strcpy(a[i].kode,"PAL004")
a[i].harga500000
5: strcpy(a[i].kode,"PAL005")
a[i].harga600000

PROSEDUR_kelas()
Write(‘1. bisnis’)
Write(‘2. ekonomi’)
Read (z)
Case z
1: a[i].kelas'B'
2: a[i].kelas'E'

PROSEDUR_info()
Read(a[i].tanggal, a[i].jamjalan, a[i].jamsampe, a[i].jumlahdewasa,
a[i].jumlahanak)

PROSEDUR_detail()
Write(a[i].nama, a[i].kode, a[i].kelas, a[i].tanggal, a[i].jamjalan, a[i].jamsampe,
a[i].jumlahdewasa, a[i].jumlahanak, Fungsi biayatotal())

MAIN_PROGRAM
Read(j)
for (i=0;i<j;i++)
Prosedur tujuan()
Prosedur kelas()
Prosedur info()
End for
For(i=0;i<j;i++)
Prosedur detail()
End for
 Screenshot

3. Modifikasi tugas gaji bersih karyawan dengan array


 Pseudocode
GajiPokok[100], tunjangan, pajak, sementara, gajiBersih[100] : real
I, j, gajian : integer

FUNGSI
FUNGSI_gaji() : real
tunjanganpersenTunjangan*gajiPokok[i]
pajakpersenPajak*gajiPokok[i]
gajiBersih[i] gajiPokok[i]+tunjangan-pajak
sementarasementara+gajiBersih[i]
return gajiBersih[i]

FUNGSI_rata() : float
return sementara/5

PROSEDUR
PROSEDUR_pilihgaji()
Case gajian
1: gajiPokok[i]=5000000
2: gajiPokok[i]=7500000
3: gajiPokok[i]=10000000
4: gajiPokok[i]=12500000
PROSEDUR_input()
Read(namaKaryawan[i])
Write(‘1. Golongan I’)
Write(‘2. Golongan II’)
Write(‘3. Golongan III’)
Write(‘4. Golongan IV’)
Read(gajian)

PROSEDUR_output()
Read(namaKaryawan[i], Fungsi gaji())

MAIN_PROGRAM
Read(j)
for(i=0;i<j;i++)
Prosedur input()
End for
for(i=0;i<j;i++)
Prosedur output()
End for
Write(Fungsi rata())

 Screenshot

Anda mungkin juga menyukai