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&gt;n))
if (p % 2==0)
hasil =-1*(bil/p);
if (a&gt;n)
else then write (+1/)
else
hasil =bil/p;
if (a&gt;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
  1. Analisis  
   Untuk mengkonversi bilangan desimal ke biner adalah dengan cara membaca bilangan desimal yang akan di konversi, bagi bilangan desimal dengan 2, karena biner merupakan bilangan berbasis 2, apakah bilangan  mod 2 ada sisa ? jika tidak tulis 0 jika ada sisa tulis 1, bagi bilangan desimal sampai habis, setelah itu hasil dari mod tadi di baca dari bawah maka akan didapat hasil binernya
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&gt;=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++
 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.
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

5.11 Analisis :
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)

C++

RAPTOR 
 


Komentar