ALGORITMA DAN PEMROGRAMAN 2
3 SKS By : Sri Rezeki Candra Nursari
MATERI
• Teks/string• Pointer• File• Struktur• Kelas• Konstruktor dan
Destruktor• Kelas dan Obyek
• Overloading Operator• Inheritance (Pewarisan)• Polimorfisme • Template Fungsi dan
Kelas• Sort• Search
STRUKTUR
Pertemuan 04
3 SKS
Definisi Struktur
• Suatu object benda biasanya mempunyai beberapa attribut yang perlu dicatat.– Contoh :
• Budi sebagai personal mempunyai attribut nama, alamat, usia, jenis kelamin, pekerjaan, status
• Budi sebagai atlit mempunyai attribut cabang olah raga, daftar prestasi, jadual pertandingan
• Jadi satu benda (Budi) yang sama dimungkinkan mempunyai atribut yang berbeda-beda sesuai dengan dari sudut mana objek itu dipandang
Definisi Struktur
• Merupakan kumpulan elemen-elemen data yang digabungkan menjadi satu kesatuan.
• Masing-masing elemen data dinamakan field atau elemen struktur
• Struktur digunakan untuk mengelompokkan beberapa informasi yang berkaitan.
Definisi Struktur• Array dan struktur mempunyai persamaan dan
perbedaan, yaitu :– Persamaan
• Alokasi memori untuk elemen-elemennya sudah ditentukan sebelum program dijalankan (sifatnya: statis)
– Perbedaan• Array adalah struktur data yang tipe data dari elemen-
elemennya harus sama (homogen) dan elemen-elemennya diakses atau diidentifikasi menggunakan indek
• Struktur adalah struktur data yang tipe data dari elemen-ele men tidak harus sama (heterogen) & elemen-elemennya diakses atau diidentifikasi menggunakan identifier atau nama variabel
Pendeklarasian Struktur• Pendeklarasian Struktur selalu diawali dengan kata
kunci struct yang diikuti dengan nama dari struktur.
• Field-field yang dikumpulkan dalam sebuah struktur diletakkan diantara tanda kurung kurawal buka { dan kurung kurawal tutup } dan diakhiri dengan tanda titik koma ;– Contoh :
struct MAHASISWA {char NIM[10];char nama[25];float IPK; };
Pendeklarasian Struktur– Apabila Mahasiswa memiliki 6 bagian, yaitu 1 digit
pertama sebagai kode Fakultas, kemudian 1 digit selanjutnya adalah kode Program Studi, kemudian 2 digit selanjutnya adalah kode Angkatan, kemudian 2 digit selanjutnya adalah kode Status Mhs, kemudian 1 digit selanjutnya adalah kode RK/R, dan 3 digit adalah nomor urut
struct nim{
char fakultas[1], prodi[1], angkatan[2], status[2], rk_r[1], no_urut[3];
};
Pendeklarasian Struktur• Bermanfaat untuk mengelompokkan sejumlah
data dengan tipe yang berlainan• Membuat tipe data baru dan disebut dengan tipe
data abstrak– Contoh :
struct MATAKULIAH{
char NmMK[30];int sks;char Nilai;
};
Pendeklarasian Struktur– Contoh :
struct MAHASISWA{
char Nim[10];char Nama[25];char Jurusan[25];intJmlMK;MATAKULIAH data_MK; (struktur didalam struktur)
};
Pendeklarasian Struktur
• Pendefinisian/pendeklarasianvariabel struktur sama seperti pendefinisian variabel biasa:– tipe_data nama_variabel
• Contoh :–MATAKULIAH Data_MK;–MAHASISWA Data_MHS;
Pendeklarasian Struktur
• Pendefinisian variabel bisa digabung dengan pendeklarasian struktur:– Contoh :
struct MATAKULIAH{
char NmMK[30];int sks;char Nilai;
}; Data_MK;
Mengakses Struktur
• Syntax:–variabel_struktur.nama_anggota–Contoh :
• strcpy(Data_MK.NmMk,“Algo 2”);• Data_MHS.Data_MK.sks = 3;
Programcontoh 01
Algoritma.........?????Pseudocode.......??????
Menyalin Struktur• Misal didefinisikan dua buah variabel:
– Contoh :MATAKULIAH mk1, mk2;
• Maka penyalinan berikut yang diperbolehkan adalah:mk2 = mk1
• Pernyataan diatas sama dengan gabungan 3 pernyataan berikut:
strcpy(mk2.NmMK, mk1.NmMK);mk2.sks = mk1.sks;mk2.nilai = mk1.nilai;
Membandingkan Struktur• Dua buah struktur tidak dapat secara langsung di banding
kan• Pembandingan dilakukan dengan membandingkan
masing-masing anggotanya• Contoh:
if ((strcmp(mk1.NmMK,mk2.NmMK) == 0) && (mk1.sks == mk2.sks) && (mk1.nilai == mk2.nilai))
cout << “Sama”;else
cout << “Tidak sama”;
Struktur dan Fungsi
• Suatu struktur dapat juga berkedudukan sebagai argumen fungsi
• Contoh :–Menampilkan nilai x & y, dimana argumen
dari fungsi tampil_posisi berupa struktur bertipe koordinat. Fungsi ini menampilkan nilai anggota struktur tersebut yi; x & y.
Programcontoh 02
Algoritma.........?????Pseudocode.......??????
Programcontoh 03
Input & Output
Algoritma.........?????Pseudocode.......??????
Input & OutputTugas
Tugas1. Buat KHS
– Jumlah mahasiswa melalui proses input– Menginput nama mahasiswa, NIM, banyaknya mata kuliah yang
diambil dan menghitung (IPK, jumlah mata kuliah yang diambil, jumlah sks) contoh : Output NIM : 4.5.10.21.0.002
Tugas 02 2. Buat Penjualan Toko Bagus
– Jumlah Pelanggan melalui proses input– Menginput nama pelanggan, alamat, telphone, banyaknya
barang yang dibeli dan menghitung jumlah barang yang dibeli serta total bayar
Programcontoh 01
Algoritma.........?????Pseudocode.......??????