Menampilkan Bilangan Genap Ganjil dan Prima dengan Delphi

Posted by

Akhirnya gue mau posting nih program sederhana untuk menampilkan bilangan Genap, Ganjil, dan Prima menggunakan Delphi7. Meskipun udah banyak sih postingan seperti ini, gue hanya sekedar mendokumentasikan, kali aja ada yang membutuhkan. Postingan ini terinspirasi dari soal ujian waktu gue melamar pekerjaan disuatu perusahaan sebagai Staff IT. Soalnya cukup mudah sih, cuman menampilkan bilangan Genap, Ganjil dan Prima dari 1 sampai 100 dengan bahasa pemrograman yang dikuasai. Karena gue bisanya delphi ya gue jawab dengan delphi. Hahaha... :D

Tapi kali ini gue buat yang lebih fleksibel, jadi bisa dari 1 sampai berapapun yang diinginkan. Oke langsung saja buatlah desain seperti gambar di bawah :


Kemudian tambahkan procedure pada bagian TYPE :

type

    procedure Genap;

    procedure Ganjil;

    procedure Prima;

  private

    { Private declarations }

  public

    { Public declarations }

  end;

Selanjutnya buat procedure pada bagian IMPLEMENTATION :

implementation



{$R *.dfm}



// BILANGAN GENAP ======================================


procedure TForm1.Genap;

var a,b : Integer;

BEGIN

b := StrToInt(Edit2.Text);

for a := StrToInt(Edit1.Text) to b do

  begin

    if a mod 2 = 0 then Memo1.Lines.Add(IntToStr(a));

  end;

    Memo1.lines.Add('Bilangan Genap');

END;


// BILANGAN GANJIL ====================================


procedure TForm1.Ganjil;

var a,b : Integer;

BEGIN

b := StrToInt(Edit2.Text);

for a := StrToInt(Edit1.Text) to b do

  begin

    if a mod 2 <> 0 then Memo2.Lines.Add(IntToStr(a));

  end;

    Memo2.lines.Add('Bilangan Ganjil');

END;


// BILANGAN PRIMA =====================================


procedure TForm1.Prima;

var a,b,j,k,l : Integer;

BEGIN

b := StrToInt(Edit2.Text);

for a := StrToInt(Edit1.Text) to b do

  begin

    j:=0;

      for k:=1 to a do

        begin

          l:= a mod k;

          if l=0 then j:=j+1

        end;

      if j=2 then Memo3.Lines.Add(IntToStr(a));

  end;

  Memo3.Lines.Add('Bilangan Prima');

END;

Untuk memanggil procedure pada event Button Start Click ( Button1Click ) :

procedure TForm1.Button1Click(Sender: TObject);

begin


if (Edit1.Text = '') or (Edit2.Text = '') then

  begin

  ShowMessage('Nilai diisi dulu');

  Edit1.SetFocus;

  Exit;

  end;

Memo1.Lines.Clear;

Memo2.Lines.Clear;

Memo3.Lines.Clear;

Genap;

Ganjil;

Prima;

end;

Source Code Lengkap :

unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;



type

  TForm1 = class(TForm)

    Button1: TButton;

    Memo1: TMemo;

    Memo2: TMemo;

    Memo3: TMemo;

    Button2: TButton;

    Edit1: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    Edit2: TEdit;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Genap;

    procedure Ganjil;

    procedure Prima;

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



// BILANGAN GENAP ======================================


procedure TForm1.Genap;

var a,b : Integer;

BEGIN

b := StrToInt(Edit2.Text);

for a := StrToInt(Edit1.Text) to b do

  begin

    if a mod 2 = 0 then Memo1.Lines.Add(IntToStr(a));

  end;

    Memo1.lines.Add('Bilangan Genap');

END;


// BILANGAN GANJIL ====================================


procedure TForm1.Ganjil;

var a,b : Integer;

BEGIN

b := StrToInt(Edit2.Text);

for a := StrToInt(Edit1.Text) to b do

  begin

    if a mod 2 <> 0 then Memo2.Lines.Add(IntToStr(a));

  end;

    Memo2.lines.Add('Bilangan Ganjil');

END;


// BILANGAN PRIMA =====================================


procedure TForm1.Prima;

var a,b,j,k,l : Integer;

BEGIN

b := StrToInt(Edit2.Text);

for a := StrToInt(Edit1.Text) to b do

  begin

    j:=0;

      for k:=1 to a do

        begin

          l:= a mod k;

          if l=0 then j:=j+1

        end;

      if j=2 then Memo3.Lines.Add(IntToStr(a));

  end;

  Memo3.Lines.Add('Bilangan Prima');

END;



procedure TForm1.Button1Click(Sender: TObject);

begin



if (Edit1.Text = '') or (Edit2.Text = '') then

  begin

  ShowMessage('Nilai diisi dulu');

  Edit1.SetFocus;

  Exit;

  end;


Memo1.Lines.Clear;

Memo2.Lines.Clear;

Memo3.Lines.Clear;


Genap;

Ganjil;

Prima;

end;


procedure TForm1.Button2Click(Sender: TObject);

begin

Memo1.Lines.Clear;

Memo2.Lines.Clear;

Memo3.Lines.Clear;

Edit1.Clear;

Edit2.Clear;

Edit1.SetFocus;

end;



end.

Hasil Screenshot Program :


Program + Source Code dapat di download di SINI


Blog, Updated at: 9:05 PM

2 comments: