LAPORAN RESMI TIPE DATA ABSTRAK (TYPEDEF dan STRUCT)
Disusun oleh: Andi. S 201301048
Dosen: Yosef Murya Kusuma Ardhana.,S.T
SISTEM INFORMASI
SEKOLAH TINGGI KOMPUTER YOS SUDARSO PURWOKERTO 2014
BAB I DASAR TEORI (Modul 2 Struct) 1.1 Tipe Data Abstrak (Struct) Tipe data abstrak adalah data dan operasi yang dapat digunakan untuk memanipulasi data tersebut. Dalam C++ ADT dapat dibuat dalam sebuah class yang yang merupakan pengmbangan dari struct dalam bahasa C Selain itu class juga memiliki dta dan fungsi yang dideklarasi private tidak dapat diaksess secara langsung oleh client, sedangkan deklarasi publik akan bersifat public yang dapat diakses oleh client secara langsung.. 1.2 Class atau Struck Class atau struct memiliki member yang juga memiliki type dan nama dengan type yang beragam, sehingga dapat digunakan untuk membuat tipe data agregate yang rumit. Struct point { Double x,y; };
Dalam C++ nama struct (tag)adalah tipe oleh karena itu point merupakan tipe, pendeklarasian diatas dapat diibaratkan sebagai template dan tipe data point itu sendiribelum dialokasikan dalam memori Pendeklarasian: Point pt;
Mengalokasikan memori untuk variable pt bertipe pointuntuk mengakses member dari struct pt, operator dot harus digunakan. Contoh : Pt.x =-1; Pt x= 0.5;
Nama member harus unik dalam skop struct. Karena saat mengakses member, nama struct harus ditulis, maka pemanggilan nama member yang sama dri struct yang bebrbeda tidak menjadi masalah.
Dasar Teori Modul 4 (Type Data Abstrak (Typedef dan Struct)
Type data abstrak pada bagian in merupakan tipe data gabungan antara typedef dan struct. Penggabungan tipedata typedef dapat didefinisikan ke dalam bentuk umum : Typedef strcut
{ type_data ; type data ; } Pendefinisian untuk typedef dan struct dapat dilihat pada bagian di bawah ini : // pendeklarasian tipe data baru struct mahasiswa typedef struct mahasiswa { char nim[9]; char nama[30]; char ipk; }
BAB II Latihan 1.2 Listing Program (Modul 3) //============================================================================ // Name
: tofa_p.cpp
// Author
:
// Version
:
// Copyright
: Your copyright notice
// Description : Hello World in C++, Ansi-style //============================================================================
#include usingnamespacestd;
struct{ int d; int e; intf; }segi3;
Voidluas_segitiga() { segi3.l =0.5*segi3.d*segi3.e; cout<<"luassegitiga :"<<segi3.l; }
intmain()
{
cout<<"luassegitigadenganstructtanpatypedef"<<endl; cout<<"masukkan alas : ";
cin>>segi3.d;
cout<<"masukkantinggi : ";
cin>>segi3.e;
luas_segitiga();
return 0; }
Output
Penjelasan 1. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 2. adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<
6. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 7. Fungsi return 0; digunakan untuk membaca data karakter.
Listing priogram (Modul 2) //============================================================================ // Name
: andi.cpp
// Author
:
// Version
:
// Copyright
: Your copyright notice
// Description : Hello World in C++, Ansi-style //============================================================================
#include usingnamespacestd;
intmain() { structdata_tanggal { inttanggal; intbulan; inttahun; }; structdata_teman
{ structdata_tanggaltgl_lahir; }; structdata_temaninfo_teman; info_teman.tgl_lahir.tanggal = 20; info_teman.tgl_lahir.bulan = 08; info_teman.tgl_lahir.tahun = 1991;
cout<<"======= data teman ========"<<endl; cout<<"nama : andi.s"<<endl;
cout<<"tanggallahir :"<
Penjelasan 1. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 2. adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<
6. Cout<>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 8. Fungsi return 0; digunakan untuk membaca data karakter. 1.3 Listing Program (Modul 4) //============================================================================ // Name : 1.cpp // Author : typedefstruct // Version : // Copyright : typedef // Description : Hello World in C++, Ansi-style //============================================================================ #include usingnamespace std; typedefstructmahasiswa { charnim[12]; charnama[30]; floatipk; }; intmain() { mahasiswamhs; cout<<"NIM = "; cin>>mhs.nim; cout<<"Nama = "; cin>>mhs.nama; cout<<"IPK = "; cin>>mhs.ipk; cout<<"DATA ANDA"<<endl; cout<<"NomorIndukMahasiswa = "<<mhs.nim<<endl; cout<<"Nama = "<<mhs.nama<<endl; cout<<"IPK = "<<mhs.ipk<<endl; return 0; }
Output Program
Penjelasan 1. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 2. adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<
8. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 9. Fungsi return 0; digunakan untuk membaca data karakter.
1.4 Listing program //======================================== ==================================== // Name : latihan_2.cpp // Author : LuasSegitigatypedef // Version : // Copyright : typedef // Description : Hello World in C++, Ansistyle //======================================== ==================================== #include usingnamespace std; typedefint itu; typedefstructsegi { ituini; ituone; ituina; }; intmain() { segising; cout<<"SEGITIGA "<<endl; // prints !!!Hello World!!! cout<<"Msukan Alas : "; cin>>sing.ini; cout<<"MasukanTinggi : "; cin>>sing.one; sing.ina=0.5*sing.ini*sing.one; cout<<"Luasnya : "<< sing.ini; return 0; }
Outputnya
Penjelasan 1. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 2. adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 8. Fungsi return 0; digunakan untuk membaca data karakter.
BAB III TUGAS Listing Program //============================================================================ // Name : tugas_2_4.cpp // Author : typedefstruct // Version : // Copyright : typedef // Description : Hello World in C++, Ansi-style //============================================================================ #include usingnamespace std; typedefcharyang; typedefstructbayar { yangiku[20];daftariki[15]; }; intmain() { Bayar byr; cout<<"==============INPUT PRODUK YANG DDIBELI================"<<endl; // prints !!!Hello World!!!
cout<<"Produkyangdibeli : "; cin>>byr.iku; cout<<"Harga (Rp) : "; cin>>byr.iki; cout<<"\n=======================OUTPUT=========================="; cout<<"\n\nProdakyangdibeliadalah: "<
Output
1. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai.
2. adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 10. Fungsi return 0; digunakan untuk membaca data karakter.
BAB IV Kesimpulan Member yang juga memiliki type dan nama dengan type yang beragam, sehingga dapat digunakan untuk membuat tipe data agregate yang rumit. Dalam C++ nama struct (tag)adalah tipe oleh karena itu point merupakan tipe, pendeklarasian diatas dapat diibaratkan sebagai template dan tipe data point itu sendiribelum dialokasikan dalam memori. ype data abstrak pada bagian in merupakan tipe data gabungan antara typedef dan struct. Penggabungan tipedata typedef dapat didefinisikan ke dalam bentuk umum :