Syntax merupakan aturan yang mendefinisikan suatu bentuk bahasa, syntax itu tidak mengerti arti atau isi dari suatu kalimat, yang memiliki tugas untuk mengartikannya adalah semantic.
- Kriteria Syntax
Syntax memiliki beberapa kriteria yang harus dipenuhi agar dapat disebut syntax:
Readability | : | Mudah dibaca |
Writeability | : | Mudah ditulis |
Verifiability | : | Verifikasi Program |
Kemudahan Translasi | : | Penerjemahan yang cepat & menghasilkan kode yang efisien |
Pengurangan Ambiguitas | : | Dua arti atau lebih, contoh Array (pemanggilan fungsi) |
- Fungsi Utama Syntax
Syntax memiliki 2 fungsi utama, yaitu:
- Menyediakan bentuk-bentuk notasi untuk komunikasi antar programmer
- Pemroses bahasa pemrograman sehingga dapat mempermudah pembuatan suatu program
- Elemen syntax
Elemen-elemen dalam syntax:
- Himpunan Karakter
- Indentifier
- Simbol untuk operator
- Komentar
- Noise Word
- Keyword & Reserved Word
- Blank
- Delimiter & Tanda Kurung
- Ekspresi
- Aturan syntax
Dalam bahasa pemrograman C, ada beberapa syntax penting yang digunakan untuk memulai sebuah pembuatan program:
- Header “<stdio.h>”, berlaku sebagai library untukt syntax bahasa C
- Main Function ”int main ()”, berlaku sebagai plateform atau wadah
- Pengembalian nilai “return 0”
Dalam bahasa C ada tanda yang sangat penting yaitu titik koma “;” dan juga kurung kurawal “{}”. Titik koma digunakan sebagai terminator dalam sebuah statement. Sedangkan kurung kurawal itu digunakan untuk menulis isi didalam fungsi.
Seperti yang sudah dibahas sebelumnya bahwa dalam elemen syntax ada yang disebut dengan identifier, dalam bahasa C indentifier ada 3:
- Variabel
- Fungsi
- Class
Yang dimana penamaan identifier ini haris diawali dengan huruf atau underscore diikuti dengan huruf lain atau angka dan tidak boleh menggunakan symbol seperti @, $, dan %.
Dalam bahasa pemrograman ada yang disebut dengan whitespace yang artinya adalah sebuah baris kosong. Ketika kita menggunakan whitespace didalam bahasa C, compiler C akan mengabaikan setiap baris yang kosong (whitespace). Jadi apasih kegunaan whitespace ini? Whitespace ini digunakan untuk kemudahan para programmer untuk membaca program.
- Semantics
Semantic adalah cabang linguistik yang meneliti arti atau makna. Makna yang diteliti oleh semantic itu adalah makna bebas konteks, yang bersifat leksikal dan juga gramatikal.
Jenis-jenis semantic ada banyak:
- Semantic Behavioris
- Semantic Dekriptif
- Semantic Generatif
- Semantic Gramatikal
- Semantic Leksikal
- Semantic Historis
- Semantic Logika
- Semantic Struktural
Semantic memiliki beberapa ciri khusus, seperti:
- Semantic adalah kajian mengenai hubungan antara tanda dengan objek yang diacu oleh tanda tersebut
- Semantic adalah kajian mengenai maksa sebuah statement
- Contoh Semantic
Multiple Meanings (Bermakna Banyak)
Salah satu baguan dari belajar bahasa adalah mengetahui banyak makna kata-kata. Berikut adalah beberapa contoh kata dengan lebih dari satu arti:
- A water pill, at first glance could be a pill with water in it, but it is understood to be a diuretic that causes a person to lose water from his body.
- Crash, can mean auto accident, a drop in the Stock Market, to attend a party without being invited, ocean waves hitting the shore or the sound of a cymbals being struck together
Words Without Meanings (Kata Tanpa Makna)
Contohnya:
- Cleans like a white tornado
- Do you have tired blood?
Output |
Input |
- Semantics dalam C
Enter First Number : 3
Enter Second Number : 4 Addition is : 7 |
#include <stdio.h>
int main () { int num1 , num2 , result; printf(“Enter First Number :”); scanf(“%d”, &num1); fflush(stdin); printf(“\nEnter Second Number : ”); scanf(”%d”, &num2); fflush(stdin);
result=num1+num2; printf(“\nAddition is : “, result); return 0; } |
Output |
Enter First Number : 3
Enter Second Number : 4 Addition is : 7 |
Output |
Input |
- Error Semantic dalam C
#include <stdio.h>
int main () { int a; printf(“Masukan Jumlah * : “); scanf(”%d”, &a); fflush(stdin); for(int i=1 ; i<=10 ; i–) { printf(“*”); } return 0; } |
*******************************************
******************************************* ******************************************* ******************************************* ******************************************* ******************************************* ****************************************….. |