Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Dasar Pemrograman Komputer

Presentasi serupa


Presentasi berjudul: "Dasar Pemrograman Komputer"— Transcript presentasi:

1 Dasar Pemrograman Komputer
Pengantar Bahasa C Catur Supriyanto, S.Kom, M.CS

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

11 Struktur program Pengantar Bahasa C - TIF UB 2010

12 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

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

14 Pola Deklarasi Fungsi tipe_data nama_fungsi (parameter){ //letakkan variabel lokal di sini //letakkan pernyataan C di sini }

15 Fungsi main() Merupakan fungsi utama yang harus ada pada program C.
Fungsi ini menjadi titik awal dan titik akhir eksekusi program. Biasanya ditempatkan di paling atas kode, untuk memudahkan penelusuran.

16 Fungsi main() -- lanjutan
Sintaks : void main () { /* tubuh fungsi */ } void menunjukkan bahwa fungsi main tidak mengembalikan nilai apapun

17 Fungsi printf() Merupakan fungsi standar C untuk menampilkan suatu keluaran pada layar/monitor Bentuk umum : printf(“string keluaran”, daftar argumen)

18 Fungsi printf() -- lanjutan
String keluaran dapat berupa : %d untuk menampilkan bil. bulat(integer) %f untuk menampilkan bil.pecahan %c untuk menampilkan karakter %s untuk menampilkan string/teks Contoh : #include <stdio.h> void main(){ printf(“Hello World”); }

19 Fungsi printf() -- lanjutan
Menampilkan tulisan “Hello World” printf(“Hello World”); Penggunaan tanda ‘\’ : \” menampilkan karakter petik ganda \\ menampilkan karakter backslash \t menyatakan karakter tab \n pindah kursor ke baris baru \a membunyikan bel sistem

20 Komentar pada Program Digunakan untuk keperluan dokumentasi
Diawali dengan tanda “/*” dan diakhiri dengan tanda “*/” Untuk komentar satu baris : “//”

21 Contoh Komentar //penggunaan directive #include <stdio.h> void main(){ /*mencetak ke layar*/ printf(“Hello World”); }

22 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 return 0; sama artinya dengan return (0);

23 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

24 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

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

26 Pengantar Bahasa C - TIF UB 2010

27 Extended ASCII Codes Pengantar Bahasa C - TIF UB 2010

28 Identifiers Nama berbagai elemen program seperti nama variabel, fungsi, konstanta, dsb Diawali dengan huruf atau garis bawah (underscore) _ dan diikuti dengan huruf, digit atau _ Huruf besar dianggap berbeda dengan huruf kecil (case sensitive) Panjang maksimum Identifier tergantung dari compiler sebagai contoh Turbo C 2.0 (DOS), max 32 karakter Tidak boleh menggunakan keyword (misal for, while, dll.) Contoh identifier : name, x1, _total, cubic Contoh identifier yang salah: 1kali, int Pengantar Bahasa C - TIF UB 2010

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

30 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 Pengantar Bahasa C - TIF UB 2010 Pada Dev-C keyword dicetak BOLD

31 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

32 Variables Pengantar Bahasa C - TIF UB 2010

33 Variables Deklarasi Variabel:
Variabel dapat dideklarasikan di setiap 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

34 Data types Pada dasarnya tipe data primitif (primitive data types) pada bahasa pemrograman C berjumlah 5: Tipe Data Primitif/Bawaan Keyword Character Integer Floating point Double floating point Void char int float double void Pengantar Bahasa C - TIF UB 2010 Kemudian tipe primitif ini bertambah dengan adanya 4 modifiers.

35 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

36 Data types Contoh tipe data dan rentang nilai pada Turbo C dan Borland C++ untuk tipe data 16-bit Tipe Data Penulisan Memori Rentang Nilai character unsigned char char 1 Byte 0 s/d 255 -128 s/d 127 integer unsigned int int short int unsigned long long 2 Byte 4 Byte 0 s/d 65535 s/d 32767 0 s/d s/d float double long double 8 Byte 16 Byte 3.4E-38 s/d 3.4E+38 1.7E-308 s/d 1.7E+308 3.4E-4932 s/d 1.1E+4932 Pengantar Bahasa C - TIF UB 2010

37 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. Tipe integer pada Turbo C 2.0 (DOS), rentang nilainya 2 byte ( s/d ) Tipe integer pada Dev-C (Windows), rentang nilainya 4 byte ( s/d ) Borland C menyediakan tipe integer untuk 2 byte dan 4 byte Pengantar Bahasa C - TIF UB 2010

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

39 Data types Rentang nilai tipe data signed char
Pengantar Bahasa C - TIF UB 2010

40 Data types Rentang nilai tipe data unsigned char
Pengantar Bahasa C - TIF UB 2010

41 Data types Contoh char c = 127; int i = 127; c = c + 1; i = i + 1;
Berapa nilai c dan i ? Pengantar Bahasa C - TIF UB 2010

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

43 Data types Keyword void 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

44 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

45 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

46 Symbolic constants int main(){
const float Pi=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 = ; //OK Pi=3.1475; //Error return 0; }

47 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‘‘

48 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)

49 Cast Cast adalah proses untuk mengkonversi tipe data pada bahasa C
Sintaksis: (type) Contoh : int x; float fx = 3.134; x = (int)fx; Cast

50 Suffix F atau f untuk tipe data float 3.14 => (double)
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 Tipe default (jika tanpa suffix ) untuk konstanta literal bilangan floating point adalah double. Contoh: => (double) 3.14f => (float) 3.14L => (long double)

51 Suffix U atau u untuk tipe unsigned integer Contoh:
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 Tipe default (jika tanpa suffix) untuk konstanta literal bilangan integer adalah integer. Contoh: => (integer) 174u => (unsigned integer) 174L => (long integer) 174ul => (unsigned long integer)

52 Suffix Beberapa compiler (mis. pada Visual C++) akan memberikan peringatan 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;//menggunakan cast atau x = 3.14f; //menggunakan suffix

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

54 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: Pengantar Bahasa C - TIF UB 2010 /* Program Pertama */ //Program mencetak tulisan Helloworld #include <stdio.h> void main() { printf(“Hello World \n”); }

55 Pre-processor directives
Contoh: Jika di kompilasi dengan Dev-C++ program ini akan error, dgn Error Message: ‘printf’ undeclared. void main() { printf(”Hello World”); } Pengantar Bahasa C - TIF UB 2010 #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”); }

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

57 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

58 Program Sederhana I [1] Contoh program untuk menampilkan sebaris teks Selamat menggunakan bahasa C! pada layar: /* Program pertama dalam bahasa C */ #include <stdio.h> /* fungsi main mulai eksekusi program */ int main( void ) { printf( “Selamat menggunakan bahasa C!\n" ); return 0; /* indikasi program berakhir dengan sukses */ } /* akhir fungsi main */ PEDATI - Fasilkom UI 2005 Program Output Selamat menggunakan bahasa C!

59 Program sederhana I [2] komentar /* Program pertama dalam bahasa C */
#include <stdio.h> /* fungsi main mulai eksekusi program */ int main( void ) { printf( “Selamat menggunakan bahasa C!\n" ); return 0; /* indikasi program berakhir dengan sukses */ } /* akhir fungsi main */ preprocessor main function statement function body PEDATI - Fasilkom UI 2005

60 Program sederhana II [1]
Modifikasi 1: mencetak 1 baris dengan 2 buah perintah printf PEDATI - Fasilkom UI 2005 Program Output Welcome to C!

61 Program sederhana II [2]
Modifikasi 2: mencetak banyak baris dengan sebuah perintah printf PEDATI - Fasilkom UI 2005 Welcome to C! Program Output

62 Program sederhana III [1]
Membaca 2 buah bilangan bulat dari keyboard dan menampilkan hasil penjumlahannya PEDATI - Fasilkom UI 2005

63 Program Output PEDATI - Fasilkom UI 2005
Enter first integer 45 Enter second integer 72 Sum is 117 Program Output

64 Program sederhana III [2]
Baris ke-1 hingga ke-7 serupa dengan program I int integer1, integer2, sum; Pendefinisian variable-variabel Variabel: lokasi di memori tempat sebuah nilai disimpan int berarti variabel dapat menyimpan bilangan bulat (-1, 3, 0, 47) Nama-nama variabel (identifier) integer1, integer2, sum Identifier: mengandung huruf,angka (tidak boleh dimulai dengan angka) dan underscores( _ ) Case sensitive (huruf besar dan kecil dibedakan) Deklarasi variabel harus muncul sebelum eksekusi statement yang menggunakannya Jika eksekusi statement mengacu kepada variabel yang belum dideklarasikan maka akan menghasilkan syntax (compiler) error PEDATI - Fasilkom UI 2005

65 Program sederhana III [3]
scanf( "%d", &integer1 ); Mengambil sebuah nilai dari user scanf menggunakan standar input (biasanya keyboard) scanf statement ini memiliki dua buah argumen %d - menunjukkan data yang diambil adalah bilangan bulat desimal &integer1 – berlokasi di memori untuk menyimpan nilai variabel tsb Tanda & dapat membingungkan di awal – untuk saat ini sertakan pada nama variabel pada statement scanf Ketika program dieksekusi user merespon statement scanf dengan mengetik sebuah bilangan kemudian menekan tombol enter (return) = (assignment operator) Assigns (memberi) sebuah nilai kepada sebuah variabel Merupakan sebuah operator biner (memiliki dua buah operand) sum = variable1 + variable2; sum memperoleh hasil dari variable1 + variable2; Variabel penerima nilai berada di sebelah kiri PEDATI - Fasilkom UI 2005

66 Program sederhana III [4]
printf( "Sum is %d\n", sum ); Serupa dengan pada scanf %d berarti bilangan bulat desimal akan ditampilkan/dicetak Nilai variabel sum menentukan bilangan bulat yang akan ditampilkan/dicetak Perhitungan dapat langsung dilakukan dalam statement printf printf( "Sum is %d\n", integer1 + integer2 ); PEDATI - Fasilkom UI 2005


Download ppt "Dasar Pemrograman Komputer"

Presentasi serupa


Iklan oleh Google