1 / 54

Dasar Pemrograman Komputer

Dasar Pemrograman Komputer. Pengantar Bahasa C. Sutrisno Ismiarta Aknuranda Issa Arwani Adharul Muttaqin Teknik Informatika - UB. Bahasa Mesin. Setiap komputer memahami bahasa mesinnya sendiri Bahasa mesin adalah ‘bahasa natural’ dari tiap mesin Umumnya terdiri dari sederatan angka

toyah
Download Presentation

Dasar Pemrograman Komputer

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. Dasar Pemrograman Komputer Pengantar Bahasa C Sutrisno Ismiarta Aknuranda Issa Arwani Adharul Muttaqin Teknik Informatika - UB

  2. Bahasa Mesin • Setiap komputer memahami bahasa mesinnya sendiri • Bahasa mesin adalah ‘bahasa natural’ dari tiap mesin • Umumnya terdiri dari sederatan angka • Akan diterjemahkan menjadi bahasa biner, terdiri dari 1 dan 0 • Machine-dependent, sebuah bahasa mesin hanya bisa digunakan pada satu tipe komputer Pengantar Bahasa C - TIF UB 2010

  3. Bahasa Mesin • Jauh dari bahasa manusia • Contoh: +1300042774 +1400593419 +1200274027 Menambahkan gaji lembur ke gaji pokok dan menyimpan hasilnya ke gaji kotor Pengantar Bahasa C - TIF UB 2010

  4. Bahasa Assembly • Bahasa mesin terlalu sulit dan lama untuk memrogram • Ketika komputer semakin populer, muncul bahasa assembly • Bahasa assembly menggunakan kata-kata atau singkatan berbahasa Inggris • Kode dalam bahasa assembly dikonversi menjadi bahasa mesin melalui assembler Pengantar Bahasa C - TIF UB 2010

  5. Bahasa Assembly • Contoh: LOAD GAJIPOKOK ADD GAJILEMBUR STORE GAJIKOTOR Menambahkan gaji lembur ke gaji pokok dan menyimpan hasilnya ke gaji kotor Pengantar Bahasa C - TIF UB 2010

  6. Bahasa Tingkat Tinggi (High-level Languages) • Bahasa assembly masih butuh banyak instruksi untuk menyelesaikan suatu tugas sederhana • Bahasa level tinggi dikembangkan untuk mengatasi kesulitan ini • Bahasa level tinggi menggunakan instruksi dengan bahasa Inggris dan notasi umum matematika • Kode dalam bahasa level tinggi dengan compiler atau interpreter • C/C++ termasuk bahasa level tinggi Pengantar Bahasa C - TIF UB 2010

  7. Bahasa Tingkat Tinggi • Contoh: gajiKotor = gajiPokok + gajiLembur Menambahkan gaji lembur ke gaji pokok dan menyimpan hasilnya ke gaji kotor Pengantar Bahasa C - TIF UB 2010

  8. Sejarah C • Dirancang oleh Denis M. Ritchie & diimplementasikan pertama kali tahun 1972 di Bell Labs. • Pengembangan dari bahasa BCPL(Martin Richard, 1967) dan bahasa B (Ken Thompson, 1970) • Dibantu Brian W. Kernighan, Ritchie menulis buku The C Programming Language (1978). Dikenal dengan nama K&R C atau “C klasik” atau “traditional C” • Versi C yang lebih baru ANSI C, 1989, untuk menyediakan definisi yang tidak ambigu dan independen terhadap mesin. C89. (ANSI: American National Standards Institute) Pengantar Bahasa C - TIF UB 2010

  9. Mengapa C? • Bahasa tingkat tinggi yang mendekati bahasa tingkat rendah namun masih mudah dimengerti. • Dipakai mulai dari komputer mikro sampai superkomputer • Bahasa yang banyak digunakan dalam ilmu komputer untuk membuat sistem operasi dan program aplikasi. (e.g. berbagai varian UNIX (C), Windows (C/C++), berbagai varian Linux (C/C++), MySql (C++), etc) • Didukung oleh banyak pustaka (libraries) Pengantar Bahasa C - TIF UB 2010

  10. Pustaka Standar C(C Standard Library) • http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html • http://www.acm.uiuc.edu/webmonkeys/book/c_guide/ • http://www.csse.uwa.edu.au/programming/ansic-library.html • http://en.wikibooks.org/wiki/C_Programming/Standard_libraries Pengantar Bahasa C - TIF UB 2010

  11. Struktur program • Bahasa C adalah salah satu bahasa pemrograman yang terstruktur • Bahasa C juga bersifat prosedural, terdiri dari fungsi-fungsi • Setiap program C mempunyai satu fungsi dengan nama “main” (program utama) • Program akan dieksekusi dimulai dari pernyataan (statement) pertama pada fungsi “main” itu • Huruf besar dengan huruf kecil diartikan berbeda (case-sensitive) • Setiap pernyataan (statement) sederhana diakhiri dengan titik koma (semi-colon (;)) Pengantar Bahasa C - TIF UB 2010

  12. Struktur program Pengantar Bahasa C - TIF UB 2010

  13. Struktur program • Contoh “Salam Super” /*---------------------------------- Program Pertama ----------------------------------*/ //Program mencetak tulisan Salam Super #include <stdio.h> int main() { printf(“Salam Super!\n”); return 0; } Pengantar Bahasa C - TIF UB 2010

  14. Struktur program • Format penulisan fungsi main main() { statements; } main() { statements; return (0); } 1. 3. 2. 4. int main() { statements; return (0); } void main() { statements; } Pengantar Bahasa C - TIF UB 2010

  15. Struktur program • Sering dijumpai beberapa format penulisan fungsi main seperti contoh diatas, tetapi tidak semua compiler mengenalnya. • Contoh: • dengan menggunakan compiler Turbo C 2.0 (DOS) dan Microsoft Visual C++ (Windows), (2), (3) dan (4) => Success, tetapi (1) warning • dengan menggunakan compiler Dev-C (windows), dan gcc (linux) (1), (3) dan (4) => Success, tetapi (2) warning • return (0); menyatakan program exit secara normal. • Penulisan return0; sama artinya dengan return (0);

  16. Elemen-elemen dalam source code • Characters (karakter) • Identifiers (nama) • Keywords (kata kunci) • Data types (tipe data) • Variables (variabel) • Constants (symbolic and literal) (konstanta simbolik dan konstanta literal) Pengantar Bahasa C - TIF UB 2010

  17. Elemen-elemen dalam source code • Expressions (Ekspresi) • Statements(Pernyaatan) • Comments or non-extecutable statements (Komentar) • Functions (Fungsi) • Pre-processor commands/directives (Perintah/pengarah pre-processor) Pengantar Bahasa C - TIF UB 2010

  18. Characters • Program C ditulis menggunakan subset karakter ASCII yaitu: • Huruf besar A .. Z • Huruf kecil a .. z • Digit 0 .. 9 • Karakter khusus seperti ‘!’ , ‘&’, ‘+’, ‘\’, ‘_’ dan sebagainya. • ASCII: American Standards Committee for Information Interchange Pengantar Bahasa C - TIF UB 2010

  19. Pengantar Bahasa C - TIF UB 2010

  20. Extended ASCII Codes Pengantar Bahasa C - TIF UB 2010

  21. Identifiers • Namaberbagaielemen program sepertinamavariabel, fungsi, konstanta, 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.) • Contohidentifier : name, x1, _total, cubic • Contohidentifier yang salah: 1kali, int Pengantar Bahasa C - TIF UB 2010

  22. Keywords • Keywordsadalah kata-kata yang mempunyai arti khusus pada bahasa pemrograman komputer dan tidak dibolehkan dipakai untuk identifier lain. • Contoh: Pengantar Bahasa C - TIF UB 2010

  23. Keywords • Beberapa compiler akan memberikan warna yang berbeda untuk keyword, seperti pada Dev-C atau Visual C++, dibawah ini. Pada Visual C++ keyword dicetak dengan warna biru Pada Dev-C keyword dicetak BOLD Pengantar Bahasa C - TIF UB 2010

  24. Variables • Variabel (variable) : sesuatu yang memiliki alamat memori tertentu(di RAM) untuk menyimpan nilai data. • Setiap variabel memiliki nama/identifier, alamat, tipe, size (rentang nilai) dan data. • Nilai data atau isi variabel dapat diubah saat run time • Format deklarasi variabel: <tipe> <nama [, ...]>; <tipe> <nama = nilai_awal [, ...]>; • Contoh: int a, b, c, jumlah; float gaji, bonus; int jml_mhs = 20; Pengantar Bahasa C - TIF UB 2010

  25. Variables Pengantar Bahasa C - TIF UB 2010

  26. Variables • Deklarasi Variabel: • Variabel dapat dideklarasikan disetiap awal block statement. • Block statement disebut juga “compound statement” adalah statement-statement yang berada diantara { dan }. • Contoh deklarasi variabel: • int x; • int y; • int z; • atau bisa ditulis : • int x, y, z; • atau bisa juga ditulis : • int x; int y; int z; Pengantar Bahasa C - TIF UB 2010

  27. Data types • Pada dasarnya tipe data primitif (primitive data types) pada bahasa pemrograman C berjumlah 5: • Kemudiantipeprimitifinibertambahdenganadanya 4 modifiers. Pengantar Bahasa C - TIF UB 2010

  28. Data types • Empat modifiers: • signed • unsigned • long • short • Tipe data dalam bahasa C merupakan kombinasi antara tipe data primitif yang dasar dengan modifier di atas. • Contoh : signed char, unsigned int, long int, dll. Pengantar Bahasa C - TIF UB 2010

  29. Data types Contoh tipe data dan rentang nilai pada Turbo C dan Borland C++ untuk tipe data 16-bit Pengantar Bahasa C - TIF UB 2010

  30. Data types • Default-nya signed (bilangan bertanda), sehingga penulisan int sama artinya dgn signed int • Contoh : • int x; sama artinya dgn signed int x; • short int x; sama artinya dgn signed short int x; • Rentang Nilai (range) dari tipe data dalam bahasa C tergantung dari compiler dan sistem operasi. • Contoh : • Tipe integer pada Turbo C 2.0 (DOS), rentang nilainya 2 byte (-32768 s/d 32767) • Tipe integer pada Dev-C (Windows), rentang nilainya 4 byte (-2147483648 s/d 2147483647) • Borland C++ 5.02 menyediakan tipe integer untuk 2 byte dan 4 byte Pengantar Bahasa C - TIF UB 2010

  31. Data types • Mengapa tipe char rentang nilainya dari -128 s/d 127 ? • 1 Byte = 8-bit 00000000 s/d 01111111 (msb =0 untukbil positif) 10000000 s/d 11111111 (msb = 1 untukbil negatif) msb = most significant bit; bit yg paling kiri -128 -128 32 8 4 2 1 16 64 Jika dijumlahkan hasilnya = -128 Jika dijumlahkan hasilnya = -1 Pengantar Bahasa C - TIF UB 2010

  32. Data types Rentangnilaitipe data signed char Pengantar Bahasa C - TIF UB 2010

  33. Data types Rentangnilaitipe data unsigned char Pengantar Bahasa C - TIF UB 2010

  34. Data types • Contoh char c=127; int i =127; c=c+1; i = i +1; Berapa nilai cdan i ? Pengantar Bahasa C - TIF UB 2010

  35. Data types • Contoh char c=127; int i =127; c=c+1; i = i +1; Berapa nilai cdan i ? Jawaban : c bernilai -128 bukan 128 dan i bernilai 128 Pengantar Bahasa C - TIF UB 2010

  36. Data types • Keywordvoid disamping digunakan dalam fungsi yang tidak mengembalikan nilai, juga digunakan sebagai tipe data. • Tipe data void : adalah tipe data yang bisa diubah menjadi tipe apa saja (akan dibahas lebih lanjut pada saat membahas pointer) Pengantar Bahasa C - TIF UB 2010

  37. Constants • Konstanta adalah nilai yang tidak berubah selama proses dalam program • Konstanta bisa berupa konstanta literal atau berupa konstanta simbolik • Konstanta literal adalah nilai yang ditulis pada kode program. Contoh: panjang = 5; // 5 adalah konstanta literal printf(“x = %c”, ‘A’); // ‘A’ adalah konstanta literal Pengantar Bahasa C - TIF UB 2010

  38. Constants • Konstanta simbolik dibuat untuk memberi nama pada suatu nilai literal. • Konstanta simbolik bisa dibuat dengan 2 cara: • Dengan preprocessor directive #define. Contoh: #define UKURAN 25 • Dengan kata kunci const. Contoh: const int X = 50; Pengantar Bahasa C - TIF UB 2010

  39. Symbolic constants int main(){ const floatPi=3.14; Pi=3.1475; //Error return 0; } #define Pi 3.14 int main(){ Pi=3.1475;//Error return 0; } #define Pi 3.14 int main(){ float PHI=3.14; PHI = 3.1475; //OK Pi=3.1475; //Error return 0; }

  40. Literal constants Jenis-jenis konstanta literal: • Integer constants -5 • Floating-point constants 3.14 • Character constants 'C''1''$‘ • Escape sequence \n \t \'' • String constants ‘‘Universitas Brawijaya‘‘

  41. sizeof • sizeof adalah sebuah operator untuk mengetahui jumlah memori (byte) yang diperlukan oleh suatu tipe data pada bahasa C • Sintaknya : sizeof(expression) • Contoh : sizeof(int)//bernilai 4 pada Dev-C++ (Windows) sizeof(int)//bernilai 2 pada Turbo C versi 2.0 (DOS)

  42. Cast • Castadalah proses untuk mengkonversi tipe data pada bahasa C • Sintaksis: (type) • Contoh : int x; float fx = 3.134; x = (int)fx; Cast

  43. Suffix • Untuk konstanta literal bilangan floating point,bahasa C menyediakan suffix (akhiran) berikut: • F atau f untuk tipe data float • L atau l untuk tipe data long double • Tipedefault (jika tanpa suffix ) untuk konstanta literal bilangan floating point adalah double. • Contoh: • 3.14 => (double) • 3.14f => (float) • 3.14L => (long double)

  44. Suffix • Untuk konstanta literal bilangan integer,bahasa C menyediakan suffix (akhiran) berikut: • U atau u untuk tipe unsigned integer • L atau l untuk tipe long integer • UL atau ul atau LU atau lu untuk tipe bilangan unsigned long integer • Tipedefault (jika tanpa suffix) untuk konstanta literal bilangan integer adalah integer. • Contoh: • 174 => (integer) • 174u => (unsigned integer) • 174L => (long integer) • 174ul => (unsigned long integer)

  45. Suffix • Beberapacompiler(mis. pada Visual C++) akanmemberikanperingatan terhadap operasi “lintas tipe data” seperti berikut: float x; x = 3.14; warning : truncation from 'const double' to 'float’ • Cara menghindari peringatan: float x; x = (float)3.14;//menggunakancast atau x = 3.14f; //menggunakan suffix

  46. Suffix #include <stdio.h> #include <conio.h> int main() { char ch; printf("Sizeof floatingpointconstants:\n"); printf(" – with suffix f = %d\n",sizeof(3.14f)); printf(" - withoutsuffix = %d\n",sizeof(3.14)); printf(" - withsuffix L = %d\n",sizeof(3.14L)); ch=getch(); return 0; } Sizeof floating point constants : - with suffix f = 4 - without suffix = 8 - with suffix L = 12 Output :

  47. Comments • Menggunakan pasangan /* dan */ atau // • Digunakan agar program lebih mudah dibaca dan dimengerti • Diabaikan oleh compiler • Untuk komentar 1 (satu) baris cukup menggunakan tanda // diawal baris • Contoh comments dalam program C sederhana: /*---------------------------------- Program Pertama ----------------------------------*/ //Program mencetak tulisan Helloworld #include <stdio.h> void main() { printf(“Hello World \n”); } Pengantar Bahasa C - TIF UB 2010

  48. Pre-processor directives Jika di kompilasi dengan Dev-C++ program ini akan error, dgn Error Message: ‘printf’ undeclared. • Contoh: void main() { printf(”Hello World”); } #include adalah sebuah directive/arahan untuk memberitahu compiler bahwa function prototype untuk fungsi printf ada pada header file stdio.h #include <stdio.h> void main() { printf(”Hello World”); } Pengantar Bahasa C - TIF UB 2010

  49. Preprocessor directives • #include <stdio.h> • File stdio.h akan dicari mulai dari directory tempat header file tersebut di-install. Jika tidak ditemukan, file inidicari dicurrent / working directory. • Contoh, pada Turbo C 2.0, stdio.h diinstalasikan pada directory … \ INCLUDE sedangkan pada Dev-C++ di directory ...\Dev-Cpp\include

  50. Preprocessor directives • #include ”stdio.h” • File stdio.h akan dicari mulai dari current / working directory, dan jika tidak ditemukan akan dicari di directory tempat header file tersebut disimpan pada saat compiler-nya diinstalasi. • Directive #include umumnya ditulis di awal program

More Related