Modul-04-Array-dan-Struct
Modul-04-Array-dan-Struct
I. TUJUAN
1. Memahami konsep dasar array 1 dimesi dan array multidimensi
2. Mampu menerapkan konsep array dalam studi kasus nyata
3. Memahami konsep dasar structure dan mampu menerapkannya dalam studi kasus nyata
int main() {
// Kamus
int TabJumlahHari[12]; // indeks 0..11
float TabNilai[15]; // indeks 0..14
char TabHuruf[100]; // indeks 0..99
string TabKata[100]; // indeks 0..99
Point TabTitik[20]; // indeks 0..19
// Algoritma
…..
Elemen dari array dapat diakses langsung jika dan hanya jika indeks terdefinisi
Cara mengacu sebuah elemen :
TabInt[2]
TabInt[i] jika i terdefinisi
IV - 1
c. Mengisi Array
Mengisi array merupakan aktifitas memberi nilai elemen array
Pemberian nilai satu elemen
Contoh :
TabInt[0]=31;
Pemberian nilai beberapa elemen
for (i=0;i<10;i++) {
TabInt[i]=i*10;
}
d. Mengisi Dan Membaca Isi Array
Elemen array yang telah diberi nilai dapat diakses kembali.
Contoh : menampilkan semua isi array ke layar
#include <iostream>
using namespace std;
int main ()
{ // Kamus
int TabInt[10]; int i;
// Algoritma mengisi array
for (i=0; i<10; i++) {
TabInt[i]=i*10;
}
// Algoritma membaca dan menuliskan // isi array ke layar
for (i=0; i<10; i++) {
cout << TabInt[i] << endl;
}
return 0;
2. STRUCTURE
a. Pengertian Structure
Structure adalah kumpulan data yang saling berhubungan, yang disimpan dalam satu
unit penyimpanan. Misalkan pada suatu database peyimpanan data pegawai, dimana setiap
pegawai akan menyimpan nama, alamat dan gaji. Bila menggunakan array biasa, maka
diperlukan tiga variable yang bebas satu dengan yang lain, yaitu variabel nama, alamat
dan gaji. Dengan menggunakan structure, data tersebut diorganisasikan dalam satu
kesatuan.
int main()
{
Memanggil elemen
printf("Tanggal lahir : %s-%s-%s", tanggal pada
tgl_lahir.tanggal, structure tgl_lahir
tgl_lahir.bulan, (Inisialisasi variabel
tgl_lahir.tahun); structure Data)
return 0;
}
return 0;
}
IV - 3
III. GUIDED ARRAY
1. Array Dengan Elemen Diinisialiasi
#include <stdio.h>
int main() {
int A[5] = {10, 20, 30, 40, 50};
int B[5] = {10};
int C[5] = {10, 0, 30};
int j;
/* Menampilkan nilai dari elemen array */
for (j=0; j<5; j++) {
printf("A[%d] = %2d, B[%d] = %2d, C[%d] = %2d\n", j,
A[j],j, B[j], j, C[j]);
}
return 0;
}
#include <stdio.h>
#define MAX_ELEMEN 100
int main() {
int BIL[MAX_ELEMEN];
int N, X;
printf("Masukkan banyaknya elemen yang diinginkan: ");
scanf("%d",&N);
/* Mengisikan elemen array */
for (int j=0; j<N; j++) {
printf("BIL[%d] = ", j); scanf("%d", &BIL[j]);
}
printf("Masukkan nilai yang akan dicari : ");
scanf("%d", &X);
/* Melakukan pencarian elemen array */
int k=0;
while ((k<N) && (BIL[k] != X)) {
k++;
}
/* Menyimpulkan hasil pencarian */
if (BIL[k] == X) {
printf("%d ditemukan dalam array, yaitu pada indeks ke-
%d", X, k);
} else {
printf("%d tidak ditemukan dalam array", X);
}
return 0;
}
IV - 4
3. Membuat Matrik Dengan Array Multidimensi
#include <stdio.h>
int main(void) {
/* Membuat tipe data bentukan untuk merepresentasikan
matrik ordo 3x2 */
typedef int Matrik32 [3][2];
/* Mendeklarasikan variabel A,B dan C yang bertipe
Matrik32 */
Matrik32 A, B, C;
/*Mendeklarasikan variabel j dan k untuk indeks
pengulangan */
int j, k;
/* Mengisikan nilai ke dalam elemen-elemen matrikA */
printf(“Mengisikan elemen matrik A:\n”);
for (j=0; j<3; j++) {
for (k=0; k<2; k++) {
printf(“A[%d][%d] = ”, j, k); scanf(“%d”, &A[j][k]);
}
}
/* Mengisikan nilai ke dalam elemen-elemen matrikB */
printf(“\nMengisikan elemen matrik B:\n”);
for (j=0; j<3; j++) {
for (k=0; k<2; k++) {
printf(“B[%d][%d] = ”, j, k); scanf(“%d”, &B[j][k]);
}
}
/* Melakukan penjumlahan matrik A dan B dan menyimpannya
ke dalam matrik C */
for (j=0; j<3; j++) {
for (k=0; k<2; k++) {
C[j][k] = A[j][k] + B[j][k];
}
}
/* Menampilkan hasil penjumlahan matrik di atas */
printf(“\nHasil penjumlahan matrik A dan B:\n”);
for (j=0; j<3; j++) {
for (k=0; k<2; k++) {
printf(“C[%d][%d] = %d\n”, j, k, C[j][k]);
}
}
return 0;
}
IV - 5
IV. UNGUIDED ARRAY
Buatlah program dalam bahasa C yang berisi menu dengan sturktur perulangan sebagai berikut :
MENU
1. Input Array
2. Tampil Array
3. Cari Nilai Minimum
4. Cari Nilai Maksimum
5. EXIT
Cari Nilai Minimum untuk menampilkan isi array yang nilainya paling kecil
Cari Nilai Maksimum untuk menampilkan isi array yang nilainya paling besar
Gunakan prosedur untuk melakukan setiap fungsi menunya.
V. GUIDED STRUCTURE
1. Membuat Titik Koordinat
#include <stdio.h>
/* Mendefinisikan struktur TITIK sekaligus mendeklarasikan
variabel T1 */
struct TITIK {
int x;
int y;
} T1; / * struktur T1 merupakan variabel global */
int main(void) {
/* Mendeklarasikan struktur T2 */
struct TITIK T2;
/* struktur T2 merupakan variabel lokal
dalam fungsi main() */
/* Membaca nilai x dan y untuk struktur T1 */
printf("Menentukan koordinat T1:\n");
printf("Nilai x = "); scanf("%d", &T1.x);
printf("Nilai y = "); scanf("%d", &T1.y);
/* Membaca nilai x dan y untuk struktur T2 */
printf("\nMenentukan koordinat T2:\n");
printf("Nilai x = "); scanf("%d", &T2.x);
printf("Nilai y = "); scanf("%d", &T2.y);
/* Menampilkan nilai yang terdapat pada struktur */
printf("\nT1(%d,%d)\n", T1.x, T1.y);
printf("\nT2(%d,%d)\n", T2.x, T2.y);
return 0;
}
IV - 6
2. Membuat Segi Empat DenganTitik Koordinat
struct SEGIEMPAT {
struct TITIK T1;
struct TITIK T2;
};
int main(void) {
struct SEGIEMPAT S;
int panjang, lebar, luas;
/* Mengisikan nilai ke struktur SEGIEMPAT */
printf("Titik ke-1:\n");
printf("Nilai x = "); scanf("%d", &S.T1.x);
printf("Nilai y = "); scanf("%d", &S.T1.y);
printf("\nTitik ke-2:\n");
printf("Nilai x = "); scanf("%d", &S.T2.x);
printf("Nilai y = "); scanf("%d", &S.T2.y);
/* Menggunakan fungsi abs untuk mendapatkan nilai absolut
*/
panjang = abs(S.T2.x - S.T1.x);
lebar = abs(S.T2.y - S.T1.y);
/* Menghitung luas segiempat */
luas = panjang * lebar;
/* Menampilkan hasil perhitungan */
printf("\nLuas segi empat = %d", luas);
return 0;
}
IV - 7