Sabtu, 01 April 2017

WORKSHOP MINGGU KE-5




1. Mencetak bilangan 1-4 dengan menggunakan downto

Analisis:
Mendapatkan hasil dari bilangan tersebut,menggunakan rurus seperti jika kita masukan nilai 5maka hasil yang akan keluar 5-1=4.

Algoritma:
{Menentukan hasil dari bilangan 1 sampai 4 dengan downto}
Deklarasi:
b=integer
Deskripsi:
read(b)
while ( while (!(b<=1) then
      cout << b;  
b =b-1;
write(b)
end






2. Buatlah translasi dalam bahasa C untuk algoritma 4.5. Apakah perlu modifikasi algoritma.

Analisis: menampilkan hari dengan memasukan angka, jika memasukan angka 1 akan menampilkan hari senin dan seterusnya.
Algoritma: tampil_hari {menampilkan hari menggunakan inputan angka}
Deklarasi:
Angka = int
Hari = char
Deskripsi:
Read (angka)
Switch (hari)
Case 1 : ‘hari senin’
Case 2 : ‘hari selasa’
Case 3 : ‘hari rabu’
Case 4 : ‘hari kamis’
Case 5 : ‘hari jum’at’
Case 6 : ‘hari sabtu’
Case 7 : ‘hari minggu’
Default : ‘kode salah’












3. Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5 antara 1-100

Analisis : menampilkan bilangan 1- 100 yang habis dibagi 3 dan 5 dengan menggunakan rumus a%3=0 && a%5=0

Algoritma : hasil_bagi { menampilkan hasil bilangan yang habis dibagi 3 dan 5}

Deklarasi :
A=int (inputan)
Hasil= int (outputan)

Deskripsi :
Read (a)
While a<=100
If (a%3==0 && a%5==0) then write ‘hasil’
a=a+1
endif







4. Hitunglah nilai 1-1/2+1/3-1/4+...+1/n

 Analisis : menghitung operasi pecahan dengan menggunakan operasi penjumlahan

Algoritma : jumlah_deret { mengoutpukan hasil penjumlahan pecahan }

Deklarasi :
Float = total,a,bil (inputan )
Float = hasil (output)

Deskripsi :
Read (n)
Bil=1
P=1
Total=0
Hasil=0
While (p>n)
If (p%2=0) then write ‘hasil= ‘ bil/p
Else (hasil = bil/p) then write ‘total = ‘ ,total +hasil
Write(total)







5. Buatlah algoritma dan program untuk menghitung nilai dari permutasi dan kombinasi n buah bola yang diambil r bola.








6. Buatlah algoritma untuk mengkonversi bilangan desimal menjadi bilangan biner.

    Analisis : mengkonversikan bilangan desimal menjadi bilangan biner dengan menggunakan operasi modulo dan pembagian

Algoritma : desima_biner { mengkonversi bilangan desimal ke biner}

Deklarasi :
Int = b,x
Int =hasil

Deskripsi :
Read (x)
While (x<1)
B=x%2
X=(x-b)/2
Write (b)











7. Buatlah algoritma, flowchart dan program untuk menampilkan permutasi dari 3 huruf.

  Analisis : menampilkan permutasi dengan menggunakan masukkan 3 huruf

Algoritma : permutasi { menginputkan 3 huruf lalu menampilkan permutasi}

Deklarasi :
Int = a
Deskripsi :
Read (a)
For (a=strlen(b), a>=0, a--) write b[a]
Endfor  









Kasus Bab 5

Kasus 5.1. 
Mencetak bilangan 1 sampai 4 merupakan perulangan

Analisis: mencetak bilangan 1 sampai 4 dengan menggunakan perulangan agar bilangan muncul dengan sendirinya sebelum kondisinya  terpenuhi maka perulangan akan teteap berjalan.
Algoritma: ceak_angka {mencetak angka 1,2,3,4 ke piranti pengeluaran}

Deklarasi:
i : integer (inputan)
Deskripsi:
Read(i)
For a ß 1 to 4 do
Write(i)
End for

Raptor 



C++





Kasus 5.2 
Mencetak bilangan ganjil dari 0-10 menggunakan perulangan
Analisis: mencetak bilangan ganjil dari 0 sampai 10 meggunakan  pembagian modulo agar sisa hasil baginya diketahui. Jika sisa hasil baginya adalah 0 maka bilangan tersebut adalah bilangan genap. Jika sisa hasil baginya adalah 1 maka bilangan itu adalah bilangan ganjil.
Contoh:Input 5 à 5%2 =1 write ‘ganjil’
                Input  6 à 6%2=0 write ‘genap’
                Input 7à 7%2=1 write ‘ganjil’
                Input 9à 9%2=1 write ‘ganjil’

Algoritma : ganjil_genap{mencetak bilangan ganjil genap dalam jangkauan 1 sampai 10 ke piranti pengeluaran}

Deklarasi:
I : integer(inputan)

Deskripsi:
Read (i)
For I ß 0 to 10 do
 If (I mod 2=1)then
Write (i)
End if
End for


Raptor



C++



Kasus 5.3 
Carilah rata-rata dari n bilangan bulat positif

Analisis : mencari rata-rata dari n bilangan bulat positif dengan menggunakan rumus sigma yaitu jumlah data dibagi dengan banyaknya data, dengan xi adalah data ke-i.

Algoritma: mencari-ratarata{menginputkan data ke n lalu mecari rata-rata nya menggunakan rumus rata-rata}

Deklarasi:
I,n,jumlah,x : integer (inputan)
Rata :real (outputan)

Deskripsi:
Read(n)
Jumlahß 0
For iß1 to n do
Read (x)
Jumlah ß jumlah +x
End for
Rataß jumlah/n
Write (rata)

Raptor






C++







Kasus 5.4
 Hitunglah rata-rata dari bilangan bulat positif, dimana banyak data ditentukan dari data yang dimasukkan.

Analisis: menghitung rata-rata bilangan bulat positif , dimana banyak data ditentukan dari data yang dimasukkan . penyelesaiannya menggunakan rumus rata-rata bilangan lalu mengoutputkan hasilnya ke piranti outputan.

Algoritma: mecari rata-rata{diberikan data bilangan bulat positif kemudian dicari rata-ratanya}

Deklarasi:
N,jumlah,x : integer(inputan)
Rata : real (outputan)

Deskripsi:
Jumlahß 0
Read (x)
While <x>0) do
Jumlahß jumlah +x
Read(x) nßn +1
End for
Rataßjumlah/(n-1)
Write (i)


Raptor




C++





Kasus 5.5
 Tentukan nilai dari 2 buah selisih suku tidak lebih dari 0.001. tentukan pula nilai n terakhir.
Analisis:  menentukan nilai dari jumlah sigma yang tidak diketahui nilai n nya sampai seisi 2 suku tidak lebihdari 0.001 dan juga menentukan pula nilai n terakhirnya. Memnggunakan rumus deretan kita bisa menyelesaikan soal tersebut.

Algoritma: mecari_jumlahderet{mencari jumlah deret dengan menggunakan rumus deretan dan mengoutputkan hasilnya kepiranti output}

Deklarasi:
N : integer (inputan)
Jumlah,I : integer (outputan)

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)


Raptor




C++






Kasus 5.6
Carilah nilai dari n! (n faktorial)
Analisis; mencari nilai faktorial dari bilangan yang diinputkan oleh pengguna denga cara menggunakan rumus factorial dengan memasukkan n terlebih dahulu.

Algoritma: mencari _n_faktorial{mencari factorial dengan mengunakan rumus factorial dengan menginputkan n telebih dahulu lalu mengoutputkannya ke piranti output}

Deklarasi:
I,n : integer (inputan)
Factorial : longint (output)

Deskripsi :
Read(n)
Factorial ß1
 For iß1 to n do
Factorial ßfaktorial*i
End for
Write(factorial)


Raptor



C++






Kasus 5.7
 Dengan menggunakan fungsi ln dan exp, buatlah fungsi untuk menghsilkan nilai x pangkat y.

Analisis: menampilkan nilai x^y dengan sifat  algoritma yang kita ketahui yaitu ln dan exp. Dengan menginputkan nilai x dan nilai y terlebih dahulu untuk di proses oleh computer.

Algoritma: pangkat{menghitung nilai dari x pangkat y}

Deklarasi:
X, y : integer (inputan)
Hasil : integer (outputan)

Deskripsi:
Read (x,y)
Pangkat ß exp(y*ln(x))
Weite(hasil)


Raptor


C++






Kasus 5.8
Menghitung nilai dari x pangkat y dengan x bilangan real yan y bilangan bulat.

Analisis: menghitung nilai dari x pangkat y dengan x bilangan real dan y adalah bilangan bulat .dengan cara mengalikan x dengan y kali .

Algoritma: pangkat { memasukkan nilai x dan nilai y lalu menghitung y ada berapa untuk mengalikan x sebanyak y kali}

Deklarasi:
X,y,i : integer (inputan)
Pangkat : integer (outputan )

Deskripsi:
Read (x,y)
Pangkat ß1
For iß 1 to y do
Pangkat ßpangkat *x
Enfor
Write (pangkat)



Raptor



C++






Kasus 5.9 
Buatlah fungsi perkalian 2 bilanan bulat dengan menggunakan operasi penjumlahan

Analisis: membuat perkalian bilangan bulat dengan mengunakan fungsi  penjumlahan dengan cara mengunakan perulangan  yaitu mengulang a sebanyak b kali agar fungsinya sama seperti perkalian.

Algoritma: perkalian_penjumlahan{menginputkan nilai untuk diolah sebagai operasi perkalian dengan menggunkan fungsi penjumlahan}

Deklarasi:
I : integer(inputan )
Hasil : integer (output)

Deskripsi:
Read(i)
Hasilß0
For iß 1 to b do
Hasilß hasil +a
Kali ß hasil
Write (hasil)



Raptor






C++




Kasus 5.9 
Buatlah fungsi perkalian 2 bilangan bulat dengan menggunakan operator penjumlahan


Raptor


C++






Kasus 5.11

Diberikan deret Fibonnaci sebagai berikut :
1,1,2,3,5,8,...
Buatlah fungsi yang menghitung suku ke-n dari deret Fibonacci dengan menggunakan cara rekursif.


Raptor











Tidak ada komentar:

Posting Komentar