• Tidak ada hasil yang ditemukan

Universitas Gadjah Mada 1

N/A
N/A
Protected

Academic year: 2021

Membagikan "Universitas Gadjah Mada 1"

Copied!
19
0
0

Teks penuh

(1)

Universitas Gadjah Mada 1 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 <nama_file>) 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 <iostream.h> #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.

(2)

Universitas Gadjah Mada 2 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 <iostream.h> // 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.

(3)

Universitas Gadjah Mada 3 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.

(4)

Universitas Gadjah Mada 4 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 berubah-ubah 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 („).

(5)

Universitas Gadjah Mada 5 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++.

(6)

Universitas Gadjah Mada 6 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

(7)

Universitas Gadjah Mada 7 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” <<teks <<endl;

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” <<pesan <<endi;

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‟} ;

(8)

Universitas Gadjah Mada 8 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 <iostream.h> # include <string.h> Void main ()

{

char nama[ ] = “ Marjiyo”; char data[20] ;

strcpy(data, nama);

cout <<“Isi data :” <<data <<endl; }

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.

(9)

Universitas Gadjah Mada 9 Contoh 1.13:

float a, b, c, d, e, f a = 2.1 ; b = 4.6

c = a*b; d = a/b ; e = a+b; f= a - b cout <<“ a = ” <<a <<endl;

cout <<“b = ” <<b <<endl;

cout << “ Hasil perkalian “ <<a <<” dengan” <<b <<“adalah” <<c << endl;

cout <<“ Hasil pembagian “<< a <<“ oleh” << b <<“adalah” << d<< endl;

cout <<“ Hasil penjumlahan “<< a <<“ dengan” <<b <<“adalah” <<e << endl;

cout <<“ Hasil pengurangan “<< a <<“ oleh “<<b <<“adalah” <<f<< endi;

o Operator unary

Operator unary adalah operator yang hanya dikenakan terhaap satu operand. Jenis-jenis operator unary dapat dilihat pada tabel 1.5.

Contoh 1.14: int a, b, c, d, e, f a = 10 ; b = 21; c = -a;

d = +b;

cout <<” Minus dari ” <<a <<” adalah” << c ; o Operator ternary

(10)

Universitas Gadjah Mada 10 Contoh 1.15:

float a, b, c, d, e, f, a = 2.1 ; b = 4.6 ;

c = (a>b) ? a : b ; // a lebih kecil dari b maka c diisi b o Operator manipulasi bit

Operator manipulasi bit berfungsi untuk memanipulasi data dalam bit, C++ menyediakan enam buah operator manipulasi bit seperti yang terlihat pada tabel 1. 6 berikut.

Contoh 1.16:

unsigned char x =93 ; y =40;

cout <<“ Nilai x semula = ” <<x <<endl; x <<1 ;

cout <<“ Nilai x setelah digeser ke kiri 1 kali =” <<x <<endl; cout <<“ Nilai y semula = ” <<y << endl;

y>>2;

cout <<“Nilai y setelah digeser ke kanan 2 kali = “ <<y <<endl; o Operator penaikan dan penurunan

Operator penaikan atau penurunan adalah operator yang digunakan untuk menaikkan (increment) atau menurunkan (decrement) suatu nilai variabel sebesar satu. Tabel 1.7 menunjukkan variasi operator penaikan dan penurunan.

Contoh 1.17: Int a,b; a = 2; b=10;

cout <<“Nilai mula-mula” <<a <<“ dan ”<< b<< endl; a++; b±+;

(11)

Universitas Gadjah Mada 11 a-- ; b--;

cout <<“Nilai setelah diturunkan” <<a <<“ dan ”<<b<< endl;

o Operator majemuk

Operator majemuk adalah operator yang digunakan untuk memendekkan operasi-operasi penugasan. Tabel 1. menunjukkan jenis-jenis operator majemuk dan contoh-contohnya.

Contoh 1.18: int a , b ; a = 2; b=10;

cout <<“Nilai mula-mula” <<a <<“ dan ”<< b<< endl; a+= 2; b+=3;

cout <<“Nilai setelah dinaikkan” <<a <<“ dan ”<<b<< endl; a-=4; b- = 6;

cout <<“Nilai setelah diturunkan” <<a <<“ dan ”<<b<< endl; o Operator operator relasi

Operator relasi biasanya digunakan untuk membandingkan dua buah nilai. Jika benar maka hasilnya akan bemilai 1 dan jika salah hasilnya akan bemilai nol. Jenis-jenis operator relasi dapat dilihat pada tabel 1.9.

Contoh 1.19: int nilai ;

(12)

Universitas Gadjah Mada 12 cout <<“nilai ” <<nilai <<endl;

nilai = 3>2 // hasil ungkapan benar cout <<“nilai ” <<nilai <<endl; o Operator logika

Operator logika biasanya dipakai untuk menghubungkan dua buah ungkapan kondisi. Tabel 1.10 menunjukkan jenis-jenis operator logika dalam C++. Sedang hasil dan operasi logika dapat dilihat pada tabel 1.11.

Contoh 1.20: int x = 200; cout <<“((x > =1) && (x<=50) )--->“ << ((x>=1) && (x<=50) ) <<endl; cout <<“((x> =1) || (x<=50) )--->“ <<((x>=1) || (x<=50) ) <<endl; o Prioritas Operator

Prioritas pengerjaan atau eksekusi operator berlainan antara satu operator dengan operator lainnnya. Operator yang memiliki prioritas tinggi akan di dahulukan pengeksekusiannya daripada operator dengan prioritas rendah. Tabel 1.12 ini ditunjukkan prioritas operator dalam C++, dengan urutan prioritas tinggi menuju rendah ke bawah . Beberapa diantaranya tidak dibahas pada bab ini, akan dibahas pada bab lain. Operator-operator yang berada pada kotak samna mempunyai prioritas yang sama.

(13)
(14)

Universitas Gadjah Mada 14 II. Studi Kasus

Studi kasus I

Berikut ini contoh program untuk menampilkan data pribadi mahasiswa ke Iayar.

(15)

Universitas Gadjah Mada 15 //IKETERANGAN : Membuat Data Pribadi mahasiswa

//************************************************ #include<iostream.h> #include<conio.h> void main() { clrscr;

cout<<“ DATA PRIBADI\n\n\n”;

cout<<“ Nama : Iwan Setia Handoko”<<endl; cout<<“ No.MHS : 00/1366591PA/08145”<<endl;

cout<<“ Fak/Jur/Prod : MIPA/FISIKA/GEOFIS1KA”<<endl; cout<<“ Tempatf/Tgl.Lahir : Kebumen/18 April 1982”<<endl; cout<<“ Jenis Kelamin : laki-laki”<<endl;

cout<<“ Alamat Rumah : RT II/RW 01 Pekuncen-Sempor, Kab.Kebumen 55198”<<endl;

cout<<“ Alamat Kost : RT IV/RW 31 Jomlangan-Bangutapan, Kab.Bantul 55863”<<endl;

cout<<“ Hobby : renang dan mancing”<<endl; cout<<“Status : belum Kawin”<<end1;

cout<<“ Makanan Favorit : sate kambing dan pecel”<<endl; cout<<“ Minuman Favorit : soda gembira dan legen”<<endl; cout<<“ Musik favorit : slow rock dan POP”<<endl; cout<<“ Tinggi/berat badan : 1,68 M/56 Kg”<<endl; cout<<“ Bentuk Wajah : bulat”<<endl;

cout<<“ Bentuk/wama rambut : ikal/hitam”<<endl; cout<<“ Warna Kulit : sawo matang”<<endl; cout<<“ Wama Mata : coklat”<<endl;

cout<<“ No.Sepatu/Sandal : 44/10,5”<<endl;

cout<<“ Ciri Khusus : Bekas jahitan operasi di tangan kanan”<<endl; getch();

}

Studi kasus2

Berikut ini contoh program untuk menghitung luas dan keliling lingkaran dengan harga jari-jari diketahui dan masukan lewat key board.

//************************************************ // Program menghitung keliling dan luas lingkaran //************************************************

(16)

Universitas Gadjah Mada 16 #include <iostream.h> #indude <conio.h> void main() { const pi=3.14; float r,L,K;

cout<<“Program untuk menghitung luas dan keliling lingkaran”<<endl; cout<<”Masukkan harga jari-jari lingkaran”<<endl;

cin>>r; L=pi*r*r; K=2*pi*r;

cout<<“Luas lingkaran tersebut adalah “<<L<<endl; cout<<“Keliling lingkaran tersebut adalah “<<K<<endl: getch();

Studikasus3 Studi kasus 3

Berikut ini contoh program untuk menghitung jumlah pembelian barang setelah didiskon.

//************************************************ // Program Harga barang setelah didiskon //************************************************ #include <iostream.h> #indude <conio.h> void main() { long harga_awal,diskon,harga_akhir; char nama[30];

cout<<“Program pendiskonan harga anda”<<endl; cout<<“Masukkan nama anda “<<endl;

cin.getline(nama,sizeof(nama));

cout<<”Berapa Total belanja anda “<<endl; cin >>harga_awal;

diskon = 0.2*harga_awal;//belanja didiskon 20% harga_akhir = harga_awal-diskon;

cout<<”Nama :“<<nama<<endl;

(17)

Universitas Gadjah Mada 17 cout<<”Harga belanja setelah didiskon :“<<harga_akhir<<endl;

getch();

Studi kasus 4

Berikut ini contoh program untuk mengkonversi jam dan bentuk pecahan menjadi bentuk jam dan menit dan akhirnya total menit.

//************************************************ // Program konversi jam ke bentuk jam dan menit //************************************************ #include <iostream.h> #indude <conio.h> void main() { } Studi kasus 5

Benkut ini contoh program untuk menghitung energi kinetik benda bermassa m yang bergerak dengan kecepatan v.

//************************************************ // Program menghitung energy kinetik benda //************************************************ #include <iostream.h>

#indude <conio.h>

void main() {

(18)

Universitas Gadjah Mada 18 }

III. Latihan

Latihan I

Buatlah program yang dapat meminta informasi tentang data pribadi seseorang dan tampilkan hasilnya dilayar. Orang yang diminta informasi akan mengisi data pnbadinya lewat keyboard.

Latihan 2

Buatlah progam untuk menghitung gaya Coulomb, potensial listrik dan kuat medan listrik. Gaya Coulomb dihitung dengan memasukkan nilai dua muatan dan jarak antar muatan. Potensial listrik dihitung dengan memasukkan nilai muatan dan jarak titik yang dihitung dan posisi muatan. Sedang medan listrik dihitung dengan memasukkan nilai besar suatu muatan dan jarak titik yang di tinjau nilai medannya dan muatan tersebut.

Latihan 3

Buatlah progam untuk menghitung isi dan luas permukaan dari: a. Bola b. Balok c. Tabung d. Kerucut e. Trapesium Latihan 4

Buatlah progam untuk menampilkan jumlah hari, jam, menit dan detik dan masukan berupa lamanya waktu dalam detik. Sebagai contoh, masukan 100.000 detik akan menghasilkan I hari, 3 jam 46 menit dan 40 detik.

Latihan 5

Buatlah progam untuk menghitung nilai persamaan matematika benikut ini diketahul nilai x dan y- nya

(19)

Universitas Gadjah Mada 19 Latihan 6

Buatlah program untuk menghitung berat badan ideal seseorang jika diketahui tinggi badannya. Berat badan seseorang dihitung dengan cara mengurangi tinggi badan dengan 100 kemudian mengurangi lagi dengan 10%. Atau dalam bentuk berikut: Berat badan ideal = Tinggi badan —lOOxO.1

Latihan 7

Buatlah program untuk menghitung percepatan dan gaya sentripetal dari benda bermassa m yang bergerak melingkar dengan kecepatan sudut ω dan jan-jan lingkaran r.

Referensi

Dokumen terkait

Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu

Pengenal ( identifier ) merupakan nama yang biasa digunakan untuk variable, kontanta, fungsi atau obyek yang lain, yang didefenisikan oleh pembuat program. Aturan

Program Pendidikan Program Pendidikan Program Akademik Program Akademik Program Profesional Program Profesional Program Diploma III Program Diploma III Program Profesi Program

konstanta, nama variabel (yang dipakai dalam perhitungan adalah harga yang dikandung nama variabel), hasil pengiriman suatu. fungsi, atau merupakan

Kamus adalah bagian teks algoritma tempat mendefinisikan nama type, nama konstanta, nama informasi (nama variabel), nama fungsi sekaligus spesifikasinya dan nama

Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu

1) .Merumuskan dan sepakat dengan klien mengenai proses, Peraturan-peraturan dasar dan tanggapan-tanggapan. 2) .Mengkonfirmasi klien tentang program kebutuhan yang

Penggunaan signature logo atau simbol logo Universitas Gadjah Mada ke sebagai bagian dari logo lainnya harus menggunakan signature logo atau simbol logo Universitas Gadjah Mada