Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehHengki Gunawan Telah diubah "7 tahun yang lalu
1
Matakuliah : T0616 / Algoritma dan Pemrograman
Tahun : 2007 Versi : 1/0 Pertemuan Structure
2
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Menerapkan konsep tipe data structure untuk data majemuk non homogen (C3)
3
Definisi dan deklarasi structure Nested structure
Outline Materi Structure Definisi dan deklarasi structure Nested structure Inisialisasi structure Akses anggota structure Array of structure Array vs structure
4
Definisi dan Deklarasi Structure
Structure: tipe data yang digunakan untuk menampung sekelompok data yang berbeda tipe. Komponen struktur disebut anggota, field atau elemen. Bersifat heterogen. Metode akses sekuensial. Disebut record di bahasa pemrograman lain.
5
Definisi dan Deklarasi Structure
Sintaks struct name { anggota 1; anggota 2; … anggota m; } ; struct name v1, …, vn; atau struct name { anggota 1; anggota 2; … anggota m; } v1, …, vn; struct adalah keyword name adalah identifier structure
6
Definisi dan Deklarasi Structure
Contoh : struct rekening { int noRek; char tipeRek; char nama[31]; long saldo; }; struct rekening nasabah1, nasabah2; ATAU struct rekening { int noRek; char tipeRek; char nama[31]; long saldo; } nasabah1, nasabah2;
7
Definisi dan Deklarasi Structure
Contoh : struct automobile { int year; char model[8]; int engine_power; float weight; }; struct automobile { int year; char model[8]; int engine_power; float weight; } sedan, pick_up, sport_utility;
8
Struktur yang salah satu anggotanya adalah struktur lain.
Nested Structure Struktur yang salah satu anggotanya adalah struktur lain. Deklarasi struktur lain dilakukan sebelum deklarasi struktur yang memuatnya. Contoh : Struct Mhs berisi Nim, Nama, Alamat, Tempat, Tanggal Lahir Alamat merupakan struct yang terdiri dari Nama Jalan, Nomor Rumah, Kota, Provinsi Tanggal Lahir merupakan struct yang berisi Tanggal, Bulan dan Tahun
9
Nested Structure Contoh : struct tanggal { int tgl, bln, thn; };
struct rekening { int noRek; char tipeRek; char nama[31]; long saldo; struct tanggal transAkhir; struct rekening nasabah1, nasabah2;
10
Inisialisasi Structure
Sintaks Struct name variabel = {nilai_1, …, nilai_m}; Contoh Struct rekening nasabah1 = {1984, ‘a’, “frenzy”, , 19}; Operator titik (.) Untuk mengakses anggota/subanggota struktur. Var_structure.Anggota; Var_structure.Anggota.Subanggota; nasabah1.norek; Mhs1.Alamat.NamaJalan
11
Inisialisasi Structure
/* Akses ke anggota structure */ #include <stdio.h> struct computer { float cost; int year; int cpu_speed; char cpu_type[16]; } model; main(void) { printf(“Tipe CPU ?\n"); gets(model.cpu_type); printf(“CPU Speed?\n"); scanf("%d", &model.cpu_speed); printf(“Dibuat tahun ?\n"); scanf("%d", &model.year); printf(“Berapa harganya ?\n"); scanf("%f", &model.cost); printf(“Tahun: %d\n", model.year); printf(“Harga: $%6.2f\n", model.cost); printf(“Tipe CPU: %s\n", model.cpu_type); printf(“Speed CPU: %d MHz\n", model.cpu_speed); } Contoh :
12
Inisialisasi Structure
Contoh : /* Inisialisasi structure */ #include <stdio.h> void main(void) { struct employee { int id; char name[32]; }; struct employee info = {1,"B. Smith"}; //inisialisasi printf("Nama Karyawan: %s\n", info.name); printf("ID Karyawan: %04d\n\n", info.id); printf("Nama Anda ?\n"); gets(info.name); printf("ID Anda ?\n"); scanf("%d", &info.id); printf("Nama Anda: %s\n", info.name); printf("ID Anda : %04d\n", info.id); }
13
Array of Structure Tipe data struct dalam kenyataannya hanya bisa menampung satu record saja, sedangkan dalam aplikasi biasanya dibutuhkan record lebih dari satu. Maka, dalam penggunaanya tipe data struct biasanya digabung dengan array.
14
Array of Structure Contoh : struct tanggal { int tgl, bln, thn; };
struct rekening { int noRek; char tipeRek; char nama[31]; long saldo; struct tanggal transAkhir; struct rekening nasabah[100];
15
Nilai Awal Array of Structure
struct tanggal { char nama[31]; int tgl, bln, thn; }; struct tanggal ultah[ ] = { {“Tata”, 9, 7, 1984}, {“Titi”, 7, 9, 1986}, {“Tutu”, 9, 9, 1990}
16
Nilai Awal Array of Structure
Contoh : /* Array structure */ #include <stdio.h> struct haiku { int start_year; int end_year; char author[16]; char str1[32]; char str2[32]; char str3[32]; }; typedef struct haiku HK; void DataDisplay(HK *ptr_s);
17
Nilai Awal Array of Structure
void main(void) { HK poem[2] = { { 1641, 1716, "Sodo", "Leading me along", "my shadow goes back home", "from looking at the moon." }, { 1729, 1781, "Chora", "A storm wind blows", "out from among the grasses", "the full moon grows." } }; int i; for (i=0; i<2; i++) DataDisplay(&poem[i]); Contoh :
18
Nilai Awal Array of Structure
Contoh : /* Definisi Fungsi */ void DataDisplay(HK *ptr_s) { printf("%s\n", (*ptr_s).str1); printf("%s\n", (*ptr_s).str2); printf("%s\n", (*ptr_s).str3); printf("--- %s\n", (*ptr_s).author); printf(" (%d-%d)\n\n", (*ptr_s).start_year, (*ptr_s).end_year); }
19
Array vs Structure Array Structure Hubungan antar elemen: linear
Homogen Random akses Akses elemen dengan index Elemen di memori: contiguous Structure Hubungan antar elemen: linear Heterogen Sekuensial akses Akses elemen dengan field id. Elemen di memori: non-contiguous
20
Buatlah struct sebagai berikut :
Latihan Buatlah struct sebagai berikut : Struct Mhs berisi Nim, Nama, Alamat, Tempat, TanggalLahir Alamat merupakan struct yang terdiri dari NamaJalan, NomorRumah, Kota, Provinsi TanggalLahir merupakan struct yang berisi Tanggal, Bulan dan Tahun
21
Latihan Berdasarkan soal sebelumnya, buatlah program untuk menginput data sebanyak 5 mahasiswa (menggunakan array of structure)
22
Berdasarkan struct berikut :
Latihan Berdasarkan struct berikut : Buatlah aplikasi menggunakan array of structure untuk menginput 5 jenis mobil, kemudian tampilkan dalam format yang layak. struct automobile { int year; char model[8]; int engine_power; float weight; };
23
Latihan Menggunakan struct berikut :
struct ipkmhs { char nim[11]; char nama[30]; float ipk; }; Buatlah program untuk menginput data 5 mahasiswa, dan tampilkan data mahasiswa ipk >= 3.0 dan ipk < 3.0 Contoh : Mhs ipk >=3.0 : Andi Budi Candra Mhs ipk < 3.0 : Dadu Emin
24
Buatlah sebuah struct :
Latihan Buatlah sebuah struct : Buat program (tanpa menggunakan array) untuk menginput struct tersebut, kemudian tampilkan nim, nama, kodemtk, sks, grade. struct nilaimhs { char Nim[11]; char Nama [30]; char KodeMtk [5]; int sks; char grade; };
25
Latihan Berdasarkan soal sebelumnya, dengan mempertimbangkan bobot grade dan sks : Buatlah program menggunakan array of struct untuk menginput 5 nilai matakuliah pada semester 1, kemudian tampilkan IP mahasiswa. Grade BobotGrade A B C D E
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.