May 2012
M T W T F S S
« Jan    
 123456
78910111213
14151617181920
21222324252627
28293031  

Statistik Pengguna

joomla counter
Sejak Januari 2010

Nilai Alstrukdat Ganjil 2011-2012

Terlampir adalah nilai Alstrukdat tahun ajaran 2011/2012 Dosen ATW.
Komplain ditunggu hingga malam ini. nilai tugbes belum dimasukkan. sesegeramungkin diupdate. untuk komplain tugas pemrograman, bisa forward email yang pernah dikirimkan ke atwbox [add] gmail ndot com. lihat di folder sent item kalian, dan FORWARD ulang ke email saya.

perhatikan komponen nilai kalian, bukan index nilai.

untuk daftar nilai ada di sini : Daftar Nilai Alstruk

Nilai Prokom 2011-2012 Ganjil

Terlampir adalah nilai Prokom tahun ajaran 2011/2012 Dosen ATW.
Komplain ditunggu hingga malam ini. untuk komplain tugbes, bisa forward email yang pernah dikirimkan ke atwbox [add] gmail ndot com. lihat di folder sent item kalian, dan FORWARD ulang ke email saya.

perhatikan komponen nilai kalian, bukan index nilai.

Biarkan teman-teman kalian mampir ke blog ini, agar mereka tahu jawaban no 2 di postingan sebelumnya. jangan sebarkan file pdf ini ke teman-teman yang lain.

untuk daftar nilai ada di sini : Daftar Nilai Prokom

Salah Satu Solusi No 2

program Project1;
// ikuti link berikut sebelum menjalankan program.
// http://delphi.about.com/od/objectpascalide/l/aa091101a.htm
{$APPTYPE CONSOLE}

uses
  SysUtils;
// penyelesaian soal no 2 dengan menggunakan array bantuan.
// penyelesaian tanpa menggunakan array bantuan dikerjakan dilain waktu.

{$R *.res}
var
  jmlData, jmlGanjil, jmlGenap : integer;
  arrInteger, arrGanjil, arrGenap : array [1..100] of integer;
  procedure InputArray(var arrInteger : array of integer; N : integer);
  // digunakan untuk memasukkan nilai
  var i : integer;
  begin
    for i := 1 to N do
    begin
      write('Nilai ke -',i,':');
      readln(arrInteger[i]);
    end;
  end;

  procedure OutputArray(arrInteger : array of integer; N : integer);
  // digunakan untuk mencetak nilai
  var i : integer;
  begin
    for i := 1 to N do
      writeln('Nilai ke -',i,' adalah :', arrInteger[i]);
  end;

  procedure BagiData(var arrHasil : array of Integer; var jmlHasil : integer;
    arrInteger : array of Integer; jmlData : integer; flag : integer);
  // membagi data dengan variabel array bantuan
  var i : integer;
  begin
    jmlHasil := 0;
    for i := 1 to jmlData do
    begin
      if (arrInteger[i] mod 2 = flag) then
      begin
        jmlHasil := jmlHasil + 1;
        arrHasil[jmlHasil] := arrInteger[i];
      end;
    end;
  end;

  procedure MergeData(var arrInteger : array of Integer;
    arrGanjil, arrGenap : array of Integer;
    jmlGanjil, jmlGenap : integer);
  var i, j : integer;
  begin
    i := 0;
    for j := 1 to jmlGanjil do
    begin
      i := i+1;
      arrInteger[i] := arrGanjil[j];
    end;
    for j := 1 to jmlGenap do
    begin
      i := i+1;
      arrInteger[i] := arrGenap[j];
    end;
  end;

  procedure sortData(var arrData : array of Integer; jmlData, flag : integer);
  var i, j, temp : integer;
  begin
    for i := 1 to jmlData -1 do
    begin
      for j := i + 1 to jmlData do
      begin
        if ( (arrData[i]  arrData[j]) and (flag = 1) )then
        begin
          temp := arrData[i];
          arrData[i] := arrData[j];
          arrData[j] := temp;
        end;
      end;
    end;
  end;

begin
  // Modularitas adalah salah satu karya terbesar khawarizmi
  // dengan modularitas, sistem komputer yang ada sekarang bisa berjalan
  // dengan sempurna.

  // ok, kita akan memulai dengan modularitas.
  Writeln('Berapa jumlah data yang ingin dimasukkan ? ');
  readln(JmlData);
  // langkah pertama adalah input buat sebagai fungsi/procedure
  InputArray(arrInteger, JmlData);
  // lihat disini kegunaan modularitas, bisa dimanfaatkan berkali-kali
  BagiData(arrGanjil, jmlGanjil, arrInteger, jmlData, 1);
  BagiData(arrGenap, jmlGenap, arrInteger, jmlData, 0);
  // disini juga bisa dimanfaatkan berkali-kali.
  sortData(arrGanjil, jmlGanjil, 1);
  sortData(arrGenap, jmlGenap, 0);
  // gabungkan hasil
  MergeData(arrInteger, arrGanjil, arrGenap, jmlGanjil, jmlGenap);
  // langkah terakhir adalah output
  OutputArray(arrInteger, JmlData);
  Readln;
end.

Database Image

langsung aje gan, ga usah basa-basi. sedot aja di sini : DatabaseImage

baca pelan-pelan yak biar ga muntah2. :D ame ada link di sono. silahkan dibuka juga gan. do’nt forget untuk nambahin JPEG di usesnya. :) semoga selamat sampai tujuan.

akhirnya PR finish. :D

Memanfaatkan DBChart

1. Buat Aplikasi Standar
2. Tambahkan TDBChart, dan TADOQuery, serta button untuk uji coba.
3. Set koneksi TADOQuery, dan isikan sql yang ada. Contoh jika kita memiliki tabel Tfrek yang memiliki field [ID, Nama, Jml], dan isi data masing-masing.
4. Activekan TADOQuery
5. Double click TDBChart yang ditambahkan,
6. Tambahkan series, dan pilih tipe chart yang diinginkan
7. Tekan tab series, dan pilih tab datasource
8. Isikan sesuai kebutuhan.
9. Tangani event onclick pada button,
10. Tambahkan perintah :
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(‘Select Nama, Jml from TFrek’);
ADOQuery1.Active := true;

Multiple Document Interface [Child Parent form]

1. Buat Aplikasi Standar
2. Pada Form 1, ubah properti WindowState menjadi wsMaximized, dan FormStyle menjadi fsMDIForm.
3. Buat form baru melalui menu File  New  Form.
4. Pada Form 2, ubah properti WindowState menjadi wsMaximized, dan FormStyle menjadi fsMDIChild.
5. Pada Form1, tambahkan componen T MainMenu, dimana dari sini akan kita kontrol form-form child kita. Tambahkan beberapa menu seperti : File [New Form, Exit], About
6. Tangani event onclick pada sub Menu Exit, tambahkan perintah :
Application.Terminate;
7. Pada Form1 (form utama) karena kita akan menggunakan semua kontrol yang ada pada form2, maka kita harus menambahkannya dengan cara : File  Use Unit  pilih unit yang akan ditambahkan (dalam hal ini Unit2).
8. Tangani event onCreate pada Form1 dan tambahkan perintah :
Application.CreateForm(TForm2, Form2);
9. Tangani event onclose pada Form2 dengan memberikan perintah :
Action := caFree;

Manipulasi menggunakan AdoTable [Update]

1. Peroses editing pada data dilakukan melalui dua tahap : 1. Pencarian data, 2 update data. Pencarian dilakukan dengan memasukkan data tertentu misalkan kode, sehingga kode tidak akan diubah. Yang diubah data lain misalkan judul, pengarang, tahun dlsb.
2. Buat Aplikasi baru, tambahkan satu buah AdoTable, label dan EditText sesuai desain form input pada suatu tabel. Contoh pada form buku terdiri atas Kode, Judul, Pengarang, Kategori, dan Tahun.
3. Persiapkan koneksi pada AdoTable melalui property ConnectionString. Pastikan sukses pada saat di test.
4. Tambahkan button Cari pada form.
5. Tangani event onclick pada button dengan perintah :
ADOTable1.TableName := ‘Buku’;
ADOTable1.Open;
ADOTable1.First;
ketemu := false;
while (not ADOTable1.Eof) and (not ketemu) do
begin
if ADOTable1.FieldByName(‘Kode’).AsString = Edit1.Text then
begin
ketemu := true;
Edit2.Text := ADOTable1.FieldByName(‘Judul’).AsString;
Edit3.Text := ADOTable1.FieldByName(‘Pengarang’).AsString;
Edit4.Text := ADOTable1.FieldByName(‘Kategori’).AsString;
Edit5.Text := ADOTable1.FieldByName(‘Tahun’).AsString;
end
else
ADOTable1.Next; // jangan lupa di nextkan.
end;
6. Tambahkan button update pada form dan tangani event onclick dengan perintah :
ADOTable1.Edit;
ADOTable1.FieldByName(‘Kode’).AsString := Edit1.Text;
ADOTable1.FieldByName(‘Judul’).AsString := Edit2.Text;
ADOTable1.FieldByName(‘Pengarang’).AsString := Edit3.Text;
ADOTable1.FieldByName(‘Kategori’).AsString := Edit4.Text;
ADOTable1.FieldByName(‘Tahun’).AsString := Edit5.Text;
ADOTable1.Post;
ShowMessage(‘Proses Update data berhasil.’);
Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit4.Clear; Edit5.Clear;

Untuk contoh source code dapat didownload dari sini : DMAdoTableUpdate

Manipulasi menggunakan ADOTable [Insert]

1. Memanipulasi data tidak hanya bisa dilakukan melalui query. Dari tabel pun bisa dilakukan hal yang sama. Untuk melakukannya, gunakan langkah-langkah berikut :
2. Buat Aplikasi baru, tambahkan AdoTable, label dan EditText sesuai desain form input pada suatu tabel. Contoh pada form buku terdiri atas Kode, Judul, Pengarang, Kategori, dan Tahun.
3. Persiapkan koneksi pada AdoTable melalui property ConnectionString. Pastikan sukses pada saat di test.
4. Tambahkan button simpan pada form.
5. Tangani event onclick pada button dengan perintah :
ADOTable1.TableName := ‘Buku’;
ADOTable1.Open;
ADOTable1.Append;
ADOTable1.FieldByName(‘Kode’).AsString := Edit1.Text;
ADOTable1.FieldByName(‘Judul’).AsString := Edit2.Text;
ADOTable1.FieldByName(‘Pengarang’).AsString := Edit3.Text;
ADOTable1.FieldByName(‘Kategori’).AsString := Edit4.Text;
ADOTable1.FieldByName(‘Tahun’).AsString := Edit5.Text;
ADOTable1.Post;
ShowMessage(‘Proses Insert data berhasil.’);

Untuk contoh source code dapat didownload di sini : DMAdoTableInsert

Manipulasi menggunakan Query [Update]

1. Peroses editing pada data dilakukan melalui dua tahap : 1. Pencarian data, 2 update data. Untuk itu kita memerlukan 2 Adoquery untuk menjalankan fungsi masing-masing. Pencarian dilakukan dengan memasukkan data tertentu misalkan kode, sehingga kode tidak akan diubah. Yang diubah data lain misalkan judul, pengarang, tahun dlsb.
2. Buat Aplikasi baru, tambahkan dua buah AdoQuery, label dan EditText sesuai desain form input pada suatu tabel. Contoh pada form buku terdiri atas Kode, Judul, Pengarang, Kategori, dan Tahun.
3. Persiapkan koneksi pada AdoQuery melalui property ConnectionString. Pastikan sukses pada saat di test.
4. Tambahkan button Search pada form.
5. Tangani event onclick pada button dengan perintah :
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(‘select * from buku where kode = ”’ + Edit1.Text + ””);
ADOQuery1.Active := true;
//ADOQuery1.First;
if not ADOQuery1.Eof then
begin
Edit2.Text := ADOQuery1.fieldByName(‘Judul’).AsString;
Edit3.Text := ADOQuery1.fieldByName(‘Pengarang’).AsString;
Edit4.Text := ADOQuery1.fieldByName(‘Kategori’).AsString;
Edit5.Text := ADOQuery1.fieldByName(‘Tahun’).AsString;
end
else ShowMessage(‘Data buku tidak ditemukan’);
6. Tambahkan button update pada form.
7. Tangani event onclick pada button dengan perintah :
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(‘Update Buku set judul = ”’+ Edit2.Text + ”’, pengarang = ”’+
Edit3.Text + ”’, kategori = ”’+ Edit4.Text +
”’, tahun = ”’+ Edit5.Text + ”’ where Kode = ‘+
Edit1.Text + ””);
ADOQuery2.ExecSQL;
ShowMessage(‘Proses Update data sukses’);
Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit4.Clear; Edit5.Clear;

Untuk contoh source code dapat didownload di sini : DMLAdoQueryUpdate

Manipulasi menggunakan Query [Insert]

1. Buat Aplikasi baru, tambahkan AdoQuery, label dan EditText sesuai desain form input pada suatu tabel. Contoh pada form buku terdiri atas Kode, Judul, Pengarang, Kategori, dan Tahun.
2. Persiapkan koneksi pada AdoQuery melalui property ConnectionString. Pastikan sukses pada saat di test.
3. Tambahkan button simpan pada form.
4. Tangani event onclick pada button dengan perintah :
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(‘Insert into Buku (Kode, judul, pengarang, kategori, tahun) values (”’+
Edit1.Text + ”’, ”’+ Edit2.Text + ”’, ”’+ Edit3.Text + ”’, ”’+
Edit4.Text + ”’, ”’+ Edit5.Text + ”’)');
ADOQuery1.ExecSQL;
ShowMessage(‘Proses Insert data sukses’);

Untuk sorurce code dapat didownload di sini : DMLAdoQueryInsert