1 BAB I STRUKTUR UMUM DAN ELEMEN - ELEMEN POKOK PROGRAM I. DasarTeori A. Struktur Umum Program Program C/C++ harus diawali dengan pengarah praprosesor...
BAB I STRUKTUR UMUM DAN ELEMEN - ELEMEN POKOK PROGRAM I. DasarTeori A. Struktur Umum Program Program C/C++ harus diawali dengan pengarah praprosesor. Pengarah ini berfungsi untuk membaca pustaka-pustaka tertentu yang telah terdefinisikan dalam program dengan cara mendefinisikan file-judul (header file) di awal program. File judul berisi deklarasi fungsi-fungsi yang terkandung dalam suatu pustaka tertentu, sedang deklarasi tubuh fungsi biasanya dikandung oleh file-sumbernya (source file). File-judul diakhiri dengan ekstensi h dan .hpp, sedang file-sumber diakhiri dengan ekstensi .c dan .cpp. Akhiran ekstensi .h dan .c dipakai untuk pustaka yang ditulis dalam bahasa C, sedang akhiran ekstensi .hpp dan .cpp untuk pustaka yang ditulis dalam bahasa C++. Bentuk umum pendeklarasian pengarah praprosesor adalah
Jika bentuk pertama (# include ) dipakai maka pencarian file pustaka akan dilaksanakan pada direktori khusus (direktori include). Sedang jika bentuk kedua (# include “nama_file”) dipakai maka pencarian file pustaka pertama kali akan dilaksanakan pada direktori aktif tempat program sumber dan seandainya tidak ditemukan maka pencarian akan dilanjutkan pada direktori lain yang sesuai dengan perintah pada sistem operasi (PATH). Contoh 1.1: #include <stdio.h> #indude #indude “awal.hpp” Program C/C++ pada dasarnya tersusun atas sejumlah blok-blok fungsi. Sebuah program CIC++ minimal mengandung sebuah fungsi yakni fungsi utama atau fungsi main(). Setiap fungsi terdiri atas satu atau beberapa pemyataan. Pemyataan-pernyataan yang terdapat dalam fungsi main() secara keseluruhan disebut sebagai tubuh program. Setiap pemyataan dalam suatu fungsi main() diakhiri dengan tanda titik-koma (;).Pernyataan dalam tubuh fungsi main() dapat berupa deklarasi suatu variabel, konstanta, operai aritmetika, operasi i/o dan berbagai macam operasi lainnya. Universitas Gadjah Mada
1
Selain pernyataan atau perintah, dalam tubuh fungsi juga dapat diisi komentar untuk dokumentasi program. Komentar tidak ikut diproses pada saat eksekusi program. Komentar diawali dengan tanda dua garis miring (\\) ( atau diawali dengan tanda /* dan diakhiri dengan tanda*/ ). Tubuh fungsi diawali dan diakhiri dengan tanda kurung kurawal buka dan tutup ( { } ). Bentuk umum fungsi utama atau fungsi main() adalah :
Bentuk struktur umum program dalam bahasa pemprogaman C++ adalah sebagai benkut :
Contoh 1.2: # indude // praprosesor untuk pustaka i/o stream void main() { int a, b,c; II deklarasi variabel a=2; b=3; c=2*3; // pernyataan dan operasi cout << C; } B. PENGENAL Pengenal (Identifier) merupakan nama, simbol atau kata-kata yang dipakai untuk mendefinisikan variabel, konstanta, fungsi atau objek yang lain dalam suatu program.
Universitas Gadjah Mada
2
Aturan dalam mendefinisikan pengenal: Pengenal harus diawali dengan huruf (A..Z, a..z) atau karakter garis bawah (_). Karakter berikutnya dapat berupa huruf, angka (0..9), karakter garis bawah atau tanda dollar ($) Panjang pengenal maksimal 32 karakter Pengenal tidak boleh sama dengan kata kunci (keyword). Kata kunci adalah kata-kata yang sudah terdefinisikan secara baku dalam program. Daftar kata kunci dapat dilihat pada tabet 1.1 berikut Tabel 1. 1 Daftar kata kunci
C. TIPE DATA Tipe data menunjukkan jenis data yang dipakai di dalam mendefinisikan suatu variabel atau konstanta. Tipe data dasar adalah tipe data yang dapat diturunkan menjadi berbagai tipe data turunan lainnya. Terdapat tujuh tipe data dasar pada c++, yakni char, int, short, long, float, double dan long double. Dan tipe data dasar ini dapat diturunkan berbagal jenis tipe data turunan yang lain. Tipe data char dapat juga dipakai untuk mendefinisikan suatu karakter. Tipe data char, int, short dan long dipakai untuk mendefinisikan bilangan bulat. Tipe data float, double dan long double dipakai untuk mendefinisikan bilangan pecahan. Tipe data terkait dengan pengalokasian ruang memori yang akan digunakan program. Alokasi memori untuk berbagai tipe data dasar dapat dilihat pada tabel 1.2.
Universitas Gadjah Mada
3
Penambahan kata kunci unsigned di depan tipe data int, long dan char berarti menggeser range atau kisaran tipe data ini ke kisaran positif yang dimulai dari nol. Sebagai contoh tipe data int memiliki nilai berkisar — 32768 s/d 32767, maka setelah diberi tambahan unsigned didepannya (unsigned int) kisarannya menjadi 0 s/d 65535. D. VARIABEL DAN KONSTANTA Variabel adalah tempat untuk menampung suatu nilai data yang berubahubah dalam program selama eksekusi program berlangsung. Sebelum dipakai variabel harus dideklarasikan terlebih dahulu. Pendeklarasian variabel berarti memesan ruang memori dan menentukan jenis data yang dapat disimpan didalamnya. Bentuk umum pendeklarasian suatu variabel adalah:
Pada pendeklarasian di atas, tipe berupa salah satu jenis tipe data tertentu yang dipilih sesuai dengan alokasi memori dan jangkau nilai data yang akan digunakan. Sedang daftar_variabel merupakan nama pengenal yang diberikan untuk variabel bersangkutan. Contoh 1.3: int jumlah; float harga_unit, harga_total; char nilai; Suatu variabel perlu diberi nilai terlebih dahulu sebelum dipakai. Pemberian nilai suatu variabel harus sesuai dengan jangkau nilai dan tipe data yang dipakai. Nilai suatu variabel dengan tipe data char harus diapit dengan tanda petik tunggal diatas („).
Universitas Gadjah Mada
4
Contoh 1.4 : Jumlah = 10; harga_unit = 12.5; nilai = „C‟; Jika suatu variabel diisi dengan nilai di luar jangkauanya, maka nilai yang akan tersimpan akan diubah sesuai dengan jangkauannya. Misalnya, bila suatu variabel bertipe int diberi nilai 75000, maka yang tersimpan pada variabel itu menjadi 9464 sebab nilai positip terbesar pada tipe int adalah 32767. Pendeklarasian variabel juga dapat langsung diikuti inisialisasi (pengisian nilai awal) suatu variabel. Bentuk umumnya adalah:
Contoh 1.5: int jumlah = 100; float harga unit =30.2 , harga_total =0.78; char nilai „A‟; Pengisian tipe data karakter (char) dilaksanakan dengan meletakkan karakter dalam tanda petik tunggal („ „ ), seperti contoh diatas. Karakter yang didahului oleh tanda garis miring (\) mempunyai arti tersendiri. Karakter-karakter yang didahului oleh tanda garis miring (\) sering disebut sebagai karakter-karakter khusus. Tabel 1.3 menunjukkan karakter-karakter khusus dalam C++.
Universitas Gadjah Mada
5
Konstanta adalah suatu tempat menampung data yang memiliki nilai tetap selama eksekusi program. Konstanta dideklarasikan dan diberi nilai diawal program. Selama eksekusi program nilai yang dikandung pada suatu konstanta bersifat tetap dan tidak dapat dirubah. Bentuk umum deklarasi suatu konstanta adalah:
Atau
Contoh 1.6: const float pi ; pi = 3.14 ; const int maxint ; maxint= 100 ; const char nilai ; nilai =‟B‟;
Contoh 1.7 : const float pi =3.14 ; const int maxint = 100 ; const char nilai =„B‟;
E. STRING String merupakan deretan karakter yang diawali dan akhiri dengan tanda petik ganda (“), misalnya “ C++”. String disimpan dimemori secara berurutan. Setiap karakter menempati memori sebesar 1 byte. Setelah karakter yang terakhir terdapat karakter NULL (karakter dengan nilai ASCII sama dengan nol dan disimbolkan dengan „\0‟). Bila suatu string hanya berisi karakter NULL, maka string itu disebut string kosong. Dengan demikian, string pada dasarnya adalah larik karakter yang
Universitas Gadjah Mada
6
diakhiri oleh karakter NULL. Bentuk pemakaian memori oleh string “C++” di atas adalah:
String dapat disimpan di varibel string dengan panjang tertentu. Untuk memasukkan string yang terdiri dari satu buah kata (tidak ada pemisahan oleh spasi kosongnya) dan keyboard dapat dilaksanakan dengan fungsi cin diikuti operator >>. Sedang untuk memasukkan string yang terdirii dari beberapa kata dapat dilakukan dengan fungsi cin.get() dan fungsi cin.getline(). Fungsi cin.get() dipakai jika dilakukan pembacaan string yang mengabaikan spasi putih (spasi, tab atau newline (\n)). Sedang fungsi cin.getline() dipakai untuk merekam string per baris, karena ia memperhitungkan spasi putih termasuk tanda newline.
Contoh 1.8: char teks[15] ; //string dengan panjang maksimal 14 karakter cout <<“Masukkan sebuah kata” << endl; cin>> teks ; // memasukkan string dari keyboard cout <<“ Kata yang anda masukkan adalah” <
Contoh 1.9: char pesan[60] ; //string dengan panjang maksimal 59 karakter cout << “Masukkan pesananda” << end!; cin.getline ( pesan, sizeof(pesan)); // memasukkan string dari keyboard cout << “ Pesan yang anda masukkan adalah” <
Variabel string dapat diinisialisasi (diberi nilai awal) pada permulaan program. Oleh karena variabel string pada dasamya adalah jenis larik khusus, yakni larik karakter, maka inisialisasinya hampir menyerupai inisialisasi larik karakter. Contoh 1.10: char nama [ ] = {„S‟, „u‟, „b‟, „a‟, „n‟, „d‟, „r‟, „i‟, „o‟, „\0‟}; char bahasa [ ] ={ „b‟ , „a‟, „h‟, „s‟, „a‟, „\0‟, „C‟, „+‟, „\0‟} ;
Universitas Gadjah Mada
7
Penyalinan variabel string harus dilakukan dengan menggunakan format penyalinan larik atau dengan menggunakan fungsi strcopy(string,string) yang ada pada pustaka string.h. Contoh 1.11: # include # include <string.h> Void main () { char nama[ ] = “ Marjiyo”; char data[20] ; strcpy(data, nama); cout <<“Isi data :” <
F. OPERATOR Operator merupakan simbol atau karakter yang dipakai dalam program untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan dua nilai, mengisi nilai ke suatu variabel atau membandingkan kesamaan dua buah nilai. Terdapat beberapa tipe operator dalam program C/C++ yakni operator binary, operator unary, operator ternary, operator penugasan, operator manipulasi bit, operator penaikan dan penurunan, operator majemuk, operator relasi dan operator logika.
Jenis-Jenis Operator dalam program C/C++: o
Operator penugasan Operator penugasan adalah operator yang berfungsi untuk memberikan sembarang nilai ke suatu variabel. Operator ini berupa tanda sama dengan (=). Operator ini dapat dikenakan sebagai ungkapan atau berdiri sendiri sebagai pernyataan.
Contoh 1.12: a=1 ;//ungkapan b =2 +a ; // pernyataan c =2 +(d=2) // penugasan dalam ungkapan a=b=c=d= 34 ; // penugasan berganda o
Operator biner Operator biner adalah adalah operator yang dikenakan terhadap dua buah nilai (operand). Jenis-jenis operator biner dapat dilihat pada tabel 1.4. Universitas Gadjah Mada