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)) else cout << Sama ; 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...??????