Anda di halaman 1dari 6

UJIAN LAB TI MATA PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN 2

Nama : ARDAVA WAFA FEDLY


Kelas : 3IA11
NPM : 50419972
Peraturan Essay Ujian :

1. Ujian dibagi menjadi dua bagian, yaitu soal teori yang akan digabung menjadi satu
dan soal berbentuk program.
2. Soal teori tidak bisa dipilih dan harus dikerjakan semua.
3. Soal pilihan harap dipilih salah satunya saja.
4. Jawaban soal pilihan harus diberikan screenshot codingan dan outputnya.
5. Batas upload ujian jam 09:30.
6. Jika ada pertanyaan mengenai soal bisa ditanyakan disaat gmeet dan tidak
menanyakan hal-hal yang berhubungan dengan jawaban soal.

Soal teori :

1. Jelaskan sejarah singkat bahasa pemrograman C

C++ adalah bahasa pemrograman hasil pengembangan bahasa C. Sintak penulisan C


dan C++ hampir mirip, tetapi berbeda dalam langkah penyelesaian masalah.
Pada bahasa C, langkah penyelesaian masalah dilakukan dengan cara membagi-
baginya ke dalam sub masalah yang lebih kecil.
Cara ini dikenal sebagai bahasa pemrograman prosedural.
Sementara, C++ justru berorientasi pada objek. Permasalahan dibagi-bagi lagi ke
dalam beberapa class. Itulah mengapa C++ hasil pengembangan Bjarne Stroustrup ini
populer di kalangan perusahaan software besar

2. Sebutkan macam-macam algoritma yang diajarkan pada pertemuan sebelumnya!


1. algoritma greedy
2. Brute force
3. Divide and conquer
4. Traversal
5.

3. Berikan kesan terhadap PJ dan LabTI


Ramah Dan Fast Respon

Soal Program :

1. Membuat satu program dengan teori algoritma yang diajarkan dan sebutkan teori
algoritmanya.
(Jika program yang dibuat berbeda dengan activity sebelumnya menjadi nilai plus).
#include<stdio.h>
#include<conio.h>
#include<iostream>

void prima(),sort();
main(){
start:
int x;
printf ("\n Nama \t: ardava wafa fedly");
printf ("\n Kelas \t: 3IA1");
printf ("\n NPM \t: 50419972 \n");
printf ("\n \t \t Algoritma Brute Force \n");
printf ("\n
===================================================");
printf ("\n \t 1. Bilangan Prima");
printf ("\n \t 2. Sorting Bilangan");
printf ("\n \t 3. Exit");
printf ("\n ================================================
\n");
printf ("\n Masukkan Pilihan (1-3) : ");
scanf ("%d",&x);

switch(x){
case 1 : prima();
goto start;
case 2 : sort();
goto start;
case 3 : return 0;
printf("\n \n \n \n \n \n \t \t \t Anda Salah memasukkan Input");
printf("\n \t \t Program Akan Direstart Setelah Anda Menekan Tombol
Enter");
getch();
goto start;
}
}
void prima(){
int bil,j;
printf ("\t \t \t Bilangan Prima \n \n \n");
printf ("Masukkan bilangan yang ingin diinput: ");
scanf("%d",&bil);
printf ("\nBilangan prima dari %d adalah \n", bil);
for(j=2;j<=bil;j++){
if ((j%2>0)&&(j%3>0)&&(j%5>0)&&(j%7>0) ||
(j==2)||(j==3)||(j==5)||(j==7))
printf ("%i ",j);
}
getch();
}
void sort(){
int i,j,temp,n,bil[100];
printf ("\t \t \t Sorting Bilangan \n \n \n" );
printf ("Masukkan jumlah bilangan: ");
scanf ("%d",&n);
for(i=0;i<n;i++) {
printf ("Bilangan ke-%d \t: ",i+1);
scanf ("%d",&bil[i]);
}
for(i=0;i<n-1;i++){
for(j=n-1;j>i;j--){
if (bil[i] > bil[j]){
temp = bil[i];
bil[i] = bil[j];
bil[j] = temp;
}
}
}
printf ("\nHasil sorting adalah: \n");
for(i=0;i<n;i++){
printf ("%d",bil[i]);
if (i!= n-1){
printf (", ");
}
}
getch();
}
2. Menjelaskan logika program beserta codingannya.

#include <stdio.h> merupakan Library untuk input/output pada program,tanpa menyertakan


code ini kita tidak bisa melakukan pengoperasian input dan output.

#include<conio.h> merupakan fungsi library console i/o untuk memanggil fungsi input
output untuk menggunakan perintah getch.

#include<iostream>merupakan file header yang menjadi standard library dari c++ yang
memiliki fungsi cin dan cout.

void prima(),sort(); merupakan prosedur dengan menggunakan void yang terdiri dari
prosedur prima(), dan sort(). Fungsi tersebut tidak mengembalikan suatu nilai keluaran yang
di dapat dari hasil proses fungsi tersebut.

main(){ merupakan fungsi utama dari sebuah program yang dieksekusi pertama kali dengan
nama start.

start:

int x;
printf ("\n Nama \t: Masyeni");
printf ("\n Kelas \t: 3IA10");
printf ("\n NPM \t: 55413344 \n");
printf ("\n \t \t Algoritma Brute Force \n");
printf ("\n ================================================");
printf ("\n \t 1. Bilangan Prima");
printf ("\n \t 2. Sorting Bilangan");
printf ("\n \t 3. Exit");
printf ("\n ============================================= \n");
printf ("\n Masukkan Pilihan (1-3) : ");
scanf ("%d",&x);

merupakan isi dari fungsi main yang akan menampilkan keluaran nama, kelas, npm dan
tampilan menu untuk di pilih yang nantinya pilihan tersebut akan masuk pada scanf yang
akan menjadi variable x.

switch(x){, merupakan sebuah perulangan pada c++ yang disini digunakan pada menu yang
dibuat sebelumnya, perintah ini mendeklarasikan menu dalam bentuk prosedur yang akan
dipanggil sesuai pilihan.

case 1 : prima();
goto start;
case 2 : sort();
goto start;
case 3 : return 0;
printf("\n \n \n \n \n \n \t \t \t Anda Salah memasukkan Input");
printf("\n \t \t Program Akan Direstart Setelah Anda Menekan Tombol Enter");
getch();
goto start;
}

Case 1 digunakan untuk memanggil prosedur prima()


Case 2 digunakan untuk memanggil prosedur sort()

void prima(){

int bil,j;
printf ("\t \t \t Bilangan Prima \n \n \n");
printf ("Masukkan bilangan yang ingin diinput: ");
scanf("%d",&bil);
printf ("\nBilangan prima dari %d adalah \n", bil);

merupakan isi dari prosedur prima() yang isinya untuk mencetak keluaran dengan teks berupa
bilangan prima dan masukkan bilangan prima, ketika masukan bilangan prima, fungsi ini
akan mencari hasilnya dengan menggunakan perulangan

for.
for(j=2;j<=bil;j++){
if((j%2>0)&&(j%3>0)&&(j%5>0)&&(j%7>0)||(j==2)||(j==3)||(j==5)||(j==7))
printf ("%i ",j);
}
getch();
}

Merupakan sebuah perulangan for untuk menentukan bilangan prima yang di inputkan
dengan perulangan ini diberi nilai awal j=2 karena bilangan prima dimulai dari 2, j bernilai
kurang dari sama dengan bil dan j bertambah atau increment 1.

If disini berfungsi melakukan perhitungan modular untuk mengetahui sisa pembagi dari
bilangan itu sendiri agar kita dapat mengetahui dimana yang termasuk ke bilangan primanya.
void sort(){
int i,j,temp,n,bil[100];
printf ("\t \t \t Sorting Bilangan \n \n \n" );
printf ("Masukkan jumlah bilangan: ");
scanf ("%d",&n);
for(i=0;i<n;i++) {
printf ("Bilangan ke-%d \t: ",i+1);
scanf ("%d",&bil[i]);
}

Merupakan isi dari procedure sort() yang didalamnya terdapat variable local I, j, temp n bil
yang bertipe data integer dan index array bil[100]. Terdapat perulangan for untuk
menunjukkan berapa saja data yang akan dimasukkan.

for(i=0;i<n-1;i++){
for(j=n-1;j>i;j--){
if (bil[i] > bil[j]){
temp = bil[i];
bil[i] = bil[j];
bil[j] = temp;
}
}
}
printf ("\nHasil sorting adalah: \n");
for(i=0;i<n;i++){
printf ("%d",bil[i]);
if (i!= n-1){
printf (", ");
}
}
getch();
}
Merupakan perulangan for lanjutan dari procedure sort() yang berfungsi melakukan proses
sorting dimana proses sorting dilakukan dengan mengurutkan nilai dari yang terkecil hingga
terbesar.

For untuk nilai var awal i=0 akan berhenti hingga nilai var I kurang dari nilai n-1 increment
dan for untuk nilai j sama dengan n-1 akan berhenti hingga nilai j lebih dari I decrement .

Fungsi if berguna untuk melihat nilai bil[i] dan bil[j] yang akan menghasilkan tampilan
perintah printf().

Getch, Merupakan syntax untuk membaca hasil langsung dari console.

Anda mungkin juga menyukai