Rabu, 20 Maret 2019

QUEUE

Kali ini saya akan menjelaskan tentang QUEUE
  A.    Pengertian Queue
Secara herfiah queue dapat diartikan sebagai antrian. Queue merupakan data dengan penambahan data hanya melalui satu sisi, yaitu belakang dan penghapusan data hanya mealui sisi depan. Berbeda dengan stack yang bersifat LIFO maka queue bersifat FIFO (First In First Out), yaitu data yang pertama masuk akan keluar terlebih dahulu dan data yang terakhir masuk akan keluar terakhir. Berikut ini adalah gambaran struktur data queu.
Elemen yang pertama kali masuk ke dalam queue disebut elemen depan(front/head of queue), sedangkan elemen yang terakhir kali masuk ke queue disebut elemen belakang (rear/tail of queue).

   B.    Operasi-operasi atandar pada queue adalah :
                  1.      Membuat queue atau inisialisasi
2.      Mengecek apakah queue penuh
3.      Mengecek apakah queue kosong
4.      Memasukkan elemen ke dalam queue atau inqueue (Insert Queue)
5.      Menghapus elemen queue atau dequeue (Delete Queue)
   C.    Karakteristik penting Queue sebagai berikut :
1.      Elemen antrian yaitu item-item data yang terdapat di elemen antrian
2.      Head/front (elemen terdepan dari antrian)
3.      Tail/rear (elemen terakhir dari antrian)
4.      Jumlah elemen pada antrian (count)
5.   Status/kondisi antrian
   D.    Operasi-operasi pokok di Queue adalah
1.      createQueue (Q), atau constructor menciptakan antrian kosong Q
2.      addQueue(Q,X) memasukkan elemen X sebagai elemen akhir di Q
3.      removeQueue (Q,X) atau mengambil elemen depan di antrian Q ke elemen X

Referensi :

Sabtu, 16 Maret 2019

APLIKASI SEDERHANA MENGGUNAKAN KASUS PENJUALAN DI TOKO BAJU

APLIKASI BERDASARKAN KASUS
“ PENJUALAN DI TOKO BAJU”

            Dalam blog ini akan memuat sebuah program aplikasi berdasarkan kasus “Penjualan di Toko Baju”, yang mana pada aplikasi ini adalah sedikit rangkaian program yang masih belum disempurnakan ke dalam bentuk GUI nya, itu berarti masih menjadi aplikasi sederhana yang berjalan seperti dalam wujud apikasi command prompt. Program ini di koding dengan syntax  kodingan berbahasa C++. Pemrograman juga menggunakan beberapa jenis operasi pemrograman, yaitu :
1.        Operasi penyeleksian kondisi, adalah pernyataan percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada. Untuk keperluan pengambilan keputusan, pada program kali ini hanya meggunakan “if else”.
2.       Operasi perulangan, merupakan struktur program yang dapat digunakan untuk melakukan statement  yang sama secara terus-menerus dengan cara yang yang efisien dan efektif selama kondisi tersebut terpenuhi, pada program ini menggunakan operasi perulangan “for”.
3.       Array, adalah variabel  Larik  atau  lebih  dikenal dengan ARRAY adalah adalah Tipe terstruktur yang terdiri dari sejumlah  komponen-komponen    yang mempunyai tipe yang sama. Suatu Array mempunyai jumlah komponen yang banyaknya tetap. Banyaknya komponen dalam suatu larik ditunjukan oleh suatu indek untuk membedakan variabel yang satu dengan variabel yang lainnya.
Variabel array dalam Borland C++, dapat digolongkan menjadi tiga buah dimensi :
•  Array Berdimensi Satu.
•  Array Berdimensi Dua
•  Array Berdimensi Dua
Pada program kali ini hanya menggunakan “array” 2 dimensi.
4.       Operasi fungsi, Fungsi (Function)  merupakan  blok dari kode yang dirancang untuk melaksanakan tugas khusus. Kegunaan dari fungsi ini adalah untuk:
-       Mengurangi pengulangan penulisan program yang berulangan atau sama.
-       Program menjadi lebih terstruktur, sehingga  mudah  dipahami  dan dapat lebih dikembangkan.
Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main(), yang bersifat mutlak, karena fungsi ini program akan dimulai, sebagai contoh yang lainnya fungsi printf(), cout(), yang mempunyai tugas untuk menampilkan informasi atau data kelayar dan masih banyak lainnya.
5.       Akses file (dari C++ ke txt), adalah sebuah operasi yang akan menghubungkan atau mengkonversi hasil running program ke ekstensi yang berbeda.
6.      Struct atau struktur  digunakan untuk mengelompokan sejumlah data yang mempunyai tipe data yang berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur (struktur sama seperti Record), pada program ini menggunakan struktur array.
7.       Pointer, merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah.

Syntax program :

Coding

#include<iostream>
#include<fstream>
using namespace std;

ofstream rabi;
int tot[5];
int i,p,j,toti=0,q[10];

struct toko
{
    string nama, a[5], b[5];
    int jenispakaian[5], jenisbaju[5], banyak[5];
    float  harga[5];
}tko[5];

int rum(int s, int a)
{
    tot[i]=tko[i].harga[j]*tko[i].banyak[j];
    return (tot[i]);
}

void jk()
{
    cout <<"1. Pria"<<endl;
    cout <<"2. Wanita"<<endl;
}
void jpria()
{

    cout <<"1. Koko"<<endl;
    cout <<"2. Gamis"<<endl;
}
void jwanita()
{
    cout <<"1. Atasan"<<endl;
    cout <<"2. Jubah"<<endl;
}

int main ()
{

    cout <<"Banyak Pembeli : "; cin >> p;
    for (i=0; i<p; i++)
    {
        cout <<"Pembeli Ke-" << i+1 << endl;
        cout <<"Nama : "; cin >> tko[i].nama;
        cout <<"Pakaian Ke-" <<j+1<<endl;
            jk();
            cout <<"Jenis Pakaian : "; cin >> tko[i].jenispakaian[j];
            if (tko[i].jenispakaian[j]==1)
            {
                tko[i].a[j]="Pria";
                jpria();
                cout <<"Baju "<<tko[i].a[j]<<" yang anda inginkan : "; cin >>tko[i].jenisbaju[j];
                if (tko[i].jenisbaju[j]==1)
                {
                    tko[i].b[j]="Koko";
                    tko[i].harga[j]=100000;
                }
                else if (tko[i].jenisbaju[j]==2)
                {
                    tko[i].b[j]="Gamis";
                    tko[i].harga[j]=120000;
                }
            }
            else if (tko[i].jenispakaian[j]==2)
            {
                tko[i].a[j]="Wanita";
                jwanita();
                cout <<"Baju "<<tko[i].a[j]<<" yang anda inginkan : "; cin >>tko[i].jenisbaju[j];
                if (tko[i].jenisbaju[j]==1)
                {
                    tko[i].b[j]="Atasan";
                    tko[i].harga[j]=100000;
                }
                else if (tko[i].jenisbaju[j]==2)
                {
                    tko[i].b[j]="Jubah";
                    tko[i].harga[j]=120000;
                }
            }

    }
    cout <<endl;
        rabi.open("Rabiah.txt");
        rabi<<"\t\t\t\t\t\t\t\t\t=================================="<<endl;
        rabi<<"\t\t\t\t\t\t\t\t\t| SELAMAT DATANG DI TOKO PAKAIAN |"<<endl;
        rabi<<"\t\t\t\t\t\t\t\t\t=================================="<<endl<<endl<<endl<<endl;
        rabi<<"========================================================================="<<endl;
        rabi<<"|No \t| Nama \t|J.Pakaian\t|J.Baju |Harga \t\t|Kode Produk \t|"<<endl;
        rabi<<"========================================================================="<<endl;
        for(i=0;i<p;i++)
        {
            rabi<<"|"<<i+1<<"\t|"<<tko[i].nama<<"\t|"<<tko[i].a[j]<<"\t\t|"<<tko[i].b[j]<<"\t| Rp. "<<tko[i].harga[j]<<"\t| "<<&tko[i].b[j]<<"\t|"<<endl;
            toti+=tko[i].harga[j];
        }
        rabi<<"========================================================================="<<endl;
        rabi<<"|Total Pendapatan Hari Ini\t\t\t\t| Rp. "<<toti<<"\t|"<<endl;
        rabi<<"========================================================================="<<endl;
        rabi.close();
        if(rabi)
        {
            cout<<" Untuk melihat hasil pembelian, silahkan di cek file txt ^_^ "<<endl;
        }
        else
        {
            cout<<" Maaf ! Akses File gagal, silahkan ulangi lagi -_- "<<endl;
        }
    return 0;
}


Running



Hasil diakses ke notepad




Selasa, 12 Maret 2019

Pengertian STACK


Kali ini saya akan menjelaskan tentang STACK



  A.    Pengertian STACK (TUMPUKAN)
  Stack merupakan metode dalam menyimpan atau mengambil data ke dan dari memori.
  Stack dapat diibaratkan sebuah tumpukan barang dalam sebuah tempat yang hanya memiliki satu
  pintu diatasnya (memasukkan dan mengambil barang hanya dapat dilakukan melalui pintu itu).
 Ukuran barang tersebut pas dengan pintunya sehingga barang yang akan dikeluarkan pertama kali   adalah barang yang terakhir kali dimasukkan. Contohnya dalam kehidupan sehari-hari.



Ada 2 operasi paling dasar dari stack yang dapat dilakukan :
1.      Operasi Push, yaitu operasi menambahkan elemen pada urutan terakhir (paling atas)
2.    Operasi Pop, yaitu operasi mengambil sebuah elemen data pada urutan terakhir dan menghapus elemen tersebut dari stack.


  B. Metode Pada Implementasi Stack
 1. Push(), berfungsi untuk memasukkan data
       2.  Pop (), berfungsi untuk mengeluarkan data terakhir(atas)
       3. Peek (),berfungsi untuk melihat data yang berada pada tumpukan paling atas (akan dikeluarkan)
       4.  isEmpty (), berfungsi untuk menguji apakah stack masih kosong
       5.  isFull (), berfungsi untuk menguji apakah stack telah penuh


REFERENSI :
http://nenengsutarsih.blogspot.com/2013/06/stack-tumpukan.html
http://medium.com/easyread/memahami-konsep-stack-secara-sederhana-bd4409ec560c