Anda di halaman 1dari 6

TEKNIK KOMPILASI (TI2)

Di susun Oleh :
1. Ariep Hidayatullah
2. Barkah Landia
3. Tedy Susanto
JAWABAN TUGAS KELOMPOK 1
Contoh Program C++
#include<iostream.h>
#include<conio.h>
typedef struct
{ int tanggal, bulan, tahun;} data_tanggal;
typedef struct
{ char nama[30]; data_tanggal tgl_lahir; } data_rekan; data_rekan
info_rekan; void main()
{ strcpy(info_rekan.nama,"Barkah Landia");
info_rekan.tgl_lahir.tanggal=21;
info_rekan.tgl_lahir.bulan=2;
info_rekan.tgl_lahir.tahun=1996;
cout<<"Nama: "<<info_rekan.nama<<endl;
cout<<"Tanggal Lahir : "<<endl;
cout<<"Tanggal: "<<info_rekan.tgl_lahir.tanggal<<endl;
cout<<"Bulan: "<<info_rekan.tgl_lahir.bulan<<endl;
cout<<"Tahun: "<<info_rekan.tgl_lahir.tahun<<endl; int a,
b, i, n;

cout<<"Masukan nilai B (range. 1-9) = ";


cin>>n;
i=1;
while(i<=10)
{ if(i>n)
{ cout<<"A lebih BESAR";}
else
{ cout<<"A lebih KECIL";}
i++; }
getch(); }

Jawaban :

11 i 18 i
12 11 19 i
13 BZ 20 1
14 i 21 +
15 n 22 14
16 12 23 BR
17 BZ

JAWABAN TUGAS KELOMPOK 2


Jawaban Notasi Triples :
List Intruksi List Eksekusi
1 <=, 1, 10 1. 1
2 >, i, n 2. 2
3 +, i, i 3. 3

Jawaban Notasi Quarduples :


1 <=, 1, 10, ti1
2 >, i, n, ti2
3 + i, i, ti3
Jawaban Code Generator :
LDA 1 ( isi 1 ke dalam accumulator)
ADD 10 (isi 10 ke dalam accumulator)
STO t1 (Simpan isi Accumulator ke t1)
LDA i ( isi i ke dalam accumulator)
ADD n (isi n ke dalam accumulator)
STO t2 (Simpan isi Accumulator ke t1)
LDA i (isi i ke dalam accumulator)
ADD i (isi i ke dalam accumulator)
STO t3 (Simpan isi Accumulator ke t1)

JAWABAN TUGAS KELOMPOK 3


- Lexical
No Salah Benar Keterangan
1 #includes #include kelebihan huruf s
2 <iostreamh> <iostream.h> kekurangan titik
3 void main(); void main() kelebihan ;
4 getch() getch(); kekurangan ;
5 cout>>""; cout<<""; salah simbol, lebih besar dari

- Syntaxis
No Salah Benar Keterangan
1 i++ i++; kurang ;
2 if(a>b) if(a<b) < terbalik dengan>
3 hasil=a+t/2 hasil=(a+t)/2 kurang tanda kurung
4 if(c=b) if(c!=b) kurang negasi !
5 a=0+1; a=a+1; a tidak bisa di gantikan 0

- Semantic
No Salah Benar Keterangan
1 int a; int a; int a; tidak boleh duplikat deklarasi
2 char a; a=3; int a; a=3; type data harus konsisten
3 int a; char b; if(a<b) int a; int b; if(a<b) type data harus bisa di operasikan
4 cout>>""; cout<<""; script tidak sesuai
5 int a; float luas; luas= a/ 0.5 float a; float luas; luas= a/ 0.5 int tidak bisa di pecahan

JAWABAN TUGAS KELOMPOK 4


Optimasi Lokal :
Contoh Program C++
#include<iostream.h>
#include<conio.h>
void main()
{int a; int b; int c; cout<<a;
cout<<b; cout<<c; getch();

}
dapat dioptimasikan menjadi : int a, b, c;
Optimasi Global :
Contoh Program C++
#include<iostream.h>
#include<conio.h>
void main()
{int a, b;
cout<<”Nilai a adalah = “;
cin>>a;
clrscr();
cout<<”Hasil nilai a adalah = ”<<a<<endl;
getch();
}
Note : Variabel ”b” harusnya tidak di cantumkan karena tidak digunakan

JAWABAN TUGAS KELOMPOK 5


Contoh Program C++
#include<iostream.h>
#include<conio.h>
typedef struct
{ int tanggal, bulan, tahun;} data_tanggal;
typedef struct
{ char nama[30]; data_tanggal tgl_lahir; } data_rekan; data_rekan
info_rekan; void main()
{ strcpy(info_rekan.nama,"Barkah Landia");
info_rekan.tgl_lahir.tanggal=21;
info_rekan.tgl_lahir.bulan=2;
info_rekan.tgl_lahir.tahun=1996;
cout<<"Nama: "<<info_rekan.nama<<endl;
cout<<"Tanggal Lahir : "<<endl;
cout<<"Tanggal: "<<info_rekan.tgl_lahir.tanggal<<endl;
cout<<"Bulan: "<<info_rekan.tgl_lahir.bulan<<endl;
cout<<"Tahun: "<<info_rekan.tgl_lahir.tahun<<endl; int a,
b;

cout<<”Jumlah elemen array anda =


“<<endl; cin>>c;
for(a=0;a<10;a++)
{ cout<<”Masukan elemen array = ”;
cin>>b[a];
} clrscr();
for(a=0;a<10;a++)
{ cout<<”Elemen array anda adalah = ”<<b[a];
} getch(); }
Jawaban :

Tabel Informasi Identifier


Nama Tipe Objek Dimensi Nomor Nomor Field
No
Identifier Identifier Time Identifier Baris Referensi Link
1 include char - 0 1 1 -
2 void main char - 1 3 2 -
3 iostream.h char - 1 1 3 -
4 conio.h char - 1 2 4 -
5 cout char - 2 - 5 -
6 endl char - 2 - 6 -
7 cin char - 2 - 7 -
8 for char - 2 - 8 -
9 strcpy char - 2 - 9 -
10 clrscr char - 3 - 10 -
11 getch char - 3 - 11 -

JAWABAN TUGAS KELOMPOK 6


Contoh Program C++
#include<iostream.h>
#include<conio.h>
typedef struct
{ int tanggal, bulan, tahun;} data_tanggal;
typedef struct
{ char nama[30]; data_tanggal tgl_lahir; } data_rekan; data_rekan info_rekan;
void main()
{ strcpy(info_rekan.nama,"Barkah Landia");
info_rekan.tgl_lahir.tanggal=21;
info_rekan.tgl_lahir.bulan=2;
info_rekan.tgl_lahir.tahun=1996;
cout<<"Nama: "<<info_rekan.nama<<endl;
cout<<"Tanggal Lahir : "<<endl;
cout<<"Tanggal: "<<info_rekan.tgl_lahir.tanggal<<endl;
cout<<"Bulan: "<<info_rekan.tgl_lahir.bulan<<endl;
cout<<"Tahun: "<<info_rekan.tgl_lahir.tahun<<endl; int a,
b;

cout<<”Jumlah elemen array anda =


“<<endl; cin>>c;
for(a=0;a<10;a++)
{ cout<<”Masukan elemen array = ”;
cin>>b[a];
} clrscr();
for(a=0;a<10;a++)
{ cout<<”Elemen array anda adalah = ”<<b[a];
} getch(); }
Jawaban :

Tabel Informasi Block


Tipe Tipe Batas Batas Jumlah Ukuran Elemen
Referensi
No Indeks Elemen Atas Bawah Elemen Total Size
1 Integer integer b[a] 9 0 1 10 1

Tabel Informasi Array


Tipe Tipe Batas Batas Jumlah Ukuran Elemen
Referensi
No Indeks Elemen Atas Bawah Elemen Total Size
1 Integer integer b[a] 9 0 1 10 1

Anda mungkin juga menyukai