WHAT'S NEW?
Loading...

Materi C++ : Array Dan Struct




ARRAY
Array adalah kumpulan data yang terstruktur dengan nama variable yang sama dan tipe data yang  sama tetapi mempunyai indeks/alamat yang berbeda-beda. Pada setiap variable dapat berisi data  yang sama atau berbeda tetapi tipe data harus sama. Urutan indeks array dimulai dari hitungan 0,1,2 dan seterusnya. Tipe data variable array pada umumnya adalah char , string, int , float , dan double.

Deklarasi :

Contoh : 

Int nilai[5]; artinya variable array dengan nama nilai bertipe integer dan banyaknya data ada 6 karena indeks dimulai dari 0 hingga 5.

Variabel nilai dapat di gambarkan sebagai berikut :



Menurut dimensinya, Array dapat dibedakan menjadi :
 

1. Array satu dimensi

Setiap elemen array dapat diakses melalui index
Index array secara default dimulai dari 0
Deklarasi array :
 
Tipe_array nama_array[ukuran];

2. Array dua dimensi

Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom, bentuknya dapat berupa matriks atau tabel.
Deklarasi array :
 
Tipe_array nama_array[baris][kolom];

3. Array multidimensi

Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua.
Deklarasi array :
 
Tipe_array nama_array[ukuran 1][ukuran 2] . . . [ukuran N];

LATIHAN ARRAY 

1. Program untuk menghapusan data yang berada pada indeks tertentu pada array.

Code :

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

using namespace std;

int main()
{ int A [5]={20,9,1986,200,13},n,hapus;
    cout<<"  PENGHAPUSAN DATA PADA INDEKS ARRAY"<<endl;
    cout<<"======================================"<<endl;
  cout<<"Data yang lama\n";

  for (n=0;n<5;n++)
  {
    cout<<A[n]<<" ";
  }
  cout<<"\n\nIndeks data yang ingin dihapus : ";
  cin>>hapus;
  cout<<"\nData yang berada pada indeks ke-"<<hapus<<" berhasil dihapus"<<endl;
  cout<<"\nData yang baru\n";
  for (n=hapus-1;n<5-1;n++)
  {
    A[n]=A[n+1];
  }
  for (n=0;n<4;n++)
  {
    cout<<A[n]<<" ";
  }
  getch();
  return 0;
}
 

Hasil :
 

Penjelasan :
Pada program tersebut kita akan mencoba untuk menghapus nilai yang berada pada indeks/alamat array yang kita inginkan. Jika kita memasukkan angka 3, maka nilai yang berada pada indeks ke-3 yaitu 1986 akan hilang. Sehingga hanya tersisa angka 20 9 200 13.



2. Pada program yang ke-dua kita akan mencoba untuk menghapus data yang berada pada indesk pertama (0) pada array hingga data pada array kosong. Kemudian kita akan membaliknya, sehingga data yang berada pada indeks terakhir akan terhapus sampai nilai pada array kosong.

Code :

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

using namespace std;

int main()
{
    int data[8]={1,6,2,9,12,87,43,11};
    int n=8;

    do{
        for(int i=0;i<n;i++)
        {
            cout<<data[i]<<" ";
        }
        getch();
        cout<<endl;

        for(int i=0;i<n-1;i++)
        {
            data[i]=data[i+1];
        }


        n=n-1;
        cout<<endl;
        if(n==0)
        {
            cout<<"Data kosong!!!";
        }
    }while(n!=-1);
}




Hasil :
 REVERS
Penjelasan :
Pada setiap kali kita menekan tombol, maka semua nilai yang berada pada indeks array pertama di setiap baris akan terhapus. 
Dan untuk membaliknya kita tinggal menghapus semua kode diatas yang telah saya beri warna merah. Sehingga semua nilai yang berada pada indeks array terakhir disetiap baris akan terhapus.

=========================================================================

STRUCT
Struct atau Struktur adalah kumpulan data yang memiliki tipe data yang berbeda. Secara pendeklarasian, struct sangat berbeda dengan array yang hanya memiliki satu buah tipe data untuk setiap kumpulannya. Struct digunakan apabila data yang ingin dikelompokkan memiliki tipe data yang berbeda. Pendeklarasian struct sebagai berikut :

struct data_mahasiswa{
   int nim;
   char nama[100];
   char fakultas[100];
};

data_mahasiswa mahasiswa1, mahasiswa2;

 
Deklarasi di atas merupakan suatu tipe data yang bernama data_mahasiswa di mana setiap data yang akan dideklarasikan menggunakan tipe data yang ada pada struct data_mahasiswa akan mempunyai field nim, nama, dan fakultas. Untuk dapat menggunakan tipe data tersebut sebuah variabel harus dideklarasikan lagi menggunakan nama struct nya. Bentuk umum pendeklarasian variabel struct nya adalah sebagai berikut :



data_mahasiswa mahasiswa1, mahasiswa2; 

Deklarasi dua variabel di atas mendeskripsikan dua variabel bernama Mahasiswa1 dan Mahasiswa2, setiap variabel tersebut mempunyai field sesuai dengan apa yang ada pada struct data_mahasiswa.
Selain dekalrasi variabel ada hal yang harus diperhatikan yaitu cara untuk mengisi dan memanggil nilai yang ada di dalam sebuah struct, yaitu sebagai berikut :

//Untuk mengisi nilai struct
cin>>mahasiswa1.nim;

//Untuk memanggil nilai struct
cout<<mahasiswa1.nim<<endl;


LATIHAN STRUCT

1. Membuat program struct untuk buku dengan deklarasi manual, dengan menyimpan judul buku, tahun terbit dan harga buku.

Code :

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

using namespace std;

struct buku{
    char judul[15];
    int tahun_terbit;
    int harga;
};

int main()
{
    buku book;
        cout<<"Judul buku   : "; cin>>book.judul;
        cout<<"Tahun terbit : "; cin>>book.tahun_terbit;
        cout<<"Harga        : "; cin>>book.harga;

        cout<<"\nJudul buku \t: "<<book.judul;
        cout<<"\nTahun terbit \t: "<<book.tahun_terbit;
        cout<<"\nHarga \t\t: "<<book.harga;
        getch();
}



Penjelasan :

Setiap kali user menginputkan data berupa judul buku, tahun terbit, dan harga, maka data-data tersebut akan tersimpan dengan perintah (cin>>book.judul;dst) pada struct buku.
Kemudian dipanggil kembali dengan perintah (cout<<"\nJudul buku \t: "<<book.judul;).

2. Membuat program struct untuk memasukkan 3 user lalu menyimpan data loginnya. Yang harus disimpan adalah waktu login (tanggal, bulan, tahun, jam, menit dan detik).

Code :

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

using namespace std;
struct Date{
          int dd;
          int mm;
          int yyyy;
        };
struct Time{
          int h;
          int m;
          int s;
        };
struct Login{
          int ID;
          Date tglLogin;
          Time waktuLogin;
        };

int main()
{
    Login user[3];

    for(int i=0;i<3;i++)
    {
    cout<<"\nUser ke-"<<i+1<<endl;
    cout<<"ID : ";cin>>user[i].ID;
    cout<<"\nTanggal login\n";
    cout<<"Hari  : ";cin>>user[i].tglLogin.dd;
    cout<<"Bulan : ";cin>>user[i].tglLogin.mm;
    cout<<"Tahun : ";cin>>user[i].tglLogin.yyyy;
    cout<<"\nWaktu Login\n";
    cout<<"Jam   : ";cin>>user[i].waktuLogin.h;
    cout<<"Menit : ";cin>>user[i].waktuLogin.m;
    cout<<"Detik : ";cin>>user[i].waktuLogin.s;
    cout<<"\nTerimakasih Atas Pengisiannya\n";

    cout<<"\nData User ke-"<<i+1<<endl;
    cout<<"Login ID   : "<<user[i].ID<<endl;
    cout<<"Login Date : "<<user[i].tglLogin.dd<<"-"<<user[i].tglLogin.mm<<"-"<<user[i].tglLogin.yyyy<<endl;
    cout<<"Login Time : "<<user[i].waktuLogin.h<<"-"<<user[i].waktuLogin.m<<"-"<<user[i].waktuLogin.s<<endl;

     }
     getch();
    return 0;
}

 

Hasil :
 
Penjelasan :
Pada program tersebut data yang kita inputkan akan disimpan pada struct Login yang sudah terhubung dengan struct Date dan Time. 
Masing-masing dari struct tersebut akan digunakan untuk menyimpan 3 data login yang berbeda karena variabel user dengan struct Login dideklarasikan dengan panjang array sebanyak 3.
Login user[3]; 

1 comment: Leave Your Comments

  1. penjelasannya kurang, misal untuk hapus array kode ini

    A[n]=A[n+1];

    maksudnya apa

    jelasin yang lugas dan jelas agar alur kode bisa dimengerti dengan mudah, saya tahu maksudnya itu adalah memberi nilai setelahnya setelah nilai sebelumnya dihapus (n), tapi yang lain?

    ReplyDelete