1 / 45

Pengantar Bahasa C

Pengantar Bahasa C. Pertemuan 0 2. Dasar Pemrograman Komputer [TKL-4002] 2010. Learning Outcomes. Pada akhir pertemuan , diharapkan mahasiswa mampu : Menjelaskan elemen dan struktur pemrograman C atau C++. Outline Materi. Pengantar Bahasa C Sejarah Bahasa C

maddy
Download Presentation

Pengantar Bahasa C

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PengantarBahasa C Pertemuan 02 Dasar Pemrograman Komputer [TKL-4002] 2010

  2. Learning Outcomes Padaakhirpertemuan, diharapkanmahasiswa mampu: • MenjelaskanelemendanstrukturpemrogramanC atau C++

  3. Outline Materi PengantarBahasa C • SejarahBahasa C • Karakter, Identifier, Keyword • Tipe Data, Konstanta, Variabel • Struktur Program danKomentar

  4. SejarahBahasa C Dirancangoleh Denis M. Ritchie tahun 1972 di Bell Labs. PengembangandaribahasaBCPL (Martin Richard, 1967) danbahasaB (Ken Thompson, 1970) Dibantu Brian W. Kernighan, Ritchie menulisbukuThe C Programming Language (1978). DikenaldengannamaK-R CatauC klasik. Versi C yang lebihbaruAnsi C 1989, iso C 99.

  5. Mengapa C? Flexibility : mendekati low level language namunmudahdimengerti. Portability : dipakaimulaidarikomputermikrosampaisuperkomputer Bahasa yang banyakdigunakandalamilmukomputeruntukmembuat O/S dan program aplikasi, dll. Didukungolehbanyakpustaka (libraries)

  6. Struktur Program Bahasa C adalahsalahsatubahasapemrograman yang terstruktur Bahasa C terdiridarifungsi-fungsi Tidakadaperbedaanantaraprosedurdenganfungsi Setiap program C mempunyaisatufungsidengannama “main” (program utama). Program akandieksekusidimulaidari statement pertamapadafungsi “main” tsb. Hurufbesardenganhurufkecildiartikanberbeda (case-sensitive). Setiap statement diakhiridengan semi-colon (titikkoma (;)).

  7. Struktur Program main() { statements; } main() { statements; return (0); } 1. 3. void main() { statements; } int main() { statements; return (0); } 2. 4. Format penulisanfungsi main

  8. Struktur Program • Seringdijumpaibeberapa format penulisanfungsi main seperticontohdiatas, tetapitidaksemua compiler mengenalnya. • Penulisanfungsi main yang standard seperticontoh No. 3 atau 4 diatas. • return (0), menyatakan program exit secara normal. • Fungsi main danjugafungsiyglainnyajikatidakdiberikantipemakadefaultnya integer (int). Padacontohdiatas No. 3 dan 4 artinyasama. • Contoh: • denganmenggunakan compiler Turbo C 2.0 (DOS) dan Microsoft Visual C++ (windows), (2), (3) dan (4) => Success, tetapi (1) warning • denganmenggunakan compiler Dev-C (windows), dangcc (linux) (1), (3) dan (4) => Success, tetapi (2) warning

  9. Struktur Program int main() { printf(”SelamatdatangdiFT-UB\n”); return (0); } JikadikompilasidenganDev-C++ program iniakan error, dgn Error Message: ‘printf’ undeclared. #include adalahsebuah directive/arahanuntukmemberitahu compiler bahwa function prototype untukfungsiprintfadapada header file stdio.h #include <stdio.h> int main() { printf(”SelamatdatangdiFT-UB\n”); return (0); } Contoh:

  10. Struktur Program • Penulisanreturn 0;samaartinyadenganreturn (0); • #include <stdio.h> • File stdio.hakandicarimulaidari directory tempat header file tersebutdi-install. Jikatdkadaakandilanjutkanmencarinyake current / working directory. • Contoh pd Turbo C 2.0, header file di install pada directory … \ INCLUDE sedangkan pada Dev-C++ tdp di directory ...\Dev-Cpp\include

  11. Struktur Program #include <stdio.h> int main() {printf(“Selamatdatang\n”); return (0); } #include <stdio.h> int main() { printf(“Selamatdatang\n”); return (0); } Sama • #include ”stdio.h” • File stdio.hakandicarimulaidari current / working directory, danjikatdkadaakandilanjutkanmencarinyake directory tempat header file tersebutdisimpanpadasaatmenginstall compiler-nya. • Directive#include umumnyaditulisdiawal program • Style penulisan (tergantungkesenangan programmer):

  12. Komentar /*---------------------------------- Program Pertama ----------------------------------*/ #include<stdio.h> void main() { printf(“Helloworld \n”); return (0); }//Program mencetaktulisanHelloworld Menggunakanpasangan/*dan*/ Digunakan agar program lebihmudahdibacadandimengerti Diabaikanolehcompiler Untukkomentar 1 (satu) bariscukupmenggunakantanda//diawalbaris Contoh program C sederhana:

  13. Escape Sequences • \a bell, alert, system beep • \b back space • \t horizontal tab • \n new line, line eed • \v vertical tab • \r carriage return • \’ single quote • \” double quote • \\ backslash • \xddnotasi hexadecimal • \dddnotasi octal

  14. Karakter • Program C ditulismenggunakansubsetkarakter ASCII yaitu: • Hurufbesar A .. Z • Hurufkecil a .. z • Digit 0 .. 9 • Karakterkhususseperti ‘!’ , ‘&’, ‘+’, ‘\’, ‘_’ dansebagainya. • ASCII = American Standards Committee for Information Interchange

  15. Karakter ASCII

  16. Identifier Namaberbagaielemen program sepertinamavariabel, fungsi, konstanta, keyword dsb Diawalidenganhurufataugarisbawah(underscore) _ dandiikutidenganhuruf, digit atau _ Hurufbesardianggapberbedadenganhurufkecil (case sensitive) Panjangmaksimum Identifier tergantungdari compiler sebagaicontoh Turbo C 2.0 (DOS), max 32 karakter Tidakbolehmenggunakankeyword(misalfor,while, dll.) Contoh identifier : name, x1, _total, cubic Contoh identifier yang salah: 1kali, int

  17. Keyword • Keywordsadalah kata-kata/identifier yang mempunyai arti khusus pada bahasa pemrograman komputer dan tidak dibolehkan dipakai untuk identifier lain. • Contoh Keyword

  18. Keyword Pada Visual C++ keyword dicetakdenganwarnabiru Pada Dev-C keyword dicetak BOLD Beberapa compiler akanmemberikanwarna yang berbedauntuk keyword, sepertipada dev-C atau Visual C++, dibawahini.

  19. Variabel • Variabel : Identifier yang memiliki alamat memori tertentu(di RAM) untukmenyimpan nilai data. • Setiapvariabelmemilikinama/identifier, alamat (L-Value), tipe, size(rentangnilai) dan data (R-Value). • Nilai dataatauisivariabeldapat diubah-ubahpadasaat Run time • Format deklarasivariabel: <tipe> <nama [, ...]>; <tipe> <nama= nilai_awal [, ...]>; • Contoh: int a, b, c, jumlah; float gaji, bonus; intjml_mhs = 20;

  20. Variabel

  21. Variabel • int x; • int y; • int z; • ataubisaditulis : • int x, y, z; • ataubisajugaditulis : • int x; int y; int z; • DeklarasiVariabel: • Variabeldptdideklarasikandisetiapawalblok statement. • Blok statement disebutjuga “compound statement” adalah statement-statement yang beradadiantara { dan }. • Contohdeklarasivariabel:

  22. Tipe Data Padadasarnyatipe data primitif padabahasapemrograman C ada 5, danditambah 4 tipe Modifier yaitu:

  23. Tipe Data • Empattipe Modifier adalahsbb : • signed • unsigned • long • short • Tipe data dalambahasa C merupakankombinasiantara Basic Data Types dengan Modifier. • Contoh : signed char, unsigned int, long int, dll.

  24. Tipe Data dIBahasa C CONTOH : TIPE DATA DAN RENTANG NILAI PADA TURBO C 2.0 (DOS)

  25. Tipe Data dalamBahasa C • Defaultnyasigned (bilanganbertanda), sehinggapenulisanintsamaartinyadgnsigned int • Contoh : int x; samaartinyadgnsigned intx; • short int x; samaartinyadgnsigned short intx; • RentangNilai (range) daritipe data padabahasa C tergantungdari compiler danSistemOperasi. • Contoh : • Tipe integer pada Turbo C 2.0 (DOS), rentangnilainya 2 byte (-32768 s/d 32767) • Tipe integer pada Dev-C (Windows), rentangnilainya 4 byte (-2147483648 s/d 2147483647)

  26. Tipe Data dalamBahasa C MSB = Bit yg paling kiri -128 -128 32 8 4 2 1 16 64 Jikadijumlahkanhasilnya = -128 Jikadijumlahkanhasilnya = -1 • Mengapatipe char rentangnilainyadari -128 s/d 127 ? • 1 Byte = 8-bit 00000000 s/d 01111111 (MSB=>0 = BilPositip) 10000000 s/d 11111111 (MSB=>1 = BilNegatip)

  27. Tipe Data dalamBahasa C RentangNilaiTipe data signed char

  28. Tipe Data dalamBahasa C RentangNilaiTipe data unsigned char

  29. Tipe Data dalamBahasa C • Contoh char ch=127; ch=ch+1; Berapanilaich ? Jawaban : -128 bukan 128 • Contoh intch=127; ch=ch+1; Berapanilaich ? Jawaban : 128

  30. Tipe Data dalamBahasa C Keyword void disampingdigunakandalamfungsiuntuktidakmengembalikannilai, jugadigunakansebagaitipe data. Tipe data void : adalahtipe data yang bisadirubahmenjaditipeapasaja(akandibahaslebihlanjutpadasaatmembahas pointer)

  31. Cast Cast • Cast : untukmengkonversitipe data padabahasa C • Sintak : (type) • Contoh : intx; float f = 3.134; x = (int) f;

  32. Symbolic Constant • Symbolic Constant adalah Identifier yang hanyamemilikinilai (R-Value), dannilai-nyatidakbisadirubah-rubahpadasaat run time. • Symbolic Constant tidakmemilikialamat (L-Value) • Padabahasa C deklarasi symbolic constant tidakmembutuhkanalokasimemori • Untukmendeklarasikan symbolic constant padabahasa C bisadilakukandengan pre-processor directive #defineataudengan keyword const. • Contoh: const float Pi=3.14; #define Pi 3.14

  33. Symbolic Constant int main() { const float Pi=3.14; Pi=3.1475; //Error return 0; } #define Pi 3.14 int main() { float PHI=3.14; PHI = 3.1475; //OK (variable) Pi=3.1475; //Error return 0; } #define Pi 3.14 int main() { Pi=3.1475; //Error return 0; }

  34. Konstanta Konstanta / symbolic constant tidak memiliki alamat (hanya nilai) dan nilainya tdk bisa dirubah saat run time. Jenis-jenis Nilai konstanta: Integer constant -5 Floating-point constant 3.14 Character constant 'C''1''$' Escape sequence \n \t \'' String constant '‘TIF FT-UB'' • Symbolic constant  #define PHI 3.14  const float PHI=3.14; 'H' adalah sebuah nilai character constant  ''H''adalah sebuah nilai string constant  1 adalahsebuah nilai integer constant  '1' adalah sebuah nilai character constant  const float Pi= 3.1415926; Pi adalahsebuah symbolic constant

  35. Contoh Program /* Program Tambah */ /*komentar */ intx,y,z; /*DeklarasiVariabel global*/ int main() { /*Program utamamulai*/ x = 20; /*Statement 1*/ y = 30; /*Statement 2*/ z = x + y; /*Statement 3*/ return 0; /*Statmenet 4*/ } /*Program utamaselesai*/ • Penambahanduabuahbilangan Data telahberadadimemori (variabel), hasilpenjumlahandisimpandimemori (variabel).

  36. Contoh Program /*---------------------------------- Program Luas_Lingkaran ----------------------------------*/ #include <stdio.h> const float Pi = 3.14; /*DeklarasiKonstanta*/ int main() /*Program utamamulai*/ { float jejari; /*Deklarasi local Variabel*/ float luas; scanf(“%f”,&jejari); /*Masukkandari keyboard*/ luas = Pi * jejari * jejari; printf(“Luas = %5.2f”, luas); /*Mencetakkelayar*/ return (0); } /*Program utamaselesai*/ • Program menghitungluaslingkaran Data jejaridibacadari keyboard, kemudianhasilperhitunganditayangkandilayar monitor.

  37. Sizeof • sizeofadalahsebuah operator untukmengetahuijumlahmemori (byte) yang diperlukanolehsuatutipe data padabahasa C • Sintaknya :sizeofexpression • Contoh : sizeof(int) = 4 => pada Dev-V (Windows) sizeof(int) = 2 => pada Turbo C versi 2.0 (DOS)

  38. Suffix • Bahasa C menyediakan Suffix (akhiran) untukbilangan floating point konstansbb: • F atau f untuktipe float • L atau l untuktipe long double • Default tipenya double • Contoh: • 3.14 => (double) • 3.14f => (float) • 3.14L => (long double)

  39. Suffix • Bahasa C menyediakan Suffix (akhiran) untukbilangan integer konstansbb: • U atau u untuktipe unsigned integer • L atau l untuktipe long integer • UL atauulatau LU atauluuntuktipebilangan unsigned long integer • Default tipenya integer • Contoh: • 174 => (integer) • 174u => (unsigned integer) • 174L => (long integer) • 174ul => (unsigned long integer)

  40. Suffix • Beberapa compiler akanmemberikan warning karenaperbedaantipe data seperti compiler pada Visual C++ sbb: • Contoh: float x; x = 3.14; warning : truncation from 'const double' to 'float’ • Cara mengatasisbb: float x; x = (float)3.14; //menggunakan cast atau x = 3.14f; //menggunakan suffix

  41. Suffix Sizeof Floating Point Constan : - dgn suffix f = 4 - tanpa suffix = 8 - dgn suffix L = 12 Output : #include <stdio.h> #include <conio.h> int main() { char ch; printf("SizeofFloating Point Constan :\n"); printf(" - dgn suffix f = %d\n",sizeof(3.14f)); printf(" - tanpa suffix = %d\n",sizeof(3.14)); printf(" - dgn suffix L = %d\n",sizeof(3.14L)); ch=getch(); return 0; }

  42. Latihan 1.Apakah yang dimaksuddenganfungsi library dalambahasapemrogramanC ? 2. Jelaskanapa yang dimaksuddengan identifier padabahasapemrograman C 3. Berapakah data terbesar yang bisaditampungolehvariabel x yang bertipe integer denganukuran 20-bit ? 4. Sebutkantipe data (bolehlebihdarisatu) yang tepatuntukmengolah data umur ! 5. Sebutkantipe data yang tepatuntukmenampung data NimMahasiswa ! 6. Sebutkantipe data yang tepatuntukmenampung data saldorekening !

  43. Latihan • Kapansebaiknyamenggunakan directive: • #include <header.h> atau • #include ”header.h” • #include ”header.h” • Jikatipeintegerukurannyahanya 3 byte, berapakahrentangnilainya (range) ? • Jikatipeunsigned integer ukurannyahanya 3 byte, berapakahrentangnilainya (range) ? • ApakahbedaVariabeldenganKonstanta ? • Jika x variabelbertipe integer danukurannya 2 byte, jika x=32767 makaberapakahnilai x jikanilai x ditambah 1 ?

  44. Latihan • Diketahuibilanganbiner 10-bit sbb: • 1010110011 • Jikabilanganbinertersebutadalahbilangan signed berapanilaidesimalnya ? • Jikabilanganbinertersebutadalahbilangan unsigned berapanilaidesimalnya • Jelaskantentangsistembilangan • Desimal • Biner • Oktal • Heksadesimal • Jelaskanbagaimanacaramengkonversisistembilangandesimalkebiner, oktaldanHeksadesimal, dansebaliknya

  45. Latihan • Jelaskantentangsistembilangan two’s complement, one’s complement. • #define PHI 3.142857 Apakeuntungankitamenggunakankonstanta PHI sptdiatas? Mengapatdklangsungsajamenggunakanangka 3.142857

More Related