Desain algorithma cara mencari bilangan prima
- Start
- Masukkan Input
- Check inputan, jika input = interger (angka) lanjut ke step selanjutnya jika tidak kembali ke step 1 (pertama)
- 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).
- Memisalkan variable x dengan angka 3 ( x = 3 )
- 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 - 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. - input hasil proses tadi jika = X maka inputannya merupakan Bilangan Prima. Bila tidak sama dengan X maka Bukan 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);
}
}
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
- Start
- Masukkan Input
- Check inputan, jika input(N) = interger (angka) lanjut ke step selanjutnya jika tidak kembali ke step 1 (pertama)
- Jika input(N) = 0 maka nilai faktorial = 1.
Jika tidak sama dengan 0 dilanjutkan ke step berikutnya. - Dibuat permisalan F merupakan Input(N) dan M = 1.
- Dinyatakan rumus F = F * M
- Apakah nilai M = Nilai Input(N) jika tidak dilakukan proses M = M +1, sampai nilai nya sama dengan input(N).
- Jika nilai M = nilai input(N), maka Nilai F dicetak
- end
/**
*
* @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