Program Bilangan Prima

Dasar Pemikiran
Bilangan prima adalah bilangan yang lebih besar dari angka satu dan hanya bisa dibagi dengan angka satu dan dirinya sendiri untuk mendapatkan hasil bagi yang tidak berupa angka pecahan. Berarti ada dua hal yang harus diperiksa dalam eksekusinya:

  1. Apakah lebih besar dari angka 1 
  2. Apakah punya pembagi lain diluar dirinya dan angka 1, yang menghasilkan bilangan bukan pecahan
Algoritma
Masukkan jangkuan bilangan yang akan dicetak
Periksa apakah bilangan tersebut valid dengan melihat batas bawah dan atas (harus lebih besar dari 1)
Cetak hasilnya di Tmemo

Program
  1. Letakkan satu TMemo,  dua TLabel, satu Tedit dan  satu TButton pada form seperti gambar berikut:


    1. Pada FormCreate tulis kode berikut:
      procedure TForm1.FormCreate(Sender: TObject);
      begin
          //mengosongkan kotak entry dan memo
         edit1.Clear;
         edit2.Clear;
         memo1.Clear;

      end;
    1. Pada tombol kerjakan tulis kode berikut untuk memeriksa keabsahan data:

      //periksa keabsahan data
      if trim(edit1.Text) = EmptyStr then
      begin
          ShowMessage('Harus diisi angka');     edit1.SetFocus;
           exit;
      end else    if trim(edit2.Text) = EmptyStr then
      begin
           ShowMessage('Harus diisi angka');     edit2.SetFocus;
           exit;
      end else
      if StrToInt(trim(edit1.Text)) <= 1  then
      begin
           ShowMessage('Angka harus lebih besar dari 1');
           edit1.SetFocus;
            exit;end else
      if StrToInt(trim(edit2.Text)) <= 1  thenbegin
           ShowMessage('Angka harus lebih besar dari 1');
           edit2.SetFocus;     exit;
       end;

    2. Pada tombol kerjakan tulis kode berikut untuk memeriksa apakah angka tersebut prima atau tidak:      

      atas := StrToInt(edit1.Text);
      bawah := StrToInt(edit2.Text);

      for x:= atas to bawah do
      begin
          keluar := false;
          pembagi := 2;
          Jumlah := 0;
      {============================================
      test masing-masing angka.
      Apakah mempunyai pembagi lebih dari 2 faktor
      =============================================}
      repeat
          //bilangan yang dapat dibagi dengan hasil bulat dapat diperiksa dengan
          //melihat hasil pembagiannya. Jika hasil pembagiannya nol berarti
          //bilangan tersebut bukan pecahan
          if (x mod pembagi) = 0 then
               inc(Jumlah);
              //jika lebih bilangan pembagi yang dapat membaginya lebih dari 2
              //berarti sudah pasti bukan prima
          if pembagi >= x then
               keluar := not keluar
          else
               inc(pembagi);
      until keluar;
      {================================================
      //karena menghitung mulai dari 2, bukan dari 1,
      //maka hanya dicek jumlah = 1
      //Angka 1 tidak perlu diperiksa karena hasilnya sudah pasti
      ================================================}
      if Jumlah = 1 then memo1.Lines.Add(IntToStr(x));
      end;

    Download Kode Program

    Program Bilangan Prima Rating: 4.5 Diposkan Oleh: Good Dreamer

    0 comments:

    Posting Komentar

    Diberdayakan oleh Blogger.