Pemrograman Komputer - Array

Pertimbangkan situasi di mana kita perlu menyimpan lima bilangan bulat. Jika kita menggunakan variabel sederhana pemrograman dan konsep tipe data, maka kita membutuhkan lima variabelint tipe data dan programnya adalah sebagai berikut -

#include <stdio.h>

int main() {
   int number1;
   int number2;
   int number3;
   int number4;
   int number5;
   
   number1 = 10;      
   number2 = 20;   
   number3 = 30;   
   number4 = 40; 
   number5 = 50;     

   printf( "number1: %d\n", number1);
   printf( "number2: %d\n", number2);
   printf( "number3: %d\n", number3);
   printf( "number4: %d\n", number4);
   printf( "number5: %d\n", number5);
}

Itu sederhana, karena kami hanya menyimpan lima bilangan bulat. Sekarang mari kita asumsikan kita harus menyimpan 5000 bilangan bulat. Apakah kita akan menggunakan 5000 variabel?

Untuk menangani situasi seperti itu, hampir semua bahasa pemrograman menyediakan konsep yang disebut array. Array adalah struktur data, yang dapat menyimpan kumpulan elemen berukuran tetap dari tipe data yang sama. Sebuah array digunakan untuk menyimpan sekumpulan data, tetapi seringkali lebih berguna untuk menganggap array sebagai kumpulan variabel dengan tipe yang sama.

Alih-alih mendeklarasikan variabel individual, seperti number1, number2, ..., number99, Anda cukup mendeklarasikan satu variabel array numberdari jenis integer dan gunakan nomor1 [0], nomor1 [1], dan ..., nomor1 [99] untuk mewakili variabel individu. Di sini, 0, 1, 2, ..... 99 adalahindex berkaitan dengan var variabel dan mereka digunakan untuk mewakili elemen individu yang tersedia dalam array.

Semua array terdiri dari lokasi memori yang berdekatan. Alamat terendah sesuai dengan elemen pertama dan alamat tertinggi untuk elemen terakhir.

Buat Array

Untuk membuat variabel array di C, programmer menentukan jenis elemen dan jumlah elemen yang akan disimpan dalam array itu. Diberikan di bawah ini adalah sintaks sederhana untuk membuat array dalam pemrograman C -

type arrayName [ arraySize ];

Ini disebut larik berdimensi tunggal . ItuarraySize harus berupa konstanta bilangan bulat yang lebih besar dari nol dan typedapat berupa tipe data C yang valid. Misalnya, sekarang untuk mendeklarasikan array 10 elemen yang dipanggilnumber tipe int, gunakan pernyataan ini -

int number[10];

Di sini, angka adalah larik variabel, yang cukup untuk menampung hingga 10 bilangan bulat.

Menginisialisasi Array

Anda dapat menginisialisasi array di C satu per satu atau menggunakan satu pernyataan sebagai berikut -

int number[5] = {10, 20, 30, 40, 50};

Jumlah nilai di antara tanda kurung kurawal {} tidak boleh lebih besar dari jumlah elemen yang kita nyatakan untuk larik di antara tanda kurung siku [].

Jika Anda menghilangkan ukuran array, sebuah array yang cukup besar untuk menampung inisialisasi akan dibuat. Karena itu, jika Anda menulis -

int number[] = {10, 20, 30, 40, 50};

Anda akan membuat larik yang persis sama seperti yang Anda lakukan di contoh sebelumnya. Berikut adalah contoh untuk menetapkan satu elemen dari array -

number[4] = 50;

Pernyataan di atas memberikan elemen nomor ke-5 dalam array dengan nilai 50. Semua array memiliki 0 sebagai indeks dari elemen pertama mereka yang juga disebut indeks dasar dan indeks terakhir dari sebuah array akan menjadi ukuran total dari array tersebut dikurangi 1. Gambar berikut menunjukkan representasi bergambar dari array yang kita diskusikan di atas -

Mengakses Elemen Array

Sebuah elemen diakses dengan mengindeks nama array. Ini dilakukan dengan menempatkan indeks elemen dalam tanda kurung siku setelah nama larik. Misalnya -

int var = number[9];

Pernyataan di atas akan mengambil elemen ke-10 dari array dan menetapkan nilainya ke varvariabel. Contoh berikut menggunakan semua tiga konsep yang disebutkan di atas yaitu. pembuatan, penugasan, dan mengakses array -

#include <stdio.h>
 
int main () {
   int number[10]; /* number is an array of 10 integers */
   int i = 0;
 
   /* Initialize elements of array n to 0 */         
   while( i < 10 ) {
	
      /* Set element at location i to i + 100 */
      number[ i ] = i + 100;
      i = i + 1;
   }
   
   /* Output each array element's value */
   i = 0;
   while( i < 10 ) {
	
      printf("number[%d] = %d\n", i, number[i] );
      i = i + 1;
   }
   
   return 0;
}

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -

number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109

Array di Jawa

Berikut ini adalah program setara yang ditulis di Java. Java mendukung array, tetapi ada sedikit perbedaan dalam cara pembuatannya di Java menggunakan ekstensinew operator.

Anda dapat mencoba menjalankan program berikut untuk melihat hasilnya, yang harus identik dengan hasil yang dihasilkan oleh contoh C di atas.

public class DemoJava {
   public static void main(String []args) {
      int[] number = new int[10];
      int i = 0;
      
      while( i < 10 ) {
		
         number[ i ] = i + 100;
         i = i + 1;
      }

      i = 0;
      while( i < 10 ) {
         System.out.format( "number[%d] = %d\n", i, number[i] );
         i = i + 1;
      }
   }
}

Ketika program di atas dijalankan, menghasilkan hasil sebagai berikut -

number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109

Array (Daftar) dengan Python

Python tidak memiliki konsep Array, sebaliknya Python menyediakan struktur data lain yang disebut list, yang menyediakan fungsionalitas serupa dengan array dalam bahasa lain.

Berikut ini adalah program setara yang ditulis dengan Python -

# Following defines an empty list.
number = []
i = 0

while i < 10:
   # Appending elements in the list
   number.append(i + 100)
   i = i + 1

i = 0
while i < 10:
   # Accessing elements from the list
   print "number[", i,  "] = ", number[ i ]
   i = i + 1

Ketika program di atas dijalankan, menghasilkan hasil sebagai berikut -

number[ 0 ] =  100
number[ 1 ] =  101
number[ 2 ] =  102
number[ 3 ] =  103
number[ 4 ] =  104
number[ 5 ] =  105
number[ 6 ] =  106
number[ 7 ] =  107
number[ 8 ] =  108
number[ 9 ] =  109