Sabtu, 25 Maret 2017

Workshop BAB 4

(ALGORITMA PEMROGRAMAN)


Nama : Aditio Mukhlis
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:
read (tahun)
read (bulan
if (Tahun),
while (i>29)
else
while (i>28)
else
if (Bulan)
while (i>31)
else
while (i>30)



Raptor





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.

Deklarasi :
karakter char

Deskripsi :
read 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) 




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)




Raptor





C++






Kasus Bab 4


Kasus 4.1 - 4.5


Translasi 4.1

 Algoritma
{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)




Raptor





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)



Raptor




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)



Raptor



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}
Deklarasi :
a :int
Deskripsi :
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}
Deklarasi
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

Raptor




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}
deklarasi
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



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


Raptor






C++






5. Algoritma : {operasi hambatan}
Deklarasi :
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).


Raptor





C++








6. Algoritma Menentukan Panjang Segmen
Deklarasi :
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


Raptor







C++




Tidak ada komentar:

Posting Komentar