laporan praktikum resmi - bab 2 tipe data abstrak (struct)

15
LAPORAN PRAKTIKUM RESMI ALGORITMA & STRUKTUR DATA 1 TIPE DATA ABSTRAK (STRUCT) Disusun oleh : Cintia Yosfin Samalle 201301041 Dosen pengampu : Yosef Murya Kusuma Ardhana.S.T., M.Kom JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

Upload: yosfin

Post on 29-Dec-2015

71 views

Category:

Documents


4 download

DESCRIPTION

Laporan Praktikum Resmi-Bab 2 Tipe Data Abstrak (Struct) (Cintia Yosfin Samalle_201301041) - 8 April 2014

TRANSCRIPT

Page 1: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

LAPORAN PRAKTIKUM RESMI

ALGORITMA & STRUKTUR DATA 1

TIPE DATA ABSTRAK (STRUCT)

Disusun oleh :

Cintia Yosfin Samalle

201301041

Dosen pengampu :

Yosef Murya Kusuma Ardhana.S.T., M.Kom

JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO

PURWOKERTO 2014

Page 2: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

2

BAB I

TEORI DASAR

1. TYPE DATA ABSTRAK

Type 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 yang dideklarasi private danbersifat private, sehingga tidak

dapat diakses secara langsung oleh client, sementara data dan fungsi yang dideklarasi public

akan bersifat publik dan dapat diakses oleh client secara langsung.

2. CLASS ATAU STRUCT

Class atau Struct memilki member. Setiap memilki nama dan tipe. Class atau Struct

boleh memiliki member dengan tipe yang beragam. Oleh karena itu, Class atau Struct dapat

digunakan untuk membuat tipe data aggregate 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 sendiri

belum dialokasikan dalam memori.

Pendeklarasian : point pt;

Mengalokasikan memori untuk variable pt bertipe point.

Untuk mengakses member dari struct pt, operator dot harus digunakan.

Contoh: pt.x = -1;

Page 3: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

3

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 {

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 2

tipe field 3

. . . . .

tipe field n

} variable_struktur1,....., variable_struktur_n

Page 4: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

4

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 pendefinisian struct tersebut adalah :

Di dalam info_teman terdapat nama dan tgl_lahir dan di dalam tgl_lahir terdapat tanggal,

bulan, dan tahun.

Page 5: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

5

BAB II

PENJELASAN PROGRAM

Pada bab ini akan membahas tentang listing program pada bagian modul yang telah digunakan

untuk latihan, mengenai penggunaan Tipe Data Abstrak (Struct).

Listing Program 2.1

/* * program_praktikum2.1.cpp * * Created on: Apr 1, 2014 * Author: STIKOM32 */ #include<iostream> using namespace std; int main () {

struct data_tanggal {

int tanggal; int bulan; int tahun;

}; struct data_teman

{ struct data_tanggal tgl_lahir; };

struct data_teman info_teman; info_teman.tgl_lahir.tanggal= 12; info_teman.tgl_lahir.bulan= 3; info_teman.tgl_lahir.tahun= 1981; cout<<"=========== Data Teman =========="<<endl;; cout<<"Nama : Yosef Murya Kusuma Ardhana"<<endl; cout<<"Tanggal Lahir :"<<info_teman.tgl_lahir.tanggal<<""<<info_teman.tgl_lahir.bulan<<""<<info_teman.tgl_lahir.tahun; return 0; }

Page 6: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

6

Output Program 2.1

Hasil output dari Program 2.1 adalah sebagai berikut :

Penjelasan Program 2.1

1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh compiler.

2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai

3. <iostream> untuk memanggil fungsi cout dan cin dalam C++.

4. using namespace std; adalah standar deviasi dalam sebuah program dalam bahasa pemrograman C++.

5. int main() menyatakan tipe nilai balik fungsi main.

6. cout dipakai untuk menampilkan teks/data ke layar monitor sehingga menjadi output.

7. Typedef biasanya digunakan untuk memberikan nama alias untuk suatu tipe data

8. Tanda kurung kurawal {} dimaksudkan untuk mengawali dan mengakhiri bagian main.

9. endl; yang berarti “end line” digunakan untuk memindahkan kursor ke baris berikutnya.

10. return 0 dimaksudkan untuk menyatakan nilai balik main.

Page 7: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

7

11. Tanda << adalah tanda spesifik dalam cout. Tanda tersebut menyatakan bahwa nilai di kanannya akan dirim ke layar.

12. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.

13. cout dan cin disini maksudnya adalah sebagai fungsi input dan output sebuah program.

14. struct data_tanggal, maksudnya adalah definisi tipe data_tanggal.

15. int tanggal; int bulan; int tahun;

maksdunya adalah variable tanggal, bulan, dan tahun bertipe data integer (bilangan bulat).

16. struct data_teman, maksudnya adalah tipe data_teman.

17. struct data_tanggal tgl_lahir;, maksudnya adalah tipe data_tanggal diubah menjadi

tgl_lahir.

18. struct data_teman info_teman;, maksudnya adalah tipe data_teman diubah menjadi info_teman.

19. info_teman.tgl_lahir.tanggal= 12;, maksudnya adalah variable

info_teman.tgl_lahir.tanggal memiliki nilai 12.

20. info_teman.tgl_lahir.bulan= 3;, maksudnya adalah variable info_teman.tgl_lahir.bulan memiliki nilai 3.

21. info_teman.tgl_lahir.tahun= 1981;, maksudnya adalah variable

info_teman.tgl_lahir.tahun memiliki nilai 1981.

22. cout<<"Tanggal Lahir :"<<info_teman.tgl_lahir.tanggal<<""<<info_teman.tgl_lahir.bulan<<""<<info_teman.tgl_lahir.tahun;, maksudnya adalah pada proses ini akan memberikan hasil tampilan output kepada user berupa tanggal lahir, bulan lahir, dan tahun lahirnya.

Tugas Praktikum

Menghitung Luas Segitiga & Luas Lingkaran

/* * luassegitiga.cpp *

Page 8: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

8

* Created on: Apr 1, 2014 * Author: STIKOM32 */ #include<iostream> #define phi 3.14 using namespace std; struct { int luas, alas, tinggi; float jarijari; } angka; void LuasSegitiga() { angka.luas=0.5*angka.alas*angka.tinggi; cout<<"\nLuas Segitiga adalah ="<<angka.luas; } void LuasLingkaran() { angka.luas=phi*angka.jarijari*angka.jarijari; cout<<"\nLuas Lingkaran adalah ="<<angka.luas; } int main() { cout<<"=== |Luas Segitiga| ==="<<endl; cout<<"\nMasukkan Alas : "; cin>>angka.alas; cout<<"\nMasukkan tinggi : "; cin>>angka.tinggi; LuasSegitiga(); cout<<"\n\n\n"; cout<<"=== |Luas Lingkaran| ==="; cout<<"\nMasukkan Jari-Jari : "; cin>>angka.jarijari; LuasLingkaran(); return 0; } Output Program

Page 9: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

9

Penjelasan Program Menghitung Luas Segitiga & Luas Lingkaran

1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh compiler.

2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai

3. <iostream> untuk memanggil fungsi cout dan cin dalam C++.

4. using namespace std; adalah standar deviasi dalam sebuah program dalam bahasa pemrograman C++.

5. int main() menyatakan tipe nilai balik fungsi main.

6. cout dipakai untuk menampilkan teks/data ke layar monitor sehingga menjadi output.

7. Typedef biasanya digunakan untuk memberikan nama alias untuk suatu tipe data

8. Tanda kurung kurawal {} dimaksudkan untuk mengawali dan mengakhiri bagian main.

9. endl; yang berarti “end line” digunakan untuk memindahkan kursor ke baris berikutnya.

10. return 0 dimaksudkan untuk menyatakan nilai balik main.

11. Tanda << adalah tanda spesifik dalam cout. Tanda tersebut menyatakan bahwa nilai di kanannya akan dirim ke layar.

12. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.

13. cout dan cin disini maksudnya adalah sebagai fungsi input dan output sebuah program.

14. #define phi 3.14 adalah deklarasi konstanta dalam C++.

15. Struct adalah adalah tipe data bentukan yang berisi kumpulan variable-variable yang

bernaung dalam satu nama yang sama dan memiliki kaitan satu sama lain.

Page 10: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

10

16. int luas, alas, tinggi;, maksudnya adalah variable luas, alas, dan tinggi memiliki tipe data yang sama yaitu integer atau bilangan bulat.

17. float jarijari;, maksudnya adalah variable jarijari memilikitipe data float atau bilangan pecahan.

18. angka; adalah pendefinisian struct.

19. void LuasSegitiga() {

angka.luas=0.5*angka.alas*angka.tinggi; cout<<"\nLuas Segitiga adalah ="<<angka.luas;

} void LuasLingkaran() { angka.luas=phi*angka.jarijari*angka.jarijari; cout<<"\nLuas Lingkaran adalah ="<<angka.luas; } Ini adalah pendefinisian prosedur Luas segitiga dan Luas Lingkaran.

20. LuasSegitiga(); LuasLingkaran(); Ini adalah cara pemanggilan prosedur Luas segitiga dan Luas lingkaran.

Kalkulator Sederhana

/* * Kalkulator.cpp * * Created on: Mar 25, 2014 * Author: STIKOM32 */ #include <iostream> using namespace std; typedef int angka1, angka2, menu; int main() { angka1 x; angka2 y; menu m; cout<<"____________________ Kalkulator _____________________"<<endl; cout<<"\n1. Penambahan"; cout<<"\n2. Pengurangan"; cout<<”\n3. Perkalian”; cout<<”\n4. Pembagian”; cout<<”\n5. Exit”;

Page 11: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

11

cout<<”Pilih Menu :”; cin>>m; switch(m) { case 1: cout<<”1. Penambahan”<<endl; cout<<”Masukkan angka pertama :”; cin>>x; cout<<”Masukkan angka kedua :”; cin>>y; cout<<”Hasil dari penambahan adalah ”<<x+y; break; case 2: cout<<”2. Pengurangan”<<endl; cout<<”Masukkan angka pertama :”; cin>>x; cout<<”Masukkan angka kedua :”; cin>>y; cout<<”Hasil dari pengurangan adalah ”<<x-y; break; case 3: cout<<”3. Perkalian”<<endl; cout<<”Masukkan angka pertama :”; cin>>x; cout<<”Masukkan angka kedua :”; cin>>y; cout<<”Hasil dari perkalian adalah ”<<x*y; break; case 4: cout<<”4. Pembagian”<<endl; cout<<”Masukkan angka pertama :”; cin>>x; cout<<”Masukkan angka kedua :”; cin>>y; cout<<”Hasil dari pembagian adalah ”<<x/y; break; default: cout<<”Pilihan yang anda masukkan salah”; } return 0; }

Output Program

Page 12: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

12

Penjelasan Program Kalkulator Sederhana :

1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh compiler.

2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai

3. <iostream> untuk memanggil fungsi cout dan cin dalam C++.

4. using namespace std; adalah standar deviasi dalam sebuah program dalam bahasa pemrograman C++.

5. int main() menyatakan tipe nilai balik fungsi main.

6. cout dipakai untuk menampilkan teks/data ke layar monitor sehingga menjadi output.

7. Typedef biasanya digunakan untuk memberikan nama alias untuk suatu tipe data

8. Tanda kurung kurawal {} dimaksudkan untuk mengawali dan mengakhiri bagian main.

9. endl; yang berarti “end line” digunakan untuk memindahkan kursor ke baris berikutnya.

10. return 0 dimaksudkan untuk menyatakan nilai balik main.

11. Tanda << adalah tanda spesifik dalam cout. Tanda tersebut menyatakan bahwa nilai di kanannya akan dirim ke layar.

12. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.

13. cout dan cin disini maksudnya adalah sebagai fungsi input dan output sebuah program.

14. typedef int angka1, angka2, menu;, maksudnya adalah pada variable angka1, angka2, dan menu bertipe integer (nilangan bulat) dan bertipe dat typedef.

15. angka1 x;

Page 13: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

13

angka2 y; menu pilih;, karena diatas telah dituliskan bahwa angka1, angka2, dan menu merupakan typedef maka, nama variable tersebut diganti menjadi nama baru yaitu x, y, dan pilih.

16. cout<<"_____________________ Kalkulator _______________________"<<endl; cout<<"1. Penambahan"<<endl; cout<<"2. Pengurangan"<<endl; cout<<"3. Perkalian"<<endl; cout<<"4. Pembagian"<<endl; cout<<"5. Exit"<<endl; cout<<"Pilih Menu :"<<endl; Tampilan menu yang akan muncul ke layar monitor user jika program kalkulator ini dijalankan.

17. cin>>pilih;, perintah yang akan dikirimkan ke program agar menampilkan menu sesuai angka yang di pilih oleh user.

18. switch (pilih){ case 1:, salah satu fungsi pemilihan dalam C++.

19. default: cout<<"Pilihan yang anda masukkan salah"<<endl; break;, akan ditampilkan jika pilihan tidak sesuai dengan menu yang ada.

Page 14: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

14

BAB III

KESIMPULAN

Tipe data abstrak adalah data dan operasi yang dapat digunakan untuk memanipulasi data

tersebut.

Tipe data abstrak dibuat dalam sebuah Class, dalam C++ Class merupakan

pengembangan dari struct. Class memiliki data dan fungsi.

Struct adalah tipe data bentukan yang berisi kumpulan variable-variable yang bernaung

dalam satu nama yang sama dan memiliki kaitan satu sama lain.

Class atau Struct memiliki member, dimana tiap member memiliki nama dan tipe yang

beragam.

.Untuk mengakses member dari suatu struct tertentu, harus menggunakan operator dot.

Variable-variable yang merupakan anggota struct disebutelemen struct.

Pendeklarasian struct biasanya dilakukan diawal, setelah pendeklarasian file header dan

sebelum fungsi main.

Struct berbeda dengan array, jika array hanya dapat menampung kumpulan variable yang

bertipe data sama, struct bisa memilki variable-variable yang bertipe data sama atau

berbeda, bahkan bisa menyimpan variable yang bertipe data array atau struct itu sendiri.

Page 15: Laporan Praktikum Resmi - Bab 2 Tipe Data Abstrak (Struct)

15

BAB IV

DAFTAR PUSTAKA

1. Ardhana, YM Kusuma. 2013. Struktur Data dalam Ilustrasi Eclups Indigo C ++. Yogyakarta: CAPS (Center of Academic Publishing Service).

2. Kadir, Abdul. 2012. Buku Pintar C++ Untuk Pemula. Yogyakarta: MediaKom.

3. Modul praktikum algoritma dan struktur data 1 (bab 2 tipe data abstrak (struct)).