Selasa, 06 Mei 2014

Array dan String

Definisi Array dan String
 
žArray adalah sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama. Setiap data tersebut menempati lokasi atau alamat memori yang berbeda – beda.
žString adalah kumpulan beberapa karakter atau array dari karakter.
žString dan karakter dibedakan cara penulisannya. String ditulis dengan diapit oleh tanda petik ganda “ … “ , dan karakter ditulis dengan diapit oleh tanda petik tunggal ‘ … ‘. Akhir dari string ditunjukkan oleh NULL karakter.
žContoh : mendeklarasikan array yang menyimpan 30 nama, masing-masing nama terdiri dari 25 karakter
#define jml_orang 30
#define pjg_nama 25
….
Char nama [jml_orang] [pjg_nama]
žInisialisasi array dari string dapat dilihat pada contoh berikut :
Char nama[30] [25] = {“bejo”, “paiman”, “sukimen”, “aresta”, “steve”, “karto”,… “Erik”}
Deklarasi Array
žArray merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap elemen diakses dengan membedakan indeks array-nya. Berikut adalah contoh variable bernama c yang mempunyai lokasi memori yang semuanya bertipe int.
žC[0] -45
C[1] 6
C[2] 0
C[3] 72
C[4] 1543
C[5] 43
C[6] 4
žMasing-masing nilai dalam setiap lokasi mempunyai identitas berupa nama c dan nomor indeks yang dituliskan di dalam tanda kurung ‘[..]’. sebagai contoh, 72 adalah nilai dari c[3].
žVariable array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk variable array c di atas adalah :
int c[7];
žNilai suatu variable array dapat juga diinisialisasi secara langsung pada saat deklarasi, misalnya;
Int c[7] = {-45, 0, 6, 72, 1543, 43, 4}
Berarti setiap lokasi memori dari variable array c langsung diisi dengan nilai-nilai yang dituliskan didalam tanda kurung kurawal.
žBanyaknya lokasi memori dapat secara otomatis disediakan sesuai degan banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variable array dengan 10 lokasi memori:
Int x []={10, 15 12, 5, 13, 9, 6, 17, 25, 31};
žUntuk memperjelas gambaran anda tentang Array perhatikan contoh aplikasi variable array, yaitu program untuk menghitung jumlah setiap elemen dalam suatu array.
Program Array
žSedangkan implementasi dalam program dapat dilihat berikut ini.

ž/*Program :array*/
#include
#define SIZE 12
main()
{
int a[SIZE]={1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
int indeks, total =0;
for(indeks=0; indeks<=SIZE-1; indeks++)
total += a[indeks];
printf(“nTotal setiap elemen array adalah %d”,total);
return 0;
}
ž
žBila program diatas dijalankan, akan muncul hasil : Total setiap elemen array adalah 383
Penjelasan program
žHasil penjumlahan setiap elemen array diperoleh dari jumlah data atau elemen array sebanyak 12 buah yang sudah didefinisikan pada awal Program yaitu #define SIZE 12.
žKemudian setiap elemen array dari a[0] yang berisi data, a[1] yang berisi data 3 di jumlahkan sampai dengan a[11] yang berisi data 45.
žProses penjumlahan dilakukan pada loop dimulai dari 0 sampai data yang terakhir atau elemen terakhir.
Perbedaan Array dan String
žArray dapat menyimpan berbagai tipe data, sedangkan string adalah bagian dari array yang hanya dapat menyimpan karakter.
ž Type data Array
›C  C++
typedef int tabel[11];  typedef int tabel[11];
Typedef      typedef
float matrix[21][31];  float matrix[21][31];
›Format deklarasinya : typedef <type-elemen> <nama-type>[<banyaknya elemen + 1>];
–- Pada C dan C++ indeks array selalu dimulai dari 0.
–- Jadi jika ditulis int tabel[11] artinya ada tabel[0] … tabel[10].
–- Contoh cara pengaksesan : tabel[2], matrix[5][29]
žType data String
›C  C++
typedef char name[31];  typedef std::string name;

›- Untuk C, tidak ada type data khusus string, sehingga string didefinisikan sebagai array of char.
›- Pada Pascal, name:string[30] artinya karakter diisi dari name[1]..name[30]
žsedangkan dalam C char name[31] artinya karakter diisi dari name[0]..name[30].
›- Untuk C++, untuk menggunakan type string harus ada #include <string> di awal
›program harus menggunakan std::string.

Tidak ada komentar:

Posting Komentar