Workshop BAB 4
(ALGORITMA PEMROGRAMAN)
Nama : Aditio Mukhlis
Nim : 1600018127
Nim : 1600018127
1.Buatlah flowchart dan translasi program dari algoritma
4.2.b. di Modul Diktat.
Analisis:
Menyelesaikan sebuah program dengan raptor dan C++ dengan
cara melakukan perhitungan per tahap.Keluaran yang dihasilkan diantaranya
mencari nilai terbesar.
Algoritma:
{Menghitung nilai maksimum dengan keluaran nilai yang
terbesar}
Deklrasi:
x,y,z dan f merupakan integer
Deskripsi:
read(x,y,z)
maks<=x
if(y>maks)then maks<=y end if
if(z>maks)then maks<=z end if
whirte (Bilangan terbesar adalah maks)
Raptor
C++
2. Sempurnakan algoritma 4.3. dengan akar imajiner berbentuk
: a + bi dengan a dan b bilangan real dan bila harga 2 40 b ac . Perhatikan
bahwa nilai a dan b dihitung terpisah.
Problem :
menghitung akar persamaan kuadrat dengan akar imajiner a+bi dengan
a dan b bilangan real dan bilangan harga n bila harga b^2-4ac<0 dengan a dan
terpisah.
Solusi:
dengan memasukkan kondisi menggunakan class.
Algoritma :
Deklarasi:
private :
a,b,c = integer (input nilai)
D = float (function)
Deskripsi:
read (A, B, C)
disk Å B*B – 4*A*C
if (A = 0) then write (‘Bukan Persamaan Kuadrat’)
else if disk > 0 then
x1 ( -B + sqrt (disk)/2*A
x2 ( -B - sqrt(disk)/2*A
else if disk = 0 then
x1 ( -B/2*A
x2 ( x1
else write (‘Akar imajiner’)
end if
write (x1,x2)
Raptor
C++
3. Mengkonversikan nilai angka menjadi nilai huruf.
Buatlah program dari algoritma 4.4. menggunakan case … of .
Problem :
mengkonversikan nilai angka menjadi nilai huruf dengan
syarat nilai :
E=0-20
D=20-40
C=40-60
B=60-80
A=
Solusi:
dengan memasukkan kondisi menggunakan
Algoritma :
Deklarasi:
nilai=integer
nilai_huruf =char
Desksripsi:
read (nilai)
if (nilai > 0) and (nilai <= 20) then nilai_huruf Å
‘E’
else if (nilai > 20) and (nilai <= 40) then
nilai_huruf Å ‘D’
else if (nilai > 40) and (nilai <= 60) then
nilai_huruf Å ‘C’
else if (nilai > 60) and (nilai <= 80) then
nilai_huruf Å ‘B’
else nilai_huruf Å ‘A’
endif
write (nilai_huruf)
Raptor
C++
4. Buatlah algoritma, flowchart dan program untuk mengecek
apakah pemakai memasukkan bilangan bulat atau bilangan real. Lebih dulu,
carilah perbedaan dari 1.0 dan 1 kemudian 1 dan 1.23.
Analisis:
Menentukan antara bilangan bulat atau bilangan real yang
diinputkan oleh user, secara matematis kita sudah mengetahui antara bilangan
bulat dan bilangan real. bilangan bulat adalah bilangan bersifat positif
sedangkan real adalah bilangan bersifat negatif.
Algoritma:
{Mendpatkan nilai atau hasil dari program dari bilangan
bulat dan mengetahui bilangan bulat}
Deklarasi:
A disini merupakan sebagai integer
Deskripsi:
read (A,B)
if (A==B)
write (Bilangann Bulat Or Bilangan Real)
Raptor
C++
5. Buatlah algoritma, flowchart dan program untuk
menentukan banyaknya hari dalam suatu bulan dan tahun yang diberikan.
Pertimbangkan pula adanya tahun kabisat di mana bulan Februari mempunyai jumlah
29 hari. Gunakan case .. of dan if .. then .. else .. yang tepat untuk setiap
kasus.
Analisis:
Mendapatkan hasil dari program yang mempunyai tahun kabisat serta mengetahui jumlah hari di setiap bulannya.
Algoritma:
{Mendapatkan sebuah hasil dari nilai tahun kabisat dan jumlah hari pada setiap tahunnya}
Deklarasi:
tahun,i,bulan : integer
Deskripsi:
Mendapatkan hasil dari program yang mempunyai tahun kabisat serta mengetahui jumlah hari di setiap bulannya.
Algoritma:
{Mendapatkan sebuah hasil dari nilai tahun kabisat dan jumlah hari pada setiap tahunnya}
Deklarasi:
tahun,i,bulan : integer
Deskripsi:
read (tahun)
read (bulan
if (Tahun),
while (i>29)
else
while (i>28)
else
if (Bulan)
while (i>31)
else
while (i>30)
C++
6. Buatlah algoritma, flowchart dan program untuk mengecek
apakah karakter yang dimasukkan itu merupakan huruf besar, huruf kecil atau
digit (bilangan). Gunakan fungsi ORD(char) untuk menyatakan nomor urut dalam
tabel ASCII.
Analisis: Mengecek apakah karakter yang diinputkan itu
merupakan huruf, besar, huruf kecil atau digit bilangan. dalam hal menetukan
besar kecilnya huruf atau bilangan adalah suatu keyboard yang dulu dikenal
dengan kode ASCII yang biasa digunakan dalam suatu pemrograman komputer.
Algoritma Mengecek suatu karakter huruf atau bilangan
{user diminta untuk memasukan suatu karakter kemudian akan di tentukan apakah termasuk kedalam huruf, bilangan, atau simbol.
{user diminta untuk memasukan suatu karakter kemudian akan di tentukan apakah termasuk kedalam huruf, bilangan, atau simbol.
Deklarasi :
karakter char
Deskripsi :
read karakter
write((char)karakter)
write((char)karakter)
Raptor
C++
7. Seorang dosen ingin mengkonversikan nilai angka hasil ujian
mahasiswa menjadi nilai huruf dengan ketentuan : Nilai antara Nilai Huruf 0-60
= F, 61-70 = D, 71-80 = C, 81-90 = B, 91-100 = A.
Problem :
mengkonversikan nilai angka menjadi nilai huruf dengan syarat nilai :
F=0-60
D=61-70
C=71-80
B=81-90
A=91-100
Solusi:
dengan memasukkan kondisi menggunakan if else
Algoritma :
Deklarasi:
a=integer
Desksripsi:
read (nilai)
if (a > 0) and (a <= 60) then nilai_huruf Å ‘F’
else if (a > 61) and (a <= 70) then nilai_huruf Å ‘D’
else if (a > 71) and (a <= 80) then nilai_huruf Å ‘C’
else if (a > 81) and (a <= 90) then nilai_huruf Å ‘B’
else nilai Å ‘A’
endif
write (a)
mengkonversikan nilai angka menjadi nilai huruf dengan syarat nilai :
F=0-60
D=61-70
C=71-80
B=81-90
A=91-100
Solusi:
dengan memasukkan kondisi menggunakan if else
Algoritma :
Deklarasi:
a=integer
Desksripsi:
read (nilai)
if (a > 0) and (a <= 60) then nilai_huruf Å ‘F’
else if (a > 61) and (a <= 70) then nilai_huruf Å ‘D’
else if (a > 71) and (a <= 80) then nilai_huruf Å ‘C’
else if (a > 81) and (a <= 90) then nilai_huruf Å ‘B’
else nilai Å ‘A’
endif
write (a)
Raptor
C++
8. Diberikan ketentuan pecahan uang di Indonesia. User
memasukkan sebuah bilangan, program harus dapat memecahnya menjadi pecahan
sesuai dengan mata uang di Indonesia. Misalkan dimasukkan nilai uang 127.675
rupiah. Cobalah memecah secara manual nilai uang di atas.
Analisis:
Menghitung nilai pecahan dari mata uang indonesia,sehingga
kita akan menginfutkan nilai dalam bentuk jumlah uang,dan akan mendapat hasil,menghitung
jumlah komponen sejumlah uang menjadi pecahan-pecahannya. Kita akan
menginputkan jumlah uang dalam bentuk angka kemudian uang yang kita masukan
akan terpecah sesuai dengan kategori masing-masing dan mengetahui jumlah lembar
dari masing-masing uang.
Algoritma:
{Mendapatkan hasil dari jumlah uang dan menjadi
pecahan,sehingga uang tersebuat akan di masukan dalam kategori masing-masing}
Deklarasi:
(u10,u5,u500,u20,u50,u1,u100,sisa,u2): integer
uang: integer
Deskripsi
if (u100>0)
else
if (u50>0)
else
if (u20>0)
else
if (u10>0)
else
if (u5>0)
else
if (u2>0)
else
if (u1>0)
else
if (u500>0)
else
write(u100rb)
write(u50rb)
write(u20rb)
write(u10rb)
write(u5rb)
write(u1rb)
write(u5ratus)
Raptor
C++
9. Seorang pegawai bekerja selama 5 hari kerja, yaitu
Senin sampai Jum’at. Setiap hari dia masuk jam 08.00 dan pulang jam 16.00.
Kecuali Jum’at dia pulang jam 11.00. Apabila dia bekerja lebih dari 30 jam per
bulan maka setiap 5 jam akan memperoleh uang lembur sebesar Rp 30.000,- bila
kurang dari 5 jam maka akan dihitung Rp 4.000,-/jam. Buat program dengan
masukan bulan yang diinginkan, dan outputnya berupa besarnya uang lembur
pegawai tersebut.
Analisis:
Menghitung waktu lembur dan mendapatkan bonus dari hasil
kita lembur
Algoritma:
{Menghitung waktu lembur dan mendapatkan bonus dari hasil
kita lembur kerja tersebut
User diminta untuk memasukan bulan yang diinginkan dan akan
menampilkan jumlah uang yang didapat selama lembur.
Deklarasi:
(jam1,total,jam2,gaji,bulan) integer
Deskripsi:
if (bulan==1) menyatakan pada Bulan 1
if (total>30) total tanggal pada bulan 1
if (bulan==2)
if (total>30)
if (bulan==3)
if (total>30)
if (bulan==4)
if (total>30)
if (bulan==5)
if (total>30)
if (bulan==6)
if (total>30)
if (bulan==7)
if (total>30)
if (bulan==8)
if (total>30)
if (bulan==9)
if (total>30)
if (bulan==10)
if (total>30)
if (bulan==11)
if (total>30)
else
if (total>30)
write (gaji)
C++
Kasus Bab 4
Kasus 4.1 - 4.5
Translasi 4.1
{Menentukan nilai terbesar antara dua bilangan bulat}
Deklarasi
A,B = integer
Deskripsi
read(A, B)
if (A>B) then write(‘Bilangan terbesar adalah=’A)
else write (‘Bilangan terbesar adalah= ‘B)
end if
Raptor
C++
Translasi 4.2
Algoritma
{membaca tiga buah bilangan bulat, menentukan bilangan terbesar di antara tiga buah bilangan tersebut dan menampilkannya ke layar}
Deklarasi
int x, y , z
Deskripsi
read (x,y,z)
if (x>y) and then write ('Bilangan terbesar adalah ='x)
else if(y>x) and (y>z) then write ('Bilangan terbesar adalah='y)
else write (Bilangan terbesar adalah = Z)
end if
Raptor
C++
Translasi 4.3
Algoritma
{Menghitung akar-akar persamaan kuadrat Ax^2+Bx+C=0}
Deklarasi
A,B,C = integer
Disk = logint
X1, x2 = real
Deskripsi
Read (A, B, C)
Disk= B*B-4*A*C
If(A= 0) then write (‘Bukan Persamaan Kuadrat’)
Else if disk>0 then
X1 (-B+ sqrt (disk)/2*A
X2(-B- sqrt (disk)/2*A
Else if disk = 0 then
X1 (-B/2*A
X2 (x1
Else write (‘Akar Imajiner’)
End if
Write (x1,x2)
C++
Translasi 4.4
Analisis :
Mengkonversi nilai angka menjadi huruf
Algoritma :
{memasukkan angka dan algoritma menerima masukkan untuk di ganti menjadi huruf}
Deklarasi :
nilai : integer
huruf : char
Deskripsi :
read (nilai)
if (nilai>0) and (nilai<=20)then huruf = E
else if (nilai>20) and (nilai<=40) then huruf = D
else if (nilai>40) and (nilai<=60) then huruf = C
else if (nilai>60) and (nilai<=80) then huruf = B
else huruf = A
end if
write (huruf)
C++
Translasi 4.5
Algoritma
{Masukkan integer 1 sampai 7, akan di tentukan hari apa yang sesuai}
Deklarasi
Integer= hari_ke
String = hari
Deskripsi
Read(hari_ke)
Case (hari_ke) of
1 : hari =’Senin’
2 : hari =’Selasa’
3 : hari =’Rabu’
4 : hari =’Kamis’
5 : hari =’Jumat’
6 : hari =’Sabtu’
Els hari =’Minggu’
Endcase
Write(hari)
C++
Tugas Bab 4
(6 soal)
1. Algoritma menentukan bilangan genap atau ganjil
{user menginputkan bilangan, kmudian bilangan tersebut diproses
dengan menentukan bilangan tersebut ganjil/genap, kemudian menampilkan hasilnya}
{user menginputkan bilangan, kmudian bilangan tersebut diproses
dengan menentukan bilangan tersebut ganjil/genap, kemudian menampilkan hasilnya}
Deklarasi :
a :int
a :int
Deskripsi :
read (a)
if (a%2==0) then
write “Ini adalah bilangan bulat”
else then
write”ini bilangan ganjil”
end if
read (a)
if (a%2==0) then
write “Ini adalah bilangan bulat”
else then
write”ini bilangan ganjil”
end if
Raptor
C++
2. Algoritma Nilai Maksimum dari 3 bilangan
{menginputkan tiga buah bilangan bulat, lalu memproses dengan menentukan bilangan
terbesar di antara tiga buah bilangan tersebut dan menampilkan hasil prosesnya}
{menginputkan tiga buah bilangan bulat, lalu memproses dengan menentukan bilangan
terbesar di antara tiga buah bilangan tersebut dan menampilkan hasil prosesnya}
Deklarasi
x, y, z : integer
x, y, z : integer
Deskripsi
read (x, y, z)
if (y > x) then
x <- y end if
if (z > x) then
maks <- z
end if
read (x, y, z)
if (y > x) then
x <- y end if
if (z > x) then
maks <- z
end if
C++
3. Algoritma Konversi Nilai Ke Huruf
(membaca angka nilai yang di inputkan, lalu algoritma memproses dengan menentukan huruf
yang sesuai dengan inputan angka, kemudian menampilkan hasilnya}
(membaca angka nilai yang di inputkan, lalu algoritma memproses dengan menentukan huruf
yang sesuai dengan inputan angka, kemudian menampilkan hasilnya}
deklarasi
a : integer
a : integer
deskripsi
read(a)
if(a>=0 && a<30) then E
else if (a>=30 && a<55) then D
else if (a>=55 && a<65) then C
else if (a>=65 && a<80) then B
else then A
end case
read(a)
if(a>=0 && a<30) then E
else if (a>=30 && a<55) then D
else if (a>=55 && a<65) then C
else if (a>=65 && a<80) then B
else then A
end case
Raptor
C++
4. Dibaca koefisien persamaan kuadrat ax2 + bx + c = 0, kemudian menampilkan akar persamaan kuadratnya dan jenisnya
Algoritma: Persamaan_Kuadrat
{Menghitung akar-akar persamaan kuadrat Ax^2+Bx+C = 0}
Deklarasi:
(a,b,c) integer
(D,x1,x2,n) float
Deskripsi:
read a,b,c
if(D>0)
else if(D==0)
else
write a,b,c,n,D
else if(D==0)
else
write a,b,c,n,D
Raptor
C++
5. Algoritma : {operasi hambatan}
Deklarasi :
r1, r2, r3, pil (int)
p, s (int)
r1, r2, r3, pil (int)
p, s (int)
Deskripsi :
read (r1, r2, r3)
s =r1+r2+r3
p =(1/r1)+(1/r2)+(1/r3)
write (s,p).
read (r1, r2, r3)
s =r1+r2+r3
p =(1/r1)+(1/r2)+(1/r3)
write (s,p).
C++
6. Algoritma Menentukan Panjang Segmen
Deklarasi :
a,b,c (integer)
a,b,c (integer)
Deskripsi :
read (a,b,c)
if (a+b>c && a+c>b && b+c>a) then
write MERUPAKAN SEGITIGA
else then
write BUKAN SEGITIGA
end if
read (a,b,c)
if (a+b>c && a+c>b && b+c>a) then
write MERUPAKAN SEGITIGA
else then
write BUKAN SEGITIGA
end if
C++
Tidak ada komentar:
Posting Komentar