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 elemenelemennya 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/pendeklarasian variabel 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;
Program contoh 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.
Program contoh 02
Algoritma.........????? Pseudocode.......??????
Program contoh 03
Input & Output
Algoritma.........????? Pseudocode.......??????
Input & Output Tugas
Tugas 1. 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
Program contoh 01
Algoritma.........????? Pseudocode.......??????