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