0% menganggap dokumen ini bermanfaat (0 suara)
1K tayangan8 halaman

ALPRO

Algoritma membaca input berupa nilai belanja dan menghitung pembulatan ke pecahan terendah 25 dengan mengurangi sisa bagi 25 dari nilai belanja.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
1K tayangan8 halaman

ALPRO

Algoritma membaca input berupa nilai belanja dan menghitung pembulatan ke pecahan terendah 25 dengan mengurangi sisa bagi 25 dari nilai belanja.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 8

NAMA KELOMPOK :

1.Farras Roihana (1900016109)


2.
3.

1.)Buatlah algoritma yang membaca sebuah bilangan bulat positif


lalu menentukan apakah bilangan tersebut merupakan kelipatan 6.
Jawab:
Program Kelipatan 6
{bilangan bulat positif yang merupakan kelipatan 6}
Deklarasi
X = integer
Algoritma
Read(x)
If (x % 6) == 0:
print(‘variabel x merupakan bilangan kelipatan 6’)
else :
print(‘variabel x bukan merupakan bilangan kelipatan 6’)
end if
write(bilangan kelipatan 6)

2.) Pasar Swalayan X memberikan diskon harga bagi pembeli yang


nilai total belanjanya lebih dari Rp150.000. Tulislah algoritma untuk
menentukan nilai belanja setelah dikurangi diskon. Data masukan adalah
nilai total belanja pembeli, sedangkan keluarannya adalah diskon harga
dan nilai belanja setelah dikurangi diskon. (Diskon diketahui 20%)
Jawab :
USES CRT;
DEKLARASI
nilai_total_pembelian : REAL;
nilai_diskon : REAL;
diskon : REAL;
bayar : REAL;
ALGORITMA
WRITE('nilai total pembelian : ');READLN(nilai_total_pembelian);
WRITE('nilai diskon (0,2 dalam desimal ): ');READLN(nilai_diskon);
IF(nilai_total_pembelian>150000) THEN
BEGIN
diskon := nilai_total_pembelian * nilai_diskon;
bayar := nilai_total_pembelian - diskon;
END
ELSE
BEGIN
bayar := nilai_total_pembelian;
END;

WRITELN('nilai total pembelian : ',nilai_total_pembelian:4:2);


WRITELN('potongan diskon : ',diskon:4:2);
WRITELN('bayar : ',bayar:4:2);

READLN;
END.

3.) Tulislah algoritma yang membaca tiga buah bilangan bulat, lalu
mengurutkan tiga buah bilangan tersebut dari nilai yang terbesar ke nilai
yang terkecil. Keluaran adalah tiga buah bilangan yang terurut.
Jawab :
BILANGAN KECIL KE BESAR
#include <iostream>
using namespace std;
main(){
   int a, b, c, x;
   cout<<"Masukkan a : ";
   cin>>a;
   cout<<"Masukkan b : ";
   cin>>b;
   cout<<"Masukkan c : ";
   cin>>c;
   if(b < a){
      x = b;
      b = a;
      a = x;
   }
   if(c < a){
      x = c;
      c = a;
      a = x;
   }
   if(c < b){
      x = b;
      b = c;
      c = x;
   }
   cout<<"Bilangan setelah diurutkan : "<<a<<" "<<b<<" "<<c;
}
4.) Tulislah algoritma yang membaca panjang (integer) tiga buah
sisi sebuah segitiga ,a ,b , dan c, yang dalam hal ini a≤𝑏≤𝑐, lalu menentukan
apakah ketiga sisi tersebut membentuk segitiga siku-siku, segitiga lancip,
atau segi tiga tumpul (Petunjuk: gunakan hukum Phytagoras).
Jawab :
#include <iostream>
#include <math.h>
using namespace std;
main(){
    int a=0,b=0,c=0,ab=0;
    cout<<"Masukan Nilai A : ";cin>>a;
    cout<<"Masukan Nilai B : ";cin>>b;
    cout<<"Masukan Nilai C : ";cin>>c;
    ab = (pow(a,2)) + (pow(b,2));
    if(c%5==0) c = 1 + pow(c,2);
    else c = pow(c,2);
    if(c == ab){
        cout<<"Segitiga Siku-siku";
    }
    if(c < ab){
        cout<<"Segitiga Lancip";
    }
    if(c > ab){
        cout<<"Segitiga Tumpul";
    }
   
}
5.) Tulislah algoritma yang membaca sebuah karakter digit (‘0’..’9’)
lalu mengonversinya menjadi nilai integer (0..9). Misalnya, jika dibaca
karakter ‘5’, maka nilai konversinya ke integer adalah 5. Buatlah
masing-masing algoritma untuk dua keadaan berikut:
A) Karakter digit yang dibaca diasumsikan sudah benar terletak dalam
rentang ‘0’..’9’
Jawab :
#include <iostream>
using namespace std;
main(){
    char a;
    int b=0;
    cout<<"Input Karakter Angka (1..9) : ";
    cin>>a;
    if(a=='1'){ b=1; cout<<b; }
    else if(a=='2'){ b=2; cout<<b; }
    else if(a=='3'){ b=3; cout<<b; }
    else if(a=='4'){ b=4; cout<<b; }
    else if(a=='5'){ b=5; cout<<b; }
    else if(a=='6'){ b=6; cout<<b; }
    else if(a=='7'){ b=7; cout<<b; }
    else if(a=='8'){ b=8; cout<<b; }
    else if(a=='9'){ b=9; cout<<b; }
    else cout<<'tidak ada';
}
B.) Karakter yang dibaca mungkin bukan digit ‘0’..’9’. Jika karakter yang
dibaca bukan karakter digit, maka hasil konversinya diasumsikan bernilai -1.
Jawab :
#include <iostream>
#include <sstream>
using namespace std;
main(){
    int a;
    string b;
    cout<<"Masukan Karakter Angka (1..9) : "; cin>>b;
    istringstream convert(b);
    if(!(convert>>a)){
        a = -1;
    }
    if(a==1) cout<<a;
    else if(a==2) cout<<a;
    else if(a==3) cout<<a;
    else if(a==4) cout<<a;
    else if(a==5) cout<<a;
    else if(a==6) cout<<a;
    else if(a==7) cout<<a;
    else if(a==8) cout<<a;
    else if(a==9) cout<<a;
    else {
        a = -1;
        cout<<a;
    }
   
}
6.) Dalam bidang pengolahan citra (image processing), elemen
gambar terkecil disebut pixel (picture element). Nilai pixel untuk gambar
256 warna adalah dari 0 sampai 255. Operasi-operasi terhadap pixel
seringkali berada di luar rentang nilai ini. Jika ini kasusnya, maka nilai hasil
operasi harus dipotong (clipping) sehingga tetap berada di dalam interval
[0..25]. Jika nilai hasil operasi lebih besar dari 255, maka nilai tersebut
dipotong menjadi 255, dan bila negatif maka dipotong menjadi 0. Dibaca
sebuah nilai hasil operasi pengolahan citra, buatlah algoritma untuk
melakukan clipping tersebut.
Jawab :

algoritma

read(HasiOperasi)

if HasilOperasi > 255 then


Akhir <-- 255

else
if HasilOperasi < 0 then
Akhir <-- 0
else
Akhir <-- HasilOperasi
endif
endif

write(Akhir)

7.) Jika kita berbelanja di pasar swalayan/supermarket, nilai total belanja kita seringkali bukan
kelipatan pecahan rupiah yang berlaku. Misalnya, nilai total belanja adalah Rp19.212,-.
Andaikan saat ini pecahan rupiah yang berlaku paling kecil Rp25,-. Selain itu, juga ada pecahan
Rp50,- dan Rp100,-. Umumnya kasir pasar swalayan membulatkan nilai belanja ke pecahan yang
terbesar. Jadi Rp19.212,- dibulatkan menjadi Rp19.225,-. Hal ini jelas merugikan konsumen.
Misalkan Anda memiliki pasar swalayan yang jujur dan tidak merugikan pembeli, sehingga jika
ada nilai belanja yang bukan kelipatan pecahan yang ada, maka nilai belanja itu dibulatkan ke
pecahan terendah. Jadi, Rp19.212,- dibulatkan menjadi Rp19.200,-.
Tulislah Algoritma yang membaca nilai belanja ( integer) lalu membulatkannya ke nilai uang
dengan pecahan terendah.
Jawab :
Algoritma Pembulatan ke Terendah

1. Masukkan Nilai Belanja dalam Integer


2. Pecahan terkecil yang ada adalah 25 , maka pembulatan ke kelipatan 25 terkecil dengan
rumus Nilai belanja dikurangi dengan Sisa dari Nilai belanja dibagi 25
3. Tampilkan Hasil
4. Selesai
Pseudocode

1. Input Nilai Belanja


2. Nilai Belanja yg harus dibayarkan = Nilai belanja – Nilai Belanja mod 25
3. Hemat = nilai belanja mod 25
4. Tampilkan output
5. Selesai
Program Pascal

program swalayan_jujur;

uses crt;

var

nilai_belanja1:integer;

nilai_belanja2:integer;

hemat                 :integer;

BEGIN

clrscr;

writeln(‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‘);

writeln(‘|         Tugas AlPro 3 oleh 14.8281       |‘);

writeln(‘|  Menghitung Pembulatan Terendah Belanja  |‘);

writeln(‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‘);

write(‘Masukkan total nilai belanja konsumen:’);readln(nilai_belanja1);

nilai_belanja2:= nilai_belanja1 – ( nilai_belanja1 mod 25);


writeln(‘Maka anda harus membayar sebesar:’,nilai_belanja2);

hemat:= nilai_belanja1 mod 25;

writeln(‘Konsumen ada hemat:’,hemat);

write(‘Terima kasih telah belanja di Swalayan Jujur:) ‘);

readln;

END.

8.) [poin 20] Suatu toko fotocopy berusaha meningkatkan layanan dengan pola sebagai berikut:

a.Jika seseorang yang ingin fotocopy sudah terdaftar sebagai pelanggan maka akan mendapat
potongan harga/lembar copy-nya Rp. 75 untuk jumlah copy kurang dari 100 lembar dan bila
lebih dari atau sama dengan 100 lembar diberikan potongan harga/lembar copynya Rp. 65, untuk
harga normal perlembar/copynya Rp. 80.

b.Jika seseorang belum terdaftar sebagai pelanggan maka akan mendapat potongan harga/lembar
copynya Rp. 70 untuk jumlah copy lebih dari atau sama dengan 200 lembar.

c.Hasil keluaran berupa jumlah lembar copynya, besar potongan harga yang diperoleh dan
jumlah bayarnya. Selesaikan permasalahan ini dengan menuliskan pseudocodenya!!

PROGRAM TOKO_FOTOCOPYDEKLARASIJml_kopy : integerHrg_lmbr, jml_pot, jml_byr :


integerJns_plgn : charDESKRIPSI

Write(‘Apakah termasuk pelanggan (Y/T):‘ , jns_plgn)

Write(‘Masukkan jumlah lembar kopi :‘ , jml_kopy)

If-then-else

Page 9

If (jns_plgn =’Y’) Then

If (jml_kopy >= 100 ) thenhrg_rlmbr 65ElseHrg_lmbr 75endif

Else

If (jml_kopy >= 200 ) thenHrg_lmbr 70ElseHrg_lmbr 80endifJml_byr jml_kopy *


hrg_lmbr;Jml_pot (jml_kopy * 80)- jml_byr;

Write (‘Jumlah lembar yang anda copy:’,jml_kopy)


Write (‘Jumlah Potongan harga :’,jml_pot)

Write(‘Jumlah bayar :’,jml_byr)

Program mengonfersi menjadi nilai integer


Deklarasi

Anda mungkin juga menyukai