0% menganggap dokumen ini bermanfaat (0 suara)
290 tayangan

Array

Dokumen ini membahas penggunaan variabel array satu dimensi, dua dimensi, dan berdimensi banyak dalam bahasa pemrograman C. Termasuk contoh kode program yang mendemonstrasikan penggunaan variabel array untuk menyimpan dan memproses data seperti deret Fibonacci, huruf besar, dan konversi bilangan antar dasar bilangan.
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
290 tayangan

Array

Dokumen ini membahas penggunaan variabel array satu dimensi, dua dimensi, dan berdimensi banyak dalam bahasa pemrograman C. Termasuk contoh kode program yang mendemonstrasikan penggunaan variabel array untuk menyimpan dan memproses data seperti deret Fibonacci, huruf besar, dan konversi bilangan antar dasar bilangan.
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 6

PRAKTIKUM VII

VARIABEL ARRAY
7.1. Tujuan
Mempelajari penggunaan variabel array satu dimensi, dua dimensi, berdimensi banyak, array
tak berukuran dan parameter array.
7.2. Teori
Suatu array adalah kumpulan dari beberapa nilai yang mempunyai tipe sama, misalkan integer
semua, float semua, dan sebagainya.Untuk membedakan antara nilai satu dengan
lainnyadigunakan suatu subscript, yang sering di sebut index. Suatu variabel array dapat
digunakan untuk menyimpan beberapa nilai dengan tipe sama, contohnya variabel bilangan[n],
maka dapat menyimpan beberapa nilai dengan index mulai 0 sampai n-1 yaitu bilangan[0],
bilangan[1],...,bilangan[n-1]. Nilai subscript dapat berupa konstanta, variabel dan ekspresi
integer.
7.3. Program Percobaan
7.3.1. Mencoba mendeklarasikan suatu variabel array dan mengisinya kemudian
menampilkan isi variabel tersebut menggunakan statement for(). Ingat apabila
jumlah deklarasi index adalah n, maka nilai indexnya adalah dimulai dari 0 sampai n-
1.
/* Nama File : LARIK1.C*/
#include <stdio.h>
#include <conio.h>
void main()
{
int nilai[10];
int indeks;
clrscr();
nilai[0]=197;
nilai[2]=-100;
nilai[5]=350;
nilai[3]= nilai[0]+ nilai[5];
nilai[]= nilai[5]/10;
--nilai[2];
for(indeks=0; indeks<10; ++indeks)
printf(“nilai[%d] = %d\n”, indeks, nilai[indeks]);
getch();
}

7.3.2. Deret fibonacci adalah deret yang dimulai dengan dua angka dan bernilai 0 dan 1,
kemudian deret ketiga ditentukan dari penjumlahan kedua angka tersebut,
sedangkan deret keempat ditentukan dari dua angka sebelumnya, begitu seterusnya.
Sehingga didapatkan deret fibonacci sebagai berikut: 0 1 1 2 3 5 8 13 21...
/* Nama File : LARIK2.C */
#include <stdio.h>
void main()
{
int fibo[100], i, jumlah;
fibo[0] = 0;
fibo[1] = 1;
printf(“Masukkan jumlah deret fibonaci = ”);
scanf(“%d”, &jumlah);
for(i=2; i<jumlah; i++){
fibo[i] = fibo[i-1] + fibo[i-2];
printf(“%5d”, fibo[i]);
}
printf(“\n\n”);
}

7.3.3. Bila sudah ditentukan suatu variabel array dengan sejumlah index, kemudian hanya
beberapa index saja yang akan diisi dengan data, maka index yang lain tidak dapat
begitu saja diabaikan. Untuk itu dapat digunakan statement static untuk mengisi
suatu variabel array dengan nol bila tidak ditentukan nilainya.
/* Nama File : LARIK3.C */
#include <stdio.h>
void main()
{
static int nilai_nilai[10] = {0, 1, 4, 9, 16};
/* nilai biasanya diisi dengan nol dengan sendirinya */
int i;
for(i=0; i<10; i++){
printf(“nilai_nilai[%d] = %d\n”, i, nilai_nilai[i]);
getch();
}
7.3.4. Mnentukan nilai maksimum dari sederetan nilai yang sudah diinisialisasi dan disimpan
dalam array, mengirim array sebagai parameter sebuah fungsi.
/* Nama File : LARIK4.C */
int findmax(int[], int);
void main()
{
Static int data1[] = {5, 34, 56, -12, 3, 19};
Static int data2[] = {1, -2, 34, 207, 93, -12};
Printf(“nilai maksimum dari data1[] adalah %d\n”,
findmax(data1,6));
Printf(“nilai maksimum dari data2[] adalah %d\n”,
findmax(data2,6));
}
int findmax(int nilai[], int jml_data)
{
int terbesar, i;
terbesar = nilai[10];
for(i=1;i<jml_data;++1)
if(nilai[i]>terbesar)
terbesar = nilai[i];
return terbesar;
}

7.3.5. Array dua dimensi, di bawah ini menyimpan informasi huruf ‘A’. Nilai 1 mewakili
karakter ASCII ‘\xDB’ atau 219, yaitu karakter kotak.
/* Nama File : LARIK5.C */

void main()
{
int i,j
static int 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),
(0,0,0,0,0,0,0,0));

for(i=0;i<8;i++){
for(j=0;j<8;j++)
if(A[i][j]) putchar(‘\xDB ’);
puts(“ ”)
}
getch();
}

7.3.6. Program id bawah ini menggunakan variabel array berdimensi tiga, untuk
menyimpan informasi huruf A dan huruf B. Angka 1 mewakili kotak penuh dan 0
mewakili spasi. Jadi bila ditemukan angka 1 pada variabel data_huruf maka dicetak
kotak penuh, sedangkan sebaliknya dicetak spasi (kosong). Sehingga terbentuk huruf
A dan B dengan ukuran besar (8 kali huruf normal pada mode teks).
/* Nama File : LARIK6.C */
Void main()
{
int, i, j, k;
static 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}
};
/* Tampilkan huruf */
for(i=0;i<2;i++){
for(j=0;j<2;j++){
for(k=0;k<2;k++)
if(data_huruf[i][j][k])
putchar(‘\xDB‘);
else
putchar(‘ ‘);
puts(“”);
}
puts(“”);
}
getch();
}

7.3.7. Dasar bilangan yang digunakan sehari-hari adalah dasar bilangan 10, sedangkan
dasar bilangan yang lain misalkan 2, 8, dan 16 digunakan oleh komputer. Untuk
mengkonversi bilangan maka diperlukan perhitungan matematika sederhana,
sehingga dapat dibuat program konversi dari semua dasar bilangan.
/* Nama File : LARIK7.C */
void main()
{
static char digit_dasar[16] = {
‘0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’A’,’B’,’C’,’D’,’E’,’F
’);
int konversi[64];
long int bilangan;
int digit_ke, dasar, indeks=0;
printf(“Bilangan yang dikonversikan : ”);
scanf(“%ld”, &bilangan);
printf(“Dasar bilangan : ”);
scanf(“%d”, &dasar);
do{
konversi[indeks] = bilangan%dasar;
++indeks;
bilangan/=dasar;
}while(bilangan!=0);
printf(“Angkakonversi : ”);
for(--indeks;indeks>=0;--indeks){
digit_ke=konversi[indeks];
printf(“%c”,digit_dasar[digit_ke]);
}
getch();
}

7.4. Tugas-Tugas (Dikumpulkan 1 minggu setelah praktikum dilaksanakan)


7.4.1. Buatlah program untuk mengurutkan data dengan urutan naik (ascending) yang
dimasukkan melalui keyboard. Program juga menanyakan banyaknya data yang
dimasukkan.
7.4.2. Bilangna prima juga dapat dihasilkan dengan suatu algoritma yang dikenal sebagai
Sieve of Erastosthenes. Buatlah program untuk mengimplementasikan algoritma
tersebut.
7.4.3. Diketahui daftar nilai siswa sebagai berikut:
NO NAMA BAHASA MATEMATIKA DIGITAL
1 Ahmad 81 90 62
2 Adang 50 83 87
3 Dani 89 55 65
4 Edi 77 70 92

Buatlah program untuk menampilkan laporan sebagai berikut:


No.Mhs Rata-rata
1 77.67
2 73.33
3 69.67
4 79.67

Petunjuk: Gunakan variabel array dua dimensi untuk menyimpan data.

Anda mungkin juga menyukai