Skip to main content

EAS MPPL - Demo dan Dokumentasi EAS

 EAS MPPL 2021 Pada kesempatan ini kelompok kami akan menjelaskan salah satu produk perangkat lunak milik Zoho yaitu Zoho Marketing Automation yang dikerjakan secara berkelompok yang beranggotakan: Ricky Supriyanto 05111940000036 Arvel Gavrilla R 05111940000040 M Arif Faizin 05111940000060 Zulfiqar Fauzul Akbar 05111940000101 Raihan Alifianto 05111940000213 Dengan hasil sebagai berikut 1. Deskripsi Produk 2. Manajemen Ruang Lingkup 3. Manajemen Waktu 4. Manajemen Biaya 5. Manajemen Resiko 6. Video demo

ETS PBKK Kelompok - Membuat Aplikasi POS

 Nama Kelompok :

  1. Muhammad Rizqi Tsani (05111940000045)
  2. Muhammad Arif Faizin (05111940000060)
  3. Arsyad Ardiansyah (05111940000228)

Pada postingan ini kami akan menjelaskan aplikasi POS yang telah dibuat melalui aplikasi desktop. 

Ada beberapa fungsi yang dapat dapat dilakukan oleh program ini, yakni :

  1. Melakukan print daftar item yang telah ditambahkan ke dalam checkout
  2. Menambahkan item ke dalam checkout
  3. Menghapus item dari checkout
  4. Menghitung pembayaran 
  5. Melakukan reset daftar item yang ada di checkout 
  6. Melakukan pembelian dan menyimpannya ke dalam database

Tutorial ini terbagi menjadi 2 bagian, yakni tahap persiapan dan tahap logika.

Tahap Persiapan

Untuk tahap persiapan, ada beberapa hal yang perlu dipersiapkan untuk digunakan pada program seperti 

  1. Gambar makanan atau minuman dari menu yang akan ditampilkan
  2.  

Kemudian ikuti langkah berikut 

  1. Jalankan Visual Studio 2019, lalu Create a new project dan pilih Windows Forms App (.NET Framework). Kemudian isi project name dengan "PointOfSales" lalu Create.
  2. Lalu seperti biasa, akan muncul tampilan form jendela kosong yang baru dibuat. Tambahkan beberapa komponen seperti pada gambar berikut


Fungsionalisasi Program

Dalam program PointOfSales ini terdapat beberapa fungsi yang dapat dijalankan. Berikut cara untuk mengimplementasikan masing-masing fungsionalitas dari program tersebut.

Print Daftar Item yang Ada di Checkout

Daftar item yang akan dibeli dapat dicetak terlebih dahulu sebelum pembelian. Berikut langkah-langkah untuk menambahkan fungsinya :

  1. Buka Form1.cs atau class yang akan digunakan untuk logic dari program utama program ini
  2. Lalu tambahkan kode berikut ke dalam class utama program (dalam contoh ini class Form1)
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
            Bitmap bitmap;
            private void button27_Click(object sender, EventArgs e)
            {
                try
                {
                    int height = dataGridView1.Height;
                    dataGridView1.Height = dataGridView1.RowCount * dataGridView1.RowTemplate.Height * 2;
                    bitmap = new Bitmap(dataGridView1.Width, dataGridView1.Height);
                    dataGridView1.DrawToBitmap(bitmap, new Rectangle(0, 0, dataGridView1.Width, dataGridView1.Height));
                    printPreviewDialog1.PrintPreviewControl.Zoom = 1;
                    printPreviewDialog1.ShowDialog();
                    dataGridView1.Height = height;
                }
                catch(Exception error)
                {
                    MessageBox.Show(error.Message);
                }
            }
    
            private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
                try
                {
                    e.Graphics.DrawImage(bitmap, 0, 0);   
                }
                catch (Exception error)
                {
                    MessageBox.Show(error.Message);
                }
            }
    
     
  3. Coba jalankan program dan tambahkan beberapa item ke dalam tabel checkout
  4. Kemudian tekan tombol Cetak untuk mencetak checkout

Reset Item yang Ada di Checkout

List item yang telah masuk ke dalam checkout dapat dibersihkan menggunakan fungsi ini. Berikut langkah untuk menambahkan fungsionalitasnya :

  1. Buka Form1.cs 
  2. Lalu tambahkan kode berikut ke dalam class utama (Form1.cs). Pastikan variabel nama label sudah sesuai dengan yang telah ditambahkan pada proses design.
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
            private void button26_Click(object sender, EventArgs e)
            {
                try
                {
                    label4.Text = "";
                    label5.Text = "";
                    label6.Text = "";
                    label7.Text = "";
                    label8.Text = "0";
                    dataGridView1.Rows.Clear();
                    dataGridView1.Refresh();
                    comboBox1.Text = "";
                }
                catch (Exception error)
                {
                    MessageBox.Show(error.Message);
                }
            }
    

  3. Coba jalankan program. Tambahkan beberapa item ke dalam checkout
  4. Lalu tekan button Reset untuk menghapus semua item

Menambahkan Item ke Checkout

Sebelum dapat menambahkan item ke dalam checkout, perlu beberapa fungsi lain agar item dapat ditambahkan ke dalam list.

Pertama, lakukan inisialisasi pada komponen form agar tidak terjadi error saat menambahkan item. Ikuti langkah berikut :

  1. Buka Form1.cs
  2. Tambahkan fungsi berikut dalam class utama (class Form1)
    1
    2
    3
    4
    5
            private void Form1_Load(object sender, EventArgs e)
            {
                comboBox1.Items.Add("Tunai");
                comboBox1.Items.Add("Kredit");
            }
    

  3. Kemudian jalankan program, cek apakah item pada dropdown sudah dapat ditampilkan

Kemudian yang perlu ditambahkan fungsinya adalah memfungsikan tombol nomor. Ikuti langkah berikut :

  1. Buka design dari Form1
  2. Lalu select semua button number (0, 1, 2, .. 9)
  3. Kemudian pilih properties lalu action
  4. Kemudian pada action Click isikan "NumbersOnly" sebagai fungsi baru
  5. Isikan kode berikut pada fungsi NumbersOnly
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
            private void NumbersOnly(object sender, EventArgs e)
            {
                Button b = (Button)sender;
    
                if (label8.Text == "0")
                {
                    label8.Text = "";
                    label8.Text = b.Text;
                }
                else
                {
                    label8.Text = label8.Text + b.Text;
                }
            }
    

  6. Coba jalankan program lalu klik tombol nomor pada program. Cek apakah setelah menekan tombol, nilai pada label berubah. 

Kemudian ada beberapa fungsi yang perlu ditambahkan untuk menghitung harga dari tiap barang. Ikuti langkah berikut : 

  1. Buka form1.cs
  2. Isikan kode berikut pada fungsi main dalam class utama (class Form1)
            public double cost_Of_Items()
            {
                Double sum = 0;
    
                for(int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    sum += Convert.ToDouble(dataGridView1.Rows[i].Cells[2].Value);
                }
    
                return sum;
            }
    
            private double get_Total_Cost()
            {
                Double tax = 0.1, taxTotal, total;
                taxTotal = cost_Of_Items() * tax;
                total = cost_Of_Items() + taxTotal;
                if (dataGridView1.Rows.Count > 0)
                {
                    label5.Text = taxTotal.ToString("C", CultureInfo.CreateSpecificCulture("id-ID"));
                    label4.Text = cost_Of_Items().ToString("C", CultureInfo.CreateSpecificCulture("id-ID"));
                    label6.Text = total.ToString("C", CultureInfo.CreateSpecificCulture("id-ID"));
                }
    
                return cost_Of_Items() + taxTotal;
            }
    
            public void get_Change()
            {
                Double cost, paid, change;
                cost = Convert.ToInt32(get_Total_Cost());
                paid = Convert.ToInt32(label8.Text);
                change = cost - paid;
                if (dataGridView1.Rows.Count > 0)
                {
                    label7.Text = String.Format("{0:c2}", change);
                }
            }
    

  3. Buka desain form1 (form1.design.cs)
  4. Double klik pada button Bayar
  5. Kemudian isikan kode berikut
            private void button25_Click(object sender, EventArgs e)
            {
                if(comboBox1.Text == "")
                {
                    MessageBox.Show("Pilih metode pembayaran!");
                }
                else
                {
                    if (comboBox1.Text == "Tunai")
                    {
                        get_Change();
                    } else
                    {
                        label7.Text = "";
                        label8.Text = "0";
                    }
    
                    List<TransactionDetail> details = new List<TransactionDetail>();
    
                    for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                    {
                        details.Add(new TransactionDetail((string)dataGridView1.Rows[i].Cells[0].Value, Int32.Parse((string)dataGridView1.Rows[i].Cells[1].Value)));
                    }
    
                    Transaction trans = new Transaction(get_Total_Cost(), comboBox1.Text.Trim());
                    DbTransaction.AddTransaction(trans, details);
                }
            }
    
  6. Coba jalankan program dan cek apakah kode berjalan dengan benar

Langkah selanjutnya yaitu menambahkan fungsi di setiap button pada menu. Setiap button tersebut akan diberi fungsi untuk menambahkan data pada checkout ketika di klik. Untuk caranya, ikuti langkah berikut :

  1. Buka form1.design.cs
  2. Double klik pada button salah satu menu
  3. Kemudian isikan fungsi berikut pada fungsi yang baru dibuat
            private void button24_Click(object sender, EventArgs e)
            {
                Double cost = 15000;
                if (dataGridView1.Rows.Count > 1 && dataGridView1.Rows != null)
                {
                    bool newData = true;
                    for (int i = 0; i < dataGridView1.Rows.Count; i++)
                    {
                        if ((string) dataGridView1.Rows[i].Cells[0].Value == "Pizza")
                        {
                            newData = false;
                            
                            Double newQty = Double.Parse((string)dataGridView1.Rows[i].Cells[1].Value) + 1;
                            dataGridView1.Rows[i].Cells[1].Value = newQty.ToString();
                            dataGridView1.Rows[i].Cells[2].Value = newQty * cost;
                            break;
                        }
                    }
    
                    if(newData)
                    {
                        dataGridView1.Rows.Add("Pizza", "1", cost);
                    }
                }
                else
                {
                    dataGridView1.Rows.Add("Pizza", "1", cost);
                }
    
                get_Total_Cost();
            }
    

  4. Coba jalankan, apakah berjalan dengan baik atau tidak. 
  5. Ulangi langkah dari awal untuk setiap button menu pada program.

Menghapus Item dari Checkout

Item yang telah ditambahkan ke dalam checkout dapat dihapus satu per satu. 

Untuk menambahkan fitur tersebut, ikuti langkah berikut :

  1. Buka form1.desgin.cs
  2. Double klik pada tombol Hapus
  3. Tambahkan kode berikut dalam fungsi utama program. Ingat untuk mengubah nama fungsi sesuai dengan nama button
            private void button28_Click(object sender, EventArgs e)
            {
                foreach(DataGridViewRow row in this.dataGridView1.SelectedRows)
                {
                    if(Double.Parse((string) row.Cells[1].Value) > 1)
                    {
                        Double newQty = Double.Parse((string)row.Cells[1].Value) - 1;
                        Double cost = (double)row.Cells[2].Value / Convert.ToDouble(row.Cells[1].Value);
                        row.Cells[1].Value = newQty.ToString();
                        row.Cells[2].Value = newQty * cost;
                    }
                    else
                    {
                        dataGridView1.Rows.Remove(row);
                    }
                }
    
                if (comboBox1.Text == "Tunai")
                {
                    get_Change();
                }
                else
                {
                    label7.Text = "";
                    label8.Text = "0";
                }
            }
    

  4. Coba jalankan dan cek apakah kode berjalan dengan benar



Comments

Popular posts from this blog

Tugas 1 PBKK - Portofolio Aplikasi Framework

Berikut beberapa aplikasi yang pernah dibuat menggunakan bantuan framework : Kulturan Link Website Kulturan merupakan aplikasi berbasis website yang dapat digunakan oleh pekerja seni, drama, dan tari untuk mempromosikan serta memperjualbelikan karyanya secara online. Pengguna dapat membeli hasil karya pekerja seni berupa hasil pementasan atau pertunjukkan seniman di Indonesia. Framework : ReactJS, ExpressJS, Node.js dan Material UI Screenshot tampilan :  Medify.id Link Website Medify.id merupakan salah satu aplikasi berbasis website yang merupakan website dari perusahaan Medify. Website ini menyediakan informasi-informasi penting serta fitur-fitur yang ditawarkan oleh Medify. Framework : Bootstrap, Laravel 8 Screenshot tampilan : Presto Link Website Presto merupakan aplikasi berbasis website yang berisi daftar restoran terdekat beserta detailnya. Dalam website ini, pengguna juga bisa berkomentar di masing-masing restoran, dan juga menambahkan restoran ke dalam daftar favoritnya. Fr...

Tugas 10 PWEB - Menambahkan Upload File pada PHP

Pada postingan ini, saya akan menjelaskan cara menambahkan upload file menggunakan PHP Buat beberapa file untuk menerapkan fungsi PHP sebagai untuk dapat menerapkan fungsi CRUD nya config.php index.php form-daftar.php proses-pendaftaran.php list-siswa.php form-edit.php proses-edit.php hapus.php cetak.php Berikut adalah beberapa tampilan hasil dari operasi menggunakan PHP tersebut Halaman Utama Halaman pendaftaran Tampilan ketika berhasil mendaftar Halaman daftar siswa yang mendaftar Halaman edit data pendaftar Tampilan ketika mencetak bukti pendaftaran Sekian postingan kali ini, terima kasih.

EAS PWEB - Pemrograman Web

  Pada postingan ini, saya akan menjelaskan hasil pengerjaan EAS yang telah saya kerjakan   Dan berikut adalah hasil desain rancangan prototipe dari aplikasi yang akan dibuat