Rabu, 17 Juni 2015

TUGAS DERET

sebelumnya saya minta maaf karna saya lupa tugas deret tinggal 1 , tapi kali ini saya akan share mengenai tugas deret tersebut

listing 1

berikut skripnya supaya lebih jelas:
  • unit deret;


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function deret(x:integer):integer;
  end;

var
  Form1: TForm1;
  hasil:integer;
  D:real;

implementation

{$R *.dfm}

function TForm1.deret(x:integer):integer;
var
  i:integer;
begin
  i:=1;
  hasil:=0;
  while i<=x do
  begin
    hasil:=hasil+i;
    i:=i+1;
  end;
  deret:=hasil;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  DA,DB,DC,A,B,C:integer;
begin
  A:=strtoint(Edit1.Text);
  B:=strtoint(Edit2.Text);
  C:=strtoint(Edit3.Text);
  DA:=deret(A);
  DB:=deret(B);
  DC:=deret(C);

  D:=(DA+DB)/DC;
  Edit4.Text:=floattostr(D);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Edit1.Text:='';
  Edit2.Text:='';
  Edit3.Text:='';
  Edit4.Text:='';
end;

end.

setelah semua skrip diketik langkah selanjutnyya yaitu menyimpan file tersebut dengan cara File > Save/Save As atau tekan tombol Ctrl+S.

kemudian kia running dengan tekan F9
running 1

kemudian setelah muncul gambar di atas kita bisa memasukkan angka yang kita inginkan 

running 2



>>>Terima Kasih<<<
>>>>Selamat Mencoba<<<<

Selasa, 16 Juni 2015

QuickSort

A. pengertian QUICK SORT secara garis besar
            Quicksort merupakan Algoritma Sorting yang dikembangkan oleh Tony Hoare yang, secara kasus rata-rata, membuat pengurutan O(n log n) untuk mengurutkan n item. Algoritma ini juga dikenal sebagai Partition-Exchange Sort atau disebut sebagai Sorting Pergantian Pembagi. Pada kasus terburuknya, algoritma ini membuat perbandingan O(n2), malaupun kejadian seperti ini sangat langka. Quicksort sering lebih cepat dalam praktiknya dari pada algoritma O(n log n) yang lainnya.[1] Dan juga, urutan dan referensi lokalisasi memori quicksort bekerja lebih baik dengan menggunakan cache CPU, jadi keseluruhan sorting dapat dilakukan hanya dengan ruang tambahan O(log n).[2]

- berikut adalah listing quick sort

untuk lebih jelasnya saya akan memperlihatkan skripnya:

  • unit quicksorta;


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TFQuickSort = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    ListBox1: TListBox;
    ListBox2: TListBox;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
    Data:array of integer;
  public
    { Public declarations }
  end;

var
  FQuickSort: TFQuickSort;

implementation

{$R *.dfm}

procedure QuickSort(var A:array of integer;iLo,iHi:integer);
var
  Lo,Hi,Pivot,T:integer;
begin
  Lo:=iLo;
  Hi:=iHi;
  Pivot:=A[(Lo+Hi) div 2];
  repeat
    while A[Lo]<Pivot do Inc(Lo);
    while A[Hi]>Pivot do Dec(Hi);
    if Lo<=Hi then
    begin
      T:=A[Lo];
      A[Lo]:=A[Hi];
      A[Hi]:=T;
      Inc(Lo);
      Dec(Hi);
    end;
  until Lo>Hi;
  if Hi>iLo then QuickSort(A,iLo,Hi);
  if Lo<iHi then QuickSort(A,Lo,iHi);
end;

procedure TFQuickSort.Button1Click(Sender: TObject);
var
  nilai:integer;
begin
  //menambahkan nilai ke listbox
  if TryStrToInt(Edit1.Text,Nilai) then
  ListBox1.Items.Add(IntToStr(nilai));
  //membersihkan komponen inputan nilai
  Edit1.Clear;
  //focus kursor ke inputan nilai
  Edit1.SetFocus;
end;

procedure TFQuickSort.Button2Click(Sender: TObject);
var
  indek:Word;
begin
  //menentukan panjang array
  SetLength(Data,ListBox1.Items.Count);

  //pemasukan nilai ke array
  for indek:=0 to ListBox1.Items.Count-1 do
  Data[indek]:=StrToInt(ListBox1.Items[indek]);
  //proses pengurutan/sorting
  QuickSort(data,Low(Data),High(Data));
  //kosongkan hasil
  ListBox2.Items.Clear;
  //memasukkan nilai hasil
  for indek:=0 to ListBox1.Items.Count-1 do
  ListBox2.Items.Add(IntToStr(data[indek]));
end;

procedure TFQuickSort.Button3Click(Sender: TObject);
begin
  close;
end;

end.

- setelah listingnya selesai langkah selanjutnya yatu menyimpan file tersebut dengan cara File > Save/Save As atau tekan tombol Ctrl+S.
 - kemudian kita Running dengan cara tekan F9



>>>SEMOGA BERHASIL<<<

tugas4 procedure-function

procedur and function ini memang agak rumit dan butuh konsentrasi dan juga skrip yang panjang .
listing 1

untuk skripnya:
  • unit tugas4;


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    txtA: TEdit;
    txtB: TEdit;
    txtC: TEdit;
    txtD: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function pangkat(x,y:integer):integer;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.pangkat(x,y:integer):integer;
var
  i,c:integer;
begin
  i:=1;
  c:=1;
  while i<=y do
  begin
    c:=c*x;
    i:=i+1;
  end;
  pangkat:=c;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  A2,B3,C3,A,B,C:integer;
  D:real;
begin
  A:=strtoint(txtA.Text);
  B:=strtoint(txtB.Text);
  C:=strtoint(txtC.Text);

  A2:=pangkat(A,2);
  B3:=pangkat(B,3);
  C3:=pangkat(C,3);

  D:=(A2+B3)/C3;
  txtD.Text:=floattostr(D);
end;

end.

-setelah itu kita simpan dengan cara File > Save/Save As atau tekan tombol Ctrl+S.
 - kemudian kita Running dengan cara tekan F9
running 1

running 2



semoga materi ini bisa bermanfaat bagi kita semua 

>>>>SELAMAT MENCOBA<<<

PROCEDURE AND FUNCTION

       Kali ini kita akan membuat aplikasi sederhana tentang PROCEDURE AND FUNCTION. materi tentang procedure and function ini agak sedikit rumit tapi kita harus bisa menyelesaikannya.

berikut untuk skripnya supaya lebih jelas lagi:
  • unit Unit1;


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    btnPANGKAT1: TButton;
    btnPANGKAT2: TButton;
    btnPANGKAT3: TButton;
    btnPANGKAT4: TButton;
    procedure btnPANGKAT1Click(Sender: TObject);
    procedure btnPANGKAT2Click(Sender: TObject);
    procedure btnPANGKAT3Click(Sender: TObject);
    procedure btnPANGKAT4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure pangkat1(p,l:string);
    function pangkat2(p,l:string):string;
    function pangkat3(m,n:integer):integer;
  end;

var
  Form1: TForm1;
  c:integer;

implementation

{$R *.dfm}

procedure TForm1.btnPANGKAT1Click(Sender: TObject);
var
  a,b,i,c:integer;
begin
  i:=1;
  c:=1;
  a:=strtoint(edit2.Text);
  b:=strtoint(edit1.Text);
  while i<=a do
  begin
    c:=c*b;
    i:=i+1;
  end;
  edit3.Text:=inttostr(c);
end;

procedure TForm1.pangkat1(p,l:string);
var
  a,b,i:integer;
begin
  i:=1;
  c:=1;
  a:=strtoint(p);
  b:=strtoint(l);
  while i<=a do
  begin
    c:=c*b;
    i:=i+1;
  end;
  edit3.Text:=inttostr(c);
end;

function TForm1.pangkat2(p,l:string):string;
var
  a,b,i:integer;
begin
  i:=1;
  c:=1;
  a:=strtoint(p);
  b:=strtoint(l);
  while i<=a do
  begin
    c:=c*b;
    i:=i+1;
  end;
  pangkat2:=inttostr(c);
end;

function TForm1.pangkat3(m,n:integer):integer;
var
  i:integer;
begin
  i:=1;
  c:=1;
  while i<=n do
  begin
    c:=c*m;
    i:=i+1;
  end;
  pangkat3:=c;
end;

procedure TForm1.btnPANGKAT2Click(Sender: TObject);
begin
  pangkat1(edit2.Text,edit1.Text);
end;

procedure TForm1.btnPANGKAT3Click(Sender: TObject);
begin
  edit3.Text:=pangkat2(edit2.Text,edit1.Text);
end;li

procedure TForm1.btnPANGKAT4Click(Sender: TObject);
var
  a,b,c:integer;
begin
  a:=strtoint(edit1.Text);
  b:=strtoint(edit2.Text);
  c:=pangkat3(a,b);
  edit3.Text:=inttostr(c);
end;

end.

 - setelah kita menulis skrip jangan lupa untuk menympannya dengan cara File > Save/Save As atau tekan tombol Ctrl+S.
 -kemudian untukmengecek atau Running kita bisa tekan tombol F9 
listing 1

listing 2


>>>Semoga Behasil<<<

Senin, 15 Juni 2015

Pertemuan 5 (Deret)

ok kali ini kita akan membuat aplikasi sederhana tentang DERET. 

listing 1
berikut untuk pengetikan listing program:
  • unit deret;


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  a,i,b:integer;
begin
  a:=strtoint(Edit1.Text);
  Memo1.Clear;
  i:=1;
  while i<=a do
  begin
    b:=i;
    Memo1.Lines.Add(inttostr(b));
    i:=i+1;
  end;
end;

end.

- setelah skripnya selesai kita buat maka kita simpan dengan cara File > Save/Save As atau tekan tombol Ctrl+S.
- kemudian kita Running dengan cara tekan F9


>>> Semoga Sukses<<<

Latihan 3 (REKURSI)

Jika kita menulis suatu fungsi/prosedur rekursi, yang perlu diperhatikan adalah fungsi/prosedur tersebut harus mengandung suatu kondisi akhir dari proses rekursi. Kondisi ini diperlukan untuk mencegah terjadinya proses rekursi yang tidak berujung (indefinite), yaitu proses rekursi akan dilakukan tanpa henti.

Pada program rekursi ini kita menggunakan Console Aplication pada Delphi7, yaitu program yang berbasis teks dan tidak memiliki form. Berikut contoh program rekursi mengurutkan data dengan metode quick sort dalam bentuk prosedur.
listing program 1
listing program 2
- setelah semua skrip di ketik kemudian kita save dengan cara File > Save/Save As atau tekan tombol Ctrl+S.
- setelah di simpan kita Running dengan cara tekan F9 . berikut hasil Running :
hasil running 1
- setelah itu kita bisa isi data sesuai yang kita inginkan 
contoh:


>>SELAMAT MENCOBA<<

Minggu, 14 Juni 2015

TUGAS 2 (REKURSI)



Gambar di atas  adalah Listing program dari contoh program yang menggunakan fungsi/prosedur Rekursi, dimana rekursi sendiri adalah  proses dari suatu subprogram (dapat berupa fungsi/prosedur) yang memanggil dirinya sendiri.

pertanyaannya sekarang adalah bagian mana dari program diatas yang mengandung unsur Rekursi?





Jawabannya ada pada gambar dibawah, bagian yg dilingkari warna merah merupakan bagian yang mengandung unsur rekursi.
Mengapa? Pada List_1 disebutkan bahwa sementara:=x[bawah] setelah dilakukan proses pemecahan larik menjadi 2, pada List_2 disebutkan kembali bahwa x[i]:=sementara. Jadi, pada List_2 terjadi pemanggilan kembali proses “sementara”.




selamat mencoba