Cenadep.org - Mencari Bilangan Prima Dengan Delphi

4
cenadep.org http://www.cenadep.org/2013/11/16/source-code-mencari-bilangan-dengan-delphi/ Source Code Mencari Bilangan Prima Dengan Delphi Bilangan prima adalah bilangan yang dapat dibagi dengan bilangan 1 atau dibagi dengan dirinya sendiri, tanpa menghasilkan sisa pembagian. Contoh bilangan prima adalah: 1, 2, 3, 5, 7, 11, 13, 17, dan seterusnya. Di Delphi, untuk mencari bilangan prima tidak sulit, asalkan dipahami logikanya. Trus bagaimana pula itu logikanya? Begini. Bila kita ingin mengetahui apakah sebuah bilangan adalah bilangan prima atau bukan, ikuti langkah berikut: Kalau angkanya adalah 1, 2 dan 3, itu bilangan prima Kalau angkanya lebih besar dari 3, anggap angka tersebut bilangan prima. Kemudian bagikan angka tersebut dengan setiap angka mulai dari 2 sampai angka sebelum angka yang dicari. Misal yang dicari adalah angka 10, maka bagikan angka tersebut dengan 2 sampai 9. Bila dalam proses pembagian dengan salah satu angka (2 sampai 9) terdapat sisa pembagian, maka angka 10 (yang dicari) tadi bukan bilangan prima. Sedangkan untuk mendapatkan angka-angka yang merupakan bilangan prima di antara batas tertentu, cukup dengan mengulangi dua langkah di atas untuk setiap angka yang berada dalam batasan ditentukan. Contoh, kita diminta menampilkan angka yang merupakan bilangan prima antara 10 sampai 100. Lakukan looping mulai 10 sampai 100 dan cek apakah angka tersebut adalah bilangan prima. Source Code Mencari Bilangan Dengan Delphi Tidak enak kalau tidak pake kode. Untuk mencari bilangan prima dan deretan angka yang merupakan bilangan prima, mari kita mulai dengan sebuah projek baru. Di form utama, tambahkan dua buah TEdit, sebuah TButton dan sebuah TListBox. Lihat gambar: Pertama, buat sebuah fungsi pencari bilangan prima yang merupakan implementasi dari dua langkah logik di atas: 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 function Prima(ANgka:Int eger):Boolean; var i:Int eger; begin if ANgka<0 then Result :=False else if ANgkain [1..3]t hen Result :=True else begin result :=True; for i:=2 to ANgka-1 do Result := Result and ((angkamod i)<>0); end; end; Bila angka yang diinputkan sebagai parameter adalah bilangan prima, f ungsi Prima( ) akan mengembalikan nilai True, sebaliknya, False.

description

Cenadep.org - Mencari Bilangan Prima Dengan Delphi dilengkapi contoh source code.

Transcript of Cenadep.org - Mencari Bilangan Prima Dengan Delphi

Page 1: Cenadep.org - Mencari Bilangan Prima Dengan Delphi

cenadep.o rg http://www.cenadep.org/2013/11/16/source-code-mencari-bilangan-dengan-delphi/

Source Code Mencari Bilangan Prima Dengan Delphi

Bilangan prima adalah bilangan yang dapat dibagi dengan bilangan 1 atau dibagi dengan dirinya sendiri,tanpa menghasilkan sisa pembagian. Contoh bilangan prima adalah: 1, 2, 3, 5, 7, 11, 13, 17, dan seterusnya.

Di Delphi, untuk mencari bilangan prima tidak sulit, asalkan dipahami logikanya. Trus bagaimana pula itulogikanya?

Begini.

Bila kita ingin mengetahui apakah sebuah bilangan adalah bilangan prima atau bukan, ikuti langkah berikut:

Kalau angkanya adalah 1, 2 dan 3, itu bilangan prima

Kalau angkanya lebih besar dari 3, anggap angka tersebut bilangan prima. Kemudian bagikan angkatersebut dengan setiap angka mulai dari 2 sampai angka sebelum angka yang dicari. Misal yang dicariadalah angka 10, maka bagikan angka tersebut dengan 2 sampai 9. Bila dalam proses pembagiandengan salah satu angka (2 sampai 9) terdapat sisa pembagian, maka angka 10 (yang dicari) tadibukan bilangan prima.

Sedangkan untuk mendapatkan angka-angka yang merupakan bilangan prima di antara batas tertentu,cukup dengan mengulangi dua langkah di atas untuk setiap angka yang berada dalam batasan ditentukan.Contoh, kita diminta menampilkan angka yang merupakan bilangan prima antara 10 sampai 100. Lakukanlooping mulai 10 sampai 100 dan cek apakah angka tersebut adalah bilangan prima.

Source Code Mencari Bilangan Dengan Delphi

Tidak enak kalau tidak pake kode. Untuk mencari bilangan prima dan deretan angka yang merupakanbilangan prima, mari kita mulai dengan sebuah projek baru. Di f orm utama, tambahkan dua buah TEdit,sebuah TButton dan sebuah TListBox. Lihat gambar:

Pertama, buat sebuah fungsi pencari bilangan prima yangmerupakan implementasi dari dua langkah logik di atas:

0001000200030004000500060007000800090010001100120013001400150016

function Prima(ANgka:Integer):Boolean;var i:Integer;begin if ANgka<0 then Result :=False else if ANgkain [1..3]then Result :=True else begin result :=True; for i:=2 to ANgka-1 do Result := Resultand ((angkamod i)<>0); end;end;

Bila angka yang diinputkan sebagai parameter adalah bilanganprima, f ungsi Prima( ) akan mengembalikan nilai True,sebaliknya, False.

Page 2: Cenadep.org - Mencari Bilangan Prima Dengan Delphi

Kedua, buat event onClick dari Button1 yang berisi looping (pengulangan) untuk mencari deretanbilangan prima jika ditentukan batasan-batasannya:

00010002000300040005000600070008000900100011001200130014001500160017001800190020002100220023

procedure TForm1.Button1Click(Sender: TObject);var i, start , finish:Integer;begin ListBox1.Clear; start := StrToIntDef(Edit1.Text,1); finish := StrToIntDef(Edit2.Text,20); if start>=finishthen begin ShowMessage('Batas bawah harus lebih kecil dari batas atas!'); exit ; end; ListBox1.Items.BeginUpdate; try for i:= startto finishdo if Prima(i)then ListBox1.Items.Add(IntToStr(i)); finally ListBox1.Items.EndUpdate; end;end;

Ingat, setiap angka dalam looping akan di- looping lagi dari angka 2 sampai (angka tersebut)-1, jadi janganmemasukkan angka terlalu besar sebagai batas.

Kode selengkapnya seperti berikut:

000100020003000400050006000700080009001000110012001300140015001600170018001900200021002200230024002500260027002800290030

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 =class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; ListBox1: TListBox; procedure Button1Click(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.dfm} function Prima(ANgka:Integer):Boolean;

Page 3: Cenadep.org - Mencari Bilangan Prima Dengan Delphi

00310032003300340035003600370038003900400041004200430044004500460047004800490050005100520053005400550056005700580059006000610062006300640065006600670068006900700071

var i:Integer;begin if ANgka<0 then Result :=False else if ANgkain [1..3]then Result :=True else begin result :=True; for i:=2 to ANgka-1 do Result := Resultand ((angkamod i)<>0); end;end; procedure TForm1.Button1Click(Sender: TObject);var i, start , finish:Integer;begin ListBox1.Clear; start := StrToIntDef(Edit1.Text,1); finish := StrToIntDef(Edit2.Text,20); if start>=finishthen begin ShowMessage('Batas bawah harus lebih kecil dari batas atas!'); exit ; end; ListBox1.Items.BeginUpdate; try for i:= startto finishdo if Prima(i)then ListBox1.Items.Add(IntToStr(i)); finally ListBox1.Items.EndUpdate; end;end; end.

Sekarang silahkan jalankan projeknya.

Bila t idak ada yang salah dalam pengetikan kode, berarti kita sudah mempunya sebuah program pencaribilangan prima dalam rentang batas tertentu.Source code untuk mencari bilangan prima dengan Delphi ini t idak saya siapkan untuk di-download karenacukup pendek dan mudah.

Berikut contoh tampilan projek di atas saat dijalankan:

Semoga bermanf aat. Viva Delphier

Page 4: Cenadep.org - Mencari Bilangan Prima Dengan Delphi