Jumat, 23 Mei 2014

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.