Anda di halaman 1dari 15

KERTAS KERJA UJIAN  

Semester : Gasal / Genap / Pendek*) Tahun Akademik : . . .


         
 

Nomor Induk Mahasiswa  41821010033 Nomor Ujian : Paraf Mahasiswa


 

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;
}

Tercetak : A^2 + B^2 + C^3 = 13

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

Contoh Program Queue


C.

#include<stdio.h>

typedef struct node{

char data;

node *kiri;

node *kanan;

};

node *akar=NULL;

addNode(node **akar, char isi) {

if((*akar)==NULL){

node *baru;

baru= new node;

baru->data = isi;

baru->kiri = NULL;

baru->kanan = NULL;

(*akar)=baru;

preOrder(node *akar) {

if(akar !=NULL) {

printf("%c ", akar->data);

preOrder(akar->kiri);

preOrder(akar->kanan);

}
inOrder(node *akar) {

if(akar !=NULL) {

inOrder(akar->kiri);

printf("%c ", akar->data);

inOrder(akar->kanan);

postOrder(node *akar) {

if(akar !=NULL) {

postOrder(akar->kiri);

postOrder(akar->kanan);

printf("%c ", akar->data);

main(){

char abjad;

printf("\n\n\tPosisi Awal Tree:\n\n");

printf("\t R\n\t / \\\n\t A E\n\t /\n\t S\n\t / \\\n\t I T\n\n");

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);

printf("\nTampilan InOrder : ");

inOrder(akar);

printf("\nTampilan PostOrder : ");

postOrder(akar);

Anda mungkin juga menyukai