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 9 PBKK - Laravel : Membuat Landing Page

Pada postingan kali ini, akan membahas membuat landing page menggunakan Laravel 8. Pada postingan ini saya akan mencoba membuat Landing Page dari Dicoding Indonesia ( dicoding.com ) dengan tampilan yang berbeda. Langsung saja ikuti langkah-langkah berikut: Pertama, buat sebuah view baru pada resources/views/ dengan nama homepage.blade.php lalu isi dengan kode berikut: 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 <!DOCTYPE html> <html lang= "{{ str_replace('_', '-', app()->getLocale()) }}" > <head> <meta charset= "utf-8" > <meta name= "viewport" content= "width=device-width, initial-scale=1" > <title> Dicoding - Bangun Karirmu sebagai Developer Profesional </title> <!-- Fonts --> <link href= "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" r...

Tugas 8 PBKK - CodeIgniter : Implemetasi CRUD dalam Toko Online

Nama Anggota : 05111840000132 -  Reihan Nanda Ramadhan  05111940000060 - Muhammad Arif Faizin  05111940000228 - Muhammad Arsyad Ardiansyah Pada post kali ini, kami akan menjelaskan mengenai toko online yang telah kami buat menggunakan CodeIgniter. Toko online kami ini bernama OutFact – Toko yang menjual berbagai barang fashion seperti baju, celana, masker dll. OutFact memiliki 2 role, yaitu Admin dan Customer. Sebelumnya kami akan menjelaskan apa saja fitur-fitur yang dimiliki oleh masing-masing role. Fitur yang ada pada role Customer adalah :           1. Registrasi           2. Login           3. Halaman Awal dan View Product           4. View Detail Product ...

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