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 !


Linked list pul
iya tah?
berarti gnti judul dung ne..