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
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
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
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)
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)
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)
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)
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)
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.
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