1. joko priyanto (672007001) 2. astriyer j. nahumury ... · iso standard c. • tahun 1980, bjarne...

29
1. Joko Priyanto (672007001) 2. Astriyer J. Nahumury (672007218) 3. Rico N. Tubalawony (672007193) 4. Heberson Pakpahan (672007195) 5. Agus Andriyanto (672007309)

Upload: nguyenduong

Post on 03-Mar-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

1. Joko Priyanto (672007001)2. Astriyer J. Nahumury (672007218)3. Rico N. Tubalawony (672007193)4. Heberson Pakpahan (672007195)5. Agus Andriyanto (672007309)

Sejarah C++• Bahasa B dikembangkan menjadi bahasa C

pada tahun 1970-an.• Tahun 1983, didirikan sebuah komite untuk

menciptakan ANSI standar untuk bahasa C.(yang dipakai pada Desember 1989)

• Bahasa C yang diciptakan oleh Kerninghandan Ritchie dikenal dengan ANSI C →digunakan oleh ISO sehingga menghasilkanISO Standard C.

• Tahun 1980, Bjarne Stroustrup dari AT&T Bell Laboratories mulai mengembangkanbahasa C → C++ tahun 1985.

Sejarah C++(lanjt)

• C++ mengalami dua tahap :Θ dirilis oleh AT&T laboratories → cfrontΘ kompiler C++ menjadi sebuah kompiler

yang bisa C++ → bahasa assembly• Tahun 1990, C++ menjadi bahasa berorientasi

objek.

Struktur Bahasa C++

Contoh 1 ://my first program in C++#include <iostream.h>int main(){ cout << “Selamat pagi dunia!”;return 0;}

Hasil :Selamat pagi dunia!

Struktur Bahasa C++ (lanjt)

Program tersebut mengandung komponen dasar://my first program in C++

merupakan komentar, tidak akan berpengaruhterhadap program.

#include <iostream.h>kalimat yang diawali tanda (#) merupakapreprocessor directive. Indikasi untukkompiler. #include <iostream.h> indikasi untukmenyertakan header file standard iostream, termasuk I/O dalam C++

int main()sebagai awal deklarasi fungsi main. Merupakantitik awal dimana seluruh program C++ akandieksekusi.

cout << “Selamat pagi dunia!”;merupakan standard output stream dalam C++ (biasanya monitor).

return 0;fungsi main() berakhir dan mengembalikankode yang mengikuti instruksi tersebut, dalamhal ini kasus 0.

Struktur Bahasa C++ (lanjt)

Struktur Bahasa C++ (lanjt)

• Setiap kalimat diakhiri dengan tandasemicolon (;). Karakter ini menandakan akhirdari instruksi dan harus disertakan padasetiap akhir instruksi pada program C++ manapun.

• Isi dari fungsi main() selanjutnya akanmengikuti, berupa deklarasi formal dandituliskan diantara kurung kurawal ({}).

• Komentar adalah bagian dari program yang diabaikan oleh kompiler.

Struktur Bahasa C++ (lanjt)

• Ada dua cara untuk menuliskan komentar:Θ// komentar baris

akan mengabaikan apapun mulai daritanda(//) sampai akhir baris.

Θ/* komentar blok */akan mengabaikan apapun yang

berada diantara tanda /* dan */

Input dan Output

• Dalam ANSI C, operasi input dan output dilakukan dengan menggunakan fungsi-fungsi header file stdio.h misalkan : printf, scanf, putc, dsb.

• Untuk input dan output ke file digunakanfread, fwrite, fputc, dsb.

• Dalam C++ menggunakan iostream.h, stsrtrea.h, fstream.h dan constrea.h

Input dan Output (lanjt)

• Contoh versi ANSI C#include <stdio.h>void main(){int x;printf (“Masukkan sebuah bilangan:\n”);scanf (“%d”, &x);printf (“Bilangan yang dimasukkan adalah%d\n”,x);}

Input dan Output (lanjt)

• Contoh versi C++ #include <iostream.h>void main(){int x;cout <<“Masukkan sebuah bilangan: “<<end1;cin >> x;cout <<“Bilangan yang dimasukkan adalah “ << x << end1;}

ELEMEN DASAR C++

• Identifier (Pengenal) pada C++Identifier adalah nama yang digunakan untuk mempresentasikanvariabel, konstanta, jenis (type), fungsi, dan nama program. Identifier dalam pendeklarasian variabel, jenis, atau fungsi padabahasa C++ dimulai dengan sebuah huruf atau garis bawah. Karakter-karakter lain dalam sebuah identifier dapat berupahuruf, angka, garis bawah, atau tanda dollar. Compiler C++ membedakan huruf kecil dan besar. VariabelNAMA_PEGAWAI dan nama_pegawai dipandang sebagai duaidentifier yang menggambarkan variabel memori yang berbeda. Contoh identifier yang diperkenankan untuk dipakai: a atauakelas atau kelas$ atau _kelas atau _KELAS$, sedangkanidentifier yang tidak diperbolehkan untuk dipakai: $KELAS atau7kelas atau kelas! atau ..kelas.

ELEMEN DASAR C++ (lanjt)• Himpunan Karakter

Himpunan karakter pada C++ terdiri dari huruf, digit maupun simbol-simbol lainnya (termasuk spasi, karakter kontrol)Huruf: A B C D E F G H I J K L M N O P Q R S T U V W X Z Y a b c d e f g h i j k l m n o p q r s t u v w x y zDigit: 0 1 2 3 4 5 6 7 8 9Simbol dan lain-lain: _ - + * dan sebagainya.

ELEMEN DASAR C++ (lanjt)

• Kata-kata KunciKata kunci (keyword) adalah pengenal sistem yang

mempunyai makna khusus bagi kompiler. Kegunaan dari golonganini tidak dapat diubah. Karena itu kata kunci tidak dapatdigunakan sebagai pengenal yang dibuat oleh pemrogram.Kata kunci diusulkan ANSI:auto, double, int, struct, break, else, loop, switch, case, enum, register, typedef, char, extern, return, union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if, static, whileSedangkan turbo C memperluasnya dengan menambahkanbeberapa kata kunci:_cs, _ss, far, near, _ds, asm, huge, pascal, _es, cdecl, interruptSementara itu, Microsoft C/C++ menambah beberapa kata kunci:_asm, _loadds, _cdecl, _huge, _far, _pascal, _export, _interrupt, _fortran, _segname, _near, _saveregs, _segment, _syscall, _self, _stdcall, _fastcall, _based

VARIABEL,TIPE DATA, KONSTANTA

1. VARIABEL• Variabel adalah suatu pengenal (identifier) yang

digunakan untuk mewakili suatu nilai tertentu di dalamproses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variable bisadiubah-ubah sesuai kebutuhan.

• Identifier adalah untaian satu atau lebih huruf, angka, atau garis bawah ( _ ). Panjang dari identifier, tidakterbatas, walaupun untuk beberapa kompiler hanya 32 karakter pertama saja yang dibaca sebagai identifier (sisanya diabaikan). Identifier harus selalu diawalidengan huruf atau garis bawah ( _ ).

VARIABEL,TIPE DATA, KONSTANTA (lanjt)

• LINGKUP VARIABEL– variabel Global dapat

digunakan untuk setiapbagian dari program, maupunfungsi, walaupundideklarasikan diakhirprogram.

– variable local terbatas. Hanya berlaku dimanavariable tersebutdideklarasikan. Jikadideklarasikan diawal fungsi(seperti dalam main) makalingkup dari variable tersebut adalah untukseluruh fungsi main.

– Instruction merupakanperintah dalam program

VARIABEL,TIPE DATA, KONSTANTA (lanjt)

• Mendeklarasikan dan Mendefinisikan VariabelVariabel yang akan digunakan dalam program haruslah

dideklarasikan terlebih dahulu, maksudnya mengenalkan sebuahpengenal ke program dan menentukan jenis data yang bisadisimpan di dalamnya. Apabila suatu pendeklarasian menyebabkanpengalokasian memori, maka pendeklarasian tersebut dinamakanpendefinisian. Yang jelas pendefinisian berarti pula pendeklarasian, tetapi tidak semua pendeklarasian berartipendefinisian.

• bentuk pendefinisian variabel:tipe daftar_variabel;Pada pendefinisian variabel, daftar_variabel dapat berupasebuah variabel atau beberapa variabel yang dipisahkan dengankoma.

VARIABEL,TIPE DATA, KONSTANTA (lanjt)

2. TIPE DATA• Tipe data merupakan bagian program yang paling

penting karena tipe data mempengaruhi setiapinstruksi yang akan dilaksanakan olehcomputer.Misalnya saja 5 dibagi 2 bisa sajamenghasilkan hasil yang berbeda tergantung tipedatanya. Jika 5 dan 2 bertipe integer maka akanmenghasilkan nilai 2, namun jika keduanya bertipefloat maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat prosesoperasi data menjadi lebih efisien dan efektif.

• Dalam bahasa C terdapat beberapa tipe data, yaitu :

Name Bytes* Description Range*

char 1 character or integer 8 bits length. signed: -128 to 127unsigned: 0 to 255

short 2 integer 16 bits length. signed: -32768 to 32767unsigned: 0 to 65535

long 4 integer 32 bits length. signed:-2147483648 to 2147483647unsigned: 0 to 4294967295

int *

Integer. Its length traditionally depends onthelength of the system's Word type, thus inMSDOS it is 16 bits long, whereas in 32 bitsystems (like Windows 9x/2000/NT andsystems that work under protected mode inx86 systems) it is 32 bits long (4 bytes).

See short, long

float 4 floating point number. 3.4e + / - 38 (7 digits)

double 8 double precision floating point number. 1.7e + / - 308 (15 digits)

Longdouble 10 long double precision floating point number. 1.2e + / - 4932 (19 digits)

bool 1

Boolean value. It can take one of two values:true or false NOTE: this is a type recentlyadded by the ANSI-C++ standard. Not allcompilers support it. Consult section booltipe for compatibility information.

true or false

wchar_t 2

Wide character. It is designed as a type tostore international characters of a two-bytecharacter set. NOTE: this is a type recentlyadded by the ANSI-C++ standard. Not allcompilers support it.

wide characters

VARIABEL,TIPE DATA, KONSTANTA (lanjt)

• Variabel dan Konstanta Bertipe charDalam hal ini variabel karakter bertipe char.

Variabel ini dapat menampung data sebuah karakter. Untuk menuliskan sebuah konstanta bertipe char, karakter perlu ditulis di dalam tanda petik tunggal, contoh: 'A' karakter berupa huruf A

• Variabel dan Konstanta Bertipe intSetelah pendefinisian seperti itu, variabel ini

dapat digunakan untuk menampung nilai bertipe int. Sebuah konstanta bertipe int adalah bilangan bulatyang terletak antara minus 32768 hingga plus 32767 (pada PC berbasis DOS) dan tidak mengandung titikdesimal.

VARIABEL,TIPE DATA, KONSTANTA (lanjt)

• Variabel dan Konstanta Bertipe longApabila diinginkan untuk memproses bilangan bulat yang

nilainya lebih besar daripada tipe int, Anda dapat menggunakan tipelong. Suatu variabel bertipe long didefinisikan dengan cara seperti dibawah ini:long jumlah_penduduk;Pada contoh ini, jumlah_penduduk didefinisikan bertipe long. Dengan demikian variabel ini dapat menampung nilai ratusan juta. Adapun konstanta bertipe long biasa ditulis dengan akhiran L. Sebagai contoh: 1543267635435L

• Variabel dan Konstanta Bertipe float, double dan long double

Tipe-tipe data yang telah dibahas di depan (char, int dan long) berhubungan dengan bilangan bulat. Seandainya diinginkan untukmemproses bilangan yang mengandung nilai pecahan, bisamenggunakan tipe float, double atau long double. Ketiga tipe yang berhubungan dengan bilangan pecahan ini mempunyai perbedaandalam hal: kepresisian data, dan jangkauan nilai yang dicakup.

VARIABEL,TIPE DATA, KONSTANTA (lanjt)

3. KONSTANTA

• Konstanta merupakan suatu nilai yang tidak dapat diubah selamaproses program berlangsung. Konstanta nilainya selalu tetap. Konstanta harus didefinisikan terlebih dahulu di awal program

• Konstanta adalah ekspresi dengan nilai yang tetap. Terbagi dalamNilai Integer, Nilai Floating-Point, Karakter and String. – Nilai Integer : Merupakan nilai konstanta numerik yang meng-

identifikasikan nilai integer decimal. Karena merupakan nilai numeric, maka tidak memerlukan tanda kutip (") maupun karakter khususlainnya. Contoh : 1776 707 -273

– Nilai Floating Poin : Merepresentasikan nilai desimal dan/ataueksponen, termasuk titik desimal dan karakter e (Yang merepresentasikan “dikali 10 pangkat n” , dimana n merupakan nilaiinteger) contoh : 3.14159 // 3.14159

6.02e23 // 6.02 x 101.6e-19 // 1.6 x 10 3.0 // 3.0

- Karakter dan String :Merupakan konstanta non-numerik contoh :'z‘ ; 'p‘ ; "Hello world"

VARIABEL,TIPE DATA, KONSTANTA (lanjt)

Konstanta Define (#define)• Kita dapat mendefinisikan sendiri nama untuk konstanta yang akan kita

pergunakan, dengan menggunakan preprocessor directive #define. Dengan format : #define identifier value

• Contoh : #define PI 3.14159265#define NEWLINE '\n'#define WIDTH 100

• Setelah didefinisikan seperti diatas, maka kita dapat menggunakannyapada seluruh program yang kita buat, contoh :

• circle = 2 * PI * r;cout << NEWLINE;

• Pada dasarnya, yang dilakukan oleh kompiler ketika membaca #defineadalah menggantikan literal yang ada (dalam contoh, PI, NEWLINE atauWIDTH) dengan nilai yang telah ditetapkan (3.14159265, '\n' dan100). #define bukan merupakan instruksi, oleh sebab itu tidak diakhiridengan tanda semicolon (;).

VARIABEL,TIPE DATA, KONSTANTA (lanjt)

Deklarasi Konstanta (const)• Dengan prefix const kita dapat mendeklarasikan konstanta

dengan tipe yang spesifik seperti yang kita inginkan. contoh:

• const int width = 100;const char tab = '\t';const zip = 12440;

• Jika tipe data tidak disebutkan, maka kompiler akan meng-asumsikan sebagai int.

OPERATOR• OPERATOR PERBANDINGAN

< Kurang dari<= Kurang dari sama dengan> Lebih dari>= Lebih dari sama dengan== Sama dengan!= Tidah sama dengan .

• OPERATOR LOGIKA&& : Logika AND (DAN)|| : Logika OR (ATAU)! : Logika NOT (INGKARAN).

• KODE PENENTU FORMAT. %c : Membaca sebuah karakter. %s : Membaca sebuah string. %i, %d : Membaca sebuah bilangan bulat (integer). %f, %e : Membaca sebuah bilangan pecahan (real). %o : membaca sebuah bilangan octal. %x : Membaca sebuah bilangan heksadesimal. %u : Membaca sebuah bilangan tak be

STRUKTUR KONTROL

• Sebuah program biasanya tidak terbatas hanya padaintruksi yang terurut saja, tetapi juga memungkinkanterjadinya percabangan, perulangan dan pengambilankeputusan. Untuk mengatasi kebutuhan itu C++ menyediakan struktur kontrol yang dapat menanganihal-hal tersebut.

• Untuk membahas hal tersebut diatas, akan ditemuiistilah block of instructions. Blok instruksi adalahsekumpulan instruksi yang dibatasi dengan tandasemicolon (;) tetapi dikelompokan dalam satu blok yang dibatasi dengan kurung kurawal { }.

STRUKTUR KONTROL (lanjt)• Struktur Kondisional : if and else

Digunakan untuk mengeksekusi sebuah atau satu blok instruksijika kondisi terpenuhi, sintaks: if (condition) statement condition merupakan ekspresi yang dievaluasi. Jika kondisi bernilai true, maka statement akan dijalankan. Jikafalse, maka statement akan diabaikan dan program menjalankaninstruksi selanjutnya.

• Struktur perulangan (loops)Loops merupakan perulangan statement dengan jumlah tertentujika kondisi terpenuhi.The while loop.Sintaks :while (expression) statementFungsi dari statement diatas adalah mengulang statement jikaexpression bernilai true.

- The do-while loop.Format :do statement while (condition);Secara fungsional, hampir sama dengan while loop, hanyasaja condition dalam do-while dievaluasi setelah eksekusistatement , dengan kata lain, sedikitnya satu kali eksekusi statement walaupun kondisi tidak terpenuhi.

STRUKTUR KONTROL (lanjt)- The for loop.

Format : for (initialization; condition; increase) statement;Fungsinya akan mengulang statement jika conditionbernilai benar. Sama seperti while loop., hanya saja formemungkinkan untuk memberikan instruksi initializationdan intruksi increase, sehingga dapat menampilkan loop dengan counter.

• Algoritma perulangan for :- initialization, digunakan untuk memberikan nilai awal untuk

variable counter. Dieksekusi hanya sekali.- condition, Dievaluasi, jika bernilai true maka loop berlanjut,

sebaliknya loop berhenti dan statement diabaikan- statement, dieksekusi, bisa berupa instruksi tunggal

maupun blok instruksi (dalam tanda { } ).- increase, dieksekusi kemudian algoritma kembali ke step 2.

TERMA KASIHGBU