Array Hampir Tanpa Batas (batas=hampir~)

Dalam data berjumlah besar, kita sering menggunakan array dalam solusi menyimpan data yang kita input. karena kita tidak mungkin akan mendefinisikan banyak variabel, ini akan sangat memakan waktu dan tidak efisien. contohnya jika kita tidak menggunakan array : data_teman_1, data_teman_2, data_teman_3,…,data_teman_99 . Hal ini akan terasa sangat merepotkan. Jika kita menggunakan array maka pendefinisan variabel itu cukup seperti ini (dalam bahasa perl) my @data_teman_; walaupun ini bersifat optional.

Kemudian ….
Dalam pemasukan datanya, sering pula kita menggunakan nilai awal, nilai akhir(banyaknya data), contoh :
Berapa banyak teman yang ingin anda daftarkan ? : <anda menjawab 9, umpama>
ayo kita mulai!
Siapa nama teman ke-1 anda : <ana menjawab si Ana, umpama>
Dalam proses selanjutnya maka akan dilakukan pemasukan data ‘menanyakan: Siapa nama teman ke-1 anda :’ sebanyak 9 kali.
Selanjutnya.. metode yang seperti ini saya sebut dengan ‘array dengan batas’

sebagai contoh array dengan batas :


#!/usr/bin/perl

print"apakah anda siap akan melakukan pemasukkan nama teman anda [y/t] ? :";
$jawaban=<STDIN>;
chomp($jawaban);
if (($jawaban eq "y")||($jawaban eq "Y"))
{
print"Berapa banyak teman yang ingin anda daftarkan ? :";
$jumlah=<STDIN>;
chomp($jumlah); #menghilangkan karakter enter pada $jumlah

print"ayo kita mulai!\n";
for($lup=1;$lup<=$jumlah;$lup++)
{
print"Nama teman ke-$lup :";
$daftar_nama[$lup]=<STDIN>;
chomp($daftar_nama[$lup]);
}
for($mulai=1;$mulai<=$jumlah;$mulai++)
{
print"Nama teman anda adalah $daftar_nama[$mulai] \n";
}
print"Program selesai.. bye !\n";
}
else
{
print"Program dikeluarkan .. Bye !\n";
}

Namun, jika anda saat menjalankan program, tidak mengetahui dengan pasti berapa banyak teman yang akan anda daftarkan namanya, mungkin anda akan memasukkan 1 nama teman saja, 4 nama teman, dan selanjutnya, bagaimana solusinya?
solusinya adalah dengan ‘array tanpa batas’.

sebagai contoh array hampir tanpa batas :


#!/usr/bin/perl

print"apakah anda siap akan melakukan pemasukkan nama teman anda [y/t] ? :";
$jawaban=<STDIN>;
chomp($jawaban);
$nomor=1;
if (($jawaban eq "y")|($jawaban eq "Y"))
{
do{
print"Nama teman ke-$nomor :";
$daftar_nama[$nomor]=<STDIN>;
chomp($daftar_nama[$nomor]);
print"Mau memsukkan nama lagi [y/t] ? :"; #pertanyaan ini yang
#menyebabkan hampir tanpa batas
$tanya=<STDIN>;
chomp($tanya);
$nomor=$nomor+1;
}while(($tanya eq "y")||($tanya eq "Y"));  #ketika menjawab y atau Y
#maka terjadi looping

for($mulai=1;$mulai<=$nomor-1;$mulai++)
{
print"Nama teman anda adalah $daftar_nama[$mulai] \n";
}
print"Program selesai.. bye !\n";
}
else
{
print"Program dikeluarkan .. Bye !\n";
}

Core ‘inti’ dari hampir tanpa batas adalah sebuah pertanyaan ‘Mau memsukkan nama lagi [y/t] ? :’, ketika kita menjawab y atau Y maka akan terus terjadi looping, dan nilai dari variabel $nomor akan selalu dinaikkan satu $nomor=$nomor+1;. Pemasukkan data yang mengahasilkan ‘Nama teman ke-$nomor :’. Hal ini akan terus berulang sampai anda menjawab karakter selain y atau Y.

Kedua program sederhana ini sudah diuji, dan berjalan.
Mengapa saya katakan ‘hampir’? Ya karena masih terbatas dengan panjang nilai integer.

Itu hanyalah contoh sederhana ‘karena saya juga masih bisanya yang sederhana’. He…
Semoga bermanfangat !

2 Responses to “Array Hampir Tanpa Batas (batas=hampir~)”


  1. 1 abrari May 2, 2010 at 10:38 am

    Linked list pul 🙂

  2. 2 Syaiful May 3, 2010 at 3:50 am

    iya tah?
    berarti gnti judul dung ne..


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s




i'm a Ubuntu Partner"
Blue Ubuntu
Download Ubuntu 10.04 LTS


Download Ceramah Agama IslamKajian.Net

Blog Teman SMA N 1 Metro



Abrar
Albadr
Dea
Ferdian
Firli
Khafidz
Rizqy
This site uses Thumbshots previews

%d bloggers like this: