MODUL PRAKTIKUM LOGIKA DAN PEMROGRAMAN MENGGUNAKAN BAHASA C++
OLEH RISNA PALUPI
UNIVERSITAS NUSANTARA PGRI KEDIRI
2009 BAB I PENGENALAN BAHASA C++
1. 1.
PENDAHULUAN
Bahasa pemrograman computer terdiri atas dua bagian, yaitu bahasa pemrograman tingkat tinggi ( high level language ) dan bahasa pemrograman level langua language ge). Pengg ting tingka katt rend rendah ah (low level Penggolo olonga ngan n ini didas didasark arkan an pada pada
kemudahan untuk mempelajari bahasa pemrograman komputer tersebut dan kecepatan eksekusiny e ksekusinya. a. Makin Makin tingg tinggii tingk tingkat at suatu suatu bahas bahasa a pemrog pemrogra raman man komput komputer, er, maka maka bahasa pemrograman komputer tersebut akan makin mudah dipelajari. Dan sebalikn sebaliknya, ya, makin makin rendah rendah tingkat tingkat suatu suatu bahasa bahasa pemrogra pemrograman man komputer, komputer, maka makin tinggi kecepatan eksekusinya. Bahasa Bahasa pemrogra pemrograman man C++ adalah adalah salah salah satu bahasa bahasa pemrogr pemrograman aman komput komputer er tingk tingkat at tinggi tinggi.. Hal ini dikar dikarena enaka kan n bahas bahasa a pemro pemrogra graman man C++ C++ termas termasuk uk bahas bahasa a pemro pemrogr grama aman n komput komputer er yang yang mudah mudah dipela dipelajar jari. i. Tetapi Tetapi baha bahasa sa
pemr pemrog ogra rama man n
C++ C++
lebi lebih h
bany banyak ak
digu diguna naka kan n
dari daripa pada da
baha bahasa sa
pemrograman pemrograman lainnya, karena memiliki kecepatan eksekusi yang cukup tinggi bila bila diband dibanding ingka kan n denga dengan n bahas bahasa a pemrog pemrogram raman an ko komp mpute uterr tingka tingkatt tinggi tinggi lainnya. Bahasa Bahasa pemrogra pemrograman man C++ memiliki memiliki keunikan keunikan tersendi tersendiri ri dari bahasa bahasa pemrograman pemrograman komputer yang lain, yaitu bersifat case sensitive (membedakan antara huruf kecil dan huruf kapital), dimana hampir semua perintah dalam bahasa pemrograman C++ menggunakan huruf kecil.
1.2 PENGGUNAAN COMPILER C++
Dalam praktikum ini kita akan menggunakan tool software Turbo C++, untuk menjalankan software tersebut langkah-langkah yang dilakukan, yaitu: 1. Mendouble click icon turbo C++
2
2. Maka akan muncul tampilan aplikasi sebagai berikut,
3. Lalu untuk menulis program C++/coding kita buka File
New, maka akan
muncul layar putih tempat untuk menulis program C++. 4. Untuk mengeksekusi dan mencompile (menjalankan) program C++ yang telah kita buat kita mengklik tombol petir berikut:
5. Apabila program yang telah dibuat sudah benar akan muncul layar dengan backg backgrou round nd hitam/ hitam/put putih ih (aplik (aplikasi asi). ). Se Sedan dangk gkan an apabi apabila la masih masih salah salah akan akan muncul pesan kesalahan dibawah tempat anda menulis program dan tidak akan muncul layar hitam sampe program yang anda tulis benar.
1.3 STRUKTUR PROGRAM C++ 1.3.1 TUJUAN PRAKTIKUM
a. Mengetahui struktur program C++ b. Mengetahui sifat dan fungsi tiap struktur program C++
1.3.2. TEORI DASAR
Struktur dasar program bahasa C++ adalah sebagai berikut: o
PREPROCESSOR DIRECTIVES
o
DEKLARASI GLOBAL
o
FUNGSI UTAMA Preprocessor directives merupakan perintah dalam bahasa C++ yang
akan membuat dan mengkompilasi file perantara dengan program utama.
3
Dekl eklarasi
global
meru erupakan
bagian
program
C++
temp empat
pendeklarasian pendeklarasian konstanta, variabel, fungsi atau header fungsi, tipe data baru, atau struktur data yang memiliki sifat global. Fung Fungsi si utam utama a adal adalah ah fung fungsi si pert pertam ama a yang yang akan akan diek diekse seku kusi si oleh oleh kompiler kompiler C++. C++. Dan kompiler kompiler C++ hanya hanya akan mengeksekus mengeksekusii fungsi-fu fungsi-fungsi ngsi lain yang dipanggil pada fungsi utama atau yang memiliki hubungan dengan fungsi utama secara tidak langsung. Definisi Definisi fungsi fungsi merupak merupakan an tempat tempat pendefini pendefinisian sian header header fungsi fungsi yang telah dideklarasikan pada bagian deklarasi global.
1.3.3 STRUKTUR LISTING PROGRAM
#include
preprocessor directives
tipe_data nama_variabel;
deklarasi variable global
tipe_data main() {
fungsi utama
}
Contoh: //preprocessor directive 1 #include //file header 2 3 //deklarasi global 4 int TES = 1000; 5 //fungsi utama 6 int main() 7 { 8 printf("Nilai TES= %d", TES); return 0; 9 } 10 11 1.3.4 PROSEDUR PRAKTIKUM
1. Buat program program seperti pada contoh diatas 2. Pelajari Pelajari dan jalankan jalankan program program 3. Jika Jika terj terjad adii kesa kesala laha han n prog progra ram, m, perb perbai aiki kila lah h sehi sehing ngga ga prog progra ram m dapa dapatt berjalan. 4. Hapus Hapus header header dan jalankan jalankan program program 5. Kembal Kembalika ikan n header header.. 6. Pind Pindah ahka kan n dekl deklar aras asii glob global al ke bagi bagian an pali paling ng akhi akhirr dari dari prog progra ram m dan dan jalankan program. program. 7. Kembalik Kembalikan an baris baris deklarasi deklarasi global global ke tempat tempat semula. semula.
4
8. Hapus kata int pada fungsi utama dan jalankan program.
1.3.5 DATA HASIL PERCOBAAN
1. Apa yang terjadi apabila header dihapus dan program dijalankan? 2. Apa yang terjadi pada saat deklarasi global dipindahkan ke bagian akhir program? 3. Apa yang terjadi pada saat kata int pada fungsi utama dihapus?
NB :
Soal Soal dan dan
jaw jawaban aban
ditul itulis is
diker ikerttas
dik dikumpu umpulk lkan an
di
akhi akhir r
praktikum
1.4 PERNYATAAN, VARIABEL, KONSTANTA DAN TIPE DATA 1.4.1 TUJUAN PERCOBAAN o
Mema Me maha hami mi
peng penger erti tian an
dan dan
peng penggu guna naan an
pern pernya yata taan an,,
vari variab abel el
dan dan
konstanta dalam bahasa C++ o
Memahami penggunaan tipe data standar pada bahasa C++
o
Memahami cara pendefinisian tipe data baru pada bahasa C++
1.4.2 TEORI DASAR
Pernyataan dalam bahasa C++ merupakan serangkaian serangkaian atau kelompok rangkaian rangkaian perintah/simbol perintah/simbol standar C++, perintah/simbol yang didefinisikan didefinisikan pemrogra pemrogram, m, variabel variabel/kons /konstant tanta, a, dan atau operator operator yang diakhiri diakhiri dengan dengan tanda ; (titik koma/semi-colon). pernyataan;
Varia Va riabel bel pada pada bahas bahasa a C++ C++ adala adalah h bagi bagian an dari dari memor memorii yang yang hanya hanya dapat pat
menam enamp pung ung
data data/i /inf nfor orma masi si peng pengek ekse seku kusi sian an
satu atu
ters terseb ebut ut
data ata/inf /infor orm masi
dapa dapatt
prog progra ram. m.
beru beruba bah h
Vari Va riab abel el
pada sete setela lah h
dila dilamb mban angk gkan an
satu atu
waktu, tu,
dide didekl klar aras asik ikan an deng dengan an
dimana mana sela selama ma
simb simbol ol
yang yang
didef didefini inisik sikan an oleh oleh pemro pemrogra gram m dan dan variab variabel el harus harus didek dideklar larasi asikan kan terleb terlebih ih dahulu sebelum dapat digunakan. Pendeklarasian variabel pada bahasa C++ adalah sebagai berikut, tipe_data nama_variabel;
5
Variabel dapat langsung diberi nilai awal pada saat pendeklarasiannya. Pemberian nilai tersebut dapat dilakukan dengan cara sebagai berikut, tipe_data nama_variabel=nilai_awal;
Konstanta merupakan variabel yang data/nilainya tidak dapat diubah setel etela ah
didekl eklarasikan
sela elama
peng engeks eksekusian
program.
Cara
mendeklarasikan konstanta adalah sebagai berikut,
const tipe_data Cara
lain ain
untuk ntuk
mend endekl eklaras arasiikan
konsta nstant nta a
adala dalah h
deng denga an
mendeklarasikannya sebagai makro, yaitu sebagai berikut,
#define nama_makro definisi_makro;
Besarnya bagian memori yang digunakan oleh variabel atau konstanta untuk untuk menampu menampung ng data/info data/informas rmasii tergantun tergantung g dari tipr data/info data/informas rmasii yang digunakan. Tipe-tipe data standar yang terdefinisikan pada bahasa C++ dapat dilihat dalam tabel 1.1. Tabel 1.1. Tipe-tipe data standar pada bahasa C++ Tipe data 1.
char
Ukuran presisi 1 byte
Jangkauan nilai
Jumlah digit presisi -
2.
int
2 byte
-32768 sampai +32767
-
3.
long int
4 byte
-2147438648
-
-128 sampai +127
sampai
+2147438647
4.
float (desimal)
4 byte
3.4x10-38 hingga 3.4x10 +38
6-7
5.
double
8 byte
1.7x10 -308 hingga 1.7x10 +308
15-16
6.
long double
10 byte
3.4x10-4932hingga 1.1x10 +4932
19
Pemodifikasian tipe data unsigned dan signed unsigned d diterapk Untuk pemodifikasian pemodifikasian tipe unsigne diterapkan an pada pada data bertipe bertipe
bilangan bulat (char, short, int dan long). Variable yang ditambahi unsigned akan menyebabkan nilai yang terkandung didalamnya selalu bernilai positif, sehingga jangkauannya akan berubah.
6
Untuk Untuk pemodifi pemodifikasi kasian an tipe signed merupak merupakan an default default dari tipe data data dasar,
yang
meny enyatakan
data
bern ernilai
positif
maupun
nega egative.
Pemodifikasian tipe data dapat dilihat pada tabel 1.2 Tabel 1.2. Tipe-tipe data pemodifikasian pada bahasa C++ 1. char char / sign signed ed char char 2. unsi unsign gned ed cha charr 3. int int / sign signed ed int int 4. short short int / sig signed ned shor shortt int int 5. unsi unsign gned ed int int 6. long long int int / sig signed ned long long int int 7. unsi unsign gned ed lon long g int int Untuk mendefinisikan suatu tipe data baru selain tipe-tipe data standar pada bahasa C++ digunakan perintah berikut:
typedef tipe_data tipe_data_baru;
Contoh Program 1 //contoh penugasan dan penggunaan tipe data 2 #include 3 //deklarasi global 4 void main() 5 { 6 int x; // signed int //deklarasi variable local 7 unsigned int y; 8 9 x = -1; 10 cout << “x = ” << x << ‘\n’; 11 12 y = -1; 13 cout << “y = ” << y << ‘\n’; 14 } 1.4.3 PROSEDUR PRAKTIKUM
1. Salinlah program diatas. 2. Lalu jalank jalankan an program program diatas diatas pelajar pelajarii hasilnya. hasilnya.
3. Lalu gantilah tipe data x dengan tipe data char 4. Lalu gantilah tipe data y dengan tipe data unsigned char 5. Apabila terjadi kesalahan perbaikilah perbaikilah nilai variabel sampai benar.
6. Lalu gantilah tipe data x dengan tipe data long int. 7. Lalu gantilah tipe data y dengan tipe data unsigned long int. 8. Apab Apabila ila terjad terjadii kesala kesalahan han perba perbaiki ikilah lah denga dengan n mengg menggant antii nilai nilai variab variabel el sampai benar.
7
1.4.4 DATA HASIL PERCOBAAN (TK I)
1. Bagaima Bagaimana na hasil hasil dari prosed prosedur ur praktik praktikum um 1 dan 2? 2. Bagaima Bagaimana na hasil hasil dari prosedur prosedur prakti praktikum kum 3 sampai sampai 5? 3. Bagaima Bagaimana na hasil hasil dari prosedur prosedur prakti praktikum kum 6 sampai sampai 8?
NB :
Soal Soal dan dan
jaw jawaban aban
ditul itulis is
diker ikerttas
dik dikumpu umpulk lkan an
di
akhi akhir r
praktikum
1.5. Masukan dan Keluaran (Input dan Output) 1.5.1 Tujuan •
Untuk memahami penggunaan input/output routines pada bahasa C++
1.5.2 Teori Dasar
Pusta Pu staka ka input/ input/out output put merup merupak akan an pustak pustaka a yang yang beris berisii strea stream m dan dan fungsi fungsi-fu -fungs ngsii input/ input/out output put.. Pu Pusta staka ka ini telah telah ada ada di header header stdio.h dan iostream.h.
Dalam Dalam bahas bahasa a C pusta pustaka ka I/O yang yang diguna digunaka kan n adala adalah h stdio.h yang berisi berisi fungsi-fu fungsi-fungsi ngsi seperti seperti printf dan scanf . Scanf(ci Scanf(cin) n) digunaka digunakan n untuk untuk memasu memasukk kkan an sebua sebuah h nilai nilai ke variab variable le dan dan printf printf(co (cout ut)) digun digunak akan an untuk untuk mencetak suatu nilai dari variable maupun konstanta. Sintak dari scanf dan printf sebagai berikut: Scanf(“string format”, alamat variabel); Printf(“string format”, variabel)
Yang Yang dimak dimaksud sud denga dengan n strin string g format format pada pada fungs fungsii scanf scanf dan dan print printf f merupakan string karakter yang terdiri atas 3 jenis yaitu: 1) Karakter whitespace whitespace yang yang merupakan merupakan blank, tab(\t) dan baris baru(\n) baru(\n) 2) Karakter selain whitespace whitespace yang merupakan ASCII selain selain tanda % 3) Form Format at spes spesif ifik ik yang yang diaw diawal alii deng dengan an % memil emilik ikii form format at se seba baga gaii berikut: %[width] tipekarakter Dalam bahasa C++ pustaka I/O yang digunakan adalah iostream.h yang berisi dengan stream input cin/scanf, stream output/printf cout, untuk 8
standard error stream menggunakan cerr dan clog, untuk cerr yang telah terbuffer. Operasi untuk cin sebagai input digunakan operator >> dan cout, cerr, clog sebagai output menggunakan operator <<.
Contoh penggunaan Input Output 1. Contoh Contoh pengguna penggunaan an printf printf dan dan scanf scanf
2. Contoh Contoh penggu penggunaa naan n cin dan dan cout cout
1.5.3 Prosedur Praktikum (TGS II)
1. salinlah program contoh pertama dan kedua 2. apabila ada kesalahan perbaikilah sampai tidak ada error. 3. gantilah inputan untuk kedua contoh program dengan angka 0,8888 9
4. perbai perbaiki kilah lah hingg hingga a outpu outputt kedua kedua contoh contoh progr program am sama sama denga dengan n nilai nilai inputnya. 5. lakukan prosedur 3 dan 4 tetapi nilai input diganti dengan angka -125000 6. lakukan prosedur 3 dan 4 tetapi nilai input diganti dengan angka 1,5 x 10 pangkat -5 / 1,5e-5
1.5.4. Data Hasil Praktikum
1. Apa yang harus diganti pada program contoh 1 dan 2 apabila input diganti dengan 0,8888? 2. Apa yang harus diganti pada program contoh 1 dan 2 apabila input diganti dengan -125000? 3. Apa yang harus diganti pada program contoh 1 dan 2 apabila input diganti dengan 1,5 x 10 pangkat -5 ? 4. bagaimana output program sesuai prosedur 3-6 ?
BAB II OPERATOR DAN SELEKSI
2.1. 2.1. Operat Operator or 10
2.1.1. 2.1.1. Tujuan Tujuan Prakt Praktiku ikum m •
Memahami penggunaan operator unary dan binary pada C++
•
Memahami prioritas dan urutan pengeksekusian operator pada C+ +
2.1 2.1.2. .2. Teori Da Dasar Operator merupakan symbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi. Operand adalah objek dari dari opera operato tor. r. Oper Operat ator or dan dan operand akan akan memb membent entuk uk ekspre ekspresi. si. Ekspres resi
ini ini
dapat
membentuk
suatu
pernyataan.
Berik rikut
ini
penggolon penggolongan gan operatoroperator-oper operator ator standar standar yang terdapat terdapat dalam bahasa bahasa pemrograman C++. 1. Operator Aritmatika Oper Operat ator or arit aritma mati tika ka yang yang dise disedi diak akan an oleh oleh C++ C++ perk perkali alian an,,
pemb pembag agia ian, n,
modu modulus lus,,
penju penjum mlaha lahan, n,
anta antara ra lain lain
peng pengur uran anga gan, n,
yang yang
berturut turut diwakili oleh symbol *,/,%,+,-. Contoh program :
7%4=3
2. Operator Penugasan Oper Operat ator or penu penuga gasa san n yang yang beru berupa pa symb symbol ol sa sama ma deng dengan an ( = ) berfungsi untuk memberikan suatu nilai ke suatu variable.
3. Operator Penaikan dan Penurunan Operator Operator ini berhubun berhubungan gan dengan dengan operator operator aritmatika aritmatika.. Operator Operator penaikan penaikan (increment (increment)) dan operator operator penurunan penurunan (decremen (decrement) t) berturutberturut-
11
turut diwakili oleh symbol ++ dan --. Operator ini bisa diletakkan di belakang atau didepan operand. Contoh program
4. Operator Bitwise (Manipulasi Bit) Untuk
keperlua luan
manipulas lasi
data
dalam
bentuk
bit
C++
meny menyed edia iaka kan n enam enam buah buah opera operato torr yaitu yaitu gese geserr bit bit keki kekiri, ri, gese geserr bit bit kekanan, and, or, xor dan nor yang berturut-turut menggunakan symbol <<, >>, &, |, ^, ~ Contoh program:
5. Operator Relasi Operator relasi digunakan untuk membandingkan membandingkan dua buah operand/VARIABEL. operand/VARIABEL. Operator yang digunakan: >
lebih dari
>=
lebih dari atau sama dengan
!=
tidak sama dengan
<
kurang dari
==
sama dengan
<=
kurang dari atau sama dengan
12
Contoh program
12 > 3 12 < 3
-
1 0
6. Operator Logika Oper Operat ator or logi logika ka digu diguna naka kan n untu untuk k meng menghu hubu bung ngka kan n dua dua buah buah operand menjadi sebuah ungkapan kondisi. Operator yang digunakan: && (and), ||(or), !(not). Contoh program
7. Operator Kondisi Operator kondisi digunakan untuk mendapatkan sebuah nilai dari dua buah kemungkinan, berdasarkan suatu kondisi. Biasanya menggunakan pernyataan berkondisi if.
Bentuk umumnya : ekspresi ? Operand2 : Operand3 Nilai yang diambil dari operand2 kalau operand1 bernilai benar. Nilai yang diambil dari operand3 kalau operand1 bernilai salah. 13
Contoh program
2.1.3 Prosedur Percobaan 1.Buatlah program untuk menghitung luas segitiga 2. Buatlah program untuk menghitung s = r+p*q-p 3. Buatlah program menggunakan operator penaikan dan penurunan 4. Buatlah program menggunakan operator bitwise 5. Buatlah program menggunakan operator logika 6. Buatlah program menggunakan operator kondisi 7. Buatlah program menggunakan operator relasi.
2.1.4. Data Hasil percobaan (TGS III) 1. Bagaimana output prosedur no 1 ? 2. Bagaimana output prosedur no 2 dan bagaimana urutan pengerjaan operatornya? 3. Bagaimana output prosedur no 3 ? 4. Bagaimana output prosedur no 4 ? 5. Bagaimana output prosedur no 5 ? 6. Bagaimana output prosedur no 6 ? 7. Bagaimana output prosedur no 7 ? 8. Bagaimana output prosedur no 8 ?
NB: program yang dibuat tidak boleh sama antara anak yang satu dan yang lain serta tidak boleh sama s ama dengan contoh diatas. Setelah praktikum tugas wajib dikumpulkan ke ketua kelas. 14
2.2. SELEKSI KONDISI 2.2.1. Tujuan Praktikum •
Memah Me mahami ami penggu penggunaa naan n penyele penyeleksi ksi kondis kondisii yang yang ada di dalam dalam bahasa pemrograman C++
2.2.2. Teori Dasar Perintah untuk percabangan bersyarat yang disediakan oleh C++ adalah if, if-else,switch. if-else,switch. 1) Pernyataan if Pernyataan if mempunyai format sebagai berikut: if (kondisi) pernyataan;
Kondisi yang akan diperiksa oleh pernyataan if harus dituliskan di dalam tanda kurung dan harus memiliki nilai benar atau salah. Pernyataan akan dilaksanakan apabila kondisi bernilai benar. benar.
2) Pernyataan if-else Pernyataan if-else mempunyai format sebagai berikut: if (kondisi) pernyataan1; else pernyataan2;
Sepe Se perti rti pada pada pern pernya yata taan an if maka maka ko kond ndisi isi yang yang akan akan dipe diperik riksa sa oleh oleh pernyataan if harus dituliskan di dalam tanda kurung dan harus memiliki nilai benar atau salah. Pernyataan1 akan dilaksanakan apabila kondisi bern bernila ilaii bena benarr dan dan pern pernya yata taan an2 2 akan akan dila dilaks ksan anak akan an apab apabila ila ko kond ndis isii bernilai salah. Contoh program 1:
15
3) Pernyataan switc Pernyataan switch h Jika dalam program, dibutuhkan penyeleksi kondisi dengan banyak alterna alternativ tive e (lebih (lebih dari dari dua), dua), biasan biasanya ya diguna digunakan kan pernya pernyataa taan n switch. Pernyataan switch mempunyai format sebagai berikut: switch (variabel) { case nilai1_variabel : pernyataan_1;break; case nilai2_variabel : pernyataan_2;break; . . default : pernyataan_n; break; }
pernya pernyataa taan_1 n_1 hanya hanya akan akan dilaks dilaksan anaka akan n apabi apabila la nilai nilai variab variabel el sama sama dengan nilai1_variabel. Pernyataan_2 hanya akan dilaksanakan apabila nilai nilai variab variable le sama sama dengan dengan nilai2_ nilai2_var variab iabel. el. Pernya Pernyataa taan_n n_n hanya hanya akan akan dilaksanakan apabila nilai variabel tidak ada yang sesuai dengan nilainilai variabel penguji diatasnya.
2.2.3. Prosedur Percobaan (TGS III) 1. Jalankan contoh program 1, masukkan nilai seperti 30, 55,
60, 61, 80. 2. Lakukan modifikasi contoh program 1 dengan seleksi kondisi dimulai dari gagal.
16
3. Laku Lakuka kan n modi modifi fika kasi si lagi lagi untu untuk k conto contoh h prog progra ram m 1 deng dengan an kondisi jika nilai diatas 60 dinyatakan lulus, jika nilainya lebih kecil dari 40 dinyatakan gagal. Nilai antara 40 dan 60 maka harus mengikuti ujian ulang.
4. Buatla Buatlah h progr program am menggu mengguna nakan kan kondisi kondisi untuk untuk menghi menghitun tung g criteria berat badan menggunakan Indeks Massa Tubuh (IMT), yang bisa dihitung dengan : IMT = b/t2 b=berat badan (kg) t=tinggi badan (m) criteria IMT sbb, IMT <= 18.5
Kurus
18.5
Gemuk
IMT>30
Kegemukan
Output: Berat badan (kg) = 45 Tinggi badan (m) = 1.72 Nilai IMT anda 17.0, anda termasuk criteria kurus
2.2.4 Data hasil percobaan 1. Bagaimana hasil dari prosedur 1? 2. Bagaimana coding dari prosedur 2? 3. Bagaimana hasil dan coding prosedur 3?
Contoh program 2
17
18
BAB III PERULANGAN
3.1. 3.1. Peru Perula lang ngan an (Loo (Loopi ping ng) )
3.1.1 .1.1.. •
Tujuan Praktik tikum
Memah Me mahami ami penggu penggunaa naan n jenis jenis perula perulanga ngan n terstr terstrukt uktur ur yang yang ada pada bahasa pemrograman C++
3.1.2. Teori Dasar 1a. Perulangan for Perula Perulanga ngan n for juga diguna digunakan kan untuk untuk mengu mengulan langi gi serang serangkaia kaian n inst instru ruks ksi, i, yang yang pada pada umum umumny nya a digu diguna naka kan n pada pada peru perula lang ngan an dala dalam m bentuk iterasi. Pernyataan for memiliki format sebagai berikut: for (ungkapan1; ungkapan2; ungkapan3) pernyataan;
Keterangan: Ungkapan1 : nilai awal suatu perulangan iterasi Ungkapan2 : kondisi yang menjadi syarat agar perulangan atau iterasi tetap berlangsung Ungkapan3 : umumnya kontrol perulangan atau iterasi Perulangan for akan mengeksekusi pernyataan selama bagian pernyataan sesuai dengan ungkapan yang ada pada ungkapan2.
19
1b. For bersarang (nested loop) Pada aplikasi tertentu, terkadang kita menggunakan pernyataan for yang berada di dalam pernyataan for. Salah satu contohnya adalah apabila kita ingin menghasilkan tampilan sebagai berikut: * ** *** **** ***** Contoh programnya, yaitu:
2. Perulangan while Perulangan
dengan
while
merupakan
perulangan
yang
memerluka memerlukan n dan menggunak menggunakan an syar syarat at awal awal.. Be Berik rikut ut ini ini adal adalah ah deklarasi perulangan while. while (kondisi) Pernyataan;
Bagian Bagian pernya pernyataa taan n juga dapat dapat berupa berupa pernya pernyataa taan n majem majemuk, uk, bentuk bentuk deklarasinya adalah sebagai berikut:
20
while (kondisi) { Pernyataan_1; Pernyataan_2;
Pernyataan_n; }
3. Perulangan do….while Pada Pa da peru perula lang ngan an deng dengan an do…w do…whi hile le meme memerlu rluka kan n suat suatu u syar syarat at tertent tertentu u agar agar bagian bagian pernya pernyataa taan n terus terus diekse dieksekus kusii yaitu yaitu syarat syarat akhir. akhir. Deklarasinya: do { Pernyataan_1; Pernyataan_2;
o
Pernyataan_n; } while (kondisi);
21
pada perulangan do…while, pernyataan akan dijalankan berulangulang sampai kondisi bernilai salah.
3.1.3 Prosedur Praktikum (TGS V) 1. Salinlah contoh program while diatas 2. Coba kerjakan contoh program while tersebut menggunakan do… while. 3. gunakan for bersarang untuk menghasilkan output : N=4 1****** 22**** 333** 4444
22
BAB IV ARRAY
4.1. Array 4.1.1 Tujuan Praktikum Memahami penggunaan array dalam C++
3.2.2 Dasar Teori Array atau Larik adalah variabel kompleks/struktur yang memiliki tipe data yang sama. Elemen-elemen array tersusun secara sequensial dalam memori computer. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi, ataupun banyak dimensi.
1. Array Array satu satu dime dimensi nsi Yaitu kumpulan elemen-elemen identik yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data yang sama, tetapi isi dari dari elemen elemen itu boleh boleh berbed berbeda. a. Be Beriku rikutt ini adalah adalah ko konse nsep p array array satu satu dimensi: 0
1
2
17
21
33
3
1
4
5
48
0
6
2
7
16
8
9
72
9
Bentuk umum
tipeData NamaArray [JumlahElemen] = {};
int Bola [10] = { 17, 21, 33, dst}; Contoh: unsigned int TinggiBadan [100];//deklarasi array Hadir [5] = {true, {true, true, true, false, false, false} false};// ;//pem pember berian ian nilai nilai bool Hadir array pada inisialisasi
Pendeklarasian array diawali dengan penyebutan tipe data diikuti nama variabel array, diikuti jumlah elemen. elemen. Jika array hendak diberi nilai nilai awal, awal, nilainilai-nil nilai ai awal awal dituli dituliska skan n dalam dalam inisia inisialis lisasi asi.. Jika Jika inisia inisialisa lisasi si
23
kurang dari jumlah elemen array, sisanya akan diinisialisasikan dengan nol. Elemen Elemen array diakses dengan dengan menyebutk menyebutkan an indeks indeks posisi posisi elemen tersebut dalam array. Elemen pertama array memiliki indeks 0. unsigned int TinggiBadan [100] //tinggi badan memiliki 100 elemen TinggiBadan [0] = 7;
//mengeset elemen pertama TinggiBadan
TinggiBadan [5] = 16;
//mengeset elemen keenam
temp = TinggiBadan[99]; //mengopi elemen terakhir ke variabel temp
Contoh program 1
Result = result + billy[n] 2. Array Array dua dimensi dimensi Sering Sering digamb digambark arkan an sebaga sebagaii sebuah sebuah matriks matriks dan merupa merupakan kan perluasan dari sebuah array satu dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris dengan beberapa kolom elemen maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertipe sama sehingga dapat digambarkan sebagai berikut:
0 1 2 3
0
1
2
17 87
21 65
33 4
3
1 6
4
5
6
48 7
0 23
2 81
Int Matriks[4][10]
24
7
16 10
8
9
72
9
Bentuk umum tipeData NamaArray [JumlahBaris][JumlahKolom] = { {}, {}, …. {}, };
contoh double Matrix [4][4];// pemesanan tempat array bool Papan [2][2] = { {true, false}, {false, true} }; contoh program 2 output yang diinginkan Tabel 1 Data Kelulusan Jurusan 1. Teknik Informatika 2. Manajemen Informatika 3. Teknik Komputer
1992 35 100 10
25
1993 45 110 15
1994 80 70 20
1995 120 101 17
26
4.1.2. Prosedur Praktikum 1. Salinlah program 1 2. Pada program 1 pengisian array melalui inisialisasi, buatlah program seperti
program
1
tetapi
pengisian
array
melalui
utama/pengesetan array. 3. Buatlah program menggunakan for yang menghasilkan output: A[1, 1] = 1 A[1, 2] = 2 A[2, 1] = 3
subject: tugas5/kelas/nama
A[2, 2] = 4 B[1, 1] = 5 B[1, 2] = 6 B[2, 1] = 7 B[2, 2] = 8
27
fungsi
BAB V FUNGSI
5.1. Tujuan Praktikum 5.2. Dasar Teori Apabi Apabila la kita memb membuat uat progra program m yang yang terlalu terlalu panjan panjang, g, membua membuatt kita akan kesulitan kesulitan membaca membaca dan memaham memahamii program. program. Sehingga kita perlu perlu memec memecah ah progra program m tersebu tersebutt manja manjadi di bebera beberapa pa bagia bagian n (modu (modul) l) yang memudahkan kita untuk mencari kesalahan program, memperbaiki, dan membuat dokumentasi program. Untuk membuat modul tersebut C+ + menyediakan fungsi. Fung Fungsi si berg bergun una a untu untuk k
meng mengum umpu pulk lkan an stat statem emen en yang yang dapa dapatt
dijalankan menjadi satu dalam suatu blok dan menjalankannya kembali hanya hanya dengan dengan menuliska menuliskan n nama nama fungsi yang menampu menampungny ngnya. a. Fungsi Fungsi juga dapat dipakai dipakai untuk untuk menampung menampung baris-baris baris-baris perintah perintah yang sering sering dipakai dalam sebuah program. Deklarasi fungsi dapat dilakukan dengan dua cara yaitu: •
Header fungsi tanpa parameter atau fungsi tanpa return value
•
Header fungsi dengan parameter atau fungsi dengan return value
1. Header fungsi tanpa parameter atau fungsi tanpa return value Bentuk Umum Tipedata namaFungsi Contoh Int JumlahIsi() double Random() void Clear()
28
Blok fungsi tanpa parameter Tipedata namaFungsi () {
}
Contoh program 1
2. Header fungsi dengan parameter atau fungsi tanpa return value Penulisan header fungsi dengan parameter hampir sama dengan fungsi tanpa parameter, yaitu diawali dengan tipe data, lalu nama fungsi, dan diikuti dengan parameter-parameter (yang berada di dalam tanda kurung) yang masing-masing dipisahkan dengan koma beserta dengan tipenya.
Bentuk Umum Tipedata namaFungsi ( )) Contoh 29
Int Jumlahkan(int a, int b) double ArcCos(double ArcCos(double x)
Blok fungsi tanpa parameter Tipedata namaFungsi (parameter) {
}
Contoh program 2
30
5.3. Prosedur praktikum 1. Buatlah fungsi tanpa t anpa parameter menghitung menghitung luas lingkaran dan volume tabung. 2. Buatlah fungsi dengan parameter menghitung luas lingkaran dan volume tabung. 3. Output: Menu 1. Hitung Luas Lingkaran 2. Hitung Volume tabung Pilihan Anda = 1 Menghitung Luas Lingkaran Masukkan phi = 3.14 Masukkan jari-jari lingkaran = 10 Luas lingkaran = 314 atau Pilihan Anda = 2 Menghitung Volume Tabung Masukkan phi = 3.14 Masukkan jari-jari tabung = 10 Masukkan tinggi tabung = 10 Luas lingkaran = 3140
31
BAB VI STRUCTURE
6.1 Tujuan Praktikum 6.2 Dasar Teori Struct Structure ure atau atau strukt struktur ur adalah adalah kumpul kumpulan an elemenelemen-ele eleme men n data data yang digabungkan menjadi satu kesatuan. Masing-masing elemen data dikenal dengan sebutan field/kolom. Field data tersebut dapat memiliki tipe tipe data data yang yang sama sama ataup ataupun un berbed berbeda. a. Walau Walaupu pun n field-f field-field ield terseb tersebut ut berada dalam satu kesatuan, masing-masing field tersebut dapat diakses secara individual. Field-field tersebut digabungkan menjadi satu dengan tujuan untuk kemudahan dalam operasinya. Misalnya kita ingin mencatat data-data mahasiswa dan pelajar dalam sebuah program, untuk membedakannya dapat membuat sebuah record mahasiswa yang terdiri dari fieldfield NIM, nama, alamat, dan IPK serta sebuah record pelajar yang terdiri dari field-field Nama, NomorUrut, alamat dan JumlahNilai. Dengan demikian akan lebih mudah membedakan keduanya. 1. Deklarasi structure Pendek Pendeklara larasia sian n struct structure ure selalu selalu diawa diawali li oleh oleh kata kata baku baku struct diikuti nama structure dan deklarasi field-field di antara kurung kurawal. Bentuk Umum: struct namaStruct { tipeData1 Field1; tipeData2 Field2; …….. tipeDataN FieldN; };
Contoh: struct Mahasiswa 32
{ char NIM[10]; char Nama[20]; char Alamat[10]; float IPK; }; Contoh program
Output:
33
6.3. Prosedur Praktikum 1. Salinlah contoh program diatas 2. Buatlah program sehingga memberikan output sebagai berikut;
Form data karyawan ================== Nama : Agus Hermanto Gaji : 2000000 Status (0 belum menikah, 1 sudah, 2 janda): 1 Jumlah anak : 3 Masukkan data lagi? (Y/T) : y Nama : Lia Ilawan Gaji : 1500000 Status (0 belum menikah, 1 sudah, 2 janda): 2 Jumlah anak : 2 Masukkan data lagi? (Y/T) : t
34
BAB VII STRING DAN CHARACTER 7.1 Tujuan Praktikum
Mema Me maha hami mi peng penggu guna naan an stri string ng dan dan
char charac acte terr dala dalam m C++, C++, sert serta a
mengetahui penggunaan fungsi-fungsi fungsi-fungsi untuk manipulasi string. 7.2 Dasar Teori
Pada Pa da C++ C++ tida tidak k ada ada tipe tipe vari variab able le elem elemen en yang yang spesi pesifi fic c
untu untuk k
menyimpan string. Untuk keperluan ini dapat digunakan array dengan tipe char, dimana berisi elemen dengan tipe char. Perlu di ingat bahwa tipe char
digunakan untuk menyimpan 1 karakter, karena itu array dari char digunakan untuk menyimpan string. Contoh
:
char jenny [20];
Dapat me menyimpan sa sampai de dengan 20 20 karakter
:
Penyimpanan karakter-nya dapat direpresentasikan seperti dibawah ini :
Perhat Perhatika ikan, n, karak karakter ter NULL NULL ( '\0') sela selalu lu dise disert rtak akan an diak diakhi hirr stri string ng untu untuk k indikasi akhir dari string. Inisialisasi string
Sama Sama halnya halnya seperti seperti array-a array-array rray sebelum sebelumnya, nya, inisiali inisialisasi sasi pada pada string string sbb : char mystring[] = { 'H', 'e', 'l', 'l', 'o', '\0' };
Contoh diatas, merupakan inisialisasi 6 buah elemen bertipe char, yaitu Hello dan dan karakt karakter er null null '\0'.
Untu Untuk k mene menent ntuk ukan an nilai nilai konst konstan an,, pada pada strin string g
digunakan tanda kutip ganda ("), sedangkan untuk karakter kutip tunggal ( ').
35
String yang diapit oleh kutip ganda sudah mengandung karakter Null pada akhir string, contoh
:
char mystring [] = { 'H', 'e', 'l', 'l', 'o', '\0' }; char mystring [] = "Hello"; //
contoh diatas merupakan deklarasi array mystring yang berisi 6 elemen.
Pemberian nilai pada string
Sama halnya seperti pemberian nilai pada array-array sebelumnya, untuk array dengan tipe char dapat dituliskan mystring[0] mystring[1] mystring[2] mystring[3] mystring[4] mystring[5]
= = = = = =
:
'H'; 'e'; 'l'; 'l'; 'o'; '\0';
Fungsi-Fungsi dalam String (string.h) 1. Fungsi strcpy
Cara Cara pemb pember eria ian n nila nilaii sepe sepert rtii co cont ntoh oh diat diatas as sang sangat at tida tidak k prak prakti tis. s. Umumnya untuk pemberian nilai pada array bertipe char digunakan fungsi strcpy. strcpy (string copy) mendefinisikan cstring (string.h) library dan
dapat di dipanggil de dengan ca cara
:
strcpy (string1, string2);
instruksi diatas menyebabkan isi dari string2 di-copy ke string1. string2 dapat berupa array, pointer, atau konstanta string. Contoh :
Output : J. Soulie
// setting value to string
36
Perhatik Perhatikan, an, header header harus harus disert disertaka akan n agar agar bisa bisa mengg mengguna unakan kan fungsi strcpy. Bis Bisa a juga menggunakan menggunakan fungsi sederhan sederhana a seperti seperti misalkan misalkan diberi nama setstring, dengan operasi yang sama seperti strcpy. Contoh :
Output : J. Soulie
// setting value to string
Metode lain yang dapat digunakan untuk inisialisasi nilai yaitu input stream (cin). Dala Dalam m kasu kasus s ini, ini, nila nilaii stri string ng dite ditent ntuk ukan an oleh oleh user user saat saat ekse ekseku kusi si program program.. Ketika Ketika mengguna menggunakan kan cin, biasanya biasanya digunaka digunakan n metode metode getline, Pemanggilannya sbb
:
cin.getline ( char buffer [], [], int length, length, char delimiter = delimiter = ' \n');
dimana, buffer adala adalah h alama alamatt untuk untuk menyi menyimp mpan an input, input, length adalah maksimu maksimum m panjang panjang buffer,d buffer,dan an delimiter adalah adalah karakter karakter yang digunak digunakan an untuk menentukan input akhir, dengan default – atau dengan ('\n').
Contoh : // cin with strings
37
Output : What's your name? Juan Hello Juan. Which is your your favourite team? Inter Milan I like Inter Milan too.
Perhatik Perhatikan an kedua kedua pemanggi pemanggilan lan cin.getline, menggu menggunak nakan an ident identifi ifier er yang yang sama sama (mybuffer). Sama Sama halnya halnya seperti seperti penggun penggunaan aan operator operator extracti extraction, on, sehingga dapat dituliskan
:
cin >> mybuffer;
Instruksi Instruksi diatas diatas dapat dapat berjalan berjalan,, hanya hanya saja saja mempunya mempunyaii keterbata keterbatasan san bila dibandingkan dengan cin.getline, diantaranya
:
•
Dapat menerima 1 kata saja (bukan kalimat lengkap).
•
Tida Tidak k
dip diperke erkena nank nkan an
untu untuk k
membe emberi rika kan n
ukur ukuran an
buff buffer er..
Akan Akan
menyebab menyebabkan kan program program tidak stabil stabil jika user meng-inp meng-input ut lebih lebih besar besar dari kapasitas array yang ada. 2. Fungsi Strlen
Merupakan fungsi manipulasi string yang digunakan untuk menghitung panjang string. Sehingga fungsi ini memberikan nilai balik panjang string. Sintaks: size_t strlen (const char* string); string);
Contoh cara pengoperasiannya, yaitu: Panjang = strlen(bunga);
3. Fung Fungsi si Str Strca catt
38
Merup Merupak akan an fungsi fungsi yang yang digu digunak nakan an untuk untuk mengg menggab abun ungk gkan an string string.. Fungsi ini memberikan nilai balik string yang sudah digabung. Sintaks:
char* strcat (char* dest, const char* src); Contoh cara pengoperasiannya, yaitu: Strcat(str1, str2) Strcat(“aku”, “belajar”)
4. Fung Fungsi si str strcm cmp p
Merupakan fungsi yang digunakan untuk membandingkan dua buah string yaitu string1 dan string2.
Sintaks: strcmp: strcmp : int strcmp (const char* string1, const char* string2); Contoh: Strcmp (str1, str2) Strcmp(“aku”, “aku”)= 0
5. Strrev
Merupakan string yang digunakan untuk membalik string. Contoh:
Strrev(str); Str kamu Strrev(str) Str umak
Cttn : char* sama dengan char[]
Konversi string ke tipe lainnya
Strin String g dapat dapat beris berisii data data denga dengan n tipe tipe lain lain sepert sepertii angka angka.. Conto Contoh h "1977". cstdlib (stdlib.h) library menyediakan 3 fungsi yang dapat menangani hal
tersebut
:
•
atoi: converts string to int type.
•
atol: converts string to long type.
•
atof: converts string to float type.
39
Fungsi-fungsi Fungsi-fungsi ini menerima 1 parameter dan mengembalikan mengembalikan nilainya kedalam tipe tipe yang yang dimi diminta nta (int, (int, long long or float) float).. Fungs Fungsii ini dikom dikombi binas nasik ikan an denga dengan n metode getline pada cin.
Contoh :
Output : Enter price: 2.75 Enter quantity: 21 Total price: 57.75
// cin and ato* functions
40
DAFTAR PUSTAKA
Kadi Kadir, r,
A. 2003 2003.. Pe Pem mro rog gram raman C++, Memb embahas ahas Pe Pem mro rog gram raman Berorientasi Obyek Menggunakan Turbo C++ dan Borland C++. Penerbit Andy Yogyakarta.
Mahmudy, W.M. 2004. Modul Praktikum Semester Ganjil 2004 – 2005 Pemrograman C++. Jurusan Matematika Fakultas MIPA Universitas Brawijaya Malang. NN. NN. 2009 2009.. La Lapo poran ran Prak Prakti tiku kum m Dasa Dasarr Komp Komput uter er dan dan Pe Pemr mrog ogra rama man. n. Jurusan Elektro, Fakultas Teknik Universitas Brawijaya Malang. Sanj Sa njay aya, a, D. 2005 2005.. As Asyi yikn knya ya Be Bela lajar jar St Stru rukt ktur ur Data Data di Plan Planet et C++. C++. Penerbit PT. Elex Media Komputindo Kelompok Gramedia. Jakarta
41