SlideShare a Scribd company logo
1 of 23
ALGORITMA DAN
DASAR PEMROGRAMAN
Struktur adalah sekumpulan variabel yang
masing-masing tipe datanya bisa berbeda,
dan dikelompokkan dalam satu nama.
Berbeda dengan suatu larik yang berisi
kumpulan elemen-lemen larik bertipe sama
dalam satu nama, struktur dapat terdiri dari
kumpulan variabel-variabel yang berbeda
tipenya dalam satu nama.
Variabel-variabel yang membentuk suatu
struktur selanjutnya disebut elemen-elemen
atau anggota struktur.
Struktur membantu mengatur data-data yang
rumit, khususnya dalam program yang besar,
karena struktur memberikan sekelompok
variabel yang diperlakukan sebagai satu unit.
Struktur dimungkinkan dapat berisi elemen-
elemen data bertipe int, float, char, dan
lainnya.
Pada Pascal, struktur ini juga dikenal sebagai
record).
Stuktur sering digunakan untuk mendefinisikan
suatu record data yang disimpan di dalam file.
Struktur termasuk ke dalam tipe data yang
dibangkitkan (derived data type), yang disusun
menggunakan obyek dengan tipe yang lain.
Struktur dapat dideklarasikan menggunakan kata
kunci struct, contohnya seperti berikut:
struct IP_Mhs{
int NIM[10];
char Nama[50];
int Semester;
float IP;
};
Struktur di atas memiliki nama IP_Mhs dan
memiliki empat buah elemen, yaitu NIM[10]
bertipe int, Nama[50] bertipe char, Semester
bertipe int, dan IP bertipe float.
IP_Mhs merupakan nama dari tipe data struktur
yang mempunyai empat buah elemen tersebut,
bukan nama dari suatu variabel struktur.
Variabel struktur selanjutnya dapat
dideklarasikan dengan nama tipe data IP_Mhs
yang diawali dengan kata kunci struct seperti
pada contoh berikut ini:
struct IP_Mhs IP_Semester, IP_Kumulatif;
IP_Semester dan IP_Kumulatif merupakan
variabel-variabel yang mempunyai tipe data
IP_Mhs.
Deklarasi variabe-variabel tipe data struktur
juga dapat dilakukan dengan menggabungkan
kedua deklarasi yang terpisah menjadi
sebuah deklarasi, seperti contoh berikut:
struct IP_Mhs {
int NIM[10];
char Nama[50];
int Semester;
float IP;
} IP_Semester, IP_Kumulatif;
Nama dari tipe struktur, selanjutnya dapat
digunakan untuk mendeklarasikan variabel-
variabel yang lain dengan struktur tersebut.
Jika nama struktur tidak digunakan lagi untuk
mendeklarasikan variabel-variabel struktur yang
lain, maka nama dari tipe data ini dapat juga
tidak dituliskan, sehingga deklarasinya dapat
berbentuk seperti ini:
struct {
int NIM[10];
char Nama[50];
int Semester;
float IP;
} IP_Semester, IP_Kumulatif;
Variabel-variabel struktur dapat juga langsung diberi
nilai awal. Misalnya variabel IP_Semester mempunyai
nilai awal NIM-nya adalah 3201416001, Nama
Mahasiswanya adalah “Danish”, semesternya adalah 2
dan IP-nya 3.15, maka dapat dituliskan sebagai
berikut:
struct {
int NIM[10];
char Nama[50];
int Semester;
float IP;
} IP_Semester = {
3201416001, “Danish”, 2, 3.15 },
IP_Kumulatif;
Atau jika nama tipe data strukturnya telah
dideklarasikan sendiri dan variabel
strukturnya dideklarasikan terpisah, maka
dapat ditulis:
struct IP_Semester = {
3201416001, “Danish”, 2, 3.15 },
IP_Kumulatif;
Elemen-elemen struktur dapat diakses secara
individual dengan menyebutkan nama
variabel strukturnya diikuti oleh operator
titik (‘.’) dan nama dari elemen strukturnya,
seperti berikut ini:
X = IP_Semester.IP;
yang menunjukkan elemen dengan nama IP
dari variabel struktur IP_Semester dengan
nilai awal 3.15, diisikan ke variabel numerik
lain bernama X.
/* ------------------------------------------
Nama Program: ADP_Struktur_1.cpp
Struktur
------------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
struct {
char Nama[20];
int NIM;
float IP;
}Mhs;
printf("Nama Mahasiswa: ");
scanf("%s", &Mhs.Nama);
printf("Nomor Induk Mahasiswa: ");
scanf("%d", &Mhs.NIM);
printf("Indeks Prestasi Semester: ");
scanf("%f", &Mhs.IP);
printf("n");
printf("Data Mahasiswa adalah %s, dengan NIM %d, dan IP %.2fn", Mhs.Nama, Mhs.NIM, Mhs.IP);
printf("n");
system("pause");
}
/* ------------------------------------------
Nama Program: ADP_Struktur_2.cpp
Struktur
------------------------------------------ */
#include <stdio.h>
#include <stdlib.h>
main()
{
struct {
float JariJari;
float Keliling;
float Luas;
}Lingkaran;
printf("Jari-jari Lingkaran: ");
scanf("%f", &Lingkaran.JariJari);
printf("n");
Lingkaran.Keliling = 2*3.14*Lingkaran.JariJari;
Lingkaran.Luas = 3.14*Lingkaran.JariJari*Lingkaran.JariJari;
printf("Jadi Keliling Lingkaran adalah %.2fn", Lingkaran.Keliling);
printf("Sedangkan Luas Lingkaran adalah %.2fn", Lingkaran.Luas);
printf("n");
system("pause");
}
Pada contoh program ADP_Struktur_1.cpp
variabel struktur Mhs, elemen Nama dapat
diakses dengan menuliskan Mhs.Nama,
elemen NIM dapat diakses dengan
menuliskan Mhs.NIM, dan elemen IP dapat
diakses dengan menuliskan Mhs.IP.
Sedangkan pada contoh program
ADP_Struktur_2.cpp, elemen JariJari dapat
diakses dengan menuliskan
Lingkaran.JariJari, elemen Keliling dapat
diakses dengan menuliskan
Lingkaran.Keliling dan elemen Luas dapat
diakses dengan menuliskan Lingkaran.Luas.
Suatu struktur dapat berisi struktur yang lain
dengan elemn berupa struktur yang lain. Jika
suatu elemen dari struktur dapat diakses dengan
menuliskan sebagai berikut:
nama-variabel.nama-elemen;
maka sub-elemen dari struktur dapat diakses
dengan menuliskan:
nama-variabel.nama-elemen.nama-sub-elemen
/* -----------------------------------------
Nama Program: ADP_Struktur_3.cpp
Struktur berisi Struktur lain
----------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
struct Tanggal{
unsigned int Hari;
unsigned int Bulan;
unsigned int Tahun;
};
struct Alamat{
char Jalan[30];
char Kota[20];
};
struct {
char Nama[40];
struct Tanggal Masuk;
struct Alamat Tinggal;
float Gaji;
}Karyawan = {
"Muhammad Fadly",
17,
11,
87,
“Jl. Adisucipto no.35",
"Pontianak",
1500000
};
//Menampilkan data karyawan
printf("Nama Karyawan : %sn",Karyawan.Nama);
printf("Tanggal Masuk : %2d-%2d-%2dn",Karyawan.Masuk.Hari,
Karyawan.Masuk.Bulan, Karyawan.Masuk.Tahun);
printf("Alamat : %s, %sn",Karyawan.Tinggal.Jalan,
Karyawan.Tinggal.Kota);
printf("Gaji per Bulan : Rp. %10.2fn",Karyawan.Gaji);
printf("n");
system("pause");
}
Elemen-elemen dari suatu larik dapat juga
berbentuk suatu struktur. Larik struktur
dimensi satu membentuk suatu tabel (mirip
dengan larik dimensi dua) dengan barisnya
menunjukkan elemen dari lariknya dan
kolomnya menunjukkan elemen dari struktur.
Tiap-tiap elemen dari struktur dapat diakses
untuk tiap-tiap elemen larik dengan
menuliskan nama dari lariknya diikuti dengan
indeksnya, diikuti oleh operator titik dan
nama dari elemen strukturnya.
/* --------------------------------
Nama Program: ADP_Struktur_4.cpp
Larik Struktur
-------------------------------- */
#include <stdio.h>
#include <stdlib.h>
main()
{
struct Psd{
char Kode[5];
char Nama[20];
int Unit;
float Harga;
};
struct Psd Persediaan[100] = {
"M123","Monitor",5,125000,
"D124","DVD",10,10000,
"P125","Printer",7,3000000
};
int I, N=3;
float Total=0;
//Tampilkan hasilnya dalam bentuk label
printf(" DATA PERSEDIAANnn");
printf("Kode Nama Unit Harga Totaln");
printf("_____________________________________________________n");
printf("n");
for(I=0;I<N;I++){
printf("%s %-5s %4d %10.2f %10.2fn",Persediaan[I].Kode,
Persediaan[I].Nama,Persediaan[I].Unit,Persediaan[I].Harga,
Persediaan[I].Unit*Persediaan[I].Harga);
Total += Persediaan[I].Unit*Persediaan[I].Harga;
}
printf("n ");
printf("Total %10.2f n",Total);
printf("n");
system("pause");
}
Kristanto, Andri. (2009). Algoritma &
Pemrograman dengan C++ Edisi 2.
Yogyakarta. Graha Ilmu.
Hartono, Jogiyanto, MBA., Ph.D. (2002).
Konsep Dasar Pemrograman Bahasa C.
Yogyakarta. Andi.

More Related Content

What's hot

Arsitektur sistem basis data
Arsitektur sistem basis dataArsitektur sistem basis data
Arsitektur sistem basis dataNurul Arifin S
 
Fathoni m bahan ajar_if2018_prak.struktur data
Fathoni m bahan ajar_if2018_prak.struktur dataFathoni m bahan ajar_if2018_prak.struktur data
Fathoni m bahan ajar_if2018_prak.struktur dataSTMIK
 
SISTEM BASIS DATA2
SISTEM BASIS DATA2SISTEM BASIS DATA2
SISTEM BASIS DATA2Ayu_lestari
 
Pengolahan database dengan d base
Pengolahan database dengan d basePengolahan database dengan d base
Pengolahan database dengan d baseHendichenko
 
Dbase (interaktif-command)
Dbase (interaktif-command)Dbase (interaktif-command)
Dbase (interaktif-command)Resti Audyanti
 
Agus purnama (c1357201102)
Agus purnama (c1357201102)Agus purnama (c1357201102)
Agus purnama (c1357201102)Agus Purnama
 
Normalisasi Basis Data
Normalisasi Basis DataNormalisasi Basis Data
Normalisasi Basis DataJoshua Tan
 
Soal essay basis data xi
Soal essay basis data xiSoal essay basis data xi
Soal essay basis data xitia irma
 
normalisasi database
normalisasi databasenormalisasi database
normalisasi databaseAyi Milanisti
 
Laporan Basis Data (DDL)
Laporan Basis Data (DDL)Laporan Basis Data (DDL)
Laporan Basis Data (DDL)dhini eka
 
6 Materi Kuliah Normalisasi Tabel Database
6 Materi Kuliah Normalisasi Tabel Database6 Materi Kuliah Normalisasi Tabel Database
6 Materi Kuliah Normalisasi Tabel DatabaseSimon Patabang
 
Cara membuat koneksi PHP dan database MySQL
Cara membuat koneksi PHP dan database MySQLCara membuat koneksi PHP dan database MySQL
Cara membuat koneksi PHP dan database MySQLI Gede Iwan Sudipa
 
Pert 5 (normalisasi)
Pert 5 (normalisasi)Pert 5 (normalisasi)
Pert 5 (normalisasi)ptmardika
 
Sim, rendryswara dwismanika yoga prawira, prof.dr.ir.hapzi ali. mm ,cma, desa...
Sim, rendryswara dwismanika yoga prawira, prof.dr.ir.hapzi ali. mm ,cma, desa...Sim, rendryswara dwismanika yoga prawira, prof.dr.ir.hapzi ali. mm ,cma, desa...
Sim, rendryswara dwismanika yoga prawira, prof.dr.ir.hapzi ali. mm ,cma, desa...rendryswara dwismanika
 
Part 6 ddl dan dml (case studiies)
Part 6  ddl dan dml (case studiies)Part 6  ddl dan dml (case studiies)
Part 6 ddl dan dml (case studiies)Denny Yahya
 

What's hot (18)

Arsitektur sistem basis data
Arsitektur sistem basis dataArsitektur sistem basis data
Arsitektur sistem basis data
 
Fathoni m bahan ajar_if2018_prak.struktur data
Fathoni m bahan ajar_if2018_prak.struktur dataFathoni m bahan ajar_if2018_prak.struktur data
Fathoni m bahan ajar_if2018_prak.struktur data
 
SISTEM BASIS DATA2
SISTEM BASIS DATA2SISTEM BASIS DATA2
SISTEM BASIS DATA2
 
Pengolahan database dengan d base
Pengolahan database dengan d basePengolahan database dengan d base
Pengolahan database dengan d base
 
Dbase (interaktif-command)
Dbase (interaktif-command)Dbase (interaktif-command)
Dbase (interaktif-command)
 
Agus purnama (c1357201102)
Agus purnama (c1357201102)Agus purnama (c1357201102)
Agus purnama (c1357201102)
 
Normalisasi Basis Data
Normalisasi Basis DataNormalisasi Basis Data
Normalisasi Basis Data
 
Soal essay basis data xi
Soal essay basis data xiSoal essay basis data xi
Soal essay basis data xi
 
normalisasi database
normalisasi databasenormalisasi database
normalisasi database
 
Laporan Basis Data (DDL)
Laporan Basis Data (DDL)Laporan Basis Data (DDL)
Laporan Basis Data (DDL)
 
Tugas 3
Tugas 3Tugas 3
Tugas 3
 
Modul Normalisasi
Modul NormalisasiModul Normalisasi
Modul Normalisasi
 
6 Materi Kuliah Normalisasi Tabel Database
6 Materi Kuliah Normalisasi Tabel Database6 Materi Kuliah Normalisasi Tabel Database
6 Materi Kuliah Normalisasi Tabel Database
 
Database 2014
Database 2014Database 2014
Database 2014
 
Cara membuat koneksi PHP dan database MySQL
Cara membuat koneksi PHP dan database MySQLCara membuat koneksi PHP dan database MySQL
Cara membuat koneksi PHP dan database MySQL
 
Pert 5 (normalisasi)
Pert 5 (normalisasi)Pert 5 (normalisasi)
Pert 5 (normalisasi)
 
Sim, rendryswara dwismanika yoga prawira, prof.dr.ir.hapzi ali. mm ,cma, desa...
Sim, rendryswara dwismanika yoga prawira, prof.dr.ir.hapzi ali. mm ,cma, desa...Sim, rendryswara dwismanika yoga prawira, prof.dr.ir.hapzi ali. mm ,cma, desa...
Sim, rendryswara dwismanika yoga prawira, prof.dr.ir.hapzi ali. mm ,cma, desa...
 
Part 6 ddl dan dml (case studiies)
Part 6  ddl dan dml (case studiies)Part 6  ddl dan dml (case studiies)
Part 6 ddl dan dml (case studiies)
 

Similar to 8 struktur

Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul viiDevi Apriansyah
 
7. pemrograman struktur
7. pemrograman struktur7. pemrograman struktur
7. pemrograman strukturRoziq Bahtiar
 
Algoritma dan Struktur Data - Tipe Data Compound
Algoritma dan Struktur Data - Tipe Data CompoundAlgoritma dan Struktur Data - Tipe Data Compound
Algoritma dan Struktur Data - Tipe Data CompoundKuliahKita
 
Algoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundAlgoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundGeorgius Rinaldo
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJurnal IT
 
Algoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataAlgoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataGeorgius Rinaldo
 
03datastructure-141022030535-conversion-gate01.pptx
03datastructure-141022030535-conversion-gate01.pptx03datastructure-141022030535-conversion-gate01.pptx
03datastructure-141022030535-conversion-gate01.pptxBudiHsnDaulay
 
Pertemuan 13 : Algoritma & Pemrograman
Pertemuan 13 : Algoritma & PemrogramanPertemuan 13 : Algoritma & Pemrograman
Pertemuan 13 : Algoritma & PemrogramanTri Retna
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 

Similar to 8 struktur (20)

8 struktur
8   struktur8   struktur
8 struktur
 
8 struktur
8   struktur8   struktur
8 struktur
 
8.struktur
8.struktur8.struktur
8.struktur
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul vii
 
Pertemuan 12 Structure
Pertemuan 12 StructurePertemuan 12 Structure
Pertemuan 12 Structure
 
Pertemuan7.ppt
Pertemuan7.pptPertemuan7.ppt
Pertemuan7.ppt
 
BAB 1 PBO C++ Struktur
BAB 1 PBO C++ StrukturBAB 1 PBO C++ Struktur
BAB 1 PBO C++ Struktur
 
Tistrukdat1
Tistrukdat1Tistrukdat1
Tistrukdat1
 
7. pemrograman struktur
7. pemrograman struktur7. pemrograman struktur
7. pemrograman struktur
 
Pertemuan VI Teori
Pertemuan VI TeoriPertemuan VI Teori
Pertemuan VI Teori
 
Structure
StructureStructure
Structure
 
Algoritma dan Struktur Data - Tipe Data Compound
Algoritma dan Struktur Data - Tipe Data CompoundAlgoritma dan Struktur Data - Tipe Data Compound
Algoritma dan Struktur Data - Tipe Data Compound
 
Algoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundAlgoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compound
 
Basis data
Basis dataBasis data
Basis data
 
Array
ArrayArray
Array
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdf
 
Algoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataAlgoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur Data
 
03datastructure-141022030535-conversion-gate01.pptx
03datastructure-141022030535-conversion-gate01.pptx03datastructure-141022030535-conversion-gate01.pptx
03datastructure-141022030535-conversion-gate01.pptx
 
Pertemuan 13 : Algoritma & Pemrograman
Pertemuan 13 : Algoritma & PemrogramanPertemuan 13 : Algoritma & Pemrograman
Pertemuan 13 : Algoritma & Pemrograman
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 

More from Avenzz Venzz

Modul praktikum Pascal
Modul praktikum PascalModul praktikum Pascal
Modul praktikum PascalAvenzz Venzz
 
Modul praktikum bahasa pemrograman pascal to mahasiswa ab
Modul praktikum bahasa pemrograman pascal to mahasiswa abModul praktikum bahasa pemrograman pascal to mahasiswa ab
Modul praktikum bahasa pemrograman pascal to mahasiswa abAvenzz Venzz
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Avenzz Venzz
 
6 adp array (larik) - copy
6   adp array (larik) - copy6   adp array (larik) - copy
6 adp array (larik) - copyAvenzz Venzz
 
5 adp fungsi & rekursi
5   adp fungsi & rekursi5   adp fungsi & rekursi
5 adp fungsi & rekursiAvenzz Venzz
 
4 adp struktur perulangan
4   adp struktur perulangan4   adp struktur perulangan
4 adp struktur perulanganAvenzz Venzz
 
3 adp struktur keputusan
3   adp struktur keputusan3   adp struktur keputusan
3 adp struktur keputusanAvenzz Venzz
 
2 adp tipe data dan operator
2   adp tipe data dan operator2   adp tipe data dan operator
2 adp tipe data dan operatorAvenzz Venzz
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritmaAvenzz Venzz
 
Algoritma 2 adp tipe data dan operator
Algoritma 2   adp tipe data dan operatorAlgoritma 2   adp tipe data dan operator
Algoritma 2 adp tipe data dan operatorAvenzz Venzz
 

More from Avenzz Venzz (14)

Mtk
MtkMtk
Mtk
 
Pancasila
PancasilaPancasila
Pancasila
 
Modul praktikum Pascal
Modul praktikum PascalModul praktikum Pascal
Modul praktikum Pascal
 
Modul praktikum bahasa pemrograman pascal to mahasiswa ab
Modul praktikum bahasa pemrograman pascal to mahasiswa abModul praktikum bahasa pemrograman pascal to mahasiswa ab
Modul praktikum bahasa pemrograman pascal to mahasiswa ab
 
1 ADP Algoritma
1   ADP Algoritma1   ADP Algoritma
1 ADP Algoritma
 
7 pointer
7   pointer7   pointer
7 pointer
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik) - copy
6   adp array (larik) - copy6   adp array (larik) - copy
6 adp array (larik) - copy
 
5 adp fungsi & rekursi
5   adp fungsi & rekursi5   adp fungsi & rekursi
5 adp fungsi & rekursi
 
4 adp struktur perulangan
4   adp struktur perulangan4   adp struktur perulangan
4 adp struktur perulangan
 
3 adp struktur keputusan
3   adp struktur keputusan3   adp struktur keputusan
3 adp struktur keputusan
 
2 adp tipe data dan operator
2   adp tipe data dan operator2   adp tipe data dan operator
2 adp tipe data dan operator
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
 
Algoritma 2 adp tipe data dan operator
Algoritma 2   adp tipe data dan operatorAlgoritma 2   adp tipe data dan operator
Algoritma 2 adp tipe data dan operator
 

8 struktur

  • 2. Struktur adalah sekumpulan variabel yang masing-masing tipe datanya bisa berbeda, dan dikelompokkan dalam satu nama. Berbeda dengan suatu larik yang berisi kumpulan elemen-lemen larik bertipe sama dalam satu nama, struktur dapat terdiri dari kumpulan variabel-variabel yang berbeda tipenya dalam satu nama. Variabel-variabel yang membentuk suatu struktur selanjutnya disebut elemen-elemen atau anggota struktur.
  • 3. Struktur membantu mengatur data-data yang rumit, khususnya dalam program yang besar, karena struktur memberikan sekelompok variabel yang diperlakukan sebagai satu unit. Struktur dimungkinkan dapat berisi elemen- elemen data bertipe int, float, char, dan lainnya. Pada Pascal, struktur ini juga dikenal sebagai record). Stuktur sering digunakan untuk mendefinisikan suatu record data yang disimpan di dalam file. Struktur termasuk ke dalam tipe data yang dibangkitkan (derived data type), yang disusun menggunakan obyek dengan tipe yang lain.
  • 4. Struktur dapat dideklarasikan menggunakan kata kunci struct, contohnya seperti berikut: struct IP_Mhs{ int NIM[10]; char Nama[50]; int Semester; float IP; }; Struktur di atas memiliki nama IP_Mhs dan memiliki empat buah elemen, yaitu NIM[10] bertipe int, Nama[50] bertipe char, Semester bertipe int, dan IP bertipe float.
  • 5. IP_Mhs merupakan nama dari tipe data struktur yang mempunyai empat buah elemen tersebut, bukan nama dari suatu variabel struktur. Variabel struktur selanjutnya dapat dideklarasikan dengan nama tipe data IP_Mhs yang diawali dengan kata kunci struct seperti pada contoh berikut ini: struct IP_Mhs IP_Semester, IP_Kumulatif; IP_Semester dan IP_Kumulatif merupakan variabel-variabel yang mempunyai tipe data IP_Mhs.
  • 6. Deklarasi variabe-variabel tipe data struktur juga dapat dilakukan dengan menggabungkan kedua deklarasi yang terpisah menjadi sebuah deklarasi, seperti contoh berikut: struct IP_Mhs { int NIM[10]; char Nama[50]; int Semester; float IP; } IP_Semester, IP_Kumulatif;
  • 7. Nama dari tipe struktur, selanjutnya dapat digunakan untuk mendeklarasikan variabel- variabel yang lain dengan struktur tersebut. Jika nama struktur tidak digunakan lagi untuk mendeklarasikan variabel-variabel struktur yang lain, maka nama dari tipe data ini dapat juga tidak dituliskan, sehingga deklarasinya dapat berbentuk seperti ini: struct { int NIM[10]; char Nama[50]; int Semester; float IP; } IP_Semester, IP_Kumulatif;
  • 8. Variabel-variabel struktur dapat juga langsung diberi nilai awal. Misalnya variabel IP_Semester mempunyai nilai awal NIM-nya adalah 3201416001, Nama Mahasiswanya adalah “Danish”, semesternya adalah 2 dan IP-nya 3.15, maka dapat dituliskan sebagai berikut: struct { int NIM[10]; char Nama[50]; int Semester; float IP; } IP_Semester = { 3201416001, “Danish”, 2, 3.15 }, IP_Kumulatif;
  • 9. Atau jika nama tipe data strukturnya telah dideklarasikan sendiri dan variabel strukturnya dideklarasikan terpisah, maka dapat ditulis: struct IP_Semester = { 3201416001, “Danish”, 2, 3.15 }, IP_Kumulatif;
  • 10. Elemen-elemen struktur dapat diakses secara individual dengan menyebutkan nama variabel strukturnya diikuti oleh operator titik (‘.’) dan nama dari elemen strukturnya, seperti berikut ini: X = IP_Semester.IP; yang menunjukkan elemen dengan nama IP dari variabel struktur IP_Semester dengan nilai awal 3.15, diisikan ke variabel numerik lain bernama X.
  • 11. /* ------------------------------------------ Nama Program: ADP_Struktur_1.cpp Struktur ------------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { struct { char Nama[20]; int NIM; float IP; }Mhs; printf("Nama Mahasiswa: "); scanf("%s", &Mhs.Nama); printf("Nomor Induk Mahasiswa: "); scanf("%d", &Mhs.NIM); printf("Indeks Prestasi Semester: "); scanf("%f", &Mhs.IP); printf("n"); printf("Data Mahasiswa adalah %s, dengan NIM %d, dan IP %.2fn", Mhs.Nama, Mhs.NIM, Mhs.IP); printf("n"); system("pause"); }
  • 12.
  • 13. /* ------------------------------------------ Nama Program: ADP_Struktur_2.cpp Struktur ------------------------------------------ */ #include <stdio.h> #include <stdlib.h> main() { struct { float JariJari; float Keliling; float Luas; }Lingkaran; printf("Jari-jari Lingkaran: "); scanf("%f", &Lingkaran.JariJari); printf("n"); Lingkaran.Keliling = 2*3.14*Lingkaran.JariJari; Lingkaran.Luas = 3.14*Lingkaran.JariJari*Lingkaran.JariJari; printf("Jadi Keliling Lingkaran adalah %.2fn", Lingkaran.Keliling); printf("Sedangkan Luas Lingkaran adalah %.2fn", Lingkaran.Luas); printf("n"); system("pause"); }
  • 14.
  • 15. Pada contoh program ADP_Struktur_1.cpp variabel struktur Mhs, elemen Nama dapat diakses dengan menuliskan Mhs.Nama, elemen NIM dapat diakses dengan menuliskan Mhs.NIM, dan elemen IP dapat diakses dengan menuliskan Mhs.IP. Sedangkan pada contoh program ADP_Struktur_2.cpp, elemen JariJari dapat diakses dengan menuliskan Lingkaran.JariJari, elemen Keliling dapat diakses dengan menuliskan Lingkaran.Keliling dan elemen Luas dapat diakses dengan menuliskan Lingkaran.Luas.
  • 16. Suatu struktur dapat berisi struktur yang lain dengan elemn berupa struktur yang lain. Jika suatu elemen dari struktur dapat diakses dengan menuliskan sebagai berikut: nama-variabel.nama-elemen; maka sub-elemen dari struktur dapat diakses dengan menuliskan: nama-variabel.nama-elemen.nama-sub-elemen
  • 17. /* ----------------------------------------- Nama Program: ADP_Struktur_3.cpp Struktur berisi Struktur lain ----------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { struct Tanggal{ unsigned int Hari; unsigned int Bulan; unsigned int Tahun; }; struct Alamat{ char Jalan[30]; char Kota[20]; }; struct { char Nama[40]; struct Tanggal Masuk; struct Alamat Tinggal; float Gaji; }Karyawan = { "Muhammad Fadly", 17, 11, 87, “Jl. Adisucipto no.35", "Pontianak", 1500000 }; //Menampilkan data karyawan printf("Nama Karyawan : %sn",Karyawan.Nama); printf("Tanggal Masuk : %2d-%2d-%2dn",Karyawan.Masuk.Hari, Karyawan.Masuk.Bulan, Karyawan.Masuk.Tahun); printf("Alamat : %s, %sn",Karyawan.Tinggal.Jalan, Karyawan.Tinggal.Kota); printf("Gaji per Bulan : Rp. %10.2fn",Karyawan.Gaji); printf("n"); system("pause"); }
  • 18.
  • 19. Elemen-elemen dari suatu larik dapat juga berbentuk suatu struktur. Larik struktur dimensi satu membentuk suatu tabel (mirip dengan larik dimensi dua) dengan barisnya menunjukkan elemen dari lariknya dan kolomnya menunjukkan elemen dari struktur. Tiap-tiap elemen dari struktur dapat diakses untuk tiap-tiap elemen larik dengan menuliskan nama dari lariknya diikuti dengan indeksnya, diikuti oleh operator titik dan nama dari elemen strukturnya.
  • 20. /* -------------------------------- Nama Program: ADP_Struktur_4.cpp Larik Struktur -------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { struct Psd{ char Kode[5]; char Nama[20]; int Unit; float Harga; }; struct Psd Persediaan[100] = { "M123","Monitor",5,125000, "D124","DVD",10,10000, "P125","Printer",7,3000000 }; int I, N=3; float Total=0;
  • 21. //Tampilkan hasilnya dalam bentuk label printf(" DATA PERSEDIAANnn"); printf("Kode Nama Unit Harga Totaln"); printf("_____________________________________________________n"); printf("n"); for(I=0;I<N;I++){ printf("%s %-5s %4d %10.2f %10.2fn",Persediaan[I].Kode, Persediaan[I].Nama,Persediaan[I].Unit,Persediaan[I].Harga, Persediaan[I].Unit*Persediaan[I].Harga); Total += Persediaan[I].Unit*Persediaan[I].Harga; } printf("n "); printf("Total %10.2f n",Total); printf("n"); system("pause"); }
  • 22.
  • 23. Kristanto, Andri. (2009). Algoritma & Pemrograman dengan C++ Edisi 2. Yogyakarta. Graha Ilmu. Hartono, Jogiyanto, MBA., Ph.D. (2002). Konsep Dasar Pemrograman Bahasa C. Yogyakarta. Andi.