0% menganggap dokumen ini bermanfaat (0 suara)
74 tayangan15 halaman

Algoritma & Pemrograman C7

Dokumen tersebut membahas tentang penggunaan variabel array satu, dua, dan tiga dimensi dalam pemrograman, termasuk contoh kode untuk mendeklarasikan, mengisi, dan menampilkan isi array. Juga diberikan contoh kode untuk menghitung deret Fibonacci, menentukan nilai maksimum suatu array, dan mengkonversi bilangan desimal ke basis lain menggunakan array.

Diunggah oleh

Arta Rizki
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
74 tayangan15 halaman

Algoritma & Pemrograman C7

Dokumen tersebut membahas tentang penggunaan variabel array satu, dua, dan tiga dimensi dalam pemrograman, termasuk contoh kode untuk mendeklarasikan, mengisi, dan menampilkan isi array. Juga diberikan contoh kode untuk menghitung deret Fibonacci, menentukan nilai maksimum suatu array, dan mengkonversi bilangan desimal ke basis lain menggunakan array.

Diunggah oleh

Arta Rizki
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 15

Algoritma & Pemrograman

C7

Oleh:
Sigit Wasista
PENS-ITS
VARIABEL ARRAY
 TUJUAN: Mempelajari penggunaan variable array
satu dimensi, dua dimensi, tiga dimensi, array tak
berukuran dan parameter array.
 TEORI:
 Suatu array adalah kumpulan dari beberapa nilai
yang mempunyai tipe yang sama, misalkan integer
semua, float semua dan sebagainya.
 Untuk membedakan antara nilai satu dengan lainnya
digunakan suatu subscritpt, yang sering disebut
index.
 Suatu variable array dapat digunakan untuk
menyimpan beberapa nilai dengan tipe sama,
contohnya variable 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.
Deklarasi variabel array
#include <stdio.h>
#include <conio.h>
void main()
{
int nilai[10]; Mendeklarasikan 10 indeks
int indeks;

nilai[0]=197;
nilai[2]=-100;
nilai[5]=350;
nilai[3]=nilai[0]+nilai[5];
nilai[9]=nilai[5]/10;
--nilai[2];
for (indeks=0; indeks<10; ++indeks)
printf("nilai[%d] = %d\n", indeks, nilai[indeks]);
}
Deret Fibonanci
#include <stdio.h>
void main()
{
int fibo[100], i, jumlah;
fibo[0] = 0;
fibo[1] = 1;

printf("Masukkan jumlah deret fibonanci = ");


scanf("%d",&jumlah);
for(i=2; i < jumlah; i++) {
fibo[i] = fibo[i-1] + fibo[i-2];
printf("%5d", fibo[i]);
}
printf("\n\n");
}
Menggunakan tipe variabel Static
#include <stdio.h>
void main()
{
static int nilai_nilai[10]={0, 1, 4, 9, 16};
/* nilai lainnya diisi nol dengan sendirinya
*/

int i;
for (i=0; i<10; i++)
printf("nilai_nilai[%d] = %d\n", i,
nilai_nilai[i]);
getch();
}
Fungsi Menentukan Nilai Maksimum
dari sejumlah deret bilangan
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) Passing parameter
{ Menggunakan array
int terbesar, i;

terbesar = nilai[0];
for(i = 1; i < jml_data; ++i )
if(nilai[i] > terbesar) terbesar = nilai[i];
return terbesar;
}
Mencetak huruf A dengan pola
karakter tertentu menjadi 8x
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'); else putchar(' ');
puts("");
}
}
Mencetak huruf A & B dengan pola
karakter tertentu menjadi 8x
void main()
{
int i,j,k; /* Tampilkan huruf */
static int for (i=0; i<2; i++) {
data_huruf[2][8][8]={ for (j=0; j<8; j++) {
{{0,1,1,1,1,1,0,0}, for (k=0; k<8; k++)
{0,1,0,0,0,1,0,0},
if (data_huruf[i][j][k])
{0,1,0,0,0,1,0,0},
{1,1,1,1,1,1,1,0}, putchar('\xDB');
{1,1,0,0,0,0,1,0}, else
{1,1,0,0,0,0,1,0}, putchar(' ');
{1,1,0,0,0,0,1,0}, puts("");
{0,0,0,0,0,0,0,0} }
}, puts("");
{{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}}
};
Konversi dasar bilangan desimal
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("Angka konversi : ");
for (--indeks; indeks>=0; --indeks) {
digit_ke=konversi[indeks];
printf("%c", digit_dasar[digit_ke]);
}
}
Tugas-tugas
 Diketahui tabel angka
sbb: 1 2 3 4 5 6 7 8
7 8 4 2 9 3 1 6
 Buatlah program untuk
menyimpan dan
menampilkan data
tersebut
 Tampilkan angka genap
saja
 Tampilkan angka
terbesar
 Tampilkan urut
 Tampilkan rata2-nya
 Tampilkan nilai
tengahnya
Tugas-tugas
 Buatlah program untuk mengurutkan
data dengan urutan naik (ascending)
yang dimasukan melalui keyboard.
Program juga menanyakan
banyaknya data yang dimasukkan.
 Input : jumlah data (n), data ke-1 s/d
data ke-n
 Output : Tampilan data dalam keadaan
terurut
Tugas-tugas (bilangan prima)
 Bilangan prima juga dapat dihasilkan dengan suatu algoritma
yang dikenal sebagai Sieve of Erastosthenes. Buatlah program
untuk mengimplementasikan algoritma tersebut.
 Algoritma Sieve of Erastosthenes, untuk menampilkan semua
bilangan prima antara 1 sampai n.
 Langkah 1: Definisikan suatu array P untuk bilangan bulat. Set
semua elemen menjadi 0, yaitu array berindeks dari 0 sampai n.
 Langkah 2: Set i sama dengan 2.
 Langkah 3: Bila i>n, algoritma selesai.
 Langkah 4: Bila Pi adalah nol, maka i adalah bilangan prima.
 Langkah 5: Untuk semua nilai bulat positif j, yaitu i x j<n, set Pixj
menjadi 1.
 Langkah 6: Tambahkan 1 pada i dan lanjutkan ke Langkah 3.
Nilai Rata-rata per siswa

Input

Output
Start

Max=46349

i=2

P(i)=0

J=i*i

P(j)=1

J=j+i

J<max
prima
#include<stdio.h>

#define MAX 46349

void main()
{
static int P[MAX];
long int i,j;

for(i=2;i<MAX;i++) {
if(P[i]==0)
for(j=i*i;j<MAX;j+=i) {
P[j]=1;
}
}

for(i=2;i<MAX;i++) {
if(P[i]==0)
printf("%8d",i);
}

Anda mungkin juga menyukai