Sabtu, 31 Mei 2014

Mengenal dan Menggunakan Array di Pascal

Array adalah suatu bentuk struktur data yang terdiri dari beberapa variabel dengan tipe data yang sama dimana masing-masing nilai element memiliki nilai indeks. Array dikenal juga dalam sebutan larik. Array dapat diakses dengan menggunakan nilai indeksnya yang biasanya dimulai dari 0 (nol). Pengaksesan array biasanya menggunakan teknik perulangan. silahkan baca tentang perulangan di pascal disini.

Dalam Pascal sebuah variabel dengan tipe data array dapat kita definisikan sendiri index awal dan index akhirnya. Berikut adalah contoh pendeklarasian array dalam pascal.
var

{* Deklarasi array 1 Dimensi *}
data1 : array[1..10] of integer;
{* Deklarasi Array 2 Dimensi *}
data2 : array[1..10,1..10] of integer;
{* Deklarasi array Multidimensi *}
data3 : array[1..10,1..10,1..10] of integer;

Untuk mengakses atau memberikan nilai pada variabel yang bertipe data array kita harus mendefinisikan index yang akan kita akses. Suatu misal seperti berikut ini.
{* Memberikan Nilai Array 1 Dimensi *}
data1[1]:=10;
{* Memberikan Nilai Array 2 Dimensi *}
data2[1,1]:=20;
{* Memberikan Nilai Array Multdimensi *}
data3[1,1,1]:=30;

{* Mengakses Array 1 Dimensi *}
writeln(data1[1]);
{* Mengakses Array 2 Dimensi *}
writeln(data2[1,1]);
{* Mengakses Array Multidimensi *}
writeln(data3[1,1,1]);

Sayangnya, Jika kita menggunakan cara diatas untuk mengakses suatu array maka hal ini akan memakan banyak waktu maka seperti yang telah saya jelaskan sebelumnya biasanya array akan diakses dengan menggunakan perulangan. berikut adalah contoh sederhananya.
program belajar;

var
{* Deklarasi array 1 Dimensi *}
data1 : array[1..10] of integer;
{* Deklarasi Array 2 Dimensi *}
data2 : array[1..10,1..10] of integer;
{* Deklarasi array Multidimensi *}
data3 : array[1..10,1..10,1..10] of integer;
i,j,k : integer;

begin
j := 1;
k := 1;
{* Memberikan Nilai Array *}
for i:=1 to 10 do
begin
{* Memberikan Nilai Array 1 Dimensi *}
data1[j]:=10;
{* Memberikan Nilai Array 2 Dimensi *}
data2[j,j]:=20;
{* Memberikan Nilai Array Multdimensi *}
data3[j,j,j]:=30;
j:=j+1;
end;

{* Mengakses Array *}
while (k<=10) do
begin
{* Mengakses Array 1 Dimensi *}
writeln('--- Array 1 Dimensi ---');
writeln('Index Ke : ',k);
writeln(data1[k]);
{* Mengakses Array 2 Dimensi *}
writeln('--- Array 2 Dimensi ---');
writeln('Index Ke : ',k);
writeln(data2[k,k]);
{* Mengakses Array Multidimensi *}
writeln('--- Array Multidimensi ---');
writeln('Index Ke : ',k);
writeln(data3[k,k,k]);
k:=k+1;
end;
end.

Jumat, 30 Mei 2014

Program Menghitung Grade Nilai dengan Pascal

Jika kita pintar bahasa pemrograman maka hal yang sulit dapat kita jadikan mudah. Sebut saja contohnya Kalkulator yang didalamnya berisi program operasi matematis sehingga kita dapat dengan mudah melakukan penjumlahan, perkalian, pembagian dan semacamnya yang jika dilakukan secara manual bisa jadi membutuhkan waktu ekstra. Tidak perlu jauh-jauh, Microsoft Word yang kita gunakan untuk mengetik selama ini adalah salah satu bentuk karya tangan seorang programmer.

Sebenarnya banyak sekali bahasa pemrograman yang bisa kita pelajari seperti pascal yang dapat dilanjutkan dengan IDE seperti Delphi atau Lazarus maka jika anda menyukai Delphi, sebaiknya sedari dini untuk memperdalam pascal karena syntax delphi diadopsi sepenuhnya dari Pascal.

Lepas dari itu semua, berikut saya sharing sebuah program sederhana yang mampu melakukan penyeleksian pada nilai yang diinputkan yaitu untuk menghitung Grade nilai. Penyeleksiannya dilakukan dengan menggunakan subrutin percabangan if then. Adapun contoh codingnya adalah sebagai berikut
program hitungnilai;
uses wincrt;

var
nilai : integer;

begin

Write('Masukan Nilai = '); readln(nilai);
if (nilai >= 90) then
Writeln('nilai = A') else
if (nilai > 80) then
Writeln('nilai = B+') else
if (nilai > 70) then
Writeln('nilai = B') else
if (nilai > 61) then
Writeln('nilai = C+') else
if (nilai > 50) then
Writeln('nilai = C') else
if (nilai > 30) then
Writeln('nilai = D') else
if (nilai > 0) then
Writeln('nilai = E');

end.

Mengenal Procedure dan Function di Pascal

Pascal dikenal juga dengan pemrograman prosedural. Meski demikian pascal juga mendukung pemrograman berorientasi objek (OOP). Dalam pascal, biasanya setiap proses dipisahkan menjadi program-program kecil yang disebut juga dengan Procedure dan Function. Hal inilah yang kemudian menjadikan Pascal trend menjadi bahasa pemrograman Prosedural.

Dengan memisahkan proses kedalam sub-sub program, artinya kedalam prosedur dan fungsi akan membuat program yang kita bangun menjadi lebih terstruktur karena setiap masalah akan dipecahkan oleh prosedure dan function tersebut. Logikanya, Jika anda memiliki masalah yang besar maka selesaikanlah secara perlahan step by step. Itulah Konsep pemrograman Pascal yang saya ketahui.

1. Procedure di Pascal

Prosedure merupakan sebuah program kecil yang tidak berada di blok program utama. Untuk membuat prosedure di pascal diawali dengan kata kunci procedure. Berikut adalah contoh Prosedure dalam pascal
program belajar;

Procedure Tambah;
var
satu,dua : Byte;
Begin
satu := 10;
dua := 5;
write(satu+dua);
End;

Begin
{* Pemanggilan Procedure*}
Tambah;
End.

2. Function di Pascal

Sama seperti procedure, Function merupakan sub program terpisah hanya saja perbedaannya fungsi akan memberikan return value (nilai balik) kepada program utama jika dijalankan itu sebabbya sebuah fungsi harus memiliki tipe data. Untuk membuat fungsi di pascal harus diawali dengan kata function. berikut contohnya
program belajar;
var
a,b,hasil : integer;

function nilaimax(a, b: integer): integer;
var
result : integer;
begin
if (a > b) then
result := a
else
result := b;
nilaimax := result;
end;

{* Pemanggilan Function *}
Begin
a := 50;
b := 60;
hasil := nilaimax(a,b);
writeln( 'Nilai Max Adalah : ',hasil);
End.

Menggunakan Perulangan di Pascal

Hal yang tidak kalah penting dalam belajar pemrograman komputer adalah memahami bagaimana konsep serta implementasi perulangan atau yang sering juga disebut dengan istilah looping karena dalam membangun aplikasi kita tidak akan pernah lepas dari perulangan. Looping diperlukan untuk mengeksekusi baris perintah (systax) tertentu secara berulang-ulang dalam waktu yang telah ditentukan.

Ambil saja contoh jika anda ingin mengetik kalimat "Saya Suka Pemrograman"  sebanyak 1000x atau lebih maka hal ini akan cukup memakan waktu tapi dengan menggunakan teknik looping hal itu bisa kita lakukan dalam hitungan detik. Mantap kan bisa bahasa pemrograman ? Dalam Pascal, ada tiga macam perulangan yang sering digunakan.

1. Perulangan While Do

Ini adalah jenis perulangan dimana kondisi didefinisikan diawal. Artinya Jika kondisi belum terpenuhi maka proses akan terus dilakukan. Suatu misal adalah contoh berikut akan melakukan perulangan selama nilai dari variabel bil lebih keci dari 5
program belajar;

var
bil : integer;

begin
bil:=0;
while (bil<=5) do
begin
writeln('Ini adalah Bilangan ke',bil);
bil:=bil+1;
end;
end.

2. Perulangan For Do

Perulangan yang selanjutnya adalah For Do. Jenis perulangan ini akan melakukan proses sebanyak yang kita definisikan. Contohnya adalah program sederhana berikut akan melakukan perulangan sebanyak 10 kali
program belajar;

var
i : integer;

begin
for i:=1 to 10 do
begin
writeln('Ini adalah Bilangan ke',i);
end;
end.

3. Perulangan Repeat Until

Ini sangat mirip dengan perulangan while do hanya aja kondisi didefinisikan diakhir. Artinya perulangan akan terus terjadi selama (Until) nilainya False. Contohnya adalah berikut ini. Perulangan akan dilakukan selama nilai i lebih kecil dari 10 dan selama itu juga nilai i akan terus ditambah dengan 1.
program belajar;
var
i : integer;

begin
i:=0;
repeat
writeln('Ini adalah Perulangan ke',i);
i:=i+1;
until i=10;
end.

Mengenal Macam-Macam Operator di Pascal

Dalam dunia Programming, kita akan banyak bekerja dengan Operator tapi jangan dikira ini operator warnet atau operator provider ya. Operator disini maksudnya adalah sebuah metode untuk memberitahu compiler tentang proses yang kita lakukan semisal proses matematis atau operasi untuk membandingkan dua buah nilai dan semacamnya. Pascal sendiri menggunakan beberapa operator sebagai berikut. Operator berikut adalah yang tergolong paling sering digunakan.

1. Operator Matematis

Seperti namanya, Operator ini akan banyak kita gunakan dalam mengoperasikan operasi-operasi matematis seperti penambahan, pengurangan, pembagian, Modulus, Divide ataupun perkalian. Berikut adalah contoh penggunaan operator matematis ini dalam program pascal
program belajar;

var
bil1,bil2 : integer;

begin
bil1 := 10;
bil2 := 5;
writeln('Hasil Penjumlahannya adalah = ',bil1+bil2);
writeln('Hasil Pengurangannya adalah = ',bil1-bil2);
writeln('Hasil Perkaliannya adalah = ',bil1*bil2);
end.

2. Operator Relational

Operator yang kedua adalah Relational, Operator ini digunakan untuk melakukan pembandingan nilai-nilai yang ada dalam variabel seperti lebih kecil, lebih besar, tidak sama dengan dan sebagainya. Berikut adalah contoh program sederhana penggunaan Operator Relational dengan Pascal
program belajar;

var
bil1,bil2 : integer;

begin
bil1 := 10;
bil2 := 5;
if (bil1 < bil2) then
writeln('Bilangan 1 Lebih Kecil dari Bilangan 2') else
writeln('Bilangan 1 Tidak Lebih Kecil dari Bilangan 2');
end.

3. Operator Boolean

Selain Dua Operator diatas, Pascal juga mengenal Operator Boolean. Operator ini biasanya digunakan untuk menghubungkan atau membandingkan nilai dalam variabel dimana hasil dari pembandingkan akan selalu bernilai true atau false. Contoh penggunaannya dalah sebagai berikut
program belajar;

var
bil1,bil2 : integer;

begin
bil1 := 10;
bil2 := 5;
if (bil2=0) and (bil1=0) then
writeln('Bilangan 1 dan Bilangan dua Kosong') else
writeln('Nilai Bilangan 1 =',bil1);
writeln('Nilai Bilangan 2 = ',bil2);
end.

Mengenal Tipe Data dan Variabel di Pascal

Pascal adalah salah satu bahasa Pemrograman komputer yang saat ini masih eksis dan memiliki cukup banyak peminat karena syntax yang digunakan masih tergolong mudah untuk dipahami. Pascal pertama kali dibuat oleh profesor Niklaus Wirth pada tahun 1971. Dinamai Pascal karena diambil dari nama seorang matematikawan asal prancis yang bernama Blaise Pascal. Profesor Niklaus membuat Pascal sebagai alat bantu belajar konsep pemrograman komputer kepada mahasiswanya.

Pascal membutuhkan compiler agar baris perintah (source code) yang kita ketikan dapat dilihat hasilnya. Anda dapat menggunakan TPW (Turbo Pascal Windows) yang dibuat oleh Borland atau menggunakan compiler free pascal yaitu Lazarus yang dapat anda download pada situs resminya disini

1. Penulisan Syntax di Pascal 

Sebelum membahas lebih jauh tentang bagaimana membuat program dengan pascal, kita harus tahu bagaimana struktur dan aturan penulisan code dalam pascal. 

Pascal adalah bahasa pemrograman yang tidak case sensitive, artinya Huruf kecil dan huruf besar dalam penulisan kode adalah sama misalkan pelusian huruf a dan A hal ini dianggap sama oleh pascal. selain itu, dalam pascal setiap baris perintah (syntax) diakhiri dengan titik koma (;). Setiap penulisan code dalam pascal harus diawali dengan begin dan diakhiri dengan end. berikut adalah contoh program pascal yang akan mencetak kalimat Hallo Dunia. 
program belajar;
begin
writeln('Hallo Dunia');
end.

2. Tipe Data Pada Pascal

Dalam membuat program, kita perlu mengenal tipe data apa saja yang digunakan oleh bahasa pemrograman yang kita gunakan. Tipe Data mendefinisikan tentang data apa yang sedang kita olah (proses) sehingga dalam pemrosesan akan menjadi lebih mudah, suatu misal tidak munggkin menggunakan tipe data string dalam operasi matematis. Adapun Pascal menggunakan beberapa tipe data yang umum digunakan. Dapat anda lihat pada tabel berikut ini


No
Tipe Data
Keterangan
1
String
Untuk Kalimat/Kata
2
Char
Untuk Jenis Data Karakter
3
Integer
Untuk Angka (Bilangan Bulat)
4
Boolean
True/False
5
Byte
Angka dari 0-255
6
Real
Bilangan Pecahan

3. Variabel di Pascal

Selain hal diatas, hal utama yang perlu kita ketahui dalam mempelajari bahasa pemrograman adalah penggunan variabel. Variabel merupakan sebuah wadah yang menampung isi data yang kita olah. Dalam pascal, penulisan variabel diawali dengan kata var seperti contoh program sederhana berikut
program belajar;

var
kata : string;
angka : integer;

begin
kata:='Saya Belajar Pascal';
angka:=500;
writeln(kata);
writeln(angka);
end.

Sabtu, 24 Mei 2014

Membuat Aplikasi Android dengan Database di Delphi XE

Seperti yang telah kita sama-sama ketahui saat ini delphi telah support untuk membuat aplikasi smartphone android dan IOS (Apple) dengan delphi XE tentunya. Jadi tidak perlu repot-repot lagi belajar bahasa pemrograman lain karena dengan keluarga pascal sudah bisa semua. Saat ini para developer memang lagi gencar-gencarnya membangun sistem aplikasi agar dapat juga digunakan di smartphone karena aplikasi berbasis desktop sudah mulai ditinggalkan.

Pada kesempatan emas ini. haha #lebay. saya ingin sedikit sharing tentang bagaimana membangun aplikasi android yang disandingkan dengan database SQLite. Sebelum kita mulai ada beberapa syarat yang harus terpenuhi

1. DBMS SQLite yang dapat anda download disini.

2. Pada contoh ini saya menggunakan Delphi XE5, buat versi delphi yang lain silahkan disesuaikan saja.

Membuat Database dengan SQLite

1. Buka File sqlite3.exe yang sudah anda download sebelumnya. Berikut adalah tampilan utama SQLite

Membuat Aplikasi Android dengan Database di Delphi XE

2. Baiklah, agar tidak manja kali ini kita hanya akan bermain dengan Command Line Interface (CLI). Untuk membuat database silahkan ketikan perintah .open nama_database.db. Hasilnya, akan muncul sebuah file baru didalam folder sqlite3.exe anda seperti gambar berikut

Membuat Aplikasi Android dengan Database di Delphi XE
3. Langkah Berikutnya kita akan membuat sebuah tabel yang berisi beberapa field, anda dapat menyesuaikan sendiri susuai dengan kemauan anda. berikut adalah perintah yang saya gunakan.
create table anggota (id varchar(15), nama text, jenis_kelamin text, agama text, alamat text);

4. Selanjutnya kita inputkan sebuah data sebagai contoh dengan perintah sebagai berikut
insert into anggota values ('1','Ahmad Tauhid','Cowok','Islam','Mataram Lombok Indonesia');

5. Sampai disini kita sudah berhasil membuat sebuah database dengan sebuah tabel dan sebuah data didalamnya. :D

Koneksi Database SQLite dengan Aplikasi Android di Delphi XE

1. Buka Delphi XE anda. Buatlah sebuah projek baru dengan Framework Firemonkey. File | New | Firemonkey Mobile Application | Pilih Template (saya menggunakan Blank)

2. Buat sebuah folde kemudian Save dulu projek anda kedalam folder tersebut. Pindahkan Database yang sudah  anda buat pada langkah sebelumnya kedalam folder tersebut

3. Masuk ke Pallete FireDAC kamudian tambahkan komponen FDConnection kedalam form anda. Klik kanan pada komponen tersebut lalu pilih Connection Editor. Atur propertinya seperti gambar berikut

Membuat Aplikasi Android dengan Database di Delphi XE

Cobalah untuk mengujinya dengan mengklik tombol Test. Jika muncul pesan seperti gambar berikut artinya koneksi sudah berhasil dilakukan.

Membuat Aplikasi Android dengan Database di Delphi XE

Jangan lupa untuk mengganti property FDConnection di Objek Inspector. Connected=True dan Login Prompt=False. 

Menampilkan Data dari Database SQLite kedalam Form Firemonkey

1. Klik menu View | LiveBindings Designer. akan muncul jendela seperti gambar berikut kemudian klik button LiveBindings Wizard.

Membuat Aplikasi Android dengan Database di Delphi XE

2. Pada jendela yang muncul pilih Create a Data Source kemudian Next.

Membuat Aplikasi Android dengan Database di Delphi XE

3. Selanjutnya pada gambar berikut pilih FireDAC kemudian Next lagi

Membuat Aplikasi Android dengan Database di Delphi XE

4. Berikutnya Pilih FDConnection sebagai connection komponennya, Query sebagai Command Type lalu ketikan query pada Command Text. select * from nama_tabel seperti gambar berikut

Membuat Aplikasi Android dengan Database di Delphi XE

Selanjutnya pada langkah terakhir klik Finish dan sampai disini kita sudah berhasil membuat sebuah Data Source dengan metode LiveBindings Designer. Klik lagi pada button LiveBindings Wizard. Terdapat beberapa metode disana untuk menampilkan data pada form kita tapi pada kesempatan ini kita akan coba menggunakan opsi kedua yaitu menampilkan dengan Grid atau Tabel.

Membuat Aplikasi Android dengan Database di Delphi XE

Kemudian pada jendela yang muncul pilih TGrid lalu Next seperti gambar berikut

Membuat Aplikasi Android dengan Database di Delphi XE

Pada jendela yang muncul berikutny pilih BindSourceDB1 kemudian Next.

Membuat Aplikasi Android dengan Database di Delphi XE

Langkah Terakhir pada Jendela yang muncul Klik Finish. maka hasil yang akan kita dapatkan pada jendela LiveBindings Designer dan Form Firemonkey adalah sebagai berikut.

Membuat Aplikasi Android dengan Database di Delphi XE

Membuat Aplikasi Android dengan Database di Delphi XE

Baiklah, Sampai disini dulu postingan tentang membuat aplikasi android berbasis database lain waktu akan saya sambung lagi dengan menambahkan proses input, update dan delete serta cara menjalankannya melalui emulator Android. Minta doanya semoga skrispi saya cepat selesai.. :)

Jumat, 23 Mei 2014

Menambahkan Date Time Picker di Raudus

Seperti yang pernah saya utarakan, Raudus adalah Framework yang memungkinkan kita membuat aplikasi berbasis website dengan Pascal (dalam hal ini adalah delphi). karena untuk aplikasi berbasis website, menurut pengalaman pribadi saya, jadi tidak semua komponen delphi dapat kita gunakan pada form Raudus. sebut saja komponen Date Picker yang memiliki peran cukup penting dalam membangun aplikasi.

Menambahkan Date Time Picker di Raudus

Pada kesempatan ini saya akan berbagi trik bagaimana menambahkan komponen date time picker kedalam form kita (raudus).

1. Langkah pertama adalah silahkan download komponennya disini. ekstrack lalu tambahkan kedalam folder projek anda.

2.  Berikutnya adalah mendefinisikan pada uses bahwa kita akan menggunakan komponen tersebut.
 uses
..., DateUtils, RxExtPickerDate;

3. Lanjutkan dengan membuat sebuah prosedure private 
   private
RxExtPickerDate1: TRxExtPickerDate;
procedure RxExtPickerDate1Select(Sender: TObject);

4. Prosedure RxdatePickerDate1Select akan menyimpak aksi jika tanggal dipilih pada Date Picker sedangkan RxDatePickerDate1 adalah Prosedure DatePicker itu sendiri.

5. Kita lanjutkan dengan menambahkan aksi untuk date picker
// Jika Date Picker di Select / Dipilih
procedure TForm1.RxExtPickerDate1Select(Sender: TObject);
begin
RaEdit1.Text := DateToStr(RxExtPickerDate1.Value);
RxExtPickerDate1.Destroy;
end;

6. Tambahkan sebuah RaEdit dan RaButton pada form Raudus anda. klik dua kali pada RaButton lalu tambahkan kode berikut.
  RxExtPickerDate1 := TRxExtPickerDate.Create(Self);
RxExtPickerDate1.Parent := Self;
RxExtPickerDate1.SetBounds(10, 40, RxExtPickerDate1.Width, RxExtPickerDate1.Height);
RxExtPickerDate1.OnSelect := RxExtPickerDate1Select;
RxExtPickerDate1.Value := Now;

Insert Update dan Delete dengan Raudus di Delphi

Ini adalah postingan kedua saya tentang Raudus. sebelumnya saya sudah pernah membahas tentang bagaimana membuat sebuah website di Delphi dengan menggunakan Framework Raudus pada postingan berkenalan dengan raudus, jika anda belum membacanya silahkan cek disini karena ini adalah lanjutannya.

Insert Update dan Delete dengan Raudus di Delphi

Seperti yang sudah sering saya sampaikan, dalam membangun aplikasi. database hal utama yang perlu ada dalam proses aplikasi adalah adanya proses insert, update dan delete data oleh karenanya pada postingan ini saya akan membahas bagaimana membuat proses tersebut (CRUD) dengan Raudus. 

Membuat Aplikasi CRUD data Web Based Sederhana dengan Raudus di Delphi

1. Saya berasumsi anda sudah membaca postingan saya, jadi kita tidak akan membahas bagaimana memulai membuat aplikasi dengan Framework Raudus (Fokus ke proses insert, update dan delete).

2. Disini saya menggunakan dua buah form, form1 untuk form utama dan form dua untuk proses Editing data seperti terlihat pada gambar diatas. silahkan Desain form tersebut sesuai kebutuhan anda.

3. Buatlah sebuah database dengan minimal sebuah tabel. DBMSnya terserah anda. saya sendiri menggunakan Database Access. Untuk koneksi sama saja dengan koneksi database pada umumnya. silahkan baca disini

4. Step selanjutnya menambahkan komponen ke dua buah form yang telah kita tambahkan. adapun komponen yang saya gunakan adalah sebagai berikut

Nomor
Nama Komponen
Jumlah
Lokasi Pallete
Form 1
RaPanel
3
Raudus
RaDBGrid
1
Raudus
RaBitButton
3
Raudus
Open Picture Dialog
1
Dialog
RaButton
2
Raudus
RaImage
2
Raudus
RaEdit
3
Raudus
RaCombobox
1
Raudus
RaLabel
4
Raudus
AdoConnection
1
Ado
AdoQuery
1
Ado
Datasource
1
Data Access
Form 2
RaPanel
3
Raudus
RaBitButton
2
Raudus
Open Picture Dialog
1
Dialog
RaButton
2
Raudus
RaImage
1
Raudus
RaEdit
3
Raudus
RaCombobox
1
Raudus
RaLabel
5
Raudus

5. Langkah kelima adalah mengatur properti masing-masing komponen seperti melakukan koneksi ke database yang telah dibuat. mengatur caption dan peletakan. saya kira ini bukan masalah.

6. Yang perlu ditekankan mungkin adalah proses untuk menampilkan data ke RaDBGrid. Caranya adalah Masuk ke Objek TreeView lalu pilih komponen RaImage | Tambahkan Item sesuai jumlah field dalam tabel anda lalu atur properti masing-masing items (FieldName) di Objek Inspector

Insert Update dan Delete dengan Raudus di Delphi

Proses Pencodingan

Saya anggap sudah tidak ada masalah dengan langkah diatas jadi kita lanjutkan dengan membuat prosesnya. Sebenarnya coding untuk melakukan proses simpan, edit dan delete sama seperti pada umumnya. berikut adalah coding yang saya gunakan.

1. Coding Cari Gambar
if OpenPictureDialog1.Execute then
RaImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

2. Coding Simpan
if (RaEdit1.Text='') or (RaEdit2.Text='') or (RaEdit3.Text='') or (RaComboBox1.Text='') then
MessageDlg('Inputan Masih ada yang kosong !',mtInformation,[mbok],0) else
begin
ADOQuery2.Append;
ADOQuery2.FieldByName('nama').AsString:=RaEdit1.Text;
ADOQuery2.FieldByName('jenis_kelamin').AsString:=RaComboBox1.Text;
ADOQuery2.FieldByName('handphone').AsString:=RaEdit2.Text;
ADOQuery2.FieldByName('foto').AsString:=OpenPictureDialog1.FileName;
ADOQuery2.FieldByName('tanggal').AsString:=RaEdit3.Text;
ADOQuery2.Post;
ShowMessage('Berhasil di Simpan !');

3. Coding Hapus
if ADOQuery2.RecordCount<=0 then
MessageDlg('Data Tidak ada !',mtWarning,[mbok],0) else
ADOQuery2.Delete;

4. Coding Edit (Form1)
if ADOQuery2.RecordCount<=0 then
MessageDlg('Data Tidak ada !',mtWarning,[mbok],0) else
begin
Form2.RaEdit1.Text:=Form1.ADOQuery2['nama'];
Form2.RaComboBox1.Text:=Form1.ADOQuery2['jenis_kelamin'];
Form2.RaEdit2.Text:=Form1.ADOQuery2['handphone'];
Form2.RaImage1.Picture.LoadFromFile(Form1.ADOQuery2['foto']);
form2.RaEdit3.Text:=Form1.ADOQuery2['tanggal'];
Form2.Show;
end;

5. Coding Update (Form2) 
if (RaEdit1.Text='') or (RaEdit2.Text='') or (RaEdit3.Text='') or (RaComboBox1.Text='') then
MessageDlg('Inputan Masih ada yang kosong !',mtInformation,[mbok],0) else
begin
Form1.ADOQuery2.Edit;
Form1.ADOQuery2.FieldByName('nama').AsString:=RaEdit1.Text;
Form1.ADOQuery2.FieldByName('jenis_kelamin').AsString:=RaComboBox1.Text;
Form1.ADOQuery2.FieldByName('handphone').AsString:=RaEdit2.Text;
Form1.ADOQuery2.FieldByName('foto').AsString:=OpenPictureDialog1.FileName;
Form1.ADOQuery2.FieldByName('tanggal').AsString:=RaEdit3.Text;
Form1.ADOQuery2.Post;
ShowMessage('Berhasil di Perbarui !');
end;
Minat Source code ? Download disini. Happy Coding. :)

Berkenalan dengan Raudus

Raudus adalah Framework keluarga Pascal yang dikhususkan untuk membuat aplikasi berbasis website. karena masih untuk keluarga pascal, jadi Raudus juga bisa kita pasang di Delphi. Selain itu jika anda pengguna IDE Free Pascal (Lazarus) anda juga dapat menggunakannya. Raudus sendiri dikembangkan oleh Igor Klopov dan masih bersifat freeware (bebas digunakan) jadi jangan khawatir. haha :D

Pada saat postingan ini ditulis versi Raudus yang telah dirilis sudah sampai 0.9.7 sejak bulan Desember 2013 dan telah support di beberapa IDE seperti Delphi 7 sampai XE5 dan Lazarus. Raudus juga tersedia dalam versi Linux. anda dapat mendownloadnya pada situs resminya disini.

Kali ini saya ingin mengajak anda untuk berkenalan dengan Framework Delphi ini namun saya hanya akan mencontohkan penggunaannya di lingkungan windows dan Delphi 7 karena untuk versi linux dan yang lain masih belum sempat coba. hehe

Langkah Membuat Website dengan Framework Raudus di Delphi

1. Pastikan Anda Sudah mendownload Frameworknya kemudian lakukan instalasi (Tutup terlebih dahulu Delphi anda). Sebagai catatan, Jika anda menjumpai Error seperti gambar dibawah ini jangan galau dulu karena Raudus membutuhkan hak akses Administrator.

Berkenalan dengan Raudus

Solusinya Klik kanan pada master Raudus | Run As Administrator. Selanjutnya ikuti saja langkah-langkahnya karena menurut saya tidak begitu sulit. Sebagai informasi, disini saya menggunakan Raudus versi 0.9.3. Hasil Instalasi Biasanya akan muncul di Pallete terakhir

2. Jalankan Delphi Anda. Klik File | New | Other | Masuk ke Tab Raudus seperti gambar berikut

Berkenalan dengan Raudus

3. Masuk ke Pallete Raudus dan tambahkan beberapa komponen raudus sesuka anda. atur juga propertinya. Sampai disini hasil saya seperti gambar berikut

Berkenalan dengan Raudus

4. Ok. Jangan galau dulu. kita masih belum selesai. haha. Selanjutnya jalankan Aplikasi anda (Seperti biasa Run/F9). Jika sukses, Aplikasi anda akan meminta ijin untuk dijalankan | Klik Allow Access seperti gambar berikut 

Berkenalan dengan Raudus

5. Coba perhatikan Jendela command prompt berikut yang muncul secara bersamaan dengan gambar diatas. ada sebuah teks yang mengatakan "http://localhost:88/ - open in browser" kita diperintahkan untuk membuka browser dan mengetikan alamat tersebut (http://localhost:88). 

Berkenalan dengan Raudus

6. Saking penasarannya, sayapun langsung membuka browser (Mozila Firefox) dan mengetikan alamat tersebut. Maka hasil yang saya dapatkan adalah seperti gambar berikut

Berkenalan dengan Raudus

Sampai disini dulu postingan tentang Membuat website dengan Delphi (Berkenalan dengan Raudus). Nantikan postingan saya selanjutnya tentang membuat proses insert, update dan delete dengan Raudus. Selamat mencoba. Jika berminat dengan contoh yang saya buat bisa didownload disini. Happy Coding.

Jumat, 02 Mei 2014

Migrasi ke Delphi XE

Saya kira kita semua sudah mafhum bahwa saat ini Delphi tidak lagi dikelola oleh Borland tapi diambil alih oleh Embarcadero. Saat postingan ini ditulis, versi terakhir yang dikeluarkan oleh Embarcadero adalah XE6 dengan penambahan fitur-fitur seperti support untuk membuat aplikasi berbasis Android.

Namun demikian Saat ini aplikasi berbasis android sudah banyak dikembangkan oleh para developer. Sebut saja aplikasi chatting seperti wechat, kakaotalk bahkan blackbery messengger saat ini telah support untuk android. Android sendiri merupakan hasil modifikasi dari kernel linux yang dikembangkan oleh pihak google.inc. karena masih bersifat open source, jadi kita dapat dengan bebas menggunakan dan memodifikasinya. itulah salah satu kelebihan open source dibanding yang tidak open source. :)

Biasanya aplikasi berbasis android banyak dikembangkan dengan teknologi Java namun seperti yang telah saya jelaskan saat ini kita juga bisa mendevelop aplikasi android dengan Delphi melalui framework firemonkey-nya. Oleh karenanya saya sangat menyarankan agar anda segera migrasi ke Delphi yang lebih baru alasannya tentu agar tidak ketinggalan. tapi sebenarnya tidak masalah jika anda ingin tetap menggunakan delphi lama seperti Delphi 7. 

Lepas dari semua itu, Saya sendiri sudah mulai migrasi ke Delphi XE5 karena tidak ingin ketinggalan kereta. ini merupakan tuntutan jika anda berprofesi sebagai seorang Programmer. 

Aplikasi Android Pertama dengan Delphi XE5

1. Buka Delphi XE5 anda, lebih bagus jika anda menggunakan Delphi XE6

2. Klik Menu File | New | Firemonkey Mobile Application 

Migrasi ke Delphi XE5

3. Pilih Template yang ingin anda gunakan pada gambar diatas. saya menggunakan Blank Application | OK. Adapun Tampilan yang saya peroleh adalah seperti gambar berikut

Migrasi ke Delphi XE

Jika tampilan seperti gambar diatas muncul maka kita sudah bisa menambahkan komponen-komponen yang kita perlukan kedalam form firemonkey tersebut. 

Agar dapat dijalankan di mesin Android anda perlu menjadikannya file *.apk terlebih dahulu Untuk itu anda harus melakukan Build Terlebih dahulu (SHIFT+F9) kemudian Deploy (ada di menu Project). Hasilnya dapat anda lihat di folder projek anda di folder_projek\Android\Debug\Project1\bin Seperti gambar berikut ini

Migrasi ke Delphi XE

Selamat Bereksplorasi dengan Delphi XE. Happy Coding.

Kamis, 01 Mei 2014

Filter Data di Database dengan Delphi

Filter Data di Database dengan Delphi

Filter Data tentu Sangat diperlukan dalam aplikasi yang berbasis database. Anggap Saja saya ingin menampilkan data hanya berdasarkan tanggal tertentu saja atau menampilkan data berdasarkan parameter tertentu. Hal ini tentu akan sedikit merepotkan jika jumlah data yang ada di database mencapai ribuan bahkan jutaan data maka utilitas seperti filter data ini akan sangat berguna untuk permasalahan tersebut.

Untuk melakukan filter data, disini saya memanfaatkan Query dari DBMS Microsoft Access. Jika anda menggunakan MySQL disesuaikan saja. Seperti yang telah saya jelaskan sebelumnya. untuk melakukan query pada Database kita membutuhkan komponen AdoQuery karena tidak bisa menggunakan komponen AdoTable.

Pada Contoh Penerapan Untuk Melakukan Filtering Data dengan Menggunakan Query adalah sebagai berikut :

1. Query Untuk Menampilkan data Berdasarkan parameter Tertentu
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM [table] WHERE Nama =:nama ORDER BY ID ASC');
ADOQuery1.Parameters.ParamByName('nama').Value:=Edit1.Text;
ADOQuery1.Open;
2. Query Untuk Menampilkan data Berdasarkan Tanggal Tertentu
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM [table] WHERE Tanggal_Daftar BETWEEN (:tgl1) AND (:tgl2) ORDER BY ID ASC');
ADOQuery1.Parameters.ParamByName('tgl1').Value:=FormatDateTime('mm/dd/yyyy',DateTimePicker1.Date);
ADOQuery1.Parameters.ParamByName('tgl2').Value:=FormatDateTime('mm/dd/yyyy',DateTimePicker2.Date);
ADOQuery1.Open;
3. Query Untuk Menampilkan Semua Data
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM [table]');
ADOQuery1.Open;
Adapun Contoh Source code lengkap beserta databasenya dapat anda Download disini. Selamat Berkreasi dan Happy Coding. :)

Aplikasi Sederhana Untuk Menelpon dengan Gammu dan Delphi

Aplikasi Sederhana Untuk Menelpon dengan Gammu dan Delphi

Berikut saya ingin berbagi trik bagaimana melakukan panggilan atau nelpon dengan menggunakan modem dan gaamu tentunya sebagai mediator antara modem dan komputer kita karena ternyata gammu tidak hanya bisa digunakan untuk mengirim sms tapi juga menelpon. Namun sebelum kita membahas lebih jauh tentang hal ini saya menyarankan anda untuk membaca postingan saya tentang cara setting gammu jika anda belum paham bagaimana konfigurasi gammu di windows. silahkan lihat disini.

Selanjutnya sebaiknya anda melihat apakah modem anda support untuk bisa menelpon dengan gammu karena jika tidak percuma saja menlajutkan ke tahap berikutnya. coba cek di alamat berikut http://wammu.eu/support/

Saya anggap kedua syarat diatas telah terpenuhi. 
Sebenarnya untuk melakukan panggilan dengan gammu kita juga bisa menggunakan command prompt dengan mengetikan perintah berikut

Perintah Untuk menelpon

1. C:\gammu\gammu dialvoice nomor_tujuan

Perintah Untuk Membatalkan Panggilan

2. C:\gammu\gammu cancelcall nomor_tujuan

Namun Hal ini tentu akan merepotkan end user nantinya oleh karenanya dibutuhkan sebuah aplikasi yang dapat melakukan panggilan hanya dengan bermain klik tanpa perlu repot mengetikan perintah ini dan itu. Sebagai contoh, anda dapat mendownload Source code yang saya buat disini.

Membuat Form Loading Splash Screen dengan Delphi

Form Splash Screen adalah sebuah form yang pertama kali dijalankan pada saat aplikasi dibuka. Biasanya Form ini berisi seputar informasi yang sedang dijalankan sebelum form utama ditampilkan. contohnya dapat anda lihat ketika menjalankan IDE Delphi 7 atau Delphi XE5 anda. maka yang pertama kali muncul itulah yang disebut splash screen.

Berangkat dari hal itu saya tertarik untuk membuat postingan ini. tentang cara membuat form splash screen tersebut. Pada contoh ini saya memiliki 3 buat form dimana form pertama saya gunakan sebagai splash screen dan form kedua sebagai form utama. sedangkan form 3 sebagai form tambahan.

1. Buka File Delphi Projek anda dengan menekan CTRL+F11

2. Tambahakn SysUtils dalam Uses projek tersebut

3. Langkah terakhir silahkan ganti code setelah begin dan sebelum end. pada file projek tersebut dengan code berikut.

// Splash Screen Delphi
begin
SplashScreen := TSplashScreen.Create(Application);
try
SplashScreen.Show;
Application.Initialize;
SplashScreen.Update;
// Sesuaikan dengan Jumlah dan Nama Form yang digunakan
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Sleep(5000); // Sesuaikan dengan keinginan anda
SplashScreen.Hide;
finally
SplashScreen.Free;
end;
Application.Run;
end;
4. Sebelum melakukan langkah ketiga diatas, Pastikan anda telah mengganti nama form1 dengan nama SplashScreen. sedangkan untuk form kedua dan ketiga biarkan saja.

Jika anda membutuhkan contoh projek saya. anda dapat mendownloadnya disini. Happy Coding. :)

Cek Apakah Aplikasi Sudah Berjalan

Dalam membangun aplikasi khususnya dengan Delphi kita akan banyak bermain di event semisal event on close, on click, on show dan semacamnya. dalam event-event tersebutlah kita meletakkan coding yang kita ketikan. oleh karenanya penguasaan penggunaan event menjadi salah satu kunci dalam menguasai Delphi.

Kali ini saya akan berbagi sedikit trik tentang cara mengetahui apakah program sudah dijalankan atau belum. Hal ini dapat kita manfaatkan untuk meminimalisir penggunaan memori karena jika program sudah dijalankan maka aksi yang akan dilakukan adalah memunculkan pesan dan menutup program yang kedua dijalankan. seperti gambar berikut ini :

Cek Apakah Aplikasi Sudah Berjalan di Delphi

Langkah-Langkahnya adalah sebagai berikut :

1. Tambahkan TlHelp32 dalam uses anda

2. Buat Sebuah Fungsi dengan source code seperti berikut. Fungsi inilah yang akan melakukan pengecekan
pada aplikasi yang kita jalankan.
// Cek Program Apakah Sudah Berjalan
function cek_aplikasi(const ExeName: String): Integer;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
FSnapshotHandle:= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize:= SizeOf(FProcessEntry32);
ContinueLoop:= Process32First(FSnapshotHandle, FProcessEntry32);
Result:= 0;
while Integer(ContinueLoop) <> 0 do begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeName))) then Inc(Result);
ContinueLoop:= Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
3. Untuk Mengetahui Program sudah berjalan atau belum, kita perlu menggunakan fungsi tersebut dalam event onshow milik form dengan listing code seperti berikut
if cek_aplikasi(ExtractFileName(Application.ExeName)) > 1 then begin
MessageDlg('Aplikasi sudah berjalan!', mtError, [mbOK], 0);
Application.Terminate;
end;
Selesai. Selamat Mencoba. anda dapat mendownload contoh source codenya disini.