Struktur Manfaat tipe data struct secara umum adalah


![Struktur • Cara mendefinisikan variabel struct: [struct] <nama_struct> <nama_var_struct>; • Cara mengakses struct: <id_struct>. Struktur • Cara mendefinisikan variabel struct: [struct] <nama_struct> <nama_var_struct>; • Cara mengakses struct: <id_struct>.](https://slidetodoc.com/presentation_image/92d0335601c17717d9111ddf40b4f8c8/image-3.jpg)




![Array pada Struktur • Cara deklarasi variabel struct array: [struct] <nama_struct> <id_struct> [<n>] = Array pada Struktur • Cara deklarasi variabel struct array: [struct] <nama_struct> <id_struct> [<n>] =](https://slidetodoc.com/presentation_image/92d0335601c17717d9111ddf40b4f8c8/image-8.jpg)

![Contoh Program Mahasiswa dat. Mhs[] ={{"052120001", "SUSAN", 85. 30}, {"052120002", "HELEN", 75. 45}, {"052120003", Contoh Program Mahasiswa dat. Mhs[] ={{"052120001", "SUSAN", 85. 30}, {"052120002", "HELEN", 75. 45}, {"052120003",](https://slidetodoc.com/presentation_image/92d0335601c17717d9111ddf40b4f8c8/image-10.jpg)



- Slides: 13
Struktur Manfaat tipe data struct secara umum adalah untuk menyimpan paket (sekumpulan) data ke dalam satu buah nama variabel saja. Kumpulan data di dalam sebuah struct bisa mempunyai tipe data dasar yang beraneka ragam. Kumpulan data dalam sebuah struct sangat dianjurkan membentuk sebuah kesatuan makna berkaitan dengan nama structnya. Misal, jika struct-nya bernama segitiga maka isi structnya antara lain: alas, tinggi, luas dan keliling. Konsep yang lebih lanjut dapat juga dalam sebuah struct terdapat struct lagi (nested struct).
• Digunakan untuk mengelompokkan sejumlah data yang mempunyai tipe dan ukuran yang berbeda. • Cara deklarasi variabel struct: struct <nama_struct> { <tipe> <id 1>; <tipe> <id 2>; . . . <tipe> <idn>; };
Struktur • Cara mendefinisikan variabel struct: [struct] <nama_struct> <nama_var_struct>; • Cara mengakses struct: <id_struct>. <id 1> = <ekspresi>; atau <id> = <id_struct>. <id 1>;
CONTOH PROGRAM • • • • • #include <iostream. h> struct Time { int jam; int menit; int detik; }; //int ke. Seconds(Time now); //========================== main int main() { Time t; int a; while (cin >> t. jam >> t. menit >> t. detik) { a=3600*t. jam + 60*t. menit + t. detik; cout << "Total detik: " << a << endl; } return 0; } int kedetik(Time now) { return 3600*now. jam + 60*now. menit + now. detik; }
Contoh Program /* struct */ #include <stdio. h> #include <conio. h> void main() { struct Mahasiswa { char *nim; char *nama; float nilai; };
Contoh Program Mahasiswa dat. Mhs clrscr(); printf("Nim : printf("Nama : printf("Nilai : getch(); } = {"052120001", "SUSAN", 85. 00}; %sn", dat. Mhs. nim); %sn", dat. Mhs. nama); %0. 2 fn", dat. Mhs. nilai);
#include <stdio. h> struct mhs { int npm; float ipk; int terhapus; //untuk menyimpan status data. bernilai 0 jika masih ada, dan 1 jika sdh dihapus }data[3]; //array of struct dengan 3 elemen void main() { int i, cari, ketemu; printf("Isikan datan"); for(i=0; i<3; i++) { printf("NPM = "); scanf("%d", &data[i]. npm); printf("IPK = "); scanf("%f", &data[i]. ipk); data[i]. terhapus = 0; }; printf("Isi datan"); //menampilkan data for(i=0; i<3; i++) { if (data[i]. terhapus == 0) //tampilkan data yg belum terhapus printf("NPM = %dt. IPK = %fn", data[i]. npm, data[i]. ipk); }; printf("Cari NPM = "); scanf("%d", &cari); ketemu = 0; //awal pencarian data for(i=0; i<3; i++) { if (cari == data[i]. npm) ketemu = 1; } if (ketemu == 1) printf("NPM ditemukann"); else printf("NPM tidak adan"); printf("Cari NPM hapus = "); scanf("%d", &cari); //awal penghapusan data for(i=0; i<3; i++) //cari dulu data yang akan dihapus. misal berdasar NPM { if ((cari == data[i]. npm) && (data[i]. terhapus == 0)) //cek juga status datanya { data[i]. terhapus = 1; break; //sekali ketemu ubah status, keluar loop } }
Array pada Struktur • Cara deklarasi variabel struct array: [struct] <nama_struct> <id_struct> [<n>] = {{<data 11>, <data 12>, . . . , <data 1 M>}, {<data 21>, <data 22>, . . . , <data 2 M>}, . . . {<data. N 1>, <data. N 2>, . . . , <data. NM>}}; • Cara akses: <id_struct>[<subscript>]. <id> = <ekspr>;
Contoh Program /* struct */ #include <iostream. h> #include <iomanip. h> #include <conio. h> void main() { struct Mahasiswa { char *nim; char *nama; float nilai; };
Contoh Program Mahasiswa dat. Mhs[] ={{"052120001", "SUSAN", 85. 30}, {"052120002", "HELEN", 75. 45}, {"052120003", "BUDI SANTOSO", 70. 00}}; clrscr(); cout << setprecision(2); cout << setiosflags(ios: : left | ios: : showpoint); for(int i = 0; i < 3; i++) { cout << setw(12) << dat. Mhs[i]. nim << setw(25) << dat. Mhs[i]. nama << setw(10) << dat. Mhs[i]. nilai<< endl; } getch(); }
Latihan 1. Buatlah program untuk menghitung nilai akhir seorang siswa dari kursus yang diikutinya dengan ketentuan sebagai berikut (dgn array): – Nama mahasiswa, nilai tugas, nilai uts, dan nilai uas diinput. – Proses yang dilakukan untuk mendapatkan nilai murni dari masing –masing nilai adalah: • • Nilai murni tugas = nilai uts * 30% Nilai murni uts = nilai uts * 20% Nilai murni uas = nilai uas * 50% Nilai akhir adalah (nilai murni tugas + nilai murni uts + nilai murni uas) di bagi 100
Latihan Ketentuan untuk mendapatkan grade nilai: • Nilai akhir >= 80 Grade A • Nilai akhir >= 70 Grade B • Nilai akhir >= 60 Grade C • Nilai akhir >= 50 Grade D • Nilai akhir < 50 Grade E • Tampilan yang diinginkan adalah sebagai berikut:
Latihan Layar Masukan Program Menghitung Nilai Akhir Matakuliah Bahasa Pemrograman Masukkan Jumlah Mahasiswa : . . . <diinput> Mahasiswa ke -. . . <proses counter> ---------Nama Mahasiswa : . . . <diinput> Nilai Tugas : . . . <diinput> Nilai UTS : . . . <diinput> Nilai UAS : . . . <diinput> <<terus berulang tergantung jumlah













