Anda di halaman 1dari 14

PERCOBAAN I //Program mencetak pesan

DASAR PEMROGRAMAN BAHASA C #include <iostream.h>


void main()
{
cout<<”Selamat belajar C, semoga meng-asyikkan “;
A. TUJUAN : }
Mahasiswa memahami struktur dasar program C Bahasa C memiliki beberapa eleman dasar antara lain :
a. Karakter
B. PERALATAN : Mengacu dari sistem stardard kode internasional ANSI,
Komputer : 1 set karakter yang dikenal didalam bahasa C adalah karakter
Software : Software IDE C/C++ abjad/huruf, angka, dan simbol-simbol khusus.
b. Keyword
C. TEORI DASAR : Seperti bahasa program lainnya,bahasa C memiliki
Pada umumnya, setiap program C memiliki bentuk dasar sebagai keyword atau dalam istilah lainnya adalah reserverd word.
berikut : Keyword adalah suatu kata yang memiliki makna dan
# prepocessor directive fungsi tertentu. Hampir semua keyword didalam C
tipedata main() dituliskan dalam dalam format huruf kecil.
{ c. Identifier
// Batang Tubuh Program Utama
} Merupakan pengenal baru yang digunakan secara bebas
untuk penamaan variabel, konstanta, fungsi, kelas,
Preprosesor merupakan bagian dari program C yang selalu template, dan namespace.
diawali dengan tanda ‘#’ (pound) dan menghasilkan file yang d. Tipe data
akan dilewatkan kedalam kompilator. Preprosesor tersebut Merupakan pengelompokan data yang digunakan untuk
adalah : merepresentasikan jenis sebuah nilai yang terdapat pada
 #include program. Sebuah tipe data dikelompokkan berdasarkan
 #define nilai jangkauan, penggunaan sejumlah memori (RAM), dan
 #ifdef faktor ketelitian. Bahasa C mengelompokkan
 Dan masih banyak lagi yang lainnya. 1. Tipe data dasar
Fungsi main() merupakan bagian utama dari program C Berikut adalah tipe data dasar
digunakan sebagai implementasi akhir dari sebuah program atau Tipe data Nama
Memory
Jangkauan nilai
Presisi
bisa dikatakan sebagai eksekutor utama. Fungsi ini bertipe data (bit) (digit)
-32768 s/d 32767
dan biasanya tipe data yang digunakan adalah void. Tipe void Bilangan 16 atau Atau
digunakan agar suatu fungsi tidak memiliki nilai balik. Kemudian int -
bulat 32 -2147483648 s/d
ada tanda penulisan braces “{ }“ yang digunakan untuk mengapit 2147483647
bodi program. Bilangan float 1.2E-38 s/d
32 6
Terdapat pula baris komentar yang selalu diawali dengan tanda Riil 3.4E+38
2.3E-308 s/d
double slash “//” atau yang berada diantara tanda “/*” dan “*/”. double 64
1.7E+308
15
Baris komentar ini tidak diikutsertakan didalam proses kompilasi long 3.4E-4932 s/d
80 19
program, karena hanya digunakan sebagai pemberi keterangan double 1.1E+4932
program. Berikut adalah contoh sebuah program C. Karakter char 8 -128 s/d 127 -
Enumerasi enum 16 -32768 s/d 32767 -
2. Tipe data pemodif 3. Operator Bit
Terdiri dari long, short, signed, unsigned. Keempat OPERATOR SIMBOL OPERATOR SIMBOL
tipe tersebut digunakan untuk memodifikasi tipe data Geser kiri << Operator OR |
Geser kanan >> Operator XOR ^
dasar yang ada. Seperti contoh berikut ini : Operator AND & Operator komplemen ~
4. Operator logika
void main()
OPERATOR SIMBOL
{
/*variabel angka bertipe int dengan jangkauan antara - Operator AND &&
2147483648 s/d 2147483647*/ Operator OR ||
long int angka; Operator NOT !
/*variabel nilai bertipe int dengan jangkauan antara 0 s/d 5. Operator relasi
65,535*/ OPERATOR SIMBOL OPERATOR SIMBOL
unsigned int nilai; kurang dari < tidak sama dengan !=
} lebih dari > kurang sama dengan <=
sama dengan == lebih sama dengan >=
3. Tipe data terstruktur 6. Operator pointer
Terdiri dari tipe array dan struktur OPERATOR SIMBOL
Mengambil data alamat memori &
4. Tipe data pointer
Mengambil data dari alamat memori *
Yaitu tipe yang digunakan untuk membuat varibel
f. Punctuator
memory yang dinamis, bisa digunakan untuk
Punctuator adalah simbol-simbol yang berkenaan sebagai
menyimpan alamat memori ataupun data.
tanda baca pada struktur penulisan bahasa C. Punctuator
e. Operator
tersebut adalah sebagai berikut :
Operator berkaitan erat dengan kata operasi. Operator [] Bracket , Comma … Ellipsis
ditandai dengan sebuah atau beberapa simbol dan kata. () Parentheses : Colon * Asterisk
Bahasa C memiliki beragam jenis operator dengan {} Braces ; Semicolon = Equal Sign
kelompok operator BINARY sebagai berikut : # Pound Sign
1. Operator assigment g. Variable dan Konstanta
OPERATOR SIMBOL OPERATOR SIMBOL Variabel dan konstanta identik dengan penamaan
Penugasan identifier. Identifier untuk variabel digunakan nilai yang
Penugasan = *=
perkalian
dinamis, sedangkan konstanta untuk nilai tetapan. Sebagai
Penugasan Penugasan
/= %= contoh :
Hasil bagi sisa bagi
Penugasan Penugasan
+= -= int angka=10; //identifier angka digunakan sebagai konstanta
penjumlahan pengurangan
Penugasan Penugasan char ch; // indentifier ch digunakan sebagai variabel
<<= >>=
geser kiri geser kanan
Penugasan Penugasan
&= ^=
operasi AND operasi XOR
OPERASI I/O DALAM C/C++
Penugasan
|= Bahasa C mengenalkan banyak ragam jenis operasi I/O
operasi OR
2. Operator Arithmatika (input/output). Hal ini dipengaruhi oleh file header yang
OPERATOR SIMBOL OPERATOR SIMBOL digunakan. Misalkan pada bahasa C, diperkenalkan operasi I/O
Penjumlahan + Sisa bagi % printf dan scanf, dimana perintah I/O ini berada didalam file
Pengurangan - Penambahan dengan nilai ++ header stdio.h. Lalu kemudian bahasa C++
Perkalian * Pengurangan dengan nilai -- mengembangkannya pada file header lainnya yaitu iostream.h,
Pembagian /
dimana didalamnya diperkenalkan standart I/O lainnya, salah 2. Kembangkan tugas no. 1 dengan ditambahkan proses
satunya adalah cout dan cin. Perhatikan contoh berikut ini : I/O dan ditampilkan seperti contoh berikut ini.
#include <stdio.h> LABORATORIUM SIMULASI
#include <iostream.h> INSTITUT ADHI TAMA SURABAYA
void main() NIM : <INPUT_NIM>
{ NAMA : <INPUT_NAMA>
int no_absen; FAKULTAS : <INPUT_FAK>
char nama[15]; JURUSAN : <INPUT_JUR>
printf(“hallo, selamat datang di lab pemrograman komputer\n”);
cout<<”selamat menikmati pemrograman C”<<endl; IDENTITAS ANDA :
printf(“Masukkan nama anda : “); NIM NAMA
scanf(“%s”,&nama); <INPUT_NIM> <INPUT_NAMA>
cout<<”Masukkan no absen anda : “;
cin<<no_absen;
}

dari contoh diatas, file header yang digunakan adalah stdio.h


dan iostream.h.

D. LANGKAH-LANGKAH PERCOBAAN
1. Menyalakan komputer
2. Mengaktifkan software IDE C/C++ ( gunakan TURBO
C++).
3. Tuliskan listing program dari program yang diminta oleh
asisten
4. Jalankan program anda dan perhatikan apakah sudah
sesuai dengan output yang diinginkan
5. Lakukan langkah 4, hingga program dinyatakan benar
oleh asisten
6. Dari langkah 1 hingga 4, tuliskan laporan mengenai
tugas yang anda lakukan berikut kesalahan yang terjadi
saat anda melakukan prosedur 1 hingga 4.
E. TUGAS PENDAHULUAN
1. Buatlah program untuk menampilkan identitas anda
seperti contoh berikut ini.

LABORATORIUM SIMULASI
NIM : 02.2003.190088
NAMA : SUDIRO
FAKULTAS : TEKNOLOGI INDUSTRI
JURUSAN : TEKNIK ELEKTRO
PERCOBAAN II Jadi, dari bentuk dasar sebelumnya bisa dikembangkan lagi
PERNYATAAN KENDALI – PENGUJIAN menjadi bentuk diagram alir dibawah ini.

A. TUJUAN :
Mahasiswa memahami proses kendali uji suatu keadaan

B. PERALATAN :
Komputer : 1 set
Software : Software IDE C/C++

C. TEORI DASAR :
Pada suatu pemecahan masalah, biasanya sering ditemui
kondisi melakukan perbandingan untuk mendapatkan suatu
keputusan. Hal ini juga terjadi pada teknik pemrograman.
Bahasa C memiliki beberapa pernyataan kendali yang digunakan
untuk menguji suatu kondisi. Pernyataan kendali penguji tersebut
adalah sebagai berikut : Namun jika jumlah kondisi lebih dari 2 keadaan maka
1. Pernyataan kendali if penyusunannya bisa dituliskan seperti sintaks berikut ini :
Sintaks penulisan :
if (ekspresi_1){pernyataan _1;}
if (ekspresi){pernyataan_1;} else if (ekspresi_2){pernyataan _2;}
Secara diagram alir, proses if digambarkan sebagai berikut : …

else if (ekspresi_N){pernyataan _N;}
else
{pernyataan_lain;}
Pada kondisi tertentu, terkadang terdapat kasus berantai,
ungkapan (Y ) P e rn y a ta a n B e n a r
dimana didalam proses seleksi terdapat proses seleksi juga.
Hal ini dapat dilakukan oleh if. Kasus ini disebut oleh if
sebagai nested if (if bersarang) dan digambarkan seperti
gambar berikut :
(T )

If (ekspresi)
Pengembangan dari bentuk dasar diatas apabila ada If (ekspresi){pernyataan;}
pernyataan lainnya adalah sebagai berikut :
if (ekspresi){pernyataan_benar;} else Perhatikan contoh berikut ini :
{pernyataan_salah;}
Perhatikan contoh penggunaan switch pada sebuah kasus
#include <iostream.h> berikut ini :
int main()
{
Pada suatu toko terdapat beberapa jenis produk susu dan
float nilai; beberapa ukuran seperti tampak pada tabel harga berikut :
cout<<”Masukkan nilai anda : “; Produk Susu Ukuran 400gr (k) Ukuran 900gr(b)
cin>>nilai; NUTRILON Rp. 77.000 Rp. 145.000
if (nilai<70)
{cout<<”Maaf, nilai anda kurang dari standar lulus”;} PROMIL Rp. 77.600 Rp. 150.000
else SIMILAC Rp. 68.350 Rp. 135.500
{cout<<”Selamat anda lulus kompetensi”;} Buatlah program untuk menampilkan harga disesuaikan
}
dengan nama produk dan ukurannya.
Maka pemecahan kasus diatas dapat diselesaikan dengan
Contoh diatas dinyatakan bahwa ada 2 pernyataan untuk
contoh listing program C sebagai berikut :
menerangkan suatu kondisi dari variabel nilai.
2. Pernyataan kendali switch #include <iostream.h>
int main()
Selain if, ada juga alternatif pemilih kondisi yaitu {
menggunakan pernyataan kendali switch. Sedikit berbeda int j_susu
dengan if, switch digunakan untuk menguji nilai konstanta char uk_susu;
atau tetapan, sedangkan if bisa bervariasi. Bentuk umum cout<<”Masukan jenis produk susu : “; cin>>j_susu;
cout<<”Masukan ukuran produk susu : “; cin>>uk_susu;
switch adalah berikut : switch (j_susu)
{
switch (ungkapan) case 1: {
{ cout<<”Susu NUTRILON ”;
case nilai_1: pernyataan_1;break; switch(uk_susu){
case nilai_2: pernyataan_2;break; case ‘k’: cout<<”Harganya Rp. 77.000”;break;
… case ‘b’: cout<<”Harganya Rp. 145.000”;break;
default pernyataan_lain; default cout<<”maaf ukuran tidak ada”;
} }break;
}
Seperti halnya if, switch juga bisa dituliskan secara case 2: {
cout<<”Susu PROMIL ”;
bersarang (nested switch). switch(uk_susu){
case ‘k’: cout<<”Harganya Rp. 77.600”;break;
swicth (ungkapan_1) case ‘b’: cout<<”Harganya Rp. 150.000”;break;
{ default cout<<”maaf ukuran tidak ada”;
case nilai_1: { switch (ungkapan_2) }break;
{ }
case nilai_11: pernyataan_11;break; case 3: {
case nilai_22: pernyataan_22;break; cout<<”Susu SIMILAC ”;
… switch(uk_susu){
default pernyataan_lain; case ‘k’: cout<<”Harganya Rp. 68.350”;break;
} case ‘b’: cout<<”Harganya Rp. 135.500”;break;
break; default cout<<”maaf ukuran tidak ada”;
} }break;
case nilai_2: pernyataan_2; break; }
… default
default pernyataan_lain; cout<<”Maaf, jenis produk susu anda tidak ada…”
} }
}
Listing program diatas merupakan contoh penggunaan PERCOBAAN III
switch pada kasus nested switch. Jika dijalankan program PERNYATAAN KENDALI – LOOPING
diatas adalah sebagai berikut :
Masukan jenis produk susu : 1
Masukan ukuran produk susu : k A. TUJUAN :
Susu NUTRILON Harganya Rp. 77.000 Mahasiswa memahami proses kendali perulangan (looping) pada
suatu keadaan
D. LANGKAH-LANGKAH PERCOBAAN
1. Menyalakan komputer B. PERALATAN :
2. Mengaktifkan software IDE C/C++ ( gunakan TURBO C++). Komputer : 1 set
3. Tuliskan listing program dari program yang diminta oleh Software : Software IDE C/C++
asisten
4. Jalankan program anda dan perhatikan apakah sudah sesuai C. TEORI DASAR :
dengan output yang diinginkan Looping adalah pengulangan perintah-perintah sampai mencapai
5. Lakukan langkah 4, hingga program dinyatakan benar oleh keadaan tertentu. Struktur perulangan terdiri atas dua bagian :
asisten 1. Kondisi pengulangan yaitu ekspresi boolean yang harus
6. Dari langkah 1 hingga 4, tuliskan laporan mengenai tugas dipenuhi untuk melaksanakan perulangan
yang anda lakukan berikut kesalahan yang terjadi saat anda 2. Isi atau badan perulangan yaitu satu atau lebih pernyataan
melakukan prosedur 1 hingga 4. (aksi) yang akan diulang.
E. TUGAS PENDAHULUAN Pada dasarnya sebuah proses looping berkaitan erat dengan
1. Buatlah program yang digunakan untuk mengetahui status kendali uji. Dimana kendali uji digunakan untuk menghentikan
sebuah bilangan, apakah termasuk bilangan genap atau segala aktifitas berulang jika memenuhi suatu persyaratan
ganjil! tertentu. Pada umumnya proses looping bisa digambarkan pada
2. Buatlah program menentukan nilai huruf sebuah materi diagram alir berikut ini :
kuliah seorang mahasiswa dengan input berupa nilai angka
dan ketentuan sebagai berikut :
Nilai INISIALISASI
Nilai Angka
Huruf
8.00 s/d 10.00 A
7.00 s/d 7.99 B
6.00 s/d 6.99 C
4.00 s/d 5.99 D PERUBAHAN KONDISI T
0.00 s/d 3.99 E

PERNYATAAN
Bahasa C memiliki beberapa perintah atau notasi dalam struktur Program diatas akan menampilkan bilangan yang banyaknya
pengulangan antara lain : tak terhingga sehingga dapat membuat komputer anda
1. Pernyataan for berhenti bekerja. Contoh diatas juga merupakan prinsip
Pernyataan for digunakan untuk menghasilkan pengulangan membuat bom program ( contohnya : bom mail )
(looping) beberapa kali tanpa penggunaan kondisi apapun. Pernyataan for juga mengenal pernyataan bersarang, yaitu
Pada umumnya looping yang dilakukan oleh for telah for didalam for, lainnya atau yang biasa disebut nested for
diketahui batas awal, syarat looping dan perubahannya. 2. Pernyataan while
Selama kondisi terpenuhi, maka pernyataan akan terus Pernyataan while merupakan salah satu pernyataan yang
dieksekusi. berguna untuk memproses suatu pernyataan atau beberapa
Bentuk Umumnya : pernyataan beberapa kali. Pernyataan while memungkinkan
statemen-statemen yang ada didalamnya tidak diakukan
for (inisialisasi ; kondisi ; perubahan) sama sekali.
{ Bentuk Umumnya :
Statement;
}
while (kondisi)
contoh sebagai berikut : {
Pernyataan ;
#include <iostream.h> }
void main()
{ Contoh :
int i; #include <iostream.h>
for (i=1; i<100; i++) void main()
cout<<i<<” ”<<endl;
{
} int i;
Penjelasan bagian-bagian for : i=0;
while (i<10)
 Bagian inisialisasi wajib diberikan sebagai batas awal {
sebuah perulangan. cout<<”C++;
 Bagian kondisi bersifat optional, yaitu jika diberikan maka i++;
proses looping akan berlangsung selama syarat }
}
memenuhi kondisi. Namun jika tidak, maka proses
looping akan dilakukan tanpa batas.
Program diatas digunakan untuk mengulangan tulisan “C++”
 Bagian perubahan juga bersifat optional, yaitu jika
sebanyak 10 kali
diberikan maka proses looping akan berlangsung seiring
3. Pernyataan do..while
dengan proses perubahan variabel peubah. Sebaliknya
Pernyataan do…while mirip seperti pernyataan while,
proses looping akan berlangsung dengan isi variabel
hanya saja pada do…while, pernyataan yang terdapat
peubah konstan/tetap.
didalamnya minimal akan sekali dieksekusi.
Contoh lain :
Bentuk Umumnya :
#include <iostream.h> do
void main() {
{ pernyatan ;
int i; } while(kondisi);
for (i=1; ; i++)
cout<<i<<” ”<<endl;
}
Contoh : 5. Pernyataan goto
#include <iostream.h> Pernyataan goto, diperlukan untuk melakukan suatu
void main() lompatan ke suatu pernyataan berlabel yang ditandai dengan
{ tanda “ : “.
int i; Bentuk Umumnya :
i=0;
do goto bawah;
{ pernyataan1;
cout<<”C++; pernyataan2;
i++; bawah : pernyataan 3;
} while (i<10);
} Pada contoh diatas, pada saat goto ditemukan maka
program akan melompat pernyataan berlabel bawah dan
4. Pernyataan continue dan break melakukan pernyataan 3.
Pernyataan break akan selalu terlihat digunakan bila Contoh :
menggunakan pernyataan switch. Pernyataan ini juga
digunakan dalam loop. Bila pernyataan ini dieksekusi, maka #include <iostream.h>
akan mengakhiri loop dan akan menghentikan iterasi pada void main()
{
saat tersebut. cout<<”tes go to “ <<endl;
Pernyataan continue digunakan untuk pergi ke bagian awal goto selesai;
dari blok loop untuk memulai iterasi berikutnya. cout<<”Hai, kok saya gak disapa “ <<endl;
Contoh :
selesai :
#include <iostream.h> cout<<”Selesai, deh… “ <<endl;
void main() }
{
int i;
i=0; Outputnya :
for ( i=0; i<10; i++)
{ Test go to
if (i==4) continue; Selesai, deh…
cout<<”Bilangan “<<i<<endl;
if ( i==6 ) break;
} D. LANGKAH-LANGKAH PERCOBAAN
} 1. Menyalakan komputer
2. Mengaktifkan software IDE C/C++ ( gunakan TURBO C++).
Dari program diatas, dapat dilihat perulangan dari suatu 3. Tuliskan listing program dari program yang diminta oleh
bilangan sebanyak 10 kali. Tetapi, pada perulangan i=4, ada asisten
perintah continue. Dengan perintah ini, maka program 4. Jalankan program anda dan perhatikan apakah sudah sesuai
langsung meloncat ke loop berikutnya dan ketika sampai dengan output yang diinginkan
perulangan i = 6, ada perintah break. Otomatis program 5. Lakukan langkah 4, hingga program dinyatakan benar oleh
akan berhenti dan tidak sampai ke i=10. Dan program akan asisten
mencetak bilangan 0, bilangan 1, bilangan 2, bilangan 3, 6. Dari langkah 1 hingga 4, tuliskan laporan mengenai tugas
bilangan 5, bilangan 6. yang anda lakukan berikut kesalahan yang terjadi saat anda
melakukan prosedur 1 hingga 4.
E. TUGAS PENDAHULUAN PERCOBAAN IV
1. Buatlah program untuk mencetak deret 10 9 8 7 6 5 4 3 2 1 FUNGSI
2. Buatlah program untuk mencetak (gunakan perulangan while
atau for)
**** A. TUJUAN :
*** Mahasiswa memahami pemrograman secara modular (ter-
** subprogram)
*
3. Buatlah program yang menampilkan 5 buah bilangan, yaitu B. PERALATAN :
mulai dari bilangan ke 5 sampai bilangan ke 1 dengan nilai Komputer : 1 set
awal bilangan 8. Tampilan bilangan tersebut adalah menurun Software : Software IDE C/C++
dan contohnya adalah : bilangan ke 5, i=3 (diperoleh dari 8-
5) dan seterusnya sampai bilangan 1, i=7 (diperoleh dari 8- C. TEORI DASAR :
1=7). Secara harfiah, struktur penulisan didalam bahasa C disusun
secara modular ( ter-subprogram). Bahkan pada program
utamanya juga berbentuk modul. Secara umum bentuk fungsi
didalam C adalah sebagai berikut :

Tipe_data Nama_fungsi(Daftar_parameter)
{
Tubuh_fungsi;
}

Setiap fungsi harus didefinisikan tipe datanya, hal ini


dikarenakan bahwa fungsi memiliki return value (nilai balik) dan
setiap nilai balik harus diketahui tipe datanya. Bahasa C memiliki
built-in function (fungsi internal), namun fungsi dapat juga
diciptakan sendiri oleh pemrogram. Setiap fungsi yang diciptakan
harus memiliki nama yang unik atau berbeda antara satu dengan
yang lain. Pada bagian lain dari fungsi, terdapat daftar
parameter. Parameter adalah nama-nama peubah yang
dideklarasikan pada bagian header fungsi. Daftar parameter
dipisahkan oleh tanda koma, dan setiap parameter harus bertipe
data. Terkadang fungsi tidak memiliki daftar parameter, namun
merupakan keharusan menempatkan tanda parentheses ‘()’
pada fungsi tersebut.
DEKLARASI FUNGSI
Untuk mendeklarasikan suatu fungsi ada 2 cara, antara lain :
1. Secara langsung
Yaitu dengan menempatkan fungsi diatas fungsi main(),
seperti contoh berikut ini :
int kali( int angka_1, int angka_2)
{ int kali( int &angka_1, int angka_2); //Prototype fungsi
return angka_1*angka_2 int jumlah( int *angka_1, int angka_2); //Prototype fungsi
} void main();
void main(); {
{ int a, b;
cout << “Hasil kali antara 2 dan 3 adalah ”<<kali(2,3); a=10; b=10
} cout << “nilai awal a= ”<<a;
cout << “Hasil kali antara a dan b adalah ”<<kali(a,b);
cout << “nilai akhir a= ”<<a;
2. Secara tak langsung cout << “nilai awal b= ”<<b;
Yaitu dengan menempatkan nama prototype fungsi diatas cout << “Hasil jumlah antara a dan b adalah ”<<jumlah(a,&b);
fungsi main() dan implementasi prototype fungsi dibawahnya cout << “nilai akhir b= ”<<b;
Seperti contoh berikut ini : }
int kali( int &angka_1, int angka_2);//implementasi prototype fungsi
{
int kali( int angka_1, int angka_2); //Prototype fungsi angka_1=angka_1*angka_2
void main(); return angka_1
{ }
cout << “Hasil kali antara 2 dan 3 adalah ”<<kali(2,3); int jumlah( int *angka_1, int angka_2);//implementasi prototype fungsi
} {
int kali( int angka_1, int angka_2);//implementasi prototype fungsi *angka_1=*angka_1+angka_2
{ return *angka_1
return angka_1*angka_2 }
}
REKURSIF
PARAMETER Rekusif adalah pemanggilan oleh dirinya sendiri. Oleh karena
Seperti yang telah dijelaskan sebelumnya, bahwa parameter fungsi bisa menghasilkan nilai balik, maka fungsi bisa juga bisa
merupakan sebuah peubah. Dari penggunaannya, parameter memanggil dirinya sendiri. Contohnya adalah sebagai berikut :
bisa dilewatkan kedalam sebuah fungsi dengan 2 cara, antara
lain : int faktorial( int angka_1); //Prototype fungsi
1. Call by value void main();
Adalah suatu cara melewatkan sebuah nilai pada parameter. {
cout<<faktorial(10);
Perhatikan contoh sebelumnya yaitu pada fungsi kali saat }
dijalankan di program utama. int faktorial( int angka_1);//implementasi prototype fungsi
2. Call by reference {
Adalah suatu cara melewatkan alamat sebuah variabel pada If (angka_1==0)
return 1;
sebuah parameter. Untuk jenis parameter ini, perlu else
ditambahkan operator pointer yaitu & atau * didepannya. return angka_1*faktorial(angka_1-1);
Perhatikan contoh berikut ini }

D. LANGKAH-LANGKAH PERCOBAAN
1. Menyalakan komputer
2. Mengaktifkan software IDE C/C++ ( gunakan TURBO C++).
3. Tuliskan listing program dari program yang diminta oleh PERCOBAAN V
asisten ARRAY
4. Jalankan program anda dan perhatikan apakah sudah sesuai
dengan output yang diinginkan
5. Lakukan langkah 4, hingga program dinyatakan benar oleh A. TUJUAN :
asisten Mahasiswa memahami penggunaan tipe data array (larik).
6. Dari langkah 1 hingga 4, tuliskan laporan mengenai tugas
yang anda lakukan berikut kesalahan yang terjadi saat anda B. PERALATAN :
melakukan prosedur 1 hingga 4. Komputer : 1 set
Software : Software IDE C/C++
E. TUGAS PENDAHULUAN
1. Buatlah fungsi untuk menghitung luas suatu bangun? C. TEORI DASAR :
2. Buatlah fungsi untuk menghitung hasil pangkat bilangan Array atau larik merupakan sekumpulan data yang mempunyai
misalkan 2 pangkat 3 hasilnya adalah 8. nama dan tipe yang sama. Array sering disebut juga sebagai
variabel berindeks. Nilai suatu data dalam array ditentukan oleh
nama dan indeks. Array banyak digunakan pada operasi yang
melibatkan indeks seperti pada statistik dan matriks. Tipe data
array dapat berupa array satu dimensi, dua dimensi, tiga dimensi
atau banyak dimensi.
Secara umum bentuk array didalam C adalah sebagai berikut :
Tipe_data Nama_array[ukuran];

Untuk bentuk array lebih dari 1 dimensi, digambarkan bentuknya


seperti berikut :
Tipe_data Nama_array[ukuran_1] [ukuran_2] …[ukuran_n];

Contoh :

char nama[10];

Array diatas menjelaskan bahwa array nama merupakan array


berdimensi satu dengan ukuran 10 kali jumlah memori tipe char.
Posisi awal hitung array dimulai dari posisi 0 bukannya 1,
sehingga jika nama dideklarasikan seperti contoh diatas, maka
berarti bahwa posisi awal array nama adalah 0 dan yang terakhir
adalah 9 (bukanlah 10).
REPRESENTASI ARRAY
Untuk bisa menggunakan tipe array didalam program maka perlu
mendeklarasikan seperti contoh sebelumnya. Sedangkan untuk
pengisian nilai pada array dilakukan secara satu persatu
bersesuaian dengan nomor indeksnya misalkan :
double nilai[5];

nilai[0]=7.5;
nilai[1]=10;
nilai[2]=5.5;
nilai[3]=6.75;
nilai[4]=8.25;
Atau dengan mendeklaraksikannya sebagai konstanta array,
seperti contoh berikut :
double nilai[5]={7.5,10,5.5,6.75,8.25};
Khusus untuk tipe char sebagai string bisa langsung dituliskan
semua karakter didalam tanda petik dua seperti contoh berikut :
char nama[15]=”Marlena”;

D. LANGKAH-LANGKAH PERCOBAAN
1. Menyalakan komputer
2. Mengaktifkan software IDE C/C++ ( gunakan TURBO C++).
3. Tuliskan listing program dari program yang diminta oleh
asisten
4. Jalankan program anda dan perhatikan apakah sudah sesuai
dengan output yang diinginkan
5. Lakukan langkah 4, hingga program dinyatakan benar oleh
asisten
6. Dari langkah 1 hingga 4, tuliskan laporan mengenai tugas
yang anda lakukan berikut kesalahan yang terjadi saat anda
melakukan prosedur 1 hingga 4.

E. TUGAS PENDAHULUAN
1. Buatlah program yang menghitung jumlah elemen dalam
suatu array (larik) dengan array (larik) 1 dimensi
{1,3,5,4,7,2,99,16,45,67,89,45}
2. Buatlah program perkalian 2 buah matrik berordo m x n
PERCOBAAN VI Variabel m akan berisi alamat memori dari variabel count.
POINTER Sedangkan operator * digunakan untuk disertakan pada saat
mendeklarasikan suatu variabel bertipe pointer dan merupakan
komplemen dari operator & saat proses (digunakan untuk
A. TUJUAN : mendapatkan data yang dikandung oleh alamat memori) . Dapat
Mahasiswa memahami penggunaan tipe data pointer. dicontohkan dari contoh diatas, anggap saja variabel count
berada dilokasi memori 0x2000 dan mempunyai nilai kandungan
B. PERALATAN : didalam sebesar 100. Maka setelah proses diatas, variabel m
Komputer : 1 set akan berisi alamat count yaitu 0x2000. Lalu melalui variabel yang
Software : Software IDE C/C++ lain (misalkan q) mendapatkan proses sebagai berikut :

C. TEORI DASAR : q=*m;


Pointer adalah sebuah variabel yang menyimpan alamat memori.
Maka variabel q akan berisi nilai kandungan yang sama dengan
Alamat ini merupakan lokasi dari obyek lain (dalam hal ini
variabel count. Berikut adalah contoh yang selengkapnya :
variabel lain ) didalam memori. Sebagai contoh, jika suatu
variabel berisi alamat variabel lain, variabel pertama dikatakan #include <iostream.h>
menunjuk variabel kedua. Hal ini digambarkan sebagai berikut : void main();
{
int count,q;
Alamat Variabel dalam int * m;
memori memori count=100;
1000 1003 m=&count;
q=*m;
1001 cout<<”isi variabel count adalah “<<count<endl;
1002 cout<<”isi variabel m adalah “<<m<endl;
1003 cout<<”isi variabel q adalah “<<q<endl;
1004 }
1005
Maka hasilnya adalah :
Untuk membuat variabel menjadi variabel bertipe pointer, maka isi variabel count adalah 100
perlu dideklarasikan. Bentuk umum dari deklarasi tersebut isi variabel m adalah 0x2000
adalah sebagai berikut : isi variabel q adalah 100
OPERASI PADA POINTER
Tipe_data * nama_variabel
Operasi aritmatika pada pointer hanya ada 2, yaitu penambahan
Tipe data yang digunakan adalah berasal dari tipe data dasar dan pengurangan. Baik proses penambahan ataupun
yang ada atau beberapa type lain yang berlaku (tipe bentukan pengurangan, akan menyebabkan variabel pointer akan berubah
misalnya). bertambah atau berkurang sebanyak n kali ukuran memori tipe
OPERATOR POINTER data dasar yang digunakan. Seperti contoh diatas, bahwa
Ada dua pointer khusus yakni * dan &. Operator & adalah variabel m adalah variabel pointer bertipe int (int berukuran 2
operator pointer yang digunakan untuk mendapatkan alamat byte), maka apabila ada proses penambahan atau pengurangan
memori. Sebagai contoh : akan berubah menjadi 2 kali angka peubah, misalkan :
m++;
m=&count;
Maka misalkan m beralamatkan memori 0x2000 setelah proses E. TUGAS PENDAHULUAN
diatas akan beralamatkan memori 0x2002. Begitu juga pada 1. Buatlah program untuk merubah semua huruf pada kalimat
proses pengurangan. menjadi huruf besar seluruhnya dengan pointer.
POINTER & ARRAY 2. Buatlah program untuk membalik kata atau kalimat dengan
Terdapat hubungan dekat antara pointer dan array. Perhatikan pointer.
contoh berikut ini :
char p2,str[80], *p1;
p1=str;
Disini, p1 diatur untuk beralamat pertama dari elemen array str,
yaitu str[0]. Untuk mengakses elemen ke-5, anda dapat
menuliskan :
p2=str[4] atau p2=*(p1+4)
Kedua cara diatas akan menunjukkan alamat element yang
kelima. Dalam aplikasinya bisa anda lihat contoh berikut :
#include<iostream.h>
void main()
{
int a;
char str[80]={"Hallo masdul"}, *p1;
p1=str;
a=0;
while (*p1){p1++;a++;}
cout<<"panjang teks str : "<<a<<endl;
}

Baris program digunakan untuk menampilkan panjang sebuah


kalimat pada suatu variabel.
D. LANGKAH-LANGKAH PERCOBAAN
1. Menyalakan komputer
2. Mengaktifkan software IDE C/C++ ( gunakan TURBO C++).
3. Tuliskan listing program dari program yang diminta oleh
asisten
4. Jalankan program anda dan perhatikan apakah sudah sesuai
dengan output yang diinginkan
5. Lakukan langkah 4, hingga program dinyatakan benar oleh
asisten
6. Dari langkah 1 hingga 4, tuliskan laporan mengenai tugas
yang anda lakukan berikut kesalahan yang terjadi saat anda
melakukan prosedur 1 hingga 4.