Rabu, 10 April 2013

Bahasa Pemrograman C

NAMA DALAM BAHASA C
Nama (identifier) dipakai untuk mengenali suatu objek dalam sebuah program.
Macam-macam nama :

  • nama fungsi
  • nama tipe data
  • struktur, union, enumerasi
  • nama konstanta
  • nama objek/variabel
  • nama label Struktur Blok dan nama
Sebuah "Blok" dalam bahasa C dituliskan di antara tanda kurung kurawal buka "{" dan kurung kurawal tutup "}". Sebuah blok dapat mengandung deklarasi data (kamus) dan instruksi. Bahasa C tidakmengenal deklarasi blok bertingkat (nested) seperti Pascal atau Ada. Deklarasi nama (fungsi, variabel,tipe, konstan) yang dilakukan di luar fungsi disebut deklarasi eksternal. Deklarasi di dalam fungsi disebut deklarasi internal. Variabel dengan deklarasi internal, lokal terhadap blok tempat ia dideklarasi. Nama variabel dengan deklarasi eksternal berlaku global dalam file tempat ia dideklarasi.
Mengacu suatu Nama


Dengan menyebutkan (mengacu) suatu nama maka berarti kita mengacu kepada nilainya. Nama yang diacu harus pernah dideklarasikan sebelumnya. Ini tidak berlaku untuk nama fungsi eksternal

  • Fungsi eksternal yang belum dideklarasikan dianggap mempunyai return value dan parameter bertipe int atau double (tergantung pada tipe parameter aktual).
  • Jika deklarasi implisit ini tidak sesuai akan timbul kesalahan pada saat kompilasi.
  • Sebaiknya, setiap fungsi eksternal yang dipakai dideklarasikan dengan prototipe
Aturan nama
  • terdiri dari huruf, angka, dan garis bawah "_" (under score)
  • jumlah karakter penting dalam nama minimum 31
  • huruf besar dan huruf kecil dibedakan
  • dimulai dengan huruf
  • tidak boleh reserved word , untuk C standar (ANSI C):
Aturan akses nama :
  • Berdasarkan deklarasinya, dibedakan nama global (deklarasi global) dan nama lokal (deklarasilokal)
  • Nama global dapat diakses oleh semua fungsi dalam file yang sama (supaya nama ini dapat diakses oleh fungsi di file lain, nama ini harus dideklarasikan lagi di file tersebut)
  • Nama yang dideklarasi pada suatu fungsi hanya dapat diakses dalam fungsi tersebut
  • Jika ada nama yang sama, yang diacu adalah nama lokal.
Name space dalam C:

Name space (ruang nama) adalah kategori nama yang dapat dipunyai oleh suatu nama yang
dideklarasikan. Sebuah nama yang sama dapat dipakai untuk keperluan yang berbeda, asalkan name space-nya berbeda (walaupun pada kuliah ini tidak dianjurkan memakai nama yang sama untuk keperluan yang berbeda.

Ada lima name space dalam bahasa C :

  • nama makro preprosesor, ini dipakai pada saat dilakukan preproses program sumber; setelah preproses selesai, nama ini tidak dikenal lagi;
  • nama label tujuan perintah goto;
  • nama tag struktur/union (nama yang mengikuti kata kunci struct atau union);
  • nama anggota struktur/union; masing-masing struktur/ union mempunyai name space sendiri,nama yang sama dapat muncul sebagai anggota struktur/ union yang berbeda;
  • nama yang tidak termasuk salah satu di atas, termasuk dalam name space untuk variabel, fungsi, tipe, dan enumerasi.
LITERAL KONSTANTAAda beberapa macam literal konstanta (penulisan nilai konstanta langsung di dalam teks program sesuai dengan type yang mewakili konstanta tsb) yaitu : integer, karakter, floating, enumerasi, dan string.Konstanta Integer
  • Konstanta integer terdiri dari deretan angka, boleh mempunyai prefiks dan/atau sufiks.
  • Prefiks:
O angka oktal [0..7], contoh 023 /* adalah nilai 19 dalam bil dasar 10*/
Ox, OX
angka heksadesimal [0..9, a..f, A..F],

contoh: 0x45 /* nilai 69 bil. dasar 10 */

  • Sufiks:
u, U unsigned
l, L long
Konstanta Karakter
  • Konstanta karakter terdiri dari deretan satu/lebih karakter yang diapit petik tunggal, contoh 'r'.
  • Karakter yang tidak kelihatan di layar atau beberapa karakter khusus, tidak dapat dituliskan langsung sehingga harus menggunakan escape sequence yaitu penulisan nilai konstanta karakter tsb sesuai dengan tabel berikut (semua escape sequence selalu diawali dengan \)
Konstanta Floating
  • Konstanta floating terdiri atas bagian integer, titik desimal, bagian pecahan, dan bagian eksponen yang diawali huruf 'e' atau 'E'. Titik desimal atau bagian eksponen dapat tidak ada, namun salah satu harus tetap ada. Konstanta floating boleh mempunyai sufiks.
  • Sufiks:
f, F float
l, L longdouble
(tanpa sufiks, tipe double)
  • Contoh: 3.141592654, 6.02217e23, 3E8
Konstanta Enumerasi
  • Dideklarasikan sebagai enumerator, representasi internalnya adalah konstanta dengan tipe int (lihat bagian deklarasi tipe enumerasi).
Konstanta String (String Literal)
  • Konstanta string adalah deretan karakter yang dibatasi dengan petik ganda, contoh "IF-223".
  • Bertipe "array of character" dengan kelas penyimpanan statik, terinisialisasi dengan karakter yang diberikan (berakhiran '\0'). Efek perubahan pada konstanta string tak terdefinisi.
  • Bedakan antara konstanta string (misal "I") dan konstanta karakter (misal 'I'). Konstanta string "I" adalah array dengan dua elemen (karakter I dan '\0'). Konstanta karakter 'I' mempunyai nilai integer sesuai dengan kode set karakter yang dipakai.

Tidak ada komentar:
Write komentar

Blogroll

Labels