07_Array
07_Array
Array / Larik
1
Agenda
2
One Dimension Array
3
One Dimension Array
(next…)
#include<stdio.h>
#define maksimum_tes 5
main()
{
int i;
float total_nilai, rata_rata, nilai_tes[maksimum_tes];
for (i = 0; i < maksimum_tes; i++)
{
printf("nilai tes ke-%d = ", i+1);
scanf("%f", &nilai_tes[i]);
}
total_nilai = 0;
for (i = 0; i < maksimum_tes; i++)
total_nilai = total_nilai + nilai_tes[i];
rata_rata = total_nilai / maksimum_tes;
printf("Nilai rata-rata = %.2f\n", rata_rata);
}
Hasil Eksekusi Program :
nilai tes ke-1 = 2
nilai tes ke-2 = 4
nilai tes ke-3 = 6
nilai tes ke-4 = 8
nilai tes ke-5 = 10
Nilai rata-rata = 6.00
4
One Dimension Array
(next…)
#include <stdio.h>
main()
{
static int jumlah_hari[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int bulan, tahun, jum_hari;
printf("Masukkan bulan (1..12) = ");
scanf("%d", &bulan);
printf("Masukkan tahun = ");
scanf("%d", &tahun);
if (bulan == 2)
if ((tahun % 4 == 0) && (tahun % 100 != 0))
jum_hari = 29;
else
jum_hari = 28;
else
jum_hari = jumlah_hari[bulan-1];
printf("Jumlah hari = %d\n", jum_hari);
}
Hasil Eksekusi Program :
Masukkan bulan (1..12) = 2
Masukkan tahun = 2010
Jumlah hari = 28
5
Two Dimension Array
Bentuk umum array berdimensi dua :
tipe nama_variabel[ukuran1][ukuran2];
Bentuk umum pengaksesan elemen array :
nama_variabel[indeks_pertama][indeks_kedua];
6
Two Dimension Array
(next…)
#include <stdio.h>
main()
{
int tahun, kode_program; int data_lulus[4][3];
data_lulus[0][0] = 80, data_lulus[0][1] = 540, data_lulus[0][2] = 1032;
data_lulus[1][0] = 15, data_lulus[1][1] = 83, data_lulus[1][2] = 301;
data_lulus[2][0] = 8, data_lulus[2][1] = 12, data_lulus[2][2] = 15;
data_lulus[3][0] = 10, data_lulus[3][1] = 129, data_lulus[3][2] = 257;
puts("Masukkan tahun dari data yang ingin Anda ketahui");
printf("1986..1988 : "), scanf("%d", &tahun);
puts("Masukkan kode program dari data yang ingin Anda ketahui");
printf("1 = Intro, 2 = Basic, 3 = Cobol, 4 = dBase : "), scanf("%d", &kode_program);
printf("Total kelulusan = %d\n", data_lulus[kode_program - 1][tahun - 1986]);
}
7
Two Dimension Array
(next…)
#include <stdio.h>
main()
{
int i, j;
static int huruf_A[8][8] =
{{1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}};
for (i = 0; i < 8; i++)
{
for (j = 0; j < 8; j++)
if (huruf_A[i][j])
putchar('\xDB');
else
putchar(' ');
puts("");
}
}
Hasil Eksekusi Program :
████████
██ ██
██ ██
██ ██
████████
██ ██
██ ██
██ ██
8
Many Dimension Array
9
Many Dimension Array
(next…)
#include <stdio.h>
main()
{
int i, j, k;
static int data_huruf[2][8][8] =
{{{1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}},
{{1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 0, 0, 0, 1, 1, 0}, {1, 1, 0, 0, 0, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}}};
for (i = 0; i < 8; i++)
{
for (j = 0; j < 8; j++)
{
for (k = 0; k < 8; k++)
if (data_huruf[i][j][k])
putchar('\xDB');
else
putchar(' ');
puts("");
}
}
}
10
Not Sized Array Initialization
11
Not Sized Array Initialization
(next…)
#include <stdio.h>
#include <conio.h>
#define Enter 13
#define jumlah_kolom 2
main()
{
static char konversi[][jumlah_kolom] = {'A', 'T', 'a', 't', 'E', 'N', 'e', 'n', 'I', 'V', 'i', 'v', 'O', 'S', 'o', 's', 'U', 'J', 'u', 'j'};
char kalimat[256], karakter; int i = 0, j, jumlah_karakter, jumlah_penyandi;
printf("Kalimat : ");
while ((kalimat[i] = getche()) != Enter)
i++;
jumlah_karakter = i;
puts("Hasil setelah disandikan :");
jumlah_penyandi = sizeof(konversi)/(jumlah_kolom * sizeof(char));
for (i = 0; i < jumlah_karakter; i++)
{
karakter = kalimat[i];
for (j = 0; j < jumlah_penyandi; j++)
{
if (karakter == konversi[j][0])
{
karakter = konversi[j][1];
break;
}
if (karakter == konversi[j][1])
{
karakter = konversi[j][0];
break;
}
}
putchar(karakter);
}
puts("");
}
12
Arrays as Parameters
13
Arrays as Parameters
(next…)
#include <stdio.h>
#define maksimum 20
void pemasukan_data(float x[], int *pJumlah); void pengurutan_data(float x[], int jumlah); void penampilan_data(float x[], int jumlah);
main()
{
float data[maksimum]; int jumlah_data; pemasukan_data(data, &jumlah_data); pengurutan_data(data, jumlah_data); penampilan_data(data,
jumlah_data);
}
void pemasukan_data(float x[], int *pJumlah)
{
int i, jum; printf("Jumlah data = "); scanf("%d", &jum);
for (i=0; i<jum; i++)
{
printf("data ke-%d = ", i+1); scanf("%f", &x[i]);
}
*pJumlah = jum;
}
void pengurutan_data(float x[], int jumlah)
{
int i, j; float sementara;
for (i=0; i<jumlah-1; i++)
for (j=i+1; j<jumlah; j++)
if (x[i]>x[j])
{
sementara = x[i]; x[i] = x[j]; x[j] = sementara;
}
}
void penampilan_data(float x[], int jumlah)
{
int i; puts("Data setelah diurutkan :");
for (i=0; i<jumlah; i++)
printf("data ke-%d, %g\n", i+1, x[i]);
}
14
Limitation of Array Index Value
15
Limitation of Array Index Value
(next…)
#include <stdio.h>
main()
{
int x[5], jumlah;
jumlah = 5, x[5] = 60;
printf("jumlah = %d\n", jumlah);
printf("x[5] = %d\n", x[5]);
printf("alamat dari x[5] = %p\n", &x[5]);
printf("alamat dari jumlah = %p\n", &jumlah);
}
Hasil Eksekusi Program :
jumlah = 5
x[5] = 60
alamat dari x[5] = 0022FF34
alamat dari jumlah = 0022FF1C
16
Next…
17