JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA
BAB I ARRAY
Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu indes. Setiap elemen array dapat diakses melalui indeks. Dalam bahasa C, indeks array dimulai dari nol(0). Menurut dimensinya, array dapat dibedakan menjadi : 1. Array berdimensi satu Setiap elemen array dapat diakses melalui index Index array secara default dimulai dari 0 Deklarasi array : Tipe data_array nama_array[ukuran] Contoh program :
#include<stdio.h> #include<string.h> main() { char x[20]; char y[20]="nasi goreng"; char z[20]="ayam goreng"; printf("Menu : \n" "- Nasi Goreng.\n" "- Ayam Goreng\n\n"); printf("masukkan nama makanan : "); gets(x); if(strcmp(x,z)==0) { printf("\nHarga 1 porsi ayam goreng adalah Rp.10.000,-\n\n"); } else if (strcmp(x,y)==0) { printf("\nHarga 1 porsi nasi goreng adalah Rp.7.000,-\n\n"); } else { printf("\nmenu yang anda masukkan tidak ada pada daftar\n"); } }
2.
Array berdimensi dua Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom. Bentuknya dapat berupa matriks atau tabel. Deklarasi array : Tipe_array nama_array [baris][kolom] Contoh Program :
#include<stdio.h> void main () { int mat1[10][10],mat2[10][10],hasil[10][10]; int i,j,bar,kol; printf("PROGRAM PENJUMLAHAN MATRIKS\n\n"); printf("masukkan banyak baris : ");scanf("%d",&bar); printf("masukkan banyak kolom : ");scanf("%d",&kol); printf("\nmasukkan elemen matriks A :"); for(i=0;i<bar;i++) { for(j=0;j<kol;j++) { printf("\nmatrik1[%i][%i]: ",i+1,j+1); scanf("%i",&mat1[i][j]); } } printf("\nmasukkan elemen matriks B :\n"); for(i=0;i<bar;i++) { for(j=0;j<kol;j++) { printf("\nmatrik1[%i][%i]: ",i+1,j+1); scanf("%i",&mat2[i][j]); } } printf("\nmatriks A + B :\n\n"); for(i=0;i<bar;i++) /*menampilkan hasil penjulahan matriks A dan B*/ { for(j=0;j<kol;j++) { printf("%i\t",mat1[i][j]+mat2[i][j]); } printf("\n"); } }
3.
Array multidimensi
Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua. Deklarasi array :
BAB II POINTER
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori. Adapun operator yang digunakan pada pointer adalah operator referensi `&`, dimana operator ini merujuk kepada `alamat` dari memori. Juga ada operator dereferensi `*` . yang secara kasar menunjuk kepada `nilai` yang terisi pada variabel. Adapun deklarasi pointer adalah sebagai berikut. Tipe_data *nama_pointer; Contoh program : #include<stdio.h> void main () { int a[20],n,i,b,t; int *ptr; //inisialisasi pointer ptr=&a; //variabel pointer menunjuk alamat data variabel a printf("program pengurut angka\n\n"); printf("masukkan banyaknya angka :");scanf("%d",&n); for(i=0;i<n;i++) { printf("masukkan angka ke-%d : ",i+1);scanf("%d",&ptr[i]); } printf("urutan angka dari terkecil :\n"); for(i=0;i<n;i++) { for(b=i+1;b<=n;b++) { if(a[i]>a[b]) { t=a[i]; a[i]=a[b]; a[b]=t; } } } for(i=0;i<n;i++) printf( " %d",a[i]); }
Berikut contoh program penggunaan fungsi : #include<stdio.h> int rat=0; int rata_rata(int n,int x[20]) { int i; printf("masukkan banyak angka :");scanf("%d",&n); for(i=0;i<n;i++) { printf("masukkan angka ke-%d :",i+1);scanf("%d",&x[i]); } for(i=0;i<n;i++) { rat=rat+x[i]; } return(rat/n); } main () { int x[20],n; printf("program nilai rata-rata\n\n"); printf("\n\nnilai rata-ratanya : %d",rata_rata(n,x[20])); return 0; }