MODUL 1 Alur Seleksi dengan C++

dokumen-dokumen yang mirip
MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

OPERATOR, PERULANGAN DAN SELEKSI KONDISI

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

BAB VI. STATEMENT CONTROL

Chapter 1 KONSEP DASAR C

Object Oriented Programming (OOP)

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

3. Elemen Dasar C++ S. Indriani S. L., M.T L.,

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

MODUL 5 PERULANGAN (LOOPING)

3. Struktur Perulangan dalam C++

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Selection / Pemilihan PEMILIHAN

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

PENGANTAR BAHASA C++

Struktur Bahasa C dan C++

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

BAHASA PEMROGRAMAN C

SUMBER BELAJAR PENUNJANG PLPG

Achmad Solichin.

PENGENALAN C++ Bab 1

Tipe bentukan dan pointer selanjutnya akan kita pelajari pada modul pemrograman 1 (akhir semester).

Pengenalan C++ Oleh : Dewi Sartika

Percabangan & Perulangan

Elemen Bahasa Pemrograman. Aditya Rizki Yudiantika, M.Eng.

TEKNIK ELEKTRO FAKULTAS TEKNIK UNISMA

Dasar Pemrograman. Kondisi dan Perulangan. By : Hendri Sopryadi, S.Kom, M.T.I

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Algoritma dan Pemrograman

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

PEMROGRAMAN BAHASA C++ ASEP MUHIDIN. Penerbit ZEYRANK OFFSET. Aa Oon Pemrograman Bahasa C++ 1

Tipe Data dan Operator

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

Struktur Kontrol. Contoh, Akan tercetak x is 100 jika nilai yang disimpan pada variable x adalah 100:

3. Struktur Perulangan dalam Bahasa C++

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

Tipe Data, Identifier, Operator dan Control Statement

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Obyektif : KONTROL ALUR PROGRAM

Struktur Program Bahasa C

PHP mendukung komentar yang digunakan pada C, C++ dan Shell Unix. Sebagai contoh:

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

Fungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

OPERATOR DAN STATEMEN I/O

Tipe Data, Variabel, Input/Output

Dasar Pemrograman Mikrokontroler dengan Bahasa C

Bahasa C-M6 By Jamilah, Skom 1

Fungsi 1. Ekohariadi FT Unesa

Konsep Dasar Pemrograman Dan Pengenalan C++

MODUL DUA VARIABEL DAN TIPE VARIABEL

Kurikulum Qt. Chapter 4 Function. Fungsi

DASAR PEMOGRAMAN JAVA

Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran 2. Uraian Materi while do..while for continue dan break go to

PEMROGRAMAN TERSTRUKTUR OLEH : IR. H. SIRAIT, MT

PERNYATAAN DAN KONDISI

Elemen Dasar Dalam Bahasa Java

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

PERTEMUAN 7 REVIEW (QUIZ)

STRUKUR KENDALI : PERCABANGAN

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Pengantar Pemrograman

Bahasa Pemrograman 2.

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

Chapter 2 Tipe Data, Identifier, Operator dan Control Statement

Pemrograman Berorientasi Objek. Beni Suranto, S.T.

BAB 4 PENGENALAN BAHASA C

PEMAHAMAN DASAR DASAR JAVA

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

INPUT OUTPUT. cout. Digunakan untuk mencetak suatu informasi ke layar Contoh : cout << Halo Teknik Informatika

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

MODUL 2 TIPE DATA, KONSTANTA DAN VARIABEL

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Bab 3. Decision 1 (Pengambilan Keputusan)

ELEMEN DASAR C++ C++ mempunyai cara untuk menyatakan karakter-karakter yang tidak mempunyai kode tombol (seperti karakter tombol) misalnya \n.

Identifier dan Tipe Data

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if

Keg. Pembelajaran 2 : Mengenal Bahasa C++

Struktur Kontrol Pemrograman Java : PERCABANGAN

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

Pada akhir pertemuan ini, diharapkan mahasiswa memiliki kemampuan untuk: Menggunakan struktur kendali pencabangan bersyarat dalam bahasa pemrograman.

KENDALI PROSES. 6.1 PENYELEKSIAN KONDISI (Selection)

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

PENGENALAN C++ DADANG MULYANA 2012

Badiyanto, S.Kom., M.Kom. PBO java

Universitas Komputer Indonesia. Pemrograman dengan C++ Builder 2004 Taryana S.

Tujuan : mahasiswa dapat menerapkan struktur kendali untuk membuat program dengan C++

PRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

Operator, Statement kondisional, dan Iterasi pada Java

Bab 2. Dasar-Dasar Pemrograman C

IF PEMROGRAMAN LANJUT PERCABANGAN. Oleh : Andri Heryandi, M.T.

Transkripsi:

1 MODUL 1 Alur Seleksi dengan C++ Teori Singkat C++ merupakan perluasan bahasa C dengan tambahan fasilitas kelas (Class). Dengan fasilitas ini, maka C++ mendukung teknik pemrograman berorientasi objek (object oriented programming). Pengembang aplikasi (application development) dengan C++ dikeluarkan oleh sejumlah vendor, dua diantaranya adalah yang dikeluarkan oleh Microsoft dan Borland. Panduan praktikum ini menggunakan software C++ Builder versi 3 atau yang lebih tinggi. Program C++ berupa sekumpulan fungsi. Bahkan program utama juga berbentuk fungsi, yaitu fungsi main(). Kode C++ bersifat case sensitive, artinya membedakan antara huruf kapital dengan huruf kecil. Jadi, sintak main() tidak sama dengan Main(). Pada modul ini Anda akan menggunakan aplikasi konsol (console application), yaitu aplikasi dalam jendela seperti DOS yang berjalan di sistem operasi Windows. Perhatikan program berikut. 1. #include <iostream.h> 2. 3. 4. // tulis di layar 5. (* pesan Saya sedang belajar C++ *) 6. cout << Saya sedang belajar C++ << endl; 7. 8. Keterangan Baris 1 adalah penyertaan file header iostream.h ke dalam program. Program utama C++ berupa fungsi main() seperti baris 2. Kode program dalam fungsi ini diapit oleh kurung kurawal dan seperti baris 3 dan baris 4. Baris 4 dan baris 5 adalah gaya penulisan komentar dalam C++. Komentar dalam satu baris dapat diawali dengan karakter //, atau diapit oleh (* dan *). Baris 6 adalah pernyataan untuk menuliskan pesan di layar. Baris 7 adalah fungsi untuk mengambil satu karakter dari

2 keyboard tanpa diakhiri <enter>. Namun, untuk program ini dimaksudkan agar program berhenti agar hasilnya dalam jendela DOS dapat dilihat. Yang perlu diingat, bahwa setiap pernyataan harus diakhir dengan karakter ;. Apabila dikehendaki pernyataan dapat ditulis dalam beberapa baris. Tipe Data Dasar Tipe ukuran Range (bits) unsigned char 8 0 s/d 255 char 8-128 s/d 127 short int 16-32,768 s/d 32,767 unsigned int 32 0 s/d 4,294,967,295 int 32-2,147,483,648 s/d 2,147,483,647 unsigned long 32 0 to 4,294,967,295 enum 32-2,147,483,648 s/d 2,147,483,647 long 32-2,147,483,648 s/d 2,147,483,647 float 32 3.4 E-38 s/d 1.7 E+38 double 64 1.7 E-308 s/d 3.4 E+308 long double 80 3.4 E-4932 s/d 1.1 E+4932 near pointer 32 tidak teraplikasi far pointer 32 tidak teraplikasi Deklarasi variabel berbentuk: tipe pengenal; contoh: int jumlah; float panjang, lebar; char nilai; Operator aritmetika adalah operator yang digunakan untuk operasi-operasi yang bersifat matematis. Operator Arti Tipe Data Contoh + Tambah Numeris z = x + y; - kurang Numeris z = y - x; * kali Numeris z = y * x; / bagi Numeris z = z / x; % modulus Bilangan bulat z = y % x;

3 Operator penaikan dan penurunan, merupakan operator yang merupakan penulisan singkat dari operasi penaikan dan penurunan nilai data dengan satu. Bentuk: variabel++; ++variabel; variabel--; --variabel; //post-increment (naikkan di akhir) //pre-increment (naikkan di awal) //post-decrement //pre-decrement contoh: x++ dan ++x sama dengan x=x+1 x-- dan --x sama dengan x=x-1 Operator ini dapat berlaku baik untuk tipe int maupun float. Operator penugasan khusus, adalah untuk menyingkat penulisan statement penugasan. Bentuk pendek x += y x -= y x *= y x /= y x %= y Bentuk panjang x = x + y x = x - y x = x * y x = x / y x = x % y Operator logika digunakan untuk memanipulasi operasi-operasi yang bersifat logika yaitu hanya punya dua nilai true atau false. Dalam C++ nilai true dituliskan dengan 1 sedangkan nilai false dituliskan dengan 0; Operator logika terdiri sebagai berikut: Operator C++ Arti Contoh && AND if (a>0 && a<10) OR if (a<0 a>10)! NOT if (!(a<0 a>10))

4 Operator relasional digunakan untuk membandingkan dua buah operand. Hasil pembandingan ini berupa nilai kebenaran true (1) atau false (0) Operator Arti Contoh relasional < Kurang dari if (a < 0) <= Kurang dr / sama if (a >= 0) > Lebih dari if (a > 100) >= Lebih dr / sama if (a >= 85) == Sama dengan if (a == 0)!= Tidak sama dgn if (a!= \n )?: Penugasan kondisional a = (x<1)? 1 : x; Alir Program Seleksi Aliran Seleksi digunakan untuk mengarahkan pencabangan aliran eksekusi program. Eksekusi program diarahkan sesuai kondisi yang mengendalikannya. Aliran seleksi dalam C++ dinyatakan dalam bentuk if dan switch. Aliran ini digunakan untuk menentukan alur jalannya eksekusi program. Alur eksekusi program ditentukan dari nilai kebenaran kondisi yang ditentukan. Jika (kondisi) bernilai benar maka perintah dikerjakan, jika (kondisi) salah maka tidak mengerjakan perintah apapun. contoh: if (kondisi) perintah if (berat > 70) cout << Anda gemuk << endl; Jika (kondisi) bernilai benar maka perintah 1 dikerjakan, jika (kondisi) salah maka dikerjakan perintah 2. if (kondisi) Perintah 1 else Perintah 2

5 contoh: if (berat > 70) cout << Anda gemuk << endl; else cout << Makannya tambah biar gemuk << endl; Bentuk seleksi yang lain adalah menggunakan switch. Penggunaan switch merupakan bentuk penulisan yang lebih sederhana sebagai pengganti seleksi if bertumpuk. Perintah ini sangat bermanfaat jika seleksi if bertumpuk yang akan diperiksa cukup banyak, sehingga penulisan if-else kurang praktis. Jika salah satu <konstanta k> dipenuhi maka Perintah k akan dikerjakan. Jika semua konstanta tidak dipenuhi maka akan dikerjakan Perintah lain switch (variable) case <konstanta 1> : Perintah 1; [break;] case <konstanta 2> : Perintah 2; [break;]...... case <konstanta n> : Perintah n; [break;] default : Perintah lain; Contoh program berikut digunakan untuk menyederhanakan penulisan if-else pada program if-else bertumpuk. // program if-else bertumpuk #include<iostream.h> char op; double x, y, z; cout<< Masukkan operand1 operator operand2 : ; cin >> x >> op >> y; switch (op) case + : z = x + y; break; case - : z = x - y; break; case * : z = x * y; break; case / : if (y!= 0) z = x / y; break; default: cout<< operator salah <<endl;

6 cout<< hasilnya : <<z<<endl; Praktek Buka program dari icon C++ Builder Pilih menu File New Pilihlan icon Console App (Console Wizard) Tulislah program berikut, gantilah bentuk fungsi main() yang sudah ada dalam editor dengan bentuk dalam program berikut. (kode lain, misalnya #include, jangan dihapus). Setelah selesai, jalankan dengan menu Run Run atau F9. // beberapa baris ini mungkin sudah ada, JANGAN dihapus #include <vcl.h> #pragma hdrstop #pragma argsused //------------------------------------------------------- #include <iostream.h> // tambahkan baris ini //----------------------------------------------------- char jenis; int panjang, lebar, luas, jari; float luaslingkar; cout << "Pilih Persegi panjang<p> atau Lingkaran<L>: "; cin >> jenis; //ambil data dari keyboard if (jenis == 'P' jenis == 'p') cout << "panjang = "; cin >> panjang; cout << "lebar = "; cin >> lebar; luas = panjang * lebar; cout << "Luas = " << luas << endl; else if (jenis == 'L' jenis == 'l') cout << "jari-jari = "; cin >> jari; luaslingkar = 3.14 * jari * jari; cout << "Luas = " << luaslingkar << endl; else cout << "salah pilih" << endl;

7 1. Modifikasilah program di atas dengan struktur switch. 2. Buatlah program yang dapat menghitung luas, keliling, dan diagonal persegipanjang. Diagonal dihitung dengan rumus: diagonal = akar(panjang 2 + lebar 2 ). akar dapat dikerjakan dengan fungsi sqrt(). Masukan berupa panjang dan lebar. Program berupa pilihan untuk luas, keliling, dan diagonal.

8 MODUL 2 Perulangan Teori Singkat Seringkali di dalam program disuruh mengerjakan perintah secara berulang. Struktur perulangan (kalang) digunakan untuk mengulang perintah program secara berulang-ulang (iterasi). Struktur perulangan dalam C++ adalah for while do-while Pada dasarnya, tiga struktur kalang di atas dapat saling menggantikan, artinya program yang ditulis dalam salah satu struktur dapat ditulis dalam bentuk struktur lain. Kalang for mempunyai bentuk: for (<inisialisasi_var.kendali>; <tes_kelanjutan>; <modifikasi_var.kendali>) Perintah Contoh program berikut adalah untuk menghasilkan bilangan genap antara 1 sampai 100 menggunakan struktur kalang for: #include<iostream.h> int bilangan; for(bilangan=0;bilangan<=100;bilangan++) if(bilangan%2==0) cout << bilangan << " "; Pada bagian pertama dari for, statemen bilangan = 0; dikerjakan pertama kali dan hanya dikerjakan sekali. Kemudian diteruskan ke bagian kedua,

9 yaitu kondisi apakah bilangan <= 100; jika ya maka diteruskan ke pernyataan if di bawahnya. Selanjutnya dikerjakan bagian ketiga, yaitu bilangan++. Perulangan diteruskan ke bagian kedua, pernyataan if, bagian ketiga, bagian kedua lagi, dst. Jika bagian kedua bernilai salah (tidak), maka perulangan dihentikan. Kalang while akan memeriksa kondisi pada awal kalang. Bentuk: while (kondisi) Perintah Selama (kondisi) bernilai benar maka blok Perintah akan dikerjakan. Pengerjaan blok Perintah akan dihentikan jika (kondisi) bernilai salah. Contoh program berikut adalah penggunaan kalang while untuk menghasilkan bilangan genap antara 1 sampai 100. #include<iostream.h> int bilangan = 0; while (bilangan < 100) bilangan++; if (bilangan%2==0) cout<<bilangan<<" "; Kalang do-while akan menguji kondisi iterasi pada akhir kalang. Kalang ini melakukan iterasi setidaknya satu kali. Bentuk: do Perintah while (kondisi) Kerjakan blok Perintah, dan ulangi selama (kondisi) bernilai benar. Contoh berikut adalah program untuk menghasilkan bilangan genap antara 1 sampai 100 menggunakan kalang do-while #include<iostream.h>

10 main() int bilangan = 0; do bilangan++; if (bilangan%2==0) cout<<bilangan<<" "; while(bilangan < 100); Praktek Buka program dari icon C++ Builder Pilih menu File New Pilihlan icon Console App (Console Wizard) Tulislah program berikut, gantilah bentuk fungsi main() yang sudah ada dalam editor dengan bentuk dalam program berikut. (kode lain, misalnya #include, jangan dihapus). Setelah selesai, jalankan dengan menu Run Run atau F9. // beberapa baris ini mungkin sudah ada, JANGAN dihapus #include <vcl.h> #pragma hdrstop #pragma argsused //------------------------------------------------------- #include <iostream.h> // tambahkan baris ini //------------------------------------------------------- int batas; cout << "masukkan batas perhitungan: "; cin >> batas; int jumlah = 0; int kali = 1; int bil = 1; while (bil <= batas) jumlah += bil; kali *= bil; bil++; cout << "Hasil penjumlahan = " << jumlah << endl; cout << "Hasil perkalian = " << kali << endl;

11 1. Modifikasilah program di atas dengan struktur for. 2. Buatlah program untuk menghitung karakter yang dimasukkan dari keyboard. Pemasukan karakter dengan fungsi getchar(). Penggunaan: char karakter = Akhir pemasukan dengan tombol <enter>. Tombol <enter> sama dengan nilai 13. Gunakan struktur perulangan do-while.

12 MODUL 3 Fungsi Teori Singkat Suatu program yang cukup panjang dapat saja ditulis dalam satu fungsi main(). Namun, agar langkah program dapat ditulis dengan baik, program biasanya dipecah kedalam sejumlah subprogram. Subprogram dalam C++ berbentuk fungsi. Dalam C++ tidak dikenal prosedur. Secara sederhana, sekelompok pernyataan dapat diambil, diapit kurung kurawal, dan dinamai, maka menjadi fungsi. Fungsi yang hanya mengerjakan tugas tertentu dan tidak menghasilkan nilai, maka fungsi itu bertipe hasil void. Fungsi seperti ini bertindak sebagai prosedur dalam bahasa lain. Perhatikan contoh berikut. void Tambah() int a, b, c; a = 3; b = 4; c = a + b: cout << c; Tambah(); //pemanggilan fungsi Ada kalanya fungsi mempunyai parameter, maka dalam pemanggilannya juga perlu disertai parameter dengan jumlah dan tipe yang sama dengan pada saat didefinisikan. void Tambah(int a, int b) int c; c = a + b: cout << c; int a = 3; Tambah(a, 4); //pemanggilan fungsi

13 Suatu fungsi yang memberikan hasil, maka tipe void di depan pengenal fungsi diganti dengan tipe lain. Hasil fungsi dikerjakan dengan pernyataan return. int Tambah(int a, int b) int c; c = a + b: return c; int a = 3; int d; d = Tambah(a, 4); //pemanggilan fungsi cout << d = << d << endl; Pelewatan parameter kedalam fungsi adalah dengan cara bagaimana parameter aktual (parameter yang terdapat dalam pemanggilan fungsi) dilewatkan ke parameter formal (parameter yang terdapat dalam definisi fungsi). Pelewatan parameter mempunyai jenis pelewatan secara nilai pelewatan secara pointer pelewatan secara referensi Pelewatan secara nilai adalah parameter aktual dikopikan ke parameter formal, sehingga perubahan yang terjadi pada parameter formal tidak mempengaruhi parameter aktual. Parameter dalam fungsi Tambah() di atas (parameter a dan b) dilewatkan secara nilai. Pelewatan secara pointer adalah parameter berupa pointer. Karena pointer menunjuk ke variabel lain, maka parameter aktual dapat dipengaruhi oleh perubahan nilai variabel yang ditunjuk oleh parameter formal. Berikut, parameter c dalam fungsi Tambah() dilewatkan secara pointer. void Tambah(int a, int b, int* c)

14 *c = a + b: int a = 3; int hasil; Tambah(a, 4, &hasil); //pemanggilan fungsi cout << hasil = << hasil << endl; Pelewatan secara referensi berperilaku parameter formal sebagai nama alias dari parameter aktualnya. Jadi, perubahan yang terjadi pada parameter formal akan menjadi hasil di parameter aktualnya. Pelewatan parameter secara referensi ditandai dengan karakter & setelah tipe parameter. Berikut, parameter c dalam fungsi Tambah() dilewatkan secara referensi void Tambah(int a, int b, int& c) c = a + b: int a = 3; int hasil; Tambah(a, 4, hasil); //pemanggilan fungsi cout << hasil = << hasil << endl; Praktek Program berikut terdapat fungsi Tambah() yang menjumlah semua bilangan ganjil mulai dari isi variabel awal sampai dengan isi variabel akhir. Jika awal bernilai genap maka penjumlahan dimulai dari awal+1. #include <iostream.h> void Tambah(int a, int b)

15 int c = 0; int i = a; if((a % 2) == 0) i = a + 1; while (i <= b) c += i; i +=2; cout << "Hasil = " << c << endl; int awal, akhir, hasil; cout << "Awal = "; cin >> awal; cout << "Akhir = "; cin >> akhir; Tambah(awal, akhir); 1. Modifikasilah fungsi Tambah() agar menghasilkan nilai (return value) dari penjumlahan itu. Dan pemanggilan fungsi Tambah() dalam main() tentunya juga berubah. 2. Buatlah fungsi untuk menghasilkan nilai perpangkatan A B. Perpangkatan dapat dikerjakan dengan rumus: pangkat = exp(b * log(a)) Mungkin Anda perlu menyertakan file header math.h A dan B bertipe float sebagai parameter fungsi. Hasil pangkat ditulis sebagai parameter ketiga berupa pointer. Deklarasi fungsi: void Pangkat(float A, float B, float* hasil) Panggillah fungsi ini dari fungsi main().

16 MODUL 4 Struktur dan Kelas Teori Singkat Seringkali terjadi sejumlah data yang saling berkaitan, misalnya, kode barang, jumlah barang, dan harga satuan. Masing-masing data ini biasanya berbeda tipenya. Sejumlah data dengan tipe berbeda seperti ini dapat dikumpulkan menjadi satu kesatuan membentuk struktur. Data itu di dalam struktur disebut field. Deklarasi struktur: struct TipeStruktur tipe field1; tipe field2;... ; Untuk kasus barang di atas deklarasinya adalah: struct TBarang char kode[6]; // kode barang bertipe string 5 karakter int jumlah; int harga; ; Sedangkan deklarasi variabel adalah: TBarang barang; Untuk mengakses variabel barang ini, misalnya: barang.jumlah = 8; strcpy(barang.kode, BRG01 ); // mengisi field kode dengan BRG01 cout << barang.harga << endl; Tipe struktur (struct) dapat digantikan dengan tipe kelas (class) dengan fieldnya diberi sifat public. Untuk kelas, istilah field diganti dengan anggota. Deklarasi struktur TBarang di atas bila digantikan dengan tipe kelas menjadi:

17 class TBarang public: char kode[6]; // kode barang bertipe string 5 karakter int jumlah; int harga; ; Sedangkan untuk deklarasi variabel kelas dan cara mengaksesnya sama dengan tipe struktur. Jadi antara struktur dengan kelas dapat saling menggantikan. Jika anggota anggota hanya berupa data (seperti contoh di atas) dipakai tipe struktur. Secara umum penggunaan kelas adalah bila anggotanya juga berupa fungsi. Anggota berupa data seringkali diberi sifat private, sedangkan bila anggota berupa fungsi seringkali diberi sifat public. Anggota dengan sifat private, artinya bahwa data itu hanya dapat diakses di dalam kelas itu sendiri, tidak dapat diakses lewat variabel kelas. Sedangkan anggota yang diberi sifat public dapat juga diakses dari luar keas itu, misalnya lewat variabel kelas itu. Untuk kasus kelas TBarang di atas, jika ditambahkan anggota berupa fungsi IsiData, yaitu untuk mengisi anggota data adalah: class TBarang private: char kode[6]; // kode barang bertipe string 5 karakter int jumlah; int harga; public: void IsiData(char kd[], int jml, int hrg) strcpy(kode, kd); jumlah = jml; harga = hrg; ; Fungsi anggota IsiData juga dapat ditulis definisi fungsinya di luar kelas, yaitu: class TBarang private: char kode[6]; // kode barang bertipe string 5 karakter int jumlah; int harga;

18 public: void IsiData(char kd[], int jml, int hrg); ; void TBarang::IsiData(char kd[], int jml, int hrg) strcpy(kode, kd); jumlah = jml; harga = hrg; Variabel bertipe kelas (dalam pemrograman berorientasi objek disebut instan) dapat ditunjuk oleh pointer. Sedangkan untuk mengakses anggota digunakan notasi: pointer->anggota Perhatikan contoh berikut. TBarang barang; // instan kelas TBarang TBarang* brg; // pointer ke kelas TBarang brg = &barang; // brg disuruh menunjuk ke barang // mengakses fungsi IsiData dari instan barang barang.isidata( BRG01, 8, 2000); // mengakses fungsi IsiData dari pointernya brg->isidata( BRG01, 8, 2000); Praktek 1. Tulislah program berikut lewat ConsoleWizard pada C++Builder. #include <string.h> #include <iostream.h> //------------------------------------------------------- #pragma argsused class TBarang private: char kode[6]; // kode barang bertipe string 5 karakter int jumlah; int harga; public: void IsiData(char kd[], int jml, int hrg); void Cetak(); ; void TBarang::IsiData(char kd[], int jml, int hrg)

19 strcpy(kode, kd); jumlah = jml; harga = hrg; void TBarang::Cetak() cout << "kode barang = " << kode << endl << "jumlah barang = " << jumlah << endl << "harga barang = " << harga << endl; TBarang barang; barang.isidata("brg01", 8, 2000); barang.cetak(); 2. Modifikasilah fungsi main sehingga data mengenai barang (kode, jumlah, harga) dimasukkan dari keyboard (lewat cin). Baru kemudian panggillah fungsi IsiData. 3. Tambahkan fungsi anggota JumlahHarga, yang menghitung harga x jumlah. 4. Tambahkan ke dalam fungsi main, variabel pointer ke TBarang dan menunjuk ke instan barang. Panggilah fungsi anggota dari TBarang lewat pointernya.