LAPORAN CASE METHOD ALGORITMA PEMROGRAMAN

PENENTUAN DISKON BELANJA

Disusun oleh : Ilham Rizky Hidayat ( 21108062610048 ) Jaya Nur Rohman ( 21108062610051 ) Keisya Indriani Astusi ( 21108062610056 ) Kirani Syavira Dewi (21108062610061 ) Maisaroh Dwi Khasanah (21108062610065 )

Universitas Sebelas Maret 2026

A. Latar Belakang

Dalam kegiatan jual beli, pemberian diskon merupakan salah satu cara yang sering digunakan oleh toko untuk menarik minat pelanggan. Besarnya diskon biasanya disesuaikan dengan total belanja, sehingga pelanggan dengan jumlah pembelian tertentu dapat memperoleh potongan harga yang berbeda. Jika perhitungan dilakukan secara manual untuk banyak transaksi, terdapat kemungkinan terjadinya kesalahan dalam menentukan diskon maupun total pembayaran. Oleh karena itu, diperlukan program sederhana yang dapat membantu menentukan diskon dan menghitung total pembayaran secara otomatis. Pada praktikum ini dibuat program menggunakan bahasa pemrograman R untuk mengolah transaksi belanja. Program akan menentukan persentase diskon berdasarkan total belanja yang diperoleh pada setiap transaksi. Setelah itu, program menghitung nominal diskon dan jumlah yang harus dibayar setelah mendapatkan potongan harga. Dengan adanya program ini, proses perhitungan untuk beberapa transaksi dapat dilakukan dengan lebih cepat dan terstruktur. Program ini juga menjadi contoh penerapan algoritma dalam kehidupan sehari-hari, khususnya pada kegiatan jual beli. Setiap transaksi dapat diproses menggunakan aturan diskon yang sama sehingga hasil perhitungan menjadi lebih konsisten. Dalam pembuatannya, program menerapkan konsep variabel, input, proses, output, percabangan, dan operasi aritmatika. Dengan demikian, praktikum ini dapat membantu memahami penerapan dasar algoritma dan pemrograman melalui kasus yang sederhana dan dekat dengan kehidupan sehari-hari.

B. Tujuan

  1. Memahami penerapan konsep dasar algoritma dan pemrograman menggunakan bahasa R.
  2. Menerapkan input, proses, dan output dalam pembuatan program.
  3. Menerapkan percabangan ifelse untuk menentukan besarnya diskon berdasarkan total belanja.
  4. Menggunakan operasi aritmatika untuk menghitung nominal diskon dan total pembayaran.
  5. Menghasilkan informasi total belanja, besarnya diskon, nominal diskon, dan total pembayaran secara terstruktur.
  6. Menampilkan hasil pengolahan data menggunakan dataframe

C. Studi Kasus

Sebuah toko memberikan potongan harga kepada pelanggan berdasarkan total belanja. Untuk mempermudah proses perhitungan, dibuat sebuah program menggunakan bahasa pemrograman R yang dapat menentukan besarnya diskon dan total pembayaran dari transaksi belanja. Setiap transaksi memiliki total belanja yang berbeda sehingga persentase diskon yang diperoleh juga dapat berbeda. Ketentuan diskon yang diberikan oleh toko adalah sebagai berikut: Total belanja ≥ Rp500.000 mendapatkan diskon 20%. Total belanja ≥ Rp300.000 mendapatkan diskon 15%. Total belanja ≥ Rp100.000 mendapatkan diskon 10%. Total belanja < Rp100.000 tidak mendapatkan diskon. Program akan mengolah lima data transaksi, yaitu Rp80.000, Rp150.000, Rp275.000, Rp350.000, dan Rp400.000. Berdasarkan data tersebut, program menentukan persentase diskon, menghitung nominal diskon, kemudian menghitung total pembayaran yang harus dibayarkan pelanggan setelah mendapatkan potongan harga. Rumus : Nominal Diskon = Total Belanja * Diskon / 100 Total Bayar = Total Belanja - Nominal Diskon

D. Analisis Masalah

  1. Input Data yang dimasukkan ke dalam program berupa 5 total belanja, yaitu: Transaksi 1 = Rp80.000 Transaksi 2 = Rp150.000 Transaksi 3 = Rp275.000 Transaksi 4 = Rp350.000 Transaksi 5 = Rp400.000
  2. Proses Membaca data total belanja untuk setiap transaksi. Menentukan persentase diskon berdasarkan total belanja: ≥ Rp500.000 → 20% ≥ Rp300.000 → 15% ≥ Rp100.000 → 10% < Rp100.000 → 0% Menghitung nominal diskon dengan rumus: Nominal Diskon = Total Belanja × Persentase Diskon Menghitung total pembayaran dengan rumus: Total Bayar = Total Belanja − Nominal Diskon Mengulangi proses tersebut sampai seluruh 5 transaksi selesai.
  3. Output Hasil yang ditampilkan untuk setiap transaksi meliputi: Nomor transaksi Total belanja Persentase diskon Nominal diskon Total pembayaran setelah diskon

Implementasi Program R

options(scipen = 999)

nama = c("lala", "lili", "lolo", "lele", "lulu")
total_belanja = c(80000, 150000, 275000, 350000, 400000)

diskon = ifelse(total_belanja >= 500000, 20,
        ifelse(total_belanja >= 300000, 15,
        ifelse(total_belanja >= 100000, 10, 0)))

nominal_diskon = total_belanja * (diskon / 100)
total_bayar = total_belanja - nominal_diskon

hasil <- data.frame(
  Nama = nama,
  No_Transaksi = seq_along(total_belanja),
  Total_Belanja = paste("Rp", total_belanja),
  Persentase_Diskon = paste(diskon, "%"),
  Nominal_Diskon = paste("Rp", nominal_diskon),
  Total_Bayar = paste("Rp", total_bayar)
)

print(hasil)
##   Nama No_Transaksi Total_Belanja Persentase_Diskon Nominal_Diskon Total_Bayar
## 1 lala            1      Rp 80000               0 %           Rp 0    Rp 80000
## 2 lili            2     Rp 150000              10 %       Rp 15000   Rp 135000
## 3 lolo            3     Rp 275000              10 %       Rp 27500   Rp 247500
## 4 lele            4     Rp 350000              15 %       Rp 52500   Rp 297500
## 5 lulu            5     Rp 400000              15 %       Rp 60000   Rp 340000

Penjelasan Program

  1. Pengaturan Awal & Input Data options(scipen = 999): Berfungsi untuk mencegah R menampilkan angka besar dalam bentuk notasi ilmiah (scientific notation, contohnya 1e+05), sehingga angka tetap terbaca normal. nama: Vektor yang menyimpan nama-nama pelanggan (karakter). total_belanja: Vektor numerik yang menyimpan nilai total belanja masing-masing pelanggan sebelum diskon.
  2. Logika Penentuan Diskon Bersyarat Fungsi ifelse bertingkat ini digunakan untuk menentukan persentase diskon berdasarkan besar belanja: Jika total belanja >= Rp500.000, maka diskon 20%. Jika total belanja >= Rp300.000, maka diskon 15%. Jika total belanja >= Rp100.000, maka diskon 10%. Jika di bawah Rp100.000, maka diskon 0%.
  3. Perhitungan Nominal Diskon dan Total Bayar nominal_diskon: Menghitung besar potongan harga dengan cara mengalikan total belanja dengan persentase diskon dibagi 100. total_bayar: Menghitung uang yang harus dibayarkan pelanggan setelah dikurangi nominal diskon.
  4. Pembuatan Data Frame Seluruh variabel digabungkan ke dalam tabel (data.frame) bernama hasil: no_Transaksi = seq_along(total_belanja): Membuat nomor urut transaksi secara otomatis berdasarkan panjang data (dari 1 sampai 5). Fungsi paste(): Digunakan untuk menggabungkan teks string (seperti “Rp” atau “%” dengan nilai datanya) agar tampil lebih rapi dan mudah dibaca sebagai teks laporan.
  5. Menampilkan Hasil print () digunakan untuk menampilkan hasil akhir dataframe “hasil” ke layar konsol R.

E. Analisis Hasil

Berdasarkan hasil program, setiap transaksi memperoleh diskon sesuai dengan ketentuan yang telah ditetapkan. Transaksi pertama dengan total belanja Rp80.000 tidak mendapatkan diskon karena jumlah belanja kurang dari Rp100.000. Transaksi kedua sebesar Rp150.000 dan transaksi ketiga sebesar Rp275.000 mendapatkan diskon sebesar 10%, sedangkan transaksi keempat sebesar Rp350.000 dan transaksi kelima sebesar Rp400.000 mendapatkan diskon sebesar 15%. Setelah persentase diskon ditentukan, program menghitung nominal diskon dan total pembayaran untuk setiap transaksi. Pada transaksi kelima, misalnya, total belanja Rp400.000 mendapatkan diskon 15% atau sebesar Rp60.000, sehingga total pembayaran menjadi Rp340.000. Hasil tersebut menunjukkan bahwa semakin besar total belanja, pelanggan dapat memperoleh diskon yang lebih besar sesuai dengan aturan yang berlaku. Dengan demikian, program berhasil melakukan perhitungan untuk kelima transaksi secara otomatis menggunakan fungsi ifelse(). Fungsi ini membuat program dapat memilih persentase diskon yang sesuai dengan kondisi setiap transaksi. Dengan demikian, program dapat membantu menghitung diskon dan total pembayaran dengan lebih cepat, terstruktur, dan mengurangi kemungkinan kesalahan perhitungan secara manual.

F. Kesimpulan

Berdasarkan praktikum yang telah dilakukan, program penentuan diskon belanja berhasil dibuat menggunakan bahasa pemrograman R untuk mengolah lima transaksi. Program dapat menentukan persentase diskon berdasarkan total belanja, menghitung nominal diskon, serta menghitung total pembayaran setelah diskon. Dalam prosesnya, program menerapkan konsep variabel, vektor, percabangan ifelse, operasi aritmatika, pembuatan dataframe dan output print (). Hasil yang diperoleh menunjukkan bahwa program dapat menjalankan perhitungan secara otomatis dan memberikan hasil yang sesuai dengan ketentuan diskon. Dengan demikian, program ini dapat menjadi contoh sederhana penerapan algoritma dan pemrograman untuk menyelesaikan permasalahan yang berkaitan dengan transaksi belanja.