Minggu, 08 April 2012

Laporan Praktikum Modul 2 Tipe Data Abstrak (Novian Adi P) (201101029)



Laporan Praktikum Modul 2 Tipe Data Abstrak

Disusun oleh :
Novian Adi Prasetyo
201101029

Dosen
Yosef Murya Kusuma Ardhana, S.T


JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI ILMU KOMPUTER (STIKOM)
“YOS SUDARSO”
PURWOKERTO
2012


------------------------

Dasar Teori 
1. PENGANTAR

Tipe data abstrak merupakan konsep matematis yang mendefinisikan suatu tipe data, terdiri dari sejumlah nilai dan operasi. Tipe data abstrak terdiri dari struktur data abstrak dan operasi, dimana struktur data abstrak hanya dapat diakses dengan mendefiniskan operasi. Sekumpulan data dan operasi terhadap data tersebut yang definisinya tidak bergantung pada implementasi tertentu. Kumpulan dari berbagai macam operasi tersebut disebut interface atau antar muka. Dan operasi tersebut dapat dilihat dari luar karena memiliki interface.

2. PENDEKLARASIAN ATAU PENDEFINISIAN TIPE DATA ABSTRAK
Bentuk pendeklarasian tipe data abstrak mengunakan typedef dan struct.
  
a.  Tipedef
 Typedef biasa di pakai untuk memberikan nama lain terhadap suatu type data.
Bentuk umum : typedef<tipe_data_lama> <type_data_baru>
contoh :
typedef int angka;
typedef float pecahan;
typedef char huruf;
 b. Struct
 Struct adalah tipe data bentukan yang berisi kumpulan variabel - variabel yang bernaung dalam satu nama yang sama dan memiliki kaitan satu sama lain. Variabel-variabel yang menjadi angotta struct disebut dengan elemen struct, struct bisa memiliki variabel-variabel yang bertipe sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau struct itu sendiri.
Pendeklarasian struct biasanya dilakukan diawal, setelah pendeklarasian file header dan sebelum fungsi main.

Bentuk umum :
 struct nama_tipe_struktur 
{
tipe field 1
tipe field 2
tipe field 3
....
tipe field n
} variabel_struktur_1,.....,variabel_struktur_n
contoh :
#include <iostream>
#include <string.h>
using namespace std;
int main ()
{
struct data_tanggal
{
    int tanggal, bulan, tahun;
};
struct data_teman
{
    char nama[30];
    struct data_tanggal tgl_lahir;
};
struct data_teman info_teman;

c. Typedef dan Struct
Bentuk umum :
typedef struct<nama_struct>
{
type_data<nama_var_1>;
type_data<nama_var_2>;
.....
type_data<nama_var_n>;
}

contoh :
#include <iostream>
using namespace std;

typedef struct mahasiswa
{
    char NIM[9],nama[30];
    float ipk;
};
------------------------------------------
  
LANGKAH PRAKTIKUM

Program Praktikum 2.2

Listing Program :
#include <iostream>
#include <string.h>
using namespace std;
int main ()
{
struct data_tanggal
{
       int tanggal, bulan, tahun;
};
struct data_teman
{
       char nama[30];
       struct data_tanggal tgl_lahir;
};
struct data_teman info_teman;

strcpy (info_teman.nama,"STIKOMWATI");
info_teman.tgl_lahir.tanggal = 12;
info_teman.tgl_lahir.bulan = 3;
info_teman.tgl_lahir.tahun = 1981;

cout<<"Nama : "<<info_teman.nama;
cout<<"\nTanggal lahir : "<<info_teman.tgl_lahir.tanggal
             <<"-"<<info_teman.tgl_lahir.bulan<<"-"<<info_teman.tgl_lahir.tahun;
       return 0;
}

output Program :
















 Kesalahan dan Solusi :


 Program Praktikum 2.3

Listing Program :

#include <iostream>
using namespace std;
#define phi 3.14

struct {
       float jari2, keliling, luas;
}lingkaran;

void luasLingkaran (){
       lingkaran.luas=lingkaran.jari2*lingkaran.jari2*phi;
       cout<<"Luas lingkaran = "<<lingkaran.luas<<endl;
}

float kelLingkaran (float jari2){
       return 2*phi*lingkaran.jari2;
}

int main (){
       cout<<"Jari jari : ";
       cin>>lingkaran.jari2;
       luasLingkaran () ;
       lingkaran.keliling = kelLingkaran (lingkaran.jari2)
                    ;
       cout<<"Keliling Lingkaran = "<<lingkaran.keliling;
       return 0;
}


output Program :
 

  













Kesalahan dan Solusi : 


Program Praktikum 2.4

Listing Program :

#include <iostream>
using namespace std;

int main ()
{
       struct zodiac
       {
             char nama[15];
             int tgl_awal,bln_awal,tgl_akhir,bln_akhir;
       };
       struct zodiac bintang = {"pisces", 23, 11, 20, 12};


       int tgl_lahir,bln_lahir,th_lahir;

       cout<<"Tanggal lahir anda (d-mm-yyyy) : ";
       cin>>tgl_lahir>>bln_lahir>>th_lahir;

       if ((tgl_lahir>=bintang.tgl_awal && bln_lahir==bintang.bln_awal)||
                    (tgl_lahir<=bintang.tgl_akhir && bln_lahir==bintang.bln_akhir))
             cout<<"Bintang anda adalah : "<<bintang.nama;
       else
             cout<<"Bintang anda bukanlah : "<<bintang.nama;
             return 0;
}


output Program :


















Kesalahan dan Solusi : 



Program Praktikum 2.5

Listing Program :

#include <iostream>
using namespace std;

typedef struct mahasiswa
{
       char NIM[9],nama[30];
       float ipk;

};

main ()
{
       mahasiswa mhs;

       cout<<"NIM : ";
       cin>>mhs.NIM;
       cout<<"Nama : ";
       cin>>mhs.nama;
       cout<<"IPK : ";
       cin>>mhs.ipk;
       cout<<"Data Anda : ";
       cout<<"\n\nNIM = "<<mhs.NIM<<"\n";
       cout<<"Nama = "<<mhs.nama<<"\n";
       cout<<"IPK = "<<mhs.ipk<<"\n";

       return 0;
}


Listing Program :
 

  













Kesalahan dan Solusi : 



------------------------------------------
  
TUGAS PRAKTIKUM
Listing Program :
#include <iostream>

using namespace std;



int main ()

{

       struct zodiac

       {

             char nama[15];

             long int tgl_awal,bln_awal,tgl_akhir,bln_akhir;

       };

       zodiac aries = {"aries", 21, 3, 19, 4};

       zodiac taurus = {"taurus", 20, 4, 20, 5};

       zodiac gemini = {"gemini", 21, 5, 20, 6};

       zodiac cancer = {"cancer", 21, 6, 20, 7};

       zodiac leo = {"leo", 23, 7, 22, 8};

       zodiac virgo = {"virgo", 23, 8, 22, 9};

       zodiac libra = {"libra", 23, 9, 22, 10};

       zodiac scorpio = {"scorpio", 23, 10, 21, 11};

       zodiac sagitarius = {"sagitarius", 22, 11, 21, 12};

       zodiac capricorn = {"capricorn", 22, 12, 19, 01};

       zodiac aquarius = {"aquarius", 20, 1, 18, 02};

       zodiac pisces = {"pisces", 19, 2, 20, 03};



       int tgl_lahir,bln_lahir,th_lahir;



       cout<<"Tanggal lahir anda (d-mm-yyyy) : ";

       cin>>tgl_lahir>>bln_lahir>>th_lahir;



       if ((tgl_lahir>=aries.tgl_awal && bln_lahir==aries.bln_awal)||(tgl_lahir<=aries.tgl_akhir && bln_lahir==aries.bln_akhir))

             cout<<"Bintang anda adalah : "<<aries.nama;

       if ((tgl_lahir>=taurus.tgl_awal && bln_lahir==taurus.bln_awal)||(tgl_lahir<=taurus.tgl_akhir && bln_lahir==taurus.bln_akhir))

             cout<<"Bintang anda adalah : "<<taurus.nama;

       if ((tgl_lahir>=gemini.tgl_awal && bln_lahir==gemini.bln_awal)||(tgl_lahir<=gemini.tgl_akhir && bln_lahir==gemini.bln_akhir))

             cout<<"Bintang anda adalah : "<<gemini.nama;

       if ((tgl_lahir>=cancer.tgl_awal && bln_lahir==cancer.bln_awal)||(tgl_lahir<=cancer.tgl_akhir && bln_lahir==cancer.bln_akhir))

             cout<<"Bintang anda adalah : "<<cancer.nama;

       if ((tgl_lahir>=leo.tgl_awal && bln_lahir==leo.bln_awal)||(tgl_lahir<=leo.tgl_akhir && bln_lahir==leo.bln_akhir))

             cout<<"Bintang anda adalah : "<<leo.nama;

       if ((tgl_lahir>=virgo.tgl_awal && bln_lahir==virgo.bln_awal)||(tgl_lahir<=virgo.tgl_akhir && bln_lahir==virgo.bln_akhir))

             cout<<"Bintang anda adalah : "<<virgo.nama;

       if ((tgl_lahir>=libra.tgl_awal && bln_lahir==libra.bln_awal)||(tgl_lahir<=libra.tgl_akhir && bln_lahir==libra.bln_akhir))

             cout<<"Bintang anda adalah : "<<libra.nama;

       if ((tgl_lahir>=scorpio.tgl_awal && bln_lahir==scorpio.bln_awal)||(tgl_lahir<=scorpio.tgl_akhir && bln_lahir==scorpio.bln_akhir))

             cout<<"Bintang anda adalah : "<<scorpio.nama;

       if ((tgl_lahir>=sagitarius.tgl_awal && bln_lahir==sagitarius.bln_awal)||(tgl_lahir<=sagitarius.tgl_akhir && bln_lahir==sagitarius.bln_akhir))

             cout<<"Bintang anda adalah : "<<sagitarius.nama;

       if ((tgl_lahir>=capricorn.tgl_awal && bln_lahir==capricorn.bln_awal)||(tgl_lahir<=capricorn.tgl_akhir && bln_lahir==capricorn.bln_akhir))

             cout<<"Bintang anda adalah : "<<capricorn.nama;

       if ((tgl_lahir>=aquarius.tgl_awal && bln_lahir==aquarius.bln_awal)||(tgl_lahir<=aquarius.tgl_akhir && bln_lahir==aquarius.bln_akhir))

             cout<<"Bintang anda adalah : "<<aquarius.nama;

       if ((tgl_lahir>=pisces.tgl_awal && bln_lahir==pisces.bln_awal)||(tgl_lahir<=pisces.tgl_akhir && bln_lahir==pisces.bln_akhir))

             cout<<"Bintang anda adalah : "<<pisces.nama;



             return 0;

}



Output Program :
















Kesalahan dan Solusi : 

Tidak ada komentar:

Posting Komentar