Materi ap#2
-
Upload
niken-halimy -
Category
Education
-
view
63 -
download
1
Transcript of Materi ap#2
![Page 1: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/1.jpg)
![Page 2: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/2.jpg)
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)
2
![Page 3: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/3.jpg)
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)
3
![Page 4: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/4.jpg)
Proses penerjemahan bahasa C
Editor
Preprocessor
Compiler
Linker
Loader
DISK
.c
.h
.obj
.out(UNIX)
.exe(MS)
CPUPrimary Memory
![Page 5: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/5.jpg)
4
![Page 6: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/6.jpg)
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 (;))
5
![Page 7: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/7.jpg)
Struktur program
![Page 8: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/8.jpg)
6
![Page 9: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/9.jpg)
Struktur program
• Contoh “Salam Super”/*----------------------------------
Program Pertama----------------------------------*/
//Program mencetak tulisan Salam Super
#include <stdio.h>int main(){
printf(“Salam Super!\n”);return 0;
}
![Page 10: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/10.jpg)
7
![Page 11: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/11.jpg)
Struktur program• Format penulisan fungsi main
main()1. {
statements;
}
main()3. {
statements;return (0);
}
2. void main(){
statements;
}
4. int main(){
statements;return (0);
}8
![Page 12: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/12.jpg)
Pre-processor directives• Contoh:
void main(){
printf(”Hello World”);
Jika di kompilasi dengan Dev-C++ program ini akan error, dgn Error Message:‘printf’ undeclared.
}
#include <stdio.h>void main(){
printf(”Hello World”);
#include adalah sebuahdirective/arahan untuk memberitahu compiler bahwa function prototype untuk fungsi printf adapada header file stdio.h}
![Page 13: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/13.jpg)
9
![Page 14: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/14.jpg)
Pre-processor directivesContoh file judul : #include <stdio.h>
File judul yang berisi fungsi pustaka untuk operasi input dan output standar
#include <math.h>
File judul yang berisi fungsi pustaka untuk operasi matematika
#include <conio.h>
File judul ini digunakan untuk membersihkan layar
10
![Page 15: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/15.jpg)
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);
11
![Page 16: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/16.jpg)
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)
12
![Page 17: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/17.jpg)
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)
13
![Page 18: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/18.jpg)
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 forInformation Interchange
14
![Page 19: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/19.jpg)
Extended ASCII Codes
15
![Page 20: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/20.jpg)
1
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
• T i d ak b o leh menggunakan keyword (misal for, while, dll.)
• Contoh identifier : name, x1, _total, cubic
• Contoh identifier yang salah: 1kali, int
![Page 21: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/21.jpg)
2
Keywords• Keywords adalah kata-kata yang mempunyai arti khusus
pada bahasa pemrograman komputer dan tidak dibolehkan dipakai untuk identifier lain.
• Contoh:Ke y w o rd s
au to do ubl e i nt str uc t
br eak el se l ong swi tc h
ca se en um r egi st er
typ ed ef
ch ar ex ter n r etu rn uni on
co nst fl oat s hor t uns ig ned
co nti nu e
fo r s ign ed voi d
de fau lt go to s ize of vol at ile
do if s tat ic whi le
![Page 22: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/22.jpg)
3
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-Ckeyword dicetakBOLD
![Page 23: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/23.jpg)
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;
Syarat penulisan variabel :
1. Panjangnya sampai 32 karakter
2. Karakter pertama harus huruf atau karakter garis bawah ( _ )
3. Tidak boleh ada spasi
4. Huruf besar dan huruf kecil dianggap berbeda
![Page 24: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/24.jpg)
Variables
20
![Page 25: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/25.jpg)
1
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;
![Page 26: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/26.jpg)
2
Data types• Pada dasarnya tipe data primitif (primitive data types)
pada bahasa pemrograman C berjumlah 5:
Tipe Data Primitif/Bawaan Keyword
1. Character2. Integer3. Floating point4. Double floating point5. Void
1. char2. int3. float4. double5. void
Kemudian tipe primitif ini bertambah dengan adanya 4 modifiers.
![Page 27: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/27.jpg)
3
Data typesTipe Data
intPenentu Format
%dunsigned int
long int%u%ld
floatdouble
%f%lf
charchar[n] (string)
%c%s
Kemudian tipe primitif ini bertambah dengan adanya 4 modifiers.
![Page 28: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/28.jpg)
1
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.
![Page 29: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/29.jpg)
2
Data typesContoh 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 Byte1 Byte
0 s/d 255-128 s/d 127
integer unsigned int intshort int unsigned long long
2 Byte2 Byte1 Byte4 Byte4 Byte
0 s/d 65535-32768 s/d 32767-128 s/d 1270 s/d 4294967295-2147483648 s/d 2147483647
float float doublelong double
4 Byte8 Byte16 Byte
3.4E-38 s/d 3.4E+381.7E-308 s/d 1.7E+3083.4E-4932 s/d 1.1E+4932
![Page 30: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/30.jpg)
26
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 Ctergantung 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
![Page 31: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/31.jpg)
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
27
![Page 32: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/32.jpg)
Constants
• Konstanta simbolik dibuat untuk memberinama 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;
28
![Page 33: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/33.jpg)
Symbolic constants#define Pi 3.14 int main(){
Pi=3.1475;//Errorreturn 0;
int main(){const float Pi=3.14; Pi=3.1475; //Errorreturn 0;
}}
#define Pi 3.14 int main(){
float PHI=3.14;PHI = 3.1475; //OK Pi=3.1475; //Error return 0;
} 29
![Page 34: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/34.jpg)
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”);}
30
![Page 35: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/35.jpg)
Escape SequencesKonstanta karakter escape banyak digunakan di statemen untuk menampilkan hasil.
Karakter Escape Arti\a bunyi bel\b mundur satu spasi\f ganti halaman\n ganti baris baru\r ke kolom pertama, baris yang sama\t tabulasi horisontal\v tabulasi vertikal\0 nilai kosong\' karakter petik tunggal\" karakter petik ganda\\ garis miring terbalik (backslash)
![Page 36: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/36.jpg)
Escape Sequences
Kode Format untuk fungsi prinf()
Kode Format Kegunaan%c Menampilkan sebuah karakter%s Menampilkan nilai string%d Menampilkan nilai desimal integer%i Menampilkan nilai desimal integer%f Menampikan nilai pecahan
![Page 37: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/37.jpg)
![Page 38: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/38.jpg)
• Penambahan dua buah bilanganData telah berada di memori (variabel), hasil penjumlahan disimpan di memori (variabel).
/* 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*/printf ( “ Bilangan X = %d”,x); /* menampilkan bil X dilayar */
printf ( “ Bilangan Y =,%d”,y);printf ( “ Jumlah X dan Y =%d”,z);return 0; /*Statement 4*/
} /*Program utama selesai*/
![Page 39: Materi ap#2](https://reader031.fdocument.pub/reader031/viewer/2022031812/55bff235bb61eb8c768b467a/html5/thumbnails/39.jpg)
Buatlah Program bahasa C untuk menghitungluas segitiga dimana ( alas = 50 dan tinggi =25 ) disertai Menghitung rata-rata ( a= 25 , b=75 dan c = 30 )Tiga buah bilangan disertai flowchart danpseudocodenya !