Kamis, 21 Maret 2019

ALGORITMA DAN PEMOGRAMAN II "QUEUE"


“TI Politala ALPRO 2C”
[ Tugas Kuliah ] Algoritma dan Pemograman II


“QUEUE”

A. Pengertian Queue

 Dalam bahasa pemograman C++, Queue bisa diartikan sebagai antrian, Queue dalam pemrograman menggunakan prinsip FIFO (First In First Out). Mirip seperti halnya kita mengantri di suatu tempat. Orang yang pertama kali mengantri akan dilayani pertama kali. Dalam Pemrograman, antrian atau Queue disini adalah data. Data yang pertama kali diinput ke dalam suatu array akan menjadi yang data pertama kali dioutputkan.
Dalam queue terdapat beberapa operasi , yaitu :
1.  Deklarasi dan Inisialisasi Queue: membuat array 1 dimensi dan membuat tanda bahwa queue dalam keadaan kosong.
2. Insert Queue : Menambahkan/Mengisi/Menginput data di queue.
3.   Delete Queue : Mengambil/Mengeluarkan data dari queue.
4. Reset : untuk menset ulang agar Front dan Rear menjadi seperti semula dengan begitu Queue akan menjadi kosong.
Operasi yang ada dalam Queue :
a.    Deklarasi dan Inisialisasi
              Variabel yang akan digunakan adalah Q (array 1 Dimensi sebagai tempat queue), front, rear.
b.   Insert Queue
Untuk menambah data ke dalam Queue yang bergerak adalah Rear nya. InsertQueue bisa dilakukan jika memenuhi kondisi Bisa Diisi (R<n-1). Jika memenuhi kondisi Rear nya akan bertambah kemudian menempati posisi disebelah kanan, kemudian data yang ingin diinput yang berada di variabel x dicopy kan ke Rear yang telah berpindah tadi.
c.    Delete Queue
Untuk menghapus atau mengeluarkan data yang berada di dalam Queue yang bergerak adalah Front nya. Data yang berada di indeks ke 0, akan dipindah ke variabel x, kemudian tanda Front nya akan pindah ke sebelah kanan, dimana indeks ke 1 sekarang akan menjadi Front.
d.   Reset
Untuk set ulang queue agar Front dan Rear menjadi seperti semula dengan begitu Queue akan menjadi kosong ini dibutuhkan saat Front dan Rear diujung atau bagian terluar array.

B.   Contoh Studi Kasus :
Membuat data mahasiswa dengan struct yang berisi NIM, Nama, dan IPK. Menggunakan Queue. Menginputkan data mahasiswa satu per satu dan mengoutput atau menghapus data mahasiswa satu per satu dari dalam Queue.
  *Listing Programnya :



  
*Hasil Running :








Sumber :

http://vickevolove.blogspot.com/2015/06/queue-dalam-bahasa-pemrograman-c.html?m=1







Senin, 18 Maret 2019

ALGORITMA DAN PEMOGRAMAN II


NAMA : SITI MUNJIYAH
KELAS 2C




“KASUS TENTANG PENJUALAN BONEKA”


A.  KASUS
Di dalam blog ini saya akan menjelaskan tentang kasus “Penjualan Boneka”. Di dalam penjualan boneka tersebut terdapat merek boneka yang dijual serta harga dari boneka tesebut. Di dalam program ini menggunakan beberapa jenis operasi pemograman diantaranya adalah :
1.   Struct
 Struct digunakan untuk mengelompokkan sejumlah data yang mempunyai tipe data yang berbeda.
2.   Struct array
 Struct array adalah suatu variabel yang terdiri dari sekumpulan data dimana data – data tersebut mempunyai tipe data yang sama.
3.   Pointer
 Pointer adalah sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer dimaksudkan untuk menunjukkan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah. Intinya adalah pointer suatu variabel yang menunjuk ke alamat memory variabel yang lainnya, serta variabel pointer berisi suatu alamat (alokasi memory).
4.   Operasi perulangan
 Operasi perulangan merupakan struktur program yang digunakan untuk melakukan percobaan yang sama secara terus – menerus dengan cara yang efektif.
5.   Operasi penyeleksian kondisi
 Operasi penyeleksian kondisi adalah digunakan untuk memecahkan masalah untuk mengambil suatu keputusan dari beberapa pilihan sesuai kondisi tersebut. Pada program ini menggunakan “if else”.
6.   Akses file
 Akses file adalah sebuah operasi yang akan menghubungkan hasil running dari program ke bagian keberadaan yang berbeda. Akses file ini dari C++ ke txt.

B.   LISTING PROGRAM
#include<iostream>
#include<fstream>

using namespace std;

int s,m,jum[5],toti=0;
ofstream leto;

struct bon
{
    string id[5][3];
    int harga[5],tot[5];
}neka;

int en()
{
    cout<<endl;
}
int menu()
{
    cout<<" List Boneka yang tersedia hari ini :"<<endl;
    cout<<" 1. Boneka Sinchan    = Rp. 34.400"<<endl;
    cout<<" 2. Boneka Doraemon   = Rp. 45.000"<<endl;
    cout<<" 3. Boneka Bantal     = Rp. 27.300"<<endl;
    cout<<" 4. Boneka Kucing     = Rp. 15.500"<<endl;
    cout<<" 5. Boneka Annabele   = Rp. 76.700"<<endl;
}
int gar()
{
    cout<<"======================================================================="<<endl;
}


int main()
{
    cout<<"\t\t\t\t\t\t\t\t\t================================="<<endl;
    cout<<"\t\t\t\t\t\t\t\t\t| SELAMAT DATANG DI TOKO BONEKA |"<<endl;
    cout<<"\t\t\t\t\t\t\t\t\t================================="<<endl;
    en();
    gar();
    cout<<" Masukkan jumlah pelanggan : ";cin>>m;
    for(s=0;s<m;s++)
    {
        en();
        gar();
        cout<<" Pelanggan ke-"<<s+1<<endl;
        cout<<" Masukan nama kamu : ";cin>>neka.id[s][0];
        awal1:
            menu();
            en();
            cout<<" Silahkan kamu masukan kode Boneka yang ingin kamu beli : ";cin>>neka.id[s][2];
            if(neka.id[s][2]=="1")
            {
                neka.id[s][1]=" Sinchan";
                neka.harga[s]=34400;
            }
            else if(neka.id[s][2]=="2")
            {
                neka.id[s][1]=" Doraemon";
                neka.harga[s]=45000;
            }
            else if(neka.id[s][2]=="3")
            {
                neka.id[s][1]=" Bantal";
                neka.harga[s]=27300;
            }
            else if(neka.id[s][2]=="4")
            {
                neka.id[s][1]= " Kucing";
                neka.harga[s]=15500;
            }
            else if(neka.id[s][2]=="5")
            {
                neka.id[s][1]= " Annabele";
                neka.harga[s]=76700;
            }
            else
            {
                cout<<" Boneka yang kamu pilih enggak ada (-_-') "<<endl;
                cout<<" Silahkan kamu isi kembali dengan benar (^_^)"<<endl;
                goto awal1;
            }
    }
        gar();
        leto.open("Munjiyah.txt");
        leto<<"\t\t\t\t\t\t\t\t\t================================="<<endl;
        leto<<"\t\t\t\t\t\t\t\t\t| SELAMAT DATANG DI TOKO BONEKA |"<<endl;
        leto<<"\t\t\t\t\t\t\t\t\t================================="<<endl;
        leto<<endl;
        leto<<endl;
        leto<<"List pembeli hari ini ada : "<<m<<" orang."<<endl;
        leto<<endl;
        leto<<endl;
        leto<<"========================================================================="<<endl;
        leto<<"|No \t| Nama \t|Boneka \t|Kode Produk \t|Harga \t\t|"<<endl;
        leto<<"========================================================================="<<endl;
        for(s=0;s<m;s++)
        {
            leto<<"|"<<s+1<<"\t|"<<neka.id[s][0]<<"\t|"<<neka.id[s][1]<<"\t|"<<&neka.id[s][1]<<"\t| Rp. "<<neka.harga[s]<<"\t|"<<endl;
            toti+=neka.harga[s];
        }
        leto<<"========================================================================="<<endl;
        leto<<"|Total Pendapatan Hari Ini\t\t\t| Rp. "<<toti<<"\t|"<<endl;
        leto<<"========================================================================="<<endl;
        leto.close();
        if(leto)
        {
            cout<<" Untuk melihat hasil pembelian silahkan di cek file txt-mu ^_^ "<<endl;
        }
        else
        {
            cout<<" Maaf ! Akses File kamu gagal, silahkan kamu ulangi lagi -_- "<<endl;
        }
    return 0;
}

C.  HASIL RUNNING

Di bawah ini adalah data yang di tampilkan pada notepad berupa struk pembelian boneka dari  pembeli.


Rabu, 13 Maret 2019

ALGORITMA DAN PEMOGRAMAN II "STACK"

"TI Politala ALPRO 2C"
[ Tugas Kuliah ] Algoritma dan Pemograman II 




STACK

A. Pengertian Stack
      Stack dapat diartikan sebagai tumpukan. Stack ini biasanya menggunakan array 1 dimensi. Konsep utama dari stack ialah LIFO (Last In First Out) artinya data yang terakhir masuk ke dalam stack adalah data yang harus keluar terlebih dahulu. Stack juga diartikan  yaitu sebuah kumpulan data dimana data yang diletakkan di atas data  yang lain. Dengan demikian stack adalah struktur data yang menggunakan konsep LIFO(Last In First Out). Dengan demikian, elemen terakhir yang disimpan dalam stack menjadi elemen pertama yang diambil. Dalam proses komputasi, untuk meletakkan sebuah elemen pada bagian atas dari stack, maka dilakukan operasi push. Dan untuk memindahkan dari tempat yang atas tersebut, maka dilakukan operasi pop.  


B. Metode Pada Implementasi Stack
1. Algoritma PUSH
           
                Kita bisa melakukan Push data / memasukkan data jika Top terletak pada indeks yang bernomor kurang dari n-1 (<n-1). Ilustrasinya seperti pada kondisi Stack Bisa Diisi. Kemudian jika Top<n-1 kita melakukan proses untuk memindah Top ke Top+1. Lalu data yang kita masukkan tadi akan mengisi Top.

2. Algoritma  POP
Kita Bisa Melakukan Pop data / mengeluarkan data jika Top terletak lebih dari indeks -1 (Top>-1). Ilustrasinya seperti pada Kondisi Stack Ada Isinya. Kemudian data yang ada pada Top akan dipindahkan ke variabel x. yang kemudian nanti kita bisa menampilkan data yang di pop.
             
         Contoh Kasus: Push data ke dalam Stack sampai penuh kemudian Pop isi Stack sampai kosong. Algoritma yang bisa dibuat berdasarkan kasus di atas ialah:
- Membuat Stack dengan variabel S berbentuk Array 1 dimensi yang akan menjadi wadah atau tempat untuk menyimpan data.
- Inisialisasi Stack.
- Push data.
- Pop semua data.




Berikut ini adalah programnya 





















        Berikut ini adalah hasil running dari program  

Sesuai Running Program di atas. Data yang di Pop dikeluarkan dimulai dari data yang paling terakhir masuk, inilah yang dinamakan Stack dengan Konsep Utamanya yaitu LIFO (Last In First Out).







Sumber :
http://vickevolove.blogspot.com/2015/06/stack-dalam-bahasa-pemrograman-c.html