Minggu, Juni 28, 2020

Keyword _Generic pada bahasa C

Keyword _Generic pada bahasa C

Kekurangan umum dari makro pada bahasa c dan c++ adalah argumen diperiksa sangat ketat. Namun, berbeda dengan yang makro dapat beroperasi pada tipe dari berbagai variabel berbeda tanpa harus diperiksa.

Output:
eeks 11

Meskipun penggunaan makro perlu dihidari. Tetapi setelah implementasi dari standard C11 pada bahasa c, maka makro dapat digunakan dengan bantuan dari keyword new "_Generic". Dapat dilakukan pendefinsian makro untuk tipe-tipe data berbeda. Contoh, makro INC(X) diterjemahkan ke INCI(X), INC(X) atau INCf(X) tergantung pada tipe data dari x:

#define INC(x) _Generic((x), long double: INCl, \
                              default: INC, \
                              float: INCf)(x)

Contoh:
Output:
Catatan: jika menjalankan kompilator C11 maka nilai keluaran adalah sebagai berikut.
3
0
3

Output:
2
0





Fungsi tmpnam() pada bahasa C

Fungsi tmpnam() pada bahasa C

Fungsi tmpnam() adalah fungsi khusus yang dideklarasikan dalam file header "stdio.h". Yang generate sebuah nama file sementara yang berbeda setiap kali dipanggil hingga TMP_MAX. TMP_MAX merepresentasikan angka maksimum dari nama file berbeda yang akan dihasilkan oleh fungsi tmpnam(). Jika fungsi ini dipanggil lebih dari TMP_MAX, maka perilaku dari fungsi akan tergantung pada implementasinya. Berikut, L_tmpnam mendefinisikan ukuran yang dibutuhkan untuk array dari char untuk menyimpan hasil dari tmpnam.

Sintak:
char *tmpnam(char *str)
s : The character array to copy the file name.
It generates and returns a valid temporary 
filename which does not exist. 
If str is null then it simply returns the tmp file name.

Output:
The file names are dependent on running machine, which can be anything.
Example: /tmp/fileRTOA0m
         \s260.
         \s3ok.
         \s5gg. etc





Fungsi librari difftime() pada bahasa C

Fungsi librari difftime() pada bahasa C

Fungsi pustaka pada bahasa c difftime() mengembalikan nilai berbeda, dalam hitungan waktu antara waktu mulai dan waktu akhir. (ending time-starting time)

// It is present in time.h header file
#include 

Sintak : 
double difftime(time_t time2, time_t time1);

Parameter:
time1 : Lower bound of the time interval
        whose length is calculated.
time2 : Higher bound of the time interval
        whose length is calculated.

Return value : 
Returns the difference between time1 and 
time2 (as measured in seconds).

Output:
Difference is 6.00 seconds





Bagaimana cara membuat file header pada bahasa C

Bagaimana cara membuat file header pada bahasa C

Seperti yang diketahui file dengan ekstensi .h disebut sebagai file header pada bahasa C. File header pada umumnya mengandung fungsi deklarasi yang dapat digunakan pada program utama bahasa C, seperti untuk memasukkan stdio.h pada program bahasa C untuk digunakan pada fungsi printf(). Mungkinkah untuk membuat file header sesuai dengan keinginan sendiri?
Jawabannya adalah iya. Header file adalah file sederhana yang bisa dideklarasikan untuk fungsi yang dibuat sendiri yang dapat digunakan pada program utama atau juga dapat digunakan ketika membuat program bahasa C skala besar. 

Catatan: Header file umumnya mengandung definisi dari tipe data, fungsi prototipe dan perintah preprosesor bahasa C.

Berikut adalah contoh sederhana dari pembuatan file header beserta penggunaannya.

satu, membuat myhead.h: buat kode program berikut ini dan simpan dengan nama file myhead.h atau dengan menggunakan kreasi nama apapun diakhiri dengan ekstensi .h yang mengindikasikan file tersebut adalah file header.


dua, Memasukkan file .h ke dalam program lainnya pada bahasa c: Seperti hal nya memasukkan file tipe .h pada program bahasa c, maka file myhead.h juga perlu dilakukan include pada program.

#include "myhead.h". Penggunaan tanda "" adalah untuk menginstruksikan preprosesor untuk melihat pada folder saat ini dan jika tidak ditemukan maka menuju ke folder standar. Jadi, jika ingin menggunakan angular bracket <> ketimbang "" untuk include file header, juga dapat dilakukan penyimpanan di dalam folder standar file header. Namun jika menggunakan "" untuk melakukan include maka terlebih dahulu harus dipastikan bahwa file berada dalam folder yang sama dimana file c disimpan.

tiga, Menggunakan create header file:

Output:
Added value:10
Multiplied value:25
BYE!See you Soon

Catatan: Kode program sebelumnya dapat berjalan dengan sukses dan akan mencetak nilai output jika telah diciptakan file header dan disimpan pada folder yang sama dengan file c.

Poin penting
Pembuatan file header umumnya dibutuhkan ketika membuat program bahasa c skala besar sehingga modul dapat berbagi fungsi definisi, prototipe, dan lain sebagainya.

satu, Fungsi dan tipe deklarasi, variabel global, deklarasi struktur, dan beberapa case, dan fungsi inline, pendefinisiannya harus terpusat dalam satu file utama.

dua, Pada Header file, tidak boleh menggunakan file header yang redundant, hanya sekumpulan kecil dari statement. 

tiga, Jangan meletakkan definisi fungsi pada sebuah header. Letakkan file tersebut terpisah pada file .c.

empat, Deklarasi include untuk fungsi dan variabel yang didefinisikan akan terlihat ketika menuju linker. Juga, definisi dari struktur data dan enumerasi yang terbagi antara multiple sumber file.

lima, Secara singkat hanya file-file yang diperlukan saja yang perlu dimasukkan pada file header.





Fungsi library isgraph() pada bahasa C

Fungsi library isgraph() pada bahasa C

Fungsi pustaka isgraph() pada bahasa C adalah memberitahukan apakah karakter adalah karakter grafis atau bukan. Karakter yang memiliki tampilan representasi grafis dikenal dengan istilah karakter grafis (char). Contoh : ':',';','?','@', dan lain sebagainya.

Sintak
#include <ctype.h>
int isgraph(int ch);

Return Value - fungsi return nonzero adalah karakter dari karakter cetak apapun kecuali spasi, sisanya akan memberikan nilai 0 jika ditemukan.

Untuk tabel ASCII, karakter cetak berada pada range 0X21 hingga 0X7E.

Contoh kode program
Output:
var1 = |g| can be printed
var2 = | | can't be printed
var3 = |1| can be printed

Contoh kode program
Output:
In C programming All graphic characters are: 
! " # $ % & ' ( ) * +, - . / 0 1 2 3 4 5 6 7 8 9 
: ;  ? @ A B C D E F G H I J K L M N O P Q R S T U
 V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n
 o p q r s t u v w x y z { | } ~ 





Preprosesor direktif bahasa C dan C++ lanjutan

Preprosesor direktif bahasa C dan C++ lanjutan

Direktif preprosesor: Pada hampir setiap program pada bahasa C dan C++, dapat ditemukan beberapa baris pada bagian atas dari program yang diawali dengan tanda '#'. Baris tersebut akan dilakukan preprosesing oleh kompilator sebelum kompilasi aktual dimulai. Pada bagian akhir dari baris diidentifikasi oleh karakter baris baru '\n' dan tidak ada semicolon ';' yang diperlukan untuk mengakhiri perintah pada baris tersebut. 

Direktif preprosesor umumnya digunakan untuk mendefinisikan makro dan evaluasi kondisional statement, include file sumber, direktif pragma, kontrol baris, deteksi error, dan lain sebagainya.

Pada bagian ini akan dibahas beberapa tipe dari direktif preprosesor seperti diperlihatkan sebagai berikut:
satu, Kompilasi kondisional
dua, Line kontrol
tiga, Direktif error

Selanjutnya adalah perhatikan setiap direktif tersebut secara lebih detail:
satu, Kompilasi Kondisional: Direktif kompilasi kondisional membantu untuk mengkompilasi porsi spesifik dari program atau melewati kompilasi dari bagian khusus dari program berdasarkan kondisi tertentu. Pada materi direktif preprosesor sebelumnya, telah dibahas tentang dua tipe direktif 'ifdef' dan 'endif'. Pada materi kali ini akan dibahas #ifndef, #if, #else, dan #elif.

#ifdef: Direktif ini adalah jenis direktif dengan kondisi paling sederhana. Block ini disebut dengan grup kondisional. Teks yang dikontrol akan dimasukkan dalam output preprocessor jika macroname didefinisikan. teks kontrol yang terdapat dalam kondisional akan merangkul direktif preprosesor, dan hanya akan dieksekusi ketika kondisi telah terpenuhi. Direktif ini dapat ditempatkan pada multiple layer, tetapi harus dalam kondisi bersarang penuh. Dengan kata lain, ‘#endif’ harus selalu cocok dengan ‘#ifdef ' terdekat (atau‘ #ifndef ’, atau‘ #if ’). 

Sintak:
#ifdef MACRO
    controlled text
#endif /* macroname */

#ifndef: Diketahui bahwa pada direktif #ifdef jika macroname telah didefinisikan, maka blok dari statement mengikuti direktif #ifdef akan dieksekusi secara normal tetapi jika tidak maka kompilator akan secara sederhana melewati blok statement tersebut. Direktif #ifndef secara sederhana berlawanan dengan direktif #ifdef. Pada kondisi #ifndef, blok statement antara #ifndef dan #endif akan dieksekusi hanya jika makro dari identifier dengan #ifndef tidak didefinisikan.

Sintak:
ifndef macro_name
    statement1;
    statement2;
    statement3;
    .
    .
    .
    statementN;
endif

Jika makro dengan nama 'macroname' tidak didefinisikan menggunakan direktif #define maka hanya blok statement saja yang akan dieksekusi.

#if, #else, dan #elif: Direktif tersebut bekerja bersamaan dan mengendalikan ukuran dari kompilasi dari program menggunakan beberapa pengkondisian. Jika kondisi dengan direktif #if dievaluasi ke nilai non zero, maka kelompok dari baris akan dieksekusi secepatnya setelah direktif #if dieksekusi, juga jika kondisi dengan direktif #elif dievaluasi ke nilai non zero, maka kelompok dari direktif akan segera dieksekusi telah direktif #elif dieksekusi jika tidak maka direktif #else akan dieksekusi setelahnya.

Sintak:
#if macro_condition
   statements
#elif macro_condition
   statements
#else
   statements
#endif

Contoh:

Output:
50

Perhatikan bahwa semua struktur dari direktif #if, #elif, dan #else saling berkaitan dan diakhiri dengan #endif.

dua, Line Control (#line): Dimanapun ketika melakukan kompilasi program, selalu terdapat kemungkinan dari ketidaktepatan dari beberapa program error. Dimanapun identifier kompilator mengalami error dalam program maka akan disediakan nama file yang ditemukan error bersamaan dengan daftar baris dari angka pasti dimana posisi dari baris error tersebut berada. Hal ini akan mempermudah proses pencarian error.

Namun Demikian programmer dapat mengendalikan informasi mana yang harus disediakan oleh kompilator selama error terjadi pada saat proses kompilasi program menggunakan direktif #line.

Sintak:
#line number "filename"

Tiga, Error direktif (#error): Direktif ini membatalkan proses kompilasi ketika ditemukan program mengalami error yang bersifat optional dan secara khusus dapat dipergunakan sebagai parameter.

Sintak:
#error optional_error

Berikut, optional_error yang ditentukan oleh user terhadap jenis error tertentu dan akan ditampilan ketika menemukan program error.

Contoh:
#ifndef GeeksforGeeks 
#error GeeksforGeeks not found ! 
#endif 

Output:
error: #error GeeksforGeeks not found !

Sumber Referensi:
ppd_better_practice_cs.auckland.ac.nz
http://www.cplusplus.com/doc/tutorial/preprocessor/





Preprosessor direktif bahasa C dan C++

Seperti namanya, preprosesor adalah program yang memproses kode sumber sebelum dilakukan kompilasi. Terdapat beberapa urutan yang dilibatkan antara penulisan program dan eksekusi program pada bahasa C dan C++. Perhatikan gambar 1 berikut ini sebelum memulai melanjutkan mempelajari materi.

preprosesor direktif
Gambar 1 preprosesor direktif bahasa C

Dapat dilihat pada pertengahan tahap pada program. Kode program yang ditulis oleh programmer disimpan pada file program.c. File tersebut kemudian diproses oleh preprosesor dan kode sumber file diperluas dan dihasilkan beserta nama program. Perluasan file ini dikompilasi oleh kompilator dan file kode objek yang dihasilkan dengan nama .obj. Linker menghubungkan objek kode file ke objek kode dari fungsi pustaka untuk generate file yang akan dieksekusi atau executable file .exe.

Preprosesor program menyediakan direktif preprosesor yang memberi tahu kompilator untuk melakukan preprosesing kode sumber sebelum dilakukan kompilasi. Semua tahap dari direktif preprosesor diawali dengan simbol '#'. Jadi segala statement yang diawali dengan '#' adalah preprosesor program, dan preprosesor akan mengeksekusi program pada statement ini. Contoh dari beberapa direktif preprosesor adalah : #include, #define, #ifndef, dan lain sebagainya. Perlu diingat bahwa, simbol # hanya menyediakan path atau jalur yang akan menuju ke preprosesor dan memerintahkan untuk include proses oleh preprosesor program. Contoh, include akan menambahkan kode tambahan pada program. Pada direktif preprosesor dapat ditempatkan direktif preprosesor pada bagian apapaun pada program.

Terdapat empat tipe utama dari direktif preprosesor:

satu, makro.
dua, File inklusi.
tiga, Conditional Compilation
empat, Direktif bentuk lainnya

Mari mempelajari beberapa bentuk direktif tersebut secara lebih detail.

satu, Makro: adalah bagian dari kode program yang diberi beberapa nama. Dimanapun nama ini ditemui oleh kompilator, kompilator akan mengganti nama tersebut dengan potongan kode sebenarnya. Direktif '#define' digunakan untuk mendefinisikan sebuah makro. Mari pahami definisi makro melalui contoh program berikut ini.

Pada bahasa C

Pada bahasa C++

Output:
0
1
2
3
4

Pada program, ketika kompilator mengeksekusi kata LIMIT, maka kata tersebut akan diganti dengan 5. Kata 'LIMIT' pada definisi makro disebut sebagai template makro dan '5' adalah perluasan makro atau macro expansion.

Catatan: Tidak terdapat semicolon ';' pada akhir dari definisi makro. Definisi makro tidak membutuhkan sebuah semicolon pada bagian akhirnya.

Makro dengan argumen: Dapat juga melewatkan makro pada argumen. Makro didefinsikan dengan argumen yang bekerja sama seperti fungsi. Mari pahami penjelasan tersebut dengan menggunakan contoh program:

Pada bahasa C:

Pada bahasa C++

Output:
Area of rectangle is: 50

Dapat diperhatikan pada contoh program sebelumnya, dimanapun kompilator menemukan AREA(l,b) pada program, maka hal tersebut akan diganti dengan statement (l*b). Tidak hanya itu, nilai yang dilewatkan menuju template makro AREA(l,b) juga akan diganti dalam statement (l*b). Karena itu AREA(10,5) akan setara 10*5.

Dua, File inklusi: Tipe direktif dari preprosesor ini memberitahukan kompilator untuk mengambil sebuah file dalam kode sumber program. Terdapat dua tipe file yang dapat dimasukkan oleh user pada program yaitu:

Header File atau file standar: File tersebut mengandung definisi dari predefinisi fungsi seperti printf(), scanf(), dan lain sebagainya. File tersebut harus dimasukkan untuk dapat bekerja dengan fungsinya. Fungsi berbeda juga memerlukan pendeklarasian berbeda dari header file. Contoh standar fungsi I/O pada file 'iostream' dimana fungsi akan menampilkan operasi string dalam file 'string'.

Sintak:
#include< file_name >

File definisi user: Ketika ukuran file menjadi sangat besar, akan lebih baik jika file tersebut dibagi menjadi beberapa file yang lebih kecil. Tipe dari file tersebut adalah file definisi user atau user defined file. File tersebut dapat didefinsikan sebagai berikut :

#include"filename"

tiga, Kompilasi kondisional: Direktif kompilasi kondisional adalah tipe data direktif yang membantu mengkompilasi spesifik porsi dari program atau melewati kompilasi dari bagian spesifik dari program berdasarkan kondisi tertentu. Hal ini dapat dilakukan dengan bantuan dari dua perintah preprosesor 'ifdef' dan 'endif'.

Sintak:
#ifdef macro_name
    statement1;
    statement2;
    statement3;
    .
    .
    .
    statementN;
#endif

Jika makro dengan nama seperti 'macroname' telah didefinsikan maka blok statement, maka makrto akan dieksekusi normal. Tetapi jika tidak didefinisikan, maka kompilator secara sederhana akan melewati blok dari statement tersebut.

empat, direktif lainnya: Selain ketiga direktif yang telah dijelaskan sebelumnya terdapat dua direktif yang tidak umum dipakai pada program. Yaitu:

Direktif #undef: direktif #undef digunakan untuk pembatalan definisi dari makro. Direktif ini bekerja sebagai berikut:

#undef LIMIT

Dengan menggunakan statement ini maka dapat dilakukan undefinisi dari makro LIMIT yang sudah ada. Selanjutnya, maka setiap statement "ifdef LIMIT" akan dievaluasi untuk berubah menjadi nilai false.

Direktif #pragma: Direktif ini adalah direktif khusus dan digunakan untuk menyalakan dan mematikan beberapa fitur. Tipe direktif ini adalah compiler-spesific, atau direktif ini penggunaannya bervariasi antara satu kompilator dengan kompilator lainnya. Beberapa direktif #pragma akan didiskusikan sebagai berikut:

#pragma starup dan #pragma exit: Direktif ini membantu untuk menentukan fungsi yang dibutuhkan untuk dijalankan sebelum program dimulai dan sesaat sebelum program berakhir. 

catatan: Program berikut tidak dapat bekerja dengan kompilator GCC.

Output:
Inside func1()
Inside main()
Inside func2()

Jika dijalankan dengan kompilator GCC maka akan menghasilkan output program seperti berikut ini:

Inside main()

Hal ini terjadi karena GCC tidak mendukung #pragma startup dan #pragma exit. Namun, dapat juga dipergunakan contoh kode program berikut untuk output pada kompilator GCC.


Direktir #pragma warn: Direktif ini digunakan untuk menyembunyikan pesan peringatan yang ditampilkan selama proses kompilasi seperti diperlihatkan sebagai berikut:

#pragma warn -rvl: direktif akan menyembunyikan peringatan warning yang akan muncul ketika sebuah fungsi memberikan nilai yang tidak seharusnya seperti yang dirancang pada program.

#pragma warn -par: direktif akan menyembunyikan peringatan warning yang akan muncul ketika fungsi tidak menggunakan paramter yang dilewatkan kepada fungsi tersebut.

#pragma warn -rch: direktif akan menyembunyikan peringatan warning yang akan muncul ketika kode program unreacheable atau tidak dapat dijangkau. Contoh: Kode program yang dibuat setelah statement return pada fungsi adalah salah satu contoh kode yang tidak dapat dijangkau oleh program.





Sabtu, Juni 27, 2020

Bagaimana preprosessor bekerja pada bahasa C

Preprosesor adalah sistem perangkat lunak atau program komputer yang dirancang untuk menjalankan perangkat keras komputer dan aplikasi program. Preprosesor melakukan preprosesing dari bahasa tingkat tinggi. Preprosesing adalah tahap awal dari sistem proses bahasa. Sistem proses bahasa menerjemahkan bahasa tingkat tinggi ke bahasa tingkat mesin atau kode mesin absolut supaya dapat dimengerti oleh mesin.

Preprosesor tidak mengetahui aturan scope dari bahasa C. Preprosesor direktif seperti #define akan bekerja selama program diaktifkan hingga program berakhir, seperti diperlihatkan pada gambar 1.

preprosesor
Gambar 1 preprosesor

Sebuah preprosesor umumnya melakukan tiga tugas pada bahasa tingkat tinggi:

satu, Menghapus komentar: Preprosesor akan menghapus semua kode komentar. Sebuah komentar hanya ditulis untuk programmer untuk dapat memahami bahasa program yang dibuat. Sehingga, komentar tersebut akan dihapus karena mesin tidak memerlukan kode komentar. Preprosesor akan menghapus semua komentar yang tidak diperlukan ketika program dieksekusi. 

dua, File inclusi: Termasuk semua file pustaka yang dibutuhkan oleh program. Pada bahasa tingkat tinggi dibuat #include yang merupakan direktif preprosesor yang memberitahukan untuk memasukkan konten dari pustaka file spesifik. Contoh, #include akan membertahu preprosesor untuk memasukkan semua konten pustaka dari file stdio.h. Seperti contoh '#include "stdio.h" '.

catatan: Jika nama file ditutup dengan menggunakan simbol angle brackets, maka file yang dicari untuk standar kompilator juga menyertakan path. Jika nama file ditutup dengan double quotes, maka path pencarian akan diperluas termasuk sumber direktori saat ini.

tiga, Macro expansi: Makro dapat disebut juga sebagai fungsi kecil yang tidak akan overhead pada proses. Jika ingin membuat sebuah fungsi yang memiliki pendefinisian kecil yang akan dipanggil secara rekursif, akan lebih baik jika menggunakan makro pada fungsi tersebut. Sehingga pendefinisian makro tersebut dapat diselesaikan oleh preprosesor.

#define SI 1000

adalah contoh sederhana dari sebuah makro.

Terdapat dua tipe dari makro: Object-like yang tidak mengambil parameter dan fungsi-like yang memerlukan parameter.

// object-like macro
#define        
// function-like macro          
#define ()  

Dapat juga dilakukan penghapusan definisi makro dengan #undef:

// delete the macro
# undef  

Dapat dibuat makro multibaris sama seperti fungsi, tetapi setiap statement diakhiri dengan "\".

#include <stdio.h> 

#define MACRO(num, str) {\ 
printf("%d", num);\ 
printf(" is");\ 
printf(" %s number", str);\ 
printf("\n");\ 
}





Konstanta pada bahasa C dan C++

Sesuai dengan namanya konstanta (constants) fungsi dari variabel ini adalah memberikan nilai atau variabel pada bahasa C dan C++ dimana nilai yang telah diberikan tersebut tidak dapat dimodifikasi atau dilakukan perubahan nilai ketika telah didefinsikan. Konstanta adalah nilai tetap pada sebuah program. Terdapat beberapa tipe dari konstanta seperti integer, float, octal, hexadecimal, karakter, dan lain sebagainya. Setiap konstanta juga memiliki jangkauan nilai. Nilai bilangan bulat yang ukurannya terlalu besar untuk disimpan dalam tipe data int maka dapat disimpan dalam tipe data long. Terdapat berbagai variasi nilai yang lebih luar dari unsigned ke signed bit. Pada unsigned bit, jangkauan dari int bervariasi dari -28 ke +127 dan dari unsigned bit, int memiliki variasi nilai dari 0 hingga 255 seperti diperlihatkan pada gambar 1 berikut ini.

konstanta pada bahasa c
Gambar 1 konstanta pada bahasa C

Pendefinisian konstanta:
Pada bahasa C dan C++ dapat dilakukan pendefinisian konstanta dengan dua cara seperti diperlihatkan sebagai berikut:

satu, Menggunakan preprosesor direktif #define 
dua, mengunakan keyword konstanta

Literals: Nilai yang ditetapkan untuk setiap variabel konstanta disebut sebagai literals. Umumnya, kedua istilah tersebut, konstanta ataupun literals sering digunakan secara bergantian. Contoh, "const int = 5", adalah bentuk ekspresi konstanta dan nilainya adalah 5 disebut sebgan konstanta integer literal.

satu, menggunakan direktif preprosesor #define: direktif ini digunakan untuk mendeklarasikan nama alias untuk variabel yang ada atau nilai apapun. Juga dapat digunakan untuk mendeklarasikan konstanta sebagai berikut:

#define identifierName value

identifierName: adalah nama yang diberikan untuk konstanta.
value: adalah nilai yang ditetapkan untuk identifierName.

Contoh pada bahasa C

Contoh pada bahasa C++
Dimana output dari kedua program tersebut adalah:
Integer Constant: 10
Floating point Constant: 4.5
Character Constant: G

dua, Menggunakan keyword konstanta: Menggunakan keyword konstanta untuk mendefinisikan konstanta sebagai suatu variabel sederhana, perbedaannya adalah dimana deklarasi didahului dengan awalan keyword const seperti diperlihatkan pada gambar 2.

cara mendeklarasikan konstanta pada bahasa c
Gambar 2 deklarasi konstanta

Berikut diperlihatkan contoh program menggunakan const untuk mendeklarasikan konstanta terhadap tipe data lainnya:

Pada bahasa C
Pada bahasa C++
Output dari kedua program tersebut adalah:
Integer constant: 10 
Floating point constant: 4.14
Character constant: A 
String constant: ABC