Ini blogku...Selamat datang

Rabu, 09 April 2014

Tugas Rekursif

        
Tugas Rekursi
Nama  : Indah Zalika    
Nim : 09031181320020  
 Kelas : SI.2B                     



           Rekursif adalah suatu proses yang bisa memanggil dirinya sendiri. Dalam Rekursif sebenarnya terkandung pengertian prosedurdan fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi prosedur dan fungsi harus dipanggil lewat pemanggil prosedur dan fungsi. Di Dalam C++, rekursif mengambil bentuk suatu fungsi yang memanggil diri sendiri. Suatu cara untuk berpikir tentang fungsi-fungsi rekursif dengan menggambarkan sebagai suatu proses yang sedang melaksanakan salah satu perintah  untuk mengulangi proses. Hal ini sangat serupa dengan suatu pengulangan karena mengulangi kode yang sama, dan dalam beberapa hal yang serupa dengan rekursif. Selain itu, rekursif membuat pengulangan lebih mudah untuk menyatakan gagasan-gagasan di mana hasil dari panggilan yang berulang digunakan untuk melengkapi task (instruksi).
           
           Suatu algoritma recursif adalah satu algoritma yang memanggil diri sendiri dengan nilai masukan lebih sederhana, dan memperoleh hasil dengan masukan yang sederhana dengan menerapkan operasi yang sederhana untuk mengembalikan nilai masukan yang lebih sederhana. Lebih umum lagi jika suatu masalah dapat dipecahkan menggunakan solusi-solusi dengan versi-versi yang lebih kecil pada masalah yang sama, dan semakin kecil versi-versi akan mengurangi kasus-kasus dan  dengan mudah dapat dipecahkan, lalu seseorang dapat menggunakan suatu algoritma yang berulang untuk memecahkan masalah itu. sesuatu secara berulang didefinisikan sebagai fungsi yang diperoleh oleh suatu algoritma yang berulang. Jika seperangkat atau suatu fungsi digambarkan secara berulang, lalu suatu algoritma yang berulang untuk menghitung para anggota atau nilai-nilai yang mencerminkan definisi. Langkah awal dari algoritma rekursif berpasangan dengan ketentuan dasar dari definisi rekursif dan mereka mengidentifikasi unsur-unsur dasar. Kemudian mengikuti langkah demi langkah sesuai dengan ketentuan yang induktif, yang mengurangi perhitungan untuk satu unsur dibangkitkan tersebut dari unsur-unsur yang dibangkitkan terdahulu. Umumnya, program komputer yang berulang memerlukan lebih banyak memori dan perhitungan dibandingkan dengan algoritma-algoritma berulang-ulang, tetapi mereka bersifat lebih sederhana untuk banyak kasus terhadap suatu cara berpikir yang alami tentang pemecahan masalah.


Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Pada beberapa persoalan, fungsi rekursif sangat berguna karena mempermudah solusi. Namun demikian, fungsi rekursif juga memiliki kelemahan, yakni memungkinkan terjadinya overflow padastack, yang berarti stack tidak lagi mampu menangani permintaan pemanggilan fungsi karena kehabisan memori stack adalah area memori yang dipakai untuk variable lokal untuk mengalokasikan memori ketika suatu fungsi dipanggil. Oleh karena itu, jika bisa diselesaikan dengan metode iteratif, gunakanlah metode iteratif.
Bentuk umum fungsi rekursif:

Nama_fungsi(parameter_list)
  {
     ...
     Nama_fungsi(parameter_list);
     ...
  }

Dengan metode rekursif  program menjadi lebih singkat dan untuk beberapa kasus program lebih mudah menggunakan fungsi yang rekursif. Fungsi rekursif memakan memori yang lebih besar, karena setiap kali bagian dirinya dipanggil, membutuhkan sejumlah ruang memori tambahan. Ketika efisiensi dan kecepatan dikorbankan fungsi rekursif seringkali tidak bisa “berhenti” sehingga memori akan habis dan komputer menjadi tidak aktif (hang). Dengan demikian, jika memang bisa diselesaikan dengan iteratif, gunakanlah iteratif. Contoh sederhana rekursif

void recurse()
{
    recurse(); /* Pemanggilan Fungsi dirinya sendiri */
}
 
int main()
{
    recurse(); /* Set pengulangan */
    return 0;
}

Komputer menjaga pemanggilan fungsi pada suatu tumpukan dan ketika terlalu banyak panggilan tanpa akhir, program itu akan crash. Mengapa  tidak menulis suatu program untuk melihat berapa kali fungsi itu dipanggil sebelum program berakhir? Dengan demikian diperlukan perintah untuk melakukan hitungan terhadap panggilan fungsi, menggunakan program sederhana yang akan menunjukkan seringnya fungsi rekursif kembali dipanggil dengan inisialisasi setiap panggilan fungsi dihitung sebagai satu variabel yang lebih besar dari yang sebelumnya dengan melewatkan hitungan + 1. Mengingat bahwa panggilan fungsi tidak dimulai dari diri sendiri; karena itu, ratusan panggilan fungsi yang lain masing-masing menjadi tidak selesai.
Contoh penggunaan hitungan pada panggilan fungsi rekursif

#include <stdio.h>
/* Setiap pemanggilan mendapat hitungan kopian */
void recurse ( int count ) 
{
    printf( "%d\n", count );
    recurse ( count + 1 );
}
 
int main()
{
  /* pemanggilan fungsi pertama, jadi dimulai dari satu */
  recurse ( 1 );
  return 0;
}

Cara terbaik untuk berpikir tentang rekursif adalah bahwa setiap panggilan fungsi adalah  satu proses yang dilaksanakan oleh komputer. Jika kita berpikir tentang suatu program yang dilaksanakan oleh suatu kelompok orang yang dapat memberikan informasi tentang status dari suatu task dan instruksi pada hasil task, dimana setiap panggilan fungsi yang berulang merupakan permintaan yang berikutnya untuk mengikuti set instruksi yang sama di beberapa bagian dari task selagi orang pertama menunggu hasil.
            Pada saat tertentu, kita akan kehabisan orang-orang untuk menyelesaikan instruksi, sama seperti fungsi-fungsi rekursif yang kehabisan ruang di tumpukan. Dimana perlu suatu cara untuk menghindari hal ini! Untuk menghentikan satu rangkaian panggilan rekursif, suatu fungsi rekursif akan memiliki suatu kondisi yang mengendalikan kapan fungsi itu akan berakhir memanggil diri sendiri. Kondisi di mana fungsi itu tidak akan memanggil diri sendiri adalah kasus dasar dari fungsi. Pada dasarnya, hal itu biasanya adalah satu jika statemen memeriksa beberapa variabel untuk suatu kondisi (yang kurang dari nol, atau lebih besar)  dan jika kondisi itu adalah benar, maka tidak akan diizinkan fungsi untuk memanggil diri sendiri lagi.
Contoh sederhana fungsi rekursif yang dibatasi oleh kondisi tertentu

void count_to_ten ( int count )
{
       if ( count < 10 )   
       {
           count_to_ten( count + 1 );
       }
}

Tujuan program ini menghentikan hitungan ketika hitungan sudah tidak lagi kurang dari sepuluh. Ini adalah suatu hal yang baik karena ini berarti bahwa jika kita mempunyai satu masukan lebih besar dari sepuluh, kita akan berhenti dengan segera. Jika kita memilih untuk berhenti ketika hitungan sama dengan sepuluh, lalu jika fungsi itu memanggil masukan ke-11, hal itu akan sebagai isyarat ke memori sebelum berhenti.
            Bagaimana Satu fungsi yang bisa mencetak angka-angka 123456789987654321 menggunakan pengulangan untuk menulis suatu fungsi untuk lakukan hal ini? Solusi sederhana adalah dengan menjaga kenaikan suatu variabel yang dilewatkan, kemudian  menjadi variabel keluaran yang berikutnya: yakni satu kali sebelum fungsi rekursif, dan ketika setelah fungsi rekursif.

void printnum ( int begin )
{
    printf( "%d", begin ); 
    if ( begin < 9 )  
    {                           
        printnum ( begin + 1 ); 
    }
    printf( "%d", begin );
}

Fungsi ini bekerja karena fungsi akan mengalami dan mencetak angka-angka mulai 1 sampai  9, kemudian setiap fungsi printnum berakhir akan dilanjutkan pencetakan nilai dari mulai 9 sampai 1.
Contoh berikut yakni membuat kombinasi huruf  a, b, c, d dengan sebuah fungsi rekursif

void f(int x, int num)
{
      int i;
      char a[4] = {'a', 'b', 'c', 'd'};
      char temp[16];
      if(num == 0)
            return;
      else for(i = 0; i < 4; i++)
      {
            temp[x] = a[i];
            f(x + 1, num - 1);
            temp[x + 1] = '\0';
            printf("%s\n", temp);
      }
}

Menara Hanoi
            Menara Hanoi merupakan persoalan untuk memindahkan tumpukan piring dari satu tonggak ke tonggak lain dengan bantuan sebuah tonggak perantara. Penyelesaian secara rekursif untuk persoalan ini dengan n buah piring menggunakan algoritma:
  1. Pindahkan piring n-1 teratas pada tonggak A ke tonggak B dengan menggunakan tonggak C sebagai perantara
  2. Pindahkan  1 piring tersisa pada tonggak A ke tonggak C
  3. Pindahkan n-1 piring teratas tonggak B ke tonggak C, dengan menggunakan tonggak A sebagai perantara
Dengan algoritma tersebut maka dapat dibuat suatu fungsi rekursif sebagai berikut:

            Void tonggak(int n, char a, char b, char c)
{
      if(n == 1)
            Printf(“Pindahkan piring %c ke %c \n”, a, c);
      Else
      {
            tonggak(n-1, a, c, b);
            tonggak(1, a, b, c);
            tonggak(n-1, b, a, c);
}
}



Contoh Algoritma Rekursif


#include <cstdlib>
#include <iostream>

using namespace std;
long faktorial(int n){
     if((n==0)||(n==1)){
                        return 1;
                        }
     else {
          return n*faktorial(n-1);
          }
     }
int main(int argc, char *argv[])
{
    int n;
    cout<<"Masukkan angka yang akan difaktorialkan:";
    cin>>n;
    cout<<"Hasil:"<<faktorial(n);
    system("PAUSE");
    return EXIT_SUCCESS;
}



Refrensi :
http://mahfuzm.blogspot.com/2011/04/program-rekursif-c.html
http://errickrachman.blogspot.com/2010/11/recursive-rekursif.html

Jumat, 07 Maret 2014

Selection Short

Selection Short???

Apa itu selection short?
Selection short yaitu mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan,
Perbedaannya dengan Bubble Short?
"Menurut pendapat saya "
Kalau Bubble short itu mengurutan dengan cara melakukan penukaran data dengan tepat di sebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Jadi membutuhkan waktu yg sangat lama dan sangat tidak cocok untuk data yang berskala besar.
Sedangkan Selection Short itu mengurutan dengan cara mencari data yang terkecil kemudian menukarkannya dengan data yang digunakan sebagai acuan atau sering dinamakan pivot. Sehingga waktu yang digunakan tidak terlalu lama.
Algoritma nya seperti apa ?
Ø  Temukan nilai yang paling minimum di dalam struktur data. Jika ascending, maka yang harus ditemukan adalah nilai yang paling minimum. Jika descending, maka temukan nilai yang paling maksimum.
Ø  Tukar nilai tersebut dengan nilai pada posisi pertama di bagian struktur data yang belum diurutkan.
Ø  Ulangi langkah di atas untuk bagian struktur data yang tersisa.

Berikut Contoh Kodingan nya (c++)


#include <iostream>
#include <conio.h>

using namespace std;
int main()
{
    int i,j,n,data[10],simpan,min,posisi;

    cout <<"\tTugas Selection Short";
    cout<<"\n\tIndah Zalika";
    cout<<"\n\t09031181320020";

    char ulang='Y';
    while (ulang=='Y'){

   cout<<"\n\nMasukkan banyak data(Max 10): ";
   cin>>n;


   for(i=1;i<=n;i++)
   {
    cout<<"Data Ke- "<<i<<" = ";
    cin>>data[i];
   }
   for(i=1;i<=n;i++)
   {
    for(j=i+1;j<=n;j++)
      {
            if(data[i]>data[j])
         {
            simpan=data[i];
            data[i]=data[j];
            data[j]=simpan;
         }
      }
   }
   cout<<"Data setelah Diurutkan: ";
   for(i=1;i<=n;i++)
    cout<<data[i]<<" ";
    cout << "\n\n\nApakah Anda Ingin Kembali (Y/N)?     :";
    cin  >> ulang;

    }

return 0;
}


Note :for yang pertama digunakan untuk mengambil nilai dan for yang kedua digunakan untuk membandingan dengan nilai selain yang di ambil oleh for yang pertama setelah for kedua nilai akan ditukar

Jumat, 21 Februari 2014

BUBLE SHORT

Nama : Indah Zalika         
NIM  : 09031181320020
Kelas  : SI.2B                   


    Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending).Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.

                


Berikut adalah contoh  buble short dengan program buble short :

Program software nya atau toolnya (Code Blocks)



#include <iostream>

using namespace std;

int main()
{
   int i,j,k,x,data[100],temp;
   cout<<"\tBUBLE SHORT";
   cout<<"\n\t09031181320020";
   cout<<"\n\tIndah Zalika";

   cout<<"\n\nMasukkan Jumlah data: ";
   cin>>x;
   for(i=1;i<=x;i++)
      {
         cout<<"Data Ke-"<<i<<" : ";
         cin>>data[i];
       }
   cout<<"\n\nData Awal:  ";
   for(i=1;i<=x;i++)
   cout<<data[i]<<" ";
   cout<<endl;

   for(i=1;i<x;i++)
   {
    for(j=1;j<x;j++)
      {
            if(data[j]>data[j+1])
         {
            temp=data[j];
            data[j]=data[j+1];
            data[j+1]=temp;
         }
      }
   }
   cout<<"Data Setelah Terurut: ";
   for(i=1;i<=x;i++)
    cout<<data[i]<<" ";


    return 0;
}




Jumat, 14 Februari 2014

Tugas Alpro II Sequantial Search

Nama     : Indah Zalika
Kelas      : SI.2B         


Tugas sequantial search C++  dengan program (code blocks)



 INPUT :
#include <iostream>

using namespace std;

int main()
{

int X,I,K;
int L[10] ={20,15,22,14,12,10,24,19,18,16} ;

cout<<"\tNama : Indah Zalika";
cout<<"\n\tKelas : SI.2B";
cout<<"\n\tTugas ke-2";


cout<<"\n\nData: 20,15,22,14,12,10,24,19,18,16";
cout<<"\n\nMasukan data yang ingin dicari:  ";
cin>>X;
K = 0;
for(I=0;I<=9;I++)
                  {
                                                 if(L[I]==X)
                                                 {
cout<<"\nData terletak di index ke "<<I<<endl;
                                                  K++;
                                                  }
        }

if(K==0)
{
cout<<"\nMaaf data tidak ditemukan!";
}
cout<<"\nTotal data yang ditemukan : "<<K ;


    return 0;
}

OUTPUT : 



      

Sabtu, 08 Februari 2014

Ada 2 sub yang akan dijelas dalam entri blog kali ini:
a. perbedaan fungsi dan prosedur
b. definisi array dan penggunaannya  
 

Perbedaan Fungsi dan Prosedur 

Apa itu fungsi dan prosedur?
Apa yang membedakannya?
Keuntungan masing-masing?
Bagaimana contohnya?


Pengertian atau definisi nya :
  • Fungsi merupakan bagian dari kode program yang terpisah dari program utama. Bagain kode program ini di-execute jika diperlukan untuk melakukan tindakan khusus dalam program. Fungsi banyak dilibatkan dalam program dengan tujuan untuk mengurangi duplikasi pengkodean dan untuk mempermudah pemahaman.
Keuntungan menggunakan fungsi adalah :  program akan memilki struktur yang jelas (mempunyai readability yang tinggi) dan juga akan menghindari penulisan bagian program yang sama
  • Procedure adalah program yang disimpan dalam database seperti halnya dataProsedur juga adalah sekumpulan perintah yang merupakan bagian dari program yang lebih besar, yang berfungsi mengerjakan suatu tugas tertentu. Prosedur atau kadang disebut subrutin / subprogram biasanya relative independent terhadap bagian kode program yang lain. Atau sebenarnya prosedur dapat berdiri sendiri.      
              Keuntungan menggunakan prosedur adalah: 
  • mengurangi duplikasi kode program.
  • memberikan kemungkinan penggunaan kembali kode untuk program yang lain.
  • memecah masalah yang rumit dalam masalah-masalah yang lebih kecil dan lebih mudah diselesaikan.
  • membuat kode program lebih mudah dibaca.
  • dapat digunakan untuk menyembunyikan detil program. 
Pada flowchart, untuk menuliskan prosedur digunakan notasi Predefined Process. Secara skematis, penggunaan prosedur dapat dilihat pada gambar 6.6. 

Perbedaan antara function dan procedure adalah : 
  • kalau function dia akan mengembalikan suatu nilai pada pemanggilnya dan  digunakan untuk membuat operasi-operasi yang tidak ada dalam fungsi utama, sedangkan
  • kalau procedure dia tidak akan mengembalikan nilai apapun pada fungsi pemanggilnya dan untuk memperbaiki kejelasan dan keumumannya.
Contoh Penggunaannya :

A.  Fungsi
     #include <conio.h>
 #include <iostream.h>
 bool prima(int n) {
 int i, jml;
 jml = 0 ;
 for (i=1;i<=n;i++) {
 if (n % i == 0) {
 jml ++ ; }
 }
 if (jml == 2) {
 return (true); }
 else {
 return(false) ; }
 }
 main() {
 int j, n, cacah ;
 cout << "Masukkan Batas bilangan : " ; cin >> n ;
 cout << "Berikut Bilangan itu : " << endl ;
 cacah = 0 ;
 for (j=1;j<=n;j++) {
 if (prima(j) == true) {
 cout << j << " " ;
 cacah ++ ;
 }
 }
 cout << "\nBanyak bilangan prima adalah : " << cacah << endl ;
  getch();}     

B. Prosedur
      #include <conio.h>
     #include <iostream.h>       
        void penjualan (float a, float b, float c) {
        float total, temp ;
        temp = b * c ;
          total = temp - (a * temp) ;
        cout << "Harga Kotor Barang  : " << temp << endl ;
         cout << "Harga Bersih Barang : " << total << endl ;
     }
       void main() {
       float diskon, harga, jumlah ;
     float total, temp ;
         cout << "PROGRAM HITUNG HARGA BARANG" << endl ;
        cout << "===========================" << endl << endl ;
      cout << "Masukkan harga barang : " ; cin >> harga ;
     cout << "Masukkan jumlah barang : " ; cin >> jumlah ;
     cout << "Masukkan diskon barang : " ; cin >> diskon ;
      cout << "\n" ;
        penjualan(diskon, harga, jumlah) ;



 Definisi Array dan Penggunaannya


Definisi array 
Array merupakan bagian dasar pembentukan suatu struktur data yang lebih kompleks. Hampir setiap jenis struktur data kompleks dapat di sajikan secara logik oleh array.
Array adalah suatu tipe data terstuktur yang berupa sejumlah data 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. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda. Array digunakan untuk menyimpan data-data yang diinputkan masing-masing kedalam memory komputer. Jadi jumlah datanya banyak namun satu jenis.
        Contoh :
-          Angka untuk menyimpan sederetan bilangan
-          Buku untuk menyimpan sekumpulan data buku
-          Mahasiswa untuk menyimpan beberapa data mahasiswa
         Sebagai contoh jika A merupakan sebuah array dengan tipe integer, maka notasi dari array A adalah: A[n], dengan n merupakan angka index dari array tersebut misal:
A[0]=100
A[1]=200
A[2]=300
A[3]=400

Karaktersitik Array :
1. mempunyai batasan dari pemesanan alokasi memory (bersifat statis)
2. mempunyai type data sama (homogen)
3. dapat di akses secara acak.
4. berurutan (terstruktur)
   Mendefenisikan Array
            Setelah mendeklarasikan array, kita perlu mendefenisikan array, dalam arti menentukan besar array yang diinginkan. Misalnya dengan cara :
Bilangan = new int [5];
               Array memiliki ukuran yang tetap dalam arti tidak dapat membesar atau mengecil ukurannya setelah didefenisikan. Setelah didefenisikan, maka variabel dengan nama bilangan dapat menyimpan 5 nilai integer yang dapat diakses melalui indeks 0 sampai indeks 4. Setelah pendefenisian array, maka memori akan dialokasikan untuk menyimpan data dari array. Besar memori yang dialokasikan tergantung dari tipe data variabel array dan jumlah elemen array yang didefenisikan.
Array Mempunyai Dimensi :

1. Array Dimensi satu (vektor)

        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.
Array satu dimensi juga disebut array dimensi satu atau biasa juga disebut Vektor karena hanya memiliki satu arah.

Deklarasi array satu dimensi :
tipe_data nama_var [ukuran_array]

Ket :
–type_data : menyatakan type elemen array misal int, char, float
–nama_var : nama variabel array
–ukuran : menyatakan jumlah maksimal elemen arranya

›Contoh :
–int Nilai[5];        nilai [1]    nilai [2]    nilai [3]       nilai [4]     nilai [5]
70            80            82              60             75

2. Array (Dimensi 2)
žStruktur array yang dibahas diatas mempunyai satu dimensi, sehingga variabelnya disebut variable array berdimensi satu. Pada bagian ini ditunjukkan array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
ž
žArray dua dimensi merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui 2 indeks atau subskrip yaitu indeks baris dan indeks kolom. Oleh karena itu, array dua dimensi array memiliki dua sub bagian, sebuah array tiga-dimensi memiliki tiga sub bagian dan sebagainya. Sebuah contoh bentuk nyata yang baik dari array dua dimensi adalah sebuah papan catur. Satu dimensinya merupakan delapan baris, sedangkan dimensi lainnya merupakan delapan kolom.

Array dua dimensi sering kali digambarkan/dianalogikan sebagai sebuah matriks atau bentuk grid. 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.
Array dua dimensi merupakan array yang terdiri dari M buah baris dan N buah kolom. Bentuknya dapat berupa matriks atau tabel.


ž
žBentuknya dapat berupa matriks atau tabel.
›Deklarasi array :
–Tipe_array nama_array[baris][kolom];
›Cara mengakses array :
›Untuk mengakses array, misalnya kita ingin mengisi elemen array baris 2 kolom 3 dengan 10 maka perintahnya adalah sbb :
–X[1][2] = 10;
ž
3. Array (dimensi 3)
Array Tiga Dimensi (3D)/multimidensi
Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui banyak indeks atau subskrip. Array seperti ini biasa digunakan untuk matik, array 2 dimensi juga termasuk kedalam array multidimensi.
—Pada array tiga dimensi subskrip yang dimiliki ada tiga.
—Bayangkanlah sebuah kubus atau balok dimana bangun tersebut selain memiliki panjang dan lebar, juga memiliki tinggi. Secara matematis, hal tersebut dapat kita umpamakan ke dalam tiga buah sumbu, yaitu sumbu x, y, dan z.

Contoh Array dimensi 1 :
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr ();
 int A[5];
 int i;

 for(i=0;i<5;i++)
 {
cout<<"Masukkan Data "<<i<<"="; cin>>A[i];
 }
 for(i=0;i<5;i++)
{
cout<<endl<<"array ke-"<<i<<" -> "<<A[i];
}     getch () ;

}

Hasilnya : 

refrensi :