Pertemuan 03-04 Pengantar Bahasa C Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.

Презентация:



Advertisements
Похожие презентации
Pertemuan Operasi Input Output Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
Advertisements

Pertemuan Operand dan Operator Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
by : R. Heroe Siswojo KeywordJuml MemoriJangkauan Nilai Integer Short Int atau Short Long Int atau Long 16 bit 32 bit s/d
Pertemuan Pointer dan Array Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
Passing Parameters Ada beberapa detail yang seharusnya kita perhatikan dalam passing parameter kepada API function ByVal ataupun ByRef tidak masalah,
Pertemuan Algoritma dan Pemrograman Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
Pertemuan Fungsi Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
Algoritma rekursif dan relasi rekurensi. Deskripsi Materi ini membahas tentang algoritma rekursif beserta relasi rekurensnya.
Pertemuan 9-10 Operasi Looping (Pengulangan) Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
Nonot Wisnu Karyanto. UTS Konsep Dasar Berkas Perangkat Keras dan Parameternya Bloking dan Buffering Penyimpanan Data Organisasi File File Sequensial.
Berbagai Jenis Lisensi dan Berkembangnya Perangkat Lunak Bebas.
PROGRAM PENGOLAH ANGKA (MICROSOFT EXCEL). PROGRAM PENGOLAH ANGKA MICROSOFT EXCEL Program pengolah angka yang bernaung di bawah sistem operasi Windows.
Pertemuan Operasi Seleksi Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6 1.
ORGANISASI BERKAS. Organisasi Berkas ialah suatu teknik atau cara untuk menyatakan dan menyimpan record-record dalam sebuah berkas / file Ada 4 teknik.
BAB V DATA DEFINITION LANGUAGE 1.Membuat Tabel Sederhana contoh script : DROP TABLE T CUSTOMER; DROP TABLE T PESANAN; CREATE TABLE T CUSTOMER ( ID CUSTOMER.
Requirement Conclusion. Definisi Requirement adalah gambaran dari layanan (services) dan batasan bagi sistem yang akan dibangun. Fungsi Menjadi dasar.
Sistem Operasi Konsep Dasar Sistem Operasi Prepared By Team Teaching Presented by WIN & TGW.
SISTEMATIKA PENULISAN TUGAS PP KOTA DALAM FORMAT PENULISAN ILMIAH (PKMI) Kiat Menyusun Artikel.
Architectural Design. FASE PENGEMBANGAN DAN DESAIN SOFTWARE Design Code Generation (manual or automatic) Testing Setiap langkah melakukan transformasi.
Pertemuan 1 – Pengantar Organisasi Komputer Erwin Christiant S.Kom - Arsitektur dan Organisasi Komputer.
Транксрипт:

Pertemuan Pengantar Bahasa C Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1

Learning Outcomes Pada akhir pertemuan ini, diharapkan peserta didik akan mampu : Menjelaskan elemen dan struktur pemrograman C (C2) 2

Outline Materi Pengantar Bahasa C Sejarah Bahasa C Karakter, Identifier, Keyword Tipe Data, Konstanta, Variabel Struktur Program dan Komentar 3

Sejarah Bahasa C Dirancang oleh Denis M. Ritchie 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. Versi C yang lebih baru Ansi C 1989, iso C 99. 4

Mengapa C? Flexibility : mendekati low level language namun mudah dimengerti. Portability : dipakai mulai dari komputer mikro sampai superkomputer Bahasa yang banyak digunakan dalam ilmu komputer untuk membuat O/S dan program aplikasi, dll. Didukung oleh banyak pustaka (libraries) 5

Struktur Program Bahasa C adalah salah satu bahasa pemrograman yang terstruktur Bahasa C terdiri dari fungsi-fungsi Tidak ada perbedaan antara prosedur dengan fungsi Setiap program C mempunyai satu fungsi dengan nama main (program utama). Program akan dieksekusi dimulai dari statement pertama pada fungsi main tsb. Huruf besar dengan huruf kecil diartikan berbeda (case-sensitive). Setiap statement diakhiri dengan semi-colon (titik koma (;)). 6

Struktur Program Format penulisan fungsi main 7 main() { statements; } main() { statements; } void main() { statements; } void main() { statements; } main() { statements; return (0); } main() { statements; return (0); } int main() { statements; return (0); } int main() { statements; return (0); }

Struktur Program Sering dijumpai beberapa format penulisan fungsi main seperti contoh diatas, tetapi tidak semua compiler mengenalnya. Penulisan fungsi main yang standard seperti contoh No. 3 atau 4 diatas. return (0), menyatakan program exit secara normal. Fungsi main dan juga fungsi yg lainnya jika tidak diberikan tipe maka defaultnya integer (int). Pada contoh diatas No. 3 dan 4 artinya sama. 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 8

Struktur Program Contoh: 9 int main () { printf(Selamat datang di Univ. BINUS\n); return 0; } int main () { printf(Selamat datang di Univ. BINUS\n); return 0; } Jika di kompilasi dengan Turbo C 2.0 program ini akan error, dgn Error Message: Function printf should have a function prototype. #include int main () { printf(Selamat datang di Univ. BINUS\n); return (0); } #include int main () { printf(Selamat datang di Univ. BINUS\n); return (0); } #include adalah sebuah directive/arahan untuk memberitahu compiler bahwa function prototype untuk fungsi printf ada pada header file stdio.h

Struktur Program Penulisan return 0 ; sama artinya dengan return (0); #include File stdio.h akan dicari mulai dari directory tempat header file tersebut di- install. Jika tdk ada akan dilanjutkan mencarinya ke current / working directory. Contoh pd Turbo C 2.0, header file di install pada directory … \ INCLUDE 10

Struktur Program #include stdio.h File stdio.h akan dicari mulai dari current / working directory, dan jika tdk ada akan dilanjutkan mencarinya ke directory tempat header file tersebut disimpan pada saat menginstall compiler- nya. Directive #include umumnya ditulis di awal program Style penulisan (tergantung kesenangan programmer) : 11 #include int main () { printf(Selamat datang\n); return (0); } #include int main () { printf(Selamat datang\n); return (0); } #include int main () { printf(Selamat datang\n); return (0); } #include int main () { printf(Selamat datang\n); return (0); } Sama

contoh penulisan Program Bahasa C yang baik dan yang kurang baik : #include stdio.h void main() { printf(Bahasa C\n); } 12 #include stdio.h void main() { printf(Bahasa C); } #include stdio.h void main() { printf(Bahasa C); } Kedua Program di atas bila dijalankan akan menghasilkan hasil yang sama berupa tulisan Bahasa C di layar, namun dari segi penulisannya program yang pertama tampaknya lebih mudah dibaca dan lebih rapih dibanding dengan program yang kedua.

Komentar Menggunakan pasangan /* dan */ Digunakan agar program lebih mudah dibaca dan dimengerti Diabaikan oleh compiler Untuk komentar 1 baris cukup menggunakan tanda // diawal baris Contoh program C sederhana : 13 /* Program Pertama */ #include void main() { printf(Halo, Binusian\n); } //Program mencetak tulisan Halo, Binusian /* Program Pertama */ #include void main() { printf(Halo, Binusian\n); } //Program mencetak tulisan Halo, Binusian

Escape Sequences \abell, alert, system beep \b back space \thorizontal tab \nnew line, line feed \v vertical tab \rcarriage return \single quote \double quote \\backslash \xdd notasi hexadecimal \ddd notasi octal 14

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

Karakter ASCII 16

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

Keyword Keywords are words that have special meaning to the C compiler. Contoh Keyword 18

Keyword Beberapa compiler akan memberikan warna yang berbeda untuk keyword, sperti pada dev-C atau Visual C++, dibawah ini. 19 Pada Dev-C keyword dicetak BOLD Pada Visual C++ keyword dicetak dengan warna biru

Variabel Variabel : Identifier yang digunakan untuk menampung data/informasi Setiap variabel memiliki Nama, alamat (L-Value), tipe, size (rentang nilai) dan data (R-Value). Data atau isi variabel bisa dirubah-ubah pada saat Run time Format deklarasi variabel: ; = ; Contoh: int a, b, c, jumlah; float gaji, bonus; int jml_mhs = 20; 20

Variabel 21

Variabel Deklarasi Variabel: Variabel dpt dideklarasikan disetiap awal blok statement. Blok statement disebut juga compound statement adalah statement-statement yang berada diantara { dan } Contoh deklarasi variabel: 22 int x; int y; int z; atau bisa ditulis : int x, y, z; atau bisa juga ditulis : int x; int y; int z; int x; int y; int z; atau bisa ditulis : int x, y, z; atau bisa juga ditulis : int x; int y; int z;

Tipe Data Pada dasarnya tipe data pada bahasa C ada 5, dan ditambah 4 tipe Modifier yaitu : Basic Data TypesKeyword 1.Character 2.Integer 3.Floating point 4.Double floating point 5.Void 1.char 2.int 3.float 4.double 5.void 23

Tipe Data Empat tipe Modifier adalah sbb : signed unsigned long short Tipe data dalam bahasa C merupakan kombinasi antara Basic Data Types dengan Modifier. Contoh : signed char, unsigned int, long int, dll. 24

Tipe Data dalam Bahasa C Tipe DataPenulisanMemoriRentang Nilai characterunsigned char char 1 Byte 0 s/d s/d 127 integerunsigned int int short int unsigned long long 2 Byte 1 Byte 4 Byte 0 s/d s/d s/d s/d s/d float double long double 4 Byte 8 Byte 16 Byte 3.4E-38 s/d 3.4E E-308 s/d 1.7E E-4932 s/d 1.1E CONTOH : TIPE DATA DAN RENTANG NILAI PADA TURBO C 2.0 (DOS)

Tipe Data dalam Bahasa C Defaultnya 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 pada bahasa C tergantung dari compiler dan Sistem Operasi. Contoh : Tipe integer pada Turbo C 2.0 (DOS), rentang nilainya 2 byte ( s/d 32767) Tipe integer pada Dev-C (Windows), rentang nilainya 4 byte ( s/d ) 26

Tipe Data dalam Bahasa C 27 Rentang Nilai Tipe data signed char

Tipe Data dalam Bahasa C 28 Rentang Nilai Tipe data unsigned char

Tipe Data dalam Bahasa C Contoh char ch=127; ch=ch+1; Berapa nilai ch ? Jawaban : -128 bukan 128 Contoh int ch=127; ch=ch+1; Berapa nilai ch ? Jawaban :

Tipe Data dalam Bahasa C Keyword void disamping digunakan dalam fungsi untuk tidak mengembalikan nilai, juga digunakan sebagai tipe data. Tipe data void : adalah tipe data yang bisa dirubah menjadi tipe apa saja (akan dibahas lebih lanjut pada saat membahas pointer) 30

Latihan #include stdio.h #include conio.h void main() { int x; float y; char z; double w; clrscr(); /* untuk membersihkan layar */ x = 10; /* variable x diisi dengan 10 */ y = 9.45; /* variable y diisi dengan 9.45 */ z = C; /* variable z diisi dengan karakter C */ w = 3.45E+20; /* variable w diisi dengan 3.45E+20 */ printf(Nilai dari x adalah : %i\n, x); /* Menampilkan isi variable x */ printf(Nilai dari y adalah : %f\n, y); /* Menampilkan isi variable y */ printf(Nilai dari z adalah : %c\n, z); /* Menampilkan isi variable z */ printf(Nilai dari w adalah : %lf\n, w); /* Menampilkan isi variable w */ getch(); } 31

Cast Cast : untuk mengkonversi tipe data pada bahasa C Sintak : (type) Contoh : int x; float f = 3.134; x = (int) f; 32 Cast

Symbolic Constant Symbolic Constant adalah Identifier yang hanya memiliki nilai (R-Value), dan nilai-nya tidak bisa dirubah-rubah pada saat run time. Symbolic Constant tidak memiliki alamat (L- Value) Pada bahasa C deklarasi symbolic constant tidak membutuhkan alokasi memori Untuk mendeklarasikan symbolic constant pada bahasa C bisa dilakukan dengan pre- processor directive #define atau dengan keyword const. Contoh: const float Pi=3.14; #define Pi

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

Konstanta Konstanta / symbolic constant tidak memiliki alamat (hanya nilai) dan nilainya tdk bisa dirubah saat run time. Jenis-jenis konstanta: Integer constant -5 Floating-point constant 3.14 Character constant 'C' '1' '$' Escape sequence \n \t \'' String constant ''BiNus'' †Symbolic constant #define PHI 3.14 const float PHI=3.14; 'H' adalah sebuah character constant ''H'' adalah sebuah string constant 1adalah sebuah integer constant '1'adalah sebuah character constant const float Pi= ; Pi adalah sebuah symbolic constant 35

Contoh Program Penambahan dua buah bilangan Data telah berada di memori (variabel), hasil penjumlahan disimpan di memori (variabel). 36 /* Program Tambah */ /*komentar */ int x,y,z;/*Deklarasi Variabel global*/ int main() {/*Program utama mulai*/ x = 20;/*Statement 1*/ y = 30;/*Statement 2*/ z = x + y;/*Statement 3*/ return 0;/*Statmenet 4*/ }/*Program utama selesai*/ /* Program Tambah */ /*komentar */ int x,y,z;/*Deklarasi Variabel global*/ int main() {/*Program utama mulai*/ x = 20;/*Statement 1*/ y = 30;/*Statement 2*/ z = x + y;/*Statement 3*/ return 0;/*Statmenet 4*/ }/*Program utama selesai*/

Contoh Program Program menghitung luas lingkaran Data jejari dibaca dari keyboard, kemudian hasil perhitungan ditayangkan di layar monitor. 37 /* Program Luas_Lingkaran */ #include const float Pi = 3.14; /*Deklarasi Konstanta*/ int main() /*Program utama mulai*/ { float jejari; /*Deklarasi local Variabel*/ float luas; scanf(%f,&jejari); /*Masukkan dari keyboard*/ luas = Pi * jejari * jejari; printf(Luas = %5.2f, luas); /*Mencetak ke layar*/ return (0); }/*Program utama selesai*/ /* Program Luas_Lingkaran */ #include const float Pi = 3.14; /*Deklarasi Konstanta*/ int main() /*Program utama mulai*/ { float jejari; /*Deklarasi local Variabel*/ float luas; scanf(%f,&jejari); /*Masukkan dari keyboard*/ luas = Pi * jejari * jejari; printf(Luas = %5.2f, luas); /*Mencetak ke layar*/ return (0); }/*Program utama selesai*/

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) = 4 => pada Dev-V (Windows) sizeof(int) = 2 => pada Turbo C versi 2.0 (DOS) 38

Suffix Bahasa C menyediakan Suffix (akhiran) untuk bilangan floating point konstan sbb: F atau f untuk tipe float L atau l untuk tipe long double Default tipenya double Contoh: 3.14 => (double) 3.14f => (float) 3.14L => (long double) 39

Suffix Bahasa C menyediakan Suffix (akhiran) untuk bilangan integer konstan sbb: 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 Default tipenya integer Contoh: 174 => (integer) 174u => (unsigned integer) 174L => (long integer) 174ul => (unsigned long integer) 40

Suffix Beberapa compiler akan memberikan warning karena perbedaan tipe data seperti compiler pada Visual C++ sbb: Contoh: float x; x = 3.14; warning : truncation from 'const double' to 'float Cara mengatasi sbb: float x; x = (float)3.14; //menggunakan cast atau x = 3.14f; //menggunakan suffix 41

Suffix #include int main() { printf(Sizeof Floating 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)); getch(); return 0; } 42 Sizeof Floating Point Constan : - dgn suffix f = 4 - tanpa suffix = 8 - dgn suffix L = 12 Output :

Latihan 1. Apakah yang dimaksud dengan fungsi library dalam bahasa C ? 2. Jelaskan apa yang dimaksud dengan identifier pada bahasa C 3. Berapakah data terbesar yang bisa ditampung oleh variabel x yang bertipe integer dengan ukuran 20-bit ? 4. Sebutkan tipe data (boleh lebih dari satu) yang tepat untuk mengolah data umur ! 5. Sebutkan tipe data yang tepat untuk menampung data Nim Peserta didik ! 6. Sebutkan tipe data yang tepat untuk menampung data saldo rekening ! 43

LATIHAN 7.Kapan sebaiknya menggunakan directive: #include atau #include header.h 8.Jika tipe integer ukurannya hanya 3 byte, berapakah rentang nilainya (range) ? 9.Jika tipe unsigned integer ukurannya hanya 3 byte, berapakah rentang nilainya (range) ? 10.Apakah beda Variabel dengan Konstanta ? 11.Jika x variabel bertipe integer dan ukurannya 2 byte, jika x=32767 maka berapakah nilai x jika nilai x ditambah 1 ? 12.Diketahui bilangan biner 10-bit sbb: a. Jika bilangan biner tersebut adalah bilangan signed berapa nilai desimalnya ? b. Jika bilangan biner tersebut adalah bilangan unsigned berapa nilai desimalnya ? 44

LATIHAN 13. Jelaskan tentang sistem bilangan Desimal Biner Oktal Heksadesimal 14.Jelaskan bagaimana cara mengkonversi sistem bilangan desimal ke biner, oktal dan Heksadesimal, dan sebaliknya 15.Jelaskan tentang sistem bilangan twos complement, ones complement. 16.#define PHI Apa keuntungan kita menggunakan konstanta PHI spt diatas? Mengapa tdk langsung saja menggunakan angka