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.
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
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 :
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];
penjelasannya kurang, misal untuk hapus array kode ini
ReplyDeleteA[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?