Anda di halaman 1dari 18

A.

Tujuan
Setelah mempelajari bab ini diharapkan mahasiswa akan mampu : 1. Mengenal dan memahami penggunaan struct (struktur) dalam listing program. 2. Membuat program sederhana dengan menerapkan konsep struct (struktur)

B. Dasar Teori
1. Definisi struktur
Struktur yaitu pengelompokan dari variabel-variabel atau sejumlah data dengan tipe yang berlainan yang bernaung dalam satu nama yang sama. Struktur biasa digunakan untuk mengelompokkan beberapa informasi yang berkaitan dengan sebuah kesatuan, atau biasanya disebut dengan record.

2. Deklarasi struktur
Cara mendeklarasikan struktur adalah dengan menggunakan kata kunci struct. Perhatikan contoh penulisan struktur berikut ini:

Pada Contoh di atas, struktur bernama data_tanggal, yang tersusun atas 3 unit penyusunnya yaitu tahun, tanggal, dan bulan. Setelah dibuat struktur tanggal, selanjutnya struktur tersebut dapat digunakan sebagai tipe data suatu variabel, dalam hal ini disebut tipe data abstrak. Struktur dalam Struktur Suatu struktur juga bisa mengandung struktur yang lain. Sebagai gambaran, ditunjukkan pada contoh di bawah ini : struct data_pegawai { int nip; char nama[30]; data_tanggal tanggal_lahir; }rec_peg;

Pada contoh ini, terdapat pendeklarasian struktur bernama data_pegawai dan sekaligus pendefinisian variable struktur bernama rec_peg. Gambar di bawah ini menunjukkan anggota dari variable rec_peg.

Mengakses Anggota Struktur Anggota struktur dapat diakses menggunakan bentuk : variable_struktur.nama_anggota Contoh : rec_peg.nip = 108533414505; rec_peg.nama = dewi; rec_peg.tanggal_lahir.tahun = 2009; Perbandingan 2 Buah Struktur Untuk membandingkan 2 buah struktur, masing-masing unit harus dibandingkan sendiri-sendiri, contoh: if ((tgl1.tanggal == tgl2.tanggal) && (tgl1.bulan == tgl2.bulan) && (tgl1.tahun == tgl2.tahun)) cout << Isi strukturnya sama; else cout << Isi struktur tak sama; Struktur dalam Fungsi Suatu struktur juga dapat digunakan untuk argumen/parameter suatu fungsi (function).

LATIHAN - PRAKTIKUM 1 Nama Program Bahasa Pemrograman Compiler Script Program


#include <stdio.h> #include <conio.h> #include <iostream.h>

: Program Lingkaran : C++ : MinGWStudio

main() { struct { float jari; float keliling;

float luas; }lingkaran; cout<<"===========PROGRAM LINGKARAN===============\n"; cout<<"================WIDY C.R===================\n"; printf("Masukkan Jari-jari Lingkaran: " ); scanf("%f",&lingkaran.jari); lingkaran.keliling = 2*3.14259*lingkaran.jari; lingkaran.luas = 3.14259*lingkaran.jari*lingkaran.jari; printf("Keliling Lingkaran=%g\n",lingkaran.keliling); printf("Luas Lingkaran =%g ",lingkaran.luas); cout<<"\n"; cout<<"===============selesai==================\n"; cout<<"============TERIMA KASIH===================\n"; getch(); }

Output:

LATIHAN - PRAKTIKUM 2 Nama Program Bahasa Pemrograman Compiler : Program Data Karyawan : C++ : MinGWStudio

Script Program
#include <stdio.h> #include <iostream.h> #include <conio.h> main() { { unsigned int hari; unsigned int bulan; unsigned int tahun; }; struct alamat { char jalan[70]; char kota[40]; }; struct { char nama[100]; struct tgl masuk; struct alamat tinggal; float gaji; }karyawan={"Widy Cahya Rahmawan", 18 ,9, 2010, "Jl. Taman Bunga Merak II no.67" ,"HRD", 5000000}; cout<<"==========PROGRAM DATA KARYAWAN============\n"; cout<<"================WIDY C.R===================\n"; printf("\n========================\n"); printf("\nNama Karyawan :%s\n",karyawan.nama); printf("\nTanggal Masuk :%2d-%0d-%2d\n",karyawan.masuk.hari, karyawan.masuk.bulan,karyawan.masuk.tahun);

printf("\nAlamat

:%s\n",karyawan.tinggal.jalan);

printf("\n%s\n",karyawan.tinggal.kota); printf("\nGaji Per Bulan: Rp %.2f\n",karyawan.gaji);

cout<<"\n"; cout<<"===============selesai==================\n"; cout<<"============TERIMA KASIH===================\n";

getch(); }

Output:

TUGAS PRAKTIKUM - PRAKTIKUM 1 Nama Program Bahasa Pemrograman Compiler : Program Segitiga : C++ : MinGWStudio

Script Program
#include <iostream.h> //header untuk cout dan cin #include <conio.h> //header untuk fungsi getch () #include <math.h> //header untuk operasi matematika

struct segitiga {

//deklarasi struct

float keliling, luas, x1, x2, x3, xt; }; segitiga x; main() { int pil; cout<<"==============PROGRAM SEGITIGA================\n"; cout<<"================WIDY C.R===================\n"; cout<<"Menu Operasi Segitiga"<<endl <<"1. Segitiga Siku-Siku"<<endl <<"2. Segitiga Sembarang"<<endl <<"3. Exit\n" <<"Masukkan Pilihan : "; cin >>pil; cout<<"====================================="<<endl; <<endl //input pilihan //deklarasi pilihan //fungsi utama

if (pil==1) {

//seleksi pertama

cout<<"Masukkan alas segititga : "; //input alas cin>>x.x1; cout<<"Masukkan tinggi segititga : "; //input tinggi

cin>>x.x2; x.x3 = sqrt((x.x1*x.x1) + (x.x2*x.x2)); x.luas = x.x1 * x.x2 / 2; x.keliling = x.x1 + x.x2 + x.x3; cout<<"Luas Segitiga sebesar = "<<x.luas<<endl;//output //rumus segitiga siku2

cout<<"Keliling Segitiga sebesar = "<<x.keliling<<endl; //output keliling cout<<"\n"; cout<<"===============selesai==================\n"; cout<<"============TERIMA KASIH=====================\n"; } else if (pil==2) { cout<<"Masukkan sisi segititga 1 : "; //input ss1 cin>>x.x1; cout<<"Masukkan sisi segititga 2 : "; //input ss2 cin>>x.x2; cout<<"Masukkan sisi segititga 3 : "; //input ss3 cin>>x.x3; cout<<endl; //seleksi kedua

Output:

x.xt = (x.x1 + x.x2 + x.x3)/2; x.luas = sqrt(x.xt*(x.xt-x.x1)*(x.xt-x.x2)*(x.xt-x.x3)); //rumus segitiga

sembarang x.keliling = x.x1 + x.x2 + x.x3; cout<<"Luas Segitiga sebesar = "<<x.luas<<endl;//output

cout<<"Keliling Segitiga sebesar = "<<x.keliling<<endl; //output keliling cout<<"\n"; cout<<"===============selesai==================\n"; cout<<"============TERIMA KASIH=====================\n"; } getch(); }

Output :

TUGAS PRAKTIKUM - PRAKTIKUM 2 Nama Program Bahasa Pemrograman Compiler Script Program
#include <iostream.h> //header untuk cin dan cout #include <conio.h> //header fungsi getch ()

: Program Identitas : C++ : MinGWStudio

struct ktp {

//deklarasi struct ktp

char nik[40], nama[30], ttl[10], kerja[15], agm[10], golda[2], almt[10], ngr[10]; }; ktp x; //deklarasi struct ktm

struct ktm {

char nim[12], nama[30], jur[30]; }; ktm y; int main () { int menu; cout<<"===========PROGRAM INDENTITAS==============\n"; cout<<"================WIDY C.R===================\n"; cout<<" Menu Identifikasi "<<endl <<"1. Identifikasi KTP"<<endl <<"2. Identifikasi KTM"<<endl //pilihan <<endl <<"Masukkan Pilihan : "; cin >>menu; cout<<endl; switch (menu) { case 1 : cout<<"NIK <<"Nama <<"TTL :120534431463 "<<x.nik [40]<<endl "<<x.nama [30]<<endl "<<x.ttl [10]<<endl "<<x.kerja[15]<<endl "<<x.agm [10]<<endl "<<x.golda [2]<<endl "<<x.almt [10]<<endl //output masing-masing pilihan //fungsi utama tanpa nilai balikan

:WIDY CAHYA RAHMAWAN :Mojokerto, 18-09-1994

<<"Pekerjaan :Mahasiswa <<"Agama :Islam

<<"Gol. Darah :B <<"Alamat <<"Negara cout<<"\n"; :Jl.Taman Bunga Merak II no.67 :Idonesia "<<x.ngr [10]<<endl;

cout<<"===============selesai==================\n"; cout<<"============TERIMA KASIH=====================\n"; break;

case 2: cout<<"NIM <<"Nama :120534431463 "<<y.nim [12]<<endl "<<y.nama [30]<<endl "<<y.jur [15];

:WIDY CAHYA RAHMAWAN

<<"Jurusan :S1 Pendidikan Teknik Elektro cout<<"\n";

cout<<"===============selesai==================\n"; cout<<"============TERIMA KASIH=====================\n"; break; } getch (); }

Output:

TUGAS PRAKTIKUM - PRAKTIKUM 3 Nama Program Bahasa Pemrograman Compiler Script Program : Program Kasir : C++ : MinGWStudio

#include <iostream.h> //header cout dan cin #include <conio.h> //header getch ()

struct spec {

//deklarasi struct

int tgl, bln, thn;

char kode[4];

char nama[10];

int jml;

int hrg;

float disc; float tot; float akhr; }; spec x;

int main () {

//fungsi utama tanpa nilai balikan

cout<<"=============PROGRAM KASIR===============\n"; cout<<"================WIDY C.R===================\n"; cout<<"Masukkan tanggal pembelian : "; //input tanggal cin>>x.tgl; cout<<"Masukkan bulan pembelian : "; //input bulan cin>>x.bln; cout<<"Masukkan tahun pembelian : "; //input tahun

cin>>x.bln; cout<<"Masukkan tahun pembelian : "; //input tahun cin>>x.thn; cout<<"Masukkan kode barang cin>>x.kode[4]; cout<<"Masukkan nama barang cin>>x.nama[10]; cout<<"Masukkan jumlah barang cin>>x.jml; cout<<"Masukkan harga barang cin>>x.hrg; cout<<endl <<"==============================="<<endl <<endl; cout<<" "<<x.tgl<<" - "<<x.bln<<" - "<<x.thn<<" "<<endl; //output tanggal cout<<endl; x.tot = x.jml * x.hrg; cout<<"Total pembelian cout<<endl; if(x.tot > 30000) { x.disc = 0.1 * x.tot; cout<<"Anda mendapat diskon 10%"<<endl; x.akhr = x.tot - x.disc; cout<<"Anda harus membayar } else { cout<<"Anda tidak mendapat discon"<<endl; cout<<"Anda harus membayar : "<<x.tot; : "<<x.akhr; //seleksi //mencari total : "<<x.tot;//output total : "; //input harga : "; //input jumlah : "; //input nama : "; //input kode

cout<<"Anda harus membayar } getch (); }

: "<<x.tot;

Output:

TUGAS RUMAH - PRAKTIKUM 2 Nama Program Bahasa Pemrograman Compiler Script Program
#include <iostream.h> //header untuk cout cin #include <conio.h> //header untuk fungsi getch ()

: Program Operasi Bilangan Kompleks : C++ : MinGWStudio

struct {

//deklarasi struct

int jam; int menit; int detik; }

masuk, keluar, selisih;//sebagai acuan variabel int main() { cout<<"=======PROGRAM PENGHITUNG WAKTU============\n"; cout<<"================WIDY C.R===================\n"; cout<<"Waktu Masuk"<<endl; cout<<"Masukkan Jam Masuk : "; //input jam masuk cin>>masuk.jam; cout<<"Masukkan Menit Masuk : "; //input menit masuk cin>>masuk.menit; cout<<"Masukkan Detik masuk : "; //input detik masuk cin>>masuk.detik; cout<<endl <<masuk.jam<<" : "<<masuk.menit<<" : "<<masuk.detik; //display //bentuk jam digital cout<<endl <<endl; cout<<"Waktu Keluar" <<endl; cout<<"Masukkan Jam Keluar : "; //input jam keluar cin>>keluar.jam; cout<<"Masukkan Menit Keluar : "; //input menit keluar cin>>keluar.menit; cout<<"Masukkan Detik Keluar : "; //input detik keluar cin>>keluar.detik; cout<<endl <<keluar.jam<<" : "<<keluar.menit<<" : "<<keluar.detik; //display bentuk jam digital //menghitung selisih detik if((keluar.detik - masuk.detik) < 0) { //fungsi utama tanpa nilai balikan

{ selisih.detik = (60 + keluar.detik) - masuk.detik; keluar.menit; } else{selisih.detik = keluar.detik - masuk.detik;} //menghitung selisih menit if((keluar.menit- masuk.menit) < 0) { selisih.menit= (60 + keluar.menit) - masuk.menit; keluar.jam; } else {selisih.menit = keluar.menit- masuk.menit;} //menghitung selisih jam selisih.jam = keluar.jam - masuk.jam; cout<<endl <<endl; cout<<"Selisih dalam detik = "<<selisih.jam * 3600 + selisih.menit * 60 + selisih.detik <<endl; cout<<endl<<endl; //memasukan data jam keluar cout <<"Selisih Masuk dan Keluar"<<endl; cout <<"Jam : "<<selisih.jam <<endl; //output waktu cout <<"Menit : "<<selisih.menit <<endl; // selisih cout <<"Detik : "<<selisih.detik <<endl; cout<<"\n"; cout<<"===============selesai==================\n"; cout<<"============TERIMA KASIH=====================\n"; getch (); }

Output:

TUGAS RUMAH - PRAKTIKUM 2 Nama Program Bahasa Pemrograman Compiler Script Program
#include <iostream.h> //header untuk cout cin #include <conio.h> //header untuk fungsi getch () struct kompleks { int r1, r2, j1, j2, pj, pn, pk, menu; }; kompleks x; int main () { cout<<"===PROGRAM OPERASI BILANGAN KOMPLEKS=======\n"; cout<<"================WIDY C.R===================\n"; //deklarasi struct

: Program Operasi Bilangan Kompleks : C++ : MinGWStudio

{ cout<<"===PROGRAM OPERASI BILANGAN KOMPLEKS=======\n"; cout<<"================WIDY C.R===================\n"; cout<<"Menu Pengoperasian"<<endl <<"1. Penjumlahan "<<endl <<"2. Pengurangan "<<endl <<"3. Perkalian "<<endl <<endl <<"Masukkan Pilihan: "; cin >>x.menu; cout<<endl; cout<<"Masukkan bilangan real cin>>x.r1; cout<<"Masukkan bilangan imajiner 1 : "; //input bilangan imajiner 1 cin>>x.j1; cout<<"Bentuk Komplek : "<<x.r1<<" + "<<x.j1<<"i"<<endl; //kompleks cout<<endl; cout<<"Masukkan bilangan real cin>>x.r2; cout<<"Masukkan bilangan imajiner 2 : "; //input bilangan imajiner 2 cin>>x.j2; cout<<"Bentuk Komplek : "<<x.r2<<" + "<<x.j2<<"i"<<endl; //kompleks cout<<endl; 2 : "; //input bilangan real 2 1 : "; //input bilangan real 1 //input pilihan //deklarasi pilihan

switch (x.menu) { case 1:

//output masing2 pilihan

cout<<"Jumlah = "<<x.r1 + x.r2<<" + "<<x.j1 + x.j2<<"i"<<endl; break;

case 2: cout<<"Kurang = "<<x.r1 - x.r2<<" + "<<x.j1 - x.j2<<"i"<<endl; break; case 3: cout<<"Kali = "<<x.r1 * x.r2<<" + "<<x.j1 * x.j2<<"i"<<endl; break; } getch (); }

Output:

C. Kesimpulan 1. Dapat Mengenal dan memahami penggunaan struct (struktur) dalam listing program. 2. Dapat Membuat program sederhana dengan menerapkan konsep struct (struktur). 3. Struktur yaitu pengelompokan dari variabel-variabel atau sejumlah data dengan tipe yang berlainan yang bernaung dalam satu nama yang sama. Struktur biasa digunakan untuk mengelompokkan beberapa informasi yang berkaitan dengan sebuah kesatuan, atau biasanya disebut dengan record. 4. Struktur dapat digunakan sebagai tipe data suatu variabel, dalam kata lain disebut tipe data abstrak. 5. Suatu struktur juga bisa mengandung struktur yang lain. 6. Suatu struktur juga dapat digunakan untuk argumen/parameter suatu fungsi (function). 7. Untuk perbandingan 2 struktur, maka masing masing unit harus dibandingkan sendirisendiri. D. DAFTAR RUJUKAN TIM Asdos UM. 2014. Modul 7 FUNCTION. Malang. Universitas Negeri Malang.

Anda mungkin juga menyukai