Menambah dan Menghapus Data Via Array Ika Menarianti
Aplikasi untuk menambah dan menghapus data via array Untuk pembuatan aplikasi buat proyek baru Pilih menu File dan klik Save Project As.. Simpan unit dengan nama Fkota dan project dengan nama Pkota Atur properti Name : FormKota Caption : Menambah dan Menghapus Kota
Menambahkan kode untuk mendeklarasikan Tipe data variabel Tekan tombol F12 atau pilih menu View/Toggle Form/Unit Ketikkan const Makselemen = 10; diatas baris bertulisan type Buatlah baris kosong antara private dan public, dan ketikkan: Kota : array [1..Makselemen] of String; dan dibawahnya tambahkan JumKota : Integer;
Dengan hasil sementara Unit FKota; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; const MaksElemen = 10; type TFormKota = class(TForm) private { Private declarations } Kota : array [1..MaksElemen] of String; JumKota : integer; public { Public declarations } end; Pastikan tidak ada kesalahan dengan cara tekan tombol F9 atau Run
Kota : array [1..MaksElemen] of String; const MaksElemen = 10; Dimaksudkan untuk membuat konstanta bernama MaksElemen yang bernilai 10. Kota : array [1..MaksElemen] of String; Kota berarti membuat variabel instan yang berupa jarak terendah ke jarak tertinggi yang bertipe data string. JumKota : integer; Untuk membuat variabel JumKota yang ditujukan untuk mencatat jumlah kota dalam array Kota
Menambahkan kode pada kejadian On-Create milik Form Klik tab event klik On-create dan ketikkan procedure TFormKota.FormCreate(Sender: TObject); begin //pastikan kota dalam keadaan urut Kota[1] :='Kudus'; Kota[2] :='Semarang'; Kota[3] :='Solo'; Kota[4] :='Surabaya'; JumKota := 4; end;
Menambahkan Komponen String Grid, Edit dan Button Tampilan form setelah penambahan dan pengaturan komponen
Ubah Properti Komponen Properti Value String Grid Name StringGridKota ColCount 1 (lebarkan kolom dengan mouse sesuai lebar grid) Edit EditKota Text (kosongkan) Button 1 ButtonTambah Caption &Tambah Button 2 ButtonHapus &Hapus Button 3 ButtonKeluar &Keluar
Menambahkan prosedur untuk menampilkan data Tambahkan baris kode berikut diatas private: procedure TampilkanData; Tambahkan kode berikut diatas end yang paling bawah procedure TFormKota.TampilkanData; var i : integer; begin StringGridKota.RowCount := JumKota+1; StringGridKota.Cells[0,0] := 'Daftar Kota'; for i:= 1 to JumKota do StringGridKota.Cells[0,i] := Kota[i]; end;
Tambahkan TampilkanData; di bawah JumKota := 4; seperti: Kota[1] :='Kudus'; Kota[2] :='Semarang'; Kota[3] :='Solo'; Kota[4] :='Surabaya'; end; Pastikan tidak ada kesalahan dengan tekan F9 atau Run Lakukan penyimpanan dengan Ctrl + S
StringGridKota.Cells[0,0] := 'Daftar Kota'; Keterangan: Array Cells pada komponen String Grid merupakan array dengan indeks dua dimensi. Indeks pertama menyatakan kolom dan indeks kedua menyatakan baris. Kolom pertama mempunyai indeks berupa nol. Indeks bernilai nol pada indeks kedua String Grid digunakan untuk kepentingan judul kolom. StringGridKota.Cells[0,0] := 'Daftar Kota'; Berfungsi untuk mengisikan Judul ‘Daftar Kota’ pada kolom 0
Penyalinan dari array Kota ke Cells dilakukan melalui for i:= 1 to JumKota do StringGridKota.Cells[0,i] := Kota[i]; Dimana penyalinan dilakukan sebanyak nilai pada JumKota. Jika dijalankan hasilnya:
Menambahkan Kode untuk Menambahkan Kota Double klik pada tombol Selanjutnya akan muncul: procedure TFormKota.ButtonTambahClick(Sender: TObject); begin end; Tuliskan kode berikutnya. Pastikan tidak ada kesalahan dengan tombol Ctrl + F9
procedure TFormKota.ButtonTambahClick(Sender: TObject); var i,j : integer; posisi : integer; begin //periksa kalau kota kosong if Trim(EditKota.Text) = ' ' then ShowMessage('Nama Kota Harap diisi'); Exit; //keluar dari prosedur end;
//periksa kalau larik penuh if JumKota = MaksElemen then begin ShowMessage('Array sudah penuh'); Exit; end; //cari posisi pemasukan posisi := 0; for i := 1 to JumKota do if EditKota.Text < Kota[i] then posisi := i; break;
for j := JumKota downto posisi do Kota[j+1] := Kota[j]; //b for j := JumKota downto posisi do Kota[j+1] := Kota[j]; //b. sisipkan Kota[posisi] := EditKota.Text; JumKota := JumKota + 1; end; TampilkanData; if posisi = 0 then begin //sisipkan dibelakang JumKota := JumKota + 1; Kota[JumKota] := EditKota.Text; end else //kalau posisi tidak sama dengan nol //sisipkan pada posisi //a. geser dulu Lakukan penyimpanan dengan Ctrl+S
Hasil setelah menambahkan ‘Jakarta’ Apa yang terjadi jika edit tidak isi kemudian klik tombol Tambah?
Keterangan: if Trim(EditKota.Text) = ' ' then begin ShowMessage('Nama Kota Harap diisi'); Exit; //keluar dari prosedur end; Digunakan untuk mengakhiri eksekusi prosedur sekiranya pemakai tidak mengisikan kota pada edit yang bernama EditKota. Trim akan menghilangkan semua spasi yang berada dibagian depan dan bagian belakang. Jika tidak ada satupun karakter yang dimasukkan pada EditKota maka hasil akan berupa string kosong.
if JumKota = MaksElemen then begin ShowMessage('Array sudah penuh'); Exit; end; Ditujukan untuk mengantisipasi jika jumlah elemen dalam array sudah sama deng MaksElemen. Jika kondisi ini terjadi, kotak pengisian data tidak bisa ditambahkan.
posisi := 0; for i := 1 to JumKota do if EditKota posisi := 0; for i := 1 to JumKota do if EditKota.Text < Kota[i] then begin posisi := i; break; end; Digunakan untuk mencari posisi kota yang dimasukkan pada kotak edit EditKota terhadap data dalam array. Posisi yang dicari adalah posisi dimana kota yang berada dalam EditKota bernilai lebih kecil dari pada Kota ke-1. Nilai posisi akan tetap bernilai 0 sekiranya kondisi EditKota.Text < Kota[i] tak ada yang memenuhi.
Menambahkan kode untuk menghapus Kota Klik ganda pada tombol Hapus, dan akan muncul procedure TFormKota.ButtonHapusClick(Sender: TObject); begin end; Tuliskan kode dibawah ini. Pastikan tidak ada kesalahan dekan tekan Ctrl+F9
procedure TFormKota.ButtonHapusClick(Sender: TObject); var i, j : integer; posisi : integer; begin //cari posisi penghapusan Posisi := 0; for i := 1 to JumKota do if EditKota.Text = Kota[i] then posisi := i; break; end;
//kalau tidak ditemukan if posisi = 0 then begin ShowMessage('Nama kota tidak ditemukan'); exit; end; //penghapusan kota if posisi = JumKota then //hapus di bagian akhir JumKota := JumKota - 1; end else //jika posisi tidak sama dengan yang terakhir begin //geser ke atas untuk menghapus for j := posisi + 1 to JumKota do Kota[j-1] := Kota[j]; JumKota := JumKota - 1; end; TampilkanData;
Menambahkan kode untuk mengakhiri aplikasi Klik ganda pada tombol keluar, dan akan muncul procedure TFormKota.ButtonKeluarClick(Sender: TObject); begin end; Tuliskan kode berikut: Close; Jalankan program
Soal