WORKSHOP BAB 5
1. Analisis : Untuk mencetak bilangan 1 sampai dengan 4, dengan tentukan nilai x adalah 4, kemudian buat sebuah perulangan dimana x <= 1, dan
tentukan rumus dimana x = x -1 dikarenakan x dimulai dari angka 4
Algoritma
{Program mencetak bilangan 1 sampai dengan 4 dengan downto}
Deklarasi:
x (integer) {output}
Deskripsi
write (x)
x =4
while (!(x<=1))
x =x-1
read (hasil)
C++
RAPTOR
2. Analisis
Untuk menanggapi perlu tidaknya memodifikasi translasi 4.5 sepertinya perlu. Bisa digunakan switch case membuatnya terlihat lebih sederhana. Sebagai gambaran yaitu kita dapat membuat menu pilihan untuk angka 1 yaitu untuk hari senin dan seterusnya sampai yang ke 7 yaitu untuk hari minggu dan disaat kita memasukkan angka 5 maka akan memunculkan hari Jum’at.
Algoritma
menentukan_hari
{ mengkonversi nilai bilangan 1 – 7 ke dalam bentuk hari dimulai dari Senin – Minggu }
Deklarasi
Hari : Integer (input)
Deskripsi
Read (hari)
Switch
Case 1 : write (hari senin)
Case 2 : write (hari selasa)
Case 3 : write (hari rabu)
Case 4 : write (hari kamis)
Case 5 : write (hari jum’at)
Case 6 : write (hari sabtu)
Case 7 : write (hari minggu)
Default : write (kode salah)
End switch
C++
RAPTOR
3. Analisis
untuk menentukan bilangan yang habis dibagi 3 dan 5 antara 1 sampai 100, adalah dengan cara membuat perulangan sampai dengan 100, dengan nilai x yang sudah ditentukan, yaitu 1 kemudian buat rumus x + 1 untuk menambahkan nilai x dengan satu hingga x-nya berjumlah 100
Algoritma
{ Menentukan bilangan yang habis dibagi 3 Dan 5 antara 1 sampain 100 }
Deklarasi
x (integer) {output}
Deskripsi
read(x)
x = 1
while (!(x==100))
if (x % 3==0 && x % 5==0) then write x
endif
x = x + 1;
write(hasil)
Uji coba : Bilangan bilangan yang habis dibagi 3 Dan 5 : 15
Bilangan bilangan yang habis dibagi 3 Dan 5 : 30
Bilangan bilangan yang habis dibagi 3 Dan 5 : 45
Bilangan bilangan yang habis dibagi 3 Dan 5 : 60
Bilangan bilangan yang habis dibagi 3 Dan 5 : 75
Bilangan bilangan yang habis dibagi 3 Dan 5 :90
C++
Raptor
4. Analisis
Untuk menentukan nilai n dari pola bentuk bilangan pecahan 1-1/2+1/3- 1/4+…1/n bisa menggunakan rumus
Algoritma
{menentukan nilai n dari pola bilangan pecahan }
Deklarasi
n : integer (input)
Deskripsi
read (n)
while (!(p>n))
if (p % 2==0)
hasil =-1*(bil/p);
if (a>n)
else then write (+1/)
else
hasil =bil/p;
if (a>n)
else then write (-1/)
C++
Raptor
5. Analisis
Untuk menentukan operasi permutasi dan kombinasi dengan memasukan 2 kali inputan . sebagai contoh bilangan 1 = 5 , bilangan 2 = 4 dan rumusnya untuk permutasi :
Algoritma
{ menentukan nilai inputan dari operasi perhitungan permutasi dan kombinasi }
Deklarasi
n, r : integer
a : float (input)
Deskripsi
read(n, r, a)
if (a==1) then write (permutasi)
hasil =faktorial*(n)/faktorial*(n-r)
if (a==2) then write (kombinasi)
hasil =faktorial*(n)/(faktorial*(r)+faktorial*(n-r))
end if
write (permutasi, kombinasi)
C++
Raptor
{Program mencetak bilangan 1 sampai dengan 4 dengan downto}
Deklarasi:
x (integer) {output}
Deskripsi
write (x)
x =4
while (!(x<=1))
x =x-1
read (hasil)
C++
RAPTOR
2. Analisis
Untuk menanggapi perlu tidaknya memodifikasi translasi 4.5 sepertinya perlu. Bisa digunakan switch case membuatnya terlihat lebih sederhana. Sebagai gambaran yaitu kita dapat membuat menu pilihan untuk angka 1 yaitu untuk hari senin dan seterusnya sampai yang ke 7 yaitu untuk hari minggu dan disaat kita memasukkan angka 5 maka akan memunculkan hari Jum’at.
Algoritma
menentukan_hari
{ mengkonversi nilai bilangan 1 – 7 ke dalam bentuk hari dimulai dari Senin – Minggu }
Deklarasi
Hari : Integer (input)
Deskripsi
Read (hari)
Switch
Case 1 : write (hari senin)
Case 2 : write (hari selasa)
Case 3 : write (hari rabu)
Case 4 : write (hari kamis)
Case 5 : write (hari jum’at)
Case 6 : write (hari sabtu)
Case 7 : write (hari minggu)
Default : write (kode salah)
End switch
C++
RAPTOR
3. Analisis
untuk menentukan bilangan yang habis dibagi 3 dan 5 antara 1 sampai 100, adalah dengan cara membuat perulangan sampai dengan 100, dengan nilai x yang sudah ditentukan, yaitu 1 kemudian buat rumus x + 1 untuk menambahkan nilai x dengan satu hingga x-nya berjumlah 100
Algoritma
{ Menentukan bilangan yang habis dibagi 3 Dan 5 antara 1 sampain 100 }
Deklarasi
x (integer) {output}
Deskripsi
read(x)
x = 1
while (!(x==100))
if (x % 3==0 && x % 5==0) then write x
endif
x = x + 1;
write(hasil)
Uji coba : Bilangan bilangan yang habis dibagi 3 Dan 5 : 15
Bilangan bilangan yang habis dibagi 3 Dan 5 : 30
Bilangan bilangan yang habis dibagi 3 Dan 5 : 45
Bilangan bilangan yang habis dibagi 3 Dan 5 : 60
Bilangan bilangan yang habis dibagi 3 Dan 5 : 75
Bilangan bilangan yang habis dibagi 3 Dan 5 :90
C++
Raptor
4. Analisis
Untuk menentukan nilai n dari pola bentuk bilangan pecahan 1-1/2+1/3- 1/4+…1/n bisa menggunakan rumus
Algoritma
{menentukan nilai n dari pola bilangan pecahan }
Deklarasi
n : integer (input)
Deskripsi
read (n)
while (!(p>n))
if (p % 2==0)
hasil =-1*(bil/p);
if (a>n)
else then write (+1/)
else
hasil =bil/p;
if (a>n)
else then write (-1/)
C++
Raptor
5. Analisis
Untuk menentukan operasi permutasi dan kombinasi dengan memasukan 2 kali inputan . sebagai contoh bilangan 1 = 5 , bilangan 2 = 4 dan rumusnya untuk permutasi :
Algoritma
{ menentukan nilai inputan dari operasi perhitungan permutasi dan kombinasi }
Deklarasi
n, r : integer
a : float (input)
Deskripsi
read(n, r, a)
if (a==1) then write (permutasi)
hasil =faktorial*(n)/faktorial*(n-r)
if (a==2) then write (kombinasi)
hasil =faktorial*(n)/(faktorial*(r)+faktorial*(n-r))
end if
write (permutasi, kombinasi)
C++
Raptor
- Analisis
Algoritma
{Mengkonversi bilangan decimal ke bilangan binner}
Deklarasi
x (int)
b (int) {output}
Deskripsi
read (x)
while (!(x<1))
b = x % 2
b = 0
x = (x-b)/2
write (b)
Uji coba
Masukan Bil Desimal : 2.5
Output : 0 1
C++
RAPTOR
7. Analisis
Untuk membalikan inputan kata misal sebuah nama yang kita inputkan nantinya bisa dibalik urutannya . dapat membuat nya dengan rumus a=strlen(b);a& gt;=0;a– . digunakkan (a — ) karena untuk membalik urutannya. Contoh nya nama : rumah dibalik menjadi : hamur
Algoritma
{membalikkan inputan kata dari urutan awal ke akhir menjadi urutannya dari akhir ke awal}
Deklarasi
Kata : char (input)
Deskripsi
Read(kata)
Char kata[50] then write (permutasi kata)
Masuk (char a[50]) then write (masukkan kata)
Keluar (char b[50]) then write (pembalikkan kata)
For(int a=strlen(b);a>=0;a– )
End char
C++
{ Mencetak Angka 1, .., 4 ke piranti keluaran}
Deklarasi
i : integer
hasil : integer (output)
Deskripsi
for i <- 1 to 4 do
write (i)
end for
write (hasil)
C++
RAPTOR
Algoritma
{Mencetak bilangan ganjil dari 0 sampi 10 ke piranti keluaran}
Deklarasi
i : integer
Deskripsi
for i <- 0 to 10 do
if (i mod 2 == 1) then
write (i)
endif
endfor
C++
RAPTOR
5.3 Carilah rata-rata dari n bilangan bulat positif
Analisis
Rumus rata rata adalah : jumlah data/banyaknya data, dengan xi adalah data ke – i.
Algoritma
{Diberikan n data kemudian dicari rata ratanya}
Deklarasi
i, n, jumlah, x : integer
rata : real
Deskripsi
read(n)
jumlah <- 0
for i <- 1 to n do
rad(x)
jumlah <- jumlah + x
endfor
rata <- jumlah/n
write (rata)
C++
RAPTOR
{Diberkan data bilangan bulat positif kemudian dicari rata ratanya}
Deklarasi
n, jumlah, x : integer
rata : real
Deskripsi
jumlah <- 0
read (x)
n <- 1
while (x>0) do
jumlah <- jumlah + x
read (x)
n <- n + 1
endfor
rata <- jumlah/(n-1)
write (rata)
C++
RAPTOR
5.5 Tentukan nilai dari : 1+1/2+1/3+…+1/n sampai selisih suku tidak lebih dari 0.001. Tentukan pula nilai n terakhir
Algoritma Mencari Jumlah deret
Deklarasi
n, jumlah, x : integer
rata : real
Deskripsi
jumlah <- 0
i <- 1
repeat
jumlah <- jumlah+(1/i)
i <- i+1
selisih <- (1/i) – (1/(i-1))
until abs(selisih) < 0,001
write (jumlah, i)
C++
RAPTOR
5.6 Analisis : mencari n faktorial dengan menggunakan prulangan
Algoritma :
{Dicari n faktorial dengan masukan n}
Deskripsi :
i,n : integer
faktorial : longlint
Deklarasi : read (n)
faktorial =1
for=1 to n do
faktorial=faktorial * i
endfor
write(faktorial)
C++
RAPTOR
5.7 Analisis : user di minta untuk membuat fungsi untuk menghasilkan nilai x pangkat y dengan menggunakan fungsi In dan exp. misal menginputkan x=2 y=2 maka hasilnya = 4
Algoritma :
{menghitung nilai dari x pangkat y}
Deskripsi :
pangkat=exp(y*In(x))
C++
RAPTOR
5.8 Analisis :
user diminta untuk menghitung nilai dari x pangkat y dengan x bilangan real dan y bilangan bulat, dengan menggunakan perulangan.
5.11 Analisis :
{Mengkonversi bilangan decimal ke bilangan binner}
Deklarasi
x (int)
b (int) {output}
Deskripsi
read (x)
while (!(x<1))
b = x % 2
b = 0
x = (x-b)/2
write (b)
Uji coba
Masukan Bil Desimal : 2.5
Output : 0 1
C++
RAPTOR
7. Analisis
Untuk membalikan inputan kata misal sebuah nama yang kita inputkan nantinya bisa dibalik urutannya . dapat membuat nya dengan rumus a=strlen(b);a& gt;=0;a– . digunakkan (a — ) karena untuk membalik urutannya. Contoh nya nama : rumah dibalik menjadi : hamur
Algoritma
{membalikkan inputan kata dari urutan awal ke akhir menjadi urutannya dari akhir ke awal}
Deklarasi
Kata : char (input)
Deskripsi
Read(kata)
Char kata[50] then write (permutasi kata)
Masuk (char a[50]) then write (masukkan kata)
Keluar (char b[50]) then write (pembalikkan kata)
For(int a=strlen(b);a>=0;a– )
End char
C++
RAPTOR
KASUS PERULANGAN
5.1 Cetaklah Bilangan 1 sampai 4 menggunakan perulangan
Algoritma{ Mencetak Angka 1, .., 4 ke piranti keluaran}
Deklarasi
i : integer
hasil : integer (output)
Deskripsi
for i <- 1 to 4 do
write (i)
end for
write (hasil)
C++
RAPTOR
5.1 Cetaklah bilangan ganjil dari 0 sampai 10 menggunakan perulangan.
Algoritma
{Mencetak bilangan ganjil dari 0 sampi 10 ke piranti keluaran}
Deklarasi
i : integer
Deskripsi
for i <- 0 to 10 do
if (i mod 2 == 1) then
write (i)
endif
endfor
C++
RAPTOR
5.3 Carilah rata-rata dari n bilangan bulat positif
Analisis
Rumus rata rata adalah : jumlah data/banyaknya data, dengan xi adalah data ke – i.
Algoritma
{Diberikan n data kemudian dicari rata ratanya}
Deklarasi
i, n, jumlah, x : integer
rata : real
Deskripsi
read(n)
jumlah <- 0
for i <- 1 to n do
rad(x)
jumlah <- jumlah + x
endfor
rata <- jumlah/n
write (rata)
C++
RAPTOR
5.4 Hitunglah rata rata dari bilangan bulat positif, dimana banyak data tentukan dari data yang dimasukan
Algoritma {Diberkan data bilangan bulat positif kemudian dicari rata ratanya}
Deklarasi
n, jumlah, x : integer
rata : real
Deskripsi
jumlah <- 0
read (x)
n <- 1
while (x>0) do
jumlah <- jumlah + x
read (x)
n <- n + 1
endfor
rata <- jumlah/(n-1)
write (rata)
C++
RAPTOR
5.5 Tentukan nilai dari : 1+1/2+1/3+…+1/n sampai selisih suku tidak lebih dari 0.001. Tentukan pula nilai n terakhir
Algoritma Mencari Jumlah deret
Deklarasi
n, jumlah, x : integer
rata : real
Deskripsi
jumlah <- 0
i <- 1
repeat
jumlah <- jumlah+(1/i)
i <- i+1
selisih <- (1/i) – (1/(i-1))
until abs(selisih) < 0,001
write (jumlah, i)
C++
5.6 Analisis : mencari n faktorial dengan menggunakan prulangan
Algoritma :
{Dicari n faktorial dengan masukan n}
Deskripsi :
i,n : integer
faktorial : longlint
Deklarasi : read (n)
faktorial =1
for=1 to n do
faktorial=faktorial * i
endfor
write(faktorial)
C++
RAPTOR
5.7 Analisis : user di minta untuk membuat fungsi untuk menghasilkan nilai x pangkat y dengan menggunakan fungsi In dan exp. misal menginputkan x=2 y=2 maka hasilnya = 4
Algoritma :
{menghitung nilai dari x pangkat y}
Deskripsi :
pangkat=exp(y*In(x))
C++
RAPTOR
user diminta untuk menghitung nilai dari x pangkat y dengan x bilangan real dan y bilangan bulat, dengan menggunakan perulangan.
misal memasukkan x (bilangan real)= 2
memasukkan y (pangkat)=6
maka hasilnya = 64
Algoritma : pangkat
{diberikan masukkan x dan y, hitung nilai dari x pangkat y}
Deklarasi : x,y,i : integer {input}
pangkat : integer {output}
Deskripsi : read(x,y)
pangkat=1
for i=1 to y do
pangkat=pangkat*x
endfor
write(pangkat)
C++
RAPTOR
5.9 Analisis :
user diminta untuk membuat perkalian
bilangan bulat dengan menggunakan operator penjumlahan dan menggunakan
perulangan. misal masukkan nilai = 2, masukkan nilai pangkat = 4, maka
hasilnya = 16
Algoritma :
fungsi kali (input a,b : integer
{menghitung hasil perkalian a dan b menggunakan operator penjumlahan}
Deklarasi :
hasil, i : integer
Deskripsi :
hasil=0
for=1 to b do
hasil=hasil+a
kali=hasil
C++
RAPTOR
user diminta untuk membuat fungsi yang menghitung suku ke-n dari
deret fibonacci menggunakan cara rekrusif, dengan memasukkan deret
fibonacci = 1,1,2,3,5,8. Dan menggunakan perulangan
Algoritma :
{membuat fungsi yang menghitung deret fibonacci sebagai berikut : 1,1,2,3,5,8}
Deklarasi :
n : integer(input)
fibonacci : integer (output)
Deskripsi :
read(n)
if(n=1) or (n=2) then fibonacci = 1
else fibonacci=fibonacci(n-1)+fibonacci(n-2)
write(fibonacci)
Algoritma :
{membuat fungsi yang menghitung deret fibonacci sebagai berikut : 1,1,2,3,5,8}
Deklarasi :
n : integer(input)
fibonacci : integer (output)
Deskripsi :
read(n)
if(n=1) or (n=2) then fibonacci = 1
else fibonacci=fibonacci(n-1)+fibonacci(n-2)
write(fibonacci)
C++
RAPTOR


Komentar
Posting Komentar