1. C

Pengenalan Bahasa C

  • C adalah bahasa pemrograman yang digunakan sebagai dasar bahasa pemrograman lain, seperti C# dan C++
  • C merupakan hasil pengembangan dari bahasa BCPL oleh Martin Richards (1966), bahasa B oleh Ken Thompson (1970), dan kemudian menjadi bahasa C oleh Dennis Ritchie.
  • C termasuk bahasa pemrograman tingkat menengah.
  • C digunakan untuk merancang berbagai aplikasi dan sistem operasi seperti DOTA dan Windows.

Kelebihan

  • Tersedia untuk semua sistem operasi
  • Sedikit kata kunci
  • Terstruktur sehingga mudah dipahami
  • Digunakan banyak orang

Kekurangan

  • Banyaknya operator
  • Pointer (penanda alamat) yang susah dipahami

Versi

  • C K&R
  • ANSI C dan ISO C
  • C99

 

Cara Penggunaan

#include <stdio.h>

int main()

{

statement;

getchar ();

return 0;

}

Structure Theorem

  • Sequence

Tahapan algoritma

  • Selection

Seleksi kondisi sesuai syarat yang dimasukkan

  • Repetition

Pengulangan untuk kondisi

#include <stdio.h>

int main ()

{

int total = 0;

int gradeCounter = 0;

int grade = 0;

int gradeAverage = 0;

 

while (gradeCounter < 10){

printf(“Masukkan 10 nilai murid : \n”);

scanf (“%d” , &grade);

total = total + grade;

gradeCounter++;

}

fflush (stdin);

gradeAverage = total /10;

printf(“the average is %d\n”, gradeAverage);

if (gradeAverage >= 70){

printf (“PASS!\n”);}

 

else{

printf(“FAILED!\n”);}

 

getchar();

return 0;

}

 

 

Syntax-Semantic

Syntax       : aturan penulisan untuk setiap statement

Semantic   : arti dari statement

 

  1. C
  2. Syntax

Syntax adalah aturan penulisan untuk setiap statement pada bahasa C

  1. Semantic
  2. Operational Semantic (operasi matematika)
  3. Denotational Semantic (looping)
  4. Axiomatic Semantic (if, and, or)

Catatan  jika syntax sudah benar namun menurut semantic salah, kemungkinan karena virus atau memori yang digunakan sudah tidak mencukupi.

  • General Problem in C
  1. Recognizer
  2. Generators
  3. Ambiguous

Ex. int float = 0;

float adalah keyword yang tidak bisa dijadikan variabel

nilaiAkhir = 20/100*TM + 30/100*UTS + 50/100*UAS

ambigu jika tipe data yang digunakan adalah int karena hasil dari 20/100 adalah desimal, sementara int tidak membaca hasil desimal

 

  • Grammar

Backus Naur Form (BNF)

Context – Free Grammar

Leave a Reply