Daftar Blog Saya

Senin, 28 September 2020

TUGAS MATA KULIAH STRUKTUR DATA Pertemuan Ke-14 " Pohon Biner (Binary Tree) "

Bismillah, 

Assalamualaikum Wr.Wb.


Hello My Name Is Alif Yoga Prasetya 😉

Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah " Struktur Data "





SOALNYE




JAWABANYE


1. Pohon dengan jumlah simpul=273 merupakan Full atau atau Complete tree? Complete Tree

2. Berapa kedalamannya? 2(k+1)-1

3. Nomor berapa simpul terkiri dari level tersebut? 256

4. Berapa jumlah maksimum simpul pada level 7 ? 127

5. Nomor berapa anak kanan dari simpul ke 180? Ada dilevel berapa anak tersebut ? Level 8

6. Nomor berapa orang tua dari simpul ke 83? Ada di level berapa orang tua tertsebut? Level 7



Wa'alaikumussalam Warahmatullahi Wabarakatuh ðŸ˜Ž

TUGAS MATA KULIAH STRUKTUR DATA Pertemuan Ke-11 " Program Animasi Queue Menggunakan Linked List Tanpa Head"

 Bismillah, 

Assalamualaikum Wr.Wb.


Hello My Name Is Alif Yoga Prasetya 😉

Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah " Struktur Data "




SOAL :


TUGAS III

Buat program animasi Queue menggunakan Linked List tanpa Head untuk mengelola data mahasiswa dengan struktur mahasiswa sbb : NAMA, NIM, GENDER, NILAI STRUKTUR DATA. Program dibuat dalam bentuk menu dengan pilihan : INSERT DATA, HAPUS DATA, CETAK DATA, EXIT.



JAWABAN :


SOURCE CODE PROGRAM :


#include <cstdlib>

#include <iostream>

#include<conio.h>

using namespace std;

struct SIMPUL{

char NAMA[10];

char NIM[10];

char GENDER;

int NILAI;

struct SIMPUL *LINK;

};

SIMPUL *P,*Q,*FIRST,*LAST;

void BUAT_SIMPUL(void);

void INIT(void);

void INSERT(void);

void DELETE(void);

void AWAL(void);

void INSERT_KANAN();

void DELETE_KANAN();

void CETAKLAYAR(void);

void FREE_MEMORY(void);

int PIL;

char PILIHAN[1],HURUF;

int main(int argc, char *argv[])

{

INIT();

do{

system("cls");

cout<<"QUEUE SINGLY LINKED LIST"<<endl;

cout<<"======================="<<endl;

cout<<"1. INSERT DATA"<<endl;

cout<<"2. HAPUS DATA"<<endl;

cout<<"3. CETAK DATA"<<endl;

cout<<"4. EXIT"<<endl<<endl;

cout<<"PILIHAN (1 - 4): "; cin>>PILIHAN;

PIL=atoi(PILIHAN);

switch (PIL)

{

case 1:

INSERT();

break;

case 2:

DELETE();

break;

case 3:

CETAKLAYAR();

break;

default:

cout<<"TERIMA KASIH"<<endl;

FREE_MEMORY();

break;

}

}while (PIL<4);

system("PAUSE");

return EXIT_SUCCESS;

}

void BUAT_SIMPUL(void)//Buat simpul baru

{

P=(SIMPUL *)malloc(sizeof(SIMPUL));

if(P!=NULL)

{

cout<<"Nama : ";cin>>P->NAMA;

cout<<"NIM : ";cin>>P->NIM;

cout<<"GENDER : ";cin>>P->GENDER;

cout<<"NILAI : ";cin>>P->NILAI;

}

else

{

cout<<"Pembuatan Simpul Gagal"<<endl;

getch();

exit(1);

}

}

void INIT(void)//Inisialisasi

{

FIRST=NULL;

LAST=NULL;

}

void AWAL(void)//Pembuatan simpul pertama

{

FIRST=P;

LAST=P;

P->LINK=NULL;

}

void INSERT_KANAN(void)

{

LAST->LINK=P;

LAST=P;

P->LINK=NULL;

}

void DELETE_KANAN(void)

{

if(FIRST==LAST)//Baru ada satu simpul

{

free(LAST);//Atau free(FIRST)

INIT();

}

else

{

Q = FIRST;

while(Q ->LINK != LAST)

Q = Q -> LINK;

free(LAST);

LAST = Q;

LAST -> LINK = NULL;

}

}

void INSERT(void)//Insert satu simpul diujung kanan

{

BUAT_SIMPUL();

if(FIRST==NULL)

AWAL();

else

INSERT_KANAN();

}

void DELETE(void)//Delete satu simpul terakhir

{

if(LAST==NULL)

{

cout<<"Data belum ada"<<endl;

getch();

}

else

{

DELETE_KANAN();

cout<<"Data terakhir dihapus"<<endl;

getch();

}

}

void CETAKLAYAR()//Cetak seluruh data linked list

{

int i=1;

if(FIRST!=NULL)

{

Q=FIRST;

while(Q!=NULL)

{

cout<<"Data ke : "<<i++<<endl;

cout<<"Nama : "<<Q->NAMA<<endl;

cout<<"NIM : "<<Q->NIM<<endl;

cout<<"GENDER : "<<Q->GENDER<<endl;

cout<<"NILAI : "<<Q->NILAI<<endl;

Q=Q->LINK;

cout<<endl;

}

}

else

cout<<"Data Kosong"<<endl;

getch();

}

void FREE_MEMORY(void)

{

while(FIRST!=NULL)

{

Q=FIRST->LINK;

free(FIRST);

FIRST=Q;

}

}


TAMPILAN OUTPUT



INSERT DATA




CETAK DATA




HAPUS DATA




EXIT


Wa'alaikumussalam Warahmatullahi Wabarakatuh 😎


TUGAS MATA KULIAH STRUKTUR DATA Pertemuan ke-10 " Animasi Stack Menggunakan Linked List "

Bismillah, 

Assalamualaikum Wr.Wb.


Hello My Name Is Alif Yoga Prasetya 😉

Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah " Struktur Data "



SOAL :


TUGAS I:

Buat program animasi Stack menggunakan Linked List untuk mengelola data 

mahasiswa dengan struktur mahasiswa sbb : NAMA, NIM, GENDER, NILAI 

STRUKTUR DATA. Program dibuat dalam bentuk menu dengan pilihan : INSERT 

DATA, HAPUS DATA, CETAK DATA, EXIT

TUGAS II :

Buat program animasi Stack menggunakan Linked List tanpa Head untuk 

mengelola data mahasiswa dengan struktur mahasiswa sbb : NAMA, NIM, 

GENDER, NILAI STRUKTUR DATA. Program dibuat dalam bentuk menu dengan 

pilihan : INSERT DATA, HAPUS DATA, CETAK DATA, EXIT


JAWABAN :


CONTOH SOURCE CODE PROGRAM TUGAS 1


#include <iostream>

#include <conio.h>

#include <iomanip> //setw()

using namespace std;

struct Data_node

{

       char nama[25];

       char kelas[7];

       char nim[10];

};

struct node

{

      Data_node data;

      node* next;

};

node* _head;

node* _tail;

node* _curr;

node* _entry;

node* _del;

void inisialisasi()

{

      _head = NULL;

      _tail = NULL;

}

void input(Data_node dt)

{

      _entry = (node* )malloc(sizeof(node)); //alokasi memori

      _entry->data = dt; //penugasan struktur

      _entry->next = NULL;

      if(_head==NULL)

      {

            _head = _entry;

            _tail = _head;

      }

      else

      {

            _tail->next = _entry;

            _tail = _entry;

      }

}

void hapus()

{

      node _simpan;

      if(_head==NULL)

      {

            cout<<"\nLinked list kosong, penghapusan tidak bisa dilakukan."<<endl;

      }

      else

      {

            _simpan.data  = _head ->data;

           cout<<"\nData yang dihapus adalah ";

cout<<_simpan.data.nama<<"/"<<_simpan.data.kelas<<"/"<<_simpan.data.nim<<endl;

            //hapus depan

            _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 : \n"<<endl;

            cout<<"\t";

            while(_curr!=NULL)

            {

                cout<<_curr->data.nama<<"/"<<_curr->data.kelas<<"/"<<_curr->data.nim;

                cout<<" -> ";

                _curr = _curr->next;

            }

            cout<<"NULL";

            cout<<endl;

      }

}

void menu()

{

      char pilih, ulang;

      node tmp; 

      do

      {

      fflush(stdin);

      system("cls");

      cout<<"LIN SINGLY LINKED LIST"<<endl;

      cout<<"-------------------------------"<<endl;

      cout<<"Menu : "<<endl;

      cout<<"1. Insert data"<<endl;

      cout<<"2. Hapus data"<<endl;

      cout<<"3. Cetak Data"<<endl;

      cout<<"4. Exit"<<endl;

      cout<<"Masukkan pilihan Anda : ";

      cin>>pilih;

      switch(pilih)

      {

      case '1' :

            /*

              Pada bagian ini nilai input disimpan pada struct data 

               yang ada pada struct tmp (tmp.data).

              Kemudian tmp.data digunakan sebagai parameter untuk- 

               memanggil fungsi input()

            */

            fflush(stdin);

            cout<<"\nMasukkan nama  : ";

            cin>>tmp.data.nama;

            cout<<"Masukkan Gender : ";

            cin>>tmp.data.kelas;

            cout<<"Masukkan NIM   : ";

            cin>>tmp.data.nim;

            input(tmp.data);

            break;

      case '2' :

            hapus();

            break;

      case '3' :

            cetak();

            break;

      case '4' :

            exit(0);

            break;

      default :

            cout<<"\nPilihan salah"<<endl;

      }

      cout<<"\nKembali ke menu?(y/n)";

      cin>>ulang;

   }while(ulang=='y' || ulang=='Y');

}

int main()

{

      inisialisasi();

      menu();

      return EXIT_SUCCESS;

}


CONTOH PROGRAM TUGAS 2


#include <iostream>

#include <conio.h>

#include <iomanip> //setw()

using namespace std;

struct node

{

      int data;

      node* next; // untuk menghubungkan dengan node lain, tipe data dibuat sama seperi aturan penggunaan pointer.

};

node* head;

node* tail;

node* curr;

node* entry;

node* del;

void inisialisasi()

{

      head = NULL;

      tail = NULL;

}

void input(int dt)

{

      entry = (node* )malloc(sizeof(node)); //alokasi memori

      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;

            //hapus depan

            del = head;

            head = head->next;

            delete del;

           

            cout<<"\ndata yang dihapus adalah "<<simpan<<endl;

      }

}

void cetak()

{

      curr = head;j

      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;

      }

}

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. Exit"<<e

ndl;

      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' :

            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;

}


TAMPILAN OUTPUT 1 & 2


INSERT DATA



CETAK DATA



HAPUS DATA



EXIT





Wa'alaikumussalam Warahmatullahi Wabarakatuh 😎









Kamis, 24 September 2020

TUGAS MATA KULIAH STRUKTUR DATA Pertemuan Ke-9 " Animasi Linear Singly Linked List Untuk Mengelola Data Mahasiswa "

Bismillah, 

Assalamualaikum Wr.Wb.


Hello My Name Is Alif Yoga Prasetya 😉

Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah " Struktur Data "



SOAL :

Buat program animasi Linear Singly Linked List untuk mengelola data mahasiswa dengan struktur mahasiswa sbb : NAMA, NIM, GENDER, NILAI STRUKTUR DATA. Program dibuat dalam bentuk menu dengan pilihan : INSERT DATA, HAPUS DATA, CETAK DATA, EXIT. Ket :

INSER DATA : menyisipkan satu simpul pada akhir linked list HAPUS DATA :menghapus satu simpul pada akhir linked list CETAK DATA : mencetak seluruh isi linked list EXIT : Keluar/selesai.


JAWABAN :


SOURCE CODE PROGRAM


#include <iostream>

#include <conio.h>

#include <iomanip> //setw()

using namespace std;

struct Data_node

{

char nama[25];

char kelas[7];

char nim[10];

char nilai[5];

};

struct node

{

Data_node data;

node *next;

};

node *_head;

node *_tail;

node *_curr;

node *_entry;

node *_del;

void inisialisasi()

{

_head = NULL;

_tail = NULL;

}

void input(Data_node dt)

{

_entry = (node *)malloc(sizeof(node)); //alokasi memori

_entry->data = dt; //penugasan struktur

_entry->next = NULL;

if (_head == NULL)

{

_head = _entry;

_tail = _head;

}

else

{

_tail->next = _entry;

_tail = _entry;

}

}

void hapus()

{

node _simpan;

if (_head == NULL)

{

cout << "\nLinked list kosong, penghapusan tidak bisa dilakukan." << endl;

}

else

{

_simpan.data = _head->data;

cout << "\nData yang dihapus adalah ";

cout << _simpan.data.nama << "/" << _simpan.data.kelas << "/" << _simpan.data.nim << "/" << _simpan.data.nilai << endl;

//hapus depan

_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 : \n"

<< endl;

cout << "\t";

while (_curr != NULL)

{

cout << _curr->data.nama << "/" << _curr->data.kelas << "/" << _curr->data.nim << "/" << _curr->data.nilai;

cout << " -> ";

_curr = _curr->next;

}

cout << "NULL";

cout << endl;

}

}

void menu()

{

char pilih, ulang;

node tmp;

do

{

fflush(stdin);

system("cls");

cout << "~•~•~•~•~•~•~•~•~•~•~•~•" << endl;

cout << "LINEAR SINGLY LINKED LIST" << endl;

cout << "~•~•~•~•~•~•~•~•~•~•~•~•" << endl;

cout << "Menu : " << endl;

cout << "1. Insert data" << endl;

cout << "2. Hapus data" << endl;

cout << "3. Cetak Data" << endl;

cout << "4. Exit" << endl;

cout << "Masukkan pilihan Anda : ";

cin >> pilih;

switch (pilih)

{

case '1':

fflush(stdin);

cout << "\nMasukkan nama : ";

cin >> tmp.data.nama;

cout << "Masukkan Gender : ";

cin >> tmp.data.kelas;

cout << "Masukkan NIM : ";

cin >> tmp.data.nim;

cout << "Masukkan Nilai Struktur Data : ";

cin >> tmp.data.nilai;

input(tmp.data);

break;

case '2':

hapus();

break;

case '3':

cetak();

break;

case '4':

exit(0);

break;

default:

cout << "\nPilihan salah" << endl;

}

cout << "\nKembali ke menu?(y/n)";

cin >> ulang;

} while (ulang == 'y' || ulang == 'Y');

}

int main()

{

inisialisasi();

menu();

return EXIT_SUCCESS;

}


TAMPILAN OUTPUT


  • INSERT :





  • MENAMPILKAN/CETAK :


  • MENGHAPUS DATA :


  • EXIT :



Wa'alaikumussalam Warahmatullahi Wabarakatuh 😎

TUGAS MATA KULIAH STRUKTUR DATA Pertemuan ke-8 " Animasi Deque Dengan 6 Buah Pilihan ".

 Bismillah, 

Assalamualaikum Wr.Wb.


Hello My Name Is Alif Yoga Prasetya 😉

Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah " Struktur Data "



Soal 


1. Buatlah suatu program Animasi Deque dengan 6 buah pilihan :

INSERT KIRI, INSERT KANAN, DELETE KIRI, DELETE KANAN,CETAK ANTRIAN, QUIT.


JAWAB :

Contoh Program Ini Saja Yg Saya Bisa :


SOURCE CODE PROGRAM


#include<iostream>

#include<conio.h>

#include<stdlib.h>

#define n 10

using namespace std;

void INSERT();

void DELETE();

void CETAKLAYAR();

void Inisialisasi();

void RESET();

int PIL,F,R;

char PILIHAN [1],HURUF;

char Q[n];

int main ( )

{

Inisialisasi();

do

{

cout<<" ANIMASI DEQUE 6 PILIHAN"<<endl;

cout<<"=============="<<endl;

cout<<"1. INSERT KIRI "<<endl;

cout<<"2. DELETE KIRI"<<endl;

cout<<"3. CETAK ANTREAN"<<endl;

cout<<"4. QUIT"<<endl;

cout<<"5. INSERT KANAN"<<endl;

cout<<"6. DELETE KANAN"<<endl;

cout<<"PILIHAN : "; cin>>PILIHAN;

PIL=atoi(PILIHAN);

switch (PIL)

{

case 1:

INSERT ();

break;

case 2:

DELETE();

break;

case 3:

CETAKLAYAR ();

break;

default:

cout<<"TERIMA KASIH"<<endl;

break;

}

cout<<"press any key to continue"<<endl;

getch();

system("cls");

}

while (PIL<4);

}

void INSERT()

{

if(R<n-1)

{

cout<<endl<<"MASUKAN 1 HURUF : ";

cin>>HURUF;

Q[++R]=HURUF;

}

else

cout<<"Antrian Penuh"<<endl;

}

void CETAKLAYAR()

{

if(F<R+1)

{

for (int i=F;i<=R;i++)

cout<<"Q["<<i<<"] = "<<Q[i]<<endl;

}

else

cout<<"Antrian Kosong"<<endl;

}

void DELETE()

{

if(F<=R+1)

{

HURUF=Q[F];

Q[F++]=HURUF;

cout<<"Data yang diambil : "<<HURUF<<endl;

if(F==n)

RESET();

}

else

cout<<"Antrian Kosong"<<endl;

}

void Inisialisasi()

{

F=0;

R=-1;

}

void RESET()

{

F=0;

R=-1;

}


TAMPILAN OUTPUT



Wa'alaikumussalam Warahmatullahi Wabarakatuh ðŸ˜‰

TUGAS MATA KULIAH STRUKTUR DATA Pertemuan ke-7 " Animasi Antrian Melingkar Dengan 4 Buah Pilihan "

Bismillah, 

Assalamualaikum Wr.Wb.


Hello My Name Is Alif Yoga Prasetya 😉

Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah " Struktur Data "



SOAL


1. Buatlah suatu program Animasi Antrian Melingkar dengan 4 buah pilihan : INSERT, DELETE, CETAK ANTRIAN, QUIT.

 Jika dipilih INSERT : program akan meminta user untuk menginput sebuah karakter yang akan dimasukan kedalam antrian 

Jika dipilih DELETE : maka karakter pertama masuk akan dikeluarkan dari antrian 

Jika dipilih CETAK ANTRIAN : komputer menampilkan karakter yang ada pada antrian 

Jika dipilih QUIT : program keluar


JAWAB :

Disini Saya Akan Buat 1 Program Dengan 4 Buah Pilihan Sekaligus, Berikut Programnya :



SOURCE CODE PROGRAM


#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

using namespace std;

int main() {

int queue[10], i, head=-1, tail=-1, enqueue, pil, urut=0, tmp;

do {

printf("\n");

printf("=================================== \n");

printf("Antrian Melingkar dengan 4 Pilihan \n");

printf("=================================== \n");

printf("1. INSERT\n");

printf("2. DELETE\n");

printf("3. CETAK ANTRIAN\n");

printf("4. QUIT\n");

printf("Silahkan masukkan pilihan anda : ");

scanf("%d", &pil);

printf("");

if(pil==1) {if(tail==9) {printf("Antrian Penuh");}

else if(tail==-1) {head++;tail++;

printf("Masukkan nilai : ");

scanf("%d", &enqueue);

queue[tail]=enqueue;

urut++;

printf("Nomor urut : %d", urut);}

else {tail++;

printf("Masukkan nilai : ");

scanf("%d", &enqueue);

queue[tail]=enqueue;

urut++;

printf("Nomor urut : %d", urut);

printf("Anda harus menunggu %d antrian lagi", tail);}}

else if(pil==2) {if(tail==-1) {printf("Antrian kosong");}

else {printf("Data dengan nilai %d sudah dilayani", queue[head]);

tmp=queue[head];

for(i=head;i<=tail;i++) {queue[i]=queue[i+1];}

queue[tail]=tmp;

urut++;

printf("Data dengan nilai %d masuk antrian", queue[tail], urut);

if(tail==0) {printf("Yang bersangkutan langsung dilayani");}

else {printf("Yang bersangkutan harus menunggu %d antrianlagi", tail);}}}

else if(pil==3) {if(tail==-1) {printf("Antrian kosong");}

else {for(i=head;i<=tail;i++) {printf("Antrian ke-%d : %d", i+1, queue[i]);}

printf("");}}

else if(pil==4) {printf("Anda telah selesai menggunakan program Queue Circular");}

else {printf("Pilihan yang anda masukkan tidak valid");}

} while(pil!=4);

getch();

}


TAMPILAN OUTPUT





Wa'alaikumussalam Wr.Wb 😉



UTS STRUKTUR DATA_ALIF YOGA PRASETYA

Bismillah, 

Assalamualaikum Wr.Wb.


Hello My Name Is Alif Yoga Prasetya 😉

Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah " Struktur Data "



Soal UTS



Saya Pilih No 1 Buble sort :

#include <iostream>

using namespace std;

void bubbleSort(int arr[], int n){

int i, j, tmp;

for (i = 0; i < n; i++){

for (j = 0; j < n - i - 1; j++){

if (arr[j] > arr[j + 1]){

tmp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = tmp;

}

}

}

}

int main(){

int array[100], n, i, j;

cout << "=====================" <<endl;

cout << "ALIF YOGA PRASETYA" <<endl;

cout << "2016140058" <<endl;

cout << "=====================" <<endl;

cout << "Silahkan Input Banyak Elemen: ";

cin >> n;

cout << "Masukkan nilai: \n";

for (i = 0; i < n; i++){

cin >> array[i];

}

bubbleSort(array, n);

cout << "Hasil pengurutan sebagai berikut:\n";

for (i = 0; i < n; i++){

cout << array[i] << " ";

}

cout << "\n";

}


COMPILER OUTPUT


PENJELASAN 

Penjelasan source algoritma bubble sort di bahasa C++ setiap barisnya :

baris 5 : mendeklarasikan fungsi void bubbleSort dengan menerima inputan arr dan n yang bertipe integer.

baris 6 : mendeklarasikan variable i dan j untuk perulangan dan tmp untuk variable penukaran sementara.

baris 7-8 : melakukakan perulangan sebanyak n dan perulangan sebanyak nilai variable n dikurang i dan dikurang satu.

baris 9-13 : cek kondisi jika nilai variable arr pada index ke j lebih besar dari nilai varible arr pada index ke j+1 maka melakukan penukaran nilai variable

baris 19 : mendeklarasi variable array, n, i dan j bertipe integer.

baris 24-25 : melakukan input nilai dari user untuk variable n yang digunakan sebagai jumlah data.

baris 26-29 : melakukan input nilai dari user untuk variable array dari setiap data.

baris 30 : memanggil fungsi bubbleSort dengan memasukkan variable array dan n.

baris 31-36 : menampilkan hasil pengurutan bubbleSort



SOAL NOMOR 2



Saya pilih nomor 2 :

Diketahui suatu Array 3 dimensi yang di deklarasikan dengan A [2][5][6] Pada Bahasa c++.Setiap elemen Terdiri dari 4 Byte.Alamat Elemen Pertama BC9A H

Di Tanya : A. Jumlah Elemen & B. Jumlah Byte Keseluruhan Elemen... ?

Jawab :

A. Jumlah Elemen : (2)* (5)* (6) = 60

B. Jumlah Byte Tiap Elemen : 4 * 60 = 240 byte.


Soal Nomor 3


Pilih Bagian No 3 buble Sort :

#include <iostream>

using namespace std;

void bubbleSort(int arr[], int n){

int i, j, tmp;

for (i = 0; i < n; i++){

for (j = 0; j < n - i - 1; j++){

if (arr[j] > arr[j + 1]){

tmp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = tmp;

}

}

}

}

int main(){

int array[100], n, i, j;

cout << "=====================" <<endl;

cout << "ALIF YOGA PRASETYA" <<endl;

cout << "2016140058" <<endl;

cout << "=====================" <<endl;

cout << "Silahkan Input Banyak Elemen: ";

cin >> n;

cout << "Masukkan Nilai: \n";

for (i = 0; i < n; i++){

cin >> array[i];

}

bubbleSort(array, n);

cout << "Hasil Pengurutan Sebagai Berikut:\n";

for (i = 0; i < n; i++){

cout << array[i] << " ";

}

cout << "\n";

}

COMPILES SOURCE 


Penjelasan :

Penjelasan source algoritma bubble sort di bahasa C++ setiap barisnya :

baris 5 : mendeklarasikan fungsi void bubbleSort dengan menerima inputan arr dan n yang bertipe integer.

baris 6 : mendeklarasikan variable i dan j untuk perulangan dan tmp untuk variable penukaran sementara.

baris 7-8 : melakukakan perulangan sebanyak n dan perulangan sebanyak nilai variable n dikurang i dan dikurang satu.

baris 9-13 : cek kondisi jika nilai variable arr pada index ke j lebih besar dari nilai varible arr pada index ke j+1 maka melakukan penukaran nilai variable

baris 19 : mendeklarasi variable array, n, i dan j bertipe integer.

baris 24-25 : melakukan input nilai dari user untuk variable n yang digunakan sebagai jumlah data.

baris 26-29 : melakukan input nilai dari user untuk variable array dari setiap data.

baris 30 : memanggil fungsi bubbleSort dengan memasukkan variable array dan n.

baris 31-36 : menampilkan hasil pengurutan bubbleSort.


Lampiran Bukti Pembayaran 


Note : 

Lampiran Bukti Pembayaran Biasanya Itu Dilampirkan Ketika UAS Saja, Berhubung Batas Pembayaran Sampai Tanggal 5 Oktober 2020, Jadi Saya Lampirkan Bukti Pembayaran Yang Ada Sekarang Saja Ya Bu, Mohon Dimaklumi Ibu, Terima Kasih.

Berikut Gambarnya :




Rabu, 23 September 2020

TUGAS MATA KULIAH STRUKTUR DATA Pertemuan Ke- 6 " Program Animasi Antrian Dengan 4 Buah Pilihan "

Bismillah, 

Assalamualaikum Wr.Wb.


Hello My Name Is Alif Yoga Prasetya 😉

Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah " Struktur Data "



Soal :

1. Buatlah suatu program Animasi Antrian dengan 4 buah pilihan : INSERT, DELETE, CETAK ANTRIAN, QUIT. Jika dipilih INSERT : program akan meminta user untuk menginput sebuah karakter yang akan dimasukan kedalam antrian. Jika dipilih DELETE : maka karakter pertama masuk akan dikeluarkan dari antrian. Jika dipilih CETAK ANTRIAN : komputer menampilkan karakter yang ada pada antrian. Jika dipilih QUIT : program keluar.



SOURCE KODE PROGRAM



#include <iostream>

#include <cstdlib>

#include <conio.h>

#define n 3

void INSERT(void);

void DELETE(void);

void CETAKLAYAR(void);

void inisialisasi(void);

int PIL, F, R, COUNTER;

char PILIHAN[1], HURUF;

char Q[n];

using namespace std;

int main()

{

inisialisasi();

do

{

cout << " CIRCULAR QUEUE " << endl;

cout << "___________________" << endl;

cout << " PROGRAM ANIMASI QUEUE" << endl;

cout << "=============" << endl;

cout << " 1.INSERT  " << endl;

cout << " 2.DELETE  " << endl;

cout << " 3.CETAK ANTRIAN " << endl;

cout << " 4.KELUAR " << endl;

cout << " * CATATAN : BATAS INPUT = 3 HURUF " << endl;

cout << "____________________" << endl;

cout << endl;

cout << " SILAHKAN MASUKKAN PILIHAN : ";

cin >> PILIHAN;

PIL = atoi(PILIHAN);

switch (PIL)

{

case 1:

INSERT();

break;

case 2:

DELETE();

break;

case 3:

CETAKLAYAR();

break;

default:

cout << "TERIMA KASIH" << endl;

break;

}

} while (PIL < 4);

return 0;

}

void INSERT(void)

{

if (COUNTER < n)

{

cout << endl

<< "Masukkan 1 huruf : ";

cin >> HURUF;

R = (R + 1) % n;

Q[R] = HURUF;

COUNTER++;

}

else

cout << "Antrian Penuh!" << endl;

}

void CETAKLAYAR(void)

{

if (COUNTER > 0)

{

for (int k = 0; k < COUNTER; k++)

{

int i = (F + k) % n;

cout << "Q[" << k << "]=" << Q[i] << endl;

}

}

else

cout << "Queue kosong!" << endl;

}

void DELETE(void)

{

if (COUNTER > 0)

{

HURUF = Q[F];

F = (F + 1) % n;

COUNTER--;


cout << "Data yang di ambil :" << HURUF << endl;

}

else

cout << "Antrian Kosong!" << endl;

}

void inisialisasi(void)

{

F = 0;

R = -1;

COUNTER = 0;

}


TAMPILAN OUTPUT





Wa'alaikumussalam Warahmatullahi Wabarakatuh 😉




TUGAS STRUKTUR DATA PERTEMUAN KE-4 " STACK (TUMPUKKAN) "

Bismillah,  Assalamualaikum Wr.Wb. Hello My Name Is Alif Yoga Prasetya 😉 Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah &...