Nama Fhadli
Fakultas / Program
Fasilkom / Sistem Informasi Paraf Pengawas
Studi
Mata Kuliah Algoritma Struktur Data
Nilai Ujian (00-
Dosen Nur Ismawati, ST, M.Cs
100)
Waktu Hari Tanggal Jam Ruang
Pelaksanaan Ujian Senin 27 13:15 D-206
1. 1.Start
2. Input a,b,c
3.if a>b and a>c then
4.if b>c then
5.Cetak "Terbesar a"
6. Cetak "Terkecil c"
7.else
8.Cetak "Terbesar a"
9.Cetak "Terkecil b."
10.end if
11.else
12.if a>b and a<c then
13.Cetak "Terbesar c"
14.Cetak "Terkecil b"
15.else
16.if a<b and a>c then
17.Cetak "Terbesar b"
18.Cetak "Terkecil c"
19.else
20.if b>c then
21.Cetak "Terbesar b"
22.Cetak "Terkecil a"
23.else
24.Cetak "Terbesar c"
25.Cetak "Terkecil a"
26. end if
27.end if
28.end if
29.end if
30. rata-rata=(a+b+c)/3
31.Cetak "rata-rata"
32.Stop
2.
A. #include <iostream>
using namespace std;
main()
{
int a=3,b=4,c=5,d;
d=(a^2)+(b^2)+(c^3);
cout<<"A^2 + B^2 + C^3 = "<<d;
}
B. #include <iostream>
using namespace std;
main()
{
int A= 4, C = 6, X;
X = (A / 2) + C^2;
cout<<X;
}
Tercetak : 10
C. #include <iostream>
#include <cmath>
using namespace std;
int main()
{double x,y,result;
cout<<sqrt(x/y+x*x);
}
3.
#include <iostream>
using namespace std;
int main() {
int umur;
string keterangan;
cout << "masukan umur: "; // input umur selanjutnya enter
cin >> umur; // mendapat value umur
if (umur < 45) {
keterangan = "masih muda";
} else {
keterangan = "sudah tua";
}
cout << "anda memasukan umur: " << umur << ", artinya sudah " + keterangan;
return 0;
}
Hasil Program :
4.A.
#include <stdio.h>
int main(void) {
int N;
scanf("%d", &N);
if(N > 50) {
N = N + 10;
} else {
N = N - 25;
}
printf("%d", N);
return 0;
B. #include <stdio.h>
int main(void) {
int N;
scanf("%d", &N);
if(N > 50) {
N = N + 10;
} else {
printf("%d", N);
return 0;
}
5. A.
#include <iostream>
#include <conio.h>
#include <iomanip> //setw()
using namespace std;
struct node
{
int data;
node* next;
};
node* head;
node* tail;
node* curr;
node* curr2;
node* curr3;
node* curr4;
node* entry;
node* del;
node* simpan_pos1;
node* simpan_pos2;
node* simpan_pos3;
void inisialisasi()
{
head = NULL;
tail = NULL;
}
void input(int dt)
{
entry = (node* )malloc(sizeof(node));
entry->data = dt;
entry->next = NULL;
if(head==NULL)
{
head = entry;
tail = head;
}
else
{
tail->next = entry;
tail = entry;
}
}
void hapus()
{
int simpan;
if(head==NULL)
{
cout<<"\nlinked list kosong, penghapusan tidak bisa dilakukan"<<endl;
}
else
{
simpan = head ->data;
cout<<"\ndata yang dihapus adalah "<<simpan<<endl;
del = head;
head = head->next;
delete del;
}
}
void cetak()
{
curr = head;
if(head == NULL)
cout<<"\ntidak ada data dalam linked list"<<endl;
else
{
cout<<"\nData yang ada dalam linked list adalah"<<endl;
cout<<setw(6);
while(curr!=NULL)
{
cout<<curr->data<<"->";
curr = curr->next;
}
cout<<"NULL";
cout<<endl;
}
}
int hitung_node()
{
int jumlah = 0;
curr = head;
while(curr!=NULL)
{
jumlah++;
curr=curr->next;
}
return(jumlah);
}
void hapus_tengah()
{
float posisi_tengah;
posisi_tengah = floor(hitung_node()/2);
int simpan, simpan2;
if(head==NULL)
{
cout<<"\nlinked list kosong, penghapusan tidak bisa dilakukan"<<endl;
}
else
{
if(hitung_node()<=2){
hapus();
}
else if(hitung_node()==3){
curr2 = head;
simpan_pos1 = curr2->next;
curr2->next = curr2->next->next;
simpan2 = simpan_pos1->data;
cout<<"\ndata yang dihapus adalah "<<simpan2<<endl;
simpan_pos1->next = NULL;
delete simpan_pos1;
}
else if(hitung_node()>3)
{
curr3 = head;
for(float i = 0; i<posisi_tengah-1; i++){
curr3 = curr3->next;
simpan_pos2 = curr3;
}
curr4 = head;
for(float i = 0; i<posisi_tengah; i++){
curr4 = curr4->next;
simpan_pos3 = curr4;
}
simpan = simpan_pos3->data;
cout<<"\ndata yang dihapus adalah "<<simpan<<endl;
simpan_pos2->next = simpan_pos3->next;
simpan_pos3->next = NULL;
del = simpan_pos3;
delete del;
}
}
}
void menu()
{
char pilih, ulang;
int data;
do
{
system("cls");
cout<<"SINGLE LINKED LIST NON CIRCULAR"<<endl;
cout<<"-------------------------------"<<endl;
cout<<"Menu : "<<endl;
cout<<"1. Input data"<<endl;
cout<<"2. Hapus data"<<endl;
cout<<"3. Cetak data"<<endl;
cout<<"4. Hapus tengah"<<endl;
cout<<"5. Exit"<<endl;
cout<<"Masukkan pilihan Anda : ";
cin>>pilih;
switch(pilih)
{
case '1' :
cout<<"\nMasukkan data : ";
cin>>data;
input(data);
break;
case '2' :
hapus();
break;
case '3' :
cetak();
break;
case '4' :
hapus_tengah();
break;
case '5' :
exit(0);
break;
default :
cout<<"\nPilih ulang"<<endl;
}
cout<<"\nKembali ke menu?(y/n)";
cin>>ulang;
}while(ulang=='y' || ulang=='Y');
}
int main()
{
inisialisasi();
menu();
return EXIT_SUCCESS;
}
Hasil Program
B. contoh Program Stack
#include<stdio.h>
char data;
node *kiri;
node *kanan;
};
node *akar=NULL;
if((*akar)==NULL){
node *baru;
baru->data = isi;
baru->kiri = NULL;
baru->kanan = NULL;
(*akar)=baru;
preOrder(node *akar) {
if(akar !=NULL) {
preOrder(akar->kiri);
preOrder(akar->kanan);
}
inOrder(node *akar) {
if(akar !=NULL) {
inOrder(akar->kiri);
inOrder(akar->kanan);
postOrder(node *akar) {
if(akar !=NULL) {
postOrder(akar->kiri);
postOrder(akar->kanan);
main(){
char abjad;
addNode(&akar,abjad='R');
addNode(&akar->kiri,abjad='A');
addNode(&akar->kanan,abjad='E');
addNode(&akar->kiri->kiri,abjad='S');
addNode(&akar->kiri->kiri->kiri,abjad='I');
addNode(&akar->kiri->kiri->kanan,abjad='T');
printf("Tampilan PreOrder : ");
preOrder(akar);
inOrder(akar);
postOrder(akar);