Dokumen tersebut memberikan penjelasan singkat tentang operasi aritmatika, operator logika, array dan matriks dalam bahasa pemrograman C dalam 3 paragraf."
2. Referensi:
[1] Hutchinson, R., Just, S. B. 1995. Programming Using the C Language. Mcgraw-Hill
Computer Science Series.
[2] Kernighan, B.W., Ritchie, D.M. 1988. C Programming Language (2nd Edition). Prentice-
Hall.
[3] Prinz, P., Kirch-Prinz, U. 2002. C Pocket Reference. O'Reilly Media, Inc.
[4] Simamora, S.N.M.P. 2001. Dasar Pemrograman dengan C++. Diktat Kuliah. ITHB.
Bandung
Kunjungi Departemen Sistem Komputer, Fak. Teknik di:
www.ithb.ac.id
I. Operasi Arithmatika
Dalam Bahasa Pemrograman C, operator arithmatika yang dikenal adalah sbb:
a) Tambah (‘+’)
Contoh:
#include<stdio.h>
main()
{
printf("%i",5+5);
return;
}
Contoh:
#include<stdio.h>
main()
{
float a;
a=5+5;
printf("%f",a);
return;
}
Contoh:
#include<stdio.h>
main()
{
int a;
printf("Masukkan nilai a: ");
scanf("%i", &a);
a=a+5;
printf("%i",a);
return;
}
b) Kurang (‘-’)
#include<stdio.h>
main()
{
printf("%i",15-5);
return;
}
1
3. Contoh:
#include<stdio.h>
main()
{
float x;
x=25-5;
printf("%f",x);
return;
}
c) Kali (‘x’)
#include<stdio.h>
main()
{
printf("%i",25*5);
return;
}
Contoh:
#include<stdio.h>
main()
{
float x;
x=5*1.5;
printf("%f",x);
return;
}
d) Bagi (‘÷’)
Misalkan: 15÷3, dituliskan: 15/3
Namun jika 15÷2, dituliskan: 15/2 namun hasilnya bukan 7.5 melainkan 7.
Hal ini disebabkan, operator ’/’ memberi hasil bagi namun sisa bagi tidak disertakan.
Contoh:
#include<stdio.h>
main()
{
printf("%i",25/4);
return;
}
Contoh:
#include<stdio.h>
main()
{
float a;
a=25/5;
printf("%f",a);
return;
}
2
4. Untuk menampilkan luaran berupa sisa bagi, digunakan sebuah operator modulus dimana
dalam Bahasa Pemrograman C digunakan symbol ‘%’.
Contoh:
#include<stdio.h>
main()
{
printf("%i",25%4);
return;
}
Contoh:
#include<stdio.h>
main()
{
int x;
x=25%3;
printf("%i",x);
return;
}
Contoh:
#include<stdio.h>
main()
{
int x;
x=25%3;
printf("%i",x);
return;
}
II. Operator Logika
2.1 Operator: ‘==’
Misalkan: dua variabel masing-masing, A dan B, jika masing-masing diberi nilai numerik
yang sama maka kedua variabel bernilai sama; dituliskan dalam Bahasa Pemrograman C
adalah: ‘A==B’.
Contoh:
#include<stdio.h>
main()
{
int A=3,B;
printf("Masukkan variabel B: ");
scanf("%i",&B);
if(A==B) {
printf("Nilai yang anda masukkan sama dengan A, yakni %i",B);
} else {
printf("Nilai yang anda masukkan berbeda dengan A. Anda
memasukkan %i",B);
}
return;
}
3
5. Contoh
#include<stdio.h>
main()
{
int A=4,B,C;
printf("Masukkan variabel B: ");
scanf("%i",&B);
C=B+1;
if(A==C) {
printf("Nilai yang anda masukkan sama dengan A, yakni %i",A);
} else {
printf("Nilai yang anda masukkan berbeda dengan A. Anda
memasukkan %i",B);
}
return;
}
2.2 Operator: ‘>=’
Contoh
#include<stdio.h>
main()
{
int A=4,B;
printf("Masukkan variabel B: ");
scanf("%i",&B);
if(B>=A) {
printf("Nilai yang anda masukkan lebih besar atau sama dengan A,
yakni %i",A);
} else {
printf("Nilai yang anda masukkan lebih kecil dari A. Anda
memasukkan %i",B);
}
return;
}
2.3 Operator: ‘<=’
Contoh
#include<stdio.h>
main()
{
int A=4,B;
printf("Masukkan variabel B: ");
scanf("%i",&B);
if(A<=B) {
printf("Nilai yang anda masukkan besar atau sama dengan A, yakni
%i",A);
} else {
printf("Nilai yang anda masukkan lebih kecil dari A. Anda
memasukkan %i",B);
}
return;
}
4
6. 2.4 Operator: ‘!=’
Contoh
#include<stdio.h>
main()
{
int A=4,B;
printf("Masukkan variabel B: ");
scanf("%i",&B);
if(B!=A) {
printf("Nilai yang anda masukkan tidak sama dengan A, yakni
%i",A);
} else {
printf("Nilai yang anda masukkan sama dengan A. Anda memasukkan
%i",B);
}
return;
}
2.5 Operator Boolean
Operator Boolean yang dikenal dalam Bahasa Pemrograman C adalah:
a) AND
Definisi:
Luaran bernilai ‘1’ jika dan hanya jika dua masukan atau lebih semua bernilai ‘1’.
Simbol dalam Bahasa Pemrograman C adalah: ‘&&’
Misalkan: DEC(8) && DEC(7) = DEC(0)
Dibuktikan dalam sintaks C sbb:
#include<stdio.h>
main()
{
int A=8,B=7,C;
C=A&B;
printf("%i & %i = %i",A,B,C);
return;
}
b) OR
Definisi:
Luaran bernilai ‘1’ jika dan hanya jika salah satu masukan dari dua masukan atau lebih
bernilai ‘1’.
Simbol dalam Bahasa Pemrograman C adalah: ‘||’
Misalkan: DEC(8) || DEC(7) = DEC(15)
Dibuktikan dalam sintaks C sbb:
#include<stdio.h>
main()
{
int A=8,B=7,C;
C=A|B;
printf("%i | %i = %i",A,B,C);
return;
}
5
7. 2.6 Operator: ‘&&’ dan ‘||’
Misalkan:
A=2
B=3
Lalu dinyatakan statement berikut:
Z←A>=5||B==3&&A!=B;
maka, Z bernilai: 1.
Dituliskan dalam sintaks C sebagai berikut:
#include<stdio.h>
main()
{
int A=2,B=3,Z;
Z=A>=5||B==3&&A!=B;
printf("Hasil = %i",Z);
return;
}
Perhatikan bahwa operator ’&&’ lebih tinggi hirarkinya dibandingkan ’||’, sehingga prioritas
pengerjaan dikerjakan oleh operator dengan hirarki lebih tinggi.
Contoh:
Z=A>=5&&B==3||A==B;
maka, Z bernilai: 0.
Dituliskan dalam sintaks C sbb:
#include<stdio.h>
main()
{
int A=2,B=3,Z;
Z=A>=5&&B==3||A==B;
printf("Hasil = %i",Z);
return;
}
Contoh:
#include<stdio.h>
main()
{
int A=9,B=-3,Z;
Z=A>=5&&B==3||A==B;
printf("Hasil = %i",Z);
return;
}
Hasil Z=0.
Contoh
#include<stdio.h>
main()
{
int A=9,B=-3,Z;
6
8. Z=A>=5||B==3&&A==B;
printf("Hasil = %i",Z);
return;
}
Nilai Z = 1.
Hasilnya berbeda bila dituliskan berikut ini:
#include<stdio.h>
main()
{
int A=9,B=-3,Z;
Z=(A>=5||B==3)&&A==B;
printf("Hasil = %i",Z);
return;
}
Nilai Z=0.
Ini membuktikan proses prioritas seperti disebutkan dalam teori memang terbukti berdasar
hasil pengujian tsb.
III. Larik (Array)
Sebuah larik (array) dapat didefinisikan sebagai sekumpulan data dengan tipe dan jenis yang
sama dan dikelompokkan dalam satu variabel dimana indeks pencacah dimulai dari 0.
Misalkan
A[5] = {1,2,3,4,5};
Larik A memiliki panjang larik sebesar 5 dengan anggota (elemen anggota) sebagai berikut:
A[0]=1;
A[1]=2;
A[2]=3;
A[3]=4;
A[4]=5;
Dituliskan dalam Bahasa Pemrograman C sebagai berikut:
#include<stdio.h>
main()
{
int i,A[5]={1,2,3,4,5};
for(i=0;i<5;i++) {
printf("A[%i]=%i",i,A[i]);
printf("n");
}
return;
}
Dalam Bahasa Pemrograman C, sebuah string tidak memiliki tipe data yang terdeklarasikan,
sehingga jika suatu data ingin direpresentasikan dalam string maka tak lain merupakan
sekumpulan karakter (tipe data char) yang dikelompokkan dalam array.
7
9. Untuk suatu kasus, dimana end-user diminta memasukkan input angka dengan panjang lima
digit, lalu ditampilkan secara terbalik.
Misalkan, dimasukkan: 53421, maka ditampilkan menjadi: 12435.
Dituliskan dalam Bahasa Pemrograman C sebagai berikut:
#include<stdio.h>
main()
{
int a[5];
int i;
for(i=0;i<5;++i) {
printf("Input-%i: ",i+1); scanf("%d",&a[i]);
}
printf("Kode yang anda masukkan dibalikkan: ");
for(i=4;i>=0;--i) printf("%d",a[i]);
return;
}
Bila tampilan yang diinginkan sesuai masukan dari end-user, adalah sebagai berikut:
#include<stdio.h>
main()
{
int a[5];
int i;
for(i=0;i<5;i++) {
printf("Input-%i: ",i+1); scanf("%d",&a[i]);
}
printf("Kode yang anda masukkan adalah: ");
for(i=0;i<5;i++) printf("%d",a[i]);
return;
}
Selanjutnya jika dilakukan pengecekan terhadap nilai masukan yang sebelumnya telah
dilakukan oleh end-user, dapat dituliskan sintaksnya sbb:
#include<stdio.h>
main()
{
int a[5],b[5];
int i;
for(i=0;i<5;i++) {
printf("Input-%i: ",i+1); scanf("%d",&a[i]);
}
printf("Kode yang anda masukkan yaitu: ");
for(i=0;i<5;i++) printf("%d",a[i]);
printf("nCek input sebelumnyan");
for(i=0;i<5;i++) {
printf("Input-%i: ",i+1); scanf("%d",&b[i]);
}
for(i=0;i<5;i++) {
if(a[i]==b[i]) {
printf("nKode digit ke-%i yang anda masukkan benar.",i+1);
} else {
printf("nKode digit ke-%i yang anda masukkan salah.",i+1);
}
}
return;
}
8
10. MATRIKS
Matriks merupakan suatu larik berdimensi 2, yang tersusun dari baris dan kolom. Misalkan
1 2
dituliskan A: maka dapat dijelaskan bahwa matriks A terdiri dari elemen-elemen
3 3
berikut:
a11 = 1 → Matriks A pada baris-1,kolom-1 adalah 1
a12 = 2 → Matriks A pada baris-1,kolom-2 adalah 2
a21 = 3 → Matriks A pada baris-2,kolom-1 adalah 3
a22 = 3 → Matriks A pada baris-2,kolom-2 adalah 3
Dituliskan dalam Bahasa Pemrograman C adalah sebagai berikut:
#include<stdio.h>
main()
{
int i,j,A[2][2]=
{
{1,2},
{3,3},
};
printf("Matriks yang ditampilkan:n");
for(i=0;i<2;i++) {
for (j=0;j<2;j++) {
printf("%i ",A[i][j]);
}
printf("n");
}
return;
}
Misalkan matriks A dikalikan dengan 2, maka dihasilkan:
2 4
A: ; maka dituliskan dalam Bahasa Pemrograman C adalah sbb:
6 6
#include<stdio.h>
main()
{
int i,j,A[2][2]=
{
{1,2},
{3,3},
};
printf("Matriks awal:n");
for(i=0;i<2;i++) {
for (j=0;j<2;j++) {
printf("%i ",A[i][j]);
}
printf("n");
}
printf("Matriks setelah dikali dengan 2:n");
for(i=0;i<2;i++) {
for (j=0;j<2;j++) {
printf("%i ",A[i][j]*2);
}
9
11. printf("n");
}
return;
}
Kasus berikutnya, apabila diketahui:
1 2
A:
3 3
2
B:
1
4
maka, jika C = A x B ; C= ; hal ini dapat dikerjakan dengan Bahasa Pemrograman C
9
menjadi sbb:
#include<stdio.h>
main()
{
int i,j,k,A[2][2]=
{
{1,2},
{3,3},
},B[2][1]=
{
{2},
{1},
},C[2][1];
printf("Matriks A:n");
for(i=0;i<2;i++) {
for (j=0;j<2;j++) {
printf("%i ",A[i][j]);
}
printf("n");
}
printf("Matriks B:n");
for(i=0;i<2;i++) {
for (j=0;j<1;j++) {
printf("%i ",B[i][j]);
}
printf("n");
}
for(i=0;i<2;i++) {
for (j=0;j<1;j++) {
C[i][j]=0;
for (k=0;k<2;k++) {
C[i][j]+=A[i][k]*B[k][j];
}
}
}
printf("Matriks didapatkan setelah A dikali dengan B:n");
for(i=0;i<2;i++){
for(j=0;j<1;j++){
printf("%i",C[i][j]);
10
12. }
printf("n");
}
return;
}
Untuk kasus berikutnya yaitu nilai elemen matriks beserta dimensinya didapatkan dari end-
user; misalkan A dengan dimensi 2x2 dengan elemen:
a11 = 1
a12 = 2
a21 = 3
a22 = 2
dan B dengan dimensi 2x1 dengan elemen:
b11 = 2
b21 = 1
4
maka jika A x B = C, C =
8
Dituliskan dalam Bahasa Pemrograman C adalah sbb:
#include <stdio.h>
main()
{
int a[10][10], b[10][10], c[10][10], i, j, k, r1, r2, c1, c2;
printf("Masukan jumlah baris dan kolom untuk Matriks A (maks.10):
");
scanf("%d %d", &r1, &c1);
printf("Masukan jumlah baris dan kolom untuk Matriks B (maks.10):
");
scanf("%d %d", &r2, &c2);
if (c1 != r2)
{
printf("n Mohon maaf perkalian tidak dapat dilakukann");
} else {
printf("n Memasukkan elemen Matriks A: n");
for (i=0; i<r1; i++)
for (j=0; j<c1; j++)
scanf("%d", &a[i][j]);
printf("n Memasukkan elemen Matriks B: n");
for (i=0; i<r2; i++)
for (j=0; j<c2; j++)
scanf("%d", &b[i][j]);
printf("nMatriks A: n");
for (i=0; i<r1; i++)
{
for (j=0; j<c1; j++)
printf(" %d", a[i][j]);
printf("n");
}
11
13. printf("nMatriks B: n");
for (i=0; i<r2; i++)
{
for (j=0; j<c2; j++)
printf(" %d", b[i][j]);
printf("n");
}
for (i=0; i<r1; i++)
for (j=0; j<c2; j++)
{
c[i][j] = 0;
for (k=0; k<r2; k++)
c[i][j] = c[i][j] + a[i][k] * b[k][j];
}
printf("n n Matriks hasil perkalian A dan B: n");
for (i=0; i<r1; i++)
{
for (j=0; j<c2; j++)
printf("t %d", c[i][j]);
printf("n");
}
}
return;
}
IV. Struktur dan Pohon Logika
Struktur dan pohon logika berperan sebagai kontrol alir program untuk seleksi proses kepada
blok program yang akan diproses.
Misalkan:
Jika isi A = 20, maka
Eksekusi blok ini;
Jika tidak, maka
Eksekusi blok ini;
4.1 Struktur logika: if......then.....else
Contoh:
#include<stdio.h>
main()
{
int a=4;
if(a<7) {
printf("Isi a lebih kecil dari 7.");
}
return 0;
}
12
14. 4.2 Struktur logika: do......while
Contoh:
#include<stdio.h>
main()
{
int a=10;
do {
printf("Selamat Datang di Departemen Sistem Komputer!");
a=a-3;
printf("n");
} while (a>3);
return 0;
}
4.3 Struktur logika: while
Contoh:
#include<stdio.h>
main()
{
int a=10;
while (a>3) {
printf("Selamat Datang di ITHB Bandung!");
a=a-3;
printf("n");
}
return 0;
}
4.4 Struktur logika: for.....i
Contoh:
#include<stdio.h>
main()
{
int a,i;
printf("Berapa kali ditampilkan?: ");
scanf("%i",&a);
for(i=0;i<a;i++) {
printf("Ke-%i",i+1);
printf(" Jauhkan Korupsi-Kolusi-Nepotis.n");
}
return 0;
}
4.5 Struktur logika: switch
Contoh:
#include<stdio.h>
main()
{
int a=3;
switch (a) {
13
15. case 1:
printf("Hari ini akan hujan");
break;
case 2:
printf("Selamat Datang di Institut Teknologi Harapan Bangsa!");
break;
case 3:
printf("Isi variabel a adalah 3.");
break;
case 4:
printf("Dilarang nepotis.");
break;
case 5:
printf("Isi variabel a adalah 5.");
break;
case 6:
printf("Isi variabel a adalah 6.");
break;
case 7:
printf("Hati-hati gunakan teknologi.");
break;
default:
printf(“Mohon maaf di luar pilihan yang disajikan.”);
break;
}
return 0;
}
14