hisyamathaya-jawaban uas
DESCRIPTION
Dasar Pemrograman 1 - Universitas Darussalam GontorTRANSCRIPT
JAWABAN UJIAN AKHIR SEMESTER
Nama : Hisyam Athaya
NIM : 352014610853
Matakuliah : Dasar Pemrograman
Dosen : Lalu Ganda Rady Putra, S. Kom
1. Membuat Kalkulator Matriks
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int i,j,M,N,r,p; int A[5][5],B[5][5],C[5][5];
char jawab;
jawab='Y';
for (;jawab=='y'||jawab=='Y';)
{
cout<<"Progam Menghitung Matriks"<<endl;
cout<<"masukkan ordo matriks :"<<endl;
cout<<"Banyaknya Baris:";cin>>M;
cout<<"Banyaknya kolom:";cin>>N;
cout<<endl;
{
if(M==N)
{
cout<<"masukkan elemen matriks A:"<<endl;
for(i=0;i<M;i++) for(j=0;j<N;j++)
{
cout<<"masukkan elemen ["<<i+1<<","<<j+1<<"]: ";
cin>>A[i][j];
}
cout<<"masukkan elemen matriks B:"<<endl;
for (i=0;i<M;i++) for(j=0;j<N;j++)
{
cout<<"masukkan elemen ["<<i+1<<","<<j+1<<"]: ";
cin>>B[i][j];
}
{
cout<<"--------------------------------------------"<<endl;
cout<<"<<pilih (1 = Penjumlahan ,2=kurang,3=perkalian)>> : ";cin>>p;
cout<<"--------------------------------------------"<<endl;
}
if(p==1)
{
for (i=0;i<M;i++) for(j=0;j<N;j++)
C[i][j]=A[i][j]+B[i][j];
cout<<"Matriks Hasil Penjumlahan:"<<endl;
for (i=0;i<M;i++)
{
for(j=0;j<N;j++)
cout<<C[i][j]<<" ";
cout<<endl;
}
}
if(p==2)
{
for (i=0;i<M;i++) for(j=0;j<N;j++)
C[i][j]=A[i][j]-B[i][j];
cout<<"Matriks Hasil Pengurangan:"<<endl;
for (i=0;i<M;i++)
{
for(j=0;j<N;j++)
cout<<C[i][j]<<" ";
cout<<endl;
}
}
if(p==3)
{
cout<<"MATRIK : "<<endl;
cout<<"Matriks A Matriks B"<<endl;
for (i=0;i<M;i++)
{
for (j=0;j<N;j++)
{
cout<<A[i][j]<<" ";
}
if (i==0)
{
cout<<"x";
cout<<" ";
for (j=0;j<M;j++)
{
cout<<B[i][j]<<" ";
}
}
if (i>0)
{
cout<<" ";
for (j=0;j<M;j++)
cout<<" "<<B[i][j]<<" ";
}
cout<<endl;
}
C[i+1][j+1]=0;
for (i=0;i<M;i++)
{
for (j=0;j<N;j++)
{
C[i+1][j+1]=0;
for (r=0;r<N;r++)
{
C[i+1][j+1]=C[i+1][j+1]+A[i][r]*B[r][j];
}
}
}
cout<<endl<<"MATRIKS HASIL PERKALIAN = "<<endl;
for (i=0;i<M;i++)
{
for (j=0;j<N;j++)
{
cout<<C[i+1][j+1]<<" ";
}
cout<<endl;
}
}
}
else
{
cout<<"Ordo Salah!"<<endl;
cout<<"APAKAH ANDA INGIN MENGULANG?(Y/T) ";cin>>jawab;
}
}
cout<<"menghitung lagi(Y/N)?:";
jawab=getche();
cout<<endl<<endl;
}
jawab='N';
for(;jawab=='N'||jawab=='n';)
{
cout<<"silahkan eksekusi program ditutup:";
jawab=getche();
cout<<endl<<endl;
}
}
2. Membuat Program Array
#include <iostream>
#include <iomanip>
#include <stdlib.h>
using namespace std;
main(){
int a=0, b=0;
char pil;
struct{
string nim[20][20];
string nama[20][20];
string prodi[20][20];
int semester[20];
}A;
do{
cout<<endl;
cout<<"\t\t\t PROGRAM PENDATAAN "<<endl;
cout<<"\n\n";
cout<<"\t\tNIM : ";cin>>A.nim[b][a];
cout<<"\t\tNAMA : ";cin>>A.nama[b][a];
cout<<"\t\tPRODI : ";cin>>A.prodi[b][a];
cout<<"\t\tSEMESTER : ";cin>>A.semester[b];
cout<<"\t\t------------------------------------"<<endl;
cout<<"\t\tlagi y/n :";cin>>pil;
b++;
system("cls");
cout<<"\t+-------+--------------------+---------------+----------+"<<endl;
cout<<"\t|NIM |NAMA |PRODI |SEMESTER |"<<endl;
cout<<"\t+-------+--------------------+---------------+----------+"<<endl;
for(int x=0;x<b;x++){
cout<<"\t|"<<setw(7)<<A.nim[x][a]<<"|"<<setw(20)<<A.nama[x][a]<<"|"<<setw(15)<<A.pr
odi[x][a]<<"|"<<setw(10)<<A.semester[x]<<"|"<<endl;
cout<<"\t+-------+--------------------+---------------+----------+"<<endl;
}
}while(pil=='y'|pil=='Y');
}
//}
3. Perbedaan Program
Hasil kedua program adalah :
1 1 1 1
2 4 1 1
1 4 2 1
2 4
Perbedaan antara hasil tersebut melalui fungsi :
“while (counter <= last)” dan “while (counter < last)”
Nilai parameter pada fungsi While pertama membuat output akan keluar ketika nilai pada
variabel counter kurang dari sama dengan nilai pada variabel last. Sedangkan fungsi kedua akan
menghasilkan output saat nilai dari variabel counter kurang dari nilai pada variabel last.
#include <iostream> #include <iostream>
using namespace std;
int main()
{
int counter, first, last, next;
first = 1; last =2;
/*perulangan pertama*/
counter = first;
do {
cout << "\n " << counter;
next = counter * counter;
cout << " " << next;
++counter;
} while (counter < last);
/*perulangan kedua*/
counter = first;
while (counter <= last) { while (counter <last) {
cout << "\n " << counter;
if (first % 2 == 0)
next = counter * counter;
cout << " " << next;
counter++;
}
}