• Tidak ada hasil yang ditemukan

1972 dan diimplementasikan pada komputer DEC PDP-11

N/A
N/A
Protected

Academic year: 2018

Membagikan "1972 dan diimplementasikan pada komputer DEC PDP-11"

Copied!
27
0
0

Teks penuh

(1)

PENGENALAN KONSEP

PEMROGRAMAN

(2)

Sejarah Bahasa C

Bersumber dari bahasa BCPL (Martin Richards -1967) dan B

(Ken Thompson -1970)

C diciptakan Dennis Ritchie dari Bell Laboratories pada tahun

1972 dan diimplementasikan pada komputer DEC PDP-11

Pada 1978 Dennis Ritchie dan Brian Kernighan kemudian

mempublikasikan buku

The C Programming Language

yang

semakin memperluas pemakaiannya dan dijadikan standar oleh

ANSI (American National Standard Institute)

pada tahun 1989

C kemudian dikembangkan lagi oleh Bjarne Stroustrup menjadi

C++ (1986)

C dan/atau C++ banyak digunakan (sehingga menjadi „standar‟)

(3)

Proses penerjemahan bahasa

C

Editor

Preprocessor

Compiler

Linker

Loader

DISK

.c .h .obj .out

(UNIX)

.exe

(MS)

(4)

Program sederhana I [1]

Contoh program untuk menampilkan sebaris teks

Selamat menggunakan bahasa C!

pada layar:

1. /* Program pertama dalam bahasa C */ 2. #include <stdio.h>

3. /* fungsi main mulai eksekusi program */ 4. int main( void )

5. {

6. printf( “Selamat menggunakan bahasa C!\n" );

(5)

Program sederhana I [2]

 Komentar diawali dengan /* dan diakhiri dengan */ (seperti terdapat pada

baris-1,3,7,dan 8), komentar tidak dipedulikan/diproses oleh compiler. Bermanfaat untuk memudahkan pembacaan dan pemahaman sebuah program.

 Baris dengan awalan # (seperti pada baris-2) diproses oleh preprocessor C

sebelum program dikompilasi. Baris tersebut menunjukkan bahwa preprocessor

harus mengikutsertakan standard input/output header (stdio.h) pada

program.Header ini mengandung informasi yang digunakan compiler untuk mengkompilasi pemanggilan fungsi standar input/output seperti printf (baris-6).

int main() merupakan fungsi utama program dan selalu merupakan bagian dari

program dalam C, karena berjalannya program/instruksi ditentukan oleh fungsi ini. int berarti fungsi main mengembalikan nilai integer

 Tanda kurung kurawal buka { dan tutup } merupakan penanda body dari sebuah

fungsi atau sering disebut juga block fungsi/program.

 printf( “Selamat menggunakan bahasa C!\n" ); menghasilkan aksi yaitu

menampilkan teks “Selamat menggunakan bahasa C!”

 return 0; selalu diikutsertakan pada akhir fungsi main. Keyword return untuk

(6)

1. /* Program pertama dalam bahasa C */ 2. #include <stdio.h>

3. /* fungsi main mulai eksekusi program */ 4. int main( void )

5. {

6. printf( “Selamat menggunakan bahasa C!\n" );

7. return 0; /* indikasi program berakhir dengan sukses */

8. } /* akhir fungsi main */

Program sederhana I [3]

komentar

preprocessor

main function

statement

(7)

Program sederhana I [4]

Karakter

escape

Karakter

Deskripsi

\n Pindah kursor ke baris baru

\t Horisontal tab, pindah kursor ke posisi tab berikutnya

\a Membunyikan bel sistem/beep

\\ Mencetak/menampilkan \ (backslash)

(8)

Program sederhana I [5]

Modifikasi 1: mencetak 1 baris dengan 2 buah perintah

printf

1 /* Fig. 2.3: fig02_03.c

2 Printing on one line with two printf statements */

3 #include <stdio.h>

4

5 /* function main begins program execution */

6 int main()

7 {

8 printf( "Welcome " );

9 printf( "to C!\n" );

10

11 return 0; /* indicate that program ended successfully */

12

13 } /* end function main */

Welcome to C! Program

(9)

Program sederhana I [6]

Modifikasi 2: mencetak banyak baris dengan sebuah perintah

printf

(10)

Program sederhana II [1]

Membaca 2 buah bilangan bulat dari

keyboard

dan menampilkan hasil

(11)

1 /* Fig. 2.5: fig02_05.c

(12)

Program sederhana II [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

(13)

Program sederhana II [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

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

(14)

Program sederhana II [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

(15)

Konsep Memori [1]

Variabel

Nama-nama variabel berkaitan dengan lokasi-lokasi di memori

komputer

Setiap variabel memiliki sebuah nama, sebuah tipe, sebuah

ukuran dan sebuah nilai

Ketika sebuah nilai baru diberikan pada sebuah variabel

(misalnya melalui

scanf

) maka nilai yang lama akan diganti (dan

hilang)

Membaca variabel dari memori tidak akan mengubah nilainya

Representasi visual:

(16)

Konsep Memori [2]

integer1

45

integer2

72

integer1

45

integer2

72

(17)

Aritmatika [1]

Perhitungan Aritmatika

Gunakan * untuk perkalian dan / untuk pembagian  Pembagian bilangan bulat membuang sisa pembagian

 7 / 5 dievaluasi menjadi 1

 Operator Modulus (%) menghasilkan sisa pembagian

 7 % 5 dievaluasi menjadi 2

Operator precedence

 Beberapa operator aritmatika lebih diprioritaskan (dihitung lebih dahulu)

dibandingkan operator lainnya (misalkan perkalian dan pembagian didahulukan dibandingkan penjumlahan dan pengurangan)

 Gunakan tanda kurung jika diperlukan

 Contoh: Hitung nilai rata-rata dari variabel-variabel a, b and c

(18)

C operation Arithmetic operator Algebraic expression C expression

Addition + f + 7 f + 7

Subtraction - p c p - c

Multiplication * bm b * m

Division / x / y x / y

Modulus % r mod s r % s

Aritmatika [2]

Operator-operator aritmatika:

Aturan

precedence

operator:

Operator(s) Operation(s) Order of evaluation (precedence)

() Parentheses Evaluated first. If the parentheses are nested, the expression in the innermost pair is

evaluated first. If there are several pairs of parentheses “on the same level” (i.e., not

(19)

Aritmatika [3]

St ep 1. y = 2 * 5 * 5 + 3 * 5 + 7;

St ep 2. y = 10 * 5 + 3 * 5 + 7;

St ep 3. y = 50 + 3 * 5 + 7;

St ep 4. y = 50 + 15 + 7;

St ep 5. y = 65 + 7;

2 * 5 is 10

10 * 5 is 50

3 * 5 is 15

50 + 15 is 65

65 + 7 is 72

(Left m ost mult ip lic at ion)

(Left m ost mult ip lic at ion)

(Mult ip lic at ion bef ore ad dition)

(Left m ost ad dit ion)

(20)

Pengambilan Keputusan: Persamaan

dan Operator Relasional [1]

 Eksekusi statement

 Menghasilkan aksi-aksi (penghitungan, input/output data)  Menghasilkan keputusan

 Ingin menampilkan “lulus" or “gagal" berdasarkan suatu syarat

nilai tertentu

 if control statement

 Versi sederhana dahulu, lebih detail kemudian

 Jika suatu kondisi true, maka body statement if dieksekusi

 0 adalah false, non-zero adalah true

(21)

Pengambilan Keputusan: Persamaan

dan Operator Relasional [2]

Standard algebraic equality

operator or relational operator

C equality or relational operator

Example of C condition

Meaning of C condition

Equality Operators

= == x == y x is equal to y

 != x != y x is not equal to y

Relational Operators

> > x > y x is greater than y

< < x < y x is less than y

>= >= x >= y x is greater than or equal to y

(22)
(23)

25 if ( num1 < num2 ) {

Enter two integers, and I will tell you the relationships they satisfy: 3 7

3 is not equal to 7 3 is less than 7

3 is less than or equal to 7

(24)

Enter two integers, and I will tell you the relationships they satisfy: 22 12 22 is not equal to 12

22 is greater than 12

22 is greater than or equal to 12

Enter two integers, and I will tell you the relationships they satisfy: 7 7

7 is equal to 7

7 is less than or equal to 7 7 is greater than or equal to 7

(25)

Pengambilan Keputusan: Persamaan

dan Operator Relasional [3]

Operators Associativity

* / % left to right

+ - left to right

< <= > >= left to right

== != left to right

= right to left

(26)

Pengambilan Keputusan: Persamaan

dan Operator Relasional [4]

Keywords

auto double int struct

break else long switch

case enum register typedef

char extern return union

const float short unsigned

continue for signed void

default goto sizeof volatile

do if static while

(27)

Algoritma dan

Pseudocode

Algoritma: urutan langkah-langkah yang dapat

digunakan untuk memecahkan suatu masalah

Pseudocode

:

Bahasa buatan yang bersifat informal yang dapat

membantu untuk mengembangkan algoritma

Serupa dengan bahasa sehari-hari

Membantu mempermudah penulisan program; dengan

menggunakan

statement-statement

yang dapat dieksekusi,

Referensi

Dokumen terkait

Setelah seluruh kelompok selesai dalam permainan tebak binatang guru memberikan kesemapatan kepada seluruh siswa untuk melakukan tanya jawab mengenai ciri – ciri pada

Kompetensi Dasar IPK Indikator Soal Level Kognitif Bentuk soal Nomor soal Sko r 3.1.1 Mengidentifikasi interaksi sosial dalam ruang dan pengaruhnya terhadap kehidupan

Hasil penelitian mengindikasikan bahwa variabel interaksi dengan teman dan interaksi dengan dosen tidak signifikan terhadap dependen, sedangkan variabel keterlibatan

Pengolahan foto dilakukan di darat dengan menggunakan software Image-J sampai pada taraf bentuk pertumbuhan tutupan karang (Lampiran 2). Output yang dihasilkan berupa data

1) Memperoleh pengetahuan dan ketrampilan baru dalam pembelajaran 2) Meningkatkan kemampuan peserta didik dalam pemecahan masalah projek. 3) Membuat peserta didik lebih aktif

DT – SENSE SHT11 adalah modul sensor yang dapat mengukur suhu dan kelembapan udara yangkemudian hasil pengukuran diverifikasi dengan alat konfensional yang ada

Keterangan : Keluar menu-menu secara bersamaan terdiri dari link yang menghubungkan ke menu yang di tuju oleh user.. Audio

Menyelenggarakan do’a bersama (mujahadah) pada setiap US dan UN. Dalam pembelajaran agama, Siswa yang non muslim seperti siswa pemeluk agama Kristen dan katolik akan di