File header
The application programming interface (API) dari standar C library dinyatakan dalam beberapa file header . Setiap file header berisi satu atau lebih fungsi deklarasi, tipe data definisi, dan macro.
Setelah periode panjang stabilitas, tiga file header baru ( iso646.h , wchar.h , serta wctype.h ) ditambahkan dengan Normatif Addendum 1 (NA1), penambahan Standar C diratifikasi pada tahun 1995. Enam lebih file header ( complex.h , fenv.h , inttypes.h , stdbool.h , stdint.h , dan tgmath.h ) ditambahkan dengan C99 , revisi dengan Standar C yang diterbitkan pada tahun 1999, dan lima file lebih ( stdalign.h , stdatomic.h , stdnoreturn.h , threads.h , dan uchar.h ) dengan C11 pada tahun 2011. Secara total, ada sekarang 29 tahun file header:
Nama
|
Dari
|
Deskripsi
|
Berisi menegaskan makro, yang digunakan untuk membantu mendeteksi kesalahan logis dan jenis lain dari bug di debug versi program.
| ||
C99
| ||
Mendefinisikan set fungsi yang digunakan untuk mengklasifikasikan karakter dengan jenis mereka atau untuk mengkonversi antara huruf besar dan kecil dalam suatu cara yang independen dari menggunakan set karakter (biasanya ASCII atau salah satu dari ekstensi, meskipun memanfaatkan implementasi EBCDIC juga dikenal).
| ||
Untuk menguji kode kesalahan dilaporkan oleh fungsi perpustakaan.
| ||
C99
| ||
Mendefinisikan konstanta makro menentukan sifat implementasi khusus dari floating-point perpustakaan.
| ||
C99
| ||
NA1
|
Mendefinisikan beberapa macro yang menerapkan cara-cara alternatif untuk mengekspresikan beberapa token standar. Untuk program di ISO 646 varian rangkaian karakter.
| |
<locale.h>
| ||
Mendeklarasikan makro setjmp dan longjmp , yang digunakan untuk exit non-lokal.
| ||
<stdalign.h>
|
C11
| |
Untuk mengakses berbagai jumlah argumen dilewatkan ke fungsi.
| ||
<stdatomic.h>
|
C11
| |
C99
| ||
C99
| ||
Mendefinisikan masukan inti dan output fungsi
| ||
<stdlib.h>
|
Mendefinisikan fungsi numerik konversi , angka semu-acak fungsi generasi , alokasi memori , fungsi kontrol proses
| |
<stdnoreturn.h>
|
C11
|
Untuk menentukan fungsi-fungsi non-kembali.
|
C99
| ||
<threads.h>
|
C11
| |
Mendefinisikan tanggal dan waktu fungsi penanganan
| ||
<uchar.h>
|
C11
| |
NA1
| ||
NA1
|
Mendefinisikan set fungsi yang digunakan untuk mengklasifikasikan karakter lebar jenis mereka atau untuk mengkonversi antara kasus besar dan kecil
|
Tiga dari file header ( complex.h , stdatomic.h , threads.h ) adalah fitur bersyarat bahwa implementasi perlu tidak mendukung.
The POSIX standar menambahkan beberapa header C tidak standar untuk fungsi Unix spesifik. Banyak telah menemukan cara mereka ke arsitektur lain. Contoh termasuk unistd.h dansignal.h . Sejumlah kelompok lain menggunakan header tidak standar lainnya - sebagian besar rasa Linux memiliki alloca.h , dan HP OpenVMS memiliki va_count () function.
Dokumentasi
Pada sistem mirip Unix, dokumentasi otoritatif API benar-benar diterapkan disediakan dalam bentuk halaman manual . Pada kebanyakan sistem, halaman manual pada fungsi perpustakaan standar dalam bagian 3, bagian 7 mungkin berisi beberapa halaman yang lebih umum pada konsep yang mendasari (misalnya man 7 math_error di Linux ).
Implementasi
Mirip Unix sistem biasanya memiliki perpustakaan C dalam shared library bentuk, tetapi file header (dan compiler toolchain) mungkin absen dari instalasi sehingga pembangunan C tidak mungkin. Perpustakaan C dianggap sebagai bagian dari sistem operasi pada sistem Unix-like. Fungsi C, termasuk yang standar ISO C, secara luas digunakan oleh program, dan dianggap seolah-olah mereka tidak hanya sebuah implementasi dari sesuatu di bahasa C, tetapi juga de facto bagian dari antarmuka sistem operasi. Mirip Unix sistem operasi pada umumnya tidak dapat berfungsi jika perpustakaan C akan dihapus.
Sebaliknya, pada Microsoft Windows, sistem inti pustaka dinamis ( DLL ) tidak memberikan sebuah implementasi dari standar C library, ini disediakan oleh masing-masing compiler individual.Aplikasi dikompilasi ditulis dalam C yang baik statis terhubung dengan perpustakaan C, maupun terkait dengan versi dinamis perpustakaan yang dikirimkan dengan aplikasi ini, daripada diandalkan untuk hadir pada sistem target. Fungsi dalam compiler C perpustakaan tidak dianggap sebagai interface untuk Microsoft Windows.
Banyak implementasi lain ada, dilengkapi dengan baik berbagai sistem operasi dan kompiler C.
Walaupun telah ada terlalu banyak implementasi ke daftar, populer beberapa implementasi berikut:
· Bionic , awalnya dikembangkan oleh Google pada sistem operasi Android Sistem tertanam, berasal dari libc BSD.
Compiler built-in fungsi
Beberapa compiler (misalnya, GCC ) menyediakan built in versi banyak fungsi di perpustakaan standar C, yaitu, implementasi dari fungsi ditulis ke dalam dikompilasi file objek , dan program panggilan bawaan dalam versi bukan fungsi di perpustakaan C bersama objek berkas. Hal ini mengurangi biaya overhead pemanggilan fungsi, terutama jika panggilan fungsi diganti dengan inlinevarian, dan memungkinkan bentuk-bentuk optimasi (sebagai compiler tahu kontrol aliran karakteristik built in varian), tetapi dapat menyebabkan kebingungan ketika debugging (misalnya, versi built-in tidak bisa diganti dengan diinstrumentasi varian).
Namun, fungsi built-in harus berperilaku seperti fungsi biasa sesuai dengan ISO C. Implikasi utama adalah bahwa program ini harus mampu membuat pointer ke fungsi ini dengan mengambil alamat mereka, dan memanggil fungsi dengan cara pointer itu. Jika dua pointer ke fungsi yang sama berasal dalam dua unit terjemahan yang berbeda dalam program ini, kedua pointer harus membandingkan sama, yaitu, alamat datang dengan memecahkan nama fungsi, yang memiliki eksternal (program-wide) linkage.
Menghubungkan, libm
Di bawah Linux dan FreeBSD, fungsi-fungsi matematika (seperti dinyatakan dalam math.h ) digabung secara terpisah di perpustakaan matematis libm . Jika salah satu dari mereka yang digunakan, linker harus diberikan direktif -lm .
Deteksi
Menurut standar C makro __STDC_HOSTED__ harus didefinisikan 1 bila pelaksanaan host. Sebuah host implementasi memiliki semua header ditentukan oleh standar C. Implementasi juga dapatberdiri sendiri yang berarti bahwa header ini tidak akan hadir. Jika implementasi berdiri bebas , ia harus menentukan __STDC_HOSTED__ untuk 0 .
Konsep, masalah, workarounds
Kerentanan buffer overflow
Beberapa fungsi dalam perpustakaan standar C sudah terkenal karena memiliki buffer overflow kerentanan dan secara umum mendorong pemrograman kereta sejak adopsi mereka. Item yang paling dikritik adalah:
· rutinitas string manipulasi , termasuk strcpy () dan strcat (), karena kurangnya batas pemeriksaan dan kemungkinan buffer overflows jika batas-batas ini tidak diperiksa secara manual;
· string dalam rutinitas umum, untuk efek samping , mendorong penggunaan penyangga tidak bertanggung jawab, tidak selalu valid menjamin diakhiri dengan null output, perhitungan Panjang linier,
· printf () rutinitas keluarga, untuk merusak eksekusi tumpukan ketika format string tidak cocok dengan argumen yang diberikan. Ini cacat mendasar menciptakan seluruh kelas serangan:serangan format string ,
· mendapatkan () dan scanf () keluarga I / O rutinitas, karena kurangnya (baik salah satu atau mudah) panjang masukan pemeriksaan.
Kecuali kasus ekstrim dengan mendapatkan () , semua kerentanan keamanan dapat dihindari dengan memperkenalkan kode bantu untuk melakukan manajemen memori, batas memeriksa, memeriksa input, dll Hal ini sering dilakukan dalam bentuk pembungkus yang membuat fungsi perpustakaan standar lebih aman dan lebih mudah untuk gunakan. Ini tanggal kembali ke sediniThe Practice of Programming book by B. Kernighan, dan R. Pike di mana penulis biasanya menggunakan pembungkus yang mencetak pesan kesalahan dan keluar dari program jika terjadi kesalahan.
Komite ISO C yang diterbitkan laporan Teknis TR 24731-1 , dan bekerja pada TR 24731-2 untuk mengusulkan penerapan beberapa fungsi dengan batas alokasi pemeriksaan dan penyangga otomatis, Sejalan. Yang pertama telah bertemu dengan beberapa kritik keras pujian, yang terakhir menerima tanggapan beragam. Meskipun demikian, TR 24731-1 telah diterapkan ke dalam Microsoft C standar library dan isu-isu peringatan compiler ketika menggunakan fungsi tua 'tidak aman'.
Masalah threading, kerentanan terhadap kondisi ras
Penanganan kesalahan
Kesalahan penanganan fungsi di perpustakaan standar C tidak konsisten dan kadang-kadang membingungkan. Hal ini dapat diringkas dengan cukup baik oleh halaman manual Linuxmath_error yang mengatakan:
Saat ini (versi 2.8) situasi di bawah glibc berantakan. Sebagian besar (tetapi tidak semua) fungsi meningkatkan pengecualian pada kesalahan. Beberapa juga menetapkan errno.Beberapa set fungsi errno, tetapi tidak meningkatkan pengecualian. Sangat sedikit fungsi melakukan keduanya.
Asli bahasa C tidak memberikan built-in fungsi seperti operasi I / O, tidak seperti bahasa tradisional seperti COBOL dan Fortran ] Seiring waktu, masyarakat pengguna ide C bersama dan implementasi dari apa yang sekarang disebut C perpustakaan standar. Banyak dari gagasan ini dimasukkan pada akhirnya ke dalam definisi dari bahasa C standar.
Kedua Unix , dan C diciptakan di AT & T Bell Laboratories di akhir tahun 1960 dan awal tahun 1970. Selama tahun 1970 bahasa C menjadi semakin populer. Banyak universitas dan organisasi mulai menciptakan varian mereka sendiri dari bahasa untuk proyek mereka sendiri. Pada awal 1980 masalah kompatibilitas antara berbagai implementasi C menjadi jelas. Pada tahun 1983American National Standards Institute (ANSI) membentuk sebuah komite untuk menetapkan spesifikasi standar C dikenal dengan " ANSI C ". Karya ini memuncak dalam penciptaan yang disebut C89 standar pada tahun 1989. Bagian dari standar yang dihasilkan adalah satu set perpustakaan perangkat lunak yang disebut C library standar ANSI.
POSIX perpustakaan
POSIX (dan SUS ) menetapkan sejumlah rutinitas yang harus tersedia di atas dan di atas mereka dalam standar C library yang tepat, ini seringkali dilaksanakan bersama standar C fungsi library, dengan berbagai tingkat kedekatan. Sebagai contoh, glibc mengimplementasikan fungsi seperti garpu dalam libc.so , tapi sebelum NPTL dilebur ke dalam glibc itu merupakan sebuah perpustakaan yang terpisah dengan linker sendiri argumen benderanya. Seringkali, fungsi ini POSIX yang ditentukan akan dianggap sebagai bagian dari perpustakaan; perpustakaan C yang tepat dapat diidentifikasi sebagai ANSI atau ISO C perpustakaan.
C standar perpustakaan dalam bahasa lain
Beberapa bahasa termasuk fungsi standar C library di perpustakaan mereka sendiri. Perpustakaan dapat diadaptasi agar lebih sesuai dengan struktur bahasa, tetapi semantik operasi yang disimpan serupa. The C + + bahasa, misalnya, meliputi fungsi perpustakaan standar C dalam namespace std (misalnya std :: printf , std :: atoi , std :: feof ), di file header dengan nama yang mirip dengan yang C ( cstdio , cmath , cstdlib , dll). Bahasa lain yang mengambil pendekatan serupa D serta penerapan utama Python dikenal sebagai CPython . Pada yang terakhir, misalnya, built-in file objek didefinisikan sebagai "diimplementasikan menggunakan C stdio paket ", sehingga operasi yang tersedia (membuka, membaca, menulis, dll) diharapkan memiliki tingkah laku yang sama dengan fungsi C yang sesuai.
Perbandingan dengan perpustakaan standar bahasa lain
C standar perpustakaan kecil dibandingkan dengan perpustakaan standar beberapa bahasa lain. Perpustakaan C menyediakan set dasar fungsi matematika, manipulasi string, jenis konversi, dan berkas, dan yang berbasis konsol I / O Ini tidak termasuk satu set standar " jenis wadah "seperti C + + Standard Template Library , apalagi lengkap user interface grafis (GUI) toolkit, alat jaringan, dan profesi fungsi lain yang Jawa , dan . NET menyediakan sebagai standar. Keuntungan utama dari perpustakaan standar kecil adalah bahwa menyediakan lingkungan ISO C bekerja jauh lebih mudah daripada dengan bahasa lain, dan karenanya port C ke platform baru relatif mudah.
C++
C++ adalah bahasa pemrograman komputer yang di buat oleh (Bjarne Stroustrup) merupakan perkembangan dari bahasa C dikembangkan di Bell Labs (Dennis Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an, Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level coding). Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).
Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam su-submasalah yang lebih kecil, Selain itu, C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class.
Standarisasi
Year
|
C++ Standard
|
Informal name
|
2011
|
ISO/IEC 14882:2011[4]
| |
2007
|
ISO/IEC TR 19768:2007[5]
| |
2003
|
ISO/IEC 14882:2003[6]
|
C++03
|
1998
|
ISO/IEC 14882:1998[7]
|
C++98
|
Pada tahun 1998, C++ Standar Komite (ISO/IEC JTC1/SC22/WG21 Working Group)mengeluarkan Standar Internasional ISO/IEC 14882:1998 yang digunakan selama beberapa tahun. Pada tahun 2003 dirilis versi yang telah dikoreksi, ISO/IEC 14882:2003. Pada tahun 2005, Laporan Teknis yang disebut "Laporan Teknis Perpustakaan 1" (sering dikenal sebagai TR1),dirilis. Revisi terbaru dari standar C++ adalah C+11 (sebelumnya dikenal C++0x) telah disetujui oleh ISO/IEC pada tanggal 12 Agustus 2011. Telah diterbitkan sebagai 14882:11.
Contoh Program C++
Contoh program sederhana C++ untuk hello world dengan menggunakan Pustaka Dasar C++ dapat dilihat di bawah ini:
#include <iostream>
int main()
{
std::cout << "hello world"<<std::endl;
return 0;
}
Keterangan
Baris pertama :
#include <iostream.h>
Sebagai bagian dari proses kompilator, Kompilator dari c++ menjalankan program yang dinamakan preprosesor. Preprosesor memiliki kemampuan menambahkan dan menghapus kode dari sumber, Pada bagian #include memberitahuakan preprosesor untuk menyertakan kode dari iostream, Berkas iostream berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh perangkat lunak, atau class-class yang dibutuhkan.
Baris kedua :
int main ()
Pernyataan ini mendeklarasikan fungsi utama, bahwa suatu program C++ dapat berisi banyak fungsi, yang harus selalu memiliki sebuah fungsi utama (main function), Fungsi adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu. Kata Void menandakan fungsi main tidak bertipe.
Baris ketiga :
{
Kurung kurawal buka menandakan awal program.
Baris keempat :
std::cout << "Hello world\n";
Cout adalah sebuah object dari Pustaka perangkat lunak standart C++ yang digunakan untuk mencetak string ke piranti output standart, yang biasanya adalah layar komputer, Compiler menghubungkan kode dari pustaka perangkat lunak standar itu dengan kode yang telah ditulis untuk mendapatkan hasil executable, Tanda
\n
adalah format modifier yang digunakan untuk berganti baris setelah menampilkan string, jika ada cout lain pada program tersebut, maka string yang menyertainya akan dituliskan pada baris bawahnya. Baris kelima:
}
Kurung kurawal tutup menandakan akhir program.
Kata yang dipesan
Kelompok pertama
C++ mempunyai 32 buah kata yang dipesan (reserved words), Kata kunci kelompok pertama merupakan turunan dari bahasa C, di antaranya:
auto
|
const
|
double
|
float
|
int
|
short
|
Struct
|
unsigned
|
break
|
continue
|
else
|
for
|
long
|
signed
|
Switch
|
void
|
case
|
default
|
enum
|
goto
|
register
|
sizeof
|
typedef
|
volatile
|
char
|
do
|
extern
|
if
|
return
|
static
|
Union
|
while
|
Kelompok kedua
Kata yang dipesan kelompok kedua berjumlah 30. Kata-kata ini adalah baru dan hanya ada di bahasa C++.
Asm
|
dynamic_cast
|
namespace
|
reinterpret_cast
|
try
|
Bool
|
Explicit
|
new
|
static_cast
|
typeid
|
Catch
|
False
|
operator
|
template
|
typename
|
Class
|
Friend
|
private
|
this
|
using
|
const_cast
|
Inline
|
public
|
throw
|
virtual
|
delete
|
Mutable
|
protected
|
true
|
wchar_t
|
Kata-kata yang dipesan tersebut di atas tidak boleh dipakai sebagai nama variable, class, enum, macro, dan struct.
1. include <stdio.h>
int maksimum (int,int); void tulis (int);
main() int nilai 1,nilai 2,nilai maks; printf (*\n ketikkan dua bilangan bulat:); scanf("%d%d",& nilai 1,nilai 2);
nilai maks=maksimum (nilai 1,nilai 2); tulis(nilai maks); returns 0;
int maksimum(int x1,int x2) if (x1>x2) return x1; else return x2;
void tulis(int x) printf("\n hasilnya adalah :%d",x);
Tipe data dasar
Untuk menyimpan suatu variabel diperlukan tempat khusus di dalam memori komputer, Besar dan tipe dari Variabel-variabel di dalam standar program C++ dispesifikasikan sebagai berikut.
Nama
|
Keterangan
|
Ukuran
|
Jangkauan
|
char
|
Abjad/karakter atau untuk bilangan bulat kecil
|
1 byte
|
signed: -128 to 127
unsigned: 0 to 255
|
short int (short)
|
Bilangan bulat dengan jangkauan pendek
|
2 byte
|
signed: -32768 to 32767
unsigned: 0 to 65535
|
int
|
Bilangan bulat
|
4 byte
|
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
|
long int (long)
|
Integer dengan jangkauan panjang
|
4 byte
|
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
|
bool
|
Boolean, dapat bernilai benar atau salah (true or false)
|
i byte
|
true or false
|
float
|
Angka dengan titik mengambang (bilangan cacah)
|
4 byte
|
3.4e +/- 38 (7 digit)
|
double
|
Bilangan cacah dengan ketelitian ganda
|
8 byte
|
1.7e +/- 308 (15 digits)
|
long double
|
Bilangan cacah dengan ketelitian ganda panjang
|
8 byte
|
1.7e +/- 308 (15 digits)
|
wchar_t
|
Karakter lebar, biasa dipakai untuk Unicode karakter
|
2 byte
|
1 karakter lebar
|
1.Void fungsi tanpa nilai balik :
Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.
Ciri-ciri dari jenis fungsi Void adalah sebagai berikut:
Ciri-ciri dari jenis fungsi Void adalah sebagai berikut:
Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun.
void tampilkan_jml (int a, int b)
{
int jml;
jml = a + b;
cout<
}
Contoh :
#include
#include
void luas(int &ls, int p, int l)
{
ls = p*l;
}
main()
{
int pj,lb, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
luas(hsl,pj,lb);
cout<<"\nLuasnya = "<
getch();
Non-Void (Fungsi Dengan Nilai Balik)
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut .
Ciri-ciri dari jenis fungsi non void adalah sebagai berikut:
#include
#include
int luas(int p, int l)
{return (p*l); }
main(){
int pj,lb;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"\nLuasnya = "<
getch();
}
Bahasa pemrograman memiliki cara yang tersendiri untuk mendapatkan akses memori. Dalam bahasa C maupun C++ membutuhkan suatu file yang digunakan untuk mengakses hal tersebut yaitu File Header. File Header adalah file yang berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh program baik itu sebagai standar Input/Output maupun sebagai syntax.
Fungsi File Header antara kain sebagai berikut :
- Untuk manajement memori
- Untuk memanggil routines ROM BIOs
- Untuk fungsi matematika komplek
- Untuk memanggil console DOS Input Output
- Untuk routing basic di C++
- Untuk beberapa fungsi rutin (Seperti konversi)
- Untuk Menguakkan manipulator
- Untuk operasi string dan karakter
Macam-macam File Header yang sering digunakan adalah sebagai berikut :
Stdio.h
stdio.h : Merupakan singkatan dari standar input output header yang digunakan sebagai standar input output operasi yang digunakan oleh bahasa C, akan tetapi bisa juga digunakan dalam bahasa C++. Fungsi-fungsi yang ada didalam stdio.hantara lain sebagai berikut :
· printf() : merupakan fungsi keluaran yang digunakan untuk menampilkan informasi/pesan kelayar secara terformat (menentukan tipe data yang akan dikeluarkan).
· puts() : merupakan fungsi keluaran yang digunakan untuk menampilkan informasi/pesan yang bertipe data string (tanpa harus melakukan penentuan tipe data terlebih dahulu).
· putchar() : merupakan fungsi keluaran yang digunakan untuk menampilkan informasi/pesan yang bertipe data char(tanpa harus melakukan penentuan tipe data terlebih dahulu).
· scanf() : merupakan fungsi masukan yang digunakan untuk menginputkan data numerik, karakter, dan string secara terformat (menentukan tipe data yang akan dimasukan).
· gets() : merupakan fungsi masukan yang khusus untuk menerima masukan tipe data string (tanpa harus melakukan penentuan tipe data terlebih dahulu).
Contoh program :
/* input & output */
#include <stdio.h>
#include <conio.h>
void main()
{
int a = 10;
float b = 7.50;
clrscr();
printf(“Bilangan A = %d \n”, a);
printf(“Bilangan B = %f \n”, b);
printf(“Bilangan B = %0.2f \n”, b);
getch();
}
Iostream.h
iostream.h : Merupakan singkatan dari input outout stream header yang digunakan sebagai standar input output operasi yang digunakan oleh bahasa C++. Fungsi-fungsi yang ada didalam iostream.h antara lain sebagai berikut :
· cout : merupakan fungsi keluaran pada C++ yang menampilkan data dengan tipe data apapun kelayar.
· cin : merupakan fungsi masukan pada C++ yang bisa memasukan data berupa numerik dan karakter.
· endl : merupakan suatu fungsi yang manipulator yang digunakan untuk melakukan perintah Newline atau pindah baris
contoh program :#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
void main ()
{
int A=10, B=20;
clrscr();
cout << hex << setiosflags(ios::uppercase);
cout << setiosflags(ios::showbase);
cout << A << endl;
cout << oct;
cout << B << endl;
getch();
}
conio.h
conio.h : Merupakan File Header yang berfungsi untuk menampilkan hasil antarmuka kepada pengguna. Fungsi -fungsi yang ada didalam conio.h antara lain sebagai berikut :
· getch() : merupakan singkatan dari get character and echo yang digunakan untuk menahan (pause) output suatu program dan akan kembali mengeksekusi setelah kita melakukan inputan baik itu tombol enter atau tombol lainnya dan inputan tersebut tidak ditampilkan dalam window.
· getche() : secara fungsi sama dengan getch() akan tetapi ketika melakukan inputan, inputan tersebut tampil dalam window.
· clrscr() : merupakan singkatan dari clear screen yang digunakan untuk membersihkan layar windows .
contoh program :
#include <stdio.h>
#include <conio.h>
void main()
{
int a, b, c = 0;
clrscr();
printf(“Masukkan Nilai A : “); scanf(“%d”, &a);
printf(“Masukkan Nilai B : “); scanf(“%d”, &b);
c = a + b;
printf(“Hasil Penjumlahan = %d”, c);
getch();
}
math.h
math.h : Merupakan file header yang berfungsi untuk operasi matematika.Fungsi-fungsi yang ada di math.h antara lain sebagai berikut :
· sqrt() : fungsi ini digunakan untuk menghitung akar dari suatu bilangan. Bentuk umum penulisannya adalah sqrt(bilangan); .
· pow() : fungsi ini digunakan untuk menghitung hasil dari perpangkatan suatu bilangan . Bentuk umum penulisannya adalahpow(bilangan,pangkat); .
· sin(), cos(), tan() : fungsi ini digunakan untuk menghitung nilai sinus, cosinus, dan tangen dari sudut yang dimasukan. Bentuk umum penulisannya adalah sin(bilangan); .
/*
Contoh script program dengan menggunakan file header math.h
*/
#include <iostream.h>
#include <conio.h>
#include <math.h>
main()
{
Contoh script program dengan menggunakan file header math.h
*/
#include <iostream.h>
#include <conio.h>
#include <math.h>
main()
{
int a = 45;
int b = 4;
int c = 2;
float ipangkat, iakar, isin ,icos, itan;
iakar = sqrt(b);
cout<<"Akar dari "<<b<<" adalah"<<iakar<<endl;
ipangkat = pow(b,c);
cout<<b<<" pangkat "<<c<<" adalah"<<ipangkat<<endl;
isin = sin(a);
cout<<"sin sudut "<<a<<" derajat adalah"<<isin<<endl;
icos = cos(a);
cout<<"cos sudut "<<a<<" derajat adalah"<<icos<<endl;
itan = tan(a);
cout<<"tan sudut "<<a<<" derajat adalah"<<itan;
getch();
}
stdlib.h
stdlib.h : Merupakan file header yang berfungsi untuk operasi pembanding dan operasi konversi. Fungsi-fungsi yang ada di stdlib.h antara lain sebagai berikut :
· max() : fungsi ini digunakan untuk menentukan nilai maximum dari 2 bilangan yang diinputkan. Bentuk penulisannya adalah max(bilangan1,bilangan2); .
· min() : fungsi ini digunakan untuk menentukan nilai minimum dari 2 bilangan yang diinputkan. Bentuk penulisannya adalah min(bilangan1,bilangan2); .
· atof() : fungsi ini digunakan untuk mengkonversi nilai string menjadi bilangan bertipe double. Bentuk umum penulisannya adalah atof(char nama_variabel); .
· atoi() : fungi ini digunakan untuk mengkonversi nilai string menjadi bilangan bertipe integer. Bentuk umum penulisannya adalah atoi(char nama_variabel); .
/*
Contoh script program dengan menggunakan file header stdlib.h
*/
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
main()
{
char a[10], b[10];
int bil1, bil2,imax, imin;
cout<<"Masukan Bilangan 1 : ";cin>>a;
cout<<"Masukan Bilangan 2 : ";cin>>b;
bil1 = atoi(a);
cout<<"Bilangan 1 adalah "<<bil1<<endl;
bil2 = atoi(b);
cout<<"Bilangan 2 adalah "<<bil2<<endl;
imax = max(bil1,bil2);
cout<<"Nilai yang paling besar adalah "<<imax<<endl;
imin = min(bil1,bil2);
cout<<"Nilai yang paling kecil adalah "<<imin;
getch();
}
Contoh script program dengan menggunakan file header stdlib.h
*/
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
main()
{
char a[10], b[10];
int bil1, bil2,imax, imin;
cout<<"Masukan Bilangan 1 : ";cin>>a;
cout<<"Masukan Bilangan 2 : ";cin>>b;
bil1 = atoi(a);
cout<<"Bilangan 1 adalah "<<bil1<<endl;
bil2 = atoi(b);
cout<<"Bilangan 2 adalah "<<bil2<<endl;
imax = max(bil1,bil2);
cout<<"Nilai yang paling besar adalah "<<imax<<endl;
imin = min(bil1,bil2);
cout<<"Nilai yang paling kecil adalah "<<imin;
getch();
}
String.h
string.h : Merupakan file header yang berfungsi untuk melakukan manipulasi string. Fungsi-fungsi yang ada di string.h antara lain sebagai berikut :
· strcpy() : fungsi ini digunakan untuk menyalin suatu string ke variabel tujuan. Bentuk umum penulisannya adalah strcpy(variabeltujuan, string); .
· strlen() : fungsi ini digunakan untuk menghitung jumlah karakter yang ada dalam suatu string. Bentuk umum penulisannya adalahstrlen(string); .
· strcmp() : fungsi ini digunakan untuk membandingkan 2 buah string. Bentuk umum penulisannya adalah strcmp(string1,string2); .
· strrev() : fungsi ini digunakan untuk membalikan urutan suatu string. Bentuk umum penulisannya adalah strrev (string); .
· strlwr() : fungsi ini digunakan untuk mengubah semua huruf menjadi huruf kecil. Bentuk umum penulisannya adalah strlwr(sterng); .
· strupr() : fungsi ini digunakan untuk mengubah semua huruf menjadi huruf kapital. Bentuk umum penulisannya adalah strupr(string); .
· strcat() : fungsi ini digunakan untuk menggabungkan 2 buah string, untuk menggunakan fungsi ini juga harus menambahkan file headerctype.h. Bentuk umum penulisannya adalah strcat(variabeltujuan, string); .
/*
Contoh script program dengan menggunakan file header string.h
*/
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
main()
{
char kata[50];
char kata2[50];
cout<<"Masukan Kata : ";gets(kata);
cout<<"Panjang kata = "<<strlen(kata)<<" karakter"<<endl;
strcpy(kata2,kata);
strlwr(kata);
cout<<"Kata yang di copy : "<<kata2<<endl;
cout<<"Kata menjadi huruf kecil : "<<kata<<endl;
strupr(kata);
cout<<"Kata menjadi huruf kapital : "<<kata<<endl;
strrev(kata);
cout<<"Kata yang dibalik : "<<kata<<endl;
getch();
}
Contoh script program dengan menggunakan file header string.h
*/
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
main()
{
char kata[50];
char kata2[50];
cout<<"Masukan Kata : ";gets(kata);
cout<<"Panjang kata = "<<strlen(kata)<<" karakter"<<endl;
strcpy(kata2,kata);
strlwr(kata);
cout<<"Kata yang di copy : "<<kata2<<endl;
cout<<"Kata menjadi huruf kecil : "<<kata<<endl;
strupr(kata);
cout<<"Kata menjadi huruf kapital : "<<kata<<endl;
strrev(kata);
cout<<"Kata yang dibalik : "<<kata<<endl;
getch();
}
Iomanip.h
Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang prototype-nya berada di file judul iomanip.h
a) dec, oct dan hex : dec, oct dan hex merupakan suatu fungsi manipulator yang digunakan untuk menampilkan data dalam bentuk desimal, oktal dan hexadesimal.
b) setprecision () : Fungsi setprecision() merupakan suatu fungsi anipulator yang digunakan ntuk mengatur jumlah digit desimal yang ingin ditampilkan. Fungsi ini biasa pada fungsi cout().
c) setbase (int n) : Fungsi setbase () merupakan suatu fungsi manipulator yang digunakan untuk mengkonversi ke bilangan basis n (n= 8, 10 atau 16)
d) setw(int n) : Fungsi setw(int n) merupakan suatu fungsi manipulator yang digunakan untuk mengatur lebar field (spasi) untuk suatu nilai sebesar n karakter
e) setfill(int c) : Fungsi setfill(int c) merupakan suatu fungsi manipulator yang digunakan untuk menyetel karakter pemenuh berupa c
f) setiosflags(long f) : Fungsi setiosflags()merupakan suatu fungsi manipulator yang digunakan untuk menyetel format yang ditentukan oleh f
g) resetiosflags(long f) : Merupakan suatu fungsi manipulator yang digunakan untuk menghapus format yang ditentukan oleh f
contoh program :
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
void main()
{
int nilai = 11;
cout<<"Nilai = "<<nilai<<endl;
cout<<"Nilai ke Octal = "<<oct<<nilai<<endl;
cout<<"Nilai ke Hexadesimal = "<<hex<<nilai<<endl;
cout<<"Nilai ke Desimal = "<<dec<<nilai<<endl;
getch();
}
makasih
ReplyDeletePinset CODY