Array atau larik adalah variabel yang dapat menyimpan sejumlah data sejenis (bertipe data sama).
Jenis
array :
–
Array
berdimensi satu
–
Array
berdimensi dua
–
Array
berdimensi n
1. Array Berdimensi Satu
a. Deklarasi
Array
tipe_data nama_array[ukuran];
Keterangan :
tipe_data : menyatakan jenis tipe data elemen
array (int, char, float, dll)
nama_array : menyatakan nama variabel
yang dipakai
ukuran : menunjukkan jumlah maksimal
elemen array
b. Ilustrasi
Array Berdimensi Satu
Deklarasi array
: int Bilangan[8]
Mengakses
Array Berdimensi Satu
-Suatu
array dapat diakses menggunakan indeksnya.
-Bentuk
umum :
Nama_array[indeks]
c. Studi kasus array berdimensi satu :
Contoh :
nilai_tes[0] = 70; /* contoh 1 */
scanf(“%f”, &nilai_tes[2]); /* contoh 2 */
nilai_tes[0] = 70; /* contoh 1 */
scanf(“%f”, &nilai_tes[2]); /* contoh 2 */
Contoh pertama merupakan pemberian nilai 70 ke nilai_tes[0]. Sedangkan contoh 2
merupakan perintah untuk membaca data bilangan dari keyboard dan diberikan ke
nilai_tes[2]. Pada contoh 2 ini
&nilai_tes[2]
berarti “alamat dari nilai_tes[2]”. Perlu diingat bahwa scanf() memerlukan argumen
berupa alamat dari variabel yang digunakan untuk menyimpan nilai masukan.
Selengkapnya perhatikan contoh program di bawah ini
/* File program : nilai_tes.c
Pemakaian array utk menyimpan sejumlah nilai tes */
#include <stdio.h>
#define MAKS 5
main()
{
int i;
float total = 0, rata;
float nilai_tes[MAKS]; /* deklarasi array */
for(i=0; i < MAKS; i++) /* pemasukan data nilai_tes */
{
printf("Nilai tes ke-%d : ", i+1);
scanf("%f", &nilai_tes[i]);
/* menghitung jumlah seluruh nilai */
total = total + nilai_tes[i];
}
rata = total / MAKS; /* hitung nilai rata-rata */
/* cetak nilai rata-rata */
printf("\nNilai rata-rata = %g\n", rata);
}
merupakan perintah untuk membaca data bilangan dari keyboard dan diberikan ke
nilai_tes[2]. Pada contoh 2 ini
&nilai_tes[2]
berarti “alamat dari nilai_tes[2]”. Perlu diingat bahwa scanf() memerlukan argumen
berupa alamat dari variabel yang digunakan untuk menyimpan nilai masukan.
Selengkapnya perhatikan contoh program di bawah ini
/* File program : nilai_tes.c
Pemakaian array utk menyimpan sejumlah nilai tes */
#include <stdio.h>
#define MAKS 5
main()
{
int i;
float total = 0, rata;
float nilai_tes[MAKS]; /* deklarasi array */
for(i=0; i < MAKS; i++) /* pemasukan data nilai_tes */
{
printf("Nilai tes ke-%d : ", i+1);
scanf("%f", &nilai_tes[i]);
/* menghitung jumlah seluruh nilai */
total = total + nilai_tes[i];
}
rata = total / MAKS; /* hitung nilai rata-rata */
/* cetak nilai rata-rata */
printf("\nNilai rata-rata = %g\n", rata);
}
Contoh eksekusi :
Nilai tes ke-1 : 56.5
Nilai tes ke-2 : 67.75
Nilai tes ke-3 : 80
Nilai tes ke-4 : 77
Nilai tes ke-5 : 78.5
Nilai rata-rata = 71.95
Nilai tes ke-1 : 56.5
Nilai tes ke-2 : 67.75
Nilai tes ke-3 : 80
Nilai tes ke-4 : 77
Nilai tes ke-5 : 78.5
Nilai rata-rata = 71.95
d. Inisialisasi Array Berdimensi Satu
Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan. Untuk
mendeklarasikan array, nilai-nilai yang diinisialisasikan dituliskan di antara kurung
kurawal ({}) yang dipisahkan dengan koma.
mendeklarasikan array, nilai-nilai yang diinisialisasikan dituliskan di antara kurung
kurawal ({}) yang dipisahkan dengan koma.
/* File program : jhari.c */
#include <stdio.h>
main()
{
int bulan, tahun, jhari;
int jum_hari[12] =
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
puts("MEMPEROLEH JUMLAH HARI");
puts("PADA SUATU BULAN DAN SUATU TAHUN");
puts("--------------------------------");
printf("Masukkan bulan (1..12) : ");
scanf("%d", &bulan);
#include <stdio.h>
main()
{
int bulan, tahun, jhari;
int jum_hari[12] =
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
puts("MEMPEROLEH JUMLAH HARI");
puts("PADA SUATU BULAN DAN SUATU TAHUN");
puts("--------------------------------");
printf("Masukkan bulan (1..12) : ");
scanf("%d", &bulan);
printf("Masukkan tahunnya : ");
scanf("%d", &tahun);
if(bulan == 2)
if(tahun % 4 == 0)
jhari = 29;
else
jhari = 28;
else
jhari = jum_hari[bulan-1];
printf("\nJumlah hari dalam bulan %d tahun %d adalah %d
hari\n", bulan, tahun, jhari);
}
ContohEksekusi :
scanf("%d", &tahun);
if(bulan == 2)
if(tahun % 4 == 0)
jhari = 29;
else
jhari = 28;
else
jhari = jum_hari[bulan-1];
printf("\nJumlah hari dalam bulan %d tahun %d adalah %d
hari\n", bulan, tahun, jhari);
}
ContohEksekusi :
MEMPEROLEH JUMLAH HARI
PADA SUATU BULAN DAN SUATU TAHUN
--------------------------------
Masukkan bulan (1..12) : 2
Masukkan tahunnya : 1988
Jumlah hari dalam bulan 2 tahun 1988 adalah 29 hari
PADA SUATU BULAN DAN SUATU TAHUN
--------------------------------
Masukkan bulan (1..12) : 2
Masukkan tahunnya : 1988
Jumlah hari dalam bulan 2 tahun 1988 adalah 29 hari
e.Beberapa Variasi dalam Mendeklarasikan Array
Ada beberapa variasi cara mendeklarasikan sebuah array (dalam hal ini yang
berdimensi satu), di antaranya adalah sebagai berikut :
Ada beberapa variasi cara mendeklarasikan sebuah array (dalam hal ini yang
berdimensi satu), di antaranya adalah sebagai berikut :
1.int numbers[10];
2.int numbers[10] = { 34, 27, 16 };
3.int numbers[] = { 2, -3, 45, 79, -14, 5, 9, 28, -1, 0 };
4.char text[] = "Welcome to New Zealand.
5.float radix[12] = { 134.362, 1913.248 };
6.double radians[1000];
2. Array Berdimensi Dua
•
Sering
kali digambarkan/dianalogikan sebagai sebuah matriks.
• 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
a. Deklarasi
Array
tipe_data
nama_array[jml_baris][jml_kolom];
Keterangan :
tipe_data : menyatakan jenis tipe data elemen
array
(int, char, float, dll)
nama_array : menyatakan nama variabel
yang dipakai.
jml_baris : menunjukkan jumlah maksimal
baris.
jml_kolom : menunjukkan jumlah maksimal kolomb. Ilustrasi Array
Deklarasi array
:
int
matriks2[3][4] = { {5,20,1,11}, {4,7,67,-9}, {9,0,45,3} };
c. Mengakses Array Berdimensi Satu
Array seperti data_lulus dapat diakses dalam bentuk
data_lulus[indeks pertama, indeks kedua]
Contoh :
data_lulus[indeks pertama, indeks kedua]
Contoh :
(1) data_lulus[0][1] = 540;
merupakan instruksi untuk memberikan nilai 540 ke array data_lulus untuk indeks
pertama = 0 dan indeks kedua bernilai 1.
(2) printf(“%d”,data_lulus[2][0]);
merupakan perintah untuk menampilkan elemen yang memiliki indeks pertama = 2 dan
indeks kedua = 0.
merupakan instruksi untuk memberikan nilai 540 ke array data_lulus untuk indeks
pertama = 0 dan indeks kedua bernilai 1.
(2) printf(“%d”,data_lulus[2][0]);
merupakan perintah untuk menampilkan elemen yang memiliki indeks pertama = 2 dan
indeks kedua = 0.
contoh program Array berdimensi dua
/* File program : lulus.c
Contoh pemakaian array berdimensi dua */
#include <stdio.h>
main( )
{
int tahun, kode_program;
int data_lulus[4][3] ;
Contoh pemakaian array berdimensi dua */
#include <stdio.h>
main( )
{
int tahun, kode_program;
int data_lulus[4][3] ;
/* Memberikan data ke array */
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;
/* proses utk memperoleh informasi jml siswa yg lulus */
printf("Masukkan tahun dr data yg ingin anda ketahui ");
printf("(1998..2000) : ");
scanf("%d", &tahun);
printf("Masukkan kode program kursus yang ingin anda
ketahui");
printf("(1 = INTRO, 2 = BASIC, 3 = PASCAL, 4 = C) : ");
scanf("%d", &kode_program);
printf("\nTotal kelulusan program tsb = %d\n",
data_lulus[kode_program - 1][tahun - 1998] );
}
Contoh eksekusi :
Masukkan tahun dr data yg ingin anda ketahui (1998…2000) :
2000
Masukkan kode program kursus dari data yang ingin anda
ketahui (1 = INTRO, 2 = BASIC, 3 = PASCAL, 4 = C) : 3
Total kelulusan program tsb = 15
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;
/* proses utk memperoleh informasi jml siswa yg lulus */
printf("Masukkan tahun dr data yg ingin anda ketahui ");
printf("(1998..2000) : ");
scanf("%d", &tahun);
printf("Masukkan kode program kursus yang ingin anda
ketahui");
printf("(1 = INTRO, 2 = BASIC, 3 = PASCAL, 4 = C) : ");
scanf("%d", &kode_program);
printf("\nTotal kelulusan program tsb = %d\n",
data_lulus[kode_program - 1][tahun - 1998] );
}
Contoh eksekusi :
Masukkan tahun dr data yg ingin anda ketahui (1998…2000) :
2000
Masukkan kode program kursus dari data yang ingin anda
ketahui (1 = INTRO, 2 = BASIC, 3 = PASCAL, 4 = C) : 3
Total kelulusan program tsb = 15
d. Inisialisasi Array Berdimensi Dua
Contoh inisialisasi array dimensi dua */
#include <stdio.h>
main()
{
int i,j;
int huruf_A[8][8] = {
{ 0, 1, 1, 1, 1, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 1, 1, 1, 1, 1, 1, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 0, 0, 0, 0, 0, 0, 0, 0 }
};
for(i = 0; i < 8; i++)
{
for(j = 0; j < 8; j++)
if(huruf_A[i][j] !=0 )
putchar('\xDB\n');
else
putchar
Contoh inisialisasi array dimensi dua */
#include <stdio.h>
main()
{
int i,j;
int huruf_A[8][8] = {
{ 0, 1, 1, 1, 1, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 1, 1, 1, 1, 1, 1, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 0, 0, 0, 0, 0, 0, 0, 0 }
};
for(i = 0; i < 8; i++)
{
for(j = 0; j < 8; j++)
if(huruf_A[i][j] !=0 )
putchar('\xDB\n');
else
putchar
3. Array Berdimensi Banyak/ n
a. Deklarasi array berdimensi banyak
Bentuk umum pendeklarasian array berdimensi banyak :
tipe nama_var[ukuran 1][ukuran2}…[ukuranN];
tipe nama_var[ukuran 1][ukuran2}…[ukuranN];
contoh :
int data_huruf[2][8][8];
merupakan pendeklarasian array data_huruf sebagai array berdimensi tiga.
Sama halnya dengan array berdimensi satu atau dua, array berdimensi banyak juga
bisa diinisialisasi.
int data_huruf[2][8][8];
merupakan pendeklarasian array data_huruf sebagai array berdimensi tiga.
Sama halnya dengan array berdimensi satu atau dua, array berdimensi banyak juga
bisa diinisialisasi.
Contoh inisialisasi array berdimensi tiga :
int data_huruf [2][8][8] =
{ { { 0, 1, 1, 1, 1, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 1, 1, 1, 1, 1, 1, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 0, 0, 0, 0, 0, 0, 0, 0 }
},
{ {1, 1, 1, 1, 1, 1, 0, 0 } ,
{1, 0, 0, 0, 0, 1, 0, 0 } ,
{1, 0, 0, 0, 0, 1, 0, 0 } ,
{1, 1, 1, 1, 1, 1, 1, 0 } ,
{1, 1, 0, 0, 0, 0, 1, 0 } ,
{1, 1, 0, 0, 0, 0, 1, 0 } ,
{1, 1, 1, 1, 1, 1, 1, 0 } ,
{0, 0, 0, 0, 0, 0, 0, 0 }
} };
{ { { 0, 1, 1, 1, 1, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 1, 1, 1, 1, 1, 1, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 0, 0, 0, 0, 0, 0, 0, 0 }
},
{ {1, 1, 1, 1, 1, 1, 0, 0 } ,
{1, 0, 0, 0, 0, 1, 0, 0 } ,
{1, 0, 0, 0, 0, 1, 0, 0 } ,
{1, 1, 1, 1, 1, 1, 1, 0 } ,
{1, 1, 0, 0, 0, 0, 1, 0 } ,
{1, 1, 0, 0, 0, 0, 1, 0 } ,
{1, 1, 1, 1, 1, 1, 1, 0 } ,
{0, 0, 0, 0, 0, 0, 0, 0 }
} };
atau bisa juga ditulis menjadi
int data_huruf [2][8][8] =
0, 1, 1, 1, 1, 1, 0, 0,
0, 1, 0, 0, 0, 1, 0, 0,
0, 1, 0, 0, 0, 1, 0, 0,
1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 0, 0,
1, 0, 0, 0, 0, 1, 0, 0,
1, 0, 0, 0, 0, 1, 0, 0,
1, 1, 1, 1, 1, 1, 1, 0,
int data_huruf [2][8][8] =
0, 1, 1, 1, 1, 1, 0, 0,
0, 1, 0, 0, 0, 1, 0, 0,
0, 1, 0, 0, 0, 1, 0, 0,
1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 0, 0,
1, 0, 0, 0, 0, 1, 0, 0,
1, 0, 0, 0, 0, 1, 0, 0,
1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
/* File program: data_huruf.c
Contoh inisialisasi array dimensi tiga */
# include <stdio.h>
main()
{
int i, j, k;
int data_huruf[2][8][8] = {
{{ 0, 1, 1, 1, 1, 1, 0, 0 },
{ 0, 1, 0, 0, 0, 1, 0, 0 },
{ 0, 1, 0, 0, 0, 1, 0, 0 },
{ 1, 1, 1, 1, 1, 1, 1, 0 },
{ 1, 1, 0, 0, 0, 0, 1, 0 },
{ 1, 1, 0, 0, 0, 0, 1, 0 },
{ 1, 1, 0, 0, 0, 0, 1, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0 }
},
Contoh inisialisasi array dimensi tiga */
# include <stdio.h>
main()
{
int i, j, k;
int data_huruf[2][8][8] = {
{{ 0, 1, 1, 1, 1, 1, 0, 0 },
{ 0, 1, 0, 0, 0, 1, 0, 0 },
{ 0, 1, 0, 0, 0, 1, 0, 0 },
{ 1, 1, 1, 1, 1, 1, 1, 0 },
{ 1, 1, 0, 0, 0, 0, 1, 0 },
{ 1, 1, 0, 0, 0, 0, 1, 0 },
{ 1, 1, 0, 0, 0, 0, 1, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0 }
},
{{1, 1, 1, 1, 1, 1, 0, 0 },
{1, 0, 0, 0, 0, 1, 0, 0 },
{1, 0, 0, 0, 0, 1, 0, 0 },
{1, 1, 1, 1, 1, 1, 1, 0 },
{1, 1, 0, 0, 0, 0, 1, 0 },
{1, 1, 0, 0, 0, 0, 1, 0 },
{1, 1, 1, 1, 1, 1, 1, 0 },
{0, 0, 0, 0, 0, 0, 0, 0 }
}
};
for(i = 0; i < 2; i++) /* Tampilkan huruf */
{
for(j = 0; j < 8; j++)
{
for(k = 0; k < 8; k++)
if(data_huruf[i][j][k] != 0)
putchar('\xDB');
else
putchar(' '); /* spasi */
printf("\n"); /* pindah baris */
}
{1, 0, 0, 0, 0, 1, 0, 0 },
{1, 0, 0, 0, 0, 1, 0, 0 },
{1, 1, 1, 1, 1, 1, 1, 0 },
{1, 1, 0, 0, 0, 0, 1, 0 },
{1, 1, 0, 0, 0, 0, 1, 0 },
{1, 1, 1, 1, 1, 1, 1, 0 },
{0, 0, 0, 0, 0, 0, 0, 0 }
}
};
for(i = 0; i < 2; i++) /* Tampilkan huruf */
{
for(j = 0; j < 8; j++)
{
for(k = 0; k < 8; k++)
if(data_huruf[i][j][k] != 0)
putchar('\xDB');
else
putchar(' '); /* spasi */
printf("\n"); /* pindah baris */
}
printf("\n"); /* pindah baris */
}
}
}
}
b. Inisialisasi Array Berdimensi Banyak/n
Inisialisasi array yang tak berukuran dapat dilakukan untuk array berdimensi satu
atau lebih. Untuk array berrdimensi lebih dari satu, dimensi terkirilah yang boleh tak
berukuran. Dengan cara ini tabel dalam array dapat diperluas atau dikurangi tanpa
mengubah ukuran array.
atau lebih. Untuk array berrdimensi lebih dari satu, dimensi terkirilah yang boleh tak
berukuran. Dengan cara ini tabel dalam array dapat diperluas atau dikurangi tanpa
mengubah ukuran array.
Contoh :
char konversi[][2] =
{ ’A’, ’T’,
’E’, ’M’,
’I’, ’V’,
’O’, ’S’,
’U’, ’J’,
};
Pada contoh ini,
konversi[0][0] bernilai ’A’
konversi[0][1] bernilai ’T’
konversi[1][0] bernilai ’E’
konversi[1][1] bernilai ’M’
……..
{ ’A’, ’T’,
’E’, ’M’,
’I’, ’V’,
’O’, ’S’,
’U’, ’J’,
};
Pada contoh ini,
konversi[0][0] bernilai ’A’
konversi[0][1] bernilai ’T’
konversi[1][0] bernilai ’E’
konversi[1][1] bernilai ’M’
……..
Contoh berikut akan menyandikan suatu kalimat yang dimasukkan melalui keyboard
dengan menggunakan data yang ada pada tabel konversi. Misal, huruf A akan diganti
menjadi T, huruf T akan diganti menjadi A.
/* File program : sandi.c
contoh inisialisasi array tak berukuran */
#include <stdio.h>
#include <stdlib.h>
#define JUM_KOLOM 2
#define MAX_KAR 256
main()
{
char konversi[][JUM_KOLOM] = {
'A', 'T',
'a', 't',
'E', 'M',
'e', 'm',
'I', 'V',
'i', 'v',
'O', 'S',
'o', 's',
dengan menggunakan data yang ada pada tabel konversi. Misal, huruf A akan diganti
menjadi T, huruf T akan diganti menjadi A.
/* File program : sandi.c
contoh inisialisasi array tak berukuran */
#include <stdio.h>
#include <stdlib.h>
#define JUM_KOLOM 2
#define MAX_KAR 256
main()
{
char konversi[][JUM_KOLOM] = {
'A', 'T',
'a', 't',
'E', 'M',
'e', 'm',
'I', 'V',
'i', 'v',
'O', 'S',
'o', 's',
'U', 'J',
'u', 'j'
};
char kalimat[MAX_KAR], karakter;
int i = 0, j, jum_kar, jum_penyandi;
printf("Masukkan sebuah kalimat dan akhiri dengan
ENTER\n");
printf("Kemudian kalimat tsb akan saya sandikan\n");
printf("Kalimat: ");
/* Memasukkan data karakter ke array kalimat */
while((kalimat[i] = getchar()) != '\n')
i++;
jum_kar = i ;
/* sandikan dan menampilkan ke layar */
printf("\nHasil setelah disandikan: ");
jum_penyandi = sizeof(konversi) / JUM_KOLOM;
for(i = 0; i < jum_kar; i++)
{
karakter = kalimat [i];
for(j = 0; j < jum_penyandi; j++)
{
if(karakter == konversi[j][0])
'u', 'j'
};
char kalimat[MAX_KAR], karakter;
int i = 0, j, jum_kar, jum_penyandi;
printf("Masukkan sebuah kalimat dan akhiri dengan
ENTER\n");
printf("Kemudian kalimat tsb akan saya sandikan\n");
printf("Kalimat: ");
/* Memasukkan data karakter ke array kalimat */
while((kalimat[i] = getchar()) != '\n')
i++;
jum_kar = i ;
/* sandikan dan menampilkan ke layar */
printf("\nHasil setelah disandikan: ");
jum_penyandi = sizeof(konversi) / JUM_KOLOM;
for(i = 0; i < jum_kar; i++)
{
karakter = kalimat [i];
for(j = 0; j < jum_penyandi; j++)
{
if(karakter == konversi[j][0])
{
karakter = konversi[j][1];
break; /* keluar dari for terdalam */
}
if(karakter == konversi[j][1])
{
karakter = konversi[j][0];
break; /* keluar dari for terdalam */
}
}
putchar (karakter);
}
printf("\n\n");
}
karakter = konversi[j][1];
break; /* keluar dari for terdalam */
}
if(karakter == konversi[j][1])
{
karakter = konversi[j][0];
break; /* keluar dari for terdalam */
}
}
putchar (karakter);
}
printf("\n\n");
}
Contoh Eksekusi :
Masukkan sebuah kalimat dan akhiri dengan ENTER
Kemudian kalimat tsb akan saya sandikan
Kalimat : Saya belajar
Hasil setelah disandikan: Otyt bmltutr
Masukkan sebuah kalimat dan akhiri dengan ENTER
Kemudian kalimat tsb akan saya sandikan
Kalimat : Saya belajar
Hasil setelah disandikan: Otyt bmltutr
Pada program diatas ,
sizeof(konversi)/JUM_KOLOM)
merupakan ungkapan untuk memperoleh banyaknya baris (ukuran dari dimensi pertama)
dalam array konversi. Dengan cara ini tabel konversi dapat diperluas tanpa perlu
memberitahu banyaknya jumlah dimensi pertama secara ekplisit.
Referensi :
sizeof(konversi)/JUM_KOLOM)
merupakan ungkapan untuk memperoleh banyaknya baris (ukuran dari dimensi pertama)
dalam array konversi. Dengan cara ini tabel konversi dapat diperluas tanpa perlu
memberitahu banyaknya jumlah dimensi pertama secara ekplisit.
Referensi :
Anonim.
2015. Pengertian dan Deklarasi Array.
Diakses tanggal 5 Juni 2015 pada
http://www.termasmedia.com/pemrograman/java/123-pengertian-dan-deklarasi-larik-array-di-java.html
Anonim.
2015. Array.
Diakses tanggal 5 Juni 2015 pada
https://plus.google.com/115761185111381896906/posts/6w7dZtaR9Pq
Anonim. 2015.Materi Array atau Larik. 2015 pada
https://id.scribd.com/doc/7523863/Materi-3-Array-Atau-Larik
Tidak ada komentar:
Posting Komentar