TUGAS PRAKTEK PEMROGRAMAN DENGAN BAHASA C++ Disusun Dalam Rangka Pelaksanaan Tugas Praktikum Lab Algoritma dan Struktur Data Kelompok 3 1. Maureen Tauriska O, M ( 2008140511 ) 2. Farizi Ilham ( 2008140348 ) 3. Dwi Martono ( 2008140375 ) 4. Fajar Dwi Rahayu ( 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
Koding dan Output : Write Reamur, Farenheit, 3
Menghitung sisi miring dari suatu segitiga siku-siku, jika diketahui panjang sisi yang membentuk sudut siku-siku. [tip : c 2 = a 2 + b 2 ] 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 a % 2 == 0 then Write ( a adalah bilangan genap ) Else 6
Write ( a adalah bilangan ganjil ) Endif Koding dan Output : 7
Menghitung akar-akar persamaan kuadrat dengan rumus: ax 2 + 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 : X 1 = (-b + D) / (2a) X 2 = (-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 D < 0.0 F T F X1, X2 adalah akar imajiner X1=X2 D==0 T D>0 F b/(2*a) X1=(-b + sqrt(d)) / 2*a X2=(-b - sqrt(d)) / 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 usiaanda=year B - yeara Write usiaanda End Pseucode : ALGORITMA : Program menghitung usia berdasarkan tahun lahir ( tl ) dan tahun sekarang ( ts ). DEKLARASI : yeara : int yearb : int usiaanda : 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 : float Rata : float Hasil : float I : 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 A 65.0-79.9 B 55.0 64.9 C 45.0 54.9 D 0 44.9 E 7. program untuk menyeleksi nilai menjadi character flowchart : 17
start Read nilaia 80<nilaiA <100 Write nilaih=a 65<nilai A<80 Write nilaih=b 55<nilai A<65 Write nilaih=c 45<nilai A<55 Write nilaih=d 0<nilai A<45 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<i; y++ Total = 0 Total > 120000 Read total Total = total + harga y++ Total > 100000 Total > 50000 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