Kamis, 21 Maret 2019

Stuck Data Dalam Algoritma Pemrograman C++

| |

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.

2.  Deklarasi Struktur Data (Struct)

     Cara mendeklarasikan struktur adalah dengan menggunakan kata kunci struct.
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.
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

    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

0 komentar:

Posting Komentar

animasi  bergerak gif

Popular Posts

Blogger templates

Blogroll

About

Diberdayakan oleh Blogger.

Cari Blog Ini

Postingan lain

Translate

Blogger templates

Pages

Pages

Popular Posts

 

Designed by: Compartidísimo
Images by: DeliciousScraps©