Algoritma dan Struktur Data Praktikum 1 Deklarasi Struktur pada C++ Tujuan : − mahasiswa dapat mendeklarasikan struktur pada C++ − mahasiswa mengetahui cara mengakses anggota struktur pada C++ Pengertian Sebuah struktur data adalah sekelompok elemen data yang dikelompokkan bersama di bawah satu nama. Berbeda dengan array yang harus bertipe sama, unsurunsur data (dikenal sebagai elemen struktur atau field) dapat memiliki tipe data dan panjang yang berbeda. Selain itu, array diakses melalui indeksnya sedangkan struktur diakses melalui identifier atau nama variabel. Walaupun field-field tersebut berada dalam satu kesatuan, masing-masing field tersebut tetap dapat diakses secara individual. Field-field tersebut digabungkan menjadi satu dengan tujuan untuk kemudahan dalam operasinya. Misalnya Anda ingin mencatat data-data mahasiswa dan pelajar dalam sebuah program, Untuk membedakannya Anda dapat membuat sebuah record mahasiswa yang terdiri dari field nim, nama, alamat dan ipk serta sebuah record pelajar yang terdiri dari field-field nama, nourut, alamat dan jumnilai. Dengan demikian akan lebih mudah untuk membedakan keduanya. Deklarasi Struktur data dapat dinyatakan dalam C ++ menggunakan sintaks berikut: struct nama_struktur { tipe_data1 elemen1; tipe_data2 elemen2; tipe_data3 elemen3; … … } nama_objek; atau nama struktur, kata struct harus ada elemen dari struktur/field identifier yang digunakan untuk mengakses struktur struct nama_struktur { tipe_data1 elemen1; tipe_data2 elemen2; … … } ; struct nama_struktur nama_objek; Jurusan Teknik Informatika Politeknik Negeri Tanah Laut Oleh: Winda Aprianti, M.Si Algoritma dan Struktur Data Praktikum 1 Contoh 1 #include <iostream> using namespace std; struct mahasiswa { char nim[10]; char nama[25]; int semester; float ipk; }; Contoh struktur dengan tipe data berbeda struct mahasiswa mhs; // struct dapat dihilangkan int main() { struct tanggal { int tanggal, bulan, tahun; }tgl; // program mengakses field cout << "Data inputan mahasiswa\n"; cout << "Tanggal\t: "; cin >> tgl.tanggal; cout << "Bulan\t: "; cin >> tgl.bulan; cout << "Tahun\t: "; cin >> tgl.tahun; cout << "\nData Mahasiswa : \n"; cout << "NIM\t: "; cin >> mhs.nim; cout << "Nama\t: "; cin >> mhs.nama; cout << "Semester: "; cin >> mhs.semester; cout << "IPK\t: "; cin >> mhs.ipk; } cout << "\nRekap inputan mahasiswa tanggal "; cout << tgl.tanggal << "-" << tgl.bulan; cout << "-" << tgl.tahun; cout << "\nNama: " << mhs.nama; cout << ", NIM : " << mhs.nim; cout << ", dengan IPK : " << mhs.ipk; Contoh struktur dengan tipe data sama Inputan data Output Data Enumerasi Enumerasi adalah tipe data yang mempunyai elemen-elemen bertipe konstanta dengan urutan yang sudah ditentukan. Nilai-nilai dari konstanta ini berupa nilai-nilai integer yang diwakili oleh pengenal yang ditulis di antara tanda kurung kurawal “{ “ dan “}”. Tipe ini dideklarasikan dengan kata kunci enum. Jurusan Teknik Informatika Politeknik Negeri Tanah Laut Oleh: Winda Aprianti, M.Si Algoritma dan Struktur Data Praktikum 1 Deklarasi Enumerasi dapat dinyatakan dalam C ++ menggunakan sintaks berikut: Enum nama_enumerasi {nilai1,nilai2,…} Contoh 2 #include <iostream> using namespace std; enum j_kel {pria, wanita}; int main () { struct siswa { int nis; string nama; j_kel kelamin; } A; A.nis = 123; A.nama = "Riri"; A.kelamin = wanita; } cout << "Nis\t: " << A.nis; cout << "\nNama\t: " << A.nama; cout << "\nKelamin : " << A.kelamin; Latihan 1. Buatlah program untuk menghitung spp mahasiswa menggunakan struktur, diketahui : a. D3 - spp tetap Rp 500.000 - spp var Rp 25.000/sks b. S1 - spp tetap Rp 750.000 - spp var Rp 50.000/sks 2. Buat program untuk menghitung jumlah nilai akhir mahasiswa menggunakan struktur dengan ketentuan : Nilai akhir = (10%*tugas) + (20%*kuis) + (30%*mid) + (40%*uas) Nilai Huruf : Jurusan Teknik Informatika Politeknik Negeri Tanah Laut Oleh: Winda Aprianti, M.Si Algoritma dan Struktur Data Praktikum 1 Nilai akhir >85 85 >= nilai akhir > 70 70 >= nilai akhir > 55 55 >= nilai akhir > 40 Nilai akhir <=40 : : : : : A B C D E 3. Buatlah program menghitung durasi rental warnet menggunakan struktur, dengan ketentuan perhitungannya: 30 detik = Rp. 130,Satuan waktu yang diinputkan dalam jam : menit : detik 4. Ubahlah tugas besar Praktikum Konsep Pemograman yang kalian buat menjadi sebuah program menggunakan struktur. Jurusan Teknik Informatika Politeknik Negeri Tanah Laut Oleh: Winda Aprianti, M.Si