UNIVERSITAS PAMULANG
(UNPAM)
SK MENDIKNAS No. 136/D/0/2001
Jl. Surya Kencana No.1 Pamulang Barat, Tangerang Selatan, Banten Telp. (021) 7412566 Fax. (021) 7412491
SOAL !
Lakukan proses Analisa (Leksikal, Sintaks dan Semantik) Apabila ada kesalahan silahkan di
jabarkan dan benarkan, lalu Proses Sintesa (execute) jika sudah tidak ada kesalahan
menggunakan bahasa pemrograman C++ dibawah ini, hasil di screenshoot didalam paper yang
ditugaskan.
#include<stdio.h> #include<iostream>
using namespace std; using namespace std:
void Luas(); void Luas(int a,int b)
void main(void) void main(void)
{ {
Luas();{ int panjang, lebar, Tinggi;
} cout<<Masukan panjang : ";
void Luas() cin>>panjang;
{ cout<<"Masukan lebar : ";
int panjang, lebar, Tinggi, HitungLuas; cin>>lebar;
cout<<"Masukan panjang : "; Luas(panjang.lebar);
cin<<panjang: }
cout<<"Masukan lebar : "; void Luas(int pnj,int lbr)
cin>>lebar; {
HitungLuas = panjang*lebar; int HitungLuas;
cout<<"Luas : "<<HitungLuas: HitungLuas = pnj*lbr;
cout<<endl; cout<<"Luas : "<<HitungLuas;
} cout<<endl; }
} }
#include<iostream> #include<iostream>
#include<conio.h> using namespace std;
using namespace std; void Tukar(int *, int *);
void hitung(int,int,int * ); void main(void)
main(void) {
{ int V, W,Y,Z;
int panjang,lebar,luas; cout<<"X = ";cin<<X;
cout<<"Panjang = ": cout<<"Y = ";cin<<Y:
cin>>panjang; if(X<=Y)
cout<<"Lebar = "; Tukar(X,&Y);
cin>>lebar;cout<<endl; W=X-Y;
hitung(panjang,lebar,&luas); cout<<"Setelah Ditukar"<<endl;
cout<<"Luas = "<<luas<<endl; cout<<"X = <<X&V<<endl;
} cout<<"Y = "<<Y<<endl;
{ cout<<Z<<endl;
void hitung(int A, int B, int luas) }
{ void Tukar(int *A, int *B)
*luas=A*B;} {
} int tmp;
tmp=*A;
*A=*B;
*B=tmp;
}
KELOMPOK 5
JAWABAN
No .1
ANALISA SINTAK
} =================================== delimiter_Punctuation
Ket Lain :
Int & Cout : Keyword
Panjang, Luas, Lebar, Hitung Luas, masukan Panjang : Identifier
<< & >> : delimiter
Tanda * : operator
ANALISA LEKSIKAL
Luas(); ============================ Tidak Sesuai Aturan karena sudah di wakilkan dengan Luas
pada kolom di bawah
} =================================== Belum sesuai aturan (karena dibuka 1 ditutup juga 1) ini dapat
menyebabkan SINTAK ERROR
void Luas() =========================== Tidak Sesuai Aturan karena untuk mengakhiri kalimat harus pakai
tanda ;
{ ===================================
int panjang, lebar, Tinggi, HitungLuas; ======= Sudah Sesuai Aturan
cout<<"Masukan panjang : "; ======= Sudah Sesuai Aturan
cin<<panjang: ======= Belum Sesuai Aturan, karena untuk mengakhiri kalimat harus pakai tanda ; bukan :
cout<<"Masukan lebar : "; ======= Belum Sesuai Aturan, karena untuk mengakhiri kalimat harus pakai tanda ;
bukan :
cin>>lebar; ======= Sudah Sesuai Aturan
HitungLuas = panjang*lebar; ======= Sudah Sesuai Aturan
cout<<"Luas : "<<HitungLuas: == Belum Sesuai Aturan, karena untuk mengakhiri kalimat harus pakai tanda ;
bukan :
cout<<endl; ======= Sudah Sesuai Aturan
} =================================== Sudah Sesua Aturan
ANALISA SEMANTIK
void Luas() =========================== Belum sesuai aturan SEMANTIK : SALAH karena untuk
mengakhiri kalimat harus pakai tanda ;
int panjang, lebar, Tinggi, HitungLuas; ======= Sudah Sesuai Aturan SEMANTIK : BENAR
cout<<"Masukan panjang : "; ======= Sudah Sesuai Aturan SEMANTIK : BENAR
cin<<panjang: ======= Belum Sesuai Aturan, SEMANTIK : SALAH karena untuk mengakhiri kalimat
harus pakai tanda ; bukan :
cout<<"Masukan lebar : "; ======= Sudah Sesuai Aturan SEMANTIK : BENAR
cin>>lebar; ======= Sudah Sesuai Aturan SEMANTIK : BENAR
HitungLuas = panjang*lebar; ======= Sudah Sesuai Aturan SEMANTIK : BENAR
cout<<"Luas : "<<HitungLuas: == Belum Sesuai Aturan, SEMANTIK : SALAH karena untuk mengakhiri
kalimat harus pakai tanda ; bukan :
cout<<endl; ======= Sudah Sesuai Aturan SEMANTIK : BENAR
{ =================================== delimiter_Punctuation
} =================================== delimiter_Punctuation
{=================================== delimiter_Punctuation
int HitungLuas;
HitungLuas = pnj*lbr;
cout<<"Luas : "<<HitungLuas;
cout<<endl; }=================================== delimiter_Punctuation
Ket Lain :
Int & Cout : Keyword
Panjang, Luas, Lebar, Hitung Luas, masukan Panjang : Identifier
<< >> : delimiter
Tanda * : operator
}=================================== delimiter_Punctuation
ANALISA LEKSIKAL
ANALISA SEMANTIK
HASIL :
ANALISA SINTAK
Ket Lain :
Int & Cout : Keyword
Panjang, Luas, Lebar, Hitung Luas, masukan Panjang : Identifier
<< & >> : delimiter
Tanda * : operator
ANALISA LEKSIKAL
HASIL :
void main(vo
cout<<"X = ";
cin<<X;
cout<<"Y = ";
cin<<Y:
if(X<=Y)
Tukar(X,&Y);
W=X-Y;
cout<<"Setelah Ditukar"<<endl;
cout<<"X = <<X&V<<endl;
cout<<"Y = "<<Y<<endl;
cout<<Z<<endl;
int tmp
tmp=*A;
*A=*B;
*B=tmp;
HASIL.
SOURCE CODE YANG SUDAH DI PERBAIKI