Sabtu, 22 Mei 2010

Rangkuman Bahasan Materi Sebelum UTS

Nama Kampus : LPKIA
Konsentrasi : Teknik Informatika
Tingkat : 1
Kelas : TI 6
Nama Mahasiswa : Alfa Adhitya
Mata Kuliah : Teori Struktur Data
Nama Dosen : Dadan Nurdin Bagenda S.T



  • POINTER
* Konsep Dasar dari Pointer

Suatu pointer (variabel penunjuk) adalah suatu variabel yang berisi dengan alamat lokasi suatu memori tertentu. Jadi suatu pointer bukan berisi suatu nilai data, tetapi berisi suatu alamat. Misalnya X adalah suatu variabel yang berisi dengan nilai ‘J’. X bukan variabel penunjuk. Nilai dari X ini oleh kompiler C akan diletakkan di suatu lokasi memori tertentu yang dapat diakses bila kita mengetahui alamat memorinya. Alamat dari nilai X dapat diketahui dari ungkapan &X.
/*------------------------------------------*/
/* Contoh 8.1: Konsep dasar pointer */
/*------------------------------------------*/
#include
main()
{
char *Alamat_X, X;
X=’J’;
Alamat_X=&X;
printf(“Nilai variabel X, yaitu ‘J’ berada di alamat %p\n”,Alamat_X);
}
Jika program ini dijalankan, akan didapatkan hasil:
Nilai variabel X, yaitu ‘J’ berada di alamat FFDD

Alamat_X sebagai variabel pointer sebelum digunakan harus dideklarasikan terlebih dahulu dengan tipe yang sama dengan variabel yang ditunjuknya. Variabel pointer dideklarasikan dengan diawali tanda asterik (‘*’).


* Mendeklarasikan Variabel pointer
Seperti halnya variabel biasa, variabel pointer harus dideklarasikan terlebih dahulu sebelum digunakan. Variabel pointer dideklarasikan dengan nama variabelnya ditulis dengan diawali karakter asterik (‘*’). Bentuk umum deklarasi variabel pointer adalah sebagai berikut:
tipe *nama_variabel;
Variabel pointer yang dideklarasikan dapat juga langsung diberi nilai awal.
/*--------------------------------------------------------*/
/* Contoh 10.2: Pendeklarasian variabel pointer */
/*--------------------------------------------------------*/
#include
main()
{
float Nilai, *Alamat=&Nilai;
Nilai = 25.55;
printf(“Nilai %7.2f berada di alamat memori %p\n”, Nilai, Alamat);
}
Jika program ini dijalankan, akan didapatkan hasil:
Nilai 25.55 berada di alamat memori FFDA



  • OPERASI FILE
/* Contoh operasi Buka file */

void main ()
{
clrscr ();

ofstream hasil ();
hasil.open("data.txt")
hasil.close();
getch();
}
ofstream hasil();
hasil.open ("data.txt")
for (x=i; x=50; x++)
if(x % 2;=0)
{
cout hasil<<
}
{
hasil.close();
}




  • SORTING
Sorting ialah pengurutan data yang telah di inputkan baik secara ascending (A-Z) maupun descending (Z-A)..
Contoh :
for(a=0;a<9;a++)
{
for(b=9;b>0;b–)
{
if(bil[b] temp=bil[b];
bil[b]=bil[b-1];
bil[b-1]=temp;
}
}


disini menggunakan looping yaitu for dan kondisi if, dan ini adalah sorting secara ascending,, jika secara descending tinggal ganti "+" menjadi "–" dan "–" menjadi "+" .
dan disitu jg menggunakan 1 variabel (temp) yang berfungsi untuk menyimpan sementara, dan jika kondisi itu benar maka melakukan swap.

  • STRUCT
struct mahasiswa {
char nama[35];
char nim[25];
int gaji;
}a,b;
void cetak (mahasiswa a);
main()
{
a.gaji=100000;
int jam,gaji1;
cout<<"masukan nama anda : ";
cin.getline(a.nama,35);
cout<
cout<<"masukan nim anda  : ";

cin.getline (a.nim,35);
cout<
cout<<"masukan total jam anda : ";

cin>>jam;
gaji1=a.gaji*jam;
a.gaji=gaji1;
cout<
cetak (a);
getch();
}
void cetak (mahasiswa a)
{
cout<<"Nama : "<<
cout<<"Nim  : "<<
cout<<"Gaji anda adalah Rp "<<
}

//Struct mahasiswa diumpamakan sebagai "Jalan utama" sedangkan nama[35] dan nim[25],gaji sebagai percabangan jalan tersebut .. jadi mahasiswa memiliki tiga cabang yaitu nama dan nim.
mahasisa:
                1. nama  (a,b)
                2. nim    (a,b)
                3. gaji.   (a,b)
dimana ketiga cabang tersebut di wakili oleh a dan b. kemudian a dan b tidak bisa langsung di isi suatu nilai karena a dan b bisa di artikan sebagai jembatan yang menhubungkan nama,nim dan gaji. untuk mengisi nilai a dan b. harus di tulis sebagai berikut :
a.nama ="Andryas"
a.nim  ="070010005" //harus di beri tanda " " karena memakai char.
a.gaji  =1000000
begitu pula untuk nilai b.
b.nama  ="Citra"
b.nim    ="070010076"
b.gaji    =2000000

cout<<"masukkan nama anda tanpa ada spasi : ";cin.getline (a.nama,35);

mengapa cin.getline (a.nama,35) digunakan karena cin.getline merupakan masukan untuk nilai char.. (a.nama,35) ini berarti a.nama data yang diisi nilai sedangkan 35 adalah jumlah karakternya yang mampu tertulis, dimana tidak boleh menggunakan spasi.

cout<<"masukan total jam anda : ";cin>>jam;
ini berarti variable jam dapat diisi nilai dengan menggunakan cin saja karena merupakan int.

untuk  fungsi void cetak (mahasiswa a);
ini berarti seperti perintah yang sudah dirumuskan didalam void cetak.
seperti tugas di atas contohnya :

void cetak (mahasiswa a)
{
cout<<"Nama : "<<<
cout<<"Nim  : "<<<
cout<<"Gaji anda adalah Rp "<<
}

rumus void cetak di atas merupakan rumus yang telah disusun sebelumnya.. dimana
nilai dari (mahasiswa a) bisa di rubah menjadi (a) saja jika a memiliki nilai seperti
a.nama="andryas" ini berarti nilai a. yang menuju ke cabang nama telah memiliki nilai "Andryas".


  • CLASS
class tidak jauh beda dengan struct bedanya kalau class defaultnya berupa private atau tidak bisa di  panggil di mana saja sedangkan struct defaultnya berupa public sehingga bisa di panggil dimana saja.



#include"iostream.h"
#include"conio.h"

class data
{
 private:
   int alas;
   int tinggi;
   float phi;
   int r;
   int panjang;
   int lebar;
   int lsegitiga;
   float llingkaran;
   int lpersegi;
   int vbalok;
   float vtabung;
   float vkerucut;

 public:
   void segitiga()
   {
    cout<<"--Menghitung luas Segitiga--"<
    cout<<"Masukan Alas : ";
    cin>>alas;
    cout<<<"Masukan tinggi : ";
    cin>>tinggi;
    lsegitiga=(alas*tinggi)/2;
    cout<<<"Luas Segitiga adalah :";
    cout<
    cout<
   }

   void lingkaran()
   {
    cout<<"--Menghitung Luas Lingkaran--"<
    phi=3.14;
    cout<<<"Masukan Jari - Jari : ";
    cin>>r;
    llingkaran=phi*r*r;
    cout<<<"Luas Lingkaran adalah :";
    cout<
    cout<
   }

   void persegi()
   {
    cout<<"--Menghitung Luas Persegi--"<
    cout<<<"Masukan Panjang : ";
    cin>>panjang;
    cout<<<"Masukan Lebar : ";
    cin>>lebar;
    lpersegi = panjang * lebar;
    cout<<<"Luasnya adalah : ";
    cout<
    cout<
   }

   void balok()
   {
    cout<<"--Menghitung Volume Balok--"<
    cout<<<"Masukan Panjang : ";
    cin>>panjang;
    cout<<<"Masukan Lebar : ";
    cin>>lebar;
    cout<<<"Masukan Tinggi : ";
    cin>>tinggi;
    vbalok=panjang*lebar*tinggi;
    cout<<<"Volume balok Adalah : ";
    cout<
    cout<
   }

   void tabung()
   {
    cout<<"--Menghitung Volume Tabung--"<
    cout<<<"Masukan Jari-Jari : ";
    cin>>r;
    cout<<<"Masukan Tinggi : ";
    cin>>tinggi;
    phi=3.14;
    vtabung=(2*phi*r*r)*tinggi;
    cout<<<"Volume Tabung adalah : ";
    cout<
    cout<
   }

   void kerucut()
   {
    cout<<"--Menghitung Volume Kerucut--"<
    cout<<<"Masukan Jari-Jari : ";
    cin>>r;
    cout<<<"Masukan Tinggi : ";
    cin>>tinggi;
    phi=3.14;
    vkerucut=(phi*r*r)*tinggi;
    cout<<"Volume Kerucut adalah : ";
    cout<
    cout<
   }


}geometri;


void main()
{
  clrscr();

  geometri.segitiga();
  cout<
  geometri.lingkaran();
  cout<
  geometri.persegi();
  cout<
  geometri.balok();
  cout<
  geometri.tabung();
  cout<
  geometri.kerucut();

 getch();
}


  • SWITCH-CASE
Struktur kondisi switch....case....default digunakan untuk penyeleksian kondisi
dengan kemungkinan yang terjadi cukup banyak. Struktur ini akan melaksanakan
salah satu dari beberapa pernyataan ‘case’ tergantung nilai kondisi yang ada di
dalam switch. Selanjutnya proses diteruskan hingga ditemukan pernyataan ‘break’.
Jika tidak ada nilai pada case yang sesuai dengan nilai kondisi, maka proses akan
diteruskan kepada pernyataan yang ada di bawah ‘default’.
Bentuk umum dari struktur ini:

switch(variabel)
{
case 1 : pernyataan-1;
break;
case 2 : pernyataan-2;
break;
.....
.....
case n : pernyataan-n;
break;
default : pernyataan-m
}


  • FUNGSI REKURSIF
Fungsi rekursif adalah suatu fungsi yg di dalamnya terdapat pemanggilan fungsi tersebut , atau dengan kata lain, suatu fungsi yg memanggil dirinya sendiri ..

Contoh paling mudah dari fungsi Rekursif adalah fungsi faktorial. Dalam rumus matematika n! = n(n-1)!
Jika d nyatakan dalam bahasa pemrograman , faktorial(n) = n*faktorial(n-1)


  • Fungsi 1
 void luas(void); // tidak mengembalikan nilai
void main()
{
clrscr();
luas();
getch();
}
void luas (void)
{
int p,l,L;
cout<<"Panjang : ";cin>>p;
cout<<"Lebar : ";cin>>lebar;
L=p*l;
cout<<"Luas : " <
}

  • Tipe 2
void luas ( );
void main()
{
int p,l;
cout<<"panjang : " ;cin>>p;
cout<<"Lebar : " ;cin>>l;
Luas(p,l);
getch();
}
void luas(int x, int y)
{
int L;
L=x*y;
cout<<"Luas : "<

Tidak ada komentar:

Posting Komentar