SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK”AMIKOM” YOGYAKARTA WAKTU 100 S1-TI
ALGORITMA & PEMROGRAMAN
ARRAY ( LARIK)
MODUL VI
SEM I
MNT
I. STRUKTUR DASAR ARRAY Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi.
II. ARRAY BERDIMENSI SATU Larik satu dimensi merupakan tipe data yang sering digunakan pada pendeklarasian variabel yang sama tapi memiliki indeks yang berbeda, serta pengisian elemen larik dilakukan melalui indeks. Indeks larik secara default dimulai dari 0. Bentuk umunya : type_data variabel[jumlah_elemen]; Contoh pendeklarasian:
int data1[7]; int data2[5] = {20,30,10,50,2}; Pada data 1 di gambarkan dalam larik adalah berarti akan memesan tempat di memori komputer sebanyak 7 tempat dengan indeks dari 0-6, dimana semua elemennya bertipe data integer semuanya serta data1 sebagai nama arra nya. Sedangkan untuk data2 memesan memori sebanyak 5 dengan isi elemen 20, 30, 10, 50 dan 20.
Data 1
Data 2
20
30
10
50
20
Data 1 menunjukan isi elemen suatu larik adalah kosong sedangkan Data 2 menunjukan isi elemen suatu larik tidak kosong. Contoh Program 01: #include <stdio.h> #include
#include 31
void main() { int nilai[5], x;//pendeklarasian tipe array clrscr(); cout << " Masukan " << endl; for(x=0;x<5;x++) { cout << " Nilai Angka ke elemen : "<< x << " = " ; cin >> nilai[x]; endl; } cout << " membaca isi elemen " << endl; for(x=0;x<5;x++) { cout << " Nilai Angka : " << nilai[x]<< endl; } getch(); }
III. ARRAY BERDIMENSI DUA Larik dua dimensi merupakan tipe data yang sering digunakan pada pendeklarasian variabel yang sama tapi memiliki dua indeks yang berbeda, serta pengisian elemen larik dilakukan melalui indeks. Indeks larik secara default dimulai dari 0,0. 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 Bentuk umum penulisan: type_data variabel[jumlah_elemen1] [jumlah_elemen2]; jumlah_elemen1 menunjukan jumlah baris dan jumlah_elemen2 menunjukan jumlah kolom. ILUSTRASI ARRAY 2 DIMENSI Gambar array berdimensi (baris x kolom = 3 x 4):
Contoh pendeklarasian:
int matriks[3][4];//tanpa nilai int matriks2[3][4] = { {5,20,1,11}, {4,7,67,-9}, {9,0,45,3} };
32
Contoh program02: #include <stdio.h> #include #include void main() { int x[3][3]={{1,2,3},{4,5,6},{7,8,9}},b,k; clrscr(); for(b=0 ; b<3 ; b++) for(k=0 ; k<3 ; k++) printf("x[%d][%d] = %d\n",b,k,x[b][k]); for(b=0 ; b<3 ; b++) for(k=0 ; k<3 ; k++) { gotoxy(20+(k+1)*2,b+1); cout << x[b][k]; } getch(); }
IV. ARRAY MULTIDIMENSI Larik multi dimensi merupakan tipe data yang sering digunakan pada pendeklarasian variabel yang sama tapi memiliki lebih dari dua indeks yang berbeda, serta pengisian elemen larik dilakukan melalui indeks. Indeks larik secara default dimulai dari 0,0. Jumlah elemennya adalah indeks1 x indeks 2. x..indeks n Bentuk Umum Penulisan : type_data variabel[jumlah_elemen1] [jumlah_elemen2]...[jumlah_elemen] Contoh:
int x [2][2][2]; int y[2][2[2] ={1,2,3,4,5,6,7,8,}; Contoh program03: #include #include <stdio.h> #include #include void main () { int i, j, k; float data[2][4][3] = { 33
{ {100, 200, 300}, {150, 240, 360}, {250, 300, 460}, {250, 300, 460} }, { {100, 200, 300}, {120, 250, 310}, {140, 250, 340}, {100, 400, 350} } }; cout << " =================================================="; cout << endl; cout << "Tahun
hasil
Tahun
";
cout << endl; cout << " Ke.
ke
=================================”;
cout << endl; cout << "
2002
2003
2004
";
cout << endl; cout << " =================================================="; cout << endl; for(i=0;i<2;i++) { for(j=0;j<4;j++) { cout<<setiosflags(ios::left)<<setw(9)<
";
}cout<<endl; }cout<<endl; } cout << " =================================================="; cout << endl; getch(); }
34
Ket: setiosflags adalah fungsi untuk mengatur sejumlah keluaran data dengan file headernya , ios::left menunjukan pengaturan perataan sebelah kiri ios::right pengaturan perataan sebelah kanan.
V. LATIHAN 1. Ketikan semua Contoh Program di atas. 2. Ketikan Source Code berikut ini dan analisa hasil outputnya . #include #include #include <string.h> #define JML_BULAN 12 main() { int indek; char bln[10]; int jml_hari[JML_BULAN] = {31,28,31,30,31,30,31,31,30,31,30,31}; for (indek=0; indek < JML_BULAN; indek++) { switch (indek+1) { case 1: strcpy(bln, "Januari"); break; case 2: strcpy(bln, "Februari"); break; case 3: strcpy(bln, "Maret"); break; case 4: strcpy(bln, "April"); break; case 5: strcpy(bln, "Mei"); break; 35
case 6: strcpy(bln, "Juni"); break; case 7: strcpy(bln, "Juli"); break; case 8: strcpy(bln, "Agustus"); break; case 9: strcpy(bln, "September"); break; case 10: strcpy(bln, "Oktober"); break; case 11: strcpy(bln, "November"); break; case 12: strcpy(bln, "Desember"); break; } cout << "Bulan " << bln << " punya " << jml_hari[indek] << " hari\n"; } getch(); return 0; } 3. Buatlah program untuk memasukkan n buah nilai dalam array dan kemudian Tampilkan jumlah totalnya dan rata-rata-nya!
4. Buatlah Program menentukan nilai maksimal dari masukan n dengan tipe Array.
36
Kritik dan pertanyaan bisa lewat email atau forum di www.amikom.ac.id