Kamis, 08 Mei 2014

Algoritma dan Struktur Data "STRUCK"






1.      KAJIAN TEORI
1.1.Pengertian
Struct  merupakan  tipe data bentukan yang berisi kumpulan variabel - variabel yang bernaung dalam satu nama yang sama dan memiliki kaitan satu sama lain. Struct hanya berupa kumpulan variabel yang bertipe data sama, struct bisa memiliki variabel – variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau struct itu sendiri.
Struct dapat diumpamakan sebagai sebuah objek. Namun, struct tidak memiliki operasi (method) atau function. Struct dapat digunakan dengan cara membuat variabel yang bertipe struct tersebut.
Variabel – variabel yang menjadi anggota struct disebut dengan elemen struct. Struct juga memiliki bentuk umum, yaitu :
typedef struct{
tipe_data <nama_var>;
tipe_data <nama_var>;
.... }
1.2.Cara penggunaan
-          Penggunaan/pemakaian tipe data struct dilakukan dengan membuat suatu variabel yang bertipe data struct tersebut.
-          Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.).

2.      PEMBAHASAN
2.1.Implementasi Program
2.1.1.      Program 1 (Function Terbesar)
·         Listing Program
#include<stdio.h>
int maximum(int, int);

int main(int argc, char*argv[])
{
            int i=4;
            int j=5;
            int k;
            k= maximum (i,j); /* pemanggilan function maximum atau function terbesar */
            printf("%d terbesar dari %d dan %d\n",k,i,j);
            printf("%d terbesar dari %d dan %d\n",maximum(3,5), 3, 5);
            return 0;
}
int maximum (int a, int b)
/* return integer terbesar */
{
            if (a > b)
                        return a;
            return b;
}

2.1.2.      Praktek 2 (Data Mahasiswa)
·         Listing Program

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

//Pendeklarasian tipe data baru struct Mahasiswa
typedef struct Mahasiswa{
         char NIM[9];
         char nama[30];
         float ipk;
 };

void main(){
      //Buat variabel mhs bertipe data Mahasiswa
      Mahasiswa mhs;
      clrscr();

      printf("NIM = ");scanf("%s",mhs.NIM);
      printf("Nama = ");scanf("%s",mhs.nama);
      printf("IPK = ");scanf("%f",&mhs.ipk);

      printf("Data Anda : \n");
      printf("NIM : %s\n",mhs.NIM);
      printf("Nama : %s\n",mhs.nama);
      printf("IPK : %f\n",mhs.ipk);
      getch();
}
2.1.3.      Praktek 3 ( Umur )
·         Listing Program

#include<stdio.h>
#include<conio.h>
typedef int angka;
typedef float pecahan;
typedef char huruf;
void main(){
            clrscr();
            angka umur;
            pecahan pecah;
            huruf h;

huruf nama[10];
            printf("Masukkan umur anda:");
            scanf("%d",&umur);
            printf("umur anda adalah %d",umur);
            printf("\nmasukkan bilangan pecahan :");
            scanf("%f",&pecah);
            printf("bilangan pecahan %f",pecah);
            printf("\nmasukkan huruf : ");h=getche();
            printf("\nhuruf anda %c",h);
            printf("\nmasukkan nama :");
            scanf("%s",nama);
            printf("Nama anda %s",nama);
            getch();
}
2.1.4.      Praktek 4 ( ID Login )
·         Listing Program
#include <stdio.h>
#include <conio.h>
typedef struct Date{
                                    int dd;
                                    int mm;
                                    int yyyy;
                                    };

typedef struct Time{
                                    int h;
                                    int m;
                                    int s;


                                    };

typedef struct Login{
                                    int ID;
                                    Date tglLogin;
                                    Time waktuLogin;
                                    };

int main(){
Login user1;

            printf ("USER 1\n");
            printf ("ID : ");scanf("%d",&user1.ID);
            printf ("Tanggal Login\n");
            printf("Hari : ");scanf("%d",&user1.tglLogin.dd);
            printf ("Bulan : ");scanf("%d",&user1.tglLogin.mm);
            printf ("Tahun : ");scanf("%d",&user1.tglLogin.yyyy);
            printf ("Waktu Login\n");
            printf ("Jam : ");scanf("%d",&user1.waktuLogin.h);
            printf ("Menit : ");scanf("%d",&user1.waktuLogin.s);
            printf ("Detik : ");scanf("%d",&user1.waktuLogin.s);
            printf ("Terimakasih\n");

            printf ("Data Anda :\n");
                        printf ("ID : %d\n",user1.ID);
                        printf ("Date : %d - %d - %d\n",user1.tglLogin.dd,user1.tglLogin.mm,user1.tglLogin.yyyy);
                        printf ("ID : %d:%d:%d\n",user1.waktuLogin.h,user1.waktuLogin.m,user1.waktuLogin.s)
                        getch();
}

2.2.Hasil/Output
2.2.1.      Praktek 1 (Funtion Terbesar)
(i)                 Ini merupakan tampilan dari program yang dibuat menggunakan function terbesar. Program ini bukan merupakan program inputan, sehingga program ini akan langsung menampilakan output sesuai dengan coding program yang kita buat. Lihat (Gambar 2.2.1.1. Tampilan hasil dari program Maksimum)
Gambar 2.2.1.1. Tampilan hasil dari program Maksimum
2.2.2.      Praktek 2 (Data Mahasiswa)
(i)                 Tampilan awal setelah selesai mencompile program.
Gambar 2.2.2.1. Tampilan Awal Program Data Mahasiswa
(ii)               Tampilan kedua setelah di inputkan data-data yang diminta oleh program. NIM, Nama, IPK di isi oleh pengguna program untuk data mahasiswa.
Pada program yang saya buat ini untuk pengisian Nama tidak dapat menggunakan spasi, serta untuk penulisan nilai IPK diharapkan menggunakan tanda titik (.) tidak tanda koma (,). Sebab apabila penginput memasukkan tanda koma, maka program tersebut akan langsung mengeluarkan tampilan seperti gambar (Gambar 1.2.2.3. Tampilan Akhir Program Mahasiswa). Namun dengan data yang tidak lengkap.
    
Gambar 2.2.2.2. Tampilan Akhir Program Data Mahasiswa
(iii)             Ini merupakan tampilan akhir dari program tersebut, setelah pengguna program selesai menginputkan semua data yang diminta oleh program tersebut. Lihat (Gambar 1.2.2.3. Tampilan Akhir Program Data Mahasiswa).
               
Gambar 2.2.2.3. Tampilan Akhir Program Data Mahasiswa
2.2.3.      Praktek 3 (Umur)
(i)                 Tampilan pertama pada program setelah berhasil compile, kemudian di running. Masukkan data sesuai yang diminta oleh inputan program.
   
Gambar 2.2.3.1.  Tampilan awal pada program Umur
(ii)               Kemudian akan muncul tampilan seperti gambar (Gambar 2.2.3.2. Tampilan kedua pada program Umur)
               
Gambar 2.2.3.2. Tampilan kedua pada program Umur
(iii)             Dan selanjutnya akan muncul tampilan seperti gambar (Gambar 2.2.3.3. Tampilan ketiga pada program Umur)
               
Gambar 2.2.3.3. Tampilan ketiga pada program Umur
(iv)             Setelah itu akan muncul tampilan seperti gambar (Gambar 2.2.3.4. Tampilan keempat pada program Umur)
               
Gambar 2.2.3.4. Tampilan keempat pada program Umur
(v)               Terakhir akan muncul tampilan seperti dibawah ini, setelah selesai menginputkan semua data yang di minta inputkan oleh program.
              
Gambar 2.2.3.5. Tampilan keempat pada program Umur
2.2.4.      Praktikum 4 ( ID Login)
(i)                 Tampilan pertama setelah dicompile, kemudian sukses di running. Lihat gambar (Gambar 2.2.4.1. Tampilan Pertama pada program ID Login). Isikan data sesuai dengan permintaan input pada program.
                    
Gambar 2.2.4.1. Tampilan Pertama pada program ID Login
(ii)               Tampilan kedua pada program pengisian Hari pada saat kita login. Lihat gambar (Gambar 2.2.4.2. Tampilan kedua  pada program ID Login).

        


Gambar 2.2.4.2. Tampilan Kedua  pada program ID Login

(iii)             Tampilan ketiga pada program pengisian Bulan. Lihat gambar (Gambar 2.2.4.3. Tampilan Kedua  pada program ID Login).
                       
Gambar 2.2.4.3. Tampilan Ketiga  pada program ID Login
(iv)             Tampilan ke empat pada program tersebut, adalah penginputan tahun dan data lainnya. Lihat gambar (Gambar 2.2.4.4. Tampilan Keempat  pada program ID Login).
                     
Gambar 2.2.4.4. Tampilan Keempat  pada program ID Login
(v)               Tampilan terakhir program, lihat gambar (Gambar 2.2.4.5. Tampilan terakhir  pada program ID Login)
            
Gambar 2.2.4.5. Tampilan terakhir  pada program ID Login