Senin, 07 November 2011

cara Menghitung faktorial


Desain algorithma cara mencari bilangan prima 
  1. Start
  2. Masukkan Input
  3. Check inputan, jika input = interger (angka) lanjut ke step selanjutnya jika tidak kembali ke step 1 (pertama)
  4. Check inputan apakah inputan lebih dari sama dengan 2 ( input <= 2 ), jika <= 2 maka ke step selanjutnya. jika tidak maka kembali ke step awal (1).
  5. Memisalkan variable x dengan angka 3 ( x = 3 )
  6. Inputan di Modulus dengan nilai x ( input Mod x )
    Untuk mengetahui bahwa suatu bilangan bisa dibagi atau tidak, paling mudah menggunakan bantuan mod, yang menyatakan sisa hasil bagi. Jika sisa hasil bagi 0 berarti bisa dibagi
  7. Jika sisa hasil bagi = 0 berarti di looping dengan menambahkan X dengan 1 kemudian di Modulus dengan nilai X yang baru.
    Jika sisa hasil bagi tidak sama dengan 0 maka di lanjutkan ke step berikutnya.
  8. input hasil proses tadi jika = X maka inputannya merupakan Bilangan Prima. Bila tidak sama dengan X maka Bukan Bilangan Prima
Source Code bilangan prima :
package daa;

import javax.swing.JOptionPane;
public class Prima {

static boolean prima(int p) {
boolean b = true;

if(p < 2) b = false;

if(p > 2) {
for(int i = 2; i <= (p / 2); i++) {
if(p % i == 0) {
b = false;
break;
}
}
}
return b;
}

public static void main(String[] args) {
String numStr = JOptionPane.showInputDialog("Masukkan bilang integer:");
int numInt = Integer.parseInt(numStr);
String cek = "Bilangan Prima";

if(!prima(numInt)) cek = "Bukan Bilangan Prima";

JOptionPane.showMessageDialog(null, numStr + " adalah\n" + cek);
}
}




 

Desain Algoritma mencari Nilai Faktorial
  1. Start
  2. Masukkan Input
  3. Check inputan, jika input(N) = interger (angka) lanjut ke step selanjutnya jika tidak kembali ke step 1 (pertama)
  4. Jika input(N) = 0 maka nilai faktorial = 1.
    Jika tidak sama dengan 0 dilanjutkan ke step berikutnya.
  5. Dibuat permisalan F merupakan Input(N) dan M = 1.
  6. Dinyatakan rumus F = F * M
  7. Apakah nilai M = Nilai Input(N) jika tidak dilakukan proses M = M +1, sampai nilai nya sama dengan input(N).
  8. Jika nilai M = nilai input(N), maka Nilai F dicetak
  9. end
source kode nilai faktorial
import javax.swing.*;
/**
 *
 * @author Administrator
 */
public class faktorial {



public static void main(String[]args) {

int hasil=1;

int f=Integer.parseInt(JOptionPane.showInputDialog("Masukkan Input : "));

for(int i=1;i<=f;i++)

{

hasil=hasil*i;

if(f !=i)

System.out.print(i+"x");

else

System.out.print(i+" = ");

}

JOptionPane.showMessageDialog(null,"Hasil dari "+f+"! adalah "+"!"+hasil+"!");

System.exit(0);
}
}
PENJELASAN PROGRAM :
Pada program faktorial ini terdapat 3 buah variabel, yakni variabel ’hasil’, variabel ’i’, dan variabel ’fak’. Variabel i digunakan sebagai batasan dari simbol faktorial. Pada tiap tahapan proses variabel ’i’ ini nilainya akan bertambah 1. variabel ’hasil’ digunakan sebagai hasil yang akan diberikan terhadap faktorial. Sedangkan variabel ’fak’ digunakan sebagai definisi dari variabel angka yang ingin diketahui hasil faktorialnya berdasarkan inputan user.

Variabel ’hasil’ diberikan nilai awal = 1, kemudian variabel ’fak’ digunakan sebagai pendefinisian variabel dari angka yang diinput user. Faktorial terjadi dalam kondisi perulangan ’for(int i=1;i<=fak;i++)’. Hal ini berarti nilai ’i’ dengan harga awal = 1, kemudian program memberikan kondisi apakan nilai ’i’ <= variabel ’fak’ atau tidak, jika ’i’ <= ’fak’, maka nilai ’i’ akan bertambah ’1’. Kemudian variabel ’fak’ didefinisikan sebagai faktorial (!) dari variabel i. Jika ’fak’ ! =i, maka program akan mencetak ”x” dibelakang variabel ’i’, selain itu program akan mencetak ”=”. Kemudian akan menampilkan cetakan berupa ”Hasil dari ’fak’! adalah ’hasil’”. Adapun untuk logika penjabaran program di atas dapat dijabarkan sebagai berikut.
Misalnya kita akan mencari hasil faktorial dari 4, maka diberikan nilai awal dari ’hasil’ = 1 dan nilai awal ’i’ = 1, dan ’fak’ =4. Maka :
- hasil = 1, fak = 4, i =1,
i<=fak?? (’i’ lebih kecil atau sama dengan ’fak’ atau tidak?) → 1<4
jika ya, maka variabel i akan bertambah 1
hasil = ’hasil’*’i’
→ hasil = 1 * 1 =1,
Jika ’fak’ !=’i’  maka print (’i’+”x”) → 1x
Untuk selanjutnya nilai i akan bertambah 1 menjadi i=2
- i = 2, hasil = 1, fak = 4
i<=fak?? (’i’ lebih kecil atau sama dengan ’fak’ atau tidak?) → 2<4
jika ya, maka variabel i akan bertambah 1
hasil = ’hasil’*’i’
→ hasil = 1 * 2 =2,
Jika ’fak’ !=’i’ maka print (’i’+”x”) → 1x2x
Untuk selanjutnya nilai i akan bertambah 1 menjadi i=3
- i =3, hasil = 2, fak = 4
i<=fak?? (’i’ lebih kecil atau sama dengan ’fak’ atau tidak?) → 3<4
jika ya, maka variabel i akan bertambah 1
hasil = ’hasil’*’i’
→ hasil = 2 * 3 =6,
Jika ’fak’ !=’i’ maka print (’i’+”x”) → 1x2x3x
Untuk selanjutnya nilai i akan bertambah 1 menjadi i=4
- i = 4, hasil = 6, fak = 4
i<=fak?? (’i’ lebih kecil atau sama dengan ’fak’ atau tidak?) → 4=4
karena i=fak maka variabel i tidak bertambah
hasil = ’hasil’*’i’
→ hasil = 6 * 4 =24,
Jika ’fak’ !=’i’ maka print (’i’+”x”), selain itu print(’i’+”=”) → 1x2x3x4=
- hasil = 24
Untuk selanjutnya program akan mencetak tampilan berupa ”Hasil dari ’+fak+’! adalah ’+hasil’” Oleh karena itu program tersebut akan memberikan output berupa ”1x2x3x4=Hasil dari 4! adalah 24”.


Tidak ada komentar:

Posting Komentar