STRUCK
TI Politala Algoritma Pemrograman 2B
1. Pengertian Struct
Struct terkadang disebut struktur. Struct adalah pengelompokan variabel dengan tipe data yang berbeda menjadi satu nama yang sama. Variabel dalam struct sering disebut dengan komponen, field, elemen atau member. Struct biasanya digunakan untuk mengelompokan beberapa menjadi satu sehingga menghasilkan sebuah informasi yang salah berkaitan dengan sebuah kesatuan atau yang disebut dengan record.
Dalam program yang sederhana, tak masalah apabila menggunakan sedikit variabel. Akan tetapi, hal ini tidak berlaku pada program yang lebih komplek, dengan berbagai macam variabel. Maka, dengan struct, kita dapat mengelompokan nama dan tipe data sesuai kelompoknya. Hal ini lebih memudahkan dalam pengelompokan suatu variabel.
Dalam program yang sederhana, tak masalah apabila menggunakan sedikit variabel. Akan tetapi, hal ini tidak berlaku pada program yang lebih komplek, dengan berbagai macam variabel. Maka, dengan struct, kita dapat mengelompokan nama dan tipe data sesuai kelompoknya. Hal ini lebih memudahkan dalam pengelompokan suatu variabel.
2. Deklarasi Struktur Data (Struct)
Cara mendeklarasikan struktur adalah dengan menggunakan kata
kunci struct.
Perhatikan contoh penulisan struktur berikut ini :
Perhatikan contoh penulisan struktur berikut ini :
struct nama_struktur
{
tipe_data1 elemen1;
tipe_data2 elemen2;
...
}nama_objek;
Keterangan:
a) nama_struct merupakan identtas dari struct tersebut.
b) {tipe_data1 elemen1; ....} merupakan tempat untuk variabel dikelompokkan.
c) nama_objek, kita dapat membuat banyak namaa_objek tetapi harus dipisahkan oleh tanda koma
(,). Penempatan objek tersebut optional. Kita dapat menempatkannya di dalam deklarasi struct
atau di luar stuct.
Struct dapat dikatakan sebagai sebuah objek, misalnya: objek mahasiswa. Struct mahasiswa memiliki beberapa variabel yang terdapat pada mahasiswa :
a) NIM yang berisi misalnya 10 angka menggunakan tipe data integer.
b) Nama yang berupa huruf menggunakan tipe data string.
c) Jurusan yang berupa huruf menggunakan tipe data string.
tipe_data1 elemen1;
tipe_data2 elemen2;
...
}nama_objek;
Keterangan:
a) nama_struct merupakan identtas dari struct tersebut.
b) {tipe_data1 elemen1; ....} merupakan tempat untuk variabel dikelompokkan.
c) nama_objek, kita dapat membuat banyak namaa_objek tetapi harus dipisahkan oleh tanda koma
(,). Penempatan objek tersebut optional. Kita dapat menempatkannya di dalam deklarasi struct
atau di luar stuct.
Struct dapat dikatakan sebagai sebuah objek, misalnya: objek mahasiswa. Struct mahasiswa memiliki beberapa variabel yang terdapat pada mahasiswa :
a) NIM yang berisi misalnya 10 angka menggunakan tipe data integer.
b) Nama yang berupa huruf menggunakan tipe data string.
c) Jurusan yang berupa huruf menggunakan tipe data string.
d) IPK yang berupa bilangan pecahan menggunakan tipe data
float.
3. Jenis-Jenis Struct
a. Struktur Data Sederhana
1. Array (Larik)
Larik adalah struktur data statistik yang menyimpan sekelumpulan elemen bertipe sama. Setiap elemen yang diakses langsung melalui indeksnya. Indeks larik harus bertipe data integer dan karater.
2. Record (Catatan)
ADT adalah definisi tipe dan sekumpulan primitif (operasi dasar) terhadap tipe tersebut. Tipe diterjemahkan menjadi tipe terdefinisikan dalam program yang bersangkutan.
b. Struktur Data Majemuk
1. Linier
Linier terbagi menjadi dua yaitu queue (antrian) dan list/multilist (daftar). Queue adalah list linier yang dikenal dengan elemen pertamanya (head) dan elemen terakhirnya (tail). List linier adalah sekumpulan elemen tipe data yang sama dan mempunyai keterurutan tertentu dimana setiap elemennya memiliki 2 bagian yaitu first untuk elemen pertama dan elemen berikutnya dengan suksetor yang dapat diakss melalui field next.
2. Non-Linier
Non-linier terdiri dari binary tree dan graf. Binary tree atau pohon biner adalah himpunan terbatas yang berkemungkinan kosong atau terdiri dari sebuah simpul yang disebut akar. Graf merupakan keterhubungan sekuensial antara entitas data, struktur data tree sebagai keterhubungan hirarkis, maka struktur graf sebagai pendefinisian keterhubungan tak terbatas antara entitas data.
Contoh Program Struck
Program
untuk menghitung jumlah nilai akhir mahasiswa menggunakan struktur dengan
ketentuan Nilai
akhir = (30%*nilai tugas) + (30%*nilai UTS) + (40%*nilai UAS
Nilai Huruf :
1. Nilai
akhir > 80 : A
2. 80 >= nilai akhir > 75 : B+
3. 75 >= nilai akhir > 70 : B
4. 70 >= nilai akhir > 65 : C+
5. 65 >= nilai akhir > 60 : C
6. 60 >= nilai akhir > 50 : D+
7. 50 >= nilai akhir > 40 : D
8. Nilai
akhir <=40 : E
#include <iostream>
#include <conio.h>
using namespace std;
struct mahasiswa
{
string huruf;
float nilaitugas, nilaiUTS, nilaiUAS, NA;
int sks;
char nim [10];
}mhs1, mhs2;
rumus1()
{
mhs1.NA=0.3*mhs1.nilaitugas+0.3*mhs1.nilaiUTS+0.4*mhs1.nilaiUAS;
}
rumus2()
{
mhs2.NA=0.3*mhs2.nilaitugas+0.3*mhs2.nilaiUTS+0.4*mhs2.nilaiUAS;
}
menu1()
{
if (mhs1.NA >= 80)
{
mhs1.huruf= "A";
}
else if (mhs1.NA >=75 && mhs1.NA < 80)
{
mhs1.huruf= "B+";
}
else if (mhs1.NA >=70 && mhs1.NA < 75)
{
mhs1.huruf= "B";
}
else if (mhs1.NA >=65 && mhs1.NA < 70)
{
mhs1.huruf= "C+";
}
else if (mhs1.NA >=60 && mhs1.NA < 65)
{
mhs1.huruf= "C";
}
else if (mhs1.NA >=50 && mhs1.NA < 60)
{
mhs1.huruf= "D+";
}
else if (mhs1.NA >=40 && mhs1.NA < 50)
{
mhs1.huruf= "D";
}
else
{
mhs1.huruf= "E";
}
}
menu2()
{
if (mhs2.NA >= 80)
{
mhs2.huruf= "A";
}
else if (mhs2.NA >=75 && mhs2.NA < 80)
{
mhs2.huruf= "B+";
}
else if (mhs2.NA >=70 && mhs2.NA < 75)
{
mhs2.huruf= "B";
}
else if (mhs2.NA >=65 && mhs2.NA < 70)
{
mhs2.huruf= "C+";
}
else if (mhs2.NA >=60 && mhs2.NA < 65)
{
mhs1.huruf= "C";
}
else if (mhs2.NA >=50 && mhs2.NA < 60)
{
mhs1.huruf= "D+";
}
else if (mhs2.NA >=40 && mhs2.NA < 50)
{
mhs2.huruf= "D";
}
else
{
mhs1.huruf= "E";
}
}
int menu1();
int menu2();
int main()
{
char nama1[100], nama2 [100];
cout<<"Mahasiswa ke-1"<<endl;
cout<<"Nama : " ;cin.getline(nama1,sizeof(nama1));
cout<<"NIM : " ;cin>>mhs1.nim;
cout<<"Jumlah SKS : " ;cin>>mhs1.sks;
cout<<"Nilai Tugas : " ;cin>>mhs1.nilaitugas;
cout<<"Nilai UTS : " ;cin>>mhs1.nilaiUTS;
cout<<"Nilai UAS : " ;cin>>mhs1.nilaiUAS;
cout<<endl;
cout<<"Mahasiswa ke-2"<<endl;
cout<<"Nama : " ;cin>>nama2;
cout<<"NIM : " ;cin>>mhs2.nim;
cout<<"Jumlah SKS : " ;cin>>mhs2.sks;
cout<<"Nilai Tugas : " ;cin>>mhs2.nilaitugas;
cout<<"Nilai UTS : " ;cin>>mhs2.nilaiUTS;
cout<<"Nilai UAS : " ;cin>>mhs2.nilaiUAS;
cout<<"==========================================================================="<<endl;
cout<<"| NAMA | NIM | TUGAS | UTS | UAS | NA | HURUF |"<<endl;
menu1();
cout<<nama1 << "\t" << mhs1.nim << "\t" << mhs1.nilaitugas << "\t" << mhs1.nilaiUTS;
cout<< "\t" << mhs1.nilaiUAS << "\t" << mhs1.NA<< "\t" << mhs1.huruf<<endl;
menu2();
cout<<nama2 << "\t" << mhs2.nim << "\t" << mhs2.nilaitugas << "\t" << mhs2.nilaiUTS;
cout<< "\t" << mhs2.nilaiUAS << "\t" << mhs2.NA<< "\t" << mhs2.huruf<<endl;}
Jika ingin contoh program struck yang lainnya, silahkan download pada link :
https://drive.google.com/open?id=19aTYw04nc95KMHukFQM51EQzpI7SK9Jn
Jika ingin contoh program struck yang lainnya, silahkan download pada link :
https://drive.google.com/open?id=19aTYw04nc95KMHukFQM51EQzpI7SK9Jn
DAFTAR PUSTAKA
Maulana. 2013. Pertemuan 11 PemrogramanTerstruktur. Diakses pada tanggal 21 Maret 2019 pada pukul 20:21 WITA dari http://maulana.lecture.ub.ac.id/files/2013/07/08-struct.pdf
Cahya. Wendy. 2015. Penggunaan Struck Pada Bahasa C.Diakses pada tanggal 21 Maret 2019 pada pukul 20:30 WITA dari http://wendycahya.blogspot.com/2015/11/penggunaan-struct-pada-bahasa-c.html
Cahya. Wendy. 2015. Penggunaan Struck Pada Bahasa C.Diakses pada tanggal 21 Maret 2019 pada pukul 20:30 WITA dari http://wendycahya.blogspot.com/2015/11/penggunaan-struct-pada-bahasa-c.html
0 komentar:
Posting Komentar