Algoritma : Array dan Record - Rumah IT

Baru

recent

Algoritma : Array dan Record

Algoritma : Array dan Record


Rumahit.ID - Pada pertemuan kali ini, kita akan kembali membahas materi yang sudah diberikan di algoritma dan pemrograman, yaitu array. Secara singkat, array adalah suatu tipe data terstruktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Array adalah bagian dari struktur data, sedangkan dalam prosesnya penggunaan array, kita memerlukan algoritma dan pemrograman yang baik.
Dalam kehidupan sehari-hari, kita seringkali bertemu dengan kebutuhan penyimpanan data sejenis yang dalam jumlah atau kuantitas banyak. Sebagai contoh sederhana, kita akan mencatat nilai suhu ruangan setiap hari selama 1 tahun. Tentunya kita akan membutuhkan sebuah data untuk menyimpan data suhu tersebut. Mengingat dalam 1 tahun ada 12 bulan dan tiap minggu ada 7 hari, maka yang kita butuhkan adalah variabel dengan tipe data terstruktur seperti array. Dan tidak mungkin kita menggunakan variabel tunggal sebanyak 366 buah.


Definisi Array

Array adalah suatu set dari alokasi data, dengan jenis data yang sama untuk tiap alokasi tersebut. Setiap alokasi data disebut sebagai elemen dari array. Untuk mendeklarasikan sebuah array, tuliskan jenis data dalam array tersebut, nama array dan diikuti dengan subscript. Subscript disini adalah menyatakan jumlah elemen array yang dituliskan di dalam kurung siku.
Contohnya : int IntArray[25];

Sebagai deklarasi sebuah array yang memiliki 25 alokasi data (elemen) dengan jenis data integer bernama IntArray. Perbedaan deklarasi variabel array dengan variabel biasa.
int a; //* hanya 1 nilai untuk variabel a

int a[10]; //* terdapat 10 slot nilai untuk variabel a int a[7] = {1,2,3,5,43,5,6};
Array dapat menggunakan nama apapun (yang dapat digunakan dalam bahasa C/C++), selama tidak memiliki nama yang sama dengan variabel tunggal lain. Dalam bahasa C/C++, array dimulai dari 0. Jika A merupakan array dengan jumlah elemen 10, maka variabelnya adalah A[0], A[1], ..., A[9]

5
9
15
8
-7
21
0
-3
11
-1
→ Isi Array
[0]
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
→ indeks Array
A[0] bernilai 5
A[4] bernilai -7 Berapa nilai A[6] ? Berapa nilai A[9] ?

Contoh lain :

1. int angka[10];
mendeklarasikan sebuah variable bernama angka berupa array satu dimensi untuk menampung/ menyimpan sepuluh data bertipe integer.


1
3
2
4
5
7
8
6
9
10
Indeks =
0
1
2
3
4
5
6
7
8
9

2. float bilangan[4][4];
mendeklarasikan sebuah variable bernama bilangan berupa array dua dimensi untuk menampung/ menyimpan enam belas data bertipe float.


Kolom = 0
Kolom = 1
Kolom = 2
Kolom = 3
Baris = 0
1.2
2.3
3.4
4.5
Baris = 1
1.3
1.4
1.5
1.8
Baris = 2
2.2
2.2
2.9
2.8
Baris = 3
3.0
3.7
3.5
3.6

3. char huruf[3][5][5];
mendeklarasikan sebuah variable bernama huruf berupa array tiga dimensi untuk menampung/ menyimpan tujuh puluh lima data bertipe char.

Algoritma : Array


Mengisi Nilai Elemen Array

Mengisi nilai pada elemen array dapat dilakukan dengan 2 cara, yaitu :

1. langsung dari program (statik)
2. diisi oleh user melalui input dari keyboard (dinamik)

Berikut contoh pengisian array yang diinput langsung dari program (statik). Artinya user tidak dapat merubah isi elemen array kecuali merubah dari kode programnya.

A[0] = 100; /*Nilai elemen A[0] adalah 100*/
B[5] = 35; /*Nilai elemen B[5] adalah 35 */
A[0] = B[5]; /*Nilai elemen A[0] adalah 35 */
C = -99; /*C adalah variabel biasa, bukan array. C bernilai -99 */
B[5] = C; /*Nilai elemen B[5] adalah -99. A[0] tetap bernilai 35 */

Berikut algoritma menampilkan elemen nilai array

Deklarasi
    int A[3];
    int B = 35;
Deskripsi
Mulai
    A[0] = 70;
    A[1] = B;
    Print “Isi nilai A[0] adalah A[0]”;
    Print “Isi nilai A[1] adalah A[1]”;
    Print “Silakan user mengisi nilai A[2]:”
    Scan A[2];
    Print “Isi nilai A[2] adalah A[2]”;
Selesai


Tampilan hasil yang diharapkan adalah sebagai berikut:

Algoritma : Array

Inisialisasi Array

Meskipun tidak dimungkinkan mengoperasikan array secara langsung, namun pemberian nilai
dapat dilakukan.
        int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
Bila initializers-nya lebih sedikit dari elements array, sisanya akan dianggap bernilai 0.
       int a[10] = {0, 1, 2, 3, 4, 5, 6};
maka nilai a[7], a[8], dan a[9] dianggap 0.
Bila terdapat initializer, maka dimensi array dapat diabaikan.
       int b[] = {10, 11, 12, 13, 14};
b merupakan array yang memiliki 5 elemen karena di-inisialisasi dengan 5 angka. Perhatikan
bahwa variable b dinyatakan sebagai b[] untuk menjelaskan bahwa b adalah sebuah array.
Jika elemen array adalah karakter, maka initializer dapat berupa string constant:
       char s1[7] = "Hello,";
       char s2[10] = "there,";
       char s3[] = "world!";
Untuk memberikan nilai atau mengoperasikan suatu array, dapat digunakan sebuah loop:

for(int i = 0; i < 10; i = i + 1)
{ a[i] = 0; }
/* a[0] hingga a[9] bernilai 0 */
for(i = 0; i < 10; i++) /* i++ adalah sama dengan i=i+1 */
{ b[i] = a[i]+1; }
/* b[0] hingga b[9] bernilai 1 */
for(i = 0; i < 10; i++)
{ c[i] = b[i]+i; }
/* untuk i=0 → c[0]=1+0=1,
 untuk i=1 → c[1]=1+1=2,
 untuk i=2 → c[2]=1+2=3,
 berapa nilai c[9]? */

Berikut contoh notasi algoritma deklarasi array dengan memanfaatkan proses iterasi (loop).

Deskripsi
    int n[10]
Deklarasi
Mulai
   for (int i=0; i<10; i++)
        n[i] = 0
        Print ”Indeks Elemen Nilai”
    for (i=0; i<10; i++)
        Print “i” ”n[i]”
Selesai

Tampilan hasil keluaran yang diharapkan:

Algoritma : Array

Definisi Record

Array sangat seringkali digunakan bersamaan dengan struktur data lain, yaitu record (rekaman).

Deklarasi
     typedef struct SISWA
     long NIM;
     char Nama[25];
     char Kota[30];
 // deklarasi array A berisi 2 record SISWA;

Deskripsi
 //menerima masukan user
     for (int i=0;i<2;i++){
     Print "NIM: "; Scan A[i].NIM;
     Print "Nama: ";Scan A[i].Nama;
     Print "Kota: ";Scan A[i].Kota;
 //menampilkan isi
     for (int i=0;i<2;i++){
     Print "Siswa ke-i ";
     Print A[i].Nama "("A[i].NIM")";
     Print "dari "A[i].Kota";
Selesai


Daftar Pustaka :

Andri Kristanto, Algoritma & Pemrograman dengan C++ Edisi 2, Graha Ilmu, Yogyakarta, 2009.
Budi Raharjo, Pemrograman C++, Informatika, Bandung, 2010.
Deitel & Deitel, C How to Program 3rd Edition, Prentice Hall, New Jersey, 2001
Teddy Marcus Zakaria dan Agus Prijono, Konsep dan Implementasi Struktur Data, Informatika,
Bandung, 2006.
Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Salemba Teknika, Jakarta,
2004.
All Rights Reserved by Rumah IT - Rumah Teknologi Informasi © 2013 - 2020
Powered By Blogger

Contact form

Name

Email *

Message *

Powered by Blogger.