Anda di halaman 1dari 22

LAPORAN PRAKTIKUM RESMI

TIPE DATA ABSTRAK (TYPEDEF DAN STRUCT)





Disusun oleh :
Velisia Puspita Devi
201301023

Dosen pengampu :
Yosef Murya Kusuma Ardhana.S.T., M.Kom


JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO
PURWOKERTO
2014
2

BAB I
TEORI DASAR

1. Pengantar
Tipe data abstrak atau Abstract Data Type (ADT) adalah data dan operasi yang
dapat digunakan untuk memanipulasi data tersebut. Dalam C++, ADT dapat dibuat dalam
sebuah class. Class dalam C++ merupakan pengembangan dari struct dalam bahasa
pemrograman C. Class memiliki data dan fungsi. Data dan fungsi yang dideklarasi
private tidak dapat diakses secara langsung oleh client. Sementara data dan fungsi yang
dideklarasikan secara public akan bersifat publik dan dapat diakses secara langsung.
A. Class atau Struct
Class atau struct memiliki member. Setiap member memiliki nama dan tipe. Class
atau struct boleh memiliki member dengan tipe yang beragam. Oleh karena itu, struct
atau class dapat digunakan untuk membuat tipe data aggregate rumit.

Struct point
{
Double x, y;
};
Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel yang
bernaung dalam satu nama yang sama dan memiliki ikatan satu sama lain. Variabel-
variabel yang menjadi anggota struct disebut dengan elemen struct. Berbeda dengan array
yang hanya berupa kumpulan variabel yang bertipe data sama. Struct bisa memiliki
3

variabel-variabel yang bertipe data sama atau berbeda bahkan bisa menyimpan variabel
yang bertipe data array atau struct itu sendiri.
Dalam C++, nama struct (tag) adalah tipe. Oleh karena itu, point merupakan tipe.
Pendeklarasian di atas dapat diibaratkan sebagai template dan tipe data point itu sendiri
belum dialokasikan dalam memori.
Pendeklarasian:
Point pt;
Mengalokasikan memori untuk variabel pt bertipe point.
Untuk mengakses member dari struct pt, operator dot harus digunakan.
Contoh:
pt.x=-1;
pt.y=0.5;
Nama member harus unik dalam skop struct, karena saat mengakses member,
nama struct harus ditulis, maka pemanggilan nama member yang sama dari struct yang
berbeda tidak menjadi masalah.
struct fruit
{
char name [15];
int calories;
};
struct vegetable
{
4

char name [15];
int calories;
};
fruit a;
vegetable b;
Dalam bahasa C:
struct fruit a;
struct vegetable b;
Pemanggilan a.calories dan b.calories tidak akan menimbulkan
masalah.
Bentuk umum struct:
struct nama_tipe_struktur
{
tipe field 1
tipe field 1
tipe field 1
. . . . . .
tipe field n
}
variabel_struktur1, . . . . , variabel_struktur_n

5

Pendefinisian struct:

struct data_tanggal

{

int tanggal;

int bulan;

int tahun;

}

struct data_teman

{

char nama[21];

struct data_tanggal tgl_lahir;

}
info_teman;

Pengertian dari contoh diatas:





tanggal
nama
info_teman
bulan tgl_lahir
tahun
6

B. Typedef
Typedef bisa dipakai untuk memberikan nama alias terhadap suatu tipe data.
Bentuk umum:
typedef <tipe_data_lama> <tipe_data_baru>
Contoh pendeklarasian typedef:
typedef int angka;
typedef float pecahan;
typedef char huruf;

Program Pendefinisian Typedef:
/* Pendeklarasian tipe data baru */
typedef int angka;
typedef float pecahan;
typedef char huruf;
int main()
{
angka umur;
pecahan pecah;
huruf x;
huruf nama[10];
cout<<Masukan umur anda: ;
7

cin>>umur;
cout<<Umur anda adalah <<umur;
cout<<\nMasukan bilangan pecahan: ;
cin>>pecah;
cout<<Bilangan pecahan: <<pecah;
cout<<\nMasukan huruf: ;
cin>>huruf;
cout<<Huruf anda: <<huruf;
cout<<\nMasukan nama: ;
cin>>nama;
cout<<Nama anda adalah: <<nama;
return 0;
}
Hasil Program Typedef Data Umur dan Bilangan:


8

C. Typedef dan Struct
Tipe data abstrak pada bagian ini merupakan tipe data gabungan antara typedef
dan struct. Penggabungan tipe data typedef dan struct dapat didefinisikan ke dalam
bentuk umum:
typedef struct <nama_struct>
{
tipe_data <nama_variabel>;
tipe_data <nama_variabel>;
. . . . .
}
Contoh pendeklarasian typedef dan struct:
//Pendeklarasian tipe data baru struct Mahasiswa
typedef struct Mahasiswa
{
char NIM[9];
char nama [30];
float ipk;
};
Dari contoh definisi di atas, dapat dikatakan bahwa kita sudah mempunyai
variabel mhs bertipe data struct. Program pendefinisian typedef dan struct sbb:
#include<iostream>
9

Using namespace std;
//Pendeklarasian tipe data baru struct Mahasiswa
typedef struct Mahasiswa
{
char NIM[12];
char nama[30];
float ipk;
};
int main()
{
//Buat variabel mhs bertipe data Mahasiswa
Mahasiswa mhs;
cout<<NIM: ;
cin>>mhs.NIM
cout<<Nama: ;
cin>>mhs.nama;
cout<<IPK: ;
cin>>mhs.ipk;
cout<<Data anda: \n;
cout<<NIM: <<mhs.NIM<<endl;
cout<<Nama: <<mhs.nama<<endl;
10

cout<<IPK: <<mhs.ipk;
return 0;
}
Hasil Program Typedef dan Struct Data Mahasiswa:













11

BAB II
PENJELASAN PROGRAM

1. Latihan Praktikum
Pada bab ini akan membahas tentang listing program pada bagian modul yang telah
digunakan untuk latihan pada pertemuan keempat. Latihan yang dilakukan mencakup pada
Listing Program 4.1
Listing Program 4.1

12

Hasil output dari Program 4.1

Penjelasan Program 4.1
1. Simbol // pada listing program merupakan script pada program yang digunakan
untuk membuat komentar berorientasi baris pada C++ yang kemudian diikuti oleh
teks sehingga teks tidak terbaca sebagai bagian proses program. 2.1
2. #include merupakan pengarah preprocessor yang berfungsi untuk menginstruksikan
compiler untuk menyertakan berkas C++ sebelum di compile
3. <iostream> adalah sebuah library yang berfungsi untuk memanggil library C++.
Library iostream berfungsi untuk input dan outpun (cin dan cout)
4. Using namespace std merupakan standart device
5. Int main merupakan badan fungsi atau fungsi utama
6. Typedef struct mahasiswa merupakan pendefinisian nama tipe data baru dengan
mahasiswa digunakan sebagai tipe data bentukan yang baru
7. Char NIM[12] merupakan pendeklarasian variable NIM yang bertipe char (karakter)
dengan jumlah elemen sebanyak 12 karakter
8. Char nama[30]; merupakan pendeklarasian variable nama yang bertipe char dengan
(karakter) dengan jumlah elemen sebanyak 30 karakter
9. Float ipk; merupakan pendeklarasian variable ipk yang bertipe float
10. Endl berfungsi untuk membuat garis baru atau new line sama seperti dengan \n
11. mahasiswa mhs; merupakan pendeklarasian variable mhs yang bertipe data
mahasiswa. Mahasiswa merupakan tipe data bentukan baru pada typedef struct
12. Cout berfungsi untuk menampilkan hasil program ke layar
13

13. Cin berfungsi untuk memasukan (input) sebuah data
14. Blok pernyataan yang diawali dengan tanda { dan diakhiri dengan dengan tanda }.
Blok pernyataan selalu diawali dengan suatu intruksi
Listing Program 4.2

14









15

Output Program 4.2
Penjumlahan

Pengurangan

Pembagian

16

Perkalian

Salah Dalam Penginputan

Penjelasan Program 4.2
1. Simbol // pada listing program merupakan script pada program yang digunakan untuk
membuat komentar berorientasi baris pada C++ yang kemudian diikuti oleh teks sehingga
teks tidak terbaca sebagai bagian proses program. 2.1
2. #include merupakan pengarah preprocessor yang berfungsi untuk menginstruksikan
compiler untuk menyertakan berkas C++ sebelum di compile
3. <iostream> adalah sebuah library yang berfungsi untuk memanggil library C++. Library
iostream berfungsi untuk input dan outpun (cin dan cout)
4. Using namespace std merupakan standart device
5. Int main merupakan badan fungsi atau fungsi utama
17

6. Switch merupakan fungsi pemilihan dimana pada program ditulis switch (k.pilih). Hal ini
dimaksudkan apabila user memasukan atau memilih angka 1, maka akan merujuk ke case
sesuai value yang diinputkan oleh user. Variable k.pilih dimaksudkan sebagai wadah
value untuk pilihan dari menu yang disediakan yang kemudian disalurkan oleh switch
kepada case n (n harus sesuai value pilihan). Case berisi program yang dipilih dengan
berakhiran dengan break. Break berfungsi sebagai penghenti proses switch. Untuk default
dimunculkan sebagai pilihan alternatif apabila value yang diinputkan tidak ditemukan
pada case-case yang ada sehingga akan muncul perintah seperti Pilihan yang anda
masukan salah!
7. Endl berfungsi untuk membuat garis baru atau new line sama seperti dengan \n
8. Cout berfungsi untuk menampilkan hasil program ke layar
9. Cin berfungsi untuk memasukan (input) sebuah data
10. Blok pernyataan yang diawali dengan tanda { dan diakhiri dengan dengan tanda }. Blok
pernyataan selalu diawali dengan suatu intruksi
11. Typedef struct kalkulator
{
float angka1, angka2, hasil;
int pilih;
};
Merupakan pendefinisian dan pendeklarasian typedef struct dengan nama kalkulator,
dimana float dan int merupakan tipe data pecahan dan integer dan angka1, angka2, hasil,
dan pilih sebagai nama variabel
12. Kalkulator k; merupakan tipe data baru dan nama variabel baru.
13. Untuk k. (k dot) merupakan pemanggilan nama variabel dan tipe data baru.
14. Default berfungsi sebagai peringatan atau perintah pada saat user salah menginputkan
data.
15. Return 0 berfungsi untuk membalikan nilai fungsi
16. Break berfungsi untuk menghentikan proses ekseskusi pada program yang dijalankan
Listing Program 4.3
18


Hasil Output Program 4.3

Penjelasan Program 4.3
2. Tugas Praktikum
Pada bab ini akan membahas tentang tugas praktikum dalam membuat
program menghitung produk yang dibeli.


Listing Program Menghitung Produk yang Dibeli
19


Hasil Output Program Menghitung Produk yang Dibeli

Penjelasan Program Menghitung Produk yang Dibeli
1. Simbol // pada listing program merupakan script pada program yang digunakan untuk
membuat komentar berorientasi baris pada C++ yang kemudian diikuti oleh teks sehingga
teks tidak terbaca sebagai bagian proses program. 2.1
2. #include merupakan pengarah preprocessor yang berfungsi untuk menginstruksikan
compiler untuk menyertakan berkas C++ sebelum di compile
20

3. <iostream> adalah sebuah library yang berfungsi untuk memanggil library C++. Library
iostream berfungsi untuk input dan outpun (cin dan cout)
4. Using namespace std merupakan standart device
5. Int main merupakan badan fungsi atau fungsi utama
6. Cout berfungsi untuk menampilkan hasil program ke layar
7. Cin berfungsi untuk memasukan (input) sebuah data
8. Return 0 berfungsi untuk membalikan nilai fungsi
9. Break berfungsi untuk menghentikan proses ekseskusi pada program yang dijalankan
10. Typedef struct kasir merupakan tipe data dan nama variabel
11. Char merupakan tipe data karakter dengan nama variabel produk yang berisi 50 karakter.
12. Int merupakan tipe data integer dengan nama variabel harga
13. Kasir k merupakan tipe data baru dengan nama variabel baru













21

BAB III
KESIMPULAN
1. Bentuk umum:
{
tipe_data <nama_var>;
tipe_data <nama_var>;
. . . .
}
2. Pendefinisian typedef dan struct
typedef struct <nama_tipe_data_baru>
{
tipe_data nama_variabel;
};
3. Tipe Data Abstrak atau Abstract Data Type (ADT) merupakan koleksi data dan operasi
yang dapat digunakan untuk memanipulasi data
4. Struct memiliki member yang memiliki nama dan tipe
5. Tipe struct tidak selalu sama, yang kemudian akan digabungkan ke dalam satu unit
6. Ketika mengakses member atau pada saat menghubungkan nama struktur dan nama
membernya digunakan simbol .
7. Nama member harus unik dalam scope struct
8. Pada saat member diakses, nama struct harus ditulis
9. Pemanggilan nama member yang sama dari struct yang berbeda tidak menjadi masalah
10. Typedef struct merupakan gabungan antara typedef dan struct




22

BAB IV
DAFTAR PUSTAKA

Ardhana, YM Kusuma. 2013. Struktur Data dalam Ilustrasi Eclips Indigo C ++. Yogyakarta:
CAPS (Center of Academic Publishing Service).
Kadir, Abdul. 2012. Buku Pintar C++ untuk Pemula. Jakarta: MediaKom

Anda mungkin juga menyukai