Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
Sebelum kita mempelajari struktur data dalam bahasa C kita harus mengetahui dulu
struktur dasar pemrograman dalam bahasa C. Struktur dasar program bahasa C ada
beberapa komponen :
Fungsi main()
Deklarasi variable
Perintah (statement)
Keyword include
Komentar
Kurung kurawal .
Contoh :
#include<stdio.h> 4.include
Voidmain()
{ 6.KurungKurawal
//Pendeklarasianvariable5.Komentar
intpanjang,lebar,luas; 2.DeklarasaiVar
panjang=10; 1. Fungsimain
lebar=5; 3.Statement
luas=panjang*lebar;
printf(LuasSegiempat=%d,luas);
}
Void main ()
Berisi perintah yang akan dilakukan computer.
Fungsi main () adalah sekumpulan perintah yang akan dikerjakan ketika kita
menjalankan program. Dari contoh diatas Fungsi main berisi perintah yang akan
dikerjakan ketika kita menjalankan program menghitung segiempat. Secara garis
besar isi dari fungsi main () pada program luas segiempat diatas adalah :
a. Perintah untuk memberikan nilai panjang dan lebar
b. Perintah untuk menghitung luas segiempat
c. Perintah untuk menampilkan luas yang telah dihitung ke layar.
2. Deklarasi Variabel
Variabel adalah sebuah tempat untuk menyimpan data . Deklarasi variable
adalah sebuah perintah agar computer menyediakan variable yang akan kita pakai.
Untuk mendeklarasikan sebuah variable , penulisan dalam bahasa C adalah sebagai
berikut :
TipeVariabel NamaVariabel;
Pada contoh program Luas Segiempat sebelum menghitung luas segiempat, kita
memberikan nilai 10 dan 5 untuk disimpan oleh computer didalam variable. Ada
beberapa tipe variable yang dapat kita gunakan dalam memprogram, contoh
variable integer (int) kita gunakan untuk menyimpan bilangan bulat (misalnya 12,
1, 76 atau 99); variable float untuk menyimpan bilangan berkoma/real(misal 12.8,
0.01)
Contoh :
int firstVariabel;
float secondvariabel;
Type data dasar (basic data type) yang digunakan dalam bahasa C adalah :
Bentuk Penulisan Jumlah Jangkauan nilai numeric yang dapat
Sebutan Type Data
Dalam Bahasa C Byte disimpan oleh tipe data tersebut
1. Integer int atau signet int 2 -32768 s.d 32767
atau signet
unsignet int atau 2 0 s.d 255
unsignet
long int atau long 4 -2147483648 s.d 2147483648
atau signet long atau
signet long int
unsignet long atau 4 0 s.d 4294967295
unsignet long int
2. Floating point float 4 Positif : 3.4 E 38 s.d 3.4E38
single precision Negatif : -3.4 E 38 s.d -3.4E38
3. Floating point double 8 Positif : 1.7 E 308 s.d 1.7E308
doble precision Negatif : -1.7 E 308 s.d -1.7E308
long double 10 Positif : 3.4 E 4932 s.d 1.14E4932
Negatif : -3.4 E 4932 s.d -1.14E4932
4. Character char atau signed 1 - 128 s.d 127
char
Unsigned char 1 0 s.d 255
3. Statement
Statement adalah perintah yang menginstruksikan computer untuk melakukan tugas
tertentu. Biasanya sebuah statement ditulis dalam 1 baris dan diakhiri dengan ;.
Contoh :
Panjang = 10; memerintahkan computer untuk mengisi variable panjang dengan
nilai 10.
luas = panjang * lebar ; memerintahkan computer untuk menghitung hasil
perkalian dari panjang dan lebar, lalu mentimpannya dalam variable luas.
Perintah printf(Luas segiempat = %d, luas); memerintahkan computer
menampilkan isi variable panjang, lebar dan luas ke layar.
Sebuah statement biasanya diakhiri dengan titik koma (;) kecuali statement-
statement tertentu seperti if( ), for( ), #include dsb.
a = 17;
b = 1+2;
c = a + 2;
printf (%d, a);
a =17 : a adalah operand, = adalah operator.
Didalam bahasa pemrograman bahasa C terdapat 4 macam operator yang
sering digunanakan :
a. Assignment Operator (=)
Assignment operator digunakan untuk memasukkan nilai pada sebuah
variable. Dalam bahasa Indonesia assignment adalah penugasan tetapi bisa
kita artikan = adalah diisi, contoh a = 17 artinya adalah a diisi dengan angka
17
e. Operator Relasional
Operator relasional adalah operator yang menguji apakah hubungan antar
operand betul atau salah. Semua operator relational hanya menghasilkan
nilai benar (TRUE) atau salah (FALSE) . Ada 6 buah operator relational
yang dapat kita gunakan dalam bahasa C yaitu :
Lebih besar ( > ) , operator ini menguji apakah operand yang satu lebih
besar dari operand yang lain atau tidak.
Lebih besar sama dengan ( >= ) , operator ini akan menguji apakah
sebuah operand bernilai lebih besar atau sama dengan operator
lainnyaatau tidak.
Operator lebih kecil ( < ) , operator ini akan menguji apakah sebuah
operand bernilai lebih kecil dari operand yang lain atau tidak.
Operator lebih kecil sama dengan ( <= ), operator ini akan menguji
apakah sebuah operand bernilai lebih kecil atau sama dengan operand
yang lain atau tidak.
Operator sama dengan ( == ) , operator ini akan menguji apakah operand
yang satu sama dengan operand lainnya.
Operator tidak sama dengan ( != ) , operator ini akan menguji apakah
sebuah operand tidak bernilai sama dengan operand yang lain atau tidak.
f. Operator Logika
Operator logika menghasilkan nilai TRUE atau FALSE. Ada 3 macam
operator logika :
And ( && )
Or ( | | )
Not ( ! )
4. Keyword include
Keyword dalam bahasa C disebut juga dengan fungsi . Fungsi digunakan untuk
membungkus perintah-perintah yang rumit sehingga mudah digunakan secara
instan. Cara penulisan (syntax) menggunakan include dalam bahasa C:
#include <NamaFileLibrary>
Contoh:
Library file yang mencatat fungsi printf adalah file stdio.h (stdio=standart
input/output)
#include <stdio.h> : artinya kita berbicara pada computer bahwa kita akan memakai
fungsi-fungsi yang ada di stdio.
Beberapa library file dalam bahasa C antara lain :
Stdio.h (standart input output) menyimpan fungsi-fungsi untuk input output dan
terdapat 33 buah library functions (fungsi pustaka) antara lain :
( clear(), fclose(), fcclosea11(), fdopen(), fhlush(), fgetc(), fgetchar, fgetpost(),
fgets(), flushall(, fopen(), fprintfputchar(), fputs(), fread(), free(), freopen(),
fcan(), fsetpost(), ftell(), gets(), getw(), perror(), printf( ), puts( ), putw( ),
rename( ), rewind( ), scanf( ), unlink( ) ).
math.h menyimpan fungsi-fungsi matematika seperti sin, cos dan sqrt (akar).
Ada beberap library function(fungsi pustaka) dalam fungsi math.h antara lain
adalah sebagai berikut:
( abs( ), acosh( ), asin( ), atan( ), atof9 ), ceil( ), cos( ), cosh( ), exp( ), exp( ),
floor( ), fmod9 ), labs( ), ldexp( ), log( ), pow( ), sin9 ), sqrt( ), tan( ), tanh( ) ).
string.h menyimpan fungsi-fungsi yang berhubungan dengan string.
Ada beberapa library function(fungsi pustaka) dalam fungsi string.h antara lain
adalah sebagai berikut:
( strcpy( ), strcat( ), strchr( ), strcmp( ), strlen( ), )
stdlib.h( standart library)
Ada beberap library function(fungsi pustaka) dalam fungsi stdlib.h antara lain
adalah sebagai berikut:
( abs( ), atof ( ), atoi( ), atoll( ), div( ), exit( ), free( ), rand9 ) , srand( ), system(
)) .
conio.h (console input/output)
Ada beberap library function(fungsi pustaka) dalam fungsi conio.h antara lain
adalah sebagai berikut:
( clrscr( ), getch( ), getche( ), gotoxy( ), khbit( ), putch( ),).
- io.h (input/output)
Ada beberap library function(fungsi pustaka) dalam fungsi conio.h antara lain
adalah sebagai berikut:
BAB III
FUNGSI INPUT / OUTPUT DASAR
Scanf(Format-String , argument);
Contoh :
Scanf (%d, &A) ;
Scanf ( Masukkan nilai A: %d, &A) ;
Kenapa belajar struktur data dengan bahasa C ? Bahasa C adalah bahasa yang
sangat powerfull dan fleksibel. Bahasa ini tidak memberikan batasan pada kita dan
sering digunakan dalam proyek-proyek Operating System , Word Processor dll.
Bahasa C adalah bahasa yang popular. Sebagain besar programmer handal pasti
menguasai bahasa ini. Banyak bahasa-bahasa pemrograman terkenal lainnya (seperti
C#, Java, C++, Action Script, PHP) yang dibuat berdasarkan bahasa C. Dengan
mempelajari bahasa C kita akan sedikit menyesuaikan diri ketika belajar bahasa
bahasa pemrograman tersebut di kemudian hari.
Untuk membangun program dengan bahasa C kita memerlukan IDE (Integrated
Development Environment) . Ada banyak IDE yang dapat kita gunakan untuk
membangun program dengan bahasa C secara gratis. Antara lain DJGPP, Dev C++,
Visual C++ Ekspress Edition dan lain-lain. Untuk mata kuliah struktur data ini kita
akan menggunakan Dev C++ , berikut adalah link yang dapat kalian akses untuk
memperoleh IDE Dev C++ :
http://www.bloodshet.net/dev/devcpp.html
10
b. Pastikan compiler Klik pada Compliler Setting -> Pilih GNU CC Compiler
-> centang lah isian paling atas -> Klik ToolChain Executable
11
e. Klik OK
f. Anda berada pada halaman code block dan siap untuk memulai membuat
program
12
g. Memulai membuat program Pilih New Project -> Pilih Console Aplication
-> pilih Go -> Klik Next -> pilih Bahasa C
h. Ketiklah nama project di mana anda akan menyimpan project anda -> Klik
Next
13
k. Klik Nama Project yang sudah anda buat lalu Pilih Menu File -> New ->
File -> Klik C Source -> Klik GO
14
m. Isilah nama File pada path (alamat ) penyimpanan Project -> Centang lah
semua kolom pada bulid target atau klik All -> Klik Finish.
15
EVALUASI :
1. Buatlah program sederhana untuk menghitung luas lingkaran
Deklarasikan variable
Meminta input untuk jari-jari
Menampilkan hal perhitungan tersebut ke layar
2. Buatlah sebuah program yang meminta nilai sisi sebuah segitiga dan
menampilkan luas segitiga tersebut ke layar .
Contoh input :
4
Contoh output :
16
16
BAB IV
PERINTAH PERCABANGAN
4.1. Perintah IF ()
Perintah IF( ) digunakan untuk memberikan syarat pada 1 atau sekumpulan
statement. Berikut ini adalah cara penulisan perintah if ( ) :
If ( syarat )
{
.. // perintah-perintah yang akan dilakukan jika terdapat syarat
}
else
{
.
}
If ( syarat 1 )
{
.. // perintah-perintah yang akan dilakukan jika terdapat syarat
}
else if ( syarat 2 )
{
.
}
else
{
}
Jika hanya terdapat 1 buat statement di dalam if, elese if, atau else, statement
tersebut tidak perlu diberikan tanda kurung kurawal. Jika terdapat lebih dari 1 buah
statement di dalam if , else if atau else, statement tersebut harus diberikan kurung
kurawal.
Contoh :
Int a, b;
A = 6;
If (a > 2)
A = 4;
Else
17
{
A = a+10;
B = a;
}
switch(ekspresi)
{
casenilai1:perintah
break;
casenilai2:perintah
break;
casenilain:perintah
break;
default:perintah
}
18
EVALASI :
1. Buatlah program yang meminta sebuah bilangan dan menentukan apakah
bilangan tersebut adalah bilangan ganjil dan genap.
Contoh input 1 :
5
Contoh output1:
Ganjil
2. Buatlah program untuk menentukan apakah tahun yang dimasukkan adalah
tahun kabisat atau bukan. Tahun kabisat adalah tahun yang habis dibagi 4,
tetapi tidak habis dibagi 100 kecuali kelipatan 400.
19
BAB V
PERINTAH PERULANGAN
Perintah perulangan / loop statement adalah perintah untuk mengulang satu atau lebih
statement sebanyak beberapa kali. Loop statement digunakan agar kita tidak perlu
menuliskan satu atau sekmpulan statement berulang-ulang.
Dalam bahasa C ada 3 macam perintah yang unum digunakan yaitu :
Perintah for ( )
Perintah while ()
Perintah do while ()
Inisialisasi adalah tempat dimana kita akan memberikan nilai awal pada variable
counter (variable yang digunakan untuk menghitung jumlah perulangan).
Syarat pengulangan adalah syarat yang harus dipenuhi agar perulangan tetap
dilakukan.
Perubahan nilai adalah perubahan yang akan dilakukan pada tiap putaran untuk
menjamin bahwa perulangan tersebut tidak akan berlangsung terus menerus.
Contoh :
int jumlah;
for(jumlah = 1; jumlah <=100; jumlah = jumlah+1)
{
printf(Coding in fly \n);
}
20
while(syarat pengulangan)
{
.. perintah-perintah yang akan dilakukan
}
Perbedaan for () dengan while adalah while ( ) tidak memiliki inisialisasi. Oleh
karena itu inisialisasi harus diberikan sebelum perintah while (). Statement yang
melakukan perubahan nilai juga perlu diberikan di dalam perintah-perintah yang akan
diulang.
while ( ) digunakan untuk mengulang satu / beberapa perintah hingga syarat yang
ditentukan terpenuhi.
Misalnya :
int input;
scanf(%d, &input);
while(input >= 0 )
{
scanf (%d, &input);
}
do
{
.. perintah-perintah yang akan dilakukan
} while (syarat pengulangan);
21
Pada prinsipnya , perintah do while ( ) sama dengan while ( ). Perintah do while ( ) akan
mengulang statement miliknya selama syarat pengulangan terpenuhi. Hanya saja
perintah do while ( ) menjalankan statementnya terlebih dahulu. Setelah itu, ia
memeriksa apakah syarat perulangan masih terpenuhi atau tidak. Sedangkan perintah
while ( ) memeriksa syarat perulangan terlebih dahulu. Oleh karena itu perintah do
while akan menjalankan statement miliknya minimal sebanyak 1 kali, meskipun syarat
perulangan tidak terpenuhi.
Contoh :
int number;
scanf (%d, &number);
do
{
printf (%d, number);
number = number-1;
} while (number > 0 );
*) Jika input yang dimasukkan ke dalam variable number bernilai 5, semua statement
di dalam do while () akan diulang sebanyak 5 kali, yaitu ketika number bernilai
5,4,3,2,1. Namun jika input yang diberikan adalah -1 statement di dalam do while()
akan dijalankan terlebih dahulu. Oleh karena itu computer akan menampilkan nilai
number yaitu -1 lalu mengurangi number dengan 1 menjadi -2. Setelah itu do
while() akan memeriksa apakah syarat yang diberikan bernilai TRUE atau FALSE.
Karena -2 lebih kecil dari nol maka syarat perulangan do while() bernilai FALSE
sehingga di while () berarti melakukan perulangan.
Perintah perulangan juga boleh diletakkan di dalam perintah perulangan
lainnya. Hal ini dilakukan ketika kita ingin mengulang sebuah perulangan sebanyak
beberapa kali.
22
Contoh:
23
EVALUASI :
1. Buatlah code program jika tampilan yang akan dihasilkan dilayar computer
adalah sebagai berikut :
*
**
***
****
*****
24
BAB VI
ARRAY
6.1. Pendahuluan
Bab ini akan mengemukakan bahasan tentang definisi array, deklarasi array,
mengakses elemen array, array sebagai tipe data bentukan, array konstan, array sebagai
parameter, array multidimensi.
6.1.1 Relevansi
Pembahasan pada bab ini sangat penting dipahami, karena materi array ini
memberikan manfaat yaitu efisiensi program. Materi array sangat berkaitan dengan
materi lainnya dalam sebuah pemrograman terstruktur, karena array dapat digunakan
dan dikombinasikan dengan bahasan lain dalam sebuah program.
6.1.2.Capaian Pembelajaran :
Mahasiswa dapat mengorganisir data menggunakan konsep struktur data dan
mampu mengimplementasikan struktur data yang tepat ke dalam sebuah program
6.2. Penyajian
Bagi para pemrogram, efisiensi program merupakan hal utama yang harus
diperhatikan, baik itu dalam hal kecepatan jalannya program, memori yang digunakan,
banyak baris kode yang dituliskan dan juga ketepatan algoritma yang digunakan. Salah
satu komponen yang harus dikuasai untuk memperoleh program yang baik adalah
pengetahuan tentang array.
1) Definisi Array
Array (larik) adalah sebuah variabel yang dapat menyimpan lebih dari satu nilai
sejenis (memilikii tipe data sama). Hal ini berbeda dengan variabel biasa yang hanya
25
mampu menampung satu buah nilai. Setiap nilai yang disimpan di dalam array disebut
dengan elemen array, sedangkan nilai urut yang digunakan untuk mengakses
elemennya disebut dengan indeks array. Sebagai contoh, misalkan terdapat array A
yang memiliki 10 buah elemen nilai yang bertipe integer, maka dapat dipresentasikan
sebagai berikut :
A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10]
0 1 2 3 4 5 6 7 8 9
10 20 30 40 50 60 70 80 90 100
Setiap elemen array di atas menyimpan nilai bertipe integer dan akan menempati
alamat memori yang berbeda, hal ini akan menyebabkan array tersebut memiliki ukuran
40 byte, yang berasal dari 10 x 4. Nilai 10 menunjukkan banyaknya elemen array
sedangkan nilai 4 merupakan ukuran dari tipe data integer (dalam 32 bit).
Array adalah sekumpulan tempat penyimpanan data yang bertipe dan bernama sama
dan memiliki index. Untuk membedakan varibel-variabel tersebut maka kita
menggunakan index.
Variablebertipeinteger
17 Isinilaidarivariabel
Bilanganbulat Namavariabel
26
Variabel adalah tempat penyimpanan data yang telah diberi nama. Satu buah
variable hanya dapat menyimpan satu buah nilai. Pada contoh diatas terdapat
variable bertipe integer yang bernama bilangan bulat dan berisi nilai 17.
NamaArray Arraybertipeinteger
Isiandarielemenarrayke4
ArrayInteger 17 9 12 30 2
IndexArray 0 1 2 3 4
Type namaarray[kapasitas];
Contoh :
Float arrayFloat[3];
27
Type adalah tipe dari array yang akan dibuat. Nama Array adalah nama dari
array yang akan dibuat. Kapasitas adalah banyaknya nilai yang dapat disimpan dalam
array yang akan dibuat.
Untuk mengakses atau membaca sebuah elemen dari array, kita hanya perlu
menuliskan nama dari array tersebut, lalu diikuti dengan index yang dituju dan diapit
tanda kurung siku [].
Contoh pendeklarasian array :
Void main()
{
Int bilangan[4];
bilangan[0] = 7;
bilangan[1] = 5;
bilangan[2] = 9;
bilangan[3] = 15;
printf(%d, bilangan[0]);
printf(%d, bilangan[1]);
printf(%d, bilangan[2]);
printf(%d, bilangan[3]);
}
Dalam mengakses (mengisi dan mengambil nilai) sebuah array, kita dapat
menggunakan perintah perulangan, sehingga kita tidak perlu mengakses elemen array
satu persatu. Contoh :
Void main()
{
Int bilangan[4], index;
bilangan[0]=7;
bilangan[1]=5;
bilangan[2]=9;
bilangan[3]=99;
for (index=0; index<4; index++)
printf(%d, bilangan[index]);
}
28
3. Array Multidimensi
Array multidimensi adalah array yang memiliki lebih dari satu index. Array
multidimensi dapat dikatakan sebagai array dari array (sekumpulan dari array)
Array Dua Dimensi
Array dua dimensi adalah array yang memiliki 2 buah index. Sedangkan pada array 3
dimensi adalah array yang memiliki 3 buah index, array 4 dimensi adalah array yang
memiliki 4 buah index. Begitu seterusnya.
Indexke2 1
Indexke2 0
Indexke22
Indexke10 20 10 17
Indexke11 11 76 54
Indexke12 33 78 99
Indexke13 31 48 21
Type namaarray[kapasitas]..[kapasitas];
29
Int main()
{
char karakter0, karakter1, karakter2, karakter3;
karakter0=4;
karakter1=e;
karakter2=v;
karakter3=e;
printf(%c, karakter0);
printf(%c, karakter1);
printf(%c, karakter2);
printf(%c, karakter3);
}
Perlu kita ingat bahwa ada perbedaan antara bilangan/angka 4 dan huruf/karakter
4. Dalam kode program kita menuliskan sebuah karakter dengan diapit tanda kutip
satu (), tanda kutip () ini dipakai untuk membedakan antara karakter 1 dengan angka
1.
Seperti yang telah kita ketahui computer hanya mengenal bahasa mesin dan angka-
angka.
30
Type Casting
Type data casting adalah type data yang memperlakukan sebuah type data tertentu
sebagai type data yang lainnya.
Contoh :
Int main()
{
char c;
c = a;
printf(Sebagai character , variable c = % c, c);
printf(Sebagai bilangan , variable c = % d, (int)(c));
}
Kode progam tersebut memperlakukan variable c dengan dua cara yang berbeda.
Yang pertama kita menampilkan variable c sebagai tipe data char, yang kedua ini
menampilkan variable c sebagai bilangan. Oleh karena itu, tampilan yang akan
dihasilkan oleh contoh program tersebut adalah :
Sebagai karakter, varibel c = a
Sebagai bilangan , variable c = 97
Variabel c adalah variable yang ingin dilakukan type casting. Variabel c bertipe data
char dan ingin diperlakukan sebagai integer. Oleh karena itu di depan variable c kita
berikan tipe data tujuan (int) yang diapit dengan tanda kurung. Tidak semua tipe data
dapat di casting ke tipe data yang lainnya. Misalnya tipe data char tidak dapat dicasting
ke tipe data float.
char namaString[panjangMax];
31
namaString adalah nama string yang akan dibuat. panjangMax adalah panjang
maximum dari string yang akan disimpan. Untuk menampilkan tipe data string kita
dapat menggunakan fungsi primtf() dengan convension specifier % s.
Fungsi gets ()
Untuk meminta input string.
Fungsi strcpy( )
Untuk menyalin sebuah string ke string lainnya.
Fungsi strlen( )
Untuk memriksa panjang dari sebuah string
Syntax : strlen(namastring)
Contoh :
32
char str[25]
int panjang;
strcpy(str, halo);
panjang = strlen(str);
printf(%d, panjang);
Hasilnya :
4
Fungsi strcat( )
Untuk menggabungkan 2 buah string. String hasil gabungan akan disimpan pada
string pertama.
Fungsi strcmp( )
Untuk membandingkan apakah dua buah string sama atau tidak. Jika sama,
strcmp( ) akan menghasilkan nilai 0.
33
if(strcmp(str1, str2) == 0)
printf(sama);
else
printf(tidak sama);
Hasil nya :
Sama
struct namaStruct
{
deklarasi data;
};
Contoh :
struct Siswa
{
int id;
char nama;
float nilai;
};
Contoh :
struct siswa siswa1
34
siswa1.nilai = 100;
printf(%d, siswa1.id);
gets(siswa1.nama);
scanf(%d, &siswa1.nama);
Dengan menggunkan struct kita dapat membuat sebuah variable struct siswa yang
masing-masing datanya memiliki id, nama dan nilai.
#include ,stdio.h>
struct Siswa
{
int id;
char nama[20];
float nilai;
}
int main( )
{
struct Siswa siswa[3];
float jumlah;
jumlah =0;
for (index=0; index<3; index++)
{
printf( Masukkan ID siswa ke %d : , index+1);
scanf( %d, &siswa[index].id);
printf( Masukkan Nama siswa ke %d : , index+1);
gets(siswa[index].nama);
printf( Masukkan nilai siswa ke %d : , index+1);
scanf( %d, &siswa[index].nilai);
jumlah=jumlah + siswa[index].nilai;
}
35
36
BAB VII
FUNGSI
type namaFungsi(parameter)
{
.. -> statement / perintah yang akan dilakukan ketika fungsi
dipanggil
}
Type adalah type data dari nilai yang akan dikembalikan oleh fungsi. namaFungsi
adalah nama dari fungsi yang dibuat. Nama ini yang akan digunakan untukmemanggil
fungsi yang telah kita buat. Parameter adalah nama dan tipe variable yang akan
digunakan untuk menyimpan nilai yang dibutuhkan oleh fungsi tersebut. Jika terdapat
lebih dari 1 parameter, maka parameter ditulis dengan dipisahkan dengan koma.
Fungsi dapat dibuat diatas (sebelum) atau dibawah (sesudah) fungsi main ( ). Jika
fungsi dibuat dibawah fungsi main( ), maka prototype fungsi tersebut harus dibuat
terlebih dahulu diatas fungsi main( ). Prototipe fungsi adalah header dari fungsi dan
diberi tanda titik koma (;) di bagian belakangnya.
Contoh kasus yang menggunakan fungsi :
37
#include <stdio.h>
int FungsiF(int x); PrototipedariFungsiF()
{
int hasil;
hasil = FungsiF(x-1) + FungsiF(x) FungsiF(x+1);
return hasil;
}
void main ( )
{
int a, b, hasil;
scanf(%d %d, &a, &b);
hasil = FungsiG(a) + FungsiG(b);
//tampilkan hasil dari g(a0 + g(b)
printf(%d, hasil);
}
int FungsiF(int x)
{
int hasil;
hasil = (x*x) + (2*x) + 10;
return hasil;
}
Tipe Void
Sebuah fungsi tidak harus selalu mengembalikan nilai. Tipe dari fungsi yang tidak
mengembalikan nilai adalah void. Contoh fungsi yang tidak mengembalikan nilai, yaitu
fungsi untuk menampilkan kata Hello ke layar sebanyak n kali.
38
Void FungsiHello(int n)
{
int;
for(i=0; i<n; i++)
{
printf(Hello\n);
}
}
}
6
voidPho()
{
ambilkayubakar;
kayubakar; 5
}
39
40
BAB VIII
POINTER
tipePointer namaPointer;
Tipe pointer adalah tipe variabel yang alamatnya akan disimpan. Jika kita menyimpan
alamat variable bertipe float maka kita harus membuat pointer bertipe float juga. Untuk
mengambil alamat dari suatu variabel kita perlu menambahkan operator & (address of
/ alamat dari) di depan variabel yang diinginkan.
Contoh pendeklarasian sebuah variabel integer , pointer integer dan menyimpan alamat
variabel kedalam pointer :
#include <stdio.h>
void main( )
{
int variabel_integer;
int *pointer_integer;
variabel_integer = 17;
pointer_integer = &variabel_integer;
}
Jika alamat sebuah variabel telah disimpan dalam sebuah pointer, maka isi dari
variabel tersebut juga dapat diakses (dibaca/diganti) dari pointer yang mencatat
41
alamatnya. Untuk mengakses isi dari variabel yang alamatnya disimpan oleh sebuah
pointer , kita harus menggunakan tanda * didepan nama pointer yang diinginkan.
Contoh :
#include <stdio.h>
void main( )
{
int variabel_integer;
int *pointer_integer;
pointer_integer = &variabel_integer;
*pointer_integer = 17;
}
42