MI, KA-D3, SIA, SIB ADI, S.Kom.
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
<arrayID>[<jumlah elemen>]; <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 #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 <arrayID>[][]; <arrayID>[][] = {{<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 #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 { ; ; ... ;
};
Struktur Cara mendefinisikan variabel struct: [struct] ; Cara mengakses struct: . = <ekspresi>; atau = .;
Contoh Program /* struct */ #include <stdio.h> #include 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] [] = {{, , ..., }, {, , ..., }, ... {, , ..., }};
Cara akses: [<subscript>]. = <ekspr>;
Contoh Program /* struct */ #include #include #include 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 : ... Mahasiswa ke -... <proses counter> -----------------Nama Mahasiswa : ... Nilai Tugas : ... Nilai UTS : ... Nilai UAS : ... <>
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.