Hai teman - teman semua.. ngeblog lagi neh guys karena ada tugas
tugas kali ini tentang deret lagi
yuk langsung aja kita coba programnya... gausah panjang lebar yha guys...
1. Buat tampilan interface berikut
2. ini syntaxnya
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.
3. kalo udah, yuk langsung aja kita coba guys...
Selasa, 26 Mei 2015
Deret Pola -1, 3, -5, 7, -9
Disini ratih akan memberi tahu
bagaimana cara mencari rumus deret bilangan, bukan cara mencari suku ke-n. Oke
tadi di awal ratih udah jelasin contoh-contoh barisan bilangan, nah di setiap
barisan mempunyai rumusnya masing-masing untuk menemukan rumus itu ada dua cara
yang bisa di kerjakan, pertama kamu bisa mencoba dan memikirkan bagaimana
rumusnya yg memakan waktu cukup lama atau yang kedua kamu pake cara yang udah
pasti kebenarannya Cuma kamu harus menghafal rumusnya aja tapi ingat cara ini
hanya bisa dipakai di barisan bilangan yang memiliki pola.
Nah kali ini ratih bakal nerangin bagaimana cara untuk membuat deret pola pada program delphi. Bagi yg butuh langsung liat aje dan bagi yang ada kesulitan
matematika bisa langsung coment aja. Oke ga usah nungu lama langsung tengok
kebawah aja masbro
Berikut scriptnya ......
unit deretpola;
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,b,c,i:integer;
begin
a:=strtoint(Edit1.Text);
Memo1.Clear;
i:=-1;
c:=-2;
while i<=a do
begin
b:=i;
Memo1.Lines.Add(inttostr(b));
i:=(b+c)*-1;
c:=c*-1;
end;
end;
end.
Berikut scriptnya ......
unit deretpola;
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,b,c,i:integer;
begin
a:=strtoint(Edit1.Text);
Memo1.Clear;
i:=-1;
c:=-2;
while i<=a do
begin
b:=i;
Memo1.Lines.Add(inttostr(b));
i:=(b+c)*-1;
c:=c*-1;
end;
end;
end.
Tampilan script |
Form |
Hasil ketika di run |
Selasa, 19 Mei 2015
Algoritma Quick Sort
Algoritma quicksort diperkenalkan pertama kali oleh C.A.R. Hoare pada tahun 1960, dan dimuat sebagai artikel di Computer Journal 5 pada April 1962. Bentuknya yang sederhana, efisien dan efektif dengan cepat membuatnya menjadi algoritma pengurutan (sorting)
yang paling banyak digunakan, terutama dalam bahasa pemrograman.
Berbagai penelitian dan pengembangan telah banyak dilakukan hingga saat
ini. Tercatat peneliti seperti Sedgewick, Bentley, McIlroy, Clement,
Flajolet, Vallee, hingga Martinez, membuat analisis dan implementasi
dari quicksort.
dan ketikkan syntaxnya...
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.
3. Setelah selesai, Cek hasil program tersebut...
Beberapa hal yang membuat quicksort unggul:
-
Secara umum memiliki kompleksitas O(n log n).
-
Algoritmanya sederhana dan mudah diterapkan pada berbagai bahasa pemrograman dan arsitektur mesin secara efisien.
-
Dalam prakteknya adalah yang tercepat dari berbagai algoritma pengurutan dengan perbandingan, seperti mergesort dan heapsort.
-
Melakukan proses langsung pada input (in-place) dengan sedikit tambahan memori.
-
Bekerja dengan baik pada berbagai jenis input data (seperti angka dan karakter).
-
Sedikit kesalahan dalam penulisan program membuatnya bekerja tidak beraturan (hasilnya tidak benar atau tidak pernah selesai).
-
Memiliki ketergantungan terhadap data yang dimasukkan, yang dalam kasus terburuk memiliki kompleksitas O(n2).
-
Secara umum bersifat tidak stable, yaitu mengubah urutan input dalam hasil akhirnya (dalam hal inputnya bernilai sama).
-
Pada penerapan secara rekursif (memanggil dirinya sendiri) bila terjadi kasus terburuk dapat menghabiskan stack dan memacetkan program.
Pada bahasa pemrograman, quicksort ada dalam pustaka stdlib.h untuk bahasa C, dan class TList dan TStringList dalam Delphi (Object Pascal) maupun FreePascal.
Nah, sekarang yuk kita coba programnya...
1. Buat tampilan interface seperti gambar di bawah ini
2. Klik pada proses buttondan ketikkan syntaxnya...
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.
3. Setelah selesai, Cek hasil program tersebut...
Selasa, 12 Mei 2015
Exam --> Program perpangkatan
Halloooo guys,...
Kali ini, ratih bakal ngeshare contoh program yang tadi dikasih sama dosen neh...
lumayan bikin pusing juga waktu ngecobain ini program, tapi berkat semangat 45 dan kerja keras akhirnya aku berhasil,... hahahaha...,
Yuk, mari kita mulai belajarnya
1. Pertama kita buat dulu tampilan interface pada program yang mau kita buat yaaa... kek gini neh..
2. Nah, kalo udah buat tampilan interface nya.. coba kalian kik button proses untuk membuat listing programnya. dan ketikkan teks dibawah ini...
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.
3. and the last, yuk kita coba cek hasil program ini...
Dan,,...... berhasil.... berhasil.... berhasil....
Kali ini, ratih bakal ngeshare contoh program yang tadi dikasih sama dosen neh...
lumayan bikin pusing juga waktu ngecobain ini program, tapi berkat semangat 45 dan kerja keras akhirnya aku berhasil,... hahahaha...,
Yuk, mari kita mulai belajarnya
1. Pertama kita buat dulu tampilan interface pada program yang mau kita buat yaaa... kek gini neh..
2. Nah, kalo udah buat tampilan interface nya.. coba kalian kik button proses untuk membuat listing programnya. dan ketikkan teks dibawah ini...
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.
3. and the last, yuk kita coba cek hasil program ini...
Dan,,...... berhasil.... berhasil.... berhasil....
Selasa, 05 Mei 2015
Program perpangkatan
Halo temen-temn semua. dah lama gk ngeblog kangen juga. kali ini saya
mau ngasi tutorial tentang Operator pada delphi, mungkin temen2 delphier
dah sangat menguasai tentang ini, tapi mungkin ada temen2 yang lupa ato
yang baru belajar bisa gabung disini dah...
1. Tampilan interface pada form
2. coba kalian klik pada button pangkat 1..
dan ketikkan teks dibawah ini...
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;
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.
3. Nah, yuk kita coba jalankan guys....
Jreng..... jreng..... ternyata hasil begadang ku malam ini ga sia - sia guys..
ini hasil program yang tadi disampaikan sama dosen gue...:)
Okey sebelum kita mulai, temen mesti tau dulu jenis Operator pada
Delphi, di delphi ada 3 jenis Operator yaitu : Operator Aritmatika,
Operator Perbandingan dan Operator Logika;
Untuk Operator Aritmatika, ada banyak jenis antara lain :
- ^ : Operator pemangkatan,
- * : Operator pengalian.
- / : Operator pembagian dengan hasil bilangan pecahan.
- Div : Operator pembagian dengan hasil bilangan Bulat.
- Mod : Operator Sisa Bagi.
- + : Operator Penjumlahan.
- - : Operator pengurangan.
1. Tampilan interface pada form
2. coba kalian klik pada button pangkat 1..
dan ketikkan teks dibawah ini...
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;
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.
3. Nah, yuk kita coba jalankan guys....
Jreng..... jreng..... ternyata hasil begadang ku malam ini ga sia - sia guys..
ini hasil program yang tadi disampaikan sama dosen gue...:)
Langganan:
Postingan (Atom)