Anda di halaman 1dari 13

ARRAY

R AN I PU R BASAR I R AH MAD AN I SAH R I YU SU F G O Z AL I W IL D AN PU T R A S IR SAN J U L F IKAR R FAD IL P W IBO WO

Array
Array (larik) adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks array harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Sebagai contoh jika anda membuat program yang membaca 6000 nilai percobaan untuk dihitung nilai rata-rata-nya, akan sangat lucu jika anda menghitungnya dengan cara berikut: rata_rata = (x1 + x2 + x3 + x4 + x5 + ..+ x6000 )/6000. Ekspresi matematis nya:

Deklarasi
Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa : tipe_data nama_var[ukuran]; dengan : tipe_data :untuk menyatakan tipe dari elemen array, misalnya int, char, float. nama_var :nama variabel array
Name of array (c) c[0] c[1] c[2] c[3] c[4] c[5] c[6] c[7] c[8] c[9] c[10] c[11] -45 6 0 72 1543 -89 0 62 -3 1 6453 78

Ukuran :untuk menyatakan jumlah maksimal elemen array.

Position number of the element within array c

Array dapat dibedakan menjadi :


Array berdimensi satu (1D), berpadanan dg vektor di Matematika Array berdimensi dua (2D), berpadanan dg matriks di Matematika Array berdimensi banyak

Elemen array dapat diakses dengan bentuk:


nama_array[subscript] untuk dimensi 1 nama_array[subscript_baris][subscript_kolom] untuk dimensi 2 Contoh pendeklarasian array :

float nilai_tes[5]; menyatakan bahwa array nilai_tes mengandung 5 elemen bertipe float.

Inisialisasi
Array dapat diinisialisasi secara eksplisit pada waktu deklarasi. Nilai-nilai awal diapit oleh kurung kurawal { }. Apabila banyaknya nilai awal kurang dari ukuran array, maka unsur-unsur array yang tersisa diberi nilai awal nol. Contoh: semua unsur dari array a diberi nilai 0 Int b[10] = {-1, 3} int a[50] = {0};

unsur b[0] diberi nilai -1, b[1] diberi nilai 3, dan selain itu diberi nilai 0

Jika suatu array dideklarasikan tanpa ukuran dan diinisialisasi secara eksplisit dengan sebarisan nilai, maka compiler akan menentukan ukuran array tersebut sama dengan banyaknya nilai awal. Contoh: int a[ ] = {2, 2, 3, 3} EKUIVALEN dengan int a[4] = {2, 2, 3, 3}

Contoh
/* Program dengan Metode Maximum Sort */ #include <stdio.h> #include <conio.h> main() { int A[15]; int x, i, j, k, n, m, im, t; printf("Program penyusunan data dengan metode maximum sort\n"); printf("Masukkan jumlah data (maksimal 15) : "); scanf("%d", &n); for(i=0; i<n; i++) {printf("A[%d] = ", i); scanf("%d", &A[i]); x = n; for(j=0; j<n-1; j++) { m = A[0]; } im = 0; for(k=1; k<x; k++) { if(A[k] > m) { m = A[k]; im = k; } } t = A[x-1]; A[x-1] = A[im]; A[im] = t; x--;

printf("\nSusunan secara descending :\n"); for(i=0; i<n; i++) { printf("A[%d] = %d\n", i, A[i]);} getch(); }

Pada progam ini digunakan array dengan nama A dengan banyak data maksimal 15 dan juga menggunakan maximum sort. Selain itu digunakan penggulangan for. Pengulanggan pertama digunakan untuk mengiput array. Yang kedua dan ketiga digunakan secara bersamaan untuk mengurutkan data secara discending, pada penggulangan ke-tiga berisi pengkondisian untuk menentukan nilai dalam perulangan memenuhi syarat atau tidak. Nilai yang memenuhi syarat ditampilkan dengan pengkondisian terakhir.

String
String (Array of Char), seperti abc adalah suatu array yang terdiri dari karakter-karakter yang diakhiri karakter NULL (\0). char s[] = abc;

EKUIVALEN dengan
char s[] = {a, b, c, \0}; EKUIVALEN dengan

char s[4] = {a, b, c, \0};


Jadi, string abc terdiri dari 4 karakter, nilai dari sizeof(abc) adalah 4

Contoh
#include <stdio.h> #include <conio.h> main() { char str1[20], str[] int i; printf("Masukkan sebuah string:\n"); scanf("%s", str1); printf("String1: %s\nString2: %s\n", str1, str); printf("String1 dengan spasi antar karakter:\n"); for(i=0; str1[i] != '\0'; i++) = "Fisika Unpad";

printf("%c ", str1[i]);

getch(); }

Contoh aplikasi
/*Program mencari nilai atbt Dengan metoda kuadrat terkecil*/ #include <stdio.h> #include <conio.h> #include <math.h> #define max 100 for (i=0; i<j2; i++) { printf("masukan element y%d : ", i+1); scanf("%d", &Y[i]); } for (i=0; i<j1; i++) X2[i] = X[i] * X[i]; for (i=0; i<j1; i++) XY[i] = X[i] * Y[i]; jX = penjumlahan(X, j1); jY = penjumlahan(Y, j2); jX2 = penjumlahan (X2, j1); jXY = penjumlahan (XY, j1); at = ((j1*jXY) - (jX*jY)) / ((j1*jX2) - (jX*jX)); bt = ((jX2*jY) - (jX*jXY)) / ((j1*jX2) - (jX*jX)); } } printf("\n at = %.2f", at); printf("\n bt = %.2f", bt); getch();

int C, i, j2, f, j1; int X[max], Y[max], S[max], X2[max], XY[max]; float at, bt, jX, jY, jX2, jXY, jS, Sv;
int penjumlahan(int S[max], int f) { C = 0; for (i=0; i<f; i++) { C += S[i]; } return C; } main() { printf("masukan jum. data 1 (x) : "); scanf("%d", &j1); printf("masukan jum. data 2 (y) : "); scanf("%d", &j2); if(j1 != j2) { printf("jumlah data x dan y harus

sama\n");

getch(); return 0;} else { for (i=0; i<j1; i++) { printf("masukan element x%d : ", i+1); scanf("%d", &X[i]); }

Anda mungkin juga menyukai