Selasa, 24 Januari 2012

revisi bilangan prima

Source Code Bilangan prima revisi
package majudaa;

import javax.swing.JOptionPane;

public class prima {
 private int input;

 public int getData() {
return input;
}

public void setData(int Data) {
this.input = Data;
}
public boolean BilGenap(){
if (this.input % 2 == 0){
return true;
}else {
return false;}
}
public boolean BilPrima(){
int status = 0;
for (int y = 1; y <= this.input; y++){
if (this.input % y == 0){
status++;
}
}
if (status == 2){
return true;}
else return false;
}
public static void main(String[] args) {
prima it = new prima();
boolean open=false;
int dataIn=0;
String angka="";
while (!open) {
try {
int msgType1= JOptionPane.QUESTION_MESSAGE;
angka = JOptionPane.showInputDialog(null,"Masukkan inputan yang akan di analisa : ","Tugas DAA",msgType1);
dataIn = Integer.parseInt(angka);
//int angka = s.nextInt();
it.setData(dataIn);
open=true;
} catch (Exception e) {JOptionPane.showMessageDialog(null,"Data inputan tidak valid atau inputan bukan bilangan");
}}
if (it.BilGenap()&&it.BilPrima()){
JOptionPane.showMessageDialog(null,"Bilangan "+it.getData()+" merupakan bilangan genap dan bilangan prima");
}
else if (!it.BilGenap()&&it.BilPrima()){
JOptionPane.showMessageDialog(null,"Bilangan "+it.getData()+" merupakan bilangan ganjil yang prima");
}else if (it.BilGenap()&&!it.BilPrima()){
JOptionPane.showMessageDialog(null,"Bilangan "+it.getData()+" merupakan bukan bilangan ganjil dan bukan bilangan prima");}
else if (!it.BilGenap()&&!it.BilPrima()){
JOptionPane.showMessageDialog(null,"Bilangan "+it.getData()+" merupakan bilangan ganjil bukan prima");
}}}

flowchart























maka outputnya sebagai berikut :







Source Code Faktorial Revisi


package daa;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class uts_2 {

      public static void main (String [] args){
            //initialisasi variabel
            String angka[]={"0","1","2","3","4","5","6","7","8","9"};
            String inputan="";
            String cetak="";
            char chr=' ';
            boolean input_ok=false;
            boolean proses_1=false;
            boolean proses_2=false;
            int m=1;
            int hasil=1;
            //

        //objek buffered reader untuk inputan
        InputStreamReader keyreader=new InputStreamReader(System.in);
        BufferedReader input=new BufferedReader(keyreader);
        //end objek

        while(!input_ok){
        try {
       System.out.print("Masukkan Nilai  = " + "" + "");
        inputan=input.readLine();
        if (inputan.length()==2)
            input_ok=true;
        else input_ok=false;
          } catch (Exception e) {

          }
        }
       //
       for (int i=0;i<angka.length;i++){
           chr=inputan.charAt(0);
              if (chr==angka[i].charAt(0))
               proses_1=true;
       }
        //

        if (proses_1){
        chr=inputan.charAt(1);
        if (chr=='!')proses_2=true;else proses_2=false;
        }

        if (proses_1 & proses_2){
            m=Integer.valueOf(String.valueOf(inputan.charAt(0)));
        for(int i=m;i>=1;i--){
        hasil=hasil*i;

        if (1<i)
        cetak=cetak+i+"! x ";
        else
        cetak=cetak+i+"! ";

        }
     
        System.out.println(m +"! "+"="+" " +" "+cetak );
        System.out.println(m +"! "+ "="+" " +hasil+"" );

        }


        if (!proses_1)
          System.out.println("Output ->Bukan Bilangan dan bukan lambang perhitungan Faktorial");
        else if (proses_1 & !proses_2)
          System.out.println("Output ->Bukan lambang perhitungan Faktorial karena "+ chr);


      }

}
























flowchart





Rabu, 09 November 2011

Algoritma untuk mencari bilangan faktorial

Tracing
  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

Berikut flowchart nya




Berikut coding nya

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package faktorial;

/**
 *
 * @author yellow
 */

import java.io.*;

class faktorial
{
public static void main(String[] args)throws Exception
{
InputStreamReader key = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(key);

String n;
int i,j,k=1;

System.out.print("Masukkan Nilai =  ");
n=input.readLine();

j=Integer.parseInt(n);
System.out.print(j +" "+"!=");
for(i=j;i>=1;i--)
{
System.out.print(i);
if(i>1)
System.out.print("x");
k=k*i;
}
System.out.print("\n");
System.out.println(j+ " " +"!="+" "+k);





{
    }}
}

Algoritma untuk mencari bilangan prima

Tracing
  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. Kemudian inputan di modulus dengan 2, jika sisa hasil bagi 0 merupakan bilangan genap jika terdapat sisa bilangan ganjil. setelah itu ke step berikutnya.
  6. Memisalkan variable x dengan angka 2 ( x = 2 )
  7. 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
  8. 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.
  9. input hasil proses tadi jika tidak sama dengan X maka inputannya merupakan Bilangan Prima. Bila sama dengan X maka Bukan Bilangan Prima
  10. Selesai


Berikut Flowchart nya



Berikut coding nya

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package prima;

/**
 *
 * @author yellow
 */

import javax.swing.JOptionPane;



public class prima {
    private static int i;

static boolean prima(int n) {
boolean b = true;
i=0;
if(n < 1) b = false;

if(n > 1) {
for(int i = 2; i <=(n / 2); i++) {
if(n % 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 = " Benar, Bilangan Ganjil dan Prima";
if(!prima(numInt)) cek = "Bukan Prima dan Bukan Ganjil";
JOptionPane.showMessageDialog(null, numStr + "\n" + cek);
}
}





Kamis, 20 Oktober 2011

Pengertian Algoritma

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.

Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :

1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.