Sabtu, 09 April 2011

Algoritma pemrograman bag-4

ARRAY/LARIK
Array adalah suatu tipe data terstuktur yang berupa sejumlahdata sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.
Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan. Dan Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda. Jadi elemen-elemen array ada yang sama dn ada juga yang berbeda-beda.Cara pengaksesan elemen Array

Elemen array dapat diakses sebagai berikut:
- Elemen-elemen array dapat diakses oleh program menggunakan

suatu indeks tertentu
- Pengaksesan elemen array dapat dilakukan berurutan atau

random berdasarkan indeks tertentu secara langsung.
- Pengisian dan pengambilan nilai pada indeks tertentu dapat

dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.
- Dalam program C, tidak terdapat error handling terhadap batasan nilai indeks, apakah indeks tersebut berada di dalam indeks array yang sudah didefinisikan atau belum.  Hal ini merupakan tanggung jawab programmer. Sehingga jika programmer mengakses indeks yang salah, maka nilai yang dihasilkan akan berbeda atau rusak karena mengakses alamat memori yang tidak sesuai.

Deklarasi array 1 Dimensi
tipe_data nama_var_array[ukuran];

tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll)
nama_var_array : menyatakan nama variabel yang dipakai.
ukuran : menunjukkan jumlah maksimal elemen larik.
Contoh:
char huruf[9];
int umur[10];
int kondisi[2] = {0,1}
int arr_dinamis[] = {1,2,3}

char huruf[9]: berarti akan memesan tempat di memori komputer sebanyak 9 tempat dengan indeks dari 0-8, dimana semua elemennya bertipe data karakter semuanya. Kalau satu karakter berukuran 1 byte, berarti membutuhkan memori sebesar 9 byte.

int umur[10]: berarti akan memesan tempat di memori komputer sebanyak 10 tempat dengan indeks dari 0-9, dimana semua elemennya bertipe data integer semuanya. Kalau satu integer berukuran 4 bytes, berarti membutuhkan memori sebesar 4 x 10 = 20 bytes.

int kondisi[2]: berarti akan memesan tempat di memori komputer sebanyak 2 tempat dengan indeks 0-1, dimana semua elemennya bertipe data integer semuanya. Dan pada contoh di atas isi elemen-elemennya yang sebanyak 2 buah diisi sekaligus (diinisialisasi) yaitu pada elemen kondisi[0] bernilai 0, dan elemen kondisi[1] bernilai 1.

int arr_dinamis[]: berarti mendeklarasikan array dengan ukuran maksimum array tidak diketahui, namun ukuran tersebut diketahui berdasarkan inisialisasi yaitu sebanyak 3 elemen, yang isinya 1,2, dan 3. Kita tidak dapat mendeklarasikan array dinamis tanpa inisialisasi.

Contoh menginputkan dan menampilkan array:

#include <stdio.h>
#include <conio.h>
void main()

 int nilai[5], x;
 clrscr();
 printf(“Memasukkan nilai :\n”);
 for(x=0;x<5;x++)
 {
  printf(“Nilai Angka : “); scanf(“%d”,&nilai[x]);
 }
 printf(“\n”);
 printf(“Membaca nilai :\n”);
 for(x=0;x<5;x++)
 {
  printf(“Nilai Angka : %d“,nilai[x]);
 }
 getch();
}

Contoh memanipulasi array 1Dimensi:

#include <stdio.h>
#include <conio.h>
int main()
{
 int bil[7],i;
 printf("elemen 1 ? ");scanf("%d",&bil[0]);
 bil[1] = 5;
 bil[2] = bil[1] + 20;
 for(i=4;i<7;i++) bil[i] = i*10;
 bil[3] = bil[bil[1]];
 for(i=0;i<7;i++) 
  printf("bil[%d] = %d dan alamatnya: %X\n",i,bil[i],&bil[i]);
 getch();
 return 0;
}

Contoh Menampilkan tanpa inisialisasi:

#include <stdio.h>
#include <conio.h>
int main()
{
 int bil[7]; //tanpa inisialisasi
 for(int i=0;i<7;i++)
 {
  printf("Elemen ke-%i = %d\n",i,bil[i]);
 }
 getch();
 return 0;
}

Contoh inisialisasi dengan 0:

#include <stdio.h>
#include <conio.h>
int main()
{
 int bil[7] = {0}; //inisialisasi 0
 for(int i=0;i<7;i++)
 {
  printf("Elemen ke-%i = %d\n",i,bil[i]);
 }
 getch();
 return 0;
}

Contoh Inisialisasi hanya dengan 2 elemen pertama:

#include <stdio.h>
#include <conio.h>
int main()
{
 int bil[7] = {2,5};
 for(int i=0;i<7;i++)
 {
  printf("Elemen ke-%i = %d\n",i,bil[i]);
 }
 getch();
 return 0;
}

Contoh menampilkan karakter yang tidak diinisialisasi:

#include <stdio.h>
#include <conio.h>
int main()
{
 char h[5];
 for(int i=0;i<5;i++)
 {
  printf("Elemen ke-%i = %c\n",i,h[i]);
 }
 getch();
 return 0;
}


ARRAY 2 DIMENSI

Array 2 dimensi Sering kali digambarkan/dianalogikan sebagai sebuah matriks. Jika array berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array berdimensi dua terdiri dari banyak baris dan banyak kolom yang bertipe sama.

Deklarasi Array 2 Dimensi

tipe_data nama_var_array[batas_baris][batas_kolom];

contoh:

#include <stdio.h>
#include <conio.h>
void main()

 int x[3][3]={{1,2,3},{4,5,6},{7,8,9}},b,k;
 clrscr();
 for(b=0 ; b<3 ; b++)
  for(k=0 ; k<3 ; k++)
   printf("x[%d][%d] = %d\n",b,k,x[b][k]);
 for(b=0 ; b<3 ; b++)
  for(k=0 ; k<3 ; k++)
  {
   gotoxy(20+(k+1)*2,b+1);
   printf("%d",x[b][k]);
  }
 getch();
}

Array/Larik String

Tipe data string pada bahasa C merupakan kumpulan dari tipe data char. Nilai dari string tunggal dapat dibuat dari larik karakter berdimensi satu. - Berarti larik string tunggal, dapat dibuat dari larik karakter berdimensi satu, dan larik string dimensi satu dapat dibentuk dari larik karakter berdimensi dua. - Dan untuk larik string berdimensi X, dapat dibuat dari larik karakter berdimensi X+1.

Contoh membuat nama bulan:

#include <stdio.h> 
#include <conio.h> 
void main()

 int x,y;
 char Bulan[12][3] = {"Jan","Peb","Mar","Apr",
                      "Mei","Jun","Jul","Ags",
                      "Sep","Okt","Nop", "Des"};
 clrscr();
 for(x=0;x<12;x++)
  for(y=0;y<3;y++)
    printf ("%c",Bulan[x][y]); 
 getch(); printf(" "); 


Contoh membuat nama hari:

#include <stdio.h> 
#include <conio.h> 
void main()

 int x,y;
 char hari[7][10] = {"Minggu", "Senin", "Selasa", 
                     "Rabu", "Kamis", "Jumat", "Sabtu"};
 clrscr();
 for(x=0;x<7;x++)
 { 
  printf ("%s ",hari[x]);
 }
 getch();



Sebelumnya Algoritma dan pemrograman bag-3 | Untuk Procedure & Function akan dibahas dilain waktu.

0 komentar:

Posting Komentar

Facebook Comments

cbox
cbox