TUGAS PRAKTEK PEMROGRAMAN DENGAN BAHASA C++
Disusun Dalam Rangka Pelaksanaan Tugas Praktikum Lab Algoritma dan Struktur Data
Kelompok 3 1. 2. 3. 4.
Maureen Tauriska O, M Farizi Ilham Dwi Martono Fajar Dwi Rahayu
( 2008140511 ) ( 2008140348 ) ( 2008140375 ) ( 2008140363 )
FAKULTAS TEKNIK INFORMATIKA
UNIVERSITAS PAMULANG Jalan Surya Kencana No.1 Pamulang, Tangerrang, Banten Telp. 0217412566
Lab Algoritma dan Pemrograman Menghitung konversi suhu.dari Celcius menjadi Reamur dan Farenheit. [tip : R = 4/5 * C dan F = 9/5 * C + 32]
1. Konversi Suhu :
Flowchart : START
Read suhuCel
Reamur = suhuCel * (4/5) Fareneit = ( suhuCel *9/5) +32
Write Reamur, Farenheit
End
Pseucode :
ALGORITMA : – Program mengkonversi satuan Suhu yang di inputkan melalui keyboard dari Celcius menjadi dalam satuan Reamur dan Farenheit.
DEKLARASI : – SuhuCel : float
DESKRIPSI : – Read ( suhuCel ) – Do Reamur = suhuCel * (4/5) Farenheit = ( suhuCel * 9/5 ) + 32
2
–
Write
Reamur, Farenheit,
Koding dan Output :
3
Menghitung sisi miring dari suatu segitiga siku-siku, jika diketahui panjang sisi yang membentuk sudut siku-siku. [tip : c2 = a2 + b2]
Jawab : 2. Menghitung besaran Sisi Miring Segitiga Siku-siku.
Flowchart :
start
Read a, b
C = sqrt ( pow(a,2) + pow (b,2)
Write c
End
Pseucode :
ALGORITMA : – Program untuk menghitung besaran nilai Sisi Miring suatu Segitiga Siku-siku yang mana panjang sisi-sisi yang mengapit sisi miring nya di inputkan dari keyboard.
DEKLARASI : – a, b : float
DESKRIPSI : – Read ( a, b ) – Do C = sqrt ( pow( a, 2 ) + pow( b, 2 )) –
Write ( c ) 4
Koding dan Output :
5
Menentukan suatu bilangan genap atau ganjil Jawab : 3. Menentukan Bilangan Ganjil dan Genap
Flowchart :
start
Read a
Write a
a%2 == 0 Write a ‘adalah bil genap’
Write a ‘adalah bil ganjil’
End
Pseucode :
ALGORITMA : – Program untuk menentukan Bilangan Ganjil dan Genap dari data yang di inputkan melalui Keyboard.
DEKLARASI : – a : integer
DESKRIPSI : – –
Read ( a ) Write ( a)
–
If
–
Else
a % 2 == 0 then Write ( ‘ a adalah bilangan genap’ )
6
Write ( ‘ a adalah bilangan ganjil’ ) –
Endif
Koding dan Output :
7
Menghitung akar-akar persamaan kuadrat dengan rumus: aX2 + bX + c = 0 Jika determinan D = b2 – 4ac maka a. Jika D < 0 maka didapat akar imajiner b. Jika D = 0 maka X1 = X2 yang didapat dari b / 2a c. Jika D > 0 maka ada dua akar : X1 = (-b + √D) / (2a) X2 = (-b - √D) / (2a) Jawab :
4. Menghitung akar akar dari suatu Persamaan Flowchart :
8
start
Read a,b,c
D = pow( b,2 ) – ( 4*a * c ) T
F D < 0.0
T
F D==0
X1 , X2 adalah akar imajiner
T
F
X1=X2
D>0
X1=(-b + sqrt(D)) / 2*a X2=(-b - sqrt(D)) / 2 *a
b/(2*a)
Write X1,X2
endif endif endif
End
Pseucode :
ALGORITMA : – Program mencari nilai Akar-akar dari suatu Persamaan dengan nilai a, b, c yang di inputkan dari Keyboard.
9
DEKLARASI : – a , b, c : float – D : float
DESKRIPSI : Read ( a, b, c ) Do D = pow(b,2) - (4 * a * c)
– – – –
If
D < 0.0 Write X1, X2 adalah akar akar imajiner
–
If
D == 0.0 Write ( X1 = X2 ) ‘yaitu’ Do b / 2 *a
–
If
D > 0.0 Write ( X1 = ) Do ( -b + sqrt ( D )) / (2*a) Do ( -b - sqrt ( D )) / (2*a)
–
endif
10
Koding dan Output :
11
Menghitung usia berdasarkan tahun lahir (tl) dan tahun sekarang (ts) Jawab : 5. menghitung Usia Lahir berdasarkan Tahun sekarang.
Flowchart : start
read yearA, yearB
int usiaAnda=year B - yearA
Write usiaAnda
End
Pseucode :
ALGORITMA : – Program menghitung usia berdasarkan tahun lahir ( tl ) dan tahun sekarang ( ts ).
DEKLARASI : – yearA – yearB – usiaAnda
: int : int : int
DESKRIPSI : –
Start
–
Read
( yearA, yearB )
–
Do
usiaAnda = yearB – yearA
–
Write
usiaAnda
12
–
End
Koding dan Output :
13
Menghitung rata-rata 5 bilangan Jawab : 6. menghitung rata- rata dari 5 inputan data Flowchart : . start
Read bil Rata = 0 I=1
I<6
Write i
I ++
hasil = rata / (i - 1)
Write hasil
End
14
Pseucode :
ALGORITMA ; – Program untuk menghitung nilai rata- rata dari 5 inputan data.
DEKLARASI : – Bil – Rata – Hasil – I
: : : :
float float float int
DESKRIPSI : –
start
–
Read
( bil )
For
i ←1 to 6
– –
Do
Write ( i ) –
endfor
–
do
hasil = rata / (i - 1)
–
write
hasil
–
end
15
Koding dan Output :
16
Mengkonversi nilai angka ke huruf Nilai angka
Nilai huruf
80.0 - 100 65.0 - 79.9 55.0 – 64.9 45.0 – 54.9 0 – 44.9
A B C D E
7. program untuk menyeleksi nilai menjadi character
flowchart :
17
start
Read nilaiA
80
65
Write nilaiH=A
Write nilaiH=B
55
Write nilaiH=C
45
Write nilaiH=D
0
Write nilaiH=E
End
18
Pseucode :
ALGORITMA : –
Program untuk menyeleksi nilai yang di inputkan dari Keyboard kemudian mengkonversikannya ke dalam bentuk karakter ( huruf ).
DEKLARASI ; –
nilaiA = float
–
nilaiH = char
DESKRIPSI : –
Read
( nilaiA )
–
If
nilaiA >= 80 && nilaiA <=100 do Write ( A )
–
Else If
nilaiA >= 65 && nilaiA <=80
do
Write ( B ) –
Else if
nilaiA >=55.0 && nilaiA <=65.0 do Write ( C )
–
Else if
nilaiA >= 45.5 && nilaiA <= 55.0 do Write ( D )
–
Else if
nilaiA >0.0 && nilaiA <= 45.0 do Write ( E )
–
Endif
19
Koding dan Output :
20
Perhitungan diskon belanjaan, dengan : a. Input : Jumlah belanjaan = N; Belanjaan 1 = harga diinputkan oleh user Belanjaan 2 = harga diinputkan oleh user : . . . Belanjaan N = harga diinputkan oleh user b. Output : i. Total yang harus dibayarkan sebelum mendapatkan diskon ii. Diskon : Jika total > 50000 diskon 5% Jika total > 100000 diskon 10% Jika total > 120000 diskon 15% iii. Total yang harus dibayarkan setelah mendapatkan diskon 8. program menghitung total pembayaran dengan kriteria diskon tertentu
Flowchart :
21
start
Read i
Y=1; y
Total = 0
Total > 120000
Read total Total > 100000
Total = total + harga Total > 50000
y++
bayar = (total * (1 - (disc / 100)))
Write bayar
End
22
Pseucode :
ALGORITMA : –
Program menghitung total pembayaran suatu belanjaan sebelum dan sesudah mendapat diskon dengan criteria tertentu.
DEKLARASI : –
i, y
: integer
–
harga, total, disc, bayar : float
DESKRIPSI : –
start
–
Read ( i )
–
For
y ← 1 to i
do
Write ( y ) –
Read
( harga )
do
total = total + harga –
endfor
–
If
( total > 120000 ) do Disc = 15
–
Else if
( total > 100000 ) do Disc = 10
–
Else if
( total > 50000 )
do
Disc = 5 –
Do
bayar = (total * (1 - (disc / 100)))
–
Write
( bayar )
–
end
23
Koding dan Output :
24
25