laporan praktikum asd 5 queue

Upload: loarki-as-sunny

Post on 07-Jul-2018

308 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    1/12

    LAPORAN PRAKTIKUM IV

    QUEUE

    Disusun untuk Memenuhi Matakuliah Praktikum Algoritma dan Struktur Data

    Dibimbing oleh Ibu Triyanna Widyaningtyas

    Oleh:MUHAMMAD BAKHRUR RIZKI

    150533604505

    S1 PTI-C /2015

    UNIVERSITAS NEGERI MALANG

    FAKULTAS TEKNIK

    JURUSAN TEKNIK ELEKTRO

    PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA

    April 2016

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    2/12

    A. TUJUAN

    1. Mahasiswa mampu menjelaskan pengertian queue dan dequeue

    2. Mahasiswa mampu menjelaskan dan menunjukkan cara pembuatan queue, operasi

    push dan pop pada array

    3. Mahasiswa mampu menjelaskan dan menunjukkan program dengan ADT

    (Abstract Data Type) queue dan dequeue dengan array

    Latihan Praktikum I

    Pemrograman C++

    Nama Program : Single Stack

    Bahasa Pemrogramam : C++

    Compiler : MinGW Developer StudioScript program :

    #include #include #include #define max 10using namespace std;

    int antrian[1000];int head=0,tail=0,cur=0;

    bool full();bool empty();int push(int data);int pop();int print();

    int main(){

    int pilihan,data;do{

    system("cls");printf("\n--------MENU--------\n");printf("1. puh data ke antrian\n");printf("2. pop data dari antrian\n");printf("3. print data di antrian\n");printf("4. exit\n\n");printf("tentukan pilihan mu : ");scanf("%d",&pilihan);switch(pilihan){case 1:

    if(!full()){printf("------PUSH DATA------\n");

    printf("masukkan data : ");scanf("%d",&data);

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    3/12

    push(data);}else{

    printf("antrian penuh !!!\n");getch();

    }break;case 2:

    if(!empty()){printf("------POP DATA------\n");printf("data yang dihapus : %d\n",pop());getch();

    }else{

    printf("antrian kosong !!!\n");getch();

    }break;

    case 3:printf("DATA ANTRIAN : \n");print();break;

    case 4:printf("Keluar....\n");break;

    default :printf("PILIHAN TIDAK ADA !!!\n");getch();

    break;}

    }while(pilihan !=4);getch();

    }bool full(){

    return (cur >= max) ? true : false;}bool empty(){

    return (cur == 0) ? true : false;}

    int push(int data){antrian[tail]=data;tail++;cur++;

    }int pop(){

    int data = antrian[head];head++;cur--;return data;getch();

    }int print(){

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    4/12

    for(int i = head; i

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    5/12

    7. Deklarasi Fungsi print

    8. Masuk menu utama

    9. Deklarasi variabel

    10. Masuk proses do while

    11. Masuk proses switch case

    12. selesai

    Penjelasan Program :

    Program di atas digunakan untuk membuat suatu program antrian, dimana di dalam

    program terdapat menu untuk memasukkan data kedalam antrian yang didalamnya nanti ada

    proses pemanggilan fungsi push, mengeluarkan data dari antrian yang didalamnya nanti ada

    proses pemanggilan fungsi pop, print data dari antrian yang didalamnya nanti ada proses

    pemanggilan fungsi print, dan menu untuk keluar dari program.

    Tugas Praktikum I

    Pemrograman C++

    Nama Program : Program Bank

    Bahasa Pemrogramam : C++

    Compiler : MinGW Developer Studio

    Script program :#include #include #include #define max 10int antrian[100];int depan=0,belakang=0,posisi=0;

    bool full(){return (posisi >= max) ? true : false;

    }

    bool empty(){return (posisi == 0) ? true : false;

    }int push(int data){

    antrian[belakang]=data;belakang++;posisi++;

    }int pop(){

    int data = antrian[depan];depan++;

    posisi--;return data;

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    6/12

    getch();}int print(){

    for(int i = depan; i

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    7/12

    print();getch();system("cls");goto tanda2;

    case 3:

    goto tanda1;default:

    cout

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    8/12

    goto tanda1;default:

    cout

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    9/12

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    10/12

    Algoritma :

    1. Mulai

    2. Deklarasi variable gelobal

    3. Deklarasi fungsi full

    4. Deklarasi fungsi empty

    5. Deklarasi fungsi push

    6. Deklarasi fungsi pop

    7. Deklarasi fungsi print

    8. Masuk menu utama main

    9. Buat tanda1

    10. Deklarasi variabel

    11. Masuk menu switch case

    12. Selesai

    Penjelasan Program :

    Program di atas digunakan untuk membuat suatu program bank yang digunakan untuk

    menu Nasabah dan Teller, dengan menggunakan fungsi Queue, di dalam program terdapat

    menu utama yang didalamnya terdapat menu nasabah dan teller, di menu nasabah terdapat

    proses penambahan no nasabah kedalam antrian, dan terdapat proses melihat no nasabah dari

    antrian, di menu teller terdapat proses hapus no nasabah di dalam antrian, dan proses melihat

    no nasabah dari antrian.

    Tugas Rumah

    Pemrograman C++

    Nama Program : Menghitung Waktu Antrian

    Bahasa Pemrogramam : C++

    Compiler : MinGW Developer Studio

    Script program :

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    11/12

    Output Program :

    Algoritma :

    1. Mulai

    2. Deklarasi variabel

    3. Proses perulangan4. Input waktu periksa per pasien

  • 8/18/2019 Laporan Praktikum ASD 5 Queue

    12/12

    5. Input no antrian anda

    6. Proses perulangan

    7. Proses perhitungan waktu tunggu

    8. Output waktu tunggu dari no antrian anda

    Penjelasan Program :

    Program di atas digunakan untuk membuat suatu program menghitung waktu antrian

    yang digunakan untuk menghitung waktu tunggu anda dari antrian, pada program ini data dari

    sebuah antrian dimasukkan kedalam array, lalu data tersebut ditampilkan menggunakan proses

    perulangan, setelah itu terdapat proses input waktu periksa per pasien dan input no urut anda

    dari antrian, lalu menampilkan no antrian sebelum anda dengan menggunakan proses

    perulangan, setelah itu program akan masuk ke proses perhitungan waktu tunggu, dan

    menampilkan waktu tunggu anda dari antrian.

    KESIMPULAN

    Queue atau antrian adalah suatu kumpulan data yang penambahan elemennya hanya bisa

    dilakukan pada suatu ujung (disebut dengan sisi belakang atau rear), dan penghapusan atau

    pengambilan elemen dilakukan lewat ujung yang lain (disebut dengan sisi depan atau front).

    Kalau tumpukan dikenal dengan menggunakan prinsip LIFO (Last In First Out), maka

    pada antrian prinsip yang digunakan adalah FIFO (First In First Out).

    Queue atau antrian bisa diimplementasikan dengan menggunakan array atau

    menggunakan pointer.

    DAFTAR RUJUKAN

    1. Tim Asisten Dosen. 2016. Modul 1 Struct, Array, Pointer. Malang: Universitas Negeri

    Malang.

    2. Tim Asisten Dosen. 2016. Modul 2 Sorting (pengurutan). Malang: Universitas Negeri

    Malang.

    3. Tim Asisten Dosen. 2016. Modul 3 Searching. Malang: Universitas Negeri Malang.

    4. Tim Asisten Dosen. 2016. Modul 4 Strack (Tumpukan). Malang: Unversitas Negeri

    Malang.

    5. Tim Asisten Dosen. 2016. Modul 5 Queue (Antrian). Malang: Unversitas Negeri Malang.