Anda di halaman 1dari 12

UJIAN AKHIR SEMESTER

ALGORITMA DAN PEMOGRAMAN

OLEH :

NAMA: SINTYA ALBERTA


NIM : 20104218
KELAS : DB

FALKUTAS TEKNIK INFORMASI


STIMIK-STIKOM INDONESIA
2020
UJIAN AKHIR SEMESTER

Mata Kuliah : Algoritma dan Pemrograman


Waktu Pengerjaan : Menyesuaikan Pada Google Classroom
Sifat : Open dan Tidak Kerjasama atau Mencontek Pekerjaan Teman

Ketentuan :
1. Buatlah jawaban pada file .doc atau .pdf
2. Soal membuat program harus mencantumkan kode program dan screenshot output
program
3. Hasil UAS diserahkan di Google Classroom

Soal :
1. Buatlah 1 buah program menghitung faktorial dengan rekursif!.
2. Buatlah 1 buah program menghitung luas lingkaran dengan fungsi dan prosedur!.
3. Buatlah 1 buah program menghitung nilai mahasiswa dengan (record) ketentuan:
- User menginput NIM, Nama, Nilai kuis, Nilai UTS, dan Nilai UAS.
- Hasil atau output yang diinginkan: NIM, Nama, Nilai kuis, Nilai UTS, Nilai UAS,
dan Nilai Akhir.
- Nilai Akhir= 10% Nilai kuis + 35% Nilai UTS + 55% Nilai UAS.
4. Perhatikan gambar berikut
tentukan nilai dari :
- baris 3 kolom 2
- kolom 1 baris 3
- baris 2 kolom 0
5. Apakah Struct sama persis dengan array? Dan apa pengertian tipe data struct? Jelaskan!
6. Perhatikan gambar hasil run program dibawah ini!

Buatlah program menentukan bilangan terbesar seperti gambar diatas, dengan jumlah bilangan
yang diinput bebas (tidak hanya 5) bilangan ke 1-N diinput secara manual!

JAWABAN :

1. Berikut Code Program untuk jawaban nomer 1 :

#include <iostream>
using namespace std;

long int faktorial (int A);


int main(){

int r,hasil;
cout<<"MENGHITUNG NILAI FAKTORIAL "<<endl;
cout<<endl;
cout<<"Masukan Nilai = ";
cin>>r;
hasil=faktorial(r);
cout<<"Faktorial "<<r<<"!= "<<hasil<<endl;
}

long int faktorial (int A){


if (A==1)
return(A);
else
return (A*faktorial(A-1));
}

1.1 Masukan nilai

1.2 Hasil
2. Berikut merupakan program untuk menghitung luas lingkaran dengan fungsi dan prosedur:

#include <stdlib.h>

float LuasLingkaran(float jari);

int main()
{
float jari;
float luas;;
puts("~~~~~~DIBUAT OLEH : SINTYA ALBERTA(20104218)~~~~~~~~~~");
puts("------------Menghitung Luas Lingkaran-----------------");
puts("------------------------------------------------------");
printf("Masukkan jari-jari = "); scanf("%f",&jari);
luas = LuasLingkaran(jari);
printf("Luas lingkaran = %.2f\n",luas);

return 0;
}

float LuasLingkaran(float jari){


float Hasil;
Hasil = (22*jari*jari)/7;
return Hasil;
}
2.1 Memasukan nilai jari-jari

2.2 Hasil Program


3. Berikut program untuk menghitung nilai mahasiswa dengan (record) :
#include<stdio.h>
#include<stdio.h>
typedef struct{
char nim[12],nama[50];
int niku,niuas,niuts;
}Mahasiswa;
int main(){
Mahasiswa recordMhs;
float na;
printf(" ---- Memasukan Data Mahasiswa ----\n");
printf(" Masukan NIM :");scanf("%s",recordMhs.nim);
printf(" Masukan Nama :");scanf("%s",recordMhs.nama);
printf(" Masukan Nilai Kuis :");scanf("%d",&recordMhs.niku);
printf(" Masukan Nilai UTS :");scanf("%d",&recordMhs.niuts);
printf(" Masukan Nilai UAS :");scanf("%d",&recordMhs.niuas);
printf(" =======================================\n");
printf(" =======================================\n");
/*Menghitung nilai mahasiswa */
printf(" ---- Memasukan Data Mahasiswa ----\n");
printf(" NIM :%s\n",recordMhs.nim);
printf(" Nama :%s\n",recordMhs.nama);
printf(" Nilai Kuis :%d\n",recordMhs.niku);
printf(" Nilai UTS :%d\n",recordMhs.niuts);
printf(" Nilai UAS :%d\n",recordMhs.niuas);
printf(" =======================================\n");
na=(recordMhs.niku*10/100)+(recordMhs.niuts*35/100)+(recordMhs.niuas*
55/100);
printf(" Nilai Akhir :%.1f",na);
}
3.1 Memasukan Data dan Nilai

3.2 Hasil Akhir dari Program


4. #include <stdio.h>
main(){
int arr [4][5] = {{1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15}, {16,17,18,19,20}};
for(int i=0;i<4;i++){
for(int j=0;j<5;j++){
printf("%d\t",arr[i][j]);
}
printf("\n");
}
}

- Berikut hasil dari program tersebut :

A. 18
B. 17
C. 11

BARIS 0

KOLOM 0

4.1 setiap kolom dan baris pertama akan mulai dari [0]. Menghitung array dari 0 agar
menyederhanakan perhitungan alamat memori setiap elemen.
5. Tidak . Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel yang
berada dalam satu nama yang sama dan memiliki kaitan satu sama lain. Berbeda dengan
array hanya berupa kumpulan variabel yang bertipe data sama, struct bisa memiliki
variabel-variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel
yang bertipe data array atau struct itu sendiri. Variabel-variabel yang menjadi anggota
struct disebut dengan elemen struct.Struct merupakan tipe data bentukan yang terdiri dari
kumpulan tipe data lain. Tipe data struct cocok dipakai untuk menampung data
berkelompok. Misalnya dalam membuat biodata siswa.

6. Berikut merupakan code program dari menentukan bilangan terbesar pada soal :

#include<stdio.h>
#include<stdlib.h>

int main() {
int limit, eq,max;

printf("Input jumlah bilangan:");


scanf("%d",&limit);

printf("input bilangan ke 1:");


scanf("%d",&max);

for(int j=1; j<limit; j++){


printf("input bilangan ke-%i:",j+1);
scanf("%d",&eq);
if(eq>max)max=eq;
}

printf("hasil angka terbesar:%d", max);


return 0;
}
6.1 memasukan jumlah bilangan

6.2 memasukan bilangan pertama


6.3 memasukan bilangan kedua

6.4 memasukan bilangan ketiga dan enter, lalu munculah hasil

Anda mungkin juga menyukai