Modul Praktek Bahasa C++

14
PERCOBAAN I DASAR PEMROGRAMAN BAHASA C A. TUJUAN : Mahasiswa memahami struktur dasar program C B. PERALATAN : Komputer : 1 set Software : Software IDE C/C++ C. TEORI DASAR : Pada umumnya, setiap program C memiliki bentuk dasar sebagai berikut : Preprosesor merupakan bagian dari program C yang selalu diawali dengan tanda ‘#’ (pound) dan menghasilkan file yang akan dilewatkan kedalam kompilator. Preprosesor tersebut adalah : #include #define #ifdef Dan masih banyak lagi yang lainnya. Fungsi main() merupakan bagian utama dari program C digunakan sebagai implementasi akhir dari sebuah program atau bisa dikatakan sebagai eksekutor utama. Fungsi ini bertipe data dan biasanya tipe data yang digunakan adalah void. Tipe void digunakan agar suatu fungsi tidak memiliki nilai balik. Kemudian ada tanda penulisan braces “{ }“ yang digunakan untuk mengapit bodi program. Terdapat pula baris komentar yang selalu diawali dengan tanda double slash “//” atau yang berada diantara tanda “/*” dan “*/”. Baris komentar ini tidak diikutsertakan didalam proses kompilasi program, karena hanya digunakan sebagai pemberi keterangan program. Berikut adalah contoh sebuah program C. # prepocessor directive tipedata main() { // Batang Tubuh Program Utama } Bahasa C memiliki beberapa eleman dasar antara lain : a. Karakter Mengacu dari sistem stardard kode internasional ANSI, karakter yang dikenal didalam bahasa C adalah karakter abjad/huruf, angka, dan simbol-simbol khusus. b. Keyword Seperti bahasa program lainnya,bahasa C memiliki keyword atau dalam istilah lainnya adalah reserverd word. Keyword adalah suatu kata yang memiliki makna dan fungsi tertentu. Hampir semua keyword didalam C dituliskan dalam dalam format huruf kecil. c. Identifier Merupakan pengenal baru yang digunakan secara bebas untuk penamaan variabel, konstanta, fungsi, kelas, template, dan namespace. d. Tipe data Merupakan pengelompokan data yang digunakan untuk merepresentasikan jenis sebuah nilai yang terdapat pada program. Sebuah tipe data dikelompokkan berdasarkan nilai jangkauan, penggunaan sejumlah memori (RAM), dan faktor ketelitian. Bahasa C mengelompokkan 1. Tipe data dasar Berikut adalah tipe data dasar Tipe data Nama Memory (bit) Jangkauan nilai Presisi (digit) Bilangan bulat int 16 atau 32 -32768 s/d 32767 Atau -2147483648 s/d 2147483647 - Bilangan Riil float 32 1.2E-38 s/d 3.4E+38 6 double 64 2.3E-308 s/d 1.7E+308 15 long double 80 3.4E-4932 s/d 1.1E+4932 19 Karakter char 8 -128 s/d 127 - Enumerasi enum 16 -32768 s/d 32767 - //Program mencetak pesan #include <iostream.h> void main() { cout<<”Selamat belajar C, semoga meng-asyikkan “; }

description

Modul praktikum pemrograman bahasa C++ tingkat dasar

Transcript of Modul Praktek Bahasa C++

Page 1: Modul Praktek Bahasa C++

PERCOBAAN IDASAR PEMROGRAMAN BAHASA C

A. TUJUAN :Mahasiswa memahami struktur dasar program C

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

C. TEORI DASAR :Pada umumnya, setiap program C memiliki bentuk dasar sebagaiberikut :

Preprosesor merupakan bagian dari program C yang selaludiawali dengan tanda ‘#’ (pound) dan menghasilkan file yangakan dilewatkan kedalam kompilator. Preprosesor tersebutadalah :

#include #define #ifdef Dan masih banyak lagi yang lainnya.

Fungsi main() merupakan bagian utama dari program Cdigunakan sebagai implementasi akhir dari sebuah program ataubisa dikatakan sebagai eksekutor utama. Fungsi ini bertipe datadan biasanya tipe data yang digunakan adalah void. Tipe voiddigunakan agar suatu fungsi tidak memiliki nilai balik. Kemudianada tanda penulisan braces “{ }“ yang digunakan untuk mengapitbodi program.Terdapat pula baris komentar yang selalu diawali dengan tandadouble slash “//” atau yang berada diantara tanda “/*” dan “*/”.Baris komentar ini tidak diikutsertakan didalam proses kompilasiprogram, karena hanya digunakan sebagai pemberi keteranganprogram. Berikut adalah contoh sebuah program C.

# prepocessor directivetipedata main(){// Batang Tubuh Program Utama}

Bahasa C memiliki beberapa eleman dasar antara lain :a. Karakter

Mengacu dari sistem stardard kode internasional ANSI,karakter yang dikenal didalam bahasa C adalah karakterabjad/huruf, angka, dan simbol-simbol khusus.

b. KeywordSeperti bahasa program lainnya,bahasa C memilikikeyword atau dalam istilah lainnya adalah reserverd word.Keyword adalah suatu kata yang memiliki makna danfungsi tertentu. Hampir semua keyword didalam Cdituliskan dalam dalam format huruf kecil.

c. IdentifierMerupakan pengenal baru yang digunakan secara bebasuntuk penamaan variabel, konstanta, fungsi, kelas,template, dan namespace.

d. Tipe dataMerupakan pengelompokan data yang digunakan untukmerepresentasikan jenis sebuah nilai yang terdapat padaprogram. Sebuah tipe data dikelompokkan berdasarkannilai jangkauan, penggunaan sejumlah memori (RAM), danfaktor ketelitian. Bahasa C mengelompokkan1. Tipe data dasar

Berikut adalah tipe data dasarTipe data Nama Memory

(bit) Jangkauan nilai Presisi(digit)

Bilanganbulat int 16 atau

32

-32768 s/d 32767Atau

-2147483648 s/d2147483647

-

BilanganRiil

float 32 1.2E-38 s/d3.4E+38 6

double 64 2.3E-308 s/d1.7E+308 15

longdouble 80 3.4E-4932 s/d

1.1E+4932 19

Karakter char 8 -128 s/d 127 -Enumerasi enum 16 -32768 s/d 32767 -

//Program mencetak pesan#include <iostream.h>void main(){

cout<<”Selamat belajar C, semoga meng-asyikkan “;}

Page 2: Modul Praktek Bahasa C++

2. Tipe data pemodifTerdiri dari long, short, signed, unsigned. Keempattipe tersebut digunakan untuk memodifikasi tipe datadasar yang ada. Seperti contoh berikut ini :

3. Tipe data terstrukturTerdiri dari tipe array dan struktur

4. Tipe data pointerYaitu tipe yang digunakan untuk membuat varibelmemory yang dinamis, bisa digunakan untukmenyimpan alamat memori ataupun data.

e. OperatorOperator berkaitan erat dengan kata operasi. Operatorditandai dengan sebuah atau beberapa simbol dan kata.Bahasa C memiliki beragam jenis operator dengankelompok operator BINARY sebagai berikut :1. Operator assigment

OPERATOR SIMBOL OPERATOR SIMBOL

Penugasan = Penugasanperkalian *=

PenugasanHasil bagi /= Penugasan

sisa bagi %=

Penugasanpenjumlahan += Penugasan

pengurangan -=

Penugasangeser kiri <<= Penugasan

geser kanan >>=

Penugasanoperasi AND &= Penugasan

operasi XOR ^=

Penugasanoperasi OR |=

2. Operator ArithmatikaOPERATOR SIMBOL OPERATOR SIMBOLPenjumlahan + Sisa bagi %Pengurangan - Penambahan dengan nilai ++

Perkalian * Pengurangan dengan nilai --Pembagian /

void main(){

/*variabel angka bertipe int dengan jangkauan antara -2147483648 s/d 2147483647*/

long int angka;/*variabel nilai bertipe int dengan jangkauan antara 0 s/d65,535*/unsigned int nilai;

}

3. Operator BitOPERATOR SIMBOL OPERATOR SIMBOL

Geser kiri << Operator OR |Geser kanan >> Operator XOR ^

Operator AND & Operator komplemen ~4. Operator logika

OPERATOR SIMBOLOperator AND &&Operator OR ||

Operator NOT !5. Operator relasi

OPERATOR SIMBOL OPERATOR SIMBOLkurang dari < tidak sama dengan !=lebih dari > kurang sama dengan <=sama dengan == lebih sama dengan >=

6. Operator pointerOPERATOR SIMBOL

Mengambil data alamat memori &Mengambil data dari alamat memori *

f. PunctuatorPunctuator adalah simbol-simbol yang berkenaan sebagaitanda baca pada struktur penulisan bahasa C. Punctuatortersebut adalah sebagai berikut :

[ ] Bracket , Comma … Ellipsis( ) Parentheses : Colon * Asterisk{ } Braces ; Semicolon = Equal Sign# Pound Sign

g. Variable dan KonstantaVariabel dan konstanta identik dengan penamaanidentifier. Identifier untuk variabel digunakan nilai yangdinamis, sedangkan konstanta untuk nilai tetapan. Sebagaicontoh :

OPERASI I/O DALAM C/C++Bahasa C mengenalkan banyak ragam jenis operasi I/O(input/output). Hal ini dipengaruhi oleh file header yangdigunakan. Misalkan pada bahasa C, diperkenalkan operasi I/Oprintf dan scanf, dimana perintah I/O ini berada didalam fileheader stdio.h. Lalu kemudian bahasa C++mengembangkannya pada file header lainnya yaitu iostream.h,

int angka=10; //identifier angka digunakan sebagai konstantachar ch; // indentifier ch digunakan sebagai variabel

Page 3: Modul Praktek Bahasa C++

dimana didalamnya diperkenalkan standart I/O lainnya, salahsatunya adalah cout dan cin. Perhatikan contoh berikut ini :

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

D. LANGKAH-LANGKAH PERCOBAAN1. Menyalakan komputer2. Mengaktifkan software IDE C/C++ ( gunakan TURBO

C++).3. Tuliskan listing program dari program yang diminta oleh

asisten4. Jalankan program anda dan perhatikan apakah sudah

sesuai dengan output yang diinginkan5. Lakukan langkah 4, hingga program dinyatakan benar

oleh asisten6. Dari langkah 1 hingga 4, tuliskan laporan mengenai

tugas yang anda lakukan berikut kesalahan yang terjadisaat anda melakukan prosedur 1 hingga 4.

E. TUGAS PENDAHULUAN1. Buatlah program untuk menampilkan identitas anda

seperti contoh berikut ini.

#include <stdio.h>#include <iostream.h>void main(){ int no_absen; char nama[15]; printf(“hallo, selamat datang di lab pemrograman komputer\n”); cout<<”selamat menikmati pemrograman C”<<endl; printf(“Masukkan nama anda : “); scanf(“%s”,&nama); cout<<”Masukkan no absen anda : “; cin<<no_absen;}

LABORATORIUM SIMULASIN I M : 02.2003.190088NAMA : SUDIROFAKULTAS : TEKNOLOGI INDUSTRIJURUSAN : TEKNIK ELEKTRO

2. Kembangkan tugas no. 1 dengan ditambahkan prosesI/O dan ditampilkan seperti contoh berikut ini.

LABORATORIUM SIMULASIINSTITUT ADHI TAMA SURABAYA

N I M : <INPUT_NIM>NAMA : <INPUT_NAMA>FAKULTAS : <INPUT_FAK>JURUSAN : <INPUT_JUR>IDENTITAS ANDA :NIM NAMA

<INPUT_NIM> <INPUT_NAMA>

Page 4: Modul Praktek Bahasa C++

PERCOBAAN IIPERNYATAAN KENDALI – PENGUJIAN

A. TUJUAN :Mahasiswa memahami proses kendali uji suatu keadaan

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

C. TEORI DASAR :Pada suatu pemecahan masalah, biasanya sering ditemuikondisi melakukan perbandingan untuk mendapatkan suatukeputusan. Hal ini juga terjadi pada teknik pemrograman.Bahasa C memiliki beberapa pernyataan kendali yang digunakanuntuk menguji suatu kondisi. Pernyataan kendali penguji tersebutadalah sebagai berikut :1. Pernyataan kendali if

Sintaks penulisan :

Secara diagram alir, proses if digambarkan sebagai berikut :

Pengembangan dari bentuk dasar diatas apabila adapernyataan lainnya adalah sebagai berikut :

if (ekspresi){pernyataan_1;}

ungkapan P ernya taan B enar(Y )

(T )

if (ekspresi){pernyataan_benar;} else{pernyataan_salah;}

Jadi, dari bentuk dasar sebelumnya bisa dikembangkan lagimenjadi bentuk diagram alir dibawah ini.

Namun jika jumlah kondisi lebih dari 2 keadaan makapenyusunannya bisa dituliskan seperti sintaks berikut ini :

Pada kondisi tertentu, terkadang terdapat kasus berantai,dimana didalam proses seleksi terdapat proses seleksi juga.Hal ini dapat dilakukan oleh if. Kasus ini disebut oleh ifsebagai nested if (if bersarang) dan digambarkan sepertigambar berikut :

Perhatikan contoh berikut ini :

if (ekspresi_1){pernyataan _1;}else if (ekspresi_2){pernyataan _2;}……else if (ekspresi_N){pernyataan _N;}else{pernyataan_lain;}

If (ekspresi)

If (ekspresi){pernyataan;}

Page 5: Modul Praktek Bahasa C++

Contoh diatas dinyatakan bahwa ada 2 pernyataan untukmenerangkan suatu kondisi dari variabel nilai.

2. Pernyataan kendali switchSelain if, ada juga alternatif pemilih kondisi yaitumenggunakan pernyataan kendali switch. Sedikit berbedadengan if, switch digunakan untuk menguji nilai konstantaatau tetapan, sedangkan if bisa bervariasi. Bentuk umumswitch adalah berikut :

Seperti halnya if, switch juga bisa dituliskan secarabersarang (nested switch).

switch (ungkapan){ case nilai_1: pernyataan_1;break; case nilai_2: pernyataan_2;break; … default pernyataan_lain;}

swicth (ungkapan_1){ case nilai_1: { switch (ungkapan_2)

{ case nilai_11: pernyataan_11;break; case nilai_22: pernyataan_22;break; … default pernyataan_lain;}

break; }

case nilai_2: pernyataan_2; break; … default pernyataan_lain;}

#include <iostream.h>int main(){ float nilai; cout<<”Masukkan nilai anda : “; cin>>nilai; if (nilai<70)

{cout<<”Maaf, nilai anda kurang dari standar lulus”;}else

{cout<<”Selamat anda lulus kompetensi”;}}

Perhatikan contoh penggunaan switch pada sebuah kasusberikut ini :Pada suatu toko terdapat beberapa jenis produk susu danbeberapa ukuran seperti tampak pada tabel harga berikut :Produk Susu Ukuran 400gr (k) Ukuran 900gr(b)NUTRILON Rp. 77.000 Rp. 145.000PROMIL Rp. 77.600 Rp. 150.000SIMILAC Rp. 68.350 Rp. 135.500

Buatlah program untuk menampilkan harga disesuaikandengan nama produk dan ukurannya.Maka pemecahan kasus diatas dapat diselesaikan dengancontoh listing program C sebagai berikut :

#include <iostream.h>int main(){

int j_susu char uk_susu; cout<<”Masukan jenis produk susu : “; cin>>j_susu; cout<<”Masukan ukuran produk susu : “; cin>>uk_susu; switch (j_susu)

{case 1: {

cout<<”Susu NUTRILON ”;switch(uk_susu){ case ‘k’: cout<<”Harganya Rp. 77.000”;break; case ‘b’: cout<<”Harganya Rp. 145.000”;break; default cout<<”maaf ukuran tidak ada”;}break;}

case 2: {cout<<”Susu PROMIL ”;switch(uk_susu){ case ‘k’: cout<<”Harganya Rp. 77.600”;break; case ‘b’: cout<<”Harganya Rp. 150.000”;break; default cout<<”maaf ukuran tidak ada”;}break;}

case 3: {cout<<”Susu SIMILAC ”;switch(uk_susu){ case ‘k’: cout<<”Harganya Rp. 68.350”;break; case ‘b’: cout<<”Harganya Rp. 135.500”;break; default cout<<”maaf ukuran tidak ada”;}break;}

defaultcout<<”Maaf, jenis produk susu anda tidak ada…”

}}

Page 6: Modul Praktek Bahasa C++

Listing program diatas merupakan contoh penggunaanswitch pada kasus nested switch. Jika dijalankan programdiatas adalah sebagai berikut :

D. LANGKAH-LANGKAH PERCOBAAN1. Menyalakan komputer2. Mengaktifkan software IDE C/C++ ( gunakan TURBO C++).3. Tuliskan listing program dari program yang diminta oleh

asisten4. Jalankan program anda dan perhatikan apakah sudah sesuai

dengan output yang diinginkan5. Lakukan langkah 4, hingga program dinyatakan benar oleh

asisten6. Dari langkah 1 hingga 4, tuliskan laporan mengenai tugas

yang anda lakukan berikut kesalahan yang terjadi saat andamelakukan prosedur 1 hingga 4.

E. TUGAS PENDAHULUAN1. Buatlah program yang digunakan untuk mengetahui status

sebuah bilangan, apakah termasuk bilangan genap atauganjil!

2. Buatlah program menentukan nilai huruf sebuah materikuliah seorang mahasiswa dengan input berupa nilai angkadan ketentuan sebagai berikut :

Nilai Angka NilaiHuruf

8.00 s/d 10.00 A7.00 s/d 7.99 B6.00 s/d 6.99 C4.00 s/d 5.99 D0.00 s/d 3.99 E

Masukan jenis produk susu : 1Masukan ukuran produk susu : kSusu NUTRILON Harganya Rp. 77.000

PERCOBAAN IIIPERNYATAAN KENDALI – LOOPING

A. TUJUAN :Mahasiswa memahami proses kendali perulangan (looping) padasuatu keadaan

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

C. TEORI DASAR :Looping adalah pengulangan perintah-perintah sampai mencapaikeadaan tertentu. Struktur perulangan terdiri atas dua bagian :1. Kondisi pengulangan yaitu ekspresi boolean yang harus

dipenuhi untuk melaksanakan perulangan2. Isi atau badan perulangan yaitu satu atau lebih pernyataan

(aksi) yang akan diulang.Pada dasarnya sebuah proses looping berkaitan erat dengankendali uji. Dimana kendali uji digunakan untuk menghentikansegala aktifitas berulang jika memenuhi suatu persyaratantertentu. Pada umumnya proses looping bisa digambarkan padadiagram alir berikut ini :

KONDISI

INISIALISASI

PERNYATAAN

PERUBAHAN

Y

T

Page 7: Modul Praktek Bahasa C++

Bahasa C memiliki beberapa perintah atau notasi dalam strukturpengulangan antara lain :1. Pernyataan for

Pernyataan for digunakan untuk menghasilkan pengulangan(looping) beberapa kali tanpa penggunaan kondisi apapun.Pada umumnya looping yang dilakukan oleh for telahdiketahui batas awal, syarat looping dan perubahannya.Selama kondisi terpenuhi, maka pernyataan akan terusdieksekusi.Bentuk Umumnya :

contoh sebagai berikut :

Penjelasan bagian-bagian for : Bagian inisialisasi wajib diberikan sebagai batas awal

sebuah perulangan. Bagian kondisi bersifat optional, yaitu jika diberikan maka

proses looping akan berlangsung selama syaratmemenuhi kondisi. Namun jika tidak, maka proseslooping akan dilakukan tanpa batas.

Bagian perubahan juga bersifat optional, yaitu jikadiberikan maka proses looping akan berlangsung seiringdengan proses perubahan variabel peubah. Sebaliknyaproses looping akan berlangsung dengan isi variabelpeubah konstan/tetap.

Contoh lain :

#include <iostream.h>void main(){

int i;for (i=1; i<100; i++)

cout<<i<<” ”<<endl;}

for (inisialisasi ; kondisi ; perubahan){

Statement;}

#include <iostream.h>void main(){

int i;for (i=1; ; i++)

cout<<i<<” ”<<endl;}

Program diatas akan menampilkan bilangan yang banyaknyatak terhingga sehingga dapat membuat komputer andaberhenti bekerja. Contoh diatas juga merupakan prinsipmembuat bom program ( contohnya : bom mail )Pernyataan for juga mengenal pernyataan bersarang, yaitufor didalam for, lainnya atau yang biasa disebut nested for

2. Pernyataan whilePernyataan while merupakan salah satu pernyataan yangberguna untuk memproses suatu pernyataan atau beberapapernyataan beberapa kali. Pernyataan while memungkinkanstatemen-statemen yang ada didalamnya tidak diakukansama sekali.Bentuk Umumnya :

Contoh :

Program diatas digunakan untuk mengulangan tulisan “C++”sebanyak 10 kali

3. Pernyataan do..whilePernyataan do…while mirip seperti pernyataan while,hanya saja pada do…while, pernyataan yang terdapatdidalamnya minimal akan sekali dieksekusi.Bentuk Umumnya :

while (kondisi){Pernyataan ;}

#include <iostream.h>void main(){

int i; i=0;

while (i<10) {

cout<<”C++;i++;

}}

do{

pernyatan ;} while(kondisi);

Page 8: Modul Praktek Bahasa C++

Contoh :

4. Pernyataan continue dan breakPernyataan break akan selalu terlihat digunakan bilamenggunakan pernyataan switch. Pernyataan ini jugadigunakan dalam loop. Bila pernyataan ini dieksekusi, makaakan mengakhiri loop dan akan menghentikan iterasi padasaat tersebut.Pernyataan continue digunakan untuk pergi ke bagian awaldari blok loop untuk memulai iterasi berikutnya.Contoh :

Dari program diatas, dapat dilihat perulangan dari suatubilangan sebanyak 10 kali. Tetapi, pada perulangan i=4, adaperintah continue. Dengan perintah ini, maka programlangsung meloncat ke loop berikutnya dan ketika sampaiperulangan i = 6, ada perintah break. Otomatis programakan berhenti dan tidak sampai ke i=10. Dan program akanmencetak bilangan 0, bilangan 1, bilangan 2, bilangan 3,bilangan 5, bilangan 6.

#include <iostream.h>void main(){

int i; i=0;

do {

cout<<”C++;i++;

} while (i<10);}

#include <iostream.h>void main(){

int i; i=0;

for ( i=0; i<10; i++) {

if (i==4) continue;cout<<”Bilangan “<<i<<endl;if ( i==6 ) break;

}}

5. Pernyataan gotoPernyataan goto, diperlukan untuk melakukan suatulompatan ke suatu pernyataan berlabel yang ditandai dengantanda “ : “.Bentuk Umumnya :

Pada contoh diatas, pada saat goto ditemukan makaprogram akan melompat pernyataan berlabel bawah danmelakukan pernyataan 3.Contoh :

Outputnya :

D. LANGKAH-LANGKAH PERCOBAAN1. Menyalakan komputer2. Mengaktifkan software IDE C/C++ ( gunakan TURBO C++).3. Tuliskan listing program dari program yang diminta oleh

asisten4. Jalankan program anda dan perhatikan apakah sudah sesuai

dengan output yang diinginkan5. Lakukan langkah 4, hingga program dinyatakan benar oleh

asisten6. Dari langkah 1 hingga 4, tuliskan laporan mengenai tugas

yang anda lakukan berikut kesalahan yang terjadi saat andamelakukan prosedur 1 hingga 4.

goto bawah;pernyataan1;pernyataan2;

bawah : pernyataan 3;

#include <iostream.h>void main(){

cout<<”tes go to “ <<endl;goto selesai;cout<<”Hai, kok saya gak disapa “ <<endl;

selesai :cout<<”Selesai, deh… “ <<endl;

}

Test go toSelesai, deh…

Page 9: Modul Praktek Bahasa C++

E. TUGAS PENDAHULUAN1. Buatlah program untuk mencetak deret 10 9 8 7 6 5 4 3 2 12. Buatlah program untuk mencetak (gunakan perulangan while

atau for)* * * ** * ** **

3. Buatlah program yang menampilkan 5 buah bilangan, yaitumulai dari bilangan ke 5 sampai bilangan ke 1 dengan nilaiawal bilangan 8. Tampilan bilangan tersebut adalah menurundan contohnya adalah : bilangan ke 5, i=3 (diperoleh dari 8-5) dan seterusnya sampai bilangan 1, i=7 (diperoleh dari 8-1=7).

PERCOBAAN IVFUNGSI

A. TUJUAN :Mahasiswa memahami pemrograman secara modular (ter-subprogram)

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

C. TEORI DASAR :Secara harfiah, struktur penulisan didalam bahasa C disusunsecara modular ( ter-subprogram). Bahkan pada programutamanya juga berbentuk modul. Secara umum bentuk fungsididalam C adalah sebagai berikut :

Setiap fungsi harus didefinisikan tipe datanya, hal inidikarenakan bahwa fungsi memiliki return value (nilai balik) dansetiap nilai balik harus diketahui tipe datanya. Bahasa C memilikibuilt-in function (fungsi internal), namun fungsi dapat jugadiciptakan sendiri oleh pemrogram. Setiap fungsi yang diciptakanharus memiliki nama yang unik atau berbeda antara satu denganyang lain. Pada bagian lain dari fungsi, terdapat daftarparameter. Parameter adalah nama-nama peubah yangdideklarasikan pada bagian header fungsi. Daftar parameterdipisahkan oleh tanda koma, dan setiap parameter harus bertipedata. Terkadang fungsi tidak memiliki daftar parameter, namunmerupakan keharusan menempatkan tanda parentheses ‘()’pada fungsi tersebut.DEKLARASI FUNGSIUntuk mendeklarasikan suatu fungsi ada 2 cara, antara lain :1. Secara langsung

Yaitu dengan menempatkan fungsi diatas fungsi main(),seperti contoh berikut ini :

Tipe_data Nama_fungsi(Daftar_parameter){

Tubuh_fungsi;}

Page 10: Modul Praktek Bahasa C++

2. Secara tak langsungYaitu dengan menempatkan nama prototype fungsi diatasfungsi main() dan implementasi prototype fungsi dibawahnyaSeperti contoh berikut ini :

PARAMETERSeperti yang telah dijelaskan sebelumnya, bahwa parametermerupakan sebuah peubah. Dari penggunaannya, parameterbisa dilewatkan kedalam sebuah fungsi dengan 2 cara, antaralain :1. Call by value

Adalah suatu cara melewatkan sebuah nilai pada parameter.Perhatikan contoh sebelumnya yaitu pada fungsi kali saatdijalankan di program utama.

2. Call by referenceAdalah suatu cara melewatkan alamat sebuah variabel padasebuah parameter. Untuk jenis parameter ini, perluditambahkan operator pointer yaitu & atau * didepannya.Perhatikan contoh berikut ini

int kali( int angka_1, int angka_2){ return angka_1*angka_2}void main();{ cout << “Hasil kali antara 2 dan 3 adalah ”<<kali(2,3);}

int kali( int angka_1, int angka_2); //Prototype fungsivoid main();{ cout << “Hasil kali antara 2 dan 3 adalah ”<<kali(2,3);}int kali( int angka_1, int angka_2);//implementasi prototype fungsi{ return angka_1*angka_2}

REKURSIFRekusif adalah pemanggilan oleh dirinya sendiri. Oleh karenafungsi bisa menghasilkan nilai balik, maka fungsi bisa juga bisamemanggil dirinya sendiri. Contohnya adalah sebagai berikut :

D. LANGKAH-LANGKAH PERCOBAAN1. Menyalakan komputer2. Mengaktifkan software IDE C/C++ ( gunakan TURBO C++).

int kali( int &angka_1, int angka_2); //Prototype fungsiint jumlah( int *angka_1, int angka_2); //Prototype fungsivoid main();{

int a, b;a=10; b=10cout << “nilai awal a= ”<<a;cout << “Hasil kali antara a dan b adalah ”<<kali(a,b);cout << “nilai akhir a= ”<<a;cout << “nilai awal b= ”<<b;cout << “Hasil jumlah antara a dan b adalah ”<<jumlah(a,&b);cout << “nilai akhir b= ”<<b;

}int kali( int &angka_1, int angka_2);//implementasi prototype fungsi{

angka_1=angka_1*angka_2return angka_1

}int jumlah( int *angka_1, int angka_2);//implementasi prototype fungsi{

*angka_1=*angka_1+angka_2return *angka_1

}

int faktorial( int angka_1); //Prototype fungsivoid main();{

cout<<faktorial(10);}int faktorial( int angka_1);//implementasi prototype fungsi{

If (angka_1==0)return 1;

elsereturn angka_1*faktorial(angka_1-1);

}

Page 11: Modul Praktek Bahasa C++

3. Tuliskan listing program dari program yang diminta olehasisten

4. Jalankan program anda dan perhatikan apakah sudah sesuaidengan output yang diinginkan

5. Lakukan langkah 4, hingga program dinyatakan benar olehasisten

6. Dari langkah 1 hingga 4, tuliskan laporan mengenai tugasyang anda lakukan berikut kesalahan yang terjadi saat andamelakukan prosedur 1 hingga 4.

E. TUGAS PENDAHULUAN1. Buatlah fungsi untuk menghitung luas suatu bangun?2. Buatlah fungsi untuk menghitung hasil pangkat bilangan

misalkan 2 pangkat 3 hasilnya adalah 8.

PERCOBAAN VARRAY

A. TUJUAN :Mahasiswa memahami penggunaan tipe data array (larik).

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

C. TEORI DASAR :Array atau larik merupakan sekumpulan data yang mempunyainama dan tipe yang sama. Array sering disebut juga sebagaivariabel berindeks. Nilai suatu data dalam array ditentukan olehnama dan indeks. Array banyak digunakan pada operasi yangmelibatkan indeks seperti pada statistik dan matriks. Tipe dataarray dapat berupa array satu dimensi, dua dimensi, tiga dimensiatau banyak dimensi.Secara umum bentuk array didalam C adalah sebagai berikut :

Untuk bentuk array lebih dari 1 dimensi, digambarkan bentuknyaseperti berikut :

Contoh :

Array diatas menjelaskan bahwa array nama merupakan arrayberdimensi 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, makaberarti bahwa posisi awal array nama adalah 0 dan yang terakhiradalah 9 (bukanlah 10).REPRESENTASI ARRAYUntuk bisa menggunakan tipe array didalam program maka perlumendeklarasikan seperti contoh sebelumnya. Sedangkan untuk

Tipe_data Nama_array[ukuran];

Tipe_data Nama_array[ukuran_1] [ukuran_2] …[ukuran_n];

char nama[10];

Page 12: Modul Praktek Bahasa C++

pengisian nilai pada array dilakukan secara satu persatubersesuaian dengan nomor indeksnya misalkan :

Atau dengan mendeklaraksikannya sebagai konstanta array,seperti contoh berikut :

Khusus untuk tipe char sebagai string bisa langsung dituliskansemua karakter didalam tanda petik dua seperti contoh berikut :

D. LANGKAH-LANGKAH PERCOBAAN1. Menyalakan komputer2. Mengaktifkan software IDE C/C++ ( gunakan TURBO C++).3. Tuliskan listing program dari program yang diminta oleh

asisten4. Jalankan program anda dan perhatikan apakah sudah sesuai

dengan output yang diinginkan5. Lakukan langkah 4, hingga program dinyatakan benar oleh

asisten6. Dari langkah 1 hingga 4, tuliskan laporan mengenai tugas

yang anda lakukan berikut kesalahan yang terjadi saat andamelakukan prosedur 1 hingga 4.

E. TUGAS PENDAHULUAN1. 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

double nilai[5];

nilai[0]=7.5;nilai[1]=10;nilai[2]=5.5;nilai[3]=6.75;nilai[4]=8.25;

double nilai[5]={7.5,10,5.5,6.75,8.25};

char nama[15]=”Marlena”;

Page 13: Modul Praktek Bahasa C++

PERCOBAAN VIPOINTER

A. TUJUAN :Mahasiswa memahami penggunaan tipe data pointer.

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

C. TEORI DASAR :Pointer adalah sebuah variabel yang menyimpan alamat memori.Alamat ini merupakan lokasi dari obyek lain (dalam hal inivariabel lain ) didalam memori. Sebagai contoh, jika suatuvariabel berisi alamat variabel lain, variabel pertama dikatakanmenunjuk variabel kedua. Hal ini digambarkan sebagai berikut :

Untuk membuat variabel menjadi variabel bertipe pointer, makaperlu dideklarasikan. Bentuk umum dari deklarasi tersebutadalah sebagai berikut :

Tipe data yang digunakan adalah berasal dari tipe data dasaryang ada atau beberapa type lain yang berlaku (tipe bentukanmisalnya).OPERATOR POINTERAda dua pointer khusus yakni * dan &. Operator & adalahoperator pointer yang digunakan untuk mendapatkan alamatmemori. Sebagai contoh :

1003

Alamatmemori

Variabel dalammemori

100010011002100310041005

Tipe_data * nama_variabel

m=&count;

Variabel m akan berisi alamat memori dari variabel count.Sedangkan operator * digunakan untuk disertakan pada saatmendeklarasikan suatu variabel bertipe pointer dan merupakankomplemen dari operator & saat proses (digunakan untukmendapatkan data yang dikandung oleh alamat memori) . Dapatdicontohkan dari contoh diatas, anggap saja variabel countberada dilokasi memori 0x2000 dan mempunyai nilai kandungandidalam sebesar 100. Maka setelah proses diatas, variabel makan berisi alamat count yaitu 0x2000. Lalu melalui variabel yanglain (misalkan q) mendapatkan proses sebagai berikut :

Maka variabel q akan berisi nilai kandungan yang sama denganvariabel count. Berikut adalah contoh yang selengkapnya :

Maka hasilnya adalah :

OPERASI PADA POINTEROperasi aritmatika pada pointer hanya ada 2, yaitu penambahandan pengurangan. Baik proses penambahan ataupunpengurangan, akan menyebabkan variabel pointer akan berubahbertambah atau berkurang sebanyak n kali ukuran memori tipedata dasar yang digunakan. Seperti contoh diatas, bahwavariabel m adalah variabel pointer bertipe int (int berukuran 2byte), maka apabila ada proses penambahan atau penguranganakan berubah menjadi 2 kali angka peubah, misalkan :

q=*m;

#include <iostream.h>void main();{

int count,q;int * m;count=100;m=&count;q=*m;cout<<”isi variabel count adalah “<<count<endl;cout<<”isi variabel m adalah “<<m<endl;cout<<”isi variabel q adalah “<<q<endl;

}

isi variabel count adalah 100isi variabel m adalah 0x2000isi variabel q adalah 100

m++;

Page 14: Modul Praktek Bahasa C++

Maka misalkan m beralamatkan memori 0x2000 setelah prosesdiatas akan beralamatkan memori 0x2002. Begitu juga padaproses pengurangan.POINTER & ARRAYTerdapat hubungan dekat antara pointer dan array. Perhatikancontoh berikut ini :

Disini, p1 diatur untuk beralamat pertama dari elemen array str,yaitu str[0]. Untuk mengakses elemen ke-5, anda dapatmenuliskan :

Kedua cara diatas akan menunjukkan alamat element yangkelima. Dalam aplikasinya bisa anda lihat contoh berikut :

Baris program digunakan untuk menampilkan panjang sebuahkalimat pada suatu variabel.

D. LANGKAH-LANGKAH PERCOBAAN1. Menyalakan komputer2. Mengaktifkan software IDE C/C++ ( gunakan TURBO C++).3. Tuliskan listing program dari program yang diminta oleh

asisten4. Jalankan program anda dan perhatikan apakah sudah sesuai

dengan output yang diinginkan5. Lakukan langkah 4, hingga program dinyatakan benar oleh

asisten6. Dari langkah 1 hingga 4, tuliskan laporan mengenai tugas

yang anda lakukan berikut kesalahan yang terjadi saat andamelakukan prosedur 1 hingga 4.

char p2,str[80], *p1;p1=str;

p2=str[4] atau p2=*(p1+4)

#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;

}

E. TUGAS PENDAHULUAN1. Buatlah program untuk merubah semua huruf pada kalimat

menjadi huruf besar seluruhnya dengan pointer.2. Buatlah program untuk membalik kata atau kalimat dengan

pointer.