BAHASA PEMROGRAMAN C++ STMIK – AMIK JAYANUSA PADANG Web Site : www.jayanusa.ac.id E-mail : jayanusa@jayanusa.ac.id
SEJARAH PEMROGRAMAN C++ Bahasa C hasil kreasi dari Dennis M. Ritchie (1972) di Bell Telephone Laboratory Inc., Murray Hill, New Jersey, USA (Sekarang dikenal dengan AT&T Bell Laboratory) Implementasi pertama pada OS UNIX, dan dijalankan di mesin DEC PDP-II Merupakan pengembangan dari B (Ken Thomson) dan bahasa BCPL/Basic Command Programming Language (Martin Richards)
MENGAPA MESTI C++ ? Bahasanya Ringkas, hanya terdiri dari 32 Keyword menurut Standar C Tersedia secara komersial untuk segala jenis komputer dan sistem operasi Terstruktur sekaligus fleksibel Programnya bekerja lebih cepat dan lebih tangguh, karena akses dekat ke sistem Kebanyakan pengembangan bahasa pemrograman ke depan meniru sintax C (C- Like = Mirip C), seperti : Java, JavaScript, C#, PHP, dll.
VERSI C C Versi ANSI : Turbo C Borland C++ Visual C++
KEYWORD C Beberapa compiler juga menyediakan beberapa keyword seperti berikut ini : asm far huge pascal ada fortran near Catatan : Semua keyword pada kode program C++ ditulis dengan huruf kecil Perintah-perintah C++ yang lain disediakan oleh library-nya yang diakses melalui kode program dengan preprocessor #include
KARAKTERISTIK C++ Semua prosedur dalam bentuk Fungsi, minimal harus ada 1 fungsi wajib, yaitu Fungsi Main() Tidak mengenal space sebagai pemisah, kecuali antar instruksi yang berbeda Setiap statemen dipisahkan dengan semi colon (;) Kode program bersifat Case Sensitive (membedakan huruf kapital dan huruf kecil). Keyword dan perintah-perintah dituliskan dengan huruf kecil
STRUKTUR DASAR PROGRAM C++ Setiap programm C++ terdiri dari satu atau lebih fungsi (function). Salah satu dari fungsi tersebut harus bernama Main(). Struktur Program [Deklarasi header/library] [Deklarasi Variabel/konstanta] [Deklarasi Fungsi] Fungsi Utama ( Fungsi main() ) […….] = Optional adanya tergantung kebutuhan
FORMAT PENULISAN DEKLARASI LIBRARY/HEADER #include <header_name> Atau #include “header_name” Contoh : #include <stdio.h> #include “stdio.h” #include “c:\tc\include\stdio.h” Hanya akan dicari didirectoy include yang ditentukan pada konfigurasi Pertama akan dicari didirectoy aktif, jika tidak ketemu akan dicari di directory include yang ditentukan pada konfigurasi Hanya akan dicari didirectoy yang langsung ditentukan
LIBRARY HEADER stdio.h dan conio.h Fungsi yang didellarasikan pada library : stdio.h clearerr fclose fcloseall fdopen feof ferror fflush fgetc fgetchar fgetpos fgets fileno flushall fopen fprintf fputc fputchar fputs fread freopen fscanf fseek fsetpos ftell fwrite getc getchar gets getw perror printf putc putchar puts putw remove rename rewind rmtmp scanf setbuf setvbuf sprintf sscanf strerror _strerror tempnam tmpfile tmpnam ungetc unlink vfprintf vfscanf vprintf vscanf vsprintf vsscanf
Fungsi yang dideklarasikan pada library : conio.h cgets clreol clrscr cprintf cputs cscanf delline getch getche getpass gettext gettextinfo gotoxy highvideo insline inp inport inportb inpw kbhit lowvideo movetext normvideo outp outport outportb outpw putch puttext _setcursortype textattr textbackground textcolor textmode ungetch wherex wherey window Include-kan library stdio.h atau conio.h jika di dalam kode program anda membutuhkan fungsi-fungsi di atas
CONTOH PROGRAM SEDERHANA #include<stdio.h> #include<conio.h> #include<iostream.h> void main() { int f,g,h; f=5; g=8; h=f+g; cout<<“Hasil Jumlahnya : ”<<h<<endl; getche(); }
CONTOH PROGRAM SEDERHANA #include<stdio.h> #include<conio.h> #include<iostream.h> void main() { int f,g,h; cout<<“Masukan nilai f : “; cin>>f; cout<<“Masukan nilai g : “; cin>>g; h=f+g; cout<<“Hasil Jumlahnya : ”<<h<<endl; getche(); }
ESCAPE SEQUENCE Escape Sequence Fungsi \a Membunyikan Speaker (pada compiler tertentu) \b Menghapus satu karakter yang ada di depan escape sequence \n Pindah ke kolom paling awal dibaris berikutnya (enter) \r Pindah ke kolom paling awal dibaris yang sama \t Pindah sejauh tabulasi (8 karakter) \” Mencetak tanda petik ganda \\ Mencetak tanda Back Slash (“\”) \ddd Mencetak karakter tertentu dari Kode ASCII (ddd diganti dengan sembarangan bilangan oktal antara 000-376)
KONSTANTA Adalah suatu nilai yang sifatnya tetap, misalnya angka ‘2’, s adalah dua bukan 3. Type –type konstanta pada C++: Numeric (Bilangan) a. Bilangan Bulat (Integer) b. Bilangan Desimal Presisi Tunggal (Floating Point) c. Bilangan Decimal Presisi Ganda (Double Precision)
2. Teks a. Data Karakter Hanya terdiri dari sebuah karakter saja 2. Teks a. Data Karakter Hanya terdiri dari sebuah karakter saja. Ditandai dengan 2 tanda kutip tunggal (‘..’) sebagai pembatasnya. Contoh : ‘A’, ‘k’, ‘3’, ‘*’ b. Data String Data ini merupakan rangkaian beberapa karakter, ditandai dengan 2 tanda kutip ganda (“..”) sebagai pembatasnya Contoh : “AMIR”, “BELAJAR, “500”
VARIABEL Yaitu identifier yang digunakan untuk menampung data/informasi. Syarat penulisan variabel : Panjang variabel maksimum 32 karakter (standar ANSI) Boleh terdiri dari Abjad, Angka dan tanda hubung Tidak boleh dimulai dengan angka Tidak boleh menggunakan operator Aritmetik (+, - ,dll) Tidak boleh menggunakan karakter-karakter khusus (; , : # dll) Tidak boleh menggunakan spasi Tidak boleh menggunakan Keyword C++ C membedakan huruf kapital dan huruf kecil (Case Sensitive)
JENIS – JENIS VARIABEL Tipe Data Simbol Deklarasi Range Nilai Character Char -128 s/d 127 Integer int -32,768 s/d 32,767 Long Integer long -2,147,483,648 s/d 2,147,483,647 Floating Point float -3,4 x 10+38 s/d -3,4 x 10-38 3,4 x 10-38 s/d 3,4 x 10+38 Double Precision double -1,7 x 10+308 s/d -1,7 x 10-308 1,7 x 10-308 s/d 1,7 x 10+308
OPERATOR Operator Arithmatic : + - * / % Operator increment/decrement + - * / % Contoh : c=a+b; d=5%2; { Note : Pangkat dengan fungsi pow() } Operator Aritmatic Assignment += -= *= /= %= c=5; c+=2; {c=7 dari c=c+2} c-=2; {…………………..} Operator increment/decrement ++ -- Contoh : c=4; c++; {c=5 dari c=c+1} c--; {…………………..} a=5; b=a++; {a=6 b=5} b=++a; {a=6 b=6}
Operator pointer & {address of} * {value of} Contoh : Operator relational < > <= >= == {equal} != {not equal} Contoh : (5>=2) (k==toupper(‘y’)) (n!=0) Operator Logika && {AND} || {OR} ! (Not} (n!=0) && (k=toupper(‘y’)) A || B Operator pointer & {address of} * {value of} Contoh : { Next discussion }
Operator Pergeseran bit << {Shift Right} >> {Shift left} Contoh : A=1; B=A << 3 {B=8} Operasi-operasi berikut ini valid : c=b=a+5; c=b=(c!=d); Operator kondisional ?: Contoh : z = (x < y) ? x : y; pernyataan di atas sama dengan : if (x < y) z = x; else z = y;
PERINTAH OUTPUT Fungsi cout<< Digunakan untuk mencetak data, baik yang bertipe numeric ataupun teks, baik konstanta maupun variabel, contoh : cout<<“Saya Belajar Bahasa Pemrograman C”; cout<<‘a’;
Fungsi Output yang lain, diantaranya : puts() putschar() putch() cprintf() Sebagai Tugas Cari fungsi dan tatacara penulisannya !
PERINTAH INPUT Fungsi cin>> Digunakan untuk memasukan nilai terhadap suatu variabel. Contoh : cin>>a;
Fungsi Input yang lain, diantaranya : getchar() getch() scanf() getche() gets() Sebagai Tugas Cari fungsi dan tatacara penulisannya !
DECISION / PEMILIHAN / PERCABANGAN Pernyataan if Pernyataan if membagi suatu alur proses menjadi 2 cabang. Cabang pertama akan dijalakan bila syarat terpenuhi, cabang kedua akan dijalankan jika syarat tidak terpenuhi Bentuk Umum : If(syarat) { … perintah; } If(syarat) … perintah; Jika hanya mengandung 1 buah perintah Jika mengandung banyak perintah
B. Pernyataan if else Kedua Cabang, yaitu syarat terpenuhi dan syarat tidak terpenuh, masing-masing memiliki perintah yang harus dijalankan Bentuk Umum : If(syarat) … perintah; Else If(syarat) { … perintah; } Else { … perintah; }
C. Pernyataan else if Untuk yang memiliki banyak kondisi If(syarat) { … perintah; } Else if(syarat) Bentuk Umum : Else
D. Nested if Untuk yang memiliki kondisi didalam kondisi Bentuk Umum : If(syarat) if(syarat) … perintah; else If(syarat) { … perintah; if(syarat) } else { … perintah; } else … perintah if(syarat) dst………..
E. Switch and break Sama dengan else if, namun khusus untuk memeriksa data yang bertipe character atau integer Bentuk Umum : switch(variabel integer atau character) { case nilai_pertama_variabel : … perintah; break; case nilai_kedua : default : … perintah; }
STRING String adalah kumpulan dari character/huruf, bisa berupa kata atau kalimat. Mendeklarasikan string Sama seperti mendeklarasikan tipe character, namun ditambah indeks sebagai batas maksimum jumlah huruf yang bisa ditampung. Bentuk Umum : char nama_variable[indeks] Contoh : char nama[20] Catatan : Jumlah Huruf yang dapat ditampung adalah -1 dari indeks.
II. Inisialisasi String Ada 2 cara : Char nama[5]={‘A’,’N’,’I’,’S’,’A’) Char nama[5]=“ANISA” III. Mencetak / Output String Sama dengan tipe data yang lain Contoh : printf(“Nama Saya : %s”, “anisa”); char nama[5]=“anisa” printf(“Nama Saya : %s”,nama);
IV. Menginput String scanf(“%s”,nama_variabel) Tidak menggunakan tanda “&” didepan variabel. Hanya dapat menyimpan 1 kata 2. gets(nama_variabel) Dapat menyimpan lebih dari 1 kata
V. Fungsi-fungsi string yang tersedia Header untuk semua fungsi string terdapat pada file-file include <string.h> strcpy(dari data string copy) Untuk mengisi sebuah variabel string atau mengcopy isi variabel string ke variabel string yang lain. Bentuk Umum : strcpy(str_tujuan,str_asal) Contoh : strcpy(nama,”imam”); strcpy(nama_lain,nama)
2. strlen(dari kata string length) Untuk menghitung banyak karakter (selain null) yang terdapat dalam sebuah variabel string Bentuk Umum : panjang_str=strlen(string) Contoh : panjang=strlen(nama) 3. strupr(dari kata string upper) Untuk mengubah huruf-huruf yang ada didalam variabel string menjadi huruf besar Contoh : strupr(nama) 4. strlwr(dari kata string lower) Untuk mengubah huruf-huruf yang ada didalam variabel string menjadi huruf kecil Contoh : strlwr(nama)
5. strcmp(dari kata string compare) Untuk membandingkanapakah dua buah variabel string mempunyai isi yang sama Bentuk Umum : status=strcmp(string1, string2) Contoh : sama=strcmp(nama,“imam”), jika status = 0 maka isi string sama, jika status = 1 maka isi string berbeda 6. atoi (dari kata ascii to integer) Untuk mengkonversikan string menjadi integer Contoh : bil=atoi(x) 7. atof (dari kata ascii to float) Untuk mengkonversikan string menjadi float Contoh : bil=atof(x) Catatan : Untuk mengetahui fungsi string yang lain , buka Help pada Visual C++ atau Borland C ++
PENGULANGAN/LOOPING for Bentuk Umum : for(inisialisasi;syarat perulangan;perubahan nilai pencacah) Pernyataan/perintah; for(inisialisasi;syarat perulangan;perubahan nilai pencacah) { Pernyataan/perintah; }
Pengulangan for tak terhingga { Pernyataan/perintah; }
Nested For Yaitu perulangan for yang berada dalam ruang lingkup for lainnya for(inisialisasi;syarat perulangan;perubahan nilai pencacah) { for(inisialisasi;syarat perulangan;perubahan nilai pencacah) { Pernyataan/perintah; }
cout<<“ (I=i, J=j”<<endl; } Contoh Main() { int i, j; For (i=1; i<=3, i++) { for (j=1;j<=4;j++) cout<<“ (I=i, J=j”<<endl; }
Hasil : (I=1, Y=1) (I=1, Y=2) (I=1, Y=3) (I=1, Y=4) (I=2, Y=1) (I=2, Y=2) (I=2, Y=3) (I=2, Y=4) (I=3, Y=1) (I=3, Y=2) (I=3, Y=3) (I=3, Y=4) (I=4, Y=1) (I=4, Y=2) (I=4, Y=3) (I=4, Y=4)
II. While Bentuk Umum : while(syarat) Pernyataan/perintah; while(syarat) { Pernyataan/perintah; }
III. do….while Bentuk Umum : do { Pernyataan/perintah; } while(syarat);
Nested While
III. Pernyataan break and continue break : untuk menghentikan loop dan melanjutkan ke perintah selanjutnya continue : mengemblikan proses yang sedang dilaksanakan ke awal loop lagi tanpa menjalankan sisa perintah dalam loop tersebut