• Tidak ada hasil yang ditemukan

Array merupakan sekumpulan elemen berindeks yang memiliki tipe yang sama (base type). Pendefinisian array ditunjukkan dengan format:

N/A
N/A
Protected

Academic year: 2022

Membagikan "Array merupakan sekumpulan elemen berindeks yang memiliki tipe yang sama (base type). Pendefinisian array ditunjukkan dengan format:"

Copied!
9
0
0

Teks penuh

(1)

Array & String

4.1 Array

Array merupakan sekumpulan elemen berindeks yang memiliki tipe yang sama (base type).

Pendefinisian array ditunjukkan dengan format:

array [<indexType1>,...,<indexTypen>] of <baseType>

yang mana <indexType> merupakan suatu tipe bilangan (ordinal) yang tidak boleh melebihi dari 2GB.

Contoh yang sederhana adalah array satu dimensi yang hanya memiliki satu indexType. Contoh pendeklarasian,

var

Larik: array [1..255] of char;

mendeklarasikan suatu variabel bernama Larikyang menampung 255 karakter (255 bytes).

Sehingga,Larik[11]berarti karakter ke-11 dari Larik. Jika kita membuat array tetapi tidak mengisikan nilai pada semua elemennya, elemen yang tidak terpakai masih tetap dialokasikan di memori tetapi datanya belum diinisialisasi.

Selain yang sederhana (satu dimensi), ada juga array multidimensi yang merupakan array dari array, dengan kata lain memiliki lebih dari satu indeks. Contohnya:

type

Matriks = array [1..3] of array [1..5] of longint;

Bentuk di atas sama juga dengan bentuk berikut:

type

Matriks = array [1..3, 1..5] of longint;

Bentuk yang manapun sama saja efeknya, mengalokasikan array sebanyak 15 longint(15*4

= 45 bytes).

4.2 Penghitung Karakter Vokal

Program berikut akan membaca masukan string, kemudian dihitung jumlah huruf vokalnya. Yang termasuk huruf vokal antara lain A,I,U,E,O.

Sesi

4

(2)

Gambar 1. Program Pembaca Masukan String.

Komponen Properti Nilai

Edit1, Edit2 Text (kosongkan)

Label1 Caption String

Label2 Caption Jumlah Vokal

BitBtn1 Kind

Caption bkOK

Hitung

BitBtn2 Kind

Caption bkClose

Tutup

Form1 Caption Program Pembaca Masukkan String

Kode program untukeventOnClickpada komponenBitBtn1adalah sebagai berikut :

procedure TForm1.BitBtn1Click(Sender: TObject);

var

i, vokal: integer;

teks: string;

begin

teks := Edit1.Text;

vokal := 0;

for i:=1 to Length(teks) do begin

if UpCase (teks[i]) = 'A' then vokal := vokal+1;

if UpCase (teks[i]) = 'I' then vokal := vokal+1;

if UpCase (teks[i]) = 'U' then vokal := vokal+1;

if UpCase (teks[i]) = 'E' then vokal := vokal+1;

if UpCase (teks[i]) = 'O' then vokal := vokal+1;

end;

Edit2.Text := IntToStr(vokal);

end;

(3)

Gambar 2. Program Pembaca Masukan String setelah dieksekusi.

Dari contoh eksekusi di atas huruf vokal yang muncul adalah e,a,a,o,a,e, dan i, sehingga berjumlah 7 buah.

Penjelasan :

Variabel teks yang bertipe string dapat diperlakukan sebagai array. Ini dikarenakan string merupakan array dari karakter.

PerintahUpCase()digunakan untuk merubah suatu karakter menjadi huruf besar. Sehingga tidak peduli huruf kecil atau besar, semua akan menjadi huruf besar dan dianggap sebagai huruf vokal yang bersesuaian dengan kondisi if-nya.

Perlu diketahui, ada juga perintah UpperCase() yang digunakan untuk mengkonversi semua abjad dalam satu kalimat (string) menjadi huruf kapital semua. Kebalikannya adalah fungsi

LowerCase().

Catatan : Baris :

if UpCase (teks[i]) = 'A' then vokal := vokal+1;

if UpCase (teks[i]) = 'I' then vokal := vokal+1;

if UpCase (teks[i]) = 'U' then vokal := vokal+1;

if UpCase (teks[i]) = 'E' then vokal := vokal+1;

if UpCase (teks[i]) = 'O' then vokal := vokal+1;

dapat diubah menjadi :

if UpCase(teks[i]) in [‘A’, ‘I’, ‘U’, ‘E’, ‘O’] then vokal := vokal + 1;

Kemudian, pernyataan:

vokal := vokal + 1;

bisa disederhanakan menjadi:

inc(vokal,1);

atau

inc(vokal);

(4)

4.3 Pembalik Kalimat

Pada program berikutnya, kita akan membalikan kalimat yang diinputkan olehuser. Siapkan 2 buah

Label, 2Edit, dan 2BitBtn. Atur masing-masing propertinya sebagai berikut:

Komponen Properti Nilai

Edit1, Edit2 Text (kosongkan)

Edit2 Color clBtnFace

Label1 Caption Masukkan sembarang kalimat

Label2 Caption Hasil pembalikan

BitBtn1 Kind

Caption bkRetry

Balikkan

BitBtn2 Kind

Caption bkClose

Tutup

Form1 Caption Program Pembalik Kalimat

Rancanglah agar tampak seperti gambar berikut ini:

Gambar 3. Rancangan Program Pembalik Kalimat.

Masukkan kode berikut keeventOnClickpada tombol yang bertuliskan “Balikkan”:

procedure TForm1.BitBtn1Click(Sender: TObject);

var

kalimat, hasil: string;

i, panjang: integer;

temp: string[1];

begin

//Inisialisasi

kalimat := Edit1.Text;

hasil := '';

panjang := Length(kalimat);

for i := 1 to panjang do begin

temp := Copy(Kalimat, panjang+1-i, 1);

hasil := Concat(hasil, temp);

end;

Edit2.Text := hasil;

end;

(5)

Gambar 4. Tampilan program setelah dieksekusi.

Penjelasan :

 Perintah Length(x) digunakan untuk mengetahui jumlah karakter yang terkandung dalam variabelx.

 Perintah Copy(S, P, I) digunakan untuk menyalin karakter-karakter di variabel S mulai dari posisiPsebanyakI.

 Perintah Concat(A, B) digunakan untuk menggabungkan kalimat yang terkandung pada variabelA dan B. Perintah ini akan sama hasilnya dengan pernyataanA+B. Sebagai catatan, parameter dalam perintah ini bisa berjumlah berapa saja. Misalnya untuk menggabungkan empat string dapat digunakan perintah:Concat(A, B, C, D).

Catatan :

Pada program di atas, pernyataan :

temp := Copy(kalimat, panjang+1-i, 1);

hasil := Concat(hasil, temp);

dapat disederhanakan menjadi :

temp := Kalimat[panjang+1-i];

hasil := hasil + temp;

(6)

4.4 Menghitung Jumlah Masing-Masing Karakter

Pada contoh berikut, akan dibuat program yang akan menghitung jumlah dari masing-masing karakter dalam satu kalimat.

Pertama-tama masukkan terlebih dahulu komponen Panel, kemudian tempatkan semua komponen yang tampak pada gambar ke dalam panel tersebut:

Gambar 5. Rancangan program penghitung jumlah karakter.

Komponen Properti Nilai

Edit1, Edit2 Text (kosongkan)

Label1 Caption Kalimat

Label2 Caption Indeks

Label3 Caption Jumlah

ComboBox1 Style csDropDownList

BitBtn1 Kind

Caption bkOK

Proses

BitBtn2 Kind bkClose

Form1 Caption Program Pencacah Karakter

Panel1 Caption (kosongkan)

PadaeventOnClick BitBtn1, masukkan kode berikut:

procedure TForm1.BitBtn1Click(Sender: TObject);

var

i: byte;

kalimat: string;

karakter: char;

begin

//inisialisasi

for karakter := Spasi to Tilde do jumkar[karakter] := 0;

kalimat := Edit1.Text;

(7)

//perhitungan jumlah per karakter for i := 1 to length(kalimat) do begin

karakter := kalimat[i];

jumkar[karakter] := jumkar[karakter] + 1;

end;

//masukkan indeks ke ComboBox ComboBox1.Clear;

for karakter := Spasi to Tilde do ComboBox1.Items.Add(karakter);

end;

Kemudian padaeventOnChange ComboBox1, masukkan juga kode program berikut:

procedure TForm1.ComboBox1Change(Sender: TObject);

var

kar: char;

begin

kar := ComboBox1.Text[1];

Edit2.Text := IntToStr(jumkar[kar]);

end;

Namun, sebelumnya deklarasikan dulu konstanta di bawah ini di atas pernyataantype:

const

Spasi = #32;

Tilde = '~';

type

TForm1 = class(TForm)

Kemudian, deklarasikan juga variabeljumkardi dalam deklarasitypetersebut:

type

TForm1 = class(TForm) Panel1: TPanel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Edit1: TEdit;

Label1: TLabel;

ComboBox1: TComboBox;

Edit2: TEdit;

Label2: TLabel;

Label3: TLabel;

procedure BitBtn1Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

private

{ Private declarations }

jumkar: array[Spasi..Tilde] of byte;

public

{ Public declarations } end;

(8)

Gambar 6. Tampilan program setelah dijalankan.

Penjelasan :

Pada program di atas, kita menggunakan array dengan indeks bertipe karakter. Range

Spasi..Tilde dimaksudkan agar semua karakter pada keyboard bisa tercakup (lihat tabel ASCII), sehingga kita bisa mengakomodasi semua karakter yang ditekan olehuser.

EventOnChange terjadi ketika isi yang ditampilkan dari objek yang bersangkutan (dalam hal ini

ComboBox1) berubah. Pada program di atas, ketika user memilih suatu karakter yang terdapat dalam ComboBox, program akan mencarikan jumlah karakter yang tersimpan di array jumkar untuk ditempatkan di kolom jumlah (Edit2).

Latihan :

 Buat program untuk merubah kalimat yang diinputkan menjadi huruf kecil semua atau huruf besar semua, menggunakan pilihanRadioButton.

Catatan: gunakan perintahUpperCase()danLowerCase().

 Buat program untuk menghitung jumlah huruf kecil dan huruf besar.

(9)

4.5 Tabel ASCII

Gambar

Gambar 1. Program Pembaca Masukan String.
Gambar 2. Program Pembaca Masukan String setelah dieksekusi.
Gambar 3. Rancangan Program Pembalik Kalimat.
Gambar 4. Tampilan program setelah dieksekusi.
+3

Referensi

Dokumen terkait

Ketentuan Lampiran BAB IV Indeks Honorarium huruf B Kegiatan Yang Dilaksanakan Dalam Bantuk Panitia/Tim huruf B Kegiatan Khusus ditambah satu nomor yakni nomor 7 Tim Penyusunan

Metode penelitian : Penelitian dilakukan dengan pendekatan kuantitatif Jenis penelitian adalah penelitian exsperimental, dengan menggunakan pendekatan quasi exsperimental

Islam tempat penting tentang memaafkan individu sehingga seseorang dapat menerima pengampunan dari Allah atas dosa-dosa sendiri, dan dapat memiliki kebahagiaan pada

Pembangunan Rumah Oleh Perum Perumnas Provinsi Jawa Barat Tahun 2011. No Nama

Retnaningati (2011), melakukan penelitian di SMA Negeri 3 Surakarta menggunakan Model Pembelajaran Siklus Belajar (Learning Cycle) Untuk Meningkatkan Ke- terampilan Proses

Secara keseluruhan Manajemen Pengembangan Pariwisata Kabupaten Semarang di Dinas Pemuda, Olahraga, Kebudayaan dan Pariwisata Kabupaten Semarang sudah baik, disini

Pertumbuhan : Merupakan tanaman vigor, type semi determinate,toleran layu bakteri dan cocok didataran rendah dan tinggi.. Cabai

Menimbang : bahwa dengan adanya dinamika pemahaman terhadap pelaksanaan Pasal 298 ayat (5) Undang-Undang Nomor 23 Tahun 2014 tentang Pemerintahan Daerah yang menegaskan belanja