PENGERTIAN ARRAY DAN MACAM-MACAMNYA C++(SATU DIMENSI, DUA DIMENSI, MULTI DIMENSI DAN TIPE DATA BENTUKAN)

PENGERTIAN ARRAY DAN MACAM-MACAMNYA (SATU DIMENSI, DUA DIMENSI, MULTI DIMENSI DAN TIPE DATA BENTUKAN)



A.   Definisi

Tipe  data  array  adalah  tipe  data  terstruktur  yang  merujuk  kepada  sebuah  atau sekumpulan elemen yang mempunyai tipe data yang sama melalui indeks. Array biasanya disebut juga sebagai tabel, vektor atau larik. Elemen dari array dapat diakses langsung jika dan hanya jika indeks terdefinisi (telah ditentukan nilainya sesuai dengan domain yang didefinisikan untuk indeks tersebut). Struktur data array disimpan dengan urutan yang sesuai dengan definisi indeks secara kontigu (berurutan) dalam memori komputer. Karena itu indeks haruslah merupakan suatu tipe data yang memiliki keterurutan (ada suksesor dan predesesor), misal tipe integer dan karakter. Dilihat dari dimensinya, array dapat dibagi menjadi Array Satu Dimensi, Array Dua Dimensi dan Array Multi-Dimensi.

1.   Array Satu Dimensi

Representasi array satu dimensi

Untuk  mendeklarasikan  variabel  dengan  tipe  data  array  satu  dimensi  pada  notasi algoritma, digunakan pola sebagai berikut:

Keterangan:
Nilai x merupakan nilai awal indeks pada array, dan nilai y merupakan nilai akhir
pada indeks array.
Contoh : 

Mengakses data array satu dimensi:
Array satu dimensi diakses melalui indeksnya. Misal akan disiapkan array satu dimensi A bertipe integer dengan 5 elemen yang diberi nomor indeks dari 0 sampai 4, yang dapat diilustrasikan dengan gambar berikut:

Karena array tersebut mempunyai nama yang sama, yaitu A, maka setiap elemen diberi sebutan nama yang berbeda dengan memberikan nomor indeks, sehingga masing-masing  menjadi:  A[0],  A[1],  sampai  dengan  A[4],  yang  dapat  dibaca dengan:
A dengan indeks 0 atau A nol
A dengan indeks 1 atau A satu,  dan seterusnya…
Untuk menyimpan nilai dalam array satu dimensi, dapat dilakukan dengan cara
sebagai berikut:
A[0] =4 /*simpan nilai 4 dalam array A pada indeks 0 */
A[1] =8 /*simpan nilai 8 dalam array A pada indeks 1*/
A[2] =6 /*simpan nilai 6 dalam array A pada indeks 2*/
A[3] =A[0] +A[1] /*tambahkan nilai dalam array A indeks 0 dengan nilai array A
indeks 1 dan simpan hasilnya pada array A indeks 3*/
A[4] = A[2] /*isikan array A indeks 4 dengan nilai pada array A indeks 2*/
Sehingga gambaran array A menjadi seperti berikut ini: 



2.   Array Dua Dimensi

Array dua dimensi merupakan array yang terdiri dari m buah baris (row) dan n buah kolom (column). Bentuk array semacam ini menggunakan 2 (dua) buah kelompok indeks yang masing-masing direpresentasikan sebagai indeks baris dan kolom. Jika ingin memasukkan atau membaca sebuah nilai pada matriks maka, harus diketahui terlebih dahulu indeks baris dan kolomnya. Untuk mendeklarasikan variabel dengan tipe data array dua dimensi pada notasi algoritma, digunakan pola sebagai berikut:

Nilai x merupakan nilai awal indeks baris pada array, dan nilai y merupakan nilai akhir indeks baris array. Nilai t merupakan nilai awal indeks kolom pada array, dan nilai u merupakan nilai akhir indeks kolom array.
Representasi array dua dimensi:

Gambar di atas merepresentasikan array yang terdiri dari 3 baris dan 5 kolom, dan jumlah elemennya = 3 x 5 = 15 elemen. Karena terdiri dari baris (row) dan kolom (column), maka array dua dimensi sering juga disebut matrix.Mengakses data array dua dimensi: Seperti array satu dimensi, array dua dimensi juga diakses melalui indeksnya.
Contoh: A[1,2], menunjuk pada posisi nilai array pada baris 1, kolom 2. Untuk menyimpan nilai dalam array dua dimensi, dapat dilakukan dengan cara sebagai berikut:
A[0,0] = 2 /*simpan 2 pada array A baris 0,kolom 0*/ 
A[0,1] =4 /*simpan 3 pada array A baris 0,kolom 1*/ 
A[1,2] =8 /*simpan 5 pada array A baris 1,kolom 2*/
A[2,2] =A[0,0] + A[1,2] /*tambahkan nilai pada array A baris 0,kolom 0 dengan nilai pada array A baris 1,kolom 2 dan simpan hasilnya pada array A baris 2,kolom 2 */
Sehingga gambaran array A menjadi seperti berikut ini:



3.   Array Multi-Dimensi

Dalam menggambarkan array multidimensi, hanya terbatas hingga dimensi ke-3, yakni dengan menggunakan bangun ruang, namun dalam kenyataannya, tipe data array ini dapat dibentuk menjadi lebih dari tiga dimensi atau menjadi n-dimensi. Representasi array 3 (tiga) dimensi 

Penulisan notasi algoritma untuk mendeklarasikan tipe data array multidimensi cukup dengan memodifikasi deklarasi array satu dimensi, yakni dengan menambahkan tanda koma “,” pada bagian definisi banyaknya elemen array dan menambahkan ukuran elemen yang diinginkan. Untuk mendeklarasikan variabel dengan tipe data array n-dimensi pada notasi algoritma, digunakan pola sebagai berikut:


4.   Tipe Data Bentukan

Dalam membuat program, kadangkala akan dihadapkan dengan   struktur data yang tidak sederhana dan apabila hanya ditangani dengan tipe data dasar saja, maka pembuat program akan kesulitan merumuskan komposisinya.
Sebagai contoh, program yang akan dibuat melibatkan data tentang  mahasiswa, maka untuk variabel mahasiswa akan sulit ditentukan tipe datanya karena pada mahasiswa terdapat beberapa elemen yaitu, nama, nomor induk mahasiswa, jenis  kelamin, alamat, dan elemen-elemen yang lainnya. 
Tantangan berikutnya adalah bagaimana cara menyimpan data-data mahasiswa tersebut jika jumlah mahasiswa lebih dari satu? Tentunya hal ini akan sangat sulit jika harus diselesaikan dengan tipe data dasar saja. Oleh karena itu diperlukan adanya suatu tipe data baru yang digunakan untuk menangani kasus di atas, yaitu dengan menggunakan tipe data bentukan. Tipe data bentukan merupakan suatu tipe data yang dirancang/dibentuk (dan diberi nama) dari beberapa elemen bertipe  tertentu  yang  sudah  dikenal.  Jadi  di  dalam  tipe  data  bentukan  akan terdapat  elemen  dengan  tipe  data  dasar  dan  dapat  juga  terdapat  tipe  data bentukan lain yang telah didefinisikan sebelumnya.
Tujuan digunakannya tipe data bentukan adalah supaya perancang program mendapatkan suatu tipe data dimana seluruh komponennya secara keseluruhan memiliki makna semantik dan di dalamnya terdapat keterkaitan antar komponen. Pada data mahasiswa telah dijabarkan beberapa elemen yang ada maka, dengan menggunakan  tipe  data  bentukan  ini,  perancang  program  dapat mendefinisikannya ke dalam program. Implementasi tipe data bentukan dalam bahasa pemrograman sangat bervariasi tergantung dari struktur bahasa pemrograman itu sendiri. Dalam notasi algoritmik, sebuah tipe bentukan (tipe komposisi) dapat disusun sebagai berikut :

Contoh  pada  data  mahasiswa  dapat  dijabarkan  elemen-elemennya  sebagai berikut:
1. Nim bertipe longint
2. Nama bertipe string
3. Umur bertipe word
Jika dituliskan dalam notasi algoritmik maka, akan menjadi:

type Mahasiswa : <nim : integer, 
nama : string,
umur : integer> 
Operasi dalam menggunakan tipe data bentukan memiliki perilaku yang sama dengan operasi pada tipe data dasar, hanya perbedaannya adalah pada cara mengaksesnya. Tipe data bentukan memiliki beberapa variabel/elemen yang berada di dalamnya, oleh karena itu cara mengaksesnya menggunakan tanda dot/titik ‘.’
Contoh:
Jika akan mendefinisikan nama variabel Mhs dengan tipe data Mahasiswa maka
pendeklarasiannya adalah:
Kamus data
Mhs : Mahasiswa
Jika akan mengisi elemen nim pada variabel Mhs maka:
Mhs.nim ->30107001
Atau dengan perintah masukan sebagai berikut:
input(Mhs.nim)
Jika akan menampilkan isi dari elemen nim pada variabel Mhs maka:
output(Mhs.nim)
Berikut adalah contoh penggunaan tipe data bentukan secara lengkap:


5. Kombinasi Tipe Bentukan dan Array 

•    Tipe Data Bentukan di dalam array
Permasalahan  yang  berikutnya  adalah  bagaimana  caranya  memasukkan  data mahasiswa dengan jumlah yang banyak? Di sini dapat digunakan array sebagai sarana untuk menyimpan data mahasiswa dalam satu variabel.
Cara mendeklarasikannya adalah sebagai berikut:

Jika direpresentasikan dalam bentuk gambar maka, akan tampak sebagai berikut:

Untuk mengimplementasikan penggambaran data di atas maka, cara pengisian array Mhs adalah sebagai berikut:


Atau dengan perintah masukan sebagai berikut

Dengan  demikian  data  mahasiswa  dapat  disimpan  dalam  satu  buah  variabel bertipe array dengan tipe Mahasiswa.
Contoh pseudocode lengkapnya:


Array di dalam Tipe Data Bentukan 

Pada contoh sebelumnya telah ditunjukkan bahwa di dalam sebuah elemen array dapat diisi dengan suatu nilai yang memiliki tipe data bentukan. Jika kondisi yang dihadapi oleh perancang program adalah kondisi yang sebaliknya, yaitu memasukkan variabel bertipe array menjadi salah satu atau beberapa elemen di dalam variabel yang memiliki tipe data bentukan, bagaimanakah cara mendefinisikan dan mengoperasikan variabel tersebut? Di dalam tipe data bentukan, satu atau beberapa elemennya diperbolehkan untuk menggunakan tipe data array. Salah satu contoh kasusnya adalah bagaimana mendefinisikan data mahasiswa yang mempunyai beberapa nilai. Jika digambarkan akan tampak sebagai berikut:
Mahasiswa

Dari gambar di atas dapat dilihat bahwa seorang mahasiswa memiliki beberapa nilai, maka cara mendeklarasikan tipe datanya adalah:
type Mahasiswa : <nim : integer, nama : string,
nilai: array [0..2] of integer > Kamus data
Mhs : Mahasiswa
Dalam hal ini yang memiliki tipe data array adalah elemen di dalam tipe data
bentukan, oleh karena itu cara mengakses elemen array yang terdapat di
dalam tipe Mahasiswa adalah sebagai berikut:
Mhs.nilai[0] -> 100
Mhs.nilai[1] -> 89
Mhs.nilai[2] -> 88
Atau dengan perintah masukan sebagai berikut:
input(Mhs.nilai[0])
input(Mhs.nilai[1])
input(Mhs.nilai[2]) 
Contoh pseudocode lengkapnya



6.   Array dari Tipe Bentukan yang Mengandung Array

Pada kasus ini tujuannya adalah mendefinisikan tipe data untuk menyimpan data dengan tipe data bentukan dan di dalam tipe data bentukan tersebut terdapat elemen dengan tipe array. Pada contoh kasus  ditunjukkan seorang mahasiswa memiliki nilai lebih dari satu. Pertanyaan berikutnya adalah bagaimana jika jumlah mahasiswanya lebih dari satu?
Caranya adalah dengan membuat variabel bertipe array dimana array tersebut memiliki tipe data bentukan yang di dalamnya terdapat array.
type Mahasiswa : <nim : integer,
nama : string,
nilai: array [0..2] of integer> 
Kamus data
Mhs : array [0..49] of Mahasiswa
Dapat dilihat bahwa dalam tipe data Mahasiswa terdapat elemen ‘nilai’ yang
memiliki tipe array, kemudian pada bagian kamus data didefinisikan bahwa
variabel Mhs merupakan tipe array dengan tipe data Mahasiswa.

Cara untuk mengisi satu elemen ‘Nilai’ dalam variabel Mhs adalah sebagai berikut:
...
Mhs[0].Nilai[0]<==100
Mhs[0].Nilai[1] <==89
Mhs[0].Nilai[2] <==88
...
Demikian pula untuk mengakses suatu nilai pada elemen Nilai di variabel Mhs adalah:
...
{Menampilkan isi elemen nilai ke-0}
output(Mhs[0].Nilai[0])
... 

Related Posts

Previous
Next Post »