Ketika sebaris kode tak berhenti menatap dan tampak naksir kepada Anda.

Array – Copy

Tujuan

Melakukan proses pemindahan data dari array satu ke array yang lain.

Referensi

Artikel ini membahas lebih jauh tentang implementasi array dalam mendukung program aplikasi yang kita buat. Barang kali kalau kita secara manual dan tidak tahu akan fungsi copy, maka ketika kita hendak melakukan proses pemindahan data array, cara yang terlintas dipikiran kita adalah cara looping. Yaitu melakukan proses pemindahan data satu per satu.
Namun ketika kita tahu akan fungsi copy, maka kita tidak perlu melakukan looping. Kenapa ? karena dengan menggunakan fungsi copy, proses perulangan sudah dilakukan didalam prosedur tersebut. Dengan kata lain kita sudah disediakan prosedur instant yang tinggal menggunakan.
Dari sini pula kita dapat hikmah, bahwa kita harus bisa memaksimalkan prosedur, fungsi, property–property yang dimiliki oleh object serta konstanta–konstanta yang sudah disediakan oleh library yang ada didalam Delphi.
Apabila kita ingin mengetahui lebih lanjut dari prosedur atau fungsi yang sudah ada, kita tinggal buka librarynya untuk melihat detail dari perintah yang ada didalamnya.
Kemudian, dari pembahasan dan program contoh yang sudah diberikan, diharapkan anda bisa mengembangkan sendiri untuk kebutuhan program yang akan anda buat.

Struktur fungsi Copy :

Copy
    (
    S : <string array="" dynamic="" of="">;
    index: integer; // awal data yang dicopy
    Count: integer; // jumlah data yang dicopy
    );

Dari struktur fungsi diatas terlihat bahwa S merupakan array yang akan dijadikan parameter untuk sumber data yang akan dipindahkan. Indek merupakan parameter untuk menunjukkan awal index yang akan dipindahkan kedalam array yang dituju. Apabila kita tentukan index-nya dengan nilai 2, maka itu berarti data akan dicopy dari index urutan ke-2. Sedangkan Count adalah jumlah data yang akan ditambahkan.
Ada beberapa karakteristik yang harus diketahui dari fungsi copy ini. Karakteristik tersebut antara lain adalah :

Misalkan:
A := Indek Awal
B := Jumlah Data
  • Apabila A kurang dari 0 ( nol ) dan B lebih dari sama dengan 1 ( satu )

    Jika terjadi kondisi seperti ini maka akan diberlakukan kondisi
    A sama dengan 0
    B sama dengan A + B

    contoh:
    A = -5
    B = 10
    Maka A akan berubah jadi 0
    dan B akan berubah jadi 5


  • Apabila A dan B lebih dari 0 ( nol ), kemudian A lebih dari jumlah data dalam array.

    Jika terjadi kondisi seperti ini, maka program tidak akan error. Sebagai akibatnya, fungsi itu tidak mengembalikan nilai atau data.

    Contoh:
    Jumlah data array yang akan dipindahkan adalah 10
    Indek awal yang ditentukan adalah 15
    Kemudian jumlah data yang akan dipindahkan adalah 5.

    Dari contoh diatas dapat dipastikan bahwa fungsi copytidak berhasil melakukan proses pemindahan data.

    Kondisi jika A nilainya kurang dari jumlah data array yang akan dipindahkan, Kemudian nilai B melebihi sisa data dari awal indek yang akan dipindahkan.

    Apabila terjadi kondisi yang demikian ini, maka data yang dipindahkan tidak mengaju pada nilai B, melainkan mengacu pada sisa data dari indek awalnya.

    Contoh:
    Jumlah data array adalah 20
    Parameter nilai indek awal adalah 10
    Kemudian parameter jumlah data yang akan dipindahkan adalah 20
    Dari data diatas dapat dijelaskan bahwa nilai A adalah tetap 10
    Kemudian nilai Badalah (20 – 10)

Semoga dengan anda tahu karakteristik dari kondisi–kondisi seperti telah dijelaskan diatas dapat membuat anda lebih hati–hati dalam menggunaan fungsi Copy

Petunjuk

Silahkan anda ikuti langkah–langkah berikut ini dengan pelan–pelan agar bisa berjalan dengan lancar sesuai dengan petunjuk yang sudah diberikan.


Langkah 1

Buat program aplikasi baru.

Langkah 2

Tambahkan beberapa object kedalam Form
    ListBox1 : TListBox;
    ListBox2 : TListBox;
    Button1 : TButton;
    Button2 : TButton;
    Label1 : TLabel;
    Label2 : TLabel;
    Edit1 : TEdit;
    Edit2 : TEdit;
    Label3 : TLabel;
    Label4 : TLabel;
    Bevel1 : TBevel;
    Label5 : TLabel;
    Bevel2 : TBevel;

Langkah 3

Atur desainnya seperti berikut ditampilkan pada gambar form dibawah ini

array0002.jpg

Langkah 4

Silahkan anda klik 2x tombol Proses. Setelah itu anda lanjutkan dengan menuliskan kode program didalam event OnClick seperti terlihat pada potongan kode program dibawah ini.

    …
    …
    procedure TForm3.Button1Click(Sender: TObject);
    var
    // deklarasi array
    DataAsal,
    DataTujuan : array of string;
    // deklarasi counter
    indek : integer;
    // menentukan panjang array
    SetLength(DataAsal,ListBox1.Count);
    // proses pemasukan data dari listbox ke array data asal
    for indek := 0 to ListBox1.Count – 1 do
    DataAsal[indek] := ListBox1.Items[indek];
    // melakukan proses copy data
    DataTujuan := Copy
    (
    DataAsal,
    StrToInt(edit1.Text),
    StrToInt(edit2.Text)
    );
    // mengosongkan data tujuan
    ListBox2.Clear;
    // menampilkan data hasil copy
    for indek := 0 to High(DataTujuan) do
    ListBox2.Items[indek] := DataTujuan[indek];
    end;
    …
    …

Langkah 5

Silahkan anda compile. Tekan tombol Ctrl + F9.

Tunggu beberapa saat… (Sedang di cek kode programnya)
Apabila tidak muncul pesan error, berarti program yang anda buat telah berhasil dan silahkan anda tekan tombol F9 untuk menjalankan program aplikasinya.

Langkah 6

Silahkan anda tekan tombol Proses

Program sudah selesai anda buat. Sekarang silahkan anda tekan tombol Keluar

Semoga artikel ini bisa bermanfaat. Silahkan anda berikan informasi ini kepada teman–teman anda yang belum tahu.
Mari kita wujudkan kemajuan IT Indonesia bersama dengan teman–teman yang lain dengan Delphi sebagai media pemupuk kebersamaan.

Nama Saya Abdul Djalil Djayali . Sebenarnya Saya tidak bisa disebut sebagai seorang yang profesional dalam bidang ini, karena Saya tidak menguasai bidang ini melalui pendidikan formal. Saya hanyalah seorang antusias . Dibandingkan sebagai seorang desainer atau pengembang, Saya lebih suka jika disebut sebagai seorang hobiis saja yang tertarik dengan dunia web.

Kontak Sosial

Lain-lain

Dan Tidak lupa, Saya Ucapkan terimakasih atas kunjungan anda di blog yang sederhana ini.

Salam JLCNate

Saya tidak bisa hidup tanpa JavaScript! Aktifkan JavaScript?

Tutup
Ke atas!