FM-BINUS-AA-FPU-78/R1 Universitas Bina Nusantara Ganjil / Genap *) 20 / 20 Tengah Semester FAK./JURUSAN MATA UJIAN
Tahun Ajaran 20
Akhir Semester : :
HARI / TANGGAL : DOSEN : KELAS : WAKTU : SIFAT UJIAN : KALKULATOR : *) Coret yang tidak perlu
T0474- Bahasa Pemrograman Berorientasi Obyek TEAM PAGI 100 MENIT TUTUP / BUKA BUKU *) YA / TIDAK *)
/ 20
Semester Pendek N.I.M
:
NAMA
:
TANDA TANGAN
:
Naskah dimasukkan ke dalam buku ujian dan dikumpulkan kembali !!!
Soal-soal Pilihan Ganda (Beri tanda silang ( X ) pada jawaban yang benar pada lembar jawaban: (Nilai 50%) 1.
Apabila program C++ terdiri dari lebih dari satu fungsi (modul), maka pernyataan yang benar di bawah ini adalah : (A). Fungsi yang pertama kali dijalankan adalah fungsi yang paling bawah dari program C++ tersebut. (B). Fungsi yang pertama kali dijalankan adalah fungsi main() dari program C++ tersebut. (C). Fungsi yang pertama kali dijalankan adalah fungsi yang paling atas dari program C++ tersebut. (D). Semua jawaban di atas benar.
2.
Alasan kenapa perlu membuat program berorientasi objek adalah: (A). Mempercepat proses pembuatan program. (B). Memudahkan pembuatan program dengan menggunakan program yang telah ada dan mengembangangkannya (Reusability dan Extensibility). (C). Memudahkan penulisan dan pemeliharaan program. (D). Semua jawaban di atas benar.
3.
Pernyataan yang benar di bawah ini adalah : (A). Setiap program C++ terdiri dari satu atau lebih fungsi. (B). Setiap program C++ hanya terdiri dari satu fungsi saja. (C). Fungsi yang pertama kali dikerjakan tidak harus fungsi main(). (D). Tidak ada jawaban yang benar.
4.
Pernyataan yang benar di bawah ini adalah : (A). Dalam Built In Data Type ada 5 buah Modifier yaitu : int, float, double, char, void. (B). Dalam Built In Data Type ada 4 buah Tipe Data Dasar yaitu : unsigned, signed, short, dan long. (C). Ada 2 jenis tipe data pada C++ yaitu: Built In Data Type dan Abstract data Data Type. (D). Abstract Data Type merupakan tipe data yang telah disediakan oleh kompiler C/C++.
5.
Untuk menampilkan tiga buah data ( misal: int INT1, INT2, INT3; ) ke monitor, digunakan object class iostream dalam bentuk stream yang benar adalah: (A). cin >> INT1, INT2, INT3; (B). cout << INT1 << INT2 << INT3; (C). cin << INT1 << INT2 << INT3; (D). cout >> INT1 >> INT2 >> INT3;
1
6.
Untuk membaca tiga buah data ( misal: float FLOAT1, FLOAT2, FLOAT3) dari keyboard, digunakan object class iostream dalam bentuk stream yang benar adalah: (A). cin >> FLOAT1 >> FLOAT2 >> FLOAT3; (B). cin << FLOAT1, FLOAT2 , FLOAT3; (C). cout << FLOAT1 << FLOAT2 << FLOAT3; (D). cout >> FLOAT1 >> FLOAT2 >> FLOAT3;
7.
Deklarasi variabel yang benar di bawah ini adalah : (A). float unsigned long Biaya_Sewa_Rumah 500000; (B). long float Biaya Sewa Rumah=500000; (C). long float Biaya_Sewa_Rumah=500000; (D). Long Float Biaya-Sewa-Rumah=500000; Ngga ada yang bener, yang bener, klo maw: unsigned long int Biaya_Sewa_Rumah = 500000; //mendekati jawaban A long Biaya_Sewa_Rumah = 500000; //mendekati jawaban B, C, D float Biaya_Sewa_Rumah = 500000; //mendekati jawaban B, C, D float long Biaya_Sewa_Rumah = 500000; //mendekati jawaban B, C, D //catatan, coba deh yang "long float" di Borland C++, pasti ngga bisa, bisanya //cuman "float long", aneh kan?
8.
Pemberian nama variabel yang benar adalah: (A). Panjang maksimum adalah 255 karakter (ANSI). (B). Tidak membedakan huruf kecil atau huruf besar. (C). Boleh menggunakan kata-kata kunci (keywords) sebagai variabel. (D). Diawali dengan huruf atau garis bawah (_ ) dan baru boleh dikuti dengan angka, huruf dan garis bawah.
9.
Pernyataan mengenai konstanta (const) di bawah ini mana yang benar : (A). Nama constant dapat dimulai dengan menggunakan angka. (B). Pada C++, deklarasi constant membutuhkan alokasi memori. (C). Ada 2 jenis constant yaitu Macro-based Constant dan Named Constant (Formal). (D). Constant adalah identifier yang nilainya bisa berubah selama program berjalan.
10. Bila diketahui tiga buah bilangan : int i = 79, j = 5; dan float k = i / j; maka pernyataan: cout << “k = “; cout.width(5); cout.precision(2); cout << k << endl; akan manampilkan hasil di bawah ini: (A). k = 15.8 (B). k = 4.00 (C). k = 15 (D). k = 16 11. Bila diketahui tiga buah bilangan : float i = 79.0; int j = 5; float k = i / j; maka pernyataan: cout << “k = “; cout.width(5); cout.precision(2); cout << k << endl; akan manampilkan hasil di bawah ini: (A). k = 15.8 (B). k = 4.00 (C). k = 15.00 (D). k = 16.00 12. Pernyataan yang benar mengenai Akses anggota klass (class) di bawah ini adalah: (A). Protected adalah bagian class yang hanya dapat diakses oleh anggota dari class itu sendiri. (B). Public adalah bagian class yang dapat diakses oleh anggota dari class itu sendiri maupun dari luar class. (C). Private adalah bagian class yang hanya dapat diakses oleh anggota dari class itu sendiri dan anggota class turunannya. (D). Semua jawaban di atas benar. 13. Untuk mendeklarasikan suatu kumpuln data yang terdiri dari 2 baris dan 3 kolom digunakan pernyataan yang benar di bawah ini adalah: (A). int Jumlah[2,3] = { 3, 5, 7, 4, 6, 8 }; (B). int Jumlah[2][3] = 3, 5, 7, 4, 6, 8; (C). int Jumlah[2][3] = { 3, 5, 7, 4, 6, 8 }; (D). int Jumlah(2,3) = { { 3, 5, 7 }, { 4, 6, 8 } }; Ngga ada yang bener, yang bener, klo maw: int Jumlah[2][3] = {{3, 5, 7}, {4, 6, 8}}; //mendekati jawaban D 14. Deklarasi konstanta di bawah ini mana yang benar : (A). const unsigned int Jumlah – Partai 24 ; (C). const unsigned Jumlah Partai = 24;
(B). #define Jumlah – Partai 24 (D). #define Jumlah_Partai 24
2
15. Penggunaan struktur kondisi seleksi bertingkat: perintah: if , untuk menyatakan pilihan selain dari kondisi yang ada digunakan : (A). otherwise (B). else (C). default (D). else if 16. Penggunaan struktur kondisi seleksi: switch – case, untuk menyatakan pilihan selain dari nilai konstanta yang ada digunakan : (A). otherwise (B). else (C). default (D). else if
17. Pernyataan Array yang benar di bawah ini adalah : (A). Array adalah struktur data yang terdiri dari kumpulan variabel yang tipe datanya berlainan. (B). Array adalah struktur data yang terdiri dari kumpulan variabel yang tipe datanya sama atau berlainan. (C). Array adalah struktur data yang terdiri dari kumpulan variabel yang tipe datanya sama. (D). Semua jawaban di atas benar. 18. Pernyataan tentang struktur (struct) yang benar di bawah ini adalah: (A). Struktur merupakan struktur data yang terdiri dari satu atau lebih variabel yang mempunyai tipe data sama. (B). Struktur merupakan struktur data yang terdiri dari satu atau lebih variabel yang mempunyai tipe data berlainan. (C). Struktur merupakan struktur data yang terdiri dari satu atau lebih variabel yang mempunyai tipe data sama atau berlainan. (D). Tidak ada jawaban yang benar. 19. Pernyataan yang benar mengenai Object Oriented Programming di bawah ini adalah: (A). Objek merupakan gabungan antara data dan fungsi menjadi satu kesatuan serta hubungan antar anggotanya. (B). Definisi objek dalam Pemrograman Berorientasi Objek (C++) menggunakan keyword: class. (C). Akses anggota data (Data Member) suatu class tidak bisa langsung, tetapi hanya melalui method (Fungsi Member). (D). Semua jawaban di atas benar. 20. Deklarasi yang benar mengenai suatu class yang dinamakan Karyawan di bawah ini adalah: (A). class Karyawan { (B). class Karyawan { public: char Id_Karyawan[10]; char Nama[30]; float Gaji; private: Karyawan() { Id_Karyawan = “ “; Nama = “ “; Gaji = 0; } Karyawan( char *id, char *nm, float gj) { Id_Karyawan = id; Nama = nm; Gaji = gj; } void Tampil() { cout << “Id = “ << Id_Karyawan << “\nNama = “ << “\nGaji = “ << Gaji << endl; } ~Karyawan() {};
private: char Id_Karyawan[10]; char Nama[30]; float Gaji; public: void Karyawan() { strcpy(Id_Karyawan, “ “); strcpy(Nama, “ “); Gaji = 0; } void Karyawan( char *id, char *nm, float gj) { strcpy(Id_Karyawan, id); strcpy(Nama, nm); Gaji = gj; } void Tampil() { cout << “Id = “ << “\n” << “Id = “ << Id_Karyawan << “\n” << “Nama = “ << Nama = “ << “\n” << “Gaji = “ << Gaji << endl; } ~Karyawan() {};
}; }
3
(C). class Karyawan { private: char Id_Karyawan[10]; char Nama[30]; float Gaji; public: Karyawan() { strcpy(Id_Karyawan, “ “); strcpy(Nama, “ “); Gaji = 0; } Karyawan( char *id, char *nm, float gj) { strcpy(Id_Karyawan, id); strcpy(Nama, nm); Gaji = gj; } void Tampil() { cout << “Id = “ << “\n” << “Id = “ << Id_Karyawan << “\n” << “Nama = “ << Nama = “ << “\n” << “Gaji = “ << Gaji << endl; } ~Karyawan() {}; };
(D). Semua jawaban di atas benar.
BTW, pilihan jawaban C itu dah hampir bener, cuman cukup buang/hapus yang aq kase highlight merah ajah. LEMBAR JAWABAN SOAL PILIHAN GANDA
No 1 2 3 4 5 6 7 8 9 10
A
B
C
D
No 11 12 13 14 15 16 17 18 19 20
A
B
C
D
4
Essay (Nilai 50%): 1. Berikan keterangan (komentar) pada setiap baris pada program di bawah ini (Nilai 20%): #include
#include #define PHI 3.14
// menambahkan pustaka iostream // menambahkan pustaka conio // mendefinisikan constanta macro
void Masuk ( float Jari2 ); float Hitung ( float Jari2 ); void Tampil ( float Luas );
// membuat function prototype untuk method masuk // membuat function prototype untuk method hitung // membuat function prototype untuk method tampil
void main() { clrscr(); float Jari_jari, Luas; Masuk ( Jari_jari ); Luas = Hitung ( Jari_jari ); Tampil ( Luas ); getch(); }
// merupakan bagian program yg akan dijalankan pada awal eksekusi // ………………………………………………………………………… // membersihkan layar // mendeklarasikan variabel yg dibuthkan // memanggil fungsi masuk // menghitung luas dengan memanggil fungsi hitung // memanggil fungsi untuk mencetak hasil (output program) // menghentikan layar dengan meminta input sembarang dari pengguna // …………………………………………………………………………
void Masuk ( float Jari2 ) { cout << “Masukkan Jari-jari lingkaran=”; cin >> Jari2; }
// // // // // // //
fungsi yg dipake untuk meminta input jari-jari ………………………………………………………………………… mencetak pertanyaan mengambil jari-jari BTW!! Fungsi ini ERROR, harusnya dy passing by reference bukannya by value ckckck, jadinya yg bener adalah void Masuk ( float &Jari2 ) perhatikan ada tanda ampersand-nya (&)
float Hitung ( float Jari2 ) { return PHI * Jari2 * Jari2; }
// // // //
fungsi yg dipake untuk hitung luas lingkaran ………………………………………………………………………… langsung menhitung dan mengembalikan nilai yg telah diproses …………………………………………………………………………
void Tampil ( float Luas ) { cout << “Luas Lingkaran = “ << Luas cout << end; }
// // // // //
fungsi yg dipake untuk cetak hasil ………………………………………………………………………… mencetak kata-kata pembuka dan output hasil hitung tidak ada symbol end dalam iostream.h yang benar harusnya endl …………………………………………………………………………
2. Kasus ( Nilai 30%): Buatkan program C++ lengkap menggunakan prinsip PBO (class) yang lengkap dari objek-objek seperti di bawah ini:
Id : B0001 Nama : Ayam Jumlah_Kaki : 2
Id : B0002 Nama : Anjing Jumlah_Kaki : 4
Id : B0003 Nama : Tikus Jumlah_Kaki : 4 5
Dimana program mempunyai tugas memberikan nama awal pada objek-objek tersebut di atas, dan user bisa memasukkan data pada objek-objek tersebut di atas, serta dapat menampilkan datadatanya. Jangan lupa ada program utama yang dapat menciptakan 3 buah objek, dan mengakses fungsi member dari class yang ada. Jawab : #include #include <string.h>
class Hewan { private: char Id[6]; char Nama[100]; int Jumlah_Kaki;
public: Hewan(char Id[], char Nama[], int Jumlah_Kaki) { strcpy(this->Id, Id); strcpy(this->Nama, Nama); this->Jumlah_Kaki = Jumlah_Kaki; }
void SetId(char Id[]) {strcpy(this->Id, Id);} void SetNama(char Nama[]) {strcpy(this->Nama, Nama);} void SetJumlah_Kaki(int Jumlah_Kaki) {this->Jumlah_Kaki = Jumlah_Kaki;} char *GetId() {return Id;} char *GetNama() {return Nama;} int GetJumlah_Kaki() {return Jumlah_Kaki;}
~Hewan() {} };
void GantiData(Hewan &objHewan, char NamaHewan[]) { char Pilihan; char Id[6]; char Nama[100]; int Jumlah_Kaki;
6
cout << endl << "Ingin ganti data " << NamaHewan << "? [y/n]: "; cin >> Pilihan; cin.clear(); cin.sync();
if (Pilihan == 'y') { cout << "Id " << NamaHewan << ": "; cin >> Id; cin.clear(); cin.sync(); objHewan.SetId(Id);
cout << "Nama " << NamaHewan << ": "; cin.getline(Nama, 100); cin.clear(); cin.sync(); objHewan.SetNama(Nama);
cout << "Jumlah Kaki " << NamaHewan << ": "; cin >> Jumlah_Kaki; cin.clear(); cin.sync(); objHewan.SetJumlah_Kaki(Jumlah_Kaki); } }
void CetakData(Hewan objHewan, char NamaHewan[]) { cout << endl << NamaHewan << ":" << endl << "Id
= " << objHewan.GetId() << endl
<< "Nama
= " << objHewan.GetNama() << endl
<< "Jumlah Kaki = " << objHewan.GetJumlah_Kaki() << endl; }
void main() { Hewan objAyam("B0001", "Ayam", 2); Hewan objAnjing("B0002", "Anjing", 4); Hewan objTikus("B0003", "Tikus", 4);
GantiData(objAyam, "objAyam"); GantiData(objAnjing, "objAnjing"); GantiData(objTikus, "objTikus");
CetakData(objAyam, "objAyam"); CetakData(objAnjing, "objAnjing");
7
CetakData(objTikus, "objTikus");
cin.get(); }
3. Buat program C++ untuk membuat perhitungan besarnya potongan harga pembelian dengan ketentuan sebagai berikut: • Memiliki fungsi untuk memasukkan data dari keyboard data sebagai berikut: − No, Id_Barang, Nama Barang, Harga Barang, Jumlah Item Barang • Memiliki fungsi untuk menghitung potongan harga dan Total Pembelian dengan aturan: − Jika total harga pembelian barang di bawah 250,000 tidak mendapat potongan harga. − Jika total harga pembelian barang antara 250,000 s/d 500,000 akan mendapatkan potongan harga sebesar 5% dari total harga pembelian per item. − Jika total harga pembelian di atas 500,000 s/d 1000,000 akan mendapatkan potongan harga sebesar 10% dari total harga pembelian per item. − Jika total harga pembelian di atas 1000,000 akan mendapatkan potongan harga sebesar 20% dari total harga pembelian per item. • Memiliki fungsi untuk menampilkan daftar barang yang dibeli beserta harga total dan potongan harganya. • Contoh tampilan seperti terlihat di bawah ini: 012345678901234567890123456789012345678901234567890123456789012345678901234 No Id_Barang Nama Barang Harga Barang Jumlah Item Total Harga Potongan 1 M0001 Meja Tamu 70,000 2 2 M0002 Meja Belajar 350,000 1 3 K0001 Kursi Tamu 60,000 8 4 K0002 Kursi Belajar 250,000 1 5 L0001 Lemari Buku 650,000 2
Jawaban: #include #include <string.h> class DataBarang { private: int No; char Id_Barang[6]; char Nama_Barang[100]; int Harga_Barang; int Jumlah_Item_Barang; float Potongan_Harga; int Total_Pembelian;
8
public: void SetDataBarang(int No, char Id_Barang[], char Nama_Barang[], int Harga_Barang, int Jumlah_Item_Barang, float Potongan_Harga, int Total_Pembelian) { this->No = No; strcpy(this->Id_Barang, Id_Barang); strcpy(this->Nama_Barang, Nama_Barang); this->Harga_Barang = Harga_Barang; this->Jumlah_Item_Barang = Jumlah_Item_Barang; this->Potongan_Harga = Potongan_Harga; this->Total_Pembelian = Total_Pembelian; } int GetNo() {return No;} char *GetId_Barang() {return Id_Barang;} char *GetNama_Barang() {return Nama_Barang;} int GetHarga_Barang() {return Harga_Barang;} int GetJumlah_Item_Barang() {return Jumlah_Item_Barang;} float GetPotongan_Harga() {return Potongan_Harga;} int GetTotal_Pembelian() {return Total_Pembelian;} }; int Menghitung_Total_Pembelian(int Jumlah_Item_Barang, int Harga_Barang) { return Jumlah_Item_Barang * Harga_Barang; } float Menghitung_Potongan_Harga(int Total_Pembelian) { if (Total_Pembelian < 250000) { return 0; } else if ((250000 <= Total_Pembelian) && (Total_Pembelian <= 500000)) { return 0.05 * (float) Total_Pembelian; } else if ((500000 < Total_Pembelian) && (Total_Pembelian <= 1000000)) { return 0.1 * (float) Total_Pembelian; } else if (1000000 < Total_Pembelian) { return 0.2 * (float) Total_Pembelian; } } void Memasukkan_Data(DataBarang &Data, int &TotalBarang) { int No; char Id_Barang[6]; char Nama_Barang[100]; int Harga_Barang; int Jumlah_Item_Barang; float Potongan_Harga; int Total_Pembelian; cout << endl << "Data Barang " << (TotalBarang + 1) << endl
9
<< "No: "; cin >> No; cin.clear(); cin.sync(); cout << "Id Barang: "; cin.getline(Id_Barang, 6); cin.clear(); cin.sync(); cout << "Nama Barang: "; cin.getline(Nama_Barang, 100); cin.clear(); cin.sync(); cout << "Harga Barang: "; cin >> Harga_Barang; cin.clear(); cin.sync(); cout << "Jumlah Item Barang: "; cin >> Jumlah_Item_Barang; cin.clear(); cin.sync(); Total_Pembelian = Menghitung_Total_Pembelian(Jumlah_Item_Barang, Harga_Barang); Menghitung_Potongan_Harga(Total_Pembelian); Data.SetDataBarang(No, Id_Barang, Nama_Barang, Harga_Barang, Jumlah_Item_Barang, Potongan_Harga, Total_Pembelian); TotalBarang = TotalBarang + 1; } void Menampilkan_Daftar_Barang(DataBarang Data[], int TotalBarang) { cout << endl << "No\tId_Barang\tNama Barang\tHarga Barang\tJumlah Item\t" << "Total Harga Potongan" << endl; for (int a = 1; a <= 80; a = a + 1) cout << "-"; for (int a = 0; a < TotalBarang; a = a + 1) { cout << Data[a].GetNo() << "\t" << Data[a].GetId_Barang() << "\t" << Data[a].GetNama_Barang() << "\t" << Data[a].GetHarga_Barang() << "\t" << Data[a].GetJumlah_Item_Barang() << "\t" << Data[a].GetTotal_Pembelian() << "\t" << Data[a].GetPotongan_Harga() << endl; } } void main() { DataBarang Data[6]; int TotalBarang = 0; for (int a = 0; a < 5; a = a + 1) Memasukkan_Data(Data[a], TotalBarang); Menampilkan_Daftar_Barang(Data, TotalBarang); cin.get(); }
4. Buat program C++ dengan menggunakan struktur bertingkat (Nested Structure). Program tersebut akan digunakan untuk memasukkan dan menampilkan data Pegawai dalam bentuk daftar (Tabel) sebagai berikut : 10
NIP
Nama
9001 Ayu 9003 Bagus 9002 Elok
Alamat_Rumah Jalan Kota Jl. Mawar 5 Bandung Jl. Melati 3 Bogor Jl. Tulip 9 Tangerang
Kodepos 10555 10999 65001
Tanggal_Lahir Tanggal-Bulan-Tahun 02-02-1955 09-09-1969 03-05-1965
Dimana definisi struktur Pegawai tersebut memiliki anggota struktur sebagai berikut: • NIP bertipe data karakter yang menampung 4 karakter. • Nama bertipe data karakter yang menampung 30 karakter. • Alamat_Rumah bertipe data structure Almt yang terdiri dari: o Jalan bertipe data karakter yang menampung 30 karakter. o Kota bertipe data karakter yang menampung 20 karakter. o Kodepos bertipe data long integer. • Tanggal_Lahir bertipe data structure Tgl yang terdiri dari: o Tanggal bertipe data integer. o Bulan bertipe data integer. o Tahun bertipe data integer. Jawaban: #include
struct Almt { char Jalan[31]; char Kota[21]; long int Kodepos; };
struct Tgl { int Tanggal; int Bulan; int Tahun; };
struct Pegawai { char NIP[5]; char Nama[31]; Almt Alamat_Rumah; Tgl Tanggal_Lahir; };
11
void Memasukkan_Data(Pegawai &Data, int &TotalData) { cout << endl << "Data Pegawai " << (TotalData + 1) << endl << "NIP: "; cin.getline(Data.NIP, 5); cin.clear(); cin.sync(); cout << "Nama: "; cin.getline(Data.Nama, 31); cin.clear(); cin.sync(); cout << "Jalan: "; cin.getline(Data.Alamat_Rumah.Jalan, 31); cin.clear(); cin.sync(); cout << "Kota: "; cin.getline(Data.Alamat_Rumah.Kota, 21); cin.clear(); cin.sync(); cout << "Kodepos: "; cin >> Data.Alamat_Rumah.Kodepos; cin.clear(); cin.sync(); cout << "Tanggal: "; cin >> Data.Tanggal_Lahir.Tanggal; cin.clear(); cin.sync(); cout << "Bulan: "; cin >> Data.Tanggal_Lahir.Bulan; cin.clear(); cin.sync(); cout << "Tahun: "; cin >> Data.Tanggal_Lahir.Tahun; cin.clear(); cin.sync();
TotalData = TotalData + 1; }
void Menampilkan_Data(Pegawai Data[], int TotalData) { cout << "NIP\tNama\t\tAlamat_Rumah\t\tTanggal_Lahir" << endl << "\t\tJalan\tKota\tKodepos\tTanggal-Bulan-Tahun" << endl; for (int a = 1; a <= 80; a = a + 1) cout << "-";
for (int a = 0; a < TotalData; a = a + 1) { cout << Data[a].NIP << "\t" << Data[a].Nama << "\t" << Data[a].Alamat_Rumah.Jalan << "\t" << Data[a].Alamat_Rumah.Kota << "\t" << Data[a].Alamat_Rumah.Kodepos << "\t" << Data[a].Tanggal_Lahir.Tanggal << "-" << Data[a].Tanggal_Lahir.Bulan << "-" << Data[a].Tanggal_Lahir.Tahun << endl;
12
} }
void main() { Pegawai Data[4]; int TotalData = 0;
for (int a = 0; a < 3; a = a + 1) Memasukkan_Data(Data[a], TotalData); Menampilkan_Data(Data, TotalData);
cin.get(); }
13