Anda di halaman 1dari 23

Topik

Array
Struktur (struct)

Array
Tipe data terstrukturyang dipakai untuk menyimpan

sekumpulan item data yang mempunyai tipe data


sejenis.
Untuk mengakses item data tersebut,
digunakansubscript sebagai penunjuk array.

Cara Deklarasi Array


Array 1 Dimensi
<tipedata> <arrayID>[<jumlah elemen>];
<tipedata> <arrayID>[<jumlah elemen>]={<E1>, <E2>,
<E3>, ..., <En>};
contoh:

int x[10];

int z[2], y[10];


int a[3] = {3, 6, 1};

Contoh Program
/* cth prg array 1 dimensi */
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
void main() {
int i;
int data[10], jlh = 0;
clrscr();
//membangkitkan bilangan acak
randomize();

Contoh Program
//mengacak data dengan fungsi random
for(i = 0; i < 10;i++) {
data[i] = random(50) + 1;
printf("Data Hasil Random %2d = %2d\n", i+1,
data[i]);
delay(1000);
}
//menampilkan data
printf("\n\n");
printf("Data hasil random:\n");
printf("------------------\n");
for(i = 0; i < 10; i++)
printf("%5d", data[i]);

Contoh Program
//menjumlahkan data
printf("\n\n");
printf("Jika dijumlahkan:\n");
printf("-----------------\n");
for(i = 0; i < 10; i++) {
jlh += data[i];
printf("%2d", data[i]);
delay(1000);
if(i != 9)
printf(" + ");
else
printf(" = ");
delay(1000);
}
printf("%d\n", jlh);
getch();
}

Cara Deklarasi Array


Array 2 Dimensi
<tipedata> <arrayID>[<brs>][<klm>];
<tipedata> <arrayID>[<brs>][<klm>] =
{{<E11>, <E12>, ..., <E1klm>},
{<E21>, <E22>, ..., <E2klm>},
...
{<Ebrs1>, <Ebrs2>, ..., <Ebrsklm>}};
Contoh:
int A[3][3];
int A[2][3] = {{1,2,3}, {4,5,6}};

Contoh Program
/* cth prg array 2 dimensi */
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
void main() {
int mat1[2][2];
int mat2[2][2] = {{1, 2}, {2, 3}};
int mat3[2][2];
int i, j;
clrscr();

Contoh Program
randomize();
for(i = 0; i < 2; i++)
for(j = 0; j < 2; j++)
mat1[i][j] = random(20)+1;
printf("Isi Matrix A:\n");
printf("-------------\n");
for(i = 0; i < 2; i++) {
printf("");
for(j = 0; j < 2; j++)
printf("%3d", mat1[i][j]);
printf("\n");
}

Contoh Program
printf("\n\n");
printf("Isi Matrix B:\n");
printf("-------------\n");
for(i = 0; i < 2; i++) {
printf("");
for(j = 0; j < 2; j++)
printf("%3d", mat2[i][j]);
printf("\n");
}
//menjumlahkan matrix
for(i = 0; i < 2; i++)
for(j = 0; j < 2; j++)
mat3[i][j] = mat1[i][j] + mat2[i][j];

Contoh Program
printf("\n\n");
printf("Isi Matrix C = A + B:\n");
printf("---------------------\n");
for(i = 0; i < 2; i++) {
printf("");
for(j = 0; j < 2; j++)
printf("%3d", mat3[i][j]);
printf("\n");
}
getch();
}

Struktur
Digunakan untuk mengelompokkan sejumlah data

yang mempunyai tipe dan ukuran yang berbeda.


Cara deklarasi variabel struct:
struct <nama_struct>
{
<tipe> <id1>;
<tipe> <id2>;
...
<tipe> <idn>;

};

Struktur
Cara mendefinisikan variabel struct:
[struct] <nama_struct> <nama_var_struct>;
Cara mengakses struct:
<id_struct>.<id1> = <ekspresi>;
atau
<id> = <id_struct>.<id1>;

Contoh Program
/* struct */
#include <stdio.h>
#include <conio.h>
void main() {
struct Mahasiswa {
char *nim;
char *nama;
float nilai;
};

Contoh Program
Mahasiswa datMhs
"SUSAN", 85.00};
clrscr();
printf("Nim
:
printf("Nama
:
printf("Nilai :
datMhs.nilai);
getch();
}

= {"052120001",

%s\n", datMhs.nim);
%s\n", datMhs.nama);
%0.2f\n",

Array pada Struktur


Cara deklarasi variabel struct array:
[struct] <nama_struct> <id_struct> [<n>] =
{{<data11>, <data12>, ..., <data1M>},
{<data21>, <data22>, ..., <data2M>},
...
{<dataN1>, <dataN2>, ..., <dataNM>}};

Cara akses:
<id_struct>[<subscript>].<id> = <ekspr>;

Contoh Program
/* struct */
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
void main() {
struct Mahasiswa {
char *nim;
char *nama;
float nilai;
};

Contoh Program
Mahasiswa datMhs[] ={{"052120001", "SUSAN", 85.30},
{"052120002", "HELEN", 75.45},
{"052120003", "BUDI SANTOSO", 70.00}};
clrscr();
cout << setprecision(2);
cout << setiosflags(ios::left | ios::showpoint);
for(int i = 0; i < 3; i++) {
cout << setw(12) << datMhs[i].nim
<< setw(25) << datMhs[i].nama
<< setw(10) << datMhs[i].nilai<< endl;
}
getch();
}

Latihan
1.

Buatlah program untuk menghitung nilai akhir


seorang siswa dari kursus yang diikutinya dengan
ketentuan sebagai berikut (dgn array):
Nama mahasiswa, nilai tugas, nilai uts, dan nilai uas

diinput.
Proses yang dilakukan untuk mendapatkan nilai murni
dari masing masing nilai adalah:

Nilai murni tugas = nilai uts * 30%


Nilai murni uts = nilai uts * 20%
Nilai murni uas = nilai uas * 50%
Nilai akhir adalah (nilai murni tugas + nilai murni uts +
nilai murni uas) di bagi 100

Latihan
Ketentuan untuk mendapatkan grade nilai:
Nilai akhir >= 80 Grade A
Nilai akhir >= 70 Grade B
Nilai akhir >= 60 Grade C
Nilai akhir >= 50 Grade D
Nilai akhir < 50 Grade E
Tampilan yang diinginkan adalah sebagai berikut:

Latihan
Layar Masukan
Program Menghitung Nilai Akhir
Matakuliah Bahasa Pemrograman
Masukkan Jumlah Mahasiswa : ... <diinput>
Mahasiswa ke -... <proses counter>
-----------------Nama Mahasiswa : ... <diinput>
Nilai Tugas : ... <diinput>
Nilai UTS : ... <diinput>
Nilai UAS : ... <diinput>
<<terus berulang tergantung jumlah mahasiswa>>

Latihan
Layar Keluaran
Daftar Nilai
Matakuliah: Bahasa Pemrograman
---------------------------------------------------No. Nama
Nilai
Grade
Mahasiswa
Tugas UTS UAS Akhir
---------------------------------------------------.. ...
...
... ... ...
...
.. ...
...
... ... ...
...
.. ...
...
... ... ...
...
---------------------------------------------------Total Mahasiswa : xxx

Latihan
2. Kerjakan kembali soal no. 1 di atas dengan

memanfaatkan struktur.

Anda mungkin juga menyukai